(57)【要約】【課題】オープンフローコントローラが複数のセグメントをまたぐ経路計算をする必要がある場合に適切な経路を計算できないという問題を解決すること。【解決手段】所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と前記通信経路指示装置により通信経路を構築されるネットワークと前記ネットワークのネットワーク情報を取得する情報取得手段とを備えるセグメントが複数形成され、前記各セグメントの前記各ネットワーク間はそれぞれネットワーク接続装置を介して接続されており、前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と前記各セグメント内の前記各ネットワークに対して通信経路を構築するよう指示する上位通信経路指示手段とを備えることで、前記上位通信経路指示手段は前記情報集約サーバの集約した情報を用いて前記複数のネットワーク間を経由する通信経路を構築するよう指示する。【選択図】図１
2015012554.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続されており、
さらに、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークにおける経路を構築するよう指示する上位通信経路指示手段と、を備え、
前記上位通信経路指示手段は、前記情報集約手段が集約した情報を用いて、前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記通信システムは、前記情報集約手段が集約した情報に基づいて、前記各セグメントの中から、通信経路に使用するセグメントを選択するセグメント選択手段を備え、
前記上位通信経路指示手段は、前記セグメント選択手段により選択された各セグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記各情報取得手段は、当該各情報取得手段を備えるそれぞれのネットワーク内の輻輳情報を取得し、
前記情報集約手段は、前記情報取得手段が取得した前記輻輳情報を集約し、
前記セグメント選択手段は、当該情報集約手段により集められた輻輳情報に基づいて、予め定められた基準を超えている輻輳状態にあるネットワークを避けるように、経路構築に使用するセグメントを選択し、
前記上位通信経路指示手段は、前記情報集約手段が選択したセグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【請求項４】
請求項２又は３に記載の通信システムであって、
前記各情報取得手段は、当該各情報取得手段を備えるそれぞれのネットワーク内の障害情報を取得し
前記情報集約手段は、前記情報取得手段が取得した前記障害情報を集約し、
前記セグメント選択手段は、当該情報集約手段により集められた障害情報に基づいて、予め定められた基準を超えている障害状態にあるネットワークを避けるように、経路構築に使用するセグメントを選択し、
前記上位通信経路指示手段は、前記情報集約手段が選択したセグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【請求項５】
請求項２乃至４に記載の通信システムであって、
前記複数のセグメントにそれぞれ設けられた複数の通信経路指示装置の中から、前記上位通信経路指示手段として機能する一つ又は複数の通信経路指示装置を選択する上位経路指示装置選択手段を備え、
前記上位経路指示装置選択手段は、前記情報取得手段が取得したネットワーク情報に基づいて、所定のネットワークを備えるセグメント内の通信経路指示装置を避けるように、前記上位通信経路指示手段として機能する一つ又は複数の通信経路指示装置を選択する、
通信システム。
【請求項６】
請求項２乃至５に記載の通信システムであって、
前記セグメント選択手段は、
前記各セグメントのネットワークを経由する使用候補経路を複数列挙し、
前記情報集約手段により集約された前記ネットワーク情報を用いて、前記上位通信経路指示手段が通信経路の構築に用いる前記使用候補経路を前記複数の使用候補経路の中から一つ又は複数選択する、
通信システム。
【請求項７】
請求項２乃至６に記載の通信システムであって、
前記上位通信経路指示手段が、前記セグメント選択手段を備える、
通信システム。
【請求項８】
請求項１乃至７に記載の通信システムであって、
前記複数のセグメントにそれぞれ設けられた複数の通信経路指示装置の中の一つ又は複数が、前記上位通信経路指示手段としての機能を備える、
通信システム。
【請求項９】
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、を備える、
情報集約装置。
【請求項１０】
請求項９に記載の情報集約装置であって、
前記情報集約装置は、当該情報集約装置が集約した情報に基づいて、前記各セグメントの中から、通信経路に使用するセグメントを選択するセグメント選択手段を備え、
前記集約情報提供手段は、前記セグメント選択手段により選択されたネットワークの情報を提供する、
情報集約装置。
【請求項１１】
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
各セグメントのネットワークからネットワーク情報を情報集約手段が集約し、
通信経路指示装置は、当該集約したネットワーク情報を用いて前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法であって、
前記情報処理装置は、前記各セグメントのネットワークからネットワーク情報を集約した際に、前記各セグメントの中から、通信経路に使用するセグメントを選択し、
前記通信経路指示装置は、前記選択された各セグメント内のネットワーク間を経由する通信経路を構築するよう指示する、
情報処理方法。
【請求項１３】
情報集約装置に、
各セグメントのネットワークのネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、情報集約装置、情報処理方法、プログラムにかかり、特に、広範囲のネットワークを制御する通信システム、情報集約装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
ネットワークをソフトウェアで管理するＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｄ  Ｎｅｔｗｏｒｋｉｎｇ）を実現する技術の一つとして、オープンフローが知られている（例えば特許文献１参照）。
【０００３】
オープンフローは、オープンフローコントローラとオープンフロースイッチとにより構成される。オープンフローコントローラは、オープンフロースイッチが受信するパケットの制御処理を設定し、設定した制御処理をオープンフロースイッチへ通知する。オープンフロースイッチは、オープンフローコントローラから通知された制御処理に基づいてパケットを制御する。
【０００４】
具体的には、例えば、オープンフロースイッチは、端末装置からパケットを受信した際に、受信したパケットに対応する制御方法が予め設定されている場合、設定された制御方法に従ってパケットを制御する。一方、受信したパケットに対応する制御方法が設定されていない場合は、その制御方法をオープンフローコントローラへ問い合わせることで対応する。
【０００５】
このように、オープンフロースイッチは、予め設定された処理方法に基づいて受信したパケットの処理を行う。そのため、オープンフローコントローラによる制御方法の設定を変えることで、オープンフロースイッチの振る舞い（パケットの処理の仕方）を変えることが可能になる。これにより、ネットワークをソフトウェア（プログラム）で管理することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開ＷＯ／２０１０／１０３９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、オープンフロースイッチの振る舞いはオープンフローコントローラで管理することができる。しかしながら、例えば日本全国を一台のオープンフローコントローラで管理することは現実的ではない。そこで、一台のオープンフローコントローラがオープンフロースイッチを管理可能な範囲毎（セグメント毎）にオープンフローコントローラを設置し、各セグメント内のオープンフローコントローラが、それぞれ対応するセグメント内のオープンフロースイッチを管理することになる。
【０００８】
ここで、各セグメント内のオープンフローコントローラは上述したように、それぞれ対応するセグメント内のオープンフロースイッチのみを管理する。そのため、例えば複数のセグメントをまたぐ通信を行おうとした場合、ある一つのセグメント内のオープンフローコントローラは、当該オープンフローコントローラにより制御可能な範囲外（セグメント外）のオープンフロースイッチを制御するための情報を入手できず、セグメント外のオープンフロースイッチを制御できないことになる。つまり、複数のセグメントを通過する通信を行う際には、自らの属するセグメント外のオープンフロースイッチの管理を行うことが出来ず、適切な経路を計算できないという事態が生じる。
【０００９】
以上のように、オープンフローコントローラが複数のセグメントをまたぐ経路計算をする必要がある場合には、当該オープンフローコントローラは自らの属するセグメント外の情報を取得することが出来ないため、自らの属するセグメント外のオープンフロースイッチの管理を行うことが出来ず、適切な経路を計算できないという問題が生じていた。
【００１０】
そこで、本発明の目的は、上述した課題である、オープンフローコントローラが複数のセグメントをまたぐ経路計算をする必要がある場合に、適切な経路を計算できない、という問題を解決することが出来る通信システムを提供することにある。
【課題を解決するための手段】
【００１１】
かかる目的を達成するため本発明の一形態である通信システムは、
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続されており、
さらに、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークにおける経路を構築するよう指示する上位通信経路指示手段と、を備え、
前記上位通信経路指示手段は、前記情報集約手段が集約した情報を用いて、前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
という構成を採る。
【００１２】
また、本発明の他の形態である情報集約装置は、
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメント内の前記各ネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、を備える、
という構成を採る。
【００１３】
また、本発明の他の形態である情報処理方法は、
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
各セグメント内の各ネットワークからネットワーク情報を情報集約手段が集約し、
通信経路指示装置は、当該集約したネットワーク情報を用いて前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
という構成を採る。
【００１４】
また、本発明の他の形態であるプログラムは、
情報集約装置に、
各セグメント内の各ネットワークのネットワーク情報を集約する情報集約手段と、
前記各セグメント内の前記各ネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１５】
本発明は、以上のように構成されることにより、オープンフローコントローラが複数のセグメントをまたぐ経路計算をする必要がある場合であっても、複数のセグメントを経由する適切な経路を計算することが出来る。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態における通信システムの構成を示す図である
【図２】本発明の第１の実施形態における情報処理ユニットの機能を示すブロック図である。
【図３】図２で示す仮想マシン制御部の構成を示すブロック図である。
【図４】図１で示す各端末装置の構成を示すブロック図である。
【図５】図１で示すオープンフロースイッチの構成を示すブロック図である。
【図６】オープンフロースイッチで用いるフローテーブルを説明する図である。
【図７】図１で示す外部ＷＡＮサーバの構成を示すブロック図である。
【図８】第１の実施形態における通信システムの情報の流れを矢印で示す図である。
【図９】オープンフロースイッチの処理の動作を示すフローチャートである。
【図１０】情報処理ユニットによるアドレス解決を説明するシーケンス図である。
【図１１】オープンフローコントローラ機能部のフローエントリ取得処理を説明するフローチャートである。
【図１２】図１１で示すフローエントリ取得処理を説明するフローチャートである。
【図１３】第１の実施形態における情報の流れを矢印で示す図である。
【図１４】第２の実施形態における通信システムの構成を示す図である。
【図１５】第２の実施形態における外部ＷＡＮサーバの構成を示すブロック図である。
【図１６】図１５で示すセグメント選択機能部による経路選択の一例である。
【図１７】第２の実施形態における情報の流れを矢印で示す図である。
【図１８】第２の実施形態における情報の流れを矢印で示す図である。
【図１９】第２の実施形態における変形例の構成を示す図である。
【図２０】第２の実施形態の変形例における情報の流れを矢印で示すブロック図である。
【図２１】第２の実施形態の変形例における情報の流れを矢印で示すブロック図である。
【図２２】第３の実施形態における通信システムの構成を示す図である．
【図２３】第３の実施形態における外部ＷＡＮサーバの構成を示すブロック図である。
【図２４】第３の実施形態における情報の流れを矢印で示す図である。
【図２５】第３の実施形態における情報の流れを矢印で示す図である。
【図２６】第５の実施形態における情報処理ユニットの機能を示すブロック図である。
【発明を実施するための形態】
【００１７】
＜実施形態１＞
本発明の第一の実施形態を、図１乃至図１３を用いて説明する。
【００１８】
（構成）
一台のオープンフローコントローラ（通信経路指示装置）で管理可能なオープンフロースイッチ（ネットワーク装置）の数には限界がある。そこで、一台のオープンフローコントローラで管理する範囲を、一つのセグメントとする。第一の実施形態は、２つのセグメントがある場合である。２つのセグメントが存在する場合であって、当該２つのセグメントをまたいで通信経路を構築する必要が生じた場合について説明する。なお、本実施形態ではセグメントが２つの場合を示すが、本発明はセグメントの数に依存せず実施可能である。
【００１９】
まず、本実施形態の大まかな構成について説明する。
【００２０】
本実施形態における通信システムは、図１で示すように、通常時１台のオープンフローコントローラ（通信経路指示装置）で管理する範囲であるセグメントを２つ（セグメント１とセグメント２）と、当該２つのセグメントの外部に位置し、当該２つのセグメント内のネットワークに関する情報を収集する外部ＷＡＮサーバ１４（情報集約手段）と、により構成される。また、後述する各セグメントにそれぞれ位置する２つのネットワークは、ネットワーク接続装置１５によって接続されている。
【００２１】
まず情報処理ユニット１１Ａについて説明する。情報処理ユニット１１Ａは、本実施形態において、オープンフローコントローラとしての役割を担う。情報処理ユニット１１Ａは、クラウド上に分散配置された複数の情報処理装置を備えて構成されている。つまり、情報処理ユニット１１Ａは、複数の情報処理装置２１ａａ，２１ａｂ，…（以下、個々に区別しない場合、情報処理装置２１と記載する。また、他の構成についても同様とする。）を備える。そして、複数の情報処理装置２１は、情報処理ユニット１１Ａ内のネットワーク２２ａを介して通信可能に接続されている。本例では、複数の情報処理装置２１のそれぞれは、ブレードサーバにより構成されており、必要に応じて追加することが可能である。なお、情報処理ユニット１１Ａは、複数の情報処理装置２１を備えるとしたが、１つの情報処理装置２１（例えば情報処理装置２１ａａ）から構成されていてもよい。すなわち、１つの情報処理装置２１が、後述する情報処理ユニット１１の各機能部を実現するための構成を有していてもよい。また、以下に説明する他の情報処理ユニット１１Ｂについても同様に、１つの情報処理装置２１から構成されていてもよい。  
【００２２】
情報処理ユニット１１Ａと同様に、情報処理ユニット１１Ｂも複数の情報処理装置２１ｂａ，２１ｂｂ，…と、を備える。複数の情報処理装置２１ｂａ，２１ｂｂ，…は、情報処理ユニット１１Ｂ内のネットワーク２２ｂを介して通信可能に接続されている。つまり、情報処理ユニット１１Ｂが備える複数の情報処理装置２１ｂａ，２１ｂｂ，…は、情報処理ユニット１１Ａが備える複数の情報処理装置２１ａａ，１２ａｂ，…とは異なるネットワークに配置される。なお、以下には、情報処理ユニット１１Ａについて説明するが、情報処理ユニット１１Ｂも同様の構成を有している。
【００２３】
各情報処理装置２１は、複数の仮想マシン（仮想サーバ）を構築可能に構成される。具体的には、各情報処理装置２１は、主となるＯＳ（Operating  System）としてのプログラム（メインＯＳ）を実行する。そして、各情報処理装置２１は、メインＯＳ上にて、仮想マシンを動作させるためのプログラムである仮想マシンプログラムを実行する。加えて、各情報処理装置２１は、仮想マシンプログラム上にて、少なくとも１つの副となるＯＳ（ゲストＯＳ）を実行する。更に、各情報処理装置２１は、各ゲストＯＳ上にて、少なくとも１つのアプリケーションプログラムを実行する。ここで、各情報処理装置２１により実行されるゲストＯＳは、仮想マシンを構成している。各仮想マシンは、後述する各機能部の１つを実現する。
【００２４】
次に、端末装置１３について説明する。複数の端末装置１３のそれぞれ（図１の端末装置１３ａ，１３ｂ，１３ｃ，１３ｄ，…）は、例えばパーソナルコンピュータやスマートフォンである。各端末装置は、携帯電話端末、ＰＨＳ（Personal  Handy-phone  System）、ＰＤＡ（Personal  Data  Assistance，Personal  Digital  Assistant）、カーナビゲーション端末、又は、ゲーム端末等であってもよい。
【００２５】
上述した複数の端末装置のうち、端末装置１３ａ，１３ｂ，１３ｃは、セグメント１内に存在する端末装置である。つまり、本実施形態では、端末装置１３ａ、１３ｂ，１３ｃは、セグメント１内のネットワーク１２ａ（例えばＷＡＮ（Wide  Area  Network））を介して、セグメント１内に配置される情報処理ユニット１１Ａ内の、ネットワーク１２ａとは異なるネットワーク２２ａに接続されている。また、端末装置１３ｄ，１３ｅ，１３ｆは、セグメント２内に存在する端末装置である。セグメント１内の各端末装置と同様に、セグメント２内のネットワーク１２ｂ（同じく例えばＷＡＮ）を介して、セグメント２内に配置される情報処理ユニット１１Ｂ内の、ネットワーク１２ｂとは異なるネットワーク２２ｂに接続されている。なお、図１では、各ネットワーク（１２ａ，１２ｂ）に端末装置１３が３つずつ接続されている場合を図示したが、本発明は端末装置１３の数に依存せず実施可能である。端末装置１３が一つしかネットワークに接続されていなくても実施可能であるし、４つ以上接続されていても構わない。
【００２６】
次に、ネットワーク１２ａ，１２ｂについて説明する。ネットワーク１２ａ，１２ｂは、相互に接続可能な複数のオープンフロースイッチ３１（ネットワーク機器）を備えている。ネットワーク１２ａ，１２ｂと情報処理ユニット１１Ａ，１１Ｂ内のネットワーク２２ａ，２２ｂとは、異なるネットワークであり、それぞれ互いに接続されている。ネットワーク１２ａ，１２ｂと、２２ａ、２２ｂとはそれぞれ、例えばＩＰ（Internet  Protocol）網などの通信網により構成されている。
【００２７】
また、上述したように、ネットワーク１２ａと、ネットワーク１２ｂとは、例えば大容量スイッチ１５（ネットワーク接続装置）で接続されている。具体的には、セグメント１とセグメント２とが同一の電気通信事業者に属している場合には、１台の大容量スイッチで接続され、セグメント１とセグメント２とが異なる電気通信事業者に属している場合には、２台の大容量スイッチによって接続されている。
【００２８】
次に、外部ＷＡＮサーバ１４について説明する。外部ＷＡＮサーバ１４（情報集約手段）は、上述した２つのセグメントのいずれにも属さない外部の、例えばクラウド上に配置される。外部ＷＡＮサーバ１４は、後述する情報処理ユニット１１Ａ、１１Ｂがそれぞれ備えるアドミニストレータ（情報取得手段）が取得した各ネットワーク（１２ａ、１２ｂ）の情報を、集約するサーバである。そのため、後述する各ＤＢを備えている。なお、本実施形態では、情報集約手段として外部サーバ（外部ＷＡＮサーバ）を用いるが、本発明の実施においては、必ずしも外部サーバを用いる必要はない。例えば、情報処理ユニット１１内のアドミニストレータ機能部４２が必要に応じて、異なるセグメント内の情報処理ユニット１１内のアドミニストレータ機能４２を介して当該異なるセグメントの情報処理ユニット１１が備える後述する各ＤＢと通信することで、異なるセグメント内のネットワーク情報を取得することも考えられる。上述した手段により異なるセグメント内のネットワーク情報を取得することで、異なるセグメント内のネットワーク情報を集約することができ、当該集約したネットワーク情報を用いることでも、本発明は実施できる。つまり、本発明の実施には、複数のセグメント内のネットワークの情報を何らかの手段で集約可能であれば構わない。
【００２９】
上述したように、一台のオープンフローコントローラが全てのオープンフロースイッチを制御することは現実的ではない。そこで、一台のオープンフローコントローラが複数のオープンフロースイッチを管理する範囲を、一つのセグメントとした。その結果、例えば、セグメント１内部のオープンフローコントローラは、セグメント１内部のオープンフロースイッチのみを管理する。そのため、セグメント１内部には、セグメント１内部のネットワークであるネットワーク１２ａに関する情報しか備えられていない。つまり、セグメント１内部には、セグメント２内部のネットワークに関する情報がないことになる。従って、セグメント１内部のオープンフローコントローラでは、セグメント２内部のオープンフロースイッチを管理することが出来ない。そこで、セグメント１，２内のネットワーク１２ａ、１２ｂの情報を、外部ＷＡＮサーバに集約することで、セグメント１内部のオープンフローコントローラにもセグメント２内部のネットワークの情報を取得可能にした。その結果、異なるセグメントを経由する通信経路を構築することが可能になる。
【００３０】
次に、本実施形態の具体的な構成について説明する。
【００３１】
まず、図２を参照して、情報処理ユニット１１Ａの構成について説明する。図２に示すように、情報処理ユニット１１Ａは、仮想マシン制御機能部４１と、アドミニストレータ機能部４２（情報取得手段）と、ステートフルプロキシ機能部４３と、ＤＮＳ（Domain  Name（Naming）  System（Server））機能部４４と、オープンフローコントローラ機能部４５（通信経路指示装置）と、ポリシサーバ機能部４６（通信経路指示装置）と、フローテーブルサーバ機能部４７（通信経路指示装置）と、を備える。なお、上述したように、情報処理ユニット１１Ａ内の各機能部（例えばオープンフローコントローラ機能部５５）は、１つの情報処理装置２１から構成されてもよいし、複数の情報処理装置２１から構成されていてもよい。また、情報処理ユニット１１Ｂの構成は、情報処理ユニット１１Ａの構成と同一である。
【００３２】
仮想マシン制御機能部４１は、情報処理ユニット１１内部の仮想マシンおよび端末装置１３の仮想マシンを生成し、制御する部分である。具体的には、図３で示すように、通信部５１と、仮想マシン制御部５２と、仮想マシンＤＢ（Data  Base）５３と、を備える。
【００３３】
アドミニストレータ機能部４２は、配下のネットワーク（同一のセグメント内のネットワーク）を監視する部分である。例えば、当該アドミニストレータ機能部４２が管理するネットワークに変更があるごとに、その情報を後述する外部ＷＡＮサーバ１４に送る。アドミストレータ機能部４２が送信する情報は、例えばトポロジ情報やフローテーブル情報などであり、配下のネットワークから様々な情報を取得することが可能である。本実施形態では、各セグメントのアドミニストレータ機能部４２が属するネットワーク１２ａ、１２ｂの情報（トポロジ情報、フローテーブル情報など）を取得して、当該取得した情報を、外部ＷＡＮサーバ１４に送信している。また、アドミニストレータ機能部４２は、複数のセグメントを経由する通信であることを知った際には、複数のセグメントを経由する経路計算を行うために、当該アドミニストレータ機能部４２が取得した後述する通信先情報と転送設定情報とを外部ＷＡＮサーバへと送信する機能を持つ。また、アドミニストレータ機能部４２は、後述するオープンフロースイッチの設定完了通知を、アドミニストレータ機能部４２を介して外部ＷＡＮサーバ１４へと送信する機能も持つ。アドミニストレータ機能部４２と外部ＷＡＮサーバ１４とで情報のやり取りを行うことで、複数のセグメントを経由する経路計算を行うことが出来るようになる。
【００３４】
ステートフルプロキシ機能部４３とＤＮＳ機能部４４とは、例えばＳＩＰ（Session  Initiation  Protocol）サーバで構成される。ステートフルプロキシ機能部４３とＤＮＳ機能部４４とは、複数のユーザ端末の間の接続を制御する部分である。例えば、同一のセグメント内でアドレス解決をする際に、ステートフルプロキシ機能部４３とＤＮＳ機能部４４は用いられる。具体的には、後述する通信先情報を取得したステートフルプロキシ機能部４３は、当該取得した通信先情報をＤＮＳ機能部４４に転送する。そして、ＤＮＳ機能部４４は、受信した通信先情報に対応付けて記憶された通信先アドレス（例えばＩＰアドレス）を取得し、ステートフルプロキシ機能部４３に転送する。上述した動作により、後述するアドレス解決を行う。その他にも、ステートフルプロキシ機能部は、例えば後述するネットワーク解決を行う際にも機能する。
【００３５】
オープンフローコントローラ機能部４５は、ネットワーク１２ａにおける通信経路を設計する部分である。つまり、ネットワーク１２ａ内に配置された複数のオープンフロースイッチ３１に対して、ネットワーク１２ａ内に通信経路を構築するように指示する通信経路指示処理を行う。具体的には、後述するオープンフロースイッチ３１に記憶されているフローテーブルでは対応できない処理が必要になった場合など、新しい処理が必要になった場合に、転送設定情報などを用いて、オープンフロースイッチ３１が情報を転送する際に必要となるフローエントリを生成する。
【００３６】
ポリシサーバ機能部４６は、ネットワーク１２内の経路を設定するためのポリシ情報を記憶する部分である。ポリシ情報とは、会社などの組織において情報セキュリティを確保するための規定である。例えばＩＤやポート番号、アクセス制限、優先的に接続する接続先などの情報を含む。
【００３７】
フローテーブルサーバ機能部４７は、オープンフロースイッチ３１に経路を指示するためのフローエントリを記憶する部分である。上述したオープンフローコントローラ機能部５５により生成されたフローエントリは、フローテーブルサーバ機能部５７で管理されることになる。
【００３８】
上述した構成により、情報処理ユニット１１Ａは、オープンフローコントローラとしての機能をクラウド上に実現する。また、情報処理ユニット１１Ａは、情報処理ユニット１１Ａにアクセスする端末装置１３に対して、仮想マシン制御機能部５１を介してシンクライアント環境（例えばＤａａＳ（Ｄｅｓｋｔｏｐ  ａｓ  ａ  Ｓｅｒｖｉｃｅ））を提供する。つまり、オープンフローコントローラとしての処理は全て情報処理ユニット上で行われることになるため、情報処理ユニット１１Ａにアクセスする端末装置１３は、当該端末装置１３上で処理を行うことなく、経路計算した経路を用いて通信することが可能になる。
【００３９】
次に、図４を用いて、端末装置１３の構成について説明する。端末装置１３は上述したように、仮想マシン制御機能部５１が提供する仮想マシンを利用する。図４に示すように、端末装置１３は、演算部６１と、入出力部６２と、記憶部６３と、通信部６４と、を備える。演算部６１は、記憶部６３に予め記憶されたプログラムを実行することにより取得部６５の機能を有する。取得部６５は、端末識別情報を取得するという機能を有しており、当該端末識別情報を仮想マシン制御機能部５１が受信することで、仮想マシン制御機能部５１は、端末装置１３を認証することになる。なお、上述したように、端末装置１３は、仮想マシン制御機能部４１が提供するシンクライアント環境（例えばDaaS（Desktop  as  a  Service））を利用する装置である。そのため、端末装置１３は、少なくともＣＰＵ（Central  Processing  Unit）等の演算部６１と、入出力部６２と、通信部６４とを備えていればよい。
【００４０】
次に、図５を参照して、オープンフロースイッチ３１の構成について説明する。図５に示すように、オープンフロースイッチ３１は、転送制御部７１とフローテーブルＤＢ７２と通信部７３とを備えている。フローテーブルＤＢ７２は、通信を制御する条件などが記載されたフローエントリを記憶するデータベースである。つまり、フローテーブルＤＢ７２に記憶されるフローエントリは、オープンフローコントローラ機能部４５が通信経路指示処理を行うことで、記憶される情報である。転送制御部７１は、フローテーブルＤＢ７２に記憶されたフローテーブルに基づいてパケット情報を転送する部分である。また、通信部７３は、後述する情報処理ユニット１１への問い合わせの時や、後述する設定完了通知の送信の際に用いる部分である。つまり、当該通信部７３を介して、オープンフロースイッチ３１は情報処理ユニット１１Ａと後述する各種情報のやり取りを行うことになる。
【００４１】
図６は、フローテーブルＤＢ７２に記憶されるフローテーブル９１の例を示す図である。図６に示すように、フローテーブル９１は、「条件」と「処理内容」とが対応付けられている。フローテーブル９１の各行は、フローエントリを示している。図６の例では、転送制御部７１は、送信先ＩＰアドレスが「ｘｘｘｘ」であるパケット情報を受信した場合に、受信したパケット情報を物理ポート３から転送（送信）する。また、転送制御部７１は、オープンフロースイッチ３１の物理ポート６からパケット情報の入力があった場合に、当該パケット情報を物理ポート２から転送する。さらに、転送制御部７１は、受信したパケット情報に含まれるプロトコルが「ＩＣＭＰ（Internet Control Message Protocol）」である場合に、受信したパケット情報を破棄する。このように、転送制御部７１は、フローテーブル９１の各フローエントリに基づく転送処理を行うので、迅速かつ容易にパケット情報を転送することができる。
【００４２】
一方で、オープンフロースイッチ３１は、転送を行う情報に対応するフローエントリが記憶されていない場合には、その対応をオープンフローコントローラとしての機能を持つ情報処理ユニット１１Ａへ問い合わせる。問い合わせを受けた情報処理ユニット１１Ａは、後述する動作によりフローエントリを生成し、オープンフロースイッチ３１へと送信する。該当するフローエントリを受け取ったオープンフロースイッチ３１は、当該フローエントリをフローテーブルに設定する（転送の設定）。そして、転送の設定が完了すると、オープンフロースイッチ３１は、情報処理ユニット１１Ａ内のアドミストレータ機能部４２を介して、外部ＷＡＮサーバ１４へと設定完了通知を送信する。その後、設定の対象となるオープンフロースイッチ３１の全てから設定完了通知を受け取った外部ＷＡＮサーバ１４は、情報処理ユニット１１Ａ内のアドミニストレータ機能部４２を介して、通信を行う端末、及び通信で使用される対象となるオープンフロースイッチ３１に対して通信の開始を指示することになる。当該行為により、通信に利用するオープンフロースイッチ３１は、当該通信により送信されるパケットを適切に処理することが可能になる。
【００４３】
次に、図７を参照して、外部ＷＡＮサーバ１４の構成について説明する。外部ＷＡＮサーバ１４は、セグメント１，セグメント２それぞれの情報を集約するサーバである。本実施形態では上述したように、セグメント１，２のどちらにも属さない外側に配置されている。後述するように、情報処理ユニット１１Ａは、外部ＷＡＮサーバ１４に集約した情報を用いて、セグメントをまたぐ経路計算をする。そのため、外部ＷＡＮサーバ１４は、各セグメント１，２の情報処理ユニット１１Ａ，１１Ｂが経路計算する際に必要とする情報を記録できるよう構築されている。また、外部ＷＡＮサーバ１４は上述したように、各オープンフロースイッチ３１から設定完了通知を受信し、通信の開始を指示する機能を持つように構成されている。
【００４４】
具体的には、図７で示すように、外部ＷＡＮサーバ１４は、ＤＮＳ  機能部８１と、トポロジ情報  ＤＢ８２（データベース）と、フローテーブル情報  ＤＢ８３と、ポリシ情報  ＤＢ８４と、通信管理  機能部８５と、を備える。
【００４５】
ＤＮＳ  機能部８１は、セグメントをまたぐ通信を行う際に、セグメントをまたぐアドレス解決を行う部分である。アドレス解決については、後述する。通信管理  機能部８５は上述したように、転送の設定が必要となったため情報処理ユニット１１Ａからフローエントリを送信した各オープンフロースイッチ３１から、設定完了通知を受信する部分である。そして、転送の設定の対象となる全てのオープンフロースイッチから設定完了通知を受信すると、通信の発信元となったセグメント内の情報処理ユニットが備えるアドミニストレータ機能部４２に、通信の開始を指示する部分である。また、各データベースには、各セグメント内の各アドミニストレータ機能部が集めた各セグメントのネットワークに関する情報が集約されている。
【００４６】
以下、各ＤＢについて詳しく説明する。トポロジ情報  ＤＢ８２は、トポロジ情報を記憶するデータベースである。トポロジ情報とは、各セグメント内に配置されたオープンフロースイッチのポートに、どのスイッチがつながっているか等といった、ネットワーク接続形状の情報である。フローテーブル情報  ＤＢ８３は、上述した各セグメント内のオープンフロースイッチが受信した情報を処理する際に用いる、フローテーブルを記憶する部分である。ポリシ情報  ＤＢ８４は、アクセス優先などの各セグメントにおけるセキュリティポリシーを記憶する部分である。上述したように、各データベースに記憶されているそれぞれの情報を用いることで、情報処理ユニット１１Ａは複数のセグメントをまたぐ経路計算をする。なお、本実施形態において、外部ＷＡＮサーバ１４は、１台の装置により構成されるとした。しかしながら、本発明において外部ＷＡＮサーバは、必ずしも１台の装置で実現されなければならないわけではない。例えばクラウド上に分散配置された複数の装置により、外部ＷＡＮサーバとしての機能を実現しても構わない。
【００４７】
なお、外部ＷＡＮサーバ１４には、互いに通信可能な通信回線を介して、外部記憶装置を接続することもできる。ここで、外部記憶装置は、ＤＮＳ  ＤＢと、トポロジ情報  ＤＢと、フローテーブル  ＤＢと、ポリシ情報  ＤＢと、を備えている。そして、外部記憶装置は、当該外部記憶装置と接続された外部ＷＡＮサーバ１４に記憶されたＤＮＳに関する情報、トポロジ情報、フローテーブル情報、ポリシ情報に更新があるごとに、当該情報を複製して記憶する。外部ＷＡＮサーバ１４の情報を複製し記憶する外部記憶装置を接続することで、例えば外部ＷＡＮサーバ１４に何らかの障害が生じたとしても、問題なく対処することが可能になる。
【００４８】
以上が、第一の実施形態における通信システムの具体的な構成である。なお、本実施形態においては、オープンフローコントローラとしての機能は、クラウド上に分散配置された複数の情報処理ユニットによる情報処理ユニット１１Ａ，１１Ｂにより実現するとした。しかし必ずしも、クラウド上でオープンフローコントローラとしての機能を実現しなければならないわけではない。また、外部ＷＡＮサーバ１４も、必ずしも、セグメント１，２とは異なるクラウド上に配置されている必要はない。
【００４９】
次に、図８乃至図１４を参照して、セグメント１内の端末装置１３ａからセグメント２内の端末装置１３ｅへと、情報を送信する必要が生じた場合の本実施形態における通信システムの動作について説明する。なお、本実施形態において、情報の発信は、端末装置１３ａから行われる。そのため、上位通信経路指示装置としての役割は、情報の発信源である端末装置１３ａが存在するセグメント１内に存在する、情報処理ユニット１１Ａが担うとする。
【００５０】
なお、本実施形態は、後述する動作の前提として、図８で示すように、セグメント１、２内部のネットワーク１２ａ、１２ｂそれぞれの情報を、外部ＷＡＮサーバ１４へと集約して記憶する。具体的には、セグメント１，２内の情報処理ユニット１１Ａ，１１Ｂが備える各アドミニストレータ機能部４２が、それぞれのアドミニストレータ機能部４２の配下のネットワーク１２ａ、１２ｂを監視し、ネットワーク１２ａ、１２ｂに変更があるごとに、その情報を外部ＷＡＮサーバ１４へと送信する。本実施形態において集約する情報は、上述したように、各オープンフロースイッチの接続情報等により構成されるトポロジ情報、各セグメント内のオープンフロースイッチが情報を転送する際に用いるフローテーブル情報、各セグメントのセキュリティポリシーであるポリシ情報である。
【００５１】
（動作）
まず、通信を開始した端末装置１３ａは、通信元情報（例えば、端末装置１のＩＰアドレスやＭＡＣアドレスなど）と通信先情報（例えば、電話番号やメールアドレス、ＵＲＬなど）とをネットワーク１２ａ内のオープンフロースイッチ３１へと転送する。
【００５２】
図９で示すように、通信元情報と通信先情報とを受信した（Ｓ０００１）オープンフロースイッチ３１の転送制御部７１（図５参照）は、対応するフローントリがフローテーブルＤＢに記録されているか判定する（Ｓ００２）。そして、オープンフロースイッチ３１は、対応するフローエントリがフローテーブルＤＢに記録されている場合には、当該フローエントリに従って、通信を制御する。一方で、オープンフロースイッチ３１は、対応するフローエントリが記録されていない場合には、その処理の仕方を情報処理ユニット１１Ａに問い合わせる。具体的には、転送制御部７１は、トポロジ情報（オープンフロースイッチの各ポートに接続された他のオープンフロースイッチ等の接続状態を表す情報）と、フローエントリ情報（オープンフロースイッチに記憶されているフローエントリの情報）とを取得し（Ｓ００３，Ｓ００４）、上述したトポロジ情報とフローエントリ情報とからなる内部転送設定情報と、通信元情報と、通信先情報と、を、情報処理ユニット１１Ａが備えるアドミニストレータ機能部４２へと送信する（Ｓ００５）。その後、後述する処理の後送信されるフローエントリを受信（Ｓ００６）して記憶する（Ｓ００７）。そして、設定が完了した旨を通知することになる（Ｓ００８）。
【００５３】
ここで、上述した各情報を取得したアドミニストレータ機能部４２は、当該取得した各情報から、端末装置１３ａから端末装置１３ｅへと送信される通信が、セグメントをまたぐ通信であることを知る。そこでアドミニストレータ機能部４２は、上述した各情報を、外部ＷＡＮサーバ１４へと転送しつつ、後述するアドレス解決及びネットワーク解決（経路計算）を行う。アドレス解決及びネットワーク解決を行う（経路計算を行う）ことで、端末装置ａから端末装置ｅへと、セグメントを経由する通信を行うことが出来るようになる。
【００５４】
まず、図１０を参照して、アドレス解決について説明する。上述したように、通信先情報を含む各情報を取得したアドミニストレータ機能部４２（Ｓ０１１）は、当該通信がセグメントを経由する通信であることを知る。そこで、アドミニストレータ機能部４２は、上述した通信先情報を、外部ＷＡＮサーバ１４内のＤＮＳ機能部８１へと出力する（Ｓ０１２）。通信先情報を受信したＤＮＳ機能部８１（Ｓ０２１）は、受信した通信先情報に対応付けてＤＮＳ機能部８１に記憶されている通信先アドレス（例えばＩＰアドレス）を取得する（Ｓ０２２）。そして、当該取得した通信先アドレスをアドミニストレータ機能部４２に出力する（Ｓ０２３）。その後、通信先アドレスを外部ＷＡＮサーバ１４内のＤＮＳ機能部８１から取得した（Ｓ０１３）アドミニストレータ機能部４２は、当該通信先アドレスを、仮想マシン制御機能部４１を介して端末装置１３へと出力する（Ｓ０１４）。上述した動作により、端末装置１３は通信先装置のアドレス情報である通信先アドレスを取得することができる。なお、本実施形態では、通信先である端末装置１３ｅは、通信元である端末装置１３ａが属するセグメント１とは異なるセグメント２に属している。つまり、セグメント１内部の情報処理ユニット１１Ａが備えるＤＮＳ機能部４４には、通信先情報に対応する適切な通信先アドレスが記録されていないと考えられる。そのため、アドミニストレータ機能部４２は、外部ＷＡＮサーバ１４のＤＮＳデータベース８１の情報を用いてアドレス解決を行うように指示した。しかしながら、本発明は上述したような動作に限定されない。例えば、情報処理ユニット１１Ａ内のＤＮＳ機能部４４を用いつつ、必要に応じて外部ＷＡＮサーバ１４内の情報を参照するような動作であっても構わない。
【００５５】
次に、図１１を参照して、ネットワーク解決について説明する。なお、ネットワーク解決は、図１０で示すアドレス解決と並列に実行することができる。
【００５６】
本実施形態は上述したように、セグメントを経由する通信を行う。そのため、後述するネットワーク解決を行うためには、セグメント１内部の内部転送設定情報のみならず、セグメント２内部のトポロジ情報等の外部転送設定情報も必要になる。そこで、アドミニストレータ機能部４２は、必要となるトポロジ情報等外部転送設定情報を送信するよう、外部ＷＡＮサーバ１４へ信号を送る。当該信号を受信した外部ＷＡＮサーバ１４は、当該外部ＷＡＮサーバ１４が備えるトポロジ情報  ＤＢ８２、フローテーブル情報  ＤＢ８３、ポリシ情報  ＤＢ８４がそれぞれ記録する、セグメント２内部のトポロジ情報、フローテーブル情報、ポリシ情報、からなる外部転送設定情報を、アドミニストレータ機能部４２へと送信する。上述した動作により、アドミニストレータ機能部４２は、セグメント１内部のトポロジ情報、フローテーブル情報からなる内部転送設定情報と、セグメント２内部のトポロジ情報、フローテーブル情報、ポリシ情報からなる外部転送設定情報と、通信先情報と、通信元情報と、からなる転送設定情報（内部・外部）を取得する。以降の動作を、図１２を用いて説明する。
【００５７】
上述したように、アドミニストレータ機能部４２は、転送設定情報（内部・外部）を取得する。そこで、アドミニストレータ機能部４２は、ステートフルプロキシ機能部４３を介して、上述した転送設定情報（内部・外部）を、オープンフローコントローラ機能部４５へと出力する（Ｓ０５１，Ｓ０５２）。次に、上述した動作によりステートフルプロキシ機能部４３から転送設定情報（内部・外部）を取得したオープンフローコントローラ機能部４５は（Ｓ０６１）、転送設定情報（内部・外部）を用いて、後述するフローエントリを取得するためのフローエントリ取得処理を行う（Ｓ０６２）。そして、オープンフローコントローラ機能部４５は、上述した動作により取得したフローエントリを、ステートフルプロキシ機能部４３へと出力する（Ｓ０６３）。その後、上述したフローエントリを取得したステートフルプロキシ機能部４３は、当該フローエントリを、アドミニストレータ機能部４２を介して各オープンフロースイッチへと出力する（Ｓ０５４）。上述した動作により、ネットワーク解決を行う。
【００５８】
次に、図１２を参照して、フローエントリ取得処理について説明する。
【００５９】
図１２で示すように、まずオープンフローコントローラ機能部４５は、対応するフローエントリが記録されているか否かを判定する（ステップＳ０７１）。つまり、オープンフローコントローラ機能部４５は、図１２のステップＳ０６１の処理にて取得した転送設定情報（内部・外部）内の通信元情報と通信先情報との少なくとも一方に基づく情報が、フローテーブルサーバ機能部４７に記録されたフローエントリの「条件」、または、外部ＷＡＮサーバ１４から取得したセグメント２内のフローテーブル情報内のフローエントリの「条件」、に含まれているか否かを判定する。
【００６０】
対応するフローエントリが記憶されていると判定した場合（ステップＳ０７１：Ｙｅｓ）、オープンフローコントローラ機能部４５は、フローテーブルサーバ機能部４７、または外部ＷＡＮサーバ１４から取得したセグメント２内部のフローテーブル情報に記憶されたフローエントリを取得し（ステップＳ０７２）、ステートフルプロキシ機能部４３へと出力する。
【００６１】
一方、対応するフローエントリが記憶されていないと判定した場合（ステップＳ０７１：Ｎｏ）、オープンフローコントローラ機能部４５は、ポリシサーバ機能部４６が記録するポリシ情報を取得する（ステップＳ０７３）。そして、オープンフローコントローラ機能部４５は、転送設定情報（内部・外部）内の、セグメント１内部のトポロジ情報とフローテーブル情報、セグメント２内部のトポロジ情報とフローテーブル情報とポリシ情報、と、上述した動作により取得したセグメント１内部のポリシ情報と、に基づいて、フローエントリを生成する（ステップＳ０７４）。つまり、オープンフローコントローラ機能部４５は、転送設定情報（内部・外部）とセグメント１内部のポリシ情報とに基づいて、通信元装置と通信先装置との間の経路を設定し、設定した経路にてパケット情報を転送するための「条件」と「処理内容」とを設定する。
【００６２】
そして、オープンフローコントローラ機能部４５は、生成したフローエントリを記憶しつつ、ステートフルプロキシ機能部４３へ出力する（ステップＳ０７５）。
【００６３】
上述した方法でオープンフローコントローラ機能部が生成したフローエントリを取得
したステートフルプロキシ機能部は、フローエントリを、仮想マシン制御機能部４１を介してオープンフロースイッチ３１へ出力する（図１１、Ｓ０５４参照）。
【００６４】
上述したように、外部ＷＡＮサーバ１４の情報を情報処理ユニット１１Ａが参照することで（図１３、Ｓ０８１）、情報処理ユニット１１Ａは、セグメントの異なる各ネットワーク内のオープンフロースイッチに対してネットワーク解決を行うことが可能になる（Ｓ０８２）（図１３参照）。つまり、端末装置１３ａから端末装置１３ｅへと至る経路を設定し、設定した経路にてパケット情報を転送するための「条件」と「処理内容」とを設定することで、図１３の端末装置１３ａと端末装置１３ｅとで通信を行うことが可能になる（例えば、図１３の端末装置１３ａと１３ｅとを結ぶ太線を通って通信を行う）。
【００６５】
その後の流れは、オープンフロースイッチ３１の構成で上述した通りである。すなわち、フローエントリを受信した各オープンフロースイッチ３１は、フローテーブルに当該フローエントリを設定する（転送の設定）。そして、転送の設定が完了すると、オープンフロースイッチ３１は、情報処理ユニット１１Ａ内のアドミストレータ機能部４２を介して、外部ＷＡＮサーバ１４へと設定完了通知を送信する。その後、設定の対象となるオープンフロースイッチ３１の全てから設定完了通知を受け取った外部ＷＡＮサーバ１４は、情報処理ユニット１１Ａ内のアドミニストレータ機能部４２を介して、通信を行う端末、及び通信で使用される対象となるオープンフロースイッチ３１に対して通信の開始を指示することになる。当該行為により、通信に利用するオープンフロースイッチ３１は、当該通信により送信されるパケットを適切に処理することが可能になる。
【００６６】
なお、上述したように、外部ＷＡＮサーバ１４には、セグメント２内部のトポロジ情報やポリシ情報のみならず、セグメント１内部のトポロジ情報等も予め記憶されている。そのため、本発明は、セグメント１内部のオープンフロースイッチ３１からトポロジ情報等の内部転送設定情報を取得しなくても、外部ＷＡＮサーバ１４に記憶されている、セグメント１及びセグメント２内部のネットワークのトポロジ情報、フローテーブル情報、ポリシ情報等を用いることで、ネットワーク解決することが可能である。また、本実施形態においては、通信を開始した端末装置１３ａが属するセグメント１内の情報処理ユニットにおいて経路計算を行った。しかしながら、例えば外部ＷＡＮサーバ１４に、後述する図２３で示す経路計算ユニット選択機能部８８を備えることなどにより、セグメント１以外のセグメント（本実施形態の場合はセグメント２）内の情報処理ユニットに経路計算をさせることも可能である。また、外部ＷＡＮサーバ１４に集約させた情報を用いて経路計算させることで、セグメント１及び２内の情報処理ユニットに分散して経路計算させることも可能である。経路計算に必要な情報は、全て外部ＷＡＮサーバ１４に集められているため、当該情報を用いることで、経路計算をすることが出来るからである。
【００６７】
上述した手段により、セグメントの異なるネットワークに対しても、経路計算を行うことが可能になる。
【００６８】
＜実施形態２＞
次に、本発明の第２の実施形態に係る通信システムについて図１４乃至図２１を参照して説明する。第２の実施形態に係る通信システムは、第１の実施形態で説明したセグメントが複数ある場合である。つまり、第２の実施形態では、複数のセグメントを経由する通信経路を構築する必要が生じた場合について説明する。なお、図１４で示すように、本実施形態ではセグメントが８つの場合を示す。しかしながら、本発明はセグメントの数に依存せず実施可能である。
【００６９】
（構成）
１つのセグメント内部の構造は、第１の実施形態で説明した構造と同様である。つまり、情報処理ユニット１１と、オープンフロースイッチ３１で接続されているネットワーク１２と、当該ネットワークに接続する端末装置１３とで構成されている。各構成要素も第１の実施形態と同様に構成されている。
【００７０】
本実施形態においては、図１４で示すように、セグメント１内のネットワーク１２は、セグメント２，５，６内のネットワーク１２と、ネットワーク間ネットワーク装置で互いに接続されている。また、セグメント２内のネットワーク１２はセグメント１内のネットワーク１２の他に、セグメント３，６，７内のネットワーク１２と接続され、セグメント３内のネットワーク１２はセグメント２内のネットワークの他に、セグメント４，７，８内のネットワークと接続されている。同様に、セグメント４内のネットワーク１２はセグメント３内のネットワーク１２の他にセグメント８内のネットワークと接続され、セグメント５内のネットワーク１２はセグメント１内のネットワーク１２の他にセグメント６内のネットワーク１２と接続されている。また、セグメント６内のネットワーク１２は、セグメント１，２，５内のネットワーク１２の他にセグメント７内のネットワーク１２と接続されており、セグメント７内のネットワーク１２は、セグメント２，３，６内のネットワーク１２の他に、セグメント８内のネットワーク１２と接続されている。なお、本実施形態では、上述したように各ネットワークが接続されている場合を示した。しかしながら、セグメント間の接続は、本実施形態で示した場合に限定されない。例えば、セグメント１はセグメント２，６とのみ接続され、セグメント５とは接続されていなくても構わない。本発明は、各セグメント間の接続のされ方に依存せず実施可能である。
【００７１】
第１の実施形態の場合と同様に、外部ＷＡＮサーバ１４は、各セグメント内の情報処理ユニット１１が備えるアドミニストレータ機能部が収集した情報を集約する。つまり、外部ＷＡＮサーバ１４には、セグメント１，２，３，４，５，６，７，８内部のネットワークのトポロジ情報、フローテーブル情報、ポリシ情報が集約されている。
【００７２】
ここで、第２の実施形態における外部ＷＡＮサーバ１４は、各セグメントの情報を集約するのみならず、集約した各セグメントの情報を用いて、アドレス解決、ネットワーク解決を行うセグメント（の並び）を決定する機能をもつ。そのために、第２の実施形態における外部ＷＡＮサーバは、図１５で示すように、第１の実施形態で示した構成（図７参照）に追加して、経路計算（アドレス解決、ネットワーク解決）に用いるセグメント（内のネットワーク）を選択する、セグメント選択機能部８６（セグメント選択手段）を備えている。
【００７３】
上述したように、セグメント選択機能部８６は、外部ＷＡＮサーバ１４に集約される各セグメントの情報を用いて、経路計算を行うセグメントの並びを選択する。具体的には、図１６で示すように、外部ＷＡＮサーバ１４は、セグメント１乃至８の全ての組み合わせを列挙する。このとき、重複するものは排除する。次に、上述した各セグメントのアドミニストレータ機能部より集められるトポロジ情報を用いて、各セグメント内のネットワーク間に隣接箇所がない経路を削除する。例えば、図１６で示す経路Ｂは、セグメント１→セグメント３と、それぞれのセグメント内のネットワークが接続されていない並びになっている。同様に、経路Ｃには、セグメント１→４という接続されていない並びがあり、経路Ｄには、セグメント５→２という接続されていない並びがある（図１４参照）。これら隣接箇所がない経路を、外部ＷＡＮサーバ１４に記録されているトポロジ情報を用いて削除する。そして、当該ネットワーク間の接続箇所が少なくなるように、経路計算を行うネットワークを選択する。なお、本実施形態では、ネットワーク間の接続箇所が少なくなるように経路計算を行うセグメントを選択するとしたが、セグメントの選択は必ずしも上記手段に限られない。例えば、トポロジ情報の他にフローテーブル情報を用いることで、フローテーブル情報内のフローエントリの数から、当該フローテーブル情報の対象となるセグメント内の情報の流通量を概算することが出来る。当該概算した流通量の情報に基づいて、流通している情報量が少なくなるような（輻輳状態から遠いことが想定される）セグメントを選択することもできる。
【００７４】
この際に、セグメント選択機能部８６は、経路計算に用いるセグメントの並びを、１個まで絞ることが考えられる。一方で、接続箇所が同等の場合が複数ある場合などには、複数、例えば１０個ほどまでに絞ることで、経路計算を行うネットワークを選択しても構わない。また、選択機能部８６は、本実施形態で示したように、外部ＷＡＮサーバ１４内の一つの機能として、その機能を実現しても構わないし、例えば、外部ＷＡＮサーバ１４とは独立した装置を新たに備えることで、その機能を実現しても構わない。
【００７５】
上述したセグメント選択機能部８６で経路計算に用いるセグメントを選択した後の動作は、第一の実施形態と同様である。つまり、当該セグメントを経由する通信を行う通信の発信元となったセグメント内の情報処理ユニットは、外部ＷＡＮサーバ１４に集約された情報を用いて、前記セグメント選択機能部８６で選択されたセグメントを経由する通信経路を計算する。具体的には、例えば図１４で示すようにセグメント１内のＸからセグメント８内のＹに対して通信を行う場合には、セグメント１内の情報処置ユニット１１Ａが、セグメント選択機能部８６で選択された１個または複数（例えば１０個）のセグメントの並びに対して通信経路の計算を行うことになる。
【００７６】
また、各セグメント内の情報処理ユニットは、通信経路決定手段を備えている。上述したように、セグメント１内の情報処理ユニットは、セグメント選択機能部８６で選択された１つまたは複数（例えば１０個）のセグメントの並びに対して通信経路の計算を行う。そのため、セグメント選択機能部８６によりセグメントの並びが複数選択されていた場合には、複数の経路計算が行われることになる。そこで、上述したように複数のセグメントの並びに対して経路計算を行った情報処理ユニットは、当該通信経路を計算したセグメントの並びのうち実際に通信を行うセグメントの並びを決定する事が必要になる。その際に用いる手段が、通信経路決定手段である。例えば、ネットワーク選択機能部８５が経路計算を行うセグメントの並びを１０個まで絞った場合には、セグメント１内の情報処理ユニットは、当該１０個のセグメントの並びに対して経路計算を行う。この場合、経路計算の結果が１０個あることになる。そのため、セグメント１内の情報処理ユニットは、当該経路計算を行った１０個のセグメントの並びの中から、実際に通信を行う１個の通信経路を決定する必要がある。そこで、通信経路決定手段を用いることで、実際に通信に使用する１個の経路を決定する。
【００７７】
通信経路決定手段による通信を行う通信路の決定は、例えばフローテーブルを比較することで行われる。具体的には、例えば、セグメント選択機能部８６がネットワークの並びを１０個まで絞った場合、セグメント１内の情報処理ユニットは当該１０個のネットワークの並びに対して経路計算を行う。そして、経路計算を行った結果を相互に比較して、フローテーブルが少ないスイッチを通った経路、つまりはもっとも通信量の少ないと考えられるスイッチでつながる経路を、通信を行う通信路として決定する。なお、本発明による通信経路の決定は、上述した手段を用いる場合に限られない。
【００７８】
なお、本実施形態においては、各セグメント内の情報処理ユニットそれぞれが、通信経路決定手段を備えるとした。当該構成にすることで、どの情報処理ユニットを用いて経路計算を行ったとしても、当該経路計算をした情報処理ユニットが通信経路決定手段を備えていることになる。そのため、当該経路計算をした情報処理ユニット内の通信経路決定手段を用いて通信経路を決定することが出来る。しかしながら、必ずしも各セグメント内の情報処理ユニットそれぞれが、通信経路決定手段を備えている必要はない。例えば、外部ＷＡＮサーバ１４に通信経路決定手段を持たせても構わない。その場合、複数のセグメントの並びに対して経路計算を行った後に、再度通信経路の決定を外部ＷＡＮサーバに問い合わせることになる。また、外部ＷＡＮサーバからも独立した外部装置に当該機能を持たせても構わない。
【００７９】
次に、第２の実施形態における通信システムの動作について説明する。
【００８０】
（動作）
まず、第２の実施形態における通信システムの動作は、図１７の矢印で示すように、複数のセグメントを経由する通信経路を計算する必要が生じた場合において、通信経路に使用する可能性のあるセグメントのトポロジ情報、フローテーブル情報、ポリシ情報を、各セグメント内のアドミニストレータ機能部により、外部ＷＡＮサーバ１４へと集約して記憶する。
【００８１】
次に、外部ＷＡＮサーバ１４（内のセグメント選択機能部８６）は、当該情報を集約した対象である各セグメントの並びを図１８で示すように列挙する。ここで、列挙された各セグメントの並びのうち、隣接箇所のないセグメントの並びは、外部ＷＡＮサーバ１４に集約したトポロジ情報を用いることで排除する。そして、相互に隣接するセグメントの並びの中から、接合箇所が少なくなる経路を選択する。この場合において、経路の選択は、それほど多くないセグメントを経由する場合には一つまで絞ることも可能である。一方で、接合箇所の少ない経路を、例えば１０経路ほど選択するなど、経路計算に用いるセグメントをある程度まで絞るといった方法を用いることも可能である。
【００８２】
図１４で示す場合において、外部ＷＡＮサーバ１４（内のセグメント選択機能部８６）は、複数あるセグメントの並びのうち、相互に接続箇所のある並びであり、かつ、接続経路も少なくなる並びである、セグメント１、セグメント２、セグメント７、セグメント８の順番のセグメントの並び、または、セグメント１，２，３，８の並びを選択したとする。そうすると、外部ＷＡＮサーバ１４は、図１８で示すように、通信の発信元であるＸが属するセグメント１内の情報処理ユニットへ、セグメント１，２，７，８、及び、セグメント１，２，３，８を経由する通信経路を計算するように指示する。当該指示を受け取ったセグメント１内の情報処理ユニットは、第１の実施形態で示したように、セグメント１，２，３，７，８内のネットワークの情報を記録する外部ＷＡＮサーバ１４の情報を用いて、それぞれの並びに対する経路計算を行う。
【００８３】
次に、当該経路計算を行った情報処理ユニット（セグメント１内の情報処理ユニット）内の通信経路決定手段により、実際に通信に使用する通信経路を決定する。図１８で示す場合において、例えば、フローテーブルが少ないスイッチを通った経路、つまりはもっとも通信量の少ないと考えられるスイッチでつながる経路がセグメント１，２，７，８であったとする。すると、当該経路計算を行った情報処理ユニット（セグメント１内の情報処理ユニット）内の通信経路決定手段は、図１８で示すように、セグメント１，２，７，８を通信経路として用いることを決定し、セグメント１，２，７，８内のネットワーク内のオープンフロースイッチに対して、対応するフローエントリを送信する。上述した動作により、ネットワーク解決が行われ、セグメント１内のＸからセグメント８内のＹへと通信することが可能になる。その後の動作は、第一の実施形態の場合と同様である。
【００８４】
なお、本実施形態は、図１９で示すように、外部ＷＡＮサーバ１４及び当該外部ＷＡＮサーバの集約した情報を用いて経路計算する情報処理ユニット（オープンフローコントローラ）を、各セグメントと独立して備えることも可能である。例えば、上述した機能を各セグメントの外部に持たせることで、各セグメント間の経路計算を受け持つ第二種通信事業者などが考えられる。この場合の動作も、上述した場合と同様である。まず、図２０で示すように、通信経路に使用する可能性のあるセグメントから、各情報を外部ＷＡＮサーバが集約する。そして、経路計算に用いるセグメントを外部ＷＡＮサーバが選択し、図２１で示すように、第二種通信事業者が備えるオープンフローコントローラが、セグメント１，２，７，８内のネットワークの情報を記録する外部ＷＡＮサーバ１４の情報を用いて、アドレス解決及びネットワーク解決を行う。
【００８５】
上述した動作により、複数のセグメントを経由する経路計算を行うことが可能になる。
【００８６】
＜実施形態３＞
次に、本発明の第３の実施形態に係る通信システムについて図２２乃至図２５を参照して説明する。第３の実施形態に係る通信システムは、第２の実施形態で説明したセグメントが複数ある場合と同様の構成を備えている。つまり、複数のセグメントと、外部ＷＡＮサーバ１４と、を備えている。
【００８７】
第３の実施形態は、経路計算に用いる可能性のあるセグメントの内のネットワークに、障害や輻輳が発生した場合である。本実施形態では、図２２で示すように、セグメント２に障害が発生した場合について説明する。しかしながら、本発明は、セグメント２以外で輻輳・障害が発生したとしても問題なく実施可能である。本発明は、輻輳・障害が発生するセグメントの位置に依拠しない。また、複数輻輳・障害が発生している状況においても実施可能である。
【００８８】
（構成）
１つのセグメント内部の構造は、第１の実施形態で説明した構造と同様である。つまり、情報処理ユニット１１と、オープンフロースイッチ３１で接続されているネットワーク１２と、当該ネットワークに接続する端末装置１３とで構成されている。また、各セグメント内のネットワークは、他の異なるセグメント内のネットワークと少なくとも一箇所は接続されている。外部ＷＡＮサーバ１４は、第２の実施形態と同様の構成を備えている。
【００８９】
ここで、第３の実施形態においては、各セグメント内のアドミニストレータ機能部４２は、当該各アドミニストレータ機能部４２の支配下にあるネットワークに障害が発生していないか、当該各アドミニストレータ機能部４２の支配下にあるネットワークが輻輳状態にないか等を観察する機能を持つ。そして、各アドミニストレータ機能部４２の支配下にあるネットワークに障害や輻輳がある場合には、トポロジ情報等各種ネットワーク情報を外部ＷＡＮサーバ１４へと送信する際に、セグメント内の輻輳・障害についての情報である輻輳・障害情報も上述したネットワーク情報に含めて送信する。外部ＷＡＮサーバ１４は、外部ＷＡＮサーバ１４へと送信された輻輳・障害情報を用いて、当該障害や輻輳状態にあるネットワークを備えるセグメントを避けるように、経路計算に用いるセグメントを選択することになる。
【００９０】
また、本実施形態において、各セグメント内のアドミニストレータ機能部４２は、各アドミニストレータ機能部４２が取得した輻輳・障害情報を外部ＷＡＮサーバ１４へと送信する際に、当該輻輳・障害情報を取得した情報処理ユニット１１に対して輻輳・障害状態を解消するように輻輳・障害状態解消指示を出す輻輳・障害状態解消指示機能を追加することが出来る。具体的には、アドミニストレータ機能部４２は、オープンフローコントローラ機能部４５、ポリシサーバ機能部４６、フローテーブルサーバ機能部４７、など各機能を受け持つ情報処理ユニット１１が備える情報処理装置２１のうち、輻輳・障害が生じそうな機能を受け持つ情報処理装置２１を特定する。そして、アドミニストレータ機能部４２は、情報処理ユニット１１が備える情報処理装置２１のうち、特定された（輻輳・障害が生じそうな機能を担当する）情報処理装置２１を増やすように指示を出す。当該指示を受けて、輻輳・障害が生じそうな機能を担当する情報処理装置２１が追加される。このような構成にすることで、より多くの情報処理装置２１で輻輳・障害が生じそうな機能の処理を行うことが出来るようになる。そのため、輻輳・障害状態を未然に防ぐ、又は悪化することを防ぐことが可能となる。なお、同じセグメント内に別の情報処理ユニットが存在する場合には、輻輳・障害状態にあるアドミニストレータ機能部４２が、当該別の情報処理ユニットに処理を行うよう指示する構成にすることも可能である。また、当該輻輳・障害状態解消指示は、本発明における通信処理とは独立した所定のタイミングで実施することが可能である。
【００９１】
次に、第３の実施形態における外部ＷＡＮサーバ１４の構成について説明する。第３の実施形態における外部ＷＡＮサーバ１４は、図２３で示すように、ＤＮＳ機能部８１と、トポロジ情報  ＤＢ８２と、フローテーブル情報  ＤＢ８３と、ポリシ情報  ＤＢ８４と、通信管理  機能部８５と、セグメント選択機能部８６と、と共に、輻輳・障害情報  ＤＢ８７を備えている。輻輳・障害情報ＤＢ８７は、輻輳・障害情報を記憶するＤＢである。そのため、各セグメント内のアドミニストレータ機能部４２から送信される輻輳・障害情報は、輻輳・障害情報ＤＢ８７に記憶されることになる。また、本実施形態においてセグメント選択機能部８６は、当該取得し記憶したトポロジ情報、フローテーブル情報、ポリシ情報、輻輳・障害情報を基に、経路計算に用いるセグメントを選択する。外部ＷＡＮサーバ１４は、上述した輻輳・障害情報を用いて経路計算をする情報処理ユニットを選択する、経路計算ユニット選択機能部８８（上位経路指示装置選択手段）を備えることもできる。
【００９２】
ここで、各セグメント内のアドミニストレータ機能部４２が輻輳・障害情報を取得した際には、外部ＷＡＮサーバ１４は、障害が発生しているセグメントや、ネットワークが輻輳状態にあるセグメントを避けるように経路計算に用いるセグメントを選択することができる。なお、その際に、セグメントを選択するための情報として、上述した輻輳・障害情報の他に例えば、フローテーブル情報を用いることもできる。具体的には、フローテーブルＤＢに記録されているフローエントリの量を、現在ネットワーク内を流れているデータ量の指標として用いる。そうすることで、より流通しているデータ量が少ないと考えられるネットワーク（を持つセグメント）を選択することが出来る。
【００９３】
また、上述したように、外部ＷＡＮサーバ１４は、経路計算ユニット選択機能部８８（上位経路指示装置選択手段）を備えることができる。経路計算ユニット選択機能部８８は、情報処理ユニット選択部と、経路計算指示部と、により構成され、経路計算に用いる情報処理ユニットの選択を行う。経路計算に用いる情報処理ユニットの選択は例えば、外部ＷＡＮサーバに集約された輻輳・障害情報を用いて行われる。具体的には、通信の発信元であるセグメント１が、輻輳状態になりそうであるとする。当該状態において、セグメント１内の情報処理ユニットを経路計算に用いると、輻輳状態が悪化することが考えられる。そのため、外部ＷＡＮサーバ１４内の経路計算ユニット選択機能部８８は、通信の発信元であるセグメント１内の情報処理ユニットを経路計算に用いずに、情報集約手段により集約した情報を用いて、経路計算に用いる情報処理ユニットを選択する。例えば、外部ＷＡＮサーバ１４が集約した情報からセグメント３内の情報量が少ないと判断される場合に、セグメント３の情報処理ユニットを経路計算に使用することを選択する。そして、セグメント３の情報処理ユニットを選択した経路計算ユニット選択機能部８８は、経路計算指示部により、経路計算に必要な情報をセグメント３内の情報処理ユニットへ送信しつつ、セグメント３内の情報処理ユニットに対して経路計算をするように指示する。当該指示により、負荷の低い情報処理ユニットで経路計算を行うことが可能になる。
【００９４】
以下、本実施形態における動作を説明する。
【００９５】
図２４で示すように、まず、通信経路に使用する可能性のあるセグメントのトポロジ情報、フローテーブル情報、ポリシ情報を、各セグメント内のアドミニストレータ機能部４２により、外部ＷＡＮサーバ１４へと集約する。この際に、各アドミニストレータ機能部４２は、当該各アドミニストレータ機能部４２の支配下にあるネットワークを観察し、当該各アドミニストレータ機能部４２の支配下にあるネットワークが障害または輻輳状態にある場合には、輻輳・障害情報を、上述した各情報と共に、外部ＷＡＮサーバ１４へと送信する。図２４の場合には、セグメント２内のネットワークに障害が発生している旨の情報を、セグメント２内のアドミニストレータ機能部により外部ＷＡＮサーバ１４へと送信する。
【００９６】
外部ＷＡＮサーバ１４は、当該情報を集約した対象である各セグメントの並びを列挙する。この際に、外部ＷＡＮサーバ１４は、列挙された各セグメントの並びのうち、隣接箇所のないセグメントの並びを、外部ＷＡＮサーバ１４に集約したトポロジ情報を用いることで排除する。また、上述した輻輳・障害情報を用いて、輻輳・障害状態にあるネットワークを含む経路も削除することが出来る。そして、輻輳・障害状態になく、相互に隣接するセグメントの並びの中から、接合箇所が少なくなる経路を選択する。ここの経路選択は、第２の実施形態の場合と同様に、一つまで絞ることも可能であるし、ある程度（例えば１０個ほど）の経路に絞ることも可能である。
【００９７】
上述したように、図２４で示す場合では、セグメント２内のアドミニストレータ機能部により、セグメント２内のネットワークは障害状態にある旨の情報が外部ＷＡＮサーバ１４へと送信されている。そこで、外部ＷＡＮサーバ１４は、セグメント２（内のネットワーク）を経由する必要のあるセグメントの並びを避けつつ、経路計算に用いるセグメントの並びを選択する。
【００９８】
例えば、図２５で示すように、セグメント１、セグメント６、セグメント７、セグメント８の順番のセグメントの並びを選択したとする。そうすると、外部ＷＡＮサーバ１４は、図１５で示すように、セグメント１内の情報処理ユニットへ、セグメント１，６，７，８を経由する通信経路を計算するように指示をする。当該指示を受け取ったセグメント１内の情報処理ユニットは、第１の実施形態で示したように、セグメント１，６，７，８内のネットワークの情報を記録する外部ＷＡＮサーバ１４の情報を用いて、アドレス解決及びネットワーク解決を行う。上述した動作により、セグメント１内のＸからセグメント８内のＹへと通信することが可能になる。
【００９９】
また、ここで、外部ＷＡＮサーバ１４によるセグメントの並びの絞り込みが、複数までの絞り込みであり、一つまでは決まっていない場合には、通信経路を計算する旨の指示を受けたセグメント１内の情報処理ユニットは、当該複数のセグメントの並びそれぞれに対して経路計算を行う。そして、第２の実施形態で示したように、セグメント１内の情報処理ユニットが備える通信経路決定手段により、通信に使用する経路を決定することになる
【０１００】
なお、第３の実施形態においては、第２の実施形態の場合と同様に、セグメントが８つある場合を示した。しかしながら、本発明の実施はセグメントの数が８つである場合に限定されない。例えば、６つセグメントがある場合でも構わないし、１５、３０それ以上のセグメントがある場合でも実施可能である。
【０１０１】
上述した動作により、輻輳・障害状態にある通信経路を回避しつつ、複数のセグメントを経由する経路計算を行うことができる。
【０１０２】
なお、本実施形態においては、上位経路指示装置選択手段は外部ＷＡＮサーバ１４が備えるとした。しかしながら、上位経路指示装置選択手段は、外部ＷＡＮサーバ１４以外が備えることも出来る。例えば、アドミニストレータ機能部４２が上位経路指示装置選択手段を備えることも出来る。この場合、アドミニストレータ機能部４２は、経路計算を行う際に、配下のネットワークから輻輳・障害情報が検出されていた場合、当該経路計算を他のセグメント（輻輳・障害情報が検出されていない）に行わせる機能を持つことになる。つまり、輻輳・障害状態にあるアドミニストレータ機能部４２が経路計算を行う必要が生じた場合、当該輻輳・障害状態にあるアドミニストレータ機能部４２は、外部ＷＡＮサーバ１４に問い合わせて輻輳・障害状態にないセグメントを確認し、当該輻輳・障害状態にないセグメントに経路計算を行うよう指示する（若しくは、外部ＷＡＮサーバ１４を介して、輻輳障害状態にないセグメントに経路計算を行うよう指示する）。このように、アドミニストレータ機能部４２が上位経路指示装置選択手段を備えることで、経路計算を行おうとするアドミニストレータ機能部４２が属するセグメント内が輻輳・障害状態にある場合に、輻輳・障害状態にない別のセグメント内のアドミニストレータ機能部４２に経路計算を行うよう指示することが出来るようになる。なお、上位経路指示装置選択手段による指示は、上述した輻輳・障害状態解消指示の後に行うような構成にすることも可能である。つまり、アドミニストレータ機能部４２は、輻輳・障害状態解消指示を行ったにも関わらず輻輳・障害状態が解消しない場合に、経路計算を行うセグメントを変更するよう指示する、という構成にすることも出来る。
【０１０３】
＜実施形態４＞
次に、本発明の第４の実施形態に係る通信システムについて説明する。第４の実施形態に係る通信システムは、第２，３の実施形態で説明したセグメントが複数ある場合と同様の構成を備えている。
【０１０４】
第４の実施形態は、複数のセグメントから情報を集約する外部ＷＡＮサーバが情報を集約する範囲を一つの範囲とした場合に、当該範囲が複数ある場合である。本実施形態において外部ＷＡＮサーバは、通信事業者（通信キャリア）毎に設けられるとする。そのため、第４の実施形態は、複数のキャリアを経由する通信を行う必要が生じた場合の実施形態である。第３の実施形態の構成に加えて第４の実施形態においてはさらに、各外部ＷＡＮサーバが集約した情報を集約する上位情報集約サーバを備えている（上位情報集約サーバが情報集約手段に相当する）。
【０１０５】
上位情報集約サーバは、各外部ＷＡＮサーバが集約したトポロジ情報、フローテーブル情報、ポリシ情報、輻輳・障害情報をさらに集約して記録する。そのために、各情報を記録するＤＢを備えている。また、ＤＮＳ機能部とセグメント選択機能部も備えている。上述した外部記憶装置を接続することも出来る。
【０１０６】
上述した各情報を用いて、上位情報集約サーバは、各外部ＷＡＮサーバが情報を集約する集団のうちどの集団を通信経路に用いるか選択する。当該選択に用いる手段は、第２，３の実施形態で示した手段と同一である。つまりは、トポロジ情報を用いて相互に隣接しているかを判断したり、輻輳・障害情報を用いて輻輳・障害状態にある集団を省いたりする。なお、第４の実施形態においては、集団内に多少の輻輳・障害がある程度で、集団内で迂回などすることにより通信を行うことが出来る場合には、輻輳・障害情報がある経路であっても削除しないよう設定することも可能である。
【０１０７】
集団を選択した後の動作は、第２、第３の実施形態で示した動作と同様である。上述した上位情報集約サーバを用いることにより、例えば複数の通信事業者（通信キャリア）を経由する通信経路を構築する必要が生じた場合でも、問題なく通信経路の構築が出来るようになる。
【０１０８】
また、本実施形態は、外部ＷＡＮサーバが複数存在する場合である。そのため、フローエントリを各オープンフロースイッチに送信し、当該オープンフロースイッチから設定完了通知を受信して通信を開始する際に、新たな構成が必要となる。
【０１０９】
具体的には、本実施形態において用いられる各外部ＷＡＮサーバに、予め重複しないキャリア網ＩＤ（外部ＷＡＮＩＤ）を割り当てておく。また、各外部ＷＡＮサーバの通信管理機能部は、一時的にＩＤ情報を記憶しておくＩＤ情報記憶部と、ＩＤ情報記憶部に記憶されている情報と配下のオープンフロースイッチ全ての経路設定が完了した設定完了ＩＤとを比較するＩＤ比較部とを備える。
【０１１０】
本実施形態における設定完了通知から通信開始までの動作について説明する。まず、通信を開始したため経路構築する必要が生じ、経路計算を行ったとする。この際の動作は上述した通りである。そして、経路計算の結果通信に用いる通信経路が決定した段階で（フローエントリが各セグメント内のオープンフロースイッチへと送信される段階で）、当該通信経路で用いるセグメント、が属する各外部ＷＡＮサーバは、当該各外部ＷＡＮサーバに割り当てられた各キャリア網ＩＤを、当該通信を開始した通信開始外部ＷＡＮサーバへと送信する。各外部ＷＡＮサーバからキャリア網ＩＤを受信した通信開始外部ＷＡＮサーバは、当該通信開始外部ＷＡＮサーバ内のＩＤ情報記憶部に、通信経路に用いる各外部ＷＡＮサーバのキャリア網ＩＤを記憶しておく。次に、配下のオープンフロースイッチの全てから設定完了通知を受け取った各外部ＷＡＮサーバは、設定完了ＩＤとして、当該外部ＷＡＮサーバのキャリア網ＩＤを通信開始外部ＷＡＮサーバへと送信する。設定完了ＩＤを受信した通信開始外部ＷＡＮサーバは、ＩＤ比較部にて、ＩＤ情報記憶部に記憶されているキャリア網ＩＤと設定完了ＩＤとの比較を行う。上述した比較の結果、すべての外部ＷＡＮサーバにおいて経路の設定が完了したと判断した場合は、通信開始外部ＷＡＮサーバは、上述したように通信の開始を指示する。一方で、所定の時間経過後も記憶部に記憶されているＩＤと設定完了ＩＤが揃わない場合には、通信開始外部ＷＡＮサーバは、再度のネットワーク解決を行うよう、情報処理ユニットに指示することになる。
【０１１１】
上述した動作により、複数の外部ＷＡＮサーバを備える場合においても、各オープンフロースイッチの設定が完了した後に、通信開始外部ＷＡＮサーバが通信の開始を指示することが可能になる。
【０１１２】
なお、第４の実施形態の場合も、上位情報集約サーバ及び情報処理ユニットを外部に独立して設置することが可能である。
【０１１３】
＜実施形態５＞
次に、本発明の第５の実施形態に係る通信システムについて図２６を用いて説明する。第５の実施形態に係る通信システムは、第２乃至第４の実施形態で説明した通信システムの別の態様である。
【０１１４】
第２乃至第４の実施形態においては、例えば図１５で示すように、外部ＷＡＮサーバ１４がセグメント選択機能部８６を備えるとした。しかしながら、上述したように、情報集約手段として外部ＷＡＮサーバ１４（外部サーバ）を用いないことも考えられる。本実施形態では、情報集約手段として外部ＷＡＮサーバ１４を用いない場合について説明する。
【０１１５】
本実施形態における情報処理ユニット１１は、図２６で示すように、実施形態１乃至４で示した構成を同様に備えている。そして、情報処理ユニット１１は、本実施形態においてはさらに、セグメント選択機能部４８を備えている。
【０１１６】
上述したように、情報集約手段として外部ＷＡＮサーバ１４を用いない場合、情報集約手段としての役割は情報処理ユニット１１が備えるアドミニストレータ機能部４２が果たすことになる。つまり、アドミニストレータ機能部４２は、必要に応じて、異なるセグメントに属するアドミニストレータ機能部４２を介して、異なるセグメントに属する情報処理ユニット１１から異なるセグメントのネットワーク情報を取得する。このように構成することで、情報処理ユニット１１は、情報集約手段としての役割を果たすことになる。
【０１１７】
この際に、本実施形態における情報処理ユニット１１は、セグメント選択機能部４８を備えているため、集約したネットワーク情報を用いて、セグメントの並びの決定を行うことが可能である。つまり、情報処理ユニット１１は、自身が集約した情報を用いて、経路計算を行うセグメントの並びを選択し、当該選択結果に応じた経路計算を行うことが出来る。ここで、セグメントの並びの選択は、上述した外部ＷＡＭサーバ１４がセグメント選択機能部８６を備えている場合と同様に行われる。そのため、具体的な説明は省略する。
【０１１８】
なお、本実施形態では、外部ＷＡＮサーバ１４を用いないで、異なるセグメントのネットワーク情報を集約する場合について説明した。しかしながら、本発明においては、外部ＷＡＮサーバ１４及び情報処理ユニット１１が同時に、セグメント選択機能部を備えていても構わない。この場合には、セグメントの並びの選択は、情報処理ユニット１１、外部ＷＡＮサーバ１４いずれによって行ってもよい。  
【０１１９】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における通信システムの概略を説明する。但し、本発明は、以下の構成に限定されない。
【０１２０】
（付記１）
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続されており、
さらに、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークにおける経路を構築するよう指示する上位通信経路指示手段と、を備え、
前記上位通信経路指示手段は、前記情報集約手段が集約した情報を用いて、前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【０１２１】
この構成によると、所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、前記通信経路指示装置により通信経路を構築されるネットワークと、前記ネットワークのネットワーク情報を取得する情報取得手段と、による複数のセグメントが形成される。このような状況において、各セグメント内の各ネットワーク内の情報は情報集約手段により集約され、当該情報集約手段により集約した情報を上位通信経路指示装置が利用できるようにする。これにより、上位通信経路指示装置は、複数のセグメントを経由する通信経路を構築することが可能になる。
【０１２２】
（付記２）
付記１に記載の通信システムであって、
前記通信システムは、前記情報集約手段が集約した情報に基づいて、前記各セグメントの中から、通信経路に使用するセグメントを選択するセグメント選択手段を備え、
前記上位通信経路指示手段は、前記セグメント選択手段により選択された各セグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【０１２３】
この構成によると、本願通信システムがセグメント選択手段を備えることになる。これにより、例えば多数のセグメントを経由する必要が生じた場合などに、より効率的に複数のネットワークを経由する通信経路を構築することが可能になる。
【０１２４】
（付記３）
付記２に記載の通信システムであって、
前記各情報取得手段は、当該各情報取得手段を備えるそれぞれのネットワーク内の輻輳情報を取得し、
前記情報集約手段は、前記情報取得手段が取得した前記輻輳情報を集約し、
前記セグメント選択手段は、当該情報集約手段により集められた輻輳情報に基づいて、予め定められた基準を超えている輻輳状態にあるネットワークを避けるように、経路構築に使用するセグメントを選択し、
前記上位通信経路指示手段は、前記情報集約手段が選択したセグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【０１２５】
この構成によると、情報取得手段によりネットワーク内の輻輳情報が検出されることになる。そして、情報取得手段により検出された輻輳情報は、情報集約手段により集約されることになる。これにより、セグメント選択手段は、輻輳状態にあるネットワークを備えるセグメントを避けるように、セグメントの選択を行うことが出来るようになり、より効率的により有意な複数のセグメントを経由する通信経路を構築することが可能になる。
【０１２６】
（付記４）
付記２又は３に記載の通信システムであって、
前記各情報取得手段は、当該各情報取得手段を備えるそれぞれのネットワーク内の障害情報を取得し
前記情報集約手段は、前記情報取得手段が取得した前記障害情報を集約し、
前記セグメント選択手段は、当該情報集約手段により集められた障害情報に基づいて、予め定められた基準を超えている障害状態にあるネットワークを避けるように、経路構築に使用するセグメントを選択し、
前記上位通信経路指示手段は、前記情報集約手段が選択したセグメントのネットワーク間を経由する通信経路を構築するよう指示する、
通信システム。
【０１２７】
この構成によると、情報取得手段によりネットワーク内の障害情報が検出されることになる。そして、情報取得手段により検出された障害情報は、情報集約手段により集約されることになる。これにより、セグメント選択手段は、障害状態にあるネットワークを備えるセグメントを避けるように、セグメントの選択を行うことが出来るようになり、より効率的により有意な複数のセグメントを経由する通信経路を構築することが可能になる。
【０１２８】
（付記５）
付記３又は４に記載の通信システムであって、
前記複数のセグメントにそれぞれ設けられた複数の通信経路指示装置の中から、前記上位通信経路指示手段として機能する一つ又は複数の通信経路指示装置を選択する上位経路指示装置選択手段を備え、
前記上位経路指示装置選択手段は、前記情報取得手段が取得したネットワーク情報に基づいて、所定のネットワークを備えるセグメント内の通信経路指示装置を避けるように、前記上位通信経路指示手段として機能する一つ又は複数の通信経路指示装置を選択する、
通信システム。
【０１２９】
この構成によると、通信システムが、前記複数のセグメントにそれぞれ設けられた複数の通信経路指示装置の中から、前記上位通信経路指示手段として機能する一つ又は複数の通信経路指示装置を選択する上位経路指示装置選択手段を備えることになる。そして、当該上位経路指示装置選択手段は、情報取得手段が取得したネットワーク情報に基づいて、所定のネットワークを備えるセグメント内の通信経路指示装置を避けるように行われる。これによると、ネットワーク情報に基づいて、上位通信経路指示手段を備える通信路指示装置を選択することが可能になる。そのため、例えば輻輳状態にある通信経路指示装置を避けるように上位通信経路指示手段を備える通信経路指示装置を選択するなど、ネットワーク情報に基づいた上位通信経路指示手段を備える通信路指示装置の選択を行うことが出来るようになる。
【０１３０】
（付記６）
付記２乃至５に記載の通信システムであって、
前記セグメント選択手段は、
前記各セグメントのネットワークを経由する使用候補経路を複数列挙し、
前記情報集約手段により集約された前記ネットワーク情報を用いて、前記上位通信経路指示手段が通信経路の構築に用いる前記使用候補経路を前記複数の使用候補経路の中から一つ又は複数選択する、
通信システム。
【０１３１】
この構成によると、ネットワーク選択手段は、通信経路に使用する可能性のある各セグメント内の各ネットワークの経路を列挙する。そして、ネットワーク選択手段は、情報集約装置内の各ネットワークのネットワーク情報を用いて、列挙した経路の中から、上位通信経路指示装置が通信経路の構築を指示する経路を一つ又は複数選択する。これにより、経路を列挙した上でネットワーク情報を利用して経路計算を行うネットワークの経路を絞ることが出来るようになる。そのため、より効率的に複数のネットワークを経由する通信経路を構築することが可能になる。
【０１３２】
（付記７）
付記２乃至６に記載の通信システムであって、
前記上位通信経路指示手段が、前記セグメント選択手段を備える、
通信システム。
【０１３３】
この構成によると、上位通信経路指示手段が、前記セグメント選択手段を備えることになる。これにより、上位通信経路指示手段は、通信経路に使用するセグメントを選択した上で、通信経路を構築することが可能になる。
【０１３４】
（付記８）
付記１乃至７に記載の通信システムであって、
前記複数のセグメントにそれぞれ設けられた複数の通信経路指示装置の中の一つ又は複数が、前記上位通信経路指示手段を備える、
通信システム。
【０１３５】
この構成によると、各ネットワークが元々備える通信経路指示装置が、上位通信経路指示手段としての機能を有することになる。そのため、新たに上位通信経路指示装置を設けることなく、複数のネットワークを経由する通信経路を構築することが可能になる。
【０１３６】
（付記９）
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
前記各情報取得手段により取得した複数の前記ネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、を備える、
情報集約装置。
【０１３７】
（付記１０）
付記９に記載の情報集約装置であって、
前記情報集約装置は、当該情報集約装置が集約した情報に基づいて、前記各セグメントの中から、通信経路に使用するセグメントを選択するセグメント選択手段を備え、
前記集約情報提供手段は、前記セグメント選択手段により選択されたネットワークの情報を提供する、
情報集約装置。
【０１３８】
（付記１１）
所定のネットワークに対して通信経路を構築するよう指示する通信経路指示装置と、
前記通信経路指示装置により通信経路を構築されるネットワークと、
前記ネットワークのネットワーク情報を取得する情報取得手段と、を備えるセグメントが複数形成され、
前記各セグメントの前記各ネットワーク間はそれぞれ、ネットワーク接続装置を介して接続された状況において、
各セグメント内のネットワークからネットワーク情報を情報集約手段が集約し、
通信経路指示装置は、当該集約したネットワーク情報を用いて前記複数のネットワーク間を経由する通信経路を構築するよう指示する、
情報処理方法。
【０１３９】
（付記１２）
付記１１に記載の情報処理方法であって、
前記情報処理装置は、前記各セグメントのネットワークからネットワーク情報を集約した際に、前記各セグメントの中から、通信経路に使用するセグメントを選択し、
前記通信経路指示装置は、前記選択された各セグメントのネットワーク間を経由する通信経路を構築するよう指示する、
情報処理方法。
【０１４０】
（付記１３）
情報集約装置に、
各セグメントのネットワークのネットワーク情報を集約する情報集約手段と、
前記各セグメントのネットワークに対して、前記複数のネットワーク間を経由する通信経路を構築するよう指示する上位通信経路指示手段へと、前記集約したネットワーク情報を提供する、集約情報提供手段と、
を実現させるためのプログラム。
【符号の説明】
【０１４１】
１１  情報処理ユニット
１２  ネットワーク
１３  端末装置
１４  外部ＷＡＮサーバ
１５  ネットワーク接続装置
２１  情報処理装置
２２  ネットワーク
３１  オープンフロースイッチ
４１  仮想マシン制御機能部
４２  アドミニストレータ機能部
４３  ステートフルプロキシ機能部
４４  ＤＮＳ機能部
４５  オープンフローコントローラ機能部
４６  ポリシサーバ機能部
４７  フローテーブルサーバ機能部
４８  セグメント選択機能部
５１  通信部
５２  仮想マシン制御部
５３  仮想マシンＤＢ
６１  演算部
６２  入出力部
６３  記憶部
６４  通信部
６５  取得部
７１  転送制御部
７２  フローテーブルＤＢ
７３  通信部
８１  ＤＮＳ機能部
８２  トポロジ情報ＤＢ
８３  フローテーブル情報ＤＢ
８４  ポリシ情報ＤＢ
８５  通信管理機能部
８６  セグメント選択機能部
８７  輻輳・障害情報ＤＢ
８８  経路計算ユニット選択機能部
９１  フローテーブル
【図１】
2015012554.tif 000003
【図２】
2015012554.tif 000004
【図３】
2015012554.tif 000005
【図４】
2015012554.tif 000006
【図５】
2015012554.tif 000007
【図６】
2015012554.tif 000008
【図７】
2015012554.tif 000009
【図８】
2015012554.tif 000010
【図９】
2015012554.tif 000011
【図１０】
2015012554.tif 000012
【図１１】
2015012554.tif 000013
【図１２】
2015012554.tif 000014
【図１３】
2015012554.tif 000015
【図１４】
2015012554.tif 000016
【図１５】
2015012554.tif 000017
【図１６】
2015012554.tif 000018
【図１７】
2015012554.tif 000019
【図１８】
2015012554.tif 000020
【図１９】
2015012554.tif 000021
【図２０】
2015012554.tif 000022
【図２１】
2015012554.tif 000023
【図２２】
2015012554.tif 000024
【図２３】
2015012554.tif 000025
【図２４】
2015012554.tif 000026
【図２５】
2015012554.tif 000027
【図２６】
2015012554.tif 000028