JP2009539178A - 頻繁なアプリケーション整合バックアップの効率的な作成 - Google Patents

頻繁なアプリケーション整合バックアップの効率的な作成 Download PDF

Info

Publication number
JP2009539178A
JP2009539178A JP2009513156A JP2009513156A JP2009539178A JP 2009539178 A JP2009539178 A JP 2009539178A JP 2009513156 A JP2009513156 A JP 2009513156A JP 2009513156 A JP2009513156 A JP 2009513156A JP 2009539178 A JP2009539178 A JP 2009539178A
Authority
JP
Japan
Prior art keywords
data
backup
server
file
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009513156A
Other languages
English (en)
Other versions
JP2009539178A5 (ja
JP5028482B2 (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 JP2009539178A publication Critical patent/JP2009539178A/ja
Publication of JP2009539178A5 publication Critical patent/JP2009539178A5/ja
Application granted granted Critical
Publication of JP5028482B2 publication Critical patent/JP5028482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/1464Management of the backup or restore process for networked environments
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/99955Archiving or backup

Landscapes

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

Abstract

ソース・アプリケーション(1つまたは複数)に厳格な制約を必ずしも課さずに、実質上連続的な方式でプロダクション・サーバにおいてデータを保護することができる。例えば、プロダクション・サーバは、第1の時間インスタンスに対応する、1つまたは複数のボリュームのアプリケーション整合バックアップを作成することができる。ボリューム・フィルタ・ドライバが、メモリ内ビットマップを使用してデータ変更を監視することができ、ログ・ファイルおよび/または更新シーケンス番号ジャーナルが、どのファイルが修正されたかを常に把握していることができる。ボリューム更新もまた、(後の)時間インスタンスで整合性がある。数分おきなど(どのように構成されようと)、次の複製サイクルで、ボリューム・フィルタ・ドライバは、各メモリ内ビットマップをプロダクション・サーバ上の物理ディスクに渡す。次いでプロダクション・サーバは、更新をバックアップ・サーバに送信し、したがってバックアップ・サーバは、複数の時間インスタンスで、ボリュームごとに、アプリケーション整合バックアップを格納する。

Description

本発明は、電子ファイルのバックアップに関し、より詳細には、電子ファイルを定期的にバックアップし、それにより、元々作成されたファイルの信頼性ある復元を必要時に作成することに関する。
コンピュータ化されたシステムの人気が高まるのに伴い、システムに関連するユーザやアプリケーションによって作成された電子ファイルや他の通信を記憶してバックアップする必要も増大してきた。一般に、コンピュータ・システムおよび関係するデバイスは、作業環境でワード・プロセッシング文書を作成する一般的な場合、ならびに、より複雑なデータベース目的に使用されるファイルを作成する場合などの、様々な理由でファイルを作成する。加えて、これらの文書の多くは、価値のある作業生産物(work product)や保護すべき機密情報を含む可能性がある。したがって、組織が、なぜ、電子ファイルを定期的にバックアップし、それにより、元々作成されたファイルの信頼性ある復元を必要時に作成したいと望むかには、様々な理由があることを理解するであろう。
多くの従来バックアップ・システムによって提供される、いくつかの利便性にもかかわらず、多くの従来システムによって使用される機構はしばしば、最適ではなく効率が劣る。例えば、アプリケーション整合(application-consistent)バックアップを作成する能力は、いくつかのバックアップ・システムの重要な構成要素とすることができる。アプリケーション整合(ならびにファイル・システム整合)バックアップは基本的に、特定時点のファイル状態に整合性を有する、1組のバックアップされたデータである。例えば、バックアップ管理者が、所与のプロダクション・サーバ・ボリューム(production server volume)上にあるすべてのデータを、このデータが書込みまたは更新の途中である可能性があるにもかかわらずコピーした場合、対応するバックアップ・コピーのファイル状態は、単一時点で必ずしも整合していない可能性がある。したがって、アプリケーション整合バックアップを作成することは、一般に、ファイル状態を確認する(reconciling)追加の労力を必要とする。
しかし、アプリケーション整合(application-consistent)データ・バックアップの作成に関連する多くの困難があり得ることを理解することができる。例えば、バックアップを作成するための従来の機構は一般に、メールまたはデータベース・アプリケーション・プログラムのバックアップ・コンポーネントなどの、アプリケーション・プログラムが、1つまたは複数のバックアップおよび/または復元アプリケーション・プログラミング・インターフェース(API)を呼び出すことを必要とする。具体的には、バックアップ・コンポーネントは、APIに、プロダクション・サーバ上の特定の指定ディスク・データへの書込みをフリーズするよう伝え、次いで、データのバックアップ・コピー(すなわち「複製」)を作成することができる。残念ながら、一般に、プロダクション・サーバにおいてバックアップ・コンポーネントがそれらのデータをバックアップAPIに対して記述するための単純な方法はない。この困難をさらに複雑にするのは、バックアップ・プロセス中に参照されることが必要となる可能性があるバックアップAPIが、時として多数存在する可能性があることである。
加えて、あるデータを作成した特定のアプリケーションがバックアップ・サービスを要求しているということは、プロダクション・サーバ・データのすべてよりも少ないデータが、幾つかの所与の時点でバックアップされる場合があることを、多くの場合、意味する。例えば、従来のバックアップ機構はしばしば、バックアップされるデータに関してアプリケーション特有である。このようなアプリケーション特有バックアップ手法は、多くの場合に、バックアップ・プロセス中に所与のアプリケーションの複数のインスタンスを実行することを伴う。しかし、所与のアプリケーションの複数のインスタンスを実行することは、いくつかの理由で、それがコストやリソース消費の観点からであっても、非効率的である可能性があることを理解するであろう。
さらに、アプリケーションを使用してバックアップ・サービスを提供することすら、いくらか非効果的である可能性がある。というのは、アプリケーション固有バックアップは、一般に、多くのリソース消費を伴わずにアプリケーション・データのポイント・イン・タイム(point-in-time)コピーを提供しないからである。このことは、アプリケーションが、プロダクション・サーバとバックアップ・サーバとの両方に負荷をかけ過ぎることなく頻繁にアプリケーション整合ポイント・イン・タイム・バックアップを提供すること(したがって高い細分性の(highly granular)復旧時点(recovery points)を提供すること)ができない場合があることを意味し得る。したがって、特定のアプリケーションによって実施される従来のバックアップは、通常、ほんの数分だけ古いポイント・イン・タイム・バックアップの「ホット・スタンバイ(hot standby)」を提供することができない。
この、きめ細かく構成する能力が一般に欠如していることは、バックアップ・システムにおける様々な他の問題に広がる可能性がある。例えば、従来のバックアップ・システムは、ファイルのタイプ、特定のフォルダ、または特定ボリューム上でのフォルダ位置に対して構成するのが難しいことがある。したがって、実際に修正されたファイル部分のみをバックアップするのでなく、1つまたは複数のボリューム全体そのもの、あるいはファイル全体そのもの、よりもよりきめ細かく、従来のバックアップ・システムにプロダクション・サーバ・データをバックアップさせる、ことに関連する困難がある可能性がある。これらおよび他の類似の問題はしばしば、プロダクション・サーバとバックアップ・サーバとが必要以上のデータを相互間でコピーおよび転送するように構成されることを意味し、これは当然ながらシステム性能およびネットワーク帯域幅に影響する可能性がある。具体的には、プロダクション・サーバは、変更されていないファイルデータ、ならびにわずかな部分しか変更されていないファイル全体を、コピーおよび転送している場合がある。このため、プロダクション・サーバ・データをバックアップするのに、必要以上の多くの記憶容量をバックアップ・サーバが充てる必要がある場合がある。
したがって、前述の各要因(またはこれらの組合せ)が目標復旧時点(Recovery Point Objective;RPO)に悪影響を及ぼす可能性があることを理解するであろう。RPOは一般に、組織が災害(disaster)後に業務を再開するためにどのくらい時間を遡ってデータを復旧する必要があるかを指す。前述の要因はまた、目標復旧時間(Recovery Time Objective;RTO)にも悪影響を及ぼす可能性があり、RTOは一般に、災害後、業務の再開に必要なデータを復旧できるまでにどのくらいの時間が経過することになるかを指す。すなわち、従来のバックアップ・システムは一般に、特にシステム・リソースに過度の負担をかけずに、比較的速い時間量で、比較的高い復旧時点(recovery points)を提供するための備えができていない。
したがって、現在のバックアップ・システムは、対処される可能性があるいくつかの困難に直面している。
本発明の実装形態は、バックアップ・システムにおける目標復旧時点および目標復旧時間を最適化するように少なくとも部分的に構成されたシステム、方法、およびコンピュータ・プログラム製品により、当技術分野における1つまたは複数の問題を解決する。例えば、少なくとも1つの実装形態では、ボリューム・フィルタ・ドライバを使用してプロダクション・サーバ・ボリュームに対する変更を監視することによって、プロダクション・サーバにおけるリソース節約を達成することができる。加えて、主として、最後の複製サイクル以降はインクリメンタルな変更(例えば変更のバイトまたはバイト範囲)のみをバックアップ・サーバに転送することによって、ネットワーク帯域幅およびバックアップ・サーバ・リソースを効率的に使用することができる。本明細書でより完全に理解されるであろうが、このような最適化は、プロダクション・サーバ・リソースおよびバックアップ・サーバ・リソース、ならびに/あるいはネットワーク帯域幅関連の著しい浪費なしに、実質上連続的な(またはほぼ連続的な)方式でプロダクション・サーバ・データをバックアップする能力を提供することができる。
例えば、プロダクション・サーバ・データを実質上連続的かつ整合性のある方式で複製する、プロダクション・サーバの視点からの方法は、プロダクション・サーバの1つまたは複数のボリュームからのボリューム・データのコピーをバックアップ・サーバに送信することを含むことができる。このような場合、ボリューム(1つまたは複数)の送信データ・コピーは一般に、第1の時間インスタンスで整合性がある(すなわちアプリケーション整合性またはファイル・システム整合性がある)ことになる。加えて、この方法は、1つまたは複数のボリューム・ログファイルを介してボリュームに対する1つまたは複数の変更を識別することを含むことができる。この方法はさらに、複製サイクル・イベントを識別したとき、1つまたは複数のデータ変更を1つまたは複数のボリューム・ログファイルに保存することを含むことができる。一般に、1つまたは複数のデータ変更もまた、第2の(すなわち後続の)時間インスタンスで整合性があることになる。さらに、この方法は、1つまたは複数の変更のコピーをバックアップ・サーバに送信することを含むことができる。したがって、バックアップ・サーバは、1つまたは複数のボリュームのデータのコピーを有することになり、このデータは、第1の時間インスタンスおよび第2の時間インスタンスで妥当(valid)である。
対照的に、プロダクション・サーバ・データを実質上連続的かつ整合性のある方式で複製する、バックアップ・サーバから見た方法は、プロダクション・サーバから1つまたは複数のボリューム・バックアップを受信することを含むことができる。このような場合、1つまたは複数のボリューム・バックアップは、最初の時間インスタンスで整合性がある。この方法はまた、1つまたは複数のアプリケーション整合バックアップ更新を受信することを含むことができ、これらのバックアップ更新の少なくとも1つは、後続の時間インスタンスでの、1つまたは複数のボリューム・バックアップの少なくとも1つに対する整合性のある更新である。加えて、この方法は、後続の時間インスタンスに従って妥当であるデータを求める復旧要求を受信することを含むことができる。
さらに、この方法はまた、1つまたは複数のバックアップ・サーバ・ボリュームにおいて、後続の時間インスタンスでの要求されたデータを識別することを含むことができる。このような場合、要求されたデータは、少なくとも1つのアプリケーション整合バックアップ更新の少なくとも一部を含む。加えて、この方法は、後続の時間インスタンスで妥当である要求されたデータをプロダクション・サーバに送信することを含むことができる。
この概要は、以下の詳細な記述でさらに述べる複数の概念の精選を、単純化した形で紹介するために提供する。この概要は、特許請求する主題の鍵となる特徴または本質的な特徴を識別することを意図したものではなく、特許請求する主題の範囲を決定する際の助けとして使用されることを意図してはいない。
本発明の例示的な実装形態の追加の特徴および利点は、以下の説明に記載され、部分的には、これらはこの説明から自明であろうし、あるいはこのような例示的な実装形態の実践によって知ることができる。このような実装形態の特徴および利点は、添付の特許請求の範囲に特に示す手段および組合せによって理解すること、および獲得することができる。これらのおよび他の特徴は、後続の記述および添付の特許請求の範囲からより完全に明らかになるであろうし、あるいは後述するこのような例示的な実装形態の実践によって知ることができる。
本発明の前述のおよび他の利点および特徴を得ることのできる方式について説明するために、上に簡単に説明した本発明のより具体的な説明を、添付の図面に示すその特定の実施形態を参照して提供する。これらの図面は本発明の例示的な実施形態のみを表すものであり、したがってその範囲を限定するものと考えるべきではないことを理解した上で、添付の図面を使用して本発明をさらに具体的かつ詳細に記述および説明する。
本発明は、バックアップ・システムにおける目標復旧時点(recovery point objectives)および目標復旧時間(recovery time objectives)を最適化するように、少なくとも部分的に構成されたシステム、方法、およびコンピュータ・プログラム製品に及ぶ。例えば、少なくとも1つの実装形態では、ボリューム・フィルタ・ドライバを使用してプロダクション・サーバ・ボリュームに対する変更を監視することによって、プロダクション・サーバにおけるリソース節約を達成することができる。加えて、主として、最後の複製サイクル以降はインクリメンタルな変更(例えば変更のバイトまたはバイト範囲)のみをバックアップ・サーバに転送することによって、ネットワーク帯域幅およびバックアップ・サーバ・リソースを効率的に使用することができる。本明細書でより完全に理解されるであろうが、このような最適化は、プロダクション・サーバ・リソースおよびバックアップ・サーバ・リソース、ならびに/あるいはネットワーク帯域幅関連の著しい浪費をせずに、実質上連続的な(またはほぼ連続的な)方式でプロダクション・サーバ・データをバックアップする能力を提供することができる。
後続の明細書および特許請求の範囲からより完全に理解されるであろうが、本発明の実装形態は、プロダクション・サーバ・データの「フルスナップ・ショット(full snapshot)」を使用してバックアップ・サーバをリフレッシュすることによって、幅広い「目標復旧時間」を満たすことができる。加えて、本発明の実装形態は、プロダクション・サーバで実装することのできるボリューム・フィルタ・ドライバを含む。本明細書でより完全に理解されるであろうが、ボリューム・フィルタ・ドライバは、プロダクション・サーバ・ボリューム(1つまたは複数)上のバイト(および/またはバイト・ブロック)に対する変更を監視するように構成することができる。次いでプロダクション・サーバは、これらの変更されたバイト(またはバイト・ブロック)のみをバックアップ・サーバに送信することによって、スナップ・ショット(またはバックアップ・コピー)全体を送信するように構成することができる。したがって、ボリューム・フィルタ・ドライバを使用することで、プロダクション・サーバ・データのフルスナップ・ショットをバックアップ・サーバに移動するときに通常なら消費されるかもしれないリソースに対する負担を緩和することができる。
さらに、またこれらおよび他の特徴の結果として、プロダクション・サーバは、互いに時間間隔の短いいくつかの「整合性のある」(すなわちアプリケーション整合性および/またはファイル・システム整合性のある)スナップ・ショットの実質上連続的なバックアップ(すなわち最初のバックアップおよび後続のシャドウ・コピー)を、バックアップ・サーバに提供することができる。加えて、バックアップの各更新はアプリケーション整合性(および/またはファイル・システム整合性)があるか、あるいは特定の時間インスタンスで妥当であるので、各更新の間の差もまたアプリケーション整合性があることになる。したがって、本発明の実装形態は、非常に高い細分性(fairly high granularity)(例えばほんの数分だけ古い)で、また通常なら必要かもしれない負担よりもずっと少ない負担で、幅広いアプリケーション整合データ(例えばファイル・レベルから、データベース・レベル、さらにはプロダクション・サーバ全体レベル)を復旧する能力をユーザに提供する。
一般に、本発明の実装形態による連続的かつ整合性のあるバックアップ・サービスを実装する方式には、様々なものがある。少なくとも1つの非常に基本的な意味では、整合性のあるバックアップを作成することは、1つまたは複数のボリューム(例えば175)のベースライン・コピー(例えば145)を作成すること、および、次いでこのベースライン・コピーに、1つまたは複数のボリュームのインクリメンタルかつ整合性のある更新(例えば150、155)を補足することを含む。例えば、図1Aに、プロダクション・サーバ105が、選択されたボリューム(1つまたは複数)175上のデータの少なくとも1つのベースライン・バックアップ・コピー(例えば145)を作成するのを示す。単にベースライン・コピー145を作成するのに加えて、システム100におけるバックアップ管理者は、任意の数またはタイプの機構を使用してコピー145を整合性のあるものにすることができる。
一実装形態では、バックアップ管理者は、複製プロセスをガイドするためにバックアップ・サーバ110および/またはプロダクション・サーバ105にインストールされた、複製エージェント(replica agent)(図示せず)を使用することができる。複製サイクルの間、例えば複製エージェントは、プロダクション・サーバ105上のいずれか1つまたは複数の適切なアプリケーション・ライタに、単一時点に対する、いずれか1つまたは複数のボリューム上(例えばデータベースがいくつかのボリュームにわたる場合があり、いくつかのアプリケーションが同じボリュームを異なるスケジュールで使用する可能性がある)への書込アクティビティを少しの間だけ保留するよう命令するように構成することができる(ファイル共有バックアップの場合は、アプリケーション・ライタがまったく関係しないことすらある)。これは、複製エージェントが、1つまたは複数のボリュームの単一のポイント・イン・タイム・バックアップ(すなわち「シャドウコピー」)を作成することを可能にする。
複製エージェントはまた、各アプリケーション・ライタに、それらの当該データに関するいくつかの機能を実施させて、それによりすべてのデータおよびメタ・データが複製サイクルの時点で整合性を有することを確実にする命令を、提供することもできる。アプリケーション・ライタまたは、それらに関連付けられた対応するプラグインを有しない可能性のある、より単純なアプリケーションについては、複製エージェントは、単に、複製サイクルの間にフリーズまたはシャットダウンするようこれらのアプリケーションに命令するように構成されてもよい。整合性のあるバックアップを作成するための前述のエージェント、コンポーネント、および機能は、MICROSOFT環境における少なくとも1つの実装形態で、例えば、ボリューム・シャドウ・コピー・サービス(VSS、Volume Shadow Copy Service)を使用して、提供することができる。
いずれの場合でも、特定の1つのボリューム(または複数のボリューム)への、また特定の時間インスタンスでの、対象の書込みをフリーズすると、次いでプロダクション・サーバ105は、対象のボリューム(1つまたは複数)(あるいは別法として、選択されたフォルダ、ファイル、またはファイル・タイプのみ)のコピーを作成して送信することができる。例えば、図1Aは、プロダクション・サーバ105がこの最初のベースライン・コピー145をバックアップ・サーバ110に提供することができることを示す。一般に、プロダクション・サーバ105は、多くの方法でベースライン・コピー145を提供することができる。一実装形態では、例えば、プロダクション・サーバ105は単にネットワーク接続を介してコピー145を送信する。ネットワーク帯域幅がより限られているかもしれない場合など、他の実装形態では、バックアップ管理者が、テープ(または別の中間記憶ノード(図示せず))にボリューム・コピーを転送し、後でこのテープをバックアップ・サーバ110に接続することができる。しかしながら、実施されると、プロダクション・サーバ105は、同じ複製サイクルを共有する対象のボリューム、フォルダ、ファイル、またはファイル・セットに対する、すべてのデータの、整合性ある少なくとも1つのベースライン・コピー(すなわち時間「t」で妥当)をバックアップ・サーバ110に提供する。
1つまたは複数のプロダクション・サーバ・ボリュームの、1つまたは複数のベースライン・コピーを提供した後、バックアップ・サーバ110は、ベースラインバックアップ(1つまたは複数)への更新を受信し続けることができる。例えば、バックアップ・サーバ110は、約5〜10分、10〜15分、15〜30分などにわたる様々な構成可能な複製スケジュールで、プロダクション・サーバ105をバックアップし続けることができる。一般に、バックアップ管理者が複製サイクルを構成するレベルは、特定の「復旧時点」にアクセスできる細分性のレベルとなる。
前に論じたように、普通、ポイント・インタイム・バックアップのアクセス可能性(accessibility)の細分性レベルが比較的高いと、バックアップ・システムによってはリソースに対する負荷が法外となる可能性がある。このため、「復旧にかかる時間」を不必要に損なわずに(例えば大きなオーバーヘッドを被らずに)前述の「復旧時点」の細分性レベルを生み出すために、本発明の実装形態は、いくつかの重要なコンポーネントおよび機能を提供することができる。
後でより完全に論じる一実装形態では、例えば、ボリューム・フィルタ・ドライバ115は、プロダクション・サーバ105における1つまたは複数のボリュームのいずれか(例えば175)に対する反復的な変更を、メモリ内ビットマップを使用して、あるいはディスク上のボリューム・ログファイル中で特定の変更済みバイト(またはバイト・ブロック)に印を付けることによって、監視するのに使用することができる。一般に、ボリューム・フィルタ・ドライバ(例えば115)は、どのようにハードウェアまたはソフトウェア・ベースの「スナップ・ショット」がプロダクション・サーバ105上で実装されるかということから独立していることになる。しかし、ボリューム・フィルタ・ドライバ115は必ずしも必要とされないこと、および、本明細書にも論じるように他のコンポーネントによって同様の機能を実施することもできることを理解するであろう。追加のまたは代替の実装形態では、プロダクション・サーバ105はまた、従来のシャドウ・コピー監視機構および/または更新シーケンス番号(Update Sequence Number)ジャーナル(すなわち「USNジャーナル」140)などの使用を通して、ボリュームに対する変更(例えばファイル120、125、130などに対する変更)を監視することもできる。例えば、特にMICROSOFTオペレーティング環境に関しては、このようなコンポーネントは、ボリューム・シャドウ・コピー・サービス(VSS)とUSNジャーナルとを組み合わせて使用することによって提供される。
一般に、ボリューム・ログファイル(例えば135)は、ボリュームへの書込みごとの、特定の複製サイクル中のボリュームに対するすべての変更(例えばボリュームオフセット、データ長変更)、および/または、変更のメモリ内ビットマップ(in-memory bitmap)を含むことができる。特定の複製サイクルが発生したとき、既存のボリューム・ログファイル(例えば135)はフリーズされ、新しいボリューム・ログファイル(図示せず)を生成して、次の複製サイクルに対する変更を収集することができる。一実装形態では、ボリューム・レベルの変更は、どんな追加の相関情報(correlating information)もなしに、直接、バックアップ・サーバ110に送信することができる。次いで、バックアップ・サーバ110に送信される対応する更新は、「バイトn」(または「バイト・ブロックnがn+1に変更されたもの」)としてその複製に適用することができる。追加のまたは代替の実装形態では、プロダクション・サーバ105におけるボリューム・データは、USNジャーナル(または関連コンポーネント)140の情報と相関させることもできる。
具体的には、USNジャーナル(例えば140)は、ファイル・システム中のファイル名データに関するこのようなアクティビティのタイム・スタンプ付き情報を含む。USNジャーナル140と同様または同一のコンポーネントは、変更フィルタまたは変更ジャーナルなどとも呼ばれる。したがって、本明細書で具体的に「USNジャーナル140」に言及するのは、主として便宜上である。いずれの場合でも、またファイル・システム・アクティビティに関して、プロダクション・サーバ105は、ボリューム・ログファイル(例えば135)データと変更ジャーナル・データ(例えばUSNジャーナル140)とを組み合わせて、ボリューム175への様々な書込みの、時間、アクティビティのタイプ、およびファイル名などを相関させることができる。
これらの方向に沿って、USNジャーナル140は、ボリューム・ログファイル135と共に使用して、特定のバイトまたは「バイト・ブロック」の変更(ならびに変更に対応するファイル)のアドレスなどを相関させることもできる。具体的には、ボリューム上の各ファイルは、アドレス指定可能なバイトの開集合(open set)、ならびにアドレス指定可能な固定長バイト・ブロックの開集合、と考えることができる。場合によっては、バイト・ブロック(個々のバイトではなく)を監視および転送することの方が、変更を監視および転送するための、ならびにバックアップ目的でどのくらいの空間が必要とされるかを決定するための、より効率的な方法である可能性がある。具体的には、これは一部には、バイト・ブロックが、通常ファイル全体よりもいくぶん小さいが、単一バイトよりも大きい、細分性レベルを表すからである。したがって、図1Aに、プロダクション・サーバ105が、保護されるべきそのファイルに対する様々なバイトまたはバイト・ブロックの変更をログするのを示す。
例えば、図1Aは、プロダクション・サーバ105が、最後の複製サイクル(例えば最後の5、10、15、20、25、または30分など)以降にファイル120のバイト(または「バイト・ブロック」)121、122、および123が変化した(例えば120が新しいファイルである)ことをログすることを示す。同様に、最後の複製サイクル以降、ファイル125は、バイト(またはバイトブロック)127、128、および129を含むが、バイト128および129のみが変化しており、ファイル130は、バイト131、132、および133を含むが、バイト133のみが変化している。一般に、プロダクション・サーバ105は、これらの変更済みバイトを、ボリューム、フォルダ、または関連ファイルの読取専用シャドウ・コピーにログすることができる。前述のように、プロダクション・サーバ105はまた、ボリューム・ログファイルについてのこれらの変更済みバイトをメモリ内ビットマップとして(例えばボリューム上のデータ・ブロックにつき1ビットを使用して)記憶することもでき、これらのメモリ内ビットマップは、後で複製中に物理ディスクに渡される。どのようにログまたは監視されようと、また適切な時間(すなわち次の複製サイクル)に、次いでプロダクション・サーバ105は、これらのファイル変更(すなわち121、122、123、128、129、133など)のみを、バックアップ・サーバ110に送信されるよう準備することができる。
この特定の例では、変更(すなわち121、122、123、128、129、133など)はそれぞれ、一番最近の時点(すなわち「t」)で妥当であり、したがって整合性がある(すなわちアプリケーション整合性またはファイル・システム整合性がある)。とりわけ、これらのバイト(またはバイト・ブロック)は、2つの整合するポイント・インタイム・バックアップ間の差を表すので、バックアップ・サーバ110でこれらのバイト(またはバイト・ブロック)を適用してもやはり整合性があることになる。これらのデータ変更を識別した後、プロダクション・サーバ105は、これらの変更を、更新150(時間tでの)としてバックアップ・サーバ110に送信することができる。同様に、プロダクション・サーバ105は、次の複製サイクルでの次のインクリメンタルな更新で、インクリメンタルなデータ変更(すなわち1つまたは複数ボリュームについてログされたデータ変更)の次の各セットを識別して送信することができる。例えば、図1Aにはまた、プロダクション・サーバ105が更新155(時間tでの)を準備してバックアップ・サーバ110に送信し、以下同様にすることを示す。
プロダクション・サーバ105が変更済みデータを読み取ってメッセージ150を作成した時点から、そのボリューム・データに追加の変更がある場合があり、この変更は、読み取られているデータを、他の場合には整合(すなわち時間「t」で整合性があり、後続の時間で妥当である)の状態にしない可能性があることを理解するであろう。したがって、ベースライン・コピー145に関して前に論じたように、ボリューム・シャドウ・コピー・サービス(または他のVSSのような機構)は、少なくとも1つの実装形態で使用して、フリーズされた特定の時間インスタンスのみのデータを読み取り、その後のどんな変更も読み取らないことができる。これは、スナップ・ショット更新150(ならびに155など)が、スナップ・ショット(バックアップ更新または更新とも呼ばれる)操作が開始した指定の時間インスタンスまで整合の状態にあるようにするのを助けることができる。
受信時、バックアップ・サーバ110は、各バックアップおよび対応する更新(1つまたは複数)を特定の複製ボリュームに記憶することができる。一実装形態では、バックアップ・サーバ110は、そのバックアップと更新とを、同じ記憶媒体の同じボリューム・アロケーションに記憶する。他の実装形態では、バックアップ・サーバ110(および/あるいは追加のバックアップ・サーバまたは記憶ノード)は、バックアップと対応する更新とを、バックアップ管理者によって望まれる、別々のボリュームに、さらには別々の記憶媒体に記憶することができる。
場合によっては、またプロダクション・サーバ105の実質上連続的かつ反復的なバックアップの性質により、バックアップ管理者は、データのいくつかの状況(aspects)をプロダクション・サーバ105のデータと同期させる必要がある場合がある。例えば、ネットワーク停止(network outage)、およびログ・オーバーフロー(例えばUSNジャーナルラップ(wrap)など)に起因する場合など、複製サイクル中のおよび/またはいくつかの複製サイクルにわたる障害の場合がある。したがって、一実装形態では、バックアップ管理者は、プロダクション・サーバ105の新しいベースライン・フル・スナップショット(例えば145と同様のもの)を作成することによって、妥当性検査または訂正を実施することができる。次いでバックアップ管理者は、プロダクション・サーバ105上のデータのスナップ・ショットとバックアップ・サーバ110上のデータとの間でチェック・サム比較(または他の妥当性検査)を実施することができる(例えばプロダクション・サーバ105を介して)。次いで、バックアップ・サーバ110上に誤ったデータ(errant data)があれば、必要ならこれを修復することができる。
例えば、特にWINDOWS(登録商標)オペレーティング・コンポーネントに関しては、このチェック・サムは、少なくとも1つの実装形態では、WINDOWS(登録商標) SERVER2003で使用されるリモート差分圧縮(RDC、Remote Differential Compression)を用いて実施することができる。場合によっては、ワイドエリアネットワーク(WAN)環境ではRDCタイプの機構の使用が好ましいことがある。別の実装形態では、ローカルエリアネットワーク(LAN)において好ましいが、バックアップ管理者は、スナップ・ショット中の各ファイルを「チャンク(chunks)」(例えばバイト・ブロック)からなる複数のセットに分割し、次いで各チャンク毎にチェック・サムを計算することができる。
いずれの場合でも、一部には、本発明の実装形態によって提供される複製の細分性のレベル(level of replication granularity)により、ほんの数分だけ古い特定バージョンの(例えばパーソナル・コンピュータの少し前に起こったクラッシュから必要とされる)ファイル(または他のデータ表現)をユーザが要求する場合、そのユーザは、ファイルのこの特定バージョンを求める要求をバックアップ・サーバ110に送信することができる。例えば、ユーザは、5分前(例えば「t」、または更新121、122、123の前)の時点で妥当であったファイル120の特定コピーを要求することができる。同様に、管理者は、1つまたは複数のボリューム175の全体の再現(entire reproduction)を要求する(図示せず)こともできる。
要求の受信時に、また要求の性質に応じて、次いでバックアップ・サーバ110は、それぞれに見合った、要求されたデータを見つけることができる。例えば、基本的なファイル・システム・データに関しては、ボリューム175の各更新は、要求されたデータの完全なコピーを収容する可能性がある。したがって、バックアップ・サーバ110は、ユーザによって要求された時間を識別し、この時間に対応する更新内のデータを識別し、次いでこのデータのコピーを、元のユーザに提供する(例えば復旧メッセージ160)だけで済む場合がある。
メールまたは他のタイプのデータベース・アプリケーション・データなど、他の場合では、バックアップ・サーバ110によって受信されたインクリメンタルな各更新(例えば150、155)は、要求されたデータのインクリメンタルな更新のみを含む場合がある。したがって、バックアップ・サーバ110は、インクリメンタルな各更新を、要求された復旧時点から最後のベースライン・フルまで遡って、再生する(play back)ように構成することができる。次いでバックアップ・サーバ110は、要求中で指定された時間に達するまで、再生中に識別された、要求されたデータ(例えば145、150、155、またはt0−n)を結合することができる。元のバックアップおよび対応する更新からの、関連するすべてのデータが結合されて準備されると、次いでバックアップ・サーバ110は復旧応答(例えば160)を送信することができ、この復旧応答は、要求された時間に従って妥当である。例えば、図1Aに、バックアップ・サーバ110が応答160を送信するのを示すが、この応答160は、復旧されたデータが時間「t」で妥当であることを示す。
前述の実装形態では、バックアップ・サーバ110はしたがって、インクリメンタルな更新を再生するためにアプリケーション・サポートを必要とする場合がある。別の実装形態では、ベースライン・フル・コピー、および、ベースライン・フルと要求された時点との間の対応するインクリメンタルな更新があればそれらの更新を、単にプロダクション・サーバ105に逆にコピーすることができる。次いで、プロダクション・サーバ105における対応するアプリケーション・ライタ(例えばシャドウ・コピー・サービス・フレームワーク内のアプリケーション・ライタ)が、フル・バックアップに関するログを再生することができる。
一般に、特定データの要求と、対応する応答との間で経過する時間は、少なくとも2つの部分の関数とすることができる。
1.バックアップ・サーバ110からプロダクション・サーバ105にデータを転送するための時間
2.バックアップ・サーバ110が(例えば関連するバックアップ・エージェントを介して)復旧(recovery;リカバリ)を完了するための時間
当然、ターゲットからソースにデータを転送するための時間は一般に、利用可能なネットワーク帯域幅、ならびに、バックアップ・サーバ110およびプロダクション・サーバ105におけるディスク速度およびリソース使用の関数である。対照的に、特定のリカバリ(recovery)を作成するための時間は通常、プロダクション・サーバ・データのフル・コピーを所与のベースラインから復旧するのに必要とされる時間、ならびに、特定の時点を復旧するためにベースラインから累積した累積更新(例えば「tn−1」)を識別して再生するのに必要とされる時間の関数である。したがって、定期的なベースライン・フル・コピー(例えば145)を作成することなどによって、バックアップ・サーバ110(またはプロダクションサーバ105)がいずれか所与の復旧要求に対して再生しなければならない更新の量を制限することにより、復旧時間を大きく向上させることができることを理解するであろう。
前述のように、バックアップ・サーバ110が再生する必要がある可能性のあるインクリメンタルな更新の量を制限する方法の1つは、新しい「フル」ベースライン・スナップショットを定期的に作成することを含むことができる。新しいフルスナップ・ショットを作成してバックアップ・サーバ110に送信することは、場合によってはリソース・コスト(例えば必要とされるネットワーク帯域幅、プロダクション・サーバ105のリソース、およびバックアップ・サーバ110のディスク空間の量)がかかる可能性があるので、本発明の実装形態はまた、「インテリジェント・フル・スナップショット」の作成を可能にする。これらのインテリジェント・フル・スナップショットは、実質的に、所定時点のベースライン境界設定(baseline demarcation)である。例えば、2週間ごとなどの所定期間ごとに、バックアップ・サーバ110は、2週間分のインクリメンタルな更新(例えば150、155など)を、データの最後のベースライン・コピー(例えば145またはより新しいもの)と共にまとめ、それによりプロダクション・サーバ105のデータの本質的に新しい「t」コピーを作成することができる。
これらのインクリメンタルな更新のそれぞれを効率的にまとめるために、バックアップ・サーバ110は、最後のフルスナップ・ショット以降の、プロダクション・サーバ105のボリュームへのすべての書込みを監視するように構成することができる。少なくとも1つの実装形態では、例えば、バックアップ・サーバ110は、プロダクション・サーバ105でボリューム・フィルタ・ドライバ115を実装して、ボリューム(すなわち1つまたは複数のボリューム)に対する変更を監視し、各複製サイクル中にこれらの書込みをプロダクション・サーバ105のメモリ170に記憶する。例えば、図1A(図1Bも参照されたい)は、プロダクション・サーバ105上でボリューム・フィルタ・ドライバ115がボリューム175とメモリ170との間をインターフェースするのを示す。図1Bでより完全に理解されるであろうが、ボリューム・データに変更が加えられる度に、ボリューム・フィルタ・ドライバ115は、この変更(または変更のセット)をボリューム・ログファイル135に記録することができる。少なくとも1つの実装形態では、これらの変更は、1つまたは複数のボリュームそれぞれにつき、メモリ内ビットマップ(例えば117a)としてシステム・メモリ170に記録される。プロダクション・サーバ105が特定の複製サイクルに向けて準備ができたとき、次いでボリューム・フィルタ・ドライバ115は、すべてのメモリ内ビットマップをボリューム175に渡すことができ、次いでプロダクション・サーバ105は、対応するデータをバックアップ・サーバ110に送信することができる。
例えば、図1Bに、メモリ170を使用して様々なメモリ内ビットマップに対応するスナップショット・データが収集されているのを示す。具体的には、図1Bには、ボリューム・フィルタ・ドライバ115がいくつかのファイル変更(すなわちファイル変更121、122、123など)を識別し、その後これらの変更を、対応するメモリ内ビットマップ193、195などとしてメモリ・アロケーション190aに記憶するのを示す。この特定の例では、ボリューム・フィルタ・ドライバ115は、最後の複製サイクル(すなわちスナップ・ショット185a、「t」)以降の、対応する1つまたは複数のボリュームに対するすべての変更を記憶し、したがって、各ビットマップ193、195などは、対応するスナップ・ショット(すなわち190a、スナップ・ショット「t」)における一番最近の時間インスタンスで妥当である。
複製エージェントから受信された命令などにより複製サイクルがトリガされたとき、ボリューム・フィルタ・ドライバ115は、スナップ・ショット190aのすべてのビットマップ(すなわちビットマップ193、195など)をボリューム175の適切なアロケーション190bに転送する。例えば、図1Bに、メモリ・スナップショット部分180aおよび185aが、これらが生成された複製サイクルがすでに経過したため空になっているのを示す。さらに、ボリューム175の対応するアロケーション180b、185bなどは今や、前にメモリ部分180a、185aにそれぞれ記憶されていた「すべてのビットマップ」183、187を含む。最終的には、ビットマップのセットに対応するスナップ・ショットが削除されたとき、ビットマップ(例えば183、187)がボリューム(例えば175)上に残るものとすることができる。
これらのメモリ内ビットマップ(例えば193、195)は、いくつかの異なる方法で作成し実装することができる。一実装形態では、例えば、バックアップ・サーバ110が、プロダクション・サーバ105のボリュームのシャドウ・コピー・スナップショット(例えばスナップ・ショット150)を取り、入出力制御(IOCTL)が、シャドウ・コピー・プロバイダ(ソフトウェアまたはハードウェア)に送られるものとすることができる。このIOCTLをボリューム・フィルタ・ドライバ115によってインターセプトして、アクティブなビットマップを分割することができる。これに応答して、またシャドウ・コピーの作成中に、ボリューム・フィルタ・ドライバ115は、フリーズされたビットマップセット(例えば180a/180b、185a/185b)および新しいアクティブなビットマップセット(例えば190a/190b)を作成することにより、分割を同期させる。別の代替実装形態では、シャドウ・コピー差分領域(例えばVSS差分領域)を採取することのできるエンティティが、ボリューム・レベルの変更を認識していることができ、またUSN/ファイル・システムをも認識していることができる。したがって、このエンティティは、変更されたファイルのセットとファイル中の変更のセットとを与えることになる抽象化を提供することができる。次いで、適切な複製またはバックアップアプリケーションが、複製を達成するためにこのインフラストラクチャを使用することができる。
複製サイクルがトリガされたとき、ボリューム・フィルタ・ドライバ115は、メモリ170の使用を低減するために、フリーズされたビットマップをディスクに渡す。ボリューム・フィルタ・ドライバ115はまた、一番最近のスナップショット(例えば「tn−1」)以降に生じたすべての変更について照会することのできる1つまたは複数のIOCTLを公開することができる。一実装形態では、これらのIOCTLに照会すると、一番最近のスナップ・ショット以降に累積したすべてのビットマップが返される。本明細書に述べるメモリ内ビットマップを使用して変更を監視することは、少なくとも一部には、メモリ内ビットマップがプロダクション・サーバ105のリソースに大きく影響しない傾向があるので、非常に効率的となり得ることを理解するであろう。
代替の一実装形態では、またこれらの監視された変更のそれぞれを識別するために、バックアップ・サーバ110はまた、例えばUSNジャーナル140を使用して(または他の監視されたファイル・メタデータを使用して)、変更されたファイルのセットを識別することもできる。次いで、バックアップ・サーバ110(または関連するコンポーネント)は、変更された各ファイルが占めるファイル範囲を、プロダクション・サーバ105のファイル・システムに照会することができる。ファイル・システムからの照会されたファイル範囲と、ボリューム・フィルタ・ドライバ115が報告するファイル範囲との共通部分が、最後の複製サイクル以降に変化したファイルの範囲を提供することができ、したがっていくつかのファイル(例えばデータベース・ファイル)をいくつかの複製プロセスから除外することを可能にする。次いで、バックアップ・サーバ110(または関連するコンポーネント)は、変更された各ファイル(USNジャーナルによって、または同様に構成されたメタ・データ文書によって報告されたもの)についてこのプロセスを繰り返すことができる。
USNジャーナルを使用してプロダクション・サーバ105における変更を監視することに特に関して、プロダクション・サーバ105におけるファイル参照番号(FRN)が、バックアップ・サーバ110に記憶された同じファイルのFRNと一致しない場合があることを理解するであろう。このため、監視された変更をプロダクション・サーバ105からバックアップ・サーバ110に送信するために、場合によっては、変更された特定ファイルへの正しい一致するパスを計算することが重要であることがある。例えば、ボリュームが以下の変更を有する場合があり、これらの変更は、プロダクション・サーバ105におけるファイル「y.txt」へのパスを修正することを含む。
1)修正 C:\a\b\c\y.txt
2)名前変更 C:\a\bからC:\p\q\rへ
3)修正 C:\p\q\r\b\c\y.txt
4)削除 C:\a
すぐ上に示した例では、プロダクション・サーバ105における元のパス「a\b」がパス「p\q\r」として名前変更され、元のパスのディレクトリ「\a」が削除される。これにより、プロダクション・サーバ105におけるファイル「y.txt」へのパスは「C:\p\q\r\b\c\y.txt」になる。しかし、プロダクション・サーバ105における「y.txt」に対するこれらのパス変更は、自動的にバックアップ・サーバ110におけるパスに対する変更をもたらさない場合がある。具体的には、バックアップ・サーバ110におけるy.txtへのパスは一般に、「a\b\c\y.txt」のままとなる。
スナップ・ショット時、プロダクション・サーバ105はまた、例示的なレコード1〜5について、以下に示す変更をUSNジャーナルに記録することができる。
Figure 2009539178
加えて、前述の例から、複製時のプロダクション・サーバ105の関連するボリュームの状態は「C:\p\q\r\b\c\y.txt」として示される。
この特定の例において、レコード1の変更をバックアップ・サーバ110に送信するためには、プロダクション・サーバ105は、「y.txt」へのファイル・パスをバックアップ・サーバ110から取り出す必要がある。具体的には、前述のパス変更のせいで、「c−FRN」についてのスナップ・ショット中のプロダクション・サーバ105における「y.txt」へのパスはC:\p\q\r\b\c\y.txtであり、これは、バックアップ・サーバ110におけるそのパス(すなわちC:\a\b\c\y.txt)とは異なる。本発明の実装形態は、この問題を少なくとも2つの代替手法で解決することができる。一実装形態では、例えば、USNジャーナルが単にバックアップ・サーバ110からパスメタデータを取り出してリレーショナル・データベースに記憶し、それによりプロダクション・サーバ105とバックアップ・サーバ110とでファイル・パスを継続的に相関させることができる。
代替の一実装形態では、プロダクション・サーバ105がUSNジャーナルを2回走査することができる。1回目の通過では、プロダクション・サーバ105は、この情報をUSNジャーナル140の反復的な走査(または「通過」)を介して相関させることができる。例えば、1回の走査では、プロダクション・サーバ105は、各フォルダ名変更をキャッシュする。2回目の通過では、プロダクション・サーバ105は、キャッシュした名前変更および現在のパスに基づいて、バックアップ・サーバ110における対応するパスを計算することができる。例えば、1回目の通過の最後に、プロダクション・サーバ105は、削除および/または名前変更されたディレクトリに関する以下の情報をキャッシュすることができる。
{FRN=bFRN, replica_parent=aFRN, replica_name=b}
{FRN=aFRN, replica_parent=root, replica_name=a}
y.txtへのファイル・パスを計算するために、プロダクション・サーバ105はまず、レコード「1」中のy.txtの親FRN(すなわち「ファイル参照番号」)がcFRNであることを識別する。次のステップで、プロダクション・サーバ105は、cFRNのファイル名、ならびに親FRNのファイル名を計算する。次いでプロダクション・サーバ105は、ファイル・システムに照会する前にキャッシュ内を調べる。この例では、キャッシュは親cFRNのファイル名エントリを有さないので、プロダクション・サーバ105は、ファイル・システムに照会し、ファイル名がcであり親がbFRNであることを決定する。
次いでプロダクション・サーバ105は、bFRNのファイル名、ならびにbFRNに対応する親ファイル名を計算する。前と同様、プロダクション・サーバ105はまず、ファイル・システムに照会する前に、調べる。この例では、キャッシュはbFRNのエントリを有するので、プロダクション・サーバ105は、ファイル名がbであり親がaFRNであることを決定する。次いでプロダクション・サーバは、aFRNのファイル名、およびaFRNの親ファイル名を計算する。この場合もやはり、プロダクション・サーバ105はまず、ファイル・システムに照会する前にキャッシュを調べ、この例ではキャッシュはaFRNのエントリを有するので、プロダクション・サーバ105は、aFRNのファイル名が「a」であり親FRNが「root」であることを決定する。
最後に、プロダクション・サーバ105は、最終的なパスを「c:\a\b\c\y.txt」として計算する。次に、レコード3(rename-new)が2回目の通過で処理されたとき、キャッシュは、新しい親ファイル名について以下のように更新される。
{FRN=bFRN, replica_parent=rFRN, replica_name=b}
{FRN=aFRN, replica_parent=root, replica_name=a}
プロダクション・サーバ105がレコード4を処理したとき、このレコードはレコード1と同一であるにもかかわらず、y.txtについて計算されたパスは今や「C:\p\q\r\b\c\y.txt」である。キャッシュ中の親「bFRN」が今や「rFRN」なので、計算されたパスは、この特定の場合では異なる。したがって、前述の本文は、プロダクション・サーバ105がバックアップ・サーバ110に転送するデータの量を最適化するのを2段階通過アルゴリズムがどのように助けることができるかを例示する。具体的には、前述の本文は、プロダクション・サーバ105が2回目の通過時に、作成されたファイルがあればそれらを、ならびに修正された後で削除されたファイルがあればそれらを識別し、それによりファイル・パスをバックアップ・サーバ110と正しく相関させることのできる、複数の方法を記述する。
したがって、図1A〜1Bおよび対応する本文は、プロダクション・サーバのデータを実質上連続的な方式で効率的にバックアップするためのいくつかのシステム、コンポーネント、および機構を提供する。上述したことに加えて、本発明の実装形態はまた、特定の結果を達成するための一連の動作を有する方法のフローチャートで記述することもできる。具体的には、図2に、データをバックアップおよび復旧するための、本発明の実装形態によるプロダクション・サーバ105とバックアップ・サーバ110とから見たフローチャートを示す。以下では、図2に示す動作を、図1A〜1Bに示したコンポーネントおよび図に関して述べる。
前置きとして、本明細書では、一連の時間における「第1の」、「第2の」、あるいは「第3の」イベント(または「インスタンス」)に言及することがある。しかし、このような指定は単に、連続体上の一意のインスタンスを区別するためであり、したがって「第1の」イベントまたはインスタンスは、「第2の」または「第3の」インスタンスと異なるだけでなく、「第2の」および/または「第3の」インスタンスの前の何らかの時点で生じることを理解するであろう。例えば、データのベースライン「フル」コピー(例えば145)の作成および送信は、更新150に対する第1のインスタンスとして主に述べるが、何らかの先行イベント(図示せず)に対する第2または第3の(あるいはより後の)インスタンスとして考えることもできる。同様に、更新150は、更新155(例えば「第2の」インスタンス)に対する「第1の」時間インスタンスで生じるものとして述べることができ、以下同様であるが、本明細書では、これらの用語は主に、ベースライン・フル145に対して図示の例で「第2の」および「第3の」時間インスタンスとして述べる。連続的なイベントに関する相対的な意味でのこのような用語の用法は、本明細書における用語「最初の」または「後続の」の用法にも当てはまる。
例えば、図2は、最近のデータを容易にバックアップ・サーバから復旧できるように、実質上連続的かつアプリケーション(すなわち、またはファイル・システム)整合性のある方式でプロダクション・サーバ・データを複製するための、プロダクション・サーバ105から見た方法が、ボリューム・データの整合性のあるコピー(consistent copy)をバックアップ・サーバに送信する動作200を含むのを示す。動作200は、ボリューム・データのコピーをプロダクション・サーバからバックアップ・サーバに送信することを含み、データは第1の時間インスタンスで整合性がある。例えば、プロダクション・サーバ105は(例えば複製エージェントに応答して、またはバックアップ・サーバ110からの他のコマンドに応答して)、特定時点(例えば「t」)で整合性のあるボリューム・バックアップ全体145を作成する。一実装形態では、これは、プロダクション・サーバ105におけるすべてのアプリケーション・ライタに、フリーズしてバックアップの準備を開始するよう命じることを含む。次いでプロダクション・サーバ105は、ボリューム(あるいは特定のファイル、フォルダ、またはファイル・タイプなど)上のすべてのデータをコピーし、このデータを、バックアップ・サーバ110に送信(および記憶)されるよう準備する。
同様に、図2には、最近のデータを容易にバックアップ・サーバから復旧できるように、実質上連続的かつ整合性のある方式でプロダクション・サーバ・データを複製するための、バックアップ・サーバ110から見た方法が、整合性のあるボリューム・バックアップをプロダクション・サーバから受信する動作240を含むのを示す。動作240は、1つまたは複数のボリューム・バックアップをプロダクション・サーバから受信することを含み、1つまたは複数のボリューム・バックアップは、最初の時間インスタンスで整合性がある(すなわちアプリケーションまたはファイル・システム整合性がある)。例えば、図1Aに、バックアップ・サーバ110がフル・バックアップ145を受信して記憶するのを示すが、フル・バックアップ145は、プロダクション・サーバ105からネットワークを介して受信されるか、あるいは、何らかの時点でバックアップ・サーバ110と接続されるテープドライブまたは他の記憶ノードから受け取られる。具体的には、バックアップ管理者は、プロダクション・サーバ105のハードウェア・スナップ・ショットを取り、次いでこのスナップ・ショットをバックアップ・サーバ110に付与することができる。
加えて、図2には、プロダクション・サーバ105から見た方法が、ボリューム・データに対する1つまたは複数の変更を識別する動作210を含むのを示す。動作210は、1つまたは複数のボリューム・ログファイルを介して、ボリューム・データに対する1つまたは複数の変更を識別することを含む。例えば、図1Aおよび1Bに示したように、ボリューム・フィルタ・ドライバ115が、ファイル120、125、および130に対する変更を追跡し、これらの変更をボリューム・ログファイル135に記憶することができる。一実装形態では、これらの1つまたは複数の変更は、別法として、ボリューム・ログファイル135中に配置する前にメモリ内ビットマップとしてメモリ170に記憶することもできる。
図2にはまた、プロダクション・サーバ105から見た方法が、1つまたは複数の整合性のある更新をディスクに保存する動作220を含むのを示す。動作220は、複製サイクル・イベントを識別したときに1つまたは複数のデータ変更を1つまたは複数のボリューム・ログファイルに保存することを含み、1つまたは複数のデータ変更は、第2の時間インスタンスで整合性がある。例えば、複製サイクル・トリガ(例えば複製エージェントからの)を識別すると、ボリューム・フィルタ・ドライバは、メモリ・アロケーション190a中のビットマップ193、195を、割り振られた物理ディスク空間190b(例えばボリューム・ログファイル135にも対応する)に渡す。したがって、この物理ディスク・アロケーション190bは、ディスク・アロケーション185bに記憶されているスナップ・ショット187(すなわち「すべてのビットマップ」187)とは異なる1つの時点のスナップ・ショットを含む。
さらに、図2には、プロダクション・サーバ105から見た方法が、複製中に整合性のある更新のコピーをバックアップ・サーバに送信する動作230を含むのを示す。動作230は、1つまたは複数のデータ変更のコピーをバックアップ・サーバに送信することを含み、それによりバックアップ・サーバは、第1の時間インスタンスおよび第2の時間インスタンスで妥当であるデータのコピーを有する。例えば、フル更新145をバックアップ・サーバ110に渡すことに加えて、プロダクション・サーバは、整合性のあるスナップ・ショット更新150および155も送信し、スナップ・ショット更新150および155はそれぞれ、異なる時点(すなわち「t」、「t」など)で妥当である。
したがって、図2には、バックアップ・サーバ110から見た方法が、1つまたは複数の整合性のある更新(consistent updates)を受信する動作250を含む。動作250は、1つまたは複数の整合性のあるバックアップ更新を受信することを含み、これらのバックアップ更新の少なくとも1つは、後続の時間インスタンスでの、1つまたは複数のボリューム・バックアップの少なくとも1つに対する整合性のある更新である。例えば、バックアップ・サーバ110は、整合性のあるスナップ・ショット更新150、155のいずれかを受信し、それによりバックアップ・サーバは今や、フル・バックアップ145(「t」または他の何らかのベースライン・フル)と比較して、種々のインクリメンタルな時点(すなわち「t」、「t」など)のデータ・コピーを有する。
加えて、図2には、バックアップ・サーバ110から見た方法が、復旧要求(recovery request)を受信する動作260を含むのを示す。動作260は、後続の時間インスタンスに従って妥当であるデータを求める復旧要求を受信することを含む。例えば、バックアップ・サーバ110は、時間「t」で妥当である特定のファイルを求める要求(図示せず)を受信するが、このファイルは、ベースライン・フル・バックアップ145と更新150との両方に見られるファイルである。さらに、図2には、バックアップ・サーバ110から見た方法が、後続の時間インスタンスで妥当である要求されたデータを識別する動作270を含むのを示す。動作270は、後続の時間インスタンスでの要求されたデータを1つまたは複数のバックアップ・サーバ・ボリュームにおいて識別することを含み、要求されたデータは、少なくとも1つの整合性のあるバックアップ更新の少なくとも一部を含む。
例えば、データベース・データに関しては、バックアップ・サーバ110は、要求に対して妥当である先行時点および現在時点のそれぞれにおけるファイルのコピーをまとめることができる。すなわち、バックアップ・サーバ110は、時間「t」および「t」からのファイルのコピーを結合する。一方、ファイル・システム・データの場合は、後続の各更新(例えば150、155)は、要求されたファイルの完全な更新済みコピーを含む場合があり、したがってバックアップ・サーバ110は、要求された時点に対する一番最近の更新(または他の何らかの後続の更新)中で、要求されたデータを識別するだけで済むことがある。したがって、要求されたデータのタイプに応じて、バックアップ・サーバ110は、要求された時点から最新のベースライン・フルまで遡ってインクリメンタルな各更新を識別することが必要な場合もあり、あるいは単に、最新のポイント・イン・タイム更新中で、要求されたデータを識別すれば済む場合もある。
したがって、図2にはまた、バックアップ・サーバ110から見た方法が、要求されたデータを返す動作280を含むのを示す。動作280は、後続の時間インスタンスで妥当である要求されたデータをプロダクション・サーバに送信することを含む。例えば、データベース・データの場合は、バックアップ・サーバ110は、ベースライン・フルデータ(例えば145)とインクリメンタルな更新データ(例えば150、155)との両方を含むリカバリ(復旧)160を提供し、ファイル・システム・データの場合は、バックアップ・サーバ110は、要求された更新時点からのファイルデータを少なくとも有するリカバリを提供する。バックアップ・サーバ110の応答160はまた、応答がどの復旧時間で妥当かを示すこともできる。図1Aに示すように、復旧データ160は、データが時間「t」で妥当であることを示す。
したがって、本発明の実装形態による図面、コンポーネント、および方法は、従来のバックアップ・システムに勝るいくつかの利点を提供する。具体的には、本発明の実装形態は、データソースにとらわれない(例えばボリューム・フィルタ・ドライバ115を介する)、またバックアップ・サーバ上で稼動するアプリケーションのバージョンを必ずしも必要としない、また実質上連続的な複製を表す、データ・バックアップ方式を提供する。前述のように、少なくとも部分的には、これらの最適化は、ボリューム・フィルタ・ドライバ(例えば115)を使用して、ボリューム・レベルで、低オーバーヘッドの状態で変更を追跡または監視することを基本とし、また、例えばUSNジャーナルを使用してファイル・レベルで複製サイクルを実施し、この結果、ファイル・レベルの包含/除外も、さらに適用することができる。
加えて、本発明の実装形態は、最適化された方式で、またネットワークを介して完全なデータを転送することを必ずしも必要とせずに、バックアップ・サーバでプロダクション・サーバ・データのフルベースラインコピーを作成することを可能にする。バックアップ・サーバに転送される後続のデータの量を最小限に抑えることにより、ネットワーク上およびプロダクション・サーバ上での潜在的なリソース消費をかなり削減することができる。したがって、本発明の実装形態はさらに、厳格な目標復旧時間を満たすためのいくつかの代替方法を提供する。本発明の実装形態はまた、低い性能オーバーヘッドでデータ変更(例えばバイトまたはバイト・ブロックのレベルの)を追跡し、ファイル・システムおよびハードウェア/ソフトウェア・スナップショットから独立した方式でデータ変更を追跡するための、いくつかの方法を提供する。さらに、本発明の実装形態はまた、関連するプロダクション・サーバ上の永続的な状態を必ずしも必要とせずにパス情報を(USNベースの複製などによって)再構築するための1つまたは複数の方法を提供する。
本発明の実施形態は、以下により詳細に論じる様々なコンピュータハードウェアを備えた専用または汎用コンピュータを含むことができる。本発明の範囲内の実施形態はまた、コンピュータ実行可能命令またはデータ構造を搬送するための、あるいはこれらが記憶された、コンピュータ可読媒体も含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。
限定ではなく例として、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、または他の光学ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイスを含むことができ、あるいは、所望のプログラム・コード手段をコンピュータ実行可能命令またはデータ構造の形で搬送または記憶するのに使用でき汎用または専用コンピュータによってアクセスできる他の任意の媒体を含むことができる。情報がネットワークまたは別の通信接続(配線式、ワイヤレス、または配線式とワイヤレスの組合せ)を介してコンピュータに転送または提供されるとき、コンピュータはこの接続をコンピュータ可読媒体として適切に見なす。したがって、このような接続はどれも、コンピュータ可読媒体と適切に呼ばれる。以上の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
コンピュータ実行可能命令は、例えば、ある機能または機能グループを汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実施させる命令およびデータを含む。構造上の特徴および/または方法上の動作に特有の言語で本主題を述べたが、添付の特許請求の範囲に定義する本主題は、前述の特定の特徴または動作に必ずしも限定されないことを理解されたい。そうではなく、前述の特定の特徴および動作は、特許請求の範囲を実施する例示的な形として開示する。
本発明は、その趣旨または本質的な特性から逸脱することなく他の特定の形で具体化することもできる。述べた実施形態は、あらゆる点で、例示としてのみ考えるべきであり、限定として考えるべきではない。したがって、本発明の範囲は、以上の記述によってではなく添付の特許請求の範囲によって示す。特許請求の範囲の均等物の意味および範囲の内に入るあらゆる変更は、それらの範囲に包含されるべきである。
プロダクション・サーバがインクリメンタルなアプリケーション(またはファイル・システム)整合バックアップを作成して、これらのバックアップをバックアップ・サーバに送信する、本発明の一実装形態によるアーキテクチャ概観図である。 ボリューム・フィルタ・ドライバがシステム・メモリおよび1つまたは複数の物理ディスクを使用してボリュームに対する変更を監視する、本発明の一実装形態による概観図である。 本発明の実装形態による、プロダクション・サーバおよびバックアップ・サーバの観点から実施される一連の動作を含む方法のフローチャートである。

