JP4570312B2 - コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置 - Google Patents

コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置 Download PDF

Info

Publication number
JP4570312B2
JP4570312B2 JP2001579105A JP2001579105A JP4570312B2 JP 4570312 B2 JP4570312 B2 JP 4570312B2 JP 2001579105 A JP2001579105 A JP 2001579105A JP 2001579105 A JP2001579105 A JP 2001579105A JP 4570312 B2 JP4570312 B2 JP 4570312B2
Authority
JP
Japan
Prior art keywords
application
service
dependency information
information
agent
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
JP2001579105A
Other languages
English (en)
Other versions
JP2003532190A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003532190A publication Critical patent/JP2003532190A/ja
Application granted granted Critical
Publication of JP4570312B2 publication Critical patent/JP4570312B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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

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)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Description

【0001】
(発明の背景)
(発明の分野)
本発明は、コンピュータシステムの諸側面のバックアップまたは復元に関する。より詳細には、本発明は、アプリケーション依存関係に関する情報を記憶して、コンピュータシステムがその依存関係情報に関連するクラッシュ前の状態に効率的に復帰できるようにするための方法およびシステムに関する。本発明はまた、バックアップ情報が入手可能なポイントインタイムに関する復元操作を対象とする。さらに、本発明は、既知または所望の事前のシステム構成へのロールバックが望ましい可能性がある状況を対象とする。
【0002】
(従来の開発の簡単な説明)
コンピュータシステムがクラッシュし、またはシステムがフリーズすると、些細なことから復元不可能なことまで及ぶ多くの結果が生じ得る。独立型コンピュータまたはクライアントコンピュータでは、ローカルシステムのクラッシュによって作業プロダクト(work product)の喪失が起こり得る。例えば、正しく保管されなかったものは失われてその後のアクセスまたは使用ができなくなる可能性がある。さらに、コンピュータシステムを再起動しなければならず、その結果さらに時間がかかることに、ユーザが不便さを感じるかもしれない。ネットワークサーバおよび他のコンピュータシステムの場合には、システムクラッシュは、多数のユーザ、クライアント、および/または顧客に、より広範な影響を及ぼし得る。コンピュータシステムがますます複雑になるにつれて、全体的に言えば、プログラマは、コンピュータまたはアプリケーションが「フリーズ」または「クラッシュ」するシステム状態を完全になくすことができなくなったように思われる。
【0003】
「事前状態への復元」シナリオでは、システムを所望の事前状態に復元することが望まれる。これは、例えば新しいソフトウェアをインストールして新しいシステムが期待通りに動作しないときに有用である。
【0004】
システムクラッシュまたはフリーズの確率がゼロでないことが真実であると受け入れて、回復として知られる、コンピュータシステムをクラッシュした状態から安定した状態に回復する処理の改善に関する研究の分野が生まれた。システムの不安定状態からの回復が、多くの研究および開発の主題となった。
【0005】
一般に、再起動または再実行回復の目的は、クラッシュした後、クラッシュ直前にコンピュータシステムが動作していた、事前の正しいと推定される状態に、または整合性のある1組のバックアップ情報が知られているポイントインタイムに、コンピュータシステムを復帰させることである。アプリケーション依存関係の全てに関する整合性のある状態のポイントインタイム情報が確保できないために、復元またはバックアップサービスが誤ってアプリケーションの状態を誤った状態に設定変更することがあり、あるいはバックアップまたは回復中のアプリケーション、ボリューム、または他のオブジェクトについて安定な状態に回復させるためには、コンピュータシステムのあらゆる処理のリソースをきわめて大量に使う力まかせのフリーズまたはフラッシュが必要となることがある。
【0006】
例えば、データベースシステムの設計者は、失われたデータ量、クラッシュ前の動作状態に回復するために必要な仕事量、および通常動作時のデータベースシステムに回復が及ぼす性能上の影響を最小限に抑える、データベース回復技術の設計を試みてきた。しかし、復元またはバックアップサービスの前に、ファイル保管操作、レジストリ書込み操作、データベース記憶操作、アクティブディレクトリ書込み操作に関する依存関係、または他の同様の依存関係が存在するときには、原子的ポイントインタイムのクラッシュ前状態への回復が望ましい。
【0007】
開発されたあるタイプの効率的なバックアップ技術は、ボリュームのスナップショットを提供するスナップショットプロバイダを利用する。システムがクラッシュしたときにボリュームをファイル毎に力づくで回復させる代わりに、スナップショットによってコンピュータシステムの状態を任意のポイントインタイムで「フリーズ」させることができ、その結果はるかに速くリソースをあまり使わないバックアップ処理が可能になる。一般に、スナップショットを時間t0で生成するように要求し、そのスナップショットの生成は時間t0でのボリュームデータを反映したものになる。t0の後は、スナップショット自体の内容をバックアップすることができ、したがって差分データまたはファイルを使用することによってフルバックアップが避けられ、その結果システムが事前の時間から変化したデータのみに効率的に作用することが可能になる。
【0008】
米国特許出願第09/505,447号「Support for Multiple Temporal Snapshots of Same Volume」(2000年2月16日出願、Cabrera他)、米国特許出願第09/505,344号「Kernel-Based Crash-Consistency Coordinator」(2000年2月16日出願、Golds他)、および米国特許出願第09/505,450号「System and Method for Growing Differential File on a Base Volume of a Snapshot」(2000年2月16日出願、Kusters他)は、概してバックアップ処理に関し、スナップショットシステムの様々な側面を対象としている。これらの特許出願をスナップショットサービスの提供に関する背景情報として、参照により本明細書に組み込む。
【0009】
しかし、ボリューム、アプリケーション、または他のオブジェクトについてバックアップまたは復元サービスを実行しようとするときには、バックアップまたは復元する所与のオブジェクトについて、原子的ポイントインタイムでのオブジェクトの状態を知らなければならないという問題にしばしば直面する。したがって、「スナップショット」について適時にオブジェクトの状態がわかっている最新のポイントインタイムが、オブジェクトを復元できる最新のポイントインタイムである。
【0010】
同様に、バックアップまたはスナップショットサービスを提供中の場合、スナップショットが原子的ポイントインタイムに関する情報を整合的に反映するように、バックアップするオブジェクトの依存関係情報を適時にかつ正しい順序でフリーズしなければならない。
【0011】
バックアップする所与のオブジェクトが依存する、アプリケーション、タスク、または他のオブジェクトの状態を、そのような単独のポイントインタイムについて抽出できない場合には、他のタスクに対してあるタスクをバックアップし終えるのに要する任意の時間量によってそれらのアプリケーション、タスク、またはオブジェクト内のデータが破損されることがあるので、バックアップ処理が損なわれる可能性がある。まず、タスクが異なると、通常それを完了するのにかかる時間が異なる。すなわち、読取り操作を完了するのにかかる時間は、書込み操作を完了するのにかかる時間とは異なる。システムリソースが動的に使用されるときには、ファイルシステムに関連する書込み操作などの同じタスクであっても、完了するのに異なる時間がかかる可能性がある。さらに、多数のアプリケーションが同じオブジェクトに書き込んでいるのか、あるいは多数のアプリケーションが同じオブジェクトに依存していて、その結果そのバックアップサービスが気付くことができない依存関係を生み出しているのかがわからないことがある。
【0012】
したがって、所与のボリューム、アプリケーション、またはオブジェクトについて適切にバックアップまたは復元をする操作では、所与のオブジェクトの依存関係に応じた特定の順序で、ある処理またはファイルを最初にフリーズさせる(当面はそれに関連してそれ以上書込みをしない)必要があるかもしれない。特に、原子的ポイントインタイムに関する状態情報がポイントインタイムバックアップ情報を提供する上で極めて重要であるスナップショットサービスに関しては、どのアプリケーションまたは処理だけがどのような順序で作用を受ける(フリーズされる)必要があるかをインテリジェントに決定することが有利である。
【0013】
どのアプリケーションを、復元すべきオブジェクトの以前の既知の状態への復元操作から除外できるか情報に基づいて決定することがさらに有益であり、復元処理がさらに効率よくなるはずである。
【0014】
しばしば、システムクラッシュまたはフリーズには、問題のあるほんの少数のファイルまたは処理のみが関与していることがある。例えばアプリケーションが応答していないときには、一般に、システムから見て応答していないアプリケーションだけを終了させ、あるいはプログラムの応答をフリーズさせている可能性のあるアプリケーション依存関係を見つけることが望ましい。実際、アプリケーションAのプログラマが、アプリケーションAを実行するために所与のコンピュータシステムにインストールされる他のアプリケーションB、C、Dなどの全ての組合せおよびその順序(permutation)を予測できないことがよくある。アプリケーションAの動作状態は、正しく実行させるためにアプリケーションAのシステム空間にある、他の特定のアプリケーション、記憶コンポーネント、処理、およびファイルに依存することがあり、これらの依存関係が動的に変化し得る。したがって、それが垂直または水平に依存する可能性のあるオブジェクトをフリーズさせることによってアプリケーションAの状態を原子的ポイントインタイムでフリーズさせる方法が有用であり、適時にスナップショットについてデータのボリューム全体をフリーズさせる(単独オブジェクトのバックアップに必要とされるよりもはるかに多くフリーズする)ことに勝る大きな改善となる。その依存関係によって決まる順序でアンラベル(unravel)しなければならない埋め込み型の依存関係が存在することがあるので、バックアップ操作より前に、バックアップ中の所与のオブジェクトが依存し得るオブジェクトを正しい順序でフリーズまたはフラッシュしなければならない。
【0015】
したがって、リソースから見てコンピュータシステムのオブジェクトのフルバックアップまたは復元が望ましくないので、クラッシュから遡及的に回復する、またはスナップショットサービスなどのバックアップを実施する方法は、オブジェクトの依存関係に基づく選択的で効率的な正しい順序で特定のデータを選択的かつインテリジェントにフリーズすることによって、回復フィールドをさらに有用なものにする。
【0016】
米国特許出願第268,146号「Database Computer System Using Logical Logging to Extend Recovery」(1999年3月15日出願、Lomet他)は、回復処理時のロギングのコストを低減する論理ロギング操作を利用する技術を記載している。フラッシュ依存関係からノード型オブジェクトを隠す(unexpose)識別操作の導入による、アプリケーションのフラッシュ依存関係情報のオンザフライアンラッピング(unwrapping)が開示されている。したがって、システムクラッシュの場合、アプリケーション依存関係の問題は論理ロギング操作を介して既に論じられており、アンラベル(unravel)またはアンラップ(unwrap)された依存関係に関連して直面する回復の問題はない。しかし、この技術では階層的オブジェクト依存関係情報に基づいてオブジェクトをフリーズする順序を決定せず、その結果、それを使用して全てのオブジェクト依存関係にわたって所与のポイントインタイムについてのオブジェクト状態をフリーズすることができない。
【0017】
したがって、選択的で効率的な正しい順序でアプリケーション依存関係情報を選択的かつ明示的に分析することによって、クラッシュから遡及的に回復する、またはバックアップまたは復旧操作を実行する方法を提供することが望ましい。ボリュームスナップショット依存関係に関する情報、すなわち、所与のポイントインタイムについて、どのアプリケーションが他のどのアプリケーションに依存するかに関する、階層的な情報を保持することがさらに有益である。この後者のアプリケーションもさらに依存関係をもつことがあり、その後も同様である。クラッシュからの回復に関連するボリュームスナップショット依存関係情報を使用して、クラッシュした状態からの回復処理を改善できることがさらに望ましい。アプリケーションが依存するオブジェクトに関する情報をアプリケーションが運ぶための、単一プロトコルを提供することがいっそう望ましい。
【0018】
(発明の概要)
本発明は、一般に、不安定な、フリーズした、またはクラッシュした状態になる可能性のあるコンピュータシステムに関する。好適実施形態では、ターゲットオブジェクトに関する依存関係情報の表を繰り返し作成できるように、アプリケーションプログラムインターフェース(API)プロトコルを使用して、登録済みのアプリケーションにアプリケーション依存関係情報に関する要求を出す。所与のボリュームまたはオブジェクトについて全てのアプリケーション依存関係が同時に捕捉されるときには、ボリューム全体またはオブジェクト全体のプログラムおよびデータ依存関係情報を所与の時間保持することができる。この依存関係情報へのアクセスによって、コンピュータシステムが、所与のボリュームまたはオブジェクトのスナップショットなどのバックアップもしくは復旧に関連して、どのファイルをどのような順序でフリーズまたはフラッシュするかだけでなく、どのボリュームまたはオブジェクトをフリーズ処理から除外できるかわかるので有利である。
【0019】
サービスからアプリケーション依存関係情報を求める要求がされた後、コンピュータシステムは、依存関係情報を変換または処理し、それによって所与の1組のボリュームまたはオブジェクトにおける回復イベントを順序付けることができる。その1組のボリュームまたはオブジェクトは、同じ場所に配置することも、ネットワーク環境を介して互いに離して配置することもできる。好適実施形態では、システムとアプリケーションの間の反復的な協働処理、およびアプリケーションプログラムインターフェース(API)に関する共通のプロトコルに関連して、依存関係情報が生成される。したがって、アプリケーションは、記憶コンポーネントを有する共通のソフトウェアエージェントにその外部依存関係を通信し、それによって、整合性のあるポイントインタイムでのターゲットオブジェクトについてのアプリケーション依存関係に関する、表、リスト、または他の編成情報を保持することができる。この表、リスト、または他の編成情報は、バックアップ、復旧、回復処理などのサービスの一部として、または整合性のあるポイントインタイムのアプリケーション依存関係情報がそのサービスに有用であるサービスの一部として使用することができるので有利である。
【0020】
本発明の他の特徴を以下に述べる。
【0021】
ボリュームスナップショット依存関係情報を提供するためのシステムおよび装置について、添付の図面を参照してさらに説明する。
【0022】
(好ましい実施の形態の詳細な説明)
本発明は、その使用によって、不安定な、フリーズした、またはクラッシュした状態を引き起こす可能性のあるコンピュータシステムに関する。所与のボリューム(または他のターゲットオブジェクト)について全てのアプリケーション依存関係が同時に捕捉されるときには、ボリューム全体のプログラムおよびデータ依存関係情報を所与の時間保持することができる。このボリューム依存関係情報にアクセスすることによって、バックアップ、復元、または他の回復処理で、コンピュータシステムが、どのファイルを含み、含まれたファイルをどのように順序付けるべきかわかるので有利である。同様に、どのファイルを処理から除外できるかもわかる。
【0023】
アプリケーション依存関係とは、ファイル、レジストリキー、データベースレコード、アクティブディレクトリ構成要素、IISメタベースなどのうちの1つまたは複数のものに関する、アプリケーション状態依存関係の階層的編成を指す。
【0024】
好適実施形態では、アプリケーションプログラムインターフェース(API)依存関係モジュールが、ターゲットオブジェクトへの依存関係を有する特定のオブジェクトに関するアプリケーション依存関係情報を要求する。その依存関係情報は、システムとアプリケーションの間の反復的な協働処理に関連して生成される。協働処理の結果、アプリケーションはその外部依存関係を共通のソフトウェアエージェントに通信し、それによってアプリケーション依存関係に関する情報の表またはリストを記憶コンポーネントに保持することができる。これで、クラッシュまたはフリーズした場合に、コンピュータシステムがボリューム(またはターゲットオブジェクト)のスナップショット依存関係情報を変換または処理し、それによって所与の1組のボリュームにおける回復イベントを順序付けることができる。この情報の表またはリストを持続させて、ターゲットオブジェクトの状態および/または依存関係が変化しないままである、別のバックアップ、復旧、または回復処理の一部として後で再使用することができるので有利である。
【0025】
好適実施形態では、バックアップまたはスナップショットサービスが、サービスのバックアップまたはスナップショット操作に関連してアプリケーション依存関係情報を使用する。したがって、バックアップサービスは、依存関係の階層構造に基づいて、バックアップを首尾よく完了させるために、どのアプリケーションおよび処理を他のものより先にフリーズさせる必要があるかわかっている。同様に、スナップショットサービスは、依存関係の階層に基づいてスナップショットを首尾よく完了するために、他より先にどのアプリケーションおよび処理をフリーズする必要があるかわかっている。スナップショットが、順序外れのアプリケーションフリーズ、および発明の背景で述べたような他の潜在的なデータ破損に敏感であるので、整合性のあるポイントインタイムシステム、ボリューム、またはオブジェクトスナップショットは、本発明に特によく適している。
【0026】
前述のように、本発明は改善されたシステムクラッシュ回復技術を提供する。本発明は、従来技術の欠点に様々な方法で対処する。前述のように、システムクラッシュ回復技術に関連する問題点は、ボリュームスナップショット依存関係に関する情報が、バックアップまたは回復処理、あるいはアプリケーション依存関係情報の使用に適した他のサービスに関連する使用のためには利用可能でないことである。本発明のインフラストラクチャは、アプリケーション依存関係情報を記憶して、システムのクラッシュ前状態への復帰に関連して、またはバックアップまたはスナップショット処理あるいは他のサービスに関連して使用するために、アプリケーションおよび他のオブジェクトとの通信を保持するAPIを提供する。
【0027】
本発明によれば、所与の時間のシステムのアプリケーションに関するアプリケーション依存関係情報をシステムクラッシュの前後を通じて持続させることができ、また、いくつかまたは多くのターゲットオブジェクトの依存関係を特定の順序で復元することが望ましい復元操作で、その依存関係情報を使用することができる。例えば、サービスを事前設定された規則または他の規則に従って定期的に呼び出すことができ、それによってサービスはターゲットオブジェクトに関する依存関係データの整合性のある1組のポイントインタイムを決定するようシステムに要求する。後の、所与の時間についての依存関係情報の使用には、例えばバックアップまたはクラッシュ回復手順の前に、どのアプリケーションをどのような順序で書込み操作からフリーズさせるか決定することを含むことができる。
【0028】
図1および以下の説明は、本発明を実行できる適切なコンピュータ環境についての簡潔で一般的な説明を提供しようとするものである。必ずしも必要ではないが、本発明は、クライアントワークステーションまたはサーバなどのコンピュータによって実行中のプログラムモジュールなど、コンピュータで実行可能な命令の一般的な状況で説明する。一般にプログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに本発明が、ハンドヘルド装置、マルチプロセッサシステム、マルチプロセッサベースのまたはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて他のコンピュータシステム構成によって実行できることが当業者には理解されよう。本発明はまた、通信ネットワークによってリンクされたリモート処理装置によってタスクが実行される、分散型コンピュータ環境でも実行することができる。分散型コンピュータ環境では、プログラムモジュールをローカルメモリ記憶装置およびリモートメモリ記憶装置の両方に配置することができる。
【0029】
図1に示すように、例示的な汎用コンピュータシステムとしては従来のパーソナルコンピュータ20などが含まれ、それは、処理ユニット21、システムメモリ22、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット21に結合させるシステムバス23を備える。システムバス23は、様々なバスアーキテクチャのうちのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含めて、いくつかのタイプのバス構造のうちのどれでもよい。システムメモリは、読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動時などに、パーソナルコンピュータ20内のエレメント間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS)26が、ROM24中に格納されている。パーソナルコンピュータ20はさらに、ハードディスク(図示せず)から読み取りそれに書き込むハードディスクドライブ27、着脱可能磁気ディスク29から読み取りそれに書き込む磁気ディスクドライブ28、CD-ROMや他の光媒体などの着脱可能光ディスク31から読み取りそれに書き込む光ディスクドライブ30を含むことができる。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ドライブインターフェース34によってシステムバス23に接続されている。ドライブおよびその関連コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ20用の他のデータの不揮発性記憶を行う。本明細書で説明した例示的な環境では、ハードディスク、着脱可能磁気ディスク29、および着脱可能光ディスク31を使用するが、例示的な操作環境では、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ(Bernoulli)カートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)など、コンピュータによってアクセス可能なデータを記憶できる他のタイプのコンピュータ可読媒体も使用できることが当業者には理解されよう。
【0030】
ハードディスク、磁気ディスク29、光ディスク31、ROM24、またはRAM25には、オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含めて、いくつかのプログラムモジュールを記憶することができる。ユーザは、キーボード40やポインティング装置42などの入力装置によって、パーソナルコンピュータ20にコマンドおよび情報を入力することができる。他の入力装置(図示せず)としては、マイクロホン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナーなどがある。前述および他の入力装置は、しばしばシステムバスに結合されたシリアルポートインターフェース46によって処理ユニット21に接続されるが、他のインターフェース、例えばパラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などによって接続することもできる。モニタ47または他のタイプの表示装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続される。パーソナルコンピュータは、通常モニタ47に加えてスピーカやプリンタなど他の周辺出力装置(図示せず)も含む。
【0031】
パーソナルコンピュータ20は、リモートコンピュータ49など1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ49は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードとすることができ、図1にはメモリ記憶装置50のみを示したが、通常はパーソナルコンピュータ20に関して前述したエレメントの多くまたは全てを含む。図1に示す論理接続には、ローカルエリアネットワーク(LAN)51および広域ネットワーク(WAN)52がある。このようなネットワーク環境は、オフィス、エンタープライズワイドコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【0032】
LANネットワーク環境で使用するときには、パーソナルコンピュータ20は、ネットワークインターフェースまたはアダプタ53によってLAN51に接続される。WANネットワーク環境で使用するときには、パーソナルコンピュータ20は、通常インターネットなど広域ネットワーク52における通信を確立するモデム54または他の手段を含む。モデム54は、内部でも外部でもよく、シリアルポートインターフェース46を介してシステムバス23に接続される。ネットワーク環境では、パーソナルコンピュータ20またはその一部分に関して示されたプログラムモジュールを、リモートメモリ記憶装置に記憶することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【0033】
前述のコンピュータがコンピュータネットワークの一部として配置でき、本発明が、どんな数のメモリまたは記憶ユニットを有するどのようなコンピュータシステムにも、ならびにどんな数のボリュームに生じるどのような数のアプリケーションおよび処理にも関係することに留意されたい。したがって、本発明は、ネットワーク環境に配置された、リモートまたはローカル記憶装置を有するサーバコンピュータおよびクライアントコンピュータの両方に適用することができる。図2は、サーバがネットワークを介してクライアントコンピュータと通信する、本発明を使用することができる例示的なネットワーク環境を示す図である。図のように、いくつかのサーバ10a、10bなどが、通信ネットワーク14(LAN、WAN、イントラネット、またはインターネットとすることができる)を介していくつかのクライアントコンピュータ20a、20b、20cなどに相互接続されている。通信ネットワーク14がインターネットであるネットワーク環境では、例えば、サーバ10を、クライアント20がハイパーテキスト転送プロトコル(HTTP)など既知のいくつかのプロトコルのいずれかを介して通信するウェブサーバとすることができる。
【0034】
各クライアントコンピュータ20およびサーバコンピュータ10には、様々なアプリケーションプログラムモジュール36、他のプログラムモジュール37、およびプログラムデータ38、ならびに様々なタイプの記憶エレメントまたはオブジェクトへの通信またはアクセスを備えることができる。したがって、各コンピュータ10または20は、それに関連するアプリケーション依存関係情報を有することができ、その依存関係はシステムにわたって存在することができ、ボリューム内依存関係、ボリューム間依存関係、および/またはネットワークをまたぐ依存関係、アプリケーション状態が外部に依存する他のタイプの依存関係がそれに含まれる。
【0035】
したがって本発明は、ネットワークにアクセスしそれと対話するクライアントコンピュータと、クライアントコンピュータと対話するサーバコンピュータとを有する、コンピュータネットワーク環境で使用することができる。前述のように、本発明によれば、アプリケーション(または他のオブジェクト)、共通のソフトウェアエージェント、レジストリ、記憶コンポーネント、およびサービスのうちの1つまたは複数のものの間でのアプリケーション依存関係情報の通信に関連してAPIプロトコルを使用する。このAPIは、様々なネットワークまたはシステムアーキテクチャと共に実行でき、図示し説明した例に限られるものではない。
【0036】
図3Aおよび図3Bは、サービスに関連して使用するために記憶装置内に捕捉される、潜在的なアプリケーション依存関係情報の垂直または水平のアスペクトを反映する状態依存関係の例示的な階層構造を示す。図3Aでは、アプリケーションXがアプリケーションYおよびZと通信し、それによってアプリケーションYがデータベース400aの読取りアクセスを実行し、アプリケーションZはデータベース400bに書込みアクセスを実行する。アプリケーションXは、ファイルオブジェクトF1およびF2にも書き込むことができる。サービスは、この情報を、例えばバックアップや復元操作に関連して、ポイントインタイムで捕捉されたものとして使用することができる。したがって、アプリケーションXのポイントインタイム状態依存関係を知ることが、あるタイプのシステムサービス操作に大きな利益となり得る。図3Bは、共にデータベース400cに書込み操作を実行する、アプリケーション1および2における階層情報を示す。これらの書込み操作の一方または両方が、別のものよりも長く、同時に発生し、あるいはデータベース400cのデータを破損することがある。したがって、原子的ポイントインタイムでのアプリケーション1および2のアプリケーション依存関係に関する情報は、例えばクラッシュ後のアプリケーション1の復元処理に大いに役立つ。アプリケーション1の復元を試みる前にアプリケーション2がフリーズしていない場合には、エラーが起こることがある。さらに、階層的な依存関係情報がわかれば、アプリケーション1および2に関するバックアップ操作に役立つ。アプリケーション状態の階層構造のこれらの例にはアプリケーションおよびデータベースが含まれるが、依存関係を有するデータは、他の同様のオブジェクトに対して依存関係を有する、ファイル、データベースレコード、レジストリキー、アクティブディレクトリ構成要素、IISメタベースなどを含めて、多くの様々なタイプの記憶エレメントに記憶できることを理解されたい。
【0037】
図4は、本発明のAPIによって使用される、アプリケーション依存関係情報を記憶するための例示的なデータ構造を示す。したがって、データベースやハードディスクメモリなどの記憶コンポーネント12は、それに記憶された依存関係情報のリストまたは表を備えることができる。本発明によれば、個々のリストまたは表は、例えば階層的な依存関係情報や捕獲時間情報、ならびにその情報を使用できるサービスに関する他の情報など、ヘッダ12aおよび指数部12bを含むことができる。好適実施形態では、階層的な依存関係情報12bはXML形式で表されるが、アプリケーション依存関係情報の表示および通信に適切な任意の形式にすることもできる。
【0038】
前述のように、本発明はシステムとアプリケーションの間の協働処理を含む。図5のシステムアーキテクチャで示すように、登録済み(破線で示す)のアプリケーションは、その依存関係情報を求める要求に応えて、その外部依存関係を共通ソフトウェアエージェント510に通信することができる。したがって、サービス500は、所与のポイントインタイムについてのターゲットオブジェクトに関するアプリケーション依存関係情報を要求することができる。ターゲットオブジェクトを登録した後には、エージェント510がターゲットオブジェクトにターゲットオブジェクトのアプリケーション依存関係を求める要求をし、それによってターゲットオブジェクトの依存関係に関する情報の表またはリストの記憶コンポーネント12への記憶を開始することができる。次いで、アプリケーションに依存関係情報をさらに要求することによって、ターゲットオブジェクトのさらなる依存関係について調査する。この反復処理によって、ターゲットオブジェクトの依存関係の完全なリストを作成し、記憶コンポーネント12に記憶する。次いでその完全なリストを、エージェント510を介してサービス500に通信する。サービス500は、ターゲットオブジェクトについて整合性のあるポイントインタイム依存関係を生成するための一般的なサービスとすることができ、バックアップ、スナップショット、または復元サービスとは別々にまたはそれらに関連して使用することができる。
【0039】
APIプロトコルによって、アプリケーション依存関係情報を収集するためサービス規則に基づき依存関係情報に関してアプリケーションにスケジュール呼び出しを行うことが可能になる。さらに、本発明のAPIによって実現されたインフラストラクチャにアプリケーションを登録またはインストールすることができ、それによって初期の1組の状態依存関係を同時に記憶するためにエージェントに通信することができる。アプリケーション自体に関する状態が変化するか、あるいは1組の完全な依存関係情報を定期的にスケジュールし(エージェント510またはサービス500により)収集できるときはいつでも、アプリケーションがアプリケーション依存関係情報を発行することも技術的に実現可能である。したがって、本発明のAPIプロトコルにより、アプリケーションはそれが他のどのオブジェクトまたはアプリケーションに依存しているかを理解することができる。すなわち、アプリケーションはそれ自体の依存関係を認識している。さらに、本発明のAPIとアプリケーションApp1からAppN、エージェント510および/またはバックアップサービス500との間の通信のための例示的な形式は、XMLであるが、やはり特定の形式に限られるものではないことに留意されたい。
【0040】
図6は、記憶コンポーネント12に記憶されエージェント510によって管理されるアプリケーション依存関係情報を、サービス操作に関連してサービスによって使用する、本発明による例示的なシーケンスの流れ図である。例えば600で、本発明のAPIプロトコルによって与えられたインフラストラクチャにアプリケーションを登録することができる。アプリケーションは、いつでも登録または登録解除することができる。610で、アプリケーション依存関係が望ましい情報であるか判断する。620で、サービス500が、特定のボリューム、アプリケーション、データベース、および/またはターゲットオブジェクトなどに関する依存関係情報を要求する。630で、エージェント510は、API依存関係モジュールにターゲットオブジェクトに関する要求を行い、オブジェクトに関する1組の依存関係情報を取得する。640で、エージェント510は、ターゲットオブジェクトに様々な程度で依存するある登録済みアプリケーションに依存関係情報を要求する。エージェントが、サービスから要求されたターゲットオブジェクトの依存関係に限られた要求を発行することが好ましい。
【0041】
640から660で、ターゲットオブジェクト(例えば、図3AのアプリケーションXで示される階層情報)に関する依存関係情報の完全バージョンが記憶コンポーネント12に記憶されるまで、1組の完全な依存関係情報を求める様々な要求に従って、エージェント510に依存関係情報を繰り返し引渡す。ターゲットオブジェクトに関する1組の完全な依存関係情報の要求が満たされたので、660ではそのアプリケーションから引き渡されるそれ以上のアプリケーション依存関係情報はない。670で、エージェント510はサービス500に依存関係情報を通信する。好適実施形態では、サービスからの要求を満たすのに必要な依存関係情報の最低限の量だけをサービス500に通信する。680で、階層的依存関係情報をサービスによって処理し使用する。これで、690でサービスからの要求が満たされ、任意でフローを610に戻すことができる。
【0042】
図6の例示的なシーケンスを一般のサービス500に関連して述べたが、回復のための処理、アプリケーション相互作用を含む処理、またはアプリケーションが他のアプリケーションおよびオブジェクト操作に関して考慮される処理のいずれにも、アプリケーション依存関係情報を広範囲に使用することが考えられる。
【0043】
図7は、本発明に従って記憶されたアプリケーション依存関係情報を使用してバックアップまたはスナップショット操作を実行する好適実施形態を示す、本発明による例示的なバックアップシーケンスの流れ図である。図7は、図6のアーキテクチャにオーバーレイする、特定のタイプのサービス、フルバックアップ操作などのバックアップサービス、またはスナップショットサービスを示す。一般的なサービス500について説明したが、より具体的なサービスも使用することができる。本発明の好適実施形態では、710ではバックアップサービスに関連したアプリケーション依存関係情報が望ましく、720でターゲットオブジェクトについての情報を要求する。予めスケジュールされた依存関係情報の集合物があるため依存関係情報がすでに存在する場合、フローを770にスキップさせてバックアップサービスに情報を通信することができ、そうでない場合には図6のように630から660の動作を実行する。
【0044】
次に、780で、ターゲットオブジェクトの依存関係情報からフリーズ順序を決定し、そのフリーズ順序を実行する。例えば、図3Bに示した階層的依存関係状況を用いて、780の動作に関連して使用できるフラッシュまたはフリーズ順序の決定および実行を示すことができる。例えば、ターゲットオブジェクトアプリケーション1に適切なバックアップサービスまたは復元などの他のサービスを実行するために、エージェント510によって収集されバックアップサービスに提供されたアプリケーション依存関係情報に基づき、バックアップサービスでは最初にアプリケーション2をフリーズまたはフラッシュさせ、次いでアプリケーション1をフリーズまたはフラッシュさせようと決定することができる。バックアップまたはスナップショットサービスにおいてコンピュータシステムのオブジェクトが適切な順序でフリーズした後、アプリケーション依存関係に関わらず790でバックアップまたはスナップショットサービスの操作を終了することができる。他のサービス操作を行うために、再度フローを710に戻すことができる。
【0045】
本明細書で述べた様々な技術は、ハードウェアまたはソフトウェアによって、あるいは適切であれば両方の組合せによって実行することができる。したがって、本発明の方法および装置、あるいは特定の態様またはその一部分は、フロッピー(登録商標)ディスケット、CD-ROM、ハードドライブ、他の機械可読記憶媒体など、有形媒体で実施されるプログラムコード(すなわち命令)の形を取ることができ、そのプログラムコードがコンピュータなどの機械によってロードされ実行されるときには、その機械が本発明を実施する装置になる。プログラム可能なコンピュータでプログラムコードを実行する場合、コンピュータは通常、プロセッサ、プロセッサによって可読の記憶媒体(揮発性および不揮発性メモリ、および/または記憶エレメントを含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を備える。コンピュータシステムと通信するために、1つまたは複数のプログラムを高水準の手続き型言語またはオブジェクト指向プログラミング言語で実行することが好ましい。ただし、必要であれば、アセンブリ言語または機械語でプログラムを実行することもできる。いずれの場合にも、言語は、コンパイル済みまたはインタープリタ型言語であり、ハードウェアのインプリメンテーションと組み合わせることができる。
【0046】
本発明の方法および装置は、電気的配線またはケーブル配線、光ファイバ、または他の形の伝送など、いくつかの伝送媒体によって伝送されるプログラムコードの形で実施することもでき、EPROM、ゲートアレイ、プログラム可能論理デバイス(PLD)、クライアントコンピュータ、ビデオレコーダなどの機械によってプログラムコードを受け取りロードし実行するときには、その機械が本発明を実施する装置になる。汎用プロセッサで実行する場合、プログラムコードがプロセッサと相まって、本発明のインデックス機能を実行する働きをする独特の装置を提供する。例えば、本発明の記憶技術およびスナップショット技術は、常に、それぞれデータの記憶またはデータのスナップショットの取得に関連して使用されるハードウェアとソフトウェアの組合せとすることができる。
【0047】
本発明について様々な形の好適実施形態に関連して説明したが、本発明から逸脱することなく本発明と同じ機能を実行する、他の同様の実施形態を使用でき、あるいは説明した実施形態を修正および追加できることが理解されよう。例えば、好適実施形態では、依存関係情報の通信プロトコルとしてXMLを使用したが、本発明による依存関係情報の引渡しには多くの様々な通信およびネットワークプロトコルが適している可能性があることを理解されたい。さらに、ハンドヘルド装置オペレーティングシステムおよび他のアプリケーション特有のオペレーティングシステムを含めて、様々なコンピュータプラットフォームが考えられることを強調しておきたい。したがって、本発明はどの単独の実施形態にも限られるものではなく、添付の特許請求の範囲の範囲内で解釈すべきである。
【図面の簡単な説明】
【図1】 本発明の諸態様を組み込める汎用コンピュータを表すブロック図である。
【図2】 本発明の方法および装置をそれに関連して実行できるサーバを備える、例示的なネットワーク環境を表すブロック図である。
【図3A】 本発明によるアプリケーション依存関係情報の例示的な階層構造を表すブロック図である。
【図3B】 本発明によるアプリケーション依存関係情報の例示的な階層構造を表すブロック図である。
【図4】 本発明によるアプリケーション依存関係情報を記憶する例示的な記憶コンポーネントのブロック図である。
【図5】 アプリケーション依存関係情報を記憶コンポーネントに通信する、本発明による例示的なシーケンスの流れ図である。
【図6】 サービスが、記憶コンポーネントに記憶されたアプリケーション依存関係情報を要求し利用する、本発明による例示的なシーケンスの流れ図である。
【図7】 本発明により記憶されたアプリケーション依存関係情報を利用してバックアップまたはスナップショット操作を実行する好適実施形態を示す、本発明による例示的なシーケンスの流れ図である。

Claims (16)

  1. コンピュータシステムにおいて、アプリケーション依存関係情報を利用してバックアップサービス操作を効率的に実行する方法であって、
    前記コンピュータは、アプリケーション依存関係情報を1つのアプリケーションおよび他のアプリケーションの間で通信するためのアプリケーション依存関係アプリケーションプログラムインターフェース(API)と、共通ソフトウェアエージェントと、前記エージェントによって利用される記憶コンポーネントと、バックアップサービスとを備え、
    前記コンピュータシステムにロードされたアプリケーションを登録する処理と、
    少なくとも1つのアプリケーション依存関係情報を前記記憶コンポーネントに記憶する処理と、
    前記記憶コンポーネントからの前記アプリケーション依存関係情報を前記バックアップサービスに通信する処理と
    を含み、前記バックアップサービスがアプリケーションのフリーズ順序の決定を含み、前記バックアップサービスが、決定された前記アプリケーションのフリーズ順序を反映する順序でアプリケーションフリーズを実行すること
    を含むことを特徴とする方法。
  2. 前記バックアップサービスがスナップショットサービスを含むことを特徴とする請求項1に記載の方法。
  3. 前記アプリケーション依存関係アプリケーションプログラムインターフェース(API)を前記コンピュータシステムにロードする処理をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記バックアップサービス操作に関連して使用するために、前記バックアップサービスが共通のソフトウェアエージェントに1組のアプリケーション依存関係情報を要求する処理をさらに含むことを特徴とする請求項1に記載の方法。
  5. 前記1組のアプリケーション依存関係情報が、前記復元操作を首尾よく完了させるための、前記記憶コンポーネントからの最小限の1組の情報であることを特徴とする請求項に記載の方法。
  6. 前記エージェントが少なくとも1つの登録済みアプリケーションに、前記サービスによって要求された前記1組のアプリケーション依存関係情報からの情報を求める要求を発行する処理をさらに含むことを特徴とする請求項に記載の方法。
  7. 少なくとも1つの登録済みアプリケーションが前記エージェントからの要求に応えて前記エージェントに情報を通信する処理をさらに含み、前記情報が前記少なくとも1つのアプリケーションの前記コンピュータシステムをまたいで存在する外部依存関係に関することを特徴とする請求項1に記載の方法。
  8. アプリケーションを登録解除する処理をさらに含むことを特徴とする請求項1に記載の方法。
  9. 前記APIプロトコルがXMLプロトコルであることを特徴とする請求項1に記載の方法。
  10. 前記エージェントが、階層的アプリケーション依存関係を反映する表形式で、前記アプリケーション依存関係情報を前記記憶コンポーネントに記憶することを特徴とする請求項1に記載の方法。
  11. クライアントコンピュータに請求項1に記載の処理を実行するよう命令するコンピュータで実行可能な命令を有することを特徴とする、コンピュータ可読媒体。
  12. 請求項1に記載のアプリケーション依存関係アプリケーションプログラムインターフェース(API)のためのプログラムであって、該プログラムは請求項1に記載のコンピュータシステム内のコンピュータにより実行されることを特徴とするプログラム。
  13. なくとも1つのアプリケーションが、それに関連する少なくとも1つの外部データ依存関係を有する、前記システムにロードされた複数のアプリケーションと、
    アプリケーション依存関係情報を記憶するための記憶コンポーネントと、
    前記システム中のアプリケーションプログラムインターフェース(API)の通信プロトコルに従って機能して、前記エージェントから前記APIに通信されたアプリケーション依存関係情報を処理し、前記アプリケーション依存関係情報を前記記憶コンポーネントに記憶するエージェントと、
    前記エージェントに1組のアプリケーション依存関係情報を求める要求を行うサービスであって、前記エージェントが、サービスからの要求に応えて前記アプリケーション依存関係情報を収集し記憶しパッケージ化し、前記サービスによるさらなる処理のために前記サービスに前記1組のアプリケーション依存関係情報を引き渡すサービスと
    を含み、前記エージェントが前記情報を引き渡す先の前記サービスが、バックアップサービスであり、前記サービスが前記依存関係情報に基づいてアプリケーションフリーズ順序を決定することを特徴とするコンピュータシステム。
  14. 前記サービスがスナップショットサービスを含むことを特徴とする請求項13に記載のコンピュータシステム。
  15. 前記エージェントが、階層的アプリケーション依存関係を反映する表形式で前記アプリケーション依存関係情報を記憶コンポーネントに記憶することを特徴とする請求項13に記載のコンピュータシステム。
  16. 前記1組のアプリケーション依存関係情報が、前記サービスを首尾よく完了させるための、前記記憶コンポーネントからの最小限の1組の情報であることを特徴とする請求項13に記載のコンピュータシステム
JP2001579105A 2000-04-24 2000-06-06 コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置 Expired - Fee Related JP4570312B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/557,250 US7363633B1 (en) 2000-04-24 2000-04-24 Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service
US09/557,250 2000-04-24
PCT/US2000/015498 WO2001082082A1 (en) 2000-04-24 2000-06-06 Method and apparatus for providing volume snapshot dependencies in a computer system

Publications (2)

Publication Number Publication Date
JP2003532190A JP2003532190A (ja) 2003-10-28
JP4570312B2 true JP4570312B2 (ja) 2010-10-27

Family

ID=24224632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001579105A Expired - Fee Related JP4570312B2 (ja) 2000-04-24 2000-06-06 コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置

Country Status (8)

Country Link
US (1) US7363633B1 (ja)
EP (1) EP1277113B1 (ja)
JP (1) JP4570312B2 (ja)
CN (1) CN1253793C (ja)
AT (1) ATE313827T1 (ja)
AU (1) AU2000254655A1 (ja)
DE (1) DE60025043T2 (ja)
WO (1) WO2001082082A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197120B2 (en) * 2000-12-22 2007-03-27 Openwave Systems Inc. Method and system for facilitating mediated communication
US7530076B2 (en) * 2001-03-23 2009-05-05 S2 Technologies, Inc. Dynamic interception of calls by a target device
US7359911B2 (en) * 2001-03-23 2008-04-15 S2 Technologies, Inc. System and method for building a database defining a plurality of communication interfaces
EP1473906A2 (en) * 2003-04-28 2004-11-03 Matsushita Electric Industrial Co., Ltd. Service management system, and method, communications unit and integrated circuit for use in such system
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
CN1305265C (zh) * 2003-11-07 2007-03-14 清华大学 San系统中基于负载自适应的异步远程镜像方法
CN100337208C (zh) * 2004-06-03 2007-09-12 华为技术有限公司 一种存储系统中的快照处理方法
CN100359476C (zh) * 2004-06-03 2008-01-02 华为技术有限公司 一种快照备份的方法
JP4325524B2 (ja) * 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
US7809764B2 (en) * 2004-11-01 2010-10-05 Microsoft Corporation Method and apparatus for preserving dependancies during data transfer and replication
US20060106893A1 (en) * 2004-11-02 2006-05-18 Rodger Daniels Incremental backup operations in storage networks
US7472307B2 (en) 2004-11-02 2008-12-30 Hewlett-Packard Development Company, L.P. Recovery operations in storage networks
WO2007002397A2 (en) * 2005-06-24 2007-01-04 Syncsort Incorporated System and method for high performance enterprise data protection
US7707451B2 (en) * 2005-06-28 2010-04-27 Alcatel-Lucent Usa Inc. Methods and devices for recovering from initialization failures
JP4712873B2 (ja) * 2005-06-29 2011-06-29 イーエムシー コーポレイション クライアントユーティリティを使用する単一クライアントスナップショットの作成
DE102005032542A1 (de) * 2005-07-12 2007-01-18 Giesecke & Devrient Gmbh Verwaltung von Applikationen in einem tragbaren Datenträger
CN100369000C (zh) * 2005-08-12 2008-02-13 西安三茗科技有限责任公司 一种计算机硬盘数据多时间点快速存储与恢复方法
EP1921545A3 (en) * 2006-11-07 2013-09-04 Magix Ag Application-Specific Intelligent Backup and Restore System
US8122359B2 (en) 2007-06-05 2012-02-21 International Business Machines Corporation Apparatus, system, and method for topological display of user interface elements
US7996370B2 (en) * 2007-12-13 2011-08-09 International Business Machines Corporation System restoration apparatus and method for management of dependencies, ordering sensitivities, and database index rebuilds
US9424323B2 (en) * 2008-01-31 2016-08-23 Oracle International Corporation Application tier data dictionary
JP5263696B2 (ja) 2008-06-30 2013-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20100057787A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Method, system, and computer program product for cloning of distributed and stateful systems
CN101751593B (zh) * 2008-11-28 2013-01-02 爱思开电讯投资(中国)有限公司 智能卡及其备份与恢复方法和系统
US8484161B2 (en) * 2011-08-29 2013-07-09 Oracle International Corporation Live file system migration
US9087006B2 (en) 2012-05-29 2015-07-21 Infinidat Ltd. Destaging cached data in multiple recurrences in a storage system
WO2014067105A1 (zh) * 2012-10-31 2014-05-08 华为技术有限公司 网络数据的回退方法及设备
US20140379981A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Application discovery using storage system signatures
US11150992B2 (en) * 2018-08-21 2021-10-19 International Business Machines Corporation File entity relationship management and source product backup
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
US11308267B1 (en) * 2020-09-25 2022-04-19 UiPath, Inc. Artifacts reference creation and dependency tracking

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE508828C2 (sv) * 1992-12-08 1998-11-09 Ericsson Telefon Ab L M System för relationsåterhämtning av databas i händelse av fel
JP2783109B2 (ja) * 1993-03-04 1998-08-06 三菱電機株式会社 データベースシステム退避装置及びデータベースシステム復元装置及びデータベースシステム移行装置
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5872979A (en) 1995-01-04 1999-02-16 International Business Machines Corporation Method and system for removing software involving shared files
EP0813707B1 (en) * 1995-03-06 2005-11-09 Intel Corporation A computer system with unattended on-demand availability
US6029160A (en) * 1995-05-24 2000-02-22 International Business Machines Corporation Method and means for linking a database system with a system for filing data
JP3708199B2 (ja) * 1996-01-17 2005-10-19 株式会社東芝 コンカレントエンジニアリング支援システム及びコンカレントエンジニアリング支援方法
US5867650A (en) * 1996-07-10 1999-02-02 Microsoft Corporation Out-of-band data transmission
US6237020B1 (en) * 1996-10-01 2001-05-22 International Business Machines Corporation Task-oriented automatic distribution of software
US5920873A (en) * 1996-12-06 1999-07-06 International Business Machines Corporation Data management control system for file and database
US5995958A (en) * 1997-03-04 1999-11-30 Xu; Kevin Houzhi System and method for storing and managing functions
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US5946698A (en) * 1997-03-10 1999-08-31 Microsoft Corporation Database computer system with application recovery
US5870763A (en) * 1997-03-10 1999-02-09 Microsoft Corporation Database computer system with application recovery and dependency handling read cache
US6031987A (en) * 1997-05-06 2000-02-29 At&T Optimistic distributed simulation based on transitive dependency tracking
US5938775A (en) * 1997-05-23 1999-08-17 At & T Corp. Distributed recovery with κ-optimistic logging
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6182210B1 (en) * 1997-12-16 2001-01-30 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
ATE392660T1 (de) 1998-03-03 2008-05-15 Siebel Systems Inc Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
US6119129A (en) * 1998-05-14 2000-09-12 Sun Microsystems, Inc. Multi-threaded journaling in a configuration database
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
CA2256934C (en) * 1998-12-23 2002-04-02 Hamid Bacha System for electronic repository of data enforcing access control on data retrieval
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6820118B1 (en) * 1999-01-20 2004-11-16 International Business Machines Corporation Method and system for providing a linkage between systems management systems and applications
US6490695B1 (en) * 1999-01-22 2002-12-03 Sun Microsystems, Inc. Platform independent memory image analysis architecture for debugging a computer program
US6513019B2 (en) * 1999-02-16 2003-01-28 Financial Technologies International, Inc. Financial consolidation and communication platform
JP3728156B2 (ja) * 1999-10-21 2005-12-21 株式会社日本ウォルブロー 2行程機関の加速装置
US6633978B1 (en) * 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
US6313019B1 (en) * 2000-08-22 2001-11-06 Advanced Micro Devices Y-gate formation using damascene processing

Also Published As

Publication number Publication date
WO2001082082A1 (en) 2001-11-01
US7363633B1 (en) 2008-04-22
AU2000254655A1 (en) 2001-11-07
EP1277113A1 (en) 2003-01-22
EP1277113B1 (en) 2005-12-21
DE60025043T2 (de) 2006-07-13
CN1253793C (zh) 2006-04-26
JP2003532190A (ja) 2003-10-28
CN1452737A (zh) 2003-10-29
DE60025043D1 (de) 2006-01-26
ATE313827T1 (de) 2006-01-15

Similar Documents

Publication Publication Date Title
JP4570312B2 (ja) コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置
US10831614B2 (en) Visualizing restoration operation granularity for a database
JP4603755B2 (ja) 複数のスナップショットプロバイダを共通に調整し、管理するための方法およびシステム
US7406473B1 (en) Distributed file system using disk servers, lock servers and file servers
US8930315B2 (en) Using a data protection server to backup and restore data on virtual servers
US6360331B2 (en) Method and system for transparently failing over application configuration information in a server cluster
US7472129B2 (en) Lossless recovery for computer systems with map assisted state transfer
CN100407205C (zh) 用于基于文件优化快照操作的方法
US8706694B2 (en) Continuous data protection of files stored on a remote storage device
JP3145236B2 (ja) フォールトトレラントコンピューティング装置
US7953945B2 (en) System and method for providing a backup/restore interface for third party HSM clients
Silva et al. Fault-tolerant execution of mobile agents
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的系统和方法
US20050289414A1 (en) Lossless recovery for computer systems with remotely dependent data recovery
US9275060B1 (en) Method and system for using high availability attributes to define data protection plans
US20120159240A1 (en) Recovery of a computer that includes virtual disks
JPH08272725A (ja) 分散オブジェクト環境においてサーバの構成情報を判定し、操作するためのシステム、及び方法
CN113656149B (zh) 一种应用处理方法、装置及相关设备
CN113672350B (zh) 一种应用处理方法、装置及相关设备
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US6223231B1 (en) Method and apparatus for highly-available processing of I/O requests while application processing continues
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
CN111190878B (zh) 一种共享访问nas快照的方法、装置、设备及存储介质
US11675668B2 (en) Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation
Little et al. Understanding the role of atomic transactions and group communications in implementing persistent replicated objects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070606

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

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

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

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

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees