(57)【要約】【課題】  計算システムにおいて、障害から短時間で回復しうるようにする。【解決手段】  次に示す方法、システム、および製品を提供する。計算装置においてデータとメタデータが生成される。生成されたデータは計算装置に接続された第１の物理的ストレージ・デバイスに格納される。生成されたメタデータは計算装置に一時的に格納される。これらのデータとメタデータは第２の物理的ストレージ・デバイスに複製される。第２の物理的ストレージ・デバイス中の複製されたデータと複製されたメタデータを用いて、計算装置および第１の物理的ストレージ・デバイスのうちの少なくとも１つにおける障害から回復する。【選択図】  図１
2006221628.tif 000002
【特許請求の範囲】
【請求項１】
計算装置においてデータおよびメタデータを生成するステップであって、前記生成されたデータが前記計算装置に接続された第１の物理的ストレージ・デバイスに格納され、前記生成されたメタデータが前記計算装置に一時的に格納される、ステップと、
前記データおよび前記メタデータを第２の物理的ストレージ・デバイスに複製するステップと、
前記第２の物理的ストレージ・デバイス中の前記複製されたデータおよび前記複製されたメタデータを用いて、前記計算装置および前記第１の物理的ストレージ・デバイスのうちの少なくとも一方の障害から回復するステップと
を含む方法。
【請求項２】
前記計算装置は第１の計算装置であり、前記データおよび前記メタデータは前記第１の計算装置において実行される第１のアプリケーションによって生成され、前記障害から回復する前記ステップは、前記複製したメタデータを第２の計算装置に復元するステップと、
前記第１のアプリケーションのコピーである第２のアプリケーションが前記第２の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第２のアプリケーションは前記第２の計算装置において実行されうる、ステップと、
前記復元したメタデータおよび前記複製したデータを用いて、前記第１のアプリケーションの障害の時点から前記第２のアプリケーションを実行するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記データおよび前記メタデータを前記第２の物理的ストレージ・デバイスに複製する前記ステップは、
前記第１の物理的ストレージ・デバイスから前記第２の物理的ストレージ・デバイスに前記データをコピーするステップと、
前記計算装置のメモリから前記第２の物理的ストレージ・デバイスに前記メタデータをコピーするステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記メタデータは前記計算装置から別の計算装置への通信のためのメッセージを含む、請求項１に記載の方法。
【請求項５】
前記メタデータは前記データおよび前記メタデータを生成する実行中のアプリケーションの状態情報を含む、請求項１に記載の方法。
【請求項６】
前記メタデータは前記第１の物理的ストレージ・デバイスに格納されない、請求項１に記載の方法。
【請求項７】
前記データおよび前記メタデータを複製する第１のシステムにおいて前記障害から回復するのための第１の期間は、前記データを複製するが前記メタデータを複製しない第２のシステムにおいて前記障害から回復するのための第２の期間よりも短い持続時間である、請求項１に記載の方法。
【請求項８】
前記メタデータは前記計算装置によって生成される第２のメタデータから選択される第１のメタデータであり、前記第２のメタデータから選択される前記第１のメタデータの量は回復時間目標に基づいている、請求項１に記載の方法。
【請求項９】
前記データおよび前記メタデータは一貫性のある様式で前記第２の物理的ストレージ・デバイスに複製される、請求項１に記載の方法。
【請求項１０】
第１の物理的ストレージ・デバイスおよび第２の物理的ストレージ・デバイスと交信するシステムであって、
メモリと、
前記メモリに接続されたプロセッサとを含み、
前記プロセッサは
（i)データおよびメタデータを生成するステップであって、生成したデータが前記第１の物理的ストレージ・デバイスに格納され、生成したメタデータが一時的に格納される、ステップと、
（ii）前記データおよび前記メタデータを前記第２の物理的ストレージ・デバイスに複製するステップと、
（iii)前記第２の物理的ストレージ・デバイス中の前記複製したデータおよび前記複製したメタデータを用いて前記システムの障害から回復するステップと
を含む操作を実行することができる、システム。
【請求項１１】
第１の計算装置および第２の計算装置をさらに含み、前記データおよび前記メタデータは前記第１の計算装置において実行される第２のアプリケーションによって生成され、前記障害から回復するステップは、
前記複製したメタデータを前記第２の計算装置に復元するステップと、
前記第１のアプリケーションのコピーである第２のアプリケーションが前記第２の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第２のアプリケーションは前記第２の計算装置において実行されうる、ステップと、
前記復元したメタデータおよび前記複製したデータを用いて前記第２のアプリケーションを前記第１のアプリケーションの障害の時点から実行するステップと
をさｒに含む、請求項１０に記載のシステム。
【請求項１２】
前記データおよび前記メタデータを前記第２の物理的ストレージ・デバイスに複製する前記ステップが、
前記第１の物理的ストレージ・デバイスから前記第２の物理的ストレージ・デバイスに前記データをコピーする操作と、
前記メモリから前記第２の物理的ストレージ・デバイスに前記メタデータをコピーする操作と
をさらに含む、
請求項１０に記載のシステム。
【請求項１３】
前記メタデータは１つの計算装置から別の計算装置への通信のためのメッセージを含む、請求項１０に記載のシステム。
【請求項１４】
前記メタデータは前記データおよび前記メタデータを生成する実行中のアプリケーションの状態情報を含む、請求項１０に記載のシステム。
【請求項１５】
前記メタデータは前記第１の物理的ストレージ・デバイスに格納されない、請求項１０に記載のシステム。
【請求項１６】
前記データおよび前記メタデータを複製する第１のコンピューティング環境において前記障害から回復するのための第１の期間は、前記データを複製するが前記メタデータを複製しない第２のコンピューティング環境において前記障害から回復するのための第２の期間よりも短い持続時間である、請求項１０に記載のシステム。
【請求項１７】
前記メタデータは計算装置によって生成される第２のメタデータから選択される第１のメタデータであり、前記第２のメタデータから選択される前記第１のメタデータの量は回復時間目標に基づいている、請求項１０に記載のシステム。
【請求項１８】
前記データおよび前記メタデータは一貫性のある様式で前記第２の物理的ストレージ・デバイスに複製される、請求項１０に記載のシステム。
【請求項１９】
計算装置においてデータおよびメタデータを生成するステップであって、前記生成されたデータが前記計算装置に接続された第１の物理的ストレージ・デバイスに格納され、前記生成されたメタデータが前記計算装置に一時的に格納されるステップと、
前記データおよび前記メタデータを第２の物理的ストレージ・デバイスに複製するステップと、
前記第２の物理的ストレージ・デバイス中の前記複製されたデータおよび前記複製されたメタデータを用いて、前記計算装置および前記第１の物理的ストレージ・デバイスのうちの少なくとも一方の障害から回復するステップとを含む操作を実行させることができる装置。
【請求項２０】
前記計算装置は第１の計算装置であり、前記データおよび前記メタデータは前記第１の計算装置において実行される第１のアプリケーションによって生成され、
前記障害からの回復する前記ステップは、
前記複製したメタデータを第２の計算装置に復元するステップと、
前記第１のアプリケーションのコピーである第２のアプリケーションが前記第２の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第２のアプリケーションは前記第２の計算装置において実行されうる、ステップと、
前記復元したメタデータおよび前記複製したデータを用いて、前記第１のアプリケーションの障害の時点から前記第２のアプリケーションを実行するステップと
をさらに含む、請求項１９に記載の装置。
【請求項２１】
前記データおよび前記メタデータを前記第２の物理的ストレージ・デバイスに複製する前記ステップは、
前記第１の物理的ストレージ・デバイスから前記第２の物理的ストレージ・デバイスに前記データをコピーするステップと、
前記計算装置のメモリから前記第２の物理的ストレージ・デバイスに前記メタデータをコピーするステップと
をさらに含む、請求項１９に記載の装置。
【請求項２２】
前記メタデータは前記計算装置から別の計算装置への通信のためのメッセージを含む、請求項１９に記載の装置。
【請求項２３】
前記メタデータは前記データおよび前記メタデータを生成する実行中のアプリケーションの状態情報を含む、請求項１９に記載の装置。
【請求項２４】
前記メタデータは前記第１の物理的ストレージ・デバイスに格納されない、請求項１９に記載の装置。
【請求項２５】
前記データおよび前記メタデータを複製する第１のシステムにおいて前記障害から回復するのための第１の期間は、前記データを複製するが前記メタデータを複製しない第２のシステムにおいて前記障害から回復するのための第２の期間よりも短い持続時間である、請求項１９に記載の装置。
【請求項２６】
前記メタデータは前記計算装置によって生成される第２のメタデータから選択される第１のメタデータであり、前記第２のメタデータから選択される前記第１のメタデータの量は回復時間目標に基づいている、請求項１９に記載の装置。
【請求項２７】
前記データおよび前記メタデータは一貫性のある態様で前記第２の物理的ストレージ・デバイスに複製される、請求項１９に記載の装置。
【請求項２８】
コンピュータ読み取り可能なコードをコンピューティング・システムに組み込むステップを含む、コンピューティング・インフラストラクチャを展開する方法であって、前記コードは前記コンピューティング・システムと協働して、
計算装置においてデータおよびメタデータを生成するステップであって、前記生成されたデータが前記計算装置に接続された第１の物理的ストレージ・デバイスに格納され、前記生成されたメタデータが前記計算装置に一時的に格納される、ステップと、
前記データおよび前記メタデータを第２の物理的ストレージ・デバイスに複製するステップと、
前記第２の物理的ストレージ・デバイス中の前記複製されたデータおよび前記複製されたメタデータを用いて、前記計算装置および前記第１の物理的ストレージ・デバイスの少なくとも一方の障害から回復するステップと
を実行しうる、方法。
【請求項２９】
前記計算装置は第１の計算装置であり、前記データおよび前記メタデータは前記第１の計算装置において実行される第１のアプリケーションによって生成され、前記障害からの回復する前記ステップは、
前記複製したメタデータを第２の計算装置に復元するステップと、
前記第１のアプリケーションのコピーである第２のアプリケーションが前記第２の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第２のアプリケーションは前記第２の計算装置において実行されうる、ステップと、
前記復元したメタデータおよび前記複製したデータを用いて、前記第１のアプリケーションの障害の時点から前記第２のアプリケーションを実行するステップと
をさらに含む、請求項２８に記載の方法。
【請求項３０】
前記データおよび前記メタデータを前記第２の物理的ストレージ・デバイスに複製する前記ステップは、
前記第１の物理的ストレージ・デバイスから前記第２の物理的ストレージ・デバイスに前記データをコピーするステップと、
前記計算装置のメモリから前記第２の物理的ストレージ・デバイスに前記メタデータをコピーするステップと
をさらに含む、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はメタデータを複製、復元する方法、システム、および製品に関する。
【背景技術】
【０００２】
情報技術システム（例えばストレージ・システム）はサイトの災害や停止からの保護を必要とする。さらに、情報技術システムはデータ・マイグレーション、データ・バックアップ、またはデータ二重化のための機能を必要とする。災害や停止からの復旧、データ・マイグレーション、データ・バックアップ、およびデータ二重化のための実装はミラーリング、すなわち１つのストレージ・システムから別のものへデータをコピーすることを含む。例えば、いくつかの情報技術システムでは、主ストレージ・システムから２次ストレージ・システムにデータを複製する。主ストレージ・システムが利用不能な場合、主ストレージ・システム中の利用不能なデータの代わりに２次ストレージ・システム中の複製済みデータを使用する。
【０００３】
回復時間目標とはデータの利用可能性がその時間内に復旧すべき時間のことである。例えば、証券取引の取引実行プログラムが、主ストレージ・システムが利用不能になってから３０秒以内に起動、実行すべき場合、取引実行プログラムの回復時間目標は３０秒間である。
【０００４】
目標回復時点とは処理を再開するために、その時までにデータが復旧されなければならない時点のことである。例えば、証券取引の取引実行プログラムが故障すると、全てのデータが２次ストレージに、同期してバックアップされていない場合には一部のデータが失われる。目標回復時点とは、その時までに取引実行プログラムと全ての失われたデータが復旧されるべき時点のことである。回復時間目標は時の期間であり、一方、目標回復時点は時における一点である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
計算システムにおいて、障害からの回復を短時間に行いうるようにする。
【課題を解決するための手段】
【０００６】
以下に示す方法、システム、およびプログラムを提供する。計算装置においてデータおよびメタデータを生成する。生成したデータを前記計算装置に接続された第１の物理的ストレージ・デバイスに格納する。生成したメタデータを前記計算装置に一時的に格納する。前記データおよび前記メタデータを第２の物理的ストレージ・デバイスに複製する。複製したデータおよび複製したメタデータを用いて、前記計算装置および前記第１の物理的ストレージ・デバイスのうちの少なくとも一方の障害から回復する。
【０００７】
いくつかの実施形態では、前記計算装置は第１の計算装置である。前記データおよび前記メタデータは前記第１の計算装置において実行されている第１のアプリケーションによって生成される。前記障害から回復する前記ステップは、さらに、前記複製したメタデータを第２の計算装置に復元するステップと、前記第１のアプリケーションのコピーである第２のアプリケーションが前記第２の物理的ストレージ・デバイス中の前記複製したデータを使用するのを可能にするステップであって、前記第２のアプリケーションは前記第２の計算装置において実行されうる、ステップとを含む。前記復元したメタデータおよび前記複製したデータを用いて、前記第１のアプリケーションの障害の時点から前記第２のアプリケーションを実行する。
【０００８】
いくつかのさらなる実施形態では、前記データおよび前記メタデータを第２の物理的ストレージ・デバイスに複製する前記ステップは、さらに、前記第１の物理的ストレージ・デバイスから前記第２の物理的ストレージ・デバイスに前記データをコピーするステップと、前記計算装置のメモリから前記第２の物理的ストレージ・デバイスに前記メタデータをコピーするステップとを含む。
【０００９】
付加的な実施形態では、前記メタデータは前記計算装置から別の計算装置への通信のためのメッセージを含む。さらなる実施形態では、前記メタデータは前記データおよび前記メタデータを生成する実行中のアプリケーションの状態情報を含む。
【００１０】
さらなる実施形態では、前記メタデータは前記第１の物理的ストレージ・デバイスに格納されない。
【００１１】
さらなる付加的な実施形態では、前記データおよび前記メタデータを複製する第１のシステムにおいて障害から回復するのための第１の期間は、前記データを複製するが前記メタデータを複製しない第２のシステムにおいて障害から回復するのための第２の期間よりも短い持続時間である。
【００１２】
さらなる実施形態では、前記メタデータは前記計算装置によって生成される第２のメタデータから選択される第１のメタデータであり、前記第２のメタデータから選択される前記第１のメタデータの量は回復時間目標に基づいている。
【００１３】
付加的な実施形態では、前記データおよび前記メタデータは一貫性のある態様で前記第２の物理的ストレージ・デバイスに複製される。
【発明を実施するための最良の形態】
【００１４】
以下の記述において、その一部を形成すると共にいくつかの実施形態を示す添付図面に対する参照がなされる。他の実施形態が使用されうること、そして、構造上、動作上の変更がなされうることが理解される。
【００１５】
一部のアプリケーション（例えばデータベース・アプリケーション）はキャッシュまたは内部メモリにメタデータを一時的に格納させている。あるアプリケーションのためのデータの大部分は物理的ストレージ・デバイスに常駐しているけれども、全てのデータが常時、物理的ストレージに保持されている訳ではない。データ保護のために物理的ストレージ・デバイスが複製されている場合でさえ、システム障害の際、キャッシュまたは内部メモリに一時的に格納されているメタデータは失われる。その結果、故障したアプリケーションの一貫性のある版の回復は見込みがなく、完遂するのに極めて長い時間を要する。その場合、この「極めて長い時間」は回復時間目標よりも長い。
【００１６】
ある状況では、回復時間目標は重要であり、故障したアプリケーションは回復時間目標によって規定される期間内に実行を開始しなければならない。いくつかの実施形態では、一時的に格納されるメタデータを複製しない状況に比して回復時間を短縮するために、一時的に格納されるメタデータをキャッシュおよび内部メモリに複製する。例えば、データベースの障害が発生するいくつかの実施形態では、データベースの一貫性のある版を回復するのに必要な全てのデータとメタデータを複製しているから、データベースの回復はずっと速い。
【００１７】
図１はいくつかの実施形態によるコンピューティング環境のブロック図を示す。計算装置１００は主ストレージ・デバイス１０２と複製ストレージ・デバイス１０４に接続されている。計算装置１００は当技術分野において現在知られているもの、例えばパーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、テレフォニー装置、ネットワーク機器、ブレード・コンピュータ、ストレージ・サーバなどを含む任意の好適な装置である。主ストレージ・デバイス１０２と複製ストレージ・デバイス１０４は当技術分野において現在知られているもの、例えば直接アクセス・ストレージ・デバイス（ＤＡＳＤ）、少なくとも１つのランクのＲＡＩＤ、単純ディスク束（ＪＢＯＤ）などを含む任意の好適なデータ・リポジトリ・システムを含む。いくつかの実施形態では、主ストレージ・デバイス１０２と複製ストレージ・デバイス１０４はストレージ・コントローラである。
【００１８】
図１は主ストレージ・デバイス１０２と複製ストレージ・デバイス１０４に直接に接続されている計算装置１００を示すが、他の実施形態では、計算装置１００、主ストレージ・デバイス１０２、および複製ストレージ・デバイス１０４は当技術分野において現在知られているもの、例えばストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネット、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ネットワークなどを含む好適なネットワークを介して接続されている。
【００１９】
計算装置１００は実行中のユーザ・アプリケーション１０６ａ、アプリケーション・メタデータ１０８、およびレプリケータ１１０を含む。ユーザ・アプリケーション１０６ａは当技術分野において現在知られているもの、例えばデータベース・アプリケーション、スプレッドシート・アプリケーション、ワード・プロセシング・アプリケーションなどを含む任意の好適なアプリケーションである。いくつかの実施形態では、ユーザ・アプリケーション１０６ａは計算装置１００で実行される。アプリケーション・メタデータ１０８は実行中のアプリケーション１０６ａに付随するメタデータである。メタデータとはデータに関するデータのことである。例えば、ユーザ・アプリケーション１０６ａが計算装置１００で実行されると、ユーザ・アプリケーション１０６ａに付随するアプリケーション・データ１１４は主ストレージ・デバイス１０２に格納される。アプリケーション・メタデータ１０８はアプリケーション・データ１１４のためのメタデータである。この場合、ユーザ・アプリケーション１０６ａが計算装置１００で実行されている間、アプリケーション・メタデータ１０８は計算装置１００に一時的に格納される。例えば、ユーザ・アプリケーション１０６ａはデータベース・アプリケーションであり、アプリケーション・データ１１４は該データベース・アプリケーションに対応するデータベースであり、アプリケーション・メタデータ１０８は実行中の該データベース・アプリケーションと該データベースに対応するメタデータである。
【００２０】
レプリケータ１１０はハードウェア、ソフトウェア、またはファームウェアで実装された任意の好適なアプリケーションである。その場合、レプリケータ１１０はアプリケーション・データ１１４を複製ストレージ・デバイス１０４にコピーする。いくつかの実施形態では、コピーされたアプリケーション・データは「アプリケーション・データのコピー」１１６なるデータ要素に格納される。さらに、レプリケータ１１０はアプリケーション・メタデータの選択された部分をも複製ストレージ・デバイス１０４にコピーし、「選択アプリケーション・メタデータ」１１８なるデータ要素への格納の用に供する。
【００２１】
計算装置１００が第１の計算装置である幾つかの実施形態では、複製ストレージ・デバイス１０４には第２の計算装置１２０が接続される。いくつかの実施形態では、第２の計算装置１２０にはリストアラ１１２が存在する。この場合、リストアラ１１２はハードウェア、ソフトウェア、またはファームウェアで実装された任意の好適なアプリケーションである。計算装置１００の障害の際、第２の計算装置１２０と複製ストレージ・デバイス１０４を含むシステムはアプリケーション・データのコピー１１６とアプリケーション・メタデータのコピー１１８とを用いてユーザ・アプリケーション１０６ａのコピーであるユーザ・アプリケーション１０６ｂをユーザ・アプリケーション１０６ａが故障した時点から再始動することにより、該障害から復旧する。
【００２２】
リストアラ１１２はより高レベルのアプリケーション（図示せず）と協働し、複製ストレージ・デバイス１０４に存在する選択アプリケーション・メタデータ１１８を用いて目標回復時点内にユーザ・アプリケーション１０６ｂを開始する。ユーザ・アプリケーション１０６ｂはユーザ・アプリケーション１０６ａのコピーであるから、ユーザ・アプリケーション１０６ｂを開始するすることは、故障したユーザ・アプリケーション１０６ａの実行を実質的に継続することになる。したがって、第１の計算装置１００の障害の際、リストアラ１１２は選択アプリケーション・メタデータ１１８を第２の計算装置１２０に復元する。いくつかの実施形態では、より高レベルのアプリケーション（図示せず）はリストアラ１１２と協働し、ユーザ・アプリケーション１０６ａのコピーであるユーザ・アプリケーション１０６ｂを選択アプリケーション・メタデータ１１８を用いて開始することにより、ユーザ・アプリケーション１０６ａの実行を継続する。
【００２３】
したがって、図１は第１の計算装置１００中のリストアラ１１０が実行中のユーザ・アプリケーション１０６ａに対するアプリケーション・メタデータ１０８とアプリケーション・データ１１４を複製ストレージ・デバイス１０４に複製する実施形態を示す。第１の計算装置１００の障害の際、第２の計算装置１２０中のリストアラ１１２はより高レベルのアプリケーションと協働し、選択アプリケーション・メタデータ１１８に格納されているアプリケーション・メタデータと、アプリケーション・データのコピー１１６に格納されているアプリケーション・メタデータとを用いて、ユーザ・アプリケーション１０６ａの障害の目標回復時点内にユーザ・アプリケーション１０６ｂを再始動する。ただし、ユーザ・アプリケーション１０６ｂはユーザ・アプリケーション１０６ａのコピーである。
【００２４】
図２はいくつかの実施形態により計算装置１００に実装される典型的アプリケーション・メタデータ２００を示すブロック図を示す。いくつかの実施形態では、典型的アプリケーション・メタデータ２００は図１のアプリケーション・メタデータ１０８に対応する。
【００２５】
典型的アプリケーション・メタデータ２００はキャッシュの中のメタデータ２０２、メイン・メモリの中のメタデータ２０６、実行中のユーザ・アプリケーション１０６ａの状態情報２０８、実行中のユーザ・アプリケーション１０６ａの内部記憶状態２１０、中間計算データ２１２、および、主ストレージ・デバイス１０２に格納されていない他の情報２１４を含む。典型的アプリケーション・メタデータ２００を構成する図２の中の構成要素は典型例であり、１つの典型的なコンポーネントの中に存在する情報は別の典型的なコンポーネントの中に存在してもよい。例えば、メイン・メモリの中のメタデータ２０４の部分群（以下、複数であることを表現する場合、「群」なる表現を用いる）はキャッシュの中のメタデータ２０２にも存在する。典型的アプリケーション・メタデータ２００のコンポーネント群は図２に示されるものとは異なるようにも分類されうる。
【００２６】
典型的アプリケーション・メタデータ２００の部品は計算装置１００のキャッシュまたはメイン・メモリに格納される。その場合、キャッシュまたはメイン・メモリに格納された部品は一時的（すなわち暫定的）であり、主ストレージ・デバイス１０２に保存されない。例えば、いくつかの実施形態では、計算装置１００のキャッシュの中のメタデータ２０２と計算装置１００のメイン・メモリの中のメタデータ２０４とは主ストレージ・デバイス１０２には格納されない。メタデータ２０２、２０４はユーザ・アプリケーション１０６ａの実行中に生成される。
【００２７】
ユーザ・アプリケーション１０６ａの実行中、いくつかのメッセージ２０６が生成される。例えば、実行中のユーザ・アプリケーション１０６ａの状態を表すメッセージが計算装置１００において生成され、別の計算装置への送付の用に供される。そのような生成されたメッセージ２０６は計算装置１００に一時的に格納され、主ストレージ・デバイス１０２には格納されない。
【００２８】
いくつかの実施形態では、実行中のユーザ・アプリケーション１０６ａの状態情報２０８と実行中のユーザ・アプリケーション１０６ａの内部記憶状態２１０は計算装置１００に一時的に格納される。いくつかの付加的な実施形態では、実行中のユーザ・アプリケーション１０６ａによって一連の計算が実行される。そして、この一連の計算の間に生成される中間値は主ストレージ・デバイス１０２ではなく中間計算データ２１２に一時的に格納される。いくつかの実施形態では、一連の計算の最終結果のみが主ストレージ・デバイス１０２に格納される。いくつかの実施形態では、主ストレージ・デバイス１０２に格納されない他の情報２１４、すなわちアプリケーション・データ１１４に格納されない情報も典型的なアプリケーション・メタデータ２００を構成している。
【００２９】
図２は典型的アプリケーション・メタデータ２００が計算装置１００に複数の形態で一時的（すなわち暫定的）に格納される実施形態を示す。その場合、典型的アプリケーション・メタデータ２００はユーザ・アプリケーション１０６ａの実行中、主ストレージ・デバイス１０２に格納されない。
【００３０】
図３はいくつかの実施形態によりアプリケーション・メタデータ１０８を複製するブロック図をを示す。
【００３１】
実行中のユーザ・アプリケーション１０６ａはアプリケーション・データ１１４を生成する（参照数字３００）と共に、アプリケーション・メタデータ１０８をも生成する（参照数字３０２）。アプリケーション・データ１１４は主ストレージ・デバイス１０２に書き込まれる（参照数字３０４）。
【００３２】
いくつかの実施形態では、レプリケータ１１０はアプリケーション・データ１１４を読み取り（参照数字３０６）、アプリケーション・データ１１４の複製ストレージ・デバイス１０４への書き込みを制御して（参照数字３０８）アプリケーション・データのコピー１１６を生成する。レプリケータ１１０は、アプリケーション・データ１１４がユーザ・アプリケーション１０６ａによって生成されたときに該アプリケーション・データ１１４を読み取る、あるいは、主ストレージ・デバイス１０２からアプリケーション・データ１１４を読み取る。いくつかの別の実施形態では、主ストレージ・デバイス１０２から複製ストレージ・デバイス１０４へのアプリケーション・データ１１４のコピーはレプリケータ１１０とは異なるアプリケーションによって実行される。
【００３３】
いくつかの実施形態では、レプリケータ１１０は計算装置１００からアプリケーション・メタデータ１０８を読み取り（参照数字３１０）、該アプリケーション・メタデータ１０８を複製ストレージ・デバイス１０４中の選択アプリケーション・メタデータ１１８に書き込む（参照数字３１２）。
【００３４】
アプリケーション・データのコピー１１６と組み合わされた選択アプリケーション・メタデータ１１８は、計算装置１００および主ストレージ・デバイス１０２の一方の障害の際における回復時間目標内のユーザ・アプリケーション１０６ａの実行の再開にとって十分である。いくつかの実施形態では、第１の計算装置１００の障害の際、レプリケータ１１２はより高レベルのアプリケーションと協働し、第２の計算装置１２０においてユーザ・アプリケーション１０６ｂ（ユーザ・アプリケーション１０６ｂはユーザ・アプリケーション１０６ａのコピーである）を開始する。いくつかの実施形態では、第１の回復時間目標が第２の回復時間目標よりも時間間隔が短い場合、アプリケーション・メタデータ１１８への格納のために、より多量のアプリケーション・メタデータ１０８を選択しなければならない。アプリケーション・データ１１４とアプリケーション・メタデータ１０８は幾つかの実施形態では、複製ストレージ・デバイス１０４に一貫した態様で複製される。複製が非同期で行われる場合、いくつかの実施形態では、一貫した複製が必要である。
【００３５】
図３はレプリケータ１１０がアプリケーション・データ１１４とアプリケーション・メタデータ１０８の選択された部品とを複製ストレージ・デバイス１０４に格納する実施形態を示す。
【００３６】
図４はいくつかの実施形態に従い、アプリケーション・メタデータ１０８を復元することにより回復時間目標内にユーザ・アプリケーション１０６ａの実行を継続するブロック図を示す。いくつかの実施形態では、アプリケーション・メタデータ１０８は第１の計算装置１００の障害の際、リストアラ１１２によって第２の計算装置１２０に復元される。
【００３７】
主ストレージ・デバイス１０２に格納されているアプリケーション・データ１１４の利用不能の場合、あるいは、ユーザ・アプリケーション１０６ａの障害の場合、リストアラ（すなわち復元アプリケーション）は複製ストレージ・デバイス１０４との通信を確立する（参照数字４００）。リストアラ１１２は複製ストレージ・デバイス１０４からアプリケーション・データのコピー１１６と選択メタデータ１１８のコピーを読み取る（参照数字４０２）。アプリケーション・データのコピー１１６と選択メタデータ１１８のコピーはアプリケーション・データ１１４の利用不能あるいはユーザ・アプリケーション１０６ａの障害の前に、レプリケータ１１０によって格納される。
【００３８】
リストアラ１１２は選択メタデータ１１８を計算装置、例えば第２の計算装置１２０に復元する（参照数字４０４）。例えば、復元される選択メタデータ４０６は第２の計算装置１２０に格納される。第２の計算装置１２０の内部または外部に配置されている、より高レベルのアプリケーション４０７はユーザ・アプリケーション１０６ｂ（図４では実行中のユーザ・アプリケーション４１０として示されている）を再始動する（参照数字４０８）。再始動された実行中のユーザ・アプリケーション４１０は復元された選択メタデータ４０６とアプリケーション・データのコピー１１６を用いて実行される。選択アプリケーション・メタデータ１１８の復元は再始動された実行中のユーザ・アプリケーション４１０（これはユーザ・アプリケーション１０６ａに対応する）が選択メタデータ１１８の復元がない場合に比してより短い待機期間内に開始、実行されるのを可能にする。
【００３９】
したがって、図４は選択メタデータ１１８の復元が、再始動された実行中のユーザ・アプリケーション４１０が回復時間目標よりも短い期間内に開始、実行されるのを可能にするいくつかの実施形態を示す。図４は計算装置１２０にあるリストアラを示すが、いくつかの別の実施形態では、リストアラは計算装置１００にも存在する。
【００４０】
図５はいくつかの実施形態によりメタデータを複製、復元する操作を示す。いくつかの実施形態では、複製は第１の計算装置１００に実装され、復元は第２の計算装置１２０に実装される。
【００４１】
まず、制御はブロック５００において開始する。そこで、複製アプリケーション（例えばレプリケータ１１０）はアプリケーション・データ１１４とアプリケーション・メタデータ１０８を読み取る。アプリケーション・データ１１４とアプリケーション・メタデータ１０８はユーザ・アプリケーション１０６ａの実行によって生成される。
【００４２】
複製アプリケーション１１０は（ブロック５０２において）アプリケーション・データ１１４の複製ストレージ・デバイス１０４への書き込みを制御する。並行して、複製アプリケーション１１０は（ブロック５０４において）アプリケーション・メタデータ１０８の少なくともいくつかの部分を選択する。その場合、アプリケーション・メタデータ１０８の選択された部分は主ストレージ・デバイス１０２に格納されているアプリケーション・データ１１４の利用不能の場合、あるいは、ユーザ・アプリケーション１０６ａの障害の場合、回復時間目標を満たすように使用されうる。
【００４３】
アプリケーション・メタデータ１０８の少なくとも幾つかの部分の選択に続き、複製アプリケーション１１０は（ブロック５０６において）選択されたアプリケーション・メタデータ１１８を複製ストレージ・デバイス１０４に書き込む。制御はブロック５０２、５０６からブロック５００に戻り、（ブロック５００において）さらに生成されるアプリケーション・データ１１４とアプリケーション・メタデータ１０８を読み取る。したがって、実行中のユーザ・アプリケーション１０６ａが更新されたアプリケーション・データ１１４と更新されたアプリケーション・メタデータ１０８の生成を惹起するのにつれて、複製アプリケーション１１０は複製ストレージ・デバイス１０４を繰り返し更新し続ける。
【００４４】
制御はブロック５００からブロック５０８にも進む。そこでは、主ストレージ・デバイス１０２がアプリケーション・データ１１４を実行中のユーザ・アプリケーション１０６ａにとって利用可能にするのに失敗する、あるいは、実行中のユーザ・アプリケーション１０６ａが故障する。実行中のユーザ・アプリケーション１０６ａにとってのアプリケーション・データ１１４の利用不能は、複数の理由、例えば主ストレージ・デバイス１０２中のディスクその他のストレージ・ユニットの障害のせいである。主ストレージ・デバイス１０２中のアプリケーション・データ１１４が利用不能になると、実行中のユーザ・アプリケーション１０６ａは実行を先に進められなくなる。ユーザ・アプリケーション１０６ａは第１の計算装置１００の障害によっても故障する。
【００４５】
復元アプリケーション（例えばリストアラ１１２）は（ブロック５１０において）複製ストレージ・デバイス１０４との通信を確立する。復元アプリケーション１１２は（ブロック５１２において）選択されたアプリケーション・メタデータ１１８のコピーを読み取る。
【００４６】
復元アプリケーション１１２は（ブロック５１４において）より高レベルのアプリケーション４０７と組み合わされ、（ユーザ・アプリケーション１０６ａのコピーによって、すなわちユーザ・アプリケーション１０６ｂによって）実行中のユーザ・アプリケーション１０６ａを復元し、復元された選択メタデータ４０８とアプリケーション・データのコピー１１６とを用いて実行を継続する。選択メタデータ４０８を復元すると、ユーザ・アプリケーション１０６ａはユーザ・アプリケーション１０６ａに対応するアプリケーション・メタデータが複製ストレージ・デバイス１０４に複製されない状況と比べ、より短い待機期間で実行を継続するようになる。既に実行を継続しているユーザ・アプリケーション１０６ａ（すなわち１０６ｂ）はアプリケーション・データが複製ストレージ・デバイス１０４中にあることを予期するから、複製アプリケーション１１２はアプリケーション・データのコピー１１６を読み取る必要がない。
【００４７】
したがって、図５はアプリケーションがアプリケーション・メタデータ１０８を複製ストレージ・デバイス１０４に複製しうる幾つかの実施形態を示す。システム障害の場合、複製されたアプリケーション・メタデータを使用すると、アプリケーション・メタデータの複製が行われていない状況と比べ、より短い期間で障害から回復することができる。
【００４８】
いくつかの実施形態では、リストアラ１１２とレプリケータ１０は同一の、または異なる計算装置上に存在する。例えば、図１に示すように、いくつかの実施形態ては、レプリケータ１０は第１の計算装置１００に存在し、リストアラ１１２は第２の計算装置１２０に存在する。このような場合、リストアラ１１２は複製メタデータ１１８を第２の計算装置１２０に復元し、障害からの回復の用に供する。
【００４９】
いくつかの実施形態では、レプリケータ１１０とリストアラ１１２は複製される関連メタデータを全て保持するコンテナ・クラスを生成することにより、実装される。このコンテナ・クラスはデータ更新の際に全てのメタデータを複製ストレージ・デバイス１０４に自動的に複製しうるように機能強化されている。いくつかの他の実施形態では、ユーザはメタデータの複製すべき部分を選択してもよい。そうすると、対応するメタデータが複製される。
【００５０】
あるいは、いくつかの実施形態では、メタデータの内部メモリへの読み書きのためのアプリケーション・プログラミング・インターフェース（ＡＰＩ）を実装することができる。このアプリケーション・プログラミング・インターフェースはデータの更新が行われる時には常に全ての必要なメタデータを複製ストレージ・デバイス１０４に複製する。いくつかの実装では、この全てのメタデータを格納するのに、計算装置１００の内部メモリにラムディスクを生成する。ラムディスクとはパーティションとして使用するように割り当てられたメモリの部分のことであり、すなわち、ラムディスクを構成するメモリの部分はハード・ディスク駆動装置と類似の態様でデータを格納することができる。このラムディスクに対するアクセスはラムディスク・デバイス・ドライバを経由する。このラムディスク・デバイス・ドライバもラムディスクに対する全ての書き込みを複製ストレージ・デバイス１０４に、同期して複製する。
【００５１】
いくつかの実施形態では、障害からのより速い回復を実現しうるように、複製ストレージ・デバイス１０４には高速データ・リンクが備えられている。そして、複製ストレージ・デバイス１０４はユーザ・アプリケーション１０６ａの実行を継続する第２の計算装置１２０に近接して保持される。
【００５２】
いくつかの実施形態では、複製ストレージ・デバイス１０４はメタデータの更新とディスク・データの更新の双方を組み合わせて単一の一貫性グループを形成する。その結果、複製データと複製メタデータは回復時間目標内での回復を可能にするのに必要な情報を全て含む。データとメタデータは特に非同期複製方式の場合、複製ストレージ・デバイス１０４に一貫した態様で複製される。
【００５３】
いくつかの実施形態はデータの複製の解決策において、単なる物理的なストレージ以外のエンティティの複製を可能にする。物理的なディスク・ボリュームを２次ストレージ・サイトに複製しうる、データ複製産業における製品は複製データの回復時間目標が短いが、回復時間目標を制御する手段を有さない。いくつかの実施形態は物理的なストレージと共に非物理的なストレージを複製する機能を提供する。例えば、サーバの内部メモリまたはキャッシュが複製される、あるいは、２つのサーバ間のデータ・ラインを通じて行われるデータ転送が複製される。いくつかの実施形態は物理的なボリュームと非物理的なボリュームの間におけるデータの一貫性の維持をも行う。
【００５４】
いくつかの実施形態は、付加的な複製メタデータを有する結果として複製ストレージ・デバイスからの回復はより短時間で済むという予期の下に、複製された物理的ストレージと複製された内部キャッシュの記憶または状態との双方を提供しうる複製の解決策を提供する。したがって、このデータ複製の解決策の回復時間目標は、いくつかの実施形態においてこれを得ることができる。
【００５５】
〔付加的な実施形態の細部〕
上述した手法は方法、装置、ソフトウェアを含む製品、ファームウェア、マイクロコード、ハードウェア、または、これらの組み合わせ、あるいは、これら全てのものとして実現される。ここで使用される用語「製品」は回路（例えば集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、ＡＳＩＣなど）もしくはコンピュータ読み取り可能な媒体（例えば磁気記憶媒体（例えばハード・ディスク駆動装置、フレキシブル・ディスク、テープ）、光学ストレージ（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性のメモリ・デバイス（例えば電気的に消去可能かつプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、読み取り専用メモリ（ＲＯＭ）、プログラム可能な読み取り専用メモリ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、動的ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、プログラマブル・ロジックなど））または双方において実装されるプログラム命令、コード、もしくは論理、または、これら全てを指す。コンピュータ読み取り可能な媒体中のコードはマシン（例えばプロセッサ）によってアクセスされ実行される。いくつかの実施形態では、実施形態が作られるコードはさらに、伝送媒体を通じて、またはネットワークを介してファイル・サーバからアクセス可能である。そのような場合、コードが実装されている製品は伝送媒体（例えばネットワーク伝送ライン、無線伝送媒体、空間を伝搬する信号、無線波、赤外線信号など）を含む。無論、実施形態の範囲を逸脱することなく多くの変更をなしうること、および、製品は当技術分野で既知の任意の情報担持媒体を含むことを当業者は認識しうる。例えば、製品はマシンによって実行されると操作の遂行を齎す命令をその中に格納している記憶媒体を含む。
【００５６】
図６はいくつかの実施形態が実装されるシステム６００のブロック図を示す。いくつかの実施形態では、計算装置１００、１２０はシステム６００により実装される。システム６００はいくつかの実施形態ではプロセッサ６０４を備えた回路６０２を含む。システム６００はメモリ６０６（例えば揮発性メモリ装置）およびストレージ６０８をも含む。システム６００のいくつかの構成要素は計算装置１００、１２０の中に存在することもあるし、そうでないこともある。ストレージ６０８は不揮発性メモリ装置（例えばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、ファームウェア、プログラマブル・ロジックなど）、磁気ディスク駆動装置、光ディスク駆動装置、テープ駆動装置などを含む。ストレージ６０８は内部ストレージ・デバイス、外付けストレージ・デバイス、もしくはネットワーク・アクセス可能なストレージ・デバイス、または、これら全てを含む。システム６００はメモリ６０６中にロードされ、プロセッサ６０４または回路６０２によって実行されるコード６１２を含むプログラム論理６１０を含む。いくつかの実施形態では、コード６１２を含むプログラム論理６１０はストレージ６０８に格納される。
【００５７】
いくつかの実施形態はコンピュータ読み取り可能なコードをコンピューティング・システム中に組み込む、人または自動処理によるコンピューティング命令を配置する方法に関する。その場合、上記コードはコンピューティング・システムと協働し、上述した実施形態のオペレーションを実行しうるようにされている。
【００５８】
図５の少なくとも一部の操作は順次に加え並行して実行される。別の実施形態では、一部の操作は異なる順序で実行される、変更される、あるいは、除去される。
【００５９】
さらに、ソフトウェア・コンポーネント群とハードウェア・コンポーネント群のうちの多くのものは説明の目的のために個別に記載されている。そのようなコンポーネント群はより少数のコンポーネントに統合されうる、あるいは、より多数のコンポーネントに分割されうる。さらに、特定のコンポーネントによって実行されるように記述されたいくつかの操作は他のコンポーネントによって実行されうる。
【００６０】
図１〜６において示された、あるいは参照されたデータ構造およびコンポーネントは特定の種類の情報を有するものとして記述されている。別の実施形態では、データ構造およびコンポーネントは、異なる態様でこれを構成することができる、そして図面において示された、あるいは参照されたものより少ない、多い、または異なるフィールド、あるいは異なる機能を有する。したがって、実施形態の上述した記述は説明と記述の目的のために提示されている。それは網羅的なであること、あるいは、実施形態を、開示された通りの形態に限定することを意図していない。上述した教示に鑑み、多くの変更例と変形例が可能である。
【図面の簡単な説明】
【００６１】
【図１】いくつかの実施形態によるコンピューティング環境のブロック図である。
【図２】いくつかの実施形態による典型的なアプリケーション・メタデータを示すブロック図である。
【図３】いくつかの実施形態によりメタデータを複製するブロック図である。
【図４】いくつかの実施形態によりメタデータを復元するブロック図である。
【図５】いくつかの実施形態によりメタデータを複製、復元する操作を示す図である。
【図６】その中にいくつかの実施形態が実装されるシステムを示す図である。
【符号の説明】
【００６２】
１００    計算装置、第１の計算装置
１０２    主ストレージ・デバイス、第１の物理ストレージ・デバイス
１０４    複製ストレージ・デバイス、第２の物理ストレージ・デバイス
１０６ａ  （実行中の）ユーザ・アプリケーション
１０６ｂ  ユーザ・アプリケーション（のコピー）
１０８    アプリケーション・メタデータ、メタデータ
１１０    レプリケータ、複製アプリケーション
１１２    リストアラ、復元／復元中のアプリケーション
１１４    アプリケーション・データ、データ
１１６    アプリケーション・データのコピー、複製データ
１１８    選択アプリケーション・メタデータ、複製メタデータ
１２０    計算装置、第２の計算装置
２００  （第１の組のデータに含まれない一貫性を維持するように複製された）典型的アプリケーション・メタデータ
２０２  （キャッシュの中の）メタデータ
２０４  （メイン・メモリの中の）メタデータ
２０６  （例えば、実行中のユーザ・アプリケーションの状態を表すある計算装置から別の計算装置への）メッセージ
２０８  （実行中のユーザ・アプリケーションの）状態情報
２１０  （実行中のユーザ・アプリケーションの）内部記憶状態
２１２    中間計算データ
２１４  （主ストレージ・デバイスに格納されない）他の情報
６００    システム
６０２    回路
６０４    リストアラ（群）
６０６    メモリ
６０８    ストレージ
６１０    プログラム論理
６１２    コード
【図１】
2006221628.tif 000003
【図２】
2006221628.tif 000004
【図３】
2006221628.tif 000005
【図４】
2006221628.tif 000006
【図５】
2006221628.tif 000007
【図６】
2006221628.tif 000008