(57)【要約】      （修正有）【課題】ハイパーバイザの種類にかかわらず、ホストコンピュータの計算資源の消費を抑制して仮想マシンの通信を実現できるシステム、方法及び装置を提供する。【解決手段】ネットワーク仮想化システムは、通信ネットワーク１を介して接続された仮想ネットワークゲートウェイ装置２−１、２−２と、仮想ネットワークゲートウェイ装置にポート３−１〜３−４を介して接続されたホストコンピュータ４−１〜４−４を含む。管理装置１４は仮想化基盤管理装置１５を介して、ＶＬＡＮドメイン８−１〜８−３において仮想マシン６−１〜６−７にそれぞれ異なるＶＬＡＮ９−１〜９−７を割り当てる。仮想ネットワークゲートウェイ装置は、管理装置からの指示を受けてＶＬＡＮと仮想ネットワークをマッピングし、通信ネットワークを介して仮想ネットワークゲートウェイ装置間の仮想ネットワークを接続する。【選択図】図２
2016100739.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに設定されたゲートウェイ装置と、
前記ゲートウェイ装置に接続された物理計算機と、
前記物理計算機の計算機リソースを複数の仮想マシンに割り当てる仮想化部と、
前記物理計算機と前記仮想化部及びゲートウェイ装置を管理する管理計算機と、を有するネットワークシステムであって、
前記管理計算機は、
前記ネットワークを介して前記ゲートウェイ装置と他のゲートウェイ装置に接続された仮想ネットワークと、前記仮想ネットワークに接続されるＶＬＡＮと、を設定して前記ゲートウェイ装置を制御するネットワークマッピング部と、
前記ネットワークマッピング部の設定に基づいて前記仮想化部を制御する仮想化管理部と、を有し、
前記仮想化部は、
前記仮想マシンに接続された仮想ポートと、
前記仮想ポートと前記ゲートウェイ装置を接続するＶＬＡＮを設定する仮想スイッチと、を有し、
前記ゲートウェイ装置は、
前記ネットワークマッピング部の指令に基づいて、前記ＶＬＡＮと前記仮想ネットワークの通信を相互に変換し、当該仮想ネットワークを介して接続された他のゲートウェイ装置との間で通信を行うことを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記ゲートウェイ装置は、
１以上の前記ＶＬＡＮを、ひとつの仮想ネットワークに接続し、前記ＶＬＡＮと仮想ネットワークの間で相互に通信を変換する中間インタフェースを含むことを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記仮想スイッチは、
複数の前記仮想ポートに異なるＶＬＡＮを割り当てて、スイッチング処理を前記ゲートウェイ装置へオフロードすることを特徴とするネットワークシステム。
【請求項４】
請求項３に記載のネットワークシステムであって、
前記ネットワークマッピング部は、
前記スイッチング処理のオフロードの設定要求を受け付けると、該当する仮想スイッチの複数の仮想ポートに割り当てる異なるＶＬＡＮを前記仮想化管理部を介して前記仮想化部へ指令し、
前記仮想化部は、
前記指令に基づいて前記仮想スイッチの複数の仮想ポートに異なるＶＬＡＮを割り当てることを特徴とするネットワークシステム。
【請求項５】
請求項１に記載のネットワークシステムであって、
前記物理計算機は、複数の物理計算機を含んで、各物理計算機で前記仮想化部それぞれ稼働して複数の仮想マシンを稼働させ、
前記仮想化管理部は、
前記仮想マシンを異なる物理計算機へ移動する指令を受け付けると、移動対象の仮想マシンを移動先の物理計算機の仮想化部へ移動した後に、前記仮想マシンの移動先の仮想スイッチに、仮想ポートとＶＬＡＮを割り当てるよう前記仮想化部へ指令し、
前記ＶＬＡＮは、移動前のＶＬＡＮが接続していたローカル仮想ネットワークに接続されることを特徴とするネットワークシステム。
【請求項６】
請求項５に記載のネットワークシステムであって、
前記ネットワークマッピング部は、
前記仮想マシンの移動先の仮想スイッチに、移動先の仮想ポートには、移動元の仮想ポートの識別子と同一の識別子を割り当てることを特徴とするネットワークシステム。
【請求項７】
請求項１に記載のネットワークシステムであって、
前記他のゲートウェイ装置は、
前記ゲートウェイ装置が配置されたデータセンタとは異なるデータセンタに配置されたことを特徴とするネットワークシステム。
【請求項８】
ネットワークに設定されたゲートウェイ装置と、前記ゲートウェイ装置に接続された物理計算機と、前記物理計算機の計算機リソースを複数の仮想マシンに割り当てる仮想化部と、前記物理計算機と前記仮想化部及びゲートウェイ装置を管理する管理計算機で、前記ネットワークを管理するネットワークシステムの管理方法であって、
前記管理計算機のネットワークマッピング部が、前記ネットワークを介して前記ゲートウェイ装置と他のゲートウェイ装置に接続された仮想ネットワークと、前記仮想ネットワークに接続されるＶＬＡＮと、を設定して前記ゲートウェイ装置を制御する第１のステップと、
前記管理計算機の仮想化管理部が、前記ネットワークマッピング部の設定に基づいて前記仮想化部を制御する第２のステップと、
前記仮想化部が、前記仮想化管理部の指令に基づいて前記仮想マシンに接続された仮想ポートと、前記仮想ポートと前記ゲートウェイ装置を接続するＶＬＡＮを設定する仮想スイッチとを割り当てる第３のステップと、
前記ゲートウェイ装置が、前記ネットワークマッピング部の指令に基づいて、前記ＶＬＡＮと前記仮想ネットワークの通信を相互に変換し、当該仮想ネットワークを介して接続された他のゲートウェイ装置との間で通信を行う第４のステップと、
を含むことを特徴とするネットワークシステムの管理方法。
【請求項９】
請求項８に記載のネットワークシステムの管理方法であって、
前記第４のステップは、
前記ゲートウェイ装置の中間インタフェースによって１以上の前記ＶＬＡＮを、ひとつのローカル仮想ネットワークに接続し、前記ＶＬＡＮと仮想ネットワークの間で相互に通信を変換することを特徴とするネットワークシステムの管理方法。
【請求項１０】
請求項９に記載のネットワークシステムの管理方法であって、
前記第３のステップは、
前記仮想スイッチが、複数の前記仮想ポートに異なるＶＬＡＮを割り当てて、スイッチング処理を前記ゲートウェイ装置へオフロードすることを特徴とするネットワークシステムの管理方法。
【請求項１１】
請求項１０に記載のネットワークシステムの管理方法であって、
前記第１のステップは、
前記ネットワークマッピング部が前記スイッチング処理のオフロードの設定要求を受け付けると、該当する仮想スイッチの複数の仮想ポートに割り当てる異なるＶＬＡＮを前記仮想化管理部を介して前記仮想化部へ指令し、
前記第３のステップは、
前記指令に基づいて前記仮想スイッチの複数の仮想ポートに異なるＶＬＡＮを割り当てることを特徴とするネットワークシステムの管理方法。
【請求項１２】
請求項８に記載のネットワークシステムの管理方法であって、
前記物理計算機は、複数の物理計算機を含んで、各物理計算機で前記仮想化部それぞれ稼働して複数の仮想マシンを稼働させ、
前記第２のステップは、
前記仮想マシンを異なる物理計算機へ移動する指令を受け付けると、移動対象の仮想マシンを移動先の物理計算機の仮想化部へ移動した後に、前記仮想マシンの移動先の仮想スイッチに、仮想ポートとＶＬＡＮを割り当てるよう前記仮想化部へ指令し、
前記ＶＬＡＮは、移動前のＶＬＡＮが接続していたローカル仮想ネットワークに接続されることを特徴とするネットワークシステムの管理方法。
【請求項１３】
請求項１２に記載のネットワークシステムの管理方法であって、
前記第２のステップは、
前記仮想マシンの移動先の仮想スイッチに、移動先の仮想ポートには、移動元の仮想ポートの識別子と同一の識別子を割り当てることを特徴とするネットワークシステムの管理方法。
【請求項１４】
請求項８に記載のネットワークシステムの管理方法であって、
前記他のゲートウェイ装置は、
前記ゲートウェイ装置が配置されたデータセンタとは異なるデータセンタに配置されたことを特徴とするネットワークシステムの管理方法。
【請求項１５】
ネットワークに設定されたゲートウェイ装置であって、
前記ゲートウェイ装置は、
ネットワークを介して他のゲートウェイ装置に接続された仮想ネットワークと、
前記仮想ネットワークに接続されるＶＬＡＮと、を有し、
１以上の前記ＶＬＡＮを、ひとつの仮想ネットワークに接続し、前記ＶＬＡＮと仮想ネットワークの間で相互に通信を変換する中間インタフェースを含むことを特徴とするゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク装置を介して複数の仮想マシンが接続されたデータセンタのネットワークに関する。
【背景技術】
【０００２】
近年、個人や企業、組織において、計算機資源やアプリケーションを柔軟且つ安価に活用するために、クラウドサービス等の用途でのデータセンタの利用が進展している。
【０００３】
このようなデータセンタにおいては、ネットワークを介して多数のホストコンピュータやストレージ、アプライアンス（ファイアウォールやロードバランサ、管理装置等）といったリソースが、時には一つ以上のデータセンタにまたがって接続されている。
【０００４】
また、これらのリソースを迅速且つ安価に利用者に提供すべく、サーバ仮想化技術等を用いてリソースを集約し、リソース利用率の向上やリソースのモビリティ向上を行うことが一般的である。
【０００５】
データセンタにおいては、同じ利用者のリソース間を接続する一方で、利用者毎にリソースを分離する必要があり、従来はＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と呼ばれる、通信パケットに識別子を付与することでネットワークを論理的に分離する技術を用いて、リソース間の接続と分離が行われてきた。
【０００６】
しかし、サーバ仮想化技術によるリソース集約が進展したことで、ＶＬＡＮの不足が課題となっている。
【０００７】
さらにサーバ仮想化環境においては、仮想マシンがホストコンピュータ上にソフトウェアとして実装された仮想スイッチに接続されることから、特に仮想マシン間の通信の性能確保や監視が課題となっている。
【０００８】
このような、ＶＬＡＮの不足や仮想マシン間通信の性能確保、監視といったデータセンタにおける課題に対応するために、様々な解決方法が考案されてきた。
【０００９】
ＶＬＡＮの不足に対しては、ネットワーク仮想化技術が考案されている。例えば特許文献１や特許文献２、特許文献３においては、ホストコンピュータ上の仮想スイッチで仮想マシンの通信をカプセル化するネットワーク仮想化手法が記載されている。
【００１０】
次に仮想マシン間通信の性能確保や監視については、仮想マシン間通信のスイッチング処理を物理ネットワーク装置で行う（以下、ハードウェアオフロードあるいは単にオフロードと呼称する）ことで、仮想マシン間の通信の高性能化やネットワーク統合監視を実現する手法が考案されており、例えば特許文献４や非特許文献１にオフロード手法が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願公開第２０１３／００５８２１５号明細書
【特許文献２】米国特許７５１５５８９号明細書
【特許文献３】米国特許８２２３７７０号明細書
【特許文献４】国際公開第２００７／１４６２７４号
【非特許文献】
【００１２】
【非特許文献１】ＩＥＥＥ  Ｐ８０２．１Ｑｂｇ／Ｄ２．２
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１〜４及び非特許文献１で開示されているような手法のいずれか、あるいは全てを組み合わせても、ハイパーバイザ等のサーバ仮想化部の有無や種類を問わず、高性能且つ高信頼なネットワーク仮想化を実現できない。
【００１４】
具体的には、例えば特許文献１や特許文献２、特許文献３で開示されているようなネットワーク仮想化手法については、仮想マシンの通信をホストコンピュータ上にソフトウェアとして実装された仮想スイッチで行うため、サーバ仮想化環境でのみ利用可能である。また、ハイパーバイザ等のサーバ仮想化部の種類によってネットワーク仮想化方式が異なり得る。実環境においては、サーバ仮想化を利用しない場合や、複数の種類のハイパーバイザを利用する場合があり、このようなネットワーク仮想化手法は多様な環境に対応できない。さらにこのようなネットワーク仮想化は、ホストコンピュータの計算資源が消費されることから、性能要件が厳しい用途には対応できない。
【００１５】
また特許文献４や非特許文献１で開示されているようなオフロード手法については、ホストコンピュータ上でサーバ仮想化を実現するハイパーバイザ等の仮想化部において、仮想マシン間の通信をオフロードする仕組みが必要であり、ハイパーバイザが当該機能をサポートしない場合にはオフロードすることができない。現在市場で一般的に用いられているハイパーバイザ製品では当該機能をサポートしない場合があることから、このようなオフロードは一般的に利用できない状態である。
【００１６】
以上のことから、これまでのデータセンタにおいては、ハイパーバイザ等のサーバ仮想化部の有無や種類を問わず、高性能且つ高信頼にネットワーク仮想化を実現できないという課題があった。
【００１７】
そこで、本発明は、ハイパーバイザ等の仮想化部の種類に係わらす、ホストコンピュータの計算資源の消費を抑制して仮想マシンの通信を行うことを目的とする。
【課題を解決するための手段】
【００１８】
本発明は、ネットワークに設定されたゲートウェイ装置と、前記ゲートウェイ装置に接続された物理計算機と、前記物理計算機の計算機リソースを複数の仮想マシンに割り当てる仮想化部と、前記物理計算機と前記仮想化部及びゲートウェイ装置を管理する管理計算機と、を有するネットワークシステムであって、前記管理計算機は、前記ネットワークを介して前記ゲートウェイ装置と他のゲートウェイ装置に接続された仮想ネットワークと、前記仮想ネットワークに接続されるＶＬＡＮと、を設定して前記ゲートウェイ装置を制御するネットワークマッピング部と、前記ネットワークマッピング部の設定に基づいて前記仮想化部を制御する仮想化管理部と、を有し、前記仮想化部は、前記仮想マシンに接続された仮想ポートと、前記仮想ポートと前記ゲートウェイ装置を接続するＶＬＡＮを設定する仮想スイッチと、を有し、前記ゲートウェイ装置は、前記ネットワークマッピング部の指令に基づいて、前記ＶＬＡＮと前記仮想ネットワークの通信を相互に変換し、前記仮想ネットワークに接続された他のゲートウェイ装置との間で通信を行う。
【発明の効果】
【００１９】
したがって、本発明によれば、仮想化部の種類に係わらす、ホストコンピュータの計算資源の消費を抑制して仮想マシンの通信を実現することで、高性能且つ高信頼な仮想ネットワークを実現することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例を示し、データセンタとネットワークの関係を示すブロック図である。
【図２】本発明の実施例を示し、ネットワーク仮想化システムの全体構成及び概念の一例を示すブロック図である。
【図３】本発明の実施例を示し、管理装置や仮想ネットワークゲートウェイ装置、仮想化基盤管理装置、ホストコンピュータ、ネットワーク装置、ポータルのハードウェアの構成を示すブロック図である。
【図４】本発明の実施例を示し、管理装置の構成の一例を示すブロック図である。
【図５】本発明の実施例を示し、ネットワークマッピングテーブルの一例を示す図である。
【図６】本発明の実施例を示し、構成情報テーブルの一例を示す図である。
【図７】本発明の実施例を示し、オフロード要否判定テーブルの一例を示す図である。
【図８】本発明の実施例を示し、仮想ネットワーク通信のデータ構造の一例を示す図である。
【図９】本発明の実施例を示し、仮想ネットワーク追加要求のデータ構造の一例を示す図である。
【図１０】本発明の実施例を示し、ネットワークマッピングを指示するデータ構造の一例を示す図である。
【図１１】本発明の実施例を示し、ネットワーク仮想化システムで行われる処理の一例を示すシーケンス図である。
【図１２】本発明の実施例を示し、仮想ネットワークの生成あるいは削除処理の一例を示すフローチャートである。
【図１３】本発明の実施例を示し、仮想ネットワークへの仮想マシンの接続あるいは切断処理の一例を示すフローチャートである。
【図１４】本発明の実施例を示し、仮想ネットワークのハードウェアオフロード要否の変更処理の一例を示すフローチャートである。
【図１５】本発明の実施例を示し、仮想マシンの移動処理の一例を示すフローチャートである。
【図１６】本発明の実施例を示し、ハードウェアオフロードの一例を示すシーケンス図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を説明する。なお、これにより本発明が限定されるものではない。
【００２２】
図１は、本発明を適用するネットワーク仮想化システムの想定環境の一例を示すブロック図である。ネットワーク仮想化システムは、一つ以上のリソース３４０１から成る一つ以上のデータセンタ３４００−１〜３４００−ｎによって構成される計算機システムである。
【００２３】
リソース３４０１は、例えばホストコンピュータやストレージ、アプライアンス（ファイアウォールやロードバランサ、管理装置等）といった計算機である。
【００２４】
データセンタ３４００−１〜３４００−ｎは、多数のリソース３４０１が設置された、例えば建物や建物内のフロア、フロア内の区域、あるいはラック等である。なお、以下では、データセンタの総称を「−」のない符号３４００で表す。なお、他の構成要素の符号も同様であり、総称を「−」のない符号で表し、個々を特定するときには添え字を付す物とする。
【００２５】
データセンタ３４００においては、リソース３４０１はデータセンタ内ネットワーク３４０２に接続されている。データセンタ内ネットワーク３４０２は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００２６】
データセンタ３４００はまた、データセンタ間ネットワーク３４０３に接続されている。データセンタ間ネットワーク３４０３は、例えばＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットである。
【００２７】
図２は、ネットワーク仮想化システムの全体構成の一例を示すブロック図である。
【００２８】
ネットワーク仮想化システムは、一つ以上の通信ネットワーク１を介して接続された一つ以上の仮想ネットワークゲートウェイ装置２−１、２−２と、仮想ネットワークゲートウェイ装置２に一つ以上のポート３−１〜３−４を介して、直接あるいはさらに一つ以上のネットワーク装置１１を介して接続された一つ以上のホストコンピュータ（物理計算機）４−１〜４−４等のリソースと、を含む。
【００２９】
また、ネットワーク仮想化システムは、ホストコンピュータ４上で稼働し、仮想ネットワークゲートウェイ装置２あるいはネットワーク装置１１に接続された一つ以上の仮想スイッチ４０−１〜４０−４と、ホストコンピュータ４上で稼働し、一つ以上の仮想ポート５−１、５−２、５−４〜５−７あるいは一つ以上の仮想ポートグループ５−３を介して仮想スイッチ４０に接続された一つ以上の仮想マシン６−１〜６−７を含んで良い。ネットワーク仮想化システムは、サーバ仮想化技術を適用していないホストコンピュータ４を含むことも出来る。以下の実施例ではホストコンピュータ４にサーバ仮想化技術を適用する場合を示す。
【００３０】
ネットワーク仮想化システムは、さらに、ホストコンピュータ４や仮想マシン６が接続された一つ以上のＶＬＡＮが所属する一つ以上のＶＬＡＮドメイン８−１〜８−３と、ホストコンピュータ４やホストコンピュータ４上の仮想スイッチ４０と、仮想ポート５と、仮想マシン６を管理する仮想化基盤管理装置１５と、仮想ネットワークゲートウェイ装置２が有する連携ＩＦ２３−１、２３−２を介して仮想ネットワークゲートウェイ装置２を管理し、仮想化基盤管理装置１５と連携してホストコンピュータ４やホストコンピュータ４上の仮想スイッチ４０と、仮想ポート５と、仮想マシン６を管理する管理装置１４と、利用者が操作する端末１２を含む。
【００３１】
なお、管理装置１４は、仮想化基盤管理装置１５と仮想ネットワークゲートウェイ装置２にそれぞれ接続される。また、仮想化基盤管理装置１５はホストコンピュータ４−１〜４−４にそれぞれ接続される。
【００３２】
通信ネットワーク１は、仮想ネットワークゲートウェイ装置２によって仮想化された仮想マシン６の通信やホストコンピュータ４の通信を行うネットワークであり、図１に示したデータセンタ内ネットワーク３４０２あるいはデータセンタ間ネットワーク３４０３に相当し、一つ以上のデータセンタ３４００にまたがることができる。なお、以下の実施例では、仮想マシンゲートウェイ装置２の配下がひとつのデータセンタを構成する場合を示す。
【００３３】
仮想ネットワークゲートウェイ装置２は、管理装置１４からの指示を受けて、中間ＩＦ７０−１〜７０−４を介して、一つ以上のＶＬＡＮドメイン８の一つ以上のＶＬＡＮ９−１〜９−７間の接続と、一つ以上のＶＬＡＮドメイン８の一つ以上ＶＬＡＮ９と仮想ネットワーク１６間の接続を行うネットワーク装置である。なお、中間ＩＦ７０は、一つ以上のＶＬＡＮ９をひとつの仮想ネットワーク１６に接続し、ＶＬＡＮ９と仮想ネットワーク１６の間の通信を相互に変換する。中間ＩＦ７０は、ローカル仮想ネットワーク７（ＶＮＷ）を介してＶＬＡＮ９と仮想ネットワーク１６の間を相互に接続する事で、ある仮想ネットワークゲートウェイ装置２が他の仮想ネットワークゲートウェイ装置２との間で一意な仮想ネットワーク１６の識別情報を、当該仮想ネットワークゲートウェイ装置２内で一意な識別情報（ローカル仮想ネットワーク７）に変換する事も出来る。以下の実施例では、ローカル仮想ネットワーク７が存在する場合を例として示すが、本特許はこの構成に限られるものではなく、中間ＩＦ７０を介してＶＬＡＮ９を仮想ネットワーク１６にマッピングしてもよい。
【００３４】
ＶＬＡＮ９は通信パケットへの識別子の付与によりネットワークを論理的に分離する公知の技術であり、ＶＬＡＮドメイン８はＶＬＡＮ９の識別子を重複無く一意に付与可能な範囲である。
【００３５】
仮想ネットワークゲートウェイ装置２の中間ＩＦ７０−１〜７０−４は、例えばループバックインタフェースであり、仮想ネットワークゲートウェイ装置２内で論理的に定義されるインタフェースである。
【００３６】
仮想ネットワーク１６は、通信のカプセル化や識別子の付与等により通信を論理的に分離する手法であり、例えばＶＸＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＧＲＥ（Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）、ＮＶＧＲＥ（Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  ＧＲＥ）、ＳＴＴ（Ｓｔａｔｅｌｅｓｓ  Ｔｒａｎｓｐｏｒｔ  Ｔｕｎｎｅｌｉｎｇ）等のオーバーレイ仮想化や、スライシング等のホップバイホップ仮想化、ＰＢＢ（Ｐｒｏｖｉｄｅｒ  Ｂａｃｋｂｏｎｅ  Ｂｒｉｄｇｅ）、ＭＰＬＳ（Ｍｕｌｔｉｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）、Ｑ−ｉｎ−Ｑ、ＭＡＣ−ｉｎ−ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）等の公知の技術で実現できる。
【００３７】
ネットワーク装置１１は例えばレイヤ２スイッチやレイヤ３スイッチ、ルータ、ファイアウォール、ロードバランサ等である。なお、図２において、仮想ネットワークゲートウェイ装置２−２とホストコンピュータ４−４の間にネットワーク装置１１を配置した例を示したが、当該ネットワーク装置１１を削除した構成であっても良い。あるいは、他のホストコンピュータ４−１〜４−３と仮想ネットワークゲートウェイ装置２の間にネットワーク装置１１を配置しても良い。
【００３８】
ホストコンピュータ４−１では、ハイパーバイザ（仮想化部）４１−１が稼働する。ハイパーバイザ４１−１は、ホストコンピュータ４−１の計算機リソースを分割して仮想マシン６−１、６−２に割り当て、各仮想マシン６を稼働させる。また、ハイパーバイザ４１−１は、仮想マシン６−１，６−２に接続された仮想ポート５−１、５−２を提供し、仮想ポート５間の通信を制御する仮想スイッチ４０−１を提供する。また、ハイパーバイザ４１−１は、仮想化基盤管理装置１５等の指令に基づいて、仮想ポート５−１，５−２にそれぞれＶＬＡＮ９−１、９−２を割り当てることができる。
【００３９】
ここで、ホストコンピュータ４−２では、ハイパーバイザ４１−２が、仮想マシン６−３，６−４を接続する仮想ポートグループ５−３を提供し、仮想ポートグループ５−３間の通信を制御する仮想スイッチ４０−２を提供する。なお、ホストコンピュータ４−３、４−４は、ホストコンピュータ４−１と同様の構成である。
【００４０】
端末１２を操作する利用者は、例えば仮想マシン６を用いて業務システムを構築及び運用するクラウド利用者やテナント管理者、あるいはクラウド管理者である。
【００４１】
管理装置１４は、仮想化基盤管理装置１５を介して、個々のＶＬＡＮドメイン８において個々の仮想マシン６にそれぞれ異なるＶＬＡＮ９を割り当てる。
【００４２】
そして管理装置１４は、個々の仮想ネットワークゲートウェイ装置２において、中間ＩＦ７０を介して一つ以上のＶＬＡＮドメイン８の一つ以上のＶＬＡＮ９と仮想ネットワーク１６をマッピングし、通信ネットワーク１を介して仮想ネットワークゲートウェイ装置２−１、２−２間の仮想ネットワーク１６−１、１６−２を接続させる。
【００４３】
管理装置１４は、一つ以上のＶＬＡＮドメイン８や一つ以上のデータセンタ３４００にまたがって、ホストコンピュータ４やホストコンピュータ４上の仮想マシン６を接続する仮想ネットワーク１６を実現し、かつ、仮想マシン６間の通信のスイッチング処理を仮想スイッチ４０から仮想ネットワークゲートウェイ装置２にオフロード可能とする（ハードウェアオフロード）。
【００４４】
また管理装置１４は、利用者が操作する端末１２からの要求に応じて、仮想化基盤管理装置１５を介して同一のホストコンピュータ４上の一つ以上の仮想マシン６に同一のＶＬＡＮ８を割り当てることで、特定の仮想ネットワーク１６に接続された仮想マシン６が同一ホストコンピュータ４上に存在する場合に、当該仮想マシン６間の通信を仮想スイッチ４０でスイッチングするように変更可能とする。
【００４５】
さらに管理装置１４は、仮想化基盤管理装置１５を介して仮想マシン６−１の移動（マイグレーションなど）１８を検出し、移動元のホストコンピュータ４−１上で当該仮想マシン６−１が仮想スイッチ４０−１に接続されていた際の仮想ポート名（Ｐ）を用いて移動先のホストコンピュータ４−３上の仮想スイッチ４０−３に仮想ポート５−４（Ｐ）を生成する。移動対象の仮想マシン６−１には、移動元の仮想スイッチ４０が提供していた仮想ポート５−１の識別子（Ｐ）と同一の識別子（Ｐ）の仮想ポート５−４が割り当てられる。これにより、移動対象の仮想マシン６−１は設定を変更することなく移動先で稼働を継続することができる。
【００４６】
当該仮想ポート５−４に移動先のＶＬＡＮドメイン８−２で利用可能なＶＬＡＮ９を割り当て、当該ＶＬＡＮ９が移動前と同じ仮想ネットワーク１６に接続されるように、仮想ネットワークゲートウェイ装置２−２において中間ＩＦ７０を介して当該ＶＬＡＮ９と当該仮想ネットワーク１６を接続することで、
本発明のネットワーク仮想化システムでは、一つ以上のＶＬＡＮドメイン８及び一つ以上のデータセンタ３４００にまたがって、同じ仮想ネットワーク１６に接続された状態で、仮想マシン６を移動可能とする。
【００４７】
例えば図２においては、仮想マシン６−１は仮想ポートＰ（５−１）を介して仮想スイッチ４０−１に接続され、ＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｘ（９−１）に接続されている。
【００４８】
同様に仮想マシン６−２はＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｙ（９−２）に接続され、仮想マシン６−３と６−４は同一の仮想ポートグループＲ（５−３）を介して同一のＶＬＡＮ  Ｚ（９−３）に接続されている。
【００４９】
仮想マシン６−５はＶＬＡＮドメインＢ（８−２）のＶＬＡＮ  Ｘ（９−５）に接続される。仮想マシン６−６と６−７はそれぞれ、ＶＬＡＮドメインＣ（８−３）のＶＬＡＮ  Ｘ（９−６）とＶＬＡＮ  Ｙ（９−７）に接続されている。
【００５０】
ＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｘ（９−１）とＶＬＡＮ  Ｙ（９−２）は仮想スイッチ４０−１上で論理的に分離されているため、仮想スイッチ４０−１上では互いに接続されず、ＶＬＡＮ識別子を付与された状態でポートｗｗ（３−１）を介して仮想ネットワークゲートウェイ装置２−１に転送される。
【００５１】
仮想マシン６−３と６−４は仮想スイッチ４０−２上で同一ＶＬＡＮ  Ｚ（９−３）に接続されているため、仮想マシン６−３と６−４の間の通信は仮想スイッチ４０−２上でスイッチングされる。一方、ＶＬＡＮ  Ｚ（９−３）の通信はＶＬＡＮ識別子を付与された状態でポートｘｘ（３−２）を介して仮想ネットワークゲートウェイ装置２−１に転送される。
【００５２】
ＶＬＡＮドメインＢ（８−２）のＶＬＡＮ  Ｘ（９−５）はＶＬＡＮ識別子を付与された状態でポートｙｙ（３−３）を介して仮想ネットワークゲートウェイ装置２−２に転送される。
【００５３】
ＶＬＡＮドメインＣ（８−３）のＶＬＡＮ  Ｘ（９−６）とＶＬＡＮ  Ｙ（９−７）は仮想スイッチ４０−４上で論理的に分離されているため互いに接続されず、ＶＬＡＮ識別子を付与された状態でポートｚｚ（３−４）を介して仮想ネットワークゲートウェイ装置２−２に転送される。
【００５４】
仮想ネットワークゲートウェイ装置２−１において、ＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｘ（９−１）とＶＬＡＮ  Ｙ（９−２）と、ローカル仮想ネットワークＶＮＷ  ｉ（７−１）は中間ＩＦ  Ｍ（７０−１）を介して接続される。
【００５５】
ＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｚ（９−３）とローカル仮想ネットワークＶＮＷ  ｊ（７−２）は中間ＩＦ  Ｎ（７０−２）を介して接続されている。
【００５６】
仮想ネットワークゲートウェイ装置２−２において、ＶＬＡＮドメインＢ（８−２）のＶＬＡＮ  Ｘ（９−５）とＶＬＡＮドメインＣ（８−３）のＶＬＡＮ  Ｙ（９−７）と、ローカル仮想ネットワークＶＮＷ  ｉ（７−３）は中間ＩＦ  Ｍ（７０−３）を介して接続される。
【００５７】
ＶＬＡＮドメインＣ（８−３）のＶＬＡＮ  Ｘ（９−６）とローカル仮想ネットワークＶＮＷ  ｊ（７０−４）は中間ＩＦ  Ｎ（７−４）を介して接続されている。
【００５８】
仮想ネットワークゲートウェイ装置２−１におけるローカル仮想ネットワークＶＮＷ  ｉ（７−１）と、仮想ネットワークゲートウェイ装置２−２におけるローカル仮想ネットワークＶＮＷ  ｊ（７０−４）は、上位の仮想ネットワークｘ（１６−１）に対応付けられる。
【００５９】
仮想ネットワークゲートウェイ装置２−１におけるローカル仮想ネットワークＶＮＷ  ｊ（７−２）と、仮想ネットワークゲートウェイ装置２−２におけるローカル仮想ネットワークＶＮＷ  ｉ（７−３）は、上位の仮想ネットワークｙ（１６−２）に対応付けられている。
【００６０】
以上により、一つ以上のＶＬＡＮドメインＡ〜Ｃ（８−１〜８−３）、及び一つ以上のデータセンタ３４００〜３４００−ｎにまたがる通信ネットワーク１上で、仮想マシン６−１と仮想マシン６−２、仮想マシン６−６は同一の仮想ネットワークｘ（１６−１）で接続される。
【００６１】
また、仮想マシン６−３と仮想マシン６−４、仮想マシン６−５、仮想マシン６−７は同一の仮想ネットワークｙ（１６−２）で接続される。
【００６２】
仮想マシン６−１と仮想マシン６−２は同一ホストコンピュータ４−１上の同一仮想スイッチ４０−１に接続されているが、仮想マシン６間の通信は当該仮想スイッチ４０−１ではスイッチングされず、ポートｗｗ（３−１）を介して仮想ネットワークゲートウェイ装置２−１でスイッチングされる。これにより、ハイパーバイザ４１−１では仮想スイッチ４０−１のソフトウェアによる仮想マシン間通信転送処理が不要となって、ホストコンピュータ４−１の処理性能の低下を防止できる。
【００６３】
一方、仮想マシン６−３と仮想マシン６−４は、同一ホストコンピュータ４−２上の同一仮想スイッチ４０−２において同一仮想ポートグループＲ（５−３）を介して同一ＶＬＡＮ  Ｚ（９−３）に接続されている。このため、同一仮想ネットワークｙ（１６−２）に接続されている仮想マシンの中で、仮想マシン６−３と仮想マシン６−４間の通信については、仮想ネットワークゲートウェイ装置２−１ではなく、仮想スイッチで４０−２スイッチングされる。
【００６４】
管理装置１４及び仮想化基盤管理装置１５が、ホストコンピュータ４上で仮想ポートＰ（５−１）を介してＶＬＡＮドメインＡ（８−１）のＶＬＡＮ  Ｘ（９−１）に接続されていた仮想マシン６−１を、異なるＶＬＡＮドメインＢ（８−２）のホストコンピュータ４−３上に移動（１８）する場合について説明する。なお、仮想マシン６の移動は、端末１２からの移動要求を、ポータル１３及び管理装置１４から仮想化基盤管理装置１５へ通知してもよい。また、管理装置１４が仮想マシン６の移動を決定して仮想化基盤管理装置１５へ要求してもよい。
【００６５】
移動後の仮想マシン６−１には移動前とは異なるＶＬＡＮ（図２の場合はＶＬＡＮ  Ｗ（９−４））が割り当てられ得るが、管理装置１４が仮想化基盤管理装置１４を介して、移動前と同じ仮想ポート名である仮想ポートＰ（５−４）を仮想スイッチ４０−３に生成し、この仮想ポートＰに仮想マシン６−１を接続させることで、仮想マシン６の移動及び異なるＶＬＡＮ９への接続が可能となる。
【００６６】
仮想ネットワークゲートウェイ装置２−２において中間ＩＦ  Ｎ（７０−４）にＶＬＡＮドメインＢ（８−２）のＶＬＡＮ  Ｗ（９−４）をマッピングすることで、仮想マシン６−１は異なるＶＬＡＮドメインＢ（８−２）への移動後も引き続き、移動前と同じ仮想ネットワークｘ（１６−１）に接続される。
【００６７】
図３は、仮想化基盤管理装置１５や、仮想ネットワークゲートウェイ装置２や、ホストコンピュータ４や、ネットワーク装置１１や、ポータル１３及び端末１２のハードウェア構成の一例を示している。本図ではこれらの装置を総称して装置２０と表現する。
【００６８】
装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等からなる制御部２１と、記憶部２２と、データセンタ３４００内あるいはデータセンタ間ネットワーク３４０３や仮想ネットワークゲートウェイ装置２や、ネットワーク装置１１に接続するための一つ以上の通信インタフェース２と、表示部２３と、入力部２４と、これらを接続するデータバス２６によって構成できる。
【００６９】
記憶部２２は、半導体メモリ（ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））等の揮発性記憶装置、あるいはハードディスクやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の読み書き可能な不揮発性記憶装置、光磁気メディア等の読み出し専用不揮発性記憶装置等から構成できる。
【００７０】
装置２０において、例えばソフトウェアの実行に伴う演算処理は制御部２１によって実行される。
【００７１】
表示部２３はＣＲＴディスプレイや液晶ディスプレイ等、入力部２４はキーボードやマウス等によって構成できる。
【００７２】
制御部２１が実行するプログラムや、プログラムが使用するデータについては、記憶部２２に格納されていても良いし、通信インタフェース２５を介して他の機器から導入されても良い。
【００７３】
また装置２０は、表示部２３や入力部２４を省略した構成にすることもできる。
【００７４】
図４は管理装置１４の構成の一例を示すブロック図である。ハードウェアの構成は前記図３と同様である。
【００７５】
管理インタフェース３０は、利用者が操作する端末１２やポータル１３、あるいはその他のハードウェアやソフトウェアから、仮想ネットワーク１６の追加や削除、仮想マシン６の仮想ネットワーク１６への接続や切断、仮想ネットワーク１６のハードウェアオフロードの要否の変更等の要求を受けるインタフェースである。
【００７６】
管理インタフェース３０は、例えばＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）等のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）や、ＴＥＬＮＥＴ（Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋ）やＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）等のＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）、またはＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等の公知の技術で実現できる。
【００７７】
ネットワークマッピング機能３１は、仮想ネットワーク１６と、個々のＶＬＡＮドメイン８のＶＬＡＮ識別子と個々の仮想ネットワークゲートウェイ装置２の中間ＩＦ識別子と、個々の仮想ネットワークゲートウェイ装置２の仮想ネットワーク識別子間の対応付けを行い、仮想ネットワークゲートウェイ装置２及び仮想化基盤管理装置１５に対応付けの結果を指示するプログラムである。
【００７８】
ネットワークマッピングテーブル３２は、仮想ネットワーク１６と、個々のＶＬＡＮドメイン８のＶＬＡＮ識別子と個々の仮想ネットワークゲートウェイ装置２の中間ＩＦ識別子と、個々の仮想ネットワークゲートウェイ装置２の仮想ネットワーク識別子間の対応関係を示す情報を格納するテーブルである。
【００７９】
構成情報テーブル３３は、仮想ネットワークゲートウェイ装置２とポート３、ホストコンピュータ４と、仮想スイッチ４０と、仮想ポート５と、仮想マシン６間の接続関係を示す情報を格納するテーブルである。
【００８０】
オフロード要否判定テーブル３４は、仮想マシン６間の通信のスイッチング処理を仮想スイッチ４０ではなく仮想ネットワークゲートウェイ装置２にオフロードする必要性に対する利用者の要件を格納するテーブルである。
【００８１】
ネットワークマッピング機能３１は、プログラムとしてメモリ記憶部２２にロードされる。制御部２１は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、制御部２１は、ネットワークマッピングプログラムに従って処理することでネットワークマッピング機能３１として機能する。他のプログラムについても同様である。さらに、制御部２１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００８２】
ネットワークマッピング機能３１の各機能を実現するプログラム、テーブル等の情報は、ストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００８３】
図５は、ネットワークマッピングテーブル３２の一例を示す図である。
【００８４】
仮想ネットワークＩＤ３２０は、端末１２の利用者が仮想ネットワーク１６を一意に識別するための情報であり、ネットワーク仮想化システムにおける複数の仮想ネットワークゲートウェイ装置２間で一意な情報である。管理装置１４は、例えば、仮想ネットワーク１６がＶＸＬＡＮの場合は、ＶＮＩ（ＶＸＬＡＮ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｅｒ）を仮想ネットワークＩＤ３２０に設定する。
【００８５】
ゲートウェイＩＤ３２１は、仮想ネットワークゲートウェイ装置２を一意に識別するための情報である。
【００８６】
ローカル仮想ネットワークＩＤ３２２は、個々の仮想ネットワークゲートウェイ装置２内で仮想ネットワーク１６を一意に識別するための情報である。例えばＶＸＬＡＮの場合はＶＮＩが設定される。本実施例では、ローカル仮想ネットワークＩＤ３２２を設けることで、個々の仮想ネットワークゲートウェイ装置２内で一意な仮想ネットワーク識別情報を、仮想ネットワークゲートウェイ装置２間で一意な識別情報に変換可能としているが、本特許はこの構成に限られない。ローカル仮想ネットワークＩＤ３２２が無い、あるいは、ローカル仮想ネットワークＩＤ３２２と仮想ネットワーク１６の識別情報を同一としてもよい。
【００８７】
中間インタフェースＩＤ３２３は、仮想ネットワークゲートウェイ装置２内で仮想ネットワーク１６とＶＬＡＮ９、あるいはローカル仮想ネットワーク７を介して仮想ネットワーク１６とＶＬＡＮ９を相互接続するための中間インタフェース７０を一意に識別するための情報である。
【００８８】
ＶＬＡＮドメインＩＤ３２４は、ＶＬＡＮドメイン８を一意に識別するための情報である。
【００８９】
ＶＬＡＮ  ＩＤ３２５は、ＶＬＡＮドメイン８内でＶＬＡＮ９を一意に識別するための情報である。
【００９０】
ポートＩＤ３２６は、ＶＬＡＮ通信を送受信するポート３を一意に識別するための情報である。
【００９１】
図６は、構成情報テーブル３３の一例を示す図である。
【００９２】
ゲートウェイＩＤ３３０は、仮想ネットワークゲートウェイ装置２を一意に識別するための情報である。
【００９３】
ＶＬＡＮドメインＩＤ３３１は、ＶＬＡＮドメイン８を一意に識別するための情報である。
【００９４】
ＶＬＡＮ  ＩＤ３３２は、ＶＬＡＮドメイン８内でＶＬＡＮ９を一意に識別するための情報である。
【００９５】
ポートＩＤ３３３は、ＶＬＡＮ通信を送受信するポート３を一意に識別するための情報である。
【００９６】
ホストＩＤ３３４は、ホストコンピュータ４を一意に識別するための情報である。仮想スイッチＩＤ３３５は、仮想スイッチ４０を一意に識別するための情報である。
【００９７】
仮想ポートＩＤ３３６は、仮想ポート５を一意に識別するための情報である。仮想マシンＩＤ３３７は、仮想マシン６を一意に識別するための情報である。
【００９８】
図７は、オフロード要否判定テーブル３４の一例を示す図である。
【００９９】
利用者ＩＤ６０は、利用者を一意に識別するための情報である。仮想ネットワークＩＤ６１は、利用者の端末１２が仮想ネットワーク１６を一意に識別するための情報である。例えばＶＸＬＡＮの場合はＶＮＩが設定される。
【０１００】
オフロード要否６２は、仮想ネットワークＩＤ６１で示される仮想ネットワーク１６において、仮想マシン６間通信のスイッチング処理を仮想スイッチ４０から仮想ネットワークゲートウェイ装置２にオフロードするか否かを識別する情報である。
【０１０１】
オフロード要否６２には、スイッチング処理を仮想ネットワークゲートウェイ装置２で行う場合には「要」が設定されて仮想スイッチ４０からオフロードされる。また、オフロード要否６２には、スイッチング処理を仮想スイッチ４０で行う場合には「否」が設定されて、仮想スイッチ４０自身がホストコンピュータ４の物理計算機資源を消費してスイッチング処理を実行する。
【０１０２】
後述するように、オフロード要否６２が「要」のときには、管理装置１４は仮想化基盤管理装置１５を介して仮想スイッチ４０が、配下の仮想ポート５に異なるＶＬＡＮ９を割り当てるよう指令する。これにより、仮想スイッチ４０に接続された仮想マシン６からの通信は、異なるＶＬＡＮ９を経由して仮想ネットワークゲートウェイ装置２の中間ＩＦ７０まで転送されてからスイッチング処理が行われる。この結果、仮想スイッチ４０は、スイッチング処理の負荷が削減され、ホストコンピュータ４の処理性能を確保することができる。
【０１０３】
図８は、仮想ネットワーク通信のデータ構造の一例を示す図である。仮想ネットワークゲートウェイ装置２のネットワーク仮想化機能によって仮想化される前の通信のデータ（パケット）構造と仮想化された後の通信のデータ構造の一例を示す図である。
【０１０４】
図８においては、仮想化される前の通信を一般的なイーサネット（登録商標）の通信フレームとして示し、当該通信フレームがネットワーク仮想化機能によってＩＰ通信パケットによってカプセル化される例を示しているが、本発明は前提とする通信フレーム構造やネットワーク仮想化プロトコルに縛られるものではない。
【０１０５】
例えば、タグ付け等によってネットワーク仮想化を実現してもよいし、プロプライエタリな通信フレームであってもよい。
【０１０６】
送信先アドレス１１００は、通信の宛先をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
【０１０７】
送信元アドレス１１０１は、送信元をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
【０１０８】
タグ１１０２は通信を分類するための識別情報を格納するフィールドであり、例えばＶＬＡＮ識別子等のフィールドである。
【０１０９】
タイプ１１０３はプロトコル種別情報を格納するためのフィールドであり、例えばＴＣＰやＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等のプロトコル番号用のフィールドである。データ１１０４は通信の宛先へ転送する任意のデータを格納するフィールドである。
【０１１０】
ネットワーク仮想化機能は、図中上記フィールド１１００〜１１０４に、図中フィールド１１０５〜１１０７をヘッダとして付加する。
【０１１１】
送信先アドレス１１０５は、ネットワーク仮想化機能によってカプセル化された後の、通信の宛先をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
【０１１２】
送信元アドレス１１０６は、ネットワーク仮想化機能によってカプセル化された後の、送信元をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
【０１１３】
タグ１１０７はローカル仮想ネットワーク７を一意に識別する情報であり、例えばＶＸＬＡＮにおいてはＶＮＩである。
【０１１４】
仮想ネットワーク１６では、ネットワーク仮想化用のヘッダとして付加したフィールド１１０５〜１１０７によって宛先及び送信元を識別することができる。また、ホストコンピュータ４内ではネットワーク仮想化用のヘッダを削除して通信することができる。
【０１１５】
図９は、仮想ネットワークの追加要求のデータ構造の一例を示す図である。利用者が操作する端末１２がポータル１３を介して、管理装置１４に対し、仮想ネットワークの追加や削除、仮想マシンの仮想ネットワークへの接続や切断、仮想ネットワークのハードウェアオフロードの要否の変更等を要求する際の、要求データの一例を示す図である。
【０１１６】
メッセージ１２００はポータル１３が管理装置１４に送信する要求データである。
【０１１７】
図９においては、ポータル１３が管理装置１４に対して仮想ネットワークの追加要求を送信する例を示している。
【０１１８】
メッセージ１２００は、ＣＬＩやＧＵＩ、ＡＰＩ等を介して送信される。送信時のプロトコルはＴＥＬＮＥＴやＳＳＨ、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の公知のものでよいし、プロプライエタリなものでもよい。
【０１１９】
また、メッセージ１２００のフォーマットは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等の公知のものでもよいし、プロプライエタリなものでもよい。
【０１２０】
図においては、ＸＭＬを例として示しているが、本発明はプロトコルやフォーマットに限定されるものではない。
【０１２１】
図１０は、ネットワークマッピングを指示する際のデータ構造の一例を示す図である。管理装置１４が仮想ネットワークゲートウェイ装置２に対して、仮想ネットワーク１６と中間ＩＦ７０、ＶＬＡＮ９間の対応付けを指示する際の、指示データの一例を示す図である。
【０１２２】
メッセージ１３００は、管理装置１４が仮想ネットワークゲートウェイ装置２に送信する指示データである。
【０１２３】
図においては、管理装置１４が仮想ネットワークゲートウェイ装置２−２に対して、仮想ネットワーク１６と中間ＩＦ７０、ＶＬＡＮ９間の対応付け追加指示を送信する例を示している。
【０１２４】
メッセージ１３００は、ＣＬＩやＧＵＩ、ＡＰＩ等を介して送信される。送信時のプロトコルはＴＥＬＮＥＴやＳＳＨ、ＨＴＴＰ等の公知のものでよいし、プロプライエタリなものでもよい。また、メッセージ１３００のフォーマットは、ＸＭＬ等の公知のものでもよいし、プロプライエタリなものでもよい。
【０１２５】
図においては、ＸＭＬを例として示しているが、本発明はプロトコルやフォーマットに限定されるものではない。
【０１２６】
図１１は、ネットワーク仮想化システムで行われる処理の一例を示すシーケンス図である。利用者が操作する端末１２が管理装置１４を介して、仮想ネットワーク１６の追加や削除、仮想ネットワーク１６への仮想マシン６の接続や切断、仮想化基盤管理装置１５を介して仮想マシン６の移動を行う全体的なシーケンスの一例を示す図である。
【０１２７】
本図においては説明の簡略化のために、二組の仮想ネットワークゲートウェイ装置２−１、２−２と仮想スイッチ４０−１、４０−３と、仮想マシン６−１、６−５を例に挙げてネットワーク仮想化システム全体で行われる処理のシーケンスを示す。
【０１２８】
具体的には、一組目が仮想ネットワークゲートウェイ装置２−１と、仮想ネットワークゲートウェイ装置２−１に接続された仮想スイッチ４０−１、仮想スイッチ４０−１に接続された仮想マシン６−１である。
【０１２９】
二組目が仮想ネットワークゲートウェイ装置２−２と、仮想ネットワークゲートウェイ装置２−２に接続された仮想スイッチ４０−３、仮想スイッチ４０−３に接続された仮想マシン６−５である。
【０１３０】
ステップ２１００において、利用者が操作する端末１２は、仮想ネットワーク１６の追加あるいは削除を管理装置１４に要求する。
【０１３１】
ステップ２１０１において、管理装置１４は、仮想ネットワークゲートウェイ装置２−１及び２−２に対して、当該仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０の生成あるいは削除を指示する。
【０１３２】
ステップ２２００において、利用者が操作する端末１２は、仮想ネットワーク１６への仮想マシン６の接続あるいは切断を要求する。
【０１３３】
ステップ２２０１において、管理装置１４は、当該仮想ネットワーク１６に対応付けるＶＬＡＮ９を選択あるいは選択解除し、当該仮想ネットワーク１６と、仮想ネットワークゲートウェイ装置２−１、２−２毎のローカル仮想ネットワーク７及び中間ＩＦ７０、当該ＶＬＡＮ９の接続あるいは切断を仮想ネットワークゲートウェイ装置２−１及び２−２に指示する。
【０１３４】
ステップ２２０２において、管理装置１４は、仮想化基盤管理装置１５に対し、当該仮想ネットワーク１６に対応付けるＶＬＡＮ９及び仮想ポート５を選択あるいは選択解除し、仮想マシン６の当該仮想ポート５への接続あるいは切断を指示する。
【０１３５】
ステップ２２０３において、仮想化基盤管理装置１５は、ステップ２２０２において管理装置１４から受信した指示を実行する。
【０１３６】
ステップ２３００において、仮想マシン６−１は、同じ仮想ネットワーク１６に接続された仮想マシン６−５への通信パケットを送信する。
【０１３７】
ステップ２３０１において、仮想スイッチ４０−１は、当該通信パケットを受信し、ステップ２２０３における仮想化基盤管理装置１５からの指示をもとに、ＶＬＡＮ識別子を通信パケットに付与し、仮想ネットワークゲートウェイ装置２−１に転送する。
【０１３８】
ステップ２３０２において、仮想ネットワークゲートウェイ装置２−１は、ステップ２２０１において指示された、仮想ネットワーク１６とローカル仮想ネットワーク７、中間ＩＦ７０、ＶＬＡＮドメイン８、ＶＬＡＮ９、ポート３のマッピング情報をもとに、当該通信パケットを仮想ネットワーク通信に変換して仮想ネットワークゲートウェイ装置２−２に転送する。
【０１３９】
ステップ２３０３において、仮想ネットワークゲートウェイ装置２−２は、ステップ２２０１において指示された、仮想ネットワーク１６とローカル仮想ネットワーク７、中間ＩＦ７０、ＶＬＡＮドメイン８、ＶＬＡＮ９、ポート３のマッピング情報をもとに、当該通信パケットをＶＬＡＮ通信に変換して仮想スイッチ４０−３に転送する。
【０１４０】
ステップ２３０４において、仮想スイッチ４０−３は、当該通信パケットを受信し、ステップ２２０３における仮想化基盤管理装置１５からの指示をもとに、ＶＬＡＮ識別子を用いて転送先の仮想ポート５を判断し、仮想マシン６−５に転送する。
【０１４１】
次に、仮想マシン６の移動について説明する。ステップ２５００において、利用者が操作する端末１２は、ポータル１３及び管理装置１４を介して仮想化基盤管理装置１５に対して仮想マシン６の移動を指示する。
【０１４２】
なお、仮想マシン６の移動は利用者が操作する端末１２からの指示に基づいて行われる必要は無く、仮想化基盤管理装置１５が自律的に行ってもよいし、管理装置１４から指示してもよいし、他のソフトウェアやハードウェアから指示してもよい。
【０１４３】
ステップ２５０１において、仮想化基盤管理装置１５は、仮想マシン６の移動を管理装置１４に通知する。
【０１４４】
ステップ２５０２において、管理装置１４は、仮想ネットワークゲートウェイ装置２−１及び２−２に対して、仮想マシン６の移動に伴い、ローカル仮想ネットワーク７、中間ＩＦ７０、ＶＬＡＮドメイン８、ＶＬＡＮ９、ポート３のマッピング情報の変更を指示する。
【０１４５】
ステップ２５０３において、管理装置１４は、仮想化基盤管理装置１５に対して、仮想マシン６の移動に伴い、仮想マシン６に対する仮想ポート５やＶＬＡＮ９の割り当て変更を指示する。
【０１４６】
ステップ２５０４において、仮想化基盤管理装置１５は、ステップ２６−３において管理装置１４から受信した指示をホストコンピュータ４−１のハイパーバイザ４１−１に送信して実行させる。
【０１４７】
上記処理により、仮想マシン６を他のＶＬＡＮドメイン８へ移動させた場合でも、移動元の仮想ネットワーク１６を割り当てて、移動前と同様のＶＬＡＮ９で通信を行うことが出来る。
【０１４８】
図１６は、利用者が操作する端末１２が管理装置１４を介して、仮想ネットワーク１６のハードウェアオフロード要否の変更を行うシーケンスの一例を示す図である。
【０１４９】
ステップ２４０１からステップ２４０３は、仮想マシン６−１と仮想マシン６−３間の通信を示している。仮想マシン６−１と仮想マシン６−３は、異なるポート３−１及び３−２を介して異なるホストコンピュータ４−１及び４−２上に存在するため、仮想マシン６−１が接続された仮想ポート５−１に割り当てられたＶＬＡＮ９−１と仮想マシン６−３が接続された仮想ポートグループ５−３に割り当てられたＶＬＡＮ９−３が同一である場合であっても、仮想マシン６−１と仮想マシン６−３間の通信は仮想ネットワークゲートウェイ装置２を介して行われる。
【０１５０】
例えばステップ２４００において、仮想マシン６−１が仮想マシン６−３宛てに通信パケットを送信する。
【０１５１】
ステップ２４０１において、仮想スイッチ４０−１は当該通信にＶＬＡＮ９−１を割り当て、仮想ネットワークゲートウェイ装置２−１に転送する。
【０１５２】
ステップ２４０２において、仮想ネットワークゲートウェイ装置２−１は、ＶＬＡＮ９−１とＶＬＡＮ９−３が同一である場合、当該通信をポート３−２に転送する。
【０１５３】
ステップ２４０３において、仮想スイッチ４０−２は、ＶＬＡＮ９−３が関連付けられた仮想ポートグループＲ５−３に当該通信を転送し、仮想マシン６−３が当該通信を受信する。
【０１５４】
ステップ２４０４からステップ２４０５は、仮想マシン６−１と仮想マシン６−２間の通信を示している。仮想マシン６−１と仮想マシン６−２は、同じホストコンピュータ４−１上の同じ仮想スイッチ４０−１に接続されているため、仮想マシン６−１が接続された仮想ポート５−１に割り当てられたＶＬＡＮ９−１と仮想マシン６−２が接続された仮想ポート５−２に割り当てられたＶＬＡＮ９−３が同一である場合、仮想マシン６−１と仮想マシン６−２間の通信は仮想スイッチ４０−１を介して行われる。
【０１５５】
例えばステップ２４０４において、仮想マシン６−１が仮想マシン６−２宛てに通信パケットを送信する。
【０１５６】
ステップ２４０５において、仮想スイッチ４０−１は、仮想マシン６−１が接続された仮想ポート５−１に割り当てられたＶＬＡＮ９−１と仮想マシン６−２が接続された仮想ポート５−２に割り当てられたＶＬＡＮ９−３が同一である場合、当該通信を仮想ポート５−２に転送し、仮想マシン６−２が当該通信を受信する。
【０１５７】
ステップ２４０６以降は、利用者が操作する端末１２が管理装置１４を介して、仮想マシン６−１と仮想マシン６−２間の通信のハードウェアオフロードを「要」に変更する。これにより、上記ステップ２４０４からステップ２４０５で示したように仮想スイッチ４０−１で転送されていた通信が、ステップ２４００からステップ２４０３と同様に仮想ネットワークゲートウェイ装置２−１を介して転送されるシーケンスを示している。
【０１５８】
ステップ２４０６において、利用者が操作する端末１２は、管理装置１４に対して、仮想ネットワーク１６の仮想ネットワークゲートウェイ装置２−１へスイッチング処理のオフロード要否の変更要求を送信する。
【０１５９】
ステップ２４０７において、管理装置１４は、仮想ネットワークゲートウェイ装置２−１に対して、オフロード要否６２の変更に伴い、ローカル仮想ネットワーク７、中間ＩＦ７０、ＶＬＡＮドメイン８、ＶＬＡＮ９、ポート３のマッピング情報の変更を指示する。本シーケンスにおいて具体的には、ローカル仮想ネットワーク７−１とＶＬＡＮ９−１、ＶＬＡＮ９−３が同じ中間ＩＦ７０−１にマッピングする。
【０１６０】
ステップ２４０８において、管理装置１４は、仮想化基盤管理装置１５に対して、オフロード要否６２の変更に伴い、仮想マシン６−１、６−２に対する仮想ポート５−１、５−２やＶＬＡＮ９−１、９−２の割り当て変更を指示する。
【０１６１】
ステップ２４０９において、仮想化基盤管理装置１５は、ステップ２４０２において管理装置１４から受信した指示をハイパーバイザ４１−１に実行させる。ハイパーバイザ４１−１は、仮想マシン６−１、６−２に対する仮想ポート５−１、５−２及びＶＬＡＮ９−１、９−２の割り当てを変更する。
【０１６２】
ステップ２４１０において、仮想マシン６−１が仮想マシン６−２宛てに通信パケットを送信する。
【０１６３】
ステップ２４１１において、仮想スイッチ４０−１は、仮想マシン６−１が接続された仮想ポート５−１に割り当てられたＶＬＡＮ９−１と、仮想マシン６−２が接続された仮想ポート５−２に割り当てられたＶＬＡＮ９−３が異なるように変更されたため、当該通信を仮想ネットワークゲートウェイ装置２−１に転送する。
【０１６４】
ステップ２４１２において、仮想ネットワークゲートウェイ装置２−１は、ＶＬＡＮ９−１とＶＬＡＮ９−３が同じ中間ＩＦ７０−１にマッピングされていることから、当該通信をＶＬＡＮ９−３が割り当てられたポート３−１に転送する。
【０１６５】
ステップ２４１３において、仮想スイッチ４０−１は、ポート３−１から受信した当該通信をＶＬＡＮ９−３が割り当てられた仮想ポート５−２に転送し、仮想マシン６−２が当該通信を受信する。
【０１６６】
以上により、仮想スイッチ４０−１のスイッチングの機能は、仮想ネットワークゲートウェイ装置２−１にオフロードされ、ホストコンピュータ４−１は仮想スイッチ４０−１の処理に要する負荷を削減できるのである。
【０１６７】
図１２は、仮想ネットワーク１６の生成あるいは削除処理の一例を示すフローチャートである。
【０１６８】
ステップ３０００において、管理装置１４のネットワークマッピング機能３１は、管理インタフェース３０を介して、利用者が操作する端末１２から直接あるいはポータル１３等のソフトウェアやハードウェアを介して、仮想ネットワーク１６の生成あるいは削除要求を受信する。
【０１６９】
ステップ３００１において、要求が仮想ネットワーク１６の生成の場合はステップ３００２に進み、仮想ネットワーク１６の削除の場合は３００４に進む。
【０１７０】
ステップ３００２において、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２を参照して、未割り当ての仮想ネットワークＩＤ３２０を選択し、当該仮想ネットワークＩＤ３２０をネットワークマッピングテーブル３２に格納する。
【０１７１】
ステップ３００３において、ネットワークマッピング機能３１は、オフロード要否判定テーブル３４に、要求に応じたハードウェアオフロード要否情報を格納する。
【０１７２】
ステップ３００４において、削除の場合、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２より、当該仮想ネットワーク１６に対応するエントリを削除する。
【０１７３】
ステップ３００５において、ネットワークマッピング機能３１は、オフロード要否判定テーブル３４より、当該仮想ネットワーク１６に対応するエントリを削除する。
【０１７４】
以上の処理により、管理装置１４は、仮想スイッチ４０の機能を仮想ネットワークゲートウェイ装置２へオフロードするか否かを制御することができる。
【０１７５】
図１３は、仮想ネットワーク１６への仮想マシン６の接続あるいは切断処理の一例を示すフローチャートである。
【０１７６】
ステップ３１００において、管理装置１４のネットワークマッピング機能３１は、管理インタフェース３０を介して、利用者が操作する端末１２から直接あるいはポータル１３等のソフトウェアやハードウェアを介して、仮想ネットワーク１６への仮想マシン６の接続あるいは切断要求を受信する。
【０１７７】
ステップ３１０１において、ネットワークマッピング機能３１は、受信した要求が仮想ネットワーク１６への接続要求であればステップ３１０２に進み、仮想ネットワーク１６からの切断要求であればステップ３１１４に進む。
【０１７８】
ステップ３１０２において、ネットワークマッピング機能３１は、オフロード要否判定テーブル３４を参照し、当該仮想ネットワーク１６のオフロード要否６２を判定する。オフロード要の場合はステップ３１０３に進み、オフロード不要の場合は３１０９に進む。
【０１７９】
ステップ３１０３において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、当該仮想マシン６の配備先のホストコンピュータ４が所属するＶＬＡＮドメイン８において、未割り当てのＶＬＡＮ９があるか否かを判定する。未割り当てのＶＬＡＮ９がある場合はステップ３１０４に進み、無い場合はステップ３１０８に進む。
【０１８０】
ステップ３１０４において、ネットワークマッピング機能３１は、未割当のＶＬＡＮ９を割り当て、ＶＬＡＮドメイン８内で一意な仮想ポート名を生成する。
【０１８１】
ステップ３１０５において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、ステップ３１０４で生成した仮想ポート名を用いて、仮想マシン６の配備先のホストコンピュータ４の仮想スイッチ４０に仮想ポート５を生成し、構成情報テーブルにエントリを追加する。
【０１８２】
ステップ３１０６において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して仮想マシン６の配備先のホストコンピュータ４が接続された仮想ネットワークゲートウェイ装置２を特定する。そして、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２を参照して接続先の仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０の有無を判定する。
【０１８３】
ローカル仮想ネットワーク７及び中間ＩＦ７０が存在す有る場合は、当該中間ＩＦ７０にステップ３１０４で決定したＶＬＡＮ９を対応付け、存在しない場合は中間ＩＦ  ＩＤを生成してステップ３１０４で決定したＶＬＡＮ９を当該中間ＩＦ７０に対応付け、ネットワークマッピングテーブル３２にエントリを追加する。
【０１８４】
そして、ネットワークマッピング機能３１は、前記特定した仮想ネットワークゲートウェイ装置２に対して、上記ネットワークマッピングテーブル３２に追加したエントリの内容で、ローカル仮想ネットワーク７と中間ＩＦ７０及びＶＬＡＮ９の接続を指示する。
【０１８５】
ステップ３１０７において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、仮想マシン６を上記ステップ３１０５で生成した仮想ポート５に接続する。
【０１８６】
一方、ステップ３１０８において、未割当のＶＬＡＮ９が存在しないのでネットワークマッピング機能３１は、エラーを返して処理を終了する。
【０１８７】
また、ハードウェアオフロードが不要なステップ３１０９において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して仮想マシン６の配備先のホストコンピュータ４が所属するＶＬＡＮドメイン８を特定する。そして、ネットワークマッピング機能３１は、ＶＬＡＮドメイン８に基づいて、ネットワークマッピングテーブル３２を参照して、当該ＶＬＡＮドメイン８において、接続先の仮想ネットワーク１６に対応付けられたＶＬＡＮ９の有無を判定する。ＶＬＡＮ９が有る場合はステップ３１１０に進み、無い場合はステップ３１１３に進む。
【０１８８】
ステップ３１１０において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して、当該ＶＬＡＮ９に対応付けられた仮想ポート名を特定する。
【０１８９】
ステップ３１１１において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して、仮想マシン６の配備先のホストコンピュータ４における当該仮想ポート５の有無を判定する。当該仮想ポート５が有る場合はステップ３１０７に進み、無い場合はステップ３１１２に進む。
【０１９０】
ステップ３１１２において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、ステップ３１１０で特定した仮想ポート名を用いて、仮想マシン６の配備先のホストコンピュータ４の仮想スイッチ４０に仮想ポート５を生成する。そして、仮想化基盤管理装置１５は、生成した仮想ポート５に上記仮想ポート名を対応付ける。その後、ステップ３１０７へ進んで、仮想マシン６を仮想ポート５に接続させる。
【０１９１】
一方、上記ステップ３１０９の判定で、接続先の仮想ネットワーク１６に対応付けられたＶＬＡＮ９がないステップ３１１３において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、仮想マシン６の配備先のホストコンピュータ４が所属するＶＬＡＮドメインにおける未割り当てのＶＬＡＮ９の有無を判定する。未割当のＶＬＡＮ９が有る場合はステップ３１１４に進み、無い場合はステップ３１０８に進んで、上記エラーを通知する。
【０１９２】
また、ステップ３１０１の判定で、受信した要求が仮想ネットワーク１６からの切断要求のステップ３１１４において、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２を参照し、仮想ネットワーク１６に対応するＶＬＡＮドメイン８とＶＬＡＮ９を特定する。
【０１９３】
ステップ３１１５において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、ＶＬＡＮドメイン８とＶＬＡＮ９に対応するホストコンピュータ４と、仮想スイッチ４０と、仮想ポート５を特定する。
【０１９４】
ステップ３１１６において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、特定した仮想ポート５を削除する。
【０１９５】
ステップ３１１７において、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２及び構成情報テーブル３３より、対応するエントリを削除して処理を終了する。
【０１９６】
上記処理によって、利用者が操作する端末１２からの指令に応じて、仮想マシン６を仮想ネットワーク１６に接続させ、あるいは、仮想マシン６を仮想ネットワーク１６から切断させることができる。
【０１９７】
図１４は、仮想ネットワーク１６のハードウェアオフロード要否６２の変更処理の一例を示すフローチャートである。
【０１９８】
ステップ３２００において、管理装置１４のネットワークマッピング機能３１は、管理インタフェース３０を介して、利用者が操作する端末１２から直接あるいはポータル１３等のソフトウェアやハードウェアを介して、仮想ネットワーク１６のハードウェアオフロード要否６２の変更要求を受信する。
【０１９９】
ステップ３２０１において、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２及び構成情報テーブル３３を参照し、仮想ネットワーク１６に対応付けられたＶＬＡＮドメイン８とＶＬＡＮ９、仮想ネットワーク１６に接続された仮想マシン６を特定する。
【０２００】
ステップ３２０２において、要求がオフロード要への変更の場合はステップ３２０３に進み、オフロード不要への変更の場合はステップ３２０９に進む。
【０２０１】
ステップ３２０３において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、特定した仮想マシン６の配備先のホストコンピュータ４が所属するＶＬＡＮドメイン８において、特定した仮想マシン６の全てに割り当てることが可能な未割り当てのＶＬＡＮ９があるか否かを判定する。未割り当てのＶＬＡＮ９がある場合はステップ３２０４に進み、無い場合はステップ３２０８に進む。
【０２０２】
ステップ３２０４において、ネットワークマッピング機能３１は、ＶＬＡＮ９を特定した仮想マシン６に割り当て、一意な仮想ポート名を生成する。
【０２０３】
ステップ３２０５において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、ステップ３２０４で生成した仮想ポート名を用いて、仮想マシン６の配備先のホストコンピュータ４の仮想スイッチ４０に仮想ポート５を生成し、構成情報テーブルにエントリを追加する。
【０２０４】
ステップ３２０６において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して仮想マシン６の配備先のホストコンピュータ４が接続された仮想ネットワークゲートウェイ装置２を特定し、さらに、ネットワークマッピングテーブル３２を参照して接続先の仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０の有無を判定する。
【０２０５】
ネットワークマッピング機能３１は、接続先の仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０が存在する場合は、当該中間ＩＦ７０にステップ３２０４で決定したＶＬＡＮ９を対応付け、無い場合は中間ＩＦ  ＩＤを生成してステップ３２０４で決定したＶＬＡＮを９対応付け、ネットワークマッピングテーブル３２にエントリを追加する。そして、ネットワークマッピング機能３１は、当該仮想ネットワークゲートウェイ装置２に対して、追加したエントリの情報で、ローカル仮想ネットワーク７と中間ＩＦ７０及びＶＬＡＮ９の接続を指示する。
【０２０６】
ステップ３２０７において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、仮想マシン６をステップ３２０５で生成した仮想ポート５に接続させる。
【０２０７】
一方、ステップ３２０３の判定で、未割当のＶＬＡＮ９がない場合には、ステップ３２０８において、ネットワークマッピング機能３１は、エラーを返して処理を終了する。
【０２０８】
また、ステップ３２０２の判定でハードウェアオフロードが不要な場合のステップ３２０９において、ネットワークマッピング機能３１は、特定したＶＬＡＮドメイン８毎に、特定したＶＬＡＮ９及び対応する仮想ポート名の中から一つ選択する。
【０２０９】
ステップ３２１０において、ネットワークマッピング機能３１は、上記ステップ３２０１で特定した仮想マシン６が稼働する仮想スイッチ４０において、選択した仮想ポート５の有無を判定し、仮想ポート５が無ければ生成する。さらに、ネットワークマッピング機能３１は、選択した仮想ポート５以外の仮想ポートを削除する。
【０２１０】
上記処理によって、端末１２からの指令に応じて、仮想ネットワーク１６のハードウェアオフロード要否６２を設定し、仮想スイッチ４０のスイッチング処理を仮想ネットワークゲートウェイ装置２へオフロードさせ、あるいはオフロードを解除することが可能となる。
【０２１１】
図１５は、仮想マシン６の移動処理の一例を示すフローチャートである。
【０２１２】
ステップ３３００において、管理装置１４のネットワークマッピング機能３１は、仮想化基盤管理装置１５より、仮想マシン６の移動通知を受信する。
【０２１３】
ステップ３３０１において、ネットワークマッピング機能３１は、オフロード要否判定テーブル３４を参照し、当該仮想マシン６の接続先の仮想ネットワーク１６のオフロード要否６２を判定する。オフロード要の場合はステップ３３０２に進み、オフロード不要の場合は３３０８に進む。
【０２１４】
ステップ３３０２において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、当該仮想マシン６の移動先のホストコンピュータ４が所属するＶＬＡＮドメイン８において未割り当てのＶＬＡＮ９があるか否かを判定する。未割り当てのＶＬＡＮ９がある場合はステップ３３０３に進み、無い場合はステップ３３０７に進む。
【０２１５】
ステップ３３０３において、ネットワークマッピング機能３１は、ＶＬＡＮ９を移動対象の仮想マシン６に割り当て、仮想ネットワークゲートウェイ装置２内で一意な仮想ポート名を生成する。
【０２１６】
ステップ３３０４において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、ステップ３３０３で生成した仮想ポート名を用いて、仮想マシン６の配備先のホストコンピュータ４の仮想スイッチ４０に仮想ポート５を生成し、構成情報テーブル３３にエントリを追加する。
【０２１７】
ステップ３３０５において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して仮想マシン６の配備先のホストコンピュータ４が接続された仮想ネットワークゲートウェイ装置２を特定する。そして、ネットワークマッピング機能３１は、特定した仮想ネットワークゲートウェイ装置２でネットワークマッピングテーブル３２を参照して接続先の仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０の有無を判定する。
【０２１８】
ネットワークマッピング機能３１は、仮想ネットワーク１６に対応するローカル仮想ネットワーク７及び中間ＩＦ７０が存在する場合は当該中間ＩＦ７０にステップ３３０３で決定したＶＬＡＮ９を対応付け、無い場合は中間ＩＦ  ＩＤを生成してステップ３３０３で決定したＶＬＡＮ９を対応付け、ネットワークマッピングテーブル３２にエントリを追加する。
【０２１９】
そして、ネットワークマッピング機能３１は、当該仮想ネットワークゲートウェイ装置に対して、追加したエントリの情報で、ローカル仮想ネットワーク７と中間ＩＦ７０、ＶＬＡＮ９の接続を指示する。
【０２２０】
ステップ３３０６において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、仮想マシン６をステップ３３０４で生成した仮想ポート５に接続させる。
【０２２１】
一方、ステップ３３０２の判定で、未割当のＶＬＡＮ９がない場合には、ステップ３３０７において、ネットワークマッピング機能３１は、エラーを返して処理を終了する。
【０２２２】
また、ステップ３３０１の判定でハードウェアオフロードが不要な場合のステップ３３０８において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して仮想マシン６の移動先のホストコンピュータ４が所属するＶＬＡＮドメイン８を特定する。そして、ネットワークマッピング機能３１は、ネットワークマッピングテーブル３２を参照して、特定されたＶＬＡＮドメイン８において接続先の仮想ネットワーク１６に対応付けられたＶＬＡＮ９の有無を判定する。ＶＬＡＮ９が有る場合はステップ３３０９に進み、無い場合はステップ３３１２に進む。
【０２２３】
ステップ３３０９において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して、当該ＶＬＡＮ９に対応付けられた仮想ポート名を特定する。
【０２２４】
ステップ３３１０において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照して、仮想マシン６の移動先のホストコンピュータ４における当該仮想ポート５の有無を判定する。仮想ポート５が有る場合はステップ３３０６に進み、無い場合はステップ３３１１に進む。
【０２２５】
ステップ３３１１において、ネットワークマッピング機能３１は、仮想化基盤管理装置１５と連携し、ステップ３３０９で特定した仮想ポート名を用いて、仮想マシン６の配備先のホストコンピュータ４の仮想スイッチ４０に仮想ポート５を生成する。その後、ステップ３３０６へ進んで上記処理を実行する。
【０２２６】
一方、ステップ３３０８の判定で、未割当のＶＬＡＮ９がない場合には、ステップ３３１２において、ネットワークマッピング機能３１は、構成情報テーブル３３を参照し、仮想マシン６の配備先のホストコンピュータ４が所属するＶＬＡＮドメイン８における未割り当てのＶＬＡＮ９の有無を判定する。有る場合はステップ３３０３に進んで上記処理を実行し、無い場合はステップ３３０７に進んで上記エラーを通知してから処理を終了する。
【０２２７】
上記処理により、仮想マシン６を他のＶＬＡＮドメイン８へ移動させた場合でも、移動元の仮想ネットワーク１６を割り当てて、移動前と同様のＶＬＡＮ９で通信を行うことが出来る。
【０２２８】
なお、仮想マシン６の移動は、端末１２からの移動要求を、ポータル１３及び管理装置１４から仮想化基盤管理装置１５へ通知し、仮想化基盤管理装置１５がハイパーバイザ４１を制御してもよい。また、管理装置１４が仮想マシン６の移動を決定して仮想化基盤管理装置１５へ要求し、仮想化基盤管理装置１５がハイパーバイザ４１に処理を要求してもよい。
【０２２９】
以上、本発明の実施例を説明した。本実施例によると、ネットワーク仮想化システムは、管理装置１４が仮想化基盤管理装置１５と連携して、個々のＶＬＡＮドメイン８において個々の仮想マシン６にそれぞれ異なるＶＬＡＮ９を割り当てる。そして、管理装置１４は個々の仮想ネットワークゲートウェイ装置２において、中間ＩＦ７０を介して一つ以上のＶＬＡＮドメイン８の一つ以上のＶＬＡＮ９とローカル仮想ネットワーク７を対応付ける。さらに、管理装置１４は、仮想ネットワーク１６−１、１６−２へデータセンタのゲートウェイ（仮想ネットワークゲートウェイ装置２）の配下のローカル仮想ネットワーク７−１〜７−４をマッピング（接続）し、通信ネットワーク１を介して仮想ネットワークゲートウェイ装置２−１、２−２間の仮想ネットワーク１６−１、１６−２を接続させる。
【０２３０】
これにより、一つ以上のＶＬＡＮドメイン８や一つ以上のデータセンタ３４００にまたがって、ホストコンピュータ４やホストコンピュータ４上の仮想マシン６を接続する仮想ネットワーク１６を実現する。
【０２３１】
管理装置１４は、仮想ネットワーク１６のＩＤ（３２０）と、ローカル仮想ネットワーク７のＩＤ（３２２）の対応関係と、ローカル仮想ネットワーク７のＩＤ（３２２）に割り当てるＶＬＡＮ９のＩＤ（３２５）を制御することで、データセンタ３４００−１と３４００−ｎをまたがって、仮想ネットワーク１６に割り当てる計算機リソースを制御することが可能となる。
【０２３２】
さらに、本発明では、仮想マシン６間の通信のスイッチング処理を仮想スイッチ４０から仮想ネットワークゲートウェイ装置２にオフロード可能とする（ハードウェアオフロード）。これにより、同一のホストコンピュータ４上の仮想マシン６の通信を、仮想ネットワークゲートウェイ装置２の中間ＩＦ７０がスイッチング処理を行うことで、ホストコンピュータ４−１のスイッチング処理で消費する計算機リソースを抑制でき、ハイパーバイザ４１の負荷をホストコンピュータ４の処理性能を確保することが可能となる。
【０２３３】
また、管理装置１４が利用者の端末１２の要求に応じて、仮想化基盤管理装置１５と連携して同一のホストコンピュータ４上の一つ以上の仮想マシン６に同一ＶＬＡＮ９を割り当てることで、特定の仮想ネットワーク１６に接続された仮想マシン６が同一ホストコンピュータ４上に存在する場合に、当該仮想マシン６間の通信を仮想スイッチ４０でスイッチングするように変更可能とする。
【０２３４】
さらに、管理装置１４が仮想化基盤管理装置１５と連携して仮想マシン６の移動を検出し、移動元のホストコンピュータ４上で当該仮想マシン６が仮想スイッチに接続されていた際の仮想ポート名を用いて移動先のホストコンピュータ４上の仮想スイッチ４０に仮想ポート５を生成する。
【０２３５】
そして、管理装置１４は、当該仮想ポート５に移動先のＶＬＡＮドメイン８で利用可能なＶＬＡＮ９を割り当て、当該ＶＬＡＮ９が移動前と同じローカル仮想ネットワーク７に接続されるように、仮想ネットワークゲートウェイ装置２において中間ＩＦ７０を介して当該ＶＬＡＮ９と当該仮想ネットワークを接続する。
【０２３６】
これにより、一つ以上のＶＬＡＮドメイン８及び一つ以上のデータセンタ３４００にまたがって、同じ仮想ネットワーク１６に接続された状態で、仮想マシン６を移動させることが可能となる。
【０２３７】
上記実施例では、仮想化部としてハイパーバイザ４１を採用する例を示したが，ＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）を採用しても良い。
【０２３８】
また、上記実施例では、管理装置１４と仮想化基盤管理装置１５を別個の計算機とする例を示したが、管理装置１４と仮想化基盤管理装置１５がひとつの管理計算機で構成されてもよい。例えば、管理装置１４のネットワークマッピング機能３１（ネットワークマッピング部）と、ハイパーバイザ４１を制御する機能として仮想化基盤管理装置１５の仮想化管理部をひとつの管理計算機で提供することができる。
【０２３９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０２４０】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２４１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０２４２】
１  通信ネットワーク
２−１、２−２  仮想ネットワークゲートウェイ装置
３−１〜３−４  ポート
４−１〜４−４  ホストコンピュータ
５−１〜５−７  仮想ポート
６−１〜６−７  仮想マシン
７−１〜７−４  ローカル仮想ネットワーク
８−１〜８−３  ＶＬＡＮドメイン
９−１〜９−７  ＶＬＡＮ
１１  ネットワーク装置
１２  端末
１３  ポータル
１４  管理装置
１５  仮想化基盤管理装置
１６−１、１６−２  仮想ネットワーク
２３−１、２３−２  連携インタフェース
４０−１〜４０−４  仮想スイッチ
４１−１〜４１−４  ハイパーバイザ
７０−１〜７０−４  中間インタフェース
３４００−１、３４００−ｎ  データセンタ
【図１】
2016100739.tif 000003
【図２】
2016100739.tif 000004
【図３】
2016100739.tif 000005
【図４】
2016100739.tif 000006
【図５】
2016100739.tif 000007
【図６】
2016100739.tif 000008
【図７】
2016100739.tif 000009
【図８】
2016100739.tif 000010
【図９】
2016100739.tif 000011
【図１０】
2016100739.tif 000012
【図１１】
2016100739.tif 000013
【図１２】
2016100739.tif 000014
【図１３】
2016100739.tif 000015
【図１４】
2016100739.tif 000016
【図１５】
2016100739.tif 000017
【図１６】
2016100739.tif 000018