(57)【要約】【課題】装置規模が小さく、帯域制御の精度が高い帯域制御式パケットスケジューラを提供する。【解決手段】入力されるフレーム数が動的に増減するトラフィックを帯域保証する帯域制御式パケットスケジューラにおいて、前記フレームを該フレームの種類に応じて複数のクラスに分類し、前記クラスの各々に対して優先度を設定し、前記クラスを優先度に応じて帯域を保証する高優先グループと帯域を保証しない低優先グループとに分け、前記高優先グループに属するクラスのフレームを優先してスケジューリングするようにしたことを特徴とする。【選択図】        図１
2004236172.tif 000002
【特許請求の範囲】
【請求項１】
入力されるフレーム数が動的に増減するトラフィックを帯域保証する帯域制御式パケットスケジューラにおいて、前記フレームを該フレームの種類に応じて複数のクラスに分類し、前記クラスの各々に対して優先度を設定し、前記クラスを優先度に応じて帯域を保証する高優先グループと帯域を保証しない低優先グループとに分け、前記高優先グループに属するクラスのフレームを優先してスケジューリングするようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項２】
請求項１に記載の帯域制御式パケットスケジューラにおいて、前記フレームのクラス分けを、前記フレームのタグ情報にしたがって行い、各々のクラスに属するフレームの種類の数を動的に変更するようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項３】
請求項１または２に記載の帯域制御式パケットスケジューラにおいて、前記クラスごとに最低帯域保証値を設定し、前記最低帯域保証値に応じて前記グループ分けを行い、高優先グループのフレームがある場合には低優先グループのフレームを送信しないようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項４】
請求項３に記載の帯域制御式パケットスケジューラにおいて、前記各々のグループ内のクラスに対して、これらのクラスの最低帯域保証値に基づいた重み値にしたがってラウンドロビン処理を行い、常に重み値が大きいクラスを優先的に送信するようにし、各クラスの重み値を、処理されたパケットフレームの長さ分の重み値を引くことによって更新するようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項５】
請求項４に記載の帯域制御式パケットスケジューラにおいて、各クラス毎にタイマを具え、各々のクラスのフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合、前記重み値を更新するようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項６】
請求項３、４または５に記載の帯域制御式パケットスケジューラにおいて、前記クラス分けされたフレームをパケット分割してクラス毎に格納するバッファを具え、各々のクラスのバッファの容量を該クラスの最低帯域保証値に比例して動的に変化させるようにしたことを特徴とする帯域制御式パケットスケジューラ。
【請求項７】
請求項１ないし６のいずれか１項に記載の帯域制御式パケットスケジューラにおいて、前記フレームを出力する際、予め設定された最大帯域値と、出力ポートのリンク速度と、各フレームの長さとに基づいてフレーム間ギャップを決定し、このフレーム間ギャップにしたがってトラフィックシェーピングするようにしたことを特徴とする帯域制御式パケットスケジューラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イーサネット（登録商標）網で帯域を制御する通信装置に関し、特に、入力されるフレーム数が動的に増減するトラフィックを帯域保証する帯域制御式パケットスケジューラに関する。
【０００２】
【従来の技術】
近年イーサネット（登録商標）内のデータは増加しており、データごとの帯域を保証することができる通信装置が要求されている。
【０００３】
現在ネットワークでは、音声や画像などのマルチメディアトラフィックが増大しており、それに伴ってネットワークの高速化がなされている。
【０００４】
ネットワークはマルチメディアやその他のすべてのトラフィックが混合して伝送されており、従来のそれぞれのトラフィックの種類に関係なく伝送する方法ではなく、それぞれのトラフィックに対して適合的に伝送されなければならない状態になっている。
【０００５】
このような場合、トラフィックの各フレームごとに帯域制御する方法が一般的であり、ＷＦＱや特開平８−２７４７９３号公報に記載されている方法がよく知られている。ＷＦＱ（Ｗｅｉｇｈｔｅｄ  Ｆａｉｒ  Ｑｕｉｎｇ）は、すべてのネットワーク・トラフィックに均等の帯域幅割り当てを提供し、トラフィックをクラスに分類し、重み（優先順位）を使用して、各クラスに割り当てる帯域幅を決定する。
【０００６】
特開平８−２７４７９３号公報に記載の方法では、トラフィックソースごとに個別のバッファを持ち、各バッファの先頭セルまたは先頭パケットに対して待ち行列処理を行い、処理を行う際その対象となる先頭セルまたは先頭パケットがすぐに帯域保証されるべきセルまたはパケットであるか判定して処理をし、最小帯域保証を行っている。
【０００７】
他の方法としてはスケジューリング方法があり、特開平１１−２９８５２３号公報に記載の方法や、特開平１１−６８７７０号公報に記載の方法などがある。特開平１１−２９８５２３号公報に記載の方法は、個々のパケット（フレーム）の流れを示す各フローに対して、各フローが要求する転送速度に対応する時間量を示す重みと、各フローの待ち行列とに基づいて、各フローの転送優先順位を示す優先インデックスを算出し、これらの優先インデックスの大きい順に各フローを並べ替えてパケットスケジューリングを行う。特開平１１−６８７００号公報に記載の方法は、セルのトラフィックごとにクラスを設定し、各クラスの重み値およびバッファ量を元に出力セルの選択を行うＷＲＲにおいてＷＲＲの対象となるクラスに対してプライオリティ（優先度）を設定し、それに従って出力を行うスケジューリング方法である。
【０００８】
従来は、これらのような方法で多くのフレームが流れるトラフィックに対して、各フレーム、トラフィックごとに要求される帯域を保証していた。
【０００９】
【発明が解決しようとする課題】
上述したＷＦＱでは、入力される高優先順位のトラフィックが多すぎる場合、低優先順位のトラフィックが放置されるおそれがあり、低優先順位のトラフィックがロックアウトされるおそれがあるという問題があった。
【００１０】
特開平８−２７４７９３号公報に記載の方法では、処理を行う際その対象となる先頭セルまたは先頭パケットがすぐに帯域保証されるべきセルまたはパケットであるか判定し、帯域保証されるべきものは帯域幅保証待ち行列（ＧＳＱ）にて処理し、帯域保証するものがない場合はファーストカムファーストサーブ（ＦＣＦＳ）待ち行列にて処理を行っている。したがって待ち行列モジュールが複数存在するため、装置の規模が大きくなってしまうという問題があった。
【００１１】
特開平１１−２９８５２３号公報に記載の方法では、出力フローが決定されるたびにインデックス値を再計算するため、インデックステーブル内の計算すべきフローが多い場合、処理が多くなってしまうという問題があった。
【００１２】
特開平１１−６８７７０号公報に記載の方法では、任意の長さのフレームしか扱えないという問題があった。
【００１３】
このように、従来のパケットスケジュール方法は、主に各フレームのクラス分けや重み付けを行い、その後ラウンドロビン等の処理をすることにより優先すべきフレームを優先的に出力できるようにしているが、各フレームに対しての帯域を保証するにあたって、データの処理量、データを格納するバッファ量が大きくなってしまい、装置の騎馬が大型化してしまうという問題や、それに伴う帯域制御処理の遅延などにより、帯域保証の精度が悪化してしまうといった問題があった。
【００１４】
本発明の目的は、上述したようなクラス分け、重み付けを用いながら、従来のものより装置規模が小さく、帯域制御の精度が高い帯域制御式パケットスケジューラを提供することである。
【００１５】
【課題を解決するための手段】
請求項１に記載の第１発明による帯域制御式パケットスケジューラは、前記フレームを該フレームの種類に応じて複数のクラスに分類し、前記クラスの各々に対して優先度を設定し、前記クラスを優先度に応じて帯域を保証する高優先グループと帯域を保証しない低優先グループとに分け、前記高優先グループに属するクラスのフレームを優先してスケジューリングするようにしたことを特徴とする。このようにすれば、動的なクラス分けを行うことができ、小規模回路が必要な場合はクラスを少なくすることによって対応することができ、クラスのグループ分けによって精度の高い帯域制御ができ、グループ分けによる処理の分割ができるため装置規模を従来より小さくすることができる。
【００１６】
請求項２に記載の第２発明による帯域制御式パケットスケジューラは、前記フレームのクラス分けを、前記フレームのタグ情報にしたがって行い、各々のクラスに属するフレームの種類の数を動的に変更するようにしたことを特徴とする。このようにすれば、高帯域保証を必要とするデータに対しての精度を上げることができる。
【００１７】
請求項３に記載の第３発明による帯域制御式パケットスケジューラは、前記クラスごとに最低帯域保証値を設定し、前記最低帯域保証値に応じて前記グループ分けを行い、高優先グループのフレームがある場合には低優先グループのフレームを送信しないようにしたことを特徴とする。このようにすれば、帯域制御ありのデータの処理速度を上げることができる。
【００１８】
請求項４に記載の第４発明による帯域制御式パケットスケジューラは、前記各々のグループ内のクラスに対して、これらのクラスの最低帯域保証値に基づいた重み値にしたがってラウンドロビン処理を行い、常に重み値が大きいクラスを優先的に送信するようにし、各クラスの重み値を、処理されたパケットフレームの長さ分の重み値を引くことによって更新するようにしたことを特徴とする。このようにすれば、あるクラスのフレームがなくなった場合に他のクラスの重み値を初期化することにより、常にラウンドロビンの処理が行われることになり、処理の無駄がなくなり、高速なトラフィックの場合でも対応することができる。
【００１９】
請求項５に記載の第５発明による帯域制御式パケットスケジューラは、各クラス毎にタイマを具え、各々のクラスのフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合、前記重み値を更新するようにしたことを特徴とする。このようにすれば、第５発明の効果をより高くすることができる。
【００２０】
請求項６に記載の第６発明による帯域制御式パケットスケジューラは、前記クラス分けされたフレームをパケット分割してクラス毎に格納するバッファを具え、各々のクラスのバッファの容量を該クラスの最低帯域保証値に比例して動的に変化させるようにしたことを特徴とする。このようにすれば、バッファ容量の設定が容易になり、回路規模を小さくすることができる。
【００２１】
請求項６に記載の第６発明による帯域制御式パケットスケジューラは、前記フレームを出力する際、予め設定された最大帯域値と、出力ポートのリンク速度と、各フレームの長さとに基づいてフレーム間ギャップを決定し、このフレーム間ギャップにしたがってトラフィックシェーピングするようにしたことを特徴とする。このようにすれば、容易に最大帯域保証を実現することができる。
【００２２】
【発明の実施の形態】
図１は、本発明による帯域制御式パケットスケジューラの一実施形態の構成を示すブロック図である。本帯域制御式パケットスケジューラ１は、イーサネット（登録商標）に接続され、データを受けるマッピング実施部２と、マッピング実施部２に接続されたクラスマッピングテーブル４と、マッピング実施部２に接続され、パケットバッファを含むクラス毎バッファリング部６と、クラス毎バッファリング部６に接続された受信キュー８と、受信キュー８に接続されたＧＦＲ有無判定部１０と、受信キュー８およびＧＦＲ有無判定部１０に接続された受信キュー監視部１２と、受信キュー監視部１２に接続された重み値判定部１４と、重み値判定部１４に接続された重み値管理テーブル１６と、重み値判定部１４およびクラス毎バッファリング部６に接続されたバッファ送出部１８と、バッファ送出部１８およびイーサネット（登録商標）に接続され、出力データを出力するパケットシェーピング部２０とを具える。
【００２３】
マッピング実施部２は、イーサネット（登録商標）から受信した入力データのフレームのＶＬＡＮタグフィールド値、またはＩＰヘッド内のＤＳＣＰフィールド値などの情報を抽出し、クラスマッピングテーブル部４に格納されたテーブルを参照して、フレームの種類により動的に設定されたクラスに従ってクラス分けを行い、クラス毎バッファリング部６に供給する。ここで、クラスに対する優先順位をクラスＮ＞クラス０（Ｎ：任意の数）と設定する。クラス毎バッファリング部６は、前記クラス分けされたフレームを１ブロック６４キロバイトのブロックに分割して前記パケットバッファにクラス別に格納する。クラス毎バッファリング部６は、さらに、前記パケットバッファのアドレスと、前記フレームのレングスと、識別したクラスと、クラスごとの最小帯域保証値（ＧＦＲ）とを１つのエントリとしたデータを形成し、受信キュー８に供給する。受信キュー８は前記データを格納するとともにＧＦＲ有無判定部１０に供給する。ＧＦＲ有無判定部６は、受信キュー４から受けたデータに基づいて、前記クラスを最小帯域保証値（ＧＦＲ）が０、すなわち最小帯域保証なしの低優先グループと、それ以外、すなわち最小帯域保証ありの高優先グループとに分け、このグループ分けについての情報を受信キュー監視部１２に供給する。受信キュー監視部１２は、受信キュー８に高優先グループに属するクラスがあるか否かを判定し、ある場合には、先に高優先グループのスケジューリングを行うことを決定し、重み値判定部１４に受信キュー８に格納されている高優先グループに属するクラスのリストを供給する。高優先グループのキューが空になったら低優先グループに属するクラスのスケジューリングを行う。このスケジューリングについては後により詳細に説明する。重み値管理テーブル１６は、クラス毎に設定されている最小帯域証値（ＧＦＲ）に基づいて計算された重み値を格納しており、重み値判定部１４は、重み値管理テーブル１６を参照して待ち行列方式で重み値が大きいクラスから順に選択し、このスケジューリングの情報をバッファ送信部１８に供給する。バッファ送信部１８は、前記スケジューリング情報に従ってクラス毎バッファリング部６のパケットバッファからブロックを読み出し、パケットシェーピング部２０に供給する。パケットシェーピング部１０は、フレーム送信時、次のフレームを送信するまでの時間、最大帯域制御部１１によってフレームごとに予め設定された最大帯域保証値に基づいてフレーム間ギャップを計算し、フレーム間に挿入することによって最大帯域保証を行い、前記フレームを物理ポートに送信する。
【００２４】
図２は、受信キュー監視部１２および重み値判定部１４において行われる重み値によるクラススケジューリングを説明するフローチャートである。ステップＳ１０１において処理を開始し、ステップＳ１０２において重み値を更新する。この際、当該フレームを始めてスケジューリングする場合、各クラスの重み値には初期値を与え、そうでない場合、各クラスの重み値にクラスそれぞれの負になったときの重み値を加算し、新しく値を更新する。この際、各クラス毎にタイマでフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合に重み値の更新を行うようにしてもよい。ステップＳ１０３で、高優先グループのクラスに対応するパケットバッファにブロックがあるか否かを判定し、ある場合はステップＳ１０４に進み、ない場合はステップＳ１０７に進む（Ｐｈ：高優先グループのクラスのブロックの有無、０：ブロックなし、１：ブロックあり）。ステップＳ１０４で、現在のすべてのクラスの重み値（Ｗｉ：クラスｉの重み値）が正であるか否かを判定し、そうであればステップＳ１０５に進み、そうでない場合はステップＳ１０２に戻る。ステップＳ１０５で、高優先グループに属する重み値の大きいクラスのフレームを１つ出力する。この際、クラスの重み値が等しい場合、クラスの優先順位に従う。ステップＳ１０６で、ステップＳ１０６においてフレームが出力されたクラスの重み値（Ｗｉ）からフレーム長（Ｌｉ：クラスｉのフレーム長）を引き、ステップＳ１０３に戻る。ステップＳ１０７で、低優先グループのクラスに対応するパケットバッファにブロックがあるか否かを判定し、ある場合はステップＳ１０８に進み、ない場合はステップＳ１０３に戻る（Ｐｌ：低優先グループのクラスのブロックの有無、０：ブロックなし、１：ブロックあり）。ステップＳ１０８で、低優先グループに属するフレームを出力し、ステップＳ１０３に戻る。
【００２５】
図３は、実際のクラススケジューリングの一例を説明する図である。この図に示す例において、クラスをクラス０〜３の４つに設定し、各クラスの重み値を、クラス３は５、クラス２は３、クラス１は１、クラス０は０と設定した。本図における矩形の各々はフレームを表し、中の数字はクラスの番号を示す。フレーム長はすべて同じで、１つのフレームに対しての重み値を１とした。最初に高優先グループであるクラス３および２を処理する。重み値が同じになった場合は、クラスの優先順位に従ってクラス３から処理する。高優先グループのフレームがなくなったら、低優先グループに属する重み値０のクラスのフレームを出力する。
【図面の簡単な説明】
【図１】本発明による帯域制御式パケットスケジューラの一実施形態の構成を示すブロック図である。
【図２】重み値によるクラススケジューリングを説明するフローチャートである。
【図３】実際のクラススケジューリングの一例を説明する図である。
【符号の説明】
１  帯域制御式パケットスケジューラ
２  マッピング実施部
４  クラスマッピングテーブル
６  クラス毎バッファリング部
８  受信キュー
１０  ＧＦＲ有無判定部
１２  受信キュー監視部
１４  重み値判定部
１６  重み値管理テーブル
１８  バッファ送出部
２０  パケットシェーピング部
【図１】
2004236172.tif 000003
【図２】
2004236172.tif 000004
【図３】
2004236172.tif 000005