(57)【要約】【課題】  本発明は、ストレージをコピーする方法、システム及びプログラムを提供する。【解決手段】第１ユニットが第２ユニットからデータ最新情報を受信する。第１ユニットと関連する複数の物理ストレージ位置にデータ最新情報が格納される。第１ユニットと第２ユニットとの間で一貫性のあるデータを得るため、複数の物理ストレージ位置の少なくとも１つとリンクが生成される。【選択図】図２
2007518174.tif 000002
【特許請求の範囲】
【請求項１】
ストレージをコピーする方法であって、第１ユニットで第２ユニットからのデータ最新情報を受信するステップと、前記第１ユニットと関連する複数の物理ストレージ位置に前記データ最新情報を格納するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも１つとリンクを生成するステップとを含む方法。
【請求項２】
前記第１ユニットが、補助ストレージに結合されている補助ストレージ制御部であり、前記第２ユニットが、主ストレージに結合されている主ストレージ制御部であり、前記複数の物理ストレージ位置が前記補助ストレージと関連し、前記データ最新情報が前記第１ユニットで非同期に受信される、請求項１に記載の方法。
【請求項３】
前記受信されたデータが、前記第１ユニットと関連する前記複数の物理ストレージ位置に１度だけ格納され、前記方法が、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置を解放するステップを更に含む、請求項１に記載の方法。
【請求項４】
アプリケーションが入力／出力要求を前記第２ユニットに送信し、前記データ最新情報が前記アプリケーションからの出力要求に対応し、前記データ最新情報が前記第１ユニットに１度だけ格納され、いずれかの時点で前記アプリケーションからの前記入力／出力要求に応答して前記第１ユニットが前記第２ユニットの代わりになることができ、前記第１及び第２ユニットのデータがいずれの時点でも一貫する、請求項１に記載の方法。
【請求項５】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機するステップとを更に含む、請求項１に記載の方法。
【請求項６】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記コンシステンシ・グループをコミットする前記少なくとも１つの物理ストレージ位置を決定するステップとを更に含み、前記第１ユニットと関連する仮想ストレージが、前記決定された少なくとも１つの物理ストレージ位置にリンクする、請求項１に記載の方法。
【請求項７】
仮想ストレージ位置を前記複数の物理ストレージ位置の前記少なくとも１つにマッピングするデータ構造を維持するステップを更に含み、前記生成されたリンクが前記データ構造と関連し、複数のアプリケーションが前記仮想ストレージ位置で入力／出力動作を実行することができる、請求項１に記載の方法。
【請求項８】
前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持するステップであって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができるステップと、第１コンシステンシ・グループと関連する第１データ最新情報がコミットされていることに応答して、前記第１コンシステンシ・グループを表す第１データ構造を削除するステップとを更に含む、請求項１に記載の方法。
【請求項９】
データ最新情報の待機に応答して前記第１ユニットでエラーを受信するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを反映するように、前記生成されたリンクを変更するステップとを更に含む、請求項１に記載の方法。
【請求項１０】
前記リンクの生成に応答して前記第１ユニットでエラーを受信するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを反映するように前記リンクを変更するステップとを更に含む、請求項１に記載の方法。
【請求項１１】
ストレージをコピーするシステムであって、処理ユニットと、前記処理ユニットと関連する複数の物理ストレージ位置と、（ｉ）データ最新情報を前記処理ユニットで受信するステップ、（ｉｉ）前記データ最新情報を前記複数の物理ストレージ位置に格納するステップ、及び、（ｉｉｉ）一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも１つとリンクを生成するステップを前記処理ユニットに実行させることができるコードを含むプログラムロジックとを含むシステム。
【請求項１２】
前記処理ユニットが、補助ストレージに結合されている補助ストレージ制御部であり、前記複数の物理ストレージ位置が前記補助ストレージと関連し、前記データ最新情報が前記補助ストレージ制御部で非同期に受信される、請求項１１に記載のシステム。
【請求項１３】
前記受信されたデータが、前記処理ユニットと関連する前記複数の物理ストレージ位置に１度だけ格納され、前記プログラムロジックが、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置を解放するステップを前記処理ユニットに更に実行させることができる、請求項１１に記載のシステム。
【請求項１４】
前記処理ユニットが第１処理ユニットを含み、前記第１処理ユニットが第２処理ユニットに結合され、アプリケーションが入力／出力要求を前記第２処理ユニットに送信し、前記データ最新情報が前記アプリケーションからの出力要求に対応し、前記データ最新情報が前記第１処理ユニットに１度だけ格納され、いずれかの時点で前記アプリケーションからの前記入力／出力要求に応答して前記第１処理ユニットが前記第２処理ユニットの代わりになることができ、前記第１及び第２処理ユニットのデータがいずれの時点でも一貫する、請求項１１に記載のシステム。
【請求項１５】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機するステップとを前記プログラムロジックが前記処理ユニットに更に実行させることができる、請求項１１に記載のシステム。
【請求項１６】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記コンシステンシ・グループをコミットする前記少なくとも１つの物理ストレージ位置を決定するステップとを前記プログラムロジックが前記処理ユニットに更に実行させることができ、前記第１処理ユニットと関連する仮想ストレージが、前記決定された少なくとも１つの物理ストレージ位置にリンクする、請求項１１に記載のシステム。
【請求項１７】
仮想ストレージ位置を前記複数の物理ストレージ位置の前記少なくとも１つにマッピングするデータ構造を維持するステップを前記プログラムロジックが前記処理ユニットに更に実行させることができ、前記生成されたリンクが前記データ構造と関連し、複数のアプリケーションが前記仮想ストレージ位置で入力／出力動作を実行することができる、請求項１１に記載のシステム。
【請求項１８】
前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持するステップであって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができるステップと、第１コンシステンシ・グループと関連する第１データ最新情報がコミットされたことに応答して、前記第１コンシステンシ・グループを表す第１データ構造を削除するステップとを前記プログラムロジックが前記処理ユニットに更に実行させることができる、請求項１１に記載のシステム。
【請求項１９】
データ最新情報の待機に応答して前記第１処理ユニットでエラーを受信するステップと、一貫性のあるデータを反映するように、前記生成されたリンクを変更するステップとを前記プログラムロジックが前記処理ユニットに更に実行させることができる、請求項１１に記載のシステム。
【請求項２０】
前記リンクの生成に応答して前記処理ユニットでエラーを受信するステップと、一貫性のあるデータを反映するように前記リンクを変更するステップとを前記プログラムロジックが前記処理ユニットに更に実行させることができる、請求項１１に記載のシステム。
【請求項２１】
前記処理ユニットが第１処理ユニットを含み、前記システムが、前記第１処理ユニットに結合されている第２処理ユニットを更に含み、前記第１処理ユニットの前記データ最新情報が前記第２処理ユニットから受信され、前記一貫性のあるデータが前記第１処理ユニットと前記第２処理ユニットとの間で得られる、請求項１１に記載のシステム。
【請求項２２】
第２ユニットから第１ユニットへコピーする製品において、前記製品が動作を生じさせることができ、前記動作が、前記第２ユニットからのデータ最新情報を前記第１ユニットで受信するステップと、前記第１ユニットと関連する複数の物理ストレージ位置に前記データ最新情報を格納するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも１つとリンクを生成するステップとを含む製品。
【請求項２３】
前記第１ユニットが、補助ストレージに結合されている補助ストレージ制御部であり、前記第２ユニットが、主ストレージに結合されている主ストレージ制御部であり、前記複数の物理ストレージ位置が前記補助ストレージと関連し、前記データ最新情報が前記第１ユニットで非同期に受信される、請求項２２に記載の製品。
【請求項２４】
前記受信されたデータが、前記第１ユニットと関連する前記複数の物理ストレージ位置に１度だけ格納され、前記動作が、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置を解放するステップを更に含む、請求項２２に記載の製品。
【請求項２５】
アプリケーションが入力／出力要求を前記第２ユニットに送信し、前記データ最新情報が前記アプリケーションからの出力要求に対応し、前記データ最新情報が前記第１ユニットに１度だけ格納され、いずれかの時点で前記アプリケーションからの前記入力／出力要求に応答して前記第１ユニットが前記第２ユニットの代わりになることができ、前記第１及び第２ユニットのデータがいずれの時点でも一貫する、請求項２２に記載の製品。
【請求項２６】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機するステップとを前記動作が更に含む、請求項２２に記載の製品。
【請求項２７】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断するステップと、前記コンシステンシ・グループをコミットする前記少なくとも１つの物理ストレージ位置を決定するステップとを前記動作が更に含み、前記第１ユニットと関連する仮想ストレージが、前記決定された少なくとも１つの物理ストレージ位置にリンクする、請求項２２に記載の製品。
【請求項２８】
前記動作が、仮想ストレージ位置を前記複数の物理ストレージ位置の前記少なくとも１つにマッピングするデータ構造を維持するステップを更に含み、前記生成されたリンクが前記データ構造と関連し、複数のアプリケーションが前記仮想ストレージ位置で入力／出力動作を実行することができる、請求項２２に記載の製品。
【請求項２９】
前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持するステップであって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができるステップと、第１コンシステンシ・グループと関連する第１データ最新情報がコミットされていることに応答して、前記第１コンシステンシ・グループを表す第１データ構造を削除するステップとを前記動作が更に含む、請求項２２に記載の製品。
【請求項３０】
前記動作が、データ最新情報の待機に応答して前記第１ユニットでエラーを受信するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを反映するように、前記生成されたリンクを変更するステップとを更に含む、請求項２２に記載の製品。
【請求項３１】
前記動作が、前記リンクの生成に応答して前記第１ユニットでエラーを受信するステップと、前記第１ユニットと前記第２ユニットとの間で一貫性のあるデータを反映するように前記リンクを変更するステップとを更に含む、請求項２２に記載の製品。
【請求項３２】
ストレージをコピーするシステムであって、データ最新情報を受信する手段と、複数の物理ストレージ位置に前記データ最新情報を格納する手段と、一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも１つとリンクを生成する手段とを含むシステム。
【請求項３３】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断する手段と、前記格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機する手段とを更に含む、請求項３２に記載のシステム。
【請求項３４】
前記格納されたデータ最新情報が、前記リンクを生成する前にコンシステンシ・グループを形成しているかを判断する手段と、前記コンシステンシ・グループをコミットする前記少なくとも１つの物理ストレージ位置を決定する手段とを更に含み、仮想ストレージが、前記決定された少なくとも１つの物理ストレージ位置にリンクする、請求項３２に記載のシステム。
【請求項３５】
前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持する手段であって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができる手段と、第１コンシステンシ・グループと関連する第１データ最新情報がコミットされていることに応答して、前記第１コンシステンシ・グループを表す第１データ構造を削除する手段とを更に含む、請求項３２に記載のシステム。
【請求項３６】
第１処理ユニットと第２処理ユニットとの間で前記一貫性のあるデータが得られる、請求項３２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の開示は、仮想化を用いる非同期リモート・コピーの一貫性を維持する方法、システム及びプログラムに関する。
【背景技術】
【０００２】
ストレージ・システムを含む情報技術システムは、サイト災害（ｄｉｓａｓｔｅｒ）または停止からの保護を必要とする場合がある。更に、情報技術システムは、データ移行、データ・バックアップまたはデータ複製の機能を必要とする場合がある。災害または停止リカバリ、データ・マイグレーション（移行）、データ・バックアップ及びデータ複製の実施は、ストレージ・システムにおけるデータのミラーリングまたはコピーを含む場合がある。ある情報技術システムでは、データは主ストレージ制御部から補助ストレージ制御部へコピーされる。利用できない主ストレージ制御部に応答して、補助ストレージ制御部を用いて、利用できない主ストレージ制御部の代りにする（置き換える）ことができる。
【０００３】
情報技術システムにおけるデータのコピーを同期または非同期にすることができる。同期コピーは主ストレージ制御部から補助ストレージ制御部へデータを送信し、このようなデータの受信を前もって確認した後、主ストレージ制御部への書き込み動作を完了することを含む。従って、同期コピーは、補助ストレージ制御部からの確認を待機する間、書き込み動作応答時間を遅くする。しかし、同期コピーは、連続して一貫性のある（ｃｏｎｓｉｓｔｅｎｔ）データを補助ストレージ制御部に供給する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
送信されたデータの受信が補助ストレージ制御部から確認される前に主ストレージ制御部への書き込み動作を完了することができるので、非同期コピーは同期コピーよりも良い性能を備えることができる。しかし、補助ストレージ制御部で受信されたデータが、主ストレージ制御部への更新すなわち書き込み動作の順序になっていないおそれがあるので、データの連続一貫性を確実にしなければならない。非同期コピーでは、補助ストレージ制御部と関連する補助ストレージに適用するために一連の一貫した最新情報を利用できるまで、ジャーナル・データセットのような固まった位置に最新情報を一時的に格納することにより主ストレージ制御部と補助ストレージ制御部との間の装置間の一貫性を達成することができる。
【課題を解決するための手段】
【０００５】
本発明は、ストレージをコピーする方法、システム及びプログラムを提供し、第１ユニットが第２ユニットからデータ最新情報を受信する。第１ユニットと関連する複数の物理ストレージ位置にデータ最新情報が格納される。第１ユニットと第２ユニットとの間で一貫性のあるデータを得るため、複数の物理ストレージ位置（ｌｏｃａｔｉｏｎ）の少なくとも１つとリンクが生成される。
【０００６】
追加の実施形態では、第１ユニットが、補助ストレージに結合されている補助ストレージ制御部であり、第２ユニットが、主ストレージに結合されている主ストレージ制御部であり、複数の物理ストレージ位置が補助ストレージと関連し、データ最新情報が第１ユニットで非同期に受信される。
【０００７】
更なる実施形態では、受信されたデータが、第１ユニットと関連する複数の物理ストレージ位置に１度だけ格納され、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置が解放される。
【０００８】
更なる追加の実施形態では、アプリケーションが入力／出力要求を第２ユニットに送信し、データ最新情報がアプリケーションからの出力要求に対応し、データ最新情報が第１ユニットに１度だけ格納され、いずれかの時点でアプリケーションからの入力／出力要求に応答して第１ユニットが第２ユニットの代わりになることができ、第１及び第２ユニットのデータがいずれの時点でも一貫する。
【０００９】
その上更なる実施形態では、格納されたデータ最新情報が、リンクを生成する前にコンシステンシ・グループ（ｃｏｎｓｉｓｔｅｎｃｙ  ｇｒｏｕｐ）を形成しているか判断する。格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機する。
【００１０】
更なる追加の実施形態では、格納されたデータ最新情報が、リンクを生成する前にコンシステンシ・グループを形成しているか判断する。コンシステンシ・グループをコミットする少なくとも１つの物理ストレージ位置を決定し、第１ユニットと関連する仮想ストレージが、決定された少なくとも１つの物理ストレージ位置にリンクする。
【００１１】
更なる実施形態では、仮想ストレージ位置を複数の物理ストレージ位置の少なくとも１つにマッピングするデータ構造が維持され、生成されたリンクがデータ構造と関連し、複数のアプリケーションが仮想ストレージ位置で入力／出力動作を実行することができる。
【００１２】
追加の実施形態では、データ最新情報に対応するコンシステンシ・グループを表すデータ構造が維持され、維持されたデータ構造が複数の物理ストレージ位置を指し示すことができる。第１コンシステンシ・グループと関連する第１データ最新情報がコミットされていることに応答して、第１コンシステンシ・グループを表す第１データ構造が削除される。
【００１３】
更なる実施形態では、データ最新情報の待機に応答して第１ユニットでエラーが受信される。第１ユニットと第２ユニットとの間で一貫性のあるデータを反映するように、生成されたリンクが変更される。
【００１４】
特定の実施形態は、仮想ストレージ・システムを用いて非同期リモート・コピーの一貫性を達成する。複製（レプリカ生成）管理アプリケーションは、受信されたが他のストレージ制御部と関連するデータと一貫性をまだ持っていないデータを未使用の物理ストレージに書き込む。一貫性を得るのに必要なデータが受信されたことに応答して、仮想化テーブルを正しい補助位置で更新して、データが書き込まれた物理ストレージ内の位置を指し示すことができる。特定の実施形態では、補助ストレージ制御部で受信したデータを、補助ストレージ制御部と関連する物理ストレージに１度だけ書き込むことができる。
【発明を実施するための最良の形態】
【００１５】
図面に関して、図中、同一の符号は対応する部分を表す。
【００１６】
以下の説明では、本明細書の一部を形成し、幾つかの実施形態を示す添付図面について述べる。当然のことながら、他の実施形態を用いることができ、本発明の実施範囲から逸脱することなく、構造上及び操作上の変更を行うことができる。
【００１７】
図１には、本発明の特定態様に従うコンピュータ環境のブロック図を示す。主ストレージ制御部１００は補助ストレージ制御部１０２に結合されている。１つ以上のアプリケーションを含むアプリケーション・システム１０４は、書き込み動作を含む主ストレージ制御部１００へのＩ／Ｏ動作を実行することができる。特定の実施形態では、アプリケーション・システム１０４は、ホスト・バス・アダプタを介して主ストレージ制御部１００に結合されているホスト計算装置内に存在することができる。
【００１８】
主ストレージ制御部１００及び補助ストレージ制御部１０２はそれぞれ主ストレージ１０６及び補助ストレージ１０８へデータを格納（ｓｔｏｒｅ）し、そこからデータを取り出す。主ストレージ１０６は主ストレージ制御部１００に結合され、補助ストレージ１０８は補助ストレージ制御部１０２に結合されている。更に、主ストレージ制御部１００及び補助ストレージ制御部１０２はそれぞれ主ストレージ１０６及び補助ストレージ１０８の動作を制御することができる。主ストレージ１０６及び補助ストレージ１０８は、ハード・ディスク・ドライブ、ＲＡＩＤ、直接アクセス記憶装置または他の種類の物理ストレージのような不揮発性ストレージを含むことができる。
【００１９】
特定の実施形態では、主ストレージ制御部１００を操作可能にしないことができ、補助ストレージ制御部１０２と関連するデータを処理のためにリカバリ・システム１１０により用いることができる。本発明の実施形態では、補助ストレージ制御部１０２と関連するデータは、主ストレージ制御部１００と関連するデータとの一貫性が維持されている。一貫性は複製（レプリカ生成）管理アプリケーション１１２により維持される。
【００２０】
複製管理アプリケーション１１２は主ストレージ制御部１００及び補助ストレージ制御部１０２に結合され、特定の実施形態では、主ストレージ制御部１００から補助ストレージ制御部１０２へデータをミラーリングすることができる。幾つかの実施形態では、主ストレージ制御部１００から補助ストレージ制御部１０２へデータを非同期にコピーすることによりミラーリングを実行することができる。
【００２１】
特定の実施形態では、複製管理アプリケーション１１２を主ストレージ制御部１００及び補助ストレージ制御部１０２にわたって広げる（ｓｐｒｅａｄ）ことができる。他の実施形態では、複製管理アプリケーション１１２は、主ストレージ制御部１００及び補助ストレージ制御部１０２と異なる別個のシステムに存在することができる。更なる追加の実施形態では、複製管理アプリケーション１１２は、主ストレージ制御部１００及び補助ストレージ制御部１０２の１つだけに存在することができる。
【００２２】
特定の実施形態では、複製管理アプリケーション１１２は、アプリケーション・システム１０４から受信されたデータ最新情報（ｄａｔａ  ｕｐｄａｔｅ）の一貫性を維持し、データ最新情報は、主ストレージ制御部１００から補助ストレージ制御部１０２へ非同期にコピーされる。複製管理アプリケーション１１２は、補助ストレージ制御部１０２に結合されている補助ストレージ１０８の仮想化を実行して、主ストレージ制御部１００及び補助ストレージ制御部１０２にわたってデータの一貫性を維持することができる。特定の実施形態では、仮想化（ｖｉｒｔｕａｌｉｚａｔｉｏｎ）は、仮想ボリュームへ物理的な補助ストレージ１０８をマッピングすることを含む。
【００２３】
従って、図１には、複製管理アプリケーション１１２が補助ストレージ制御部１０２を仮想化し、主ストレージ制御部１００及び補助ストレージ制御部１０２にわたってデータの一貫性を維持し、データは主ストレージ制御部１００から補助ストレージ制御部１０２へ非同期にコピーされる一実施形態を示す。
【００２４】
図２には、本発明の特定の記載されている実施形態に従い、複製管理アプリケーション１１２及び補助ストレージ制御部１０２に関連するデータ構造及び装置のブロック図を示す。
【００２５】
補助ストレージ制御部１０２は、１つ以上のアプリケーション２０４ａ．．．２０４ｍから主ストレージ制御部１００への書き込み動作の結果として生成されたデータ最新情報２００を受信することができ、１つ以上のアプリケーション２０４ａ．．．２０４ｍはアプリケーション・システム１０４を構成することができる。特定の実施形態では、アプリケーション・システム１０４からのデータ最新情報２００は、主ストレージ制御部１００を介して補助ストレージ制御部１０２に非同期に到着し、データ最新情報２００はデータ最新情報ストリームと称することができる。
【００２６】
複製管理アプリケーション１１２は、補助ストレージ制御部１０２と関連する仮想ボリューム２０６ａ．．．２０６ｎのような１つ以上の仮想装置を生成する。主ストレージ制御部１００は、仮想ボリューム２０６ａ．．．２０６ｎに対応する仮想ボリュームをも有することができる。特定の実施形態では、仮想ボリューム２０６ａ．．．２０６ｎに対応するデータは、物理的な補助ストレージ１０８内の位置に格納されている。物理的な補助ストレージ１０８内の位置への仮想ボリューム２０６ａ．．．２０６ｎのマッピングを、補助ストレージ制御部１０２と関連する仮想化テーブル２０８内に格納することができる。特定の実施形態では、仮想化テーブル２０８を仮想ボリューム２０６ａ．．．２０６ｎに結合することができる。
【００２７】
アプリケーション・システム１０４は、主ストレージ制御部１００と関連する仮想ボリュームに関してＩ／Ｏ動作を実行し、また、対応の仮想ボリューム２０６ａ．．．２０６ｎは補助ストレージ制御部１０２と関連する。
【００２８】
特定の実施形態では、複製管理アプリケーション１１２は、コンシステンシ・グループ判断アプリケーション２１０と、コンシステンシ・グループ２１２に対応する関連のデータ構造とを含むことができる。
【００２９】
従って、図２には、複製管理アプリケーション１１２が補助ストレージ制御部１０２を仮想化し、主ストレージ制御部１００及び補助ストレージ制御部１０２にわたってデータの一貫性を維持する一実施形態を記述する。
【００３０】
図３には、本発明の特定の記載されている実施に従い、複製管理アプリケーション１１２により生成された例示的なコンシステンシ・グループのブロック図を示す。
【００３１】
コンシステンシ・グループは、最新情報が複数のストレージ・ボリュームに及ぶことができる一連の最新情報である。複数のストレージ・ボリュームの各ストレージ・ボリュームに含まれるデータ間の相互のデータ一貫性を維持するため、最新情報を一緒に書き込む必要がある。限定されない例を示すため、第１コマンドは、主ストレージ制御部１００と関連するボリュームＡ１を、補助ストレージ制御部１０２と関連するボリュームＢ１にコピーし、第２コマンドは、主ストレージ制御部と関連するボリュームＡ２を、補助ストレージ制御部と関連するボリュームＢ２にコピーする。ボリュームＢ１及びＢ２が、特定の時点において、ボリュームＡ１及びＡ２内のデータセットの一貫した状態を表すことが必要とされる。ボリュームに関する特定の一連の動作では、アプリケーション・システム１０４による下記の一連の依存する書き込み動作が生じる場合がある（第２動作は、第１動作の後に生じる）。すなわち、
【００３２】
１．  ボリュームＡ１のデータセットへ書き込む（データが更新された）
２．  ボリュームＡ２のデータセットへ書き込む（データが更新された）
【００３３】
データ最新情報２００を介してボリュームＡ１及びＡ２をそれぞれボリュームＢ１及びＢ２に非同期にコピーする場合、一連の動作の下記の限定されない例が、ボリュームＡ１，Ａ２に対して一貫性のない状態をボリュームＢ１，Ｂ２に生成するおそれがある。
【００３４】
１．  ボリュームＡ１をボリュームＢ１にコピーする
２．  ボリュームＡ１のデータセットへ書き込む（データが更新された）
３．  ボリュームＡ２のデータセットへ書き込む（データが更新された）
４．  ボリュームＡ２をボリュームＢ２にコピーする
【００３５】
すべてのコピー動作の終わりに、すなわち、４番目の動作の終わりに、ボリュームＢ２がボリュームＡ２のデータ最新情報を含むのに対して、ボリュームＢ１はボリュームＡ１のデータ最新情報を含まない。ボリュームＢ１，Ｂ２のセットは、ボリュームＡ１，Ａ２のセットに対して一貫性のない状態にある。補助ストレージ制御部１０２と関連するボリュームＢ１，Ｂ２を用いるアプリケーション２０４ａ．．．２０４ｍは、ボリュームＢ１，Ｂ２に格納されているバックアップ・コピーから回復することができない。
【００３６】
従って、一連のデータ最新情報のすべてが、一貫性のあるデータ最新情報セットを形成できるとは限らない。図３では、テーブル３００の行は異なる装置を表し、列は異なる時間を表す。時間は相対時間であって、絶対時間ではない。例えば、ｔ３（符号３０６）はｔ２（符号３０４）の後の時間であり、ｔ２（符号３０４）はｔ１（符号３０２）の後の時間である。テーブル３００の本体の文字及び番号の組み合わせは、一度に装置への最新情報を特定（識別）する。文字はアプリケーションを特定し、番号はアプリケーションに対する一連の最新情報を特定する。例えば、Ｂ１（符号３０８）は、Ｂと指定されたアプリケーションからの第１のデータ最新情報であり、最新情報は装置Ｄ３（符号３１０）に対するものであり、相対時間ｔ１（符号３０２）に到着する。テーブル３００のエントリの異なる陰影付けは、データの一貫した最新情報セットを特定し、必ずしもテーブルのエントリの垂直部分だけとは限らない場合がある。例えば、テーブル３００は３つのコンシステンシ・グループ３１２，３１４，３１６を有する。主制御部１００と関連するデータとの一貫性を維持するため、補助制御部１０２と関連するデータに対してコンシステンシ・グループの最新情報データを補助制御部１０２に同時に加える必要がある場合がある。テーブル３００のコンシステンシ・グループ３１２，３１４，３１６の判断（ｄｅｔｅｒｍｉｎａｔｉｏｎ）を、当該技術分野で既知である何らかの方法で実行することができる。
【００３７】
従って、図３には、主ストレージ制御部１００から補助ストレージ制御部１０２に非同期に到着するデータ最新情報ストリーム２００を処理することによって、複製管理アプリケーション１１２により生成できる例示的なコンシステンシ・グループ３１２，３１４，３１６の一実施形態を示す。主ストレージ制御部１００とのデータ一貫性を維持するため、まず、コンシステンシ・グループを判断及びコミットし、次に、補助ストレージ制御部１０２の仮想ボリューム２０６ａ．．．２０６ｎにポインタまたはリンクを介してコンシステンシ・グループのデータ最新情報を反映する。
【００３８】
図４には、本発明の特定の記載されている実施形態に従い、補助ストレージ制御部１０２で実施されるような仮想化を用いて一貫性を維持するロジックを示す。
【００３９】
制御はブロック４００で開始し、ブロック４００では、複製管理アプリケーション１１２が、補助ストレージ制御部１０２と関連する仮想ボリューム２０６ａ．．．２０６ｎに対応する仮想化テーブル２０８を生成し、仮想化テーブル２０８は物理ストレージ１０８内の位置を指し示し、仮想ボリューム２０６ａ．．．２０６ｎの一貫したデータ内容を定義することができる。仮想ボリューム２０６ａ．．．２０６ｎのデータ内容の一貫性は、主ストレージ制御部１００と関連するデータ内容に関する。
【００４０】
（ブロック４０２では、）複製管理アプリケーション１１２は、補助ストレージ制御部１０２と関連する仮想ボリューム２０６ａ．．．２０６ｎに対するデータ最新情報２００を受信する。例えば、特定の実施形態では、データ最新情報２００をデータ最新情報Ｂ１（符号３０８）とすることができる。
【００４１】
（ブロック４０４では、）複製管理アプリケーション１１２はデータ最新情報２００を未使用の物理ストレージに書き込む。例えば、複製管理アプリケーション１１２はデータ最新情報２００を補助ストレージ１０８の未使用の位置に書き込むことができる。
【００４２】
（ブロック４０６では、）コンシステンシ・グループ３１２，３１４，３１６のようなコンシステンシ・グループ２１２に対してすべてのデータ最新情報が受信されたかを複製管理アプリケーション１１２が判断する。受信されたならば、（ブロック４０８で）複製管理アプリケーション１１２は仮想化テーブル２０８を更新して、コンシステンシ・グループ２１２に含まれるデータ最新情報のコミットメントを定義する物理ストレージ１０８内の位置を指し示す。更新された仮想化テーブル２０８は、仮想ボリューム２０６ａ．．．２０６ｎと関連する新たなデータを定義する。従って、補助ストレージ制御部１０２の仮想ボリューム２０６ａ．．．２０６ｎと関連するデータは、主ストレージ制御部１００と関連するデータとの一貫性を有する。
【００４３】
（ブロック４１０では、）複製管理アプリケーション１１２は、仮想化テーブル２０８の更新結果として、物理ストレージ１０８内のスペースを開放する。例えば、ブロック４０４において実行された未使用の物理ストレージに書き込まれた特定のデータ最新情報２００を必要としない場合があり、これらを開放することができる。（ブロック４０２で）複製管理アプリケーション１１２は、次のデータ最新情報２００を受信する。
【００４４】
コンシステンシ・グループ３１２，３１４，３１６のようなコンシステンシ・グループ２１２に対してすべてのデータ最新情報が受信されなかったと（ブロック４０６で）複製管理アプリケーション１１２が判断すれば、（ブロック４０２で）複製管理アプリケーション１１２は、次のデータ最新情報２００を受信する。
【００４５】
従って、図４には、複製管理アプリケーション１１２がすべてのデータ最新情報２００を未使用の物理ストレージ１０８内の位置に書き込み、コンシステンシ・グループ２１２を判断した後、仮想化テーブル２０８を更新して、特定数の書き込まれたデータ最新情報を指し示すことにより、特定数の書き込まれたデータ最新情報だけを固める（ｈａｒｄｅｎ）ことができる特定の実施形態を示す。書き込まれたデータ最新情報をコピーする必要はない。
【００４６】
図５は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第１状態を示すブロック図である。図５では、原（オリジナル）データは補助ストレージ制御部１０２と関連し、第１及び第２コンシステンシ・グループに対応するデータ最新情報は補助ストレージ制御部１０２に到着しているが、コミットされていない。
【００４７】
図５には、物理ストレージ１０８のような例示的なディスク５００の線形表現を示す。例示的なディスク５００は１０個の物理ブロックを有し、第１物理ブロックは、ディスク５００内の原データの一部であり、ＶＢ１と指定された第１仮想ブロック（ＶＢ）を含む。データ最新情報２００が到着し、異なるコンシステンシ・グループ（ＣＧ）と関連すると、データ最新情報はディスク５００内に書き込まれる。例えば、第２コンシステンシ・グループ（ＣＧ２）の一部である第４仮想ブロック（ＶＢ４）に対するデータ最新情報２００が物理ブロック５に書き込まれる。仮想ブロックは仮想ボリューム２０６ａ．．．２０６ｎに対応する。
【００４８】
また、図５は、ディスク５００内の原データの物理ブロックを指し示す現在のデータ・ポインタ５０２と、第１コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第１コンシステンシ・グループ・ポインタ５０４と、第２コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第２コンシステンシ・グループ・ポインタ５０６とを示している。
【００４９】
ポインタ５０２，５０４，５０６に対応する物理ブロックに対する仮想ブロックを表すテーブルも維持される。例えば、現在のデータ・ポインタ・テーブル５０８は、ディスク５００内の物理ブロックへの仮想ブロックの現在のマッピングを示している。現在のデータ・ポインタ・テーブル５０８のマッピングは、固められ、またはコミットされたデータ、すなわち、主ストレージ制御部１００及び補助ストレージ制御部１０２にわたって一貫性のあるデータを示している。補助ストレージ制御部１０２と関連するデータにアクセスするアプリケーション２０４ａ．．．２０４ｎは、現在のデータ・ポインタ５０２により指し示されているデータを用いて動作する。
【００５０】
第１コンシステンシ・グループ・ポインタ・テーブル５１０は、第１コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク５００内の物理ブロックへの仮想ブロックのマッピングを示している。第１コンシステンシ・グループ・ポインタ・テーブル５１０に表されているデータは、まだコミットされていない第１コンシステンシ・グループとして固められていない。
【００５１】
同様に、第２コンシステンシ・グループ・ポインタ・テーブル５１２は、第２コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク５００内の物理ブロックへの仮想ブロックのマッピングを示している。第２コンシステンシ・グループ・ポインタ・テーブル５１２に表されているデータは、まだコミットされていない第２コンシステンシ・グループとして固められていない。
【００５２】
従って、図５には、第１及び第２コンシステンシ・グループに対するデータ最新情報２００が補助ストレージ制御部１０２に到着してはいるが、コミットされていない一実施形態における第１状態のデータ構造を示す。
【００５３】
図６は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第２状態を示すブロック図である。図６では、第１コンシステンシ・グループ・ポインタ・テーブル５１０に対応するデータ最新情報２００は固められている。すなわち、第１コンシステンシ・グループがコミットされ、第３コンシステンシ・グループに対応するコミットされていないデータ最新情報２００は補助ストレージ制御部１０２に到着している。
【００５４】
図６には、ディスク５００内の原データの物理ブロックを指し示す更新された現在のデータ・ポインタ５０２と、コミットされていない第２コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第２コンシステンシ・グループ・ポインタ５０６と、第３コンシステンシ・グループを含むコミットされていないデータ最新情報に対応する物理ブロックを指し示す新しい第３コンシステンシ・グループ・ポインタ６００とを示す。
【００５５】
ポインタ５０２，５０６，５１０にマッピングする物理ブロックに対する仮想ブロックを表すテーブルも維持される。例えば、現在のデータ・ポインタ・テーブル５０８は、ディスク５００内の物理ブロックへの仮想ブロックの現在のマッピングを示している。現在のデータ・ポインタ・テーブル５０８におけるマッピングは、第１コンシステンシ・グループのデータ最新情報２００がコミットされた後に固められ、またはコミットされたデータを示している。
【００５６】
第３コンシステンシ・グループ・ポインタ・テーブル６０２は、第３コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク５００内の物理ブロックへの仮想ブロックのマッピングを示している。第２コンシステンシ・グループ・ポインタ・テーブル５１２または第３コンシステンシ・グループ・ポインタ・テーブル６０２に表されているデータは、まだコミットされていない第２及び第３コンシステンシ・グループとして固められていない。図６では、第１コンシステンシ・グループに対するデータ最新情報がコミットされたので、第１コンシステンシ・グループ・ポインタ・テーブル５１０は削除されている。
【００５７】
従って、図６には、第１、第２及び第３コンシステンシ・グループに対するデータ最新情報２００が補助ストレージ制御部１０２に到着し、第１コンシステンシ・グループのデータ最新情報のみコミットされている一実施形態を示す。
【００５８】
図７は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第３状態を示すブロック図である。図７では、第２及び第３コンシステンシ・グループに対応するデータ最新情報２００はコミットされている。
【００５９】
第１、第２及び第３コンシステンシ・グループのデータ最新情報がコミットされているので、第１コンシステンシ・グループ・ポインタ・テーブル５１０、第２コンシステンシ・グループ・ポインタ・テーブル５１２及び第３コンシステンシ・グループ・ポインタ・テーブル６０２はすべて削除されて示されている。現在のデータ・ポインタはディスク５００の物理ブロック５，６，８，９を指し示し、仮想ブロックＶＢ４、ＶＢ２、ＶＢ１及びＶＢ３にそれぞれ対応する。
【００６０】
従って、図７には、第１、第２及び第３コンシステンシ・グループに対するデータ最新情報２００が補助ストレージ制御部１０２に到着し、すべてのデータ最新情報がコミットされている一実施形態を示す。
【００６１】
図８には、本発明の特定の記載されている実施形態に従い、複製管理アプリケーション１１２で実施される一貫性の維持及び災害（ｄｉｓａｓｔｅｒ）リカバリのためのロジックを示す。
【００６２】
制御はブロック８００で開始し、ブロック８００では、現在のコンシステンシ・グループを１に初期化する。（ブロック８０２では、）すべてのストレージ制御部すなわち主ストレージ制御部１００及び補助ストレージ制御部１０２が現在のコンシステンシ・グループのデータ最新情報を受信したかを複製管理アプリケーション１１２が判断する。受信したならば、（ブロック８０４で）複製管理アプリケーション１１２は現在のコンシステンシ・グループのデータ最新情報をコミットし、すべてのストレージ制御部に対して、現在のポインタを現在のコンシステンシ・グループのデータ最新情報に設定する。特定の実施形態では、仮想化テーブル２０８と関連するデータ構造、または、ポインタ・テーブル５０８，５１０，５１２，６０２あるいはその両方を介して現在のポインタを実装することができる。
【００６３】
（ブロック８０６では、）すべてのポインタが更新されたかを複製管理アプリケーション１１２が判断する。更新されたならば、（ブロック８０８で）複製管理アプリケーション１１２は現在のコンシステンシ・グループ・ポインタを削除する。
【００６４】
（ブロック８１０では、）複製管理アプリケーション１１２は現在のコンシステンシ・グループをインクリメントする。例えば、ブロック８０２〜８０８の最初の（第１の）繰り返し中、第１コンシステンシ・グループのデータ最新情報を処理していれば、ブロック８０２〜８０８の次の（第２の）繰り返し中、第２コンシステンシ・グループのデータ最新情報を処理する。（ブロック８１２では、）複製管理アプリケーション１１２は、現在のコンシステンシ・グループのデータ最新情報が到着するのを待つ。待機する間、エラーがなければ、制御がブロック８０２に進み、ブロック８０２で、すべてのストレージ制御部が現在のコンシステンシ・グループに対するデータ最新情報を受信したかを複製管理アプリケーション１１２が判断する。
【００６５】
すべてのストレージ制御部が現在のコンシステンシ・グループのデータ最新情報を受信していないと複製管理アプリケーション１１２が判断すれば、（ブロック８１２で）複製管理アプリケーション１１２は、現在のコンシステンシ・グループのすべてのデータ最新情報が到着するのを待つ。（ブロック８１２で）待機する間、エラーまたは災害が発生したら、（ブロック８１４で）複製管理アプリケーション１１２はすべてのストレージ制御部における現在のコンシステンシ・グループを判断し、次に、各ストレージ制御部における最後の利用可能なコンシステンシ・グループを（ブロック８１６で）判断する。（ブロック８１８では、）複製管理アプリケーション１１２は、すべてのストレージ制御部で利用できる最大のコンシステンシ・グループを判断し、次に、すべてのストレージ制御部における最後の利用可能なコンシステンシ・グループに対応するようにすべてのストレージ制御部におけるポインタを（ブロック８２０で）更新する。
【００６６】
すべてのポインタが更新されていないと（ブロック８０６で）複製管理アプリケーション１１２が判断すれば、（ブロック８２２で）複製管理アプリケーション１１２は、すべてのポインタが更新されるのを待つ。待機する間、エラーがなければ、制御がブロック８０６に戻り、ブロック８０６で、すべてのポインタが更新されたかを複製管理アプリケーション１１２が判断する。
【００６７】
（ブロック８２２で）待機する間、エラーが生じれば、（ブロック８２４で）複製管理アプリケーション１１２は、すべてのストレージ制御部に対してＦＯＲループを実行し始める。（ブロック８２４で、）ＦＯＲループに関する制御を１回の繰り返しにつき１つのストレージ制御部に対して実行する。ＦＯＲループが不完全であれば、すなわち、すべてのストレージ制御部を処理していなければ、ポインタが、処理しているストレージ制御部の現在のコンシステンシ・グループに対応するかを（ブロック８２６で）複製管理アプリケーション１１２が判断する。対応すれば、複製管理アプリケーション１１２は（ブロック８２８で）ポインタを戻して前のコンシステンシ・グループに対応し、（ブロック８２４で）制御が次のストレージ制御部に関するＦＯＲループの次の繰り返しに進む。
【００６８】
（ブロック８２６で）ポインタが現在のコンシステンシ・グループに対応しなければ、（ブロック８２４で）制御が次のストレージ制御部に関するＦＯＲループの次の繰り返しに進む。ＦＯＲループの終わりで（ブロック８３０で）、ストレージ制御部のデータは前のコンシステンシ・グループに対して一貫性を有する。
【００６９】
従って、図８のロジックは、すべてのストレージ制御部におけるデータを互いに一貫するように維持し、更に、ポインタを更新している間、または、データ最新情報を受信している間、エラーまたは災害がストレージ制御部に影響を及ぼす場合には、前に処理されたコンシステンシ・グループと関連するデータ最新情報を反映するようにストレージ制御部においてポインタを戻すことができ、これによって、ストレージ制御部内のポインタは互いに一貫性を有する。
【００７０】
これら実施形態は、ストレージ・システムを仮想化することにより非同期リモート・コピーの一貫性を達成する。複製管理アプリケーションは、受信されたが他のストレージ・サブシステムのデータと一貫性をまだ持っていないデータを未使用の物理ストレージに書き込む。一貫性を与えるのに必要なデータが受信されたことに応答して、ポインタ及びテーブルを正しいターゲット位置で更新して、データが書き込まれた物理ストレージ内の位置を指し示すことができる。
【００７１】
従って、実施形態は、データ一貫性を確実にするための２相コミット（ｔｗｏ  ｐｈａｓｅ  ｃｏｍｍｉｔ）を補助ストレージ制御部で必要としない。２相コミットでは、データ最新情報を、第１相の補助ストレージ制御部と関連するジャーナル・データセットに書き込むことができ、コンシステンシ・グループがコミットされると、第２相で適切なデータ最新情報をコピーすることができる。ジャーナル・データセットを用いずにこの実施形態は実施される。コンシステンシ・グループがコミットされたことに応答して、物理ストレージ内の適切な位置を指し示すようにポインタを調節し、これによって、調節されたポインタは、すべてのストレージ制御部にわたって一貫性のあるデータ・セットを表すようにする。
【００７２】
更に、ポインタを更新している間、または、データ最新情報を待機している間にエラーまたは災害が生じる場合、この実施形態は、前に処理されたコンシステンシ・グループと関連するデータ最新情報を反映するようにストレージ制御部においてポインタを調節することができ、これによって、ストレージ制御部のデータは互いに一貫性を有する。
【００７３】
更に、ディスクにデータ最新情報を保持することができるので、スペース利用率または変動率について、キャッシュにデータ最新情報を保持する場合よりも制約が少ない。その上、一度に進行するコンシステンシ・グループの数に対する最新情報を含むのに足りる追加のディスク・スペースのみが必要とされる。
【００７４】
また、いかなるデータ最新情報も物理的に上書きされないので、特定の実施形態では、ストレージ制御部で一貫性のあるデータ・セットを維持することを可能にでき、または、これらデータ・セットよりも前の複数のデータ・セットに戻すことを可能にすることができる。
【００７５】
標準のプログラミング技術またはエンジニアリング技術あるいはその両方を用いて、ソフトウェア、ファームウェア、ハードウェアまたはこれらの任意の組み合わせを製造する製品、装置または方法として、記載した技術を実装することができる。本明細書に用いる「製品」とは、ハードウェアロジック（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）またはコンピュータ可読媒体（例えば、ハード・ディスク・ドライブ、フレキシブルディスク、テープのような磁気記憶媒体）、光ストレージ（例えば、ＣＤ−ＲＯＭ、光ディスクなど）、揮発性及び不揮発性メモリ装置（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラマブル・ロジックなど）に実装されるコードまたはロジックを意味する。コンピュータ可読媒体内のコードはプロセッサによりアクセスされ実行される。伝送媒体を介して、または、ネットワーク上のファイルサーバから、実装されるコードに更にアクセスすることができる。このような場合では、コードが実装されている製品は、ネットワーク伝送線のような伝送媒体、無線伝送媒体、空間を伝播する信号、電波、赤外線信号などを含むことができる。これら実施の範囲内から逸脱することなく、この設定に多くの変更を行うことができ、製品が、当該技術分野で既知である情報保持媒体のいずれをも含むということを当業者が認識することもちろんである。
【００７６】
図９には、本発明の特定の態様が実施されるコンピュータ・アーキテクチャのブロック図を示す。図９には、ストレージ制御部１００，１０２と、アプリケーション・システム１０４を含むホストと、複製管理アプリケーション１１２を含む何らかのコンピュータ装置との一実施形態を示す。ストレージ制御部１００，１０２と、アプリケーション・システム１０４を含むホストと、複製管理アプリケーション１１２を含む何らかのコンピュータ装置とは、プロセッサ９０２、メモリ９０４（例えば、揮発性メモリ装置）及びストレージ９０６（例えば、不揮発性ストレージ、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなど）を有するコンピュータ・アーキテクチャ９００を実装することができる。ストレージ９０６は、内部ストレージ装置、接続ストレージ装置またはネットワークアクセス可能なストレージ装置を含むことができる。ストレージ９０６内のプログラムをメモリ９０４内にロードし、当該技術分野で知られているようにプロセッサ９０２により実行することができる。アーキテクチャは、ネットワークとの通信を可能にするネットワークカード９０８を更に含むことができる。アーキテクチャは、キーボード、タッチ画面、ペン、音声作動式入力装置などのような少なくとも１つの入力装置９１０、及び、表示装置、スピーカ、プリンタなどのような少なくとも１つの出力装置９１２をも含むことができる。
【００７７】
図４〜８は、特定の順序で生じる特定の動作を描写する。その上、連続のみならず並行しても動作を実行することができる。代替の実施形態では、特定のロジック動作を異なる順序で実行するか、修正するか、または、取り除くことができ、これらロジック動作は依然として本発明の実施形態を実施することができる。更に、上述したロジックにステップを加えることができ、これらステップは依然として実施形態に適合する。更なるステップを単一処理または分散処理により実行することができる。
【００７８】
この実施形態は非同期ピア・ツー・ピア・リモート・コピーに関して書かれたものであるが、コピーに２相コミットが必要とされる追加の実施形態を用いることができる。例えば、データベース・ログ及びテーブル・スペースの両方が同一の仮想化エンジンに含まれていれば、トランザクションをログに書き込むことができ、次に、実施形態に記述した仮想化を用いてコミットを達成することができる。コミットのためにデータをストレージへ転送する必要がないので、データベースを処理する性能を改善することができる。
【００７９】
図示目的のため、多くのソフトウェア及びハードウェア・コンポーネント（構成要素）を別々のモジュール内に描写した。このようなコンポーネントを、より少ないコンポーネント内に統合するか、または、より多くのコンポーネントに分割することができる。更に、特定のコンポーネントにより実行するように記述された特定の動作を別のコンポーネントにより実行することができる。
【００８０】
従って、上述の実施形態を例示目的のために提示している。上述の実施形態は本発明を網羅するものではなく、または、本発明を厳格な開示形態に限定するものではない。上記の教示に照らして多くの修正及び変形が可能である。本発明の範囲は、この詳細な実施形態により限定されるものではなく、むしろ、特許請求の範囲により限定されるものである。上記の詳述、例及びデータは、本発明の構成要素の製造及び使用を充分に説明する。本発明の精神及び範囲を逸脱することなく、本発明の多くの実施形態を構成することができるので、本発明は特許請求の範囲に属する。
【図面の簡単な説明】
【００８１】
【図１】本発明の特定の記載されている態様に従うコンピュータ環境のブロック図である。
【図２】本発明の特定の記載されている実施に従い、コンピュータ環境に関連するデータ構造及び装置のブロック図である。
【図３】本発明の特定の記載されている実施に従うコンシステンシ・グループのブロック図である。
【図４】本発明の特定の記載されている実施に従い、仮想化を用いて一貫性を維持するロジックを示す流れ図である。
【図５】本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第１状態を示すブロック図である。
【図６】本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第２状態を示すブロック図である。
【図７】本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第３状態を示すブロック図である。
【図８】本発明の特定の記載されている実施に従う一貫性の維持及び災害リカバリのためのロジックを示す流れ図である。
【図９】本発明の特定の記載されている態様が実施されるコンピュータ・アーキテクチャのブロック図である。
【図１】
2007518174.tif 000003
【図２】
2007518174.tif 000004
【図３】
2007518174.tif 000005
【図４】
2007518174.tif 000006
【図５】
2007518174.tif 000007
【図６】
2007518174.tif 000008
【図７】
2007518174.tif 000009
【図８】
2007518174.tif 000010
【図９】
2007518174.tif 000011
【国際調査報告】
2007518174.tif 000012
2007518174.tif 000013
2007518174.tif 000014