JP4806716B2 - 通信品質制御装置、及び通信品質制御方法 - Google Patents

通信品質制御装置、及び通信品質制御方法 Download PDF

Info

Publication number
JP4806716B2
JP4806716B2 JP2009144589A JP2009144589A JP4806716B2 JP 4806716 B2 JP4806716 B2 JP 4806716B2 JP 2009144589 A JP2009144589 A JP 2009144589A JP 2009144589 A JP2009144589 A JP 2009144589A JP 4806716 B2 JP4806716 B2 JP 4806716B2
Authority
JP
Japan
Prior art keywords
input port
input
value
quotient
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009144589A
Other languages
English (en)
Other versions
JP2011004083A (ja
Inventor
享邦 西田
健治 川合
恵一 小池
勝一 大山
裕之 野内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
Original Assignee
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Electronics Corp, Nippon Telegraph and Telephone Corp filed Critical NTT Electronics Corp
Priority to JP2009144589A priority Critical patent/JP4806716B2/ja
Publication of JP2011004083A publication Critical patent/JP2011004083A/ja
Application granted granted Critical
Publication of JP4806716B2 publication Critical patent/JP4806716B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、通信品質制御装置、及び通信品質制御方法に関する。
データ通信以外に音声電話やTV電話など、多様な通信サービスがインターネットを介して提供されている。このような多様化に伴い、柔軟性と高速性を両立するために、各キュー(Queue、待ち行列)、スケジューラ、そしてシェーパ(Shaper)をセレクタにより接続し、送信要求と要求受理信号のハンドシェークを用いたQoS(Quality of Service)方式が提案されてきた(例えば、特許文献1、2参照)。なお、QoSとは、ネットワーク上で、通信のための帯域を予約した際に、一定の通信品質を保証する技術である。
さらに、このQoS方式に用いるスケジューリング方法が提案されている(例えば、特許文献3、4参照)。この方式は、各入力に指定された重みをクロックサイクル毎に時分割、あるいは、加算値の変更により各入力に設置されるカウンタへ各入力の重みに比例した値を加算し、カウンタの値が0または正であり、送信要求を受けている入力をラウンドロビン(Round Robin)により選択し、後段に送信要求を送信(伝達)する。上記ラウンドロビンとは、リソースを順番に割り振ることにより選択される入力の偏りをなくすことを行う方式である。
従来の通信品質制御装置は、送信時、選択された入力カウンタから要求パケットの長さ分を減じ、送出機会を他の入力より下げる。もし、加算値が小さい場合には、次の送出機会までの時間が長くなることにより、出力レートは低下する。一方、もし、加算値が大きい場合には、次の送出機会までの時間が短くなることにより、出力レートは増加する。これにより、重み付け公平制御が行われている。
送信要求したパケットが出力されると、送信要求が通過したパスを経由し、送信受理信号が戻ってくる。この送信受理信号を受けた場合、先に選択された送信要求入力に対して受理信号を送出する。
特開2005−311409号公報 特開2005−323230号公報 特開2007−110483号公報 特開2007−110515号公報
しかしながら、従来の通信品質制御装置は、受理信号を送出後すぐに次に送出するパケットを選択すると誤った入力を選択してしまうので、ある一定期間、選択を行わず(WaitCntと言う変数をカウントダウンすることにより計測)、一定期間経過後(WaitCntと言う変数が0となった場合)に入力選択を開始する。精度や、動作速度に影響が発生するため、従来の通信品質制御装置は、この一定期間中にも、先に記述した重みに比例する値を加算しなければならない。但し、送信要求を受けておらず、入力カウンタが正であり、送信受理信号を受け取った、あるいはWaitCntが0になった場合、従来の通信品質制御装置は、そのカウンタに蓄積されていた値を総カウンタに戻さなければならない。このため、従来の通信品質制御装置は、処理が複雑で、かつ各入力は最大フレームサイズの負数分のレジスタを持たなければならず、かつそれらがすべて総カウンタに戻った場合のレジスタを持たなければならないので、回路規模が大きくなる。
また、重みの範囲が大きくなった場合(例えば、1:15→1:255)、従来の通信品質制御装置は、正確なカウンタへの加算ができなくなる。これは、加算時にある入力カウンタに対しては1が加算され、他のある入力には、255が一度に加算されることになり、パケットがバーストして送信される可能性があるからである。例えば、255が加算された入力に蓄積されているパケット長が64Byteである場合、3パケット(255/64=3.98)が一度に送出される可能性がある。
また、従来技術で提案されているスケジューリング方法は、優先制御、あるいは重み付け公平制御を同時に実行することはできず、排他的な動作を余儀なくされる。そのため、優先制御の後に重み付け公平制御を行う、あるいは重み付け公平制御を行った後で優先制御を行うために、従来の通信品質制御装置は、スケジューラ等の接続関係を変更するためのセレクタを必要とする。そのため、回路規模がさらに増大するという問題がある。
また、従来技術では、各入力への重みの加算速度は、そのスケジューラが取り扱う最大性能に合わせなければならない。このため、従来の通信品質制御装置は、加算回路の並列化/動作周波数の上昇/加算単位の増加のいずれか、あるいは併せた対策を行う必要があり、回路規模の増大、消費電力の増大、設計の複雑さの増大、スケジューリング精度の低下といった問題を生じる。
本発明は、このような事情を考慮してなされたものであり、その目的は、回路規模の縮小・スケジューリング精度の向上を図ることができる通信品質制御装置、及び通信品質制御方法を提供することにある。
上述した課題を解決するために、本発明は、スケジューリング回路の入力ポート毎に設定された重み値に基づいて出力優先順位を決定し、該出力優先順に従って前記入力ポート毎に割り振られた送信パケットを出力する通信品質制御装置において、前記スケジューリング回路は、前記入力ポート毎に保持されている複数の参照値である、送信パケットの送信要求、優先度、商、及びラウンドロビン値のうち少なくとも優先度と商を結合して、入力選択用比較値を生成する入力選択比較値生成手段と、前記入力選択用比較値を比較し、最も値が小さい入力ポートを選択する選択手段と、前記最も値が小さい入力ポートに対する送信パケットのフレーム長を、当該入力ポートに対して設定されている重み値で除算する算出手段と、前記算出手段による除算結果である商及び余りを、次回の入力ポート選択時に、前記入力選択比較値生成手段により前記入力選択用比較値を生成する際の前記複数の参照値の1つとして当該入力ポートに対して保持する保持手段と、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致している場合には、前記最も値が小さい入力ポートに付されたグループ番号と同一のグループ番号が付される入力ポートに対する商及び余りを、前記最も値が小さい入力ポートに対する商及び余りにより上書きし、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致していない場合には、グループ番号が一致していない他の入力ポートに対する商を前記最も値が小さい入力ポートに対する商で減じる制御手段と、を備えることを特徴とする通信品質制御装置である。
また本発明は、上記の発明において、前記入力選択比較値生成手段は、重み付け公平制御、優先制御、重み付け公平制御と優先制御、または優先制御と重み付け公平制御のいずれを実行するかに応じて、前記入力選択用比較値を生成するための参照値の組み合わせを変えて、前記入力選択用比較値を生成する、ことを特徴とする。
また、上述した課題を解決するために、本発明は、スケジューリング回路の入力ポート毎に設定された重み値に基づいて出力優先順位を決定し、該出力優先順に従って前記入力ポート毎に割り振られた送信パケットを出力する通信品質制御方法において、前記スケジューリング回路の入力ポート毎に保持されている複数の参照値である、送信パケットの送信要求、優先度、商、及びラウンドロビン値のうち少なくとも優先度と商を結合して、入力選択用比較値を生成するステップと、前記入力選択用比較値を比較し、最も値が小さい入力ポートを選択するステップと、前記最も値が小さい入力ポートに対する送信パケットのフレーム長を、当該入力ポートに対して設定されている重み値で除算するステップと、前記除算結果である商及び余りを、次回の入力ポート選択時に、前記入力選択用比較値を生成する際の前記複数の参照値として当該入力ポートに対して保持するステップと、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致している場合には、前記最も値が小さい入力ポートに付されたグループ番号と同一のグループ番号が付される入力ポートに対する商及び余りを、前記最も値が小さい入力ポートに対する商及び余りにより上書きし、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致していない場合には、グループ番号が一致していない他の入力ポートに対する商を前記最も値が小さい入力ポートに対する商で減じるステップと、を含むことを特徴とする通信品質制御方法である。
また本発明は、上記の発明において、前記入力選択比較値は、重み付け公平制御、優先制御、重み付け公平制御と優先制御、または優先制御と重み付け公平制御のいずれを実行するかに応じて、前記複数の参照値の組み合わせを変えて生成される、ことを特徴とする。
この発明によれば、通信品質制御装置は、加減算処理への要求性能を大幅に削減することができ、回路規模の縮小・スケジューリング精度の向上を図ることができるという利点が得られる。
また、この発明によれば、優先制御のみ/重み付け公平制御のみ/前段優先制御・後段重み付け公平制御/前段重み付け公平制御・後段優先制御を実現することが可能となり、通信品質制御装置は、従来手法で必要であったセレクタを廃することが可能となり、更なる回路規模を削減することができるという利点が得られる。
本発明の第1実施形態によるQoS回路の構成を示すブロック図である。 フレーム長に対して浮動小数点演算、余りを計算に入れ込んだ固定小数点演算、あるいは余りを計算に入れない固定小数点演算を行う場合での累積値を示す概念図である。 入力数3のWFQ(Weighted Fair Queuing:重み付け公平制御)において、各レジスタ値がどのように変化するかの一例を示す概念図である。 本第1実施形態によるスケジューリング回路10の構成を示すブロック図である。 本第1実施形態において、WFQあるいは、前段PQ(Priority queuing:優先制御)後段WFQ制御時の動作を説明するためのフローチャートである。 本第1実施形態において、PQあるいは、前段WFQ後段PQ制御時の動作を説明するためのフローチャートである。 WFQあるいは、前段PQ後段WFQ制御時の入力選択用比較値を示す概念図である。 PQあるいは、前段WFQ後段PQ制御時の入力選択用比較値を示す概念図である。 入力の重みで除される数値(被除数)を示す概念図である。 WFQモードでの動作概要を示す概念図である。 前段PQで後段WFQモードでの動作概要を示す概念図である。 PQモードでの動作概要を示す概念図である。 前段WFQで後段PQモードでの動作概要を示す概念図である。 本発明の第2実施形態による、QoS回路の構成を示すブロック図である。
以下、本発明の一実施形態を、図面を参照して説明する。
A.第1実施形態
まず、本発明の第1実施形態について説明する。
図1は、本発明の第1実施形態によるQoS回路の構成を示すブロック図である。図において、QoS回路に入力されたパケットは、受信部1において受信処理が行われ、識別部2、FIFO(First-In First-Out)3に供給される。識別部2では、例えば、TOS(Type Of Service)値や、IPアドレス、ポート番号によって品質クラス分けされ、結果を識別結果生成部4に供給する。なお、TOS値は、IPパケットのヘッダに含まれ、QoSを制御する目的で処理の優先度を指定するために用いられる。
識別結果生成部4では、当該QoS回路において使われる制御情報(パケット長、仮想品質クラス、出力ポート等)を生成し、送信パケット生成部5に供給する。送信パケット生成部5では、識別結果生成部4から制御情報を受けることで、FIFO3からデータを読み出し、TTL(Time To Live)減算や、NAT(Network Address Translation)処理に伴うパケットの書き換えを行い、識別結果生成部4から受けたデータと共にパケット書き込み部6に供給する。
なお、上記TTL減算とは、パケット転送処理を行う際にパケットの生存時間(TTL)を減算し、データの行き先が見つからずに無限ループに陥ることを防ぐための処理である。また、NAT処理とは、ネットワークで用いられる、ローカルアドレスとグローバルアドレスとを相互変換する処理である。
パケット書き込み部6では、受け取ったパケットや、識別結果をパケットバッファ7に格納する。また、パケット書き込み部6では、書き込んだパケットに関するパケット情報を識別結果等から生成し、キュー部8に渡す。キュー部8は、例えばメモリであって、複数のインタフェース毎にパケット情報を保持するキューを有する。キュー判定部9では、受け取ったパケット情報を、複数のインタフェースのうち、どのインタフェースのどのキューにキューイングするのかを判定するための制御情報である、仮想品質クラスおよび出力ポート等から判定してキューイングする。もし、キューが空であれば、キュー判定部9は、キュー部8のキュー毎に、送信要求、フレーム長、キュー番号をスケジューリング回路10に送出させる。スケジューリング回路10は、受信した情報の送出先の空き状況や、内部状態に応じて、優先制御や、重み付けラウンドロビン、シェーピング(Shaping)などによりスケジューリングし、パケット読み出し部11に送出する。
なお、上記重み付けラウンドロビンとは、重み付けに従ってリソースを順番に割り振ることを意味する。また、シェーピングとは、ネットワーク上のトラフィックを制御し、パケットを遅延させることで通信性能を保証する方式である。
送出要求を受け取ったパケット読み出し部11は、受け取った要求に対するキュー番号からパケット情報をキュー部8から取得し、送出要求されたパケットがパケットバッファ7のどの位置にあるのかなどの情報を読み出す。また、パケット読み出し部11は、送信部12に対してパケットの送出が可能か調べ、可能であれば、先に取得した位置に従って、パケットバッファ7からパケットを読み出し、送信部12に対してパケットを送出する。さらにパケット読み出し部11は、併せてスケジューリング回路10に対して送信要求受理信号を送出する。
送信部12では、出力状態を監視しており、パケットを送出可能状態にあるかどうかをパケット読み出し部11に通知するとともに、パケット読み出し部11から受け取ったパケットを、その出力形式に合わせて送出する。また、受理信号を受けたキュー部8は、当該キューにキューイングされている先頭キューを削除し、結果、次のキューが残っている場合、そのキューに対する送信要求をスケジューリング回路10に対して送出する。
次に、スケジューリング回路10について詳しく実施形態を説明するが、その前に、既出の重み付け公平制御回路の基本動作を説明する。上記において、既出の重み付け公平制御回路は重みに比例した値を加算すると説明したが、以下では、これを減算に置き換えて説明する。同様に、パケット送出時、そのパケット長により入力カウンタを減算すると説明したが、加算に置き換えて説明する。
(S1)既出の重み付け公平制御回路は、キュー部8から送信要求を受信する。
(S2)パケット読み出し部11に出力選択された入力からのパケット情報と送信要求とを出力する。
(S3)出力選択された入力ポートのカウンタに、送信要求したパケットのパケット長を加算する。
(S4)各入力ポートのカウンタから、入力ポート毎に予め設定された重み値を所定の周期(例えば、システムクロック毎)で減算する。この減算は、当該入力に対する送信要求がなくなったとき(WaitCntが0で送信要求が検出されないとき)、停止すると共に、負数分をトータルカウンタへ戻す。
(S5)パケット読み出し部11から受理信号を受信した場合、キュー部8に受理信号を出力する。
(S6)待ち制御を行うカウンタであるWaitCntに、待ちの上限値であるJudgeWaitの値を設定する。
(S7)WaitCntの値が0になるまでWaitCntの値を所定の周期(例えば、システムクロック毎)で1ずつ減算する。
(S8)WaitCntの値が0になったときに、入力カウンタの値が0以下になっている入力ポートを選択する。
すなわち、既出の重み付け公平制御回路は、上記ステップS4において所定の周期で重み値により減算してゆき、0以下になった入力ポートからの要求を、パケット読み出し部11への送信要求とする。また、既出の重み付け公平制御回路は、複数が0以下になっている場合には、ラウンドロビンで入力を選択する(上記ステップS2へ)。入力カウンタは、パケット読み出し部11に送信要求を出力した時点で、上記ステップS3によりフレーム長が加算される。入力ポートへの送信要求がなくなった場合、ステップS1を行い、次の送信要求が受信されるのを待つ。
このように、既出の重み付け公平制御回路は、カウンタを制御することで、パケット読み出し部11への送信要求の送出タイミングを適切に制御することが可能となる。
上述したWFQ(Weighted Fair Queuing:重み付け公平制御)回路の動作を数式で表現し、それに基づき、以下では、本実施形態のWFQ制御についての基本原理を説明する。
本実施形態のWFQ制御において、入力カウンタをcnt[i](iは入力ポートの番号)、重み値をweight[i](iは、入力ポートの番号)、フレーム長をflenとすると、各入力カウンタcnt[i]の値は、所定の周期で重み値により減算されることから、次式(1)のようになる。
cnt[i]=cnt[i]−weight[i] ……(1)
但し、cnt[i]>0
上記数式(1)の両辺をweight[i]で除算すると、
cnt[i]/weight[i]=cnt[i]/weight[i]−1
となる。
ここで、CNT[i]=cnt[i]/weight[i]とすると、次式(2)で表される。
CNT[i]=CNT[i]−1 ……(2)
この場合、最初にcnt[i]が0以下となるのは、明らかに、|CNT[i]|が最も小さい入力の場合である。このことから、スケジューリング回路10は、数式(1)のように、weight[i]を減算し続け、値が0以下になる入力ポートを選択する。あるいは、スケジューリング回路10は、0以下になるのを待つのではなく、CNT[i]の大きさを比較することにより、送信要求の送出を行う入力ポートの選択が可能となり、演算処理の高速化が図れる。
各入力ポートのcnt[i]は、ある入力ポートのcnt[i]が0以下となるまで、cnt[i]からweight[i]を減算し続けることで更新される。そこで、すべての入力のCNT[i]の最小値をCNTminとすると、CNTminで各入力ポートに対応するCNT[i]を減ずることで、ある入力ポートのcnt[i]が0以下となるまで、各入力ポートのcnt[i]からweight[i]を減算し続けるのと同じになる。
すなわち、スケジューリング回路10は、CNT[i]=CNT[i]−CNTminの演算を行うことにより、各入力ポートに対応するCNT[i]を更新することができる。このため、スケジューリング回路10は、cnt[i]が0以下となるまで、weight[i]を減算し続ける場合に比べ、処理が簡単化され、演算処理の高速化が図れる。この部分が従来と大きく異なるところである。
また、パケット読み出し部11に送信要求送出するとき、cnt[i]にフレーム長flenを加算する必要がある。すなわち、CNT[i]は、次式(3)で表すことができる。
CNT[i]=(cnt[i]+flen)/weight[i]=CNT[i]+flen/weight[i] ……(3)
上記数式(3)において、flen/weight[i]の演算を、浮動小数点で行うことが考えられるが、浮動小数点の除算は一般に計算コスト(回路規模等)が高くなる。従って、浮動小数点で除算する以外に、固定小数点で除算することも考えられる。固定小数点で行ったほうがハードウェア化、処理の高速化の面から好ましい。
しかしながら、固定小数点のため、割り切れない場合が存在し、その余りR[i]が累積的な誤差を生む。そこで、次式(4)のように、余りを次の計算時、フレーム長flenに加算することで、スケジューリング回路10は、累積誤差を0にでき、固定小数点除算を行う場合の課題が解決される。除算を行う前のCNT[i]の値をCNT’[i]とし、除算を行ったことによる商をQ[i]、余りをR[i]とすると、次式(4)で表すことができる。
CNT[i]=CNT’[i]+flen/weight[i]=CNT’[i]+(flen−R[i])/weight[i]+R[i]/weight[i]
=CNT’[i]+Q[i]+R[i]/weight[i] ……(4)
となる。そして、その次に除算機会を得たときは、同様に、次式(5)で表される。
CNT[i]=CNT’[i]+flen/weight[i]
=CNT’’[i]+Q’[i]+R’[i]/weight[i]+flen/weight[i]
=CNT’’[i]+Q’[i]+(flen+R’[i]−R[i])/weight[i]+R[i]/weight[i]
=CNT’’[i]+Q’[i]+Q[i]+R[i]/weight[i]
……(5)
ここで、CNT’’[i]は、除算2回前のCNT[i]の値、Q’、R’は、それぞれ前回除算を行ったときの商と余りである。Rは、0≦R<weight[i]を満たすので、累積誤差は、weight[i]に収まる。
例えば、図2は、フレーム長に対して浮動小数点演算、余りを計算に入れ込んだ固定小数点演算、あるいは余りを計算に入れない固定小数点演算を行う場合での累積値を示す概念図である。上述した本実施形態による余りを計算に入れ込んだ固定小数点演算を用いると、浮動小数点演算の累積結果との差は、小数点以下のみとなる。しかし、余りの足しこみを行わない固定小数点演算の場合には、誤差は、次々と累積されていくことが示されている。
また、除算時除数の最大値m(weight[i]の取り得る最大値)分、CNT[i]、flenをmビット左シフトして除算を行うことで、加算の必要はなくなり、ビット結合だけで処理することが可能となり、演算時間をさらに短縮できる。具体的には、次式(6)で表される。
CNT[i]<<m−R[i]=CNT[i]<<m−(flen<<m+R’[i])/weight[i] ……(6)
ここで、R’[i]は、前回入力iが送信要求として選択されたときに行われた除算の余りである。以上のように、スケジューリング回路10は、入力カウンタcnt[i]の値を用いるのではなく、cnt[i]をweight[i]で除したCNT[i]及びその最小値CNTminを用いることで、送信要求の送出を行う入力の選択や重み値による減算による更新処理を簡単に行うことが可能となり、演算時間の高速化が図れる。
また、パケット読み出し部11にパケットを送出したときのパケット長を加算し、CNT[i]の値を更新する演算においても、上述したように、スケジューリング回路10は、固定小数点を用いた場合の余りによる誤差の累積を適切に処理することで、簡単な処理でCNT[i]の値を更新することができ、演算処理を高速化できる。
図3は、入力数3のWFQにおいて、各レジスタ値がどのように変化するかの一例を示す概念図である。初期状態(0)において、入力がない時刻t1で、入力0と入力1に送信要求が受信される。このとき、cnt[i]が最も小さいのは、入力0なので、入力0が選択され、(1000<<5+2)/3=10667…1となる。また、他の入力からは、cnt[0]の値であった1000が引かれる。入力2は、減算後、負になるので、cnt[2]は、0となる。また、ラウンドロビン値は、最近選択されたものが最も大きな値になるので、round[0]が3から3となり、他の各入力のround[i]で3以上の値を持つものをデクリメントする必要があるが、送信したものが最も大きな値である3であったためデクリメントは行わない。
状態(1)の時刻t2において、入力2にも送信要求が受信される。cnt[2]が最も小さいので、cnt[2]が選択され、各入力から0が減じられる。cnt[2]は、(100<<5+0)/1から3200となる。ラウンドロビン値round[2]は、2から3に変化し、他の入力のround[i]で2以上のものは、デクリメントされ、入力0のround[0]は、3から2に変化する。これを繰り返すことにより、スケジューリング回路10は、WFQ処理を行う。
ところで、入力ポートを選択する段階で以下のことを考える。通常のWFQ(重み付け公平制御)は、最小のカウンタ値CNT[i]を持つ入力を選択するが、優先度値をこのCNT[i]のMSB側、LSB側に結合することにより、以下の様な選択規則になる。
(優先度値をMSB側に結合した場合)
優先度値が小さいものがその後のCNT[i]に優先する。優先度値が同じ場合、CNT[i]の小さい入力が選択される。
(優先度値をLSB側に結合した場合)
CNT[i]が優先し、優先度値は、CNT[i]値が同じでない限り無視される。CNT[i]が同じ場合、優先度値の小さい入力が選択される。
この規則を利用して、スケジューリング回路10は、従来、PQ(優先制御)/WFQ(重み付け公平制御)スケジューラの接続変更を行うのに必要であったセレクタを廃すことが可能となる。
図4は、上述した本発明の基本原理に基づく、本第1実施形態によるスケジューリング回路10の構成を示すブロック図である。スケジューリング回路10は、制御回路101、制御テーブル102、演算回路103からなる。制御テーブル102は、各入力ポートに対して、入力ポートに送信要求が受信されているかを示す送信要求(0でなし、1であり)、当該入力ポートに要求された送信要求パケットのフレーム長、当該入力ポートの制御を司るグループ番号、WFQの重み、PQの優先度、ラウンドロビン制御を行うために使用するラウンドロビン値、入力に対する上述したCNT[i]を示す商、CNT[i]の余りを記憶する。制御回路101は、上述したJudgeWait、WaitCntを保持するとともに、設定された動作モードを格納する。制御回路101は、制御テーブル102に格納されている各種値に従って、後述する図5、図6に示す処理を実行する。演算回路103は、制御回路101による処理に伴う加減算、除算などを行う。
次に、WFQあるいは、前段PQ後段WFQ制御時のスケジューリング回路10の動作について説明する。
図5は、本第1実施形態において、WFQあるいは、前段PQ後段WFQ制御時の動作を説明するためのフローチャートである。制御回路101は、各入力ポートのいずれかに送信要求が受信されているか否かを判定し(ステップSa1)、送信要求が受信されていない場合(ステップSa1のNO)、送信要求が受信されるまで当該判定を行う。
一方、各入力ポートのいずれかに送信要求が受信された場合(ステップSa1のYES)、制御回路101は、図7に示すように、比較するための情報として、入力n(0〜N)の送信要求、商、ラウンドロビンカウンタ、優先度の値を連結し、入力選択用比較値を作成する(ステップSa2)。連結は、比較を簡便に行うための1つの方法であり、比較優先順は左から行うため、要素毎に比較を行っても良いが、ハードウェア等を用いて検索ビット長を長くできる場合、一度に比較した方が処理時間は短くなる。
ここで、図10は、WFQモードでの動作概要を示す概念図であり、図11は、前段PQで後段WFQモードでの動作概要を示す概念図である。WFQモードの場合には、例えば、図10に示すように、スケジューリング回路10において、入力ポート0〜3には、各々、グループ0〜3、優先度7、重み24、89、8、254が設定されている。この場合、帯域分割は、入力ポート0:入力ポート1:入力ポート2:入力ポート3=24:89:8:254の割合で出力される。
また、前段PQで後段WFQモードの場合には、例えば、図11に示すように、スケジューリング回路10において、入力ポート0〜3には、各々、グループ0、0、1、3、優先度0、1、1、0、重み24、24、254、254が設定されている。この場合、出力優先順位は、前段PQ(グループ0)が入力ポート0:高優先、入力ポート1:低優先、前段PQ(グループ1)が入力ポート2:低優先、入力ポート3:高優先となり、帯域分割は、PQ(グループ0)出力:PQ(グループ1)出力=24:254となる。
次に、制御回路101は、各入力n(0〜N)の入力選択用比較値を比較し、入力選択用比較値が最も小さい入力Nminを求める(ステップSa3)。この比較には、入力要求のビット反転がMSBに設定されており、送信要求が存在する場合には、入力要求のビットは1であり、存在しない場合には、入力要求のビットは0となる。当然、0(送信要求有)が最小値として選択されるので、大小比較により、送信要求があるかどうかの判断が可能となる。また、最小値を検索した結果、MSBが1である場合、送信要求している入力が存在しないことを表しており、容易にいずれかの入力に送信要求があるのかないのか判断することが可能となる。
次に、制御回路101は、各入力に対して最小の入力選択用比較値を持つ入力Nminのフレーム長及び送信要求をパケット読み出し部11に送信する(ステップSa4)。ところで、入力選択用比較値には、ラウンドロビンカウンタも連結されている。これは、最小値を求める際に、同じ値が存在したり、同時に0以下になる入力が存在したりする場合には、WFQ処理を行うときに該当する入力をラウンドして選択する必要がある。この処理は、順繰りにtmp=入力0ラウンドロビンカウンタ、入力0ラウンドロビンカウンタ=入力1ラウンドロビンカウンタ、入力1ラウンドロビンカウンタ=入力2ラウンドロビンカウンタ、入力2ラウンドロビンカウンタ=入力3ラウンドロビンカウンタ、入力3ラウンドロビンカウンタ=tmpとすることで実現する。
あるいは、このラウンドロビン値を用いず、別の記憶手段を用い、今までの送信履歴から最も送信していない入力を選択するようにすることで、ラウンドロビンを実現する方法も考えられる。これは、例えば、入力ポート数を4とすると、入力2が送信要求ポートとして選択された場合、入力2ラウンドロビンカウンタより大きい値を持つ各入力iラウンドロビン値は、1デクリメントされ、入力2ラウンドロビン値=3とする。このようにすることで、最近送信した順に3、2、1、0という値を持つことになり、最小値比較においてパラメータ値がまったく同じ場合、過去最も送信していない入力が選択されるようになる。
次に、演算回路103は、送信要求されたパケットのフレーム長に最小値を持つ入力の余りを結合(加算)して作られる被除数を入力Nminの重みで除し、制御テーブル102の商及び余りを更新する(ステップSa5)。この結合(加算)は、数式(6)及び図9で示されるように、連結処理で実現可能であり、演算処理量を削減することができる。上記、商、余りは、制御テーブル102の当該入力ポートに対応する、商、余りに設定される。
次に、制御回路101は、入力n(0〜N)のグループ番号が入力Nminのグループ番号と一致しているか判定し(ステップSa6)、一致している場合には、制御テーブル102に対して、最小値を持つ入力Nminと同じグループに属する入力ポートに対する商・余りを、その最小値を持つ入力Nminの商・余りにより上書きする(ステップSa7)。一方、一致しない他の入力の商に対しては、最小値を持つ入力Nminの商を、他の入力nの商から減ずる(ステップSa8)。但し、商を減じて負になる場合、その商を0とする。また、場合により余りも0にする。
これにより、動作モードがWFQ(図10)あるいは、前段PQ後段WFQ(図11)モードの場合、同一グループ内では、常に同じ商・余りを持ち、グループ間では、上述したWFQの動作説明に従った商・余りを持つことになる。最小値比較に使う値は、図7に示す形なので、あるグループ内の優先付けは、LSB側に付く優先度により決定するので、WFQあるいは前段PQ後段WFQ動作となる。
最後に、WaitCntが満了するまで待ち(ステップSa9)、次の送信要求受理開始までの時間を調整する。すなわち、図1に示す要求/受理信号の送受で制御されるQoS回路は、送信受理後の要求受付時間の調整を行う必要がある。このWaitCntは、パケット読み出し部11からの受理信号を受けたときに、制御回路101のWaitCntに予め設定されているJudgeWaitの値を書き込む。そして、選択された入力に接続されるキュー部8へ受理信号を送信する。WaitCntは、所定の周期(例えば、システムクロック毎)で減算される。WaitCntの値が0になるまで繰り返し減算し、0になった場合、WaitCntの減算を停止する。そして、WaitCntの値が0になった場合、最小値選択に戻り、最小の入力の選択を行う。
次に、PQあるいは、前段WFQ後段PQ制御時の動作について説明する。
図6は、本第1実施形態において、PQあるいは、前段WFQ後段PQ制御時の動作を説明するためのフローチャートである。なお、図6に示すフローチャートにおいて、図5と異なる点は、ステップSb2と、ステップSb6以降の処理であるので、図5と同じステップSb1、ステップSb3〜Sb5については説明を省略する。
また、図12は、PQモードでの動作概要を示す概念図であり、図13は、前段WFQで後段PQモードでの動作概要を示す概念図である。PQモードの場合には、例えば、図12に示すように、スケジューリング回路10において、入力ポート0〜3には、各々、優先度0〜3、重み255が設定されている。出力優先順位は、入力ポート0:高優先であり、順次、優先順位が下がり、入力ポート3:低優先となる。
また、前段WFQで後段PQモードの場合には、例えば、図13に示すように、スケジューリング回路10において、入力ポート0〜3には、各々、優先度0、0、1、1、重み24、89、8、254が設定されている。この場合、帯域分割は、前段WFQ(0)で、入力ポート0:入力ポート1=24:89となり、前段WFQ(1)で、入力ポート2:入力ポート3=8:254となる。また、出力優先順位は、WFQ(0):高優先で、WFQ(1):低優先となる。
動作モードがPQ、前段WFQで後段PQモードの場合には、図8に示すように、制御回路101は、比較するための情報として、入力n(0〜N)の送信要求、優先度、商、ラウンドロビンカウンタの値を連結し、入力選択用比較値を作成する(ステップSb2)。なお、この場合も、要素毎に比較を行ってもかまわない。
また、動作モードがPQ、あるいは、前段WFQ後段PQモードの場合、制御回路101は、入力n(0〜N)の優先度が入力Nminの優先度と一致しているか判定し(ステップSb6)、一致している場合には、最小値を持つ入力Nminと同じ優先度を持つ入力nに対する商から、最小値を持つ入力Nminの商を減じる。但し、商を減じて負になる場合、その商を0とする。また、場合により余りも0にする。
この場合、先に示したWFQの動作の影響は、同一優先度(言い換えると、グループ)内にしか波及しない。これにより、同一優先度内は、WFQ動作となるが、最小値比較においては、優先度比較の方がMSB側に存在するので、先に優先度(グループ)により選択されることにより、PQあるいは、前段WFQ後段PQの動作となる。
B.第2実施形態
本発明の第2実施形態について説明する。
図14は、本発明の第2実施形態による、QoS回路の構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図1に示す構成との違いは、パケット送出後に、TTL減算や、IPアドレス書き換えなどのパケット書き換えを行う送信パケット生成部5を、パケット読み出し部11と送信部12との間に配置している点にある。
図14に示す構成による長所は、受信後、すぐにパケットバッファ7にパケットを書き込むことができるため、パケット書き込みまでのFIFO(図1のFIFO3)をなくすことができる点である。但し、パケット読み出し後にパケット書き換えを行うための情報をキュー部8に蓄積しておく必要がある。そのため、キュー部8のサイズによっては、キュー部8の回路規模が増大する可能性があるが、FIFO3がなくなるため、装置としては、回路規模が削減される可能性もある。図1と図14のどちらの構成を採用するかは、FIFO3のサイズとキュー部8のサイズとによる回路規模比較により選択すればよい。
上述した第1、第2実施形態によれば、スケジューリング回路10は、各入力への減算処理がパケット送出要求時のみであり、加減算処理への要求性能を大幅に削減することができ、回路規模の縮小・スケジューリング精度の向上を図ることができる。
また、スケジューリング回路10は、重み付け公平制御における送信パケット選択時に使用される各種カウンタの組み合わせの変更、及び多少の処理手法の変更により、優先制御のみ/重み付け公平制御のみ/前段優先制御・後段重み付け公平制御/前段重み付け公平制御・後段優先制御が実現可能となり、従来手法で必要であったセレクタを廃することが可能となり、更なる回路規模の削減が可能となる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、パケットの送受信処理を行う通信品質制御装置、及び通信品質制御方法に好適である。
1…受信部、2…識別部、3…FIFO、4…識別結果生成部、5…送信パケット生成部、6…パケット書き込み部、7…パケットバッファ、8…キュー部、9…キー判定部、10…スケジューリング回路、11…パケット読み出し部、12…送信部、101…制御回路、102…制御テーブル、103…演算回路

Claims (4)

  1. スケジューリング回路の入力ポート毎に設定された重み値に基づいて出力優先順位を決定し、該出力優先順に従って前記入力ポート毎に割り振られた送信パケットを出力する通信品質制御装置において、
    前記スケジューリング回路は、
    前記入力ポート毎に保持されている複数の参照値である、送信パケットの送信要求、優先度、商、及びラウンドロビン値のうち少なくとも優先度と商を結合して、入力選択用比較値を生成する入力選択比較値生成手段と、
    前記入力選択用比較値を比較し、最も値が小さい入力ポートを選択する選択手段と、
    前記最も値が小さい入力ポートに対する送信パケットのフレーム長を、当該入力ポートに対して設定されている重み値で除算する算出手段と、
    前記算出手段による除算結果である商及び余りを、次回の入力ポート選択時に、前記入力選択比較値生成手段により前記入力選択用比較値を生成する際の前記複数の参照値の1つとして当該入力ポートに対して保持する保持手段と
    入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致している場合には、前記最も値が小さい入力ポートに付されたグループ番号と同一のグループ番号が付される入力ポートに対する商及び余りを、前記最も値が小さい入力ポートに対する商及び余りにより上書きし、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致していない場合には、グループ番号が一致していない他の入力ポートに対する商を前記最も値が小さい入力ポートに対する商で減じる制御手段と、
    を備えることを特徴とする通信品質制御装置。
  2. 前記入力選択比較値生成手段は、
    重み付け公平制御、優先制御、重み付け公平制御と優先制御、または優先制御と重み付け公平制御のいずれを実行するかに応じて、前記入力選択用比較値を生成するための参照値の組み合わせを変えて、前記入力選択用比較値を生成する、
    ことを特徴とする請求項1に記載の通信品質制御装置。
  3. スケジューリング回路の入力ポート毎に設定された重み値に基づいて出力優先順位を決定し、該出力優先順に従って前記入力ポート毎に割り振られた送信パケットを出力する通信品質制御方法において、
    前記スケジューリング回路の入力ポート毎に保持されている複数の参照値である、送信パケットの送信要求、優先度、商、及びラウンドロビン値のうち少なくとも優先度と商を結合して、入力選択用比較値を生成するステップと、
    前記入力選択用比較値を比較し、最も値が小さい入力ポートを選択するステップと、
    前記最も値が小さい入力ポートに対する送信パケットのフレーム長を、当該入力ポートに対して設定されている重み値で除算するステップと、
    前記除算結果である商及び余りを、次回の入力ポート選択時に、前記入力選択用比較値を生成する際の前記複数の参照値として当該入力ポートに対して保持するステップと
    入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致している場合には、前記最も値が小さい入力ポートに付されたグループ番号と同一のグループ番号が付される入力ポートに対する商及び余りを、前記最も値が小さい入力ポートに対する商及び余りにより上書きし、入力ポートに付されたグループ番号が前記最も値が小さい入力ポートに付されたグループ番号と一致していない場合には、グループ番号が一致していない他の入力ポートに対する商を前記最も値が小さい入力ポートに対する商で減じるステップと、
    を含むことを特徴とする通信品質制御方法。
  4. 前記入力選択比較値は、
    重み付け公平制御、優先制御、重み付け公平制御と優先制御、または優先制御と重み付け公平制御のいずれを実行するかに応じて、前記複数の参照値の組み合わせを変えて生成される、
    ことを特徴とする請求項3に記載の通信品質制御方法。
JP2009144589A 2009-06-17 2009-06-17 通信品質制御装置、及び通信品質制御方法 Active JP4806716B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009144589A JP4806716B2 (ja) 2009-06-17 2009-06-17 通信品質制御装置、及び通信品質制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009144589A JP4806716B2 (ja) 2009-06-17 2009-06-17 通信品質制御装置、及び通信品質制御方法

Publications (2)

Publication Number Publication Date
JP2011004083A JP2011004083A (ja) 2011-01-06
JP4806716B2 true JP4806716B2 (ja) 2011-11-02

Family

ID=43561691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009144589A Active JP4806716B2 (ja) 2009-06-17 2009-06-17 通信品質制御装置、及び通信品質制御方法

Country Status (1)

Country Link
JP (1) JP4806716B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5759941B2 (ja) * 2012-06-08 2015-08-05 株式会社日立製作所 通信装置および優先制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0346051A (ja) * 1989-07-14 1991-02-27 Oki Electric Ind Co Ltd マルチプロセッサシステムの割込み制御方式
JP2003018196A (ja) * 2001-04-27 2003-01-17 Fujitsu Ltd パケット転送装置、半導体装置、および、パケット転送システム
JP2003229896A (ja) * 2002-02-01 2003-08-15 Fujitsu Ltd パケット伝送のスケジューリング装置及びパケット伝送のスケジューリング方法
US8289972B2 (en) * 2004-11-10 2012-10-16 Alcatel Lucent Gigabit passive optical network strict priority weighted round robin scheduling mechanism
JP4637154B2 (ja) * 2007-10-23 2011-02-23 日本電信電話株式会社 トラヒックコントロール方法及び装置

Also Published As

Publication number Publication date
JP2011004083A (ja) 2011-01-06

Similar Documents

Publication Publication Date Title
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
US20140112147A1 (en) Refresh mechanism for a token bucket
US7778174B2 (en) Shaper circuit and shaper circuit combination
JP3784049B2 (ja) 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム
Checconi et al. QFQ: Efficient packet scheduling with tight guarantees
US20040095885A1 (en) Priority queuing method and apparatus
WO2020142867A1 (zh) 一种流量整形方法及相关设备
US6732209B1 (en) Data rate division among a plurality of input queues
CN104869079A (zh) 基于动态加权循环法的队列调度方法及装置
CN100505688C (zh) 一种用于网络处理器的差额权重排队调度装置及调度方法
JP4806716B2 (ja) 通信品質制御装置、及び通信品質制御方法
US7769026B2 (en) Efficient sort scheme for a hierarchical scheduler
WO2019167859A1 (ja) 見積り装置および見積り方法
US7801164B2 (en) Two dimensional timeout table mechanism with optimized delay characteristics
EP1530329A2 (en) Method and apparatus for frame-aware and pipelined hierarchical scheduling
CN114553792A (zh) 调度参数的调整方法、装置、设备及计算机可读存储介质
JP4601657B2 (ja) トラヒックシェーピング装置および方法
JP2005286383A (ja) 帯域制御方法及びそれを用いたパケット処理装置
JP4637154B2 (ja) トラヒックコントロール方法及び装置
US7843913B2 (en) Method of operating a scheduler of a crossbar switch and scheduler
US11461069B2 (en) Multi-core audio processor with deadline scheduler
JP5935599B2 (ja) 制御装置、送信装置及び制御方法
US20020003796A1 (en) Trafic control apparatus
JP2003134113A (ja) 平均キュー長演算処理装置
CN118041786A (zh) 用于片上网络仲裁的方法和***

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110815

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4806716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350