(57)【特許請求の範囲】
【請求項１】
コンピューティング・ストレージ環境においてプロセッサ・デバイスによる協調式災害復旧のための方法であって、
引き継ぎ動作のために複数の災害復旧システム間で異なる複数のデータセットに含まれるデータ交差および非交差データを分解するための調停プロセスを実行することと、
前記複数の災害復旧システムにおける前記調停プロセスにより複数のカートリッジについて所有権同期プロセスを調整することであって、前記複数の災害復旧システムが、複数のソース・システムの前記複数のカートリッジの複製のための前記少なくとも１つの複数のローカルのターゲットで継続すること、を含み、
前記引き継ぎ動作が、
前記ソース・システムの少なくとも１つのリモート・システムについて災害復旧（ＤＲ）モードを起動することであって、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つのリモート・システムが前記複数の災害復旧システムの一部になることと、
前記複数の災害復旧システムが前記引き継ぎ動作を順次実行できるようにすることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つについて前記引き継ぎ動作を実行できると判断することと、
複数の複製グリッド・メンバによる前記複数のカートリッジの所有権を示す、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つからの第１のリストについて複製グリッド・マネージャにより複製グリッド内で要求を送信することと、
前記引き継ぎ動作に必要な前記複数のカートリッジのそれぞれの第２のリストを構築することと、
前記第１のリストと前記第２のリストを比較することにより、前記複数のカートリッジのうちの前記少なくとも１つの所有権を引き継ぐための候補として、前記複数のカートリッジの少なくとも１つを識別することと、
前記第２のリストを前記複数の災害復旧システムに転送することと、
前記複数のカートリッジのうちの前記少なくとも１つの前記所有権を切り替えることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つの複数の災害復旧システムのそれぞれにおいて生産現場の少なくとも一部分を構築し継続すること、のうちの１つを含む、方法。
【請求項２】
前記複数の災害復旧システムが前記引き継ぎ動作を実行できるようにするために前記複数のソース・システムのうちの少なくとも１つがオフラインであると宣言することであって、複製グリッドをチェックして、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つが前記複製グリッドを終了したかどうかを判断することと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つを複数の複製グリッド・システムに通知すること
のうちの少なくとも１つを実行することをさらに含む、請求項１記載の方法。
【請求項３】
前記複数の災害復旧システムの前記引き継ぎ動作の各動作を繰り返しおよび各動作を並行して実行することをさらに含む、請求項１記載の方法。
【請求項４】
前記調停プロセスが、
非交差データセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムのそれぞれで個別に前記引き継ぎ動作を実行することと、
オーバラップするデータセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムの１つにより、まず前記引き継ぎ動作を実行し、前記複数のカートリッジのそれぞれの前記所有権を変更することと、
交差データセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムにより前記引き継ぎ動作を実行する順序に基づいて前記複数のカートリッジの所有権を決定すること
のうちの少なくとも１つを実行することを含む、請求項１記載の方法。
【請求項５】
前記複数の災害復旧システムにより前記引き継ぎ動作を実行する順序に基づいて前記複数のカートリッジの所有権を決定することが、
前記複数の災害復旧システムのうちの第１のものが前記引き継ぎ動作を実行するために、交差する前記複数のカートリッジのそれぞれの前記所有権を取得することと、
前記複数の災害復旧システムのうちの第２のものが前記引き継ぎ動作を実行するために、前記複数の災害復旧システムのうちの前記第２のものとまだ前記引き継ぎ動作を実行していない前記複数の災害復旧システムとの間で交差する前記複数のカートリッジの前記所有権を取得すること
を含む、請求項４記載の方法。
【請求項６】
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つについて前記複数の災害復旧システムによる災害復旧モードを終了することをさらに含む、請求項１記載の方法。
【請求項７】
コンピューティング・ストレージ環境においてプロセッサ・デバイスによる協調式災害復旧のためのシステムであって、
前記コンピューティング・ストレージ環境において動作可能な少なくとも１つのプロセッサ・デバイスを含み、前記少なくとも１つのプロセッサ・デバイスが、
引き継ぎ動作のために複数の災害復旧システム間で異なる複数のデータセットに含まれるデータ交差および非交差データを分解するための調停プロセスを実行することと、
前記複数の災害復旧システムにおける前記調停プロセスにより複数のカートリッジについて所有権同期プロセスを調整することであって、前記複数の災害復旧システムが、複数のソース・システムの前記複数のカートリッジの複製のための前記少なくとも１つの複数のローカルのターゲットで継続すること、を含み、
前記引き継ぎ動作が、
前記ソース・システムの少なくとも１つのリモート・システムについて災害復旧（ＤＲ）モードを起動することであって、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つのリモート・システムが前記複数の災害復旧システムの一部になることと、
前記複数の災害復旧システムが前記引き継ぎ動作を順次実行できるようにすることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つについて前記引き継ぎ動作を実行できると判断することと、
複数の複製グリッド・メンバによる前記複数のカートリッジの所有権を示す、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つからの第１のリストについて複製グリッド・マネージャにより複製グリッド内で要求を送信することと、
前記引き継ぎ動作に必要な前記複数のカートリッジのそれぞれの第２のリストを構築することと、
前記第１のリストと前記第２のリストを比較することにより、前記複数のカートリッジのうちの前記少なくとも１つの所有権を引き継ぐための候補として、前記複数のカートリッジの少なくとも１つを識別することと、
前記第２のリストを前記複数の災害復旧システムに転送することと、
前記複数のカートリッジのうちの前記少なくとも１つの前記所有権を切り替えることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つの複数の災害復旧システムのそれぞれにおいて生産現場の少なくとも一部分を構築し継続すること、のうちの１つを実行するのために適合される、システム。
【請求項８】
前記少なくとも１つのプロセッサ・デバイスが、
前記複数の災害復旧システムが前記引き継ぎ動作を実行できるようにするために前記複数のソース・システムのうちの少なくとも１つがオフラインであると宣言することであって、複製グリッドをチェックして、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つが前記複製グリッドを終了したかどうかを判断することと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つを複数の複製グリッド・システムに通知すること
のうちの少なくとも１つを実行するためにさらに適合される、請求項７記載のシステム。  
【請求項９】
前記少なくとも１つのプロセッサ・デバイスが、前記複数の災害復旧システムの前記引き継ぎ動作の各動作を繰り返しおよび各動作を並行して実行することをさらに含む、請求項７記載のシステム。
【請求項１０】
前記調停プロセスを実行する際に、前記少なくとも１つのプロセッサ・デバイスが、
非交差データセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムのそれぞれで個別に前記引き継ぎ動作を実行することと、
オーバラップするデータセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムの１つにより、まず前記引き継ぎ動作を実行し、前記複数のカートリッジのそれぞれの前記所有権を変更することと、
交差データセットが前記複数の災害復旧システム間に分散されている場合に、前記複数の災害復旧システムにより前記引き継ぎ動作を実行する順序に基づいて前記複数のカートリッジの所有権を決定すること
のうちの少なくとも１つを実行するためにさらに適合される、請求項７記載のシステム。
【請求項１１】
前記複数の災害復旧システムにより前記引き継ぎ動作を実行する順序に基づいて前記複数のカートリッジの所有権を決定する際に、前記少なくとも１つのプロセッサ・デバイスが、
前記複数の災害復旧システムのうちの第１のものが前記引き継ぎ動作を実行するために、交差する前記複数のカートリッジのそれぞれの前記所有権を取得することと、
前記複数の災害復旧システムのうちの第２のものが前記引き継ぎ動作を実行するために、前記複数の災害復旧システムのうちの前記第２のものとまだ前記引き継ぎ動作を実行していない前記複数の災害復旧システムとの間で交差する前記複数の交差カートリッジの前記所有権を取得すること
のうちの少なくとも１つを実行するためにさらに適合される、請求項１０記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサ・デバイスが、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つについて前記複数の災害復旧システムによる災害復旧モードを終了するためにさらに適合される、請求項７記載のシステム。
【請求項１３】
プロセッサ・デバイスによる協調式災害復旧のためのコンピュータ・プログラムであって、  
引き継ぎ動作のために複数の災害復旧システム間で異なる複数のデータセットに含まれるデータ交差および非交差データを分解するための調停プロセスを実行することと、
前記複数の災害復旧システムにおける前記調停プロセスにより複数のカートリッジについて所有権同期プロセスを調整することであって、前記複数の災害復旧システムが、複数のソース・システムの前記複数のカートリッジの複製のための前記少なくとも１つの複数のローカルのターゲットで継続すること、を含み、
前記引き継ぎ動作が、
前記ソース・システムの少なくとも１つのリモート・システムについて災害復旧（ＤＲ）モードを起動することであって、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つのリモート・システムが前記複数の災害復旧システムの一部になることと、
前記複数の災害復旧システムが前記引き継ぎ動作を順次実行できるようにすることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つについて前記引き継ぎ動作を実行できると判断することと、
複数の複製グリッド・メンバによる前記複数のカートリッジの所有権を示す、オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つからの第１のリストについて複製グリッド・マネージャにより複製グリッド内で要求を送信することと、
前記引き継ぎ動作に必要な前記複数のカートリッジのそれぞれの第２のリストを構築することと、
前記第１のリストと前記第２のリストを比較することにより、前記複数のカートリッジのうちの前記少なくとも１つの所有権を引き継ぐための候補として、前記複数のカートリッジの少なくとも１つを識別することと、
前記第２のリストを前記複数の災害復旧システムに転送することと、
前記複数のカートリッジのうちの前記少なくとも１つの前記所有権を切り替えることと、
オフラインであると宣言された前記複数のソース・システムのうちの前記少なくとも１つの複数の災害復旧システムのそれぞれにおいて生産現場の少なくとも一部分を構築し継続すること、のうちの１つを、
前記プロセッサ・デバイスに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータに関し、詳細には、協調式災害復旧生産引き継ぎ動作（coordinated disaster recovery production takeover operation）に関する。
【背景技術】
【０００２】
現代の社会では、コンピュータ・システムはありふれたものである。コンピュータ・システムは、職場、家庭、または学校で見つけることができる。コンピュータ・システムは、データを処理し保管するためにデータ・ストレージ・システムまたはディスク・ストレージ・システムを含むことができる。データ・ストレージ・システムまたはディスク・ストレージ・システムはデータを処理し保管するために使用される。ストレージ・システムは１つまたは複数のディスク・ドライブを含むことができる。このようなデータ処理システムは典型的に大量のデータ・ストレージを必要とする。顧客データまたはデータ処理システム内でユーザによって生成されたデータは、このデータ・ストレージの大部分を占有する。このようなコンピュータ・システムの多くは仮想ストレージ・コンポーネントを含む。
【０００３】
仮想ストレージ・コンポーネントは様々なコンピューティング環境で見つけられる。典型的な仮想ストレージ・コンポーネントは、磁気テープ・ドライブを介して使用される磁気テープ・カートリッジである。テープ・カートリッジを保持するためのいくつかのスロットともに、１つのテープ・ライブラリには複数のテープ・ドライブが含まれる可能性がある。このようなデータ・ストレージ・システムは、テープ・ライブラリまたはテープ・ドライブを仮想提示するために、ストレージ・コンポーネント（通常は、ディスク・アレイなどの直接アクセス・ストレージ）を使用する。どちらのタイプの技術もバックアップおよび復旧のために一般的に使用される。仮想テープ・ライブラリは、既存のバックアップ・ソフトウェアならびに既存のバックアップおよび復旧プロセスと統合し、典型的により高速のバックアップおよび復旧動作を可能にする。往々にして、このようなデータ・ストレージ・エンティティをその発生地から遠隔地に複製することが必要になる。複製されたデータ・システムは、ファイル、データ・オブジェクト、バックアップ・イメージ、データ・スナップショット、または仮想テープ・カートリッジなどの様々な論理データ・ストレージ・エンティティを具体化することができる。
【０００４】
複製されたデータ・エンティティはフォールト・トレラント能力およびデータの可用性を高める。したがって、特に現代の世界経済において、このような大規模なコンピュータ・システムについて災害復旧（ＤＲ）計画を作成することは重要なことである。ＤＲ計画は、西側世界の大部分で規模が変動する諸企業および政府によって必要とされている。ほとんどの最新規格では、ストレージ・システム内でデータのコピーを３〜４部維持するためにストレージ・システム間でデータを複製するための３〜４サイト（多対多（many-to-many））のトポロジ・グループを指示している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の通り、最新の規格では典型的に、ストレージ・システム内でデータのコピーを３〜４部維持するためにストレージ・システム間でデータを複製するための３〜４サイト（多対多）のトポロジ・グループを指示している。多対多トポロジ内では、災害復旧（ＤＲ）計画とは別に、生産性および効率を低減する状況の発生を回避する引き継ぎプロセスを保証する際に難題が発生する。このような難題としては、特に複数のインターレース・システム間の同期プロセスを伴うときに起こり得るデータ破壊シナリオを防止すること、あるいは特定の生産現場でユーザが最後にカートリッジを間違えるような状況、またはその両方を含む。このような非効率は、パフォーマンスを低減するものであり、ストレージ・システム内でデータの複数コピーを維持することの完全性を損なう可能性がある。
【課題を解決するための手段】
【０００６】
したがって、上記を考慮して、協調式災害復旧のための様々な模範的な方法、システム、およびコンピュータ・プログラム製品（computer program product）の諸実施形態が提供される。一実施形態では、一例としてのみ、引き継ぎ動作のために災害復旧システム間で交差および非交差データを解決するための調停プロセス（reconciliation process）が実行される。災害復旧システムにおける調停プロセスによりレプリカ・カートリッジについて所有権同期プロセスを調整する（coordinate）。災害復旧システムは、ソース・システムのための複製ターゲットとして、ならびにローカル・バックアップ・アプリケーションのためのバックアップ・ターゲットとして継続する。追加のシステムおよびコンピュータ・プログラム製品の諸実施形態が開示され、関連の利点を提供する。
【０００７】
上記の模範的な方法の実施形態に加えて、その他の模範的なシステムおよびコンピュータ製品の諸実施形態が提供され、関連の利点を提供する。上記の概要は、詳細な説明でさらに後述する概念の選択について簡略化した形で紹介するために提供されている。この概要は、請求された主題の重要な特徴または本質的な特徴を識別するためのものではなく、請求された主題の範囲を決定する際の補助として使用するためのものでもない。請求された主題は、背景技術で注目された任意またはすべての不利点を解決する実現例に限定されない。
【０００８】
本発明の利点について容易に理解するために、添付図面に示されている特定の諸実施形態を参照することにより、上記で簡単に説明した本発明についてより詳細な説明が提供される。これらの図面が本発明の諸実施形態を描写するものであり、したがって、その範囲を限定するものと見なすべきではないことを理解して、添付図面の使用により具体性および詳細さを追加して本発明について記述し説明する。
【図面の簡単な説明】
【０００９】
【図１】本発明の諸態様を実現することができる模範的なコンピューティング環境を示す図である。
【図２】本発明の諸態様を実現することができるコンピューティング環境においてプロセッサ・デバイスを含む模範的なコンピューティング・デバイスを示す図である。
【図３】多対多トポロジにおいて災害復旧生産引き継ぎ動作を調整するための模範的な方法を示す流れ図である。
【図４】システムがオフラインであると告知するための模範的な方法を示す流れ図である。
【図５】調停プロセスによりレプリカ・カートリッジについて所有権同期プロセスを調整するための模範的な方法を示す流れ図である。
【図６】引き継ぎ動作のために災害復旧システム間で調停プロセスを実行するための模範的な方法を示す流れ図である。
【図７】異なるリモート・システムに分散されたソース・データセット間の相互関係のタイプの模範的なブロック図である。
【図８】システム＃３がソース・システムであり、他のすべてのリモート・システムに対して複製している、複製のための多対多システム（４つのシステム）の模範的なブロック図である。
【図９】ソース・システム＃３がもはや使用可能ではなく、災害復旧引き継ぎの前のリモート・システムの模範的なブロック図である。
【図１０】第１の災害復旧システム＃１によって実行され、災害復旧システム＃２を調べる引き継ぎ動作を実証する模範的なブロック図である。
【図１１】第２の災害復旧システム＃２によって実行される引き継ぎ動作を実証する模範的なブロック図である。
【図１２】第２の災害復旧システム＃４によって実行される引き継ぎ動作を実証する模範的なブロック図である。
【図１３】災害復旧モードを終了し、通常通りに動作し続ける災害復旧システムのそれぞれを実証する模範的なブロック図である。
【発明を実施するための形態】
【００１０】
以下の説明および請求された主題全体を通して、例示された諸実施形態に関して以下の用語について説明する。
【００１１】
「カートリッジ所有権」とは、特定のシステムにおいてカートリッジに書き込むことができることを示すカートリッジの属性を指すものである。カートリッジは、その所有者のシステム上で書き込み可能にすることができる。「災害復旧（ＤＲ）モード」とは、特定のリモート・システムがその時点で特定のソース・システムのためのＤＲとして使用されることを示すリモート・システムにおける表示を指すものである。ＤＲモードは、複製されたデータを保護するために、ソース・システムからの複製通信をブロックさせることができる。「複製」とは、同じ複製グリッド（replication grid）に常駐するシステム間で重複除外された（deduplicated）データを漸増的にコピーするプロセスを指すものである。「複製グリッド」とは、物理的に接続された異なるメンバ間で複製動作を確立することができるコンテキストを提供する論理グループを指すものである。「複製グリッド・マネージャ」とは、グリッドのコンテキストにおいて複製および所有権変更活動（replication and changing ownership activity）を担当するコンポーネント（プロセッサ・デバイスによって操作されるソフトウェア・コンポーネントなど）を指すものである。「ＶＴＬ」または「仮想テープ・ライブラリ」とは、仮想テープ・ライブラリ、すなわち、物理ライブラリをエミュレートするコンピュータ・ソフトウェアを指すものである。「カートリッジ」は、データ・ストレージ・エンティティ、複数のデータ・ストレージ・エンティティ、複製されたデータ・ストレージ・エンティティ、複数の複製されたデータ・ストレージ・エンティティ、ファイル、データ・オブジェクト、バックアップ・イメージ、データ・スナップショット、仮想テープ・カートリッジという用語、ならびに当業界でコンピュータ環境内のカートリッジとして一般に知られているその他の既知の技術を含むことができる。また、ソース・システム・サイトは、第１のストレージ・システム、第１のストレージ・サイト、および１次ストレージ・システムを指すことができる。リモート・システム・サイトは、２次ストレージ・サイト、２次ストレージ・システム、およびリモート・ストレージ・システムと呼ぶことができる。また、リモート・システム・サイトは、リモート・システムが災害復旧モードで動作しているときに災害復旧システムと呼ぶこともできる。
【００１２】
多対多トポロジは、１対１および多対１トポロジに関する問題を引き起こす可能性がある。異なるデータセットまたは複数の交差データセットがソース・サイトから異なる宛先に複製されている場合、通常の災害復旧プロセスは複数のサイトから復旧しなければならず、交差の場合、宛先のうちの１つ（そのバックアップ環境生産所有権を有するもの）でのみ復旧しなければならない。災害復旧の解決策は、複製の最中にある可能性のあるいくつかのソース・システムについてＤＲシステムの遮断を防止しなければならず、潜在的なデータ損失／破壊あるいは長期のＰＲＯ（リカバリ・ポイント目標）またはその両方を防止しなければならない。当技術分野の現在の状態はこのような問題に対処しておらず、それによりパフォーマンスを低減しており、効率が低減される可能性がある。
【００１３】
対照的に、前述の非効率およびパフォーマンスの問題に対処するために、例示されている諸実施形態のメカニズムは、より効果的な方法で多対多トポロジにおいて、たとえば、重複除外仮想テープ・ライブラリ（ＶＴＬ）システムに関する多対多トポロジにおいて、災害復旧生産引き継ぎプロセスを調整するように機能する。多対多トポロジ内では、複数のシステムが災害復旧（ＤＲ）システムとして動作し、ＤＲモードに移行することができる。生産環境も適切なＤＲシステムのサイトに移動することができる。一時的な生産現場は、依然として複数の他のソース・システムに関するターゲットである間に、新しいカートリッジを作成するか、あるいは古いカートリッジに書き込むか、またはその両方を行うことができる。（生産現場が永続的に終了したと宣言され、代わりのサイトがまったく計画されていないので）生産をＤＲサイトに永続的に移動できるようにするために、ソース・システム・カートリッジに対する所有権をＤＲサイト（新しい生産現場）に変更できるようにＤＲサイトにおいて複製グリッド内で協調式所有権同期プロセスが行われる可能性がある。他のソース・システムから複製データを同時に受信している間にこの協調プロセス全体が行われる可能性がある。
【００１４】
代替の一実施形態では、このメカニズムは、引き継ぎ動作のために複数の災害復旧システム間で交差および非交差データを解決するための調停プロセスを実行するために構成される。いくつかの災害復旧システムにおける調停プロセスによりレプリカ・カートリッジについて所有権同期プロセスを調整する。災害復旧システムは、複数のソース・システム（オフラインではない可能性がある）のための複製ターゲットならびにローカル・バックアップ・アプリケーションのためのバックアップ・ターゲットであり続ける。
【００１５】
次に図１を参照すると、コンピューティング環境におけるデータ・ストレージ・システム（たとえば、仮想テープ・システム）の模範的なアーキテクチャ１０が描写されている。アーキテクチャ１０は、図示の通り、ローカル・ホスト１８および２０に対してストレージ・サービスを提供し、リモート・データ・ストレージ・システムに対して複製データを提供する。ストレージ・デバイス１４と通信状態にあるローカル・ストレージ・システム・サーバ１２は、ファイバ・チャネル・スイッチ１６などのコンポーネントを含むネットワークによりローカル・ホスト１８および２０に接続される。ファイバ・チャネル・スイッチ１６は、たとえば、テープ・デバイスに関するコマンド（小型コンピュータ・システム・インターフェース（ＳＣＳＩ）コマンドなど）を実行することができる。当業者であれば、アーキテクチャ１０が様々なストレージ・コンポーネントを含むことができることを認識するであろう。たとえば、ストレージ・デバイス１４は、従来のハードディスク・ドライブ（ＨＤＤ）デバイスを含む場合もあれば、ソリッドステート・ドライブ（ＳＳＤ）デバイスを含む場合もある。
【００１６】
ローカル・ストレージ・システム・サーバ１２はネットワーク２２によりリモート・ストレージ・システム・サーバ２４に接続される。リモート・サーバ２４は、ローカルに接続されたディスク・ストレージ・デバイス２６と通信し、ファイバ・チャネル・スイッチ２８などの他のネットワークおよびネットワーク・コンポーネント２８によりローカルに接続されたホスト３０および３２と通信する。ネットワーク２２は、広域ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、およびその他の構成など、様々なネットワーク・トポロジを含むことができる。同様に、スイッチ１６および２８はその他のタイプのネットワーク・デバイスを含むことができる。
【００１７】
前述の通り、アーキテクチャ１０は、ローカル・ホストに対してローカル・ストレージ・サービスを提供し、リモート・データ・ストレージ・システムに対して複製データを提供する（矢印３４を使用してデータ複製機能によって示されている）。後述するように、本発明および請求された主題の様々な諸実施形態は、アーキテクチャ１０などのアーキテクチャ上で実現することができる。
【００１８】
図２は、本発明の諸実施形態を実現するために使用することができる模範的なコンピュータ環境の一部分２００を示している。コンピュータ２０２は、プロセッサ２０４と、ランダム・アクセス・メモリ（ＲＡＭ）などのメモリ２０６とを含む。一実施形態では、ストレージ・システム・サーバ１２（図１）は、コンピュータ２０２に示されているものと同様のコンポーネントを含むことができる。コンピュータ２０２はディスプレイ２１９に動作可能に結合され、このディスプレイはグラフィカル・ユーザ・インターフェース２１８上でユーザに対してウィンドウなどの画像を提示する。コンピュータ２０２は、キーボード２１６、マウス・デバイス２２０、プリンタ２２８などのその他のデバイスに結合することができる。当然のことながら、当業者であれば、上記のコンポーネントの任意の組み合わせ、または任意の数の異なるコンポーネント、周辺装置、およびその他のデバイスをこのコンピュータ２０２とともに使用できることを認識するであろう。
【００１９】
一般に、コンピュータ２０２は、メモリ２０６に保管されたオペレーティング・システム（ＯＳ）２０８（たとえば、ｚ／ＯＳ、ＯＳ／２、ＬＩＮＵＸ、ＵＮＩＸ、ＷＩＮＤＯＷＳ、ＭＡＣ  ＯＳ）の制御下で動作し、たとえば、グラフィカル・ユーザ・インターフェース（ＧＵＩ）モジュール２３２により、入力およびコマンドを受け入れ、結果を提示するためにユーザとのインターフェースを取る。本発明の一実施形態では、ＯＳ２０８はバックアップ・メカニズムを容易にする。ＧＵＩモジュール２３２は個別のモジュールとして描写されているが、ＧＵＩ機能を実行する命令は、オペレーティング・システム２０８、アプリケーション・プログラム２１０内に常駐または分散されるか、特殊目的メモリおよびプロセッサで実現することができる。ＯＳ２０８は、協調式災害復旧生産引き継ぎ動作機能の実行など、後述する模範的な諸実施形態で様々なプロセスおよびメカニズムを実行するために適合させることができる、複製モジュール２４０および災害復旧モジュール２４２を含む。複製モジュール２４０および災害復旧モジュール２４２は、ハードウェア、ファームウェア、またはハードウェアとファームウェアの組み合わせで実現することができる。一実施形態では、複製モジュール２４０は、詳述するように複製グリッドのコンテキストにおいて複製および所有権変更活動を実行するかあるいは管理するかまたはその両方を行うための複製グリッド・マネージャまたは複製マネージャと見なすこともできる。その上、複製モジュール２４０は、同時に複製グリッド・マネージャとして実行し機能しながら、例示されている諸実施形態のメカニズムを実行するために必要な複製タイプのイベントあるいはプロセスまたはその両方のすべてを実行することができる。一実施形態では、複製モジュール２４０および災害復旧モジュール２４２は、特定用途向け集積回路（ＡＳＩＣ）として実施することができる。当業者であれば認識するように、システム・オン・チップ（ＳｏＣ）として知られる専用ＡＳＩＣにおいて、コンピュータ２０２のプロセッサ２０４、メモリ２０６、およびその他のコンポーネントに関連する機能とともに、複製モジュール２４０および災害復旧モジュール２４２に関連する機能も実施することができる。さらに、複製モジュールおよび災害復旧モジュール２４２（あるいは、この場合もコンピュータ２０２のその他のコンポーネント）に関連する機能は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）として実現することができる。
【００２０】
図２に描写されているように、コンピュータ２０２は、ＣＯＢＯＬ、ＰＬ／１、Ｃ、Ｃ＋＋、ＪＡＶＡ、ＡＤＡ、ＢＡＳＩＣ、ＶＩＳＵＡＬ  ＢＡＳＩＣ、または任意のその他のプログラミング言語などのプログラミング言語で作成されたアプリケーション・プログラム２１０を、プロセッサ２０４によって読み取り可能なコードに変換することができるコンパイラ２１２を含む。完了後、コンピュータ・プログラム２１０は、コンパイラ２１２を使用して生成された関係およびロジックを使用してコンピュータ２０２のメモリ２０６に保管されたデータにアクセスし、これを操作する。また、コンピュータ２０２は任意選択で、たとえば、インターネットまたはその他のネットワークを介して、他のコンピュータと通信するために、モデム、衛星リンク、イーサネット・カード、ワイヤレス・リンク、またはその他のデバイスなどの外部データ通信デバイス２３０を含む。
【００２１】
データ・ストレージ・デバイス２２２は、いくつかのデータセットを保持する１つまたは複数の１次ボリュームを含む、直接アクセス・ストレージ・デバイス（ＤＡＳＤ）２２２である。ＤＡＳＤ２２２は、ハードディスク・ドライブ（ＨＤＤ）、ソリッドステート・デバイス（ＳＳＤ）、テープなど、いくつかの記憶媒体を含むことができる。また、データ・ストレージ・デバイス２３６も、デバイス２２２と同様にいくつかの記憶媒体を含むことができる。デバイス２３６は、主としてデバイス２２２に保管された数のデータセットのバックアップ・バージョンを保持するためのバックアップ・デバイス２３６として指定することができる。当業者であれば認識するように、デバイス２２２および２３６は同じ機械上に位置する必要はない。デバイス２２２は、地理的に異なる領域に位置し、イーサネットなどのネットワーク・リンクによって接続することができる。デバイス２２２および２３６は１つまたは複数のボリュームを含むことができ、それぞれのボリュームについて対応するボリューム目録（ＶＴＯＣ）を有する。
【００２２】
一実施形態では、オペレーティング・システム２０８、コンピュータ・プログラム２１０、およびコンパイラ２１２を実現する命令は、コンピュータ可読媒体、たとえば、データ・ストレージ・デバイス２２２に有形に実施され、そのデータ・ストレージ・デバイス２２２は、Ｚｉｐドライブ、フレキシブル・ディスク、ハード・ドライブ、ＤＶＤ／ＣＤ−ＲＯＭ、デジタル・テープ、フラッシュ・メモリ・カード、ソリッドステート・ドライブなど、１つまたは複数の固定または取り外し可能データ・ストレージ・デバイス２２４を含むことができ、これらは総称してストレージ・デバイス２２４として表される。さらに、オペレーティング・システム２０８およびコンピュータ・プログラム２１０は、コンピュータ２０２によって読み取られ実行されたときに、本発明を実現するかあるいは使用するかまたはその両方を行うために必要な諸ステップをコンピュータ２０２に実行させる命令を含む。たとえば、コンピュータ・プログラム２１０は、前述のグリッド・セット・マネージャ、グリッド・マネージャ、およびリポジトリ・マネージャを実現するための命令を含むことができる。また、コンピュータ・プログラム２１０あるいはオペレーティング・システム２０８またはその両方の命令は、メモリ２０６で有形に実施するか、あるいはデータ通信デバイス２３０により送信またはアクセスするか、またはその両方を行うこともできる。このため、本明細書で使用することができる「装置（article of manufacture）」、「プログラム・ストレージ・デバイス」、および「コンピュータ・プログラム製品」という用語は、任意のコンピュータ可読デバイスまたは媒体からアクセス可能あるいは動作可能またはその両方が可能であるコンピュータ・プログラムを包含するものである。
【００２３】
本発明の諸実施形態は、たとえば、ストレージ・エリア・ネットワーク（ＳＡＮ）などのコンピューティング・デバイスのネットワークを含む分散コンピュータ・システムを管理するための諸機能を含む、１つまたは複数の関連のソフトウェア・アプリケーション・プログラム２１０を含むことができる。したがって、プロセッサ２０４はストレージ管理プロセッサ（ＳＭＰ）を含むことができる。プログラム２１０は単一コンピュータ２０２内であるいはコンピューティング・デバイスのネットワークを含む分散コンピュータ・システムの一部として動作することができる。ネットワークは、ローカル・エリア・ネットワークあるいはインターネット接続（たとえば、仮想私設ネットワーク（ＶＰＮ）接続により、公的または安全なものである可能性がある）またはその両方を介して、あるいは当業者であれば理解されるようにファイバ・チャネルＳＡＮまたはその他の既知のネットワーク・タイプを介して、接続された１つまたは複数のコンピュータを包含することができる。（ただし、ファイバ・チャネルＳＡＮは典型的に、コンピュータが相互にではなく、ストレージ・システムと通信するためにのみ使用されることに留意されたい。）
【００２４】
前述の通り、本発明のメカニズムは、災害復旧（ＤＲ）モードにある間に、しかも依然として他のソース・システムのための複製ターゲットならびにローカル・バックアップ・アプリケーションのためのバックアップ・ターゲットである間に、リモート・システムにおいてレプリカ・カートリッジの所有権同期プロセスを調整することを提供する。ＤＲモードにあると宣言されたリモート・システムは災害復旧システム（複数も可）の一部になることができる。ＤＲモードに入るという宣言は、それ自体のシステム内でリモート・システムの管理者によって実行することができ、停止したシステムについて固有のものにすることができる。ＤＲモードの結果は、オフラインであるかまたは停止されてもはや使用可能ではないソース・システムなど、特定のソース・システムからのすべての複製通信の完全妨害になる可能性がある。ＤＲモードを終了するために、ユーザは、ソース・システムの他の可能な宛先（たとえば、様々なリモート・システムまたはその他のソース・システム）と協調して、ソース・システム・カートリッジに対する所有権を同期させるために引き継ぎ動作を実行することを選択することができる。
【００２５】
後述するように、本発明のメカニズムは、複製グループ状態を災害前の元の状態に復元するために、仮想テープ（ＶＴ）システムに関する固有かつ協調式同期プロセスの能力を提供しようと努める。したがって、このメカニズムは、レプリカ・ベースラインを含む、いくつかの災害復旧（ＤＲ）サイトへのシームレスの生産現場の切り替えを可能にする。また、複製および調整のための同期プロセスは、残りのソース・システムが通常通りに複製できるようにしながら、単一または複数セットのソース・システムに対してＤＲ機能を提供するために、通常の複製と並行して機能することができる。
【００２６】
図３は、コンピューティング環境内の多対多トポロジにおいて災害復旧生産引き継ぎ動作を調整するための模範的な方法３００を示す流れ図である。方法３００は、引き継ぎ動作（複数も可）のために複数の災害復旧システム間で交差および非交差データを解決するための調停プロセスを実行する（ステップ３０４）ことにより開始する（ステップ３０２）。いくつかの災害復旧システムにおける調停プロセスによりレプリカ・カートリッジについて所有権同期プロセスを調整する（ステップ３０６）。災害復旧システムは、複数のソース・システムのための複製ターゲットならびにローカル・バックアップ・アプリケーションのためのバックアップ・ターゲットであり続ける（ステップ３０８）。方法３００は終了する（ステップ３１０）。
【００２７】
一実施形態では、このメカニズムはソース・システムがオフラインであると告知することができる。ユーザは、ＤＲシステムがオフライン・ソース・システムのデータ／カートリッジを引き継げるようにするために、そのソース・システムがオフラインであると告知することを決定する。オフラインになることが選択されたソース・システムについて、引き継ぎ動作の前にすでに複製グリッドを離れたことをチェックすることができる。ソース・システムがオフラインになるかあるいは複製グリッドを離れるかまたはその両方に関する告知はすべての複製グリッド・システム間に配布することができる。
【００２８】
図４は、システムがオフラインであると告知するための模範的な方法４００を示す流れ図である。方法４００は、ソース・システムがオフラインであると宣言する（ステップ４０４）ことにより開始する（ステップ４０２）。災害復旧システムが引き継ぎ動作を実行できるようにする（ステップ４０６）。複製グリッドがチェックされる（ステップ４０８）。方法４００は、オフライン・ソース・システムが複製グリッドを終了したかどうかを判断する（ステップ４１０）。ＮＯである場合、方法４００は終了する（ステップ４１４）。ＹＥＳである場合、方法４００は、ソース・システムがオフラインであることを複製グリッド・システムのすべてに通知することになる（ステップ４１２）。方法４００は終了する（ステップ４１４）。
【００２９】
図５は、調停プロセスによりレプリカ・カートリッジについて所有権同期プロセスを調整するための模範的な方法５００を示す流れ図である。方法５００は、開始し（ステップ５０２）、非交差データセットが災害復旧システム間に分散されているかどうかを判断する（ステップ５０４）。ＹＥＳである場合、方法５００は、災害復旧システムのそれぞれで個別に引き継ぎ動作を実行することになる（ステップ５０６）。ＮＯである場合、方法５００は、オーバラップするデータセットが災害復旧システム間に分散されているかどうかを判断することになる（ステップ５０８）。ＹＥＳである場合、方法５００は、災害復旧システムの１つにより、まず引き継ぎ動作を実行し、それぞれのカートリッジの所有権を変更することになる（ステップ５０９）。ＮＯである場合、方法５００は、交差データセットが災害復旧システム間に分散されているかどうかを判断することになる（ステップ５１０）。ＮＯである場合、方法５００は終了することになる（ステップ５２２）。ＹＥＳである場合、方法５００は、複数の災害復旧システムにより引き継ぎ動作を実行する順序に基づいてカートリッジの所有権を決定することになる（ステップ５１２）。災害復旧システムにより引き継ぎ動作を実行する順序に基づいてカートリッジの所有権を決定するために、方法５００は、災害復旧システムが最初に引き継ぎ動作を実行する予定であるかどうかを判断することになる（ステップ５１４）。ＹＥＳである場合、方法５００は、交差するそれぞれのカートリッジの所有権を取得することになる（ステップ５１６）。ＮＯである場合、方法５００は、災害復旧システム（複数も可）が次に引き継ぎ動作を実行する災害復旧システム（複数も可）であるかどうかを判断することになる（ステップ５１８）。ＮＯである場合、方法５００は終了することになる（ステップ５２２）。ＹＥＳである場合、方法５００は、次に引き継ぎ動作を実行する災害復旧システム（それ自体を意味する）とまだ引き継ぎ動作を実行していない災害復旧システムとの間で交差する交差カートリッジの所有権を取得することになる（ステップ５２０）。たとえば、１つのグリッド内に４つの災害復旧システムが存在する可能性があり、したがって、方法５００は、上述のように第１の災害復旧システム上で引き継ぎ動作を実行し、その後、次の災害復旧システムについて引き継ぎ動作を実行することができる。引き継ぎ動作は、どのデータセットが交差しているかに応じて、第１、第２、第３、および第４の災害復旧システムについて繰り返し実行することができる。方法５００は、残りの災害復旧システム間に追加の交差データセットが存在するかどうかをチェックし判断することになる（ステップ５２１）（このアルゴリズムは独立した形に収束する可能性がある）。ＹＥＳである場合、方法５００は、戻って、複数の災害復旧システムにより引き継ぎ動作を実行する順序に基づいてカートリッジの所有権を決定し（ステップ５１２）、上述のように、その後のステップを繰り返すことになる。ＮＯである場合、方法５００は終了する（ステップ５２２）。
【００３０】
図６は、引き継ぎ動作のために災害復旧システム間で調停プロセスを実行するための模範的な方法６００を示す流れ図である。方法６００は、ソース・システムのリモート・システムで災害復旧（ＤＲ）モードを起動する（ステップ６０４）ことにより開始する（ステップ６０２）。災害復旧モードは、ソース・システムで発生し、それによりソース・システムをオフライン（使用不能）にする障害によって、あるいは、管理者の好み／選択によってソース・システムがオフライン（使用不能）であると宣言することによって、またはその両方によって、自動的に開始することができる。災害復旧システムは、引き継ぎ動作を順次実行できるようにすることができる（ステップ６０６）。それぞれの災害復旧システムは、順番に引き継ぎ動作を実行することができる。方法６００は、オフライン・ソース・システムについて引き継ぎ動作を実行できるかどうかを判断することになる（ステップ６０８）。ＮＯである場合、方法６００は終了する（ステップ６２２）。ＹＥＳである場合、方法６００は、複製グリッド・メンバによるカートリッジの所有権を示す、オフライン・ソース・システムからの第１のリストについて、複製グリッド・マネージャにより複製グリッド内で要求を送信することになる（ステップ６１０）。第２のリストは引き継ぎ動作に必要なカートリッジのそれぞれから構築される（ステップ６１２）。カートリッジは、第１のリストと第２のリストを比較することにより、引き継ぐべきカートリッジの所有権に関する候補として識別される（ステップ６１４）。第２のリストは災害復旧システムに転送される（ステップ６１６）。カートリッジ（複数も可）の所有権が切り替えられる（ステップ６１８）。方法６００は、オフライン・ソース・システムのそれぞれの災害復旧システムにおいて生産現場の一部を作成し継続することになる（ステップ６２０）。方法６００は終了する（ステップ６２２）。
【００３１】
上述の通り、ＤＲモードは、ソース・システム、たとえば、オフラインであるソース・システムについて、それぞれのＤＲシステムで起動することができる。レプリカ（カートリッジ／データ）を保護するため、ならびに引き継ぎ動作を可能にするために、ＤＲモードに入ることができる。それぞれのリモート・ユーザ（災害復旧システム）は、引き継ぎ動作を順次実行する（たとえば、引き継ぎプロセスを順番に実行する）ことを選択することができる。このメカニズムは、選択された特定のソース・システムについて（たとえば、オフライン・ソース・システムについて）引き継ぎ動作を実行できるかどうかをチェックする。ＤＲシステムは、ソース・システムがオフラインであると告知されていることをチェックする。異なる複製グリッド・メンバによってすでに所有されているオフライン・ソースからのカートリッジのリストを求める要求が複製グリッド・マネージャにより複製グリッド内で送信される。複製グリッド・マネージャは、オフライン・ソースのカートリッジに対する所有権を入手しているそれぞれの複製グリッド・メンバから、所有しているカートリッジ（データ）の複製グリッド・メンバ自身のリストを送信するよう、要求する。複製グリッド・マネージャは単一リストを構築し、そのリストをＤＲシステム（複数も可）に転送する。このメカニズムは、引き継ぎに必要なすべてのカートリッジのリストを構築する。必要なカートリッジは、オフライン・ソースからの所有権スタンプを有する可能性がある。このメカニズムは、リストを比較し、所有権引き継ぎのための候補である特定のカートリッジを識別する。このメカニズムは、すべての候補カートリッジの所有権を特定のＤＲシステムに切り替える。所有権の切り替えは、繰り返し、非同期的に実行することができる。オフライン・ソース・システムの生産現場は、引き継がれる特定のカートリッジに応じて、それぞれのＤＲサイトで部分的に作成し継続することができる。それぞれのリモート・ユーザが引き継ぎ動作を順番に実行することを選択できるようにし、それぞれのＤＲサイトで生産現場を部分的に作成し継続することにより、本発明は、特にどのＤＲシステムがどのカートリッジの所有権を獲得するかについて、また、異なるＤＲシステム間のデータセットの交差に応じて、グリッドのカートリッジ・リスト作成動作の実行順序が決定的な要因である場合、それぞれのリモートＤＲシステムについて、繰り返しあるいは並行してまたはその両方でカートリッジの所有権の切り替えを可能にする。
【００３２】
図７は、異なるリモート・システムに分散されたソース・データセット間の相互関係のタイプの模範的なブロック図７００である。異なるＤＲシステムに対して分散された独立したデータセット７１０を処理する場合、引き継ぎ動作は、データに対する既存の危険がないそれぞれのシステム上で個別に実行することができる。異なるＤＲシステムに対して分散された完全にオーバラップするデータセットを処理する場合、いずれかのＤＲシステムにおいて第１の引き継ぎ動作を行った結果、すべてのカートリッジに関するカートリッジ所有権を変更する可能性があり、その結果、他のＤＲシステムによるその後の引き継ぎ動作はいかなる結果も返さなくなる。異なるＤＲシステムに対して分散された交差データセット７２０を処理する場合、引き継ぎ動作の順序は、異なるＤＲシステムのうちのどれがカートリッジの所有権を取得するかを決定する。たとえば、引き継ぎを実行する第１のＤＲシステムは、すべてのＤＲシステムに関する交差カートリッジの所有権を取得し、引き継ぎを実行する第１のＤＲシステムの固有のカートリッジの所有権も取得することになる。引き継ぎを実行する第２のＤＲシステムは、それ自体（引き継ぎを実行する第２のＤＲシステム）とまだ引き継ぎ動作を実行していないＤＲシステムとの間で交差カートリッジの所有権を取得することになる。このような動作は、残りのＤＲシステム間にいかなる交差データセットも存在しなくなるまで実行することができる。（この計算／アルゴリズムは独立した形に収束する可能性がある。）それぞれのリモート・ユーザ（災害復旧システム）は特定のソース・システムについてＤＲモードを終了する。
【００３３】
レプリカ・カートリッジに関する所有権同期プロセスのための調停プロセスを例示するために、以下の各図は、本発明のメカニズムの模範的な諸実施形態を例示する働きをする。前述の通り、多対多トポロジは、１対１および多対１トポロジに関する問題を引き起こす可能性がある。異なるデータセットまたは複数の交差データセットがソース・サイトから災害復旧システムなどの異なる宛先に複製されている場合、システムは長期の障害を経験し、その結果、特定のカートリッジを所望の宛先に移行／複製することができない可能性がある。このような障害および災害復旧引き継ぎプロセスを実証するために、図８〜図１３は本発明のメカニズムを例示するように示されている。
【００３４】
まず、図８を参照すると、システム＃３がソース・システムであり、他のすべてのリモート・システムに対して複製している、複製のための多対多システム（４つのシステム）の模範的なブロック図８００である。図８では、システム＃３（図８には８１０Ａとして示されている）はソース・システム８１０である。システム＃３  ８１０Ａは、複製するための３つのカートリッジ、すなわち、カートリッジ３、４、および７を含む。システム＃３  ８１０Ａは、長期の障害を経験しているものとして示されている（障害を示すために大きい×が表示されている）。カートリッジ３は、多対多システム内のソース・システム８１０Ａからすべての災害復旧（ＤＲ）システム８１２（図８には８１２Ａ、８１２Ｂ、および８１２Ｃとして示されている）に完全に移行／複製されている。カートリッジ７は、ソース・システム＃３  ８１０Ａから災害復旧システム＃１  ８１２Ａに完全に移行しているが、何らかのデータをシステム＃２  ８１２Ｃに複製した後に完全に移行／複製することができなかった。カートリッジ４は、災害復旧システム＃２  ８１２Ｃの宛先のみに複製された。生産現場として機能するリモート・システム８１２（災害復旧システム）は、この時点で、濃い影（または８１２Ａおよび８１２Ｂに示されているように×形の線）が付けられたカートリッジ６および４を作成している。濃い影が付けられたカートリッジは、システム内のカートリッジの所有権を示している。薄い影が付けられたカートリッジ（または対角線あるいは斑点付きで示されたカートリッジ）は、レプリカ・カートリッジのみを示している。
【００３５】
図９は、もはや使用可能ではない（たとえば、オフラインである）ものとしてソース・システム＃３  ８１０Ａを示す模範的な図８３０である。すべてのリモート・システムのユーザは、ソース・システム＃３  ８１０ＡについてＤＲモードにあり、したがって、ブロック８２０によって示されているように、ソース・システム＃３  ８１０Ａからの複製を受信することができない。他の使用可能なソース・システムは通常通り機能し続け、ＤＲシステムはローカル・データをバックアップし続ける。ソース＃３  ８１０Ａに関するＤＲ状態は一時的なものに過ぎない可能性がある。引き継ぎ動作を実行せずにＤＲモードが取り消された場合、生産を移動するときに一部／全部のカートリッジの所有権同期が失われる可能性がある。
【００３６】
図１０は、第１のＤＲシステム＃１  ８１２Ａによって実行される引き継ぎ動作を示す模範的な図８４０である。すべてのリモート・システムのユーザは、ソース・システム＃３  ８１０ＡについてＤＲモードにあり、したがって、ブロック８２０によって示されているように、ソース・システム＃３  ８１０Ａからの複製を受信することができない。ＤＲシステム・ユーザは、オフライン告知プロセスを実行し、ソース・システム＃３  ８１０Ａが永続的に複製グリッド・マネージャ８２０の範囲外にある可能性があることを表明する。カートリッジ３、７は、ソース・システム＃３  ８１０Ａのカートリッジが依然として他のＤＲシステムではなくソース８１０Ａによって所有されていることをチェックした後、所有権をＤＲシステム＃１  ８１２Ａに変更することになる。
【００３７】
図１１は、第１のＤＲシステム＃２  ８１２Ｃによって実行される引き継ぎ動作を示す模範的な図８５０である。すべてのリモート・システムのユーザは、ソース・システム＃３  ８１０ＡについてＤＲモードにあり、したがって、ブロック８２０によって示されているように、ソース・システム＃３  ８１０Ａからの複製を受信することができない。ＤＲシステム＃２  ８１２Ｃは、複製グリッド・マネージャ８２０から引き継ぎのために使用可能なカートリッジのリストを要求する。複製グリッド・マネージャ８２０は、ソース・システム＃３のすべての「他者所有（owned by others）」カートリッジのリストを調べて取り出す（この場合、所有権は第１の引き継ぎ動作のみにおいてＤＲシステム＃１に変更している）。カートリッジ３、７は、グリッド内のオンライン・システムによってすでに所有されているので、所有権を変更しない。カートリッジ４は、ソース・システム＃３  ８１０Ａのカートリッジが依然として他のＤＲシステムではなくソースによって所有されていることをチェックした後、ＤＲシステム＃２  ８１２Ｃに所有権を変更することになる。
【００３８】
図１２は、第１のＤＲシステム＃４  ８１２Ｂによって実行される引き継ぎ動作を示す模範的な図８６０である。すべてのリモート・システムのユーザは、ソース・システム＃３  ８１０ＡについてＤＲモードにあり、したがって、ブロック８２０によって示されているように、ソース・システム＃３  ８１０Ａからの複製を受信することができない。ＤＲシステム＃４  ８１２Ｂは、複製グリッド・マネージャ８２０から引き継ぎのために使用可能なカートリッジのリストを要求する。複製グリッド・マネージャ８２０は、ソース・システム＃３  ８１０Ａのすべての「他者所有」カートリッジのリストを調べて取り出す（この場合、所有権は第１および第２の引き継ぎ動作のみにおいてＤＲシステム＃１  ８１２Ａおよび＃２  ８１２Ｃに変更している）。カートリッジ３は、グリッド内のオンライン・システムによってすでに所有されているので、所有権を変更しない。それ以上の動作はまったく遂行されない。
【００３９】
図１３は、ＤＲシステムのそれぞれ（８１２Ａ〜８１２Ｃ）を示す模範的な図８７０である。すべてのリモート・システムのユーザは、ソース・システム＃３  ８１０ＡについてＤＲモードにあり、したがって、ブロック８２０によって示されているように、ソース・システム＃３  ８１０Ａからの複製を受信することができない。ＤＲシステムのそれぞれ（８１２Ａ〜８１２Ｃ）は、それぞれのＤＲシステム（８１２Ａ〜８１２Ｃ）上でバックアップされたその生産データのそれぞれにより、通常通りに機能し続けることができ、それらは新たに所有されたカートリッジのデータを含む可能性がある。
【００４０】
当業者によって認識されるように、本発明の諸態様は、システム、方法、またはコンピュータ・プログラム製品として実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアとハードウェアの諸態様を組み合わせる実施形態の形を取ることができ、いずれも本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本発明の諸態様は、そこにコンピュータ可読プログラム・コードが実施されている１つまたは複数のコンピュータ可読媒体に実施されたコンピュータ・プログラム製品の形を取ることができる。
【００４１】
１つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記のものの任意の適切な組み合わせにすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例（非網羅的リスト）としては、１つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、磁気記憶装置、あるいは上記のものの任意の適切な組み合わせを含むであろう。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管することができる任意の有形媒体にすることができる。
【００４２】
コンピュータ可読媒体上に実施されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、あるいは上記のものの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。本発明の諸態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語あるいは「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。プログラム・コードは、完全にユーザのコンピュータ上で、一部分はユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部分はユーザのコンピュータ上でしかも一部分はリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してリモート・コンピュータがユーザのコンピュータに接続される場合もあれば、（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに接続が行われる場合もある。
【００４３】
本発明の諸態様は、本発明の諸実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図あるいはブロック図またはその両方に関連して上述されている。流れ図あるいはブロック図またはその両方の各ブロックおよび流れ図あるいはブロック図またはその両方内の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実現可能であることが理解されるであろう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供し、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行された命令が流れ図あるいはブロック図またはその両方の１つまたは複数のブロックに指定された機能／行為を実現するための手段を作成するようなマシンを生産することができる。
【００４４】
また、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に保管された命令が流れ図あるいはブロック図またはその両方の１つまたは複数のブロックに指定された機能／行為を実現する命令を含む装置（article of manufacture）を生産するような特定の方法で機能するよう、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスに指示することができるコンピュータ可読媒体に保管することもできる。また、これらのコンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上にロードし、コンピュータまたはその他のプログラマブル装置で実行された命令が流れ図あるいはブロック図またはその両方の１つまたは複数のブロックに指定された機能／行為を実現するためのプロセスを提供するようなコンピュータで実行されるプロセスを生産するように、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上で一連の動作ステップを実行させることもできる。
【００４５】
上記の図面内の流れ図およびブロック図は、本発明の様々な諸実施形態によるシステム、方法、およびコンピュータ・プログラム製品について可能な実現例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能（複数も可）を実現するための１つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実現例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることに留意されたい。たとえば、連続して示されている２つのブロックは、関係する機能次第で、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックおよびブロック図あるいは流れ図またはその両方内の複数ブロックの組み合わせは、指定の機能または行為を実行する特殊目的ハードウェアベースのシステムあるいは特殊目的ハードウェアとコンピュータ命令との組み合わせによって実現可能であることも留意されるであろう。
【００４６】
本発明の１つまたは複数の実施形態について詳細に例示されているが、当業者であれば、以下の特許請求の範囲に明記されている本発明の範囲から逸脱せずに、これらの実施形態に対して変更および適合を行うことができることを認識するであろう。
【図１】
0005940144.tif 000002
【図２】
0005940144.tif 000003
【図３】
0005940144.tif 000004
【図４】
0005940144.tif 000005
【図５】
0005940144.tif 000006
【図６】
0005940144.tif 000007
【図７】
0005940144.tif 000008
【図８】
0005940144.tif 000009
【図９】
0005940144.tif 000010
【図１０】
0005940144.tif 000011
【図１１】
0005940144.tif 000012
【図１２】
0005940144.tif 000013
【図１３】
0005940144.tif 000014