JP2007200294A - 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法 - Google Patents

実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法 Download PDF

Info

Publication number
JP2007200294A
JP2007200294A JP2006346792A JP2006346792A JP2007200294A JP 2007200294 A JP2007200294 A JP 2007200294A JP 2006346792 A JP2006346792 A JP 2006346792A JP 2006346792 A JP2006346792 A JP 2006346792A JP 2007200294 A JP2007200294 A JP 2007200294A
Authority
JP
Japan
Prior art keywords
computer system
application
checkpoint
topologically
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006346792A
Other languages
English (en)
Other versions
JP5147229B2 (ja
Inventor
John Thomas Flynn Jr
ジョン・トーマス・フリン・ジュニア
Howie Michael
ミハエル・ハウイー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007200294A publication Critical patent/JP2007200294A/ja
Application granted granted Critical
Publication of JP5147229B2 publication Critical patent/JP5147229B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法を提供する。
【解決手段】アプリケーションが再配置されるとき、そのアプリケーション・データは、原のコンピュータ・システムのストレージ・エリア・ネットワーク又はクラスタの外部に在るトポロジ的遠隔に位置するコンピュータ・システムのストレージ・システムにコピーされる。アプリケーションのステートフル・チェックポイントが生成され、トポロジ的遠隔に位置するコンピュータ・システムにコピーされる。例えば、ピアツーピア遠隔コピー動作を用いて実行することができる。アプリケーション・データ及びチェックポイント・メタデータはさらに、アプリケーションの回復時点に関するチェックポイント・メタデータのコピーを生成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体にコピーすることができる。
【選択図】図1

Description

本願は、一般に改善されたデータ処理システム及び方法に関する。より具体的には、本願は、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法に向けられる。
高可用性及び災害時回復は、現代社会が日常活動を行う上で電子システムに益々大きく依存しているので、情報技術産業において益々重要性を増している。このような状況において、サーバ・コンピュータ・システムが故障した場合にも、実行中のアプリケーションを利用できることを保証するために、実行中のアプリケーションを一つのサーバ・コンピュータ・デバイスから別のデバイスに転送できることが益々重要となっている。さらに、サーバ・コンピュータ・システムが故障した場合に、実行中のアプリケーションが別のコンピュータ・システム上で回復できるように、実行中のアプリケーションを再配置できることが重要である。
実行中のアプリケーションを再配置するための1つの解決法は、VMWareから入手可能なVMotion(登録商標)のソフトウェアによって提供される(VMotion(登録商標)の評価用コピーはwww.vmware.com/products/vc/vmotion.htmlから入手できる)。VMotion(登録商標)のソフトウェアは、ユーザが、ライブの稼働中の仮想マシーンを1つの物理サーバ・コンピュータ・システムから、同じストレージ・エリア・ネットワーク(SAN)に接続している別の物理サーバ・コンピュータ・システムに、連続的なサービス利用可能性を保持しながら、移動することを可能にする。VMotion(登録商標)のソフトウェアは、ストレージ・エリア・ネットワーク内でのディスクの仮想化のために、そうした再配置を実行することができる。
しかし、VMotion(登録商標)には、オペレーティング・システムと複数の実行中のアプリケーションとを含む可能性のある全体の仮想マシーンを、新しい物理サーバ・コンピュータ・デバイスに移動させることが必要である、という制約がある。VMotion(登録商標)のソフトウェアには、個々のアプリケーションを1つの物理サーバ・コンピュータ・デバイスから別のデバイスへ移動できる機能はない。
さらに、VMotion(登録商標)には、仮想マシーンの移動は、1つのサーバ・コンピュータ・デバイスから同じSAN内の別のデバイスにだけ実行可能である、という制約がある。従って、VMotion(登録商標)は、仮想マシーンをSANの外部にある他のサーバ・コンピュータ・デバイスに移動させるためには用いることができない。このことは、本質的に、VMotion(登録商標)ソフトウェア製品を用いて仮想マシーンを移動させることが可能なサーバ・コンピュータ・デバイスに、ネットワーク・トポロジ及び地理的な制約を加える。
実行中のアプリケーションの高可用性及び災害時回復を提供するもう1つの解決法は、最近International Business Machines,Inc.によって買収された、Meiosys,Inc.から入手可能なMetaCluster(登録商標)UC3.0ソフトウェア製品である。www.prnewswire.comにおけるPR Newswireから入手可能な“Meiosys Release MetaCluster UC Version 3.0”と題する論文に記述されているように、MetaCluster(登録商標)ソフトウェア製品は、Service Oriented Architectureの上に構築され、ダイナミック・データ・センターが、サービス・レベルの保存と、あらゆる負荷条件下でのアプリケーションに依存しない基盤についてのインフラストラクチャの最適化とを実現することを可能にする、ファイン・グレインド仮想化技術の最新の生成を具体化している。
オペレーティング・システムのレベルで動作し、同時に全体の仮想マシーンを移動させることしかできない、上記のVMotion(登録商標)のような、コース・グレインド仮想マシーン技術及び仮想マシーン移動性技術とは異なり、MetaCluster(登録商標)ソフトウェア製品は、オペレーティング・システムとアプリケーションの間のミドルウェア層において動作する。MetaCluster(登録商標)は、各アプリケーションを囲むコンテナ技術を提供して、アプリケーション及びアプリケーション・プロセスに対するリソース分離、及びマシーンからマシーンへの移動性を実現する。
MetaCluster(登録商標)ソフトウェア製品のアプリケーション仮想化技術及びコンテナ技術は、物理及び仮想マシーンの両方にわたるアプリケーションの再配置を可能にする。MetaCluster(登録商標)はまた、企業が、高可用性とビジネス・ケース使用効率との両方に向けて、アプリケーション及びアプリケーション・プロセスのマシーンからマシーンへの再配置を管理するためのしきい値を設定し、ルールを定義することを可能にする実質的なビジネス・インテリジェンスを提供する。
ビジネスの重要なアプリケーションに対してMetaCluster(登録商標)UC3.0を展開することは、アプリケーションを非常に効率的に仮想化して、パフォーマンス・インパクトが目立たないように(典型的には1%未満)することを可能にする。仮想化されたアプリケーションは、次に、リソースの最適化とサービスの質との見地から最適のインフラストラクチャに移動させることができる。サーバの容量は、性能を損なうことなしに、高レベルの使用効率を達成するように動的に再割り当てすることが可能となる。MetaCluster(登録商標)UC3.0は、再配置に際して、アプリケーションの状態及びコンテクストを保存することができるので、その再配置は、アプリケーションのユーザにとって速く且つ透明となる。
MetaCluster(登録商標)UC3.0は、アプリケーションのそうした再配置をサーバ・クラスタ内で実行するために、透明な「チェックポイント及びリスタート」の機能性を用いる。チェックポイントを生成するときは、実行中のアプリケーションの全状態、接続、及びコンテクストを再作成するために必要なステートフル・データ、及びメタデータが、ある特定の時点に保存される。このチェックポイントは、次に原のサーバ・コンピュータ・デバイスと同じクラスタ内の別のサーバ・コンピュータ・デバイスに供給される。このチェックポイントが供給されるサーバ・コンピュータ・デバイスは、次に、クラスタの共有ストレージ・メモリから得られるアプリケーション・データを利用して、アプリケーションをリスタートするためにチェックポイント情報を用いることができ、且つ、そのアプリケーションの状態、接続、及びコンテクストを新しいサーバ・コンピュータ・デバイス上に再作成することができる。
MetaCluster(登録商標)UC3.0は、全体の仮想マシーンが再配置されることが必要であるのとは反対に、個々のアプリケーションの同じクラスタ内での再配置を可能にするが、依然としてMetaCluster(登録商標)はサーバ・コンピュータ・デバイスの局所的なクラスタに限定される。即ち、MetaCluster(登録商標)は、アプリケーション・データにアクセスするために、全てのサーバ・コンピュータ・デバイスが共有ストレージ・システムにアクセスできる機能、に頼っている。そのため、MetaCluster(登録商標)では、実行中のアプリケーションをサーバ・クラスタの外部に移動又は再配置することができない。再び、このことは、実行中のアプリケーションを再配置できるコンピュータ・デバイスのネットワーク・トポロジ及び地理的位置を限定する。
上記のことから考えて、実行中のアプリケーションを、トポロジ的及び/又は地理的に遠隔に位置するコンピュータ・デバイスに再配置するための、システム、方法、及びコンピュータ・プログラムを有することは有益である。さらに、実行中のアプリケーションを、その実行中のアプリケーションが以前に存在したコンピュータ・デバイスのストレージ・エリア・ネットワーク又はクラスタの外部にあるコンピュータ・デバイスに再配置するための、システム、方法、及びコンピュータ・プログラムを有することは有益である。さらにその上、災害時回復のために、アプリケーションの最後のチェックポイントへの即時回復を可能にする上記のような再配置機構を有することは有益である。以下に記述される例証的な実施形態は、そのようなシステム、方法、及びコンピュータ・プログラムを提供する。
例証的な実施形態の機構によれば、アプリケーションが再配置されるべきときには、そのアプリケーション・データはトポロジ的遠隔に位置するコンピュータ・システムのストレージ・システムにコピーされる。アプリケーション・データのコピー動作は、例えば、ピアツーピアの遠隔コピー動作などのミラーリング技術を用いて実行することができる。このアプリケーション・データは、アプリケーションの回復時点でのアプリケーション・データのコピーを生成するために、さらにインスタント・コピー又はフラッシュ・コピーのストレージ媒体にコピーすることができる。
本説明において、トポロジ的遠隔に位置するということは、そのコンピュータ・システムが、実行中のアプリケーションがそれから再配置されるコンピュータ・デバイスのクラスタ又はストレージ・エリア・ネットワークの外部に位置することを意味する。多くの場合、トポロジ的遠隔に位置するコンピュータ・システムは、地理的にも遠隔に位置するが、これは、トポロジ的遠隔に位置するコンピュータ・システムの必要条件ではない。むしろ、トポロジ的遠隔に位置するコンピュータ・システムは、種々のコンピュータ・デバイスを接続するネットワーク・トポロジの見地から遠隔に位置することだけが必要である。
アプリケーション・データをコピーすることに加えて、アプリケーションのステートフル・チェックポイントが生成されストレージ媒体に格納される。ステートフル・チェックポイントは、チェックポイントが生成された時点におけるアプリケーションの現状態を表す一組のメタデータを含む。チェックポイントは、チェックポイント・メタデータによって表されるアプリケーションの状態がアプリケーション・データと整合することを保証するように、アプリケーション・データのコピーと実質的に同じ時点に生成されることが好ましい。
チェックポイント・メタデータは、アプリケーション・データと同様の仕方で、トポロジ的遠隔に位置するコンピュータ・システムに関連する同種の、又は異種のストレージ・システムにコピーすることができる。例えば、遠隔に位置するストレージ・システムにチェックポイント・メタデータをコピーするために、ピアツーピア遠隔コピー動作をチェックポイント・メタデータに対して実行することが可能である。このチェックポイント・メタデータはさらに、アプリケーションの回復時点に関するチェックポイント・メタデータのコピーを作成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体にコピーすることができる。
1つの例証的な実施形態においては、MetaCluster(登録商標)製品は、アプリケーションがあたかもサーバ・コンピュータ・デバイスのローカル・クラスタ内で再配置されるかのように、アプリケーションのチェックポイント・メタデータを生成するために用いることができる。そのような例証的な実施形態においては、チェックポイント・メタデータ及びアプリケーション・データは、New York州Armonk所在のInternational Business Machines,Incより入手可能な製品、Peer−to−Peer Remote Copy(PPRC)又はPeer−to−Peer Remote Copy Extended Distance(PPRC−XD)を用いて、トポロジ的遠隔に位置するコンピュータ・システムに再配置することができる。これらの製品は、Metro Mirror(登録商標)(PPRC)及びGlobal Copy(登録商標)(PPRC−XD)という名前でも呼ばれる。アプリケーション・データ及びチェックポイント・メタデータの回復時点でのコピーは、例えば、International Business Machines,Incより入手可能なFlashCopy(IBM Corporationの登録商標)製品を用いて、生成することができる。
1つの例証的な実施形態においては、コンピュータ可読なコンピュータ・プログラムが提供される。コンピュータ可読プログラムは、コンピュータ・デバイス上で実行されるとき、コンピュータ・デバイスに、実行中のアプリケーションのアプリケーション・データを、トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含んだアプリケーション・チェックポイントを生成することを、実行させる。コンピュータ・プログラムはさらに、コンピュータ・デバイスに、チェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、アプリケーション・データ及びチェックポイント・メタデータのコピーを用いてトポロジ的遠隔に位置するコンピュータ・システム上で実行中のアプリケーションを開始することによって、トポロジ的遠隔に位置するコンピュータ・システムに実行中のアプリケーションを再配置することを、実行させることができる。コンピュータ・プログラムは、コンピュータ・デバイスに、実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含むアプリケーション・チェックポイントを生成するステップと、チェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップとを繰返して実行させることができる。
コンピュータ・プログラムはさらに、コンピュータ・デバイスに、アプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、ピアツーピア遠隔コピー動作を用いてチェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることを、実行させることができる。ピアツーピア遠隔コピー動作は、非同期コピー動作とすることができる。ピアツーピア遠隔コピー動作は、不同期的な非同期コピー動作としてもよい。トポロジ的遠隔に位置するコンピュータ・システムは、実行中のアプリケーションを初めに動作させているソース・コンピュータ・システムから地理的遠隔に位置してもよい。
遠隔コピーされたアプリケーション・データと、遠隔コピーされたチェックポイント・メタデータとは、トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・システムから、回復チェックポイントを生成するために、少なくとも一つの他のストレージ・デバイスにコピーすることができる。遠隔コピーされたアプリケーション・データ及びチェックポイント・メタデータを、少なくとも一つの他のストレージ・デバイスにコピーするステップは、インスタント・コピー動作を用いて実行することができる。
トポロジ的遠隔に位置するコンピュータ・システムは、全てのアプリケーション・データ及びチェックポイント・メタデータが遠隔コピーされているかを判断するために、それからアプリケーション・データ及びチェックポイント・メタデータが遠隔コピーされるソース・コンピュータ・システムに関連するストレージ・コントローラと、トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・コントローラとに対して照会することができる。トポロジ的遠隔に位置するコンピュータ・システムは、アプリケーション・データの全てがトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合にだけ、遠隔コピーされたアプリケーション・データを少なくとも一つの他のストレージ・デバイスにコピーするステップを実行することができる。トポロジ的遠隔に位置するコンピュータ・システムは、チェックポイント・メタデータの全てがトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合にだけ、遠隔コピーされたチェックポイント・メタデータを少なくとも一つの他のストレージ・デバイスにコピーするステップを実行することができる。
コンピュータ・プログラムはさらに、コンピュータ・デバイスに、遠隔コピー動作中に、トポロジ的遠隔に位置するコンピュータ・システムの失敗を検出することを、実行させることができる。コンピュータ・プログラムはまた、コンピュータ・デバイスに、トポロジ的遠隔に位置するコンピュータ・デバイスに関連したストレージ・デバイス内に存在する、遠隔コピーされたアプリケーション・データと、遠隔コピーされたチェックポイント・メタデータとに基づいて、実行中のアプリケーションの状態を最後のチェックポイントにおいて回復することを、実行させることができる。
コンピュータ・デバイスは、コンピュータ・デバイスが実行中のアプリケーションのアプリケーション・データを遠隔コピーするときに、実質的に同じ時点においてアプリケーション・チェックポイントを生成することができる。コンピュータ・デバイスは、ストレージ・エリア・ネットワーク制御のコンピュータ・デバイスか、又は、サーバ・クラスタ制御のコンピュータ・デバイスとすることができる。
もう1つの例証的な実施形態においては、プロセッサと、そのプロセッサに結合したメモリとを備えた装置が提供される。メモリは、プロセッサによって実行されるときに、プロセッサに、コンピュータ・プログラムに関する上述の1つ又は複数の動作を実行させる命令を含むことができる。
さらなる例証的な実施形態においては、実行中のアプリケーションをソース・コンピュータ・デバイスからトポロジ的遠隔に位置するコンピュータ・システムに再配置するための、データ処理システム内における方法が提供される。その方法は、コンピュータ・プログラムに関する上記の1つ又は複数の動作を含む。
さらにもう1つの例証的な実施形態においては、実行中のアプリケーションを再配置するためのシステムが提供される。そのシステムは、少なくとも1つのネットワークと、ネットワークに接続した第1のコンピュータ・システムと、ネットワークに接続した第2のコンピュータ・システムとを備えることができる。第2のコンピュータ・システムは、第1のコンピュータ・システムからトポロジ的遠隔に位置することができる。第1のコンピュータ・システムは、第1のコンピュータ・システム上の実行中のアプリケーションのアプリケーション・データを、第2のコンピュータ・システムに遠隔コピーすること、及び、アプリケーション・データのコピーと同じ時点を表すチェックポイント・メタデータを含んだアプリケーション・チェックポイントを生成することができる。第1のコンピュータ・システムはさらに、チェックポイント・メタデータを第2のコンピュータ・システムに遠隔コピーすることと、アプリケーション・データ及びチェックポイント・メタデータのコピーを用いて、第2のコンピュータ・システム上で実行中のアプリケーションを開始することによって、実行中のアプリケーションを第2のコンピュータ・システムに再配置することを、実行できる。
本発明の、これら及び他の特徴と利点は、本発明の例示的な実施形態に関する以下の詳細な説明中に記述され、或いは、それらの説明を考慮することにより当業者には明白となる。
本発明の特色と考えられる新しい特徴は、添付の請求項に示される。しかし、本発明自体は、好ましい利用態様、及びそのさらなる目的及び利点と同様に、添付の図面を参照しながら、例証的な実施形態に関する以下の詳細な説明を読むことによって最も良く理解されるであろう。
ここに示される例証的な実施形態は、実行中のアプリケーションを、トポロジ的に、そして多くの場合地理的に、遠隔に位置するコンピュータ・システムに、即ち、それから実行中のアプリケーションが再配置されるコンピュータ・システムのストレージ・エリア・ネットワーク又はクラスタ内に存在しないコンピュータ・システムに、再配置するための機構を提供する。従って、この例証的な実施形態の機構は、分散データ処理環境において実装されることが好ましい。
以下の記述においては、例証的な実施形態の機構が、1つ又は複数のネットワーク及び通信リンクを介して互いに通信できるという条件を満たすデータ処理システムのネットワークが存在する、分散データ処理環境によって説明される。図1及び図2は、例証的な実施形態の態様を実装することのできるデータ処理環境の実施例を与える。図解されたデータ処理環境は、例示のためだけであり、例証的な実施形態の例示的態様を実装することのできるデータ処理環境の型又は構成に関して何らの限定を言明又は意味するものではない。図1及び図2に示されるデータ処理環境に対して、本発明の精神と範囲から逸脱することなしに、多くの変更を施すことができる。
ここで図を参照すると、図1は本発明を実装することのできるデータ処理システムのネットワーク100の図解表示を示す。ネットワーク・データ処理システム100は、ローカル・エリア・ネットワーク(LAN)102とラージ・エリア・データ・ネットワーク130を含み、これらは、ネットワーク・データ処理システム100内で相互に接続する種々のデバイス及びコンピュータの間の通信リンクを提供するのに用いられる媒体である。LAN102及びラージ・エリア・データ・ネットワーク130は、有線通信リンク、無線通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
図解された実施例においては、サーバ・コンピュータ・デバイス101−105がLAN102に接続している。サーバ・コンピュータ・デバイス101−105は、例えば、ストレージ・エリア・ネットワーク(SAN)又はサーバ・クラスタ120を含むことができる。SAN及びサーバ・クラスタは、一般に当技術分野において周知のものであり、従って、SAN/クラスタ120のより詳細な説明はここでは与えられない。
サーバ・コンピュータ・デバイス101−105に加えて、クライアント108,110、及び112がLAN102に接続している。これらのクライアント108,110、及び112は、例えば、パーソナル・コンピュータ、ワークステーション、アプリケーション・サーバ等とすることができる。図解された実施例においては、サーバ・コンピュータ・デバイス101−105は、クライアント108、110、及び112のために、データ・オブジェクトを格納し、追跡し、検索することができる。クライアント108,110、及び112は、サーバ・コンピュータ・デバイス101−105に対するクライアントであり、従って、アプリケーションをサーバ・コンピュータ・デバイス101−105上で実行し、且つ、これらのサーバ・コンピュータ・デバイス101−105からデータ・オブジェクトを取得するために、LAN102を介してサーバ・コンピュータ・デバイス101−105と通信することができる。ネットワーク・データ処理システム100は、図示されていない付加的なサーバ、クライアント、及び他のデバイスを含むことができる。
LAN102に加えて、ネットワーク・データ処理システム100は、LAN102に結合したラージ・エリア・データ・ネットワーク130を含む。図解された実施例においては、ラージ・エリア・データ・ネットワーク130は、互いに通信するためのTransmission Control Protocol/Internet Protokol(TCP/IP)のプロトコルのスイートを用いるネットワーク及びゲートウェイの、世界中に及ぶコレクションを表すインターネットとすることができる。インターネットの中心には、何千もの商業用、政府、教育用及び他のコンピュータ・システムからなる、メジャー・ノード又はホスト・コンピュータの間の、データ及びメッセージを伝送する高速データ通信回線のバックボーンが存在する。
インターネットは、典型的にはクラスタ内のサーバによって、メッセージング・トラフィックのためのTCP/IPを用いて相互に通信するために用いられることに注意されたい。ミラーリングに関与するストレージ・コントローラは、例えば以下に論じるPPRCは、典型的には、FICON(IBM Corporationの商標)チャネル・コマンド、SCSIコマンド、又はTCP/IPを用いて、別々のストレージ・ネットワークを越えて通信する。
勿論、ラージ・エリア・データ・ネットワーク130は、例えば、イントラネット、別のローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)など、種々様々な型のネットワークとして実装することもできる。図1は1つの実施例として意図しただけであって、ここで説明されている例証的な実施形態に関するなんらの構造的な限定を言明又は意味するものではない
サーバ・コンピュータ・デバイス140は、ラージ・エリア・データ・ネットワーク130に結合し、且つ、関連するストレージ・システム150を有する。ストレージ・システム150は、サーバ・コンピュータ・デバイス140に直接結合しているように図示されているが、その代りに、ラージ・エリア・データ・ネットワーク130又は別のネットワーク(図示せず)を介して、サーバ・コンピュータ・デバイス140によって間接的にアクセスされるようにしてもよい。サーバ・コンピュータ・デバイス140は、SAN/クラスタ120からトポロジ的遠隔に位置する。即ち、サーバ・コンピュータ・デバイス140は、SAN/クラスタ120の一部ではない。さらに、サーバ・コンピュータ・デバイス140は、SAN/クラスタ120から地理的遠隔に位置してもよい。
以下に説明される例証的な実施形態は、実行中のアプリケーションを、SAN/クラスタ120のサーバ・コンピュータ・デバイス101−105から、トポロジ的遠隔に位置するサーバ・コンピュータ・デバイス140に再配置するための機構を提供する。例証的な実施形態は、SAN/クラスタ120からの実行中のアプリケーションの再配置によって説明されるが、例証的な実施形態及び本発明はそれらに限定されないことを理解されたい。本発明の精神と範囲から逸脱することなしに、むしろ、SAN/クラスタ120の代りに、単一のサーバ・コンピュータ・デバイスを、或いはクライアント・コンピュータ・デバイスでさえも、トポロジ的遠隔に位置するサーバ・コンピュータ・デバイス(サーバ又はクライアント・コンピュータ・デバイス)に再配置される実行中のアプリケーションのソースとすることができる。
次に図2を参照すると、本発明の好ましい実施形態による、図1中の1つ又は複数のサーバ・コンピュータ・デバイス101−105、又はサーバ・コンピュータ・デバイス140などのサーバ・コンピュータ・デバイスとして、実装することが可能なデータ処理システムのブロック図が示される。データ処理システム200は、システム・バス206に接続する複数のプロセッサ202及び204を含んだ対称的マルチプロセッサ(SMP)システムとすることができる。代りに、単一のプロセッサ・システムを用いても良い。システム・バス206にはまた、ローカル・メモリ209に対するインタフェースを提供するメモリ・コントローラ/キャッシュ208が接続している。I/Oバス・ブリッジ210は、システム・バス206に接続し、I/Oバス212に対するインタフェースを提供する。メモリ・コントローラ/キャッシュ208とI/Oバス・ブリッジ210とは、図示されているように統合することができる。
I/Oバス212に接続する周辺コンポーネント相互接続(PCI)バス・ブリッジ214は、PCIローカル・バス216に対するインタフェースを提供する。多数のモデムをPCIローカル・バス216に接続できる。典型的なPCIバスの実装は、4つのPCI拡張スロット又はアド・イン・コネクタをサポートする。図1中のクライアント108−112、及び/又は他のネットワーク結合デバイスへの通信リンクは、モデム218を通して、及び/又は、アド・イン・コネクタを介してPCIローカル・バス216に接続したネットワーク・アダプタ220を通して与えられる。
付加的なPCIブリッジ222及び224は、付加的なPCIローカル・バス226及び228に関するインタフェースを提供し、それらから付加的なモデム又はネットワーク・アダプタをサポートすることができる。この方式により、データ処理システム200は多数のネットワーク・コンピュータへの接続を可能にする。メモリ・マップされたグラフィック・アダプタ230及びハード・ディスク232もまた、直接的又は間接的に、図示されているようにI/Oバス212に接続することができる。
当業者は、図2中に図示されているハードウェアは変更できることを認識するであろう。例えば、光学ディスク・デバイスなどの他の周辺装置もまた、図示されているハードウェアに加えて、又はその代りに用いることができる。図示されている実施例は、本発明に関する構造的な限定を意味するものではない。
図2中に図示されているデータ処理システムは、例えば、Advanced Interactive Executive(AIX(IBM Corporationの商標))オペレーティング・システム、又はLINUX(Linus Torvaldsの商標)オペレーティング・システムを動作させる、New York州Armonk所在のInternational Business Machines Corporationの製品である、IBM(IBM Corporationの商標) eServer(IBM Corporationの商標) pSeries(IBM Corporationの商標)システムとすることができる。
再び図1を参照すると、例証的な実施形態の機構によれば、高可用性と災害時回復を提供するために、1つのコンピュータ・デバイスから別のものへ実行中のアプリケーションを再配置することが望ましい。特に、実行中のアプリケーションをサーバ・コンピュータ・デバイス101−105から、トポロジ的に及び/又は地理的に遠隔に位置するサーバ・コンピュータ・デバイス140に再配置することが有益である。例証的な実施形態は、実行中のアプリケーションのアプリケーション・データ及びチェックポイント・メタデータを、トポロジ的に及び/又は地理的に遠隔に位置するコンピュータ・デバイスに遠隔コピーする機能を有し、加えて、回復チェックポイントの時点を与えるためのアプリケーション・データ及びチェックポイント・メタデータをインスタント・コピーする機能を有する機構を提供する。
前述のように、VMotion(登録商標)及びMetaCluster(登録商標)などの既知の機構は、ローカルなトポロジ内、即ち、SAN/クラスタ120内での実行中のアプリケーションの再配置だけを許可する。これらの既知の機構によっては、実行中のアプリケーションをそれに再配置することが可能なコンピュータ・デバイスは、同じ共有ストレージ・システムにアクセスしなければならず、このことにより、再配置をローカルなトポロジ的及び地理的エリア内に制限する。既知の機構は、実行中のアプリケーションを、トポロジ的に及び/又は地理的に遠隔に位置するコンピュータ・デバイスに再配置することを許可しない。
例証的な実施形態の機構によれば、実行中のアプリケーションが、例えばサーバ・コンピュータ・デバイス101からトポロジ的遠隔に位置するサーバ・コンピュータ・システム140に再配置されることになったとき、サーバ・コンピュータ・デバイス101は、実行中のアプリケーションのアプリケーション・データを、トポロジ的遠隔に位置するサーバ・コンピュータ・システム140に関連するストレージ・システム150にコピーする。アプリケーション・データをコピーするステップは、例えばピアツーピア遠隔コピー動作を用いて実行することができる。このアプリケーション・データはさらに、アプリケーションの回復の時点、即ち、回復チェックポイントに関するアプリケーション・データのコピーを生成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体160にコピーすることができる。
前述のように、トポロジ的遠隔に位置するということは、本明細書においては、サーバ・コンピュータ・システム140が、実行中のアプリケーションがそれから再配置されるサーバ・コンピュータ・デバイス101のSAN/クラスタ120の外部にあることを意味する。多くの場合、トポロジ的遠隔に位置するサーバ・コンピュータ・システム140は、同様に地理的にも遠隔に位置するが、このことは、サーバ・コンピュータ・システム140がトポロジ的遠隔に位置することの必要条件ではない。むしろ、トポロジ的遠隔に位置するサーバ・コンピュータ・システム140は、種々のコンピュータ・デバイスに接続するネットワーク・データ処理システム100のネットワーク・トポロジの点で、遠隔に位置することだけが必要である。
アプリケーション・データをトポロジ的遠隔に位置するサーバ・コンピュータ・システム140にコピーすることに加えて、サーバ・コンピュータ・デバイス101はまた、実行中のアプリケーションのステートフル・チェックポイントを生成し、そのチェックポイント・データを、サーバ・コンピュータ・デバイス101に関連するストレージ媒体に格納する。ステートフル・チェックポイントは、チェックポイントが生成された時点における実行中のアプリケーションの現状態を記述する1組のメタデータを含む。チェックポイントは、チェックポイント・メタデータによって表されるアプリケーションの状態がアプリケーション・データと整合することを保証するように、アプリケーション・データのコピーと実質的に同じ時点に生成されることが好ましい。
チェックポイント・メタデータは、アプリケーション・データと同様の方式で、トポロジ的遠隔に位置するコンピュータ・システムに関連する同じ又は異なるストレージ・システム150にコピーすることができる。チェックポイント・メタデータをトポロジ的遠隔に位置するストレージ・システム150にコピーするために、例えば、ピアツーピア遠隔コピー動作をチェックポイント・メタデータに実行することができる。このチェックポイント・メタデータはさらに、アプリケーションの回復時点のチェックポイント・メタデータのコピーを生成するために、インスタント・コピー又はフラッシュ・コピーのストレージ媒体160にコピーすることができる。
1つの例証的な実施形態においては、あたかもアプリケーションがサーバ・コンピュータ・デバイス101−105のローカル・クラスタ120内で再配置されるかのように、実行中のアプリケーションのチェックポイント・メタデータを生成するために、MetaCluster(登録商標)製品を用いることができる。そのような例証的な実施形態においては、New York州Armonk所在のInternational Business Machines, Incから入手可能なPeer−to−Peer Remote Copy(PPRC)、又はPeer−to−Peer Remote Copy Extended Distances(PPRC−XD)製品を用いて、チェックポイント・メタデータ及びアプリケーション・データをトポロジ的遠隔に位置するサーバ・コンピュータ・システム140に再配置することができる。アプリケーション・データ及びチェックポイント・メタデータの回復時点のコピーは、例えば、International Business Machines, Incから入手可能なFlashCopy(登録商標)製品を用いて生成することができる。
MetaCluster(登録商標)、PPRC,PPRC−XD,及びFlashCopy(登録商標)製品は、当技術分野では一般的に知られている。MetaCluster(登録商標)製品に関する情報は、例えば、PR Newswireのウェブサイト(www.prnewswire.com)から取得できる“Meiosys Releases MetaCluster UC Version 3.0”及び“Meiosys Relocates Multi−Tier Applications Without Interruption of Service”と題する論文中に見いだすことができる。PPRC及びPPRC−XD製品に関する情報は、例えば、Castets他著の“IBM TotalStorage(IBM Corporationの商標) Enterprise Storage Server(IBM Corporationの商標) PPRC Extended Distance”と題するRedbookの論文中に記述され、International Business Machines, Incのオフィシャル・ウェブサイト(www.ibm.com)から取得できる。FlashCopy製品は、例えば、Warrick他著の“IBM TotalStorage PPRC Migration Manager and FlashCopy Manager Overview”と題するRedbookの論文中に記述されており、International Business Machines, Incのオフィシャル・ウェブサイト(www.ibm.com)から取得できる。これらのドキュメントは、引用によりここに組み入れられる。
図3は、1つの例証的な実施形態による、ピアツーピア遠隔コピー動作を示す例示的なブロック図である。図示された実施例においては、PPRC−XD製品がピアツーピア遠隔コピー動作を実行するために用いられているが、本発明はPPRC又はPPRC−XDの使用に限定されない。むしろ、データ及びメタデータをトポロジ的遠隔に位置するストレージ・システムに遠隔コピーすることを許可する任意の機構は、本発明の精神と範囲から逸脱することなしに使用できる。
PPRC−XDを、データ及びメタデータの遠隔コピーを実行するための1つの例証的な実施形態の典型として用いて、PPRCは、1つのサイト(アプリケーション・サイトと呼ぶ)から第2のサイト(リカバリ・サイトと呼ぶ)への、アプリケーション・システム・データのシャドーイングを可能にするエンタプライズ・ストレージ・サーバ(ESS)機能となる。データをESS内でアプリケーション・サイトにおいて保持する論理ボリュームは、1次ボリュームと呼ばれ、ミラーリングされたデータをリカバリ・サイトに保持する対応する論理ボリュームは2次ボリュームと呼ばれる。1つの例証的な実施形態においては、1次と2次のESSの間の接続は、Enterprise Systems Connection(ESCON(IBM Corporationの商標))を用いて提供することができる。
図3は、PPRCを同期モード(PPRC−SYNC)で動作するときの書込み動作の順序を示す。図3に示されるように、この同期型の動作においては、アプリケーション・サイトの1次ボリューム320に対してなされるアップデートは、リカバリ・サイトの2次ボリューム330に同期的にシャドーイングされる。これは同期的なソリューションであるので、コンピュータ・デバイス310上で実行中のアプリケーションについて書込みが完了したと見なされる前に、書込みのアップデートは両方のコピー(1次及び2次の)に関して保証される。
PPRC−SYNC動作においては、アプリケーションは、アプリケーションの見地からアップデートが同期的に1次及び2次ボリューム、320及び330の両方において終了するまでは、「書込み完了」状態とならないので、リカバリ・サイトの2次ボリューム330におけるデータは、常に1次ボリューム320におけるデータと一致するリアル・タイム・データである。
この特徴の一つの含意は、通常のPPRC−SYNC動作においては、従属的な書込みが、1次ボリューム320に適用されるのと同じ順序で、2次ボリューム330に適用されるということである。これは、回復時におけるアプリケーションの整合性の見地からは非常に重要である。PPRC−SYNCは、整合性のチェックポイントを造るためにアプリケーションに周期的に割り込むことを必要とせずに、リカバリ・サイトにおける連続的なデータ整合性を提供することができる。アプリケーションの見地からは、これはリカバリ・ロケーションにおいて常に妥当なデータを有するための非介入的方法である。
図3には、同期的PPRC動作が示されているが、本実例的実施形態の機構は、同期的及び非同期的な遠隔コピー動作の両方に等しく適用できることを認識されたい。非同期的な遠隔コピー動作においては、データが2次ボリューム330にコミットされる前に、「書込み完了」が1次ボリューム320から返される可能性がある。本質的に、ここの例証的な実施形態の非同期的遠隔コピー動作に関しては、インスタント・コピー動作が実行される前にデータ整合状態であるためには、以下に説明されるインスタント・コピーのソース・ストレージ・デバイスが必要である。そのようなデータ整合性を保証するための例示的な動作は、以下に図4を参照しながら説明される。
例証的な実施形態において、アプリケーション・データ及びチェックポイント・メタデータをトポロジ的遠隔に位置するコンピュータ・システムに関連したストレージ・システムに遠隔コピーを書き込むために、遠隔コピー動作を用いているが、その動作は好ましい実施形態においては、PPRC及びPPRC−XDによって提供されるようなピアツーピアの遠隔コピー動作である。図4は、1つの例証的な実施形態による、実行中のアプリケーションを再配置する動作を示す例示的なダイアグラムである。
図4に示されるように、実行中のアプリケーションが、以後遠隔サーバ420と呼ぶトポロジ的遠隔に位置するサーバ・コンピュータ・システムに再配置されることになったとき、以後アプリケーション・サーバ410と呼ぶアプリケーションがその上で実行しているサーバ・コンピュータ・デバイスは、アプリケーション・データの遠隔コピーを遠隔サーバ420に関連するストレージ・システムに書き込む。図示される実施例においては、例えば実行中のアプリケーションのアウトバウンド・データを含む可能性のあるアプリケーション・データは、アプリケーション・サーバ410のデータ・ストレージA内に存在し、遠隔コピー動作により、遠隔サーバ420のデータ・ストレージBに書き込まれる。
アプリケーション・データの遠隔コピーに加えて、アプリケーション・サーバ410は実行中のアプリケーションのチェックポイントを生成する。チェックポイントのメタデータは、図示された実施例においては、データ・ストレージAと同じストレージ・システム内にあってもそうでなくとも良いデータ・ストレージMに格納される。チェックポイントは、アプリケーション・データのデータ・ストレージBへの遠隔コピーと実質的に同時に生成されることが好ましい。このことは、チェックポイント・メタデータによって表される実行中のアプリケーションの状態が、データ・ストレージBにコピーされたアプリケーション・データと整合することを保証する助けとなる。
チェックポイント・メタデータは、データ・ストレージNに遠隔コピーされる。再び、この遠隔コピーは、例えば、PPRC又はPPRC−XDによって提供されるようなピアツーピア遠隔コピー動作を用いて実行することができる。データ・ストレージNは、データ・ストレージBと同じストレージ・システム内にあってもそうでなくとも良い。この時点で、データ・ストレージB及びデータ・ストレージNは、遠隔サーバ420上で実行中のアプリケーションの状態を再形成するのに必要な全ての情報を含む。このデータ及びメタデータを用いて、アプリケーションを開始することができ、アプリケーションの状態をチェックポイント・メタデータによって表される状態に設定することができる。このようにして、実行中のアプリケーションは、アプリケーション・サーバ410から遠隔サーバ420に再配置することができる。
さらに、データ・ストレージB内のアプリケーション・データと、データ・ストレージN内のチェックポイント・メタデータとのインスタント又はフラッシュ・コピーを、回復チェックポイントを生成するために作成することができる。図4に示されるように、データ・ストレージB内のアプリケーション・データのインスタント又はフラッシュ・コピーは、データ・ストレージCに作成することができる。同様に、データ・ストレージN内のチェックポイント・メタデータのインスタント又はフラッシュ・コピーは、データ・ストレージOに作成することができる。データ・ストレージCとOは、同じストレージ・システム内に在ることが好ましいが、データ・ストレージB及びNとは同じストレージ・システム内にあってもそうでなくとも良い。
前述のように、上記の遠隔コピー動作は、同期的又は非同期的なミラーリング動作、即ち、遠隔コピー動作を用いて実行することが可能であることを認識されたい。同期的ミラーリングによると、ストレージ・デバイスAに格納されるデータは、ストレージ・デバイスBに格納されるデータと常に同一となる。同様に、ストレージ・デバイスMに格納されるデータは、ストレージ・デバイスN格納されるデータと同一となる。アプリケーション・チェックポイントが生成されるときは、ストレージ・デバイスBの状態は、インスタント・コピー動作を用いてストレージ・デバイスC内に保存される。次に、チェックポイント状態のメタデータがストレージ・デバイスMに書き込まれるときは、そのメタデータはまた、本質的に同期的ミラーリングによってストレージ・デバイスNに書き込まれる。このとき、ストレージ・デバイスCは、ストレージ・デバイスNと同じ論理時点に整合するが、ここでストレージ・デバイスNは、実装方法に依存して、その状態を保存するようにストレージ・デバイスOにコピーしてもしなくとも良い。
非同期的ミラーリングを実行する2つの方法がある。1つの方法は、任意の時点でストレージ・デバイス上のデータの整合性を維持する、アップデートの原の順序を保存することである。もう1つの方法は、アップデートの順序は維持せず、しかし、最高帯域幅を達成するためにデータ伝送を最適化すること(「不同期」動作と呼ぶ)である。
PPRC−XDは不同期動作を実装する。従って、ストレージ・デバイス内の整合性を確保するのに2つの方法の1つを用いることができる。1つの方法は、ソース・ストレージ・デバイス上の全ての変更されたデータが複製されているかどうかを判断するために、関与するストレージ・デバイスに関連するストレージ・コントローラに照会することである。全てのデータが複製されている場合には、ストレージ・デバイス内のミラーリングされた対は同一となり、インスタント・コピーがストレージ・デバイスC又はOの上に1組の整合的なデータの組を生成することになる。さもなければ、インスタント・コピー動作を実行する前に全ての変更されたデータが複製されるまで待機する必要がある。この方法は、データが実時間ベースで変化しないアプリケーションに最適である。
他方の方法は、不同期複製から同期複製に変更するようにストレージ・コントローラに命令することである。これが行なわれたときは、前述の同期動作に類似した状態が生成され、インスタント・コピー動作を実行することができる。インスタント・コピー動作が実行された後、データ伝送を最適化するようにミラーリング動作を不同期に戻すことができる。この方法は、例証的な実施形態の好ましい実施形態において利用されるが、本発明はこの特定の方法に限定されない。ここに説明された以外の方法は、インスタント・コピー動作を実行する前にソース・ストレージ・デバイスのデータ整合性が保証される限り、本発明の精神及び範囲から逸脱することなしに、用いることができる。
図5は、例証的な実施形態による、実行中のアプリケーションを再配置する機構の基本的な動作のコンポーネントの例示的なブロック図である。図5に示されるエレメントは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの任意の組合せの形態で実装することができる。好ましい実施形態においては、図5に示されるエレメントは、1つ又は複数のプロセッサによって実行されるソフトウェア命令として実装される。しかし、1つ又は複数の専用ハードウェア・デバイスを、図5中のエレメントの機能性を実装するために準備してもよいことを認識されたい。
図5に示されるように、実行中のアプリケーションを再配置する機構500は、実行中のアプリケーションの再配置コントローラ510と、ピアツーピア遠隔コピー・モジュール520と、チェックポイント生成モジュール530と、ストレージ・システム・インタフェース540と、ネットワーク・インタフェースとを備える。これらのエレメントは、その中で実行中のアプリケーションがトポロジ的遠隔に位置するコンピュータ・デバイスに再配置される、コンピュータ・デバイス内に準備することが好ましい。しかし、代替の実施形態においては、これらのエレメントは、他のトポロジ的遠隔に位置するコンピュータ・デバイスに再配置されるべき実行中のアプリケーションを有するコンピュータ・デバイスと通信する別のコンピュータ・デバイス内に準備してもよく、例えば、これらのエレメントは、プロキシ・サーバ、クラスタ又はSAN制御のコンピュータ・デバイス等の内に準備することもできる。
実行中のアプリケーションの再配置コントローラ510は、実行中のアプリケーションを再配置する機構500の全般的な動作を制御し、他のエレメント520−550の動作を組織化する。実行中のアプリケーションの再配置コントローラ510は、実行中のアプリケーションのトポロジ的遠隔に位置するコンピュータ・デバイスへの再配置を実行するための全般的な命令/機能性を有する。実行中のアプリケーションの再配置コントローラ510は、他のエレメント520−550の各々と通信して、それらの動作及び交信を組織化する。
ピアツーピア遠隔コピー・モジュール520は、トポロジ的遠隔に位置するコンピュータ・デバイスに対して、ストレージ・システム・インタフェース540を介して取得されたアプリケーション・データ及びチェックポイント・メタデータの遠隔コピー動作を実行する。ピアツーピア遠隔コピー・モジュール520には、1つの例証的な実施形態において、例えば、前述のPPRC又はPPRC−XD製品を実装することができる。
アプリケーション・データは、実行中のアプリケーションが実行するときに生成され、従って、アプリケーション・データの生成には別のモジュールは必要ではない。しかし、チェックポイント生成モジュール530は、実行中のアプリケーションを再配置する際に使用するチェックポイント・メタデータを生成するために準備される。このチェックポイント生成モジュール530は、1つの例証的な実施形態においては、例えば、前述のMetaCluster(登録商標)製品を実装することができる。チェックポイント・メタデータは、ストレージ・システム・インタフェース540を介して関連するストレージ・システムに格納することができ、次いで、アプリケーション・データと共に、ピアツーピア遠隔コピー・モジュール520を用いてトポロジ的遠隔に位置するコンピュータ・デバイスに遠隔コピーすることができる。遠隔コピー動作は、例えば、ネットワーク・インタフェース550を介して、トポロジ的遠隔に位置するコンピュータ・デバイス上に実行することができる。
図6は、例証的な実施形態による、実行中のアプリケーションの再配置を実行するステップにおける基本的なステップを示す例示的な表である。図6に示される実施例においては、ストレージ・デバイスの構成が以前に図4に示されたように想定されている。従って、図6におけるデータ・ストレージA−C及びM−Oへの言及は、図4に示された類似のデータ・ストレージへの言及を意味する。
図6に示されるように、実行中のアプリケーションの再配置動作における第1のステップは、初期化を実行することである。この初期化動作は、実行中のアプリケーションの再配置動作に関与する全てのストレージ・システムに対して、遠隔コピー動作を設定するのに用いられる。この初期化動作は、動作に関与するストレージ・デバイスのストレージ・コントローラの特定の型に依存して、種々の形態を取ることができる。一般には、ソース・ストレージ・コントローラは、データに対して、ネットワーク全体にわたってターゲット・ストレージ・コントローラまでの経路指定を行うことができるように構成される。これは、ソース及びターゲット・ストレージ・コントローラの間のパスを設定することによって行われる。パスが設定された後は、遠隔コピーされるデータを含むストレージ・ボリュームが定義され、そして遠隔コピー動作が開始される。遠隔コピー動作の型、即ち、同期型か又は非同期型かは、遠隔コピー動作に関与するストレージ・ボリュームが定義されるときに定義される。
初期化においては、ストレージ・デバイスA及びBは、実行中のアプリケーションの最新のアプリケーション・データを格納し、ストレージ・デバイスCは、アプリケーション再配置動作に関する如何なるデータも格納しない。ストレージ・デバイスBは、ピアツーピア遠隔コピー・モジュールの動作によって最新のアプリケーション・データを格納するが、ここでピアツーピア遠隔コピー・モジュールは、図3に示されるように、アプリケーション・データを1次ボリューム及び2次ボリュームの両方に同期的又は非同期的な仕方で書き込む。
ストレージ・デバイスM及びNは、実行中のアプリケーションの最新のメタデータ状態を格納する。再び、ストレージ・デバイスNは、ピアツーピア遠隔コピー・モジュールの動作によって実行中のアプリケーションの最新のメタデータ状態を格納する。ストレージ・デバイスO及びストレージ・デバイスCはまだ、アプリケーション再配置動作に関する如何なるデータも含まない。
再配置動作の第2のステップにおいては、アプリケーション・データ・チェックポイントnが生成される。このアプリケーション・データ・チェックポイントnを生成するのに取られるアクションは、ストレージ・デバイスB内のアプリケーション・データの、ストレージ・デバイスCへのインスタント又はフラッシュ・コピーである。このように、ストレージ・デバイスA及びBは実行中のアプリケーションの最新のアプリケーション・データを有し、ストレージ・デバイスCは、未だコミットされていないチェックポイントnに関するアプリケーション・データを有する。ストレージ・デバイスM、N及びOは、初期化ステップから変化しない。
再配置動作の第3のステップにおいて、アプリケーション・チェックポイントnが保存される。これは、チェックポイントnのアプリケーション・メタデータをデータ・ストレージMに,従って、ストレージ・デバイスNに書き込むステップと、次に、アプリケーション・メタデータをストレージOにインスタント又はフラッシュ・コピーするステップとを含む。従って、ストレージ・デバイスM、N及びOは、チェックポイントnのメタデータを格納する。チェックポイント・メタデータのストレージO内のインスタント・コピーは未だコミットされない。ストレージ・デバイスA、B及びCの状態は、この第3のステップでは変化しない。
再配置動作の第4のステップにおいては、アプリケーション・データ及びチェックポイント・メタデータのストレージ・デバイスC及びOの内のインスタント又はフラッシュ・コピーをコミットすることによって、回復チェックポイントが作成される。その結果、ストレージ・デバイスA及びBは、最新のアプリケーション・データを有し、ストレージ・デバイスCは、チェックポイントnのアプリケーション・データを有する。ストレージ・デバイスM、N及びOは全て、チェックポイントnのメタデータを含む。
あるアプリケーションは、そのアプリケーションが休止された場合に(ステップ2とステップ4の間にアップデート・アクティビティはない)、ステップ4において直接に、データの損失なしに、高可用性のために移動/複製することができる。しかし、災害時回復のためには、ストレージ・デバイスB上のアプリケーション・データの状態を、ストレージ・デバイスN上のアプリケーション・メタデータの状態に同期させることが必要となる可能性がある。そのような動作は、以下の図7及び図8に概略が示される。
図7及び図8は、例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復するステップにおける基本的なステップを示す例示的な表である。図7のステップ1−4は、如何なる失敗もなければ多数回繰り返すことができる。しかし、再配置動作中のある時点で失敗が起る可能性がある。この状況は、図8の下部に示されたステップ32−35に示されている。
図8に示されるように、ステップ32及び33は、図6に関して前述されたのと同じ仕方で、しかし新しいチェックポイントn+1に関して実行される。ステップ33の間に、失敗がトポロジ的遠隔に位置するコンピュータ・デバイスにおいて起る可能性がある。その結果、遠隔に位置するコンピュータ・デバイスにおいて、実行中のアプリケーションの状態は最後のチェックポイント、この場合にはチェックポイントnに戻らなければならない。
ステップ35においては、アプリケーションのデータの状態は、最後のアプリケーション・チェックポイントに整合するように回復される。これは、ストレージ・デバイスBからストレージ・デバイスCへの、及び、ストレージ・デバイスNからストレージ・デバイスOへの、インスタント又はフラッシュ・コピーを撤回するステップを含む。その結果、ストレージ・デバイスB及びストレージ・デバイスCはチェックポイントnのアプリケーション・データを有し、ストレージ・デバイスNは、チェックポイントnのチェックポイント・メタデータを有する。このデータは、実行中のアプリケーションをチェックポイントnに対応する状態にリセットするのに用いることができる。このように、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・デバイスに遠隔再配置する機構を提供することに加えて、例証的な実施形態は、災害時又は失敗時の回復を提供しながらそのような遠隔再配置を実行する機構を提供する。
図8は、1つの例証的な実施形態による、トポロジ的遠隔に位置するコンピュータ・システムに、実行中のアプリケーションを再配置するステップの例示的な動作の概略を示す流れ図である。流れ図の説明の各ブロック、及び流れ図の説明のブロックの組合せは、コンピュータ・プログラムの命令によって実装できることを理解されたい。これらのコンピュータ・プログラムの命令は、プロセッサ又は他のプログラム可能なデータ処理装置上で動作する命令が、流れ図のブロック又は複数のブロック中に指定された機能を実装するための手段を造るように、プロセッサ又は他のプログラム可能なデータ処理装置に対して準備してマシーンを形成することができる。これらのコンピュータ・プログラムの命令はまた、プロセッサ又はプログラム可能なデータ処理装置に対して特定の仕方で機能するように指令することのできるコンピュータ可読メモリ又はストレージ媒体内に格納してもよく、その結果、コンピュータ可読メモリ又はストレージ媒体内に格納された命令は、流れ図のブロック又は複数のブロック中で指定された機能を実装する命令手段を含んだ製品を生み出す。
それゆえに、流れ図の説明のブロックは、指定された機能を実行するための手段の組合せと、指定された機能を実行するステップの組合せと、指定された機能を実行するためのプログラムの命令手段とをサポートする。流れ図の説明の各ブロック、及び流れ図の説明のブロックの組合せは、指定された機能又はステップを実行する専用のハードウェア・ベースのコンピュータ・システム、又は、専用ハードウェアとコンピュータ命令の組合せによって、実装することができることも理解されたい。
図8に示されるように、動作は、再配置動作に関与する全てのストレージ/コンピュータ・システムに対して遠隔コピー動作を設定することによって開始する(ステップ810)。アプリケーション・データの遠隔コピーは、トポロジ的遠隔に位置するシステムに対して実行される(ステップ820)。トポロジ的遠隔に位置するシステムにおいて、アプリケーション・データのインスタント又はフラッシュ・コピーが実行される(ステップ830)。
アプリケーション・チェックポイントがアプリケーション・メタデータに基づいて生成され(ステップ840)、チェックポイント・メタデータの遠隔コピーが、トポロジ的遠隔に位置するシステムに対して実行される(ステップ850)。トポロジ的遠隔に位置するシステムにおいて、チェックポイント・メタデータのインスタント又はフラッシュ・コピーが実行される(ステップ860)。ステップ860とステップ830は、それらが共同で、実行中のアプリケーションとそのデータの最新状態を組み合わせた状態を表す故に、論理的に関連する。
次に、アプリケーション・データ及びチェックポイント・メタデータのインスタント又はフラッシュ・コピーがコミットされる(ステップ870)。次いで、トポロジ的遠隔に位置するシステムにおいて、実行中のアプリケーションのアプリケーション状態が、アプリケーション・データ及びチェックポイント・メタデータのコピーに基づいて設定される(ステップ880)。次に動作は終了する。
ステップ870におけるコミットのプロセスは、最終的にステップ830とステップ860を関連させるプロセスである。ステップ830が実行され、しかし、ステップ860が実行されない場合には、例えば、図4中のストレージ・デバイスCはn+1の状態となり、ストレージ・デバイスOはnの状態となる。従って、回復がこの時点で行われなければならない場合には、ストレージ・デバイスC上のインスタント・コピーは、前述のように、撤回する必要があり、その結果、回復はチェックポイントnからとなる。
このように、この例証的な実施形態は、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置する機構を提供する。この例証的な実施形態の機構は、実行中のアプリケーションを、ローカル・ストレージ・エリア・ネットワーク及び/又はクラスタの外部に在るコンピュータ・システムに再配置する機能を提供することによって、既知の再配置機構の制約を克服する。この例証的な実施形態の機構によれば、実行中のアプリケーションは、災害時及び失敗時の回復を可能にする仕方で、トポロジ的に及び/又は地理的に遠隔に位置するコンピュータ・システムに再配置することができる。
上記の例証的な実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含んだ実施形態の形態を取ることができる。好ましい実施形態においては、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、それらに限定はされないソフトウェアの形態に実装される。
さらに、例証的な実施形態は、コンピュータ若しくは任意の命令実行システムにより、又はそれらと共に、使用するためのプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読な媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この説明のために、コンピュータ使用可能又はコンピュータ可読な媒体は、命令を実行するシステム、装置、又はデバイスにより、又はそれらと共に用いるためのプログラムを、収容し、格納し、通信し、伝達し、又は移動させることのできる任意の装置とすることができる。
その媒体は、電子的、磁気的、光学的、電磁気的、赤外、又は半導体のシステム(又は装置又はデバイス)、或いは、伝達媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM),読み取り専用メモリ(ROM)、剛体磁気ディスク、及び光学ディスクが挙げられる。光学ディスクの最新の例には、コンパクト・ディスク読取り専用メモリ(CD−ROM)、コンパクト・ディスク読取り/書込みディスク(CD−R/W)、及びDVDがある。
図2に関して前述したように、プログラム・コードを格納し及び/又は実行するのに適切なデータ処理システムは、システム・バスを通してメモリ・エレメントに直接又は間接に結合した少なくとも1つのプロセッサを含む。メモリ・エレメントは、プログラム・コードの実際の実行中に用いられるローカル・メモリと、バルク・ストレージと、少なくとも幾つかのプログラム・コードの一時ストレージを提供して、実行中にバルク・ストレージからコードが取得されなければならない回数を減らすようにするキャッシュ・メモリとを含むことができる。
入力/出力又はI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されない)は、システムに直接的に、又は介在するI/Oコントローラを通して結合することができる。
データ処理装置が、他のデータ処理装置、又は、遠隔のプリンター又はストレージ・デバイスに、介在するプライベート又はパブリック・ネットワークを通して結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現在利用可能な型のネットワーク・アダプタの2,3の例である。
例証的な実施形態の説明は、例示及び説明のために提出されているが、本発明を開示された形態において網羅するか又はそれらに限定することを意図したものではない。多くの修正及び変更が当業者には明白となるであろう。それらの実施形態は、本発明の例証的な実施形態の原理、及び実際的な用途を最も良く説明するために、そして、当業者が、企図される実際的な用途に適切な種々の修正を伴う、種々の例証的な実施形態に関して本発明を理解できるようにするために、選択され、記述された。
例証的な実施形態の例示的な態様を実装することのできる、分散データ処理システムの例示的なブロック図である。 例証的な実施形態の例示的な態様を実装することのできる、サーバ・コンピュータ・システムの例示的なブロック図である。 1つの例証的な実施形態による、ピアツーピア遠隔コピー動作を示す例示的なブロック図である。 1つの例証的な実施形態による、実行中のアプリケーションを再配置するための動作を示す例示的なブロック図である。 1つの例証的な実施形態による、実行中のアプリケーションの再配置機構に関する基本的な動作のコンポーネントの例示的なブロック図である。 1つの例証的な実施形態による、実行中のアプリケーションの再配置を実行する基本的なステップを示す例示的な表である。 1つの例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復する基本的なステップを示す例示的な表である。 1つの例証的な実施形態による、再配置動作中の失敗に応じて、実行中のアプリケーションの最後のチェックポイントを回復する基本的なステップを示す例示的な表である。 1つの例証的な実施形態による、実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するための例示的な動作の概略を示す流れ図である。
符号の説明
100:データ処理システムのネットワーク
101−105:サーバ・コンピュータ・デバイス
120:サーバ・クラスタ
102:ローカル・エリア・ネットワーク
108、110、112:クライアント
130:ラージ・エリア・データ・ネットワーク
140:サーバ・コンピュータ・デバイス
150:ストレージ・システム
160:インスタント・コピー・ストレージ
200:データ処理システム
202、204:プロセッサ
206:システム・バス
208:メモリ・コントローラ・キャッシュ
209:ローカル・メモリ
210:I/Oブリッジ
212:I/Oバス
214、222、224:PCIバス・ブリッジ
216、226、228:PCIバス
218:モデム
220:ネットワーク・アダプタ
230:グラフィックス・アダプタ
232:ハード・ディスク
310:コンピュータ・デバイス
320:1次ボリューム
330:2次ボリューム
410:アプリケーション・サーバ
420:遠隔サーバ
500:実行中のアプリケーションの再配置機構
510:実行中のアプリケーションの再配置コントローラ
520:ピアツーピア遠隔コピー・モジュール
530:チェックポイント生成モジュール
540:ストレージ・システム・インタフェース
550:ネットワーク・インタフェース

