(57)【特許請求の範囲】
【請求項１】
通信ネットワークにおける通信経路を表すシナリオとその発動条件との複数のセットを表す情報を記憶する記憶手段と、
通信ネットワークの状況を定期的又は不定期的に検知するネットワーク監視手段と、
いずれかのセットに属するシナリオが表す通信経路が前記通信ネットワークに構築されるよう前記通信ネットワークを制御することによりそのシナリオを前記通信ネットワークに適用するネットワーク制御手段と
を備え、
前記ネットワーク制御手段は、前記記憶手段を参照し、検知されたネットワーク状況が、現在適用されている第１のシナリオの発動条件ではなく第２のシナリオの発動条件に適合している場合、適用されるシナリオを、前記第１のシナリオから前記第２のシナリオに切り替え、
前記ネットワーク制御手段が、中継ノードに対するシナリオの発動条件の一部の条件についての自律判断の指定であって、自律判断が指定された中継ノードに、その中継ノードによって検出された状況が前記一部の条件に適合するか否かの自律判断を行わせ、前記通信ネットワークに適用されているシナリオに関わらず、その自律判断の結果に応じた転送先のノードにデータを転送させるため、前記自律判断の指定をする、
ネットワーク制御装置。
【請求項２】
請求項１記載のネットワーク制御装置であって、
各通信経路は、以下の（Ａ）又は（Ｂ）である、
（Ａ）前記通信ネットワークを構成する複数の中継ノードで構成されている、
（Ｂ）前記通信ネットワークを構成する複数の中継ノードのうちの二以上の中継ノードで構成されており、且つ、それら二以上の中継ノードのうちのどのノードでどの優先度に従う優先制御を行うかで定義されている、
ネットワーク制御装置。
【請求項３】
請求項２記載のネットワーク制御装置であって、
シナリオ生成手段を更に備え、
前記通信ネットワークを構成する複数の中継ノードに、クライアント端末と、前記クライアント端末に対してサービスを提供するサーバ装置であるアプリケーションサーバとが接続されており、
各通信経路が、二以上の中継ノードと、前記アプリケーションサーバとで構成されており、
前記シナリオ生成手段が、前記アプリケーションサーバの性能と前記通信ネットワークの構成及び性能とを表す情報に基づいて、前記アプリケーションサーバの性能と前記通信ネットワークの性能とを満たすシナリオとその発動条件とを生成する、
ネットワーク制御装置。
【請求項４】
請求項１記載のネットワーク制御装置であって、
各シナリオの発動条件は、前記複数の中継ノードの全部又は一部の中継ノードの状況の条件を含み、
前記一部の条件は、全てのシナリオの発動条件に共通の条件である、
ネットワーク制御装置。
【請求項５】
請求項１乃至４のうちのいずれか１項に記載のネットワーク制御装置であって、
前記通信ネットワークを構成する複数の中継ノードに、クライアント端末と、前記クライアント端末に対してサービスを提供するサーバ装置であるアプリケーションサーバとが接続されており、
各通信経路が、二以上の中継ノードと、前記アプリケーションサーバとで構成されており、
前記ネットワーク状況には、前記アプリケーションサーバの状況が含まれている、
ネットワーク制御装置。
【請求項６】
請求項１乃至５のうちのいずれか１項に記載のネットワーク制御装置であって、
前記通信ネットワークは、第１の通信ネットワークと、複数の第２の通信ネットワークとを含み、
前記第１の通信ネットワーク及び各第２の通信ネットワークが、複数の中継ノードを含み、
前記第１の通信ネットワーク内の複数の中継ノードと、各第２の通信ネットワーク内の複数の中継ノードとが、複数の第３の通信ネットワークに接続されており、
第２の通信ネットワーク毎に、通信経路が、前記第１の通信ネットワーク内の中継ノードと前記第２の通信ネットワーク内の中継ノードとを含み、
前記ネットワーク制御手段が、前記複数の第２の通信ネットワークにそれぞれ対応した複数の通信経路が前記複数の第３の通信ネットワークに分散するよう、各第２の通信ネットワークについてのシナリオ切り替えを制御する、
ネットワーク制御装置。
【請求項７】
通信ネットワークにおける通信経路を表すシナリオとその発動条件との複数のセットのうちのいずれかのセットに属するシナリオが表す通信経路が前記通信ネットワークに構築されるよう前記通信ネットワークを制御することによりそのシナリオを前記通信ネットワークに適用するステップと、
前記通信のネットワークの状況が検知され、且つ、検知されたネットワーク状況が、現在適用されている第１のシナリオの発動条件ではなく第２のシナリオの発動条件に適合している場合、適用されるシナリオを、前記第１のシナリオから前記第２のシナリオに切り替えるステップと、
前記ネットワーク制御手段が、中継ノードに対するシナリオの発動条件の一部の条件についての自律判断の指定であって、自律判断が指定された中継ノードに、その中継ノードによって検出された状況が前記一部の条件に適合するか否かの自律判断を行わせ、前記通信ネットワークに適用されているシナリオに関わらず、その自律判断の結果に応じた転送先のノードにデータを転送させるため、前記自律判断の指定をするステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークの制御に関する。
【背景技術】
【０００２】
一般に、通信ネットワークでの通信経路の切り替えは、通信ネットワークを構成している各中継ノード（例えばルータ）が行う（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０９２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通信経路は、中継ノードの組合せで表すことができる。このため、データが経由する複数の中継ノードのうちの少なくとも一つが別の中継ノードに切り替わった場合、通信経路が別の通信経路に切り替わったことになる。
【０００５】
中継ノードに複数の別の中継ノード（以下、隣接ノード）が接続されている場合、中継ノードは、一般に、データの転送先の隣接ノードの負荷、及び、その隣接ノードとの間の通信状況に応じて、転送先を別の隣接ノードに切り替える。
【０００６】
しかし、切り替え先の隣接ノードの負荷の方が、切り替え元の隣接ノードの負荷よりも低いとは限らない。
【０００７】
また、切り替え先の隣接ノードとの間の通信状況によっては、転送先を切り替えて直ぐに、切り替え元の隣接ノード或いはまた別の隣接ノードに転送先を切り替えることが繰り返され得る。つまり、通信状況の頻繁な変化に追従したフラッピング状態が長時間続くおそれがある。
【０００８】
そこで、本発明の目的は、最適な通信経路が提供される可能性を高めることにある。
【課題を解決するための手段】
【０００９】
通信ネットワークを制御するネットワーク制御装置が用意される。ネットワーク制御装置は、通信ネットワークにおける通信経路を表すシナリオとその発動条件との複数のセットを表す情報を記憶し、通信ネットワークの状況を定期的又は不定期的に検知する。ネットワーク制御装置は、いずれかのセットに属するシナリオが表す通信経路が前記通信ネットワークに構築されるよう前記通信ネットワークを制御することによりそのシナリオを前記通信ネットワークに適用するよう構成されており、検知されたネットワーク状況が、現在適用されている第１のシナリオの発動条件ではなく第２のシナリオの発動条件に適合している場合、適用されるシナリオを、前記第１のシナリオから前記第２のシナリオに切り替える。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１に係るネットワークシステムを示す。
【図２】本実施例で行われる処理の流れの概要を示す。
【図３】図２の（Ｓ１０）でのシナリオ作成の詳細を示す。
【図４】図２の（Ｓ３０）での自律判断の説明図である。
【図５】シナリオＡが適用された例を示す。
【図６】自律判断の結果に応じてシナリオＡからシナリオＢに切り替わった例を示す。
【図７】ネットワーク制御装置によってシナリオＡからシナリオＣに切り替えられ例を示す。
【図８】自律判断の結果に応じてシナリオＡからシナリオＤに切り替わった例を示す。
【図９】本発明の実施例２に係るネットワークシステムを示す。
【図１０】実施例２に係る工夫が適用されていない場合の問題を示す。
【図１１】実施例２に係る工夫が適用された場合のメリットを示す。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の幾つかの実施例を説明する。なお、以下の説明において、コンピュータプログラムが行う処理は、実際は、そのコンピュータプログラムを実行するＣＰＵによって行われる。
【実施例１】
【００１２】
図１は、本発明の実施例１に係るネットワークシステムを示す。
【００１３】
通信ネットワーク１０３が、複数のノード１３１で構成されている。通信ネットワーク１０３は、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）ネットワークである。ノード１３１として、データを中継する中継ノードがあり、中継ノードは、例えば、ルータである。
【００１４】
ネットワーク制御装置１０１が設けられる。ネットワーク制御装置１０１は、物理的には、少なくとも一つのノード１３１に接続されており、論理的には、全てのノード１３１に接続されている。ネットワーク制御装置１０１は、通信ネットワーク１０３の状況を監視し（具体的には、後述するように、全てのノード１３１からサービスレベル指標を収集し）、それにより検知されたネットワーク状況に応じて、通信ネットワーク１０３でデータ通信に利用される通信経路を別の通信経路に切り替える。
【００１５】
本実施例では、通信経路毎に、通信経路を表すシナリオが定義され、また、シナリオ毎に、シナリオの発動条件が定義される。ネットワーク制御装置１０１は、検知されたネットワーク状況が、現在適用されている第１のシナリオの発動条件ではなく第２のシナリオの発動条件に適合している場合、適用されるシナリオを、第１のシナリオから第２のシナリオに切り替える。具体的には、ネットワーク制御装置１０１は、第１のシナリオが表す第１の通信経路に代えて第２のシナリオが表す第２の通信経路が構築されるよう通信ネットワーク１０３を制御する。これにより、第１の通信経路から第２の通信経路への切り替えが行われる。
【００１６】
ネットワーク制御装置１０１は、例えば、計算機であり、Ｉ／Ｆ１１５と、記憶資源１１３と、ＣＰＵ（Central Processing Unit）１１１とを有する。
【００１７】
Ｉ／Ｆ１１５は、ノード１３１との通信を制御する通信インターフェイス装置（例えばＮＩＣ（Network Interface Card））である。
記憶資源１１３は、主記憶装置（例えばメモリ）及び／又は補助記憶装置で構成されている。記憶資源１１３は、ネットワーク監視プログラム１２３、ネットワーク制御プログラム１２１、シナリオ生成プログラム１２５、及び、シナリオ／発動条件情報１２７を記憶する。
【００１８】
ネットワーク監視プログラム１２３は、通信ネットワークの状況を定期的又は不定期的に検知する。
【００１９】
ネットワーク制御プログラム１２１は、検知されたネットワーク状況に応じて、通信ネットワーク１０３に適用されるシナリオの切り替えを行う。
【００２０】
シナリオ生成プログラム１２５は、シナリオ及びその発動条件を生成する。
【００２１】
シナリオ／発動条件情報１２７は、シナリオとその発動条件の複数のセットを表す情報である。
【００２２】
図２は、通信ネットワーク１０３の構成例、シナリオ及びその発動条件の具体例、並びに、本実施例で行われる処理の流れの概要を示す。
【００２３】
本実施例に係るネットワーク制御装置１０１は、アプリケーションのＳＬＡ（Service Level Agreement）に基づく制御を行う装置である。
【００２４】
そして、制御対象である通信ネットワーク１０３に、複数の中継ノード（例えば四つのノードＡ、Ｂ、Ｍ及びＮ）だけでなく、一以上の末端ノード（例えば二つのノードＸ及びＹ）が含まれ、その末端ノードは、アプリケーションサーバ（以下、「アプリサーバ」）である。アプリサーバは、クライアント端末に対してアプリケーションサービスを提供するサーバ装置である。
【００２５】
シナリオは、図に示すように、通信ネットワーク１０３における通信経路を表す。通信経路は、二以上の中継ノードとアプリサーバとの組合せで表現される。
【００２６】
シナリオの発動条件は、通信ネットワーク１０３を構成する全て又は一部のノード１３１の各々のサービスレベル指標に関する条件である。サービスレベル指標は、ノード１３１から取得される。ここで、「サービスレベル指標」とは、ノード１３１で検知された状況のことである。具体的には、例えば、サービスレベル指標は、図２に点線で示すように、ノード間のデータ転送速度、通信経路における通信往復時間、通信帯域負荷（例えば、通信回線を接続したルータインタフェースの使用率）などである。つまり、本実施例では、中継ノードからだけでなく、アプリサーバからも、サービスレベル指標が取得される。シナリオの発動条件にも、中継ノードのサービスレベル指標に関する条件だけでなく、アプリサーバのサービスレベル指標に関する条件（例えば、アプリサーバＸ又はＹが稼働していること、アプリサーバＸ又はＹの通信帯域使用率が６０％以下であること等）が含まれる。なお、図２（及び、以降の図４及び図５等）において、発動条件に含まれる「ａ」は、クライアント端末１０５を表している。
【００２７】
以上のように、監視対象や制御対象に、アプリサーバが含まれている。これにより、例えば、現用系のアプリサーバと待機系のアプリサーバを用意しておき、ネットワーク状況が或る発動条件を満たしたら、通信経路の切り替えにより、待機系のアプリサーバを現用系のアプリサーバに切り替え且つ現用系のアプリサーバを待機系のアプリサーバに切り替えるといった制御を行うこともできる。
【００２８】
シナリオ及びその発動条件は、システム要件に基づき前述のシナリオ作成プログラム１２５によって生成される。ここで、「システム要件」とは、本実施例に係るネットワークシステムの要件のことである。システム要件は、物理的なレイヤに関する要件だけでなく、その物理的なレイヤよりも上位のレイヤに関する要件が含まれる。物理的なレイヤに関する条件として、例えば、ネットワーク構成及びネットワーク処理能力が含まれる。上位のレイヤに関する要件として、アプリサーバに関する要件、例えば、アプリケーション品質要件及びアプリケーション処理能力が含まれる。ネットワーク構成、ネットワーク処理能力、アプリケーション品質要件及びアプリケーション処理能力のそれぞれの詳細は後に説明する。
【００２９】
本実施例では、下記の処理が行われる。
【００３０】
（Ｓ１０）ネットワーク制御装置１０１が、システム要件に基づいて、シナリオ及びその発動条件を作成する。
【００３１】
（Ｓ２０）ネットワーク制御装置１０１が、複数のシナリオのうちのいずれかのシナリオを通信ネットワーク１０３に適用する。また、ネットワーク制御装置１０１が、自律判断すべき条件に該当するノード１３１に、その条件の自律判断を指定する。
【００３２】
（Ｓ３０）自律判断すべき条件が指定されたノード１３１が自律判断を行う。自律判断では、そのノード１３１によって検出された状況が、指定された条件に適合するか否かが判断される。ノード１３１は、通信ネットワーク１０３に現在適用されているシナリオに関わらず、その自律判断の結果に応じた転送先のノードにデータを転送する。
【００３３】
（Ｓ４０）ネットワーク制御装置１０１のネットワーク監視プログラム１２３が、ノード１３１からサービスレベル指標を収集する。
【００３４】
（Ｓ５０）ネットワーク制御装置１０１が、収集されたサービスベル指標を基に特定されるネットワーク状況が、現在適用されているシナリオとは別のシナリオの発動条件に該当するか否かを判断する。該当すると判断された場合、ネットワーク制御装置１０１のネットワーク制御プログラム１２１は、適用するシナリオを、その別のシナリオに切り替える。
【００３５】
（Ｓ４０）は、定期的又は不定期的に行われ、（Ｓ４０）が行われる都度に、（Ｓ５０）が行われる。従って、（Ｓ２０）にて一度シナリオが適用された後は、ネットワーク状況に応じて、適用されるシナリオが切り替えられていく。
【００３６】
（Ｓ２０）において、シナリオの適用は、例えば次のように行われる。すなわち、ネットワーク制御装置１０１は、適用するシナリオが表す通信経路内の各ノード１３１に、そのノード１３１からのデータの転送先ノードを指定する。具体的には、例えば、シナリオＡ（転送経路：ノードＡ→Ｍ→Ｘ）を適用する場合、ネットワーク制御装置１０１は、ノードＡに、転送先がノードＭであることを指定し、ノードＭに、転送先がノードＸ及びＡであることを指定し、ノードＸに、転送先がノードＭであることを指定する。これにより、ノードＡ→Ｍ→Ｘの転送経路を介してデータ通信（双方向通信）が行われる。
【００３７】
或いは、例えば、ネットワーク制御装置１０１は、複数のシナリオ及び発動条件を表す情報を各ノード１３１に送信し、且つ、適用するシナリオを表す識別情報を、各ノード１３１に通知する。その通知を受けたノード１３１のうち、適用するシナリオが表す通信経路内のノード１３１は、そのシナリオに従う転送先を内部に設定する。具体的には、例えば、シナリオＡを表す識別情報を各ノード１３１が受信した場合、ノードＡが、転送先がノードＭであることを設定し、ノードＭが、転送先がノードＸ及びＡであることを設定し、ノードＸが、転送先がノードＭであることを設定する。これにより、ノードＡ→Ｍ→Ｘの転送経路を介してデータ通信（双方向通信）が行われる。
【００３８】
（Ｓ５０）において、シナリオの切り替えは、例えば次のように行われる。すなわち、ネットワーク制御装置１０１は、切り替え前のシナリオが表す通信経路内の各ノード１３１に、指定した転送先ノードを表す情報を破棄させ、且つ、切り替え後のシナリオが表す通信経路内の各ノード１３１に、そのノード１３１からのデータの転送先ノードを指定する。具体的には、例えば、シナリオＡからシナリオＢ（転送経路：ノードＢ→Ｎ→Ｘ）に切り替える場合、ネットワーク制御装置１０１は、ノードＡ、Ｍ及びＸに、指定した転送先ノードを表す情報を破棄させ、ノードＢ、Ｎ及びＸに、シナリオＢに従う転送先ノードをそれぞれ指定する。
【００３９】
或いは、例えば、ネットワーク制御装置１０１は、切り替え後のシナリオを表す識別情報を各ノード１３１に通知する。その通知を受けたノード１３１のうち、切り替え後のシナリオが表す通信経路内のノード１３１は、そのシナリオに従う転送先を内部に設定する。
【００４０】
以下、（Ｓ１０）、（Ｓ３０）及び（Ｓ５０）について詳細を説明する。
【００４１】
図３は、図２の（Ｓ１０）でのシナリオ作成の詳細を示す。
【００４２】
シナリオ作成の基になるシステム要件には、前述したように、ネットワーク構成、ネットワーク処理能力、アプリケーション品質要件及びアプリケーション処理能力がある。
【００４３】
ネットワーク構成とは、どのノードがどのノードに接続されているかを表す。図３によれば、末端ノードであるクライアント端末がネットワーク構成に含まれているが、クライアント端末は、シナリオの作成の際に考慮されるにすぎず、別の末端ノードであるアプリサーバと違って、制御の対象にはならない。
【００４４】
ネットワーク処理能力とは、中継ノード群を介した通信で発揮可能な能力である。ネットワーク処理能力に関する指標としては、例えば図３に示すように、通信往復時間（例えば、クライアント端末に接続されている中継ノードとアプリサーバとの間の通信往復時間）、帯域利用率がある。
【００４５】
アプリケーション品質要件とは、アプリサーバが提供する品質を或る品質より悪くならないようにするための要件である。アプリケーション品質要件に関する指標としては、例えば図３に示すように、アプリサーバの通信往復時間がある。
【００４６】
アプリケーション処理能力とは、アプリサーバが発揮可能な能力である。アプリケーション処理能力に関する指標としては、例えば図３に示すように、アプリサーバの処理能力（例えばＩ／Ｏ性能）や、アプリサーバの数がある。
【００４７】
システム要件を構成する指標やその指標に関する値（例えば、通信往復時間：２０ｍｓ以下）は、システム管理者から入力されても良いし、各ノード１３１からの情報収集によって自動で作成されてもよい。例えば、各ノード１３１から、そのノード１３１の能力や隣接ノード（別のノードを介することなく接続されているノード）の識別情報が収集された場合、それらの情報を基に、ネットワーク処理能力や、ネットワーク構成や、アプリサーバの数が把握されても良い。
【００４８】
シナリオ生成プログラム１２５は、このようなシステム要件に基づき、例えば図示の下記処理を行うことで、シナリオ及びその発動条件を作成する。
（Ａ）ネットワーク構成を基に、全ての通信経路を特定する。
（Ｂ）アプリケーション品質要件、アプリケーション処理能力、及びネットワーク処理能力として指定されている通信往復時間を基に、通信ネットワークで許容される通信往復時間を算出する。
（Ｃ）算出された通信往復時間を保証するために必要な帯域利用に関する条件を通信経路毎に決定する。
（Ｄ）ネットワーク構成及びアプリケーション処理能力から想定される障害事象と回避方式を通信経路毎に特定する。「障害事象」とは、通信経路の切断或いは品質劣化の原因となる事象であり、例えば、回線及びケーブルの断線、ノードの不正動作、及び、ノードの一部機能の停止がある。また、「回避方式」とは、障害事象が生じた場合にどのように回避するかであり、例えば、どの通信経路に切り替えられるかである。
（Ｅ）ネットワーク状況を把握するために収集すべきサービスレベル指標を決定する。
【００４９】
これら（Ａ）〜（Ｅ）の処理結果を基に、各シナリオ及び各シナリオの発動条件が生成される。一例を挙げると、次の通りである。すなわち、シナリオＡ「Ａ→Ｍ→Ｙ」の発動条件に、「ノードＡ〜Ｍ間の通信往復時間が５０ｍｓ以下」が含まれている。しかし、ノードＡ〜Ｍ間の通信品質が劣化すると、ノードＡ〜Ｍ間の通信往復時間が５０ｍｓ以上となることがあり、そうすると、ノードＹに繋がる別の通信経路「Ｂ→Ｎ→Ｙ」が適切であると考えられる。そのため、そのような別の通信経路を表すシナリオＤ「Ｂ→Ｎ→Ｙ」の発動条件では、Ａ〜Ｍ間の通信往復時間の条件は、５０ｍｓ以上、とされる。
【００５０】
なお、生成されたシナリオ及び発動条件は、そのまま（Ｓ２０）〜（Ｓ５０）の処理で利用されてもよいし、システム管理者によって必要な部分が修正されてもよい。
【００５１】
図４は、図２の（Ｓ３０）での自律判断の説明図である。
【００５２】
前述したように、シナリオの発動条件の一部の条件が、ノード１３１の自律判断の対象となる。自律判断の対象は、例えば、全てのシナリオの発動条件に共通の条件である。図４の例によれば、シナリオＡ〜Ｄの発動条件に共通の条件として、「ノードＡ〜Ｍの各々で検知される通信帯域率が６０％以下或いは６０％以上である」、及び、「ノードＡ〜Ｘの各々で検知される通信往復時間が５０ｍｓ（ミリ秒）以下或いは５０ｍｓ以上である」、がある。このため、ノードＡは、検知された通信帯域率が６０％以下で通信往復時間が５０ｍｓ以下かどうか、或いは、検知された通信帯域率が６０％以上で通信往復時間が５０ｍｓ以上かどうかを、自律的に判断する。ノードＡは、通信帯域率が６０％以下で通信往復時間が５０ｍｓ以下と判断した場合には、通信ネットワークに適用されているシナリオに関わらず、データを隣接ノードＭに転送し、その後、通信帯域率が６０％以上で通信往復時間が５０ｍｓ以上になったと判断した場合には、データの転送先を隣接ノードＭから隣接ノードＢに切り替える。なお、上記の発動条件は一例にすぎず、例えば、「通信帯域率が６０％以下で通信往復時間が５０ｍｓ以上」或いは「通信帯域率が６０％以上で通信往復時間が５０ｍｓ以下」といった条件があっても良い。
【００５３】
図５〜図８を参照して、図２の（Ｓ５０）でのシナリオ切り替えの例を説明する。
【００５４】
まず、図５に示すように、シナリオＡが適用されたとする。この場合、ノード（アプリサーバ）Ｘとクライアント端末との間で通信が行われる。その通信経路は、ノードＡ、Ｍ及びＸで構成されている。
【００５５】
なお、ノードＢもクライアント端末に接続されているため、ノードＢが、クライアント端末からノード（アプリサーバ）Ｘへのデータを受ける可能性がある。しかし、ノードＢが受けたとしても、ノードＢは、シナリオＡに従い、そのデータをノードＡに転送する。このため、ノードＡの転送経路を介したデータ通信が維持される。
【００５６】
図５の状況の後、図６に示すように、ノードＡとＭとの間で、サービスレベル指標の条件違反（例えば、ノードＡとＭとの間の通信帯域率が過剰になり且つノードＡとＸとの間の通信往復時間が大幅に長くなった）が生じたとする。それにより、ノードＢ及びＮが、自律判断において、通信帯域率が６０％以上で通信往復時間が５０ｍｓ以上になったと判断したとする。この結果、ノードＢは、クライアント端末からデータを受けた場合、シナリオＡが適用されていても、データをノードＡではなくノードＮに転送する。ノードＮは、自律判断の結果に応じて、そのデータをノードＸに転送する。ノードＸからは、データの転送元のノードＮに応答が返され、その応答は、ノードＮ及びＢのそれぞれの自律判断の結果を基に、ノードＮ及びＢを介してクライアント端末に返る。すなわち、図６の例によれば、ネットワーク制御装置１０１からシナリオＡが適用されていても、ノードＢ及びＮの自律判断の結果に応じて、シナリオＢが適用されたことになる。なお、各ノードからの定期的又は不定期的な情報の収集により、ネットワーク制御装置１０１は、現在どのノードからどのノードへのデータ転送が行われるかを把握し、それにより、現在適用されているシナリオが、ネットワーク制御装置からの指示無しに切り替わっているかどうかを把握してもよい。
【００５７】
また、図５の状況の後、図７に示すように、ノードＸに、サービスレベル指標の条件違反（例えば、ノードＸに障害が生じた）が生じたとする。これにより、ネットワーク制御プログラム１２１により、検知されたネットワーク状況がシナリオＣの発動条件に適合したと判断されたとする。この場合、ネットワーク制御プログラム１２１は、シナリオＡからシナリオＣへの切り替えを行う。シナリオＡに従う通信経路と、シナリオＣに従う通信経路において、ノードＡ及びＭは共通のため、プログラム１２１は、ノードＭに、ノードＹへの転送を行うよう指定し、ノードＸに、例えば現用系から待機系に切り替わることを指示する。
【００５８】
図５の状況の後、図８に示すように、ノードＡとＭとの間、及び、ノードＸに、サービスレベル指標の条件違反（例えば、ノードＸに障害が生じ、ノードＡとＭとの間の通信帯域率が過剰になり、且つノードＡとＸとの間の通信往復時間が大幅に長くなった）が生じたとする。それにより、ノードＢが、自律判断において、通信帯域率が６０％以上で通信往復時間が５０ｍｓ以上になったと判断し、ノードＮが、同様の判断に加えて、ノードＸとの通信が不可能になったと判断する。この結果、ノードＢは、クライアント端末からデータを受けた場合、シナリオＡが適用されていても、データをノードＡではなくノードＮに転送する。そして、ノードＮは、自律判断の結果に応じて、そのデータをノードＹに転送する。ノードＹからは、データの転送元のノードＮに応答が返され、その応答は、ノードＮ及びＢのそれぞれの自律判断の結果を基に、ノードＮ及びＢを介してクライアント端末に返る。すなわち、図８の例によれば、ネットワーク制御装置１０１からシナリオＡが適用されていても、ノードＢ及びＮの自律判断の結果に応じて、シナリオＤが適用されたことになる。
【００５９】
以上が、実施例１についての説明である。
【００６０】
実施例１によれば、ネットワーク制御装置１０１が、通信ネットワーク１０１を統括する。具体的には、ネットワーク制御装置１０１は、シナリオとその発動条件のセットを複数管理しており、定期的又は不定期的に検知したネットワーク状況に応じて、シナリオを切り替える。これにより、通信ネットワーク１０３の全体的な状況に応じて通信経路が切り替わる。このため、中継ノードの自律判断のみで通信経路が切り替ることに比べて、最適な通信経路を提供できる可能性が向上する。
【００６１】
また、実施例１によれば、アプリサーバも制御対象とされている。具体的には、通信経路の一端にアプリサーバが含まれ、通信経路が、末端ノードであるアプリサーバの処理性能や状況に応じて切り替る。これにより、最適な通信経路を提供できる可能性の一層の向上が期待できる。
【００６２】
また、実施例１によれば、全ての判断をネットワーク制御装置１０１が行うのではなく、一部の判断を自律的にノード（特に中継ノード）１３１が行う。つまり、シナリオの切り替えのための判断が、ノード１３１とネットワーク制御装置１０１とのハイブリッドで行われる。ノード１３１の判断だけでシナリオを切り替えるようにすると、既に説明したような問題があるし、ネットワーク制御装置１０１の判断だけでシナリオを切り替えようとすると、ネットワーク状況の変化に遅れてシナリオが切り替わることがある。実施例１のように、ハイブリッドでシナリオを切り替えることで、ネットワーク状況の変化に早く対応することと最適な通信経路を提供することとの両方を満足させることが期待できる。
【実施例２】
【００６３】
以下、本発明の実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例２との共通点については説明を省略或いは簡略する。
【００６４】
図９は、本発明の実施例２に係るネットワークシステムを示す。
【００６５】
通信ネットワークが、第１の通信ネットワークと、複数の第２の通信ネットワークとに分かれている。第１の通信ネットワークは、例えば、本店（データセンタ）７０３におけるＬＡＮ（Local Area Network）であり、第２の通信ネットワークは、例えば、各支店７０５におけるＬＡＮである。第１の通信ネットワークも第２の通信ネットワークも、複数の中継ノード（ルータ）を含んでいる。以下、第１の通信ネットワークを「本店ネットワーク」と言い、第２の通信ネットワークを「支店ネットワーク」と言う。
【００６６】
各支店ネットワークは、クライアント端末を含んでおり、本店ネットワークは、アプリサーバＸ及びＹを含んでいる。これにより、各支店の従業員が、クライアント端末を利用して、本店ネットワークのアプリサーバＸ又はＹにアクセスし、所望のサービスを受けることができる。
【００６７】
複数の第３の通信ネットワークがある。第３の通信ネットワークは、ネットワーク制御装置７０１からの制御の対象外の通信ネットワークである。第３の通信ネットワークは、例えばＷＡＮ（Wide Area Network）網７１１である。以下、本実施例では、二つのＷＡＮ網Ａ及びＢがあるとする。
【００６８】
本店ネットワーク内の複数の中継ノード（ノードＭ及びＮ）と、各支店ネットワーク内の複数の中継ノード（ノードＡ−ｘ及びＢ−ｘ（ｘは、１，２，…，ｎ（ｎ自然数）））とが、ＷＡＮ網Ａ及びＢの両方に接続されている。このため、本店ネットワークからは、ＷＡＮ網Ａ及びＢのどちらも経由することができるし、同様に、いずれの支店ネットワークからも、ＷＡＮ網Ａ及びＢのどちらも経由することができる。つまり、クライアント端末とアプリサーバとの間の通信では、ＷＡＮ網Ａ及びＢのいずれも経由することができる。
【００６９】
支店ネットワーク毎に、複数のシナリオ及び発動条件がある。シナリオ及び発動条件は、例えば、一以上の支店ネットワークと別の一以上の支店ネットワークとの間で異なっていても良いが、本実施例では、説明を簡単にするために、全ての支店ネットワークについて、複数のシナリオ及び発動条件は同じであるとする。
【００７０】
支店ネットワーク毎の複数のシナリオには、ＷＡＮ網Ａを経由するシナリオＡと、ＷＡＮ網Ｂを経由するシナリオＢとがある。図９の例によれば、支店１についてのシナリオＡによれば、ＷＡＮ網Ａを経由する通信経路として、支店１の支店ネットワーク内のノードＡ−１と本店ネットワーク内のノードＭ及びＸとを含んだ通信経路がある。また、同支店１についてのシナリオＢによれば、ＷＡＮ網Ｂを経由する通信経路として、支店１の支店ネットワーク内のノードＢ−１と本店ネットワーク内のノードＮ及びＸとを含んだ通信経路がある。
【００７１】
ＷＡＮ網Ａが、メインのＷＡＮ網であり、ＷＡＮ網Ｂが、サブのＷＡＮ網であるとする。それ故、ＷＡＮ網Ａは、ＷＡＮ網Ｂよりも通信能力（例えばデータ転送速度）が優れているとする。
【００７２】
このようなネットワークシステムの構成において、例えば図９に示すように、全ての支店ネットワークについて、ＷＡＮ網Ａを経由するシナリオＡが適用されていたとしても、通信量（単位時間当たりに経由するデータの総量）が所定の通信量を超えなければ、全ての支店１〜４におけるクライアント端末とアプリサーバＸとの間のデータ通信がＷＡＮ網Ａを経由しても問題無い。
【００７３】
ここで、図１０に示すように、ＷＡＮ網Ａに過負荷が生じたとする（例えば、ＷＡＮ網Ａの通信量が所定の通信量を超えるほどに増加したとする）。この場合、ＷＡＮ網Ａに接続されている各ノードＡ−ｘ（支店ネットワーク内のノード、ｘ＝１，２，…，ｎ）が、一斉に、自律判断の結果としてノードＢ−ｘにデータを転送することを決定したとする。そうすると、クライアント端末からノードＡ−ｘがデータを受けても、そのデータは、ノードＢ−ｘに転送され、ノードＢ−ｘからＷＡＮ網Ｂを介して本店ネットワークに送信されることになる。それ故、今度は、ＷＡＮ網Ｂが過負荷となることになる。
【００７４】
そこで、ネットワーク制御装置７０１が、例えばＷＡＮ網Ａに過負荷が生じた場合、ＷＡＮ網Ａの負荷をＷＡＮ網Ａ及びＢに分散するように、複数の支店ネットワークに適用するシナリオを違える。例えば、図１１に示すように、支店１及び２の支店ネットワークについては、シナリオＡを適用したままとし、支店３及びｎの支店ネットワークについては、適用するシナリオをシナリオＢに切り替える。これにより、ＷＡＮ網Ａ及びＢのいずれも過負荷にならないようにすることができる。
【００７５】
なお、シナリオを違える方法は、幾つか考えられる。第１の方法では、シナリオＡ及びＢのそれぞれの発動条件を、全ての支店ネットワークで同じにしておき、ネットワーク制御装置１０１が、シナリオＢの発動条件を満たすネットワーク状況が全ての支店ネットワークについて検出されても、一部の支店ネットワークについてはシナリオＡを適用したままとし、残りの支店ネットワークについてのみシナリオをシナリオＢに切り替える。第２の方法では、予め、一部の支店ネットワークと残りの支店ネットワークについて同一のシナリオであっても発動条件を違えておき、それにより、ネットワーク状況が適合した発動条件に対応するシナリオを適用するようにしても、負荷が一つのＷＡＮ網に集中しないようにすることができる。
【００７６】
上述した本発明の幾つかの実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【００７７】
例えば、上記の実施例では、通信経路は、ノードの組合せのみ（つまり物理的な構成のみ）で定義されているが、それに代えて又は加えて、論理的な構成で定義されても良い。論理的な構成としては、例えば、優先制御方式（ＱｏＳ（Quality of Service）制御方式）に従う優先度を採用することができる。すなわち、シナリオは、優先制御方式に従う優先度が記述されていても良いし、それに加えて、どのノードでどの優先度に従う制御を行うかが記述されていても良い。具体的には、例えば、シナリオＸとして、「Ａ→Ｍ→Ｘ」と、「Ａ＝優先度４」と、「Ｍ＝優先度２」とが定義されても良い（ここでは、数字が大きいほど優先度が高い）。この場合、シナリオＸが適用されると、「Ａ→Ｍ→Ｘ」において、ノードＡが、優先度４に従う優先制御（例えば、単位時間当たりに多くのデータを転送し）を行い、ノードＭが、優先度２に従う優先制御（例えば、単位時間当たりにあまりデータを転送せず）を行うことができる。従って、例えば、ノードＡ及びＭを経由してノードＸにデータが流れる場合、ノードＡからノードＭには、単位時間当たりにたくさんのデータが流れる論理的な経路を介してデータが流れ、ノードＭからノードＸには、単位時間当たりにあまりたくさんのデータが転送されない論理的な経路を介してデータが流れることになる。このように、通信経路の定義には、物理的な構成に代えて又は加えて論理的な構成を含めることができる。論理的な構成としては、優先制御方式に従う優先度に限らず、他種の論理構成（例えば、ポート番号とＬＵＮ（Logical
Unit Number）との組合せ）が採用されても良い。なお、シナリオ生成プログラム１２５は、上記（Ｃ）の処理において、優先制御方式に従う優先度のような条件を通信経路毎に決定することができる。
【符号の説明】
【００７８】
１０１…ネットワーク制御装置
【図１】
0005389591.tif 000002
【図２】
0005389591.tif 000003
【図３】
0005389591.tif 000004
【図４】
0005389591.tif 000005
【図５】
0005389591.tif 000006
【図６】
0005389591.tif 000007
【図７】
0005389591.tif 000008
【図８】
0005389591.tif 000009
【図９】
0005389591.tif 000010
【図１０】
0005389591.tif 000011
【図１１】
0005389591.tif 000012