(57)【特許請求の範囲】
【請求項１】
フロー毎に、帯域変更要求値と物理回線の余剰帯域とから第１の変更帯域を求める第１の自律帯域制御部と、前記第１の変更帯域を隣接装置へ送信する第１の送信部と、を備える第１の通信装置と、
受信した前記第１の変更帯域を自装置に対する前記帯域変更要求値とし、フロー毎に、前記第１の変更帯域と前記余剰帯域とから第２の変更帯域を求める第２の自律帯域制御部と、前記第２の変更帯域を隣接装置へ送信する第２の送信部と、を備える第２の通信装置と、
を有することを特徴とする通信システム。
【請求項２】
前記第１および第２の自律帯域制御部は、
前記余剰帯域からフロー毎の前記帯域変更要求値の総和を減算して、帯域調整を行うか否かの判別指標を算出し、
前記判別指標にもとづき前記帯域調整を行うことを認識した場合は、前記帯域変更要求値の総和と対象フローの帯域変更要求値である対象変更要求値との比率に、前記判別指標を乗算し、乗算結果に前記対象変更要求値を加算して、前記第１および第２の変更帯域を求める、
ことを特徴とする請求項１記載の通信システム。
【請求項３】
前記第１および第２の通信装置は、受信データのトラフィック流量を計測するトラフィック計測部と、計測結果にもとづき前記トラフィック流量が現在の設定帯域を超えるか否かを予測するトラフィック予測部とをさらに備え、
前記第１および第２の自律帯域制御部は、前記トラフィック流量が現在の設定帯域を超えると予測された場合は、前記トラフィック流量の帯域を前記帯域変更要求値とし、フロー毎に、前記帯域変更要求値と前記余剰帯域とから変更帯域を求める、
ことを特徴とする請求項１記載の通信システム。
【請求項４】
前記第１および第２の通信装置は、複数のキューと、第１のスケジューラと、第２のスケジューラとをさらに備え、
バーストトラフィックが発生しない場合は、前記第１のスケジューラは、あらかじめ設定された帯域で前記複数のキューからデータを読み出し、
前記バーストトラフィックが発生した場合は、前記第２のスケジューラは、前記バーストトラフィックに対応した帯域で、前記バーストトラフィックが発生した前記キューからデータを読み出す、
ことを特徴とする請求項１記載の通信システム。
【請求項５】
前記第１および第２の通信装置は、前記余剰帯域分のデータの読み出しスケジューリングを独立して行う余剰帯域用スケジューラをさらに備えることを特徴とする請求項１記載の通信システム。
【請求項６】
他装置で決定された変更帯域情報を受信して、前記変更帯域情報を自装置に対する帯域変更要求値とし、フロー毎に、前記帯域変更要求値と物理回線の余剰帯域とから、自装置の変更帯域を求める自律帯域制御部と、
前記変更帯域を前記変更帯域情報として隣接装置へ送信する送信部と、
を有することを特徴とする通信装置。
【請求項７】
前記自律帯域制御部は、
前記余剰帯域からフロー毎の前記帯域変更要求値の総和を減算して、帯域調整を行うか否かの判別指標を算出し、
前記判別指標にもとづき前記帯域調整を行うことを認識した場合は、前記帯域変更要求値の総和と対象フローの帯域変更要求値である対象変更要求値との比率に、前記判別指標を乗算し、乗算結果に前記対象変更要求値を加算して、前記変更帯域を求める、
ことを特徴とする請求項６記載の通信装置。
【請求項８】
受信データのトラフィック流量を計測するトラフィック計測部と、計測結果にもとづき前記トラフィック流量が現在の設定帯域を超えるか否かを予測するトラフィック予測部とをさらに備え、
前記自律帯域制御部は、前記トラフィック流量が現在の設定帯域を超えると予測された場合は、前記トラフィック流量の帯域を前記帯域変更要求値とし、フロー毎に、前記帯域変更要求値と前記余剰帯域とから変更帯域を求める、
ことを特徴とする請求項６記載の通信装置。
【請求項９】
複数のキューと、第１のスケジューラと、第２のスケジューラとをさらに備え、
バーストトラフィックが発生しない場合は、前記第１のスケジューラは、あらかじめ設定された帯域で前記複数のキューからデータを読み出し、
前記バーストトラフィックが発生した場合は、前記第２のスケジューラは、前記バーストトラフィックに対応した帯域で、前記バーストトラフィックが発生した前記キューからデータを読み出す、
ことを特徴とする請求項６記載の通信装置。
【請求項１０】
前記余剰帯域分のデータの読み出しスケジューリングを独立して行う余剰帯域用スケジューラをさらに備えることを特徴とする請求項６記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報通信を行う通信システムおよび通信装置に関する。
【背景技術】
【０００２】
データセンターは、インターネットへの接続回線や保守・運用サービスなどを提供する施設であり、インターネットの普及に伴って、需要はますます増大している。
データセンターには、多数のラックにサーバ、ストレージおよびＬ２（Layer 2）スイッチ等が設置されており、Ｌ２スイッチでは、サーバやストレージからのトラフィックを束ねて上位に送る役割を担っている。
【０００３】
一方、近年のクラウドコンピューティングの発展に伴い、物理サーバ内の仮想サーバ（ＶＭ：Virtual Machine）数が増大し、データセンター内のネットワークでは、通信制御が複雑化している。このような状況において、ＶＭの増加に対しても、データ転送量を高品質に支えるデータセンターの構築が求められている。
【０００４】
従来の帯域設定技術として、要求帯域比で余剰帯域を割り当てる技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−６９６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データセンター内の運用管理システムでは、ＶＭに帯域を割り当てる帯域設定制御を行っている。しかし、ＶＭ数が増加すると、増加したＶＭ毎に帯域を割り当てる帯域設定が複雑化し、負荷が高まることになる。
【０００７】
運用管理システムで帯域設定の負荷が高まると、遅延時間が増大して迅速な帯域設定を行えず、データセンター内のネットワークに対して、通信品質の劣化を生じさせるといった問題があった。
【０００８】
本発明はこのような点に鑑みてなされたものであり、運用管理システムで帯域設定に要していた負荷を軽減させて通信品質の向上を図った通信システムを提供することを目的とする。
【０００９】
また、本発明の他の目的は、運用管理システムで帯域設定に要していた負荷を軽減させて通信品質の向上を図った通信装置を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、通信システムが提供される。通信システムは、フロー毎に、帯域変更要求値と物理回線の余剰帯域とから第１の変更帯域を求める第１の自律帯域制御部と、前記第１の変更帯域を隣接装置へ送信する第１の送信部と、を備える第１の通信装置と、受信した前記第１の変更帯域を自装置に対する前記帯域変更要求値とし、フロー毎に、前記第１の変更帯域と前記余剰帯域とから第２の変更帯域を求める第２の自律帯域制御部と、前記第２の変更帯域を隣接装置へ送信する第２の送信部と、を備える第２の通信装置とを有する。
【発明の効果】
【００１１】
帯域設定に要していた負荷を軽減することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】通信システムの構成例を示す図である。
【図２】データセンターの構成例を示す図である。
【図３】フローの設定例を示す図である。
【図４】通信装置の構成例を示す図である。
【図５】変更要求値データベースの格納状態の一例を示す図である。
【図６】ポート単位変更値データベースの格納状態の一例を示す図である。
【図７】装置設定値データベースの格納状態の一例を示す図である。
【図８】課金情報データベースの格納状態の一例を示す図である。
【図９】制御フレームのフォーマットを示す図である。
【図１０】制御フレームのフォーマットを示す図である。
【図１１】制御フレームのフォーマットを示す図である。
【図１２】アルゴリズムフィールドの設定例を示す図である。
【図１３】自律帯域制御の動作を示すフローチャートである。
【図１４】通信装置の構成例を示す図である。
【図１５】通信装置の構成例を示す図である。
【図１６】スケジューリング処理部の構成例を示す図である。
【図１７】バーストトラフィックのスケジューリング処理の動作を示すフローチャートである。
【図１８】スケジューリング処理部の構成例を示す図である。
【図１９】余剰帯域のスケジューリング処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。図１は通信システムの構成例を示す図である。通信システム１は、通信装置１−１（第１の通信装置）および通信装置１−２（第２の通信装置）を備える。
【００１４】
通信装置１−１は、自律帯域制御部１ａ−１（第１の自律帯域制御部）と送信部１ｂ−１（第１の送信部）を備える。通信装置１−２は、自律帯域制御部１ａ−２（第２の自律帯域制御部）と送信部１ｂ−２（第２の送信部）を備える。
【００１５】
通信装置１−１において、自律帯域制御部１ａ−１は、フロー毎に、帯域変更要求値と物理回線の余剰帯域とから、自装置の帯域として設定すべき変更帯域（第１の変更帯域）Ｂ１を自律的に求める。送信部１ｂ−１は、変更帯域Ｂ１を隣接装置へ送信する。
【００１６】
通信装置１−２において、自律帯域制御部１ａ−２は、受信した変更帯域Ｂ１を自装置に対する帯域変更要求値とする。そして、フロー毎に、変更帯域Ｂ１と余剰帯域とから、自装置の帯域として設定すべき変更帯域（第２の変更帯域）Ｂ２を自律的に求める。送信部１ｂ−２は、変更帯域Ｂ２を隣接装置へ送信する。
【００１７】
このように、通信システム１では、通信装置１−１が帯域変更要求値に応じて自律的に変更帯域Ｂ１を求める。そして、変更帯域Ｂ１を隣接装置へ送信し、変更帯域Ｂ１を受信した通信装置１−２では、変更帯域Ｂ１を自己に対する帯域変更要求値とみなし、同様にして自律的に変更帯域Ｂ２を求める構成とした。
【００１８】
これにより、複数の通信装置の帯域設定を運用管理システム側で実行するのではなく、各通信装置が自律的に帯域設定を実行することにより、運用管理システムで帯域設定に要していた負荷を軽減させることができ、通信品質の向上を図ることが可能になる。
【００１９】
次にデータセンターの構成例について説明する。図２はデータセンターの構成例を示す図である。データセンター１００は、サーバラック１０１、ストレージラック１０２、ラック間スイッチ１０３およびルータ１０４を備える。
【００２０】
サーバラック１０１には、複数のサーバを含むサーバ群１０１ａおよびトップオブラックスイッチ１０１ｂが搭載され、サーバ群１０１ａ内の各サーバとトップオブラックスイッチ１０１ｂとが接続する。
【００２１】
ストレージラック１０２には、複数のストレージを含むストレージ群１０２ａおよびトップオブラックスイッチ１０２ｂが搭載され、ストレージ群１０２ａ内の各ストレージとトップオブラックスイッチ１０２ｂとが接続する。
【００２２】
ラック間スイッチ１０３は、トップオブラックスイッチ１０１ｂ、１０２ｂおよびルータ１０４と接続する。なお、ルータ１０４は、ルーティング機能の他にファイアウオール等のセキュリティ機能を有している。
【００２３】
データセンター１００内のルータ１０４は、インターネット１１０と接続し、インターネット１１０にはエンドユーザの端末機器１２０が接続している。
上記のトップオブラックスイッチ１０１ｂ、１０２ｂは、Ｌ２スイッチであり、サーバ、ストレージからのトラフィックを束ねて上位に送る役割を担っている。また、Ｌ２スイッチは、ＱｏＳ（Quality of Service）による通信帯域を保証して、各種フロー（ユーザ単位、ＶＬＡＮ（Virtual Local Area Network）単位、サービス単位などのまとまり）毎のトラフィックを確保する。
【００２４】
一方、サーバ群１０１ａ内の各サーバにはＶＭが設けられ、さらに、運用管理システムの役割を担うサーバ（サーバ１０１ａ−１とする）が少なくとも１台は配置される。
サーバ１０１ａ−１では、複数のＶＭに帯域を割り当てる帯域設定制御が従来行われているが、ＶＭ数が増加すると、増加したＶＭ毎に帯域を割り当てる帯域設定が複雑化し、負荷が高まることになる。
【００２５】
このように、一極集中で帯域設定を行うと、帯域設定されるＶＭの数が増大するほど負荷が高まり遅延時間も増大して、パフォーマンス能力が低下する。このため、データセンター１００内のＬ２ネットワークの通信品質が劣化することになる。
【００２６】
本技術はこのような点に鑑みてなされたものであり、運用管理システムで帯域設定に要していた負荷を低減させて通信品質の向上を図った通信システムおよび通信装置を提供するものである。
【００２７】
次に図１の通信装置１−１、１−２をＬ２ネットワーク内のスイッチ（Ｌ２スイッチ）に適用した場合を例に挙げて、自律帯域制御について詳しく説明する。
図３はフローの設定例を示す図である。Ｌ２ネットワーク内には、スイッチｓｗ１〜ｓｗ７が配置される。
【００２８】
スイッチ間の物理回線による接続構成は、スイッチｓｗ１は、スイッチｓｗ２、ｓｗ３に接続し、スイッチｓｗ２は、スイッチｓｗ１、ｓｗ４、ｓｗ５に接続し、スイッチｓｗ３は、スイッチｓｗ１に接続する。
【００２９】
スイッチｓｗ４は、スイッチｓｗ２、ｓｗ６、ｓｗ７に接続し、スイッチｓｗ５は、スイッチｓｗ２に接続し、スイッチｓｗ６は、スイッチｓｗ４に接続し、スイッチｓｗ７は、スイッチｓｗ４に接続する。
【００３０】
また、スイッチｓｗ１〜ｓｗ７に対するフロー配置としては、フローｆ１は、スイッチｓｗ１、ｓｗ２、ｓｗ３、ｓｗ５を流れている。フローｆ２は、スイッチｓｗ２、ｓｗ４、ｓｗ５、ｓｗ７を流れている。フローｆ３は、スイッチｓｗ２、ｓｗ４、ｓｗ５、ｓｗ６を流れている。フローｆ４は、スイッチｓｗ１、ｓｗ２、ｓｗ４、ｓｗ６を流れている。
【００３１】
なお、フローｆ１〜ｆ４の末端には、図には示さないが、サーバやルータまたはＬ３スイッチ等のレイヤ２を終端する装置が配置される。
（前提条件）
まず、自律帯域制御を行う際の前提条件について説明する。フローはＶＬＡＮ−ＩＤ（Identifier）などでユーザや用途別に識別され、利用者はフロー毎に最大帯域（ＰＩＲ：Peak Information Rate）を設定している状態にあるとする。
【００３２】
また、スイッチｓｗ２は、ポートＢ、Ｃ、Ｄを有し、スイッチｓｗ５は、ポートｐ１、ｐ２、ｐ３およびポートＡを有している。スイッチｓｗ５のポートｐ１、ｐ２、ｐ３には、それぞれフローｆ１、ｆ２、ｆ３が設定され、ポートＡには、フローｆ１、ｆ２、ｆ３の３本が設定されている。
【００３３】
スイッチｓｗ２のポートＢは、スイッチｓｗ５のポートＡと接続されているため、フローｆ１、ｆ２、ｆ３が設定される。さらに、ポートＣには、フローｆ１、ｆ３、ｆ４が設定され、ポートＤには、フローｆ２、ｆ３、ｆ４が設定されている。
【００３４】
ここで、ネットワーク全体でＮ本のフローが設定されている場合、各フローの設定帯域をＢ１、Ｂ２、・・・、Ｂｋ、・・・、Ｂｎと表す。また、帯域変更要求値をΔＢ１、ΔＢ２、・・・、ΔＢｋ、・・・、ΔＢｎと表す。
【００３５】
さらに、バーストトラフィック用の帯域をＢｂとし、物理回線の余剰帯域をＢｒと表す。なお、バーストトラフィックとは、消費帯域が設定帯域を超えるトラフィックのことをいう。
【００３６】
システムのバックアップ時などは大きなサイズのファイル転送が行われ、一時的に大きな帯域を消費するため、バーストトラフィックが発生しやすい。通常は、バーストトラフィックを格納するためのバッファ容量を固定的に確保してバーストトラフィックに対応する。
【００３７】
（スイッチｓｗ５にて帯域の変更要求の発生）
スイッチｓｗ５のポートｐ１、ｐ２、ｐ３にて帯域の変更要求が発生したとする。帯域を減少する要求については、減少分の帯域を、余剰帯域Ｂｒに追加する処理を行うことでよい。
【００３８】
一方、帯域を増加する要求については、ポートＡの使用帯域について検討することになる。スイッチｓｗ５において、フローｆ１、ｆ２、ｆ３の増加分の合計が、ポートＡの物理帯域を超えるような場合には、スイッチｓｗ５は、自律的にポートＡでの帯域調整を実行する。
【００３９】
具体例を挙げながら説明する（以下、“Ｍ”はＭｂｐｓの単位を表す）。帯域増加前における、フローｆ１の設定帯域Ｂ１、フローｆ２の設定帯域Ｂ２およびフローｆ３の設定帯域Ｂ３はそれぞれ、Ｂ１＝１００Ｍ、Ｂ２＝２００Ｍ、Ｂ３＝４００Ｍであったとする。
【００４０】
また、バーストトラフィックＢｂおよび余剰帯域Ｂｒについては、Ｂｂ＝５０Ｍ、Ｂｒ＝２５０Ｍであったとする。
一方、帯域増加要求として、フローｆ１の帯域増加要求値ΔＢ１、フローｆ２の帯域増加要求値ΔＢ２およびフローｆ３の帯域増加要求値ΔＢ３がそれぞれ、ΔＢ１＝１００Ｍ、ΔＢ２＝２００Ｍ、ΔＢ３＝３００Ｍであったとする。
【００４１】
フローｆ１〜ｆ３の帯域増加要求値の合計は、６００Ｍ（＝100M＋200M＋300M）であるから、余剰帯域Ｂｒ＝２５０Ｍとの差分をとると、３５０Ｍの不足となる。したがって、帯域増加要求をそのまま受け入れることはできないので、帯域調整を行うことになる。
【００４２】
上記の判別方法を一般化すると、以下のように表現される。帯域増加要求に対して、現在設定されている帯域を調整するか否かを判別する判別指標をＤとすると、判別指標Ｄは、以下の式（１）で表される。
【００４３】
Ｄ＝Ｂｒ−（ΣΔＢｉ）・・・（１）
すなわち、判別指標Ｄは、余剰帯域から各フローの帯域増加要求値の総和を減算した値である。Ｄ≧０ときは、帯域増加要求分を受け入れ可能であるから、現状の帯域に加算して反映する。
【００４４】
また、Ｄ＜０のときは、帯域増加要求分が余剰帯域を超過することになるので、超過分を帯域増加要求の比率に応じて分配して帯域調整を行う。
ここで、フローｆｋのΔＢｋ（対象変更要求値）における、帯域調整後の変更帯域をΔＢｋａとすると、変更帯域ΔＢｋａは以下の式（２）で算出される。
【００４５】
ΔＢｋａ＝ΔＢｋ＋Ｄ×（ΔＢｋ／ΣΔＢｉ）・・・（２）
式（２）を用いて、上記の例のフローｆ１〜ｆ３の帯域調整後の変更帯域を算出すると、フローｆ１の変更帯域ΔＢ１ａについては、ΔＢ１ａ＝４１．６Ｍ［＝ΔB1＋D×（ΔB1／（ΔB1＋ΔB2＋ΔB3））＝（100M+（−350）×（100M／（100M+200M+300M））］となる。
【００４６】
フローｆ２の変更帯域ΔＢ２ａについては、ΔＢ２ａ＝８３．３Ｍ［＝ΔB2＋D×（ΔB2／（ΔB1＋ΔB2＋ΔB3））＝（200M+（−350）×（200M／（100M+200M+300M））］となる。
【００４７】
フローｆ３の変更帯域ΔＢ３ａについては、ΔＢ３ａ＝１２５Ｍ［＝ΔB3＋D×（ΔB3／（ΔB1＋ΔB2＋ΔB3））＝（300M+（−350）×（300M／（100M+200M+300M））］となる。
【００４８】
上記の結果についてまとめると、スイッチｓｗ５のポートＡにおける、フローｆ１に関する帯域調整後の変更帯域は４１．６Ｍである。また、スイッチｓｗ５のポートＡにおける、フローｆ２に関する帯域調整後の変更帯域は８３．３Ｍである。さらに、スイッチｓｗ５のポートＡにおける、フローｆ３に関する帯域調整後の変更帯域は１２５Ｍである。
【００４９】
なお、一般的に最終的な変更帯域は、スイッチ内で同一フローが通る各ポートの変更帯域の最小値を採用する。
例えば、あるスイッチに対して、フローｆ１がポートｐ１〜ｐｍを通っており、ポートｐ１での変更帯域がΔＢ１ａ（ｐ１）、ポートｐ２での変更帯域がΔＢ１ａ（ｐ２）、ポートｐｍでの変更帯域がΔＢ１ａ（ｐｍ）であったとする。
【００５０】
この場合、ΔＢ１ａ（ｐ１）、ΔＢ１ａ（ｐ２）、・・・、ΔＢ１ａ（ｐｍ）の中で、ΔＢ１ａ（ｐ１）が最小値であった場合には、フローｆ１が通るポートｐ１〜ｐｍの変更帯域には、ΔＢ１ａ（ｐ１）を設定することになる。
【００５１】
上記の内容をフローｆ１〜ｆｎ、ポートｐ１〜ｐｍとして一般化して表現すると、min（ΔB1a（p1）、 ΔB1a（p2）、・・・、ΔB1a（pm））、min（ΔB2a（p1）、 ΔB2a（p2）、・・・、ΔB2a（pm））、min（ΔBna（p1）、ΔBna（p2）、・・・、ΔBna（pm））となる。
【００５２】
（変更帯域を隣接装置に送信する）
決定した変更帯域を新たな帯域変更要求値として、制御フレームに変更帯域の情報を挿入し、ＶＬＡＮ内の隣接装置に対して制御フレームをマルチキャストする。
【００５３】
この例では、スイッチｓｗ２は、ポートＢでスイッチｓｗ５からの帯域変更要求値を受信するので、ポートＢより変更要求を受けて、ポートＣ、Ｄにて上記と同様な使用帯域の検討を行うことになる。
【００５４】
このように、各ポートで自律帯域調整を行い、各フローの最小変更帯域値を帯域調整後の帯域値として設定する。その後、次段スイッチに送信・展開する。なお、末端のサーバまたはルータ等では、制御フレームを処理しないため廃棄される。
【００５５】
次に通信装置の構成例について説明する。図４は通信装置の構成例を示す図である。通信装置１０は、例えば、Ｌ２スイッチ等に適用可能であり、トラフィック計測部１１、トラフィック予測部１２、フレーム受信部１３、制御フレーム解析部１４、自律帯域制御部１５、帯域設定部１６、制御フレーム生成部１７およびフレーム送信部１８を備える。
【００５６】
また、自律帯域制御部１５は、帯域変更要求判別部１５ａ、帯域調整部１５ｂおよび最小値検出部１５ｃを含む。さらに、通信装置１０は、データベースとして、変更要求値データベースＤＢ１、ポート単位変更値データベースＤＢ２、装置設定値データベースＤＢ３および課金情報データベースＤＢ４を備える。
【００５７】
トラフィック計測部１１は、トラフィックの流量を計測し、計測データをトラフィック予測部１２に渡す。トラフィック予測部１２は、自己回帰和分移動平均（ARIMA：Auto-Regressive Integrated Moving Average）モデルに代表される時系列分析を行う。
【００５８】
そして、トラフィック流量が現在の設定帯域を超えると予測されるときには、そのトラフィック流量に対応する帯域値を帯域変更要求値とし、該帯域変更要求値を自律帯域制御部１５に渡す。また、該帯域変更要求値を変更要求値データベースＤＢ１に格納する。
【００５９】
フレーム受信部１３は、隣接装置からのフレームを受信し、帯域変更要求値が含まれる制御フレームを抽出して、制御フレーム解析部１４に渡す。制御フレーム解析部１４は、制御フレームからＶＬＡＮ−ＩＤおよび帯域変更要求値の情報を抽出し、変更要求値データベースＤＢ１に格納する。
【００６０】
帯域変更要求判別部１５ａは、上述の式（１）の判別指標Ｄを算出し、判別式Ｄ≧０かどうかを判定する。Ｄ≧０であれば、帯域変更要求値をそのままポート単位変更値データベースＤＢ２に格納する。Ｄ＜０であれば、帯域調整部１５ｂに変更帯域ΔＢｋａの計算を指示する。
【００６１】
帯域調整部１５ｂは、帯域変更要求判別部１５ａからの指示にもとづき、上述の式（２）を用いて変更帯域ΔＢｋａを計算し、計算結果をポート単位変更値データベースＤＢ２に格納する。
【００６２】
最小値検出部１５ｃは、ポート単位変更値データベースＤＢ２から各ポートの変更帯域ΔＢｋａを取得し、フロー毎に（ＶＬＡＮ毎に）最小値を検出し、検出した最小値を装置設定値データベースＤＢ３に格納する。また、帯域設定部１６に帯域設定の指示を行う。
【００６３】
帯域設定部１６は、自律帯域制御部１５からの帯域設定指示にもとづき、装置設定値データベースＤＢ３より帯域設定値（ΔＢ）を取得し、自装置に帯域設定を行って反映させる。また、変更帯域をタイムスタンプとともに課金情報データベースＤＢ４に格納する。
【００６４】
制御フレーム生成部１７は、帯域設定部１６からの指示にもとづき、ＶＬＡＮ−ＩＤおよび帯域設定値（変更帯域）を格納した制御フレームを生成する。フレーム送信部１８は、制御フレームを一般のトラフィックのフレームと同様に送信して、隣接装置へ展開する。
【００６５】
次に各データベースについて説明する。図５は変更要求値データベースの格納状態の一例を示す図である。変更要求値データベースＤＢ１は、ポート、ＶＬＡＮ−ＩＤ、帯域変更要求値ΔＢｋの各属性を有して、属性毎に情報を登録する。例えば、ＶＬＡＮ１のフローが通るポートＢに関する帯域変更要求値ΔＢは、４１．６６６６７Ｍであることが登録されている。
【００６６】
図６はポート単位変更値データベースの格納状態の一例を示す図である。ポート単位変更値データベースＤＢ２は、ポート、ＶＬＡＮ−ＩＤ、初期帯域、変更分の各属性を有して、属性毎に情報を登録する。なお、初期帯域は、帯域変更要求値を反映させる前の帯域値であり、変更分は、変更帯域ΔＢｋａに該当する。
【００６７】
例えば、ＶＬＡＮ１のフローが通るポートＢに関する初期帯域は１００Ｍであり、変更帯域ΔＢｋａは、４１．６６６６７Ｍであることが登録されている。
図７は装置設定値データベースの格納状態の一例を示す図である。装置設定値データベースＤＢ３は、ＶＬＡＮ−ＩＤ、初期帯域、変更分の各属性を有して、属性毎に情報を登録する。
【００６８】
図７では、帯域変更前の登録状態を示している。ＶＬＡＮ１のフローに関する初期帯域（帯域設定値）は１００Ｍ、変更分は０であり、ＶＬＡＮ２のフローに関する初期帯域（帯域設定値）は２００Ｍ、変更分は０であり、ＶＬＡＮ３のフローに関する初期帯域（帯域設定値）は４００Ｍ、変更分は０と登録されている。また、バーストトラフィックは５０Ｍ、余剰帯域は２５０Ｍであることが、初期帯域の属性に登録されている。
【００６９】
図８は課金情報データベースの格納状態の一例を示す図である。課金情報データベースＤＢ４は、ＶＬＡＮ−ＩＤ、タイムスタンプ（帯域使用時間帯）Ｔ１〜Ｔｎの各属性を有して、属性毎に情報を登録する。
【００７０】
例えば、ＶＬＡＮ１のフローに関し、タイムスタンプＴ１の時間帯では１００Ｍの帯域が使用され、タイムスタンプＴ２の時間帯では１４１Ｍの帯域が使用されたことが登録されている。このように、ある時間帯において、どれだけ帯域を使用していたかの情報を管理しておくことで、課金に反映させることができる。
【００７１】
次に制御フレームのフォーマット構成例について説明する。図９〜図１１は制御フレームのフォーマットを示す図である。制御フレームＦ１〜Ｆ３は、Ethernet（登録商標）のフレームフォーマットに従っており、Ｌ２スイッチでの転送が可能である。
【００７２】
図９の制御フレームＦ１は、8byteのプリアンブル／ＳＦＤ（Start Frame Delimiter）、宛先アドレス（6byte）、送信元アドレス（6byte）、ＴＹＰＥ（2byte）、ＶＬＡＮタグ（2byte）、帯域設定値（6byte）、データ（38〜1492byte）および4byteのＦＣＳ（Frame Check Sequence）の各フィールドを備える。なお、データにはパディングも含まれる。
【００７３】
ＶＬＡＮ単位のフローでは、ＶＬＡＮタグフィールドにＶＬＡＮタグ値（ＶＬＡＮ−ＩＤ）を格納して、フローが識別される。また、帯域設定値フィールドには、変更帯域値が格納される。
【００７４】
図１０の制御フレームＦ２は、プリアンブル／ＳＦＤ（8byte）、宛先アドレス（6byte）、送信元アドレス（6byte）、Ｔｙｐｅ（2byte）、Ｔｉｍｅ（4byte）、Ｄｕｒａｔｉｏｎ（3byte）、ＶＬＡＮタグ（2byte）、帯域設定値（6byte）、データ（31〜1485byte）およびＦＣＳ（4byte）の各フィールドを備える。なお、データにはパディングも含まれる。
【００７５】
制御フレームＦ２は、変更帯域を設定する時間指定が行える拡張フレームフォーマットである。新たなフィールドとして、ＴｉｍｅフィールドおよびＤｕｒａｔｉｏｎフィールドが設けられている。Ｔｉｍｅフィールドは、変更帯域設定の開始時間を格納するフィールドである。Ｄｕｒａｔｉｏｎフィールドは、変更帯域設定の継続時間を格納するフィールドである。
【００７６】
図１１の制御フレームＦ３は、プリアンブル／ＳＦＤ（8byte）、宛先アドレス（6byte）、送信元アドレス（6byte）、Ｔｙｐｅ（2byte）、ＶＬＡＮタグ（2byte）、アルゴリズム（1byte）、データ（43〜1497byte）およびＦＣＳ（4byte）の各フィールドを備える。なお、データにはパディングも含まれる。
【００７７】
制御フレームＦ３は、アルゴリズムフィールドを有している。アルゴリズムフィールドは、キューに格納されているデータを読み出す際のスケジューリングを行うスケジューラ（後述）に対して、どのようなアルゴリズムでスケジューリングを行うかを指定するものである。
【００７８】
図１２はアルゴリズムフィールドの設定例を示す図である。例えば、初期動作時には、設定値（１０進）を１にして、ＲＲ（Round Robin）のアルゴリズムを該当スケジューラに指定する。
【００７９】
また、自律帯域制御時には、設定値（１０進）を２にして、ＤＲＲ（Deficit Round Robin）のアルゴリズムを該当スケジューラに指定する。さらに、障害発生や緊急動作時等には、設定値（１０進）を４にして、ＳＰ（Strict Priority）のアルゴリズム（キューの優先度の高いものから優先的に送信するアルゴリズム）を該当スケジューラに指定する。
【００８０】
このように、自律帯域制御時（通常運用時）はＤＲＲのアルゴリズムを指定する情報を制御フレームＦ３に格納して隣接装置へ送信する。また、リンクダウンなどの隣接装置の異常を検出したときには、管理系などの優先度の高いトラフィックを守るために、ＳＰのアルゴリズムを指定する情報を制御フレームＦ３に格納して送信する。
【００８１】
次に自律帯域制御に関する動作についてフローチャートを用いて説明する。図１３は自律帯域制御の動作を示すフローチャートである。
〔Ｓ１〕フレーム受信部１３は、帯域設定値が格納されている制御フレームを受信したか否かを判断する。受信した場合はステップＳ５へ行き、受信しない場合はステップＳ２へ行く。
【００８２】
〔Ｓ２〕トラフィック計測部１１は、フロー毎にトラフィック流量を計測する。
〔Ｓ３〕トラフィック予測部１２は、計測値からトラフィック流量を予測する。
〔Ｓ４〕トラフィック予測部１２は、トラフィック流量が現在の設定帯域を超えるか否かを判断する。超える場合はステップＳ５へ行き、超えない場合はステップＳ１へ戻る。
【００８３】
〔Ｓ５〕帯域変更要求判別部１５ａは、式（１）にもとづき、判別指標Ｄを計算する。この場合、帯域設定値が格納された制御フレームを受信したときには、格納されている帯域設定値を帯域変更要求値とみなして、該帯域変更要求値と余剰帯域とにもとづき、判別指標Ｄの計算を行う。
【００８４】
また、トラフィック流量が現在の設定帯域を超えるときには、該トラフィック流量の帯域を帯域変更要求値とみなして、該帯域変更要求値と余剰帯域とにもとづき、判別指標Ｄの計算を行う。
【００８５】
〔Ｓ６〕帯域変更要求判別部１５ａは、判別指標Ｄが０に等しいまたは０よりも大きい場合は（Ｄ≧０）、ステップＳ９へ行く、また、判別指標Ｄが０よりも小さい場合は、ステップＳ７へ行く。
【００８６】
〔Ｓ７〕帯域調整部１５ｂは、式（２）にもとづき、変更帯域ΔＢｋａを算出する。
〔Ｓ８〕最小値検出部１５ｃは、各ポートの変更帯域ΔＢｋａから最小値を検出する。
〔Ｓ９〕帯域設定部１６は、自装置への帯域設定処理を行う。
【００８７】
〔Ｓ１０〕制御フレーム生成部１７は、フロー識別子（ＶＬＡＮ−ＩＤなど）および帯域設定値を格納した制御フレームを生成し、フレーム送信部１８は、制御フレームを隣接装置へ送信する。
【００８８】
以上説明したように、通信装置（スイッチ）間で上記のような自律帯域制御を行うことで、運用管理システムが従来行っていた各通信装置に対する帯域設定をオフロード（負荷の軽減）することが可能になり、運用管理システムのリソースを別の処理に割り当てることが可能になる。
【００８９】
また、運用管理システムの負荷が減少することで、運用管理システムが配置されている同一物理サーバ上にＶＮを追加することも可能になる。さらに、運用管理システムと通信装置との間で、帯域設定に関するやりとりを減少することができるので、設定に要していた遅延時間が減少し、迅速に帯域設定の最適化をネットワーク全体に対して行うことが可能になる。
【００９０】
さらにまた、通信装置では、制御フレームで送信された帯域設定値を自己の帯域変更要求値とみなして自律帯域制御を行う場合と、自装置で計測したトラフィック流量が現在の設定帯域を超えるときには、該トラフィック流量の帯域値を帯域変更要求値とみなして自律帯域制御を行う場合との２つの判断で自律的な帯域制御を行う構成とした。これにより、帯域制御の精度が向上するので、信頼性を向上させることが可能になる。
【００９１】
次にスイッチ機能を含めた通信装置の構成について説明する。図１４、図１５は通信装置の構成例を示す図である。通信装置２は、ＣＰＵ（Central Processing Unit）２ａ、スイッチ制御部２０、入力Ｉ／Ｆ（インタフェース）部２５−１〜２５−ｎ、出力Ｉ／Ｆ部２６−１〜２６−ｎおよびメモリＭ１、Ｍ２を備える。
【００９２】
メモリＭ１には、トラフィック予測プログラム１２−１、帯域変更要求判別プログラム１５ａ−１、帯域調整プログラム１５ｂ−１および最小値検出プログラム１５ｃ−１を含む。
【００９３】
トラフィック予測プログラム１２−１は、図４のトラフィック予測部１２におけるトラフィック予測処理のプログラムであり、帯域変更要求判別プログラム１５ａ−１は、図４の帯域変更要求判別部１５ａにおける帯域変更要求判別処理のプログラム（式（１）の計算プログラム）である。
【００９４】
帯域調整プログラム１５ｂ−１は、図４の帯域調整部１５ｂにおける帯域調整処理のプログラム（式（２）の計算プログラム）であり、最小値検出プログラム１５ｃ−１は、図４の最小値検出部１５ｃにおける最小値検出処理のプログラムである。これらのプログラムは、ＣＰＵ２ａで呼び出されて実行される。なお、図４の制御フレーム解析部１４、帯域設定部１６および制御フレーム生成部１７の機能などもＣＰＵ２ａで実行される。
【００９５】
また、メモリＭ２には、図４の変更要求値データベースＤＢ１、ポート単位変更値データベースＤＢ２、装置設定値データベースＤＢ３および課金情報データベースＤＢ４が含まれる。
【００９６】
入力Ｉ／Ｆ部２５−１〜２５−ｎは、図４のフレーム受信部１３を含み、出力Ｉ／Ｆ部２６−１〜２６−ｎは、図４のフレーム送信部１８を含む。
スイッチ制御部２０は、スイッチ２１およびスケジューリング処理部２２−１〜２２−ｎを備える。スケジューリング処理部２２−１は、入力キューｑｉ−１−１〜ｑｉ−１−ｍ、カウンタＣ１−１〜Ｃ１−ｍ、スケジューラ２２ａ−１および出力キューｑｏ−１を含む。
【００９７】
スケジューリング処理部２２−２は、入力キューｑｉ−２−１〜ｑｉ−２−ｍ、カウンタＣ２−１〜Ｃ２−ｍ、スケジューラ２２ａ−２および出力キューｑｏ−２を含む。同様に、スケジューリング処理部２２−ｎは、入力キューｑｉ−ｍ−１〜ｑｉ−ｍ−ｍ、カウンタＣｍ−１〜Ｃｍ−ｍ、スケジューラ２２ａ−ｍおよび出力キューｑｏ−ｎを含む。
【００９８】
スイッチ制御部２０において、スイッチ２１は、宛先解決されたフレームを各出力ポートから、ＶＬＡＮ−ＩＤなどの識別子にもとづき出力し、出力されたフレームは入力キューに分類されて格納される。
【００９９】
入力キューの後段には、トラフィック計測部１１の役割を担うカウンタが設けられており、カウントされたトラフィック量がＣＰＵ２ａへ送信される。ＣＰＵ２ａでは、トラフィック予測プログラム１２−１を読み出して、受信したトラフィック量にもとづきトラフィック予測を行う。また、スケジューラ２２ａ−１〜２２ａ−ｍは、ＣＰＵ２ａからのスケジューリング指示にもとづき、各入力キューからフレームを読み出す。
【０１００】
このようにスイッチ制御部２０では、フレームを複数の入力キューに分けて格納し、指示されたスケジューリングにもとづき、各入力キューからフレームを読み出す構成とした。これにより、単一のフローだけが物理回線の帯域を大きく消費してしまうといったことを防止することができ、帯域を確保して通信の品質を高めることが可能になる。
【０１０１】
次にバーストトラフィックの帯域制御について説明する。図１６はスケジューリング処理部の構成例を示す図である。バーストトラフィックに対応したスケジューリング処理を行う構成例を示している。
【０１０２】
スケジューリング処理部２２−１ａは、入力キューｑｉ−１〜ｑｉ−３、カウンタＣ１−１〜Ｃ１−３、切替部２２ｄ、２２ｅ、２２ｆ、スケジューラ２２ａ−１、２２ｂ−１、２２ｃ−１および出力キューｑｏ−１を備える。
【０１０３】
入力キューｑｉ−１〜ｑｉ−３は、図１５のスイッチ２１から出力されたフレームをキューイングする。スケジューラ２２ａ−１は、ＣＰＵ２ａから通知されたスケジューリング指示（例えば、キュー単位の読み出し比率や、どのアルゴリズムを使用するかの指示など）にもとづき、入力キューｑｉ−１〜ｑｉ−３からフレームを読み出す。
【０１０４】
カウンタＣ１−１〜Ｃ１−３は、入力キューｑｉ−１〜ｑｉ−３から出力されるフレームをカウントし、カウント値をトラフィック計測値としてＣＰＵ２ａへ送信する。
切替部２２ｄ、２２ｅ、２２ｆは、ＣＰＵ２ａからの切替指示にもとづき、入力キューｑｉ−１〜ｑｉ−３からのフレーム出力を、スケジューラ２２ａ−１からスケジューラ２２ｂ−１へ切り替えるかどうかのＯＮ／ＯＦＦ切替を行う。
【０１０５】
スケジューラ２２ｂ−１は、バーストトラフィックの帯域に対応したスケジューラであり、ＣＰＵ２ａからのスケジューリング指示にもとづき、バーストトラフィック対応のスケジューリングを行う。
【０１０６】
スケジューラ２２ｃ−１は、ＣＰＵ２ａからのスケジューリング指示にもとづき、スケジューラ２２ａ−１、２２ｂ−１から出力されたフレームのスケジューリングを行う。出力キューｑｏ−１は、スケジューラ２２ｃ−１からの出力フレームをキューイングする。
【０１０７】
次にバーストトラフィックが発生したときの動作について説明する。バーストトラフィックの発生は、カウンタＣ１−１〜Ｃ１−３にて計測されたカウンタ値にもとづいて、カウンタ値が設定帯域を超えるトラフィックであるか否かによってＣＰＵ２ａで判断される。
【０１０８】
設定帯域を超える場合は、ＣＰＵ２ａは、バーストトラフィック分の帯域が割り当てられているスケジューラ２２ｂ−１を起動し、かつ該当の切替部をＯＮにする。例えば、ＣＰＵ２ａが、カウンタＣ１−１のカウンタ値からバーストトラフィックを認識したとする。ＣＰＵ２ａは、切替部２２ｄをＯＮにして、入力キューｑｉ−１からの出力フレームのスケジューリングを、スケジューラ２２ａ−１からスケジューラ２２ｂ−１へ切り替える。
【０１０９】
スケジューラ２２ｂ−１は、バーストトラフィック分の帯域で入力キューｑｉ−１からの出力フレームを読み出し処理する。ＣＰＵ２ａは、カウンタＣ１−１のカウンタ値からバーストトラフィックが無くなったことを認識すると、切替部２２ｄをＯＦＦに設定する。その後、入力キューｑｉ−１からの出力フレームのスケジューリングは、スケジューラ２２ｂ−１から元のスケジューラ２２ａ−１へ切り替わる。
【０１１０】
図１７はバーストトラフィックのスケジューリング処理の動作を示すフローチャートである。
〔Ｓ１１〕カウンタＣ１−１〜Ｃ１−３は、フロー毎にトラフィック流量を計測し、ＣＰＵ２ａへ通知する。
【０１１１】
〔Ｓ１２〕ＣＰＵ２ａは、計測結果が設定帯域を超えるか否かを判断する。超える場合はステップＳ１３へ行き、超えない場合はステップＳ１１へ戻る。
〔Ｓ１３〕ＣＰＵ２ａは、バーストトラフィック用のスケジューラ２２ｂ−１を起動し、該当の切替回路をＯＮにする。
【０１１２】
〔Ｓ１４〕スケジューラ２２ｂ−１は、バーストトラフィックが発生しているキューからフレーム読み出しを行う。
〔Ｓ１５〕ＣＰＵ２ａは、計測結果が設定帯域を超えるか否かを判断する。超える場合はステップＳ１４へ行き、超えない場合はステップＳ１６へ行く。
【０１１３】
〔Ｓ１６〕ＣＰＵ２ａは該当の切替回路をＯＦＦにし、スケジューラ２２ｂ−１から元のスケジューラ２２ａ−１に切り替える。
以上説明したように、バーストトラフィック分の帯域を、バーストトラフィック用に特化したスケジューラでスケジューリング処理する構成とした。これにより、バーストトラフィック分の帯域を柔軟に与えることができ、かつバーストトラフィックを速やかに読み出すことができ、フレームドロップを抑制することが可能になる。
【０１１４】
次に余剰帯域のスケジューリング処理について説明する。図１８はスケジューリング処理部の構成例を示す図である。スケジューリング処理部２２−１ｂは、入力キューｑｉ−１〜ｑｉ−３、カウンタＣ１−１〜Ｃ１−３、切替部２２ｄ、２２ｅ、２２ｆ、スケジューラ２２ａ−１、２２ｂ−１、２２ｃ−１、２２ｄ−１、上限帯域設定部３１〜３３および出力キューｑｏ−１を備える。
【０１１５】
図１６の構成に対して、新たに上限帯域設定部３１〜３３とスケジューラ２２ｄ−１が設けられている、図１６のスケジューラ２２ａ−１では設定帯域（最低帯域）と余剰帯域を同時に処理していたが、図１８ではスケジューラ２２ａ−１は設定帯域用であり、各フローの設定帯域分までを読み出す。また、スケジューラ２２ａ−１の入力段には、上限帯域設定部３１〜３３を配置して、設定帯域以上を読み出さないように制御している。
【０１１６】
一方、スケジューラ２２ｄ−１は、キューｑｉ−１〜ｑｉ−３から余剰帯域分のデータの読み出しスケジューリングを独立して行う余剰帯域用のスケジューラである。余剰帯域用のスケジューラ２２ｄ−１で余剰帯域のみの制御を行う。
【０１１７】
図１９は余剰帯域のスケジューリング処理の動作を示すフローチャートである。
〔Ｓ２１〕入力Ｉ／Ｆ部２５−１〜２５−ｎは、アルゴリズムフィールドを持つ制御フレームを受信する。
【０１１８】
〔Ｓ２２〕ＣＰＵ２ａは、余剰帯域用のスケジューラ２２ｄ−１にアルゴリズムを設定する。
〔Ｓ２３〕スケジューラ２２ｄ−１は、指定されたアルゴリズムにもとづき、キューから余剰帯域分のフレーム読み出し処理を行う。
【０１１９】
以上説明したように、余剰帯域に特化したスケジューラを設けて、余剰帯域分のスケジューリングを設定帯域用スケジューラとは独立して行う構成とした。ここで、設定帯域と余剰帯域とを共にスケジューリングしていたスケジューラでは、あるフローに対する出力比率の変更が生じたとき、設定帯域の比率が変わってしまう。このため、他のフローの出力比率にも影響が出てしまい、例えば、他のフローの出力が当初の設定帯域よりも下回ってしまうといったことが起きるおそれがあった。
【０１２０】
これに対し、余剰帯域を独立してスケジューリングするスケジューラを設けておくことで、あるフローに対する出力比率の変更が生じたときは、余剰帯域側の比率を変更して対応することができる。このため、当初の設定帯域を確保することができ、安定した帯域制御を行うことが可能になる。また、各フローに与えている余剰帯域分の管理が容易となるので、課金情報などにも反映しやすくなる。
【０１２１】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
【符号の説明】
【０１２２】
１  通信システム
１−１、１−２  通信装置
１ａ−１、１ａ−２  自律帯域制御部
１ｂ−１、１ｂ−２  送信部
Ｂ１、Ｂ２  変更帯域
【図１】
0005703980.tif 000002
【図２】
0005703980.tif 000003
【図３】
0005703980.tif 000004
【図４】
0005703980.tif 000005
【図５】
0005703980.tif 000006
【図６】
0005703980.tif 000007
【図７】
0005703980.tif 000008
【図８】
0005703980.tif 000009
【図９】
0005703980.tif 000010
【図１０】
0005703980.tif 000011
【図１１】
0005703980.tif 000012
【図１２】
0005703980.tif 000013
【図１３】
0005703980.tif 000014
【図１４】
0005703980.tif 000015
【図１５】
0005703980.tif 000016
【図１６】
0005703980.tif 000017
【図１７】
0005703980.tif 000018
【図１８】
0005703980.tif 000019
【図１９】
0005703980.tif 000020