Claims (24)

  1. コンピュータ・デバイス上で実行されるとき、前記コンピュータ・デバイスに、
    実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
    前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成することと、
    前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
    前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記トポロジ的遠隔に位置するコンピュータ・システムに再配置することと
    を実行させる、コンピュータ・プログラム。
  2. 前記コンピュータ・デバイスに、ピアツーピア遠隔コピー動作を用いて、前記アプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることとを実行させる、請求項1に記載のコンピュータ・プログラム。
  3. 前記ピアツーピア遠隔コピー動作は非同期コピー動作である、請求項2に記載のコンピュータ・プログラム。
  4. 前記ピアツーピア遠隔コピー動作は不同期的な非同期コピー動作である、請求項2に記載のコンピュータ・プログラム。
  5. 前記トポロジ的遠隔に位置するコンピュータ・システムは、前記実行中のアプリケーションを初めに実行しているソース・コンピュータ・システムから地理的遠隔に位置する、請求項1に記載のコンピュータ・プログラム。
  6. 前記遠隔コピーされたアプリケーション・データ、及び前記遠隔コピーされたチェックポイント・メタデータは、前記トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・システムから、回復チェックポイントを生成するために少なくとも1つの他のストレージ・デバイスにコピーされる、請求項1に記載のコンピュータ・プログラム。
  7. 前記遠隔コピーされたアプリケーション・データ及びチェックポイント・メタデータを、少なくとも1つの他のストレージ・デバイスにコピーすることは、インスタント・コピー動作を用いて実行される、請求項6に記載のコンピュータ・プログラム。
  8. 前記トポロジ的遠隔に位置するコンピュータ・システムは、前記アプリケーション・データ及びチェックポイント・メタデータの全てが遠隔コピーされているかどうかを判断するために、前記アプリケーション・データ及びチェックポイント・メタデータがそれから遠隔コピーされるソース・コンピュータ・システムに関連するストレージ・コントローラと、前記トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・コントローラとに対して照会し、前記トポロジ的遠隔に位置するコンピュータ・システムは、前記アプリケーション・データの全てが前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合に限り、前記遠隔コピーされたアプリケーション・データを前記少なくとも1つの他のストレージ・デバイスにコピーするステップを実行し、前記トポロジ的遠隔に位置するコンピュータ・システムは、前記チェックポイント・メタデータの全てが前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合に限り、前記遠隔コピーされたチェックポイント・メタデータを前記少なくとも1つの他のストレージ・デバイスにコピーするステップを実行する、請求項6に記載のコンピュータ・プログラム。
  9. 前記コンピュータ・デバイスに、
    遠隔コピー動作中に、前記トポロジ的遠隔に位置するコンピュータ・システムの失敗を検出することと、
    前記トポロジ的遠隔に位置するコンピュータ・デバイスに関連するストレージ・デバイス内に存在する前記遠隔コピーされたアプリケーション・データと前記遠隔コピーされたチェックポイント・メタデータとに基づいて、前記実行中のアプリケーションの状態を最後のチェックポイントにおいて回復すること
    をさらに実行させる、請求項6に記載のコンピュータ・プログラム。
  10. 前記コンピュータ・デバイスは、前記コンピュータ・デバイスが前記実行中のアプリケーションの前記アプリケーション・データを遠隔コピーするときに、実質的に同じ時点において前記アプリケーション・チェックポイントを生成する、請求項1に記載のコンピュータ・プログラム。
  11. 前記コンピュータ・デバイスは、ストレージ・エリア・ネットワーク制御のコンピュータ・デバイスの1つ、又は、サーバ・クラスタ制御のコンピュータ・デバイスの1つである、請求項1に記載のコンピュータ・プログラム。
  12. 前記コンピュータ・デバイスに、実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーする動作と、前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成する動作と、前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーする動作とを繰り返して実行させる、請求項1に記載のコンピュータ・プログラム。
  13. プロセッサと、
    前記プロセッサに結合したメモリとを備えた装置であって、前記メモリは、前記プロセッサによって実行されたときに、前記プロセッサに、
    実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
    前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成することと、
    前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーすることと、
    前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記トポロジ的遠隔に位置するコンピュータ・システムに再配置することと
    を実行させる命令を含む、装置。
  14. データ処理システム内において、実行中のアプリケーションを、ソース・コンピュータ・デバイスからトポロジ的遠隔に位置するコンピュータ・システムに再配置するための方法であって、
    前記ソース・コンピュータ・デバイス上の実行中のアプリケーションのアプリケーション・データを、前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、
    前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成するステップと、
    前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、
    前記アプリケーション・データ及び前記チェックポイント・データの前記コピーを用いて、前記トポロジ的遠隔に位置するコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記トポロジ的遠隔に位置するコンピュータ・システムに再配置するステップと
    を含む方法。
  15. 前記アプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップとは、ピアツーピア遠隔コピー動作を用いるステップを含む、請求項14に記載の方法。
  16. 前記ピアツーピア遠隔コピー動作は非同期コピー動作である、請求項15に記載の方法。
  17. 前記トポロジ的遠隔に位置するコンピュータ・システムは、前記実行中のアプリケーションを初めに実行しているソース・コンピュータ・システムから地理的遠隔に位置する、請求項14に記載の方法。
  18. 前記遠隔コピーされたアプリケーション・データと、前記遠隔コピーされたチェックポイント・メタデータを、前記トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・システムから、回復チェックポイントを生成するために、少なくとも1つの他のストレージ・デバイスにコピーするステップをさらに含む、請求項14に記載の方法。
  19. 前記遠隔コピーされたアプリケーション・データ及びチェックポイント・メタデータを、少なくとも1つの他のストレージ・デバイスにコピーするステップは、インスタント・コピー動作を使用するステップを含む、請求項18に記載の方法。
  20. 前記アプリケーション・データ及びチェックポイント・メタデータの全てが遠隔コピーされているかどうかを判断するために、前記ソース・コンピュータ・デバイスに関連するストレージ・コントローラと、前記トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・コントローラとに対して照会するステップをさらに含み、前記遠隔コピーされたアプリケーション・データを前記少なくとも1つの他のストレージ・デバイスにコピーするステップは、前記アプリケーション・データの全てが前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合に限り実行され、前記遠隔コピーされたチェックポイント・メタデータを前記少なくとも1つの他のストレージ・デバイスにコピーするステップは、前記チェックポイント・メタデータの全てが前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーされている場合に限り実行される、請求項18に記載の方法。
  21. 遠隔コピー動作中に、前記トポロジ的遠隔に位置するコンピュータ・システムの失敗を検出するステップと、
    前記トポロジ的遠隔に位置するコンピュータ・システムに関連するストレージ・デバイス内に存在する、前記遠隔コピーされたアプリケーション・データと前記遠隔コピーされたチェックポイント・メタデータとに基づいて、前記実行中のアプリケーションの状態を最後のチェックポイントにおいて回復するステップと
    をさらに含む、請求項18に記載の方法。
  22. 前記アプリケーション・チェックポイントは、前記実行中のアプリケーションの前記アプリケーション・データの前記遠隔コピーと実質的に同じ時点に生成される、請求項14に記載の方法。
  23. 実行中のアプリケーションのアプリケーション・データをトポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップと、前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成するステップと、前記チェックポイント・メタデータを前記トポロジ的遠隔に位置するコンピュータ・システムに遠隔コピーするステップとの動作を繰り返して実行することをさらに含む、請求項14に記載の方法。
  24. 少なくとも1つのネットワークと、
    前記ネットワークに結合する第1のコンピュータ・システムと、
    前記ネットワークに結合する第2のコンピュータ・システムと
    を備えた、実行中のアプリケーションを再配置するためのシステムであって、前記第2のコンピュータ・システムは、前記第1のコンピュータ・システムからトポロジ的遠隔に位置し、前記第1のコンピュータ・システムは、
    第1のコンピュータ・システム上の実行中のアプリケーションのアプリケーション・データを第2のコンピュータ・システムに遠隔コピーし、
    前記アプリケーション・データの前記コピーと同じ時点を表すチェックポイント・メタデータを備えたアプリケーション・チェックポイントを生成し、
    前記チェックポイント・メタデータを前記第2のコンピュータ・システムに遠隔コピーし、
    前記アプリケーション・データ及び前記チェックポイント・メタデータの前記コピーを用いて、前記第2のコンピュータ・システム上で前記実行中のアプリケーションを開始することによって、前記実行中のアプリケーションを前記第2のコンピュータ・システムに再配置する、システム。
