(57)【要約】【課題】１次制御ユニットが選択された時間を複数の２次制御ユニットに送信する、方法、システムおよびコンピュータ・プログラムを提供すること。【解決手段】１次制御ユニットおよび２次制御ユニットで、クロックがタイム・サーバと定期的に同期される。１次制御ユニットおよび複数の２次制御ユニットは、選択された時間に整合して、複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムを更新する。【選択図】  図１
2009532789.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・サブシステムに関連付けられた更新をサポートするための方法であって、
１次制御ユニットによって、選択された時間を複数の２次制御ユニットに送信するステップと、
前記１次制御ユニットおよび前記２次制御ユニットのクロックをタイム・サーバと定期的に同期させるステップと、
前記１次制御ユニットおよび前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムを、前記選択された時間に更新するステップと、
を有する方法。
【請求項２】
前記２次ストレージ・サブシステムは、前記１次制御ユニットからのコマンドに応答して、前記選択された時間に整合して更新され、前記選択された時間は、前記２次ストレージ・サブシステムを更新するために使用される整合性グループに関連付けられる、請求項１に記載の方法。
【請求項３】
前記１次制御ユニットで、前記１次制御ユニットに結合可能な１つまたは複数のホスト・アプリケーションから更新を受信するステップと、
前記１次制御ユニットに結合された少なくとも１つの１次ストレージ・サブシステムに、前記更新を格納するステップと、
前記更新に対応して整合性グループを生成するステップであって、前記整合性グループは前記２次ストレージ・サブシステムを更新するために使用される、ステップと、
をさらに有する、請求項１に記載の方法。
【請求項４】
前記複数の２次制御ユニットによって、前記１次制御ユニットから前記選択された時間を受信するステップと、
前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な前記２次ストレージ・サブシステムを前記選択された時間に更新するためのプロセスを開始するステップと、
前記複数の２次制御ユニットで、前記２次ストレージ・サブシステムを更新するために開始された前記プロセスを完了するための要求を、前記１次制御ユニットから受信するステップと、
前記複数の２次制御ユニットによって、前記２次ストレージ・サブシステムが整合して更新可能であるとの決定に応答して、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するステップと、
前記２次ストレージ・サブシステムが整合して更新不能であるとの決定に応答して、エラーの通知を前記１次制御ユニットに送信するステップと、
をさらに有する、請求項１に記載の方法。
【請求項５】
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれが、前記複数の２次制御ユニットに結合可能な前記ストレージ・サブシステムを前記選択された時間に更新するための前記プロセスを開始したかどうかを判別するステップと、
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれに、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するように要求するステップと、
をさらに有する、請求項４に記載の方法。
【請求項６】
前記２次ストレージ・サブシステムを更新している間、入力／出力（Ｉ／Ｏ）書き込み動作が整合性グループ形成中はビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームが整合状態で維持される、請求項１に記載の方法。
【請求項７】
タイム・サーバと共に使用するために、ストレージ・サブシステムに関連付けられた更新をサポートするためのシステムであって、
前記タイム・サーバに結合可能な１次制御ユニットと、
前記タイム・サーバに結合可能な複数の２次制御ユニットと、
前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムと、
前記１次制御ユニットによって、選択された時間を前記複数の２次制御ユニットに送信するための手段と、
前記１次制御ユニットおよび前記２次制御ユニットのクロックをタイム・サーバと定期的に同期させるための手段と、
前記１次制御ユニットおよび前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムを、前記選択された時間に更新するための手段と、
を備えるシステム。
【請求項８】
前記２次ストレージ・サブシステムは、前記１次制御ユニットからのコマンドに応答して、前記選択された時間に整合して更新され、前記選択された時間は、前記２次ストレージ・サブシステムを更新するために使用される整合性グループに関連付けられる、請求項７に記載のシステム。
【請求項９】
前記１次制御ユニットで、前記１次制御ユニットに結合可能な１つまたは複数のホスト・アプリケーションから更新を受信するための手段と、
前記１次制御ユニットに結合可能な少なくとも１つの１次ストレージ・サブシステムに、前記更新を格納するための手段と、
前記更新に対応して整合性グループを生成するための手段であって、前記整合性グループは前記２次ストレージ・サブシステムを更新するために使用される、手段と、
をさらに備える、請求項７に記載のシステム。
【請求項１０】
前記複数の２次制御ユニットによって、前記１次制御ユニットから前記選択された時間を受信するための手段と、
前記複数の２次制御ユニットによって、前記選択された時間に、前記複数の２次制御ユニットに結合可能な前記２次ストレージ・サブシステムを更新するためのプロセスを開始するための手段と、
前記複数の２次制御ユニットによって、前記２次ストレージ・サブシステムが整合して更新可能であるとの決定に応答して、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するための手段を更新するために開始された前記プロセスを完了するための要求を、前記複数の２次制御ユニットで、前記１次制御ユニットから受信するための手段と、
前記２次ストレージ・サブシステムが整合して更新不能であるとの決定に応答して、エラーの通知を前記１次制御ユニットに送信するための手段と、
をさらに備える、請求項７に記載のシステム。
【請求項１１】
前記１次制御ユニットによって、前記複数の２次制御ユニットが前記複数の２次制御ユニットに結合可能な前記ストレージ・サブシステムをそれぞれ前記選択された時間に更新するための前記プロセスを開始したかどうかを判別するための手段と、
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれが、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するように要求するための手段と、
をさらに備える、請求項１０に記載のシステム。
【請求項１２】
前記２次ストレージ・サブシステムを更新している間、入力／出力（Ｉ／Ｏ）書き込み動作が整合性グループ形成中はビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームが整合状態で維持される、請求項７に記載のシステム。
【請求項１３】
プログラムがコンピュータ上で実行された場合、請求項１から６のいずれかに記載のすべてのステップを実行するように適合されたプログラム・コード手段を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ストレージ・サブシステム全体にわたる整合性のある更新のための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
ストレージ・システムを含む情報技術システムは、サイトの災害または障害からの保護を必要とする場合がある。さらに情報技術システムは、データ・マイグレーション、データ・バックアップ、またはデータ複写のための機構を必要とする場合がある。災害または障害のリカバリ、データ・マイグレーション、データ・バックアップ、およびデータ複写のための実装環境は、ストレージ・システムにおけるデータのミラーリングまたはコピーを含むことができる。エンタープライズ・ストレージ・サーバ（ＥＳＳ）は、高容量スケーラブル・ストレージ・デバイス、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）などを含む、ストレージ・デバイスに結合された１つまたは複数のプロセッサを含むことができる。エンタープライズ・ストレージ・サーバは、データをローカルに、すなわち同じオン・サイトＥＳＳ内でコピーするため、またはデータをリモートに、すなわち別のリモート・サイトＥＳＳにコピーするための、コピー機能を含むことができる。
【０００３】
特定のエンタープライズ・ストレージ・サーバには、データのポイント・イン・タイム(特定時点)コピーを提供するコピー機能が存在する場合がある。実装環境は、エンタープライズ・ストレージ・サーバのストレージ・サブシステムにおいて、ローカル／ソース・ボリュームのセットと対応するリモート／ターゲット・ボリュームとの間で、データをコピーすることができる。コピー機能は、アプリケーションへの最小限の割り込みで、データの物理的ポイント・イン・タイム・コピーを作成することによって、ＥＳＳボリュームにポイント・イン・タイム・コピーを提供し、ソース・コピーとターゲット・コピーの両方に実質的にほぼ即時のアクセスを可能にすることができる。
【０００４】
整合性グループ（ｃｏｎｓｉｓｔｅｎｃｙ  ｇｒｏｕｐ）とは、互いに整合した状態を維持する必要性のあるストレージ・ボリュームのグループである。非限定的な例を提供するために、第１のコピー・コマンドはボリュームＡ１からＢ１へとコピーし、第２のコピー・コマンドはボリュームＡ２からＢ２へとコピーする。ボリュームＢ１およびＢ２は、ある時点でのボリュームＡ１およびＡ２内のデータセットの整合状態を表すものとすることが必要である。ボリューム上でのある特定の動作シーケンスにおいて、以下のような依存書き込み動作のセット（第２の動作は第１の動作の後で発生する）が発生する可能性がある。
１．ボリュームＡ１上のデータセットへの書き込み（データ更新済み）
２．ボリュームＡ２上のデータセットへの書き込み（データ更新済み）
【０００５】
ボリュームＡ１およびＡ２がそれぞれボリュームＢ１およびＢ２にコピーされる場合、以下の動作シーケンスの非限定的な例は、ボリュームＢ１、Ｂ２内にボリュームＡ１、Ａ２に対する非整合状態を作成する可能性がある。
１．ボリュームＡ１のボリュームＢ１へのコピー
２．ボリュームＡ１上のデータセットへの書き込み（データ更新済み）
３．ボリュームＡ２上のデータセットへの書き込み（データ更新済み）
４．ボリュームＡ２のボリュームＢ２へのコピー
【０００６】
すべてのコピー動作の最後、すなわち第４の動作の最後には、ボリュームＢ２はボリュームＡ２のデータ更新を含むが、ボリュームＢ１はボリュームＡ１のデータ更新を含まない。ボリュームＢ１、Ｂ２のセットは、ボリュームＡ１、Ａ２のセットに対して非整合状態である。ボリュームＢ１、Ｂ２を使用するアプリケーションは、ボリュームＢ１、Ｂ２に格納されたバックアップ・コピーからリカバリすることができない。コンピュータに結合されたディスク内に格納されたものは、ディスクのイメージを生成することによってバックアップすることができる。
【０００７】
特定のシステムは、ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームのセット上のデータを互いに整合状態で維持しながら、ストレージ・サブシステム内のソース・ボリュームのセットからターゲット・ボリュームのセットへとコピーする。ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームを整合状態で維持することによって、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの（out of order）依存書き込みがコピーされないことが保証される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
１次制御ユニットが複数の２次制御ユニットに選択された時間を送信する、方法、システム、およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
クロックは、１次制御ユニットおよび２次制御ユニットで、タイム・サーバと定期的に同期される。１次制御ユニットおよび複数の２次制御ユニットは、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを選択された時間に整合して更新する。
【００１０】
追加の実施形態では、２次ストレージ・サブシステムは、１次制御ユニットからの単一のコマンドに応答して、選択された時間に整合して更新され、選択された時間は、２次ストレージ・サブシステムを整合して更新するために使用される整合性グループに関連付けられる。
【００１１】
さらに追加の実施形態では、１次制御ユニットが、１次制御ユニットに結合された１つまたは複数のホスト・アプリケーションから更新を受信する。１次制御ユニットは、この更新を、１次制御ユニットに結合された少なくとも１つの１次ストレージ・サブシステムに格納する。この更新に対応して整合性グループが生成され、整合性グループは、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを整合して更新するために使用される。
【００１２】
他の実施形態では、複数の２次制御ユニットが１次制御ユニットから選択された時間を受信する。複数の２次制御ユニットは、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを選択された時間に整合して更新するためのプロセスを開始する。複数の２次制御ユニットは、２次ストレージ・サブシステムを整合して更新するために開始されたプロセスを完了するための要求を、１次制御ユニットから受信する。複数の２次制御ユニットは、２次ストレージ・サブシステムが整合して更新可能であるとの決定に応答して、２次ストレージ・サブシステムを整合して更新するためのプロセスを完了する。２次ストレージ・サブシステムが整合して更新不能であるとの決定に応答して、エラーの通知が１次制御ユニットに送信される。
【００１３】
さらに他の実施形態では、１次制御ユニットは、複数の２次制御ユニットのそれぞれが、複数の２次制御ユニットに結合されたストレージ・サブシステムを選択された時間に整合して更新するためのプロセスを開始したかどうかを判別する。１次制御ユニットは、複数の２次制御ユニットのそれぞれに、２次ストレージ・サブシステムを整合して更新するためのプロセスを完了するように要求する。
【００１４】
追加の実施形態では、２次ストレージ・サブシステムを整合して更新している間、入力／出力（Ｉ／Ｏ）書き込み動作が整合性グループ形成時にはビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ソース・ボリュームおよびターゲット・ボリュームが整合状態で維持される。
【００１５】
好ましくは、タイム・サーバに結合された１次制御ユニットと、タイム・サーバに結合された複数の２次制御ユニットと、複数の２次制御ユニットに結合された２次ストレージ・サブシステムと、メモリと、メモリに結合されたプロセッサとを備える、タイム・サーバと通信するシステムが提供され、プロセッサは、（ｉ）１次制御ユニットによって、選択された時間を複数の２次制御ユニットに送信するステップと、（ｉｉ）１次制御ユニットおよび２次制御ユニットのクロックをタイム・サーバと定期的に同期させるステップと、（ｉｉｉ）１次制御ユニットおよび複数の２次制御ユニットによって、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを、選択された時間に整合して更新するステップと、を実行する。
【００１６】
より好ましくは、１次制御ユニットおよび複数の２次制御ユニットを制御するためのプログラムが提供され、１次制御ユニットおよび複数の２次制御ユニットはタイム・サーバと通信し、２次ストレージ・サブシステムは２次制御ユニットに結合され、プログラムは、１次制御ユニットによって、選択された時間を複数の２次制御ユニットに送信するステップと、１次制御ユニットおよび２次制御ユニットのクロックをタイム・サーバと定期的に同期させるステップと、１次制御ユニットおよび複数の２次制御ユニットによって、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを、選択された時間に整合して更新するステップと、コンピュータに実行させることができる。
【００１７】
さらにより好ましくは、コンピュータ読み取り可能コードをコンピューティング・システムに統合するステップを含む、コンピューティング・インフラストラクチャを配置するための方法が提供され、この方法によって、コードをコンピューティング・システムと組み合わせて、１次制御ユニットによって、選択された時間を複数の２次制御ユニットに送信するステップと、１次制御ユニットおよび２次制御ユニットのクロックをタイム・サーバと定期的に同期させるステップと、１次制御ユニットおよび複数の２次制御ユニットによって、複数の２次制御ユニットに結合された２次ストレージ・サブシステムを、選択された時間に整合して更新するステップと、を実行することができる。
【００１８】
次に図面を参照するが、これらの図面では、同じ参照番号は全体を通じて対応する部分を表す。
【発明を実施するための最良の形態】
【００１９】
以下の説明では、本明細書の一部を形成し、いくつかの実施形態を示す、添付の図面を参照する。他の実施形態が使用可能であること、ならびに構造および動作の変更が可能であることを理解されよう。
【００２０】
整合性グループを作成するためのデータ整合方法であるＩＢＭ社のＧｌｏｂａｌ  Ｍｉｒｒｏｒは、整合性グループを生成するための「データ整合」方法を使用する。「データ整合」方法では、マスタ制御ユニットが従属制御ユニットにコマンドを発行し、従属制御ユニットはマスタ制御ユニットからコマンドを受信するのを待ってこれに対応する。整合性グループを開始するために、マスタ制御ユニットは、入力／出力（Ｉ／Ｏ）動作を休止するよう、従属制御ユニットにコマンドを送信する。最後の従属ユニットがＩ／Ｏ動作の休止を完了した後にのみ、マスタ制御ユニットは、従属制御ユニットに書き込みＩ／Ｏが完了できるようにコマンドを送信する。マスタ制御ユニットに書き込むホスト・アプリケーションが、より長い応答時間を体験する可能性があるのは、このＩ／Ｏ休止中である。さらに、Ｉ／Ｏ休止コマンドはすべての従属制御ユニットに対して同時に発生しないため、単一の共通タイムスタンプが整合性グループに関連付けられることはない。
【００２１】
「データ整合」方法におけるボリューム全体にわたる整合性の調整は、書き込みＩ／Ｏが整合性グループ内のすべてのボリュームにわたって休止されることを必要とする可能性があり、書き込みＩ／Ｏの休止は、アプリケーションの実行に影響を与える可能性がある。さらに、整合性グループ内のすべてのボリュームにわたって有効な正確な単一のタイムスタンプは使用不能である。加えて、マスタ制御ユニットは、「休止」ウィンドウ中にすべての従属制御ユニットと連携し合う。整合性グループを確実に作成するためにすべての書き込みＩ／Ｏを休止することによって、ストレージ・システムに関与可能な従属制御ユニットの数が制限される。従属制御ユニットの数が多いほど、アプリケーションの影響（インパクト）時間も長くなる。たとえば、ある非限定的な例では、マスタ制御ユニットと共にわずか２つの従属制御ユニットが関与している場合でも、アプリケーションは１ミリ秒またはそれ以上ごとに影響を受ける可能性がある。
【００２２】
整合性グループを作成するための時間整合方法であるＩＢＭ社のＧｌｏｂａｌ  Ｍｉｒｒｏｒおよび他のシステムは、制御ユニット全体にわたるいかなる正確な時間基準もなかった可能性があるため、整合性グループを作成するためにデータ整合モデルを使用してきた可能性がある。本発明の特定の実施形態では、様々なメカニズムを使用して、データに時間整合性を与えるのに十分な細分性（ｇｒａｎｕｌａｒｉｔｙ）を提供するために、すべての内部ストレージ制御クロックをサーバ・クロックと同期させることができる。たとえば、ネットワーク・タイム・プロトコルを使用する特定のネットワーク・タイム・サーバを使用して、１ミリ秒またはそれ未満の細分性で、サーバにまたがって時間を同期させることができる。
【００２３】
依存書き込みＩ／Ｏを管理するため、および整合性グループを構築するために、ストレージ・ベースのデータ複製ソリューションに必要な細分性を提供する、複数のシステムに対する共通クロックが使用可能であるとすれば、特定の実施形態は、この共通クロックおよび時間同期化を使用して、依存書き込みＩ／Ｏを管理し、整合性グループを構築する。
【００２４】
たとえば特定の実施形態は、タイムスタンプを介してすべてのコントローラおよびストレージ・サブシステムにわたって依存Ｉ／Ｏ順序付けを管理するように試みる。しかし、サーバおよびストレージ・サブシステムのクロックはずれる可能性があるため、特定の実施形態は、依存Ｉ／Ｏシーケンスを実行するためにかかる時間よりも短い細分性で、ストレージ・サブシステムがそれらの時間を共通クロック・ソースと連係および同期させることを保証する。依存Ｉ／Ｏシーケンスの非限定的な例は、以下のような３つの依存Ｉ／Ｏ動作を通じて実行される、データ・ベース・テーブルの更新である。
Ｉ／Ｏ動作＃１：データ・ベース・テーブルの更新が実行されることを示す、データ・ベース・ログ・ボリュームの更新
Ｉ／Ｏ動作＃２：データ・ベース・テーブルの更新
Ｉ／Ｏ動作＃３：Ｉ／Ｏ動作＃２が完了したことを示す、データ・ベース・テーブルの更新
【００２５】
データ・ベース・ログおよびデータ・ベース・テーブルは、同じかまたは異なるストレージ・サブシステムに接続された、物理的に同じかまたは異なるボリューム上に常駐する可能性がある。整合性グループは時間に基づいて形成されるため、１次および２次のストレージ・サブシステム全体にわたって、ユーザが、２次ストレージ・サブシステムで、Ｉ／Ｏ動作＃１およびＩ／Ｏ動作＃３がどちらも２次ボリューム上で完了しているかどうかを判別しようと試みる場合、Ｉ／Ｏ動作＃２も２次ボリューム上で完了していなければならないことになる。ストレージ・サブシステムが、Ｉ／Ｏ動作の時間よりも細分性の低い共通クロックと同期化されていない場合、使用されている非同期データ複製技法が、１次ストレージ・サブシステム全体にわたってＩ／Ｏコマンドを発行しているデータ・ベース・アプリケーションと非同期であるため、潜在的にこのＩ／Ｏシーケンスは、ストレージ・サブシステム内の２次ターゲット・ボリューム上で順序外れで完了した可能性がある。たとえば、Ｉ／Ｏ動作＃１およびＩ／Ｏ動作＃３の結果が、Ｉ／Ｏ動作＃２の結果を伴わずにターゲット・ボリューム上に常駐している場合、データ・ベース・テーブルはダウン・レベル・データを有する一方で、データ・ベース・ログはデータ・ベース・テーブル内のデータが正しいことを示すため、検出不能なデータ完全性の問題が生じることになる。
【００２６】
様々なサーバにまたがった時間ベースの整合性により、本発明による特定の実施形態は、共通タイムスタンプを使用して整合性グループを構築および管理することができる。これにより、ＩＢＭ  Ｇｌｏｂａｌ  Ｍｉｒｒｏｒなどの非同期データ複製メカニズムによって使用される、データ・フリーズ回避技法が可能になる。データ・フリーズ技法では、すべての書き込みＩ／Ｏが、動的に留保されること、すなわち、ストレージ・ボリュームおよびストレージ・サブシステム全体にわたってＩ／Ｏ整合性を保証するために、整合性グループ形成時間中はビジー（使用中）とされることが必要である。
【００２７】
図１は、特定の実施形態に従ったコンピューティング環境１００を示すブロック図である。１つまたは複数の１次制御ユニット１０２が、１つまたは複数のホスト１０４および１つまたは複数の２次制御ユニット１０６ａ、１０６ｂ、．．．、１０６ｎに結合される。１次制御ユニット１０２の２次制御ユニット１０６ａ．．．１０６ｎへの結合は、ネットワーク１０８を介することが可能であり、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎのホスト１０４への結合も、ネットワーク１０８を介することが可能である。コンピューティング環境１００の様々な構成要素の結合は、ネットワーク接続の代わりに、またはネットワーク接続に加えて、直接接続を介することも可能である。図１には単一のネットワーク１０８が示されているが、追加のネットワークが、コンピューティング環境１００の様々な構成要素間に接続を提供することもできる。２次制御ユニット１０６ａ．．．１０６ｎに関連付けられた１次制御ユニット１０２は、データの複製を可能にする場合があり、すべてのデータは１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎ内で整合的に格納される。タイム・サーバ１１２がネットワーク１０８に結合され、このタイム・サーバ１１２を使用して、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎの時間を同期させることができる。タイム・サーバ１１２は、タイム・サーバ１１２によって提供される時間を生成するクロック１１４を含む。特定の実施形態では、タイム・サーバ１１２はネットワーク・タイム・サーバとすることができる。
【００２８】
１次制御ユニット１０２、２次制御ユニット１０６ａ．．．１０６ｎ、およびホスト１０２はそれぞれ、パーソナル・コンピュータ、ワークステーション、メインフレーム、ミッドレンジ・コンピュータ、ネットワーク機器、パーム・トップ・コンピュータ、電話デバイス、ブレード・コンピュータ、ハンド・ヘルド・コンピュータなどの、当分野で現在知られたものを含む、任意の好適な計算プラットフォームを備えることが可能な計算プラットフォームを含むことができる。１次制御ユニット１０２などの１次制御ユニットはマスタ・ユニットと呼ばれる場合があり、２次制御ユニット１０６ａなどの２次制御ユニットは従属ユニットと呼ばれる場合がある。
【００２９】
１次制御ユニット１０２は、１次アプリケーション１１６、１次ストレージ・サブシステム１１８と呼ばれる１つまたは複数のストレージ・サブシステム、およびクロック１２０を含む。１次ストレージ・サブシステム１１８は、データを格納するストレージ・ボリュームを含むことができる。クロック１２０は、１次制御ユニット１０２での時間を表す。１次ストレージ・システム１１６に格納されたデータは、クロック１２０によって提供される時間に従ってタイムスタンプを押すことができる。１次制御ユニット１０２上の１次アプリケーション１１６は、１次制御ユニット１０２のクロック１２０を、タイム・サーバ１１２のクロック１１４と定期的に同期させることが可能であるため、結果として同期化後、１次制御ユニット１０２のクロック１２０は、タイム・サーバ１１２のクロック１１４によって示される時間に設定されることになる。
【００３０】
複数の２次制御ユニット１０６ａ、１０６ｂ、．．．、１０６ｎは、２次アプリケーション１２２ａ、１２２ｂ、．．．、１２２ｎと、２次ストレージ・サブシステム１２４ａ、１２４ｂ、．．．、１２４ｎと、クロック１２６ａ、１２６ｂ、．．．、１２６ｎとを含む。たとえば２次制御ユニット１０６ａは、２次アプリケーション１２２ａ、２次ストレージ・サブシステム１２４ａ、およびクロック１２６ａを含む。２次アプリケーション１２２ａなどの２次アプリケーションは、２次制御ユニット１０６ａのクロック１２６ａなどの２次制御ユニットのクロックを、タイム・サーバ１１２のクロック１１４と定期的に同期させる。２次ストレージ・サブシステム１２４ａ．．．１２４ｎは、データを格納するストレージ・ボリュームを含むことができる。
【００３１】
ホスト１０４は、入力／出力（Ｉ／Ｏ）動作などの様々な動作を実行するために、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎにコマンドを送信することができる、１つまたは複数のホスト・アプリケーション１２８を含むことができる。
【００３２】
したがって図１は、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎのクロック１２０、１２６ａ．．．１２６ｎが、タイム・サーバ１１２のクロック１１４との同期化を維持する、特定の実施形態を示し、ここでタイム・サーバ１１２はネットワーク・タイム・サーバとすることができる。特定の実施形態では、クロック１２０、１２６ａ．．．１２６ｎとクロック１１４との同期化は、ネットワーク・タイム・プロトコルを使用することによって実行することができる。
【００３３】
図２は、特定の実施形態に従った、定期的な時間の同期化と、ストレージ・サブシステムが整合的に更新されるべきである選択された時間の送信とを実行するために、コンピューティング環境１００において実施される動作を示す。
【００３４】
定期的な時間の同期化２００は、１次制御ユニット１０２上の１次アプリケーション１１６および２次制御ユニット１０６ａ、１０６ｂ、．．．、１０６ｎ上の２次アプリケーション１２２ａ、１２２ｂ、．．．、１２２ｎによって、タイム・サーバ１１２と共に実行される。定期的な時間の同期化２００は、ネットワーク・タイム・プロトコルを使用することによって実行可能である。特定の実施形態では、正確な時間のソースとして全地球測位システム（ＧＰＳ）を使用することが可能であり、ＧＰＳは基準クロックとして使用可能である。
【００３５】
特定の実施形態では、２次制御ユニット１０６ａ．．．１０６ｎ上の対応するクロック１２６ａ．．．１２６ｎが選択された時間を示す場合に、２次ストレージ・サブシステム１２４ａ．．．１２４ｎが整合して（整合的に）更新されるように、１次制御ユニット１０２上の１次アプリケーション１１６が、２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎのそれぞれに、選択された時間２０２を送信する。たとえば、１次アプリケーション１１６は、午後３時に、２次アプリケーション１２２ａ．．．１２２ｎのそれぞれに、選択された時間の午後３時０１分を送信することができる。２次アプリケーション１２２ａ．．．１２２ｎは午後３時０１分の時間を監視し、この午後３時０１分の時間に達すると、午後３時０１分での２次ストレージ・サブシステム１２４ａ．．．１２４ｎの整合した更新のプロセスを開始する。１次アプリケーション１１６が、すべての２次アプリケーション１２２ａ．．．１２２ｎが２次ストレージ・サブシステム１２４ａ．．．１２４ｎの整合した更新のプロセスを開始したことを決定した後に、２次ストレージ・サブシステム１２４ａ．．．１２４ｎは、２次アプリケーション１２２ａ．．．１２２ｎによって整合的に更新される。
【００３６】
したがって図２は、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎが、１次制御ユニット１０２および２次制御ユニット１０６ａ．．．１０６ｎのクロック１２０、１２６ａ．．．１２６ｎと、タイム・サーバ１１２とを定期的に同期させる、特定の実施形態を示す。１次制御ユニット１０２は、選択された時間２０２を複数の２次制御ユニット１０６ａ．．．１０６ｎに送信し、この選択された時間２０２とは将来のことである。整合的な更新は、選択された時間に２次制御ユニット１０６ａ．．．１０６ｎによって２次ストレージ・サブシステム１２４ａ．．．１２４ｎ内に格納されたデータで構成される。
【００３７】
図３は、特定の実施形態に従った、１次制御ユニット１０２および複数の２次制御ユニット１０６ａ．．．１０６ｎで実行される動作を示す。動作は、１次制御ユニット１０２に含まれる１次アプリケーション１１６および２次制御ユニット１０６ａ．．．１０６ｎに含まれる２次アプリケーション１２２ａ．．．１２２ｎにおいて、実施可能である。１次制御ユニット１０２によって実行される動作は１次アプリケーション動作３００と呼ばれ、２次制御ユニット１０６ａ．．．１０６ｎのいずれかによって実行される動作は２次アプリケーション動作３０２と呼ばれる。
【００３８】
制御はブロック３０４および３０６で開始され、ブロック３０４では、１次制御ユニット１０２上の１次アプリケーション１１６が、１次制御ユニット１０２上のクロック１２０と、タイム・サーバ１１２のクロック１１４とを定期的に同期させ、ブロック３０６では、それぞれの２次制御ユニット上の２次アプリケーションが、対応するクロックとタイム・サーバ１１２とを定期的に同期させる。たとえば２次アプリケーション１２２ａは、２次制御ユニット１０６ａのクロック１２６ａと、タイム・サーバ１１２のクロック１１４とを同期させることができる。
【００３９】
制御はブロック３０４からブロック３０８へと進み、１次アプリケーション１１６は、データの整合的な更新（すなわち、整合性グループを介した整合的なコピー）が複数の２次制御ユニット１０６ａ．．．１０６ｎで実施されるべきである、将来の時間を選択する。１次アプリケーション１１６は（ブロック３１０で）、この選択された時間２０２を複数の２次制御ユニット１０６ａ．．．１０６ｎに送信する。選択された時間２０２を複数の２次制御ユニット１０６ａ．．．１０６ｎに送信した後、１次アプリケーション１１６は（ブロック３１２で）、ホスト・アプリケーション１２８からのデータの受信を続行する。
【００４０】
それぞれの２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎは（ブロック３１４で）、１次制御ユニット１０２から選択された時間２０２を受信するが、この選択された時間２０２は、ブロック３１０で１次制御ユニット１０２上の１次アプリケーション１１６によって送信されている。
【００４１】
それぞれの２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎは、選択された時間２０２に２次ストレージ・サブシステム１２４ａ．．．１２４ｎを整合して更新するためのプロセスを開始する。しかしながら、２次アプリケーション１２２ａ．．．１２２ｎが、すべての２次アプリケーション１２２ａ．．．１２２ｎが２次ストレージ・サブシステム１２４ａ．．．１２４ｎを選択された時間に整合して更新するためのプロセスを開始した旨の確認を、１次アプリケーションから受信しない限り、２次ストレージ・サブシステム１２４ａ．．．１２４ｎのボリュームの整合的な更新は実行されない。
【００４２】
制御はブロック３１２からブロック３１８に進み、１次アプリケーション１１６は、すべての２次制御ユニット１０６ａ．．．１０６ｎが、２次ストレージ・サブシステム１２４ａ．．．１２４ｎを選択された時間に整合して更新するためのプロセスを開始したかどうかを判別する。開始した場合、１次アプリケーション１１６は（ブロック３２０で）、複数の２次制御ユニット１０６ａ．．．１０６ｎに、２次ストレージ・サブシステム１２４ａ．．．１２４ｎの整合的な更新を完了するように要求する。開始していない場合、制御はブロック３１２に戻り、１次アプリケーション１１６はホスト・アプリケーション１２８からのデータの受信を続行する。
【００４３】
それぞれの２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎは（ブロック３２２で）、２次ストレージ・サブシステム１２４ａ．．．１２４ｎの選択された時間との整合的な更新を完了するようにとの要求を、１次アプリケーション１１６から受信する。それぞれの２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎは（ブロック３２４で）、整合的な更新が可能であるかどうかを判別する。整合的な更新が可能でない場合、（ブロック３２６で）１次アプリケーション１１６にエラーが戻される。（ブロック３２４で）整合的な更新が可能であると判別された場合、制御はブロック３２８に進み、それぞれの２次制御ユニット１０６ａ．．．１０６ｎ上の２次アプリケーション１２２ａ．．．１２２ｎは、２次ストレージ・サブシステム１２４ａ．．．１２４ｎを選択された時間に整合して更新するためのプロセスを完了する。２次ストレージ・サブシステム１２４ａ．．．１２４ｎを選択された時間整合してに更新するためのプロセスの完了は、２次ストレージ・サブシステムに格納されたターゲット・ストレージ・ボリュームへのソース・ストレージ・ボリュームのコピーによって実行することができる。
【００４４】
本発明の特定の実施形態では、２次ストレージ・サブシステムを選択された時間に整合して更新している間、整合性グループの形成中に、入力／出力（Ｉ／Ｏ）書き込み動作はビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ソースおよびターゲットのボリュームは整合状態で維持される。
【００４５】
特定の実施形態は、整合性グループを更新するための純粋なデータ整合方法を使用するのではなく、整合性グループを更新するための時間整合方法を使用する。Ｉ／Ｏ動作は、必ずしも整合性グループ内のすべてのボリュームにわたって休止されない。Ｉ／Ｏ動作が必ずしも休止されないため、特定の実施形態に関与可能なストレージ・サブシステムの数は、アプリケーション応答時間に許容できない影響を与えるのを避けるために１次制御ユニットによって休止可能な２次制御ユニットの最大数に限定されない。本発明の特定の実施形態では、各整合性グループに１つの時間が関連付けられる。
【００４６】
データ複製目的で整合的な更新を管理するための特定の実施形態は、任意の時点で「データのコピー」を再作成する場合に、書き込みＩ／Ｏの依存順序も維持する、継続的データ保護（ＣＤＰ）ジャーナルのような間接的なデータ複製ソリューションにも適用可能である。共通クロック方式は、ターゲット２次ストレージ・サブシステム全体にわたって更新をキャプチャおよび管理するためにＣＤＰアプリケーションが導入された場合、ＣＤＰアプリケーションの集合全体にわたって作動することになる。
【００４７】
追加の実施形態の詳細
説明された技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、あるいはそれらの任意の組み合わせ、またはそれらすべてを含む、方法、装置、またはプログラムとして実装可能である。本明細書で使用される「プログラム」という用語は、媒体内に実装されるコードまたは論理を言い表し、こうした媒体は、ハードウェア論理（たとえば集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）、あるいは、磁気ストレージ媒体（たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなど）、光ストレージ（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（たとえば、電気的消去再書き込み可能読み取り専用メモリ（ＥＥＰＲＯＭ）、読み取り専用メモリ（ＲＯＭ）、再書き込み可能読み取り専用メモリ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、動的ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、再書き込み可能論理など）などの、コンピュータ読み取り可能媒体を備えることができる。コンピュータ読み取り可能媒体内のコードは、プロセッサによってアクセスおよび実行される。コードまたは論理が内部で符号化された媒体は、空間、または光ファイバ、銅線などの伝送媒体を介して伝播される、伝送信号を含むこともできる。コードまたは論理が内部で符号化された伝送信号は、無線信号、衛星伝送、電波、赤外線信号、ブルートゥースなどをさらに含むことができる。コードまたは論理が内部で符号化された伝送信号は、送信局による送信および受信局による受信が可能であり、伝送信号内部で符号化されたコードまたは論理は、受信側および送信側の局または装置にあるハードウェアまたはコンピュータ読み取り可能媒体内に復号および格納することができる。加えて「プログラム」は、内部でコードが具体化、処理、および実行される、ハードウェアおよびソフトウェアの構成要素の組み合わせを含むこともできる。もちろん、当業者であれば、諸実施形態の範囲を逸脱することなく多くの修正が実行可能であること、およびプログラムが任意の情報担持媒体を含むことが可能であることを、理解されよう。たとえばプログラムは、マシンによって実行された場合に結果として動作が実行される、内部に命令を格納したストレージ媒体に格納される。
【００４８】
特定の実施形態は、全体としてハードウェアの実施形態、全体としてソフトウェアの実施形態、またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されることのない、ソフトウェア内で実装される。
【００４９】
さらに特定の実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれらに関連して使用するための、プログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能の媒体からアクセス可能な、コンピュータ・プログラムの形を取ることができる。この説明では、コンピュータ使用可能またはコンピュータ読み取り可能の媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するための、プログラムの包含、格納、通信、伝播、または移送が可能な、任意の装置とすることができる。媒体は、電子、磁気、光、電磁、赤外線、または半導体のシステム（あるいは装置またはデバイス）、あるいは伝播媒体とすることができる。コンピュータ読み取り可能媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００５０】
「特定の実施形態」という用語は、特に明示されていない限り、（すべてではないが）１つまたは複数の実施形態を意味する。「含む」、「備える」、「有する」、およびそれらの変形の用語は、特に明示されていない限り、「含むが限定されない」ことを意味する。列挙されたアイテムのリストは、特に明示されていない限り、任意またはすべてのアイテムが相互に排他的であることを示唆するものではない。
【００５１】
互いに通信しているデバイスは、特に明示されていない限り、互いに連続して通信しているとは限らない。加えて、互いに通信しているデバイスは、直接、あるいは１つまたは複数の中継を介して間接的に、通信することができる。さらに、互いに通信しているいくつかの構成要素を備えた実施形態の説明は、こうした構成要素のすべてが必要であることを示唆するものではない。これに対して、多種多様な可能な実施形態を例示するために、多様なオプションの構成要素について説明している。
【００５２】
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、一連の順序で説明されている場合があるが、こうしたプロセス、方法、およびアルゴリズムは、代替の順序で動作するように構成することができる。言い換えれば、説明されている場合のあるステップのいかなるシーケンスまたは順序も、必ずしもステップがその順序で実行される旨の要件を示すものではない。本明細書で説明されたプロセスのステップは、任意の実際の順序で実行可能である。さらにいくつかのステップは、同時に、並行して、または一斉に実行可能である。
【００５３】
本明細書で単一のデバイスまたはプログラムについて説明されている場合、単一のデバイス／プログラムの代わりに、複数のデバイス／プログラムが（それらが協働するか否かにかかわらず）使用可能であることが明らかとなろう。同様に、本明細書で複数のデバイスまたはプログラム（それらが協働するか否かにかかわらず）について説明されている場合、複数のデバイスまたはプログラムの代わりに、単一のデバイス／プログラムが使用可能であることが明らかとなろう。デバイスの機能あるいは機構は、別の方法として、こうした機能／機構を有するものとして明示的に説明されていない１つまたは複数の他のデバイスによって具体化することが可能である。したがって他の諸実施形態は、必ずしもデバイス自体を含むとは限らない。
【００５４】
図４は、特定の実施形態において、図１のコンピューティング環境の計算プラットフォーム１０２、１０４、１０６ａ．．．１０６ｎ、１１２がコンピュータ・システム４００のアーキテクチャに従って実装可能な、例示的コンピュータ・システムを示す。コンピュータ・システム４００はシステムと呼ばれる場合もあり、特定の実施形態ではプロセッサ４０４を含む場合がある回路４０２を含むことができる。システム４００は、メモリ４０６（たとえば揮発性メモリ・デバイス）およびストレージ４０８も含むことができる。システム４００の特定の要素は、図１の計算プラットフォーム１０２、１０４、１０６ａ．．．１０６ｎ、１１２内に見られる場合または見られない場合がある。ストレージ４０８は、不揮発性メモリ・デバイス（たとえばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、ファームウェア、再書き込み可能論理など）、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ４０８は、内部ストレージ・デバイス、取り付け型ストレージ・デバイス、あるいはネットワーク・アクセス可能ストレージ・デバイス、またはそれらすべてを備えることができる。システム４００は、メモリ４０６内にロード可能であり、プロセッサ４０４または回路４０２によって実行可能な、コード４１２を含む、プログラム論理４１０を含むことができる。特定の実施形態では、コード４１２を含むプログラム論理４１０はストレージ４０８に格納することができる。特定の他の実施形態では、プログラム論理４１０は回路４０２内に実装可能である。したがって、図４ではプログラム論理４１０を他の要素と別に示しているが、プログラム論理４１０はメモリ４０６あるいは回路４０２またはそれら両方の内部に実装可能である。
【００５５】
特定の実施形態は、コンピュータ読み取り可能コードをコンピューティング・システムに統合する、自動化された処理によって、コンピューティング命令を展開するための方法を対象とすることが可能であり、コードとコンピューティング・システムとがあいまって、説明された実施形態の動作を実行することが可能となる。
【００５６】
図２および図３に示された少なくとも特定の動作は、並行して、ならびに順次、実行することができる。代替の実施形態では、特定の動作は、異なる順序での実行、修正、または除去が可能である。
【００５７】
さらに、ソフトウェアおよびハードウェア構成要素の多くは、例示の目的で別々のモジュール内に記載されている。こうした構成要素は、より少数の構成要素に統合するか、またはより多数の構成要素に分割することができる。加えて、特定構成要素によって実行されるように記載された特定の動作は、他の構成要素による実行が可能である。
【００５８】
図１〜図４で図示または言及されたデータ構造および構成要素は、特定タイプの情報を有するように記載されている。代替の実施形態では、このデータ構造および構成要素を異なるように構造化すること、ならびに、図面で図示または言及されたものよりも少ない、多い、または異なるフィールド、あるいは異なる機能を有することが可能である。
【００５９】
したがって、諸実施形態の前述の記載は、例示および説明の目的で提示されたものである。諸実施形態を網羅すること、または開示された精密な形に限定することは意図されていない。上記教示に照らして、多くの修正および変形が可能である。
【図面の簡単な説明】
【００６０】
【図１】特定の実施形態に従った、コンピューティング環境を示すブロック図である。
【図２】特定の実施形態に従った、定期的な時間の同期化を実行するための動作と、ストレージ・サブシステムが整合的に更新されるべきである選択された時間を送信するための動作とを示す図である。
【図３】特定の実施形態に従った、１次制御ユニットおよび複数の２次制御ユニットで実行される動作を示す図である。
【図４】特定の実施形態において、図１のコンピューティング環境の計算プラットフォームがコンピューティング・システムのアーキテクチャに従って実装可能な、コンピューティング・システムのアーキテクチャを示す図である。
【図１】
2009532789.tif 000003
【図２】
2009532789.tif 000004
【図３】
2009532789.tif 000005
【図４】
2009532789.tif 000006
【手続補正書】
【提出日】平成21年3月19日(2009.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージ・サブシステムに関連付けられた更新をサポートするための方法であって、
１次制御ユニットによって、選択された時間を複数の２次制御ユニットに送信するステップと、
前記１次制御ユニットおよび前記２次制御ユニットのクロックをタイム・サーバと定期的に同期させるステップと、
前記１次制御ユニットおよび前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムを、前記選択された時間に更新するステップと、
を有する方法。
【請求項２】
前記２次ストレージ・サブシステムは、前記１次制御ユニットからのコマンドに応答して、前記選択された時間に整合して更新され、前記選択された時間は、前記２次ストレージ・サブシステムを更新するために使用される整合性グループに関連付けられる、請求項１に記載の方法。
【請求項３】
前記１次制御ユニットで、前記１次制御ユニットに結合可能な１つまたは複数のホスト・アプリケーションから更新を受信するステップと、
前記１次制御ユニットに結合された少なくとも１つの１次ストレージ・サブシステムに、前記更新を格納するステップと、
前記更新に対応して整合性グループを生成するステップであって、前記整合性グループは前記２次ストレージ・サブシステムを更新するために使用される、ステップと、
をさらに有する、請求項１に記載の方法。
【請求項４】
前記複数の２次制御ユニットによって、前記１次制御ユニットから前記選択された時間を受信するステップと、
前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な前記２次ストレージ・サブシステムを前記選択された時間に更新するためのプロセスを開始するステップと、
前記複数の２次制御ユニットで、前記２次ストレージ・サブシステムを更新するために開始された前記プロセスを完了するための要求を、前記１次制御ユニットから受信するステップと、
前記複数の２次制御ユニットによって、前記２次ストレージ・サブシステムが整合して更新可能であるとの決定に応答して、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するステップと、
前記２次ストレージ・サブシステムが整合して更新不能であるとの決定に応答して、エラーの通知を前記１次制御ユニットに送信するステップと、
をさらに有する、請求項１に記載の方法。
【請求項５】
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれが、前記複数の２次制御ユニットに結合可能な前記ストレージ・サブシステムを前記選択された時間に更新するための前記プロセスを開始したかどうかを判別するステップと、
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれに、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するように要求するステップと、
をさらに有する、請求項４に記載の方法。
【請求項６】
前記２次ストレージ・サブシステムを更新している間、入力／出力（Ｉ／Ｏ）書き込み動作が整合性グループ形成中はビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームが整合状態で維持される、請求項１に記載の方法。
【請求項７】
タイム・サーバと共に使用するために、ストレージ・サブシステムに関連付けられた更新をサポートするためのシステムであって、
前記タイム・サーバに結合可能な１次制御ユニットと、
前記タイム・サーバに結合可能な複数の２次制御ユニットと、
前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムと、
前記１次制御ユニットによって、選択された時間を前記複数の２次制御ユニットに送信するための手段と、
前記１次制御ユニットおよび前記２次制御ユニットのクロックをタイム・サーバと定期的に同期させるための手段と、
前記１次制御ユニットおよび前記複数の２次制御ユニットによって、前記複数の２次制御ユニットに結合可能な２次ストレージ・サブシステムを、前記選択された時間に更新するための手段と、
を備えるシステム。
【請求項８】
前記２次ストレージ・サブシステムは、前記１次制御ユニットからのコマンドに応答して、前記選択された時間に整合して更新され、前記選択された時間は、前記２次ストレージ・サブシステムを更新するために使用される整合性グループに関連付けられる、請求項７に記載のシステム。
【請求項９】
前記１次制御ユニットで、前記１次制御ユニットに結合可能な１つまたは複数のホスト・アプリケーションから更新を受信するための手段と、
前記１次制御ユニットに結合可能な少なくとも１つの１次ストレージ・サブシステムに、前記更新を格納するための手段と、
前記更新に対応して整合性グループを生成するための手段であって、前記整合性グループは前記２次ストレージ・サブシステムを更新するために使用される、手段と、
をさらに備える、請求項７に記載のシステム。
【請求項１０】
前記複数の２次制御ユニットによって、前記１次制御ユニットから前記選択された時間を受信するための手段と、
前記複数の２次制御ユニットによって、前記選択された時間に、前記複数の２次制御ユニットに結合可能な前記２次ストレージ・サブシステムを更新するためのプロセスを開始するための手段と、
前記複数の２次制御ユニットで、前記２次ストレージ・サブシステムを更新するために開始された前記プロセスを完了するための要求を、前記１次制御ユニットから受信するための手段と、
前記複数の２次制御ユニットによって、前記２次ストレージ・サブシステムが整合して更新可能であるとの決定に応答して、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するための手段と、
前記２次ストレージ・サブシステムが整合して更新不能であるとの決定に応答して、エラーの通知を前記１次制御ユニットに送信するための手段と、
をさらに備える、請求項７に記載のシステム。
【請求項１１】
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれが、前記複数の２次制御ユニットに結合可能な前記ストレージ・サブシステムを前記選択された時間に更新するための前記プロセスを開始したかどうかを判別するための手段と、
前記１次制御ユニットによって、前記複数の２次制御ユニットのそれぞれが、前記２次ストレージ・サブシステムを更新するための前記プロセスを完了するように要求するための手段と、
をさらに備える、請求項１０に記載のシステム。
【請求項１２】
前記２次ストレージ・サブシステムを更新している間、入力／出力（Ｉ／Ｏ）書き込み動作が整合性グループ形成中はビジーではなく、整合性グループのストレージ・サブシステム内のいかなるターゲット・ボリュームにも順序外れの依存書き込みがコピーされないように、ストレージ・サブシステム内のソース・ボリュームおよびターゲット・ボリュームが整合状態で維持される、請求項７に記載のシステム。
【請求項１３】
請求項１から６のいずれかに記載のすべてのステップをコンピュータに実行させるためのコンピュータ・プログラム。
【国際調査報告】
2009532789.tif 000007
2009532789.tif 000008