Claims (20)

  1. 1つまたは複数のプロダクション・サーバが1つまたは複数のボリューム(175)上の保護すべきデータを1つまたは複数のバックアップ・サーバ(110)でバックアップするコンピュータ化された環境(100)中の、プロダクション・サーバ(105)において、最近のデータを前記バックアップ・サーバから容易に復旧できるように、プロダクション・サーバのデータを実質上連続的かつ整合性のある方式で複製する方法であって、
    1つまたは複数のボリュームの、第1の時間インスタンス(145)で整合性があるデータのコピーをプロダクション・サーバ(105)からバックアップ・サーバ(110)に送信すること(200)、
    前記1つまたは複数のボリューム(175)の前記データに対する1つまたは複数の変更(121、122、123)を1つまたは複数のボリューム・ログファイル(135)を介して、識別すること(210)、
    複製サイクルのイベントを識別したとき、第2の時間インスタンス(150)で整合性がある前記1つまたは複数のデータ変更を前記1つまたは複数のボリューム・ログファイルに保存すること(220)、ならびに、
    前記1つまたは複数のボリュームの前記1つまたは複数のデータ変更のコピーを前記バックアップ・サーバに送信すること(230)を備え、
    前記バックアップ・サーバが、第1の時間インスタンス(145)および第2の時間インスタンス(150)で妥当である前記1つまたは複数のボリュームのデータのコピーを有することを特徴とする方法。
  2. 前記ボリュームのファイル・レベルのデータ変更を、変更フィルタ、変更ジャーナル、USNジャーナル(140)のうちの1つに保存すること、をさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記1つまたは複数のボリューム・ログファイル(135)を、前記変更フィルタ、変更ジャーナル、USNジャーナル(140)のうちの1つと相関させて、各変更済みファイル中の前記1つまたは複数のデータ変更に対応する1つまたは複数の変更済みファイル(120)を識別すること、をさらに備えることを特徴とする請求項2に記載の方法。
  4. 前記1つまたは複数のボリューム・ログファイル中で、バイト・レベルとバイト・ブロック・レベルのいずれか一方で前記1つまたは複数のデータ変更(121、122、123)に印を付けること、をさらに備えることを特徴とする請求項1に記載の方法。
  5. 前記1つまたは複数のボリュームの前記データに対する前記変更を、前記第2の時間インスタンス(150)に対応する1つまたは複数のメモリ内ビットマップ(117a)を介して識別すること、をさらに備えることを特徴とする請求項1に記載の方法。
  6. 前記複製サイクル・イベント中に、前記1つまたは複数のメモリ内ビットマップ(187)を、前記1つまたは複数のボリューム・ログファイルに保存することをさらに備え、 前記1つまたは複数のボリューム・ログファイルはディスク(117b、185b)上に記憶されることを特徴とする請求項5に記載の方法。
  7. 前記第2の時間インスタンスに対応する前記1つまたは複数のメモリ内ビットマップをフリーズすること、および、
    第3の時間インスタンス(155)での、前記1つまたは複数の変更済みファイルへの新しい書込みに対応する1つまたは複数のメモリ内ビットマップの新しいセット(193、195)を作成すること
    をさらに備えることを特徴とする請求項5に記載の方法。
  8. ボリューム・フィルタ・ドライバ(115)が、前記1つまたは複数のデータ変更を受け取り、前記1つまたは複数のデータ変更を前記1つまたは複数のボリューム・ログファイル(135)に適用することを特徴とする請求項1に記載の方法。
  9. 前記第1および第2の時間インスタンスで整合性のある前記1つまたは複数のデータ変更は、アプリケーション整合性とファイル・システム整合性のうちの少なくとも一方を有することを特徴とする請求項1に記載の方法。
  10. 前記プロダクション・サーバで、前記1つまたは複数のデータ変更(121、122、123)のいずれかに対応するファイル(120)のファイル・パスを変更し、それにより前記プロダクション・サーバ(105)における前記ファイル・パスが前記バックアップ・サーバ(110)における前記ファイルへのパスとは異なるようにすること、をさらに備えることを特徴とする請求項1に記載の方法。
  11. 前記プロダクション・サーバ(105)と前記バックアップ・サーバ(110)とにおける前記ファイル(120)への前記パスを相関させ、それにより前記ファイルに対する新しい変更を前記ファイルへの前記パスの変更と共に前記バックアップ・サーバに送信できるようにすること、をさらに備えることを特徴とする請求項10に記載の方法。
  12. 前記ファイル(120)への前記ファイル・パスを相関させることは、
    前記ファイル(120)への最初のパスを識別すること、および、
    前記プロダクションサーバ(105)で前記ファイルへの前記最初のファイル・パスを記憶すること
    を備えることを特徴とする請求項11に記載の方法。
  13. 前記ファイル(120)への前記ファイル・パスを相関させることは、
    前記プロダクション・サーバでUSNジャーナル(140)を少なくとも1回目に走査してファイル・パスの前記変更をキャッシュすること、
    前記プロダクション・サーバ(105)で前記USNジャーナルを少なくとも2回目に走査して前記最初のファイル・パスを識別すること、および、
    前記1回目および2回目の走査に基づいて前記バックアップ・サーバ(110)における前記ファイルへの調整済みパスを計算すること
    を備えることを特徴とする請求項11に記載の方法。
  14. 前記プロダクション・サーバにおけるボリューム・データの新しい更新を前記バックアップ・サーバに送信することをさらに備え、前記新しい更新は第3の時間インスタンス(155)で整合性があり、前記第2(150)と第3(155)の時間インスタンス間で経過する時間は約1時間未満と約30分未満のいずれか一方に設定可能であることを特徴とする請求項1に記載の方法。
  15. 1つまたは複数のファイルのコピーを求める要求を前記バックアップサーバ(110)に送信することをさらに備え、
    前記バックアップ・サーバへの、1つまたは複数のファイルのコピーを求める前記要求は、前記1つまたは複数のファイルが前記第2(150)と第3(155)の時間インスタンスの一方で妥当であることを示すことを含む
    ことを特徴とする請求項14に記載の方法。
  16. 前記バックアップサーバ(110)から復旧応答(160)を受信することをさらに備え、前記復旧応答は、前記第2または第3の時間インスタンスでの、前記要求された1つまたは複数のファイルのデータのフル・コピーを含むことを特徴とする請求項15に記載の方法。
  17. 1つまたは複数のバックアップ・サーバが、1つまたは複数のプロダクション・サーバ(105)の1つまたは複数のボリュームからのデータをバックアップするコンピュータ化された環境(100)中の、バックアップ・サーバ(110)において、最近のデータを容易に前記バックアップ・サーバから復旧できるように、前記1つまたは複数のプロダクション・サーバ・ボリューム(175)のデータを、実質上連続的かつ整合性のある方式で、複製する方法であって、
    プロダクション・サーバ(105)から、最初の時間インスタンス(145)で整合性がある1つまたは複数のボリューム・バックアップを受信すること(240)、
    1つまたは複数の整合性のあるバックアップ更新であって、前記バックアップ更新の少なくとも1つが、後続の時間インスタンス(150、155)での、前記1つまたは複数のボリューム・バックアップの少なくとも1つに対するアプリケーション整合更新である、バックアップ更新を受信すること(250)、
    前記後続の時間インスタンスに従って妥当であるデータを求める復旧要求を受信すること(260)、
    1つまたは複数のバックアップ・サーバ・ボリュームにおいて、前記後続の時間インスタンスでの前記要求されたデータであって、前記少なくとも1つの整合性のあるバックアップ更新の少なくとも一部を含む、前記要求されたデータを識別すること(270)、および、
    前記後続の時間インスタンスで妥当である前記要求されたデータ(160)を前記プロダクション・サーバに送信すること(280)
    を備えることを特徴とする方法。
  18. 前記要求されたデータのベースライン・フル・コピー(145)を識別すること、
    前記ベースライン・フル・コピーの受信と、前記後続の時間インスタンスでの前記少なくとも1つのバックアップ更新の受信と、の間に受信された、前記要求されたデータに対する1つまたは複数の整合性のあるバックアップ更新(150、155)のそれぞれを識別すること、および、
    前記要求されたデータの前記ベースライン・フル・コピーを、前記要求されたデータに対する前記識別された1つまたは複数の整合性のあるバックアップ更新と、結合すること
    をさらに備えることを特徴とする請求項16に記載の方法。
  19. 前記1つまたは複数のボリューム・バックアップおよび前記1つまたは複数の整合性のあるバックアップ更新は、アプリケーション整合性およびファイル・システム整合性のうちの少なくとも一方が存在することを特徴とする請求項18に記載の方法。
  20. 保護すべきデータを1つまたは複数のプロダクション・サーバが1つまたは複数のバックアップ・サーバ(110)でバックアップするコンピュータ化された環境(100)中の、プロダクション・サーバ(105)における、コンピュータ実行可能命令が記憶されたコンピュータ・プログラム製品であって、前記コンピュータ実行可能命令は、実行されたとき、前記プロダクション・サーバにおける1つまたは複数のプロセッサに、最近のデータを容易に前記バックアップ・サーバから復旧できるように、プロダクション・サーバ・データを実質上連続的かつアプリケーション整合性のある方式で複製する方法を実施させ、前記方法は、
    1つまたは複数のボリュームのデータのコピーをプロダクションサーバ(105)からバックアップサーバ(110)に送信すること(200)であって、前記データが第1の時間インスタンス(145)で整合性があるように送信すること、
    1つまたは複数のボリューム・ログ・ファイル(135)を介して、前記1つまたは複数のボリューム(175)の前記データに対する1つまたは複数の変更(121、122、123)を識別すること(210)、
    複製サイクル・イベントを識別したとき、第2の時間インスタンス(150)で整合性がある前記1つまたは複数のデータ変更を前記1つまたは複数のボリューム・ログファイルに保存すること(220)、および、
    前記1つまたは複数のボリュームの前記1つまたは複数のデータ変更のコピーを前記バックアップ・サーバに送信すること(230)を備え、
    前記バックアップ・サーバが、第1の時間インスタンス(145)および第2の時間インスタンス(150)で妥当である前記1つまたは複数のボリュームのデータのコピーを有することを特徴とするコンピュータ・プログラム製品。
