Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5129245B2 - 複製時のシャドーコピーデータの保持 - Google Patents
[go: Go Back, main page]

JP5129245B2 - 複製時のシャドーコピーデータの保持 - Google Patents

複製時のシャドーコピーデータの保持 Download PDF

Info

Publication number
JP5129245B2
JP5129245B2 JP2009512709A JP2009512709A JP5129245B2 JP 5129245 B2 JP5129245 B2 JP 5129245B2 JP 2009512709 A JP2009512709 A JP 2009512709A JP 2009512709 A JP2009512709 A JP 2009512709A JP 5129245 B2 JP5129245 B2 JP 5129245B2
Authority
JP
Japan
Prior art keywords
shadow copy
backup
volume
space
data
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.)
Active
Application number
JP2009512709A
Other languages
English (en)
Other versions
JP2009539162A (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 JP2009539162A publication Critical patent/JP2009539162A/ja
Application granted granted Critical
Publication of JP5129245B2 publication Critical patent/JP5129245B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Container Filling Or Packaging Operations (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本発明は、バックアップサーバがデータバックアップおよび対応する更新を1つまたは複数のバックアップボリュームに適用するコンピュータ化システムにおいて、プロダクションサーバでのデータ変更の決定を、1つまたは複数のバックアップボリューム内にある使用可能なシャドーコピー格納スペースと互いに関連付けさせる方法に関する。
概してコンピュータシステムおよび関連デバイスは、作業設定時におけるワードプロセッシング文書の作成、および、より高度なデータベースのために使用されるファイルの作成の一般的ケースなどの、様々な理由で、一般に使用される。こうした用途向けのコンピュータ化システムが普及してきたため、それらに関連付けられた様々なハードウェアおよびソフトウェア機能も増加してきた。たとえば、わずか数年前に従来のコンピュータシステムを実行可能にした様々なデータ処理(たとえばファイル、メール、データベースなど)タスクが、今では、さらに高速および小型のマルチタスクコンピュータシステムによって、より実行可能になる場合さえしばしばある。結果として、コンピュータシステムは任意の所与の組織(organization)内で激増し、各コンピュータシステムの要求タスクも増加している。当然のことながら、任意の所与のコンピュータシステムまたはコンピュータシステムセットの実行および管理に関連付けられたコストも増加している。
部分的には、増加の一途をたどるこうした機能のコストに結び付けられた任意の所与のコンピュータシステムに関する処理機能の向上により、しばしば組織は、リソース(たとえばハードウェアおよび/またはソフトウェアベースのリソース)の共有または分配において、いくつかの利点を見出す。具体的に言えば、組織は一般的に、いくつかのワークステーションが単一ノード(たとえば処理および/または格納ノード)の処理および格納リソースを共有するように、コンピュータシステムを編成する。たとえば組織は、1つのサーバノードにある単一の物理ボリュームをいくつかの異なるボリュームに区分し、ネットワークを介していくつかの個々のドライブとしてこれらにアクセスすることがある。これらの分割ドライブをユーザおよび/またはワークステーション間でさらに割り振ることが可能であり、その結果、たとえば、あるセットのパーソナルワークステーションはあるセットの分割ドライブにアクセスすることが可能であるが、他の異なるセットのパーソナルワークステーションは、異なるセットの分割ドライブのみにアクセス可能な場合がある。
こうした線に沿って、次に組織は、単一のサーバノードを区分して、複数の「仮想マシン」をホストする。簡単に言えば、仮想マシンとは、所与のホストコンピュータシステム上にあるドライブスペースのその独自の区画上への、オペレーティングシステムの固有のインストールである。仮想マシンは、たとえホストコンピュータシステムの物理リソースの一区画に過ぎない場合であっても、どの点から見ても別々のワークステーションとして出現するように構成することができる。たとえば仮想マシンは、ホストコンピュータのアドレスとは異なるネットワークアドレスを備えるネットワークを介して、アドレス指定することができる。さらに仮想マシン自体が、ホストの物理ディスク上にある仮想マシンに対して実行された割り振り内のいくつかの異なるドライブ区画をホストすることもできる。仮想マシンによって管理されるこれらのドライブパスは、異なるエンティティによって効果的に管理できることから、ホストコンピュータシステムによって管理されるドライブパスと同じ名前を付けることができる。
したがって、仮想マシンの少なくとも1つの利点は、それらを使用して、追加のコンピュータハードウェアを購入する追加コストを必ずしも必要とせずに、いくつかの異なる計算機能を提供できることである。たとえばある組織は、異なるネットワーク位置に異なるホストサーバを配置し、さらに何十および/または何百の仮想マシンを各ホストサーバ内に配置する場合がある。いくつかの仮想マシンをメールサーバまたはデータベースサーバとして使用し、他の仮想マシンを、たとえパーソナルワークステーションがローカルに配置されていたとしても、ネットワーククライアントによってアクセスされるパーソナルワークステーションコンピュータとして使用することができる。さらに仮想マシンがもはや不要である場合に、これらをホストサーバから容易に削除できるように、他の仮想マシンをテストの目的で使用することができる。
組織における仮想マシンの使用がより普及するにつれて、仮想マシンが適切に管理されることを保証する必要がさらに生じる。たとえば従来のサーバ管理者トポロジは、組織内でアカウントを構成し、パスワードを管理し、物理およびソフトウェアリソースを編成する、システム(たとえば、サーバ、ワークステーション、および/またはネットワーク)管理者のグループのようなものを含む。大規模エンタープライズの場合、それぞれに異なる責任が課せられたシステム管理者が多数存在する可能性さえある。
たとえば、1人のシステム管理者にはエンドユーザオフィス内でのワークステーションの提供およびセットアップが課せられ、他のシステム管理者にはエンドユーザへの特定のログインアカウントの提供が課せられ、さらに他のシステム管理者には、各コンピュータシステムへの物理接続(たとえば、ネットワーク接続、電源接続)の提供および監視が課せられる場合がある。こうした各システム管理者は、特定の地理的位置について全体を管理するシステム管理者に報告する必要がある可能性がある。組織の規模に応じて、管理システム管理者は、管理階層上位などの他のシステム管理者にさらに報告する必要がある可能性もある。
従来のシステムでは、通常、1人または数人のシステム管理者が数十のサーバおよびパーソナルワークステーションを管理することができる。しかしながら、多数の仮想マシンを実装している場合などの、潜在的に数百および/または数千にのぼるマシンの管理は、さらに複雑である。具体的に言えば、たとえ何千もの仮想マシンが比較的少数のホストサーバ上でホストされている場合であっても、1人または数人のシステム管理者ではそれらの仮想マシンの複雑さを管理できない可能性がある。特に、100程度のユーザアカウントに関するパスワード要求を管理する責務を負うシステム管理者は、1000台のコンピュータに対しては同じことを事実上管理できない場合がある。同様に、100程度の物理コンピュータシステムそれぞれについて、十分な物理およびネットワークリソースを保証する責務を負うシステム管理者は、特に、組織内の他のマシンへのサービス提供を混乱させることなく、意図されたとおりに実行するために、潜在的に何千もの仮想マシンに十分なハードウェアおよびソフトウェアリソースが提供されることを保証しようとすることに追われる。
もちろん、余分な負担を処理するために単に追加のシステム管理者を雇用するだけでは、組織が第一に仮想マシンを使用することによって避けようとする可能性のある重大なコストの問題を提示する。したがって、組織内の仮想マシンの効果的な動作および管理に関して対処可能ないくつかの課題が存在する。
本発明の実施により、シャドーコピーが管理者のバックアップ目標/インテント(intent)に関して有効を維持する限り、シャドーコピーがバックアップボリューム内で保持されることを保証するように構成された、システム、方法、およびコンピュータプログラム製品に伴う、当分野の1つまたは複数の問題が解決される。特に、本発明の実施は、プロダクションサーバでの書き込みレートの決定に基づいて、バックアップボリューム上のシャドーコピー格納スペースの自動決定を提供する。その後、いくつかのケースでこうした使用可能スペースの決定を使用して、既存のシャドーコピーを保持するために、新しいシャドーコピーを作成できるか否かをさらに決定することができる。一実施では、バックアップボリューム内のシャドーコピー格納スペースは、プロダクションサーバ上で予測される書き込みレートに対処するために、各複製サイクルを自動的に再配分することができる。さらに、シャドーコピー格納スペースは、現在のシャドーコピー格納スペースを超えるシャドーコピーが適切な様式で処理できるように実質上ロックすることが可能であるため、以前のシャドーコピーであるが依然として有効なシャドーコピーを上書きするのを避けることができる。
たとえば、プロダクションサーバでのデータ変更の決定を、1つまたは複数のバックアップボリューム内にある使用可能なシャドーコピー格納スペースと互いに関連付けさせる方法は、プロダクションサーバ側での変更のサイズを決定することを含むことができる。こうした方法は、一般に、プロダクションサーバでの1つまたは複数のデータ変更のセットを識別すること、ならびに、変更の合計サイズが過大評価されるように、シャドーコピー格納ボリュームに適用されることになるセット内の変更の合計サイズを決定することを、含むことができる。加えて、この方法は、シャドーコピー格納ボリューム内の使用可能なシャドーコピー格納スペースのサイズを識別すること、および、識別された使用可能なシャドーコピー格納スペースに1つまたは複数のデータ変更のセットを適用するためのステップを含む。したがって最終的には、有効期限に先立って有効なシャドーコピーがシャドーコピー格納ボリューム内に残るように、ファイル変更を適用する。
代替方法は、受け取った変更を適用するための複製エージェント試行として、1つまたは複数のバックアップボリューム内での使用可能なシャドーコピー格納スペースを決定することにより多く基づく。こうした方法は、プロダクションサーバから1つまたは複数のデータ変更を受け取ること、および、1つまたは複数のデータ変更が適用される場合に、そのそれぞれの変更に標準値を割り当てることを含む。この方法は、バックアップボリューム内に格納された有効なシャドーコピーを保持するために、バックアップボリューム内での使用可能なシャドーコピー格納スペースの量が過小評価されるように、この量を計算することを含む。加えて、この方法は、1つまたは複数のデータ変更の初期セットの標準値が、バックアップボリューム内での使用可能なシャドーコピー格納スペースの計算された量よりも少ないことを識別することを含む。適切であれば、その後、1つまたは複数のデータ変更をバックアップボリュームに適用する。したがってこの方法では、有効期限に先立って、有効なシャドーコピーがシャドーコピー格納ボリューム内に残る。
本概要は、発明を実施するための最良の形態で詳細に後述する概念の選択を簡略化された形で紹介するために提供される。本概要は、請求される主題の主要な特徴または不可欠な特徴を識別することを意図するのではなく、請求される主題の範囲を決定する目的として使用されることを意図するのでもない。
本発明の追加の特徴および利点は以下の説明で示されることになり、この説明から部分的に明らかとなるか、または本発明の実施によって習得することができる。本発明の特徴および利点は、特に添付の特許請求の範囲で指摘された計器および組み合わせによって、実現および取得することができる。本発明のこれらおよび他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかとなるか、または以下に示すような本発明の実施によって習得することが可能である。
本発明の前述および他の利点および特徴が取得可能な方法を説明するために、添付の図面に示された特定の実施形態を参照しながら、簡単に前述された本発明について、より具体的に説明する。これらの図面が本発明の典型的な諸実施形態のみを示すものであり、その範囲を限定するものとはみなされないことを理解しながら、本発明について、添付の図面を使用しながらさらに具体的および詳細に説明する。
本発明は、シャドーコピーが管理者のバックアップ目標/インテントに関して有効を維持する限り、シャドーコピーがバックアップボリューム内で保持されることを保証するように構成された、システム、方法、およびコンピュータプログラム製品にまで及ぶ。特に、本発明の実施は、プロダクションサーバでの書き込みレートの決定に基づいて、バックアップボリューム上のシャドーコピー格納スペースの自動決定を提供する。その後、いくつかのケースでこうした使用可能スペースの決定を使用して、既存のシャドーコピーを保持するために、新しいシャドーコピーを作成できるか否かをさらに決定することができる。一実施では、バックアップボリューム内のシャドーコピー格納スペースは、プロダクションサーバ上で予測される書き込みレートに対処するために、各複製サイクルを自動的に再配分することができる。さらに、シャドーコピー格納スペースは、現在のシャドーコピー格納スペースを超えるシャドーコピーが適切な様式で処理できるように実質上ロックすることが可能であるため、以前のシャドーコピーであるが依然として有効なシャドーコピーを上書きするのを避けることができる。
以下の説明および特許請求の範囲からより完全に理解されるように、本発明の実施により、有効なシャドーコピーデータの損失を防ぐことができる。概して、本明細書で使用されるシャドーコピーの「妥当性」は、バックアップシステム100に対するバックアップインテントに関し、ここではバックアップ管理者が、指定された時間にバックアップサーバで使用できる増分データ更新を維持するための特定の設定(すなわちインテント)を作成する。具体的に言えば、「有効な」シャドーコピーとは本質的に、特定の「バックアップインテント」によって定義されるような、未だ「満了」していないシャドーコピーである。たとえばバックアップ管理者が、シャドーコピーが一日にx回収集され、その後、削除されるかまたはおそらくアーカイブ媒体に移動されるまでに、少なくとも14日間格納されることを示す、バックアップインテントを設定した場合、「有効な」シャドーコピーは少なくとも14日より古いコピーではない。これとは対照的に、14日より古いバックアップサーバのシャドーコピーは、「無効」または「満了」とみなされ、バックアップ管理者が希望する場合、削除またはアーカイブ媒体に移動することができる。
したがって本発明の実施は、一般に、シャドーコピー格納スペースが不十分なことによって、および/または、保護されているメインデータ用の格納領域における増加の結果として生じるシャドーコピー格納スペース(「diff領域」とも呼ばれる)における損失によって、その他の形で発生する可能性のある、有効なシャドーコピーデータの損失を防ぐように構成される。たとえば、一実施における1つまたは複数の構成要素は、プロダクションサーバで保護されることになるデータの増加を追跡するように、および、シャドーコピーデータを保持するように構成されたバックアップボリュームに関する使用および未使用のスペースを追跡するように、構成することができる。いかなる時点でも、バックアップボリューム内の有効なシャドーコピーデータが上書きされる危険性があると、構成要素が決定した場合、その構成要素は、少なくとも一時的に複製プロセスを停止する(たとえば、新しいシャドーコピーが作成されない)ことができる。その後、構成要素は、シャドーコピー格納スペースに対して自動調整を実行するか、または続行する前にバックアップ管理者に同じ指示を要求することができる。
本明細書では前置きとして、メインデータ用の格納領域は保護され、シャドーコピーデータ用の格納領域は別のボリューム上にある、本発明の実施について、予備的に説明する。しかしながら、こうしたアーキテクチャ上の概略は必須ではない。特に、本発明の実施は、同じバックアップボリュームがメインデータ用および対応する更新用(すなわち、シャドーコピーデータ)の割り振り済み格納領域を含む状況にも、適用可能である。
たとえば図1は、バックアップサーバ110(たとえば、データ保護マネージャ「DPM」サーバ)と通信するプロダクションサーバ105(たとえば、メール、ファイル、またはデータベースサーバなど)を含む、バックアップシステム100のアーキテクチャ上の概要を示す図である。図に示されるように、プロダクションサーバ105は、データ125などの保護されるデータの1つまたは複数のボリュームをさらに含む、格納媒体115を少なくとも含む。プロダクションサーバ105のログファイル113は、データ125に対するすべての変更を識別することができる。したがってログファイル135は、プロダクションサーバ105が最終的にバックアップサーバ110に渡すことになる更新123および127を含む。
図1は、バックアップサーバ110が複製エージェント130を備えることも示している。一般に、複製エージェント130は、プロダクションサーバ105と通信するように、および、格納媒体120などの1つまたは複数の接続されたバックアップ格納媒体の様々な特徴を追跡するように構成された、コンピュータ実行可能命令の1つまたは複数のセットを備える。たとえば図1は、複製エージェント130が、格納媒体120(および/または任意の他の接続されたバックアップ媒体)内の各ボリュームについての様々な使用および未使用スペース特徴を格納する、ボリューム特徴150構成要素を含むことができることを示す。
説明として、複製エージェント130および/または決定モジュール135は、必ずしもバックアップサーバ110上に常駐している構成要素である必要はない。具体的に言えば、複製エージェント130および/または決定モジュール135は、プロダクションサーバ105および/またはバックアップシステム100内の任意の他のサーバ(図示せず)上に実装することができる。したがって、本明細書におけるバックアップサーバ110上の複製エージェント130および決定モジュール135の図は、主として、少なくとも1つの実施を示す際の便宜的なものである。
いずれにしても、決定モジュール135は、プロダクションサーバ105で保護されたデータ(たとえば125)に対する更新のサイズを識別することができる。一実施では、決定モジュール135は、一般的なアーカイブ期間(たとえば14日間、すなわちシャドーコピーをアーカイブまたは削除するまで保持しておく時間)中に、複製サイクル(たとえば15分ごと)にわたって、データ125内のすべての変更の実際のバイトサイズを決定する。しかしながら、こうした粒度の細かい決定は必ずしも必要でない場合がある。たとえば、場合によっては、データ更新をdiff領域(たとえば143)へコピーするためにどの程度のスペースが必要であるかをより控えめに見積もることが、より効率的な可能性がある。一実施では、これは、ファイル(またはバイト)ブロックに関してバイト変更を識別することによって実行することができる。
一般に、ファイルブロック(またはバイトブロック)とは、典型的には「ファイル」内のバイトセットである。本明細書および特許請求の範囲では、「ファイル」とは、その最も広い意味において、通常のユーザアプリケーションファイルではなく(またはこれに加えて)、電子メール、データベースプログラム、システムライブラリ、または構成要素などに関連付けられた、任意のタイプの離散データの集まりを含むものと理解されよう。いずれにしても、ファイルブロック内のバイトセットは、典型的には約4096バイトから約16384バイトの固定サイズを典型的に有する。したがって、ファイルとは、何らかの任意数のバイトとして説明されることに加えて、3バイトブロックのセットとして説明される場合がある。したがって、以下の明細書および特許請求の範囲からより完全に理解されるように、複製エージェント130は(決定モジュール135を介して)、プロダクションサーバ105から書き込むことが必要なブロックの数(すなわち、変更のサイズ)、格納媒体120内で使用可能なブロックの数(すなわち、割り振られた格納サイズ)、またはそれらの何らかの組み合わせを、決定することができる。
たとえば、複製エージェント130は(決定モジュール135を介して)、複製プロセス中であるが、このデータと対応するバックアップボリュームとを同期させる(すなわち、これらの変更を適用する)前の、変更を追跡することによって、データ125への変更の合計サイズを決定することができる。これは、1つのインスタンスにおいて、ファイルシステムログ/ジャーナル(たとえば、更新シーケンス番号ジャーナル、ブロック変更ビットマップ、またはログファイル)113から、作成、修正、および/または削除されたすべてのファイルを決定することによって、実行可能である。その後、複製エージェント130は、ある種の標準値(すなわちブロック値)を、ファイル内のメタデータが変更されたかどうか、ファイルが新しいかどうか、ファイルに添付されているかどうか、所与のファイルブロック内の1つまたは複数のバイトが変更されたかどうか、および/または、ファイルが削除されているかどうかに関するものとすることができる。前述のように、次にこのブロック値が、最終的に格納媒体120にどれだけ書き込む必要があるかの控えめな過度の見積もりを提供することができる。
たとえば複製エージェント130は、各メタデータの変更に対するある種のブロック数を集計し、これを他のタイプのファイル変更に割り当てられたブロック値とは別にカウントするように、構成することができる。一実施では、複製エージェント130は、ファイル修正回数、セキュリティプロパティ、ファイル名、または何らかの他のファイル属性に関するファイルメタデータにおける変更を識別するごとに、1ブロックをカウントする。これらおよび他のメタデータプロパティのそれぞれが変更された場合、複製エージェント130は、いくつかの別々のブロックをカウントする必要がある場合がある。しかしながら、複製エージェント130は、同じメタデータフィールドに対するいくつかの変更(たとえば、いくつかのファイル名変更)を識別するなどの、相殺可能なメタデータ変更については単に1ブロックを識別するように最適化することができる。
複製エージェント130は、ファイルに追加されるすべての新しいブロックをカウントするように構成することもできる。たとえば、ログファイル113が新しく作成された3ブロックを有するファイルを識別すると、複製エージェント130は集計に3ブロックを追加することができる。代替として、添付されたファイルの場合、複製エージェント130は、所与のファイルに追加された各ブロックについて1つのブロック値のみを追加する可能性がある。同様に、複製エージェント130は、同じファイルブロック内の1つまたは複数のバイト変更について単一のブロックを追加するように、あるいは、同じファイル内のいくつかの異なるブロックにまたがっていくつかのバイトが変更されている場合、複数のブロックを追加するように、構成することができる。その後、複製エージェント130は、格納媒体120でどれだけのスペースが必要であるかの見積もりを得るために、これら個々の集計(すなわち、メタデータ変更の数、ファイル変更、作成、または添付の数)のそれぞれをまとめて追加することができる。
一部のケースでは、削除されたブロックの合計数を考慮の対象とすることによって、この集計を修正することも可能である。たとえば、一部のボリュームシャドーコピーサービスは、プロダクションサーバがその格納媒体(たとえば115)にあるそのブロックを削除したことを識別した場合、ブロックの以前のバージョンを、バックアップボリューム(たとえば140)からシャドーコピーボリューム(たとえば143)にコピーするように構成される。一部のケースでは、ボリュームシャドーコピーサービスは、所与の削除されたブロックが他のファイルまたはファイルブロックによって上書きされている場合に、ブロック内の削除を報告するようにのみ構成される可能性がある。他のケースでは、ボリュームシャドーコピーサービスは、総称バイト/ブロックの削除ならびにバイト/ブロックの上書きの両方を報告するように、構成される可能性がある。したがって複製エージェント130は、対応するバックアップボリュームに渡される必要があるブロックの最も正確な合計が反映されることを保証するために採用されたどのようなシャドーコピーサービスにも対処するように、構成することができる。
たとえば、複製エージェント130は、ファイルシステムジャーナル、ログファイル、またはブロック変更ビットマップ(たとえば113)から、上書きされている削除済みブロックの合計数、ならびにそれらの削除済みファイルのサイズのみを識別するように、構成することができる。一実施では、それらの削除済みブロックのサイズは、複数の複製サイクル(およびエラー訂正による変更)にまたがった累積値に基づくものとすることができる。これらの線に沿って、複製エージェント130は、すべての新しく追加されたブロックが、使用可能な場合に必ず削除済みブロックを上書きすることを想定するように構成することもできる。したがってこの例では、複製エージェント130は、データ125に関する変更の合計サイズが、メタデータ変更によるブロック数、新しく追加されたブロックの数、および、新しく追加されたブロックによって上書きされた削除済みブロックの数の、合計によって概算可能であることを、決定することができる。
プロダクションサーバ105での変更のサイズを識別すると同時に(またはその前に)、複製エージェント130は、識別された変更を適用するかどうかを識別するために、バックアップ格納媒体(たとえば120)での使用可能領域のサイズを決定することもできる。たとえば複製エージェント130は、ボリュームシャドーコピーサービス(図示せず)に照会することによって、メインバックアップボリューム140内のシャドーコピーに割り振られた格納領域内の未使用スペースの量を識別することができる。代替として、メインデータバックアップおよびシャドーコピーバックアップが別々のボリューム(たとえば140、125)に格納された場合、複製エージェント130は、シャドーコピーを格納するために使用されるボリューム内にどれだけの未使用スペース(たとえば147)が見つけられるかを識別する。いずれのケースでも、複製エージェント130は、プロダクションサーバ105での変更が、既存の有効なシャドーコピーを上書きすることなく格納媒体120に適用可能であるかどうかを判定する。
具体的に言えば、複製エージェント130が、プロダクションサーバ105からのファイル/データ変更(たとえば123、127)の合計サイズが、シャドーコピーに使用可能な使用可能未使用スペース(たとえば147)を超えないと識別した場合、複製エージェント130は、適宜これらの変更を単純に格納媒体120に適用することができる。他方で、保護されることになるデータの変更(たとえば123、127)のサイズが、計算されたシャドーコピーに使用可能なスペースを超える場合、複製エージェント130は、格納媒体120への変更の適用を少なくとも瞬間的に停止することができる。複製エージェント130は、バックアップ管理者(または適切なシステム構成要素)に指示するために、複製が停止したこと、およびシャドーコピーに割り振られた格納領域が完全に満杯であることを示す警告を、適切なインターフェースを介して発することもできる。
他のケースでは、複製エージェント130は、シャドーコピーに割り振られた格納領域が満杯ではないが、それにもかかわらず現在の変更を収容するためにはサイズが不十分であることを示すこともできる。代替として、複製エージェント130は、プロダクションサーバ105から識別された変更のレートを決定し、シャドーコピーに割り振られた使用可能スペースのサイズが不十分でないと見込まれることを示すエラーを発するように、構成することができる。複製エージェント130は、(たとえば、メインデータバックアップボリューム140内の割り振り部分を増加することによって、またはボリューム145の合計サイズを増加することによって)シャドーコピーを書き込むための使用可能スペースを増加するように、バックアップ管理者にプロンプトを出すこともできる。さらに複製エージェント130は、単にバックアップ管理者が、十分なサイズになるまで「先入れ先出し」順序で既存のシャドーコピーを削除することを推奨することもできる。たとえば一実施では、複製エージェント130は、どれだけのシャドーコピーを削除するかを推奨し、任意のこうした削除を実行した後に使用可能となる最終回復ポイントをバックアップ管理者に報告する。
適切であれば、その後複製エージェント130は、オリジナルスケジュールに従って複製サイクルを再始動または再開し、プロダクションサーバ105によって示された変更を適用することができる。複製サイクルが続行されるにつれて、複製エージェント130はシャドーコピー格納スペース内の使用可能未使用スペースの見積もりを続行することができる。たとえば、複製エージェント130が初期に保護をセットアップした場合、複製エージェント130は、使用および未使用スペースを識別し、この情報をボリューム特徴構成要素150内に格納する。こうしたケースでは、複製エージェント130は、シャドーコピー格納スペース(たとえば145)内の使用スペース(たとえば143)を0に設定し、バックアップ管理者によって以前に設定されたシャドーコピー格納スペース/ボリューム(またはメインデータバックアップボリューム140内の割り振り部分)145の上限値を、格納する可能性がある。複製の間、またはボリューム内の使用スペースを修正する任意の他の動作(たとえば妥当性検査およびエラー訂正)の間、複製エージェント130は、使用スペース量にブロック数を追加し続けることが可能であり、これは逆に言えば、以前に識別された未使用スペースからこれらの量を減じることになる。
したがって複製エージェント130は、書き込まれた内容によって、バックアップボリューム内にどれだけのスペースが残っている可能性があるかの見積もりを続けることができる。それにもかかわらず、複製エージェント130は、さらに残りの変更を適用する前に、この合計をさらに調整する必要がある可能性がある。複製エージェント130は、適宜(複製サイクルの前、またはサイクルの間)、使用スペース(たとえば143)から満了したシャドーコピーを削除し、適宜、使用スペース(たとえば143)からそれぞれの削除済みシャドーコピーのサイズを減じることができる。複製エージェント130は、割り振られたシャドーコピー格納スペース(または格納ボリューム、たとえば145)の上限への任意の修正を考慮することもできる。たとえば複製エージェント130は、バックアップ管理者から、シャドーコピーに割り振られた合計サイズの増加または減少に関する追加の入力を受け取ることができる。したがって適切であれば、複製エージェント130は、使用可能なシャドーコピー格納スペースに、任意の残りのファイルまたはファイルブロックを渡し続けることができる。
複製の開始および停止により、プロダクションサーバ105でログファイル113に書き込まれた内容と比較して、メインデータバックアップ(たとえば140)と任意のシャドーコピーバックアップ(たとえば145)との間に不整合のインスタンスが存在する可能性があることを、理解されよう。したがって、複製エージェント130は、ログファイル113内の任意のオーバフローに対処するために、整合性チェック(すなわち妥当性検査およびエラー訂正)を使用して同期化を実行(または推奨)するように、構成することもできる。こうした同期化については、以下でより詳細に説明する。
さらに図1の参照を続けると、複製エージェント130は、必ずしも変更の合計サイズを計算し、適切であればそれらの変更を適用するのではなく、どのスペースが使用可能であるかを継続して照会および決定し、受け取った更新の部分をシャドーコピー格納領域に適用するように構成することができる。前述の説明とは対照的に、この場合、プロダクションサーバ105から受け取るすべての変更のサイズを識別することではなく、シャドーコピーを書き込むための格納媒体120での未使用の使用可能スペースのサイズを識別することに、作業の大半を置くことができる。一般に、これを実行することが可能な本発明の実施に従ったいくつかのメカニズムが存在する。
一実施では、たとえば、複製サイクル中にプロダクションサーバ105からファイル変更を受け取る場合、複製エージェント130は、ファイルごとまたはブロックごとに、使用可能な未使用のシャドーコピー格納スペース(たとえば145)を照会し、その後、適切であれば、それぞれの次のファイル(またはブロック)を使用可能なシャドーコピー格納スペースに書き込むのみとすることができる。1つまたは複数のファイル(またはブロック)の次のセットに十分なスペースがない場合、複製エージェント130は警報を発することができる。しかしながら、バックアップボリュームに渡されている各ファイルまたはファイルブロックについて使用可能な未使用スペースを照会することは、リソース使用の観点から、一部のバックアップシステムにとって困難な可能性がある。したがって、複製エージェント130は、それにもかかわらず何が使用可能であるかのかなり控えめな見積もりを提供する、粒度の細かくない計算を使用するように構成することができる。
たとえば、複製エージェント130は、シャドーコピーを格納するための未使用スペースの「安全な」使用可能領域を計算し、その後、前述のようなファイルごとまたはブロックごとよりもかなり低い頻度で(たとえば、10,000ファイルまたはファイルブロックごとに)、この使用可能領域を照会するように、構成することができる。前述のように、安全な過小評価量を取っておくように試みることは、有効なシャドーコピーを保持するために役立つ可能性がある。加えて、こうした過小評価が役立つ可能性のある他の理由は、新しいブロックがそれらの削除済みブロックの一番上に書き込まれている場合、一部のボリュームシャドーコピーサービスが、削除済みブロックのデータ更新をシャドーコピー格納領域に適用するのみでよい可能性があることである。したがって、安全な過小評価制限を設定することは、使用可能スペースの以前の見積もりがその他の形で不十分であることがわかる場合に、既存のシャドーコピーの維持に役立つ可能性があり、すなわち、予想より多いデータ(すなわち上書きされたデータ)がシャドーコピー格納スペースに送信されることになる。
いずれにしても、複製エージェント130は、いずれかの方法で安全なシャドーコピー格納スペースを決定することができる。たとえば一実施では、複製エージェント130は、最初に、シャドーコピーを格納するために使用可能な未使用スペースのうちで現在使用可能な量を識別し、その後、所定の割合の未使用スペースを「安全」として設定することができる。たとえば一実施では、複製エージェント130は、未使用スペースの90%を安全として識別する。したがって、ファイルまたはファイルブロックの初期セット(たとえば、100,000のファイルまたはブロックのうちの最初の10,000ファイルまたはファイルブロック)を使用し、安全な未使用スペースの値の概算(すなわち、未使用スペースの初期決定のうちの90%)を知ることによって、複製エージェント130は、初期セットのファイルまたはファイルブロックのそれぞれを、使用可能な安全格納スペースに書き込むことができる。
ファイルまたはファイルブロックの第1のセットを書き込んだ後、複製エージェント130は、残りの使用可能な未使用スペースを(適切なボリュームシャドーコピーサービスを照会することなどによって)決定することが可能であり、未使用スペースの「90%」を安全として再度設定することができる。次のファイルまたはファイルブロックのセットがこのスペース内に収まる場合、複製エージェント130は、以前のようにこれらのブロックを未使用スペースに書き込むのみとすることができる。しかしながら、複製エージェント130が、未使用スペースに関する新しい値が次のファイルまたはファイルブロックのセットに対して決して適切でないと判定した場合、複製エージェント130はいくつかの追加ステップを実行することができる。
たとえば一実施では、複製エージェント130は、安全な使用可能未使用スペースに収めることが可能な次のセットのそれらのファイルまたはファイルブロックのみを、単に書き込むのみである。いくつかのケースでは、複製エージェント130は、ファイルのブロックではなくファイルのみを書き込むように構成することが可能であり、それによって、メインデータ格納(たとえばボリューム140)とシャドーコピー格納(たとえばボリューム145)との整合性を維持する。たとえば、プロダクションサーバ105で2ブロックのファイルが変更された場合、複製エージェント130は、両方のファイルブロックを格納媒体120に書き込むか、あるいはブロックのうちの1つのみが収まる場合は、このファイル内のどちらのブロックも書き込まないように、構成することができる。
その後、複製エージェント130が、いかなる単一ファイル(すなわち、ファイル内で変更または追加されたブロック)も、安全な使用可能シャドーコピー格納スペースに書き込むことができないと判定した場合、複製エージェント130は、安全な使用可能サイズを、警報を発する適切な値(たとえば「0」)に設定することが可能である。これによって、複製エージェント130に、所与の書き込み動作が首尾良く完了できないこと、および、依然として収容する必要のあるx量のファイルまたはファイルブロックが存在することを示す、警報を発することができる。その後複製エージェント130は、バックアップ管理者が、シャドーコピーに対する合計割り振り格納領域(たとえば、ボリューム145のサイズ、またはボリューム140内の割り振りのサイズ)を増加すること、または、変更の適用を再試行する前に既存のシャドーコピーを削除することを、推奨することができる。こうした調整が実行可能であり、実行されると想定すると、複製エージェント130は前述のように、ファイルおよび/またはファイルブロックのセットを安全な使用可能シャドーコピー格納スペースに書き込むこのプロセスを繰り返すことができる。
これらの線に沿って、複製エージェント130は、ボリュームフィルタドライバ(図示せず)を使用し、バックアップサーバ110で、すべてのバックアップボリューム(たとえば、格納媒体120の140、145など)を監視することができる。これは、複製エージェント130以外の他のどのプロセスも、バックアップボリューム(すなわちシャドーコピー格納スペース145)に書き込むことができないことを保証するため、あるいは、たとえ他のプロセス/アプリケーションがバックアップボリュームに書き込んでいる場合であっても、有効なシャドーコピーが保持されることを保証するために同じチェックが実行され、これによって様々なセキュリティの利点を提供することができることを少なくとも確認するために、役立つ可能性がある。一実施では、たとえばボリュームフィルタドライバは、使用可能なシャドーコピー格納スペース(たとえば147)の量で初期設定された変数を格納することができる。複製エージェント130がメインデータバックアップボリューム(たとえば140)にデータを書き込むごとに、ボリュームフィルタドライバは、この書き込みの結果として削除済みデータが対応するシャドーコピーボリューム(たとえば145)に移動されることになると、想定することができる。こうしたケースでは、ボリュームフィルタは、各書き込みが既存のデータへの変更であり、新しい書き込みのみでなく上書きされたデータのコピーもシャドーコピー格納スペースに渡される必要があるという、極端なシナリオを想定するように構成することができる。
したがって、ボリュームフィルタドライバは、識別されたメインデータバックアップへの書き込みごとに、未使用の使用可能シャドーコピー格納スペースから1ブロックを減分するように構成することができる。ボリュームフィルタドライバは、(以下でより詳細に説明するように)使用可能な未使用シャドーコピー格納スペースのその決定を、定期的に同期化することもできる。最終的には、使用可能なシャドーコピーデータスペースの割り当てが0まで減分された場合、複製エージェント130(このケースでは、ボリュームフィルタドライバからそのデータを受け取る)は、格納媒体120へのいかなる書き込みも実行できなくなるため、シャドーコピー格納スペース(たとえば145)への書き込みはない。次に複製エージェント130は、前述の様々な収容動作のうちの任意の1つまたは複数を要求する、バックアップ管理者への警告を発することができる。
本明細書で説明する様々なサイズの近似に鑑みて、バックアップ管理者は、プロダクションサーバ105ファイルシステム内のブロックサイズが、バックアップ格納媒体120内の同じブロックと比べて異なるという問題を、解決することが必要な場合がある。具体的に言えば、複製サイクルまたは妥当性検査/エラー訂正に先立って計算されるブロック変更は、必ずしも、使用可能なシャドーコピースペース上での同じサイズのブロック変更につながるとは限らない場合がある。もちろん、プロダクションサーバ105でのファイルシステムブロックのサイズが、格納媒体120で管理されるブロックサイズよりも大きいかまたはこれに等しい場合、格納媒体120で使用可能な未使用スペースが実質的に過小評価されることになるため、いかなる問題もない可能性がある。他方で、プロダクションサーバ105でのブロックサイズが格納媒体120でのブロックサイズよりも小さい場合、格納媒体120での使用可能な未使用スペースは実質的に過大評価されることになり、結果としてシャドーコピーの早尚な上書き/削除が生じる可能性がある。こうしたケースでは、複製エージェント130は、使用可能な未使用スペースの量を過小評価するためにいくつかの追加のステップを実行することができる。
たとえば、複製エージェント130は、プロダクションサーバ105のブロックサイズおよびバックアップ格納媒体120のブロックサイズを、同じになるように設定することができる。これには、複製エージェント130が以前に決定された変更のサイズを正規化することが含まれる場合があるため、プロダクションサーバ105と格納媒体120との間のブロックの合致は、実質的に1対1である。代替として、複製エージェント130は、プロダクションサーバ105での変更によって合計ブロックの決定を調整し、1つまたは複数のブロックを追加し、それによってプロダクションサーバ105から受け取った変更の数を過大評価することができる。この点に関して、複製エージェント130は、変更済みブロックが連続的であると想定し、したがって、格納媒体120に書き込む必要があるプロダクションサーバ105での計算された変更済みブロックに1ブロックを追加するように、構成することができる。
代替として、複製エージェント130は、プロダクションサーバ105での変更済みブロックそれぞれの論理オフセットをウォークスルー(walk through)するように構成することができる。こうしたケースでは、複製エージェントは、変更された(または新しい)連続ブロックの各セットに1ブロック値を追加し、変更された1つのスタンドアロンブロックを2ブロックとしてカウントすることもできる。他の代替実施では、複製エージェント130は、プロダクションサーバ105での変更済みファイルブロックの論理オフセットをウォークスルーし、これらの境界と、ボリュームシャドーコピーサービスによって使用されるような、格納媒体120で使用されるブロック境界とを比較することができる。バックアップサーバ110は、この比較を使用して、シャドーコピー格納スペース(たとえば145)に適用する必要のあるプロダクションサーバ105からの(格納媒体120で定義されたような)変更済みブロックの精密な数を決定することができる。
本明細書で説明される様々な近似に鑑みて、複製エージェント130は、使用可能なシャドーコピー格納スペースのその近似を、実際の使用可能なシャドーコピー格納スペースと定期的に同期化させることがさらに必要な場合がある。これは、経時的な複合近似エラーを防ぐために役立つ場合がある。一実施では、たとえば複製エージェント130は、プロダクションサーバ105での特定の変更を適用するために十分なスペースが存在することを識別した場合、ただしこうした変更を適用する前に、使用可能な未使用のシャドーコピー格納スペース(たとえば147)を決定することができる。その後、複製エージェント130は、これに「事前スペース」とラベル付けすることができる。プロダクションサーバ105からの変更を適用すると、次に複製エージェント130は、残りの使用可能シャドーコピー格納スペース(たとえば変更後の147)を照会(すなわち、ボリュームシャドーコピーサービスを照会)し、これに「事後スペース」とラベル付けすることができる。
中間でシャドーコピーが矯正されていないものと想定すると、シャドーコピー格納に適用される「実際の変更」は、「事前スペース」と「事後スペース」との間の相違によって表される。次に複製エージェント130は、修正済みブロックが、前述のように上書きされた削除済みブロックを含むという想定に基づき、「実際の変更」から修正済みブロック(新しいブロックとは対照的に)を減じることによって、削除済みブロックを計算することができる。これによって、「調整された削除済みブロック」の値を発生させることができる。次に複製エージェント130は、変更のサイズを計算する場合の前述のプロセスで、この「調整された削除済みブロック」を使用することができる。
したがって、前述のテキストは、バックアップ更新の有効なコピー(すなわちシャドーコピー)が、その意図された時間中存続できることを保証できる、いくつかの構成要素およびモジュールについて説明している。具体的に言えば、こうした実施は、バックアップ管理者などの技術者に過度に負担をかけることなく、現在のバックアップシステムを大幅に堅固な、信頼できる、効率的なバックアップシステムにするために適用することができる。本発明の実施については、意図された結果を達成するための一連の1つまたは複数の動作またはステップを含む方法の流れ図に関して説明することもできる。たとえば図2は、バックアップサーバで適用されることになるプロダクションサーバでの変更の合計サイズを識別する方法の流れ図を示し、図3は、変更の適用に先立って、バックアップサーバ内の使用可能な格納スペース識別するための方法の流れ図を示す。図2および図3については、図1に示された構成要素を参照しながら、以下で説明する。
具体的に言えば、図2は、プロダクションサーバでのファイル変更の決定を、1つまたは複数のバックアップボリューム内で使用可能なシャドーコピー格納スペースと互いに関連付けさせる、本発明の実施に従った方法が、1つまたは複数のファイル変更を識別する動作200を含むことを示す。動作200は、プロダクションサーバで1つまたは複数のデータ変更のセットを識別することを含む。たとえば複製エージェント130は、ログファイル113を介して、プロダクションサーバ105からデータ更新123および/または127を受け取る。
加えて、図2は、この方法が、セットに関する変更の合計サイズを決定するためのステップ210を含むことができることを示す。ステップ210は、シャドーコピー格納ボリュームに適用されることになるセット内の変更の合計サイズを、変更の合計サイズが過大評価されるように、決定することを含む。たとえば、ログファイル113を介して変更を受け取ると、複製エージェント130は、最終的にバックアップボリューム145に適用されることになる必要がある変更のサイズを近似する値を決定する。
一般に、ステップ210は任意の数または順序の対応する動作を含むことが可能であるが、ステップ210は、少なくとも1つの実施において、セットの各新しいファイルにおける各データ部分に標準値を割り当てる動作と、セット内の任意のファイルに添付された各データ部分に標準値を割り当てる動作と、上書きされた各ファイルに標準値を割り当てる動作とを含む。たとえば、複製エージェント130は、新しいブロック(たとえば新しいファイル、ファイル添付)、修正されたブロックを識別した場合、または上書きされたファイル(またはブロック)を識別した場合に、1バイトブロック値(または他の等価のデータサイズ)を割り当てる。ステップ210は、セットの任意のファイルにおいて変更された各メタデータ部分に標準値を割り当てる動作と、プロダクションサーバでの変更の合計サイズが近似されるように、各割り当てられた標準値を追加する動作とを、含むこともできる。たとえば複製エージェント130は、各メタデータ変更についてブロック(または取り消された変更について1ブロック)を追加し、その後、バックアップボリューム(たとえば145)に適用されることが必要となるブロックの合計サイズを近似するために、すべてのブロック割り当てを追加することができる。
加えて、図2は、この方法が、シャドーコピー格納スペースのサイズを識別する動作220を含むことができることを示す。動作220は、シャドーコピー格納ボリューム内の使用可能なシャドーコピー格納スペースのサイズを識別することを含む。たとえば、複製エージェント130は、一般化されたバックアップボリューム(たとえば140)内でどれだけのスペースが割り振り済みおよび未使用であるかの両方、または、シャドーコピー格納ボリューム(たとえば145)内でどれだけのスペースが未使用(たとえば147)であるか、を識別するために、ボリュームシャドーコピーサービスに照会する。
さらに図2は、この方法が、1つまたは複数のファイル変更のセットを適用するステップ230を含むことができることを示す。ステップ230は、有効期限に先立って有効なシャドーコピーがシャドーコピー格納ボリューム内に残るように、1つまたは複数のデータ変更のセットを、識別された使用可能なシャドーコピー格納スペースに適用することを含む。たとえば、プロダクションサーバ105からの変更の合計サイズを識別した場合、および適切なバックアップボリューム内でどれだけのスペースが未使用であるかを識別した場合、複製エージェント130は受け取った変更をバックアップボリュームに渡すことができる。
一般に、ステップ230は、任意の数または順序の対応する動作を含むことが可能であるが、ステップ230は、少なくとも1つの実施において、使用可能なシャドーコピースペース内の未使用スペースの量を識別する動作と、変更の合計サイズと識別された未使用スペースとを比較する動作とを含む。ステップ230は、未使用スペースの量が少なくとも変更の合計サイズと同じであることを識別する動作と、1つまたは複数のデータ変更のセットを識別された未使用スペースに自動的に適用する動作とを、含むこともできる。たとえば、複製エージェント130が、使用可能な未使用スペース(たとえば147)が少なくともプロダクションサーバ105から受け取った変更の合計サイズと同じであることを識別した場合、複製エージェント130は(たとえばボリュームシャドーコピーサービスを介して)、それらの受け取った変更をシャドーコピー格納スペースに渡すのみとすることができる。もちろん、本明細書で前述したように、使用可能なシャドーコピー格納スペースのサイズが不十分な場合、複製エージェント130は、満了したシャドーコピーを削除するか、またはさらなる動作のためにバックアップ管理者に警告を発することができる。
図3は、図2と同様の方法を示すが、単に更新を受け取り、シャドーコピー格納領域内でどれだけのスペースが使用可能であるかを決定するリソースを消費することに、より重点を置いている。具体的に言えば、図2は、1つまたは複数のバックアップボリュームにおける使用可能なシャドーコピー格納スペースを決定し、それによって、有効なシャドーコピーデータを削除することなく、プロダクションサーバから受け取ったデータ更新を適用するための方法が、プロダクションサーバからデータを受け取る動作300を含むことができることを示す。動作300は、プロダクションサーバから1つまたは複数のデータ変更を受け取ることを含む。たとえば、複製エージェント130は、ログファイル113を介してプロダクションサーバ105から(データ125に関する)1つまたは複数のデータ変更のセットを受け取る。
図2は、この方法が、受け取ったデータにブロック値を割り当てる動作310を含むことができることも示す。動作310は、初期セットにおける1つまたは複数のデータ変更のそれぞれに標準値を割り当てることを含む。たとえば、本明細書で前述したように、複製エージェント130は、どれだけの未使用スペースが使用可能であるかを継続的に決定するように、ある時点で単一のファイルまたは単一のブロックを対応するシャドーコピー格納スペース(たとえば145)内に渡すように構成することができる。したがって複製エージェントは、最初は、1つまたは複数のデータ更新のセット内にある初期ファイルを採用して、このファイルにどれだけのブロック値を割り当てるか(たとえば、添付について1ブロック、変更/修正済みの既存ブロックについて1ブロックなど)を決定する場合がある。
加えて図2は、この方法が、使用可能なシャドーコピー格納スペースを計算するステップ320を含むことができることを示す。ステップ320は、バックアップボリューム内の使用可能なシャドーコピー格納スペースの量が、バックアップボリューム内に格納された有効なシャドーコピーを保持するために過小評価されるように、この量を計算することを含む。たとえば、複製エージェント130は、複製エージェント130が(本明細書で理解されるような)「ファイル」をシャドーコピー格納スペースに渡し始めるごとに、どれだけのスペースが未使用であるかについて、ボリュームシャドーコピーサービスに定期的に照会することができる。すなわち複製エージェント130は、一般に、メインデータバックアップに直接データを渡し、ボリュームシャドーコピーサービス(図示せず)を使用して、シャドーコピーデータをシャドーコピー格納スペースに渡すことになるが、複製エージェント130は、使用可能な未使用スペースについてボリュームシャドーコピーサービスに照会することができる。複製エージェント130は、プロダクションサーバ105から受け取ったファイルのいくつかのセットごとに、使用可能な未使用スペースについてボリュームシャドーコピーサービスに照会し、その後、未使用スペースのある部分を安全とみなすのみとすることもできる。
ステップ320は、ステップを実施するために任意の数または順序の対応する動作を含むことができるが、ステップ320は、少なくとも一実施において、1つまたは複数のデータ変更のうちの第1のバイトブロックを識別する動作と、未使用の使用可能なシャドーコピー格納スペースの量をボリュームシャドーコピーサービスに要求する動作と、1つまたは複数のデータ変更のうちの第2のバイトブロックを識別する動作と、未使用の使用可能なシャドーコピー格納スペースの量をボリュームシャドーコピーサービスに再度要求する動作とを含む。代替として、ステップ320は、未使用の使用可能なシャドーコピー格納スペースの量を識別する動作と、識別された未使用スペースの削減された部分を安全として設定する動作と、第1の複数に関する変更の合計サイズを決定するために、セット内の第1の複数のデータ変更に対応する標準値を合計する動作とを、含むことができる。
図2は、この方法が、識別されたブロック値と計算された格納スペースとを比較する動作330を含むことができることをさらに示す。動作330は、1つまたは複数のデータ変更の初期セットの標準値が、バックアップボリューム内の使用可能なシャドーコピー格納スペースの計算された量よりも少ないことを識別することを含む。たとえば複製エージェント130は、初期ファイルまたはファイルのセットに関する変更の合計サイズ(たとえば、プロダクションサーバ105から受け取ったすべての変更のサブセット)が、使用可能な未使用スペースに関する瞬時照会結果より少ないか、または、シャドーコピー格納スペースの安全量に収まると以前にみなされた量より少ないかを、判定する。
さらに図2は、この方法が、受け取ったデータをバックアップボリュームに適用する動作340を含むことも示す。動作340は、有効期限に先立って有効なシャドーコピーがシャドーコピー格納ボリューム内に残るように、1つまたは複数のデータ変更の初期セットをバックアップボリュームに適用することを含む。たとえば、識別された未使用スペースまたは安全量の未使用スペース内に適切に収まる場合、複製エージェント130は、プロダクションサーバから受け取った初期ファイル(またはファイルのセット)を、バックアップボリューム内の未使用スペース(たとえば147)に渡すのみとすることができる。代替として、そのように実行することによって、既存であるが有効なシャドーコピーをバックアップボリュームから削除することになる場合、前述のように、複製エージェント130は警告を発するか、またはこれに対処するために他の自動処置を講じることができる。
したがって、本発明の実施は、シャドーコピーが尚早に削除される危険性なしに、それらの有効期間全体にわたって保持できることを保証するための、いくつかの構成要素、図式、および方法を提供する。具体的に言えば、本発明の実施は、様々な代替の観点(すなわち、変更の合計サイズ、シャドーコピー格納スペースの継続的監視、およびシャドーコピー格納スペースの有用な見積もり)からこれらの問題に対処できるようにする、様々なメカニズムを提供する。さらに本発明の実施は、2つのサーバ間でのデータサイズ測定の整合性を保証するため、および、様々な同期化プロセスを介して経時的に倍増する可能性のある近似エラーを緩和するための、いくつかのメカニズムを提供する。したがって、本発明の実施は、従来使用可能なメカニズムよりも、かなり効率的および信頼できるシャドーコピーバックアップメカニズムを提供する。
本発明の実施形態は、以下でより詳細に説明するような、様々なコンピュータハードウェアを含む特定用途向けまたは汎用のコンピュータを含むことができる。具体的に言えば、本発明の範囲内にある実施形態は、それらに格納されたコンピュータ実行可能命令またはデータ構造を搬送または有するための、コンピュータ読み取り可能媒体も含む。こうしたコンピュータ読み取り可能媒体は、汎用または特定用途向けのコンピュータによってアクセス可能な任意の使用可能媒体とすることができる。
例を挙げると、こうしたコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、コンピュータ実行可能命令またはデータ構造の形の所望のプログラムコード手段を搬送または格納するために使用可能であり、汎用または特定用途向けのコンピュータによってアクセス可能な、任意の他の媒体を含むが、これらに限定されることはない。情報が、ネットワークまたは他の通信接続(ハードワイヤード、無線、あるいはハードワイヤードまたは無線の組み合わせの、いずれか)を介して、コンピュータに転送または提供される場合、コンピュータは適切に、この接続をコンピュータ読み取り可能媒体とみなす。したがって任意のこうした接続は、厳密にコンピュータ読み取り可能媒体と呼ばれる。前述の組み合わせも、コンピュータ読み取り可能媒体の範囲に含まれるものとする。
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、特定用途向けコンピュータ、または特定用途向け処理デバイスに、ある種の機能または機能グループを実行させる、命令およびデータを含む。本主題について、構造的な機能および/または方法論的動作に特有の言語で説明してきたが、添付の特許請求の範囲で定義された主題が、必ずしも前述の特定の機能および動作に限定されるものではないことを理解されたい。むしろ、前述の特定の機能および動作は、特許請求の範囲を実施する例示的な形として開示されている。
本発明は、その趣旨または不可欠な特徴から逸脱することなく、他の特定の形で具体化することができる。前述の実施形態は、すべての点において単なる例示であり、限定的とみなされるべきではない。したがって本発明の範囲は、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の意味および等価の範囲内にあるすべての変更は、それらの範囲内に包含されるものとする。
本発明の実施に従った、複製エージェントがプロダクションサーバから更新を受け取り、この更新をバックアップボリュームに適用する、バックアップシステムにおけるプロダクションサーバおよびバックアップサーバを示す概略図である。 プロダクションサーバからの変更の合計サイズを識別することによって、プロダクションサーバからバックアップサーバへの変更を適用する方法における、一連の動作を示す流れ図である。 プロダクションサーバから受け取った変更を適用する前に、使用可能な未使用スペースの合計サイズを識別することによって、プロダクションサーバからバックアップサーバへの変更を適用する方法における、一連の動作を示す流れ図である。

Claims (16)

  1. バックアップサーバがデータバックアップおよび対応する更新を1つまたは複数のバックアップボリュームに適用するコンピュータシステムにおいて、プロダクションサーバでのデータ変更の決定を、前記1つまたは複数のバックアップボリューム内にある使用可能なシャドーコピー格納スペースと互いに関連付ける方法であって、前記バックアップサーバが、
    前記プロダクションサーバにおける1つまたは複数のデータ変更のセットを識別するステップと、
    前記セット内の前記1つまたは複数のデータ変更の合計サイズ正確に決定するか過大評価することによって、シャドーコピー格納ボリュームに適用されることになる前記セット内の変更の合計サイズを決定するステップと、
    前記シャドーコピー格納ボリューム内の使用可能なシャドーコピー格納スペースのサイズを識別するステップと、
    有効期限の前の有効なシャドーコピーが前記シャドーコピー格納ボリューム内に残るように、前記識別された使用可能なシャドーコピー格納スペースに前記1つまたは複数のデータ変更のセットを適用するステップと
    を備え、前記1つまたは複数のデータ変更のセットを適用するステップは、
    前記使用可能なシャドーコピー格納スペース内の未使用スペースの量を識別することと、
    前記変更の合計サイズと前記識別された未使用スペースの量とを比較することと、
    前記識別された未使用スペースの量が少なくとも前記変更の合計サイズと同じであるとき、前記識別された未使用スペースに前記1つまたは複数のデータ変更のセットを適用することと、
    前記識別された未使用スペースの量が前記変更の合計サイズを収容するのに不十分であるとき、有効期限が満了した1つまたは複数のシャドーコピーを削除して前記1つまたは複数のデータ変更のセットを前記識別された未使用スペースに適用するか、さらなる動作のための警告を発することと
    を含むことを特徴とする方法。
  2. 前記シャドーコピー格納ボリューム内の使用可能なシャドーコピー格納スペースのサイズを識別するステップは、前記使用可能なシャドーコピー格納スペースのサイズをボリュームシャドーコピーサービスに要求するステップを備えることを特徴とする請求項1に記載の方法。
  3. シャドーコピー格納ボリュームに適用されることになる前記セット内の変更の合計サイズを決定するステップは、
    前記セットの各新しいファイルにおける各データ部分に、および、前記セット内の任意のファイルに添付された各データ部分に、標準値を割り当てることと、
    上書きされた各ファイルに前記標準値を割り当てることと、
    前記セットの任意のファイルにおいて変更された各メタデータ部分に、前記標準値を割り当てることと、
    前記プロダクションサーバでの前記変更の合計サイズが正確に決定されるか過大評価されるように、各割り当てられた標準値を追加すること
    を備えることを特徴とする請求項1に記載の方法。
  4. 前記データ部分はバイトブロックであり、前記標準値前記1つまたは複数のデータ変更のセット内変更された各バイトブロックに割り当てられることを特徴とする請求項3に記載の方法。
  5. 記警告は、
    (i)削除可能な1つまたは複数のシャドーコピーの推奨と、
    (ii)前記使用可能なシャドーコピー格納スペースの前記サイズを増加させる推奨と
    のうちの少なくとも1つを備えることを特徴とする請求項に記載の方法。
  6. 前記バックアップサーバは、前記バックアップサーバ前記1つまたは複数のバックアップボリュームを監視するように構成されたボリュームフィルタドライバをさらに備え、前記ボリュームフィルタドライバは、前記1つまたは複数のバックアップボリュームのうちのいずれかへの書き込が許される唯一のプロセスであることを特徴とする請求項1に記載の方法。
  7. 前記ボリュームフィルタドライバが、
    前記使用可能なシャドーコピー格納スペースの識別された量に第1の値を割り当てるステップと、
    前記1つまたは複数のデータ変更のそれぞれが前のデータの上書きを含むことを想定することによって、少なくとも部分的に前記セット内の前記変更の合計サイズを決定するステップと、
    前記第1の値から前記変更の合計サイズを減分するステップと、
    前記第1の値ゼロに減分された場合、前記シャドーコピー格納ボリュームへの書き込み停止するステップとをさらに実行するように構成されたことを特徴とする請求項に記載の方法。
  8. バックアップサーバがデータバックアップおよび対応する更新を1つまたは複数のバックアップボリュームに適用するコンピュータシステムにおいて、前記1つまたは複数のバックアップボリュームにおける使用可能なシャドーコピー格納スペースを決定し、有効なシャドーコピーデータを削除することなく、プロダクションサーバから受け取ったデータ更新を適用するための方法であって、前記バックアップサーバが、
    前記プロダクションサーバから1つまたは複数のデータ変更のセットを受け取るステップと、
    前記セット内の前記1つまたは複数のデータ変更のそれぞれに標準値を割り当てるステップと、
    バックアップボリューム内の使用可能なシャドーコピー格納スペースの量を計算するステップであって、前記バックアップボリューム内に格納された有効期限前の有効なシャドーコピー保持されるように、前記使用可能なシャドーコピー格納スペースの量を過小評価して計算するステップと、
    前記1つまたは複数のデータ変更のそれぞれに対して割り当てられた標準値を合計して前記セットの標準値を決定し、前記バックアップボリューム内の前記使用可能なシャドーコピー格納スペースの前記計算された量と比較するステップと、
    前記セットの標準値が前記計算された量よりも小さいとき、前記1つまたは複数のデータ変更のそれぞれを前記バックアップボリュームに適用するステップと
    を備えることを特徴とする方法。
  9. 前記プロダクションサーバによって報告されたバイトブロックサイズを、ボリュームシャドーコピーサービスによって報告された少なくとも近似のバイトブロックサイズに調整するステップをさらに備えることを特徴とする請求項に記載の方法。
  10. 前記1つまたは複数のデータ変更のそれぞれは、追加、変更、または上書きされたバイトブロックに対応することを特徴とする請求項に記載の方法。
  11. バックアップボリューム内の使用可能なシャドーコピー格納スペースの量を計算するステップは、
    前記1つまたは複数のデータ変更のうちの第1のバイトブロックを識別するステップと、
    前記使用可能なシャドーコピー格納スペースの未使用スペースの量をボリュームシャドーコピーサービスに要求するステップと、
    前記1つまたは複数のデータ変更のうちの第2のバイトブロックを識別するステップと、
    前記使用可能なシャドーコピー格納スペースの未使用スペースの量を前記ボリュームシャドーコピーサービスに再度要求するステップと
    を備えることを特徴とする請求項に記載の方法。
  12. バックアップボリューム内の使用可能なシャドーコピー格納スペースの量を計算するステップは、
    前記使用可能なシャドーコピー格納スペースの未使用スペースの量を識別するステップと、
    前記識別された未使用スペースの削減された部分を安全な未使用スペースの量として設定するステップと、
    前記安全な未使用スペースの量として設定された量、異なる量に修正する入力を受け取るステップと
    を備えることを特徴とする請求項に記載の方法。
  13. 記セット内の第1の複数のデータ変更に対応する前記標準値を合計して、第1の複数のデータ変更の合計サイズを決定するステップと、
    前記第1の複数のデータ変更の合計サイズと、前記設定された安全な未使用スペースの量とを比較するステップと
    をさらに備えることを特徴とする請求項12に記載の方法。
  14. 前記設定された安全な未使用スペースの量から、前記第1の複数のデータ変更の量だけ差し引くステップと、
    前記セット内の第2の複数のデータ変更に対応する前記標準値を合計して、第2の複数のデータ変更の合計サイズを決定するステップと、
    前記第2の複数のデータ変更の合計サイズと、前記差し引かれた安全な未使用スペースの量とを比較するステップと
    をさらに備えることを特徴とする請求項12に記載の方法。
  15. 前記使用可能なシャドーコピー格納スペース内の任意の近似エラーに関して調整するステップをさらに備え、該ステップは、
    1つまたは複数のデータ変更を適用した後前記使用可能なシャドーコピー格納スペースの相違を計算して、前記バックアップボリューム内の実際の変更を決定するステップと、
    書きされたブロック数だけ前記実際の変更から上書きされたブロック数を削減して、削除されたブロックの実際の値を決定するステップと
    を備えることを特徴とする請求項12に記載の方法。
  16. バックアップサーバがデータバックアップおよび対応する更新を1つまたは複数のバックアップボリュームに適用するコンピュータシステムにおいて、プロダクションサーバでのデータ変更の決定を、前記1つまたは複数のバックアップボリューム内にある使用可能なシャドーコピー格納スペースと互いに関連付けるための方法をバックアップサーバに実行させるプログラムであって、前記方法は、
    前記プロダクションサーバにおける1つまたは複数のデータ変更のセットを識別するステップと、
    前記セット内の前記1つまたは複数のデータ変更の合計サイズ正確に決定するかまたは過大評価することによって、シャドーコピー格納ボリュームに適用されることになる前記セット内の変更の合計サイズを決定するステップと、
    前記シャドーコピー格納ボリューム内の使用可能なシャドーコピー格納スペースのサイズを識別するステップと、
    有効期限の前の有効なシャドーコピーが前記シャドーコピー格納ボリューム内に残るように、前記識別された使用可能なシャドーコピー格納スペースに前記1つまたは複数のデータ変更のセットを適用するためのステップと
    を備え、前記1つまたは複数のデータ変更のセットを適用するステップは、
    前記使用可能なシャドーコピー格納スペース内の未使用スペースの量を識別することと、
    前記変更の合計サイズと前記識別された未使用スペースの量とを比較することと、
    前記識別された未使用スペースの量が少なくとも前記変更の合計サイズと同じであるとき、前記識別された未使用スペースに前記1つまたは複数のデータ変更のセットを適用することと、
    前記識別された未使用スペースの量が前記変更の合計サイズを収容するのに不十分であるとき、有効期限が満了した1つまたは複数のシャドーコピーを削除して前記1つまたは複数のデータ変更のセットを前記識別された未使用スペースに適用するか、さらなる動作のための警告を発することと
    を含むことを特徴とするプログラム。
JP2009512709A 2006-05-29 2007-04-26 複製時のシャドーコピーデータの保持 Active JP5129245B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN1285DE2006 2006-05-29
IN1285/DEL/2006 2006-05-29
US11/458,552 US7461223B2 (en) 2006-05-29 2006-07-19 Retaining shadow copy data during replication
US11/458,552 2006-07-19
PCT/IB2007/002986 WO2008020310A2 (en) 2006-05-29 2007-04-26 Retaining shadow copy data during replication

Publications (2)

Publication Number Publication Date
JP2009539162A JP2009539162A (ja) 2009-11-12
JP5129245B2 true JP5129245B2 (ja) 2013-01-30

Family

ID=38750852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009512709A Active JP5129245B2 (ja) 2006-05-29 2007-04-26 複製時のシャドーコピーデータの保持

Country Status (8)

Country Link
US (1) US7461223B2 (ja)
EP (2) EP2299361B1 (ja)
JP (1) JP5129245B2 (ja)
KR (1) KR101491861B1 (ja)
CN (1) CN101460931B (ja)
AT (1) ATE503224T1 (ja)
DE (1) DE602007013397D1 (ja)
WO (1) WO2008020310A2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913043B2 (en) * 2004-05-14 2011-03-22 Bakbone Software, Inc. Method for backup storage device selection
KR101342914B1 (ko) * 2006-11-21 2013-12-19 삼성전자주식회사 파일 복원기능을 구비한 전자장치 및 그 방법
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法
US20090106155A1 (en) * 2007-10-19 2009-04-23 Castellanos Marcos System and Method for Archival of Electronic and Tangible Records
US8244868B2 (en) * 2008-03-24 2012-08-14 International Business Machines Corporation Thin-provisioning adviser for storage devices
US8412905B2 (en) * 2009-01-01 2013-04-02 Sandisk Il Ltd. Storage system having secondary data store to mirror data
US8812436B2 (en) * 2010-05-04 2014-08-19 Symantec Corporation Schedule based data lifecycle management
KR101906623B1 (ko) 2011-03-04 2018-10-10 가부시키가이샤 도우사 고가쿠 겐큐쇼 시알산 함유 당쇄의 제조방법
US8966382B1 (en) * 2012-09-27 2015-02-24 Emc Corporation Managing production and replica copies dynamically
US9529613B2 (en) * 2012-12-12 2016-12-27 Vmware, Inc. Methods and apparatus to reclaim resources in virtual computing environments
US9372638B1 (en) * 2013-02-08 2016-06-21 Veritas Technologies Llc Systems and methods for backing up virtual machine data
CN104216793B (zh) 2013-05-31 2017-10-17 国际商业机器公司 应用程序备份、恢复的方法及设备
US10216631B1 (en) * 2013-09-05 2019-02-26 United Services Automobile Association (Usaa) Revising cache expiration
US9495238B2 (en) 2013-12-13 2016-11-15 International Business Machines Corporation Fractional reserve high availability using cloud command interception
US9246840B2 (en) 2013-12-13 2016-01-26 International Business Machines Corporation Dynamically move heterogeneous cloud resources based on workload analysis
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
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
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
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
US9836357B1 (en) 2014-04-25 2017-12-05 Veritas Technologies Llc Systems and methods for backing up heterogeneous virtual environments
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
US9563638B2 (en) 2015-01-30 2017-02-07 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US9413824B1 (en) 2015-01-30 2016-08-09 Dropbox, Inc. Storage constrained synchronization of content items based on predicted user access to shared content items using retention scoring
US9185164B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Idle state triggered constrained synchronization of shared content items
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US10248705B2 (en) 2015-01-30 2019-04-02 Dropbox, Inc. Storage constrained synchronization of shared content items
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
US10140055B2 (en) * 2015-12-21 2018-11-27 Memory Technologies Llc Ensuring that memory device actions are valid using reference values
US10719532B2 (en) 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
US10049145B2 (en) 2016-04-25 2018-08-14 Dropbox, Inc. Storage constrained synchronization engine
AU2017256162B2 (en) * 2016-04-25 2018-11-08 Dropbox, Inc. Storage constrained synchronization engine
US10515226B2 (en) * 2016-11-21 2019-12-24 Dell Products, L.P. Systems and methods for protected local backup
CN108664354A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 一种数据镜像方法及存储系统
US10521147B2 (en) 2017-11-30 2019-12-31 International Business Machines Corporation Device reservation state synchronization in data mirroring
US10613946B2 (en) 2017-11-30 2020-04-07 International Business Machines Corporation Device reservation management for overcoming communication path disruptions
US10282258B1 (en) 2017-11-30 2019-05-07 International Business Machines Corporation Device reservation state preservation in data mirroring
KR102547126B1 (ko) * 2018-04-30 2023-06-23 아마존 테크놀로지스, 인크. 블록 스토리지 시스템들을 위한 분산된 복제본
KR20220117569A (ko) * 2021-02-17 2022-08-24 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US11775558B1 (en) * 2022-04-11 2023-10-03 Fmr Llc Systems and methods for automatic management of database data replication processes
US11675812B1 (en) 2022-09-29 2023-06-13 Fmr Llc Synchronization of metadata between databases in a cloud computing environment
US12353430B1 (en) 2024-07-15 2025-07-08 Fmr Llc Provisioning a database management platform in a cloud computing environment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
JPH0827754B2 (ja) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
CA2166420C (en) * 1993-07-01 2006-03-28 James R. Woodhill System and method for distributed storage management on networked computer systems
US5799141A (en) * 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US6145049A (en) * 1997-12-29 2000-11-07 Stmicroelectronics, Inc. Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
US6473775B1 (en) 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
US6934822B2 (en) 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
WO2004047078A2 (en) 2002-11-20 2004-06-03 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US7730033B2 (en) 2003-06-13 2010-06-01 Microsoft Corporation Mechanism for exposing shadow copies in a networked environment
US7567991B2 (en) 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US6959313B2 (en) 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
JP4453323B2 (ja) * 2003-10-02 2010-04-21 株式会社日立製作所 複製データの管理方法、装置、及びプログラム
US7203708B2 (en) * 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US9075851B2 (en) 2003-12-09 2015-07-07 Emc Corporation Method and apparatus for data retention in a storage system
JP4225206B2 (ja) * 2004-01-23 2009-02-18 日本電気株式会社 記憶装置の複製データ格納システムと複製データ格納プログラム
US7502961B2 (en) * 2004-09-09 2009-03-10 Microsoft Corporation Method, system, and apparatus for providing alert synthesis in a data protection system
US7756833B2 (en) * 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
US7483926B2 (en) * 2005-04-01 2009-01-27 Microsoft Corporation Production server to data protection server mapping

Also Published As

Publication number Publication date
CN101460931A (zh) 2009-06-17
EP2033098B1 (en) 2011-03-23
EP2299361B1 (en) 2012-05-23
WO2008020310A3 (en) 2008-07-24
KR20090020583A (ko) 2009-02-26
EP2033098A2 (en) 2009-03-11
US7461223B2 (en) 2008-12-02
JP2009539162A (ja) 2009-11-12
US20070277010A1 (en) 2007-11-29
CN101460931B (zh) 2012-06-06
WO2008020310A2 (en) 2008-02-21
ATE503224T1 (de) 2011-04-15
KR101491861B1 (ko) 2015-02-23
EP2033098A4 (en) 2010-01-13
EP2299361A1 (en) 2011-03-23
DE602007013397D1 (de) 2011-05-05

Similar Documents

Publication Publication Date Title
JP5129245B2 (ja) 複製時のシャドーコピーデータの保持
US7953946B2 (en) Controlled anticipation in creating a shadow copy
US11507305B2 (en) Concurrently performing normal system operations and garbage collection
US9519653B2 (en) Techniques for efficiently enforcing resource quotas in a multi-tenant cloud storage system
US11409652B2 (en) Estimating worker nodes needed for performing garbage collection operations
US8490152B2 (en) Entitlement lifecycle management in a resource management system
US9959280B1 (en) Garbage collection of data tiered to cloud storage
US7117322B2 (en) Method, system, and program for retention management and protection of stored objects
US8768966B2 (en) Method for managing simultaneous modification of database objects during development
JP2019220195A (ja) データ記憶サービスを実装するシステム及び方法
US11392490B2 (en) Marking impacted similarity groups in garbage collection operations in deduplicated storage systems
US8321644B2 (en) Backing up filesystems to a storage device
EP3951607B1 (en) Data reading method, data writing method, and server
CN103605585A (zh) 一种基于数据发现的智能备份方法
JP2007140746A (ja) 計算機システム及び管理計算機並びにリカバリ管理方法
US20070136395A1 (en) Protecting storage volumes with mock replication
CN104067219A (zh) 确定用于作业复制在存储装置上存储的对象的时间表
CN108932432A (zh) 数据保护方法和主机服务器系统
US9934106B1 (en) Handling backups when target storage is unavailable
CN107341072A (zh) 一种数据备份方法及装置
US11467756B1 (en) System and method for service device initiated backup generation
US11522914B1 (en) Peer-based policy definitions
US11899651B2 (en) Automatic reclamation of storage space for database systems
US20230021672A1 (en) Database rapid restore after media failure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5129245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250