異種レプリケーションエンジンを用いた整合性グループの管理
【課題】データを複製する異種レプリケーションエンジンを用いて、整合性グループを管理する方法、システム、及び製品を提供する。
【解決手段】共通リンケージマネージャは、第1レプリケーションマネージャ及び第2レプリケーションマネージャに、整合性グループ作成準備コマンドを発行し、第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1及び第2レプリケーションエンジンに対して、整合性グループ作成コマンドを発行する。第1及び第2レプリケーションマネージャは、整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、第1及び第2レプリケーションマネージャは、第1及び第2ジャーナルの第1及び第2整合性グループ内のデータを、第1及び第2ターゲットストレージそれぞれにコミットする。
【解決手段】共通リンケージマネージャは、第1レプリケーションマネージャ及び第2レプリケーションマネージャに、整合性グループ作成準備コマンドを発行し、第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1及び第2レプリケーションエンジンに対して、整合性グループ作成コマンドを発行する。第1及び第2レプリケーションマネージャは、整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、第1及び第2レプリケーションマネージャは、第1及び第2ジャーナルの第1及び第2整合性グループ内のデータを、第1及び第2ターゲットストレージそれぞれにコミットする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異種レプリケーションエンジンを使用して整合性グループを管理する方法、システム、及び製品に関する。
【背景技術】
【0002】
災害復旧システムは一般に、2種類の故障、すなわち、ある一時点での突然の壊滅的な故障と、長期間にわたるデータ損失に対応する。2番目のタイプの段階的な災害では、ボリュームへの更新が失われるかもしれない。データ更新の回復を支援するために、データのコピーを遠隔場所に設けてもよい。
【0003】
このような二重又はシャドウコピーは、典型的には、アプリケーションシステムが正ストレージデバイス(primary storage device)に新しいデータを書き込んでいるときに作成される。データのリモートコピーを副サイト(secondary site)に維持するためには、異なるコピー技術が使用され得る(例えばInternational Business Machine Corporation(IBM)の拡張遠隔コピー(XRC)、結合XRC(Coupled XRC)(CXRC)、グローバル・コピー、グローバル・ミラー・コピーなど)。
【0004】
データミラーリングシステムでは、データはボリュームペアで維持される。ボリュームペアは、正ストレージデバイス(primary storage device)のボリュームと、正ボリューム(primary volume)維持されるデータの同一のコピーを含む副ストレージデバイス(secondary storage device)の対応するボリュームを含む。主及び副ストレージコントローラは、主及び副ストレージデバイスへのアクセスを制御するために使用され得る。
【0005】
特定のデータミラーリングシステムでは、異なるアプリケーションによって異なる正ストレージデバイスに書き込まれた更新が、タイムスタンプとして整合性のある時刻(consistent time-of-day)(TOD)の値を使用するように、複数のシステム全体にわたって均一な時間を提供するためにタイマーが使用される。
【0006】
ホストオペレーティングシステム又はアプリケーションは、正ストレージのボリュームにこのようなデータセットを書き込むときに、1つのデータセット又は1組の複数データセットへの更新をタイムスタンプし得る。データ更新の保全性は、正ボリュームへの更新と同じ順序で、ボリュームペアの副ボリュームの更新が行われることを保証することに関連する。アプリケーションプログラムによって提供されるタイムスタンプは、データ更新の論理シーケンスを決定する。
【0007】
データベースシステムなどの多くのアプリケーションプログラムでは、事前に書き込みが行われていない限り、特定の書き込みを行うことができない。さもなければ、データ保全性が脅かされることになるだろう。保全性が事前のデータ書き込みの発生に依存する、このようなデータ書き込みは、依存書き込み(dependent write)として知られている。すべての書き込みが論理的順序で転送された(すなわち、すべての依存書き込みが、これらに依存している書き込みの前に先に転送された)場合に、主及び副ストレージのボリュームは整合性が取れている。整合性グループは、整合性タイムスタンプ(consistency time stamp)と同じ又はより早いタイムスタンプを有する整合性グループのすべてのデータ書き込みについて整合性のある時間を有する。
【0008】
依存書き込みが、整合性がとれた態様で確保されるように、整合性グループは正ボリュームへの更新の集合である。整合性のある時間とは、副ボリュームへの更新が整合性のあることをシステムが保証する、最新の時間である。整合性グループは、複数のボリュームとストレージデバイスにわたってデータ整合性を維持する。よって、データが副ボリュームから回復された場合、回復されたデータは整合性が取れている。
【0009】
他のデータミラーリングシステムは、正ボリュームのコピーを提供するために異なるレプリケーション技術を使用する。異なるコピー技術は、異なる方法論とアルゴリズムを使用して整合性グループを形成し得る。アプリケーションが2つのデータミラーリングシステムに格納されたデータを有する場合、両方のシステムが、互いに異なるとともに非互換性であり得る技術の範囲内で、独立して作動すると仮定すると、一方のシステムへの書き込みの、他方のシステムへの書き込みへの依存性は検出されないかもしれない。従って、整合性は、異なるテクノロジーを使用して形成される整合性グループ全体にわたっては維持されないことになる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記の理由により、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が必要とされる。
【課題を解決するための手段】
【0011】
データを複製する異種レプリケーションエンジンを使用して整合性グループを管理する方法、システム、及び製品が提供される。共通リンケージマネージャは、第1レプリケーションマネージャ及び第2レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行し、前記第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、第1及び第2レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行する。 前記第1及び第2レプリケーションマネージャは、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからのデータの第1整合性グループ及び第2整合性グループをそれぞれ形成し、前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを、第1ジャーナル及び第2ジャーナルそれぞれに伝送する。第1及び第2レプリケーションマネージャは、コミットコマンドを受信した前記第1及び第2のレプリケーションマネージャに応答して、前記第1ジャーナル及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを、前記第1及び第2ターゲットストレージそれぞれにコミットする。
【0012】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2ジャーナルの第1及び第2整合性グループを第1及び第2ターゲットストレージそれぞれにコミットする前記第1及び第2レプリケーションマネージャに応答して、後続のポイントインタイムにおいて(at a subsequent point-in-time)追加の第1及び第2整合性グループを形成するために、前記第1及び第2レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンス(subsequent instance)を発行する。
【0013】
他の実施形態では、前記共通リンケージマネージャは、前記整合性グループのために前記第1及び第2レプリケーションマネージャにコミットコマンドを発行し、前記第1及び第2レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第1及び第2整合性グループ内の前記データをそれぞれコミットし、かつ前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なる第1及び第2コミット技術を使用する。
【0014】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する。
【0015】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに照会コマンドを発行する。前記第1及び第2レプリケーションマネージャは、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断する。前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャは、第1及び第2ジャーナル完了メッセージを伝える。前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに対してコミットコマンドを伝える。
【0016】
他の実施形態では、整合性グループ作成コマンドは、フリーズコマンド(freeze command)とランコマンド(run command)とを含む。第1レプリケーションマネージャは、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつポイントインタイムにおいて整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするために、第1レプリケーション技術を使用する。前記第1レプリケーションマネージャは、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするために、前記第1レプリケーション技術を使用する。前記第2レプリケーションマネージャは、前記第2ソースストレージへの更新(前記整合性グループのポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーするために、第2レプリケーション技術を使用する。
【0017】
他の実施形態では、前記第1レプリケーションマネージャは、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成するために、前記第1コミット技術を使用し、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされる。前記第2レプリケーションマネージャは、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーするために、前記第2コミット技術を使用する。
【0018】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに照会コマンドを発行する。前記第1レプリケーションマネージャは、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたか否かを判断するために、前記第1レプリケーション技術を使用する。前記第2レプリケーションマネージャは、前記第2ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断するために、前記第2レプリケーション技術を使用する。前記コミット操作は、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたとの判断に応答して、かつ前記第2ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第1及び第2レプリケーションマネージャによって実行される。
【0019】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える。
【0020】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、正システム(primary system)に位置する。前記共通リンケージマネージャは、副システム(secondary system)における第1及び第2レプリケーションマネージャに復元コマンドを送信する。前記副システムにおける前記第1及び第2レプリケーションマネージャは、前記復元コマンドに応答して、前記第1及び第2ターゲットストレージの前記第1及び第2整合性グループからのデータを、前記第1及び第2ジャーナルそれぞれにコピーする。前記第1及び第2ソースストレージの前記データを前記第1及び第2整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副システムにおける前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルの前記第1及び第2整合性グループからのデータを、前記第1及び第2ソースストレージそれぞれにコミットする。
【0021】
他の実施形態では、前記復元コマンドは、前記正サイト(primary site)における故障に応答して送信される。前記共通リンケージマネージャは、前記主サイトから前記副サイト(secondary site)へのフェイルオーバーを実行し、申込者が、前記フェイルオーバーに応答して入出力(I/O)要求を前記第1及び第2ターゲットストレージに提出する。
【0022】
他の実施形態では、前記第1及び第2レプリケーションマネージャが、第1及び第2レプリケーションエンジン特定コマンド(first and second replication engine specific commands)を前記第1及び第2レプリケーションエンジンそれぞれに伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる。
【発明の効果】
【0023】
本発明によれば、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が提供される。
【図面の簡単な説明】
【0024】
【図1】図1は、コンピューティング環境の一実施形態を示す。
【図2】図2は、主及び副コントローラの構成要素の一実施形態を示す。
【図3】図3は、主及び副コントローラの構成要素の一実施形態を示す。
【図4】図4は、整合性グループを作成するための操作の一実施形態を示す。
【図5】図5は、整合性グループを作成するための操作の一実施形態を示す。
【図6】図6は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図7】図7は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図8】図8は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図9】図9は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図10】図10は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図11】図11は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図12】図12は、整合性グループを復元するための操作の実施形態を示す。
【図13】図13は、コンピューティング環境の一実施形態を示す。
【図14A】図14Aは、第1ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図14B】図14Bは、第1ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図15A】図15Aは、第2ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図15B】図15Bは、第2ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図16A】図16Aは、第1ストレージシステムの操作を示す。
【図16B】図16Bは、第2ストレージシステムの操作を示す。
【図17】図17は、整合性グループを形成するための操作を開始するための第1共通リンケージマネージャの操作の一実施形態を示す。
【図18】図18は、整合性グループを形成するための操作を開始するための第2共通リンケージマネージャの操作の一実施形態を示す。
【図19A】図19Aは、フリーズコマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図19B】図19Bは、ランコマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図19C】図19Cは、照会コマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図20A】図20Aは、照会コマンドを処理するための副サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図20B】図20Bは、コミットコマンドを処理するための副サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図21A】図21Aは、フリーズコマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図21B】図21Bは、ランコマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図21C】図21Cは、照会コマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図22A】図22Aは、照会コマンドを処理するための副サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図22B】図22Bは、コミットコマンドを処理するための副サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図23】図23は、図1のシステムで使用され得るコンピュータアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【0025】
図1は、主マネージャ2aと副マネージャ2bがそれぞれ、共通リンケージマネージャ4a、4bと、第1レプリケーションマネージャ6a、6bと、第2レプリケーションマネージャ8a、8bとを含むコンピューティング環境の実施形態を示す。第1レプリケーションマネージャ6a、6b及び第2レプリケーションマネージャ8a、8bの各々は、共通リンケージ管理部4a、4bからの一般レプリケーションコマンドを、第1レプリケーションエンジン50及び第2レプリケーションエンジン52(図2及び図3)のための特定レプリケーションエンジンコマンド)に変換あるいは翻訳する。
【0026】
第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、異なるベンダ又は同じベンダからの異なるレプリケーション技術を実施するレプリケーションエンジンを含む。あるいは、異なるレプリケーションエンジン50及び52は、同じレプリケーション方法の異なる実施を提供し得る。マネージャ2a及び2bは、それぞれベンダ固有ソフトウェア5a及び5b(共通リンケージマネージャ4aの上の層で、共通リンケージマネージャ4a、4bを呼び出し、かつレプリケーションを管理するリモート管理プログラムである)をさらに含み得る。
【0027】
このようにして、異なるベンダ固有ソフトウェア5a及び5bは、レプリケーション操作を実行するために共通リンケージマネージャ4a、4bを呼び出して、通信することができる。
【0028】
第1レプリケーションマネージャ6a、6bは、第1主コントローラ10a及び第1副コントローラ10b上のレプリケーションエンジン50のためのレプリケーション操作を制御することができ、第2レプリケーションマネージャ8a、8bは、第2主コントローラ12a及び第2副コントローラ12b上のレプリケーションエンジン52のためのレプリケーション操作を制御することができる。第1主コントローラ10a上のレプリケーションエンジン50は、第1ソースストレージ14aのための変更データを第1ジャーナル16aにコピーし、次に、第1ジャーナル16aのデータを、第1副コントローラ12aによって管理される第1ターゲットストレージ18aにコミットする。第2主コントローラ10b上のレプリケーションエンジン52は、第2ソースストレージ14bのための変更データを第2ジャーナル16bにコピーし、次に、第2ジャーナル16bのデータを、第2ターゲットストレージ18bにコミットする。
【0029】
図1に示される構成要素の1つ以上の例があり得る。
【0030】
異なるレプリケーションエンジン技術は、まだコミットされていない変更データをバッファするために異なる技術を使用し得る。例えば、いくつかのレプリケーション技術は、更新をバッファするためにジャーナルを使用し、他方では、データがコミットされる前に更新を維持するために他の技術を使用する(例えばストレージにまだコミットされていない更新データの「フラッシュコピー」を作成するなど)。
【0031】
ネットワーク20は、マネージャ2a、2b、主コントローラ10a、10b、副コントローラ12a、12b、及びジャーナル16a、16bの間の通信を可能にする。ネットワーク20は、ストレージエリアネットワーク(SAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイドエリアネットワーク(WAN)、ピアツーピアネットワーク、無線ネットワーク、アービトレート型ループネットワークなどを含み得る。さらに、マネージャ2aと2bとコントローラ10a、10b、12a、12bとの間に異なるネットワークが存在し得る。
【0032】
マネージャ2a、2b及びコントローラ10a、10b、12a、12bは、当技術分野で周知の適切な計算装置(例えば、サーバ、エンタープライズストレージサーバなど)を含み得る。ストレージ14a、14b、18a、18bは、例えば、相互連結したハードディスクドライブ(Redundant Array of Independent Disks(RAID))、Just a Bunch of Disks(JBOD)、直接アクセス記憶装置(DASD)、ループ構成で連結したディスク(直列ループ)、ファイバチャネル調停ループ)、シングルストレージデバイス、テープライブラリ、光学ライブラリ、Network Attached Storage(NAS)などの複数の記憶装置を含むストレージシステムなどの、当技術分野で周知のストレージシステムで実装され得る。
【0033】
ジャーナル16a、16bは、別個の中間コンピュータシステム内に実装されてもよく、あるいは、それぞれ第1副コントローラ10b及び第2副コントローラ12b内に実装されてもよい。
【0034】
2つのレプリケーションマネージャだけが示されているが、マネージャシステム2a、2bには3つ以上のレプリケーションマネージャが存在してもよい。さらに、共通のポイントインタイムにおける共通の整合性グループを形成するために、一緒に作動する多重主及び副コントローラが存在してもよい。
【0035】
図2は、第1主コントローラ10a及び第1副コントローラ10b上の構成要素(第1レプリケーションエンジン50、及び整合性インターバルレプリケーション方法によって第1ジャーナル16にコピーされる必要がある1つの整合性グループ内の第1ソースストレージ14aのボリュームへの更新を示すコピー情報54(例えば同期していないビットマップ)を含む)の一実施形態を示す。
【0036】
図3は、第2主コントローラ12a及び第2副コントローラ12b上の構成要素(第2レプリケーションエンジン52、及び形成する整合性グループのポイントインタイムを示す整合性グループポイントインタイム56を含む)の一実施形態を示す。第2レプリケーションエンジン52は、第2ジャーナル16bに更新を継続して送信するタイムスタンプレプリケーション方法を実施し得るが、しかし、ポイントインタイム56時点で整合性が取れている第2ジャーナル16bの更新のみが、第2ターゲットストレージ18bにコミットされる。
【0037】
図4は、整合性グループを形成するために、共通リンケージマネージャ4a、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8a、並びに第1レプリケーションエンジン50及び第2レプリケーションエンジン52によって実行される操作の一実施形態を示す。
【0038】
共通リンケージマネージャ2aは、整合性グループを形成するために操作を開始し(ブロック100)、整合性グループの準備をするために、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに準備コマンドを発行する(ブロック101)。
【0039】
一般準備コマンドの受信に応答して、第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、ポイントインタイムにおける第1及び第2整合性グループを作成するために、第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれに、第1及び第2レプリケーションエンジン特定コマンド(first and second replication engine specific commands)を発行する(ブロック102aと102b)。
【0040】
第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、異なるレプリケーション方法を用いて整合性グループを作成し、異なるベンダ特定プログラミングインタフェースを使用し得る。特定のレプリケーションエンジンは、共通リンケージマネージャ2a、2bからの特定の一般レプリケーション要求に応答して、動作を実行しなくてもよい。
【0041】
第1及び第2レプリケーションエンジン特定整合性グループ作成コマンド(the first and second replication engine specific consistency group forming commands)に応答して、第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、決定された整合性グループポイントインタイムにおける整合性が取れている、第1ソースストレージ14a及び第2ソースストレージ14bへの更新の第1及び第2整合性グループをそれぞれ形成する(ブロック103aと103b)。レプリケーションエンジン50及び52は、非常に異なるベンダ特定技術を使用する整合性グループを形成し得る。
【0042】
次にレプリケーションエンジン50及び52は、整合性グループの準備が完了したと共通リンケージマネージャ4aに通知する(ブロック104aと104b)。レプリケーションエンジン50及び52からの通知の受信に応答して、共通リンケージマネージャ4aは、第1レプリケーションエンジン50及び第2レプリケーションエンジン52に対して一般ランコマンドを発行する(ブロック105)。
【0043】
共通リンケージマネージャ4aからランコマンドを受信すると、レプリケーションエンジン50及び52は、第1及び第2整合性グループ内のデータを第1ジャーナル16a及び第2ジャーナル16bそれぞれに伝送し得る(ブロック106aと106b)。共通リンケージマネージャ4aは、コミット可能状態及びコミット操作を実行するために、図5のブロック110で操作を開始する(ブロック107)。コミットとは独立して、共通リンケージマネージャ4は、別の整合性グループを形成する準備ができているとき、次の整合性グループを形成するためにブロック100に戻る(ブロック108)。
【0044】
図5に関して、共通リンケージマネージャ4aは、第1及び第2整合性グループのすべてのデータが第1ジャーナル16a及び第2ジャーナル16bでジャーナルされたか否かを判断するために、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに一般照会を発行し得る(ブロック110)。
【0045】
この照会に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1及び第2整合性グループ内のデータが第1ジャーナル16a及び第2ジャーナル16bそれぞれにあるか否かを判断するために、すなわち、整合性グループ内のすべてのデータがジャーナルされたと判断するために、第1レプリケーションエンジン50及び第2レプリケーションエンジン52とそれぞれ通信する(又はこれらから受信する)ことができる(ブロック112aと112b)。
【0046】
第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1及び第2整合性グループ内のデータがそれぞれ第1ジャーナル16a及び第2ジャーナル16bにあるとの判断に応答して、第1及び第2ジャーナル完了メッセージを共通リンケージマネージャ4aに伝える(ブロック114aと114b)。第1及び第2ジャーナル完了メッセージを受信すると(ブロック116)、共通リンケージマネージャ4aは、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに一般コミットコマンドを発行する。
【0047】
コミットコマンドの受信に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1ジャーナル16a及び第2ジャーナル16bの第1及び第2整合性グループ内のデータをそれぞれ、第1ターゲットストレージ18a及び第2ターゲットストレージ18bそれぞれにコミットするために、第1レプリケーションエンジン50及び第2レプリケーションエンジン54(又は副共通リンケージマネージャ)にコマンドを発行する(ブロック118aと118b)。
【0048】
レプリケーションエンジン50及び54は、ジャーナル16a及び16bにデータをコミットするために異なる技術を使用し得る。第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれからのコミット完了の受信に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、コミット完了を共通リンケージマネージャ4aに戻す(ブロック120aと120b)。コミット要求が伝えられたすべてのレプリケーションマネージャ6a、8aからコミット完了を受信すると(ブロック122)、共通リンケージマネージャ4aは、後続の整合性グループを作成するために図4のブロック100に戻り得る。
【0049】
上述の実施形態では、レプリケーションベンダ(replication vendors)は、共通リンケージマネージャ4a、4bから一般レプリケーションエンジンコマンドを受信し、次に、ベンダ特定レプリケーションエンジンにおいて要求された一般レプリケーションエンジンコマンドを実行するために必要な対応するベンダ特定レプリケーションエンジンコマンドを実施し得る、ベンダ特定レプリケーションマネージャを提供することによって、そのレプリケーションエンジンを異種レプリケーションエンジン環境に統合させ得る。
【0050】
一実施形態では、共通リンケージマネージャ4a、4bは、新しい整合性グループを作成するためにフリーズ及びランコマンドを発行し得る。このような実施形態では、フリーズ及びランコマンドは、図4に関して説明される一般整合性グループ準備及び作成操作に対応する。図6、図7、図8は、フリーズ及びランコマンドを使用する準備及び作成レプリケーションコマンドを実施するために第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。一般準備及び作成コマンドは、フリーズ及びランとは異なるコマンドで実施され得る。
【0051】
図6に関して、第1レプリケーションマネージャ6aは、第1ソースストレージ14aのボリュームが新しい整合性グループ内に存在するように、共通リンケージマネージャ4aからフリーズコマンドを受信する(ブロック150)。フリーズコマンドは、一般整合税グループ形成準備コマンドに対応する。
【0052】
フリーズコマンドに応答して、第1レプリケーションマネージャ6aは、形成されている整合性グループのボリュームへのI/Oを休止するために、第1レプリケーションエンジン50にフリーズコマンドを送信し(ブロック152)、第1ソースストレージ14aボリュームからターゲットストレージにコピーするためにI/Oが休止されたときに、ポイントインタイムにおけるボリュームのコピー情報54を作成し、かつフリーズがフリーズポイントインタイムで完了したというメッセージを第1レプリケーションマネージャに送信する。第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aにフリーズポイントインタイム及びフリーズ完了を戻すことができ(ブロック154)、その場合、フリーズポイントインタイムは、形成する整合性グループのポイントインタイムである。
【0053】
共通リンケージマネージャ4aは、第1レプリケーションマネージャ6aにランコマンドを発行する(ブロック156)。これに応答して、第1レプリケーションマネージャ6aは、コピー情報56に示されるソースボリュームデータ(例えば同期していないビットマップ)を第1ジャーナル16aにコピーするために、第1レプリケーションエンジン50にランコマンドを送信する(ブロック158)。コピー情報56のすべてのデータ(すなわち形成されている整合性グループのデータ)が第1ジャーナル16aでジャーナルされたときに、第1レプリケーションエンジン6aは、ジャーナリング完了(journaled complete)を戻すことができる。
【0054】
図7に関して、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aから一般照会コマンドを受信する(ブロック180)。第1レプリケーションマネージャ6aが、第1整合性グループのすべてのデータがジャーナルされたという確認を第1レプリケーションエンジン50から受信すると(ブロック182)、第1レプリケーションマネージャ6aは、第1整合性グループがジャーナルされたというメッセージを共通リンケージマネージャ4aに戻す(ブロック184)。
【0055】
そうでない場合、第1レプリケーションマネージャ6aは、第1レプリケーションエンジン50が、第1整合性グループがジャーナルされたという確認を戻すのを待つ(ブロック186)。他の実施形態では、第1レプリケーションマネージャ6aは、第1整合性グループのすべての示されたデータがジャーナルされたか否かを判断するために、第1レプリケーションエンジン50に活発に照会を行い、情報54をコピーし得る。
【0056】
図8に関して、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aから一般コミットコマンドを受信する(ブロック200)。これに応答して、第1レプリケーションエンジン50に、第1ジャーナル16aの第1整合性グループの仮想コピー(例えばFlashCopy(R))を第1ターゲットストレージ18aに作成させるために、第1レプリケーションマネージャ6aは、第1のレプリケーションエンジン50にコマンドを送信する(ブロック202)。(FlashCopyは、米国と外国におけるInternational Business Machines, Corp.の登録商標である。)仮想コピー又はFlashCopyは、コピー関係にあるトラックを示すビットマップを維持する。
【0057】
仮想コピー関係54で示される第1ジャーナル16aのトラックを更新する試みがなされると、仮想コピーのポイントインタイムにおけるトラックのデータは、新しいデータで更新される前に、第1ターゲットストレージ18aにコピーされる。第1レプリケーションエンジン6aは、仮想コピー関係にあるデータを示すために使用される仮想コピーデータ構造の作成に応答して、仮想コピーが完了したというメッセージを、第1レプリケーションマネージャ6aに送信する(ブロック204)。
【0058】
次に、第1レプリケーションマネージャ6aは、第1レプリケーションエンジン6aからの仮想コピー完了メッセージの受信に応答して、共通リンケージマネージャ4aにコミット完了を戻す(ブロック206)。
【0059】
図6、図7及び図8で説明された実施形態では、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4a一般レプリケーションコマンド(例えば準備コマンド)を、整合性インターバルレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。この実施形態では、第1レプリケーションエンジンは、「ジャーナル」がコミットされるまで、再び準備することが可能な状態であることを示さない。
【0060】
図9、図10及び図11は、特定のタイムスタンプレプリケーション方法のために、共通リンケージマネージャ4a、4bからの一般レプリケーションコマンドを実施するために、第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。図9に関して、第2レプリケーションマネージャ8aは、第2ソースストレージ14bのボリュームが第2整合性グループ内に存在するように、共通リンケージマネージャ4aから一般準備コマンドを受信する(ブロック230)。
【0061】
これに応答して、第2レプリケーションマネージャ8aは、フリーズコマンドの時間から、又は共通リンケージマネージャ4aに照会することによって、フリーズポイントインタイム(整合性グループポイントインタイム)を得るために、特定フリーズコマンドを発行する(ブロック232)。この時点では、第2レプリケーションマネージャ8aは、第2レプリケーションエンジン52のためにフリーズコマンドを実行するための特定の操作を行わない。
【0062】
第2レプリケーションエンジン52は、第2ソースストレージ14bのための整合性グループのデータを第2ジャーナル16bに時間系列順のデータのタイムスタンプを付けてコピーし続ける(ブロック234)。よって、第2ジャーナル16bは、決定されたポイントインタイムにおける第2整合性グループ内のデータ、及び形成されている整合性グループについてのポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしているかもしれない。
【0063】
他の実施形態では、第2レプリケーションエンジン52は、共通リンケージマネージャ4aからの作成(又は準備/フリーズ)コマンドが該当しない場合、その作成(又は準備/フリーズ)コマンドを無視し得る。
【0064】
図10に関して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aから一般照会コマンドを受信する(ブロック250)。第2レプリケーションマネージャ8aが、第2ジャーナル16bが整合性グループ(フリーズ)ポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしたと判断した場合(ブロック252)、第2整合性グループのためにジャーナルすべきデータがもはや存在せず、第2レプリケーションマネージャ8aは、第2整合性グループが第2ジャーナル16bにジャーナルされたというメッセージを共通リンケージマネージャ4aに戻す(ブロック254)。
【0065】
第2レプリケーションマネージャ8aが、第2整合性グループのすべてのデータが第2ジャーナル16bにジャーナルされたと判断していない場合は(ブロック252)、第2レプリケーションマネージャ8aは、第2整合性グループがいつジャーナルされたかをチェックし続ける。
【0066】
図11に関して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aから一般コミットコマンドを受信する(ブロック270)。これに応答して、第2レプリケーションマネージャ8aは、第2レプリケーションエンジン52に、第2整合性グループのポイントインタイムにおける第2ジャーナル16bのデータを第2ターゲットストレージ18bにコピーさせるために、第2レプリケーションエンジン52にコマンドを送信する(ブロック272)。
【0067】
第2ジャーナル16bからのコミットを完了すると、第2レプリケーションエンジン52は、第2レプリケーションマネージャ8aに対して、整合性グループのポイントインタイムにおける第2ジャーナル16bのデータがコミットされたというメッセージを送信する(ブロック274)。これに応答して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aにコミット完了を戻す(ブロック276)。
【0068】
図9、図10、図11で説明された実施形態では、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4a一般レプリケーションコマンドを、タイムスタンプレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。
【0069】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループ制御を提供することによって、共通リンケージマネージャ4a、4b及びレプリケーションマネージャ6a、6b、8a、8bは、異なるレプリケーション技術を使用する複数の異種レプリケーションエンジン全体にわたって整合性グループを形成することができる。これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備し、かつ共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するために異種レプリケーションエンジンを利用することができる。
【0070】
図12は、共通のポイントインタイムを有する第1ターゲットストレージ18a及び第2ターゲットストレージ18bのデータの整合性グループを、対応する第1ソースストレージ14a及び第2ソースストレージ14bに復元するための復元操作を共通リンケージマネージャ4a、4bが実行するための操作の一実施形態を示す。
【0071】
副共通リンケージマネージャ4bは、第1ターゲットストレージ18a及び第2ターゲットストレージ18bに維持されている整合性グループの復元ポイントインタイムを有する第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに復元コマンドを送信する(ブロック300)。
【0072】
復元コマンドに応答して、副マネージャ2bにおける第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bは、第1レプリケーションエンジン50及び第2レプリケーションエンジン52に、共通ポイントインタイムを有する第1及び第2整合性グループ内のデータを第1ジャーナル16a及び第2ジャーナル16bにコピーさせるために、第1副コントローラ10b及び第2副コントローラ12bに実装される第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれに、ベンダ特定レプリケーションエンジンコマンドを送信する(ブロック302)。
【0073】
次に、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bは、第1ジャーナル16a及び第2ジャーナル16bからのデータを第1ソースストレージ14a及び第2ソースストレージ14bにコミットするために、それぞれのレプリケーションエンジン50及び52を制御し得る(ブロック304)。
【0074】
一実施形態では、主構成要素10a、12a、2aに故障がある場合に、主サイトから副サイトへのフェイルオーバーが実行され得る。このような場合、副構成要素2a、10b、12bは、主サイトがダウンしている間にアプリケーションI/Oを受信し得る。主サイトが回復すると、副サイトにおいて形成される最新の整合性グループに正ストレージ14、14bを復元するために、復元操作が実行され得る。
【0075】
図13、図14、図15A、図15B、図16A、図16B、図17、図18、図19A、図19B、図19C、図20A、図20B、図21A、図21B、図21C、図22A、図22Bは、主サイト及び副サイトにおける複数の異種レプリケーションストレージシステム全体にわたって整合性を維持するための操作の他の実施形態を示す。
【0076】
図13は、図1のコンピューティング環境の別の実施形態を示す。主マネージャ2aと副マネージャ2bはそれぞれ、図1に示されるのと同じ構成要素を含む。図1の第1レプリケーションマネージャ6aは第1主サイト・ストレージシステム20aに結合することができ、図1の第2レプリケーションマネージャ8aは第2主サイト・ストレージシステム21aに結合することができる。第1主サイト・ストレージシステム20aは、1つのグループを形成する複数の第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22nを含む。
【0077】
第2主サイト・ストレージシステム21aは、1つのグループを形成する複数の第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nを含む。図1の第1レプリケーションマネージャ6bは第1副サイト・ストレージシステム20bに結合することができ、図1の第2レプリケーションマネージャ8bは第2副サイト・ストレージシステム21bに結合することできる。第1副サイト・ストレージシステム20bは、1つのグループを形成する複数の第1副サイト・ストレージデバイス(FSSD1、FSSD2、・・・FSSDn)24a、24b・・・24nを含む。第2副サイト・ストレージシステム21bは、1つのグループを形成する複数の第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・SSSDn)25a、25b・・・25nを含む。第1主サイト・ストレージシステム20aと第1副サイト・ストレージシステム20bは、対応するボリュームを有し、各々がペアを形成する。
【0078】
第2主サイト・ストレージシステム21aと第2副サイト・ストレージシステム21bも、対応するボリュームを有し、各々がペアを形成する。主サイトと副サイトの間では、2つのシステムがグループ内で整合性を保つために異なるリモートコピー方法を使用するが、複数のグループの間で整合性を維持して、データレプリケーションが実行される。たとえ第1ストレージシステム20a、20bが共通リンケージマネージャによって制御されない場合でも、第1ストレージシステム20a、20bは、ホストから書き込みデータを受信し、ビットマップを使用して副リモートサイトにデータを送信し、かつ1つのボリュームからのデータを副サイトの別のボリュームに適用することによる、1回のサイクルを実施し得る。
【0079】
一方、共通リンケージマネージャによって制御されない場合には、第2ストレージシステム21a、21bは、主サイトと副サイトで異なるサイクルを実行し得る。このようにして、第1ストレージシステム20a、20bは、1回のサイクルで1世代のみを有するかもしれず、そして、共通リンケージマネージャによる位相制御なしで、異なるシステムが独立して操作される場合は、第2ストレージシステム21a、21bは、1回のサイクルで多数の世代を混合し得る。
【0080】
図14Aは、第1主サイト・ストレージデバイス(FPSD)22(例えば、図13のFPSD22a、22b・・・22nのうちの1つ)の構成要素を示す。各第1主サイト・ストレージデバイス(FPSD)22は、ストレージコントローラ(CTLFa)26aとストレージボリューム30とを含む。第1主サイト・ストレージデバイス(FPSD)22の操作を制御するストレージコントローラ(CTLFa)26aは、メモリ(MEMFa)27aと、メモリ27aに格納されたプログラムを実行するためのプロセッサ(PRCFa)28aと、2つのビットマップ31、32とを含む。メモリMEMFa27aは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム30は、複数のディスクドライブ(例えばハードディスクドライブ(HDD))から構成され得る。
【0081】
図14Bは、第1副サイト・ストレージデバイス(FSSD)24(例えば図13のFSSD24a、24b・・・24nのうちの1つ)の構成要素を示す。各第1副サイト・ストレージデバイス(FSSD)24は、ストレージコントローラ(CTLFb)26bとストレージボリューム33、34とを含み得る。第1副サイト・ストレージデバイス(FSSD)24の操作を制御するストレージコントローラ(CTLFb)26bは、メモリ(MEMFb)27bと、メモリ27bに格納されるプログラムを実行するためのプロセッサ(PRCFb)28bとを含む。
【0082】
メモリ(MEMFb)27bは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム33、34は、複数のディスクドライブ(例えばハードディスク装置(HDD))から構成され得る。ストレージボリューム30、34はホストからアクセス可能であり、ストレージボリューム33は、主サイトからデータを受信するために使用され得る。
【0083】
図15Aは、第2主サイト・ストレージデバイス(SPSD)23(例えば図13のSPSD23a、23b・・・23nのうちの1つ)の構成要素を示す。各第2主サイト・ストレージデバイス(SPSD)23は、ストレージコントローラ(CTLSa)29aとストレージボリューム35、36とを含む。第2主サイト・ストレージデバイス(SPSD)23の操作を制御するストレージコントローラCTLSa29aは、メモリMEMSa39aと、プログラムを実行するためのプロセッサPRCSa40aとを含む。メモリMEMSa39aは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム35、36は、複数のディスクドライブ(例えばHDD)から構成され得る。
【0084】
図15Bは、第2副サイト・ストレージデバイス(SSSD)25(例えば図13のSSSD25a、25b・・・25nのうちの1つ)の構成要素を示す。各第2副サイト・ストレージデバイス(SSSD)25は、ストレージコントローラCTLFb29bと、ストレージボリューム37、38とを含む。第2副サイト・ストレージデバイス(SSSD)25の操作を制御するストレージコントローラCTLFb29bは、メモリMEMFb39bと、メモリ39bに格納されるプログラムを実行するためのプロセッサPRCFb40bとを含む。
【0085】
メモリMEMSb39bは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム37、38は、複数のディスクドライブ(例えばHDD)から構成され得る。ストレージボリューム35、38は、ホストからのアクセスのために使用することができ、ストレージボリューム36、37は、主サイトから副サイトへのデータを送受信するために使用され得る。
【0086】
図16Aは、主サイトの第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nと、副サイトの第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nとの、各ペアの操作流れを示す。第1主サイト・ストレージデバイス(FPSD)24a、24b・・・24nは、ホストから書き込みデータ(WR)を受信し(ブロック900)、そのストレージボリューム30(図14A)にデータを格納する。ビットマップ31(BM1)は、この書き込みを記録する(ブロック900)。書き込みデータは副サイトに送信され、ビットマップ31(BM1)の対応するビットはクリアされる(ブロック900)。
【0087】
副サイトでは、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、主サイトから送信される書き込みデータ(WR)を受信し(ブロック910)、ストレージボリューム33(図14B)に書き込みデータを格納する。第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nからの書き込みデータ送信操作、及び第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24n上のストレージボリューム33へのデータ受信及び格納操作が、システムの負荷に依存して継続される間、ホストからの書き込み(WR)は、第1レプリケーションマネージャ6aからのフリーズコマンドに応答して休止され(ブロック901)、FPSD22a、22b・・・.22nのビットマップ32(BM2)(図14A)が起動される。ビットマップ32(BM2)が起動された後で、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、第1レプリケーションマネージャ6a(PFRM)にフリーズ完了通知を送信する(ブロック901)。
【0088】
この完了通知によって、共通リンケージマネージャ4aは、すべての第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22n及び第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nが、フリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる(ブロック901)。
【0089】
次に(ブロック902)、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、第1レプリケーションマネージャ6a(PFRM)からマーカ付きのランコマンド(Run command)を受信する。マーカは、該当データを含むサイクル(世代)を示す情報を含む。マーカは、通し番号を含み得る。サイクル番号とは、共通リンケージマネージャ4a、4bが制御したサイクルをカウントした参照番号である。マーカは、2つのストレージシステム(例えばレプリケーションマネージャ)のサイクルを制御するために使用される通し番号を含み得る。
【0090】
このコマンドに応答して(ブロック902)、ホストからの書き込み操作(WR)が再開され、書き込みは今度はビットマップ31(BM1)の代わりにビットマップ32(BM2)に記録される。第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、ホストが再開された後で、第1レプリケーションマネージャ6a(PFRM)にラン完了通知を送信し(ブロック902)、次に、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、ビットマップ31(BM1)がクリアされるのを待つ(ブロック902)が、これは、ホスト書き込みが休止される前に受信されたすべての書き込みデータが副サイトに送信されていることを意味する。
【0091】
マーカはサイクル番号の情報を有するが、これは、第1レプリケーションマネージャ6a(PFRM)から受信され、主サイトから副サイトに送信される(ブロック902)。第1副サイト・ストレージデバイス(FSSD)24a、24・・・24nのプロセッサ26b(図14B)は、マーカの受信に応答して主サイトに確認を戻し(ブロック911)、第1主サイト・ストレージデバイス(FPSD)は、この確認を受信する(ブロック903)。
【0092】
第2ストレージシステム21a、21bと、他方の第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nとの間の整合性を維持するために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、ストレージボリューム33からのデータをストレージボリューム34に適用するために、第1レプリケーションマネージャ6b(SFRM)からのコミットコマンドを待つ。
【0093】
このようにして、第1レプリケーションマネージャ6bからのコミットコマンドに応答して、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、ストレージボリューム33のデータをストレージボリューム34にコピーする(ブロック912)。コピーが完了した後で、完了通知が主サイト(ブロック912)に送信されて(ブロック912)、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、2つのビットマップ31、32(BM1、BM2)(図14A)をマージし(ブロック904)、サイクルを終了する(CYCEND)。これらの操作(CYCSTからCYCENDまで)は、通常のシステム操作の間に連続して継続される。
【0094】
本実施形態では、第1ストレージシステム20aは、主サイトにおける2つのビットマップと1つのストレージボリュームとを使用する。第1ストレージシステム20bは、副サイトにおける2つのストレージボリュームを使用するが、ビットマップの代わりに2つのキャッシュスロット又はストレージボリューム(例えば主サイトで使用されるような)を使用してもよく、又は副サイトにおいて主サイトからのデータを受信するためのストレージボリューム33、34の代わりに2つのビットマップを使用してもよい。
【0095】
図16Bは、主サイトの第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nと、副サイトの第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nとの、各ペアの操作流れを示す。
【0096】
第2ストレージシステム21a、21bは、1回のサイクルでは作動しない。これは複数サイクル(ACT1、ACT2、ACT3)を有し、これらは独立して、かつ並行して作動できる。ACT1では、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、ホストから書き込みデータ(WR)を受信し、ストレージボリューム35にこのデータを格納する。ホストから受信した書き込みデータ(WR)を含むジャーナルデータと、順番又は書き込みに関する情報(例えば時間情報又は通し番号)は、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nのプロセッサ29aに制御されているストレージボリューム36に格納される(ブロック950)。
【0097】
第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに結合されたホストがメインフレームタイプである場合は、ホストから受信する書き込みデータに付加されるタイムスタンプは、時間情報のために使用され得る。第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに結合されたホストがオープンシステムタイプである場合は、時間情報はホストからの書き込みデータに付加されないかもしれず、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nの内部のタイマーが、時間情報を提供するために使用され得る。
【0098】
セカンドレプリケーションマネージャ8a(PSRM)からのフリーズコマンドに応答して、ホストからの書き込みが休止される(ブロック951)。ホストが休止された後で(ブロック951)、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nのコントローラCTLSa29aは、第2レプリケーションマネージャ8a(PSRM)にフリーズ完了通知を送信する。
【0099】
共通リンケージマネージャ4a(PFRM)は、第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22n及び第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nのすべてがフリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる(ブロック951)。
【0100】
次に、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、第2レプリケーションマネージャ8a(SFRM)からのマーカ付きのランコマンドを受信する(ブロック952)。このコマンドに応答して、ホストからの書き込み操作が再開され、第2レプリケーションマネージャ8a(PSRM)から受信されたマーカがストレージボリューム36に格納される(ブロック952)。マーカは、他のジャーナルデータとしての形態を調節するために修正され得る。
【0101】
次に、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、第2レプリケーションマネージャ8a(PSRM)にラン完了通知を送信する(ブロック952)。ACT1(950、951、952)の操作は、システム操作の間に連続して継続され得る。ACT2では、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトの対応する第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに読取コマンドを発行する(ブロック970)。読取コマンドは、他の操作(ACT1、ACT3)から独立して定期的に実行される。
【0102】
タイムラップは、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nの負荷に応じて修正され得る。読取コマンドに応答して、第2主サイトデバイス(SPSD)23a、23b・・・23nは、ストレージボリューム36(図15A)のジャーナルデータと、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nへのマーカを、副サイトに伝送する(ブロック960)。
【0103】
第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトから受信したジャーナルデータを第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nのストレージボリューム37(図15B)に格納する(ブロック971)。マーカも、第2主サイト・ストレージデバイス23a、23b・・・23n(SPSD)のストレージボリューム36から読み出され、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nのストレージボリューム37に格納され得る。ACT2(970、960、971)の操作は、システム操作の間に連続して継続され得る。
【0104】
ACT3では、第2レプリケーションマネージャ8b(SSRM)からのコミットコマンドに応答して、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、ジャーナルデータが形成されたときに書き込みデータに付加された時間情報又は通し番号を使用するジャーナルの順番で、ストレージボリューム37内のジャーナルデータをストレージボリューム38(図15B)に適用し得る(ブロック98)。ストレージボリューム37のジャーナルデータは、マーカ(第2レプリケーションマネージャ8b(SSRM)から受信されたマーカに一致する)を含むジャーナルデータが処理されるまで、ストレージボリューム38に適用される。
【0105】
ストレージボリューム37は、両方のボリュームのジャーナルデータが連続データレプリケーションのために使用できるように、ストレージボリューム36として時間関連情報を含み得るが、ストレージボリューム38は、ボリューム35の場合のように、書き込みデータのみを有するように修正され得る(ブロック980)。
【0106】
第1ストレージシステム20a、20bと、他方の第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nとの間の整合性を維持するために、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、ストレージボリューム37からのデータをストレージボリューム38に適用するために、第2レプリケーションマネージャ8b(SSRM)からのコミットコマンドを待つ。
【0107】
適用操作が完了された後で、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトに完了通知を送信する(ブロック980)。第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、適用完了通知を受信する(ブロック990)。ACT3(980、990)の操作は、システムがオンの間、連続して継続される。
【0108】
図17は、副サイトにおけるレプリケーションマネージャ6b及び8bを制御するために共通リンケージマネージャ4aによって実行される操作を示す。共通リンケージマネージャ4aが整合性グループを形成するために操作を開始すると(ブロック400)、共通リンケージマネージャ4aはマーカを初期化する(ブロック402)。
【0109】
共通リンケージマネージャ4aはマーカを増加させ(ブロック406)、主サイトの第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aにフリーズコマンドマーカを発行する(ブロック408)。共通リンケージマネージャ4aは、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aからのフリーズコマンドへの応答を待ち(ブロック410)、そして応答を受信すると、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに対してマーカ付きのランコマンドを発行する(ブロック412)。
【0110】
ストレージシステムのフリーズコマンドに応答してホスト操作を休止し、かつストレージシステムへのマーカを実施することにより、使用されるストレージシステムは、ホストからの同じ時間情報を有さないメインフレームタイプ又はオープンタイプのいずれであってもよい。なぜならば、ストレージシステムがマーカを用いて共通位相(common phase)を実現できるからである。
【0111】
共通リンケージマネージャ4aは、次の整合性グループを形成するための許可について照会を行うために、第1及び第2レプリケーションマネージャに照会コマンドを発行する(ブロック414)。
【0112】
すべてのレプリケーションマネージャ6a及び8aが次の整合性グループを形成する許可をもって応じる場合は、ブロック406に戻って制御は進み、次の整合性グループを形成する。そうでない場合、許可が与えられなければ、ブロック412に戻って制御は進み、両方のレプリケーションマネージャ6a及び8aが次の整合性グループを形成するための許可をもって応じるのを待つ。
【0113】
図18は、副サイトのレプリケーションマネージャ6b及び8bを制御するために共通リンケージマネージャ4bによって実行される操作の一実施形態を示す。副共通リンケージマネージャ4bが整合性グループをコミットするための操作を開始すると(ブロック450)、共通リンケージマネージャ4bは、各第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24n及び各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nからの最新マーカについて照会するために、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに対して、照会コマンドを発行する(ブロック452)。
【0114】
共通リンケージマネージャ4bは、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bから最新マーカを受信するのを待ち(ブロック454)、複数の最新マーカの中の最小マーカを決定する(ブロック456)。最小マーカが変わった場合は(ブロック458)、共通リンケージマネージャ4bは、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに対して、最小マーカ付きのコミットコマンドを発行する(ブロック460)。
【0115】
そうでない場合、最小マーカが変わっていなければ(ブロック458)、ブロック450へ戻って制御は進む。さらに、コミットコマンドを発行した後に(ブロック460)、共通リンケージマネージャ4bはブロック450に戻る。
【0116】
図19Aは、共通リンケージマネージャ4aからのフリーズコマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。主サイトの第1のレプリケーションマネージャ6aが共通リンケージマネージャ4aからのフリーズコマンドを受信すると(ブロック500)、第1レプリケーションマネージャ6aは、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nの各コントローラCTLFa26aにフリーズコマンドを送信する(ブロック502)。
【0117】
このコマンドに応答して、コントローラCTLFa26aは、ソースストレージ30のボリュームへのI/Oを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第1レプリケーションマネージャ6aに送信する。第1レプリケーションマネージャ6aは、すべてのフリーズ完了メッセージが第1レプリケーションマネージャ6aによって受信された後に、共通リンケージマネージャ4aにフリーズ完了メッセージを戻す(ブロック504)。
【0118】
図19Bは、共通リンケージマネージャ4aからのランコマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。主サイトの第1レプリケーションマネージャ6aが共通リンケージマネージャ4aからのマーカ付きのランコマンドを受信すると(ブロック530)、第1レプリケーションマネージャ6aは、ボリュームへのI/Oの休止及びソースストレージ30におけるホストI/O操作の再開を行わないように、第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nにコマンドを送信する(ブロック532)。
【0119】
第1レプリケーションマネージャ6aは、すべてのラン完了メッセージが第1レプリケーションマネージャ6aによって受信された後で、共通リンケージマネージャ4aにラン完了を戻す(ブロック534)。
【0120】
図19Cは、共通リンケージマネージャ4aからの照会コマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。共通リンケージマネージャ4aから照会コマンドを受信すると(ブロック550)、主サイトの第1レプリケーションマネージャ6aは、前の整合性グループ(がコミットしたか否かに関する情報を得るために、各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nに照会コマンドを送信する(ブロック552)。
【0121】
各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nが、ブロック912で示されるように副サイトからコピー完了を受信し、かつブロック904で2つのビットマップ(BM1、BM2)31、32(図14A)をマージした場合は、各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nは、グループがコミットされたことの確認を戻し、また、2つのビットマップ31、32をマージしなかった場合は、グループがコミットされなかったことを戻し、あるいは、ブロック904で2つのビットマップ(BM1、BM2)をマージするまで、応答を戻さない。
【0122】
第1のレプリケーションマネージャ6aは、すべての第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nからのコミット及び照会完了の収集された結果を、共通リンケージマネージャ4aに戻す(ブロック554)。
【0123】
よって、すべての第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22nがコミットされない限り、第1レプリケーションマネージャ6aは、前の整合性グループがコミットされていないということを、共通リンケージマネージャに戻す。
【0124】
図20Aは、共通リンケージマネージャ4bからの照会コマンドを処理するために、副サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。副サイトの第1レプリケーションマネージャ6bが共通リンケージマネージャ4bからの照会コマンドを受信すると(ブロック600)、副サイトの第1レプリケーションマネージャ6bは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nに照会コマンドを送信する(ブロック602)。
【0125】
第1副サイト・ストレージデバイス(FSSD1、FSSD2、・・・FSSDn)24a、24b・・・24nはそれぞれ、第1レプリケーションマネージャ6bからのこの照会コマンドに応答して最大マーカ値を返信する。
【0126】
第1ストレージシステム20a、20bが1回のサイクルで操作されるので、各第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nには1つのマーカ値だけが存在する。第1レプリケーションマネージャ6bは、すべての第1副サイト・ストレージデバイス(FSSD、FSSD2、・・・、FSSDn)24a、24b・・・24nから受信された複数の最大マーカの中の最小マーカと照会完了とを、共通リンケージマネージャ4bに戻す(ブロック604)。
【0127】
図20Bは、共通リンケージマネージャ4bからのコミットコマンドを処理するために、副サイトの第1レプリケーションマネージャ6bによって実行される操作の一実施形態を示す。副サイトの第1のレプリケーションマネージャ6bが共通リンケージマネージャ4bからコミットコマンドを受信すると(ブロック630)、第1レプリケーションマネージャ6bは、ストレージボリューム33からストレージボリューム34への仮想コピーを作成するために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nにコマンドを送信する(ブロック632)。
【0128】
このコピーは、FlashCopyを使用して実行され得る。第1レプリケーションマネージャ6bは、次に、すべてのコミット完了メッセージが第1レプリケーションマネージャ6bによって受信された後で、共通リンケージマネージャにコミット完了を戻す(ブロック634)。
【0129】
図21Aは、共通リンケージマネージャ4aからのフリーズコマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。主サイトの第2レプリケーションマネージャ8aが共通リンケージマネージャ4aからフリーズコマンドを受信すると(ブロック650)、第2レプリケーションマネージャ8aは、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nにフリーズコマンドを送信する(ブロック652)。フリーズコマンドに応答して、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、ソースストレージ35(図15A)のボリュームへのI/Oを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第2レプリケーションマネージャ8aに送信する。
【0130】
第2レプリケーションマネージャ8aは、すべてのフリーズ完了メッセージが第2レプリケーションマネージャ8aによって受信された後で、共通リンケージマネージャ4aにフリーズ完了を戻す(ブロック654)。
【0131】
図21Bは、共通リンケージマネージャ4aからのマーカ付きのランコマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。主サイトの第2レプリケーションマネージャ8aが共通リンケージマネージャ4aからマーカ付きのランコマンドを受信すると(ブロック680)、第2レプリケーションマネージャ8aは、ボリュームへのI/Oを休止及びソースストレージ35(図15A)におけるホストI/O操作の再開を行わないように、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nにコマンドを送信する(ブロック682)。
【0132】
第2レプリケーションマネージャ8aは、すべてのラン完了メッセージが第2レプリケーションマネージャ6aによって受信された後で、共通リンケージマネージャ4aにラン完了を戻す(ブロック684)。
【0133】
図21Cは、共通リンケージマネージャ4aからの照会コマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。共通リンケージマネージャ4aからの照会コマンドを受信すると(ブロック690)、主サイトの第2レプリケーションマネージャ8aは、前の整合性グループがコミットしたか否かに関する情報を得るために、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに照会コマンドを送信する(ブロック692)。
【0134】
各第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nが、ブロック990(図16B)で示されるように副サイトから適用完了(Apply complete)を受信した場合は、各第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、該当グループがコミットされたことを戻し、また、副サイトからコピー完了を受信していない場合は、グループがコミットされていないことを戻し、あるいは、副サイトから完了メッセージを受信するまでは、応答を戻さない。
【0135】
第2レプリケーションマネージャ8aは、コミット及び照会完了の収集された結果を、共通リンケージマネージャ4aに戻す(ブロック692)。
【0136】
よって、すべての第2主サイト・ストレージデバイス(SPSD、SPSD2、・・・、SPSDn)23a、23b・・・23nがコミットされない限り、第2レプリケーションマネージャ8aは、前の整合性グループがコミットされていないことを、共通リンケージマネージャに戻す。
【0137】
図22Aは、共通リンケージマネージャ4bからの照会コマンドを処理するために、副サイトの第2レプリケーションマネージャ8bによって実行される操作の一実施形態を示す。副サイトの第2レプリケーションマネージャ8bが共通リンケージマネージャ4bからの照会コマンドを受信すると(ブロック700)、副サイトの第2レプリケーションマネージャ8bは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nに照会コマンドを送信する(ブロック702)。
【0138】
第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・、SSSDn)25a、25b・・・25nはそれぞれ、第2レプリケーションマネージャ8bからのこの照会コマンドに応答して最大マーカ値を返信する。ACT1、ACT2、ACT3が独立したループであるため、第2ストレージシステム21a、21bは、システム内に複数の世代を可能にする。
【0139】
よって、複数のマーカが、各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25n内に存在し得る。特定の実施形態では、第1ストレージシステム20a、20bが1回のサイクルで作動し、かつ第1及び第2レプリケーションマネージャからの主サイト及び副サイト各々からのコマンドが、共通レプリケーションマネージャによってリンクされるため、本実施形態では、各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nには1つのマーカだけが存在することになる。ACT1、ACT2、ACT3が、異なるサイクルを有するストレージシステムを接続する共通リンケージマネージャによってリンクされない場合、すなわち、システムがそれ自体単独で機能する場合、ACT1、ACT2、ACT3は、独立したループを含み得る。異種レプリケーションシステムの両方が1回のサイクルで作動せず、かつシステム内に多数のループを有する場合、各第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・SSSDn)25a、25b・・・25nに複数のマーカが存在し得る。第2レプリケーションマネージャ8bは、すべての第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nによって受信された複数の最大マーカの中の最小マーカ及び照会完了を、共通リンケージマネージャ4bに戻す(ブロック704)。
【0140】
共通リンケージマネージャは、第2ストレージシステム21a、21bがデータをストレージボリューム38に適用する準備ができた時点を決定するために、最小マーカと照会完了通知を使用する。
【0141】
図22Bは、共通リンケージマネージャ4bからのコミットコマンドを処理するために、副サイトの第2レプリケーションマネージャ8bによって実行される操作の一実施形態を示す。
【0142】
副サイトの第2レプリケーションマネージャ6bが共通リンケージマネージャ4bからマーカ付きコミットコマンドを受信すると(ブロック730)、コミットコマンドと共に受信されたマーカと同じ価値を有するマーカを含むジャーナルデータが処理されるまでストレージボリューム37をストレージボリューム38に適用するために、第2レプリケーションマネージャ8bは、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nにマーカ付きコミットコマンドを送信する(ブロック732)。
【0143】
これによって、2つの異種レプリケーションシステムの間の整合性を維持することができる。本実施形態では、第1ストレージシステム20a、20bが1回のサイクルで作動するので、第2ストレージシステム21a、21bも、1回のサイクルとして作動するように、共通リンケージマネージャによって制御され得る。よって、ジャーナルデータには1つのマーカだけが存在し得るが、それは、ホストが休止される前の最新時間情報を有する最新のジャーナルデータとなる。
【0144】
第2レプリケーションマネージャ8bは、すべてのコミット完了メッセージが第2レプリケーションマネージャ8bによって受信された後で、共通リンケージマネージャ4bにコミット完了を戻す(ブロック734)。
【0145】
本実施形態では、マーカはランコマンドに応答して実施される。しかし、特定の実施形態では、マーカが第1ストレージシステムと第2ストレージシステムとで同じタイミングサイクルで実施される場合は、マーカはランコマンドに応答して実施される必要がなく、その代わりに、フリーズコマンドに応答して実施され得る。
【0146】
さらに、マーカ値は、主マネージャからのフリーズコマンド及びランコマンドの両方と共に送信されてもよく、マーカ値が一致した後で、当該マーカ値をインストールし得る。マーカ値が一致しない場合は、レプリケーションマネージャにエラーメッセージが送信され得る。マーカ値の2倍のマーカを送信することによって、マーカが受信されたという追加の保証を提供する。
【0147】
特定の実施形態では、位相はホストのレプリケーションマネージャによって制御されるので、各ストレージシステム内の主サイト及び副サイトにおけるストレージデバイスは、各システム内の整合性を維持することを要求されない。各ストレージシステム内のすべてのストレージデバイスは同等であってもよく、またストレージシステム内の複数のストレージデバイスの間でマスタ/スレーブ関係がなくてもよい。
【0148】
上述の実施形態はさらに、複数のストレージシステム内の複数のストレージデバイスの間でマスタ/スレーブ関係を有するストレージシステムにも適用できる。各サイトのストレージシステム内のスレーブストレージデバイスを制御するマスタストレージデバイスがある場合には、レプリケーションマネージャはマスタストレージデバイスのみと通信し、マスタストレージデバイスはスレーブストレージデバイスにコマンド及び照会を送信し、レプリケーションマネージャにすべてのストレージデバイスの代表的メッセージを返信する。
【0149】
上述の実施形態では、主サイト及び副サイトの共通リンケージマネージャによってリンクされる2つのレプリケーションマネージャを通して複数のストレージシステムの位相を制御することによって、異なるレプリケーション方法を有する複数のストレージシステムの間の整合性が維持される。これにより、コンピューティング環境のより高い信頼性が可能となる。なぜならば、異種システムは同種システムと比較して比較的より高い信頼性を有するからである。
【0150】
上述の実施形態では、より多くの世代を有するシステムは、1つの世代サイクルを有するシステムとして作動するように修正される必要はない。例えば、2つの異種システムが各システム内に複数の世代を有する場合、これらのシステムは、1回のサイクルで複数の世代を可能にすることによって作動し、その一方で、位相は、1回のサイクルで最も少ない数の世代を有するシステムによって制御される。
【0151】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループタイムスタンプを提供することによって、共通リンケージマネージャ4a、4b及びレプリケーションマネージャ6a、6b、8a、8bは、異なるレプリケーション技術を使用する複数のベンダ特定レプリケーションエンジン全体にわたって整合性グループを形成することができる。
【0152】
これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備すること、及び、共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するため、そして異なるレプリケーション技術及び方法を使用し得るレプリケーションエンジンによって形成された整合性グループにデータを復元するために、異種レプリケーションエンジンを利用することが可能となる。
【0153】
追加の実施形態の詳細
上述の操作は、ソフトウェア、ファームウェア、ハードウェア、又はこれらのあらゆる組合せを製造するための標準的プログラミング及び/又はエンジニアリング技術を使用する方法、装置、又は製品として実施され得る。
【0154】
上述の操作は、「コンピュータ可読媒体」で維持されるコードとして実施され得るが、この場合、プロセッサがコンピュータ可読媒体からコードを読み取り、かつ実行し得る。
【0155】
コンピュータ可読媒体は、磁気記憶媒体(例えばハードディスクドライブ、フロッピーディスク、テープなど)、光記憶装置(CD−ROM、DVD、光ディスクなど)、揮発性及び不揮発性メモリ装置(例えばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュメモリ、ファームウェア、プログラム可能論理など)などの媒体を含み得る。
【0156】
上述の操作を実施するコードはさらに、ハードウェアデバイス(例えば集積回路チップ、プログラマブルゲートアレイ(PGA)、特定用途向けIC(ASIC)など)に実装されたハードウェア論理で実施され得る。またさらに、上述の操作を実施するコードは、「伝送信号」で実施され得るが、この場合、伝送信号は、空間を通して、又は伝送媒体(例えば光ファイバ、銅線など)を通して伝播し得る。
【0157】
コード又は論理が符号化された伝送信号は、無線信号、衛星通信、電波、赤外線信号、ブルートゥースなどをさらに含み得る。コード又は論理が符号化された伝送信号は、伝送ステーションによって伝送され、かつ受信ステーションによって受信されることができるが、この場合、伝送信号に符号化されたコード又は論理は復号化され、かつ受信及び伝送ステーション又はデバイスにおけるハードウェア又はコンピュータ可読媒体に格納され得る。
【0158】
「製品」は、コードが実施され(implemented)得るコンピュータ可読媒体、ハードウェア論理、及び/又は伝送信号を含む。操作について説明した実施形態を実施するコードが符号化されるデバイスは、コンピュータ可読媒体又はハードウェア論理を含み得る。当然のことながら、当業者には明らかなように、本発明の範囲から逸脱することなく、この構成に多くの修正を行うことができ、上記製品は、当技術分野で周知の、適切な情報を有する媒体を含み得る。
【0159】
主構成要素(例えばリンケージマネージャ4a、レプリケーションマネージャ6a、8aなど)に関して説明した操作は、対応する副構成要素によって実行され得る。
【0160】
図23は、図1のマネージャ2a、2b及びコントローラ10a、10b、12a、12bのために実現され得るコンピュータアーキテクチャ800の1つのインプリメンテーションを示す。アーキテクチャ800は、プロセッサ802(例えばマイクロプロセッサ)と、メモリ804(例えば揮発性メモリ装置)と、ストレージ806(例えば不揮発性ストレージ(例えば磁気ディスクドライブ、光ディスクドライブ、テープ装置など))とを含み得る。
【0161】
ストレージ806は、内部ストレージデバイス、又は付加されたもしくはネットワークアクセス可能なストレージを備え得る。ストレージ806のプログラム(オペレーティングシステム808、デバイスドライバ及びアプリケーションプログラムを含む)は、メモリ804にロードされ、当技術分野で周知の態様でプロセッサ802によって実行される。アーキテクチャは、ネットワークとの通信を可能にするためのネットワークカード810をさらに含む。
【0162】
入力装置812は、ユーザ入力をプロセッサ812に提供するために使用され、キーボード、マウス、ペン・スタイラス(pen-stylus)、マイク、接触感応性スクリーン(touch sensitive display screen)、又は当技術分野で周知のその他あらゆる起動又は入力メカニズムを含み得る。出力装置814は、プロセッサ812又はその他の構成要素(例えば表示モニタ、プリンタ、ストレージなど)から伝送される情報をレンダリングすることができる。
【0163】
「ある実施形態」、「実施形態」、「複数の実施形態」、「前記実施形態」、「前記複数の実施形態」、「1つ以上の実施形態」、「いくつかの実施形態」、及び「一実施形態」という用語は、別段の明示的な特定がなされない限り、「本発明の1つ以上の(但し、すべてでない)実施形態」を意味する。
【0164】
「を含む」、「を備える」、「を有する」、及びそのバリエーションの用語は、別段の明示的な特定がなされない限り、「を含むがそれに限定されない」ということを意味する。
【0165】
項目を列挙したリストは、別段の明示的な特定がなされない限り、項目のいずれか又はすべてが互いに排他的であることを意味しない。
【0166】
「a」、「an」、「the」の語は、別段の明示的な特定がなされない限り、「1つ以上」を意味する。
【0167】
要素の変数を表すために使用されるときの変数「n」は、要素の事例のあらゆる数を示すことができ、そして、異なる要素で使用された場合、又は同じ要素の異なる事例で使用された場合に、異なる整数を示し得る。
【0168】
互いに通信する装置は、別段の明示的な特定がなされない限り、互いに連続して通信する必要はない。さらに、互いに通信する装置は、1つ以上の仲介(intermediaries)を通して直接的又は間接的に通信し得る。
【0169】
互いに通信するいくつかの構成要素を有する実施形態の説明は、すべてのこのような構成要素が必要とされることを意味しない。逆に、本発明の幅広い種類の可能性がある実施形態を示すために、様々なオプションの構成要素が説明されている。
【0170】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどが連続した順序で記述され得るが、このようなプロセス、方法、アルゴリズムは交互の順番で作用するように構成され得る。言い換えると、記述され得るあらゆるステップのシーケンス又は順序は、ステップがその順序で実行されなければならないという要件を必ずしも示すわけではない。本明細書で説明されているプロセスのステップは、実際的にあらゆる順序で実行され得る。さらに、いくつかのステップは同時に実行され得る。
【0171】
1つの装置又は製品が本明細書で説明されるとき、1つの装置/製品の代わりに複数の装置/製品(それらが協動するか否かに拘わらず)を使用できることは明らかである。同様に、複数の装置又は製品が本明細書で説明される場合(協動するか否かに拘わらず)、複数の装置又は製品の代わりに1つの装置/製品を使用することができ、又は示された数の装置又はプログラムの代わりに、異なる数の装置/製品を使用することができることは明らかである。
【0172】
装置の機能性及び/又は特徴は、このような機能性/特徴を有すると明示的に説明されていない1つ以上の他の装置によって、その他の態様で具現化され得る。よって、本発明の他の実施形態は、装置自体を含む必要はない。
【0173】
図4で示される操作は、特定の順序で起こる特定のイベントを示す。別の実施形態では、特定の操作は異なる順序で実行され、修正され、又は除去され得る。さらに、上述された論理にステップを追加することができるが、当該ステップは、依然として上述の実施形態に一致し得る。
【0174】
さらに、本明細書で説明された操作は連続して生じるかもしれず、又は、特定の操作は並行に処理され得る。またさらに、操作は1つの処理装置によって、又は複数の分散処理装置によって実行され得る。
【0175】
本発明の様々な実施形態についての前述の説明は、例示と説明のために提示された。これは、網羅的(exhaustive)であること、又は本発明を開示された正確な形態に制限することを意図したものでない。上記教示を踏まえて、多くの修正及び変更が可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された請求の範囲によって制限されることが意図されている。
【0176】
上記の明細書、実施例、及びデータは、本発明の構成の製造と使用についての完全な説明を提供する。本発明の精神及び範囲から逸脱することなく、本発明の多くの実施形態をなすことができるため、本発明は本明細書に添付される請求の範囲に存在する。
【技術分野】
【0001】
本発明は、異種レプリケーションエンジンを使用して整合性グループを管理する方法、システム、及び製品に関する。
【背景技術】
【0002】
災害復旧システムは一般に、2種類の故障、すなわち、ある一時点での突然の壊滅的な故障と、長期間にわたるデータ損失に対応する。2番目のタイプの段階的な災害では、ボリュームへの更新が失われるかもしれない。データ更新の回復を支援するために、データのコピーを遠隔場所に設けてもよい。
【0003】
このような二重又はシャドウコピーは、典型的には、アプリケーションシステムが正ストレージデバイス(primary storage device)に新しいデータを書き込んでいるときに作成される。データのリモートコピーを副サイト(secondary site)に維持するためには、異なるコピー技術が使用され得る(例えばInternational Business Machine Corporation(IBM)の拡張遠隔コピー(XRC)、結合XRC(Coupled XRC)(CXRC)、グローバル・コピー、グローバル・ミラー・コピーなど)。
【0004】
データミラーリングシステムでは、データはボリュームペアで維持される。ボリュームペアは、正ストレージデバイス(primary storage device)のボリュームと、正ボリューム(primary volume)維持されるデータの同一のコピーを含む副ストレージデバイス(secondary storage device)の対応するボリュームを含む。主及び副ストレージコントローラは、主及び副ストレージデバイスへのアクセスを制御するために使用され得る。
【0005】
特定のデータミラーリングシステムでは、異なるアプリケーションによって異なる正ストレージデバイスに書き込まれた更新が、タイムスタンプとして整合性のある時刻(consistent time-of-day)(TOD)の値を使用するように、複数のシステム全体にわたって均一な時間を提供するためにタイマーが使用される。
【0006】
ホストオペレーティングシステム又はアプリケーションは、正ストレージのボリュームにこのようなデータセットを書き込むときに、1つのデータセット又は1組の複数データセットへの更新をタイムスタンプし得る。データ更新の保全性は、正ボリュームへの更新と同じ順序で、ボリュームペアの副ボリュームの更新が行われることを保証することに関連する。アプリケーションプログラムによって提供されるタイムスタンプは、データ更新の論理シーケンスを決定する。
【0007】
データベースシステムなどの多くのアプリケーションプログラムでは、事前に書き込みが行われていない限り、特定の書き込みを行うことができない。さもなければ、データ保全性が脅かされることになるだろう。保全性が事前のデータ書き込みの発生に依存する、このようなデータ書き込みは、依存書き込み(dependent write)として知られている。すべての書き込みが論理的順序で転送された(すなわち、すべての依存書き込みが、これらに依存している書き込みの前に先に転送された)場合に、主及び副ストレージのボリュームは整合性が取れている。整合性グループは、整合性タイムスタンプ(consistency time stamp)と同じ又はより早いタイムスタンプを有する整合性グループのすべてのデータ書き込みについて整合性のある時間を有する。
【0008】
依存書き込みが、整合性がとれた態様で確保されるように、整合性グループは正ボリュームへの更新の集合である。整合性のある時間とは、副ボリュームへの更新が整合性のあることをシステムが保証する、最新の時間である。整合性グループは、複数のボリュームとストレージデバイスにわたってデータ整合性を維持する。よって、データが副ボリュームから回復された場合、回復されたデータは整合性が取れている。
【0009】
他のデータミラーリングシステムは、正ボリュームのコピーを提供するために異なるレプリケーション技術を使用する。異なるコピー技術は、異なる方法論とアルゴリズムを使用して整合性グループを形成し得る。アプリケーションが2つのデータミラーリングシステムに格納されたデータを有する場合、両方のシステムが、互いに異なるとともに非互換性であり得る技術の範囲内で、独立して作動すると仮定すると、一方のシステムへの書き込みの、他方のシステムへの書き込みへの依存性は検出されないかもしれない。従って、整合性は、異なるテクノロジーを使用して形成される整合性グループ全体にわたっては維持されないことになる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記の理由により、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が必要とされる。
【課題を解決するための手段】
【0011】
データを複製する異種レプリケーションエンジンを使用して整合性グループを管理する方法、システム、及び製品が提供される。共通リンケージマネージャは、第1レプリケーションマネージャ及び第2レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行し、前記第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、第1及び第2レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行する。 前記第1及び第2レプリケーションマネージャは、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからのデータの第1整合性グループ及び第2整合性グループをそれぞれ形成し、前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを、第1ジャーナル及び第2ジャーナルそれぞれに伝送する。第1及び第2レプリケーションマネージャは、コミットコマンドを受信した前記第1及び第2のレプリケーションマネージャに応答して、前記第1ジャーナル及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを、前記第1及び第2ターゲットストレージそれぞれにコミットする。
【0012】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2ジャーナルの第1及び第2整合性グループを第1及び第2ターゲットストレージそれぞれにコミットする前記第1及び第2レプリケーションマネージャに応答して、後続のポイントインタイムにおいて(at a subsequent point-in-time)追加の第1及び第2整合性グループを形成するために、前記第1及び第2レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンス(subsequent instance)を発行する。
【0013】
他の実施形態では、前記共通リンケージマネージャは、前記整合性グループのために前記第1及び第2レプリケーションマネージャにコミットコマンドを発行し、前記第1及び第2レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第1及び第2整合性グループ内の前記データをそれぞれコミットし、かつ前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なる第1及び第2コミット技術を使用する。
【0014】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する。
【0015】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに照会コマンドを発行する。前記第1及び第2レプリケーションマネージャは、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断する。前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャは、第1及び第2ジャーナル完了メッセージを伝える。前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに対してコミットコマンドを伝える。
【0016】
他の実施形態では、整合性グループ作成コマンドは、フリーズコマンド(freeze command)とランコマンド(run command)とを含む。第1レプリケーションマネージャは、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつポイントインタイムにおいて整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするために、第1レプリケーション技術を使用する。前記第1レプリケーションマネージャは、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするために、前記第1レプリケーション技術を使用する。前記第2レプリケーションマネージャは、前記第2ソースストレージへの更新(前記整合性グループのポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーするために、第2レプリケーション技術を使用する。
【0017】
他の実施形態では、前記第1レプリケーションマネージャは、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成するために、前記第1コミット技術を使用し、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされる。前記第2レプリケーションマネージャは、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーするために、前記第2コミット技術を使用する。
【0018】
他の実施形態では、前記共通リンケージマネージャは、前記第1及び第2レプリケーションマネージャに照会コマンドを発行する。前記第1レプリケーションマネージャは、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたか否かを判断するために、前記第1レプリケーション技術を使用する。前記第2レプリケーションマネージャは、前記第2ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断するために、前記第2レプリケーション技術を使用する。前記コミット操作は、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたとの判断に応答して、かつ前記第2ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第1及び第2レプリケーションマネージャによって実行される。
【0019】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える。
【0020】
他の実施形態では、前記第1及び第2レプリケーションマネージャは、正システム(primary system)に位置する。前記共通リンケージマネージャは、副システム(secondary system)における第1及び第2レプリケーションマネージャに復元コマンドを送信する。前記副システムにおける前記第1及び第2レプリケーションマネージャは、前記復元コマンドに応答して、前記第1及び第2ターゲットストレージの前記第1及び第2整合性グループからのデータを、前記第1及び第2ジャーナルそれぞれにコピーする。前記第1及び第2ソースストレージの前記データを前記第1及び第2整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副システムにおける前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルの前記第1及び第2整合性グループからのデータを、前記第1及び第2ソースストレージそれぞれにコミットする。
【0021】
他の実施形態では、前記復元コマンドは、前記正サイト(primary site)における故障に応答して送信される。前記共通リンケージマネージャは、前記主サイトから前記副サイト(secondary site)へのフェイルオーバーを実行し、申込者が、前記フェイルオーバーに応答して入出力(I/O)要求を前記第1及び第2ターゲットストレージに提出する。
【0022】
他の実施形態では、前記第1及び第2レプリケーションマネージャが、第1及び第2レプリケーションエンジン特定コマンド(first and second replication engine specific commands)を前記第1及び第2レプリケーションエンジンそれぞれに伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる。
【発明の効果】
【0023】
本発明によれば、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が提供される。
【図面の簡単な説明】
【0024】
【図1】図1は、コンピューティング環境の一実施形態を示す。
【図2】図2は、主及び副コントローラの構成要素の一実施形態を示す。
【図3】図3は、主及び副コントローラの構成要素の一実施形態を示す。
【図4】図4は、整合性グループを作成するための操作の一実施形態を示す。
【図5】図5は、整合性グループを作成するための操作の一実施形態を示す。
【図6】図6は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図7】図7は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図8】図8は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図9】図9は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図10】図10は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図11】図11は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図12】図12は、整合性グループを復元するための操作の実施形態を示す。
【図13】図13は、コンピューティング環境の一実施形態を示す。
【図14A】図14Aは、第1ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図14B】図14Bは、第1ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図15A】図15Aは、第2ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図15B】図15Bは、第2ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図16A】図16Aは、第1ストレージシステムの操作を示す。
【図16B】図16Bは、第2ストレージシステムの操作を示す。
【図17】図17は、整合性グループを形成するための操作を開始するための第1共通リンケージマネージャの操作の一実施形態を示す。
【図18】図18は、整合性グループを形成するための操作を開始するための第2共通リンケージマネージャの操作の一実施形態を示す。
【図19A】図19Aは、フリーズコマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図19B】図19Bは、ランコマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図19C】図19Cは、照会コマンドを処理するための主サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図20A】図20Aは、照会コマンドを処理するための副サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図20B】図20Bは、コミットコマンドを処理するための副サイトにおける第1レプリケーションマネージャの一実施形態を示す。
【図21A】図21Aは、フリーズコマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図21B】図21Bは、ランコマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図21C】図21Cは、照会コマンドを処理するための主サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図22A】図22Aは、照会コマンドを処理するための副サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図22B】図22Bは、コミットコマンドを処理するための副サイトにおける第2レプリケーションマネージャの一実施形態を示す。
【図23】図23は、図1のシステムで使用され得るコンピュータアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【0025】
図1は、主マネージャ2aと副マネージャ2bがそれぞれ、共通リンケージマネージャ4a、4bと、第1レプリケーションマネージャ6a、6bと、第2レプリケーションマネージャ8a、8bとを含むコンピューティング環境の実施形態を示す。第1レプリケーションマネージャ6a、6b及び第2レプリケーションマネージャ8a、8bの各々は、共通リンケージ管理部4a、4bからの一般レプリケーションコマンドを、第1レプリケーションエンジン50及び第2レプリケーションエンジン52(図2及び図3)のための特定レプリケーションエンジンコマンド)に変換あるいは翻訳する。
【0026】
第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、異なるベンダ又は同じベンダからの異なるレプリケーション技術を実施するレプリケーションエンジンを含む。あるいは、異なるレプリケーションエンジン50及び52は、同じレプリケーション方法の異なる実施を提供し得る。マネージャ2a及び2bは、それぞれベンダ固有ソフトウェア5a及び5b(共通リンケージマネージャ4aの上の層で、共通リンケージマネージャ4a、4bを呼び出し、かつレプリケーションを管理するリモート管理プログラムである)をさらに含み得る。
【0027】
このようにして、異なるベンダ固有ソフトウェア5a及び5bは、レプリケーション操作を実行するために共通リンケージマネージャ4a、4bを呼び出して、通信することができる。
【0028】
第1レプリケーションマネージャ6a、6bは、第1主コントローラ10a及び第1副コントローラ10b上のレプリケーションエンジン50のためのレプリケーション操作を制御することができ、第2レプリケーションマネージャ8a、8bは、第2主コントローラ12a及び第2副コントローラ12b上のレプリケーションエンジン52のためのレプリケーション操作を制御することができる。第1主コントローラ10a上のレプリケーションエンジン50は、第1ソースストレージ14aのための変更データを第1ジャーナル16aにコピーし、次に、第1ジャーナル16aのデータを、第1副コントローラ12aによって管理される第1ターゲットストレージ18aにコミットする。第2主コントローラ10b上のレプリケーションエンジン52は、第2ソースストレージ14bのための変更データを第2ジャーナル16bにコピーし、次に、第2ジャーナル16bのデータを、第2ターゲットストレージ18bにコミットする。
【0029】
図1に示される構成要素の1つ以上の例があり得る。
【0030】
異なるレプリケーションエンジン技術は、まだコミットされていない変更データをバッファするために異なる技術を使用し得る。例えば、いくつかのレプリケーション技術は、更新をバッファするためにジャーナルを使用し、他方では、データがコミットされる前に更新を維持するために他の技術を使用する(例えばストレージにまだコミットされていない更新データの「フラッシュコピー」を作成するなど)。
【0031】
ネットワーク20は、マネージャ2a、2b、主コントローラ10a、10b、副コントローラ12a、12b、及びジャーナル16a、16bの間の通信を可能にする。ネットワーク20は、ストレージエリアネットワーク(SAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイドエリアネットワーク(WAN)、ピアツーピアネットワーク、無線ネットワーク、アービトレート型ループネットワークなどを含み得る。さらに、マネージャ2aと2bとコントローラ10a、10b、12a、12bとの間に異なるネットワークが存在し得る。
【0032】
マネージャ2a、2b及びコントローラ10a、10b、12a、12bは、当技術分野で周知の適切な計算装置(例えば、サーバ、エンタープライズストレージサーバなど)を含み得る。ストレージ14a、14b、18a、18bは、例えば、相互連結したハードディスクドライブ(Redundant Array of Independent Disks(RAID))、Just a Bunch of Disks(JBOD)、直接アクセス記憶装置(DASD)、ループ構成で連結したディスク(直列ループ)、ファイバチャネル調停ループ)、シングルストレージデバイス、テープライブラリ、光学ライブラリ、Network Attached Storage(NAS)などの複数の記憶装置を含むストレージシステムなどの、当技術分野で周知のストレージシステムで実装され得る。
【0033】
ジャーナル16a、16bは、別個の中間コンピュータシステム内に実装されてもよく、あるいは、それぞれ第1副コントローラ10b及び第2副コントローラ12b内に実装されてもよい。
【0034】
2つのレプリケーションマネージャだけが示されているが、マネージャシステム2a、2bには3つ以上のレプリケーションマネージャが存在してもよい。さらに、共通のポイントインタイムにおける共通の整合性グループを形成するために、一緒に作動する多重主及び副コントローラが存在してもよい。
【0035】
図2は、第1主コントローラ10a及び第1副コントローラ10b上の構成要素(第1レプリケーションエンジン50、及び整合性インターバルレプリケーション方法によって第1ジャーナル16にコピーされる必要がある1つの整合性グループ内の第1ソースストレージ14aのボリュームへの更新を示すコピー情報54(例えば同期していないビットマップ)を含む)の一実施形態を示す。
【0036】
図3は、第2主コントローラ12a及び第2副コントローラ12b上の構成要素(第2レプリケーションエンジン52、及び形成する整合性グループのポイントインタイムを示す整合性グループポイントインタイム56を含む)の一実施形態を示す。第2レプリケーションエンジン52は、第2ジャーナル16bに更新を継続して送信するタイムスタンプレプリケーション方法を実施し得るが、しかし、ポイントインタイム56時点で整合性が取れている第2ジャーナル16bの更新のみが、第2ターゲットストレージ18bにコミットされる。
【0037】
図4は、整合性グループを形成するために、共通リンケージマネージャ4a、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8a、並びに第1レプリケーションエンジン50及び第2レプリケーションエンジン52によって実行される操作の一実施形態を示す。
【0038】
共通リンケージマネージャ2aは、整合性グループを形成するために操作を開始し(ブロック100)、整合性グループの準備をするために、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに準備コマンドを発行する(ブロック101)。
【0039】
一般準備コマンドの受信に応答して、第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、ポイントインタイムにおける第1及び第2整合性グループを作成するために、第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれに、第1及び第2レプリケーションエンジン特定コマンド(first and second replication engine specific commands)を発行する(ブロック102aと102b)。
【0040】
第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、異なるレプリケーション方法を用いて整合性グループを作成し、異なるベンダ特定プログラミングインタフェースを使用し得る。特定のレプリケーションエンジンは、共通リンケージマネージャ2a、2bからの特定の一般レプリケーション要求に応答して、動作を実行しなくてもよい。
【0041】
第1及び第2レプリケーションエンジン特定整合性グループ作成コマンド(the first and second replication engine specific consistency group forming commands)に応答して、第1レプリケーションエンジン50及び第2レプリケーションエンジン52は、決定された整合性グループポイントインタイムにおける整合性が取れている、第1ソースストレージ14a及び第2ソースストレージ14bへの更新の第1及び第2整合性グループをそれぞれ形成する(ブロック103aと103b)。レプリケーションエンジン50及び52は、非常に異なるベンダ特定技術を使用する整合性グループを形成し得る。
【0042】
次にレプリケーションエンジン50及び52は、整合性グループの準備が完了したと共通リンケージマネージャ4aに通知する(ブロック104aと104b)。レプリケーションエンジン50及び52からの通知の受信に応答して、共通リンケージマネージャ4aは、第1レプリケーションエンジン50及び第2レプリケーションエンジン52に対して一般ランコマンドを発行する(ブロック105)。
【0043】
共通リンケージマネージャ4aからランコマンドを受信すると、レプリケーションエンジン50及び52は、第1及び第2整合性グループ内のデータを第1ジャーナル16a及び第2ジャーナル16bそれぞれに伝送し得る(ブロック106aと106b)。共通リンケージマネージャ4aは、コミット可能状態及びコミット操作を実行するために、図5のブロック110で操作を開始する(ブロック107)。コミットとは独立して、共通リンケージマネージャ4は、別の整合性グループを形成する準備ができているとき、次の整合性グループを形成するためにブロック100に戻る(ブロック108)。
【0044】
図5に関して、共通リンケージマネージャ4aは、第1及び第2整合性グループのすべてのデータが第1ジャーナル16a及び第2ジャーナル16bでジャーナルされたか否かを判断するために、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに一般照会を発行し得る(ブロック110)。
【0045】
この照会に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1及び第2整合性グループ内のデータが第1ジャーナル16a及び第2ジャーナル16bそれぞれにあるか否かを判断するために、すなわち、整合性グループ内のすべてのデータがジャーナルされたと判断するために、第1レプリケーションエンジン50及び第2レプリケーションエンジン52とそれぞれ通信する(又はこれらから受信する)ことができる(ブロック112aと112b)。
【0046】
第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1及び第2整合性グループ内のデータがそれぞれ第1ジャーナル16a及び第2ジャーナル16bにあるとの判断に応答して、第1及び第2ジャーナル完了メッセージを共通リンケージマネージャ4aに伝える(ブロック114aと114b)。第1及び第2ジャーナル完了メッセージを受信すると(ブロック116)、共通リンケージマネージャ4aは、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに一般コミットコマンドを発行する。
【0047】
コミットコマンドの受信に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、第1ジャーナル16a及び第2ジャーナル16bの第1及び第2整合性グループ内のデータをそれぞれ、第1ターゲットストレージ18a及び第2ターゲットストレージ18bそれぞれにコミットするために、第1レプリケーションエンジン50及び第2レプリケーションエンジン54(又は副共通リンケージマネージャ)にコマンドを発行する(ブロック118aと118b)。
【0048】
レプリケーションエンジン50及び54は、ジャーナル16a及び16bにデータをコミットするために異なる技術を使用し得る。第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれからのコミット完了の受信に応答して、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aは、コミット完了を共通リンケージマネージャ4aに戻す(ブロック120aと120b)。コミット要求が伝えられたすべてのレプリケーションマネージャ6a、8aからコミット完了を受信すると(ブロック122)、共通リンケージマネージャ4aは、後続の整合性グループを作成するために図4のブロック100に戻り得る。
【0049】
上述の実施形態では、レプリケーションベンダ(replication vendors)は、共通リンケージマネージャ4a、4bから一般レプリケーションエンジンコマンドを受信し、次に、ベンダ特定レプリケーションエンジンにおいて要求された一般レプリケーションエンジンコマンドを実行するために必要な対応するベンダ特定レプリケーションエンジンコマンドを実施し得る、ベンダ特定レプリケーションマネージャを提供することによって、そのレプリケーションエンジンを異種レプリケーションエンジン環境に統合させ得る。
【0050】
一実施形態では、共通リンケージマネージャ4a、4bは、新しい整合性グループを作成するためにフリーズ及びランコマンドを発行し得る。このような実施形態では、フリーズ及びランコマンドは、図4に関して説明される一般整合性グループ準備及び作成操作に対応する。図6、図7、図8は、フリーズ及びランコマンドを使用する準備及び作成レプリケーションコマンドを実施するために第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。一般準備及び作成コマンドは、フリーズ及びランとは異なるコマンドで実施され得る。
【0051】
図6に関して、第1レプリケーションマネージャ6aは、第1ソースストレージ14aのボリュームが新しい整合性グループ内に存在するように、共通リンケージマネージャ4aからフリーズコマンドを受信する(ブロック150)。フリーズコマンドは、一般整合税グループ形成準備コマンドに対応する。
【0052】
フリーズコマンドに応答して、第1レプリケーションマネージャ6aは、形成されている整合性グループのボリュームへのI/Oを休止するために、第1レプリケーションエンジン50にフリーズコマンドを送信し(ブロック152)、第1ソースストレージ14aボリュームからターゲットストレージにコピーするためにI/Oが休止されたときに、ポイントインタイムにおけるボリュームのコピー情報54を作成し、かつフリーズがフリーズポイントインタイムで完了したというメッセージを第1レプリケーションマネージャに送信する。第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aにフリーズポイントインタイム及びフリーズ完了を戻すことができ(ブロック154)、その場合、フリーズポイントインタイムは、形成する整合性グループのポイントインタイムである。
【0053】
共通リンケージマネージャ4aは、第1レプリケーションマネージャ6aにランコマンドを発行する(ブロック156)。これに応答して、第1レプリケーションマネージャ6aは、コピー情報56に示されるソースボリュームデータ(例えば同期していないビットマップ)を第1ジャーナル16aにコピーするために、第1レプリケーションエンジン50にランコマンドを送信する(ブロック158)。コピー情報56のすべてのデータ(すなわち形成されている整合性グループのデータ)が第1ジャーナル16aでジャーナルされたときに、第1レプリケーションエンジン6aは、ジャーナリング完了(journaled complete)を戻すことができる。
【0054】
図7に関して、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aから一般照会コマンドを受信する(ブロック180)。第1レプリケーションマネージャ6aが、第1整合性グループのすべてのデータがジャーナルされたという確認を第1レプリケーションエンジン50から受信すると(ブロック182)、第1レプリケーションマネージャ6aは、第1整合性グループがジャーナルされたというメッセージを共通リンケージマネージャ4aに戻す(ブロック184)。
【0055】
そうでない場合、第1レプリケーションマネージャ6aは、第1レプリケーションエンジン50が、第1整合性グループがジャーナルされたという確認を戻すのを待つ(ブロック186)。他の実施形態では、第1レプリケーションマネージャ6aは、第1整合性グループのすべての示されたデータがジャーナルされたか否かを判断するために、第1レプリケーションエンジン50に活発に照会を行い、情報54をコピーし得る。
【0056】
図8に関して、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4aから一般コミットコマンドを受信する(ブロック200)。これに応答して、第1レプリケーションエンジン50に、第1ジャーナル16aの第1整合性グループの仮想コピー(例えばFlashCopy(R))を第1ターゲットストレージ18aに作成させるために、第1レプリケーションマネージャ6aは、第1のレプリケーションエンジン50にコマンドを送信する(ブロック202)。(FlashCopyは、米国と外国におけるInternational Business Machines, Corp.の登録商標である。)仮想コピー又はFlashCopyは、コピー関係にあるトラックを示すビットマップを維持する。
【0057】
仮想コピー関係54で示される第1ジャーナル16aのトラックを更新する試みがなされると、仮想コピーのポイントインタイムにおけるトラックのデータは、新しいデータで更新される前に、第1ターゲットストレージ18aにコピーされる。第1レプリケーションエンジン6aは、仮想コピー関係にあるデータを示すために使用される仮想コピーデータ構造の作成に応答して、仮想コピーが完了したというメッセージを、第1レプリケーションマネージャ6aに送信する(ブロック204)。
【0058】
次に、第1レプリケーションマネージャ6aは、第1レプリケーションエンジン6aからの仮想コピー完了メッセージの受信に応答して、共通リンケージマネージャ4aにコミット完了を戻す(ブロック206)。
【0059】
図6、図7及び図8で説明された実施形態では、第1レプリケーションマネージャ6aは、共通リンケージマネージャ4a一般レプリケーションコマンド(例えば準備コマンド)を、整合性インターバルレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。この実施形態では、第1レプリケーションエンジンは、「ジャーナル」がコミットされるまで、再び準備することが可能な状態であることを示さない。
【0060】
図9、図10及び図11は、特定のタイムスタンプレプリケーション方法のために、共通リンケージマネージャ4a、4bからの一般レプリケーションコマンドを実施するために、第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。図9に関して、第2レプリケーションマネージャ8aは、第2ソースストレージ14bのボリュームが第2整合性グループ内に存在するように、共通リンケージマネージャ4aから一般準備コマンドを受信する(ブロック230)。
【0061】
これに応答して、第2レプリケーションマネージャ8aは、フリーズコマンドの時間から、又は共通リンケージマネージャ4aに照会することによって、フリーズポイントインタイム(整合性グループポイントインタイム)を得るために、特定フリーズコマンドを発行する(ブロック232)。この時点では、第2レプリケーションマネージャ8aは、第2レプリケーションエンジン52のためにフリーズコマンドを実行するための特定の操作を行わない。
【0062】
第2レプリケーションエンジン52は、第2ソースストレージ14bのための整合性グループのデータを第2ジャーナル16bに時間系列順のデータのタイムスタンプを付けてコピーし続ける(ブロック234)。よって、第2ジャーナル16bは、決定されたポイントインタイムにおける第2整合性グループ内のデータ、及び形成されている整合性グループについてのポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしているかもしれない。
【0063】
他の実施形態では、第2レプリケーションエンジン52は、共通リンケージマネージャ4aからの作成(又は準備/フリーズ)コマンドが該当しない場合、その作成(又は準備/フリーズ)コマンドを無視し得る。
【0064】
図10に関して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aから一般照会コマンドを受信する(ブロック250)。第2レプリケーションマネージャ8aが、第2ジャーナル16bが整合性グループ(フリーズ)ポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしたと判断した場合(ブロック252)、第2整合性グループのためにジャーナルすべきデータがもはや存在せず、第2レプリケーションマネージャ8aは、第2整合性グループが第2ジャーナル16bにジャーナルされたというメッセージを共通リンケージマネージャ4aに戻す(ブロック254)。
【0065】
第2レプリケーションマネージャ8aが、第2整合性グループのすべてのデータが第2ジャーナル16bにジャーナルされたと判断していない場合は(ブロック252)、第2レプリケーションマネージャ8aは、第2整合性グループがいつジャーナルされたかをチェックし続ける。
【0066】
図11に関して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aから一般コミットコマンドを受信する(ブロック270)。これに応答して、第2レプリケーションマネージャ8aは、第2レプリケーションエンジン52に、第2整合性グループのポイントインタイムにおける第2ジャーナル16bのデータを第2ターゲットストレージ18bにコピーさせるために、第2レプリケーションエンジン52にコマンドを送信する(ブロック272)。
【0067】
第2ジャーナル16bからのコミットを完了すると、第2レプリケーションエンジン52は、第2レプリケーションマネージャ8aに対して、整合性グループのポイントインタイムにおける第2ジャーナル16bのデータがコミットされたというメッセージを送信する(ブロック274)。これに応答して、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4aにコミット完了を戻す(ブロック276)。
【0068】
図9、図10、図11で説明された実施形態では、第2レプリケーションマネージャ8aは、共通リンケージマネージャ4a一般レプリケーションコマンドを、タイムスタンプレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。
【0069】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループ制御を提供することによって、共通リンケージマネージャ4a、4b及びレプリケーションマネージャ6a、6b、8a、8bは、異なるレプリケーション技術を使用する複数の異種レプリケーションエンジン全体にわたって整合性グループを形成することができる。これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備し、かつ共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するために異種レプリケーションエンジンを利用することができる。
【0070】
図12は、共通のポイントインタイムを有する第1ターゲットストレージ18a及び第2ターゲットストレージ18bのデータの整合性グループを、対応する第1ソースストレージ14a及び第2ソースストレージ14bに復元するための復元操作を共通リンケージマネージャ4a、4bが実行するための操作の一実施形態を示す。
【0071】
副共通リンケージマネージャ4bは、第1ターゲットストレージ18a及び第2ターゲットストレージ18bに維持されている整合性グループの復元ポイントインタイムを有する第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに復元コマンドを送信する(ブロック300)。
【0072】
復元コマンドに応答して、副マネージャ2bにおける第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bは、第1レプリケーションエンジン50及び第2レプリケーションエンジン52に、共通ポイントインタイムを有する第1及び第2整合性グループ内のデータを第1ジャーナル16a及び第2ジャーナル16bにコピーさせるために、第1副コントローラ10b及び第2副コントローラ12bに実装される第1レプリケーションエンジン50及び第2レプリケーションエンジン52それぞれに、ベンダ特定レプリケーションエンジンコマンドを送信する(ブロック302)。
【0073】
次に、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bは、第1ジャーナル16a及び第2ジャーナル16bからのデータを第1ソースストレージ14a及び第2ソースストレージ14bにコミットするために、それぞれのレプリケーションエンジン50及び52を制御し得る(ブロック304)。
【0074】
一実施形態では、主構成要素10a、12a、2aに故障がある場合に、主サイトから副サイトへのフェイルオーバーが実行され得る。このような場合、副構成要素2a、10b、12bは、主サイトがダウンしている間にアプリケーションI/Oを受信し得る。主サイトが回復すると、副サイトにおいて形成される最新の整合性グループに正ストレージ14、14bを復元するために、復元操作が実行され得る。
【0075】
図13、図14、図15A、図15B、図16A、図16B、図17、図18、図19A、図19B、図19C、図20A、図20B、図21A、図21B、図21C、図22A、図22Bは、主サイト及び副サイトにおける複数の異種レプリケーションストレージシステム全体にわたって整合性を維持するための操作の他の実施形態を示す。
【0076】
図13は、図1のコンピューティング環境の別の実施形態を示す。主マネージャ2aと副マネージャ2bはそれぞれ、図1に示されるのと同じ構成要素を含む。図1の第1レプリケーションマネージャ6aは第1主サイト・ストレージシステム20aに結合することができ、図1の第2レプリケーションマネージャ8aは第2主サイト・ストレージシステム21aに結合することができる。第1主サイト・ストレージシステム20aは、1つのグループを形成する複数の第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22nを含む。
【0077】
第2主サイト・ストレージシステム21aは、1つのグループを形成する複数の第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nを含む。図1の第1レプリケーションマネージャ6bは第1副サイト・ストレージシステム20bに結合することができ、図1の第2レプリケーションマネージャ8bは第2副サイト・ストレージシステム21bに結合することできる。第1副サイト・ストレージシステム20bは、1つのグループを形成する複数の第1副サイト・ストレージデバイス(FSSD1、FSSD2、・・・FSSDn)24a、24b・・・24nを含む。第2副サイト・ストレージシステム21bは、1つのグループを形成する複数の第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・SSSDn)25a、25b・・・25nを含む。第1主サイト・ストレージシステム20aと第1副サイト・ストレージシステム20bは、対応するボリュームを有し、各々がペアを形成する。
【0078】
第2主サイト・ストレージシステム21aと第2副サイト・ストレージシステム21bも、対応するボリュームを有し、各々がペアを形成する。主サイトと副サイトの間では、2つのシステムがグループ内で整合性を保つために異なるリモートコピー方法を使用するが、複数のグループの間で整合性を維持して、データレプリケーションが実行される。たとえ第1ストレージシステム20a、20bが共通リンケージマネージャによって制御されない場合でも、第1ストレージシステム20a、20bは、ホストから書き込みデータを受信し、ビットマップを使用して副リモートサイトにデータを送信し、かつ1つのボリュームからのデータを副サイトの別のボリュームに適用することによる、1回のサイクルを実施し得る。
【0079】
一方、共通リンケージマネージャによって制御されない場合には、第2ストレージシステム21a、21bは、主サイトと副サイトで異なるサイクルを実行し得る。このようにして、第1ストレージシステム20a、20bは、1回のサイクルで1世代のみを有するかもしれず、そして、共通リンケージマネージャによる位相制御なしで、異なるシステムが独立して操作される場合は、第2ストレージシステム21a、21bは、1回のサイクルで多数の世代を混合し得る。
【0080】
図14Aは、第1主サイト・ストレージデバイス(FPSD)22(例えば、図13のFPSD22a、22b・・・22nのうちの1つ)の構成要素を示す。各第1主サイト・ストレージデバイス(FPSD)22は、ストレージコントローラ(CTLFa)26aとストレージボリューム30とを含む。第1主サイト・ストレージデバイス(FPSD)22の操作を制御するストレージコントローラ(CTLFa)26aは、メモリ(MEMFa)27aと、メモリ27aに格納されたプログラムを実行するためのプロセッサ(PRCFa)28aと、2つのビットマップ31、32とを含む。メモリMEMFa27aは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム30は、複数のディスクドライブ(例えばハードディスクドライブ(HDD))から構成され得る。
【0081】
図14Bは、第1副サイト・ストレージデバイス(FSSD)24(例えば図13のFSSD24a、24b・・・24nのうちの1つ)の構成要素を示す。各第1副サイト・ストレージデバイス(FSSD)24は、ストレージコントローラ(CTLFb)26bとストレージボリューム33、34とを含み得る。第1副サイト・ストレージデバイス(FSSD)24の操作を制御するストレージコントローラ(CTLFb)26bは、メモリ(MEMFb)27bと、メモリ27bに格納されるプログラムを実行するためのプロセッサ(PRCFb)28bとを含む。
【0082】
メモリ(MEMFb)27bは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム33、34は、複数のディスクドライブ(例えばハードディスク装置(HDD))から構成され得る。ストレージボリューム30、34はホストからアクセス可能であり、ストレージボリューム33は、主サイトからデータを受信するために使用され得る。
【0083】
図15Aは、第2主サイト・ストレージデバイス(SPSD)23(例えば図13のSPSD23a、23b・・・23nのうちの1つ)の構成要素を示す。各第2主サイト・ストレージデバイス(SPSD)23は、ストレージコントローラ(CTLSa)29aとストレージボリューム35、36とを含む。第2主サイト・ストレージデバイス(SPSD)23の操作を制御するストレージコントローラCTLSa29aは、メモリMEMSa39aと、プログラムを実行するためのプロセッサPRCSa40aとを含む。メモリMEMSa39aは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム35、36は、複数のディスクドライブ(例えばHDD)から構成され得る。
【0084】
図15Bは、第2副サイト・ストレージデバイス(SSSD)25(例えば図13のSSSD25a、25b・・・25nのうちの1つ)の構成要素を示す。各第2副サイト・ストレージデバイス(SSSD)25は、ストレージコントローラCTLFb29bと、ストレージボリューム37、38とを含む。第2副サイト・ストレージデバイス(SSSD)25の操作を制御するストレージコントローラCTLFb29bは、メモリMEMFb39bと、メモリ39bに格納されるプログラムを実行するためのプロセッサPRCFb40bとを含む。
【0085】
メモリMEMSb39bは、プログラム、制御情報、及びキャッシュ用の読み込み/書き込みデータを格納する。ストレージボリューム37、38は、複数のディスクドライブ(例えばHDD)から構成され得る。ストレージボリューム35、38は、ホストからのアクセスのために使用することができ、ストレージボリューム36、37は、主サイトから副サイトへのデータを送受信するために使用され得る。
【0086】
図16Aは、主サイトの第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nと、副サイトの第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nとの、各ペアの操作流れを示す。第1主サイト・ストレージデバイス(FPSD)24a、24b・・・24nは、ホストから書き込みデータ(WR)を受信し(ブロック900)、そのストレージボリューム30(図14A)にデータを格納する。ビットマップ31(BM1)は、この書き込みを記録する(ブロック900)。書き込みデータは副サイトに送信され、ビットマップ31(BM1)の対応するビットはクリアされる(ブロック900)。
【0087】
副サイトでは、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、主サイトから送信される書き込みデータ(WR)を受信し(ブロック910)、ストレージボリューム33(図14B)に書き込みデータを格納する。第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nからの書き込みデータ送信操作、及び第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24n上のストレージボリューム33へのデータ受信及び格納操作が、システムの負荷に依存して継続される間、ホストからの書き込み(WR)は、第1レプリケーションマネージャ6aからのフリーズコマンドに応答して休止され(ブロック901)、FPSD22a、22b・・・.22nのビットマップ32(BM2)(図14A)が起動される。ビットマップ32(BM2)が起動された後で、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、第1レプリケーションマネージャ6a(PFRM)にフリーズ完了通知を送信する(ブロック901)。
【0088】
この完了通知によって、共通リンケージマネージャ4aは、すべての第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22n及び第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nが、フリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる(ブロック901)。
【0089】
次に(ブロック902)、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、第1レプリケーションマネージャ6a(PFRM)からマーカ付きのランコマンド(Run command)を受信する。マーカは、該当データを含むサイクル(世代)を示す情報を含む。マーカは、通し番号を含み得る。サイクル番号とは、共通リンケージマネージャ4a、4bが制御したサイクルをカウントした参照番号である。マーカは、2つのストレージシステム(例えばレプリケーションマネージャ)のサイクルを制御するために使用される通し番号を含み得る。
【0090】
このコマンドに応答して(ブロック902)、ホストからの書き込み操作(WR)が再開され、書き込みは今度はビットマップ31(BM1)の代わりにビットマップ32(BM2)に記録される。第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、ホストが再開された後で、第1レプリケーションマネージャ6a(PFRM)にラン完了通知を送信し(ブロック902)、次に、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、ビットマップ31(BM1)がクリアされるのを待つ(ブロック902)が、これは、ホスト書き込みが休止される前に受信されたすべての書き込みデータが副サイトに送信されていることを意味する。
【0091】
マーカはサイクル番号の情報を有するが、これは、第1レプリケーションマネージャ6a(PFRM)から受信され、主サイトから副サイトに送信される(ブロック902)。第1副サイト・ストレージデバイス(FSSD)24a、24・・・24nのプロセッサ26b(図14B)は、マーカの受信に応答して主サイトに確認を戻し(ブロック911)、第1主サイト・ストレージデバイス(FPSD)は、この確認を受信する(ブロック903)。
【0092】
第2ストレージシステム21a、21bと、他方の第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nとの間の整合性を維持するために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、ストレージボリューム33からのデータをストレージボリューム34に適用するために、第1レプリケーションマネージャ6b(SFRM)からのコミットコマンドを待つ。
【0093】
このようにして、第1レプリケーションマネージャ6bからのコミットコマンドに応答して、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nは、ストレージボリューム33のデータをストレージボリューム34にコピーする(ブロック912)。コピーが完了した後で、完了通知が主サイト(ブロック912)に送信されて(ブロック912)、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nは、2つのビットマップ31、32(BM1、BM2)(図14A)をマージし(ブロック904)、サイクルを終了する(CYCEND)。これらの操作(CYCSTからCYCENDまで)は、通常のシステム操作の間に連続して継続される。
【0094】
本実施形態では、第1ストレージシステム20aは、主サイトにおける2つのビットマップと1つのストレージボリュームとを使用する。第1ストレージシステム20bは、副サイトにおける2つのストレージボリュームを使用するが、ビットマップの代わりに2つのキャッシュスロット又はストレージボリューム(例えば主サイトで使用されるような)を使用してもよく、又は副サイトにおいて主サイトからのデータを受信するためのストレージボリューム33、34の代わりに2つのビットマップを使用してもよい。
【0095】
図16Bは、主サイトの第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nと、副サイトの第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nとの、各ペアの操作流れを示す。
【0096】
第2ストレージシステム21a、21bは、1回のサイクルでは作動しない。これは複数サイクル(ACT1、ACT2、ACT3)を有し、これらは独立して、かつ並行して作動できる。ACT1では、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、ホストから書き込みデータ(WR)を受信し、ストレージボリューム35にこのデータを格納する。ホストから受信した書き込みデータ(WR)を含むジャーナルデータと、順番又は書き込みに関する情報(例えば時間情報又は通し番号)は、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nのプロセッサ29aに制御されているストレージボリューム36に格納される(ブロック950)。
【0097】
第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに結合されたホストがメインフレームタイプである場合は、ホストから受信する書き込みデータに付加されるタイムスタンプは、時間情報のために使用され得る。第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに結合されたホストがオープンシステムタイプである場合は、時間情報はホストからの書き込みデータに付加されないかもしれず、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nの内部のタイマーが、時間情報を提供するために使用され得る。
【0098】
セカンドレプリケーションマネージャ8a(PSRM)からのフリーズコマンドに応答して、ホストからの書き込みが休止される(ブロック951)。ホストが休止された後で(ブロック951)、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nのコントローラCTLSa29aは、第2レプリケーションマネージャ8a(PSRM)にフリーズ完了通知を送信する。
【0099】
共通リンケージマネージャ4a(PFRM)は、第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22n及び第2主サイト・ストレージデバイス(SPSD1、SPSD2、・・・SPSDn)23a、23b・・・23nのすべてがフリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる(ブロック951)。
【0100】
次に、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、第2レプリケーションマネージャ8a(SFRM)からのマーカ付きのランコマンドを受信する(ブロック952)。このコマンドに応答して、ホストからの書き込み操作が再開され、第2レプリケーションマネージャ8a(PSRM)から受信されたマーカがストレージボリューム36に格納される(ブロック952)。マーカは、他のジャーナルデータとしての形態を調節するために修正され得る。
【0101】
次に、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、第2レプリケーションマネージャ8a(PSRM)にラン完了通知を送信する(ブロック952)。ACT1(950、951、952)の操作は、システム操作の間に連続して継続され得る。ACT2では、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトの対応する第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに読取コマンドを発行する(ブロック970)。読取コマンドは、他の操作(ACT1、ACT3)から独立して定期的に実行される。
【0102】
タイムラップは、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nの負荷に応じて修正され得る。読取コマンドに応答して、第2主サイトデバイス(SPSD)23a、23b・・・23nは、ストレージボリューム36(図15A)のジャーナルデータと、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nへのマーカを、副サイトに伝送する(ブロック960)。
【0103】
第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトから受信したジャーナルデータを第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nのストレージボリューム37(図15B)に格納する(ブロック971)。マーカも、第2主サイト・ストレージデバイス23a、23b・・・23n(SPSD)のストレージボリューム36から読み出され、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nのストレージボリューム37に格納され得る。ACT2(970、960、971)の操作は、システム操作の間に連続して継続され得る。
【0104】
ACT3では、第2レプリケーションマネージャ8b(SSRM)からのコミットコマンドに応答して、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、ジャーナルデータが形成されたときに書き込みデータに付加された時間情報又は通し番号を使用するジャーナルの順番で、ストレージボリューム37内のジャーナルデータをストレージボリューム38(図15B)に適用し得る(ブロック98)。ストレージボリューム37のジャーナルデータは、マーカ(第2レプリケーションマネージャ8b(SSRM)から受信されたマーカに一致する)を含むジャーナルデータが処理されるまで、ストレージボリューム38に適用される。
【0105】
ストレージボリューム37は、両方のボリュームのジャーナルデータが連続データレプリケーションのために使用できるように、ストレージボリューム36として時間関連情報を含み得るが、ストレージボリューム38は、ボリューム35の場合のように、書き込みデータのみを有するように修正され得る(ブロック980)。
【0106】
第1ストレージシステム20a、20bと、他方の第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nとの間の整合性を維持するために、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、ストレージボリューム37からのデータをストレージボリューム38に適用するために、第2レプリケーションマネージャ8b(SSRM)からのコミットコマンドを待つ。
【0107】
適用操作が完了された後で、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nは、主サイトに完了通知を送信する(ブロック980)。第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、適用完了通知を受信する(ブロック990)。ACT3(980、990)の操作は、システムがオンの間、連続して継続される。
【0108】
図17は、副サイトにおけるレプリケーションマネージャ6b及び8bを制御するために共通リンケージマネージャ4aによって実行される操作を示す。共通リンケージマネージャ4aが整合性グループを形成するために操作を開始すると(ブロック400)、共通リンケージマネージャ4aはマーカを初期化する(ブロック402)。
【0109】
共通リンケージマネージャ4aはマーカを増加させ(ブロック406)、主サイトの第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aにフリーズコマンドマーカを発行する(ブロック408)。共通リンケージマネージャ4aは、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aからのフリーズコマンドへの応答を待ち(ブロック410)、そして応答を受信すると、第1レプリケーションマネージャ6a及び第2レプリケーションマネージャ8aに対してマーカ付きのランコマンドを発行する(ブロック412)。
【0110】
ストレージシステムのフリーズコマンドに応答してホスト操作を休止し、かつストレージシステムへのマーカを実施することにより、使用されるストレージシステムは、ホストからの同じ時間情報を有さないメインフレームタイプ又はオープンタイプのいずれであってもよい。なぜならば、ストレージシステムがマーカを用いて共通位相(common phase)を実現できるからである。
【0111】
共通リンケージマネージャ4aは、次の整合性グループを形成するための許可について照会を行うために、第1及び第2レプリケーションマネージャに照会コマンドを発行する(ブロック414)。
【0112】
すべてのレプリケーションマネージャ6a及び8aが次の整合性グループを形成する許可をもって応じる場合は、ブロック406に戻って制御は進み、次の整合性グループを形成する。そうでない場合、許可が与えられなければ、ブロック412に戻って制御は進み、両方のレプリケーションマネージャ6a及び8aが次の整合性グループを形成するための許可をもって応じるのを待つ。
【0113】
図18は、副サイトのレプリケーションマネージャ6b及び8bを制御するために共通リンケージマネージャ4bによって実行される操作の一実施形態を示す。副共通リンケージマネージャ4bが整合性グループをコミットするための操作を開始すると(ブロック450)、共通リンケージマネージャ4bは、各第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24n及び各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nからの最新マーカについて照会するために、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに対して、照会コマンドを発行する(ブロック452)。
【0114】
共通リンケージマネージャ4bは、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bから最新マーカを受信するのを待ち(ブロック454)、複数の最新マーカの中の最小マーカを決定する(ブロック456)。最小マーカが変わった場合は(ブロック458)、共通リンケージマネージャ4bは、第1レプリケーションマネージャ6b及び第2レプリケーションマネージャ8bに対して、最小マーカ付きのコミットコマンドを発行する(ブロック460)。
【0115】
そうでない場合、最小マーカが変わっていなければ(ブロック458)、ブロック450へ戻って制御は進む。さらに、コミットコマンドを発行した後に(ブロック460)、共通リンケージマネージャ4bはブロック450に戻る。
【0116】
図19Aは、共通リンケージマネージャ4aからのフリーズコマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。主サイトの第1のレプリケーションマネージャ6aが共通リンケージマネージャ4aからのフリーズコマンドを受信すると(ブロック500)、第1レプリケーションマネージャ6aは、第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nの各コントローラCTLFa26aにフリーズコマンドを送信する(ブロック502)。
【0117】
このコマンドに応答して、コントローラCTLFa26aは、ソースストレージ30のボリュームへのI/Oを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第1レプリケーションマネージャ6aに送信する。第1レプリケーションマネージャ6aは、すべてのフリーズ完了メッセージが第1レプリケーションマネージャ6aによって受信された後に、共通リンケージマネージャ4aにフリーズ完了メッセージを戻す(ブロック504)。
【0118】
図19Bは、共通リンケージマネージャ4aからのランコマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。主サイトの第1レプリケーションマネージャ6aが共通リンケージマネージャ4aからのマーカ付きのランコマンドを受信すると(ブロック530)、第1レプリケーションマネージャ6aは、ボリュームへのI/Oの休止及びソースストレージ30におけるホストI/O操作の再開を行わないように、第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nにコマンドを送信する(ブロック532)。
【0119】
第1レプリケーションマネージャ6aは、すべてのラン完了メッセージが第1レプリケーションマネージャ6aによって受信された後で、共通リンケージマネージャ4aにラン完了を戻す(ブロック534)。
【0120】
図19Cは、共通リンケージマネージャ4aからの照会コマンドを処理するために、主サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。共通リンケージマネージャ4aから照会コマンドを受信すると(ブロック550)、主サイトの第1レプリケーションマネージャ6aは、前の整合性グループ(がコミットしたか否かに関する情報を得るために、各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nに照会コマンドを送信する(ブロック552)。
【0121】
各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nが、ブロック912で示されるように副サイトからコピー完了を受信し、かつブロック904で2つのビットマップ(BM1、BM2)31、32(図14A)をマージした場合は、各第1主サイト・ストレージデバイス(FPSD)26a、26b・・・26nは、グループがコミットされたことの確認を戻し、また、2つのビットマップ31、32をマージしなかった場合は、グループがコミットされなかったことを戻し、あるいは、ブロック904で2つのビットマップ(BM1、BM2)をマージするまで、応答を戻さない。
【0122】
第1のレプリケーションマネージャ6aは、すべての第1主サイト・ストレージデバイス(FPSD)22a、22b・・・22nからのコミット及び照会完了の収集された結果を、共通リンケージマネージャ4aに戻す(ブロック554)。
【0123】
よって、すべての第1主サイト・ストレージデバイス(FPSD1、FPSD2、・・・FPSDn)22a、22b・・・22nがコミットされない限り、第1レプリケーションマネージャ6aは、前の整合性グループがコミットされていないということを、共通リンケージマネージャに戻す。
【0124】
図20Aは、共通リンケージマネージャ4bからの照会コマンドを処理するために、副サイトの第1レプリケーションマネージャ6aによって実行される操作の一実施形態を示す。副サイトの第1レプリケーションマネージャ6bが共通リンケージマネージャ4bからの照会コマンドを受信すると(ブロック600)、副サイトの第1レプリケーションマネージャ6bは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nに照会コマンドを送信する(ブロック602)。
【0125】
第1副サイト・ストレージデバイス(FSSD1、FSSD2、・・・FSSDn)24a、24b・・・24nはそれぞれ、第1レプリケーションマネージャ6bからのこの照会コマンドに応答して最大マーカ値を返信する。
【0126】
第1ストレージシステム20a、20bが1回のサイクルで操作されるので、各第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nには1つのマーカ値だけが存在する。第1レプリケーションマネージャ6bは、すべての第1副サイト・ストレージデバイス(FSSD、FSSD2、・・・、FSSDn)24a、24b・・・24nから受信された複数の最大マーカの中の最小マーカと照会完了とを、共通リンケージマネージャ4bに戻す(ブロック604)。
【0127】
図20Bは、共通リンケージマネージャ4bからのコミットコマンドを処理するために、副サイトの第1レプリケーションマネージャ6bによって実行される操作の一実施形態を示す。副サイトの第1のレプリケーションマネージャ6bが共通リンケージマネージャ4bからコミットコマンドを受信すると(ブロック630)、第1レプリケーションマネージャ6bは、ストレージボリューム33からストレージボリューム34への仮想コピーを作成するために、第1副サイト・ストレージデバイス(FSSD)24a、24b・・・24nにコマンドを送信する(ブロック632)。
【0128】
このコピーは、FlashCopyを使用して実行され得る。第1レプリケーションマネージャ6bは、次に、すべてのコミット完了メッセージが第1レプリケーションマネージャ6bによって受信された後で、共通リンケージマネージャにコミット完了を戻す(ブロック634)。
【0129】
図21Aは、共通リンケージマネージャ4aからのフリーズコマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。主サイトの第2レプリケーションマネージャ8aが共通リンケージマネージャ4aからフリーズコマンドを受信すると(ブロック650)、第2レプリケーションマネージャ8aは、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nにフリーズコマンドを送信する(ブロック652)。フリーズコマンドに応答して、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、ソースストレージ35(図15A)のボリュームへのI/Oを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第2レプリケーションマネージャ8aに送信する。
【0130】
第2レプリケーションマネージャ8aは、すべてのフリーズ完了メッセージが第2レプリケーションマネージャ8aによって受信された後で、共通リンケージマネージャ4aにフリーズ完了を戻す(ブロック654)。
【0131】
図21Bは、共通リンケージマネージャ4aからのマーカ付きのランコマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。主サイトの第2レプリケーションマネージャ8aが共通リンケージマネージャ4aからマーカ付きのランコマンドを受信すると(ブロック680)、第2レプリケーションマネージャ8aは、ボリュームへのI/Oを休止及びソースストレージ35(図15A)におけるホストI/O操作の再開を行わないように、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nにコマンドを送信する(ブロック682)。
【0132】
第2レプリケーションマネージャ8aは、すべてのラン完了メッセージが第2レプリケーションマネージャ6aによって受信された後で、共通リンケージマネージャ4aにラン完了を戻す(ブロック684)。
【0133】
図21Cは、共通リンケージマネージャ4aからの照会コマンドを処理するために、主サイトの第2レプリケーションマネージャ8aによって実行される操作の一実施形態を示す。共通リンケージマネージャ4aからの照会コマンドを受信すると(ブロック690)、主サイトの第2レプリケーションマネージャ8aは、前の整合性グループがコミットしたか否かに関する情報を得るために、第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nに照会コマンドを送信する(ブロック692)。
【0134】
各第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nが、ブロック990(図16B)で示されるように副サイトから適用完了(Apply complete)を受信した場合は、各第2主サイト・ストレージデバイス(SPSD)23a、23b・・・23nは、該当グループがコミットされたことを戻し、また、副サイトからコピー完了を受信していない場合は、グループがコミットされていないことを戻し、あるいは、副サイトから完了メッセージを受信するまでは、応答を戻さない。
【0135】
第2レプリケーションマネージャ8aは、コミット及び照会完了の収集された結果を、共通リンケージマネージャ4aに戻す(ブロック692)。
【0136】
よって、すべての第2主サイト・ストレージデバイス(SPSD、SPSD2、・・・、SPSDn)23a、23b・・・23nがコミットされない限り、第2レプリケーションマネージャ8aは、前の整合性グループがコミットされていないことを、共通リンケージマネージャに戻す。
【0137】
図22Aは、共通リンケージマネージャ4bからの照会コマンドを処理するために、副サイトの第2レプリケーションマネージャ8bによって実行される操作の一実施形態を示す。副サイトの第2レプリケーションマネージャ8bが共通リンケージマネージャ4bからの照会コマンドを受信すると(ブロック700)、副サイトの第2レプリケーションマネージャ8bは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nに照会コマンドを送信する(ブロック702)。
【0138】
第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・、SSSDn)25a、25b・・・25nはそれぞれ、第2レプリケーションマネージャ8bからのこの照会コマンドに応答して最大マーカ値を返信する。ACT1、ACT2、ACT3が独立したループであるため、第2ストレージシステム21a、21bは、システム内に複数の世代を可能にする。
【0139】
よって、複数のマーカが、各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25n内に存在し得る。特定の実施形態では、第1ストレージシステム20a、20bが1回のサイクルで作動し、かつ第1及び第2レプリケーションマネージャからの主サイト及び副サイト各々からのコマンドが、共通レプリケーションマネージャによってリンクされるため、本実施形態では、各第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nには1つのマーカだけが存在することになる。ACT1、ACT2、ACT3が、異なるサイクルを有するストレージシステムを接続する共通リンケージマネージャによってリンクされない場合、すなわち、システムがそれ自体単独で機能する場合、ACT1、ACT2、ACT3は、独立したループを含み得る。異種レプリケーションシステムの両方が1回のサイクルで作動せず、かつシステム内に多数のループを有する場合、各第2副サイト・ストレージデバイス(SSSD1、SSSD2、・・・SSSDn)25a、25b・・・25nに複数のマーカが存在し得る。第2レプリケーションマネージャ8bは、すべての第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nによって受信された複数の最大マーカの中の最小マーカ及び照会完了を、共通リンケージマネージャ4bに戻す(ブロック704)。
【0140】
共通リンケージマネージャは、第2ストレージシステム21a、21bがデータをストレージボリューム38に適用する準備ができた時点を決定するために、最小マーカと照会完了通知を使用する。
【0141】
図22Bは、共通リンケージマネージャ4bからのコミットコマンドを処理するために、副サイトの第2レプリケーションマネージャ8bによって実行される操作の一実施形態を示す。
【0142】
副サイトの第2レプリケーションマネージャ6bが共通リンケージマネージャ4bからマーカ付きコミットコマンドを受信すると(ブロック730)、コミットコマンドと共に受信されたマーカと同じ価値を有するマーカを含むジャーナルデータが処理されるまでストレージボリューム37をストレージボリューム38に適用するために、第2レプリケーションマネージャ8bは、第2副サイト・ストレージデバイス(SSSD)25a、25b・・・25nにマーカ付きコミットコマンドを送信する(ブロック732)。
【0143】
これによって、2つの異種レプリケーションシステムの間の整合性を維持することができる。本実施形態では、第1ストレージシステム20a、20bが1回のサイクルで作動するので、第2ストレージシステム21a、21bも、1回のサイクルとして作動するように、共通リンケージマネージャによって制御され得る。よって、ジャーナルデータには1つのマーカだけが存在し得るが、それは、ホストが休止される前の最新時間情報を有する最新のジャーナルデータとなる。
【0144】
第2レプリケーションマネージャ8bは、すべてのコミット完了メッセージが第2レプリケーションマネージャ8bによって受信された後で、共通リンケージマネージャ4bにコミット完了を戻す(ブロック734)。
【0145】
本実施形態では、マーカはランコマンドに応答して実施される。しかし、特定の実施形態では、マーカが第1ストレージシステムと第2ストレージシステムとで同じタイミングサイクルで実施される場合は、マーカはランコマンドに応答して実施される必要がなく、その代わりに、フリーズコマンドに応答して実施され得る。
【0146】
さらに、マーカ値は、主マネージャからのフリーズコマンド及びランコマンドの両方と共に送信されてもよく、マーカ値が一致した後で、当該マーカ値をインストールし得る。マーカ値が一致しない場合は、レプリケーションマネージャにエラーメッセージが送信され得る。マーカ値の2倍のマーカを送信することによって、マーカが受信されたという追加の保証を提供する。
【0147】
特定の実施形態では、位相はホストのレプリケーションマネージャによって制御されるので、各ストレージシステム内の主サイト及び副サイトにおけるストレージデバイスは、各システム内の整合性を維持することを要求されない。各ストレージシステム内のすべてのストレージデバイスは同等であってもよく、またストレージシステム内の複数のストレージデバイスの間でマスタ/スレーブ関係がなくてもよい。
【0148】
上述の実施形態はさらに、複数のストレージシステム内の複数のストレージデバイスの間でマスタ/スレーブ関係を有するストレージシステムにも適用できる。各サイトのストレージシステム内のスレーブストレージデバイスを制御するマスタストレージデバイスがある場合には、レプリケーションマネージャはマスタストレージデバイスのみと通信し、マスタストレージデバイスはスレーブストレージデバイスにコマンド及び照会を送信し、レプリケーションマネージャにすべてのストレージデバイスの代表的メッセージを返信する。
【0149】
上述の実施形態では、主サイト及び副サイトの共通リンケージマネージャによってリンクされる2つのレプリケーションマネージャを通して複数のストレージシステムの位相を制御することによって、異なるレプリケーション方法を有する複数のストレージシステムの間の整合性が維持される。これにより、コンピューティング環境のより高い信頼性が可能となる。なぜならば、異種システムは同種システムと比較して比較的より高い信頼性を有するからである。
【0150】
上述の実施形態では、より多くの世代を有するシステムは、1つの世代サイクルを有するシステムとして作動するように修正される必要はない。例えば、2つの異種システムが各システム内に複数の世代を有する場合、これらのシステムは、1回のサイクルで複数の世代を可能にすることによって作動し、その一方で、位相は、1回のサイクルで最も少ない数の世代を有するシステムによって制御される。
【0151】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループタイムスタンプを提供することによって、共通リンケージマネージャ4a、4b及びレプリケーションマネージャ6a、6b、8a、8bは、異なるレプリケーション技術を使用する複数のベンダ特定レプリケーションエンジン全体にわたって整合性グループを形成することができる。
【0152】
これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備すること、及び、共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するため、そして異なるレプリケーション技術及び方法を使用し得るレプリケーションエンジンによって形成された整合性グループにデータを復元するために、異種レプリケーションエンジンを利用することが可能となる。
【0153】
追加の実施形態の詳細
上述の操作は、ソフトウェア、ファームウェア、ハードウェア、又はこれらのあらゆる組合せを製造するための標準的プログラミング及び/又はエンジニアリング技術を使用する方法、装置、又は製品として実施され得る。
【0154】
上述の操作は、「コンピュータ可読媒体」で維持されるコードとして実施され得るが、この場合、プロセッサがコンピュータ可読媒体からコードを読み取り、かつ実行し得る。
【0155】
コンピュータ可読媒体は、磁気記憶媒体(例えばハードディスクドライブ、フロッピーディスク、テープなど)、光記憶装置(CD−ROM、DVD、光ディスクなど)、揮発性及び不揮発性メモリ装置(例えばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュメモリ、ファームウェア、プログラム可能論理など)などの媒体を含み得る。
【0156】
上述の操作を実施するコードはさらに、ハードウェアデバイス(例えば集積回路チップ、プログラマブルゲートアレイ(PGA)、特定用途向けIC(ASIC)など)に実装されたハードウェア論理で実施され得る。またさらに、上述の操作を実施するコードは、「伝送信号」で実施され得るが、この場合、伝送信号は、空間を通して、又は伝送媒体(例えば光ファイバ、銅線など)を通して伝播し得る。
【0157】
コード又は論理が符号化された伝送信号は、無線信号、衛星通信、電波、赤外線信号、ブルートゥースなどをさらに含み得る。コード又は論理が符号化された伝送信号は、伝送ステーションによって伝送され、かつ受信ステーションによって受信されることができるが、この場合、伝送信号に符号化されたコード又は論理は復号化され、かつ受信及び伝送ステーション又はデバイスにおけるハードウェア又はコンピュータ可読媒体に格納され得る。
【0158】
「製品」は、コードが実施され(implemented)得るコンピュータ可読媒体、ハードウェア論理、及び/又は伝送信号を含む。操作について説明した実施形態を実施するコードが符号化されるデバイスは、コンピュータ可読媒体又はハードウェア論理を含み得る。当然のことながら、当業者には明らかなように、本発明の範囲から逸脱することなく、この構成に多くの修正を行うことができ、上記製品は、当技術分野で周知の、適切な情報を有する媒体を含み得る。
【0159】
主構成要素(例えばリンケージマネージャ4a、レプリケーションマネージャ6a、8aなど)に関して説明した操作は、対応する副構成要素によって実行され得る。
【0160】
図23は、図1のマネージャ2a、2b及びコントローラ10a、10b、12a、12bのために実現され得るコンピュータアーキテクチャ800の1つのインプリメンテーションを示す。アーキテクチャ800は、プロセッサ802(例えばマイクロプロセッサ)と、メモリ804(例えば揮発性メモリ装置)と、ストレージ806(例えば不揮発性ストレージ(例えば磁気ディスクドライブ、光ディスクドライブ、テープ装置など))とを含み得る。
【0161】
ストレージ806は、内部ストレージデバイス、又は付加されたもしくはネットワークアクセス可能なストレージを備え得る。ストレージ806のプログラム(オペレーティングシステム808、デバイスドライバ及びアプリケーションプログラムを含む)は、メモリ804にロードされ、当技術分野で周知の態様でプロセッサ802によって実行される。アーキテクチャは、ネットワークとの通信を可能にするためのネットワークカード810をさらに含む。
【0162】
入力装置812は、ユーザ入力をプロセッサ812に提供するために使用され、キーボード、マウス、ペン・スタイラス(pen-stylus)、マイク、接触感応性スクリーン(touch sensitive display screen)、又は当技術分野で周知のその他あらゆる起動又は入力メカニズムを含み得る。出力装置814は、プロセッサ812又はその他の構成要素(例えば表示モニタ、プリンタ、ストレージなど)から伝送される情報をレンダリングすることができる。
【0163】
「ある実施形態」、「実施形態」、「複数の実施形態」、「前記実施形態」、「前記複数の実施形態」、「1つ以上の実施形態」、「いくつかの実施形態」、及び「一実施形態」という用語は、別段の明示的な特定がなされない限り、「本発明の1つ以上の(但し、すべてでない)実施形態」を意味する。
【0164】
「を含む」、「を備える」、「を有する」、及びそのバリエーションの用語は、別段の明示的な特定がなされない限り、「を含むがそれに限定されない」ということを意味する。
【0165】
項目を列挙したリストは、別段の明示的な特定がなされない限り、項目のいずれか又はすべてが互いに排他的であることを意味しない。
【0166】
「a」、「an」、「the」の語は、別段の明示的な特定がなされない限り、「1つ以上」を意味する。
【0167】
要素の変数を表すために使用されるときの変数「n」は、要素の事例のあらゆる数を示すことができ、そして、異なる要素で使用された場合、又は同じ要素の異なる事例で使用された場合に、異なる整数を示し得る。
【0168】
互いに通信する装置は、別段の明示的な特定がなされない限り、互いに連続して通信する必要はない。さらに、互いに通信する装置は、1つ以上の仲介(intermediaries)を通して直接的又は間接的に通信し得る。
【0169】
互いに通信するいくつかの構成要素を有する実施形態の説明は、すべてのこのような構成要素が必要とされることを意味しない。逆に、本発明の幅広い種類の可能性がある実施形態を示すために、様々なオプションの構成要素が説明されている。
【0170】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどが連続した順序で記述され得るが、このようなプロセス、方法、アルゴリズムは交互の順番で作用するように構成され得る。言い換えると、記述され得るあらゆるステップのシーケンス又は順序は、ステップがその順序で実行されなければならないという要件を必ずしも示すわけではない。本明細書で説明されているプロセスのステップは、実際的にあらゆる順序で実行され得る。さらに、いくつかのステップは同時に実行され得る。
【0171】
1つの装置又は製品が本明細書で説明されるとき、1つの装置/製品の代わりに複数の装置/製品(それらが協動するか否かに拘わらず)を使用できることは明らかである。同様に、複数の装置又は製品が本明細書で説明される場合(協動するか否かに拘わらず)、複数の装置又は製品の代わりに1つの装置/製品を使用することができ、又は示された数の装置又はプログラムの代わりに、異なる数の装置/製品を使用することができることは明らかである。
【0172】
装置の機能性及び/又は特徴は、このような機能性/特徴を有すると明示的に説明されていない1つ以上の他の装置によって、その他の態様で具現化され得る。よって、本発明の他の実施形態は、装置自体を含む必要はない。
【0173】
図4で示される操作は、特定の順序で起こる特定のイベントを示す。別の実施形態では、特定の操作は異なる順序で実行され、修正され、又は除去され得る。さらに、上述された論理にステップを追加することができるが、当該ステップは、依然として上述の実施形態に一致し得る。
【0174】
さらに、本明細書で説明された操作は連続して生じるかもしれず、又は、特定の操作は並行に処理され得る。またさらに、操作は1つの処理装置によって、又は複数の分散処理装置によって実行され得る。
【0175】
本発明の様々な実施形態についての前述の説明は、例示と説明のために提示された。これは、網羅的(exhaustive)であること、又は本発明を開示された正確な形態に制限することを意図したものでない。上記教示を踏まえて、多くの修正及び変更が可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された請求の範囲によって制限されることが意図されている。
【0176】
上記の明細書、実施例、及びデータは、本発明の構成の製造と使用についての完全な説明を提供する。本発明の精神及び範囲から逸脱することなく、本発明の多くの実施形態をなすことができるため、本発明は本明細書に添付される請求の範囲に存在する。
【特許請求の範囲】
【請求項1】
共通リンケージマネージャと、第1レプリケーションマネージャと、第2レプリケーションマネージャとを備え、かつ第1ターゲットストレージ、第1ソースストレージ、第2ターゲットストレージ、及び第2ソースストレージと通信する製品であって、前記共通リンケージマネージャ、第1レプリケーションマネージャ、及び第2レプリケーションマネージャが操作を実行し、
前記操作は、
前記共通リンケージマネージャによって、第1レプリケーションマネージャ及び第2レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行することであって、前記第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、第1及び第2レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからのデータの第1整合性グループ及び第2整合性グループをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを、第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2のレプリケーションマネージャに応答して、前記第1ジャーナル及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを、前記第1及び第2ターゲットストレージそれぞれにコミットすることと、
を含む、製品。
【請求項2】
前記操作が、前記共通リンケージマネージャによって、前記第1及び第2ジャーナルの第1及び第2整合性グループを第1及び第2ターゲットストレージそれぞれにコミットする前記第1及び第2レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第1及び第2整合性グループを形成するために、前記第1及び第2レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行することをさらに含む、請求項1に記載の製品。
【請求項3】
前記操作は、前記共通リンケージマネージャによって、前記整合性グループのために前記第1及び第2レプリケーションマネージャにコミットコマンドを発行することをさらに含み、前記第1及び第2レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第1及び第2整合性グループ内のデータをそれぞれコミットし、かつ前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なる第1及び第2コミット技術を使用する、請求項1に記載の製品。
【請求項4】
前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項1に記載の製品。
【請求項5】
前記操作が、
前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに対してコミットコマンドを伝えることと、
をさらに含む、請求項1に記載の製品。
【請求項6】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記操作が、
第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつポイントインタイムにおいて整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするために、フリーズ操作を実行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーする操作を実行することと、
第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ソースストレージへの更新(前記整合性グループのポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項1に記載の製品。
【請求項7】
前記操作が、
前記第1コミット技術を使用する前記第1レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされることと、
前記第2コミット技術を使用する前記第2レプリケーションマネージャによって、前記コミットコマンドに応答して、ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項6に記載の製品。
【請求項8】
前記操作が、
前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたか否かを判断することと、
前記第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断することと、
をさらに含み、
前記コミット操作が、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたとの判断に応答して、かつ前記第2ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第1及び第2レプリケーションマネージャによって実行される、請求項6に記載の製品。
【請求項9】
前記第1及び第2レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える、請求項1に記載の製品。
【請求項10】
前記第1及び第2レプリケーションマネージャが主システム(に位置し、
前記操作が、
前記共通リンケージマネージャによって、副システムにおける第1及び第2レプリケーションマネージャに復元コマンドを送信することと、
前記副システムにおける前記第1及び第2レプリケーションマネージャによって、前記復元コマンドに応答して、前記第1及び第2ターゲットストレージの前記第1及び第2整合性グループからのデータを、前記第1及び第2ジャーナルそれぞれにコピーすることと、
前記第1及び第2ソースストレージの前記データを前記第1及び第2整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副システムにおける前記第1及び第2レプリケーションマネージャによって、前記第1及び第2ジャーナルの前記第1及び第2整合性グループからのデータを、前記第1及び第2ソースストレージそれぞれにコミットすることと、
をさらに含む、請求項1に記載の製品。
【請求項11】
前記復元コマンドが、前記正サイトにおける故障に応答して送信され、
前記操作が、
前記共通リンケージマネージャによって、前記主サイトから前記副サイトへのフェイルオーバーを実行することをさらに含み、
申込者が、前記フェイルオーバーに応答して入出力(I/O)要求を前記第1及び第2ターゲットストレージに提出する、請求項10に記載の製品。
【請求項12】
前記第1及び第2レプリケーションマネージャが、第1及び第2レプリケーションエンジン特定コマンドを前記第1及び第2レプリケーションエンジンそれぞれに伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項1に記載の製品。
【請求項13】
第1ターゲットストレージと、第1ソースストレージと、第2ターゲットストレージと、第2ソースストレージと、第1及び第2レプリケーションエンジンと通信するシステムであって、
前記第1レプリケーションエンジンと通信する第1レプリケーションマネージャと、
前記第2レプリケーションエンジンと通信する第2レプリケーションマネージャと、
前記第1及び第2レプリケーションマネージャと通信する共通リンケージマネージャであって、前記第1及び第2レプリケーションマネージャに対して整合性グループ作成準備コマンドを発行する、共通リンケージマネージャと、
を備えるシステムであり、
前記第1及び第2レプリケーションマネージャが、
前記第1及び第2レプリケーションマネージャによって、前記共通リンケージマネージャからの前記整合性グループ作成コマンドに応答して、前記第1ソースストレージ及び前記第2ソースストレージにデータの整合性グループを形成し、前記第1ターゲットストレージ及び前記第2ターゲットストレージそれぞれにコピーするために、前記第1及び第2レプリケーションエンジンに対して整合性グループコマンドを発行すること、
前記第1及び第2レプリケーションマネージャによって、整合性グループ作成コマンドに応答して、ポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからの第1整合性グループ及び第2整合性グループ内のデータをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
前記第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2レプリケーションマネージャに応答して、前記第1及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを第1及び第2ターゲットストレージそれぞれにコミットすることと、
を含む操作を実行する、システム。
【請求項14】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項13に記載のシステム。
【請求項15】
前記共通リンケージマネージャが、前記第1及び第2レプリケーションマネージャに対して照会コマンドを発行し、
前記第1及び第2レプリケーションマネージャが、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データが前記第1及び第2ジャーナルにそれぞれあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データが前記第1及び第2ジャーナルにそれぞれあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
をさらに実行し、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャがさらに、前記第1及び第2レプリケーションマネージャにコミットコマンドを伝える、請求項13に記載のシステム。
【請求項16】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記第1レプリケーションマネージャが、
前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするための、フリーズ操作を実行するために、第1レプリケーション技術を使用することと、
前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするための操作を実行するために、前記第1レプリケーション技術を使用すること、
をさらに実行し、
前記第2レプリケーションマネージャは、前記第2ソースストレージへの更新(前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーするための操作を実行するために、第2レプリケーション技術を使用する、請求項13に記載のシステム。
【請求項17】
前記第1レプリケーションマネージャが、前記第1コミット技術を使用し、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成する操作をさらに実行し、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされ、かつ
前記第2レプリケーションマネージャが、前記第2コミット技術を使用し、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行する、請求項16に記載のシステム。
【請求項18】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2レプリケーションエンジンそれぞれに第1及び第2レプリケーションエンジン特定コマンドを伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナル内の前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項13に記載のシステム
【請求項19】
第1レプリケーションマネージャ及び第2レプリケーションマネージャに整合性グループ作成準備コマンドを発行することであって、前記第1及び第2レプリケーションマネージャが、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、前記第1及び第2レプリケーションエンジンそれぞれに整合性グループ作成コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからの第1整合性グループ及び第2整合性グループ内のデータをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループの前記データを第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
前記第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2レプリケーションマネージャに応答して、前記第1及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを前記第1及び第2ターゲットストレージそれぞれにコミットすること、
を含む方法。
【請求項20】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項19に記載の方法。
【請求項21】
前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データがそれぞれ第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記第1及び第2レプリケーションマネージャにコミットコマンドを伝えることと、
をさらに含む、請求項19に記載の方法。
【請求項22】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、前記方法が、
第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている、前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするための、フリーズ操作を実行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするための操作を実行することと、
前記第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ソースストレージへの更新(前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項19に記載の方法。
【請求項23】
第1コミット技術を使用する前記第1レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルのデータの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされることと、
第2コミット技術を使用する前記第2レプリケーションマネージャによって、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項22に記載の方法。
【請求項24】
前記第1及び第2レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを含む、請求項19に記載の方法。
【請求項25】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2レプリケーションエンジンそれぞれに、第1及び第2レプリケーションエンジン特定コマンドを伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットする操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項19に記載の方法。
【請求項26】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御する方法であって、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む前記第1ストレージシステムで、ホスト書き込みを受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトへの前記ホスト書き込みを送信することと、
第1マネージャからの第1コマンドに応答して、前記第1ストレージシステムにおけるホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおけるホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを、前記第1ストレージシステムによって受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトへと前記マーカを送信することと、
前記第1ストレージシステムによって、前記マーカを第2マネージャに送信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトに前記ホスト書き込みを適用することと、
前記ホスト書き込みの適用を完了した後に、前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを前記第1マネージャに送信することと、
を含む、方法。
【請求項27】
前記ホスト書き込み操作が、前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおいて再開され、かつ前記第2メッセージが、前記第1マネージャからの第3コマンドの受信に応答して、前記第1マネージャに送信される、請求項26に記載の方法。
【請求項28】
前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記第2マネージャに前記マーカを送信し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項26に記載の方法。
【請求項29】
前記第1ストレージシステムが複数の第1ストレージデバイスを備え、かつ第2ストレージシステムが複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラと記憶ボリュームとを含み、前記第1ストレージデバイスのそれぞれが、前記第1ストレージシステムの操作を実行し、前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項26に記載の方法。
【請求項30】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション方法を実施する、請求項26に記載の方法。
【請求項31】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項25に記載の方法。
【請求項32】
前記第1ストレージシステムによって、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと、
ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記第1マネージャによって前記マーカを増加させることと、
をさらに含む、請求項31に記載の方法。
【請求項33】
前記第1ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することと、
前記第2ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第2タイミングを決定することと、
をさらに含む、請求項32に記載の方法。
【請求項34】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャと通信する第1ストレージシステムを提供することであって、前記第1及び第2ストレージシステムはそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを備え、前記第1及び第2ストレージデバイスのストレージデバイスはそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージシステム及び前記第2ストレージシステムは、整合性を維持するために異なるレプリケーション方法を適用することと、
前記第1ストレージデバイスでホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを前記第2ストレージデバイスに送信することと、
前記第1マネージャから前記第1ストレージデバイスへの第1コマンドを受信した後で、前記第1ストレージデバイスにおいてホスト書き込み操作を休止することと、
前記第1マネージャから前記第1ストレージデバイスへの第2コマンドを受信した後で、前記第1ストレージデバイスにおいてホスト書き込み操作を再開することと、
前記第1マネージャから前記第1ストレージデバイスへのマーカを受信することと、
前記第1ストレージデバイスによって、前記第2ストレージデバイスに前記マーカを送信することと、
前記第2ストレージデバイスによって、前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャから前記第2ストレージデバイスへの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第2ストレージデバイスから前記第1ストレージデバイスへのメッセージを送信することと、
前記第1ストレージデバイスによって、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャに送信することと、
を含む、方法。
【請求項35】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作の再開に応答して、前記第1マネージャに第2完了メッセージを送信し、かつ
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す、前記複数の第1ストレージデバイスから送信された前記情報に応答して、前記マーカを増加させる、請求項34記載の方法。
【請求項36】
前記第1ストレージシステムが、前記第1ストレージデバイスによる前記複数の第1ストレージデバイスから前記第2ストレージデバイスへの前記ホスト書き込み操作に対応する前記データの送信のタイミングを決定し、かつ
前記第2ストレージシステムが、前記第2ストレージデバイスによる前記第1ストレージデバイスから前記第2ストレージデバイスへの前記ホスト書き込み操作に対応する前記データの送信のタイミングを決定する、請求項35に記載の方法。
【請求項37】
整合性グループを作成するためのシステムであって、
第1及び第2マネージャと、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む、第1ストレージシステムと、
第2ストレージシステムと、
操作を実行するために、前記第1ストレージシステムによって実行されるコードと
を含むシステムであって、前記操作は、
ホスト書き込みを受信することと、
前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記ホスト書き込みを送信することと、
前記第1マネージャからの第1コマンドに応答して、ホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、ホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを受信することと、
前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記マーカを送信することと、
前記第2マネージャに前記マーカを送信することと、
前記ホスト書き込みを前記第1ストレージシステム・副サイトに適用することと、
前記ホスト書き込みの適用を完了した後で、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを、前記第1マネージャに送信することと、
を含む、システム。
【請求項38】
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおいて前記ホスト書き込み操作が再開され、かつ前記第1マネージャからの第3コマンドの受信に応答して、前記第2メッセージが前記第1マネージャに送信される、請求項37に記載のシステム。
【請求項39】
前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記マーカを前記第2マネージャに送信し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項37に記載のシステム。
【請求項40】
前記第1ストレージシステムが、複数の第1ストレージデバイスを備え、かつ前記第2ストレージシステムが、複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージのそれぞれが、前記第1ストレージシステムの操作を実行し、かつ前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項37に記載のシステム。
【請求項41】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション方法を実施する、請求項37に記載のシステム。
【請求項42】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項37に記載のシステム。
【請求項43】
前記第1ストレージシステムによって実行される前記コードによって実行される前記操作が、
前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと
をさらに含み、ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記第1マネージャが前記マーカを増加させる、請求項42に記載のシステム。
【請求項44】
前記第1ストレージシステムによって実行される前記コードによって実行される前記操作は、
前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することをさらに含み、前記第2ストレージシステムが、前記第2ストレージシステムにホスト書き込みを送信する第2タイミングを決定する、請求項43に記載のシステム。
【請求項45】
第1及び第2マネージャと通信するシステムであって、
第1ストレージシステムと、
第2ストレージシステムとを備え、
前記第1ストレージシステムが、前記第2ストレージシステムに整合性グループを作成するために、前記第1及び第2マネージャからコマンドを受信し、前記第1及び第2ストレージシステムがそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを備え、前記第1及び第2ストレージデバイスのストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、かつ前記第1ストレージシステム及び前記第2ストレージシステムが、整合性を維持するために異なるレプリケーション方法を適用する、システムであって、
前記第1ストレージデバイスの前記コントローラが操作を実行し、当該操作は、
ホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを前記第2ストレージデバイスの1つに送信すること、
前記第1マネージャから第1コマンドを受信した後で、ホスト書き込み操作を休止することと、
前記第1マネージャから第2コマンドを受信した後で、ホスト書き込み操作を再開することと、
前記第1マネージャからマーカを受信することと、
前記第2ストレージデバイスの1つに前記マーカを送信することと
を含み、
前記第2ストレージデバイスの前記コントローラが操作を実行し、当該操作が、
前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャからの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第1ストレージデバイスにメッセージを送信することと
を含み、
前記第1ストレージデバイスが、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャ情報に送信する、システム。
【請求項46】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作再開の完了に応答して、前記第1マネージャに第2完了メッセージを送信し、
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す前記複数の第1ストレージデバイスから送信される前記情報に応答して、前記マーカを増加させる、請求項45に記載のシステム。
【請求項47】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御するコードを含む製品であって、前記コードが、前記第1ストレージシステムに操作を実行させ、当該操作が、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む第1ストレージシステムで、ホスト書き込みを受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記ホスト書き込みを送信することと、
第1マネージャからの第1コマンドに応答して、前記第1ストレージシステムでホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおけるホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを、前記第1ストレージシステムによって受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記マーカを送信することと、
前記第1ストレージシステムによって、前記マーカを第2マネージャに送信することと、
前記第1ストレージシステムによって、前記ホスト書き込みを前記第1ストレージシステム・副サイトに適用することと、
前記ホスト書き込みの適用を完了した後に、前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを前記第1マネージャに送信することと、
を含む、製品。
【請求項48】
前記ホスト書き込み操作が、前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムで再開され、かつ前記第2メッセージが、前記第1マネージャからの第3コマンドの受信に応答して、前記第1マネージャに送信される、請求項47に記載の製品。
【請求項49】
前記コードが、前記第2マネージャからの第4コマンドに応答して前記第2マネージャに前記マーカを送信するために、前記第2ストレージシステムをさらに制御し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項47に記載の製品。
【請求項50】
前記第1ストレージシステムが、複数の第1ストレージデバイスを備え、かつ前記第2ストレージシステムが、複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージデバイスのそれぞれが、前記第1ストレージシステムの操作を実行し、前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項47に記載の製品。
【請求項51】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション製品を実装する、請求項47に記載の製品。
【請求項52】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項47に記載の製品。
【請求項53】
前記操作は、
前記第1ストレージシステムによって、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと、
を含み、
前記第1マネージャが、ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記マーカを増加させる、請求項52に記載の製品。
【請求項54】
前記コードが前記第2ストレージシステムをさらに制御し、前記操作が、
前記第1ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することと、
前記第2ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第2タイミングを決定することと、
を含む、請求項53に記載の製品。
【請求項55】
第2ストレージシステムに整合性グループを作成するために第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御するコードを含む製品であって、
前記第1及び第2ストレージシステムがそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを含み、第1及び第2ストレージデバイスのストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージシステム及び第2ストレージシステムは、整合性を維持するために異なる複製方法を適用し、かつ操作を実行するために前記第1及び第2ストレージデバイスの前記コントローラによって前記コードが実行され、前記操作は、
前記第1ストレージデバイスでホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを、前記第2ストレージデバイスに送信すること、
前記第1マネージャから前記第1ストレージデバイスに第1コマンドを受信した後で、前記第1ストレージデバイスでホスト書き込み操作を休止することと、
前記第1マネージャから前記第1ストレージデバイスへの第2コマンドを受信した後で、前記第1ストレージデバイスでホスト書き込み操作を再開することと、
前記第1マネージャから前記第1ストレージデバイスにマーカを受信することと、
前記第1ストレージデバイスによって、前記第2ストレージデバイスに前記マーカを送信することと、
前記第2ストレージデバイスによって、前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャから前記第2ストレージデバイスへの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第2ストレージデバイスから前記第1ストレージデバイスにメッセージを送信することと、
前記第1ストレージデバイスによって、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャに送信することと、
を含む、製品。
【請求項56】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作再開の完了に応答して、前記第1マネージャに第2完了メッセージを送信し、
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す前記複数の第1ストレージデバイスから送信される前記情報に応答して、前記マーカを増加させる、請求項55に記載の製品。
【請求項57】
第1ストレージシステムが、前記第1ストレージデバイスによって前記複数の第1ストレージデバイスから前記第2ストレージデバイスに、前記ホスト書き込み操作に対応する前記データを送信するタイミングを決定し、かつ、
前記第2ストレージシステムが、前記第2ストレージデバイスによって前記第1ストレージデバイスから前記第2ストレージデバイスに、前記ホスト書き込み操作に対応する前記データを送信するタイミングを決定する、請求項56に記載の製品。
【請求項1】
共通リンケージマネージャと、第1レプリケーションマネージャと、第2レプリケーションマネージャとを備え、かつ第1ターゲットストレージ、第1ソースストレージ、第2ターゲットストレージ、及び第2ソースストレージと通信する製品であって、前記共通リンケージマネージャ、第1レプリケーションマネージャ、及び第2レプリケーションマネージャが操作を実行し、
前記操作は、
前記共通リンケージマネージャによって、第1レプリケーションマネージャ及び第2レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行することであって、前記第1及び第2レプリケーションマネージャは、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、第1及び第2レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからのデータの第1整合性グループ及び第2整合性グループをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを、第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2のレプリケーションマネージャに応答して、前記第1ジャーナル及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを、前記第1及び第2ターゲットストレージそれぞれにコミットすることと、
を含む、製品。
【請求項2】
前記操作が、前記共通リンケージマネージャによって、前記第1及び第2ジャーナルの第1及び第2整合性グループを第1及び第2ターゲットストレージそれぞれにコミットする前記第1及び第2レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第1及び第2整合性グループを形成するために、前記第1及び第2レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行することをさらに含む、請求項1に記載の製品。
【請求項3】
前記操作は、前記共通リンケージマネージャによって、前記整合性グループのために前記第1及び第2レプリケーションマネージャにコミットコマンドを発行することをさらに含み、前記第1及び第2レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第1及び第2整合性グループ内のデータをそれぞれコミットし、かつ前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なる第1及び第2コミット技術を使用する、請求項1に記載の製品。
【請求項4】
前記第1及び第2レプリケーションマネージャは、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項1に記載の製品。
【請求項5】
前記操作が、
前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに対してコミットコマンドを伝えることと、
をさらに含む、請求項1に記載の製品。
【請求項6】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記操作が、
第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつポイントインタイムにおいて整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするために、フリーズ操作を実行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーする操作を実行することと、
第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ソースストレージへの更新(前記整合性グループのポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項1に記載の製品。
【請求項7】
前記操作が、
前記第1コミット技術を使用する前記第1レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされることと、
前記第2コミット技術を使用する前記第2レプリケーションマネージャによって、前記コミットコマンドに応答して、ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項6に記載の製品。
【請求項8】
前記操作が、
前記共通リンケージマネージャによって、前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたか否かを判断することと、
前記第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断することと、
をさらに含み、
前記コミット操作が、前記レプリケーション情報で示される前記データが前記第1ジャーナルにコピーされたとの判断に応答して、かつ前記第2ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第1及び第2レプリケーションマネージャによって実行される、請求項6に記載の製品。
【請求項9】
前記第1及び第2レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える、請求項1に記載の製品。
【請求項10】
前記第1及び第2レプリケーションマネージャが主システム(に位置し、
前記操作が、
前記共通リンケージマネージャによって、副システムにおける第1及び第2レプリケーションマネージャに復元コマンドを送信することと、
前記副システムにおける前記第1及び第2レプリケーションマネージャによって、前記復元コマンドに応答して、前記第1及び第2ターゲットストレージの前記第1及び第2整合性グループからのデータを、前記第1及び第2ジャーナルそれぞれにコピーすることと、
前記第1及び第2ソースストレージの前記データを前記第1及び第2整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副システムにおける前記第1及び第2レプリケーションマネージャによって、前記第1及び第2ジャーナルの前記第1及び第2整合性グループからのデータを、前記第1及び第2ソースストレージそれぞれにコミットすることと、
をさらに含む、請求項1に記載の製品。
【請求項11】
前記復元コマンドが、前記正サイトにおける故障に応答して送信され、
前記操作が、
前記共通リンケージマネージャによって、前記主サイトから前記副サイトへのフェイルオーバーを実行することをさらに含み、
申込者が、前記フェイルオーバーに応答して入出力(I/O)要求を前記第1及び第2ターゲットストレージに提出する、請求項10に記載の製品。
【請求項12】
前記第1及び第2レプリケーションマネージャが、第1及び第2レプリケーションエンジン特定コマンドを前記第1及び第2レプリケーションエンジンそれぞれに伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項1に記載の製品。
【請求項13】
第1ターゲットストレージと、第1ソースストレージと、第2ターゲットストレージと、第2ソースストレージと、第1及び第2レプリケーションエンジンと通信するシステムであって、
前記第1レプリケーションエンジンと通信する第1レプリケーションマネージャと、
前記第2レプリケーションエンジンと通信する第2レプリケーションマネージャと、
前記第1及び第2レプリケーションマネージャと通信する共通リンケージマネージャであって、前記第1及び第2レプリケーションマネージャに対して整合性グループ作成準備コマンドを発行する、共通リンケージマネージャと、
を備えるシステムであり、
前記第1及び第2レプリケーションマネージャが、
前記第1及び第2レプリケーションマネージャによって、前記共通リンケージマネージャからの前記整合性グループ作成コマンドに応答して、前記第1ソースストレージ及び前記第2ソースストレージにデータの整合性グループを形成し、前記第1ターゲットストレージ及び前記第2ターゲットストレージそれぞれにコピーするために、前記第1及び第2レプリケーションエンジンに対して整合性グループコマンドを発行すること、
前記第1及び第2レプリケーションマネージャによって、整合性グループ作成コマンドに応答して、ポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからの第1整合性グループ及び第2整合性グループ内のデータをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループ内の前記データを第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
前記第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2レプリケーションマネージャに応答して、前記第1及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを第1及び第2ターゲットストレージそれぞれにコミットすることと、
を含む操作を実行する、システム。
【請求項14】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項13に記載のシステム。
【請求項15】
前記共通リンケージマネージャが、前記第1及び第2レプリケーションマネージャに対して照会コマンドを発行し、
前記第1及び第2レプリケーションマネージャが、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データが前記第1及び第2ジャーナルにそれぞれあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データが前記第1及び第2ジャーナルにそれぞれあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
をさらに実行し、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記共通リンケージマネージャがさらに、前記第1及び第2レプリケーションマネージャにコミットコマンドを伝える、請求項13に記載のシステム。
【請求項16】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記第1レプリケーションマネージャが、
前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするための、フリーズ操作を実行するために、第1レプリケーション技術を使用することと、
前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするための操作を実行するために、前記第1レプリケーション技術を使用すること、
をさらに実行し、
前記第2レプリケーションマネージャは、前記第2ソースストレージへの更新(前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーするための操作を実行するために、第2レプリケーション技術を使用する、請求項13に記載のシステム。
【請求項17】
前記第1レプリケーションマネージャが、前記第1コミット技術を使用し、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルの前記データの仮想コピーを作成する操作をさらに実行し、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされ、かつ
前記第2レプリケーションマネージャが、前記第2コミット技術を使用し、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行する、請求項16に記載のシステム。
【請求項18】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2レプリケーションエンジンそれぞれに第1及び第2レプリケーションエンジン特定コマンドを伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナル内の前記データを前記第1及び第2ターゲットストレージそれぞれにコミットするための操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項13に記載のシステム
【請求項19】
第1レプリケーションマネージャ及び第2レプリケーションマネージャに整合性グループ作成準備コマンドを発行することであって、前記第1及び第2レプリケーションマネージャが、第1ソースストレージ及び第2ソースストレージにデータの整合性グループを形成して、第1ターゲットストレージ及び第2ターゲットストレージそれぞれにコピーするために、前記第1及び第2レプリケーションエンジンそれぞれに整合性グループ作成コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第1及び第2ソースストレージからの第1整合性グループ及び第2整合性グループ内のデータをそれぞれ形成することと、
前記第1及び第2レプリケーションマネージャによって、前記形成された第1及び第2整合性グループの前記データを第1ジャーナル及び第2ジャーナルそれぞれに伝送することと、
前記第1及び第2レプリケーションマネージャによって、コミットコマンドを受信した前記第1及び第2レプリケーションマネージャに応答して、前記第1及び第2ジャーナルの前記第1及び第2整合性グループ内の前記データを前記第1及び第2ターゲットストレージそれぞれにコミットすること、
を含む方法。
【請求項20】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2ジャーナルからのデータを前記第1及び第2ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項19に記載の方法。
【請求項21】
前記第1及び第2レプリケーションマネージャに照会コマンドを発行することと、
前記第1及び第2レプリケーションマネージャによって、前記照会コマンドに応答して、前記第1及び第2整合性グループ内の前記データがそれぞれ前記第1及び第2ジャーナルにあるか否かを判断することと、
前記第1及び第2整合性グループ内の前記データがそれぞれ第1及び第2ジャーナルにあるとの判断に応答して、前記第1及び第2レプリケーションマネージャによって、第1及び第2ジャーナル完了メッセージを伝えることと、
前記第1及び第2ジャーナル完了メッセージの受信に応答して、前記第1及び第2ジャーナルの前記データをコミットするために、前記第1及び第2レプリケーションマネージャにコミットコマンドを伝えることと、
をさらに含む、請求項19に記載の方法。
【請求項22】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、前記方法が、
第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第1ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている、前記第1ソースストレージの修正データを示すレプリケーション情報を作成して、前記第1ジャーナルにコピーするための、フリーズ操作を実行することと、
前記第1レプリケーション技術を使用する前記第1レプリケーションマネージャによって、前記ランコマンドに応答して、前記第1ソースストレージへの書き込みの継続を可能にし、かつ前記第1ソースストレージへの前記レプリケーション情報に示される前記第1ソースストレージのデータを前記第1ジャーナルにコピーするための操作を実行することと、
前記第2レプリケーション技術を使用する前記第2レプリケーションマネージャによって、前記第2ソースストレージへの更新(前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む)を前記第2ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項19に記載の方法。
【請求項23】
第1コミット技術を使用する前記第1レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第1整合性グループ内のデータを示す前記第1ターゲットストレージにおける前記第1ジャーナルのデータの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第1ジャーナルに適用されている前記第1整合性グループ内の前記データへの更新に応答して、前記第1ターゲットストレージにコピーされることと、
第2コミット技術を使用する前記第2レプリケーションマネージャによって、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第2ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項22に記載の方法。
【請求項24】
前記第1及び第2レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを含む、請求項19に記載の方法。
【請求項25】
前記第1及び第2レプリケーションマネージャが、前記第1及び第2レプリケーションエンジンそれぞれに、第1及び第2レプリケーションエンジン特定コマンドを伝えることによって、前記第1及び第2整合性グループをそれぞれ形成し、前記第1及び第2整合性グループ内の前記データを前記第1及び第2ジャーナルそれぞれに伝送し、かつ前記第1及び第2ジャーナルの前記データを前記第1及び第2ターゲットストレージそれぞれにコミットする操作を、前記第1及び第2レプリケーションエンジンに実行させる、請求項19に記載の方法。
【請求項26】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御する方法であって、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む前記第1ストレージシステムで、ホスト書き込みを受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトへの前記ホスト書き込みを送信することと、
第1マネージャからの第1コマンドに応答して、前記第1ストレージシステムにおけるホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおけるホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを、前記第1ストレージシステムによって受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトへと前記マーカを送信することと、
前記第1ストレージシステムによって、前記マーカを第2マネージャに送信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトに前記ホスト書き込みを適用することと、
前記ホスト書き込みの適用を完了した後に、前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを前記第1マネージャに送信することと、
を含む、方法。
【請求項27】
前記ホスト書き込み操作が、前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおいて再開され、かつ前記第2メッセージが、前記第1マネージャからの第3コマンドの受信に応答して、前記第1マネージャに送信される、請求項26に記載の方法。
【請求項28】
前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記第2マネージャに前記マーカを送信し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項26に記載の方法。
【請求項29】
前記第1ストレージシステムが複数の第1ストレージデバイスを備え、かつ第2ストレージシステムが複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラと記憶ボリュームとを含み、前記第1ストレージデバイスのそれぞれが、前記第1ストレージシステムの操作を実行し、前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項26に記載の方法。
【請求項30】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション方法を実施する、請求項26に記載の方法。
【請求項31】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項25に記載の方法。
【請求項32】
前記第1ストレージシステムによって、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと、
ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記第1マネージャによって前記マーカを増加させることと、
をさらに含む、請求項31に記載の方法。
【請求項33】
前記第1ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することと、
前記第2ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第2タイミングを決定することと、
をさらに含む、請求項32に記載の方法。
【請求項34】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャと通信する第1ストレージシステムを提供することであって、前記第1及び第2ストレージシステムはそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを備え、前記第1及び第2ストレージデバイスのストレージデバイスはそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージシステム及び前記第2ストレージシステムは、整合性を維持するために異なるレプリケーション方法を適用することと、
前記第1ストレージデバイスでホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを前記第2ストレージデバイスに送信することと、
前記第1マネージャから前記第1ストレージデバイスへの第1コマンドを受信した後で、前記第1ストレージデバイスにおいてホスト書き込み操作を休止することと、
前記第1マネージャから前記第1ストレージデバイスへの第2コマンドを受信した後で、前記第1ストレージデバイスにおいてホスト書き込み操作を再開することと、
前記第1マネージャから前記第1ストレージデバイスへのマーカを受信することと、
前記第1ストレージデバイスによって、前記第2ストレージデバイスに前記マーカを送信することと、
前記第2ストレージデバイスによって、前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャから前記第2ストレージデバイスへの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第2ストレージデバイスから前記第1ストレージデバイスへのメッセージを送信することと、
前記第1ストレージデバイスによって、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャに送信することと、
を含む、方法。
【請求項35】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作の再開に応答して、前記第1マネージャに第2完了メッセージを送信し、かつ
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す、前記複数の第1ストレージデバイスから送信された前記情報に応答して、前記マーカを増加させる、請求項34記載の方法。
【請求項36】
前記第1ストレージシステムが、前記第1ストレージデバイスによる前記複数の第1ストレージデバイスから前記第2ストレージデバイスへの前記ホスト書き込み操作に対応する前記データの送信のタイミングを決定し、かつ
前記第2ストレージシステムが、前記第2ストレージデバイスによる前記第1ストレージデバイスから前記第2ストレージデバイスへの前記ホスト書き込み操作に対応する前記データの送信のタイミングを決定する、請求項35に記載の方法。
【請求項37】
整合性グループを作成するためのシステムであって、
第1及び第2マネージャと、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む、第1ストレージシステムと、
第2ストレージシステムと、
操作を実行するために、前記第1ストレージシステムによって実行されるコードと
を含むシステムであって、前記操作は、
ホスト書き込みを受信することと、
前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記ホスト書き込みを送信することと、
前記第1マネージャからの第1コマンドに応答して、ホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、ホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを受信することと、
前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記マーカを送信することと、
前記第2マネージャに前記マーカを送信することと、
前記ホスト書き込みを前記第1ストレージシステム・副サイトに適用することと、
前記ホスト書き込みの適用を完了した後で、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを、前記第1マネージャに送信することと、
を含む、システム。
【請求項38】
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおいて前記ホスト書き込み操作が再開され、かつ前記第1マネージャからの第3コマンドの受信に応答して、前記第2メッセージが前記第1マネージャに送信される、請求項37に記載のシステム。
【請求項39】
前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記マーカを前記第2マネージャに送信し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項37に記載のシステム。
【請求項40】
前記第1ストレージシステムが、複数の第1ストレージデバイスを備え、かつ前記第2ストレージシステムが、複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージのそれぞれが、前記第1ストレージシステムの操作を実行し、かつ前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項37に記載のシステム。
【請求項41】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション方法を実施する、請求項37に記載のシステム。
【請求項42】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項37に記載のシステム。
【請求項43】
前記第1ストレージシステムによって実行される前記コードによって実行される前記操作が、
前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと
をさらに含み、ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記第1マネージャが前記マーカを増加させる、請求項42に記載のシステム。
【請求項44】
前記第1ストレージシステムによって実行される前記コードによって実行される前記操作は、
前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することをさらに含み、前記第2ストレージシステムが、前記第2ストレージシステムにホスト書き込みを送信する第2タイミングを決定する、請求項43に記載のシステム。
【請求項45】
第1及び第2マネージャと通信するシステムであって、
第1ストレージシステムと、
第2ストレージシステムとを備え、
前記第1ストレージシステムが、前記第2ストレージシステムに整合性グループを作成するために、前記第1及び第2マネージャからコマンドを受信し、前記第1及び第2ストレージシステムがそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを備え、前記第1及び第2ストレージデバイスのストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、かつ前記第1ストレージシステム及び前記第2ストレージシステムが、整合性を維持するために異なるレプリケーション方法を適用する、システムであって、
前記第1ストレージデバイスの前記コントローラが操作を実行し、当該操作は、
ホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを前記第2ストレージデバイスの1つに送信すること、
前記第1マネージャから第1コマンドを受信した後で、ホスト書き込み操作を休止することと、
前記第1マネージャから第2コマンドを受信した後で、ホスト書き込み操作を再開することと、
前記第1マネージャからマーカを受信することと、
前記第2ストレージデバイスの1つに前記マーカを送信することと
を含み、
前記第2ストレージデバイスの前記コントローラが操作を実行し、当該操作が、
前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャからの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第1ストレージデバイスにメッセージを送信することと
を含み、
前記第1ストレージデバイスが、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャ情報に送信する、システム。
【請求項46】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作再開の完了に応答して、前記第1マネージャに第2完了メッセージを送信し、
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す前記複数の第1ストレージデバイスから送信される前記情報に応答して、前記マーカを増加させる、請求項45に記載のシステム。
【請求項47】
第2ストレージシステムに整合性グループを作成するために、第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御するコードを含む製品であって、前記コードが、前記第1ストレージシステムに操作を実行させ、当該操作が、
第1ストレージシステム・主サイト及び第1ストレージシステム・副サイトを含む第1ストレージシステムで、ホスト書き込みを受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記ホスト書き込みを送信することと、
第1マネージャからの第1コマンドに応答して、前記第1ストレージシステムでホスト書き込み操作を休止することと、
前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムにおけるホスト書き込み操作を再開することと、
前記第1及び第2ストレージシステムのサイクルを制御するためのサイクル番号を示すマーカ付きのランコマンドを、前記第1ストレージシステムによって受信することと、
前記第1ストレージシステムによって、前記第1ストレージシステム・主サイトから前記第1ストレージシステム・副サイトに前記マーカを送信することと、
前記第1ストレージシステムによって、前記マーカを第2マネージャに送信することと、
前記第1ストレージシステムによって、前記ホスト書き込みを前記第1ストレージシステム・副サイトに適用することと、
前記ホスト書き込みの適用を完了した後に、前記第1ストレージシステムによって、前記第1ストレージシステム・副サイトから前記第1ストレージシステム・主サイトに第1メッセージを送信することと、
前記ホスト書き込みが適用されたという確認が前記第1ストレージシステム・副サイトから受信されたか否かを示す第2メッセージを前記第1マネージャに送信することと、
を含む、製品。
【請求項48】
前記ホスト書き込み操作が、前記第1マネージャからの第2コマンドの受信に応答して、前記第1ストレージシステムで再開され、かつ前記第2メッセージが、前記第1マネージャからの第3コマンドの受信に応答して、前記第1マネージャに送信される、請求項47に記載の製品。
【請求項49】
前記コードが、前記第2マネージャからの第4コマンドに応答して前記第2マネージャに前記マーカを送信するために、前記第2ストレージシステムをさらに制御し、かつ前記第2ストレージシステムが、前記第2マネージャからの第4コマンドに応答して、前記ホスト書き込みを適用する、請求項47に記載の製品。
【請求項50】
前記第1ストレージシステムが、複数の第1ストレージデバイスを備え、かつ前記第2ストレージシステムが、複数の第2ストレージデバイスを備え、前記第1及び第2ストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージデバイスのそれぞれが、前記第1ストレージシステムの操作を実行し、前記第2ストレージデバイスのそれぞれが、前記第2ストレージシステムの操作を実行する、請求項47に記載の製品。
【請求項51】
前記第1及び第2ストレージシステムが、各ストレージシステム内の整合性を維持するために異なるレプリケーション製品を実装する、請求項47に記載の製品。
【請求項52】
前記サイクル番号が、前記第1及び第2マネージャにコマンドを送信する共通リンクマネージャによって制御されたサイクルをカウントする参照番号を含む、請求項47に記載の製品。
【請求項53】
前記操作は、
前記第1ストレージシステムによって、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信することと、
前記第1ストレージシステムによって、前記ホスト書き込み操作の再開に応答して、第2完了メッセージを送信することと、
を含み、
前記第1マネージャが、ホスト書き込みが前記第2ストレージシステムによって適用されたことを示す前記第2メッセージに応答して、前記マーカを増加させる、請求項52に記載の製品。
【請求項54】
前記コードが前記第2ストレージシステムをさらに制御し、前記操作が、
前記第1ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第1タイミングを決定することと、
前記第2ストレージシステムによって、前記第2ストレージシステムに前記ホスト書き込みを送信する第2タイミングを決定することと、
を含む、請求項53に記載の製品。
【請求項55】
第2ストレージシステムに整合性グループを作成するために第1及び第2マネージャからコマンドを受信する第1ストレージシステムを制御するコードを含む製品であって、
前記第1及び第2ストレージシステムがそれぞれ、主サイトにおける複数の第1ストレージデバイスと、副サイトにおける複数の第2ストレージデバイスとを含み、第1及び第2ストレージデバイスのストレージデバイスがそれぞれ、コントローラとストレージボリュームとを含み、前記第1ストレージシステム及び第2ストレージシステムは、整合性を維持するために異なる複製方法を適用し、かつ操作を実行するために前記第1及び第2ストレージデバイスの前記コントローラによって前記コードが実行され、前記操作は、
前記第1ストレージデバイスでホスト書き込み操作を受信し、かつ前記受信されたホスト書き込み操作に対応するデータを、前記第2ストレージデバイスに送信すること、
前記第1マネージャから前記第1ストレージデバイスに第1コマンドを受信した後で、前記第1ストレージデバイスでホスト書き込み操作を休止することと、
前記第1マネージャから前記第1ストレージデバイスへの第2コマンドを受信した後で、前記第1ストレージデバイスでホスト書き込み操作を再開することと、
前記第1マネージャから前記第1ストレージデバイスにマーカを受信することと、
前記第1ストレージデバイスによって、前記第2ストレージデバイスに前記マーカを送信することと、
前記第2ストレージデバイスによって、前記第2マネージャからの第3コマンドの受信に応答して、前記マーカに関する情報を前記第2マネージャに送信することと、
前記第2マネージャから前記第2ストレージデバイスへの第3コマンドの受信に応答して、前記ホスト書き込み操作に対応するデータを前記第2ストレージデバイスの前記ストレージボリュームに適用することと、
前記データの適用が完了した後で、前記第2ストレージデバイスから前記第1ストレージデバイスにメッセージを送信することと、
前記第1ストレージデバイスによって、前記第1マネージャからの第4コマンドの受信に応答して、前記メッセージが受信されたか否かを示す情報を前記第1マネージャに送信することと、
を含む、製品。
【請求項56】
前記第1ストレージデバイスが、前記ホスト書き込み操作休止の完了に応答して、前記第1マネージャに第1完了メッセージを送信し、
前記第1ストレージデバイスが、前記ホスト書き込み操作再開の完了に応答して、前記第1マネージャに第2完了メッセージを送信し、
前記第1マネージャが、前記メッセージが前記第1ストレージデバイスによって受信されたことを示す前記複数の第1ストレージデバイスから送信される前記情報に応答して、前記マーカを増加させる、請求項55に記載の製品。
【請求項57】
第1ストレージシステムが、前記第1ストレージデバイスによって前記複数の第1ストレージデバイスから前記第2ストレージデバイスに、前記ホスト書き込み操作に対応する前記データを送信するタイミングを決定し、かつ、
前記第2ストレージシステムが、前記第2ストレージデバイスによって前記第1ストレージデバイスから前記第2ストレージデバイスに、前記ホスト書き込み操作に対応する前記データを送信するタイミングを決定する、請求項56に記載の製品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図15A】
【図15B】
【図16A】
【図16B】
【図17】
【図18】
【図19A】
【図19B】
【図19C】
【図20A】
【図20B】
【図21A】
【図21B】
【図21C】
【図22A】
【図22B】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図15A】
【図15B】
【図16A】
【図16B】
【図17】
【図18】
【図19A】
【図19B】
【図19C】
【図20A】
【図20B】
【図21A】
【図21B】
【図21C】
【図22A】
【図22B】
【図23】
【公開番号】特開2009−295154(P2009−295154A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2009−119267(P2009−119267)
【出願日】平成21年5月15日(2009.5.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願日】平成21年5月15日(2009.5.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]