(57)【要約】【課題】  異なるコピー技術を用いてデータをミラーリングするときに整合性を維持するための方法、システム、及びプログラムを提供すること。【解決手段】  異なるコピー技術を用いてデータをミラーリングする場合に整合性を維持するための方法、システム、及びプログラムが提供される。一次記憶場所の更新を有する更新グループが、第１コピー技術を用いて生成される。更新グループにおける更新は、二次記憶場所にコピーされる。一次記憶場所の更新を有する更新グループが、第２コピー技術を用いて生成され、更新グループにおける更新は、二次記憶場所にコピーされる。第１コピー技術を用いて生成された更新グループの１つに更新を含むことに応答して、更新の時間の表示がデータ構造内で作成される。更に、第２コピー技術を用いて生成された更新グループの時間の表示がデータ構造内で作成される。【選択図】      図１
2007183930.tif 000002
【特許請求の範囲】
【請求項１】
一次記憶場所の更新を二次記憶場所にコピーするための第１コピー・プログラム及び第２コピー・プログラムを含むプログラムであって、
前記第１コピー・プログラムが、
前記二次記憶場所にコピーされる、前記一次記憶場所の更新を有する更新グループを、第１コピー技術を用いて生成することと、
前記第１コピー技術を用いて生成された前記更新グループの１つに前記更新を含むことに応答して、更新の時間をデータ構造に示すことと、
を含む動作を実行させ、
前記第２コピー・プログラムが、
前記二次記憶場所にコピーされる、前記一次記憶場所の更新を有する更新グループを、第２コピー技術を用いて生成することと、
前記第２コピー技術を用いて生成された前記更新グループの時間を前記データ構造に示すことと、
を含む動作を実行させる、
前記プログラム。
【請求項２】
前記第１コピー・プログラムが、
前記データ構造に示された前記時間に基づく基準時間より小さい時間を有する全ての更新グループを求めることと、
前記第１コピー技術及び前記第２コピー技術を用いて生成された更新グループを含むことができる、前記求められた更新グループにおける前記更新を、前記二次記憶場所にコピーさせる動作を開始することと、
を更に実行する、請求項１に記載のプログラム。
【請求項３】
前記更新グループが整合性グループを含み、前記第１コピー・プログラムが、前記一次記憶場所から前記二次記憶場所にコピーするための更新の整合性グループを生成し、前記第１コピー・プログラムが、
システム・データ・ムーバの各々について前記データ構造に示された最大時間を求めることであって、前記基準時間が、前記求められた最大時間の最小値と、前記データ構造に示された、前記第２コピー技術により生成された前記整合性グループの時間とを含む、前記最大時間を求めること、
を含む動作を更に実行させる、請求項２に記載のプログラム。
【請求項４】
前記第１コピー・プログラムが、
前記基準時間を周期的に計算して、前記基準時間を求めることと、
前記周期的に計算された基準時間より小さいか又はこれと等しいタイムスタンプを有する整合性グループをコピーすることと、
を更に実行する、請求項３に記載のプログラム。
【請求項５】
前記第２コピー・プログラムが、前記第２コピー技術を用いて整合性グループを生成し、
前記第２コピー技術を用いて生成された前記整合性グループについて前記データ構造に示された前記時間が、前記基準時間より小さいと判断されたことに応答して、前記第２コピー技術を用いて生成された前記整合性グループにおける前記更新を、前記二次記憶場所にコピーするよう前記第２コピー・プログラムに信号を送るための第３コピー・プログラム、
を更に含む、請求項３に記載のプログラム。
【請求項６】
前記第２コピー・プログラムが、
コミット要求を前記第３コピー・プログラムに送信することであって、前記第３コピー・プログラムが、前記第２コピー・プログラムにより生成された前記整合性グループの前記時間を前記データ構造に示し、前記第２コピー・プログラムに信号を送ることが、前記コミット要求を受信した後で実行されること、
を含む動作を更に生じさせる、請求項５に記載のプログラム。
【請求項７】
前記第２コピー・プログラムが、前記生成された整合性グループについての前記更新をジャーナル・ボリュームにコピーすることに応答して、前記コミット要求を送信し、前記第２コピー・プログラムが、前記更新を前記二次記憶場所にコピーする前記信号に応答して、前記整合性グループにおける前記更新を前記ジャーナル・ボリュームから前記二次記憶場所にコピーする、請求項６に記載のプログラム。
【請求項８】
前記更新グループが整合性グループを含み、前記第１コピー技術が、前記一次記憶場所の更新を読取るシステム・データ・ムーバにより整合性グループを生成し、前記システム・データ・ムーバが、１つの整合性グループに加えられた最近の更新時間を前記データ構造に示し、前記第２コピー技術が、ソース記憶場所にアクセスするアプリケーションを休止させることにより新たな整合性グループを生成する、請求項１に記載のプログラム。
【請求項９】
前記更新グループが整合性グループを含み、前記第１コピー技術が、前記第２コピー技術より頻繁に整合性グループを生成する、請求項１に記載のプログラム。
【請求項１０】
前記第１コピー技術がＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）技術を含み、前記第２コピー技術が、ソース・ストレージから二次サイトへの非同期遠隔コピーと、前記二次サイトにおけるデータの前記二次記憶場所へのＦｌａｓｈＣｏｐｙ操作とを含む、請求項１に記載のプログラム。
【請求項１１】
一次記憶場所及び二次記憶場所を含む、ネットワークにおいて実装されるシステムであって、
データ構造と、
第１システムであって、
前記二次記憶場所の少なくとも１つにコピーされる、前記一次記憶場所の少なくとも１つの更新を有する更新グループを、第１コピー技術を用いて生成することと、
前記第１コピー技術を用いて生成された前記更新グループの１つに前記更新を含むことに応答して、更新の時間を前記データ構造に示すことと、
を含む動作を実行させる第１コピー・プログラムを含む前記第１システムと、
第２システムであって、
前記二次記憶場所の少なくとも１つにコピーされる、前記一次記憶場所の少なくとも１つの更新を有する更新グループを、第２コピー技術を用いて生成することと、
前記第２コピー技術を用いて生成された前記更新グループの時間を前記データ構造に示すことと、
を含む動作を実行させる第２コピー・プログラムを含む前記第２システムと、
を含むシステム。
【請求項１２】
前記第１コピー・プログラムが、
前記データ構造に示された前記時間に基づく基準時間より小さい時間を有する全ての更新グループを求めることと、
前記第１コピー技術及び前記第２コピー技術を用いて生成された更新グループを含むことができる、前記求められた更新グループにおける前記更新を、前記二次記憶場所にコピーさせる動作を開始することと、
を含む動作を更に実行させることができる、請求項１１に記載のシステム。
【請求項１３】
前記更新グループが整合性グループを含み、
複数の第１システムであって、各々の第１のシステムが、前記第１コピー・プログラムのインスタンスを用いて前記一次記憶場所から前記二次記憶場所にコピーするための更新の整合性グループを生成する、複数の第１システム、
を含み、前記第１コピー・プログラムの前記インスタンスが更に、
システム・データ・ムーバの各々について前記データ構造に示された最大時間を求めることであって、前記基準時間が、前記求められた最大時間の最小値と、前記データ構造に示された、前記第２コピー技術により生成された前記整合性グループの時間とを含む、前記最大時間を求めること、
を実行する、請求項１２に記載のシステム。
【請求項１４】
前記第２コピー技術を用いて生成された前記整合性グループについて前記データ構造に示された前記時間が、前記基準時間より小さいと判断されたことに応答して、前記第２コピー技術を用いて生成された前記整合性グループにおける前記更新を、前記二次記憶場所にコピーするよう前記第２のシステムに信号を送ることを含む動作を実行する第３コピー・プログラムを含む第３のシステム、
を更に含む、請求項１３に記載のシステム。
【請求項１５】
前記更新グループが整合性グループを含み、前記第１コピー・プログラムが、前記一次記憶場所の更新を読取ることにより前記第１コピー技術を用いて整合性グループを生成し、前記第１コピー・プログラムが、１つの整合性グループに加えられた最近の更新時間を前記データ構造に示し、前記第２コピー・プログラムが、ソース記憶場所にアクセスするアプリケーションを休止させることにより前記第２コピー技術を用いて新たな整合性グループを生成する、請求項１１に記載のシステム。
【請求項１６】
二次記憶場所にコピーされる、一次記憶場所の更新を有する更新グループを、第１コピー技術を用いて生成することと、
前記二次記憶場所にコピーされる、前記一次記憶場所の更新を有する更新グループを、第２コピー技術を用いて生成することと、
前記第１コピー技術を用いて生成された前記更新グループの１つに更新を含むことに応答して、更新の時間をデータ構造に示すことと、
前記第２コピー技術を用いて生成された前記更新グループの時間を前記データ構造に示すことと、
を含む方法。
【請求項１７】
前記データ構造に示された前記時間に基づく基準時間より小さい時間を有する全ての更新グループを求めることと、
前記第１コピー技術及び前記第２コピー技術を用いて生成された更新グループを含むことができる、前記求められた更新グループにおける前記更新を、前記二次記憶場所にコピーさせる動作を開始することと、
を更に含む、請求項１６に記載の方法。
【請求項１８】
前記更新グループが整合性グループを含み、複数のシステム・データ・ムーバが、前記第１コピー技術を用いて、前記一次記憶場所から前記二次記憶場所にコピーするための更新の整合性グループを生成し、
前記システム・データ・ムーバの各々について前記データ構造に示される最大時間を求めることであって、前記基準時間が、前記求められた最大時間の最小値と、前記データ構造に示された、前記第２コピー技術により生成された前記整合性グループの時間とを含む、前記最大時間を求めること、
を更に含む、請求項１７に記載の方法。
【請求項１９】
前記第２コピー技術のシステムが、前記第２コピー技術を用いて整合性グループを生成し、
前記第２コピー技術を用いて生成された前記整合性グループについて前記データ構造に示された前記時間が、前記基準時間より小さいと判断されたことに応答して、前記第２コピー技術を用いて生成された前記整合性グループにおける更新を、前記二次記憶場所にコピーするよう前記第２コピー技術のシステムに信号を送ることを更に含む、請求項１８に記載の方法。
【請求項２０】
前記更新グループが整合性グループを含み、前記第１コピー技術が、前記一次記憶場所の更新を読取るシステム・データ・ムーバにより整合性グループを生成し、前記システム・データ・ムーバが、１つの整合性グループに加えられた最近の更新時間を前記データ構造に示し、前記第２コピー技術が、ソース記憶場所にアクセスするアプリケーションを休止させることにより新たな整合性グループを生成する、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるコピー技術を用いてデータをミラーリングする場合に整合性を維持するための方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
災害時回復システムは、典型的には、ある一時点の思いがけない突発的な障害、又は、ある期間にわたるデータ損失といった二種類の障害に対処する。第２のタイプの段階的災害においては、ボリュームの更新が失われることがある。データ更新の回復を支援するために、データのコピーを離れた場所に用意することがある。こうした二重コピー又はシャドー・コピーは、典型的には、アプリケーション・システムが新規データを一次記憶装置に書込んでいるときに作成される。データの遠隔コピーを二次サイトにおいて保持するために、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅ  Ｃｏｒｐｏｒａｔｉｏｎ（「ＩＢＭ」（登録商標））のＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）、Ｃｏｕｐｌｅｄ  ＸＲＣ（ＣＸＲＣ）、Ｇｌｏｂａｌ  Ｃｏｐｙ、及びＧｌｏｂａｌ  Ｍｉｒｒｏｒ  Ｃｏｐｙといった異なるコピー技術を用いることができる。これらの異なるコピー技術は、ＩＢＭの刊行物である非特許文献１及び非特許文献２に説明されている。
【０００３】
データ・ミラーリング・システムにおいては、データはボリューム対として保持される。ボリューム対は、一次記憶装置内のボリュームと、一次ボリューム内に保持されたデータと同一のコピーを含む二次記憶装置内の対応するボリュームとで構成される。一次記憶コントローラ及び二次記憶コントローラを用いて、一次記憶装置及び二次記憶装置へのアクセスを制御することができる。特定のバックアップ・システムにおいては、異なるアプリケーションによって異なる一次記憶装置に書込まれた更新が整合性のある時刻（ＴＯＤ）値をタイムスタンプとして用いるように、シスプレックス・タイマーを用いてシステム全体にわたって一様な時間を提供する。ホスト・オペレーティング・システム又はアプリケーションは、データ・セットを一次ストレージ内のボリュームに書込むときに、こうしたデータ・セット又はデータ・セットの組のタイムスタンプ更新を行うことができる。データ更新の完全性は、ボリューム対における二次ボリュームにおいて、一次ボリュームで行われた順番と同じ順番で更新が行われることを保証することに関連する。アプリケーション・プログラムによって与えられるタイムスタンプが、データ更新の論理的シーケンスを決定する。
【０００４】
データベース・システムなどの多くのアプリケーション・プログラムにおいては、前の書込みが発生していない限り、特定の書込みが発生することはなく、さもなければ、データの完全性が損なわれることになる。完全性が前のデータ書込みの発生に依存するデータ書込みは、従属的書込み（ｄｅｐｅｎｄｅｎｔ  ｗｒｉｔｅ）として知られる。一次記憶装置内のボリュームと二次記憶装置内のボリュームは、全ての書込みが論理的順番で転送されたときに、即ち、全ての従属的書込みがそれらに依存する書込みより前に先ず転送されたときに、整合性を持つ。整合性グループ（ｃｏｎｓｉｓｔｅｎｃｙ  ｇｒｏｕｐ）は、整合性グループにおける全てのデータ書込みについて、整合性タイムスタンプと等しいか又はこれより早いタイムスタンプを有する整合性時間（ｃｏｎｓｉｓｔｅｎｃｙ  ｔｉｍｅ）を有する。整合性グループは、従属的書込みが整合性を保つように保護された、一次ボリュームの更新の集合である。整合性時間は、二次ボリュームの更新に整合性があることをシステムが保証する最新の時間である。整合性グループは、ボリューム及び記憶装置全体にわたるデータ整合性を維持する。従って、データが二次ボリュームから回復されたときには、回復されたデータは整合性があるものとなる。
【０００５】
整合性グループはセッション内で生成される。セッションに割り当てられた全てのボリューム対は、同じ整合性グループにおいて維持される更新を有する。このように、セッションを用いて、整合性グループ内で共にグループ化されることになるボリュームを決定する。整合性グループは、ジャーナル・デバイス又はボリューム内で生成される。ジャーナルから整合性グループを生成するために集められた更新が、二次ボリュームに適用される。ジャーナルからの更新が二次ボリュームに適用されている間にシステムが故障した場合には、回復動作の間に、二次ボリュームへの書込みが完了しなかった更新をジャーナルから回復させて二次ボリュームに適用することができる。
【０００６】
【非特許文献１】ＩＢＭ文書ＳＧ−２４−６７８３−００号（２００５年９月）「Ｔｈｅ  ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  ＤＳ６０００  Ｓｅｒｉｅｓ：Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｏｐｅｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」
【非特許文献２】ＩＢＭ文書ＳＧ−２４−５６８０−０４号（２００４年７月）「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ：Ｉｍｐｌｅｍｅｎｔｉｎｇ  ＥＳＳ  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｗｉｔｈ  ＩＢＭ  ｅＳｅｒｖｅｒ  ｚＳｅｒｉｅｓ」
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特定のネットワーク環境は、異なるコピー技術を配置して、一次ボリュームのミラー・コピーをネットワーク内に準備することができる。異なるコピー技術は、異なる方法論及びアルゴリズムを用いて整合性グループを生成することができるが、異なるコピー技術を用いて生成された整合性グループ全体にわたり整合性を維持することはできない。
【０００８】
これらの理由のために、当該技術分野において、整合性グループを管理するための改良された技術に対する必要性がある。
【課題を解決するための手段】
【０００９】
異なるコピー技術を用いてデータをミラーリングするときに整合性を維持するための方法、システム、及びプログラムが提供される。一次記憶場所の更新を有する更新グループが、第１コピー技術を用いて生成される。更新グループにおける更新は、二次記憶場所にコピーされる。一次記憶場所の更新を有する更新グループが、第２コピー技術を用いて生成され、更新グループにおける更新は、二次記憶場所にコピーされる。第１コピー技術を用いて生成された更新グループの１つに更新を含むことに応答して、更新の時間の表示がデータ構造内で作成される。更に、第２コピー技術を用いて生成された更新グループの時間の表示がデータ構造内で作成される。
【発明を実施するための最良の形態】
【００１０】
図１は、ネットワーク・コンピューティング環境の実施形態を示す。ミラー・システム２は、アプリケーション（図示せず）により一次ストレージ６に書込まれた更新を、遠隔サイトの記憶システムにあるものとすることができるジャーナル・ボリューム８にコピーすることを管理するミラー・プログラム４を含む。ある時点で、更新がジャーナル・ボリューム８にコピーされると、これらの更新は、整合性グループ（ＣＧ）１０に集められることになる。整合性グループについての全ての更新がジャーナル・ボリューム８に集められると、別のコピー操作を実行して、整合性グループ１０を、別個のシステムにあるものとすることができる二次ストレージにコピーすることができる。ミラー・システム２、一次ストレージ６、ジャーナル・ボリューム８、及び二次ストレージ１２は、ピア・ツー・ピア・ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）等のネットワーク１４上で通信することができる。一次ストレージ６は一次サイトにあるものとすることができ、ジャーナル・ボリューム８及び二次ストレージ１２は二次サイトにあるものとすることができ、これらのサイトは、例えば、何百マイル或いは何千マイルという長距離で隔てられており、二次サイトにおいて長距離ミラーリングを提供することができる。更に、一次ストレージ６及び二次ストレージ１２にアクセスすることができる一次記憶コントローラ及び二次記憶コントローラが存在する場合がある。
【００１１】
一次ストレージ６からジャーナル・ボリューム８への更新のコピー操作は、Ｐｅｅｒ−ｔｏＰｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ−Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅ、Ｇｌｏｂａｌ  Ｃｏｐｙ、Ｇｌｏｂａｌ  Ｍｉｒｒｏｒ等の非同期コピー操作を含むことができる。整合性グループを生成するために、ミラー・プログラム４は、一次ストレージ６の更新を示すビットマップを保持することができる。整合性グループを完成させるために、ミラー・プログラム４は、一次ストレージ６のあらゆる更新をフリーズ又は休止させ、次いで、その後の一次ストレージ６のあらゆる更新を記録するのに用いるための新規なビットマップを準備することができる。一次ストレージ６の新規のあらゆる更新の表示を記録する新規なビットマップを確立した後で、ミラー・プログラム４は、一次ストレージ６に対してＩ／Ｏを続行することを可能にする。次いで、新規なビットマップを確立する前に生じた更新を示す以前のビットマップを用いて、以前のビットマップに示された更新をジャーナル・ボリューム８に非同期的にコピーすることにより、整合性グループ１０をジャーナル・ボリューム８に生成する。整合性グループ１０内の全てのデータがジャーナル・ボリューム８に入ると、ミラー・プログラム４は、整合性グループ１０を二次ストレージ１２にコピーする動作を開始することができる。整合性グループ１０をジャーナル・ボリューム８から二次ストレージ１２にコピーする動作は、ＩＢＭのＦｌａｓｈ  Ｃｏｐｙ  ｏｐｅｒａｔｉｏｎのような論理的コピー操作を含むことができ、このコピー操作は、コピーするトラックを識別するビットマップを作成することにより完了する。１つの実施形態においては、一次ストレージ６の変更をジャーナル・ボリューム８に、次いで二次ストレージ１２にコピーするために用いられるコピー技術は、ＩＢＭのＧｌｏｂａｌ  Ｍｉｒｒｏｒ  ｃｏｐｙ  ｏｐｅｒａｔｉｏｎを含むことができ、これは、整合性グループについての更新を一次ストレージ６から二次サイトにおけるジャーナル・ボリューム８に非同期的に遠隔コピーし、次いで、整合性グループ１０を二次ストレージ１２にフラッシュ・コピーすることを含む。
【００１２】
ミラー・プログラム４によって管理される、一次ストレージ６から二次ストレージ１２へのコピー操作は、第１コピー技術を含む。ＩＢＭのＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）のコピー技術のような第２コピー技術は、一次ストレージ２０ａ．．．２０ｎから二次ストレージ２２ａ．．．２２ｎにデータをコピーするために配置することができる。両方のコピー技術は、セッションを共有するボリュームの全ての更新について整合性グループを生成する。整合性グループは、複数の記憶制御全体にもわたって、更新の順番が保存された記録を含む。こうした順番の保存は、インデックス及びデータ及びデータベース及びログといった従属的書込みＩ／Ｏを処理するアプリケーションにとって不可欠である。
【００１３】
第２コピー技術は、システム・データ・ムーバ（ＳＤＭ）プログラム２４ａ．．．２４ｎ，２４ｏを使用する。ＳＤＭ２４ａ．．．２４ｎは、一次ストレージ２０ａ．．．２０ｎ及び二次ストレージ２２ａ．．．２２ｎとそれぞれ通信状態にあり、一次ストレージ２０ａ．．．２０ｎから対応する二次ストレージ２２ａ．．．２２ｎへの整合性グループにおける更新の転送を管理する。従って、データは、第２コピー技術を用いて、ＳＤＭ２４ａ．．．２４ｎを介して一次ストレージ２０ａ．．．２０ｎと二次ストレージ２２ａ．．．２２ｎとの間で転送される。一次ストレージ２０ａ．．．２０ｎでは、更新は、一次ストレージ２０ａ．．．２０ｎを管理する格納コントローラのキャッシュ内のサイド・ファイルに書込むことができる。次いで、更新は、ＳＤＭ２４ａ．．．２４ｎによって保持されるジャーナル２６ａ．．．２６ｎに転送することができる。ジャーナル２６ａ．．．２６ｎの各々の中で、更新は、整合性グループに整えられる。ジャーナル２６ａ．．．２６ｎは、１つ又は複数の整合性グループを格納することができる。ＳＤＭ２４ａ．．．２４ｏは、システムにおいて実装されたプログラムを含むことができる。ＳＤＭ２４ａ．．．２４ｏは、一次ストレージのサイト、二次ストレージのサイト、又は独立したサイト及びシステムにおいて実装することができる。
【００１４】
マスタ・データ・セット２８は、管理されているセッションのリストを含み、各々の管理されるセッションについて、こうしたセッションにおけるボリュームの最新の更新の時間を含む。マスタ・データ・セット２８は、ストレージ２０ａ．．．２０ｎ、２２ａ．．．２２ｎ内のボリューム上に存在することができる。一次／二次制御対についてのジャーナル・データ・セットは、いずれかの装置上に存在することができる。図１においては、各々のＳＤＭ２４ａ．．．２４ｎ，２４ｏは、マスタ・データ・セット２８内に情報が示される１つのセッションの一部である。各々のセッションに、１つ又は複数のＳＤＭ２４ａ．．．２４ｎを割り当てることができる。マスタ・データ・セット２８は、更に、ミラー・プログラム４により管理されるコピー操作についてのセッション情報を保持することができる。
【００１５】
ミラーＳＤＭ２４ｏは、ミラー・システム２と通信して、例えばｃｏｕｐｌｅｄ  ＸＲＣ（ＣＸＲＣ）のような第１コピー技術を用いるＳＤＭ２４ａ．．．２４ｎによる整合性グループの書込みと一致するように、例えばＧｌｏｂａｌ  Ｍｉｒｒｏｒのような第２コピー技術を用いるジャーナル・ボリューム８及び二次ストレージ１２に関する整合性グループ１０の生成及び転送を調整する。ＳＤＭ２４ｏは、ジャーナル・ボリューム８にコピーされる、一次ストレージ６における更新の最後に生成された整合性グループの時間を示すミラー・セッションについて、ミラー・ジャーナル時間をマスタ・データ・セット２８に書込む。特定の実施形態においては、第１コピー技術は、第２コピー技術より実質的に高い頻度で整合性グループを生成することができ、第２コピー技術は、一次ストレージ６へのＩ／Ｏを休止させたときに整合性グループを生成する。更に、ＳＤＭ２４ａ．．．２４ｎは、ミラー・プログラム４によって生成されている整合性グループ１０についてマスタ・データ・セット２８において更新時間が記録される（ｊｏｕｒｎａｌｅｄ）頻度より実質的に高い頻度で、マスタ・データ・セット２８における更新を記録することができる。
【００１６】
ネットワーク３０は、ＳＤＭ２４ａ．．．２４ｎ，２４ｏ、ストレージ２０ａ．．．２０ｎ、２２ａ．．．２２ｎ、マスタ・データ・セット２８、及びシステム・タイマー３２間の通信を提供する。システム・タイマー３２は、全てのＳＤＭ２４ａ．．．２４ｏにわたって共通の時間が用いられていることを保証するために、更新についてのタイムスタンプを提供し、順序が前後して更新がミラーリングされないことを確実にするように、ボリュームの更新を書込むアプリケーション・プログラムに対して共通の時間基準を提供する。ジャーナル２６ａ．．．２６ｎ及びジャーナル・ボリューム８における更新が、整合性グループ内で編成されると、次いで、整合性グループ内の更新は、異なるコピー技術を用いて二次ストレージ２２ａ．．．２２ｎ及び１２に適用される。整合性グループの生成によって、システムが、どのような種類のデータについても更新順序の完全性を保ったまま、データをリアルタイムで遠隔サイトにシャドーすることが保証される。整合性グループを用いることによって、セッション内で二次ストレージ１２及び２２ａ．．．２２ｎに適用された更新が、整合性グループの整合性時間の時点で整合性があること及びセッション間で整合性があることを保証する。更新がジャーナルから二次ストレージ２２ａ．．．２２ｎ内の二次ボリュームに書込まれている間に故障が生じた場合には、回復中に、システムの故障中に中断された更新をジャーナルから回復させて、二次ボリュームに再適用することができる。このように、データは、ある一時点における回復中に、セッション内で及びセッション全体にわたって整合性がある。
【００１７】
ネットワーク１４及び３０は、同じネットワークの１つ又は複数のスイッチ又は部分を介して接続された別個のネットワークとすることができる。ネットワーク１４及び３０は、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、インターネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ピア・ツー・ピア・ネットワーク等を含むことができる。ストレージ２０ａ．．．２０ｎ、２２ａ．．．２２ｎは、Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ（ＪＢＯＤ）、Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ（ＤＡＳＤ）、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（ＲＡＩＤ）アレイ、仮想化装置、テープ格納部、フラッシュ・メモリ等の記憶装置のアレイを含むことができる。
【００１８】
図２は、１つのセッション５０についてマスタ・データ・セット２８内に保持される情報の実施形態を示す。セッションは、１つ又は複数のＳＤＭ２４ａ．．．２４ｎにより管理される一次及び二次ボリュームの対の動作、及び、ミラー・プログラム４により管理されるボリューム対の動作を含むことができる。セッション更新情報５０は、セッション識別子５２と、整合性グループに含まれる最後の更新時間５４とを含む。ＳＤＭ２４ａ．．．２４ｎにより管理されるコピー操作においては、時間５４は、ジャーナル２６ａ．．．２６ｎにおける整合性グループに加えられた最後の更新時間を含む。ミラー・プログラム４により管理されるコピー操作においては、最後の更新時間５４は、ジャーナル・ボリューム８内に生成される整合性グループ１０の時間を含むことができる。例えばＧｌｏｂａｌ  Ｍｉｒｒｏｒのような第２コピー技術についての整合性グループ１０のこの時間は、ミラー・プログラム４が、新しい整合性グループを生成するために一次ストレージ６へのＩ／Ｏを休止させる時間を含むことができる。
【００１９】
図３は、例えば、ＸＲＣ、ＣＸＲＣ等の第１コピー技術を用いて、異なるセッションについてデータをコピーするＳＤＭ２４ａ．．．２４ｎにより実行される動作の実施形態を示す。コピー操作を開始するのに応答して（ブロック１００）、ＳＤＭ２４ａ．．．２４ｎは、第１コピー技術（ＸＲＣ）を用いて、一次記憶場所の更新を有する整合性グループを生成する（ブロック１０２）。上述のように、ＳＤＭ２４ａ．．．２４ｎは、一次ストレージ２０ａ．．．２０ｎから、整合性グループが生成されるジャーナル２６ａ．．．２６ｎに更新を読み出すことにより、整合性グループを生成し得る。ＳＤＭ２４ａ．．．２４ｎは、ジャーナル２６ａ．．．２６ｎ内の整合性グループに加えられた更新時間をマスタ・データ・セット２８内に示す（ブロック１０４）。ＳＤＭ２４ａ．．．２４ｎは、周期的にマスタ・データ・セット２８をポーリングして、基準時間（最大セッション更新時間５４の最小値）を求め得る（ブロック１０６）。ＳＤＭ２４ａ．．．２４ｎは、求められた基準時間よりタイムスタンプが小さいか又は等しいジャーナル２６ａ．．．２６ｎ内の整合性グループを二次ストレージ２２ａ．．．２２ｎにコピーする（ブロック１０８）。
【００２０】
図４は、二次ストレージ１２，２２ａ．．．２２ｎがある時点において整合性がある整合性グループを有すること、すなわちセッション全体にわたって及び異なるコピー技術間で整合性が維持されることを保証するために、ミラー・プログラム４が整合性グループ１０を二次ストレージ１２にどのようにコピーするかを調整する、ミラー・プログラム４及びミラーＳＤＭ２４ｏにより実行される動作の実施形態を示す。ミラー・プログラム４はブロック２００乃至２０８における動作を実行し、ミラーＳＤＭ２４ｏはブロック２３０乃至２４０における動作を実行する。制御は、ミラー・プログラム４がホストから一次ストレージ２０ａ．．．２０ｎへのＩ／Ｏを休止させて新しい整合性グループのビットマップを生成するときに開始する（ブロック２００）。この場合、最後に生成された整合性グループについてのビットマップは、整合性グループ１０が生成されるジャーナル・ボリューム８にコピーされる一次ストレージ６の更新を示す非同期ビットマップを含む。整合性グループの確立に応答して、ミラー・プログラム４は、ミラーＳＤＭ２４ｏに注意（ａｔｔｅｎｔｉｏｎ）を与える（ブロック２０２）。この注意に応答して、ミラーＳＤＭ２４ｏは、システム・タイマー３２に基づくタイムスタンプ（ミラー・ジャーナル時間）を、ミラーＳＤＭセッションについてのマスタ・データ・セット２８に書込む（ブロック２３０）。マスタ・データ・セット２８に書込まれたミラー・ジャーナル時間は、更新が一次ストレージ６からジャーナル・ボリューム８にコピーされる過程にある整合性グループ１０の時間を含む。ミラーＳＤＭ２４ｏは、ミラー・プログラム４に戻って続行する（ブロック２３２）。
【００２１】
続行に応答して、ミラー・プログラム４は、一次ストレージ２０ａ．．．２０ｎから生成された最後の整合性グループについての更新（そのトラックは、新規な整合性グループについてのビットマップが生成されたときに生成される非同期ビットマップに示すことができる）をジャーナル・ボリューム８にコピーして、ジャーナル・ボリューム８内に最後に完成した整合性グループ１０を生成する（ブロック２０４）。全ての更新をジャーナル・ボリューム８の整合性グループ１０に集めることに応答して、ミラー・プログラム４は、コミット要求をミラーＳＤＭ２４ｏに送信する（ブロック２０６）。コミット要求の受信（ブロック２３４）に応答して、ミラーＳＤＭ２４ｏは、マスタ・データ・セット２８をポーリングして、ミラー・ジャーナル時間（ミラー・プログラム４によって生成される最後の整合性グループが完成した時間）が、基準時間（ミラー・セッションを含む異なるセッションについての最大更新タイムスタンプの最小値）より小さい時を求める（ブロック２３６）。マスタ・データ・セット２８内のミラー・ジャーナル時間が基準時間より小さくない場合には（ブロック２３８）、制御はブロック２３６に戻り、ポーリングを続行する。或いは、マスタ・データ・セット２８内のミラー・ジャーナル時間が基準時間より小さい場合には（ブロック２３８）、ミラーＳＤＭ２４ｏは、整合性グループ１０を二次ストレージ１２にコピーするようミラー・プログラム４に信号を送る（ブロック２４０）。この信号に応答して、ミラー・プログラム４は、ジャーナル・ボリューム８から二次ストレージ１２への整合性グループ１０のコピーを開始する（ブロック２０８）。上述のように、ブロック２０８における整合性グループ１０のコピー操作は、ＦｌａｓｈＣｏｐｙ操作のような論理的コピー操作を含むことができる。
【００２２】
図３及び図４の動作は、各セッションの最新の更新の最小値を考慮する。このことは、１つの整合性グループ内の更新が二次ボリュームに適用されたときに、ジャーナル２６ａ．．．２６ｎ及びジャーナル・ボリューム８が、適用されている更新の時間の前に生じる全てのセッションにわたる全ての更新を維持することを保証する。このように、故障が生じた場合には、更新をジャーナルから回復させて、全てのセッションにわたる回復された更新及びコピー技術が、ある一時点において整合性があるようにすることができる。特定の実施形態においては、他のセッションについての最新更新時間は、更新がジャーナルに書込まれたセッションに対してのみ考慮される。セッションにおいて、更新がジャーナルに書込まれていない場合には、そのセッションは、更新がセッション全体にわたり整合性があるかどうか確認するときに考慮されない。このように、先のデータに依存する従属データは、データが依存する先のデータが少なくともジャーナルに書込まれるまで、二次ボリュームに適用されることはない。
【００２３】
説明される実施形態は、セッション全体にわたって、及び、整合性グループを生成するのに異なる技術及び方法論を用い、異なる頻度で整合性グループを生成するコピー技術を含むコピー技術間で、データ整合性を維持するように、異なるコピー技術を用いて生成された整合性グループの更新が二次記憶場所にコピーされることを保証する技術を提供する。
【００２４】
付加的な実施の詳細
説明される動作を、標準的なプログラミング及び／又はエンジニアリング技術を用いる方法、機器、又は製品として実施して、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組み合わせのいずれかを製造することができる。説明される動作を、「コンピュータ可読媒体」に維持されるコードとして実施することができ、プロセッサは、コンピュータ可読媒体からコードを読取って実行することができる。コンピュータ可読媒体は、磁気記憶媒体（例えばハード・ディスク・ドライブ、フロッピー(R)・ディスク、テープ等）、光学式記憶（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスク等）、揮発性メモリ装置及び不揮発性メモリ装置（例えばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、ファームウェア、プログラマブル論理等）等の媒体を含むことができる。説明される動作を実施するコードは、更に、ハードウェア論理（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）において実装することができる。また更に、説明される動作を実施するコードは「伝送信号」において実装することができ、伝送信号は、空間を通して、又は、光ファイバ、銅線等の伝送媒体を通じて伝播することができる。コード又は論理がエンコードされる伝送信号は、更に、無線信号、衛星伝送、電波、赤外線信号、ブルートゥース等を含むことができる。コード又は論理がエンコードされる伝送信号は、送信ステーションにより送信することができ、かつ、受信ステーションにより受信することができるものであり、伝送信号内でエンコードされたコード又は論理は、受信ステーション及び送信ステーション或いは受信装置及び送信装置において、ハードウェア又はコンピュータ可読媒体内でデコードして格納することができる。「製品」は、コードを実装することができるコンピュータ可読媒体、ハードウェア論理、及び／又は伝送信号を含む。説明される実施形態の動作を実施するコードがエンコードされる装置は、コンピュータ可読媒体又はハードウェア論理を含むことができる。当然のことながら、当業者は、本発明の範囲から逸脱することなく多くの変更をこの構成に行うことができ、しかも、製品は、当技術分野で知られる媒体を有する好適な情報を含むことができるということを認識するであろう。
【００２５】
「ある（ａｎ）実施形態」、「実施形態」、「複数の実施形態」、「その（ｔｈｅ）実施形態」、「それらの（ｔｈｅ）実施形態」、「１つ又は複数の実施形態」、「幾つかの実施形態」及び「１つの（ｏｎｅ）実施形態」という用語は、特に明らかに指定されていない限り、「本発明の１つ又は複数の（しかし全てというわけではない）実施形態」という意味である。
【００２６】
「含む（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」「有する」という用語及びこれらの変形は、特に明らかに指定されていない限り、「限定されるものではないが、含む」という意味である。
【００２７】
列挙される項目のリストは、特に明らかに指定されていない限り、項目のいずれか又はそのすべてが互いに排他的であることを意味するものではない。
【００２８】
「１つの（ａ）」、「１つの（ａｎ）」及び「その（ｔｈｅ）」という用語は、特に明らかに指定されていない限り、「１つ又は複数の」という意味である。
【００２９】
互いに通信状態にある装置は、特に明らかに指定されていない限り、互いに連続的に通信状態にある必要はない。更に、互いに通信状態にある装置は、直接的に或いは１つ又は複数の中継を通じて間接的に通信することができる。
【００３０】
互いに通信状態にある幾つかのコンポーネントをもつ実施形態の説明は、全てのこうしたコンポーネントが必要とされることを意味するものではない。対照的に、様々な任意的なコンポーネントが、広範囲の種類にわたる本発明の可能な実施形態を示すように説明される。
【００３１】
更に、プロセス・ステップ、方法ステップ、アルゴリズムその他同様なものは順次的に説明することができるが、こうしたプロセス、方法、及びアルゴリズムは、代替的な順番で作用するように構成することができる。換言すると、説明することのできるステップの順序又は順番のいずれも、ステップが必ずしもその順番で実行されるべきであるという要求を示すものではない。ここで説明されたプロセスのステップは、実用的などのような順番でも実行することができる。更に、幾つかのステップを同時に実行することができる。
【００３２】
単一の装置又は物品がここで説明される場合には、１つより多い装置／物品（これらが協働してもしなくても）を、単一の装置／物品の代わりに用いることができるということが容易に明白であろう。同様に、１つより多い装置又は物品（これらが協働してもしなくても）がここで説明される場合、単一の装置／物品を１つより多い装置又は物品の代わりに用いることができ、或いは、異なる数の装置／物品を、示される数の装置又はプログラムの代わりに用いることができることが容易に明白であろう。装置の機能性及び／又は特性は、こうした機能性／特性を有するものとして明確に説明されていない１つ又は複数の他の装置によって、代替的に具現化することができる。従って、本発明の他の実施形態は、装置自体を含む必要はない。
【００３３】
図示される図３及び図４の動作は、特定の順番で生じる特定のイベントを示す。代替的な実施形態においては、特定の動作を、修正又は削除された異なる順番で実行することができる。更に、ステップを上述の論理に加えて、説明される実施形態に依然として適合させることができる。更に、ここで説明される動作を連続して行うか、又は、特定の動作を平行して処理することができる。また更に、単一の処理ユニット又は分散処理ユニットによって動作を実行することができる。
【００３４】
上記の本発明の種々の実施形態の説明は、例示及び説明の目的で提示された。これは、網羅的であること、又は、開示された正確な形態に本発明を限定することを意図するものではない。上述の教示を考慮すると、多くの修正及び変形態様が可能である。本発明の範囲は、この詳細な説明によってではなく、むしろ特許請求の範囲により限定されることが意図される。上述の仕様、例、及びデータは、本発明の構成要素の製造及び用途について完全に説明するものである。本発明の多くの実施形態は、本発明の趣旨及び範囲から逸脱することなく構成することができるため、本発明は、特許請求の範囲にある。
【図面の簡単な説明】
【００３５】
【図１】ネットワーク・コンピューティング環境の実施形態を示す。
【図２】マスタ・データ・セットにおいて維持される情報の実施形態を示す。
【図３】異なるコピー技術を用いて、一次ストレージを二次ストレージにミラーリングする動作の実施形態を示す。
【図４】異なるコピー技術を用いて、一次ストレージを二次ストレージにミラーリングする動作の実施形態を示す。
【符号の説明】
【００３６】
２：ミラー・システム
４：ミラー・プログラム
６、２０ａ、２０ｎ：一次ストレージ
８：ジャーナル・ボリューム
１０：ＣＧ（整合性グループ）
１２、２２ａ、２２ｎ：二次ストレージ
１４、３０：ネットワーク
２４ａ、２４ｎ：ＳＤＭ（システム・データ・ムーバ）
２４ｏ：ミラーＳＤＭ
２６ａ、２６ｎ：ジャーナル
２８：マスタ・データ・セット
３２：システム・タイマー
【図１】
2007183930.tif 000003
【図２】
2007183930.tif 000004
【図３】
2007183930.tif 000005
【図４】
2007183930.tif 000006