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