JP4066617B2 - データの完全性を伴いデータネットワークに接続される記憶装置システム - Google Patents
データの完全性を伴いデータネットワークに接続される記憶装置システム Download PDFInfo
- Publication number
- JP4066617B2 JP4066617B2 JP2001197685A JP2001197685A JP4066617B2 JP 4066617 B2 JP4066617 B2 JP 4066617B2 JP 2001197685 A JP2001197685 A JP 2001197685A JP 2001197685 A JP2001197685 A JP 2001197685A JP 4066617 B2 JP4066617 B2 JP 4066617B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- remote
- local
- sequence number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データ記憶装置システム、詳細には、データネットワーク環境においてデータ記憶装置システムのデータの完全性を維持することに関する。
【0002】
【従来の技術】
従来、データ処理システムは、高速な高信頼性データバスによって各自の関係するデータ記憶装置システムにアクセスできる。しかし、その機会は、ネットワーク通信の広範囲に及ぶ用途が拡大し続けるにつれ、ますます利用可能になっている。IP(インターネットプロトコル)は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)ネットワークが確立される基本的なパケットデリバリサービスを提供する。IPは、十分に規定されたプロトコルであり、それゆえ、IPを用いてサーバシステムが記憶装置システムとデータを交換し、記憶装置システムが他の記憶装置システムとデータを交換する、ネットワークベースのデータ記憶アクセスのためのトランスポート/ネットワーク層を提供する自然な候補である。
【0003】
しかし、IPの性質は、データ記憶アクセスシステムの領域におけるいくつかの独自な問題を呈する。第一に、IPはコネクションレス型プロトコルである。これは、IPがデータの伝送に先んじてエンドツーエンド接続を確立するために制御情報を交換しないことを意味する。IPは誤り検出・回復機構をまったく含まない。従って、IPは接続されたネットワークにデータを送達するためには信頼できるが、そのデータが正しく受信されたか、またはそれが送信された順序でデータが受信されているかを保証するためのいかなる機構も存在しない。コネクション型サービスが要求される場合、IPは、接続を確立するためにより高次の階層プロトコルに頼る。
【0004】
デュアルリモートコピー機能が必要とされるデータ記憶装置システムにおいて、IPベースの伝送は問題を呈する。リモートコピー機能は、一次データ記憶装置での災害回復を実現するという目的で、リモートサイトにおける一次データ記憶装置のリアルタイムコピーを可能にする。この機能がその目的を果たすために、データの完全性を保証することが重要である。同期および非同期の2種類のリモートコピーがある。
【0005】
同期型リモートコピーでは、ローカルHOSTによるその関係するローカルディスクシステムへの書込み要求は、書込まれたデータがローカルディスクシステムからリモートディスクシステムに転送された後まで完了しない。従って、同期型コピーの場合、ローカルおよびリモートディスクシステム間のデータの完全性を保証することは容易である。
【0006】
非同期型リモートコピーでは、ローカルHOSTによる書込み要求は、ローカルディスクがリモートディスクへのその転送を完了する前に、完了する。名称が暗示する通り、ローカルディスクからリモートディスクへの転送動作が完了しているかどうかにかかわらず、制御はローカルHOSTに返される。従って、非同期型コピー動作の間のデータの完全性は、リモートディスクのデータがローカルディスクにおけると同じ順序で書込まれるように、リモートディスクシステムでのデータの正しい着信順序に依存する。
【0007】
これを実現するために、ローカルディスクシステムは、リモートディスクに送られるデータとともにタイムスタンプを含める。リモートにおいてデータはそのタイムスタンプに従って書込まれる。従って例えば、リモートディスクがタイムスタンプ7:00を備えるデータを受信した時には、それはすでに、タイムスタンプが7:00より前である全部のデータを受信している。
【0008】
【発明が解決しようとする課題】
しかし、IPベースのネットワークにおいて、パケットが乱順で着信できる場合、7:00のタイムスタンプを有するデータパケットは、それ以前のタイムスタンプを有するデータパケットが先行することもあればしないこともあり得る。その結果、伝送プロトコルがIPのようなコネクションレス型トランスポートモデルに基づく場合、リモートディスクシステムにおいてデータの完全性を保証することは難しい。
【0009】
IPが磁気テープシステムで使用された時には別の問題が生じる。磁気テープへの読出しおよび書込み動作はシーケンシャルであり、従って、アドレス指定は固定である。従ってデータパケットが乱順でリモートサイトに着信した場合、データは間違った順序でテープに書込まれる。破壊された記憶装置システムをテープから復元するための以降の回復動作は結果として破損データを生じるであろう。
【0010】
信頼できるIPベースのデータ回復システムを提供するための必要性が存在する。
【0011】
【課題を解決するための手段】
本発明に従ったデータ記憶装置システムは、ローカル記憶装置コンポーネントおよびリモート記憶装置コンポーネントよりなる。ローカル記憶装置コンポーネントに書込まれるデータは、データネットワークによってリモート記憶装置コンポーネントにデータパケットで送られる。
【0012】
データパケットは、ローカル記憶装置コンポーネントで書込まれるデータのコピー、タイムスタンプおよびシーケンス番号を含む。複数のそうしたデータパケットがリモート記憶装置コンポーネントで受信される。データパケットは、各データパケットに関係するシーケンス番号およびタイムスタンプに基づきリモート記憶装置コンポーネントでの書込みのために選択される。
【0013】
本発明の1実施形態において、ローカルおよびリモート記憶装置コンポーネントはそれぞれ、複数のローカルおよびリモートディスク装置として構成される。各ローカルディスク装置はリモートディスク装置と関係づけられる。そのような各対はリモートコピーペアと呼ばれる。この実施形態では、各リモートコピー単位は関係するシーケンス番号を有する。
【0014】
本発明の別の実施形態において、ローカルディスク装置はローカルディスクシステムにグループ化される。同様に、各リモートディスク装置はリモートディスクシステムにグループ化される。本発明のこの実施形態では、少なくとも1個の共通のリモートコピーペアを有する各対のローカルおよびリモートディスクシステムについてシーケンス番号が存在する。
【0015】
本発明の別の実施形態において、リモートコピーペアはデータの完全性ペアグループにグループ化される。この実施形態では、少なくとも1個のデータの完全性ペアグループを共通に有するローカルおよびリモートディスクシステムの各対についてシーケンス番号が存在する。
【0016】
本発明の教示は、添付する詳細な説明を以下の図面とともに検討することによって容易に理解することができる。
【0017】
【発明の実施の形態】
図1を参照すれば、本発明の1実施形態に従ったコンピュータシステムが示されている。ローカルコンピュータシステム100は、少なくともローカルHOSTシステム102および少なくともローカルディスクシステム104を含む。リモートコンピュータシステム101は少なくともリモートディスクシステム105を含む。リモートHOSTシステム103は必ずしもリモートコンピュータシステム101に必要なわけではない。個々のローカルディスクシステム104は通信路112によってリモートディスクシステム105と接続される。通信路112は、伝送されたデータパケットが必ずしもそれらが送られた順序で着信するわけではないことを特徴とするネットワークである。IPベースのネットワークはこの振舞いを示す。一般に、コネクションレス型ネットワークはこの振舞いを示す。例えば、ワイドエリアネットワーク(WAN)はIPに基づくことができる。しかし、本発明はWANに限定されるものではない。
【0018】
ローカルディスクシステム104は、リモートディスクシステム105において維持される関係するリアルタイムコピーを有する少なくともローカルディスク装置106を含む。リモートディスクシステム105は、ローカルディスク装置106のリアルタイムコピーを含んでいる少なくともリモートディスク装置107を含む。ローカルディスク装置106およびリモートディスク装置107よりなるペアは、リモートコピーペア108と称する。その中においてデータの完全性が保証されなければならないリモートコピーペア108のグループは、データの完全性ペアグループ109と称する。データの完全性ペアグループ109に属するローカルディスク装置106のグループは、データの完全性ローカルディスクグループ110と称する。同様に、リモートシステムでは、1個のデータの完全性ペアグループ109に属するリモートディスク装置107のグループは、データの完全性リモートディスクグループ111と称する。
【0019】
データの完全性ローカルディスクグループ110は、単一のローカルディスクシステム104から、または、2個以上のローカルディスクシステム104からのローカルディスク装置106を含み得る。その結果、ローカルディスクシステム104の構成要素であるローカルディスク装置106は、1個以上のデータの完全性ペアグループ109に見ることができる。データの完全性リモートディスク装置グループ111は、1個以上のリモートディスクシステム105に属するリモートディスク装置107より構成され得る。従って、リモートディスクシステム105は、異なるデータの完全性ペアグループ109に属するリモートディスク装置107を有することができる。
【0020】
ローカルHOSTシステム102の動作の経過の間に、データはローカルディスクシステム104に書込まれる必要があるであろう。ローカルHOSTは、ローカルディスクシステム104に記憶される「書込みデータ」113を転送する。ローカルディスクシステム104はまた、書込みデータ113をデータ回復のためにリモートディスクシステム105にも送る。本発明によれば、ローカルディスクシステム104がリモートディスクシステム105に書込まれる書込みデータ113を送る際に、それはタイムスタンプ114およびシーケンス番号115も送る。タイムスタンプ114は、ローカルディスクシステムがローカルHOSTシステム102からその要求を受信した時刻を示す。シーケンス番号115は書込みデータ113のシーケンス番号である。シーケンス番号115は、ローカルディスク装置104が書込みデータ113をリモートディスクシステム105に送る時に生成される。ローカルディスクシステム104は、シーケンス番号114を選定し、それらがシーケンシャルに生成されていることを保証する。
【0021】
データの完全性を実現するために、データの完全性ペアグループ109のリモートディスク装置107に書込まれるデータの順序は、そのデータの完全性ペアグループの対応するローカルディスク装置106に書込まれる同一データの順序と同じである必要がある。データの完全性ペアグループ109におけるデータの完全性を保証するために、リモートディスクシステム105の中でのタイムスタンプ114を比較することが必要である。なぜなら、リモートディスクシステム105のうちの1個が7:00のタイムスタンプ114を備える書込みデータ113を受信したのに対して、リモートディスクシステム105の別のものがもっと早いタイムスタンプを備える書込みデータ113をすでに受信していることが起こり得るからである。
【0022】
従って、リモートシステム101は、複数のスレーブリミットタイムスケジュールプロセス116を含む。各リモートディスクシステム105は、関係するスレーブリミットタイムスケジュールプロセス116を有する。リモートシステムはさらに、単一のマスタリミットタイムスケジュールプロセス117を含む。スレーブリミットタイムスケジュールプロセス116はそれぞれ、タイムスタンプ114の情報をマスタリミットタイムスケジュールプロセス117に送る。マスタリミットタイムスケジュールプロセス117はその後、リモートディスク装置107にデステージングを許可するために最も早い時間を決定する。この最早時間は、タイムリミット118として各スレーブタイムリミットスケジュールプロセス116に送られる。
【0023】
本発明によれば、ローカルディスクシステム104は、データパケットが乱順でリモートシステムに着信した場合でもリモートコピーシステムにおけるデータの完全性を保証するために、書込みデータ113の各パケットとともにシーケンス番号115を送る。
【0024】
図2を参照すれば、本発明の実施形態において、この図は、すべてのリモートコピーペア108が1個のシーケンス番号を有する、ローカルディスクシステムおよびリモートディスクシステムにおけるプロセスを示す。ローカルディスクシステム104は、キャッシュメモリ202を有するローカルディスク制御装置200を備える。リモートディスクシステム105は、キャッシュメモリ203を備えるリモートディスク制御装置201を含む。
【0025】
プロセスは、ローカルコンピュータシステム100において、L(ローカル)書込みデータ受信プロセス210、L書込みデータ送信プロセス211、L書込みデータ送信完了プロセス212およびL書込みデータデステージプロセスを含む。リモートコンピュータシステム101は、R(リモート)書込みデータ受信プロセス214、R書込みデータデステージプロセス215、マスタリミットタイムスケジュールプロセス117およびスレーブリミットタイムスケジュールプロセス116を含む。各プロセスは、その各自のローカルディスク制御装置200またはリモートディスク制御装置201において起動する。
【0026】
各リモートコピーペア108について、ローカルディスクアドレス204、リモートディスクアドレス205、データの完全性グループID206およびシーケンスカウンタ207を含むリモートコピーペアデータ記憶装置203が存在する。ローカルディスクアドレス204およびリモートディスクアドレス205はそれぞれ、書込み動作のためにリモートコピーペア108を構成するローカルディスク装置およびリモートディスク装置の行先アドレスである。データの完全性ペアグループID206は、リモートコピーペアが属するデータの完全性ペアグループ109を識別する。図2に例示する通り、各リモートコピーペア108は関係するシーケンス番号115を有する。シーケンスカウンタ207は、リモートディスクに送られる書込みデータ113と関係づけられているシーケンス番号115を与える。
【0027】
キャッシュメモリ202は、各リモートコピーペア108について、書込みデータ113、リモートディスクアドレス208、位置決め情報209、シーケンス番号115およびタイムスタンプ114よりなるデータ構造も含む。このように、ローカルHOST102からローカルディスクシステムに送られる書込みデータの各ブロックについて1個の当該データ構造が存在し、それによって、ローカルHOST102による典型的な書込み動作のために複数の当該データ構造を生じる。例えば、位置決め情報は、パーソナルコンピュータに共通に見られるディスク駆動装置のディスクブロックアドレスである。従来のメインフレームシステムでは、位置決め情報は一般に、シリンダ番号、ヘッド番号およびレコード番号である。
【0028】
ここで図2および5を参照して、L書込みデータ受信プロセス210の処理を説明する。このプロセスは、ローカルHOSTシステム102から書込み要求を受信した時にローカルディスクシステムにおいて実行される。最初に、ローカルディスクシステム104はローカルHOSTシステム102から書込み要求を受信する(ステップ500)。書込み要求は、ローカルディスク装置106のアドレス情報および、書込みデータ113が書込まれるローカルディスク装置106の位置を指定する。次に、ローカルディスクシステム104は、書込まれる実際の書込みデータ113を受信し、それをキャッシュメモリ202にキャッシュする(ステップ501)。ローカルディスクシステム104は、リモートコピーペア108の対応するリモートディスク装置107のリモートディスクアドレス205をリモートコピーペアデータ記憶装置203から取得し、それをリモートディスクアドレス208としてキャッシュメモリに格納する。書込み要求において指定された位置は、位置決め情報209としてキャッシュメモリに格納される(ステップ502)。ローカルディスクシステムはその後、ローカルHOSTシステムからタイムスタンプを受信し、それをタイムスタンプ114としてキャッシュメモリ202に格納する(ステップ503)。タイムスタンプ114は、生成されるタイムスタンプ114がローカルディスクシステム104の全部に共通である限り、ローカルHOSTシステム104以外によっても生成できる。複数のローカルHOSTシステム102が存在する実施形態では、HOSTシステム間で共通のタイムスタンプ値を付与する共有クロックが存在することが前提とされる。最後に、ローカルディスクシステム104は、ローカルHOSTシステム102に書込み要求の完了を示す(ステップ504)。
【0029】
図2および6を参照して、L書込みデータ送信プロセス211の処理を説明する。このプロセスは、ローカルディスクシステムが書込みデータ113をリモートディスクシステム105に送る準備ができた時に実行される。図2に示す本発明の実施形態によれば、各リモートコピーペア108について1個のL書込みデータ送信プロセス211が存在する。このプロセスは、L書込みデータ受信プロセス210に関して非同期に実行される。
【0030】
ローカルディスクシステム104は、リモートディスクシステムに送られるリモートコピーペア108において待機している書込みデータ113の全部のうちで時間的に最早関係するタイムスタンプ114を有する書込みデータ113を選択する(ステップ600)。ローカルディスクシステムはその後、シーケンスカウンタ207の現在値を、選択された書込みデータ113(すなわち、その関係するタイムスタンプが時間的に最も早い書込みデータ)に関係づけられるシーケンス番号115とみなす。シーケンスカウンタ207は増分される(ステップ601)。次に、選択された書込みデータ113ならびにその関係するタイムスタンプ114、シーケンス番号115、リモートディスクアドレス情報208および位置決め情報209は、リモートディスクシステム105に送られる(ステップ602、図1も参照)。
【0031】
本発明によれば、L書込みデータ送信プロセス211はその後、完了に関するリモートディスクシステム105からのいずれの指標も待たずに、次の書込みデータ113を処理することに進む。このようにして、高速なデータ転送速度が実現される。しかし、パケットが乱順で着信する可能性がある。それゆえ、ローカルディスクシステム104は、リモートディスクシステム105に属するいずれかの書込みデータ113が、まだ送られていないリモートコピーペア108に存在するかどうかを確認する(ステップ603)。肯定であれば、処理はステップ600に継続する。否定であれば、プロセスはしばらく待機し(ステップ604)、その後ステップ603に継続する。
【0032】
ステップ604での待機は、送られる書込みデータがまったく存在しない状況に適応するためである。ステップ603で送信する書込みデータがまったく存在しなければ、L書込みデータ送信プロセス211は行うべき処理がまったくない。従って、ステップ604は、送信すべき書込みデータがあるかどうかを知るために再び確認する前にプロセスを暫時休止するために使用される。
【0033】
次に図2および7を参照して、L書込みデータ送信完了プロセス212の処理を説明する。このプロセスは、ローカルディスクシステム104がリモートディスクシステム105への書込みデータ113の転送の完了の通知を受信した時に実行される。ローカルディスクシステムは、リモートディスクシステム105から書込みデータ113の転送の通知を受信する(ステップ700)。ローカルディスクシステム104はその後、対応するタイムスタンプ114およびシーケンス番号115の値をヌルにする。書込みデータ113はすでにリモートディスクシステム105に送られているので、これらのフィールドはもはやローカルディスクシステム104によって使用されない。
【0034】
リモートディスクシステム104への書込みデータ113の転送が完了した後、書込みデータ113はL書込みデータデステージプロセス213によってローカルディスク装置104に書込まれる。このプロセスは、ローカルディスク装置106への書込みデータ113の実際の書込みをもたらし、公知の常法に従って実行される。
【0035】
次に図2および8を参照して、R書込みデータ受信プロセス214を検討する。このプロセスは、ローカルディスクシステム104から書込みデータ113を受信した時に、リモートディスクシステム105において実行される。図2に示す本発明の実施形態によれば、各リモートコピーペア108についてR書込みデータ受信プロセス214が存在する。リモートディスクシステム105は、受信された書込みデータ113ならびにその関係するタイムスタンプ114、シーケンス番号115、リモートディスクアドレス情報208および位置決め情報209をキャッシュメモリ203に格納する(ステップ800)。リモートディスクシステム105は、そのシーケンス番号115とともに書込みデータ113の転送の完了指標をローカルディスクシステムに返送する(ステップ801)。
【0036】
キャッシュメモリ203は、各リモートコピーペア108について、受信された書込みデータ113、リモートディスクアドレス208、位置決め情報209、シーケンス番号115およびタイムスタンプ114よりなるデータ構造を含む。従って、ローカルHOST102から受信された書込みデータ113の各ブロックについて1個のそのようなデータ構造が存在し、それによって、複数の当該データ構造を生じる。
【0037】
次に図2および9を参照して、スレーブリミットタイムスケジュールプロセス116を説明する。スレーブプロセス116は、ある時間実行し、終了する。このプロセスは周期的に起動する。図2に示す本発明の実施形態において、各リモートコピーペア108が関係するシーケンス番号115を有することを想起されたい。実際、リモートコピーペア108において待機している書込みデータ113の各ブロックについて、関係するシーケンス番号115が存在する。従って、各リモートコピーペア108はシーケンス番号115のリストを持ち得る。さらに、リモートディスクシステム105が、それと関係する複数のリモートコピーペア108を有し得ることを想記されたい。従って、各リモートディスクシステム105は複数のシーケンス番号のリストを持ち得る。
【0038】
各リモートコピーペア108について、スレーブリミットタイムスケジュールプロセス116は、そのリモートコピーペアのシーケンス番号のリストを検査する(ステップ901)。それは、連続している番号の最長の連続を見つけ、その連続から最大シーケンス番号を返す。例えば、リモートコピーペアが以下のシーケンス番号のリストを含むと仮定する。
...,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29
【0039】
上記の例では、シーケンス番号27がまだ受信されていないので、26以下であるシーケンス番号は連続している。従って、プロセスは、この連続の中で最高値のシーケンス番号である「26」を選択する。次に、プロセスは、その最高値の(最大の)シーケンス番号と関係するタイムスタンプ114を検索する。これが各リモートコピーペアについて繰り返され、タイムスタンプのリストを生じる。
【0040】
このタイムスタンプのリストから、最早タイムスタンプが選択される(ステップ901)。各スレーブリミットタイムスケジュールプロセス116は、このようにして1個のそうした最早タイムスタンプを生成する。各スレーブプロセスからの最早タイムスタンプはその後、マスタリミットタイムスケジュールプロセス117に送られる(ステップ902、図1も参照)。各スレーブプロセスはその後、マスタリミットタイムスケジュールプロセス117からリミットタイム値118を受信するために待ち(ステップ903)、値をキャッシュ202に格納する(ステップ904、図1も参照)。
【0041】
次に図2および10を参照して、マスタリミットタイムスケジュールプロセス117を説明する。このプロセスは、リモートディスクシステムがスレーブプロセス116のそれぞれからタイムスタンプ114を受信した時に起動する。マスタプロセス117は、受信されたタイムスタンプから最早タイムスタンプを選択し(ステップ1000)、選択されたタイムスタンプをリミットタイム118として各スレーブプロセス116に送る(ステップ1001)。
【0042】
次に図2および11を参照して、R書込みデータデステージプロセス215を説明する。このプロセスは、リモートディスクシステム105が、リモートコピーペア108に関係する書込みデータ113を、そのリモートコピーペア108と関係するリモートディスク装置107にデステージした時に実行される。リモートディスクシステム104は、関係するタイムスタンプ114が最も早い候補書込みデータ113を選択する(ステップ1100)。その後それは、選択されたタイムスタンプを、マスタリミットタイムスケジュールプロセス117により規定されたリミットタイム118と比較する(ステップ1101)。選択されたタイムスタンプ114がリミットタイム118より遅ければ、リモートディスク装置105は暫時待機し(ステップ1102)、その後、処理をステップ1100で続ける。選択されたタイムスタンプ114がリミットタイム118に等しいか、またはそれより早い場合、リモートディスクシステム105は、その関係するリモートディスクアドレス208および位置決め情報209に従って候補書込みデータ113をデステージする(すなわち、ディスクに書込む)(ステップ1103)。書込みデータならびにその関係するタイムスタンプ、シーケンス番号、リモートディスクアドレス情報208および位置決め情報209は、キャッシュメモリ203から除去される(ステップ1104)。
【0043】
以下の例が役立つであろう。以下を有すると仮定する。
書込みデータA、タイムスタンプ10:00
書込みデータB、タイムスタンプ10:02
書込みデータC、タイムスタンプ10:04
リミットタイム:10:01
【0044】
この例において、R書込みデータデータデステージプロセスは書込みデータAを選択し、それは最早タイムスタンプ(10:00)を有する。次に、R書込みデータデステージプロセスは、そのタイムスタンプ(10:00)がリミットタイム(10:01)より早いので、書込みデータAをリモートディスク装置107へデステージする。書込みデータAのデステージングの後、書込みデータBが最早タイムスタンプを有する。しかし、書込みデータBのタイムスタンプ(10:02)よりリミットタイム(10:01)が早いので、書込みデータBはデステージされることができない。書込みデータBのデステージングは、リミットタイム118がスレーブリミットタイムスケジュールプロセス116およびマスタリミットタイムスケジュールプロセス117によって10:02より遅い時刻に更新された後に可能になる(図9および図10に示す)。
【0045】
ここで図3を参照して本発明の別の実施形態を説明する。図3のシステム図は、図2に示したものと本質的に同じであるが、以下の相違がある。図3に示す本発明の実施形態では、ローカルディスクシステム104と関係づけられている各リモートディスクシステム105についてシーケンス番号115が存在する。図2では、各リモートコピーペア108についてシーケンス番号が存在することを想起されたい。しかし、図3に示す実施形態の場合、ローカルディスクシステム104は、少なくとも1個のリモートコピーペア108をそのローカルディスクシステムと共有する各リモートディスク104システムについて1個のシーケンス番号115を有する。従って、図3においてわかる通り、各リモートディスクシステムについて、シーケンスカウンタ300およびリモートディスクシステムアドレス301よりなるデータペアが存在する。従って、ローカルディスクシステムが2個のリモートディスクシステムと関係づけられている場合、ローカルディスクシステムに含まれる2個の当該データペアが存在するはずである。
【0046】
図3に示す実施形態において、L書込みデータ受信プロセス210は、図2に示す実施形態に関連して説明したものと同じである。
【0047】
ここで図2および12を参照して、図3に示す本発明の実施形態についてL書込みデータ送信プロセス211を説明する。少なくとも1個のリモートコピーペア108をこのローカルディスクシステム104と共有する各リモートディスク装置について1個のL書込みデータ送信プロセス211が存在する。ローカルディスクシステム104は、対応するリモートディスクシステム105に属する書込みデータ113の全部から、タイムスタンプ114が時間的に最も早く、リモートディスクシステム105にまだ送信されていない書込みデータ113を選択する(ステップ1200)。ローカルディスクシステム104はその後、そのリモートディスクシステムに対応するシーケンスカウンタ300の現在値を、選択された書込みデータ133(すなわち、関係するタイムスタンプが時間的に最も早い書込みデータ)と関係するシーケンス番号115にコピーする。シーケンスカウンタ300が増分される(ステップ601)。次に、選択された書込みデータ113ならびにその関係するタイムスタンプ114、シーケンス番号115、リモートディスクアドレス情報208および位置決め情報209が、リモートディスクシステム105に送信される(ステップ602)。プロセスはその後、図6の説明に従って継続する。
【0048】
図3に示す本発明の実施形態において、L書込み送信完了プロセス212は、図2に示す本発明の実施形態に関連して説明したものと同じである。
【0049】
図3に示す実施形態において、リモートディスクシステム105は、リモートコピーペア108をリモートディスクシステム105と共有するすべてのローカルディスクシステム104について、シーケンスカウンタ300およびローカルディスクシステムアドレス302よりなるデータペアを含む。リモートディスクシステムと関係する各ローカルディスクシステムについて1個の当該データペアが存在する。
【0050】
リモートコピーペア108をローカルディスクシステム105と共有するすべてのローカルディスクシステムについてR書込みデータ受信プロセス214が存在する。図3の実施形態において、R書込みデータ受信プロセス214は、図2に示す実施形態に関連して説明したものと同じである。同様に、マスタリミットタイムスケジュールプロセス117およびR書込みデータデステージプロセス215も図2に示す本発明の実施形態の説明と同じである。
【0051】
ここで図13を参照して、図3に示す本発明の実施形態に従ったスレーブリミットタイムスケジュールプロセス116を検討する。各リモートディスクシステム105について1個のスレーブプロセスが存在する。このプロセスは、以下の相違はあるが、図2の実施形態に関してと本質的に同じである。
【0052】
少なくとも1個のリモートコピーペア108を共有する各ローカルディスクシステム104について、スレーブリミットタイムスケジュールプロセス116は、そのローカルディスクシステム104から受信されたシーケンス番号のリストを検査する(ステップ1300)。プロセスは、連続であるシーケンス番号114の最大シーケンス番号を見つけ、その最大シーケンス番号に対応するタイムスタンプ115を返す。これは、タイムスタンプのリストを生成するために、少なくとも1個のリモートコピーペア108をリモートディスクシステムと共有する各ローカルディスクシステムについて繰り返される。このタイムスタンプのリスト11から、最早タイムスタンプが選択され(ステップ901)、マスタタイムリミットスケジュールプロセス117に送達される(ステップ902)。このようにして、各スレーブリミットタイムスケジュールプロセス116は、各リモートディスクシステム105について1個のそうした最早タイムスタンプを探索する。プロセスはその後、マスタリミットタイムスケジュールプロセス117からリミットタイム値118を受信するために待機し(ステップ903)、値をキャッシュ202に格納する(ステップ904)。
【0053】
次に図4を参照して、本発明の別の実施形態を説明する。図4のシステム図は、以下の相違はあるが、図2に関して示したものと本質的に同じである。図4に示す本発明の実施形態において、ローカルディスクシステムは、そのローカルディスクシステム104と共通してデータの完全性ペアグループ109を有する各リモートディスクシステム105について1個のシーケンス番号115を有する。例えば、ローカルディスクシステムXが、関係するデータの完全性ペアグループZを有するとする。データの完全性ペアグループはさらに、5個のリモートコピーペアグループRCP1〜RCP5よりなる。さらに、リモートコピーペアグループRCP1およびRCP2はリモートディスクシステムAと関係し、リモートコピーペアRCP3はリモートディスクシステムBと関係し、RCP4およびRCP5はリモートディスクシステムCと関係するとみなす。この特定の例において、ローカルディスクシステムXは、データの完全性ペアグループZと関係する3個のシーケンス番号を有する。
【0054】
【表1】
【0055】
図2〜4に示す実施形態の間の相違は、ローカルディスクシステム104が7個のローカルディスク装置および2個のリモートディスクシステム105を有する、上記の例示的な機器構成に示されている。両矢印はリモートコピーペアを示す。例えば、ローカルディスク装置5およびリモートディスク装置1は、リモートコピーペア108を規定する。さらに、実線で描かれたリモートコピーペアは一体で1個のデータの完全性グループを規定するのに対し、破線で描かれたリモートコピーペアは一体で第2のデータの完全性グループを規定する。
【0056】
従って、図2に示された本発明の実施形態によれば、ローカルディスクシステム104はそのディスク装置(合計7個のシーケンス番号)のそれぞれについて関係するシーケンス番号114を有するであろう。図4に示す実施形態によれば、ローカルディスクシステム104は、ローカルディスクシステム105と共通してリモートコピーペアを有する各リモートディスクシステム105について1個ずつ、2個の関係するシーケンス番号を有する。図4に示す実施形態によれば、ローカルディスクシステム104は、データの完全性ペアグループ109をローカルディスクシステム104と共有する各リモートディスクシステム105について1個ずつ、4個の関係するシーケンス番号114を有する。実線で描かれたデータの完全性ペアグループは2個のリモートディスクシステム104間で共有され、同様に、破線で描かれたデータの完全性ペアグループは2個のリモートディスクシステム104間で共有される。
【0057】
さらに図4について続ければ、図示の通り、データの完全性ペアグループ109によってローカルディスクシステム104と関係づけられている各リモートディスクシステム105について、データの完全性ペアグループ情報データ構造400がローカルディスクシステム104に存在する。データ構造400は、データの完全性グループID401および、リモートディスクシステムアドレス403およびシーケンスカウンタ402よりなる1個以上のデータペアを含む。データの完全性ペアグループ109の各リモートディスクシステム105について1個の当該データペアが存在する。リモートディスクシステム105は、データの完全性ペアグループ108によってリモートディスクシステム105と関係づけられている各ローカルディスクシステム104について類似のデータ構造を備える。
【0058】
図4に示す本発明の実施形態において、L書込み送信完了プロセス210およびL書込み送信完了プロセス212は、図2に示す本発明の実施形態に従って動作する。
【0059】
次に図14を参照して、図4に示す本発明の実施形態のL書込みデータ送信プロセス211を説明する。少なくとも1個のデータの完全性ペアグループ109をそのローカルディスクシステム104と共有する各リモートディスク装置についてL書込みデータ送信プロセス211が存在する。ローカルディスクシステム104は、対応するデータの完全性ペアグループ109に属する書込みデータ113の全部から、タイムスタンプ114が時間的に最も早く、リモートディスクシステム105にまだ送信されていない書込みデータ113を選択する(ステップ1400)。ローカルディスクシステムはその後、ターゲットリモートディスクシステムに対応するシーケンスカウンタ403の現在値を、選択された書込みデータ113(すなわち、関係するタイムスタンプが時間的に最も早い書込みデータ)と関係するシーケンス番号115にコピーする。シーケンスカウンタ403が増分される(ステップ601)。次に、選択された書込みデータ113ならびにその関係するタイムスタンプ114、シーケンス番号115、リモートディスクアドレス情報208および位置決め情報209が、リモートディスクシステムに送られる(ステップ602)。プロセスはその後、図6に関する説明に従って継続する。
【0060】
図4に示す本発明の実施形態において、R書込みデータ受信プロセス214は、そのリモートディスクシステム105と関係するデータの完全性ペアグループ109を共有する各ローカルディスク装置104と関係づけられている。処理は図8に示すフローチャートに従って進行する。
【0061】
マスタリミットタイムスケジュールプロセス117およびR書込みデータデステージプロセス215は、図2に示す本発明の実施形態に関する説明と同様にして動作する。
【0062】
次に図15を参照して、図4に示す本発明の実施形態に従ったスレーブリミットタイムスケジュールプロセス116を検討する。各リモートディスクシステム105について1個のスレーブプロセスが存在する。このプロセスは、以下の相違はあるが、図2の実施形態に関してと本質的に同じである。
【0063】
データの完全性ペアグループによってリモートディスクシステムと関係づけられている各ローカルディスクシステム104について、スレーブリミットタイムスケジュールプロセス116は、そのローカルディスクシステムから受信されたシーケンス番号のリストを検査する(ステップ1500)。プロセスは、連続であるシーケンス番号114の最大シーケンス番号を見つけ、最大シーケンス番号に対応するタイムスタンプ115を返す。これは、タイムスタンプのリストを生成するために、データの完全性ペアグループ109によってリモートディスクシステムと関係する各ローカルディスクシステム104について繰り返される。タイムスタンプのこのリストから、最早タイムスタンプが選択され(ステップ901)、マスタタイムリミットスケジュールプロセス117に送達される(ステップ902)。このようにして、各スレーブリミットタイムスケジュールプロセス116は、各リモートディスクシステム105について1個のそうした最早タイムスタンプを探索する。プロセスはその後、マスタリミットタイムスケジュールプロセス117からリミットタイム値118を受信するために待機し(ステップ903)、値をキャッシュ202に格納する(ステップ904)。
【0064】
ここで、リモートサイトに磁気テープ(MT)記憶装置システムが配備された状況における本発明の実施形態の検討のために図16に話を移す。ローカルコンピュータシステム1600は、少なくともローカルHOSTシステム1602および、ローカルディスクシステムといった少なくともローカル記憶装置システム1604を含む。ローカルコンピュータシステムはスイッチシステム1606を含み得る。少なくともリモートMTシステム1605を含むリモートコンピュータシステム1601が存在する。リモートHOSTシステム1603は、必ずしもリモートコンピュータシステム1601に存在するわけではない。
【0065】
ローカルHOSTシステム1601、ローカルディスクシステム1604およびスイッチシステム1606は、通信路1613によってリモートディスクシステム1605と接続される。通信路1613は、その送信データパケットが必ずしもそれらが送られた順序で着信するわけではないことを特徴とするネットワークである。例えば、IPベースのネットワークはこの振舞いを呈する。本発明のこの実施形態において、読取り/書込みデータの単位をブロックと称する。各ブロックは、自身を識別するために使用されるブロックIDを有する。
【0066】
ローカル記憶装置システム1604は、少なくとも1個のローカル記憶装置1607および、キャッシュメモリ1611を備える記憶制御装置1609を有する。リモートMTシステム1605は、少なくとも1個のリモートMT装置1608および、キャッシュメモリ1611を備えるMT制御装置1610を含む。ローカルHOSTシステム1602はメインメモリ1612を有する。スイッチシステム1606はキャッシュメモリ1611も備える。
【0067】
図16に示す本発明の実施形態によれば、リモートMT装置1608への読出し要求および書込み要求はそれぞれ、読み出されるデータ1624または書込まれるデータ1625に伴うシーケンス番号1614を含む。
【0068】
図16はまた、ローカルHOSTシステム1602、ローカルディスクシステム1604、リモートMTシステム1605およびスイッチシステム1606のプロセスも示している。読出し要求発行プロセス1615および書込み要求発行プロセス1616は、ローカルHOSTシステム1602、ローカルディスクシステム1604およびスイッチシステム1606において提供される。リモートMTシステム1605は、読出し要求受信プロセス1617および書込み要求受信プロセス1618を含む。
【0069】
読出し要求発行プロセス1615の処理は図17に概説されている。このフローは、ローカルHOSTシステム1602、ローカル記憶装置システム1604およびスイッチシステム1606の間で共通である。ローカル記憶制御装置1609のキャッシュメモリ1611に(またはメインメモリ1612に)コピーされるシーケンスカウンタ1623が、読取り/書込み要求が発行された時に、シーケンス番号1614の値を付与する(ステップ1700)。プロセスはその後、読出し要求をリモートMTシステム1605に発行する(ステップ1701)。プロセスはその後、シーケンスカウンタ1623を増分する(ステップ1702)。
【0070】
次に(ステップ1703)、読出し要求発行プロセスは、発行された要求の数を確認する。その数が値m未満であれば、処理は、次の要求を発行するためにステップ1700に継続する。mの値は一般に>2であり、好ましくは経験的に決定される。その目的は、現在の要求の完了前に次の要求を送信することによってより良好な性能を得ることである。
【0071】
数がm未満でなければ、プロセスは、リモートMTシステム1605からのデータ転送通知を待つ(ステップ1704)。読出し要求発行プロセス1615がリモートMTシステム1605からのデータ転送通知を受信すると、それは読出しデータ1624およびシーケンス番号1614を受信し、シーケンスカウンタ1623に従ってそれをキャッシュメモリ1611に(またはメインメモリ1612に)格納する(ステップ1705)。次に、読出し要求発行プロセス1615は、リモートMTシステム1605から全部のデータ転送通知を受信したかどうかを確認する(ステップ1706)。否定であれば、プロセスは、データ転送通知を待つためにステップ1703に継続する。
【0072】
書込み要求発行プロセス1616の処理は、図18に示すフローチャートに概説されている。このフローは、ローカルHOSTシステム1602、ローカル記憶装置システム1604およびスイッチシステム1606間で共通である。書込み要求発行プロセスは、シーケンス番号1614に対するシーケンスカウンタ1623の内容をキャッシュメモリ1611に(またはメインメモリ1612に)コピーし(ステップ1800)、シーケンス番号1614および書込みデータ1625を伴う書込み要求をリモートMTシステム1605に発行する(ステップ1801)。その後、シーケンスカウンタ1623を増分する(ステップ1802)。ステップ1803において、書込み要求発行プロセス1616は、発行された要求の数を確認する。その数が値m未満であれば、次の要求を発行するためにステップ1800にジャンプする。そうでなければ、プロセスはリモートMTシステムからのデータ転送通知を待つ(ステップ1804)。書込み要求発行プロセス1616がリモートMTシステム1605から通知を受信すると(ステップ1805)、プロセスはリモートMTシステム1605から全部のデータ転送通知を受信したかどうかを確認する(ステップ1806)。否定であれば、データ転送通知を待つためにステップ1803にジャンプする。
【0073】
リモートMTシステム1605の読出し要求受信プロセス1617のフローは、図19に示す。リモートMTシステム1605は、MT制御装置1610のキャッシュメモリ1611に読出しデータ1624を有する。1群の読出しデータ1624が、1個のリモートMT装置1608から読み出され、MT待ち行列1626に格納される。各待ち行列エントリは、読出しデータ1624およびその対応するブロックID情報1627よりなるデータペアである。読出しデータ1624およびそのブロックID情報1627は、ブロックID情報1627に従って待ち行列に挿入される。従って、MT待ち行列1626はブロックID情報1627によって順序づけられる。この順序づけは、データブロックが要求側ローカルHOST1601に返送されるべき順序を示している。従って、一連の読出し要求は、適切な順番で受信されていれば、単に各データブロックを、それらがMT待ち行列1626に存在する順序で送ることによって満たされるであろう。
【0074】
待ち行列1626は、二重連係データ構造である。それゆえ、各待ち行列エントリはさらに、次のブロックID情報1627を含む待ち行列エントリをポイントする正方向ポインタ1630および、以前のブロックID情報1627を含む待ち行列エントリをポイントする逆方向ポインタ1631を含む。ヘッドポインタ1628がMT待ち行列1626の先頭をポイントし、テールポインタ1629がMT待ち行列1626の末尾をポイントする。次のシーケンス番号カウンタ1632は、次の読出し要求によりアクセスされるべき読出しデータ1624に対応するシーケンス番号1614を含む。それゆえ、カウンタ1632の現在値は、MT待ち行列の先頭のデータブロックに対応する。
【0075】
動作時、読出し要求受信プロセス1617は、ローカルHOST1601からシーケンス番号1614とともに読出し要求を受信する(ステップ1900)。読出し要求受信プロセスは、受信されたシーケンス番号1614を次のシーケンス番号カウンタ1632と比較する(ステップ1901)。それが等しい場合、プロセスは、受信されたシーケンス番号1614および、(ヘッドポインタ1628によってポイントされる)MT待ち行列1626の先頭の読出しデータ1624を、受信されたシーケンス番号1614とともに、読出し要求発行プロセス1615へ送る(ステップ1902)。シーケンス番号カウンタ1632はその後更新され、MT待ち行列の次の読出しデータ1624のブロックID情報1627を参照する(ステップ1903)。プロセスはその後ステップ1907に継続する。
【0076】
受信されたシーケンス番号が次のシーケンス番号カウンタ1632と等しくない場合、それは、乱順の読出し要求が受信されたことを意味する。ステップ1904において、読出し要求受信プロセス1617は、要求されている読出しデータのブロックID情報1627を計算する。詳細には、読出し要求受信プロセスは、次のシーケンス番号カウンタ1632と受信されたシーケンス番号1614との間の差Dを取得し、その差DをMT待ち行列1626の先頭の読出しデータ1624のブロックID情報Bに加算する。すなわち、B+Dは見つけるべきブロックID情報1627である。ステップ1905において、読出し要求受信プロセスは、ブロックID情報1627がB+Dである待ち行列エントリを探索する。待ち行列1626のそのエントリにある読出しデータ1624は、受信されたシーケンス番号1614とともに、読出し要求発行プロセス1615に送られる(ステップ1906)。処理はステップ1907に続く。
【0077】
ステップ1907において、読出し要求受信プロセス1617は、送信された読出しデータ1624に対応する待ち行列エントリを削除する。このように、シーケンス番号1614を使用することによって、リモートMTシステム1605は、たとえ読出し要求が通信路1613の性質のため乱順になった場合でも間違いなくアクセスされた読出しデータ1624を認識することができる。図17に戻って言えば、受信データは、受信されたシーケンス番号1614に従って組み立てられる。従って、リモートシステムにおける読出し要求が乱順になった場合、シーケンス番号は、それらが正しい順序で満たされるように保証する。同様に、ローカルシステムにおいて受信データが乱順になった場合も、それはシーケンス番号1614により正しく組み立てられる。
【0078】
リモートMTシステム1605における書込み要求受信プロセス1618のフローは、図20に示す。書込まれるデータのMT待ち行列1626の構造は、読出しデータ1624のそれと同じである。書込みデータ1625の場合、MT装置1605の次のシーケンス番号カウンタ1632は、テールポインタ1629によってポイントされる書込みデータのシーケンス番号1614よりも1だけ大きい。
【0079】
リモートコンピュータにおける書込み要求受信プロセス1618は、シーケンス番号1614および書込みデータ1625を伴う書込み要求を受信し、書込みデータをキャッシュメモリ1611に格納する(ステップ2000)。次に、書込み要求受信プロセス1618は、シーケンス番号1614が次のシーケンス番号カウンタ1632と等しいかまたはそれより大きいかどうかを確認する(ステップ2001)。等しければ、それは対応する書込みMT待ち行列1626の末尾の受信された書込みデータ1625を挿入し、従ってMT待ち行列の情報を更新する(ステップ2002)。プロセスはその後、受信された書込みデータ1625のブロックIDを計算し、それをブロックID情報1627に格納する(ステップ2003)。その後、D2(シーケンス番号1614と次のシーケンス番号カウンタ1632との差)+1を次のシーケンス番号カウンタ1632に加算し(ステップ2004)、ステップ2009にジャンプする。
【0080】
受信されたシーケンス番号が次のシーケンス番号カウンタ1632より小さい場合、プロセスは、次のシーケンス番号カウンタ1632と受信されたシーケンス番号1614との差を計算する(ステップ2005)。プロセスは、書込みデータ1624を挿入するためのMT待ち行列1626の位置を見つけ、従ってMT待ち行列の情報を更新する(ステップ2007)。その後プロセスは、受信された書込みデータ1625のブロックIDを計算し、それをブロックID情報1627に格納する(ステップ2008)。次に、書込み要求受信プロセスは書込み要求の完了を通知し、受信されたシーケンス番号1614を書込み要求発行プロセス1616に返送する(ステップ2009)。このようにして、シーケンス番号1614を使用することによって、リモートMTシステム1605はやはり、たとえ書込み要求が通信路1613のために乱順になった場合でも間違いなく書込みデータ1625のブロックIDを認識することができる。
【0081】
図21は、MT記憶装置システムに関する本発明の別の実施形態を示す。本発明のこの実施形態は、図16に示す実施形態と本質的に同じである。相違は、乱順の発生を検出し、当該発生を訂正するために、図16において使用されたシーケンス番号1614の代わりに次のブロックID情報1700、1701を使用することである。
【0082】
【発明の効果】
本発明によれば、信頼できるIPベースのデータ回復システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の一般化したシステム図である。
【図2】シーケンス番号がリモートコピーペアごとに割り当てられる本発明の1実施形態の一般化したブロック図である。
【図3】シーケンス番号がリモートディスクシステムごとに維持される本発明の別の実施形態の一般化したブロック図である。
【図4】シーケンス番号がデータの完全性ペアグループごとに管理される本発明の別の実施形態の一般化したブロック図である。
【図5】本発明の1実施形態に従ったプロセスフローを概説する。
【図6】本発明の1実施形態に従ったプロセスフローを概説する。
【図7】本発明の1実施形態に従ったプロセスフローを概説する。
【図8】本発明の1実施形態に従ったプロセスフローを概説する。
【図9】本発明の1実施形態に従ったプロセスフローを概説する。
【図10】本発明の1実施形態に従ったプロセスフローを概説する。
【図11】本発明の1実施形態に従ったプロセスフローを概説する。
【図12】図6に示すプロセスフローの代替実施形態を示す。
【図13】図9に示すプロセスフローの代替実施形態を示す。
【図14】図6に示すプロセスフローの別の代替実施形態を示す。
【図15】図9に示すプロセスフローの別の代替実施形態を示す。
【図16】本発明の磁気テープ記憶装置システムの実施形態を示す。
【図17】磁気テープ記憶装置システムによる本発明の実施形態におけるプロセスフローを示す。
【図18】磁気テープ記憶装置システムによる本発明の実施形態におけるプロセスフローを示す。
【図19】磁気テープ記憶装置システムによる本発明の実施形態におけるプロセスフローを示す。
【図20】磁気テープ記憶装置システムによる本発明の実施形態におけるプロセスフローを示す。
【図21】本発明の別の磁気テープ実施形態である。
【符号の説明】
100…ローカルコンピュータシステム、101…リモートコンピュータシステム、102…ローカルHOSTシステム、103…リモートHOSTシステム、104…ローカルディスクシステム、105…リモートディスクシステム、106…ローカルディスク装置、107…リモートディスク装置、108…リモートコピーペア、109…データの完全性ペアグループ、200…ローカルディスク制御装置、201…リモートディスク制御装置、202…キャッシュメモリ、402…シーケンスカウンタ、1605…リモートMTシステム、1606…スイッチシステム、1608…リモートMT装置、1610…MT制御装置、1612…メインメモリ。
Claims (12)
- 複数のディスクシステムを備える第1の記憶装置コンポーネントを有する第1のコンピュータシステムと、
複数のディスクシステムを備える第2の記憶装置コンポーネントを有する第2のコンピュータシステムとを含み、
第1および第2の記憶装置コンポーネントはデータネットワークによってデータを交換するように構成され、前記第1および前記第2の記憶装置コンポーネントにある複数のディスクシステムは、それぞれ関係付けられており、前記第1のコンピュータシステムにある前記複数のディスクシステムのうちの第1のディスクシステムは、ホストシステムから送信されるデータのブロックを前記第1のディスクシステムに書込み、データパケットを、前記第1のディスクシステムから、前記第2のコンピュータシステムの前記複数のディスクシステムのうち、前記第1のディスクシステムに対応する第2のディスクシステムに伝送するためにプログラムコードで構成されたメモリを有しており、データパケットはデータブロック、タイムスタンプおよびシーケンス番号を含むものであり、
前記第2のディスクシステムは、前記関係付けられた第1のディスクシステムが送信するデータパケットを受信し、データパケットに含まれているタイムスタンプおよびシーケンス番号に基づきリミットタイムスタンプを取得し、タイムスタンプをリミットタイムスタンプと比較することにより候補データパケットを選択し、候補データパケットを第2の記憶装置システムに書込むようにプログラムコードにより構成されたメモリを有しており、
前記第1の記憶装置コンポーネントに書込まれるデータのブロックは、前記第1の記憶装置コンポーネントにおけると同じ順序で前記第2の記憶装置コンポーネントに書込まれるものである、システム。 - 第2のメモリがさらに、タイムスタンプの中からそれらの対応するシーケンス番号に基づきリミットタイムスタンプを取得し、それらの対応するタイムスタンプをリミットタイムスタンプと比較することによってデータパケットの中から候補データパケットを選択するようにプログラムコードにより構成されている、請求項1記載のシステム。
- データネットワークがコネクションレス型ネットワークである、請求項1記載のシステム。
- データパケットがそれらが送信されたものと同じ順序で受信されると保証できないものとしてデータネットワークが特徴づけられる、請求項1記載のシステム。
- データネットワークがワイドエリアネットワークである、請求項4記載のシステム。
- 第1の記憶装置コンポーネントが複数の第1のデータ記憶装置を有し、第2の記憶装置コンポーネントが複数の第2のデータ記憶装置を有し、第1のデータ記憶装置の各々は第2のデータ記憶装置の1個と対応しており、ここにおいて、第1のデータ記憶装置の1個に格納されたデータが対応する第2のデータ記憶装置の1個にも格納される、請求項1記載のシステム。
- 第1のディスクシステムの各々が複数の第1のディスク装置よりなり、第2のディスクシステムの各々が複数の第2のディスク装置よりなり、第1のディスク装置の各々は第2のディスク装置の1個と関係付けられている、請求項1記載のシステム。
- 第1のディスク装置は各々、第1のディスク装置が属する第1のディスクシステムとは独立に、第2のディスク装置のうちの1個と関係付けられている、請求項7記載のシステム。
- ローカルシステムに含まれるデータをリモートシステムにバックアップする方法であって、
ローカルデータ記憶装置が複数のローカルディスクシステムよりなり、リモートデータ記憶装置が複数のリモートディスクシステムよりなり、各ローカルディスクシステムがそれぞれリモートディスクシステムと関係付けられており、
データのブロックを第1のローカルデータ記憶装置に書込むことと、
各ローカルディスクシステムは、格納された1個以上のデータパケットを、それぞれ関係付けられたリモートディスクシステムに送信することと、データパケットはデータのブロック、タイムスタンプおよびシーケンス番号を含むものであり、
前記ローカルシステムからデータパケットを受信することと、
そのデータのブロックがリモートデータ記憶装置に書込まれるデータパケットを、データパケットのシーケンス番号およびタイムスタンプに基づきリミットタイムスタンプを取得することと、それらの関係するタイムスタンプをリミットタイムスタンプと比較することによってデータパケットの中からそのデータパケットを選択されることとを含む、方法。 - 次のデータパケットのシーケンス番号を増分することをさらに含む、請求項9記載の方法。
- ローカルデータ記憶装置が複数のローカルディスク装置よりなり、リモートデータ記憶装置が複数のリモートディスク装置よりなり、各ローカルディスク装置がリモートコピーペアを規定するためにリモートディスク装置の1個と対にされている、請求項9記載の方法。
- ローカルディスク装置にデータの複数のブロックを書込むことと、各リモートディスク装置がその関係する複数のデータパケットに基づくシーケンス番号のリストを有するようにリモートディスク装置に複数のデータパケットを送信することとをさらに含み、該方法はさらに、シーケンス番号の各リストについて、シーケンス番号の最も長い連続を取得することと、その最も長い連続から最高値のシーケンス番号を取得することと、最高値のシーケンス番号に対応するタイムスタンプを取得することと、それによって、タイムスタンプのリストを生成することとを含み、該方法はさらに、タイムスタンプのリストの中で最早タイムスタンプに基づきデータパケットを選択することを含む、請求項11記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/607,807 US6859824B1 (en) | 2000-06-30 | 2000-06-30 | Storage system connected to a data network with data integrity |
US09/607807 | 2000-06-30 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002281065A JP2002281065A (ja) | 2002-09-27 |
JP2002281065A5 JP2002281065A5 (ja) | 2005-06-16 |
JP4066617B2 true JP4066617B2 (ja) | 2008-03-26 |
Family
ID=24433785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001197685A Expired - Fee Related JP4066617B2 (ja) | 2000-06-30 | 2001-06-29 | データの完全性を伴いデータネットワークに接続される記憶装置システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6859824B1 (ja) |
JP (1) | JP4066617B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0223074D0 (en) * | 2002-10-04 | 2002-11-13 | Motion Touch Ltd | Recording writing movements |
JP2004302556A (ja) * | 2003-03-28 | 2004-10-28 | Hitachi Ltd | 複数の計算機システム間でのデータ共有方法およびディスク制御装置 |
JP2005309550A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | リモートコピー方法及びリモートコピーシステム |
JP4374953B2 (ja) | 2003-09-09 | 2009-12-02 | 株式会社日立製作所 | データ処理システム |
US7130975B2 (en) * | 2003-06-27 | 2006-10-31 | Hitachi, Ltd. | Data processing system |
JP4124348B2 (ja) | 2003-06-27 | 2008-07-23 | 株式会社日立製作所 | 記憶システム |
WO2005008546A1 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | Event processor for job scheduling and management |
US7489640B2 (en) * | 2003-09-30 | 2009-02-10 | Agere Systems Inc. | Processor with continuity check cache |
JP4563725B2 (ja) * | 2004-05-17 | 2010-10-13 | 株式会社日立製作所 | 計算機システム |
JP4396657B2 (ja) * | 2006-03-16 | 2010-01-13 | ソニー株式会社 | 通信装置及び送信制御方法及び送信制御プログラム |
KR101490327B1 (ko) | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
JP4786522B2 (ja) * | 2006-12-25 | 2011-10-05 | 富士通株式会社 | パケット中継方法及び装置 |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
JP4616898B2 (ja) * | 2008-05-07 | 2011-01-19 | 株式会社日立製作所 | ストレージ装置制御方法および計算機システム |
JP5112246B2 (ja) * | 2008-10-09 | 2013-01-09 | 株式会社日立製作所 | ストレージシステム及び通信方法 |
US10587688B2 (en) | 2014-09-19 | 2020-03-10 | Netapp, Inc. | Techniques for coordinating parallel performance and cancellation of commands in a storage cluster system |
US11734070B2 (en) * | 2019-11-19 | 2023-08-22 | Verizon Patent And Licensing Inc. | Systems and methods for providing a compare and swap platform for sequence number generation in a cloud computing environment |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5615329A (en) | 1994-02-22 | 1997-03-25 | International Business Machines Corporation | Remote data duplexing |
US5870537A (en) | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
JP3414218B2 (ja) | 1997-09-12 | 2003-06-09 | 株式会社日立製作所 | 記憶制御装置 |
US6324654B1 (en) * | 1998-03-30 | 2001-11-27 | Legato Systems, Inc. | Computer network remote data mirroring system |
US6301643B1 (en) * | 1998-09-03 | 2001-10-09 | International Business Machines Corporation | Multi-environment data consistency |
US6446175B1 (en) * | 1999-07-28 | 2002-09-03 | Storage Technology Corporation | Storing and retrieving data on tape backup system located at remote storage system site |
US6662213B1 (en) * | 2000-01-10 | 2003-12-09 | Sun Microsystems, Inc. | System and method for ensuring delivery of a single communication between nodes |
US6594786B1 (en) * | 2000-01-31 | 2003-07-15 | Hewlett-Packard Development Company, Lp | Fault tolerant high availability meter |
US6629264B1 (en) * | 2000-03-30 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Controller-based remote copy system with logical unit grouping |
US6526419B1 (en) * | 2000-06-09 | 2003-02-25 | International Business Machines Corporation | Method, system, and program for remote copy in an open systems environment |
-
2000
- 2000-06-30 US US09/607,807 patent/US6859824B1/en not_active Expired - Fee Related
-
2001
- 2001-06-29 JP JP2001197685A patent/JP4066617B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002281065A (ja) | 2002-09-27 |
US6859824B1 (en) | 2005-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4066617B2 (ja) | データの完全性を伴いデータネットワークに接続される記憶装置システム | |
EP0602822B1 (en) | Method and apparatus for remote data duplexing | |
US5623599A (en) | Method and apparatus for processing a synchronizing marker for an asynchronous remote data copy | |
JP2894676B2 (ja) | 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法 | |
US7516287B2 (en) | Methods and apparatus for optimal journaling for continuous data replication | |
US7114033B2 (en) | Handling data writes copied from a remote data storage device | |
US7627612B2 (en) | Methods and apparatus for optimal journaling for continuous data replication | |
US20050071393A1 (en) | Data storage subsystem | |
US7925629B2 (en) | Write ordering style asynchronous replication utilizing a loosely-accurate global clock | |
JP4892185B2 (ja) | 分散リモートコピーシステム | |
US7693882B2 (en) | Replicating data across the nodes in a cluster environment | |
JP4074072B2 (ja) | データの完全性を備えるリモートコピーシステム | |
JP2003263280A (ja) | 複数リモートストレージのデータ同期方式 | |
US20080016300A1 (en) | Asynchronous replication with write concurrency grouping | |
JP3472511B2 (ja) | データ伝送装置 | |
JP2003526156A (ja) | 転送中のデータのブリッジ・ボリューム及び内部スナップショット・コピーを使用して、一次記憶装置と二次記憶装置との間でデータを転送する方法及びそのシステム | |
JP2003167684A (ja) | ディスクアレイ装置間の遠隔データコピー方式 | |
JP2000137638A (ja) | 情報記憶システム | |
JP2005216299A (ja) | ストレージネットワークにおける書き込みオペレーション制御 | |
US20030154305A1 (en) | High availability lightweight directory access protocol service | |
US7363431B1 (en) | Message-based distributed synchronization in a storage system | |
US7533132B2 (en) | Parallel replication mechanism for state information produced by serialized processing | |
CN109992447A (zh) | 数据复制方法、装置及存储介质 | |
US20070118605A1 (en) | Method and computer system for information notification | |
US20030033440A1 (en) | Method of logging message activity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040914 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040914 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070319 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071119 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071231 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130118 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |