(57)【要約】【課題】過剰な帯域を用いることなく、速やかに輻輳を解消する。【解決手段】通信装置は、パケットが属するコネクションの識別子と、当該コネクションにおけるトラヒック量の予測値と、を保持し、前記コネクションが収容されるパスの識別子と、当該パスの代替となるパスの識別子と、を保持し、前記複数のパスの各々におけるトラヒック量の予測値を保持し、パケットを受信した場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、当該コネクションが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、前記受信したパケットの量と、に基づいて、前記受信したパケットが属するコネクションが収容されるパスを前記第１のパスから前記第２のパスへ切り替えるか否かを決定し、前記決定に従って、前記第１のパス又は前記第２のパスに、前記受信したパケットを転送する。【選択図】図１
2014195185.tif 000002
【特許請求の範囲】
【請求項１】
複数のパスに接続され、受信したパケットを前記複数のパスの一つへ転送する通信装置であって、
前記通信装置は、
前記パケットが属するコネクションの識別子と、当該コネクションにおけるトラヒック量の予測値と、を保持するコネクション予測値記憶部と、
前記コネクションが収容されるパスの識別子と、当該パスの代替となるパスの識別子と、を保持する設定記憶部と、
前記複数のパスの各々におけるトラヒック量の予測値を保持するパス予測値記憶部と、
パケットを受信した場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、当該コネクションが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、前記受信したパケットの量と、に基づいて、前記受信したパケットが属するコネクションが収容されるパスを前記第１のパスから前記第２のパスへ切り替えるか否かを決定するパケット処理部と、
前記決定に従って、前記第１のパス又は前記第２のパスに、前記受信したパケットを転送するスイッチ部と、を有することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記通信装置は、
前記パスを通過可能なパケットのトラヒック量を保持する帯域監視記憶部を有し、
前記パケット処理部は、
前記パケットを受信した場合、前記第１のパスを通過可能なパケットのトラヒック量と、前記受信したパケット長と、に基づいて、前記受信したパケットが前記第１のパスを通過する際に輻輳が発生するか否かを判定し、
前記受信したパケットが前記第１のパスを通過する際に輻輳が発生すると判定された場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、前記第２のパスにおけるトラヒック量の予測値と、に基づいて、前記第１のパスから前記第２のパスへ切り替えるか否かを決定することを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記パス予測値記憶部は、前記複数のパスの各々におけるトラヒック上限量を保持し、
前記パケット処理部は、
前記受信したパケットが属するコネクションにおけるトラヒック量の予測値を、前記第２のパスにおけるトラヒック量の予測値に加算し、
前記加算された結果が、前記第２のパスの上限量を超えない場合、前記第１のパスから前記第２のパスへ切り替えると決定することを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記コネクション予測値記憶部は、複数の期間の各々における、前記トラヒック量の予測値を保持し、
前記パス予測値記憶部は、前記複数の期間の各々における、前記トラヒック量の予測値を保持し、
前記パケット処理部は、
前記受信したパケットが属するコネクションにおけるトラヒック量の予測値を、前記第２のパスにおけるトラヒック量の予測値に、前記複数の期間の各々において加算することによって、複数の第１の加算結果を取得し、
前記複数の第１の加算結果の全てが、前記第２のパスの上限量以下である場合、前記第１のパスから前記第２のパスへ切り替えると決定することを特徴とする通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記パケット処理部は、
前記複数の第１の加算結果の少なくとも一つが前記第２のパスの上限量を超える場合、前記第１のパスに収容されるパケットのコネクションのうち、前記受信したパケットが属するコネクション以外のコネクションを、候補コネクションとして抽出し、
前記候補コネクションにおけるトラヒック量の予測値と、前記候補コネクションに属するパケットが収容されるパスの代替パスである第３のパスにおけるトラヒック量の予測値と、に基づいて、前記候補コネクションが収容されるパスを、前記第３のパスに切り替えるか否かを決定することを特徴とする通信装置。
【請求項６】
請求項４又は５に記載の通信装置であって、
前記通信装置は、前記パケットの出力先を管理する管理部を有し、
前記パケット処理部は、前記複数の第１の加算結果の少なくとも一つが前記第２のパスの上限量を超える場合、前記設定記憶部に、前記パスの切替えが失敗したか否かを示すフラグを格納し、
前記管理部は、
前記設定記憶部に前記パスの切替えが失敗したことを示すフラグが格納されている場合、前記第１のパスに収容されるパケットのコネクションのうち、前記受信したパケットが属するコネクション以外の少なくとも一つのコネクションを、候補コネクションとして抽出し、
前記候補コネクションにおけるトラヒック量の予測値と、前記候補コネクションに属するパケットが収容されるパスの代替パスである第３のパスにおけるトラヒック量の予測値と、に基づいて、前記候補コネクションが収容されるパスを前記第３のパスに切り替えるか否かを決定することを特徴とする通信装置。
【請求項７】
請求項６に記載の通信装置であって、
前記管理部は、
前記設定記憶部を参照し、
前記設定記憶部にパスの切替えが失敗したことを示すフラグが格納されるか否かを判定し、
前記候補コネクションが収容されるパスを第３のパスに切り替えると決定した場合、前記設定記憶部に格納されたフラグを、前記コネクションが収容されるパスの切り替えが成功したことを示すフラグに更新することを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記コネクション予測値記憶部は、前記コネクションに提供するサービスレベルを、さらに保持し、
前記パケット処理部は、前記サービスレベルが前記パスの切替えが必要ないことを示す場合、前記第１のパスを前記第２のパスへ切り替えないことを決定することを特徴とする通信装置。
【請求項９】
請求項８に記載の通信装置であって、
前記サービスレベルが遅延保証を示す場合、前記パケット処理部は、前記第１のパスを前記第２のパスへ切り替えないことを決定し、
前記サービスレベルがベストエフォートを示す場合、受信したパケットが属するコネクションにおけるトラヒック量の予測値と、前記受信したパケットが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、に基づいて、前記第１のパスを前記第２のパスへ切り替えるか否かを決定することを特徴とする通信装置。
【請求項１０】
請求項９に記載の通信装置であって、
前記通信装置は、ネットワーク管理装置に接続され、
前記管理部は、前記複数の第２の加算結果の少なくとも一つが、前記第３のパスの上限量を超える場合、パスの切り替えが不可であることを、前記ネットワーク管理装置に通知することを特徴とする通信装置。
【請求項１１】
複数のパスに接続され、受信したパケットを前記複数のパスの一つへ転送する通信装置と、前記通信装置に接続されるネットワーク管理装置とを有する通信システムであって、
前記通信装置は、
前記ネットワーク管理装置から、前記パケットが属するコネクションにおけるトラヒック量の予測値を受信するインタフェースと、
前記パケットが属するコネクションの識別子と、当該コネクションにおけるトラヒック量の予測値と、を保持するコネクション予測値記憶部と、
前記コネクションが収容されるパスの識別子と、当該パスの代替となるパスの識別子と、を保持する設定記憶部と、
前記複数のパスの各々におけるトラヒック量の予測値を保持するパス予測値記憶部と、
パケットを受信した場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、当該コネクションが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、前記受信したパケットの量と、に基づいて、前記受信したパケットが属するコネクションが収容されるパスを前記第１のパスから前記第２のパスへ切り替えるか否かを決定するパケット処理部と、
前記決定に従って、前記第１のパス又は前記第２のパスに、前記受信したパケットを転送するスイッチ部と、を有することを特徴とする通信システム。
【請求項１２】
請求項１１に記載の通信システムであって、
前記通信装置は、
前記パスを通過可能なパケットのトラヒック量を保持する帯域監視記憶部を有し、
前記パケット処理部は、
前記パケットを受信した場合、前記第１のパスを通過可能なパケットのトラヒック量と、前記受信したパケット長と、に基づいて、前記受信したパケットが前記第１のパスを通過する際に輻輳が発生するか否かを判定し、
前記受信したパケットが前記第１のパスを通過する際に輻輳が発生すると判定された場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、前記第２のパスにおけるトラヒック量の予測値と、に基づいて、前記第１のパスから前記第２のパスへ切り替えるか否かを決定することを特徴とする通信システム。
【請求項１３】
複数のパスに接続され、受信したパケットを前記複数のパスの一つへ転送する通信装置における通信方法であって、
前記通信装置は、
前記パケットが属するコネクションの識別子と、当該コネクションにおけるトラヒック量の予測値と、を保持するコネクション予測値記憶部と、
前記コネクションが収容されるパスの識別子と、当該パスの代替となるパスの識別子と、を保持する設定記憶部と、
前記複数のパスの各々におけるトラヒック量の予測値を保持するパス予測値記憶部と、
前記パケットを処理するパケット処理部と、を有し、
前記方法は、
前記パケット処理部が、パケットを受信した場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、当該コネクションが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、前記受信したパケットの量と、に基づいて、前記受信したパケットが属するコネクションが収容されるパスを前記第１のパスから前記第２のパスへ切り替えるか否かを決定する第１の手順と、
前記パケット処理部が、前記決定に従って、前記第１のパス又は前記第２のパスに、前記受信したパケットを転送する第２の手順と、を含むことを特徴とする通信方法。
【請求項１４】
請求項１３に記載の通信方法であって、
前記通信装置は、前記パスを通過可能なパケットのトラヒック量を保持する帯域監視記憶部を有し、
前記第１の手順は、
前記パケット処理部が、前記パケットを受信した場合、前記第１のパスを通過可能なパケットのトラヒック量と、前記受信したパケット長と、に基づいて、前記受信したパケットが前記第１のパスを通過する際に輻輳が発生するか否かを判定する手順と、
前記受信したパケットが前記第１のパスを通過する際に輻輳が発生すると判定された場合、前記パケット処理部が、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、前記第２のパスにおけるトラヒック量の予測値と、に基づいて、前記第１のパスから前記第２のパスへ切り替えるか否かを決定する手順と、を含むことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
企業活動のＩＴ化、及びスマートフォンなどの高速端末の普及に伴い、有線による通信であるか、又は、無線による通信であるかに関わらず、通信によって発生するトラヒックは、急激に増加している。通信キャリアは、そのようなトラヒックの増大に従って、キャリアネットワークの高速化、及び大容量化を余儀なくされている。
【０００３】
通信キャリアが提供するキャリアネットワークは、従来、安定したネットワークサービスの提供が最優先であったため、静的な運用が前提であった。このため、キャリアネットワークにおいて帯域を設計する方法として、変動するトラヒックのピークにあわせて帯域を設計する方法（オーバエンジニアリング）が主流であった。
【０００４】
また、通常のオーバプロビジョニングは、ピークのトラヒック量にあわせるだけでなく、その後数年のトラヒックの伸びも考慮して帯域を設計する方法である。このため、オーバプロビジョニングにより設計された帯域の量には、平均のトラヒック量と比較して、非常に大きな量が確保されていた。
【０００５】
一方、現在、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びメモリ等の高速化及び低価格化が進んだことで、サーバ等に用いられる計算機は、ソフトウェアを安価に高速に処理することが可能となってきた。そして、サーバが高性能化することに伴い、サーバが、ソフトウェアによってシステムを動的に制御する技術が注目を集めている。
【０００６】
動的にシステムを制御する技術には、Ｂｉｇ  Ｄａｔａ、及び、ＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）等がある。Ｂｉｇ  Ｄａｔａは、大量のデータを一度に収集し、収集されたデータを分析した結果をシステムの制御に動的にフィードバックする技術である。ＳＤＮは、全ての通信装置をソフトウェアによって動的に制御する技術である。
【０００７】
このようなソフトウェアによるシステムの動的な制御により、サーバは、過去のトラヒックの通信状況を収集し、収集されたトラヒックを分析し、分析結果からユーザの使用量を予測し、通信装置の設定を予測に基づいて動的に変更する、などの制御処理が可能となってきた。具体的には、各ユーザの実際のトラヒック量を収集し、トラヒック量をデータとして蓄積し、蓄積されたデータを分析する技術が提案されている（例えば、特許文献１参照）。
【０００８】
その結果、サーバは、ユーザ各々の通信におけるトラヒック量を予測できるため、各リンクの帯域を超過しないような最適なユーザの組み合わせを考慮して通信の経路（パス）を選択できる。例えば、オフィスユーザのように昼間にトラヒックの多いユーザ、及び、ホームユーザのように夜間にトラヒックの多いユーザなど、トラヒック量が多い時間帯が異なるユーザを効率よくネットワークに収容できるように、サーバは、ネットワークを動的に制御することが可能である。これにより、通信キャリアは、従来のオーバプロビジョニングから脱却し、キャリアネットワークの帯域を効率的に利用できる。
【０００９】
さらに、帯域設計されたネットワークにおいて輻輳が発生した場合、制御サーバが、輻輳を検出したユーザのパスを再設定する技術が提案されている（例えば、特許文献２参照）。特許文献２には、「トランスポート制御サーバ１００は、パス追加要求を受信すると追加パスを割り当てた後の集約パスのトラフィック帯域が、迂回先経路の空き容量を越えないように追加パスを集約パスに割り当てる。」ことが記載されている。これにより、前述のようなトラヒックの予測が外れた場合でも、輻輳による通信品質の低下を復旧することが可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−０４９８９１号公報
【特許文献２】特開２０１０−１４１７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
帯域の予測には一定の不確定性が必ず含まれ、予測精度が１００％になることはない。そこで、予測精度を限りなく１００％に近づければ近づけようとした場合、オーバプロビジョニングと同様にピークに合わせたマージンの多いプロビジョニングが必要となり、帯域の無駄が大きくなる。
【００１２】
帯域の予測がはずれた場合、特許文献２における制御サーバは、輻輳を解消するため、制御サーバのソフトウェアを用いて、切り替え後のパスにおいて各リンクなどの帯域が不足しないことを確認した後に、パスを切り替える。しかし、特許文献２のように制御サーバがトラヒックの予測値を再度計算し、全ノードへ再設定する場合、そのフィードバックには通常数分以上の長い時間が必要となる。このため、再計算中に状況が変動してしまい、フィードバックが効果的に動作しないという課題があった。
【００１３】
本発明の目的は、ネットワークにおいて発生した輻輳を、過剰な帯域を用意することなく、速やかに解消するシステムの提供である。
【課題を解決するための手段】
【００１４】
本発明の代表的な一例を示せば以下の通りである。すなわち、複数のパスに接続され、受信したパケットを前記複数のパスのうちの一つへ転送する通信装置であって、前記通信装置は、前記パケットが属するコネクションの識別子と、当該コネクションにおけるトラヒック量の予測値と、を保持するコネクション予測値記憶部と、前記コネクションが収容されるパスの識別子と、当該パスの代替となるパスの識別子と、を保持する設定記憶部と、前記複数のパスの各々におけるトラヒック量の予測値を保持するパス予測値記憶部と、パケットを受信した場合、前記受信したパケットが属するコネクションにおけるトラヒック量の予測値と、当該コネクションが収容される第１のパスの代替となる第２のパスにおけるトラヒック量の予測値と、前記受信したパケットの量と、に基づいて、前記受信したパケットが属するコネクションが収容されるパスを前記第１のパスから前記第２のパスへ切り替えるか否かを決定するパケット処理部と、前記決定に従って、前記第１のパス又は前記第２のパスに、前記受信したパケットを転送するスイッチ部と、を有する。
【発明の効果】
【００１５】
本発明の一実施形態によると、過剰な帯域を用いることなく、輻輳を速やかに解消できる。
【００１６】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】本実施例１の通信システムの構成と動作との概要を示す説明図である。
【図２】本実施例１のユーザの各々に対応するトラヒック量の予測値の一例を示す説明図である。
【図３】本実施例１のトラヒックの各々を収容後の各パスにおける、予測値の積算値を示す説明図である。
【図４】本実施例１のイーサネット（登録商標、以下同じ）におけるパケットのフォーマットを示す説明図である。
【図５】本実施例１のＭＰＬＳを用いたパケットのフォーマットを示す説明図である。
【図６】本実施例１の通信装置の物理的な構成を示すブロック図である。
【図７】本実施例１の装置内ヘッダを示す説明図である。
【図８】本実施例１のコネクションＩＤ決定テーブルを示す説明図である。
【図９】本実施例１の入力ヘッダテーブルを示す説明図である。
【図１０】本実施例１のラベル設定テーブル示す説明図である。
【図１１】本実施例１の帯域監視テーブルを示す説明図である。
【図１２】本実施例１のコネクション予測帯域テーブルを示す説明図である。
【図１３】本実施例１のパス予測帯域テーブルを示す説明図である。
【図１４】本実施例１のパケット転送テーブルを示す説明図である。
【図１５】本実施例１の入力パケット処理を示すフローチャートである。
【図１６】本実施例１の入力パケット処理のうち、収容されるパスを切り替える処理を示すフローチャートである。
【図１７】本実施例１のパス毎の帯域監視処理を示すフローチャートである。
【図１８】本実施例１のＮＩＦ管理部によるポーリング処理を示すフローチャートである。
【図１９】本実施例１のポーリング処理において収容されるパスを切り替える処理を示すフローチャートである。
【図２０】本実施例２の通信装置の構成を示すブロック図である。
【図２１】本実施例２のコネクション予測帯域テーブルを示す説明図である。
【図２２】本実施例２の入力パケット処理を示すフローチャートである。
【図２３】本実施例２のポーリング処理において収容されるパスを切り替える処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施例について、図面を参照して説明する。
【実施例１】
【００１９】
図１は、本実施例１の通信システムの構成と動作との概要を示す説明図である。
【００２０】
本実施例の通信システムは、複数の通信装置１０（１０Ａ〜１０Ｅ）、ネットワーク管理システム（ＮＭＳ）２０、中継ネットワーク３０、複数のユーザ端末（ＴＥ：Ｔｅｒｍｉｎａｌ  Ｅｑｕｉｐｍｅｎｔ）６０（６０Ａ〜６０Ｃ）、及び、サーバ（ＳＮ：Ｓｅｒｖｅｒ  Ｎｏｄｅ）７０を有する。
【００２１】
通信装置１０の各々は、エッジ装置及び中継装置の機能を有し、物理的な構成が同じである。通信装置１０は、あらかじめ設定されるパラメータ、又は、入力されるパケットに従って、エッジ装置又は中継装置として機能する。
【００２２】
通信装置１０Ａ及び通信装置１０Ｅは、図１に示す通信システムにおいて、中継ネットワーク３０のエッジ装置として機能し、通信装置１０Ｂ、通信装置１０Ｃ及び通信装置１０Ｄは、図１に示す通信システムにおいて、中継ネットワーク３０の中継装置として機能する。
【００２３】
ＴＥ６０は、ユーザがＳＮ７０からサービス等を受けるため、ＳＮ７０にパケットを送信する計算機である。ＳＮ７０は、ＴＥ６０から送信されたパケットを受信する計算機である。
【００２４】
ＴＥ６０Ａを用いるユーザを、ユーザＡと記載し、ＴＥ６０Ｂを用いるユーザを、ユーザＢと記載し、ＴＥ６０Ｃを用いるユーザを、ユーザＣと記載する。そして、本実施例において、例えばＴＥ６０Ａによる通信を、ユーザＡによる通信と記載する場合がある。
【００２５】
通信装置１０Ａ及び通信装置１０Ｅは、ＴＥ６０から送信されるパケットの属性に従って、パケットをユーザごとに識別する。実施例１の通信装置１０Ａ及び通信装置１０Ｅは、ユーザによる通信をコネクションとして識別する。
【００２６】
中継ネットワーク３０は、通信装置１０Ａと通信装置１０Ｅとが相互に通信するためのネットワークである。図１に示す通信装置１０Ａと通信装置１０Ｅとは、パス５０Ａ（ＰＳ１）及びパス５０Ｂ（ＰＳ２）を介して通信する。
【００２７】
図１に示す通信装置１０Ａは、ＴＥ６０Ａ、ＴＥ６０Ｂ又はＴＥ６０Ｃからパケット４０を受信した場合、受信したパケット４０をパケット４１に変換し、パス５０Ａ（ＰＳ１）又はパス５０Ｂ（ＰＳ２）を介してパケット４１を通信装置１０Ｅへ転送する。そして、通信装置１０Ｅは、受信したパケット４１をパケット４０に変換し、パケット４０をＳＮ７０へ送信する。
【００２８】
ＮＭＳ２０は、プロセッサを有する計算機であり、エッジ装置の間、すなわち、通信装置１０Ａと通信装置１０Ｅとの間に複数のパス５０を設定する（Ｐ８０）。ＮＭＳ２０は、自らが有するプログラムを実行するサーバである。図１に示すＮＭＳ２０は、パス５０Ａ及びパス５０Ｂを設定する。
【００２９】
パス５０Ａは、通信装置１０Ａ、通信装置１０Ｂ及び通信装置１０Ｅを通過するパスである。パス５０Ｂは、通信装置１０Ａ、通信装置１０Ｃ、通信装置１０Ｄ及び通信装置１０Ｅを通過するパスである。本実施例のパス５０Ａ及びパス５０Ｂは、送信元が通信装置１０Ａであるパスであり、かつ、送信先が通信装置１０Ｅであるパスである。
【００３０】
また、図１に示すＮＭＳ２０は、パス５０Ａ及びパス５０Ｂの各々に１００Ｍｂｐｓの帯域を割り当てる。実施例１のＮＭＳ２０は、ＴＥ６０の各々に対応するトラヒックの予測値（コネクションにおけるトラヒックの予測値）を算出し、通信装置１０Ａ及び通信装置１０Ｅに算出されたトラヒックの予測値を通知する（Ｐ８１）。ここで、この予測値の具体例を図２に示す。
【００３１】
図２は、本実施例１のユーザの各々に対応するトラヒック量の予測値の一例を示す説明図である。
【００３２】
ＮＭＳ２０は、中継ネットワーク３０に流れるトラヒック量を通信装置１０を介して取得し、取得されたトラヒック量に基づいて統計情報を生成する。そして、ＮＭＳ２０は、生成された統計情報に基づいて、ＴＥ６０の各々に対応するトラヒック量の将来の予測値を算出する。ＮＭＳ２０は、例えば、特許文献１に記載の技術を用いることによって、予測値を算出する。
【００３３】
そして、ＮＭＳ２０は、算出されたトラヒック量の予測値を通信装置１０に送信し、通信装置１０は、ＮＭＳ２０から送信された予測値を自らに設定する（Ｐ８１）。
【００３４】
実施例１におけるＮＭＳ２０は、早朝（０〜８時）、昼間（８〜１７時）及び夜間（１７〜２４時）の３期間に、１日における期間を区切り、３期間の各々におけるトラヒック量の予測値を算出する。ただし、ＮＭＳ２０は、一つの予測値を算出してもよく、例えば、１日におけるトラヒックの上限値の平均値を予測値として算出してもよい。
【００３５】
図２（ａ）は、本実施例１のユーザＡに対応するトラヒック量の予測値の一例を示す説明図である。
【００３６】
図２（ｂ）は、本実施例１のユーザＢに対応するトラヒック量の予測値の一例を示す説明図である。
【００３７】
図２（ｃ）は、本実施例１のユーザＣに対応するトラヒック量の予測値の一例を示す説明図である。
【００３８】
図２（ａ）及び図２（ｃ）は、ＴＥ６０Ａ及びＴＥ６０Ｃによるトラヒック量が、早朝及び夜間において、昼間のトラヒック量よりも小さいことを示す。このため、ユーザＡ及びユーザＣは、例えば、企業において昼間ＴＥ６０を用いるユーザであると想定される。
【００３９】
一方、図２（ｂ）は、ＴＥ６０Ｂによるトラヒック量が、早朝と昼間とにおいて、夜間のトラヒック量よりも小さいことを示す。このため、ユーザＢは、例えば単身者であり、自宅において夜にＴＥ６０を用いるユーザであると想定される。
【００４０】
実施例１の通信装置１０は、図２（ａ）〜図２（ｃ）に示すトラヒックの予測値に基づいて、パス５０の各々に割り当てられる帯域１００Ｍｂｐｓを超過しないように、図３に示すように各ユーザによるトラヒックを収容するパス５０を決定する。
【００４１】
図３は、本実施例１のトラヒックの各々を収容後の各パスにおける、予測値の積算値を示す説明図である。
【００４２】
図３（ａ）は、本実施例１のパス５０Ａに収容されるトラヒックの予測値の積算値を示す説明図である。
【００４３】
通信装置１０は、ユーザＡのトラヒックの予測値とユーザＢのトラヒックの予測値とを３期間の各々において積算した場合、図３（ａ）に示す積算値を算出する。図３（ａ）に示す積算値は、すべての期間においてパス５０Ａに割り当てられた１００Ｍｂｐｓを越えない。このため、実施例１の通信装置１０は、パス５０Ａに収容されるトラヒックとして、ユーザＡのトラヒックとユーザＢのトラヒックとの組合せを決定する。
【００４４】
図３（ｂ）は、本実施例１のパス５０Ｂに収容されるトラヒックの予測値の積算値を示す説明図である。
【００４５】
さらに、実施例１の通信装置１０は、ユーザＣのトラヒックの予測値がすべての期間において１００Ｍｂｐｓを超えないため、ユーザＣのトラヒックをパス５０Ｂに収容することを決定する。
【００４６】
オーバエンジニアリングを用いる場合、トラヒックの各々は、期間に関係なく各ユーザのトラヒックの最大値の積算値によって、パス５０に割り当てられる。図２（ａ）〜図２（ｃ）によれば、ユーザＡの最大値は８０Ｍｂｐｓであり、ユーザＢの最大値は７０Ｍｂｐｓであり、ユーザＣの最大値は８０Ｍｂｐｓである。このため、仮にＮＭＳ２０がオーバエンジニアリングを用いてユーザをパスに割り当てる場合、いずれのユーザを組み合わせても、１００Ｍｂｐｓの２つのパス５０がユーザのトラヒックを収容することは不可能であると判定する。
【００４７】
一方で、実施例１の図３に示す方法によれば、通信装置１０は、予測値が多い期間が異なるユーザのトラヒックを、効率よく一つのパス５０に収容させることができる。このため、実施例１の通信システムは、１００Ｍｂｐｓのパス５０に全ユーザを収容することが可能になる。
【００４８】
実施例１の通信装置１０は、パケットを受信するタイミングにおいて、パス５０の各々を通過する帯域を監視する。そして通信装置１０は、例えば、受信したパケットをパス５０Ａに転送した場合、パス５０Ａを通過する帯域がパス５０Ａにあらかじめ定められる帯域（閾値）を超過することを検出した場合、受信したパケットが転送されるパスを切り替えることができるか否かを判定する。そして、通信装置１０は、受信したパケットが転送されるパスを切り替えることができない場合、パス５０Ａに収容されるユーザの中から、ＮＭＳ２０から送信されたトラヒックの予測値に基づいて切り替えるべきユーザを決定し、決定されたユーザが収容されるパスを切り替える（図１に示すＰ８２）。
【００４９】
図４は、本実施例１のイーサネットにおけるパケット４０のフォーマットを示す説明図である。
【００５０】
パケット４０は、通信装置１０ＡがＴＥ６０Ａ、ＴＥ６０Ｂ及びＴＥ６０Ｃと、イーサネットを用いて通信するためのパケットであり、また、通信装置１０ＥがＳＮ７０と通信するためのパケットである。パケット４０は、ＭＡＣヘッダ、ペイロード部４０５及びパケットチェックシーケンス（ＦＣＳ）４０６を含む。
【００５１】
ＭＡＣヘッダは、宛先ＭＡＣアドレス４０１、送信元ＭＡＣアドレス４０２、ＶＬＡＮタグ４０３及びイーサタイプ値４０４を含む。宛先ＭＡＣアドレス４０１と送信元ＭＡＣアドレス４０２とには、ＴＥ６０Ａ、ＴＥ６０Ｂ、ＴＥ６０Ｃ及びＳＮ７０のうちいずれかのＭＡＣアドレスが格納される。
【００５２】
ＶＬＡＮタグ４０３は、ＴＥ６０又はユーザの各々によるパケットを識別するための値を含み、本実施例においてＶＬＡＮ  ＩＤ（ＶＩＤ）を含む。本実施例において、ＴＥ６０又はユーザによる通信をコネクションと記載し、ＶＩＤはコネクションを識別するために用いられる。しかし、ＴＥ６０又はユーザによる通信を識別することができる方法であれば、いかなる方法が用いられてもよく、ＶＬＡＮタグ４０３にいかなる識別子が格納されてもよい。
【００５３】
イーサタイプ値４０４は、後続するヘッダの種類を示す。ペイロード部４０５は、アプリケーション等によって用いられるデータを含み、ＦＣＳ４０６は、パケット４０の誤り制御のために用いられる。
【００５４】
図５は、本実施例１のＭＰＬＳを用いたパケット４１のフォーマットを示す説明図である。
【００５５】
パケット４１は、通信装置１０Ａ及び通信装置１０Ｅが、中継ネットワーク３０内において送受信するパケットである。本実施例のパケット４１のフォーマットには、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）を用いてイーサネットを収容する際に使用されるＰｓｕｄｏ  Ｗｉｒｅ（ＰＷ）フォーマットが用いられる。パケット４１は、ＭＡＣヘッダ、ＭＰＬＳラベル４１４−１、ＭＰＬＳラベル４１４−２、ペイロード部４１５及びＦＣＳ４１６を含む。
【００５６】
ＭＡＣヘッダは、宛先ＭＡＣアドレス４１１、送信元ＭＡＣアドレス４１２、及び、イーサタイプ値４１３を含む。宛先ＭＡＣアドレス４１１と送信元ＭＡＣアドレス４１２とには、通信装置１０Ａ又は通信装置１０ＢのＭＡＣアドレスが格納される。イーサタイプ値４１３は、後続するヘッダの種類を示す。
【００５７】
実施例１のパケット４１は、ＭＰＬＳラベルとして二段のラベルを有する。ＭＰＬＳラベル４１４−１は、１段目のＭＰＬＳラベル（ＬＳＰラベル）であり、中継ネットワーク３０内の転送経路を示す。ＭＰＬＳラベル４１４−２は、２段目のＭＰＬＳラベル（ＰＷラベル）であり、ユーザ又はサービスを一意に示す。
【００５８】
ペイロード部４１５は、図４に示すパケット４０がカプセル化されて格納される領域である。ＦＣＳ４１６は、パケット４１の誤り制御に用いられる。
【００５９】
図６は、本実施例１の通信装置１０の物理的な構成を示すブロック図である。
【００６０】
通信装置１０は、複数のネットワークインタフェースボード（ＮＩＦ）１３（１３−１〜１３−ｎ）、スイッチ部１１、パケット転送テーブル２７及び装置管理部１２を有する。ＮＩＦ１３は、パケット４０又はパケット４１を受信し、パケット４０又はパケット４１を送信するインタフェースである。
【００６１】
スイッチ部１１は、ＮＩＦ１３に接続され、パケット転送テーブル２７に基づいてパケットの宛先等を検索する。パケット転送テーブル２７は、パケット４０又はパケット４１の送信元と宛先とを示す。
【００６２】
装置管理部１２は、通信装置１０を管理し、ＮＭＳ２０に接続される。装置管理部１２は、ユーザの各々のトラヒックによる予測帯域をＮＭＳ２０から受信した場合、コネクション予測帯域テーブル２５に値を格納する。
【００６３】
ＮＩＦ１３の各々は、複数のイーサネットＩＦ１０１（１０１−１〜１０１−ｎ）、複数のＳＷインタフェース１０２（１０２−１〜１０２−ｎ）、入力パケット処理部１０３、出力パケット処理部１０４、ＮＩＦ管理部１０５、設定レジスタ１０６、コネクションＩＤ決定テーブル２１、入力ヘッダテーブル２２、ラベル設定テーブル２３、帯域監視テーブル２４、コネクション予測帯域テーブル２５及びパス予測帯域テーブル２６を有する。
【００６４】
図６に示すＮＩＦ１３の処理部は、集積回路等の演算装置を有する物理的な装置によって実装され、ＮＩＦ１３が有するテーブルは、ＣＡＭ（Ｃｏｎｔｅｎｔ−ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）等の物理的な装置によって実装される。しかし、ＮＩＦ１３が有する各処理部は、必要に応じて、論理的なプログラムによって実装されてもよい。また、ＮＩＦ１３が有するテーブルの各々の情報も、一つのメモリの記憶領域に格納されてもよい。
【００６５】
イーサネットＩＦ１０１は、通信装置１０外部からパケットを受信するポートと通信装置１０の外部へパケットを送信するポートとを有する。イーサネットＩＦ１０１は、これらのポートを介して、その他の通信装置１０、ＴＥ６０又はサーバ７０と接続される。
【００６６】
実施例１において、イーサネットＩＦ１０１は、イーサネット用の回線インタフェースであるが、イーサネット用の回線インタフェースに限られず、いかなる方法を用いた回線インタフェースであってもよい。
【００６７】
設定レジスタ１０６は、処理部の各々において実行される処理に、パラメータ等を提供するレジスタである。ＮＩＦ管理部１０５は、コネクションが収容されるパスの割り当てが適当であるか否かを判定する処理部である。
【００６８】
入力パケット処理部１０３は、イーサネットＩＦ１０１に接続され、時刻カウンタ１０３１を有する。時刻カウンタ１０３１は、入力パケット処理部１０３が保持する時刻を示し、一定の速度でカウントアップされる。
【００６９】
ＳＷインタフェース１０２は、スイッチ部１１に接続され。出力パケット処理部１０４は、ＳＷインタフェース１０２に接続される。
【００７０】
ＳＷインタフェース１０２の各々は、イーサネットＩＦ１０１の各々と対応しており、イーサネットＩＦ１０１−ｉが受信したパケットは、ＳＷインタフェース１０２−ｉを介してスイッチ部１１に転送される。また、スイッチ部１１からＳＷインタフェース１０２−ｉに振り分けられたパケットは、イーサネットＩＦ１０１−ｉを介して、出力回線に出力される。
【００７１】
このため、入力パケット処理部１０３及び出力パケット処理部１０４は、パケットを受信した回線、及び、送信した回線毎に独立な構造を有している。そして、入力パケット処理部１０３及び出力パケット処理部１０４において各回線のパケットが混ざることはない。
【００７２】
イーサネットＩＦ１０１は、入力回線からパケット４０を受信した場合、受信したパケットに、図７に示す装置内ヘッダ４５を付加する。
【００７３】
図７は、本実施例１の装置内ヘッダ４５を示す説明図である。
【００７４】
装置内ヘッダ４５は、コネクションＩＤ４５１と、受信ポートＩＤ４５２と、受信ＮＩＦ  ＩＤ４５３と、パケット長４５４とを示す複数のフィールドを含む。装置内ヘッダ４５は、通信装置１０において用いられるヘッダである。
【００７５】
イーサネットＩＦ１０１は、受信したパケット４０に、装置内ヘッダ４５のフィールドを付加する。そして、イーサネットＩＦ１０１は、設定レジスタ１０６から、パケット４０を受信したポートのＩＤと自らが属するＮＩＦ１３のＩＤとを取得し、取得されたポートのＩＤを受信ポートＩＤ４５２に格納し、取得されたＮＩＦ１３のＩＤを受信ＮＩＦ  ＩＤ４５３に格納する。
【００７６】
一方、イーサネットＩＦ１０１は、コネクションＩＤ４５１に値を格納しない。コネクションＩＤ４５１には、入力パケット処理部１０３によって有効な値が設定される。
【００７７】
また、イーサネットＩＦ１０１は、受信したパケットのパケット長を算出し、算出されたパケット長をパケット長４５４に格納する。
【００７８】
入力パケット処理部１０３は、イーサネットＩＦ１０１から転送されたパケット４０に、後述する入力パケット処理（Ｓ１００）を実行する。入力パケット処理部１０３は、入力パケット処理（Ｓ１００）において、ＮＩＦ１３が有するテーブルの各々を参照し、パケットの装置内ヘッダ４５のコネクションＩＤ４５１にコネクションＩＤを格納する。また、入力パケット処理部１０３は、ヘッダ処理及び帯域監視処理等を必要に応じて、パケット４０に実行する。また、入力パケット処理部１０３は、パケット４０をパケット４１に変換する。
【００７９】
そして、入力パケット処理（Ｓ１００）の後、パケット４１は、ＳＷインタフェース１０２に回線毎に振り分けられ、転送される。
【００８０】
図８は、本実施例１のコネクションＩＤ決定テーブル２１を示す説明図である。
【００８１】
コネクションＩＤ決定テーブル２１は、ＮＩＦ  ＩＤ２１２と、ポートＩＤ２１３と、ＶＬＡＮ  ＩＤ２１４との組合せを検索キーとして、コネクションＩＤ２１１の値を取得するためのテーブルである。コネクションＩＤ決定テーブル２１の値は、例えばネットワーク管理者等によって、あらかじめ設定される。
【００８２】
コネクションＩＤ２１１は、複数の通信装置１０間においてコネクションを一意に特定するためのＩＤであり、双方向で同じＩＤが割り当てられる。実施例１のコネクションＩＤ２１１は、ＴＥ６０の各々によるトラヒックを識別するためのＩＤである。
【００８３】
ＮＩＦ  ＩＤ２１２は、パケット４０を受信したＮＩＦ１３の識別子を示す。ＮＩＦ  ＩＤ２１２は、装置内ヘッダ４５の受信ＮＩＦ  ＩＤ４５３に対応する。
【００８４】
ポートＩＤ２１３は、パケット４０を受信したイーサネットＩＦ１０１のポートの識別子を示す。ポートＩＤ２１３は、装置内ヘッダ４５の受信ポートＩＤ４５２に対応する。
【００８５】
ＶＬＡＮ  ＩＤ２１４は、パケットに格納されるＶＬＡＮ  ＩＤを示す。ＶＬＡＮ  ＩＤ２１４は、パケット４０に含まれるＶＬＡＮタグ４０３の値に対応する。
【００８６】
図９は、本実施例１の入力ヘッダテーブル２２を示す説明図である。
【００８７】
入力ヘッダテーブル２２は、コネクションＩＤ２２１、ＶＬＡＮタグ処理２２２及びＶＬＡＮタグ２２３を含む。入力ヘッダテーブル２２は、コネクションＩＤ２２１を検索キーとして、ＶＬＡＮタグ処理２２２とＶＬＡＮタグ２２３とを示すエントリを検索するためのテーブルである。入力ヘッダテーブル２２の値は、例えばネットワーク管理者等によって、あらかじめ設定される。
【００８８】
コネクションＩＤ２２１は、コネクションＩＤ２１１に対応する。ＶＬＡＮタグ処理２２２は、パケット４０に実行するＶＬＡＮタグ処理を示す。ＶＬＡＮタグ２２３は、ＶＬＡＮタグ処理２２２が示す処理に必要なパラメータを示す。
【００８９】
図１０は、本実施例１のラベル設定テーブル２３を示す説明図である。
【００９０】
ラベル設定テーブル２３は、コネクションＩＤ２３１を検索キーとして、収容回線２３２、パス２３３、切替候補パス２３４、切替フラグ２３５及び切替失敗フラグ２３６とを示すエントリを検索するためのテーブルである。
【００９１】
コネクションＩＤ２３１、収容回線２３２、パス２３３及び切替候補パス２３４の値は、例えばネットワーク管理者等によって、あらかじめ設定される。切替フラグ２３５及び切替失敗フラグ２３６の値は、後述する処理において更新される。
【００９２】
コネクションＩＤ２３１は、コネクションＩＤ２１１及びコネクションＩＤ２２１に対応する。収容回線２３２は、パケット４１のＭＰＬＳラベル４１４−２に格納される値に対応する。
【００９３】
パス２３３は、収容されるパス５０の識別子を示す。切替候補パス２３４は、収容されるパス５０の候補を示す。パス２３３及び切替候補パス２３４は、パケット４１のＭＰＬＳラベル４１４−１に格納される値に対応する。
【００９４】
切替フラグ２３５は、パス２３３が示すパス５０は、切り替え後に収容されたパス５０であるか否かを示す。図１０に示す切替フラグ２３５が‘１’である場合、パス２３３が示すパス５０は、切り替え後に収容されたパス５０である。
【００９５】
切替失敗フラグ２３６は、切り替え処理の結果、収容されるパスの切り替えに失敗したか否かを示す。図１０に示す切替失敗フラグ２３６が‘１’であるエントリは、コネクションＩＤ２３１が示すコネクションの切り替え処理が行われたが、その結果切り替えに失敗したことを示す。
【００９６】
図１１は、本実施例１の帯域監視テーブル２４を示す説明図である。
【００９７】
帯域監視テーブル２４は、パス２４１を検索キーとして、監視帯域２４２と、バケツの深さ２４３と、前回のトークン値２４４と、前回時刻２４５と、違反バイト数２４６とを示すエントリを検索するためのテーブルである。
【００９８】
パス２４１、監視帯域２４２及びバケツの深さ２４３は、例えばネットワーク管理者によって、あらかじめ設定される。前回のトークン値２４４、前回時刻２４５及び違反バイト数２４６は、後述する処理によって更新される。
【００９９】
パス２４１は、パス５０の識別子を示し、パス２３３に対応する。監視帯域２４２は、パス５０の各々を単位時間あたりに通過するパケット４１の量に相当する。そして、監視帯域２４２は、パケット４１の量をトークンによって示す。実施例１の監視帯域２４２には、後述するパス予測帯域テーブル２６の確保帯域２６２と同じ値が設定される。
【０１００】
パケツの深さ２４３は、パス２４１が示すパス５０に送信可能なトークンの最大量を示す。前回のトークン値２４４は、パケット４１を前回転送した時に用いられたトークンの量を占示す。
【０１０１】
前回時刻２４５は、前回パケット４１を転送した際の時刻を示す。違反バイト数２４６は、転送できなかったパケット４１のバイト数を示す。
【０１０２】
図１２は、本実施例１のコネクション予測帯域テーブル２５を示す説明図である。
【０１０３】
コネクション予測帯域テーブル２５は、コネクションＩＤ２５１を検索キーとして、予測帯域２５２と、予測帯域２５３と、予測帯域２５４とを示すエントリを検索するためのテーブルである。
【０１０４】
コネクション予測帯域テーブル２５の値は、ＮＭＳ２０から送信される。装置管理部１２は、定期的又はネットワーク管理者の任意のタイミングに、コネクション予測帯域テーブル２５の値を受信し、受信した値をコネクション予測帯域テーブル２５に格納する。
【０１０５】
コネクションＩＤ２５１は、コネクションの識別子を示し、コネクションＩＤ２１１に対応する。予測帯域２５２と、予測帯域２５３と、予測帯域２５４とは、１日を３期間に分割する場合、３期間の各々においてコネクションＩＤ２５１が示すコネクションによるトラフィックの予測される帯域量（予測帯域）を示す。
【０１０６】
図１２に示すコネクション予測帯域テーブル２５において、予測帯域２５２は、０〜８時における予測帯域を示し、予測帯域２５３は、８〜１７時における予測帯域を示し、予測帯域２５４は、１７〜２４時における予測帯域を示す。
【０１０７】
実施例１におけるＮＭＳ２０は、早朝（０〜８時）、昼間（８〜１７時）及び夜間（１７〜２４時）の３期間に、１日における期間を区切り、コネクションの各々によるトラヒック量の将来の予測値として、３期間におけるトラヒック量の予測帯域を算出する。
【０１０８】
図１３は、本実施例１のパス予測帯域テーブル２６を示す説明図である。
【０１０９】
パス予測帯域テーブル２６は、パス２６１を検索キーとして、パス２６１が示すパス５０の確保帯域２６２と、積算値２６３と、積算値２６４と、積算値２６５と、収容コネクションＩＤ２６６とを示すエントリを検索するためのテーブルである。
【０１１０】
パス２６１及び確保帯域２６２は、例えばネットワーク管理者によって、あらかじめ設定される。積算値２６３と、積算値２６４と、積算値２６５と、収容コネクションＩＤ２６６とは、後述する処理によって更新される。
【０１１１】
なお、装置管理部１２は、コネクション予測帯域テーブル２５及びラベル設定テーブル２３に基づいて、積算値２６３と、積算値２６４と、積算値２６５と、収容コネクションＩＤ２６６とに、初期値を格納してもよい。具体的には、装置管理部１２は、ラベル設定テーブル２３のコネクションＩＤ２３１を、パス２３３とパス２６１が対応するパス予測帯域テーブル２６の収容コネクションＩＤ２６６に、初期値として格納してもよい。
【０１１２】
パス２６１は、パス５０の識別子を示し、パス２３３及びパス２４１等と対応する。確保帯域２６２は、パス５０に割り当てられた帯域を示す。
【０１１３】
積算値２６３と、積算値２６４と、積算値２６５とは、１日を３期間に分割した場合、３期間の各々において予測帯域を積算した値を示す。積算値２６３は、０〜８時の予測帯域を示し、積算値２６４は、８〜１７時の予測帯域を示し、積算値２６５は、１７〜２４時の予約帯域を示す。
【０１１４】
収容コネクションＩＤ２６６は、パス２６１が示すパス５０に収容されるコネクションを示し、すなわち、パス２６１が示すパス５０に収容されるＴＥ６０（ユーザ）を示す。
【０１１５】
スイッチ部１１は、各ＮＩＦ１３のＳＷインタフェース１０２−１〜１０２−ｎからパケット４１を受信し、受信したパケット４１の出力先の情報（出力ＮＩＦ  ＩＤ、出力ポートＩＤ及び出力ラベル）を、パケット転送テーブル２７から取得する。そして、スイッチ部１１は、取得された出力先の情報に対応するＳＷインタフェース１０２に、受信したパケット４１を転送する。この際、スイッチ部１１は、受信したパケット４１のＭＰＬＳラベル４１４−１の出力ラベル２７６を、取得された出力ラベルによって更新する。
【０１１６】
図１４は、本実施例１のパケット転送テーブル２７を示す説明図である。
【０１１７】
パケット転送テーブル２７は、入力ＮＩＦ  ＩＤ２７１と入力ポートＩＤ２７２とパス２７３との組合せを検索キーとして、出力ＮＩＦ  ＩＤ２７４と出力ポートＩＤ２７５と出力ラベル２７６とを示すエントリを検索するためのテーブルである。パケット転送テーブル２７の値は、例えばネットワーク管理者等によって、あらかじめ設定される。
【０１１８】
入力ＮＩＦ  ＩＤ２７１は、装置内ヘッダ４５の受信ＮＩＦ  ＩＤ４５３に対応し、入力ポートＩＤ２７２は、装置内ヘッダ４５の受信ポートＩＤ４５２に対応し、パス２７３は、装置内ヘッダ４５のＭＰＬＳラベル４１４−１に対応する。
【０１１９】
スイッチ部１１は、装置内ヘッダ４５の受信ＮＩＦ  ＩＤ４５３の識別子、受信ポートＩＤ４５２の識別子、及び、パケット４１のＭＰＬＳラベル４１４−１のＬＳＰ  ＩＤを用いて、パケット転送テーブル２７を検索し、出力先に関する情報（出力ＮＩＦ  ＩＤ２７４と出力ポートＩＤ２７５と出力ラベル２７６と）を取得する。
【０１２０】
ＳＷインタフェース１０２は、スイッチ部１１から受信したパケット４１を受信した場合、出力パケット処理部１０４にパケット４１を転送する。
【０１２１】
出力パケット処理部１０４は、自らが属するＮＩＦ１３の処理モードがイーサネット処理モードであると設定レジスタ１０６に設定される場合、受信したパケット４１の宛先ＭＡＣアドレス４１１と、送信元ＭＡＣアドレス４１２と、イーサタイプ値４１３と、ＭＰＬＳラベル４１４−１と、ＭＰＬＳラベル４１４−２とを削除し、対応するイーサネットＩＦ１０１にパケットを転送する。
【０１２２】
一方、自らが属するＮＩＦ１３の処理モードがＭＰＬＳ処理モードであると設定レジスタ１０６に設定される場合、出力パケット処理部１０４は、受信したパケット４１に処理を行うことなく、対応するイーサネットＩＦ１０１にパケットをそのまま出力する。
【０１２３】
図１５は、本実施例１の入力パケット処理Ｓ１００を示すフローチャートである。
【０１２４】
図１５は、入力パケット処理部１０３が入力されたパケットに実行する入力パケット処理Ｓ１００を示す。
【０１２５】
入力パケット処理部１０３は、自らが属するＮＩＦ１３の処理モードを設定レジスタ１０６から取得し、取得された処理モードに従って実行処理を決定する（Ｓ１１１）。取得された処理モードがイーサネット処理モードである場合、入力パケット処理部１０３は、Ｓ１１２を実行することを決定する。また、取得された処理モードがＭＰＬＳ処理モードである場合、入力パケット処理部１０３は、Ｓ１２０を実行することを決定する。
【０１２６】
Ｓ１２０を実行することを決定した場合、入力パケット処理部１０３は、自らが属する通信装置１０がパケット４１を受信しかつパケット４１を転送する中継装置であり、コネクションが収容されるパス５０を変更する必要はない。このため、入力パケット処理部１０３は、パケット４１をＳＷインタフェース１０２にそのまま転送する。そして、入力パケット処理部１０３は、Ｓ１００を終了する。
【０１２７】
Ｓ１１２において、入力パケット処理部１０３は、パケット４０の装置内ヘッダ４５とＶＬＡＮタグ４０３とから各情報（受信ポートＩＤ、受信ＮＩＦ  ＩＤ及びＶＩＤ）を抽出し、抽出された情報を用いて、コネクションＩＤ決定テーブル２１を検索する。そして、Ｓ１１２において、入力パケット処理部１０３は、抽出された情報に対応するコネクションＩＤ２１１の値を特定する。
【０１２８】
Ｓ１１２の後、入力パケット処理部１０３は、特定されたコネクションＩＤ２１１の値を装置内ヘッダ４５のコネクションＩＤ４５１に格納する。そして、入力パケット処理部１０３は、入力ヘッダテーブル２２及びラベル設定テーブル２３を、特定されたコネクションＩＤ２１１の値によって検索し、検索されたエントリの内容を取得する（Ｓ１１３）。
【０１２９】
Ｓ１１３の後、入力パケット処理部１０３は、取得された入力ヘッダテーブル２２のエントリに従って、パケット４０のＶＬＡＮタグ４０３を編集する（Ｓ１１４）。
【０１３０】
Ｓ１１４の後、入力パケット処理部１０３は、取得されたラベル設定テーブル２３のエントリ等を用いて、後述するパス毎の帯域監視処理を行う（Ｓ２００）。Ｓ２００の結果、入力パケット処理部１０３は、受信したパケット４０が通過する予定のパス５０において、輻輳が発生するか否か、すなわち、パケット４０を正常にパス５０へ転送できるか否かを判定する（Ｓ１１５）。
【０１３１】
具体的には、入力パケット処理部１０３は、Ｓ１１５において、受信したパケットが通過する予定のパス５０に対応する違反バイト数２４６が設定レジスタ１０６に設定されたパラメータよりも多い場合、輻輳が発生し、パケット４０を正常にパス５０へ転送できないと判定する。
【０１３２】
Ｓ１１５において、違反バイト数２４６が設定レジスタ１０６に設定されたパラメータ以下であると判定された場合、入力パケット処理部１０３は、後述する図１６のＳ１２４を実行する。
【０１３３】
Ｓ１１５において、違反バイト数２４６が設定レジスタ１０６に設定されたパラメータを超えると判定された場合、入力パケット処理部１０３は、取得されたラベル設定テーブル２３の切替フラグ２３５が‘０’であるか否かを判定する（Ｓ１１６）。すなわち、入力パケット処理部１０３は、受信したパケット４０のコネクションは、収容されるパスを既に切り替えられたコネクションであるか否かを判定する。
【０１３４】
切替フラグ２３５が‘０’でない場合、入力パケット処理部１０３は、パケット４０のコネクションが収容されるパスは既に切り替えられた後のパスであり、パスを切り替えることができないため、帯域超過をＮＭＳ２０に通知する（Ｓ１２１）。そして、入力パケット処理部１０３は、後述する図１６に示すＳ１２３を実行する。
【０１３５】
ＮＭＳ２０は、Ｓ１２１において通信装置１０から帯域超過を通知された場合、中継ネットワーク３０から収集したトラフィックの帯域量に基づいて、中継ネットワーク３０におけるパス５０の各々へ、コネクションを割り当てなおしてもよい。そして、ＮＭＳ２０は、新たな割当てを示す情報を通信装置１０に送信し、通信装置１０の装置管理部１２は、受信した情報に基づいて、ラベル設定テーブル２３等を更新してもよい。
【０１３６】
切替フラグ２３５が‘０’である場合、入力パケット処理部１０３は、Ｓ１１２において特定されたコネクションＩＤによってコネクション予測帯域テーブル２５を検索し、エントリの内容を取得する（Ｓ１１７）。
【０１３７】
Ｓ１１７の後、入力パケット処理部１０３は、Ｓ１１３において取得されたラベル設定テーブル２３のエントリの切替候補パス２３４の値によって、パス予測帯域テーブル２６を検索し、検索されたエントリの内容を取得する（Ｓ１１８）。
【０１３８】
Ｓ１１８の後、入力パケット処理部１０３は、Ｓ１１７において取得されたエントリの予測帯域２５２と予測帯域２５３と予測帯域２５４とを、Ｓ１１８において取得されたエントリの積算値２６３と積算値２６４と積算値２６５とに、それぞれ期間毎に加算する（Ｓ１１９）。
【０１３９】
図１６は、本実施例１の入力パケット処理Ｓ１００のうち、収容されるパス５０を切り替える処理を示すフローチャートである。
【０１４０】
Ｓ１１９の後、入力パケット処理部１０３は、Ｓ１１９において算出された加算値の全てが、パス予測帯域テーブル２６の確保帯域２６２以下であるか否かを判定する（Ｓ１２２）。入力パケット処理部１０３は、加算値が確保帯域２６２以下であるか否かを判定することによって、パス５０を切り替えた後、輻輳が発生する可能性があるか否かを判定することができる。
【０１４１】
Ｓ１１９において算出された加算値のうち少なくとも一つが、パス予測帯域テーブル２６の確保帯域２６２よりも大きい場合、いずれかの期間において将来輻輳が発生する可能性がある。このため、入力パケット処理部１０３は、Ｓ１１３において取得されたラベル設定テーブル２３のエントリの切替失敗フラグ２３６を、切替えが失敗したことを示す‘１’によって更新する。また、入力パケット処理部１０３は、受信したパケット４０が通過する予定のパス５０に対応する帯域監視テーブル２４のエントリの違反バイト数２４６をクリア（‘０’によって更新）する（Ｓ１２３）。
【０１４２】
Ｓ１２２において、Ｓ１１９において算出された加算値の全てが、パス予測帯域テーブル２６の確保帯域２６２以下である場合、将来輻輳が発生する可能性が低い。このため、入力パケット処理部１０３は、パケット４０が収容されるパス５０を切替え可能であるため、パス２３３に対応するパス予測帯域テーブル２６の収容コネクションＩＤ２６６から、パケット４０に対応するコネクションＩＤ２１１の値を削除する。
【０１４３】
また、入力パケット処理部１０３は、切替候補パス２３４に対応するパス予測帯域テーブル２６のエントリの、積算値２６３と積算値２６４と積算値２６５とに、パケット４０のコネクションＩＤ２１１に対応するコネクション予測帯域テーブル２５のエントリの予測帯域２５２と予測帯域２５３と予測帯域２５４とを、それぞれ期間毎に加算する。
【０１４４】
さらに、入力パケット処理部１０３は、切替候補パス２３４に対応するパス予測帯域テーブル２６のエントリの収容コネクションＩＤ２６６に、パケット４０に対応するコネクションＩＤ２１１の値を追加する（Ｓ１２７）。
【０１４５】
Ｓ１２７の後、入力パケット処理部１０３は、Ｓ１１３において検索されたラベル設定テーブル２３のエントリの切替フラグ２３５を‘１’（切替え実施済）によって更新し、さらに、切替失敗フラグ２３６を‘０’（切替え成功）によって更新する。そして、入力パケット処理部１０３は、パスの切替えが発生したことをＮＭＳ２０に通知する（Ｓ１２８）。
【０１４６】
Ｓ１２３又はＳ１２８の後、入力パケット処理部１０３は、Ｓ１１３において検索されたラベル設定テーブル２３のエントリの切替フラグ２３５が‘０’であるか否かを判定し（Ｓ１２４）、‘０’である場合、Ｓ１１３において検索されたラベル設定テーブル２３のエントリのパス２３３を、付与ラベルとして保持する（Ｓ１２５）。
【０１４７】
切替フラグ２３５が‘０’でない場合、入力パケット処理部１０３は、パケット４０のコネクションＩＤ２１１が収容されるパスは、既に切り替えられた後のパスである。このため、入力パケット処理部１０３は、Ｓ１１３において検索されたラベル設定テーブル２３のエントリの切替候補パス２３４の値を、付与ラベルとして保持する（Ｓ１１９）。
【０１４８】
Ｓ１２５又はＳ１１９の後、入力パケット処理部１０３は、パケット４０をパケット４１のペイロード部４０５に格納する。そして、入力パケット処理部１０３は、パケット４１の宛先ＭＡＣアドレス４１１と送信元ＭＡＣアドレス４１２とに設定レジスタ１０６から取得された設定値を格納し、イーサタイプ値４１３にＭＰＬＳであることを示す‘８８４７’（１６進数）を格納する。また、入力パケット処理部１０３は、Ｓ１２５又はＳ１２９において保持された付与ラベルをＭＰＬＳラベル４１４−１に格納し、Ｓ１１３において検索されたラベル設定テーブル２３のエントリの収容回線２３２をＭＰＬＳラベル４１４−２に格納する。そして、入力パケット処理部１０３は、パケット４１をＳＷインタフェース１０２に転送し（Ｓ１２６）、Ｓ１００を終了する（Ｓ１３０）。
【０１４９】
図１７は、本実施例１のパス毎の帯域監視処理Ｓ２００を示すフローチャートである。
【０１５０】
Ｓ１１４の後、入力パケット処理部１０３は、Ｓ１１３において取得されたラベル設定テーブル２３のエントリのパス２３３を抽出する。そして、入力パケット処理部１０３は、抽出されたパス２３３によって帯域監視テーブル２４を検索し、検索されたエントリの内容を取得する（Ｓ２０１）。
【０１５１】
Ｓ２０１の後、入力パケット処理部１０３は、Ｓ２０１において取得されたエントリと、時刻カウンタ１０３１の値と、”現在のトークン値＝前回のトークン値２４４−監視帯域２４２×（時刻カウンタ１０３１−前回時刻２４５）”の計算式とを用いて、現在のトークン値を算出し、保持する（Ｓ２０２）。
【０１５２】
Ｓ２０２の後、入力パケット処理部１０３は、Ｓ２０２において算出された現在のトークン値が‘０’よりも小さいか否かを判定する（Ｓ２０３）。
【０１５３】
Ｓ２０２において算出された現在のトークン値が‘０’より小さい場合、通信装置１０がパス５０（Ｓ１１４において抽出されたパス２３３に対応する）に送信すべきパケットは残っていないため、入力パケット処理部１０３は、現在のトークン値として‘０’を保持する（Ｓ２０８）。
【０１５４】
Ｓ２０８の後、又は、Ｓ２０２において算出された現在のトークン値が‘０’以上である場合、入力パケット処理部１０３は、Ｓ２０１において取得されたエントリに基づいて、（保持する現在のトークン値＋装置内ヘッダ４５のパケット長４５４）の値を算出する。そして、算出された値がバケツの深さ２４３よりも大きいか否かを判定する（Ｓ２０４）。
【０１５５】
（保持する現在のトークン値＋装置内ヘッダ４５のパケット長４５４）の値が、バケツの深さ２４３以下である場合、入力パケット処理部１０３は、（保持する現在のトークン値＋パケット長４５４）の値を現在のトークン値として再度保持する。そして、入力パケット処理部１０３は、Ｓ２０１において取得された帯域監視テーブル２４のエントリの違反バイト数２４６を、違反バイト数として保持する（Ｓ２０５）。
【０１５６】
（保持する現在のトークン値＋装置内ヘッダ４５のパケット長４５４）の値が、バケツの深さ２４３よりも大きい場合、パケット４０をパス５０へ出力した場合、輻輳が発生する。このため、入力パケット処理部１０３は、Ｓ２０１において取得された帯域監視テーブル２４のエントリの違反バイト数２４６とパケット長４５４とを加算した結果を、違反バイト数として保持する（Ｓ２０９）。
【０１５７】
Ｓ２０５又はＳ２０９の後、入力パケット処理部１０３は、Ｓ２０１において検索された帯域監視テーブル２４のエントリの値を更新する。具体的には、入力パケット処理部１０３は、保持する現在のトークン値によって前回のトークン値２４４を更新し、現在の時刻カウンタ１０３１の値によって前回時刻２４５を更新し、保持する違反バイト数によって違反バイト数２４６を更新する（Ｓ２０６）。Ｓ２０６の後、入力パケット処理部１０３は、Ｓ２００の処理を終了する（Ｓ２１０）。
【０１５８】
図１７に示す処理によって、入力パケット処理部１０３は、入力されたパケット４０をパス５０に送信した場合、輻輳が発生するか否かを判定できる。そして、輻輳が発生する場合、入力パケット処理部１０３は、図１５及び図１６に示す処理によって、入力されたパケット４０のコネクションが収容されるパスを切り替えるか否かを、パス毎の予測帯域の積算値によって判定する。これによって、適切にパス５０にコネクションを割り当てることができ、パス５０を有効に活用することができる。
【０１５９】
さらに、図１５〜図１７に示す処理は、ＮＭＳ２０から送信された予測帯域に基づき、通信装置１０によって実行されるため、通信装置１０は、輻輳が発生した場合、ＮＭＳ２０によるコネクションの再割り当てを待たずに、パケット４０が入力された時点で速やかにコネクションを割り当てることができる。
【０１６０】
また、入力パケット処理部１０３は、予測帯域を用いてパス５０の切り替えを判定するため、ＮＭＳ２０による帯域の予測が外れた場合においても、最低限のパス５０を切り替えることによって、ＮＭＳ２０が過剰な帯域をパス５０にあらかじめ割り当てておく必要がなくなる。
【０１６１】
また、入力パケット処理部１０３は、複数の期間における予測帯域を用いてパス５０の切り替え可否を判定するため、将来の長期間にわたり輻輳が発生しないように、パス５０を切り替えることができる。
【０１６２】
図１８は、本実施例１のＮＩＦ管理部１０５によるポーリング処理Ｓ３００を示すフローチャートである。
【０１６３】
Ｓ３００は、装置管理部１２から指示されたタイミングにおいて開始され、後述のＳ３０１、Ｓ３０２、及び、Ｓ３１７の処理によって、繰り返し実行される。このため、ＮＩＦ管理部１０５は、切り替えが失敗したことを速やかに検知することができる。
【０１６４】
ＮＩＦ管理部１０５は、保持する内部パラメータｉを‘０’に初期化し（Ｓ３０１）、保持する内部パラメータｉに‘１’を加算する（Ｓ３０２）。
【０１６５】
Ｓ３０２の後、ＮＩＦ管理部１０５は、保持する内部パラメータｉを用いてラベル設定テーブル２３を検索し、検索されたエントリの内容を取得する（Ｓ３０３）。例えば、ＮＩＦ管理部１０５は、内部パラメータｉを用いて、ラベル設定テーブル２３の最上段のエントリからｉ番目のエントリの内容を取得する。
【０１６６】
Ｓ３０３の後、ＮＩＦ管理部１０５は、取得されたエントリの切替フラグ２３５が‘０’であり、かつ、切替失敗フラグ２３６が‘１’であるか否かを判定する（Ｓ３０４）。
【０１６７】
切替フラグ２３５が‘０’ではない、又は、切替失敗フラグ２３６が‘１’ではない場合、ＮＩＦ管理部１０５は、入力パケット処理部１０３によるパスの切換えは行われていない、又は、失敗していないと判定し、後述する図１９のＳ３１７を実行する。そして、ＮＩＦ管理部１０５がラベル設定テーブル２３のエントリに、Ｓ３０４の処理を繰り返し実行することによって、ＮＩＦ管理部１０５は、入力パケット処理部１０３がパスの切替えに失敗したことを速やかに検出することができ、ＮＩＦ管理部１０５が速やかに輻輳を解消することができる。
【０１６８】
切替フラグ２３５が‘０’であり、かつ、切替失敗フラグ２３６が‘１’である場合、ＮＩＦ管理部１０５は、入力パケット処理部１０３によるパスの切替えが失敗したことを検出する。そして、ＮＩＦ管理部１０５は、以降の処理によって、輻輳が検出された際に受信したパケット４０のコネクション以外のコネクション（候補コネクション）が収容されるパス５０を、切り替えるか否かを決定する。ＮＩＦ管理部１０５は、取得されたラベル設定テーブル２３のエントリのパス２３３を用いて、パス予測帯域テーブル２６を検索し、検索されたエントリの内容を取得する（Ｓ３０５）。
【０１６９】
Ｓ３０５において取得されたエントリの収容コネクションＩＤ２６６の中に、Ｓ３０３において取得されたエントリのコネクションＩＤ２３１（内部パラメータｉに対応するコネクションＩＤ２３１）以外のコネクションＩＤが含まれる場合、ＮＩＦ管理部１０５は、内部パラメータｉに対応するコネクションＩＤ２３１以外の、収容コネクションＩＤ２６６のコネクションＩＤを、候補コネクショングループとして保持する。
【０１７０】
Ｓ３０５において取得されたエントリの収容コネクションＩＤ２６６の中に内部パラメータｉに対応するコネクションＩＤ２３１以外のコネクションＩＤが含まれない場合、ＮＩＦ管理部１０５は、候補コネクショングループとしてｎｕｌｌを保持する（Ｓ３０６）。
【０１７１】
Ｓ３０６の後、ＮＩＦ管理部１０５は、保持する候補コネクショングループがｎｕｌｌであるか否かを判定する（Ｓ３０７）。保持する候補コネクショングループがｎｕｌｌである場合、ＮＩＦ管理部１０５は、切り替える候補コネクションがなく、入力パケット処理部１０３による切替え処理への対応が不可であると判定し、帯域超過をＮＭＳ２０に通知する（Ｓ３０９）。そして、後述する図１９のＳ３１７を実行する。
【０１７２】
ＮＭＳ２０は、Ｓ３０９において通信装置１０から帯域超過を通知された場合、Ｓ１２１と同じく、中継ネットワーク３０から収集したトラフィックの帯域量に基づいて、パス５０へコネクションの各々を割り当てなおしてもよい。ＮＩＦ管理部１０５は、帯域超過をＮＭＳ２０に通知することによって、中継ネットワーク３０における全体的なパス５０の割り当てを、ＮＭＳ２０に実行させることができ、適切なパス５０の割り当てが実現する。
【０１７３】
保持する候補コネクショングループがｎｕｌｌでない場合、保持する候補コネクショングループの中から一つを候補コネクションＩＤとして選択する。そして、ＮＩＦ管理部１０５は、選択された候補コネクションＩＤによってコネクション予測帯域テーブル２５及びラベル設定テーブル２３を検索し、検索されたエントリの内容を取得する（Ｓ３０８）。
【０１７４】
図１９は、本実施例１のポーリング処理Ｓ３００において収容されるパス５０を切り替える処理を示すフローチャートである。
【０１７５】
Ｓ３０８の後、ＮＩＦ管理部１０５は、Ｓ３０８において取得されたラベル設定テーブル２３の切替フラグ２３５が‘０’であり、かつ、切替失敗フラグ２３６が‘０’であるか否かを判定する（Ｓ３１０）。
【０１７６】
切替フラグ２３５が‘０’であり、かつ、切替失敗フラグ２３６が‘１’である場合、ＮＩＦ管理部１０５は、Ｓ３０８において取得されたラベル設定テーブル２３の切替候補パス２３４によって、パス予測帯域テーブル２６を検索し、検索されたエントリの内容を取得する（Ｓ３１１）。そして、ＮＩＦ管理部１０５は、取得されたエントリの積算値２６３と積算値２６４と積算値２６５とに、Ｓ３０８において取得されたコネクション予測帯域テーブル２５のエントリの予測帯域２５２と予測帯域２５３と予測帯域２５４とを、それぞれ期間毎に加算する（Ｓ３１２）。
【０１７７】
Ｓ３１２の後、ＮＩＦ管理部１０５は、Ｓ３１２による複数の加算値の全てが、Ｓ３１１において取得されたパス予測帯域テーブル２６の確保帯域２６２以下であるか否かを判定する（Ｓ３１３）。
【０１７８】
Ｓ３１０において切替フラグ２３５が‘０’でないか、若しくは、切替失敗フラグ２３６が‘１’でないと判定された場合、又は、Ｓ３１２によって算出された複数の加算値の中に確保帯域２６２を超える加算値がある場合、ＮＩＦ管理部１０５は、候補コネクションを収容するパス５０を切り替えることができない。このため、ＮＩＦ管理部１０５は、保持する候補コネクショングループの中から、選択された候補コネクションＩＤを削除する。
【０１７９】
削除後、候補コネクショングループにコネクションＩＤが含まれない場合、ＮＩＦ管理部１０５は、候補コネクショングループとしてｎｕｌｌを保持する（Ｓ３１８）。Ｓ３１８の後、ＮＩＦ管理部１０５は、Ｓ３０７を実行する。
【０１８０】
Ｓ３１２において算出された複数の加算値の全てが、取得された確保帯域２６２以下である場合、将来の長期間にわたり輻輳が発生しないため、ＮＩＦ管理部１０５は、候補コネクションを収容するパス５０を切替えることができると判定する。そして、ＮＩＦ管理部１０５は、選択された候補コネクションＩＤのパス２３３に対応する、パス予測帯域テーブル２６の収容コネクションＩＤ２６６の中から、選択された候補コネクションＩＤを削除する。
【０１８１】
そして、ＮＩＦ管理部１０５は、選択された候補コネクションＩＤの切替候補パス２３４に対応するパス予測帯域テーブル２６のエントリの値を更新する。具体的には、ＮＩＦ管理部１０５は、Ｓ３０８において選択された候補コネクションＩＤを、収容コネクションＩＤ２６６に追加し、積算値２６３と積算値２６４と積算値２６５とを、Ｓ３１２において算出された加算値の各々によって更新する（Ｓ３１４）。
【０１８２】
Ｓ３１４の後、ＮＩＦ管理部１０５は、選択された候補コネクションＩＤに対応するラベル設定テーブル２３の切替フラグ２３５を‘１’によって更新し、切替失敗フラグ２３６を‘０’によって更新する（Ｓ３１５）。
【０１８３】
Ｓ３１５の後、ＮＩＦ管理部１０５は、保持する内部パラメータｉに対応するラベル設定テーブル２３のエントリの切替フラグ２３５を‘０’によって更新し、切替失敗フラグ２３６を‘０’によって更新する。そして、ＮＩＦ管理部１０５は、切替えが発生したことをＮＭＳ２０に通知する（Ｓ３１６）。
【０１８４】
Ｓ３１６の後、ＮＩＦ管理部１０５は、保持する内部パラメータｉがラベル設定テーブル２３のエントリの数以上であるか否かを判定する（Ｓ３１７）。保持する内部パラメータｉがラベル設定テーブル２３のエントリの数以上である場合、ＮＩＦ管理部１０５は、Ｓ３０１から処理を継続する。
【０１８５】
Ｓ３１７において、保持する内部パラメータｉがラベル設定テーブル２３のエントリの数より小さい場合、ＮＩＦ管理部１０５は、Ｓ３０２から処理を継続する。
【０１８６】
図１８及び図１９に示す処理によれば、ＮＩＦ管理部１０５は、輻輳が検出された際に受信したパケットのコネクション以外のコネクションから、収容されるパス５０を切り替えるコネクションを抽出することができる。このため、より適切にコネクションをパス５０に割り当てることが可能である。
【０１８７】
また、図１８及び図１９に示す処理を、通信装置１０が行うことによって、ＮＭＳ２０がパスを割り当てるよりも速やかにパス５０を割り当てることができる。
【０１８８】
なお、前述の実施例１において、入力パケット処理部１０３とＮＩＦ管理部１０５とは、異なるタイミングにおいて起動する異なる処理部である。これによって、通信装置１０によって受信されたパケット４０は、図１８及び図１９に示す処理を待つことなく、図１６に示す処理が終了後、速やかに転送される。
【０１８９】
しかし、入力パケット処理部１０３とＮＩＦ管理部１０５とは一つの処理部（例えば、入力パケット処理部１０３）によって実装されてもよく、一つの処理部は、図１５〜図１７に示す処理の後、図１８及び図１９を実行してもよい。これによって、実施例１の処理を実行する処理部を通信装置１０に簡易に実装することができる。
【０１９０】
さらに、入力パケット処理部１０３は、図１６に示すＳ１２３において、受信したパケット４０のコネクションが収容されるパスを切り替えられないと判定した後、図１８に示すＳ３０３を実行してもよい。これによって、入力パケット処理部１０３は、受信したパケット４０が転送される予定のパスに収容されるコネクションのうち、受信したパケット４０のコネクション以外のコネクション（候補コネクション）から、パス５０を切り替えることによって輻輳が解消できるコネクションを抽出することができる。
【０１９１】
なお、このＳ３０３において、パラメータｉは、Ｓ１１２において特定されたコネクションＩＤを含むラベル設定テーブル２３のエントリを示す。そして、入力パケット処理部１０３は、Ｓ３１６又はＳ３０９を実行した後、Ｓ３１７を実行せずに、図１６に示すＳ１２４を実行してもよい。
【０１９２】
このように、入力パケット処理部１０３が、候補コネクションからパス５０を切り替えるコネクションを抽出することによって、入力パケット処理部１０３は、より適切なパスの割り当てによって、パケット４０をパケット４１として速やかに転送することができる。
【０１９３】
実施例１によれば、通信装置１０が、各ユーザによるトラヒックの予測帯域を用いてコネクションをパス５０に割り当てるため、ＮＭＳ２０による帯域の予測が外れた場合も、最低限のパス５０の切替えにより輻輳を解消することができる。そして、ＮＭＳ２０が過剰に多い帯域をパス５０に割り当てる必要がなくなり、ネットワークリソースを効率よく利用することができる。
【０１９４】
また、この結果、実施例１の通信装置１０は、過剰なオーバエンジニアリングを行うことなく、高品質なネットワークサービスを提供できる。
【０１９５】
また、ＮＭＳ２０による帯域の予測が外れた場合も、各パスにおいて輻輳が発生したことを通信装置１０が検出し、通信装置１０が、輻輳が発生したパス５０に収容されるコネクションを他のパス５０に自律的に切り替える。これによって、輻輳によるサービス品質の低下を高速に復旧することが可能となる。
【０１９６】
さらに、通信装置１０がパス５０の切替え処理において、各ユーザ（コネクション）及び各パス５０の期間ごとのトラヒックの予測帯域を用いることにより、ユーザの収容方法を切り替えた瞬間だけでなく、その後のトラヒックの変動によって輻輳が再発することを、長期間防止することが可能となる。また、これによって、通信装置１０は、ユーザのトラヒックを高密度にパス５０に収容することができる。
【０１９７】
なお、ＮＭＳ２０は、主にソフトウェアによって実装され、また、ＮＭＳ２０がパス５０を切り替える場合大量のデータを用いることが一般的である。このため、実施例１の通信装置１０は、ＮＭＳ２０を用いるよりも迅速に、輻輳に対応することができる。
【実施例２】
【０１９８】
実施例２と実施例１との相違点は、実施例２の通信装置１０が、コネクションの各々にあらかじめ設定されたサービスレベルに従って、コネクションが収容されるパス５０を切り替える点である。
【０１９９】
図２０は、本実施例２の通信装置１０の構成を示すブロック図である。
【０２００】
実施例２の通信装置１０と実施例１の通信装置１０との相違点は、実施例２のコネクション予測帯域テーブル２５０が、実施例１のコネクション予測帯域テーブル２５の内容とコネクション（ユーザ）のサービスレベルとを保持する点である。その他の通信装置１０の構成は、実施例１と実施例２とで同じである。
【０２０１】
図２１は、本実施例２のコネクション予測帯域テーブル２５０を示す説明図である。
【０２０２】
コネクション予測帯域テーブル２５０は、コネクションＩＤ２５１を検索キーとして、予測帯域２５２と、予測帯域２５３と、予測帯域２５４と、サービスレベル２５０５とを示すエントリを検索するためのテーブルである。サービスレベル２５０５は、コネクションＩＤ２５１が示すコネクションにあらかじめ設定されるサービスレベルを示す。
【０２０３】
例えば、図１に示すパス５０Ａとパス５０Ｂとが、通信路の距離などに明確に差があり、パス５０Ａは遅延が少なく、パス５０Ｂは遅延が大きい場合、コネクションに割り当てられたサービスレベルによっては、パスを切り替える必要がないコネクションが発生する。このため、実施例２の入力パケット処理部１０３及びＮＩＦ管理部１０５は、サービスレベル２５０５に従って収容されるパス５０を選択する。
【０２０４】
具体的には、入力パケット処理部１０３及びＮＩＦ管理部１０５は、サービスレベル２５０５が遅延保証などであるコネクションを、遅延が少ないパス５０Ａのみに収容し、このようなコネクションを遅延が大きいパス５０Ｂに切り替えない。また、入力パケット処理部１０３及びＮＩＦ管理部１０５は、サービスレベル２５０５がベストエフォートのコネクションを、パス５０Ａの帯域が空いている場合にパス５０Ａに収容し、空いていない場合パス５０Ｂに収容する。
【０２０５】
このため、コネクションのパスを切り替える必要が発生した場合、実施例２の入力パケット処理部１０３及びＮＩＦ管理部１０５は、サービスレベル２５０５が低い（本実施例では、ベストエフォートサービスが遅延保証よりも低い）コネクションのパスを優先的に切り替える。
【０２０６】
図２２は、本実施例２の入力パケット処理Ｓ１００を示すフローチャートである。
【０２０７】
実施例２の入力パケット処理Ｓ１００と実施例１の入力パケット処理Ｓ１００との相違点は、実施例２の入力パケット処理Ｓ１００におけるＳ１１７の後、Ｓ４０１が実行される点である。実施例２の入力パケット処理Ｓ１００におけるＳ４０１以外の処理は、図１５及び図１６に示す入力パケット処理Ｓ１００と同じである。
【０２０８】
入力パケット処理部１０３は、Ｓ４０１において、Ｓ１１７において取得されたエントリのサービスレベル２５０１が、ベストエフォートを示すか否かを判定する。サービスレベル２５０１がベストエフォートを示す場合、入力パケット処理部１０３は、収容されるパス５０の切り替え処理を継続するため、Ｓ１１８を実行する。サービスレベル２５０１がベストエフォートを示さない場合、入力パケット処理部１０３は、収容されるパス５０を切り替えないため、Ｓ１２１を実行する。
【０２０９】
図２３は、本実施例２のポーリング処理Ｓ３００において収容されるパス５０を切り替える処理を示すフローチャートである。
【０２１０】
実施例２のポーリング処理Ｓ３００と実施例１のポーリング処理Ｓ３００との相違点は、実施例２のポーリング処理Ｓ３００におけるＳ３０８の後、Ｓ５０１が実行される点である。実施例２のポーリング処理Ｓ３００におけるＳ５０１以外の処理は、図１８及び図１９に示すポーリング処理Ｓ３００と同じである。
【０２１１】
ＮＩＦ管理部１０５は、Ｓ５０１において、Ｓ３０８において取得されたエントリのサービスレベル２５０１が、ベストエフォートを示すか否かを判定する。サービスレベル２５０１がベストエフォートを示す場合、ＮＩＦ管理部１０５は、候補コネクションが収容されるパス５０の切り替え処理を継続するため、Ｓ３１０を実行する。サービスレベル２５０１がベストエフォートを示さない場合、ＮＩＦ管理部１０５は、候補コネクションが収容されるパス５０を切り替えないため、Ｓ３１８を実行する。
【０２１２】
実施例２によれば、収容されるパス５０を切替える処理において、各ユーザのサービスレベルに応じた経路の切替えを適切に行うことができる。これにより、帯域だけでなく遅延などの他のパラメータにおいてもサービスレベルを劣化させることなく、輻輳を解消することができる。
【０２１３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての行使を備えるものに限定されるものではない。
【０２１４】
また、上記の各構成、機能、処理部、処理手順等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現されてもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、若しくはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、又は、ＩＣカード、ＳＤカード、若しくはＤＶＤ等の記録媒体に置くことができる。
【０２１５】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０２１６】
１０  通信装置
２０  ネットワーク管理システム（ＮＭＳ）
５０  パス（パス）
６０  ユーザ端末（ＴＥ）
５０  サーバ（ＳＮ）
１３  ネットワークインタフェースボード（ＮＩＦ）
１１  スイッチ部
２７  パケット転送テーブル
１２  装置管理部
１０１  イーサネットＩＦ
１０２  ＳＷインタフェース
１０３  入力パケット処理部
１０４  出力パケット処理部
１０５  ＮＩＦ管理部
１０６  設定レジスタ
２１  コネクションＩＤ決定テーブル
２２  入力ヘッダテーブル
２３  ラベル設定テーブル
２４  帯域監視テーブル
２５  コネクション予測帯域テーブル
２６  パス予測帯域テーブル
【図１】
2014195185.tif 000003
【図２】
2014195185.tif 000004
【図３】
2014195185.tif 000005
【図４】
2014195185.tif 000006
【図５】
2014195185.tif 000007
【図６】
2014195185.tif 000008
【図７】
2014195185.tif 000009
【図８】
2014195185.tif 000010
【図９】
2014195185.tif 000011
【図１０】
2014195185.tif 000012
【図１１】
2014195185.tif 000013
【図１２】
2014195185.tif 000014
【図１３】
2014195185.tif 000015
【図１４】
2014195185.tif 000016
【図１５】
2014195185.tif 000017
【図１６】
2014195185.tif 000018
【図１７】
2014195185.tif 000019
【図１８】
2014195185.tif 000020
【図１９】
2014195185.tif 000021
【図２０】
2014195185.tif 000022
【図２１】
2014195185.tif 000023
【図２２】
2014195185.tif 000024
【図２３】
2014195185.tif 000025