(57)【要約】【課題】接続先の仮想ルータの変更を伴う仮想マシンの移動を容易に行うこと。【解決手段】制御装置１０１は、複数のネットワークＮＷに仮想マシンＶＭ群を分散配置する際に、各ネットワークＮＷ内に同一アドレスを設定した仮想ルータＲを起動する。制御装置１０１は、仮想マシンＶＭ群の仮想マシンＶＭ間を接続するとともに、各ネットワークＮＷ内の仮想マシンＶＭと仮想ルータＲとを接続する第１仮想網を構築する。制御装置１０１は、各ネットワークＮＷに起動した仮想ルータＲ間を接続する第２仮想網を構築する。制御装置１０１は、各ネットワークＮＷに起動した各仮想ルータＲに対応する経路表を作成して、各仮想ルータＲに設定する。【選択図】図１
2015035776.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、
前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、
前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する、
処理を実行することを特徴とする仮想ルータ制御方法。
【請求項２】
前記起動する処理は、
前記複数のネットワークのいずれかのネットワークから他のネットワークに仮想マシンを移動する際に、前記他のネットワークに前記仮想ルータを起動していない場合、前記他のネットワークに前記仮想ルータを起動することを特徴とする請求項１に記載の仮想ルータ制御方法。
【請求項３】
前記コンピュータが、
前記複数のネットワークのいずれかのネットワークの仮想マシンを停止する際に、前記いずれかのネットワークに他の仮想マシンが起動していない場合、前記いずれかのネットワークの前記仮想ルータを停止する処理を実行することを特徴とする請求項１または２に記載の仮想ルータ制御方法。
【請求項４】
前記設定する処理は、
前記各ネットワークに起動した仮想ルータについて、前記仮想マシン群の各仮想マシンが前記仮想ルータと同一ネットワークにあるか否かに応じて、前記仮想ルータの前記第１仮想網のアドレス、または、前記各仮想マシンと同一ネットワークの仮想ルータの前記第２仮想網のアドレスを、前記各仮想マシンの前記第１仮想網のアドレスに対応付けることにより、前記経路表を作成することを特徴とする請求項１〜３のいずれか一つに記載の仮想ルータ制御方法。
【請求項５】
前記起動する処理は、
前記各ネットワークに同一のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスおよびＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを設定した仮想ルータを起動することを特徴とする請求項１〜４のいずれか一つに記載の仮想ルータ制御方法。
【請求項６】
コンピュータに、
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、
前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、
前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する、
処理を実行させることを特徴とする仮想ルータ制御プログラム。
【請求項７】
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動する起動部と、
前記仮想マシン群の仮想マシン間を接続するとともに前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築する構築部と、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する設定部と、
を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ルータ制御方法、仮想ルータ制御プログラムおよび制御装置に関する。
【背景技術】
【０００２】
ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）は、コンピュータシステムの稼働に必要な基盤そのものを利用者に提供するサービスである。ＩａａＳでは、利用者が設計した仮想マシンとネットワークからなるシステムを提供して、利用者に自由に使わせることを前提としている。
【０００３】
また、複数の利用者にＩａａＳを提供するデータセンタでは、利用者ごとのシステムの提供や管理をし易くするために、ラック群単位で利用者のシステムを構築して管理することが行われている。ラック群とは、資源構成の単位化、資源管理の分散処理化および障害の隔離を目的としてまとめられた物理マシンの集合である。
【０００４】
関連する先行技術としては、仮想ルータＩＰアドレスをセグメントごとに備え、複数の仮想マシンモニタ上で動作する仮想マシンの仮想マシンＩＰアドレスと仮想ルータＩＰアドレスを対応付けたルーティングテーブルを備える仮想マシンモニタがある。仮想マシンモニタは、パケットを送信する際に、ルーティングテーブルを参照し、宛先仮想ルータＩＰアドレスが自仮想マシンモニタと同一の場合は宛先ＭＡＣアドレスを宛先仮想マシンのＭＡＣアドレスに変換し、変換後のパケットを送信する。一方、自仮想マシンと同一でない場合、仮想マシンモニタは、宛先ＭＡＣアドレスを宛先仮想ルータのＭＡＣアドレスに変換し、変換後のパケットを送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２３１３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、データセンタ内の資源再分配や物理マシンのメンテナンス等のために、ある物理マシン上で動作している仮想マシンを他の物理マシンに移動することが難しい場合がある。
【０００７】
例えば、物理マシン上で動作している仮想マシンの移動に伴って、仮想マシンがアクセスするルータを変更する場合がある。この場合、例えば、仮想マシンについてのルータの設定を変更することになるが、ＩａａＳでは、利用者に提供したシステムを利用者が自由に使うことを前提としており、利用者の仮想マシンについての設定を管理者が勝手に変更することができない。
【０００８】
一つの側面では、本発明は、接続先の仮想ルータの変更を伴う仮想マシンの移動を容易に行うことができる仮想ルータ制御方法、仮想ルータ制御プログラムおよび制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する仮想ルータ制御方法、仮想ルータ制御プログラムおよび制御装置が提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、接続先の仮想ルータの変更を伴う仮想マシンの移動を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態にかかる仮想ルータ制御方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、制御装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、仮想システムＳのシステム構成例を示す説明図である。
【図５】図５は、仮想マシン管理表５００の記憶内容の一例を示す説明図である。
【図６】図６は、仮想ルータ管理表６００の記憶内容の一例を示す説明図である。
【図７】図７は、制御装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、仮想システムＳの状態遷移例を示す説明図（その１）である。
【図９】図９は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その１）である。
【図１０】図１０は、仮想システムＳの状態遷移例を示す説明図（その２）である。
【図１１】図１１は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その２）である。
【図１２】図１２は、仮想システムＳの状態遷移例を示す説明図（その３）である。
【図１３】図１３は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その３）である。
【図１４】図１４は、経路表Ｔの作成例を示す説明図（その１）である。
【図１５】図１５は、経路表Ｔの作成例を示す説明図（その２）である。
【図１６】図１６は、Ｌ２仮想網の構築例を示す説明図である。
【図１７】図１７は、３ラック群での仮想マシンＶＭ群の分散配置例を示す説明図である。
【図１８】図１８は、制御装置１０１の第１の制御処理手順の一例を示すフローチャート（その１）である。
【図１９】図１９は、制御装置１０１の第１の制御処理手順の一例を示すフローチャート（その２）である。
【図２０】図２０は、仮想マシンＶＭ間の仮想網更新処理の具体的処理手順の一例を示すフローチャートである。
【図２１】図２１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理の具体的処理手順の一例を示すフローチャートである。
【図２２】図２２は、ルータ連携網撤去処理の具体的処理手順の一例を示すフローチャートである。
【図２３】図２３は、仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理の具体的処理手順の一例を示すフローチャートである。
【図２４】図２４は、ルータ連携網構築処理の具体的処理手順の一例を示すフローチャートである。
【図２５】図２５は、仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理の具体的処理手順の一例を示すフローチャートである。
【図２６】図２６は、経路表設定処理の具体的処理手順の一例を示すフローチャートである。
【図２７】図２７は、経路表作成処理の具体的処理手順の一例を示すフローチャートである。
【図２８】図２８は、制御装置１０１の第２の制御処理手順の一例を示すフローチャートである。
【図２９】図２９は、仮想マシンＶＭ間の仮想網構築処理の具体的処理手順の一例を示すフローチャートである。
【図３０】図３０は、制御装置１０１の第３の制御処理手順の一例を示すフローチャートである。
【図３１】図３１は、仮想マシンＶＭ間の仮想網撤去処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に図面を参照して、本発明にかかる仮想ルータ制御方法、仮想ルータ制御プログラムおよび制御装置の実施の形態を詳細に説明する。
【００１３】
（仮想ルータ制御方法の一実施例）
図１は、実施の形態にかかる仮想ルータ制御方法の一実施例を示す説明図である。図１において、制御装置１０１は、仮想ルータを制御するコンピュータである。ここで、仮想ルータとは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ルーティングの機能を有する仮想的なコンピュータである。
【００１４】
仮想ルータは、ソフトウェア的に増減設可能であり、専用の物理マシン上で動作させてもよく、また、仮想マシンの一種として、汎用の物理マシン上で動作させることにしてもよい。仮想マシンとは、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。
【００１５】
本実施の形態では、仮想ルータは、例えば、ＩａａＳにより利用者に提供されるシステムの仮想マシン間で送受信されるパケットを、指定された経路情報に基づいてルーティングする。ＩａａＳでは、システムは、利用者によって設計され、計算機資源を管理するモジュールによって物理的なコンピュータやネットワーク等を割り当てることにより実現される。
【００１６】
ここで、複数の利用者にＩａａＳを提供するようなデータセンタでは、利用者ごとのシステムの提供や管理をし易くするために、ラック群単位で利用者のシステムを構築して管理することが行われている。ラック群とは、資源構成の単位化、資源管理の分散処理化および障害の隔離を目的としてまとめられた物理マシンの集合である。ラック群内は物理的なネットワークが密に敷設されるのに対して、ラック群間は疎な結線であり、ラック群内に比べて通信が集中する傾向にある。
【００１７】
また、データセンタでは、資源再分配やメンテナンス等のために、ある物理マシン上で稼働している利用者の仮想マシンを、管理者が、他の物理マシンに移動する場合がある。この際、利用者の仮想マシンを、ラック群を越えて移動すると、一つのラック群にのみ仮想ルータが存在する状況が発生する。
【００１８】
この状況では、仮想ルータが存在するラック群に障害が発生して通信不能となると、他のラック群が正常であっても、システム全体としては動作不能になり、障害の局所化ができなくなる。また、この状況では、通信の局所化ができず、ボトルネックとなるラック群間通信が発生してしまう。
【００１９】
このため、ラック群ごとにネットワークをセグメント分割し、それぞれのラック群に仮想ルータを設置してルーティングすることが考えられる。ところが、利用者が物理的な配置を意識してシステムを設計することになる。また、資源再分配やメンテナンス等の管理者側の都合により、ラック群を越えて、利用者の仮想マシンを移動する場合には、仮想マシンがアクセスする仮想ルータを変更することになる。
【００２０】
この場合、移動する仮想マシンについて、仮想ルータの設定等を変更することになるが、システムを利用者が自由に使うことを前提とするＩａａＳでは、管理者が勝手に仮想マシンについての設定を変更することができない。また、仮想マシンの移動の度に、管理者が利用者にシステムの再設計を依頼して日程調整を行い、仮想マシンの移動とシステム内部の設定変更を同時に実施するという運用も考えられるが、現実的な運用ではない。
【００２１】
そこで、本実施の形態では、利用者に提供した仮想マシンの設定を変更せずに、ラック群を越えた仮想マシンの移動を可能にする仮想ルータ制御方法について説明する。以下、制御装置１０１の制御処理例について説明する。
【００２２】
（１）制御装置１０１は、複数のネットワークＮＷに仮想マシンＶＭ群を分散配置する際に、各ネットワークＮＷ内に同一アドレスを設定した仮想ルータＲを起動する。ここで、ネットワークＮＷとは、資源構成の単位化、資源管理の分散処理化および障害の隔離を目的としてまとめられた物理サーバの集合により構築される通信網である。
【００２３】
ネットワークＮＷは、例えば、イーサネット（登録商標）などのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。なお、ネットワークＮＷは、複数のサブネットにセグメント分割されていてもよい。仮想マシンＶＭ群は、ＩａａＳの利用者が管理する仮想マシンの集合であり、ＩａａＳにより提供されるシステムを形成する構成要素である。
【００２４】
以下の説明では、ＩａａＳにより利用者に提供されるシステムを「仮想システムＳ」と表記する場合がある。
【００２５】
仮想ルータＲは、仮想システムＳを形成する構成要素であり、仮想システムＳ内の仮想マシンＶＭ間で送受信されるパケットをルーティングする。また、仮想ルータＲのアドレスとは、仮想ルータＲのＩＰアドレスおよびＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスである。
【００２６】
具体的には、例えば、制御装置１０１は、複数のネットワークＮＷのいずれかのネットワークＮＷから他のネットワークＮＷに仮想マシンＶＭを移動する際に、他のネットワークＮＷに仮想ルータＲを起動する。ただし、他のネットワークＮＷで仮想ルータＲが稼働している場合、制御装置１０１は、他のネットワークＮＷに仮想ルータＲを起動しない。
【００２７】
図１の例では、仮想マシンＶＭ１〜ＶＭ３は、利用者に提供される仮想システムＳを形成する仮想マシンＶＭ群であり、初期状態ではネットワークＮＷ１に配置されている。ここでは、ネットワークＮＷ１内の仮想マシンＶＭ１〜ＶＭ３のうちの仮想マシンＶＭ３がネットワークＮＷ２内に移動され、ネットワークＮＷ２内に仮想ルータＲ１と同一アドレスが設定された仮想ルータＲ２が起動されている。
【００２８】
（２）制御装置１０１は、仮想マシンＶＭ群の仮想マシンＶＭ間を接続するとともに、各ネットワークＮＷ内の仮想マシンＶＭと仮想ルータＲとを接続する第１仮想網を構築する。ここで、第１仮想網は、例えば、データリンク層の仮想網である。データリンク層は、ＯＳＩ参照モデルの第２層（Ｌ２：Ｌａｙｅｒ２）に位置し、ネットワーク上で直接接続された機器同士での通信方式を定めたものである。
【００２９】
具体的には、例えば、制御装置１０１は、仮想マシンＶＭ間のトンネルを形成するとともに、各ネットワークＮＷ内の仮想マシンＶＭと仮想ルータＲとの間のトンネルを形成することにより、第１仮想網を構築する。トンネルとは、トンネリングにより確立される機器間を繋ぐ仮想的な直結通信回線である。
【００３０】
図１の例では、仮想マシンＶＭ１〜ＶＭ３の仮想マシンＶＭ間のトンネルを形成するとともに、各ネットワークＮＷ１，ＮＷ２内の仮想マシンＶＭ／仮想ルータＲ間のトンネルを形成することにより、第１仮想網が構築される。ただし、図１の例では、初期状態において、仮想マシンＶＭ１〜ＶＭ３の仮想マシンＶＭ間を接続するとともに、ネットワークＮＷ１内の各仮想マシンＶＭ１〜ＶＭ３と仮想ルータＲ１とを接続する第１仮想網が構築されている。
【００３１】
この場合、制御装置１０１は、仮想マシンＶＭ３と仮想マシンＶＭ１，ＶＭ２との間のトンネルを再形成するとともに、ネットワークＮＷ２内の仮想マシンＶＭ３と仮想ルータＲ２との間のトンネルを形成することにより、第１仮想網を再構築することにしてもよい。この際、仮想マシンＶＭ３とネットワークＮＷ１内の仮想ルータＲ１との間に形成されたトンネルは削除（撤去）することになる。
【００３２】
（３）制御装置１０１は、各ネットワークＮＷに起動した仮想ルータＲ間を接続する第２仮想網を構築する。ここで、第２仮想網は、例えば、ネットワーク層の仮想網である。ネットワーク層は、ＯＳＩ参照モデルの第３層（Ｌ３：Ｌａｙｅｒ３）に位置し、データリンク層以下のプロトコルを使用して接続されているネットワーク同士の通信を行うための通信方式を定めたものである。
【００３３】
具体的には、例えば、制御装置１０１は、仮想ルータＲ間のトンネルを形成することにより、第２仮想網を構築する。図１の例では、仮想ルータＲ１，Ｒ２間のトンネルを形成することにより、第２仮想網が構築される。
【００３４】
（４）制御装置１０１は、各ネットワークＮＷに起動した各仮想ルータＲに対応する経路表を作成して、各仮想ルータＲに設定する。ここで、経路表とは、パケットの宛先に関する経路情報を記憶する情報、いわゆる、ルーティングテーブルである。
【００３５】
具体的には、例えば、まず、制御装置１０１は、各ネットワークＮＷに起動した仮想ルータＲについて、仮想マシンＶＭ群の仮想マシンＶＭごとに、仮想マシンＶＭが仮想ルータＲと同一ネットワークＮＷにあるか否かを判定する。ここで、同一ネットワークＮＷにある場合、制御装置１０１は、仮想ルータＲの第１仮想網のアドレスを、仮想マシンＶＭの第１仮想網のアドレスに対応付ける。
【００３６】
一方、同一ネットワークＮＷにない場合、仮想マシンＶＭと同一ネットワークＮＷの他の仮想ルータＲの第２仮想網のアドレスを、仮想マシンＶＭの第１仮想網のアドレスに対応付ける。これにより、各ネットワークＮＷに起動した仮想ルータＲに対応する経路表Ｔを作成することができる。図１の例では、各仮想ルータＲ１，Ｒ２に対応する経路表Ｔ１，Ｔ２が作成されて、各仮想ルータＲ１，Ｒ２にそれぞれ設定されている。
【００３７】
このように、制御装置１０１によれば、複数のネットワークＮＷに仮想マシンＶＭ群を分散配置する際に、各ネットワークＮＷに同一アドレスを設定した仮想ルータＲを起動することができる。また、制御装置１０１によれば、各仮想マシンＶＭ間を接続するとともに各ネットワークＮＷの仮想マシンＶＭと仮想ルータＲとを接続する第１仮想網を構築し、各ネットワークＮＷに起動した仮想ルータＲ間を接続する第２仮想網を構築することができる。そして、制御装置１０１によれば、各ネットワークＮＷに起動した仮想ルータＲに対応する経路表Ｔを作成して仮想ルータＲに設定することができる。
【００３８】
これにより、利用者に提供した仮想マシンＶＭの設定を変更せずに、接続先の仮想ルータＲの変更を伴う仮想マシンＶＭの移動を容易に行うことができる。この結果、データセンタ内の資源再分配や物理マシンのメンテナンス等の管理者側の都合で、利用者の仮想マシンＶＭをラック群を越えて移動可能となり、データセンタの資源管理や運用管理の容易化を図ることができる。また、同一ネットワークＮＷ内の仮想マシンＶＭ間のルーティングは、同一ネットワークＮＷ内の仮想ルータＲで実施されるため、障害および通信の局所化を実現することができる。
【００３９】
（システム２００のシステム構成例）
次に、実施の形態にかかるシステム２００のシステム構成例について説明する。ここでは、図１に示した制御装置１０１を、システム２００内の計算機資源を管理するモジュールに適用する場合を例に挙げて説明する。また、以下の説明では、上述した「ネットワークＮＷ」を「ラック群ｒｃ」と表記する場合がある。
【００４０】
図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、制御装置１０１と、管理者端末２０１と、利用者端末２０２と、複数の物理マシンＰＭと、を含む。システム２００において、制御装置１０１、管理者端末２０１、利用者端末２０２および複数の物理マシンＰＭは、有線または無線のネットワーク２１０によって接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００４１】
ここで、システム２００は、コンピュータシステムの稼働に必要な基盤そのものを利用者に提供するＩａａＳシステムである。制御装置１０１は、システム２００内の物理マシンＰＭ、物理ネットワーク、物理ストレージ等の計算機資源を管理する機能を有する。管理者端末２０１は、システム２００の管理者が使用するコンピュータである。利用者端末２０２は、システム２００の利用者が使用するコンピュータである。
【００４２】
物理マシンＰＭは、システム２００内の計算機資源であり、自装置のハードウェア資源を仮想化して、複数の異なるＯＳを実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、物理マシンＰＭのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）などである。
【００４３】
具体的には、例えば、物理マシンＰＭは、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシンＶＭによってＯＳを稼働させることができる。仮想マシンＶＭの実体は、例えば、プログラムやＯＳなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。また、複数の物理マシンＰＭは、数十〜数百台単位でまとめられて一つのラック群ｒｃに設置される。
【００４４】
システム２００において、管理者は、管理者端末２０１を用いて制御装置１０１にアクセスすることで、物理マシンＰＭ上で動作する仮想マシンＶＭの配置変更、起動、停止要求等を行うことができる。また、管理者は、管理者端末２０１を用いて制御装置１０１にアクセスすることで、仮想マシンＶＭの配備状態を確認することができる。
【００４５】
また、利用者は、利用者端末２０２を用いて制御装置１０１にアクセスすることで、仮想システムＳの設計情報を登録することができる。仮想システムＳの設計情報とは、仮想システムＳを形成する仮想マシンＶＭ、仮想マシンＶＭの数、ネットワーク構成等を示す情報である。また、利用者は、利用者端末２０２を用いて制御装置１０１にアクセスすることで、仮想システムＳの配備、変更、撤収要求等を行うことができる。
【００４６】
制御装置１０１は、例えば、仮想システムＳの配備要求に応じて、物理的なコンピュータやネットワーク等を仮想システムＳに割り当てる。具体的には、例えば、制御装置１０１は、仮想システムＳの設計情報に基づいて、仮想システムＳを形成する仮想マシンＶＭを、どの物理マシンＰＭに配置するかといった配置計画を作成する。そして、制御装置１０１は、作成した配置計画に基づいて、物理マシンＰＭ上に仮想マシンＶＭや仮想ルータＲを起動したり、物理マシンＰＭ上の仮想マシンＶＭ間等を接続する仮想網を構築する。
【００４７】
また、制御装置１０１は、例えば、仮想マシンＶＭの配置変更、起動、停止要求等に応じて、物理マシンＰＭ上の仮想マシンＶＭの移動、起動、停止等を制御したり、物理マシンＰＭ上の仮想ルータＲの起動、停止等を制御する。なお、システム２００において、仮想システムＳを形成する仮想ルータＲは、管理者側の責任範囲であり、利用者の指定する経路制御仕様に従って転送サービスを提供する。
【００４８】
（制御装置１０１のハードウェア構成例）
図３は、制御装置１０１のハードウェア構成例を示すブロック図である。図３において、制御装置１０１は、ＣＰＵ３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４９】
ここで、ＣＰＵ３０１は、制御装置１０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００５０】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインタフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５１】
ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５２】
なお、制御装置１０１は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図２に示した管理者端末２０１、利用者端末２０２、物理マシンＰＭについても、上述した制御装置１０１と同様のハードウェア構成例により実現することができる。
【００５３】
（仮想システムＳのシステム構成例）
次に、利用者に提供される仮想システムＳのシステム構成例について説明する。
【００５４】
図４は、仮想システムＳのシステム構成例を示す説明図である。図４において、仮想システムＳは、仮想マシンＶＭ１〜ＶＭ６と、仮想ルータＲ１Ａと、を含む。仮想システムＳにおいて、仮想マシンＶＭ１〜ＶＭ４と仮想ルータＲ１Ａは、仮想網αによって接続される。また、仮想マシンＶＭ５，ＶＭ６と仮想ルータＲ１Ａは、仮想網βによって接続される。
【００５５】
仮想網αのＩＰアドレスの範囲は「１９２．１６８．１０．０／２４」である。仮想網βのＩＰアドレスの範囲は「１９２．１６８．２０．０／２４」である。仮想ルータＲ１Ａの仮想網αへの接続インタフェースのＩＰアドレスは「１９２．１６８．１０．１」である。また、仮想ルータＲ１Ａの仮想網βへの接続インタフェースのＩＰアドレスは「１９２．１６８．２０．１」である。
【００５６】
詳細は図８を用いて後述するが、仮想システムＳの初期状態において、仮想マシンＶＭ１〜ＶＭ６と仮想ルータＲ１Ａは、ラック群Ａに配置される。すなわち、仮想システムＳの初期状態において、仮想マシンＶＭ１〜ＶＭ６と仮想ルータＲ１Ａは、ラック群Ａに含まれるいずれかの物理マシンＰＭ上でそれぞれ動作する。
【００５７】
（仮想マシン管理表５００の記憶内容）
次に、制御装置１０１が用いる仮想マシン管理表５００の記憶内容について説明する。仮想マシン管理表５００は、利用者に提供される仮想システムＳを形成する仮想マシンＶＭを管理する情報である。仮想マシン管理表５００は、例えば、図３に示したメモリ３０２、ディスク３０５等の記憶装置により実現される。
【００５８】
図５は、仮想マシン管理表５００の記憶内容の一例を示す説明図である。図５において、仮想マシン管理表５００は、仮想システムＳを形成する仮想マシンＶＭごとの仮想マシン情報（例えば、仮想マシン情報５０１〜５０６）を記憶する。具体的には、仮想マシン情報５０１〜５０６は、仮想マシンＶＭ１〜ＶＭ６のＶＭ名、仮想システム情報および物理システム情報を有する。
【００５９】
ここで、ＶＭ名は、仮想マシンＶＭの識別子である。仮想システム情報は、接続仮想網と仮想網ＩＰアドレスを有する。接続仮想網は、仮想マシンＶＭが接続する仮想網である。仮想網ＩＰアドレスは、仮想マシンＶＭの接続仮想網への接続インタフェースのＩＰアドレス、すなわち、接続仮想網での仮想マシンＶＭのＩＰアドレスである。物理システム情報は、ラック群名と物理網ＩＰアドレスを有する。ラック群名は、仮想マシンＶＭが配置されたラック群の識別子である。物理網ＩＰアドレスは、仮想マシンＶＭが動作する物理マシンＰＭのＩＰアドレスである。
【００６０】
例えば、仮想マシン情報５０１は、仮想網αに接続された仮想マシンＶＭ１の仮想網ＩＰアドレス「１９２．１６８．１０．１１」と、仮想マシンＶＭ１が動作するラック群Ａの物理マシンＰＭの物理網ＩＰアドレス「１０．１００．１．６７」を示す
【００６１】
（仮想ルータ管理表６００の記憶内容）
次に、制御装置１０１が用いる仮想ルータ管理表６００の記憶内容について説明する。仮想ルータ管理表６００は、利用者に提供される仮想システムＳに含まれる仮想ルータＲを管理する情報である。仮想ルータ管理表６００は、例えば、図３に示したメモリ３０２、ディスク３０５等の記憶装置により実現される。
【００６２】
図６は、仮想ルータ管理表６００の記憶内容の一例を示す説明図である。図６において、仮想ルータ管理表６００は、論理ルータ情報６１０と仮想ルータ情報６２０を有する。論理ルータ情報６１０は、接続仮想網および仮想網ＩＰアドレスのフィールドを有し、各フィールドに情報を設定することで、仮想網情報（例えば、仮想網情報６１１，６１２）をレコードとして記憶する。
【００６３】
ここで、論理ルータとは、仮想システムＳに含まれる仮想ルータＲを論理的に一つのルータとしたものである。また、接続仮想網は、論理ルータが接続する仮想網である。仮想網ＩＰアドレスは、論理ルータ（仮想ルータＲ）の接続仮想網への接続インタフェースのＩＰアドレスである。例えば、仮想網情報６１１は、論理ルータＲ１の仮想網αへの接続インタフェースの仮想網ＩＰアドレス「１９２．１６８．１０．１」を示す。
【００６４】
仮想ルータ情報６２０は、インスタンス名、ラック群名、ルータ連携網ＩＰアドレスおよび物理網ＩＰアドレスのフィールドを有し、各フィールドに情報を設定することで、インスタンス情報（例えば、インスタンス情報６２１）をレコードとして記憶する。ここで、インスタンス名は、仮想ルータＲの識別子である。ラック群名は、仮想ルータＲが配置されたラック群ｒｃの識別子である。
【００６５】
ルータ連携網アドレスは、仮想ルータＲ間を接続する仮想網への仮想ルータＲの接続インタフェースのＩＰアドレスである。ルータ連携網用のＩＰアドレスは、管理者が用意してもよく、また、利用者が指定することにしてもよい。物理網ＩＰアドレスは、仮想ルータＲが動作する物理マシンＰＭのＩＰアドレスである。例えば、インスタンス情報６２１は、ラック群Ａに配置された仮想ルータＲ１Ａのルータ連携網ＩＰアドレス「１７２．３１．１０．１」と物理網ＩＰアドレス「１０．１００．１．３５」を示す。
【００６６】
（制御装置１０１の機能的構成例）
図７は、制御装置１０１の機能的構成例を示すブロック図である。図７において、制御装置１０１は、受付部７０１と、起動部７０２と、構築部７０３と、作成部７０４と、設定部７０５と、を含む構成である。受付部７０１〜設定部７０５は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５等の記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５等の記憶装置に記憶される。
【００６７】
受付部７０１は、仮想マシンＶＭ群のいずれかの仮想マシンＶＭの配置変更要求を受け付ける機能を有する。ここで、仮想マシン群ＶＭは、利用者に提供される仮想システムＳを形成する仮想マシンＶＭの集合である。また、配置変更要求とは、ある物理マシンＰＭ上で動作している仮想マシンＶＭを他の物理マシンＰＭ上に移動するための要求である。
【００６８】
配置変更要求には、例えば、移動対象の仮想マシンＶＭのＶＭ名、移動先のラック群ｒｃのラック群名、物理マシンＰＭの物理網ＩＰアドレス等が含まれている。具体的には、例えば、受付部７０１は、管理者端末２０１から管理者の操作入力を受け付けることにより、または、管理装置１０１の不図示のキーボードやマウスを用いた管理者の操作入力により、仮想マシンＶＭの配置変更要求を受け付ける。
【００６９】
起動部７０２は、仮想マシンＶＭを起動する機能を有する。具体的には、例えば、起動部７０２は、受付部７０１が仮想マシンＶＭの配置変更要求を受け付けたことに応じて、仮想マシンＶＭを移動する。ここで、仮想マシンＶＭの移動とは、ある仮想マシンＶＭで稼働しているＯＳやアプリケーションを他の仮想マシンＶＭに移行することである。
【００７０】
より具体的には、例えば、起動部７０２は、移動対象の仮想マシンＶＭをライブマイグレーションによって他の物理マシンＰＭ上に移動する。ライブマイグレーションとは、物理マシンＰＭ上で動作中の仮想マシンＶＭを、ほぼ無停止で他の物理マシンＰＭに移動することである。ライブマイグレーションによれば、物理マシンＰＭ上の仮想マシンＶＭが実行中のＯＳやアプリケーションを、非常に短い停止時間で他の物理マシンＰＭに移行することができる。
【００７１】
なお、仮想マシンＭが移動された場合、仮想マシン管理表５００内の移動された仮想マシンＶＭの仮想マシン情報が更新される。仮想マシン管理表５００の更新例については、図９、図１１および図１３を用いて後述する。
【００７２】
また、起動部７０２は、仮想ルータＲを起動する機能を有する。具体的には、例えば、起動部７０２は、受付部７０１が仮想マシンＶＭの配置変更要求を受け付けたことに応じて、移動先のラック群ｒｃに仮想ルータＲを起動する。より具体的には、例えば、まず、起動部７０２は、図６に示した仮想ルータ管理表６００を参照して、移動先のラック群ｒｃに仮想ルータＲが配置されているか否かを判断する。
【００７３】
ここで、移動先のラック群ｒｃに仮想ルータＲが配置されていない場合、起動部７０２は、移動元のラック群ｒｃの仮想ルータＲと同一の仮想網ＩＰアドレスおよびＭＡＣアドレスを設定した仮想ルータＲを移動先のラック群ｒｃに起動する。一方、移動先のラック群ｒｃに仮想ルータＲが配置済みの場合、起動部７０２は、仮想ルータＲを起動しない。
【００７４】
なお、仮想ルータＲが起動された場合、仮想ルータ管理表６００に起動された仮想ルータＲのインスタンス情報が登録される。仮想ルータ管理表６００の更新例については、図９を用いて後述する。
【００７５】
また、受付部７０１は、仮想マシンＶＭ群のいずれかの仮想マシンＶＭの起動要求を受け付ける機能を有する。ここで、起動要求とは、ある物理マシンＰＭ上で仮想マシンＶＭを起動するための要求である。起動要求には、例えば、起動対象の仮想マシンＶＭのＶＭ名、起動先のラック群ｒｃのラック群名、物理マシンＰＭの物理網ＩＰアドレス等が含まれている。
【００７６】
具体的には、例えば、受付部７０１は、管理者端末２０１から管理者の操作入力を受け付けることにより、または、管理装置１０１の不図示のキーボードやマウスを用いた管理者の操作入力により、仮想マシンＶＭの起動要求を受け付ける。起動要求は、例えば、仮想システムＳに新たな仮想マシンＶＭを追加する場合に行われる。
【００７７】
また、起動部７０２は、受付部７０１が仮想マシンＶＭの起動要求を受け付けたことに応じて、起動先の物理マシンＰＭ上に仮想マシンＶＭを起動する。なお、仮想マシンＶＭが起動された場合、起動された仮想マシンＶＭの仮想マシン情報が仮想マシン管理表５００に登録される。
【００７８】
また、起動部７０２は、受付部７０１が仮想マシンＶＭの起動要求を受け付けたことに応じて、起動先のラック群ｒｃに仮想ルータＲを起動する。具体的には、例えば、まず、起動部７０２は、仮想ルータ管理表６００を参照して、起動先のラック群ｒｃに仮想ルータＲが配置されているか否かを判断する。
【００７９】
ここで、起動先のラック群ｒｃに仮想ルータＲが配置されていない場合、起動部７０２は、他のラック群ｒｃの仮想ルータＲと同一の仮想網ＩＰアドレスおよびＭＡＣアドレスを設定した仮想ルータＲを起動先のラック群ｒｃに起動する。一方、起動先のラック群ｒｃに仮想ルータＲが配置済みの場合、起動部７０２は、仮想ルータＲを起動しない。
【００８０】
構築部７０３は、仮想マシンＶＭ群の仮想マシンＶＭ間を接続するとともに、各ラック群ｒｃ内の仮想マシンＶＭと仮想ルータＲとを接続する仮想網を構築する機能を有する。具体的には、例えば、構築部７０３は、仮想マシン管理表５００を参照して、仮想マシンＶＭ間のトンネルを形成する。また、構築部７０３は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、各ラック群ｒｃ内の仮想マシンＶＭと仮想ルータＲとの間のトンネルを形成する。これにより、構築部７０３は、データリンク層の仮想網を構築する。以下の説明では、データリンク層の仮想網を「Ｌ２仮想網」と表記する場合がある。
【００８１】
また、構築部７０３は、各ラック群ｒｃに起動した仮想ルータＲ間を接続する仮想網を構築する機能を有する。具体的には、例えば、構築部７０３は、仮想ルータ管理表６００を参照して、各ラック群ｒｃに起動した仮想ルータＲ間のトンネルを形成することにより、ネットワーク層の仮想網を構築する。以下の説明では、ネットワーク層の仮想網を「Ｌ３仮想網」と表記する場合がある。
【００８２】
なお、仮想マシンＶＭ間等のトンネルを形成する構築部７０３の具体的な処理内容については、図１７を用いて後述する。
【００８３】
作成部７０４は、各ラック群ｒｃに起動した仮想ルータＲに対応する経路表Ｔを作成する機能を有する。具体的には、例えば、まず、作成部７０４は、各ラック群ｒｃに起動した仮想ルータＲについて、仮想マシンＶＭ群の仮想マシンＶＭごとに、仮想マシンＶＭが仮想ルータＲと同一ラック群にあるか否かを判定する。
【００８４】
ここで、同一ラック群にある場合、作成部７０４は、仮想ルータＲのＬ２仮想網の仮想網ＩＰアドレスを、仮想マシンＶＭのＬ２仮想網の仮想網ＩＰアドレスに対応付ける。一方、同一ラック群にない場合、作成部７０４は、仮想マシンＶＭと同一ラック群の他の仮想ルータＲのＬ３仮想網のルータ連携網ＩＰアドレスを、仮想マシンＶＭのＬ２仮想網の仮想網ＩＰアドレスに対応付ける。これにより、各ラック群ｒｃに起動した仮想ルータＲに対応する経路表Ｔを作成することができる。なお、仮想ルータＲに対応する経路表Ｔの作成例については、図１４および図１５を用いて後述する。
【００８５】
設定部７０５は、作成部７０４によって作成された仮想ルータＲに対応する経路表Ｔを仮想ルータＲに設定する機能を有する。具体的には、例えば、設定部７０５は、各仮想ルータＲに対応する経路表Ｔを各仮想ルータＲに送信することにより、各仮想ルータＲに経路表Ｔを設定する。
【００８６】
また、受付部７０１は、仮想マシンＶＭ群のいずれかの仮想マシンＶＭの停止要求を受け付ける機能を有する。ここで、停止要求とは、ある物理マシンＰＭ上で動作している仮想マシンＶＭを停止するための要求である。停止要求には、例えば、停止対象の仮想マシンＶＭのＶＭ名、停止先のラック群ｒｃのラック群名、物理マシンＰＭの物理網ＩＰアドレス等が含まれている。
【００８７】
具体的には、例えば、受付部７０１は、管理者端末２０１から管理者の操作入力を受け付けることにより、または、管理装置１０１の不図示のキーボードやマウスを用いた管理者の操作入力により、仮想マシンＶＭの停止要求を受け付ける。
【００８８】
また、起動部７０２は、受付部７０１が仮想マシンＶＭの停止要求を受け付けたことに応じて、停止対象の仮想マシンＶＭを停止する。なお、仮想マシンＭが停止された場合、停止された仮想マシンＶＭの仮想マシン情報が仮想マシン管理表５００から削除される。
【００８９】
また、起動部７０２は、仮想ルータＲを停止する機能を有する。具体的には、例えば、起動部７０２は、受付部７０１が仮想マシンＶＭの停止要求を受け付けたことに応じて、仮想マシン管理表５００を参照して、停止先のラック群ｒｃに、停止対象の仮想マシンＶＭとは異なる他の仮想マシンＶＭが配置されているか否かを判断する。
【００９０】
ここで、停止先のラック群ｒｃに他の仮想ルータＲが配置されていない場合、起動部７０２は、停止先のラック群ｒｃの仮想ルータＲを停止する。一方、停止先のラック群ｒｃに他の仮想マシンＶＭが配置されている場合、起動部７０２は、仮想ルータＲを停止しない。なお、仮想ルータＲが停止された場合、停止された仮想ルータＲのインスタンス情報が仮想ルータ管理表６００から削除される。
【００９１】
また、起動部７０２は、受付部７０１が仮想マシンＶＭの配置変更要求を受け付けたことに応じて、仮想マシン管理表５００を参照して、移動元のラック群ｒｃに、移動対象の仮想マシンＶＭとは異なる他の仮想マシンＶＭが配置されているか否かを判断する。ここで、移動元のラック群ｒｃに他の仮想ルータＲが配置されていない場合、起動部７０２は、移動元のラック群ｒｃの仮想ルータＲを停止する。一方、移動元のラック群ｒｃに他の仮想マシンＶＭが配置されている場合、起動部７０２は、仮想ルータＲを停止しない。
【００９２】
（仮想システムＳの状態遷移例）
次に、仮想システムＳの状態遷移例について説明する。ここでは、仮想マシンＶＭ１〜ＶＭ６と、仮想ルータＲ１Ａと、を含む仮想システムＳの状態遷移例について説明する（例えば、図５、図６参照）。
【００９３】
図８は、仮想システムＳの状態遷移例を示す説明図（その１）である。図８において、状態０（初期状態）では、仮想システムＳはラック群Ａに配置されている。また、仮想マシンＶＭ１〜ＶＭ４の各仮想マシンＶＭ間を接続するとともに、ラック群Ａ内の各仮想マシンＶＭ１〜ＶＭ４と仮想ルータＲ１Ａとを接続するＬ２仮想網αが構築されている。また、仮想マシンＶＭ５，ＶＭ６間を接続するとともに、ラック群Ａ内の各仮想マシンＶＭ５，ＶＭ６と仮想ルータＲ１Ａとを接続するＬ２仮想網βが構築されている。
【００９４】
＜状態０⇒状態１＞
ここで、仮想マシンＶＭ４をラック群Ｂに移動する場合を想定する。この場合、仮想マシンＶＭ４の移動に伴って、ラック群Ｂ内に仮想ルータＲ１Ｂが起動され、仮想システムＳが状態０から状態１に遷移する。
【００９５】
状態１では、仮想マシンＶＭ１〜ＶＭ３，ＶＭ５，ＶＭ６と仮想ルータＲ１Ａがラック群Ａに配置され、仮想マシンＶＭ４と仮想ルータＲ１Ｂがラック群Ｂに配置されている。この結果、仮想マシンＶＭ１〜ＶＭ４の各仮想マシンＶＭ間を接続し、ラック群Ａ内の各仮想マシンＶＭ１〜ＶＭ３と仮想ルータＲ１Ａとを接続し、ラック群Ｂ内の仮想マシンＶＭ４と仮想ルータＲ１Ｂとを接続するＬ２仮想網αが構築されている。また、各ラック群Ａ，Ｂに起動された仮想ルータＲ１Ａ，Ｒ１Ｂ間を接続するルータ連携網が構築されている。このルータ連携網は、Ｌ３仮想網である。なお、Ｌ２仮想網βについては、状態０と同様である。
【００９６】
＜仮想マシン管理表５００および仮想ルータ管理表６００の更新例（その１）＞
ここで、仮想システムＳが状態０から状態１に遷移した場合の仮想マシン管理表５００および仮想ルータ管理表６００の更新例について説明する。
【００９７】
図９は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その１）である。図９において、ラック群Ａからラック群Ｂに仮想マシンＶＭ４が移動した結果、仮想マシン管理表５００内の仮想マシン情報５０４が更新されている。具体的には、ラック群名が移動先のラック群Ｂのラック群名「Ｂ」に更新され、仮想マシンＶＭ４の物理網ＩＰアドレスが移動先の物理マシンＰＭのＩＰアドレス「１０．１００．２．７２」に更新されている。
【００９８】
また、ラック群Ａからラック群Ｂに仮想マシンＶＭ４が移動した結果、仮想ルータ管理表６００の仮想ルータ情報６２０内に仮想ルータＲ１Ｂのインスタンス情報６２２が新規登録されている。インスタンス情報６２２は、ラック群Ｂに配置された仮想ルータＲ１Ｂのルータ連携網ＩＰアドレス「１７２．３１．１０．２」と物理網ＩＰアドレス「１０．１００．２．２２」を示す。
【００９９】
＜状態１⇒状態２＞
次に、仮想マシンＶＭ６をラック群Ｂに移動する場合を想定する。この場合、仮想マシンＶＭ６がラック群Ｂに移動された結果、仮想システムＳが状態１から状態２に遷移する。この際、ラック群Ｂには仮想ルータＲ１Ｂが配置済みのため、仮想マシンＶＭ６の移動に伴って、ラック群Ｂに新たな仮想ルータＲは起動されない。
【０１００】
図１０は、仮想システムＳの状態遷移例を示す説明図（その２）である。図１０において、状態２では、仮想マシンＶＭ１〜ＶＭ３，ＶＭ５と仮想ルータＲ１Ａがラック群Ａに配置され、仮想マシンＶＭ４，ＶＭ６と仮想ルータＲ１Ｂがラック群Ｂに配置されている。この結果、仮想マシンＶＭ５，ＶＭ６間を接続するとともに、ラック群Ｂ内の仮想マシンＶＭ６と仮想ルータＲ１Ｂとを接続するＬ２仮想網βが構築されている。なお、仮想ルータＲ１Ａ，Ｒ１Ｂ間を接続するルータ連携網については、状態１と同様である。また、Ｌ２仮想網αについては、状態１と同様である。
【０１０１】
＜仮想マシン管理表５００および仮想ルータ管理表６００の更新例（その２）＞
ここで、仮想システムＳが状態１から状態２に遷移した場合の仮想マシン管理表５００および仮想ルータ管理表６００の更新例について説明する。
【０１０２】
図１１は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その２）である。図１１において、ラック群Ａからラック群Ｂに仮想マシンＶＭ６が移動した結果、仮想マシン管理表５００内の仮想マシン情報５０６が更新されている。具体的には、ラック群名が移動先のラック群Ｂのラック群名「Ｂ」に更新され、仮想マシンＶＭ６の物理網ＩＰアドレスが移動先の物理マシンＰＭのＩＰアドレス「１０．１００．２．３８」に更新されている。仮想ルータ管理表６００の記憶内容については、ラック群Ｂに仮想ルータＲ１Ｂが配置済みのため変化しない。
【０１０３】
＜状態２⇒状態３＞
次に、仮想マシンＶＭ３をラック群Ｂに移動する場合を想定する。この場合、仮想マシンＶＭ３がラック群Ｂに移動された結果、仮想システムＳが状態２から状態３に遷移する。この際、ラック群Ｂには仮想ルータＲ１Ｂが配置済みのため、仮想マシンＶＭ３の移動に伴って、ラック群Ｂに新たな仮想ルータＲは起動されない。
【０１０４】
図１２は、仮想システムＳの状態遷移例を示す説明図（その３）である。図１２において、状態３では、仮想マシンＶＭ１，ＶＭ２，ＶＭ５と仮想ルータＲ１Ａがラック群Ａに配置され、仮想マシンＶＭ３，ＶＭ４，ＶＭ６と仮想ルータＲ１Ｂがラック群Ｂに配置されている。
【０１０５】
この結果、仮想マシンＶＭ１〜ＶＭ４の各仮想マシンＶＭ間を接続するとともに、ラック群Ａ内の各仮想マシンＶＭ１，ＶＭ２と仮想ルータＲ１Ａとを接続し、ラック群Ｂ内の仮想マシンＶＭ３，ＶＭ４と仮想ルータＲ１Ｂとを接続するＬ２仮想網αが構築されている。なお、仮想ルータＲ１Ａ，Ｒ１Ｂ間を接続するルータ連携網については、状態２と同様である。また、Ｌ２仮想網βについては、状態２と同様である。
【０１０６】
＜仮想マシン管理表５００および仮想ルータ管理表６００の更新例（その３）＞
ここで、仮想システムＳが状態２から状態３に遷移した場合の仮想マシン管理表５００および仮想ルータ管理表６００の更新例について説明する。
【０１０７】
図１３は、仮想マシン管理表５００および仮想ルータ管理表６００の更新例を示す説明図（その３）である。図１３において、ラック群Ａからラック群Ｂに仮想マシンＶＭ３が移動した結果、仮想マシン管理表５００内の仮想マシン情報５０３が更新されている。具体的には、ラック群名が移動先のラック群Ｂのラック群名「Ｂ」に更新され、仮想マシンＶＭ３の物理網ＩＰアドレスが移動先の物理マシンＰＭのＩＰアドレス「１０．１００．２．８７」に更新されている。仮想ルータ管理表６００の記憶内容については、ラック群Ｂに仮想ルータＲ１Ｂが配置済みのため変化しない。
【０１０８】
（経路表Ｔの作成例）
次に、各仮想ルータＲに対応する経路表Ｔの作成例について説明する。ここでは、図１３に示した仮想マシン管理表５００および仮想ルータ管理表６００の記憶内容に基づいて、ラック群Ａの仮想ルータＲ１Ａに対応する経路表Ｔの作成例について説明する。
【０１０９】
図１４は、経路表Ｔの作成例を示す説明図（その１）である。図１４において、経路表Ｔ１Ａは、ＩＰアドレス、ネットマスクおよびネクストホップのフィールドを有し、各フィールドに情報を設定することで、宛先ごとの経路情報をレコードとして記憶する。
【０１１０】
ここで、ＩＰアドレスは、パケットの宛先となる仮想マシンＶＭの仮想網ＩＰアドレスである。ネットマスクは、ＩＰアドレスのうちのネットワークアドレスとホストアドレスを識別するための値である。ネクストホップは、次にパケットを転送する送り先のＩＰアドレスである。
【０１１１】
まず、作成部７０４は、仮想マシン管理表５００を参照して、経路表Ｔ１ＡのＩＰアドレスフィールドに、各仮想マシンＶＭ１〜ＶＭ６の仮想網ＩＰアドレスを設定する。また、作成部７０４は、経路表Ｔ１Ａのネットマスクフィールドに、３２ビットを示す「／３２」を設定する（図１４中、（１４−１）参照）。
【０１１２】
次に、作成部７０４は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、経路表Ｔ１Ａのネクストホップフィールドに、次にパケットを転送する送り先のＩＰアドレスを設定する（図１４中、（１４−２）参照）。
【０１１３】
ここで、仮想マシンＶＭ１（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ１のラック群Ａと仮想ルータＲ１Ａのラック群Ａとが一致するか否かを判断する。ここでは、仮想マシンＶＭ１のラック群Ａと仮想ルータＲ１Ａのラック群Ａとが一致する。この場合、作成部７０４は、仮想マシンＶＭ１を含む仮想網αへの仮想ルータＲ１Ａの接続インタフェースの仮想網ＩＰアドレス「１９２．１６８．１０．１」をネクストホップフィールドに設定する。
【０１１４】
また、仮想マシンＶＭ３（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ３のラック群Ｂと仮想ルータＲ１Ａのラック群Ａとが一致するか否かを判断する。ここでは、仮想マシンＶＭ３のラック群Ｂと仮想ルータＲ１Ａのラック群Ａとが一致しない。この場合、作成部７０４は、仮想マシンＶＭ３が配置されたラック群Ｂの仮想ルータＲ１Ｂのルータ連携網ＩＰアドレス「１７２．３１．１０．２」をネクストホップフィールドに設定する。
【０１１５】
また、仮想マシンＶＭ５（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ５のラック群Ａと仮想ルータＲ１Ａのラック群Ａとが一致するか否かを判断する。ここでは、仮想マシンＶＭ５のラック群Ａと仮想ルータＲ１Ａのラック群Ａとが一致する。この場合、作成部７０４は、仮想マシンＶＭ５を含む仮想網βへの仮想ルータＲ１Ａの接続インタフェースの仮想網ＩＰアドレス「１９２．１６８．２０．１」をネクストホップフィールドに設定する。
【０１１６】
次に、図１３に示した仮想マシン管理表５００および仮想ルータ管理表６００の記憶内容に基づいて、ラック群Ｂの仮想ルータＲ１Ｂに対応する経路表Ｔの作成例について説明する。
【０１１７】
図１５は、経路表Ｔの作成例を示す説明図（その２）である。図１５において、まず、作成部７０４は、仮想マシン管理表５００を参照して、経路表Ｔ１ＢのＩＰアドレスフィールドに、各仮想マシンＶＭ１〜ＶＭ６の仮想網ＩＰアドレスを設定する。また、作成部７０４は、経路表Ｔ１Ｂのネットマスクフィールドに、３２ビットを示す「／３２」を設定する（図１５中、（１５−１）参照）。
【０１１８】
次に、作成部７０４は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、経路表Ｔ１Ｂのネクストホップフィールドに、次にパケットを転送する送り先のＩＰアドレスを設定する（図１５中、（１５−２）参照）。
【０１１９】
ここで、仮想マシンＶＭ１（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ１のラック群Ａと仮想ルータＲ１Ｂのラック群Ｂとが一致するか否かを判断する。ここでは、仮想マシンＶＭ１のラック群Ａと仮想ルータＲ１Ｂのラック群Ｂとが一致しない。この場合、作成部７０４は、仮想マシンＶＭ１が配置されたラック群Ａの仮想ルータＲ１Ａのルータ連携網ＩＰアドレス「１７２．３１．１０．１」をネクストホップフィールドに設定する。
【０１２０】
また、仮想マシンＶＭ３（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ３のラック群Ｂと仮想ルータＲ１Ｂのラック群Ｂとが一致するか否かを判断する。ここでは、仮想マシンＶＭ３のラック群Ｂと仮想ルータＲ１Ｂのラック群Ｂとが一致する。この場合、作成部７０４は、仮想マシンＶＭ３を含む仮想網αへの仮想ルータＲ１Ｂの接続インタフェースの仮想網ＩＰアドレス「１９２．１６８．１０．１」をネクストホップフィールドに設定する。
【０１２１】
また、仮想マシンＶＭ６（宛先）を例に挙げると、作成部７０４は、仮想マシンＶＭ６のラック群Ｂと仮想ルータＲ１Ｂのラック群Ｂとが一致するか否かを判断する。ここでは、仮想マシンＶＭ６のラック群Ｂと仮想ルータＲ１Ｂのラック群Ｂとが一致する。この場合、作成部７０４は、仮想マシンＶＭ６を含む仮想網βへの仮想ルータＲ１Ｂの接続インタフェースの仮想網ＩＰアドレス「１９２．１６８．２０．１」をネクストホップフィールドに設定する。
【０１２２】
以上説明した経路表Ｔ１Ａ，Ｔ１Ｂによれば、同一ラック群ｒｃの仮想マシンＶＭ間のルーティングは、同一ラック群ｒｃの仮想ルータＲで実施することができる。また、ラック群ｒｃを越えたパケット転送は、仮想マシンＶＭからラック群ｒｃ内の仮想ルータＲに渡された後、仮想ルータＲ間のルータ連携網（Ｌ３仮想網）を通って、宛先の仮想マシンＶＭが存在するラック群ｒｃの仮想ルータＲに渡すことで実現することができる。
【０１２３】
（Ｌ２仮想網の構築例）
次に、Ｌ２仮想網の構築例について説明する。ここでは、仮想マシンＶＭ間のトンネルを形成する場合を例に挙げて、Ｌ２仮想網の構築例について説明する。
【０１２４】
図１６は、Ｌ２仮想網の構築例を示す説明図である。ここでは、仮想マシン管理表１６００に基づくＬ２仮想網の構築例について説明する。ただし、図１６では、仮想マシン管理表１６００の一部を抜粋して表示している。
【０１２５】
具体的には、例えば、まず、構築部７０３は、仮想マシン管理表１６００を参照して、各仮想マシンＶＭ間のトンネルを形成する。各仮想マシンＶＭ間のトンネルはフルメッシュ構成である。そして、構築部７０３は、物理マシンＰＭ上の仮想ブリッジｖｂｒに各トンネルの端点を接続することにより、Ｌ２仮想網を構築する。
【０１２６】
仮想ブリッジｖｂｒは、トンネルからきたパケットは仮想マシンＶＭに転送し、トンネルへは転送しない。また、仮想ブリッジｖｂｒは、仮想ブリッジｖｂｒ間ではパケットをカプセル化して通信し、仮想マシンＶＭに転送する際にカプセル化を解除する。カプセル化とは、データとそれを操作する手続きを一体化して「オブジェクト」として定義し、オブジェクト内の細かい仕様や構造を外部から隠蔽することである。
【０１２７】
これにより、物理マシンＰＭ上で動作する仮想ブリッジｖｂｒと仮想マシンＶＭ間のトンネルによりＬ２仮想網を構築することができる。また、トンネル網でのパケットの転送は、１リンクで止まり、ループを回避することができる。
【０１２８】
（３ラック群での仮想マシンＶＭ群の分散配置例）
上述した説明では、２つのラック群ｒｃに仮想マシンＶＭ群を分散配置する場合について説明したが、３つ以上のラック群ｒｃに仮想マシンＶＭ群を分散配置することにしてもよい。
【０１２９】
図１７は、３ラック群での仮想マシンＶＭ群の分散配置例を示す説明図である。図１７において、仮想マシンＶＭ１，ＶＭ２，ＶＭ６と仮想ルータＲ１Ａがラック群Ａに配置され、仮想マシンＶＭ３，ＶＭ７と仮想ルータＲ１Ｂがラック群Ｂに配置され、仮想マシンＶＭ４，ＶＭ５，ＶＭ８と仮想ルータＲ１Ｃがラック群Ｃに配置されている。
【０１３０】
この結果、仮想マシンＶＭ１〜ＶＭ５の各仮想マシンＶＭ間を接続し、ラック群Ａ内の各仮想マシンＶＭ１，ＶＭ２と仮想ルータＲ１Ａとを接続し、ラック群Ｂ内の仮想マシンＶＭ３と仮想ルータＲ１Ｂとを接続し、ラック群Ｃ内の各仮想マシンＶＭ４，ＶＭ５と仮想ルータＲ１Ｃとを接続するＬ２仮想網αが構築されている。
【０１３１】
また、仮想マシンＶＭ６〜ＶＭ８の各仮想マシンＶＭ間を接続し、ラック群Ａ内の仮想マシンＶＭ６と仮想ルータＲ１Ａとを接続し、ラック群Ｂ内の仮想マシンＶＭ７と仮想ルータＲ１Ｂとを接続し、ラック群Ｃ内の仮想マシンＶＭ８と仮想ルータＲ１Ｃとを接続するＬ２仮想網βが構築されている。また、各ラック群Ａ，Ｂ，Ｃに起動された仮想ルータＲ１Ａ，Ｒ１Ｂ，Ｒ１Ｃ間を接続するルータ連携網が構築されている。
【０１３２】
（制御装置１０１の第１の制御処理手順）
次に、制御装置１０１の第１の制御処理手順について説明する。第１の制御処理は、仮想マシンＶＭを移動する場合に実行される制御装置１０１の制御処理である。
【０１３３】
図１８および図１９は、制御装置１０１の第１の制御処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、制御装置１０１は、仮想マシンＶＭ群のいずれかの仮想マシンＶＭの配置変更要求を受け付けたか否かを判断する（ステップＳ１８０１）。ここで、制御装置１０１は、仮想マシンＶＭの配置変更要求を受け付けるのを待つ（ステップＳ１８０１：Ｎｏ）。
【０１３４】
そして、制御装置１０１は、仮想マシンＶＭの配置変更要求を受け付けた場合（ステップＳ１８０１：Ｙｅｓ）、仮想マシンＶＭを移動する（ステップＳ１８０２）。そして、制御装置１０１は、仮想マシンＶＭ間の仮想網更新処理を実行する（ステップＳ１８０３）。仮想マシンＶＭ間の仮想網更新処理の具体的な処理手順については、図２０を用いて後述する。
【０１３５】
次に、制御装置１０１は、仮想マシンＶＭが別ラック群に移動したか否かを判断する（ステップＳ１８０４）。ここで、別ラック群に移動した場合（ステップＳ１８０４：Ｙｅｓ）、制御装置１０１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理を実行する（ステップＳ１８０５）。仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理の具体的な処理手順については、図２１を用いて後述する。
【０１３６】
次に、制御装置１０１は、移動元のラック群ｒｃの仮想ルータＲに、移動対象の仮想マシンＶＭとは異なる他の仮想マシンＶＭが接続しているか否かを判断する（ステップＳ１８０６）。ここで、他の仮想マシンＶＭが接続している場合（ステップＳ１８０６：Ｙｅｓ）、制御装置１０１は、図１９に示すステップＳ１９０１に移行する。
【０１３７】
一方、他の仮想マシンＶＭが接続していない場合（ステップＳ１８０６：Ｎｏ）、制御装置１０１は、ルータ連携網撤去処理を実行する（ステップＳ１８０７）。ルータ連携網撤去処理の具体的な処理手順については、図２２を用いて後述する。そして、制御装置１０１は、移動元のラック群ｒｃの仮想ルータＲを停止して（ステップＳ１８０８）、図１９に示すステップＳ１９０１に移行する。
【０１３８】
また、ステップＳ１８０４において、別ラック群に移動していない場合（ステップＳ１８０４：Ｎｏ）、制御装置１０１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理を実行して（ステップＳ１８０９）、本フローチャートによる一連の処理を終了する。仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理の具体的な処理手順については、図２３を用いて後述する。
【０１３９】
図１９のフローチャートにおいて、まず、制御装置１０１は、仮想ルータ管理表６００を参照して、移動先のラック群ｒｃに仮想ルータＲが存在するか否かを判断する（ステップＳ１９０１）。ここで、仮想ルータＲが存在する場合（ステップＳ１９０１：Ｙｅｓ）、制御装置１０１は、ステップＳ１９０４に移行する。
【０１４０】
一方、仮想ルータＲが存在しない場合（ステップＳ１９０１：Ｎｏ）、制御装置１０１は、移動先のラック群ｒｃに仮想ルータＲを起動する（ステップＳ１９０２）。そして、制御装置１０１は、ルータ連携網構築処理を実行する（ステップＳ１９０３）。ルータ連携網構築処理の具体的な処理手順については、図２４を用いて後述する。
【０１４１】
次に、制御装置１０１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理を実行する（ステップＳ１９０４）。仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理の具体的な処理手順については、図２５を用いて後述する。
【０１４２】
そして、制御装置１０１は、仮想ルータＲに経路表Ｔを設定する経路表設定処理を実行して（ステップＳ１９０５）、本フローチャートによる一連の処理を終了する。経路表設定処理の具体的な処理手順については、図２６を用いて後述する。
【０１４３】
これにより、仮想マシンＶＭの移動に伴って、Ｌ２仮想網およびＬ３仮想網を構築または再構築するとともに、各仮想ルータＲに経路表Ｔを設定することができる。
【０１４４】
＜仮想マシンＶＭ間の仮想網更新処理手順＞
次に、図１８に示したステップＳ１８０３の仮想マシンＶＭ間の仮想網更新処理の具体的な処理手順について説明する。以下の説明は、移動対象となる仮想マシンＶＭを「移動マシン」と表記し、移動マシンとは異なる他の仮想マシンＶＭを「既存マシン」と表記する場合がある。
【０１４５】
図２０は、仮想マシンＶＭ間の仮想網更新処理の具体的処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、移動マシンの物理網ＩＰアドレスｐを特定する（ステップＳ２００１）。
【０１４６】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、既存マシンを選択し（ステップＳ２００２）、既存マシンの物理網ＩＰアドレスｐｋを特定する（ステップＳ２００３）。そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｐｋ間のトンネルを形成する（ステップＳ２００４）。
【０１４７】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、選択していない未選択の既存マシンがあるか否かを判断する（ステップＳ２００５）。ここで、未選択の既存マシンがある場合（ステップＳ２００５：Ｙｅｓ）、制御装置１０１は、ステップＳ２００２に戻って、未選択の既存マシンを選択する。
【０１４８】
一方、未選択の既存マシンがない場合（ステップＳ２００５：Ｎｏ）、制御装置１０１は、仮想マシンＶＭ間の仮想網更新処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの移動に伴って、仮想マシンＶＭ間のＬ２仮想網を再構築することができる。
【０１４９】
＜仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理手順＞
次に、図１８に示したステップＳ１８０５の仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理の具体的な処理手順について説明する。
【０１５０】
図２１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理の具体的処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、移動マシンの物理網ＩＰアドレスｐを特定する（ステップＳ２１０１）。
【０１５１】
次に、制御装置１０１は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、移動マシンが接続していた移動元のラック群ｒｃの仮想ルータＲの物理網ＩＰアドレスｒを特定する（ステップＳ２１０２）。
【０１５２】
そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｒ間のトンネルを撤去（削除）して（ステップＳ２１０３）、仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの移動に伴って、仮想マシンＶＭ／仮想ルータＲ間を接続するトンネルを撤去することができる。
【０１５３】
＜ルータ連携網撤去処理手順＞
次に、図１８に示したステップＳ１８０７のルータ連携網撤去処理の具体的な処理手順について説明する。以下の説明では、停止対象となる仮想ルータＲを「撤去ルータ」と表記する場合がある。
【０１５４】
図２２は、ルータ連携網撤去処理の具体的処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、制御装置１０１は、仮想ルータ管理表６００を参照して、撤去ルータの物理網ＩＰアドレスｐを特定する（ステップＳ２２０１）。
【０１５５】
次に、制御装置１０１は、仮想ルータ管理表６００を参照して、撤去ルータと同一論理ルータの他の仮想ルータＲが存在するか否かを判断する（ステップＳ２２０２）。ここで、他の仮想ルータＲが存在する場合（ステップＳ２２０２：Ｙｅｓ）、制御装置１０１は、仮想ルータ管理表６００を参照して、他の仮想ルータＲの物理網ＩＰアドレスｒを特定する（ステップＳ２２０３）。
【０１５６】
そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｒ間のトンネルを撤去して（ステップＳ２２０４）、ステップＳ２２０２に戻る。また、ステップＳ２２０２において、他の仮想ルータＲが存在しない場合（ステップＳ２２０２：Ｎｏ）、制御装置１０１は、ルータ連携網撤去処理を呼び出したステップに戻る。これにより、仮想ルータＲの停止に伴って、仮想ルータＲ間を接続するトンネルを撤去することができる。
【０１５７】
＜仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理手順＞
次に、図１８に示したステップＳ１８０９の仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理の具体的な処理手順について説明する。
【０１５８】
図２３は、仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理の具体的処理手順の一例を示すフローチャートである。図２３のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、移動マシンの物理網ＩＰアドレスｐを特定する（ステップＳ２３０１）。
【０１５９】
次に、制御装置１０１は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、移動マシンが接続する移動先のラック群ｒｃの仮想ルータＲの物理網ＩＰアドレスｒを特定する（ステップＳ２３０２）。
【０１６０】
そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｒ間のトンネルを形成して（ステップＳ２３０３）、仮想マシンＶＭ／仮想ルータＲ間の仮想網更新処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの移動に伴って、仮想マシンＶＭ／仮想ルータＲ間を接続するトンネルを開設することができる。
【０１６１】
＜ルータ連携網構築処理手順＞
次に、図１９に示したステップＳ１９０３のルータ連携網構築処理の具体的な処理手順について説明する。以下の説明では、ラック群ｒｃに起動した仮想ルータＲを「追加ルータ」と表記する場合がある。
【０１６２】
図２４は、ルータ連携網構築処理の具体的処理手順の一例を示すフローチャートである。図２４のフローチャートにおいて、まず、制御装置１０１は、仮想ルータ管理表６００を参照して、追加ルータの物理網ＩＰアドレスｐを特定する（ステップＳ２４０１）。
【０１６３】
次に、制御装置１０１は、仮想ルータ管理表６００を参照して、追加ルータと同一論理ルータの他の仮想ルータＲが存在するか否かを判断する（ステップＳ２４０２）。ここで、他の仮想ルータＲが存在する場合（ステップＳ２４０２：Ｙｅｓ）、制御装置１０１は、仮想ルータ管理表６００を参照して、他の仮想ルータＲの物理網ＩＰアドレスｒを特定する（ステップＳ２４０３）。
【０１６４】
そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｒ間のトンネルを形成して（ステップＳ２４０４）、ステップＳ２４０２に戻る。また、ステップＳ２４０２において、他の仮想ルータＲが存在しない場合（ステップＳ２４０２：Ｎｏ）、制御装置１０１は、ルータ連携網構築処理を呼び出したステップに戻る。これにより、仮想ルータＲの起動に伴って、仮想ルータＲ間を接続するトンネルを開設することができる。
【０１６５】
＜仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理手順＞
次に、図１９に示したステップＳ１９０４の仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理の具体的な処理手順について説明する。
【０１６６】
図２５は、仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理の具体的処理手順の一例を示すフローチャートである。図２５のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、移動マシンの物理網ＩＰアドレスｐを特定する（ステップＳ２５０１）。
【０１６７】
次に、制御装置１０１は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、移動マシンが接続する移動先のラック群ｒｃの仮想ルータＲの物理網ＩＰアドレスｒを特定する（ステップＳ２５０２）。
【０１６８】
そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｒ間のトンネルを形成して（ステップＳ２５０３）、仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの移動に伴って、仮想マシンＶＭ／仮想ルータＲ間を接続するトンネルを開設することができる。
【０１６９】
＜経路表設定処理手順＞
次に、図１９に示したステップＳ１９０５の経路表設定処理の具体的な処理手順について説明する。
【０１７０】
図２６は、経路表設定処理の具体的処理手順の一例を示すフローチャートである。図２６のフローチャートにおいて、まず、制御装置１０１は、仮想ルータ管理表６００を参照して、論理ルータに含まれる仮想ルータＲを選択する（ステップＳ２６０１）。
【０１７１】
次に、制御装置１０１は、仮想マシン管理表５００および仮想ルータ管理表６００を参照して、選択した仮想ルータＲに対応する経路表Ｔを作成する経路表作成処理を実行する（ステップＳ２６０２）。そして、制御装置１０１は、仮想ルータＲに作成した経路表Ｔを設定する（ステップＳ２６０３）。
【０１７２】
次に、制御装置１０１は、仮想ルータ管理表６００を参照して、選択されていない未選択の仮想ルータＲがあるか否かを判断する（ステップＳ２６０４）。ここで、未選択の仮想ルータＲがある場合（ステップＳ２６０４：Ｙｅｓ）、制御装置１０１は、ステップＳ２６０１に戻って、仮想ルータ管理表６００を参照して、論理ルータに含まれる未選択の仮想ルータＲを選択する。
【０１７３】
一方、未選択の仮想ルータＲがない場合（ステップＳ２６０４：Ｎｏ）、制御装置１０１は、経路表設定処理を呼び出したステップに戻る。これにより、論理ルータに含まれる各仮想ルータＲに経路表Ｔを設定することができる。
【０１７４】
＜経路表作成処理手順＞
次に、図２６に示したステップＳ２６０２の経路表作成処理の具体的な処理手順について説明する。
【０１７５】
図２７は、経路表作成処理の具体的処理手順の一例を示すフローチャートである。図２７のフローチャートにおいて、まず、制御装置１０１は、仮想ルータ管理表６００を参照して、仮想ルータＲが存在するラック群Ｘを特定する（ステップＳ２７０１）。次に、制御装置１０１は、仮想ルータ管理表６００を参照して、仮想ルータＲが接続している接続仮想網を選択する（ステップＳ２７０２）。
【０１７６】
そして、制御装置１０１は、仮想ルータ管理表６００を参照して、仮想ルータＲの接続仮想網への接続インタフェースの仮想網ＩＰアドレスｉを特定する（ステップＳ２７０３）。次に、制御装置１０１は、仮想マシン管理表５００を参照して、接続仮想網に接続している仮想マシンＶＭを選択する（ステップＳ２７０４）。
【０１７７】
そして、制御装置１０１は、仮想マシン管理表５００を参照して、仮想マシンＶＭの接続仮想網の仮想網ＩＰアドレスｅを特定し（ステップＳ２７０５）、仮想マシンＶＭが存在するラック群Ｙを特定する（ステップＳ２７０６）。次に、制御装置１０１は、ラック群Ｘとラック群Ｙが同一ラック群か否かを判断する（ステップＳ２７０７）。
【０１７８】
ここで、同一ラック群の場合（ステップＳ２７０７：Ｙｅｓ）、制御装置１０１は、ネクストホップｎを仮想網ＩＰアドレスｉとする（ステップＳ２７０８）。そして、制御装置１０１は、経路表Ｔの経路表エントリ（ＩＰアドレス：ｅ、ネットマスク：３２、ネクストホップ：ｎ）を作成する（ステップＳ２７０９）。
【０１７９】
一方、同一ラック群ではない場合（ステップＳ２７０７：Ｎｏ）、制御装置１０１は、仮想ルータ管理表６００を参照して、ラック群Ｙに存在する仮想ルータＲのルータ連携網ＩＰアドレスｊを特定する（ステップＳ２７１０）。そして、制御装置１０１は、ネクストホップｎを仮想網ＩＰアドレスｊとして（ステップＳ２７１１）、ステップＳ２７０９に移行する。
【０１８０】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、接続仮想網に接続している未選択の仮想マシンＶＭがあるか否かを判断する（ステップＳ２７１２）。ここで、未選択の仮想マシンＶＭがある場合（ステップＳ２７１２：Ｙｅｓ）、制御装置１０１は、ステップＳ２７０４に戻って、接続仮想網に接続している未選択の仮想マシンＶＭを選択する。
【０１８１】
一方、未選択の仮想マシンＶＭがない場合（ステップＳ２７１２：Ｎｏ）、制御装置１０１は、仮想ルータ管理表６００を参照して、仮想ルータＲが接続している未選択の接続仮想網があるか否かを判断する（ステップＳ２７１３）。ここで、未選択の接続仮想網がある場合（ステップＳ２７１３：Ｙｅｓ）、制御装置１０１は、ステップＳ２７０２に戻って、仮想ルータＲが接続している未選択の接続仮想網を選択する。
【０１８２】
一方、未選択の接続仮想網がない場合（ステップＳ２７１３：Ｎｏ）、制御装置１０１は、経路表作成処理を呼び出したステップに戻る。これにより、論理ルータに含まれる各仮想ルータＲに対応する経路表Ｔを作成することができる。
【０１８３】
（制御装置１０１の第２の制御処理手順）
次に、制御装置１０１の第２の制御処理手順について説明する。第２の制御処理は、仮想マシンＶＭを起動（追加）する場合に実行される制御装置１０１の制御処理である。
【０１８４】
図２８は、制御装置１０１の第２の制御処理手順の一例を示すフローチャートである。図２８のフローチャートにおいて、まず、制御装置１０１は、仮想マシンＶＭの起動要求を受け付けたか否かを判断する（ステップＳ２８０１）。ここで、制御装置１０１は、仮想マシンＶＭの起動要求を受け付けるのを待つ（ステップＳ２８０１：Ｎｏ）。
【０１８５】
そして、制御装置１０１は、仮想マシンＶＭの起動要求を受け付けた場合（ステップＳ２８０１：Ｙｅｓ）、仮想マシンＶＭを起動する（ステップＳ２８０２）。そして、制御装置１０１は、仮想マシンＶＭ間の仮想網構築処理を実行する（ステップＳ２８０３）。仮想マシンＶＭ間の仮想網構築処理の具体的な処理手順については、図２９を用いて後述する。
【０１８６】
次に、制御装置１０１は、仮想ルータ管理表６００を参照して、起動先のラック群ｒｃに仮想ルータＲが存在するか否かを判断する（ステップＳ２８０４）。ここで、仮想ルータＲが存在する場合（ステップＳ２８０４：Ｙｅｓ）、制御装置１０１は、ステップＳ２８０７に移行する。
【０１８７】
一方、仮想ルータＲが存在しない場合（ステップＳ２８０４：Ｎｏ）、制御装置１０１は、起動先のラック群ｒｃに仮想ルータＲを起動する（ステップＳ２８０５）。そして、制御装置１０１は、ルータ連携網構築処理を実行する（ステップＳ２８０６）。ルータ連携網構築処理の具体的な処理手順については、図２４に示した処理手順と同様のため説明を省略する。
【０１８８】
次に、制御装置１０１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理を実行する（ステップＳ２８０７）。仮想マシンＶＭ／仮想ルータＲ間の仮想網構築処理の具体的な処理手順については、図２５に示した処理手順と同様のため説明を省略する。
【０１８９】
そして、制御装置１０１は、仮想ルータＲに経路表Ｔを設定する経路表設定処理を実行して（ステップＳ２８０８）、本フローチャートによる一連の処理を終了する。経路表設定処理の具体的な処理手順については、図２６に示した処理手順と同様のため説明を省略する。
【０１９０】
これにより、仮想マシンＶＭの追加に伴って、Ｌ２仮想網およびＬ３仮想網を構築または再構築するとともに、各仮想ルータＲに経路表Ｔを設定することができる。
【０１９１】
＜仮想マシンＶＭ間の仮想網構築処理手順＞
次に、図２８に示したステップＳ２８０３の仮想マシンＶＭ間の仮想網構築処理の具体的な処理手順について説明する。以下の説明は、起動対象となる仮想マシンＶＭを「追加マシン」と表記し、追加マシンとは異なる他の仮想マシンＶＭを「既存マシン」と表記する場合がある。
【０１９２】
図２９は、仮想マシンＶＭ間の仮想網構築処理の具体的処理手順の一例を示すフローチャートである。図２９のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、追加マシンの物理網ＩＰアドレスｐを特定する（ステップＳ２９０１）。
【０１９３】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、既存マシンを選択し（ステップＳ２９０２）、既存マシンの物理網ＩＰアドレスｐｋを特定する（ステップＳ２９０３）。そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｐｋ間のトンネルを形成する（ステップＳ２９０４）。
【０１９４】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、選択していない未選択の既存マシンがあるか否かを判断する（ステップＳ２９０５）。ここで、未選択の既存マシンがある場合（ステップＳ２９０５：Ｙｅｓ）、制御装置１０１は、ステップＳ２９０２に戻って、未選択の既存マシンを選択する。
【０１９５】
一方、未選択の既存マシンがない場合（ステップＳ２９０５：Ｎｏ）、制御装置１０１は、仮想マシンＶＭ間の仮想網構築処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの追加に伴って、仮想マシンＶＭ間のＬ２仮想網を再構築することができる。
【０１９６】
（制御装置１０１の第３の制御処理手順）
次に、制御装置１０１の第３の制御処理手順について説明する。第３の制御処理は、仮想マシンＶＭを停止する場合に実行される制御装置１０１の制御処理である。
【０１９７】
図３０は、制御装置１０１の第３の制御処理手順の一例を示すフローチャートである。図３０のフローチャートにおいて、まず、制御装置１０１は、仮想マシンＶＭの停止要求を受け付けたか否かを判断する（ステップＳ３００１）。ここで、制御装置１０１は、仮想マシンＶＭの停止要求を受け付けるのを待つ（ステップＳ３００１：Ｎｏ）。
【０１９８】
そして、制御装置１０１は、仮想マシンＶＭの停止要求を受け付けた場合（ステップＳ３００１：Ｙｅｓ）、仮想マシンＶＭを停止する（ステップＳ３００２）。そして、制御装置１０１は、仮想マシンＶＭ間の仮想網撤去処理を実行する（ステップＳ３００３）。仮想マシンＶＭ間の仮想網撤去処理の具体的な処理手順については、図３１を用いて後述する。
【０１９９】
次に、制御装置１０１は、仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理を実行する（ステップＳ３００４）。仮想マシンＶＭ／仮想ルータＲ間の仮想網撤去処理の具体的な処理手順については、図２１に示した処理手順と同様のため説明を省略する（ただし、「移動マシン」が、停止対象の仮想マシンＶＭとなる）。
【０２００】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、停止先のラック群ｒｃに、停止対象の仮想マシンＶＭとは異なる他の仮想マシンＶＭが存在するか否かを判断する（ステップＳ３００５）。ここで、他の仮想マシンＶＭが存在する場合（ステップＳ３００５：Ｙｅｓ）、制御装置１０１は、ステップＳ３００８に移行する。
【０２０１】
一方、他の仮想マシンＶＭが存在しない場合（ステップＳ３００５：Ｎｏ）、制御装置１０１は、ルータ連携網撤去処理を実行する（ステップＳ３００６）。ルータ連携網撤去処理の具体的な処理手順については、図２２に示した処理手順と同様のため説明を省略する。
【０２０２】
次に、制御装置１０１は、停止先のラック群ｒｃの仮想ルータＲを停止する（ステップＳ３００７）。そして、制御装置１０１は、仮想ルータＲに経路表Ｔを設定する経路表設定処理を実行して（ステップＳ３００８）、本フローチャートによる一連の処理を終了する。経路表設定処理の具体的な処理手順については、図２６に示した処理手順と同様のため説明を省略する。
【０２０３】
これにより、仮想マシンＶＭの停止に伴って、Ｌ２仮想網およびＬ３仮想網を構築または再構築するとともに、各仮想ルータＲに経路表Ｔを設定することができる。
【０２０４】
＜仮想マシンＶＭ間の仮想網撤去処理手順＞
次に、図３０に示したステップＳ３００３の仮想マシンＶＭ間の仮想網撤去処理の具体的な処理手順について説明する。以下の説明は、停止対象となる仮想マシンＶＭを「撤去マシン」と表記し、撤去マシンとは異なる他の仮想マシンＶＭを「既存マシン」と表記する場合がある。
【０２０５】
図３１は、仮想マシンＶＭ間の仮想網撤去処理の具体的処理手順の一例を示すフローチャートである。図３１のフローチャートにおいて、まず、制御装置１０１は、仮想マシン管理表５００を参照して、撤去マシンの物理網ＩＰアドレスｐを特定する（ステップＳ３１０１）。
【０２０６】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、既存マシンを選択し（ステップＳ３１０２）、既存マシンの物理網ＩＰアドレスｐｋを特定する（ステップＳ３１０３）。そして、制御装置１０１は、物理網ＩＰアドレスｐ、ｐｋ間のトンネルを撤去する（ステップＳ３１０４）。
【０２０７】
次に、制御装置１０１は、仮想マシン管理表５００を参照して、選択していない未選択の既存マシンがあるか否かを判断する（ステップＳ３１０５）。ここで、未選択の既存マシンがある場合（ステップＳ３１０５：Ｙｅｓ）、制御装置１０１は、ステップＳ３１０２に戻って、未選択の既存マシンを選択する。
【０２０８】
一方、未選択の既存マシンがない場合（ステップＳ３１０５：Ｎｏ）、制御装置１０１は、仮想マシンＶＭ間の仮想網撤去処理を呼び出したステップに戻る。これにより、仮想マシンＶＭの停止に伴って、仮想マシンＶＭ間のＬ２仮想網を再構築することができる。
【０２０９】
以上説明したように、実施の形態にかかる制御装置１０１によれば、複数のラック群ｒｃに仮想マシンＶＭ群を分散配置する際に、各ラック群ｒｃに同一アドレスを設定した仮想ルータＲを起動することができる。また、制御装置１０１によれば、仮想マシンＶＭ群の仮想マシンＶＭ間を接続するとともに、各ラック群ｒｃの仮想マシンＶＭと仮想ルータＲとを接続するＬ２仮想網を構築することができる。また、制御装置１０１によれば、各ラック群ｒｃに起動した仮想ルータＲ間を接続するＬ３仮想網を構築することができる。そして、制御装置１０１によれば、各ラック群ｒｃに起動した仮想ルータＲに対応する経路表Ｔを作成して仮想ルータＲに設定することができる。これにより、利用者に提供した仮想マシンＶＭのＩＰアドレス、経路表、ａｒｐ（ａｄｄｒｅｓｓ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ）表などの設定を変更せずに、接続先の仮想ルータＲの変更を伴う仮想マシンＶＭの移動を容易に行うことができる。
【０２１０】
また、制御装置１０１によれば、ラック群ｒｃ間で仮想マシンＶＭを移動する際に、移動先のラック群ｒｃに仮想ルータＲを起動していない場合、移動先のラック群ｒｃに仮想ルータＲを起動することができる。これにより、ラック群ｒｃを越えた仮想ルータＲの移動に伴って、仮想ルータＲを増設することができる。
【０２１１】
また、制御装置１０１によれば、ラック群ｒｃに新たな仮想マシンＶＭを起動する際に、ラック群ｒｃに仮想ルータＲを起動していない場合、そのラック群ｒｃに仮想ルータＲを起動することができる。これにより、仮想システムＳへの仮想ルータＲの追加に伴って、仮想ルータＲを増設することができる。
【０２１２】
また、制御装置１０１によれば、ラック群ｒｃの仮想マシンＶＭを停止する際に、ラック群ｒｃに他の仮想マシンＶＭが起動していない場合、ラック群ｒｃの仮想ルータＲを停止することができる。これにより、仮想マシンＶＭの停止に伴って、仮想マシンＶＭが接続されていない仮想ルータＲを撤去することができる。
【０２１３】
また、制御装置１０１によれば、各ラック群ｒｃに起動した仮想ルータＲについて、仮想マシンＶＭ群の仮想マシンＶＭごとに、仮想マシンＶＭが仮想ルータＲと同一ラック群にあるか否かを判定することができる。そして、同一ラック群にある場合、制御装置１０１によれば、仮想ルータＲのＬ２仮想網の仮想網ＩＰアドレスを、仮想マシンＶＭのＬ２仮想網の仮想網ＩＰアドレスに対応付けることができる。一方、同一ラック群にない場合、制御装置１０１によれば、仮想マシンＶＭと同一ラック群の他の仮想ルータＲのＬ３仮想網のルータ連携網ＩＰアドレスを、仮想マシンＶＭのＬ２仮想網の仮想網ＩＰアドレスに対応付けることができる。これにより、各ラック群ｒｃに起動した仮想ルータＲに対応する経路表Ｔを作成することができる。また、各仮想マシンＶＭが同一ラック群ｒｃ内の仮想ルータＲとパケットを送受信するように制御することができる。
【０２１４】
これらのことから、制御装置１０１によれば、データセンタ内の資源再分配や物理マシンＰＭのメンテナンス等の管理者側の都合で、ラック群ｒｃを越えた仮想マシンＶＭの移動を容易に行うことが可能となり、データセンタの資源管理や運用管理の容易化を図ることができる。また、同一ラック群ｒｃの仮想マシンＶＭ間のルーティングは、同一ラック群ｒｃの仮想ルータＲで実施されるため、障害および通信の局所化を実現することができる。
【０２１５】
なお、本実施の形態で説明した仮想ルータ制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本仮想ルータ制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本仮想ルータ制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２１６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２１７】
（付記１）コンピュータが、
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、
前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、
前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する、
処理を実行することを特徴とする仮想ルータ制御方法。
【０２１８】
（付記２）前記起動する処理は、
前記複数のネットワークのいずれかのネットワークから他のネットワークに仮想マシンを移動する際に、前記他のネットワークに前記仮想ルータを起動していない場合、前記他のネットワークに前記仮想ルータを起動することを特徴とする付記１に記載の仮想ルータ制御方法。
【０２１９】
（付記３）前記コンピュータが、
前記複数のネットワークのいずれかのネットワークの仮想マシンを停止する際に、前記いずれかのネットワークに他の仮想マシンが起動していない場合、前記いずれかのネットワークの前記仮想ルータを停止する処理を実行することを特徴とする付記１または２に記載の仮想ルータ制御方法。
【０２２０】
（付記４）前記設定する処理は、
前記各ネットワークに起動した仮想ルータについて、前記仮想マシン群の各仮想マシンが前記仮想ルータと同一ネットワークにあるか否かに応じて、前記仮想ルータの前記第１仮想網のアドレス、または、前記各仮想マシンと同一ネットワークの仮想ルータの前記第２仮想網のアドレスを、前記各仮想マシンの前記第１仮想網のアドレスに対応付けることにより、前記経路表を作成することを特徴とする付記１〜３のいずれか一つに記載の仮想ルータ制御方法。
【０２２１】
（付記５）前記設定する処理は、
前記各仮想マシンが前記仮想ルータと同一ネットワークにある場合、前記仮想ルータの前記第１仮想網のアドレスを、前記各仮想マシンの前記第１仮想網のアドレスに対応付けることを特徴とする付記４に記載の仮想ルータ制御方法。
【０２２２】
（付記６）前記設定する処理は、
前記各仮想マシンが前記仮想ルータと同一ネットワークにない場合、前記各仮想マシンと同一ネットワークの仮想ルータの前記第２仮想網のアドレスを、前記各仮想マシンの前記第１仮想網のアドレスに対応付けることを特徴とする付記４または５に記載の仮想ルータ制御方法。
【０２２３】
（付記７）前記起動する処理は、
前記各ネットワークに同一のＩＰアドレスおよびＭＡＣアドレスを設定した仮想ルータを起動することを特徴とする付記１〜６のいずれか一つに記載の仮想ルータ制御方法。
【０２２４】
（付記８）前記第１仮想網はデータリンク層の仮想網であり、前記第２仮想網はネットワーク層の仮想網であることを特徴とする付記１〜７のいずれか一つに記載の仮想ルータ制御方法。
【０２２５】
（付記９）前記起動する処理は、
前記複数のネットワークのいずれかのネットワークに前記仮想マシン群のいずれかの仮想マシンを起動する際に、前記いずれかのネットワークに前記仮想ルータを起動していない場合、前記いずれかのネットワークに前記仮想ルータを起動することを特徴とする付記１〜８のいずれか一つに記載の仮想ルータ制御方法。
【０２２６】
（付記１０）コンピュータに、
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、
前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、
前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する、
処理を実行させることを特徴とする仮想ルータ制御プログラム。
【０２２７】
（付記１１）コンピュータに、
複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動し、
前記仮想マシン群の仮想マシン間を接続するとともに、前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、
前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築し、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する、
処理を実行させる仮想ルータ制御プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
【０２２８】
（付記１２）複数のネットワークに仮想マシン群を分散配置する際に、前記複数のネットワークの各ネットワークに同一アドレスを設定した仮想ルータを起動する起動部と、
前記仮想マシン群の仮想マシン間を接続するとともに前記各ネットワークの仮想マシンと仮想ルータとを接続する第１仮想網を構築し、前記各ネットワークに起動した仮想ルータ間を接続する第２仮想網を構築する構築部と、
前記各ネットワークに起動した仮想ルータに対応する経路表を作成して前記仮想ルータに設定する設定部と、
を有することを特徴とする制御装置。
【符号の説明】
【０２２９】
１０１  制御装置
２００  システム
２０１  管理者端末
２０２  利用者端末
５００，１６００  仮想マシン管理表
６００  仮想ルータ管理表
７０１  受付部
７０２  起動部
７０３  構築部
７０４  作成部
７０５  設定部
ＰＭ  物理マシン
ＶＭ  仮想マシン
【図１】
2015035776.tif 000003
【図２】
2015035776.tif 000004
【図３】
2015035776.tif 000005
【図４】
2015035776.tif 000006
【図５】
2015035776.tif 000007
【図６】
2015035776.tif 000008
【図７】
2015035776.tif 000009
【図８】
2015035776.tif 000010
【図９】
2015035776.tif 000011
【図１０】
2015035776.tif 000012
【図１１】
2015035776.tif 000013
【図１２】
2015035776.tif 000014
【図１３】
2015035776.tif 000015
【図１４】
2015035776.tif 000016
【図１５】
2015035776.tif 000017
【図１６】
2015035776.tif 000018
【図１７】
2015035776.tif 000019
【図１８】
2015035776.tif 000020
【図１９】
2015035776.tif 000021
【図２０】
2015035776.tif 000022
【図２１】
2015035776.tif 000023
【図２２】
2015035776.tif 000024
【図２３】
2015035776.tif 000025
【図２４】
2015035776.tif 000026
【図２５】
2015035776.tif 000027
【図２６】
2015035776.tif 000028
【図２７】
2015035776.tif 000029
【図２８】
2015035776.tif 000030
【図２９】
2015035776.tif 000031
【図３０】
2015035776.tif 000032
【図３１】
2015035776.tif 000033