(57)【要約】【課題】第１ディスクを使用する第１計算機の動作環境を、第２ディスクを使用する第２計算機に移動させる際に、業務の中断時間を短縮することができる技術を提供すること。【解決手段】本発明に係る動作環境移動方法は、（Ａ）第１計算機１００の動作を中断するステップと、（Ｂ）上記（Ａ）ステップの後、第１ディスク１１０上のコピーイメージＣＩに含まれるファイルのリストＣＬを作成するステップと、（Ｃ）上記（Ａ）ステップの後、第１計算機１００の実行コンテキストＥＣを、第２計算機２００にコピーするステップと、（Ｄ）上記（Ｂ）及び（Ｃ）ステップの後、第２計算機２００において上記動作を再開させるステップと、（Ｅ）上記（Ｄ）ステップの後、上記リストＣＬを参照して、コピーイメージＣＩを第１ディスク１１０から第２ディスク（２１０）にコピーするステップと、を有する。【選択図】図４
2008033483.tif 000002
【特許請求の範囲】
【請求項１】
第１ディスクを使用する第１計算機の動作環境を、第２ディスクを使用する第２計算機に移動させる動作環境移動方法であって、
（Ａ）前記第１計算機の動作を中断するステップと、
（Ｂ）前記（Ａ）ステップの後、前記第１ディスクのディスクイメージの少なくとも一部であるコピーイメージに含まれるファイルのリストを作成するステップと、
（Ｃ）前記（Ａ）ステップの後、前記第１計算機の実行コンテキストを、前記第２計算機にコピーするステップと、
（Ｄ）前記（Ｂ）、（Ｃ）ステップの後、前記第２計算機において前記動作を再開させるステップと、
（Ｅ）前記（Ｄ）ステップの後、前記リストを参照して、前記コピーイメージを前記第１ディスクから前記第２ディスクにコピーするステップと
を有する
動作環境移動方法。
【請求項２】
請求項１に記載の動作環境移動方法であって、
前記コピーイメージは、前記ディスクイメージの全てである
動作環境移動方法。
【請求項３】
請求項１に記載の動作環境移動方法であって、
更に、（Ｆ）前記（Ａ）ステップより前に、前記ディスクイメージの一部をベースイメージとして前記第２計算機に配布するステップを有し、
前記コピーイメージは、前記ディスクイメージと前記ベースイメージとの差分である
動作環境移動方法。
【請求項４】
請求項３に記載の動作環境移動方法であって、
前記（Ｆ）ステップは、
（Ｆ１）前記（Ａ）ステップより前のあるタイミングで、前記ベースイメージを作成するステップと
（Ｆ２）前記作成されたベースイメージを前記第２計算機に配布するステップと
を含み、
前記（Ｂ）ステップにおいて、前記リストは、前記（Ｆ１）ステップから前記（Ａ）ステップまでの間のファイルの変更情報を示すログファイルに基づいて作成される
動作環境移動方法。
【請求項５】
請求項４に記載の動作環境移動方法であって、
前記あるタイミングは、前記第１計算機におけるＯＳのインストール直後である
動作環境移動方法。
【請求項６】
請求項１乃至５のいずれかに記載の動作環境移動方法であって、
前記（Ｂ）ステップにおいて、前記作成されたリストは、前記第２ディスクに格納される
動作環境移動方法。
【請求項７】
請求項１乃至６のいずれかに記載の動作環境移動方法であって、
前記（Ｅ）ステップにおいて、前記コピーイメージは、前記第２計算機の動作のバックグラウンドでコピーされる
動作環境移動方法。
【請求項８】
請求項１乃至６のいずれかに記載の動作環境移動方法であって、
前記（Ｅ）ステップにおいて、前記コピーイメージは、前記第２計算機の要求に応答してオンデマンド方式でコピーされる
動作環境移動方法。
【請求項９】
請求項７又は８に記載の動作環境移動方法であって、
前記（Ｅ）ステップは、
（Ｅ１）前記第２計算機が前記第２ディスクへのアクセスする際、アクセス対象である対象データの実体が存在するか否かの判定を行うステップと、
（Ｅ２）前記対象データの実体が存在しない場合、前記リストを参照して、前記コピーイメージ中の前記対象データを、前記第１ディスクから前記第２ディスクにコピーするステップと
を含む
動作環境移動方法。
【請求項１０】
請求項９に記載の動作環境移動方法であって、
前記リストは、前記コピーイメージに含まれる各ファイルがコピー済か否かを示すコピー情報を有し、
前記（Ｅ１）ステップにおいて、前記リスト中の前記対象データに対応する前記コピー情報に基づいて前記判定が行われ、
前記（Ｅ２）ステップにおいて、前記対象データに対応する前記コピー情報がコピー済に変更される
動作環境移動方法。
【請求項１１】
ディスクへのアクセス時、アクセス対象である対象データの実体が存在するか否かの判定を行うコピー判定モジュールと、
前記対象データの実体が存在しない場合、前記対象データが格納された移動元ディスクにアクセス可能な装置に対して、前記ディスクへの前記対象データのコピーを要求するコピーモジュールと
を備える
計算機。
【請求項１２】
請求項１１に記載の計算機であって、
前記ディスクには、コピーが必要なファイルのリストが格納されており、前記リストは、前記ファイルの各々がコピー済か否かを示すコピー情報を有し、
前記コピー判定モジュールは、前記リスト中の前記対象データに対応する前記コピー情報に基づいて前記判定を行い、
前記コピーモジュールは、前記対象データのコピーが完了した後、前記対象データに対応する前記コピー情報をコピー済に変更する
計算機。
【請求項１３】
請求項１２に記載の計算機であって、
前記コピー判定モジュールは、前記リストに対応付けられたハッシュテーブルを利用することによって、前記リストから前記対象データに関する情報の検索を行う
計算機。
【請求項１４】
請求項１１乃至１３のいずれかに記載の計算機であって、
仮想マシンと、
前記仮想マシンを制御する仮想マシンモニタと
を具備し、
前記仮想マシンモニタが、前記コピー判定モジュールと前記コピーモジュールを有する
計算機。
【請求項１５】
第１ディスクを使用する第１計算機の動作環境を、第２ディスクを使用する第２計算機に移動させる計算機システムであって、
前記第１計算機の動作中断後、前記第１ディスクのディスクイメージの少なくとも一部であるコピーイメージに含まれるファイルのリストを作成するコピーリスト作成モジュールと、
前記第１計算機の動作中断後、前記第１計算機の実行コンテキストを、前記第２計算機にコピーするコンテキストコピーモジュールと
を備え、
前記作成されたリストは前記第２ディスクに格納される
計算機システム。
【請求項１６】
請求項１５に記載の計算機システムであって、
前記コピーイメージは、前記ディスクイメージの全てである
計算機システム。
【請求項１７】
請求項１５に記載の計算機システムであって、
更に、
前記第１計算機の動作中断より前に、前記ディスクイメージの一部をベースイメージとして作成するベースイメージ作成モジュールと、
前記第１計算機の動作中断より前に、前記ベースイメージを前記第２計算機に配布するベースイメージ配布モジュールと
を備え、
前記コピーイメージは、前記ディスクイメージと前記ベースイメージとの差分である
計算機システム。
【請求項１８】
請求項１７に記載の計算機システムであって、
前記コピーリスト作成モジュールは、前記ベースイメージの作成から前記動作中断までの間のファイルの変更情報を示すログファイルに基づいて、前記コピーリストを作成する
計算機システム。
【請求項１９】
請求項１５乃至１８のいずれかに記載の計算機システムであって、
前記第１ディスクにアクセス可能な第１実計算機と、
ネットワークを介して前記第１実計算機に接続され、前記第２ディスクにアクセス可能な第２実計算機と
を具備し、
前記第１計算機は、前記第１実計算機上で動作する第１仮想マシンモニタによって提供される仮想マシンであり、
前記第２計算機は、前記第２実計算機上で動作する第２仮想マシンモニタによって提供される仮想マシンであり、
前記第１仮想マシンモニタが、前記コピーリスト作成モジュール及び前記コンテキストコピーモジュールを有し、
前記第１仮想マシンモニタは、前記第２仮想マシンモニタを介して、前記作成されたリスト及び前記実行コンテキストを前記第２ディスク及び前記第２計算機にコピーする
計算機システム。
【請求項２０】
請求項１５乃至１８のいずれかに記載の計算機システムであって、
ネットワークを介して前記第１計算機及び前記第２計算機に接続され、前記第１ディスク及び前記第２ディスクにアクセス可能な管理計算機を具備し、
前記管理計算機が、前記コピーリスト作成モジュール及び前記コピーモジュールを有し、
前記管理計算機は、前記作成されたリスト及び前記実行コンテキストを前記第２ディスク及び前記第２計算機にコピーする
計算機システム。
【請求項２１】
（ａ）第１ディスク上のファイルに対する操作の履歴を示すログファイルを解析するステップと、
（ｂ）前記履歴のうち最後に行われた前記操作がＭｏｄｉｆｙの場合、当該ファイルに固有ＩＤを割り当てるステップと、
（ｃ）前記割り当てられた固有ＩＤと、当該ファイルの名前と、当該ファイルが第２ディスクにコピー済か否かを示すコピー情報とを含むエントリからなるリストを作成するステップと
をコンピュータに実行させるためのプログラム。
【請求項２２】
請求項２１に記載のプログラムであって、
更に、（ｄ）前記リスト中の固有ＩＤに基づいて、前記リストの検索に用いられるハッシュテーブルを作成するステップ
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおいて、ある計算機の動作環境を他の計算機に移動させるための技術に関する。
【背景技術】
【０００２】
ネットワークを介して様々なサービスを提供するサーバシステムが知られている。サーバシステムにおいて、パフォーマンス増強、負荷分散、メンテナンスなどを目的として、運用中のサーバによる業務を他のサーバに移行させる場合がある。その場合、運用中のサーバの業務が中断され、そのサーバの動作環境を、他のサーバにそっくり移動させることが必要である。特に、ディスクが共有されていない場合は、運用中のサーバのディスクイメージを、他のサーバのディスクにコピーすることが必要である。
【０００３】
従来のサーバ動作環境の移動方法は、次の通りである。まず、動作環境の移動に先立って、移動元サーバと移動先サーバとの間でハードウェア構成（ＩＯカードのスロット位置など）の比較が行われ、ディスクイメージの継承が可能であることが確認される。その後、動作環境の移動が開始する。動作環境の移動処理においては、図１に示されるフローが実行される。
【０００４】
まず、移動元サーバの動作が中断される（ステップＳ１１０）。続いて、移動元サーバのディスクから移動先サーバのディスクに、移動元サーバのディスクイメージがコピーされる（ステップＳ１２０）。また、移動元サーバから移動先サーバに、「実行コンテキスト（execution contexts）」がコピーされる（ステップＳ１３０）。ここで、実行コンテキストとは、実行中のプログラムが利用しているレジスタセットやメインメモリの内容である。ディスクイメージ及び実行コンテキストのコピーが完了すると、移動先サーバの動作が開始させられる。これにより、中断していた業務が、移動先サーバにおいて再開する（ステップＳ１４０）。このようにして、移動元サーバの業務が、移動先サーバに引き継がれる。
【０００５】
尚、関連する従来技術として、次のものが知られている。
【０００６】
特許文献１には、複数の実計算機上に構築される仮想計算機システム間で、ある仮想計算機（ＶＭ：Virtual Machine）を移動させる方式が記載されている。この方式によれば、移動元計算機と移動先計算機は、磁気ディスク装置を共有している。移動元の仮想計算機システムには、移動させるＶＭの構成情報と対応する実資源の論理名称を通知する手段が設けられる。移動先の仮想計算機システムには、受信した論理名称に基づいて同一のＶＭ構成を生成する手段が設けられる。
【０００７】
【特許文献１】特開平１０−２８３２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本願発明者は、次の点に着目した。ディスクイメージのサイズは数Ｇｂｙｔｅと大きく、ディスクイメージのコピー（ステップＳ１２０）に要する時間は非常に長い。サーバ動作環境の移動時間、すなわち業務中断（ステップＳ１１０）から業務再開（ステップＳ１４０）までの時間は、ディスクイメージのコピー時間にほぼ律速されていると言える。サービス提供者の観点から、業務の中断時間はできる限り短いことが望ましい。
【０００９】
従って、本発明の目的は、ある計算機の動作環境を他の計算機に移動させる際に、業務の中断時間を短縮することができる技術を提供することにある。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明の第１の観点において、第１ディスク（１１０）を使用する第１計算機（１００）の動作環境を、第２ディスク（２１０）を使用する第２計算機（２００）に移動させる動作環境移動方法が提供される。その動作環境移動方法は、（Ａ）第１計算機（１００）の動作を中断するステップと、（Ｂ）上記（Ａ）ステップの後、第１ディスク（１１０）のディスクイメージ（１０）の少なくとも一部であるコピーイメージ（ＣＩ）に含まれるファイルのリスト（ＣＬ）を作成するステップと、（Ｃ）上記（Ａ）ステップの後、第１計算機（１００）の実行コンテキスト（ＥＣ）を、第２計算機（２００）にコピーするステップと、（Ｄ）上記（Ｂ）及び（Ｃ）ステップの後、第２計算機（２００）において上記動作を再開させるステップと、（Ｅ）上記（Ｄ）ステップの後、上記リスト（ＣＬ）を参照して、コピーイメージ（ＣＩ）を第１ディスク（１１０）から第２ディスク（２１０）にコピーするステップと、を有する。
【００１２】
本発明によれば、第１計算機（１００）の動作中断から第２計算機（２００）における動作再開までの間に、実行コンテキスト（ＥＣ）が第２計算機（２００）にコピーされる。一方、第１ディスク（１１０）上のコピーイメージ（ＣＩ）に関しては、それに含まれるファイルのリスト（ＣＬ）だけが作成され、コピーイメージ（ＣＩ）の実体のコピーは行われない。コピーイメージ（ＣＩ）の実体のコピーは、第２計算機（２００）における動作再開後、作成されたリスト（ＣＬ）を参照することにより行われる。従って、第１計算機（１００）の動作中断から第２計算機（２００）における動作再開までの時間が短縮される。すなわち、本発明によれば、業務の中断時間を短縮することが可能となる。
【００１３】
本発明の第２の観点において、計算機が提供される。その計算機は、コピー判定モジュール（４０）とコピーモジュール（５０）を備えている。コピー判定モジュール（４０）は、ディスク（２１０）へのアクセス時、アクセス対象である対象データの実体が存在するか否かの判定を行う。対象データの実体が存在しない場合、コピーモジュール（５０）は、対象データが格納された移動元ディスク（１１０）にアクセス可能な装置（１００，１２０，１３０，３００）に対して、自身のディスク（２１０）への対象データのコピーを要求する。
【００１４】
このような構成を有する計算機は、業務の最中にコピー処理を行うことが可能である。第１計算機（１００）の動作環境が第２計算機（２００）に移動される際、第１計算機（１００）の動作中断から第２計算機（２００）における動作再開までの間、業務は中断する。その業務中断期間において、第２計算機（２００）は、第１計算機（１００）の実行コンテキスト（ＥＣ）と、コピーが必要なファイルのリスト（ＣＬ）だけを受け取ればよい。その業務中断期間に、第２計算機（２００）が第１計算機（１００）のディスク（１１０）上のコピーイメージ（ＣＩ）の実体を受け取る必要はない。それは、第２計算機（２００）における動作再開後、受け取ったリスト（ＣＬ）を参照することによって、そのコピーイメージ（ＣＩ）の実体をコピーすることが可能だからである。従って、業務の中断時間が短縮される。
【００１５】
本発明の第３の観点において、第１ディスク（１１０）を使用する第１計算機（１００）の動作環境を、第２ディスク（２１０）を使用する第２計算機（２００）に移動させる計算機システムが提供される。その計算機システムは、コピーリスト作成モジュール（２０）と、コンテキストコピーモジュール（３０）とを備えている。コピーリスト作成モジュール（２０）は、第１計算機（１００）の動作中断後、第１ディスク（１１０）のディスクイメージ（１０）の少なくとも一部であるコピーイメージ（ＣＩ）に含まれるファイルのリスト（ＣＬ）を作成する。作成されたリスト（ＣＬ）は、第２ディスク（２１０）に格納される。コンテキストコピーモジュール（３０）は、第１計算機（１００）の動作中断後、第１計算機（１００）の実行コンテキスト（ＥＣ）を、第２計算機（２００）にコピーする。
【００１６】
本発明によれば、第２計算機（２００）は、上記実行コンテキスト（ＥＣ）と上記リスト（ＣＬ）を受け取ると直ぐに、業務を再開させることができる。それは、上記リスト（ＣＬ）を参照することによって、第１ディスク（１１０）上のコピーイメージ（ＣＩ）の実体を、第２計算機（２００）の動作再開後にコピーすることが可能だからである。第１計算機（１００）の動作中断から第２計算機（２００）における動作再開までの間、第２計算機（２００）がコピーイメージ（ＣＩ）の実体を受け取る必要はない。従って、動作中断から動作再開までの時間、すなわち、業務の中断時間を短縮することが可能となる。
【発明の効果】
【００１７】
本発明によれば、ある計算機の動作環境を他の計算機に移動させる際に、業務の中断時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１８】
添付図面を参照して、本発明の実施の形態に係る計算機システムおよび計算機動作環境の移動方法を説明する。計算機システムとして、自律コンピューティングシステム、ユーティリティ・コンピューティングシステム、グリッドシステム、仮想化システムなどが挙げられる。本実施の形態において、計算機システムとして、様々なサービスを提供するサーバシステムが例示される。
【００１９】
１．概要
まず、本発明の概要を説明する。図２は、本発明の実施の形態に係るサーバシステム１を概念的に示している。本実施の形態において、移動元サーバ１００の「動作環境」が、移動先サーバ２００に移動させられる。移動元サーバ１００は移動元ディスク１１０を使用し、移動先サーバ２００は移動先ディスク２１０を使用する。移動元ディスク１１０は、移動先サーバ２００によって共有されていないとする。
【００２０】
移動元サーバ１００の動作環境とは、移動元ディスク１１０のディスクイメージ１０に加えて、移動元サーバ１００の実行コンテキストＥＣを含む。実行コンテキストＥＣとは、実行中のプログラムが利用しているＣＰＵ中のレジスタの内容や、メインメモリ（ＲＡＭ）の内容である。つまり、実行コンテキストＥＣは、ある時点における計算機の動作状態（実行状態）を再現することができる情報の束である。
【００２１】
図３は、本実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。図２及び図３を参照して、本実施の形態に係る動作環境移動方法を説明する。まず、移動元サーバ１００の動作が中断される（ステップＳ１０）。これにより、移動元サーバ１００による業務が中断する。
【００２２】
次に、移動元ディスク１１０から移動先ディスク２１０にコピーされるべきコピーイメージＣＩに含まれるファイルのリスト（インデックス）が作成される。ここで、コピーイメージＣＩは、移動元ディスク１００のディスクイメージ１０の全体の少なくとも一部である。また、作成されるリストは、以下、「コピーリストＣＬ」と参照される。作成されたコピーリストＣＬは、移動先サーバ２００がアクセス可能なディスクに格納される。例えば図２に示されるように、コピーリストＣＬは、移動先ディスク２１０に格納される（ステップＳ２０）。更に、移動元サーバ１００の実行コンテキストＥＣが、移動先サーバ２００にコピーされる。つまり、実行コンテキストＥＣが、移動元サーバ１００から移動先サーバ２００に移動する（ステップＳ３０）。
【００２３】
次に、移動先サーバ２００において動作が再開される（ステップＳ４０）。つまり、移動先サーバ２００は、実行コンテキストＥＣを受け取った段階で、中断していた業務を再開する。この段階で、コピーイメージＣＩの実体は未だコピーされていない。その代わり、コピーイメージＣＩのファイルリストであるコピーリストＣＬが、移動先サーバ２００がアクセス可能なディスクに格納されている。
【００２４】
その後、移動先サーバ２００の業務の最中に、コピーイメージＣＩが、移動元ディスク１１０から移動先ディスク２１０にコピーされる（ステップＳ５０）。コピーイメージＣＩのコピーは、上記コピーリストＣＬに基づいて行われる。例えば、コピーイメージＣＩのコピーは、移動先サーバ２００の要求に応答してオンデマンド方式で行われる。また、コピーイメージＣＩは、移動先サーバ２００の動作のバックグラウンドでコピーされてもよい。コピーイメージＣＩのコピーが完了すると、動作環境の移動処理は終了する。
【００２５】
図４は、従来技術と本発明との比較を示している。従来技術によれば、時刻ｔ０における業務中断の後、ディスクイメージ全体のコピー（ステップＳ１２０）及び実行コンテキストのコピー（ステップＳ１３０）が実行される。その後、時刻ｔ１において、移動先サーバで業務が再開される。
【００２６】
本発明によれば、時刻ｔ０における業務中断から時刻ｔ１’における業務再開までの間、実行コンテキストＥＣはコピーされる（ステップＳ３０）。しかし、移動元ディスク１１０上のコピーイメージＣＩに関しては、そのファイルリストであるコピーリストＣＬだけが作成され（ステップＳ２０）、コピーイメージＣＩの実体のコピーは行われない。その段階で、移動先サーバ２００において動作が再開される。コピーイメージＣＩの実体がコピーされないため、業務中断から業務再開までの期間がＴＡからＴＢに短縮される。すなわち、業務の中断時間が短縮される。
【００２７】
コピーイメージＣＩの実体に関しては、移動先サーバ２００における動作再開後、業務の最中に、オンデマンド・コピーあるいはバックグラウンド・コピーを行うことが可能である。それは、移動先サーバ２００がアクセス可能なようにコピーリストＣＬが作成されているからである。コピーイメージＣＩのコピーは、時刻ｔ２に完了する。動作環境（＝実行コンテキストＥＣ＋コピーイメージＣＩ）全体のコピー時間は長くなる場合があるが、移動先サーバ２００の業務開始までの時間は短縮される。このことは、サービス提供の継続性の観点から好ましい。
【００２８】
以下、本発明に係るサーバ動作環境の移動方法に関して詳細に説明する。
【００２９】
２．第１の実施の形態
第１の実施の形態において、移動元サーバ１００及び移動先サーバ２００は、サーバ仮想化技術によって実現される仮想マシン（ＶＭ：Virtual Machine）である。
【００３０】
２−１．構成
図５は、第１の実施の形態に係る構成を示している。図５において、実計算機１２０及び２２０が、ＬＡＮ等のネットワークを介して相互に接続されている。実計算機１２０は、移動元ディスク１１０にアクセス可能であり、移動元マシン１２０と参照される。一方、実計算機２２０は、移動先ディスク２１０にアクセス可能であり、移動先マシン２２０と参照される。
【００３１】
実計算機１２０、２２０の各々には、仮想マシンモニタ（ＶＭＭ：Virtual Machine Monitor）が搭載されている。ＶＭＭは、実計算機上で動作するソフトウェアであり、複数のＶＭを構築、制御することができる。具体的には、移動元マシン１２０に搭載された移動元ＶＭＭ１３０が、仮想サーバである移動元サーバ１００を提供し、またその動作を制御する。また、移動先マシン２２０に搭載された移動先ＶＭＭ２３０が、仮想サーバである移動先サーバ２００を提供し、またその動作を制御する。移動元サーバ１００は移動元ディスク１１０を使用し、移動先サーバ２００は移動先ディスク２１０を使用する。
【００３２】
本実施の形態においては、移動元サーバ１００の動作環境の移動先サーバ２００への移動は、移動元ＶＭＭ１３０と移動先ＶＭＭ２３０の協働によって実現される。そのため、移動元ＶＭＭ１３０は、コピーリスト作成モジュール２０とコンテキストコピーモジュール３０を有している。また、移動先ＶＭＭ２３０は、コピー判定モジュール４０とコピーモジュール５０を有している。
【００３３】
２−２．動作
次に、本実施の形態におけるサーバシステムの動作を説明する。動作環境の移動前、移動元マシン１２０において、移動元ＶＭＭ１３０が移動元サーバ１００を構築しており、移動元サーバ１００のゲストＯＳ（ＧＯＳ）が様々な処理を実行している。一方、移動先マシン２２０において、移動先ＶＭＭ２３０は移動先サーバ２００の仮想ハードウェア構成を提供することができるが、ゲストＯＳは未定義であり、その移動先サーバ２００は未だ稼動していない。また、ＶＭ環境の場合、動作環境の移動に先立って、移動元サーバ１００と移動先サーバ２００との間でハードウェア構成（ＩＯカードのスロット位置など）の比較を行う必要はない。但し、移動先ディスク２１０の容量は、移動元ディスク１１０の容量以上である必要はある。
【００３４】
図３及び図５を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージＣＩは、移動元ディスク１１０のディスクイメージ１０の全体である。
【００３５】
ステップＳ１０：
まず、ユーザによる指示に応答して、移動元ＶＭＭ１３０は、移動元サーバ１００の動作を中断させる。これにより、移動元サーバ１００による業務が中断する。
【００３６】
ステップＳ２０：
移動元ＶＭＭ１３０のコピーリスト作成モジュール２０は、移動元ディスク１１０上のコピーイメージＣＩを参照し、コピーリストＣＬを作成する。コピーリストＣＬは、コピーイメージＣＩに含まれるファイルのリストであり、移動先ディスク２１０へのコピーが必要なファイルのリストである。コピーリスト作成モジュール２０は、作成されたコピーリストＣＬを移動先ＶＭＭ２３０に転送する。移動先ＶＭＭ２３０は、受け取ったコピーリストＣＬを移動先ディスク２１０に格納する。
【００３７】
図６は、コピーリストＣＬの一例を示している。図６に示されるように、コピーリストＣＬは、ヘッダ部ＣＬ−Ｈとボディ部ＣＬ−Ｂから構成されている。ヘッダ部ＣＬ−Ｈは、移動元サーバ１００に関する情報を示しており、ネットワークアドレス、認証情報、ゲストＯＳ情報などを含んでいる。例えば、ネットワークアドレスは、移動元サーバ１００がネットワーク上のどこに存在するかを示し、ゲストＯＳ情報は、移動されるゲストＯＳのＩＤを示している。
【００３８】
一方、ボディ部ＣＬ−Ｂは、コピーイメージＣＩのファイルリストを示している。例えば図６に示されるように、ボディ部ＣＬ−Ｂは、各ファイルに関する名前、格納されているディスクのＩＤ、そのディスク内の位置（開始ブロック）、ブロックサイズなどを示している。更に、ボディ部ＣＬ−Ｂは、各ファイルがコピー済か否かを示す「フラグ（コピー情報）」を有している。コピーリストＣＬの作成時、全てのフラグの状態は「未コピー」に設定されている。
【００３９】
後述されるように、アクセス対象のファイルは、コピーリストＣＬのボディ部ＣＬ−Ｂから検索される。その検索速度を高めるため、図７に示されるようなハッシュテーブルＨＴが利用されてもよい。ハッシュテーブルＨＴには、ハッシュキーとＩＤが対応付けられている。そのＩＤは、コピーリストＣＬのボディ部ＣＬ−Ｂに示されているＩＤと対応している。このようなハッシュテーブルＨＴを利用することによって、コピーリストＣＬ上に当該ファイルエントリが存在するか否かを高速に検索することができる。ハッシュテーブルＨＴが利用される場合、コピーリスト作成モジュール２０は、コピーリストＣＬの作成と同時に、コピーリストＣＬ中のＩＤに基づいてハッシュテーブルＨＴを作成する。そして、コピーリスト作成モジュール２０は、作成されたハッシュテーブルＨＴを移動先ＶＭＭ２３０に転送する。移動先ＶＭＭ２３０は、そのハッシュテーブルＨＴを移動先サーバ２００のＲＡＭに展開する。
【００４０】
ステップＳ３０：
移動元ＶＭＭ１３０のコンテキストコピーモジュール３０は、移動元サーバ１００の実行コンテキストＥＣを、移動先ＶＭＭ２３０に送信する。移動先ＶＭＭ２３０は、その実行コンテキストＥＣを移動先サーバ２００に転送する。このようにして、移動元サーバ１００の実行コンテキストＥＣが、移動先サーバ２００にコピーされる。この時点で、移動先サーバ２００において、ゲストＯＳ（ＧＯＳ）が定義される。
【００４１】
ステップＳ４０：
移動先ＶＭＭ２３０は、移動先サーバ２００の動作を再開させる。これにより、移動先サーバ２００において、中断されていた業務が再開する。
【００４２】
ステップＳ５０：
その後、移動先サーバ２００の業務の最中に、コピーイメージＣＩが、移動元ディスク１１０から移動先ディスク２１０にコピーされる。コピーイメージＣＩのコピーは、オンデマンドあるいは／及びバックグラウンドで行われる。図８Ａ及び図８Ｂは、ステップＳ５０における処理を詳しく示すフローチャートである。
【００４３】
ステップＳ５１：
図８Ａに示されるオンデマンド・コピーの場合、まず、動作中のプログラム（例えば、ゲストＯＳ）から移動先ディスク２１０へのアクセス（リード要求）が発生する。この時、後述のバックグラウンド・コピーは、一時中断される。
【００４４】
ステップＳ５２：
移動先ＶＭＭ２３０のコピー判定モジュール４０は、アクセス対象である対象データの実体が移動先ディスク２１０に存在するか否かの判定を行う。本実施の形態において、コピー判定モジュール４０は、上述のコピーリストＣＬを参照し、そのコピーリストＣＬに基づいて判定を行う。
【００４５】
具体的には、コピー判定モジュール４０は、対象データがコピーリストＣＬに含まれているかを調べる。ここで、コピー判定モジュール４０は、ハッシュテーブルＨＴを利用し、ハッシュテーブルＨＴにおいて当該ファイルがヒットするか否かを調べてもよい。対象データがコピーリストＣＬに含まれている場合、コピー判定モジュール４０は、その対象データに対応するフラグを調べる（図６参照）。コピー判定モジュール４０は、そのフラグが「コピー済」あるいは「未コピー」かによって、対象データの実体が移動先ディスク２１０に存在するか否かを判定することができる。
【００４６】
ステップＳ５３：
フラグが「コピー済」の場合（ステップＳ５３；Ｎｏ）、対象データは既にコピーされている。従って、移動先ディスク２１０上の指定されたブロックから、対象データが読み出される（ステップＳ５６）。読み出されたデータは、データの要求元に返される。一方、フラグが「未コピー」の場合（ステップＳ５３；Ｙｅｓ）、対象データは未だコピーされていない。つまり、未コピー領域へのアクセスが発生していることがわかる。その場合、処理は、ステップＳ５４に移行する。
【００４７】
ステップＳ５４：
移動先ＶＭＭ２３０は、移動元ＶＭＭ１３０に対して通信を行い、対象データのコピーを要求する。具体的には、移動先ＶＭＭ２３０のコピーモジュール５０は、コピーリストＣＬのヘッダ部ＣＬ−Ｈ及びボディ部ＣＬ−Ｂを参照し、移動元や対象データの格納情報を認識する（図６参照）。そして、コピーモジュール５０は、それら情報に基づいて、移動元ＶＭＭ１３０に対して対象データのコピーを要求する。そのコピー要求に応答して、移動元ＶＭＭ１３０は、コピーイメージＣＩ中の対象データを移動元ディスク１１０から読み出し、読み出された対象データを移動先ＶＭＭ２３０に返す。移動先ＶＭＭ２３０は、対象データを、移動先ディスク２１０上の指定されたブロックに書き込む。このようにして、対象データの実体が、移動元ディスク１１０から移動先ディスク２１０にコピーされる。
【００４８】
ステップＳ５５：
対象データが移動先ディスク２１０にコピーされると、コピーモジュール５０は、コピーリストＣＬを更新する。つまり、コピーモジュール５０は、対象データに対応するフラグを、「未コピー」から「コピー済」に変更する。その後、移動先ディスク２１０上の指定されたブロックから、対象データが読み出される（ステップＳ５６）。
【００４９】
バックグラウンド・コピーは、上記オンデマンド・コピーを補完する役割を果たす。コピーイメージＣＩにはなかなかアクセスされないファイルも含まれるため、オンデマンドコピーだけでは、コピーイメージＣＩ全体のコピーが終了するまでの時間が長くなる可能性がある。バックグラウンド・コピーを併用することによって、コピーイメージＣＩ全体のコピー時間が短縮される。バックグラウンド・コピーは、移動先ＶＭＭ２３０によって同様に行われ得る。
【００５０】
ステップＳ５７：
図８Ｂに示されるバックグラウンド・コピーの場合、移動先ＶＭＭ２３０が、開始要求を発行する。例えば移動先ＶＭＭ２３０が、システム負荷をモニタし、システム負荷が軽い場合にコピー判定モジュール４０に対してバックグラウンド・コピーの開始を指示する。
【００５１】
ステップＳ５８：
コピー判定モジュール４０は、コピーリストＣＬを参照し、ファイルリストの先頭からファイルを選択する。
【００５２】
その後は、オンデマンド・コピーの場合と同様である。コピー判定モジュール４０は、コピーリストＣＬ中の選択されたファイルに対応するフラグを調べる（ステップＳ５２）。フラグが「コピー済」の場合（ステップＳ５３；Ｎｏ）、処理はステップＳ５８に戻り、次のファイルが選択される。フラグが「未コピー」の場合（ステップＳ５３；Ｙｅｓ）、上述のステップＳ５４、Ｓ５５が実行される。ステップＳ５５が終わると、処理はステップＳ５８に戻り、次のファイルが選択される。オンデマンド・コピーが発生したり、システム負荷が重くなった場合、移動先ＶＭＭ２３０は、バックグラウンド・コピーを中断させる。
【００５３】
このようにして、移動先サーバ２００の業務の途中に、コピーイメージＣＩを移動元ディスク１１０から移動先ディスク２１０にコピーすることが可能となる。従って、移動元サーバ１００の動作中断から移動先サーバ２００における動作再開までの間に、コピーイメージＣＩの実体をコピーする必要はない。その結果、業務の中断時間が短縮される。尚、本実施の形態において、移動元ＶＭＭ１３０や移動先ＶＭＭ２３０が行っていた処理は、所定の管理ＶＭ（仮想管理サーバ）によって実行されてもよい。
【００５４】
３．第２の実施の形態
第２の実施の形態において、移動元サーバ１００及び移動先サーバ２００は、実計算機によって実現される。尚、第１の実施の形態と同じ構成には同じ符号が付され、重複する説明は適宜省略される。
【００５５】
３−１．構成
図９は、第２の実施の形態に係る構成を示している。本実施の形態に係るサーバシステムは、ＬＡＮ等のネットワークを介して相互に接続された移動元サーバ１００、移動先サーバ２００、及び管理サーバ３００を備えている。管理サーバ３００は、サーバ全体の管理を行うサーバである。移動元ディスク１１０は移動元サーバ１００に直結されており、移動先ディスク２１０は移動先サーバ２００に直結されている。管理サーバ３００は、移動元ディスク１１０と移動先ディスク２１０の両方にアクセス可能である。
【００５６】
本実施の形態において、管理サーバ３００が、コピーリスト作成モジュール２０及びコンテキストコピーモジュール３０を有している。これらモジュール２０、３０は、演算処理装置とソフトウェアの協働によって実現される。
【００５７】
また、本実施の形態において、移動先サーバ２００が、コピー判定モジュール４０及びコピーモジュール５０を有している。例えば、移動先サーバ２００には、ファームウェアが格納されたＲＯＭ６０が搭載されている。そのＲＯＭ６０に格納されたファームウェアによって、コピー判定モジュール４０及びコピーモジュール５０が実現される。
【００５８】
３−２．動作
次に、本実施の形態におけるサーバシステムの動作を説明する。動作環境の移動に先立って、移動元サーバ１００と移動先サーバ２００との間でハードウェア構成（ＩＯカードのスロット位置など）の比較が行われ、ディスクイメージの継承が可能であることが確認される。
【００５９】
図３及び図９を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージＣＩは、移動元ディスク１１０のディスクイメージ１０の全体である。
【００６０】
ステップＳ１０：
まず、ユーザあるいは管理サーバ３００によって、移動元サーバ１００の動作が中断される。これにより、移動元サーバ１００による業務が中断する。
【００６１】
ステップＳ２０：
管理サーバ３００のコピーリスト作成モジュール２０は、移動元ディスク１１０上のコピーイメージＣＩにアクセスし、コピーリストＣＬを作成する。コピーリスト作成モジュール２０は、作成されたコピーリストＣＬを移動先ディスク２１０に格納する。また、コピーリスト作成モジュール２０は、コピーリストＣＬの作成と同時に、ハッシュテーブルＨＴを作成してもよい。その場合、コピーリスト作成モジュール２０は、作成されたハッシュテーブルＨＴを移動先サーバ２００のＲＡＭに展開する。
【００６２】
ステップＳ３０：
管理サーバ３００のコンテキストコピーモジュール３０は、移動元サーバ１００にアクセスし、移動元サーバ１００の実行コンテキストＥＣを得る。そして、コンテキストコピーモジュール３０は、その実行コンテキストＥＣを移動先サーバ２００に送る。このようにして、移動元サーバ１００の実行コンテキストＥＣが、移動先サーバ２００にコピーされる。
【００６３】
ステップＳ４０：
移動先サーバ２００において、動作が開始し、中断されていた業務が再開する。ＲＯＭ６０中のコピー判定モジュール４０及びコピーモジュール５０も動作を開始する。
【００６４】
ステップＳ５０：
その後、移動先サーバ２００の業務の最中に、コピーイメージＣＩが、移動元ディスク１１０から移動先ディスク２１０にコピーされる。そのコピーにおける処理フローは、既出の図８Ａ及び図８Ｂに示されたフローと同様である。
【００６５】
ステップＳ５１：
まず、動作中のＯＳあるいはプログラムから移動先ディスク２１０へのアクセス（リード要求）が発生する。この時、バックグラウンド・コピーは、一時中断される。
【００６６】
ステップＳ５２：
アクセスが発生すると、コピー判定モジュール４０は、アクセス対象である対象データの実体が移動先ディスク２１０に存在するか否かの判定を行う。具体的には、コピー判定モジュール４０は、上述のコピーリストＣＬを参照し、対象データに対応するフラグに基づいて判定を行う。この際、ハッシュテーブルＨＴが利用されてもよい。
【００６７】
ステップＳ５３：
フラグが「コピー済」の場合（ステップＳ５３；Ｎｏ）、移動先ディスク２１０上の指定されたブロックから、対象データが読み出される（ステップＳ５６）。読み出されたデータは、データの要求元に返される。一方、フラグが「未コピー」の場合（ステップＳ５３；Ｙｅｓ）、処理は、ステップＳ５４に移行する。
【００６８】
ステップＳ５４：
移動先サーバ２００のコピーモジュール５０は、コピーリストＣＬのヘッダ部ＣＬ−Ｈ及びボディ部ＣＬ−Ｂを参照し、移動元や対象データの格納情報を認識する（図６参照）。そして、コピーモジュール５０は、それら情報に基づいて、対象データのコピーを指示する。
【００６９】
例えば、コピーモジュール５０は、管理サーバ３００に対して、対象データのコピーを要求する。管理サーバ３００は、そのコピー要求に基づいて移動元ディスク１１０にアクセスし、コピーイメージＣＩから対象データを読み出す。そして、管理サーバ３００は、移動先ディスク２１０にアクセスし、指定されたブロックに対象データを書き込む。このようにして、対象データの実体が、移動元ディスク１１０から移動先ディスク２１０にコピーされる。
【００７０】
あるいは、対象データのコピーは、移動先サーバ２００と移動元サーバ１００との間のＲＰＣ（Remote Procedure Call）通信によって実現されてもよい。コピーモジュール５０は、移動元サーバ１００に対して、対象データのコピーを要求する。そのコピー要求に応答して、移動元サーバ１００のＯＳは一時動作再開し、移動元ディスク１１０上のコピーイメージＣＩから対象データを読み出す。移動元サーバ１００のＯＳは、読み出された対象データを、移動先サーバ２００に送り返す。コピーモジュール５０は、対象データを、移動先ディスク２１０上の指定されたブロックに書き込む。このようにして、対象データの実体が、移動元ディスク１１０から移動先ディスク２１０にコピーされる。
【００７１】
尚、このＲＰＣ通信の場合、移動先サーバ２００が、対象データの具体的な場所やサイズを認識する必要はない。それは、移動元サーバ１００が対象データの具体的な場所やサイズを認識しているからである。よって、本実施の形態において作成されるコピーリストＣＬは、図１０に示されるように簡素化されてもよい。図６に示されたコピーリストＣＬと比較して、ディスクＩＤ、開始ブロック、サイズが省略されている。図１０に示されるコピーリストＣＬは、ファイル名とフラグ（コピー情報）との対応関係を示している。この場合、コピーリストＣＬのサイズが縮小され、好適である。コピーモジュール５０は、ファイル名を指定することによって、移動元サーバ１００に対して対象データのコピーを要求する。
【００７２】
ステップＳ５５：
対象データコピーが完了すると、コピーモジュール５０は、対象データに対応するフラグを、「未コピー」から「コピー済」に変更する。その後、移動先ディスク２１０上の指定されたブロックから、対象データが読み出される（ステップＳ５６）。
【００７３】
ステップＳ５７：
バックグラウンド・コピーは、上記オンデマンド・コピーを補完する役割を果たす。移動先サーバ２００のＯＳは、開始要求を発行する。例えばそのＯＳが、システム負荷をモニタし、システム負荷が軽い場合にコピー判定モジュール４０に対してバックグラウンド・コピーの開始を指示する。
【００７４】
ステップＳ５８：
コピー判定モジュール４０は、コピーリストＣＬを参照し、ファイルリストの先頭からファイルを選択する。
【００７５】
その後は、オンデマンド・コピーの場合と同様である。コピー判定モジュール４０は、コピーリストＣＬ中の選択されたファイルに対応するフラグを調べる（ステップＳ５２）。フラグが「コピー済」の場合（ステップＳ５３；Ｎｏ）、処理はステップＳ５８に戻り、次のファイルが選択される。フラグが「未コピー」の場合（ステップＳ５３；Ｙｅｓ）、上述のステップＳ５４、Ｓ５５が実行される。ステップＳ５５が終わると、処理はステップＳ５８に戻り、次のファイルが選択される。オンデマンド・コピーが発生したり、システム負荷が重くなった場合、ＯＳは、バックグラウンド・コピーを中断させる。
【００７６】
このようにして、移動先サーバ２００の業務の途中に、コピーイメージＣＩを移動元ディスク１１０から移動先ディスク２１０にコピーすることが可能となる。従って、移動元サーバ１００の動作中断から移動先サーバ２００における動作再開までの間に、コピーイメージＣＩの実体をコピーする必要はない。その結果、業務の中断時間が短縮される。
【００７７】
４．第３の実施の形態
４−１．概念
既出の実施の形態では、ステップＳ５０においてコピーされるコピーイメージＣＩは、ディスクイメージ１０の全てであった。それに対し、第３の実施の形態では、ディスクイメージ１０の一部が、業務中断前にあらかじめ移動先ディスク２１０に配布される。そして、業務再開後のステップＳ５０においては、残りのイメージだけがコピーされる。例えば、移動元サーバ１００におけるＯＳのインストール直後の汎用的なイメージが、移動先となり得る候補に予め配布される。その場合、ＯＳインストール後の変更部分が、ステップＳ５０において、コピーイメージＣＩとしてコピーされる。
【００７８】
より一般化すると、次の通りである。図１１は、本実施の形態におけるディスクイメージ１０の分割を概念的に示している。ディスクイメージ１０は、第１のイメージ１１と第２のイメージ１２に区分けされる。第１のイメージ１１は、コピーイメージＣＩの作成の基準となるイメージであり、「ベースイメージＢＩ」と参照される。このベースイメージＢＩが、業務中断前に、移動先となり得る候補に予め配布される。一方、第２のイメージ１２は、ディスクイメージ１０とベースイメージＢＩとの差分である。ベースイメージＢＩの作成後に追加された部分、及び、ベースイメージＢＩ中で変更された部分が、第２のイメージ１２に含まれる。この第２のイメージ１２が、ステップＳ５０においてコピーイメージＣＩとしてコピーされる。
【００７９】
図１２は、本実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。以下の説明において、既出の実施の形態と重複する部分は適宜省略される。
【００８０】
本実施の形態において、上述のステップＳ１０より前に、新たにステップＳ０が設けられている。つまり、ステップＳ１０より前のあるタイミングで、ベースイメージＢＩが作成される。そのベースイメージＢＩは、移動元ディスク１１０のディスクイメージ１０の一部である。作成されたベースイメージＢＩは、所定のディスクに保管される。そして、ステップＳ１０より前の段階で、そのベースイメージＢＩは、移動先サーバ２００の移動先ディスク２１０に予め配布される。
【００８１】
コピーイメージＣＩもディスクイメージ１０の一部である。このコピーイメージＣＩは、ステップＳ１０の段階でのディスクイメージ１０と上記ベースイメージＢＩとの差分である。ベースイメージＢＩの作成後に追加された部分、及び、ベースイメージＢＩ中で変更された部分が、コピーイメージＣＩに含まれる。ステップＳ２０においては、そのコピーイメージＣＩに関するコピーリストＣＬが作成される。ステップＳ５０においては、そのコピーリストＣＬを参照することにより、コピーイメージＣＩがコピーされる。
【００８２】
本実施の形態によれば、既出の実施の形態と比較して、コピーイメージＣＩのサイズが縮小される。その結果、ステップＳ５０に要する時間が短縮される。言い換えれば、図４で示された期間ｔ０〜ｔ２が短縮され、動作環境全体のコピーが完了するまでの期間が短縮される。尚、本実施の形態は、既出の実施の形態のいずれとも組み合わせることが可能である。以下、具体的な例を挙げて、本実施の形態を更に詳しく説明する。
【００８３】
４−２．構成
図１３は、本実施の形態に係る構成の一例を示している。図１３に示された構成は、第１の実施の形態で示された構成（ＶＭ環境）に対応している。移動元ＶＭＭ１３０は、更に、ベースイメージ作成モジュール７０とベースイメージ配布モジュール８０を有している。ベースイメージ作成モジュール７０は、ベースイメージＢＩを作成する。ベースイメージ配布モジュール８０は、そのベースイメージＢＩを移動先ディスク２１０に配布する。
【００８４】
図１４は、本実施の形態に係る構成の他の例を示している。図１４に示された構成は、第２の実施の形態で示された構成（実計算機環境）に対応している。図１４においては、管理サーバ３００が、ベースイメージ作成モジュール７０とベースイメージ配布モジュール８０を有している。これらモジュール７０、８０は、演算処理装置とソフトウェアの協働によって実現される。
【００８５】
４−３．動作例
図１２〜図１４を参照して、本実施の形態におけるサーバ動作環境の移動方法を説明する。本実施の形態において、コピーイメージＣＩは、移動元ディスク１１０のディスクイメージ１０の一部である。
【００８６】
ステップＳ０：
ステップＳ１０より前に、ベースイメージ作成モジュール７０は、移動元ディスク１１０にアクセスし、ベースイメージＢＩを作成する。このベースイメージＢＩは、現時点でのディスクイメージ１０のバックアップであると言える。作成されたベースイメージＢＩは、所定のディスクに格納される。例えば、作成されたベースイメージＢＩは、移動元ディスク１１０に格納される。
【００８７】
あるいは、ベースイメージ作成モジュール７０は、バックアップとしてのベースイメージＢＩを作成する代わりに、現時点でのディスクイメージ１０のファイルのリストを作成してもよい。図１５は、そのようなファイルリスト（以下、「ベースリストＢＬ」と参照される）を示している。ベースリストＢＬは、ステップＳ０の時点における移動元ディスク１１０のディスクイメージ１０に含まれるファイルをリスト形式で示している。
【００８８】
その後、移動元サーバ１００の動作は継続し、移動元ディスク１１０上でファイルの追加・変更が行われる。
【００８９】
また、ステップＳ１０以前のあるタイミングで、ベースイメージ配布モジュール８０は、ベースイメージＢＩを読み出し、そのベースイメージＢＩを移動先となり得る候補に配布する。バックアップとしてのベースイメージＢＩが存在する場合、ベースイメージ配布モジュール８０は、そのベースイメージＢＩをそのまま読み出す。一方、図１５に示されたベースリストＢＬが作成されている場合、ベースイメージ配布モジュール８０は、そのベースリストＢＬを参照して、移動元ディスク１１０からベースイメージＢＩに相当する部分を読み出す。図１３に示されたＶＭ環境の場合、移動元ＶＭＭ１３０のベースイメージ配布モジュール８０は、ベースイメージＢＩを移動先ＶＭＭ２３０に送る。移動先ＶＭＭ２３０は、そのベースイメージＢＩを移動先ディスク２１０に格納する。図１４に示された実計算機環境の場合、管理サーバ３００のベースイメージ配布モジュール８０は、ベースイメージＢＩを移動先ディスク２１０に直接書き込むことができる。
【００９０】
ステップＳ１０：
その後、ステップＳ１０において、移動元サーバ１００の動作が中断する。この時点でのディスクイメージ１０と上記ベースイメージＢＩとの差分が、コピーイメージＣＩとなる。ステップＳ０後に追加された部分、及び、ベースイメージＢＩ中で変更された部分が、コピーイメージＣＩに含まれる。
【００９１】
図１６は、ベースイメージＢＩとコピーイメージＣＩに関する様々なパターンを示している。例えばパターン（ａ）の場合、移動元サーバ１００におけるＯＳインストール直後のディスクイメージが、ベースイメージＢＩとして利用される。つまり、ＯＳインストール直後に上記ステップＳ０が実行される。この場合のベースイメージＢＩは汎用的であり、移動先候補への配布が容易となる。一方、ＯＳインストール後の追加・変更部分が、コピーイメージＣＩとなる。その追加・変更部分は、移動元ディスク１１０上のログファイルＬＯＧに記録される。コピーイメージＣＩのファイルリストであるコピーリストＣＬは、そのログファイルＬＯＧから作成することができる。
【００９２】
パターン（ｂ）の場合、アプリケーションのインストール、業務・ユーザ設定が完了した時点におけるディスクイメージが、ベースイメージＢＩとして利用される。つまり、アプリケーションのインストール、業務・ユーザ設定が完了した時点で、上記ステップＳ０が実行される。そして、その後の追加・変更部分がコピーイメージＣＩとなる。その追加・変更部分は、移動元ディスク１１０上のログファイルＬＯＧに記録される。この場合のベースイメージＢＩは、移動元サーバ１００の業務に特化している。しかし、パターン（ａ）の場合と比較して、ステップＳ５０でコピーされるコピーイメージＣＩのサイズが、より縮小されている。
【００９３】
パターン（ｃ）の場合、移動元サーバ１００の運用中の所定のタイミングが、“起点（ステップＳ０）”となる。その起点におけるディスクイメージが、スプリットミラー機能等によって瞬時に取り込まれ、ベースイメージＢＩとして利用される。そして、その起点以降の追加・変更部分がコピーイメージＣＩとなる。同様に、その追加・変更部分は、移動元ディスク１１０上のログファイルＬＯＧに記録される。このパターン（ｃ）の場合、ステップＳ５０でコピーされるコピーイメージＣＩのサイズが、最も縮小されている。
【００９４】
ステップＳ０後、ログファイルＬＯＧを作成するための方法の一例を、以下に説明する。図１７は、ステップＳ０以降のディスクイメージの変更の一例を、概念的に示している。あるファイル／ａ／ｆｉｌｅ１が削除される一方、他のファイル／ｂ／ｃ及び／ｂ／ｃ／ｆｉｌｅ３が作成されている。図１８は、図１７で示された変更に対応する動作シーケンスの一例を示している。
【００９５】
１．／ａ／ｆｉｌｅ１に対する書き込み
２．／ａ／ｆｉｌｅ１の削除
３．／ａ／ｆｉｌｅ２に対する読み込み
４．／ｂ／ｃの作成
５．／ｂ／ｃ／ｆｉｌｅ３の作成
６．／ｂ／ｃ／ｆｉｌｅ３に対する書き込み
【００９６】
図１８には、上記動作シーケンスに応じて作成されるログファイルＬＯＧも示されている。ログファイルＬＯＧの各エントリには、操作コードｏｐとファイル名が対応付けられて格納される。操作コードｏｐは、「Ｍ（ｍｏｄｉｆｙ）」あるいは「Ｄ（ｄｅｌｅｔｅ）」に設定される。書き込みの場合、ファイルの内容が変更されるため、「Ｍ」が選択される。読み込みの場合、ファイルの内容は変更されないため、ログファイルＬＯＧに記録を残す必要はない。ファイルの削除の場合、「Ｄ」が選択される。ファイルの作成の場合、「Ｍ」が選択される。ファイルの移動の場合、移動元のファイルに関しては「Ｄ」が選択され、移動先のファイルに関しては「Ｍ」が選択される。このようにして、移動元ディスク１１０上のファイルに対する操作の履歴を示すログファイルＬＯＧが作成される。
【００９７】
ステップＳ２０：
コピーリスト作成モジュール２０は、コピーイメージＣＩに含まれるファイルのリストであるコピーリストＣＬを作成する。ここで、上述のログファイルＬＯＧは、ベースイメージＢＩの作成（ステップＳ０）から業務中断（ステップＳ１０）までのファイルの変更情報を示している。従って、コピーリスト作成モジュール２０は、ログファイルＬＯＧを参照し解析することによって、コピーリストＣＬを作成することができる。
【００９８】
図１９は、図１８に示されたログファイルＬＯＧからコピーリストＣＬが作成される例を示している。コピーリストＣＬにおいて、１つのファイルに１つのエントリが割り当てられている。ファイル名は、ログファイルＬＯＧに現れるファイル名がそのまま使用されている。ログファイルＬＯＧに同じファイル名で複数のエントリが存在する場合、ログファイルＬＯＧ中で最後に現れるエントリが参照される。
【００９９】
例えば、ファイル／ａ／ｆｉｌｅ１に関しては、ログファイルＬＯＧ中のエントリ「Ｄ，／ａ／ｆｉｌｅ１」が参照される。操作コードｏｐが「Ｄ」の場合、コピーリストＣＬ中のＩＤとして「−１」が割り振られる。ファイル／ｂ／ｃに関しては、ログファイルＬＯＧ中のエントリ「Ｍ，／ｂ／ｃ」が参照される。操作コードｏｐが「Ｍ」の場合、コピーリストＣＬ中のＩＤとして「固有ＩＤ」が割り振られる。この場合、固有ＩＤは「１」である。ファイル／ｂ／ｃ／ｆｉｌｅ３に関しては、ログファイルＬＯＧ中のエントリ「Ｍ，／ｂ／ｃ／ｆｉｌｅ３」が参照される。この場合、固有ＩＤとして「２」が割り振られる。全てのフラグは、初期状態として「未コピー」に設定される。
【０１００】
このようにして、コピーリストＣＬが作成される。図１９において、コピーリストＣＬの各エントリは、割り当てられたＩＤと、ファイル名と、フラグとを有している。更に、コピーリストＣＬ中のＩＤに基づいて、上述のハッシュテーブルＨＴを作成することも可能である。
【０１０１】
ステップＳ５０におけるバックグラウンドコピーにおいて、ＩＤが「−１」であるファイルは、移動先ディスク２１０から削除される。他の処理に関しては、既出の実施の形態と同様である。
【０１０２】
尚、ＶＭ環境では、ある時点のイメージとそれ以降の変更部分を分けて管理する技術として、「ＶＭｗａｒｅ  ｎｏｎｐｅｒｓｉｓｔｅｎｔ  ｍｏｄｅ」や「ＵｎｉｏｎＦＳ」といった機能も知られている。それら機能を利用することによって、ベースイメージＢＩとコピーイメージＣＩの管理が行われてもよい。
【０１０３】
他の例として、図２０は、ベースイメージＢＩとコピーイメージＣＩの分割が、移動元ディスク１１０のファイル管理によって実現される例を示している。図２０に示されるように、移動元ディスク１１０は、第１の領域９１と第２の領域９２に分けて管理されている。第１の領域９１には、プログラム等の変更されないファイルだけが格納される。一方、第２の領域９２には、アプリケーションデータ等の変更され得るファイルが格納される。ファイルの書き換えは、第２の領域９２に対してだけ実行される。この場合、第１の領域９１のディスクイメージが、ベースイメージＢＩとして利用されるとよい。また、第２の領域９２のディスクイメージが、コピーイメージＣＩとしてコピーされるとよい。この場合、変更部分を追跡するためのログファイルＬＯＧは不要となる。また、コピーリスト作成モジュール２０は、第２の領域９２にアクセスすることによって、コピーリストＣＬを作成することができる。
【０１０４】
本実施の形態によれば、既出の実施の形態と同じ効果が得られる。すなわち、業務の中断時間が短縮される。更に、ステップＳ５０においてコピーすべき量が減少するため、図４における期間ｔ０〜ｔ２が短縮されるという追加的な効果が得られる。言い換えれば、動作環境全体のコピーが完了するまでの期間が短縮される。
【図面の簡単な説明】
【０１０５】
【図１】図１は、従来技術に係るサーバ動作環境の移動方法を示すフローチャートである。
【図２】図２は、本発明に係るサーバシステムの構成を概略的に示すブロック図である。
【図３】図３は、本発明に係るサーバ動作環境の移動方法を示すフローチャートである。
【図４】図４は、本発明の効果を説明するための図である。
【図５】図５は、本発明の第１の実施の形態に係るサーバシステムの構成を示すブロック図である。
【図６】図６は、コピーリストの一例を示す概念図である。
【図７】図７は、ハッシュテーブルの一例を示す概念図である。
【図８Ａ】図８Ａは、本実施の形態におけるコピーイメージのコピー方法を示すフローチャートである。
【図８Ｂ】図８Ｂは、本実施の形態におけるコピーイメージのコピー方法を示すフローチャートである。
【図９】図９は、本発明の第２の実施の形態に係るサーバシステムの構成を示すブロック図である。
【図１０】図１０は、コピーリストの一例を示す概念図である。
【図１１】図１１は、本発明の第３の実施の形態におけるディスクイメージを示す概念図である。
【図１２】図１２は、第３の実施の形態に係るサーバ動作環境の移動方法を示すフローチャートである。
【図１３】図１３は、第３の実施の形態に係るサーバシステムの構成の一例を示すブロック図である。
【図１４】図１４は、第３の実施の形態に係るサーバシステムの構成の他の例を示すブロック図である。
【図１５】図１５は、第３の実施の形態におけるベースリストの一例を示す概念図である。
【図１６】図１６は、第３の実施の形態におけるベースイメージとコピーイメージの例を示す概念図である。
【図１７】図１７は、ディスクイメージの追加・変更の例を示す概念図である。
【図１８】図１８は、ログファイルの作成例を示す概念図である。
【図１９】図１９は、ログファイルからコピーリストを作成する例を示す概念図である。
【図２０】図２０は、第３の実施の形態におけるベースイメージをコピーイメージの他の例を示す概念図である。
【符号の説明】
【０１０６】
１    サーバシステム
１０    ディスクイメージ
１１    第１のイメージ、ベースイメージ
１２    第２のイメージ、コピーイメージ
２０    コピーリスト作成モジュール
３０    コンテキストコピーモジュール
４０    コピー判定モジュール
５０    コピーモジュール
６０    ＲＯＭ
７０    ベースイメージ作成モジュール
８０    ベースイメージ配布モジュール
１００    移動元サーバ
１１０    移動元ディスク
１２０    移動元マシン
１３０    移動元ＶＭＭ
２００    移動先サーバ
２１０    移動先ディスク
２２０    移動先マシン
２３０    移動先ＶＭＭ
３００    管理サーバ
ＢＩ    ベースイメージ
ＣＩ    コピーイメージ
ＣＬ    コピーリスト
ＣＬ−Ｈ  ヘッダ部
ＣＬ−Ｂ  ボディ部
ＥＣ    実行コンテキスト
ＧＯＳ    ゲストＯＳ
ＨＴ    ハッシュテーブル
ＬＯＧ    ログファイル
【図１】
2008033483.tif 000003
【図２】
2008033483.tif 000004
【図３】
2008033483.tif 000005
【図４】
2008033483.tif 000006
【図５】
2008033483.tif 000007
【図６】
2008033483.tif 000008
【図７】
2008033483.tif 000009
【図８Ａ】
2008033483.tif 000010
【図８Ｂ】
2008033483.tif 000011
【図９】
2008033483.tif 000012
【図１０】
2008033483.tif 000013
【図１１】
2008033483.tif 000014
【図１２】
2008033483.tif 000015
【図１３】
2008033483.tif 000016
【図１４】
2008033483.tif 000017
【図１５】
2008033483.tif 000018
【図１６】
2008033483.tif 000019
【図１７】
2008033483.tif 000020
【図１８】
2008033483.tif 000021
【図１９】
2008033483.tif 000022
【図２０】
2008033483.tif 000023