JP2008509489A - 通信網を介してデータセットを更新するためのシステム、方法及び装置 - Google Patents

通信網を介してデータセットを更新するためのシステム、方法及び装置 Download PDF

Info

Publication number
JP2008509489A
JP2008509489A JP2007525173A JP2007525173A JP2008509489A JP 2008509489 A JP2008509489 A JP 2008509489A JP 2007525173 A JP2007525173 A JP 2007525173A JP 2007525173 A JP2007525173 A JP 2007525173A JP 2008509489 A JP2008509489 A JP 2008509489A
Authority
JP
Japan
Prior art keywords
data
data center
rdc
data block
recovery
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.)
Granted
Application number
JP2007525173A
Other languages
English (en)
Other versions
JP4902538B2 (ja
Inventor
アンドレア・ディ・ジリョ
ラッファエレ・ジラルディ
エウジェニオ・マリア・マッフィオーネ
Original Assignee
テレコム・イタリア・エッセ・ピー・アー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by テレコム・イタリア・エッセ・ピー・アー filed Critical テレコム・イタリア・エッセ・ピー・アー
Publication of JP2008509489A publication Critical patent/JP2008509489A/ja
Application granted granted Critical
Publication of JP4902538B2 publication Critical patent/JP4902538B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)

Abstract

地域通信網を介してデータセットを更新するためのシステムであり、前記データセットは、回復データセンター(RDC)内に置かれた回復記憶装置(12)に記憶されると共に、主データセンター(PDC)内に置かれた処理システム(10)により生成されるデータブロックを用いて更新する必要がある。前記回復データセンター(RDC)は、前記地域通信網を介して一時記憶領域(27)を備えた装置(13)に接続され、一時記憶領域(27)は、前記処理システムにより生成されかつ前記データセットの更新を指示された入力データブロックを対応する記憶場所に一時的に記憶する。前記処理システム(10)の通常運転を停止又はスローダウンさせないように、前記データブロックが前記一時記憶領域(27)に書き込まれるとすぐ、前記一時記憶領域(27)への前記データブロックの書き込みが成功したことをアクノリッジする第1の同期肯定応答信号(3)が前記主データセンター(PDC)に与えられる。前記データセットの更新が成功したことをアクノリッジする第2の肯定応答信号(6)が受信されると、前記データブロックで占められた前記一時記憶領域(27)の前記場所が、新しい入力データブロックのために利用可能にされる。

Description

