(57)【要約】【課題】ＩＰｖ４であっても、１つのＶＭと複数の顧客のネットワークとの間で安全に通信できる。【解決手段】管理サーバ１０は、ルータ３を経由して接続する顧客用イントラネット４内のＰＣ５がＶＭ２３に接続する際に用いられるインタフェースであって使用中のインタフェースを識別するインデックスを、顧客用イントラネット４毎に記憶するｖＳＷ使用状況管理表１１を備え、自サーバがＩＰｖ４に対応している場合、顧客用イントラネット４と接続するルータ３との接続要求を受信すると、接続要求を満たすＶＭ２３に対して、ｖＳＷ使用状況管理表１１に記憶されていないインタフェースを識別する識別子を特定し、特定した識別子が示すインタフェースを用いて、ルータ３とＶＭ２３とを接続し、ルータ３が接続する顧客用イントラネット４とＶＭ２３とを対応付けて、接続に用いられたインタフェースを識別する識別子をｖＳＷ使用状況管理表１１に追加する。【選択図】図１
2014093550.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンを稼働する物理サーバを管理する管理サーバにおいて、
仮想私設通信網を介して接続された中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、
前記物理サーバがＩＰｖ４を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続させる接続部とを有し、
前記中継装置は、前記仮想スイッチのアドレスと前記中継装置のアドレスに基づいて、前記仮想マシンと接続することを特徴とする管理サーバ。
【請求項２】
前記接続部によって接続された前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する追加部を有することを特徴とする請求項１に記載の管理サーバ。
【請求項３】
前記ネットワークに属する情報処理装置から送信される場合の宛先となるＩＰｖ４アドレスを自サーバが割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、自サーバによって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部をさらに有する
ことを特徴とする請求項１に記載の管理サーバ。
【請求項４】
前記情報処理装置から送信される場合の宛先となるＩＰｖ４アドレスを前記情報処理装置が属するネットワーク側が割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、ネットワーク側によって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するようにアドレスを変換する変換部に指示するアドレス設定指示部をさらに有する
ことを特徴とする請求項１に記載の管理サーバ。
【請求項５】
仮想マシンを稼動する物理サーバ及び前記物理サーバを管理する管理サーバが接続する仮想マシンシステムにおいて、
前記管理サーバは、
仮想私設通信網を介して接続された中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、
自サーバがＩＰｖ４を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置とを用いて、前記中継装置と前記仮想マシンとを接続する接続部と、
前記接続部によって接続された前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する追加部と
を有することを特徴とする仮想マシンシステム。
【請求項６】
前記管理サーバは、
前記ネットワークに属する情報処理装置から送信される場合の宛先となるＩＰｖ４アドレスを自サーバが割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、自サーバによって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するように指示するアドレス設定指示部を、さらに有し、
前記物理サーバは、
前記アドレス設定指示部によってアドレス設定が指示されると、前記管理サーバによって割り当てられたＩＰｖ４アドレスを仮想的なＩＰｖ４アドレスであるＩＰｖ６アドレスに変換するアドレス変換部と、
前記アドレス変換部によって変換されたＩＰｖ６アドレスを前記アドレス設定指示部によって得られた識別子が示すインタフェース側に設定するとともに、前記管理サーバによって割り当てられたＩＰｖ４アドレスを前記情報処理装置が属するネットワークへ出力する側に設定するアドレス設定部を、
さらに有することを特徴とする請求項５に記載の仮想マシンシステム。
【請求項７】
前記管理サーバは、
前記情報処理装置から送信される場合の宛先となるＩＰｖ４アドレスを前記情報処理装置が属するネットワーク側が割り当てる場合、前記情報処理装置が属するネットワークに対応するインタフェースの識別子を前記記憶部に記憶された情報から検索し、検索して得られた識別子が示すインタフェース側に、ネットワーク側によって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するように指示するアドレス設定指示部を、さらに有し、
前記物理サーバは、
前記アドレス変換部は、前記宛先となるＩＰｖ４アドレスを前記情報処理装置が属するネットワーク側に要求し、前記ネットワーク側から前記ＩＰｖ４アドレスを取得すると、取得されたＩＰｖ４アドレスを仮想的なＩＰｖ４アドレスであるＩＰｖ６アドレスに変換し、
前記アドレス設定部は、前記アドレス変換部によって変換されたＩＰｖ６アドレスを前記アドレス設定指示部によって得られた識別子が示すインタフェース側に設定するとともに、前記ネットワーク側によって取得されたＩＰｖ４アドレスを前記情報処理装置が属するネットワークへ出力する側に設定する
ことを特徴とする請求項５に記載の仮想マシンシステム。
【請求項８】
前記アドレス変換部は、さらに、前記情報処理装置から送信されたパケット内の送信元を指すＩＰｖ４アドレスをＩＰｖ６アドレスに変換し、変換したＩＰｖ６アドレスを自アドレス変換部に対応するインタフェースに引き渡す
ことを特徴とする請求項６または請求項７に記載の仮想マシンシステム。
【請求項９】
仮想マシンを稼動する物理サーバを管理する管理サーバに、
自サーバがＩＰｖ４を用いたネットワークに対応している場合、仮想私設通信網を介して接続された中継装置との接続要求を受信し、
該受信した接続要求を満たす仮想マシンに対して、前記中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部に記憶されていないインタフェースを識別する識別子を特定し、
該特定した識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続し、
前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する
処理を実行させることを特徴とするプログラム。
【請求項１０】
仮想マシンを稼動する物理サーバを管理する管理サーバが、
自サーバがＩＰｖ４を用いたネットワークに対応している場合、仮想私設通信網を介して接続された中継装置との接続要求を受信し、
該受信した接続要求を満たす仮想マシンに対して、前記中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部に記憶されていないインタフェースを識別する識別子を特定し、
該特定した識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続し、
前記中継装置が接続するネットワークと前記仮想マシンとを対応付けて、接続に用いられたインタフェースを識別する識別子を前記記憶部に追加する
各処理を実行することを特徴とする接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理サーバ、仮想マシンシステム、プログラム及び接続方法に関する。
【背景技術】
【０００２】
クラウドデータセンタ上の仮想マシンを、顧客のイントラネットから利用する技術がある（例えば、特許文献１）。
【０００３】
図１２は、技術の一例を説明する図である。図１２に示すように、顧客のイントラネットと接続されたルータ２００は、キャリア通信網に接続された時に、予め登録された仮想マシン（ＶＭ：Virtual  Machine）機器情報を当該キャリア通信網に接続されているデータセンタ１００に送信する。そして、ルータ２００は、データセンタ１００から取得した情報に基づいて、データセンタ１００内のゲートウェイセル１１０への通信路を開設する。さらに、ルータ２００は、ＶＭ機器情報に基づいてデータセンタ１００内で起動された仮想マシン１２０に接続される仮想ルータ１３０のインターネットプロトコル（ＩＰ：Internet  Protocol）アドレスをデータセンタ１００から取得する。そして、ルータ２００は、仮想ルータ１３０のＩＰアドレスに基づいて、ＧＷセル１１０への通信路を介して仮想ルータ１３０と通信する。これによって、ルータ２００は、顧客がデータセンタ１００の中で動作する仮想マシン１２０をあたかも構内通信網（ＬＡＮ：Local  Area  Network）に直接つながったサーバのように通信することができる。
【０００４】
ここで、インターネットのプロトコルには、ＩＰｖ４とＩＰｖ６とがある。ＩＰｖ６では、１台のサーバに割り当てられる複数のリンクローカルアドレスと接続するそれぞれのネットワーク（リンクローカル）を、識別子を用いて特定するという考え方がある。この識別子を、例えばゾーンインデックスという。すなわち、サーバには、仮想的に複数のネットワークインタフェースが生成され、生成されたそれぞれのネットワークインタフェースにリンクローカルアドレスが割り当てられる。サーバは、これらのリンクローカルアドレスを使うそれぞれの顧客のリンクローカルを特定するためにゾーンインデックスを用いる。
【０００５】
データセンタ内で起動される仮想マシン上のプロセスは、ゾーンインデックスを認識する。図１３は、ＩＰｖ６のゾーンインデックスを説明する図である。図１３に示すように、複数の顧客のイントラネットが仮想マシンと接続されている。顧客のイントラネットＡのＰＣ及び顧客のイントラネットＢのＰＣには、ＩＰｖ６のリンクローカルアドレスが、同一の「ｆｅ８０：：１２３４」に割り当てられている。かかる場合であっても、仮想マシン上のプロセスは、ＩＰｖ６の各リンクローカルアドレスに付加されるゾーンインデックスを用いてどの顧客のリンクローカルであるかを特定できる。ここでは、仮想マシン上のプロセスは、「ｆｅ８０：：１２３４」に付加されたゾーンインデックス「０」を用いて、イントラネットＡの顧客のリンクローカルであると特定できる。他方、仮想マシン上のプロセスは、「ｆｅ８０：：１２３４」に付加されたゾーンインデックス「１」を用いて、イントラネットＢの顧客のリンクローカルであると特定できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２５０２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、仮想マシン上のプロセスは、ＩＰｖ４においてゾーンインデックスを認識していない。したがって、ＩＰｖ４では、１つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することができないという問題がある。すなわち、顧客側のＩＰｖ４のリンクローカルアドレスが重複すると、仮想マシン上のプロセスは、どの顧客のリンクローカルであるのかを特定できないので、１つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することができない。
【０００８】
１つの側面では、ＩＰｖ４であっても、１つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する管理サーバは、仮想マシンを稼働する物理サーバを管理する管理サーバにおいて、仮想私設通信網を介して接続された中継装置を経由して接続するネットワークに属する情報処理装置が前記仮想マシンに接続する際に用いられるインタフェースであって使用中のインタフェースを識別する識別子を、前記ネットワーク毎に記憶する記憶部と、前記物理サーバがＩＰｖ４を用いたネットワークに対応している場合、前記情報処理装置が属するネットワークと接続する中継装置との接続要求を受信すると、受信した接続要求を満たす仮想マシンに対して、前記記憶部に記憶されていないインタフェースを識別する識別子を特定し、特定した前記識別子が示すインタフェースに対応する仮想スイッチのアドレスと前記中継装置のアドレスとを用いて、前記中継装置と前記仮想マシンとを接続させる接続部とを有する。そして、前記中継装置は、前記仮想スイッチのアドレスと前記中継装置のアドレスに基づいて、前記仮想マシンと接続する。
【発明の効果】
【００１０】
１つの態様によれば、ＩＰｖ４であっても、１つの仮想マシンと複数の顧客のネットワークとの間で安全に通信することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る仮想マシンシステムの構成図である。
【図２】図２は、実施例１に係るｖＳＷ使用状況管理表のデータ構造の一例を示す図である。
【図３】図３は、データベースのデータ構造の一例を示す図である。
【図４】図４は、ルータ管理部の構成を示すブロック図である。
【図５】図５は、管理サーバのハードウェア構成を示すブロック図である。
【図６】図６は、仮想マシンシステムが実行する処理のシーケンスを説明する図である。
【図７】図７は、実施例１に係る仮想スイッチ及びｅｔｈインタフェース間の接続処理のシーケンスを説明する図である。
【図８】図８は、実施例１に係るアドレス設定処理のシーケンスを説明する図（１）である。
【図９】図９は、実施例１に係るアドレス設定処理のシーケンスを説明する図（２）である。
【図１０】図１０は、実施例２に係る仮想マシンシステムの構成図である。
【図１１】図１１は、実施例２に係るｖＳＷ使用状況管理表のデータ構造の一例を示す図である。
【図１２】図１２は、従来技術の一例を説明する図である。
【図１３】図１３は、ＩＰｖ６のゾーンインデックスを説明する図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する管理サーバ、仮想マシンシステム、プログラム及び接続方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［仮想マシンシステムの構成］
図１は、実施例１に係る仮想マシンシステムの構成図である。図１に示すように、仮想マシンシステム９は、データセンタ１、通信事業者が提供するＰＰＰｏＥ（Point  to  Point  Protocol  over  Ethernet（登録商標））網２、ルータ３、顧客用イントラネット４、及び顧客ＰＣ（Personal  Computer）５を有する。
【００１４】
データセンタ１は、顧客ＰＣ５に対して、ＰＰＰｏＥ網２経由でソフトウェアパッケージやアプリケーション実行用のプラットフォームなどのサービスを提供するクラウドコンピューティング用のデータセンタである。
【００１５】
ＰＰＰｏＥ網２は、通信事業者が提供するキャリア通信網の一例である。ＰＰＰｏＥは、ＰＰＰ（Point  to  Point  Protocol）の機能を、イーサネット（登録商標）を通して利用するプロトコルであり、後述する仮想私設通信網用のプロトコルである。ＰＰＰｏＥ網２は、ワイドエリアネットワーク（ＷＡＮ）である。
【００１６】
ルータ３は、顧客用イントラネット４をデータセンタ１に接続するために用いられるクラウドコンピュータ用のルータである。ルータ３は、提供を希望するＶＭ機器の処理能力、すなわちＶＭ機器の設定を規定する情報（以降、「ＶＭ機器情報」という）を、管理サーバ１０に送信する。設定情報としては、ＶＭ機器のＯＳやハードウェア資源、例えばハードディスク容量やメモリ容量、アプリケーションなどが記録されている。
【００１７】
顧客用イントラネット４は、ＩＰｖ４を用いた顧客用のイントラネットである。顧客用イントラネット４には、顧客ＰＣ５が接続されている。なお、顧客５は、ルータ３に直接接続されても良い。外部装置の一例として、顧客ＰＣ５が挙げられる。
【００１８】
ここで、顧客ＰＣ５では、リンクローカルアドレスとして、ＩＰｖ４のアドレスが設定される。リンクローカルアドレスとは、顧客用イントラネット４内で規定されたアドレスのことをいう。リンクローカルとは、ここでは、顧客用イントラネット４のことを指す。そして、実施例に係る仮想マシンシステム９では、複数の顧客用イントラネット４内でそれぞれ規定される顧客ＰＣ５のリンクローカルアドレスが同一であっても、それぞれの顧客ＰＣ５は、同一の仮想マシン２３とセキュアに接続できる。なお、以降では、「ＩＰｖ４のリンクローカルアドレス」のことを「ＩＰｖ４のアドレス」または「ｖ４のＩＰアドレス」という。同様に、「Ｉｐｖ６のリンクローカルアドレス」のことを「ＩＰｖ６のアドレス」または「ｖ６のＩＰアドレス」という。
【００１９】
［データセンタの構成の説明］
データセンタ１は、管理サーバ１０、物理サーバ２０及びＧＷサーバ３０を備えている。管理サーバ１０は、ＬＡＮ（Local  Area  Network）４０を介して物理サーバ２０に接続されている。なお、実施例１では、管理サーバ１０が、ＩＰｖ４を用いたネットワークに対応している場合について説明する。
【００２０】
［物理サーバの構成の説明］
物理サーバ２０は、ホストＯＳ（Operating  System）とハイパーバイザとが一体となったホストＯＳ／ハイパーバイザを備える。さらに、物理サーバ２０は、ホストＯＳ／ハイパーバイザに、仮想スイッチ（ｖＳＷ：virtual  switch）２１、ｖ４ｖ６変換モジュール２２及び仮想マシン２３を備える。なお、ホストＯＳ／ハイパーバイザは、ホストＯＳとハイパーバイザとが一体となったものとして説明したが、これに限定されず、ホストＯＳとハイパーバイザとが分離した場合であっても良い。かかる場合は、物理サーバ２０は、ハイパーバイザ上にホストＯＳを備え、ホストＯＳ上に仮想スイッチ２１、ｖ４ｖ６変換モジュール２２及び仮想マシン２３を備える。また、仮想マシン２３は、１個のみならず、複数個あっても良い。物理サーバ２０は、１個のみならず、複数個あっても良い。
【００２１】
仮想スイッチ２１は、いわゆる仮想ルータに含まれ、特定の顧客ＰＣからのアクセスのみを受け付けるファイアーウォールルータである。なお、仮想スイッチ２１は、後述するｅｔｈインタフェース２３１の数分存在可能であり、識別ＩＤ（Identifier）によって区別される。
【００２２】
ｖ４ｖ６変換モジュール２２は、顧客用イントラネット４との通信で用いられるｖ４のＩＰアドレスを仮想マシン２３上で用いられる仮想的なｖ４のＩＰアドレスに変換すべく、ＮＡＴ（Network  Address  Translation）を実行する。また、ｖ４ｖ６変換モジュール２２は、仮想マシン２３上で用いられる仮想的なｖ４のＩＰアドレスを顧客用イントラネット４との通信で用いられるｖ４のＩＰアドレスに変換すべく、ＮＡＴを実行する。仮想的なｖ４のＩＰアドレスとは、ｖ６のＩＰアドレスに相当する。なお、ｖ４ｖ６変換モジュール２２は、仮想スイッチ２１と同様、後述するｅｔｈインタフェース２３１の数分存在可能であり、識別ＩＤによって区別される。
【００２３】
ここで、ｖ４ｖ６変換モジュール２２によって行われるアドレスの変換規則について説明する。例えば、ｖ４のＩＰアドレスが「ｗｗｗ．ｘｘｘ．ｙｙｙ．ｚｚｚ」であるとすると、仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスは、「ｆｅ８０：：＜ＷＷＷ．ＸＸＸ．ＹＹＹ．ＺＺＺ＞」となる。ｖ４のＩＰアドレスである「ｗｗｗ．ｘｘｘ．ｙｙｙ．ｚｚｚ」は、１０進表記である。一方、ｖ６のＩＰアドレス内の＜ＷＷＷ．ＸＸＸ．ＹＹＹ．ＺＺＺ＞は、ｖ４のＩＰアドレスの１０進表記を１６進表記に変換した文字列である。そして、ｖ４のＩＰアドレスは、ｖ４ｖ６変換モジュール２２の仮想スイッチ２１側に設定され、ｖ６のＩＰアドレスは、ｖ４ｖ６変換モジュール２２の後述するｅｔｈインタフェース２３１側に設定される。
【００２４】
一例として、ｖ４ｖ６変換モジュール２２は、管理サーバ１０によって仮想マシン２３にｖ４のＩＰアドレスが割り当てられた場合、割り当てられたＩＰアドレスを仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスに変換する。かかる仮想マシン２３に割り当てられたＩＰアドレスとは、顧客ＰＣ５から送信される場合の宛先となるアドレスを意味し、ｖ４のＩＰアドレスである。そして、ｖ４ｖ６変換モジュール２２は、変換後のｖ６のＩＰアドレスを後述するｅｔｈインタフェース２３１側に設定するとともに、変換前のｖ４のＩＰアドレスを仮想スイッチ２１側に設定する。なお、ｖ４ｖ６変換モジュール２２は、後述するルータ管理部１３によってアドレスの設定が指示される。
【００２５】
他の一例として、ｖ４ｖ６変換モジュール２２は、顧客用イントラネット４側のＤＰＣＰサーバによって仮想マシン２３のＩＰアドレスが割り当てられた場合、割り当てられたＩＰアドレスを仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスに変換する。そして、ｖ４ｖ６変換モジュール２２は、変換後のｖ６のＩＰアドレスを後述するｅｔｈインタフェース２３１側に設定するとともに、変換前のｖ４のＩＰアドレスを仮想スイッチ２１側に設定する。なお、ｖ４ｖ６変換モジュール２２は、後述するルータ管理部１３によってアドレスの設定が指示される。
【００２６】
また、ｖ４ｖ６変換モジュール２２は、変換前のｖ４のＩＰアドレスと変換後のｖ６のＩＰアドレスとを対応付けてＮＡＴ変換表２２１に登録する。例えば、ｖ４のＩＰアドレスが「１９２．０．０．１９２」であり、ｖ６のＩＰアドレスが「ｆｅ８０：：＜１９２．０．０１９２＞」であるとする。かかる場合、ＮＡＴ変換表２２１には、「１９２．０．０．１９２」と「ｆｅ８０：：＜１９２．０．０１９２＞」とを対応付けて登録される。
【００２７】
仮想マシン２３は、仮想ＯＳや、顧客へ提供するアプリケーションなどを起動する。さらに、仮想マシン２３は、複数のイーサネットインタフェース（以降、「ｅｔｈインタフェース」という）２３１及びサービスプログラム２３２を有する。
【００２８】
ｅｔｈインタフェース２３１は、仮想マシン２３上に仮想的に生成される通信インタフェースである。ｅｔｈインタフェース２３１は、仮想マシン２３上の図示しない仮想ＯＳ（ゲストＯＳともいう）のインタフェース上限数まで生成可能である。そして、ｅｔｈインタフェース２３１には、識別子（インデックス）が固定で割り当てられる。すなわち、ｅｔｈインタフェース２３１に割り当てられるインデックスは、ＩＰｖ６で規定されているゾーンインデックスに相当する。一例として、図１では、１つのｅｔｈインタフェース２３１には「１」が割り当てられ、別のｅｔｈインタフェース２３１には「３」が割り当てられている。すなわち、ｅｔｈインタフェース２３１は、仮想マシン２３とリンクローカルを形成することとなる顧客用イントラネット４との通信路である。
【００２９】
サービスプログラム２３２は、ソケット通信を用いて、各ソケットとｅｔｈインタフェース２３１とを関連付けるソケットＡＰＩ（Application  Program  Interface）である。例えば、サービスプログラム２３２は、顧客側との通信において、顧客側のＩＰアドレスと、通信に用いられたｅｔｈインタフェース２３１のインデックスをソケットに割り当てる。ここでいうＩＰアドレスは、ｖ４ｖ６変換モジュール２２によって顧客側のｖ４のＩＰアドレスを仮想的なｖ４のＩＰアドレスに変換された結果得られたｖ６のＩＰアドレスである。そして、サービスプログラム２３２は、特定のソケットが指定されると、指定されたソケットを使っている顧客側のＩＰアドレス及びｅｔｈインタフェース２３１のインデックスを取得する。これにより、サービスプログラム２３２は、ｅｔｈインタフェース２３１のインデックスを用いて、ソケットに割り当てられているＩＰアドレスがどの顧客用イントラネット４に属するアドレスであるのかを特定できる。
【００３０】
一例として、ソケットを使っている顧客側のＩＰアドレスが「ｆｅ８０：：＜１９２．０．０．１＞」であり、ｅｔｈインタフェース２３１のインデックスが「１」であるとする。すると、サービスプログラム２３２は、このソケットが指定されると、このソケットを使っている顧客側のＩＰアドレス「ｆｅ８０：：＜１９２．０．０．１＞」及びｅｔｈインタフェース２３１のインデックス「１」を取得する。他方、別のソケットを使っている顧客側のＩＰアドレスが「ｆｅ８０：：＜１９２．０．０．１＞」であり、ｅｔｈインタフェース２３１のインデックスが「３」であるとする。すると、サービスプログラム２３２は、このソケットが指定されると、このソケットを使っている顧客側のＩＰアドレス「ｆｅ８０：：＜１９２．０．０．１＞」及びｅｔｈインタフェース２３１のインデックス「３」を取得する。すなわち、サービスプログラム２３２は、顧客側のＩＰアドレスが同一であっても、ｅｔｈインタフェース２３１のインデックスを用いて、どちらの顧客のリンクローカルアドレスであるのかを切り分けることができる。なお、サービスプログラム２３２は、例えばＲＦＣ３４９３によってＩＰｖ６のための基本ソケットインタフェースの拡張版として制定されているＡＰＩを適用すれば良い。
【００３１】
ＧＷサーバ３０は、ゲートウェイプログラムを有し、ゲートウェアプログラムを実行することにより、仮想スイッチ２１とＰＰＰｏＥ網２との間でデータの橋渡しを行う。
【００３２】
［管理サーバの構成の説明］
管理サーバ１０は、ｖＳＷ使用状況管理表１１、物理サーバ管理部１２及びルータ管理部１３を備える。ｖＳＷ使用状況管理表１１は、仮想スイッチ２１の使用状況を管理する表である。ここで、ｖＳＷ使用状況管理表１１のデータ構造について、図２を参照して説明する。
【００３３】
図２は、実施例１に係るｖＳＷ使用状況管理表のデータ構造の一例を示す図である。図２に示すように、ｖＳＷ使用状況管理表１１は、仮想スイッチ（ＩＤ）１１ｂと、ｖ４ｖ６変換モジュール（ＩＤ）１１ｃと、インタフェース接続状況１１ｄとを、ユーザ名１１ａに対応付けて記憶する。ユーザ名１１ａは、仮想マシン２３と接続している顧客用イントラネット４の顧客の名称を示す。仮想スイッチ１１ｂは、仮想スイッチ２１の識別ＩＤを示す。ｖ４ｖ６変換モジュール（ＩＤ）１１ｃは、ｖ４ｖ６変換モジュール２２の識別ＩＤを示す。インタフェース接続状況１１ｄは、ｅｔｈインタフェース２３１の接続状況を表し、仮想マシン（ＩＤ）１１ｅ及びｖ４用ｅｔｈインタフェース（インデックス）１１ｆを有する。仮想マシン（ＩＤ）１１ｅは、顧客用イントラネット４と接続されている仮想マシン２３の識別ＩＤを示す。ｖ４用ｅｔｈインタフェース（インデックス）１１ｆは、ＩＰｖ４で用いられるｅｔｈインタフェース２３１のインデックスを示す。
【００３４】
一例として、ユーザ名１１ａが「Ａ株式会社」である場合、仮想スイッチ（ＩＤ）１１ｂとして「ｖｓｗ−００１」、ｖ４ｖ６変換モジュール（ＩＤ）１１ｃとして「ｖ４ｖ６−０」と記憶している。さらに、仮想マシン（ＩＤ）１１ｅとして「ＮＡＳ−００１」、ｖ４用ｅｔｈインタフェース（インデックス）１１ｆとして「１」と記憶している。
【００３５】
図１に戻って、物理サーバ管理部１２は、データベース（ＤＢ）１２Ａを備えている。
【００３６】
図３は、データベース１２Ａのデータ構造の一例を示す図である。図３に示すように、データベース１２Ａには、ルータ３から受信するＶＭ機器情報に関連付けられた、仮想マシン２３、物理サーバ２０及びＧＷサーバ３０の識別ＩＤが登録されている。ＶＭ機器情報は、仮想マシン２３を起動する物理サーバ２０を特定する情報であり、具体的には、物理サーバ２０が有するＯＳ（Operating  System）及び物理サーバ２０が有するハードウェア資源の情報である。
【００３７】
一例として、ＶＭ機器情報として、ＯＳが「Windows（登録商標）  server  2008」、ハードウェア資源が「HDD  2TB、2GB  mem」である場合、仮想マシン２３として「ＮＡＳ−００１」、物理サーバ２１として「Ｉ−００１」、ＧＷサーバ３０として「Ｇ−００１」と記憶している。
【００３８】
図１に戻って、物理サーバ管理部１２は、各物理サーバ２０の動作を管理する。例えば、物理サーバ管理部１２は、ルータ３からＶＭ機器情報を受信すると、ＶＭ機器情報に基づいて、データベース１２Ａに登録されている仮想マシン２３、物理サーバ２０及びＧＷサーバ３０を選択する。その後、物理サーバ管理部１２は、選択した物理サーバ２０及びＧＷサーバ３０を起動し、選択した物理サーバ２０に仮想マシン２３及びサービスプログラム２３２を起動させる。
【００３９】
ルータ管理部１３は、接続要求のあったルータ３及びＧＷサーバ３０との通信を確立し、当該ルータ３及び接続要求を満たす仮想マシン２３を接続すべく、仮想スイッチ２１及びｅｔｈインタフェース２３１間の接続処理を行う。また、ルータ管理部１３は、仮想マシン２３に割り当てられるｖ４のＩＰアドレスについて、ｅｔｈインタフェース２３１側に仮想的なｖ４のＩＰアドレスを設定するように指示する。ここで、ルータ管理部１３の構成を、図４を参照して説明する。
【００４０】
図４は、ルータ管理部の構成を示すブロック図である。図４に示すように、ルータ管理部１３は、通信確立部１３１、接続処理部１３２、アドレス設定指示部１３３及びアドレス送信部１３４を備える。
【００４１】
通信確立部１３１は、通信事業者が開設したＩＰ−ＶＰＮ（IP-Virtual  Private  Network）上で、ルータ３及びＧＷサーバ３０との間のＰＰＰｏＥセッションの通信を確立する。ＩＰ−ＶＰＮは、通信事業者の保有する広域ＩＰ通信網を経由して構築される仮想私設通信網（ＶＰＮ）である。図１では、ＩＰ−ＶＰＮは、データセンタ１からＰＰＰｏＥ網２を介してルータ３まで接続する仮想私設通信網（ＶＰＮ）である。なお、ＩＰ−ＶＰＮの例としては、通信事業者が提供する、フレッツ・ＶＰＮワイドなどがある。
【００４２】
例えば、通信確立部１３１は、ルータ３がＰＰＰｏＥ網２と顧客用イントラネット４との間に接続されたときに、ルータ３と仮想マシン２３との接続要求としてＶＭ機器情報をルータ３から受信する。そして、通信確立部１３１は、運用段階用のＩＰ−ＶＰＮの作成、及び２組の運用段階用ＰＰＰｏＥ設定情報の作成を通信事業者に依頼する。そして、通信確立部１３１は、ＶＭ機器情報に基づいて、データセンタ１内の起動すべき物理サーバ２０、起動すべき仮想マシン２３、起動すべきＧＷサーバ３０の情報を物理サーバ管理部１２から取得する。なお、取得される情報はＩＤである。さらに、通信確立部１３１は、２組の運用段階用ＰＰＰｏＥ設定情報を通信事業者から取得すると、１組の運用段階用ＰＰＰｏＥ設定情報をルータ３へ送信し、他の１組の運用段階用ＰＰＰｏＥ設定情報を起動すべきＧＷサーバ３０の情報に対応するＧＷサーバ３０へ送信する。
【００４３】
接続処理部１３２は、ルータ３からの接続要求ごとに、ｖＳＷ２１、ｖ４ｖ６変換モジュール２２及び仮想マシン２３のｅｔｈインタフェース２３１を接続する。例えば、接続処理部１３２は、ルータ３から接続要求として受信されたＶＭ機器情報に対応する仮想マシン２３に対して、ｖＳＷ使用状況管理表１１に記憶されていないｖ４用の空きのｅｔｈインタフェース２３１のインデックスを特定する。そして、接続処理部１３２は、対応する仮想マシン２３のサービスプログラム２３２に対して、特定したインデックスが示す新たなｅｔｈインタフェース２３１、新たなｖ４ｖ６変換モジュール２２、新たな仮想スイッチ２１の生成を依頼する。そして、接続処理部１３２は、依頼によって生成されたｅｔｈインタフェース２３１、ｖ４ｖ６変換モジュール２２及び仮想スイッチ２１を接続する。そして、接続処理部１３２は、接続に用いられたｅｔｈインタフェース２３１、仮想スイッチ２１及びｖ４ｖ６変換モジュール２２の情報を接続要求のあった顧客に対応するユーザ名と対応付けて、ｖＳＷ使用状況管理表１１に追加する。接続要求のあった顧客に対応するユーザ名は、一例として接続要求に含まれる。
【００４４】
アドレス設定指示部１３３は、仮想マシン２３に割り当てられるｖ４のＩＰアドレスについて、ｅｔｈインタフェース２３１側に仮想的なｖ４のＩＰアドレスを設定するように指示する。例えば、アドレス設定指示部１３３は、管理サーバ１０によって仮想マシン２３のｖ４のＩＰアドレスが割り当てられる場合、以下の処理を行う。すなわち、アドレス設定指示部１３３は、接続要求のあった顧客に対応するｖ４ｖ６変換モジュール２２の識別ＩＤ及びｅｔｈインタフェース２３１のインデックスをｖＳＷ使用状況管理表１１から検索する。そして、アドレス設定指示部１３３は、検索して得られたインデックスが示すｅｔｈインタフェース２３１側に、自サーバ１０によって割り当てられたｖ４のＩＰアドレスからｖ６に変換された後のアドレスを設定するように指示する。アドレス設定指示部１３３が指示する先は、検索して得られた識別ＩＤが示すｖ４ｖ６変換モジュール２２である。
【００４５】
また、アドレス設定指示部１３３は、接続要求のあった顧客用イントラネット４のＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバによって仮想マシン２３のｖ４のＩＰアドレスが割り当てる場合、以下の処理を行う。すなわち、アドレス設定指示部１３３は、接続要求のあった顧客に対応するｖ４ｖ６変換モジュール２２の識別ＩＤ及びｅｔｈインタフェース２３１のインデックスをｖＳＷ使用状況管理表１１から検索する。そして、アドレス設定指示部１３３は、検索して得られたインデックスが示すｅｔｈインタフェース２３１側に、ＤＨＣＰサーバによって割り当てられたｖ４のＩＰアドレスからｖ６に変換された後のアドレスを設定するように指示する。アドレス設定指示部１３３が指示する先は、検索して得られた識別ＩＤが示すｖ４ｖ６変換モジュール２２である。
【００４６】
アドレス送信部１３４は、ルータ３に対して仮想スイッチ２１に割り当てられるｖ４のＩＰアドレスを通知し、仮想スイッチ２１に対してルータ３のＩＰアドレスを通知し、ルータ３及び仮想スイッチ２１の間のEthernet  over  IPによる通信を確立する。
【００４７】
［管理サーバのハードウェア構成］
図５は、管理サーバ１０のハードウェア構成を示すブロック図である
【００４８】
図５に示すように、管理サーバ１０は、装置全体を制御するＣＰＵ１０ａ、制御プログラムを備えるＲＯＭ１０ｂ、及びワーキングエリアとして機能するＲＡＭ１０ｃを備えている。また、管理サーバ１０は、各種の情報やプログラムを備えるハードディスクドライブ（ＨＤＤ）１０ｄ及びネットワーク２と接続するためのネットワークインタフェース１０ｅを備えている。
【００４９】
ＣＰＵ１０ａは、システムバス１０ｆを介してＲＯＭ１０ｂ、ＲＡＭ１０ｃ、及びネットワークインタフェース１０ｅに接続されている。管理サーバ１０のハードウェア構成は、物理サーバ２０のハードウェア構成と同一であるので、物理サーバ２０のハードウェア構成の説明は省略する。なお、物理サーバ管理部１２及びルータ管理部１３の各処理部は、管理サーバ１０のＣＰＵ１０ａが、管理サーバ１０のＲＯＭ１０ｂまたはＨＤＤ１０ｄに格納されている制御プログラムを実行することによって実現される。また、図１のｖＳＷ使用状況管理表１１やデータベース１２Ａは、管理サーバ１０のＨＤＤ１０ｄに格納されている。
【００５０】
［仮想マシンシステムの処理のシーケンス］
図６は、仮想マシンシステムが実行する処理のシーケンスを説明する図である。なお、ルータ３には、仮想マシン２３を起動する物理サーバ２０を特定するＶＭ機器構成が設定されているものとする。また、ルータ３の接続時に、ルータ３は、設定段階のＰＰＰｏＥによるＧＷサーバ３０への通信路を開設したとする。
【００５１】
ルータ３によって接続要求を示すパケット及びＶＭ機器情報がルータ管理部１３に送信されると（ステップＳ１１）、ルータ管理部１３は、接続要求を示すパケット及びＶＭ機器情報をルータ３から受信する（ステップＳ１２）。ルータ管理部１３は、ＶＭ機器情報を物理サーバ管理部１２に送信する（ステップＳ１３）。物理サーバ管理部１２は、ＶＭ機器情報を受信し、起動すべき仮想マシン２３、起動すべき物理サーバ２１及び起動すべきＧＷサーバ２１を選択する（ステップＳ１４）。
【００５２】
そして、ルータ管理部１３は、起動すべき物理サーバ２０、起動すべき仮想マシン２３及び起動すべきＧＷサーバ３０の情報を物理サーバ管理部１２から取得する（ステップＳ１５）。ルータ管理部１３は、運用段階用のＩＰ−ＶＰＮの作成、及び２組の運用段階用ＰＰＰｏＥ設定情報の作成を通信事業者に依頼する（ステップＳ１６）。通信事業者は、ルータ管理部１３からの依頼に応じて運用段階用のＩＰ−ＶＰＮを開設し、２組の運用段階用ＰＰＰｏＥ設定情報をルータ管理部１３に返信する。ルータ管理部１３は、１組の運用段階用ＰＰＰｏＥ設定情報をルータ３に、他の１組の運用段階用ＰＰＰｏＥ設定情報を、起動すべきＧＷサーバ３０に送信する（ステップＳ１７）。
【００５３】
ルータ３は、運用段階用ＰＰＰｏＥ設定情報を使って、起動すべきＧＷサーバ３０への通信路を開設する（ステップＳ１８）。また、起動すべきＧＷサーバ３０が、運用段階用ＰＰＰｏＥ設定情報を使って、ルータ３への通信路を開設する（ステップＳ１９）。これにより、ルータ３及び起動すべきＧＷサーバ３０は、イーサネットを使った仮想私設通信路を介して互いに接続できる。
【００５４】
続いて、ルータ管理部１３は、ステップＳ１５で取得した起動すべき仮想マシン２３の情報に対応する仮想マシン２３及び仮想マシン２３上のプロセスの起動を物理サーバ管理部１２に指示する（ステップＳ２０）。物理サーバ管理部１２は、起動すべき物理サーバ２０に、起動すべき仮想マシン２３及び仮想マシン２３上のプロセスを起動させる（ステップＳ２１）。物理サーバ２０は、仮想マシン２３及び仮想マシン２３上のプロセスを起動する（ステップＳ２２）。ここで、仮想マシン２３上のプロセスには、仮想マシン２３上のサービスプログラム２３２を含むものである。
【００５５】
そして、ルータ管理部１３は、仮想スイッチ２１及びｅｔｈインタフェース２３１間の接続処理を行う（ステップＳ２３）。かかる処理は、図７を参照して説明する。
【００５６】
そして、ルータ管理部１３は、仮想マシン２３に割り当てられるｖ４のＩＰアドレスの設定処理を行う（ステップＳ２４）。これにより、仮想スイッチ２１が生成され、仮想スイッチ２１側に仮想マシン２３のｖ４のＩＰアドレスが割り当てられる。かかる処理は、図８及び図９を参照して説明する。
【００５７】
その後、ルータ管理部１３は、生成された仮想スイッチ２１のＩＰアドレスをルータ３へ、ルータ３のＩＰアドレスを生成された仮想スイッチ２１へそれぞれ送信する（ステップＳ２５）。ルータ３は、生成された仮想スイッチ２１のＩＰアドレスをルータ管理部１３から受信する。ルータ３は、Ethernet  over  IP機能を設定し、受信されたＩＰアドレスに基づいて、ＧＷサーバ３０からルータ３までの通信路を介して生成された仮想スイッチ２１と通信する（ステップＳ２６）。物理サーバ２０内の生成された仮想スイッチ２１は、ルータ管理部１３からルータ３のＩＰアドレスを受信する。仮想スイッチ２１は、Ethernet  over  IP機能、即ちデータをＩＰパケット化し送受信する機能を設定する。同時に、仮想スイッチ２１は、受信されたＩＰアドレスに基づいて、ＧＷサーバ３０からルータ３までの通信路を介してルータ３と通信する（ステップＳ２７）。
【００５８】
これにより、接続要求のあったルータ３に対応する顧客用イントラネット４は、顧客毎に異なる仮想スイッチ２１を介して仮想マシン２３と通信可能になる。したがって、複数の顧客用イントラネット４内で規定されるそれぞれの顧客ＰＣ５のｖ４のＩＰアドレスが同一となっても、それぞれの顧客ＰＣ５は、通信する仮想マシン２３が同一であってもセキュアに通信することが可能となる。
【００５９】
［仮想スイッチ及びｅｔｈインタフェース間の接続処理のシーケンス］
次に、図６のＳ２３の処理について、図７を参照して説明する。図７は、実施例１に係る仮想スイッチ及びｅｔｈインタフェース間の接続処理のシーケンスを説明する図である。
【００６０】
物理サーバ２０によって仮想マシン２３が起動されると、ルータ管理部１３の接続処理部１３２は、起動された仮想マシン２３の空きのｅｔｈインタフェース２３１を特定する（ステップＳ３１）。例えば、接続処理部１３２は、起動された仮想マシン２３の識別ＩＤをキーにして、ｖＳＷ使用状況管理表１１に記憶されているｖ４用のｅｔｈインタフェース２３１のインデックスを取得する。すなわち、接続処理部１３２は、既に接続に用いられているｅｔｈインタフェース２３１の集合を取得する。そして、接続処理部１３２は、ｅｔｈインタフェース２３１のインデックスを０からチェックし、空きのインデックスを特定する。
【００６１】
そして、接続処理部１３２は、起動された仮想マシン２３に、特定したインデックスが示す新たなｅｔｈインタフェース２３１、新たなｖ４ｖ６変換モジュール２２、新たな仮想スイッチ２１の生成を依頼する（ステップＳ３２）。
【００６２】
そして、仮想マシン２３は、接続処理部１３２による依頼に基づいて、特定されたインデックスが示す新たなｅｔｈインタフェース２３１を生成する（ステップＳ３３）。仮想マシン２３は、接続処理部１３２による依頼に基づいて、新たなｖ４ｖ６変換モジュール２２を生成する（ステップＳ３４）。仮想マシン２３は、接続処理部１３２による依頼に基づいて、新たな仮想スイッチ２１を生成する（ステップＳ３５）。
【００６３】
そして、接続処理部１３２は、起動された仮想マシン２３上のサービスプログラム２３２に新たなｅｔｈインタフェース２３１が生成されたことを通知する（ステップＳ３６）。
【００６４】
続いて、接続処理部１３２は、生成されたｅｔｈインタフェース２３１、生成されたｖ４ｖ６変換モジュール２２及び生成された仮想スイッチ２１を接続する（ステップＳ３７）。そして、接続処理部１３２は、接続に用いられたｅｔｈインタフェース２３１、仮想スイッチ２１及びｖ４ｖ６変換モジュール２２の情報を、接続要求のあったルータ３に対応するユーザ名に対応付けてｖＳＷ使用状況管理表１１に追加する（ステップＳ３８）。ｅｔｈインタフェース２３１の情報は、生成されたｅｔｈインタフェース２３１のインデックスである。仮想スイッチ２１の情報は、生成された仮想スイッチ２１の識別ＩＤである。ｖ４ｖ６変換モジュール２２の情報は、生成されたｖ４ｖ６変換モジュール２２の識別ＩＤである。
【００６５】
［アドレス設定処理のシーケンス］
次に、図６のＳ２４の処理について、図８及び図９を参照して説明する。図８及び図９は、実施例１に係るアドレス設定処理のシーケンスを説明する図である。図８は、仮想マシン２３のｖ４のＩＰアドレスが管理サーバ１０によって割り当てられる場合のアドレス設定処理のシーケンスを示す。図９は、仮想マシン２３のｖ４のＩＰアドレスが顧客用イントラネット４のＤＨＣＰサーバによって割り当てられる場合のアドレス設定処理のシーケンスを示す。
【００６６】
図８に示すように、仮想マシン２３上のサービスプログラム２３２が、接続要求のあったルータ３に対応するユーザ名を指示するとともに、仮想マシン２３にｖ４のＩＰアドレスを割り当てるように指示する（ステップＳ４１）。
【００６７】
すると、ルータ管理部１３のアドレス設定指示部１３３は、指示された仮想マシン２３にｖ４のＩＰアドレスを割り当てる（ステップＳ４２）。例えば、アドレス設定指示部１３３は、ユーザ名「Ａ株式会社」から仮想マシン２３にパケットが送信される場合に、パケットの宛先となるアドレスとして、「１９２．０．０．１９２／２４」を割り当てる。ここでは、「１９２．０．０．１９２／２４」が指示された仮想マシン２３のｖ４のＩＰアドレスである。
【００６８】
そして、アドレス設定指示部１３３は、指示されたユーザ名に対応するｖ４ｖ６変換モジュール２２及びｅｔｈインタフェース２３１の情報を、ｖＳＷ使用状況管理表１１から検索する（ステップＳ４３）。そして、アドレス設定指示部１３３は、検索できた情報に対応するｖ４ｖ６変換モジュール２２に、管理サーバ１０によって割り当てられたｖ４のＩＰアドレスを設定するとともに、設定したＩＰアドレスのＮＡＴを開始するように指示する（ステップＳ４４）。指示には、検索できた情報に対応するｅｔｈインタフェース２３１のインデックスが含まれる。すなわち、アドレス設定指示部１３３は、自サーバによって割り当てられたｖ４のＩＰアドレスからｖ６に変換された後のアドレスをｅｔｈインタフェース２３１側に設定するように指示する。
【００６９】
続いて、ｖ４ｖ６変換モジュール２２は、設定されたｖ４のＩＰアドレスを仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスに変換する（ステップＳ４５）。例えば、設定されたｖ４のＩＰアドレスが「１９２．０．０．１９２」である場合、ｖ４ｖ６変換モジュール２２は、「１９２．０．０．１９２」を「ｆｅ８０：：＜１９２．０．０．１９２＞」に変換する。ここでは、「ｆｅ８０：：＜１９２．０．０．１９２＞」が仮想的なｖ４のＩＰアドレス、すなわちｖ６のＩＰアドレスである。
【００７０】
そして、ｖ４ｖ６変換モジュール２２は、仮想スイッチ２１側のインタフェースに、変換前のｖ４のＩＰアドレスを設定する（ステップＳ４６）。例えば、ｖ４ｖ６変換モジュール２２は、「ｉｆｃｏｎｆｉｇ  １  １９２．０．０．１９２  ２５５．２５５．２５５．０」コマンドを発行する。コマンドの中の「１」は、仮想スイッチ２１側のインタフェースの名称、すなわち仮想スイッチ２１の識別ＩＤである。
【００７１】
そして、ｖ４ｖ６変換モジュール２２は、仮想マシン２３側インタフェースに変換後のｖ６のＩＰアドレスを設定する（ステップＳ４７）。例えば、ｖ４ｖ６変換モジュール２２は、「ｉｆｃｏｎｆｉｇ  １  ｆｅ８０：：＜１９２．０．０．１９２＞」コマンドを発行する。コマンドの中の「１」は、仮想マシン２３側インタフェースの名称、すなわちｅｔｈインタフェース２３１のインデックスである。
【００７２】
そして、ｖ４ｖ６変換モジュール２２は、変換前のｖ４のＩＰアドレスと変換後のｖ６のＩＰアドレスとを対応付けてＮＡＴ変換表２２１に登録する（ステップＳ４８）。例えば、ｖ４ｖ６変換モジュール２２は、「１９２．０．０．１９２」と「ｆｅ８０：：＜１９２．０．０．１９２＞」とを対応付けて登録する。
【００７３】
その後、ｖ４ｖ６変換モジュール２２は、ＮＡＴが終了したことをルータ管理部１３のアドレス設定指示部１３３に通知すると、ルータ管理部１３は、仮想マシンのｖ４のＩＰアドレスの割り当てが終了したことをサービスプログラム２３２に通知する。すると、サービスプログラム２３２は、ｅｔｈインタフェース２３１に変換後のｖ６のＩＰアドレスを設定する（ステップＳ４９）。
【００７４】
次に、図９に示すように、仮想マシン２３上のサービスプログラム２３２が、接続要求のあったルータ３に対応するユーザ名を指示するとともに、仮想マシン２３にｖ４のＩＰアドレスを割り当てるように指示する（ステップＳ５１）。
【００７５】
すると、アドレス設定指示部１３３は、指示されたユーザ名に対応するｖ４ｖ６変換モジュール２２及びｅｔｈインタフェース２３１の情報を、ｖＳＷ使用状況管理表１１から検索する（ステップＳ５２）。そして、アドレス設定指示部１３３は、検索できた情報に対応するｖ４ｖ６変換モジュール２２に、ユーザ名に対応する顧客用イントラネット４のＤＨＣＰサーバへの「ｄｈｃｐ  ｃｌｉｅｎｔ」コマンドの実行を依頼する（ステップＳ５３）。「ｄｈｃｐ  ｃｌｉｅｎｔ」コマンドは、ＤＨＣＰサーバに対してＩＰアドレスの割り当てを指示するコマンドである。ｖ４ｖ６変換モジュール２２への依頼には、検索できた情報に対応するｅｔｈインタフェース２３１のインデックスが含まれる。すなわち、アドレス設定指示部１３３は、ＤＨＣＰサーバによって割り当てられるｖ４のＩＰアドレスからｖ６のＩＰアドレスに変換された後のアドレスをｅｔｈインタフェース２３１側に設定するように指示する。
【００７６】
続いて、ｖ４ｖ６変換モジュール２２は、依頼を受けた「ｄｈｃｐ  ｃｌｉｅｎｔ」コマンドを、ユーザ名に対応する顧客用イントラネット４のＤＨＣＰサーバに対して実行する（ステップＳ５４）。そして、ｖ４ｖ６変換モジュール２２は、ＤＨＣＰサーバによって割り当てられたｖ４のＩＰアドレスをＤＨＣＰサーバから取得する（ステップＳ５５）。
【００７７】
そして、ｖ４ｖ６変換モジュール２２は、取得されたｖ４のＩＰアドレスを仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスに変換する（ステップＳ５６）。
【００７８】
そして、ｖ４ｖ６変換モジュール２２は、仮想スイッチ２１側のインタフェースに、変換前のｖ４のＩＰアドレスを設定する（ステップＳ５７）。
【００７９】
そして、ｖ４ｖ６変換モジュール２２は、仮想マシン２３側インタフェースに変換後のｖ６のＩＰアドレスを設定する（ステップＳ５８）。
【００８０】
そして、ｖ４ｖ６変換モジュール２２は、変換前のｖ４のＩＰアドレスと変換後のｖ６のＩＰアドレスとを対応付けてＮＡＴ変換表２２１に登録する（ステップＳ５９）。
【００８１】
その後、ｖ４ｖ６変換モジュール２２は、ＮＡＴが終了したことをルータ管理部１３のアドレス設定指示部１３３に通知すると、ルータ管理部１３は、仮想マシンのｖ４のＩＰアドレスの割り当てが終了したことをサービスプログラム２３２に通知する。すると、サービスプログラム２３２は、ｅｔｈインタフェース２３１に変換後のｖ６のＩＰアドレスを設定する（ステップＳ６０）。
【００８２】
これにより、仮想マシン２３と通信可能となったルータ３とを接続する顧客用イントラネット４（顧客ＰＣ５）から送信されたパケットは、仮想スイッチ２１を介してｖ４ｖ６変換モジュール２２に到着する。すると、ｖ４ｖ６変換モジュール２２は、パケット内送信元のｖ４のＩＰアドレスを仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスに変換後、変換したＩＰアドレスを自己に対応するｅｔｈインタフェース２３１に引き渡す。したがって、２つの顧客用イントラネット４から送信されたパケット内の送信元（顧客ＰＣ５）のＩＰアドレスが同一であっても、それぞれの顧客ＰＣ５は、顧客毎に異なるｅｔｈインタフェース２３１に接続することとなるので、送信先の仮想マシン２３とセキュアに通信することができる。
【００８３】
［実施例１の効果］
上記実施例１によれば、ルータ管理部１３は、管理サーバ１０がＩＰｖ４を用いたネットワークに対応している場合、接続要求を満たす仮想マシン２３に対して、ｖＳＷ使用状況管理表１１に記憶されていないｅｔｈインタフェース２３１のインデックスを特定する。そして、ルータ管理部１３は、特定したインデックスが示すｅｔｈインタフェース２３１を用いて、接続要求のあったルータ３と仮想マシン２３とを接続する。これにより、ルータ管理部１３は、接続要求のあったルータ３毎に異なるｅｔｈインタフェース２３１を用いて、ルータ３と仮想マシン２３とを接続するので、ＩＰｖ４であっても、１つの仮想マシン２３と複数のルータ３との間で安全に通信することが可能となる。すなわち、ルータ管理部１３は、ＩＰｖ４であっても、１つの仮想マシン２３と複数のルータ３に対応するそれぞれのイントラネットの顧客ＰＣ５とセキュアに通信することが可能となる。
【００８４】
また、上記実施例１によれば、ルータ管理部１３は、顧客用イントラネット４内の顧客ＰＣ５から送信される場合の宛先となるＩＰｖ４アドレスを管理サーバ１０が割り当てる場合、以下の指示を行う。すなわち、ルータ管理部１３は、顧客ＰＣ５が属する顧客用イントラネット４の顧客に対応するｅｔｈインタフェース２３１のインデックスをｖＳＷ使用状況管理表１１から検索する。そして、ルータ管理部１３は、検索して得られたインデックスが示すｅｔｈインタフェース２３１側に、自サーバによって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するようにｖ４ｖ６変換モジュール２２に指示する。これにより、ルータ管理部１３は、ＩＰｖ４であっても、ｅｔｈインタフェース２３１側に、顧客ＰＣ５毎に異なるＩＰｖ４アドレスをＩＰｖ６に変換された後のアドレスを設定させるので、ｅｔｈインタフェース２３１を用いてセキュアな通信をすることが可能となる。
【００８５】
また、上記実施例１によれば、ルータ管理部１３は、顧客ＰＣ５から送信される場合の宛先となるＩＰｖ４アドレスを顧客ＰＣ５が属する顧客用イントラネット４側が割り当てる場合、以下の指示を行う。すなわち、ルータ管理部１３は、顧客ＰＣ５が属する顧客用イントラネット４の顧客に対応するｅｔｈインタフェース２３１のインデックスをｖＳＷ使用状況管理表１１から検索する。そして、ルータ管理部１３は、検索して得られたインデックスが示すｅｔｈインタフェース２３１側に、顧客用イントラネット４側によって割り当てられたＩＰｖ４アドレスからＩＰｖ６に変換された後のアドレスを設定するようにｖ４ｖ６変換モジュール２２に指示する。これにより、ルータ管理部１３は、ＩＰｖ４であっても、ｅｔｈインタフェース２３１側に、顧客ＰＣ５毎に異なるＩＰｖ４アドレスをＩＰｖ６に変換された後のアドレスを設定させるので、ｅｔｈインタフェース２３１を用いてセキュアな通信をすることが可能となる。
【実施例２】
【００８６】
ところで、実施例１に係る仮想マシンシステム９では、管理サーバ１０がＩＰｖ４を用いたネットワークに対応している場合を説明した。しかしながら、管理サーバ１０は、これに限定されず、ＩＰｖ４とＩＰｖ６を共存させる仕組みであるデュアルスタックを用いたネットワークに対応するようにしても良い。そこで、実施例２では、管理サーバ１０がデュアルスタックを用いたネットワークに対応する場合について説明する。
【００８７】
［実施例２に係る仮想マシンシステムの構成］
図１０は、実施例２に係る仮想マシンシステムの構成図である。なお、図１に示す仮想マシンシステム９と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、仮想スイッチ２１をｖ６とｖ４とを共存させた仮想スイッチ２１Ａに変更した点にある。また、実施例１と実施例２とが異なるところは、ｅｔｈインタフェース２３１をｅｔｈインタフェース２３１Ａとｅｔｈインタフェース２３１Ｂとに分けた点にある。また、実施例１と実施例２とが異なるところは、管理サーバ１０のルータ管理部１３をルータ管理部１３Ａに変更した点にある。
【００８８】
ｅｔｈインタフェース２３１Ａおよびｅｔｈインタフェース２３１Ｂは、仮想マシン２３上に仮想的に生成される通信インタフェースである。ｅｔｈインタフェース２３１Ａは、ＩＰｖ４用のインタフェースである。すなわち、ｅｔｈインタフェース２３１Ａは、仮想マシン２３とリンクローカルを形成することとなる顧客用イントラネット４とのＩＰｖ４用の通信経路である。他方、ｅｔｈインタフェース２３１Ｂは、ＩＰｖ６用のインタフェースである。すなわち、ｅｔｈインタフェース２３１Ｂは、仮想マシン２３とリンクローカルを形成することとなる顧客用イントラネット４とのＩＰｖ６用の通信経路である。ｅｔｈインタフェース２３１Ａおよびｅｔｈインタフェース２３１Ｂには、識別子（インデックス）が重複しないように固定で割り当てられる。
【００８９】
ここで、ＩＰｖ４用とＩＰｖ６用とでインタフェースを区別したのは、顧客側のｖ４のＩＰアドレスを変換した後の仮想的なｖ４のＩＰアドレスであるｖ６のＩＰアドレスが、顧客側のｖ６のＩＰアドレスと同じとなる場合を考慮したからである。図１０の例では、インデックス「０」のｅｔｈインタフェース２３１Ｂは、サービスプログラム２３２における「ｆｅ８０：：１２３４％ｅｔｈ０」が割り付いたソケットに対応する。インデックス「１」のｅｔｈインタフェース２３１Ａは、サービスプログラム２３２における「ｆｅ８０：：＜１９２．０．０．１＞％ｅｔｈ１」が割り付いたソケットに対応する。万一、「ｆｅ８０：：１２３４」と「ｆｅ８０：：＜１９２．０．０．１＞」が同一であっても、ｅｔｈインタフェース２３１Ａ、２３１Ｂのインデックスによってｖ６とｖ４とが切り分けられる。なお、ｅｔｈインタフェース２３１Ｂは、ＩＰｖ６で規定されているゾーンインデックスに相当するが、ゾーンインデックスそのものであっても良い。
【００９０】
ルータ管理部１３Ａは、接続要求のあったルータ３及びＧＷサーバ３０との通信を確立した後、接続要求のあったルータ３及び接続要求を満たす仮想マシン２３を接続すべく、仮想スイッチ２１Ａ及びｅｔｈインタフェース２３１Ａ、２３１Ｂ間の接続処理を行う。なお、通信を確立する処理は、図４の通信確立部１３１で説明した処理と同様であるので、その説明は省略する。また、接続処理は、図４の接続処理部１３２によって以下のように行われる。
【００９１】
接続処理部１３２は、接続要求ごとに、ＩＰｖ４用として仮想スイッチ２１Ａ、ｖ４ｖ６変換モジュール２２及びｅｔｈインタフェース２３１Ａを接続する。また、接続処理部１３２は、接続要求ごとに、ＩＰｖ６用として仮想スイッチ２１Ａ及びｅｔｈインタフェース２３１Ｂを接続する。
【００９２】
例えば、接続処理部１３２は、ルータ３から接続要求として受信されたＶＭ機器情報に対応する仮想マシン２３に対して、ＩＰｖ６用及びＩＰｖ４用のｅｔｈインタフェース２３１のインデックスを特定する。インデックスの特定には、ｖＳＷ使用状況管理表１１Ａを用いる。すなわち、接続処理部１３２は、ＩＰｖ４用のｅｔｈインタフェース２３１Ａのインデックスとして、ｖＳＷ使用状況管理表１１Ａのｖ４用およびｖ６用のいずれのインタフェースの情報にも記憶されていない空きのインデックスを特定する。接続処理部１３２は、ＩＰｖ６用のｅｔｈインタフェース２３１Ｂのインデックスとして、ｖＳＷ使用状況管理表１１Ａのｖ４用およびｖ６用のいずれのインタフェースの情報にも記憶されていないインデックスを特定する。
【００９３】
接続処理部１３２は、対応する仮想マシン２３のサービスプログラム２３２に対して、ＩＰｖ４用として、特定したインデックスが示す新たなｅｔｈインタフェース２３１Ａ、新たなｖ４ｖ６変換モジュール２２及び新たな仮想スイッチ２１Ａの生成を依頼する。接続処理部１３２は、対応する仮想マシン２３のサービスプログラム２３２に対して、ＩＰｖ６用として、特定したインデックスが示す新たなｅｔｈインタフェース２３１Ｂ及び新たな仮想スイッチ２１Ａの生成を依頼する。
【００９４】
接続処理部１３２は、ＩＰｖ４用として、依頼によって生成されたｅｔｈインタフェース２３１Ａ、ｖ４ｖ６変換モジュール２２及び仮想スイッチ２１Ａを接続する。接続処理部１３２は、ＩＰｖ６用として、依頼によって生成されたｅｔｈインタフェース２３１Ｂ及び仮想スイッチ２１Ａを接続する。
【００９５】
接続処理部１３２は、接続に用いられたｅｔｈインタフェース２３１Ａ、２３１Ｂ、仮想スイッチ２１Ａ及びｖ４ｖ６変換モジュール２２の情報を接続要求のあった顧客に対応するユーザ名と対応付けて、ｖＳＷ使用状況管理表１１Ａに追加する。ここで、ｖＳＷ使用状況管理表１１Ａのデータ構造について、図１１を参照して説明する。
【００９６】
図１１は、実施例２に係るｖＳＷ使用状況管理表のデータ構造の一例を示す図である。なお、図２に示すｖＳＷ使用状況管理表１１と同一のデータ構造については同一符号を示すことで、その重複するデータ構造の説明については省略する。実施例１と実施例２とが異なるところは、インタフェース使用状況１１ｄにｖ６用ｅｔｈインタフェース（インデックス）１１ｇが追加された点にある。ｖ６用ｅｔｈインタフェース（インデックス）１１ｇは、ＩＰｖ６で用いられるｅｔｈインタフェース２３１Ｂのインデックスを示す。なお、ｖ４用ｅｔｈインタフェース（インデックス）１１ｆは、ＩＰｖ４で用いられるｅｔｈインタフェース２３１Ａのインデックスを示す。
【００９７】
一例として、ユーザ名１１ａが「Ａ株式会社」である場合、ｖ４用ｅｔｈインタフェース（インデックス）１１ｆとして「０」、ｖ６用ｅｔｈインタフェース（インデックス）１１ｇとして「１」と記憶している。すなわち、ｖ４用ｅｔｈインタフェース（インデックス）１１ｆ及びｖ６用ｅｔｈインタフェース（インデックス）１１ｇは、それぞれ重複しない値であるとともに、同じ仮想マシン１１ｅに対応するインデックスと重複しない値である。
【００９８】
また、ルータ管理部１３Ａは、仮想マシン２３に割り当てられるｖ６のＩＰアドレスを、ｅｔｈインタフェース２３１Ｂに設定する。なお、ｖ４のＩＰアドレスにおける設定指示は、図４のアドレス設定指示部１３３で説明したとおりであるので、その説明は省略する。
【００９９】
また、ルータ管理部１３Ａは、ルータ３に対して仮想スイッチ２１Ａに割り当てられるｖ４のＩＰアドレス及びｖ６のＩＰアドレスを通知し、仮想スイッチ２１Ａに対してルータ３のＩＰアドレスを通知する。そして、ルータ管理部１３Ａは、ルータ３及び仮想スイッチ２１Ａの間のEthernet  over  IPによる通信を確立する。なお、ＩＰアドレスの通知処理は、図４のアドレス送信部１３４によって行われる。
【０１００】
このようにして、ルータ管理部１３Ａは、ＩＰｖ４用のｅｔｈインタフェース２３１ＡとＩＰｖ６用のｅｔｈインタフェース２３１Ｂとを分ける構成とした。したがって、ルータ管理部１３Ａは、ＩＰｖ４／ＩＰｖ６のデュアルスタックであっても、１つの仮想マシン２３とルータ３との間で安全に通信することが可能となる。さらに、ルータ管理部１３Ａは、接続要求のあったルータ３毎に異なるｅｔｈインタフェース２３１Ａ，２３１Ｂを用いて、ルータ３と仮想マシン２３とを接続するので、ＩＰｖ４であっても、１つの仮想マシン２３と複数のルータ３との間で安全に通信することが可能となる。
【０１０１】
なお、管理サーバ１０は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した物理サーバ管理部１２と、ルータ管理部１３等の各機能を搭載することによって実現することができる。また、物理サーバ２０は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記したＨｏｓｔＯＳ／Ｈｙｐｅｒｖｉｓｏｒ上に仮想マシン２３、ｅｔｈインタフェース２３１、ｖ４ｖ６変換モジュール２２等の各機能を搭載することによって実現することができる。
【０１０２】
また、上記実施例では、物理サーバ管理部１２及びルータ管理部１３が、管理サーバ１０に備える構成とした。しかしながら、これに限定されず、物理サーバ管理部１２及びルータ管理部１３が、それぞれ独立のサーバに備える構成としても良い。
【０１０３】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、物理サーバ管理部１２とルータ管理部１３とを１個の部として統合しても良い。一方、ルータ管理部１３を、通信確立部１３１と接続処理部１３２とアドレス設定指示部１３３とアドレス送信部１３４とに分散しても良い。また、ｖＳＷ使用状況管理表１１を管理サーバ１０の外部装置に記憶するようにしても良いし、ｖＳＷ使用状況管理表１１を記憶した外部装置を管理サーバ１０とネットワーク経由で接続するようにしても良い。
【符号の説明】
【０１０４】
１  データセンタ
２  ＰＰＰｏＥ網
３  ルータ
４  顧客用イントラネット
５  顧客ＰＣ
９  仮想マシンシステム
１０  管理サーバ
１１  ｖＳＷ使用状況管理表
１２  物理サーバ管理部
１２Ａ  ＤＢ
１３  ルータ管理部
２０  物理サーバ
２１  仮想スイッチ
２２  ｖ４ｖ６変換モジュール
２２１  ＮＡＴ変換表
２３  仮想マシン
２３１  ｅｔｈインタフェース
【図１】
2014093550.tif 000003
【図２】
2014093550.tif 000004
【図３】
2014093550.tif 000005
【図４】
2014093550.tif 000006
【図５】
2014093550.tif 000007
【図６】
2014093550.tif 000008
【図７】
2014093550.tif 000009
【図８】
2014093550.tif 000010
【図９】
2014093550.tif 000011
【図１０】
2014093550.tif 000012
【図１１】
2014093550.tif 000013
【図１２】
2014093550.tif 000014
【図１３】
2014093550.tif 000015