JP2009513156A 2006-05-29 2007-04-26 頻繁なアプリケーション整合バックアップの効率的な作成 Active JP5028482B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN1283DE2006 2006-05-29
IN1283/DEL/2006 2006-05-29
US11/461,846 US7613750B2 (en) 2006-05-29 2006-08-02 Creating frequent application-consistent backups efficiently
US11/461,846 2006-08-02
PCT/US2007/010304 WO2007139647A1 (en) 2006-05-29 2007-04-26 Creating frequent application-consistent backups efficiently

Publications (3)

Publication Number Publication Date
JP2009539178A true JP2009539178A (ja) 2009-11-12
JP2009539178A5 JP2009539178A5 (ja) 2010-05-27
JP5028482B2 JP5028482B2 (ja) 2012-09-19

Family

ID=38750771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009513156A Active JP5028482B2 (ja) 2006-05-29 2007-04-26 頻繁なアプリケーション整合バックアップの効率的な作成

Country Status (11)

Country Link
US (1) US7613750B2 (ja)
EP (1) EP2033100B1 (ja)
JP (1) JP5028482B2 (ja)
KR (1) KR101322991B1 (ja)
CN (1) CN101460934B (ja)
AU (1) AU2007268226B2 (ja)
BR (1) BRPI0711335B1 (ja)
CA (1) CA2649404C (ja)
MX (1) MX2008014538A (ja)
RU (1) RU2433457C2 (ja)
WO (1) WO2007139647A1 (ja)

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
WO2007075587A2 (en) 2005-12-19 2007-07-05 Commvault Systems, Inc. Systems and methods for performing data replication
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8990153B2 (en) * 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
US7783850B2 (en) * 2006-03-28 2010-08-24 Dot Hill Systems Corporation Method and apparatus for master volume access during volume copy
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US8751467B2 (en) * 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US7831565B2 (en) * 2007-01-18 2010-11-09 Dot Hill Systems Corporation Deletion of rollback snapshot partition
US20080177961A1 (en) * 2007-01-23 2008-07-24 International Business Machines Corporation Partial Backup and Restore with Backup Versioning
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US7716183B2 (en) 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US8001345B2 (en) * 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US8204858B2 (en) 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
US8447859B2 (en) 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
US8751283B2 (en) 2007-12-28 2014-06-10 International Business Machines Corporation Defining and using templates in configuring information technology environments
US8341014B2 (en) 2007-12-28 2012-12-25 International Business Machines Corporation Recovery segments for computer business applications
US9558459B2 (en) 2007-12-28 2017-01-31 International Business Machines Corporation Dynamic selection of actions in an information technology environment
US8682705B2 (en) 2007-12-28 2014-03-25 International Business Machines Corporation Information technology management based on computer dynamically adjusted discrete phases of event correlation
US8677174B2 (en) 2007-12-28 2014-03-18 International Business Machines Corporation Management of runtime events in a computer environment using a containment region
US8428983B2 (en) 2007-12-28 2013-04-23 International Business Machines Corporation Facilitating availability of information technology resources based on pattern system environments
US8375244B2 (en) 2007-12-28 2013-02-12 International Business Machines Corporation Managing processing of a computing environment during failures of the environment
US8365185B2 (en) 2007-12-28 2013-01-29 International Business Machines Corporation Preventing execution of processes responsive to changes in the environment
US8763006B2 (en) 2007-12-28 2014-06-24 International Business Machines Corporation Dynamic generation of processes in computing environments
US8826077B2 (en) 2007-12-28 2014-09-02 International Business Machines Corporation Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations
US7958393B2 (en) * 2007-12-28 2011-06-07 International Business Machines Corporation Conditional actions based on runtime conditions of a computer system environment
US8346931B2 (en) 2007-12-28 2013-01-01 International Business Machines Corporation Conditional computer runtime control of an information technology environment based on pairing constructs
US8990810B2 (en) 2007-12-28 2015-03-24 International Business Machines Corporation Projecting an effect, using a pairing construct, of execution of a proposed action on a computing environment
US8782662B2 (en) 2007-12-28 2014-07-15 International Business Machines Corporation Adaptive computer sequencing of actions
US8326910B2 (en) * 2007-12-28 2012-12-04 International Business Machines Corporation Programmatic validation in an information technology environment
US8868441B2 (en) 2007-12-28 2014-10-21 International Business Machines Corporation Non-disruptively changing a computing environment
CN101499073B (zh) * 2008-01-29 2011-10-12 国际商业机器公司 基于访问频率的连续存储数据的存储管理方法和系统
US8051044B1 (en) * 2008-04-01 2011-11-01 Acronis, Inc. Method and system for continuous data protection
US20100049717A1 (en) * 2008-08-20 2010-02-25 Ryan Michael F Method and systems for sychronization of process control servers
CN101764954B (zh) * 2008-11-28 2013-06-05 新奥特(北京)视频技术有限公司 一种字幕单的备份和还原方法
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8589447B1 (en) * 2009-07-07 2013-11-19 Netapp, Inc. Efficient file system scan for shared data blocks
US8326798B1 (en) * 2009-09-14 2012-12-04 Network Appliance, Inc. File system agnostic replication
US9235595B2 (en) 2009-10-02 2016-01-12 Symantec Corporation Storage replication systems and methods
US8856080B2 (en) * 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US8775371B2 (en) * 2009-11-11 2014-07-08 International Business Machines Corporation Synchronizing an auxiliary data system with a primary data system
EP2519872A4 (en) 2009-12-31 2015-08-26 Commvault Systems Inc SYSTEMS AND METHOD FOR IMPLEMENTING DATA MANAGEMENT OPERATIONS USING SNAPSHOTS
US8838545B2 (en) * 2010-01-25 2014-09-16 International Business Machines Corporation Incremental and prioritized restoration of blocks
WO2011123090A1 (en) * 2010-03-29 2011-10-06 Carbonite, Inc. Discovery of non-standard folders for backup
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
WO2011123089A1 (en) * 2010-03-29 2011-10-06 Carbonite, Inc. Managing backup sets based on user feedback
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8315991B2 (en) * 2010-04-20 2012-11-20 International Business Machines Corporation Detecting inadvertent or malicious data corruption in storage subsystems and recovering data
US8805847B2 (en) 2010-05-06 2014-08-12 Ca, Inc. Journal event consolidation
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
KR101753313B1 (ko) 2010-07-08 2017-07-19 삼성전자주식회사 파일 백업 장치 및 방법
US8793217B2 (en) * 2010-07-16 2014-07-29 Ca, Inc. Block level incremental backup
US10114847B2 (en) 2010-10-04 2018-10-30 Ca, Inc. Change capture prior to shutdown for later backup
IL208641A0 (en) * 2010-10-12 2010-12-30 Eci Telecom Ltd Method for accelerating start up of a computerized system
CN102142006B (zh) * 2010-10-27 2013-10-02 华为技术有限公司 分布式文件系统的文件处理方法及装置
CN102456049A (zh) * 2010-10-28 2012-05-16 无锡江南计算技术研究所 数据迁移方法、装置及面向对象的分布式文件系统
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8620894B2 (en) 2010-12-21 2013-12-31 Microsoft Corporation Searching files
US20120221813A1 (en) * 2011-02-28 2012-08-30 Hitachi, Ltd. Storage apparatus and method of controlling the same
US9135118B2 (en) * 2011-03-07 2015-09-15 Aptare, Inc. System to catalog and search point-in-time instances of a file system
US8458134B2 (en) 2011-03-30 2013-06-04 International Business Machines Corporation Near continuous space-efficient data protection
US8868882B2 (en) 2011-06-08 2014-10-21 Microsoft Corporation Storage architecture for backup application
US9785523B2 (en) * 2011-06-20 2017-10-10 Microsoft Technology Licensing, Llc Managing replicated virtual storage at recovery sites
US9335931B2 (en) 2011-07-01 2016-05-10 Futurewei Technologies, Inc. System and method for making snapshots of storage devices
WO2012167583A1 (en) * 2011-07-01 2012-12-13 Huawei Technologies Co., Ltd. System and method for providing reliable storage
US9026849B2 (en) 2011-08-23 2015-05-05 Futurewei Technologies, Inc. System and method for providing reliable storage
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
US9063822B2 (en) * 2011-09-02 2015-06-23 Microsoft Technology Licensing, Llc Efficient application-aware disaster recovery
US10311027B2 (en) 2011-09-23 2019-06-04 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
GB2495079A (en) * 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US10331801B2 (en) 2011-09-23 2019-06-25 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9177009B2 (en) * 2012-06-28 2015-11-03 Microsoft Technology Licensing, Llc Generation based update system
US9547533B2 (en) * 2012-10-15 2017-01-17 Optum Soft, Inc. Efficient reliable distributed flow-controlled event propagation
US8782005B2 (en) * 2012-12-12 2014-07-15 Storagecraft Technology Corporation Pruning previously-allocated free blocks from a synthetic backup
US20140181047A1 (en) * 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to protect deleted files
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US10180943B2 (en) 2013-02-28 2019-01-15 Microsoft Technology Licensing, Llc Granular partial recall of deduplicated files
US9823974B1 (en) * 2013-03-14 2017-11-21 EMC IP Holding Company LLC Excluding files in a block based backup
CN104125249A (zh) * 2013-04-24 2014-10-29 北京远方环宇通讯技术有限责任公司 通信终端配置文件的同步系统和方法
US9239869B1 (en) * 2013-05-08 2016-01-19 Ca, Inc. Replication and synchronization for protecting NTFS deduplication volumes
RU2643642C2 (ru) * 2013-12-11 2018-02-02 Интел Корпорейшн Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
US9411811B2 (en) 2014-01-06 2016-08-09 International Business Machines Corporation Coordinated point-in-time snapshots of multiple computing platforms
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US10176048B2 (en) * 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
CN103793664B (zh) * 2014-02-21 2017-01-18 中标软件有限公司 云存储系统中副本管理方法和装置
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
WO2015199845A1 (en) 2014-06-26 2015-12-30 Hewlett-Packard Development Company, L.P. Virtual machine data protection
US9645892B1 (en) * 2014-07-08 2017-05-09 EMC IP Holding Company LLC Recording file events in change logs while incrementally backing up file systems
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10303556B1 (en) * 2014-10-29 2019-05-28 Veritas Technologies Llc Modifiable volume snapshots
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10095707B1 (en) 2014-12-19 2018-10-09 EMC IP Holding Company LLC Nearline cloud storage based on FUSE framework
US10120765B1 (en) 2014-12-19 2018-11-06 EMC IP Holding Company LLC Restore process using incremental inversion
US10235463B1 (en) 2014-12-19 2019-03-19 EMC IP Holding Company LLC Restore request and data assembly processes
US10095710B1 (en) 2014-12-19 2018-10-09 EMC IP Holding Company LLC Presenting cloud based storage as a virtual synthetic
US9753814B1 (en) 2014-12-19 2017-09-05 EMC IP Holding Company LLC Application level support for selectively accessing files in cloud-based storage
US9953038B2 (en) 2015-01-30 2018-04-24 Microsoft Technology Licensing, Llc Cloud-based hierarchical system preservation
US11423004B2 (en) * 2015-04-17 2022-08-23 Netapp Inc. Granular replication of volume subsets
US10061629B2 (en) 2015-07-22 2018-08-28 Optumsoft, Inc. Compact binary event log generation
US9990491B2 (en) * 2016-01-19 2018-06-05 International Business Machines Corporation Methods and systems for assessing and remediating online servers with minimal impact
US11157459B2 (en) 2016-02-26 2021-10-26 Red Hat, Inc. Granular data self-healing
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10310951B1 (en) * 2016-03-22 2019-06-04 EMC IP Holding Company LLC Storage system asynchronous data replication cycle trigger with empty cycle detection
US10095428B1 (en) 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US10838767B2 (en) * 2016-09-12 2020-11-17 International Business Machines Corporation Distributed computing utilizing a recovery site
US10713129B1 (en) * 2016-12-27 2020-07-14 EMC IP Holding Company LLC System and method for identifying and configuring disaster recovery targets for network appliances
US10339073B2 (en) * 2017-06-29 2019-07-02 Keysight Technologies, Inc. Systems and methods for reducing write latency
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11301331B2 (en) 2018-09-20 2022-04-12 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US11086552B2 (en) * 2019-04-26 2021-08-10 EMC IP Holding Company LLC System and method for selective backup promotion using a dynamically reserved memory register
CN110177142A (zh) * 2019-05-24 2019-08-27 无锡华云数据技术服务有限公司 一种数据同步方法、装置及电子设备
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
CN110781392B (zh) * 2019-10-22 2022-08-12 深圳墨世科技有限公司 可动态伸缩的过滤方法、装置、计算机设备及存储介质
US11513899B2 (en) * 2020-11-30 2022-11-29 International Business Machines Corporation Selectively capturing snapshots of volumes based on modified capacity
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994029807A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
JPH10214214A (ja) * 1997-01-30 1998-08-11 Matsushita Electric Ind Co Ltd データ管理方式
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
US20040139128A1 (en) * 2002-07-15 2004-07-15 Becker Gregory A. System and method for backing up a computer system
JP2004227572A (ja) * 2003-01-17 2004-08-12 Yuitoku Go 遠隔データ管理方法
JP2005122611A (ja) * 2003-10-20 2005-05-12 Hitachi Ltd ストレージ装置及びバックアップ取得方法
JP2005267569A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ストレージ装置および情報管理システム
US20050262097A1 (en) * 2004-05-07 2005-11-24 Sim-Tang Siew Y System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
JP2006012121A (ja) * 2004-05-28 2006-01-12 Fujitsu Ltd データバックアップシステム及び方法
JP2006092553A (ja) * 2004-09-22 2006-04-06 Microsoft Corp 合成バックアップおよびリストアの方法およびシステム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686620A (en) * 1984-07-26 1987-08-11 American Telephone And Telegraph Company, At&T Bell Laboratories Database backup method
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5588147A (en) * 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
EP0678812A1 (en) * 1994-04-20 1995-10-25 Microsoft Corporation Replication verification
US5907672A (en) * 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
KR100414617B1 (ko) 2001-02-08 2004-01-07 주식회사 클래러스 파일의 실시간 모니터링을 통한 데이터 백업 방법 및 시스템
CN1423200A (zh) * 2001-12-06 2003-06-11 英业达股份有限公司 动态备份数据的系统与方法
US7039663B1 (en) 2002-04-19 2006-05-02 Network Appliance, Inc. System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US6880052B2 (en) 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
US6947981B2 (en) 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US7210005B2 (en) 2002-09-03 2007-04-24 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
CN100373385C (zh) * 2003-01-17 2008-03-05 中兴通讯股分有限公司 一种备份和恢复重要数据的方法
US20040225659A1 (en) 2003-05-09 2004-11-11 O'brien John Storage foundry
US7032126B2 (en) 2003-07-08 2006-04-18 Softek Storage Solutions Corporation Method and apparatus for creating a storage pool by dynamically mapping replication schema to provisioned storage volumes
US20050010529A1 (en) 2003-07-08 2005-01-13 Zalewski Stephen H. Method and apparatus for building a complete data protection scheme
US20050138306A1 (en) * 2003-12-19 2005-06-23 Panchbudhe Ankur P. Performance of operations on selected data in a storage area
US7412577B2 (en) * 2004-02-05 2008-08-12 International Business Machines Corporation Shared data mirroring apparatus, method, and system
US7096392B2 (en) 2004-05-07 2006-08-22 Asempra Technologies, Inc. Method and system for automated, no downtime, real-time, continuous data protection
US20060018505A1 (en) 2004-07-22 2006-01-26 Dell Products L.P. Method, system and software for enhanced data protection using raw device backup of copy-on-write snapshots
US7457980B2 (en) 2004-08-13 2008-11-25 Ken Qing Yang Data replication method over a limited bandwidth network by mirroring parities
US20060074993A1 (en) 2004-10-04 2006-04-06 Chandrasekhar Pulamarasetti System and method for management of recovery time objectives of business continuity/disaster recovery IT solutions

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994029807A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
JPH10214214A (ja) * 1997-01-30 1998-08-11 Matsushita Electric Ind Co Ltd データ管理方式
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
US20040139128A1 (en) * 2002-07-15 2004-07-15 Becker Gregory A. System and method for backing up a computer system
JP2004227572A (ja) * 2003-01-17 2004-08-12 Yuitoku Go 遠隔データ管理方法
JP2005122611A (ja) * 2003-10-20 2005-05-12 Hitachi Ltd ストレージ装置及びバックアップ取得方法
JP2005267569A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ストレージ装置および情報管理システム
US20050262097A1 (en) * 2004-05-07 2005-11-24 Sim-Tang Siew Y System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
JP2006012121A (ja) * 2004-05-28 2006-01-12 Fujitsu Ltd データバックアップシステム及び方法
JP2006092553A (ja) * 2004-09-22 2006-04-06 Microsoft Corp 合成バックアップおよびリストアの方法およびシステム

Also Published As

Publication number Publication date
KR20090014281A (ko) 2009-02-09
CA2649404A1 (en) 2007-12-06
CN101460934A (zh) 2009-06-17
EP2033100B1 (en) 2013-05-29
CA2649404C (en) 2015-10-06
AU2007268226B2 (en) 2011-09-15
AU2007268226A1 (en) 2007-12-06
EP2033100A4 (en) 2011-12-28
US20070276885A1 (en) 2007-11-29
MX2008014538A (es) 2008-11-27
US7613750B2 (en) 2009-11-03
WO2007139647A1 (en) 2007-12-06
RU2433457C2 (ru) 2011-11-10
JP5028482B2 (ja) 2012-09-19
BRPI0711335B1 (pt) 2018-10-09
KR101322991B1 (ko) 2013-10-29
CN101460934B (zh) 2011-10-19
EP2033100A1 (en) 2009-03-11
BRPI0711335A2 (pt) 2011-08-30
RU2008147124A (ru) 2010-06-10

Similar Documents

Publication Publication Date Title
JP5028482B2 (ja) 頻繁なアプリケーション整合バックアップの効率的な作成
CN111316245B (zh) 使用完全水合备份还原数据库
JP5274772B2 (ja) データ・ストレージ内の時相データを維持するためのシステムおよび方法
AU2004237061B2 (en) Flashback database
US7984016B2 (en) Method for asynchronous replication of a hierarchically-indexed data store
US11157370B2 (en) Consistent backup of a distributed database system
US7310654B2 (en) Method and system for providing image incremental and disaster recovery
US8656218B2 (en) Memory configuration for data replication system including identification of a subsequent log entry by a destination computer
US8521694B1 (en) Leveraging array snapshots for immediate continuous data protection
US9535801B1 (en) Xcopy in journal based replication
US7844643B2 (en) Storage management system with integrated continuous data protection and remote copy
US20070027936A1 (en) Determining changes made to a source file to transmit to a target location providing a mirror copy of the source file
US20060106891A1 (en) Managing atomic updates on metadata tracks in a storage system
WO2019050661A1 (en) REMOTE MOUNTED FILE SYSTEM HAVING STEMS
KR20150081810A (ko) 데이터 저장장치에 대한 다중 스냅샷 관리 방법 및 장치
CN117130827A (zh) 使用完全水合备份还原数据库

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120517

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

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

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5028482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250