本発明は通信網を介してデータセットを更新するためのシステム、方法及び装置に関する。
特に、本発明は地域通信網を介して同期モードで、主データセンターにある第1記憶装置から主データセンターから地理的に遠く離れた回復データセンターにある第2記憶装置にデータセットを更新するためのシステム、方法及び装置に関する。この回復データセンターに記憶されたデータは、主データセンターを巻き込む災害が発生した場合に使用できる。
特に、本発明はデータセットを保護するための同期ミラーリング技術に関する。
高い可用性の計算機アーキテクチャーにおいて、災害時の損傷や損失から重要なデータを保護する普及している方法は、ミラーリング技術に代表される。この技術では、異なる2つの場所に配置された少なくとも2つの異なる記憶装置に、少なくとも2つの重要情報のコピーを記憶しておく。すなわち、一般に「作業用コピー」を表す第1ローカルコピーは、主データセンター(PDC)にあるメイン計算機システム(コンピュータ)において実行されるソフトウエアアプリケーションにより直接使用され、一方、第2コピーは遠隔の回復データセンター(RDC)にあり、メイン計算機システムの故障時に災害回復プロセスの範囲内で使用される。
当該技術においてデータセットの複製を行なう方法は下記の通り少なくとも2つある。
第1の技術又は方法は同期ミラーリングとして公知であり、RDCにある遠隔コピーの更新が、PDCにあるローカルコピー中のデータ項目の変更と同時に行われる。
第2の技術は非同期ミラーリングとして公知であり、遠隔コピーの更新はバッチポリシーに従って行われる。
一般に、本発明の関連技術である同期ミラーリング技術では、
a- データ項目をローカル記憶装置に書き込む工程;
b- 該データ項目をリモート記憶装置に書き込む工程;
c- さらに新しいデータ項目を書き込むことで工程a)及びb)を繰り返す前に、リモートディスクからの肯定応答信号ACKを待つ工程;
を行なう。
この同期ミラーリングは、少なくとも2つの記憶装置をいつでも完全に一致させることができるので、故障、データ損失又は災害が発生した場合に、メイン計算機システムの状態を回復する一層の保証を与える。
災害の場合、同期ミラーリングを用いることにより、災害前にPDCで実行されていたアプリケーションと同じソフトウエアアプリケーションの通常動作を復旧するのに必要な時間であるいわゆる目標回復時間すなわちRTOを短く保つことができる。
実際、同期ミラーリング技術を採用することにより、主データセットとソフトウエアアプリケーションを再開するのに有効なそのコピーとの間のずれを理想的に1回の処理で低減させることができる。
当該技術において、主データセットとそのコピーとの間でのこのずれ(時間で測定)は一般に目標回復時点すなわちRPOという。
同期ミラーリングに関する工程シーケンスでは、ソフトウエアアプリケーション自身がデータ項目を生成してからRDCのリモート記憶装置によるデータ項目の書き込み(書き込み操作)についての肯定応答をPDCが受信するまで経過する時間間隔の間、PDCでのソフトウエアアプリケーションがロックされる必要があることに留意されたい。この時間間隔は、
- データ項目のシリアル化時間;
- 往復時間、すなわちメイン計算機システムと遠隔コピーとの間の接続に沿って存在する装置における伝搬遅延と処理及び待ち時間との総和;
- ディスク上のデータ項目のRDCへの書き込み時間;
- 肯定応答信号の生成及びシリアル化時間(データ項目のシリアル化時間及び往復時間に比べて無視し得る);
の総和として概算できる。
一般に、最小往復時間は、使用される媒体における物理的な伝搬に関する時間間隔(伝搬遅延)よりも短くなり得ない。この時間間隔は、主データセンター(PDC)のコンピュータと回復データセンター(RDC)のリモート記憶装置との間の物理的な接続上の距離に直接比例する。
同期複製(ミラーリング)に関係するデータを生成するソフトウエアアプリケーションの性能を同期ミラーリングが減速させることは、記憶装置の業界内では周知であり、記憶装置ソフトウエアやハードウェアベンダーにより刊行物に十分に記載されている。PDCとRDCとの距離が大きくなるに従い、アプリケーションの性能は比例して低下する。例として、唯一の制限効果が伝搬遅延であると仮定すると、PDCとRDCとの距離が10kmから100kmに増加すると、書き込み応答時間(往復時間)が10倍長くなり、その結果、アプリケーションの処理能力は、書き込み操作の速度に依存して最大で90%まで減少し得る。
いずれにせよ、出願人は、性能がPDCの計算機システムの標準機能を維持するのに許容できなくなる距離の限界は、簡単で一意的な方法にて定めることができないと考えている。というのは、厳密に言えば、この距離の限界は、業務及び関連ソフトウエア・アプリケーションの種類(サイズ及び書き込み操作の頻度)、並びにPDCとRDCとの間の通信網の物理的な特徴(帯域幅、技術及びトポロジー)に依存するからである。
いくつかの文献において、同期ミラーリングについての距離の限界が下記の通り示されている。
- 非特許文献1は、高帯域幅リンクを用いている場合でも400kmを距離の限界として示している;
- 非特許文献2は50kmを示し、距離の限界は特にアプリケーション応答時間に依存することを述べている;
- 同期ミラーリングについての所有者の解決策は、データ複製を管理する特定のソフトウエアゆえに異なる距離限界を示す。特に、非特許文献3は距離の限界として40〜100kmを示す。非特許文献4は最大距離限界として80kmを示す。
出願人は、高い帯域幅の存在下でシリアル化時間が無視でき、かつ専用の回線接続があるので往復時間が最小に短縮される場合でさえ、一般に同期ミラーリング技術はPDCとRDCとの間の任意の距離を有する接続には適用できないことに注目している。
このような限界は、大災害の場合により高い保護レベルを与えるべく、長い距離を隔てて位置する場所、例えば作業用コピーから数百km離れた場所にデータの複製を記憶する必要のある高い可用性計算機アーキテクチャーの従来の要求と対照される。
同期ミラーリング技術に固有の上記の問題を避けるために、マルチホップ・ディスク・ミラーリングとして公知の技術が提案されている。この技術は例えば非特許文献5に記載され、また非特許文献6に記載されている
このマルチホップ・ミラーリング技術では、PDCにてソフトウエアアプリケーションにより課される制限に適合する距離だけ離れて位置する中間場所にて同期ミラーリングを実行し、非同期にてデータを複製してRDCの場所に送る。
出願人は、マルチホップミラーリングでは終端間チェーンに複雑な要素を導入するという欠点があることに注目した。
従来技術によると、マルチホップミラーリングでは、PDCの記憶装置の記憶容量と少なくとも同じ記憶容量をもつ記憶装置を中間の場所に導入する必要がある。
この解決策では、アーキテクチャーの全体の信頼性が低下する。
また、一般に中間場所から回復場所(RDC)への更新は、相対的に遅い周波数にてバッチモードで行われるので、主データセットと回復データセットとの間で関連の相違が生じ得る。
したがって、主要場所(PDC)と中間場所との両方を含んだ動作範囲の災害の場合、非常に小さい目標回復時点すなわちRPOを得ることができなくなる。
非特許文献7及び特許文献1に開示されたミラーリング技術では、PDCにてソフトウエアアプリケーションを実行するメイン計算機システムとローカル記憶装置との間に装置が挿入されている。常に、リモート記憶装置上でのコピーは、PDCに位置するこの装置により非同期にて行われる。
要するに、出願人は、PDCとRDCとの距離に独立でかつRPOが非常に小さい同期ミラーリングを実行する解決策は従来技術では知られていないと考える。
PCT特許出願第WO02/069159号 ノーテルネットワークス(Nortel Networks)の報告書「Storage Distance extension:increasing the reach and utility of networked storage applications」 日立(Hitachi)の報告書「Business Continuity Solution Blueprint-Synchronous data replication」 IBM PPRC(報告書「IBM and Cisco:Metro Optical Solution for Business Continuity and Storage Networking」、2003年8月) EMC SRDF(報告書「EMC and Cisco Metro Optical Storage Networking Solution」、2001年6月27日) 「Asynchronous Cascading Implementations,TIPS0310」、IBM Redbook-Hints & Tips(2003年10月15日)[2004年6月14日現在のインターネットのウエブサイトhttp://publib-b.boulder.ibm.com/Redbooks.nsfにて入手可能] 「Remote Mirroring of Business Critical Information」、EMC(2002年6月10日)[2004年6月14日現在のインターネットのウエブサイトhttp://italy.emc.com/local/it/IT/download/pdf/giugno2002/Burns.pdfにて入手可能] 論文「Heterogeneous Midrange Storage with Local Mirroring and Remote IP Replication」、Falconstore(2002年12月10日)[2004年6月14日現在インターネットのウエブサイトhttp://www.falconstor.com/Whitepapers/MidrangeSSFSolutionWhitePaper.pdfにて入手可能]
発明の概要
したがって、本発明の目的は、距離に独立な同期ミラーリング技術を実行可能にして通信網を介してデータセットを更新するためのシステム、方法及び装置を提供することである。
本発明の別の目的は、たとえ顧客が中央回復データセンターの同じ大都市圏にいなくても、同期ミラーリング技術に適合したRPO及びRTOを顧客に保証しつつ、例えば、中央回復データセンターを有するサービスプロバイダが、各々それぞれの主データセンターを有する多数の顧客又はクライアントに災害回復サービスを提供できるようにすることである。
本発明の別の目的は、本発明による方法を実行するために行なうべき操作を管理できるコンピュータプログラムプロダクト又は1組のコンピュータプログラムプロダクトを提供することである。
本発明の上記目的は、特許請求の範囲に記載のシステム、方法、装置、コンピュータ・プログラム・プロダクト及びネットワークにより達成される。
本発明によると、主データセンターPDCから、例えばPDCから地理的に長距離離れて位置する回復データセンターRDCに関連したリモートディスク又はメモリサポートに、データセットの同期更新を実行するシステム及び方法が提供される。ここで、上記の距離は例えば妥当な制限下でRPOを与え得る距離よりも大きい。
本発明によると、PDCにより生成されかつ、例えばPDCとRDCとの中間場所にあるデータブロックを記憶するための一時記憶領域を備えた一時記憶装置が提供される。この一時記憶装置は予め決められた記憶容量を有するように構成されると共に、書き込み成功の肯定応答信号、すなわち同期ミラーリング技術の時間間隔に匹敵する非常に短い時間内(例えば1ms内)の肯定応答信号を、クライアント処理システム又はPDCに同期的に与えることができるインテリジェント・キャッシュ・ソフトウエア・プログラムを含む。
本発明によると、複数のクライアント処理システム(クライアント)及び/又は主データセンターが一時記憶装置の記憶領域を共用してもよい。
本発明の別の特徴によると、一時記憶装置の記憶領域においてクライアントに割り当てられたキャッシュサイズは、更新すべきデータボリュームのサイズには独立に決められる。
特に、本発明の好ましい態様によると、このキャッシュサイズは、
- クライアント処理システムと一時記憶装置との間で用いられる帯域幅と;
- 一時記憶装置と回復サイトRDCとの間で用いられる帯域幅と;
- PDCにてクライアント・ソフトウエア・アプリケーションにより生成されるデータのレート(例えば、このデータレートは単位時間に生成又は変更されるデータの数として定量化できる)と;
に依存して決められる。
要するに、本発明は従来技術に対して以下の利点をもつ。
- 主データセンターPDCと一時記憶装置との間の距離より短い所定の範囲内での故障又は損傷の場合、すなわち、一時記憶装置が損傷していない場合、単一ホップ同期ミラーリング技術(ローカル及びリモートディスク間で不一致がない)のRPOに等しくするRPOの最適化;
- 中間場所にも影響を与えるイベントの場合、ゼロに非常に近いRPO(アプリケーションの二三の処理に限定された不一致);この場合、中間場所に存在しているが、リモートディスクへのコピーがまだされていないデータは失われるが、本発明に開示されたデータの転送方法によれば、本質的に損失データは非常に限定された量である;
- 主データセンターと回復データセンターとの間に適用される同期ディスクミラーリング技術により得ることのできるRTOに匹敵しうる非常に小さいRTO;
- 距離からの独立、又はローカルディスクとリモートディスクとの間の距離に関して制限がない。逆に、RPO及びRTOについて同等の信頼性を与えつつ、単一ホップ同期ミラーリング技術にて行われる;
- 中間場所に記憶されるデータ量が限定的であること。というのは、本発明により提案される方法では、中間場所が主データセンターのローカルディスクのすべてのデータセットを含む必要はないからである。
以下、本発明の限定的ではないが好ましい態様の図面に関して、本発明を説明する。
すべての図面において、同じ符号は同じ構成要素か又は実質的に同じ機能を行なう構成要素を示すのに用いた。
発明の詳細な説明
以下ではディスクミラーリング技術に関して本発明を説明するが、例えばローカルディスクの故障の場合や、データセットのローカルコピーが与えられていないアプリケーションにおいて、ミラーリングアプリケーションが実行されない種々の環境下でも同様の発明原理を首尾よく実行できることに留意されたい。
図1は本発明によるディスクミラーリングシステムを示し、一方の側の主データセンターPDCにおける、ソフトウエアアプリケーションが実行されている処理システム又はクライアントシステム10及びその関連のローカルディスクユニット11と、もう一方の側における回復データセンターRDCのリモートディスクユニット12との間に一時データ保存装置13を挿入している。この装置13は、例えばローカルディスク11とリモートディスク12との間の地理的に中間のサイトに配置し、その際、例えばこの中間場所とRDCとの間の距離はPDCと該中間場所との距離よりも大きいのが好ましい。
本発明における距離なる用語は、例えば、PDCと中間場所とを接続し、中間場所とRDCとを接続するために用いる光ファイバー又は通信ケーブルの長さを表す。
図2について、モジュール20〜27を備えた一時保存装置13のアーキテクチャーを詳細に説明する。
本発明の好ましい態様によると、モジュール20〜27はソフトウエアで実現されるが、当業者には明らかなように、集積回路又はプログラマブル・ロジックから成るハードウェアモジュールによって実現してもよい。
モジュール20及び26は、それぞれ主データセンターPDC及び回復データセンターRDCに対するフロントエンドを構成する。モジュール20及び26は、例えばネットワーク・インターフェース・カードすなわちNICのように2つの同一の物とするか、例えば単一のNICのように1つの同じ物とするか、又は例えばモジュール20をNICとし、モジュール26をホスト・バス・アダプタHBAとする(又はその逆にする)ように異なる物とすることができる。モジュール20及び26は実質的にトランスポートプロトコルのターミネータ装置であり、すなわちネットワークにおける情報交換を管理する装置である。
モジュール20の下流に配置されたモジュール21は、データのミラーリングを遠隔で行なうのに用いられるプロトコルのターゲット装置を構成する。このターゲット装置21はI/Oコマンドを主データセンターPDCから受信し、モジュール22と協同する。ターゲット装置はイニシエータ装置(すなわちI/O処理を要求する装置)によって要求される操作を実行する。
モジュール21の下流に配置されたモジュール22は、ソフトウエアフィルターを実現し、このソフトウエアフィルターは、I/Oコマンドをインターセプトし、それらをキャッシュ・システム・モジュール27に送るか又は残りのモジュール23〜26を介してRDCに送るかを決定する。
モジュール22の下流に配置されたモジュール23は仮想化モジュールであり、PDCに論理記憶領域を与える役割を有し、この論理記憶領域は、RDCに存在するディスクボリュームのために確保されている物理記憶領域とは異なる。
モジュール23の下流に配置されたモジュール24の役割は、データブロックをその関連のアドレスパラメータにより受信し、それをRDCの記憶ディスクの管理のために確保してあるコマンド中にカプセル化することである。モジュール24の下流に配置されたモジュール25は、モジュール26と協同するイニシエータ装置である。
次に、図3に関して、遠隔にてデータブロックを転送するためにiSCSI/SCSIプロトコル(インターネット・スモール・コンピュータ・システム・インターフェース/スモール・コンピュータ・システム・インターフェース)を用いる場合における、本発明による一時データ保存装置13の第1の態様を説明する。
モジュール20及び21はそれぞれ、トランスポート・プロトコル・ターミネータ、例えばNIC、及び遠隔でデータを記憶するためのプロトコルのターゲット装置、例えば修正バージョンのiSCSIターゲット装置によって表すことができる。この場合、モジュール22は修正された商用又はフリーバーションのSCSIターゲット装置である。実質的に、上記の修正は、所定の論理ユニット番号LUNに対してSCSIコマンドをインターセプトし、かつ上記コマンドをキャッシュシステム27にアドレス指定するか又はコマンドをRDCに送るために装置13の残りのモジュール23〜26にアドレス指定するように、ソフトウエアフィルターを構築することからなる。
この相互に作用する一連のモジュール23〜26は、リナックス・オペレーティング・システムに基づいて実装される場合には、ロジカル・ボリューム・マネージャーLVM23から構成される。更なるモジュール24〜26は通常入手可能な標準モジュールであり、リナックスの場合、iSCSI標準イニシエータ25及びNIC26と協同するネイティブSCSIサブシステム又は制御ユニット24から構成し得る。
リナックス環境においてロジカル・ボリューム・マネージャー23を用いる場合、修正されたSCSIターゲット装置22はLVM23に適合するI/Oブロックインターフェースを有することが必要である。
本発明の別の態様によると、ロジカル・ボリューム・マネージャー23を回避できる。
しかし、好ましい態様によると、ロジカル・ボリューム・マネージャー23が存在すると、例えば、地理的に分離し得る複数の回復データセンターに属する記憶領域をアドレス指定する論理パーティションを作ることができるので有益である。
当業者には分かるように、LVM23はソフトウエア仮想化装置で置き換えることもできる。
図3に提案されたこの装置13(ここで、SCSIは記憶装置管理プロトコルであり、iSCSIはPDC-装置13のセクションと装置13-RDCのセクションとの両方に遠隔にてデータを記憶するためのプロトコルである)は、この装置13に用いることの可能なプロトコルのただ1つの例である。
図4は装置13の第2の可能なアーキテクチャーを示す。このバージョンでは、SCSIはなお記憶装置管理プロトコルであるが、遠隔にてデータを転送するためにファイバー・チャンネル・プロトコルが用いられる。
この態様では、ネットワークインターフェースは、ファイバー・チャンネル・ホスト・バス・アダプタ(HBA)により表され、このファイバー・チャンネル・ホスト・バス・アダプタ(HBA)は機能上の観点から図3に示される態様に関連するNIC及びiSCSIターゲット/イニシエータのセットを置換する。
しかし、ハイブリッドな解決策も可能であり、この解決策では、装置13により分離された2つのネットワークセクションに遠隔にてデータを記憶するために異なるプロトコルを用い、記憶装置の管理プロトコルとしてSCSIを利用しないか、又は、依然としてRDCが1より多くかつ様々な技術により管理される場合のようにより多くの通信技術を用いる。ハイブリッドな解決策はまた、図2のモジュール24により管理されるプロトコル類型に影響を与える。
この装置13は1組の機能又はモジュールを専用のアプリケーション又はネットワーク装置、例えばルータ、オプティカル/デジタル・クロス・コネクスト(ODXC)、FCスイッチなどに実装して実現できる。
再び図1を見ると、実行される操作が矢印で示されているが、以下においてどのようにディスク・ミラーリング・システム20が作用するか説明する。
以下において、用語「データブロック」は下記のものの論理的な集合を示す。
・RDCに記憶する情報(データ);
・宛先記憶装置システム上でのメモリ位置のアドレス又はアドレスセットのようなI/O操作属性;
・上記情報と共に記憶すべき追加データ属性。
処理システム10上で実行されているソフトウエアアプリケーションによって発せられたI/Oリクエスト1に続いて、主データセンターPDCにインストールされたミラーリングソフトウエア14がI/Oリクエスト1の複製2をローカルディスク11と装置13の両方に送る。
ローカルディスク11と一時保存装置13は、適当な肯定応答信号3をミラーリングソフトウエア14に送ることによってI/Oリクエスト2に応答し、次にこのミラーリングソフトウエア14は、対応する肯定応答信号4を上記処理システム10に送る。その後、この一時データ保存装置13は、データブロック5を回復データセンターのリモートディスク12に転送することを担当し、対応する肯定応答信号6を管理する。
よって、一時データ保存装置13の役割は以下の通りである。
- 上記ソフトウエアアプリケーションの通常の動作方法を妨害又は減速させないように、装置13におけるデータ項目の受信及び書き込みをアクノリッジする信号3をディスク・ミラーリング・ソフトウエア14を介してソフトウエアアプリケーションに戻すこと;
- リモートディスク12に転送すべきデータブロックを一時的に記憶すること;
- 非同期にてデータブロック5をリモートディスク12に転送すること。リモートディスク12でローカルディスク11のすべてのデータセットを再構成する。
主データセンターPDCと回復データセンターRDCとはそれぞれ、同じ機能を有し、この同じ機能とは、従来の単一ホップ・ディスク・ミラーリング技術を用いると共に、一時データ保存装置13の導入により通常の動作方法は変えず、実際には装置13がソフトウエアアプリケーションに対してトランスペアレントである場合に両方が有するであろう機能である。
この装置13は、主データセンターPDCと回復データセンターRDCの両方が同じ管理者(例えば企業)により運営されているネットワークにおいて適用できるか、又はRDCがストレージ・サービス・プロバイダSSPにより管理されると共に、主データセンターPDCがサービスプロバイダによるデータ複製サービスを購入する顧客企業により所有されているようなサービスシナリオにおいて適用できる。
また、同じ主データセンターPDCに接続された複数のクライアントは同じ一時保存装置13を共用してもよい。
一時データ保存装置13(図2)の操作及び対応するアーキテクチャー(図1)の操作に関する限り、3つの主モード(又は段階)が下記の通り特定できる。
1.セットアップ段階:すなわち、新しいクライアント/アプリケーションにサービスを行なうように装置13の一般的なアーキテクチャーを構成;
2.通常運転段階:デステージング処理を含み、I/Oコマンドをフィルタリングする;
3.故障イベントからの回復段階。
このセットアップ段階は、本発明による装置を新しいクライアント/アプリケーションが利用できるようにするのに必要なすべての操作を含んでおり、以下において説明する。下記の少なくとも2つの異なる工程を行なう。
a)PDC及びRDCに対してトランスペアレントな方法にて一時データ保存装置13を介してRDCに存在する物理的ボリュームディスクを利用可能にする工程;
b)あたかも同期ミラーリング技術がPDCとRDCとの間で実行されているように本発明の機能を使用可能にする工程。
セットアップ段階の工程a)に関する限り、新しいクライアントは、当業者には明らかなように、一時データ保存装置13のモジュール23を適切に構成することによりアクセスできるロジカルボリュームの画像を知る。
RDCに存在する物理的パーティションのロジカル画像である上記ロジカルボリュームに対し、上記ロジカルボリュームにアクセスするためにクライアントアプリケーションにより用いられる識別子が関連付けられる。特に、装置13内のボリュームのロジカル画像は、最終的な宛先からの否定応答を待つことなく誤った名宛人にエラーメッセージを送るのに有効である。
工程b)に関する限り、この工程b)は、クライアントアプリケーションがその構内に存在するディスクボリュームの同期画像(ローカルコピー)として装置13を介して遠隔の物理ディスクボリュームを使用できるように実現されるものであり、好ましい態様では、下記事項が行われる:
- ボリュームの一致したコピーがリモートサイトに転送され(第1の同期化);
- 記憶領域が装置13のキャッシュ・システム・モジュール27においてそのクライアントに対して確保され;
- 上記記憶領域が、クライアントによりアドレス指定されたボリュームの特徴を記述するコンフィギュレーションデータ(アドレス、ボリュームサイズ、ブロックサイズなどのセット)を参照し[このコンフィギュレーションデータはキャッシュ・システム・モジュール27の内部データベース27bに記憶されている];
- モジュール22内にて、クライアント・ミラーリング・ソフトウエアにより発せられたコマンドのフィルタリング処理が可能にされ、これらのコマンドの一部(例えばリモートディスクユニットのヘッドのクリーニング、ディスクのフォーマッティングなど)が一連のモジュール23〜26を介してRDCに送られ、他のコマンド(例えばデータの書き込み又はデータの読み出し)がインターセプトされてキャッシュ・システム・モジュール27に送られるようにされる。
- 新しいクライアントが許可され、キャッシュ・システム・モジュール27内の特定の記憶領域がそのクライアントに割り当てられたことが、キャッシュ制御ソフトウエア27aに知らされる。
セットアップ段階の後に通常運転段階に入る。この段階は下記の少なくとも2つの主プロセスを含む。
1.装置13のキャッシュに記憶されたデータをRDCに移動させるためのデステージング処理;
2.書き込み及び読み出し操作をインターセプトし、首尾一貫して装置13のキャッシュを管理するI/Oコマンドフィルタリング処理。
以下、図5A、5B及び5Cに関し、キャッシュ・システム・モジュール27についてのデステージング/書き込み/読み出し操作を制御する処理を詳細に説明する。
図5Aは、図2のキャッシュ制御ソフトウエア27a内で実行されるデステージング処理がどのように行われるのかを示すフローチャートである。
このキャッシュソフトウエア27aはまず、様々なクライアントに対応するキャッシュ記憶領域のすべてについて連続的なポーリングを実行し(工程101)、RDCにまだ送られていないデータブロックがキャッシュ27中に存在するか否かを調べる。
ポーラー(poller)によりキャッシュ中にデータブロックが特定された後、このプロセスはそれをRDCに送る前に最大設定可能時間(待ち時間)待つことができる。このポーリング期間、待ち時間、及び装置13とRDCとの間のネットワーク接続上にデータブロックを伝送するのに必要な時間(シリアル化時間)は、それらの合計が、好ましくは、安定して存在すべきキャッシュについて2つのデータブロック間の平均の到着間時間よりも小さくなければならないという制約の下、管理者により設定可能なパラメータである。
また、RDCへのデータブロックの転送は、データ・ブロック・デステージングの優先度を変更するため、例えば特定のクライアント又はアプリケーションを他より利するために(優先順位付け)、ユーザーの定めたポリシーに従うことができる。とにかく、この優先順位付けポリシーはデステージング遅延について上記考慮したことと矛盾してはならない。
RDCに転送しなければならないブロックはすべて、RDCに送られる(工程103)。
いったんデータブロックが送られたなら、前後関係上キャッシュ27から該データブロックは消去されないが、RDCにより発せられた肯定応答信号が、実際にデータブロックが間違いなくそこに到着したことを確認したときにのみ消去される(工程107)。
この状態で、データブロックは「デステージング中」として表され、RDCに転送されるべきデータブロックを選択するプロセスでは、「デステージング中」のデータブロックが既に「デステージング中」の別のデータブロックと同じアドレスを有することを避けるように注意する。これは、下で述べる書き込み処理との干渉を避けるために行われる。
実際、データの損失を防ぐために、データブロックは、RDCがキャッシュから送られたデータブロックを実際に記憶するまで、キャッシュ27に記憶されたままである。換言すれば、データブロックを装置13からRDCに転送している間、データの損失を防ぐ一種の配送制御が存在する。この制御は、図5Aにおいて、送出ブロック103の下に配置されたブロックにより表される。
いずれにせよ、装置23及び/又は24がなんらかの公知の種類の配送制御の機構を採用する場合、キャッシュにより採用されるものと調和させて干渉を避ける。
起こり得る状態を分析すると、データブロックは、
a)エラーなしでRDCに到着する;
b)RDCに到着するが間違っている;
c)RDCに到着しない。
上述の状態a)、b)及びc)を認識するために、キャッシュ制御ソフトウエア27aにおいて実行されるプロセスは下記の通りである。
- a)の場合、肯定応答信号ACK(工程111、下向きの矢印);
- b)の場合、否定応答信号NACK(工程111、右向きの矢印)、もしNACK信号がデータの遠隔転送に用いられるプロトコルにより正しく解釈され得るならば;
- 状態c)を認識するために、装置13とRDCとの間の往復時間の推定値よりも大きいタイムアウト遅延を設定する;いったんタイムアウト遅延を過ぎ(工程109)、肯定応答信号ACK又は否定応答信号NACKが到着しなかったなら(工程107、左向き矢印)、キャッシュ27により送られたデータブロックは失われたと考える。データブロックを送出すると、タイムアウト遅延が開始する(工程105)。肯定応答信号(工程111、下向き矢印)に続く制御ブロック111、115及び119では、上述の場合a)を管理し、制御ブロック111、113及び117は、場合b)を管理し、制御ブロック109によりタイムアウト遅延の制御を行いつつ、いったん所定のタイムアウト遅延が過ぎれば、データブロックがRDCにより受信されなかったものと見なす。
好ましい態様では、遠隔サイトとの接続において間違いのある/損失した連続ブロックの最大数NMAXを設定する。もしこの最大数NMAXに達したならば(工程117)、キャッシュ27は、クライアントに、ミラーリングサービスは中止されているので(工程121)更なる転送データをPDCからキャッシュに送出することを遅らせるように知らせる。
実際、RDCに届かないならば、キャッシュ27はクライアントによるデータをRDCに転送する可能性もなく、該データを受信し続けることになり、よってキャッシュ27は急激に過負荷になるであろう。
別の態様では、遠隔でのデータ転送に用いられるプロトコルでは否定応答信号NACKを与えず、間違いのあるデータブロックに対してもタイムアウト遅延の同じプロセスが適用される。すなわち、連続間違いブロックの所定数に達した後、ミラーリングサービスが停止される。
図2のモジュール22において実行されるI/Oコマンドフィルタリング処理では、
・PDCからRDCへのコマンドをインターセプトし;
・特定の使用プロトコルに基づいて1以上のPDU(プロトコル・データ・ユニット)を考慮して操作の種類(書き込み、読み出し、その他の操作)を識別する。
I/Oコマンドが書き込み及び読み出しとは異なる場合、装置13はそれらのコマンドをRDCに転送する。書き込み又は読み出しコマンドの場合、最初の工程はI/O操作のパラメータを抽出することからなる。
・書き込みコマンドの場合、これらのパラメータは例えばデータブロック全体であり、すなわち、記憶すべきデータ、操作属性(例えばメモリ位置のアドレス)及び追加データ属性である;
・読み出しコマンドの場合、データは取得されるので、パラメータは例えば操作属性だけである。
これらの操作は下記で説明するように行われる。
以下、図5Bに関し、図1のミラーリングソフトウエア14により発せられ、図1の装置13に転送される書き込みコマンドがキャッシュソフトウエア27aによってどのように管理されるかを説明する。
装置13内にて、ミラーリングソフトウエア14により発せられた書き込みコマンドは、図2のブロック22によりインターセプトされ、図5Bに記載のプロセスに従って分析される。
書き込みコマンドがキャッシュによりインターセプトされた後(工程151)、I/O操作の関連パラメータ(データブロック)が確認される(工程152)。
好ましい態様によると、キャッシュ27に書き込まれる関連のデータブロック及びキャッシュ内のそのステータスに対して、起こり得る4つの状態がある。当業者なら分かるように、状態の数はそれより少なくても多くてもよい。
特に、好ましい態様による状態は次の通りである。
- ケース1):リクエストされたアドレスを有するデータブロックがキャッシュ27中に存在しないなら(工程153)、そのクライアントに利用可能な新しいキャッシュ位置が用いられ、その新しい位置にデータブロックが書き込まれる(工程161);
- ケース2):リクエストされたアドレスを有するデータブロックが既にキャッシュ27中に存在し(工程153)、それが「デステージング中」でないならば、新しいデータブロックが既存の古いものに取って代る(工程157);
- ケース3):リクエストされたアドレスを有するデータブロックが既にキャッシュ27中に存在するが(工程153)、「デステージング中」である(工程155)、すなわち、システムが依然として保存データセンターRDCによる肯定応答信号を待っておりかつ、同じアドレスを有する第2のデータブロックがキャッシュ27中に存在しないならば(工程159)、データブロックが新しいキャッシュ位置に書き込まれる(工程161);
- ケース4):リクエストされたアドレスを有する2つのデータブロックがキャッシュ中に存在するならば(その一つが「デステージング中」であり、もう一方がそうでない)、新しいブロックが「デステージング中」でない既存のものに取って代る(工程157)。
いずれにせよ、データブロックの記録が完了した後に、書き込みプロセスは操作の成功をI/Oコマンドフィルター(図2のモジュール22)に知らせ、次にこのI/Oコマンドフィルターが、現在使用されているI/Oプロトコルにより要求されるACK信号をPDCのミラーリングソフトウエアに戻す。
データブロックが何らかの理由(例えばキャッシュに空き容量がない)でキャッシュに記録できないならば、ACKは戻されず、PDCによる更なる書き込みコマンドの送出が阻止され、それにより、キャッシュがその最大容量を超えていっぱいになること、及びデータブロックが失われることを防止する。
図5Cは、図2のキャッシュ制御ソフトウエア27aにおいて実行されるプロセスが、RDCのリモートディスクに対してミラーリングソフトウエアにより発せられ、よって図1の装置13に到達する読み出しコマンドをどのように管理するのかを示す。
データをキャッシュ27から読出すことはできるが、好ましくはキャッシュはRDCに取って代る役割を有さないことに留意されたい。
装置13内では、ミラーリングソフトウエア14により発せられた読み出しコマンドが、図2のブロック22によりインターセプトされ、図5Cに記載のプロセスにより分析される。この読み出しプロセスの管理では、更新データがキャッシュ27内にある場合(デステージング段階中又はそうでない)、又はデータがRDC内にのみある場合、図1の処理システム10内で動作しているソフトウエアアプリケーションが、更新されたデータをいつでも受信することを保証することに焦点が当てられる。
読み出しコマンドがキャッシュによりインターセプトされた後(工程201)、I/O操作の関連のパラメータ(例えばメモリ位置のアドレス)が確認される(工程202)。
好ましい態様によると、読出される関連のデータブロックに対して、4つの状態が与えられる。当業者なら分かるように、この状態の数はそれより少なくとて多くてもよい。
特に:
- ケース1):リクエストされたアドレスを有するデータブロックがキャッシュ27内に存在しないならば(工程203)、読み出し操作が図2のモジュール23〜26を介してRDCに送られる;
- ケース2):リクエストされたアドレスを有するデータブロックがキャッシュ内に存在すると共に(工程203)、「デステージング中」でないならば(工程205)、該データブロックがキャッシュから読み出され、データがPDCに戻される(工程207);
- ケース3):リクエストされたアドレスを有するデータブロックがキャッシュ内に存在するが(工程203)「デステージング中」であるなら(工程205)、すなわち、システムが依然としてRDCによる肯定応答信号を待っており、同じアドレスを有する第2のデータブロックがキャッシュ27内に存在しないならば(工程209)、読み出し操作で「デステージング中」のデータブロックのデータ内容を戻す(工程211);
- ケース4):リクエストされたアドレスを有する2つのデータブロックがキャッシュ内に存在すれば(そのうちの一方が「デステージング中」であり、もう一方がそうでない)、「デステージング中」のデータブロックのデータ内容が戻される(工程207)。
次に、故障イベントからの回復段階を図6に関して説明する。
図6は起こり得る故障の状態と、それに従って採用できるいくつかの対応を示す。特に、通常運転の初期状態(ブロック251)から、少なくとも2つの異常の類型を下記の通り考えることができる。
a)クライアントと一時データ保存装置13との間での接続故障、又は装置13自体の故障(ブロック253)、この場合、中間場所にある図2のキャッシュ27に書き込むことはできない;
b)装置13と回復データセンターRDCとの間の接続故障、又はRDC自体の故障。この場合、RDCにアクセスできない。
ケースa)について図6のフローチャートの左側の枝において詳細に説明する。下記事項が択一的に可能である。
- 本発明により同期転送が絶対的に要求される場合にはディスクミラーリングを中断する(工程257);
- 主データセンターのローカルディスクに一時的にデータを記憶し(工程265)、いったん接続が復旧したならキャッシュ27へのデータブロックの転送を終え、その結果RDCへの転送を完了する(工程267);
- 利用できないキャッシュをバイパスし、直接RDCにより非同期ミラーリングを行なう。
ケースb)について図6のフローチャートの右側の枝において詳細に説明する。下記の事項が可能である。
- キャッシュが十分な記憶容量を有し、利用できない時間がむしろ短いと推定されるならば、動作せず(工程261)、図5Aのデステージングプロセスを用いることによりRDC中のディスクを一致させるべく接続が復旧されるのを待っている間、トランザクションをキャッシュに記憶し続ける(工程269);
- 別法として、利用できない時間がむしろ長い場合にキャッシュを飽和させないように、キャッシュ内に存在するデータを代わりのサイトにコピーする(工程263)。
再び図3を参照すると、SCSIは記憶装置管理プロトコルであり、iSCSIはPDC-装置13のセクションと装置13-RDCのセクションとの両方に遠隔でデータを記憶するためのプロトコルであり、クライアントが装置13の使用を望む場合、開始段階中にiSCSIプロトコルを介してアクセスできるLVM内でロジカルボリュームの画像を受信する。
このボリューム(これはRDC内に存在する物理的パーティションに基づいたロジカル画像である)に対し、それへのアクセスのためにクライアントアプリケーションにより用いられるSCSI技術に従って特定のLUN(ロジカル・ユニット・ナンバー)が関連付けられる。
この時点で、クライアントアプリケーション(図1に示されるようにミラーリングソフトウエア14を介して装置13と相互作用する)は、iSCSI/SCSIプロトコルを介してRDCのリモートボリュームにアクセスできる。
この時まで、アプリケーションがリモートボリュームをPDCにおけるローカル・ボリューム・ディスクの同期画像として装置13を介して使用できるためには、下記事項が好ましい。
- ローカル・ボリューム・ディスクの一致したコピーがリモートサイトに転送される(最初の同期化);
- クライアントアプリケーションのLUNのために装置13のキャッシュ27に記憶領域が確保される;
- この記憶領域がコンフィギュレーションデータ(アドレス、ボリュームサイズ、ブロックサイズなどのセット)を参照して上記LUNボリュームの特徴を記述し、キャッシュ・システム・モジュール27の内部データベース27bに記憶される;
- モジュール22内で、クライアント・ミラーリング・ソフトウエアにより発せられたSCSIコマンドのフィルタリング処理を可能にし、その際に、これらのコマンドの一部は一連のモジュール23〜26を介して回復データセンターに送り、その他のコマンドはインターセプトしてキャッシュ・システム・モジュール27に送るようにする;
- キャッシュ制御ソフトウエア27aに、新しいクライアントが有効にされたこと、及びキャッシュ・システム・モジュール27内の特定の記憶領域とLUN記述子がこのクライアントに割り当てられたことが知らされる。
特に、SCSIプロトコルを用いることによるPDCからRDCへの書き込み操作は下記の4つの工程に分けることができる。
a)データブロック数Nを書き込むためイニシエータ装置が書き込みリクエストをターゲット装置に送る;
b)ターゲット装置が肯定応答信号をイニシエータ装置に送る;
c)肯定応答信号を受信した後、イニシエータがN個のデータブロックを送る;
d)N個のデータブロックの書き込みが成功したことをターゲット装置がアクノリッジする。
タスクb)及びd)は修正されたSCSIターゲット装置22により実行されなければならない。特に:
- 修正されたSCSIターゲットモジュール22は、主データセンターにおけるミラーリングアプリケーション(及びそれに結合されたSCSIイニシエータ)から所定数Nのデータブロックを書き込むための書き込みリクエストを受信する;
- モジュール22が書き込みコマンドをインターセプトし、書き込み操作であれば、このコマンドがキャッシュシステム27に関するものの一つであることを認識する。よって、キャッシュシステムがそれらのデータブロックを記憶できるか否かが検証される。それが肯定的な場合には、モジュール22はSCSI規格に従ってデータ・リクエスト・メッセージをミラーリングアプリケーションに送ることによって応答する;
- ミラーリングアプリケーションがN個のデータブロックを送る;
- モジュール22が上記データブロックの宛先アドレスを検索し、データを送出しているクライアントに専用のキャッシュ27の記憶領域にそれらを転送する。特に、モジュール22は、上記説明したことに従って、ボリューム内のデータ内容、アドレス、及びSCSIプロトコルの書き込みコマンドのヘッダーの重要な情報(DPO(Disable Page Output)、FUA(Force Unit Access)など)を、SCSIブロックから抽出し、キャッシュに記憶する;
- キャッシュソフトウエア27aは、デステージング処理を行なうこと、及び上述したように書き込みリクエストをRDCに送ることを担当する。
同様にして、読み出しコマンドもキャッシュ27によりインターセプトされる。というのは、否定的な場合には、依然としてキャッシュ27中に存在しているので更新されていないデータ項目をRDCから読み出すことができるからである。
よって、読み出しリクエストがモジュール22に到達すると、モジュール22はキャッシュ管理ソフトウエア27aを介して制御して図5Cに記載の手順に従ってブロックがキャッシュ中に存在しているか否かを調べる。
上記で説明したように、キャッシュサイズを大きくする必要はなく、逆に、本発明の利点は、キャッシュサイズをかなり小さく保つことができる点である。以下の説明では、代表的なネットワークパラメータを用いる場合にクライアント/アプリケーションに割り当てるのに必要なキャッシュサイズをいかにして概算するかを説明する。
この概算では、PDCから新しいデータブロック(1又は複数)の到着と、それらのRDCへの転送(デステージング)との間で装置13が平衡状態にて動作することが仮定される。この平衡状態は上述した書き込み及びデステージング処理により保証される。よって、この概算は装置13を計画し大きさを決めるのに有効なツールであるが、その安定的な動作のための必要条件ではない。
キャッシュ27と回復データセンターRDCとの間を移動中のデータブロックが失われず、又は間違いを含まないならば、そのデータブロックは、キャッシュとRDCとの間の往復時間にシリアル化時間を加えたものによって決められる時間間隔、すなわち肯定応答信号をRDCから受信するのに必要な時間間隔の間、キャッシュ27内にとどまる。上記肯定応答信号を受信した後は、このデータブロックはRDCに首尾よく記憶されたので、キャッシュ27からこのデータブロックを消去できる。
1つのクライアント/アプリケーションに対してキャッシュ内に存在する平均データブロック数の概算(PDC書き込み操作の結果として)は、例えば次式により求めることができる。
NCACHED=[(TRT2+TS)/(1/R)]+[TMAX/(1/R)]+[TRT1/(1/R)]
ここで、[]括弧は結果を上の整数に丸めることを示す(この式における種々のパラメータの意味は後で定義する)。パラメータ値の変動を考慮に入れるため適当なマージンだけインクリメントさせた平均ブロック数NCACHEDのこの概算は、1つのデータブロックのサイズを定めた装置13のキャッシュメモリの大きさを決めるために用いることができる。NCACHEDの上記式は3つの加算からなる。
- 第1の加算、[(TRT2+T)/(1/R)]は、キャッシュに到達しているブロック数を表しており、シリアル化時間(T)と、装置13とRDCとの間のネットワーク部分の往復時間(TRT2)と、2つの連続データブロック間の平均到着間時間を表す1/Rとの関数として求めることができる;
- 第2の加算、[TMAX/(1/R)]は、何らかの理由で特定の時間制限(タイムアウト)内にRDCに達しなかった「デステージング中」のブロック数を表す。これは、TMAX(結果として損失することになる最初のデータブロックについての装置13による受信間で経過した時間間隔を表す)と、装置13がタイムアウトイベントを管理する最後のブロックのタイムアウトとの関数として求めることができる。TMAXは例えば次式として求めることができる。
TMAX=TOUT+TS+(NMAX−1)・max(1/R,TS)
ここで、TOUTは装置13からRDCに送られる1ブロックについてのタイムアウト間隔を表す設定可能なパラメータであり、NMAXは装置13によりタイムアウトイベントが管理されるブロックの最大数を表す設定可能なパラメータである;
- 第3の加算、[TRT1/(1/R)]は、ディスク・ミラーリング・サービスが一時的に利用できないことをキャッシュがクライアントに知らせる前に、クライアントによりキャッシュに送られるブロック数を表す。ここで、TRT1はPDCと装置13との間のネットワーク部分の往復時間である。
出願人による実験において、上述した種類の式を適用することにより、1秒当たり数十のトランザクションを生成できる各クライアント/アプリケーションについて、キャッシュメモリのサイズが数百kB〜数MBの範囲にあることが分かった。
よって、本発明のアーキテクチャーを適用することにより、PDCに存在するすべてのデータセット(1又は複数)を中間場所で複製する必要がなく、またマルチホップアーキテクチャーとは反対に、ディスク記憶装置とそれに対応する維持費及び人件費を節約できる。
モジュール27、27a、27bに関与する可能な改良は、中間場所に位置しクライアントアプリケーションに関連したディスク記憶装置のどのゾーンを、アクセスの少ないゾーンに対して様々に扱うために特にしばしばアクセスするか個別化する(「ホットゾーン」として公知)。例えば、この「ホットゾーン」はそれらが安定状態にありかつ連続的でない場合にのみRDCに転送し得るので、装置13とRDCとの間のネットワーク区域においてかなりの帯域幅を節約できる。
次に、図7に関し、どのようにしてサービスプロバイダ(SP)が本発明を利用できるかを説明する。特に、本発明により、SPは同期ミラーリングサービスを提供できる領域の数を増すことができると同時に、RDCの数を制限できることに留意されたい。
上述したシナリオによると、このSPは、すべての都市圏に装置13を含んだサイトと、これらの都市圏から遠く離れた地理的領域に1又は複数のRDC12とを提供する。当業者には明らかなように、この装置13はスタンドアロン装置である必要はなく、ネットワーク装置中に一体化することもできる。
図8は災害/回復のシナリオにおける本発明の使用を説明しており、特に、クライアントディスクが故障し(工程301)実際の回復プロセスを始動する際に実行すべき操作を説明する。この回復プロセスは様々な方法により行なうことができるが、すべての前に、キャッシュに今なお記憶されれているデータを用いてRDCディスクの再調整を行なわなければならない(工程303及び305)(デステージング)。この更新は、他のクライアントのデータに対して優先度を有するような回復プロセスを必要とするクライアントデータの「マーキング」プロセス(工程305)により行なうか、又はRDCへの通常の転送動作を続けるように故障状況が存在することを中間場所に無視させることによって行なうことができる。
クライアントのデータとアプリケーションを復元するためのこの主要な代案は次の通りである。
- RDCへのデステージングの後に利用可能なデータを利用することにより、RDCにてクライアントアプリケーションを再開できる(標準的な災害/回復アプローチ)(307);
- 場合によっては高ビットレートの代わりの接続を起動することにより、RDCにおける複製からPDCでの新しいディスク上のクライアントデータを修復し;
- 主ディスクとしてRDCデータへのアクセスを一時的に可能にする。
災害/回復ステータスの後、クライアントPDCが修復され(309)、故障から影響を受けたクライアントに対して新しいセットアップ段階(311)を開始して同期ミラーリング複製を再び実施できる。
さらに、本発明により、同期データ複製サービスをサポートするために元のネットワークサービスを実施できる。ネットワークサービスの顧客のプロフィールは、本質的に第1場所から第2場所(第1場所からかなりの距離(数百キロメートル)離れている)に同期して情報を複製しようとする対象者のプロフィールであり、この対象者は、第1場所と第2場所との中間距離に位置する場所を利用できないか、又は中間の記憶装置を管理することを欲していない。
このようなニーズをもった顧客は、同期ミラーリング技術を用いて自分自身のデータを保護することを望んでいる企業(「小売り客」)か、又は災害回復及び/又はビジネス継続サービスをその最終顧客に提供しようとしているサービスプロバイダSP(「卸売客」)であり得る。
この特定のネットワークサービスは「長距離の同期ミラーリング加速」として定義できる。実際、このサービスにより装置13により戻される肯定応答信号のおかげで、クライアントアプリケーションの観点から、データ項目のローカルコピーとその遠隔コピーとの間での同期複製は、まるでこれら2場所間の距離が実際の距離よりも短くなったように行われる。
このことにより同期ミラーリングを実行することが可能となり、このことは、2つの場所間の実際の距離がアプリケーションを停止して肯定応答信号を待っている間の時間に影響を与えることなく、すなわちその性能に影響を与えることなく、前のデータ項目の書き込みの成功についての肯定応答信号を受信するまでデータの生成を停止することを意味する。
このサービスはクライアントに対して完全にトランスペアレントであり、このことは、クライアントが同期ミラーリングの標準的な構成に関してそのシステム及びその操作方法を変更しないことを意味する。
図9にサービスアーキテクチャーを示す。PDCとRDCとにデータの2つのコピーが記憶される。これら2つのサイトは、最終顧客及び/又はSPにより運営されるので、加速サービスを提供する回線業者により運営されない。図9は、加速サービスの境界と回線業者の運営する要素、すなわちネットワークインフラストラクチャー、例えば都市圏ネットワーク(MAN)や広域ネットワーク(WAN)、及び中間場所にある装置13(例えば回線業者の大都市交換機)を示す。
さらに、図9及び10はサービスの主な特徴を示し、特に:
- L1及びL2は、災害から保護される2つの領域を分ける。外延がL1より小さいイベント(災害領域A1)、すなわち装置13に関与しないイベントでは、本サービスは1トランザクションに等しいRPOを保証し;外延がL2より小さく(災害領域A2)かつL1より大きい災害では、本サービスは、場合により失われるデータを、災害が起こったときキャッシュデステージングポリシーに依存してせいぜい装置13により移動中のものとする;
- Tl及びT2はそれぞれ、書き込みの肯定応答が行われる最大時間間隔、及びデータ項目のコピーがRDCでも完了する最大時間間隔を示す。
4つのパラメータLl、L2、Tl、T2に基づいて、サービスについての顧客とのサービスレベル合意書SLAが定められる。特に、災害が災害領域A2に影響を与える場合、失われたトランザクションの数は最大時間間隔T2中にクライアントアプリケーションにより生成されたトランザクションに等しいことに留意されたい。
要するに、このサービスは下記のものを与える。
- 従来の同期ミラーリング技術の固有時間よりも小さい固定制限時間T1内での遠隔コピーコマンドの肯定応答。例えばT1<0.5ms;
- ローカル又は隣接の同期ミラーリング技術の場合に許容される最大距離よりもさらに大きい遠隔コピーの距離L2。例えばL2>>50km;
- 最大間隔時間T2内にリモートディスクにおいて利用可能なデータ項目のコピー。これは、広域ネットワークWAN上に割り当てられた帯域幅とデステージングポリシーとに依存して、距離L2をカバーするための全体の伝搬時間に非常に近くできる;
- 範囲がL1より小さい災害の場合での最大でも1つのトランザクションの喪失の保証、及びL1<R<L2の範囲の故障の場合での時間間隔T2中に生成される最大限のトランザクションの喪失の保証。
図11は卸売の様式で回線業者により提供される加速サービスを説明する。主な特徴は次の通りである。
- 回線業者が所有する交換機内で都市圏ネットワークMANの装置13の転位;
- 本サービスは回線業者により様々なサービスプロバイダSPに提供され、サービスプロバイダSPがその最終の顧客に災害回復のサービスを提供する。図10では、SPとそのそれぞれの顧客が枠内の同じハッチングにより識別される;
- 回線業者により提供されるサービスの境界(一点鎖線)が、プロバイダの限界サイトから最終顧客のサイトまで延びている。
本発明は、大多数のアプリケーションに対して同時性を保証するようなPDCからの距離に記憶中間場所を挿入すること、及び反対側では(PDCとRDCの両方を損傷する)二重の故障の危険性を最小にすると共に記憶された情報の可用性を高めるためにPDCから非常に離れた距離にRDCを配置することにより、PDCとRDCとの間での同期ミラーリング式データ複製における距離の限界の問題を解決する。
実際に好ましい態様について本発明を説明してきたが、当業者には明らかなように、本発明の範囲内で他の応用や変更が広く行われ得る。
災害回復のシナリオは本発明の可能な使用法や目的の単なる一例である。本発明はそれ自体では、第1場所にある所定のデータボリュームを、クライアントアプリケーションに対して同期式に、第1場所から地理的に非常に遠く離れててよい第2場所にコピーすることに留意されたい。遠く離れて記憶したデータについての回復及び/又は使用を提供するサービスとは異なる他のサービス形態でもこの機能を利用できる。
本発明によるディスク・ミラーリング・システムのブロック図である。 本発明による装置のブロック図である。 図2の装置の第1の態様のブロック図である。 図2の装置の第2の態様のブロック図である。 図2の装置により実行されるデステージングのフローチャートである。 図2の装置により実行される書き込みのフローチャートである。 図2の装置により実行される読み出し手順のフローチャートである。 図1のディスク・ミラーリング・システムの起こり得る故障状態を示すフローチャートである。 ストレージ・サービス・プロバイダが本発明によりミラーリングサービスを実行し得るシナリオを概略的に説明する。 クライアントシステムの起こり得る故障状態を示すフローチャートである。 本発明によるミラーリングサービスの特徴的パラメータが示されたネットワークを表す。 本発明によるミラーリングサービスの特徴的パラメータが示されたネットワークを表す。 ミラーリングサービスが大規模に提供されているネットワークを示す。
符号の説明
10 処理システム又はクライアントシステム
11 ローカルディスク
12 リモート・ディスク・ユニット
13 一時データ保存装置
14 ミラーリングソフトウエア