JP2006346792A 2006-01-25 2006-12-22 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法 Expired - Fee Related JP5147229B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/340813 2006-01-25
US11/340,813 US20070234342A1 (en) 2006-01-25 2006-01-25 System and method for relocating running applications to topologically remotely located computing systems

Publications (2)

Publication Number Publication Date
JP2007200294A true JP2007200294A (ja) 2007-08-09
JP5147229B2 JP5147229B2 (ja) 2013-02-20

Family

ID=38454797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006346792A Expired - Fee Related JP5147229B2 (ja) 2006-01-25 2006-12-22 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法

Country Status (3)

Country Link
US (1) US20070234342A1 (ja)
JP (1) JP5147229B2 (ja)
CN (1) CN100530124C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151502A (ja) * 2007-12-19 2009-07-09 Internatl Business Mach Corp <Ibm> ルートファイルシステムを管理するシステム及び方法
JP2013528883A (ja) * 2010-06-15 2013-07-11 マイクロソフト コーポレーション ファイルシステムのチェックポイント
JP2013529343A (ja) * 2010-05-18 2013-07-18 ヴイエムウェア インク 遠隔仮想計算機全体にわたって耐故障チェックポインティングを達成するための方法及びシステム

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621275B1 (en) * 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US7697554B1 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US9348530B2 (en) 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US7685395B1 (en) 2005-12-27 2010-03-23 Emc Corporation Spanning virtual arrays across multiple physical storage arrays
US7697515B2 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
US7496783B1 (en) * 2006-02-09 2009-02-24 Symantec Operating Corporation Merging cluster nodes during a restore
US8131667B1 (en) * 2006-04-28 2012-03-06 Netapp, Inc. System and method for generating synthetic clients
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8539177B1 (en) 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US8533408B1 (en) 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8583861B1 (en) 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US8452928B1 (en) * 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
US7840683B2 (en) * 2006-08-31 2010-11-23 Sap Ag Systems and methods of migrating sessions between computer systems
US9063896B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
US8244954B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation On-demand paging-in of pages with read-only file system
US8245013B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation Mapped offsets preset ahead of process migration
US9537957B2 (en) 2009-09-02 2017-01-03 Lenovo (Singapore) Pte. Ltd. Seamless application session reconstruction between devices
US8862816B2 (en) * 2010-01-28 2014-10-14 International Business Machines Corporation Mirroring multiple writeable storage arrays
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
WO2013101142A1 (en) 2011-12-30 2013-07-04 Intel Corporation Low latency cluster computing
US9122873B2 (en) 2012-09-14 2015-09-01 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
EP2736221A1 (en) * 2012-11-22 2014-05-28 NEC Corporation Improved synchronization of an application run on two distinct devices
US9075529B2 (en) * 2013-01-04 2015-07-07 International Business Machines Corporation Cloud based data migration and replication
US9317380B2 (en) * 2014-05-02 2016-04-19 International Business Machines Corporation Preserving management services with self-contained metadata through the disaster recovery life cycle
US10089197B2 (en) * 2014-12-16 2018-10-02 Intel Corporation Leverage offload programming model for local checkpoints
US9286104B1 (en) 2015-01-05 2016-03-15 International Business Machines Corporation Selecting virtual machines to be relocated based on memory volatility
US10185637B2 (en) 2015-02-16 2019-01-22 International Business Machines Corporation Preserving management services with distributed metadata through the disaster recovery life cycle
KR102449533B1 (ko) * 2015-05-28 2022-10-04 삼성전자주식회사 전자 장치 및 전자 장치에서 어플리케이션의 실행을 제어하는 방법
KR102396435B1 (ko) * 2015-08-11 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치, 버퍼 메모리 및 컨트롤러를 포함하는 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법
CN106919465B (zh) * 2015-12-24 2021-03-16 伊姆西Ip控股有限责任公司 用于存储系统中多重数据保护的方法和装置
US20190273779A1 (en) * 2018-03-01 2019-09-05 Hewlett Packard Enterprise Development Lp Execution of software on a remote computing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137692A (ja) * 1998-10-30 2000-05-16 Toshiba Corp 分散ノード間負荷分散方式
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) * 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US6205449B1 (en) * 1998-03-20 2001-03-20 Lucent Technologies, Inc. System and method for providing hot spare redundancy and recovery for a very large database management system
US6092085A (en) * 1998-03-24 2000-07-18 International Business Machines Corporation Method and system for improved database disaster recovery
US6163856A (en) * 1998-05-29 2000-12-19 Sun Microsystems, Inc. Method and apparatus for file system disaster recovery
US6629263B1 (en) * 1998-11-10 2003-09-30 Hewlett-Packard Company Fault tolerant network element for a common channel signaling (CCS) system
US6349357B1 (en) * 1999-03-04 2002-02-19 Sun Microsystems, Inc. Storage architecture providing scalable performance through independent control and data transfer paths
US6339793B1 (en) * 1999-04-06 2002-01-15 International Business Machines Corporation Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6721901B1 (en) * 2000-02-28 2004-04-13 International Business Machines Corporation Method and system for recovering mirrored logical data volumes within a data processing system
US6629264B1 (en) * 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6658590B1 (en) * 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
US6594744B1 (en) * 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
FR2820221B1 (fr) * 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
US7143252B2 (en) * 2001-05-10 2006-11-28 Hitachi, Ltd. Storage apparatus system and method of data backup
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system
FR2843210B1 (fr) * 2002-08-02 2005-10-14 Meiosys Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
FR2843209B1 (fr) * 2002-08-02 2006-01-06 Cimai Technology Procede de replication d'une application logicielle dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de replication, et systeme multi-ordinateurs ainsi equipe.
US20050021836A1 (en) * 2003-05-01 2005-01-27 Reed Carl J. System and method for message processing and routing
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US7237056B2 (en) * 2003-11-17 2007-06-26 Hewlett-Packard Development Company, L.P. Tape mirror interface
US7054960B1 (en) * 2003-11-18 2006-05-30 Veritas Operating Corporation System and method for identifying block-level write operations to be transferred to a secondary site during replication
US7299378B2 (en) * 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
US7644318B2 (en) * 2004-07-14 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for a failover procedure with a storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137692A (ja) * 1998-10-30 2000-05-16 Toshiba Corp 分散ノード間負荷分散方式
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151502A (ja) * 2007-12-19 2009-07-09 Internatl Business Mach Corp <Ibm> ルートファイルシステムを管理するシステム及び方法
US8495012B2 (en) 2007-12-19 2013-07-23 International Business Machines Corporation System and method for managing root file system
JP2013529343A (ja) * 2010-05-18 2013-07-18 ヴイエムウェア インク 遠隔仮想計算機全体にわたって耐故障チェックポインティングを達成するための方法及びシステム
JP2013528883A (ja) * 2010-06-15 2013-07-11 マイクロソフト コーポレーション ファイルシステムのチェックポイント

