(57)【特許請求の範囲】
【請求項１】
コンピュータ・デバイス上で実行されるとき、前記コンピュータ・デバイスに、
サーバ・コンピュータ・システムで実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
チェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成することであって、前記チェックポイント・メタデータは前記アプリケーション・チェックポイントの生成時での前記実行中のアプリケーションの状態を表すことと、
前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記サーバ・コンピュータ・システムから前記トポロジ的遠隔に位置するコンピュータ・システムに再配置することと、を実行させるコンピュータ・プログラム。
【請求項２】
プロセッサと、
前記プロセッサに結合したメモリとを備えた装置であって、前記メモリは、前記プロセッサによって実行されたときに、前記プロセッサに、
サーバ・コンピュータ・システムで実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
チェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成することであって、前記チェックポイント・メタデータは前記アプリケーション・チェックポイントの生成時での前記実行中のアプリケーションの状態を表すことと、
前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記サーバ・コンピュータ・システムから前記トポロジ的遠隔に位置するコンピュータ・システムに再配置することと、を実行させる命令を含む、装置。
【請求項３】
データ処理システム内において、実行中のアプリケーションを、サーバ・コンピュータ・システムからトポロジ的遠隔に位置するコンピュータ・システムに再配置するための方法であって、
前記サーバ・コンピュータ・システムで実行中のアプリケーションのアプリケーション・データを、前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、
チェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成するステップであって、前記チェックポイント・メタデータは前記アプリケーション・チェックポイントの生成時での前記実行中のアプリケーションの状態を表す、ステップと、
前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、
前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記サーバ・コンピュータ・システムから前記トポロジ的遠隔に位置するコンピュータ・システムに再配置するステップと、を含む方法。
【請求項４】
少なくとも１つのネットワークと、
前記ネットワークに結合する第１のコンピュータ・システムと、
前記ネットワークに結合する第２のコンピュータ・システムとを備えた、実行中のアプリケーションを再配置するためのシステムであって、前記第２のコンピュータ・システムは、前記第１のコンピュータ・システムからトポロジ的遠隔に位置し、前記第１のコンピュータ・システムは、
前記第１のコンピュータ・システムで実行中のアプリケーションのアプリケーション・データを前記第２のコンピュータ・システムに遠隔コピーし、
チェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成することであって、前記チェックポイント・メタデータは前記アプリケーション・チェックポイントの生成時での前記実行中のアプリケーションの状態を表すことを実行し、
前記チェックポイント・メタデータを前記第２のコンピュータ・システムに遠隔コピーし、
前記アプリケーション・データ及び前記チェックポイント・メタデータの前記コピーを用いて、前記第２のコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記第１のコンピュータ・システムから前記第２のコンピュータ・システムに再配置する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般に改善されたデータ処理システム及び方法に関する。より具体的には、本願は、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法に向けられる。
【背景技術】
【０００２】
高可用性及び災害時回復は、現代社会が日常活動を行う上で電子システムに益々大きく依存しているので、情報技術産業において益々重要性を増している。このような状況において、サーバ・コンピュータ・システムが故障した場合にも、実行中のアプリケーションを利用できることを保証するために、実行中のアプリケーションを一つのサーバ・コンピュータ・デバイスから別のデバイスに転送できることが益々重要となっている。さらに、サーバ・コンピュータ・システムが故障した場合に、実行中のアプリケーションが別のコンピュータ・システム上で回復できるように、実行中のアプリケーションを再配置できることが重要である。
【０００３】
実行中のアプリケーションを再配置するための１つの解決法は、ＶＭＷａｒｅから入手可能なＶＭｏｔｉｏｎ（登録商標）のソフトウェアによって提供される（ＶＭｏｔｉｏｎ（登録商標）の評価用コピーはｗｗｗ．ｖｍｗａｒｅ．ｃｏｍ／ｐｒｏｄｕｃｔｓ／ｖｃ／ｖｍｏｔｉｏｎ．ｈｔｍｌから入手できる）。ＶＭｏｔｉｏｎ（登録商標）のソフトウェアは、ユーザが、ライブの稼働中の仮想マシーンを１つの物理サーバ・コンピュータ・システムから、同じストレージ・エリア・ネットワーク（ＳＡＮ）に接続している別の物理サーバ・コンピュータ・システムに、連続的なサービス利用可能性を保持しながら、移動することを可能にする。ＶＭｏｔｉｏｎ（登録商標）のソフトウェアは、ストレージ・エリア・ネットワーク内でのディスクの仮想化のために、そうした再配置を実行することができる。
【０００４】
しかし、ＶＭｏｔｉｏｎ（登録商標）には、オペレーティング・システムと複数の実行中のアプリケーションとを含む可能性のある全体の仮想マシーンを、新しい物理サーバ・コンピュータ・デバイスに移動させることが必要である、という制約がある。ＶＭｏｔｉｏｎ（登録商標）のソフトウェアには、個々のアプリケーションを１つの物理サーバ・コンピュータ・デバイスから別のデバイスへ移動できる機能はない。
【０００５】
さらに、ＶＭｏｔｉｏｎ（登録商標）には、仮想マシーンの移動は、１つのサーバ・コンピュータ・デバイスから同じＳＡＮ内の別のデバイスにだけ実行可能である、という制約がある。従って、ＶＭｏｔｉｏｎ（登録商標）は、仮想マシーンをＳＡＮの外部にある他のサーバ・コンピュータ・デバイスに移動させるためには用いることができない。このことは、本質的に、ＶＭｏｔｉｏｎ（登録商標）ソフトウェア製品を用いて仮想マシーンを移動させることが可能なサーバ・コンピュータ・デバイスに、ネットワーク・トポロジ及び地理的な制約を加える。
【０００６】
実行中のアプリケーションの高可用性及び災害時回復を提供するもう１つの解決法は、最近Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，Ｉｎｃ．によって買収された、Ｍｅｉｏｓｙｓ，Ｉｎｃ．から入手可能なＭｅｔａＣｌｕｓｔｅｒ（登録商標）ＵＣ３．０ソフトウェア製品である。ｗｗｗ．ｐｒｎｅｗｓｗｉｒｅ．ｃｏｍにおけるＰＲ  Ｎｅｗｓｗｉｒｅから入手可能な“Ｍｅｉｏｓｙｓ  Ｒｅｌｅａｓｅ  ＭｅｔａＣｌｕｓｔｅｒ  ＵＣ  Ｖｅｒｓｉｏｎ  ３．０”と題する論文に記述されているように、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ソフトウェア製品は、Ｓｅｒｖｉｃｅ  Ｏｒｉｅｎｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅの上に構築され、ダイナミック・データ・センターが、サービス・レベルの保存と、あらゆる負荷条件下でのアプリケーションに依存しない基盤についてのインフラストラクチャの最適化とを実現することを可能にする、ファイン・グレインド仮想化技術の最新の生成を具体化している。
【０００７】
オペレーティング・システムのレベルで動作し、同時に全体の仮想マシーンを移動させることしかできない、上記のＶＭｏｔｉｏｎ（登録商標）のような、コース・グレインド仮想マシーン技術及び仮想マシーン移動性技術とは異なり、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ソフトウェア製品は、オペレーティング・システムとアプリケーションの間のミドルウェア層において動作する。ＭｅｔａＣｌｕｓｔｅｒ（登録商標）は、各アプリケーションを囲むコンテナ技術を提供して、アプリケーション及びアプリケーション・プロセスに対するリソース分離、及びマシーンからマシーンへの移動性を実現する。
【０００８】
ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ソフトウェア製品のアプリケーション仮想化技術及びコンテナ技術は、物理及び仮想マシーンの両方にわたるアプリケーションの再配置を可能にする。ＭｅｔａＣｌｕｓｔｅｒ（登録商標）はまた、企業が、高可用性とビジネス・ケース使用効率との両方に向けて、アプリケーション及びアプリケーション・プロセスのマシーンからマシーンへの再配置を管理するためのしきい値を設定し、ルールを定義することを可能にする実質的なビジネス・インテリジェンスを提供する。
【０００９】
ビジネスの重要なアプリケーションに対してＭｅｔａＣｌｕｓｔｅｒ（登録商標）ＵＣ３．０を展開することは、アプリケーションを非常に効率的に仮想化して、パフォーマンス・インパクトが目立たないように（典型的には１％未満）することを可能にする。仮想化されたアプリケーションは、次に、リソースの最適化とサービスの質との見地から最適のインフラストラクチャに移動させることができる。サーバの容量は、性能を損なうことなしに、高レベルの使用効率を達成するように動的に再割り当てすることが可能となる。ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ＵＣ３．０は、再配置に際して、アプリケーションの状態及びコンテクストを保存することができるので、その再配置は、アプリケーションのユーザにとって速く且つ透明となる。
【００１０】
ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ＵＣ３．０は、アプリケーションのそうした再配置をサーバ・クラスタ内で実行するために、透明な「チェックポイント及びリスタート」の機能性を用いる。チェックポイントを生成するときは、実行中のアプリケーションの全状態、接続、及びコンテクストを再作成するために必要なステートフル・データ、及びメタデータが、ある特定の時点に保存される。このチェックポイントは、次に原のサーバ・コンピュータ・デバイスと同じクラスタ内の別のサーバ・コンピュータ・デバイスに供給される。このチェックポイントが供給されるサーバ・コンピュータ・デバイスは、次に、クラスタの共有ストレージ・メモリから得られるアプリケーション・データを利用して、アプリケーションをリスタートするためにチェックポイント情報を用いることができ、且つ、そのアプリケーションの状態、接続、及びコンテクストを新しいサーバ・コンピュータ・デバイス上に再作成することができる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ＭｅｔａＣｌｕｓｔｅｒ（登録商標）ＵＣ３．０は、全体の仮想マシーンが再配置されることが必要であるのとは反対に、個々のアプリケーションの同じクラスタ内での再配置を可能にするが、依然としてＭｅｔａＣｌｕｓｔｅｒ（登録商標）はサーバ・コンピュータ・デバイスの局所的なクラスタに限定される。即ち、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）は、アプリケーション・データにアクセスするために、全てのサーバ・コンピュータ・デバイスが共有ストレージ・システムにアクセスできる機能、に頼っている。そのため、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）では、実行中のアプリケーションをサーバ・クラスタの外部に移動又は再配置することができない。再び、このことは、実行中のアプリケーションを再配置できるコンピュータ・デバイスのネットワーク・トポロジ及び地理的位置を限定する。
【課題を解決するための手段】
【００１２】
上記のことから考えて、実行中のアプリケーションを、トポロジ的及び／又は地理的に遠隔に位置するコンピュータ・デバイスに再配置するための、システム、方法、及びコンピュータ・プログラムを有することは有益である。さらに、実行中のアプリケーションを、その実行中のアプリケーションが以前に存在したコンピュータ・デバイスのストレージ・エリア・ネットワーク又はクラスタの外部にあるコンピュータ・デバイスに再配置するための、システム、方法、及びコンピュータ・プログラムを有することは有益である。さらにその上、災害時回復のために、アプリケーションの最後のチェックポイントへの即時回復を可能にする上記のような再配置機構を有することは有益である。以下に記述される例証的な実施形態は、そのようなシステム、方法、及びコンピュータ・プログラムを提供する。
【００１３】
例証的な実施形態の機構によれば、アプリケーションが再配置されるべきときには、そのアプリケーション・データはトポロジ的遠隔に位置するコンピュータ・システムのストレージ・システムにコピーされる。アプリケーション・データのコピー動作は、例えば、ピアツーピアの遠隔コピー動作などのミラーリング技術を用いて実行することができる。このアプリケーション・データは、アプリケーションの回復時点でのアプリケーション・データのコピーを生成するために、さらにインスタント・コピー又はフラッシュ・コピーのストレージ媒体にコピーすることができる。
【００１４】
本説明において、トポロジ的遠隔に位置するということは、そのコンピュータ・システムが、実行中のアプリケーションがそれから再配置されるコンピュータ・デバイスのクラスタ又はストレージ・エリア・ネットワークの外部に位置することを意味する。多くの場合、トポロジ的遠隔に位置するコンピュータ・システムは、地理的にも遠隔に位置するが、これは、トポロジ的遠隔に位置するコンピュータ・システムの必要条件ではない。むしろ、トポロジ的遠隔に位置するコンピュータ・システムは、種々のコンピュータ・デバイスを接続するネットワーク・トポロジの見地から遠隔に位置することだけが必要である。
【００１５】
アプリケーション・データをコピーすることに加えて、アプリケーションのステートフル・チェックポイントが生成されストレージ媒体に格納される。ステートフル・チェックポイントは、チェックポイントが生成された時点におけるアプリケーションの現状態を表す一組のメタデータを含む。チェックポイントは、チェックポイント・メタデータによって表されるアプリケーションの状態がアプリケーション・データと整合することを保証するように、アプリケーション・データのコピーと実質的に同じ時点に生成されることが好ましい。
【００１６】
チェックポイント・メタデータは、アプリケーション・データと同様の仕方で、トポロジ的遠隔に位置するコンピュータ・システムに関連する同種の、又は異種のストレージ・システムにコピーすることができる。例えば、遠隔に位置するストレージ・システムにチェックポイント・メタデータをコピーするために、ピアツーピア遠隔コピー動作をチェックポイント・メタデータに対して実行することが可能である。このチェックポイント・メタデータはさらに、アプリケーションの回復時点に関するチェックポイント・メタデータのコピーを作成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体にコピーすることができる。
【００１７】
１つの例証的な実施形態においては、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）製品は、アプリケーションがあたかもサーバ・コンピュータ・デバイスのローカル・クラスタ内で再配置されるかのように、アプリケーションのチェックポイント・メタデータを生成するために用いることができる。そのような例証的な実施形態においては、チェックポイント・メタデータ及びアプリケーション・データは、Ｎｅｗ  Ｙｏｒｋ州Ａｒｍｏｎｋ所在のＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，Ｉｎｃより入手可能な製品、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＰＰＲＣ）又はＰｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅ（ＰＰＲＣ−ＸＤ）を用いて、トポロジ的遠隔に位置するコンピュータ・システムに再配置することができる。これらの製品は、Ｍｅｔｒｏ  Ｍｉｒｒｏｒ（登録商標）（ＰＰＲＣ）及びＧｌｏｂａｌ  Ｃｏｐｙ（登録商標）（ＰＰＲＣ−ＸＤ）という名前でも呼ばれる。アプリケーション・データ及びチェックポイント・メタデータの回復時点でのコピーは、例えば、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，Ｉｎｃより入手可能なＦｌａｓｈＣｏｐｙ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標）製品を用いて、生成することができる。
【００１８】
１つの例証的な実施形態においては、コンピュータ可読なコンピュータ・プログラムが提供される。コンピュータ可読プログラムは、コンピュータ・デバイス上で実行されるとき、コンピュータ・デバイスに、実行中のアプリケーションのアプリケーション・データを、トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含んだアプリケーション・チェックポイントを生成することを、実行させる。コンピュータ・プログラムはさらに、コンピュータ・デバイスに、チェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、アプリケーション・データ及びチェックポイント・メタデータのコピーを用いてトポロジ的遠隔に位置するコンピュータ・システム上で実行中のアプリケーションを開始することによって、トポロジ的遠隔に位置するコンピュータ・システムに実行中のアプリケーションを再配置することを、実行させることができる。コンピュータ・プログラムは、コンピュータ・デバイスに、実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含むアプリケーション・チェックポイントを生成するステップと、チェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップとを繰返して実行させることができる。
【００１９】
コンピュータ・プログラムはさらに、コンピュータ・デバイスに、アプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、ピアツーピア遠隔コピー動作を用いてチェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることを、実行させることができる。ピアツーピア遠隔コピー動作は、非同期コピー動作とすることができる。ピアツーピア遠隔コピー動作は、不同期的な非同期コピー動作としてもよい。トポロジ的遠隔に位置するコンピュータ・システムは、実行中のアプリケーションを初めに動作させているソース・コンピュータ・システムから地理的遠隔に位置してもよい。
【００２０】
遠隔コピーされたアプリケーション・データと、遠隔コピーされたチェックポイント・メタデータとは、トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・システムから、回復チェックポイントを生成するために、少なくとも一つの他のストレージ・デバイスにコピーすることができる。遠隔コピーされたアプリケーション・データ及びチェックポイント・メタデータを、少なくとも一つの他のストレージ・デバイスにコピーするステップは、インスタント・コピー動作を用いて実行することができる。
【００２１】
トポロジ的遠隔に位置するコンピュータ・システムは、全てのアプリケーション・データ及びチェックポイント・メタデータが遠隔コピーされているかを判断するために、それからアプリケーション・データ及びチェックポイント・メタデータが遠隔コピーされるソース・コンピュータ・システムに関連するストレージ・コントローラと、トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・コントローラとに対して照会することができる。トポロジ的遠隔に位置するコンピュータ・システムは、アプリケーション・データの全てがトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合にだけ、遠隔コピーされたアプリケーション・データを少なくとも一つの他のストレージ・デバイスにコピーするステップを実行することができる。トポロジ的遠隔に位置するコンピュータ・システムは、チェックポイント・メタデータの全てがトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合にだけ、遠隔コピーされたチェックポイント・メタデータを少なくとも一つの他のストレージ・デバイスにコピーするステップを実行することができる。
【００２２】
コンピュータ・プログラムはさらに、コンピュータ・デバイスに、遠隔コピー動作中に、トポロジ的遠隔に位置するコンピュータ・システムの失敗を検出することを、実行させることができる。コンピュータ・プログラムはまた、コンピュータ・デバイスに、トポロジ的遠隔に位置するコンピュータ・デバイスに関連したストレージ・デバイス内に存在する、遠隔コピーされたアプリケーション・データと、遠隔コピーされたチェックポイント・メタデータとに基づいて、実行中のアプリケーションの状態を最後のチェックポイントにおいて回復することを、実行させることができる。
【００２３】
コンピュータ・デバイスは、コンピュータ・デバイスが実行中のアプリケーションのアプリケーション・データを遠隔コピーするときに、実質的に同じ時点においてアプリケーション・チェックポイントを生成することができる。コンピュータ・デバイスは、ストレージ・エリア・ネットワーク制御のコンピュータ・デバイスか、又は、サーバ・クラスタ制御のコンピュータ・デバイスとすることができる。
【００２４】
もう１つの例証的な実施形態においては、プロセッサと、そのプロセッサに結合したメモリとを備えた装置が提供される。メモリは、プロセッサによって実行されるときに、プロセッサに、コンピュータ・プログラムに関する上述の１つ又は複数の動作を実行させる命令を含むことができる。
【００２５】
さらなる例証的な実施形態においては、実行中のアプリケーションをソース・コンピュータ・デバイスからトポロジ的遠隔に位置するコンピュータ・システムに再配置するための、データ処理システム内における方法が提供される。その方法は、コンピュータ・プログラムに関する上記の１つ又は複数の動作を含む。
【００２６】
さらにもう１つの例証的な実施形態においては、実行中のアプリケーションを再配置するためのシステムが提供される。そのシステムは、少なくとも１つのネットワークと、ネットワークに接続した第１のコンピュータ・システムと、ネットワークに接続した第２のコンピュータ・システムとを備えることができる。第２のコンピュータ・システムは、第１のコンピュータ・システムからトポロジ的遠隔に位置することができる。第１のコンピュータ・システムは、第１のコンピュータ・システム上の実行中のアプリケーションのアプリケーション・データを、第２のコンピュータ・システムに遠隔コピーすること、及び、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含んだアプリケーション・チェックポイントを生成することができる。第１のコンピュータ・システムはさらに、チェックポイント・メタデータを第２のコンピュータ・システムに遠隔コピーすることと、アプリケーション・データ及びチェックポイント・メタデータのコピーを用いて、第２のコンピュータ・システム上で実行中のアプリケーションを開始することによって、実行中のアプリケーションを第２のコンピュータ・システムに再配置することを、実行できる。
【００２７】
本発明の、これら及び他の特徴と利点は、本発明の例示的な実施形態に関する以下の詳細な説明中に記述され、或いは、それらの説明を考慮することにより当業者には明白となる。
【００２８】
本発明の特色と考えられる新しい特徴は、添付の請求項に示される。しかし、本発明自体は、好ましい利用態様、及びそのさらなる目的及び利点と同様に、添付の図面を参照しながら、例証的な実施形態に関する以下の詳細な説明を読むことによって最も良く理解されるであろう。
【発明を実施するための最良の形態】
【００２９】
ここに示される例証的な実施形態は、実行中のアプリケーションを、トポロジ的に、そして多くの場合地理的に、遠隔に位置するコンピュータ・システムに、即ち、それから実行中のアプリケーションが再配置されるコンピュータ・システムのストレージ・エリア・ネットワーク又はクラスタ内に存在しないコンピュータ・システムに、再配置するための機構を提供する。従って、この例証的な実施形態の機構は、分散データ処理環境において実装されることが好ましい。
【００３０】
以下の記述においては、例証的な実施形態の機構が、１つ又は複数のネットワーク及び通信リンクを介して互いに通信できるという条件を満たすデータ処理システムのネットワークが存在する、分散データ処理環境によって説明される。図１及び図２は、例証的な実施形態の態様を実装することのできるデータ処理環境の実施例を与える。図解されたデータ処理環境は、例示のためだけであり、例証的な実施形態の例示的態様を実装することのできるデータ処理環境の型又は構成に関して何らの限定を言明又は意味するものではない。図１及び図２に示されるデータ処理環境に対して、本発明の精神と範囲から逸脱することなしに、多くの変更を施すことができる。
【００３１】
ここで図を参照すると、図１は本発明を実装することのできるデータ処理システムのネットワーク１００の図解表示を示す。ネットワーク・データ処理システム１００は、ローカル・エリア・ネットワーク（ＬＡＮ）１０２とラージ・エリア・データ・ネットワーク１３０を含み、これらは、ネットワーク・データ処理システム１００内で相互に接続する種々のデバイス及びコンピュータの間の通信リンクを提供するのに用いられる媒体である。ＬＡＮ１０２及びラージ・エリア・データ・ネットワーク１３０は、有線通信リンク、無線通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
【００３２】
図解された実施例においては、サーバ・コンピュータ・デバイス１０１−１０５がＬＡＮ１０２に接続している。サーバ・コンピュータ・デバイス１０１−１０５は、例えば、ストレージ・エリア・ネットワーク（ＳＡＮ）又はサーバ・クラスタ１２０を含むことができる。ＳＡＮ及びサーバ・クラスタは、一般に当技術分野において周知のものであり、従って、ＳＡＮ／クラスタ１２０のより詳細な説明はここでは与えられない。
【００３３】
サーバ・コンピュータ・デバイス１０１−１０５に加えて、クライアント１０８，１１０、及び１１２がＬＡＮ１０２に接続している。これらのクライアント１０８，１１０、及び１１２は、例えば、パーソナル・コンピュータ、ワークステーション、アプリケーション・サーバ等とすることができる。図解された実施例においては、サーバ・コンピュータ・デバイス１０１−１０５は、クライアント１０８、１１０、及び１１２のために、データ・オブジェクトを格納し、追跡し、検索することができる。クライアント１０８，１１０、及び１１２は、サーバ・コンピュータ・デバイス１０１−１０５に対するクライアントであり、従って、アプリケーションをサーバ・コンピュータ・デバイス１０１−１０５上で実行し、且つ、これらのサーバ・コンピュータ・デバイス１０１−１０５からデータ・オブジェクトを取得するために、ＬＡＮ１０２を介してサーバ・コンピュータ・デバイス１０１−１０５と通信することができる。ネットワーク・データ処理システム１００は、図示されていない付加的なサーバ、クライアント、及び他のデバイスを含むことができる。
【００３４】
ＬＡＮ１０２に加えて、ネットワーク・データ処理システム１００は、ＬＡＮ１０２に結合したラージ・エリア・データ・ネットワーク１３０を含む。図解された実施例においては、ラージ・エリア・データ・ネットワーク１３０は、互いに通信するためのＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｋｏｌ（ＴＣＰ／ＩＰ）のプロトコルのスイートを用いるネットワーク及びゲートウェイの、世界中に及ぶコレクションを表すインターネットとすることができる。インターネットの中心には、何千もの商業用、政府、教育用及び他のコンピュータ・システムからなる、メジャー・ノード又はホスト・コンピュータの間の、データ及びメッセージを伝送する高速データ通信回線のバックボーンが存在する。
【００３５】
インターネットは、典型的にはクラスタ内のサーバによって、メッセージング・トラフィックのためのＴＣＰ／ＩＰを用いて相互に通信するために用いられることに注意されたい。ミラーリングに関与するストレージ・コントローラは、例えば以下に論じるＰＰＲＣは、典型的には、ＦＩＣＯＮ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）チャネル・コマンド、ＳＣＳＩコマンド、又はＴＣＰ／ＩＰを用いて、別々のストレージ・ネットワークを越えて通信する。
【００３６】
勿論、ラージ・エリア・データ・ネットワーク１３０は、例えば、イントラネット、別のローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）など、種々様々な型のネットワークとして実装することもできる。図１は１つの実施例として意図しただけであって、ここで説明されている例証的な実施形態に関するなんらの構造的な限定を言明又は意味するものではない
【００３７】
サーバ・コンピュータ・デバイス１４０は、ラージ・エリア・データ・ネットワーク１３０に結合し、且つ、関連するストレージ・システム１５０を有する。ストレージ・システム１５０は、サーバ・コンピュータ・デバイス１４０に直接結合しているように図示されているが、その代りに、ラージ・エリア・データ・ネットワーク１３０又は別のネットワーク（図示せず）を介して、サーバ・コンピュータ・デバイス１４０によって間接的にアクセスされるようにしてもよい。サーバ・コンピュータ・デバイス１４０は、ＳＡＮ／クラスタ１２０からトポロジ的遠隔に位置する。即ち、サーバ・コンピュータ・デバイス１４０は、ＳＡＮ／クラスタ１２０の一部ではない。さらに、サーバ・コンピュータ・デバイス１４０は、ＳＡＮ／クラスタ１２０から地理的遠隔に位置してもよい。
【００３８】
以下に説明される例証的な実施形態は、実行中のアプリケーションを、ＳＡＮ／クラスタ１２０のサーバ・コンピュータ・デバイス１０１−１０５から、トポロジ的遠隔に位置するサーバ・コンピュータ・デバイス１４０に再配置するための機構を提供する。例証的な実施形態は、ＳＡＮ／クラスタ１２０からの実行中のアプリケーションの再配置によって説明されるが、例証的な実施形態及び本発明はそれらに限定されないことを理解されたい。本発明の精神と範囲から逸脱することなしに、むしろ、ＳＡＮ／クラスタ１２０の代りに、単一のサーバ・コンピュータ・デバイスを、或いはクライアント・コンピュータ・デバイスでさえも、トポロジ的遠隔に位置するサーバ・コンピュータ・デバイス（サーバ又はクライアント・コンピュータ・デバイス）に再配置される実行中のアプリケーションのソースとすることができる。
【００３９】
次に図２を参照すると、本発明の好ましい実施形態による、図１中の１つ又は複数のサーバ・コンピュータ・デバイス１０１−１０５、又はサーバ・コンピュータ・デバイス１４０などのサーバ・コンピュータ・デバイスとして、実装することが可能なデータ処理システムのブロック図が示される。データ処理システム２００は、システム・バス２０６に接続する複数のプロセッサ２０２及び２０４を含んだ対称的マルチプロセッサ（ＳＭＰ）システムとすることができる。代りに、単一のプロセッサ・システムを用いても良い。システム・バス２０６にはまた、ローカル・メモリ２０９に対するインタフェースを提供するメモリ・コントローラ／キャッシュ２０８が接続している。Ｉ／Ｏバス・ブリッジ２１０は、システム・バス２０６に接続し、Ｉ／Ｏバス２１２に対するインタフェースを提供する。メモリ・コントローラ／キャッシュ２０８とＩ／Ｏバス・ブリッジ２１０とは、図示されているように統合することができる。
【００４０】
Ｉ／Ｏバス２１２に接続する周辺コンポーネント相互接続（ＰＣＩ）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６に対するインタフェースを提供する。多数のモデムをＰＣＩローカル・バス２１６に接続できる。典型的なＰＣＩバスの実装は、４つのＰＣＩ拡張スロット又はアド・イン・コネクタをサポートする。図１中のクライアント１０８−１１２、及び／又は他のネットワーク結合デバイスへの通信リンクは、モデム２１８を通して、及び／又は、アド・イン・コネクタを介してＰＣＩローカル・バス２１６に接続したネットワーク・アダプタ２２０を通して与えられる。
【００４１】
付加的なＰＣＩブリッジ２２２及び２２４は、付加的なＰＣＩローカル・バス２２６及び２２８に関するインタフェースを提供し、それらから付加的なモデム又はネットワーク・アダプタをサポートすることができる。この方式により、データ処理システム２００は多数のネットワーク・コンピュータへの接続を可能にする。メモリ・マップされたグラフィック・アダプタ２３０及びハード・ディスク２３２もまた、直接的又は間接的に、図示されているようにＩ／Ｏバス２１２に接続することができる。
【００４２】
当業者は、図２中に図示されているハードウェアは変更できることを認識するであろう。例えば、光学ディスク・デバイスなどの他の周辺装置もまた、図示されているハードウェアに加えて、又はその代りに用いることができる。図示されている実施例は、本発明に関する構造的な限定を意味するものではない。
【００４３】
図２中に図示されているデータ処理システムは、例えば、Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ（ＡＩＸ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標））オペレーティング・システム、又はＬＩＮＵＸ（Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標）オペレーティング・システムを動作させる、Ｎｅｗ  Ｙｏｒｋ州Ａｒｍｏｎｋ所在のＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの製品である、ＩＢＭ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  ｅＳｅｒｖｅｒ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  ｐＳｅｒｉｅｓ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）システムとすることができる。
【００４４】
再び図１を参照すると、例証的な実施形態の機構によれば、高可用性と災害時回復を提供するために、１つのコンピュータ・デバイスから別のものへ実行中のアプリケーションを再配置することが望ましい。特に、実行中のアプリケーションをサーバ・コンピュータ・デバイス１０１−１０５から、トポロジ的に及び／又は地理的に遠隔に位置するサーバ・コンピュータ・デバイス１４０に再配置することが有益である。例証的な実施形態は、実行中のアプリケーションのアプリケーション・データ及びチェックポイント・メタデータを、トポロジ的に及び／又は地理的に遠隔に位置するコンピュータ・デバイスに遠隔コピーする機能を有し、加えて、回復チェックポイントの時点を与えるためのアプリケーション・データ及びチェックポイント・メタデータをインスタント・コピーする機能を有する機構を提供する。
【００４５】
前述のように、ＶＭｏｔｉｏｎ（登録商標）及びＭｅｔａＣｌｕｓｔｅｒ（登録商標）などの既知の機構は、ローカルなトポロジ内、即ち、ＳＡＮ／クラスタ１２０内での実行中のアプリケーションの再配置だけを許可する。これらの既知の機構によっては、実行中のアプリケーションをそれに再配置することが可能なコンピュータ・デバイスは、同じ共有ストレージ・システムにアクセスしなければならず、このことにより、再配置をローカルなトポロジ的及び地理的エリア内に制限する。既知の機構は、実行中のアプリケーションを、トポロジ的に及び／又は地理的に遠隔に位置するコンピュータ・デバイスに再配置することを許可しない。
【００４６】
例証的な実施形態の機構によれば、実行中のアプリケーションが、例えばサーバ・コンピュータ・デバイス１０１からトポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０に再配置されることになったとき、サーバ・コンピュータ・デバイス１０１は、実行中のアプリケーションのアプリケーション・データを、トポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０に関連するストレージ・システム１５０にコピーする。アプリケーション・データをコピーするステップは、例えばピアツーピア遠隔コピー動作を用いて実行することができる。このアプリケーション・データはさらに、アプリケーションの回復の時点、即ち、回復チェックポイントに関するアプリケーション・データのコピーを生成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体１６０にコピーすることができる。
【００４７】
前述のように、トポロジ的遠隔に位置するということは、本明細書においては、サーバ・コンピュータ・システム１４０が、実行中のアプリケーションがそれから再配置されるサーバ・コンピュータ・デバイス１０１のＳＡＮ／クラスタ１２０の外部にあることを意味する。多くの場合、トポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０は、同様に地理的にも遠隔に位置するが、このことは、サーバ・コンピュータ・システム１４０がトポロジ的遠隔に位置することの必要条件ではない。むしろ、トポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０は、種々のコンピュータ・デバイスに接続するネットワーク・データ処理システム１００のネットワーク・トポロジの点で、遠隔に位置することだけが必要である。
【００４８】
アプリケーション・データをトポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０にコピーすることに加えて、サーバ・コンピュータ・デバイス１０１はまた、実行中のアプリケーションのステートフル・チェックポイントを生成し、そのチェックポイント・データを、サーバ・コンピュータ・デバイス１０１に関連するストレージ媒体に格納する。ステートフル・チェックポイントは、チェックポイントが生成された時点における実行中のアプリケーションの現状態を記述する１組のメタデータを含む。チェックポイントは、チェックポイント・メタデータによって表されるアプリケーションの状態がアプリケーション・データと整合することを保証するように、アプリケーション・データのコピーと実質的に同じ時点に生成されることが好ましい。
【００４９】
チェックポイント・メタデータは、アプリケーション・データと同様の方式で、トポロジ的遠隔に位置するコンピュータ・システムに関連する同じ又は異なるストレージ・システム１５０にコピーすることができる。チェックポイント・メタデータをトポロジ的遠隔に位置するストレージ・システム１５０にコピーするために、例えば、ピアツーピア遠隔コピー動作をチェックポイント・メタデータに実行することができる。このチェックポイント・メタデータはさらに、アプリケーションの回復時点のチェックポイント・メタデータのコピーを生成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体１６０にコピーすることができる。
【００５０】
１つの例証的な実施形態においては、あたかもアプリケーションがサーバ・コンピュータ・デバイス１０１−１０５のローカル・クラスタ１２０内で再配置されるかのように、実行中のアプリケーションのチェックポイント・メタデータを生成するために、ＭｅｔａＣｌｕｓｔｅｒ（登録商標）製品を用いることができる。そのような例証的な実施形態においては、Ｎｅｗ  Ｙｏｒｋ州Ａｒｍｏｎｋ所在のＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，  Ｉｎｃから入手可能なＰｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＰＰＲＣ）、又はＰｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅｓ（ＰＰＲＣ−ＸＤ）製品を用いて、チェックポイント・メタデータ及びアプリケーション・データをトポロジ的遠隔に位置するサーバ・コンピュータ・システム１４０に再配置することができる。アプリケーション・データ及びチェックポイント・メタデータの回復時点のコピーは、例えば、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，  Ｉｎｃから入手可能なＦｌａｓｈＣｏｐｙ（登録商標）製品を用いて生成することができる。
【００５１】
ＭｅｔａＣｌｕｓｔｅｒ（登録商標）、ＰＰＲＣ，ＰＰＲＣ−ＸＤ，及びＦｌａｓｈＣｏｐｙ（登録商標）製品は、当技術分野では一般的に知られている。ＭｅｔａＣｌｕｓｔｅｒ（登録商標）製品に関する情報は、例えば、ＰＲ  Ｎｅｗｓｗｉｒｅのウェブサイト（ｗｗｗ.ｐｒｎｅｗｓｗｉｒｅ．ｃｏｍ）から取得できる“Ｍｅｉｏｓｙｓ  Ｒｅｌｅａｓｅｓ  ＭｅｔａＣｌｕｓｔｅｒ  ＵＣ  Ｖｅｒｓｉｏｎ  ３．０”及び“Ｍｅｉｏｓｙｓ  Ｒｅｌｏｃａｔｅｓ  Ｍｕｌｔｉ−Ｔｉｅｒ  Ａｐｐｌｉｃａｔｉｏｎｓ  Ｗｉｔｈｏｕｔ  Ｉｎｔｅｒｒｕｐｔｉｏｎ  ｏｆ  Ｓｅｒｖｉｃｅ”と題する論文中に見いだすことができる。ＰＰＲＣ及びＰＰＲＣ−ＸＤ製品に関する情報は、例えば、Ｃａｓｔｅｔｓ他著の“ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  ＰＰＲＣ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅ”と題するＲｅｄｂｏｏｋの論文中に記述され、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，  Ｉｎｃのオフィシャル・ウェブサイト（ｗｗｗ．ｉｂｍ．ｃｏｍ）から取得できる。ＦｌａｓｈＣｏｐｙ製品は、例えば、Ｗａｒｒｉｃｋ他著の“ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  ＰＰＲＣ  Ｍｉｇｒａｔｉｏｎ  Ｍａｎａｇｅｒ  ａｎｄ  ＦｌａｓｈＣｏｐｙ  Ｍａｎａｇｅｒ  Ｏｖｅｒｖｉｅｗ”と題するＲｅｄｂｏｏｋの論文中に記述されており、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，  Ｉｎｃのオフィシャル・ウェブサイト（ｗｗｗ．ｉｂｍ．ｃｏｍ）から取得できる。これらのドキュメントは、引用によりここに組み入れられる。
【００５２】
図３は、１つの例証的な実施形態による、ピアツーピア遠隔コピー動作を示す例示的なブロック図である。図示された実施例においては、ＰＰＲＣ−ＸＤ製品がピアツーピア遠隔コピー動作を実行するために用いられているが、本発明はＰＰＲＣ又はＰＰＲＣ−ＸＤの使用に限定されない。むしろ、データ及びメタデータをトポロジ的遠隔に位置するストレージ・システムに遠隔コピーすることを許可する任意の機構は、本発明の精神と範囲から逸脱することなしに使用できる。
【００５３】
ＰＰＲＣ−ＸＤを、データ及びメタデータの遠隔コピーを実行するための１つの例証的な実施形態の典型として用いて、ＰＰＲＣは、１つのサイト（アプリケーション・サイトと呼ぶ）から第２のサイト（リカバリ・サイトと呼ぶ）への、アプリケーション・システム・データのシャドーイングを可能にするエンタプライズ・ストレージ・サーバ（ＥＳＳ）機能となる。データをＥＳＳ内でアプリケーション・サイトにおいて保持する論理ボリュームは、１次ボリュームと呼ばれ、ミラーリングされたデータをリカバリ・サイトに保持する対応する論理ボリュームは２次ボリュームと呼ばれる。１つの例証的な実施形態においては、１次と２次のＥＳＳの間の接続は、Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍｓ  Ｃｏｎｎｅｃｔｉｏｎ（ＥＳＣＯＮ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標））を用いて提供することができる。
【００５４】
図３は、ＰＰＲＣを同期モード（ＰＰＲＣ−ＳＹＮＣ）で動作するときの書込み動作の順序を示す。図３に示されるように、この同期型の動作においては、アプリケーション・サイトの１次ボリューム３２０に対してなされるアップデートは、リカバリ・サイトの２次ボリューム３３０に同期的にシャドーイングされる。これは同期的なソリューションであるので、コンピュータ・デバイス３１０上で実行中のアプリケーションについて書込みが完了したと見なされる前に、書込みのアップデートは両方のコピー（１次及び２次の）に関して保証される。
【００５５】
ＰＰＲＣ−ＳＹＮＣ動作においては、アプリケーションは、アプリケーションの見地からアップデートが同期的に１次及び２次ボリューム、３２０及び３３０の両方において終了するまでは、「書込み完了」状態とならないので、リカバリ・サイトの２次ボリューム３３０におけるデータは、常に１次ボリューム３２０におけるデータと一致するリアル・タイム・データである。
【００５６】
この特徴の一つの含意は、通常のＰＰＲＣ−ＳＹＮＣ動作においては、従属的な書込みが、１次ボリューム３２０に適用されるのと同じ順序で、２次ボリューム３３０に適用されるということである。これは、回復時におけるアプリケーションの整合性の見地からは非常に重要である。ＰＰＲＣ−ＳＹＮＣは、整合性のチェックポイントを造るためにアプリケーションに周期的に割り込むことを必要とせずに、リカバリ・サイトにおける連続的なデータ整合性を提供することができる。アプリケーションの見地からは、これはリカバリ・ロケーションにおいて常に妥当なデータを有するための非介入的方法である。
【００５７】
図３には、同期的ＰＰＲＣ動作が示されているが、本実例的実施形態の機構は、同期的及び非同期的な遠隔コピー動作の両方に等しく適用できることを認識されたい。非同期的な遠隔コピー動作においては、データが２次ボリューム３３０にコミットされる前に、「書込み完了」が１次ボリューム３２０から返される可能性がある。本質的に、ここの例証的な実施形態の非同期的遠隔コピー動作に関しては、インスタント・コピー動作が実行される前にデータ整合状態であるためには、以下に説明されるインスタント・コピーのソース・ストレージ・デバイスが必要である。そのようなデータ整合性を保証するための例示的な動作は、以下に図４を参照しながら説明される。
【００５８】
例証的な実施形態において、アプリケーション・データ及びチェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに関連したストレージ・システムに遠隔コピーを書き込むために、遠隔コピー動作を用いているが、その動作は好ましい実施形態においては、ＰＰＲＣ及びＰＰＲＣ−ＸＤによって提供されるようなピアツーピアの遠隔コピー動作である。図４は、１つの例証的な実施形態による、実行中のアプリケーションを再配置する動作を示す例示的なダイアグラムである。
【００５９】
図４に示されるように、実行中のアプリケーションが、以後遠隔サーバ４２０と呼ぶトポロジ的遠隔に位置するサーバ・コンピュータ・システムに再配置されることになったとき、以後アプリケーション・サーバ４１０と呼ぶアプリケーションがその上で実行しているサーバ・コンピュータ・デバイスは、アプリケーション・データの遠隔コピーを遠隔サーバ４２０に関連するストレージ・システムに書き込む。図示される実施例においては、例えば実行中のアプリケーションのアウトバウンド・データを含む可能性のあるアプリケーション・データは、アプリケーション・サーバ４１０のデータ・ストレージＡ内に存在し、遠隔コピー動作により、遠隔サーバ４２０のデータ・ストレージＢに書き込まれる。
【００６０】
アプリケーション・データの遠隔コピーに加えて、アプリケーション・サーバ４１０は実行中のアプリケーションのチェックポイントを生成する。チェックポイントのメタデータは、図示された実施例においては、データ・ストレージＡと同じストレージ・システム内にあってもそうでなくとも良いデータ・ストレージＭに格納される。チェックポイントは、アプリケーション・データのデータ・ストレージＢへの遠隔コピーと実質的に同時に生成されることが好ましい。このことは、チェックポイント・メタデータによって表される実行中のアプリケーションの状態が、データ・ストレージＢにコピーされたアプリケーション・データと整合することを保証する助けとなる。
【００６１】
チェックポイント・メタデータは、データ・ストレージＮに遠隔コピーされる。再び、この遠隔コピーは、例えば、ＰＰＲＣ又はＰＰＲＣ−ＸＤによって提供されるようなピアツーピア遠隔コピー動作を用いて実行することができる。データ・ストレージＮは、データ・ストレージＢと同じストレージ・システム内にあってもそうでなくとも良い。この時点で、データ・ストレージＢ及びデータ・ストレージＮは、遠隔サーバ４２０上で実行中のアプリケーションの状態を再形成するのに必要な全ての情報を含む。このデータ及びメタデータを用いて、アプリケーションを開始することができ、アプリケーションの状態をチェックポイント・メタデータによって表される状態に設定することができる。このようにして、実行中のアプリケーションは、アプリケーション・サーバ４１０から遠隔サーバ４２０に再配置することができる。
【００６２】
さらに、データ・ストレージＢ内のアプリケーション・データと、データ・ストレージＮ内のチェックポイント・メタデータとのインスタント又はフラッシュ・コピーを、回復チェックポイントを生成するために作成することができる。図４に示されるように、データ・ストレージＢ内のアプリケーション・データのインスタント又はフラッシュ・コピーは、データ・ストレージＣに作成することができる。同様に、データ・ストレージＮ内のチェックポイント・メタデータのインスタント又はフラッシュ・コピーは、データ・ストレージＯに作成することができる。データ・ストレージＣとＯは、同じストレージ・システム内に在ることが好ましいが、データ・ストレージＢ及びＮとは同じストレージ・システム内にあってもそうでなくとも良い。
【００６３】
前述のように、上記の遠隔コピー動作は、同期的又は非同期的なミラーリング動作、即ち、遠隔コピー動作を用いて実行することが可能であることを認識されたい。同期的ミラーリングによると、ストレージ・デバイスＡに格納されるデータは、ストレージ・デバイスＢに格納されるデータと常に同一となる。同様に、ストレージ・デバイスＭに格納されるデータは、ストレージ・デバイスＮ格納されるデータと同一となる。アプリケーション・チェックポイントが生成されるときは、ストレージ・デバイスＢの状態は、インスタント・コピー動作を用いてストレージ・デバイスＣ内に保存される。次に、チェックポイント状態のメタデータがストレージ・デバイスＭに書き込まれるときは、そのメタデータはまた、本質的に同期的ミラーリングによってストレージ・デバイスＮに書き込まれる。このとき、ストレージ・デバイスＣは、ストレージ・デバイスＮと同じ論理時点に整合するが、ここでストレージ・デバイスＮは、実装方法に依存して、その状態を保存するようにストレージ・デバイスＯにコピーしてもしなくとも良い。
【００６４】
非同期的ミラーリングを実行する２つの方法がある。１つの方法は、任意の時点でストレージ・デバイス上のデータの整合性を維持する、アップデートの原の順序を保存することである。もう１つの方法は、アップデートの順序は維持せず、しかし、最高帯域幅を達成するためにデータ伝送を最適化すること（「不同期」動作と呼ぶ）である。
【００６５】
ＰＰＲＣ−ＸＤは不同期動作を実装する。従って、ストレージ・デバイス内の整合性を確保するのに２つの方法の１つを用いることができる。１つの方法は、ソース・ストレージ・デバイス上の全ての変更されたデータが複製されているかどうかを判断するために、関与するストレージ・デバイスに関連するストレージ・コントローラに照会することである。全てのデータが複製されている場合には、ストレージ・デバイス内のミラーリングされた対は同一となり、インスタント・コピーがストレージ・デバイスＣ又はＯの上に１組の整合的なデータの組を生成することになる。さもなければ、インスタント・コピー動作を実行する前に全ての変更されたデータが複製されるまで待機する必要がある。この方法は、データが実時間ベースで変化しないアプリケーションに最適である。
【００６６】
他方の方法は、不同期複製から同期複製に変更するようにストレージ・コントローラに命令することである。これが行なわれたときは、前述の同期動作に類似した状態が生成され、インスタント・コピー動作を実行することができる。インスタント・コピー動作が実行された後、データ伝送を最適化するようにミラーリング動作を不同期に戻すことができる。この方法は、例証的な実施形態の好ましい実施形態において利用されるが、本発明はこの特定の方法に限定されない。ここに説明された以外の方法は、インスタント・コピー動作を実行する前にソース・ストレージ・デバイスのデータ整合性が保証される限り、本発明の精神及び範囲から逸脱することなしに、用いることができる。
【００６７】
図５は、例証的な実施形態による、実行中のアプリケーションを再配置する機構の基本的な動作のコンポーネントの例示的なブロック図である。図５に示されるエレメントは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの任意の組合せの形態で実装することができる。好ましい実施形態においては、図５に示されるエレメントは、１つ又は複数のプロセッサによって実行されるソフトウェア命令として実装される。しかし、１つ又は複数の専用ハードウェア・デバイスを、図５中のエレメントの機能性を実装するために準備してもよいことを認識されたい。
【００６８】
図５に示されるように、実行中のアプリケーションを再配置する機構５００は、実行中のアプリケーションの再配置コントローラ５１０と、ピアツーピア遠隔コピー・モジュール５２０と、チェックポイント生成モジュール５３０と、ストレージ・システム・インタフェース５４０と、ネットワーク・インタフェースとを備える。これらのエレメントは、その中で実行中のアプリケーションがトポロジ的遠隔に位置するコンピュータ・デバイスに再配置される、コンピュータ・デバイス内に準備することが好ましい。しかし、代替の実施形態においては、これらのエレメントは、他のトポロジ的遠隔に位置するコンピュータ・デバイスに再配置されるべき実行中のアプリケーションを有するコンピュータ・デバイスと通信する別のコンピュータ・デバイス内に準備してもよく、例えば、これらのエレメントは、プロキシ・サーバ、クラスタ又はＳＡＮ制御のコンピュータ・デバイス等の内に準備することもできる。
【００６９】
実行中のアプリケーションの再配置コントローラ５１０は、実行中のアプリケーションを再配置する機構５００の全般的な動作を制御し、他のエレメント５２０−５５０の動作を組織化する。実行中のアプリケーションの再配置コントローラ５１０は、実行中のアプリケーションのトポロジ的遠隔に位置するコンピュータ・デバイスへの再配置を実行するための全般的な命令／機能性を有する。実行中のアプリケーションの再配置コントローラ５１０は、他のエレメント５２０−５５０の各々と通信して、それらの動作及び交信を組織化する。
【００７０】
ピアツーピア遠隔コピー・モジュール５２０は、トポロジ的遠隔に位置するコンピュータ・デバイスに対して、ストレージ・システム・インタフェース５４０を介して取得されたアプリケーション・データ及びチェックポイント・メタデータの遠隔コピー動作を実行する。ピアツーピア遠隔コピー・モジュール５２０には、１つの例証的な実施形態において、例えば、前述のＰＰＲＣ又はＰＰＲＣ−ＸＤ製品を実装することができる。
【００７１】
アプリケーション・データは、実行中のアプリケーションが実行するときに生成され、従って、アプリケーション・データの生成には別のモジュールは必要ではない。しかし、チェックポイント生成モジュール５３０は、実行中のアプリケーションを再配置する際に使用するチェックポイント・メタデータを生成するために準備される。このチェックポイント生成モジュール５３０は、１つの例証的な実施形態においては、例えば、前述のＭｅｔａＣｌｕｓｔｅｒ（登録商標）製品を実装することができる。チェックポイント・メタデータは、ストレージ・システム・インタフェース５４０を介して関連するストレージ・システムに格納することができ、次いで、アプリケーション・データと共に、ピアツーピア遠隔コピー・モジュール５２０を用いてトポロジ的遠隔に位置するコンピュータ・デバイスに遠隔コピーすることができる。遠隔コピー動作は、例えば、ネットワーク・インタフェース５５０を介して、トポロジ的遠隔に位置するコンピュータ・デバイス上に実行することができる。
【００７２】
図６は、例証的な実施形態による、実行中のアプリケーションの再配置を実行するステップにおける基本的なステップを示す例示的な表である。図６に示される実施例においては、ストレージ・デバイスの構成が以前に図４に示されたように想定されている。従って、図６におけるデータ・ストレージＡ−Ｃ及びＭ−Ｏへの言及は、図４に示された類似のデータ・ストレージへの言及を意味する。
【００７３】
図６に示されるように、実行中のアプリケーションの再配置動作における第１のステップは、初期化を実行することである。この初期化動作は、実行中のアプリケーションの再配置動作に関与する全てのストレージ・システムに対して、遠隔コピー動作を設定するのに用いられる。この初期化動作は、動作に関与するストレージ・デバイスのストレージ・コントローラの特定の型に依存して、種々の形態を取ることができる。一般には、ソース・ストレージ・コントローラは、データに対して、ネットワーク全体にわたってターゲット・ストレージ・コントローラまでの経路指定を行うことができるように構成される。これは、ソース及びターゲット・ストレージ・コントローラの間のパスを設定することによって行われる。パスが設定された後は、遠隔コピーされるデータを含むストレージ・ボリュームが定義され、そして遠隔コピー動作が開始される。遠隔コピー動作の型、即ち、同期型か又は非同期型かは、遠隔コピー動作に関与するストレージ・ボリュームが定義されるときに定義される。
【００７４】
初期化においては、ストレージ・デバイスＡ及びＢは、実行中のアプリケーションの最新のアプリケーション・データを格納し、ストレージ・デバイスＣは、アプリケーション再配置動作に関する如何なるデータも格納しない。ストレージ・デバイスＢは、ピアツーピア遠隔コピー・モジュールの動作によって最新のアプリケーション・データを格納するが、ここでピアツーピア遠隔コピー・モジュールは、図３に示されるように、アプリケーション・データを１次ボリューム及び２次ボリュームの両方に同期的又は非同期的な仕方で書き込む。
【００７５】
ストレージ・デバイスＭ及びＮは、実行中のアプリケーションの最新のメタデータ状態を格納する。再び、ストレージ・デバイスＮは、ピアツーピア遠隔コピー・モジュールの動作によって実行中のアプリケーションの最新のメタデータ状態を格納する。ストレージ・デバイスＯ及びストレージ・デバイスＣはまだ、アプリケーション再配置動作に関する如何なるデータも含まない。
【００７６】
再配置動作の第２のステップにおいては、アプリケーション・データ・チェックポイントｎが生成される。このアプリケーション・データ・チェックポイントｎを生成するのに取られるアクションは、ストレージ・デバイスＢ内のアプリケーション・データの、ストレージ・デバイスＣへのインスタント又はフラッシュ・コピーである。このように、ストレージ・デバイスＡ及びＢは実行中のアプリケーションの最新のアプリケーション・データを有し、ストレージ・デバイスＣは、未だコミットされていないチェックポイントｎに関するアプリケーション・データを有する。ストレージ・デバイスＭ、Ｎ及びＯは、初期化ステップから変化しない。
【００７７】
再配置動作の第３のステップにおいて、アプリケーション・チェックポイントｎが保存される。これは、チェックポイントｎのアプリケーション・メタデータをデータ・ストレージＭに，従って、ストレージ・デバイスＮに書き込むステップと、次に、アプリケーション・メタデータをストレージＯにインスタント又はフラッシュ・コピーするステップとを含む。従って、ストレージ・デバイスＭ、Ｎ及びＯは、チェックポイントｎのメタデータを格納する。チェックポイント・メタデータのストレージＯ内のインスタント・コピーは未だコミットされない。ストレージ・デバイスＡ、Ｂ及びＣの状態は、この第３のステップでは変化しない。
【００７８】
再配置動作の第４のステップにおいては、アプリケーション・データ及びチェックポイント・メタデータのストレージ・デバイスＣ及びＯの内のインスタント又はフラッシュ・コピーをコミットすることによって、回復チェックポイントが作成される。その結果、ストレージ・デバイスＡ及びＢは、最新のアプリケーション・データを有し、ストレージ・デバイスＣは、チェックポイントｎのアプリケーション・データを有する。ストレージ・デバイスＭ、Ｎ及びＯは全て、チェックポイントｎのメタデータを含む。
【００７９】
あるアプリケーションは、そのアプリケーションが休止された場合に（ステップ２とステップ４の間にアップデート・アクティビティはない）、ステップ４において直接に、データの損失なしに、高可用性のために移動／複製することができる。しかし、災害時回復のためには、ストレージ・デバイスＢ上のアプリケーション・データの状態を、ストレージ・デバイスＮ上のアプリケーション・メタデータの状態に同期させることが必要となる可能性がある。そのような動作は、以下の図７及び図８に概略が示される。
【００８０】
図７及び図８は、例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復するステップにおける基本的なステップを示す例示的な表である。図７のステップ１−４は、如何なる失敗もなければ多数回繰り返すことができる。しかし、再配置動作中のある時点で失敗が起る可能性がある。この状況は、図８の下部に示されたステップ３２−３５に示されている。
【００８１】
図８に示されるように、ステップ３２及び３３は、図６に関して前述されたのと同じ仕方で、しかし新しいチェックポイントｎ＋１に関して実行される。ステップ３３の間に、失敗がトポロジ的遠隔に位置するコンピュータ・デバイスにおいて起る可能性がある。その結果、遠隔に位置するコンピュータ・デバイスにおいて、実行中のアプリケーションの状態は最後のチェックポイント、この場合にはチェックポイントｎに戻らなければならない。
【００８２】
ステップ３５においては、アプリケーションのデータの状態は、最後のアプリケーション・チェックポイントに整合するように回復される。これは、ストレージ・デバイスＢからストレージ・デバイスＣへの、及び、ストレージ・デバイスＮからストレージ・デバイスＯへの、インスタント又はフラッシュ・コピーを撤回するステップを含む。その結果、ストレージ・デバイスＢ及びストレージ・デバイスＣはチェックポイントｎのアプリケーション・データを有し、ストレージ・デバイスＮは、チェックポイントｎのチェックポイント・メタデータを有する。このデータは、実行中のアプリケーションをチェックポイントｎに対応する状態にリセットするのに用いることができる。このように、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・デバイスに遠隔再配置する機構を提供することに加えて、例証的な実施形態は、災害時又は失敗時の回復を提供しながらそのような遠隔再配置を実行する機構を提供する。
【００８３】
図８は、１つの例証的な実施形態による、トポロジ的遠隔に位置するコンピュータ・システムに、実行中のアプリケーションを再配置するステップの例示的な動作の概略を示す流れ図である。流れ図の説明の各ブロック、及び流れ図の説明のブロックの組合せは、コンピュータ・プログラムの命令によって実装できることを理解されたい。これらのコンピュータ・プログラムの命令は、プロセッサ又は他のプログラム可能なデータ処理装置上で動作する命令が、流れ図のブロック又は複数のブロック中に指定された機能を実装するための手段を造るように、プロセッサ又は他のプログラム可能なデータ処理装置に対して準備してマシーンを形成することができる。これらのコンピュータ・プログラムの命令はまた、プロセッサ又はプログラム可能なデータ処理装置に対して特定の仕方で機能するように指令することのできるコンピュータ可読メモリ又はストレージ媒体内に格納してもよく、その結果、コンピュータ可読メモリ又はストレージ媒体内に格納された命令は、流れ図のブロック又は複数のブロック中で指定された機能を実装する命令手段を含んだ製品を生み出す。
【００８４】
それゆえに、流れ図の説明のブロックは、指定された機能を実行するための手段の組合せと、指定された機能を実行するステップの組合せと、指定された機能を実行するためのプログラムの命令手段とをサポートする。流れ図の説明の各ブロック、及び流れ図の説明のブロックの組合せは、指定された機能又はステップを実行する専用のハードウェア・ベースのコンピュータ・システム、又は、専用ハードウェアとコンピュータ命令の組合せによって、実装することができることも理解されたい。
【００８５】
図８に示されるように、動作は、再配置動作に関与する全てのストレージ／コンピュータ・システムに対して遠隔コピー動作を設定することによって開始する（ステップ８１０）。アプリケーション・データの遠隔コピーは、トポロジ的遠隔に位置するシステムに対して実行される（ステップ８２０）。トポロジ的遠隔に位置するシステムにおいて、アプリケーション・データのインスタント又はフラッシュ・コピーが実行される（ステップ８３０）。
【００８６】
アプリケーション・チェックポイントがアプリケーション・メタデータに基づいて生成され（ステップ８４０）、チェックポイント・メタデータの遠隔コピーが、トポロジ的遠隔に位置するシステムに対して実行される（ステップ８５０）。トポロジ的遠隔に位置するシステムにおいて、チェックポイント・メタデータのインスタント又はフラッシュ・コピーが実行される（ステップ８６０）。ステップ８６０とステップ８３０は、それらが共同で、実行中のアプリケーションとそのデータの最新状態を組み合わせた状態を表す故に、論理的に関連する。
【００８７】
次に、アプリケーション・データ及びチェックポイント・メタデータのインスタント又はフラッシュ・コピーがコミットされる（ステップ８７０）。次いで、トポロジ的遠隔に位置するシステムにおいて、実行中のアプリケーションのアプリケーション状態が、アプリケーション・データ及びチェックポイント・メタデータのコピーに基づいて設定される（ステップ８８０）。次に動作は終了する。
【００８８】
ステップ８７０におけるコミットのプロセスは、最終的にステップ８３０とステップ８６０を関連させるプロセスである。ステップ８３０が実行され、しかし、ステップ８６０が実行されない場合には、例えば、図４中のストレージ・デバイスＣはｎ＋１の状態となり、ストレージ・デバイスＯはｎの状態となる。従って、回復がこの時点で行われなければならない場合には、ストレージ・デバイスＣ上のインスタント・コピーは、前述のように、撤回する必要があり、その結果、回復はチェックポイントｎからとなる。
【００８９】
このように、この例証的な実施形態は、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置する機構を提供する。この例証的な実施形態の機構は、実行中のアプリケーションを、ローカル・ストレージ・エリア・ネットワーク及び／又はクラスタの外部に在るコンピュータ・システムに再配置する機能を提供することによって、既知の再配置機構の制約を克服する。この例証的な実施形態の機構によれば、実行中のアプリケーションは、災害時及び失敗時の回復を可能にする仕方で、トポロジ的に及び／又は地理的に遠隔に位置するコンピュータ・システムに再配置することができる。
【００９０】
上記の例証的な実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含んだ実施形態の形態を取ることができる。好ましい実施形態においては、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、それらに限定はされないソフトウェアの形態に実装される。
【００９１】
さらに、例証的な実施形態は、コンピュータ若しくは任意の命令実行システムにより、又はそれらと共に、使用するためのプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読な媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この説明のために、コンピュータ使用可能又はコンピュータ可読な媒体は、命令を実行するシステム、装置、又はデバイスにより、又はそれらと共に用いるためのプログラムを、収容し、格納し、通信し、伝達し、又は移動させることのできる任意の装置とすることができる。
【００９２】
その媒体は、電子的、磁気的、光学的、電磁気的、赤外、又は半導体のシステム（又は装置又はデバイス）、或いは、伝達媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ），読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、及び光学ディスクが挙げられる。光学ディスクの最新の例には、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読取り／書込みディスク（ＣＤ−Ｒ／Ｗ）、及びＤＶＤがある。
【００９３】
図２に関して前述したように、プログラム・コードを格納し及び／又は実行するのに適切なデータ処理システムは、システム・バスを通してメモリ・エレメントに直接又は間接に結合した少なくとも１つのプロセッサを含む。メモリ・エレメントは、プログラム・コードの実際の実行中に用いられるローカル・メモリと、バルク・ストレージと、少なくとも幾つかのプログラム・コードの一時ストレージを提供して、実行中にバルク・ストレージからコードが取得されなければならない回数を減らすようにするキャッシュ・メモリとを含むことができる。
【００９４】
入力／出力又はＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されない）は、システムに直接的に、又は介在するＩ／Ｏコントローラを通して結合することができる。
【００９５】
データ処理装置が、他のデータ処理装置、又は、遠隔のプリンター又はストレージ・デバイスに、介在するプライベート又はパブリック・ネットワークを通して結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現在利用可能な型のネットワーク・アダプタの２，３の例である。
【００９６】
例証的な実施形態の説明は、例示及び説明のために提出されているが、本発明を開示された形態において網羅するか又はそれらに限定することを意図したものではない。多くの修正及び変更が当業者には明白となるであろう。それらの実施形態は、本発明の例証的な実施形態の原理、及び実際的な用途を最も良く説明するために、そして、当業者が、企図される実際的な用途に適切な種々の修正を伴う、種々の例証的な実施形態に関して本発明を理解できるようにするために、選択され、記述された。
【図面の簡単な説明】
【００９７】
【図１】例証的な実施形態の例示的な態様を実装することのできる、分散データ処理システムの例示的なブロック図である。
【図２】例証的な実施形態の例示的な態様を実装することのできる、サーバ・コンピュータ・システムの例示的なブロック図である。
【図３】１つの例証的な実施形態による、ピアツーピア遠隔コピー動作を示す例示的なブロック図である。
【図４】１つの例証的な実施形態による、実行中のアプリケーションを再配置するための動作を示す例示的なブロック図である。
【図５】１つの例証的な実施形態による、実行中のアプリケーションの再配置機構に関する基本的な動作のコンポーネントの例示的なブロック図である。
【図６】１つの例証的な実施形態による、実行中のアプリケーションの再配置を実行する基本的なステップを示す例示的な表である。
【図７】１つの例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復する基本的なステップを示す例示的な表である。
【図８】１つの例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復する基本的なステップを示す例示的な表である。
【図９】１つの例証的な実施形態による、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するための例示的な動作の概略を示す流れ図である。
【符号の説明】
【００９８】
１００：データ処理システムのネットワーク
１０１−１０５：サーバ・コンピュータ・デバイス
１２０：サーバ・クラスタ
１０２：ローカル・エリア・ネットワーク
１０８、１１０、１１２：クライアント
１３０：ラージ・エリア・データ・ネットワーク
１４０：サーバ・コンピュータ・デバイス
１５０：ストレージ・システム
１６０：インスタント・コピー・ストレージ
２００：データ処理システム
２０２、２０４：プロセッサ
２０６：システム・バス
２０８：メモリ・コントローラ・キャッシュ
２０９：ローカル・メモリ
２１０：Ｉ／Ｏブリッジ
２１２：Ｉ／Ｏバス
２１４、２２２、２２４：ＰＣＩバス・ブリッジ
２１６、２２６、２２８：ＰＣＩバス
２１８：モデム
２２０：ネットワーク・アダプタ
２３０：グラフィックス・アダプタ
２３２：ハード・ディスク
３１０：コンピュータ・デバイス
３２０：１次ボリューム
３３０：２次ボリューム
４１０：アプリケーション・サーバ
４２０：遠隔サーバ
５００：実行中のアプリケーションの再配置機構
５１０：実行中のアプリケーションの再配置コントローラ
５２０：ピアツーピア遠隔コピー・モジュール
５３０：チェックポイント生成モジュール
５４０：ストレージ・システム・インタフェース
５５０：ネットワーク・インタフェース
【図１】
0005147229.tif 000002
【図２】
0005147229.tif 000003
【図３】
0005147229.tif 000004
【図４】
0005147229.tif 000005
【図５】
0005147229.tif 000006
【図６】
0005147229.tif 000007
【図７】
0005147229.tif 000008
【図８】
0005147229.tif 000009
【図９】
0005147229.tif 000010