Claims (34)

  1. 通信網を介してデータセットを更新するためのシステムであって、前記データセットは回復データセンター(RDC)内に置かれた回復記憶装置(12)に記憶されると共に、主データセンター(PDC)に接続された少なくとも1つの処理システム(10)により生成された入力データブロックを用いて更新されなければならない前記システムにおいて、
    - 前記通信網を介して前記主データセンター(PDC)と前記回復データセンター(RDC)との間に配置され、一時記憶領域(27)に接続された装置(13)であって、対応する記憶場所に前記処理システム(10)により生成された前記入力データブロックを一時的に書き込み、かつ前記データブロックを前記回復データセンター(RDC)に転送する前記装置(13)を備え、前記装置(13)は、
    - 前記データブロックが前記一時記憶領域(27)に書き込まれるとすぐに、前記データブロックの前記一時記憶領域(27)への書き込みが成功したことをアクノリッジする第1の同期肯定応答信号(3)を前記主データセンター(PDC)に送り、
    - 前記データブロックの転送後に、前記データセットの更新が成功したことをアクノリッジする前記回復データセンター(RDC)により送られた第2の肯定応答信号(6)を受信し管理し、
    - 前記第2の肯定応答信号(6)の受信後に新しい入力データブロックに対して前記一時記憶領域(27)の場所を利用可能にする、
    モジュールを備えることを特徴とするシステム。
  2. 前記処理システム(10)は前記データセットのコピーが記憶される主記憶装置(11)に接続されることを特徴とする請求項1に記載のシステム。
  3. 前記一時記憶領域(27)の記憶容量が、前記主記憶装置(11)と前記回復記憶装置(12)の両方の記憶容量よりも小さいことを特徴とする請求項2に記載のシステム。
  4. 前記装置(13)と前記主データセンター(PDC)との距離が前記装置(13)と前記回復データセンター(RDC)との距離より短いことを特徴とする請求項1に記載のシステム。
  5. 前記装置が、前記データブロックを前記一時記憶領域(27)において前記主データセンター(PDC)により要求されたアドレスに、下記条件、すなわち、
    - リクエストされたアドレスにてデータブロックが前記記憶領域に書き込まれていないならば、前記データブロックを前記記憶領域(27)に書き込み;
    - リクエストされたアドレスにてデータブロックが記憶領域に既に書き込まれているが、前記データブロックが転送されていないならば、前のデータブロックを置換することにより前記データブロックを前記記憶領域(27)に書き込み;
    - リクエストされたアドレスにてデータブロックが記憶領域(27)に既に書き込まれ、転送されているが、前記回復データセンター(RDC)から肯定応答を受信していないならば、前記データブロックを前記記憶領域(27)の新しい場所に書き込む、
    なる条件を満たすように書き込むモジュールを更に備えることを特徴とする請求項1に記載のシステム。
  6. 前記通信網がiSCSI型プロトコルとファイバー・チャンネル型プロトコルとからなる群から選択された少なくとも1つのプロトコルを含むことを特徴とする請求項1に記載のシステム。
  7. 前記装置(13)が、
    - 前記装置(13)を前記主データセンター(PDC)及び前記回復データセンター(RDC)にそれぞれインターフェースするためのインターフェースモジュール(20、26)と;
    - 前記主データセンター(PDC)により送られたI/Oコマンドをインターセプトすると共に、前記データブロックを一時的に記憶する前記一時記憶領域(27)又は前記回復データセンター(RDC)に前記コマンドを選択的に送るためのフィルターモジュール(22)と;
    - 前記主データセンター(PDC)から前記データブロックとそれらの相対アドレスパラメータを受信し、前記回復記憶装置(12)の管理のために確保されたコマンド内部に前記データブロックをカプセル化し、それらを前記回復データセンター(RDC)に転送するための制御モジュール(24、25)と、
    を備えることを特徴とする請求項1に記載のシステム。
  8. 前記装置(13)が、
    - ネットワーク・インターフェース・カード(NIC)と;
    - 前記ネットワーク・インターフェース・カード(NIC)の下流に配置されたiSCSIターゲット装置(21)と;
    - 前記iSCSIターゲット装置(21)の下流に配置された修正されたSCSIターゲット装置(22)と;
    - 前記修正されたiSCSIターゲット装置(22)に接続されたキャッシュシステム(27)と;
    - 前記修正されたSCSIターゲット装置(22)の下流に配置されたロジカル・ボリューム・マネージャーすなわちLVM装置(23)と;
    - 前記ロジカル・ボリューム・マネージャー装置(23)の下流に配置されたネイティブSCSIサブシステム(24)と;
    - 前記SCSIサブシステム(24)の下流に配置されたiSCSIイニシエータ装置(25)と;
    - 前記回復データセンター(12)に対する別のネットワーク・インターフェース・カード(NIC)と、
    を備えることを特徴とする請求項1に記載のシステム。
  9. 前記装置(13)が、
    - 前記主データセンター(PDC)に対するホスト・バス・アダプタ(HBA)と;
    - 前記ホスト・バス・アダプタ(HBA)の下流に配置された修正されたSCSIターゲット装置(22)と;
    - 前記修正されたSCSIターゲット装置(22)に接続されたキャッシュシステム(27)と;
    - 前記修正されたSCSIターゲット装置(22)の下流に配置されたロジカル・ボリューム・マネージャーすなわちLVM装置(23)と;
    - 前記ロジカル・ボリューム・マネージャー装置(23)の下流に配置されたSCSIサブシステム(24)と、
    - 前記回復記憶装置(12)に対する別のホスト・バス・アダプタ(HBA)と、
    を備えることを特徴とする請求項7に記載のシステム。
  10. 前記データブロックを一時的に記憶するための前記装置(13)が、前記通信網に接続されたネットワーク装置からなることを特徴とする請求項1〜9のいずれか一項に記載のシステム。
  11. 前記記憶装置(11、12)がディスク記憶装置であることを特徴とする請求項1〜10のいずれか一項に記載のシステム。
  12. 前記一時記憶領域(27)が複数の処理システム(10)及び/又は複数の主データセンター(PDC)に対してそれぞれ専用の複数の記憶領域を備えることを特徴とする請求項1〜11のいずれか一項に記載のシステム。
  13. 通信網を介してデータセットを更新するための方法であって、前記データセットは回復データセンター(RDC)内に置かれた回復記憶装置(12)に記憶されると共に、主データセンター(PDC)に接続された少なくとも1つの処理システム(10)により生成された入力データブロックを用いて更新されなければならない前記方法において、
    - 前記処理システム(10)により生成された前記入力データブロックを、前記主データセンター(PDC)と前記回復データセンター(RDC)との間に配置された装置(13)に接続された一時記憶領域(27)の対応する記憶場所に前記通信網を介して一時的に書き込む工程;
    - 前記データブロックが前記記憶領域(27)に書き込まれるとすぐ、前記装置(13)により前記通信網を介して、前記データブロックの前記一時記憶領域(27)への書き込みが成功したことをアクノリッジする第1の同期肯定応答信号(3)を前記主データセンター(PDC)に与える工程;
    - 前記装置により前記通信網を介して前記データブロックを前記回復データセンター(RDC)に転送する工程;
    - 前記装置により前記通信網を介して、前記回復データセンター(RDC)への前記データセットの更新が成功したことをアクノリッジする第2の肯定応答信号(6)を受信し管理する工程;及び
    - 前記第2の肯定応答信号(6)の受信後に、新しい入力データブロックに対して前記一時記憶領域(27)の前記場所を利用できるようにする工程、
    を含む方法。
  14. - 前記データセットを前記処理システム(10)に接続された主記憶装置(11)に記憶する工程、
    を含むことを特徴とする請求項13に記載の方法。
  15. 入力データブロックを前記装置(13)に一時的に書き込む前記工程が、
    - リクエストされたアドレスにてデータブロックが記憶領域に書き込まれていないならば、前記データブロックを前記記憶領域(27)に書き込む工程と;
    - リクエストされたアドレスにてデータブロックが記憶領域に既に書き込まれているが、前記データブロックが転送されていないならば、前のデータブロックを置換することにより前記データブロックを前記記憶領域(27)に書き込む工程と;
    - リクエストされたアドレスにてデータブロックが記憶領域(27)に既に書き込まれ、転送されているが、前記回復データセンター(RDC)から肯定応答を受信していないならば、前記データブロックを前記記憶領域(27)の新しい場所に書き込む工程と、
    からなることを特徴とする請求項13に記載の方法。
  16. 前記入力データブロックを前記記憶領域(27)に一時的に書き込む前記工程が、
    - リクエストされたアドレスにてデータブロックが前記記憶領域(27)に二回記憶されているならば、まだ転送されていないデータブロックを置換することにより書き込む工程、
    をさらに含むことを特徴とする請求項15に記載の方法。
  17. 前記データブロックを前記装置(13)から前記回復データセンター(RDC)に転送する前記工程が、
    - 前記回復データセンター(RDC)に転送するデータブロックが存在するか否かを調べるために、前記装置(13)に接続された前記記憶領域(27)をポーリングする工程と;
    - 転送するデータブロックを前記回復データセンター(RDC)に送ると同時に、所定のタイムアウト遅延を有するタイマーをスタートさせる工程と;
    を含み、
    前記第2の肯定応答信号を受信し管理する前記工程が、
    - 前記タイムアウト遅延が経過したか否かを調べる工程と;
    - 前記タイムアウトが経過したならば、失われたデータブロックを表すカウンタをインクリメントする工程と;
    - 失われたデータブロックの前記カウンタが所定の値に達したならば、前記装置(13)へのデータブロックの更なる伝送をロックするためにアラートを主データセンター(PDC)に送る工程と、
    を含むことを特徴とする請求項13に記載の方法。
  18. 前記第2の肯定応答信号を受信し管理する前記工程が、前記データブロックが回復データセンター(RDC)に到着したが破損していることを示す否定応答信号(NACK)を管理する工程を含むことを特徴とする請求項17に記載の方法。
  19. 前記タイムアウト遅延が、前記装置(13)から送られて前記回復記憶装置(12)が受信するデータブロックの往復時間よりも大きい値に設定されることを特徴とする請求項17に記載の方法。
  20. - リクエストされたアドレスにてデータブロックが前記一時記憶領域(27)に記憶されていないならば、前記装置(13)により回復されたデータブロックを前記回復データセンター(RDC)にリクエストする工程と;
    - リクエストされたアドレスにてデータブロックが前記記憶領域に記憶されかつ回復データセンター(RDC)への転送工程が行われていないならば、回復されたデータブロックを一時記憶領域(27)から読み出す工程と;
    - リクエストされたアドレスにてデータブロックが前記一時記憶領域に記憶されかつそれらが回復データセンター(RDC)に転送されているならば、回復されたデータブロックを一時記憶領域(27)から読み出す工程と;
    - 前記主データセンター(PDC)のリクエストに応じて、前の工程の少なくとも1つを介して前記装置(13)により前記主データセンター(PDC)に対し前記回復されたデータブロックを回復する工程と、
    を更に含むことで、主データセンター(PDC)のデータブロックを回復するためのプロセスが提供されることを特徴とする請求項13に記載の方法。
  21. 通信網を介してデータセットを更新するための装置であって、前記装置は対応する記憶場所に主データセンター(PDC)に接続された処理システム(10)により生成された入力データブロックを一時的に書き込むため、かつ前記データブロックを回復データセンター(RDC)内に置かれた回復記憶装置(12)に転送するために記憶領域(27)に接続され、前記装置は、
    - 前記データブロックが前記一時記憶領域(27)に書き込まれるとすぐ、前記一時記憶領域(27)への前記データブロックの書き込みが成功したことをアクノリッジする第1の同期肯定応答信号(3)を前記通信網を介して前記主データセンター(PDC)に送り、
    - 前記データブロックの転送後に、前記データセットの更新が成功したことをアクノリッジする前記回復データセンター(RDC)により送られた第2の肯定応答信号(6)を前記通信網を介して受信し管理し、
    - 前記第2の肯定応答信号(6)の受信後に、新しい入力データブロックに対して前記一時記憶領域(27)の前記場所を利用できるようにする、
    モジュールを備えることを特徴とする装置。
  22. 前記処理システム(10)が、前記データセットのコピーが記憶される主記憶装置(11)に接続されることを特徴とする請求項21に記載の装置。
  23. 前記装置(13)と前記主データセンター(PDC)との距離が、前記装置(13)と前記回復データセンター(RDC)との距離より短いことを特徴とする請求項21に記載の装置。
  24. SCSI型プロトコル、iSCSI型プロトコル、ファイバーチャンネル型プロトコルからなる群から選択された少なくとも1つのプロトコルをインターフェースするモジュールを備えることを特徴とする請求項21に記載の装置。
  25. 前記装置が、
    - 前記装置(13)を前記主データセンター(PDC)及び前記回復データセンター(RDC)に対してそれぞれインターフェースするためのインターフェースモジュール(20、26)と;
    - データが関連付けられているI/Oコマンドをインターセプトするため、及び前記コマンドを、前記ブロックを一時的に記憶するための記憶領域(27)に送るか又は前記回復記憶装置(12)に送るかを決定するためのフィルターモジュール(21、22)と;
    - 前記データブロックとそれらの相対アドレスパラメータとを受信し、それらを前記回復記憶装置(12)の管理のために確保されたコマンド内部にカプセル化し、前記回復データセンター(RDC)に送るための制御モジュール(24、25)と、
    を備えることを特徴とする請求項21に記載の装置。
  26. 前記装置が、
    - 前記主データセンター(PDC)に対するネットワーク・インターフェース・カード(NIC)と;
    - 前記ネットワーク・インターフェース・カード(NIC)又はホスト・バス・アダプタ(HBA)の下流に配置されたiSCSIターゲット装置(21)と;
    - 前記iSCSIターゲット装置(21)の下流に配置された修正されたSCSIターゲット装置(22)と;
    - 前記修正されたSCSIターゲット装置(22)に接続されたキャッシュシステム(27)と;
    - 前記修正されたSCSIターゲット装置(22)の下流に配置されたロジカル・ボリューム・マネージャーすなわちLVM装置(23)と;
    - 前記ロジカル・ボリューム・マネージャー装置(23)の下流に配置されたネイティブSCSIサブシステム(24)と;
    - 前記SCSIサブシステム(24)の下流に配置されたiSCSIイニシエータ装置(25)と;
    - 前記回復データセンター(RDC)に対する別のネットワーク・インターフェース・カード(NIC)又はホスト・バス・アダプタ(HBA)と、
    を備えることを特徴とする請求項21に記載の装置。
  27. 前記装置が、
    - 前記主データセンター(PDC)に対するホスト・バス・アダプタ(HBA)と;
    - 前記ホスト・バス・アダプタ(20)の下流に配置された修正されたSCSIターゲット装置(22)と;
    - 前記修正されたSCSIターゲット装置(22)に接続されたキャッシュシステム(27)と;
    - 前記修正されたSCSIターゲット装置(22)の下流に配置されたロジカル・ボリューム・マネージャーすなわちLVM装置(23)と;
    - 前記ロジカル・ボリューム・マネージャー装置(23)の下流に配置されたSCSIサブシステム(24)と;
    - 前記回復データセンター(RDC)に対する別のホスト・バス・アダプタ(HBA)と、
    を備えることを特徴とする請求項21に記載の装置。
  28. 前記LVM装置がソフトウエア仮想化装置と置換されることを特徴とする請求項26又は27に記載の装置。
  29. 前記装置(13)が前記通信網に接続されたネットワーク装置からなることを特徴とする請求項21に記載の装置。
  30. 請求項1〜12のいずれか一項に記載のデータセットの更新システムに接続された通信網。
  31. 請求項13〜20のいずれか一項に記載の方法を実行するソフトウエアコード部分を含んだ、少なくとも1つの電子計算機のメモリにロードできるコンピュータプログラムプロダクト。
  32. 通信網を介してデータセットを更新するために同期ミラーリングサービスを提供する方法であって、前記データセットは回復データセンター(RDC)内に置かれた回復記憶装置(12)に記憶されると共に、主データセンター(PDC)に接続された少なくとも1つのクライアントシステム(10)により生成されたデータブロックを用いて更新されなければならない方法において、
    - 前記通信網を介して前記少なくとも1つのクライアントシステム(10)により生成された入力データブロックを、前記主データセンター(PDC)と前記回復データセンター(RDC)との間に配置された装置(13)に接続された一時記憶領域(27)の対応する記憶場所に一時的に書き込む工程;
    - 前記データブロックが前記記憶領域(27)に書き込まれるとすぐに、前記装置(13)により前記通信網を介して、前記一時記憶領域(27)への前記データブロックの書き込みが成功したことをアクノリッジする第1の同期肯定応答信号(3)を前記主データセンター(PDC)に与える工程;
    - 前記装置により前記通信網を介して前記データブロックを前記回復データセンター(RDC)に転送する工程;
    - 前記装置により前記通信網を介して、前記回復データセンター(RDC)への前記データセットの更新が成功したことをアクノリッジする第2の肯定応答信号(6)を受信し管理する工程;及び
    - 前記第2の肯定応答信号(6)の受信後に、新しい入力データブロックに対して前記一時記憶領域(27)の前記場所を利用できるようにする工程、
    を含むことを特徴とする方法。
  33. - 前記複数の主データセンター(PDC)に接続された夫々のクライアントシステムにより生成された夫々のデータブロックを一時的に書き込むために、複数の主データセンター(PDC)を都市圏型ネットワーク(MAN)中に配置された前記装置(13)に接続する工程と;
    - 前記都市圏型ネットワーク(MAN)を広域型ネットワーク(WAN)に接続する工程と;
    - 前記夫々のデータブロックを前記装置(13)から前記広域型ネットワーク(WAN)を介して前記回復データセンター(RDC)に転送する工程と、
    を更に含むことを特徴とする請求項32に記載の同期ミラーリングサービスを提供する方法。
  34. - クライアントシステム(10)が故障した場合に、他のクライアントシステムの夫々のデータブロックに対して、前記夫々のデータブロックを前記装置(13)から前記広域型ネットワーク(WAN)を介して前記回復データセンター(RDC)に転送している間に優先度を評価する工程、
    を更に含むことを特徴とする請求項33に記載の同期ミラーリングサービスを提供する方法。
