(57)【特許請求の範囲】
【請求項１】
移動可能な仮想マシンを有する情報処理システムの構成方法であって、
仮想マシンが、固定網内の第１のサブネットに収容されている第１の物理マシン上から前記第１のサブネットとは異なる第２のサブネットに収容されている第２の物理マシン上に移動した場合、前記第１の物理マシンから前記第２の物理マシンへ至るレイヤ２トンネルを構築すると共に、前記第１の物理マシンのデータベースが格納している前記仮想マシンのアプリケーションイメージおよび前記仮想マシンが使用していた各種データのうち、アプリケーションイメージを前記第２の物理マシンのデータベースにコピーして前記第２の物理マシンのデータベースに格納することにより、前記第1の物理マシンが、前記第１の物理マシン上の前記仮想マシンへのトラフィックを前記レイヤ２トンネルへ振り分けて前記第２の物理マシン上に移動した前記仮想マシンに送ることができるようにし、また、前記第２の物理マシン上に移動した前記仮想マシンが、前記第２の物理マシンのデータベースに格納されたアプリケーションイメージを取得し、さらに前記第１の物理マシンのデータベースが格納している各種データを、前記レイヤ２トンネルを介して取得し、取得されたアプリケーションイメージに従って各種データを処理できるようにすることを特徴とする情報処理システムの構成方法。
【請求項２】
前記第１の物理マシンは、前記第１の物理マシンのデータベースが格納しているネットワーク内の物理マシンの構成情報を取得し、該構成情報を基にレイヤ２トンネルを構築することを特徴とする請求項１に記載の情報処理システムの構成方法。
【請求項３】
前記第１の物理マシンは、外部の運用管理システムからネットワーク内の物理マシンの構成情報を取得し、該構成情報を基にレイヤ２トンネルを構築することを特徴とする請求項１に記載の情報処理システムの構成方法。
【請求項４】
移動可能な仮想マシンを有する情報処理システムに用いられる物理マシンであって、
仮想マシンが、固定網内の第１のサブネットに収容されている自物理マシン上から前記第１のサブネットとは異なる第２のサブネットに収容されている他物理マシン上に移動した場合、前記自物理マシンから前記他物理マシンへ至るレイヤ２トンネルを構築すると共に、前記自物理マシンのデータベースが格納している前記仮想マシンのアプリケーションイメージおよび前記仮想マシンが使用していた各種データのうち、アプリケーションイメージを前記他物理マシンのデータベースにコピーして前記他物理マシンのデータベースに格納させ、前記自物理マシン上の前記仮想マシンへのトラフィックを前記レイヤ２トンネルへ振り分けて前記他物理マシン上に移動した前記仮想マシンに送る機能を有し、これにより、前記他物理マシン上に移動した前記仮想マシンが、前記他物理マシンのデータベースに格納されたアプリケーションイメージを取得し、さらに前記自物理マシンのデータベースが格納している各種データを、前記レイヤ２トンネルを介して取得し、取得されたアプリケーションイメージに従って各種データを処理できるようにすることを特徴とする物理マシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムの構成方法および物理マシンに関し、特に、固定網における異なるサブネット間に渡る仮想マシンの移動に対処することができる情報処理システムの構成方法および物理マシンに関する。
【背景技術】
【０００２】
ネットワーク上の端末を物理的に他のネットワークに移動してもアプリケーションを継続的に利用可能とするための技術として、IPネットワークにおけるモビリティサポート技術がある。これについては、非特許文献１，２に記載されている。
【０００３】
非特許文献１，２に記載されているモビリティサポート技術は、ネットワークそのものがモビリティをサポートした、いわゆる携帯電話用途などのために構築された移動体ネットワークを前提とするものであり、固定電話やセットトップボックスへの映像配信などのために構築された既存の固定ネットワーク上でのモビリティをサポートするものではない。
【０００４】
特許文献１には、移動元ホストで稼働していた仮想マシンを移動先ホストに移動する際に発生するデバイスドライバの環境の違いを吸収するため、移動先の仮想マシンが移動元のデバイスを制御できるように、フロントエンドドライバとバックエンドドライバを用意し、アプリケーションがドライバの違いを意識することなく稼働を継続することを可能とした計算機システムが記載されている。この計算機システムを利用すれば、ある物理サーバで稼働していた仮想マシンを他の物理サーバに移動する際に、移動元と移動先の物理サーバが異なることによるデバイスドライバの環境に違いを隠蔽することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−９３９６号公報
【非特許文献】
【０００６】
【非特許文献１】標準文書：RFC3344
【非特許文献２】標準文書：RFC3775
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１，２のモビリティサポート技術は、いわゆる移動体ネットワークを前提とするものであり、固定電話やセットトップボックスへの映像配信などのために構築された既存の固定ネットワークに適用することはできない。
【０００８】
特許文献１の計算機システムを利用すれば、移動元と移動先の物理サーバが異なることによるドライバの違いを隠蔽することは可能である。しかし、これは、固定網における異なるサブネット間に渡って仮想マシンを移動する場合の問題を解決するものではない。あるサブネット内の物理マシンで稼働していた仮想マシンを、それとは異なるサブネット内の物理マシンに移動した場合でも、仮想マシンが利用していたIPアドレスは変わらない。そのため、移動先の仮想マシンから移動元の物理マシンに保持し続けられているデータにアクセスできなくなり、アプリケーションの実行が継続できなくなる、という問題が生じる。特許文献１の計算機システムは、このような問題を解決するものではない。
【０００９】
既存の固定ネットワーク上でモビリティサポート技術を実現するために、仮想マシンと一緒に、仮想マシンが使用していた各種データも移動することも考えられる。しかし、この場合には、新たな問題が生じる、つまり、通常、データは膨大であり、データの移動に伴ってネットワークに多大な負荷を与えたり、データの移動に時間を要したりするので、移動先でアプリケーション自体を迅速に稼働開始できなくなる、といった問題が生じる。
【００１０】
また、データを移動させる場合には、その移動に伴ってIPアドレスを動的に管理して変更し、さらにアプリケーション環境をIPアドレスの変更に連動させて変更する必要がある。仮想マシンを移動することの本来の目的は、IPアドレスを動的に管理して変更したり、アプリケーション環境をIPアドレスの変更に連動させて変更したりすることを避けたいということであり、これではその目的が達成されなくなってしまう。
【００１１】
このため、ある物理マシンで稼働していた仮想マシンを他の物理マシンに移動させる際、アプリケーション実行環境(アプリケーションイメージ)である仮想マシンのみを移動させ、仮想マシンが使用していた各種データ(例えば、表計算アプリケーションであれば、表に入力する帳票データそのもの)は、移動元の物理マシンに残すようにするのが普通である。
【００１２】
以上のように、これまで、仮想サーバは、同一のサブネット(同一のレイヤ2ブロードキャストドメイン)内においてのみ移動が可能であり、異なるサブネット間に渡って仮想サーバを移動可能にするための手法は実現されていない。端末の移動能力をサポートしない固定網においてそれを実現するには、サブネットが異なるというネットワーク自体に起因する問題を解決することが必要である。
【００１３】
本発明の目的は、固定網における異なるサブネット間に渡る仮想マシンの移動に対処することができる情報処理システムの構成方法および物理マシンを提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明に係る情報処理システムの構成方法は、仮想マシンが、固定網内の第１のサブネットに収容されている第１の物理マシン上から前記第１のサブネットとは異なる第２のサブネットに収容されている第２の物理マシン上に移動した場合、前記第１の物理マシンから前記第２の物理マシンへ至るレイヤ２トンネルを構築すると共に、前記第１の物理マシンのデータベースが格納している前記仮想マシンのアプリケーションイメージおよび前記仮想マシンが使用していた各種データのうち、アプリケーションイメージを前記第２の物理マシンのデータベースにコピーして前記第２の物理マシンのデータベースに格納することにより、前記第1の物理マシンが、前記第１の物理マシン上の前記仮想マシンへのトラフィックを前記レイヤ２トンネルへ振り分けて前記第２の物理マシン上に移動した前記仮想マシンに送ることができるようにし、また、前記第２の物理マシン上に移動した前記仮想マシンが、前記第２の物理マシンのデータベースに格納されたアプリケーションイメージを取得し、さらに前記第１の物理マシンのデータベースが格納している各種データを、前記レイヤ２トンネルを介して取得し、取得されたアプリケーションイメージに従って各種データを処理できるようにすることを特徴としている。
【００１６】
また、本発明に係る情報処理システムの構成方法は、前記第1の物理マシンが、前記第1の物理マシンのデータベースが格納しているネットワーク内の物理マシンの構成情報を取得し、該構成情報を基にレイヤ2トンネルを構築することを特徴としている。
【００１７】
また、本発明に係る情報処理システムの構成方法は、前記第1の物理マシンが、外部の運用管理システムからネットワーク内の物理マシンの構成情報を取得し、該構成情報を基にレイヤ2トンネルを構築することを特徴としている。
【００１８】
また、本発明に係る物理マシンは、仮想マシンが、固定網内の第１のサブネットに収容されている自物理マシン上から前記第１のサブネットとは異なる第２のサブネットに収容されている他物理マシン上に移動した場合、前記自物理マシンから前記他物理マシンへ至るレイヤ２トンネルを構築すると共に、前記自物理マシンのデータベースが格納している前記仮想マシンのアプリケーションイメージおよび前記仮想マシンが使用していた各種データのうち、アプリケーションイメージを前記他物理マシンのデータベースにコピーして前記他物理マシンのデータベースに格納させ、前記自物理マシン上の前記仮想マシンへのトラフィックを前記レイヤ２トンネルへ振り分けて前記他物理マシン上に移動した前記仮想マシンに送る機能を有し、これにより、前記他物理マシン上に移動した前記仮想マシンが、前記他物理マシンのデータベースに格納されたアプリケーションイメージを取得し、さらに前記自物理マシンのデータベースが格納している各種データを、前記レイヤ２トンネルを介して取得し、取得されたアプリケーションイメージに従って各種データを処理できるようにすることを特徴としている。
【発明の効果】
【００１９】
従来、同一のレイヤ2ブロードキャストドメイン(例えば、1つのデータセンタ内部)に閉じたネットワーク内部でしか仮想マシンを移動することができなかったが、本発明によれば、サブネットが異なる広域のIPネットワーク上で仮想マシンを移動することができるようになる。これにより、より多くの物理マシンを共有できるようになり、統計多重効果により物理マシンの稼働効率を高めることができ、設備投資や電力消費の削減が期待できる。
【００２０】
また、従来技術のRFC3344、RFC3775では、端末の移動をIPネットワーク内部で実現する仕組みであるため、レイヤ3レベルでのトンネル処理(IP in IPやGREなど)が必要であるが、本発明では、物理マシン側で実現可能なレイヤ2レベルでのトンネル処理でよい。一般に、レイヤが高い所での処理の方が複雑であるので、本発明によれば、処理の簡素化も図ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明が適用される情報処理システムを示す構成図である。
【図２】本発明に係る情報処理システムの構成方法を概念的に示す図である。
【図３】物理マシンの内部の構成を示す図である。
【図４】本発明に係る情報処理システムの構成方法における動作シーケンスの一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明を説明する。図１は、本発明が適用される情報処理システムを示す構成図である。この情報処理システムは、既存の固定網であるIPネットワークに物理マシンおよびユーザ端末が接続されて構成される。ここでは、物理マシン1,2とユーザ端末3を図示しているが、より多くの物理マシンとユーザ端末がIPネットワークに接続されるのが普通である。物理マシン1,2は、例えば、物理サーバとして構成される。
【００２３】
物理マシン1は、ルータ4を介してIPネットワークに接続され、物理マシン2は、ルータ5を介してIPネットワークに接続され、ユーザ端末3は、ルータ6を介してIPネットワークに接続される。また、物理マシン1と物理マシン2にはそれぞれ、データベース7,8が接続される。物理マシン1,2は、例えば、ユーザ端末3からのアクセスに従って各種処理を実行し、その結果を応答として返す。
【００２４】
物理マシン1と物理マシン2は、別々のルータ4,5を介してIPネットワークに接続されているので、物理マシン1と物理マシン2は、IPネットワークにおける異なるサブネットに収容されていることになる。
【００２５】
物理マシン1で仮想マシン(1)〜(5)が稼働し、物理マシン2で仮想マシン(A),(C)〜(E)が稼働している。ここで、物理マシン1の仮想マシン(5)が物理マシン2に仮想マシン(B)として移動する場合を想定する。仮想マシン(5(B))は、例えば、表計算アプリケーションを実行する仮想サーバである。
【００２６】
仮想マシン(5)が物理マシン1から物理マシン2に移動する前、データベース7は、(1)仮想マシン(1)〜(5)のアプリケーションイメージ、(2)仮想マシン(1)〜(5)が使用する各種データ、(3)IPネットワーク内の物理マシン1,2の構成情報(例えば、IPアドレス)を格納し、データベース8は、(1)仮想マシン(A),(C)〜(E)のアプリケーションイメージ、(2)仮想マシン(A),(C)〜(E)が使用する各種データ、(3)IPネットワーク内の物理マシン1,2の構成情報を格納している。
【００２７】
ユーザは、物理マシン1の仮想マシン(5)のIPアドレスを用いて仮想マシン(5)を利用することができる(S1)。ここで、仮想マシン(5)が物理マシン2に仮想マシン(B)として移動(S2)すると、物理マシン2に仮想マシン(A)〜(E)が存在するようになる。仮想マシン(5)が移動して物理マシン2の仮想マシン(B)となった場合でも、ユーザは、仮想マシンの移動などの構成変更を意識することなく、物理マシン2上の仮想マシン(B)を継続的に利用(S3)できることが要望される。
【００２８】
本発明は、このような要望を満たすものである。図２は、本発明に係る情報処理システムの構成方法を概念的に示す図である。なお、本発明は、このような情報処理システムを構成する物理マシンとしても成立する。
【００２９】
物理マシン1の仮想マシン（5）が物理マシン2に仮想マシン（B）として移動した場合、物理マシン1と物理マシン2との間にレイヤ2トンネルを構築する。具体的には、実装に依存する所が大きいが、物理マシン1のネットワークインタフェースと仮想マシンBのハイパーバイザの間にレイヤ2トンネルを構築する。レイヤ2トンネルは、レイヤ2トンネリングプロトコル、例えば、L2TPv3(Layer2 Tunneling Protocol version3)により構築できる。
【００３０】
また、データベース7に格納されている仮想マシン5のアプリケーションイメージをコピーして、仮想マシン(B)のアプリケーションイメージとしてデータベース8に格納する。さらに、仮想マシン(B)にデータベース7,8を接続(マウント)する。
【００３１】
これにより、仮想マシン(B)は、データベース8に格納された仮想マシンBのアプリケーションイメージを使用し、さらにデータベース9に格納されている各種データ(仮想マシン(5)のアプリケーションイメージが使用していた各種データ)をレイヤ2トンネルを通して使用できるようになる。
【００３２】
ユーザ端末3からの仮想マシン(5)へのトラフィックは、物理マシン1のネットワークインタフェースにおいて振り分けられ、送信元を物理マシン1とし、送信先を物理マシン2としたIPアドレスが付加され(カプセル化)、レイヤ2トンネルを通って仮想マシン(B)に至る。
【００３３】
仮想マシン(B)は、データベース8から仮想マシン(B)のアプリケーションイメージを取得し、また、データベース7から当該アプリケーションイメージが使用していた各種データをレイヤ2トンネルを通して取得する。そしてアプリケーションイメージに従って各種データを処理し、その処理結果をユーザ端末3に返す。また、処理結果の各種データをデータベース7に格納する。このようにレイヤ2トンネルを利用することにより、ユーザは、仮想マシン(5)と通信し続けているかのように、物理マシン2上の仮想マシン(B)を利用して継続的にサービスを受けることができる。
【００３４】
図３は、物理マシン1の内部の構成を示す図である。なお、物理マシン2も同様の構成を有する。
【００３５】
同図に示すように、物理マシン1は、ネットワークインタフェース31、ハイパーバイザ32および仮想マシン(1)〜(5)を備える。ネットワークインタフェース31は、物理マシン1をルータ4を介してIPネットワークに接続する。ハイパーバイザ32は、ソフトウエアにより構成され、ネットワークインタフェース31上で動作して仮想化されたマシンを構築する。仮想マシン(1)〜(5)は、ハイパーバイザ32の管理下で稼働する。
【００３６】
仮想マシン(1)〜(5)の各々は、同じ構成を有するが、ここでは、仮想マシン(5)の構成だけを図示している。仮想マシン(5)は、ネットワークインタフェース33、ゲストOS34およびアプリケーションイメージ35を備える。ネットワークインタフェース33は、ハイパーバイザ32とゲストOS34の間に介在して、仮想的なインタフェースを提供する。ゲストOS34は、仮想的なOSである。アプリケーションイメージ35は、ゲストOS34の管理下で動作する。
【００３７】
レイヤ2トンネルは、実際上では、仮想マシン(B)のネットワークインタフェース(ネットワークインタフェース33)から物理サーバ1自体のネットワークインタフェース31の間に構築される。
【００３８】
図４は、本発明に係る情報処理システムの構成方法における動作シーケンスの一例を示す図である。
【００３９】
仮想マシン(5)が移動する前では、仮想マシン(5)は、ユーザ端末3からの要求に従ってデータベース7にアクセスし、アプリケーションイメージおよびそれが使用する各種データを取得し、アプリケーションイメージに従って各種データを処理し(S41)、その処理結果をユーザ端末3に返す。
【００４０】
ここで、物理マシン1(具体的には、ハイパーバイザ)が仮想マシン(5)の移動要求を受け付ける(S42)と、物理マシン1は、データベース7からIPネットワーク内の物理マシン2の構成情報を取得し(S43)、物理マシン1から物理マシン2に至るレイヤ2トンネルを構築する(S44)。物理マシン1から物理マシン2に至るレイヤ2トンネルは、IPネットワーク内の物理マシン2の構成情報から分かる。すなわち、物理マシン1のIPアドレスから物理マシン2のIPアドレスまでのレイヤ2トンネルを構築すればよい。
【００４１】
一方、物理マシン2(ハイパーバイザ)側では、物理マシン1側での仮想マシン(5)の移動要求の受け付けに伴って仮想マシン(B)を登録し(S45)、仮想マシン(B)用の領域を確保する。
【００４２】
物理マシン1は、レイヤ2トンネルの構築後、ハイパーバイザ32内の経路情報を書き換える(S46)。すなわち、ユーザ端末3からの仮想マシン(5)へのトラフィックがネットワークインタフェース31において振り分けられ、レイヤ2トンネルを通って物理マシン2のハイパーバイザに至るように経路情報を書き換える。
【００４３】
次に、データベース7に格納されている仮想マシン(5)のアプリケーションイメージをコピーして、仮想マシン(B)のアプリケーションイメージとしてデータベース8に格納する(S47)。
【００４４】
次に、データベース8に仮想マシン(B)を接続(マウント)する(S48)。また、データベース7から仮想マシン(5)を切り離し(アンマウント)(S49)、その後、データベース7に仮想マシン(B)を接続(マウント)する(S50)。データベース7から仮想マシン(5)を切り離すのは、データベース7に対する競合をなくすためである。
【００４５】
ユーザ端末3からの仮想マシン(5)へのトラフィックは、物理マシン1のネットワークインタフェース31において振り分けられ、レイヤ2トンネルを通って物理マシン2のハイパーバイザに至り、さらに仮想マシン(B)に送られる。
【００４６】
仮想マシン(B)は、ユーザ端末3からの要求に従ってデータベース8にアクセスして仮想マシン(B)のアプリケーションイメージを取得し(S51)、さらに、レイヤ2トンネルを利用してデータベース7にアクセスして、仮想マシン(B)のアプリケーションイメージが使用する各種データ(仮想マシン(B(5))が物理サーバ1上で動作していたときに利用していた各種データ)を取得する(S52)。仮想マシン(B)は、そのアプリケーションイメージに従って各種データを処理し、その処理結果をユーザ端末3に返す。また、処理結果の各種データをレイヤ2トンネルを利用してデータベース7に格納する。
【００４７】
以上、実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々に変形されたものも含む。例えば、上記実施形態では、物理マシン1,2の構成情報がデータベース7,8に格納され、物理マシン1(ハイパーバイザ)がデータベース7から物理マシン2の構成情報を取得するものとしたが、物理マシン1,2の構成情報は、別途、外部の運用管理システムなどに格納しておき、物理マシン1(ハイパーバイザ)が外部から物理マシン2の構成情報を取得するようにしてもよい。
【符号の説明】
【００４８】
1,2・・・物理マシン、3・・・ユーザ端末、4,5,6・・・ルータ、7,8・・・データベース、31,33・・・ネットワークインタフェース、32・・・ハイパーバイザ、34・・・ゲストOS、35・・・アプリケーションイメージ、(1)〜(5),(A)〜(E)・・・仮想マシン
【図１】
0005465046.tif 000002
【図２】
0005465046.tif 000003
【図３】
0005465046.tif 000004
【図４】
0005465046.tif 000005