(57)【特許請求の範囲】
【請求項１】
方法であって、
コンピュータシステムにおける初期バックアップ動作中に、
前記コンピュータシステムの記憶装置においてデータボリュームのバックアップ仮想ハードドライブ（ＶＨＤ）を作成するステップと、
前記バックアップＶＨＤに対応するメタデータＶＨＤを作成するステップと、
前記コンピュータシステム内のメモリにおいて前記メタデータＶＨＤを記憶するステップと、
前記メタデータＶＨＤが前記コンピュータシステムに保持される間に、前記バックアップＶＨＤを前記コンピュータシステムからリモートストレージロケーションに送信するステップと、
前記初期バックアップ動作の完了後に、前記データボリュームのファイルに対する変更を検出するステップと、
前記コンピュータシステムのメモリに記憶された前記メタデータＶＨＤに基づいて、前記コンピュータシステムにおいて差分ＶＨＤを作成するステップであって、前記差分ＶＨＤが前記ファイルに対する変更を示す、ステップと、
前記コンピュータシステムにおいて前記メタデータＶＨＤを更新して、前記ファイルに対する前記変更を反映するステップと、
前記コンピュータシステムにおける後続のバックアップ動作中に、更新後のメタデータＶＨＤのコピーおよび前記差分ＶＨＤを、前記コンピュータシステムから前記リモートストレージロケーションに送信するステップと、
を含む、方法。
【請求項２】
請求項１に記載の方法において、前記メタデータＶＨＤが、前記バックアップＶＨＤに記憶されるファイルの閲覧、前記バックアップＶＨＤに記憶されたファイルの検索、またはこれらの任意の組み合わせのために使用可能である、方法。
【請求項３】
前記差分ＶＨＤが前記リモートストレージロケーションからの情報にアクセスすることなく生成されることを特徴とする、請求項１に記載の方法。
【請求項４】
前記更新後のメタデータＶＨＤのコピーおよび前記差分ＶＨＤを前記リモートストレージロケーションにおいて記憶するステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
請求項４に記載の方法であって、更に、
前記リモートストレージロケーションにおける、前記ファイルについての前記差分ＶＨＤからの１またはそれ以上の変更部分を、第２のコンピュータシステムにダウンロードし、
前記リモートストレージロケーションにおける、前記ファイルについての前記バックアップＶＨＤからの１またはそれ以上の非変更部分を、前記第２のコンピュータシステムにダウンロードし、
前記１またはそれ以上の変更部分および前記１またはそれ以上の非変更部分に基づいて、前記第２のコンピュータシステムにおいて前記変更後のファイルを生成することにより、
前記第２のコンピュータシステムにおいて前記変更後のファイルを復元するステップを含むことを特徴とする、方法。
【請求項６】
請求項４に記載の方法であって、更に、
前記ファイルについて前記リモートストレージロケーションにおける前記差分ＶＨＤからの１またはそれ以上の変更部分を、前記コンピュータシステムにダウンロードし、
前記ファイルについて前記リモートストレージロケーションにおける前記バックアップＶＨＤからの１またはそれ以上の非変更部分を、前記コンピュータシステムにダウンロードし、
前記１またはそれ以上の変更部分および前記１またはそれ以上の非変更部分に基づいて、前記第２のコンピュータシステムにおいて前記変更後のファイルを生成することにより、
前記コンピュータシステムにおいて前記変更後のファイルを復元するステップを含むことを特徴とする、方法。
【請求項７】
請求項４に記載の方法であって、更に、
前記ファイルに対する第２の変更を検出するステップであって、該第２の変更が第１の変更後に検出されるステップと、
前記更新後のメタデータＶＨＤに基づいて第２の差分ＶＨＤを作成するステップであって、前記第２の差分ＶＨＤが前記ファイルに対する前記第２の変更を示すステップと、
前記更新後のメタデータＶＨＤを更新して、前記第２の変更を反映するステップと、
２回の更新後のメタデータＶＨＤのコピーおよび前記第２の差分ＶＨＤを前記コンピュータシステムから前記リモートストレージロケーションに送信するステップと
を含むことを特徴とする、方法。
【請求項８】
請求項７に記載の方法であって、更に、
前記リモートストレージロケーションにおける、前記ファイルについての前記差分ＶＨＤからの１またはそれ以上の第１の変更部分を、且つ、前記ファイルについての前記第２の差分ＶＨＤからの１またはそれ以上の第２の変更部分を、前記コンピュータシステムにダウンロードし、
前記リモートストレージロケーションにおける、前記ファイルについての前記バックアップＶＨＤからの１またはそれ以上の非変更部分を、前記コンピュータシステムにダウンロードし、
前記１またはそれ以上の第１の変更部分と、前記１またはそれ以上の第２の変更部分と、前記１またはそれ以上の非変更部分とに基づいて、前記第２のコンピュータシステムにおいて前記２回の変更後ファイルを生成することにより、
前記コンピュータシステムにおいて前記２回の変更後のファイルを復元するステップを含むことを特徴とする、方法。
【請求項９】
前記差分ＶＨＤおよび前記第２の差分ＶＨＤが前方差分ＶＨＤであり、当該方法が更に、該前方差分ＶＨＤを後方差分ＶＨＤに変換するステップを含むことを特徴とする、請求項７に記載の方法。
【請求項１０】
前記バックアップＶＨＤがシングルインスタンスストレージ（ＳＩＳ）ＶＨＤであることを特徴とする、請求項１に記載の方法。
【請求項１１】
前記リモートストレージロケーションがオンラインクラウドストレージロケーションであることを特徴とする、請求項１に記載の方法。
【請求項１２】
請求項１に記載の方法において、前記メタデータＶＨＤが前記データボリュームのファイルのためのＮＴファイルシステム（ＮＴＦＳ）エクステント情報、少なくとも１つのＮＴＦＳリパースポイント、またはこれらの任意の組み合わせを含むことを特徴とする、方法。
【請求項１３】
請求項１に記載の方法において、前記コンピュータシステムのメモリにおいて記憶された前記メタデータＶＨＤが、データボリュームに対応するディレクトリ構造と、前記ファイルのファイルポインタとを含み、前記ファイルポインタが、前記リモートストレージロケーションにおいて記憶された前記バックアップＶＨＤにおける前記ファイルのコピーをポイントすることを特徴とする、方法。
【請求項１４】
前記コンピュータシステムが、前記リモートストレージロケーションとは異なる第２のリモートストレージロケーションに配置されることを特徴とする、請求項１に記載の方法。
【請求項１５】
命令を含むコンピュータ可読ストレージ装置であって、前記命令は、プロセッサによって実行されるときに、前記プロセッサに、
第１のポイントインタイム（ＰＩＴ）においてバックアップ仮想ハードドライブ（ＶＨＤ）を受信させ、
前記第１のＰＩＴに後続する第２のＰＩＴにおいて第１の前方差分ＶＨＤを受信させ、該第１の前方差分ＶＨＤが前記第１のＰＩＴおよび前記第２のＰＩＴ間での前記バックアップＶＨＤに対する変更を示しており、
前記第２のＰＩＴに後続する第３のＰＩＴにおいて第２の前方差分ＶＨＤを受信させ、該第２の前方差分ＶＨＤが前記第２のＰＩＴおよび前記第３のＰＩＴ間での前記バックアップＶＨＤに対する変更を示しており、
前記第３のＰＩＴに対応する第３の自己完結型バックアップＶＨＤと、前記第２のＰＩＴに対応する第２の後方差分ＶＨＤとを生成させ、
前記第３の自己完結型バックアップＶＨＤを生成する前に、特定のファイルを前記第３のＰＩＴに復元するために、コンピュータシステムが、前記特定のファイルについての前記ＶＨＤからの非変更部分を、また、前記特定のファイルについての前記第１の前方差分ＶＨＤおよび前記第２前方差分ＶＨＤからの変更部分をダウンロードし、
前記第３の自己完結型バックアップＶＨＤを生成した後に、前記特定のファイルが、前記第３の自己完結型バックアップＶＨＤを用いることによって、前記第１の前方差分ＶＨＤまたは前記第２の前方差分ＶＨＤに依存することなく、前記コンピュータシステムにより前記第３のＰＩＴに復元可能であることを特徴とする、コンピュータ可読ストレージ装置。
【請求項１６】
請求項１５に記載のコンピュータ可読ストレージ装置において、前記バックアップＶＨＤが、自己完結型であって、ファイルが差分ＶＨＤを参照することなく前記バックアップＶＨＤを用いて前記第１のＰＩＴに復元可能なものであり、前記第３の自己完結型バックアップＶＨＤが複数の差分ＶＨＤを統合することによって作成されることを特徴とする、コンピュータ可読ストレージ装置。
【請求項１７】
請求項１６に記載のコンピュータ可読ストレージ装置であって、更に、命令を含んでおり、前記命令が前記プロセッサによって実行されるときに、前記プロセッサに、
前記第３の自己完結型バックアップＶＨＤに基づいて前記バックアップＶＨＤを更新させ、
前記第１の前方差分ＶＨＤおよび前記第２の前方差分ＶＨＤを削除させることを特徴とする、コンピュータ可読ストレージ装置。
【請求項１８】
請求項１６に記載のコンピュータ可読ストレージ装置であって、更に、命令を含んでおり、前記命令が前記プロセッサによって実行されるときに、前記プロセッサに、
前記第１の前方差分ＶＨＤに基づいて前記バックアップＶＨＤを更新させ、
前記第１の前方差分ＶＨＤを前記第２のＰＩＴに対応する第２の後方差分ＶＨＤに変換させることを特徴とする、コンピュータ可読ストレージ装置。
【請求項１９】
コンピュータシステムであって、
ファイルシステムに従って記憶されるファイルを含むメモリ装置と、
前記ファイルに対する変更を検出するように構成されるバックアップエージェントと、
前記検出された変更を仮想ハードドライブ（ＶＨＤ）フォーマット形式の変更に翻訳するように構成される翻訳モジュールと、
前記ＶＨＤフォーマット形式の変更を、前記メモリ装置に記憶されるメタデータＶＨＤに書き込むように、かつ、前記メタデータＶＨＤに基づいて差分ＶＨＤを生成するように構成されるＶＨＤモジュールと、
前記メタデータＶＨＤのコピーおよび差分ＶＨＤをリモート記憶装置に送信するように構成されるネットワークインターフェースと、
前記メモリ装置へのアクセスを有するプロセッサと
を備え、
前記プロセッサが、データボリュームのバックアップ仮想ハードドライブ（ＶＨＤ）を生成し、前記バックアップＶＨＤに対応するメタデータＶＨＤを生成し、前記メタデータＶＨＤを当該コンピュータシステム内の前記メモリにおいて記憶し、前記メタデータＶＨＤが当該コンピュータシステムに保持される間に前記バックアップＶＨＤを当該コンピュータシステムからリモートストレージロケーションに送信する、
コンピュータシステム。
【請求項２０】
請求項１９に記載のコンピュータシステムにおいて、前記プロセッサが、
更新後のメタデータＶＨＤのコピーおよび差分ＶＨＤを、前記リモートストレージロケーションに送り、且つ、
前記リモートストレージロケーションにおける、前記ファイルについての前記差分ＶＨＤからの１またはそれ以上の変更部分を前記コンピュータシステムにダウンロードし、また、
前記リモートストレージロケーションにおける、前記ファイルについての前記バックアップＶＨＤからの１またはそれ以上の非変更部分を、前記コンピュータシステムにダウンロードすることによって、
前記ファイルを復元することを特徴とする、コンピュータシステム。
【請求項２１】
コンピュータシステムであって、
プロセッサと、
命令を含むコンピュータ可読ストレージ装置であって、前記命令はプロセッサによって実行されるときに、前記プロセッサに、
第１のポイントインタイム（ＰＩＴ）においてバックアップ仮想ハードドライブＶＨＤを受信させ、
前記第１のＰＩＴに後続する第２のＰＩＴにおいて第１の前方差分ＶＨＤを受信させ、該第１の前方差分ＶＨＤが、前記第１のＰＩＴおよび前記第２のＰＩＴ間での前記バックアップＶＨＤに対する変更を示しており、
前記第２のＰＩＴに後続する第３のＰＩＴにおいて第２の前方差分ＶＨＤを受信させ、該第２の前方差分ＶＨＤが、前記第２のＰＩＴおよび前記第３のＰＩＴ間での前記バックアップＶＨＤに対する変更を示しており、
前記第３のＰＩＴに対応する第３の自己完結型バックアップＶＨＤと、前記第２のＰＩＴに対応する第２の後方差分ＶＨＤとを生成させる、
コンピュータ可読ストレージ装置と、
を備えており、
前記第３の自己完結型バックアップＶＨＤを生成する前に、前記プロセッサが、
特定のファイルを前記第３のＰＩＴに復元し、
前記特定のファイルについての前記ＶＨＤからの非変更部分を、また、前記特定のファイルについての前記第１の前方差分ＶＨＤおよび前記第２の前方差分ＶＨＤからの変更部分をダウンロードし、
前記第３の自己完結型バックアップＶＨＤを生成した後に、前記特定のファイルが、前記第３の自己完結型バックアップＶＨＤを用いることによって、前記第１の前方差分ＶＨＤまたは前記第２の前方差分ＶＨＤに依存することなく、前記第３のＰＩＴに復元可能であることを特徴とする、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メタデータ仮想ハードドライブおよび差分仮想ハードドライブを使用するバックアップに関する。
【背景技術】
【０００２】
ビジネスがますますコンピュータ指向になるのにつれて、不測のデータ損失に対する保護の重要性が増大している。多くの企業レベルのデータのバックアップシステムは、何らかの形式のオンサイトのデータ記憶装置を備える。例えば、企業は、バックアップデータのホスティング専用のデータ記憶装置（例えば、専用のバックアップ記憶サーバ）にバックアップデータを定期的に記憶させることができる。ユーザレベルでは、ユーザワークステーションのハードディスクをパーティションする（例えば、半分に分割する）ことができ、プライマリパーティションに記憶されるデータをセカンダリパーティションに定期的にコピーすることができる。プライマリパーティションが復元されると、セカンダリパーティションからのデータはプライマリパーティションにコピーすることができる。そのようなバックアップシステムは、企業におけるデータ記憶のコストを増大させることになり（例えば、バックアップディスクまたは他のデータ記憶装置を購入し保持するため）、また、企業におけるデータ記憶装置の利用を減少させることなる（例えば、データ記憶装置容量のある部分がバックアップ専用にされるため、「使用中の」データを記憶するために利用できるデータ記憶容量が減少してしまう）。
【発明の概要】
【０００３】
メタデータ仮想ハードドライブ（ＶＨＤ）と差分ＶＨＤとを使用するバックアップのシステムおよび方法を開示する。コンピュータシステムにおけるデータボリュームのためのバックアップＶＨＤと、バックアップＶＨＤに対応するメタデータＶＨＤとが初期バックアップ動作中に作成される。バックアップＶＨＤはリモートストレージロケーション（例えば、オンラインクラウドストレージロケーション）に送信され、一方、メタデータＶＨＤは、大きさをバックアップＶＨＤよりもかなり小さくすることができ、コンピュータシステムにおいて保持される。データボリュームのファイルに対して変更が行われると、変更を示す差分ＶＨＤが作成され、メタデータＶＨＤが更新されて変更が反映される。差分ＶＨＤはまた、バックアップＶＨＤよりかなり小さくすることができる。何故なら、差分ＶＨＤが前回のバックアップ動作以降に変更されたファイルの部分を含むだけだからである。後続のバックアップ動作中、データボリュームは、新しいバックアップＶＨＤを作成することなくバックアップされる。その代わり、更新後のメタデータＶＨＤのコピーと差分ＶＨＤとをリモートストレージロケーションに送信することができる。
【０００４】
メタデータＶＨＤおよび差分ＶＨＤを使用することにより、バックアップＶＨＤをコンピュータシステムに記憶させることを必要とせずに、コンピュータシステムのデータボリュームをバックアップすることができる。さらに、バックアップＶＨＤ全体を他のコンピュータシステムにダウンロードすることなく、メタデータＶＨＤおよび差分ＶＨＤを使用して特定のファイルを他のコンピュータシステムに復元することができる。従って、メタデータＶＨＤおよび差分ＶＨＤの使用により、シングルインスタンスのマシンに依存しないバックアップを可能にすることができる。例えば、複数のコンピュータシステムは、リモートに記憶される単一のバックアップＶＨＤからファイルをリカバリすることができる。
【０００５】
この要約は、以下の「発明を実施するための形態」でさらに述べる概念を選択して簡略化した形式で紹介するために提供するものである。この要約は、請求の主題の重要な特徴または主要な特徴を特定することを意図しておらず、請求の主題の範囲を制限するものとして使用されることも意図していない。
【図面の簡単な説明】
【０００６】
【図１】メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップのシステムの特定の実施形態を例示するブロック図である。
【図２】メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップのシステムの別の特定の実施形態を例示するブロック図である。
【図３】図１または図２のメタデータＶＨＤの特定の実施形態を例示する図である。
【図４】前方差分ＶＨＤを後方差分ＶＨＤに変換する方法の特定の実施形態を例示する図である。
【図５】メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップの方法の特定の実施形態を例示するフロー図である。
【図６】メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップの方法の別の特定の実施形態を例示するフロー図である。
【図７】差分ＶＨＤを使用するバックアップをサポートする方法の特定の実施形態を例示するフロー図である。
【図８】前方差分ＶＨＤを後方差分ＶＨＤに変換するステップを含む、差分ＶＨＤを使用するバックアップをサポートする方法の別の特定の実施形態を例示するフロー図である。
【図９】図１から８に例示されるような、コンピュータに実装される方法、コンピュータプログラム製品、およびシステム構成要素の実施形態を支援するべく動作可能なコンピュータ装置を含むコンピュータ環境のブロック図である。
【発明を実施するための形態】
【０００７】
特定の実施形態において、コンピュータシステムでの初期バックアップ動作中に、コンピュータシステムの記憶装置にてデータボリュームのバックアップＶＨＤを作成するステップ、バックアップＶＨＤに対応するメタデータＶＨＤを作成するステップ、および、バックアップＶＨＤをリモートストレージロケーションに送信するステップ、を含む方法が開示される。この方法はまた、初期バックアップ動作完了後の、データボリュームのファイルに対する変更を検出するステップを含む。方法は、ファイルに対する変更を示す差分ＶＨＤを、メタデータＶＨＤに基づき作成するステップをさらに含む。方法は、メタデータＶＨＤを更新してファイルに対する変更を反映するステップを含む。方法は、コンピュータシステムにおける後続のバックアップ動作中に、更新後のメタデータＶＨＤのコピーと差分ＶＨＤとをリモートストレージロケーションに送信するステップを、さらに含む。
【０００８】
別の特定の実施形態において、コンピュータシステムが開示される。コンピュータシステムは、ファイルシステムに従って記憶されたファイルと、ファイルに対する変更を検出するべく構成されるバックアップエージェントと、を含むメモリ装置を含む。コンピュータシステムはまた、検出された変更をＶＨＤフォーマット形式の変更に翻訳するべく構成される翻訳モジュールを含む。コンピュータシステムは、ＶＨＤフォーマット形式の変更をメモリ装置に記憶されるメタデータＶＨＤに書き込むべく、かつ、メタデータＶＨＤに基づき差分ＶＨＤを生成するべく構成されるＶＨＤモジュールをさらに含む。コンピュータシステムは、メタデータＶＨＤと差分ＶＨＤとをリモート記憶装置に送信するべく構成されるネットワークインターフェースを含む。
【０００９】
別の特定の実施形態において、命令を含むコンピュータ可読媒体が開示され、この命令がコンピュータにより実行されると、コンピュータに第１のポイントインタイム（ＰＩＴ）にてバックアップＶＨＤを受信させ、第２のＰＩＴにて第１の前方差分ＶＨＤを受信させる。第２のＰＩＴは、第１のＰＩＴの後に続き、第１の前方差分ＶＨＤは、第１のＰＩＴ以降のバックアップＶＨＤに対する変更を示す。コンピュータ可読媒体はまた、命令を含み、この命令がコンピュータにより実行されると、コンピュータに、リモートクライアントが特定のファイルを第１のＰＩＴに戻すよう要求していることを示す指標の受け取りに応じて、バックアップＶＨＤからリモートのクライアントに特定のファイルを送信させる。コンピュータ可読媒体はさらに命令を含み、この命令がコンピュータにより実行されると、コンピュータに、リモートクライアントが特定のファイルを第２のＰＩＴに戻すよう要求していることを示す指標の受け取りに応じて、第１の前方差分ＶＨＤから特定のファイルの変更部分を、また、バックアップＶＨＤから特定のファイルの非変更部分を、リモートクライアントに対して送信させる。
【００１０】
なお、本明細書では仮想ハードドライブ（ＶＨＤ）形式に関してメタデータハードドライブおよび差分ハードドライブを使用するバックアップについて記載されるが、記載されるバックアップの方法論は、ファイルまたはブロックシステムを定義することが可能な任意の形式で使用することができる。さらに、バックアップの方法論がウィンドウズ（登録商標）に基づくファイルシステム（例えば、ＮＴファイルシステム（ＮＴＦＳ）およびファイルアロケーションテーブル（ＦＡＴ））を使用して例示されるが、バックアップの方法論は、ユーザ定義のファイルシステム（ＵＤＦＳ）を含む任意のファイルシステムで使用することができる。
【００１１】
図１は、メタデータ仮想ハードドライブ（ＶＨＤ）および差分ＶＨＤを使用するバックアップのシステム１００の特定の実施形態を例示するブロック図である。システム１００には、ネットワーク１３０を介してリモートストレージロケーション１５０に通信可能に連結されるコンピュータシステム１１０が含まれる。一般に、システム１００を使用して、リモートストレージロケーション１５０に、コンピュータシステム１１０のデータボリュームをバックアップすることができる。例えば、リモートストレージロケーション１５０は、オンラインクラウドストレージロケーションまたはネットワークシェア（例えば、別のコンピュータに置かれ、ローカルエリアネットワーク（ＬＡＮ）を介してアクセス可能、ワイドエリアネットワーク（ＷＡＮ）を介してアクセス可能、またはその任意の組み合わせが可能であるもの）とすることができる。
【００１２】
コンピュータシステム１１０にはメモリ１１２が含まれる。例えば、メモリ１１２は、コンピュータシステム１１０におけるＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）またはＲＯＭ（ＲＥＡＤ  ＯＮＬＹ  ＭＥＭＯＲＹ）とすることができる。特定の実施形態において、メモリ１１２は、コンピュータシステム１１０における、ハードディスクまたは着脱可能記憶装置などのデータ記憶装置である。メモリ１１２には、コンピュータシステム１１０により１つまたは複数のファイル１１６を記憶させることができる。メモリ１１２には、本明細書において記載されるように生成かつ更新されるメタデータＶＨＤ１１４を記憶させることもできる。
【００１３】
コンピュータシステム１１０には、バックアップエージェント１１８、翻訳モジュール１２０、およびＶＨＤモジュール１２２が含まれる。バックアップエージェント１１８は、メモリ１１２に記憶されるファイル１１６に対する変更を検出することができる。例えば、バックアップエージェント１１８は、ユーザがコンピュータシステム１１０にてファイル１１６の１つを修正したことを検出することができる。
【００１４】
翻訳モジュール１２０は、バックアップエージェント１１８により検出されるファイル１１６に対する変更を、ＶＨＤフォーマット形式の変更に変換することができる。例えば、ファイル１１６がＮＴファイルシステム（ＮＴＦＳ）に従ってメモリ１１２に記憶される場合、翻訳モジュール１２０は、バックアップエージェント１１８により検出される変更を、ファイル１１６に関連するＮＴＦＳディレクトリ構造情報およびＮＴＦＳファイルエクステント情報に基づき、ＶＨＤフォーマット形式の変更に変換することができる。なお、本明細書において開示される特徴は、例示の目的のみのためにＮＴＦＳの文脈で説明される。本明細書に記載されるようなメタデータＶＨＤおよび差分ＶＨＤを使用するバックアップを、他のファイルシステムと共に使用することができる。
【００１５】
ＶＨＤモジュール１２２は、翻訳モジュール１２０により作成されたＶＨＤフォーマット形式の変更をメモリ１１２のメタデータＶＨＤ１１４に書き込むことができるため、メタデータＶＨＤ１１４は、バックアップエージェント１１８により検出されたファイル１１６に対する変更を反映する。メタデータＶＨＤ１１４の大きさは、ファイル１１６よりもかなり小さくすることができるが、何故なら、メタデータＶＨＤ１１４には、ファイル１１６に関連するメタデータは含まれるが、ファイル１１６の内容が含まれないからである。例えば、メタデータＶＨＤ１１４には、ＮＴＦＳエクステント情報、ＮＴＦＳリパースポイント、およびディレクトリ構造情報を含むことができる。特定の実施形態において、ファイル１１６の内容を記憶する代わりに、メタデータＶＨＤ１１４は、リモートストレージロケーション１５０にてバックアップＶＨＤ１４０内に記憶される対応するファイル１１６のコピーに対するファイルポインタを含む。ＶＨＤモジュール１２２は、バックアップ動作中に、メタデータＶＨＤ１１４に基づき差分ＶＨＤ（例えば、差分ＶＨＤ１４４）を生成することもできる。特定の実施形態において、特定のバックアップ動作中に生成される差分ＶＨＤは、前回のバックアップ動作以降のファイル１１６に対する変更を示す前方差分ＶＨＤである。特定の実施形態において、差分ＶＨＤには、前回のバックアップ動作以降のファイル１１６の変更部分が含まれるが、前回のバックアップ動作以降のファイル１１６の非変更部分は含まれない。ＶＨＤモジュール１２２は、リモートストレージロケーション１５０のバックアップＶＨＤ１４０にアクセスせずに差分ＶＨＤを生成することができる。
【００１６】
コンピュータシステム１１０にはまた、ネットワークインターフェース１２４が含まれる。ネットワークインターフェース１２４は、ネットワーク１３０を介してリモートストレージロケーション１５０にデータを送信することができる。例えば、ネットワークインターフェース１２４は、イーサネットインターフェースまたはＩＥＥＥ８０２．１１無線ネットワークインターフェースなどの有線または無線のネットワークインターフェースとすることができ、また、ネットワーク１３０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、またはインターネットとすることができる。コンピュータシステム１１０における初期バックアップ動作中、ネットワークインターフェースは、バックアップＶＨＤ１４０をリモートストレージロケーション１５０に送信することができる。特定の実施形態において、バックアップＶＨＤ１４０には全てのファイル１１６のコピーが含まれる。バックアップＶＨＤ１４０は、リモートストレージロケーション１５０に記憶させることができる。後続のバックアップ動作中、ネットワークインターフェース１２４は、メタデータＶＨＤ１１４のコピー１４２と差分ＶＨＤ１４４とをリモートストレージロケーション１５０に送信することができ、メタデータＶＨＤ１１４および差分ＶＨＤ１４４は両方ともバックアップＶＨＤ１４０よりもかなり大きさが小さい。特定の実施形態において、リモートストレージロケーション１５０は、メタデータＶＨＤ１１４のコピー１４２と差分ＶＨＤ１４４とを記憶するオンラインクラウドストレージロケーションである。
【００１７】
動作中、システム１００を使用して、コンピュータシステム１１０からリモートストレージロケーション１５０にデータを効率的にバックアップすることができる。例えば、初期バックアップ動作中、ＶＨＤモジュール１２２はバックアップＶＨＤ１４０を生成することができ、ネットワークインターフェース１２４はネットワーク１３０を介してリモートストレージロケーション１５０にバックアップＶＨＤ１４０を送信することができる。特定の実施形態において、コンピュータシステム１１０がアイドル状態または使用されていない時に、バックアップＶＨＤ１４０が自動的に生成されリモートストレージロケーション１５０に送信される。メタデータＶＨＤ１１４はまた、初期バックアップ動作中に生成されても良い。
【００１８】
コンピュータシステム１１０におけるバックアップエージェント１１８は、コンピュータシステム１１０のファイル１１６に対する変更を検出かつ追跡することができる。例えば、バックアップエージェント１１８は、コンピュータシステム１１０における最新の成功裏に完了したバックアップ動作以降の、ファイル１１６に対する変更のログを保持することができる。翻訳モジュール１２０は、バックアップエージェント１１８により検出されたファイル１１６に対する変更をＶＨＤフォーマットに翻訳することができる。後続のバックアップ動作（例えば、自動的にスケージュリングされたバックアップ動作、またはユーザ起動のバックアップ動作）中、ファイル１１６に対する変更を示す差分ＶＨＤ１４４を作成することができ、また、メタデータＶＨＤ１１４を更新してファイル１１６に対する変更を反映させることができる。差分ＶＨＤ１４４とメタデータＶＨＤ１１４のコピー１４２とを、リモートストレージロケーション１５０に送信することができる。
【００１９】
第２の後続のバックアップ動作中、更新済みのメタデータＶＨＤ１１４に基づき第２の差分ＶＨＤを作成することができ、更新済みのメタデータＶＨＤ１４４を再更新することができ、２回の更新済みメタデータＶＨＤ１１４のコピーと第２の差分ＶＨＤと（図１には図示せず）をリモートストレージロケーション１５０に送信することができる。
【００２０】
図１のシステム１００が、バックアップデータをリモートストレージロケーション１５０に送信し、それにより、メモリ１１２における利用可能な記憶空間を増大させることにより、コンピュータシステム１１０の性能を向上させることができることが理解されるであろう。また、図１のシステム１００が、初期バックアップ動作中に、より大きなバックアップＶＨＤをリモートストレージロケーション１５０に送信することにより、かつ、後続のバックアップ動作中に、より小さなメタデータＶＨＤおよび差分ＶＨＤをリモートストレージロケーション１５０に送信することにより、性能を向上させることができることが理解されるであろう。さらに、バックアップＶＨＤ１４０、メタデータＶＨＤ１１４のコピー１４２、および差分ＶＨＤ１４４を使用して、コンピュータシステム１１０においてファイル１１６を復元することができることが理解されるであろう。例えば、コンピュータシステム１１０は、リモートストレージロケーション１５０のバックアップＶＨＤ１４０から特定のファイルをダウンロードすることにより、ファイル１１６の特定のファイルを初期バックアップ動作に対応するポイントインタイム（ＰＩＴ）に復元することができる。特定のファイルを、第１の後続のバックアップ動作（例えば、「変更後」状態の特定のファイル）に対応するＰＩＴに復元するには、コンピュータシステム１１０に、特定のファイルの非変更部分をバックアップＶＨＤ１４０からダウンロードし、かつ、特定のファイルの変更部分を差分ＶＨＤ１４４からダウンロードすれば良い。特定のファイルを、第２のバックアップ動作（例えば、「２回の変更後」状態の特定のファイル）に対応するＰＩＴに復元するには、特定のファイルの非変更部分をバックアップＶＨＤからダウンロードし、かつ、特定のファイルの変更部分を差分ＶＨＤ１４４および第２の差分ＶＨＤからダウンロードすれば良い。
【００２１】
なお、図１に例示される特定の実施形態では、コンピュータシステム１１０からリモートストレージロケーション１５０へのデータのバックアップが示されるが、リモートストレージロケーション１５０から別のリモートストレージロケーションへのデータのバックアップを同様に実行することができる。従って、図１に例示されるバックアップの方法論が、複数のリモートストレージロケーション（例えば、オンラインクラウドの記憶場所）を使用するデータ複製とデータ冗長性のシナリオを可能にすることができることは理解されるであろう。例えば、データ冗長性の第１の層は、企業におけるコンピュータシステムについて、企業に設置されるネットワークシェア（例えば、サーバ）にコンピュータシステムからデータをバックアップすることにより達成される。データ冗長性の第２の層は、ネットワークシェアから、オンラインクラウドの記憶場所にデータ（例えば、企業の全てのそのようなコンピュータシステムからのバックアップデータ）をバックアップすることにより達成される。
【００２２】
図２は、メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップのシステム２００の別の特定の実施形態を例示するブロック図である。システム２００には、ネットワーク２３０を介してオンラインクラウドストレージロケーション２５０に通信可能に連結される、第１のコンピュータシステム２１０および第２のコンピュータシステム２７０が含まれる。例示の実施形態において、第１のコンピュータシステム２１０は図１のコンピュータシステム１１０であり、オンラインクラウドストレージロケーション２５０は図１のリモートストレージロケーション１５０であり、ネットワーク２３０は図１のネットワーク１３０である。
【００２３】
第１のコンピュータシステム２１０には、ＮＴファイルシステム（ＮＴＦＳ）に従ってファイル２１６を記憶するメモリ２１２が含まれる。なお、本明細書において開示される特徴は、例示の目的のみのためにＮＴＦＳの文脈で説明される。本明細書に記載されるようなメタデータＶＨＤおよび差分ＶＨＤを使用するバックアップは、他のファイルシステムと共に使用することができる。メモリ２１２にはまた、図１のメタデータＶＨＤ１１４を参照して本明細書に記載されるような、バックアップ動作中に生成かつ更新されるメタデータＶＨＤ２１４を含むことができる。第１のコンピュータシステム２１０は、図１のバックアップＶＨＤ１４０、メタデータＶＨＤ１１４のコピー１４２、および前方差分ＶＨＤ１４４を参照して本明細書に記載されるような、バックアップＶＨＤ２４０、メタデータＶＨＤ２１４のコピー２４２、および前方差分ＶＨＤ２４４を、オンラインクラウドストレージロケーション２５０に送信することができる。
【００２４】
第２のコンピュータシステム２７０にはメモリ２７２が含まれる。例えば、メモリ２７２は、ＮＴＦＳファイルシステム、またはＦＡＴ１６、ＦＡＴ３２、もしくは拡張ＦＡＴ（ｅｘＦＡＴ）などのファイルアロケーションテーブル（ＦＡＴ）ファイルシステムに従って、ファイルを記憶することができる。図２のシステム２００を使用して、図１のコンピュータシステム１１０について本明細書において記載されるように、第１のコンピュータシステム２１０にファイルを復元することができる。また、図２のシステム２００を使用して、第２のコンピュータシステム２７０にファイルを復元することもできる。
【００２５】
第１のコンピュータシステム２１０における初期バックアップ動作中、バックアップＶＨＤ２４０をオンラインクラウドストレージロケーション２５０に送信することができる。コンピュータシステム２１０における後続のバックアップ動作中、メタデータＶＨＤ２１４のコピー２４２と前方差分ＶＨＤ２４４とをオンラインクラウドストレージロケーション２５０に送信することができる。ファイル２４０、２４２および２４４を使用して、コンピュータシステム２１０以外のコンピュータシステムにファイル２１６を復元することができる。例えば、第２のコンピュータシステム２７０は、復元ファイル２７６（例えば、ファイル２１６のコピー）を生成することができる。第１のコンピュータシステム２１０における初期バックアップ動作に対応するポイントインタイム（ＰＩＴ）にファイル２１６を復元するために、第２のコンピュータシステム２７０は、オンラインクラウドストレージロケーション２５０のバックアップＶＨＤ２４０からファイル２１６をダウンロードし、復元ファイル２７６として記憶することができる。第１のコンピュータシステム２１０における後続のバックアップ動作に対応するＰＩＴにファイル２１６を復元するために、第２のコンピュータシステム２７０は、バックアップＶＨＤ２４０からファイル２１６の非変更部分２６４をダウンロードすることができ、また、オンラインクラウドストレージロケーション２５０の前方差分ＶＨＤ２４４の内の１つまたは複数からファイル２１６の変更部分２６２をダウンロードすることができる。次に、第２のコンピュータシステム２７０は、変更部分２６２と非変更部分２６４を組み合わせることにより復元ファイル２７６を生成することができる。第２のコンピュータシステム２７０は、復元ファイル２７６に関連するＰＩＴに対応するオンラインクラウドストレージロケーション２５０からメタデータＶＨＤ２１４のコピーをダウンロードすることもできるため、第１のコンピュータシステム２１０について本明細書において記載されるように、復元ファイル２７６に対する将来の変更をオンラインクラウドストレージロケーション２５０にバックアップすることができる。特定の実施形態において、ダウンロードされたメタデータＶＨＤ２１４のコピーを第２のコンピュータシステム２７０において使用して、バックアップＶＨＤ２５０に記憶される特定のファイルの閲覧、検索および高粒度なリカバリの起動を行うことができる。特定の実施形態において、そのような閲覧、検索およびリカバリは、第２のコンピュータシステム２７０においてアプリケーション（例えば、オペレーティングシステムユーティリティ）を介して実行される。
【００２６】
図２のシステム２００では、複数のコンピュータシステム（例えば、コンピュータシステム２１０および２７０）にわたるバックアップデータ（例えば、ファイル２４０、２４２および２４４）の共有を可能にすることができることが理解されるであろう。従って、図２のシステム２００では、複数のコンピュータシステムにおける効率的なバックアップおよび復元の動作を可能にすることができることが理解されるであろう。
【００２７】
図３は、メタデータＶＨＤ３００の特定の実施形態を例示する図である。例示の実施形態において、メタデータＶＨＤ３００は、図１のメタデータＶＨＤ１１４または図２のメタデータＶＨＤ２１４の代表例である。なお、本明細書において開示される特徴は、例示の目的のみのためにＮＴＦＳの文脈で説明される。本明細書に記載されるようなメタデータＶＨＤおよび差分ＶＨＤを使用するバックアップは、他のファイルシステムと共に使用することができる。
【００２８】
特定の実施形態において、メタデータＶＨＤ３００は、ＮＴＦＳエクステントに基づくバックアップスキームにおいて使用される。そのような実施形態において、メタデータＶＨＤ３００にはＮＴＦＳエクステント情報３１０を含むことができる。バックアップ動作中、変更データは、ＮＴＦＳエクステント情報内に記憶されるデータ実行ポインタに従ってリモートストレージロケーションに書き込むことができる。コンピュータシステムにおける復元動作中、メタデータＶＨＤ３００を、コンピュータシステムにダウンロードし、復元対象の個々のファイルの閲覧および選択を可能にすることができ、また、ＮＴＦＳエクステント情報内に記憶されるデータ実行ポインタをトラバースすることにより復元用に選択されたファイルをリモートストレージロケーションからダウンロードすることができる。
【００２９】
別の特定の実施形態において、メタデータＶＨＤ３００はメタデータ細断に基づくバックアップスキームと共に使用される。そのような実施形態において、メタデータＶＨＤ３００は、ディレクトリ構造情報３３０およびファイルポインタ３４０を含むことができる。バックアップ動作中、ディレクトリ構造情報３３０を更新してメタデータＶＨＤ３００に関連するデータボリュームにおけるデータ変更を反映することができ、また、変更後のデータは、ファイルポインタ３４０に従ってリモートストレージロケーションに記憶することができる。復元動作中、ファイルポインタ３４０をトラバースすることにより、復元用に選択されたファイルをフェッチすることができる。
【００３０】
別の特定の実施形態において、メタデータＶＨＤ３００はＮＴＦＳリパースポイントに基づくバックアップスキームにおいて使用される。そのような実施形態において、メタデータＶＨＤ３００は、ＮＴＦＳリパースポイント３２０およびディレクトリ構造情報３３０を含むことができる。バックアップ動作中、ディレクトリ構造情報３３０を更新してメタデータＶＨＤ３００に関連するデータボリュームにおけるデータ変更を反映することができる。メタデータＶＨＤ３００に記憶されるファイル名は、リモートストレージロケーションにおいて記憶されるファイルのコピーの一方に対するＮＴＦＳリパースポイント３２０（例えば、シンボリックリンク）とすることができる。復元動作中、ＮＴＦＳリパースポイント３２０を解決することにより、復元用に選択されたファイルをダウンロードすることができる。
【００３１】
使用される特定のバックアップスキーム（例えば、ＮＴＦＳエクステント、メタデータ細断、またはＮＴＦＳリパースポイント）にかかわらず、メタデータＶＨＤ３００により、コンピュータシステムにおいてデータ無しのまたはデータの少ないローカルデータバックアップを可能にすることができることは理解されるであろう。その代わりに、リモートストレージロケーションにファイルデータを記憶することができる。また、メタデータＶＨＤ３００により個々のファイルの選択的な閲覧およびリカバリを可能にすることができることも理解されるであろう。
【００３２】
図４は、前方差分ＶＨＤを後方差分ＶＨＤに変換する方法４００の特定の実施形態を例示する図である。図１の差分ＶＨＤ１４４および図２の前方差分ＶＨＤ２４４について本明細書において記載したように、差分ＶＨＤを使用すると、コンピュータシステムにおいてファイルの変更部分を含むが非変更部分を含まないことにより、コンピュータシステムにおけるバックアップ動作の性能を向上させることができる。しかし、前方差分ＶＨＤの数が増えると（例えば、連続したバックアップ動作により）、ファイルを「現在の」状態に復元するために要する時間が増えることになる。例えば、バックアップＶＨＤの作成後に４回の連続するバックアップ動作が起こる場合、頻繁に更新されるファイルの復元には、４回の連続するバックアップ動作中に生成される４つの前方差分ＶＨＤのそれぞれからのファイルの変更部分のダウンロードが含まれる場合がある。複数の前方差分ＶＨＤからの情報に基づく更新後のファイルの再構築は、復元動作またはバックアップ動作の全体の性能を低下させてしまう恐れがある。従って、特定の実施形態において、図４に例示するように、前方差分ＶＨＤ（例えば、リモートストレージロケーションに記憶される）を、後方差分ＶＨＤに変換して復元動作中に参照される差分ＶＨＤの数を減らすことにより性能を向上させることができる。
【００３３】
前方差分ＶＨＤの後方差分ＶＨＤへの変換を例示するために、月に１回リモートストレージロケーションに対してバックップを行うコンピュータシステムを考える。１月の初期バックアップ中（すなわち、１月ＰＩＴ）、自己完結型バックアップＶＨＤ４０２が生成され、リモートストレージロケーションに送信される。１月の自己完結型バックアップＶＨＤ４０２が「自己完結型」と呼ばれるのは、ファイルを他のＶＨＤ（例えば、差分ＶＨＤ）を参照せずに１月ＰＩＴに戻すことができるからである。２月の第１の後続バックアップ動作中、前方差分ＶＨＤ４０４が生成されてリモートストレージロケーションに転送され、リモートストレージロケーションにおいて、前方差分ＶＨＤ４０４は、１月ＰＩＴと２月ＰＩＴとの間に行われたファイル変更を示す。同様に、３月の第２の後続バックアップ動作中、前方差分ＶＨＤ４０６が生成されてリモートストレージロケーションに転送され、リモートストレージロケーションにおいて、前方差分ＶＨＤ４０６は、２月ＰＩＴと３月ＰＩＴとの間に行われたファイル変更を示す。
【００３４】
１月ＰＩＴに特定のファイルを復元するために、コンピュータシステムは自己完結型バックアップＶＨＤ４０２から特定のファイルをダウンロードすることができる。２月ＰＩＴに特定のファイルを復元するために、コンピュータシステムは、自己完結型バックアップＶＨＤ４０２から特定のファイルの非変更部分を、および、前方差分ＶＨＤ４０４から特定のファイルの変更部分をダウンロードすることができる。３月ＰＩＴに特定のファイルを復元するために、コンピュータシステムは、自己完結型バックアップＶＨＤ４０２から特定のファイルの非変更部分を、および、前方差分ＶＨＤ４０４および４０６の両方から特定のファイルの変更部分をダウンロードすることができる。
【００３５】
バックアップおよび復元のパターンを観察すると、復元動作の内大きな割合を、最終ＰＩＴへのファイルの復元が占めていると判定できる。例えば、図４に例示される実施形態において、復元動作の内３月ＰＩＴへのファイルの復元が大きな割合を占めるものとできる。それぞれのそのような復元動作が、複数の前方差分ＶＨＤ（例えば、前方差分ＶＨＤ４０４および４０６）からデータをダウンロードすることを伴い得ることを分かるであろう。そのような通常発生する復元動作の性能を向上させるために、前方差分ＶＨＤ４０４および４０６を後方差分ＶＨＤに変換することができる。
【００３６】
例えば、１月ＰＩＴに対応する自己完結型バックアップＶＨＤ４０２を、２月ＰＩＴに対応する前方差分ＶＨＤ４０４に基づき更新することができる。その結果得られる自己完結型バックアップＶＨＤ４１４により、他のＶＨＤを参照せずにファイルを２月ＰＩＴに復元させることができる。更新動作中、１月ＰＩＴに対応する後方差分ＶＨＤ４１２も作成される。後方差分ＶＨＤ４１２は、更新動作中に行われた変更をどのように「アンドゥ」するのかについて効率的に記述することができるため、自己完結型バックアップＶＨＤ４１４からファイルの変更部分を、および、後方差分ＶＨＤ４１２からファイルの非変更部分をダウンロードすることにより、１月ＰＩＴにファイルを復元させることができる。３月ＰＩＴに対応する前方差分ＶＨＤ４１６は、変更されない（例えば、前方差分ＶＨＤ４０６と同じ）ものとすることができる。
【００３７】
そして更新動作が繰り返され、３月ＰＩＴに対応する自己完結型バックアップＶＨＤ４２６と、２月ＰＩＴに対応する後方差分ＶＨＤ４２４とが生成される。１月ＰＩＴに対応する後方差分ＶＨＤ４２２は、無変更のまま（例えば、後方差分ＶＨＤ４１２と同じ）とすることができる。従って、３月ＰＩＴについての通常発生する復元動作は、もはや複数の差分ＶＨＤ（例えば、１月および２月それぞれの前方差分ＶＨＤ）を参照しなくても良い。
【００３８】
図４に例示するような前方差分ＶＨＤの後方差分ＶＨＤへの変換では、通常発生する復元動作中に参照される差分ＶＨＤの数を減らすことにより、バックアップおよび復元の動作の性能を向上させることができることが理解されるであろう。例えば、１つまたは複数の差分ＶＨＤ（例えば、リカバリ用に最近は使用されていない古い差分ＶＨＤ）は、例示するように自己完結型バックアップＶＨＤに統合することができ、また、そのような差分ＶＨＤを削除することができる。従って、図４の方法４００を使用して、図１のシステム１００または図２のシステム２００におけるバックアップおよび復元の性能を向上させることができることが理解されるであろう。加えて、前方差分ＶＨＤの後方差分ＶＨＤへの変換は、他のコンピュータシステム（例えば、図１のコンピュータシステム１１０）での計算リソースを使用することなく、リモートストレージロケーション（例えば、図１のリモートストレージロケーション１５０）で行うことができる。
【００３９】
図５は、メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップの方法５００の特定の実施形態を例示するフロー図である。例示の実施形態において、方法５００は、図１のシステム１００または図２のシステム２００により実行することができる。
【００４０】
方法５００は、５０２にて、コンピュータシステムにおいて初期バックアップ動作を実行するステップを含む。例えば、図１では、コンピュータシステム１１０において初期バックアップ動作を実行することができる。
【００４１】
初期バックアップ動作中、方法５００は、５０４にて、コンピュータシステムの記憶装置においてデータボリュームのバックアップＶＨＤを作成するステップを含む。例えば、図１では、バックアップＶＨＤ１４０を作成することができ、バックアップＶＨＤは、ファイル１１６を含むメモリ１１２におけるデータボリュームに関連付けられる。方法５００はまた、５０６にて、初期バックアップ動作中、バックアップＶＨＤに対応するメタデータＶＨＤを作成するステップを含む。例えば、図１では、メタデータＶＨＤ１１４を作成することができる。方法５００はさらに、５０８にて、初期バックアップ動作中、リモートストレージロケーションにバックアップＶＨＤを送信するステップを含む。例えば、図１では、リモートストレージロケーション１５０にバックアップＶＨＤ１４０を送信することができる。
【００４２】
方法５００は、５１０にて、初期バックアップ動作の完了後、データボリュームのファイルへの変更を検出するステップを含む。例えば、図１では、バックアップエージェント１１８は、ファイル１１６の特定のファイルへの変更を検出することができる。
【００４３】
方法５００はまた、５１２にて、メタデータＶＨＤに基づき差分ＶＨＤを作成するステップも含み、差分ＶＨＤがファイルに対する変更を示す。例えば、図１では、ＶＨＤモジュール１２２が差分ＶＨＤ１４４を作成することができ、差分ＶＨＤ１１４はファイル１１６の特定のファイルに対する変更を示す。
【００４４】
方法５００はさらに、５１４にて、メタデータＶＨＤを更新してファイルに対する変更を反映するステップを含む。例えば、図１では、メタデータＶＨＤ１１４を更新することができる。方法５００は、５１６にて、コンピュータシステムにおける後続のバックアップ動作中、リモートストレージロケーションに更新後のメタデータＶＨＤのコピーと差分ＶＨＤとを送信するステップを含む。例えば、図１では、メタデータＶＨＤ１１４のコピー１４２と差分ＶＨＤ１４４とを、リモートストレージロケーション１５０に送信することができる。
【００４５】
図５の方法５００では、コンピュータシステムにおいてデータ無しのまたはデータの少ないローカルデータバックアップを可能にすることができることは理解されるであろう。また、図５の方法５００では、リモートストレージロケーションにバックアップデータを送信することにより、コンピュータシステムにおける利用可能な記憶空間を増大させることができることも理解されるであろう。
【００４６】
図６は、メタデータＶＨＤおよび差分ＶＨＤを使用するバックアップの方法６００の別の特定の実施形態を例示するフロー図である。例示の実施形態において、方法６００は、図１のシステム１００または図２のシステム２００により実行することができる。
【００４７】
方法６００は、６０２にて、コンピュータシステムにおいて初期バックアップ動作を実行するステップを含む。例えば、図１では、初期バックアップ動作をコンピュータシステム１１０において実行することができる。
【００４８】
初期バックアップ動作中、方法６００は、６０４にて、コンピュータシステムの記憶装置においてデータボリュームのシングルインスタンスストレージ（ＳＩＳ）バックアップＶＨＤを作成するステップを含む。例えば、図１では、バックアップＶＨＤ１４０を作成することができ、バックアップＶＨＤ１４０は、ファイル１１６を含むメモリ１１２におけるデータボリュームに関連付けられる。方法６００はまた、６０６にて、初期バックアップ動作中、バックアップＶＨＤに対応するメタデータＶＨＤを作成するステップを含む。例えば、図１では、メタデータＶＨＤ１１４を作成することができる。方法６００はさらに、６０８にて、初期バックアップ動作中、リモートストレージロケーションにバックアップＶＨＤを送信するステップを含む。例えば、図１では、リモートストレージロケーション１５０にバックアップＶＨＤ１４０を送信することができる。
【００４９】
方法６００は、６１０にて、初期バックアップ動作の完了後、データボリュームのファイルへの変更を検出するステップを含む。例えば、図１では、バックアップエージェント１１８は、ファイル１１６の特定のファイルへの変更を検出することができる。
【００５０】
方法６００はまた、６１２にて、ファイルに対する変更を示す差分ＶＨＤを作成するステップを含む。例えば、図１では、ＶＨＤモジュール１２２は、差分ＶＨＤ１４４を作成することができ、差分ＶＨＤ１１４は、ファイル１１６の特定のファイルに対する変更を示す。
【００５１】
方法６００はさらに、６１４にて、メタデータＶＨＤを更新してファイルに対する変更を反映させるステップを含む。例えば、図１では、メタデータＶＨＤ１１４を更新することができる。方法６００は、６１６にて、コンピュータシステムにおける後続のバックアップ動作中、リモートストレージロケーションに更新後のメタデータＶＨＤのコピーと差分ＶＨＤとを送信するステップを含む。例えば、図１では、メタデータＶＨＤ１１４のコピー１４２と差分ＶＨＤ１４４とを、リモートストレージロケーション１５０に送信することができる。
【００５２】
バックアップデータがリモートストレージロケーションに送信されると、バックアップデータはファイルを復元するために使用される。例えば、コンピュータシステムのユーザは、コンピュータシステムにて復元動作を起動することができる。方法６００はまた、６１８にて、コンピュータシステムにおいて変更後のファイルを復元するステップを含む。コンピュータシステムにおいて変更後のファイルを復元するステップには、６２０にて、リモートストレージロケーションの差分ＶＨＤから変更後のファイルの１つまたは複数の変更部分をダウンロードするステップが含まれる。例えば、図１では、ファイル１１６の特定のファイルの１つまたは複数の変更部分を、リモートストレージロケーション１５０の差分ＶＨＤ１４４からダウンロードすることができる。特定の実施形態において、ファイル１１６の特定のファイルの変更部分は、図２の変更部分２６２について本明細書において記載されるように、ダウンロードされる。
【００５３】
コンピュータシステムにおいて変更後ファイルを復元するステップにはまた、６２２にて、リモートストレージロケーションのバックアップＶＨＤからファイルの１つまたは複数の非変更部分をダウンロードするステップが含まれる。例えば、図１では、ファイル１１６の１つまたは複数の非変更部分を、リモートストレージロケーション１５０のバックアップＶＨＤ１４０からダウンロードすることができる。特定の実施形態において、ファイル１１６の非変更部分は、図２の非変更部分２６４について本明細書において記載されるようにダウンロードされる。
【００５４】
コンピュータシステムにおいて変更後ファイルを復元するステップにはさらに、６２４にて、１つまたは複数の変更部分と１つまたは複数の非変更部分とに基づき、コンピュータシステムにおいて変更後のファイルを生成するステップが含まれる。例えば、図１では、ファイル１１６を、１つまたは複数の変更部分と１つまたは複数の非変更部分とに基づき復元することができる。例えば、１つまたは複数の変更部分と１つまたは複数の非変更部分とを、コンピュータシステムにおいて組み合わせて復元ファイルを形成することができる。
【００５５】
図７は、差分ＶＨＤを使用するバックアップをサポートする方法７００の特定の実施形態を例示するフロー図である。例示の実施形態において、方法７００は、図１のリモートストレージロケーション１５０または図２のオンラインクラウドストレージロケーション２５０において実行することができる。
【００５６】
方法７００は、７０２にて、第１のＰＩＴでバックアップＶＨＤを受信するステップを含む。例えば、図２を参照すると、バックアップＶＨＤ２４０を、オンラインクラウドストレージロケーション２５０において受信することができる。
【００５７】
方法７００はまた、７０４にて、第１のＰＩＴに続く第２のＰＩＴで前方差分ＶＨＤを受信するステップを含み、前方差分ＶＨＤは第１のＰＩＴ以降のバックアップＶＨＤに対する変更を示す。例えば、図２を参照すると、前方差分ＶＨＤ２４４の内の１つを、オンラインクラウドストレージロケーション２５０においてバックアップＶＨＤ２４０の受信の後に続き、受信することができる。
【００５８】
方法７００はさらに、リモートクライアントにおいて復元動作をサポートするステップを含む。７０６にて、リモートクライアントが第１のＰＩＴに特定のファイルを戻すよう要求していることを示す指標が受け取られる場合に、方法７００は、７０８にて、バックアップＶＨＤからリモートクライアントに特定のファイルを送信するステップを含む。例えば、図２を参照すると、オンラインクラウドストレージロケーション２５０は、第２のコンピュータシステム２７０が第１のＰＩＴに特定のファイルを戻すよう要求していることを示す指標を受け取るのに応じて、第２のコンピュータシステム２７０に特定のファイルを送信することができる。
【００５９】
７１０にて、リモートクライアントが第２のＰＩＴに特定のファイルを戻すよう要求していることを示す指標が受け取られる場合、方法７００は、７１２にて、リモートクライアントに、前方差分ＶＨＤから特定のファイルの変更部分を送信するステップ、および、バックアップＶＨＤから特定のファイルの非変更部分を送信するステップを含む。例えば、図２を参照すると、オンラインクラウドストレージロケーション２５０は第２のコンピュータシステム２７０に変更部分２６２および非変更部分２６４を送信することができる。
【００６０】
図４について上述したように、前方差分ＶＨＤの後方差分ＶＨＤへの変換により、バックアップおよび復元の動作の性能を向上させることができる。図８は、差分ＶＨＤを使用してバックアップをサポートする方法８００の別の特定の実施形態を例示するフロー図であり、前方差分ＶＨＤを後方差分ＶＨＤに変換するステップを含む。例示の実施形態において、方法８００は、図１のリモートストレージロケーション１５０または図２のオンラインクラウドストレージロケーション２５０において実行することができる。
【００６１】
方法８００は、８０２にて、第１のＰＩＴでバックアップＶＨＤを受信するステップを含む。例えば、図２を参照すると、バックアップＶＨＤ２４０を、オンラインクラウドストレージロケーション２５０で受信することができる。
【００６２】
方法８００はまた、８０４にて、第１のＰＩＴに続く第２のＰＩＴで前方差分ＶＨＤを受信するステップを含み、前方差分ＶＨＤは、第１のＰＩＴ以降のバックアップＶＨＤに対する変更を示す。例えば、図２を参照すると、前方差分ＶＨＤ２４４の内の１つを、オンラインクラウドストレージロケーション２５０においてバックアップＶＨＤ２４０の受信の後に続き、受信することができる。
【００６３】
方法８００はさらに、８０６にて、前方差分ＶＨＤに基づきバックアップＶＨＤを更新するステップと、前方差分ＶＨＤを後方差分ＶＨＤに変換するステップを含む。例えば、図２を参照すると、バックアップＶＨＤ２４０を、前方差分ＶＨＤ２４４の内の１つに基づき更新することができ、また、前方差分ＶＨＤを後方差分ＶＨＤに変換することができる。特定の実施形態において、更新および変換の動作は、図４のＶＨＤ４０２から４２６について本明細書において記載されるように実行される。
【００６４】
方法８００は、リモートクライアントにおける復元動作をサポートするステップを含む。８０８にて、リモートクライアントが第１のＰＩＴに特定のファイルを戻すよう要求していることを示す指標が受け取られる場合、方法８００は、８１０にて、リモートクライアントに、後方差分ＶＨＤから特定のファイルの非変更部分を、および、更新後のバックアップＶＨＤから特定のファイルの変更部分を送信するステップを含む。例えば、図２を参照すると、オンラインクラウドストレージロケーション２５０は、第２のコンピュータシステム２７０に変更部分２６２および非変更部分２６４を送信することができる。
【００６５】
８１２にて、リモートクライアントが第２のＰＩＴに特定のファイルを戻すよう要求していることを示す指標が受け取られる場合、方法８００は、８１４にて、リモートクライアントに更新後のバックアップＶＨＤから特定のファイルを送信するステップを含む。例えば、図２を参照すると、オンラインクラウドストレージロケーション２５０は、第２のコンピュータシステム２７０が第２のＰＩＴに特定のファイルを戻すよう要求していることと示す指標を受け取るのに応じて、第２のコンピュータシステム２７０に特定のファイルを送信することができる。
【００６６】
図９は、本開示に従うコンピュータに実装される方法、コンピュータプログラム製品、およびシステム構成要素の実施形態を支援するべく動作可能なコンピュータ装置９１０を含む、コンピュータ環境９００のブロック図を示す。例示の実施形態において、コンピュータ装置９１０には、図１のネットワークインターフェース１２４、図１のメモリ１１２、図１のエージェント／モジュール１１８、１２０、１２２、図１のリモートストレージロケーション、図２のメモリ２１２、２７２、または、図２のオンラインクラウドストレージロケーション、を含むことができる。図１のネットワークインターフェース１２４、図１のメモリ１１２、図１のエージェント／モジュール１１８、１２０、１２２、図１のリモートストレージロケーション１５０、図２のメモリ２１２、２７２、または図２のオンラインクラウドストレージロケーション２５０のそれぞれは、コンピュータ装置９１０もしくはその一部を含むことができ、またはコンピュータ装置９１０もしくはその一部を使用して実装されて良い。
【００６７】
コンピュータ装置９１０には、少なくとも１つのプロセッサ９２０と、システムメモリ９３０とが含まれる。コンピュータ装置の構成およびタイプに応じて、システムメモリ９３０は、揮発性（例えば、ランダムアクセスメモリすなわち「ＲＡＭ」）、不揮発性（例えば、リードオンリメモリすなわち「ＲＯＭ」、フラッシュメモリ、および、記憶されるデータを電源供給されない時でも保持する類似のメモリ装置）、またはこの２つの何らかの組み合わせ、とすることができる。システムメモリ９３０は典型的には、オペレーティングシステム９３２、１つまたは複数のアプリケーションプラットフォーム、１つまたは複数のアプリケーション（例えば、バックアップエージェント９３４、翻訳モジュール９３６、およびＶＨＤモジュール９３８）を含み、また、１つまたは複数のアプリケーションに関連するプログラムデータを含むことができる。例示の実施形態において、バックアップエージェント９３４は図１のバックアップエージェント１１８であり、翻訳モジュール９３６は図１の翻訳モジュール１２０であり、ＶＨＤモジュール９３８は図１のＶＨＤモジュール１２２である。
【００６８】
コンピュータ装置９１０はまた、追加の特徴または機能性を持つことができる。例えば、コンピュータ装置９１０には、着脱可能および／または着脱不可能な追加のデータ記憶装置、例えば、磁気ディスク、光ディスク、および、標準サイズまたは小型のフラッシュメモリカード、を含むこともできる。そのような追加の記憶装置が、着脱可能記憶装置９４０および着脱不可能記憶装置９５０により図９に例示される。例示の実施形態において、そのような追加の記憶装置には、図１のメモリ１１２、図２のメモリ２１２、または図２のメモリ２７２が含まれる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム要素、または他のデータ等の情報を記憶するための任意の方法または技術により実装される、揮発性および／または不揮発性の記憶装置および着脱可能および／または着脱不可能の媒体を含むことができる。システムメモリ９３０、着脱可能記憶装置９４０、および着脱不可能記憶装置９５０は、全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、制限ではなく例として、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、フラッシュメモリもしくは他のメモリ技術、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｋ）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または情報を記憶するために使用可能かつコンピュータ装置９１０によりアクセス可能な任意の他の媒体、が含まれる。任意のそのようなコンピュータ記憶媒体は、コンピュータ装置９１０の一部とすることができる。コンピュータ装置９１０はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置９６０を含むことができる。ディスプレイ、スピーカ、プリンタなどの出力装置９７０も含まれて良い。
【００６９】
コンピュータ装置９１０はまた、有線または無線のネットワークを介してコンピュータ装置９１０を他のコンピュータ装置９９０と通信させる１つまたは複数の通信接続９８０を含む。例示の実施形態において、通信接続９８０には図１のネットワークインターフェース１２０が含まれる。１つまたは複数の通信接続９８０はまた、コンピュータ装置９１０をリモートストレージロケーション９９２と通信させることができる。例示の実施形態において、リモートストレージロケーション９９２は、図１のリモートストレージロケーション１５０または図２のオンラインクラウドストレージロケーション２５０である。
【００７０】
図９に例示される構成要素もしくは装置、または上記の段落において記載したものの全てが、本明細書に置いて記載される実施形態を支援するために必ずしも必要であるわけではないことは理解されるであろう。例えば、入力装置９６０および出力装置９７０は選択的なものとして良い。
【００７１】
本明細書に記載される実施形態の例示においては、種々の実施形態の構造の一般的な理解を提供することが意図される。例示においては、本明細書に記載される構造または方法を利用する装置およびシステムの全ての要素および特徴を完全に記述することは意図されていない。本開示を精査することにより、当業者には多くの他の実施形態が明らかになるであろう。本開示から他の実施形態を利用すること、および派生させることができ、本開示の範囲から逸脱することなく、構造的および論理的な代替および変更を行うことができる。従って、本開示はおよび図面は、制限するものでなく例示としてみなされるべきものである。
【００７２】
当業者はさらに、本明細書に開示される実施形態と関連して記載される種々の例示の論理ブロック、構成、モジュール、および、プロセスまたは命令のステップを、電子機器、コンピュータソフトウェア、またはその両者の組み合わせとして実装することができることを理解するであろう。種々の例示の構成要素、ブロック、構成、モジュール、またはステップは、概してその機能性の観点から記載された。そのような機能性がハードウェアまたはソフトウェアとして実装されるかどうかは、全体のシステムに課される特定の用途および設計上の制約に依存する。当業者は、それぞれの特定の用途に合わせて様々な様式で記載される機能性を実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００７３】
本明細書に開示される実施形態に関連して記載される方法のステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、またはその２つの組み合わせにおいて直接具現化されて良い。ソフトウェアモジュールは、コンピュータ可読媒体、例えば、ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）、フラッシュメモリ、ＲＯＭ（ＲＥＡＤ  ＯＮＬＹ  ＭＥＭＯＲＹ）、レジスタ、ハードディスク、着脱可能ディスク、ＣＤ−ＲＯＭ、または、従来技術において既知の任意の他の形式の記憶媒体、に常駐させることができる。例示の記憶媒体をプロセッサと連結させて、プロセッサが記憶媒体に情報を読み書きすることを可能にできる。あるいは、記憶媒体をプロセッサと統合させても良く、または、プロセッサと記憶媒体をコンピュータ装置またはコンピュータシステム内に離散構成要素として常駐させても良い。
【００７４】
本明細書において、特定の実施形態が例示され記載されたが、同一または同様の目的を達成するために設計される任意の後続の配備を、示される特定の実施形態と置き換えることができることは理解されるべきである。本開示では、種々の実施形態の任意および全ての後続の適合または変形を包含することが意図される。
【００７５】
本開示の要約は、本開示を使用して請求項の範囲または意味が解釈または制限されることはないことの理解のために提供される。加えて、前述の発明を実施するための形態において、本開示を合理化する目的で、種々の特徴をグループ化すること、または、単一の実施形態内で記載することができる。本開示は、請求される実施形態が各請求項において明示的に列挙される特徴よりも多くの特徴を必要とするという意図を反映するものとして解釈されない。むしろ、以下の請求項により反映されるように、発明の主題は、開示される実施形態のいずれかの全ての特徴よりも少ない特徴を対象とすることができる。
【００７６】
実施形態の上述の記載は、当業者が実施形態を行いまたは使用することを可能にするために提供される。これらの実施形態に対する種々の変形は、当業者には容易に明らかであり、また、本明細書において定義される一般的な原理は、本開示の範囲から逸脱することなく他の実施形態に適用することができる。従って、本開示は、本明細書に示される実施形態に限定されることは意図されず、以下の請求項により定義される原理および新規な特徴と一致する可能性のある最も広い範囲が与えられることが意図される。
【図１】
0005646639.tif 000002
【図２】
0005646639.tif 000003
【図３】
0005646639.tif 000004
【図４】
0005646639.tif 000005
【図５】
0005646639.tif 000006
【図６】
0005646639.tif 000007
【図７】
0005646639.tif 000008
【図８】
0005646639.tif 000009
【図９】
0005646639.tif 000010