JP2007525173A 2004-08-12 2004-08-12 通信網を介してデータセットを更新するためのシステム、方法及び装置 Expired - Fee Related JP4902538B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/009047 WO2006015612A1 (en) 2004-08-12 2004-08-12 A system, a method and a device for updating a data set through a communication network

Publications (2)

Publication Number Publication Date
JP2008509489A true JP2008509489A (ja) 2008-03-27
JP4902538B2 JP4902538B2 (ja) 2012-03-21

Family

ID=34958231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007525173A Expired - Fee Related JP4902538B2 (ja) 2004-08-12 2004-08-12 通信網を介してデータセットを更新するためのシステム、方法及び装置

Country Status (9)

Country Link
US (1) US7987154B2 (ja)
EP (1) EP1776638B1 (ja)
JP (1) JP4902538B2 (ja)
KR (1) KR101200453B1 (ja)
CN (1) CN101031889B (ja)
AT (1) ATE414949T1 (ja)
DE (1) DE602004017913D1 (ja)
ES (1) ES2318300T3 (ja)
WO (1) WO2006015612A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109416670A (zh) * 2016-07-22 2019-03-01 英特尔公司 用于执行部分同步的写入的技术

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549080B1 (en) 2002-08-27 2009-06-16 At&T Corp Asymmetric data mirroring
US20080140798A1 (en) * 2006-12-08 2008-06-12 Aten International Co., Ltd. Storage adapter and method thereof
US8234327B2 (en) * 2007-03-30 2012-07-31 Netapp, Inc. System and method for bandwidth optimization in a network storage environment
US8135838B2 (en) 2008-04-08 2012-03-13 Geminare Incorporated System and method for providing data and application continuity in a computer system
US8959182B1 (en) * 2008-04-15 2015-02-17 Crimson Corporation Systems and methods for computer data recovery and destruction
KR101024249B1 (ko) * 2008-05-28 2011-03-29 매크로임팩트 주식회사 실시간 데이터 복제 시스템
US8364636B2 (en) * 2009-09-14 2013-01-29 International Business Machines Corporation Real time data replication
KR101587995B1 (ko) * 2009-10-28 2016-01-22 삼성전자주식회사 적응적 로깅 장치 및 방법
JP5480908B2 (ja) * 2010-01-22 2014-04-23 パナソニック株式会社 電力収集装置、電力計測装置及び電力収集方法
CN101877653A (zh) * 2010-06-29 2010-11-03 中兴通讯股份有限公司 告警变化信息是否丢失的判定方法、系统及主控板
US9223583B2 (en) * 2010-12-17 2015-12-29 Oracle International Corporation Proactive token renewal and management in secure conversations
US9047126B2 (en) * 2011-04-06 2015-06-02 International Business Machines Corporation Continuous availability between sites at unlimited distances
US9058304B2 (en) * 2011-06-30 2015-06-16 International Business Machines Corporation Continuous workload availability between sites at unlimited distances
US9641449B2 (en) * 2012-05-22 2017-05-02 International Business Machines Corporation Variable configurations for workload distribution across multiple sites
CN103678163B (zh) * 2012-09-18 2017-11-10 腾讯科技(深圳)有限公司 数据流的切换方法、装置及系统
US9104607B2 (en) * 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
CN103118073B (zh) * 2013-01-08 2015-07-22 华中科技大学 一种云环境下虚拟机数据持久化存储系统和方法
CN107357536B (zh) * 2017-07-28 2020-07-07 郑州云海信息技术有限公司 分布式存储系统数据修改写方法及系统
US11061924B2 (en) * 2017-11-22 2021-07-13 Amazon Technologies, Inc. Multi-region, multi-master replication of database tables
CN113704212A (zh) * 2020-05-22 2021-11-26 深信服科技股份有限公司 服务器的数据同步方法、装置、设备及计算机存储介质
CN111752764A (zh) * 2020-08-31 2020-10-09 湖南康通电子股份有限公司 一种数据分布方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005370A (ja) * 2002-04-26 2004-01-08 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
JP2004086721A (ja) * 2002-08-28 2004-03-18 Nec Corp データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574950A (en) * 1994-03-01 1996-11-12 International Business Machines Corporation Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
JPH10207754A (ja) * 1997-01-16 1998-08-07 Fujitsu Ltd 更新系データベースの複製方式
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6192481B1 (en) * 1998-08-18 2001-02-20 International Business Machines Corporation Structure and method for power sequencing of disk drives in a computer system
KR100523684B1 (ko) * 2000-03-23 2005-10-26 미쓰비시덴키 가부시키가이샤 화상 검색 분배 시스템 및 화상 검색 분배 방법
US20040233910A1 (en) 2001-02-23 2004-11-25 Wen-Shyen Chen Storage area network using a data communication protocol
US20040006587A1 (en) * 2002-07-02 2004-01-08 Dell Products L.P. Information handling system and method for clustering with internal cross coupled storage
US7134044B2 (en) * 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
CN1497458A (zh) * 2002-10-15 2004-05-19 松下电器产业株式会社 网络数据发送系统
US20040146185A1 (en) * 2002-11-14 2004-07-29 Blair Forrest K. Apparatus, system, and method for creating an electronic description of a geographic site
JP2005267609A (ja) * 2004-02-20 2005-09-29 Fuji Photo Film Co Ltd デジタル図鑑システム、図鑑検索方法、及び図鑑検索プログラム
US7395265B2 (en) * 2004-08-27 2008-07-01 Hitachi, Ltd. Data processing system and storage subsystem provided in data processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
JP2004005370A (ja) * 2002-04-26 2004-01-08 Hitachi Ltd 記憶装置システムの制御方法および記憶制御装置
JP2004086721A (ja) * 2002-08-28 2004-03-18 Nec Corp データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109416670A (zh) * 2016-07-22 2019-03-01 英特尔公司 用于执行部分同步的写入的技术
CN109416670B (zh) * 2016-07-22 2024-03-26 英特尔公司 用于执行部分同步的写入的技术

