(57)【特許請求の範囲】
【請求項１】
パケットを処理するための設定を要求するノードと、
前記要求に応じて、パケットを処理するための設定を前記ノードに通知する制御装置と、
を備え、
前記制御装置は、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知することを特徴とする通信システム。
【請求項２】
パケットを処理するための設定を行う制御装置と、
前記制御装置からの設定に従ってパケットを処理するノードと、
を備え、
前記制御装置は、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知することを特徴とする通信システム。
【請求項３】
前記アクセスルールを管理する通信ポリシ管理装置をさらに備え、
前記通信ポリシ管理装置は、新しい仮想マシンが配置されたことに応じて、前記アクセスルールを作成することを特徴とする請求項１または２に記載の通信システム。
【請求項４】
ユーザ端末の認証を行う認証装置をさらに備え、
前記認証装置は、ユーザ端末の認証ができた場合に、前記通信ポリシ管理装置に認証情報を送信し、
前記通信ポリシ管理装置は、前記認証情報を基に、前記アクセスルールを作成することを特徴とする請求項３に記載の通信システム。
【請求項５】
仮想マシンを任意のリソースに作成する仮想マシン管理装置をさらに備え、
前記仮想マシン管理装置は、任意のリソースに配置された仮想マシンの複製を記憶し、前記仮想マシンを削除した後に、他のリソースに前記複製した仮想マシンを配置することを特徴とする請求項１乃至４のいずれか１に記載の通信システム。
【請求項６】
パケットを処理するための設定をノードに通知する第一の手段と、
新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する第二の手段と、
を備えることを特徴とする制御装置。
【請求項７】
パケットを処理するための設定を行う第一の手段と、
仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する第二の手段と、
備えることを特徴とする制御装置。
【請求項８】
新しい仮想マシンが作成されたことに応じて、通信ポリシ管理装置が作成したアクセスルールの通知を受けることを特徴とする請求項６または７に記載の制御装置。
【請求項９】
制御装置で行われる通信制御方法であって、
仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定するステップと、
前記転送経路でパケットを転送するための設定をノードに通知することを特徴とするステップと、
を含むことを特徴とする通信制御方法。
【請求項１０】
制御装置で実行させるプログラムであって、
仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定する処理と、
前記転送経路でパケットを転送するための設定をノードに通知する処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−０８０２７９号（２０１２年３月３０日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信制御方法、及びプログラムに関し、特に、ネットワークにおけるパケットの転送経路の設定を行う通信システム、制御装置、通信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１、非特許文献１および非特許文献２には、オープンフロー技術を用いた集中管理型の経路制御手法が開示されている。特許文献１に記載のオープンフロー技術は、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御を行い、負荷分散や経路の最適化を行うものである。
【０００３】
特許文献１、非特許文献１および非特許文献２において、転送ノードとして機能するスイッチは、パケットの経路を計算するコントローラ（制御装置）との通信用のセキュアチャネルを備え、コントローラが設定するフローテーブルに従って動作する。フローテーブルでは、パケットのヘッダ情報に照合するマッチングルール（照合規則）と、そのマッチングルールに適合するパケットに適用する処理の内容を記述したアクション（Ａｃｔｉｏｎ）との組が定義されている。アクションは、パケットを特定のインターフェースへ転送する処理などである。
【０００４】
特許文献１、非特許文献１および非特許文献２に記載のスイッチは、パケットを受信すると、フローテーブルから、受信したパケットのヘッダ情報に適合するマッチングルールを持つエントリを検索する。検索の結果、受信したパケットに適合するエントリが見つかった場合、スイッチは、そのエントリのアクションフィールドに記述された処理内容（例えば、受信したパケットを特定のインターフェースへの転送すること）を実施する。
【０００５】
一方、検索の結果、パケットに適合するエントリが見つからない場合、スイッチは、コントローラに対して、受信したパケットに対するエントリの設定を要求する。コントローラは、該要求に応じて、該受信したパケットの経路を計算し、計算した経路に関係するスイッチに対して、該経路を用いた転送を実現するエントリを通知する。エントリの通知を受けたスイッチは、フローテーブルを更新し、更新後のフローテーブルのエントリに記述された処理内容、すなわち受信したパケットの転送を実施する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ，”［ｏｎｌｉｎｅ］、［平成２３年１０月３１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）  ［平成２３年１０月３１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明によって与えられたものである。特許文献１、非特許文献１および非特許文献２に開示されたシステムにおいて、スイッチは、パケットの宛先となる通信装置と転送ノードとの接続関係に変更が生じた場合、通信装置宛のパケットを変更後の接続関係に基づいた転送経路により転送する必要がある。しかしながら、スイッチは、変更後の接続関係に基づいた転送経路を実現するための処理規則を保持していない。したがって、スイッチは、通信装置宛のパケットを受信すると、受信したパケットを処理するための処理規則を制御装置に要求する。制御装置は、その要求に応じて、受信したパケットの転送経路を変更後の接続関係に基づいて計算する。
【０００８】
上記のとおり、制御装置は、パケットの宛先となる通信装置と転送ノードとの接続関係が変更されるたびに、スイッチから処理規則の要求を受ける必要がある。このことは、制御装置の負荷が上昇する要因となる。
【０００９】
そこで、スイッチからの処理規則の要求を低減させることにより、制御装置の負荷の上昇を抑えることが要望される。本発明の目的は、かかる要望に寄与する通信システム、制御装置、通信制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、パケットを処理するための処理規則を要求するノードと、前記要求に応じて、前記処理規則を前記ノードに通知する制御装置と、を備え、前記制御装置は、新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための処理規則を前記ノードに通知する通信システムが提供される。
前記第１の視点の第１変形として、パケットを処理するための設定を要求するノードと、前記要求に応じて、パケットを処理するための設定を前記ノードに通知する制御装置と、を備え、前記制御装置は、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する通信システムが提供される。
前記第１の視点の第２変形として、パケットを処理するための設定を行う制御装置と、前記制御装置からの設定に従ってパケットを処理するノードと、を備え、前記制御装置は、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する通信システムが提供される。
【００１１】
本発明の第２の視点によれば、パケットを処理するための処理規則をノードに通知する第一の手段と、新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための処理規則を前記ノードに通知する第二の手段と、備える制御装置が提供される。
前記第２の視点の第１変形として、パケットを処理するための設定をノードに通知する第一の手段と、新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する第二の手段と、を備える制御装置が提供される。
前記第２の視点の第２変形として、パケットを処理するための設定をノードに通知する第一の手段と、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定し、前記転送経路でパケットを転送するための設定を前記ノードに通知する第二の手段と、備える制御装置が提供される。
【００１２】
本発明の第３の視点によれば、制御装置で行われる通信制御方法であって、新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定するステップと、前記転送経路でパケットを転送するための処理規則をノードに通知することを特徴とするステップと、を含む通信制御方法が提供される。
前記第３の視点の変形として、制御装置で行われる通信制御方法であって、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定するステップと、前記転送経路でパケットを転送するための設定をノードに通知することを特徴とするステップと、を含む通信制御方法が提供される。
【００１３】
本発明の第４の視点によれば、制御装置で実行されるプログラムであって、新しい仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定する処理と、前記転送経路でパケットを転送するための処理規則をノードに通知する処理と、を実行させるプログラムが提供される。
前記第４の視点の変形として、制御装置で実行させるプログラムであって、仮想マシンが配置されたことに応じて、前記仮想マシンと他の仮想マシンとの間の接続の可否を示すアクセスルールに基づいて、前記仮想マシン宛のパケットの転送経路を決定する処理と、前記転送経路でパケットを転送するための設定をノードに通知する処理と、を実行させるプログラムが提供される。
また、上記プログラムが記録された非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）が提供される。
【発明の効果】
【００１４】
本発明によれば、通信装置宛のパケットを処理するための処理規則を決定する制御装置の負荷を低減させることができる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態に係る通信システムの構成例を示す図である。
【図２】一実施形態に係る通信ノードの構成例を示す図である。
【図３】一実施形態に係る処理規則の構成例を示す図である。
【図４】一実施形態に係る制御装置の構成例を示す図である。
【図５】第１の実施形態に係る通信システムの構成例を示す図である。
【図６】第１の実施形態に係る仮想マシン管理装置の構成例を示す図である。
【図７】第１の実施形態に係る仮想マシン管理装置が作成する仮想マシン仕様情報と論理ネットワーク情報の一例を示す図である。
【図８】第１の実施形態に係る制御装置の構成例を示す図である。
【図９】第１の実施形態に係る転送ノードおよび仮想転送ノードの構成例を示す図である。
【図１０】第１の実施形態に係る転送ノードに設定されている処理規則の一例を示す図である。
【図１１】第１の実施形態の通信システムの動作例を示すシーケンス図である。
【図１２】第２の実施形態に係る通信システムの構成例を示す図である。
【図１３】第２の実施形態に係る認証情報の一例を示す図である。
【図１４】第２の実施形態に係る通信ポリシ管理装置の構成例を示す図である。
【図１５】第２の実施形態に係る通信ポリシの一例を示す図である。
【図１６】第２の実施形態に係るリソース情報の一例を示す図である。
【図１７】第２の実施形態に係るアクセスルールの一例を示す図である。
【図１８】第２の実施形態の通信システムの動作例を示すシーケンス図である。
【図１９】第３の実施形態に係る通信システムの構成例を示す図である。
【図２０】第３の実施形態の通信システムの動作例を示すシーケンス図である。
【図２１】第４の実施形態に係る通信システムの構成例を示す図である。
【図２２】第４の実施形態の通信システムの動作例を示すシーケンス図である。
【図２３】第４の実施形態の通信システムの他の動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
はじめに一実施形態の概要について図面を参照して説明する。図１に示すように、一の実施形態の通信システムは、パケットの転送を行う転送ノード２０−１および２０−２を含む。また、通信システムは、転送ノード２０−１および２０−２の少なくとも１つからの要求に応じて、パケットの転送経路を制御する制御装置１０を含む。また、通信システムは、パケットの宛先となる通信機器３０を含む。また、通信システムは、転送ノード２０−１および２０−２と、通信機器３０との接続関係を管理する通信機器管理装置４０を含む。
【００１７】
制御装置１０が、複数の転送ノード２０−１、２０−２の少なくとも１つからの要求に応じて、パケットの転送経路を制御する。
【００１８】
このような集中管理型の関連技術の一例として、上述した通り、オープンフロー技術がある。本発明を実施するためには、オープンフロー技術を適用してもよい。以下では、本発明にオープンフロー技術を適用した場合の実施形態を説明する。なお、本発明を実施するためには、制御装置（経路制御装置）が複数のノードにおけるパケットの転送経路を集中制御できればよく、本発明がオープンフロー技術に限定されるものではない。
【００１９】
通信機器３０は、パケットの宛先となる装置であり、例えば、サーバ（Ｓｅｒｖｅｒ）や移動端末、仮想サーバ（Ｓｅｒｖｅｒ）である。
【００２０】
通信機器管理装置４０は、転送ノード２０と通信機器３０との接続関係を管理する装置である。通信機器管理装置４０は、例えば、転送ノード２０とサーバ（Ｓｅｒｖｅｒ）との接続関係を管理する装置である。通信機器管理装置４０は、例えば、転送ノード２０と移動端末との接続関係を管理する装置である。通信機器管理装置４０は、例えば、仮想リソースに仮想転送ノードや仮想マシンを作成する仮想マシン管理装置であり、作成した仮想転送ノードと転送ノード２０との接続関係を管理する。
【００２１】
転送ノード２０−１および２０−２の各々は、制御装置１０と通信するために、制御装置１０との間にセキュリティが確保された通信チャネルを確立する（図１の点線）。そして、転送ノード２０−１および２０−２の各々は、制御装置１０から適宜追加または書き換えられる処理規則（以下、「フローエントリ」と記す。）に従って受信したパケットを処理する。
【００２２】
転送ノード２０−１および２０−２の各々の構成例を図２に示す。
【００２３】
図２は、転送ノード２０の構成例を示す図である。転送ノード２０は、受信パケットに適合する処理規則を用いてパケットを処理する転送処理部２１を備える。転送処理部２１は、パケットの受信に応じて、受信パケットに適合する処理規則１００をテーブルデータベース（テーブルＤＢ）２２から検索し、受信パケットに適合する処理規則１００が見つかった場合、その処理規則１００のインストラクションにしたがって、受信パケットを処理する。一方、転送処理部２１は、受信パケットに適合する処理規則が見つからなかった場合、制御装置１０に受信パケットを処理する処理規則を要求する。なお、転送処理部２１は、受信パケットに適合する処理規則１００に、制御装置１０に問い合わせを行う処理内容が規定されていた場合、該処理規則に従って制御装置１０に問い合わせを行ってもよい。
【００２４】
転送処理部２１は、例えば、非特許文献２のオープンフロースイッチと同様の仕組みを用いて実現してもよい。
【００２５】
図３は、図２の転送ノード２０が保持する処理規則１００の構成例を示す図である。図３は例示であり、処理規則１００の構成は、図３の構成例に限定されない。図３に示すように、処理規則１００は、マッチングフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄ）を有する。転送ノード２０は、パケットを受信するとマッチングフィールドを参照して、受信パケットに適合する処理規則１００を検索する。転送ノード２０は、受信パケットに適合する処理規則１００が見つかった場合には、その処理規則１００のインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）に従ってパケットを処理する。また、転送ノード２０は、受信パケットの処理に応じて、処理規則１００の統計情報（Ｃｏｕｎｔｅｒ）を更新する。
【００２６】
一方、転送ノード２０は、受信パケットに適合する処理規則１００が見つからなかった場合には、制御装置１０に対して処理規則の設定を依頼する。なお、転送ノード２０は、制御装置１０に対して処理規則を要求する処理内容を規定した処理規則に基づいて、制御装置１０に対して処理規則の設定を要求してもよい。
【００２７】
転送ノード２０は、処理規則を格納するテーブルＤＢ２２を備える。テーブルＤＢ２２は、例えば、転送処理部２１が受信パケットの処理を行う際に参照するテーブルを一つ以上格納可能なデータベースによって構成される。
【００２８】
転送ノード２０は、処理規則を管理する処理規則管理部２３を備える。
【００２９】
通信部２４は、転送ノード２０に処理規則を設定する制御装置１０との通信を実現する手段である。
【００３０】
図４は、図１における制御装置１０の構成例を示す図である。制御装置１０は、トポロジ管理部１１と、制御メッセージ処理部１２と、経路・アクション計算部１３と、転送ノード管理部１４と、処理規則管理部１５と、処理規則データベース１６と、ノード通信部１７とを含む。
【００３１】
トポロジ管理部１１は、ノード通信部１７を介して収集された転送ノード２０−１および２０−２の接続関係に基づいてネットワークトポロジ情報を構築する。また、トポロジ情報が変化した場合、トポロジ管理部１１が経路・アクション計算部１３にトポロジ情報の変化を通知し、経路・アクション計算部１３に既存の処理規則の再設定等を行わせるようにしてもよい。
【００３２】
制御メッセージ処理部１２は、転送ノード２０の少なくとも１つから受信した制御メッセージを解析して、制御装置１０内の該当する処理手段に制御メッセージ情報を引き渡す。
【００３３】
経路・アクション計算部１３は、トポロジ管理部１１にて管理されているトポロジ情報に基づいてパケットの転送経路を計算する手段を有する。また、経路・アクション計算部１３は、転送ノード管理部１４にて管理されている各転送ノード２０の情報（例えば、各転送ノード２０の能力情報）を参照して、各転送ノード２０に実行させる処理内容（アクション）を求める手段として機能する。なお、各転送ノード２０の能力情報は、例えば、各転送ノードのポートの数や種類、サポートするアクションの種類などである。なお、能力情報は、これらの情報に限られず、どのような情報が含まれていてもよい。
【００３４】
一実施形態において、経路・アクション計算部１３は、通信機器３０と転送ノード２０−１、２０−２との接続関係の変更を、通信機器管理装置４０から通知される。経路・アクション計算部１３は、通信機器管理装置４０からの通知に応じて、通信機器３０宛のパケットの転送経路を決定する。経路・アクション計算部１３は、転送ノード２０−１および２０−２の少なくとも１つに、決定した転送経路を実現するための処理規則を予め通知する。
【００３５】
転送ノード管理部１４は、管理対象の転送ノード２０の各々の能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。
【００３６】
処理規則管理部１５は、転送ノード２０に設定されている処理規則を管理する。処理規則管理部１５は、経路・アクション計算部１３で計算された結果を処理規則として処理規則データベース１６に記憶する。また、処理規則管理部１５は、転送ノード２０からの処理規則削除通知などに基づき、転送ノード２０に設定された処理規則に変更が生じた場合に、処理規則データベース１６の内容を更新する。
【００３７】
処理規則データベース１６は、少なくとも１つの処理規則を格納する。
【００３８】
ノード通信部１７は、転送ノード２０の各々と通信を行う。本実施形態では、ノード通信部１７は、非特許文献２のオープンフロープロトコルを用いて転送ノード２０と通信するものとする。ただし、ノード通信部１７と転送ノード２０との通信プロトコルは、オープンフロープロトコルに限定されるものではない。
【００３９】
上記構成によれば、制御装置が、パケットの宛先となる通信機器と転送ノードとの接続関係の変更に応じて、当該通信機器宛のパケットを処理するための処理規則を転送ノード（スイッチ）に予め通知する。転送ノード（スイッチ）は、通信装置宛のパケットを受信した場合に、すでに処理規則が設定されているため、制御装置に対して処理規則を要求しない。したがって、一実施形態によれば、転送ノード（スイッチ）からの処理規則の要求が削減されることにより、制御装置の負荷を低減することができる。
［第１の実施形態］
第１の実施形態を、図面を参照して説明する。図５は、第１の実施形態におけるシステムの構成例を示す図である。第１の実施形態におけるシステムは、図５に示すように、制御装置１０と、転送ノード２０と、仮想リソース３００と、仮想マシン管理装置４００と、ユーザ端末５０と、を含む。転送ノード２０の数は、１つに限られず、複数あってもよい。制御装置１０と、仮想マシン管理装置４００とは、図５のように別々の装置として動作してもよいし、ひとつの装置として動作してもよい。
【００４０】
仮想マシン管理装置４００は、ユーザ端末５０から仮想マシンの作成や設定変更などの要求を受け付け、それを元に任意のリソースに仮想マシンを作成する。
【００４１】
図６は、図５に示す仮想マシン管理装置４００の構成例を示す図である。
【００４２】
図６のとおり、仮想マシン管理装置４００は、管理情報記憶部４１０と、イメージ記憶部４２０と、仮想マシン作成部４３０と、を備える。
【００４３】
管理情報記憶部４１０は、ユーザ端末５０から仮想マシンの作成の要求を受け付け、その要求を記憶する手段を有する。管理情報記憶部４１０は、ユーザ端末５０から受け付けた要求に基づいて、論理的に構成する論理ネットワークの情報を作成する。管理情報記憶部４１０は、ユーザ端末５０からの要求に応じて、作成した論理ネットワークの情報を仮想マシン作成部４３０へ渡す。
【００４４】
図７は、管理情報記憶部４１０に記憶される管理情報の構成例を示す図である。図７に示すように、管理情報記憶部４１０は、管理情報をテーブルとして記憶する。
【００４５】
図７（ａ）は、ユーザ端末５０から受けた要求の例を示す図である。ユーザ端末５０から受けた要求は、例えば、仮想マシン仕様情報として記憶される。図７（ａ）に示すように、仮想マシン仕様情報は、ユーザ端末５０から要求された仮想マシンの仕様を示す。仮想マシン仕様情報では、例えば、ユーザが要求するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のコア数やメモリ量が、仮想マシンのＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）やユーザＩＤと対応付けられている。図７（ａ）のテーブルの２行目に記載の情報は、例えば、「ユーザＩＤが０００１のユーザは、仮想マシンＩＤがａであり、ＣＰＵコア数を２個、メモリ量を２ＧＢの仮想マシンの作成を要求する」ことを意味する。なお、仮想マシン仕様情報は、ＣＰＵのコア数やメモリ量以外の、ストレージ量やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）など他の様々な仕様情報であってもよい。
【００４６】
図７（ｂ）は、ユーザ端末５０から受けた要求に基づいて作成した論理ネットワークに関する情報の例を示す図である。管理情報記憶部４１０は、例えば、仮想マシン仕様情報に基づいて作成した論理ネットワーク情報を記憶する。仮想マシン管理装置４００が仮想マシンを作成する先のリソースは、例えば、リソース内で稼働する仮想マシン数が最小のリソースを選択する方法や、リソースのＣＰＵ稼働率が最小のリソースを選択する方法などにより決定される。なお、仮想マシンを作成する先のリソースの決定方法は、これらの方法に限られず、どのような方法であってもよい。
【００４７】
図７（ｂ）に示すように、論理ネットワーク情報は、仮想マシンのＩＤと、その仮想マシンが所属する所属ネットワークＩＤと、が対応付けられている。所属ネットワークＩＤは、複数の論理ネットワークを互いに識別するための情報である。同じ論理ネットワークに所属する仮想マシンどうしは、同一の所属ネットワークＩＤが割り当てられる。同一の所属ネットワークＩＤが割り振られた仮想マシンどうしは、互いに通信可能に構成される。一方、異なる所属ネットワークＩＤが割り当てられた仮想マシンどうしは、異なる論理ネットワークに所属することになるため、互いに通信できないように構成される。
【００４８】
論理ネットワーク情報は、仮想マシンＩＤと、仮想マシンが接続する仮想転送ノードのＩＤと、仮想マシンが接続する仮想転送ノードのポート番号とが対応付けられている。図７の（ｂ）のテーブルの２行目に記載の情報は、「仮想マシンＩＤ＝ａの仮想マシンは、所属するネットワークＩＤが１００で、接続する転送ノードＩＤが２１０で、ポート番号が１番である」という情報を意味する。
【００４９】
イメージ記憶部４２０は、仮想マシン作成部４３０が仮想マシンを作成する際のイメージファイルをあらかじめ記憶する。イメージファイルは、ファイルやディレクトリの構造を保持した複製データのことである。イメージ記憶部４２０には、ユーザ端末５０が利用するイメージファイルを、ユーザ端末５０が記憶するように構成してもよい。イメージ記憶部４２０は、これらイメージファイルを仮想マシン作成部４３０へ通知する。
【００５０】
仮想マシン作成部４３０は、管理情報記憶部４１０から仮想マシン仕様情報および論理ネットワーク情報を受け取るとともに、イメージ記憶部４２０からイメージファイルを受け取り、仮想マシンを作成する。仮想マシンの作成は、ＫＶＭ（Ｋｅｒｎｅｌ−ＢａｓｅｄＶｉｒｔｕａｌＭａｃｈｉｎｅ）など、仮想マシンを作成するどのようなソフトウェアで実現してもよい。仮想マシンは、仮想マシン仕様情報に基づいて作成され、論理ネットワーク情報の転送ノードＩＤ、およびポート番号を持つリソースに配置される。仮想マシン作成部４３０は、仮想マシンを作成後、論理ネットワーク情報を制御装置１０へ通知する。
【００５１】
仮想リソース３００には、仮想マシン管理部４００により作成された仮想転送ノード３１０と仮想マシン３２０とが実装される。なお、仮想転送ノード３１０と仮想マシン３２０は、１つに限られず、複数実装されてもよい。仮想転送ノード３１０は、ソフトウェアによって実現される転送ノードであり、例えば、ＯｐｅｎｖＳｗｉｔｃｈなどがある。第１の実施形態では、転送ノードと仮想転送ノードとの組み合わせによってネットワークが実現されているが、転送ノードのみ、または仮想転送ノードのみでネットワークが実現されてもよい。
【００５２】
図８は、図５における制御装置１０の構成例を示す図である。制御装置１０は、仮想マシン管理装置４００から論理ネットワーク情報を受け取り、パケットの通信を制御する処理規則を生成し、転送ノード２０および仮想転送ノード３１０へ設定する。制御装置１０は、処理規則の設定要求を受けた場合、当該処理規則の設定要求に含まれるパケット情報に基づいて、パケットの転送経路および該転送経路を実現する処理規則を作成し、作成した処理規則を該転送経路上の転送ノード２０および仮想転送ノード３１０に設定する。
【００５３】
制御装置１０は、トポロジ管理部１１と、制御メッセージ処理部１２と、経路・アクション計算部１３と、転送ノード管理部１４と、処理規則管理部１５と、処理規則データベース１６と、ノード通信部１７と、仮想リソース管理部１８と、を含む。
【００５４】
トポロジ管理部１１は、ノード通信部１７を介して収集された転送ノード２０に関する情報に基づいて、ネットワークのトポロジ情報を構築する。また、トポロジ情報が変化した場合、トポロジ管理部１１が経路・アクション計算部１３にトポロジ情報の変化を通知し、経路・アクション計算部１３に既存の処理規則の再設定等を行わせるようにしてもよい。なお、トポロジ管理部１１は、転送ノード２０に関する情報だけでなく、仮想転送ノード３１０に関する情報にも基づいて、ネットワークのトポロジ情報を構築してもよい。この場合、仮想転送ノード３１０に関する情報は、仮想マシン管理装置４００から通知を受けてもよいし、ノード通信部１７を介して収集してもよい。
【００５５】
制御メッセージ処理部１２は、転送ノード２０の少なくとも１つから受信した制御メッセージを解析して、制御装置１０内の該当する処理手段に制御メッセージ情報を引き渡す。
【００５６】
経路・アクション計算部１３は、トポロジ管理部１１にて管理されているトポロジ情報、および、仮想マシン管理装置４００から通知される論理ネットワーク情報に基づいて、パケットの転送経路を計算する手段を有する。また、経路・アクション計算部１３は、転送ノード管理部１４にて管理されている転送ノード２０の情報（例えば、各転送ノード２０の能力情報）、および、論理ネットワーク情報に含まれる仮想転送ノード３１０の情報を参照して、転送ノード２０、および、仮想転送ノード３１０に実行させる処理内容（アクション）を求める手段として機能する。
【００５７】
第１の実施形態において、経路・アクション計算部１３は、仮想マシン管理装置４００から、論理ネットワーク情報が通知される。経路・アクション計算部１３は、論理ネットワーク情報の通知に応じて、トポロジ管理部１１に格納された転送ノード２０の情報と、通知された論理ネットワーク情報に含まれる仮想転送ノード３１０情報とに基づいて、仮想マシン３２０宛のパケットの転送経路を決定する。経路・アクション計算部１３は、トポロジ管理部１１に格納された転送ノード２０の能力情報（例えば、ポートの数や種類、サポートするアクションの種類など）に基づいて、転送ノード２０が仮想転送ノード３１０に接続することを把握する。また、経路・アクション計算部１３は、論理ネットワーク情報に含まれる仮想転送ノード３１０の能力（例えば、ポートの数や種類、サポートするアクションの種類など）に基づいて、仮想転送ノード３１０がパケットの宛先である仮想マシン３２０に接続していることを把握する。
【００５８】
経路・アクション計算部１３は、把握した情報に基づいて、ユーザ端末５０から仮想マシン３２０までパケットを転送する経路を計算し、計算した転送経路を実現するための処理規則を、転送ノード２０および仮想転送ノード３１０に予め通知する。
【００５９】
転送ノード管理部１４は、管理対象の転送ノード２０の能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。
【００６０】
仮想リソース管理部１８は、仮想マシン管理装置４００から通知された論理ネットワーク情報を格納し、管理対象の仮想転送ノード３１０の能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。
【００６１】
処理規則管理部１５は、転送ノード２０に設定されている処理規則を管理する。処理規則管理部１５は、経路・アクション計算部１３で計算された結果を処理規則として処理規則データベース１６に記憶する。また、処理規則管理部１５は、転送ノード２０からの処理規則削除通知などに基づき、転送ノード２０に設定された処理規則に変更が生じた場合に、処理規則データベース１６の内容を更新する。
【００６２】
処理規則データベース１６は、少なくとも１つの処理規則を格納する。
【００６３】
ノード通信部１７は、転送ノード２０および仮想転送ノード３１０と通信を行う。本実施形態では、ノード通信部１７は、特許文献１のオープンフロープロトコルを用いて転送ノード２０および仮想転送ノード３１０と通信するものとする。ただし、ノード通信部１７と転送ノード２０および仮想転送ノード３１０との通信プロトコルは、オープンフロープロトコルに限定されるものではない。
【００６４】
以上のような制御装置１０の各部（処理手段）は、制御装置１０を構成するコンピュータに、そのハードウェアを用いて、上記した各情報を記憶し、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００６５】
図９は、図５における転送ノード２０および仮想転送ノード３１０の構成例を示す図である。仮想転送ノード３１０は、転送ノード２０と同様の構成で実装される。転送ノード２０および仮想転送ノード３１０は、図３に示すフローエントリを処理規則として動作する非特許文献２のオープンフロースイッチを用いることもできる。
【００６６】
転送ノード２０および仮想転送ノード３１０は、転送処理部２１と、テーブルデータベース（テーブルＤＢ）２２と、処理規則管理部２３と、通信部２４とを含む。
【００６７】
転送処理部２１は、図９に示すように、テーブル検索部２１０と、アクション実行部２１１とを有する。テーブル検索部２１０は、テーブルＤＢ２２に格納されたテーブルから、受信パケットに適合するマッチフィールドを持つ処理規則を検索する。アクション実行部２１１は、テーブル検索部２１０にて検索された処理規則のインストラクションフィールドに示す処理内容に従ってパケット処理を行う。
【００６８】
転送処理部２１は、受信パケットに適合するマッチフィールドを持つ処理規則が見つからなかった場合、その旨を処理規則管理部２３に通知する。転送処理部２１は、受信パケットに適合するマッチフィールドを有する処理規則に、パケットの処理方法として、制御装置１０への問い合わせを行うことが規定されていた場合、処理規則管理部２３に通知してもよい。処理規則管理部２３は、転送処理部２１から通知を受け、通信部２４を介して制御装置１０に問い合わせを行う。
【００６９】
転送処理部２１は、パケット処理に応じて、テーブルＤＢ２２に登録されている処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）を更新する。転送処理部２１は、複数の処理規則の各々に対応する統計情報（Ｃｏｕｎｔｅｒｓ）から統計値を求めてもよい。例えば、転送処理部２１は、複数の処理規則の各々に対応する統計情報を合算して統計値を算出し、処理規則管理部２３はこの統計値と各処理規則の失効条件とを比較して各処理規則が有効か否かを判断する。また、例えば、転送処理部２１は、テーブルＤＢ２２に格納された処理規則のうち、所定の条件に対応する処理規則に対応する統計情報から統計値を算出する。例えば、転送処理部２１は、所定のポートから入力されたパケットを処理するための処理規則や、所定のポートへパケットを出力するための処理規則に対応する統計情報から統計値を算出する。
【００７０】
テーブルＤＢ２２は、例えば、転送処理部２１が受信パケットの処理を行う際に参照するテーブルを一つ以上格納可能なデータベースによって構成される。
【００７１】
図１０は、転送ノード２０のテーブルＤＢ２２に設定されているテーブルの例である。図１０の例では、図５のユーザ端末５０と、仮想マシン３２０間の通信を実現する処理規則が設定されている。例えば、ユーザ端末５０から仮想マシン３２０に宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとしてユーザ端末５０のＩＰアドレスが設定され、宛先ＩＰアドレスとして仮想マシン３２０のＩＰアドレスが設定されている。このため、ユーザ端末５０から仮想マシン３２０に宛てられたパケットを受信すると、転送ノード２０のテーブル検索部２１０は、図１０のテーブルの上から１番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、転送ノード２０および仮想転送ノード３１０のアクション実行部２１１は、そのインストラクションフィールドに示された内容に従って、転送ノード２０および仮想転送ノード３１０と接続されたポート（＃１）から当該受信パケットを転送する。なお、転送ノード２０および仮想転送ノード３１０は、例えば、受信パケットに対応する処理規則が存在しない場合や処理規則に規定された“Ｉｎｓｔｒｕｃｔｉｏｎｓ”が制御装置１０への問い合わせである場合、制御装置１０に対して処理規則の設定を要求する。
【００７２】
同様に、例えば、仮想マシン３２０からユーザ端末５０に宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとして仮想マシン３２０のＩＰアドレスが設定され、宛先ＩＰアドレスとしてユーザ端末５０のＩＰアドレスが設定されている。このため、仮想マシン３２０からユーザ端末５０に宛てられたパケットを受信すると、転送ノード２０のテーブル検索部２１０は、図１０のテーブルの上から２番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、転送ノード２０および仮想転送ノード３１０のアクション実行部２１１は、そのインストラクションフィールドに示された内容に従って、ユーザ端末５０と接続されたポート（＃２）から当該受信パケットを転送する。なお、転送ノード２０および仮想転送ノード３１０は、受信パケットに対応する処理規則が存在しない場合や処理規則に規定された“Ｉｎｓｔｒｕｃｔｉｏｎｓ”が制御装置１０への問い合わせである場合、制御装置１０に対して処理規則の設定を要求する。
【００７３】
処理規則管理部２３は、テーブルＤＢ２２に保持されているテーブルを管理する手段である。具体的には、処理規則管理部２３は、制御装置１０から指示された処理規則をテーブルＤＢ２２に登録する。また、処理規則管理部２３は、転送処理部２１から、新規パケットを受信したことを通知されたことに応じて、制御装置１０に対し、受信パケットを処理するための処理規則の設定を要求する。
【００７４】
通信部２４は、転送ノード２０および仮想転送ノード３１０に処理規則を設定する制御装置１０との通信を実現する手段である。第１の実施形態では、通信部２４は、非特許文献２のオープンフロープロトコルを用いて制御装置１０と通信するものとする。但し、通信部２４と制御装置１０との通信プロトコルは、オープンフロープロトコルに限定されるものではない。
【００７５】
図１１は、第１の実施形態の通信システムの動作例を示すシーケンス図である。
【００７６】
ユーザ端末５０が、ユーザ認証を行う（図１１のＳ００１）。ユーザ認証は、ユーザを一意に特定するための処理であり、ユーザＩＤとパスワードを用いた認証方法やユーザが使用するユーザ端末のＭＡＣ（Media Access Control）アドレスを用いた認証方法など、どのような方法を用いてもよい。ユーザ認証は、認証処理を実行する専用の認証装置（図示せず）を用いてもよいし、仮想マシン管理装置４００において認証処理を行ってもよい。
【００７７】
続いて、ユーザ端末５０が、仮想マシン管理装置４００に対して、仮想マシンの作成を要求する（図１１のＳ００２）。
【００７８】
仮想マシン管理装置４００は、ユーザ端末５０からの要求にしたがって仮想マシン３２０を作成し（図１１のＳ００３）、指定の仮想リソース３００へ配置処理を行う（図１１のＳ００４）。仮想リソース３００に、仮想マシン３２０が配置される（図１１のＳ００５）。仮想マシン管理装置４００は、作成した仮想マシン３２０が所属するネットワークを形成する（図１１のＳ００６）。
【００７９】
仮想マシン管理装置４００は、ユーザ認証時のユーザＩＤと管理情報記憶部４１０に記憶した仮想マシン仕様情報のユーザＩＤとを照合する。ユーザＩＤが仮想マシン仕様情報内に存在する場合、論理ネットワーク情報を制御装置１０へ通知する（図１１のＳ００７）。
【００８０】
一方、ユーザＩＤが仮想マシン仕様情報内に存在しない場合、そのユーザＩＤに対して新しい所属ネットワークＩＤを論理ネットワーク情報に登録し、所属ネットワークＩＤを登録した論理ネットワーク情報を制御装置１０へ通知する（図１１Ｓ００７）。
【００８１】
制御装置１０は、仮想マシン管理装置４００から仮想マシンの所属ネットワーク情報を受け取り、その所属ネットワーク情報にしたがって処理規則を作成する（図１１のＳ００８）。
【００８２】
制御装置１０は、作成した処理規則を転送ノード２０および仮想転送ノード３１０に通知する（図１１のＳ００９のＦｌｏｗＭｏｄ）。
【００８３】
転送ノード２０および仮想転送ノード３１０は、制御装置１０から処理規則を受け取り、処理規則を設定する（図１１のＳ０１０）。
【００８４】
なお、仮想マシン管理装置４００が仮想マシンを作成する処理と、制御装置１０へ論理ネットワーク情報を通知する処理とは、どちらが先に処理されてもよいし、同時に処理されてもよい。
【００８５】
ユーザ端末５０は、仮想マシン３２０宛のパケットを送信する（図１１のＳ０１１）。
【００８６】
ユーザ端末５０から送信されたパケットは、転送ノード２０および仮想転送ノード３１０へと順に転送される。転送ノード２０および仮想転送ノード３１０は、制御装置１０によって設定された処理規則にしたがってパケットの転送を判定し、パケットを転送する（図１１のＳ０１２）。
【００８７】
第１の実施形態において、制御装置１０が、仮想マシン管理装置４００から仮想マシン３２０と仮想転送ノード３１０との接続関係に関する情報の通知を受けたことに応じて、当該仮想マシン３２０宛のパケットを処理するための処理規則を転送ノード２０および仮想転送ノード３１０に予め通知する。転送ノード２０または仮想転送ノード３１０は、仮想マシン３２０宛のパケットを受信した場合に、すでに処理規則が設定されているため、制御装置１０に対して処理規則を要求しない。したがって、第１の実施形態によれば、転送ノード２０または仮想転送ノード３１０からの処理規則の要求が削減されることにより、制御装置の負荷を低減することができる。
［第２の実施形態］
認証装置６０および通信ポリシ管理装置７０が通信システムに含まれる第２の実施形態について、図面を参照して説明する。
【００８８】
第２の実施形態において、認証装置６０は、ユーザ端末５０の認証を実行する。通信ポリシ管理装置７０は、ユーザ端末５０が作成する仮想マシン３２０による他の仮想マシンへのアクセスの可否を示すアクセスルールを決定する。
【００８９】
第２の実施形態において、ユーザ端末５０は、ポリシ管理装置７０に対してアクセスルールの変更を指示する。通信ポリシ管理装置７０は、アクセスルールの変更の指示に応じて、新たなアクセスルールを決定する。制御装置１０は、新たなアクセスルールに基づいて、ユーザ端末５０から仮想マシン３２０までの転送経路を再設定する。制御装置１０は、再設定した転送経路を実現する処理規則を、転送ノード２０および仮想転送ノード３１０に予め設定する。
【００９０】
このように、第２の実施形態では、通信ポリシ管理装置７０を設けたことにより、ユーザ端末５０からアクセスルールの変更の指示を受け付け、その変更の指示に応じた処理規則を転送ノード２０および仮想転送ノード３１０に予め設定することができる。
【００９１】
図１２は、第２の実施形態における通信システムの構成例である。図１２に示すように、第１の実施形態との相違点は、通信システムが認証装置６０、および、通信ポリシ管理装置７０を含む点である。その他は、第１の実施形態及び第２の実施形態と同等であるため、以下その相違点を中心に説明する。
【００９２】
認証装置６０は、ユーザ端末５０を認証する装置である。認証装置６０は、例えば、ユーザ端末５０からの要求により、ユーザ端末５０を認証する。ユーザ端末５０は、認証装置６０に対する要求を通じて、アクセスルールの変更を指示する。
【００９３】
なお、第２の実施形態では、ユーザ端末５０が認証装置６０を介してアクセスルールの変更を指示しているが、ユーザ端末５０が通信ポリシ管理装置７０に直接アクセスルールの変更を指示してもよい。
【００９４】
図１３は、認証装置６０がユーザ端末５０の認証に成功した場合に、通信ポリシ管理装置７０に送信する認証情報の一例である。認証装置６０は、例えば、ユーザ端末５０の認証に成功した場合、通信ポリシ管理装置７０に対して、ユーザＩＤと、ロールＩＤと、属性情報とを対応付けた認証情報を通知する。
【００９５】
ユーザＩＤは、ユーザ端末５０を識別する識別子である。
【００９６】
ロールＩＤは、アクセス制限に関する情報を特定するために用いる識別子である。ロールＩＤがｒｏｌｅ＿０００１の場合、例えば、リソースグループＩＤがｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１およびｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００２のリソースグループへのアクセスが許可されることを意味する。ロールＩＤと、アクセス制限に関する情報との対応関係は、通信ポリシ管理装置７０の通信ポリシ記憶部７１に記憶される（図１４）。リソースグループは、複数の仮想リソース群である。リソースグループＩＤは、リソースグループを互いに識別する識別子である。
【００９７】
属性情報は、ユーザ端末５０が作成する仮想マシンに関する情報（例えば、ＩＰアドレスやＭＡＣアドレス）である。
【００９８】
認証装置６０は、図１３に示すように、例えば、ユーザＩＤが０００１であるユーザ端末の認証に成功した場合、通信ポリシ管理装置７０に対して、ユーザＩＤとして０００１、ロールＩＤとしてｒｏｌｅ＿０００１、属性情報としてＩＰアドレス：１９２．１６８．１００．１およびＭＡＣアドレス：００−００−００−４４−５５−６６を通知する。
【００９９】
認証装置６０は、ユーザ端末５０からの要求に応じて、通信ポリシ管理装置７０に新たな認証情報を通知する。認証装置６０は、例えば、ユーザ端末５０からの要求に応じて、通信ポリシ管理装置７０に対し、ロールＩＤをｒｏｌｅ＿０００２と変更した認証情報を通知する。すなわち、認証装置６０は、例えば、ユーザ端末５０からの要求に応じて、通信ポリシ管理装置７０に対し、ユーザＩＤとして０００１、ロールＩＤとしてｒｏｌｅ＿０００２、属性情報としてＩＰアドレス：１９２．１６８．１００．１およびＭＡＣアドレス：００−００−００−４４−５５−６６を通知する。
【０１００】
なお、認証情報は、図１３の例に限定するものではなく、通信ポリシ管理装置７０がユーザ端末５０のアクセスルールを決定できる情報であればよい。認証情報は、例えば、ユーザ端末５０の位置情報などが含まれていてもよい。また、認証装置６０が通信ポリシ管理装置７０に送信する情報は、認証情報に限られず、ユーザＩＤやロールＩＤ、ユーザ端末５０の位置情報を用いてもよい。
【０１０１】
図１２に示すように、第２の実施形態において、通信システムは、通信ポリシ管理装置７０を含む。通信ポリシ管理装置７０は、ユーザ端末５０が作成する仮想マシン３２０による他の仮想マシンへのアクセスの可否を示すアクセスルールを決定する。
【０１０２】
図１４は、図１２における通信ポリシ管理装置７０の構成例を示す図である。
【０１０３】
図１４に示すように、通信ポリシ管理装置７０は、通信ポリシ記憶部７１と、ポリシ制御部７２とを備えて構成される。
【０１０４】
通信ポリシ記憶部７１は、通信ポリシと、リソース情報とを記憶する。
【０１０５】
図１５は、通信ポリシ記憶部７１が記憶する通信ポリシの一例である。図１５の例では、通信ポリシ記憶部７１は、ロールＩＤ毎に、リソースグループＩＤと、そのリソースグループに対するアクセス制限に関する情報とが記憶される。アクセス制限に関する情報は、例えば、アクセスを許可することをａｌｌｏｗで、アクセスを拒否することをｄｅｎｙで示す。図１５の２行目の通信ポリシは、例えば、ロールＩＤ：ｒｏｌｅ＿０００１の仮想マシンは、リソースグループＩＤ：ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００２のリソースグループに、アクセスが許可されている（ａｌｌｏｗ）ことを示す。同様に、図１５の３行目の通信ポリシは、例えば、ロールＩＤ：ｒｏｌｅ＿０００２の仮想マシンが、リソースグループＩＤ：ｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１のリソースグループに、アクセスが禁止されていることを示す。
【０１０６】
図１６は、通信ポリシ記憶部７１が記憶するリソース情報の一例である。図１６の例では、通信ポリシ記憶部７１は、リソースグループＩＤ毎に、そのリソースグループに含まれる仮想リソースと、その仮想リソースの情報とを対応付けて記憶する。図１６を参照すると、通信ポリシ記憶部７１は、例えば、リソースグループＩＤがｒｅｓｏｕｒｃｅ＿ｇｒｏｕｐ＿０００１で特定されるグループに、そのグループに含まれるリソースとしてｒｅｓｏｕｒｃｅ＿０００１と、ｒｅｓｏｕｒｃｅ＿０００２と、ｒｅｓｏｕｒｃｅ＿０００３とを対応付けて記憶し、それぞれのリソースに関する情報（例えば、ＩＰアドレス、ＭＡＣアドレス、および、サービスに利用するポート番号など）を記憶する。
【０１０７】
ポリシ制御部７２は、通信ポリシ記憶部７１に記憶されている通信ポリシおよびリソース情報と、仮想マシン管理装置４００から通知される認証情報とに基づいて、ユーザ端末５０が作成する仮想マシン３２０のアクセス可否に関するアクセスルールを作成する。ポリシ制御部７２は、作成したアクセスルールを、制御装置１０に通知する。
【０１０８】
図１７は、ポリシ制御部７２が作成する、仮想マシン３２０による他の仮想マシンに対するアクセス可否を示すアクセスルールである。図１７において、送信元フィールドには、ユーザ端末５０が作成を要求した仮想マシン３２０に関する情報（例えば、ＩＰアドレスやＭＡＣアドレス）が格納される。送信元フィールドに格納される情報は、認証装置６０がポリシ管理装置７０に送信する認証情報の属性フィールドから作成する。
【０１０９】
図１７において、宛先フィールドは、仮想リソースに関する情報（例えば、リソースのＩＰアドレス、ＭＡＣアドレス、および、サービスに利用するポート番号の情報）である。宛先フィールドに格納される情報は、通信ポリシ記憶部７１に記憶されたリソース情報のリソース属性フィールドから作成する。
【０１１０】
図１７において、アクセス権限フィールドには、アクセス制限に関する情報が格納される。アクセス権限フィールドに格納される情報は、通信ポリシ記憶部７１の通信ポリシのアクセス権限フィールドから作成される。
【０１１１】
図１７において、条件（オプション）フィールドには、例えば、通信ポリシ記憶部７１に記憶されたリソース情報のリソース属性フィールドに設定されているサービスに利用するポート番号が設定される。
【０１１２】
ポリシ制御部７２は、例えば、図１７のテーブルの４行目目に示すように、送信元アドレス：１９２．１６８．１００．１の仮想マシンが、宛先アドレス：１９２．１６８．０．３の仮想マシンと通信が不可（ｄｅｎｙ）というアクセスルールを作成し、制御装置１０へ通知する。
【０１１３】
ポリシ制御部７２は、仮想リソース３００に配置される仮想マシンに変更が生じた場合、ポリシ記憶部７１に記憶する通信ポリシとリソース情報とを更新する。ポリシ制御部７２は、例えば、仮想マシン管理装置４００から論理ネットワーク情報の通知を受け、リソースグループに含まれるリソースに変更があったことに応じて、リソース情報に含まれるリソースグループＩＤとリソースＩＤとの対応関係を更新する。
【０１１４】
第２の実施形態の通信ポリシ管理装置７０は、ユーザ端末５０からの要求を受けて、ポリシの作成や修正、削除等を行う。このような通信ポリシ管理の仕組み（ポリシ管理システム）は、Ｗｅｂベースのシステムとして提供してもよいし、独立したＰＣ（Personal Computer）上で動くアプリケーションとして提供してもよい。また、通信ポリシ管理装置７０のポリシ管理の仕組みは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いたアプリケーションで提供されるだけでなく、ＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）で提供されてもよいし、その他どのような形態であってもよい。
【０１１５】
制御装置１０は、通信ポリシ管理装置７０からアクセスルールの通知を受けると、アクセスルールに基づいてパケットの転送経路を計算し、計算した転送経路を実現するための処理規則を求める。制御装置１０は、求めた処理規則を、転送ノード２０と、仮想転送ノード３１０に通知する。なお、制御装置１０は、求める処理規則に有効期限を設けてもよい。この場合、制御装置１０は、処理規則が転送ノード２１０および仮想転送ノード３１０に設定されてから、または、最後に照合規則に適合するパケットを受信してから有効期限が経過した場合に、その処理規則が無効になるように、または、その処理規則が削除されるように設定する。
【０１１６】
第２の実施形態における通信システムの動作について、図面を参照して説明する。図１８は、第２の実施形態における通信システムの動作例を示すシーケンス図である。図１８の動作例は、ユーザ端末５０が、認証装置６０に対する要求を通じて、アクセスルールの変更を指示する場合の動作例である。
【０１１７】
図１８を参照すると、ユーザ端末５０が、認証装置６０に対して、認証を要求する（図１８のＳ１０１）。認証装置６０は、ユーザ端末５０のユーザ認証を行う（図１８のＳ１０２）。認証装置６０は、ユーザ端末５０の認証に成功した場合に、通信ポリシ管理装置７０に認証情報を送信する（図１８のＳ１０３）。
【０１１８】
通信ポリシ管理装置７０は、通知された認証情報と、通信ポリシ記憶部７１に記憶された通信ポリシおよびリソース情報とに基づいて、ユーザ端末５０からの要求に応じて作成される仮想マシン３２０のアクセスに関するアクセスルールを作成する（図１８のＳ１０４）。通信ポリシ管理装置７０は、作成したアクセスルールを、制御装置１０に送信する（図１８のＳ１０５）。
【０１１９】
制御装置１０は、通信ポリシ管理装置７０からアクセスルールの通知を受けると、アクセスルールに基づいてパケットの転送経路を計算し、計算した転送経路を実現するための処理規則を求める（図１８のＳ１０６）。制御装置１０は、求めた処理規則を、転送ノード２０と、仮想転送ノード３１０に通知する（図１８のＦｌｏｗＭｏｄ、Ｓ１０７）。
【０１２０】
転送ノード２０および仮想転送ノード３１０は、制御装置１０からの処理規則を受け取り、処理規則を設定する（図１８のＳ１０８）。
【０１２１】
ユーザ端末５０は、仮想マシン３２０宛のパケットを送信する（図１８のＳ１０９）。
【０１２２】
ユーザ端末５０から送信されたパケットは、転送ノード２０および仮想転送ノード３１０へと順に転送される。転送ノード２０および仮想転送ノード３１０は、制御装置１０によって設定された処理規則にしたがってパケットを転送する（図１８のＳ１１０）。
【０１２３】
以上のように、第２の実施形態の通信システムでは、通信ポリシ管理装置７０を設けたことにより、ユーザ端末５０からアクセスルールの変更の指示を受け付け、その変更の指示に応じた処理規則を転送ノード２０および仮想転送ノード３１０に予め設定することができる。したがって、第２の実施形態によれば、転送ノード２０または仮想転送ノード３１０からの処理規則の要求が削減されることにより、制御装置の負荷を低減することができる。
［第３の実施形態］
第３の実施形態は、第２の実施形態における通信システムに、仮想マシン移動装置８０を追加した実施形態である。第３の実施形態では、仮想マシン移動装置８０を設けたことで、仮想リソース間で仮想マシンを移動させることができるシステムを提供できる。
【０１２４】
第３の実施形態について、図面を参照して説明する。
【０１２５】
図１９は、第３の実施形態における通信システムの構成例である。図１９に示すように、第２の実施形態との相違点は、仮想マシン移動装置８０が追加したことである。その他は、第２の実施形態と同等であるため、以下その相違点を中心に説明する。
【０１２６】
仮想マシン移動装置８０は、仮想リソース３００に含まれる仮想マシン３２０を、ユーザ端末５０からの要求により、又は、仮想リソース３００の稼働状況などにより、他の仮想リソース９００に移動する。
【０１２７】
仮想マシン移動装置８０は、仮想マシン３２０の移動の要求に応じて、仮想マシン３２０の移動先の情報を仮想マシン管理装置４００に通知する。仮想マシン３２０の移動先の情報は、ユーザ端末５０から移動の要求を受けた仮想マシンの仮想マシンＩＤである。なお、移動先の情報は、仮想マシンＩＤに限られず、ユーザ端末５０が移動を要求した仮想マシンを特定でいる情報であればどのような情報であってもよい。
【０１２８】
仮想マシン管理装置４００の仮想マシン作成部４３０は、仮想マシン移動装置８０から、仮想マシン３２０の移動先の情報を受け取ったことに応じて、管理情報記憶部４１０に記憶された論理ネットワーク情報を参照して、仮想マシン３２０の移動先を決定する。
【０１２９】
仮想マシン管理装置４００は、仮想マシン３２０の移動先を決定した後、仮想マシン３２０を移動先である仮想リソース９００に移動する。仮想マシン管理装置４００は、仮想マシン３２０の移動に応じて、論理ネットワーク情報を更新する。仮想マシン管理装置は、更新後の論理ネットワーク情報を、制御装置１０へ通知する。
【０１３０】
第３の実施形態における通信システムの動作について、図面を参照して説明する。図２０は、第３の実施形態における通信システムの動作例を示すシーケンス図である。
【０１３１】
ユーザ端末５０が、認証装置６０により、ユーザ認証を行う（図２０のＳ２０１）。
【０１３２】
続いて、ユーザ端末５０が、仮想マシン移動装置８０に対して、仮想マシンの移動を要求する（図２０のＳ００２）。
【０１３３】
仮想マシン移動装置８０は、仮想マシン３２０の移動の要求に応じて、仮想マシン３２０の移動先の情報を仮想マシン管理装置４００に通知する（図２０のＳ２０３）。
【０１３４】
仮想マシン管理装置４００の仮想マシン作成部４３０は、仮想マシン移動装置８０から、仮想マシン３２０の移動先の情報を受け取ったことに応じて、管理情報記憶部４１０に記憶された論理ネットワーク情報を参照して、仮想マシン３２０の移動先を決定する（図２０のＳ２０４）。
【０１３５】
仮想マシン管理装置４００は、仮想マシン３２０の複製を、仮想リソース３００に要求する（図２０のＳ２０５）。
【０１３６】
仮想リソース３００は、仮想マシン管理装置４００からの複製要求を受けて、仮想マシン３２０を複製し（図２０のＳ２０６）、複製した仮想マシン３２０を仮想マシン管理装置４００へ通知する（図２０のＳ２０７）。仮想マシン管理装置４００は、複製した仮想マシン３２０を受け取り、イメージ記憶部４２０に一時保存する（図２０のＳ２０８）。仮想マシン管理装置４００は、仮想リソース３００に対して、仮想マシン３２０の削除を要求する（図２０のＳ２０９）。仮想リソース３００は、仮想マシン管理装置４００から削除要求を受けて、仮想マシン３２０を削除し（図２０のＳ２１０）、削除の完了を仮想マシン管理装置４００へ通知する（図２０のＳ２１１）。
【０１３７】
仮想マシン管理装置４００は、仮想リソース３００から仮想マシン３２０の削除完了の通知を受け取り、イメージ記憶部３２０に一助保存していた複製した仮想マシン３２０を、仮想リソース９００へ通知する（図２０のＳ２１２）。仮想リソース９００は、仮想マシン管理装置４００から複製した仮想マシン３２０を受け取り、仮想リソース９００内に仮想マシン３２０を配置する（図２０のＳ２１３）。
【０１３８】
仮想マシン管理装置４００は、仮想リソース３２０を移動した後の論理ネットワーク情報を制御装置１０へ通知する（図２０のＳ２１４）。
【０１３９】
制御装置１０は、仮想マシン管理装置４００から仮想マシンの所属ネットワーク情報を受け取り、その所属ネットワーク情報にしたがって処理規則を作成する（図２０のＳ２１５）。
【０１４０】
制御装置１０は、作成した処理規則を転送ノード２０および仮想リソース９００内の仮想転送ノード９１０に通知する（図２０のＳ２１６のＦｌｏｗＭｏｄ）。
【０１４１】
転送ノード２０および仮想転送ノード９１０は、制御装置１０から処理規則を受け取り、処理規則を設定する（図２０のＳ２１７）。
【０１４２】
ユーザ端末５０は、仮想マシン３２０宛のパケットを送信する（図２０のＳ２１８）。
【０１４３】
ユーザ端末５０から送信されたパケットは、転送ノード２０および仮想転送ノード９１０へと順に転送される。転送ノード２０および仮想転送ノード９１０は、制御装置１０によって設定された処理規則にしたがってパケットの転送を判定し、パケットを転送する（図２０のＳ２１８）。
【０１４４】
以上のように、第３の実施形態の通信システムでは、仮想マシン移動装置８０を設けたことで、仮想リソース間で仮想マシンを移動させることができ、仮想リソースの移動を反映した処理規則を転送ノード２０および仮想転送ノード９１０に予め設定することができる。したがって、第３の実施形態によれば、転送ノード２０または仮想転送ノード９１０からの処理規則の要求が削減されることにより、制御装置の負荷を低減することができる。
［第４の実施形態］
第４の実施形態は、第３の実施形態における通信システムを冗長化した実施形態である。通信システムを冗長化したことにより、いずれかの通信システムが使用できなくなった場合であっても、その通信システムが提供していたサービスを継続して提供することができる。
【０１４５】
第４の実施形態について、図面を参照して説明する。
【０１４６】
図２１は、第４の実施形態における通信システムの構成例である。図２１に示すように、第３の実施形態との相違点は、通信システムが冗長化されていることである。その他は、第３の実施形態と同等であるため、以下その相違点を中心に説明する。
【０１４７】
図２１に示すように、第４の実施形態における通信システムは、第１の通信システムと第２の通信システムとを含む。なお、第４の実施形態における通信システムは、第１および第２の通信システムだけでなく、いくつの通信システムを含んでもよい。第１の通信システムと第２の通信システムとは、互いに同じサービスを提供する。第１の通信システムは、例えば、データセンター内に構築される。第２の通信システムは、例えば、第１の通信システムに対してインターネットや広域ネットワークなどの外部ネットワークを介した企業内に構築される。
【０１４８】
第４の実施形態における第２の通信システムは、図２１に示すように、ローカル制御装置１０Ａと、ローカル転送ノード２０Ａと、ローカル仮想リソース３００Ａと、ローカル仮想マシン管理装置４００Ａと、ローカル認証装置６０Ａと、ローカル通信ポリシ管理装置７０Ａと、ローカル仮想マシン移動装置８０Ａと、を含む。
【０１４９】
ローカル制御装置１０Ａは、第１の通信システムの制御装置１０と同様の処理を行う。ローカル転送ノード２０Ａは、第１の通信システムの転送ノード２０と同様の処理を行う。ローカル仮想リソース３００Ａは、第１の通信システムの仮想リソース３００と同様の処理を行う。ローカル仮想マシン管理装置４００Ａは、仮想マシン管理装置４００と同様の処理を行う。ローカル認証装置６０Ａは、第１の通信システムの認証装置６０と同様の処理を行う。ローカル通信ポリシ管理装置７０Ａは、第１の通信システムの通信ポリシ管理装置７０と同様の処理を行う。ローカル仮想マシン移動装置８０Ａは、第１の通信システムの仮想マシン移動装置８０と同様の処理を行う。
【０１５０】
第４の実施形態において、第１の通信システムに含まれる各装置と、第２の通信システムに含まれる各装置とは、互いに同期して動作するものとして説明する。なお、第１の通信システムに含まれる各装置と、第２の通信システムに含まれる各装置とは、同期して動作する必要はなく、互いに独立して動作してもよい。
【０１５１】
第４の実施形態において、仮想マシン管理装置４００が、ユーザ端末５０から仮想マシンの作成や設定変更の要求を受け付け、それを元に任意のリソースに仮想マシンを作成する。仮想マシン管理装置４００の管理情報記憶部４１０は、ユーザ端末５０から受け付けた要求に応じて、論理ネットワークの情報を作成する。
【０１５２】
第４の実施形態において、仮想マシン管理装置４００は、作成した論理ネットワークの情報を、第２の通信システムに含まれるローカル仮想マシン管理装置４００Ａに通知する。ローカル仮想マシン管理装置４００Ａは、通知された論理ネットワークの情報に基づいて、ローカル仮想リソース３００Ａにローカル仮想マシン３２０Ａを作成する。なお、ユーザ端末５０がローカル仮想マシン管理装置３００Ａに仮想マシンの作成や設定変更の要求を行った場合には、ローカル仮想マシン管理装置４００Ａが、仮想マシン管理装置４００に論理ネットワークの情報を通知するように構成してもよい。
【０１５３】
同様に、第４の実施形態において、ユーザ端末５０がアクセスルールの変更を要求した場合には、ポリシ管理装置７０が、決定したアクセスルールを制御装置１０に通知するとともに、ローカル制御装置１０Ａにも通知する。ローカル制御装置１０Ａは、通知されたアクセスルールに基づいて、パケットの転送経路を計算し、計算した転送経路を実現するための処理規則を求める。ローカル制御装置１０Ａは、求めた処理規則を、ローカル転送ノード２０Ａとローカル仮想転送ノード３１０Ａに予め設定する。
【０１５４】
同様に、第４の実施形態において、ユーザ端末５０が仮想マシンの移動を要求した場合には、仮想マシン管理装置４００は、仮想マシンを移動した後に更新する論理ネットワーク情報を、ローカル仮想マシン管理装置４００Ａに通知する。ローカル仮想マシン管理装置４００Ａは、通知された論理ネットワークの情報に基づいて、ローカル仮想マシン３２０Ａの移動処理を実行する。
【０１５５】
第４の実施形態における通信システムの動作について、図面を参照して説明する。
【０１５６】
図２２は、第４の実施形態における通信システムの動作例を示すシーケンス図である。図２２の動作例は、ユーザ端末５０が、仮想マシン管理装置４００に対して、仮想マシンの作成や設定変更の要求する場合の動作例である。
【０１５７】
ユーザ端末５０が、ユーザ認証を行う（図２２のＳ２０１）。
【０１５８】
続けて、ユーザ端末５０が、仮想マシン管理装置４００に対して、仮想マシンの作成を要求する（図２２のＳ２０１）。
【０１５９】
仮想マシン管理装置４００は、ユーザ端末５０からの要求にしたがって仮想マシン３２０を作成し（図２２のＳ２０３）、指定の仮想リソース３００へ配置処理を行う（図２２のＳ２０４）。仮想リソース３００に、仮想マシン３２０が配置される（図２２のＳ２０５）。仮想マシン管理装置４００は、作成した仮想マシン３２０が所属するネットワークを形成する（図２２のＳ２０６）。
【０１６０】
仮想マシン管理装置４００は、ユーザ認証時のユーザＩＤと管理情報記憶部４１０に記憶した仮想マシン仕様情報のユーザＩＤとを照合する。仮想マシン管理装置４００は、ユーザＩＤが仮想マシン仕様情報内に存在する場合、論理ネットワーク情報を制御装置１０へ通知する（図２２のＳ２０７）。
【０１６１】
一方、ユーザＩＤが仮想マシン仕様情報内に存在しない場合、そのユーザＩＤに対して新しい所属ネットワークＩＤを論理ネットワーク情報に登録し、所属ネットワークＩＤを登録した論理ネットワーク情報を制御装置１０へ通知する（図２２のＳ２０７）。
【０１６２】
第４の実施形態において、第１の通信システムに含まれる仮想マシン管理装置４００は、第２の通信システムに含まれるローカル仮想マシン管理装置４００Ａに対しても、論理ネットワーク情報を通知する（図２２のＳ２０７）。
【０１６３】
制御装置１０は、仮想マシン管理装置４００から仮想マシンの所属ネットワーク情報を受け取り、その所属ネットワーク情報にしたがって処理規則を作成する（図２２のＳ２０８）。
【０１６４】
制御装置１０は、作成した処理規則を転送ノード２０および仮想転送ノード３１０に通知する（図２２のＳ２０９のＦｌｏｗＭｏｄ）。
【０１６５】
転送ノード２０および仮想転送ノード３１０は、制御装置１０から処理規則を受け取り、処理規則を設定する（図２２のＳ２１０）。
【０１６６】
第４の実施形態において、第１の通信システムの仮想マシン管理装置４００から論理ネットワーク情報の通知を受けたローカル仮想マシン管理装置４００Ａは、論理ネットワーク情報に基づいて、ローカル仮想マシン３２０Ａを作成し（図２２のＳ２１１）、指定のローカル仮想リソース３００Ａへ配置処理を行う（図２２のＳ２１２）。ローカル仮想リソース３００Ａに、ローカル仮想マシン３２０Ａが配置される（図２２のＳ２１３）。
【０１６７】
ローカル仮想マシン管理装置４００Ａは、論理ネットワーク情報をローカル制御装置１０Ａへ通知する（図２２のＳ２１４）。
【０１６８】
ローカル制御装置１０Ａは、ローカル仮想マシン管理装置４００Ａから論理ネットワーク情報を受け取り、その論理ネットワーク情報にしたがって処理規則を作成する（図２２のＳ２１５）。
【０１６９】
ローカル制御装置１０Ａは、作成した処理規則をローカル転送ノード２０Ａおよびローカル仮想転送ノード３１０Ａに通知する（図２２のＳ２１６のＦｌｏｗＭｏｄ）。
【０１７０】
ローカル転送ノード２０Ａおよびローカル仮想転送ノード３１０Ａは、ローカル制御装置１０Ａから処理規則を受け取り、処理規則を設定する（図２２のＳ２１７）。
【０１７１】
ユーザ端末５０は、仮想マシン３２０宛のパケットを送信する（図２２のＳ２１８）。
【０１７２】
ユーザ端末５０から送信されたパケットは、転送ノード２０および仮想転送ノード３１０へと順に転送される。転送ノード２０および仮想転送ノード３１０は、制御装置１０によって設定された処理規則にしたがってパケットを転送する（図２２のＳ２１９）。
【０１７３】
図２３は、第４の実施形態における通信システムの動作例を示すシーケンス図である。図２３の動作例は、ユーザ端末５０が、認証装置６０に対する要求を通じて、アクセスルールの変更を指示する場合の動作例である。
【０１７４】
図２３を参照すると、ユーザ端末５０が、認証装置６０に対して、認証を要求する（図２３のＳ３０１）。認証装置６０は、ユーザ端末５０のユーザ認証を行う（図２３のＳ３０２）。認証装置６０は、ユーザ端末５０の認証に成功した場合に、ポリシ管理装置７０に認証情報を送信する（図２３のＳ３０３）。
【０１７５】
通信ポリシ管理装置７０は、通知された認証情報と、通信ポリシ記憶部７１に記憶された通信ポリシおよびリソース情報とに基づいて、ユーザ端末５０からの要求に応じて作成される仮想マシン３２０のアクセスに関するアクセスルールを作成する（図２３のＳ３０４）。通信ポリシ管理装置７０は、作成したアクセスルールを、制御装置１０に送信する（図２３のＳ３０５）。
【０１７６】
第４の実施形態において、第１の通信システムの通信ポリシ管理装置７０は、作成したアクセスルールを、第２の通信システムのローカル制御装置１０Ａに対しても通知する（図２３のＳ３０５）。
【０１７７】
制御装置１０は、通信ポリシ管理装置７０からアクセスルールの通知を受けると、アクセスルールに基づいてパケットの転送経路を計算し、計算した転送経路を実現するための処理規則を求める（図２３のＳ３０６）。制御装置１０は、求めた処理規則を、転送ノード２０と、仮想転送ノード３１０に通知する（図２３のＦｌｏｗＭｏｄ、Ｓ３０７）。
【０１７８】
転送ノード２０および仮想転送ノード３１０は、制御装置１０からの処理規則を受け取り、処理規則を設定する（図２３のＳ３０８）。
【０１７９】
第４の実施形態において、第１の通信システムのポリシ管理装置７０からアクセスルールを受け取った第２の通信システムのローカル制御装置１０Ａは、アクセスルールに基づいてパケットの転送経路を計算し、計算した転送経路を実現するための処理規則を求める（図２３のＳ３０９）。ローカル制御装置１０Ａは、求めた処理規則を、ローカル転送ノード２０Ａと、ローカル仮想転送ノード３１０Ａに通知する（図２３のＦｌｏｗＭｏｄ、Ｓ３１０）。
【０１８０】
ローカル転送ノード２０Ａおよびローカル仮想転送ノード３１０Ａは、ローカル制御装置１０Ａからの処理規則を受け取り、処理規則を設定する（図２３のＳ３１１）。
【０１８１】
ユーザ端末５０は、仮想マシン３２０宛のパケットを送信する（図２３のＳ３１２）。
【０１８２】
ユーザ端末５０から送信されたパケットは、転送ノード２０および仮想転送ノード３１０へと順に転送される。転送ノード２０および仮想転送ノード３１０は、制御装置１０によって設定された処理規則にしたがってパケットを転送する（図２３のＳ３１３）。
【０１８３】
以上のように、第４の実施形態では、通信システムを冗長化している。したがって、制御装置１０などの装置が故障した場合や、転送ノード２０と仮想転送ノード３１０との間のネットワークに障害が発生した場合など、通信システムが使用できなくなっても、その通信システムが提供していたサービスを、他の通信システムで継続して提供することができる。
【０１８４】
（付記）
本発明では、前記第１の視点に係る通信システムの形態が可能である。
【０１８５】
前記第１の視点に係る通信システムにおいて、前記制御装置は、新しい仮想マシンが配置されたことに応じて、前記転送経路でパケットを転送するための処理規則を前記ノードに予め通知する形態が可能である。
【０１８６】
前記第１の視点に係る通信システムにおいて、前記アクセスルールを管理する通信ポリシ管理装置をさらに備え、前記通信ポリシ管理装置は、新しい仮想マシンが配置されたことに応じて、前記アクセスルールを作成する形態が可能である。
【０１８７】
前記第１の視点に係る通信システムにおいて、ユーザ端末の認証を行う認証装置をさらに備え、前記認証装置は、ユーザ端末の認証ができた場合に、前記通信ポリシ管理装置に認証情報を送信し、前記通信ポリシ管理装置は、前記認証情報を基に、前記アクセスルールを作成する形態が可能である。
【０１８８】
前記第１の視点に係る通信システムにおいて、仮想マシンを任意のリソースに作成する仮想マシン管理装置をさらに備え、前記仮想マシン管理装置は、任意のリソースに配置された仮想マシンの複製を記憶し、前記仮想マシンを削除した後に、他のリソースに前記複製した仮想マシンを配置する形態が可能である。
【０１８９】
本発明では、前記第２の視点に係る制御装置の形態が可能である。
【０１９０】
前記第２の視点に係る制御装置において、前記第二の手段は、新しい仮想マシンが配置されたことに応じて、前記転送経路でパケットを転送するための処理規則を前記ノードに予め通知する形態が可能である。
【０１９１】
前記第２の視点に係る制御装置において、新しい仮想マシンが作成されたことに応じて、通信ポリシ管理装置が作成したアクセスルールの通知を受ける形態が可能である。
【０１９２】
本発明では、前記第３の視点に係る通信制御方法の形態が可能である。
【０１９３】
本発明では、前記第４の視点に係るプログラムの形態が可能である。
【０１９４】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１９５】
１０  制御装置
１０Ａ  ローカル制御装置
１１  トポロジ管理部
１２  制御メッセージ処理部
１３  経路・アクション計算部
１４  転送ノード管理部
１５  処理規則管理部
１６  処理規則データベース
１７  ノード通信部
１８  仮想リソース管理部
２０、２０−１、２０−２  転送ノード
２０Ａ  ローカル転送ノード
２１  転送処理部
２２  テーブルデータベース（テーブルＤＢ）２２
２３  処理規則管理部
２４  通信部
３０  通信機器
４０  通信機器管理装置
５０  ユーザ端末
６０  認証装置
６０Ａ  ローカル認証装置
７０  通信ポリシ管理装置
７０Ａ  ローカル通信ポリシ管理装置
７１  通信ポリシ記憶部
７２  ポリシ制御部
８０  仮想マシン移動装置
８０Ａ  ローカル仮想マシン移動装置
３００  仮想リソース
３００Ａ  ローカル仮想リソース
３１０  仮想転送ノード
３１０Ａ  ローカル仮想転送ノード
３２０  仮想マシン
３２０Ａ  ローカル仮想マシン
４００  仮想マシン管理装置
４００Ａ  ローカル仮想マシン管理装置
４１０  管理情報記憶部
４２０  イメージ記憶部
４３０  仮想マシン作成部
９００  仮想リソース
９１０  仮想転送ノード
９２０  仮想マシン
【図１】
0006327371.tif 000002
【図２】
0006327371.tif 000003
【図３】
0006327371.tif 000004
【図４】
0006327371.tif 000005
【図５】
0006327371.tif 000006
【図６】
0006327371.tif 000007
【図７】
0006327371.tif 000008
【図８】
0006327371.tif 000009
【図９】
0006327371.tif 000010
【図１０】
0006327371.tif 000011
【図１１】
0006327371.tif 000012
【図１２】
0006327371.tif 000013
【図１３】
0006327371.tif 000014
【図１４】
0006327371.tif 000015
【図１５】
0006327371.tif 000016
【図１６】
0006327371.tif 000017
【図１７】
0006327371.tif 000018
【図１８】
0006327371.tif 000019
【図１９】
0006327371.tif 000020
【図２０】
0006327371.tif 000021
【図２１】
0006327371.tif 000022
【図２２】
0006327371.tif 000023
【図２３】
0006327371.tif 000024