(57)【特許請求の範囲】
【請求項１】
第１の拠点で動作する仮想マシンのアドレス情報に対応付けて、前記仮想マシンに割り当てる第１のデフォルトゲートウェイのアドレス情報を記憶する記憶部と、
前記仮想マシンが第２の拠点にマイグレーションした場合に、前記仮想マシンのアドレス情報に対応付けて前記記憶部に記憶される前記第１のデフォルトゲートウェイのアドレス情報を、前記第２の拠点で使用される第２のデフォルトゲートウェイのアドレス情報に更新する更新部と、
前記第２の拠点にマイグレーションした仮想マシンに対して、デフォルトゲートウェイの更新を実行する指示を送信し、当該指示の応答として前記仮想マシンから受信したアドレス割当要求に対して、前記記憶部に記憶される前記第２のデフォルトゲートウェイであって、前記仮想マシンのアドレス情報に対応付けられる前記第２のデフォルトゲートウェイのアドレス情報を応答する通知部と
を有することを特徴とするアドレス割当装置。
【請求項２】
前記記憶部は、前記仮想マシンに設定されるＩＰ（Internet  Protocol）アドレスおよびＭＡＣ（Media  Access  Control）アドレスに対応付けて、前記第２のデフォルトゲートウェイのＩＰアドレスを記憶し、
前記通知部は、前記第２の拠点にマイグレーションした仮想マシンから受信したアドレス割当要求から、前記仮想マシンのＭＡＣアドレスを抽出し、抽出したＭＡＣアドレスに対応付けられる前記ＩＰアドレスと前記第２のデフォルトゲートウェイのＩＰアドレスとを、前記仮想マシンに応答することを特徴とする請求項１に記載のアドレス割当装置。
【請求項３】
仮想マシンにアドレス情報を割り当てるアドレス割当装置に、
第１の拠点で動作する仮想マシンのアドレス情報に対応付けて、前記仮想マシンに割り当てる第１のデフォルトゲートウェイのアドレス情報を記憶する記憶部に対して、前記仮想マシンが第２の拠点にマイグレーションした場合に、前記仮想マシンのアドレス情報に対応付けて前記記憶部に記憶される前記第１のデフォルトゲートウェイのアドレス情報を、前記第２の拠点で使用される第２のデフォルトゲートウェイのアドレス情報に更新する更新ステップと、
前記第２の拠点にマイグレーションした仮想マシンに対して、デフォルトゲートウェイの更新を実行する指示を送信し、当該指示の応答として前記仮想マシンから受信したアドレス割当要求に対して、前記記憶部に記憶される前記第２のデフォルトゲートウェイであって、前記仮想マシンのアドレス情報に対応付けられる前記第２のデフォルトゲートウェイのアドレス情報を応答する通知ステップと
を実行させることを特徴とするアドレス割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス割当装置、管理装置、アドレス割当プログラムおよび管理プログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングが普及し、データセンタに設置される物理サーバのリソースを用いて仮想環境を構築して、ユーザに各種サービスを提供することが行われている。また、仮想スイッチを用いて、異なるデータセンタ間を跨ったＬ２ネットワーク構築も行われている。
【０００３】
例えば、部門サーバ、経理サーバ、出退勤管理サーバ、ファイルサーバなどを仮想マシン（以下、ＶＭ（Virtual  Machine）と記載する場合がある）によって実現する企業（Ｚ）を例にして説明する。企業（Ｚ）では、拠点（札幌）のデータセンタ（Ｘ）で仮想マシン（Ａ）と仮想マシン（Ｂ）とを動作させ、拠点（福岡）のデータセンタ（Ｙ）で仮想マシン（Ｃ）と仮想マシン（Ｄ）とを動作させる。そして、Open  vSwitchなどによる仮想スイッチを用いて、データセンタ（Ｘ）とデータセンタ（Ｙ）とを仮想Ｌ２ネットワークで接続する。
【０００４】
このようにして、企業（Ｚ）では、異なるデータセンタで動作して各サービスを提供する仮想マシン間の通信を実現することで、各拠点にいる社員に対して、拠点に依存することなく、各種サービスの提供を行う。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】石井久治、上野和風、田上啓介、飯田浩二、藤田智成、森田和孝著、「オープンソースlaaS  クラウド基盤OpenStack」、ＮＴＴ技術ジャーナルVol.23、No.8、2011.
【非特許文献２】北爪秀雄、小山高明、田島佳武、岸寿春、井上朋子著、「クラウドサービスを支えるネットワーク仮想化技術」、ＮＴＴ技術ジャーナルVol.23、No.10、2011.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、仮想マシンのマイグレーション等が発生した場合に、通信経路が冗長になり、通信遅延が発生するという問題がある。
【０００７】
一例として、上記企業（Ｚ）を例にして説明すると、社員のパーソナルコンピュータ（以下、ＰＣと記載する場合がある）は、インターネットなどを用いて各拠点に接続して仮想マシンを利用する状況において、拠点（札幌）の社員が拠点（福岡）に出張することに伴って、利便性等を向上させるために、仮想マシン（Ｂ）を拠点（福岡）のデータセンタ（Ｙ）にマイグレーションさせたとする。この場合、インターネットを利用する社員のＰＣのデフォルトゲートウェイ（以下、「デフォルトＧＷ」と略記することがある）は、ＩＳＰ（Internet  Service  Provider）が指定したルータのＩＰアドレスとなる。また、マイグレーションした仮想マシン（Ｂ）のデフォルトゲートウェイは、マイグレーション元のデータセンタ（Ｘ）のルータが設定される。
【０００８】
このため、社員が出張先の福岡から仮想マシン（Ｂ）にアクセスした場合、社員のＰＣは、仮想マシン（Ｂ）からの応答を、出張先である拠点（福岡）のデータセンタ（Ｙ）、データセンタ間の仮想Ｌ２ネットワーク、出張元である拠点（札幌）のデータセンタ（Ｘ）を経由して受信する。つまり、社員のＰＣは、出張に伴って仮想マシン（Ｂ）を出張先にマイグレーションさせたにも関らず、出張元を経由して仮想マシン（Ｂ）からの応答を受信することになる。このように、仮想マシン（Ｂ）からユーザ端末への通信距離が長くなり、無駄に遅延が大きくなる。
【０００９】
また、仮想マシン（Ｂ）のデフォルトゲートウェイを変更することも考えられるが、管理者でもない社員にネットワークの設定変更を実行させることは、セキュリティの観点からも現実的ではない。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、通信遅延を縮小化することができるアドレス割当装置、管理装置、アドレス割当プログラムおよび管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の一実施形態は、第１の拠点で動作する仮想マシンのアドレス情報に対応付けて、前記仮想マシンに割り当てる第１のデフォルトゲートウェイのアドレス情報を記憶する記憶部と、前記仮想マシンが第２の拠点にマイグレーションした場合に、前記仮想マシンのアドレス情報に対応付けて前記記憶部に記憶される前記第１のデフォルトゲートウェイのアドレス情報を、前記第２の拠点で使用される第２のデフォルトゲートウェイのアドレス情報に更新する更新部と、前記第２の拠点にマイグレーションした仮想マシンに、前記記憶部に記憶される前記第２のデフォルトゲートウェイのアドレス情報を通知する通知部とを有することを特徴とする。
【発明の効果】
【００１２】
本願の一実施形態によれば、通信遅延を縮小化することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態に係るシステムの全体構成例を示す図である。
【図２】図２は、ＶＭを動作させる物理サーバの階層構造を示す図である。
【図３】図３は、クラウドコントローラの機能構成を示す機能ブロック図である。
【図４】図４は、管理テーブルに記憶される情報の例を示す図である。
【図５】図５は、ＤＨＣＰサーバの機能構成を示す機能ブロック図である。
【図６】図６は、アドレス割り当てテーブルに記憶される情報の例を示す図である。
【図７】図７は、クラウドコントローラが実行する処理の流れを示すフローチャートである。
【図８】図８は、ＤＨＣＰサーバが実行する処理の流れを示すフローチャートである。
【図９】図９は、ＶＭのマイグレーション後にデフォルトゲートウェイを変更する具体例を説明する図である。
【図１０】図１０は、出張先情報を登録する画面例を示す図である。
【図１１】図１１は、管理テーブルの更新例を説明する図である。
【図１２】図１２は、アドレス割り当てテーブルの更新例を説明する図である。
【図１３】図１３は、ＤＨＣＰ  ＡＣＫの例を示す図である。
【図１４】図１４は、マイグレーション後の経路が変更される例を説明する図である。
【図１５】図１５は、アドレス管理プログラムまたはアドレス更新を実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示するアドレス割当装置、管理装置、アドレス割当プログラムおよび管理プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。以下に説明する実施形態は、矛盾のない範囲で適宜組み合わせることができる。
【００１５】
［第１の実施形態］
（全体構成）
図１は、第１の実施形態に係るシステムの全体構成例を示す図である。図１に示すように、このシステムは、例えば企業の拠点間をネットワークで接続するシステムであり、それぞれデータセンタを有する拠点（札幌）１および拠点（福岡）１１各々とＷｅｂサーバ５０とがインターネットなどのネットワーク２０で接続される。
【００１６】
Ｗｅｂサーバ５０は、ユーザ端末１０から、マイグレーションさせる仮想マシンの情報を受け付けるサーバ装置であり、物理装置で実現される。例えば、Ｗｅｂサーバ５０は、拠点（札幌）１で動作するＶＭ（Ｂ）を、拠点（福岡）１１にマイグレーションさせるなどの指示を受け付けて、受け付けた指示内容を後述するクラウドコントローラ３０に送信する。
【００１７】
例えば、Ｗｅｂサーバ５０は、ユーザ端末１０からマイグレーション要求を受信すると、Ｗｅｂ画面などをユーザ端末１０に表示させる。そして、Ｗｅｂサーバ５０は、Ｗｅｂ画面上で、マイグレーション対象およびマイグレーション先の入力を受け付けて、受け付けた情報をクラウドコントローラ３０に送信する。
【００１８】
（拠点（札幌））
拠点（札幌）１は、ユーザ端末１０とデータセンタ２とを有する。ユーザ端末１０は、データセンタ２または拠点（福岡）１１のデータセンタ１２等で動作する仮想マシンにアクセスして、各種サービスを利用する端末装置であり、例えばノートパソコンやスマートフォンなどである。
【００１９】
データセンタ２は、１台以上の物理サーバが設置され、クラウドコントローラ３０や物理サーバの物理リソースを用いて仮想マシンを動作させるデータセンタである。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスクなどである。
【００２０】
具体的には、データセンタ２は、ＣＥ（Customer  Edge）ルータ３、ルータ４、ＯＶＳ（Open  vSwitch）５、ＶＭ（Ａ）、ＶＭ（Ｂ）、クラウドコントローラ３０、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバ４０を有する。ＣＥルータ３は、インターネットなどの通信事業者ネットワーク１ａと企業内ＬＡＮ（Local  Area  Network）などの企業ネットワークとの境界に設置されたエッジルータであり、このＣＥルータ３は、物理装置で実現される。
【００２１】
ルータ４は、企業内ネットワークにおいて、拠点（札幌）１のデータセンタ２と拠点（福岡）１１のデータセンタ１２とを同じネットワークセグメント２２で分割するルータである。すなわち、ルータ４は、ユーザ端末１０と各データセンタの各ＶＭ等との通信を中継する。このルータ４のインタフェース４ａは、ＣＥルータ３と接続されるインタフェースであり、ＩＰアドレス（Internet  Protocol）として「ＩＰ（４ａ）」が設定される。また、ルータ４のインタフェース４ｂは、各ＶＭと接続されるインタフェースであり、ＩＰアドレスとして「ＩＰ（４ｂ）」が設定される。
【００２２】
したがって、拠点（札幌）１で使用されるユーザ端末１０には、デフォルトゲートウェイとして「ＩＰ（４ａ）」が設定される。このため、ユーザ端末１０は、各ＶＭにアクセスする場合は、ルータ４を経由してアクセスする。なお、このルータ４は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
【００２３】
ＯＶＳ５は、各データセンタの各ルータと各ＶＭとを中継するスイッチであり、データセンタ１２のＯＶＳ１５と協働して、データセンタ間を仮想Ｌ２ネットワーク２１で接続する仮想スイッチである。例えば、ＯＶＳ５は、ルータ４のインタフェース４ｂ、ＶＭ（Ａ）、ＶＭ（Ｂ）、データセンタ１２のＯＶＳ１５、クラウドコントローラ３０、ＤＨＣＰサーバ４０のそれぞれと接続される。
【００２４】
ＶＭ（Ａ）は、例えばＷｅｂサーバやＤＢサーバなどを実行する仮想マシンであり、ＩＰアドレスとして「ＩＰ（Ａ）」、ＭＡＣ（Media  Access  Control）アドレスとして「ＭＡＣ（Ａ）」が設定される。ＶＭ（Ｂ）は、例えばＷｅｂサーバやＤＢサーバなどを実行する仮想マシンであり、ＩＰアドレスとして「ＩＰ（Ｂ）」、ＭＡＣアドレスとして「ＭＡＣ（Ｂ）」が設定される。これらのＶＭは、ＯＶＳ５を介して、ユーザ端末１０と通信を実行する。
【００２５】
ＤＨＣＰサーバ４０は、各ＶＭに対してＩＰアドレスを割り振るサーバ装置である。このＤＨＣＰサーバ４０には、一例としてＩＰアドレス「ＩＰ（４０）」、ＭＡＣアドレス「ＭＡＣ（４０）」が設定されている。また、ＤＨＣＰサーバ４０は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
【００２６】
例えば、ＤＨＣＰサーバ４０は、ＶＭ（Ｂ）からＤＨＣＰディスカバーがブロードキャストで送信されると、当該メッセージに対してＤＨＣＰオファーをＶＭ（Ｂ）に応答する。その後、ＤＨＣＰサーバ４０は、ＶＭ（Ｂ）からＤＨＣＰリクエストを受信すると、使用されていないＩＰアドレスをＶＭ（Ｂ）に応答する。
【００２７】
このようなＤＨＣＰサーバ４０は、ＩＰアドレスをＶＭに送信する際に、ＶＭが稼動する拠点のルータのアドレスをデフォルトゲートウェイアドレスに設定して送信する。この結果、各ルータは、同じ拠点内のルータを経由して通信することができる。なお、本実施形態では、拠点（札幌）１のデータセンタ２内にＤＨＣＰサーバ４０を設置した例で説明したが、これに限定されるものではない。例えば、拠点（福岡）１１のデータセンタ１２内に設置されていてもよい。
【００２８】
なお、ＤＨＣＰサーバ４０がＶＭ（Ｂ）等へ送信するネットワーク設定情報は、当該ＤＨＣＰサーバ４０の属する拠点に設置されるＤＮＳ（Domain  Name  System）サーバのＩＰアドレスを含んでいてもよい。これにより、データセンタ間でＶＭ（Ｂ）等のマイグレーションが行われたとき、当該ＶＭ（Ｂ）等は、マイグレーション先の拠点に設置されるＤＮＳサーバを利用することになる。よって、ＶＭ（Ｂ）等のマイグレーション後、当該ＶＭ（Ｂ）等が通信先のホスト名から、通信先のＩＰアドレスを特定するときの通信遅延を縮小化できる。
【００２９】
クラウドコントローラ３０は、ＶＭを管理するサーバ装置である。このクラウドコントローラ３０は、物理装置で実現されてもよく、仮想マシンで実現されてもよい。例えば、クラウドコントローラ３０は、各拠点で動作するＶＭのＩＰアドレスやＭＡＣアドレスを記憶する。
【００３０】
また、クラウドコントローラ３０は、ユーザ操作、管理者操作、予め定められた所定契機などで、所望のＶＭを他の拠点にマイグレーションさせる。例えば、クラウドコントローラ３０は、Ｗｅｂサーバ５０から、データセンタ２で動作するＶＭ（Ｂ）をデータセンタ１２にマイグレーションさせる指示を受信する。すると、クラウドコントローラ３０は、受信した指示にしたがって、ＶＭ（Ｂ）をデータセンタ１２にマイグレーションさせる。また、クラウドコントローラ３０は、Ｗｅｂサーバを介することなく、ネットワーク管理者や保守者からの操作を直接受け付けて、マイグレーションを開始してもよい。
【００３１】
なお、本実施形態では、拠点（札幌）１のデータセンタ２内にクラウドコントローラ３０を設置した例で説明したが、これに限定されるものではない。例えば、拠点（福岡）１１のデータセンタ１２内に設置されていてもよい。また、クラウドコントローラ３０とＷｅｂサーバ５０とを統合したサーバをインターネット２０に接続してもよい。
【００３２】
クラウドコントローラ３０をインターネット２０上に接続する場合、クラウドコントローラ３０から各ＶＭやＤＨＣＰサーバ４０への通信は、ルータ４等でアドレス変換やポート変換が行われる。また、クラウドコントローラ３０と各ＶＭ等との間を、暗号化トンネリング通信等で接続してもよい。
【００３３】
（拠点（福岡））
拠点（福岡）１１は、データセンタ１２を有する。データセンタ１２は、１台以上の物理サーバが設置され、物理サーバの物理リソースを用いて仮想マシンを動作させるデータセンタである。
【００３４】
具体的には、データセンタ１２は、ＣＥルータ１３、ルータ１４、ＯＶＳ１５、ＶＭ（Ｃ）、ＶＭ（Ｄ）を有する。ＣＥルータ１３は、インターネットなどの通信事業者ネットワーク１１ａと企業内ＬＡＮなどの企業ネットワークとの境界に設置されたエッジルータであり、このＣＥルータ１３は、物理装置で実現される。
【００３５】
ルータ１４は、企業内ネットワークにおいて、拠点（札幌）１のデータセンタ２と拠点（福岡）１１のデータセンタ１２とを同じネットワークセグメント２２で分割するルータである。すなわち、ルータ１４は、外部装置と各データセンタの各ＶＭとの通信を中継する。このルータ１４のインタフェース１４ａは、ＣＥルータ１３と接続されるインタフェースであり、ＩＰアドレスとして「ＩＰ（１４ａ）」が設定される。また、ルータ１４のインタフェース１４ｂは、各ＶＭと接続されるインタフェースであり、ＩＰアドレスとして「ＩＰ（１４ｂ）」が設定される。なお、このルータ１４は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
【００３６】
ＯＶＳ１５は、各データセンタの各ルータと各ＶＭとを中継するスイッチであり、データセンタ２のＯＶＳ５と協働して、データセンタ間を仮想Ｌ２ネットワーク２１で接続する仮想スイッチである。例えば、ＯＶＳ１５は、ルータ１４のインタフェース１４ｂ、ＶＭ（Ｃ）、ＶＭ（Ｄ）、データセンタ１のＯＶＳ５のそれぞれと接続される。
【００３７】
ＶＭ（Ｃ）は、例えばＷｅｂサーバやＤＢサーバなどを実行する仮想マシンであり、ＩＰアドレスとして「ＩＰ（Ｃ）」、ＭＡＣアドレスとして「ＭＡＣ（Ｃ）」が設定される。ＶＭ（Ｄ）は、例えばＷｅｂサーバやＤＢサーバなどを実行する仮想マシンであり、ＩＰアドレスとして「ＩＰ（Ｄ）」、ＭＡＣアドレスとして「ＭＡＣ（Ｄ）」が設定される。これらのＶＭは、ＯＶＳ１５を介して、データセンタ外の外部装置と通信を実行する。
【００３８】
（ネットワーク構成）
上述したように、各拠点にはルータ４とルータ１４の異なるデフォルトゲートウェイが設けられている。図１の構成では、拠点（札幌）１で動作するＶＭ（Ａ）およびＶＭ（Ｂ）のデフォルトゲートウェイには、ルータ４におけるインタフェース４ｂのＩＰアドレス「ＩＰ（４ｂ）」が設定される。拠点（福岡）１１で動作するＶＭ（Ｃ）およびＶＭ（Ｄ）のデフォルトゲートウェイには、ルータ１４におけるインタフェース１４ｂのＩＰアドレス「ＩＰ（１４ｂ）」が設定される。
【００３９】
また、各ＶＭは、動作する拠点が異なるが、同じネットワークセグメントで動作する。つまり、ルータ４、ルータ１４、ＯＶＳ５、ＯＶＳ１５、ＶＭ（Ａ）、ＶＭ（Ｂ）、ＶＭ（Ｃ）、ＶＭ（Ｄ）、ＤＨＣＰサーバ４０は、仮想Ｌ２ネットワーク２１で接続され、同じネットワークセグメント２２で動作する。したがって、拠点（福岡）１１のルータ１４とＶＭ（Ａ）、ＶＭ（Ｂ）、ＤＨＣＰサーバ４０が通信可能に接続されており、拠点（札幌）１のルータ４とＶＭ（Ｃ）やＶＭ（Ｄ）が通信可能に接続されている。
【００４０】
（階層構造）
図２は、ＶＭを動作させる物理サーバの階層構造を示す図である。なお、ここでは、一例として１台の物理サーバでＶＭを動作させる例を説明するが、これに限定されるものではなく、複数台の物理サーバを用いて動作させることができる。
【００４１】
データセンタ２では、物理サーバ６が動作し、データセンタ１２では、物理サーバ１６が動作する。各物理サーバは、一般的なサーバ装置であり、ハードウェア、プロセッサ、メモリ等を有する。
【００４２】
データセンタ２の物理サーバ６は、ハードウェア６ａ上でハイパーバイザなどの仮想化ソフトウェア６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア６ｂは、仮想スイッチ６ｃを動作させる。
【００４３】
同様に、データセンタ１２の物理サーバ１６は、ハードウェア１６ａ上でハイパーバイザなどの仮想化ソフトウェア１６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア１６ｂは、仮想スイッチ１６ｃを動作させる。
【００４４】
ここで、仮想スイッチ６ｃと仮想スイッチ１６ｃは、例えばOpen  vSwitch、Open  Flow、KVMなどを用いて実現され、仮想Ｌ２ネットワーク２１を構築する。すなわち、異なるデータセンタ間を仮想ネットワークで通信可能に接続する。
【００４５】
そして、各物理サーバの各仮想化ソフトウェアは、仮想Ｌ２ネットワーク２１を利用可能な状態で仮想マシンを動作させる。具体的には、仮想化ソフトウェア６ｂは、物理サーバ６の物理リソースを用いてＶＭ（Ａ）とＶＭ（Ｂ）とＤＨＣＰサーバ４０とを動作させ、仮想スイッチ６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。同様に、仮想化ソフトウェア１６ｂは、物理サーバ１６の物理リソースを用いてＶＭ（Ｃ）とＶＭ（Ｄ）とを動作させ、仮想スイッチ１６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。
【００４６】
（クラウドコントローラの構成）
次に、図３に示したクラウドコントローラの構成について説明する。図３は、クラウドコントローラの機能構成を示す機能ブロック図である。図３に示すように、クラウドコントローラ３０は、通信制御部３１、記憶部３２、制御部３３を有する。ここでは、クラウドコントローラ３０が物理装置である例で説明するが、クラウドコントローラ３０がＶＭで実現されている場合でも、物理リソースを用いて同様の機能が実行される。
【００４７】
通信制御部３１は、他の装置との通信を制御するインタフェースであり、例えばネットワークインタフェースカードなどである。例えば、通信制御部３１は、Ｗｅｂサーバ５０からマイグレーション指示およびマイグレーションに関する情報を受信し、ＤＨＣＰサーバ４０に各種情報を送信する。
【００４８】
記憶部３２は、メモリやハードディスクなどの記憶装置であり、管理テーブル３２ａを保持する。なお、クラウドコントローラ３０が仮想マシンである場合には、記憶部３２は、クラウドコントローラ３０に対して割り当てられた、物理サーバのメモリやハードディスクの所定領域などが該当する。
【００４９】
管理テーブル３２ａは、各データセンタで稼動するＶＭに関する情報を記憶するテーブルである。図４は、管理テーブルに記憶される情報の例を示す図である。図４に示すように、管理テーブル３２ａは、「拠点、デフォルトゲートウェイ：アドレス、仮想マシン：アドレス」を対応付けて記憶する。ここで記憶される「拠点」は、ＶＭが稼動する拠点を示す。「デフォルトゲートウェイ：アドレス」は、ＶＭに設定されるデフォルトゲートウェイを特定する情報およびデフォルトゲートウェイのＩＰアドレスである。「仮想マシン：アドレス」は、ＶＭを特定する情報およびＶＭのＩＰアドレスやＭＡＣアドレスなどのアドレス情報である。
【００５０】
図４の場合、ＩＰ（Ａ）およびＭＡＣ（Ａ）が設定されるＶＭ（Ａ）と、ＩＰ（Ｂ）およびＭＡＣ（Ｂ）が設定されるＶＭ（Ｂ）には、拠点（札幌）１で動作するルータ４のＩＰアドレス「ＩＰ（４ｂ）」をデフォルトゲートウェイとして設定することを示している。
【００５１】
同様に、ＩＰ（Ｃ）およびＭＡＣ（Ｃ）が設定されるＶＭ（Ｃ）と、ＩＰ（Ｄ）およびＭＡＣ（Ｄ）が設定されるＶＭ（Ｄ）には、拠点（福岡）１１で動作するルータ１４のＩＰアドレス「ＩＰ（１４ｂ）」をデフォルトゲートウェイとして設定することを示している。
【００５２】
制御部３３は、プロセッサなどの電子回路であり、要求受付部３４、管理情報更新部３５、マイグレーション実行部３６、ＤＨＣＰ更新部３７、更新指示部３８を有する。つまり、各処理部は、プロセッサなどが実行するプロセスやプロセッサが有する電子回路などである。クラウドコントローラ３０が仮想マシンである場合には、制御部３３は、クラウドコントローラ３０に対して割り当てられた、物理サーバのプロセッサが実行する処理部である。
【００５３】
要求受付部３４は、Ｗｅｂサーバ５０がユーザ端末１０から受け付けたＶＭのマイグレーション指示を受信する処理部である。例えば、要求受付部３４は、拠点１のＶＭ（Ｂ）を拠点１１にマイグレーションさせる指示を受信し、受信した情報を管理情報更新部３５やマイグレーション実行部３６に出力する。
【００５４】
管理情報更新部３５は、ＶＭのマイグレーション等に伴って、管理テーブル３２ａを更新する処理部である。具体的には、管理情報更新部３５は、要求受付部３４によって受け付けられた情報に基づいて、管理テーブル３２ａを更新する。
【００５５】
例えば、管理情報更新部３５は、拠点（札幌）１で動作するＶＭ（Ｂ）を拠点（福岡）１１へマイグレーションさせる要求が受け付けられた場合、図４に示す管理テーブル３２ａにおいて、拠点（札幌）１に対応付けられる「ＶＭ（Ｂ）：ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」を拠点（福岡）１１に対応付けるように更新する。
【００５６】
マイグレーション実行部３６は、要求されたマイグレーションを実行する処理部である。具体的には、マイグレーション実行部３６は、要求受付部３４によって受け付けられた情報に基づいて、ＶＭのマイグレーションを実行する。
【００５７】
例えば、マイグレーション実行部３６は、拠点（札幌）１で動作するＶＭ（Ｂ）を拠点（福岡）１１へマイグレーションさせる要求が受け付けられた場合、ＶＭ（Ｂ）を動作させる物理サーバからマイグレーション先の物理サーバへ、メモリコピーなどを実行して、ＶＭ（Ｂ）のマイグレーションを実行する。
【００５８】
ＤＨＣＰ更新部３７は、要求されたマイグレーションに伴って、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを更新する処理部である。具体的には、ＤＨＣＰ更新部３７は、管理情報更新部３５による管理テーブル３２ａの更新によって、拠点間を跨ったマイグレーションが発生したことを検出した場合に、ＤＨＣＰサーバ４０のテーブルを更新する。
【００５９】
例えば、ＤＨＣＰ更新部３７は、管理テーブル３２ａを監視し、拠点（札幌）１に対応付けられる「ＶＭ（Ｂ）：ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」が、拠点（福岡）１１に対応付けられたことを検出する。すると、ＤＨＣＰ更新部３７は、ＶＭ（Ｂ）について拠点間マイグレーションが発生したと検出する。
【００６０】
そして、ＤＨＣＰ更新部３７は、ＤＨＣＰサーバ４０に対して、「ＶＭ（Ｂ）：ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」を拠点（福岡）のルータ１４に対応付ける指示を送信する。このとき、ＤＨＣＰ更新部３７は、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを直接更新してもよく、ＤＨＣＰサーバ４０に更新させてもよい。
【００６１】
更新指示部３８は、マイグレーションしたＶＭに対して、デフォルトゲートウェイのアドレス更新を指示する処理部である。具体的には、更新指示部３８は、マイグレーション実行部３６によって拠点間マイグレーションが実行された場合、マイグレーションされたＶＭに対して、ＤＨＣＰリクエストの送信を指示する。例えば、上記例で説明すると、更新指示部３８は、拠点（札幌）１から拠点（福岡）１１へ移動したＶＭ（Ｂ）に対して、ＤＨＣＰリクエストの送信を指示する。
【００６２】
ＶＭ（Ｂ）は、更新指示部３８からの指示にしたがって、ＤＨＣＰサーバ４０へＩＰアドレスの払い出しをリクエストする。その後、ＶＭ（Ｂ）は、ＤＨＣＰサーバ４０からＩＰアドレス「ＩＰ（Ｂ）」とともにデフォルトゲートウェイのアドレス「ＩＰ（１４ｂ）」を受信する。そして、ＶＭ（Ｂ）は、受信したＩＰアドレスおよびデフォルトゲートウェイをコンフィグに設定する。この結果、ＶＭ（Ｂ）は、デフォルトゲートウェイ「ＩＰ（１４ｂ）」を介して、外部との通信を実行できる。
【００６３】
なお、ＶＭ（Ｂ）は、ＤＨＣＰサーバ４０のアドレス等を把握していない場合、一般的なＤＨＣＰシーケンスでＤＨＣＰサーバ４０を検出した後に、上記処理を実行する。例えば、ＶＭ（Ｂ）は、ＤＨＣＰディスカバーをブロードキャストで送信し、ＤＨＣＰオファーを応答したＤＨＣＰサーバ４０に対して、ＤＨＣＰリクエストを送信する。
【００６４】
（ＤＨＣＰサーバの構成）
次に、図１に示したＤＨＣＰサーバ４０の構成について説明する。ここでは、ＤＨＣＰサーバ４０が物理装置である例で説明するが、ＤＨＣＰサーバ４０がＶＭで実現されている場合でも、物理リソースを用いて同様の機能が実行される。
【００６５】
図５は、ＤＨＣＰサーバの機能構成を示す機能ブロック図である。図５に示すように、ＤＨＣＰサーバ４０は、通信制御部４１、記憶部４２、制御部４３を有する。
【００６６】
通信制御部４１は、他の装置の通信を制御する処理部である。なお、この実施形態では、通信制御部４１には、ＩＰアドレス「ＩＰ（４０）」が設定されている。例えば、通信制御部４１は、各ＶＭとの間でＩＰアドレスの割り当てに関する各パケットを送受信し、クラウドコントローラ３０からＶＭの更新情報を受信する。
【００６７】
記憶部４２は、メモリやハードディスクなどの記憶装置であり、アドレス割り当てテーブル４２ａを保持する。なお、ＤＨＣＰサーバ４０が仮想マシンである場合には、記憶部４２は、ＤＨＣＰサーバ４０に対して割り当てられた、物理サーバのメモリやハードディスクの所定領域などが該当する。
【００６８】
アドレス割り当てテーブル４２ａは、ＶＭに割り当てるＩＰアドレスやデフォルトゲートウェイのアドレス情報を記憶するテーブルである。図６は、アドレス割り当てテーブルに記憶される情報の例を示す図である。
【００６９】
図６に示すように、アドレス割り当てテーブル４２ａは、「割り当て可能アドレス、割り当てゲートウェイ、対象アドレス情報」を対応付けて記憶する。ここで記憶される「割り当て可能アドレス」は、ネットワークセグメント２２において未使用のＩＰアドレスを示す。「割り当てゲートウェイ」は、ＶＭに割り当てるデフォルトゲートウェイのアドレスを示す。「対象アドレス情報」は、割り当てゲートウェイに設定されるデフォルトゲートウェイを割り当てる対象のＶＭのアドレス情報を示す。
【００７０】
図６の場合、ＩＰ（Ｆ）、ＩＰ（Ｇ）、ＩＰ（Ｈ）・・・が未使用のＩＰアドレスであることを示す。また、ＭＡＣアドレスが「ＭＡＣ（Ａ）」でＩＰアドレスが「ＩＰ（Ａ）」であるＶＭと、ＭＡＣアドレスが「ＭＡＣ（Ｂ）」でＩＰアドレスが「ＩＰ（Ｂ）」であるＶＭとには、デフォルトゲートウェイとしてルータ４のＩＰアドレス「ＩＰ（４ｂ）」を割り当てることを示す。
【００７１】
同様に、ＭＡＣアドレスが「ＭＡＣ（Ｃ）」でＩＰアドレスが「ＩＰ（Ｃ）」であるＶＭと、ＭＡＣアドレスが「ＭＡＣ（Ｄ）」でＩＰアドレスが「ＩＰ（Ｄ）」であるＶＭとには、デフォルトゲートウェイとしてルータ１４のＩＰアドレス「ＩＰ（１４ｂ）」を割り当てることを示す。
【００７２】
制御部４３は、プロセッサなどの電子回路であり、テーブル更新部４４、リクエスト受信部４５、応答部４６を有する。つまり、各処理部は、プロセッサなどが実行するプロセスやプロセッサが有する電子回路などである。ＤＨＣＰサーバ４０が仮想マシンである場合には、制御部４３は、ＤＨＣＰサーバ４０に対して割り当てられた、物理サーバのプロセッサが実行する処理部である。
【００７３】
テーブル更新部４４は、クラウドコントローラ３０から受信したＶＭの情報に基づいて、アドレス割り当てテーブル４２ａを更新する処理部である。具体的には、テーブル更新部４４は、新たなＶＭが起動した場合、ＶＭが終了した場合、ＶＭのマイグレーションが発生した場合などの契機で、クラウドコントローラ３０からＶＭの情報を受信し、受信した情報にしたがってアドレス割り当てテーブル４２ａを更新する。
【００７４】
例えば、「ＶＭ（Ｂ）：ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」が拠点（福岡）１１に移動したことがクラウドコントローラ３０から通知されたとする。この場合、テーブル更新部４４は、アドレス割り当てテーブル４２ａにおいて「ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」と「ルータ４／ＩＰ（４ｂ）」との対応付けを、「ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」と「ルータ１４／ＩＰ（１４ｂ）」に更新する。
【００７５】
リクエスト受信部４５は、ＶＭからＤＨＣＰリクエストを受信する処理部である。また、リクエスト受信部４５は、ＤＨＣＰリクエストを受信したことを応答部４６に通知する。なお、リクエスト受信部４５は、ＶＭからＤＨＣＰディスカバーを受信した場合、送信元のＶＭに対してＤＨＣＰオファーを応答する。
【００７６】
応答部４６は、リクエスト受信部４５によって受信されたＤＨＣＰリクエストに対して、ＤＨＣＰ  ＡＣＫを応答する処理部である。具体的には、応答部４６は、ＶＭからＶＭのＭＡＣアドレスを受信し、当該ＭＡＣアドレスに対応するＩＰアドレスおよび割り当てゲートウェイのＩＰアドレスをアドレス割り当てテーブル４２ａから特定して応答する。
【００７７】
例えば、応答部４６は、受信されたＤＨＣＰリクエストからＭＡＣアドレス「ＭＡＣ（Ｂ）」を抽出する。そして、応答部４６は、抽出したＭＡＣ（Ｂ）に対応付けられるＩＰアドレス「ＩＰ（Ｂ）」とルータ４のＩＰアドレス「ＩＰ（４ｂ）」を、アドレス割り当てテーブル４２ａから特定する。その後、応答部４６は、ＭＡＣアドレス「ＭＡＣ（Ｂ）」に対して、つまり、送信元のＶＭ（Ｂ）に対して、ＩＰアドレス「ＩＰ（Ｂ）」およびデフォルトゲートウェイのＩＰアドレス「ＩＰ（４ｂ）」を設定したＤＨＣＰ  ＡＣＫを応答する。
【００７８】
（クラウドコントローラの処理）
図７は、クラウドコントローラが実行する処理の流れを示すフローチャートである。ここでは、一例として、ＶＭを起動させてからマイグレーションさせるまでの一連の流れを例にして説明する。
【００７９】
図７に示すように、クラウドコントローラ３０の管理情報更新部３５は、管理者等から、各データセンタで動作するＶＭの情報を受信すると（Ｓ１０１：Ｙｅｓ）、受信した情報に基づいて管理テーブル３２ａを生成する（Ｓ１０２）。
【００８０】
例えば、クラウドコントローラ３０は、ＶＭがどこの拠点で動作するか、どのようなアドレスを割り当てるか、どのようなＭＡＣアドレスを有しているかなどの情報を受け付けて、管理テーブル３２ａに格納する。
【００８１】
続いて、クラウドコントローラ３０のＤＨＣＰ更新部３７は、管理テーブル３２ａの情報に基づいて、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを更新する（Ｓ１０３）。例えば、クラウドコントローラ３０は、ＩＰアドレス「ＩＰ（Ａ）」およびＭＡＣ「ＭＡＣ（Ａ）」を有するＶＭ（Ａ）のデフォルトゲートウェイが拠点（札幌）１のルータＡのＩＰ（４ａ）であるなどの情報をＤＨＣＰサーバ４０に送信する。
【００８２】
続いて、クラウドコントローラ３０の更新指示部３８は、各ＶＭに対してＩＰアドレスの取得指示を送信する（Ｓ１０４）。この指示を受信した各ＶＭは、ＤＨＣＰサーバ４０にＩＰアドレスの割り当てを要求し、ＩＰアドレスやデフォルトゲートウェイのアドレスを取得して設定する。
【００８３】
その後、クラウドコントローラ３０の要求受付部３４が、Ｗｅｂサーバ５０から、マイグレーション要求を受信すると（Ｓ１０５：Ｙｅｓ）、管理情報更新部３５は、要求受付部３４が受け付けたマイグレーション内容を取得する（Ｓ１０６）。
【００８４】
続いて、クラウドコントローラ３０の管理情報更新部３５は、取得したマイグレーション内容に基づいて、管理テーブル３２ａを更新する（Ｓ１０７）。
【００８５】
そして、クラウドコントローラ３０のマイグレーション実行部３６は、受け付けられた内容にしたがってマイグレーションを実行する（Ｓ１０８）。続いて、ＤＨＣＰ更新部３７は、更新した管理テーブル３２ａの情報に基づいて、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを更新する（Ｓ１０９）。
【００８６】
このとき、例えば、クラウドコントローラ３０は、移動対象のＶＭが移動前に使用していたＩＰアドレスと、当該ＶＭのＭＡＣアドレスとを対応付けて、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを更新する。なお、Ｓ１０８とＳ１０９の処理はどちらを先に実行してもよい。
【００８７】
続いて、クラウドコントローラ３０の更新指示部３８は、マイグレーションさせたＶＭに対してＩＰアドレスの取得指示を送信し（Ｓ１１０）、当該ＶＭのＩＰアドレスおよびデフォルトゲートウェイを更新させる。その後は、マイグレーションが発生するたびに、Ｓ１０１以降の処理が繰り返される。
【００８８】
（ＤＨＣＰサーバの処理）
図８は、ＤＨＣＰサーバが実行する処理の流れを示すフローチャートである。図８に示すように、ＤＨＣＰサーバ４０のテーブル更新部４４は、クラウドコントローラ３０からＶＭの更新情報を受信すると（Ｓ２０１：Ｙｅｓ）、当該更新情報に基づいて、アドレス割り当てテーブル４２ａを更新する（Ｓ２０２）。
【００８９】
その後、ＤＨＣＰサーバ４０のリクエスト受信部４５が、ＶＭからＤＨＣＰリクエストを受信した場合（Ｓ２０３：Ｙｅｓ）、応答部４６は、受信したリクエストから、送信元であるＶＭのＭＡＣアドレスなどのアドレス情報を抽出する（Ｓ２０４）。
【００９０】
続いて、ＤＨＣＰサーバ４０の応答部４６は、ＤＨＣＰリクエストから抽出されたアドレス情報に対応するＩＰアドレスやデフォルトゲートウェイを、アドレス割り当てテーブル４２ａから特定する（Ｓ２０５）。
【００９１】
その後、ＤＨＣＰサーバ４０の応答部４６は、アドレス割り当てテーブル４２ａから特定した、割り当て対象のＩＰアドレスおよびデフォルトゲートウェイのＩＰアドレスを、ＤＨＣＰリクエストの送信元であるＶＭに応答する（Ｓ２０６）。
【００９２】
（具体例）
次に、ユーザ端末１０のユーザが拠点（札幌）１から拠点（福岡）１１へ出張するのに伴って、利便性向上のために、ユーザが利用するＶＭ（Ｂ）をデータセンタ１２へマイグレーションさせる例を説明する。図９は、ＶＭのマイグレーション後にデフォルトゲートウェイを変更する具体例を説明する図である。図９は、図１と同様の構成を有する。
【００９３】
図９に示すように、ユーザ端末１０は、Ｗｅｂサーバ５０へアクセスして、Ｗｅｂ画面等を用いて出張先の情報を登録し、サービス等の移動を要求する（Ｓ３０１）。図１０は、出張先情報を登録する画面例を示す図である。Ｗｅｂサーバ５０は、ユーザ端末１０からのアクセスを受け付けると、図１０に示す画面をユーザ端末１０に応答する。
【００９４】
図１０に示す画面は、「ユーザＩＤ、移動元、移動先、移動対象」を入力させる画面である。「ユーザＩＤ」は、出張するユーザの識別子である。「移動元」は、出張元を示す情報であり、「移動先」は、出張先を示す情報であり、「移動対象」は、出張先で使用するサービスやサーバを特定する情報である。この「移動元」、「移動先」、「移動対象」は、例えばプルダウンメニュー等で容易に選択することができる。
【００９５】
ここでは、図１０に示すように、Ｗｅｂサーバ５０は、ユーザＩＤ「Ｕ００１」、移動元「札幌」、移動先「福岡」、移動対象「Ｗｅｂサーバ（ＶＭ（Ｂ））」の入力を受け付けたとする。
【００９６】
続いて、クラウドコントローラ３０は、Ｗｅｂサーバ５０が受け付けたマイグレーション内容に基づいて、管理テーブル３２ａを更新する（Ｓ３０２）。具体的には、クラウドコントローラ３０は、Ｗｅｂサーバ５０からマイグレーション内容を取得し、移動対象のＶＭを移動先のデフォルトゲートウェイに対応付けるように、管理テーブル３２ａを更新する。
【００９７】
図１１は、管理テーブルの更新例を説明する図である。図１１に示すように、クラウドコントローラ３０は、拠点（札幌）１のデータセンタ２から拠点（福岡）１１のデータセンタ１２へＶＭ（Ｂ）をマイグレーションさせる指示を受信した場合、管理テーブル３２ａにおいて拠点（札幌）に対応付けられるＶＭ（Ｂ）のアドレス情報「ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」を拠点（福岡）に移動させる。
【００９８】
続いて、クラウドコントローラ３０は、要求された指示通り、拠点（札幌）１のデータセンタ２で動作するＶＭ（Ｂ）を拠点（福岡）１１のデータセンタ１２へマイグレーションさせる（Ｓ３０３）。
【００９９】
その後、クラウドコントローラ３０は、ＶＭ（Ｂ）のマイグレーションに伴って、ＤＨＣＰサーバ４０のアドレス割り当てテーブル４２ａを更新する（Ｓ３０４）。具体的には、クラウドコントローラ３０は、ＶＭ（Ｂ）が拠点間マイグレーションによってデフォルトゲートウェイの対応付けが変更されたことを、ＤＨＣＰサーバ４０に通知する。ＤＨＣＰサーバ４０は、この通知にしたがって、アドレス割り当てテーブル４２ａを更新する。
【０１００】
図１２は、アドレス割り当てテーブルの更新例を説明する図である。クラウドコントローラ３０が、ＶＭ（Ｂ）のアドレス「ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」とともに、ＶＭ（Ｂ）がデフォルトゲートウェイ「ルータ１４／ＩＰ（１４ｂ）」に対応付けられたことをＤＨＣＰサーバ４０に送信する。すると、図１２に示すように、ＤＨＣＰサーバ４０は、ＶＭ（Ｂ）のアドレス「ＩＰ（Ｂ）／ＭＡＣ（Ｂ）」に対応付けられるデフォルトゲートウェイを、「ルータ４／ＩＰ（４ｂ）」から「ルータ１４／ＩＰ（１４ｂ）」に変更する。
【０１０１】
そして、クラウドコントローラ３０は、ＶＭ（Ｂ）に対してＩＰアドレスの割り当て指示を送信し、ＶＭ（Ｂ）にデフォルトゲートウェイの更新を実行させる（Ｓ３０５）。具体的には、クラウドコントローラ３０は、マイグレーションが完了したＶＭ（Ｂ）に対してＤＨＣＰリクエストの送信を指示する。この指示を受信したＶＭ（Ｂ）は、自身のＭＡＣアドレス「ＭＡＣ（Ｂ）」を含めたＤＨＣＰリクエストを、ＤＨＣＰサーバ４０に送信する。
【０１０２】
このＤＨＣＰリクエストを受信したＤＨＣＰサーバ４０は、受信したＤＨＣＰリクエストから送信元のＭＡＣアドレス「ＭＡＣ（Ｂ）」を抽出する。続いて、ＤＨＣＰサーバ４０は、アドレス割り当てテーブル４２ａを参照し、抽出したＭＡＣアドレス「ＭＡＣ（Ｂ）」に対応するＩＰアドレス「ＩＰ（Ｂ）」を特定する。さらに、ＤＨＣＰサーバ４０は、アドレス割り当てテーブル４２ａを参照し、抽出したＭＡＣアドレス「ＭＡＣ（Ｂ）」に対応付けられるデフォルトゲートウェイのＩＰアドレスが「ＩＰ（１４ｂ）」であることを特定する。
【０１０３】
その後、ＤＨＣＰサーバ４０は、ＤＨＣＰリクエストの送信元であるＶＭ（Ｂ）に対して、ＩＰアドレス「ＩＰ（Ｂ）」およびデフォルトゲートウェイのＩＰアドレス「ＩＰ（１４ｂ）」を含むＤＨＣＰ  ＡＣＫを応答する。
【０１０４】
図１３は、ＤＨＣＰ  ＡＣＫの例を示す図である。図１３に示すように、ＤＨＣＰ  ＡＣＫは、送信元ＭＡＣ、宛先ＭＡＣ、送信元ＩＰ、宛先ＩＰ、ＤＨＣＰ  ＡＣＫ内容を含む。この具体例では、ＤＨＣＰサーバは、送信元ＭＡＣにＤＨＣＰサーバ４０のＭＡＣアドレス「ＭＡＣ（４０）」、宛先ＭＡＣにＶＭ（Ｂ）のＭＡＣアドレス「ＭＡＣ（Ｂ）」、送信元ＩＰにＤＨＣＰサーバ４０のＩＰアドレス「ＩＰ（４０）」、宛先ＩＰにＶＭ（Ｂ）のＩＰアドレス「ＩＰ（Ｂ）」、ＤＨＣＰ  ＡＣＫ内容に「デフォルトゲートウェイのＩＰアドレス＝ＩＰ（１４ｂ）」を設定して、ＶＭ（Ｂ）に送信する。
【０１０５】
ＶＭ（Ｂ）は、このＤＨＣＰ  ＡＣＫを受信すると、宛先ＩＰに設定される「ＩＰ（Ｂ）」を自身のＩＰアドレスとして設定し、ＤＨＣＰ  ＡＣＫ内容に設定される「ＩＰ（１４ｂ）」をデフォルトゲートウェイに設定する。
【０１０６】
その後、ユーザ端末１０は、拠点（福岡）１１に移動し（Ｓ３０６）、拠点（福岡）１１からＶＭ（Ｂ）にアクセスする。このとき、ＶＭ（Ｂ）のデフォルトゲートウェイがルータ４からルータ１４に更新されていることから、より通信遅延の少ない経路でアクセスすることができる。
【０１０７】
図１４は、マイグレーション後の経路が変更される例を説明する図である。図１４は、ＶＭ（Ｂ）のマイグレーションおよびＶＭ（Ｂ）のデフォルトゲートウェイの更新が完了した後、ユーザ端末１０が出張先の拠点（福岡）１１からＶＭ（Ｂ）にアクセスした例を図示している。
【０１０８】
図１４に示すように、従来のように、ＶＭ（Ｂ）のデフォルトゲートウェイがルータ１４に変更されずルータ４のままである場合は、ユーザ端末１０は、ＶＭ（Ｂ）からの応答を、ＯＶＳ１５、仮想Ｌ２ネットワーク２１、ＯＶＳ５、ルータ４、ＣＥルータ３を経由するルート５１の経路で受信する。
【０１０９】
一方で、上述した手法でＶＭ（Ｂ）のデフォルトゲートウェイがルータ１４に変更された場合は、ユーザ端末１０は、ＶＭ（Ｂ）からの応答について、ＯＶＳ１５、ルータ１４、ＣＥルータ１３を経由するルート５２で受信する。
【０１１０】
（効果）
上述したように、同一ネットワークセグメント内でＶＭのマイグレーションが発生した場合でも、ＶＭが近くのルータをデフォルトゲートウェイに設定することができる。このため、図１４に示したように、ＶＭからユーザ端末１０への通信を最短経路で実行することができるので、通信遅延を縮小化することができる。
【０１１１】
また、ユーザが設定変更などの専門的な作業を行わずに、ＶＭからユーザ端末１０への通信を最短経路で実行することができるので、ユーザの負荷増加を低減しつつ、通信遅延を縮小化することができる。
【０１１２】
また、ＶＭのマイグレーション後も通信遅延を縮小化することができるので、ＶＭのマイグレーションを頻繁に実行しても通信遅延が抑制でき、仮想環境のメンテナンスや物理サーバのメンテナンスを手軽に実行でき、システムの信頼性が向上する。さらには、仮想マシンを用いたシステム構築の汎用性が向上する。
【０１１３】
また、ＤＨＣＰサーバ４０は、アドレス割り当てテーブル４２ａに、ＶＭのＭＡＣアドレスとＩＰアドレスとデフォルトゲートウェイとを対応付けて記憶する。このため、ＤＨＣＰサーバ４０は、マイグレーションが完了したＶＭからＤＨＣＰリクエストを受信した場合でも、マイグレーション前後で同じＩＰアドレスを割り当てることができる。この結果、マイグレーション前後でルータ等の設定変更をする必要がないので、管理者等の作業負担を軽減することができ、設定ミスなどの人為的ミスを抑制することができる。また、人為的ミスを抑制できるので、システムの品質や信頼性も向上する。
【０１１４】
なお、ＤＨＣＰサーバ４０は、ＶＭのＭＡＣアドレスに対応するＩＰアドレスが対応付けられていない場合には、未使用のＩＰアドレスを割り当ててもよい。この場合、ＤＨＣＰサーバ４０は、マイグレーション前後でＶＭのＩＰアドレスが変更される場合があるので、ＮＡＴ（Network  Address  Translation）変換等を行ってパケットを中継するルータ４やルータ１４に、ＶＭのアドレスが変更されたことを通知する。この結果、各ルータは、アドレス変換テーブル等を更新することができる。
【０１１５】
［第２の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施形態を説明する。
【０１１６】
（ルータ数）
例えば、上記実施形態では、同一ネットワークセグメント内でルータが２台である場合を説明したが、これに限定されるものではなく、３台以上のルータが存在してもよい。
【０１１７】
（死活監視）
上記実施形態では、クラウドコントローラ３０は、ルータ４とルータ１４とを死活監視し、一方のルータの起動が確認できない場合には、各ＶＭのデフォルトゲートウェイを起動中のルータに設定することができる。例えば、クラウドコントローラ３０は、ルータ４の起動が確認できない場合には、管理テーブル３２ａにおいてルータ４に対応付けられているアドレス情報の対応付けを、ルータ１４に変更する。
【０１１８】
さらに、クラウドコントローラ３０は、アドレス情報の対応付けが変更されたことをＤＨＣＰサーバ４０に送信し、ＤＨＣＰサーバ４０は、アドレス割り当てテーブル４２ａを更新する。そして、上記実施形態と同様の手法を実行することで、各ＶＭのデフォルトゲートウェイを、正常に稼動しているルータ１４に変更することができる。なお、死活監視は、ルータ間で実行してもよく、ＶＭやＤＨＣＰサーバ４０が実行してもよい。
【０１１９】
（ＤＨＣＰリクエスト）
上記実施形態では、クラウドコントローラ３０が、マイグレーションしたＶＭに対して、デフォルトゲートウェイなどを更新する指示を送信する例を説明したが、これに限定されるものではない。
【０１２０】
例えば、クラウドコントローラ３０は、ＤＨＣＰサーバ４０に対して、マイグレーションしたＶＭのデフォルトゲートウェイなどを更新させる指示を送信することもできる。この指示を受信したＤＨＣＰサーバ４０は、マイグレーション後のＶＭに対して、ＤＨＣＰ  ｆｏｒｃｅ  ｒｅｎｅｗを送信し、ＶＭにＤＨＣＰ再取得を実行させる。
【０１２１】
（ルータ）
上記実施形態のルータ４やルータ１４は、ＮＡＴ変換やルーティング等を実行して通信を中継する。例えば、ルータ４は、インタフェース４ａにグローバルＩＰアドレスが設定され、インタフェース４ｂにプライベートＩＰアドレスが設定されている場合、一般的なＮＡＴ変換を用いて、グローバルＩＰアドレスからプライベートＩＰアドレスへの変換やプライベートＩＰアドレスからグローバルＩＰアドレスへの変換を実行して、通信を中継する。また、各ルータは、ルーティングテーブルを保持し、ルーティングテーブルに対して経路情報を静的または動的に設定し、ルーティングテーブルに記憶される経路情報に基づいて、通信を中継する。
【０１２２】
（ネットワーク構成）
上記実施形態では、ユーザ端末１０と各ＣＥルータとがインターネットで接続される例を説明したが、これに限定されるものではない。例えば、ユーザ端末１０と各ＣＥルータとの接続には、インターネットの他に、ＶＰＮ（Virtual  Private  Network）、広域イーサネット、モデムや専用線を用いることができる。
【０１２３】
例えば、拠点から広告する経路をユーザがリアルタイムに制御できないネットワークでは、ユーザ端末１０が出張先でＶＭ（Ｂ）にアクセスする場合、札幌経由でアクセスするか、福岡経由でアクセスするかは、札幌や福岡の拠点にＶＭ（Ｂ）にアクセスするためのグローバルＩＰアドレスを割り振り、ユーザ端末１０がグローバルＩＰアドレスを切り替えて、アクセスする必要がある。このようなネットワークの一例としては、例えばインターネットや広告する経路のアドレスをネットワーク事業者に申し込まなければならないＩＰ−ＶＰＮ等がある。
【０１２４】
また、拠点から広告する経路をユーザがリアルタイムに制御できるネットワークでは、ユーザ端末１０が出張先でＶＭ（Ｂ）にアクセスする場合に、札幌のルータ４経由でアクセスするか、福岡のルータ１４でアクセスするかは、ユーザが広告する経路によって変更可能である。このようなネットワークの一例としては、例えば、広告する経路のアドレス情報を制限されていないＩＰ−ＶＰＮサービスや、ユーザがＩＰレイヤを構築するＥｔｈｅｒｎｅｔ−ＶＰＮ、インターネットＶＰＮ等がある。
【０１２５】
（システム構成等）
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２６】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２７】
（プログラム）
また、上記実施形態に係るクラウドコントローラ３０が実行する処理をコンピュータが実行可能な言語で記述したアドレス管理プログラムを作成することもできる。この場合、コンピュータがアドレス管理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるアドレス管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたアドレス管理プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【０１２８】
同様に、上記実施形態に係るＤＨＣＰサーバ４０が実行する処理をコンピュータが実行可能な言語で記述したアドレス更新プログラムを作成することもできる。この場合、コンピュータがアドレス更新プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるアドレス更新プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたアドレス更新プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【０１２９】
以下に、図３等に示したクラウドコントローラ３０と同様の機能を実現するアドレス管理プログラムを実行するコンピュータの一例、または、図５等に示したＤＨＣＰサーバ４０と同様の機能を実現するアドレス更新プログラムを実行するコンピュータの一例を説明する。
【０１３０】
図１５は、アドレス管理プログラムまたはアドレス更新を実行するコンピュータを示す図である。図１５に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【０１３１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【０１３２】
ここで、図１５に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【０１３３】
また、アドレス管理プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明した要求受付部３４と同様の情報処理を実行する要求受付手順と、管理情報更新部３５と同様の情報処理を実行する管理情報更新手順と、マイグレーション実行部３６と同様の情報処理を実行するマイグレーション実行手順と、ＤＨＣＰ更新部３７と同様の情報処理を実行するＤＨＣＰ更新手順と、更新指示部３８と同様の情報処理を実行する更新指示手順とが記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【０１３４】
また、アドレス管理プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【０１３５】
なお、アドレス管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、アドレス管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１３６】
同様に、アドレス更新プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したテーブル更新部４４と同様の情報処理を実行するテーブル更新手順と、リクエスト受信部４５と同様の情報処理を実行するリクエスト受信手順と、応答部４６と同様の情報処理を実行する応答手順とが記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【０１３７】
また、アドレス更新プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【０１３８】
なお、アドレス更新プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、アドレス更新プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１３９】
１  拠点（札幌）
２、１２  データセンタ
３、１３  ＣＥルータ
４、１４  ルータ
５、１５  ＯＶＳ
１１  拠点（福岡）
２０  ネットワーク
２１  仮想Ｌ２ネットワーク
２２  ネットワークセグメント
３０  クラウドコントローラ
３１  通信制御部
３２  記憶部
３２ａ  管理テーブル
３３  制御部
３４  要求受付部
３５  管理情報更新部
３６  マイグレーション実行部
３７  ＤＨＣＰ更新部
３８  更新指示部
４０  ＤＨＣＰサーバ
４１  通信制御部
４２  記憶部
４２ａ  アドレス割り当てテーブル
４３  制御部
４４  テーブル更新部
４５  リクエスト受信部
４６  応答部
５０  Ｗｅｂサーバ
【図１】
0006013980.tif 000002
【図２】
0006013980.tif 000003
【図３】
0006013980.tif 000004
【図４】
0006013980.tif 000005
【図５】
0006013980.tif 000006
【図６】
0006013980.tif 000007
【図７】
0006013980.tif 000008
【図８】
0006013980.tif 000009
【図９】
0006013980.tif 000010
【図１０】
0006013980.tif 000011
【図１１】
0006013980.tif 000012
【図１２】
0006013980.tif 000013
【図１３】
0006013980.tif 000014
【図１４】
0006013980.tif 000015
【図１５】
0006013980.tif 000016