(57)【特許請求の範囲】
【請求項１】
ＶＰＮ（Virtual  Private  Network）に設置された利用者端末が他のＶＰＮに設置された仮想マシンにアクセスするための経路をネットワーク装置に対する設定により構築し、ＶＰＮ間の接続を制御する制御装置であって、
前記利用者端末が第１のＶＰＮに設置された仮想マシンにアクセスするための経路が現用の経路として構築されている場合に、該第１のＶＰＮに設置された仮想マシンをマイグレーション元として、第２のＶＰＮに設置される仮想マシンをマイグレーション先とするマイグレーションの実行開始を検知する検知部と、
前記検知部によって前記マイグレーションの実行開始が検知されると、該マイグレーションの実行と併行して、前記利用者端末が前記第２のＶＰＮに設置される仮想マシンにアクセスするための経路を構築する設定を、所定のネットワーク装置に対して行う設定部と、
前記マイグレーションの実行完了を検知し、かつ、前記ネットワーク装置への設定が完了すると、現用の経路を、前記設定部によって構築された経路に切り替える切替部と
を備え、
前記ネットワーク装置は、
ＶＰＮ間接続の対象となる複数のＶＰＮを収容し、ＶＰＮ間のパケット転送を制御するパケット転送制御装置と、該パケット転送制御装置と各ＶＰＮとの間に設置され、パケットに含まれるアドレスを変換するアドレス変換装置とを含み、
前記アドレス変換装置は、
パケットに含まれる送信元のアドレス及び宛先のアドレスの双方を、アドレス変換情報に従って変換し、
前記設定部は、前記検知部によって前記マイグレーションの実行開始が検知されると、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対する前記アドレス変換情報の設定を行うことを特徴とする制御装置。
【請求項２】
前記設定部は、前記パケット転送制御装置と前記第１のＶＰＮとの間に設置されたアドレス変換装置に設定されたアドレス変換情報と同一内容のアドレス変換情報を、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対して設定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記設定部は、前記第２のＶＰＮ内で前記利用者端末を一意に識別するための新たなアドレスを払い出し、払い出した新たなアドレスを用いたアドレス変換情報を、前記アドレス変換装置に対して設定することを特徴とする請求項１に記載の制御装置。
【請求項４】
前記設定部は、前記パケット転送制御装置と前記第１のＶＰＮとの間に設置されたアドレス変換装置に設定されたアドレス変換情報に含まれる、前記第２のＶＰＮ内で前記利用者端末を一意に識別するためのアドレスが、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対して設定可能であるか否かを判定し、設定可能でないと判定した場合に、前記第２のＶＰＮ内で前記利用者端末を一意に識別するための新たなアドレスを払い出し、払い出した新たなアドレスを用いたアドレス変換情報を、該アドレス変換装置に対して設定することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記設定部は、前記第２のＶＰＮ内で前記利用者端末を一意に識別するための前記新たなアドレスを、前記利用者端末と前記第２のＶＰＮに設置される仮想マシンとの間に経路が構築される時間帯において、該第２のＶＰＮ内で通信相手となり得る端末の中で一意に識別されるように払い出すことを特徴とする請求項３又は４に記載の制御装置。
【請求項６】
ＶＰＮに設置された利用者端末が他のＶＰＮに設置された仮想マシンにアクセスするための経路を制御する制御システムであって、
複数のＶＰＮを収容し、ＶＰＮ間のパケット転送を制御するパケット転送制御装置と、
前記パケット転送制御装置と各ＶＰＮとの間に設置され、パケットに含まれるアドレスを変換するアドレス変換装置と、
ＶＰＮ間を接続するための経路を構築する制御装置とを備え、
前記制御装置は、
前記利用者端末が第１のＶＰＮに設置された仮想マシンにアクセスするための経路が現用の経路として構築されている場合に、該第１のＶＰＮに設置された仮想マシンをマイグレーション元として、第２のＶＰＮに設置される仮想マシンをマイグレーション先とするマイグレーションの実行開始を検知する検知部と、
前記検知部によって前記マイグレーションの実行開始が検知されると、該マイグレーションの実行と併行して、前記利用者端末が前記第２のＶＰＮに設置される仮想マシンにアクセスするための経路を構築する設定を、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対して行う設定部と、
前記マイグレーションの実行完了を検知し、かつ、前記アドレス変換装置への設定が完了すると、現用の経路を、前記設定部によって構築された経路に切り替える切替部とを備え、
前記アドレス変換装置は、
パケットに含まれる送信元のアドレス及び宛先のアドレスの双方を、アドレス変換情報に従って変換し、
前記設定部は、前記検知部によって前記マイグレーションの実行開始が検知されると、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対する前記アドレス変換情報の設定を行うことを特徴とする制御システム。
【請求項７】
ＶＰＮに設置された利用者端末が他のＶＰＮに設置された仮想マシンにアクセスするための経路をネットワーク装置に対する設定により構築してＶＰＮ間の接続を制御する制御装置で実行される制御方法であって、
前記利用者端末が第１のＶＰＮに設置された仮想マシンにアクセスするための経路が現用の経路として構築されている場合に、該第１のＶＰＮに設置された仮想マシンをマイグレーション元として、第２のＶＰＮに設置される仮想マシンをマイグレーション先とするマイグレーションの実行開始を検知する検知工程と、
前記検知工程によって前記マイグレーションの実行開始が検知されると、該マイグレーションの実行と併行して、前記利用者端末が前記第２のＶＰＮに設置される仮想マシンにアクセスするための経路を構築する設定を、所定のネットワーク装置に対して行う設定工程と、
前記マイグレーションの実行完了を検知し、かつ、前記ネットワーク装置への設定が完了すると、現用の経路を、前記設定工程によって構築された経路に切り替える切替工程とを含み、
前記ネットワーク装置は、
ＶＰＮ間接続の対象となる複数のＶＰＮを収容し、ＶＰＮ間のパケット転送を制御するパケット転送制御装置と、該パケット転送制御装置と各ＶＰＮとの間に設置され、パケットに含まれるアドレスを変換するアドレス変換装置とを含み、
前記アドレス変換装置は、
パケットに含まれる送信元のアドレス及び宛先のアドレスの双方を、アドレス変換情報に従って変換し、
前記設定工程は、前記検知工程によって前記マイグレーションの実行開始が検知されると、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対する前記アドレス変換情報の設定を行うことを特徴とする制御方法。
【請求項８】
コンピュータを請求項１〜５に記載の制御装置として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御装置、制御システム、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
近年、複数のＶＰＮ（Virtual  Private  Network）間を相互に接続するサービス（以下「ＶＰＮ間接続サービス」）が提案されている。例えば、データセンタ（Data  Center）のＶＰＮと自社のＶＰＮとを相互に接続し、データセンタに設置された社内サーバに自社の利用者端末からアクセスする、といった利用形態である。
【０００３】
このようなデータセンタにおいて、仮想マシン技術が用いられることがある。仮想マシン技術とは、物理的なハードウェアを論理的に分割し、分割したハードウェア毎にＯＳ（Operating  System）を動作させることで、１台のマシンをあたかも複数台のマシンであるかの如く動作させる技術である。例えば、データセンタに設置された１台のサーバにこの技術を適用することで、あたかも複数のサーバであるかの如く動作させ、複数の会社に個別にサービスを提供することができる。
【０００４】
ここで、仮想マシン技術に伴う技術のひとつに、ライブマイグレーション（live  migration）がある。ライブマイグレーションとは、動作中の仮想マシンで動作するＯＳやソフトウェアを、停止することなく他の仮想マシンに移行する技術である。ライブマイグレーションによれば、例えば、動作中の仮想マシンの負荷が高い場合に、サービスを停止することなく他のサーバで仮想マシンを動作させることができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】小山高明、唐澤秀一、岸和宏、水野伸太郎、岩村相哲、「ＶＰＮ間接続管理システムの提案」、信学技報ＩＮ２００９−４８（２００９−０９）、Ｐ．５３−５８
【非特許文献２】平初、森若和雄、鶴野龍一郎、まえだこうへい、「ＫＶＭ徹底入門」、株式会社翔泳社
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ライブマイグレーションがＶＰＮをまたがって行われる場合、マイグレーション先の仮想マシンにアクセスするための経路を新たに構築しなければならない場合がある。ライブマイグレーションの実行完了時にマイグレーション先の仮想マシンが管理サーバに通知を行う技術があるが、仮にこれを応用したとしても、ライブマイグレーションに伴ってサービス提供側に発生する処理時間は、ライブマイグレーションの実行時間と経路の構築時間とを足し合わせた時間となり、長くなってしまう。このようなことから、ライブマイグレーションに伴って発生する処理時間を短縮する技術が望まれている。
【課題を解決するための手段】
【０００７】
実施の形態に係る制御装置は、ＶＰＮに設置された利用者端末が他のＶＰＮに設置された仮想マシンにアクセスするための経路をネットワーク装置に対する設定により構築し、ＶＰＮ間の接続を制御する制御装置である。制御装置は、検知部、設定部、及び切替部を備える。検知部は、前記利用者端末が第１のＶＰＮに設置された仮想マシンにアクセスするための経路が現用の経路として構築されている場合に、該第１のＶＰＮに設置された仮想マシンをマイグレーション元として、第２のＶＰＮに設置される仮想マシンをマイグレーション先とするマイグレーションの実行開始を検知する。設定部は、前記検知部によって前記マイグレーションの実行開始が検知されると、該マイグレーションの実行と併行して、前記利用者端末が前記第２のＶＰＮに設置される仮想マシンにアクセスするための経路を構築する設定を、所定のネットワーク装置に対して行う。切替部は、前記マイグレーションの実行完了を検知し、かつ、前記ネットワーク装置への設定が完了すると、現用の経路を、前記設定部によって構築された経路に切り替える。前記ネットワーク装置は、ＶＰＮ間接続の対象となる複数のＶＰＮを収容し、ＶＰＮ間のパケット転送を制御するパケット転送制御装置と、該パケット転送制御装置と各ＶＰＮとの間に設置され、パケットに含まれるアドレスを変換するアドレス変換装置とを含み、前記アドレス変換装置は、パケットに含まれる送信元のアドレス及び宛先のアドレスの双方を、アドレス変換情報に従って変換し、前記設定部は、前記検知部によって前記マイグレーションの実行開始が検知されると、前記パケット転送制御装置と前記第２のＶＰＮとの間に設置されたアドレス変換装置に対する前記アドレス変換情報の設定を行う。
【発明の効果】
【０００８】
ライブマイグレーションに伴って発生する処理時間を短縮することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に係るＶＰＮ間接続サービスの概要を説明するための図である。
【図２】図２は、第１の実施形態に係るライブマイグレーションの処理手順を示すシーケンス図である。
【図３】図３は、第１の実施形態に係るＶＰＮ間接続管理システムの構成を示すブロック図である。
【図４】図４は、第１の実施形態に係る顧客ネットワーク設定記憶部を説明するための図である。
【図５】図５は、第１の実施形態におけるＩＰアドレスの割り当てを説明するための図である。
【図６】図６は、第１の実施形態に係るネットワーク装置設定記憶部を説明するための図である。
【図７】図７は、第１の実施形態の変形例を説明するための図である。
【図８】図８は、第２の実施形態におけるＴｗｉｃｅ−ＮＡＴを説明するための図である。
【図９】図９は、Ｓｉｎｇｌｅ−ＮＡＴによるアドレス変換を説明するための図である。
【図１０】図１０は、Ｔｗｉｃｅ−ＮＡＴによるアドレス変換を説明するための図である。
【図１１】図１１は、第２の実施形態におけるＩＰアドレスの管理を説明するための図である。
【図１２】図１２は、ＶＰＮサービスによって接続された複数のローカルエリアネットワーク群としてのＶＰＮを説明するための図である。
【図１３】図１３は、ＶＰＮサービスによって接続された複数のローカルエリアネットワーク群としてのＶＰＮを説明するための図である。
【図１４】図１４は、ＶＰＮサービスによって接続された複数のローカルエリアネットワーク群としてのＶＰＮを説明するための図である。
【図１５】図１５は、実施形態に係る制御プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１０】
以下、実施形態に係る制御装置、制御システム、制御方法、及び制御プログラムを説明する。
【００１１】
（第１の実施形態）
［ＶＰＮ間接続サービスの概要］
ＶＰＮ間接続サービスは、複数のＶＰＮ間を相互に接続するサービスである。例えば、データセンタのＶＰＮと顧客の会社のＶＰＮとを相互に接続し、データセンタに設置されたサーバに顧客の利用者端末からアクセスさせる、といったサービスを提供する。以下では、このようなＶＰＮ間接続サービスが提供されるシステムを「ＶＰＮ間通信システム」と呼び、ＶＰＮ間接続サービスを管理し、経路を構築するシステムを「ＶＰＮ間接続管理システム」と呼ぶ。
【００１２】
図１は、第１の実施形態に係るＶＰＮ間接続サービスの概要を説明するための図である。まず、ＶＰＮ間通信システムを説明する。ＶＰＮ間通信システムにおいては、図１に示すように、集合仮想ルータが複数のＶＰＮをスター型に収容し、集合仮想ルータと各ＶＰＮとの間にアドレス変換装置が設置される。集合仮想ルータは、ＶＰＮ間のパケット転送を制御する。また、仮想ルータは、物理的なハードウェアとしての集合仮想ルータを論理的に分割し、分割したハードウェア毎にルータとして動作させることにより実現される。ＶＰＮ間接続サービスは、通常、この仮想ルータ単位で提供される。また、アドレス変換装置は、パケットに含まれるアドレスを変換（ＮＡＴ（Network  Address  Translation））する。すなわち、アドレス変換装置は、各ＶＰＮ内で利用されるプライベートアドレスと、集合仮想ルータ側で利用されるアドレスとを変換する。なお、ＶＰＮ終端装置は、各ＶＰＮを集合仮想ルータに収容するためにＶＰＮを終端する。
【００１３】
ここで、第１の実施形態においては、ＶＰＮ３に設置された利用者端末がＶＰＮ１（データセンタ１）に設置された仮想マシン１にアクセスするための経路が、現用の経路として既に構築されていることを想定する。すなわち、利用者端末と仮想マシン１との間でパケットを転送するための情報として、アドレス変換装置１及びアドレス変換装置３にはアドレス変換情報が設定され、集合仮想ルータにはルーティング情報が設定されている。言い換えると、ライブマイグレーション実行前、アドレス変換装置１及びアドレス変換装置３は、現用のアドレス変換装置として「アクティブ」の状態にあり、アドレス変換装置２は、予備のアドレス変換装置として「スタンバイ」の状態にある。なお、第１の実施形態において、予備の経路に対応する、集合仮想ルータとアドレス変換装置２とＶＰＮ２との間は、予め物理的に接続されている。
【００１４】
そして、第１の実施形態においては、ＶＰＮ１（データセンタ１）に設置された仮想マシン１をマイグレーション元として、ＶＰＮ２（データセンタ２）に設置される仮想マシン２をマイグレーション先とするライブマイグレーションを実行することを想定する。すなわち、利用者端末と仮想マシン２との間でパケットを転送するための情報を、アドレス変換装置２及び集合仮想ルータに新たに設定することを想定する。言い換えると、ライブマイグレーション実行後、現用の経路が切り替えられ、アドレス変換装置１が「スタンバイ」の状態になり、アドレス変換装置２及びアドレス変換装置３が「アクティブ」の状態になる。なお、第１の実施形態において、データセンタ１とデータセンタ２とは、予め専用線で接続されている。
【００１５】
続いて、ＶＰＮ間接続管理システムを説明する。第１の実施形態に係るＶＰＮ間接続管理システム１００は、例えばＶＰＮ間接続サービスを提供する電気通信事業者などによって運用される。ＶＰＮ間接続管理システム１００は、制御用のネットワーク（図１において図示を省略）によって各種ネットワーク装置と接続され、制御用のネットワークを介して各種ネットワーク装置に対する設定を行う。例えば、ＶＰＮ間接続管理システム１００は、集合仮想ルータ、アドレス変換装置１〜３、並びに、データセンタ１及びデータセンタ２と制御用のネットワークによって接続され、ライブマイグレーション処理や設定処理などを行う。
【００１６】
なお、第１の実施形態において、ＶＰＮ間接続管理システム１００は、ライブマイグレーション処理部１０と、ＶＰＮ間接続処理部２０とを備える。ライブマイグレーション処理部１０が、ライブマイグレーション処理を行い、ＶＰＮ間接続処理部２０が、ネットワーク装置に対する設定処理を行う。
【００１７】
［ライブマイグレーションの処理手順］
図２は、第１の実施形態に係るライブマイグレーションの処理手順を示すシーケンス図である。ＶＰＮ１（データセンタ１）に設置された仮想マシン１が動作中であり、利用者端末は、ＶＰＮ１（データセンタ１）に設置された仮想マシン１にアクセスしている（ステップＳ１）。
【００１８】
このとき、例えば仮想マシン１の負荷が高い場合に、ライブマイグレーション処理部１０が、ＶＰＮ２（データセンタ２）に設置される仮想マシン２をマイグレーション先とするライブマイグレーションの実行指示を仮想マシン１に対して送信する（ステップＳ２）。
【００１９】
すると、仮想マシン１は、ライブマイグレーションの実行確認通知をライブマイグレーション処理部１０に対して送信し（ステップＳ３）、仮想マシン２をマイグレーション先とするライブマイグレーションを実行する（ステップＳ４）。
【００２０】
一方、ステップＳ３において実行確認通知の受信によりライブマイグレーションの実行開始を検知したライブマイグレーション処理部１０は、利用者端末が仮想マシン２にアクセスするための経路を構築するように、まず、アドレス変換装置２に対する設定指示をＶＰＮ間接続処理部２０に対して送信する（ステップＳ５）。
【００２１】
すると、ＶＰＮ間接続処理部２０は、アドレス変換装置２に対してアドレス変換情報を設定し（ステップＳ６）、その後、アドレス変換装置２に対する設定が完了すると、設定完了通知をライブマイグレーション処理部１０に対して送信する（ステップＳ７）。
【００２２】
一方、ステップＳ４においてライブマイグレーションの実行を開始していた仮想マシン１は、ライブマイグレーションの実行が完了すると、実行完了通知をライブマイグレーション処理部１０に対して送信する（ステップＳ８）。
【００２３】
こうして、ライブマイグレーション処理部１０は、仮想マシン１からライブマイグレーションの実行完了通知を受信し、また、ＶＰＮ間接続処理部２０からアドレス変換装置２に対する設定完了通知を受信する。
【００２４】
すると、ライブマイグレーション処理部１０は、ルーティング切替指示をＶＰＮ間接続処理部２０に対して送信する（ステップＳ９）。ＶＰＮ間接続処理部２０は、集合仮想ルータに対してルーティング情報を設定し、利用者端末から仮想マシン１にアクセスするための経路から、利用者端末から仮想マシン２にアクセスするための経路に、現用の経路（ルーティング）を切り替える（ステップＳ１０）。
【００２５】
この結果、図２に示すように、ステップＳ１において、利用者端末は仮想マシン１にアクセスしていたが、そのアクセスは、自動的に、仮想マシン２に移行することになる（ステップＳ１１）。すなわち、例えば、利用者端末と仮想マシン１や仮想マシン２との間で行われる通信がＴＣＰ（Transmission  Control  Protocol）である場合、利用者端末は、アクセス中の仮想マシン１から応答が無いと、再送を行う。この再送を繰り返しているうちに、利用者端末は、自動的に、仮想マシン２にアクセスすることが可能になる。
【００２６】
ここで、ライブマイグレーションに伴ってＶＰＮ間接続管理システム１００側に発生する処理時間は、ステップＳ４においてライブマイグレーションの実行が開始されてから、ステップＳ１０においてルーティングが切り替えられるまでの時間であるといえる。この点、第１の実施形態に係るＶＰＮ間接続管理システム１００は、ライブマイグレーションの実行開始を検知し、これを契機として、アドレス変換装置２に対する設定を開始する。すなわち、ライブマイグレーションの実行と経路の構築とが、併行して進められることになる。この結果、ライブマイグレーションに伴って発生する処理時間は、ライブマイグレーションの実行時間と経路の構築時間とを足し合わせた時間ではなく、原理的には、ライブマイグレーションの実行時間又は経路の構築時間のいずれか長い方の時間でほぼ済むことになる。
【００２７】
なお、ライブマイグレーションの処理手順は図２に示す処理手順に限られるものではない。例えば、ライブマイグレーション処理部１０は、ライブマイグレーションの実行指示（ステップＳ２）においてライブマイグレーションの実行開始を検知し、実行確認通知の受信（ステップＳ３）より前にステップＳ５の処理を開始してもよい。また、アドレス変換装置２の設定完了通知（ステップＳ７）、及びライブマイグレーションの実行完了通知（ステップＳ８）の順序が逆になる場合もある。また、ライブマイグレーションの実行完了通知（ステップＳ８）は、マイグレーション元の仮想マシン１からではなく、マイグレーション先の仮想マシン２から受信してもよい。
【００２８】
［第１の実施形態に係るＶＰＮ間接続管理システムの構成］
図３は、第１の実施形態に係るＶＰＮ間接続管理システム１００の構成を示すブロック図である。図３に示すように、ＶＰＮ間接続管理システム１００は、ライブマイグレーション処理部１０と、ＶＰＮ間接続処理部２０とを備える。
【００２９】
ライブマイグレーション処理部１０は、顧客ネットワーク設定記憶部１１と、通信部１２と、入力部１３と、設定指示送信部１４と、ライブマイグレーション実行部１５と、アドレス変換設定指示部１６と、ルーティング設定指示部１７とを備える。
【００３０】
顧客ネットワーク設定記憶部１１は、ＶＰＮ間接続サービスの提供先である顧客のネットワーク設定情報を記憶する。図４は、第１の実施形態に係る顧客ネットワーク設定記憶部を説明するための図である。図４に示すように、顧客ネットワーク設定記憶部１１は、顧客毎に、仮想マシン、アドレス変換装置１〜３、及び集合仮想ルータに関するネットワーク設定情報を記憶する。以下、図４とともに図５を参照しながら、ネットワーク設定情報を説明する。図５は、第１の実施形態におけるＩＰアドレスの割り当てを説明するための図である。
【００３１】
図４に示すように、顧客ネットワーク設定記憶部１１は、仮想マシンに関するネットワーク設定情報として、マイグレーション元の仮想マシン１のＩＰ（Internet  Protocol）アドレス「192.168.1.10」及びその制御用のＩＰアドレス「172.16.100.1」、並びに、マイグレーション先の仮想マシン２の制御用のＩＰアドレス「172.16.100.2」を記憶する。なお、第１の実施形態において、これらのＩＰアドレスは、サブネットマスクが２４ビットである。
【００３２】
図５を参照すると、ＶＰＮ１（データセンタ１）に設置された仮想マシン１のＩＰアドレスは、「192.168.1.10」である。このＩＰアドレスは、ＶＰＮ１内で仮想マシン１を一意に識別するためのアドレスである。また、図５に示すように、データセンタ１は、制御用のインタフェースを有し、そのインタフェースのＩＰアドレスが、「172.16.100.1」である。また、データセンタ２も、制御用のインタフェースを有し、そのインタフェースのＩＰアドレスが、「172.16.100.2」である。ＶＰＮ間接続管理システム１００は、図示しない制御用のネットワークによってこのインタフェースと接続され、制御用のＩＰアドレス「172.16.100.1」及び「172.16.100.2」を用いて、ライブマイグレーションの実行指示などを行う。
【００３３】
図４に戻り、顧客ネットワーク設定記憶部１１は、アドレス変換装置１〜３に関するネットワーク設定情報として、制御用のＩＰアドレスやアドレス変換情報を記憶する。図５を参照すると、第１の実施形態においては、ＶＰＮ３に設置された利用者端末がＶＰＮ１に設置された仮想マシン１にアクセスするための経路が、現用の経路として既に構築されていることを想定する。すなわち、アドレス変換装置３及びアドレス変換装置１には、既にアドレス変換情報が設定されているという想定である。そこで、顧客ネットワーク設定記憶部１１は、アドレス変換装置３及びアドレス変換装置１に関しては、制御用のＩＰアドレスの他に、アドレス変換情報も記憶する。
【００３４】
アドレス変換装置３に設定されているアドレス変換情報は、「192.168.1.10」と「10.0.1.10」とを相互に変換すること、及び、「172.16.2.10」と「10.0.2.10」とを相互に変換することを示す。一方、アドレス変換装置１に設定されているアドレス変換情報は、「192.168.1.10」と「10.0.2.10」とを相互に変換すること、及び、「172.16.1.10」と「10.0.1.10」とを相互に変換することを示す。
【００３５】
また、顧客ネットワーク設定記憶部１１は、集合仮想ルータに関するネットワーク設定情報として、制御用のＩＰアドレスやルーティング情報を記憶する。例えば、ルーティング情報（現用）「宛先10.0.2.10：ゲートウェイ10.0.20.97」は、図５に示す仮想ルータにおいて、宛先が「10.0.2.10」のパケットを受信した場合には、「10.0.20.97」のインタフェースにルーティングすることを示す。
【００３６】
アドレス変換及びルーティングについて一例を挙げて説明する。例えば利用者端末から仮想マシン１宛に送信されたパケットは、アドレス変換されながら、仮想マシン１によって受信される。
【００３７】
まず、利用者端末は、仮想マシン１のＩＰアドレスを「172.16.2.10」であると把握している。一方、仮想マシン１は、利用者端末のＩＰアドレスを「172.16.1.10」であると把握している。また、集合仮想ルータの仮想ルータは、利用者端末のＩＰアドレスを「10.0.1.10」であると把握し、仮想マシン１のＩＰアドレスを「10.0.2.10」であると把握している。
【００３８】
利用者端末が仮想マシン１にアクセスする場合、利用者端末は、宛先を「172.16.2.10」、送信元を「192.168.1.10」とするパケットを送信する。すると、アドレス変換装置３は、アドレス変換情報に従って、「172.16.2.10」を「10.0.2.10」に変換し、「192.168.1.10」を「10.0.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「10.0.2.10」であり、送信元が「10.0.1.10」であるパケットとなる。
【００３９】
仮想ルータは、ルーティング情報に従ってルーティングを行う。この場合、宛先が「10.0.2.10」のパケットであるので、仮想ルータは、「10.0.20.97」のインタフェースにこのパケットをルーティングする。続いて、アドレス変換装置１は、アドレス変換情報に従って、「10.0.2.10」を「192.168.1.10」に変換し、「10.0.1.10」を「172.16.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「192.168.1.10」であり、送信元が「172.16.1.10」であるパケットとなる。図５を参照すると、仮想マシン１のＩＰアドレスは、「192.168.1.10」である。このため、このパケットは、仮想マシン１によって受信される。このように、利用者端末から仮想マシン１宛に送信されたパケットは、アドレス変換されながら、仮想マシン１によって受信される。なお、図４や図５において図示を省略したが、仮想マシン１から利用者端末宛に送信されたパケットも同様に、アドレス変換されながら、利用者端末によって受信される。
【００４０】
図３に戻り、通信部１２は、ＩＰ通信用の一般的なインタフェースであり、例えば、データセンタ１やデータセンタ２との間で制御用のネットワークを介して通信を行う。入力部１３は、キーボードやマウスなどである。設定指示送信部１４は、ＶＰＮ間接続管理システム１００内部のインタフェースであり、ＶＰＮ間接続処理部２０との間で情報の送受信を行う。
【００４１】
第１の実施形態においては、ＶＰＮ間接続管理システム１００のオペレータが、ＶＰＮ間接続サービスを遠隔監視し、例えば仮想マシン１の負荷が高いといった状況を判断した場合に、入力部１３を用いて、顧客ＩＤ「000001」とともにライブマイグレーションの実行指示を入力する。
【００４２】
ライブマイグレーション実行部１５は、入力部１３から顧客ＩＤとともにライブマイグレーションの実行指示を受け付けると、ライブマイグレーションの実行指示を、仮想マシン１に対して送信する。具体的には、ライブマイグレーション実行部１５は、顧客ＩＤを用いて顧客ネットワーク設定記憶部１１を参照し、マイグレーション元の仮想マシン１のＩＰアドレス「192.168.1.10」及びその制御用のＩＰアドレス「172.16.100.1」、並びに、マイグレーション先の仮想マシン２の制御用のＩＰアドレス「172.16.100.2」を取得する。そして、ライブマイグレーション実行部１５は、データセンタ１との間で通信を行い、マイグレーション元を仮想マシン１とし、マイグレーション先を仮想マシン２とするライブマイグレーションの実行指示を、ライブマイグレーションに必要なＩＰアドレスなどとともに送信する。
【００４３】
また、ライブマイグレーション実行部１５は、ライブマイグレーションの実行確認通知を仮想マシン１から受信すると、ライブマイグレーションの実行開始を検知したことを、顧客ＩＤとともにアドレス変換設定指示部１６に対して通知する。
【００４４】
アドレス変換設定指示部１６は、ライブマイグレーションの実行開始を検知したことの通知を顧客ＩＤとともにライブマイグレーション実行部１５から受け付けると、顧客ＩＤを用いて顧客ネットワーク設定記憶部１１を参照し、アドレス変換装置１の制御用のＩＰアドレス「172.16.10.1」及びアドレス変換情報、並びに、アドレス変換装置２の制御用のＩＰアドレス「172.16.10.2」を取得する。そして、アドレス変換設定指示部１６は、ＶＰＮ間接続処理部２０に対して、アドレス変換装置２に対する設定指示を、設定に必要なアドレス変換情報などとともに送信する。なお、アドレス変換設定指示部１６は、設定指示情報のヘッダに、例えば「Ｔ−ＮＡＴ」などの引数を付与する。
【００４５】
また、アドレス変換設定指示部１６は、アドレス変換装置２に対する設定完了通知をＶＰＮ間接続処理部２０から受信すると、アドレス変換装置２に対する設定が完了したことを、顧客ＩＤとともにルーティング設定指示部１７に対して通知する。
【００４６】
ルーティング設定指示部１７は、ライブマイグレーションの実行完了通知を仮想マシン１から受信し、かつ、アドレス変換装置２に対する設定が完了したことの通知をアドレス変換設定指示部１６から受け付けると、顧客ＩＤを用いて顧客ネットワーク設定記憶部１１を参照し、集合仮想ルータの制御用のＩＰアドレス及びルーティング情報（予備）を取得する。そして、ルーティング設定指示部１７は、ＶＰＮ間接続処理部２０に対して、集合仮想ルータに対する設定指示を、設定に必要なルーティング情報などとともに送信する。なお、ルーティング設定指示部１７は、設定指示情報のヘッダに、例えば「ＶＲ」などの引数を付与する。
【００４７】
一方、ＶＰＮ間接続処理部２０は、ネットワーク装置設定記憶部２１と、通信部２２と、設定指示受信部２３と、アドレス変換設定部２４と、ルーティング設定部２５とを備える。
【００４８】
ネットワーク装置設定記憶部２１は、ネットワーク装置に対して設定を行うための情報を記憶する。図６は、第１の実施形態に係るネットワーク装置設定記憶部を説明するための図である。図６に示すように、ネットワーク装置設定記憶部２１は、アドレス変換装置１〜３、及び集合仮想ルータについて、制御用のＩＰアドレス及びパスワードを記憶する。なお、図６は、ネットワーク装置設定記憶部２１が記憶する情報の一部を例示するものである。
【００４９】
図３に戻り、通信部２２は、ＩＰ通信用の一般的なインタフェースであり、例えば、アドレス変換装置１〜３や集合仮想ルータとの間で制御用のネットワークを介して通信を行う。設定指示受信部２３は、ＶＰＮ間接続管理システム１００内部のインタフェースであり、ライブマイグレーション処理部１０との間で情報の送受信を行う。なお、設定指示受信部２３は、引数「Ｔ−ＮＡＴ」がヘッダに含まれる設定指示情報については、アドレス変換設定部２４に提供し、引数「ＶＲ」がヘッダに含まれる設定指示情報については、ルーティング設定部２５に提供する。
【００５０】
アドレス変換設定部２４は、アドレス変換装置２に対する設定指示を、設定に必要なアドレス変換情報などとともにアドレス変換設定指示部１６から受信すると、ネットワーク装置設定記憶部２１を参照し、アドレス変換装置２の制御用のＩＰアドレス「172.16.10.2」及びパスワード「hogehoge02」を取得する。そして、アドレス変換設定部２４は、制御用のＩＰアドレス「172.16.10.2」及びパスワード「hogehoge02」を用いてアドレス変換装置２にアクセスし、アドレス変換設定指示部１６から受信したアドレス変換情報を設定する。すなわち、アドレス変換装置２には、アドレス変換装置１に設定されていたアドレス変換情報と同一内容のアドレス変換情報が設定される。
【００５１】
なお、アドレス変換設定部２４は、アドレス変換装置２にアクセスする際に、例えば、アタッチメントを利用すればよい。アタッチメントは、アドレス変換情報をアドレス変換装置２に対して反映するためのプログラム、及び、ルーティング情報を集合仮想ルータに対して反映するためのプログラムを含む。
【００５２】
具体的には、アタッチメントには、ＶＰＮ間接続管理システム１００とアドレス変換装置２との間で用いられる通信プロトコルや、ＶＰＮ間接続管理システム１００と集合仮想ルータとの間で用いられる通信プロトコルが規定される。また、アタッチメントには、アドレス変換装置２や集合仮想ルータにログインするためのＩＤ／パスワードや、アドレス変換情報やルーティング情報を格納すべきパスを指定し、指定したパスにアドレス変換情報やルーティング情報を格納するためのコマンド、アドレス変換装置２や集合仮想ルータを再起動させるコマンドなどが記載される。なお、アドレス変換情報やルーティング情報の反映には、格納して再起動することで反映する場合と、格納によって反映する場合とがある。なお、一般に、通信プロトコルには、アドレス変換装置２のベンダや集合仮想ルータのベンダによって規定される独自仕様の通信プロトコルが用いられる。ＶＰＮ間接続処理部２０は、例えばＶＰＮ間接続管理システム１００のオペレータに入力されることで、アタッチメントを事前に記憶する。
【００５３】
また、アドレス変換設定部２４は、アドレス変換装置２に対する設定が完了すると、アドレス変換装置２に対する設定が完了したことを、アドレス変換設定指示部１６に対して通知する。
【００５４】
ルーティング設定部２５は、集合仮想ルータに対する設定指示を、設定に必要なルーティング情報などとともにルーティング設定指示部１７から受信すると、ネットワーク装置設定記憶部２１を参照し、集合仮想ルータの制御用のＩＰアドレス「172.16.10.4」及びパスワード「hogehoge」を取得する。そして、ルーティング設定部２５は、制御用のＩＰアドレス「172.16.10.4」及びパスワード「hogehoge」を用いて集合仮想ルータにアクセスし、ルーティング設定指示部１７から受信したルーティング情報を設定する。
【００５５】
すなわち、利用者端末から仮想マシン１にアクセスするための経路から、利用者端末から仮想マシン２にアクセスするための経路に、現用の経路（ルーティング）を切り替える。図５を用いて説明すると、仮想ルータのインタフェース「10.0.10.97」からインタフェース「10.0.20.97」にルーティングされていたパケットは、ルーティング切替後、インタフェース「10.0.10.97」からインタフェース「10.0.30.97」にルーティングされる。なお、ルーティング設定部２５は、集合仮想ルータにアクセスする際に、例えば、上述したアタッチメントを利用すればよい。
【００５６】
［第１の実施形態の効果］
上述したように、第１の実施形態に係るＶＰＮ間接続管理システム１００は、ライブマイグレーションの実行開始を検知し、これを契機として、ネットワーク装置に対する設定を開始する。すなわち、ライブマイグレーションの実行と経路の構築とが、併行して進められることになる。この結果、ライブマイグレーションに伴ってＶＰＮ間接続管理システム１００側に発生する処理時間は、ライブマイグレーションの実行時間と経路の構築時間とを足し合わせた時間ではなく、原理的には、ライブマイグレーションの実行時間又は経路の構築時間のいずれか長い方の時間でほぼ済むことになる。よって、ライブマイグレーションに伴って発生する処理時間が短縮される。
【００５７】
また、第１の実施形態に係るＶＰＮ間接続管理システム１００は、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報と同一内容のアドレス変換情報を、マイグレーション先のアドレス変換装置に対して設定する。例えば、マイグレーション先のデータセンタ２が、マイグレーション元のデータセンタ１の予備系として運用されている場合などに可能である。すなわち、マイグレーション先のデータセンタ２において、マイグレーション元のデータセンタ１で用いられるＩＰアドレスが、空きのＩＰアドレスとして予め確保されていれば、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報をマイグレーション先のアドレス変換装置に対して複製するだけで済むことになる。なお、例えば、偶然空きのＩＰアドレスである場合にも、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報と同一内容のアドレス変換情報を、マイグレーション先のアドレス変換装置に対して設定すればよい。
【００５８】
［第１の実施形態の変形例］
続いて、第１の実施形態の変形例を説明する。
【００５９】
（変形例１）
第１の実施形態においては、データセンタ１とデータセンタ２とが専用線で接続され、ライブマイグレーションの通信路として専用線を用いる例を説明したが、これに限られるものではない。図７は、第１の実施形態の変形例を説明するための図である。図７に示すように、ライブマイグレーションの通信路としてＶＰＮ間接続サービスを用いることも可能である。なお、一般的に、ライブマイグレーションの通信路として構築された経路には、ライブマイグレーションの実行に伴う設定変更は発生しない。
【００６０】
（変形例２）
第１の実施形態においては、オペレータが、ＶＰＮ間接続サービスを遠隔監視し、例えば仮想マシン１の負荷が高いといった状況を判断した場合に、ライブマイグレーションの実行指示を入力する例を説明したが、これに限られるものではない。例えば、ＶＰＮ間接続管理システム１００が、遠隔監視を行うプログラムを実行することで、仮想マシン１のＣＰＵ（Central  Processing  Unit）の負荷状況やネットワークの使用帯域を監視し、例えば所定の閾値を超過したことを条件として、ライブマイグレーションの実行を決定してもよい。すなわち、オペレータによる手動ではなく、自動化してもよい。
【００６１】
反対に、第１の実施形態においては、その後の処理を全て自動化する例を説明したが、これに限られるものではない。例えば、ライブマイグレーションの実行開始を検知したことを通知する情報を、ＶＰＮ間接続管理システム１００が備える出力部に出力し、オペレータが、これを契機として、ネットワーク装置に対する設定開始指示を入力してもよい。また、例えば、ライブマイグレーションの実行が完了し、かつ、アドレス変換装置に対する設定が完了したことを通知する情報を、ＶＰＮ間接続管理システム１００が備える出力部に出力し、オペレータが、これを確認してから、ルーティングを切り替える指示を入力してもよい。なお、その他の処理も、運用の形態などに応じて、オペレータによる手動に置き換えることが可能である。
【００６２】
（変形例３）
第１の実施形態においては、ＶＰＮ間接続管理システム１００の構成として図３を例示したが、これに限られるものではない。まず、上述したように、ＶＰＮ間接続管理システム１００は、ＶＰＮ間接続サービスを管理し、経路を構築するシステムであり、例えばオンデマンド（On  Demand）な要求にも対応するものである。このため、ＶＰＮ間接続管理システム１００は、このようなＶＰＮ間接続サービスを提供するために必要な情報をさらに記憶し、説明を省略した他の制御部を備えていてもよい。
【００６３】
また、顧客ネットワーク設定記憶部１１やネットワーク装置設定記憶部２１も、第１の実施形態において説明したものに限られない。ライブマイグレーション処理部１１側で記憶する情報として説明した情報を、ＶＰＮ間接続処理部２０側で記憶していてもよいし、またその逆でもよい。また、情報の記憶方法（テーブル構造）も、任意に変更することができる。また、説明を省略したが、例えば仮想ルータを識別する必要がある場合、仮想ルータの識別情報とともに記憶し、この識別情報を用いて制御を行ってもよい。
【００６４】
また、必ずしもライブマイグレーション処理部１１とＶＰＮ間接続処理部２０とに分かれている必要もない。
【００６５】
（第２の実施形態）
続いて、第２の実施形態を説明する。第１の実施形態においては、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報と同一内容のアドレス変換情報を、マイグレーション先のアドレス変換装置に対して設定することを想定した。例えば、設定しようとするＩＰアドレスが、マイグレーション先において、予め確保されたＩＰアドレスであるか、あるいは偶然空きのＩＰアドレスである場合などに有効である。
【００６６】
第２の実施形態においては、新たなＩＰアドレスを払い出し、新たなアドレス変換情報を生成して設定することを想定する。例えば、マイグレーション元で使用されていたＩＰアドレスが、マイグレーション先において、使用中のＩＰアドレスであるか、あるいは予約済みのＩＰアドレスである場合に有効である。また、単に、ライブマイグレーション実行時には新たなＩＰアドレスを払い出す、といった運用の場合にも有効である。なお、第２の実施形態に係るＶＰＮ間接続管理システム１００の構成は、第１の実施形態と同様である。
【００６７】
なお、マイグレーション元の仮想マシンのＩＰアドレスと、マイグレーション先の仮想マシンのＩＰアドレスとが異なるＩＰアドレスである場合に、ライブマイグレーションを実現する技術は、公知の技術であるグローバルライブマイグレーションを用いればよい（例えば、渡邉英伸ら、「ＩＰモビリティと複数インタフェースを用いたグローバルライブマイグレーション」、電子情報通信学会論文誌VOL.J93-B  NO.7  JULY2010、P.893-901）。例えば同文献には、ＩＰモビリティの技術を応用して実現することが記載されている。ＩＰモビリティは、端末に割り振られたＩＰアドレスが端末の移動に伴い変更された場合でも、移動前に行っていた通信を継続する技術である。
【００６８】
なお、「マイグレーション先の仮想マシンのＩＰアドレス」がライブマイグレーションの実行前に決定されていることを前提とする手法を用いる場合には、ＶＰＮ間接続管理システム１００は、例えば図２のステップＳ２よりも前に、「マイグレーション先の仮想マシンのＩＰアドレス」を決定すればよい。このような手法を用いない場合には、「マイグレーション先の仮想マシンのＩＰアドレス」は、ライブマイグレーションにおいて必要となる任意の段階で決定されればよい。
【００６９】
［Ｔｗｉｃｅ−ＮＡＴの適用］
ＩＰアドレスの払い出しについて説明する前に、まず、ＶＰＮ間通信システムに適用されるアドレス変換の技術「Ｔｗｉｃｅ−ＮＡＴ」を説明する。Ｔｗｉｃｅ−ＮＡＴは、ＩＥＴＦ（Internet  Engineering  Task  Force）によって公開されたＲＦＣ（Request  for  Comments）２６６３の技術である。
【００７０】
Ｔｗｉｃｅ−ＮＡＴとは、送信元のＩＰアドレス及び宛先のＩＰアドレスの双方を変換する技術である。以下、あるＶＰＮ間接続サービスを利用する利用者端末や仮想マシンを、この利用者端末や仮想マシンが設置された自ＶＰＮ内で一意に識別するためのＩＰアドレスを、「自ＶＰＮ内アドレス」と呼ぶ。また、通信相手となる他のＶＰＮに設置された利用者端末や仮想マシンを、自ＶＰＮ内で一意に識別するためのＩＰアドレスを、「第一アドレス」と呼ぶ。また、あるＶＰＮ間接続サービスを利用する利用者端末や仮想ルータを仮想ルータにて一意に識別するためのＩＰアドレスを、「第二アドレス」と呼ぶ。
【００７１】
図８は、第２の実施形態におけるＴｗｉｃｅ−ＮＡＴを説明するための図である。図８において、「ａi」は、ＶＰＮi内で利用者端末を一意に識別するための自ＶＰＮ内アドレスであり、「ａj」は、ＶＰＮj内で仮想マシン１を一意に識別するための自ＶＰＮ内アドレスである。また、図８において図示を省略しているが、ＶＰＮi、ＶＰＮj以外の他のＶＰＮであるＶＰＮkも、ＶＰＮ間接続サービスの提供を受ける。「ａk」は、ＶＰＮk内で端末を一意に識別するための自ＶＰＮ内アドレスである。なお、ｉ、ｊ及びｋは、互いに独立な正の整数値であり、ここでは特にｉ≠ｊ、ｊ≠ｋ、ｋ≠ｉである。また、（１）は、ＶＰＮiから仮想ルータ（ＶＲＦm（Virtual  Routing  and  Forwarding））向けのアドレス変換を表す変換作用素である。また、（２）は、仮想ルータ（ＶＲＦm）からＶＰＮj向けのアドレス変換を表す変換作用素である。ここで、ｍ及びｎは、仮想ルータを識別する互いに独立な正の整数値であり、ここでは特にｍ≠ｎである。
【数１】
0005486526.tif 000002
【数２】
0005486526.tif 000003
【００７２】
したがって、図８において、仮想ルータ（ＶＲＦm）によって提供されるＶＰＮ間接続サービスを利用するＶＰＮi配下の利用者端末及びＶＰＮj配下の仮想マシン１を、仮想ルータ（ＶＲＦm）にて一意に識別するための第二アドレスは、自ＶＰＮ内アドレス「ａi」及び自ＶＰＮ内アドレス「ａj」がそれぞれアドレス変換装置によって１回変換されたＩＰアドレスとなり、（３）と表現される。
【数３】
0005486526.tif 000004
【００７３】
また、図８において、ＶＰＮj配下の仮想マシン１をＶＰＮi内で一意に識別するための第一アドレスは、（４）となる。同様に、ＶＰＮi配下の利用者端末をＶＰＮj内で一意に識別するための第一アドレスは、（５）となる。
【数４】
0005486526.tif 000005
【数５】
0005486526.tif 000006
【００７４】
ＶＰＮ間接続管理システム１００は、オンデマンドにＶＰＮ間接続サービスを提供する場合、この提供にあたり、第一アドレス及び第二アドレスを払い出し、アドレス変換情報を生成し、アドレス変換装置に対する設定を行う。具体的には、ＶＰＮ間接続管理システム１００は、（６）式を満たすように、第一アドレスを決定する。（６）式の右辺は、ＶＰＮi内の端末にとって通信相手となり得るＶＰＮk配下の端末（ＶＰＮi内の端末とＶＰＮk内の端末とは仮想ルータ（ＶＲＦn）によってＶＰＮ間接続）をＶＰＮi内で一意に識別するための第一アドレスである。すなわち、ＶＰＮj配下の仮想マシン１をＶＰＮi内で一意に識別するための第一アドレスと、ＶＰＮk配下の端末をＶＰＮi内で一意に識別するための第一アドレスとは、異なるものでなければならない。したがって、（６）式は、「第一アドレスは、ＶＰＮiに設置された利用者端末と仮想マシン１との間にＶＰＮ間接続サービスが提供される時間帯において、ＶＰＮi内で利用される第一アドレスの中で一意に識別されるように払い出されなければならない」ことを示し、結局、第一アドレスには、ＶＰＮi内でその時間帯に利用されていない（あるいはその時間帯に利用される予定のない）ＩＰアドレスが用いられる。なお、（７）式及び（８）式も満たさなければならない。
【数６】
0005486526.tif 000007
【数７】
0005486526.tif 000008
【数８】
0005486526.tif 000009
【００７５】
また、ＶＰＮ間接続管理システム１００は、（９）式を満たすように、第一アドレスを決定する。（９）式の右辺は、ＶＰＮj内の端末にとって通信相手となり得るＶＰＮk配下の端末（ＶＰＮj内の端末とＶＰＮk内の端末とは仮想ルータ（ＶＲＦn）によってＶＰＮ間接続）をＶＰＮj内で一意に識別するための第一アドレスである。すなわち、ＶＰＮi配下の利用者端末をＶＰＮj内で一意に識別するための第一アドレスと、ＶＰＮk配下の端末をＶＰＮj内で一意に識別するための第一アドレスとは、異なるものでなければならない。したがって、（９）式は、「第一アドレスは、ＶＰＮiに設置された利用者端末と仮想マシン１との間にＶＰＮ間接続サービスが提供される時間帯において、ＶＰＮj内で利用される第一アドレスの中で一意に識別されるように払い出されなければならない」ことを示し、結局、第一アドレスには、ＶＰＮj内でその時間帯に利用されていない（あるいはその時間帯に利用される予定のない）ＩＰアドレスが用いられる。なお、（１０）式及び（１１）式も満たさなければならない。
【数９】
0005486526.tif 000010
【数１０】
0005486526.tif 000011
【数１１】
0005486526.tif 000012
【００７６】
また、ＶＰＮ間接続管理システム１００は、例えば（１２）式を満たすように、第二アドレスを決定する。（１２）式は、「第二アドレスは、ＶＰＮiに設置された利用者端末と仮想マシン１との間にＶＰＮ間接続サービスが提供される時間帯において、同じ仮想ルータ内で一意に識別されるように払い出されなければならない」ことを示す。
【数１２】
0005486526.tif 000013
【００７７】
このように、ＶＰＮ間接続管理システム１００は、「Ｔｗｉｃｅ−ＮＡＴ」及び「仮想ルータ」の技術を用いてＩＰアドレス空間を独立化することで、ＩＰアドレスの競合を解決しつつ、ＩＰアドレスの割り当てを簡易化している。具体的には、まず、「Ｔｗｉｃｅ−ＮＡＴ」により、ＶＰＮと仮想ルータとの間で、ＩＰアドレス空間を垂直方向に分離する（図８の白抜き矢印を参照）。また、「仮想ルータ」により、集合仮想ルータに設定された仮想ルータ間で、ＩＰアドレス空間を水平方向に分離する（図８の白抜き矢印を参照）。そして、ＶＰＮ間接続管理システム１００は、この両者を組み合わせることにより、ＩＰアドレス空間を、各ＶＰＮ内、各仮想ルータ内にそれぞれ独立化させ、ＩＰアドレスの競合を解決しつつ、ＩＰアドレスの割り当てを簡易化している。
【００７８】
このように、Ｔｗｉｃｅ−ＮＡＴによるアドレス変換は、Ｓｉｎｇｌｅ−ＮＡＴによるアドレス変換と比較して、利便性が高い。この点について、具体的なＩＰアドレスを例に挙げて説明する。
【００７９】
図９は、Ｓｉｎｇｌｅ−ＮＡＴによるアドレス変換を説明するための図である。まず、ＶＰＮ３に設置された利用者端末をＶＰＮ３内で一意に識別するＩＰアドレスは、「192.168.1.10」である。このＩＰアドレス「192.168.1.10」は、外部には通知されない。すなわち、アドレス変換装置３が、ＩＰアドレス「192.168.1.10」をＩＰアドレス「172.16.1.10」に変換することで、利用者端末の外部向けのＩＰアドレスは、「172.16.1.10」となる。このため、仮想ルータや、仮想マシン１が設置されたＶＰＮ１において、利用者端末を一意に識別するＩＰアドレスは、「172.16.1.10」である。
【００８０】
一方、ＶＰＮ１に設置された仮想マシン１をＶＰＮ１内で一意に識別するＩＰアドレスは、「192.168.1.10」である。このＩＰアドレス「192.168.1.10」は、外部には通知されない。すなわち、アドレス変換装置１が、ＩＰアドレス「192.168.1.10」をＩＰアドレス「172.16.2.10」に変換することで、仮想マシン１の外部向けのＩＰアドレスは、「172.16.2.10」となる。このため、仮想ルータや、利用者端末が設置されたＶＰＮ３において、仮想マシン１を一意に識別するＩＰアドレスは、「172.16.2.10」である。
【００８１】
ここで、ライブマイグレーションの実行前、利用者端末は、宛先を「172.16.2.10」、送信元を「192.168.1.10」とするパケットを送信するので、アドレス変換装置３は、アドレス変換情報に従って、「192.168.1.10」を「172.16.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「172.16.2.10」であり、送信元が「172.16.1.10」であるパケットとなる。
【００８２】
仮想ルータは、ルーティング情報に従ってルーティングを行う。この場合、宛先が「172.16.2.10」のパケットであるので、仮想ルータは、アドレス変換装置１に向けて、このパケットをルーティングする。続いて、アドレス変換装置１は、アドレス変換情報に従って、「172.16.2.10」を「192.168.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「192.168.1.10」であり、送信元が「172.16.1.10」であるパケットとなる。ここで、仮想マシン１のＩＰアドレスは、「192.168.1.10」であるので、このパケットは、仮想マシン１に到達する。
【００８３】
一方、ライブマイグレーションの実行完了後、仮想ルータは、宛先が「172.16.2.10」であり、送信元が「172.16.1.10」であるパケットを、今度はアドレス変換装置２に向けてルーティングする。ここで、アドレス変換装置２は、宛先のＩＰアドレスのアドレス変換を行うが、送信元のＩＰアドレスのアドレス変換は行わない。すなわち、送信元のＩＰアドレス「172.16.1.10」は、そのままＶＰＮ２内に到達する。このため、マイグレーション先のＶＰＮ２においては、利用者端末を一意に識別するためのＩＰアドレスとして「172.16.1.10」を利用することが『必須』となる。仮に、ＶＰＮ２内で、既に「172.16.1.10」を使用中や予約済みである場合、仮想ルータやアドレス変換装置３においても、ＩＰアドレスを見直さなければならない。
【００８４】
図１０は、Ｔｗｉｃｅ−ＮＡＴによるアドレス変換を説明するための図である。まず、ＶＰＮ３に設置された利用者端末をＶＰＮ３内で一意に識別するＩＰアドレスは、「192.168.1.10」である。このＩＰアドレス「192.168.1.10」は、外部には通知されない。すなわち、アドレス変換装置３が、ＩＰアドレス「192.168.1.10」をＩＰアドレス「10.0.1.10」に変換する。このため、仮想ルータにおいて、利用者端末を一意に識別するＩＰアドレスは、「10.0.1.10」となる。また、アドレス変換装置１が、ＩＰアドレス「10.0.1.10」をＩＰアドレス「172.16.1.10」に変換する。このため、仮想マシン１が設置されたＶＰＮ１において、利用者端末を一意に識別するＩＰアドレスは、「172.16.1.10」となる。
【００８５】
一方、ＶＰＮ１に設置された仮想マシン１をＶＰＮ１内で一意に識別するＩＰアドレスは、「192.168.1.10」である。このＩＰアドレス「192.168.1.10」は、外部には通知されない。すなわち、アドレス変換装置１が、ＩＰアドレス「192.168.1.10」をＩＰアドレス「10.0.2.10」に変換する。このため、仮想ルータにおいて、仮想マシン１を一意に識別するＩＰアドレスは、「10.0.2.10」となる。また、アドレス変換装置３が、ＩＰアドレス「10.0.2.10」をＩＰアドレス「172.16.2.10」に変換する。このため、利用者端末が設置されたＶＰＮ３において、仮想マシン１を一意に識別するＩＰアドレスは、「172.16.2.10」となる。
【００８６】
ここで、ライブマイグレーションの実行前、利用者端末は、宛先を「172.16.2.10」、送信元を「192.168.1.10」とするパケットを送信するので、アドレス変換装置３は、アドレス変換情報に従って、宛先のＩＰアドレス「172.16.2.10」を「10.0.2.10」に変換し、送信元のＩＰアドレス「192.168.1.10」を「10.0.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「10.0.2.10」であり、送信元が「10.0.1.10」であるパケットとなる。
【００８７】
仮想ルータは、ルーティング情報に従ってルーティングを行う。この場合、宛先が「10.0.2.10」のパケットであるので、仮想ルータは、アドレス変換装置１に向けて、このパケットをルーティングする。続いて、アドレス変換装置１は、アドレス変換情報に従って、宛先のＩＰアドレス「10.0.2.10」を「192.168.1.10」に変換し、送信元のＩＰアドレス「10.0.1.10」を「172.16.1.10」に変換する。この結果、利用者端末が送信したパケットは、宛先が「192.168.1.10」であり、送信元が「172.16.1.10」であるパケットとなる。仮想マシン１のＩＰアドレスは、「192.168.1.10」であるので、このパケットは、仮想マシン１に到達する。
【００８８】
一方、ライブマイグレーションの実行完了後、仮想ルータは、宛先が「10.0.2.10」であり、送信元が「10.0.1.10」であるパケットを、今度はアドレス変換装置２に向けてルーティングする。ここで、アドレス変換装置２は、宛先のＩＰアドレス及び送信元のＩＰアドレスの双方を変換する。すなわち、Ｓｉｎｇｌｅ−ＮＡＴの場合のように、送信元のＩＰアドレスがそのままＶＰＮ２内に到達することはない。このため、マイグレーション先のＶＰＮ２においては、利用者端末を一意に識別するためのＩＰアドレスとして「172.16.1.10」を利用することが必須ではなく、少なくとも利用者端末と仮想マシン２との間にＶＰＮ間接続サービスが提供される時間帯において、ＶＰＮ２内で利用されるＩＰアドレスの中で一意に選択されればよい。図１０において、「ＶＰＮ２内で利用者端末を一意に識別」するＩＰアドレスが『選択可』であると記載する理由は、「ＶＰＮ２内で利用者端末を一意に識別」するＩＰアドレスとして「172.16.1.10」を利用することが必須ではないという意味である。また、図１０において、「ＶＰＮ２内で仮想マシン２を一意に識別する」ＩＰアドレスが『既存』であると記載する理由は、「ＶＰＮ２内で仮想マシン２を一意に識別する」ＩＰアドレスが必ずしも仮想マシン１を一意に識別するＩＰアドレスと同一であることが必須ではなく、既存のＩＰアドレスを利用してもよいという意味である。
【００８９】
このように、ＶＰＮ間接続管理システム１００は、ＩＰアドレス空間を独立化することで、ＩＰアドレスの競合を解決しつつ、ＩＰアドレスの割り当てを簡易化している。
【００９０】
［ＩＰアドレスの払い出し］
さて、第２の実施形態においては、アドレス変換設定指示部１６又はアドレス変換設定部２４が、新たなＩＰアドレスの払い出しと、新たなアドレス変換情報の生成とを行う。以下、一例として、アドレス変換設定指示部１６が新たなＩＰアドレスの払い出しと、新たなアドレス変換情報の生成とを行う場合を説明する。
【００９１】
ここで、アドレス変換設定指示部１６が払い出しの対象とするＩＰアドレスは、図１０を用いて説明したように、「ＶＰＮ２内で利用者端末を一意に識別するためのＩＰアドレス」（第一アドレス）である。仮想ルータにて利用者端末や仮想マシン２を一意に識別するためのＩＰアドレス（第二アドレス）は、利用者端末と仮想マシン１又は仮想マシン２との間にＶＰＮ間接続サービスが提供される時間帯において、同じ仮想ルータ内で一意に識別されるように払い出されればよい。このため、ライブマイグレーションにより仮想マシン１から仮想マシン２に移行される場合、第二アドレスが仮想ルータ内で重複することは原則として無く、第二アドレスを変更する必要はない。利用者端末と仮想マシン１との間の経路と、利用者端末と仮想マシン２との間の経路とが、同時に現用の経路（アクティブ）となることはないからである。
【００９２】
図１１は、第２の実施形態におけるＩＰアドレスの管理を説明するための図である。第２の実施形態において、アドレス変換設定指示部１６は、図１１に示すように、ＩＰアドレス空間を、時間軸を用いて管理している。ここで、図１１は、例えば、ＶＰＮ２に関して管理されたＩＰアドレス空間を示す。
【００９３】
図１１において、「ＶＰＮ２内で自ＶＰＮ内の装置を一意に識別するために利用しているＩＰアドレス」は、全ての時間帯において、第一アドレスの払い出しに利用することができない。既にＶＰＮ２内の装置に割り当てられているか、あるいは、ＶＰＮ２内の装置に割り当てるＩＰアドレスとして確保されているためである。
【００９４】
また、太線の実線は、ＶＰＮ間接続サービスの第一アドレスとして既に使用中のＩＰアドレスであり、太線の点線は、ＶＰＮ間接続サービスの第一アドレスとして予約済みのＩＰアドレスである。アドレス変換設定指示部１６は、これらの情報を時間情報とともにテーブルなどに記憶する。そして、アドレス変換設定指示部１６は、アドレス変換装置２に対する設定指示を送信するにあたり、第一アドレスを払い出す。具体的には、アドレス変換設定指示部１６は、テーブルを参照し、少なくとも利用者端末と仮想マシン２との間にＶＰＮ間接続サービスが提供される時間帯において、利用されていない、かつ、利用される予定の無いＩＰアドレスを第一アドレスとして選択する。
【００９５】
そして、アドレス変換設定指示部１６は、図１０に示したように、仮想マシン２に割り当てられている既存のＩＰアドレスと「10.0.2.10」とを変換するアドレス変換情報、及び、新たに払い出した第一アドレスと「10.0.1.10」とを変換するアドレス変換情報を、新たに生成する。
【００９６】
その後、アドレス変換設定指示部１６は、第１の実施形態と同様、ＶＰＮ間接続処理部２０に対して、アドレス変換装置２に対する設定指示を、新たに生成したアドレス変換情報などとともに送信する。
【００９７】
［第２の実施形態の効果］
上述したように、第２の実施形態に係るＶＰＮ間接続管理システム１００は、ＶＰＮ２内で利用者端末を一意に識別するための新たなＩＰアドレス（第一アドレス）を払い出し、払い出した新たなＩＰアドレスを用いたアドレス変換情報をアドレス変換装置２に対して設定する。この場合、ＶＰＮ間接続管理システム１００は、少なくとも、利用者端末と仮想マシン２との間に経路が構築される時間帯において、ＶＰＮ２内で通信相手となり得る端末の中で一意に識別されるように、新たなＩＰアドレスを払い出す。この結果、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報が、例えば、使用中のＩＰアドレスであるか、あるいは予約済みのＩＰアドレスを含む場合にも、柔軟に対応することが可能になる。
【００９８】
なお、アドレス変換設定指示部１６は、マイグレーション元のアドレス変換装置に設定されていたアドレス変換情報が、アドレス変換装置２に対して設定可能であるか否かを判定し、設定可能でないと判定した場合に、新たなＩＰアドレスを払い出し、払い出した新たなＩＰアドレスを用いたアドレス変換情報をアドレス変換装置２に対して設定してもよい。
【００９９】
なお、第２の実施形態においては、第二アドレスが仮想ルータ内で重複することは原則として無く、第二アドレスを変更する必要はないと考えて、第一アドレスの払い出しにのみ言及したが、これに限られるものではない。すなわち、ＶＰＮ間接続管理システム１００は、利用者端末と仮想マシン２との間に新たに経路を構築する場合に、第二アドレスを払い出し、新たに払い出した第二アドレスを利用してもよい。この場合、ＶＰＮ間接続管理システム１００は、第二アドレスを、ＶＰＮiに設置された利用者端末と仮想マシン２との間にＶＰＮ間接続サービスが提供される時間帯において、同じ仮想ルータ内で一意に識別されるように払い出す。また、第二アドレスが変更された場合には、ＶＰＮ間接続管理システム１００は、新たな第二アドレスを用いたルーティング情報を集合仮想ルータに設定するのみならず、アドレス変換装置３に対しても、新たな第二アドレスを用いたアドレス変換情報の設定を行う。
【０１００】
（第３の実施形態）
実施形態に係る制御装置、制御システム、制御方法、及び制御プログラムは、第１の実施形態及び第２の実施形態に限られるものではない。以下、順に説明する。
【０１０１】
第１の実施形態及び第２の実施形態においては、ライブマイグレーションを想定したが、これに限られるものではなく、開示の技術は、「マイグレーション」にも同様に適用することができる。この場合、ＶＰＮ間接続管理システム１００は、利用者端末が第１のＶＰＮに設置された仮想マシンにアクセスするための経路が現用の経路として構築されている場合に、この第１のＶＰＮに設置された仮想マシンをマイグレーション元として、第２のＶＰＮに設置される仮想マシンをマイグレーション先とするマイグレーションの実行開始を検知する。次に、ＶＰＮ間接続管理システム１００は、マイグレーションの実行開始が検知されると、このマイグレーションの実行と併行して、利用者端末が第２のＶＰＮに設置される仮想マシンにアクセスするための経路を構築する設定を、所定のネットワーク装置に対して行う。そして、ＶＰＮ間接続管理システム１００は、マイグレーションの実行完了を検知し、かつ、ネットワーク装置への設定が完了すると、現用の経路を、新たに構築された経路に切り替える。
【０１０２】
［拠点の態様］
上述の実施形態では、ＶＰＮが、電気通信事業者などによって提供されたＶＰＮサービスに接続するローカルエリアネットワーク（ＬＡＮ（Local  Area  Network））である場合を想定したが、これに限られるものではない。ＶＰＮは、いわゆるネットワークではなく一端末であってもよい。例えば、ＶＰＮに設置されるルータが、物理的なルータではなく端末内のソフトウェアで実現される場合などである。また、ＶＰＮは、電気通信事業者などによって提供されたＶＰＮサービスによって接続された複数のローカルエリアネットワーク群による社内網のようなものであってもよい。
【０１０３】
図１２〜１４は、ＶＰＮサービスによって接続された複数のローカルエリアネットワーク群としてのＶＰＮを説明するための図である。なお、図１２〜１４においては、２種類の点線を用いて示す。一方は、通常の点線であり、他方は、破線（短い線と長い線との組合せ）である。破線は、同じＶＰＮサービスに属する複数の拠点であって、かつ、例えば同じ社内（例えばＣ社内）の拠点間でＶＰＮを形成していることを示す。一方、点線は、ＶＰＮ間を接続することを示す。例えば、異なるＶＰＮサービスに属する複数のＶＰＮ間を接続することや、同じＶＰＮサービスに属する複数のＶＰＮ間であっても、異なる会社のＶＰＮ間を接続することを示す。
【０１０４】
図１２に例示するように、例えば、Ｃ社は、ＶＰＮサービス１に属する拠点群を有し、また、ＶＰＮサービス３に属する拠点を有する。一方、Ｄ社は、ＶＰＮサービス２に属する拠点を有し、また、ＶＰＮサービス４に属する拠点を有する。ＶＰＮ間接続管理システム１００は、このような、異なるＶＰＮサービスに属するＣ社の拠点群（ＶＰＮ）とＤ社の拠点群（ＶＰＮ）との間でＶＰＮ間接続サービスを実現する。
【０１０５】
また、図１３に例示するように、例えば、Ｃ社は、ＶＰＮサービス３でグループ化された拠点群（ＶＰＮ）を有する。一方、Ｄ社は、ＶＰＮサービス４でグループ化された拠点群（ＶＰＮ）を有する。ＶＰＮ間接続管理システム１００は、このような、異なるＶＰＮサービスに属するＣ社の拠点群（ＶＰＮ）とＤ社の拠点群（ＶＰＮ）との間でＶＰＮ間接続サービスを実現する。
【０１０６】
また、図１４に例示するように、例えば、Ｃ社及びＤ社は、いずれも、ＶＰＮサービス２でグループ化された拠点群（ＶＰＮ）を有する。ＶＰＮ間接続管理システム１００は、このような、同じＶＰＮサービスに属するＣ社の拠点群（ＶＰＮ）とＤ社の拠点群（ＶＰＮ）との間でＶＰＮ間接続サービスを実現する。
【０１０７】
［コンピュータ］
図１５は、実施形態に係る制御プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図１５に示すように、コンピュータは、例えば、メモリと、ＣＰＵと、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
【０１０８】
メモリは、図１５に示すように、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、図１５に示すように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図１５に示すように、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図１５に示すように、例えばマウス、キーボードに接続される。ビデオアダプタは、図１５に示すように、例えばディスプレイに接続される。
【０１０９】
ここで、図１５に示すように、ハードディスクドライブは、例えば、ＯＳ、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、実施形態に係る制御プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。具体的には、第１の実施形態で説明したライブマイグレーション実行部１５と同様の情報処理を実行する手順と、アドレス変換設定指示部１６と同様の情報処理を実行する手順と、アドレス変換設定部２４と同様の情報処理を実行する手順と、ルーティング設定指示部１７と同様の情報処理を実行する手順と、ルーティング設定部２５と同様の情報処理を実行する手順とが記述されたプログラムモジュールが、ハードディスクドライブに記憶される。
【０１１０】
また、第１の実施形態で説明した顧客ネットワーク設定記憶部１１やネットワーク装置設定記憶部２１に記憶されるデータのように、制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えばハードディスクドライブに記憶される。そして、ＣＰＵが、ハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、上述の手順を実行する。
【０１１１】
なお、制御プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵによって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュールやプログラムデータは、ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してＣＰＵによって読み出されてもよい。
【符号の説明】
【０１１２】
１００  ＶＰＮ間接続管理システム
１０  ライブマイグレーション処理部
１１  顧客ネットワーク設定記憶部
１２  通信部
１３  入力部
１４  設定指示送信部
１５  ライブマイグレーション実行部
１６  アドレス変換設定指示部
１７  ルーティング設定指示部
２０  ＶＰＮ間接続処理部
２１  ネットワーク装置設定記憶部
２２  通信部
２３  設定指示受信部
２４  アドレス変換設定部
２５  ルーティング設定部
【図１】
0005486526.tif 000014
【図２】
0005486526.tif 000015
【図３】
0005486526.tif 000016
【図４】
0005486526.tif 000017
【図５】
0005486526.tif 000018
【図６】
0005486526.tif 000019
【図７】
0005486526.tif 000020
【図８】
0005486526.tif 000021
【図９】
0005486526.tif 000022
【図１０】
0005486526.tif 000023
【図１１】
0005486526.tif 000024
【図１２】
0005486526.tif 000025
【図１３】
0005486526.tif 000026
【図１４】
0005486526.tif 000027
【図１５】
0005486526.tif 000028