特許第5938939号(P5938939)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特許5938939パケット交換装置、パケット交換方法及び帯域制御プログラム
<>
  • 特許5938939-パケット交換装置、パケット交換方法及び帯域制御プログラム 図000002
  • 特許5938939-パケット交換装置、パケット交換方法及び帯域制御プログラム 図000003
  • 特許5938939-パケット交換装置、パケット交換方法及び帯域制御プログラム 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5938939
(24)【登録日】2016年5月27日
(45)【発行日】2016年6月22日
(54)【発明の名称】パケット交換装置、パケット交換方法及び帯域制御プログラム
(51)【国際特許分類】
   H04L 12/835 20130101AFI20160609BHJP
   H04L 12/879 20130101ALI20160609BHJP
【FI】
   H04L12/835
   H04L12/879
【請求項の数】5
【全頁数】17
(21)【出願番号】特願2012-37926(P2012-37926)
(22)【出願日】2012年2月23日
(65)【公開番号】特開2013-175833(P2013-175833A)
(43)【公開日】2013年9月5日
【審査請求日】2014年11月17日
【前置審査】
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100180275
【弁理士】
【氏名又は名称】吉田 倫太郎
(74)【代理人】
【識別番号】100161861
【弁理士】
【氏名又は名称】若林 裕介
(74)【代理人】
【識別番号】100090620
【弁理士】
【氏名又は名称】工藤 宣幸
(72)【発明者】
【氏名】古沢 聡
【審査官】 浦口 幸宏
(56)【参考文献】
【文献】 特開2007−134779(JP,A)
【文献】 特開2011−082912(JP,A)
【文献】 特開2008−098879(JP,A)
【文献】 特開平11−252123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−12/26
12/50−12/955
(57)【特許請求の範囲】
【請求項1】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備え、
上記各入力インタフェース部が、
入力されたパケットを蓄積する蓄積部と、
上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御部と、
上記蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第1の帯域制御パケット送信部と
を有し、
上記各出力インタフェース部が、
当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、受信した上記帯域制御パケットに含まれる上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている上記各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部と、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第2の帯域制御パケット送信部と
を有し、
上記各入力インタフェース部の上記読出制御部が、上記出力インタフェース部からの上記帯域制御パケットに含まれる上記送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換装置。
【請求項2】
上記蓄積部は、入力されたパケットを所定のグループ毎に蓄積する複数のグループ蓄積部であることを特徴とする請求項1に記載のパケット交換装置。
【請求項3】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置の上記入出力インタフェース手段の帯域制御プログラムにおいて、
コンピュータを、
上記入力インタフェース部に入力されたパケットを蓄積する蓄積部、
上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御部、
上記蓄積部におけるパケットの蓄積量が閾値超過であるか否かを示す蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第1の帯域制御パケット送信部、
上記出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、上記第1の帯域制御パケット送信部から受信した上記帯域制御パケットに含まれる上記入力インタフェース部における蓄積部の上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、上記出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第2の帯域制御パケット送信部、
として機能させ、
上記読出制御部に、上記各出力インタフェース部側で求められた入力インタフェース部の送信制限帯域に基づいて、パケットの読み出し制御を行わせることを特徴とする帯域制御プログラム。
【請求項4】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置の上記出力インタフェース部の帯域制御プログラムにおいて、
コンピュータを、
当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、上記入力インタフェース部から受信した帯域制御パケットに含まれる上記入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、
上記送信制限帯域演算部により求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第2の帯域制御パケット送信部
として機能させることを特徴とする帯域制御プログラム。
【請求項5】
それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、
上記入力インタフェース部に対応の入力バッファと、上記出力インタフェース部に対応の出力バッファと、上記入力インタフェース部から受信したパケットを、宛先に該当する上記出力インタフェース部に出力する交換部とを有するパケット交換手段と
を備えるパケット交換装置のパケット交換方法において、
上記各入力インタフェース部が、
入力されたパケットを蓄積部に蓄積し、
読出制御部が、上記蓄積部に蓄積されているパケットを読み出して上記パケット交換手段に送信させる読出制御工程と、
第1の帯域制御パケット送信部が、上記蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である上記出力インタフェース部に与える第1の帯域制御パケット送信工程と
を有し、
上記各出力インタフェース部が、
送信制限演算部が、当該出力インタフェース部に対応する上記出力バッファの状態を監視し、上記出力バッファの輻輳状態が検出されると、受信した上記帯域制御パケットに含まれる上記蓄積状態情報に基づいて、蓄積量が閾値超過となっている上記各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする上記入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算工程と、
第2の帯域制御パケット送信部が、上記送信制限帯域演算工程で求められた上記各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する上記各入力インタフェース部に与える第2の帯域制御パケット送信工程と
を有し、
上記各入力インタフェース部の上記読出制御部が、上記出力インタフェース部からの上記帯域制御パケットに含まれる上記送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット交換装置、パケット交換方法及び帯域制御プログラムに関し、パケット交換方式と呼ばれる通信方式を利用した通信網で用いられるノード装置としてのパケット交換装置、パケット交換方法及び帯域制御プログラムに適用し得るものである。
【背景技術】
【0002】
例えば、LAN(Local Area Network)やインターネットなどのネットワークは、パケット交換方式と呼ばれる通信方式を利用した通信網である。これらのネットワークでは、ノード装置としてパケット交換機が使用される。
【0003】
パケット交換方式は情報をパケットと呼ばれる単位に分割して送信する。このため、パケット単位での待ち合わせが可能となり、複数のユーザで回線を共有し、効率よく並列に転送することができる。また、パケット交換装置の記憶部に一旦パケットを蓄積して転送するので、様々な通信状況に対応できるインテリジェントなネットワークを構築することができる。
【0004】
一方、近年、ネットワークを利用して提供されるサービスやアプリケーションの多様化に伴って、様々な通信品質を保証する必要性が高まってきている。通信品質には、データ廃棄率、伝搬遅延、伝搬遅延ゆらぎなどがある。たとえばリアルタイム性を必要とする音声/動画通信では、低廃棄率、低遅延および低ゆらぎの保証が要求される。一方、それほどリアルタイム性を必要としないデータ通信では低廃棄率の保証が要求される。
【0005】
サービスやアプリケーションの違いによって、それぞれの通信品質レベルを保証するために、サービスやアプリケーション毎に優先度を決め、その優先度に従って、パケットを出力する優先制御機能を有するパケット交換装置が高まってきている。
【0006】
また、通信事業者と利用者間で、通信サービスに対応する最低帯域を保証したり、最大制限帯域で利用可能な帯域を制限したりする帯域制御機能も必要となってきている。
【0007】
そこで、このような優先制御機能や帯域制御機能を有するパケット交換装置が提案されている(例えば、特許文献1参照)。
【0008】
この特許文献1に開示されているパケット交換装置は、入力インタフェース、出力インタフェース及びパケット交換部を備えて構成されている。入力インタフェースは、受信したユーザパケットを優先度に従って、パケット交換部に転送する。パケット交換部は、入力インタフェースから受け取ったユーザパケットを、その宛先アドレスに基づいて、対応する出力インタフェースに送る。出力インタフェースは、ユーザパケットの優先度に応じたパケットキューと、それらのキューをグループ化したキューグループを有している。各キューグループには、通信サービス契約で定められた最低保証帯域が割り当てられていて、各キューグループからの読出し帯域を制御することにより、最低帯域の保証や、利用者間での余剰帯域の割り当ての公平性を実現している。また、キューグループからの読み出しの際に、キューグループ内の優先度に従って、読出し制御することにより、通信品質レベルが保証される。
【0009】
しかしながら、上述の特許文献1に開示されているパケット交換装置では、複数の入力インタフェースから1つの出力インタフェースにパケットを送るときに、各入力インタフェースからのパケットの合計が、パケット交換部と、出力インタフェースの間の伝送帯域を超過してしまうと、出力インタフェースにパケットが到着する前に、パケット廃棄が発生することになる。このため、帯域制御が不完全になり、最低帯域の保証や、各利用者間の公平性の維持が困難になる。
【0010】
この課題を解決した発明として、特許文献2に開示されている交換装置がある。
【0011】
この特許文献2に開示されているパケット交換装置は、出力インタフェースにおいて、各入力インタフェースから受け取る送信要求量に応じて送信許可量を算出し、入力インタフェースでは、送信許可量に応じて、送信を行う。出力インタフェースで帯域を管理されるので、入力インタフェースと出力インタフェースの間など、出力インタフェースが受け取るまでのパケットの廃棄がなくなり、各契約の最低帯域の保証や、各利用者間の公平性の維持が実現される。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平11−346246号公報
【特許文献2】特開2011−82912号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、上述の特許文献2に開示されているパケット交換装置では、パケットキュー毎の送信要求量を入力インタフェースから出力インタフェースに送信し、出力インタフェースで各送信要求量と最低保証帯域などの情報から各パケットキューの送信許可量を計算し、そのパケットキュー毎の送信許可量を出力インタフェースから入力インタフェースへ送信する必要がある。そのため、パケットキューおよびキューグループが多くなると、入出力インタフェース間の送受信情報の増大、および出力インタフェースでの計算処理負荷の増大等の要因により、パケット交換装置の実現が困難になる。
【0014】
本発明は、上記事情に対処すべくなされたもので、上記のような状況においても入出力インタフェース間の送受信情報量および計算処理負荷を低く抑え、各ユーザ契約の最低帯域保証や、各ユーザ契約間の公平性を実現するパケット交換装置、パケット交換方法及び帯域制御プログラムを提供しようとするものである。
【課題を解決するための手段】
【0015】
かかる課題を解決するために、第1の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備え、(A)各入力インタフェース部が、(A−1)入力されたパケットを蓄積する蓄積部と、(A−2)蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御部と、(A−3)蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第1の帯域制御パケット送信部とを有し、(B)各出力インタフェース部が、(B−1)当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、受信した帯域制御パケットに含まれる蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部と、(B−2)送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第2の帯域制御パケット送信部とを有し、各入力インタフェース部の読出制御部が、出力インタフェース部からの帯域制御パケットに含まれる送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換装置である。
【0016】
第2の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置の入出力インタフェース手段の帯域制御プログラムにおいて、コンピュータを、(1)入力インタフェース部に入力されたパケットを蓄積する蓄積部、(2)蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御部、(3)蓄積部におけるパケットの蓄積量が閾値超過であることを示す蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第1の帯域制御パケット送信部、(4)出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、第1の帯域制御パケット送信部から受信した帯域制御パケットに含まれる入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、(5)送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第2の帯域制御パケット送信部として機能させ、読出制御部に、各出力インタフェース部側で求められた入力インタフェース部の送信制限帯域に基づいて、パケットの読み出し制御を行わせることを特徴とする帯域制御プログラムである。
【0017】
第3の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置の出力インタフェース部の帯域制御プログラムにおいて、コンピュータを、(1)当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、入力インタフェース部から受信した帯域制御パケットに含まれる入力インタフェース部における蓄積部の蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算部、(2)送信制限帯域演算部により求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第2の帯域制御パケット送信部として機能させることを特徴とする帯域制御プログラムである。
【0018】
第4の本発明は、それぞれ入力インタフェース部及び出力インタフェース部を有する複数の入出力インタフェース手段と、入力インタフェース部に対応の入力バッファと、出力インタフェース部に対応の出力バッファと、入力インタフェース部から受信したパケットを、宛先に該当する出力インタフェース部に出力する交換部とを有するパケット交換手段とを備えるパケット交換装置のパケット交換方法において、各入力インタフェース部が、入力されたパケットを蓄積部に蓄積し、読出制御部が、蓄積部に蓄積されているパケットを読み出してパケット交換手段に送信させる読出制御工程と、第1の帯域制御パケット送信部が、蓄積部の蓄積状態情報を含む帯域制御パケットを、パケット出力先である出力インタフェース部に与える第1の帯域制御パケット送信工程とを有し、各出力インタフェース部が、送信制限演算部が、当該出力インタフェース部に対応する出力バッファの状態を監視し、出力バッファの輻輳状態が検出されると、受信した帯域制御パケットに含まれる蓄積状態情報に基づいて、蓄積量が閾値超過となっている各蓄積部の送信帯域を用いて、当該出力インタフェース部を出力先とする入力インタフェース部単位の送信制限帯域を求める送信制限帯域演算工程と、第2の帯域制御パケット送信部が、送信制限帯域演算工程で求められた各入力インタフェース部の送信制限帯域を含む帯域制御パケットを、対応する各入力インタフェース部に与える第2の帯域制御パケット送信工程とを有し、各入力インタフェース部の読出制御部が、出力インタフェース部からの帯域制御パケットに含まれる送信制限帯域に基づいて、パケットの読み出し制御を行うことを特徴とするパケット交換方法である。
【発明の効果】
【0019】
本発明によれば、入出力インタフェース間の送受信情報量および計算処理負荷を低く抑え、各ユーザ契約の最低帯域保証や、各ユーザ契約間の公平性を実現することができる。
【図面の簡単な説明】
【0020】
図1】実施形態のパケット交換装置の構成を示す構成図である。
図2】実施形態のパケット交換処理の動作を説明する説明図である。
図3】送信帯域演算部における処理を示すフローチャートである。
【発明を実施するための形態】
【0021】
(A)実施形態
以下では、本発明のパケット交換装置、パケット交換方法及び帯域制御プログラムの実施形態について、図面を参照しながら詳細に説明する。
【0022】
(A−1)実施形態の構成
図1は、実施形態のパケット交換装置の構成を示す構成図である。図1において、この実施形態のパケット交換装置10は、複数の入出力インタフェース部1−1〜1−N(Nは正の整数)、パケット交換部3を少なくとも有して構成される。
【0023】
また、各入出力インタフェース部1−1〜1−Nは、入力ポートから入力されたパケットをパケット交換部3に転送する入力インタフェース部100と、
パケット交換部3から受け取ったパケットを出力ポートに出力する出力インタフェース部200と、を有して構成される。
【0024】
パケット交換部3は、入力インタフェース部100からパケットが入力されると、パケットの宛先を解析し、その宛先に応じた出力インタフェース部200にパケットを与えるものである。
【0025】
図1では、入力インタフェース部100、出力インタフェース部200及びパケット交換部3の各機能をブロック図として示している。
【0026】
図1に示すように、入力インタフェース部100は、パケット受信部110、フロー識別部111、複数のキューグループQG0〜QGn、複数のキューグループ読出制御部(QG0〜QGn読出制御部)112−0〜112−n、読出制御部113、スレーブ側帯域制御部114、送信制御部115を少なくとも有して構成される。
【0027】
パケット受信部110は、入力ポートからの受信パケットを受け取り、フロー識別部111に与えるものである。
【0028】
フロー識別部111は、パケット受信部110からの受信パケットのIPアドレス、ポート番号、優先識別情報(例えば優先識別子)、その他の情報に基づいてパケット種別を識別し、識別したパケット種別に該当するパケットキューに受信パケットを振り分けるものである。
【0029】
キューグループQG0〜QGnは、グループ毎に複数のパケットキューを保持し、グループ毎にパケットを蓄積するものである。例えば、キューグループQG0〜QGnは、契約ユーザA、契約ユーザB、…等のように契約ユーザ毎に割り当てられ、またパケット優先度に応じて、異なるパケットキューにパケットを蓄積する。
【0030】
また、キューグループQG0〜QGnは、各パケットキューのデータ蓄積量をスレーブ側帯域制御部114に通知する。
【0031】
なお、図1において、例えば、キューグループQG0が有するパケットキューについては、パケットキューQ01〜パケットキューQ0m(mは正の整数)等のように記載して説明する。
【0032】
QG0読出制御部112−0〜112−nは、それぞれ対応するキューグループQG0〜QGnから読み出すパケットの読み出し順序を制御するものである。QG0読出制御部112−0〜112−nによる読み出し順序は、種々の方法を広く適用することができ、例えば、優先度の高いものから順に読み出したり、重み付けラウンドロビン等を用いてパケットを読み出したりする方法等を適用できる。また、QG0読出制御部112−0〜112−nは、読出制御部113の制御を受けて、パケットを読出制御部113に与える。
【0033】
読出制御部113は、各QG0読出制御部112−0〜112−nからの読み出し順序を制御するものである。読出制御部113は、スレーブ側帯域制御部114から、入力インタフェース部100毎の送信制限帯域を受け取り、この入力インタフェース部100毎の送信制限帯域に基づいて、各QG0読出制御部112−0〜112−nからパケットを読み出す。また、読出制御部113は、各QG0読出制御部112−0〜112−nから読み出したパケットを送信制御部115に与えるものである。
【0034】
スレーブ側帯域制御部114は、読出制御部113が出力するパケット量の帯域制御を行うものである。
【0035】
図1に示すように、スレーブ側帯域制御部114は、閾値超過検出部11、RMsパケット送信部12、RMmパケット受信部13を有する。
【0036】
閾値超過検出部11は、各キューグループQG0〜QGnの各パケットキューに設定した閾値を有しており、各キューグループQG0〜QGnの各パケットキューのデータ蓄積量と、各パケットキューに設定された閾値とを比較し、キューグループQG0〜QGn毎の閾値超過状態を検出するものである。閾値超過検出部11は、キューグループQG0〜QGn毎の帯域制御情報をRMsパケット送信部12に与える。
【0037】
ここで、帯域制御情報とは、各キューグループの蓄積量が閾値を超えているか否かを示す情報であり、例えば閾値超過状態のときには「1」、そうでないときには「0」等の1ビットの情報等とすることができる。
【0038】
RMsパケット送信部12は、閾値超過検出部11からのキューグループQG0〜QGn毎の閾値超過状態か否かを示す帯域制御情報を含むスレーブリソースマネジメントパケット(RMsパケット)を生成するものである。
【0039】
このRMsパケットは、入力インタフェース部100が、出力先とする出力インタフェース部との間で授受するものであり、上述したように、帯域制御情報が含まれている。
【0040】
また、RMsパケット送信部12は、生成したRMsパケットを送信制御部115に与えるものである。
【0041】
RMmパケット受信部13は、出力インタフェース部200のマスター側帯域制御部212から送信されたマスターリソースマネジメントパケット(RMmパケット)を受信し、RMmパケットに含まれている入力インタフェース当たりの送信制限帯域を、読出制御部113に通知するものである。
【0042】
送信制御部115は、読出制御部113から出力されるユーザパケットと、スレーブ側帯域制御部114から出力されるRMsパケットと、マスター側帯域制御部212から出力されるRMmパケットとを多重してパケット交換部3に与えるものである。
【0043】
図1に示すように、出力インタフェース部200は、受信制御部210、パケット振分部211、マスター側帯域制御部212、受信バッファ213、パケット送信部214を少なくとも有して構成される。
【0044】
受信制御部210は、パケット交換部3から出力されるパケットを受信し、その受信したパケットをパケット振分部211に与えるものである。
【0045】
パケット振分部211は、受信制御部210からパケットを受け取ると、ユーザパケット、RMmパケット、RMsパケットのいずれであるかを識別し、識別したパケット種類に応じて、パケットを振り分けて出力するものである。
【0046】
つまり、パケット振分部211は、ユーザパケットを受信バッファ213に振り分け、RMsパケットをマスター側帯域制御部212に振り分け、RMmパケットを入力インタフェース部100のスレーブ側帯域制御部114に振り分ける。
【0047】
マスター側帯域制御部212は、複数の入出力インタフェース部1−1〜1−Nの各入力インタフェース部100からのRMsパケットを受信し、それらのRMsパケットに含まれている閾値超過状態か否かを示す帯域制御情報等に基づいて、各入力インタフェース部100の送信制限帯域を計算するものである。
【0048】
また、マスター側帯域制御部212は、計算した各入力インタフェース部100の送信制限帯域をRMmパケットにより各入力インタフェース部100のスレーブ側帯域制御部114に通知するものである。
【0049】
図1に示すように、マスター側帯域制御部212は、RMsパケット受信部21、送信制限帯域演算部22、RMmパケット送信部23を有する。
【0050】
RMsパケット受信部21は、複数の入力インタフェース部100から出力されたRMsパケットを受信し、RMsパケットで通知された各キューグループの閾値超過状態か否かを示す帯域制御情報を、送信制限帯域演算部22に通知するものである。
【0051】
送信制限帯域演算部22は、RMsパケット受信部21とパケット交換部3の出力バッファ312とに接続しており、RMsパケット受信部21から通知された各キューグループの閾値超過状態、最低保証帯域、及び、パケット交換部3の出力バッファ輻輳状態に基づいて、各キューグループの送信帯域が公平にかつ最低保証帯域を満足するように送信制限帯域を計算するものである。
【0052】
ここで、各キューグループの最低保証帯域については、例えば、送信制限帯域演算部22に予め設定されているようにしてもよいし、また例えば、入力インタフェース部100のRMsパケット送信部12がRMsパケットを生成する際に、RMsパケット送信部12が、各キューグループの最低保証帯域を、RMsパケットに載せるようにしてもよい。
【0053】
RMmパケット送信部23は、送信制限帯域演算部22で得られた各入力インタフェース部100の送信制限帯域を、該当する入力インタフェース部100のスレーブ側帯域制御部114へ通知するRMmパケットを生成し、その生成したRMmパケットを、送信制御部115に与えるものである。
【0054】
受信バッファ213は、パケット振分部211からのユーザパケットを一時的に蓄積してパケット送信部214に出力するものである。
【0055】
パケット送信部214は、受信バッファ213からのユーザケットを出力ポートに出力するものである。
【0056】
図1に示すように、パケット交換部3は、複数の入力バッファ310、パケットスイッチ311、複数の出力バッファ312、フロー制御部314を少なくとも有して構成されるものである。
【0057】
入力バッファ310は、複数の入出力インタフェース部1−1〜1−Nの各入力インタフェース部100から出力されたパケットを一時的に蓄積してパケットスイッチ311に与えるものである。入力バッファ310は、複数の入力インタフェース部100毎に設けられている。
【0058】
パケットスイッチ311は、入力バッファ310から出力されたパケットの宛先に基づいて中継すべき出力インタフェース部200を割り出し、その出力インタフェース部200に対応する出力バッファ312にパケットを与えるものである。
【0059】
出力バッファ312は、パケットスイッチ311から出力されたパケットを一時的に蓄積して、対応する出力インタフェース部200にパケットを出力するものである。出力バッファ312は、複数の入出力インタフェース部1−1〜1−Nの出力インタフェース部200毎に設けられている。
【0060】
また、出力バッファ312が輻輳状態となると、出力バッファ312は、対応する出力インタフェース部200の送信制限帯域演算部22に、当該出力バッファ312が輻輳状態となったことを通知することができる。
【0061】
フロー制御部314は、入力バッファ310が輻輳状態となった場合に、パケットを廃棄しないように、各入力インタフェース部100に対してフロー制御するものである。
【0062】
すなわち、フロー制御部314は、入力バッファ310の蓄積量を監視しており、例えばパケットの出力先がある出力インタフェース部200に集中し、出力バッファ312の輻輳状態が発生し、その出力バッファを宛先とする入力パケットが入力される入力バッファ310で輻輳が発生した場合には、輻輳が発生した入力バッファに対応する入力インタフェース部100に対してパケットの出力を停止させるものである。
【0063】
(A−2)実施形態の動作
次に、この実施形態のパケット交換装置10におけるパケット交換方法について、図面を参照しながら詳細に説明する。
【0064】
図2は、この実施形態のパケット交換処理の動作を説明する説明図である。
【0065】
図2では、2つの入出力インタフェース部1−1及び1−2の入力ポートに入力したパケットが、入出力インタフェース部1−3の出力ポートに出力する場合の動作を例示する。
【0066】
また、説明を簡略化するために、図2は、各入出力インタフェース部1−1〜1−3の動作説明に必要な機能ブロックのみを図示する。
【0067】
まず、図2において、入出力インタフェース部1−1は、契約ユーザAと契約ユーザBからのパケットが入力されるように設定されており、また入出力インタフェース部1−2は、契約ユーザCと契約ユーザからのパケットが入力されるように設定されている。
【0068】
入出力インタフェース部1−1において、キューグループQG0は契約ユーザAに割り当てられて、キューグループQG1は契約ユーザBに割り当てられている。つまり、フロー識別部111は、契約ユーザAからのパケットフローをキューグループQG0に振り分けるように設定されており、又契約ユーザBからのパケットフローをキューグループQG1に振り分けるように設定されている。
【0069】
さらに、キューグループQG0及びQG1は、パケットの優先度により、高優先パケットはQ01(HP:High Priority)に、低優先パケットはQ02(LP:Low Priority)に振り分けられるように設定されている。つまり、フロー識別部111は、受信パケットの情報に基づいて優先度を識別し、その優先度に応じたパケットキューにパケットを振り分けて蓄積させる。
【0070】
なお、ここでは、説明便宜のために、パケット優先度を、高優先パケットと低優先パケットの2段階とする場合を例示するが、3段階以上であってもよい。
【0071】
また、入出力インタフェース部1−2においても同様に、キューグループQG0には契約ユーザCのフロー(パケットフロー)が、キューグループQG1には契約ユーザDのフローが識別して振り分けられるよう設定されている。また同様に、各キューグループQG0及びQG1において、パケットキューQ01には高優先パケットが振り分けられ、パケットキューQ02には低優先パケットが振り分けられるように設定されている。
【0072】
入出力インタフェース部1−1及び1−2では、閾値超過検出部11は、キューグループ単位にパケット蓄積量が閾値を超えているか否かを周期的に監視し、その監視結果をRMsパケット送信部12に与える。
【0073】
ここで、閾値超過検出部11による閾値超過検出方法は、種々の方法を適用することができる。例えば、キューグループに属する全てのキューのそれぞれに閾値を持たせ、いずれかのキューの蓄積量が閾値超過状態となったら、そのキューグループは閾値超過状態とする方法や、また例えば、全てのキューの合計蓄積量に対して閾値を設け、そのキューグループの全てのキューの合計蓄積量が閾値超過状態になったら、そのキューグループは閾値超過状態とする方法等がある。
【0074】
RMsパケット送信部12は、閾値超過検出部11からの監視結果を含むRMsパケットを周期的に生成し、そのRMsパケットを送信制御部115に与える。
【0075】
このとき、RMsパケットの宛先は、入出力インタフェース部1−3の出力インタフェース部200とする。つまり、ユーザパケットの出力先がRMsパケットの宛先となる。
【0076】
入出力インタフェース部1−1及び1−2からのRMsパケットは、パケット交換部3に与えられる。パケット交換部3において、RMsパケットは入力バッファ310に一時的に保持され、その後、RMsパケットはパケットスイッチ311によりスイッチングされ、出力先である入出力インタフェース部1−3に対応する出力バッファ312に一時的に蓄積される。
【0077】
また、出力バッファ312に蓄積されているRMsパケットは、入出力インタフェース部1−3に出力される。入出力インタフェース部1−3において、RMsパケットは、パケット振分部211によりパケット種別が識別され、RMsパケット受信部21に振り分けられる。
【0078】
RMsパケット受信部21は、受信した各RMsパケットに含まれる情報に基づいて、各キューグループの閾値超過状態を送信制限帯域演算部22に通知する。
【0079】
送信制限帯域演算部22は、周期的に、パケット交換部3の入出力インタフェース部1−3に対応する出力バッファ312の輻輳状態を読み出す。
【0080】
そして、送信制限帯域演算部22は、出力バッファ輻輳状態と、通知された各キューグループの閾値超過状態及び最低保証帯域とに基づいて、入力インタフェース単位(入出力インタフェース部1−1及び1−2)の送信制限帯域を計算する。すなわち、入力インタフェース部100毎の送信制限帯域を、送信制限帯域演算部22は求める。
【0081】
ここで、送信制限帯域演算部22による送信制限帯域を求める方法として、例えば、以下の方法を適用することができる。図3は、送信帯域演算部22における処理を示すフローチャートである。
【0082】
まず、送信制限帯域演算部22は、パケット交換部3の対応する出力バッファ312の蓄積量に基づいて輻輳状態か否かを判断する(S101)。例えば、送信制限帯域演算部22は、出力バッファ312の蓄積量が、パケット交換部3−出力インタフェース部200間の物理帯域を超えている場合を輻輳状態と判断し、そうでない場合を非輻輳状態と判断する。
【0083】
そして、出力バッファ312が非輻輳状態の場合、送信制限帯域演算部22は、送信帯域を制限しない(S102)。すなわち、この場合、全ての送信制限帯域は、入力インタフェース部100−パケット交換部3間の物理帯域とする。
【0084】
一方、出力バッファ312が輻輳状態の場合、送信制限帯域演算部22は、入力インタフェース部100毎の送信制限帯域を、以下のような計算で算出する。
【0085】
送信制限帯域[i]=BW x Rmin[i]/ΣRmin[i]…(1)
ここで、iは入力インタフェース部100のインタフェース番号、BWは、パケット交換部3−出力インタフェース部200間の物理帯域、Rmin[i]は、入力インタフェース部#iのなかで、キューグループ閾値超過状態が超過状態となっているキューグループの最低保証帯域を合計した値、ΣRmin[i]はRmin[i]を全入力インタフェース部100分合計した値である。
【0086】
送信帯域演算部22により計算された送信制限帯域は、RMmパケット送信部23に与えられる。そして、RMmパケット送信部23は、各入力インタフェース部100の送信制限帯域を、該当する入力インタフェース100を宛先とするRMmパケットを生成する。これにより、各入力インタフェース部100宛のRMmパケットは、パケット交換部3を介して、対応する入出力インタフェース部1−1及び1−2の入力インタフェース部100に与えられる。
【0087】
入出力インタフェース部1−1及び1−2において、RMmパケットは、パケット振分部211によりRMmパケット受信部13に振り分けられ、送信制限帯域が読出制御部113に与えられる。
【0088】
読出制御部113は、通知された送信制限帯域に基づいて、各キューグループからの送信帯域を制限する。
【0089】
ここで、読出制御部113は、読出制御部113からの出力が、通知された送信制限帯域以下になるように出力帯域を制御する。また制限された出力帯域内での各キューグループからのパケット出力は、キューグループの最低保証帯域を重みとしたラウンドロビンにより制御する。
【0090】
QG読出制御部112−0及び112−1は、読出制御部113により割り当てられた帯域内で、優先度の高いキューから完全優先制御より各キューからパケットを読み出すようにする。
【0091】
以上のようにして、出力インタフェース部200の出力バッファ312が輻輳状態となる場合には、出力インタフェース部200側が、入力インタフェース部100毎に求めた送信制限帯域を各入力インタフェース部100に通知し、各入力インタフェース部100が、通知された送信制限帯域で送信帯域を抑制する。
【0092】
次に、具体的な例を用いて帯域制御を抑制する処理を説明する。
【0093】
入力インタフェース部100−パケット交換部3間の物理帯域が10Gbps、パケット交換部3−出力インタフェース部200間の物理帯域(BW)が10Gbps、契約ユーザA,B,C,Dの最低保証帯域がそれぞれ、10Mbps,20Mbps,30Mbps,40Mbpsとする。
【0094】
契約ユーザA、B、C、Dの入力帯域の合計が10Gbps以下である場合、
パケット交換部3−出力インタフェース部200間の物理帯域(BW)を超えており、出力バッファ312は非輻輳状態となるので、各送信制限帯域は入力インタフェース部100−パケット交換部3間の物理帯域である10Gbpsとなり、各ユーザの入力はそのまま出力される。
【0095】
契約ユーザA、B、C、Dの入力帯域がすべて5Gbpsとなった場合、入力帯域の合計が10Gbps以上となり、パケット交換部3−出力インタフェース部200間の物理帯域(BW)を超えるため出力バッファ312は輻輳状態となる。
【0096】
このとき、入力インタフェース部100にフロー制御がかかり入力インタフェース部100からの出力が制限されるため、各キューグループは閾値超過状態となる。
【0097】
ここで、入出力インタフェース部1−1の入力インタフェース部100のインタフェース番号i=0とし、入出力インタフェース部1−2の入力インタフェース部100のインタフェース番号i=1とする。
【0098】
そうすると、入出力インタフェース部1−1の契約ユーザA及びBの最低保証帯域より、Rmin[0]=10+20=30Mbpsとなる。
【0099】
同様に、入出力インタフェース1−2の契約ユーザC及びDの最低保証帯域より、Rmin[1]=30+40=70Mbpsとなる。
【0100】
従って、ΣRmin[i]=100Mbpsとなり、入力インタフェース部[0]の送信制限帯域[0]は、10Gbps x 30/100=3Gbps、入力インタフェース部[1]の送信制限帯域[1]は、10Gbps x 70/100=7Gbpsとなる。
【0101】
入力インタフェース部[0]の読出制御部113は、契約ユーザA、Bの最低保証帯域の重みで読出処理を実施する。つまり、読出制御部113は、送信制限帯域3Gbpsのうち、契約ユーザAからの出力帯域を3x10/(10+20)=1Gbps、契約ユーザBからの出力帯域を3x20/(10+20)=2Gbpsとする。
【0102】
一方で、入力インタフェース部[1]の読出制御部113は、契約ユーザC、Dの最低保証帯域の重みで読出処理を実施する。つまり、読出制御部113は、送信制限帯域7Gbpsのうち、契約ユーザCからの出力帯域を7x30/(30+40)=3Gbps、契約ユーザDからの出力帯域を7x40/(30+40)=4Gbpsとする。
【0103】
従って、契約ユーザA,B,C,Dの入力帯域がすべて5Gbpsとなった場合でも、契約ユーザA,B,C,Dの出力帯域は1Gbps,2Gbps,3Gbps,4Gbpsに制御され、最低保証帯域に従った公平な帯域制御が実現できる。
【0104】
また、契約ユーザCからの入力がなく、契約ユーザA,B,Dの入力帯域が5Gbps,5Gbps,10Gbpsとなった場合、出力バッファ312は輻輳状態となる。
【0105】
このとき、入力インタフェース部100にフロー制御がかかり入力インタフェース部100からの出力が制限されるため、契約ユーザA、B、Dのキューグループは閾値超過状態となるが、契約ユーザCは入力がないため閾値超過状態とはならない。
【0106】
従って、Rmin[0]=10+20=30Mbps,Rmin[1]=40Mbps,ΣRmin[i]=70Mbpsとなる。
【0107】
入力インタフェース部[0]の送信制限帯域[0]は、10Gbps x 30/70=4.3Gbps、入力インタフェース部[1]の送信制限帯域[1]は、10Gbps x 40/70=5.7Gbpsとなる。
【0108】
入力インタフェース部[0]の読出制御部113は、契約ユーザA,Bの最低保証帯域の重みで読出処理を実施し、送信制限帯域4.3Gbpsのうち、契約ユーザAからの出力帯域は4.3x10/(10+20)=1.4Gbps、契約ユーザBからの出力帯域は4.3x20/(10+20)=2.9Gbpsとなる。
【0109】
一方で、入力インタフェース部[1]の読出制御部113は、制限帯域5.7Gbpsすべて契約ユーザD分となる。つまり、契約ユーザDからの出力帯域は5.7Gbpsとなる。
【0110】
従って、契約ユーザA,B,C,Dの入力帯域が、5Gbps,5Gbps,0Gbps,10Gbpsとなった場合でも、契約ユーザA,B,Dの出力帯域は、1.4Gbps,2.9Gbps,5.7Gbpsに制御され、最低保証帯域に従った公平な帯域制御が実現できる。
【0111】
(A−3)実施形態の効果
以上のように、この実施形態によれば、出力インタフェース部側が、その出力インタフェース部から出力される全フローの送信帯域を管理し、出力バッファ輻輳状態のときに送信制限帯域を入力インタフェース部側に通知し、入力インタフェース部側が各フローの送信制限帯域に抑えて出力する動作となっているため、複数の入力インタフェース部からの複数のフローが1つの出力インタフェース部に集中して出力されるような場合でも、パケット交換部あるいは出力インタフェース部でのパケット廃棄を発生させることなく、帯域保証、契約ユーザ間の公平性を実現することが可能となる。
【0112】
また、この実施形態によれば、入力インタフェース部側が出力インタフェース部側へ通知する帯域制御用の情報は、各キューグループの閾値超過状態である。すなわち、例えば、「0」又は「1」の1ビットの閾値超過状態である。また出力インタフェース部側から入力インタフェース部側へ通知される帯域制御用の情報は各キューグループ個別の送信許可量ではなく、入力インタフェース部単位の送信制限帯域であるため、帯域制御用情報の伝送量を削減可能である。これは、帯域制御用情報をユーザパケットと同じインチャネルで転送する場合には非常に効果的である。また帯域制御用情報が少なくなるため、送信制限帯域演算の処理負荷が低減できるという効果がある。
【0113】
(B)他の実施形態
(B−1)上述した実施形態の動作では、入力インタフェース部が2つの場合を例示して説明したが、2つ以上の場合でも同様の効果が得られる。
【0114】
(B−2)また、入力インタフェース部が2つのキューグループを備え、又キューグループが2個のパケットキューを備える場合を例示したが、キューグループ数、パケットキュー数は、2以上の場合でも同様である。
【0115】
(B−3)また、上述した実施形態では、QG0読出制御部が、高優先、低優先の完全優先型により読み出しを行う場合を例示してせつめいしたが、これに限定されず、例えば、重み付けラウンドロビン(WRR)などの制御方式を用いた場合でも同様の効果が得られる。
【0116】
(B−4)上述した実施形態では、帯域制御用情報(RMsパケット、RMmパケット)を、ユーザパケットと同じインチャネルで転送している例を示しているが、別途帯域制御用情報の転送ルートを設けて情報の転送を実施してもよい。
【0117】
(B−5)また上述した実施形態では、契約ユーザ間の公平性を、最低保証帯域をもとに実現しているが、各契約ユーザ均等な公平性、あるいはその他のパラメータを使用して公平性制御を実施してもよい。
【符号の説明】
【0118】
10…パケット交換装置、1−1〜1−N…入出力インタフェース部、
100…入力インタフェース部、
110…パケット受信部、111…フロー識別部、112−0〜112−n…キュー読出制御部、113…読出制御部、114…スレーブ側帯域制御部、115…送信制御部、11…閾値超過検出部、12…RMsパケット送信部、13…RMmパケット受信部、
200…出力インタフェース部、210…受信制御部、211…パケット振分部、212…マスター側帯域制御部、213…受信バッファ、214…パケット送信部、21…RMsパケット受信部、22…送信制限帯域演算部、23…RMmパケット送信部、
3…パケット交換部、310…入力バッファ、311…パケットスイッチ、312…出力バッファ。
図1
図2
図3