(57)【特許請求の範囲】
【請求項１】
ボリューム内にオリジナルの状態をそれぞれ有する複数のファイルをバックアップイメージからボリュームに復元する要求を受け取り、
前記要求に応答して前記ボリュームのスナップショットを呼び出し、
前記複数のファイルを前記バックアップイメージから前記ボリュームに復元するための復元動作を開始し、
前記複数のファイルのそれぞれが正常に復元されたか否かを検出し、
該検出の結果をユーザに提示して前記復元動作が失敗した場合の動作を指定するユーザ入力を受け取り、
該ユーザ入力に応じて前記複数のファイルの全てのファイル又は正常に復元されていない全てのファイルを、前記スナップショットを使用して前記ボリューム内のオリジナルの状態に戻すこと、
を実行可能なプログラム命令を記憶したコンピュータ可読記憶媒体。
【請求項２】
前記ボリュームのスナップショットを呼び出すステップは、前記ボリュームのコピー-オン-ライト・スナップショットを呼び出すステップを含む、
ことを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項３】
前記ボリュームのスナップショットを呼び出すステップは、前記ボリュームのハードウェア提供スナップショットを呼び出すステップを含む、
ことを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項４】
前記ボリュームが複数の記憶装置にミラーリングされ、
前記ボリュームのスナップショットを呼び出すステップは、前記ボリュームが前記複数の記憶装置の第１の記憶装置にミラーリングされるのを中断することにより、前記第１記憶装置が、前記ボリュームのデータを前記復元動作の開始前に存在していた形で保存できるようにするステップを含む、
ことを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項５】
前記プログラム命令は、前記ボリュームにおける前記１又はそれ以上のファイルをそのオリジナルの状態に戻した後に前記スナップショットを終了させるべくさらに実行可能である、
ことを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項６】
１又はそれ以上のプロセッサと、
プログラム命令を記憶するメモリと、
を備え、
前記プログラム命令は、前記１又はそれ以上のプロセッサにより、
ボリューム内にオリジナルの状態をそれぞれ有する複数のファイルをバックアップイメージからボリュームに復元する要求を受け取り、
前記要求に応答して前記ボリュームのスナップショットを呼び出し、
前記複数のファイルを前記バックアップイメージから前記ボリュームに復元するための復元動作を開始し、
前記複数のファイルのそれぞれが正常に復元されたか否かを検出し、
該検出の結果をユーザに提示して前記復元動作が失敗した場合の動作を指定するユーザ入力を受け取り、
該ユーザ入力に応じて前記複数のファイルの全てのファイル又は正常に復元されていない全てのファイルを、前記スナップショットを使用して前記ボリューム内のオリジナルの状態に戻す、
べく実行可能であることを特徴とするシステム。
【請求項７】
前記プログラム命令は、前記１又はそれ以上のプロセッサにより、
前記ボリュームにおける前記１又はそれ以上のファイルをそのオリジナルの状態に戻した後に前記スナップショットを終了させるべくさらに実行可能である、
ことを特徴とする請求項６に記載のシステム。
【請求項８】
各々がボリューム内にオリジナルの状態を有する複数のファイルをバックアップイメージからボリュームに復元する要求を受け取るステップと、
前記要求に応答して前記ボリュームのスナップショットを呼び出すステップと、
前記複数のファイルを前記バックアップイメージから前記ボリュームに復元するための復元動作を開始するステップと、
前記複数のファイルのそれぞれが正常に復元されたか否かを検出するステップと、
該検出の結果をユーザに提示して前記復元動作が失敗した場合の動作を指定するユーザ入力を受け取るステップと、
該ユーザ入力に応じて前記複数のファイルの全てのファイル又は正常に復元されていない全てのファイルを、前記スナップショットを使用して前記ボリューム内のオリジナルの状態に戻すステップと、
を含むことを特徴とする方法。
【請求項９】
前記ボリュームにおける前記１又はそれ以上のファイルをそのオリジナルの状態に戻した後に前記スナップショットを終了させるステップをさらに含む、
ことを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータシステムのためのファイルバックアップ及び復元動作に関する。より詳細には、本発明は、復元動作の失敗時にファイルの破損を防ぐためのシステム及び方法に関する。
【背景技術】
【０００２】
コンピュータシステムからデータファイルをバックアップし、バックアップしたファイルをコンピュータシステムに復元するための様々なソフトウェアツールが存在する。バックアップされたコンピュータシステムにおいて、ユーザエラー又はハードウェアの障害から回復できるようにするために、或いはコンピュータシステムに損傷を与えることによってデータ損失を引き起こす、コンピュータシステムの外部で発生する災害状況に備えるためにこれらのツールが提供される。
【０００３】
１つの一般的なバックアップ技術は、ファイル毎にファイルをバックアップするような、ボリューム内のファイルをファイルレベルでバックアップすることである。この技術では、通常、ボリューム内の所定のファイルに関する全てのデータがバックアップされ、引き続き次のファイルに関する全てのデータがバックアップされ、これが繰り返される。対応する復元動作では、ファイルをファイル毎にボリュームに復元することができる。例えば、１つのファイルに関する全てのデータを復元することができ、引き続き次のファイルに関する全てのデータを復元することができ、これが繰り返される。
【０００４】
別の一般的なバックアップ技術は、ファイル毎でなく記憶装置のブロックレベルでボリュームをバックアップすることである。この技術では、ボリュームを記憶したディスクドライブ又はその他の記憶装置からボリュームのブロックを連続して読み取り、バックアップ記憶装置のバックアップイメージに書き込むことができる。例えば、隣接するブロックの場所に全てのデータを記憶したりするのではなく、所定のファイルに関するデータをディスクドライブにフラグメント化することができる。事実上、バックアップイメージは、オリジナルボリュームの正確なブロックレベルのイメージであるため、異なるファイルが互いにインターリーブされるように、様々なファイルに関するデータをバックアップイメージでフラグメント化することができる。ブロックレベルのバックアップイメージから（例えば、テープドライブ又はその他のシーケンシャルアクセス装置などから）複数のファイルを復元する際に復元動作が失敗した場合、失敗前にこれらのデータブロックの一部しか正常に復元されていないため、復元中のファイルの全てが最終的に破損した状態になり得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
ファイルをバックアップイメージから対象ボリュームに復元するためのシステム及び方法の様々な実施形態について本明細書で説明する。コンピュータシステムで実行される復元ソフトウェアにより、この方法を実行することができる。復元ソフトウェアは、複数のファイルをバックアップイメージから対象ボリュームに復元するための要求を受け取ることができる。複数のファイルの各々は、要求を受け取ったときにボリューム内にオリジナルの状態を有することができる。
【０００６】
復元ソフトウェアは、要求に応答して対象ボリュームのスナップショットを呼び出すことができる。スナップショットを呼び出すことにより、例えばスナップショットが呼び出されたときに存在するような対象ボリュームのポイント・イン・タイム表示を設定することができる。これにより、以下で説明するように、復元動作中に障害が発生した場合、選択したファイルがスナップショットを使用してファイルのオリジナルの状態に戻れるようになる。いくつかの実施形態では、スナップショットを呼び出すステップは、対象ボリュームのコピー-オン-ライト・スナップショットを作成するステップを含むことができる。別の実施形態では、スナップショットを、ハードウェア提供スナップショット又はその他の種類のスナップショットとして呼び出すことができる。
【０００７】
復元ソフトウェアは、複数のファイルをバックアップイメージから対象ボリュームに復元するための復元動作を開始することができる。この復元動作は、複数のファイルに関するデータをバックアップイメージから対象ボリュームにコピーすべく動作することができる。この動作により、対象ボリューム内のデータは修正されるが、（復元動作の開始前に存在していたような対象ボリュームのデータなどの）未修正のデータは、スナップショットを通じて利用可能なままとなる。
【０００８】
通常の状況下では、復元動作は、複数のファイルの各々を対象ボリュームに正常に復元すべく動作する。この場合、スナップショットを使用する必要はなく、スナップショットを単純に終了させるか或いは削除することができる。
【０００９】
しかしながら、場合によっては、複数のファイルの全ファイルを対象ボリュームに完全に復元する前に復元動作が失敗する可能性がある。復元動作が失敗した場合、復元中の複数のファイルの１又はそれ以上が破損した状態となる可能性がある。例えば、バックアップイメージがブロックレベルのバックアップイメージであり、かつファイルがバックアップイメージからブロック毎に復元されていた場合、復元動作が失敗したときに完全なデータが未だ復元されていない任意のファイルが破損した状態となる可能性がある。別の例として、バックアップファイルがバックアップイメージの形でファイル毎に記憶されており、かつファイルをファイル毎に復元していた場合、復元動作が失敗したときに復元中であったファイルは破損状態となる可能性がある。
【００１０】
復元ソフトウェアは、復元動作の失敗を検出することができる。復元動作中に正常に復元されなかった複数のファイルの各々のことを、本明細書では破損ファイルと呼ぶ。いくつかの実施形態では、復元ソフトウェアは、スナップショットを使用して個々の破損ファイルをそのオリジナルの状態に戻すことができる。破損ファイルがオリジナルの状態に戻った後、復元ソフトウェアはスナップショットを終了させるか、或いは削除することができる。
【００１１】
場合によっては、復元動作は、複数のファイルの第１の部分集合をバックアップイメージからボリュームに正常に復元し、複数のファイルの第２の部分集合をバックアップイメージからボリュームに正常に復元しないこともできる。いくつかの実施形態では、スナップショットを使用して複数のファイルの第２の部分集合の個々のファイルをボリューム内でそのオリジナルの状態に戻すことができ、複数のファイルの第１の部分集合からはファイルがそのオリジナルの状態に戻されることはない。これにより、正常に復元されたファイルを復元された状態のままにしておくことができる一方で、復元がうまくいかなかったファイルが破損した状態にならないようにすることができるようになる。
【００１２】
しかしながら、用途によっては、複数のファイルのいくつかがオリジナルの状態にあり、その他のファイルが復元された状態にある場合、ファイルが互いに一致しないことがあり、これが問題の原因となる可能性がある。従って、いくつかの実施形態では、複数のファイルのいくつかが正常に復元されたとしても、スナップショットを使用して、複数のファイルの全てをオリジナルの状態に戻すことが望まれる。例えば、復元ソフトウェアは、スナップショットを使用して複数のファイルの個々のファイルをそのオリジナルの状態に戻すことができる。
【００１３】
以下の図面と共に以下の詳細な説明を検討することにより、本発明のより完全な理解を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】復元ソフトウェアを実行して、テープドライブに記憶したバックアップイメージから複数のファイルを対象ボリュームに復元するシステムを示す図である。
【図２】復元ソフトウェアを実行して、バックアップサーバコンピュータシステムに記憶したバックアップイメージから複数のファイルを対象ボリュームに復元するシステムを示す図である。
【図３】復元ソフトウェアを実行するコンピュータシステムを示す図である。
【図４】本方法を復元ソフトウェアにより実行する場合、復元動作が失敗したときにファイルの破損を防ぐ方法についての実施形態を示す図である。
【図５】本方法を復元ソフトウェアにより実行する場合、復元動作が失敗したときにファイルの破損を防ぐ方法についての実施形態を示す図である。
【発明を実施するための形態】
【００１５】
本発明では、様々な修正及び代替形態が可能であるが、本発明の特定の実施形態を一例として図面に示し詳細に説明する。しかしながら、本発明の図面及び詳細な説明は、開示する特定の形態に本発明を限定するものではなく、むしろ本発明は、添付の特許請求の範囲により定められる本発明の思想及び範囲に入る全ての修正、同等物、及び代替を含むものであることを理解されたい。
【００１６】
ファイルをバックアップイメージから対象ボリュームに復元するためのシステム及び方法の様々な実施形態について本明細書で説明する。図１に示すように、本システムは、対象ボリュームを記憶する１又はそれ以上のターゲット記憶装置を含む、或いはこのターゲット記憶装置に結合されたコンピュータシステム８３を含むことができる。この例では、コンピュータシステム８３は、バックアップイメージを記憶するテープドライブ９５を含み、或いはこのテープドライブ９５に結合される。コンピュータシステム８３により実行される復元ソフトウェア２０５は、復元動作を管理してバックアップイメージから対象ボリュームに複数のファイルを復元する。復元ソフトウェア２０５は、複数のファイルを対象ボリュームに復元する前に、対象ボリュームのスナップショットを呼び出すことができる。全てのファイルが対象ボリュームに復元される前に復元動作が失敗した場合、復元ソフトウェア２０５は、以下に詳細に説明するように、スナップショットを使用してファイルの１又はそれ以上を復元動作の開始前に存在したようなオリジナルの状態に戻すことができる。
【００１７】
図２は、本システムの別の実施形態を示す図である。この実施形態では、バックアップイメージがバックアップサーバコンピュータシステム９０に記憶される。コンピュータシステム８３は、対象ボリュームに復元されるバックアップデータを受け取るために、ネットワーク８４を介してバックアップサーバコンピュータシステム９０に接続される。様々な実施形態では、ネットワーク８４は、任意の種類のネットワーク又はネットワークの組合せを含むことができる。例えば、ネットワーク８４は、任意の種類のローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、イントラネット、インターネットなど、又はこれらの組合せを含むことができる。例示的なローカルエリアネットワークは、イーサネット（登録商標）ネットワーク、光ファイバー分散データインターフェース（ＦＤＤＩ）ネットワーク、及びトークンリングネットワークを含む。また、任意の種類の有線又は無線接続媒体を使用して、コンピュータシステム８３及びバックアップサーバコンピュータシステム９０をネットワーク８４に各々結合することもできる。例えば、有線媒体は、イーサネット、ファイバーチャネル、旧来の電話サービス（ＰＯＴＳ）に接続されたモデムなどを含むことができる。無線接続媒体は、ＩＥＥＥ８０２．１１などの無線通信プロトコル（無線イーサネット）、セルラサービスを介したモデムリンク、衛星リンクなどを使用した無線接続を含むことができる。
【００１８】
図１及び図２は、例示としてのみ図示したものである点に留意されたい。様々な実施形態では、コンピュータシステム８３に含まれる、コンピュータシステム８３に結合される、或いはコンピュータシステム８３がアクセスできる任意の種類の記憶装置にバックアップイメージを記憶することができる。例えば、コンピュータシステム８３に含まれる、コンピュータシステム８３に結合される、或いはコンピュータシステム８３がアクセスできるディスクドライブ、テープドライブ、光ドライブ、フラッシュメモリデバイス、又はその他の記憶装置にバックアップイメージを記憶することができる。いくつかの実施形態では、複数の記憶装置に渡ってバックアップイメージを分散させることにより、例えば、バックアップイメージの一部を１つの記憶装置に記憶し、バックアップイメージの一部を別の記憶装置に記憶できるようになる。
【００１９】
また、コンピュータシステム８３に含まれる、コンピュータシステム８３に結合される、或いはコンピュータシステム８３にがアクセスできる任意の種類の記憶装置に対象ボリュームを記憶することもできる。一般的な実施形態では、対象ボリュームは、１又はそれ以上のハードディスクドライブに記憶されるが、フラッシュメモリ装置、光記憶装置などの別の種類の記憶装置に対象ボリュームを記憶することもできる。
【００２０】
対象ボリュームは、以下に限定されるわけではではないが、（ディスクドライブなどの）単一の記憶装置、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）システムなどの記憶システム、ディスクアレイ、ＪＢＯＤ（ＲＡＩＤに従って構成されていないディスクの参照に使用するＪｕｓｔ  ａ  Ｂｕｎｃｈ  Ｏｆ  Ｄｉｓｋ）、テープ装置、及び光記憶装置を含む１又はそれ以上の記憶装置が行う物理的記憶域の分割及び／又は集約に対応する。物理装置の全記憶域の一部から、物理装置全体の記憶域から、或いは結合した複数の物理的記憶装置の記憶域から対象ボリュームを形成することができる。いくつかの実施形態では、ボリュームマネージャアプリケーションにより対象ボリュームを管理することができる。本明細書で使用する「ボリュームマネージャ」という用語は、１又はそれ以上の物理的記憶装置から記憶スペースを選択し論理ボリュームに結合するソフトウェアのことを大まかに意味する。
【００２１】
本明細書で使用する「バックアップイメージ」という用語は、コンピュータシステムからファイルをバックアップすることにより作成したデータのことを意味する。バックアップイメージは、ブロックレベルのバックアップ又はファイル毎のバックアップなどの様々な種類のバックアップ技術を使用して作成することができる。従って、例えばバックアップイメージは、バックアップイメージを作成したオリジナルボリュームの正確なブロックレベルの画像を含むことができ、或いはオリジナルボリュームからバックアップされた個々のファイルを対応ファイルとしてバックアップイメージに記憶することができる。また、バックアップイメージは、バックアップイメージを作成したオリジナルボリューム内のファイルの全て、又はファイルの一部のみに関するデータを含むこともできる。
【００２２】
ここで図３を参照すると、コンピュータシステム８３の１つの実施形態をさらに詳細に示している。様々な実施形態では、コンピュータシステム８３は任意の種類のコンピュータシステムであってもよく、図３は例示としてのみ示している点に留意されたい。この例では、コンピュータシステム８３は、メモリ１２２に結合されたプロセッサ１２０を含む。いくつかの実施形態では、メモリ１２２は、ダイナミックＲＡＭ（ＤＲＡＭ）又は同期ＤＲＡＭ（ＳＤＲＡＭ）などの１又はそれ以上の形態のランダムアクセスメモリ（ＲＡＭ）を含むことができる。しかしながら、別の実施形態では、上記とは別に、或いは上記に加えて、メモリ１２２は任意の他の種類のメモリを含むことができる。
【００２３】
メモリ１２２を、プログラム命令及び／又はデータを記憶するように構成することができる。具体的には、メモリ１２２は復元ソフトウェア２０５を記憶することができる。プロセッサ１２０は、復元ソフトウェア２０５を実行して、以下に説明する方法を実施することができる。メモリ１２２はまた、ボリュームマネージャソフトウェア、記憶装置管理ソフトウェア、ファイルシステムソフトウェア、及び／又はオペレーティングシステムソフトウェアなどの、復元ソフトウェア２０５と共に動作し、或いはこの復元ソフトウェア２０５が使用するその他のソフトウェアを記憶することもできる。
【００２４】
様々な実施形態では、様々な方法のうちの任意の方法で復元ソフトウェア２０５を実行することができ、この復元ソフトウェア２０５は、任意の所望のソフトウェアアーキテクチャを有することができる。例えば、いくつかの実施形態では、復元ソフトウェア２０５をシングルソフトウェアアプリケーションとして実行することができる。別の実施形態では、復元ソフトウェア２０５を、互いに連動して動作する２又はそれ以上のソフトウェアプログラム又はアプリケーションとして実行することができる。
【００２５】
再び図３を参照すると、プロセッサ１２０は任意の種類のプロセッサを表している点に留意されたい。例えばいくつかの実施形態では、プロセッサ１２０は、ｘ８６アーキテクチャと互換性のあるものであってもよく、別の実施形態では、プロセッサ１２０は、ＳＰＡＲＣ（商標）ファミリーのプロセッサと互換性のあるものであってもよい。また、いくつかの実施形態では、コンピュータシステム８３は複数のプロセッサ１２０を含むこともできる。
【００２６】
図示の実施形態では、バックアップイメージ２２０がテープドライブ９５に記憶されている。バックアップイメージ２２０は、対象ボリューム２３０に復元される複数のファイルに関するバックアップデータを含む。対象ボリューム２３０はハードディスクドライブ１２５に記憶される。上述したように、別の実施形態では、バックアップイメージ２２０及び対象ボリューム２３０の両方を、コンピュータシステム８３に様々な方法のうちの任意の方法で結合される様々な他の種類の記憶装置のいずれかに記憶することができる。いくつかの実施形態では、バックアップイメージ２２０及び対象ボリューム２３０の一方又は両方を、コンピュータシステム８３がネットワーク８４を介してアクセスする記憶装置に記憶することができる。
【００２７】
コンピュータシステム８３はまた、コンピュータシステム８３のユーザからユーザ入力を受け取るための１又はそれ以上の入力装置１２６を含むこともできる。（単複の）入力装置１２６は、キーボード、キーパッド、マイク、又は（マウス又はトラックボールなどの）ポインティング装置などの様々な種類の入力装置のいずれかを含むことができる。コンピュータシステム８３はまた、ユーザに出力を表示するための１又はそれ以上の出力装置１２８を含むこともできる。（単複の）出力装置１２８は、ＬＣＤスクリーン又はモニタ、ＣＲＴモニタなどの様々な種類の出力装置又はディスプレイ装置のいずれかを含むことができる。
【００２８】
コンピュータシステム８３はまた、コンピュータシステム８３がネットワーク８４に接続するときに介するネットワーク接続ハードウェア１２９を含むこともできる。ネットワーク接続ハードウェア１２９は、例えばネットワークの種類に応じて、コンピュータシステム８３をネットワーク８４に結合するための任意の種類のハードウェアを含むことができる。
【００２９】
図４は、復元動作が失敗した場合にファイルの破損を防ぐための方法の１つの実施形態を示すフロー図である。コンピュータシステム８３で実行される復元ソフトウェア２０５により、この方法を実行することができる。
【００３０】
ブロック３０１に示すように、復元ソフトウェア２０５は、複数のファイルをバックアップイメージから対象ボリュームに復元する要求を受け取ることができる。いくつかの実施形態では、復元ソフトウェア２０５は、コンピュータシステム８３のユーザ又は管理者が、バックアップイメージから復元するファイルを選択できるようにするグラフィカルユーザインターフェースを含むことができる。従って、グラフィカルユーザインターフェースへのユーザ入力を介して、ユーザが復元したいと望むファイルを選択することができる。ファイルの選択に加え、いくつかの実施形態では、ユーザはまた、ファイルを含む１又はそれ以上のフォルダ及び／又はその他のフォルダを選択することもできる。ユーザがフォルダを選択した場合、選択したフォルダ内の全てのファイル及び／又はネスト化したフォルダを復元のために選択することができる。復元ソフトウェア２０５がカタログに問い合わせを行って、選択したフォルダに含まれるファイル及びフォルダを決定することにより、これらの項目を復元できるようになる。
【００３１】
バックアップ動作などにおいて、対象ボリュームから前もってバックアップイメージを作成しておくことができる。従って、いくつかの実施形態では、複数のファイルの各々は、対象ボリュームとバックアップイメージとの両方に存在できることになる。本明細書では、対象ボリューム内のバージョンのことを「オリジナルバージョン」と呼び、バックアップイメージ内のバージョンのことを「バックアップバージョン」と呼ぶ。従って、複数のファイルを対象ボリュームに復元する要求は、複数のファイルのオリジナルバージョンをバックアップバージョンに置き換える要求を示すことにできる。
【００３２】
別の実施形態では、対象ボリュームではなくバックアップイメージ内に複数のファイルの１又はそれ以上が存在してもよい。例えば、対象ボリューム以外のボリュームからバックアップイメージを作成しておいてもよく、或いはバックアップイメージを作成したがその後削除してしまった場合、複数のファイルの１又はそれ以上が対象ボリューム内に存在していてもよい。この場合、複数のファイルを復元する要求は、まだ存在していない複数のファイルの各々を対象ボリューム内に作成する要求を示唆することができる。
【００３３】
ブロック３０３に示すように、復元ソフトウェア２０５は、ブロック３０１で受け取った要求に応答して対象ボリュームのスナップショットを呼び出すことができる。スナップショットを呼び出すことにより、例えば、スナップショットを呼び出したときに存在するような対象ボリュームのポイント・イン・タイム表示を設定することができる。これにより、以下で説明するように、復元動作中に障害が発生した場合、選択したファイルがスナップショットを使用してオリジナルの状態に戻れるようになる。
【００３４】
いくつかの実施形態では、スナップショットを呼び出すステップは、対象ボリュームのコピー-オン-ライト・スナップショットを作成するステップを含むことができる。コピー-オン-ライト・スナップショットは、対象ボリュームからスナップショットにデータを実際にコピーせずに作成することができる。その代わりに、復元動作中に対象ボリュームに書き込みが行われた場合、スナップショットを管理するための、或いは従来のコピー・オン・ライト技術を使用して後程スナップショットにコピーするデータを保持するための１又はそれ以上のデータ構造を単に作成することによりコピー-オン-ライト・スナップショットを作成することができる。これにより、コピー-オン-ライト・スナップショットを迅速に作成できるようになる。コピー-オン-ライト・スナップショットは、対象ボリュームが記憶されているのと同じ記憶装置、又は異なる記憶装置に作成することができる。
【００３５】
別の実施形態では、スナップショットを、ハードウェア提供スナップショットとして呼び出すことができる。例えば、復元ソフトウェア２０５は、対象ボリュームを記憶した（単数または複数の）記憶装置を管理するデバイスドライバ又はその他のデバイス管理ソフトウェアに対象ボリュームのスナップショットを呼び出すように要求することができる。１つの例として、対象ボリュームにデータを書き込むための全ての書き込み要求により、結果としてハードディスクドライブの全てに同じデータが書き込まれるように、ハードディスクドライブのグループに対象ボリュームをミラーリングすることができる。グループからハードディスクドライブの１つを単に取り除くことによってスナップショットを呼び出すことにより、書き込み要求によってこの特定のハードディスクドライブにこれ以上データが書き込まれないようにすることができる。従って、この特定のハードディスクドライブ上の対象ボリュームデータは、スナップショットが呼び出されたときの状態と同じ状態を保つ一方で、その他の（単数または複数の）ハードディスクドライブ上の対象ボリュームは書き込み要求によって更新され続けることになる。
【００３６】
別の実施形態では、スナップショットをリダイレクト・オン・ライトスナップショットとして実現してもよく、或いは当業で公知の様々な他の種類のスナップショット技術を使用して実現してもよい。
【００３７】
ブロック３０５に示すように、復元ソフトウェア２０５は、復元動作のために対象ボリュームのファイルシステムを準備することができる。例えば、複数のファイルの各それぞれのファイルに関して、それぞれのファイルがまだ対象ボリューム内に存在していない場合、それぞれのファイルを作成することができる。例えば、ｉノード又はそれぞれのファイルを表すその他のファイルシステムのオブジェクト又はメタデータをファイルシステムにおいて作成することができる。すでに対象ボリューム内に存在する複数のファイルの各それぞれのファイルに対して、例えばファイルをゼロ長に切り詰めることにより、それぞれのファイルを表す（単数または複数の）ファイルシステムオブジェクト又はメタデータを修正することができる。
【００３８】
ブロック３０７に示すように、復元ソフトウェア２０５は、複数のファイルをバックアップイメージから対象ボリュームに復元するための復元動作を開始することができる。この復元動作は、複数のファイルに関するデータをバックアップイメージから対象ボリュームにコピーすべく動作することができる。この動作により、対象ボリューム内のデータは修正されるが、（復元動作の開始前に存在していたような対象ボリュームのデータなどの）未修正のデータは、スナップショットを通じて利用可能なままとなる。例えば、スナップショットがコピー-オン-ライト・スナップショットである場合、復元動作中に対象ボリューム内で修正される個々のブロックに関して、コピー-オン-ライト・スナップショットにブロックのオリジナルデータを自動的にコピーすることができる。別の例として、スナップショットがハードウェア提供スナップショットである場合、スナップショットは、オリジナルの対象ボリュームの完全なコピーをすでに含んでおり、復元動作によってスナップショットが修正されない間、対象ボリュームに書き込みを行う。
【００３９】
通常の状況下では、復元動作は、複数のファイルの各々を対象ボリュームに正常に復元すべく動作する。この場合、スナップショットを使用する必要はなく、スナップショットを単純に終了させるか或いは削除することができる。
【００４０】
しかしながら、場合によっては、複数のファイルの全ファイルを対象ボリュームに完全に復元する前に復元動作が失敗する可能性がある。例えば、対象ボリュームを記憶した記憶装置のハードウェアの故障、バックアップイメージを記憶した記憶装置のハードウェアの故障、バックアップイメージ内の破損データなどに起因して復元動作が失敗する可能性がある。
【００４１】
復元動作が失敗した場合、復元中の複数のファイルの１又はそれ以上が破損した状態となる可能性がある。例えば、バックアップイメージがブロックレベルのバックアップイメージであり、かつファイルがバックアップイメージからブロック毎に復元されていた場合、復元動作が失敗したときにまだ完全なデータが復元されていない任意のファイルが破損した状態となる可能性がある。別の例として、バックアップファイルがバックアップイメージにファイル毎に記憶されており、かつファイルをファイル毎に復元していた場合、復元動作が失敗したときに復元中であったファイルが破損状態となる可能性がある。
【００４２】
ブロック３０９に示すように、復元ソフトウェア２０５は復元動作の失敗を検出することができる。復元動作中に正常に復元されなかった複数のファイルの各々のことを、本明細書では破損ファイルと呼ぶ。いくつかの実施形態では、復元ソフトウェア２０５は、ブロック３１１に示すように、スナップショットを使用して個々の破損ファイルをそのオリジナルの状態に戻すことができる。
【００４３】
破損ファイルをそのオリジナルの状態に戻すのに使用する技術は、使用するスナップショットの種類により異なってもよい。例えば、スナップショットがコピー-オン-ライト・スナップショットである場合、このコピー-オン-ライト・スナップショットは、復元動作中に対象ボリュームのどのブロックが修正されたかを特定するマップテーブル又はその他のデータ構造を含むことができる。破損ファイルの１つに対応する対象ボリューム内の個々のブロックに関して、ブロックのオリジナルデータが、コピー-オン-ライト・スナップショットから対象ボリュームにコピーされる。これにより、個々の破損ファイルが対象ボリューム内のファイルのオリジナルバージョンに効果的に戻される一方で、正常に復元されたファイルは復元した状態のままにされる。
【００４４】
スナップショットがハードウェア提供スナップショットである場合、個々の破損ファイルをスナップショットから対象ボリュームにコピーすることができる。これにより、この場合も個々の破損ファイルが対象ボリューム内のファイルのオリジナルバージョンに効果的に戻される一方で、正常に復元されたファイルは復元した状態のままにされる。これより前に、対象ボリューム内に破損ファイルが存在していなかった場合、このファイルを単純に削除、例えば、ファイルを表す（単数または複数の）ファイルシステムオブジェクトを対象ボリュームから削除することができる。
【００４５】
ブロック３１３に示すように、破損ファイルがオリジナルの状態に戻された後、復元ソフトウェア２０５はスナップショットを終了させることができる。例えば、スナップショットがコピー-オン-ライト・スナップショットである場合、コピー・オン・ライト動作を終了させ、スナップショットを表すデータ構造を削除することができる。スナップショットがハードウェア提供スナップショットである場合、特定のディスクドライブ上の、又はスナップショットを記憶したその他の記憶装置上のデータを更新済みの対象ボリュームデータに同期させ、対象ボリュームをミラーリングした記憶装置のグループに特定のディスクドライブを再追加することができる。対象ボリュームへの次の書き込み動作により、特定のディスクドライブとともに、グループ内の他のディスクドライブも更新することができる。
【００４６】
上述したように、場合によっては、復元動作は、複数のファイルの第１の部分集合をバックアップイメージからボリュームに正常に復元し、複数のファイルの第２の部分集合をバックアップイメージからボリュームに正常に復元しないこともできる。図４に関連して上述した本方法の実施形態では、スナップショットを使用して複数のファイルの第２の部分集合の個々のファイルがボリューム内でそのオリジナルの状態に戻されるが、複数のファイルの第１の部分集合からはファイルがそのオリジナルの状態に戻されることはない。これにより、正常に復元されたファイルを復元された状態のままにしておくことができる一方で、復元がうまくいかなかったファイルが破損した状態にならないようにすることができるようになる。
【００４７】
しかしながら、用途によっては、複数のファイルのいくつかがオリジナルの状態にあり、その他のファイルが復元された状態にある場合、ファイルが互いに一致しないことがあり、これが問題の原因となる可能性がある。従って、いくつかの実施形態では、複数のファイルのいくつかが正常に復元されたとしても、スナップショットを使用して複数のファイルの全てをオリジナルの状態に戻すことが望まれる。例えば、図５は、図４の方法に関連して上述した方法と同様に動作する方法の実施形態を示す図であるが、ブロック３１１がブロック３１２に置き換えられており、このブロック３１２は、スナップショットを使用して複数のファイルの個々のファイルをそのオリジナルの状態に戻すべく動作する。従って、図５の方法では、複数のファイルの各々が、スナップショットの作成時と同じ状態に効果的に戻される。
【００４８】
いくつかの実施形態では、復元ソフトウェア２０５により、ユーザは、図５の方法のように全てのファイルを戻すか、或いは正常に復元されなかったファイルのみを戻すかを選択できるようになる。例えば、復元ソフトウェア２０５のグラフィカルユーザインターフェースにより、ユーザは、復元動作が失敗した場合に行う動作を指定する基本設定を設定できるようになり、或いは失敗時に決定を行うようにユーザに促すことができる。いくつかの実施形態では、失敗の発生後に、復元ソフトウェア２０５が、正常に復元されたファイル及び復元がうまくいかなかったファイルのリストをユーザに提示することができ、これによりユーザは、オリジナルの状態に戻すべきファイルが存在する場合、どのファイルをオリジナルの状態に戻すべきかを選択することができる。
【００４９】
様々な実施形態は、コンピュータアクセス可能記憶媒体に関する前述の説明に従って実行される命令及び／又はデータを受信するステップ、送信するステップ、或いは記憶するステップをさらに含むことができる点に留意されたい。一般的に、コンピュータアクセス可能記憶媒体は、使用中のコンピュータがアクセスできる、命令及び／又はデータをコンピュータに提供するための任意の記憶媒体を含むことができる。例えば、コンピュータアクセス可能記憶媒体は、（固定の又は取り外し可能な）１又はそれ以上のディスク、テープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷのような磁気又は光媒体などの記憶媒体を含むことができる。記憶媒体は、（同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、ラムバスＤＲＡＭ（ＲＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）などの）ＲＡＭ、ＲＯＭ、フラッシュメモリ、ユニバーサルシリアルバス（ＵＳＢ）インターフェースなどの周辺インターフェースを介してアクセス可能な（フラッシュメモリなどの）不揮発性メモリなどの揮発性又は不揮発性メモリ媒体をさらに含むことができる。いくつかの実施形態では、コンピュータは、ネットワーク及び／又は無線リンクなどの通信手段を介して記憶媒体にアクセスすることができる。
【００５０】
上記実施形態について十分詳細に説明したが、当業者であれば、上記開示を完全に理解した時点で数多くの変更及び修正が明らかになるであろう。以下の特許請求の範囲は、全てのこのような変更及び修正を含むものであると解釈されたい。
【符号の説明】
【００５１】
８３  コンピュータシステム；  ８４  ネットワーク；  ９５  テープドライブ；  
１２０  プロセッサ；  １２２  メモリ；  １２５  ハードディスクドライブ；  
１２６  入力装置；  １２８  出力装置；  １２９  ネットワーク接続ハードウェア；  ２０５  復元ソフトウェア；  ２２０  バックアップイメージ；  ２３０  対象ボリューム。
【図１】
0005591482.tif 000002
【図２】
0005591482.tif 000003
【図３】
0005591482.tif 000004
【図４】
0005591482.tif 000005
【図５】
0005591482.tif 000006