(57)【特許請求の範囲】
【請求項１】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備え、
上記各入力インタフェース部が、
入力されたパケットを蓄積する蓄積部と、
上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御部と、
上記蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第１の帯域制御パケット送信部と
を有し、
上記各出力インタフェース部が、
当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、受信した上記帯域制御パケットに含まれる上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている上記各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部と、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第２の帯域制御パケット送信部と
を有し、
上記各入力インタフェース部の上記読出制御部が、上記出力インタフェース部からの上記帯域制御パケットに含まれる上記送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換装置。
【請求項２】
上記蓄積部は、入力されたパケットを所定のグループ毎に蓄積する複数のグループ蓄積部であることを特徴とする請求項１に記載のパケット交換装置。
【請求項３】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置の上記入出力インタフェース手段の帯域制御プログラムにおいて、
コンピュータを、
上記入力インタフェース部に入力されたパケットを蓄積する蓄積部、
上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御部、
上記蓄積部におけるパケットの蓄積量が閾値超過であるか否かを示す蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第１の帯域制御パケット送信部、
上記出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、上記第１の帯域制御パケット送信部から受信した上記帯域制御パケットに含まれる上記入力インタフェース部における蓄積部の上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、上記出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第２の帯域制御パケット送信部、
として機能させ、
上記読出制御部に、上記各出力インタフェース部側で求められた入力インタフェース部の送信制限帯域に基づいて、パケットの読み出し制御を行わせることを特徴とする帯域制御プログラム。
【請求項４】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置の上記出力インタフェース部の帯域制御プログラムにおいて、
コンピュータを、
当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、上記入力インタフェース部から受信した帯域制御パケットに含まれる上記入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第２の帯域制御パケット送信部
として機能させることを特徴とする帯域制御プログラム。
【請求項５】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置のパケット交換方法において、
上記各入力インタフェース部が、
入力されたパケットを蓄積部に蓄積し、
読出制御部が、上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御工程と、
第１の帯域制御パケット送信部が、上記蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第１の帯域制御パケット送信工程と
を有し、
上記各出力インタフェース部が、
送信制限演算部が、当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、受信した上記帯域制御パケットに含まれる上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている上記各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算工程と、
第２の帯域制御パケット送信部が、上記送信制限帯域演算工程で求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第２の帯域制御パケット送信工程と
を有し、
上記各入力インタフェース部の上記読出制御部が、上記出力インタフェース部からの上記帯域制御パケットに含まれる上記送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換装置、パケット交換方法及び帯域制御プログラムに関し、パケット交換方式と呼ばれる通信方式を利用した通信網で用いられるノード装置としてのパケット交換装置、パケット交換方法及び帯域制御プログラムに適用し得るものである。
【背景技術】
【０００２】
例えば、ＬＡＮ（Local  Area  Network）やインターネットなどのネットワークは、パケット交換方式と呼ばれる通信方式を利用した通信網である。これらのネットワークでは、ノード装置としてパケット交換機が使用される。
【０００３】
パケット交換方式は情報をパケットと呼ばれる単位に分割して送信する。このため、パケット単位での待ち合わせが可能となり、複数のユーザで回線を共有し、効率よく並列に転送することができる。また、パケット交換装置の記憶部に一旦パケットを蓄積して転送するので、様々な通信状況に対応できるインテリジェントなネットワークを構築することができる。
【０００４】
一方、近年、ネットワークを利用して提供されるサービスやアプリケーションの多様化に伴って、様々な通信品質を保証する必要性が高まってきている。通信品質には、データ廃棄率、伝搬遅延、伝搬遅延ゆらぎなどがある。たとえばリアルタイム性を必要とする音声／動画通信では、低廃棄率、低遅延および低ゆらぎの保証が要求される。一方、それほどリアルタイム性を必要としないデータ通信では低廃棄率の保証が要求される。
【０００５】
サービスやアプリケーションの違いによって、それぞれの通信品質レベルを保証するために、サービスやアプリケーション毎に優先度を決め、その優先度に従って、パケットを出力する優先制御機能を有するパケット交換装置が高まってきている。
【０００６】
また、通信事業者と利用者間で、通信サービスに対応する最低帯域を保証したり、最大制限帯域で利用可能な帯域を制限したりする帯域制御機能も必要となってきている。
【０００７】
そこで、このような優先制御機能や帯域制御機能を有するパケット交換装置が提案されている（例えば、特許文献１参照）。
【０００８】
この特許文献１に開示されているパケット交換装置は、入力インタフェース、出力インタフェース及びパケット交換部を備えて構成されている。入力インタフェースは、受信したユーザパケットを優先度に従って、パケット交換部に転送する。パケット交換部は、入力インタフェースから受け取ったユーザパケットを、その宛先アドレスに基づいて、対応する出力インタフェースに送る。出力インタフェースは、ユーザパケットの優先度に応じたパケットキューと、それらのキューをグループ化したキューグループを有している。各キューグループには、通信サービス契約で定められた最低保証帯域が割り当てられていて、各キューグループからの読出し帯域を制御することにより、最低帯域の保証や、利用者間での余剰帯域の割り当ての公平性を実現している。また、キューグループからの読み出しの際に、キューグループ内の優先度に従って、読出し制御することにより、通信品質レベルが保証される。
【０００９】
しかしながら、上述の特許文献１に開示されているパケット交換装置では、複数の入力インタフェースから１つの出力インタフェースにパケットを送るときに、各入力インタフェースからのパケットの合計が、パケット交換部と、出力インタフェースの間の伝送帯域を超過してしまうと、出力インタフェースにパケットが到着する前に、パケット廃棄が発生することになる。このため、帯域制御が不完全になり、最低帯域の保証や、各利用者間の公平性の維持が困難になる。
【００１０】
この課題を解決した発明として、特許文献２に開示されている交換装置がある。
【００１１】
この特許文献２に開示されているパケット交換装置は、出力インタフェースにおいて、各入力インタフェースから受け取る送信要求量に応じて送信許可量を算出し、入力インタフェースでは、送信許可量に応じて、送信を行う。出力インタフェースで帯域を管理されるので、入力インタフェースと出力インタフェースの間など、出力インタフェースが受け取るまでのパケットの廃棄がなくなり、各契約の最低帯域の保証や、各利用者間の公平性の維持が実現される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１１−３４６２４６号公報
【特許文献２】特開２０１１−８２９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述の特許文献２に開示されているパケット交換装置では、パケットキュー毎の送信要求量を入力インタフェースから出力インタフェースに送信し、出力インタフェースで各送信要求量と最低保証帯域などの情報から各パケットキューの送信許可量を計算し、そのパケットキュー毎の送信許可量を出力インタフェースから入力インタフェースへ送信する必要がある。そのため、パケットキューおよびキューグループが多くなると、入出力インタフェース間の送受信情報の増大、および出力インタフェースでの計算処理負荷の増大等の要因により、パケット交換装置の実現が困難になる。
【００１４】
本発明は、上記事情に対処すべくなされたもので、上記のような状況においても入出力インタフェース間の送受信情報量および計算処理負荷を低く抑え、各ユーザ契約の最低帯域保証や、各ユーザ契約間の公平性を実現するパケット交換装置、パケット交換方法及び帯域制御プログラムを提供しようとするものである。
【課題を解決するための手段】
【００１５】
かかる課題を解決するために、第１の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備え、（Ａ）各入力インタフェース部が、（Ａ−１）入力されたパケットを蓄積する蓄積部と、（Ａ−２）蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御部と、（Ａ−３）蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第１の帯域制御パケット送信部とを有し、（Ｂ）各出力インタフェース部が、（Ｂ−１）当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、受信した帯域制御パケットに含まれる蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部と、（Ｂ−２）送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第２の帯域制御パケット送信部とを有し、各入力インタフェース部の読出制御部が、出力インタフェース部からの帯域制御パケットに含まれる送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換装置である。
【００１６】
第２の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置の入出力インタフェース手段の帯域制御プログラムにおいて、コンピュータを、（１）入力インタフェース部に入力されたパケットを蓄積する蓄積部、（２）蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御部、（３）蓄積部におけるパケットの蓄積量が閾値超過であることを示す蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第１の帯域制御パケット送信部、（４）出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、第１の帯域制御パケット送信部から受信した帯域制御パケットに含まれる入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、（５）送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第２の帯域制御パケット送信部として機能させ、読出制御部に、各出力インタフェース部側で求められた入力インタフェース部の送信制限帯域に基づいて、パケットの読み出し制御を行わせることを特徴とする帯域制御プログラムである。
【００１７】
第３の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置の出力インタフェース部の帯域制御プログラムにおいて、コンピュータを、（１）当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、入力インタフェース部から受信した帯域制御パケットに含まれる入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、（２）送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第２の帯域制御パケット送信部として機能させることを特徴とする帯域制御プログラムである。
【００１８】
第４の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置のパケット交換方法において、各入力インタフェース部が、入力されたパケットを蓄積部に蓄積し、読出制御部が、蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御工程と、第１の帯域制御パケット送信部が、蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第１の帯域制御パケット送信工程とを有し、各出力インタフェース部が、送信制限演算部が、当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、受信した帯域制御パケットに含まれる蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算工程と、第２の帯域制御パケット送信部が、送信制限帯域演算工程で求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第２の帯域制御パケット送信工程とを有し、各入力インタフェース部の読出制御部が、出力インタフェース部からの帯域制御パケットに含まれる送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換方法である。
【発明の効果】
【００１９】
本発明によれば、入出力インタフェース間の送受信情報量および計算処理負荷を低く抑え、各ユーザ契約の最低帯域保証や、各ユーザ契約間の公平性を実現することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態のパケット交換装置の構成を示す構成図である。
【図２】実施形態のパケット交換処理の動作を説明する説明図である。
【図３】送信帯域演算部における処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
（Ａ）実施形態
以下では、本発明のパケット交換装置、パケット交換方法及び帯域制御プログラムの実施形態について、図面を参照しながら詳細に説明する。
【００２２】
（Ａ−１）実施形態の構成
図１は、実施形態のパケット交換装置の構成を示す構成図である。図１において、この実施形態のパケット交換装置１０は、複数の入出力インタフェース部１−１〜１−Ｎ（Ｎは正の整数）、パケット交換部３を少なくとも有して構成される。
【００２３】
また、各入出力インタフェース部１−１〜１−Ｎは、入力ポートから入力されたパケットをパケット交換部３に転送する入力インタフェース部１００と、
パケット交換部３から受け取ったパケットを出力ポートに出力する出力インタフェース部２００と、を有して構成される。
【００２４】
パケット交換部３は、入力インタフェース部１００からパケットが入力されると、パケットの宛先を解析し、その宛先に応じた出力インタフェース部２００にパケットを与えるものである。
【００２５】
図１では、入力インタフェース部１００、出力インタフェース部２００及びパケット交換部３の各機能をブロック図として示している。
【００２６】
図１に示すように、入力インタフェース部１００は、パケット受信部１１０、フロー識別部１１１、複数のキューグループＱＧ０〜ＱＧｎ、複数のキューグループ読出制御部（ＱＧ０〜ＱＧｎ読出制御部）１１２−０〜１１２−ｎ、読出制御部１１３、スレーブ側帯域制御部１１４、送信制御部１１５を少なくとも有して構成される。
【００２７】
パケット受信部１１０は、入力ポートからの受信パケットを受け取り、フロー識別部１１１に与えるものである。
【００２８】
フロー識別部１１１は、パケット受信部１１０からの受信パケットのＩＰアドレス、ポート番号、優先識別情報（例えば優先識別子）、その他の情報に基づいてパケット種別を識別し、識別したパケット種別に該当するパケットキューに受信パケットを振り分けるものである。
【００２９】
キューグループＱＧ０〜ＱＧｎは、グループ毎に複数のパケットキューを保持し、グループ毎にパケットを蓄積するものである。例えば、キューグループＱＧ０〜ＱＧｎは、契約ユーザＡ、契約ユーザＢ、…等のように契約ユーザ毎に割り当てられ、またパケット優先度に応じて、異なるパケットキューにパケットを蓄積する。
【００３０】
また、キューグループＱＧ０〜ＱＧｎは、各パケットキューのデータ蓄積量をスレーブ側帯域制御部１１４に通知する。
【００３１】
なお、図１において、例えば、キューグループＱＧ０が有するパケットキューについては、パケットキューＱ０１〜パケットキューＱ０ｍ（ｍは正の整数）等のように記載して説明する。
【００３２】
ＱＧ０読出制御部１１２−０〜１１２−ｎは、それぞれ対応するキューグループＱＧ０〜ＱＧｎから読み出すパケットの読み出し順序を制御するものである。ＱＧ０読出制御部１１２−０〜１１２−ｎによる読み出し順序は、種々の方法を広く適用することができ、例えば、優先度の高いものから順に読み出したり、重み付けラウンドロビン等を用いてパケットを読み出したりする方法等を適用できる。また、ＱＧ０読出制御部１１２−０〜１１２−ｎは、読出制御部１１３の制御を受けて、パケットを読出制御部１１３に与える。
【００３３】
読出制御部１１３は、各ＱＧ０読出制御部１１２−０〜１１２−ｎからの読み出し順序を制御するものである。読出制御部１１３は、スレーブ側帯域制御部１１４から、入力インタフェース部１００毎の送信制限帯域を受け取り、この入力インタフェース部１００毎の送信制限帯域に基づいて、各ＱＧ０読出制御部１１２−０〜１１２−ｎからパケットを読み出す。また、読出制御部１１３は、各ＱＧ０読出制御部１１２−０〜１１２−ｎから読み出したパケットを送信制御部１１５に与えるものである。
【００３４】
スレーブ側帯域制御部１１４は、読出制御部１１３が出力するパケット量の帯域制御を行うものである。
【００３５】
図１に示すように、スレーブ側帯域制御部１１４は、閾値超過検出部１１、ＲＭｓパケット送信部１２、ＲＭｍパケット受信部１３を有する。
【００３６】
閾値超過検出部１１は、各キューグループＱＧ０〜ＱＧｎの各パケットキューに設定した閾値を有しており、各キューグループＱＧ０〜ＱＧｎの各パケットキューのデータ蓄積量と、各パケットキューに設定された閾値とを比較し、キューグループＱＧ０〜ＱＧｎ毎の閾値超過状態を検出するものである。閾値超過検出部１１は、キューグループＱＧ０〜ＱＧｎ毎の帯域制御情報をＲＭｓパケット送信部１２に与える。
【００３７】
ここで、帯域制御情報とは、各キューグループの蓄積量が閾値を超えているか否かを示す情報であり、例えば閾値超過状態のときには「１」、そうでないときには「０」等の１ビットの情報等とすることができる。
【００３８】
ＲＭｓパケット送信部１２は、閾値超過検出部１１からのキューグループＱＧ０〜ＱＧｎ毎の閾値超過状態か否かを示す帯域制御情報を含むスレーブリソースマネジメントパケット（ＲＭｓパケット）を生成するものである。
【００３９】
このＲＭｓパケットは、入力インタフェース部１００が、出力先とする出力インタフェース部との間で授受するものであり、上述したように、帯域制御情報が含まれている。
【００４０】
また、ＲＭｓパケット送信部１２は、生成したＲＭｓパケットを送信制御部１１５に与えるものである。
【００４１】
ＲＭｍパケット受信部１３は、出力インタフェース部２００のマスター側帯域制御部２１２から送信されたマスターリソースマネジメントパケット（ＲＭｍパケット）を受信し、ＲＭｍパケットに含まれている入力インタフェース当たりの送信制限帯域を、読出制御部１１３に通知するものである。
【００４２】
送信制御部１１５は、読出制御部１１３から出力されるユーザパケットと、スレーブ側帯域制御部１１４から出力されるＲＭｓパケットと、マスター側帯域制御部２１２から出力されるＲＭｍパケットとを多重してパケット交換部３に与えるものである。
【００４３】
図１に示すように、出力インタフェース部２００は、受信制御部２１０、パケット振分部２１１、マスター側帯域制御部２１２、受信バッファ２１３、パケット送信部２１４を少なくとも有して構成される。
【００４４】
受信制御部２１０は、パケット交換部３から出力されるパケットを受信し、その受信したパケットをパケット振分部２１１に与えるものである。
【００４５】
パケット振分部２１１は、受信制御部２１０からパケットを受け取ると、ユーザパケット、ＲＭｍパケット、ＲＭｓパケットのいずれであるかを識別し、識別したパケット種類に応じて、パケットを振り分けて出力するものである。
【００４６】
つまり、パケット振分部２１１は、ユーザパケットを受信バッファ２１３に振り分け、ＲＭｓパケットをマスター側帯域制御部２１２に振り分け、ＲＭｍパケットを入力インタフェース部１００のスレーブ側帯域制御部１１４に振り分ける。
【００４７】
マスター側帯域制御部２１２は、複数の入出力インタフェース部１−１〜１−Ｎの各入力インタフェース部１００からのＲＭｓパケットを受信し、それらのＲＭｓパケットに含まれている閾値超過状態か否かを示す帯域制御情報等に基づいて、各入力インタフェース部１００の送信制限帯域を計算するものである。
【００４８】
また、マスター側帯域制御部２１２は、計算した各入力インタフェース部１００の送信制限帯域をＲＭｍパケットにより各入力インタフェース部１００のスレーブ側帯域制御部１１４に通知するものである。
【００４９】
図１に示すように、マスター側帯域制御部２１２は、ＲＭｓパケット受信部２１、送信制限帯域演算部２２、ＲＭｍパケット送信部２３を有する。
【００５０】
ＲＭｓパケット受信部２１は、複数の入力インタフェース部１００から出力されたＲＭｓパケットを受信し、ＲＭｓパケットで通知された各キューグループの閾値超過状態か否かを示す帯域制御情報を、送信制限帯域演算部２２に通知するものである。
【００５１】
送信制限帯域演算部２２は、ＲＭｓパケット受信部２１とパケット交換部３の出力バッファ３１２とに接続しており、ＲＭｓパケット受信部２１から通知された各キューグループの閾値超過状態、最低保証帯域、及び、パケット交換部３の出力バッファ輻輳状態に基づいて、各キューグループの送信帯域が公平にかつ最低保証帯域を満足するように送信制限帯域を計算するものである。
【００５２】
ここで、各キューグループの最低保証帯域については、例えば、送信制限帯域演算部２２に予め設定されているようにしてもよいし、また例えば、入力インタフェース部１００のＲＭｓパケット送信部１２がＲＭｓパケットを生成する際に、ＲＭｓパケット送信部１２が、各キューグループの最低保証帯域を、ＲＭｓパケットに載せるようにしてもよい。
【００５３】
ＲＭｍパケット送信部２３は、送信制限帯域演算部２２で得られた各入力インタフェース部１００の送信制限帯域を、該当する入力インタフェース部１００のスレーブ側帯域制御部１１４へ通知するＲＭｍパケットを生成し、その生成したＲＭｍパケットを、送信制御部１１５に与えるものである。
【００５４】
受信バッファ２１３は、パケット振分部２１１からのユーザパケットを一時的に蓄積してパケット送信部２１４に出力するものである。
【００５５】
パケット送信部２１４は、受信バッファ２１３からのユーザケットを出力ポートに出力するものである。
【００５６】
図１に示すように、パケット交換部３は、複数の入力バッファ３１０、パケットスイッチ３１１、複数の出力バッファ３１２、フロー制御部３１４を少なくとも有して構成されるものである。
【００５７】
入力バッファ３１０は、複数の入出力インタフェース部１−１〜１−Ｎの各入力インタフェース部１００から出力されたパケットを一時的に蓄積してパケットスイッチ３１１に与えるものである。入力バッファ３１０は、複数の入力インタフェース部１００毎に設けられている。
【００５８】
パケットスイッチ３１１は、入力バッファ３１０から出力されたパケットの宛先に基づいて中継すべき出力インタフェース部２００を割り出し、その出力インタフェース部２００に対応する出力バッファ３１２にパケットを与えるものである。
【００５９】
出力バッファ３１２は、パケットスイッチ３１１から出力されたパケットを一時的に蓄積して、対応する出力インタフェース部２００にパケットを出力するものである。出力バッファ３１２は、複数の入出力インタフェース部１−１〜１−Ｎの出力インタフェース部２００毎に設けられている。
【００６０】
また、出力バッファ３１２が輻輳状態となると、出力バッファ３１２は、対応する出力インタフェース部２００の送信制限帯域演算部２２に、当該出力バッファ３１２が輻輳状態となったことを通知することができる。
【００６１】
フロー制御部３１４は、入力バッファ３１０が輻輳状態となった場合に、パケットを廃棄しないように、各入力インタフェース部１００に対してフロー制御するものである。
【００６２】
すなわち、フロー制御部３１４は、入力バッファ３１０の蓄積量を監視しており、例えばパケットの出力先がある出力インタフェース部２００に集中し、出力バッファ３１２の輻輳状態が発生し、その出力バッファを宛先とする入力パケットが入力される入力バッファ３１０で輻輳が発生した場合には、輻輳が発生した入力バッファに対応する入力インタフェース部１００に対してパケットの出力を停止させるものである。
【００６３】
（Ａ−２）実施形態の動作
次に、この実施形態のパケット交換装置１０におけるパケット交換方法について、図面を参照しながら詳細に説明する。
【００６４】
図２は、この実施形態のパケット交換処理の動作を説明する説明図である。
【００６５】
図２では、２つの入出力インタフェース部１−１及び１−２の入力ポートに入力したパケットが、入出力インタフェース部１−３の出力ポートに出力する場合の動作を例示する。
【００６６】
また、説明を簡略化するために、図２は、各入出力インタフェース部１−１〜１−３の動作説明に必要な機能ブロックのみを図示する。
【００６７】
まず、図２において、入出力インタフェース部１−１は、契約ユーザＡと契約ユーザＢからのパケットが入力されるように設定されており、また入出力インタフェース部１−２は、契約ユーザＣと契約ユーザＤからのパケットが入力されるように設定されている。
【００６８】
入出力インタフェース部１−１において、キューグループＱＧ０は契約ユーザＡに割り当てられて、キューグループＱＧ１は契約ユーザＢに割り当てられている。つまり、フロー識別部１１１は、契約ユーザＡからのパケットフローをキューグループＱＧ０に振り分けるように設定されており、又契約ユーザＢからのパケットフローをキューグループＱＧ１に振り分けるように設定されている。
【００６９】
さらに、キューグループＱＧ０及びＱＧ１は、パケットの優先度により、高優先パケットはＱ０１（ＨＰ：High  Priority）に、低優先パケットはＱ０２（ＬＰ：Low  Priority）に振り分けられるように設定されている。つまり、フロー識別部１１１は、受信パケットの情報に基づいて優先度を識別し、その優先度に応じたパケットキューにパケットを振り分けて蓄積させる。
【００７０】
なお、ここでは、説明便宜のために、パケット優先度を、高優先パケットと低優先パケットの２段階とする場合を例示するが、３段階以上であってもよい。
【００７１】
また、入出力インタフェース部１−２においても同様に、キューグループＱＧ０には契約ユーザＣのフロー（パケットフロー）が、キューグループＱＧ１には契約ユーザＤのフローが識別して振り分けられるよう設定されている。また同様に、各キューグループＱＧ０及びＱＧ１において、パケットキューＱ０１には高優先パケットが振り分けられ、パケットキューＱ０２には低優先パケットが振り分けられるように設定されている。
【００７２】
入出力インタフェース部１−１及び１−２では、閾値超過検出部１１は、キューグループ単位にパケット蓄積量が閾値を超えているか否かを周期的に監視し、その監視結果をＲＭｓパケット送信部１２に与える。
【００７３】
ここで、閾値超過検出部１１による閾値超過検出方法は、種々の方法を適用することができる。例えば、キューグループに属する全てのキューのそれぞれに閾値を持たせ、いずれかのキューの蓄積量が閾値超過状態となったら、そのキューグループは閾値超過状態とする方法や、また例えば、全てのキューの合計蓄積量に対して閾値を設け、そのキューグループの全てのキューの合計蓄積量が閾値超過状態になったら、そのキューグループは閾値超過状態とする方法等がある。
【００７４】
ＲＭｓパケット送信部１２は、閾値超過検出部１１からの監視結果を含むＲＭｓパケットを周期的に生成し、そのＲＭｓパケットを送信制御部１１５に与える。
【００７５】
このとき、ＲＭｓパケットの宛先は、入出力インタフェース部１−３の出力インタフェース部２００とする。つまり、ユーザパケットの出力先がＲＭｓパケットの宛先となる。
【００７６】
入出力インタフェース部１−１及び１−２からのＲＭｓパケットは、パケット交換部３に与えられる。パケット交換部３において、ＲＭｓパケットは入力バッファ３１０に一時的に保持され、その後、ＲＭｓパケットはパケットスイッチ３１１によりスイッチングされ、出力先である入出力インタフェース部１−３に対応する出力バッファ３１２に一時的に蓄積される。
【００７７】
また、出力バッファ３１２に蓄積されているＲＭｓパケットは、入出力インタフェース部１−３に出力される。入出力インタフェース部１−３において、ＲＭｓパケットは、パケット振分部２１１によりパケット種別が識別され、ＲＭｓパケット受信部２１に振り分けられる。
【００７８】
ＲＭｓパケット受信部２１は、受信した各ＲＭｓパケットに含まれる情報に基づいて、各キューグループの閾値超過状態を送信制限帯域演算部２２に通知する。
【００７９】
送信制限帯域演算部２２は、周期的に、パケット交換部３の入出力インタフェース部１−３に対応する出力バッファ３１２の輻輳状態を読み出す。
【００８０】
そして、送信制限帯域演算部２２は、出力バッファ輻輳状態と、通知された各キューグループの閾値超過状態及び最低保証帯域とに基づいて、入力インタフェース単位（入出力インタフェース部１−１及び１−２）の送信制限帯域を計算する。すなわち、入力インタフェース部１００毎の送信制限帯域を、送信制限帯域演算部２２は求める。
【００８１】
ここで、送信制限帯域演算部２２による送信制限帯域を求める方法として、例えば、以下の方法を適用することができる。図３は、送信帯域演算部２２における処理を示すフローチャートである。
【００８２】
まず、送信制限帯域演算部２２は、パケット交換部３の対応する出力バッファ３１２の蓄積量に基づいて輻輳状態か否かを判断する（Ｓ１０１）。例えば、送信制限帯域演算部２２は、出力バッファ３１２の蓄積量が、パケット交換部３−出力インタフェース部２００間の物理帯域を超えている場合を輻輳状態と判断し、そうでない場合を非輻輳状態と判断する。
【００８３】
そして、出力バッファ３１２が非輻輳状態の場合、送信制限帯域演算部２２は、送信帯域を制限しない（Ｓ１０２）。すなわち、この場合、全ての送信制限帯域は、入力インタフェース部１００−パケット交換部３間の物理帯域とする。
【００８４】
一方、出力バッファ３１２が輻輳状態の場合、送信制限帯域演算部２２は、入力インタフェース部１００毎の送信制限帯域を、以下のような計算で算出する。
【００８５】
送信制限帯域［ｉ］＝ＢＷ  ｘ  Ｒｍｉｎ［ｉ］／ΣＲｍｉｎ［ｉ］…（１）
ここで、ｉは入力インタフェース部１００のインタフェース番号、ＢＷは、パケット交換部３−出力インタフェース部２００間の物理帯域、Ｒｍｉｎ［ｉ］は、入力インタフェース部＃ｉのなかで、キューグループ閾値超過状態が超過状態となっているキューグループの最低保証帯域を合計した値、ΣＲｍｉｎ［ｉ］はＲｍｉｎ［ｉ］を全入力インタフェース部１００分合計した値である。
【００８６】
送信帯域演算部２２により計算された送信制限帯域は、ＲＭｍパケット送信部２３に与えられる。そして、ＲＭｍパケット送信部２３は、各入力インタフェース部１００の送信制限帯域を、該当する入力インタフェース１００を宛先とするＲＭｍパケットを生成する。これにより、各入力インタフェース部１００宛のＲＭｍパケットは、パケット交換部３を介して、対応する入出力インタフェース部１−１及び１−２の入力インタフェース部１００に与えられる。
【００８７】
入出力インタフェース部１−１及び１−２において、ＲＭｍパケットは、パケット振分部２１１によりＲＭｍパケット受信部１３に振り分けられ、送信制限帯域が読出制御部１１３に与えられる。
【００８８】
読出制御部１１３は、通知された送信制限帯域に基づいて、各キューグループからの送信帯域を制限する。
【００８９】
ここで、読出制御部１１３は、読出制御部１１３からの出力が、通知された送信制限帯域以下になるように出力帯域を制御する。また制限された出力帯域内での各キューグループからのパケット出力は、キューグループの最低保証帯域を重みとしたラウンドロビンにより制御する。
【００９０】
ＱＧ読出制御部１１２−０及び１１２−１は、読出制御部１１３により割り当てられた帯域内で、優先度の高いキューから完全優先制御より各キューからパケットを読み出すようにする。
【００９１】
以上のようにして、出力インタフェース部２００の出力バッファ３１２が輻輳状態となる場合には、出力インタフェース部２００側が、入力インタフェース部１００毎に求めた送信制限帯域を各入力インタフェース部１００に通知し、各入力インタフェース部１００が、通知された送信制限帯域で送信帯域を抑制する。
【００９２】
次に、具体的な例を用いて帯域制御を抑制する処理を説明する。
【００９３】
入力インタフェース部１００−パケット交換部３間の物理帯域が１０Ｇｂｐｓ、パケット交換部３−出力インタフェース部２００間の物理帯域（ＢＷ）が１０Ｇｂｐｓ、契約ユーザＡ，Ｂ，Ｃ，Ｄの最低保証帯域がそれぞれ、１０Ｍｂｐｓ，２０Ｍｂｐｓ，３０Ｍｂｐｓ，４０Ｍｂｐｓとする。
【００９４】
契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域の合計が１０Ｇｂｐｓ以下である場合、
パケット交換部３−出力インタフェース部２００間の物理帯域（ＢＷ）を超えており、出力バッファ３１２は非輻輳状態となるので、各送信制限帯域は入力インタフェース部１００−パケット交換部３間の物理帯域である１０Ｇｂｐｓとなり、各ユーザの入力はそのまま出力される。
【００９５】
契約ユーザＡ、Ｂ、Ｃ、Ｄの入力帯域がすべて５Ｇｂｐｓとなった場合、入力帯域の合計が１０Ｇｂｐｓ以上となり、パケット交換部３−出力インタフェース部２００間の物理帯域（ＢＷ）を超えるため出力バッファ３１２は輻輳状態となる。
【００９６】
このとき、入力インタフェース部１００にフロー制御がかかり入力インタフェース部１００からの出力が制限されるため、各キューグループは閾値超過状態となる。
【００９７】
ここで、入出力インタフェース部１−１の入力インタフェース部１００のインタフェース番号ｉ＝０とし、入出力インタフェース部１−２の入力インタフェース部１００のインタフェース番号ｉ＝１とする。
【００９８】
そうすると、入出力インタフェース部１−１の契約ユーザＡ及びＢの最低保証帯域より、Ｒｍｉｎ［０］＝１０＋２０＝３０Ｍｂｐｓとなる。
【００９９】
同様に、入出力インタフェース１−２の契約ユーザＣ及びＤの最低保証帯域より、Ｒｍｉｎ［１］＝３０＋４０＝７０Ｍｂｐｓとなる。
【０１００】
従って、ΣＲｍｉｎ［ｉ］＝１００Ｍｂｐｓとなり、入力インタフェース部［０］の送信制限帯域［０］は、１０Ｇｂｐｓ  ｘ  ３０／１００＝３Ｇｂｐｓ、入力インタフェース部［１］の送信制限帯域［１］は、１０Ｇｂｐｓ  ｘ  ７０／１００＝７Ｇｂｐｓとなる。
【０１０１】
入力インタフェース部［０］の読出制御部１１３は、契約ユーザＡ、Ｂの最低保証帯域の重みで読出処理を実施する。つまり、読出制御部１１３は、送信制限帯域３Ｇｂｐｓのうち、契約ユーザＡからの出力帯域を３ｘ１０／（１０＋２０）＝１Ｇｂｐｓ、契約ユーザＢからの出力帯域を３ｘ２０／（１０＋２０）＝２Ｇｂｐｓとする。
【０１０２】
一方で、入力インタフェース部［１］の読出制御部１１３は、契約ユーザＣ、Ｄの最低保証帯域の重みで読出処理を実施する。つまり、読出制御部１１３は、送信制限帯域７Ｇｂｐｓのうち、契約ユーザＣからの出力帯域を７ｘ３０／（３０＋４０）＝３Ｇｂｐｓ、契約ユーザＤからの出力帯域を７ｘ４０／（３０＋４０）＝４Ｇｂｐｓとする。
【０１０３】
従って、契約ユーザＡ，Ｂ，Ｃ，Ｄの入力帯域がすべて５Ｇｂｐｓとなった場合でも、契約ユーザＡ，Ｂ，Ｃ，Ｄの出力帯域は１Ｇｂｐｓ，２Ｇｂｐｓ，３Ｇｂｐｓ，４Ｇｂｐｓに制御され、最低保証帯域に従った公平な帯域制御が実現できる。
【０１０４】
また、契約ユーザＣからの入力がなく、契約ユーザＡ，Ｂ，Ｄの入力帯域が５Ｇｂｐｓ，５Ｇｂｐｓ，１０Ｇｂｐｓとなった場合、出力バッファ３１２は輻輳状態となる。
【０１０５】
このとき、入力インタフェース部１００にフロー制御がかかり入力インタフェース部１００からの出力が制限されるため、契約ユーザＡ、Ｂ、Ｄのキューグループは閾値超過状態となるが、契約ユーザＣは入力がないため閾値超過状態とはならない。
【０１０６】
従って、Ｒｍｉｎ［０］＝１０＋２０＝３０Ｍｂｐｓ，Ｒｍｉｎ［１］＝４０Ｍｂｐｓ，ΣＲｍｉｎ［ｉ］＝７０Ｍｂｐｓとなる。
【０１０７】
入力インタフェース部［０］の送信制限帯域［０］は、１０Ｇｂｐｓ  ｘ  ３０／７０＝４．３Ｇｂｐｓ、入力インタフェース部［１］の送信制限帯域［１］は、１０Ｇｂｐｓ  ｘ  ４０／７０＝５．７Ｇｂｐｓとなる。
【０１０８】
入力インタフェース部［０］の読出制御部１１３は、契約ユーザＡ，Ｂの最低保証帯域の重みで読出処理を実施し、送信制限帯域４．３Ｇｂｐｓのうち、契約ユーザＡからの出力帯域は４．３ｘ１０／（１０＋２０）＝１．４Ｇｂｐｓ、契約ユーザＢからの出力帯域は４．３ｘ２０／（１０＋２０）＝２．９Ｇｂｐｓとなる。
【０１０９】
一方で、入力インタフェース部［１］の読出制御部１１３は、制限帯域５．７Ｇｂｐｓすべて契約ユーザＤ分となる。つまり、契約ユーザＤからの出力帯域は５．７Ｇｂｐｓとなる。
【０１１０】
従って、契約ユーザＡ，Ｂ，Ｃ，Ｄの入力帯域が、５Ｇｂｐｓ，５Ｇｂｐｓ，０Ｇｂｐｓ，１０Ｇｂｐｓとなった場合でも、契約ユーザＡ，Ｂ，Ｄの出力帯域は、１．４Ｇｂｐｓ，２．９Ｇｂｐｓ，５．７Ｇｂｐｓに制御され、最低保証帯域に従った公平な帯域制御が実現できる。
【０１１１】
（Ａ−３）実施形態の効果
以上のように、この実施形態によれば、出力インタフェース部側が、その出力インタフェース部から出力される全フローの送信帯域を管理し、出力バッファ輻輳状態のときに送信制限帯域を入力インタフェース部側に通知し、入力インタフェース部側が各フローの送信制限帯域に抑えて出力する動作となっているため、複数の入力インタフェース部からの複数のフローが１つの出力インタフェース部に集中して出力されるような場合でも、パケット交換部あるいは出力インタフェース部でのパケット廃棄を発生させることなく、帯域保証、契約ユーザ間の公平性を実現することが可能となる。
【０１１２】
また、この実施形態によれば、入力インタフェース部側が出力インタフェース部側へ通知する帯域制御用の情報は、各キューグループの閾値超過状態である。すなわち、例えば、「０」又は「１」の１ビットの閾値超過状態である。また出力インタフェース部側から入力インタフェース部側へ通知される帯域制御用の情報は各キューグループ個別の送信許可量ではなく、入力インタフェース部単位の送信制限帯域であるため、帯域制御用情報の伝送量を削減可能である。これは、帯域制御用情報をユーザパケットと同じインチャネルで転送する場合には非常に効果的である。また帯域制御用情報が少なくなるため、送信制限帯域演算の処理負荷が低減できるという効果がある。
【０１１３】
（Ｂ）他の実施形態
（Ｂ−１）上述した実施形態の動作では、入力インタフェース部が２つの場合を例示して説明したが、２つ以上の場合でも同様の効果が得られる。
【０１１４】
（Ｂ−２）また、入力インタフェース部が２つのキューグループを備え、又キューグループが２個のパケットキューを備える場合を例示したが、キューグループ数、パケットキュー数は、２以上の場合でも同様である。
【０１１５】
（Ｂ−３）また、上述した実施形態では、ＱＧ０読出制御部が、高優先、低優先の完全優先型により読み出しを行う場合を例示してせつめいしたが、これに限定されず、例えば、重み付けラウンドロビン（ＷＲＲ）などの制御方式を用いた場合でも同様の効果が得られる。
【０１１６】
（Ｂ−４）上述した実施形態では、帯域制御用情報（ＲＭｓパケット、ＲＭｍパケット）を、ユーザパケットと同じインチャネルで転送している例を示しているが、別途帯域制御用情報の転送ルートを設けて情報の転送を実施してもよい。
【０１１７】
（Ｂ−５）また上述した実施形態では、契約ユーザ間の公平性を、最低保証帯域をもとに実現しているが、各契約ユーザ均等な公平性、あるいはその他のパラメータを使用して公平性制御を実施してもよい。
【符号の説明】
【０１１８】
１０…パケット交換装置、１−１〜１−Ｎ…入出力インタフェース部、
１００…入力インタフェース部、
１１０…パケット受信部、１１１…フロー識別部、１１２−０〜１１２−ｎ…キュー読出制御部、１１３…読出制御部、１１４…スレーブ側帯域制御部、１１５…送信制御部、１１…閾値超過検出部、１２…ＲＭｓパケット送信部、１３…ＲＭｍパケット受信部、
２００…出力インタフェース部、２１０…受信制御部、２１１…パケット振分部、２１２…マスター側帯域制御部、２１３…受信バッファ、２１４…パケット送信部、２１…ＲＭｓパケット受信部、２２…送信制限帯域演算部、２３…ＲＭｍパケット送信部、
３…パケット交換部、３１０…入力バッファ、３１１…パケットスイッチ、３１２…出力バッファ。
【図１】
0005938939.tif 000002
【図２】
0005938939.tif 000003
【図３】
0005938939.tif 000004