(57)【要約】  仮想トンネルを用いて構成された仮想ネットワークにおけるＴＥＰと仮想ネットワーク間の接続設定や管理の容易化に貢献する。制御装置は、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する接続検出部と、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する仮想ネットワーク特定部と、前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるトンネルエンドポイント制御部と、を備える。
2014106945.tif 000002
【特許請求の範囲】
【請求項１】
仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する接続検出部と、
仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する仮想ネットワーク特定部と、
前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるトンネルエンドポイント制御部と、
を備える制御装置。
【請求項２】
前記接続検出部は、前記仮想マシンのトンネルエンドポイントからの離脱を検出すると、前記仮想ネットワーク特定部に対し、前記仮想マシンのトンネルエンドポイントからの離脱を通知し、
前記仮想ネットワーク特定部は、前記仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記離脱した仮想マシンが属する仮想ネットワークを特定して、前記トンネルエンドポイント制御部に対し、前記離脱した仮想マシンが属する仮想ネットワークと、前記仮想マシンが接続していたトンネルエンドポイントとを通知し、
前記トンネルエンドポイント制御部は、前記仮想マシンの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなったこと場合に、前記トンネルエンドポイントを、前記特定した仮想ネットワークから脱退させる、
請求項１の制御装置。
【請求項３】
さらに、
前記トンネルエンドポイントに接続している仮想マシンを記憶する第１の記憶部と、
前記仮想マシンと仮想ネットワークとの対応関係を記憶する第２の記憶部と、
前記各トンネルエンドポイントが参加している仮想ネットワークを記憶する第３の記憶部と、を備え、
前記第３の記憶部を参照して、前記新規に仮想マシンが接続したトンネルエンドポイントが前記特定した仮想ネットワークに参加しているか否かを判定する請求項１又は２の制御装置。
【請求項４】
前記接続検出部は、前記新規に接続した仮想マシンが動作する仮想化サーバからの報告により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項１から３いずれか一の制御装置。
【請求項５】
前記トンネルエンドポイントを構成するスイッチに、仮想マシンからのパケットに基づいて、前記仮想マシンが接続されたことを通知させる制御情報を設定することにより、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項１から３いずれか一の制御装置。
【請求項６】
仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する接続検出部と、
仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する仮想ネットワーク特定部と、
前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるトンネルエンドポイント制御部と、
を備える制御装置と、
前記制御装置によって制御されるトンネルエンドポイントと、を含む通信システム。
【請求項７】
前記接続検出部は、前記仮想マシンのトンネルエンドポイントからの離脱を検出すると、前記仮想ネットワーク特定部に対し、前記仮想マシンのトンネルエンドポイントからの離脱を通知し、
前記仮想ネットワーク特定部は、前記仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記離脱した仮想マシンが属する仮想ネットワークを特定して、前記トンネルエンドポイント制御部に対し、前記離脱した仮想マシンが属する仮想ネットワークと、前記仮想マシンが接続していたトンネルエンドポイントとを通知し、
前記トンネルエンドポイント制御部は、前記仮想マシンの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなった場合に、前記トンネルエンドポイントを、前記特定した仮想ネットワークから脱退させる、
請求項６の通信システム。
【請求項８】
さらに、前記制御装置が、
前記トンネルエンドポイントに接続している仮想マシンを記憶する第１の記憶部と、
前記仮想マシンと仮想ネットワークとの対応関係を記憶する第２の記憶部と、
前記各トンネルエンドポイントが参加している仮想ネットワークを記憶する第３の記憶部と、を備え、
前記第３の記憶部を参照して、前記新規に仮想マシンが接続したトンネルエンドポイントが前記特定した仮想ネットワークに参加しているか否かを判定する請求項６又は７の通信システム。
【請求項９】
前記接続検出部は、前記新規に接続した仮想マシンが動作する仮想化サーバからの報告により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項６から８いずれか一の通信システム。
【請求項１０】
前記トンネルエンドポイントを構成するスイッチに、仮想マシンからのパケットに基づいて、前記仮想マシンが接続されたことを通知させる制御情報を設定することにより、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項６から９いずれか一の通信システム。
【請求項１１】
仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントを制御する制御装置が、
前記トンネルエンドポイントに、新規に仮想マシンが接続されたことを検出するステップと、
仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定するステップと、
前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるステップと、
を含むトンネルエンドポイントの制御方法。
【請求項１２】
さらに、前記制御装置が、
前記仮想マシンのトンネルエンドポイントからの離脱を検出するステップと、
前記仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記離脱した仮想マシンが属する仮想ネットワークを特定するステップと、
前記仮想マシンの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなった場合に、前記トンネルエンドポイントを、前記特定した仮想ネットワークから脱退させるステップと、
を含む請求項１１のトンネルエンドポイントの制御方法。
【請求項１３】
前記制御装置は、
前記各トンネルエンドポイントが参加している仮想ネットワークを記憶する記憶部を参照して、前記新規に仮想マシンが接続したトンネルエンドポイントが前記特定した仮想ネットワークに参加しているか否かを判定する請求項１１又は１２のトンネルエンドポイントの制御方法。
【請求項１４】
前記制御装置は、
前記新規に接続した仮想マシンが動作する仮想化サーバからの報告により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項１１から１３いずれか一のトンネルエンドポイントの制御方法。
【請求項１５】
前記制御装置は、
前記トンネルエンドポイントを構成するスイッチに、仮想マシンからのパケットに基づいて、前記仮想マシンが接続されたことを通知させる制御情報を設定することにより、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する請求項１１から１４いずれか一のトンネルエンドポイントの制御方法。
【請求項１６】
仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントを制御するコンピュータに、
前記トンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する処理と、
仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する処理と、
前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させる処理と、
を実行させるプログラム。
【請求項１７】
さらに、前記コンピュータに、
前記仮想マシンのトンネルエンドポイントからの離脱を検出する処理と、
前記仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記離脱した仮想マシンが属する仮想ネットワークを特定する処理と、
前記仮想マシンの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなった場合に、前記トンネルエンドポイントを、前記特定した仮想ネットワークから脱退させる処理と、
を実行させる請求項１６のプログラム。
【請求項１８】
前記コンピュータに、
前記各トンネルエンドポイントが参加している仮想ネットワークを記憶する前記コンピュータの記憶部を参照して、前記新規に仮想マシンが接続したトンネルエンドポイントが前記特定した仮想ネットワークに参加しているか否かを判定させる請求項１６又は１７のプログラム。
【請求項１９】
前記コンピュータに、
前記新規に接続した仮想マシンが動作する仮想化サーバからの報告により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出させる請求項１６から１８いずれか一のプログラム。
【請求項２０】
前記コンピュータに、さらに、
前記トンネルエンドポイントを構成するスイッチに、仮想マシンからのパケットに基づいて前記仮想マシンが接続されたことを通知する制御情報を設定する処理を実行させ、
前記コンピュータに、
前記前記トンネルエンドポイントを構成するスイッチからの通知により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出させる請求項１６から１９いずれか一のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０００１６０号（２０１３年  １月  ４日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラムに関し、特に、仮想トンネルを用いて構成された仮想ネットワークに属する仮想マシン間の通信を制御する制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングへの適用を考慮したトンネリングプロトコルとして、ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＶＧＲＥ（Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）、ＳＴＴ（Ｓｔａｔｅｌｅｓｓ  Ｔｒａｎｓｐｏｒｔ  Ｔｕｎｎｅｌｉｎｇ）といった技術が提案されている。非特許文献１は、ＶＸＬＡＮのドラフトである。【０００３】
ＶＸＬＡＮは、仮想トンネルの終端ポイントとなるトンネルエンドポイントにて、レイヤ２フレームをカプセル化するものであるが、その際に、２４ビットの長さを持つＶＸＬＡＮ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｅｒ（ＶＮＩ）をカプセルヘッダ（アウターヘッダ）に付加する（非特許文献１のＰａｇｅ９「５．ＶＸＬＡＮ  Ｆｒａｍｅ  Ｆｏｒｍａｔ」以下参照）。このＶＮＩは、ＩＥＥＥ８０２．１Ｑで規定されているＶＬＡＮ  ＩＤの倍の長さであり、上記クラウドコンピューティング環境における「テナント（物理ネットワークの共有ユーザ）」の数を飛躍的に増大できる点で注目されている（最大約１６７７万（２＾２４）となる）。また、非特許文献２は、ＶＸＬＡＮと同様のトンネリングを行うＮＶＧＲＥのドラフトである。ＮＶＧＲＥにおいても、２４ビットの長さを持つＴｅｎａｎｔ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｅｒ（ＴＮＩ）により、論理分割可能なセグメントの数の増大が図られている。【０００４】
一方で、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献３、４参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献４に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献４の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００５】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献４の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｍ．Ｍａｈａｌｉｎｇａｍほか７名、“ＶＸＬＡＮ：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｏｖｅｒｌａｙｉｎｇ  Ｖｉｒｔｕａｌｉｚｅｄ  Ｌａｙｅｒ  ２  Ｎｅｔｗｏｒｋｓ  ｏｖｅｒ  Ｌａｙｅｒ  ３  Ｎｅｔｗｏｒｋ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２９日検索］、インターネット〈URL:http://tools.ietf.org/pdf/draft-mahalingam-dutt-dcops-vxlan-02.pdf〉
【非特許文献２】Ｍ．Ｓｒｉｄｈａｒａｎほか８名、“ＮＶＧＲＥ：  Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２９日検索］、インターネット〈URL:http://tools.ietf.org/pdf/draft-sridharan-virtualization-nvgre-01.pdf〉
【非特許文献３】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２２日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献４】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２２日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。非特許文献１又は２に記載のＶＸＬＡＮやＮＶＧＲＥなどに準拠した仮想トンネル技術では、仮想マシンは、仮想トンネルを終端するトンネルエンドポイント（以下、「ＴＥＰ」）を介して、対向するＴＥＰに接続された同一仮想ネットワークの仮想マシンと通信する。このような通信を実現するためには、仮想マシンが接続するＴＥＰを、当該仮想マシンに関連付けられた仮想ネットワークに参加させる（より厳密には、ＴＥＰを該当ＶＮＩのマルチキャストグループに参加させる）ための設定が必要となる。【０００８】
仮想化環境においては、サービス需要に応じて仮想マシンが立ち上げられたり、さらには、仮想マシンが他の仮想化サーバに移行（マイグレーション）したりするため、非特許文献１又は２に記載のＶＸＬＡＮやＮＶＧＲＥに準拠した仮想トンネルにより仮想マシン同士が通信する場合に、ＴＥＰを仮想ネットワークに参加させる（接続する）ための設定や、当該設定した情報の管理が煩雑になってしまうという問題点がある。【０００９】
本発明は、仮想トンネルを用いて構成された仮想ネットワークにおけるＴＥＰと仮想ネットワーク間の接続設定や管理の容易化に貢献できる制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の視点によれば、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する接続検出部と、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する仮想ネットワーク特定部と、前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるトンネルエンドポイント制御部と、を備える制御装置が提供される。【００１１】
第２の視点によれば、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する接続検出部と、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する仮想ネットワーク特定部と、前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるトンネルエンドポイント制御部と、を備える制御装置と、前記制御装置によって制御されるトンネルエンドポイントと、を含む通信システムが提供される。【００１２】
第３の視点によれば、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントを制御する制御装置が、前記トンネルエンドポイントに、新規に仮想マシンが接続されたことを検出するステップと、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定するステップと、前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させるステップと、を含むトンネルエンドポイントの制御方法が提供される。本方法は、トンネルエンドポイントを制御する制御装置という、特定の機械に結びつけられている。【００１３】
本発明の第４の視点によれば、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイントを制御するコンピュータに、前記トンネルエンドポイントに、新規に仮想マシンが接続されたことを検出する処理と、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシンが属する仮想ネットワークを特定する処理と、前記トンネルエンドポイントが前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させる処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、仮想トンネルを用いて構成された仮想ネットワークにおけるＴＥＰと仮想ネットワーク間の接続設定や管理の容易化に貢献できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の制御装置の詳細構成を示す機能ブロック図である。
【図４】本発明の第１の実施形態の制御装置のＶＭ−ＴＥＰ接続状態記憶部に保持される情報の一例である。
【図５】本発明の第１の実施形態の制御装置のＶＭ−仮想ＮＷ関係記憶部に保持される情報の一例である。
【図６】本発明の第１の実施形態の制御装置の仮想ＮＷ−ＴＥＰ接続状態記憶部に保持される情報の一例である。
【図７】図２のＴＥＰ−２に新規ＶＭ７が接続した状態を示す図である。
【図８】ＶＭ７の接続によりＶＭ−ＴＥＰ接続状態記憶部に追加されるエントリを示す図である。
【図９】制御装置が新規ＶＭ７の所属仮想ネットワークを特定した状態を示す図である。
【図１０】制御装置が新規ＶＭ７のためにＴＥＰを所属仮想ネットワークに接続する状態を示す図である。
【図１１】ＴＥＰ−２の接続により仮想ＮＷ−ＴＥＰ接続状態記憶部に追加されるエントリを示す図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
本発明は、その一実施形態において、図１に示すように、仮想ネットワーク特定部１１と、接続検出部１２と、ＴＥＰ（トンネルエンドポイント）制御部１３と、を備える制御装置１０Ａにて実現できる。
【００１８】
より具体的には、接続検出部１２は、仮想ネットワークに属する仮想マシン間の通信に用いる仮想トンネルの終端ポイントとして機能するトンネルエンドポイント（例えば、図１のＴＥＰ−１）に、新規に仮想マシン（例えば、図１のＶＭ１）が接続されたことを検出する。なお、仮想マシンのＴＥＰへの接続を検出する方法としては、トンネルエンドポイントからその旨の通知を受ける方法や、仮想マシンや仮想スイッチの管理環境を提供する仮想ネットワークの管理システム等から通知を受け取る方法等、種々の方法を採ることができる。
【００１９】
次に、仮想ネットワーク特定部１１は、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記検出した仮想マシン（例えば、図１のＶＭ１）が属する仮想ネットワークを特定する。仮想ネットワーク特定の方法は、トンネルエンドポイントが保持している仮想マシンのＭＡＣアドレスとＶＮＩとの関係を管理するテーブルと同等のテーブル等を用いる方法や、トンネルエンドポイントからの仮想マシン検出通知にＶＮＩを含ませる方法等を用いることができる。
【００２０】
ＴＥＰ制御部１３は、新規仮想マシン（例えば、図１のＶＭ１）が接続しているトンネルエンドポイント（例えば、図１のＴＥＰ−１）が前記特定した仮想ネットワークに参加していない場合、前記特定した仮想ネットワークに前記トンネルエンドポイントを参加させる。具体的には、トンネルエンドポイントに、前記特定した仮想ネットワークに構成されたマルチキャストグループへの参加（ＪＯＩＮ）を指示する処理が行われる。
【００２１】
以上により、仮想マシンのトンネルエンドポイントへの接続を契機としたトンネルエンドポイントの設定が自動化される。
【００２２】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、物理ネットワーク（物理ＮＷ）と、この物理ＮＷを用いて論理分割された仮想ネットワーク（仮想ＮＷ＃１〜＃３）と、仮想ＮＷ＃１〜＃３上に仮想トンネルを構成するトンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３と、これらトンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３に接続可能なＶＭ１〜ＶＭ６と、トンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３を制御する制御装置１０が示されている。
【００２３】
仮想ＮＷ＃１〜＃３は、トンネルエンドポイントを利用することで、それぞれのＶＭが、自身の属する仮想ネットワークの識別子等を知らなくとも、同一のトンネルエンドポイント又は他のトンネルエンドポイントに接続されたＶＭと通信可能となっている非特許文献１、２のＶＸＬＡＮ、ＮＶＧＲＥ、ＳＴＴやこれらと同等の方式を用いて論理的に分割されたネットワークである。
【００２４】
トンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３は、制御装置１０から制御される物理スイッチや仮想スイッチ等により構成され、仮想ＮＷを挟んで対向するトンネルエンドポイントとの間に仮想トンネルを構成する。トンネルプロトコルとしては、非特許文献１、２のＶＸＬＡＮ、ＮＶＧＲＥ、ＳＴＴやこれらと同等のプロトコルを用いることができる。
【００２５】
ＶＭ１〜ＶＭ６は、図示省略するハイパーバイザ等により管理され、仮想化サーバ等上で動作する。上記トンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３が物理スイッチである場合、ＶＭ１〜ＶＭ６は、前記仮想化サーバ上に設けられた仮想スイッチを介して、トンネルエンドポイントＴＥＰ−１〜ＴＥＰ−３に接続することになる。なお、図２のＶＭ１〜ＶＭ６に併記した番号＃１〜＃３は、ＶＭ１〜ＶＭ６がそれぞれ属する仮想ネットワークを示している。
【００２６】
図３は、本発明の第１の実施形態の制御装置の詳細構成を示す機能ブロック図である。図３を参照すると、仮想ネットワーク特定部１１と、接続検出部１２と、ＴＥＰ制御部１３と、ＶＭ−仮想ＮＷ対応関係記憶部（第２の記憶部）１４と、ＶＭ−ＴＥＰ接続状態記憶部（第１の記憶部）１５と、ＴＥＰ参加状態記憶部（第３の記憶部）１６と、を備える構成が示されている。
【００２７】
図４は、本実施形態の制御装置のＶＭ−ＴＥＰ接続状態記憶部１５に保持される情報の一例である。図４の例では、図２に示したとおり、ＶＭ１、ＶＭ２がトンネルエンドポイントＴＥＰ−１に接続されていることを示すエントリが格納されている。同様に、ＶＭ３、ＶＭ４がトンネルエンドポイントＴＥＰ−２に接続され、ＶＭ５、ＶＭ６がトンネルエンドポイントＴＥＰ−３に接続されていることを示すエントリが格納されている。
【００２８】
接続検出部１２は、新規ＶＭのＴＥＰへの接続を検出すると、ＶＭ−ＴＥＰ接続状態記憶部１５に該当するエントリを追加して、その旨を仮想ネットワーク特定部１１に通知する。また、ＶＭのＴＥＰからの離脱や移動を検出すると、接続検出部１２は、ＶＭ−ＴＥＰ接続状態記憶部１５に該当するエントリを削除して、その旨を仮想ネットワーク特定部１１に通知する。
【００２９】
制御装置１０がＶＭのＴＥＰへの接続を検出する方法としては、先に述べたＴＥＰからその旨の通知を受ける方法や、仮想マシンや仮想スイッチの管理環境を提供する仮想ネットワークの管理システム等から通知を受け取る方法等のほか、ＶＭの管理者やサービサから通知を受ける方法や、ＶＭから送信されたパケットを分析して、その特徴や識別子に基づき判定する方法等の方法を採ることもできる。
【００３０】
また制御装置１０がＶＭのＴＥＰへの接続を検出する方法として、仮想マシンを管理する別の装置（例えば、仮想マシン管理装置、又は制御装置及び仮想マシン管理装置を管理する上位装置）から、制御装置１０の接続検出部１２が、ＶＭのＴＥＰへの接続通知を受ける方法も採用可能である。また、仮想マシン自体に、ＴＥＰ接続時に、制御装置１０に対し、ＴＥＰへの接続を通知する機能を追加してもよい。
【００３１】
また、ＴＥＰが非特許文献３、４のオープンフロースイッチで構成されている場合、ＶＭからのパケットを制御装置１０に送信する制御情報（フローエントリ）を設定しておく方法も採用できる。パケットを制御装置１０に送信する仕組みとしては、ＶＭからのパケットを受信すると制御装置１０と接続するポートから当該パケットを出力するような制御情報（フローエントリ）を設定しておくことでもよいし、オープンフロースイッチがオープンフローコンローラに対し、制御情報（フローエントリ）の送信を要求するＰａｃｋｅｔ−Ｉｎメッセージを送信する仕組みを用いてもよい。
【００３２】
図５は、本実施形態の制御装置のＶＭ−仮想ＮＷ対応関係記憶部１４に保持される情報の一例である。図５の例では、図２に示したとおり、ＶＭ１、ＶＭ４、ＶＭ５が仮想ネットワーク＃１に属し、ＶＭ２、ＶＭ６、ＶＭ７が仮想ネットワーク＃３に属し、ＶＭ３が仮想ネットワーク＃２に属しているとの対応関係を示すエントリが格納されている。なお、図５に示したようなＶＭ−仮想ＮＷ対応関係として、ＴＥＰが受信パケットの転送先を判定するために保持しているＶＭのＭＡＣアドレスとＶＮＩ（ＴＮＩ）の対応を示すマッピング情報を各ＴＥＰから入手して用いることもできる（非特許文献１の「４．１．  Ｕｎｉｃａｓｔ  ＶＭ  ｔｏ  ＶＭ  ｃｏｍｍｕｎｉｃａｔｉｏｎ」参照）。
【００３３】
仮想ネットワーク特定部１１は、接続検出部１２から新規ＶＭの接続通知を受けると、ＶＭ−仮想ＮＷ対応関係記憶部１４を参照して、新規ＶＭが属すべき仮想ネットワークを特定し、その結果をＴＥＰ制御部１３に通知する。仮想ネットワーク特定部１１は、接続検出部１２からＶＭの離脱通知を受けると、ＶＭ−仮想ＮＷ対応関係記憶部１４を参照して、新規ＶＭが属すべき仮想ネットワークを特定し、その旨をＴＥＰ制御部１３に通知する。
【００３４】
ＴＥＰ制御部１３は、仮想ネットワーク特定部１１からＶＭの接続又は離脱と、前記特定した仮想ネットワークの通知を受けると、ＴＥＰ参加状態記憶部１６を参照し、ＴＥＰの仮想ネットワークへの参加要否を判定し、その結果に応じてＴＥＰの制御を行う。例えば、ＴＥＰ制御部１３は、新規ＶＭの接続通知を受けた場合、図６に示すような仮想ネットワークとＴＥＰとの接続状態を参照して、新規に検出されたＶＭが接続するＴＥＰが、該当する仮想ネットワークに参加していない場合には、新規に検出されたＶＭが接続するＴＥＰを、該当する仮想ネットワークに構成されたマルチキャストグループに参加（ＪＯＩＮ）させる処理を行う。また例えば、ＴＥＰ制御部１３は、前記ＶＭの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなっている場合、ＶＭが離脱したＴＥＰに、該当する仮想ネットワークのマルチキャストグループから脱退（ＬＥＡＶＥ）させる処理を行う。また、ＴＥＰ制御部１３は、前記ＴＥＰの仮想ネットワークへの参加、脱退に応じて、ＴＥＰ参加状態記憶部１６の内容を更新する。
【００３５】
前記マルチキャストグループへの参加、脱退は、例えば、ＶＸＬＡＮの場合、マルチキャストグループを管理するルータ等に、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）のメッセージ（ＪＯＩＮ／ＬＥＡＶＥ）を送信することによって行われる（非特許文献１の「４．２  Ｂｒｏａｄｃａｓｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ  ｔｏ  Ｍｕｌｔｉｃａｓｔ」参照）。もちろん、その他のマルチキャストグループの管理プロトコルを用いることもできる。
【００３６】
なお、図３の構成では説明のため、ＶＭ−仮想ＮＷ対応関係記憶部１４、ＶＭ−ＴＥＰ接続状態記憶部１５及びＴＥＰ参加状態記憶部１６をそれぞれ独立させた構成としているが、これらを統合したデータベース等を設けてもよい。また、仮想ネットワーク特定部１１、接続検出部１２及びＴＥＰ制御部１３についても適宜統合することが可能である。
【００３７】
続いて、本実施形態の動作について図面を参照して説明する。以下、図２の状態から、新規にＶＭがＴＥＰに接続した例を挙げて説明する。
【００３８】
図７は、図２の状態から、ＶＭ７が立ち上げられて、ＴＥＰ−２に接続した状態を示す図である。制御装置１０の接続検出部１２は、ＶＭ７のＴＥＰ−２への接続を検出すると、図８に示すように、ＶＭ−ＴＥＰ接続状態記憶部１５に、ＶＭ７とＴＥＰ−２とを対応付けたエントリを追加し、仮想ネットワーク特定部１１に通知する（ステップＳ００１）。
【００３９】
次に、仮想ネットワーク特定部１１は、ＶＭ−仮想ＮＷ対応関係記憶部１４を参照して、ＴＥＰ−２に接続したＶＭ７が属する仮想ネットワークを特定する。図５の例では、ＶＭ７は、仮想ネットワーク＃３に対応付けられているので、仮想ネットワーク特定部１１は、図９に示すように、ＶＭ７が属する仮想ネットワークとして、仮想ネットワーク＃３を特定する（ステップＳ００２）。仮想ネットワーク特定部１１は、ＴＥＰ制御部１３に対し、仮想ネットワーク＃３に属するＶＭ７がＴＥＰ−２に接続したことを通知する。
【００４０】
前記通知を受けたＴＥＰ制御部１３は、ＴＥＰ参加状態記憶部１６を参照して、ＴＥＰ−２が仮想ネットワーク＃３に参加済みであるか否かを判定する。判定の結果、ＴＥＰ−２が仮想ネットワーク＃３に未参加である場合、ＴＥＰ制御部１３は、図１０に示すように、ＴＥＰ−２を仮想ネットワーク＃３に参加させる処理を行う（ステップＳ００３）。また、ＴＥＰ制御部１３は、図１１に示すように、ＴＥＰ参加状態記憶部１６に、ＴＥＰ−２と仮想ネットワーク＃３とを対応付けたエントリを追加する。
【００４１】
その後、例えば、ＶＭ７がＴＥＰ−２から離脱すると、制御装置１０の接続検出部１２は、ＶＭ７のＴＥＰ−２からの離脱を検出すると、図４に示すように、ＶＭ−ＴＥＰ接続状態記憶部１５から、ＶＭ７とＴＥＰ−２とを対応付けたエントリを削除し、仮想ネットワーク特定部１１に通知する。
【００４２】
次に、仮想ネットワーク特定部１１は、ＶＭ−仮想ＮＷ対応関係記憶部１４を参照して、ＴＥＰ−２から離脱したＶＭ７が属する仮想ネットワークを特定する。図５の例では、ＶＭ７は、仮想ネットワーク＃３に対応付けられているので、仮想ネットワーク特定部１１は、ＴＥＰ制御部１３に対し、仮想ネットワーク＃３に属するＶＭ７がＴＥＰ−２から離脱したことを通知する。
【００４３】
前記通知を受けたＴＥＰ制御部１３は、ＶＭ−ＴＥＰ接続状態記憶部１５及びＴＥＰ参加状態記憶部１６を参照して、ＶＭ７の離脱により、ＴＥＰ−２を介して仮想ネットワーク＃３に接続するＶＭが存在するか否かを判定する。判定の結果、ＴＥＰ−２を介して仮想ネットワーク＃３に接続するＶＭがなくなっている場合、ＴＥＰ制御部１３は、ＴＥＰ−２を仮想ネットワーク＃３から脱退させる処理を行う。また、ＴＥＰ制御部１３は、図６に示すように、ＴＥＰ参加状態記憶部１６から、ＴＥＰ−２と仮想ネットワーク＃３とを対応付けたエントリを削除する。
【００４４】
以上のように、ＶＭのＴＥＰからの接続又は離脱と連動したＴＥＰの仮想ネットワークの参加又は脱退が実行される。この結果、ＴＥＰと仮想ネットワーク間の接続設定や煩雑な管理が不要となり、ネットワーク管理者の負担が軽減される。
【００４５】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成や、要素の数に制約は無い。
【００４６】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態の制御装置において、
前記接続検出部は、前記仮想マシンのトンネルエンドポイントからの離脱を検出すると、前記仮想ネットワーク特定部に対し、前記仮想マシンのトンネルエンドポイントからの離脱を通知し、
仮想ネットワーク特定部は、仮想マシンと仮想ネットワークとを対応付けた情報に基づいて、前記離脱した仮想マシンが属する仮想ネットワークを特定して、前記トンネルエンドポイント制御部に対し、前記離脱した仮想マシンが属する仮想ネットワークと、前記仮想マシンが接続していたトンネルエンドポイントとを通知し、
前記トンネルエンドポイント制御部は、前記仮想マシンの離脱により、当該トンネルエンドポイントを介して前記特定した仮想ネットワークに接続する仮想マシンがなくなった場合に、前記トンネルエンドポイントを、前記特定した仮想ネットワークから脱退させる制御装置。
［第３の形態］
第１又は第２の形態の制御装置において、
さらに、
前記トンネルエンドポイントに接続している仮想マシンを記憶する第１の記憶部と、
前記仮想マシンと仮想ネットワークとの対応関係を記憶する第２の記憶部と、
前記各トンネルエンドポイントが参加している仮想ネットワークを記憶する第３の記憶部とを備え、
前記第３の記憶部を参照して、前記新規に仮想マシンが接続したトンネルエンドポイントが前記特定した仮想ネットワークに参加しているか否かを判定する制御装置。
［第４の形態］
第１〜第３いずれか一の形態の制御装置において、
前記接続検出部は、前記新規に接続した仮想マシンが動作する仮想化サーバからの報告により、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する制御装置。
［第５の形態］
第１〜第３いずれか一の形態の制御装置において、
前記トンネルエンドポイントを構成するスイッチに、仮想マシンからのパケットに基づいて、前記仮想マシンが接続されたことを通知させる制御情報を設定することにより、前記仮想マシンがトンネルエンドポイントに接続されたことを検出する制御装置。
［第６の形態］
（上記第２の視点による通信システム参照）
［第７の形態］
（上記第３の視点によるトンネルエンドポイントの制御方法参照）
［第８の形態］
（上記第４の視点によるプログラム参照）
なお、上記第６〜第８の形態は、第１の形態と同様に、第２〜第５の形態に展開することが可能である。
【００４７】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００４８】
１０、１０Ａ  制御装置
１１  仮想ネットワーク特定部
１２  接続検出部
１３  ＴＥＰ制御部
１４  ＶＭ−仮想ＮＷ対応関係記憶部（第２の記憶部）
１５  ＶＭ−ＴＥＰ接続状態記憶部（第１の記憶部）
１６  ＴＥＰ参加状態記憶部（第３の記憶部）
ＴＥＰ−１〜ＴＥＰ−３  トンネルエンドポイント
ＶＭ１〜ＶＭ６  仮想マシン
【図１】
2014106945.tif 000003
【図２】
2014106945.tif 000004
【図３】
2014106945.tif 000005
【図４】
2014106945.tif 000006
【図５】
2014106945.tif 000007
【図６】
2014106945.tif 000008
【図７】
2014106945.tif 000009
【図８】
2014106945.tif 000010
【図９】
2014106945.tif 000011
【図１０】
2014106945.tif 000012
【図１１】
2014106945.tif 000013
【国際調査報告】
2014106945.tif 000014
2014106945.tif 000015