(57)【要約】本発明は、コンピュータ上で実行されるときに、バックアップ記憶装置で第１コンピュータによって用いられる一次データセットのクイックリカバリボリューム（１１８）を作成する方法をコンピュータに実行させるプログラムコードを格納するコンピュータ読取可能媒体であって、方法が、スナップショットアプリケーションによって作成された一次データセットのスナップショットイメージを識別する段階と、一次データセット（１１４）のスナップショットイメージから一次データセットのクイックリカバリボリューム（１１８）を作成する段階と、第１コンピュータから保存記憶装置（１１２）へのデータの移動を制御する段階と、を含むことを特徴とするコンピュータ読取可能媒体に関する。一実施例では、本発明は、第１コンピュータの一次データセットのクイックリカバリボリューム（１１８）を作成する方法であって、一次データセット（１１４）のスナップショットイメージを作成する段階と、一次データセット（１１４）のスナップショットイメージから一次データセットのクイックリカバリボリューム（１１８）を作成する段階と、を備えることを特徴とする方法を与える。他の実施例では、本発明は、クイックリカバリボリューム（１１８）及びスナップショットイメージのブラウザ型閲覧及び復元を可能にするユーザインターフェーススクリーンを提供する。
2005505045.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で実行されるときに、バックアップ記憶装置で第１コンピュータによって用いられる一次データセットのクイックリカバリボリュームを作成する方法をコンピュータに実行させるプログラムコードを格納するコンピュータ読取可能媒体であって、前記方法は、
スナップショットアプリケーションによって作成された前記一次データセットのスナップショットイメージを識別する段階と、
前記一次データセットのスナップショットイメージから前記一次データセットのクイックリカバリボリュームを作成する段階と、
前記第１コンピュータから保存記憶装置へのデータの移動を制御する段階と、
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２】
請求項１記載のコンピュータ読取可能媒体において、
前記データセットは、プライマリボリューム及びアプリケーションデータのうち少なくとも一つを含むことを特徴とするコンピュータ読取可能媒体。
【請求項３】
請求項１記載のコンピュータ読取可能媒体において、
前記クイックリカバリボリュームは、前記データセットのディスクトゥディスク・データブロックレベル・レプリケーションを含むことを特徴とするコンピュータ読取可能媒体。
【請求項４】
請求項３記載のコンピュータ読取可能媒体において、
前記クイックリカバリボリュームは、前記一次データセットの前のクイックリカバリボリュームのインクリメンタルバックアップを含むことを特徴とするコンピュータ読取可能媒体。
【請求項５】
請求項１記載のコンピュータ読取可能媒体において、
前記プログラムコードは、エージェントモジュール及びストレージマネージャモジュールを含み、
前記エージェントモジュールは、前記第１コンピュータから前記保存記憶装置へのデータの移動を可能にし、
前記ストレージエージェントモジュールは、前記エージェントモジュール及び前記保存記憶装置を繋ぎ合わせる、
ことを特徴とするコンピュータ読取可能媒体。
【請求項６】
請求項５記載のコンピュータ読取可能媒体において、
前記エージェントモジュールはインテリジェントエージェントモジュールを含み、該インテリジェントエージェントモジュールは、特定のアプリケーションに対する一次データセットのデータ移動を可能にすることを特徴とするコンピュータ読取可能媒体。
【請求項７】
請求項１記載のコンピュータ読取可能媒体において、
前記プログラムコードは、一次データセットのスナップショットイメージを作成するためにスナップショットアプリケーションを呼び出すクイックリカバリエージェントを含むことを特徴とするコンピュータ読取可能媒体。
【請求項８】
請求項１記載のコンピュータ読取可能媒体において、
前記一次データセットは、複数のプライマリボリューム、少なくとも一つのプライマリボリューム及び少なくとも一つのアプリケーションデータセット、及び複数のアプリケーションデータセットのうちの一つを含み、一次データセットの範囲は、前記第１コンピュータのサブクライアントとして定義されていることを特徴とするコンピュータ読取可能媒体。
【請求項９】
請求項１記載のコンピュータ読取可能媒体において、
該コンピュータ読取可能媒体は、前記一次データセットのクイックリカバリボリュームを作成するための詳細を与えるクイックリカバリポリシーデータ構造を格納することを特徴とするコンピュータ読取可能媒体。
【請求項１０】
請求項１記載のコンピュータ読取可能媒体において、
前記プログラムコードは、前記第１コンピュータに、利用可能ボリュームのプールから前記一次データセットのクイックリカバリボリュームのための目的ボリュームを自動的に選択させることを特徴とするコンピュータ読取可能媒体。
【請求項１１】
請求項１０記載のコンピュータ読取可能媒体において、
前記一次データセットのクイックリカバリポリシーに対する目的ボリュームは、前記一次データセットのクイックリカバリボリュームに必要な貯蔵空間と比べると利用可能ボリューム上で利用可能な貯蔵空間に基づいて選択され、選択されたボリュームの容量は、前記一次データセットのクイックリカバリボリュームに必要な容量を上回り、かつ、他の利用可能ボリュームよりも、必要とされる容量に近いことを特徴とするコンピュータ読取可能媒体。
【請求項１２】
保存記憶装置と、
一次データセットのクイックリカバリボリュームを作成するために前記コンピュータから前記保存記憶装置へのデータ移動を制御するためのプログラムされたコンピュータと、を備え、
前記コンピュータは、前記一次データセットのスナップショットイメージを与え、前記一次データセットに対するスナップショットイメージから一次データセットのクイックリカバリボリュームを作成することを特徴とするコンピュータシステム。
【請求項１３】
請求項１２記載のコンピュータシステムにおいて、
前記保存記憶装置は、コミュニケーションネットワーク上のプログラムされたコンピュータへ接続されていることを特徴とするコンピュータシステム。
【請求項１４】
請求項１３記載のコンピュータシステムにおいて、
前記プログラムされたコンピュータ及び保存記憶装置へ通信接続され、かつ、前記コンピュータから前記保存記憶装置へのデータ移動を制御するためにプログラムされた、少なくとも一つのサーバコンピュータを備えることを特徴とするコンピュータシステム。
【請求項１５】
第１コンピュータの一次データセットのクイックリカバリボリュームを作成する方法であって、
前記一次データセットのスナップショットイメージを作成する段階と、
前記一次データセットのスナップショットイメージから前記一次データセットのクイックリカバリボリュームを作成する段階と、
を備えることを特徴とする方法。
【請求項１６】
請求項１５記載の方法において、
前記一次データセットのディスクトゥディスク・データブロックレベル・レプリケーションとして前記一次データセットのクイックリカバリボリュームを作成する段階を含むことを特徴とする方法。
【請求項１７】
請求項１５記載の方法において、
前記一次データセットの前のクイックリカバリボリュームのインクリメンタルバックアップとして前記一次データセットのクイックリカバリボリュームを作成する段階を含むことを特徴とする方法。
【請求項１８】
請求項１５記載の方法において、
前記一次データセットのスナップショットイメージを作成している間、保存記憶装置へ前記一次データセットの全てのデータをフラッシュするために、オペレーティングシステムと同期させる段階を含むことを特徴とする方法。
【請求項１９】
請求項１８記載の方法において、
前記同期させる段階は、前記一次データセットのスナップショットイメージを作成している間、前記一次データセットを含むディスクへの入力を一時停止する段階を含むことを特徴とする方法。
【請求項２０】
請求項１９記載の方法において、
前記一次データセットのスナップショットイメージを作成する時、前記一次データセットを含むディスクへの入力を再開する段階を含むことを特徴とする方法。
【請求項２１】
請求項２０記載の方法において、
前記一時停止する段階及び再開する段階は、予備スナップショット段階及び後スナップショット段階の間、ユーザによって与えられたコマンドラインのコマンドを用いて、自動的及び手動的のうち一つで達成されることを特徴とする方法。
【請求項２２】
請求項１６記載の方法において、
前記一次データセットのスナップショットイメージから前記一次データセットのブロックレベルコピーを実行する段階を含むことを特徴とする方法。
【請求項２３】
請求項１６記載の方法において、
前記一次データセットのスナップショットイメージをインデックスする段階を含むことを特徴とする方法。
【請求項２４】
請求項１６記載の方法において、
選択された時間に前記一次データセットのスナップショットイメージを削除する段階を含み、前記選択された時間は、コピー段階の直後及び持続時間の後のうちの一つであることを特徴とする方法。
【請求項２５】
実行されたときコンピュータにバックアップ記憶装置と接続するスナップショットマネージャを提供するプログラムコードを格納するコンピュータ読取可能媒体であって、
前記スナップショットマネージャは、ユーザにスナップショットイメージを閲覧することを可能にし、かつ、ユーザに前記バックアップ記憶装置に格納されたスナップショットイメージを復元させることを可能にすることを特徴とするコンピュータ読取可能媒体。
【請求項２６】
請求項２５記載のコンピュータ読取可能媒体において、
前記スナップショットマネージャは、スナップショットイメージを作成するためにボリュームスナップショットサービスと接続することを特徴とするコンピュータ読取可能媒体。
【請求項２７】
請求項２６記載のコンピュータ読取可能媒体において、
前記格納されたプログラムコードは、スナップショットイメージのためのデータをパッケージするスナップショットリクエスタプログラムモジュールをさらに含み、
パッケージされたデータは、スナップショットイメージを作成するためにボリュームスナップショットサービスと通信されることを特徴とするコンピュータ読取可能媒体。
【請求項２８】
請求項２６記載のコンピュータ読取可能媒体において、
スナップショットリクエスタプログラムモジュールと、前記スナップショットイメージに対するデータをパッケージするために前記スナップショットリクエスタプログラムモジュールによって命令されるスナップショットライタープログラムモジュールと、を備え、
前記ライタープログラムモジュールは、特定のアプリケーションに対するデータをパッケージし、
パッケージされたデータは、前記スナップショットイメージを作成するために前記ボリュームスナップショットサービスと通信されることを特徴とするコンピュータ読取可能媒体。
【請求項２９】
請求項２６記載のコンピュータ読取可能媒体において、
前記スナップショットマネージャプログラムモジュールは、スナップショットイメージをインデックスし、
スナップショットをインデックスすることは、スナップショットイメージのコピー、削除、表示、閲覧、特性変更、及び復元のうち少なくとも一つを可能にすることを特徴とするコンピュータ読取可能媒体。
【請求項３０】
請求項２９記載のコンピュータ読取可能媒体において、
前記インデックスすることは、特定のアプリケーションに固有のオブジェクトに関してインデックスすることであることを特徴とするコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される本発明は一般に、コンピュータデータのためのバックアップ記憶方法及び装置に関する。より詳細には、この発明は、ボリュームのシャドウコピーを管理することに関する。
【背景技術】
【０００２】
ＸＰ／．ＮＥＴサーバと称される、ワシントンのレドモンドにあるマイクロソフト株式会社によるサーバオペレーティングシステムは、シャドウコピーを作成するための統合されたアプリケーションを含む。そのようなシャドウコピーはまた、「スナップショット」として知られており、使われているスナップショットプログラムに依存してハードウェアコピーかソフトウェアコピーのどちらかとすることができる。共通のスナップショットプログラムは、マイクロソフトによる前述のＸＰ／．ＮＥＴサーバスナップショットプログラム、マサチューセッツのホプキントンにあるＥＭＣ株式会社によるタイムファインダスナップショットプログラム、及びテキサスのヒューストンにあるコンパックコンピュータ株式会社によるＥＶＭスナップショットプログラムを含む。
【０００３】
一般に、シャドウコピーが作成されたとき、新しいロジカルボリュームが、元のボリュームの正確なイメージである機械上にエクスポーズされる。変更がオリジナルボリューム上で発生し続け得る限り、新しいボリュームは、データのスタティックなポイントインタイム・ビュー（point-in-time view）である。シャドウコピーは、ユーザのワークステーション、異なるネットワークマシーン、等に存続するので、シャドウコピーは、瞬間的な通知時に回復する準備のできたデータの様々なバージョンを有する能力を与える。最小回復時間、及び回復操作が行われている間に関連づけられた休止時間はしたがって、テープ又は光記録媒体のような外部メディアをマウントする必要がないので、データを元にストリームするために与えられる。
【０００４】
シャドウコピーは急速バックアップ及び回復能力を与えるが、スナップショットは、第１ハードドライブ、独立したディスクの冗長アレイ（redundant array of independent disk：「ＲＡＩＤ」）システムのような比較的高価な媒体に格納される。ＲＡＩＤとは、２つ又はそれ以上の通常のハードディスクと特定のディスクコントローラとの一式のことをいう。ＲＡＩＤシステムは、複数のドライブにわたってデータをコピーし、それゆえ一つ以上のディスクが同時に読み書きする。障害の許容範囲は、データを２つのドライブに複写するミラーリングと、２つのドライブのデータを計算しかつ計算結果を第３のドライブに格納するパリティとによって達成される。欠陥ドライブは新しいドライブと交換することができ、ＲＡＩＤコントローラは失われたデータを欠陥ドライブに再建する。いくつかのバックアップ格納装置は、遅いハードドライブ、テープドライブ、等のような遅い媒体にバックアップをコピーするが、そのような装置に対するバックアップ及び復元に関する休止時間は増加する。その上、バックアップコピーは、記憶媒体を最適に使用するためにフォーマット及び圧縮される。バックアップコピーを復元することはさらに、コンピュータシステムによってユーザのためにバックアップコピーをアンフォーマット又は解凍する余分な段階を必要とする。したがって、あまり高価でない媒体を利用しながらバックアップ及び復元操作に関する休止時間を最小化するバックアップ格納装置が必要である。
【０００５】
加えて、ＸＰ／．ＮＥＴ，TimeFinder，等のようなシャドウコピーを作成するために利用可能なソフトウェアプロダクトは、シャドウコピーを効率よく処理する能力が不足している。例えば、多くの場合アドミニストレータは、シャドウコピーを追跡せねばならず、どのオリジナルボリュームが特定のシャドウコピーに対応するか、シャドウコピーに存在するのは何のデータか、コピー操作が行われるのはいつであるか、コピーは破棄されるべきであるか、等を覚えていなければならない。したがって、シャドウコピーの効率的な処理を可能にする方法、装置、及びソフトウェアプロダクトが必要である。
【発明の開示】
【課題を解決するための手段】
【０００６】
この発明は、シャドウコピーの効率的な作成、処理、及び復元と、プライマリボリューム又はアプリケーションのクリックリカバリボリュームを可能にする方法、装置、及びソフトウェアプロダクトを提供する。特に、本発明は、単一のインターフェースからプライマリボリューム及びアプリケーションデータのクリックリカバリボリューム及びスナップショットイメージを作成する方法及び装置を提供する。
【０００７】
この発明の第１の態様では、コンピュータ上で実行されるときに、バックアップ記憶装置で第１コンピュータによって用いられる一次データセットのクリックリカバリボリュームを作成する方法をコンピュータに実行させる、プログラムコードを格納するコンピュータ読取可能媒体が提供される。一実施例では、本方法は、スナップショットアプリケーションによって作成された前記一次データセットのスナップショットイメージを確認する段階と、前記一次データセットのスナップショットイメージから前記一次データセットのクイックリカバリボリュームを作成する段階と、を含む。本方法はまた、前記第１コンピュータから保存記憶装置へのデータの移動を制御する段階を含む。一実施例では、データセットは、プライマリボリューム又はアプリケーションデータである。クリックリカバリボリュームは、データセットのディスクトゥディスク・データブロックレベル・レプリケーションを含んでもよい。クリックリカバリボリュームは、一次データセットの前のクイックリカバリボリュームのインクリメンタルバックアップを含むことができる。
【０００８】
一実施例では、前記プログラムコードは、エージェントモジュールとストレージマネージャモジュールとを含む。前記エージェントモジュールは、前記第１コンピュータから前記保存記憶装置へのデータの移動を可能にし、前記ストレージエージェントモジュールは、前記エージェントモジュール及び前記保存記憶装置を繋ぎ合わせる。エージェントモジュールは、特定のアプリケーションに対する一次データセットのデータ移動を可能にするインテリジェントエージェントモジュールとすることができる。プログラムコードは、一次データセットのスナップショットイメージを作成するためにスナップショットアプリケーションを呼び出すクイックリカバリエージェントをさらに備えることができる。一次データセットは、複数のプライマリボリューム、少なくとも一つのプライマリボリューム及び少なくとも一つのアプリケーションデータセット、又は複数のアプリケーションデータセットを含むことができる。ある長さの一次データセットは、第１コンピュータのサブクライアントとして定義され得る。クイックボリュームを作成するための詳細は、クリックリカバリポリシーデータ構造に与えることができる。
【０００９】
一実施例では、プログラムコードは、第１コンピュータに、利用可能ボリュームのプールから一次データセットのクイックリカバリボリュームに対する目的ボリュームを自動的に選択させる。一次データセットのクイックリカバリボリュームに対する目的ボリュームは、クイックリカバリボリュームに必要な貯蔵空間と比較して利用可能ボリューム上で利用できる貯蔵空間に基づいて選択することができ、選択されたボリューム容量は、一次データセットのクイックリカバリボリュームに必要なボリューム容量を上回り、かつ、他の利用可能ボリュームよりも、必要とされる容量に近いものである。
【００１０】
この発明の第１の態様では、保存記憶装置と、一次データセットのクイックリカバリボリュームを作成するためにコンピュータから保存記憶装置へのデータ移動を制御するためのプログラムされたコンピュータと、を含むコンピュータシステムが提供される。コンピュータは、一次データセットのスナップショットイメージを備え、一次データセットに対するスナップショットイメージから一次データセットのクイックリカバリボリュームを作成する。保存記憶装置は、コミュニケーションネットワーク上のクライアントコンピュータへ接続することができる。コンピュータシステムはまた、プログラムされたコンピュータ及び保存記憶装置へ通信接続された少なくとも一つのサーバコンピュータを含むことができる。サーバは、コンピュータから保存記憶装置へのデータ移動を制御するためにプログラムされ得る。
【００１１】
この発明の第１の態様では、一次データセットのスナップショットイメージを作成する段階と、一次データセットのスナップショットイメージから一次データセットのクイックリカバリボリュームを作成する段階と、を備える、第１コンピュータの一次データセットのクイックリカバリボリュームを作成する方法が提供される。一次データのクイックリカバリボリュームを作成する段階は、一次データセットのディスクトゥディスク・データブロックレベル・レプリケーションとしてクイックリカバリボリュームを作成する段階とすることができる。一次データセットアップのクイックリカバリボリュームは、一次データセットの前のクイックリカバリボリュームのインクリメンタルバックアップとすることができる。クイックリカバリボリュームはさらに、一次データセットのスナップショットイメージからセットされた一次データセットのブロックレベルコピーとすることができる。
【００１２】
一実施例では、一次リカバリボリュームを作成する方法は、一次データセットのスナップショットイメージを作成している間、保存記憶装置へ一次データセットの全てのデータをフラッシュするために、オペレーティングシステムを用いて同期させる段階を含む。同期させる段階は、一次データセットのスナップショットイメージを作成している間、一次データセットを含むディスクへの入力を一時停止する段階を含んでもよい。本方法はさらに、一次データセットのスナップショットイメージの作成でセットされた一次データセットを含むディスクへの入力を再開する段階を含むことができる。一時停止する段階及び再開する段階は、予備スナップショット段階及び後スナップショット段階の間、ユーザによって供給されたコマンドラインのコマンドを用いて、自動的又は手動的に達成することができる。一実施例では、一次データセットのスナップショットイメージはまた、インデックスされる。本発明の一実施例では、本方法はさらに、選択された時間に一次データセットのスナップショットイメージを削除する段階を含む。選択された時間は、コピー段階の直後又は持続時間の直後とすることができる。
【００１３】
この発明の第１の態様では、プログラムコードを格納するコンピュータ読取可能媒体が提供される。実行されたときプログラミングは、コンピュータに、バックアップ記憶装置を繋ぎ合わせるスナップショットマネージャを存在させる。スナップショットマネージャは、ユーザにスナップショットイメージを閲覧することを可能にし、かつ、ユーザにバックアップ記憶装置に格納されたスナップショットイメージを復元させることを可能にする。スナップショットマネージャは、スナップショットイメージを作成するためにボリュームスナップショットサービスを繋ぎ合わせることができる。格納されたプログラムコードは、スナップショットイメージのためのデータをパッケージするスナップショットリクエスタプログラムモジュールをさらに含むことができる。パッケージされたデータは、スナップショットイメージを作成するためにボリュームスナップショットサービスと通信することができる。
【００１４】
一実施例では、プログラミングコードは、スナップショットイメージのためのデータをパッケージするためにスナップショットリクエスタプログラムモジュールによって送信され得る、スナップショットリクエスタプログラムモジュールと、スナップショットライタープログラムモジュールと、を含む。ライタープログラムモジュールは、特定のアプリケーションのためのデータをパッケージすることができ、次いでスナップショットイメージを作成するためにボリュームスナップショットサービスへ通信され得る。
【００１５】
一実施例では、スナップショットマネージャプログラムモジュールはスナップショットイメージをインデックスする。スナップショットのインデックスは、コピー、削除、表示、閲覧、特性変更、又はスナップショットイメージの復元を可能にする。スナップショットは、特定のアプリケーションに固有のオブジェクトの点でインデックスされ得る。
【００１６】
スナップショットマネージメントツールは、ニュージャージーにあるOceanportのCommVault Systemsから提供されかつ出願第０９／６１０，７３８号で述べられているGalaxy（商標）バックアップシステムのような、既存のバックアップシステムに統合することができる。この発明は、シャドウコピーを処理するためにそのような装置のインデックス技術と「ポイント・イン・タイム（point-in-time）」ブラウズ及び復元・能力とに影響を与える。あるいは、スナップショットマネージメントツールは、CommVault Galaxy（商標）バックアップシステム及び他のもののような、既存のバックアップシステムに統合する必要のないベーシックスナップショットマネージメントのためのスタンドアロンマネージメントツールとして作動することができる。
【００１７】
本発明は、例としてであって限定する意味ではない添付の図面に図示されており、図面において同様の参照番号は、同様の又は対応する部分を参照するよう意図されている。
【発明を実施するための最良の形態】
【００１８】
図１を参照すると、この発明の実施例に係る、バックアップ記憶装置１００におけるクライアントコンピュータの一次データセットのクイックリカバリボリュームで使用するためのコンピュータ読取可能媒体のソフトウェアコンポーネントは、インテリジェントデータエージェント１０４のような少なくとも一つのエージェント１０２、例えば、Galaxy（商標）システムと共に利用可能なiDataAgent（商標）モジュールと、クイックリカバリエージェント１０８と、メディアエージェント１０６、例えばGalaxy（商標）システム等と共に利用可能なMediaAgent（商標）モジュールと、少なくとも一つのストレージマネージャ１１０、例えばGalaxy（商標）システムと共に利用可能なCommServe StorageManager（商標）モジュールと、を含む。一次データセットは通常、ボリューム、アプリケーションデータ、又はクライアントコンピュータによって能動的に用いられている他のデータを意味する。ボリュームは一般的に、データ記憶装置の格納領域であり、格納領域の全体又は格納領域の一部とすることができる。エージェント１０２とは一般に、クライアントコンピュータに対して制御及びデータ移動機能を与えるプログラムモジュールのことをいう。クライアントとは通常、バックアップされ得るデータ、例えば一次データセットを有する、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ、ホスト、等のようなコンピュータのことをいう。インテリジェントデータエージェント１０４とは、Windows（登録商標）2000ファイルシステム、マイクロソフトExchange2000データベース、等のような、特定のアプリケーションのデータに対して制御及びデータ移動機能を与える特定のアプリケーションのためのエージェントのことをいう。インテリジェントデータエージェント１０４又はクイックリカバリエージェント１０８のような複数のエージェント１０２は、各クライアントコンピュータに与えられかつ／又は備わり得、例えば、クライアントコンピュータは、クイックリカバリボリュームが作成されうる複数のアプリケーション及びファイルシステムを含む。
【００１９】
ここで用いられるようにクイックリカバリボリュームとは一般的に、オリジナルボリュームの完全な複製品のことをいう。完全な複製品とは、通常バックアップコピーの場合がそうであるように、初期化されないか又は圧縮されないコピーのような、一次データセットの変更のないコピーのことを意味する。このコピーは、クイックリカバリボリュームに対して簡単にマウント又はポイントすることによってクライアントコンピュータに対して素早い復元を可能にする。
【００２０】
一実施例では、クライアントコンピュータ上の一つ又は複数のボリューム及び／又はアプリケーションに対してクイックリカバリボリュームが作成される箇所で、サブクライアントが作成され得る。サブクライアントとは一般的に、コピー、復元、又はそうでなければ処理されることになっているボリューム又はアプリケーションのようなデータセットの範囲を定義するパラメータ及びポリシーの確定セットのことをいう。サブクライアントは通常、クライアントのボリューム及びアプリケーションのサブセットを含む。複数のサブクライアントは、クライアントコンピュータに対して作成され得、サブクライアントは、サブクライアント間に共通のデータセットを含むように重複することができる。クライアント、サブクライアント、又は複数のサブクライアントに対するクイックリカバリボリュームは、一つのクイックリカバリポリシー又は複数のポリシーデータ構造を指し示すように命令され得る。データ構造は、クイックリカバリボリュームを作成するための詳細を与える。その詳細とは、ボリューム又はアプリケーションに対するスナップショットがどのように作成、コピーされるかということ、スナップショット及びクイックリカバリボリュームの永続性、データの剪定、クイックリカバリボリュームの目的ボリューム、等である。
【００２１】
クイックリカバリボリュームのための目的ボリュームは、特定のボリュームにコピーされるよう指定され得るか、又は利用可能ボリュームのプールから自動的に選択され得る。クイックリカバリエージェント１０８又はメディアエージェント１０６は、一実施例では、クイックリカバリボリュームが格納される箇所で目的ボリュームとして利用可能ボリュームを選択する。クイックリカバリエージェント１０８は、ランダムにボリュームを選択することができるか、又はクイックリカバリボリュームに必要な空間と比べて特定のボリュームで利用可能な格納空間に従うボリュームをターゲットにすることができる。ひとたびボリュームが選択されると、ボリュームは利用可能ボリュームのプールから除去される。これは、例えばクイックリカバリボリュームに必要な容量を決定し、利用可能ボリュームの容量を決定し、かつクイックリカバリボリュームに必要な容量を上回りかつ他のボリュームよりも必要な容量に近い容量を有するボリュームを選択するメディアエージェント１０６によって達成することができる。
【００２２】
メディアエージェント１０６とは一般的に、テープライブラリ、ＲＡＩＤシステム、等のような保存記憶装置１１２に制御を与えるソフトウェアモジュールのことをいい、保存記憶装置からの及び保存記憶装置への、又はクライアントと保存記憶装置との間の、局所的かつ遠隔のデータ移動を容易にする。メディアエージェント１０６は、インテリジェントデータエージェント１０４又はクイックリカバリエージェント１０８のような一つ又は複数のエージェント１０２と接続することができ、プライマリボリューム又はアプリケーションデータのような、クライアントコンピュータからストレージボリュームへコピーされるデータを制御する。プライマリボリュームとは通常、データのオリジナルソースであるクライアントコンピュータのボリューム、例えばクイックリカバリボリュームのための一次データセットのことをいう。データとは通常、ファイルシステム、アプリケーション、及びアプリケーションに関係する情報を含む、記憶装置に格納され得る情報のことをいう。例えば、メディアエージェント１０６は、コピーマネージャ１１６として作動するためにクイックリカバリエージェント１０８と接続することができ、プライマリボリューム１１４からクイックリカバリボリューム１１８へのデータのコピーを管理する。ストレージマネージャ１１０とは通常、複数のエージェント、クライアント、記憶装置、等を接続するソフトウェアモジュール又はアプリケーションのことをいい、一実施例では、これらの間のデータの流れを調整しかつ制御する。プライマリボリューム１１４及びクイックリカバリボリューム１１８は、テープドライブ、ハードドライブ、光ドライブ、等のような様々な記憶装置を介して格納され得る。記憶装置は、ローカルドライブのようなクライアントにとってローカルなもの、あるいは、記憶エリアネットワーク（storage area network：「ＳＡＮ」）又はローカルエリアネットワーク（「ＬＡＮ」）環境等における遠隔ドライブのようなクライアントにとってリモートなものとすることができる。
【００２３】
クイックリカバリエージェント１０８とは一般的に、クイックリカバリボリューム１１８を作成する能力を与えるソフトウェアモジュールのことをいう。クイックリカバリエージェント１０８は、スナップショットメカニズムを再現するか、又はプライマリボリューム又はアプリケーションデータのような一次データセットのスナップショットイメージを作成するスナップショットマネージャと接続する。一実施例では、一次データセットのスナップショットイメージは、一次データセットのクイックリカバリボリュームを作成するためにアクセスされる。
【００２４】
一実施例では、クイックリカバリエージェント１０８は、一次データセットのクイックリカバリボリューム１１８を作成するために一次データセットのスナップショット又はシャドウコピーを作成する、ＸＰ／．ＮＥＴ、TimeFinder、等のようなスナップショットイメージプログラミングに追加するか又は該スナップショットイメージプログラミングと接続するスタンドアロン・アプリケーションである。あるいは、又はさらに、クイックリカバリボリューム１１８は、クライアントコンピュータのディスクトゥディスク・データブロックレベル・ボリューム又はアプリケーションデータレプリケーションである。
【００２５】
一実施例では、一次データセットのスナップショットイメージは、第１ハードドライブ又はＲＡＩＤシステムのような第１メディアに格納され、クイックリカバリボリュームは、ハードドライブ又はテープライブラリのような遅いメディアに格納される。クライアントコンピュータは、スタンドアロンユニットとすることができるか、又はストレージエリアネットワーク（「ＳＡＮ」）又はローカルエリアネットワーク（「ＬＡＮ」）環境の保存記憶装置に接続される。
【００２６】
一実施例では、初期クイックリカバリボリュームは、一次データセットのスナップショットイメージを捕獲し、プライマリボリュームに格納されたデータからクイックリカバリボリュームを作成することによって作成される。クイックリカバリボリュームは続けて、続く一次データセットのスナップショットイメージに現れる変化を参照することによって、一次データセットに対する変化を含むようにアップデートされる。これは、スナップショットイメージ間のデータ変化を追跡することによって達成され得る。スナップショットイメージは、変化したデータを含むことができるか、又は単に変化してしまったデータを追跡することができる。次いでクイックリカバリボリュームは、データ変化に従って、又はスナップショットイメージの追跡された変化を参照して増加的にアップデートされ得る。
【００２７】
一実施例では、一次データセットのクイックリカバリボリュームは、インクリメンタルバックアップである。すなわち、クイックリカバリボリュームを作成又はアップデートする操作は、プライマリボリューム又はアプリケーションデータから一次データセットの一つ又は複数の前のスナップショットイメージへ前のスナップショットイメージ以来修正されてきたデータのブロックをインクリメンタルコピーすることによって実行される。あるいは、クイックリカバリボリュームの作成又はアップデートは、スナップショットイメージで追跡された変化を参照してプライマリボリュームからクイックリカバリボリュームへ変化したデータをインクリメンタルコピーすることによって達成される。一実施例では、一次データセットの複数のスナップショットイメージが作成され、スナップショットからのデータは、スナップショット間に増加的に格納され、冗長クイックリカバリを与える。
【００２８】
図２を参照すると、クライアントコンピュータのための通常の記憶装置モデル２００は、オペレーティングシステム層２０２のような複数の層と、アプリケーション層２０４と、等を含む。オペレーティングシステム層はさらに、複数の層（レイヤ）又はサブレイヤ、例えば物理ディスクレイヤ２０６と、論理ボリュームマネージャ（「ＬＶＭ」）層２０８ａと、ファイルシステム層２１０と、等を含む。物理ディスクレイヤ２０６とは、磁気ハードドライブ又はディスクアレイのような、物理的記憶装置を意味する。ＬＶＭ層２０８とは、論理ディスクボリュームマネージメントのことをいい、例えば、物理ディスクが互いに独立して使用され得る複数のパーティションに分割されることを可能にすることによって、物理ディスク記憶装置を効率的かつ柔軟に使用することができる。いくつかのＬＶＭは、複数の物理ディスクを一つの仮想ディスクへ結合する。ＬＶＭは、パーティションテーブルのようなメタデータを物理ディスクの予備領域へ書き込むことができる。ＬＶＭ仮想ディスクは、下にある物理ディスクと同一の特性を有するブロックアドレス可能記憶装置としてシステムの上位層へ透過的に与えられる。
【００２９】
ファイルシステム層２１０は、データのより高いレベルの論理概念を表し、通常、ネストされたディレクトリ、フォルダ、及びファイルの階層と、メタデータとからなる。ファイルの特徴及び属性は、使用される特定のファイルシステムに従って変化し得る。例えば、ＮＴＦＳ、すなわちWindowsNT（登録商標）ファイルシステムは、各ファイルの所有権及びユーザ毎のアクセス権を追跡する。その一方で、ＦＡＴファイルシステム、すなわちファイルアロケーションテーブルファイルシステムは、セキュリティ特質を与えない。アプリケーション層２０４は、ファイルシステムの上、かつ通常のオペレーティングシステムの範囲の外にある。アプリケーション層２０４は、ワードプロセッサプログラム等のような、データを格納するためにオペレーティングシステムによって与えられるファイルシステムと連結するアプリケーションソフトウェアを含む。データベースマネージメントシステム（「ＤＢＭＳ」）のような高性能ソフトウェアは、特殊なファイルシステム又は生の論理ボリュームを用いることができ、データ及びメタデータの整合性を保護するための基準を用いる。データとメタデータとの整合性は、特定のアプリケーション又はファイルシステムに特有のライタを用いてクイックリカバリボリュームを作成している間、維持され得る。ライタは、以下でより詳細に述べられる。
【００３０】
図３を参照すると、本発明の一実施例に係るコンピュータシステムは、パーソナルコンピュータのようなクライアントコンピュータ３０２と、ワークステーションと、サーバコンピュータと、ホストコンピュータと、等を含む。一実施例では、クライアントコンピュータ３０２は、プライマリボリューム又はアプリケーションデータのローカルクイックリカバリボリュームの作成を可能にするプログラミングを含む。すなわち、プログラミングを展開するクライアントコンピュータ３０２は、ローカルハードドライブ、テープドライブ、オプティカルドライブ、等のような、クライアントコンピュータで局所的に格納又はコピーされる、一つ又は複数のクイックリカバリボリュームを作成する。一実施例では、プログラミングは、ＬＡＮ又はＳＡＮのようなコミュニケーションネットワーク３０４に接続された少なくとも一つのクライアントコンピュータ３０２で、テープライブラリ、スタンドアロンドライブ３０６、ＲＡＩＤキャビネット、等のような少なくとも一つの保存記憶装置へ展開される。一実施例では、クライアントコンピュータ３０２は、エージェント１０２又はストレージマネージャ１１０のような、クライアントコンピュータ３０２から保存記憶装置１１２へのデータ移動機能を与えるプログラミングを含む。一実施例では、クライアントコンピュータ３０２のうち少なくとも一つはまた、サーバコンピュータ３０４として作動する。サーバコンピュータ３０２は通常、クライアントコンピュータ３０２と保存記憶装置１１２との間のデータ移動を制御するために、メディアエージェント１０６又はストレージマネージャ１１０のようなプログラミングを含む。一実施例では、少なくとも２つのクライアントコンピュータ３０２が、サーバコンピュータ３０４として作動し；少なくとも一つのサーバは、メディアエージェント機能を与え、少なくとも一つのサーバは、ストレージマネージャ機能を与える。
【００３１】
図４を参照すると、この発明の一実施例に係る、クライアントコンピュータ４００の一次データセットのクイックリカバリボリュームを作成する方法は、複数の段階で実行される。一実施例では、クイックリカバリボリューム１１８は、２つの段階、すなわちスナップショット段階４０８とコピー段階４１４とで作成される。スナップショット段階及びコピー段階のそれぞれは、複数の付随する段階を含んでもよい。例えば、スナップショット段階４０８は、予備スナップショット４０６及び後スナップショット段階４１０を含むことができる。同様に、コピー段階４０４は、予備コピー段階４１２及び後コピー段階４１６を含むことができる。
【００３２】
スナップショット段階４０２では、クイックリカバリエージェント１０８はアプリケーションと同期し、もしあるなら、一次データセットのクイックリカバリボリュームが格納される箇所で、バックアップされるべき一次データセットの全てのデータが保存記憶装置又は目的ディスクへフラッシュされることを保証し、かつ、プライマリボリューム又はアプリケーションデータのような一次データセットが配置される箇所で一次ディスクが、スナップショットイメージの作成の間修正されないということを保証するために、オペレーティングシステムと同期する（段階４２２）。この同期は、例えば一次データセットを含む一次ディスクへの入力又は出力をサスペンドすることによって、達成され得（段階４２０）、これにより、ファイルシステム及びメタデータがコピー操作の間に変化しないままであることが保証される。一実施例では、クイックリカバリエージェントは、一次データセットのスナップショットイメージを作成するためにスナップショットメカニズムを誘起する。スナップショットメカニズム又はスナップショットマネージャは、ソフトウェアモジュール、CommVault Software Snapshot，ＸＰ／．ＮＥＴ，TimeFinder，等のような外部スナップショットアプリケーション、又はこれらの組み合わせとすることができる。ひとたび一次データセットのスナップショットイメージが作成されれば、一次データセットディスクへのアプリケーションアクセスはレジュームすることができ（段階４２４）、クイックリカバリボリューム１１８に対するコピー操作が進行しているか又は宙ぶらりんである間、必要に従って一次ディスク上のデータをアップデートすることができる。一実施例では、ひとたびスナップショットイメージが形成されれば、スナップショットイメージはインデックスされる（段階４２５）。インデックスとは通常、情報を、スナップショットイメージが作成された日付、スナップショットの寿命、等のような、スナップショットイメージを管理するのに役立ち得るスナップショットイメージと関連づけることを意味する。
【００３３】
コピー段階の間、クイックリカバリボリュームは、一次ディスクへの入力又は出力におけるあらゆる停止が最小化されるように、一次データセットのスナップショットイメージから作成される。この作成は、クイックリカバリボリューム１１８のためのデータのソースとして、クイックリカバリエージェント１０８をスナップショットボリューム又はコピーへ参照又はポインティングするメディアエージェント１０６によって実行され得る。次いで問題とされる一つ又は複数のエージェントは、スナップショットボリューム又はコピーからデータをパッケージし、パッケージされたデータをメディアエージェント１０６又はクイックリカバリエージェント１０８へ伝達することができ、メディアエージェント１０６又はクイックリカバリエージェント１０８は、コピーのためにデータをクイックリカバリボリューム１１８へ送ることができる。パッケージングとは通常、パーシング・データのことを意味し、クイックリカバリボリュームの作成を容易にするために用いられるべきであるデータを論理的にアドレスする。例えば、Microsoft Exchangeアプリケーションのスナップショットが作成されるべき箇所で、Exchangeの特定のインテリジェントエージェントは、アプリケーションデータを含む一つ又は複数の一次ディスクから問題とされるデータをパースし、クイックリカバリボリュームのためにパースされたデータを再構築するのを容易にするためにパースされたデータを論理的にアドレスする。一実施例では、コピー段階は、一日、二日、等のような指定された時間が経過した後に、又は指定された時間に、実行される。さらに他の実施例では、一次データセットの複数のスナップショットイメージが、様々な時間で作成され得、最も古いスナップショットイメージは、クイックリカバリボリュームへコピーされる。
【００３４】
クイックリカバリボリューム１１８を作成する方法は、特定のアプリケーションに対して異なってもよい。例えば、Microsoft Exchange2000アプリケーションに対して、アプリケーションと関連づけられたストレージグループへの入力／出力をサスペンドする前に、全体のストレージグループが、スナップショット段階４０２の間、自動的にディスマウントされ、スナップショットが用意されたときに自動的に再マウントされる。SQL2000データベースに対して、データベースは自動的にフリーズし、スナップショットが用意されたときにリリースされ得る。一実施例では、特定のアプリケーションに対するサスペンド機能及びレジューム機能は、ユーザによって供給されたコマンドラインコマンド又はスクリプトを用いて達成され得、コマンド又はスクリプトは、予備スナップショット段階４０６又は後スナップショット段階４１０の間に入力され得る。コマンドラインコマンド又はスクリプトはさらに、クイックリカバリエージェントによってサポートされていないアプリケーションと同期するためのステップのような、要求され得るあらゆる追加のプロセスを実行するために入力され得るか、又は、代わりのホストバックアップが望まれる箇所で、与えられたボリュームを代わりのホストにマウントするコマンドが指定され得る。
【００３５】
一実施例では、コピー段階４１４の間、クイックリカバリエージェント１０８は、スナップショットイメージから目的ディスク又は目的ボリュームへ、一次データセットのブロックレベルコピーを実行し（段階４２６）、これがクイックリカバリボリューム１１８となる。コマンドラインコマンド又はスクリプトはまた、予備コピー段階４１２及び後コピー段階４１６の間に提供され得る。
【００３６】
ユーザは、スナップショットイメージ又はクイックリカバリボリューム１１８からデータを復元することができる（段階４２８）。一実施例では、復元は通常、データがコピーされる箇所で一次データセットのクイックリカバリボリュームを含むディスクへの入力又は出力をサスペンドする（段階４３０）ことを、ディスクへの入力又は出力をレジュームする（段階４３４）ことを、強いる。アプリケーションデータのような一次データセットを復元することは、プライマリボリューム又はアプリケーションデータのような一次データセットのスナップショットイメージを含むボリュームをマウントすること、又はプライマリボリュームの代わりに一次データセットのクイックリカバリボリューム１１８をマウントすること、又は個々のファイル、フォルダ、オブジェクト、等をクイックリカバリボリュームからのプライマリボリュームへ置き換えること、を含む。一実施例では、一次データセットのバックアップコピーがプライマリボリュームに取って代わる箇所で、ディスクへの入力又は出力がサスペンドされない。一実施例では、クイックリカバリボリューム１１８を作成する方法は、アンスナップ段階４１８を含み、通常、スナップショット段階４０８の間に作成されたスナップショットイメージを削除することを伴う。スナップショットは、クイックリカバリボリュームの作成直後又はリソースがさらなるクイックリカバリボリュームの作成のために利用できるような持続時間の後のような、指定された時間に削除され得る。
【００３７】
一実施例では、クイックリカバリエージェント１０８のようなバックアップソフトウェアは、クイックリカバリボリューム１１８の作成のための一次データセットのスナップショットイメージにアクセスするために、スナップショットマネージャと接続する。スナップショットマネージャは、アプリケーションデータのプライマリボリュームのスナップショットイメージの作成及び管理を制御するスタンドアロン・アプリケーション又はプログラムモジュールとすることができる。図５を参照すると、この発明の一実施例に係るスナップショットマネージャ５０３は、クイックリカバリエージェント１０８のようなバックアッププログラミングと接続する、スナップショットマネージャエージェントのようなプログラムモジュールである。スナップショットマネージャは、特定のアプリケーション、例えばWindows（登録商標）2000Fileシステム、Exchange，Oracle，等に対するスナップショットを管理するという点で、インテリジェントエージェントとすることができる。これら複数のアプリケーションは、複数のアプリケーションデータのスナップショットコピーを作成するためにあらゆるクライアントコンピュータにインストールされ得る。
【００３８】
一次データセットのスナップショットイメージの作成及び管理はさらに、スナップショットリクエスタ５０２を用いて達成され得る。一実施例では、スナップショットリクエスタ５０２は、特定のアプリケーション又はプライマリボリュームのデータを一般的にパッケージするプログラムモジュールである。一実施例では、スナップショットイメージの作成がクイックリカバリエージェント５０８によってリクエストされたとき、例えば、スナップショットリクエスタ５０２は、スナップショットライタ５０４と通信し、スナップショットイメージに要求されるデータをパッケージするようライタに命令する。一実施例では、スナップショットライタ５０４は、Windows（登録商標）2000ファイルシステム、Microsoft Exchange，Oracle，等のような個々のアプリケーションからデータをパッケージするよう構成されたアプリケーション特定モジュール（application specific module）である。スナップショットライタ５０２がデータをパッケージした後、データはボリュームスナップショットサービス５０５へ伝達され、そこで一次データセットのスナップショットイメージを実際に作成する。一実施例では、スナップショットライタ５０４は、スナップショットリクエスタ５０２へパッケージされたデータを伝達し、次いでパッケージされたデータをボリュームスナップショットサービス５０５へ渡す。
【００３９】
ボリュームスナップショットサービス５０５は、Microsoft .NET Serverのようなソフトウェアスナップショットプロバイダからのソフトウェアスナップショットアプリケーションか、又は、ＥＭＣ又はCompaqのようなハードウェアスナップショットプロバイダからのハードウェアスナップショットアプリケーションである。ソフトウェアスナップショットイメージアプリケーションは、一実施例では、コピーオンライト技術を用いて分離論理ボリュームとしてエクスポーズされる空間効率コピー（space efficient copy）を作成する。典型的にはＲＡＩＤキャビネットを伴うハードウェアスナップショットイメージアプリケーションは、アプリケーションデータ又はプライマリボリュームのミラー又はクローンコピーを作成する。ひとたびボリュームスナップショットサービス５０５がスナップショットイメージを取ってしまえば、スナップショットデータはスナップショットマネージャ５０３へ渡され、スナップショットの管理を可能にするスナップショットイメージをインデックスする。インデクシングとは通常、スナップショットが作成された日付、スナップショットの寿命、等のようなスナップショットを管理するのに役立ち得る情報とスナップショットを関連づけることを意味する。管理は通常、しかし限定することなく、スナップショット又はスナップショット内のデータのコピー、削除、表示、閲覧、特性変更、又は復元を含む。インデクシングは通常、スナップショットイメージの及びクイックリカバリボリュームの復元、性能のような、ポイント・イン・タイム・閲覧及び管理を提供する。ユーザは、要求しているアプリケーション又はモジュールの寿命を十分に超えてスナップショットイメージを持続すること又は保持することを選択することができる。次いでスナップショットマネージャ５０３は、スナップショットデータを、クイックリカバリボリューム１１８へコピーするためにクイックリカバリエージェント１０８へ、又は保存記憶装置１１２へコピーするためにメディアエージェント１０６へ、伝達することができる。
【００４０】
一実施例では、この発明は、ディスクトゥディスク・データ移動を実行するために高性能データムーバを実行する。データムーバはまた、通信網、例えばＳＡＮ又はＬＡＮに亘って第２又は補助コピーを作成するために、拡張コピーを用いて、サーバー・レス・データ移動（server-less data transfer）を実行することができる。一実施例では、拡張コピーコマンドは、コピーマネージャとして作動し、ゲートウェイ、ルータ、テープライブラリ、等のようなＳＡＮ構成要素に埋め込まれる。あるいは、コピーマネージャは、バックアップ記憶装置と接続するプログラムモジュールである。他の実施例では、ハードウェアスナップショットは、サーバー・フリー・バックアップを実行するために代わりのホストにマウントされる。これにより、ユーザが、ソフトウェアスナップショットイメージを維持又は保持されうるハードウェアスナップショットイメージと同等のものへ変換することが効果的に可能になる。
【００４１】
一実施例では、米国特許第０９／６１０，７３８号明細書に開示された認識技術（aware technology）が、アプリケーションに認識させるためにスナップショットイメージプログラミング又はボリュームスナップショットサービスへ組み入れられる。換言すると、インテリジェントデータエージェント１０４は、スナップショットイメージの特定のアプリケーション部分に固有のオブジェクトを作成し、これにより、アプリケーションのオブジェクトに関してユーザが機能を実行することが可能となる。これは、例えば、ディレクトリ及びファイルからなるボリュームのみというよりはむしろ、記憶グループ及び記憶装置に関して認識できるExchangeデータからなるボリュームのスナップショットイメージを閲覧することを可能にする。Exchange又はSQL Serverのような特定のアプリケーションに対して、記憶グループ（Storage Group）又は記憶装置のような、Exchangeオブジェクトへの経路のような、又は、データベース、ファイルグループ、又はファイルのような、SQLオブジェクトへの経路のような、オブジェクトに関するさらなるレベルの詳細を含むことができる。この情報は、現存のスナップショットボリュームのいずれかが、復元のためユーザに提供されるように注目のオブジェクトのコピーを含むかを確認するために閲覧するときに用いることができる。他の実施例では、同様のアプリケーション認識構成が、Lotus Notes，Oracle，Sharepoint Server，等のようなアプリケーションに与えられる。
【００４２】
一実施例では、スナップショットマネージャ５０３は、クライアントコンピュータに含まれた、プライマリボリューム又はアプリケーションデータのスナップショットイメージ又はクイックリカバリボリュームの作成及び管理を可能にする適切なユーザインターフェーススクリーンを用いるとユーザに利用しやすくなる。ユーザに利用できる機能は、指定された時間に、スナップショットイメージ、例えばスナップを作成すること（１）、ある期間、スナップ及び維持すること（２）、（ソフトウェアスナップショットのために）維持されるべきスナップショットイメージの目的ボリュームを指定すること（３）、スナップショットイメージが維持されるべき期間を指定又は変更すること（４）、現存のスナップショットイメージを閲覧すること（５）、スナップショットイメージを指定されたボリュームに復元すること（６）、及びスナップショットイメージを破棄又は削除すること（７）を含む。閲覧とは通常、ユーザが特定のスナップショットに対する情報を見ることを可能にすることを意味する。例えば、閲覧は、ユーザが、特定のボリューム又はアプリケーションデータに対する利用可能なスナップショット及びこれらに関連した情報を見ることを可能にする。復元とは通常、一次データセットをスナップショットイメージ又はクイックリカバリボリュームからのデータに置き換えることをいい、プライマリボリュームの代わりにスナップショットイメージ又はクイックリカバリを含むボリュームをマウントすること、スナップショット又はクイックリカバリボリューム、等から一次ディスク上のアプリケーションデータを置き換えることを含む。一実施例では、復元の間、データは、複数のクイックリカバリボリューム、スナップショットイメージ、又はこれらの組み合わせから検索され得る。例えば、データはスナップショットイメージ及びクイックリカバリボリュームから検索され得る。
【００４３】
一実施例では、一次データセットのクイックリカバリボリューム又はスナップショットイメージは、一次データセット、例えばプライマリボリュームとして常設の基準で用いられ得る。例えば、ユーザは、Exchangeのようなアプリケーションを実行するために、恒久的にクイックリカバリボリュームから選択することができ、アプリケーションのためのさらなるバックアップ操作は、クイックリカバリボリュームをプライマリボリュームとして再現することになる。プライマリボリュームに対する置換としてバックアップ操作を調整することは、クライアントに利用可能なバックアップ操作及びバックアップボリュームに対するクイックリカバリポリシーを確認することによって、及び利用可能ボリュームのプールからボリュームをリリースすることによって達成され得る。プライマリボリューム又はアプリケーションを復元するこの方法は、バックアップコピーから一次コピーへのデータ移動が有効に除かれるので、データを復元する最も早い方法となる。その上、クイックリカバリボリュームからの復元は、クイックリカバリボリュームが、クライアントコンピュータがデータを使用するためにアンフォーマット又はアンコンプレスされなければならないことはないので、従来のバックアップ技術よりも速い代案である。この方法は、手動で又は自動的に実行することができ、スナップショットテーブルのような問題とされるテーブル又はデータベースは、置換ボリュームを、将来のバックアップ操作のためのプライマリボリューム又はアプリケーションとして再現するために訂正され得る。
【００４４】
一実施例では、ユーザは、特定のフォルダ、ファイル、等を見るために、又はアプリケーションに固有の特定のオブジェクトを見るために、教え込むことができる。一実施例では、ユーザは、クイックリカバリコピーに関して、スナップショットイメージがクイックリカバリボリュームの後に維持されるべきか（１）、イメージがどの位長い間維持されるべきか（２）、及びイメージに対する永久記憶装置の位置（３）を指定することができる。さらに他の実施例では、ユーザは、スナップショットイメージ及びクイックリカバリボリュームを、あるいはスナップショットイメージのみ又はクイックリカバリボリュームのみをリクエストすること（１）、ソフトウェアスナップショットイメージをリクエストし、かつ任意にソフトウェアスナップショットイメージがハードウェアスナップショットイメージに転換されることを条件づけること（２）、ある時間の間ハードウェアスナップショットイメージが持続することをリクエストすること（３）、ボリュームレベル、例えば全ボリュームで、又はサブボリュームレベル、例えば個々のフォルダ、ファイル、オブジェクト、等で、スナップショットイメージからデータを復元すること（４）、及びＳＡＮ上にスナップショットイメージの他のコピーを作成すること（５）、ができる。
【００４５】
一実施例では、インデックスされるか又はスナップショットマネージャ５０３によってスナップショットイメージと関連づけられたスナップショット情報は、バックアップ記憶装置１００又はストレージマネージャ１１０にアクセスしやすい、少なくとも一つのテーブル又はデータベース、例えばスナップショットテーブル内で追跡される。スナップショットテーブルは、一実施例では、特定のボリューム、アプリケーション、サブクライアント、等に対して現在利用可能なスナップショットイメージを示す、あらゆるクライアント、アプリケーション、又はサブクライアントのためにコンフィギュレーションされたあらゆるボリューム又はコピーに対する情報を含む。スナップショット情報は好ましくは、スナップショットが作成されたときを示すタイムスタンプ、及びどの位長い間スナップショットが持続するべきかを示す時間間隔を含む。スナップショットテーブルは、クイックリカバリボリュームを管理及び制御するためのプログラムモジュールのうちのいずれか一つによってアクセスされ得る。
【００４６】
一実施例では、スナップショットマネージャのようなアプリケーション又はモジュールは、次の機能を可能にする。ボリューム又はアプリケーションのスナップショットイメージが実行されているとき、アプリケーションはディスクへの入力又は出力をサスペンドし、どのアプリケーションがプライマリボリュームに存在するかを決定し、特定のアプリケーションに対して問題とされるライタを使い、スナップショットを実行又は命令し、スナップショットデータをパッケージし、ディスクへの入力／出力を再開（レジューム）する。アプリケーションはまた、所定のクライアントのためにスナップショットテーブルへ適切なエントリーを行う。バックアップが実行されているとき、アプリケーションは、コンテンツを確認し、含まれたボリュームを確認し、含まれたアプリケーションを確認し、含まれた全てのライタを使用し、スナップショットを実行又は命令し、クイックリカバリボリューム１１８へのコピーを実行又は命令する。適切なエントリーは、所定のクライアント及び含まれたボリュームのためのスナップショットテーブルに形成される。この発明のいくつかの実施例では、スナップショットの作成の一部として、アプリケーションは、どの位長い間スナップショットが持続するべきかに関連するスナップショットテーブルパラメータに入力する。スナップショットが破棄又は削除されるとき、アプリケーションは、スナップショットの削除を実行又は命令し、したがってスナップショットテーブルがアップデートされる。
【００４７】
スナップショットがソフトウェアスナップでありかつ永久記憶装置がソフトウェアスナップをハードウェアスナップへ転換することを確認した場合、アプリケーションはまず最初に、データの移動を行うために、例えばDataPipe及びバックアップＡＰＩを用いて、データの第１コピーを実行し、次いでスナップショットテーブルを更新する。アプリケーションが呼び出される時毎に、ボリュームを所定のクライアント上に再発見し、新しいボリュームが、スナップショットマネージャインテリジェントエージェントのような、エージェントのデフォルト・サブクライアントへ付け加えられることを保証する。アプリケーションはまた、リカバリ操作の一部とも称され得る。この場合、データのコピーは、一のボリュームから他のボリュームへ行われる。加えて、メタデータのようなオペレーティングシステムのデータが含まれる場合には、あるライタは、正確なデータ復元を保証するために使用されなければならないこともある。
【００４８】
一実施例では、終了した又は持続時間が経過したスナップショットイメージのようなデータの剪定（pruning）がまた可能にされる。剪定は、毎週、毎月、等のように定期的に実行されるよう予定することができる。スナップショットイメージが存在しかつそれらの持続時間が経過してしまった場合には、スナップショットイメージは破棄又は削除され、スナップショットテーブルがしたがって更新される。
【００４９】
上述の議論は、スナップショットマネージャのようなアプリケーション又はモジュールが、Windows（登録商標） .NET Serverでビルトイン・シャドウコピー機構を操作するために論理を保護することを想定しているが、アプリケーションは、当業者によって承認されるであろうあらゆるハードウェアスナップショットに対するものと同一の論理を容易に保護することができる。アプリケーションは、．ＮＥＴ，TimeFinder，ＥＶＭ，等のような異なるスナップショットプログラムをそれぞれ支持する、プラグインモジュール、ダイナミック・リンク・ライブラリ（「ＤＬＬ」）と連結して実行され得る。
【００５０】
この発明の一実施例は、ユーザが、例えばスナップショットイメージ、クイックリカバリボリューム、一次コピー、バックアップコピー、等からポイント・イン・タイムでデータを閲覧及び復元するためのユーザインターフェーススクリーンを提供する。閲覧及び復元は、クライアント、サブクライアント、ボリューム、及び特定のアプリケーションとすることができ、ボリュームレベルで又はサブボリュームレベルで行うことができる。ボリュームレベルリカバリとは、ボリューム全体の複製のことをいうが、サブボリュームレベルとは、フォルダ、ファイル、又はオブジェクトレベルでの復元のことをいう。図６を参照すると、この発明の一実施例に係るブラウザインターフェーススクリーン６００は、ディレクトリフレーム６０２及びコンテンツフレーム６０４のような複数のフレームを含む。ディレクトリフレームは一般的に、階層的配置にあるクライアントコンピュータの、全ての利用可能なドライブ、パーティション、ボリューム、スナップショット、バックアップ、等及びこれらの中のファイルフォルダのリストを提供する。コンテンツフレーム６０４は一般的に、フォルダ、ファイル、又はオブジェクトのような、ディレクトリフレーム６０２に現れるあらゆるデータ項目のコンテンツをリストする。コンテンツは、ディレクトリフレーム６０２の中のデータ項目のうちいずれか一つを目立たせることによって表示され得る。「My snapshots」フォルダを選択することによって、例えば、スナップショットフォルダ６１２のコンテンツがコンテンツフレーム６０４に表示される。コンテンツは、作成日、持続性（persistence）、連関（association）、ボリュームの容量、等のような、問題とされる詳細と共に表示され得る。一実施例では、ユーザは、どの位長く特定のスナップショットが位置等を持続しているかのような、スナップショットの特性を変更することができ、ユーザは、例えばCommVaultデータムーバを用いて、他のボリューム又はソフトウェアスナップショットのコピーの作成を命令することができる。
【００５１】
一実施例では、ユーザは、閲覧及び復元が起こる可能性のあるポイント・イン・タイムを指定することができる。その場合、ブラウザアプリケーションは、指定されたポイント・イン・タイムで存在する現存のスナップショットイメージがあるかを決定する。ユーザに指定されたポイント・イン・タイムで利用可能であることがわかったスナップショットデータは、ユーザに表示される。スナップショットデータは、存在し、かつポイント・イン・タイムのと同じ位有効なデータに制限をつけるかを表示する。ブラウザアプリケーションが一次コピー、及び二次コピーのようなスナップショット、バックアップコピーを見つけない場合は、クイックリカバリボリュームがデータリカバリ及び復元のために公開又はアクセスされる。ユーザがコンテンツを見るために例えばデータ項目を選択又はダブルクリックすることによって、所定のスナップショットイメージ、クイックリカバリボリューム、又はバックアップコピーをドリルダウンすることを選択する場合には、データ項目は、要求するクライアントコンピュータで、データ項目と関連づけられたアプリケーションによって与えられたインターフェーススクリーンのような適切なユーザインターフェーススクリーンに表示される。アソシエーションとは通常、ファイルとファイルを作成したアプリケーションとの間の関係のことをいう。
【００５２】
あるポイント・イン・タイムでユーザインターフェースで表示されるスナップショットフォルダ及びコンテンツは、注目のボリューム又はコピーに対してポイント・イン・タイムで利用可能なスナップショットがあるかをみるためにスナップショットテーブルを調べる閲覧論理によって与えられ得る。利用可能なスナップショットがある場合には、スナップショットのコンテンツに関係するデータがしたがって表示される。アプリケーション特定オブジェクトは、データファイル又はディレクトリへマップされ、このマッピングは、データベーステーブルに格納される。これにより、スナップショットが閲覧又は復元されるときに、スナップショット上のオブジェクトをアプリケーション特定視することが可能となる。例えば、Ｃ：￥ボリュームのスナップショットが作成された箇所で、項目「My Snapshots」の下を閲覧すると、Ｃ：￥ボリュームのスナップショットイメージであるＣ：￥ボリュームが現れる。あるいは、スナップショットイメージは、異なるラベルを用いて指定され得る。例えば、Ｃ：￥のスナップショットボリュームは、Ｖ：￥がＣ：￥のスナップショットボリュームであることを示すラベルを用いてＶ：￥．とすることができる。スナップショット及びスナップショット内のフォルダを通じてドリルダウンすると、見る、復元する、回復する、削除する、等をすることができるファイル、フォルダ、又はオブジェクトが現れ得る。例えば、Ｃ：￥ボリュームのスナップショットに現れるファイル「important.doc」は、ドキュメントビューアを用いて見られるか、削除されるか、復元されるか、プライマリボリュームに回復され得る。
【００５３】
図７を参照すると、この発明の一実施例に係るスナップショットイメージを閲覧するためのブラウザインターフェーススクリーンは、フォルダ、例えばクライアントsquid.CommVault.comのためのフォルダとして特定のクライアント７０２を表示する。少なくとも一つのサブフォルダが、バックアップコピーを作成するために、閲覧するために、復元のために、クライアントに利用可能な一つ又は複数のアプリケーションを示すよう表示され得る。例として、「Exchange2000 Database」、「File System」、及び「SQL Server2000」が挙げられる。「Exchange2000 Database」のようなサブフォルダの一つを選択すると、「SnapShot Data」サブフォルダ７０６のような、その中のサブフォルダが現れ、これにより、選択されたアプリケーションのためのスナップショットデータが与えられる。サブフォルダを通じてさらにドリルダウンすると、階層的レイアウトに、「SnapShot１」のような利用可能なスナップショット、「Information Store」、「First Storage Group」、「Mailbox Store」、「Public Folder Store」、等のようなアプリケーションオブジェクト７１０が表示される。次いでユーザは、シングルクリック復元又は回復、又はプライマリボリューム又はアプリケーションデータのスナップショットイメージ又はクイックリカバリボリュームの作成、又はその下に表示されたデータがバックアップ又は復元されるレベルを選択することによるバックアップコピーの作成、を実行することができる。例えば、「First Storage Group」を選択して右クリックすることによって、ユーザは、アクティブウィンドウ（activity window）７１２を用いて示され、これによりユーザは「Recover（復元）」機能を選択することができる。この場合、「Recover」を選択することによって、「First Storage Group」の下に現れているオブジェクトに関連する全てのデータが復元（リカバー：recover）されることになる。ユーザは、単一のExchangeストア又はSQL Serverデータベースのような、単一のファイル、又は単一のオブジェクトを復元するよう選択することができる。回復は、データをディスクからディスクへ移動させる出願第０９／０３８，４４０号に詳細に記述されている、CommVaultのDataPipe（商標）のような第１データムーバを用いて実行することができる。加えて、ディスクトゥディスク・サーバレス・データムーバも同様に実行することができる。
【００５４】
ユーザインターフェーススクリーンは、所定のスナップショットコピー又はクイックリカバリボリュームから、プライマリボリューム又はアプリケーションデータのようなデータセットを復元するために用いることができる。全データセットが復元されるべきである場合には、スナップショットイメージ又はクイックリカバリボリュームは、例えば上述のリカバリプロセスを用いて、オリジナルボリュームの代わりとすることができる。ボリュームよりも小さなデータ項目の復元は、例えば所望のファイル又はオブジェクトをコピー及びペーストすることによって、従来のファイルコピー技術又はWindows（登録商標） Explorerを用いて、達成することができる。復元されるファイル又はオブジェクトに依存して、復元プロセスは、どのライタがスナップショットの時に含まれるかを確認する段階と、次いで回復を達成するためにこれらライタを使用する段階と、を含むことができる。
【００５５】
ユーザインターフェーススクリーンはまた、単一の項目を基準として又は持続時間が経過した時に自動的に、所定のスナップショットコピーの破棄を要求するために使用することができる。破棄された各スナップショットコピーに対する基本的な情報やら何やらは、追跡（トラッキング）及び表示のために格納することができる。この情報は、一実施例では、ＭＳＤＥデータベースに格納されるが、他の同様のデータ構造に格納することもできる。
【００５６】
この発明の実施例のうちのいくつかは、CommVault Galaxyバックアップシステムの現在の特徴に影響を与える。しかしながら、この発明の実施例がGalaxyシステムとは独立して適用され得ることは、当業者に理解されるであろう。本発明は好ましい実施例に関連して記述及び図示されてきたが、当業者に明らかであろう多くの変形及び修正は、本発明の精神及び範囲から逸脱することなく行われ、かくして本発明は、そのような変形及び修正が本発明の範囲内に含まれるよう意図されているので、上で説明された方法又は構成の正確な詳細に限定されるべきではない。
【００５７】
この出願は、２００１年９月２８日に提出された「オペレーティングシステム又は他のアプリケーションで作成されたスナップショットを管理する方法（METHOD FOR MANAGING SNAPSHOTS GENERATED BY AN OPERATING SYSTEM OR OTHER APPLICATION）」というタイトルの、米国特許仮出願第６０／３２６，０２１号明細書の優先権を主張する。仮出願６０／３２６，０２１の全体の内容は、参照によって本願に組み入れられる。
【００５８】
本特許文書の開示内容の一部は、著作権保護の対象となる材料を含む。著作権者は、特許ファイル又は記録が特許及び商標局で現れるときに、特許文書又は特許開示内容のいずれによっても複製を復元する目的はないが、そうでなければ全ての著作権を保留する。
【００５９】
この出願は、次の懸案の出願に関係し、
出願第０９／６１０，７３８号：タイトル「MODULAR BACKUP AND RETRIEVAL SYSTEM USED IN CONJUNCTION WITH A STORAGE AREA NETWORK」，提出２０００年７月６日，代理人登録番号０４４４６３−００２；
出願第０９／６０９，９７７号：タイトル「MODULAR BACKUP AND RETRIEVAL SYSTEM WITH AN INTEGRATED STORAGE AREA FILING SYSTEM」，提出２０００年８月５日，代理人登録番号０４４４６３−００２３；
出願第０９／３５４，０５８号：タイトル「HIERARCHICAL BACKUP AND RETRIEVAL SYSTEM」，提出１９９９年７月１５日，代理人登録番号０４４４６３−００１４；
出願第０９／７７４，３０２号：タイトル「LOGICAL VIEW WITH GRANULAR ACCESS TO EXCHANGE DATA MANAGED BY A MODULAR DATA AND STORAGE MANAGEMENT SYSTEM」，提出２００１年１月３０日，代理人登録番号０４４４６３−００４０；
出願第０９／８７６，２８９号：タイトル「APPLICATION SPECIFIC ROLLBACK IN A COMPUTER SYSTEM」，提出２０００年６月６日，代理人登録番号０４４４６３−００２９；
出願第０９／０３８，４４０号：タイトル「PIPELINED HIGH SPEED DATA TRANSFER MECHANISM」，提出１９９８年３月１１日，代理人登録番号４９８２／６；
これら出願のそれぞれは、参照によって本願に組み入れられる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例に係るバックアップ記憶装置のためのコンピュータ読取可能媒体に格納されたプログラムコードのソフトウェアコンポーネント及び通信経路を示すブロック図である。
【図２】典型的な記憶装置モデルのブロック図である。
【図３】本発明の実施例に係るコンピュータシステムである。
【図４】本発明の実施例に係るクライアントコンピュータの一次データセットのバックアップコピーを作成する方法のフローチャートである。
【図５】本発明の実施例に係るスナップショット能力を備えたバックアップ記憶装置のためのコンピュータ読取可能媒体に格納されたプログラムコードのソフトウェアコンポーネント及び通信経路を示すブロック図である。
【図６】本発明の実施例に係るブラウザ型ユーザインターフェーススクリーンである。
【図７】本発明の実施例に係るブラウザ型ユーザインターフェーススクリーンである。
【符号の説明】
【００６１】
１００  バックアップ記憶装置
１０２  エージェント
１０８  クイックリカバリエージェント
１１２  保存記憶装置
１１４  プライマリボリューム
１１８  クイックリカバリボリューム
【図１】
2005505045.tif 000003
【図２】
2005505045.tif 000004
【図３】
2005505045.tif 000005
【図４】
2005505045.tif 000006
【図５】
2005505045.tif 000007
【国際公開パンフレット】
2005505045.tif 000008
2005505045.tif 000009
2005505045.tif 000010
2005505045.tif 000011
2005505045.tif 000012
2005505045.tif 000013
2005505045.tif 000014
2005505045.tif 000015
2005505045.tif 000016
2005505045.tif 000017
2005505045.tif 000018
2005505045.tif 000019
2005505045.tif 000020
2005505045.tif 000021
2005505045.tif 000022
2005505045.tif 000023
2005505045.tif 000024
2005505045.tif 000025
2005505045.tif 000026
2005505045.tif 000027
2005505045.tif 000028
2005505045.tif 000029
2005505045.tif 000030
2005505045.tif 000031
2005505045.tif 000032
2005505045.tif 000033
2005505045.tif 000034
2005505045.tif 000035
2005505045.tif 000036
2005505045.tif 000037
2005505045.tif 000038
2005505045.tif 000039
2005505045.tif 000040
2005505045.tif 000041
2005505045.tif 000042
2005505045.tif 000043
2005505045.tif 000044
2005505045.tif 000045
2005505045.tif 000046
2005505045.tif 000047
2005505045.tif 000048
【国際調査報告】
2005505045.tif 000049