(57)【要約】【課題】  入出力インタフェース部間の送受信量及び計算処理負荷を低く抑え、各契約ユーザの最低帯域保証や各契約ユーザ間の公平性を実現するパケット交換装置を提供する。【解決手段】  入力インタフェース部は、複数のパケットキューを含む、契約ユーザ対応のキューグループを複数有する。キューグループ毎に、入力帯域を計測し、また、蓄積量の閾値超過を確認する。出力インタフェース部への出力バッファが輻輳したとき、その出力バッファへパケットを送信した各入力インタフェース部における計測入力帯域、閾値超過情報と、各キューグループ毎の最低保証帯域に基づいて、入力インタフェース部単位に送信制限帯域を求め、求められた送信制限帯域に基づいて、パケットキューからの読み出しを制御する。【選択図】      図１
2014233052.tif 000002
【特許請求の範囲】
【請求項１】
パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置において、
上記各入力インタフェース手段が、
入力されたパケットを蓄積する、蓄積するパケットのフローが異なる複数のパケット蓄積部と、
入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分けるフロー識別部と、
複数の上記パケット蓄積部に蓄積されているパケットを、読出すパケット蓄積部を切り替えながら読み出すパケット読出制御部と、
上記各パケット蓄積部へのパケットの入力帯域を計測する入力帯域計測部と、
上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出する閾値超過検出部と、
計測された入力帯域、検出された閾値超過の情報を送信する蓄積部情報送信部とを有し、
上記各出力インタフェース手段に関連して、
当該出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求める送信制限帯域演算部と、
上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知する送信制限帯域通知部とを設け、
上記各入力インタフェース手段の上記パケット読出制御部が、通知された上記送信制限帯域に基づいて、複数の上記パケット蓄積部からのパケットの読み出し制御を行う
ことを特徴とするパケット交換装置。
【請求項２】
同一の上記入力インタフェース手段に設けられている上記各パケット蓄積部がそれぞれ、複数の蓄積部分を有するものであり、
上記パケット読出制御部が、
上記各パケット蓄積部を構成する複数の蓄積部分からの読み出しを制御する、複数のパケット蓄積部内読出制御部と、
複数のパケット蓄積部内読出制御部のいずれかに読出制御の権限を与える制御を行うパケット蓄積部間読出制御部とを有する
ことを特徴とする請求項１に記載のパケット交換装置。
【請求項３】
パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置に搭載されるコンピュータを、
入力されたパケットを蓄積する、蓄積するパケットのフローが異なる複数のパケット蓄積部と、
入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分けるフロー識別部と、
複数の上記パケット蓄積部に蓄積されているパケットを、通知された上記送信制限帯域に基づいて、読出すパケット蓄積部を切り替えながら読み出すパケット読出制御部と、
上記各パケット蓄積部へのパケットの入力帯域を計測する入力帯域計測部と、
上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出する閾値超過検出部と、
計測された入力帯域、検出された閾値超過の情報を送信する蓄積部情報送信部と、
いずれかの上記出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求める送信制限帯域演算部と、
上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知する送信制限帯域通知部と
して機能させることを特徴とする帯域制御プログラム。
【請求項４】
パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置におけるパケット交換方法において、
上記各入力インタフェース手段の蓄積するパケットのフローが異なる各パケット蓄積部は、入力されたパケットを蓄積し、
上記各入力インタフェース手段のフロー識別部は、入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分け、
上記各入力インタフェース手段のパケット読出制御部は、複数の上記パケット蓄積部に蓄積されているパケットを、読出すパケット蓄積部を切り替えながら読み出し、
上記各入力インタフェース手段の入力帯域計測部は、上記各パケット蓄積部へのパケットの入力帯域を計測し、
上記各入力インタフェース手段の閾値超過検出部は、上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出し、
上記各入力インタフェース手段の蓄積部情報送信部は、計測された入力帯域、検出された閾値超過の情報を送信し、
上記各出力インタフェース手段に関連して設けられている送信制限帯域演算部は、当該出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求め、
上記各出力インタフェース手段に関連して設けられている送信制限帯域通知部は、上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知し、
上記各入力インタフェース手段の上記パケット読出制御部は、通知された上記送信制限帯域に基づいて、複数の上記パケット蓄積部からのパケットの読み出し制御を行う
ことを特徴とするパケット交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換装置、パケット交換方法及び帯域制御プログラムに関し、例えば、パケット交換方式を利用した通信網で用いられるノード装置に適用し得るものである。
【背景技術】
【０００２】
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどのネットワークは、パケット交換方式と呼ばれる通信方式を利用した通信網である。これらのネットワークでは、ノード装置としてパケット交換装置が使用される。パケット交換方式では、情報をパケットと呼ばれる単位に分割して送信する。このため、パケット単位での待ち合わせが可能となり、複数のユーザで回線を共有し、効率良く並列に転送することができる。また、パケット交換装置の記憶部にパケットを一旦蓄積して転送するので、様々な通信状況に対応できるインテリジェントなネットワークを構築することができる。
【０００３】
一方、近年、ネットワークを利用して提供されるサービスやアプリケーションの多様化に伴って、様々な通信品質を保証する必要性が高まってきている。通信品質を表す指標には、データ廃棄率、伝搬遅延時間、伝搬遅延ゆらぎなどがある。例えば、リアルタイム性を必要とする音声通信や動画通信では、低廃棄率、低遅延及び低遅延ゆらぎの保証が要求される。一方、それほどリアルタイム性を必要としないデータ通信では低廃棄率の保証が要求される。
【０００４】
サービスやアプリケーションの違いによって、それぞれの通信品質レベルを保証するために、サービスやアプリケーション毎に優先度を決め、その優先度に従って、パケットを出力する優先制御機能を有するパケット交換装置の要求が高まってきている。
【０００５】
また、通信事業者が利用者に対し、通信サービスに対応する最低帯域を保証したり、最大制限帯域で利用可能な帯域を制限したりする帯域制御機能も必要となってきている。
【０００６】
そこで、このような優先制御機能や帯域制御機能を有するパケット交換装置が提案されている（例えば、特許文献１参照）。特許文献１に開示されているパケット交換装置は、入力インタフェース部、出力インタフェース部及びパケット交換部を備えている。入力インタフェース部は、受信したユーザパケットを、優先度に従ってパケット交換部に転送する。パケット交換部は、入力インタフェース部から受け取ったユーザパケットを、その宛先アドレスに基づいて、対応する出力インタフェース部に送る。出力インタフェース部は、ユーザパケットの優先度に応じたパケットキューと、それらのキューをグループ化したキューグループを有している。各キューグループには、通信サービス契約で定められた最低保証帯域が割り当てられていて、各キューグループからの読出し帯域を制御することにより、最低帯域の保証や、利用者間での余剰帯域の割り当ての公平性を実現している。また、キューグループからの読み出しの際に、キューグループ内の優先度に従って、読出し制御することにより、通信品質レベルが保証される。
【０００７】
しかしながら、特許文献１に開示されているパケット交換装置では、複数の入力インタフェース部から１つの出力インタフェース部にパケットを送るときに、各入力インタフェース部からのパケットの合計が、パケット交換部と、出力インタフェース部との間の伝送帯域を超過してしまうと、出力インタフェース部にパケットが到着する前に、パケット廃棄が発生することになる。このため、帯域制御が不完全になり、最低帯域の保証や、各利用者間の公平性の維持したい場合、その実現が困難になる。
【０００８】
この課題を解決した発明として、特許文献２に開示されているパケット交換装置がある。特許文献２に開示されているパケット交換装置は、出力インタフェース部において、各入力インタフェース部から受け取る送信要求量に応じて送信許可量を算出し、入力インタフェース部では、送信許可量に応じて、送信を行う。出力インタフェース部で帯域を管理されるので、入力インタフェース部と出力インタフェース部との間など、出力インタフェース部が受け取るまでのパケットの廃棄がなくなり、各契約の最低帯域の保証や、各利用者間の公平性の維持が実現される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−３４６２４６
【特許文献２】特開２０１１−８２９１２
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献２に開示されているパケット交換装置では、パケットキュー毎の送信要求量を入力インタフェース部から出力インタフェース部に送信し、出力インタフェース部で各送信要求量と最低保証帯域などの情報から各パケットキューの送信許可量を計算し、そのパケットキュー毎の送信許可量を出力インタフェース部から入力インタフェース部へ送信する必要がある。そのため、パケットキュー及びパケットキューグループが多くなると、入力インタフェース部から出力インタフェース部への転送情報の増大や、出力インタフェース部での計算処理負荷の増大等の要因により、パケット交換装置の実現が困難になる。
【００１１】
本発明は、上記事情に鑑みてなされたもので、入力インタフェース部及び出力インタフェース部間の転送情報量及び計算処理負荷を低く抑え、フロー群毎（若しくはフロー毎）の帯域保証や、フロー群（若しくはフロー）間の帯域の公平性を実現できるパケット交換装置、パケット交換方法及び帯域制御プログラムを提供しようとしたものである。
【課題を解決するための手段】
【００１２】
第１の本発明は、パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置において、（１）上記各入力インタフェース手段が、（１−１）入力されたパケットを蓄積する、蓄積するパケットのフローが異なる複数のパケット蓄積部と、（１−２）入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分けるフロー識別部と、（１−３）複数の上記パケット蓄積部に蓄積されているパケットを、読出すパケット蓄積部を切り替えながら読み出すパケット読出制御部と、（１−４）上記各パケット蓄積部へのパケットの入力帯域を計測する入力帯域計測部と、（１−５）上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出する閾値超過検出部と、（１−６）計測された入力帯域、検出された閾値超過の情報を送信する蓄積部情報送信部とを有し、（２）上記各出力インタフェース手段に関連して、（２−１）当該出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求める送信制限帯域演算部と、（２−２）上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知する送信制限帯域通知部とを設け、（３）上記各入力インタフェース手段の上記パケット読出制御部が、通知された上記送信制限帯域に基づいて、複数の上記パケット蓄積部からのパケットの読み出し制御を行うことを特徴とする。
【００１３】
第２の本発明は、パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置に搭載されるコンピュータを、（１）入力されたパケットを蓄積する、蓄積するパケットのフローが異なる複数のパケット蓄積部と、（２）入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分けるフロー識別部と、（３）複数の上記パケット蓄積部に蓄積されているパケットを、通知された上記送信制限帯域に基づいて、読出すパケット蓄積部を切り替えながら読み出すパケット読出制御部と、（４）上記各パケット蓄積部へのパケットの入力帯域を計測する入力帯域計測部と、（５）上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出する閾値超過検出部と、（６）計測された入力帯域、検出された閾値超過の情報を送信する蓄積部情報送信部と、（７）いずれかの上記出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求める送信制限帯域演算部と、（８）上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知する送信制限帯域通知部として機能させることを特徴とする。
【００１４】
第３の本発明は、パケットが入力される複数の入力インタフェース手段と、パケットを出力する複数の出力インタフェース手段と、上記各入力インタフェース手段からのパケットを宛先に応じた上記出力インタフェース手段に出力する、複数の入力バッファ、パケットスイッチ及び複数の出力バッファを有するパケット交換手段とを備えたパケット交換装置におけるパケット交換方法において、（１）上記各入力インタフェース手段の蓄積するパケットのフローが異なる各パケット蓄積部は、入力されたパケットを蓄積し、（２）上記各入力インタフェース手段のフロー識別部は、入力されたパケットのフローを識別して、そのパケットをいずれかの上記パケット蓄積部に振り分け、（３）上記各入力インタフェース手段のパケット読出制御部は、複数の上記パケット蓄積部に蓄積されているパケットを、読出すパケット蓄積部を切り替えながら読み出し、（４）上記各入力インタフェース手段の入力帯域計測部は、上記各パケット蓄積部へのパケットの入力帯域を計測し、（５）上記各入力インタフェース手段の閾値超過検出部は、上記各パケット蓄積部の蓄積量が閾値を超過したか否かを検出し、（６）上記各入力インタフェース手段の蓄積部情報送信部は、計測された入力帯域、検出された閾値超過の情報を送信し、（７）上記各出力インタフェース手段に関連して設けられている送信制限帯域演算部は、当該出力インタフェース手段に対応する上記出力バッファの輻輳状態が検出されたときに、輻輳状態の上記出力バッファへのパケットの送信元となり得る上記各入力インタフェース手段からの計測された入力帯域、検出された閾値超過の情報と、その入力インタフェース手段が有する上記各パケット蓄積部について予め定められている帯域情報とに基づいて、入力インタフェース手段単位の送信制限帯域を求め、（８）上記各出力インタフェース手段に関連して設けられている送信制限帯域通知部は、上記送信制限帯域演算部により求められた上記各入力インタフェース手段の送信制限帯域を、対応する上記各入力インタフェース手段に通知し、（９）上記各入力インタフェース手段の上記パケット読出制御部は、通知された上記送信制限帯域に基づいて、複数の上記パケット蓄積部からのパケットの読み出し制御を行うことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、入力インタフェース部及び出力インタフェース部間の転送情報量及び計算処理負荷を低く抑え、フロー群毎（若しくはフロー毎）の帯域保証や、フロー群（若しくはフロー）間の帯域の公平性を実現できるパケット交換装置、パケット交換方法及び帯域制御プログラムを提供できる。
【図面の簡単な説明】
【００１６】
【図１】実施形態のパケット交換装置の機能的な構成を示すブロック図である。
【図２】実施形態のパケット交換装置の動作説明用のブロック図である。
【図３】実施形態のパケット交換装置における送信制御帯域演算部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
（Ａ）主たる実施形態
以下、本発明によるパケット交換装置、パケット交換方法及び帯域制御プログラムの一実施形態を、図面を参照しながら説明する。
【００１８】
（Ａ−１）実施形態の構成
図１は、実施形態のパケット交換装置１の機能的な構成を示すブロック図である。実施形態のパケット交換装置１は、全てをハードウェアで構成しても良く、一部をハードウェアで構成し、残部をＣＰＵとＣＰＵが実行するプログラムで構成するようにしても良く、いずれの構成方法を採用した場合であっても、機能的には、図１で表すことができる。例えば、後述するフロー識別部１０２、パケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍ、グループ内読出制御部１０３−０〜１０３−ｎ、グループ間読出制御部１０４、スレーブ側帯域制御部１０５、マスター側帯域制御部２０３などを、ＣＰＵとＣＰＵが実行するプログラムで構成することができる。
【００１９】
図１において、パケット交換装置１は、複数の入出力インタフェース部２−０〜２−Ｘ（Ｘは２以上の整数）、１つのパケット交換部３を少なくとも有する。複数の入出力インタフェース部２−０〜２−Ｘと、１つのパケット交換部３とを１ユニットとし、パケット交換装置１が、このようなユニットを複数個有していても良い。
【００２０】
図１では、入出力インタフェース部２−０の詳細構成を示しているが、入出力インタフェース部２−０〜２−Ｘは、同様な内部構成を有する。以下では、複数の入出力インタフェース部２−０〜２−Ｘを区別する枝番「−０」〜「−Ｘ」を適宜省略して、入出力インタフェース部２（２−０〜２−Ｘ）の詳細構成を説明する。なお、図１で枝番を省略しているが、入出力インタフェース部２−０の詳細構成を示しているので、正しくは枝番「−０」が付与されるものである。
【００２１】
入出力インタフェース部２は、対応する入力ポートＰＩＮから入力されたパケットをパケット交換部３に転送する入力インタフェース部１００と、パケット交換部３から受け取ったパケットを出力ポートＰＯＵＴに出力する出力インタフェース部２００とを有している。
【００２２】
パケット交換部３は、入力インタフェース部１００−ａからパケットが入力されると、パケットの宛先を解析し、その宛先に応じた出力インタフェース部２００−ｂにパケットを与えるものである。同一の入出力インタフェース部２−ａに属する入力インタフェース部１００−ａからのパケットを、出力インタフェース部２００−ａに与えることもできるようにパケット交換装置１が構成されていても良く、また、同一の入出力インタフェース部２−ａに属する入力インタフェース部１００−ａからのパケットを、出力インタフェース部２００−ａに与えることができないようにパケット交換装置１が構成されていても良い。
【００２３】
入力インタフェース部１００は、パケット受信部１０１、フロー識別部１０２、複数（ここではｎ＋１であるとする）のキューグループＱＧ０〜ＱＧｎにグループ分けされている多くのパケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍ、キューグループＱＧ０〜ＱＧｎ毎のグループ内読出制御部（図１ではＱＧ０読出制御部〜ＱＧｎ読出制御部と表記している）１０３−０〜１０３−ｎ、グループ間読出制御部（図１では読出制御部と表記している）１０４、スレーブ側帯域制御部１０５及び送信制御部１０６を有する。
【００２４】
パケットキューＱ０１〜Ｑ０ｍはキューグループＱＧ０に属し、パケットキューＱｎ１〜ＱｎｍはキューグループＱＧｎに属し、他のパケットキューも同様にグループ分けされている。図１では、１つのキューグループに属するパケットキューがｍ個の場合を示している。
【００２５】
パケット受信部１０１は、入力ポートＰＩＮからの受信パケットを受け取り、フロー識別部１０２に与えるものである。
【００２６】
フロー識別部１０２は、パケット受信部１０１からの受信パケットのＩＰアドレス、ポート番号、優先識別子、その他の情報に基づいてパケット種別を識別し、識別したパケット種別に対応するパケットキューに受信パケットを振り分けるものである。
【００２７】
パケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍはそれぞれ、到来した受信パケットをキューイングして蓄積するものである。パケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍは、上述したように、複数のキューグループＱＧ０〜ＱＧｎにグループ分けされている。例えば、各キューグループＱＧ０〜ＱＧｎは、契約ユーザＡ、契約ユーザＢ、…のように契約ユーザ毎に割り当てられている。また、１つのキューグループに属する各パケットキューは、例えば、優先識別子で定まるパケット優先度毎に設けられている。
【００２８】
グループ内読出制御部１０３−０〜１０３−ｎはそれぞれ、グループ間読出制御部１０４の制御を受けて、対応するキューグループＱＧ０〜ＱＧｎ内のパケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍからパケットを読み出してグループ間読出制御部１０４に与えるものである。グループ内読出制御部１０３−０〜１０３−ｎは、対応するキューグループＱＧ０〜ＱＧｎ内のどのパケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍから読み出すかを制御する。各グループ内読出制御部１０３−０〜１０３−ｎによる読み出し制御方法として、既存のいずれの方法を適用しても良く、例えば、優先度の高いものから順に読み出す方法、重み付けラウンドロビン方法等を適用できる。
【００２９】
グループ間読出制御部１０４は、いずれかのグループ内読出制御部１０３−０〜１０３−ｎに、受信パケットを読み出す権限を与える制御を行うものである。グループ間読出制御部１０４は、スレーブ側帯域制御部１０５から、当該入力インタフェース部１００に対する送信制限帯域を受け取り、この送信制限帯域をも参照しながら、いずれのグループ内読出制御部１０３−０〜１０３−ｎに係るキューグループＱＧ０〜ＱＧｎからパケットをどのタイミングで読み出すかを制御する。また、グループ間読出制御部１０４は、いずれかのグループ内読出制御部１０３−０〜１０３−ｎから与えられたパケットを送信制御部１０６に与える。
【００３０】
スレーブ側帯域制御部１０５は、後述するマスター側帯域制御部２０３と協働し、グループ間読出制御部１０４が出力する所定時間当たりのパケット量の制御（すなわち帯域制御）を行うものである。
【００３１】
送信制御部１０６は、グループ間読出制御部１０４から出力されるユーザパケットと、後述するスレーブ側帯域制御部１０５から出力されるリソースマネジメントパケット（以下、ＲＭｓパケットと呼ぶ）と、後述するマスター側帯域制御部２０３から出力されるリソースマネジメントパケット（以下、ＲＭｍパケットと呼ぶ）とを多重してパケット交換部３に与えるものである。
【００３２】
スレーブ側帯域制御部１０５は、閾値超過検出部４１１、入力帯域計測部４１２、ＲＭｓパケット送信部４１３及びＲＭｍパケット受信部４１４を有する。
【００３３】
閾値超過検出部４１１は、各キューグループＱＧ０〜ＱＧｎ毎の蓄積パケット量の過多を閾値との比較により周期的に検出するものである。閾値超過判定方法としては、第１に、キューグループに属する全てのパケットキューにそれぞれ閾値を持たせ、いずれかのパケットキューが閾値超過状態になったらそのキューグループは閾値超過状態とする方法、第２に、同一のキューグループに属する全てのパケットキューの合計蓄積パケット量に対して閾値を設け、その閾値に対して閾値超過状態になったらそのキューグループは閾値超過状態とする方法などがある。
【００３４】
入力帯域計測部４１２は、フロー識別部１０２から各パケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍへのトラフィックを監視し、各パケットキューＱ０１〜Ｑ０ｍ、…、Ｑｎ１〜Ｑｎｍへの一定時間周期の入力データ量からキューグループＱＧ０〜ＱＧｎ毎の入力帯域を計算するものである。なお、フロー識別部１０２が、入力帯域計測部４１２の機能を兼ね備えるものであっても良い。
【００３５】
ＲＭｓパケット送信部４１３は、閾値超過検出部４１１からのキューグループＱＧ０〜ＱＧｎ毎の閾値超過状態か否かを示す帯域制御情報（例えば、超過状態で論理「１」、非超過状態で論理「０」の情報）と、入力帯域計測部４１２で計測された各キューグループＱＧ０〜ＱＧｎの入力帯域のうち、閾値超過状態でない全てのキューグループの入力帯域を合計した値とを含むＲＭｓパケットを生成するものである。ＲＭｓパケットは、全ての入出力インタフェース部２−０〜２−Ｘのマスター側帯域制御部２０３−０〜２０３−Ｘに与えられるようになされている。
【００３６】
ＲＭｍパケット受信部４１４は、後述するパケット交換部３の出力バッファ３０２−ｃに対応する出力インタフェース部２００−ｃのマスター側帯域制御部２０３−ｃから送信されたＲＭｍパケットを受信し、ＲＭｍパケットにより通知されたキューグループＱＧ０〜ＱＧｎ毎の送信制限帯域をグループ間読出制御部１０４−ｃに通知するものである。
【００３７】
出力インタフェース部２００は、受信制御部２０１、パケット振分部２０２、マスター側帯域制御部２０３、受信バッファ２０４及びパケット送信部２０５を有する。
【００３８】
受信制御部２０１は、パケット交換部３から出力されたパケットを受信し、その受信したパケットをパケット振分部２０２に与えるものである。
【００３９】
パケット振分部２０２は、受信制御部２０１からパケットを受け取ると、ユーザパケット、ＲＭｍパケット、ＲＭｓパケットのいずれであるかを識別し、ユーザパケットを受信バッファ２０４に振り分け、ＲＭｓパケットをマスター側帯域制御部２０３に振り分け、ＲＭｍパケットを入力インタフェース部１００のスレーブ側帯域制御部１０５に振り分ける。
【００４０】
マスター側帯域制御部２０３は、全ての入力インタフェース部１００−０〜１００−Ｘから出力されたＲＭｓパケットを受信し、後述するパケット交換部３に輻輳状態の出力バッファ３０２−ｃがあれば、それらのＲＭｓパケットにより通知された閾値超過状態などの値から、輻輳状態の出力バッファ３０２−ｃに向かうパケットを送出する１又は複数の入力インタフェース部における各キューグループへ割り当てる送信制限帯域を計算し、その計算された送信制限帯域をＲＭｍパケットにより、該当する入力インタフェース部のスレーブ側帯域制御部へ通知するものである。
【００４１】
受信バッファ２０４は、パケット振分部２０２からのユーザパケットを一時的に蓄積してパケット送信部２０５に出力するものである。
【００４２】
パケット送信部２０５は、受信バッファ２０４からのユーザパケットを出力ポートＰＯＵＴに出力するものである。
【００４３】
マスター側帯域制御部２０３は、ＲＭｓパケット受信部４２１、送信制限帯域演算部４２２及びＲＭｍパケット送信部４２３を有する。
【００４４】
ＲＭｓパケット受信部４２１は、全ての入力インタフェース部１００−０〜１００−Ｘから出力されたＲＭｓパケットを受信し、ＲＭｓパケットで通知された各キューグループの閾値超過状態と、閾値超過状態でない全てのキューグループの入力帯域合計値とを送信制限帯域演算部４２２へ通知するものである。
【００４５】
送信制限帯域演算部４２２は、ＲＭｓパケット受信部４２１から通知された各キューグループの閾値超過状態及び閾値超過状態でない全てのキューグループの入力帯域合計値、パケット交換部３から通知された当該出力インタフェース部２００に対応する出力バッファの輻輳状態、キューグループごとの最低保証帯域に基づいて、各キューグループの帯域が公平になるように、しかも、最低保証帯域を満足するようにキューグループごとの送信制限帯域を定めるものである。送信制限帯域演算部４２２は、出力バッファが輻輳状態にない場合には、予め定められている固定値の送信制限帯域を適用することに定め、出力バッファが輻輳状態にある場合には、計算により送信制限帯域を定める。
【００４６】
ここで、各キューグループの最低保証帯域については、例えば、送信制限帯域演算部４２２に予め設定されていても良く、また例えば、入力インタフェース部（１００）のＲＭｓパケット送信部（４１３）がＲＭｓパケットを生成する際に各キューグループの最低保証帯域をＲＭｓパケットに載せて送信制限帯域演算部４２２に通知するようにしても良い。
【００４７】
ＲＭｍパケット送信部４２３は、送信制限帯域演算部４２２で得られた各キューグループの送信制限帯域を、該当する入力インタフェース部のスレーブ側帯域制御部へ通知するＲＭｍパケットを生成し、その生成したＲＭｍパケットを、当該入力インタフェース部１００の送信制御部１０６に与えるものである。
【００４８】
パケット交換部３は、複数の入力バッファ３００−０〜３００−Ｘ、パケットスイッチ３０１、複数の出力バッファ３０２−０〜３０２−Ｘ及びフロー制御部３０４を有する。
【００４９】
各入力バッファ３００−０〜３００−Ｘは、対応する入力インタフェース部１００−０〜１００−Ｘから出力されたパケットを受信してバッファリングするものである。
【００５０】
パケットスイッチ３０１は、入力バッファ３００−０〜３００−Ｘが受信したパケットをその宛先に応じてスイッチングして、該当する出力バッファ３０２−０〜３０２−Ｘに出力するものである。
【００５１】
各出力バッファ３０２−０〜３０２−Ｘは、パケットスイッチ３０１からのパケットを、対応する出力インタフェース部２００−０〜２００−Ｘへ転送するために適宜バッファリングするものである。ここで、出力バッファ３０２−０〜３０２−Ｘの輻輳状態は、対応する出力インタフェース部２００−０〜２００−Ｘの送信制限帯域演算部４２２から読み出し可能となされている。
【００５２】
フロー制御部３１４は、ある入力バッファ３００−ｘが輻輳状態となった場合に、パケットを廃棄しないように、入力バッファ３００−ｘに対応する入力インタフェース部１００−ｘの送信制御部１０６−ｘに対してフロー制御を実施するものである。
【００５３】
（Ａ−２）実施形態の動作
次に、実施形態のパケット交換装置１における動作（パケット交換方法）を、図２を参照しながら説明する。
【００５４】
図２は、動作説明用の図面である。図２では、説明の簡単化を期して、入出力インタフェース部の数が３個であって、同一の入出力インタフェース部２−ａに属する入力インタフェース部１００−ａからのパケットを、出力インタフェース部２００−ａに与えることができないようにパケット交換装置１が構成されている場合の例を示している。図２を用い、入出力インタフェース部２−０及び２−１の入力ポートＰＩＮ−０及びＰＩＮ−１から入力されるパケットを入出力インタフェース部２−２の出力ポートＰＯＵＴ−２に出力する場合の動作例を説明する。図２では、各入出力インタフェース部２−０〜２−２に関し、動作説明に必要なブロックのみを示している。図２では、一部のブロックについては、入出力インタフェース部２−０〜２−２などの相違を明らかにする枝番を省略しているが、以下では、適宜、枝番を付与して説明する。
【００５５】
入出力インタフェース部２−０には、契約ユーザＡと契約ユーザＢのパケットが入力され、キューグループＱＧ０−０には契約ユーザＡのフローが、キューグループＱＧ１−０には契約ユーザＢのフローが識別して振り分けられるよう設定されている。また、キューグループＱＧ０−０、ＱＧ１−０中のパケットキューＱ０１、Ｑ０２、Ｑ１１、Ｑ１２へのパケットの振分けは、パケットの優先度に従って行われ、高優先パケットはパケットキューＱ０１、Ｑ１１に、低優先パケットはパケットキューＱ０２、Ｑ１２に振り分けられるように設定されている。また、入出力インタフェース部２−１には、契約ユーザＣと契約ユーザＤのパケットが入力され、キューグループＱＧ０−１には契約ユーザＣのフローが、キューグループＱＧ１−１には契約ユーザＤのフローが識別して振り分けられるよう設定されている。また、キューグループＱＧ０−１、ＱＧ１−１中のパケットキューＱ０１、Ｑ０２、Ｑ１１、Ｑ１２へのパケットの振分けは、パケットの優先度に従って行われ、高優先パケットはパケットキューＱ０１、Ｑ１１に、低優先パケットはパケットキューＱ０２、Ｑ１２に振り分けられるように設定されている。
【００５６】
各入出力インタフェース部２−０、２−１の閾値超過検出部４１１−０、４１１−１はそれぞれ、キューグループ単位にパケット蓄積量が閾値を超えているか否かを、周期的に検出する。
【００５７】
各入出力インタフェース部２−０、２−１の入力帯域計測部４１２−０、４１２−１はそれぞれ、一定周期でキューグループ毎の入力データ量を積算し、その周期と積算量から、各キューグループの入力帯域を計測し、また、閾値超過検出部４１１−０、４１１−１で閾値超過していない状態と判定されたキューグループの入力帯域を合計する。
【００５８】
検出された閾値超過状態及び計測された入力帯域合計値は、ＲＭｓパケット送信部４１３−０、４１３−１へ通知され、ＲＭｓパケットにより、周期的に入出力インタフェース部２−２のＲＭｓパケット受信部４２１−２へ送信される。
【００５９】
なお、ＲＭｓパケット送信部４１３−０からのＲＭｓパケットは、周期的に入出力インタフェース部２−１のＲＭｓパケット受信部４２１−１へ送信され、また、ＲＭｓパケット送信部４１３−１からのＲＭｓパケットは、周期的に入出力インタフェース部２−０のＲＭｓパケット受信部４２１−０へ送信されるが、図２は、入出力インタフェース部２−２に対応する出力バッファ３０２−２の輻輳時の動作説明を意図しているため、これらＲＭｓパケットの転送のこれ以上の説明は省略する。
【００６０】
ＲＭｓパケット受信部４２１−２は、受信した各キューグループの閾値超過状態及び入力帯域合計値を送信制限帯域演算部４２２−２へ通知する。送信制限帯域演算部４２２−２は、周期的に、パケット交換部３の入出力インタフェース部２−２に対応する出力バッファ３０２−２の輻輳状態（の情報）を読み出す。そして、送信制限帯域演算部４２２−２は、輻輳状態を読み出すと、各キューグループの閾値超過状態、入力帯域合計値、及び、最低保証帯域から、入力インタフェース部単位（１００−０及び１００−１）の送信制限帯域を求める。求められた送信制限帯域は、ＲＭｍパケット送信部４２３−２により、該当する入力インタフェース部１００−０及び１００−１のＲＭｍパケット受信部４１４−０及び４１４−１へ送信される。各ＲＭｍパケット受信部４１４−０、４１４−１で受信された送信制限帯域は、グループ間読出制御部１０４−０、１０４−１へ通知され、グループ間読出制御部１０４−０、１０４−１により、各キューグループＱＧ０−０、ＱＧ１−０、ＱＧ１−０、ＱＧ１−１からの送信帯域が制限される。
【００６１】
送信制限帯域演算部４２２−２は、パケット交換部３の出力バッファ３０２−２の輻輳状態と、キューグループＱＧ０−０、ＱＧ１−０、ＱＧ１−０、ＱＧ１−１の閾値超過状態と入力帯域合計値とキューグループＱＧ０−０、ＱＧ１−０、ＱＧ１−０、ＱＧ１−１に設定される最低保証帯域から、以下のような方法により入力インタフェース部（１００−０、１００−１）単位の送信制限帯域を求める。
【００６２】
パケット交換部３の出力バッファ３０２−２が非輻輳状態の場合、全ての送信制限帯域は、入力インタフェース部１００−０若しくは１００−１と、パケット交換部３との間の物理帯域とする（つまり、送信制限はなし）。
【００６３】
パケット交換部３の出力バッファ３０２−２が輻輳状態の場合、入力インタフェース部１００−０、１００−１毎の送信制限帯域は、例えば、図３に示すような演算フローチャートにより算出する。
【００６４】
図３の演算フローチャートは、図２に示すような入出力インタフェース部の数が３個に限定されている場合ではなく、汎用的な形で表現したものとなっている。なお、図３は、３つの演算フローチャート（演算ルーチン）を示しているが、３つの演算フローチャートを融合した１つの演算フローチャートによって、同様な処理を行っても良い。
【００６５】
図３において、変数Ｒｍｉｎ［ｉ］［ｕ］は、入力ポートｉ（０〜（Ｍ−１）の範囲の値；図１におけるＰＩＮ−ｉである）に属するユーザｕ（０〜（Ｎ−１）の範囲の値；図１におけるキューグループＱＧｕである）の最低保証帯域である。変数ｃｏｎｊ［ｉ］［ｕ］は、入力ポートｉに属するユーザｕに係るバッファ（図１におけるキューグループＱＧｕに属する全てのパケットキューＱｕ１〜Ｑｕｍ）の輻輳状態（輻輳が論理「１」、非輻輳が論理「０」）である。変数ｉｎＲ［ｉ］は、入力ポートｉに属する全ユーザのうち、バッファが輻輳状態でないユーザの入力帯域を合計した値である。定数ＢＷは、パケット交換部３及び出力インタフェース部２００間の物理帯域である。変数ｐＲｍｉｎ［ｉ］は、入力ポートｉに属する全ユーザのうち、バッファが輻輳状態であるユーザの最低保証帯域を合計した値である。変数ΣｐＲｍｉｎは、全ての変数ｐＲｍｉｎ［ｉ］の合計値である。変数ｅＢＷは、実効帯域である。定数Ｍは、入出力インタフェース部の１つ当たりの契約ユーザ数である（図１ではｎ＋１で表現されている）。定数Ｎは、入出力インタフェース部の数である（図１ではＸ＋１で表現されている）。なお、上述したように、パラメータｉは入力ポートを規定するパラメータであるので、言い換えると、パラメータｉは、入力インタフェース部を規定するパラメータになっている。
【００６６】
図３（ａ）は、変数ｐＲｍｉｎ［ｉ］と変数ΣｐＲｍｉｎとを算出する演算フローチャートである。
【００６７】
送信制限帯域演算部４２２は、図３（ａ）に示す処理を開始すると、変数ΣｐＲｍｉｎ及び入力ポートを規定するパラメータｉをそれぞれ０に初期化した後（ＳＴ１００）、変数ｐＲｍｉｎ［ｉ］及びユーザを規定するパラメータｕをそれぞれ０に初期化する（ＳＴ１０１）。
【００６８】
そして、送信制限帯域演算部４２２は、そのときのパラメータｉ及びｕで定まる輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の論理値を確認する（ＳＴ１０２）。輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の論理値が「１」であれば（輻輳状態を表していれば）、送信制限帯域演算部４２２は、バッファが輻輳状態のユーザの最低保証帯域合計値ｐＲｍｉｎ［ｉ］を、今回のパラメータｉ及びｕで定まるユーザの最低保証帯域Ｒｍｉｎ［ｉ］［ｕ］だけ増大させた後（ＳＴ１０３）、パラメータｕを１インクリメントする（ＳＴ１０４）。一方、輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の論理値が「０」であれば（非輻輳状態を表していれば）、送信制限帯域演算部４２２は、直ちに、パラメータｕを１インクリメントする（ＳＴ１０４）。
【００６９】
パラメータｕの更新後には、送信制限帯域演算部４２２は、パラメータｕと定数Ｍとの比較により、現在のパラメータｉで定まる入力ポートに係る全てのユーザの輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の確認を行ったかを判別する（ＳＴ１０５）。現在のパラメータｉで定まる入力ポートに係る全てのユーザの輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の確認が終了していなければ、送信制限帯域演算部４２２は、上述したステップＳＴ１０２に戻る。
【００７０】
一方、現在のパラメータｉで定まる入力ポートに係る全てのユーザの輻輳状態変数ｃｏｎｊ［ｉ］［ｕ］の確認が終了すると、送信制限帯域演算部４２２は、変数ΣｐＲｍｉｎを、現在のパラメータｉについて得られた輻輳状態のユーザの最低保証帯域合計値ｐＲｍｉｎ［ｉ］だけ増大させた後、パラメータｉを１インクリメントする（ＳＴ１０６）。
【００７１】
パラメータｉの更新後には、送信制限帯域演算部４２２は、パラメータｉと定数Ｎとの比較により、全ての入力ポートについて、上述したステップＳＴ１０１〜ＳＴ１０６の処理を行ったかを判別する（ＳＴ１０７）。未処理の入力ポートが残っていると、送信制限帯域演算部４２２は、上述したステップＳＴ１０１に戻り、全ての入力ポートについて、上述したステップＳＴ１０１〜ＳＴ１０６の処理を実行していると、図３（ａ）に示す一連の処理を終了する。
【００７２】
図３（ｂ）は、変数ｅＢＷを算出する演算フローチャートである。
【００７３】
送信制限帯域演算部４２２は、図３（ｂ）に示す処理を開始すると、実効帯域ｅＢＷを、パケット交換部３及び出力インタフェース部２００間の物理帯域ＢＷに初期化すると共に、パラメータｉを０に初期化する（ＳＴ２００）。
【００７４】
そして、送信制限帯域演算部４２２は、現在のパラメータｉで定まる入力ポートに属する全ユーザのうちバッファが輻輳状態でないユーザの入力帯域の合計値ｉｎＲ［ｉ］分だけ、実効帯域ｅＢＷを減少させる（ＳＴ２０１）。その後、送信制限帯域演算部４２２は、パラメータｉを１インクリメントし（ＳＴ２０２）、更新後のパラメータｉと定数Ｎとの比較により、全ての入力ポートについて、上述したステップＳＴ２０１の処理を行ったかを判別する（ＳＴ２０３）。未処理の入力ポートが残っていると、送信制限帯域演算部４２２は、上述したステップＳＴ２０１に戻り、全ての入力ポートについて、上述したステップＳＴ２０１の処理を実行していると、図３（ｂ）に示す一連の処理を終了する。
【００７５】
図３（ｃ）は、各入力インタフェース部に係る送信制限帯域を算出する演算フローチャートである。なお、図３（ｃ）の演算フローチャートを実行する前には、図３（ａ）及び図３（ｂ）の演算フローチャートが終了していることが好ましい。終了していないとしても、ステップＳＴ３０１の演算に必要な値が既に算出されていることを要する。
【００７６】
送信制限帯域演算部４２２は、図３（ｃ）に示す処理を開始すると、パラメータｉを０に初期化する（ＳＴ３００）。そして、送信制限帯域演算部４２２は、現在のパラメータｉで定まる入力ポート（言い換えると、入力インタフェース部）についての送信制限帯域［ｉ］を、（１）式に従って算出し、算出後、パラメータｉを１インクリメントする（ＳＴ３０１）。その後、送信制限帯域演算部４２２は、更新後のパラメータｉと定数Ｎとの比較により、全ての入力インタフェース部について、送信制限帯域［ｉ］の算出を行ったかを判別する（ＳＴ３０２）。未算出の入力インタフェース部が残っていると、送信制限帯域演算部４２２は、上述したステップＳＴ３０１に戻り、全ての入力インタフェース部について、送信制限帯域［ｉ］を実行していると、図３（ｃ）に示す一連の処理を終了する。
【００７７】
送信制限帯域［ｉ］＝ｉｎＲ［ｉ］
＋ｅＢＷ×（ｐＲｍｉｎ［ｉ］／ΣｐＲｍｉｎ）      …（１）
（１）式で算出される送信制限帯域［ｉ］は、入力ポートｉに属するバッファが非輻輳状態のユーザの入力帯域の合計値ｉｎＲ［ｉ］（すなわち、（１）式の右辺第１項）を確保すると共に、全ての入力ポートに属する全ユーザのうちバッファが輻輳状態であるユーザの最低保証帯域の合計値ΣｐＲｍｉｎに対する、入力ポートｉに属するバッファが輻輳状態であるユーザの最低保証帯域の合計値ｐＲｍｉｎ［ｉ］の比率に応じて実効帯域ｅＢＷを入力ポートｉについて配分した帯域（すなわち、（１）式の右辺第２項）を確保するものとなっている。
【００７８】
（１）式の右辺第１項により、非輻輳状態のユーザの帯域の継続した確保が期待される。（１）式の右辺第２項により、最低保証帯域に鑑みた輻輳状態のユーザ間（言い換えると、入力インタフェース部間）の帯域割当の公平性が期待できる。
【００７９】
図２に戻り、上述したように、求められた送信制限帯域は、ＲＭｍパケット送信部４２３−２により、該当する入力インタフェース部１００−０及び１００−１のＲＭｍパケット受信部４１４−０及び４１４−１へ送信され、各ＲＭｍパケット受信部４１４−０、４１４−１で受信された送信制限帯域は、読出制御部１０４−０、１０４−１へ通知される。グループ間読出制御部１０４−０、１０４−１は、当該グループ間読出制御部１０４−０、１０４−１からの出力が、通知された送信制限帯域以下になるように出力帯域を制御する。また、グループ間読出制御部１０４−０、１０４−１は、制限された出力帯域内での各キューグループからのパケット出力は、キューグループの最低保証帯域を重みとしたラウンドロビンにより制御し、配下のグループ内読出制御部１０３−０−０及び１０３−１−０、１０３−０−１及び１０３−１−１に通知する。
【００８０】
グループ内読出制御部１０３−０−０、１０３−１−０、１０３−０−１、１０３−１−１１０４は、グループ間読出制御部１０４−０、１０４−１で割り当てられた帯域内で、優先度の高いパケットキュー側から、完全優先制御によりパケットを読み出す。
【００８１】
以下、具体的な数値を挙げて、送信制限帯域の決定、制御の様子を説明する。ここでも、図２に示すような入出力インタフェース部が３個の場合の例で説明する。
【００８２】
今、入力インタフェース部−パケット交換部間の物理帯域（以下、適宜、入力物理帯域と呼ぶ）が１０Ｇｂｐｓ、パケット交換部−出力インタフェース部間の物理帯域（ＢＷ；以下、適宜、出力物理帯域と呼ぶ）が１０Ｇｂｐｓ、契約ユーザＡ、Ｂ、Ｃ、Ｄの最低保証帯域がそれぞれ、１０Ｍｂｐｓ、２０Ｍｂｐｓ、３０Ｍｂｐｓ、４０Ｍｂｐｓとする。
【００８３】
契約ユーザＡ、Ｂ、Ｃ及びＤの入力帯域の合計が出力物理帯域１０Ｇｂｐｓ以下であれば、出力バッファ３０２−２は非輻輳状態となるので、各送信制限帯域は１０Ｇｂｐｓとなり、各ユーザの入力はそのまま出力される。
【００８４】
契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域が全て５Ｇｂｐｓとなった場合、出力バッファ３０２−２は輻輳状態となる。このとき、入力インタフェース部１００−０、１００−１にフロー制御がかかり、入力インタフェース部１００−０、１００−１からの出力が制限されるため、各キューグループＱＧ０−０、ＱＧ１−０、ＱＧ１−０、ＱＧ１−１は閾値超過状態となる。
【００８５】
従って、図３（ａ）に示す処理により、ｐＲｍｉｎ［０］＝１０＋２０＝３０Ｍｂｐｓ、ｐＲｍｉｎ［１］＝３０＋４０＝７０Ｍｂｐｓ、ΣｐＲｍｉｎ＝ｐＲｍｉｎ［０］＋ｐＲｍｉｎ［１］＝１００Ｍｂｐｓとなる。また、非輻輳状態のユーザがいないため、ｉｎＲ［０］＝０、ｉｎＲ［１］＝０となり、図３（ｂ）に示す処理により、ｅＢＷ＝１０Ｇｂｐｓとなる。そして、図３（ｃ）に示す処理により、入力インタフェース部１００−０の送信制限帯域は、０＋１０Ｇｂｐｓ×（３０Ｍｂｐｓ／１００Ｍｂｐｓ）＝３Ｇｂｐｓとなり、入力インタフェース部１００−１の送信制限帯域は、０＋１０Ｇｂｐｓ×（７０Ｍｂｐｓ／１００Ｍｂｐｓ）＝７Ｇｂｐｓとなる。
【００８６】
入力インタフェース部１００−０のグループ間読出制御部１０４−０は契約ユーザＡ、Ｂの最低保証帯域の重みで読出処理を実施し、送信制限帯域３Ｇｂｐｓのうち、契約ユーザＡからの出力帯域は３×１０／（１０＋２０）＝１Ｇｂｐｓとなり、契約ユーザＢからの出力帯域は３×２０／（１０＋２０）＝２Ｇｂｐｓとなる。一方、入力インタフェース部１００−１のグループ間読出制御部１０４−１は契約ユーザＣ、Ｄの最低保証帯域の重みで読出処理を実施し、制限帯域７Ｇｂｐｓのうち、契約ユーザＣからの出力帯域は７×３０／（３０＋４０）＝３Ｇｂｐｓとなり、契約ユーザＤからの出力帯域は７×４０／（３０＋４０）＝４Ｇｂｐｓとなる。
【００８７】
従って、契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域が全て５Ｇｂｐｓとなった場合でも、契約ユーザＡ、Ｂ、Ｃ、Ｄの出力帯域は１Ｇｂｐｓ、２Ｇｂｐｓ、３Ｇｂｐｓ、４Ｇｂｐｓに制御され、最低保証帯域に従った公平な帯域制御が実現できている。
【００８８】
また、契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域がそれぞれ、５Ｇｂｐｓ、５Ｇｂｐｓ、５Ｇｂｐｓ、１Ｇｂｐｓとなった場合、出力バッファ３０２−２は輻輳状態となる。このとき、入力インタフェース部１００−０、１００−１にフロー制御がかかり、入力インタフェース部１００−０、１００−１からの出力が制限されるため、契約ユーザＡ、Ｂ、Ｃ（のキューグループＱＧ０−０、ＱＧ１−０、ＱＧ１−０）は閾値超過状態となるが、契約ユーザＤ（のキューグループＱＧ１−１）は入力が１Ｇｂｐｓのため閾値超過状態とはならない。
【００８９】
従って、図３（ａ）に示す処理により、ｐＲｍｉｎ［０］＝１０＋２０＝３０Ｍｂｐｓ、ｐＲｍｉｎ［１］＝３０Ｍｂｐｓ、ΣｐＲｍｉｎ＝ｐＲｍｉｎ［０］＋ｐＲｍｉｎ［１］＝６０Ｍｂｐｓとなる。また、この場合、契約ユーザＤだけが閾値超過状態でないため、ｉｎＲ［０］＝０、ｉｎＲ［１］＝１Ｇｂｐｓとなり、図３（ｂ）に示す処理により、ｅＢＷ＝１０−１＝９Ｇｂｐｓとなる。そして、図３（ｃ）に示す処理により、入力インタフェース部１００−０の送信制限帯域は０＋９Ｇｂｐｓ×（３０Ｍｂｐｓ／６０Ｍｂｐｓ）＝４．５Ｇｂｐｓとなり、入力インタフェース部１００−１の送信制限帯域は１Ｇｂｐｓ＋９Ｇｂｐｓ×（３０Ｍｂｐｓ／６０Ｍｂｐｓ）＝５．５Ｇｂｐｓとなる。
【００９０】
入力インタフェース部１００−０のグループ間読出制御部１０４−０は契約ユーザＡ、Ｂの最低保証帯域の重みで読出処理を実施し、制限帯域４．５Ｇｂｐｓのうち、契約ユーザＡからの出力帯域は４．５×１０／（１０＋２０）＝１．５Ｇｂｐｓとなり、契約ユーザＢからの出力帯域は４．５×２０／（１０＋２０）＝３Ｇｂｐｓとなる。一方、入力インタフェース部１００−１のグループ間読出制御部１０４−１からの契約ユーザＤの出力帯域は入力帯域の１Ｇｂｐｓがそのままとなり、残りの４．５Ｇｂｐｓが契約ユーザＣの出力帯域となる。従って、契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域５Ｇｂｐｓ、５Ｇｂｐｓ、５Ｇｂｐｓ、１Ｇｂｐｓとなった場合でも、輻輳状態の契約ユーザＡ、Ｂ、Ｃの出力帯域は１．５Ｇｂｐｓ、３Ｇｂｐｓ、４．５Ｇｂｐｓに制御され、最低保証帯域に従った公平な帯域制御が実現できている。
【００９１】
（Ａ−３）実施形態の効果
上記実施形態によれば、出力インタフェース部側で、その出力インタフェース部から出力される全フローの送信帯域を管理し、その管理された帯域を入力インタフェース部側に通知して、入力インタフェース部側で各フローの送信帯域を管理された帯域に抑えて出力するようにしたので、複数の入力インタフェース部からの複数のフローが１つの出力インタフェース部に集中して出力されるような場合でも、パケット交換部あるいは出力インタフェース部でのパケット廃棄を発生させることなく、帯域保証、契約ユーザ間の公平性を実現することができる。
【００９２】
また、上記実施形態によれば、入力インタフェース部側から出力インタフェース部側へ通知される帯域制御用の情報は各キューグループの閾値超過状態（論理「０」か「１」かの１ビット）及び非輻輳状態のキューグループの入力帯域合計値であり、出力インタフェース部側から入力インタフェース部側へ通知される帯域制御用の情報は各キューグループ個別の送信許可量ではなく、入力インタフェース部単位の送信制限帯域であるため、帯域制御用情報の伝送量を削減することができる。これは、帯域制御用情報をユーザパケットと同じインチャネルで転送する場合には非常に効果的である。また、帯域制御用情報が少なくなるため、送信制限帯域演算の処理負荷が低減できるという効果も奏する。
【００９３】
さらに、上記実施形態によれば、送信制限帯域演算に非輻輳状態の契約ユーザの入力帯域合計値を利用するため、入力帯域が最低帯域保証比で割り当てられる帯域より小さい契約ユーザが存在している場合でも、輻輳している契約ユーザ間で公平性を実現することができる。
【００９４】
（Ｂ）他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【００９５】
上記実施形態では、マスター側帯域制御部及びスレーブ側帯域制御部間の帯域制御用の情報の授受を、ユーザパケットと同じインチャネルで転送する場合を示したが、専用線などのアウトチャネルで転送するようにしても良い。
【００９６】
上記実施形態では、マスター側帯域制御部を出力インタフェース部に設けると共に、スレーブ側帯域制御部を入力インタフェース部に設けたものを示したが、これに限定されるものではない。例えば、帯域制御用の情報の授受に、アウトチャネルの転送方式を適用する場合であれば、マスター側帯域制御部は出力インタフェース部ではなく、パケット交換部の各出力バッファに関連して設けるようにしても良い。また例えば、マスター側帯域制御部を、出力インタフェース部やパケット交換部ではなく、専用のボードに設けるようにしても良い。
【００９７】
上記実施形態では、キューグループと契約ユーザが１対１で対応する場合を示したが、キューグループの設定は、これに限定されるものではない。例えば、１契約ユーザについて複数のキューグループを設定するようにしても良い。また例えば、キューグループを契約ユーザ以外の観点（例えば、宛先の地域）で設定するようにしても良い。
【００９８】
上記実施形態では、複数のパケットキューが属するキューグループという概念がある場合を示したが、キューグループという概念がない場合にも、本発明の技術思想を適用することができる。この変形実施形態は、上記実施形態におけるキューグループに属するパケットキューが１個ずつの場合に相当し、グループ内読出制御部がなくなり、グループ間読出制御部だけがある場合に相当する。
【００９９】
上記実施形態の動作説明では、入力インタフェース部が２つの場合に言及したが、入力インタフェース部が２つ以上で良いことは勿論であり、２つ以上の場合でも同様の効果を奏することができる。
【０１００】
また、上記実施形態の動作説明では、１つの入力インタフェース部当たりのキューグループが２、キューグループ当たりのパケットキュー数が２の場合に言及したが、これらが２以上で良いことは勿論であり、２以上の場合でも同様な効果を奏することができる。
【０１０１】
上記実施形態の具体的な動作説明では、パケットキューからの読み出し制御を、高優先、低優先の完全優先型で制御する例に言及したが、例えば、重み付けラウンドロビン（ＷＲＲ）などの制御方式を用いても、同様な効果を奏することができる。
【０１０２】
上記実施形態では、入力インタフェース部と出力インタフェース部とが一体化された入出力インタフェース部を備える構成（例えば、同一ボード上に入力インタフェース部と出力インタフェース部とが搭載されている構成）を示したが、入力インタフェース部と出力インタフェース部とが別体であっても良いことは勿論である。
【０１０３】
上記実施形態では、計測された入力帯域及び閾値超過状態を通知するためのＲＭｓパケットを定期的に送信するものを示したが、定期的に送信するのではなく、対応する出力バッファの輻輳状態を認識した送信制限帯域演算部からの送信要求が与えられたときに、計測された入力帯域及び閾値超過状態を通知するためのＲＭｓパケットを送信するようにしても良い。
【０１０４】
上記実施形態では、契約ユーザ間の公平性を、最低保証帯域をもとに実現している場合を示しているが、他の方法や他のパラメータによって公平性を担保するようにしても良い。例えば、各契約ユーザについて均等な公平性を得るような制御であっても良い。この場合であれば、（１）式の右辺第２項における実効帯域ｅＢＷに乗算する比率を、全てのポートにおける輻輳状態のユーザ数に対する当該ポートｉにおける輻輳状態のユーザ数とすれば良い。また例えば、ユーザとの帯域契約を範囲で行う場合であれば、最低保証帯域に代えて、範囲の中央値の帯域や、範囲の代表値の帯域などの他のパラメータを適用して公平性を担保するようにしても良い。
【符号の説明】
【０１０５】
１…パケット交換装置、２−０〜２−Ｘ…入出力インタフェース部、
１００…入力インタフェース部、
１０１…パケット受信部、１０２…フロー識別部、１０３−０〜１０３−ｎ…グループ内読出制御部、１０４…グループ間読出制御部、１０５…スレーブ側帯域制御部、１０６…送信制御部、４１１…閾値超過検出部、４１２…入力帯域計測部、４１３…ＲＭｓパケット送信部、４１４…ＲＭｍパケット受信部、ＱＧ０〜ＱＧｎ…キューグループ、Ｑ０１〜Ｑｎｍ…パケットキュー、
２００…出力インタフェース部、
２０１…受信制御部、２０２…パケット振分部、２０３…マスター側帯域制御部、２０４…受信バッファ、２０５…パケット送信部、４２１…ＲＭｓパケット受信部、４２２…送信制限帯域演算部、４２３…ＲＭｍパケット送信部、
３…パケット交換部、
３００−１〜３００−Ｘ…入力バッファ、３０１…パケットスイッチ、３０２−１〜３０２−Ｘ…出力バッファ。
【図１】
2014233052.tif 000003
【図２】
2014233052.tif 000004
【図３】
2014233052.tif 000005