Also Published As

Publication number Publication date
DE602004017913D1 (de) 2009-01-02
JP4902538B2 (ja) 2012-03-21
KR101200453B1 (ko) 2012-11-12
WO2006015612A1 (en) 2006-02-16
ATE414949T1 (de) 2008-12-15
EP1776638B1 (en) 2008-11-19
CN101031889A (zh) 2007-09-05
US20070255766A1 (en) 2007-11-01
WO2006015612A8 (en) 2006-05-11
EP1776638A1 (en) 2007-04-25
US7987154B2 (en) 2011-07-26
CN101031889B (zh) 2011-06-08
ES2318300T3 (es) 2009-05-01
KR20070059095A (ko) 2007-06-11

Similar Documents

Publication Publication Date Title
JP4902538B2 (ja) 通信網を介してデータセットを更新するためのシステム、方法及び装置
US6282610B1 (en) Storage controller providing store-and-forward mechanism in distributed data storage system
JP4236049B2 (ja) データのミラー・コピーを提供するための方法、システム、およびプログラム
EP1796004B1 (en) Storage system and data processing system
US7043665B2 (en) Method, system, and program for handling a failover to a remote storage location
US7467168B2 (en) Method for mirroring data at storage locations
US7340490B2 (en) Storage network data replicator
US7337286B1 (en) Storage control system for restoring a remote data copy
US7472173B2 (en) Remote data copying among storage systems
EP1873645A1 (en) Storage system and data replication method
EP1536337B1 (en) Remote copy network
JP2022539981A (ja) ストレージ・デバイスのミラーリング方法、デバイス、プログラム
US20030154305A1 (en) High availability lightweight directory access protocol service
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JP2004272884A (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
JP2004272884A5 (ja)
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
JP5874526B2 (ja) バックアップ取得装置、バックアップ取得方法、およびバックアップ取得プログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100727

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110922

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: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

R150 Certificate of patent or registration of utility model

Ref document number: 4902538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees