JP4712873B2 - クライアントユーティリティを使用する単一クライアントスナップショットの作成 - Google Patents

クライアントユーティリティを使用する単一クライアントスナップショットの作成 Download PDF

Info

Publication number
JP4712873B2
JP4712873B2 JP2008519541A JP2008519541A JP4712873B2 JP 4712873 B2 JP4712873 B2 JP 4712873B2 JP 2008519541 A JP2008519541 A JP 2008519541A JP 2008519541 A JP2008519541 A JP 2008519541A JP 4712873 B2 JP4712873 B2 JP 4712873B2
Authority
JP
Japan
Prior art keywords
backup
client
snapshot
data
group
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
JP2008519541A
Other languages
English (en)
Other versions
JP2008545198A (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.)
EMC Corp
Original Assignee
EMC 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
Priority claimed from US11/169,418 external-priority patent/US7716185B2/en
Priority claimed from US11/170,015 external-priority patent/US7523278B2/en
Priority claimed from US11/169,853 external-priority patent/US7549028B2/en
Priority claimed from US11/169,419 external-priority patent/US8024292B2/en
Application filed by EMC Corp filed Critical EMC Corp
Publication of JP2008545198A publication Critical patent/JP2008545198A/ja
Application granted granted Critical
Publication of JP4712873B2 publication Critical patent/JP4712873B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

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

Description

本発明は、データをバックアップするシステム及び方法に関する。詳細には、本発明の実施形態は、データを、単一クライアントスナップショットを使用してバックアップし、そして復元するシステム及び方法に関する。
多くの個人及びビジネス交流がデータ駆動型である社会では、データは、システム障害、ウイルス、停電などのようなイベントに起因して容易に紛失したり、壊れたりする。データのバックアップは、コンピュータネットワークの重要な機能になっている。なぜならば、重大なビジネス機能及びパーソナル機能を実行する際のコンピュータ及びネットワークに対する依存度が益々高くなって行くからである。容易に、正確に、かつ高い信頼度でデータにアクセスすることができるという環境は、コンピュータ及び/又はネットワークにアクセスしようとする誰もが期待するところである。紛失データをバックアップする、または復元するために、コンピュータまたはネットワークの電源を「切断する」必要がある場合、このような切断時間はパーソナルプロセス及びビジネスプロセスに甚大な影響を及ぼす。データへの途切れないアクセスに対する要求は、データ及びサービスの提供に対する要求を満たすことができるソフトウェア及びハードウェアに対する要求に対応する。
データのバックアップ及び復元は通常、データをバックアップし、かつデータをバックアップコピーから復元するソフトウェアを使用することにより行なわれる。データの量が増え続けることに伴ない、データのバックアップ及び復元は一層複雑になる。ギガバイトレベルのデータは現時点では、1つのディレクトリから別のディレクトリに迅速に転送することができず、バックアップ目的のために或るディレクトリのデータをオフラインで取得する処理は魅力に欠ける選択肢である。
ファイルシステムをバックアップする処理の他に、アプリケーション及びサービスのような他のタイプのデータをバックアップする必要が増している。しかしながら、アプリケーション及びサービスは多くの場合、バックアップが始まる場合にファイルを開いている。開かれたファイルは普通、従来のシステムを使用して効果的にバックアップするということができず、かつ多くの場合、バックアップ処理の間にスキップされる。その結果、更に別のアプリケーションが、開かれたファイルのバックアップを管理し易くするために、かつバックアップの間にスキップされたファイルのバックアップログを管理するために必要となる場合が多い。
オペレーティングシステムは、データをバックアップするソフトウェア及びシステムに別の困難な課題を提示する。オペレーティングシステムが複雑であることによって多くの場合、オペレーティングシステムを論理ユニットにバックアップしてシステムまたはクライアントの状態を維持する必要がある。オペレーティングシステムを部分的にバックアップすることによって、オペレーティングシステムが部分的バックアップまたは不完全バックアップにより復元される場合に、矛盾またはシステム障害が発生する。別の表現をすると、ファイルシステム自体をバックアップすることによって、システムの状態を効果的にバックアップするということができず、その結果、システムが復旧するとエラーが発生する。オペレーティングシステムは多くの場合、システムの状態を維持しながらバックアップする必要のあるデータのデータベース、または他のディレクトリを使用する形で使用される。更に、オペレーティングシステムだけでなく、アプリケーション及びサービスは多くの場合、複数のコンピュータシステムに渡って分散配置され、これにより、データの効果的なバックアップ及び復元が複雑になる。
途切れのないサービスを増大するストレージ要求を満たしながら提供したいという要望によって、データを迅速に、かつアプリケーション及びサービスの中断を最小限に抑えつつバックアップするシステム及び方法に対する要求が生まれている。
本発明の実施形態は、データを選択的にバックアップし、そして/または復元するシステム及び方法に関する。本明細書で使用するように、「データ」という用語は、これらには制限されないが、ディレクトリ(例えば、ボリューム、ファイルシステムなど)、ユーザデータ、システムデータ、アプリケーション、サービス、オペレーティングシステムなどを指し、これらの要素はクライアントの一つ以上のストレージデバイスに保存される。オペレーティングシステムのバックアップまたは復元では、ここに定義される、またはこの技術分野の当業者によって理解されるデータのいずれかをバックアップする、または復元する。データは、必ずしも特定のストレージデバイスに対応する訳ではない論理ディレクトリに体系化される。データは多くのストレージデバイスに格納されるが、データを論理ディレクトリ及びサブディレクトリに体系化して、ユーザが容易に情報の場所を特定することができるようにする。一つの例として、Windows(登録商標)オペレーティングシステムでは、メインディレクトリはボリュームを表わす。ボリュームは、例えばクライアント側の通常のストレージボリュームであるCドライブ及びDドライブを含むが、CドライブまたはDドライブ自体は、スタックのハードディスクを含んでもよい。ユーザはどの特定のディスクから情報を取得すべきかについて認識する必要はない。従って、ディレクトリを設けてユーザがクライアント側のデータを探索し易くする。クライアントがネットワークを通してアクセスすることができる他のディレクトリを設けてもよい。更に、以下に更に説明するように、ディレクトリ及びサブディレクトリは複数のバックアップグループに体系化され、これらのバックアップグループを選択して、バックアップグループに対応するデータのバックアップまたは復元を実行することができる。クライアントの特定の機能に固有の更に別のディレクトリを設けることができる。例えば、Windows(登録商標)オペレーティングシステムでは、クライアントのオペレーティングシステム状態の維持に関する所定のデータは、オペレーティングシステムステートボリューム(ここでは、VSSボリュームと表記する)に体系化される。更に、VSSボリュームは他のアプリケーション及び/又はサービスを含み、これらのアプリケーション及び/又はサービスを使用してクライアント側のデータを復元することができる。VSSボリュームに関しては、一つよりも多くのストレージデバイスを導入することができ、そしてVSSボリュームのデータは、Cドライブ、Dドライブ、及び/又は他のドライブのようなクライアントコンピュータの異なるストレージデバイスに格納することができる。従って、VSSボリュームは、データの場所を特定するための単なる論理コンポーネントであるが、ストレージデバイスの実際の集合を表わす訳ではない。しかしながら、1つの実施形態では、VSSボリュームに関するデータの全ては、クライアント側の複数のストレージデバイスに分散されるのではなく、単一の個別のストレージデバイスに配置される。Windows(登録商標)オペレーティングシステムをここに例示として使用して本発明について説明する。しかしながら、クライアントをバックアップし、そして復元するシステム及び方法は他のオペレーティングシステムに適用することもできることを理解されたい。例えば、他のオペレーティングシステムでは通常、オペレーティングシステム状態の幾つかの局面または全ての局面をバックアップすることが望ましい。更に、他のオペレーティングシステムはディレクトリまたはファイルシステムを利用して、ユーザがクライアント側に格納されるデータを探索し易くする。従って、「ディレクトリ」という用語を「ボリューム」または「ファイルシステム」という用語と同じ意味に使用して、クライアント側のデータを論理的に体系化する全ての手段を指す。
本発明のシステム及び方法は単一スナップショットを利用して、或る時点でのクライアントデータのコピーを単一の時点において可能にする。スナップショットは原始データの、または一つ以上のボリュームのコンテンツの読み出し限定の或る時点の複製または表現であるので、実際のコピーは別のローカルストレージデバイスまたはリモートストレージデバイスで行なわれる。単一スナップショットによって、クライアントにおける複数のボリューム及び/又はサブディレクトリにあるデータの或る部分、または全ての部分を単一の時点で同期バックアップされるので、ユーザは、バックアップデータを復元する、またはバックアップデータにアクセスするときに、クライアントのバックアップデータの全てが特定の時点で同期することを確認することができる。ローカルストレージデバイスまたはリモートストレージデバイスでの或る時点のコピーは、既に開いているファイルの有用なバックアップを含み、かつオペレーティングシステム状態のバックアップも可能にする。これにより、オペレーティングシステムを論理ユニットとして、システムのオペレーティングシステム状態を変化させることなく復旧される。本発明の実施形態によって更に、クライアントまたはシステムのコンポーネントを選択的にバックアップし、そして/または復元することができる。
通常、ユーザはバックアップ対象のクライアントまたはシステムのボリュームに関連するバックアップグループの全てを選択するように選択を行なう。この場合、単一スナップショットは、単一の時点におけるクライアントまたはコンピュータのボリュームのデータの全ての表現を捕捉するので、例えばオペレーティングシステム状態を単一の時点の状態とも一致させることができる。しかしながら、バックアップグループの全てに満たないバックアップグループは、クライアントのデータの全てに満たないデータをバックアップする必要があると指定するユーザによって選択されてもよい。これは、クライアントデータシステム全体のバックアップを実行することなく、変更が或るバックアップグループにのみ行なわれたことをユーザが認識する場合に有利である。ユーザは、バックアップ/復元アプリケーションと通信するユーザインターフェースにアクセスすることにより、一つ以上のバックアップグループを選択することができる。バックアップグループは、バックアップを必要とするアイテムを特定する情報を含む。バックアップグループに特定されるアイテムは複数のボリュームに分散される可能性があるので、本発明の実施形態によって確実に、該当するボリュームを単一スナップショットに追加し、そして該当するデータを正しくバックアップするが、これについては以下に更に詳細に説明する。
バックアップを実行する場合、バックアップされることになるデータのストレージを処理している、または制御しているシステムは、クライアントにリクエストして、一時的に処理をフリーズさせる、または中断させる。処理が中断している間、データの単一スナップショットが作成される。単一スナップショットが作成された後、バックアップを単一スナップショットに基づいて実行しながら、アプリケーション及び/又はサービスに指示して処理を再開させる。処理を中断することによって開いているファイルを把握し、そして単一スナップショットに含める。従って、開いているファイルはバックアップにおいてスキップされることはない。また、バックアップされているサービスまたはアプリケーションには単一スナップショットを作成する前に通知が行なわれ、そしてバックアップのために中断し、そして準備するための時間が与えられる。従って、バックアップ/復元アプリケーションによって確実に、トランザクションが一時中断され、かつバックアップ対象のデータが矛盾の無い状態になる。
本発明に関する上に記載した特徴、及び他の特徴を更に明らかにするために、本発明についての更に詳細な説明を、添付の図に示される本発明の特定の実施形態を参照しながら行なうこととする。これらの図は本発明の単なる通常の実施形態を表わしているので、本発明の技術範囲を制限するものとして捉えられるべきではない。本発明は、更に別の細部及び詳細について添付の図を使用して記述され、そして説明される。
1.データをバックアップするための環境例の概要
図1は、ネットワークデータのスナップショットを作成し、そして本発明への使用に適合させることができるネットワークデータをバックアップし/復元するシステム例を示している。図1のシステムを使用して、データを本発明に従ってバックアップするが、本発明の実施形態は、バックアップ対象のデータを有する他のネットワークにおいても実施される。図1はサーバ102を示し、このサーバは、クライアント104,106,及び108によって表わされるクライアント(群)との関係を有する。各クライアント104,106,及び108はデータをストレージボリュームに格納し、このストレージボリュームはそれぞれのクライアント自体に、そして/またはそれぞれのクライアントから離れた場所に設けられる。ストレージボリュームはクライアントの一つ以上のボリュームまたはドライブだけでなく、アプリケーション及びサービスを表わす。クライアント108は、例えばデータ(アプリケーション、サービス、及び/又はボリュームを含む)を含むストレージ109を有する。また、サービスは或るタイプのアプリケーションを表わすので、ここではアプリケーションと表記してもよい。
各クライアント104,106,及び108はバックアップ対象のデータを有するシステムを表わす。各クライアントは比較的に簡単なものでも(例えば、デスクトップコンピュータ)、または比較的複雑なものでも(例えば、大規模データベースサーバまたはサーバクラスタ内の一つのサーバ)よい。クライアントは更に、ネットワーク上の或るノード、またはストレージエリアネットワーク(SAN)上の或るストレージデバイスであってもよい。各クライアント104,106,及び108は更に、サーバ102とは異なるオペレーティングシステムまたはプラットフォームで動作してもよい。バックアップ処理の環境では、クライアントはサーバ102による制御の下で動作する。
本明細書において使用するように、「ユーザ」という用語は、サーバ102を操作する人(例えば、アドミニストレータ)を指してもよい。別の構成として、ユーザはクライアント104,106,及び/又は108を使用する人を指してもよい。両方のタイプのユーザはバックアップまたは復元を要求するリクエストを開始するが、サーバ102は、クライアント104,106,または108が利用することができない更に別の機能を有してもよいことを理解されたい。ユーザはスケジュールを立て、このスケジュールは、サーバ102がバックアップ処理をクライアント104,106,及び/又は108のデータに対して自動的に実行する時刻を決定する。しかしながら、クライアント側のユーザがアドホックバックアップ処理及び復元処理を開始してもよい。図1の例では、サーバ102はバックアップストレージ110にアクセスし、このバックアップストレージ110には、クライアントのデータの一つ以上のコピーが保存される。バックアップストレージ110はサーバ102の中に配置されても、サーバ102とは異なる別体として設けられてもよい。データ114は、サーバ102によってバックアップストレージ110でバックアップされているデータを表わす。
サーバ102は通常、サーバから開始する全てのバックアップ処理またはプロセスを制御し、そして指示する。クライアントはアドホックバックアップ処理及び復元処理を制御する。データは、1つの実施形態では、バックアップグループを使用してバックアップされる。しかしながら、バックアップグループを用いる場合でも、クライアントシステムの単一スナップショットを使用してバックアップグループのバックアップを実行する。
単一スナップショットは、オペレーティングシステム状態の重要なコンポーネントをバックアップし、そして矛盾の無いユニットとして復元されることが望ましい場合に有用である。別の表現をすると、オペレーティングシステムは、全ての時点におけるオペレーティングシステムの状態を定義するファイルまたはデータを含む。サーバ102がシステムのバックアップを実行する場合、このサーバ102によって、オペレーティングシステムに関連する適切なバックアップグループを同じスナップショットを使用してバックアップし、確実にオペレーティングシステムに対して、クライアントの矛盾の無い時点におけるバックアップを提供することが保証される。クライアントは、これもまた矛盾の無いユニットとしてバックアップする必要のあるコンポーネントを有するオペレーティングシステム固有のアプリケーション及びサービスの他に、他のアプリケーションまたはサービスを含む。例えば、上で説明したように、Windows(登録商標)オペレーティングシステムでは、これらのアプリケーション及びサービスはオペレーティングシステム状態コンポーネントとともに、VSSボリュームに入れることができる。しかしながら、クライアントデータは、デザイン検討事項によって変わる形で、いずれかの適切な方法により体系化し、そして/またはグループ化される。
図1に戻って、この図を参照すると、サーバ102は更に、クライアントファイルインデックス112及びメディアボリューム116を共に、サーバ自体、及びバックアップストレージ110に配置し、そして管理する。クライアントファイルインデックス112はバックアップデータアイテムのインデックスである。メディアボリューム116はバックアップボリュームのインデックスである。クライアントファイルインデックス112及びメディアボリューム116は一括してここでは「オンラインインデックス」と表記される。オンラインインデックスは通常、バックアップ処理が完了した後にバックアップストレージ110に保管される。しかしながら、他のオペレーティングシステムが同様のデータ構造を使用して、バックアップされるディレクトリ及びアイテムを維持してディレクトリ及びアイテムをリカバリーの間に復元することができるようにすることを理解されたい。
2.単一スナップショットを作成するシステム例
図2を簡単に参照すると、単一スナップショットを作成し、そしてバックアップ及び復元処理を実行するシステム例が示される。この図に示すように、バックアップ/復元アプリケーション202がバックアップ/復元処理を開始する。本明細書において使用するように、バックアップ/復元アプリケーションは、リクエスターと表記され、または別の表現では、バックアップまたは復元処理をリクエストするアプリケーションと表記される。バックアップ/復元アプリケーション202によって、ユーザはバックアップする、または復元する全ての、または特定のバックアップグループを選択する。例えば、図2の実施形態では、バックアップ/復元アプリケーション202はサーバコンポーネント202A及びクライアントコンポーネント202Bを有し、これらのコンポーネントは通信することによりバックアップまたは復元機能を実行する。サーバコンポーネント202A及びクライアントコンポーネント202Bはバックアップ/復元アプリケーション202全体の一部分であるが、サーバコンポーネント202A及びクライアントコンポーネント202Bを必要に応じて異ならせて、サーバ102及びクライアント108が種々の該当する機能を実行することができることを理解されたい。バックアップ/復元アプリケーション202の一部分が2通りに分かれる、或いは3通りにまでも分かれる場合、図2に示すコンポーネント群の配置は異なってもよく、かつ図2のシステムは例示として提示されるのであり、本発明を制限するために提示されるのではないことを理解されたい。典型的とは言えない実施形態では、バックアップ/復元アプリケーション202はサーバにのみ実装される(この場合、サーバはクライアントの特徴を持つ)か、またはクライアントにのみ実装される(この場合、クライアントはサーバの特徴を持つ)。図2に示すように、バックアップ/復元アプリケーション202は、バックアップ/復元アプリケーションのアクセス先であるバックアップストレージ204と通信して、バックアップ及び/又は復元機能を実行する。
クライアントコンポーネント202Bは、1つの実施形態ではクライアント側のスナップショットマネージャ206と通信する。スナップショットマネージャ206はスナップショットジェネレータ208を始動し、スナップショットジェネレータは単一スナップショットの作成を開始する。スナップショットジェネレータ208は、スナップショットが作成されるまで、バックアップが行なわれているシステム、例えばクライアント108に対して処理の一時中断をリクエストする。スナップショットジェネレータ208は、単一スナップショット214がデータに基づいて作成されるときのデータとなる物理データ212を含むストレージ210と通信する。
3.データのバックアップ/復元に使用されるバックアップグループ例
上で説明したように、バックアップ対象のクライアントデータまたはアイテムは、これらには制限されないが、ボリューム、ユーザデータ、システムデータ、アプリケーション、サービス、オペレーティングシステム、及び/又は他の類似の要素を含む。クライアントデータはディレクトリまたはボリュームに体系化され、ボリュームは更に或る階層のサブディレクトリを有し、更にクライアントデータは、バックアップ/復元アプリケーションと通信するユーザインターフェースに表示される。更に、階層によってユーザは特定のボリュームまたはサブディレクトリをバックアップする対象として指定し易くなる。ボリューム及びサブディレクトリは「バックアップグループ」単位で体系化され、バックアップグループはここでは、サーバ102と特定クライアント、例えばクライアント108との間でバックアップセッションが行われている間にバックアップされるデータまたはアイテムの集合として定義される。従って、バックアップグループはボリューム全体、ボリューム全体に満たないボリューム、または一つ以上のボリュームに分散されるデータを含み、バックアップグループはこれらには制限されないが、ファイルグループ、ファイルシステム全体、データベースまたはオペレーティングシステム情報のようなアプリケーション生成データなどを含む。バックアップグループはアプリケーションまたはサービス、或いは一つ以上のボリュームに分散されるアプリケーション、サービス、及び/又はオペレーティングシステムのコンポーネントを含む。バックアップグループが一つよりも多くのボリュームに格納される情報を含む構成の一つの例を示すと、バックアップグループは、オペレーティングシステム状態に関する情報を含むが、当該情報は異なるボリュームに格納される。従って、バックアップグループという用語は、論理的にグループを構成するファイル群を識別し、そしてファイル群の位置を特定する体系化ツールとして使用される。
或るオペレーティングシステムは、アプリケーションまたはサービスによって動作して情報をストレージデバイスに保存する書き込みコンポーネントを含む。例えば、Windows(登録商標)オペレーティングシステムでは、書き込みコンポーネントは「ライター」と表記される。従って、「ライター」及び「書き込みコンポーネント」という用語は、同じ意味に使用されてこの機能を提供する全てのコンポーネントを指す。更に、書き込みコンポーネントは、スナップショット生成ハードウェア及びソフトウェアを含むバックアップ/復元ハードウェア及びソフトウェアと対話する。一般的に、ライターはバックアップ対象の少なくとも一つのアプリケーションまたはサービスに対応する。バックアップグループにおいてライターに関連するデータは更に、異なるボリューム、サブディレクトリなどに格納される。例えば、ライターはデータを一つよりも多くのボリュームに格納される。更に、幾つかのボリュームをいずれのライターにも関連付けないようにすることができる。従って、バックアップグループを、ライターに関連付けられる或るボリューム、いずれのライターにも関連付けられないボリューム、または両方のボリュームに格納される情報に対応させることが可能である。クライアント側の一つ以上のファイルはオペレーティングシステム状態に関連する。1つの実施形態では、上に述べたように、バックアップグループを使用して、クライアントのオペレーティングシステム状態に関連するファイルが体系化される。例えば、Microsoft(登録商標)はボリューム・シャドウ・コピー・サービスを提供し、そしてVSSボリュームフレームワークを提供して、Windows(登録商標)で動作するクライアントのオペレーティングシステム状態をバックアップする。更に、上に述べたように、VSSボリュームは、ライターを含む他のアプリケーション及び/又はサービスを含む。VSSボリュームは、オペレーティングシステム状態に関連するバックアップデータの体系化ツールとなる。クライアントのオペレーティングシステム状態に関するバックアップグループを保存することによって、ユーザはユーザのオペレーティングシステムを復元し、そしてオペレーティングシステムを必要に応じて前の状態に戻し、更にこの保存処理は、ユーザのオペレーティングシステムドライブまたはマシン全体が壊れた場合に重要となる。この処理を行わない場合には、ユーザはユーザのシステムを再構築してサービスを再構成し、更にアプリケーションを再インストールし、そして再構成する必要がある。
ボリューム・シャドウ・コピー・サービスを、ここに説明する論理VSSボリュームと組み合わせて実装するWindows(登録商標)オペレーティングシステムは、クライアントデータに関連するバックアップグループを体系化する単なる一つの例示的な方法に過ぎない。他のオペレーティングシステムプラットフォームは、バックアップグループをクライアントに関連するデータに関して体系化する同様の方法、または異なる方法を使用する。しかしながら、Windows(登録商標)オペレーティングシステムの例を使用して、図3A及び3Bはユーザインターフェース302A,302Bの2つの例を示しており、各ユーザインターフェースは、クライアントのバックアップグループを体系化する異なる方法を有する。ユーザインターフェース302A,302Bはバックアップ/復元アプリケーションに関連付けられ、これについては以下で更に詳細に説明する。ユーザはユーザインターフェース302Aまたは302Bと対話して、保存すべき特定のバックアップグループを選択する。別の構成として、ユーザは単に、ユーザインターフェースを使用することなく、バックアップ対象のバックアップグループを列挙する。更に、ユーザはバックアップ対象の「全ての」バックアップグループを選択する。実際、矛盾の無いバックアップオペレーティングシステム状態について関心がある場合、ユーザは、VSSボリュームに関連する少なくともこれらのバックアップ対象の全てのバックアップグループを選択する。
図3Aは、複数のボリュームを含むインターフェース302Aを示し、各ボリュームは特定の英数字によって特定され、かつドライブ(例えば、A:ドライブ、C:ドライブ、D:ドライブなど)として共通に表記される。複数のVSSバックアップグループ328も設けてバックアップ/復元機能を実行する。図3Aに示すように、システムの或るボリュームに関連するバックアップグループ326、及びオペレーティングシステム状態に関連するバックアップグループ328は同じツリーにある。これとは異なり、図3Bでは、メインVSSボリュームに関連するバックアップグループ354はツリー350の下に配置される。
一例としての図3Aによれば、図3Bにも当てはまるが、バックアップグループ328はバックアップグループ306,308,310,312,314,及び316を含み、これらのバックアップグループはシステムバックアップグループであり、かつオペレーティングシステムライター及びライターコンポーネントを含む。システムバックアップグループ328の多くのコンポーネントが相互依存性を持つので、ユーザはバックアップグループ328の全て(すなわち、クライアントのオペレーティングシステム状態の維持に関連するバックアップグループ)を選択して、単一スナップショットを、バックアップグループの全て、及び単一スナップショットを使用して行なうバックアップごとの保存に関して作成することができるようにすることが好ましい。システムのバックアップグループの全てに関するバックアップは同じスナップショットを使用して行なわれる。これにより、万が一、復元が必要になった場合には、クライアントのオペレーティングシステム状態を、無矛盾性を保ちながら確実に復元することができる。しかしながら、上で説明したように、かつ図3Aに示されるように、ユーザは、バックアップ対象のクライアントのオペレーティングシステム状態に関連するバックアップグループの全てに満たないバックアップグループを選択し、そして選択されるこれらのバックアップグループは単一スナップショットを使用してバックアップされることになる。
1つの実施形態では、バックアップグループ328,354は動的に収集され、そしてバックアップグループ328,354の内容は、どのライターがクライアント側でアクティブになっているかという事実に部分的に基づいて動的に決定される。クライアントのライターが列挙されるか、または特定されると、同じタイプのライターが或る特定のバックアップグループのライターになる。従って、特定のバックアップグループに関連するライターは同じタイプを有する。例えば、図3Aでは、複数のライター324はそれぞれ同じタイプを有し、かつバックアップグループ310に含まれる。特定のアプリケーションまたはサービスに関するライターを利用することができない(すなわち、非アクティブになっている、または存在しない)とすると、適切なファイルは、該当するボリューム(群)がバックアップ用に選択される場合にファイルシステムを通してバックアップされる。所定のバックアップ処理が行なわれる場合、バックアップグループ群の内の幾つかのバックアップグループは、他のバックアップグループがライターを全く含むことができない状態でアクティブライターを含む。
ライターに関する上の説明から、ライター群を全てのボリュームまたはバックアップグループに関連付ける必要があるという風に捉えられるべきではない。或るボリュームをどのライターにも関連付けなくてもよい。更に、バックアップグループに対応する情報が、ライターに関連付けられないボリュームに格納される場合、或るバックアップグループをどのライターにも関連付けない。ボリューム群はライター群に関連付けてもよいが、オペレーティングシステム状態に関連するバックアップグループ群のいずれとも関連付けないようにしてもよい。
本発明は、全てのバックアップグループを実際に1回の処理ごとにバックアップすることを必要としないことを理解されたい。すなわち、ユーザはバックアップ対象の所定のバックアップグループ群を指定することができる。従って、図3A及び3Bの論理的体系化によって差が生じ、この場合、ユーザはバックアップ対象のバックアップグループ群の全てに満たないバックアップグループを選択する。例えば、図3Aの体系化によって、メインディレクトリとして体系化されるオペレーティングシステム状態に関連する所定のバックアップグループ群を設定して、これらのバックアップグループを選択する。図3Aに示すように、ユーザはユーザの希望に応じて、システムドライブD、VSS System Boot(VSSシステムブート)、及びVSS User Data(VSSユーザデータ)を選択して、または列挙して、バックアップすることができる。これとは異なり、図3Bでは、VSSバックアップグループ群は全て、一つのメインVSSボリュームの下のサブディレクトリ群として体系化されるので、ユーザはVSSボリューム全体を選択することができる。例えば、図3Bに示すように、ユーザは場合によっては、システムCドライブ、システムDドライブ、及びVSSボリュームを選択して、または列挙して、バックアップする。VSSボリュームを選択することにより、オペレーティングシステム状態に関連するバックアップグループ群の全てを含むオペレーティングシステム状態ディレクトリ全体が、VSSボリュームが選択されるたびにバックアップされる。図3Bの構成の方が、ユーザが単一の選択(すなわち、VSS:)を行なって、オペレーティングシステム状態に関連するバックアップグループ群の全てを特定する操作を容易にすることができるので望ましい。なぜならば、或る状況では、オペレーティングシステム状態が、オペレーティングシステム状態データのバックアップが行なわれるたびに一致していることを確認することが望ましいからである。しかしながら、ユーザは必要に応じて、オペレーティングシステム状態に関連するサブグループ群を、オペレーティングシステム状態サブグループ群の全てを選択する必要を生じることなく選択してもよい。ユーザがバックアップ対象のバックアップグループ群の全てを選択する、または幾つかのみを選択するかどうかに関係なく、単一スナップショットが、選択されるバックアップグループ群に対応するボリューム群から作成される。従って、図3Aの例の場合、単一スナップショットはCドライブボリューム及びDドライブボリュームから作成される。更に、VSS System Bootバックアップグループ、VSS System Fileset(VSSシステムファイルセット)バックアップグループ、及びVSS System Services(VSSシステムサービス)バックアップグループに対応するボリューム群が単一スナップショットに含まれることになる。1つの実施形態では、VSSバックアップグループ群に対応するボリューム群を実際には、Cドライブボリューム及びDドライブボリュームとして、追加のボリュームを単一スナップショットに含める必要がないようにする。別の実施形態では、選択されるVSSバックアップグループ群に対応するこれらのボリュームの他のボリューム群を表示して、追加のボリュームを単一スナップショットに含めることができるようにする。図3Bの場合、単一スナップショットはCドライブボリューム、Dドライブボリューム、及びVSSボリュームバックアップグループに関連するボリューム群から作成することができる(このスナップショットはここでも同じように、単一スナップショットに既に含まれているボリューム群、例えばCドライブボリューム及びDドライブボリュームに格納される情報に一致させることができる)。いずれの場合においても、単一スナップショットを作成した後、バックアップグループ群の各々に関するバックアッププロセスは、バックアップ処理のベースとなる同じスナップショットを使用することになる。従って、選択されるバックアップグループ群(または、必要に応じて、クライアントシステム全体)のバックアップは、単一時点でのバックアップを反映する。
これまでのプロセス例において説明したように、スナップショットマネージャ206及びスナップショットジェネレータ208は、バックアップグループ群のいずれかの保存プロセスを実行するために使用される単一スナップショットを開始する。これにより、従来のバックアッププログラムによって実現する復元よりも更に無矛盾性を保った復元が実現する。例えば、新規の1枚のハードウェアをインストールする場合、新規のドライバもインストールする必要がある場合が多い。普通、新規のドライバは当該ドライバの動作に関する情報を含む。この情報の或る部分は一つのオペレーティングシステムライターの内部に保存され、そして更に、データは、別のライターに割り当てられるハードドライブの一つ以上のファイルに保存される。この情報には必要に応じて、オペレーティングシステムがアクセスされ、そしてこの情報はドライバが正しく動作するために必要である。ドライバデータを保存するこれらのライターの内の一つのライターを一つのバックアップグループに入れ、ドライバデータを有するファイル群を含む別のライターを別のバックアップグループに入れる。両方のバックアップグループが同じスナップショットによって保存されない場合、情報の一方の部分が他方の部分と同期しないようにすることが可能である。
これとは異なり、本発明では、選択されるバックアップグループ群に対応するボリューム群の単一スナップショットが単一時点で作成される場合に、サーバ102がクライアント108に指示して、単一スナップショットを使用させてバックアップグループ群の各々の保存を実行させるようにする。更に、ファイル群を共有するバックアップグループ群にとっては、共有ファイルが同じ時点で更新され、これによって、重要な情報が脱落する機会を最小限に抑えることが保証される。従って、本発明では、バックアップデータは、単一クライアントスナップショットにより提供される単一の基準時点を基準とするので、実際にバックアップされる選択データが同じ時点が基準となる。バックアップのタイプは変わり得る。例えば、インクリメンタルバックアップを所定のバックアップグループ群に対して実行してもよい。別の構成として、フルバックアップを実行してもよい。
しかしながら、Windows(登録商標)オペレーティングシステム形態では、ライター群を含む或るバックアップグループがバックアップされている場合には、当該バックアップグループのライター群の全てに対するフルバックアップを通常実行して、クライアントのオペレーティングシステム状態を維持するか、またはバックアップされているアプリケーションまたはサービスの状態を維持する。或る例では、バックアップグループのライター群の内の一つのライターはバックアックされない。この状況は、例えば当該ライターに関連するデータが変化していない場合に生じる。バックアップの性能は、特にライターによって特定されるアプリケーションが大きい場合に改善される。別の表現をすると、変化していない大きなアプリケーションをバックアップする処理を行なわないことにより、バックアップの性能は改善される。しかしながら、アプリケーションのデータが変化してしまうと、アプリケーションのフルバックアップが通常実行される。
図3C及び3Dは更に、Windows(登録商標)オペレーティングシステムで実行されるクライアント側のデータを選択的に復元するユーザインターフェース例を示している。図3Cにおいて、インターフェース302Cは、バックアップグループ310及び314が選択されて復元される様子を示している。更に、例えばバックアップグループ310におけるサブグループ群、すなわちライター群324及びコンポーネント313は、復元対象のバックアップグループ310全体を選択することなく、選択して復元される。図3Dは、図3Bの論理的体系化に対応するが、図3Cのインターフェース302Cとほぼ同じ機能及び目的を有する復元インターフェース302Dを示している。
4.単一スナップショットを作成する方法例
次に、図4Aを参照して、クライアントデータを図2のシステム例を使用してバックアップするために使用される単一スナップショットを作成するプロセス例について更に詳細に説明する。図4Aは、クライアント及びサーバが1つの実施形態において相互作用して単一クライアントスナップショットを作成する様子を示している。ステップ402では、サーバ102側のバックアップ/復元アプリケーションサーバコンポーネント202Aを起動する。ステップ404では、サーバコンポーネント202Aがクライアント側のバックアップ/復元アプリケーションクライアントコンポーネント202Bを起動する。ステップ406では、クライアントコンポーネント202Bが、全ての使用可能なバックアップグループ群のリストを当該クライアント用に作成し、そして当該リストをサーバコンポーネント202Aに返送する。
ステップ408では、サーバコンポーネント202Aがバックアップグループ群のリストを受信して、ユーザがバックアップ対象の利用可能なバックアップグループ群の内の一つ以上を選択することができるようにする。上で説明したように、ユーザはバックアップグループ群の全てを、または特定のバックアップグループ群のみを選択してバックアップすることができる。本明細書で使用するように、「ユーザ」という用語は、どのバックアップグループ群をバックアップすべきかに関する選択を行なう全ての人を指す。従って、ユーザとは、クライアントコンピュータを操作する人、またはクライアントコンピュータをサーバまたは他のグラフィカルユーザインターフェースを通して操作する管理者を指す。ユーザはバックアップグループ群を選択してバックアップ前のいずれの時点でも保存することができる。例えば、ユーザは、事前に構成されたバックアップグループを選択し、この同じ選択が一連の事前にスケジューリングされたバックアップに使用される。1つの実施形態では、クライアントコンポーネント202Bは、バックアップグループ群の全てを事前に構成して、バックアップが行なわれるたびにこれらのバックアップグループを保存するように構成される。この実施形態によって、オペレーティングシステム状態が確実に、バックアップが行なわれるたびに矛盾の無い基準時点でバックアップされるようにする。しかしながら、上に記載したように、ユーザが所定のバックアップグループ群のみを選択してバックアップし、そしてバックアップが行なわれる前のそれぞれの機会ごとに、この選択プロセスを実行してもよい。
ステップ409では、サーバコンポーネント202Aは、ユーザが選択する選択バックアップグループ群を含むバックアップグループ群の変更リストを作成する。変更リストは、リストの先頭の先頭バックアップグループ512、及びリストの末尾の末尾バックアップグループ514も含む。変更リストは単に、選択されたバックアップグループ群が処理される順番を示し、そして本発明はバックアップグループ群の実際のリストの作成に制限されない。別の実施形態では、ユーザはまず、バックアップグループ群を、クライアントで利用する可能性がある潜在バックアップグループ群のリストに基づいて選択し、次に選択されたバックアップグループ群を、クライアントで利用する実際のバックアップグループ群のリストと比較する。他の変形例を使用してもよい。
図4Bは、Windows(登録商標)オペレーティングシステムの実施形態例において図3Aに特定される選択を使用してサーバコンポーネント202Aで作成されるバックアップグループ群の変更リスト500の一例を示している。1つの実施形態では、バックアップグループ群の変更リストは、リストの先頭の先頭バックアップグループ512、及びリストの末尾の末尾バックアップグループ514を必ず含む。例えば、図3Aに示すように、バックアップグループ502,504,506,508,及び510をユーザがバックアップ用に選択している。更に、選択されたバックアップグループ502,504,506,508,及び510の他に、先頭バックアップグループ512及び末尾バックアップグループ514もリストの先頭及び末尾に含まれる。ここで、同じようにして、図4Cが、バックアップグループ群の変更リストを図3Bのユーザインターフェース302Bに示される選択を使用して作成する様子を示していることに注目されたい。この場合、変更リスト516は先頭バックアップグループ512と、選択バックアップグループ518,520,及び522と、そして末尾バックアップグループ514と、を含む。勿論、変更リスト516は、特定のオペレーティングシステムがどのようにしてバックアップグループ群を体系化するかによって変わることになる。
先頭バックアップグループ512及び末尾バックアップグループ514は疑似バックアップグループである、というのは、これらのバックアップグループは、クライアントコンポーネント202Bに送信されることになる最初及び最後のバックアップグループであるが、どの特定のボリュームにも関連付けられることがないからである。これらのバックアップグループは、単一スナップショットの作成及び削除に使用され、そしてこれらのバックアップグループを使用して、作成スナップショットを維持する。変更リスト500の作成がユーザには見えないことが好ましいことを理解されたい。
いずれにしても、ステップ410では、サーバコンポーネント202Aはバックアップグループ群の変更リストをクライアントコンポーネント202Bに送信する。ステップ412では、変更リストの先頭バックアップグループ512を送信することにより、サーバコンポーネント202Aは、バックアップを要求する他のどのようなリクエストも当該特定のクライアントに送信しないことを認識し、そして単一クライアントスナップショットの生成が成功した、または失敗したことを示す信号をクライアントコンポーネント202Bから受信するまで待機することを認識する。単一スナップショットの生成が失敗すると、バックアップ/復元アプリケーション202はデフォルト手順を使用して、単一スナップショットに一括してグループ化するのではなく、各選択バックアップグループのスナップショットを個々に生成する。
ステップ414では、クライアントコンポーネント202Bは、先頭バックアップグループ512及び末尾バックアップグループ514を含む変更リストを受信する。ステップ416では、先頭バックアップグループ512を実行することにより、クライアント側に配置されるスナップショットマネージャ206を起動する。
ステップ418では、クライアントコンポーネント202Bは変更リストをスナップショットジェネレータ208に渡す。ステップ420では、スナップショットジェネレータ208を起動すると、単一スナップショットの作成が始まる。スナップショットマネージャ206はアクティブ状態を維持して、スナップショットジェネレータ208からのスナップショット作成完了信号を待機する。
ステップ422では、スナップショットジェネレータ208は、変更リストに特定されるバックアップグループアイテム群に対応するボリューム群の全ての識別情報を管理することにより、単一スナップショットの作成を調整する。1つの実施形態では、スナップショットジェネレータ208は、特定済のボリューム群の全てをコピーセットに含み、そしてスナップショットの作成をリクエストする。コピーセットという用語は、単一スナップショットに記録することになるボリューム群のグループを指すために使用される。コピーセットは、単一スナップショットに記録する必要のあるボリューム群のリストまたは他の識別情報とすることができる。各オペレーティングシステムはスナップショット群を異なる形で作成するので、スナップショットを作成する処理の詳細についてはここでは説明しないが、システム例を使用して以下に更に詳細に説明する。一旦、スナップショットが作成されると、当該スナップショットをパスネームに関連付けて、バックアップ/復元アプリケーションが後の時点でスナップショットの位置を特定することができるようにする。以下に更に詳細に説明するように、クライアントコンポーネント202Bは、スナップショットが作成されている間は、クライアント108側のライター動作を一時中断する。更に、1つの実施形態では、メタデータは単一スナップショットを使用して生成される。
スナップショットに成功すると、ステップ423では、スナップショットジェネレータ208はスナップショットに、単一スナップショットが作成される時点で生成されるメタデータを付加して、保存またはバックアッププロセスを実行するために有用な追加情報を取り込む。更に、変更済みスナップショットファイルがクライアント202B側に格納されていても、ファイル名を作成して変更済みスナップショットファイルの位置を特定する。これについては以下に更に詳細に説明する。ステップ424では、スナップショットの作成に成功したことを示す信号をサーバコンポーネント202Aに送信する。これがサーバコンポーネント202Aに通知されて保存プロセスが開始する。ステップ425では、スナップショットジェネレータ208は或るイベントを設定し、このイベントを使用して、スナップショットを削除するときに信号を受信する。ステップ426では、スナップショットジェネレータ208がアクティブ状態を維持している間、スナップショットマネージャ206は停止する。スナップショットジェネレータ208は、選択バックアップグループ群の保存プロセス群の全てが完了するまで、かつスナップショットが削除されるまで、アクティブ状態を維持する。
ステップ426では、停止する前にスナップショットマネージャ206は変更済みスナップショットファイル名を先頭バックアップグループ512と一緒にサーバコンポーネント202Aに返送し、これらの変更済みスナップショットファイル名及び先頭バックアップグループをサーバコンポーネント202Aがステップ428で受信する。或る実施形態では、この動作によって別のアクション424が生成されるのではなく、サーバコンポーネント202Aに、スナップショットの作成に成功したことが通知されるようになる。いずれにしても、変更済みスナップショットファイル名及び先頭バックアップグループ512を受信することにより、サーバコンポーネント202Aに、当該コンポーネントがこの時点で保存プロセスを開始することを通知する。
ステップ429では、サーバコンポーネント202Aはクライアントコンポーネント202Bへのリクエストの送信を開始して、クライアントコンポーネント202Bに変更リストに特定されるバックアップグループ群を保存させる。サーバコンポーネント202Aは更に、変更済みスナップショットファイルのファイル名を各保存リクエストと一緒に送信する。ステップ430では、クライアントコンポーネント202Bは選択バックアップグループ群及び変更済みスナップショットファイル名を使用して、各バックアップグループの保存プロセスを開始する。各バックアップグループの保存プロセス(すなわち、バックアップ)の実行はバックアップ/復元アプリケーションによって変わるので、プロセス例について以下に更に詳細に説明する。しかしながら、一般的に、バックアップ/復元アプリケーションは変更リストを使用して、どのバックアップグループを保存すべきかについて特定する。
判定ブロック431は、サーバコンポーネント202Aが、ユーザによって選択される他のバックアップグループ群を次々に選択して移動する様子を表わしている。1つの実施形態では、判定ブロック431では、現在のバックアップグループが最後のバックアップグループであるかどうかを尋ねる。上で説明したように、ユーザはバックアップ対象のバックアップグループ群の全てに関する指定を行なうことができる、または特定のバックアップグループ群のみを選択することができる。いずれの場合においても、サーバコンポーネント202Aはバックアップグループリストを順次移動して、変更済みスナップショットファイル名を各バックアップグループ保存リクエストと一緒に送信し、クライアントコンポーネント202Bが、どの場所からスナップショットにアクセスして必要データを取り出せばよいかが分かるようにする。
従って、サーバコンポーネント202Aは、各選択バックアップグループに関する個々の保存リクエストをクライアントコンポーネント202Bに送信することにより、バックアップグループ群の保存を指示する。別の構成として、サーバコンポーネント202Aは、一つの単一保存リクエストをクライアントコンポーネント202Bに送信して、変更リストに特定されるバックアップグループ群の全てに関する保存を実行させる。いずれの場合においても、スナップショットジェネレータ208は、バックアップグループ群の保存の全てを処理している間は、動作している状態を維持する。1つの実施形態では、選択バックアップグループ群に関する保存が完了した後、ステップ432では、サーバコンポーネント202Aはリクエストをクライアントコンポーネント202Bに送信して、ステップ433で受信する末尾バックアップグループ514を保存させる。末尾バックアップグループ514の受信はクライアントコンポーネント202Bに対する信号であり、この信号は、スナップショットマネージャ206をここでも同じように始動する必要があることを示す。ステップ435では、スナップショットマネージャ206は、スナップショットジェネレータ208が最初にステップ425で設定したイベントを通知する。ステップ436では、このイベントを設定することにより、スナップショットジェネレータ208が現在のスナップショットを削除するようになる。
ステップ438では、スナップショットジェネレータ208が停止する。ステップ439では、スナップショットマネージャ206は末尾バックアップグループ514をサーバコンポーネント204Aに送信する。次にステップ440では、スナップショットマネージャ206が停止し、そして保存プロセスが完了する。ステップ442では、クライアントコンポーネント202Bが停止する。ステップ444では、サーバコンポーネント204Aが末尾バックアップグループ514を受信すると、これによってバックアッププロセスの完了が通知される。ステップ446では、サーバコンポーネント204Aが停止する。この技術分野の当業者であれば、上に説明したプロセス例は例示のために提示されるのであり、本発明を制限するためのものではなく、そしてプロセスステップ及び/又はアクションは順番を入れ替え、そして組み合わせる、または削除することができ、更に他のアクションを、クライアントで実行されるオペレーティングシステムプラットフォーム及び/又はバックアップ/復元アプリケーションによって変わる設計検討事項に起因して付け加えることができることを理解できるであろう。例えば、単一スナップショットを削除するのではなく、既存のスナップショットを第2スナップショットの基礎として使用することができる。すなわち、第1スナップショットを行なった時点と第2スナップショットを行なった時点との間に加えられる変更を示すポインタがポインタリストに維持される。新規のポインタリストを使用して第1スナップショットを更新し、第2スナップショットを作成する。
上で説明したように、種々のオペレーティングシステムが、スナップショットを作成し、更にバックアップ及び復元を実行する異なるシステムまたは方法を使用する。図2に戻って再度この図を簡単に参照すると、スナップショット214は、厳密な時点において物理ストレージ212に収容される内容物の少なくとも一部分の厳密な表現であることが分かる。読み出し、及び書き込みが可能な物理ストレージ212とは異なり、スナップショット214は読み出し専用である。
別の実施形態では、例えばコピーオンライト法(copy on write method)を使用すると、スナップショット214は、2つの時点で物理ストレージ212に加えられる変更の差分表現になる。第1時点での最初のコピーは、物理ストレージに新規変更が上書きされる前の物理ストレージ212のコピーを含む。変更が物理ストレージ212に対して加えられると、ポインタを変更されるエリアに置き、そしてポインタを物理ストレージ212に格納されるポインタリストに維持することができる。ポインタリスト及び最初のコピーを使用して、スナップショット214を作成することができ、このスナップショットは、スナップショットが作成された時点における物理ストレージ212の少なくとも一部分を表わす。単一スナップショットは、システムプロバイダ、ソフトウェアプロバイダ、及び/又はハードウェアプロバイダを使用して生成することができる。本明細書においてプロバイダとは、スナップショットを作成し、そして維持するハードウェアまたはソフトウェアとして広義に定義される。システムプロバイダの例は、特定のオペレーティングシステムに固有のソフトウェアプロバイダである。例えば、Windows(登録商標)オペレーティングシステムは事前設定のデフォルトソフトウェアプロバイダを持ち、これによりスナップショットを作成するが、他のオペレーティングシステムも同様の機能を当該オペレーティングシステムに実装する。ソフトウェアプロバイダはI/Oリクエストを、ファイルシステムとバックアップ/復元ボリュームマネージャとの間のソフトウェアレベルでインターセプトする。従って、ソフトウェアプロバイダは、スナップショットを作成し、そして/または維持するために特殊な形で維持されるソフトウェアアプリケーションとすることができる。ハードウェアプロバイダはスナップショットを、ハードウェアストレージアダプター(例えば、特定のストレージアレイ)またはコントローラと連動して動作することにより、ハードウェアレベルで管理する。いずれかの適切なシステムプロバイダ、ソフトウェアプロバイダ、及び/又はハードウェアプロバイダを使用して、単一スナップショットを本発明の示唆に従って実行することができる。更に、システムプロバイダ、ソフトウェアプロバイダ、及び/又はハードウェアプロバイダをバックアップ/復元アプリケーションのコードの一部分とすることができるので、同じアプリケーションによって、単一スナップショットの実行を要求するリクエストが行なわれ、そして単一スナップショットが実際に実行される。他の構成を、本明細書が示唆する事項を考慮に入れて使用することもできる。
図5及び6を参照すると、スナップショットを作成する例示としてのシステム及び方法が示され、当該システムは、Windows(登録商標)オペレーティングシステムに搭載されるシステムを表わす。ここで、幾つかのコンポーネントは図2に示すものと同じであり、かつ同様の構成要素は同様の参照番号により表記されることを理解されたい。更に、他のオペレーティングシステムは同様の、または等価なコンポーネント、或いは異なるコンポーネントを使用して、スナップショットを実行することができる。図5では、リクエスター218はオペレーティングシステムのコンポーネントを起動してスナップショットを作成する。リクエスター218は一般的にいずれかのアプリケーションであり、このアプリケーションは、スナップショットをとるようにリクエストする。1つの実施形態では、リクエスター218はバックアップ/復元アプリケーション202、スナップショットマネージャ206、及び/又はスナップショットジェネレータ208とすることができる。リクエスター218になるのが何であるかを定義することが重要であるのではなく、リクエスターがスナップショットの作成を直接リクエストするのか、または間接的にリクエストするのかだけが重要であるので、リクエスターという用語は、スナップショットを作成する実施形態例、及びバックアップ/復元処理を説明するために使用される。
リクエスター218(リクエスターは1つの実施形態では、スナップショットジェネレータ208とすることができる)はシャドウコピーサービス220と通信し、このシャドウコピーサービスは、クライアントの単一スナップショットの作成に参加するオペレーティングシステムサービスである。シャドウコピーサービスの場合、スナップショットはシャドウコピーまたは仮想ボリュームと表記することができることもある。コピーサービス220はリクエスター218に対して、選択バックアップグループ群に対応するデータをどのボリュームに格納すべきかについて特定する。上で説明したように、VSSボリュームは、例えば変更リストに含めることができる、または含める必要がない一つ以上のボリュームに格納されるデータを格納することができる。コピーサービス220は、単一スナップショットに記録する必要のあるボリューム群の全てを特定する。次に、リクエスター218がコピーセットに含まれるこれらのボリュームを特定する。
1つの例では、VSSボリュームのデータがCドライブ及びDドライブに保存され、そしてユーザがCドライブ(ライターに関連する)、Dドライブ(ライターに関連する)、Gドライブ(ライターに関連しない)、及びVSSボリューム(ライターに関連する)のバックアップをリクエストすると仮定する。結果として得られるコピーセットはCドライブボリューム、Dドライブボリューム、及びGドライブボリュームを含むことになる。他のどのボリュームも、コピーセットに含める必要はない、というのは、VSSに関する情報が既にCドライブボリューム及びDドライブボリュームに記録されているからである。別の例では、ユーザがDドライブ、Gドライブ、及びVSSボリュームのみをバックアップ対象として選択すると仮定する。コピーセットはCドライブボリューム、Dドライブボリューム、及びGドライブボリュームを含むことになる。この例では、Cドライブボリュームがコピーセットに含まれる、というのは、VSSボリュームに関する情報がCドライブに保存されるからである。更に、別の例では、ユーザは単に、VSSボリューム(または、当該ボリュームのサブグループ)をバックアップ対象として選択することができる。コピーセットは、Cドライブボリューム及びDドライブボリュームのようなVSSボリュームグループに関する情報を記録するいずれのボリュームも含むことができる。最後に、1つの実施形態では、ライターを使用する全てのアプリケーションをVSSボリュームに格納することができる。しかしながら、VSSボリュームに、ライターを使用する全てのアプリケーション及び/又はサービスを格納する必要はなく、かつアプリケーション及び/又はサービスを他のボリュームに格納することができることを理解されたい。この状況では、または書き込みコンポーネントを使用するアプリケーションまたはサービスがVSSボリューム等価物の内部でグループ化されない他のオペレーティングシステムでは、ユーザは、いずれのライターにも関連付けることができるバックアップグループ群のみを、またはいずれのライターにも関連付けることができず、しかもいずれのVSSバックアップグループにも関連付けられないバックアップグループ群のみを選択することができる。従って、コピーセットは、これらのバックアップグループに対応するこれらのボリュームのみから成る。従って、これまでの例は、別のバックアップグループ(例えば、VSSボリューム)には当該ボリュームをバックアップするために当該ボリュームに関する情報が必要になるので、当該ボリュームがユーザによってバックアップ対象として最初に選択されることがない場合でも、或るボリュームを或るコピーセットに含めることができることを示すために提示される。更に、ライター群に関連付けられるボリューム群(例えば、C及びDドライブ)及びライター群に関連付けられないボリューム群(例えば、Gドライブ)の両方をコピーセットに含めることができる。ライター群に関連付けられる、または関連付けられない、或いはVSS情報を保存するC,D,及びGドライブの例は、例としてのみ提示されるのであり、そしてC及びDドライブをライター群に関連付ける必要はなく、かつライター群に関連付けられないものとして説明されるGドライブを実際には、他のデザイン構成のライター群に関連付けることができることを、またはこれらのドライブはオペレーティングシステム状態情報を保存する必要がないことを理解されたい。更に、コピーセット群はこれまで、ボリューム群全体またはメインディレクトリ群全体の表示を含むものとして説明してきたが、全ボリュームまたは全ディレクトリに満たないボリュームまたはディレクトリは、或るコピーセットに含めることができるので、バックアップグループを保存するために必要な情報が当該コピーセットまたは単一スナップショットに含まれる限り、単一スナップショットに記録することができることを理解されたい。
バックアップグループ群に対応するボリューム群を特定するためには、コピーサービス220が各バックアップグループに関連するライター群を列挙して、どのライター群がクライアント側でアクティブになっているかを判断する必要がある。コピーサービス220は複数のライター222〜224と通信する。ライター222〜224は、少なくとも一つのアプリケーションまたはサービス、及び少なくとも一つのバックアップグループに関連付けられる。ライター222〜224はメタデータを供給し、メタデータはライターの名前、バックアップ対象のファイル及びコンポーネントのようなアイテムまたはデータ、どのアイテムまたはデータをバックアップから除外すべきかについての情報、及び/又はコンポーネント及びアプリケーションをバックアップ及び復元の間にハンドリングする方法を含む。ライター222〜224は、バックアップされているアプリケーションまたはサービスのタイプの特定も行なう。
ライターは、例えばメールサーバ、データベース、オペレーティングシステムコンポーネント、または他のアプリケーション或いはデータストアに関連付ける。本発明の実施形態は、ライター機能または同様の機能を提供する他のオペレーティングシステム及びコンピュータに連動させて用いられ、ライターを用いるオペレーティングシステムの一つの例がWindows(登録商標)である。このようにして、コピーサービス220はメタデータを、クライアント側でアクティブになっている各ライターから受信することができ、今度はライターがコピーサービス220を支援して、コピーサービスにVSSボリュームに関連するボリューム群、またはライターに関連付けられる他のいずれかのボリュームを特定させる。
一旦、コピーセットが特定されると、コピーサービス220はクライアント側のストレージ210と通信する。ストレージ210内の物理ボリューム212は、バックアップグループ群の内の少なくとも一つに対応するデータを格納する。矛盾の無いデータセットを物理ボリューム212に格納した後、スナップショット214を作成して、矛盾の無いデータの表現または複製を物理ボリュームに反映させる。リクエスター218はストレージ210と通信して、ストレージ210に保存される単一スナップショット214にアクセスすることもできる。
図6を参照しながら、スナップショットを、例えば図5に示すシステムを使用して作成する方法例について次に説明する。ステップ602では、リクエスター218は通常、リクエスター218がコピーセットを選択バックアップグループ群に対応するボリューム群から作成するように支援するコピーサービス220とのインターフェース接続を行なうことにより始動する。ライターを含まないバックアップグループ群に対応するボリューム群をコピーセットに追加する。一つ以上の選択バックアップグループがライター群を有する場合、これらのバックアップグループに対応するボリューム群は、バックアップグループの各ライターにクエリーを出して、関連するデータをどのようにしてバックアップすべきかについて記述した情報だけでなく、どのデータをバックアップすべきかを特定する情報を取得することにより特定される。図6によれば、コピーサービス220は、現在クライアント側でアクティブになっているライター222〜224を列挙して、ライター群に関連付けられるボリューム群を特定する。クライアント側でアクティブになっているライター222〜224は動的に発見される。バックアップグループ群の内容は動的に、この場合は発見されたライター群に基づいて収集される。
従って、ステップ604では、コピーセットが、クライアントのスナップショットの一部分として含める必要のあるボリューム群を特定することにより作成される。従って、コピーセットは、これらには制限されないが、ライターを持たないバックアップグループを特定するボリューム、及び/又はライターを持つバックアップグループを特定するボリューム、或いは両方のボリュームを含む。コピーセットが作成された後、リクエスター218はスナップショットを作成する状態になる。コピーセットによってバックアップグループ群に対応するボリューム群が特定されるので、単一スナップショットは、特定のクライアントに関してバックアップされている選択バックアップグループ群に対応するボリューム群の全ての正確な表現を含むことになる。
ステップ606では、コピーセットに特定される関連ボリュームのスナップショットが実行される。バックアップ処理に関連するバックアップグループ群を同時に処理して単一スナップショットに記録する対象となるボリューム群を特定する。しかしながら、スナップショットを実行する前に、シャドウコピーサービス220はライター222〜224に、スナップショットが発生しようとしていることを通知し、次にこれらのライターに指示して、該当するアプリケーションまたはサービスを中断またはフリーズさせて、クライアントのデータが、例えば新規のトランザクションを中断する処理、現在のトランザクションを終了させる処理、キャッシュをディスクにフラッシュする処理などを行なうことにより、矛盾の無い状態になるようにすることができる。次に、リクエスター218はシャドウコピーサービス220に指示してスナップショットを作成させる。矛盾の無い状態になった後、スナップショットを実行することができる。スナップショットが完了すると、ライター222〜224はアクティビティを再開することができる。スナップショットはクライアントの一つ以上のボリュームに格納されるデータの表現であるので、実行スナップショットに含まれるデータは「スナップショットデータ」とも表記される。
スナップショットが生成されている間は、ステップ608では、メタデータファイルがコピーセットから得られる情報に基づいて生成される。メタデータファイルは、バックアップ対象のアイテムまたはデータだけでなく、或る例では、バックアップから除外すべきアイテムまたはデータを特定するマップである。メタデータファイルは多くの場合、適切な復元操作の命令を含む。コピーセット及びスナップショットのボリュームがライターに関連付けられる場合、メタデータファイルは、スナップショットが作成される前に収集されるライターデータを含む。ライターデータはファイルに、単一スナップショットの作成が成功するまで書き込まれない。コピーセットの、従ってスナップショットのボリュームがいずれのライターにも対応することがない場合、メタデータファイルはライターデータを含まないことになる。
ステップ610では、クライアントコンポーネント202Bはメタデータファイルをスナップショットデータに追加して、変更済みスナップショットファイルを形成する。この操作では、保存するために選択されるライターファイル群(設ける場合)、バックアップグループ群の各々を追加し、物理ボリューム群をスナップショットボリューム群及びマウントポイント群にマッピングする。この追加データは変更することができる、または他のデータは設計検討事項によって変わる形で追加することができる。クライアントコンポーネント202Bは変更済みスナップショットファイルのファイル名を生成する。
5.バックアッププロセス例及び復元プロセス例
次に、クライアントデータをバックアップし、そして復元するプロセスについて更に詳細に説明する。ここでも同じように、例示としての説明を、Windows(登録商標)オペレーティングシステムを使用して提示する。しかしながら、ここで得られる示唆は、他のオペレーティングシステムにも同様に適用することができる。図7を参照すると、バックアッププロセス例が示される。上で説明したように、本発明の1つの態様は単一スナップショットの作成に関するものであり、単一スナップショットは、スナップショットデータを、変更済みスナップショットファイルの選択バックアップグループ群に関連するメタデータとともに含む。変更済みスナップショットファイルは、例えばクライアント108側に格納されて、クライアント108側に保存されるデータに関連するバックアップグループ群を保存するために使用される。変更済みスナップショットファイルは、スナップショットデータ及び復元方法に関するXML記述を含むことができる。
ステップ702では、特定のバックアップグループの保存を要求するリクエストが行なわれると、リクエスター218は、保存対象のリクエストバックアップグループに対応するリクエストデータオブジェクト群またはライター群を特定する。リクエスター218は、メタデータを収集してグループを、リクエストデータオブジェクト群、または特定されたライター群に関連する変更済みスナップショットファイルから保存する。1つの実施形態では、変更済みスナップショットファイルによってアクティブライター群のみを特定する。変更済みスナップショットファイルは、ライターコンポーネント群を個々に選択することができる機能に関する情報を含む。例えば、変更済みスナップショットファイルによって、ライターコンポーネント群の幾つかをバックアップまたは復元のために一括して選択する必要があることを通知する。別の例では、幾つかのライターコンポーネントを復元のために個々に選択するが、バックアップのためには個々に選択する必要はない。
次に、ステップ706では、バックアップアプリケーションが、変更済みスナップショットファイルに特定されるアイテム及びメタデータのバックアップコピーを行なって、ファイル群を、当該特定のバックアップグループに対応する単一スナップショットから保存する。図4Aを参照しながら上に説明したように、クライアントは同じスナップショットを参照して、特定のバックアップグループに対応するスナップショット部分の位置を特定する。バックアップはバックアップストレージ204に保存される。従って、各バックアップグループに関する保存データは、当該バックアップグループに対応するスナップショットデータ及びメタデータのみを含み、単一スナップショットに同じようにして含まれる他のバックアップグループに対応するスナップショットデータ及びメタデータは含まない。クライアントのデータの特定バージョンにアクセスするために、バックアップストレージは、クライアントのデータの複数の表現を保存するように構成することができる。別の表現をすると、クライアントのデータの時点表現(point in time representations)は再構成することができる。ステップ708では、バックアップが完了した後、単一スナップショットは削除することができる。
図3C及び3Dに示すインターフェース302Cまたは302Dを使用して復元処理を開始することもできる。オペレーティングシステムは通常、論理ユニットとしてバックアップされるので、オペレーティングシステムは普通、ユニットとして復元される。前に示したように、各ライターのメタデータは、バックアップ処理の一部分として保存される。メタデータを使用して、復元がスナップショットバックアップ処理に関するものであるかどうかを判断することができる。
図8は、Windows(登録商標)オペレーティングシステムを使用する復元処理の例示としての方法を示している。ステップ802では、リクエスター218は通常、復元メタデータと表記されることになるものを取り出すことから始動する。一般的に、復元メタデータは、アクティブ状態のライターから収集される特定のメタデータ、及び単一スナップショットに含まれていた特定のライター群/コンポーネント群を最終的に取り込むことになる変更済みスナップショットファイルから収集される保存メタデータの両方を含む。復元処理に使用される復元メタデータは、選択バックアップ時点におけるバックアップデータから得られるので、復元メタデータが、クライアント側にはもはや存在しないライターのデータ、またはクライアント側で現時点において非アクティブ状態になっているライターのデータを含むことが可能である。しかしながら、これらのライターは通常、復元される。なぜならば、クライアントが選択バックアップ時点の状態に復元されているからである。この状態は、天災からの復旧が行なわれる状況でも発生し得る。復元メタデータは通常、シャドウコピーサービス220に渡され、次にサービスに復元処理の間にクエリーを出す。マウントポイント群がライターの保存ファイルリストに含まれる場合、マウントポイント及びマウントポイントが参照するボリュームを含むマウントポイントファイルはライターデータが復元される前には必ず復元される。マウントポイント群はライターデータを正しく復元する、または復旧するために必要である。
次に、ステップ804では、復元処理が続いているときに復元メタデータのクエリーを発行する。復元メタデータのクエリーを発行して、例えば特定のライターの復元方法、使用タイプ、ライターを復元するために再起動が必要かどうか、そしていずれかの潜在的な別のロケーションマッピングを判断する。
次に、ステップ806では、復元プロセスはシャドウコピーサービスとのインターフェース接続を行ない、そして事前復元コマンドを発行する。事前復元コマンドによって、復元用に選択されたライターコンポーネント群を有するライター群に、復元処理が行われようとしていることを通知する。従って、ライター群、及びライター群に関連するアプリケーションは、復元処理に対して準備する機会を得る。
次に、ステップ808では、復元プロセスは、各ライターの復元メタデータに特定される復元方法を実行する。
ファイルが復元処理の間にコピーされた後、事後復元通知を、影響を受けるライターに発行する。従って、ライターは事後復元処理を規定通りに実行することができる。この時点で、サーバはクライアントシステムの再起動を推奨することができる。
図3C及び3Dに示すインターフェース302C及び302Dは、バックアップグループ、ライター、及び/又は書き込みコンポーネントを復元のために選択的に特定する方法の例である。選択されるバックアップグループ、ライター、及び/又は書き込みコンポーネントは復元アイテムの例である。従って、復元処理は、復元アイテムに含まれるライターを利用して進行する。復元方法は、例えば各ライターに関して、各ライターに関連する復元メタデータに従って行なわれる。書き込みコンポーネントが非選択状態になっている場合、復元メタデータの該当する部分は復元処理の間に無効にする、または無視される。オペレーティング固有のバックアップグループが復元のために選択される場合、復元処理ではユーザに促して、全ての適切なバックアップグループ、ライター、及び/又は書き込みコンポーネントがオペレーティングシステムを論理ユニットとして復元するようにという推奨に応じるために選択されてしまう、ということがないようにする。しかしながら、復元処理は、推奨されるバックアップグループを選択することなく進めることができる。
或るライターの或るコンポーネントが復元のために選択されない場合、或るバックアップグループの或るライターが復元のために選択されない場合、または或るバックアップグループが、当該バックアップグループに関連するライターを全く持たない場合、復元プロセスは、復元メタデータの内、選択されないコンポーネントまたはライターに対応する部分を無視する、または無効にすることができる。
6.コンピューティングシステム例
本発明は、データをバックアップする方法及びシステムの両方に拡張することができる。本発明の実施形態は以下に更に詳細に説明するように、種々のコンピュータハードウェアを含む特定用途向けコンピュータまたは汎用コンピュータを含む。本発明の技術範囲に含まれる実施形態は更に、コンピュータ実行可能な命令またはデータ構造を実装する、または格納するコンピュータ読み取り可能な媒体を含む。このようなコンピュータ読み取り可能な媒体は、汎用コンピュータまたは特定用途向けコンピュータによるアクセスが可能ないずれかの利用可能な媒体である。一例として、かつ非制限的な例として、このようなコンピュータ読み取り可能な媒体は、RAM,ROM,EEPROM,CD−ROM,または他の光ディスクストレージデバイス、磁気ディスクストレージデバイス、または他の磁気ストレージデバイス、或いはコンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段を搭載する、または格納するために使用することができ、かつ汎用コンピュータまたは特定用途向けコンピュータによるアクセスが可能な他のいずれかの媒体を含む。情報がネットワークまたは別の通信接続(有線、無線、または有線または無線の組み合わせ)を経由してコンピュータに転送される、または供給される場合、コンピュータは接続をコンピュータ読み取り可能な媒体として正しく認識する。従って、このような接続はいずれも、コンピュータ読み取り可能な媒体と正しく表記される。上述した手段の組み合わせもコンピュータ読み取り可能な媒体の範疇に含めるべきである。コンピュータ実行可能な命令は、例えば汎用コンピュータ、特定用途向けコンピュータ、または特定用途向け処理デバイスに所定の機能または機能グループを実行させる命令及びデータを含む。
以下の説明は、本発明を用いることができる適切なコンピューティング環境に関する簡単な概要説明を提示するために行なわれる。必要ではないが、本発明について、コンピュータがネットワーク環境で実行しているプログラムモジュールのようなコンピュータ実行可能な命令との一般的な関連で説明する。一般的に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能な命令、関連データ構造、及びプログラムモジュールは、本明細書に開示する方法のステップを実行するプログラムコード手段の例を表わす。このような実行可能な命令または関連データ構造の特定シーケンスは、このようなステップで説明される機能を実行する該当する行為の例を表わす。
この技術分野の当業者であれば、本発明を、パーソナルコンピュータ、携帯型デバイス、マルチプロセッサシステム、マイクロプロセッサ応用電子機器またはプログラム可能なコンシューマ電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む多くのタイプのコンピュータシステム構成を持つネットワークコンピューティング環境で実施することができることが理解できるであろう。本発明は更に、タスクが通信ネットワークを通して接続される(有線リンク、無線リンクによって、または有線リンクまたは無線リンクの組み合わせによって)ローカルデバイス及びリモート処理デバイスによって行なわれる分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールはローカルメモリストレージデバイス及びリモートメモリストレージデバイスの両方に配置することができる。
本発明は他の特定の形態で、本発明の技術思想または基本的特徴から逸脱しない範囲で具体化することができる。記載の実施形態は、全ての点で単なる例示として捉えられ、かつ非制限的に解釈されるべきである。従って、本発明の技術範囲は、これまでの記述によってではなく、添付の請求項によって示される。請求項の等価物の意味及び範囲に包まれる全ての変更は請求項の技術的範囲に含まれるべきものである。
本発明の実施形態を実施する環境の例を示す。 バックアップ及び/又は復元操作を行なうシステム例を示す。 バックアップグループを体系化するユーザインターフェース例を示す。 バックアップグループを体系化する別のユーザインターフェース例を示す。 復元操作を行なうユーザインターフェース例を示す。 復元操作を行なう別のユーザインターフェース例を示す。 単一スナップショットを作成し、そして使用するフローチャート例を示す。 図3Aに示すバックアップグループの選択に基づくバックアップグループの変更リスト例を示す。 は図3Bに示すバックアップグループの選択に基づくバックアップグループの変更リスト例を示す。 スナップショットを生成するシステムの1つの実施形態を示す。 スナップショットを生成するフローチャート例である。 データをバックアップするフローチャート例である。 データを復元するフローチャート例である。

Claims (22)

  1. 一つ以上のクライアントからのデータのバックアップ処理を実行するサーバと通信する一つ以上のクライアントを含むシステムにおいて、前記データはバックアップグループに区分けされ、第1クライアントからのデータを保存する方法は、
    前記第1クライアントが、単一スナップショット生成を開始するための信号を前記サーバから受信するステップと
    前記第1クライアントが、一つ以上のバックアップグループのリストを前記サーバに送信するステップと
    前記第1クライアントが、保存されるべき一つ以上の選択されたバックアップグループの標示を前記サーバから受信するステップと、
    前記第1クライアントが、前記保存されるべき一つ以上の選択されたバックアップグループに対応する一つ以上のディレクトリを特定するステップと
    前記第1クライアントが、特定される前記一つ以上のディレクトリの各々の少なくとも一部分を使用して、単一スナップショットの作成を開始するステップと、
    を備える方法。
  2. 前記単一スナップショット生成を開始するための信号は、スナップショットジョブリクエストを含む、請求項1記載の方法。
  3. 前記第1クライアントが、前記一つ以上のバックアップグループに対応する一つ以上のディレクトリを特定するステップは、
    前記第1クライアント側でアクティブになっている一つ以上のバックアップグループに関連する一つ以上のライターを列挙すること、
    前記第1クライアント側でアクティブになっている前記一つ以上のライターから、メタデータを受信すること、
    前記受信メタデータを分析して前記一つ以上のライターに関連付けられる前記一つ以上のディレクトリを特定すること、
    前記特定される一つ以上のディレクトリを、単一スナップショットの作成を要求するリクエストに含めること
    前記第1クライアントが実行することを含む、請求項1記載の方法。
  4. 前記第1クライアントが、保存されるべき一つ以上の選択されたバックアップグループの標示を前記サーバから受信するステップは、前記第1クライアントが、先頭バックアップグループを受信するステップを含み、前記先頭バックアップグループは前記第1クライアント側のどのデータにも関連付けられることがなく、且つ前記先頭バックアップグループを実行することによって、単一スナップショットの作成が開始される、請求項1記載の方法。
  5. 前記第1クライアントが、前記特定される一つ以上のディレクトリの各々の前記少なくとも一部分の前記単一スナップショットの作成を実行するステップを更に備える、請求項1記載の方法。
  6. 前記第1クライアントが、前記単一スナップショットの削除を生じさせるステップを更に備える、請求項1記載の方法。
  7. 前記第1クライアントが、前記第1クライアントの単一スナップショットの作成を実行している間、各ライターに関連付けられる各アプリケーションに処理を一時中断させるステップを更に備える、請求項6記載の方法。
  8. 前記第1クライアントが、末尾バックアップグループを受信するステップを更に備え、前記末尾バックアップグループは前記第1クライアント側のどのデータにも関連付けられることがなく、且つ前記末尾バックアップグループを実行することによって、前記単一スナップショットの削除のリクエストが開始される、請求項6記載の方法。
  9. 各アプリケーションに新規のトランザクションを中断させること、
    各アプリケーションに現在行なっているトランザクションを終了させること、
    各アプリケーションに関連する全てのキャッシュをディスクにフラッシュすること
    前記第1クライアントが実行するステップを更に備える、請求項記載の方法。
  10. 前記第1クライアントが、前記単一スナップショットが実行された後で、各ライターに関連付けられる各アプリケーションに処理を再開させるステップを更に備える、請求項記載の方法。
  11. 前記特定される一つ以上のディレクトリの各々の少なくとも一部分はコピーセットに含まれ、単一スナップショットは、前記コピーセットで特定される一つ以上のディレクトリの前記一部分を使用して前記第1クライアントにより行なわれる、請求項1記載の方法。
  12. 一つ以上のディレクトリは、ユーザデータ、システムデータ、オペレーティングシステム、アプリケーション、サービス、前記第1クライアントのオペレーティングシステム状態、これらの要素のコンポーネント、またはこれらの要素の組み合わせの内の少なくとも一つに関連するデータを含む、請求項1記載の方法。
  13. 前記第1クライアントが、バックアップグループに対応する前記データの或る部分、または全ての保存を実行するために、前記単一スナップショットを参照するステップを更に備える、請求項1記載の方法。
  14. 一つ以上のクライアントからのデータのバックアップコピーを保存するサーバと通信する一つ以上のクライアントを含むシステムにおいて、クライアントは、
    一つ以上のバックアップグループの保存を、一つ以上のバックアップグループの単一スナップショットを使用して実行するように構成されるクライアントコンポーネントであって、前記クライアントコンポーネントは、一つ以上のバックアップグループのリストを前記サーバに送信するように構成され、更に、前記クライアントコンポーネントは、保存されるべき一つ以上の選択されたバックアップグループの標示を前記サーバから受信するように構成されている、前記クライアントコンポーネント
    前記クライアントコンポーネントと通信するように構成されたスナップショットマネージャであって、単一スナップショットを生成する必要があることを示す信号を検出するように構成される前記スナップショットマネージャと
    前記スナップショットマネージャと通信するように構成されるとともに、前記単一スナップショットの実行をリクエストするように構成されるスナップショットジェネレータであって、単一スナップショットを、前記単一スナップショットがもはや必要ではないことを示す信号を受信するまで維持するように構成された前記スナップショットジェネレータと
    保存対象の前記クライアントのデータを維持するように構成されるストレージデバイスと、を備え、
    前記データは、ディレクトリ、ユーザデータ、システムデータ、オペレーティングシステム、アプリケーション、サービス、クライアントのオペレーティングシステム状態、これらの要素のコンポーネント、またはこれらの要素の組み合わせの内の一つ以上である、
    システム。
  15. 前記スナップショットマネージャは、先頭バックアップグループを受信し、そして実行するように構成され、前記先頭バックアップグループは前記クライアント側のどのデータにも関連付けられることがなく、先頭バックアップグループを実行することによって、前記スナップショットジェネレータが始動する、請求項14記載のシステム。
  16. スナップショットジェネレータからのリクエストに応答して単一スナップショットを実行するように構成される、単一スナップショットを実行する手段を更に備る、請求項14記載のシステム。
  17. 単一スナップショットを実行する前記手段は、システムプロバイダ、ハードウェアプロバイダ、またはソフトウェアプロバイダの内の少なくとも一つを含む、請求項16記載のシステム。
  18. 単一スナップショットを実行する手段は、シャドウコピーサービスを含む、請求項16記載のシステム。
  19. 前記シャドウコピーサービスは、
    前記クライアント側でアクティブになっている一つ以上のバックアップグループに関連する一つ以上のライターを列挙し
    メタデータを、前記クライアント側でアクティブになっている前記一つ以上のライターから受信し
    ライターを有する前記バックアップグループに対応する一つ以上のディレクトリを特定する
    ように構成される、請求項18記載のシステム。
  20. 前記スナップショットジェネレータは、
    前記一つ以上のバックアップグループに対応する一つ以上のディレクトリを特定し
    コピーセットにおいて特定される一つ以上のディレクトリの各々の少なくとも一部分をコンパイルする
    ように更に構成される、請求項14記載のシステム。
  21. 前記スナップショットジェネレータは、前記クライアントの前記単一スナップショットを実行している間、各ライターに関連付けられる各アプリケーションに処理を一時中断させ、前記単一スナップショットが実行された後で、各ライターに関連付けられる各アプリケーションに処理を再開させるように更に構成される、請求項18記載のシステム。
  22. ユーザに、一つ以上のバックアップグループを選択させることを可能にするユーザインターフェースを更に備える、請求項14記載のシステム。
JP2008519541A 2005-06-29 2006-06-29 クライアントユーティリティを使用する単一クライアントスナップショットの作成 Active JP4712873B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US11/170,015 2005-06-29
US11/169,853 2005-06-29
US11/169,418 2005-06-29
US11/169,418 US7716185B2 (en) 2005-06-29 2005-06-29 Creation of a single client snapshot using a client utility
US11/170,015 US7523278B2 (en) 2005-06-29 2005-06-29 Backup and restore operations using a single snapshot
US11/169,853 US7549028B2 (en) 2005-06-29 2005-06-29 Backup and restore operations using a single snapshot driven by a server job request
US11/169,419 US8024292B2 (en) 2005-06-29 2005-06-29 Creation of a single snapshot using a server job request
US11/169,419 2005-06-29
PCT/US2006/025287 WO2007002795A2 (en) 2005-06-29 2006-06-29 Creation of a single client snapshot using a client utility

Publications (2)

Publication Number Publication Date
JP2008545198A JP2008545198A (ja) 2008-12-11
JP4712873B2 true JP4712873B2 (ja) 2011-06-29

Family

ID=37596035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519541A Active JP4712873B2 (ja) 2005-06-29 2006-06-29 クライアントユーティリティを使用する単一クライアントスナップショットの作成

Country Status (3)

Country Link
EP (1) EP1915682A4 (ja)
JP (1) JP4712873B2 (ja)
WO (1) WO2007002795A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332842B2 (en) * 2008-11-14 2012-12-11 International Business Machines Corporation Application restore points
JP2012018449A (ja) * 2010-07-06 2012-01-26 Fujitsu Ltd スナップショット取得処理プログラム、スナップショット取得処理方法、スナップショット・パティシパント・コンピュータ、スナップショット・コーディネータ・コンピュータ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227132A (ja) * 2003-01-21 2004-08-12 Nec Corp データバックアップシステム及び方法
JP2004334650A (ja) * 2003-05-09 2004-11-25 Fujitsu Ltd バックアップ方法、リストア方法及びプログラム
JP2005512191A (ja) * 2001-11-29 2005-04-28 イーエムシー コーポレイション 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604118B2 (en) * 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US7363633B1 (en) * 2000-04-24 2008-04-22 Microsoft Corporation Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service
US6865655B1 (en) * 2002-07-30 2005-03-08 Sun Microsystems, Inc. Methods and apparatus for backing up and restoring data portions stored in client computer systems
EP1579331A4 (en) * 2002-10-07 2007-05-23 Commvault Systems Inc SYSTEM AND METHOD FOR MANAGING SAVED DATA
US7275177B2 (en) * 2003-06-25 2007-09-25 Emc Corporation Data recovery with internet protocol replication with or without full resync
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
US20050081099A1 (en) * 2003-10-09 2005-04-14 International Business Machines Corporation Method and apparatus for ensuring valid journaled file system metadata during a backup operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005512191A (ja) * 2001-11-29 2005-04-28 イーエムシー コーポレイション 大容量記憶システムの選択されたデータのスナップショットを保存するためのバックアップ方法
JP2004227132A (ja) * 2003-01-21 2004-08-12 Nec Corp データバックアップシステム及び方法
JP2004334650A (ja) * 2003-05-09 2004-11-25 Fujitsu Ltd バックアップ方法、リストア方法及びプログラム

Also Published As

Publication number Publication date
EP1915682A4 (en) 2014-10-01
WO2007002795A3 (en) 2007-07-12
WO2007002795A2 (en) 2007-01-04
EP1915682A2 (en) 2008-04-30
JP2008545198A (ja) 2008-12-11

Similar Documents

Publication Publication Date Title
US7716185B2 (en) Creation of a single client snapshot using a client utility
US7523278B2 (en) Backup and restore operations using a single snapshot
US8024292B2 (en) Creation of a single snapshot using a server job request
US7549028B2 (en) Backup and restore operations using a single snapshot driven by a server job request
US7647360B2 (en) System and method for managing a consistency among volumes in a continuous data protection environment
US7346799B2 (en) Systems and methods for recovering and backing up data
US8510271B1 (en) Application and file system data virtualization from image backup
US7672979B1 (en) Backup and restore techniques using inconsistent state indicators
JP5008991B2 (ja) データのリカバリを制御する装置及び方法
US8346826B2 (en) Switch device, system, backup method and computer program
US8935210B2 (en) Systems and methods for performing replication copy storage operations
US7418619B1 (en) Backup and restore operations of interdependent system components
JP4483342B2 (ja) システム復旧方法
JP3957278B2 (ja) ファイル転送方法およびシステム
US7603395B1 (en) Using pseudosnapshots for continuous data protection systems to surface a copy of data
US7584339B1 (en) Remote backup and restore operations for ISB protocol systems
US7725669B1 (en) Backup and restore operations using coherency groups for ISB protocol systems
JP2010508608A (ja) 計算機メモリー上に記録されたデータ及びファイルディレクトリ構造の自動保護システム
WO2004047078A2 (en) Fast backup storage and fast recovery of data (fbsrd)
US7487310B1 (en) Rotation policy for SAN copy sessions of ISB protocol systems
US7685460B1 (en) Multiple concurrent restore using same user interface
US7587565B1 (en) Generating automated and scheduled SAN copy sessions for ISB protocol systems
JP2008242744A (ja) Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法
JP4712873B2 (ja) クライアントユーティリティを使用する単一クライアントスナップショットの作成
CN103559100B (zh) 利用服务器保存客户端数据的方法及服务器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110323

R150 Certificate of patent or registration of utility model

Ref document number: 4712873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250