Also Published As

Publication number Publication date
CN101030154A (zh) 2007-09-05
JP5147229B2 (ja) 2013-02-20
US20070234342A1 (en) 2007-10-04
CN100530124C (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
JP5147229B2 (ja) 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法
JP5235338B2 (ja) 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法
US7613749B2 (en) System and method for application fault tolerance and recovery using topologically remotely located computing devices
CN107533499B (zh) 用于在存储系统之间执行故障转移的方法和系统
AU2005207573B2 (en) Geographically distributed clusters
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
JP4257774B2 (ja) 記憶装置を応用したコピー管理の方法と装置
US7133982B2 (en) Method, system, and article of manufacture for consistent copying of storage volumes
US7111194B1 (en) Mirror split brain avoidance
US7308545B1 (en) Method and system of providing replication
US10162563B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies
JP2005242403A (ja) 計算機システム
EP1704480B1 (en) Cluster database with remote data mirroring
JP2007179342A (ja) ストレージシステム及びスナップショット管理方法
JP2013544386A5 (ja)
JP2008140002A (ja) 記憶システム及びデータ管理方法
US20090132779A1 (en) Storage system and remote copy control method
JP4671399B2 (ja) データ処理システム
CN106776123B (zh) 一种容灾实时数据复制方法及系统、备份客户端
US8010758B1 (en) System and method for performing secondary site synchronization based on a single change map
JP2009265973A (ja) データ同期システム、障害復旧方法、及び、プログラム
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
US20210240351A1 (en) Remote copy system and remote copy management method
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
JP2021149773A (ja) ハイブリッドクラウドにおけるデータを保護する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120228

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees