(57)【特許請求の範囲】
【請求項１】
仮想マシン手段と、移動元通信手段と、移動先通信手段と、前記仮想マシン手段が前記移動元通信手段から前記移動先通信手段に移動する間、前記仮想マシン手段宛てのパケットを保存し、前記移動先通信手段へ保存したパケットを転送する記憶手段と、前記移動元通信手段と前記移動先通信手段とをネットワークを介して接続するスイッチ手段と、を備えるパケット通信システムであって、
前記スイッチ手段は、前記記憶手段を備え、
前記移動元通信手段は、
前記スイッチ手段に前記仮想マシン手段宛てのパケット送信停止通知を送信し、
前記スイッチ手段からパケット送信停止の確認応答を受信し、
前記パケット送信停止の確認応答の受信前に前記スイッチ手段から受信した前記仮想マシン手段宛てのパケットの送信が完了した後、前記仮想マシン手段を停止し、
前記仮想マシン手段を前記移動先通信手段に移動させる移動元移動制御手段を備え、
前記移動先通信手段は、
移動した前記仮想マシン手段を再開し、停止していた前記仮想マシン手段へのパケット送信再開通知を前記スイッチ手段に送信する移動先移動制御手段を備える、
ことを特徴とするパケット通信システム。
【請求項２】
仮想マシン手段と、移動元通信手段と、移動先通信手段と、前記仮想マシン手段が前記移動元通信手段から前記移動先通信手段に移動する間、前記仮想マシン手段宛てのパケットを保存し、前記移動先通信手段へ保存したパケットを転送する記憶手段を備えるとともに前記移動元通信手段と前記移動先通信手段とをネットワークを介して接続するスイッチ手段と、を備えるパケット通信システムで用いられるパケット通信装置であって、
前記パケット通信装置は前記仮想マシン手段と前記移動元通信手段とを備え、
前記移動元通信手段は、
前記スイッチ手段に前記仮想マシン手段宛てのパケット送信停止通知を送信し、
前記スイッチ手段からパケット送信停止の確認応答を受信し、
前記パケット送信停止の確認応答の受信前に前記スイッチ手段から受信した前記仮想マシン手段宛てのパケットの送信が完了した後、前記仮想マシン手段を停止し、
前記仮想マシン手段を前記移動先通信手段に移動させる、移動元移動制御手段を備える、
ことを特徴とするパケット通信装置。
【請求項３】
仮想マシン手段を備える移動元通信手段と、移動先通信手段と、をスイッチ手段を介して接続し、
前記仮想マシン手段が前記移動元通信手段から前記移動先通信手段に移動する間、前記仮想マシン手段宛てのパケットを前記スイッチ手段に保存し、
前記スイッチ手段に前記仮想マシン手段宛てのパケット送信停止通知を送信し、
前記スイッチ手段からパケット送信停止の確認応答を受信し、
前記パケット送信停止の確認応答の受信前に前記スイッチ手段から受信した前記仮想マシン手段宛てのパケットの送信が完了した後、前記仮想マシン手段を停止し、
前記仮想マシン手段を前記移動先通信手段に移動する、
ことを特徴とするパケット通信方法。
【請求項４】
仮想マシン手段と、移動元通信手段と、移動先通信手段と、前記仮想マシン手段が前記移動元通信手段から前記移動先通信手段に移動する間、前記仮想マシン手段宛てのパケットを保存し、前記移動先通信手段へ保存したパケットを転送する記憶手段を備えるとともに前記移動元通信手段と前記移動先通信手段とをネットワークを介して接続するスイッチ手段と、を備えるパケット通信システムで用いられるパケット通信装置のコンピュータに、
前記仮想マシン手段が前記移動元通信手段から前記移動先通信手段に移動する間、前記仮想マシン手段宛てのパケットを前記スイッチ手段に保存する手順、
前記スイッチ手段に前記仮想マシン手段宛てのパケット送信停止通知を送信する手順、
前記スイッチ手段からパケット送信停止の確認応答を受信する手順、
前記パケット送信停止の確認応答の受信前に前記スイッチ手段から受信した前記仮想マシン手段宛てのパケットの送信が完了した後、前記仮想マシン手段を停止する手順、
前記仮想マシン手段を前記移動先通信手段に移動する手順、
を実行させるためのパケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は装置上で実行される仮想マシンを装置間で移動することのできるパケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
この種のパケット通信システムでは、システムのコンピュータを保守点検する際などに、ネットワークを通じて提供するサービスの実行をあるコンピュータから別のコンピュータに移動することにより、サービスの提供が継続される。このようなパケット通信システムの一例が特許文献１、特許文献２及び非特許文献１に記載されている。
特許文献１に記載された仮想装置構成システムは、仮想化環境において仮想装置を異なる物理装置に移動するための構成を備えている。
また、特許文献２に記載されたストレージシステムは、複数のストレージ装置間のデータの移行の際に、移行元のストレージに対するアクセスを止めた状態で、移行先のストレージへのデータの移動を行う。そして、ストレージシステムは、データの移動が完了した後に、ホストの接続先を移行先のストレージに切り替えてアクセスを再開させる。
さらに、非特許文献１に記載されたパケット通信システムは、移動元ホストから移動先ホストにサービスを移動させるための構成を備えている。
以下、図面を参照して、非特許文献１に記載のパケット通信システムについて説明する。
図８を参照すると、非特許文献１に記載のパケット通信システムは、移動元ホスト（移動元通信装置）９と、移動先ホスト（移動先通信装置）１０と、ネットワーク共有記憶装置４と、ネットワークスイッチＡ１と、外部ネットワークＡ２から構成される。
移動元ホスト９は、サービスが移動されるまでサービスを提供する。移動先ホスト１０は、サービスが移動された後に、サービスを引き継ぐ移動先である。ここで、サービス（仮想マシン）の移動とは、移動元ホストで実行されているサービスを移動先ホストに引き継ぎ、移動先ホストにおいて移動元ホストで実行されていたものと同じサービスを実行することのできる状態にすることである。その際、移動元ホストで実行されていたサービスは停止される。
ネットワーク共有記憶装置４は、移動元ホスト９と移動先ホスト１０との共有記憶装置であり、サービスの移動前の仮想マシン１１とサービスの移動後の仮想マシン２１の２次記憶装置の機能を提供するものである。ネットワークスイッチＡ１は、移動元ホスト９と移動先ホスト１０とネットワーク共有記憶装置４とを接続する。また、ネットワークスイッチＡ１は、外部ネットワークＡ２に接続されている。
移動元ホスト９は、仮想マシン１１と、仮想マシンモニタ９１と、計算機ハードウェア９２とから構成される。
計算機ハードウェア９２は、計算を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）１３１と、メモリ１３２と、移動元ホスト９をネットワークスイッチＡ１に接続するネットワークインタフェース９２１から構成される。
仮想マシン１１は、オペレーティングシステムやアプリケーションを含み、サービスを提供する。仮想マシン１１は、コンピュータが提供するサービスを移動元ホスト９から移動先ホスト１０に移す際、移動先ホスト１０に移動する。
仮想マシンモニタ９１は、仮想マシン１１の計算機ハードウェア９２へのアクセスを制御し、仮想マシン１１が移動先ホスト１０に移動する際に、仮想マシン１１に関する情報を移動先ホスト１０に送信する。この仮想マシンモニタ９１は、移動制御部９１１と、転送バッファ１２２と、ダーティメモリ検出部１２１と、ＨＷ（Ｈａｒｄｗａｒｅ、ハードウェア）アクセス制御部１２４から構成される。
転送バッファ１２２は、ＨＷとしてはメモリ１３２上に確保され、移動先ホスト１０に送信するダーティメモリの情報を記憶する。ここで、ダーティメモリとは、仮想マシン１１のデータを移動している間に、仮想マシン１１がメモリ１３２に書き込んだデータのことである。言い換えれば、移動した仮想マシン１１のデータと、仮想マシン１１の移動中に更新されたデータとの差分のことを示しているといえる。ダーティメモリ検出部１２１は、仮想マシン１１が移動している間に新たにメモリ１３２に書き込まれたデータ（ダーティメモリ）を記憶しておくことで、仮想マシン１１の移動中に生じたダーティメモリを検出し、検出したダーティメモリを転送バッファ１２２に書き出す。ＨＷアクセス制御部１２４は、仮想マシン１１の計算機ハードウェア９２へのアクセスの制御を行う。なお、移動制御部９１１の動作については、後述する。
移動先ホスト１０は、仮想マシン２１と、仮想マシンモニタ１０１と、計算機ハードウェア１０２とから構成される。
計算機ハードウェア１０２の構成は、移動元ホスト９が含む計算機ハードウェア９２の構成と同様であり、ＣＰＵ１３１、メモリ１３２、ネットワークインタフェース９２１とがそれぞれＣＰＵ２３１、メモリ２３２、ネットワークインタフェース１０２１とに対応する。
仮想マシン２１は、移動元ホスト９から移動し、サービスを継続する。仮想マシン２１は、仮想マシン１１の移動先ホスト１０への移動が完了し、仮想マシン２１としてサービスを開始するまで停止している。
仮想マシンモニタ１０１は、仮想マシン２１の計算機ハードウェア１０２へのアクセスを制御し、仮想マシン１１が移動元ホスト９から移動先ホスト１０へ移動する際に仮想マシン１１の情報を受信する。この仮想マシンモニタ１０１は、移動する仮想マシン１１に関する情報を受信する移動制御部１０１１と、仮想マシン２１の計算機ハードウェア２３へのアクセスの制御を行う、ＨＷ（ハードウェア）アクセス制御部２２４から構成される。なお、移動制御部１０１１の動作については後述する。
図９のフローチャートを参照して、移動元ホスト９内の移動制御部９１１および移動先ホスト１０内の移動制御部１０１１の動作について説明する。
まず始めに、移動制御部９１１は、仮想マシン１１が移動先ホスト１０へ移動することの通知を受信する（ステップｃ１）。続いて、移動制御部９１１は、一定周期で仮想マシン１１を停止し、ダーティメモリを移動先ホスト１０に送信する（ステップｃ２）。移動制御部９１１は、一定周期の間に送信したダーティメモリのデータ量が、前述の一定周期の間にダーティとなったメモリのデータ量より小さいという条件が満たされるまでステップｃ２を繰り返す（ステップｃ３）。
この条件が満たされたあと、移動制御部９１１は、一定周期で停止している仮想マシン１１の再開を中止する（ステップｃ４）。ここで、移動制御部９１１は、ダーティメモリ検出部１２１に、前回停止時から今回停止時までに仮想マシン１１がメモリ１３２に書き込んだデータ（ダーティメモリ）の検出を指示し、ダーティメモリ検出部１２１に、検出したダーティメモリを転送バッファ１２２に送るように指示を行う。その後、移動制御部９１１は、転送バッファ１２２に記憶された仮想マシン１１のダーティメモリとＣＰＵ１３１のレジスタ情報を移動先ホスト１０の仮想マシンモニタ１０１に送信する（ステップｃ５）。
続いて、移動制御部１０１１は、一定周期毎に移動元ホスト９から移動する仮想マシン１１のダーティメモリの情報を受信し、受信した情報を、仮想マシン２１に割り当てたメモリ２３２上に反映させる。移動制御部１０１１はまた、仮想マシン１１が移動元ホスト９において、移動の最終段階で完全に停止した際のダーティメモリとＣＰＵ１３１のレジスタ情報を受信し、ダーティメモリの情報をメモリ２３２に、レジスタ情報をＣＰＵ２３１のレジスタ情報に反映し、仮想マシン２１によるサービスを開始する（ステップｃ６）。
仮想マシン２１が再開されたあと、移動制御部１０１１はネットワークスイッチＡ１にパケット送信を再開するよう指示し（ステップｃ７）、パケット送受信を開始する（ステップｃ８）。ここで、仮想マシン２１の再開とは、移動先ホスト１０において、移動前と同じ状態でサービスを開始するという動作を示している。
さらに、図１０のフローチャートを参照して、上述した移動制御部９１１のステップｃ２の動作（一定周期で仮想マシン１１を停止し、ダーティメモリを送信）について、詳細に説明する。
移動制御部９１１は、まず一定周期で仮想マシン１１を停止する（ステップｃ２−１）。続いて、移動制御部９１１は、ダーティメモリ検出部１２１に、前回停止時から今回停止時までに仮想マシン１１がメモリ１３２に書き込んだデータの検出を行うよう、指示をする（ステップｃ２−２）。その後、移動制御部９１１は、ダーティメモリ検出部１２１に、ステップｃ２−２において検出したダーティメモリを転送バッファ１２２に書き出すように指示をする（ステップｃ２−３）。その後、移動制御部９１１は仮想マシン１１を再開し（ステップｃ２−４）、転送バッファ１２２に書き出された仮想マシン１１のダーティメモリを移動先ホスト１０に送信して（ステップｃ２−５）、図９のフローチャートにおけるステップｃ２の動作は終了となる。以降、図９におけるステップｃ３の条件を満たすまで、上述の動作を繰り返す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２５５４６号公報（［００２６］〜［００３０］段落）
【特許文献２】特開２００８−１６５３７９号公報（［０００６］段落）
【非特許文献】
【０００４】
【非特許文献１】Ｃ．Ｃｌａｒｋ他著、「Ｌｉｖｅ  Ｍｉｇｒａｔｉｏｎ  ｏｆ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ」、ＮＳＤＩ‘０５：２ｎｄ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｎｅｔｗｏｒｋｅｄ  Ｓｙｓｔｅｍｓ  Ｄｅｓｉｇｎ  ＆  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ、２００５年５月２日〜４日、ｐｐ．２７３−２８６
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したパケット通信システムにおいては、仮想マシンを移動する間に仮想マシンが送受信するパケットが考慮されていなかった。
そのため、仮想マシンを移動する際、仮想マシンを移動元ホストで停止している際に、ネットワークから受信する仮想マシン宛てのパケットが欠落してしまうことがある、という問題点があった。
本発明の目的は、仮想マシンを移動する際に、仮想マシンが送受信するパケットが欠落してしまうことがあるという問題点を解決するための技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明によるパケット通信システムは、仮想マシン手段と、移動元通信手段と、移動先通信手段と、仮想マシン手段が移動元通信手段から移動先通信手段に移動する間、仮想マシン手段宛てのパケットを保存し、移動先通信手段へ保存したパケットを転送する記憶手段と、を備える。
本発明によるスイッチは、仮想マシン手段が、仮想マシン手段を備える移動元通信手段から仮想マシン手段の移動先である移動先通信手段に移動する間、仮想マシン手段宛てのパケットを保存する記憶手段と、移動先通信手段へ保存したパケットを転送する転送制御手段と、を備える。
本発明によるパケット通信装置は、仮想マシン手段と、仮想マシン手段が、自通信装置から前記仮想マシン手段の移動先である他の通信装置に移動する間、仮想マシン手段宛てのパケットを保存する記憶手段と、記憶手段に記憶したパケットを仮想マシン手段に転送する移動元移動制御手段と、を備える。
本発明による他のパケット通信装置は、仮想マシン手段が他の通信装置から自通信装置に移動する間、仮想マシン手段宛てのパケットを保存する記憶手段と、記憶手段に記憶したパケットを仮想マシン手段に転送する移動先移動制手段と、を備える。
本発明によるパケット通信方法は、仮想マシン手段が第一の通信手段から第二の通信手段に移動する間、前記仮想マシン手段宛てのパケットを保存し、第二の通信手段へ保存したパケットを転送する。
本発明によるパケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体は、仮想マシン手段が第一の通信手段から第二の通信手段に移動する間、パケットを保存する記憶手段に仮想マシン手段宛てのパケットを保存する処理と、第二の通信手段へ保存したパケットを転送する処理と、をコンピュータに実行させるためのパケット通信プログラムを記録している。
【発明の効果】
【０００７】
本発明の効果は、プログラムを実行する仮想マシンを異なる通信装置に移動させる際に、仮想マシンが送受信するパケットが欠落しないことにある。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示すフローチャートである。
【図３】本発明の第２の実施の形態の構成を示すブロック図である。
【図４】本発明の第２の実施の形態の動作を示すフローチャートである。
【図５】本発明の第３の実施の形態の構成を示すブロック図である。
【図６】本発明の第３の実施の形態の動作を示すフローチャートである。
【図７】本発明の基本的な構成を示すブロック図である。
【図８】背景技術に記載のパケット通信システムの構成を示すブロック図である。
【図９】背景技術に記載のパケット通信システムの動作を示すフローチャートである。
【図１０】図９のステップｃ２の詳細な動作を示すフローチャートである。
【発明を実施するための最良の形態】
【０００９】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。
＜基本的な構成＞
図７は、本発明を実施するための形態の基本的な構成を示すブロック図である。
図７を参照すると、本発明の基本的な構成は、移動元ホスト１００１（移動元通信装置）と、移動先ホスト１００２（移動先通信装置）と、ネットワークスイッチ１００３と、ネットワーク１００５からなる。
移動元ホスト１００１は、仮想マシン１０１０、仮想マシンモニタ１０１２、計算機ハードウェア１０１３から構成される。移動元ホスト１００１は、仮想マシン１０１０の移動に伴うサービスの移動前に、サービスを提供する。
仮想マシン１０１０は、オペレーティングシステムやアプリケーションを含み、サービスを提供する。仮想マシンモニタ１０１２は、仮想マシン１０１０の計算機ハードウェア１０１３へのアクセスを制御し、仮想マシン１０１０が移動先ホスト１００２に移動する際には仮想マシン１０１０に関する情報を送信する移動制御部１１２３を含む。
移動先ホスト１００２は、仮想マシンの移動後にサービスを引き継ぐ移動先である。
移動元ホスト１００１内の仮想マシン１０１０が移動先ホスト１００２へ移動すると、仮想マシン１０２１が、仮想マシン１０１０が提供していたサービスを継続する。仮想マシン１０２１は、仮想マシン１０１０の移動先ホスト１００２への移動が完了し、仮想マシン１０２１としてサービスを開始するまで停止している。
仮想マシンモニタ１０２２は、移動制御部１２２１を含む。移動制御部１２２１は、仮想マシン１０２１が移動元ホスト１００１から移動先ホスト１００２に移動する場合に仮想マシン１０１０の情報を受信する。そして、移動制御部１２２１は、受信が完了した後仮想マシン１０２１を再開し、ネットワークスイッチ１００３の仮想マシン１０２１へのパケット送信のタイミングを制御する。
ネットワークスイッチ１００３は、移動元ホスト１００１と、移動先ホスト１００２とを接続し、パケットの転送を行う。また、ネットワークスイッチ１００３はネットワーク１００５に接続している。
さらに、ネットワーク１００５から受信する、仮想マシン１０１０及び仮想マシン１０２１宛てのパケットを一時的に保存するパケットバッファ１１１１（記憶部）が存在する。
このパケットバッファ１１１１はどこに設けられても良い。例えば移動元ホスト１００１内、移動先ホスト１００２内、またはネットワークスイッチ１００３内の少なくともいずれか１箇所にパケットバッファ１１１１を設けてもよい。図７においては、移動元ホスト１００１の仮想マシンモニタ１０１２内、移動先ホスト１００２の仮想マシンモニタ１０２２内及びネットワークスイッチ１００３内に、パケットバッファ１１１１が図示されている。
以下、第１の実施の形態では、パケットバッファがネットワークスイッチ内にある場合、第２の実施の形態では、パケットバッファが移動元ホスト内にある場合、第３の実施の形態では、パケットバッファが移動先ホスト内にある場合、の構成と動作についてそれぞれ詳細に説明する。
＜第１の実施の形態＞
＜構成＞
図１は、本発明を実施するための第１の実施の形態の構成を示すブロック図である。
図１を参照すると、本発明の第１の実施の形態は、移動元ホスト１と、移動先ホスト２と、ネットワークスイッチ３と、ネットワーク共有記憶装置４と、ネットワーク５とから構成される。
移動元ホスト１は、仮想マシンの移動に伴いサービスが移動するまで、サービスを提供する。移動先ホスト２は、仮想マシンの移動に伴いサービスを引き継ぐ移動先である。ネットワークスイッチ３は、移動元ホスト１と、移動先ホスト２と、ネットワーク共有記憶装置４とを接続し、パケットの転送を行う。また、ネットワークスイッチ３は、ネットワーク５に接続している。ネットワーク共有記憶装置４は、移動元ホスト１と移動先ホスト２との共有記憶装置である。
移動元ホスト１は、仮想マシン１１と、仮想マシンモニタ１２と、計算機ハードウェア１３とから構成される。
計算機ハードウェア１３は、計算を行うＣＰＵ１３１と、メモリ１３２と、移動元ホスト１とネットワークスイッチ３とを接続するネットワークインタフェース１３３等から構成される。なお、ＣＰＵ１３１と、メモリ１３２は、図８のＣＰＵ１３１、メモリ１３２と同様のものである。
仮想マシン１１は、オペレーティングシステムやアプリケーションを含み、サービスを提供する。
仮想マシンモニタ１２は、仮想マシン１１の計算機ハードウェア１３へのアクセスを制御する。そして、仮想マシンモニタ１２は、仮想マシン１１が移動先ホスト２に移動する際には仮想マシン１１に関する情報を移動先ホスト２に送信し、ネットワークスイッチ３が仮想マシン１１に送信するパケットの切り替えのタイミングを制御する。この仮想マシンモニタ１２は、移動制御部１２３と、転送バッファ１２２と、ダーティメモリ検出部１２１から構成される。
転送バッファ１２２は、メモリ１３２上に確保され、移動先ホスト１０に送信するダーティメモリの情報を記憶する。ダーティメモリ検出部１２１は、仮想マシン１１がメモリ１３２に書き込んだデータを検出し、検出したデータを転送バッファ１２２に書き出す。移動制御部１２３は、仮想マシン１１が移動先ホスト２へ移動することの通知を受信し、仮想マシン１１のダーティメモリを移動先ホスト２に送信する。なお、移動制御部１２３の詳しい動作については、後述する。
ネットワークスイッチ３は、パケット転送制御部３１と、パケットバッファ３２から構成され、ネットワーク５に対しパケット転送の機能を提供する。
パケットバッファ３２は、一時的にパケットを記憶する。パケットの記憶を開始する時期は、パケット転送制御部３１が移動元ホスト１内の移動制御部１２３から仮想マシン１１宛てのパケット送信停止通知を受信した時点である。そして、パケットの記憶を終了する時期は、移動先ホスト２内に移動された仮想マシン１１の稼働状態によって仮想マシン２１が稼働を再開し、仮想マシン２１宛てのパケット送信再開通知をパケット転送制御部３１が受信した時点である。なお、パケット転送制御部３１の詳しい動作については、後述する。
移動先ホスト２は、仮想マシン２１と、計算機ハードウェア２３と、仮想マシンモニタ２２とから構成される。
計算機ハードウェア２３の構成は、移動元ホスト１が含む計算機ハードウェア１３の構成と同様であり、ＣＰＵ２３１、メモリ２３２、ネットワークインタフェース２３３等から構成される。
仮想マシン２１は、仮想マシン１１でのサービスが仮想マシン２１に引き継がれる、つまり移動元ホスト１内の仮想マシン１１の移動先ホスト２内への移動が完了すると、仮想マシン２１は、サービスを開始する。
仮想マシンモニタ２２は、移動制御部２２１を含む。移動制御部２２１は、仮想マシン２３が移動元ホスト１から移動先ホスト２に移動する場合に仮想マシン１１の情報を受信する。そして、移動制御部２２１は、仮想マシン１１の情報の受信が完了した後仮想マシン２３を再開し、ネットワークスイッチ３の仮想マシン２１へのパケット送信のタイミングを制御する。なお、移動制御部２１１の動作については後述する。
＜動作＞
次に、図２のフローチャートを参照して本発明を実施するための第１の実施の形態の動作を説明する。以下においては、特に移動元ホスト１の移動制御部１２３、移動先ホスト２の移動制御部２２１、ネットワークスイッチ３内のパケット転送制御部３１の動作を中心に詳細に説明する。
まず始めに、移動元ホスト１の移動制御部１２３は、仮想マシン１１の移動先ホスト２への移動の通知を受信する（ステップａ１）。
続いて、移動制御部１２３は、一定周期ごとに仮想マシン１１を停止し、ダーティメモリを移動先ホスト２に送信する（ステップａ２）。なお、ステップａ２の動作は、すでに説明した図１０のフローチャートにおけるステップｃ２と同様であるため、ここでは図１０のフローチャートを参照して説明する。
移動制御部１２３は、まず一定周期で仮想マシン１１を停止する（ステップｃ２−１）。続いて、移動制御部１２３は、ダーティメモリ検出部１２１に、前回停止時から今回停止時までに仮想マシン１１がメモリ１３２に書き込んだデータ（ダーティメモリ）の検出を行うよう、指示をする（ステップｃ２−２）。その後、移動制御部１２３は、ダーティメモリ検出部１２１に、ステップｃ２−２において検出したデータを転送バッファ１２２に書き出すように指示をする（ステップｃ２−３）。その後、移動制御部１２３は仮想マシン１１を再開し（ステップｃ２−４）、転送バッファ１２２に書き出された仮想マシン１１のダーティメモリを移動先ホスト２に送信して（ステップｃ２−５）、ステップｃ２の動作は終了となる。以降、図２のフローチャートにおけるステップａ３の条件を満たすまで、上述の動作を繰り返す。
移動制御部１２３は、ステップａ２を一定周期の間に送信したダーティメモリのデータ量が、同じ周期の間にダーティとなったメモリのデータ量より小さいという条件を満たすまで繰り返す（ステップａ３）。ここまでの動作は、図９のステップｃ１〜ｃ３と同様である。
ステップａ３の条件が満たされた後、移動制御部１２３は、ネットワークスイッチ３に仮想マシン１１宛てのパケットの送信を停止するよう通知する（ステップａ４）。ネットワークスイッチ３内のパケット転送制御部３１は、仮想マシン１１宛てのパケットの送信停止の通知を受信し、パケット送信を停止し、移動元ホスト１に確認応答を送信する（ステップａ５）。また、パケットバッファ３２は、パケット転送制御部３１が仮想マシン１１宛てのパケットの送信停止の通知を受信した時点から、ネットワーク５から受信する仮想マシン１１宛てのパケットの記憶を開始する。移動制御部１２３は、仮想マシン１１宛てのパケット送信の停止の確認応答を受信し、確認応答の受信前にネットワークスイッチ３から受信したネットワークパケットの仮想マシン１１への送信の完了を待ち、パケットの送信が完了した後仮想マシン１１の動作を停止する（ステップａ６）。続いてパケット転送制御部３１は、仮想マシン１１の前回停止時から最終的に仮想マシン１１を停止した段階までにダーティとなったメモリ情報とＣＰＵ１３１のレジスタ情報を移動先ホスト２に送信する（ステップａ７）。
その後、移動先ホスト２内の移動制御部２２１は、移動元ホスト１が仮想マシン１１の実行を停止し、移動元ホスト１から仮想マシン１１のダーティメモリとＣＰＵ１３１のレジスタ情報を受信する。これらが完了した後、移動制御部２２１は、移動元ホスト１で稼働していた仮想マシン１１の稼働状態を仮想マシン２１が引き継ぐように、仮想マシン２１の稼働を再開させる（ステップａ８）。続いてパケット転送制御部３１は、ネットワークスイッチ３に仮想マシン２１宛てのパケットの送信を再開するよう通知する（ステップａ９）。パケット転送制御部３１は、仮想マシン２１宛てのパケットの送信再開の通知を受信し、パケットバッファ３２に記憶されていたパケットを、記憶した順に仮想マシン２１に送信する。そして、パケット転送制御部３１は、続いてネットワーク５から新たに受信する仮想マシン２１宛てのパケットの転送を開始する（ステップａ１０）。なお、パケットバッファ３２は、パケット転送制御部３１が仮想マシン２１宛てのパケットの送信再開通知を受信するまでの間、ネットワーク５から受信する仮想マシン２１宛てのパケットを記憶する。以上が本実施の形態において仮想マシン１１が移動元ホスト１から移動先ホスト２に移動する際の一連の動作である。
なお、本実施の形態では、仮想マシン１１を一定周期で停止し、ダーティメモリを移動先ホスト２に送信する段階（ステップａ２）から、仮想マシン１１を完全に停止し、ダーティメモリとＣＰＵ１３１のレジスタ情報を移動先ホスト２に送信する段階（ステップａ４以降）への移行において、一定周期の間に送信したダーティメモリのデータ量が、前述の一定周期の間にダーティとなったメモリのデータ量より小さくなることをその条件とした（ステップａ３）。
しかし、両段階の移行の条件はこれに限るものではなく、例えばタイマのタイムアウトや一定周期で繰り返し行っているダーティメモリの送信回数などに設定することも可能である。
また、ステップａ２からステップａ４に移行する際、本実施の形態においては、上述の条件を満たすまでステップａ２とステップａ３を繰り返しているが、必ずしも反復する必要はない。実際には反復させることが多いが、ステップａ２とステップａ３とをそれぞれ１回ずつ行う構成にしても良い。
＜効果＞
次に、第１の実施の形態の効果について説明する。
第１の実施の形態では、仮想マシンを停止して移動する前に、仮想マシン宛てのパケット送信を停止する。そして、ネットワークスイッチ内のパケットバッファは、パケット転送制御部がパケット送信停止通知を受信した後、パケット転送制御部が移動した仮想マシン宛てのパケット送信再開通知を受信するまでの間にネットワークから受信した仮想マシン宛てのパケットを、一時的に保存する。
このように、第１の実施の形態では、ネットワークスイッチは、仮想マシンの移動中に受信した仮想マシン宛てのパケットを、パケットバッファに一時的に保存する。そして、ネットワークスイッチは、仮想マシンの移動後に保存したパケットの送信を再開する。これによって、第１の実施の形態においては、仮想マシンの移動中に仮想マシン宛てのパケットが欠落することが防止される。
したがって、第１の実施の形態は、仮想マシンを移動元ホストから移動先ホストに移動している間に、仮想マシンが送受信するパケットを欠落することなく仮想マシンを移動することができるという第１の効果を奏する。
第１の実施の形態の第２の効果は、仮想マシン内で動作する既存のプログラムを変更することなく、パケット欠落防止の機能を実現することができることである。
その理由は、第１の実施の形態は、仮想マシンモニタのレイヤにおいて、ネットワークスイッチを経由するパケットの送受信が制御されているからである。すなわち、パケットの欠落を防止する機能は、仮想マシンのプログラムに依存することなく実現されているからである。
なお、仮想マシン１１と、移動元ホスト１と、移動先ホスト２と、パケットバッファ３２と、のみからなる最小構成の通信システムも、第１の実施形態の効果を奏する。すなわち、最小構成の通信システムにおいて、パケットバッファ３２は、仮想マシン１１が、移動元ホスト１から移動先ホスト２に移動する間、仮想マシン１１宛てのパケットを保存する。そして、仮想マシン１１が移動先ホスト２へ移動すると、パケットバッファ３２は、保存したパケットを移動先ホスト２へ転送する。
その結果、最小構成の通信システムにおいても、仮想マシンの移動中に、仮想マシンが送受信するパケットを欠落させることなく仮想マシンを移動することができるという第１の実施形態の第１の効果と同様の効果を奏する。
また、上記の最小構成の通信システムは、仮想マシンモニタのレイヤにおいて、パケットの送受信を制御する。その結果、最小構成の通信システムは、仮想マシン内で動作する既存のプログラムを変更することなく、パケット欠落防止の機能を実現するという上記の第１の実施形態の第２の効果と同様の効果を奏する。
さらに、第１の実施形態で説明したスイッチは、仮想マシンが、移動元ホストから移動先ホストに移動する間、仮想マシン宛てのパケットを保存するパケットバッファ３２と、移動先通信装置へ保存したパケットを転送するパケット転送制御部３１と、を備える。
このような構成を備えた第１の実施形態で説明したスイッチは、仮想マシン１１が移動元ホスト１から移動先ホスト２に移動する間、仮想マシン１１宛てのパケットを保存する。そして、仮想マシン１１が移動先ホスト２へ移動すると、パケットバッファ３２は、保存したパケットを移動先ホスト２へ転送する。
その結果、第１の実施形態で説明したスイッチは、仮想マシンの移動中に、仮想マシンが送受信するパケットを欠落させることなく仮想マシンを移動することができるという第１の実施形態の第１の効果と同様の効果を奏する。
また、第１の実施形態で説明したスイッチは、仮想マシン内で動作する既存のプログラムに依存することなく、パケットの送受信を制御する。その結果、最小構成の通信システムは、仮想マシン内で動作する既存のプログラムを変更することなく、パケット欠落防止の機能を実現するという上記の第１の実施形態の第２の効果と同様の効果を奏する。
＜第２の実施の形態＞
次に、本発明を実施するための第２の実施の形態について図面を参照して詳細に説明する。
＜構成＞
図３は、本発明の第２の実施の形態の構成を示すブロック図である。図３に示される第２の実施の形態の構成は、第１の実施の形態と比較して、パケットバッファの位置のみが異なっている。第１の実施の形態においては、パケットバッファ３２はネットワークスイッチ３内にあった（図１）。一方、第２の実施の形態では、図３を参照すると、ネットワークスイッチ３内のパケットバッファ３２−２に加え、移動元ホスト１がパケットバッファ８００を有するという構成になっている。
移動元ホスト１内に設けられたパケットバッファ８００は、仮想マシン１１が停止した後から、仮想マシンが移動後、仮想マシン２１として再開するまでの間、ネットワーク５から受信する仮想マシン１１宛てのパケットを保存する。
ネットワークスイッチ３内のパケットバッファ３２−２は、仮想マシン１１が移動後に仮想マシン２１として再開した後、仮想マシン２１がパケットの送受信を再開するまでの間、ネットワーク５から受信する仮想マシン１１宛てのパケットを保存する。
その他の構成については、第１の実施の形態と同じであるので、詳細な説明は省略する。
また、ここではパケットバッファ３２−２がネットワークスイッチ３内にある構成について説明したが、移動先ホスト２内にパケットバッファ３２−２が設けられている構成としても良い。
＜動作＞
次に、図４のフローチャートを参照して第２の実施の形態について説明する。図４を参照すると、第２の実施の形態の動作は、第１の実施の形態の動作（図２）と比較して、ステップａ４とステップａ５を含まない点、ステップａ６の動作が異なる（ステップａ６−２として図４に図示）点と、ステップａ１１、ステップａ１２が新たに追加された点とが異なっている。ここでは、第１の実施の形態の動作との差分を中心に説明する。
第１の実施の形態においては、ネットワークスイッチ３内のパケット転送制御部３１が、図２のステップａ５の後にネットワーク５から受信する仮想マシン１１宛てのパケットをネットワークスイッチ３内のパケットバッファ３２に保存していた。
しかし、第２の実施の形態では、パケットバッファ８００が移動元ホスト１に設けられているため、ステップａ４、ステップａ５が不要となり、ステップａ１１とステップａ１２が新たに追加されている。
ステップａ４、ａ５はそれぞれ、移動元ホスト２の移動制御部２２１が、ネットワークスイッチ３にパケット送信停止を通知し（ステップａ４）、パケット転送制御部３１が、パケット送信を停止し、移動元ホスト１に確認応答を送信する（ステップａ５）というものであった。第２の実施の形態では、パケットバッファ８００が移動元ホスト１内に設けられているため、ステップａ４及びステップａ５における移動元ホスト１とネットワークスイッチ３との間で通信を行う必要性がない。したがって、第２の実施の形態においては、ステップａ４とステップａ５は削除されている。
また、第１の実施の形態と比較して、第２の実施の形態ではステップａ６に変更が加えられ、ステップａ６−２となっている。第１の実施の形態のステップａ６は、移動制御部１２３が仮想マシン１１を停止するという動作だけであった。一方、ステップａ６−２では、移動制御部１２３が仮想マシン１１を停止すると同時に、パケットバッファ８００は、ネットワーク５から受信する仮想マシン１１宛てのパケットの保存を開始する。
続いて、ステップａ１１とステップａ１２の動作について説明する。ステップａ１１とステップａ１２は、移動制御部２２１が仮想マシン２１を再開するステップａ８の後に行われる。ステップａ８で移動制御部２２１が仮想マシン２１を再開した後、移動制御部２２１は、移動元ホスト１内のパケットバッファ８００に保存したパケットを移動先ホスト２の仮想マシン２１へ送信するよう、ネットワークスイッチ３を経由して移動元ホスト１へ通知する（ステップａ１１）。パケットバッファ８００への仮想マシン１１宛てのパケットの保存は、この時点で終了する。
ステップａ１１に続いて、ネットワークスイッチ３は、ネットワークスイッチ３内のパケットバッファ３２−２にネットワーク５から受信する仮想マシン２１宛てのパケットの保存を開始する（ステップａ１２）。なお、パケットバッファ３２−２への仮想マシン２１宛てのパケットの保存は、ステップａ１０において、移動制御部２２１がパケット送受信を再開するまでの間に行われる。
上記以外の動作については、第１の実施の形態とほぼ同様であるため、詳細な説明は省略する。
なお、上記の構成の欄において、パケットバッファ３２−２がネットワークスイッチ３内に限らず、移動先ホスト２にあっても良いという構成を示したが、そのような構成であっても、動作の変更は１点のみである。ステップａ９においては、パケット転送制御部３１がネットワークスイッチ３にパケット送信再開を指示していた。しかし、パケットバッファ３２−２が移動先ホスト２にある構成においては、パケット転送制御部３１は、ネットワークスイッチ３にパケット送信再開の指示を出すのではなく、移動先ホスト２内の移動制御部２２１に指示を出す。その他の動作については変更なく実施することが可能である。
＜効果＞
次に、第２の実施の形態の効果について説明する。
第２の実施の形態では、移動元ホスト内とネットワークスイッチ内のそれぞれにパケットバッファを設けている。移動元ホスト内に設けられたパケットバッファには、仮想マシンが停止した後から、仮想マシンが移動して再開するまでの間、ネットワークから受信する仮想マシン宛てのパケットを保存しておく。ネットワークスイッチ内のパケットバッファには、仮想マシンが移動して再開した後、仮想マシンがパケットの送受信を再開するまでの間、ネットワークから受信する仮想マシン宛てのパケットを保存しておく。
このように、仮想マシンの移動中に受信した仮想マシン宛てのパケットを、パケットバッファに一時的に保存しておき、仮想マシンの移動後に保存したパケットの送信を再開することによって、仮想マシンの移動中に仮想マシン宛てのパケットが欠落することを防いでいる。
したがって、第２の実施の形態によれば、仮想マシンを移動元ホストから移動先ホストに移動している間に、仮想マシンが送受信するパケットを欠落することなく仮想マシンを移動することができる。
第２の実施の形態のさらに別の効果は、第１の実施の形態と同様に、仮想マシン内で動作する既存のプログラムを変更することなく、パケット欠落防止の機能を実現することができることである。
その理由は、第２の実施の形態は、仮想マシンモニタのレイヤにおいて、ネットワークスイッチを経由するパケットの送受信が制御されているからである。すなわち、パケットの欠落を防止する機能は、仮想マシンのプログラムに依存することなく実現されているからである。
＜第３の実施の形態＞
次に、本発明を実施するための第３の実施の形態について図面を参照して詳細に説明する。
＜構成＞
図５は、本発明の第３の実施の形態の構成を示すブロック図である。
図５を参照すると、第３の実施の形態の構成は、図１に示した第１の実施の形態の横成と比較して、移動元ホスト６内の仮想マシンモニタ１２に換えて仮想マシンモニタ６１、移動先ホスト７内の仮想マシンモニタ２２に換えて仮想マシンモニタ７１、ネットワークスイッチ８内のパケット転送制御部３１に換えてパケット転送制御部８１を含む点で異なる。また、仮想マシンモニタ６１内の移動制御部６１１および仮想マシンモニタ７１内の移動制御部７１１については、第１の実施の形態と比較してその動作が異なっている。
また、第１の実施の形態の構成（図１）と比較すると、第３の実施の形態の構成（図５）では、ネットワークスイッチ３内にあったパケットバッファ３２がなく、移動先ホスト７内にパケットバッファ７１２が設けられているという点で異なっている。
移動先ホスト７内に設けられたパケットバッファ７１２は、仮想マシン１１が完全に停止した後にネットワーク５から受信した仮想マシン１１宛てのパケットの保存を開始する。パケットバッファ７１２は、仮想マシン１１が移動先ホスト７で仮想マシン２１としてパケットの送受信を再開するまでの間、ネットワーク５から受信する仮想マシン１１宛てのパケットを保存する。仮想マシン１１が移動先ホスト７で仮想マシン２１として再開し、ネットワーク５から受信する仮想マシン宛てのパケットの宛先が仮想マシン１１から仮想マシン２１へと切り替わった後、パケットバッファ７１２は、仮想マシン１１宛てのパケットの保存を終了する。その後、移動元ホスト６から転送されたパケットから順に仮想マシンへのパケット送信が再開される。
その他の構成は、第１の実施の形態と同様であるので、詳細な説明は省略する。
＜動作＞
次に、図６のフローチャートを参照して本発明を実施するための第３の実施の形態の動作を説明する。以下では、特に移動元ホスト６の移動制御部１２３、移動先ホスト７の移動制御部７１１、ネットワークスイッチ８内のパケット転送制御部８１の動作を中心に詳細に説明する。
図６のフローチャートを参照すると、本発明を実施するための第３の実施の形態は、ステップｂ１〜ｂ５を含む点で第１の実施の形態（図２）と異なっている。
まず始めに、移動元ホスト６の移動制御部６１１は、仮想マシン１１の移動先ホスト７への移動の通知を受信する（ステップａ１）。続いて、移動制御部６１１は、仮想マシン１１を一定周期毎に停止し、ダーティメモリの情報を移動先ホスト７に送信する（ステップａ２）。なお、第１の実施の形態と同様に、ステップａ２の動作は、上述のステップｃ２の動作（図９、図１０）と同様であるので、詳細の説明は省略する。ステップａ２の後、移動制御部６１１は、ステップａ２を一定周期の間に送信したダーティメモリのデータ量が、同じ周期の間にダーティとなったメモリのデータ量より小さいという条件を満たすまで繰り返す（ステップａ３）。ここまでの動作は、図９のステップｃ１〜ｃ３、図２（第１の実施の形態）のステップａ１〜ａ３と同様である。
次に、移動制御部６１１は、仮想マシン１１を停止する（ステップｂ１）。また、仮想マシン１１が停止した後、移動先ホスト内７のパケットバッファ７１２は、ネットワーク５から受信した仮想マシン１１宛てのパケットの保存を開始する。
第３の実施の形態においては、ステップｂ１以降、（１）ステップａ７〜ａ８と、（２）ステップｂ２〜ｂ４とが並行して行われる。しかし、（１）と（２）の処理は必ずしも並行処理である必要はない。ステップａ８とステップｂ４の両方の処理が終了した後、ステップｂ５へと移行する構成であれば、どちらかが先に行われ、その後にもう一方の処理が行われる構成でも良い。
移動制御部６１１は、ダーティメモリ検出部１２１に、前回停止時から今回停止時までに仮想マシン１１がメモリ１３２に書き込んだデータ（ダーティメモリ）の検出を指示する。そして、移動制御部６１１は、ダーティメモリ検出部１２１に、検出したダーテイメモリを転送バッファ１２２に送るように指示する。その後、移動制御部６１１は、転送バッファ１２２に記憶されたダーティメモリとＣＰＵ１３１のレジスタ情報とを移動先ホスト７に送信する（ステップａ７）。続いて、移動先ホスト７の移動制御部７１１は、移動元ホスト６が仮想マシン１１の実行を停止し、移動元ホスト６から仮想マシン１１のダーティメモリとＣＰＵ１３１のレジスタ情報の受信を完了した後、移動前は仮想マシン１１であった仮想マシンを仮想マシン２１として再開する（ステップａ８）。
ステップａ７とａ８とに並行して、以下に説明するステップｂ２〜ｂ４が行われる。移動制御部６１１は、仮想マシン１１の停止（ステップｂ１）の後、ネットワークスイッチ８に仮想マシン１１宛てのパケットの送信を移動先ホスト７に切り替えるよう通知する（ステップｂ２）。ステップｂ２以降、移動先ホスト７に送信される仮想マシン１１宛てのパケットは、仮想マシン１１が移動先ホスト７に移動し、仮想マシン２１として実行を開始するまで移動制御部７１１によって仮想マシンモニタ７１内のパケットバッファ７１２に記憶される。移動制御部６１１は、仮想マシン１１を停止した後、ネットワークスイッチ８から受信した仮想マシン１１宛てのパケットを移動先ホスト７に転送する（ステップｂ３）。続いて、移動制御部６１１は、ネットワークスイッチ８から仮想マシン１１宛てのパケット送信を移動先ホスト７に切り替えた旨の確認応答を受信し、移動先ホスト７に仮想マシン１１宛てのパケットの転送が完了したことを通知する（ステップｂ４）。
以上ステップａ７〜ａ８およびステップｂ２〜ｂ４の並行処理が終了した後、パケットバッファ７１２は、ネットワーク５から仮想マシン１１宛てに受信するパケットの保存を終了する。移動制御部７１１は、移動元ホスト６から仮想マシン１１宛てのパケットの転送が完了した通知（ステップｂ４）を受信すると、実行を開始した仮想マシン２１（ステップａ８）に対し、仮想マシンモニタ７１のパケットバッファ７１２に記憶されているパケットを転送する。ここで、まず移動元ホスト６から転送されたパケットが仮想マシン２１に転送され、次にネットワークスイッチ８から受信したパケットが仮想マシン２１に転送される（ステップｂ５）。続いて移動制御部７１１は、ネットワークスイッチ８と仮想マシン２１の間のパケットの送受信を開始する（ステップａ１０）。以上が本実施の形態において仮想マシン１１が移動元ホスト６から移動先ホスト７に移動する際の一連の動作である。
なお、本実施の形態では、仮想マシン１１を一定周期で停止し、ダーティメモリを移動先ホスト７に送信する段階から、仮想マシン１１を完全に停止し、ダーティメモリとＣＰＵ１３１のレジスタ情報を移動先ホスト７に送信する段階への移行において、一定周期の間に送信したダーティメモリのデータ量が、同じ周期の間にダーティとなったメモリのデータ量より小さくなることをその条件とした（ステップａ３）。しかし、両段階の移行の条件は第１の実施の形態と同様にこれに限るものではなく、例えばタイマのタイムアウトや一定周期で繰り返し行っているダーティメモリの送信回数などに設定することも可能である。
＜効果＞
次に、第３の実施の形態の効果について説明する。
第３の実施の形態では、移動先ホスト内に設けられたパケットバッファは、仮想マシンが完全に停止した後にネットワークから受信した仮想マシン宛てのパケットの保存を開始する。パケットバッファは、仮想マシンが移動先ホストでパケットの送受信を再開するまでの間、ネットワークから受信する仮想マシン宛てのパケットを保存する。仮想マシンが移動先ホストで仮想マシンとして再開し、ネットワークから受信する仮想マシン宛てのパケットの宛先が切り替わった後、パケットバッファは、仮想マシン宛てのパケットの保存を終了する。その後、移動元ホストから転送されたパケットから順に仮想マシンへのパケット送信が再開される。
このように、仮想マシンの移動中に受信した仮想マシン宛てのパケットを、パケットバッファに一時的に保存しておき、仮想マシンの移動後に保存したパケットの送信を再開することによって、仮想マシンの移動中に仮想マシン宛てのパケットが欠落することを防いでいる。
したがって、第３の実施の形態によれば、ネットワークスイッチが仮想マシン移動に対応するパケットバッファを保持せず、パケット送信先の切り替えだけを行う場合でも、仮想マシンを移動元ホストから移動先ホストに移動している間に、仮想マシンが送受信するパケットを欠落することなく仮想マシンを移動することができる。
第３の実施の形態のさらに別の効果は、第１及び第２の実施の形態と同様に、仮想マシン内で動作する既存のプログラムを変更することなく、パケット欠落防止の機能を実現することができることである。
その理由は、第３の実施の形態は、仮想マシンモニタのレイヤにおいて、ネットワークスイッチを経由するパケットの送受信が制御されているからである。すなわち、パケットの欠落を防止する機能は、仮想マシンのプログラムに依存することなく実現されているからである。
上述した第１、第２の実施の形態において、ネットワークスイッチ内に設けられたパケットバッファには、所定の期間のみ、ネットワークから受信した仮想マシン宛てのパケットを保存することを記載したが、本発明の構成は上述のような構成に限定されるものではない。ネットワークスイッチが仮想マシン宛てのパケットを受信した場合、必ずネットワークスイッチ内のパケットバッファを通して転送が行われるという構成も考えられる。
なお、上述した第１、第２、第３の実施の形態である移動元ホスト、移動先ホスト及びネットワークスイッチは、ハードウェア、ソフトウェア、またはその組み合わせによって実現され得るものである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２００９年４月２４日に出願された日本出願特願２００９−１０５７９０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００１０】
１、６、９、１００１  移動元ホスト
２、７、１０、１００２  移動先ホスト
３、８、Ａ１、１００３  ネットワークスイッチ
４  ネットワーク共有記憶装置
５、１００５  ネットワーク
Ａ２  外部ネットワーク
１１、２１、１０１０、１０２１  仮想マシン
１２、２２、６１、７１、９１、１０１、１０１２、１０２２  仮想マシンモニタ
１３、２３、１０１３、１０２３  計算機ハードウェア
３１、８１、１０３１  パケット転送制御部
３２、７１２、８００  パケットバッファ
１２１  ダーティメモリ検出部
１２２  転送バッファ
１２３、２２１、６１１、７１１、９１１、１０１１、１１２３、１２２１  移動制御部
１２４、２２４  ＨＷ（ハードウェア）アクセス制御部
１３１、２３１  ＣＰＵ
１３２、２３２  メモリ
１３３、２３３、９２１、１０２１  ネットワークインタフェース
【図１】
0005617839.tif 000002
【図２】
0005617839.tif 000003
【図３】
0005617839.tif 000004
【図４】
0005617839.tif 000005
【図５】
0005617839.tif 000006
【図６】
0005617839.tif 000007
【図７】
0005617839.tif 000008
【図８】
0005617839.tif 000009
【図９】
0005617839.tif 000010
【図１０】
0005617839.tif 000011