(57)【要約】      （修正有）【課題】ストレージネットワークを実施する費用を大幅に増大させることなくリモートコピー手続きを実現し、ストレージネットワークの信頼性を向上させる。【解決手段】本発明にかかるストレージネットワークは、ディスクドライブの第１のセットを備える第１のストレージサイト５１０と、該第１のストレージサイト５１０に通信可能に接続され記憶媒体を備える第２のストレージサイト５１４と、該第２のストレージサイト５１４に通信可能に接続されディスクドライブの第２のセットを備える第３のストレージサイト５１８とを具備し、前記第２のストレージサイト５１４は、前記第１のストレージサイト５１０にデータ書込みスプールサービスを提供する。【選択図】図５
2005216304.tif 000002
【特許請求の範囲】
【請求項１】
ディスクドライブ（５１２）の第１のセットを備える第１のストレージサイト（５１０）と、
該第１のストレージサイト（５１０）に通信可能に接続され記憶媒体を備える第２のストレージサイト（５１４）と、
該第２のストレージサイト（５１４）に通信可能に接続されディスクドライブ（５２０）の第２のセットを備える第３のストレージサイト（５１８）と
を具備し、
前記第２のストレージサイト（５１４）は、前記第１のストレージサイト（５１０）にデータ書込みスプールサービスを提供する
ストレージネットワーク（２００）。
【請求項２】
前記第１のストレージサイト（５１０）における書込み動作は、前記第２のストレージサイト（５１４）の前記記憶媒体に、同期して複製される
請求項１に記載のストレージネットワーク。
【請求項３】
前記第２のストレージサイト（５１４）は、
前記記憶媒体において実施されるキャッシュメモリ（５１６）と、
該キャッシュメモリ（５１６）に格納されたデータを集約し該データを第３のストレージサイト（５１８）に送信するように構成されたプロセッサ（４１６）を備えるネットワーク要素（４１０）と
を備える
請求項１に記載のストレージネットワーク。
【請求項４】
前記第２のストレージサイト（５１４）と、前記第３のストレージサイト（５１８）とに通信可能に接続され記憶媒体を備える第４のストレージサイト（５４０）
をさらに具備し、
前記第４のストレージサイト（５４０）は、前記第２のストレージサイト（５１４）にデータ書込みスプールサービスを提供する
請求項１に記載のストレージネットワーク。
【請求項５】
前記第２のストレージサイト（５１４）への書込み動作は、前記第４のストレージサイト（５４０）の前記記憶媒体に同期して複製される
請求項４に記載のストレージネットワーク。
【請求項６】
第２のストレージサイト（５１４）において、第１のストレージサイト（５１０）において実行される１つまたは複数の書込み動作からデータを受信することと、
前記受信されたデータを書込みスプール待ち行列に格納することと、
前記受信されたデータを第３のストレージサイト（５１８）に送信することと
を含む方法。
【請求項７】
前記データを第３のストレージサイト（５１８）に転送する前に、受信されたデータを所定サイズのブロックサイズに集約すること
をさらに含む請求項６に記載の方法。
【請求項８】
前記受信されたデータは、該データが関連する論理グループ（１１２）を示す第１の識別子と、該論理グループ（１１２）内のシーケンス番号と
を含む
請求項６に記載の方法。
【請求項９】
同じ論理グループ（１１２）に関連するデータを集約すること
をさらに含む
請求項８に記載の方法。
【請求項１０】
前記第３のストレージサイト（５１８）に送信される前記書込みスプールデータから削除するためにマーキングすること
をさらに含む請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで述べる主題は、電子コンピューティングに関し、特に、電子コンピューティングシステムにおける記憶を管理するシステムおよび方法に関する。
【背景技術】
【０００２】
情報の効果的な収集、管理および制御は、現代のビジネスプロセスの中心的要素となってきた。
このために、大規模および小規模ともに多くの企業が、今では、コンピュータベースの情報管理システムを実施している。
【０００３】
データ管理は、コンピュータベースの情報管理システムの重要な要素である。
多くの企業が、今では、コンピュータベースの情報管理システムにおいてデータ運用を管理するためにストレージネットワークを実施している。
ストレージネットワークは、広い地理的領域にわたって分散することができる非常に信頼性の高い管理されたストレージソリューションを提供するように、計算能力および複雑性が発展してきた。
【０００４】
データ冗長性は、ストレージネットワークにおける信頼性の一態様である。
データが存在するネットワーク要素に障害が発生した場合、データの単一コピーは脆弱である。
脆弱なデータまたはそれが存在するネットワーク要素を回復することができる場合、損失は一時的なものであり得る。
データもネットワーク要素も回復することができない場合、脆弱なデータは永久的に失われる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ストレージネットワークは、データ冗長性を提供するためにリモートコピー手続きを実施する。
リモートコピー手続きは、第１のストレージサイトに存在するデータセットを第２のストレージサイト上に、時に第３のストレージサイト上に複製する。
リモートコピー手続きは、ストレージネットワークの信頼性を向上させるという点では有効であるが、ストレージネットワークを実施する費用を大幅に増大させることにもなる、ということが分かっている。
【課題を解決するための手段】
【０００６】
例示的な実施態様では、ストレージネットワークを提供する。
このストレージネットワークは、ディスクドライブの第１のセットを備える第１のストレージサイトと、第１のストレージサイトに通信可能に接続され記憶媒体を備える第２のストレージサイトと、第２のストレージサイトに通信可能に接続されディスクドライブの第２のセットを備える第３のストレージサイトと、を備える。
第２のストレージサイトは、第１のストレージサイトにデータ書込みスプールサービスを提供する。
【発明を実施するための最良の形態】
【０００７】
本明細書では、複数サイトでのデータの複製を実施する例示的なストレージネットワークアーキテクチャおよび方法について説明する。
本明細書で説明する方法を、コンピュータ読取可能媒体上の論理命令として具体化してもよい。
それら論理命令がプロセッサで実行されると、汎用コンピューティングデバイスが、説明する方法を実施する専用マシンとしてプログラムされるようになる。
【０００８】
［例示的なネットワークアーキテクチャ］
図１は、ストレージネットワークを利用するネットワーク化されたコンピューティングシステム１００の例示的な実施態様の概略図である。
ストレージネットワークは、任意に大量のストレージ空間を有するストレージプール１１０を備える。
実際には、ストレージプール１１０には、ストレージプール１１０を実施するために使用される特定のハードウェアによって確定される有限のサイズ制限がある。
しかしながら、ストレージプール１１０において利用可能なストレージ空間に対する理論的制限はほとんどない。
【０００９】
ストレージプール１１０内に、複数の論理ディスク（論理ユニットまたはＬＵとも呼ぶ）１１２ａ、１１２ｂを割り当ててもよい。
各ＬＵ１１２ａ、１１２ｂは、ホストデバイス１２０、１２２、１２４および１２８が、そのホストデバイスが使用する接続プロトコルからの要求を一意に識別されるＬＵ１１２にマッピングすることによりアドレス指定することができる、連続的な範囲の論理アドレスを有する。
本明細書で使用する「ホスト」という用語は、それ自体の代りとしてまたはホストに結合されたシステムの代りとしてストレージを利用するコンピューティングシステム（複数可）を含む。
たとえば、ホストは、大規模なデータベースを処理するスーパーコンピュータまたはトランザクションレコードを保持するトランザクション処理サーバであってもよい。
別法として、ホストは、企業のためにストレージサービスを提供するローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）におけるファイルサーバであってもよい。
ファイルサーバは、複数のディスクドライブを管理するように構成された１つまたは複数のディスクコントローラおよび／またはＲＡＩＤコントローラを含んでもよい。
ホストは、たとえばファイバチャネル（ＦＣ）接続等の通信接続を介してストレージネットワークに接続する。
【００１０】
サーバ１２８等のホストは、他のコンピューティングまたはデータ処理システムまたはデバイスにサービスを提供してもよい。
たとえば、クライアントコンピュータ１２６は、サーバ１２８等のホストを介してストレージプール１１０にアクセスしてもよい。
サーバ１２８は、クライアント１２６にファイルサービスを提供してもよく、トランザクション処理サービス、電子メールサービス等の他のサービスを提供してもよい。
したがって、クライアントデバイス１２６は、ホスト１２８によって消費されるストレージを直接使用しても使用しなくてもよい。
【００１１】
同じくホストである、無線デバイス１２０およびコンピュータ１２２、１２４等のデバイスは、ＬＵ１１２ａ、１１２ｂに論理的に直接結合してもよい。
ホスト１２０〜１２８は、複数のＬＵ１１２ａ、１１２ｂに結合してもよく、ＬＵ１１２ａ、１１２ｂを複数のホストで共有してもよい。
図１に示すデバイスの各々は、メモリと、大容量記憶装置と、ネットワーク接続を管理するために十分な程度のデータ処理能力と、を有してもよい。
【００１２】
図２は、ストレージプール１１０等のストレージプールを実施するために使用してもよい例示的なストレージネットワーク２００の概略図である。
ストレージネットワーク２００は、通信ネットワーク２１２によって接続される複数のストレージセル２１０ａ、２１０ｂ、２１０ｃを備える。
ストレージセル２１０ａ、２１０ｂ、２１０ｃを、１つまたは複数の通信可能に接続されたストレージデバイスとして実施してもよい。
例示的なストレージデバイスには、米国カリフォルニア州Palo Altoのヒューレット・パッカード・コーポレーション（Hewlett-Packard Corporation）から市販されているストレージデバイスのＳＴＯＲＡＧＥＷＯＲＫＳラインがある。
通信ネットワーク２１２を、例えばファイバチャネル（ＦＣ）スイッチングファブリック等の私的な専用ネットワークとして実施してもよい。
別法として、通信ネットワーク２１２の一部を、例えばインターネット小型コンピュータシリアルインタフェース（Internet Small Computer Serial Interface）（ｉＳＣＳＩ）プロトコル等の適当な通信プロトコルに準拠する公衆通信ネットワークを使用して実施してもよい。
【００１３】
クライアントコンピュータ２１４ａ、２１４ｂ、２１４ｃは、サーバ２１６、２２０等のホストを介してストレージセル２１０ａ、２１０ｂ、２１０ｃにアクセスしてもよい。
クライアント２１４ａ、２１４ｂ、２１４ｃを、ファイルサーバ２１６に直接接続してもよく、あるいはローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）等のネットワーク２１８を介して接続してもよい。
任意のストレージネットワークに含むことができるストレージセル２１０ａ、２１０ｂ、２１０ｃの数は、主に、通信ネットワーク２１２において実施される接続性によって制限される。
単一ＦＣスイッチを備えるスイッチングファブリックは、２５６以上のポートを相互接続することができ、単一ストレージネットワークにおいて何百ものストレージセル２１０ａ、２１０ｂ、２１０ｃがあることを可能にする。
【００１４】
ホスト２１６、２２０は、通常、サーバコンピュータとして実施される。
図３は、ホストを実施するために利用することができる例示的なコンピューティングデバイス３３０の概略図である。
図３に示すコンピューティングデバイス３３０は、説明の目的で提供される単に１つの例示的な実施形態である、ということが理解されよう。
本明細書で説明する技法を、任意のコンピューティングデバイスで実施してもよい。
コンピューティングデバイス３３０の特定の詳細は重要ではない。
コンピューティングデバイス３３０は、１つまたは複数のプロセッサまたは処理ユニット３３２と、システムメモリ３３４と、システムメモリ３３４を含むさまざまなシステムコンポーネントをプロセッサ３３２に結合するバス３３６と、を有する。
バス３３６は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート（accelerated graphics port）および種々のバスアーキテクチャのうちの任意のものを使用するプロセッサまたはローカルバスを含むいくつかのタイプのバス構造のうちの任意のものの１つまたは複数を表す。
システムメモリ３３４は、リードオンリメモリ（ＲＯＭ）３３８とランダムアクセスメモリ（ＲＡＭ）３４０とを含む。
ＲＯＭ３３８には、起動中等、コンピューティングデバイス３３０内の要素間での情報の転送を助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）３４２が格納されている。
【００１５】
コンピューティングデバイス３３０は、さらに、ハードディスク（図示せず）に対して読出しおよび書込みを行うハードディスクドライブ３４４を有し、リムーバブル磁気ディスク３４８に対して読出しおよび書込みを行う磁気ディスクドライブ３４６と、ＣＤ  ＲＯＭまたは他の光媒体等のリムーバブル光ディスク３５２に対して読出しおよび書込みを行う光ディスクドライブ３５０と、を有してもよい。
ハードディスクドライブ３４４、磁気ディスクドライブ３４６および光ディスクドライブ３５０は、ＳＣＳＩインタフェース３５４または他の何らかの適当なインタフェースによりバス３３６に接続される。
ドライブおよびそれらの関連するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールおよびコンピューティングデバイス３３０のための他のデータの不揮発性記憶を提供する。
本明細書で説明する例示的な環境は、ハードディスク、リムーバブル磁気ディスク３４８およびリムーバブル光ディスク３５２を採用するが、例示的な動作環境では、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）等の他のタイプのコンピュータ読取可能媒体を使用してもよい。
【００１６】
ハードディスク３４４、磁気ディスク３４８、光ディスク３５２、ＲＯＭ３３８またはＲＡＭ３４０には、オペレーティングシステム３５８、１つまたは複数のアプリケーションプログラム３６０、他のプログラムモジュール３６２およびプログラムデータ３６４を含む複数のプログラムモジュールを格納してもよい。
ユーザは、キーボード３６６およびポインティングデバイス３６８等の入力デバイスを介してコマンドおよび情報をコンピューティングデバイス３３０に入力してもよい。
他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ等があってもよい。
これらおよび他の入力デバイスは、バス３３６に結合されるインタフェース３７０を介して処理ユニット３３２に接続される。
モニタ３７２または他のタイプの表示装置もまた、ビデオアダプタ３７４等のインタフェースを介してバス３３６に接続される。
【００１７】
コンピューティングデバイス３３０は、ネットワーク環境において、リモートコンピュータ３７６等の１つまたは複数のリモートコンピュータへの論理接続を使用して動作してもよい。
リモートコンピュータ３７６は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の一般的なネットワークノードであってもよく、通常、コンピューティングデバイス３３０に関して上述した要素の多くまたはすべてを含むが、図３にはメモリストレージデバイス３７８のみを示す。
図３に示す論理接続には、ＬＡＮ３８０とＷＡＮ３８２とがある。
【００１８】
コンピューティングデバイス３３０は、ＬＡＮネットワーキング環境で使用される場合、ネットワークインタフェースまたはアダプタ３８４を介してローカルネットワーク３８０に接続される。
コンピューティングデバイス３３０は、ＷＡＮネットワーキング環境で使用される場合、通常、インターネット等のワイドエリアネットワーク３８２による通信を確立するモデム３８６または他の手段を有する。
内蔵であっても外付けであってもよいモデム３８６は、シリアルポートインタフェース３５６を介してバス３３６に接続される。
ネットワーク化環境では、コンピューティングデバイス３３０またはその一部に関して示すプログラムモジュールを、リモートメモリストレージデバイスに格納してもよい。
図示するネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用してもよい、ということが理解されよう。
【００１９】
ホスト２１６、２２０は、通信ネットワーク２１２への接続を可能にするホストアダプタハードウェアおよびソフトウェアを含んでもよい。
通信ネットワーク２１２への接続は、帯域幅要求に応じて光結合またはより伝統的な導体ケーブルを介してもよい。
ホストアダプタを、コンピューティングデバイス３３０におけるプラグインカードとして実施してもよい。
ホスト２１６、２２０は、通信ネットワーク２１２に対しハードウェアおよびソフトウェアサポートと同数の接続を提供するために任意の数のホストアダプタを実施してもよい。
【００２０】
概して、コンピューティングデバイス３３０のデータプロセッサは、コンピュータのさまざまなコンピュータ読取可能記憶媒体に異なる時刻に格納された命令によってプログラムされる。
プログラムおよびオペレーティングシステムは、たとえば、フロッピー（登録商標）ディスクで、ＣＤ−ＲＯＭで、または電子的に分配されてもよく、コンピュータの補助メモリにインストールまたはロードされる。
実行時、プログラムは、少なくとも部分的にコンピュータの主電子メモリにロードされる。
【００２１】
図４は、ストレージセル４００の例示的な実施態様の概略図である。
図４に示すストレージセル４００は、説明の目的で提供される単に１つの例示的な実施形態であることが理解されよう。
ストレージセル４００の特定の詳細は重要ではない。
図４を参照すると、ストレージセル４００は、データの運用およびディスクドライブ４４０、４４２の１つまたは複数のセットとの間のデータの転送を管理する、ディスクコントローラ４１０ａ、４１０ｂとも呼ぶ２つのネットワーク・ストレージ・コントローラ（ＮＳＣ）を有する。
ＮＳＣ４１０ａ、４１０ｂを、マイクロプロセッサ４１６ａ、４１６ｂおよびメモリ４１８ａ、４１８ｂを有するプラグインカードとして実施してもよい。
各ＮＳＣ４１０ａ、４１０ｂは、ホストに対するインタフェースを提供する、すなわちスイッチングファブリック等の通信ネットワークを介して提供するデュアルホストアダプタポート４１２ａ、４１４ａ、４１２ｂ、４１４ｂを有する。
ファイバチャネル実施態様では、ホストアダプタポート４１２ａ、４１２ｂ、４１４ａ、４１４ｂを、ＦＣ  Ｎ＿Ｐｏｒｔとして実施してもよい。
各ホストアダプタポート４１２ａ、４１２ｂ、４１４ａ、４１４ｂは、スイッチングファブリックへのログインおよびそれとのインタフェースを管理し、ログインプロセスにおいてファブリック一意のポートＩＤが割り当てられる。
図４に示すアーキテクチャは、完全冗長ストレージセルを提供する。
この冗長性は、完全に任意であり、ストレージセルを実施するためには１つのＮＳＣがあればよい。
【００２２】
各ＮＳＣ４１０ａ、４１０ｂは、さらに、ＮＳＣ４１０ａ、４１０ｂ間の通信接続４３８を可能にする通信ポート４２８ａ、４２８ｂを有する。
通信接続４３８を、ＦＣポイント・ツー・ポイント接続として実施してもよく、あるいは他の任意の適当な通信プロトコルに準拠させてもよい。
【００２３】
例示的な実施態様では、ＮＳＣ４１０ａ、４１０ｂはさらに、複数のストレージデバイス、たとえばディスクドライブ４４０、４４２のセットとのファイバ・チャネル・アービトレイテッド・ループ（Fiber Channel Arbitrated Loop）（ＦＣＡＬ）通信接続を実施する複数のＦＣＡＬポート４２０ａ〜４２６ａ、４２０ｂ〜４２６ｂを有する。
例示する実施形態は、ディスクドライブ４４０、４４２のセットとのＦＣＡＬ接続を実施するが、ディスクドライブ４４０、４４２のセットとの通信接続を他の通信プロトコルを使用して実施してもよい、ということが理解されよう。
たとえば、ＦＣＡＬ構成ではなく、ＦＣスイッチングファブリックを使用してもよい。
【００２４】
動作時、ディスクドライブ４４０、４４２のセットによって提供される記憶容量を、ストレージプール１１０に追加してもよい。
アプリケーションが記憶容量を必要とする場合、ホストコンピュータ１２８における論理命令は、１つまたは複数のストレージサイトにおいて利用可能なディスクドライブ４４０、４４２のセットにおいて利用可能な記憶容量からＬＵを確立する。
ＬＵが論理ユニットであって物理ユニットでないため、ＬＵを構成する物理ストレージ空間を、複数のストレージセルにわたって分散してもよいということが理解されよう。
アプリケーションのためのデータは、ストレージネットワークの１つまたは複数のＬＵに格納される。
データにアクセスする必要のあるアプリケーションはホストコンピュータに問い合わせ、ホストコンピュータは、ＬＵからデータを検索してそのデータをアプリケーションに転送する。
【００２５】
図５は、ストレージネットワークにおける複数サイトデータ複製アーキテクチャ５００のコンポーネントおよび接続の例示的な実施態様の概略図である。
図５に示すコンポーネントおよび接続を、図２に示すタイプのストレージネットワークにおいて実施してもよい。
図５を参照すると、１つまたは複数のディスクアレイ５１２ａ〜５１２ｄを備える第１のストレージサイト５１０と、キャッシュメモリ５１６を備える第２のストレージサイト５１４と、１つまたは複数のディスクアレイ５２０ａ〜５２０ｄを備える第３のストレージサイト５１８と、がある。
また、キャッシュメモリ５４２を備える任意の第４のストレージサイト５４０も示されている。
任意のストレージサイト５４０は、第２のストレージサイト５１４に従属する。
ストレージサイト５１０、５１４、５１８および５４０を、上述したように１つまたは複数のストレージセルによって実施してもよい。
それとして、各ストレージサイト５１０、５１４、５１８および５４０は、複数のディスクアレイを有してもよい。
【００２６】
第１のストレージサイト５１０と第２のストレージサイト５１４との間に第１の通信接続５３０が設けられており、第２のストレージサイト５１４と第３のストレージサイト５１８との間に第２の通信接続５３２が設けられている。
任意のストレージサイト５４０が実施されるとすると、第２のストレージサイト５１４と任意のストレージサイト５４０との間に第３の通信接続５５０が設けられ、任意のストレージサイト５４０と第３のストレージサイト５１８との間に第４の通信接続５５２が設けられる。
例示的な実施態様では、通信接続５３０、５３２、５５０、５５２を、ＦＣファブリック等のスイッチングファブリックかまたは別の適当な通信プロトコル、たとえばＳＣＳＩ、ｉＳＣＳＩ、ＬＡＮ、ＷＡＮ等に準拠して動作するスイッチングファブリックによって提供してもよい。
【００２７】
例示的な実施態様では、第１のストレージサイト５１０を、第２のストレージサイト５１４から４０〜１００ｋｍまでの距離だけ離してもよく、第２のストレージサイトを第３のストレージサイト５１８から、それより長い距離、たとえば４００ｋｍ〜５０００ｋｍだけ離してもよい。
任意のストレージサイト５４０を第２のストレージサイト５１４と同じ場所に配置してもよく、あるいは、第２のストレージサイト５１４から１００ｋｍまでの距離だけ離してもよい。
ストレージサイトの任意のものとの特定の距離は重要ではない。
【００２８】
１つの例示的な実施態様では、第２のストレージサイト５１４は、通信、処理および記憶能力を有するネットワーク要素を含む。
ネットワーク要素は、ストレージネットワークの第１のストレージサイトからデータを受信するように構成された入力ポートと、受信したデータを格納するように構成されたキャッシュメモリモジュールと、キャッシュメモリに格納されたデータを集約しそのデータを第３のストレージサイトに送信するように構成されたプロセッサと、を有する。
１つの例示的な実施態様では、ネットワーク要素を、図４に関連して説明したＮＳＣカードのようなプラグインカードとして具体化してもよい。
ホストポート４１２ａ、４１２ｂ、４１４ａ、４１４ｂは、入力ポートとして機能してもよい。
マイクロプロセッサ４１６ａ、４１６ｂは、プロセッサとして機能してもよい。
第２のストレージサイト５１４のキャッシュメモリ５１６と任意のストレージサイト５４０のキャッシュメモリ５４２とを、メモリモジュール４１８ａおよび／またはディスクアレイ４４２、４４４において実施してもよい。
別法として、キャッシュメモリ５１６を、ＲＡＭキャッシュにおいて、または他の任意の適当な記憶媒体、たとえば光または他の磁気記憶媒体で実施してもよい。
【００２９】
代替実施態様では、ネットワーク要素を独立型のストレージアプライアンスとして具体化してもよい。
代替実施態様では、第２のストレージサイト５１４のキャッシュメモリ５１６と任意のストレージサイト５４０のキャッシュメモリ５４２とを、たとえば米国カリフォルニア州Palo Altoのヒューレット・パッカード・コーポレーションが市販しているＳＶ−３０００モデルディスクアレイ等の低コストレプリケーションアプライアンスを使用して実施してもよい。
【００３０】
［例示的な動作］
例示的な実施態様では、図５に示すコンポーネントおよび接続を使用して、３サイトデータ複製アーキテクチャを実施してもよい。
説明の目的で、複製されているデータは第１のストレージサイト５１０においてホストされるものとする。
図５のアーキテクチャにおいて、第１のストレージサイト５１０でホストされるデータの完全なコピーは、第１のストレージサイト５１０と第３のストレージサイト５１８とにのみ存在する。
第２のストレージサイト５１４は、複製されている第１のストレージサイト５１０におけるデータの完全なコピーを実施する必要はない。
代りに、第２のストレージサイト５１４は、第１のストレージサイト５１０に順序通りの（インオーダ、in-order）書込みスプールサービスを提供する。
第１のストレージサイト５１０に書き込まれたデータは、第２のストレージサイト５１４においてスプーリングされ、第３のストレージサイトに書き込まれる。
１つの例示的な実施態様では、第１のストレージサイトから第２のストレージサイトへのデータ書込みは同期していてもよく、第２のストレージサイトから第３のストレージサイトへのデータ書込みは非同期であってもよい。
しかしながら、書込み動作を、同期して実施しても非同期に実施してもよい。
【００３１】
図６は、第２のストレージサイト５１４のネットワーク要素によって実施される例示的な動作６００を示すフローチャートである。
データが第１のストレージサイト５１０に書き込まれると、第１のストレージサイトは、そのデータを第２のストレージサイト５１４に書き込む。
この書込み動作は、同期していても非同期であってもよい。
動作６１０において、第２のストレージサイト５１４は、第１のストレージサイト５１０からデータを受信し、動作６１２において、受信したデータを適当な記憶媒体のキャッシュメモリに格納する。
【００３２】
動作６１４において、第２のストレージサイト５１４のキャッシュメモリのデータを、第３のストレージサイトに送信するために所望のサイズの書込みブロックに集約する。
概念的には、集約ルーチンを、データを第２のストレージサイトのキャッシュメモリに書き込むプロデューサコンポーネントと、キャッシュメモリからデータを検索しそれを第３のストレージサイトに転送するコンシューマコンポーネントと、を有するものとみなしてもよい。
書込み動作は、同期しても非同期であってもよい。
着信（inbound）書込みブロックと発信（outbound）書込みブロックとのサイズは異なってもよく、任意の所与の書込みブロックのサイズを、第２のストレージサイト５１４と第３のストレージサイト５１８との間の通信リンク（複数可）におけるネットワーク機器および／または伝送プロトコルの構成の関数として選択してもよい。
ファイバチャネル実施態様では、書込みブロックサイズを６４ＫＢの倍数として選択してもよい。
【００３３】
例示的な実施態様では、書込みスプールは、先入れ先出し（ＦＩＦＯ）待ち行列を実施し、そこでは、データが受け取られた順序で待ち行列から書き込まれる。
代替実施態様では、第１のストレージサイト５１０から受信されるデータは、データが関連する論理グループ（たとえば、ＬＵまたはデータ一貫性グループ）を識別する指示子と、論理グループにおける書込み動作の位置を示すシーケンス番号と、を有する。
この実施態様では、集約ルーチンは、書込みブロックに含めるために同じ論理グループに関連するデータを選択する変更されたＦＩＦＯ待ち行列を実施してもよい。
【００３４】
動作６１６において、書込みブロックを第３のストレージサイト５１８に送信する。
動作６１８において、ネットワーク要素は、動作６１６において送信された書込みブロックを第３のストレージサイト５１８が受信したことを示す確認応答信号を第３のストレージサイト５１８から受信するのを待つ。
確認応答信号が受信されると、動作６２０において、第３のストレージサイトが受信したデータに、削除するようにマーキングしてもよい。
マーキングされたデータを書込みスプールから削除してもよく、またはデータを、そのデータが存在するメモリ空間が上書きされるのを可能にする指示子によってマーキングしてもよい。
【００３５】
任意の第４のストレージサイト５４０を有するネットワークアーキテクチャにおける代替実施態様では、第２のストレージサイト５１４のネットワーク要素は、動作６１０において受信されたデータの任意の第４のストレージサイト５４０への同期書込みを実施する。
ストレージサイト５４０のネットワーク要素は、ストレージサイト５１４のネットワーク要素への同期書込みスプールサービスを提供する。
しかしながら、通常の動作では、ストレージサイト５４０のネットワーク要素は、そのデータを第３のストレージサイト５１８に送信する必要はない。
むしろ、ストレージサイト５４０のネットワーク要素は、第２のストレージサイト５１４の動作に障害がある場合にのみそのデータを第３のストレージサイトに送信する。
【００３６】
図６に示す動作６００を実施する図５に示すネットワークアーキテクチャは、第２のストレージサイト５１４において完全なディスクアレイを必要とするアーキテクチャより低コストで、第３のストレージサイトに対し、第１のストレージサイト５１０に格納されたデータの完全冗長性の非同期複製を提供する。
【００３７】
本明細書で明示的に示した特定の実施形態に加えて、当業者には、本明細書で開示した詳細を考慮して本発明の他の態様および実施形態が明らかとなろう。
詳細および例示した実施形態を単に例としてみなすべきであり、本発明の真の範囲および精神は以下の特許請求の範囲によって示されている、ということが意図されている。
【図面の簡単な説明】
【００３８】
【図１】ストレージネットワークを利用するネットワーク化されたコンピューティングシステムの例示的な実施態様の概略図である。
【図２】ストレージネットワークの例示的な実施態様の概略図である。
【図３】ホストを実施するために利用することができるコンピューティングデバイスの例示的な実施態様の概略図である。
【図４】ストレージセルの例示的な実施態様の概略図である。
【図５】ストレージネットワークにおいて複数サイトデータ複製アーキテクチャを実施するコンポーネントおよび接続の例示的な実施態様の概略図である。
【図６】ストレージサイトにおいてネットワーク要素によって実施される例示的な動作を示すフローチャートである。
【符号の説明】
【００３９】
２１２・・・通信ネットワーク，
２１８・・・ネットワーク，
３３２・・・処理ユニット，
３３４・・・システムメモリ，
３３６・・・バス，
３５４・・・ＳＣＳＩインタフェース，
３５６・・・シリアルポート，
３５８・・・オペレーティングシステム，
３６０・・・アプリケーションプログラム，
３６２・・・他のプログラムモジュール，
３６２・・・他のモジュール，
３６４・・・プログラムデータ，
３７０・・・キーボード／マウスインタフェース，
３７４・・・ビデオアダプタ，
３８４・・・ネットワークインタフェース，
３８６・・・モデム，
４１２，４１４・・・ホストポート，
４１６・・・マイクロプロセッサ，
４１８・・・メモリ，
５１６，５４２・・・キャッシュメモリ，
【図１】
2005216304.tif 000003
【図２】
2005216304.tif 000004
【図３】
2005216304.tif 000005
【図４】
2005216304.tif 000006
【図５】
2005216304.tif 000007
【図６】
2005216304.tif 000008