(57)【要約】【課題】リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を提供すること。【解決手段】プライマリ(システム)とセカンダリ(システム)のリモート・コピー対（ペア）の間で通信して、リモート・コピー対として動作するように適合されたストレージ制御システムであって、１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するセレクタと、前記バッチに関するシーケンス番号を要求するシーケンス番号リクエスタと、前記バッチに関するシーケンス番号を授与するシーケンス番号グランタと、前記セカンダリ(システム)に前記バッチを送るバッチ・トランスミッタと、前記セカンダリ(システムから前記バッチを書き込む許可を受け取る許可レシーバと、前記許可レシーバに応答して、前記バッチを書き込んで完了する書込み構成要素とを備え、前記セカンダリ(システム)が、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与するストレージ制御システム。【選択図】図２
2010500673.tif 000002
【特許請求の範囲】
【請求項１】
プライマリ（システム）とセカンダリ（システム）のリモート・コピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムであって、
１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するセレクタと、
前記バッチに関するシーケンス番号を要求するシーケンス番号リクエスタと、
前記バッチに関するシーケンス番号を授与するシーケンス番号グランタと、
前記セカンダリに前記バッチを送るバッチ・トランスミッタと、
前記セカンダリから前記バッチを書き込む許可を受け取る許可レシーバと、
前記許可レシーバに応答して、前記バッチを書き込んで完了する書込み構成要素と
を備え、
前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与するストレージ制御システム。
【請求項２】
前記書込み構成要素が、複数の書込みを同時に実行する同時書込み構成要素を備える請求項１に記載のストレージ制御システム。
【請求項３】
前記１つまたは複数の基準が、前記書込みの相互独立性を含む請求項１または請求項２に記載のストレージ制御システム。
【請求項４】
プライマリ（システム）とセカンダリ（システム）のリモート・コピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムに関する操作方法であって、
１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するステップと、
前記バッチに関するシーケンス番号を要求するステップと、
前記バッチに関するシーケンス番号を授与するステップと、
前記セカンダリに前記バッチを送るステップと、
前記セカンダリから前記バッチを書き込む許可を受け取るステップと、
前記許可に応答して、前記バッチを書き込んで完了するステップとを含み、
前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する、方法。
【請求項５】
前記書き込むステップが、複数の書込みを同時に実行することを含む請求項４に記載の方法。
【請求項６】
前記１つまたは複数の基準が、前記書込みの相互独立性を含む請求項４または請求項５に記載の方法。
【請求項７】
機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されたときに、前記コンピュータ・システムが請求項４ないし６のいずれか一項に記載の方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含むデータ・キャリア。
【請求項８】
コンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されたときに、請求項４ないし６のいずれか一項に記載の方法のすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・ストレージ管理のための技術に関し、詳細には、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術に関する。
【背景技術】
【０００２】
重要なデータはしばしば、それを別のサイトにコピーすることにより災害から保護される。この目的で使用する際の一技法は、リモート・コピー（Ｒｅｍｏｔｅ  Ｃｏｐｙ）と呼ばれる。
【０００３】
リモート・コピーは、ディスク（または論理ボリューム）と、バックアップとして使用される別のディスクとの対である。元のディスクはプライマリと呼ばれ、バックアップ・ディスクはセカンダリと呼ばれる。データがプライマリに書き込まれるときはいつでも、バックアップが最新のままであることを保証するために、データをセカンダリにも書き込まなければならない。リモート・コピーを同期式に実施することができ（すなわち、その結果、ホストでの処理が、セカンダリでの対応する書込みの完了が確認されるまで遅延される）、または非同期式に実施することができる。
【０００４】
非同期リモート・コピーは、データがセカンダリにコピーされている間、プライマリにデータを書き込んだホストが遅延せず、データがプライマリに書き込まれるとすぐに、ホストは完了の通知を受けることを意味する。次いで、データが非同期式にセカンダリにコピーされる。
【０００５】
非同期リモート・コピーを実施するときの主な課題の１つは、セカンダリ・ディスクの整合性を維持することである。「整合性を維持する」とは、プロセス中のある時点でプライマリ・データがあった可能性のある状態にセカンダリ・データを保つことを意味する。セカンダリ・データは「旧式」である（すなわち、いくつかの数の更新がまだセカンダリに適用されていない）ことが許されるが、不整合であることを許すことはできない。
【０００６】
以下の表は一続きのイベントを示す。こうしたイベントの間、セカンダリは、プライマリに対して旧式であるが、セカンダリが含むデータは常に、ホストがプライマリから読み取った可能性のある何らかと合致し、したがってセカンダリは常に一貫している。
【０００７】
【表１】
2010500673.tif 000003
【０００８】
以下の表は、セカンダリに対する更新が誤った順序で適用される一続きのイベントを示す。ステップ３で発行される書込みは、ＡＡＡの書込みが完了した後に発行されるので「従属書込み(dependent write)」である。したがって、ＢＢＢは、ＡＡＡの後でのみディスクに書き込むことができる。
【０００９】
プライマリがステップ４の後で故障した場合、プライマリがデータＸＸＸＢＢＢを含んでいた時点はないことをホストは認識しているので、セカンダリは不整合（インコンシステント）のままとなっているはずである。
【００１０】
【表２】
2010500673.tif 000004
【００１１】
整合性（コンシステンシー）を維持する際に使用されてきた一手法は、「カラー」と呼ばれるものを使用することである。この手法では、更新のセットが、「カラー」と呼ばれるグループに入れられる。カラー・グループを適用する前に、セカンダリ・ディスクのスナップショットが取られる。このスナップショットは、セカンダリ・データの整合性のあるコピーである。カラー・グループ内の更新が適用され、このプロセスを中断させるものがない場合、スナップショットは廃棄される。更新プロセス中に何か誤りが生じた場合、スナップショットがセカンダリ・ディスクにコピーされて戻され、ディスクが整合性のある状態に復元される。
【００１２】
カラーは規則的な間隔で形成され（例えば５秒ごと）、カラー形成が開始する前にＩ／Ｏは静止している。
【００１３】
この手法の欠点は、
・スナップショットを取るためにセカンダリ上に２倍の記憶空間が必要となる。
・スナップショット機能によって大量の処理時間がかかり、システム性能が損なわれる。
・システムのリカバリポイント目標（Recovery Point Objective：RPO)が比較的高い（例えばカラーが５秒ごとに形成される場合、セカンダリは、プライマリに対して最大で５秒古くなる可能性がある）。
・スナップショットが頻繁に取られるので、高速で効率的なスナップショット機能が必要となる。多くの記憶サブシステムのアーキテクチャはこのことを禁止しており、したがって異なる手法を取らなければならない。
【００１４】
使用されてきた第２の手法は、プライマリに進入するあらゆる単一書込みに、固有シーケンス番号を割り当てることであり、それによって、書込みＢが書込みＡよりも後に到着した場合、Ｂはより大きいシーケンス番号を有することになる。
【００１５】
書込みがセカンダリに送られ、セカンダリは書込みをシーケンス番号順に適用する。これにより、書込みが、ホストによって発行された厳密な順序でセカンダリに適用されるので、セカンダリが常に整合性のあることが保証される。
【００１６】
この手法の欠点は、
・次のシーケンス番号についての書込みが開始することができる前に、各書込みが完了しなければならないので、セカンダリ上で任意の所与の時間に進行中でいることのできる書込みは１つだけである。これにより、与えられる性能のレベルは受け入れられないものとなる。
・複数ノードシステムに関して、シーケンス番号の発行を制御するために中央サーバが必要となる。プライマリに対する単一書込みごとに、シーケンス番号を得るための、サーバに対するメッセージが生じる。この結果、非常に多数のメッセージが生じ、メッセージ資源が非常に消費され、シーケンス番号の発行を待機中に遅延も引き起こす。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
したがって、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を有することが望ましい。
【課題を解決するための手段】
【００１８】
したがって、本発明は、第１の態様において、プライマリ（システム）とセカンダリ（システム）のリモート・コピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムであって、１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するセレクタと、前記バッチに関するシーケンス番号を要求するシーケンス番号リクエスタと、前記バッチに関するシーケンス番号を授与するシーケンス番号グランタ(sequence number granter)と、前記セカンダリに前記バッチを送るバッチ・トランスミッタと、前記セカンダリから前記バッチを書き込む許可を受け取る許可レシーバと、前記許可レシーバに応答して、前記バッチを書き込んで完了する書込み構成要素とを備え、前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する、ストレージ制御システムを提供する。
【００１９】
好ましくは、前記書込み構成要素は、複数の書込みを同時に実行する同時書込み構成要素を備える。
【００２０】
好ましくは、前記１つまたは複数の基準は、前記書込みの相互独立性(mutualindependence)を含む。
【００２１】
第２の態様では、本発明は、プライマリとセカンダリのリモートコピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムのための方法または論理構成であって、１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するステップと、前記バッチに関するシーケンス番号を要求するステップと、前記バッチに関するシーケンス番号を授与するステップと、前記セカンダリに前記バッチを送るステップと、前記セカンダリから前記バッチを書き込む許可を受け取るステップと、前記許可に応答して、前記バッチを書き込んで完了するステップとを含み、前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する方法または論理構成を提供する。
【００２２】
好ましくは、書き込む前記ステップは、複数の書込みを同時に実行することを含む。
【００２３】
好ましくは、前記１つまたは複数の基準は、前記書込みの相互独立性を含む。
【００２４】
第３の態様では、その上に機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システムにロードされ、それによって操作されたときに、前記コンピュータ・システムが第２の態様による方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含むデータ・キャリアが提供される。
【００２５】
第４の態様では、コンピュータ・システムにロードされ、その上で実行されたときに、第２の態様による方法のすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラムが提供される。
【００２６】
本発明の好ましい実施形態は、その最も広い態様において、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的枠組みを企図する。
【００２７】
これから、添付の図を参照しながら本発明の好ましい実施形態を単なる例示として説明する。
【発明を実施するための最良の形態】
【００２８】
広範囲には、本発明の好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持することを対象とする。
【００２９】
本発明の第１の好ましい実施形態は、書込みをシーケンス番号バッチ内に配置し、一度に１つのバッチをセカンダリに送ることを含む。このようにして、互いに独立な書込みに同一のシーケンス番号を割り当てることができる。プライマリは、書込みのバッチ（例えば、シーケンス番号１７を有するすべての書込み）をセカンダリに送る。こうした書込みが完了したとき、次のバッチ（例えば、シーケンス番号１８に関するバッチ）がセカンダリに送られる。セカンダリは、そのバッチを受け取ったときにすべての書込みを処理する。このことはセカンダリ並行性を向上させ、ノード間メッセージングの量を低減する。
【００３０】
この手法の一欠点は、長距離通信チャネルを完全には利用しないことである。チャネルは、バッチ内の最後の書込みが送られる時間から、バッチ内の最後の書込みが完了するまでアイドル状態となる。これは１００ｍｓ程度となる可能性があるので、リンク利用率は最適ではない。
【００３１】
したがって、より好ましい実施形態では、以下で略述するように、シーケンス番号を割り振るためのより効率的な手法が提案される。
【００３２】
シーケンス番号を書込みに割り当てる好ましい方法は、以下の観察に基づく。
・完了を受け取ることなくホストによって発行されたすべての書込みは独立でなければならない（それらのいずれも完了しておらず、したがって、それらのいずれも別の書込みに依存することはできない）。
・すべてのそのような書込みはプライマリ上で任意の順序で適用することができるので、それらに同一のシーケンス番号を与え、セカンダリ上で任意の順序で適用することができる。
【００３３】
マルチノード・システム上で、バッチが２つの場所で形成される。
・所与のノード上に残っているすべての書込みを同一のバッチ内に配置することができる。シーケンス番号サーバに送る必要があるのは、バッチ全体を求める１つのシーケンス番号要求だけであり、メッセージの数および必要なメッセージ資源が著しく削減される。
・シーケンス番号サーバに到着するすべての要求を同一のバッチ内に配置することができる。これにより、さらにバッチ・サイズが増大し、セカンダリ上で同時に行うことのできる書込み数が増加し、性能が向上する。
【００３４】
以下の実装は、本発明の好ましい実施形態で使用すべき１つのプロトコルのインスタンス（instance）を記述する。関連するディスクに対するすべての書込みは、こうしたディスク間の整合性が維持されることを保証するために、同一のプロトコルのインスタンスを使用しなければならない。関連のないディスクは、異なるプロトコルのインスタンスを使用することができる（すなわち、別々のシーケンス番号サーバおよびクライアントを有することができる）。このことは、図を参照しながら以下で説明される最も好ましい実施形態で達成される。
【００３５】
図１を参照すると、本発明の好ましい実施形態による構成要素の構成が示されている。図１では、プライマリ（システム）１００は、書込みＩ／Ｏコマンドを通常はホスト機器（図示せず）から受け取るＩ／Ｏプロセッサ１０４を備える。Ｉ／Ｏプロセッサは、プライマリ・クライアント１０６と動作可能に通信し、プライマリ・クライアント１０６は、プライマリ・サーバ１０８と協調的に接続される。セカンダリ（システム）１０２はセカンダリ・クライアント１１０を備え、セカンダリ・クライアント１１０は、セカンダリ・サーバ１１２およびＩ／Ｏハンドラ１１４と協調的に結合される。Ｉ／Ｏハンドラ１１４は、データ・ストレージ（図示せず）とのＩ／Ｏ書込みを実施するための通信で動作可能であり、データ・ストレージは、周知の形態のデータ・ストレージ、例えば限定はしないが、磁気ディスク・ストレージ、テープ・ストレージなどのいずれかを含むことができる。プライマリ１００のプライマリ・クライアント１０６は、通信リンクを介して、セカンダリ１０２のセカンダリ・クライアント１１０とリンクされ、プライマリ１００のプライマリ・サーバ１０６は、通信リンクを介して、セカンダリ１０２のセカンダリ・サーバ１１０とリンクされる。プライマリ・クライアントおよびセカンダリ・クライアントならびにプライマリ・サーバおよびセカンダリ・サーバの構成および位置は、例示的なものに過ぎず、例えば、データ処理または通信ネットワークの中間ノードおよび通信ノードにクライアントまたはサーバを配置するなど、他の多数の構成が想定される。クライアントおよびサーバの装置、システム、またはモジュールのそのような代替構成は当業者には良く理解されており、ここでさらに説明する必要はない。
【００３６】
有利なことに、システムまたは機器の形態の本発明の最も好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を提供する問題に対処する。
【００３７】
図２を参照すると、本発明の好ましい実施形態による動作の方法を実装することのできる一方法または一論理構成が略図形式で示されている。本発明の範囲から逸脱することなく、例えばステップのシーケンスでの変形を含む多くの修正および変形を行えることは当業者には明らかであろう。
【００３８】
本発明の好ましい実施形態による動作の方法を実装することのできるシステムは、図２に示されるように以下の構成要素を備える。
・プライマリ・クライアント（ＰｒｉｍａｒｙＣｌｉｅｎｔ）。Ｉ／Ｏ書込みが受信されるあらゆるノードが、プライマリ・クライアントを有する必要がある。Ｉ／Ｏ書込みが受信されたとき、Ｉ／Ｏコードは、プライマリ・クライアントにシーケンス番号を要求する。プライマリ・クライアントは、すべての同時要求をまとめ、プライマリ・サーバ（ＰｒｉｍａｒｙＳｅｒｖｅｒ）にシーケンス番号要求（ＲｅｑｕｅｓｔＳｅｑｕｅｎｃｅＮｕｍｂｅｒ）メッセージを送る。シーケンス番号が授与されたとき、プライマリ・クライアントは、セカンダリ・クライアント（ＳｅｃｏｎｄａｒｙＣｌｉｅｎｔ）にＩ／Ｏ書込みを送り、書込み（Ｗｒｉｔｅ）メッセージ内にシーケンス番号を埋め込む。従属書込みが同一のバッチ内に配置されるのを防止するために、シーケンス番号要求（ＲｅｑｕｅｓｔＳｅｑｕｅｎｃｅＮｕｍｂｅｒ）が発行されたときにアクティブであったＩ／Ｏ書込みのみに、授与されたシーケンス番号を割り当てることができる（マルチノード・システムでは、他のノードがその許可を受け取って、そのＩ／Ｏを既に完了している可能性がある）。
・ プライマリ・サーバ（ＰｒｉｍａｒｙＳｅｒｖｅｒ）。１つのプライマリ・サーバだけが存在する。プライマリ・サーバは、プライマリ・クライアント（ＰｒｉｍａｒｙＣｌｉｅｎｔ）からシーケンス番号要求（ＲｅｑｕｅｓｔＳｅｑｕｅｎｃｅＮｕｍｂｅｒ）メッセージを受け取り、すべての同時要求をまとめて、プライマリ・クライアントに応答し、授与されたシーケンス番号をプライマリ・クライアントに送る。プライマリ・サーバはまた、発行されたシーケンス番号と、シーケンス番号にいくつのＩ／Ｏ書込みが授与されたかをセカンダリ・サーバ（ＳｅｃｏｎｄａｒｙＳｅｒｖｅｒ）に伝えるＮｅｗＢａｔｃｈメッセージもセカンダリ・サーバに送る。
・セカンダリ・クライアント（ＳｅｃｏｎｄａｒｙＣｌｉｅｎｔ）。セカンダリ・クライアントは、プライマリ・クライアント（ＰｒｉｍａｒｙＣｌｉｅｎｔ）から書込み（Ｗ）ｒｉｔｅメッセージを受け取る。各書込みがキュー上に配置される。セカンダリ・クライアントがシーケンス番号に関するＯｋＴｏＷｒｉｔｅメッセージを受け取ったとき、セカンダリ・クライアントは、このシーケンス番号に関するすべての書込みをキューから出し、それを実行する。各書込みが完了したとき、セカンダリ・クライアントは、プライマリ・クライアントおよびセカンダリ・サーバにＷｒｉｔｅＤｏｎｅメッセージを送る。
・セカンダリ・サーバ（ＳｅｃｏｎｄａｒｙＳｅｒｖｅｒ）。セカンダリ・サーバは、プライマリ・サーバからＮｅｗＢａｔｃｈメッセージを受け取る。セカンダリ・サーバは、セカンダリ・クライアントを調整する任を担い、書込みがシーケンス番号順に処理されてデータ整合性が維持されることを保証する。最初のＮｅｗＢａｔｃｈが到着したとき、セカンダリ・サーバは、各セカンダリ・クライアントにＯｋＴｏＷｒｉｔｅメッセージを送り、その結果、各セカンダリ・クライアントは、第１シーケンス番号に関する書込みが到着するとすぐにそれを処理することができる。セカンダリ・サーバが予想される数のＷｒｉｔｅＤｏｎｅメッセージを受け取ったとき（バッチ内の各書込みについて１つのＷｒｉｔｅＤｏｎｅ）、セカンダリ・サーバは、次のシーケンス番号に関するＯｋＴｏＷｒｉｔｅメッセージを送る。
【００３９】
例示的方法は以下の通りである。
ステップ１：Ｉ／Ｏプロセッサのうちの１つまたは複数が、プライマリ・クライアントに対してシーケンス番号を求める要求を発行する。
ステップ２：プライマリ・クライアントが、プライマリ・サーバに対してシーケンス番号を求める要求を発行する。
ステップ３：プライマリ・サーバが、セカンダリ・サーバに対して新しいバッチ要求を発行し、プライマリ・クライアントから受け取った複数の要求をまとめる。
ステップ４：セカンダリ・サーバが、指定のシーケンス番号に関する「ＯＫ  ｔｏ  ｗｒｉｔｅ」メッセージをセカンダリ・クライアントに送る。ステップ４は、以前のシーケンス番号が存在する場合、それに関する未処理の書込みがないときにのみ行うことができる。
ステップ５：プライマリ・サーバが、シーケンス番号を求める要求をプライマリ・クライアントに許可する。
ステップ６：プライマリ・クライアントが、「ｒｅｑｕｅｓｔ  ｇｒａｎｔｅｄ」メッセージを各要求側Ｉ／Ｏプロセッサに渡す。
ステップ７：各Ｉ／Ｏプロセッサが、プライマリ・クライアントに対して指定のシーケンス番号に関する書込みを発行する。
ステップ８：プライマリ・クライアントが、セカンダリ・クライアントに対して指定のシーケンス番号に関する書込み要求を発行する。
ステップ９：書込みがＩ／Ｏハンドラに対して発行され、Ｉ／ＯハンドラはＩ／Ｏ書込みを実施する。
ステップ１０：Ｉ／Ｏハンドラが、セカンダリ・クライアントに「ｗｒｉｔｅ  ｄｏｎｅ」メッセージを返す。
ステップ１１：セカンダリ・クライアントが、セカンダリ・サーバに「ｗｒｉｔｅ  ｄｏｎｅ」メッセージを渡す。
ステップ１２：セカンダリ・クライアントが、プライマリ・クライアントに「ｗｒｉｔｅ  ｄｏｎｅ」メッセージを渡す。
ステップ１３：プライマリ・クライアントが、関連するＩ／Ｏプロセッサに「ｗｒｉｔｅ  ｄｏｎｅ」メッセージを戻す。
【００４０】
したがって、有利なことに、方法または論理構成の形態の本発明の好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を提供する問題に対処する。番号が付けられるように順次的にここで示されるステップのうちのいくつかは実際には同時に処理できること、およびいくつかのステップが他の操作の完了を待つことが必要となる可能性があること、および示されるシーケンスは本発明の一実施形態で実施することのできる処理の単なる例に過ぎないことは当業者には明らかであろう。例えば、上記で示したように、ステップ４の実施が、先行するシーケンス番号に関するすべてのステップ５から１１の完了後まで遅延される可能性があり、あるいは、例えば、方法のステップの最初の反復時、以前のどんなシーケンス番号に関する書込み活動も処理中とはならないとき、ステップ４が直ちに実施される可能性がある。
【００４１】
本発明の好ましい実施形態の方法のすべてまたは一部は、方法のステップを実施するように構成された論理要素を備える論理機器、または複数の論理機器として適切かつ有用に具体化できること、およびそのような論理要素がハードウェア構成要素、ファームウェア構成要素、またはそれらの組合せを含むことができることは当業者には明らかであろう。
【００４２】
本発明の好ましい実施形態による論理構成のすべてまたは一部は、方法のステップを実施する論理要素を備える論理機器として適切に具体化できること、およびそのような論理要素が例えばプログラマブル論理アレイまたは特定用途向け集積回路内の論理ゲートなどの構成要素を含むことができることは当業者には同様に明らかであろう。そのような論理構成は、固定媒体または伝送可能搬送波媒体を使用して格納および伝送することのできる、例えば仮想ハードウェア記述子言語を使用してそのようなアレイまたは回路内の論理構造を一時的または永続的に確立するイネーブリング要素としてさらに具体化することができる。
【００４３】
上述の方法および構成は、完全に、または部分的に、１つまたは複数のプロセッサ上で動作するソフトウェア（図示せず）として適切に実施することもできること、および磁気ディスクや光ディスクなどの任意の適切なデータ・キャリア上で担持される１つまたは複数のコンピュータ・プログラム要素（やはり図示せず）の形態でソフトウェアを提供できることを理解されよう。同様に、データの伝送用のチャネルは、すべての種類の記憶媒体、ならびに有線またはワイヤレス信号搬送媒体などの信号搬送媒体を含むことができる。
【００４４】
本発明はさらに、コンピュータ・システムと共に使用されるコンピュータ・プログラムとして適切に具体化することができる。そのような実装は、コンピュータ可読媒体、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、ハード・ディスクなどの有形媒体上に固定され、あるいはモデムまたは他のインターフェース装置を使用して、限定はしないが光またはアナログ通信回線を含む有形媒体を介して、または限定はしないがマイクロ波、赤外線、または他の伝送技法を含むワイヤレス技法を使用して無形にコンピュータ・システムに伝送可能である、一連のコンピュータ可読命令を含むことができる。この一連のコンピュータ可読命令は、本明細書で先に述べた機能のすべてまたは一部を具体化する。
【００４５】
そのようなコンピュータ可読命令は、多くのコンピュータ・アーキテクチャまたはオペレーティング・システムと共に使用されるいくつかのプログラミング言語で書くことができることを当業者は理解されよう。さらに、そのような命令は、限定はしないが半導体、磁気、光を含む現在または将来の任意のメモリ技術を使用して格納することができ、あるいは限定しないが光、赤外線、またはマイクロ波を含む現在または将来の任意の通信技術を使用して送信することができる。そのようなコンピュータ・プログラムは、付随する印刷文書または電子文書を伴う取外し可能媒体、例えば収縮包装されたソフトウェアとして配布することができ、コンピュータ・システム、例えばシステムＲＯＭまたは固定ディスク上にプリロードすることができ、あるいはネットワーク、例えばインターネットまたはワールド・ワイド・ウェブを介してサーバまたは電子掲示板から配布することができることが企図される。
【００４６】
代替実施形態では、コンピュータ・インフラストラクチャ内に配置されてその上で実行されたときに、方法のすべてのステップをコンピュータ・システムに実行させるように動作可能なコンピュータ・プログラムを配置するステップを含むサービスを配置するコンピュータで実装される方法の形態で本発明の好ましい実施形態を実現することができる。
【００４７】
別の代替実施形態では、その上に機能データを有するデータ・キャリアの形態で本発明の好ましい実施形態を実現することができ、前記機能データは、コンピュータ・システムにロードされ、それによって操作されたときに、前記コンピュータ・システムが方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含む。
【００４８】
本発明の範囲から逸脱することなく、上記の例示的実施形態に対して多くの改良および修正を行えることは当業者には明らかであろう。
【図面の簡単な説明】
【００４９】
【図１】本発明の好ましい実施形態による構成要素の構成を示す概略図である。
【図２】本発明の好ましい実施形態による動作の方法を実装することのできる一方法または一論理構成を示す概略図である。
【図１】
2010500673.tif 000005
【図２】
2010500673.tif 000006
【手続補正書】
【提出日】平成21年3月19日(2009.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プライマリ・システムとセカンダリ・システムのリモート・コピーの対の間で通信することによって前記リモート・コピー対として動作するように適合されたストレージ制御システムであって、
書込みの相互独立性を含む１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するセレクタと、
前記バッチに関するシーケンス番号を要求するシーケンス番号リクエスタと、
前記バッチに関するシーケンス番号を授与するシーケンス番号グランタと、
前記セカンダリ・システムに前記バッチを送るバッチ・トランスミッタと、
前記セカンダリ・システムから前記バッチを書き込む許可を受け取る許可レシーバと、
前記許可レシーバに応答して、前記バッチを書き込んで完了する書込み構成要素と
を備え、
前記セカンダリ・システムが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与するストレージ制御システム。
【請求項２】
前記書込み構成要素が、複数の書込みを同時に実行する同時書込み構成要素を備える請求項１に記載のストレージ制御システム。
【請求項３】
プライマリ・システムとセカンダリ・システムのリモート・コピーの対の間で通信することによって前記リモート・コピー対として動作するように適合されたストレージ制御システムに関する操作方法であって、
書込みの相互独立性を含む１つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するステップと、
前記バッチに関するシーケンス番号を要求するステップと、
前記バッチに関するシーケンス番号を授与するステップと、
前記セカンダリ・システムに前記バッチを送るステップと、
前記セカンダリ・システムから前記バッチを書き込む許可を受け取るステップと、
前記許可に応答して、前記バッチを書き込んで完了するステップとを含み、
前記セカンダリ・システムが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する方法。
【請求項４】
前記書き込むステップが、複数の書込みを同時に実行することを含む請求項３に記載の方法。
【請求項５】
機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されたときに、前記コンピュータ・システムが請求項３または４に記載の方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含むデータ・キャリア。
【請求項６】
コンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されたときに、請求項３または４に記載の方法のすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム。
【国際調査報告】
2010500673.tif 000007
2010500673.tif 000008
2010500673.tif 000009