(57)【特許請求の範囲】
【請求項１】
主サイトと副サイトそれぞれが、共通リンケージマネージャと、第１レプリケーションマネージャと、第２レプリケーションマネージャとを備え、かつ第１ターゲットストレージ、第１ソースストレージ、第２ターゲットストレージ、及び第２ソースストレージと通信可能な整合性グループの管理装置であって、前記共通リンケージマネージャ、第１レプリケーションマネージャ、及び第２レプリケーションマネージャが操作を実行し、
前記操作は、
前記共通リンケージマネージャによって、第１レプリケーションマネージャ及び第２レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行することと、
前記整合性グループ作成準備コマンドの受信に応答して、前記第１及び第２レプリケーションマネージャは、第１ソースストレージ及び第２ソースストレージにデータの整合性グループを形成して、第１ターゲットストレージ及び第２ターゲットストレージそれぞれにコピーするために、第１及び第２レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第１及び第２ソースストレージからのデータの第１整合性グループ及び第２整合性グループをそれぞれ形成することと、
前記第１及び第２レプリケーションマネージャによって、前記形成された第１及び第２整合性グループ内の前記データを、第１ジャーナル及び第２ジャーナルそれぞれに伝送することと、
前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに照会コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、前記照会コマンドに応答して、前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるか否かを判断することと、
前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるとの判断に応答して、前記第１及び第２レプリケーションマネージャによって、第１及び第２ジャーナル完了メッセージを伝えることと、
前記第１及び第２ジャーナル完了メッセージの受信に応答して、前記第１及び第２ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに対してコミットコマンドを伝えることと、
第１及び第２レプリケーションマネージャによって、コミットコマンドを受信した前記第１及び第２のレプリケーションマネージャに応答して、前記第１ジャーナル及び第２ジャーナルの前記第１及び第２整合性グループ内の前記データを、前記第１及び第２ターゲットストレージそれぞれにコミットすることと、
前記第１及び第２レプリケーションマネージャエンジンそれぞれからのコミット完了の受信に応答して、前記第１及び第２レプリケーションマネージャによってコミット完了を前記共通リンケージマネージャに戻すことと、
前記共通リンクマネージャによって、前記第１及び第２ジャーナルの第１及び第２整合性グループを第１及び第２ターゲットストレージそれぞれにコミットする前記第１及び第２レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第１及び第２整合性グループを形成するために、前記第１及び第２レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行することと、
を含み、
また、前記共通リンケージマネージャからの前記照会コマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、既に伝送された前記第２ジャーナルの最大マーカ値を得るために、前記副サイトにおける第２ターゲットストレージに照会コマンドを送信することと、
前記副サイトにおける第２レプリケーションマネージャからの前記照会コマンドに応答して前記共通リンケージマネージャに対して最大マーカ値及び照会完了を戻すことと、
前記共通リンケージマネージャからのマーカ付きのコミットコマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、マーカを含むジューナルデータが処理されるまで前記副サイトにおける第１及び第２ターゲットストレージを構成する複数のストレージデバイスに前記マーカ付きのコミットコマンドを送信することと、
すべてのコミット完了メッセージが前記副サイトにおける第２レプリケーションマネージによって受信された後、前記共通リンケージマネージャにコミット完了を戻すことと、
をさらに含む、整合性グループの管理装置。
【請求項２】
前記操作は、前記共通リンケージマネージャによって、前記整合性グループのために前記第１及び第２レプリケーションマネージャにコミットコマンドを発行することをさらに含み、前記第１及び第２レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第１及び第２整合性グループ内のデータをそれぞれコミットし、かつ前記第１及び第２レプリケーションマネージャは、前記第１及び第２ジャーナルのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なる第１及び第２コミット技術を使用する、請求項１に記載の整合性グループの管理装置。
【請求項３】
前記第１及び第２レプリケーションマネージャは、前記第１及び第２ジャーナルからのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項１に記載の整合性グループの管理装置。
【請求項４】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記操作が、
第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第１ソースストレージへの書き込みを休止し、か
つポイントインタイムにおいて整合性が取れている前記第１ソースストレージの修正データを示すレプリケーション情報を作成して、前記第１ジャーナルにコピーするために、フリーズ操作を実行することと、
前記第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記ランコマンドに応答して、前記第１ソースストレージへの書き込みの継続を可能にし、かつ前記第１ソースストレージへの前記レプリケーション情報に示される前記第１ソースストレージのデータを前記第１ジャーナルにコピーする操作を実行することと、
第２レプリケーション技術を使用する前記第２レプリケーションマネージャによって、前記第２ソースストレージへの更新（前記整合性グループのポイントインタイムの前後の
タイムスタンプを有する更新を含む）を前記第２ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項１に記載の整合性グループの管理装置。
【請求項５】
前記操作が、
前記第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第１整合性グループ内のデータを示す前記第１ターゲットストレージにおける前記第１ジャーナルの前記データの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第１ジャーナルに適用されている前記第１整合性グループ内の前記データへの更新に応答して、前記第１ターゲットストレージにコピーされることと、
前記第２レプリケーション技術を使用する前記第２レプリケーションマネージャによって、前記コミットコマンドに応答して、ポイントインタイムよりも大きくないタイムスタンプを有する前記第２ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項４に記載の整合性グループの管理装置。
【請求項６】
前記操作が、
前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに照会コマンドを発行することと、
前記第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記レプリケーション情報で示される前記データが前記第１ジャーナルにコピーされたか否かを判断することと、
前記第２レプリケーション技術を使用する前記第２レプリケーションマネージャによって、前記第２ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断することと、
をさらに含み、
前記第１ソースストレージのデータを前記第１ジャーナルにコピーする操作及び前記第２ソースストレージへの更新を前記第２ジャーナルにコピーする操作が、前記レプリケーション情報で示される前記データが前記第１ジャーナルにコピーされたとの判断に応答して、かつ前記第２ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第１及び第２レプリケーションマネージャによって実行される、請求項４に記載の整合性グループの管理装置。
【請求項７】
前記第１及び第２レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える、請求項１に記載の整合性グループの管理装置。
【請求項８】
前記第１及び第２レプリケーションマネージャが主サイトに位置し、
前記操作が、
前記共通リンケージマネージャによって、副サイトにおける第１及び第２レプリケーションマネージャに復元コマンドを送信することと、
前記副サイトにおける前記第１及び第２レプリケーションマネージャによって、前記復元コマンドに応答して、前記第１及び第２ターゲットストレージの前記第１及び第２整合性グループからのデータを、前記第１及び第２ジャーナルそれぞれにコピーすることと、
前記第１及び第２ソースストレージの前記データを前記第１及び第２整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副サイトにおける前記第１及び第２レプリケーションマネージャによって、前記第１及び第２ジャーナルの前記第１及び第２整合性グループからのデータを、前記第１及び第２ソースストレージそれぞれにコミットすることと、
をさらに含む、請求項１に記載の整合性グループの管理装置。
【請求項９】
前記復元コマンドが、前記主サイトにおける故障に応答して送信され、
前記操作が、
前記共通リンケージマネージャによって、前記主サイトから前記副サイトへのフェイルオーバーを実行することをさらに含み、
前記フェイルオーバーに応答して入出力（Ｉ／Ｏ）要求を前記第１及び第２ターゲットストレージに提出する、請求項８に記載の整合性グループの管理装置。
【請求項１０】
前記第１及び第２レプリケーションマネージャが、第１及び第２レプリケーションエンジン特定コマンドを前記第１及び第２レプリケーションエンジンそれぞれに伝えることによって、前記第１及び第２整合性グループをそれぞれ形成し、前記第１及び第２整合性グループ内の前記データを前記第１及び第２ジャーナルそれぞれに伝送し、かつ前記第１及び第２ジャーナルの前記データを前記第１及び第２ターゲットストレージそれぞれにコミットするための操作を、前記第１及び第２レプリケーションエンジンに実行させる、請求項１に記載の整合性グループの管理装置。
【請求項１１】
第１ターゲットストレージと、第１ソースストレージと、第２ターゲットストレージと、第２ソースストレージと、第１及び第２レプリケーションエンジンと通信可能な整合性グループの管理システムであって、
前記第１レプリケーションエンジンと通信する第１レプリケーションマネージャと、
前記第２レプリケーションエンジンと通信する第２レプリケーションマネージャと、
前記第１及び第２レプリケーションマネージャと通信する共通リンケージマネージャであって、前記第１及び第２レプリケーションマネージャに対して整合性グループ作成準備コマンドを発行する、共通リンケージマネージャと、
を主サイト及び副サイトそれぞれが備える整合性グループの管理システムであり、
前記第１及び第２レプリケーションマネージャが、
前記第１及び第２レプリケーションマネージャによって、前記共通リンケージマネージャからの前記整合性グループ作成準備コマンドに応答して、前記第１ソースストレージ及び前記第２ソースストレージにデータの整合性グループを形成し、前記第１ターゲットストレージ及び前記第２ターゲットストレージそれぞれにコピーするために、前記第１及び第２レプリケーションエンジンに対して整合性グループ作成コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、整合性グループ作成コマンドに応答して、ポイントインタイムにおいて整合性が取れている、前記第１及び第２ソースストレージからの第１整合性グループ及び第２整合性グループ内のデータをそれぞれ形成することと、
前記第１及び第２レプリケーションマネージャによって、前記形成された第１及び第２整合性グループ内の前記データを第１ジャーナル及び第２ジャーナルそれぞれに伝送することと、
前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに照会コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、前記照会コマンドに応答して、前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるか否かを判断することと、
前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるとの判断に応答して、前記第１及び第２レプリケーションマネージャによって、第１及び第２ジャーナル完了メッセージを伝えることと、
前記第１及び第２ジャーナル完了メッセージの受信に応答して、前記第１及び第２ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに対してコミットコマンドを伝えることと、
前記第１及び第２レプリケーションマネージャによって、コミットコマンドを受信した前記第１及び第２レプリケーションマネージャに応答して、前記第１及び第２ジャーナルの前記第１及び第２整合性グループ内の前記データを第１及び第２ターゲットストレージそれぞれにコミットすることと、
前記第１及び第２レプリケーションマネージャエンジンそれぞれからのコミット完了の受信に応答して、前記第１及び第２レプリケーションマネージャによってコミット完了を前記共通リンケージマネージャに戻すことと、
前記共通リンクマネージャによって、前記第１及び第２ジャーナルの第１及び第２整合性グループを第１及び第２ターゲットストレージそれぞれにコミットする前記第１及び第２レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第１及び第２整合性グループを形成するために、前記第１及び第２レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行することと、
を含む操作、並びに、
前記共通リンケージマネージャからの前記照会コマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、既に伝送された前記第２ジャーナルの最大マーカ値を得るために、前記副サイトにおける第２ターゲットストレージに照会コマンドを送信することと、
前記副サイトにおける第２レプリケーションマネージャからの前記照会コマンドに応答して前記共通リンケージマネージャに対して最大マーカ値及び照会完了を戻すことと、
前記共通リンケージマネージャからのマーカ付きのコミットコマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、マーカを含むジューナルデータが処理されるまで前記副サイトにおける第１及び第２ターゲットストレージを構成する複数のストレージデバイスに前記マーカ付きのコミットコマンドを送信することと、
すべてのコミット完了メッセージが前記副サイトにおける第２レプリケーションマネージによって受信された後、前記共通リンケージマネージャにコミット完了を戻すことと、
をさらに含む操作を実行する、整合性グループの管理システム。
【請求項１２】
前記第１及び第２レプリケーションマネージャが、前記第１及び第２ジャーナルからのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項１１に記載の整合性グループの管理システム。
【請求項１３】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、
前記第１レプリケーションマネージャが、
前記フリーズコマンドに応答して、前記第１ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている前記第１ソースストレージの修正データを示すレプリケーション情報を作成して、前記第１ジャーナルにコピーするための、フリーズ操作を実行するために、第１レプリケーション技術を使用することと、
前記ランコマンドに応答して、前記第１ソースストレージへの書き込みの継続を可能にし、かつ前記第１ソースストレージへの前記レプリケーション情報に示される前記第１ソースストレージのデータを前記第１ジャーナルにコピーするための操作を実行するために、前記第１レプリケーション技術を使用すること、
をさらに実行し、
前記第２レプリケーションマネージャは、前記第２ソースストレージへの更新（前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む）を前記第２ジャーナルにコピーするための操作を実行するために、第２レプリケーション技術を使用する、請求項１１に記載の整合性グループの管理システム。
【請求項１４】
前記第１レプリケーションマネージャが、前記第１レプリケーション技術を使用し、前記コミットコマンドに応答して、前記第１整合性グループ内のデータを示す前記第１ターゲットストレージにおける前記第１ジャーナルの前記データの仮想コピーを作成する操作をさらに実行し、前記仮想コピーで示されるデータが、前記第１ジャーナルに適用されている前記第１整合性グループ内の前記データへの更新に応答して、前記第１ターゲットストレージにコピーされ、かつ
前記第２レプリケーションマネージャが、前記第２レプリケーション技術を使用し、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第２ジャーナルのデータをコピーする操作を実行する、請求項１３に記載の整合性グループの管理システム。
【請求項１５】
前記第１及び第２レプリケーションマネージャが、前記第１及び第２レプリケーションエンジンそれぞれに第１及び第２レプリケーションエンジン特定コマンドを伝えることによって、前記第１及び第２整合性グループをそれぞれ形成し、前記第１及び第２整合性グループ内の前記データを前記第１及び第２ジャーナルそれぞれに伝送し、かつ前記第１及び第２ジャーナル内の前記データを前記第１及び第２ターゲットストレージそれぞれにコミットするための操作を、前記第１及び第２レプリケーションエンジンに実行させる、請求項１１に記載の整合性グループの管理システム。
【請求項１６】
主サイトと副サイトそれぞれが備える第１レプリケーションマネージャ及び第２レプリケーションマネージャに整合性グループ作成準備コマンドを発行することと、
前記第１及び第２レプリケーションマネージャが、第１ソースストレージ及び第２ソースストレージにデータの整合性グループを形成して、第１ターゲットストレージ及び第２ターゲットストレージそれぞれにコピーするために、第１及び第２レプリケーションエンジンそれぞれに整合性グループ作成コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第１及び第２ソースストレージからの第１整合性グループ及び第２整合性グループ内のデータをそれぞれ形成することと、
前記第１及び第２レプリケーションマネージャによって、前記形成された第１及び第２整合性グループの前記データを第１ジャーナル及び第２ジャーナルそれぞれに伝送することと、
前記主サイトと副サイトそれぞれが備える共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに照会コマンドを発行することと、
前記第１及び第２レプリケーションマネージャによって、前記照会コマンドに応答して、前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるか否かを判断することと、
前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるとの判断に応答して、前記第１及び第２レプリケーションマネージャによって、第１及び第２ジャーナル完了メッセージを伝えることと、
前記第１及び第２ジャーナル完了メッセージの受信に応答して、前記第１及び第２ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに対してコミットコマンドを伝えることと、
前記第１及び第２レプリケーションマネージャによって、コミットコマンドを受信した前記第１及び第２レプリケーションマネージャに応答して、前記第１及び第２ジャーナルの前記第１及び第２整合性グループ内の前記データを前記第１及び第２ターゲットストレージそれぞれにコミットすること、
前記第１及び第２レプリケーションマネージャエンジンそれぞれからのコミット完了の受信に応答して、前記第１及び第２レプリケーションマネージャによってコミット完了を前記共通リンケージマネージャに戻すことと、
前記共通リンクマネージャによって、前記第１及び第２ジャーナルの第１及び第２整合性グループを第１及び第２ターゲットストレージそれぞれにコミットする前記第１及び第２レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第１及び第２整合性グループを形成するために、前記第１及び第２レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行することと、
を含み、
また、前記共通リンケージマネージャからの前記照会コマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、既に伝送された前記第２ジャーナルの最大マーカ値を得るために、前記副サイトにおける第２ターゲットストレージに照会コマンドを送信することと、
前記副サイトにおける第２レプリケーションマネージャからの前記照会コマンドに応答して前記共通リンケージマネージャに対して最大マーカ値及び照会完了を戻すことと、
前記共通リンケージマネージャからのマーカ付きのコミットコマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、マーカを含むジューナルデータが処理されるまで前記副サイトにおける第１及び第２ターゲットストレージを構成する複数のストレージデバイスに前記マーカ付きのコミットコマンドを送信することと、
すべてのコミット完了メッセージが前記副サイトにおける第２レプリケーションマネージによって受信された後、前記共通リンケージマネージャにコミット完了を戻すことと、
をさらに含む整合性グループの管理方法。
【請求項１７】
前記第１及び第２レプリケーションマネージャが、前記第１及び第２ジャーナルからのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する、請求項１６に記載の整合性グループの管理方法。
【請求項１８】
前記整合性グループ作成コマンドが、フリーズコマンドとランコマンドとを含み、前記方法が、
第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記フリーズコマンドに応答して、前記第１ソースストレージへの書き込みを休止し、かつ前記ポイントインタイムにおける整合性が取れている、前記第１ソースストレージの修
正データを示すレプリケーション情報を作成して、前記第１ジャーナルにコピーするための、フリーズ操作を実行することと、
前記第１レプリケーション技術を使用する前記第１レプリケーションマネージャによって、前記ランコマンドに応答して、前記第１ソースストレージへの書き込みの継続を可能にし、かつ前記第１ソースストレージへの前記レプリケーション情報に示される前記第１ソースストレージのデータを前記第１ジャーナルにコピーするための操作を実行することと、
第２レプリケーション技術を使用する前記第２レプリケーションマネージャによって、前記第２ソースストレージへの更新（前記整合性グループの前記ポイントインタイムの前後のタイムスタンプを有する更新を含む）を前記第２ジャーナルにコピーする操作を実行することと、
をさらに含む、請求項１６に記載の整合性グループの管理方法。
【請求項１９】
第１コミット技術を使用する前記第１レプリケーションマネージャによって、前記コミットコマンドに応答して、前記第１整合性グループ内のデータを示す前記第１ターゲットストレージにおける前記第１ジャーナルのデータの仮想コピーを作成する操作を実行することであって、前記仮想コピーで示されるデータが、前記第１ジャーナルに適用されている前記第１整合性グループ内の前記データへの更新に応答して、前記第１ターゲットストレージにコピーされることと、
第２コミット技術を使用する前記第２レプリケーションマネージャによって、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第２ジャーナルのデータをコピーする操作を実行することと、
をさらに含む、請求項１８に記載の整合性グループの管理方法。
【請求項２０】
前記第１及び第２レプリケーションマネージャが、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを含む、請求項１６に記載の整合性グループの管理方法。
【請求項２１】
前記第１及び第２レプリケーションマネージャが、前記第１及び第２レプリケーションエンジンそれぞれに、第１及び第２レプリケーションエンジン特定コマンドを伝えることによって、前記第１及び第２整合性グループをそれぞれ形成し、前記第１及び第２整合性グループ内の前記データを前記第１及び第２ジャーナルそれぞれに伝送し、かつ前記第１及び第２ジャーナルの前記データを前記第１及び第２ターゲットストレージそれぞれにコミットする操作を、前記第１及び第２レプリケーションエンジンに実行させる、請求項１６に記載の整合性グループの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異種レプリケーションエンジンを使用して整合性グループを管理する装置、システム、及び方法に関する。
【背景技術】
【０００２】
災害復旧システムは一般に、２種類の故障、すなわち、ある一時点での突然の壊滅的な故障と、長期間にわたるデータ損失に対応する。２番目のタイプの段階的な災害では、ボリュームへの更新が失われるかもしれない。データ更新の回復を支援するために、データのコピーを遠隔場所に設けてもよい。
【０００３】
このような二重又はシャドウコピーは、典型的には、アプリケーションシステムが正ストレージデバイス（primary storage device）に新しいデータを書き込んでいるときに作成される。データのリモートコピーを副サイト（secondary site）に維持するためには、異なるコピー技術が使用され得る（例えばInternational Business Machine Corporation（ＩＢＭ）の拡張遠隔コピー（ＸＲＣ）、結合ＸＲＣ（Coupled XRC）（ＣＸＲＣ）、グローバル・コピー、グローバル・ミラー・コピーなど）。
【０００４】
データミラーリングシステムでは、データはボリュームペアで維持される。ボリュームペアは、正ストレージデバイス（primary storage device）のボリュームと、正ボリューム（primary volume）維持されるデータの同一のコピーを含む副ストレージデバイス（secondary storage device）の対応するボリュームを含む。主及び副ストレージコントローラは、主及び副ストレージデバイスへのアクセスを制御するために使用され得る。            
【０００５】
特定のデータミラーリングシステムでは、異なるアプリケーションによって異なる正ストレージデバイスに書き込まれた更新が、タイムスタンプとして整合性のある時刻（consistent time-of-day）（ＴＯＤ）の値を使用するように、複数のシステム全体にわたって均一な時間を提供するためにタイマーが使用される。
【０００６】
ホストオペレーティングシステム又はアプリケーションは、正ストレージのボリュームにこのようなデータセットを書き込むときに、１つのデータセット又は１組の複数データセットへの更新をタイムスタンプし得る。データ更新の保全性は、正ボリュームへの更新と同じ順序で、ボリュームペアの副ボリュームの更新が行われることを保証することに関連する。アプリケーションプログラムによって提供されるタイムスタンプは、データ更新の論理シーケンスを決定する。
【０００７】
データベースシステムなどの多くのアプリケーションプログラムでは、事前に書き込みが行われていない限り、特定の書き込みを行うことができない。さもなければ、データ保全性が脅かされることになるだろう。保全性が事前のデータ書き込みの発生に依存する、このようなデータ書き込みは、依存書き込み（dependent write）として知られている。すべての書き込みが論理的順序で転送された（すなわち、すべての依存書き込みが、これらに依存している書き込みの前に先に転送された）場合に、主及び副ストレージのボリュームは整合性が取れている。整合性グループは、整合性タイムスタンプ（consistency time stamp）と同じ又はより早いタイムスタンプを有する整合性グループのすべてのデータ書き込みについて整合性のある時間を有する。
【０００８】
依存書き込みが、整合性がとれた態様で確保されるように、整合性グループは正ボリュームへの更新の集合である。整合性のある時間とは、副ボリュームへの更新が整合性のあることをシステムが保証する、最新の時間である。整合性グループは、複数のボリュームとストレージデバイスにわたってデータ整合性を維持する。よって、データが副ボリュームから回復された場合、回復されたデータは整合性が取れている。
【０００９】
他のデータミラーリングシステムは、正ボリュームのコピーを提供するために異なるレプリケーション技術を使用する。異なるコピー技術は、異なる方法論とアルゴリズムを使用して整合性グループを形成し得る。アプリケーションが２つのデータミラーリングシステムに格納されたデータを有する場合、両方のシステムが、互いに異なるとともに非互換性であり得る技術の範囲内で、独立して作動すると仮定すると、一方のシステムへの書き込みの、他方のシステムへの書き込みへの依存性は検出されないかもしれない。従って、整合性は、異なるテクノロジーを使用して形成される整合性グループ全体にわたっては維持されないことになる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の理由により、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が必要とされる。
【課題を解決するための手段】
【００１１】
データを複製する異種レプリケーションエンジンを使用して整合性グループを管理する装置、システム、及び方法が提供される。主サイトと副サイトそれぞれが備える共通リンケージマネージャは、第１レプリケーションマネージャ及び第２レプリケーションマネージャに対して、整合性グループ作成準備コマンドを発行し、前記第１及び第２レプリケーションマネージャは、第１ソースストレージ及び第２ソースストレージにデータの整合性グループを形成して、第１ターゲットストレージ及び第２ターゲットストレージそれぞれにコピーするために、第１及び第２レプリケーションエンジンそれぞれに対して整合性グループ作成コマンドを発行する。  前記第１及び第２レプリケーションマネージャは、前記整合性グループ作成コマンドに応じたポイントインタイムにおいて整合性が取れている、前記第１及び第２ソースストレージからのデータの第１整合性グループ及び第２整合性グループをそれぞれ形成し、前記第１及び第２レプリケーションマネージャによって、前記形成された第１及び第２整合性グループ内の前記データを、第１ジャーナル及び第２ジャーナルそれぞれに伝送する。前記主サイトと副サイトそれぞれが備える共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに照会コマンドを発行し、前記照会コマンドに応答して前記第１及び第２レプリケーションマネージャによって、前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるか否かを判断する。 前記第１及び第２整合性グループ内の前記データがそれぞれ前記第１及び第２ジャーナルにあるとの判断に応答して、前記第１及び第２レプリケーションマネージャによって、第１及び第２ジャーナル完了メッセージを伝え、前記第１及び第２ジャーナル完了メッセージの受信に応答して、前記第１及び第２ジャーナルの前記データをコミットするために、前記共通リンケージマネージャによって、前記第１及び第２レプリケーションマネージャに対してコミットコマンドを伝え、第１及び第２レプリケーションマネージャは、コミットコマンドを受信した前記第１及び第２のレプリケーションマネージャに応答して、前記第１ジャーナル及び第２ジャーナルの前記第１及び第２整合性グループ内の前記データを、前記第１及び第２ターゲットストレージそれぞれにコミットする。  前記第１及び第２レプリケーションマネージャエンジンそれぞれからのコミット完了の受信に応答して、前記第１及び第２レプリケーションマネージャによってコミット完了を前記共通リンケージマネージャに戻し、前記共通リンクマネージャによって、前記第１及び第２ジャーナルの第１及び第２整合性グループを第１及び第２ターゲットストレージそれぞれにコミットする前記第１及び第２レプリケーションマネージャに応答して、後続のポイントインタイムにおいて追加の第１及び第２整合性グループを形成するために、前記第１及び第２レプリケーションマネージャに対して、前記整合性グループ作成コマンドの後続インスタンスを発行する。また、前記共通リンケージマネージャからの前記照会コマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、既���伝送された前記第２ジャーナルの最大マーカ値を得るために、前記副サイトにおける第２ターゲットストレージに照会コマンドを送信し、前記副サイトにおける第２レプリケーションマネージャからの前記照会コマンドに応答して前記共通リンケージマネージャに対して最大マーカ値及び照会完了を戻し、前記共通リンケージマネージャからのマーカ付きのコミットコマンドの受信に応じて、前記副サイトにおける第２レプリケーションマネージャによって、マーカを含むジューナルデータが処理されるまで前記副サイトにおける第１及び第２ターゲットストレージを構成する複数のストレージデバイスに前記マーカ付きのコミットコマンドを送信し、すべてのコミット完了メッセージが前記副サイトにおける第２レプリケーションマネージによって受信された後、前記共通リンケージマネージャにコミット完了を戻す。
【００１３】
他の実施形態では、前記共通リンケージマネージャは、前記整合性グループのために前記第１及び第２レプリケーションマネージャにコミットコマンドを発行し、前記第１及び第２レプリケーションマネージャは、前記コミットコマンドの受信に応答して、前記第１及び第２整合性グループ内の前記データをそれぞれコミットし、かつ前記第１及び第２レプリケーションマネージャは、前記第１及び第２ジャーナルのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なる第１及び第２コミット技術を使用する。
【００１４】
他の実施形態では、前記第１及び第２レプリケーションマネージャは、前記第１及び第２ジャーナルからのデータを前記第１及び第２ターゲットストレージそれぞれにコミットするために、異なるコピー技術を使用する。
【００１６】
他の実施形態では、整合性グループ作成コマンドは、フリーズコマンド（freeze command）とランコマンド（run command）とを含む。第１レプリケーションマネージャは、前記フリーズコマンドに応答して、前記第１ソースストレージへの書き込みを休止し、かつポイントインタイムにおいて整合性が取れている前記第１ソースストレージの修正データを示すレプリケーション情報を作成して、前記第１ジャーナルにコピーするために、第１レプリケーション技術を使用する。前記第１レプリケーションマネージャは、前記ランコマンドに応答して、前記第１ソースストレージへの書き込みの継続を可能にし、かつ前記第１ソースストレージへの前記レプリケーション情報に示される前記第１ソースストレージのデータを前記第１ジャーナルにコピーするために、前記第１レプリケーション技術を使用する。前記第２レプリケーションマネージャは、前記第２ソースストレージへの更新（前記整合性グループのポイントインタイムの前後のタイムスタンプを有する更新を含む）を前記第２ジャーナルにコピーするために、第２レプリケーション技術を使用する。
【００１７】
他の実施形態では、前記第１レプリケーションマネージャは、前記コミットコマンドに応答して、前記第１整合性グループ内のデータを示す前記第１ターゲットストレージにおける前記第１ジャーナルの前記データの仮想コピーを作成するために、前記第１コミット技術を使用し、前記仮想コピーで示されるデータが、前記第１ジャーナルに適用されている前記第１整合性グループ内の前記データへの更新に応答して、前記第１ターゲットストレージにコピーされる。前記第２レプリケーションマネージャは、前記コミットコマンドに応答して、前記ポイントインタイムよりも大きくないタイムスタンプを有する前記第２ジャーナルのデータをコピーするために、前記第２コミット技術を使用する。
【００１８】
他の実施形態では、前記共通リンケージマネージャは、前記第１及び第２レプリケーションマネージャに照会コマンドを発行する。前記第１レプリケーションマネージャは、前記レプリケーション情報で示される前記データが前記第１ジャーナルにコピーされたか否かを判断するために、前記第１レプリケーション技術を使用する。前記第２レプリケーションマネージャは、前記第２ジャーナルが前記ポイントインタイムよりも大きいタイムスタンプを有するデータを含むか否かを判断するために、前記第２レプリケーション技術を使用する。前記コミット操作は、前記レプリケーション情報で示される前記データが前記第１ジャーナルにコピーされたとの判断に応答して、かつ前記第２ジャーナルが前記ポイントインタイムより大きいタイムスタンプを有するデータを含むとの判断に応答して、前記第１及び第２レプリケーションマネージャによって実行される。
【００１９】
他の実施形態では、前記第１及び第２レプリケーションマネージャは、異なるレプリケーションマネージャベンダからのレプリケーションマネージャを備える。
【００２０】
他の実施形態では、前記第１及び第２レプリケーションマネージャは、主サイト（primary site）に位置する。前記共通リンケージマネージャは、副サイト（secondary site）における第１及び第２レプリケーションマネージャに復元コマンドを送信する。
前記副システムにおける前記第１及び第２レプリケーションマネージャは、前記復元コマンドに応答して、前記第１及び第２ターゲットストレージの前記第１及び第２整合性グループからのデータを、前記第１及び第２ジャーナルそれぞれにコピーする。前記第１及び第２ソースストレージの前記データを前記第１及び第２整合性グループのポイントインタイムでの整合性が取れるようにするために、前記副サイトにおける前記第１及び第２レプリケーションマネージャは、前記第１及び第２ジャーナルの前記第１及び第２整合性グループからのデータを、前記第１及び第２ソースストレージそれぞれにコミットする。
【００２１】
他の実施形態では、前記復元コマンドは、前記正サイト（primary site）における故障に応答して送信される。前記共通リンケージマネージャは、前記主サイトから前記副サイト（secondary site）へのフェイルオーバーを実行し、申込者が、前記フェイルオーバーに応答して入出力（Ｉ／Ｏ）要求を前記第１及び第２ターゲットストレージに提出する。
【００２２】
他の実施形態では、前記第１及び第２レプリケーションマネージャが、第１及び第２レプリケーションエンジン特定コマンド（first and second replication engine specific commands）を前記第１及び第２レプリケーションエンジンそれぞれに伝えることによって、前記第１及び第２整合性グループをそれぞれ形成し、前記第１及び第２整合性グループ内の前記データを前記第１及び第２ジャーナルそれぞれに伝送し、かつ前記第１及び第２ジャーナルの前記データを前記第１及び第２ターゲットストレージそれぞれにコミットするための操作を、前記第１及び第２レプリケーションエンジンに実行させる。
【発明の効果】
【００２３】
本発明によれば、異なるレプリケーション技術全体にわたって整合性グループを管理するための改善された技術が提供される。
【図面の簡単な説明】
【００２４】
【図１】図１は、コンピューティング環境の一実施形態を示す。
【図２】図２は、主及び副コントローラの構成要素の一実施形態を示す。
【図３】図３は、主及び副コントローラの構成要素の一実施形態を示す。
【図４】図４は、整合性グループを作成するための操作の一実施形態を示す。
【図５】図５は、整合性グループを作成するための操作の一実施形態を示す。
【図６】図６は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図７】図７は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図８】図８は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図９】図９は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図１０】図１０は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図１１】図１１は、整合性グループを形成するための異なるレプリケーションエンジンの操作の実施形態を示す。
【図１２】図１２は、整合性グループを復元するための操作の実施形態を示す。
【図１３】図１３は、コンピューティング環境の一実施形態を示す。
【図１４Ａ】図１４Ａは、第１ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図１４Ｂ】図１４Ｂは、第１ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図１５Ａ】図１５Ａは、第２ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図１５Ｂ】図１５Ｂは、第２ストレージシステムの主サイト及び副サイトのストレージシステムの一実施形態を示す。
【図１６Ａ】図１６Ａは、第１ストレージシステムの操作を示す。
【図１６Ｂ】図１６Ｂは、第２ストレージシステムの操作を示す。
【図１７】図１７は、整合性グループを形成するための操作を開始するための第１共通リンケージマネージャの操作の一実施形態を示す。
【図１８】図１８は、整合性グループを形成するための操作を開始するための第２共通リンケージマネージャの操作の一実施形態を示す。
【図１９Ａ】図１９Ａは、フリーズコマンドを処理するための主サイトにおける第１レプリケーションマネージャの一実施形態を示す。
【図１９Ｂ】図１９Ｂは、ランコマンドを処理するための主サイトにおける第１レプリケーションマネージャの一実施形態を示す。
【図１９Ｃ】図１９Ｃは、照会コマンドを処理するための主サイトにおける第１レプリケーションマネージャの一実施形態を示す。
【図２０Ａ】図２０Ａは、照会コマンドを処理するための副サイトにおける第１レプリケーションマネージャの一実施形態を示す。
【図２０Ｂ】図２０Ｂは、コミットコマンドを処理するための副サイトにおける第１レプリケーションマネージャの一実施形態を示す。
【図２１Ａ】図２１Ａは、フリーズコマンドを処理するための主サイトにおける第２レプリケーションマネージャの一実施形態を示す。
【図２１Ｂ】図２１Ｂは、ランコマンドを処理するための主サイトにおける第２レプリケーションマネージャの一実施形態を示す。
【図２１Ｃ】図２１Ｃは、照会コマンドを処理するための主サイトにおける第２レプリケーションマネージャの一実施形態を示す。
【図２２Ａ】図２２Ａは、照会コマンドを処理するための副サイトにおける第２レプリケーションマネージャの一実施形態を示す。
【図２２Ｂ】図２２Ｂは、コミットコマンドを処理するための副サイトにおける第２レプリケーションマネージャの一実施形態を示す。
【図２３】図２３は、図１のシステムで使用され得るコンピュータアーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【００２５】
図１は、主マネージャ２ａと副マネージャ２ｂがそれぞれ、共通リンケージマネージャ４ａ、４ｂと、第１レプリケーションマネージャ６ａ、６ｂと、第２レプリケーションマネージャ８ａ、８ｂとを含むコンピューティング環境の実施形態を示す。第１レプリケーションマネージャ６ａ、６ｂ及び第２レプリケーションマネージャ８ａ、８ｂの各々は、共通リンケージ管理部４ａ、４ｂからの一般レプリケーションコマンドを、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２（図２及び図３）のための特定レプリケーションエンジンコマンド）に変換あるいは翻訳する。
【００２６】
第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２は、異なるベンダ又は同じベンダからの異なるレプリケーション技術を実施するレプリケーションエンジンを含む。あるいは、異なるレプリケーションエンジン５０及び５２は、同じレプリケーション方法の異なる実施を提供し得る。マネージャ２ａ及び２ｂは、それぞれベンダ固有ソフトウェア５ａ及び５ｂ（共通リンケージマネージャ４ａの上の層で、共通リンケージマネージャ４ａ、４ｂを呼び出し、かつレプリケーションを管理するリモート管理プログラムである）をさらに含み得る。
【００２７】
このようにして、異なるベンダ固有ソフトウェア５a及び５ｂは、レプリケーション操作を実行するために共通リンケージマネージャ４ａ、４ｂを呼び出して、通信することができる。
【００２８】
第１レプリケーションマネージャ６ａ、６ｂは、第１主コントローラ１０ａ及び第１副コントローラ１０ｂ上のレプリケーションエンジン５０のためのレプリケーション操作を制御することができ、第２レプリケーションマネージャ８ａ、８ｂは、第２主コントローラ１２ａ及び第２副コントローラ１２ｂ上のレプリケーションエンジン５２のためのレプリケーション操作を制御することができる。第１主コントローラ１０ａ上のレプリケーションエンジン５０は、第１ソースストレージ１４ａのための変更データを第１ジャーナル１６ａにコピーし、次に、第１ジャーナル１６ａのデータを、第１副コントローラ１２ａによって管理される第１ターゲットストレージ１８ａにコミットする。第２主コントローラ１０ｂ上のレプリケーションエンジン５２は、第２ソースストレージ１４ｂのための変更データを第２ジャーナル１６ｂにコピーし、次に、第２ジャーナル１６ｂのデータを、第２ターゲットストレージ１８ｂにコミットする。
【００２９】
図１に示される構成要素の１つ以上の例があり得る。
【００３０】
異なるレプリケーションエンジン技術は、まだコミットされていない変更データをバッファするために異なる技術を使用し得る。例えば、いくつかのレプリケーション技術は、更新をバッファするためにジャーナルを使用し、他方では、データがコミットされる前に更新を維持するために他の技術を使用する（例えばストレージにまだコミットされていない更新データの「フラッシュコピー」を作成するなど）。
【００３１】
ネットワーク２０は、マネージャ２ａ、２ｂ、主コントローラ１０ａ、１０ｂ、副コントローラ１２ａ、１２ｂ、及びジャーナル１６ａ、１６ｂの間の通信を可能にする。ネットワーク２０は、ストレージエリアネットワーク（ＳＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、インターネット、ワイドエリアネットワーク（ＷＡＮ）、ピアツーピアネットワーク、無線ネットワーク、アービトレート型ループネットワークなどを含み得る。さらに、マネージャ２ａと２ｂとコントローラ１０ａ、１０ｂ、１２ａ、１２ｂとの間に異なるネットワークが存在し得る。
【００３２】
マネージャ２ａ、２ｂ及びコントローラ１０ａ、１０ｂ、１２ａ、１２ｂは、当技術分野で周知の適切な計算装置（例えば、サーバ、エンタープライズストレージサーバなど）を含み得る。ストレージ１４ａ、１４ｂ、１８ａ、１８ｂは、例えば、相互連結したハードディスクドライブ（Redundant Array of Independent Disks（ＲＡＩＤ））、Just a Bunch of Disks（ＪＢＯＤ）、直接アクセス記憶装置（ＤＡＳＤ）、ループ構成で連結したディスク（直列ループ）、ファイバチャネル調停ループ）、シングルストレージデバイス、テープライブラリ、光学ライブラリ、Network Attached Storage（ＮＡＳ）などの複数の記憶装置を含むストレージシステムなどの、当技術分野で周知のストレージシステムで実装され得る。
【００３３】
ジャーナル１６ａ、１６ｂは、別個の中間コンピュータシステム内に実装されてもよく、あるいは、それぞれ第１副コントローラ１０ｂ及び第２副コントローラ１２ｂ内に実装されてもよい。
【００３４】
２つのレプリケーションマネージャだけが示されているが、マネージャシステム２ａ、２ｂには３つ以上のレプリケーションマネージャが存在してもよい。さらに、共通のポイントインタイムにおける共通の整合性グループを形成するために、一緒に作動する多重主及び副コントローラが存在してもよい。
【００３５】
図２は、第１主コントローラ１０ａ及び第１副コントローラ１０ｂ上の構成要素（第１レプリケーションエンジン５０、及び整合性インターバルレプリケーション方法によって第１ジャーナル１６にコピーされる必要がある１つの整合性グループ内の第１ソースストレージ１４ａのボリュームへの更新を示すコピー情報５４（例えば同期していないビットマップ）を含む）の一実施形態を示す。
【００３６】
図３は、第２主コントローラ１２ａ及び第２副コントローラ１２ｂ上の構成要素（第２レプリケーションエンジン５２、及び形成する整合性グループのポイントインタイムを示す整合性グループポイントインタイム５６を含む）の一実施形態を示す。第２レプリケーションエンジン５２は、第２ジャーナル１６ｂに更新を継続して送信するタイムスタンプレプリケーション方法を実施し得るが、しかし、ポイントインタイム５６時点で整合性が取れている第２ジャーナル１６ｂの更新のみが、第２ターゲットストレージ１８ｂにコミットされる。
【００３７】
図４は、整合性グループを形成するために、共通リンケージマネージャ４ａ、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａ、並びに第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２によって実行される操作の一実施形態を示す。
【００３８】
共通リンケージマネージャ２ａは、整合性グループを形成するために操作を開始し（ブロック１００）、整合性グループの準備をするために、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａに準備コマンドを発行する（ブロック１０１）。
【００３９】
一般準備コマンドの受信に応答して、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２は、ポイントインタイムにおける第１及び第２整合性グループを作成するために、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２それぞれに、第１及び第２レプリケーションエンジン特定コマンド（first and second replication engine specific commands）を発行する（ブロック１０２ａと１０２ｂ）。
【００４０】
第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２は、異なるレプリケーション方法を用いて整合性グループを作成し、異なるベンダ特定プログラミングインタフェースを使用し得る。特定のレプリケーションエンジンは、共通リンケージマネージャ２ａ、２ｂからの特定の一般レプリケーション要求に応答して、動作を実行しなくてもよい。
【００４１】
第１及び第２レプリケーションエンジン特定整合性グループ作成コマンド（the first and second replication engine specific consistency group forming commands）に応答して、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２は、決定された整合性グループポイントインタイムにおける整合性が取れている、第１ソースストレージ１４ａ及び第２ソースストレージ１４ｂへの更新の第１及び第２整合性グループをそれぞれ形成する（ブロック１０３ａと１０３ｂ）。レプリケーションエンジン５０及び５２は、非常に異なるベンダ特定技術を使用する整合性グループを形成し得る。
【００４２】
次にレプリケーションエンジン５０及び５２は、整合性グループの準備が完了したと共通リンケージマネージャ４ａに通知する（ブロック１０４ａと１０４ｂ）。レプリケーションエンジン５０及び５２からの通知の受信に応答して、共通リンケージマネージャ４ａは、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２に対して一般ランコマンドを発行する（ブロック１０５）。
【００４３】
共通リンケージマネージャ４ａからランコマンドを受信すると、レプリケーションエンジン５０及び５２は、第１及び第２整合性グループ内のデータを第１ジャーナル１６ａ及び第２ジャーナル１６ｂそれぞれに伝送し得る（ブロック１０６ａと１０６ｂ）。共通リンケージマネージャ４ａは、コミット可能状態及びコミット操作を実行するために、図５のブロック１１０で操作を開始する（ブロック１０７）。コミットとは独立して、共通リンケージマネージャ４は、別の整合性グループを形成する準備ができているとき、次の整合性グループを形成するためにブロック１００に戻る（ブロック１０８）。
【００４４】
図５に関して、共通リンケージマネージャ４ａは、第１及び第２整合性グループのすべてのデータが第１ジャーナル１６ａ及び第２ジャーナル１６ｂでジャーナルされたか否かを判断するために、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａに一般照会を発行し得る（ブロック１１０）。
【００４５】
この照会に応答して、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａは、第１及び第２整合性グループ内のデータが第１ジャーナル１６ａ及び第２ジャーナル１６ｂそれぞれにあるか否かを判断するために、すなわち、整合性グループ内のすべてのデータがジャーナルされたと判断するために、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２とそれぞれ通信する（又はこれらから受信する）ことができる（ブロック１１２ａと１１２ｂ）。
【００４６】
第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａは、第１及び第２整合性グループ内のデータがそれぞれ第１ジャーナル１６ａ及び第２ジャーナル１６ｂにあるとの判断に応答して、第１及び第２ジャーナル完了メッセージを共通リンケージマネージャ４ａに伝える（ブロック１１４ａと１１４ｂ）。第１及び第２ジャーナル完了メッセージを受信すると（ブロック１１６）、共通リンケージマネージャ４ａは、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａに一般コミットコマンドを発行する。
【００４７】
コミットコマンドの受信に応答して、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａは、第１ジャーナル１６ａ及び第２ジャーナル１６ｂの第１及び第２整合性グループ内のデータをそれぞれ、第１ターゲットストレージ１８ａ及び第２ターゲットストレージ１８ｂそれぞれにコミットするために、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５４（又は副共通リンケージマネージャ）にコマンドを発行する（ブロック１１８ａと１１８ｂ）。
【００４８】
レプリケーションエンジン５０及び５４は、ジャーナル１６ａ及び１６ｂにデータをコミットするために異なる技術を使用し得る。第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２それぞれからのコミット完了の受信に応答して、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａは、コミット完了を共通リンケージマネージャ４ａに戻す（ブロック１２０ａと１２０ｂ）。コミット要求が伝えられたすべてのレプリケーションマネージャ６ａ、８ａからコミット完了を受信すると（ブロック１２２）、共通リンケージマネージャ４ａは、後続の整合性グループを作成するために図４のブロック１００に戻り得る。
【００４９】
上述の実施形態では、レプリケーションベンダ（replication vendors）は、共通リンケージマネージャ４ａ、４ｂから一般レプリケーションエンジンコマンドを受信し、次に、ベンダ特定レプリケーションエンジンにおいて要求された一般レプリケーションエンジンコマンドを実行するために必要な対応するベンダ特定レプリケーションエンジンコマンドを実施し得る、ベンダ特定レプリケーションマネージャを提供することによって、そのレプリケーションエンジンを異種レプリケーションエンジン環境に統合させ得る。
【００５０】
一実施形態では、共通リンケージマネージャ４ａ、４ｂは、新しい整合性グループを作成するためにフリーズ及びランコマンドを発行し得る。このような実施形態では、フリーズ及びランコマンドは、図４に関して説明される一般整合性グループ準備及び作成操作に対応する。図６、図７、図８は、フリーズ及びランコマンドを使用する準備及び作成レプリケーションコマンドを実施するために第１レプリケーションマネージャ６ａによって実行される操作の一実施形態を示す。一般準備及び作成コマンドは、フリーズ及びランとは異なるコマンドで実施され得る。
【００５１】
図６に関して、第１レプリケーションマネージャ６ａは、第１ソースストレージ１４ａのボリュームが新しい整合性グループ内に存在するように、共通リンケージマネージャ４ａからフリーズコマンドを受信する（ブロック１５０）。フリーズコマンドは、一般整合税グループ形成準備コマンドに対応する。
【００５２】
フリーズコマンドに応答して、第１レプリケーションマネージャ６ａは、形成されている整合性グループのボリュームへのＩ／Ｏを休止するために、第１レプリケーションエンジン５０にフリーズコマンドを送信し（ブロック１５２）、第１ソースストレージ１４ａボリュームからターゲットストレージにコピーするためにＩ／Ｏが休止されたときに、ポイントインタイムにおけるボリュームのコピー情報５４を作成し、かつフリーズがフリーズポイントインタイムで完了したというメッセージを第１レプリケーションマネージャに送信する。第１レプリケーションマネージャ６ａは、共通リンケージマネージャ４ａにフリーズポイントインタイム及びフリーズ完了を戻すことができ（ブロック１５４）、その場合、フリーズポイントインタイムは、形成する整合性グループのポイントインタイムである。
【００５３】
共通リンケージマネージャ４ａは、第１レプリケーションマネージャ６ａにランコマンドを発行する（ブロック１５６）。これに応答して、第１レプリケーションマネージャ６ａは、コピー情報５６に示されるソースボリュームデータ（例えば同期していないビットマップ）を第１ジャーナル１６ａにコピーするために、第１レプリケーションエンジン５０にランコマンドを送信する（ブロック１５８）。コピー情報５６のすべてのデータ（すなわち形成されている整合性グループのデータ）が第１ジャーナル１６ａでジャーナルされたときに、第１レプリケーションエンジン６ａは、ジャーナリング完了（journaled complete）を戻すことができる。
【００５４】
図７に関して、第１レプリケーションマネージャ６ａは、共通リンケージマネージャ４ａから一般照会コマンドを受信する（ブロック１８０）。第１レプリケーションマネージャ６ａが、第１整合性グループのすべてのデータがジャーナルされたという確認を第１レプリケーションエンジン５０から受信すると（ブロック１８２）、第１レプリケーションマネージャ６ａは、第１整合性グループがジャーナルされたというメッセージを共通リンケージマネージャ４ａに戻す（ブロック１８４）。
【００５５】
そうでない場合、第１レプリケーションマネージャ６ａは、第１レプリケーションエンジン５０が、第１整合性グループがジャーナルされたという確認を戻すのを待つ（ブロック１８６）。他の実施形態では、第１レプリケーションマネージャ６ａは、第１整合性グループのすべての示されたデータがジャーナルされたか否かを判断するために、第１レプリケーションエンジン５０に活発に照会を行い、情報５４をコピーし得る。
【００５６】
図８に関して、第１レプリケーションマネージャ６ａは、共通リンケージマネージャ４ａから一般コミットコマンドを受信する（ブロック２００）。これに応答して、第１レプリケーションエンジン５０に、第１ジャーナル１６ａの第１整合性グループの仮想コピー（例えばFlashCopy(R)）を第１ターゲットストレージ１８ａに作成させるために、第１レプリケーションマネージャ６ａは、第１のレプリケーションエンジン５０にコマンドを送信する（ブロック２０２）。（FlashCopyは、米国と外国におけるInternational Business Machines, Corp.の登録商標である。）仮想コピー又はFlashCopyは、コピー関係にあるトラックを示すビットマップを維持する。
【００５７】
仮想コピー関係５４で示される第１ジャーナル１６ａのトラックを更新する試みがなされると、仮想コピーのポイントインタイムにおけるトラックのデータは、新しいデータで更新される前に、第１ターゲットストレージ１８ａにコピーされる。第１レプリケーションエンジン６ａは、仮想コピー関係にあるデータを示すために使用される仮想コピーデータ構造の作成に応答して、仮想コピーが完了したというメッセージを、第１レプリケーションマネージャ６ａに送信する（ブロック２０４）。
【００５８】
次に、第１レプリケーションマネージャ６ａは、第１レプリケーションエンジン６ａからの仮想コピー完了メッセージの受信に応答して、共通リンケージマネージャ４ａにコミット完了を戻す（ブロック２０６）。
【００５９】
図６、図７及び図８で説明された実施形態では、第１レプリケーションマネージャ６ａは、共通リンケージマネージャ４ａ一般レプリケーションコマンド（例えば準備コマンド）を、整合性インターバルレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。この実施形態では、第１レプリケーションエンジンは、「ジャーナル」がコミットされるまで、再び準備することが可能な状態であることを示さない。
【００６０】
図９、図１０及び図１１は、特定のタイムスタンプレプリケーション方法のために、共通リンケージマネージャ４ａ、４ｂからの一般レプリケーションコマンドを実施するために、第２レプリケーションマネージャ８ａによって実行される操作の一実施形態を示す。図９に関して、第２レプリケーションマネージャ８ａは、第２ソースストレージ１４ｂのボリュームが第２整合性グループ内に存在するように、共通リンケージマネージャ４ａから一般準備コマンドを受信する（ブロック２３０）。
【００６１】
これに応答して、第２レプリケーションマネージャ８ａは、フリーズコマンドの時間から、又は共通リンケージマネージャ４ａに照会することによって、フリーズポイントインタイム（整合性グループポイントインタイム）を得るために、特定フリーズコマンドを発行する（ブロック２３２）。この時点では、第２レプリケーションマネージャ８ａは、第２レプリケーションエンジン５２のためにフリーズコマンドを実行するための特定の操作を行わない。
【００６２】
第２レプリケーションエンジン５２は、第２ソースストレージ１４ｂのための整合性グループのデータを第２ジャーナル１６ｂに時間系列順のデータのタイムスタンプを付けてコピーし続ける（ブロック２３４）。よって、第２ジャーナル１６ｂは、決定されたポイントインタイムにおける第２整合性グループ内のデータ、及び形成されている整合性グループについてのポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしているかもしれない。
【００６３】
他の実施形態では、第２レプリケーションエンジン５２は、共通リンケージマネージャ４ａからの作成（又は準備/フリーズ）コマンドが該当しない場合、その作成（又は準備／フリーズ）コマンドを無視し得る。
【００６４】
図１０に関して、第２レプリケーションマネージャ８ａは、共通リンケージマネージャ４ａから一般照会コマンドを受信する（ブロック２５０）。第２レプリケーションマネージャ８ａが、第２ジャーナル１６ｂが整合性グループ（フリーズ）ポイントインタイムを超えるタイムスタンプを有するデータをジャーナルしたと判断した場合（ブロック２５２）、第２整合性グループのためにジャーナルすべきデータがもはや存在せず、第２レプリケーションマネージャ８ａは、第２整合性グループが第２ジャーナル１６ｂにジャーナルされたというメッセージを共通リンケージマネージャ４ａに戻す（ブロック２５４）。
【００６５】
第２レプリケーションマネージャ８ａが、第２整合性グループのすべてのデータが第２ジャーナル１６ｂにジャーナルされたと判断していない場合は（ブロック２５２）、第２レプリケーションマネージャ８ａは、第２整合性グループがいつジャーナルされたかをチェックし続ける。
【００６６】
図１１に関して、第２レプリケーションマネージャ８ａは、共通リンケージマネージャ４ａから一般コミットコマンドを受信する（ブロック２７０）。これに応答して、第２レプリケーションマネージャ８ａは、第２レプリケーションエンジン５２に、第２整合性グループのポイントインタイムにおける第２ジャーナル１６ｂのデータを第２ターゲットストレージ１８ｂにコピーさせるために、第２レプリケーションエンジン５２にコマンドを送信する（ブロック２７２）。
【００６７】
第２ジャーナル１６ｂからのコミットを完了すると、第２レプリケーションエンジン５２は、第２レプリケーションマネージャ８ａに対して、整合性グループのポイントインタイムにおける第２ジャーナル１６ｂのデータがコミットされたというメッセージを送信する（ブロック２７４）。これに応答して、第２レプリケーションマネージャ８ａは、共通リンケージマネージャ４ａにコミット完了を戻す（ブロック２７６）。
【００６８】
図９、図１０、図１１で説明された実施形態では、第２レプリケーションマネージャ８ａは、共通リンケージマネージャ４ａ一般レプリケーションコマンドを、タイムスタンプレプリケーション方法を実施するベンダ特定レプリケーションエンジンコマンドに変換あるいは翻訳する。
【００６９】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループ制御を提供することによって、共通リンケージマネージャ４ａ、４ｂ及びレプリケーションマネージャ６ａ、６ｂ、８ａ、８ｂは、異なるレプリケーション技術を使用する複数の異種レプリケーションエンジン全体にわたって整合性グループを形成することができる。これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備し、かつ共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するために異種レプリケーションエンジンを利用することができる。
【００７０】
図１２は、共通のポイントインタイムを有する第１ターゲットストレージ１８ａ及び第２ターゲットストレージ１８ｂのデータの整合性グループを、対応する第１ソースストレージ１４ａ及び第２ソースストレージ１４ｂに復元するための復元操作を共通リンケージマネージャ４ａ、４ｂが実行するための操作の一実施形態を示す。
【００７１】
副共通リンケージマネージャ４ｂは、第１ターゲットストレージ１８ａ及び第２ターゲットストレージ１８ｂに維持されている整合性グループの復元ポイントインタイムを有する第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂに復元コマンドを送信する（ブロック３００）。
【００７２】
復元コマンドに応答して、副マネージャ２ｂにおける第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂは、第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２に、共通ポイントインタイムを有する第１及び第２整合性グループ内のデータを第１ジャーナル１６ａ及び第２ジャーナル１６ｂにコピーさせるために、第１副コントローラ１０ｂ及び第２副コントローラ１２ｂに実装される第１レプリケーションエンジン５０及び第２レプリケーションエンジン５２それぞれに、ベンダ特定レプリケーションエンジンコマンドを送信する（ブロック３０２）。
【００７３】
次に、第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂは、第１ジャーナル１６ａ及び第２ジャーナル１６ｂからのデータを第１ソースストレージ１４ａ及び第２ソースストレージ１４ｂにコミットするために、それぞれのレプリケーションエンジン５０及び５２を制御し得る（ブロック３０４）。
【００７４】
一実施形態では、主構成要素１０ａ、１２ａ、２ａに故障がある場合に、主サイトから副サイトへのフェイルオーバーが実行され得る。このような場合、副構成要素２ａ、１０ｂ、１２ｂは、主サイトがダウンしている間にアプリケーションＩ／Ｏを受信し得る。主サイトが回復すると、副サイトにおいて形成される最新の整合性グループに正ストレージ１４、１４ｂを復元するために、復元操作が実行され得る。
【００７５】
図１３、図１４、図１５Ａ、図１５Ｂ、図１６Ａ、図１６Ｂ、図１７、図１８、図１９Ａ、図１９Ｂ、図１９Ｃ、図２０Ａ、図２０Ｂ、図２１Ａ、図２１Ｂ、図２１Ｃ、図２２Ａ、図２２Ｂは、主サイト及び副サイトにおける複数の異種レプリケーションストレージシステム全体にわたって整合性を維持するための操作の他の実施形態を示す。
【００７６】
図１３は、図１のコンピューティング環境の別の実施形態を示す。主マネージャ２ａと副マネージャ２ｂはそれぞれ、図１に示されるのと同じ構成要素を含む。図１の第１レプリケーションマネージャ６ａは第１主サイト・ストレージシステム２０ａに結合することができ、図１の第２レプリケーションマネージャ８ａは第２主サイト・ストレージシステム２１ａに結合することができる。第１主サイト・ストレージシステム２０ａは、１つのグループを形成する複数の第１主サイト・ストレージデバイス（ＦＰＳＤ１、ＦＰＳＤ２、・・・ＦＰＳＤｎ）２２ａ、２２ｂ・・・２２ｎを含む。
【００７７】
第２主サイト・ストレージシステム２１ａは、１つのグループを形成する複数の第２主サイト・ストレージデバイス（ＳＰＳＤ１、ＳＰＳＤ２、・・・ＳＰＳＤｎ）２３ａ、２３ｂ・・・２３ｎを含む。図１の第１レプリケーションマネージャ６ｂは第１副サイト・ストレージシステム２０ｂに結合することができ、図１の第２レプリケーションマネージャ８ｂは第２副サイト・ストレージシステム２１ｂに結合することできる。第１副サイト・ストレージシステム２０ｂは、１つのグループを形成する複数の第１副サイト・ストレージデバイス（ＦＳＳＤ１、ＦＳＳＤ２、・・・ＦＳＳＤｎ）２４ａ、２４ｂ・・・２４ｎを含む。第２副サイト・ストレージシステム２１ｂは、１つのグループを形成する複数の第２副サイト・ストレージデバイス（ＳＳＳＤ１、ＳＳＳＤ２、・・・ＳＳＳＤｎ）２５ａ、２５ｂ・・・２５ｎを含む。第１主サイト・ストレージシステム２０ａと第１副サイト・ストレージシステム２０ｂは、対応するボリュームを有し、各々がペアを形成する。
【００７８】
第２主サイト・ストレージシステム２１aと第２副サイト・ストレージシステム２１ｂも、対応するボリュームを有し、各々がペアを形成する。主サイトと副サイトの間では、２つのシステムがグループ内で整合性を保つために異なるリモートコピー方法を使用するが、複数のグループの間で整合性を維持して、データレプリケーションが実行される。たとえ第１ストレージシステム２０ａ、２０ｂが共通リンケージマネージャによって制御されない場合でも、第１ストレージシステム２０ａ、２０ｂは、ホストから書き込みデータを受信し、ビットマップを使用して副リモートサイトにデータを送信し、かつ１つのボリュームからのデータを副サイトの別のボリュームに適用することによる、１回のサイクルを実施し得る。
【００７９】
一方、共通リンケージマネージャによって制御されない場合には、第２ストレージシステム２１ａ、２１ｂは、主サイトと副サイトで異なるサイクルを実行し得る。このようにして、第１ストレージシステム２０ａ、２０ｂは、１回のサイクルで１世代のみを有するかもしれず、そして、共通リンケージマネージャによる位相制御なしで、異なるシステムが独立して操作される場合は、第２ストレージシステム２１ａ、２１ｂは、１回のサイクルで多数の世代を混合し得る。
【００８０】
図１４Ａは、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２（例えば、図１３のＦＰＳＤ２２ａ、２２ｂ・・・２２ｎのうちの１つ）の構成要素を示す。各第１主サイト・ストレージデバイス（ＦＰＳＤ）２２は、ストレージコントローラ（ＣＴＬＦａ）２６ａとストレージボリューム３０とを含む。第１主サイト・ストレージデバイス（ＦＰＳＤ）２２の操作を制御するストレージコントローラ（ＣＴＬＦａ）２６ａは、メモリ（ＭＥＭＦａ）２７ａと、メモリ２７aに格納されたプログラムを実行するためのプロセッサ（ＰＲＣＦａ）２８ａと、２つのビットマップ３１、３２とを含む。メモリＭＥＭＦａ２７ａは、プログラム、制御情報、及びキャッシュ用の読み込み／書き込みデータを格納する。ストレージボリューム３０は、複数のディスクドライブ（例えばハードディスクドライブ（ＨＤＤ））から構成され得る。
【００８１】
図１４Ｂは、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４（例えば図１３のＦＳＳＤ２４ａ、２４ｂ・・・２４ｎのうちの１つ）の構成要素を示す。各第１副サイト・ストレージデバイス（ＦＳＳＤ）２４は、ストレージコントローラ（ＣＴＬＦｂ）２６ｂとストレージボリューム３３、３４とを含み得る。第１副サイト・ストレージデバイス（ＦＳＳＤ）２４の操作を制御するストレージコントローラ（ＣＴＬＦｂ）２６ｂは、メモリ（ＭＥＭＦｂ）２７ｂと、メモリ２７ｂに格納されるプログラムを実行するためのプロセッサ（ＰＲＣＦｂ）２８ｂとを含む。
【００８２】
メモリ（ＭＥＭＦｂ）２７ｂは、プログラム、制御情報、及びキャッシュ用の読み込み／書き込みデータを格納する。ストレージボリューム３３、３４は、複数のディスクドライブ（例えばハードディスク装置（ＨＤＤ））から構成され得る。ストレージボリューム３０、３４はホストからアクセス可能であり、ストレージボリューム３３は、主サイトからデータを受信するために使用され得る。
【００８３】
図１５Ａは、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３（例えば図１３のＳＰＳＤ２３ａ、２３ｂ・・・２３ｎのうちの１つ）の構成要素を示す。各第２主サイト・ストレージデバイス（ＳＰＳＤ）２３は、ストレージコントローラ（ＣＴＬＳａ）２９ａとストレージボリューム３５、３６とを含む。第２主サイト・ストレージデバイス（ＳＰＳＤ）２３の操作を制御するストレージコントローラＣＴＬＳａ２９ａは、メモリＭＥＭＳａ３９ａと、プログラムを実行するためのプロセッサＰＲＣＳａ４０ａとを含む。メモリＭＥＭＳａ３９ａは、プログラム、制御情報、及びキャッシュ用の読み込み／書き込みデータを格納する。ストレージボリューム３５、３６は、複数のディスクドライブ（例えばＨＤＤ）から構成され得る。
【００８４】
図１５Ｂは、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５（例えば図１３のＳＳＳＤ２５ａ、２５ｂ・・・２５ｎのうちの１つ）の構成要素を示す。各第２副サイト・ストレージデバイス（ＳＳＳＤ）２５は、ストレージコントローラＣＴＬＦｂ２９ｂと、ストレージボリューム３７、３８とを含む。第２副サイト・ストレージデバイス（ＳＳＳＤ）２５の操作を制御するストレージコントローラＣＴＬＦｂ２９ｂは、メモリＭＥＭＦｂ３９ｂと、メモリ３９ｂに格納されるプログラムを実行するためのプロセッサＰＲＣＦｂ４０ｂとを含む。
【００８５】
メモリＭＥＭＳｂ３９ｂは、プログラム、制御情報、及びキャッシュ用の読み込み／書き込みデータを格納する。ストレージボリューム３７、３８は、複数のディスクドライブ（例えばＨＤＤ）から構成され得る。ストレージボリューム３５、３８は、ホストからのアクセスのために使用することができ、ストレージボリューム３６、３７は、主サイトから副サイトへのデータを送受信するために使用され得る。
【００８６】
図１６Ａは、主サイトの第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎと、副サイトの第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎとの、各ペアの操作流れを示す。第１主サイト・ストレージデバイス（ＦＰＳＤ）２４ａ、２４ｂ・・・２４ｎは、ホストから書き込みデータ（ＷＲ）を受信し（ブロック９００）、そのストレージボリューム３０（図１４Ａ）にデータを格納する。ビットマップ３１（ＢＭ１）は、この書き込みを記録する（ブロック９００）。書き込みデータは副サイトに送信され、ビットマップ３１（ＢＭ１）の対応するビットはクリアされる（ブロック９００）。
【００８７】
副サイトでは、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎは、主サイトから送信される書き込みデータ（ＷＲ）を受信し（ブロック９１０）、ストレージボリューム３３（図１４Ｂ）に書き込みデータを格納する。第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎからの書き込みデータ送信操作、及び第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎ上のストレージボリューム３３へのデータ受信及び格納操作が、システムの負荷に依存して継続される間、ホストからの書き込み（ＷＲ）は、第１レプリケーションマネージャ６ａからのフリーズコマンドに応答して休止され（ブロック９０１）、ＦＰＳＤ２２ａ、２２ｂ・・・.２２ｎのビットマップ３２（ＢＭ２）（図１４Ａ）が起動される。ビットマップ３２（ＢＭ２）が起動された後で、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎは、第１レプリケーションマネージャ６ａ（ＰＦＲＭ）にフリーズ完了通知を送信する（ブロック９０１）。
【００８８】
この完了通知によって、共通リンケージマネージャ４ａは、すべての第１主サイト・ストレージデバイス（ＦＰＳＤ１、ＦＰＳＤ２、・・・ＦＰＳＤｎ）２２ａ、２２ｂ・・・２２ｎ及び第２主サイト・ストレージデバイス（ＳＰＳＤ１、ＳＰＳＤ２、・・・ＳＰＳＤｎ）２３ａ、２３ｂ・・・２３ｎが、フリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる（ブロック９０１）。
【００８９】
次に（ブロック９０２）、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎは、第１レプリケーションマネージャ６ａ（ＰＦＲＭ）からマーカ付きのランコマンド（Run command）を受信する。マーカは、該当データを含むサイクル（世代）を示す情報を含む。マーカは、通し番号を含み得る。サイクル番号とは、共通リンケージマネージャ４ａ、４ｂが制御したサイクルをカウントした参照番号である。マーカは、２つのストレージシステム（例えばレプリケーションマネージャ）のサイクルを制御するために使用される通し番号を含み得る。
【００９０】
このコマンドに応答して（ブロック９０２）、ホストからの書き込み操作（ＷＲ）が再開され、書き込みは今度はビットマップ３１（ＢＭ１）の代わりにビットマップ３２（ＢＭ２）に記録される。第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎは、ホストが再開された後で、第１レプリケーションマネージャ６ａ（ＰＦＲＭ）にラン完了通知を送信し（ブロック９０２）、次に、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎは、ビットマップ３１（ＢＭ１）がクリアされるのを待つ（ブロック９０２）が、これは、ホスト書き込みが休止される前に受信されたすべての書き込みデータが副サイトに送信されていることを意味する。
【００９１】
マーカはサイクル番号の情報を有するが、これは、第１レプリケーションマネージャ６ａ（ＰＦＲＭ）から受信され、主サイトから副サイトに送信される（ブロック９０２）。第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４・・・２４ｎのプロセッサ２６ｂ（図１４Ｂ）は、マーカの受信に応答して主サイトに確認を戻し（ブロック９１１）、第１主サイト・ストレージデバイス（ＦＰＳＤ）は、この確認を受信する（ブロック９０３）。
【００９２】
第２ストレージシステム２１ａ、２１ｂと、他方の第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎとの間の整合性を維持するために、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎは、ストレージボリューム３３からのデータをストレージボリューム３４に適用するために、第１レプリケーションマネージャ６ｂ（ＳＦＲＭ）からのコミットコマンドを待つ。
【００９３】
このようにして、第１レプリケーションマネージャ６ｂからのコミットコマンドに応答して、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎは、ストレージボリューム３３のデータをストレージボリューム３４にコピーする（ブロック９１２）。コピーが完了した後で、完了通知が主サイト（ブロック９１２）に送信されて（ブロック９１２）、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎは、２つのビットマップ３１、３２（ＢＭ１、ＢＭ２）（図１４Ａ）をマージし（ブロック９０４）、サイクルを終了する（ＣＹＣＥＮＤ）。これらの操作（ＣＹＣＳＴからＣＹＣＥＮＤまで）は、通常のシステム操作の間に連続して継続される。
【００９４】
本実施形態では、第１ストレージシステム２０ａは、主サイトにおける２つのビットマップと１つのストレージボリュームとを使用する。第１ストレージシステム２０ｂは、副サイトにおける２つのストレージボリュームを使用するが、ビットマップの代わりに２つのキャッシュスロット又はストレージボリューム（例えば主サイトで使用されるような）を使用してもよく、又は副サイトにおいて主サイトからのデータを受信するためのストレージボリューム３３、３４の代わりに２つのビットマップを使用してもよい。
【００９５】
図１６Ｂは、主サイトの第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎと、副サイトの第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎとの、各ペアの操作流れを示す。
【００９６】
第２ストレージシステム２１ａ、２１ｂは、１回のサイクルでは作動しない。これは複数サイクル（ＡＣＴ１、ＡＣＴ２、ＡＣＴ３）を有し、これらは独立して、かつ並行して作動できる。ＡＣＴ１では、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、ホストから書き込みデータ（ＷＲ）を受信し、ストレージボリューム３５にこのデータを格納する。ホストから受信した書き込みデータ（ＷＲ）を含むジャーナルデータと、順番又は書き込みに関する情報（例えば時間情報又は通し番号）は、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎのプロセッサ２９ａに制御されているストレージボリューム３６に格納される（ブロック９５０）。
【００９７】
第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎに結合されたホストがメインフレームタイプである場合は、ホストから受信する書き込みデータに付加されるタイムスタンプは、時間情報のために使用され得る。第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎに結合されたホストがオープンシステムタイプである場合は、時間情報はホストからの書き込みデータに付加されないかもしれず、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎの内部のタイマーが、時間情報を提供するために使用され得る。
【００９８】
セカンドレプリケーションマネージャ８ａ（ＰＳＲＭ）からのフリーズコマンドに応答して、ホストからの書き込みが休止される（ブロック９５１）。ホストが休止された後で（ブロック９５１）、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎのコントローラＣＴＬＳａ２９ａは、第２レプリケーションマネージャ８ａ（ＰＳＲＭ）にフリーズ完了通知を送信する。
【００９９】
共通リンケージマネージャ４ａ（ＰＦＲＭ）は、第１主サイト・ストレージデバイス（ＦＰＳＤ１、ＦＰＳＤ２、・・・ＦＰＳＤｎ）２２ａ、２２ｂ・・・２２ｎ及び第２主サイト・ストレージデバイス（ＳＰＳＤ１、ＳＰＳＤ２、・・・ＳＰＳＤｎ）２３ａ、２３ｂ・・・２３ｎのすべてがフリーズコマンドに応答して操作を終了し、次の操作の準備ができているか否かを判断することができる（ブロック９５１）。
【０１００】
次に、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、第２レプリケーションマネージャ８ａ（ＳＦＲＭ）からのマーカ付きのランコマンドを受信する（ブロック９５２）。このコマンドに応答して、ホストからの書き込み操作が再開され、第２レプリケーションマネージャ８ａ（ＰＳＲＭ）から受信されたマーカがストレージボリューム３６に格納される（ブロック９５２）。マーカは、他のジャーナルデータとしての形態を調節するために修正され得る。
【０１０１】
次に、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３a、２３ｂ・・・２３ｎは、第２レプリケーションマネージャ８ａ（ＰＳＲＭ）にラン完了通知を送信する（ブロック９５２）。ＡＣＴ１（９５０、９５１、９５２）の操作は、システム操作の間に連続して継続され得る。ＡＣＴ２では、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎは、主サイトの対応する第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎに読取コマンドを発行する（ブロック９７０）。読取コマンドは、他の操作（ＡＣＴ１、ＡＣＴ３）から独立して定期的に実行される。
【０１０２】
タイムラップは、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎの負荷に応じて修正され得る。読取コマンドに応答して、第２主サイトデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、ストレージボリューム３６（図１５Ａ）のジャーナルデータと、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎへのマーカを、副サイトに伝送する（ブロック９６０）。
【０１０３】
第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎは、主サイトから受信したジャーナルデータを第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎのストレージボリューム３７（図１５Ｂ）に格納する（ブロック９７１）。マーカも、第２主サイト・ストレージデバイス２３ａ、２３ｂ・・・２３ｎ（ＳＰＳＤ）のストレージボリューム３６から読み出され、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎのストレージボリューム３７に格納され得る。ＡＣＴ２（９７０、９６０、９７１）の操作は、システム操作の間に連続して継続され得る。
【０１０４】
ＡＣＴ３では、第２レプリケーションマネージャ８ｂ（ＳＳＲＭ）からのコミットコマンドに応答して、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎは、ジャーナルデータが形成されたときに書き込みデータに付加された時間情報又は通し番号を使用するジャーナルの順番で、ストレージボリューム３７内のジャーナルデータをストレージボリューム３８（図１５Ｂ）に適用し得る（ブロック９８）。ストレージボリューム３７のジャーナルデータは、マーカ（第２レプリケーションマネージャ８ｂ（ＳＳＲＭ）から受信されたマーカに一致する）を含むジャーナルデータが処理されるまで、ストレージボリューム３８に適用される。
【０１０５】
ストレージボリューム３７は、両方のボリュームのジャーナルデータが連続データレプリケーションのために使用できるように、ストレージボリューム３６として時間関連情報を含み得るが、ストレージボリューム３８は、ボリューム３５の場合のように、書き込みデータのみを有するように修正され得る（ブロック９８０）。
【０１０６】
第１ストレージシステム２０ａ、２０ｂと、他方の第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎとの間の整合性を維持するために、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎは、ストレージボリューム３７からのデータをストレージボリューム３８に適用するために、第２レプリケーションマネージャ８ｂ（ＳＳＲＭ）からのコミットコマンドを待つ。
【０１０７】
適用操作が完了された後で、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎは、主サイトに完了通知を送信する（ブロック９８０）。第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、適用完了通知を受信する（ブロック９９０）。ＡＣＴ３（９８０、９９０）の操作は、システムがオンの間、連続して継続される。
【０１０８】
図１７は、副サイトにおけるレプリケーションマネージャ６ｂ及び８ｂを制御するために共通リンケージマネージャ４ａによって実行される操作を示す。共通リンケージマネージャ４ａが整合性グループを形成するために操作を開始すると（ブロック４００）、共通リンケージマネージャ４ａはマーカを初期化する（ブロック４０２）。
【０１０９】
共通リンケージマネージャ４ａはマーカを増加させ（ブロック４０６）、主サイトの第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａにフリーズコマンドマーカを発行する（ブロック４０８）。共通リンケージマネージャ４ａは、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａからのフリーズコマンドへの応答を待ち（ブロック４１０）、そして応答を受信すると、第１レプリケーションマネージャ６ａ及び第２レプリケーションマネージャ８ａに対してマーカ付きのランコマンドを発行する（ブロック４１２）。
【０１１０】
ストレージシステムのフリーズコマンドに応答してホスト操作を休止し、かつストレージシステムへのマーカを実施することにより、使用されるストレージシステムは、ホストからの同じ時間情報を有さないメインフレームタイプ又はオープンタイプのいずれであってもよい。なぜならば、ストレージシステムがマーカを用いて共通位相（common phase）を実現できるからである。
【０１１１】
共通リンケージマネージャ４ａは、次の整合性グループを形成するための許可について照会を行うために、第１及び第２レプリケーションマネージャに照会コマンドを発行する（ブロック４１４）。
【０１１２】
すべてのレプリケーションマネージャ６ａ及び８ａが次の整合性グループを形成する許可をもって応じる場合は、ブロック４０６に戻って制御は進み、次の整合性グループを形成する。そうでない場合、許可が与えられなければ、ブロック４１２に戻って制御は進み、両方のレプリケーションマネージャ６ａ及び８ａが次の整合性グループを形成するための許可をもって応じるのを待つ。
【０１１３】
図１８は、副サイトのレプリケーションマネージャ６ｂ及び８ｂを制御するために共通リンケージマネージャ４ｂによって実行される操作の一実施形態を示す。副共通リンケージマネージャ４ｂが整合性グループをコミットするための操作を開始すると（ブロック４５０）、共通リンケージマネージャ４ｂは、各第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎ及び各第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎからの最新マーカについて照会するために、第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂに対して、照会コマンドを発行する（ブロック４５２）。
【０１１４】
共通リンケージマネージャ４ｂは、第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂから最新マーカを受信するのを待ち（ブロック４５４）、複数の最新マーカの中の最小マーカを決定する（ブロック４５６）。最小マーカが変わった場合は（ブロック４５８）、共通リンケージマネージャ４ｂは、第１レプリケーションマネージャ６ｂ及び第２レプリケーションマネージャ８ｂに対して、最小マーカ付きのコミットコマンドを発行する（ブロック４６０）。
【０１１５】
そうでない場合、最小マーカが変わっていなければ（ブロック４５８）、ブロック４５０へ戻って制御は進む。さらに、コミットコマンドを発行した後に（ブロック４６０）、共通リンケージマネージャ４ｂはブロック４５０に戻る。
【０１１６】
図１９Ａは、共通リンケージマネージャ４ａからのフリーズコマンドを処理するために、主サイトの第１レプリケーションマネージャ６ａによって実行される操作の一実施形態を示す。主サイトの第１のレプリケーションマネージャ６ａが共通リンケージマネージャ４ａからのフリーズコマンドを受信すると（ブロック５００）、第１レプリケーションマネージャ６ａは、第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎの各コントローラＣＴＬＦａ２６ａにフリーズコマンドを送信する（ブロック５０２）。
【０１１７】
このコマンドに応答して、コントローラＣＴＬＦａ２６ａは、ソースストレージ３０のボリュームへのＩ／Ｏを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第１レプリケーションマネージャ６ａに送信する。第１レプリケーションマネージャ６ａは、すべてのフリーズ完了メッセージが第１レプリケーションマネージャ６ａによって受信された後に、共通リンケージマネージャ４ａにフリーズ完了メッセージを戻す（ブロック５０４）。
【０１１８】
図１９Ｂは、共通リンケージマネージャ４ａからのランコマンドを処理するために、主サイトの第１レプリケーションマネージャ６ａによって実行される操作の一実施形態を示す。主サイトの第１レプリケーションマネージャ６ａが共通リンケージマネージャ４ａからのマーカ付きのランコマンドを受信すると（ブロック５３０）、第１レプリケーションマネージャ６ａは、ボリュームへのＩ／Ｏの休止及びソースストレージ３０におけるホストＩ／Ｏ操作の再開を行わないように、第１主サイト・ストレージデバイス（ＦＰＳＤ）２６ａ、２６ｂ・・・２６ｎにコマンドを送信する（ブロック５３２）。
【０１１９】
第１レプリケーションマネージャ６ａは、すべてのラン完了メッセージが第１レプリケーションマネージャ６ａによって受信された後で、共通リンケージマネージャ４ａにラン完了を戻す（ブロック５３４）。
【０１２０】
図１９Ｃは、共通リンケージマネージャ４ａからの照会コマンドを処理するために、主サイトの第１レプリケーションマネージャ６ａによって実行される操作の一実施形態を示す。共通リンケージマネージャ４ａから照会コマンドを受信すると（ブロック５５０）、主サイトの第１レプリケーションマネージャ６ａは、前の整合性グループ（がコミットしたか否かに関する情報を得るために、各第１主サイト・ストレージデバイス（ＦＰＳＤ）２６ａ、２６ｂ・・・２６ｎに照会コマンドを送信する（ブロック５５２）。
【０１２１】
各第１主サイト・ストレージデバイス（ＦＰＳＤ）２６ａ、２６ｂ・・・２６ｎが、ブロック９１２で示されるように副サイトからコピー完了を受信し、かつブロック９０４で２つのビットマップ（ＢＭ１、ＢＭ２）３１、３２（図１４Ａ）をマージした場合は、各第１主サイト・ストレージデバイス（ＦＰＳＤ）２６ａ、２６ｂ・・・２６ｎは、グループがコミットされたことの確認を戻し、また、２つのビットマップ３１、３２をマージしなかった場合は、グループがコミットされなかったことを戻し、あるいは、ブロック９０４で２つのビットマップ（ＢＭ１、ＢＭ２）をマージするまで、応答を戻さない。
【０１２２】
第１のレプリケーションマネージャ６ａは、すべての第１主サイト・ストレージデバイス（ＦＰＳＤ）２２ａ、２２ｂ・・・２２ｎからのコミット及び照会完了の収集された結果を、共通リンケージマネージャ４ａに戻す（ブロック５５４）。
【０１２３】
よって、すべての第１主サイト・ストレージデバイス（ＦＰＳＤ１、ＦＰＳＤ２、・・・ＦＰＳＤｎ）２２ａ、２２ｂ・・・２２ｎがコミットされない限り、第１レプリケーションマネージャ６ａは、前の整合性グループがコミットされていないということを、共通リンケージマネージャに戻す。
【０１２４】
図２０Ａは、共通リンケージマネージャ４ｂからの照会コマンドを処理するために、副サイトの第１レプリケーションマネージャ６ａによって実行される操作の一実施形態を示す。副サイトの第１レプリケーションマネージャ６ｂが共通リンケージマネージャ４ｂからの照会コマンドを受信すると（ブロック６００）、副サイトの第１レプリケーションマネージャ６ｂは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎに照会コマンドを送信する（ブロック６０２）。
【０１２５】
第１副サイト・ストレージデバイス（ＦＳＳＤ１、ＦＳＳＤ２、・・・ＦＳＳＤｎ）２４ａ、２４ｂ・・・２４ｎはそれぞれ、第１レプリケーションマネージャ６ｂからのこの照会コマンドに応答して最大マーカ値を返信する。
【０１２６】
第１ストレージシステム２０ａ、２０ｂが１回のサイクルで操作されるので、各第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎには１つのマーカ値だけが存在する。第１レプリケーションマネージャ６ｂは、すべての第１副サイト・ストレージデバイス（ＦＳＳＤ、ＦＳＳＤ２、・・・、ＦＳＳＤｎ）２４ａ、２４ｂ・・・２４ｎから受信された複数の最大マーカの中の最小マーカと照会完了とを、共通リンケージマネージャ４ｂに戻す（ブロック６０４）。
【０１２７】
図２０Ｂは、共通リンケージマネージャ４ｂからのコミットコマンドを処理するために、副サイトの第１レプリケーションマネージャ６ｂによって実行される操作の一実施形態を示す。副サイトの第１のレプリケーションマネージャ６ｂが共通リンケージマネージャ４ｂからコミットコマンドを受信すると（ブロック６３０）、第１レプリケーションマネージャ６ｂは、ストレージボリューム３３からストレージボリューム３４への仮想コピーを作成するために、第１副サイト・ストレージデバイス（ＦＳＳＤ）２４ａ、２４ｂ・・・２４ｎにコマンドを送信する（ブロック６３２）。
【０１２８】
このコピーは、FlashCopyを使用して実行され得る。第１レプリケーションマネージャ６ｂは、次に、すべてのコミット完了メッセージが第１レプリケーションマネージャ６ｂによって受信された後で、共通リンケージマネージャにコミット完了を戻す（ブロック６３４）。
【０１２９】
図２１Ａは、共通リンケージマネージャ４ａからのフリーズコマンドを処理するために、主サイトの第２レプリケーションマネージャ８ａによって実行される操作の一実施形態を示す。主サイトの第２レプリケーションマネージャ８ａが共通リンケージマネージャ４ａからフリーズコマンドを受信すると（ブロック６５０）、第２レプリケーションマネージャ８ａは、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎにフリーズコマンドを送信する（ブロック６５２）。フリーズコマンドに応答して、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、ソースストレージ３５（図１５Ａ）のボリュームへのＩ／Ｏを休止し、そして、フリーズがフリーズポイントインタイムで完了したというメッセージを第２レプリケーションマネージャ８ａに送信する。
【０１３０】
第２レプリケーションマネージャ８ａは、すべてのフリーズ完了メッセージが第２レプリケーションマネージャ８ａによって受信された後で、共通リンケージマネージャ４ａにフリーズ完了を戻す（ブロック６５４）。
【０１３１】
図２１Ｂは、共通リンケージマネージャ４ａからのマーカ付きのランコマンドを処理するために、主サイトの第２レプリケーションマネージャ８ａによって実行される操作の一実施形態を示す。主サイトの第２レプリケーションマネージャ８ａが共通リンケージマネージャ４ａからマーカ付きのランコマンドを受信すると（ブロック６８０）、第２レプリケーションマネージャ８ａは、ボリュームへのＩ／Ｏを休止及びソースストレージ３５（図１５Ａ）におけるホストＩ／Ｏ操作の再開を行わないように、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎにコマンドを送信する（ブロック６８２）。
【０１３２】
第２レプリケーションマネージャ８ａは、すべてのラン完了メッセージが第２レプリケーションマネージャ６ａによって受信された後で、共通リンケージマネージャ４ａにラン完了を戻す（ブロック６８４）。
【０１３３】
図２１Ｃは、共通リンケージマネージャ４ａからの照会コマンドを処理するために、主サイトの第２レプリケーションマネージャ８ａによって実行される操作の一実施形態を示す。共通リンケージマネージャ４ａからの照会コマンドを受信すると（ブロック６９０）、主サイトの第２レプリケーションマネージャ８ａは、前の整合性グループがコミットしたか否かに関する情報を得るために、第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎに照会コマンドを送信する（ブロック６９２）。
【０１３４】
各第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎが、ブロック９９０（図１６Ｂ）で示されるように副サイトから適用完了（Apply complete）を受信した場合は、各第２主サイト・ストレージデバイス（ＳＰＳＤ）２３ａ、２３ｂ・・・２３ｎは、該当グループがコミットされたことを戻し、また、副サイトからコピー完了を受信していない場合は、グループがコミットされていないことを戻し、あるいは、副サイトから完了メッセージを受信するまでは、応答を戻さない。
【０１３５】
第２レプリケーションマネージャ８ａは、コミット及び照会完了の収集された結果を、共通リンケージマネージャ４ａに戻す（ブロック６９２）。
【０１３６】
よって、すべての第２主サイト・ストレージデバイス（ＳＰＳＤ、ＳＰＳＤ２、・・・、ＳＰＳＤｎ）２３ａ、２３ｂ・・・２３ｎがコミットされない限り、第２レプリケーションマネージャ８ａは、前の整合性グループがコミットされていないことを、共通リンケージマネージャに戻す。
【０１３７】
図２２Ａは、共通リンケージマネージャ４ｂからの照会コマンドを処理するために、副サイトの第２レプリケーションマネージャ８ｂによって実行される操作の一実施形態を示す。副サイトの第２レプリケーションマネージャ８ｂが共通リンケージマネージャ４ｂからの照会コマンドを受信すると（ブロック７００）、副サイトの第２レプリケーションマネージャ８ｂは、既に伝送されたコピー情報に関連した最大マーカ値を得るために、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎに照会コマンドを送信する（ブロック７０２）。
【０１３８】
第２副サイト・ストレージデバイス（ＳＳＳＤ１、ＳＳＳＤ２、・・・、ＳＳＳＤｎ）２５ａ、２５ｂ・・・２５ｎはそれぞれ、第２レプリケーションマネージャ８ｂからのこの照会コマンドに応答して最大マーカ値を返信する。ＡＣＴ１、ＡＣＴ２、ＡＣＴ３が独立したループであるため、第２ストレージシステム２１ａ、２１ｂは、システム内に複数の世代を可能にする。
【０１３９】
よって、複数のマーカが、各第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎ内に存在し得る。特定の実施形態では、第１ストレージシステム２０ａ、２０ｂが１回のサイクルで作動し、かつ第１及び第２レプリケーションマネージャからの主サイト及び副サイト各々からのコマンドが、共通レプリケーションマネージャによってリンクされるため、本実施形態では、各第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎには１つのマーカだけが存在することになる。ＡＣＴ１、ＡＣＴ２、ＡＣＴ３が、異なるサイクルを有するストレージシステムを接続する共通リンケージマネージャによってリンクされない場合、すなわち、システムがそれ自体単独で機能する場合、ＡＣＴ１、ＡＣＴ２、ＡＣＴ３は、独立したループを含み得る。異種レプリケーションシステムの両方が１回のサイクルで作動せず、かつシステム内に多数のループを有する場合、各第２副サイト・ストレージデバイス（ＳＳＳＤ１、ＳＳＳＤ２、・・・ＳＳＳＤｎ）２５ａ、２５ｂ・・・２５ｎに複数のマーカが存在し得る。第２レプリケーションマネージャ８ｂは、すべての第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎによって受信された複数の最大マーカの中の最小マーカ及び照会完了を、共通リンケージマネージャ４ｂに戻す（ブロック７０４）。
【０１４０】
共通リンケージマネージャは、第２ストレージシステム２１ａ、２１ｂがデータをストレージボリューム３８に適用する準備ができた時点を決定するために、最小マーカと照会完了通知を使用する。
【０１４１】
図２２Ｂは、共通リンケージマネージャ４ｂからのコミットコマンドを処理するために、副サイトの第２レプリケーションマネージャ８ｂによって実行される操作の一実施形態を示す。
【０１４２】
副サイトの第２レプリケーションマネージャ６ｂが共通リンケージマネージャ４ｂからマーカ付きコミットコマンドを受信すると（ブロック７３０）、コミットコマンドと共に受信されたマーカと同じ価値を有するマーカを含むジャーナルデータが処理されるまでストレージボリューム３７をストレージボリューム３８に適用するために、第２レプリケーションマネージャ８ｂは、第２副サイト・ストレージデバイス（ＳＳＳＤ）２５ａ、２５ｂ・・・２５ｎにマーカ付きコミットコマンドを送信する（ブロック７３２）。
【０１４３】
これによって、２つの異種レプリケーションシステムの間の整合性を維持することができる。本実施形態では、第１ストレージシステム２０ａ、２０ｂが１回のサイクルで作動するので、第２ストレージシステム２１ａ、２１ｂも、１回のサイクルとして作動するように、共通リンケージマネージャによって制御され得る。よって、ジャーナルデータには１つのマーカだけが存在し得るが、それは、ホストが休止される前の最新時間情報を有する最新のジャーナルデータとなる。
【０１４４】
第２レプリケーションマネージャ８ｂは、すべてのコミット完了メッセージが第２レプリケーションマネージャ８ｂによって受信された後で、共通リンケージマネージャ４ｂにコミット完了を戻す（ブロック７３４）。
【０１４５】
本実施形態では、マーカはランコマンドに応答して実施される。しかし、特定の実施形態では、マーカが第１ストレージシステムと第２ストレージシステムとで同じタイミングサイクルで実施される場合は、マーカはランコマンドに応答して実施される必要がなく、その代わりに、フリーズコマンドに応答して実施され得る。
【０１４６】
さらに、マーカ値は、主マネージャからのフリーズコマンド及びランコマンドの両方と共に送信されてもよく、マーカ値が一致した後で、当該マーカ値をインストールし得る。マーカ値が一致しない場合は、レプリケーションマネージャにエラーメッセージが送信され得る。マーカ値の２倍のマーカを送信することによって、マーカが受信されたという追加の保証を提供する。
【０１４７】
特定の実施形態では、位相はホストのレプリケーションマネージャによって制御されるので、各ストレージシステム内の主サイト及び副サイトにおけるストレージデバイスは、各システム内の整合性を維持することを要求されない。各ストレージシステム内のすべてのストレージデバイスは同等であってもよく、またストレージシステム内の複数のストレージデバイスの間でマスタ／スレーブ関係がなくてもよい。
【０１４８】
上述の実施形態はさらに、複数のストレージシステム内の複数のストレージデバイスの間でマスタ／スレーブ関係を有するストレージシステムにも適用できる。各サイトのストレージシステム内のスレーブストレージデバイスを制御するマスタストレージデバイスがある場合には、レプリケーションマネージャはマスタストレージデバイスのみと通信し、マスタストレージデバイスはスレーブストレージデバイスにコマンド及び照会を送信し、レプリケーションマネージャにすべてのストレージデバイスの代表的メッセージを返信する。
【０１４９】
上述の実施形態では、主サイト及び副サイトの共通リンケージマネージャによってリンクされる２つのレプリケーションマネージャを通して複数のストレージシステムの位相を制御することによって、異なるレプリケーション方法を有する複数のストレージシステムの間の整合性が維持される。これにより、コンピューティング環境のより高い信頼性が可能となる。なぜならば、異種システムは同種システムと比較して比較的より高い信頼性を有するからである。
【０１５０】
上述の実施形態では、より多くの世代を有するシステムは、１つの世代サイクルを有するシステムとして作動するように修正される必要はない。例えば、２つの異種システムが各システム内に複数の世代を有する場合、これらのシステムは、１回のサイクルで複数の世代を可能にすることによって作動し、その一方で、位相は、１回のサイクルで最も少ない数の世代を有するシステムによって制御される。
【０１５１】
上述の実施形態では、異なるレプリケーション方法を使用する複数のベンダ特定レプリケーションエンジン全体にわたって共通の整合性グループタイムスタンプを提供することによって、共通リンケージマネージャ４ａ、４ｂ及びレプリケーションマネージャ６ａ、６ｂ、８ａ、８ｂは、異なるレプリケーション技術を使用する複数のベンダ特定レプリケーションエンジン全体にわたって整合性グループを形成することができる。
【０１５２】
これによって、消費者は、統合されたストレージ環境で異種レプリケーションエンジンを配備すること、及び、共通ポイントインタイムにおいて整合性が取れている整合性グループを提供するため、そして異なるレプリケーション技術及び方法を使用し得るレプリケーションエンジンによって形成された整合性グループにデータを復元するために、異種レプリケーションエンジンを利用することが可能となる。
【０１５３】
追加の実施形態の詳細
上述の操作は、ソフトウェア、ファームウェア、ハードウェア、又はこれらのあらゆる組合せを製造するための標準的プログラミング及び／又はエンジニアリング技術を使用する方法、装置、又は製品として実施され得る。
【０１５４】
上述の操作は、「コンピュータ可読媒体」で維持されるコードとして実施され得るが、この場合、プロセッサがコンピュータ可読媒体からコードを読み取り、かつ実行し得る。      
【０１５５】
コンピュータ可読媒体は、磁気記憶媒体（例えばハードディスクドライブ、フロッピーディスク、テープなど）、光記憶装置（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性及び不揮発性メモリ装置（例えばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ファームウェア、プログラム可能論理など）などの媒体を含み得る。
【０１５６】
上述の操作を実施するコードはさらに、ハードウェアデバイス（例えば集積回路チップ、プログラマブルゲートアレイ（ＰＧＡ）、特定用途向けＩＣ（ＡＳＩＣ）など）に実装されたハードウェア論理で実施され得る。またさらに、上述の操作を実施するコードは、「伝送信号」で実施され得るが、この場合、伝送信号は、空間を通して、又は伝送媒体（例えば光ファイバ、銅線など）を通して伝播し得る。
【０１５７】
コード又は論理が符号化された伝送信号は、無線信号、衛星通信、電波、赤外線信号、ブルートゥースなどをさらに含み得る。コード又は論理が符号化された伝送信号は、伝送ステーションによって伝送され、かつ受信ステーションによって受信されることができるが、この場合、伝送信号に符号化されたコード又は論理は復号化され、かつ受信及び伝送ステーション又はデバイスにおけるハードウェア又はコンピュータ可読媒体に格納され得る。
【０１５８】
「製品」は、コードが実施され（implemented）得るコンピュータ可読媒体、ハードウェア論理、及び／又は伝送信号を含む。操作について説明した実施形態を実施するコードが符号化されるデバイスは、コンピュータ可読媒体又はハードウェア論理を含み得る。当然のことながら、当業者には明らかなように、本発明の範囲から逸脱することなく、この構成に多くの修正を行うことができ、上記製品は、当技術分野で周知の、適切な情報を有する媒体を含み得る。
【０１５９】
主構成要素（例えばリンケージマネージャ４ａ、レプリケーションマネージャ６ａ、８ａなど）に関して説明した操作は、対応する副構成要素によって実行され得る。
【０１６０】
図２３は、図１のマネージャ２ａ、２ｂ及びコントローラ１０ａ、１０ｂ、１２ａ、１２ｂのために実現され得るコンピュータアーキテクチャ８００の１つのインプリメンテーションを示す。アーキテクチャ８００は、プロセッサ８０２（例えばマイクロプロセッサ）と、メモリ８０４（例えば揮発性メモリ装置）と、ストレージ８０６（例えば不揮発性ストレージ（例えば磁気ディスクドライブ、光ディスクドライブ、テープ装置など））とを含み得る。
【０１６１】
ストレージ８０６は、内部ストレージデバイス、又は付加されたもしくはネットワークアクセス可能なストレージを備え得る。ストレージ８０６のプログラム（オペレーティングシステム８０８、デバイスドライバ及びアプリケーションプログラムを含む）は、メモリ８０４にロードされ、当技術分野で周知の態様でプロセッサ８０２によって実行される。アーキテクチャは、ネットワークとの通信を可能にするためのネットワークカード８１０をさらに含む。
【０１６２】
入力装置８１２は、ユーザ入力をプロセッサ８１２に提供するために使用され、キーボード、マウス、ペン・スタイラス（pen-stylus）、マイク、接触感応性スクリーン（touch sensitive display screen）、又は当技術分野で周知のその他あらゆる起動又は入力メカニズムを含み得る。出力装置８１４は、プロセッサ８１２又はその他の構成要素（例えば表示モニタ、プリンタ、ストレージなど）から伝送される情報をレンダリングすることができる。
【０１６３】
「ある実施形態」、「実施形態」、「複数の実施形態」、「前記実施形態」、「前記複数の実施形態」、「１つ以上の実施形態」、「いくつかの実施形態」、及び「一実施形態」という用語は、別段の明示的な特定がなされない限り、「本発明の１つ以上の（但し、すべてでない）実施形態」を意味する。
【０１６４】
「を含む」、「を備える」、「を有する」、及びそのバリエーションの用語は、別段の明示的な特定がなされない限り、「を含むがそれに限定されない」ということを意味する。
【０１６５】
項目を列挙したリストは、別段の明示的な特定がなされない限り、項目のいずれか又はすべてが互いに排他的であることを意味しない。
【０１６６】
「a」、「an」、「the」の語は、別段の明示的な特定がなされない限り、「１つ以上」を意味する。
【０１６７】
要素の変数を表すために使用されるときの変数「ｎ」は、要素の事例のあらゆる数を示すことができ、そして、異なる要素で使用された場合、又は同じ要素の異なる事例で使用された場合に、異なる整数を示し得る。
【０１６８】
互いに通信する装置は、別段の明示的な特定がなされない限り、互いに連続して通信する必要はない。さらに、互いに通信する装置は、１つ以上の仲介（intermediaries）を通して直接的又は間接的に通信し得る。
【０１６９】
互いに通信するいくつかの構成要素を有する実施形態の説明は、すべてのこのような構成要素が必要とされることを意味しない。逆に、本発明の幅広い種類の可能性がある実施形態を示すために、様々なオプションの構成要素が説明されている。
【０１７０】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどが連続した順序で記述され得るが、このようなプロセス、方法、アルゴリズムは交互の順番で作用するように構成され得る。言い換えると、記述され得るあらゆるステップのシーケンス又は順序は、ステップがその順序で実行されなければならないという要件を必ずしも示すわけではない。本明細書で説明されているプロセスのステップは、実際的にあらゆる順序で実行され得る。さらに、いくつかのステップは同時に実行され得る。
【０１７１】
１つの装置又は製品が本明細書で説明されるとき、１つの装置／製品の代わりに複数の装置／製品（それらが協動するか否かに拘わらず）を使用できることは明らかである。同様に、複数の装置又は製品が本明細書で説明される場合（協動するか否かに拘わらず）、複数の装置又は製品の代わりに１つの装置／製品を使用することができ、又は示された数の装置又はプログラムの代わりに、異なる数の装置／製品を使用することができることは明らかである。
【０１７２】
装置の機能性及び／又は特徴は、このような機能性／特徴を有すると明示的に説明されていない１つ以上の他の装置によって、その他の態様で具現化され得る。よって、本発明の他の実施形態は、装置自体を含む必要はない。
【０１７３】
図４で示される操作は、特定の順序で起こる特定のイベントを示す。別の実施形態では、特定の操作は異なる順序で実行され、修正され、又は除去され得る。さらに、上述された論理にステップを追加することができるが、当該ステップは、依然として上述の実施形態に一致し得る。
【０１７４】
さらに、本明細書で説明された操作は連続して生じるかもしれず、又は、特定の操作は並行に処理され得る。またさらに、操作は１つの処理装置によって、又は複数の分散処理装置によって実行され得る。
【０１７５】
本発明の様々な実施形態についての前述の説明は、例示と説明のために提示された。これは、網羅的（exhaustive）であること、又は本発明を開示された正確な形態に制限することを意図したものでない。上記教示を踏まえて、多くの修正及び変更が可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された請求の範囲によって制限されることが意図されている。
【０１７６】
上記の明細書、実施例、及びデータは、本発明の構成の製造と使用についての完全な説明を提供する。本発明の精神及び範囲から逸脱することなく、本発明の多くの実施形態をなすことができるため、本発明は本明細書に添付される請求の範囲に存在する。
【図１】
0005396146.tif 000002
【図２】
0005396146.tif 000003
【図３】
0005396146.tif 000004
【図４】
0005396146.tif 000005
【図５】
0005396146.tif 000006
【図６】
0005396146.tif 000007
【図７】
0005396146.tif 000008
【図８】
0005396146.tif 000009
【図９】
0005396146.tif 000010
【図１０】
0005396146.tif 000011
【図１１】
0005396146.tif 000012
【図１２】
0005396146.tif 000013
【図１３】
0005396146.tif 000014
【図１４Ａ】
0005396146.tif 000015
【図１４Ｂ】
0005396146.tif 000016
【図１５Ａ】
0005396146.tif 000017
【図１５Ｂ】
0005396146.tif 000018
【図１６Ａ】
0005396146.tif 000019
【図１６Ｂ】
0005396146.tif 000020
【図１７】
0005396146.tif 000021
【図１８】
0005396146.tif 000022
【図１９Ａ】
0005396146.tif 000023
【図１９Ｂ】
0005396146.tif 000024
【図１９Ｃ】
0005396146.tif 000025
【図２０Ａ】
0005396146.tif 000026
【図２０Ｂ】
0005396146.tif 000027
【図２１Ａ】
0005396146.tif 000028
【図２１Ｂ】
0005396146.tif 000029
【図２１Ｃ】
0005396146.tif 000030
【図２２Ａ】
0005396146.tif 000031
【図２２Ｂ】
0005396146.tif 000032
【図２３】
0005396146.tif 000033