JP4796398B2 - メタデータの複製および復元のための方法、システム、および製品 - Google Patents

メタデータの複製および復元のための方法、システム、および製品 Download PDF

Info

Publication number
JP4796398B2
JP4796398B2 JP2006019727A JP2006019727A JP4796398B2 JP 4796398 B2 JP4796398 B2 JP 4796398B2 JP 2006019727 A JP2006019727 A JP 2006019727A JP 2006019727 A JP2006019727 A JP 2006019727A JP 4796398 B2 JP4796398 B2 JP 4796398B2
Authority
JP
Japan
Prior art keywords
metadata
application
computing device
data
physical storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006019727A
Other languages
English (en)
Other versions
JP2006221628A5 (ja
JP2006221628A (ja
Inventor
ケネス・ウエイン・ボイド
ケネス・フェアクロー・デイ・ザ・サード
マーク・エドワード・ディーン
ジョン・ジェイ・ウォルフガング
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 JP2006221628A publication Critical patent/JP2006221628A/ja
Publication of JP2006221628A5 publication Critical patent/JP2006221628A5/ja
Application granted granted Critical
Publication of JP4796398B2 publication Critical patent/JP4796398B2/ja
Expired - Fee Related 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/2064Error 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 while ensuring consistency
    • 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

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)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Description

本開示はメタデータを複製、復元する方法、システム、および製品に関する。
情報技術システム(例えばストレージ・システム)はサイトの災害や停止からの保護を必要とする。さらに、情報技術システムはデータ・マイグレーション、データ・バックアップ、またはデータ二重化のための機能を必要とする。災害や停止からの復旧、データ・マイグレーション、データ・バックアップ、およびデータ二重化のための実装はミラーリング、すなわち1つのストレージ・システムから別のものへデータをコピーすることを含む。例えば、いくつかの情報技術システムでは、主ストレージ・システムから2次ストレージ・システムにデータを複製する。主ストレージ・システムが利用不能な場合、主ストレージ・システム中の利用不能なデータの代わりに2次ストレージ・システム中の複製済みデータを使用する。
回復時間目標とはデータの利用可能性がその時間内に復旧すべき時間のことである。例えば、証券取引の取引実行プログラムが、主ストレージ・システムが利用不能になってから30秒以内に起動、実行すべき場合、取引実行プログラムの回復時間目標は30秒間である。
目標回復時点とは処理を再開するために、その時までにデータが復旧されなければならない時点のことである。例えば、証券取引の取引実行プログラムが故障すると、全てのデータが2次ストレージに、同期してバックアップされていない場合には一部のデータが失われる。目標回復時点とは、その時までに取引実行プログラムと全ての失われたデータが復旧されるべき時点のことである。回復時間目標は時の期間であり、一方、目標回復時点は時における一点である。
計算システムにおいて、障害からの回復を短時間に行いうるようにする。
以下に示す方法、システム、およびプログラムを提供する。計算装置においてデータおよびメタデータを生成する。生成したデータを前記計算装置に接続された第1の物理的ストレージ・デバイスに格納する。生成したメタデータを前記計算装置に一時的に格納する。前記データおよび前記メタデータを第2の物理的ストレージ・デバイスに複製する。複製したデータおよび複製したメタデータを用いて、前記計算装置および前記第1の物理的ストレージ・デバイスのうちの少なくとも一方の障害から回復する。
いくつかの実施形態では、前記計算装置は第1の計算装置である。前記データおよび前記メタデータは前記第1の計算装置において実行されている第1のアプリケーションによって生成される。前記障害から回復する前記ステップは、さらに、前記複製したメタデータを第2の計算装置に復元するステップと、前記第1のアプリケーションのコピーである第2のアプリケーションが前記第2の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第2のアプリケーションは前記第2の計算装置において実行されうる、ステップとを含む。前記復元したメタデータおよび前記複製したデータを用いて、前記第1のアプリケーションの障害の時点から前記第2のアプリケーションを実行する。
いくつかのさらなる実施形態では、前記データおよび前記メタデータを第2の物理的ストレージ・デバイスに複製する前記ステップは、さらに、前記第1の物理的ストレージ・デバイスから前記第2の物理的ストレージ・デバイスに前記データをコピーするステップと、前記計算装置のメモリから前記第2の物理的ストレージ・デバイスに前記メタデータをコピーするステップとを含む。
付加的な実施形態では、前記メタデータは前記計算装置から別の計算装置への通信のためのメッセージを含む。さらなる実施形態では、前記メタデータは前記データおよび前記メタデータを生成する実行中のアプリケーションの状態情報を含む。
さらなる実施形態では、前記メタデータは前記第1の物理的ストレージ・デバイスに格納されない。
さらなる付加的な実施形態では、前記データおよび前記メタデータを複製する第1のシステムにおいて障害から回復するのための第1の期間は、前記データを複製するが前記メタデータを複製しない第2のシステムにおいて障害から回復するのための第2の期間よりも短い持続時間である。
さらなる実施形態では、前記メタデータは前記計算装置によって生成される第2のメタデータから選択される第1のメタデータであり、前記第2のメタデータから選択される前記第1のメタデータの量は回復時間目標に基づいている。
付加的な実施形態では、前記データおよび前記メタデータは一貫性のある態様で前記第2の物理的ストレージ・デバイスに複製される。
以下の記述において、その一部を形成すると共にいくつかの実施形態を示す添付図面に対する参照がなされる。他の実施形態が使用されうること、そして、構造上、動作上の変更がなされうることが理解される。
一部のアプリケーション(例えばデータベース・アプリケーション)はキャッシュまたは内部メモリにメタデータを一時的に格納させている。あるアプリケーションのためのデータの大部分は物理的ストレージ・デバイスに常駐しているけれども、全てのデータが常時、物理的ストレージに保持されている訳ではない。データ保護のために物理的ストレージ・デバイスが複製されている場合でさえ、システム障害の際、キャッシュまたは内部メモリに一時的に格納されているメタデータは失われる。その結果、故障したアプリケーションの一貫性のある版の回復は見込みがなく、完遂するのに極めて長い時間を要する。その場合、この「極めて長い時間」は回復時間目標よりも長い。
ある状況では、回復時間目標は重要であり、故障したアプリケーションは回復時間目標によって規定される期間内に実行を開始しなければならない。いくつかの実施形態では、一時的に格納されるメタデータを複製しない状況に比して回復時間を短縮するために、一時的に格納されるメタデータをキャッシュおよび内部メモリに複製する。例えば、データベースの障害が発生するいくつかの実施形態では、データベースの一貫性のある版を回復するのに必要な全てのデータとメタデータを複製しているから、データベースの回復はずっと速い。
図1はいくつかの実施形態によるコンピューティング環境のブロック図を示す。計算装置100は主ストレージ・デバイス102と複製ストレージ・デバイス104に接続されている。計算装置100は当技術分野において現在知られているもの、例えばパーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、テレフォニー装置、ネットワーク機器、ブレード・コンピュータ、ストレージ・サーバなどを含む任意の好適な装置である。主ストレージ・デバイス102と複製ストレージ・デバイス104は当技術分野において現在知られているもの、例えば直接アクセス・ストレージ・デバイス(DASD)、少なくとも1つのランクのRAID、単純ディスク束(JBOD)などを含む任意の好適なデータ・リポジトリ・システムを含む。いくつかの実施形態では、主ストレージ・デバイス102と複製ストレージ・デバイス104はストレージ・コントローラである。
図1は主ストレージ・デバイス102と複製ストレージ・デバイス104に直接に接続されている計算装置100を示すが、他の実施形態では、計算装置100、主ストレージ・デバイス102、および複製ストレージ・デバイス104は当技術分野において現在知られているもの、例えばストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネット、ワイド・エリア・ネットワーク(WAN)、無線ネットワークなどを含む好適なネットワークを介して接続されている。
計算装置100は実行中のユーザ・アプリケーション106a、アプリケーション・メタデータ108、およびレプリケータ110を含む。ユーザ・アプリケーション106aは当技術分野において現在知られているもの、例えばデータベース・アプリケーション、スプレッドシート・アプリケーション、ワード・プロセシング・アプリケーションなどを含む任意の好適なアプリケーションである。いくつかの実施形態では、ユーザ・アプリケーション106aは計算装置100で実行される。アプリケーション・メタデータ108は実行中のアプリケーション106aに付随するメタデータである。メタデータとはデータに関するデータのことである。例えば、ユーザ・アプリケーション106aが計算装置100で実行されると、ユーザ・アプリケーション106aに付随するアプリケーション・データ114は主ストレージ・デバイス102に格納される。アプリケーション・メタデータ108はアプリケーション・データ114のためのメタデータである。この場合、ユーザ・アプリケーション106aが計算装置100で実行されている間、アプリケーション・メタデータ108は計算装置100に一時的に格納される。例えば、ユーザ・アプリケーション106aはデータベース・アプリケーションであり、アプリケーション・データ114は該データベース・アプリケーションに対応するデータベースであり、アプリケーション・メタデータ108は実行中の該データベース・アプリケーションと該データベースに対応するメタデータである。
レプリケータ110はハードウェア、ソフトウェア、またはファームウェアで実装された任意の好適なアプリケーションである。その場合、レプリケータ110はアプリケーション・データ114を複製ストレージ・デバイス104にコピーする。いくつかの実施形態では、コピーされたアプリケーション・データは「アプリケーション・データのコピー」116なるデータ要素に格納される。さらに、レプリケータ110はアプリケーション・メタデータの選択された部分をも複製ストレージ・デバイス104にコピーし、「選択アプリケーション・メタデータ」118なるデータ要素への格納の用に供する。
計算装置100が第1の計算装置である幾つかの実施形態では、複製ストレージ・デバイス104には第2の計算装置120が接続される。いくつかの実施形態では、第2の計算装置120にはリストアラ112が存在する。この場合、リストアラ112はハードウェア、ソフトウェア、またはファームウェアで実装された任意の好適なアプリケーションである。計算装置100の障害の際、第2の計算装置120と複製ストレージ・デバイス104を含むシステムはアプリケーション・データのコピー116とアプリケーション・メタデータのコピー118とを用いてユーザ・アプリケーション106aのコピーであるユーザ・アプリケーション106bをユーザ・アプリケーション106aが故障した時点から再始動することにより、該障害から復旧する。
リストアラ112はより高レベルのアプリケーション(図示せず)と協働し、複製ストレージ・デバイス104に存在する選択アプリケーション・メタデータ118を用いて目標回復時点内にユーザ・アプリケーション106bを開始する。ユーザ・アプリケーション106bはユーザ・アプリケーション106aのコピーであるから、ユーザ・アプリケーション106bを開始するすることは、故障したユーザ・アプリケーション106aの実行を実質的に継続することになる。したがって、第1の計算装置100の障害の際、リストアラ112は選択アプリケーション・メタデータ118を第2の計算装置120に復元する。いくつかの実施形態では、より高レベルのアプリケーション(図示せず)はリストアラ112と協働し、ユーザ・アプリケーション106aのコピーであるユーザ・アプリケーション106bを選択アプリケーション・メタデータ118を用いて開始することにより、ユーザ・アプリケーション106aの実行を継続する。
したがって、図1は第1の計算装置100中のリストアラ110が実行中のユーザ・アプリケーション106aに対するアプリケーション・メタデータ108とアプリケーション・データ114を複製ストレージ・デバイス104に複製する実施形態を示す。第1の計算装置100の障害の際、第2の計算装置120中のリストアラ112はより高レベルのアプリケーションと協働し、選択アプリケーション・メタデータ118に格納されているアプリケーション・メタデータと、アプリケーション・データのコピー116に格納されているアプリケーション・メタデータとを用いて、ユーザ・アプリケーション106aの障害の目標回復時点内にユーザ・アプリケーション106bを再始動する。ただし、ユーザ・アプリケーション106bはユーザ・アプリケーション106aのコピーである。
図2はいくつかの実施形態により計算装置100に実装される典型的アプリケーション・メタデータ200を示すブロック図を示す。いくつかの実施形態では、典型的アプリケーション・メタデータ200は図1のアプリケーション・メタデータ108に対応する。
典型的アプリケーション・メタデータ200はキャッシュの中のメタデータ202、メイン・メモリの中のメタデータ206、実行中のユーザ・アプリケーション106aの状態情報208、実行中のユーザ・アプリケーション106aの内部記憶状態210、中間計算データ212、および、主ストレージ・デバイス102に格納されていない他の情報214を含む。典型的アプリケーション・メタデータ200を構成する図2の中の構成要素は典型例であり、1つの典型的なコンポーネントの中に存在する情報は別の典型的なコンポーネントの中に存在してもよい。例えば、メイン・メモリの中のメタデータ204の部分群(以下、複数であることを表現する場合、「群」なる表現を用いる)はキャッシュの中のメタデータ202にも存在する。典型的アプリケーション・メタデータ200のコンポーネント群は図2に示されるものとは異なるようにも分類されうる。
典型的アプリケーション・メタデータ200の部品は計算装置100のキャッシュまたはメイン・メモリに格納される。その場合、キャッシュまたはメイン・メモリに格納された部品は一時的(すなわち暫定的)であり、主ストレージ・デバイス102に保存されない。例えば、いくつかの実施形態では、計算装置100のキャッシュの中のメタデータ202と計算装置100のメイン・メモリの中のメタデータ204とは主ストレージ・デバイス102には格納されない。メタデータ202、204はユーザ・アプリケーション106aの実行中に生成される。
ユーザ・アプリケーション106aの実行中、いくつかのメッセージ206が生成される。例えば、実行中のユーザ・アプリケーション106aの状態を表すメッセージが計算装置100において生成され、別の計算装置への送付の用に供される。そのような生成されたメッセージ206は計算装置100に一時的に格納され、主ストレージ・デバイス102には格納されない。
いくつかの実施形態では、実行中のユーザ・アプリケーション106aの状態情報208と実行中のユーザ・アプリケーション106aの内部記憶状態210は計算装置100に一時的に格納される。いくつかの付加的な実施形態では、実行中のユーザ・アプリケーション106aによって一連の計算が実行される。そして、この一連の計算の間に生成される中間値は主ストレージ・デバイス102ではなく中間計算データ212に一時的に格納される。いくつかの実施形態では、一連の計算の最終結果のみが主ストレージ・デバイス102に格納される。いくつかの実施形態では、主ストレージ・デバイス102に格納されない他の情報214、すなわちアプリケーション・データ114に格納されない情報も典型的なアプリケーション・メタデータ200を構成している。
図2は典型的アプリケーション・メタデータ200が計算装置100に複数の形態で一時的(すなわち暫定的)に格納される実施形態を示す。その場合、典型的アプリケーション・メタデータ200はユーザ・アプリケーション106aの実行中、主ストレージ・デバイス102に格納されない。
図3はいくつかの実施形態によりアプリケーション・メタデータ108を複製するブロック図をを示す。
実行中のユーザ・アプリケーション106aはアプリケーション・データ114を生成する(参照数字300)と共に、アプリケーション・メタデータ108をも生成する(参照数字302)。アプリケーション・データ114は主ストレージ・デバイス102に書き込まれる(参照数字304)。
いくつかの実施形態では、レプリケータ110はアプリケーション・データ114を読み取り(参照数字306)、アプリケーション・データ114の複製ストレージ・デバイス104への書き込みを制御して(参照数字308)アプリケーション・データのコピー116を生成する。レプリケータ110は、アプリケーション・データ114がユーザ・アプリケーション106aによって生成されたときに該アプリケーション・データ114を読み取る、あるいは、主ストレージ・デバイス102からアプリケーション・データ114を読み取る。いくつかの別の実施形態では、主ストレージ・デバイス102から複製ストレージ・デバイス104へのアプリケーション・データ114のコピーはレプリケータ110とは異なるアプリケーションによって実行される。
いくつかの実施形態では、レプリケータ110は計算装置100からアプリケーション・メタデータ108を読み取り(参照数字310)、該アプリケーション・メタデータ108を複製ストレージ・デバイス104中の選択アプリケーション・メタデータ118に書き込む(参照数字312)。
アプリケーション・データのコピー116と組み合わされた選択アプリケーション・メタデータ118は、計算装置100および主ストレージ・デバイス102の一方の障害の際における回復時間目標内のユーザ・アプリケーション106aの実行の再開にとって十分である。いくつかの実施形態では、第1の計算装置100の障害の際、レプリケータ112はより高レベルのアプリケーションと協働し、第2の計算装置120においてユーザ・アプリケーション106b(ユーザ・アプリケーション106bはユーザ・アプリケーション106aのコピーである)を開始する。いくつかの実施形態では、第1の回復時間目標が第2の回復時間目標よりも時間間隔が短い場合、アプリケーション・メタデータ118への格納のために、より多量のアプリケーション・メタデータ108を選択しなければならない。アプリケーション・データ114とアプリケーション・メタデータ108は幾つかの実施形態では、複製ストレージ・デバイス104に一貫した態様で複製される。複製が非同期で行われる場合、いくつかの実施形態では、一貫した複製が必要である。
図3はレプリケータ110がアプリケーション・データ114とアプリケーション・メタデータ108の選択された部品とを複製ストレージ・デバイス104に格納する実施形態を示す。
図4はいくつかの実施形態に従い、アプリケーション・メタデータ108を復元することにより回復時間目標内にユーザ・アプリケーション106aの実行を継続するブロック図を示す。いくつかの実施形態では、アプリケーション・メタデータ108は第1の計算装置100の障害の際、リストアラ112によって第2の計算装置120に復元される。
主ストレージ・デバイス102に格納されているアプリケーション・データ114の利用不能の場合、あるいは、ユーザ・アプリケーション106aの障害の場合、リストアラ(すなわち復元アプリケーション)は複製ストレージ・デバイス104との通信を確立する(参照数字400)。リストアラ112は複製ストレージ・デバイス104からアプリケーション・データのコピー116と選択メタデータ118のコピーを読み取る(参照数字402)。アプリケーション・データのコピー116と選択メタデータ118のコピーはアプリケーション・データ114の利用不能あるいはユーザ・アプリケーション106aの障害の前に、レプリケータ110によって格納される。
リストアラ112は選択メタデータ118を計算装置、例えば第2の計算装置120に復元する(参照数字404)。例えば、復元される選択メタデータ406は第2の計算装置120に格納される。第2の計算装置120の内部または外部に配置されている、より高レベルのアプリケーション407はユーザ・アプリケーション106b(図4では実行中のユーザ・アプリケーション410として示されている)を再始動する(参照数字408)。再始動された実行中のユーザ・アプリケーション410は復元された選択メタデータ406とアプリケーション・データのコピー116を用いて実行される。選択アプリケーション・メタデータ118の復元は再始動された実行中のユーザ・アプリケーション410(これはユーザ・アプリケーション106aに対応する)が選択メタデータ118の復元がない場合に比してより短い待機期間内に開始、実行されるのを可能にする。
したがって、図4は選択メタデータ118の復元が、再始動された実行中のユーザ・アプリケーション410が回復時間目標よりも短い期間内に開始、実行されるのを可能にするいくつかの実施形態を示す。図4は計算装置120にあるリストアラを示すが、いくつかの別の実施形態では、リストアラは計算装置100にも存在する。
図5はいくつかの実施形態によりメタデータを複製、復元する操作を示す。いくつかの実施形態では、複製は第1の計算装置100に実装され、復元は第2の計算装置120に実装される。
まず、制御はブロック500において開始する。そこで、複製アプリケーション(例えばレプリケータ110)はアプリケーション・データ114とアプリケーション・メタデータ108を読み取る。アプリケーション・データ114とアプリケーション・メタデータ108はユーザ・アプリケーション106aの実行によって生成される。
複製アプリケーション110は(ブロック502において)アプリケーション・データ114の複製ストレージ・デバイス104への書き込みを制御する。並行して、複製アプリケーション110は(ブロック504において)アプリケーション・メタデータ108の少なくともいくつかの部分を選択する。その場合、アプリケーション・メタデータ108の選択された部分は主ストレージ・デバイス102に格納されているアプリケーション・データ114の利用不能の場合、あるいは、ユーザ・アプリケーション106aの障害の場合、回復時間目標を満たすように使用されうる。
アプリケーション・メタデータ108の少なくとも幾つかの部分の選択に続き、複製アプリケーション110は(ブロック506において)選択されたアプリケーション・メタデータ118を複製ストレージ・デバイス104に書き込む。制御はブロック502、506からブロック500に戻り、(ブロック500において)さらに生成されるアプリケーション・データ114とアプリケーション・メタデータ108を読み取る。したがって、実行中のユーザ・アプリケーション106aが更新されたアプリケーション・データ114と更新されたアプリケーション・メタデータ108の生成を惹起するのにつれて、複製アプリケーション110は複製ストレージ・デバイス104を繰り返し更新し続ける。
制御はブロック500からブロック508にも進む。そこでは、主ストレージ・デバイス102がアプリケーション・データ114を実行中のユーザ・アプリケーション106aにとって利用可能にするのに失敗する、あるいは、実行中のユーザ・アプリケーション106aが故障する。実行中のユーザ・アプリケーション106aにとってのアプリケーション・データ114の利用不能は、複数の理由、例えば主ストレージ・デバイス102中のディスクその他のストレージ・ユニットの障害のせいである。主ストレージ・デバイス102中のアプリケーション・データ114が利用不能になると、実行中のユーザ・アプリケーション106aは実行を先に進められなくなる。ユーザ・アプリケーション106aは第1の計算装置100の障害によっても故障する。
復元アプリケーション(例えばリストアラ112)は(ブロック510において)複製ストレージ・デバイス104との通信を確立する。復元アプリケーション112は(ブロック512において)選択されたアプリケーション・メタデータ118のコピーを読み取る。
復元アプリケーション112は(ブロック514において)より高レベルのアプリケーション407と組み合わされ、(ユーザ・アプリケーション106aのコピーによって、すなわちユーザ・アプリケーション106bによって)実行中のユーザ・アプリケーション106aを復元し、復元された選択メタデータ408とアプリケーション・データのコピー116とを用いて実行を継続する。選択メタデータ408を復元すると、ユーザ・アプリケーション106aはユーザ・アプリケーション106aに対応するアプリケーション・メタデータが複製ストレージ・デバイス104に複製されない状況と比べ、より短い待機期間で実行を継続するようになる。既に実行を継続しているユーザ・アプリケーション106a(すなわち106b)はアプリケーション・データが複製ストレージ・デバイス104中にあることを予期するから、複製アプリケーション112はアプリケーション・データのコピー116を読み取る必要がない。
したがって、図5はアプリケーションがアプリケーション・メタデータ108を複製ストレージ・デバイス104に複製しうる幾つかの実施形態を示す。システム障害の場合、複製されたアプリケーション・メタデータを使用すると、アプリケーション・メタデータの複製が行われていない状況と比べ、より短い期間で障害から回復することができる。
いくつかの実施形態では、リストアラ112とレプリケータ10は同一の、または異なる計算装置上に存在する。例えば、図1に示すように、いくつかの実施形態ては、レプリケータ10は第1の計算装置100に存在し、リストアラ112は第2の計算装置120に存在する。このような場合、リストアラ112は複製メタデータ118を第2の計算装置120に復元し、障害からの回復の用に供する。
いくつかの実施形態では、レプリケータ110とリストアラ112は複製される関連メタデータを全て保持するコンテナ・クラスを生成することにより、実装される。このコンテナ・クラスはデータ更新の際に全てのメタデータを複製ストレージ・デバイス104に自動的に複製しうるように機能強化されている。いくつかの他の実施形態では、ユーザはメタデータの複製すべき部分を選択してもよい。そうすると、対応するメタデータが複製される。
あるいは、いくつかの実施形態では、メタデータの内部メモリへの読み書きのためのアプリケーション・プログラミング・インターフェース(API)を実装することができる。このアプリケーション・プログラミング・インターフェースはデータの更新が行われる時には常に全ての必要なメタデータを複製ストレージ・デバイス104に複製する。いくつかの実装では、この全てのメタデータを格納するのに、計算装置100の内部メモリにラムディスクを生成する。ラムディスクとはパーティションとして使用するように割り当てられたメモリの部分のことであり、すなわち、ラムディスクを構成するメモリの部分はハード・ディスク駆動装置と類似の態様でデータを格納することができる。このラムディスクに対するアクセスはラムディスク・デバイス・ドライバを経由する。このラムディスク・デバイス・ドライバもラムディスクに対する全ての書き込みを複製ストレージ・デバイス104に、同期して複製する。
いくつかの実施形態では、障害からのより速い回復を実現しうるように、複製ストレージ・デバイス104には高速データ・リンクが備えられている。そして、複製ストレージ・デバイス104はユーザ・アプリケーション106aの実行を継続する第2の計算装置120に近接して保持される。
いくつかの実施形態では、複製ストレージ・デバイス104はメタデータの更新とディスク・データの更新の双方を組み合わせて単一の一貫性グループを形成する。その結果、複製データと複製メタデータは回復時間目標内での回復を可能にするのに必要な情報を全て含む。データとメタデータは特に非同期複製方式の場合、複製ストレージ・デバイス104に一貫した態様で複製される。
いくつかの実施形態はデータの複製の解決策において、単なる物理的なストレージ以外のエンティティの複製を可能にする。物理的なディスク・ボリュームを2次ストレージ・サイトに複製しうる、データ複製産業における製品は複製データの回復時間目標が短いが、回復時間目標を制御する手段を有さない。いくつかの実施形態は物理的なストレージと共に非物理的なストレージを複製する機能を提供する。例えば、サーバの内部メモリまたはキャッシュが複製される、あるいは、2つのサーバ間のデータ・ラインを通じて行われるデータ転送が複製される。いくつかの実施形態は物理的なボリュームと非物理的なボリュームの間におけるデータの一貫性の維持をも行う。
いくつかの実施形態は、付加的な複製メタデータを有する結果として複製ストレージ・デバイスからの回復はより短時間で済むという予期の下に、複製された物理的ストレージと複製された内部キャッシュの記憶または状態との双方を提供しうる複製の解決策を提供する。したがって、このデータ複製の解決策の回復時間目標は、いくつかの実施形態においてこれを得ることができる。
〔付加的な実施形態の細部〕
上述した手法は方法、装置、ソフトウェアを含む製品、ファームウェア、マイクロコード、ハードウェア、または、これらの組み合わせ、あるいは、これら全てのものとして実現される。ここで使用される用語「製品」は回路(例えば集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、ASICなど)もしくはコンピュータ読み取り可能な媒体(例えば磁気記憶媒体(例えばハード・ディスク駆動装置、フレキシブル・ディスク、テープ)、光学ストレージ(例えばCD−ROM、DVD−ROM、光ディスクなど)、揮発性および不揮発性のメモリ・デバイス(例えば電気的に消去可能かつプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、ランダム・アクセス・メモリ(RAM)、動的ランダム・アクセス・メモリ(DRAM)、静的ランダム・アクセス・メモリ(SRAM)、フラッシュ、ファームウェア、プログラマブル・ロジックなど))または双方において実装されるプログラム命令、コード、もしくは論理、または、これら全てを指す。コンピュータ読み取り可能な媒体中のコードはマシン(例えばプロセッサ)によってアクセスされ実行される。いくつかの実施形態では、実施形態が作られるコードはさらに、伝送媒体を通じて、またはネットワークを介してファイル・サーバからアクセス可能である。そのような場合、コードが実装されている製品は伝送媒体(例えばネットワーク伝送ライン、無線伝送媒体、空間を伝搬する信号、無線波、赤外線信号など)を含む。無論、実施形態の範囲を逸脱することなく多くの変更をなしうること、および、製品は当技術分野で既知の任意の情報担持媒体を含むことを当業者は認識しうる。例えば、製品はマシンによって実行されると操作の遂行を齎す命令をその中に格納している記憶媒体を含む。
図6はいくつかの実施形態が実装されるシステム600のブロック図を示す。いくつかの実施形態では、計算装置100、120はシステム600により実装される。システム600はいくつかの実施形態ではプロセッサ604を備えた回路602を含む。システム600はメモリ606(例えば揮発性メモリ装置)およびストレージ608をも含む。システム600のいくつかの構成要素は計算装置100、120の中に存在することもあるし、そうでないこともある。ストレージ608は不揮発性メモリ装置(例えばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、ファームウェア、プログラマブル・ロジックなど)、磁気ディスク駆動装置、光ディスク駆動装置、テープ駆動装置などを含む。ストレージ608は内部ストレージ・デバイス、外付けストレージ・デバイス、もしくはネットワーク・アクセス可能なストレージ・デバイス、または、これら全てを含む。システム600はメモリ606中にロードされ、プロセッサ604または回路602によって実行されるコード612を含むプログラム論理610を含む。いくつかの実施形態では、コード612を含むプログラム論理610はストレージ608に格納される。
いくつかの実施形態はコンピュータ読み取り可能なコードをコンピューティング・システム中に組み込む、人または自動処理によるコンピューティング命令を配置する方法に関する。その場合、上記コードはコンピューティング・システムと協働し、上述した実施形態のオペレーションを実行しうるようにされている。
図5の少なくとも一部の操作は順次に加え並行して実行される。別の実施形態では、一部の操作は異なる順序で実行される、変更される、あるいは、除去される。
さらに、ソフトウェア・コンポーネント群とハードウェア・コンポーネント群のうちの多くのものは説明の目的のために個別に記載されている。そのようなコンポーネント群はより少数のコンポーネントに統合されうる、あるいは、より多数のコンポーネントに分割されうる。さらに、特定のコンポーネントによって実行されるように記述されたいくつかの操作は他のコンポーネントによって実行されうる。
図1〜6において示された、あるいは参照されたデータ構造およびコンポーネントは特定の種類の情報を有するものとして記述されている。別の実施形態では、データ構造およびコンポーネントは、異なる態様でこれを構成することができる、そして図面において示された、あるいは参照されたものより少ない、多い、または異なるフィールド、あるいは異なる機能を有する。したがって、実施形態の上述した記述は説明と記述の目的のために提示されている。それは網羅的なであること、あるいは、実施形態を、開示された通りの形態に限定することを意図していない。上述した教示に鑑み、多くの変更例と変形例が可能である。
いくつかの実施形態によるコンピューティング環境のブロック図である。 いくつかの実施形態による典型的なアプリケーション・メタデータを示すブロック図である。 いくつかの実施形態によりメタデータを複製するブロック図である。 いくつかの実施形態によりメタデータを復元するブロック図である。 いくつかの実施形態によりメタデータを複製、復元する操作を示す図である。 その中にいくつかの実施形態が実装されるシステムを示す図である。
符号の説明
100 計算装置、第1の計算装置
102 主ストレージ・デバイス、第1の物理ストレージ・デバイス
104 複製ストレージ・デバイス、第2の物理ストレージ・デバイス
106a (実行中の)ユーザ・アプリケーション
106b ユーザ・アプリケーション(のコピー)
108 アプリケーション・メタデータ、メタデータ
110 レプリケータ、複製アプリケーション
112 リストアラ、復元/復元中のアプリケーション
114 アプリケーション・データ、データ
116 アプリケーション・データのコピー、複製データ
118 選択アプリケーション・メタデータ、複製メタデータ
120 計算装置、第2の計算装置
200 (第1の組のデータに含まれない一貫性を維持するように複製された)典型的アプリケーション・メタデータ
202 (キャッシュの中の)メタデータ
204 (メイン・メモリの中の)メタデータ
206 (例えば、実行中のユーザ・アプリケーションの状態を表すある計算装置から別の計算装置への)メッセージ
208 (実行中のユーザ・アプリケーションの)状態情報
210 (実行中のユーザ・アプリケーションの)内部記憶状態
212 中間計算データ
214 (主ストレージ・デバイスに格納されない)他の情報
600 システム
602 回路
604 リストアラ(群)
606 メモリ
608 ストレージ
610 プログラム論理
612 コード

Claims (20)

  1. 複製アプリケーションおよび復元アプリケーションを実施するためにコンテナ・クラスを生成するステップであって、前記複製アプリケーションは第1の計算装置において実行され、前記復元アプリケーションは第2の計算装置において実行され、前記コンテナ・クラスは複製対象のメタデータ全てを保持する、ステップと、
    前記第1の計算装置において、実行中の第1のアプリケーションによってデータおよび第1のメタデータを生成するステップであって、前記生成されたデータが前記第1の計算装置に接続された第1の物理的ストレージ・デバイスに格納され、前記生成された第1のメタデータが前記第1の計算装置のRAMディスクにおいて前記第1の計算装置に一時的に格納され、前記RAMディスクが前記第1の計算装置の内部メモリの一部であり、前記RAMディスクをパーティションとして割り当て、前記RAMディスクにRAMディスク・デバイス・ドライバを介してアクセスし、前記第1のメタデータを生成するために、前記実行中の第1のアプリケーションが、(a)前記実行中の第1のアプリケーションの状態情報を前記第1のメタデータに格納し、(b)前記第1の計算装置から別の計算装置への通信のためのメッセージを前記第1のメタデータに格納し、(c)前記実行中の第1のアプリケーションの内部メモリ状態を前記第1のメタデータに格納し、(d)前記実行中の第1のアプリケーションが実行した一連の計算によって生成された中間値を一時的に格納する中間計算データを前記第1のメタデータに格納し、前記第1のメタデータの部分を前記第1の計算装置に一時的に格納して前記第1のメタデータの前記部分を前記第1の物理的ストレージ・デバイスにセーブしない、ステップと、
    前記第1の計算装置において実行する前記複製アプリケーションによって、前記データおよび前記第1のメタデータの少なくとも部分を第2の物理的ストレージ・デバイスに複製するステップであって、
    (i)前記第1の物理的ストレージ・デバイスから前記第2の物理的ストレージ・デバイスに前記データをコピーし、
    (ii)前記第1の計算装置における前記実行中の第1のアプリケーションの障害から回復するための期間を規定する回復時間目標に基づいて前第1のメタデータから第2のメタデータを選択し、前記第2のメタデータが前記第1のメタデータの部分であり前記第1のメタデータよりも量が少なく、前記RAMディスク・デバイス・ドライバによって前記RAMディスクに対する書き込み全てを前記第2の物理的ストレージ・デバイスに同期して複製することによって前記第1の計算装置の前記RAMディスクから前記第2の物理的ストレージ・デバイスに前記第2のメタデータをコピーし、前記第2の物理的ストレージ・デバイスが前記データおよび前記第2のメタデータの双方を組み合わせて単一の一貫性グループとし、前記データおよび前記第2のメタデータが一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、ステップと、
    前記回復時間目標によって規定される前記期間内に前記実行中の第1のアプリケーションの障害から回復するステップであって、
    (i)前記第2の計算装置において実行する前記復元アプリケーションによって、前記複製した第2のメタデータを前記第2の計算装置に復元し、前記第2の計算装置は前記第1の計算装置とは異なり、
    (ii)前記第1の計算装置において実行していた前記第1のアプリケーションのコピーである第2のアプリケーションが前記第2の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にし、
    (iii)前記実行中の第1のアプリケーションの前記状態情報を含む前記復元した第2のメタデータおよび前記複製したデータを用いて、前記第1のアプリケーションの障害の時点から前記第2の計算装置において前記第2のアプリケーションを実行し、前記第2のアプリケーションは前記回復時間目標によって規定される前記期間内に実行を開始する、ステップと、
    を含む方法。
  2. 前記メタデータは前記第1の物理的ストレージ・デバイスに格納されない、請求項1に記載の方法。
  3. 前記データおよび前記メタデータを複製する第1のシステムにおいて前記障害から回復するための第1の期間は、前記データを複製するが前記メタデータを複製しない第2のシステムにおいて前記障害から回復するための第2の期間よりも短い持続時間である、請求項1に記載の方法。
  4. 前記データおよび前記メタデータは一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、請求項1に記載の方法。
  5. コンピュータ読み取り可能なコードをコンピューティング・システムに組み込むステップを含む、コンピューティング・インフラストラクチャを展開する方法であって、前記コードは前記コンピューティング・システムと協働して、
    複製アプリケーションおよび復元アプリケーションを実施するためにコンテナ・クラスを生成するステップであって、前記複製アプリケーションは第1の計算装置において実行され、前記復元アプリケーションは第2の計算装置において実行され、前記コンテナ・クラスは複製対象のメタデータ全てを保持する、ステップと、
    前記第1の計算装置において、実行中の第1のアプリケーションによってデータおよび第1のメタデータを生成するステップであって、前記生成されたデータが前記第1の計算装置に接続された第1の物理的ストレージ・デバイスに格納され、前記生成された第1のメタデータが前記第1の計算装置のRAMディスクにおいて前記第1の計算装置に一時的に格納され、前記RAMディスクが前記第1の計算装置の内部メモリの一部であり、前記RAMディスクをパーティションとして割り当て、前記RAMディスクにRAMディスク・デバイス・ドライバを介してアクセスし、前記第1のメタデータを生成するために、前記実行中の第1のアプリケーションが、(a)前記実行中の第1のアプリケーションの状態情報を前記第1のメタデータに格納し、(b)前記第1の計算装置から別の計算装置への通信のためのメッセージを前記第1のメタデータに格納し、(c)前記実行中の第1のアプリケーションの内部メモリ状態を前記第1のメタデータに格納し、(d)前記実行中の第1のアプリケーションが実行した一連の計算によって生成された中間値を一時的に格納する中間計算データを前記第1のメタデータに格納し、前記第1のメタデータの部分を前記第1の計算装置に一時的に格納して前記第1のメタデータの前記部分を前記第1の物理的ストレージ・デバイスにセーブしない、ステップと、
    前記第1の計算装置において実行する前記複製アプリケーションによって、前記データおよび前記第1のメタデータの少なくとも部分を第2の物理的ストレージ・デバイスに複製するステップであって、
    (i)前記第1の物理的ストレージ・デバイスから前記第2の物理的ストレージ・デバイスに前記データをコピーし、
    (ii)前記第1の計算装置における前記実行中の第1のアプリケーションの障害から回復するための期間を規定する回復時間目標に基づいて前第1のメタデータから第2のメタデータを選択し、前記第2のメタデータが前記第1のメタデータの部分であり前記第1のメタデータよりも量が少なく、前記RAMディスク・デバイス・ドライバによって前記RAMディスクに対する書き込み全てを前記第2の物理的ストレージ・デバイスに同期して複製することによって前記第1の計算装置の前記RAMディスクから前記第2の物理的ストレージ・デバイスに前記第2のメタデータをコピーし、前記第2の物理的ストレージ・デバイスが前記データおよび前記第2のメタデータの双方を組み合わせて単一の一貫性グループとし、前記データおよび前記第2のメタデータが一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、ステップと、
    前記回復時間目標によって規定される前記期間内に前記実行中の第1のアプリケーションの障害から回復するステップであって、
    (i)前記第2の計算装置において実行する前記復元アプリケーションによって、前記複製した第2のメタデータを前記第2の計算装置に復元し、前記第2の計算装置は前記第1の計算装置とは異なり、
    (ii)前記第1の計算装置において実行していた前記第1のアプリケーションのコピーである第2のアプリケーションが前記第2の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にし、
    (iii)前記実行中の第1のアプリケーションの前記状態情報を含む前記復元した第2のメタデータおよび前記複製したデータを用いて、前記第1のアプリケーションの障害の時点から前記第2の計算装置において前記第2のアプリケーションを実行し、前記第2のアプリケーションは前記回復時間目標によって規定される前記期間内に実行を開始する、ステップと、
    を実行しうる、方法。
  6. 前記メタデータは前記第1の物理的ストレージ・デバイスに格納されない、請求項5に記載のコンピューティング・インフラストラクチャを展開する方法。
  7. 前記データおよび前記メタデータを複製する第1のシステムにおいて前記障害から回復するための第1の期間は、前記データを複製するが前記メタデータを複製しない第2のシステムにおいて前記障害から回復するための第2の期間よりも短い持続時間である、請求項5に記載のコンピューティング・インフラストラクチャを展開する方法。
  8. 前記データおよび前記メタデータは一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、請求項5に記載のコンピューティング・インフラストラクチャを展開する方法。
  9. (i)前記第1の計算装置は、(a)複製アプリケーションと、(b)前記第1のアプリケーションであるユーザ・アプリケーションと、を含み、
    (ii)前記第2の計算装置は、(a)復元アプリケーションと、(b)前記第2のアプリケーションである、前記ユーザ・アプリケーションのコピーと、を含む、請求項5に記載のコンピューティング・インフラストラクチャを展開する方法。
  10. (i)前記第1の計算装置は、(a)複製アプリケーションと、(b)前記第1のアプリケーションであるユーザ・アプリケーションと、を含み、
    (ii)前記第2の計算装置は、(a)復元アプリケーションと、(b)前記第2のアプリケーションである、前記ユーザ・アプリケーションのコピーと、を含む、請求項1に記載の方法。
  11. メモリと、
    前記メモリに結合され、動作を実行するプロセッサであって、前記動作が、
    複製アプリケーションおよび復元アプリケーションを実施するためにコンテナ・クラスを生成するステップであって、前記複製アプリケーションは第1の計算装置において実行され、前記復元アプリケーションは第2の計算装置において実行され、前記コンテナ・クラスは複製対象のメタデータ全てを保持する、ステップと、
    前記第1の計算装置において、実行中の第1のアプリケーションによってデータおよび第1のメタデータを生成するステップであって、前記生成されたデータが前記第1の計算装置に接続された第1の物理的ストレージ・デバイスに格納され、前記生成された第1のメタデータが前記第1の計算装置のRAMディスクにおいて前記第1の計算装置に一時的に格納され、前記RAMディスクが前記第1の計算装置の内部メモリの一部であり、前記RAMディスクをパーティションとして割り当て、前記RAMディスクにRAMディスク・デバイス・ドライバを介してアクセスし、前記第1のメタデータを生成するために、前記実行中の第1のアプリケーションが、(a)前記実行中の第1のアプリケーションの状態情報を前記第1のメタデータに格納し、(b)前記第1の計算装置から別の計算装置への通信のためのメッセージを前記第1のメタデータに格納し、(c)前記実行中の第1のアプリケーションの内部メモリ状態を前記第1のメタデータに格納し、(d)前記実行中の第1のアプリケーションが実行した一連の計算によって生成された中間値を一時的に格納する中間計算データを前記第1のメタデータに格納し、前記第1のメタデータの部分を前記第1の計算装置に一時的に格納して前記第1のメタデータの前記部分を前記第1の物理的ストレージ・デバイスにセーブしない、ステップと、
    前記第1の計算装置において実行する前記複製アプリケーションによって、前記データおよび前記第1のメタデータの少なくとも部分を第2の物理的ストレージ・デバイスに複製するステップであって、
    (i)前記第1の物理的ストレージ・デバイスから前記第2の物理的ストレージ・デバイスに前記データをコピーし、
    (ii)前記第1の計算装置における前記実行中の第1のアプリケーションの障害から回復するための期間を規定する回復時間目標に基づいて前第1のメタデータから第2のメタデータを選択し、前記第2のメタデータが前記第1のメタデータの部分であり前記第1のメタデータよりも量が少なく、前記RAMディスク・デバイス・ドライバによって前記RAMディスクに対する書き込み全てを前記第2の物理的ストレージ・デバイスに同期して複製することによって前記第1の計算装置の前記RAMディスクから前記第2の物理的ストレージ・デバイスに前記第2のメタデータをコピーし、前記第2の物理的ストレージ・デバイスが前記データおよび前記第2のメタデータの双方を組み合わせて単一の一貫性グループとし、前記データおよび前記第2のメタデータが一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、ステップと、
    前記回復時間目標によって規定される前記期間内に前記実行中の第1のアプリケーションの障害から回復するステップであって、
    (i)前記第2の計算装置において実行する前記復元アプリケーションによって、前記複製した第2のメタデータを前記第2の計算装置に復元し、前記第2の計算装置は前記第1の計算装置とは異なり、
    (ii)前記第1の計算装置において実行していた前記第1のアプリケーションのコピーである第2のアプリケーションが前記第2の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にし、
    (iii)前記実行中の第1のアプリケーションの前記状態情報を含む前記復元した第2のメタデータおよび前記複製したデータを用いて、前記第1のアプリケーションの障害の時点から前記第2の計算装置において前記第2のアプリケーションを実行し、前記第2のアプリケーションは前記回復時間目標によって規定される前記期間内に実行を開始する、ステップと、
    を含む、システム。
  12. 前記メタデータは前記第1の物理的ストレージ・デバイスに格納されない、請求項11に記載のシステム。
  13. 前記データおよび前記メタデータを複製する第1のシステムにおいて前記障害から回復するための第1の期間は、前記データを複製するが前記メタデータを複製しない第2のシステムにおいて前記障害から回復するための第2の期間よりも短い持続時間である、請求項11に記載のシステム。
  14. 前記データおよび前記メタデータは一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、請求項11に記載のシステム。
  15. (i)前記第1の計算装置は、(a)複製アプリケーションと、(b)前記第1のアプリケーションであるユーザ・アプリケーションと、を含み、
    (ii)前記第2の計算装置は、(a)復元アプリケーションと、(b)前記第2のアプリケーションである、前記ユーザ・アプリケーションのコピーと、を含む、請求項11に記載のシステム。
  16. コンピュータ読み取り可能なプログラムであって、プロセッサによって実行された場合に動作を引き起こし、前記動作が、
    複製アプリケーションおよび復元アプリケーションを実施するためにコンテナ・クラスを生成するステップであって、前記複製アプリケーションは第1の計算装置において実行され、前記復元アプリケーションは第2の計算装置において実行され、前記コンテナ・クラスは複製対象のメタデータ全てを保持する、ステップと、
    前記第1の計算装置において、実行中の第1のアプリケーションによってデータおよび第1のメタデータを生成するステップであって、前記生成されたデータが前記第1の計算装置に接続された第1の物理的ストレージ・デバイスに格納され、前記生成された第1のメタデータが前記第1の計算装置のRAMディスクにおいて前記第1の計算装置に一時的に格納され、前記RAMディスクが前記第1の計算装置の内部メモリの一部であり、前記RAMディスクをパーティションとして割り当て、前記RAMディスクにRAMディスク・デバイス・ドライバを介してアクセスし、前記第1のメタデータを生成するために、前記実行中の第1のアプリケーションが、(a)前記実行中の第1のアプリケーションの状態情報を前記第1のメタデータに格納し、(b)前記第1の計算装置から別の計算装置への通信のためのメッセージを前記第1のメタデータに格納し、(c)前記実行中の第1のアプリケーションの内部メモリ状態を前記第1のメタデータに格納し、(d)前記実行中の第1のアプリケーションが実行した一連の計算によって生成された中間値を一時的に格納する中間計算データを前記第1のメタデータに格納し、前記第1のメタデータの部分を前記第1の計算装置に一時的に格納して前記第1のメタデータの前記部分を前記第1の物理的ストレージ・デバイスにセーブしない、ステップと、
    前記第1の計算装置において実行する前記複製アプリケーションによって、前記データおよび前記第1のメタデータの少なくとも部分を第2の物理的ストレージ・デバイスに複製するステップであって、
    (i)前記第1の物理的ストレージ・デバイスから前記第2の物理的ストレージ・デバイスに前記データをコピーし、
    (ii)前記第1の計算装置における前記実行中の第1のアプリケーションの障害から回復するための期間を規定する回復時間目標に基づいて前第1のメタデータから第2のメタデータを選択し、前記第2のメタデータが前記第1のメタデータの部分であり前記第1のメタデータよりも量が少なく、前記RAMディスク・デバイス・ドライバによって前記RAMディスクに対する書き込み全てを前記第2の物理的ストレージ・デバイスに同期して複製することによって前記第1の計算装置の前記RAMディスクから前記第2の物理的ストレージ・デバイスに前記第2のメタデータをコピーし、前記第2の物理的ストレージ・デバイスが前記データおよび前記第2のメタデータの双方を組み合わせて単一の一貫性グループとし、前記データおよび前記第2のメタデータが一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、ステップと、
    前記回復時間目標によって規定される前記期間内に前記実行中の第1のアプリケーションの障害から回復するステップであって、
    (i)前記第2の計算装置において実行する前記復元アプリケーションによって、前記複製した第2のメタデータを前記第2の計算装置に復元し、前記第2の計算装置は前記第1の計算装置とは異なり、
    (ii)前記第1の計算装置において実行していた前記第1のアプリケーションのコピーである第2のアプリケーションが前記第2の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にし、
    (iii)前記実行中の第1のアプリケーションの前記状態情報を含む前記復元した第2のメタデータおよび前記複製したデータを用いて、前記第1のアプリケーションの障害の時点から前記第2の計算装置において前記第2のアプリケーションを実行し、前記第2のアプリケーションは前記回復時間目標によって規定される前記期間内に実行を開始する、ステップと、
    を含む、コンピュータ読み取り可能なプログラム。
  17. 前記メタデータは前記第1の物理的ストレージ・デバイスに格納されない、請求項16に記載のコンピュータ読み取り可能なプログラム。
  18. 前記データおよび前記メタデータを複製する第1のシステムにおいて前記障害から回復するための第1の期間は、前記データを複製するが前記メタデータを複製しない第2のシステムにおいて前記障害から回復するための第2の期間よりも短い持続時間である、請求項16に記載のコンピュータ読み取り可能なプログラム。
  19. 前記データおよび前記メタデータは一貫性のある様式で前記第2の物理的ストレージ・デバイスに複製される、請求項16に記載のコンピュータ読み取り可能なプログラム。
  20. (i)前記第1の計算装置は、(a)複製アプリケーションと、(b)前記第1のアプリケーションであるユーザ・アプリケーションと、を含み、
    (ii)前記第2の計算装置は、(a)復元アプリケーションと、(b)前記第2のアプリケーションである、前記ユーザ・アプリケーションのコピーと、を含む、請求項16に記載のコンピュータ読み取り可能なプログラム。
JP2006019727A 2005-02-09 2006-01-27 メタデータの複製および復元のための方法、システム、および製品 Expired - Fee Related JP4796398B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/054976 2005-02-09
US11/054,976 US7987158B2 (en) 2005-02-09 2005-02-09 Method, system and article of manufacture for metadata replication and restoration

Publications (3)

Publication Number Publication Date
JP2006221628A JP2006221628A (ja) 2006-08-24
JP2006221628A5 JP2006221628A5 (ja) 2008-11-27
JP4796398B2 true JP4796398B2 (ja) 2011-10-19

Family

ID=36781126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019727A Expired - Fee Related JP4796398B2 (ja) 2005-02-09 2006-01-27 メタデータの複製および復元のための方法、システム、および製品

Country Status (4)

Country Link
US (1) US7987158B2 (ja)
JP (1) JP4796398B2 (ja)
CN (1) CN100440156C (ja)
TW (1) TWI391830B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170123337A (ko) * 2015-12-25 2017-11-07 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 애플리케이션 로딩 방법 및 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870353B2 (en) * 2005-08-15 2011-01-11 International Business Machines Corporation Copying storage units and related metadata to storage
US20070164842A1 (en) * 2006-01-19 2007-07-19 Lumera Corporation Electro-Optic Radiometer to Detect Radiation
US7743023B2 (en) * 2006-02-01 2010-06-22 Microsoft Corporation Scalable file replication and web-based access
US9152515B2 (en) * 2007-11-27 2015-10-06 International Business Machines Corporation Apparatus and method for managing storage copy services systems
US8266112B1 (en) * 2007-12-19 2012-09-11 Symantec Corporation Techniques for recovery of application level objects
US8229886B2 (en) * 2008-02-19 2012-07-24 International Business Machines Corporation Continuously available program replicas
US8108635B2 (en) * 2008-06-27 2012-01-31 International Business Machines Corporation System, method and computer program product for copying data
US8623728B2 (en) 2009-07-28 2014-01-07 Taiwan Semiconductor Manufacturing Company, Ltd. Method for forming high germanium concentration SiGe stressor
CN102511036B (zh) * 2009-09-25 2015-09-30 国际商业机器公司 数据存储
CN102063447A (zh) * 2009-11-16 2011-05-18 联想(北京)有限公司 系统状态切换时的文件呈现方法及便携终端
US8380678B2 (en) * 2009-11-24 2013-02-19 Symantec Corporation Tracking files which have been processed by a backup or a restore operation
US8793706B2 (en) * 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US9824131B2 (en) 2012-03-15 2017-11-21 Hewlett Packard Enterprise Development Lp Regulating a replication operation
US8930747B2 (en) 2012-03-30 2015-01-06 Sungard Availability Services, Lp Private cloud replication and recovery
US8645323B2 (en) * 2012-04-10 2014-02-04 International Business Machines Corporation Large volume data replication using job replication
US9251008B2 (en) * 2013-03-14 2016-02-02 International Business Machines Corporation Client object replication between a first backup server and a second backup server
US9104597B2 (en) 2013-04-16 2015-08-11 International Business Machines Corporation Destaging cache data using a distributed freezer
US9104332B2 (en) 2013-04-16 2015-08-11 International Business Machines Corporation Managing metadata and data for a logical volume in a distributed and declustered system
US9298617B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Parallel destaging with replicated cache pinning
US9619404B2 (en) 2013-04-16 2017-04-11 International Business Machines Corporation Backup cache with immediate availability
US9329938B2 (en) 2013-04-16 2016-05-03 International Business Machines Corporation Essential metadata replication
US9423981B2 (en) 2013-04-16 2016-08-23 International Business Machines Corporation Logical region allocation with immediate availability
US9298398B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Fine-grained control of data placement
CN105324765B (zh) 2013-05-16 2019-11-08 慧与发展有限责任合伙企业 选择用于去重复数据的存储区
US10592347B2 (en) 2013-05-16 2020-03-17 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
CN105207958B (zh) * 2014-06-05 2020-05-05 中兴通讯股份有限公司 一种元数据处理方法、交换机及控制器
JP6181876B2 (ja) * 2014-06-25 2017-08-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd マルチメディア情報を管理する方法、装置、及び無人航空機
US10282201B2 (en) * 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
CN107861958B (zh) * 2016-09-22 2021-10-01 腾讯科技(深圳)有限公司 一种元数据同步方法及装置
US10389743B1 (en) 2016-12-22 2019-08-20 Symantec Corporation Tracking of software executables that come from untrusted locations
US10613939B2 (en) 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US10831503B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Saving and restoring machine state between multiple executions of an instruction
US10831478B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Sort and merge instruction for a general-purpose processor
US10831502B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Migration of partially completed instructions
JP2021114164A (ja) 2020-01-20 2021-08-05 富士通株式会社 ストレージ装置及びストレージ制御方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS556623A (en) 1978-06-30 1980-01-18 Toshiba Corp Doubling method for memory content of auxiliary memory unit
DE69126067T2 (de) * 1990-06-29 1997-10-02 Oracle Corp Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
JPH05216697A (ja) 1992-02-04 1993-08-27 Nippon Telegr & Teleph Corp <Ntt> 計算機システムの障害回復方法
JP2682811B2 (ja) * 1994-03-22 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶管理システム及び方法
US6105148A (en) * 1995-06-16 2000-08-15 Lucent Technologies Inc. Persistent state checkpoint and restoration systems
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5937414A (en) * 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US6240416B1 (en) 1998-09-11 2001-05-29 Ambeo, Inc. Distributed metadata system and method
US6205558B1 (en) * 1998-10-07 2001-03-20 Symantec Corporation Recovery of file systems after modification failure
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6615223B1 (en) * 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
US6591376B1 (en) * 2000-03-02 2003-07-08 Hewlett-Packard Development Company, L.P. Method and system for failsafe recovery and upgrade of an embedded operating system
US6553391B1 (en) 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
US6871271B2 (en) * 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
DE10211606B4 (de) * 2002-03-12 2017-06-08 Kip Cr P1 Lp Datenverarbeitungseinrichtung mit einem Metadatensicherungsmanagement
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US6981177B2 (en) * 2002-04-19 2005-12-27 Computer Associates Think, Inc. Method and system for disaster recovery
US7159150B2 (en) * 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
US7356622B2 (en) * 2003-05-29 2008-04-08 International Business Machines Corporation Method and apparatus for managing and formatting metadata in an autonomous operation conducted by a third party
JP4149315B2 (ja) * 2003-06-12 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション バックアップシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170123337A (ko) * 2015-12-25 2017-11-07 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 애플리케이션 로딩 방법 및 장치
KR101955145B1 (ko) * 2015-12-25 2019-03-06 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 애플리케이션 로딩 방법 및 장치

Also Published As

Publication number Publication date
CN1818877A (zh) 2006-08-16
US7987158B2 (en) 2011-07-26
JP2006221628A (ja) 2006-08-24
TWI391830B (zh) 2013-04-01
US20060179082A1 (en) 2006-08-10
TW200707226A (en) 2007-02-16
CN100440156C (zh) 2008-12-03

Similar Documents

Publication Publication Date Title
JP4796398B2 (ja) メタデータの複製および復元のための方法、システム、および製品
JP5031341B2 (ja) 記憶システム及びデータ管理方法
US7761732B2 (en) Data protection in storage systems
US8127174B1 (en) Method and apparatus for performing transparent in-memory checkpointing
US8788772B2 (en) Maintaining mirror and storage system copies of volumes at multiple remote sites
JP4594928B2 (ja) フラッシュバックデータベース
JP4583087B2 (ja) トランザクションの整合性を保つ書き込み時コピーのデータベース
US20080140963A1 (en) Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
JP4988370B2 (ja) 結合セッション環境におけるセッションのクラスタのためのセッション情報の統合方法、システム、およびプログラム
US20070234342A1 (en) System and method for relocating running applications to topologically remotely located computing systems
US20060206544A1 (en) Automatic backup and restore system and method
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
JP2007183930A (ja) 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持
TW201814520A (zh) 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品
CN113779149A (zh) 消息处理方法、装置、电子设备及可读存储介质
JP2006285991A (ja) ブロック複製によってファイルシステムの可用性を高めるための方法、サーバおよびプログラム
CN110597660A (zh) 一种虚拟机的数据备份方法、装置、设备及介质
US10860442B2 (en) Systems, methods and computer readable media for business continuity and disaster recovery (BCDR)
US8677088B1 (en) Systems and methods for recovering primary sites after failovers to remote secondary sites
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JPWO2022098450A5 (ja)
US20160077928A1 (en) Parallel Mirrored Copying with Write Consistency
US7831782B1 (en) Roll-back log to provide data consistency
US20200125457A1 (en) Using non-volatile memory to improve the availability of an in-memory database
JP5180578B2 (ja) 業務継続システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees