JP2005243026A - 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム - Google Patents

任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2005243026A
JP2005243026A JP2005048141A JP2005048141A JP2005243026A JP 2005243026 A JP2005243026 A JP 2005243026A JP 2005048141 A JP2005048141 A JP 2005048141A JP 2005048141 A JP2005048141 A JP 2005048141A JP 2005243026 A JP2005243026 A JP 2005243026A
Authority
JP
Japan
Prior art keywords
data
backup
backup component
component
components
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
JP2005048141A
Other languages
English (en)
Other versions
JP4791051B2 (ja
Inventor
John J Wolfgang
ジョン・ジェイ・ウォルフガング
Philip M Doatmas
フィリップ・マシュー・ドートマス
Kenneth Fairclugh Day Iii
ケネス・フェアクロー・デイIii
Kenneth W Boyd
ケネス・ウェイン・ボイド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005243026A publication Critical patent/JP2005243026A/ja
Application granted granted Critical
Publication of JP4791051B2 publication Critical patent/JP4791051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/2069Management of state, configuration or failover
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のバックアップ・コンポーネントを使用してデータを転送するための技法と、バックアップ・コンポーネントのグループを使用してデータ更新を処理するための技法とを提供すること。
【解決手段】データの一部分に対する責務が第1のバックアップ・コンポーネントに割り当てられる。1次ソースからのデータのその部分に関するデータ更新が第1のバックアップ・コンポーネントで受け取られると、データ更新は、データのその部分に対する責務が割り当てられていない第2のバックアップ・コンポーネントにミラーリングされる。データの部分に関する更新が第2のバックアップ・コンポーネントで受け取られる場合、データ更新を第1のバックアップ・コンポーネントに転送される。
【選択図】図1

Description

本発明は、任意数のバックアップ・コンポーネント用のシステム・アーキテクチャに関する。
災害時リカバリ・システムは、通常、ある一時点での突然の壊滅破局的障害、または経時的なデータ損失という、2種類の障害に対処するものである。2番目の種類の漸進的災害の場合、ボリュームへのデータ更新が失われる可能性がある。データ更新のリカバリを支援するために、データのコピーをリモート位置で提供する場合がある。こうした二重または影シャドウイングのコピーは、通常、アプリケーション・システムが新しいデータを1次ストレージ・デバイスに書き込んでいる際に作成される。本特許出願の譲受人であるInternational Business Machines Corporation(IBM)は、2次ストレージ・デバイスでデータのリモート・コピーを維持するために、拡張リモート・コピー(XRC)およびピアツーピア・リモート・コピー(PPRC)という2つのシステムを提供している。
これらのシステムは、最新の安全なバックアップとシステム障害との間のデータの更新を回復するための方法を提供するものである。こうしたデータのシャドーイング・システムは、リモート・サイトでのローカル・アクセスなどのリカバリ以外の目的で追加のリモート・コピーを提供することもできる。IBM(登録商標)XRCおよびPPRCシステムについては、IBMの出版物であるIBM文書番号SC35−0169−02「リモート・コピー:管理者の手引きと参照」(IBM著作権1994、1996年)に記載されており、本出版物は参照によりその全文が本明細書に組み込まれている。
こうしたバックアップ・システムでは、データはボリューム・ペアで維持される。ボリューム・ペアは、1次ストレージ・デバイス内のボリュームと、1次ボリューム内で維持されるデータと整合性のあるコピーを含む2次ストレージ・デバイス内の対応するボリュームとからなる。通常、ペアの1次ボリュームは1次ダイレクト・アクセス・デバイス(DASD)内で維持され、ペアの2次ボリュームは、1次DASD上のデータをシャドーイングする2次DASD内で維持される。1次DASDへのアクセスを制御するために1次ストレージ・コントローラを提供することが可能であり、2次DASDへのアクセスを制御するために2次ストレージ・コントローラを提供することが可能である。
IBM(登録商標)XRC環境では、1次ボリュームにデータを書き込むアプリケーション・システムには、時刻(TOD)値をタイム・スタンプとしてデータ書き込みに提供するシスプレックス・タイマーが含まれる。アプリケーション・システムは、1次DASD内のボリュームにデータ・セットを書き込む際に、こうしたデータ・セットにタイム・スタンプを押す。データ更新の保全性は、ボリューム・ペア内の2次ボリュームで実行されるデータ更新が、1次ボリュームで実行されたものと確実に同じ順序であることに関連する。XRCおよび他の従来技術のシステムでは、アプリケーション・プログラムによって提供されるタイム・スタンプがデータ更新の論理シーケンスを決定する。データベース・システムなどの多くのアプリケーション・プログラムでは、一定の書き込みはそれ以前の前の書き込みが実行されない限り実行不可能であり、そうでなければデータの保全性が脅かされることになる。保全性が前のデータ書き込みの実行に依存するというこうしたデータ書き込みは、依存書き込みと呼ばれる。たとえばある顧客が口座を開設して$400を預金し、その後$300を引き出した場合、システムに対するその引き出しの更新は、その他の書き込み、すなわち口座の開設および預け入れに依存するものである。こうした依存トランザクションが1次ボリュームから2次ボリュームへとコピーされる場合、依存書き込み操作の保全性を維持するために、トランザクションの順序が維持されなければならない。
1次および2次DASD内のボリュームは、すべての書き込みがその論理順序で転送された場合、すなわち、すべての依存書き込みがそれに依存している書き込みより前に転送された場合に整合性を保つものである。これは銀行業務の例では、預け入れが引き出しの前に2次ボリュームに書き込まれることを意味する。整合性グループとは、整合性の取れた状態に保つ必要のある関連ボリュームの集まりのことである。整合性のあるトランザクション・セットとは、依存書き込みが整合性の取れた状態で守られるような1次ボリュームに対するデータ更新の集まりのことである。たとえば銀行業務の例では、引き出しトランザクションは整合性を維持するために預け入れと同じ整合性のあるトランザクション・セットにあるか、またはその後の整合性のあるトランザクション・セットにあるものとする必要があり、引き出しが以前の整合性のあるトランザクション・セット内にある可能性はない。整合性グループは、ボリューム間をまたがってデータの整合性を維持する。たとえば障害が発生した場合、預け入れは引き出しの前に2次ボリュームに書き込まれることになる。したがって2次ボリュームからデータが回復される場合、回復されたデータは整合性が取れていることになる。
整合性時間とは、アプリケーション・システムのデータ・セットへのタイム・スタンプからシステムが導出する時間のことである。整合性グループは、整合性タイム・スタンプと同じかまたはこれよりも早いタイム・スタンプを有する整合性グループ内のすべてのデータ書込みについて、整合性の取れた時間を有する。IBM(登録商標)XRC環境では、整合性時間とは、2次ボリュームへのデータ更新が整合性の取れたものであることをシステムが保証する最新時間である。アプリケーション・プログラムが1次ボリュームにデータを書き込んでいる限り、整合性時間は増加する。しかしながら、データ更新のアクティビティが終了すると、他の整合性グループに時間参照を提供するためのタイム・スタンプを伴うデータ・セットがないために、整合性時間は変化しない。整合性グループ内のすべてのレコードが2次ボリュームに書き込まれると、報告された整合性時間は整合性グループ内のすべてのレコードの最新のタイム・スタンプを反映することになる。データ書込みの順次整合性を維持するための方法、ならびに1次DASDと2次DASDとの間でのデータ転送における順次整合性を維持するために整合性グループを形成するための方法については、本特許出願の譲受人であるIBMに譲渡され、参照によりその全文が本明細書に組み込まれた、米国特許出願第5615329号および第5504861号に記載されている。
通常、1次ストレージ・デバイスが更新される時間と2次ストレージ・デバイスが更新される時間との間にはタイムラグがある。たとえば、銀行の顧客が普通預金口座から借入金勘定への支払を行う場合がある。このトランザクションには、普通預金口座からの引き出しと借入金勘定への支払いという、2つの部分がある。このトランザクションの2つの部分は原子的に不可分に実行およびアーカイブすべきである。問題を避けるために、この2つの部分の順序(すなわち支払いの後に引き出し)も維持すべきである。場合によっては、トランザクションの実行中に1次ストレージ・デバイスが障害を起こす可能性がある。たとえば、普通預金口座からの支払いに関するデータが2次ストレージに送信される一方で、システム障害が原因で引き出しデータが送信されない可能性がある。この場合、1次ストレージ・デバイスは引き出しと支払いの両方を反映し、2次ストレージ・デバイスは支払いしか反映しないことになる。したがって災害および回復の後、トランザクションの一部のみが2次ストレージ・デバイスから1次ストレージ・デバイスに適用され、その結果、回復したアカウント・レコードは借入金勘定における支払いは反映するが、普通預金口座からの引き出しは反映しない。この例では、銀行は普通預金口座からの引き出し金額を失い、この金額は顧客の勘定に残ることとなる。銀行は金銭的な損害を蒙るため、このような回復を望ましく思わない。を失うことから、災害回復を喜ばないことになる。
加えて、バックアップ・デバイスまたはコンピュータは1次ストレージ・コントローラからインバウンド・データ書き込みを受け取り、そのデータ書き込みを2次ストレージ・コントローラにアウトバウンド(outbound)で送る場合もある。こうしたシステムが適切な性能を備えるためには、1次ストレージ・コントローラから2次ストレージ・コントローラへデータを転送するために共に働くいくつかのバックアップ・デバイスまたはコンピュータを有することが望ましい。加えて、2次ストレージ・デバイスから復元されたデータは顧客に価値を与えるために整合性の取れたものである必要があるため、転送されたデータは整合性のあるコピーを作成しなければならない。
米国特許出願第5615329号 米国特許出願第5504861号 IBM文書番号SC35−0169−02「リモート・コピー:管理者の手引きと参照」(IBM著作権1994、1996年)
したがって、複数のバックアップ・デバイスまたはコンピュータを使用してデータを転送する改善された技術が求められている。
複数のバックアップ・コンポーネントを使用してデータを転送するための方法、システム、およびプログラムが提供される。データの一部分に対する責務が第1のバックアップ・コンポーネントに割り当てられる。1次ソースからのデータのその部分に関するデータ更新が第1のバックアップ・コンポーネントで受け取られると、データ更新は、データのその部分に対する責務が割り当てられていない第2のバックアップ・コンポーネントにミラーリングされる。
バックアップ・コンポーネントのグループを使用してデータ更新を処理するための方法、システム、およびプログラムも提供される。新しいバックアップ・コンポーネントがアクティブであることが判別される。整合性のあるトランザクション・セット形成期間の終わり近くに、データの1つまたは複数の部分に対する責務が、グループ内の各バックアップ・コンポーネントおよび新しいバックアップ・コンポーネントに割り当てられる。次の整合性のあるトランザクション・セット形成期間中に、グループ内の各バックアップ・コンポーネントおよび新しいバックアップ・コンポーネントを使用してデータ更新が処理される。
さらに、バックアップ・コンポーネントのグループを使用してデータ更新を処理するための方法、システム、およびプログラムが提供される。グループ内の第1のバックアップ・コンポーネントがもはや使用可能でないことが判別される。第1のバックアップ・コンポーネントが責務を割り当てられているデータの部分が、グループ内の他のバックアップ・コンポーネントそれぞれに再度割り当てられる。
次に図面を参照すると、図面全体を通じて同じ参照番号は対応する部分を表すものである。
以下の説明では、本明細書の一部を形成し本発明のいくつかの実施を示す形態を示す添付の図面を参照する。本発明の範囲を逸脱することなしにく、他の実施態様をを使用採用することが可能であり、構造上および操作上の変更が可能であることを理解されよう。
本発明の実施では、任意数(「n」)の協働可能なバックアップ・コンポーネント用のシステム・アーキテクチャを提供する。各バックアップ・コンポーネントは1つまたは複数の1次ソースから(たとえばストレージ・サーバからPPRCを介して、またはホストからフォーク書き込み(forked write)を介して)、データ更新を受け取ることができる。各バックアップ・コンポーネントは、入ってくるデータ更新を少なくとも1つの他のバックアップ・コンポーネントにミラーリングして、単一の障害点を避ける。「ミラーリング」という用語は、データ更新のコピーを他のバックアップ・コンポーネントに送信する場合として説明することができる。本明細書の実施態様例では、例示のためにデータ更新を1つのバックアップ・コンポーネントのみにミラーリングすることに言及しているが、本発明の他の実施では、1つのバックアップ・コンポーネントが複数のバックアップ・コンポーネントにデータ更新をミラーリングすることができる。
バックアップ・コンポーネントのグループは、データの一部分(たとえば、1つまたは複数のボリューム)に対して整合性のあるトランザクション・セットを協働可能なように形成する。し、この整合性のあるトランザクション・セットは、グループ内のすべてのバックアップ・コンポーネントにまたがって有効である。「整合性のあるトランザクション・セット」とは、2次サイトで適用されたときに、複製に含まれるボリュームに関して1次サイトのポイント・イン・タイム整合性コピーを形成するものであり、複製の開始時に1次サイトと2次サイトとが同一であったと想定する、トランザクションのグループとして説明することができる。その後バックアップ・コンポーネントは、そのデータ更新を2次サイトに転送する。
したがってバックアップ・コンポーネントは協働して、1次ソースからデータ更新を受け取り、可用性を上げる向上させるためにデータ更新をミラーリングし、その更新を2次サイトに転送する。システム・アーキテクチャ内には任意数のバックアップ・コンポーネントが存在し、この数は、バックアップ・コンポーネントが失敗するか、あるいは追加または削除された場合にいつでも変更することができる。各バックアップ・コンポーネントは、通信パスを介して(たとえば高速データ・リンクを介して)他のすべての他のバックアップ・コンポーネントと通信する機能を有する。ある一定の実施実施態様では、この通信パスは1次ソースおよび2次サイトと通信するために使用される通信パスとは別のものである。本発明の実施では、バックアップ・コンポーネントが追加、削除、または失敗した場合でも、いかなるデータ更新も失うことなく、また2次サイトとの間でのデータ更新の受信および送信タスクを完了することができる。
ある一定の実施実施態様では、1次サイトと2次サイトとの間でリンクされている同一ボリュームのペアがある。したがって、1次サイトでボリュームが更新されると、対応するボリュームが2次サイトで更新される。このデータ更新は、バックアップ・コンポーネントを介して伝搬される。
ある一定の実施実施態様では、適切な性能を維持しながらデータの保全性を保持するために、特定のボリュームに関するすべてのデータ更新が単一のバックアップ・コンポーネントによって2次サイトに転送される。すなわち、データ更新がバックアップ・コンポーネントに着信する前に、各バックアップ・コンポーネントにボリューム・セット(1つまたは複数のボリュームを含む)に対する責務(responsibility)が割り当てられる。ボリューム・セットに対する責務を負うバックアップ・コンポーネントは、それらのボリュームに関するデータ更新を2次サイトに送る。
しかしながら、任意のバックアップ・コンポーネントが任意のボリュームに関するデータ更新を1次ソースから受け取ることが可能であるが、ボリュームに対する責務が割り当てられていないバックアップ・コンポーネントは、そのボリュームに関するデータ更新を2次サイトに送らない。その代わりに、ボリュームに対する責務は割り当てられていないがそのボリュームへのデータ更新を受け取ったバックアップは、そのボリュームに対する責務が割り当てられているバックアップ・コンポーネントにそのデータ更新をミラーリングする。ある一定の実施実施態様では、バックアップ・コンポーネントが責務を負っているボリュームにそれらをマッピングする情報と、どのバックアップ・コンポーネントがこのバックアップ・コンポーネントにデータ更新をミラーリングしたかを識別する情報と、どのバックアップ・コンポーネントがこのバックアップ・コンポーネントからデータ更新を送られたかを識別する情報とを、各バックアップ・コンポーネントが維持する。
図1は、本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。1次制御ユニット110、130、および150(たとえば1次ストレージ・コントローラ)は、1つまたは複数のホスト・コンピュータ114、134、または154それぞれに、1次DASD112、132、および152それぞれへのアクセスを提供する。本明細書の例ではDASDに言及しているが、本発明の実施は様々なストレージ・デバイスで使用することが可能であり、DASDを使用することに限定されることを意図するものではない。1次制御ユニット110、130、および150は1次キャッシュ(図示せず)を有することも可能であり、その場合1次DASD112、132、および152内のトラックへのデータ更新は、それぞれ1次DASD112、132、および152にデステージ(destage)されるまで維持される。1次DASD112、132、および152のボリュームのすべてまたはサブセットのバックアップ・コピーは、それぞれ2次DASD118、138、および158で維持することができる。なお、本明細書の例ではDASDに言及しているが、本発明の実施は様々なストレージ・デバイスで使用することが可能であり、DASDを使用することに限定されることを意図するものではない。
1次サイトは、1次制御ユニット110、130、および150と、1次DASD112、132、および152と、ホスト・コンピュータ114、134、および154を含むことができる。2次サイトは、2次制御ユニット116、136、および156(たとえば2次ストレージ・コントローラ)と、2次DASD118、138、および158とを含み得るむことができる。
ある一定の実施実施態様では、「ボリューム・ペア」は、1次DASD内のボリュームと、ボリューム・ペア内の1次ボリュームでデータのバックアップ・コピーを維持する2次DASD内のそのボリュームのシャドーとして、説明することができる。ある一定の実施実施態様では、それぞれの1次ボリュームについて整合性のあるコンテンツを備えた対応する2次ボリュームがあり、これがボリューム・ペアである。たとえば、1次DASD112へのデータ更新は、2次DASD118に格納するために2次制御ユニット116に転送される。
1次制御ユニット110、130、および150は、更新の不揮発性コピーを維持するために、バッテリ・バックアップ付き揮発性メモリなどの不揮発性ストレージ・ユニット(図示せず)をさらに含むことができる。1次制御ユニット110、130、および150と、2次制御ユニット116、136、および156とは、IBM(登録商標)3990、モデル6ストレージ・コントローラ、Enterprise Storage Server(登録商標)(ESS)、または当分野で知られた任意の他の制御ユニットからなるものとすることができる。
バックアップ・コンポーネント100、102、および104は、1次ソースからデータ更新を受け取る。たとえば図1の例では、バックアップ・コンポーネント100、102、および104は、1次DASD112、132、および152に対して実行されたデータ更新を、バックアップ・コンポーネント160、162、および164を介して2次制御ユニット116、136、および156に転送する。「バックアップ・コンポーネント」という用語は、たとえばデバイスまたはコンピュータとして説明することができる。3つのバックアップ・コンポーネント100、102、および104が1次制御ユニット110、130、および150と通信しているように示されているが、これに限定されることなく、「n」個のバックアップ・コンポーネントが可能である。また、3つのバックアップ・コンポーネント160、162、および164が2次制御ユニット116、136、および156と通信しているように示されているが、これも「n」個のバックアップ・コンポーネントが可能である。
バックアップ・コンポーネント100、102、および104はそれぞれ、1次制御ユニット110、130、および150からバックアップ・コンポーネント160、162、および164それぞれへデータ更新を転送するためのプロセッサ、バッファ、およびコンピュータ・プログラムを含むことができる。バックアップ・コンポーネント160、162、および164はそれぞれ、2次制御ユニット116、136、および156それぞれへデータ更新を転送するためのコンピュータ・プログラムを含むことができる。たとえば、バックアップ・コンポーネント100、102、および104内のデータ更新を転送するためのコンピュータ・プログラムは、IBM(登録商標)XRCシステムに含まれるSDMプログラムなどの、システム・データ・ムーバ(SDM)プログラムとすることができる。したがってデータ更新は、1次110、130、および150と2次116、136、および156の制御ユニット間で、バックアップ・コンポーネント100、102、104、160、162、および164を介して転送される。
バックアップ・コンポーネント100、102、および104はそれぞれ、任意の1次制御ユニット110、130、および150からデータ更新を転送することができる。また、バックアップ・コンポーネント100、102、および104はそれぞれ相互に通信することもできる。ある一定の実施実施態様では、1次制御ユニット110、130、および150とバックアップ・コンポーネント100、102、および104との間の通信パスは、バックアップ・コンポーネント100、102、および104自体の間の通信パスとは異なる。
複製されている各1次DASDからの各ボリュームは、2次DASD上のボリュームに対応する。たとえば、1次DASD112上の第1のボリュームは2次DASD138上のボリュームにバックアップされ、1次DASD112上の第2のボリュームは2次DASD158上のボリュームにバックアップされる。ある一定の実施実施態様では、1つまたは複数のボリュームはバックアップされない。
ある一定の実施実施態様では、バックアップ・コンポーネント100、102、および104は1次制御ユニット110、130、および150からデータ更新を受け取る。ある一定の実施実施態様では、バックアップ・コンポーネント100、102、および104は1次DASD112、132、および152へのデータ更新をインターセプトすることができる。
1次DASD112、132、および152および2次DASD118、138、および158はボリュームを含む。ある一定の実施実施態様では、1つのバックアップ・コンポーネント100、102、または104が、1つまたは複数の指定されたボリュームに関するデータ更新を処理する責務を負う。たとえば、バックアップ・コンポーネント102は1次DASD112上のボリューム1およびボリューム6に関する更新情報を使用してすべてのデータ更新を処理することが可能であり、バックアップ・コンポーネント104は1次DASD112上のボリューム2に関する更新情報を使用してすべてのデータ更新を処理することが可能である。あるボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104は、そのボリュームに関するデータ更新をバックアップ・コンポーネント160、162、および164に転送する責務を負う。
ある一定の実施実施態様では、バックアップ・コンポーネント100、102、104、160、162、および164、1次制御ユニット110、130、および150、ならびに2次制御ユニット116、136、および156は、直接高速伝送回線(たとえばEnterprise System Connection(ESCON(登録商標))リンク)などの通信パスを介して通信する。ただし通信パスは、ネットワーク伝送回線、光ファイバー・ケーブルなどを含む当分野で知られた任意の他の通信手段からなるものとすることができる。
図2は、本発明の代替の実施に従ったコンピューティング環境を示すブロック図である。具体的に言えば、特別バックアップ・コンポーネント108は、処理を継続することができない(たとえば失敗したかまたは修理のために除去された)バックアップ・コンポーネント100、102、または104に関する処理を引き継ぐことができる場合がある。
図3は、本発明の代替の実施他の実施態様に従ったコンピューティング環境を示すブロック図である。具体的に言えば、1次制御ユニット110、130、および150よりもバックアップ・コンポーネント100および102の方が数が少ないものとすることができる。1次制御ユニット110、130、および150はそれぞれ、1つまたは複数のバックアップ・コンポーネント100または102にリンクされるものとすることができる。
図4は、本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。「n」個のバックアップ・コンポーネントがあるものとすることが可能であり、省略符号で表されている。1次サイトとバックアップ・コンポーネント100、102、および104との間の通信は、短い距離にわたって同期的とすることができる。バックアップ・コンポーネント100、102、および104とバックアップ・コンポーネント160、162、および164との間の通信は、インターネット・プロトコル(IP)リンクを備えた仮想私設網(VPN)を介して長距離にわたって非同期的とすることができる。バックアップ・コンポーネント160、162、および164の間の通信は、DASDへの直接Small Computer System Interface(SCSI)書き込みとすることができる。
本発明の実施では、バックアップ・コンポーネント100、102、および104はインバウンド・トランザクションを受け取り、そのインバウンド・トランザクションを第1の識別子に関連付ける(すなわち、同じ識別子に関連付けられたすべてのトランザクションが整合性のあるトランザクション・セットを形成する)。バックアップ・コンポーネント100、102、または104の外に転送されるインバウンド・トランザクションを「アウトバウンド」トランザクションと呼ぶことができる。ある一定の実施実施態様では、あるボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104は、該当するバックアップ・コンポーネント160、162、または164に対してアウトバウンド・トランザクションを転送する。ある一定の実施実施態様では、複数のボリュームに対する責務を負うバックアップ・コンポーネント(たとえば100)は、バックアップ・コンポーネントのうちの1つ(たとえば160)に対して複数のボリュームに関するアウトバウンド・トランザクションを転送する。ある一定の代替の実施他の実施態様では、複数のボリュームに対する責務を負うバックアップ・コンポーネント(たとえば100)は、複数のボリュームに関するアウトバウンド・トランザクションを異なるバックアップ・コンポーネント160、162、または164に転送することができる。バックアップ・コンポーネント100、102、および104は、各セットが異なる識別子に関連付けられた複数セットのトランザクションを格納することができる。
さらに、バックアップ・コンポーネント160、162、および164が2次制御ユニット116、136、および156へトランザクションを転送すると、バックアップ・コンポーネント100、102、および104も1次制御ユニット110、130、および150から追加のトランザクションを受け取る。
本発明のある一定の実施実施態様では、トランザクション・セットに関して2次サイトでデータの整合性コピーを作成する。トランザクション・セットには識別子が関連付けられる。たとえば識別子は、色(たとえば緑、青、赤、または黄色)、整数、英数文字列、または他の識別子とすることができる。ある一定の実施実施態様では、各トランザクション・セットが、指定された期間中に受け取られたトランザクションの代表である。期間は様々なユーザ向けにカスタマイズすることができる。たとえば、1人のユーザは毎分ごとに整合性コピーを作成するように希望し、他のユーザは20秒ごとに整合性コピーを作成するように希望することができる。この期間は、数日などのより長い期間とすることもできる。ある一定の実施実施態様では、識別子は異なるトランザクション・セットに固有のものである。
本発明の実施では、バックアップ・コンポーネント100、102、104は第1の識別子に関連付けられたアウトバウンド・トランザクション(すなわち整合性のあるトランザクション・セット)を、バックアップ・コンポーネント160、162、164に送信する。各バックアップ・コンポーネント100、102、および104が第1の識別子に関連付けられたすべてのアウトバウンド・トランザクションの送信を完了すると、バックアップ・コンポーネント160、162、164は、それらのアウトバウンド・トランザクション内のデータを受信およびミラーリングしたことをバックアップ・コンポーネント100、102、および104に確認する。その後バックアップ・コンポーネント100、102、および104は、他の(たとえば第2の)識別子に関連付けられたトランザクションの送信を自由に開始することができる。バックアップ・コンポーネント160、162、および164は、第1の識別子に関連付けられたデータ・トランザクションを該当する第2の制御ユニット116、136、および156に送信する。すべてのバックアップ・コンポーネント160、162、および164が第1の識別子に関連付けられたすべてのアウトバウンド・データ・トランザクションの送信を完了すると、バックアップ・コンポーネント160、162、および164は、他の識別子に関連付けられたデータ・トランザクションを第2の制御ユニット116、136、および156へ自由に送信できるようになる。バックアップ・コンポーネント160、162、および164は、第2の制御ユニット116、136、および156へデータ・トランザクションを転送している間に、バックアップ・コンポーネント100、102、および104からデータ・トランザクションを受信することができる。
したがって、ある識別子に関連付けられたすべてのI/Oトランザクションは、他の(たとえば他の色、数字、記号、文字などの)識別子に関連付けられた任意のI/Oトランザクションの前に2次サイトに書き込まれて格納される。この方法では、関連付けられた識別子を有するトランザクション・セットが2次サイトで完全にアーカイブされた場合、2次データはその識別子に関連付けられたトランザクションが処理されたときの1次データを反映する。したがって、所与の識別子に関するすべてのI/Oトランザクションが2次サイトの2次データに送られた場合、その2次データのグループは所望の整合性状態にある。この時点で2次データは、1次サイトで整合性のあるトランザクション・セットが形成された時点での1次サイトでの1次データの正確なコピーであり、2次サイトは2次データからコピーを作成することができる。これらのコピーは、特定のトランザクション・セットが2次サイトで2次データに適用された後の1次サイトでの1次データを反映する「整合性のある」コピーである。
図5および6は、本発明のある一定の実施実施態様に従った、各バックアップ・コンポーネント100、102、および104によって維持されるデータを示す図である。図5では、テーブル200は、バックアップ・コンポーネントが責務を負うボリュームにバックアップ・コンポーネントをマッピングするものである。図6では、テーブル210は各更新に関して、関連付けられたシーケンス識別子、データ更新の受信元であるボリューム(すなわち「ソース」ボリューム)、データ更新の送信先であるボリューム(すなわち「ターゲット」ボリューム)、データ更新のミラーリング先であるバックアップ・コンポーネント、およびデータ更新のミラーリング元であるバックアップ・コンポーネントを識別する。
図7および8は、本発明のある一定の実施実施態様に従った、バックアップ・コンポーネント100、102、または104で受け取ったデータ更新を処理するためにバックアップ・コンポーネント100、102、または104内で実施される論理を示す図である。制御はブロック300で、バックアップ・コンポーネント100、102、または104がボリュームに関するデータ更新を受け取ることで開始される。ブロック302で、バックアップ・コンポーネント100、102、または104は、データ更新が1次ソース(たとえば1次制御ユニット110、130、または150)から受け取られたかどうかを判別する。受け取られたそうであれば場合には処理はブロック304へ進み、受け取られなかったそうでない場合には、データ更新は他のバックアップ・コンポーネント100、102、または104から受け取られたものであり、処理はブロック320へ進む。
ブロック304で、データ更新を受け取ったバックアップ・コンポーネント100、102、または104は、データ更新の受信元であるボリュームに対する責務を自分が負っているかどうかを判別する。負っている場合処理はブロック306へ進み、負っていないそうでない場合には処理はブロック312へ進む。
ブロック306で、バックアップ・コンポーネント100、102、または104はデータ更新を受け入れ、そのデータ更新にシーケンス識別子を割り当てる。ある一定の実施実施態様では、シーケンス識別子はボリュームに関連付けられた実行中の番号リストからのものである。これらの実施態様では、各ボリュームが(たとえばシステム障害の後に)トランザクションを順番に並べやすいように一連の増加番号を有する。ある一定の代替の実施他の実施態様では、シーケンス番号の1つの大規模なリストがボリュームを横切って使用される。ブロック308で、バックアップ・コンポーネント100、102、または104は、それに関するデータ更新が受け取られたボリュームに対する責務を負わない他のバックアップ・コンポーネント100、102、または104に対して、データ更新およびシーケンス識別子をミラーリングする。ブロック310で、バックアップ・コンポーネント100、102、または104は、どのバックアップ・コンポーネント100、102、または104にデータ更新が送られたかを追跡する。すなわち、あるボリュームに関するデータ更新が、1次ソースからそのボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104に着信すると、そのバックアップ・コンポーネント100、102、または104はその更新を受け入れ、シーケンス識別子を割り当て、そのデータ更新を他のバックアップ・コンポーネント100、102、または104のうちの1つにミラーリングする。
ブロック312で、それに関するデータ更新が受け取られたボリュームに対する責務を負わないバックアップ・コンポーネント100、102、または104はデータ更新を受け入れる。ブロック314で、バックアップ・コンポーネント100、102、または104は、それに関するデータ更新が受け取られたボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104に対してデータ更新をミラーリングする。ブロック316で、バックアップ・コンポーネント100、102、または104はボリュームに対して責務を負うバックアップ・コンポーネント100、102、または104からシーケンス識別子を受け取り、その識別子とどのバックアップ・コンポーネント100、102、または104にデータ更新が送られたかとの両方を追跡する。すなわち、あるボリュームに関するデータ更新が、1次ソースからそのボリュームに対する責務を負わないバックアップ・コンポーネント100、102、または104に着信すると、そのバックアップ・コンポーネント100、102、または104はその更新を受け入れ、そのボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104にそのデータ更新をミラーリングする。
ブロック320(図8)で、バックアップ・コンポーネント100、102、または104は他のバックアップ・コンポーネント100、102、または104からデータ更新を受け取っており、これがボリュームに対して責務を負うものであるかどうかを判別する。責務を負うものであれば処理はブロック322へ進み、そうでなければ処理はブロック328へ進む。
ブロック322で、バックアップ・コンポーネント100、102、または104は更新を受け入れ、シーケンス識別子を割り当てる。ブロック324で、バックアップ・コンポーネント100、102、または104は、どのバックアップ・コンポーネント100、102、または104がデータ更新を送ったかを追跡する。ブロック326で、バックアップ・コンポーネント100、102、または104は、更新をミラーリングしたバックアップ・コンポーネント100、102、または104に、シーケンス識別子を含む肯定応答を送る。すなわち、あるボリュームに関するデータ更新が、そのボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104に他のバックアップ・コンポーネント100、102、または104から着信した場合、ミラーリングされたデータ更新を受け取るバックアップ・コンポーネント100、102、または104はそのデータ更新を受け入れ、そのデータ更新にシーケンス識別子を割り当て、どのバックアップ・コンポーネント100、102、または104がその更新を送信したかを追跡し、そのシーケンス識別子を含む肯定応答を送信する。
ある一定の実施実施態様では、ブロック328で、バックアップ・コンポーネント100、102、または104は、更新が適用されたボリュームに対する責務を負うバックアップ・コンポーネント100、102、または104からの更新であるかどうかを判別する。104からの更新である場合にはそうであれば処理はブロック330へ進み、104からの更新でない場合にはそうでなければ処理はブロック334へと進む。ブロック330で、バックアップ・コンポーネント100、102、または104は更新およびシーケンス識別子を受け入れる。ブロック332で、バックアップ・コンポーネント100、102、または104は、どのバックアップ・コンポーネント100、102、または104が更新を送ったかを追跡する。ブロック334で、バックアップ・コンポーネント100、102、または104は更新を拒否し、オプションでエラー処理が実行される。
ある一定の代替の実施他の実施態様では、1次ソースからデータ更新を受け取るバックアップ・コンポーネント100、102、または104それぞれが、(シーケンス番号を割り当てる代わりに、またはこれに加えて)更新にタイム・スタンプを押す。こうした実施態様では、すべてのバックアップ・コンポーネント100、102、または104の内部クロックがネットワーク・タイム・プロトコル(NTP)メカニズムを介して同期を維持することが可能であり、その結果としてタイム・スタンプはデータ更新の順序付けに対して有効となる。さらに他の実施態様では、すべてのバックアップ・コンポーネント100、102、または104に対して共通のタイマーを使用することでタイム・スタンプが正確であることを保証し、この場合バックアップ・コンポーネント100、102、または104は、必要に応じて共通のタイマーからタイム・スタンプを要求することになる。
ある一定の実施実施態様では、データ更新が常駐するボリュームに対する責務を負っているバックアップ・コンポーネント100、102、または104からデータ更新をミラーリングするときに、任意のバックアップ・コンポーネント100、102、または104から任意の100、102、または104にデータ更新をミラーリングすることができる。ある一定の実施実施態様では、バックアップ・コンポーネント100、102、または104それぞれが、バックアップ・コンポーネント100、102、または104の更新のミラーリング先であるデフォルトのバックアップ・コンポーネント100、102、または104を有する。
図9は、本発明のある一定の実施実施態様に従った、整合性のあるトランザクション・セット形成期間について各バックアップ・コンポーネント100、102、または104内で実施される論理を示す図である。制御はブロック400で、各バックアップ・コンポーネント100、102、104が整合性のあるトランザクション・セットを形成するためにデータ更新を受け取って処理することで開始される。
ブロック402で、整合性のあるトランザクション・セット形成期間の終わり近くにバックアップ・コンポーネント100、102、および104は、次の形成期間についてどのバックアップ・コンポーネント100、102、または104がどのボリュームに対して責務を負うかを判別する。たとえばこれは、ラウンド・ロビン方式で実行することができる。別の方法として、より複雑な公式または技法に基づいて割り当てることができる。「整合性のあるトランザクション・セット形成期間」とは、バックアップ・コンポーネント100、102、104のセットがデータ更新を受け取り、そのデータ更新を整合性のあるトランザクション・セット内に配置する間の期間として説明することができる。整合性のあるトランザクション・セット形成期間の終わりに、整合性のあるトランザクション・セットは完了する。
バックアップ・コンポーネント100、102、および104内でのボリュームの再割り当てにより、各バックアップ・コンポーネント100、102、および104に送られるデータ更新量のバランスを取る。ある一定の実施実施態様では、各形成期間で再割り当てが実行され、ある形成期間から次の形成期間へと条件が変化するのに応じて適切なバランスを取ることが保証される。ある一定の実施実施態様では、これが形成期間の終わり近くに実行され、その結果、後続の形成期間についての更新が着信する前に割り当てが完了する。ある一定の実施実施態様では、バックアップ・コンポーネント100、102、および104がデータ更新を最初に受け入れるとき(すなわち、任意の形成期間の前)に、バックアップ・コンポーネント100、102、および104はそれらの間で特定ボリュームに対する責務を割り当てる。ボリュームの再割り当てについては、同時係属中かつ本願の所有者が所有する、参照によりその全文が本明細書に組み込まれた、整理番号TUC920030120US1のxxxによりxxxに出願された「xxx」という名称の米国特許出願第10xx/xxxxxx646648号に記載されている。さらにある一定の実施実施態様では、(たとえば、ボリュームの方がバックアップ・コンポーネントよりも少ないことが原因で)使用可能なすべてのバックアップ・コンポーネント100、102、および104よりも少ないものに対して、ボリュームを再割り当てすることができる。
ブロック404で、整合性のあるトランザクション・セット形成期間の終わりに(すなわち、バックアップ・コンポーネント100、102、および104それぞれで整合性のあるトランザクション・セットが形成された後)、各バックアップ・コンポーネント100、102、および104は責務が割り当てられたボリュームに関するデータ更新を、バックアップ・コンポーネント160、162、および164を介して2次制御ユニット116、136、および156に転送する。ブロック406で、他のバックアップ・コンポーネント100、102、または104に対してデータ更新がミラーリングされた各バックアップ・コンポーネント100、102、または104は、ミラーリングされたデータ更新がバックアップ・コンポーネント160、162、および164に首尾よく送られたかどうかを判別し、首尾よく送られた場合はそのミラーリング済みのデータ更新を廃棄する。ある一定の実施実施態様では、バックアップ・コンポーネント160、162、および164は、データ更新が首尾よく受け取られたことを、2次制御ユニット116、136、および156のボリュームに対して責務のあるバックアップ・コンポーネント100、102、または104に通知し、通知を受けたバックアップ・コンポーネント100、102、または104は、データ更新がミラーリングされたバックアップ・コンポーネント100、102、または104にその通知を送る。
図10は、本発明のある一定の実施実施態様に従った、新しいバックアップ・コンポーネントがオンラインの場合の論理を示す図である。制御はブロック500で、新しいバックアップ・コンポーネントが追加されたときに開始される。ブロック502で、整合性のあるトランザクション・セット形成期間の終わり近くに、ボリューム割り当てが実行されると新しいバックアップ・コンポーネントが含められる。すなわち新しいバックアップ・コンポーネントには、1つまたは複数のボリュームに対する責務が割り当てられる可能性がある。ブロック504で、次の整合性のあるトランザクション・セット形成期間中に、新しいバックアップ・コンポーネントは1次ソースからのデータ更新の受け入れおよび転送を開始する。
図11および12は、本発明のある一定の実施実施態様に従った、バックアップ・コンポーネント100、102、または104が失敗するかまたは除去された(すなわち、もはや使用可能でない)場合の論理を示す図である。制御はブロック600で、整合性のあるトランザクション・セット形成期間中にバックアップ・コンポーネント100、102、または104が失敗するかまたは除去されることによって開始される。このような場合、他のバックアップ・コンポーネント100、102、および/または104は、失敗または除去されたバックアップ・コンポーネント100、102、および/または104のデータ更新を再構築し、いかなるデータ更新も失うことなく整合性のあるトランザクション・セットの形成を続行する。ブロック602で、バックアップ・コンポーネント100、102、または104が失敗したかまたは除去された旨を通知すると、その失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104に割り当てられたボリュームは、残りのバックアップ・コンポーネント100、102、および/または104に再度割り当てられる。ある一定の代替の実施他の実施態様では、特別バックアップ・コンポーネント(たとえば図2の108)が使用できる場合があり(すなわちN+1システム・アーキテクチャで、Nはアクティブなバックアップ・コンポーネントの数を表す)、失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104のすべてのボリュームが、この特別バックアップ・コンポーネント108に割り当てられる。
失敗したバックアップ・コンポーネント100、102、または104上にあった現在の整合性のあるトランザクション・セットに関するデータ更新も、他のバックアップ・コンポーネント100、102、または104にミラーリングされたため、新しく割り当てられた1つまたは複数のバックアップ・コンポーネント100、102、または104上でデータ更新を再構築することが可能である。ブロック604(図12)で、バックアップ・コンポーネント100、102、または104が責務を負わないボリュームに関するデータ更新をミラーリングする各バックアップ・コンポーネント100、102、または104は、そのボリュームに対する責務を負う新しく割り当てられたバックアップ・コンポーネント100、102、または104にデータ更新を送る。新しく割り当てられたバックアップ・コンポーネントは、データ更新のシーケンス識別子を使用してデータ更新を適切に順序付ける。
さらに、新しく割り当てられたバックアップ・コンポーネント100、102、または104は、このバックアップ・コンポーネント100、102、または104が失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104用のミラー・サイトであったことから、バックアップ・コンポーネント100、102、または104が割り当てられたボリュームに関するデータ更新のうちの少なくとも一部をすでに含んでいる可能性がある。ブロック606で、失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104に関する何らかのデータ更新をすでに含むこれらの新しく割り当てられた各バックアップ・コンポーネント100、102、または104は、他のバックアップ・コンポーネント100、102、または104に対してデータ更新をミラーリングする。そこで、データ更新は再度2箇所に存在することになる。
失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104は、システム・アーキテクチャ内の他のバックアップ・コンポーネント100、102、または104に割り当てられたボリュームに関するデータ更新用のミラー・サイトとしても働いていた。したがって、バックアップ・コンポーネント100、102、または104は、失敗したかまたは除去されたバックアップ・コンポーネント100、102、または104にミラーリングされたデータ更新がもはや第2のコピーを有していないことを認識し、各バックアップ・コンポーネント100、102、または104は他のバックアップ・コンポーネント100、102、または104に対してデータ更新を再度ミラーリングする(ブロック608)。ボリュームの所有権を移行した後、処理は通常通りに続行される。
ある一定の代替の実施他の実施態様では、各バックアップ・コンポーネント100、102、または104は、どのデータがミラーリングされたかを記述するデータおよび/またはメタデータをミラーリングすることができる。したがってある一定の実施実施態様では、メタデータのみがミラーリングされる。これらの代替の実施では、メタデータがミラーリングされたときに障害が発生した場合、そのメタデータは、ミラーリング済みデータの再分配について説明したのと同じ方法で再分配されることになる。メタデータが再分配された後、メタデータを有する新しい責務のあるバックアップ・コンポーネント100、102、または104は、メタデータに対応するデータを含む該当する1次制御ユニット110、130、または150から実際のデータを要求することになる。加えて、1次ソースからデータ更新を受け取るバックアップ・コンポーネント100、102、または104に、データが常駐するボリュームに対する責務が割り当てられていない場合、そのバックアップ・コンポーネント100、102、104はデータ(およびオプションでメタデータ)を転送することになるため、結果としてデータが常駐するボリュームに対する責務が割り当てられているバックアップ・コンポーネント100、102、104がデータを有することになる。
したがって、本発明の実施によって提供されるシステム・アーキテクチャはスケーラビリティを備えることが可能である。本発明の実施は、システム・アーキテクチャに整合性のあるトランザクション・セットを形成する任意数のバックアップ・コンポーネントを提供する。さらにバックアップ・コンポーネントはいつでも、バックアップ・コンポーネントのグループと結合するかまたはグループから離脱することができる。
これらの特徴は、バックアップ・コンポーネントをオンデマンドで追加または削除することが望ましいグリッド・コンピューティングから見て有用である。また、こうしたシステム・アーキテクチャは、システムがいかなるデータも失うことなしに、個々のバックアップ・コンポーネントの障害を許容することができるものでもある。
特定のボリュームが特定のバックアップ・コンポーネントに割り当てられるが、そのボリュームに関するデータ更新は1次ソースから任意のバックアップ・コンポーネントに送ることが可能であるため、データ更新が適用されることになるボリュームが割り当てられたバックアップ・コンポーネントに対してデータ更新がミラーリングされる。バックアップ・コンポーネントが失敗または除去された場合、その失敗したかまたは除去されたバックアップ・コンポーネントに割り当てられたボリュームは、残りのバックアップ・コンポーネントに再度割り当てられ、このバックアップ・コンポーネントはシーケンス識別子を使用してデータ更新を順序付けする。またボリュームの割り当ては、整合性のあるトランザクション・セット形成間で動的に変更することもできる。さらに、最も小さなバックアップ・コンポーネントの単位は個々のバックアップ・コンポーネントである。
IBM、Enterprise Storage Server、およびESCONは、米国および/または他の国でのInternational Business Machines Corporationの登録商標またはよく知られた法的な商標である。
追加の実施の詳細
任意数のバックアップ・コンポーネント用のシステム・アーキテクチャに関して記載された技法は、標準的なプログラミングおよび/またはエンジニアリング技法を使用してソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを生産する製造の方法、装置、またはコンピュータ・プログラム品物(article)として実施することができる。本明細書で使用される「製造品コンピュータ・プログラム」とは、ハードウェア論理で実施されるコードまたは論理(たとえば、集積回路チップ、プログラム可能ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)、あるいは、磁気記憶媒体(たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなど)、光記憶媒体(CD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえばEEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラム可能論理など)などの、コンピュータ読取り可能媒体を意味するに格納することができる。コンピュータ読取り可能媒体内のコンピュータ・プログラムのコードは、プロセッサによってアクセスおよび実行される。様々な実施形態が実施されるコードには、伝送媒体を介してまたはファイル・サーバからネットワークを介してもアクセスすることができる。このような場合には、コードが実施される対象製造品は、ネットワーク伝送回線、無線伝送媒体、空間を伝搬する信号、電波、赤外線信号などの、伝送媒体を備えることができる。したがって「製造品」は、コードが具体化される媒体を備えることができる。加えて「製造品」は、コードが具体化、処理、および実行されるハードウェアおよびソフトウェア・コンポーネントの組み合わせを備えることができる。もちろん当業者であれば、本発明の範囲を逸脱することなくこの構成に多くの修正を行うことが可能であること、および製造品が当分野で知られた任意の情報伝達媒体を備えることが可能であることを理解されよう。
図7、8、9、10、11、および12の論理は、特定の順序で発生する特定の操作を記載するものである。代替の実施では、ある一定の論理操作を異なる順序で実行する、修正する、または除去することが可能である。さらに、前述の論理に操作を追加し、依然として前述の実施に準拠することも可能である。また本明細書に記載された操作を順次実行すること、ある一定の操作を平行して処理すること、あるいは単一のプロセスによって実行するように記載された操作を分散プロセスによって実行することも可能である。
図7、8、9、10、11、および12に例示された論理は、ソフトウェア、ハードウェア、プログラム可能およびプログラム不能なゲート・アレイ論理で、あるいはハードウェア、ソフトウェア、またはゲート・アレイ論理の何らかの組み合わせで、実施することができる。
図13は、本発明のある一定の実施実施態様に従って使用可能なコンピュータ・システムのアーキテクチャを示す図である。たとえば、1次制御ユニット、2次制御ユニット、および/またはバックアップ・コンポーネントがコンピュータ・アーキテクチャ700を実施することができる。コンピュータ・アーキテクチャ700は、プロセッサ702(たとえばマイクロプロセッサ)、メモリ704(たとえば揮発性メモリ・デバイス)、およびストレージ710(たとえば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどの、不揮発性ストレージ領域)を実施することができる。メモリ704は、1つまたは複数のバッファ(図示せず)を含むことができる。オペレーティング・システム705はメモリ704内で実行することができる。ストレージ710は、内部ストレージ・デバイスあるいは接続されているかまたはネットワーク・アクセス可能なストレージを備えることができる。ストレージ710内のコンピュータ・プログラム706をメモリ704にロードし、当分野で知られた方法でプロセッサ702によって実行することが可能である。さらにアーキテクチャは、1つまたは複数のネットワーク・カード708(たとえば、他のコンポーネントおよび/またはコンピュータと通信するためのファイバー・チャネル、インターネット・プロトコルなど)を含み、たとえばネットワークを介して他のコンポーネントおよび/またはコンピュータと通信できるようにすることもできる。入力デバイス712はプロセッサ702にユーザ入力を提供するために使用され、キーボード、マウス、ペン・スタイラス、マイクロフォン、タッチ・センシティブ・ディスプレイ画面、あるいは、当分野で知られた任意の他のアクティブ化または入力メカニズムを含むことができる。出力デバイス714またはディスプレイ・モニタ、プリンタ、ストレージなどの他のコンポーネントは、プロセッサ702からの情報をレンダリングすることができる。コンピュータ・システムのコンピュータ・アーキテクチャ700は、図示されたよりも少ないコンポーネント、本明細書には示されていない追加のコンポーネント、あるいは図示されたコンポーネントと追加のコンポーネントとの何らかの組み合わせを含むことができる。
コンピュータ・アーキテクチャ700は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、ハンドヘルド・コンピュータ、電話デバイス、ネットワーク・アプライアンス、仮想化デバイス、ストレージ・コントローラ、その他などの、当分野で知られた任意のコンピューティング・デバイスを備えることができる。当分野で知られた任意のプロセッサ702およびオペレーティング・システム705を使用することができる。
以上、前述の本発明の実施についての記述は、例示および説明の目的で提示したものである。本発明を網羅するか、または開示された精密な形に限定することを意図するものではない。上記の教示に照らして、多くの修正形態および変形形態が可能である。本発明の範囲は、本書の発明を実施するための最良の形態によって限定されるのではなく、添付の特許請求の範囲によって限定されるものであることが意図されている。上記明細書、例、およびデータは、本発明の組成物の製造および使用に関する完全な説明を提供するものである。本発明の多くの実施が本発明の趣旨および範囲を逸脱することなく実行可能であるため、本発明は添付の特許請求の範囲内にあるものとされる。
本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。 本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。 本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。 本発明のある一定の実施実施態様に従ったコンピューティング環境を示すブロック図である。 本発明のある一定の実施実施態様に従った、各バックアップ・コンポーネントによって維持されるデータを示す図である。 本発明のある一定の実施実施態様に従った、各バックアップ・コンポーネントによって維持されるデータを示す図である。 本発明のある一定の実施実施態様に従った、受け取ったデータ更新を処理するためにバックアップ・コンポーネント内で実施される論理を示す図である。 本発明のある一定の実施実施態様に従った、受け取ったデータ更新を処理するためにバックアップ・コンポーネント内で実施される論理を示す図である。 本発明のある一定の実施実施態様に従った、整合性のあるトランザクション・セット形成期間について各バックアップ・コンポーネント内で実施される論理を示す図である。 本発明のある一定の実施実施態様に従った、新しいバックアップ・コンポーネントがオンラインの場合の論理を示す図である。 本発明のある一定の実施実施態様に従った、バックアップ・コンポーネントが失敗するかまたは除去された場合の論理を示す図である。 本発明のある一定の実施実施態様に従った、バックアップ・コンポーネントが失敗するかまたは除去された場合の論理を示す図である。 本発明のある一定の実施実施態様に従って使用可能なコンピュータ・システムのアーキテクチャを示す図である。
符号の説明
100 バックアップ・コンポーネント
102 バックアップ・コンポーネント
104 バックアップ・コンポーネント
110 1次制御ユニット
112 1次DASD
114 ホスト
116 2次制御ユニット
118 2次DASD
130 1次制御ユニット
132 1次DASD
134 ホスト
136 2次制御ユニット
138 2次DASD
150 1次制御ユニット
152 1次DASD
154 ホスト
156 2次制御ユニット
158 2次DASD
160 バックアップ・コンポーネント
162 バックアップ・コンポーネント
164 バックアップ・コンポーネント

Claims (41)

  1. 第1及び第2のバックアップ・コンポーネントを含む複数のバックアップ・コンポーネントを使用してデータを転送する方法であり、
    データのある部分に対する責務を第1のバックアップ・コンポーネントに割り当てるステップと、
    前記データの部分に関するデータ更新が1次ソースから前記第1のバックアップ・コンポーネントで受け取られる場合、前記データの部分に対する責務が割り当てられていない第2のバックアップ・コンポーネントに前記データ更新をミラーリングするステップと、
    を有する、複数のバックアップ・コンポーネントを使用してデータを転送するための方法。
  2. 前記データの部分に関するデータ更新が、前記1次ソースから前記データの部分に対する責務が割り当てられていない前記第2のバックアップ・コンポーネントで受け取られる場合、前記データ更新を前記第1のバックアップ・コンポーネントに転送するステップをさらに有する、請求項1に記載の方法。
  3. 前記データの部分に関するデータ更新が、前記データの部分に対する責務が割り当てられていないを負わない前記第2のバックアップ・コンポーネントから前記第1のバックアップ・コンポーネントで受け取られる場合、
    前記データ更新にシーケンス番号を割り当てるステップと、
    前記第2のバックアップ・コンポーネントに前記シーケンス番号を送信することによって、前記データ更新の受信に肯定応答するステップと、
    をさらに有する、請求項1に記載の方法。
  4. 前記データの部分に関するデータ更新が、前記データの部分に対する責務を負わない前記第2のバックアップ・コンポーネントで受け取られる場合、前記データ更新を格納するステップ
    をさらに有する、請求項1に記載の方法。
  5. 第1の通信パスを介して前記第1のバックアップ・コンポーネントおよび前記第2のバックアップ・コンポーネントが第1の通信パスを介して互いに通信し、第2の通信パスを介して前記第1のバックアップ・コンポーネントおよび前記第2のバックアップ・コンポーネントがそれぞれ第2の通信パスを介して前記1次ソースと通信するものである、請求項1に記載の方法。
  6. 1つの通信パスを介して前記第1のバックアップ・コンポーネントと、前記第2のバックアップ・コンポーネントと、前記1次ソースとが、互いに1つの通信パスを介して通信するものである、請求項1に記載の方法。
  7. さらに前記複数のバックアップ・コンポーネントそれぞれが、データの特定部分にどのバックアップ・コンポーネントが割り当てられているかについてのマッピングを維持するものである、請求項1に記載の方法。
  8. 前記複数のバックアップ・コンポーネントのうちの1つが前記データ更新を他のバックアップ・コンポーネントにミラーリングする場合、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を送信するステップと、
    どのバックアップ・コンポーネントにデータ更新が送られたかを追跡するステップと、
    をさらに有する、請求項1に記載の方法。
  9. 前記複数のバックアップ・コンポーネントのうちの1つが他のバックアップ・コンポーネントからミラーリングされたデータ更新を受け取る場合、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を受信するステップと、
    いずれのどのバックアップ・コンポーネントがデータ更新を送信したかを追跡するステップと、
    をさらに有する、請求項1に記載の方法。
  10. 複数のバックアップ・コンポーネントを含むグループを使用してデータ更新を処理する方法であり、
    前記グループ外の他の新しいバックアップ・コンポーネントがアクティブであるかどうかを判別するステップと、
    整合性のあるトランザクション・セット形成期間の終了前終わり近くに、データの1つまたは複数の部分に対する責務を、グループ内の各バックアップ・コンポーネントと前記他の新しいバックアップ・コンポーネントとに割り当てるステップと、
    次の整合性のあるトランザクション・セット形成期間中に、グループ内の各バックアップ・コンポーネントおよび前記新しい他のバックアップ・コンポーネントを使用してデータ更新を処理するステップと、
    を有する、バックアップ・コンポーネントのグループを使用してデータ更新を処理するための方法。
  11. 前記新しい他のバックアップ・コンポーネントが前記バックアップ・コンポーネントのグループの一部となるステップを有する、請求項10に記載の方法。
  12. 複数のバックアップ・コンポーネントを含むグループを使用してデータ更新を処理する方法であり、
    グループ内の第1のバックアップ・コンポーネントがもはや利用できないと決定使用可能でないかどうかを判別するステップと、
    前記第1のバックアップ・コンポーネントにが責務がを割り当てられていたデータの部分を、前記グループ内の他のバックアップ・コンポーネントそれぞれに再度割り当てるステップと、
    を有する、バックアップ・コンポーネントのグループを使用してデータ更新を処理するための方法。
  13. 前記第1のバックアップ・コンポーネントに関するデータ更新をミラーリングしていた前記グループ内の前記バックアップ・コンポーネントそれぞれが、前記データ更新が実行された前記データの部分に対する責務が割り当てられた前記バックアップ・コンポーネントに対して前記データ更新をミラーリングするステップを有する、請求項12に記載の方法。
  14. データのある部分が再度割り当てられ、前記データの部分に関するデータ更新を有する、前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対して前記データ更新をミラーリングするステップを有する、請求項12に記載の方法。
  15. 前記第1のバックアップ・コンポーネントに対してデータをミラーリングした前記グループ内の前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対してデータ更新をミラーリングするステップを有する、請求項12に記載の方法。
  16. 複数のバックアップ・コンポーネントを使用してコンピュータにデータを転送すさせるるコンピュータ・ためのプログラム論理を含む製造品であって、
    前記コンピュータに、前記プログラム論理は操作を実行するものであり、前記操作が、
    データのある部分に対する責務を第1のバックアップ・コンポーネントに割り当てるステップと、
    前記データの部分に関するデータ更新が1次ソースから前記第1のバックアップ・コンポーネントで受け取られる場合、前記データの部分に対する責務が割り当てられていない第2のバックアップ・コンポーネントに前記データ更新をミラーリングするステップと、
    を実行させるコンピュータ・プログラム有するものである、製造品。
  17. 前記コンピュータに操作が、
    前記データの部分に関するデータ更新が、前記1次ソースから前記データの部分に対する責務が割り当てられていない前記第2のバックアップ・コンポーネントで受け取られる場合、前記データ更新を前記第1のバックアップ・コンポーネントに転送するステップをさらに有するものである実行させる、請求項16に記載の製造品コンピュータ・プログラム。
  18. 前記コンピュータに操作が、
    前記データの部分に関するデータ更新が、前記データの部分に対する責務が割り当てられていないを負わない前記第2のバックアップ・コンポーネントから前記第1のバックアップ・コンポーネントで受け取られる場合、
    前記データ更新にシーケンス番号を割り当てるステップと、
    前記第2のバックアップ・コンポーネントに前記シーケンス番号を送信することによって、前記データ更新の受信に肯定応答するステップと、
    をさらに有するものである実行させる、請求項16に記載の製造品コンピュータ・プログラム。
  19. 前記コンピュータに操作が、
    前記データの部分に関するデータ更新が、前記データの部分に対する責務を負わない前記第2のバックアップ・コンポーネントで受け取られる場合、前記データ更新を格納するステップをさらに実行させるに有するものである、請求項16に記載の製造品コンピュータ・プログラム。
  20. 第1の通信パスを介して前記第1のバックアップ・コンポーネントおよび前記第2のバックアップ・コンポーネントが第1の通信パスを介して互いに通信し、第2の通信パスを介して前記第1のバックアップ・コンポーネントおよび前記第2のバックアップ・コンポーネントがそれぞれ第2の通信パスを介して前記1次ソースと通信するものである、請求項16に記載の製造品コンピュータ・プログラム。
  21. 一つの通信パスを介して前記第1のバックアップ・コンポーネントと、前記第2のバックアップ・コンポーネントと、前記1次ソースとが、1つの通信パスを介して互いに通信するものである、請求項16に記載の製造品コンピュータ・プログラム。
  22. 前記操作がコンピュータに、
    前記複数のバックアップ・コンポーネントそれぞれが、データの特定部分にどのバックアップ・コンポーネントが割り当てられているかについてのマッピングを維持することをさらに含むものであるさせる、請求項167に記載の製造品コンピュータ・プログラム。
  23. 前記複数のバックアップ・コンポーネントのうちの1つが前記データ更新を他のバックアップ・コンポーネントにミラーリングする場合、および前記操作が
    前記コンピュータに、、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を送信するステップと、
    いずれのどのバックアップ・コンポーネントにデータ更新が送信された送られたかを追跡するステップと、
    をさらに有するものである実行させる、請求項16に記載のコンピュータ・プログラム製造品。
  24. 前記複数のバックアップ・コンポーネントのうちの1つが他のバックアップ・コンポーネントからミラーリングされたデータ更新を受け取る場合、
    前記コンピュータに、および前記操作が、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を受信するステップと、
    どのバックアップ・コンポーネントがデータ更新を送信したかを追跡するステップと、
    をさらに実行させる有するものである、請求項16に記載の製造品コンピュータ・プログラム。
  25. 複数のバックアップ・コンポーネントを含むのグループを使用してコンピュータにデータ更新を処理するためのプログラム論理を含むさせる製造品コンピュータ・プログラムであって、
    前記コンピュータに、
    前記グループ外の他の前記プログラム論理は操作を実行するものであり、前記操作が、
    新しいバックアップ・コンポーネントがアクティブであるかどうかを判別するステップと、
    整合性のあるトランザクション・セット形成期間の終わり近く終了前に、データの1つまたは複数の部分に対する責務を、グループ内の各バックアップ・コンポーネントと前記他の新しいバックアップ・コンポーネントとに割り当てるステップと、
    次の整合性のあるトランザクション・セット形成期間中に、グループ内の各バックアップ・コンポーネントおよび前記他の新しいバックアップ・コンポーネントを使用してデータ更新を処理するステップと、
    を有するものである実行させる、製造品コンピュータ・プログラム。
  26. 前記コンピュータに、
    前記新しい他のバックアップ・コンポーネントが前記バックアップ・コンポーネントのグループの一部となるステップを実行させる、請求項25に記載の製造品コンピュータ・プログラム。
  27. 複数のバックアップ・コンポーネントを含むのグループを使用してコンピュータにデータ更新を処理させるするためのプログラム論理を含む製造品コンピュータ・プログラムであって、
    前記コンピュータに、前記プログラム論理は操作を実行するものであり、前記操作が、

    前記グループ内の第1のバックアップ・コンポーネントがもはや利用できないと決定する使用可能でないかどうかを判別するステップと、
    前記第1のバックアップ・コンポーネントにが責務がを割り当てられていたデータの部分を、前記グループ内の他のバックアップ・コンポーネントそれぞれに再度割り当てるステップと、
    を有するものである、実行させる製造品コンピュータ・プログラム。
  28. 前記第1のバックアップ・コンポーネントに関するデータ更新をミラーリングしていた前記グループ内の前記バックアップ・コンポーネントそれぞれが、前記データ更新が実行された前記データの部分に対する責務が割り当てられた前記バックアップ・コンポーネントに対して前記データ更新をミラーリングさせるステップを有するする、請求項27に記載の製造品コンピュータ・プログラム。
  29. データのある部分が再度割り当てられ、前記データの部分に関するデータ更新を有する、前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対して前記データ更新をミラーリングさせるステップを有するする、請求項27に記載の製造品コンピュータ・プログラム。
  30. 前記第1のバックアップ・コンポーネントに対してデータをミラーリングした前記グループ内の前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対してデータ更新をミラーリングさせるステップを有するする、請求項27に記載の製造品コンピュータ・プログラム。
  31. 第1及び第2のバックアップ・コンポーネントを含む複数のバックアップ・コンポーネントを使用してデータを転送するシステムであり、
    データのある部分に対する責務を第1のバックアップ・コンポーネントに割り当てるための手段と、
    前記データの部分に関するデータ更新が1次ソースから前記第1のバックアップ・コンポーネントで受け取られる場合、前記データの部分に対する責務が割り当てられていない第2のバックアップ・コンポーネントに前記データ更新をミラーリングするための手段と、
    を有する、複数のバックアップ・コンポーネントを使用してデータを転送するためのシステム。
  32. 前記データの部分に関するデータ更新が、前記1次ソースから前記データの部分に対する責務が割り当てられていない前記第2のバックアップ・コンポーネントで受け取られる場合、前記データ更新を前記第1のバックアップ・コンポーネントに転送するための手段をさらに有する、請求項31に記載のシステム。
  33. 前記データの部分に関するデータ更新が、前記データの部分に対する責務が割り当てられていないを負わない前記第2のバックアップ・コンポーネントから前記第1のバックアップ・コンポーネントで受け取られる場合、
    前記データ更新にシーケンス番号を割り当てるための手段と、
    前記第2のバックアップ・コンポーネントに前記シーケンス番号を送信することによって、前記データ更新の受信に肯定応答するための手段と、
    をさらに有する、請求項31に記載のシステム。
  34. 前記複数のバックアップ・コンポーネントのうちの1つが前記データ更新を他のバックアップ・コンポーネントにミラーリングする場合、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を送信するための手段と、
    どのバックアップ・コンポーネントにデータ更新が送られたかを追跡するための手段と、
    をさらに有する、請求項31に記載のシステム。
  35. 前記複数のバックアップ・コンポーネントのうちの1つが他のバックアップ・コンポーネントからミラーリングされたデータ更新を受け取る場合、
    前記ミラーリングされたデータ更新と共にシーケンス識別子を受信するための手段と、
    いずれのどのバックアップ・コンポーネントがデータ更新を送信したかを追跡するための手段と、
    をさらに有する、請求項31に記載のシステム。
  36. 複数のバックアップ・コンポーネントを含むグループを使用してデータ更新を処理するシステムであり、
    前記グループ外の他の新しいバックアップ・コンポーネントがアクティブであるかどうかを判別するための手段と、
    整合性のあるトランザクション・セット形成期間の終わり近くに終了前、データの1つまたは複数の部分に対する責務を、グループ内の各バックアップ・コンポーネントと前記新しい他のバックアップ・コンポーネントとに割り当てるための手段と、
    次の整合性のあるトランザクション・セット形成期間中に、グループ内の各バックアップ・コンポーネントおよび前記新しい他のバックアップ・コンポーネントを使用してデータ更新を処理するための手段と、
    を有する、バックアップ・コンポーネントのグループを使用してデータ更新を処理するためのシステム。
  37. 前記新しい他のバックアップ・コンポーネントが次のデータ更新では前記バックアップ・コンポーネントのグループの一部となる、請求項36に記載のシステム。
  38. 複数の バックアップ・コンポーネントを含むグループを使用してデータ更新を処理するシステムにおいて、
    グループ内の第1のバックアップ・コンポーネントがもはや使用可能でないかどうかを判別するための手段と、
    前記第1のバックアップ・コンポーネントが責務を割り当てられたデータの部分を、前記グループ内の他のバックアップ・コンポーネントそれぞれに再度割り当てるための手段と、
    を有する、バックアップ・コンポーネントのグループを使用してデータ更新を処理するためのシステム。
  39. 前記第1のバックアップ・コンポーネントに関するデータ更新をミラーリングしていた前記グループ内の前記バックアップ・コンポーネントそれぞれが、前記データ更新が実行された前記データの部分に対する責務が割り当てられた前記バックアップ・コンポーネントに対して前記データ更新をミラーリングする、請求項38に記載のシステム。
  40. データのある部分が再度割り当てられ、前記データの部分に関するデータ更新を有する、前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対して前記データ更新をミラーリングする、請求項38に記載のシステム。
  41. 前記第1のバックアップ・コンポーネントに対してデータをミラーリングした前記グループ内の前記バックアップ・コンポーネントのそれぞれが、他のバックアップ・コンポーネントに対してデータ更新をミラーリングする、請求項38に記載のシステム。
JP2005048141A 2004-02-25 2005-02-24 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム Active JP4791051B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/786,845 US7206911B2 (en) 2004-02-25 2004-02-25 Method, system, and program for a system architecture for an arbitrary number of backup components
US10/786,845 2004-02-25

Publications (2)

Publication Number Publication Date
JP2005243026A true JP2005243026A (ja) 2005-09-08
JP4791051B2 JP4791051B2 (ja) 2011-10-12

Family

ID=34861857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005048141A Active JP4791051B2 (ja) 2004-02-25 2005-02-24 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US7206911B2 (ja)
JP (1) JP4791051B2 (ja)
CN (1) CN100388224C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094755A (ja) * 2005-09-29 2007-04-12 Hitachi Ltd 記憶システムにおけるリモートコピー制御
JP2007183930A (ja) * 2006-01-03 2007-07-19 Internatl Business Mach Corp <Ibm> 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持
JP2007249721A (ja) * 2006-03-17 2007-09-27 Hitachi Ltd 情報処理システムのデータ入出力方法及び情報処理システム
JP2010044608A (ja) * 2008-08-13 2010-02-25 Nec Corp ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム
JP2010191859A (ja) * 2009-02-20 2010-09-02 Fujitsu Ltd ストレージ装置,ストレージ制御装置およびストレージ制御プログラム

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216552A1 (en) * 2004-03-24 2005-09-29 Samuel Fineberg Communication-link-attached persistent memory system
US9209989B2 (en) * 2004-06-01 2015-12-08 Inmage Systems, Inc. Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction
US8868858B2 (en) * 2006-05-19 2014-10-21 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US8224786B2 (en) * 2004-06-01 2012-07-17 Inmage Systems, Inc. Acquisition and write validation of data of a networked host node to perform secondary storage
US8949395B2 (en) * 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7979656B2 (en) 2004-06-01 2011-07-12 Inmage Systems, Inc. Minimizing configuration changes in a fabric-based data protection solution
US8055745B2 (en) * 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US7676502B2 (en) * 2006-05-22 2010-03-09 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7698401B2 (en) * 2004-06-01 2010-04-13 Inmage Systems, Inc Secondary data storage and recovery system
US7756833B2 (en) * 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
US7565581B1 (en) * 2004-09-23 2009-07-21 Emc Corporation Error handling policy
US7657780B2 (en) * 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8812433B2 (en) 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8918366B2 (en) 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US8799206B2 (en) 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US7313657B1 (en) 2005-03-24 2007-12-25 Sprint Communications Company L.P. Conflict avoidance in data store replication
US7584226B2 (en) * 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US8601225B2 (en) * 2005-09-16 2013-12-03 Inmage Systems, Inc. Time ordered view of backup data on behalf of a host
US8683144B2 (en) * 2005-09-16 2014-03-25 Inmage Systems, Inc. Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery
JP4577242B2 (ja) * 2006-03-10 2010-11-10 日本電気株式会社 データバックアップシステム、データバックアップ方法、及びその動作制御プログラム
US8554727B2 (en) * 2006-05-19 2013-10-08 Inmage Systems, Inc. Method and system of tiered quiescing
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
US8527470B2 (en) 2006-05-22 2013-09-03 Rajeev Atluri Recovery point data view formation with generation of a recovery view and a coalesce policy
US8838528B2 (en) * 2006-05-22 2014-09-16 Inmage Systems, Inc. Coalescing and capturing data between events prior to and after a temporal window
US8150805B1 (en) * 2006-06-30 2012-04-03 Symantec Operating Corporation Consistency interval marker assisted in-band commands in distributed systems
US7634507B2 (en) * 2006-08-30 2009-12-15 Inmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法
US20090259678A1 (en) * 2008-04-11 2009-10-15 Valencia John Alcario Bluetooth volume tracker
US8447940B2 (en) 2008-05-02 2013-05-21 International Business Machines Corporation Backup copy enhancements to reduce primary version access
US8028194B2 (en) * 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
US8069227B2 (en) * 2008-12-26 2011-11-29 Inmage Systems, Inc. Configuring hosts of a secondary data storage and recovery system
US8819471B2 (en) 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US9372910B2 (en) * 2012-01-04 2016-06-21 International Business Machines Corporation Managing remote data replication
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
CN107911159A (zh) * 2017-10-12 2018-04-13 北京电子工程总体研究所 一种基于wifi协议的星载无线容错通讯***
CN112805949B (zh) * 2018-10-01 2022-08-09 华为技术有限公司 处理快照创建请求的方法以及存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117359A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd 内部ネットワークを備えた記憶制御装置
JP2001209565A (ja) * 2000-01-28 2001-08-03 Hitachi Ltd サブシステム及びこれらの統合システム
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
JP2002334049A (ja) * 2001-05-11 2002-11-22 Hitachi Ltd 記憶サブシステムおよび記憶サブシステムの制御方法
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US88746A (en) * 1869-04-06 Improvement in asphaltic pavement
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5504861A (en) * 1994-02-22 1996-04-02 International Business Machines Corporation Remote data duplexing
US5615329A (en) * 1994-02-22 1997-03-25 International Business Machines Corporation Remote data duplexing
US6785786B1 (en) * 1997-08-29 2004-08-31 Hewlett Packard Development Company, L.P. Data backup and recovery systems
US6003044A (en) * 1997-10-31 1999-12-14 Oracle Corporation Method and apparatus for efficiently backing up files using multiple computer systems
US6341340B1 (en) * 1998-12-28 2002-01-22 Oracle Corporation Transitioning ownership of data items between ownership groups
US6463573B1 (en) * 1999-06-03 2002-10-08 International Business Machines Corporation Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure
US6959368B1 (en) * 1999-06-29 2005-10-25 Emc Corporation Method and apparatus for duplicating computer backup data
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
JP2003076592A (ja) 2001-09-04 2003-03-14 Hitachi Ltd データ格納システム
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117359A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd 内部ネットワークを備えた記憶制御装置
JP2001209565A (ja) * 2000-01-28 2001-08-03 Hitachi Ltd サブシステム及びこれらの統合システム
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
JP2002334049A (ja) * 2001-05-11 2002-11-22 Hitachi Ltd 記憶サブシステムおよび記憶サブシステムの制御方法
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094755A (ja) * 2005-09-29 2007-04-12 Hitachi Ltd 記憶システムにおけるリモートコピー制御
JP2007183930A (ja) * 2006-01-03 2007-07-19 Internatl Business Mach Corp <Ibm> 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持
JP2007249721A (ja) * 2006-03-17 2007-09-27 Hitachi Ltd 情報処理システムのデータ入出力方法及び情報処理システム
JP2010044608A (ja) * 2008-08-13 2010-02-25 Nec Corp ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム
JP2010191859A (ja) * 2009-02-20 2010-09-02 Fujitsu Ltd ストレージ装置,ストレージ制御装置およびストレージ制御プログラム

Also Published As

Publication number Publication date
US7206911B2 (en) 2007-04-17
JP4791051B2 (ja) 2011-10-12
CN100388224C (zh) 2008-05-14
CN1661563A (zh) 2005-08-31
US20050188165A1 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
JP4791051B2 (ja) 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム
JP3149325B2 (ja) 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
US7278049B2 (en) Method, system, and program for recovery from a failure in an asynchronous data copying system
US7133986B2 (en) Method, system, and program for forming a consistency group
US9256605B1 (en) Reading and writing to an unexposed device
US7137033B2 (en) Method, system, and program for synchronizing subtasks using sequence numbers
US8433869B1 (en) Virtualized consistency group using an enhanced splitter
US7516356B2 (en) Method for transmitting input/output requests from a first controller to a second controller
US7188222B2 (en) Method, system, and program for mirroring data among storage sites
US8209282B2 (en) Method, system, and article of manufacture for mirroring data at storage locations
US8954796B1 (en) Recovery of a logical unit in a consistency group while replicating other logical units in the consistency group
US7788453B2 (en) Redirection of storage access requests based on determining whether write caching is enabled
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
US7921273B2 (en) Method, system, and article of manufacture for remote copying of data
US7761431B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
US7185157B2 (en) Method, system, and article of manufacture for generating a copy of a first and a second set of volumes in a third set of volumes
US10235145B1 (en) Distributed scale-out replication
US20050071586A1 (en) Method, system, and program for asynchronous copy
US7451283B2 (en) Method, system, and program for copying tracks between a primary storage and secondary storage
US7647357B2 (en) Data transfer management in consistency group formation
US9582384B2 (en) Method and system for data replication
US11468091B2 (en) Maintaining consistency of asynchronous replication
US7089446B2 (en) Method, system, and article of manufacture for creating a consistent copy

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090825

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090825

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090924

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20091023

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110712

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4791051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150