スナップショットのインデックス処理
本要約で述べられる技術的特性に、括弧内の参照符号は含まれない(PCT規則8.1(d))。バックアップ・データの管理は、データ・セットのスナップショットにアクセスする処理であって、前記データ・セットは少なくとも1つのオブジェクトを含み、前記スナップショットは前記データ・セットの複製を含む、アクセスする処理と、前記スナップショット内に含まれる1つ以上のオブジェクトの各々に、前記スナップショットに関連するインデックスを付加する処理であって、インデックス・データが少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示している、付加する処理と、を有する。
【発明の詳細な説明】
【背景技術】
【0001】
信頼性のあるデータ・バックアップは、今日、コンピュータ・システムの重要な要件である。従来のバックアップ・システムは、通常、テープまたは光ディスク等のデータ記憶媒体上にファイル・システムをコピーすることによってバックアップを実行する。大量のデータを含有するファイル・システムの場合、コピー処理に長い時間がかかってしまうことが多い。それゆえに、従来のバックアップは、日ごとまたは週ごと等、比較的低い頻度で行われてきた。最近になって、より高い頻度で、場合によっては、ユーザが要求する度ごとに、バックアップ・データを記憶することが可能な「スナップショット」型のバックアップ・システムおよび/またはプログラムがもたらされた。しかしながら、従来のように、バックアップ・データを用いて、特定のファイルまたはその他の記憶されたオブジェクト、例えば、特定の旧バージョンのファイルを復旧させるためには、ユーザは非常に長い復旧作業を行う必要があった。そのファイルが含まれているであろう各バックアップ・データ・セットは、ソース・データ・セットをバックアップ・データと関連する状態に「復旧する」のに用いられて、その後、この復旧されたデータ・セットのファイル・システムが所望のファイルを検索するためにトラバースされる。この復旧および閲覧の方法は、あまりに多くの時間およびリソースを消費する恐れがある。特に「スナップショット」および関連する技術が容認するようなより頻繁に生成されるバックアップ・データに関して当てはまる。それゆえに、ユーザがバックアップ・データから特定のファイルおよび他のオブジェクトにより迅速かつ簡単にアクセスできる方法を実現することが有用であろう。
【発明の開示】
【課題を解決するための手段】
【0002】
本発明の種々の実施形態は、以下の詳細な説明および添付の図面にて開示されている。
【発明を実施するための最良の形態】
【0003】
本発明は、方法、装置、システム、合成物、コンピュータ読取り可能記憶媒体等のコンピュータ読取り可能媒体、もしくは光学的または電気的な通信回線上でプログラム命令を送信するコンピュータ・ネットワーク等を含めた多数の手段により実装可能である。本明細書では、これらの実装、または本発明がとり得るその他のいかなる形態について技術と称する。タスクを実行するように構成されたものとして記載されたプロセッサまたはメモリ等の構成要素は、所与の時間にそのタスクを実行するように一時的に構成された一般的な構成要素、またはそのタスクを実行するように製造された特定の構成要素の両方を含む。一般的に、開示された方法の処理の順序が本発明の範疇内で変えられることを許容する。
【0004】
本発明の1つ以上の実施形態に関する詳細な説明は、本発明の原理を図示する添付の図面と共に以下に提供される。本発明は、そのような実施形態と関連して説明されているが、本発明はそれらの実施形態に限定されない。本発明の範囲は、特許請求の範囲にのみ限定され、本発明は多数の代替形態、変更形態および均等な形態を包含する。多数の具体的な詳細が、本発明の完全な理解を提供するために以下に記載されている。これらの詳細は、例示の目的で提供されたものであり、本発明はこれらの具体的な詳細の一部または全部ではなく、特許請求の範囲に従って実施され得る。明瞭化を目的として、本発明に関連する技術分野で公知の技術的な構成要素については、本発明が不必要に分かり難くならないようにするため詳細には説明していない。
【0005】
データ・バックアップの管理が開示されている。実施形態によっては、データ・セットのスナップショットはいろいろな時に取り入れられる。このデータ・セットは、1つ以上のオブジェクトを含む。このオブジェクトについての情報は、インデックス・データベースに記憶される。実施形態によっては、このインデックス・データベースは、データ・セットの各オブジェクトのために、スナップショットと関連して記憶されたオブジェクトの各バージョンに関して、スナップショット・データ内でのバージョンの位置を示す情報を含むインデックス・エントリを含んでいる。このスナップショットは、ローカルまたはリモートに記憶されてよい。インデックス・データベースは、ユーザが関心のあるエントリを閲覧または検索することを可能にする。関連のあるエントリまたはエントリのバージョンをスナップショットから検索し、ユーザに提示することが可能である。
【0006】
図1はバックアップ・システムの一実施形態を示したブロック図である。この例では、バックアップ・クライアント100がバックアップ作業を条件とするデータを含んでいる。バックアップ・クライアント100は、コンピュータ・コード、ハードウェア装置、ソフトウェア/ハードウェアの組み合わせ、または他のあらゆる適切なシステムもしくはシステム構成要素として実装されてよい。このバックアップ作業に対して適用可能なデータは、ファイル、ディレクトリ、データベース、またはその他の適切なデータ・オブジェクトからなる体系的に組織された種々のデータ・セットが含まれる。このデータ・セットの複製が様々な時点で取り入れられて、バックアップとして記憶される。本明細書では、データ・セットの複製をスナップショットとも称する。
【0007】
示されている例では、バックアップしようとするデータ・セットは、ファイルおよびディレクトリが体系的に組織された集合体を含むファイル・システム102である。明瞭化を目的として、以下の例では、ファイル・オブジェクトおよびディレクトリ・オブジェクトだけに言及するが、データベース・オブジェクト等の他の種類のオブジェクトも用いることも可能である。
【0008】
ファイル・システムの多数のスナップショット104が異なる時点で取り入れられる。種々のシステム実装において、スナップショットを取り入れる多様な技術が用いられている。例えば、システムによっては、特殊用途デバイス・ドライバが、前記データが生成または変更される時に多数のディスク上でファイル・システムを複製する。システムがスナップショットを取り入れるように命令を発すると、指定されたディスク上のデータが保存され、そのファイル・システムのバックアップを目的とするスナップショットとして提供される。1つのファイル・システムに対して多数のスナップショットが生成されてもよい。スナップショットの最大数は、バックアップ・システムの実装に依存する。異なるスナップショットは、バージョン番号、タイムスタンプ、または他の適切な識別技術を用いて識別されることができる。実施形態によっては、新規のスナップショットのための場所をつくるために、古いスナップショットが期限切れに設定されたり、上書きされたりする。実施形態によっては、クライアント100および/またはその他のホストの上で実行されているアプリケーションが、スナップショット104を生成したり記憶されたりする。
【0009】
示されている例では、インデックス処理サービス106が、インデックス108を管理する。このインデックスは、スナップショット内のデータ・オブジェクトについての情報を含むデータベースである。それは、閲覧、検索、またはそれ以外にスナップショット内に記憶された特定のデータ・オブジェクトを取得するのに用いることが可能である。以下でより詳述されるように、このインデックス処理サービスは、スナップショットに基づいてインデックス108内のエントリを更新するように構成されている。
【0010】
この例では、スナップショット104は、バックアップ・クライアントのローカルに存在するものとして示されている。換言すると、バックアップ・クライアント100は、ネットワーク上でデータ転送を必要とすることなく、スナップショットにアクセスすることが可能である。システムによっては、スナップショットが、ネットワーク記憶装置やサーバ等にリモートに記憶され得る。同様にして、インデックス処理サービス106およびインデックス108も、バックアップ・クライアントに対してローカルまたはリモートに配置されていてもよい。
【0011】
図2は、バックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。プロセス200は、実施形態によってはインデックス処理サービス106の一部として実装されている。このプロセスは、スナップショット・インデックスを管理するように構成されており、バックアップ・クライアントまたは他の適切な遠隔装置上で動作可能である。示されている例において、このプロセスは、スナップショットが利用可能になると開始される(202)。スナップショットがアクセスされる(204)。スナップショットを含むオブジェクトに関連するデータがインデックスに付加される(206)。実施形態によっては、スナップショット内のオブジェクトの相対的な位置を示すために、スナップショット内のオブジェクトに対応するインデックス・エントリが更新される。実施形態によっては、スナップショットを含む各オブジェクトに対するインデックスにデータが付加される。
【0012】
図3は、バックアップ・データの管理プロセスの一実施形態を示すフローチャートである。この例では、プロセス300が、スナップショットが生成された後しばらくして実行される。インデックス処理サービスは、新規のスナップショットが利用可能という指示を受信する(302)。スナップショットがアクセスされる(304)。実施形態によっては、スナップショットにアクセスすることは、対応するファイル・システムをナビゲートすることによってスナップショット・データにアクセスすることが可能になるように、スナップショットをマウントすることが含まれる。このファイル・システムは、ファイルまたはディレクトリ等の各ファイル・システム・オブジェクトの位置を決定するためにトラバースされる(306)。実施形態によっては、このファイル・システムは、スナップショットのマウントを必要とすることなく、トラバースされる。
【0013】
トラバースの間、各ファイル・システム・オブジェクトに対するインデックス・エントリが更新される(308〜311)。オブジェクトが新規であるか判定される(308)。例えば、ファイル・システム・オブジェクトが新規である場合、このオブジェクトは対応するインデックス・エントリをインデックス内に有していない。ファイル・システム・オブジェクトが新規である場合には、この新規のファイル・システム・オブジェクトに対する新規のインデックス・エントリが生成されてインデックスに付加される(309)。しかしながら、このファイル・システム・オブジェクトが新規でない(すなわち、このオブジェクトが既存のインデックス・エントリを有する)場合には、現在のスナップショット内のこのファイル・システム・オブジェクトについての情報が、既存の対応するエントリに付加される(310)。エントリ更新プロセス(308〜310)は、全てのファイル・システム・オブジェクトがトラバースされるまで繰返される(311)。トラバースが完了し、インデックス・エントリが更新されると、このインデックスは保存される(312)。次にこのファイル・システムは、アンマウントされ、クリーンアップされる(314)。他の新規のスナップショットが利用可能になると、プロセスが繰返され、新規のスナップショット内のファイル・システム・オブジェクトに基づいてインデックス・エントリが更新される。この例では、2つ以上のスナップショット内で同一のオブジェクトが出現した場合には、スナップショット内でこのオブジェクトに遭遇する度に、このオブジェクトに関連する単一のインデックス・エントリだけが、例えば、エントリに、スナップショット内でのオブジェクトの存在および/または位置、ならびに/あるいはそのバージョンを示すデータを付加することによって、更新される。実施形態によっては、スナップショット内で遭遇したオブジェクトの各インスタンスに対して別個のエントリが作成される。
【0014】
実施形態によっては、インデックスは、多数のインデックス・エントリを含むデータベースである。図4Aはいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。この例では、データベースは、固定長エントリを用いたテーブル形式で実装されている。各エントリは、そのテーブル内での位置を用いて参照され、位置が決定される。換言すると、各エントリの識別子は、テーブル内でのそのエントリ番号と対応しており、エントリには、その識別子(またはテーブルでのそのオフセット)が分かっている場合にアクセスすることが可能である。検索作業の間、このテーブルは、1つ以上の合致するエントリの位置を決定するために線形的に検索される。実施形態によっては、インデックスの記憶された媒体が、ランダム・アクセスよりも高速の線形的なアクセスをサポートしており、それにより、線形的なアクセスを必要とする線形的な検索の方がランダム・アクセスを必要とする階層的な検索よりも高速である。
【0015】
インデックス・エントリの各々は、400で示された配置を有しており、各々がファイル・システム・オブジェクトと対応している。このインデックス・エントリは、ファイル・システム・オブジェクトおよびスナップショット内におけるその親または子にアクセスするために有用な情報を含んでいる。示されているように、インデックス・エントリは3つのセクションを含んでいる。すなわち、ファイル・システム・オブジェクトについての一般的な情報(例えば、ファイル名またはオブジェクト名)を記憶するためのヘッダー・セクション、例えば、異なるスナップショット内で見つかった等、オブジェクトの種々のバージョンについての情報を記憶するためのバージョン・セクション、およびオブジェクトの子についての情報を記憶するための子セクションである。
【0016】
実施形態によっては、オブジェクトの子は、ファイル・システム・オブジェクト(例えば、ファイルおよびディレクトリ)等のオブジェクトを含んでおり、もしあるとすれば、それは、親オブジェクトに関連する階層的構造において親オブジェクトの下の次のレベルで生じ、例えば、オブジェクトが含まれているスナップショットと関連するファイル・システム・ディレクトリもしくは構造、および/またはスナップショットに関連するソース・データ・セットがある。実施形態によっては、オブジェクトの親(例えば、ヘッダー内の)および/または子を識別する図4Aのデータのインデックス・エントリをキャプチャーすることによって、もしあるとすれば、例えば、必要に応じて、ユーザが関心のある特定のオブジェクトを見つけるために階層的な構造を閲覧することを可能にするファイル・システムまたはディレクトリ型のインターフェースを準備することによって、提示するデータの階層的な表示が可能になる。
【0017】
図4Bはいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。この例のエントリは、テーブル内でのその位置に対応する識別子を有する。テーブル402は、ヘッダー・セクションの配置を示しており、このヘッダー・セクションには、オブジェクト名、バージョン・テーブルおよび子テーブルの情報のオフセットおよび長さ、エントリの親ディレクトリの識別子等などのインデックス・エントリについての一般的な情報を記憶するためのフィールドが含まれている。このエントリのフィールドが一杯になった場合には、このエントリについてのさらなる情報は、識別子がヘッダー内に含まれている連続エントリ内に記憶される。
【0018】
この例のバージョン・セクションは、スナップショットの1つ以上のバージョンに対応する1つ以上のバージョン・エントリを含んでいる。このスナップショットはスナップショット・テーブルに記憶される。テーブル404は、1つのバージョン・エントリ配置を示しており、それには、そのバージョン・エントリと関連するバージョンがその内部に属するスナップショットと関連するスナップショット・テーブル・エントリを識別する識別子、スナップショット内のファイルのバージョンのサイズ、およびこのオブジェクトのこのバージョンが最後に変更された時間が含まれている。
【0019】
この例の子セクションのそれぞれは、1つ以上の子エントリを含んでいる。テーブル406は、1つの子エントリの配置を示しており、それには、子を示すインデックス・エントリの識別子を含んでいる。
【0020】
図4A〜4Bは、固定長のエントリを用いた単層のインデックスの配置を示しているが、必要に応じて、他の実施形態では、可変長のエントリ、異なるフィールドおよび異なる配置のエントリが用いられる場合がある。
【0021】
ユーザは、スナップショットにアクセスし、ファイルまたは他のオブジェクトの前のバージョン等のそれらからデータを復旧したいと願うかもしれない。図5は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。プロセス500は、ある実施形態のインデックス処理サービスの一部として実装されている。実施形態によっては、このプロセスは別々に実装され、協働してインデックス処理サービスを実行することが可能である。示されている例では、方法500は、要求が受信されると開始する(502)。以下で詳述されるように、そのような要求は、スナップショットを閲覧または検索することが含まれている。この要求に関連する応答データが、インデックス内から位置決定される(504)。この例では、インデックスは、データ・セットの1つ以上のスナップショットを有する1つ以上のオブジェクトを識別するエントリを含むスナップショット・インデックスであり、応答データはスナップショット・インデックス内にある要求に対応した適切なインデックス・エントリを含んでいる。応答データに関連するオブジェクトと関連する情報、例えばオブジェクトのスナップショットについての情報等は、要求を行った呼出ルーチンに提供される(506)。
【0022】
図6はバックアップ・データを閲覧するための方法の一実施形態を示すフローチャートである。この例では、スナップショット・インデックス内の情報は、あるユーザ・インターフェースを介してユーザに示され、ユーザがスナップショットを閲覧することを可能にする。方法600は、閲覧要求が受信されると開始される(602)。示されている例では、閲覧要求は、ユーザがユーザ・インターフェースを介して閲覧要求を行うと受信される。次に、ファイル・システム(または、ファイル・システム以外のソース・データ・セットの場合には、他の階層的構造)のルートを示すインデックス・エントリの位置が決定され、子エントリが取得される(604)。実施形態によっては、ファイル・システムのルートは、インデックス内の固定位置(例えば、インデックスの第2番目のエントリ)を占有している。
【0023】
ユーザは、ユーザ・インターフェース内で選択を行うことによって閲覧を続けることができる。一度、ユーザによる選択が行われて検索されてしまえば、選択の種類は決定される(606)。この場合には、ユーザはディレクトリ・オブジェクトまたはファイル・オブジェクトを選択することができる。ファイル・オブジェクトが選択された場合には、選択されたファイル・オブジェクトに対応するインデックス・データがアクセスされ、取得される(608)。インデックス・データはスナップショットの種々のバージョンについてのデータを含んでおり、それはユーザ・インターフェース内でユーザに表示される。ユーザは、あるオブジェクトの特定のインスタンスが、例えば、そのオブジェクトのそのインスタンスが関連するスナップショットの関連するデータから取得されるように、ユーザ・インターフェースを介して要求する選択肢を有する。本方法は、ユーザが要求を行うのを待つ状態に入る。そのような要求が行われる(609)と、そのオブジェクトの要求されたインスタンス、例えば、特定のバージョンが取得され、ユーザに利用可能にされる(610)。ユーザがそのような要求を行わなかった場合には、このプロセスはユーザが閲覧を終了したと指示するまで待機し続ける(614)。
【0024】
ユーザがディレクトリを選択した場合には(606)、選択されたディレクトリの子エントリが取出され、所望に応じてユーザに表示される(612)。ユーザは再びディレクトリまたはファイルの子のディレクトリまたはファイルから選択する選択肢を有する(608)。すなわち、選択されたディレクトリの子を取出すプロセス(614)、またはファイルに関連するインデックス・データ/スナップショットを取出すプロセス(608〜610)のいずれかが繰返される。ユーザはウィンドウを閉じるか、ユーザ・インターフェース内に設けられた「クリア」ボタンをクリックするか、もしくはそれ以外の方法で彼が閲覧を終了したことを指示してもよいし、または、彼は閲覧を続けてもよい(614)。
【0025】
図7は閲覧のためのユーザ・インターフェースの一例を示す図である。この例で示されているユーザ・インターフェース700は、このユーザ・インターフェース内に表示するスナップショットの数を選択する選択肢をユーザに提供している。ユーザは選択を行うことによって、特定のスナップショットを閲覧することができる。「クリア」ボタンは、ユーザが選択をクリアしてもう一度やり直すことを可能にするために設けられている。
【0026】
図8はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。この例では、プロセス800はユーザからの検索要求を待つ状態で開始される(802)。この要求は、ファイル名の照合のために用いられる検索文字列、検索するバージョン番号等などの問合わせ情報が含まれている。検索要求が受信されると、このプロセスは、1つ以上の可能性のある合致を見つけ出すために検索文字列とインデックス・エントリ内のファイル名とを比較する(804)。実施形態によっては、この検索は全ての可能性のある合致を見つけ出すために全てのエントリが調査される。可能性のある合致に関連する情報(例えば、スナップショットのバージョン情報)が検索され、所望に応じてユーザに表示される(806)。このプロセスは次にユーザの入力を待つ状態に入る(808)。一度、ユーザの入力が受信されてしまえば、その種類は決定される(810)。ユーザの入力が、合致するエントリからオブジェクトのインスタンスを選択するものである場合には、要求されたインスタンスが検索されて所望に応じてユーザに表示される(812)。ユーザの入力が検索結果をクリアするものである場合には、プロセスは、新規の検索要求が入力されるのを待つ初期状態に戻る(802)。ユーザの入力が検索の完了を示す場合には、プロセスは終了する(814)。
【0027】
図9はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース900は、検索に用いられるバックアップの数を選択する選択肢をユーザに提供している。ユーザはメニュー904を介して検索されるバックアップの数を選択する。検索文字列はボックス902に入力される。最新の3つのバックアップ(示されている例において、ユーザがメニュー904を介して「最新の3つのバックアップ」を選択したため)からの合致しているエントリは、領域906に表示される。ユーザは、ファイルのインスタンスを見たり、保存したり、またはそれ以外に所望のファイル名をクリックすることによって復旧することが可能である。例えば、いくつかのスナップショットには存在するがより最近のスナップショットでは削除されてしまった“Expense Report June.xls”等のファイルを見つけて取得することができる。ユーザは、ボタン908を押すことにより検索結果をクリアしたり、またはボタン910を押すことにより検索ウィンドウを閉じたりすることが可能である。
【0028】
図10はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース1000は、インデックスが利用可能であるバックアップ・データに記憶された全てのファイルの中から、ユーザによって入力された検索文字列と合致する全てのファイルを見つけ出すという選択肢をユーザに提供している。検索結果は、領域1002に表示されており、そこでは合致するファイルの各々と関連するバージョン情報が表示され、選択可能になっている。
【0029】
以上により、データ・バックアップの管理を開示した。上記で説明された技術は、ユーザが、各スナップショットのファイル・システム(もしくは他の階層的構造)または関心のあるオブジェクトの属する他のバックアップ・データ・セットに、マウントおよびナビゲートする必要なしにバックアップ・データにアクセスすることを可能にする。関心のあるファイルの特定のバージョン等、関心のあるオブジェクトのバックアップ・データ内の位置を決定し、必要に応じて、迅速かつ簡単にそのオブジェクトを取得してユーザに提供することが可能である。
【0030】
前述した実施形態は、理解の明瞭化を目的として多少詳細に説明がなされたが、本発明は、提示した詳細に限定されるものではない。本発明には、多数の代替的な方法が存在する。開示された実施形態は、例示的なものであり制限的なものではない。
【図面の簡単な説明】
【0031】
【図1】はバックアップ・システムの一実施形態を示したブロック図である。
【図2】はバックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。
【図3】はバックアップ・データ管理プロセスの一実施形態を示すフローチャートである。
【図4A】はいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。
【図4B】はいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。
【図5】は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。
【図6】はバックアップ・データを閲覧するためのプロセスの一実施形態を示すフローチャートである。
【図7】は閲覧のためのユーザ・インターフェースの一例を示す図である。
【図8】はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。
【図9】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【図10】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【背景技術】
【0001】
信頼性のあるデータ・バックアップは、今日、コンピュータ・システムの重要な要件である。従来のバックアップ・システムは、通常、テープまたは光ディスク等のデータ記憶媒体上にファイル・システムをコピーすることによってバックアップを実行する。大量のデータを含有するファイル・システムの場合、コピー処理に長い時間がかかってしまうことが多い。それゆえに、従来のバックアップは、日ごとまたは週ごと等、比較的低い頻度で行われてきた。最近になって、より高い頻度で、場合によっては、ユーザが要求する度ごとに、バックアップ・データを記憶することが可能な「スナップショット」型のバックアップ・システムおよび/またはプログラムがもたらされた。しかしながら、従来のように、バックアップ・データを用いて、特定のファイルまたはその他の記憶されたオブジェクト、例えば、特定の旧バージョンのファイルを復旧させるためには、ユーザは非常に長い復旧作業を行う必要があった。そのファイルが含まれているであろう各バックアップ・データ・セットは、ソース・データ・セットをバックアップ・データと関連する状態に「復旧する」のに用いられて、その後、この復旧されたデータ・セットのファイル・システムが所望のファイルを検索するためにトラバースされる。この復旧および閲覧の方法は、あまりに多くの時間およびリソースを消費する恐れがある。特に「スナップショット」および関連する技術が容認するようなより頻繁に生成されるバックアップ・データに関して当てはまる。それゆえに、ユーザがバックアップ・データから特定のファイルおよび他のオブジェクトにより迅速かつ簡単にアクセスできる方法を実現することが有用であろう。
【発明の開示】
【課題を解決するための手段】
【0002】
本発明の種々の実施形態は、以下の詳細な説明および添付の図面にて開示されている。
【発明を実施するための最良の形態】
【0003】
本発明は、方法、装置、システム、合成物、コンピュータ読取り可能記憶媒体等のコンピュータ読取り可能媒体、もしくは光学的または電気的な通信回線上でプログラム命令を送信するコンピュータ・ネットワーク等を含めた多数の手段により実装可能である。本明細書では、これらの実装、または本発明がとり得るその他のいかなる形態について技術と称する。タスクを実行するように構成されたものとして記載されたプロセッサまたはメモリ等の構成要素は、所与の時間にそのタスクを実行するように一時的に構成された一般的な構成要素、またはそのタスクを実行するように製造された特定の構成要素の両方を含む。一般的に、開示された方法の処理の順序が本発明の範疇内で変えられることを許容する。
【0004】
本発明の1つ以上の実施形態に関する詳細な説明は、本発明の原理を図示する添付の図面と共に以下に提供される。本発明は、そのような実施形態と関連して説明されているが、本発明はそれらの実施形態に限定されない。本発明の範囲は、特許請求の範囲にのみ限定され、本発明は多数の代替形態、変更形態および均等な形態を包含する。多数の具体的な詳細が、本発明の完全な理解を提供するために以下に記載されている。これらの詳細は、例示の目的で提供されたものであり、本発明はこれらの具体的な詳細の一部または全部ではなく、特許請求の範囲に従って実施され得る。明瞭化を目的として、本発明に関連する技術分野で公知の技術的な構成要素については、本発明が不必要に分かり難くならないようにするため詳細には説明していない。
【0005】
データ・バックアップの管理が開示されている。実施形態によっては、データ・セットのスナップショットはいろいろな時に取り入れられる。このデータ・セットは、1つ以上のオブジェクトを含む。このオブジェクトについての情報は、インデックス・データベースに記憶される。実施形態によっては、このインデックス・データベースは、データ・セットの各オブジェクトのために、スナップショットと関連して記憶されたオブジェクトの各バージョンに関して、スナップショット・データ内でのバージョンの位置を示す情報を含むインデックス・エントリを含んでいる。このスナップショットは、ローカルまたはリモートに記憶されてよい。インデックス・データベースは、ユーザが関心のあるエントリを閲覧または検索することを可能にする。関連のあるエントリまたはエントリのバージョンをスナップショットから検索し、ユーザに提示することが可能である。
【0006】
図1はバックアップ・システムの一実施形態を示したブロック図である。この例では、バックアップ・クライアント100がバックアップ作業を条件とするデータを含んでいる。バックアップ・クライアント100は、コンピュータ・コード、ハードウェア装置、ソフトウェア/ハードウェアの組み合わせ、または他のあらゆる適切なシステムもしくはシステム構成要素として実装されてよい。このバックアップ作業に対して適用可能なデータは、ファイル、ディレクトリ、データベース、またはその他の適切なデータ・オブジェクトからなる体系的に組織された種々のデータ・セットが含まれる。このデータ・セットの複製が様々な時点で取り入れられて、バックアップとして記憶される。本明細書では、データ・セットの複製をスナップショットとも称する。
【0007】
示されている例では、バックアップしようとするデータ・セットは、ファイルおよびディレクトリが体系的に組織された集合体を含むファイル・システム102である。明瞭化を目的として、以下の例では、ファイル・オブジェクトおよびディレクトリ・オブジェクトだけに言及するが、データベース・オブジェクト等の他の種類のオブジェクトも用いることも可能である。
【0008】
ファイル・システムの多数のスナップショット104が異なる時点で取り入れられる。種々のシステム実装において、スナップショットを取り入れる多様な技術が用いられている。例えば、システムによっては、特殊用途デバイス・ドライバが、前記データが生成または変更される時に多数のディスク上でファイル・システムを複製する。システムがスナップショットを取り入れるように命令を発すると、指定されたディスク上のデータが保存され、そのファイル・システムのバックアップを目的とするスナップショットとして提供される。1つのファイル・システムに対して多数のスナップショットが生成されてもよい。スナップショットの最大数は、バックアップ・システムの実装に依存する。異なるスナップショットは、バージョン番号、タイムスタンプ、または他の適切な識別技術を用いて識別されることができる。実施形態によっては、新規のスナップショットのための場所をつくるために、古いスナップショットが期限切れに設定されたり、上書きされたりする。実施形態によっては、クライアント100および/またはその他のホストの上で実行されているアプリケーションが、スナップショット104を生成したり記憶されたりする。
【0009】
示されている例では、インデックス処理サービス106が、インデックス108を管理する。このインデックスは、スナップショット内のデータ・オブジェクトについての情報を含むデータベースである。それは、閲覧、検索、またはそれ以外にスナップショット内に記憶された特定のデータ・オブジェクトを取得するのに用いることが可能である。以下でより詳述されるように、このインデックス処理サービスは、スナップショットに基づいてインデックス108内のエントリを更新するように構成されている。
【0010】
この例では、スナップショット104は、バックアップ・クライアントのローカルに存在するものとして示されている。換言すると、バックアップ・クライアント100は、ネットワーク上でデータ転送を必要とすることなく、スナップショットにアクセスすることが可能である。システムによっては、スナップショットが、ネットワーク記憶装置やサーバ等にリモートに記憶され得る。同様にして、インデックス処理サービス106およびインデックス108も、バックアップ・クライアントに対してローカルまたはリモートに配置されていてもよい。
【0011】
図2は、バックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。プロセス200は、実施形態によってはインデックス処理サービス106の一部として実装されている。このプロセスは、スナップショット・インデックスを管理するように構成されており、バックアップ・クライアントまたは他の適切な遠隔装置上で動作可能である。示されている例において、このプロセスは、スナップショットが利用可能になると開始される(202)。スナップショットがアクセスされる(204)。スナップショットを含むオブジェクトに関連するデータがインデックスに付加される(206)。実施形態によっては、スナップショット内のオブジェクトの相対的な位置を示すために、スナップショット内のオブジェクトに対応するインデックス・エントリが更新される。実施形態によっては、スナップショットを含む各オブジェクトに対するインデックスにデータが付加される。
【0012】
図3は、バックアップ・データの管理プロセスの一実施形態を示すフローチャートである。この例では、プロセス300が、スナップショットが生成された後しばらくして実行される。インデックス処理サービスは、新規のスナップショットが利用可能という指示を受信する(302)。スナップショットがアクセスされる(304)。実施形態によっては、スナップショットにアクセスすることは、対応するファイル・システムをナビゲートすることによってスナップショット・データにアクセスすることが可能になるように、スナップショットをマウントすることが含まれる。このファイル・システムは、ファイルまたはディレクトリ等の各ファイル・システム・オブジェクトの位置を決定するためにトラバースされる(306)。実施形態によっては、このファイル・システムは、スナップショットのマウントを必要とすることなく、トラバースされる。
【0013】
トラバースの間、各ファイル・システム・オブジェクトに対するインデックス・エントリが更新される(308〜311)。オブジェクトが新規であるか判定される(308)。例えば、ファイル・システム・オブジェクトが新規である場合、このオブジェクトは対応するインデックス・エントリをインデックス内に有していない。ファイル・システム・オブジェクトが新規である場合には、この新規のファイル・システム・オブジェクトに対する新規のインデックス・エントリが生成されてインデックスに付加される(309)。しかしながら、このファイル・システム・オブジェクトが新規でない(すなわち、このオブジェクトが既存のインデックス・エントリを有する)場合には、現在のスナップショット内のこのファイル・システム・オブジェクトについての情報が、既存の対応するエントリに付加される(310)。エントリ更新プロセス(308〜310)は、全てのファイル・システム・オブジェクトがトラバースされるまで繰返される(311)。トラバースが完了し、インデックス・エントリが更新されると、このインデックスは保存される(312)。次にこのファイル・システムは、アンマウントされ、クリーンアップされる(314)。他の新規のスナップショットが利用可能になると、プロセスが繰返され、新規のスナップショット内のファイル・システム・オブジェクトに基づいてインデックス・エントリが更新される。この例では、2つ以上のスナップショット内で同一のオブジェクトが出現した場合には、スナップショット内でこのオブジェクトに遭遇する度に、このオブジェクトに関連する単一のインデックス・エントリだけが、例えば、エントリに、スナップショット内でのオブジェクトの存在および/または位置、ならびに/あるいはそのバージョンを示すデータを付加することによって、更新される。実施形態によっては、スナップショット内で遭遇したオブジェクトの各インスタンスに対して別個のエントリが作成される。
【0014】
実施形態によっては、インデックスは、多数のインデックス・エントリを含むデータベースである。図4Aはいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。この例では、データベースは、固定長エントリを用いたテーブル形式で実装されている。各エントリは、そのテーブル内での位置を用いて参照され、位置が決定される。換言すると、各エントリの識別子は、テーブル内でのそのエントリ番号と対応しており、エントリには、その識別子(またはテーブルでのそのオフセット)が分かっている場合にアクセスすることが可能である。検索作業の間、このテーブルは、1つ以上の合致するエントリの位置を決定するために線形的に検索される。実施形態によっては、インデックスの記憶された媒体が、ランダム・アクセスよりも高速の線形的なアクセスをサポートしており、それにより、線形的なアクセスを必要とする線形的な検索の方がランダム・アクセスを必要とする階層的な検索よりも高速である。
【0015】
インデックス・エントリの各々は、400で示された配置を有しており、各々がファイル・システム・オブジェクトと対応している。このインデックス・エントリは、ファイル・システム・オブジェクトおよびスナップショット内におけるその親または子にアクセスするために有用な情報を含んでいる。示されているように、インデックス・エントリは3つのセクションを含んでいる。すなわち、ファイル・システム・オブジェクトについての一般的な情報(例えば、ファイル名またはオブジェクト名)を記憶するためのヘッダー・セクション、例えば、異なるスナップショット内で見つかった等、オブジェクトの種々のバージョンについての情報を記憶するためのバージョン・セクション、およびオブジェクトの子についての情報を記憶するための子セクションである。
【0016】
実施形態によっては、オブジェクトの子は、ファイル・システム・オブジェクト(例えば、ファイルおよびディレクトリ)等のオブジェクトを含んでおり、もしあるとすれば、それは、親オブジェクトに関連する階層的構造において親オブジェクトの下の次のレベルで生じ、例えば、オブジェクトが含まれているスナップショットと関連するファイル・システム・ディレクトリもしくは構造、および/またはスナップショットに関連するソース・データ・セットがある。実施形態によっては、オブジェクトの親(例えば、ヘッダー内の)および/または子を識別する図4Aのデータのインデックス・エントリをキャプチャーすることによって、もしあるとすれば、例えば、必要に応じて、ユーザが関心のある特定のオブジェクトを見つけるために階層的な構造を閲覧することを可能にするファイル・システムまたはディレクトリ型のインターフェースを準備することによって、提示するデータの階層的な表示が可能になる。
【0017】
図4Bはいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。この例のエントリは、テーブル内でのその位置に対応する識別子を有する。テーブル402は、ヘッダー・セクションの配置を示しており、このヘッダー・セクションには、オブジェクト名、バージョン・テーブルおよび子テーブルの情報のオフセットおよび長さ、エントリの親ディレクトリの識別子等などのインデックス・エントリについての一般的な情報を記憶するためのフィールドが含まれている。このエントリのフィールドが一杯になった場合には、このエントリについてのさらなる情報は、識別子がヘッダー内に含まれている連続エントリ内に記憶される。
【0018】
この例のバージョン・セクションは、スナップショットの1つ以上のバージョンに対応する1つ以上のバージョン・エントリを含んでいる。このスナップショットはスナップショット・テーブルに記憶される。テーブル404は、1つのバージョン・エントリ配置を示しており、それには、そのバージョン・エントリと関連するバージョンがその内部に属するスナップショットと関連するスナップショット・テーブル・エントリを識別する識別子、スナップショット内のファイルのバージョンのサイズ、およびこのオブジェクトのこのバージョンが最後に変更された時間が含まれている。
【0019】
この例の子セクションのそれぞれは、1つ以上の子エントリを含んでいる。テーブル406は、1つの子エントリの配置を示しており、それには、子を示すインデックス・エントリの識別子を含んでいる。
【0020】
図4A〜4Bは、固定長のエントリを用いた単層のインデックスの配置を示しているが、必要に応じて、他の実施形態では、可変長のエントリ、異なるフィールドおよび異なる配置のエントリが用いられる場合がある。
【0021】
ユーザは、スナップショットにアクセスし、ファイルまたは他のオブジェクトの前のバージョン等のそれらからデータを復旧したいと願うかもしれない。図5は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。プロセス500は、ある実施形態のインデックス処理サービスの一部として実装されている。実施形態によっては、このプロセスは別々に実装され、協働してインデックス処理サービスを実行することが可能である。示されている例では、方法500は、要求が受信されると開始する(502)。以下で詳述されるように、そのような要求は、スナップショットを閲覧または検索することが含まれている。この要求に関連する応答データが、インデックス内から位置決定される(504)。この例では、インデックスは、データ・セットの1つ以上のスナップショットを有する1つ以上のオブジェクトを識別するエントリを含むスナップショット・インデックスであり、応答データはスナップショット・インデックス内にある要求に対応した適切なインデックス・エントリを含んでいる。応答データに関連するオブジェクトと関連する情報、例えばオブジェクトのスナップショットについての情報等は、要求を行った呼出ルーチンに提供される(506)。
【0022】
図6はバックアップ・データを閲覧するための方法の一実施形態を示すフローチャートである。この例では、スナップショット・インデックス内の情報は、あるユーザ・インターフェースを介してユーザに示され、ユーザがスナップショットを閲覧することを可能にする。方法600は、閲覧要求が受信されると開始される(602)。示されている例では、閲覧要求は、ユーザがユーザ・インターフェースを介して閲覧要求を行うと受信される。次に、ファイル・システム(または、ファイル・システム以外のソース・データ・セットの場合には、他の階層的構造)のルートを示すインデックス・エントリの位置が決定され、子エントリが取得される(604)。実施形態によっては、ファイル・システムのルートは、インデックス内の固定位置(例えば、インデックスの第2番目のエントリ)を占有している。
【0023】
ユーザは、ユーザ・インターフェース内で選択を行うことによって閲覧を続けることができる。一度、ユーザによる選択が行われて検索されてしまえば、選択の種類は決定される(606)。この場合には、ユーザはディレクトリ・オブジェクトまたはファイル・オブジェクトを選択することができる。ファイル・オブジェクトが選択された場合には、選択されたファイル・オブジェクトに対応するインデックス・データがアクセスされ、取得される(608)。インデックス・データはスナップショットの種々のバージョンについてのデータを含んでおり、それはユーザ・インターフェース内でユーザに表示される。ユーザは、あるオブジェクトの特定のインスタンスが、例えば、そのオブジェクトのそのインスタンスが関連するスナップショットの関連するデータから取得されるように、ユーザ・インターフェースを介して要求する選択肢を有する。本方法は、ユーザが要求を行うのを待つ状態に入る。そのような要求が行われる(609)と、そのオブジェクトの要求されたインスタンス、例えば、特定のバージョンが取得され、ユーザに利用可能にされる(610)。ユーザがそのような要求を行わなかった場合には、このプロセスはユーザが閲覧を終了したと指示するまで待機し続ける(614)。
【0024】
ユーザがディレクトリを選択した場合には(606)、選択されたディレクトリの子エントリが取出され、所望に応じてユーザに表示される(612)。ユーザは再びディレクトリまたはファイルの子のディレクトリまたはファイルから選択する選択肢を有する(608)。すなわち、選択されたディレクトリの子を取出すプロセス(614)、またはファイルに関連するインデックス・データ/スナップショットを取出すプロセス(608〜610)のいずれかが繰返される。ユーザはウィンドウを閉じるか、ユーザ・インターフェース内に設けられた「クリア」ボタンをクリックするか、もしくはそれ以外の方法で彼が閲覧を終了したことを指示してもよいし、または、彼は閲覧を続けてもよい(614)。
【0025】
図7は閲覧のためのユーザ・インターフェースの一例を示す図である。この例で示されているユーザ・インターフェース700は、このユーザ・インターフェース内に表示するスナップショットの数を選択する選択肢をユーザに提供している。ユーザは選択を行うことによって、特定のスナップショットを閲覧することができる。「クリア」ボタンは、ユーザが選択をクリアしてもう一度やり直すことを可能にするために設けられている。
【0026】
図8はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。この例では、プロセス800はユーザからの検索要求を待つ状態で開始される(802)。この要求は、ファイル名の照合のために用いられる検索文字列、検索するバージョン番号等などの問合わせ情報が含まれている。検索要求が受信されると、このプロセスは、1つ以上の可能性のある合致を見つけ出すために検索文字列とインデックス・エントリ内のファイル名とを比較する(804)。実施形態によっては、この検索は全ての可能性のある合致を見つけ出すために全てのエントリが調査される。可能性のある合致に関連する情報(例えば、スナップショットのバージョン情報)が検索され、所望に応じてユーザに表示される(806)。このプロセスは次にユーザの入力を待つ状態に入る(808)。一度、ユーザの入力が受信されてしまえば、その種類は決定される(810)。ユーザの入力が、合致するエントリからオブジェクトのインスタンスを選択するものである場合には、要求されたインスタンスが検索されて所望に応じてユーザに表示される(812)。ユーザの入力が検索結果をクリアするものである場合には、プロセスは、新規の検索要求が入力されるのを待つ初期状態に戻る(802)。ユーザの入力が検索の完了を示す場合には、プロセスは終了する(814)。
【0027】
図9はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース900は、検索に用いられるバックアップの数を選択する選択肢をユーザに提供している。ユーザはメニュー904を介して検索されるバックアップの数を選択する。検索文字列はボックス902に入力される。最新の3つのバックアップ(示されている例において、ユーザがメニュー904を介して「最新の3つのバックアップ」を選択したため)からの合致しているエントリは、領域906に表示される。ユーザは、ファイルのインスタンスを見たり、保存したり、またはそれ以外に所望のファイル名をクリックすることによって復旧することが可能である。例えば、いくつかのスナップショットには存在するがより最近のスナップショットでは削除されてしまった“Expense Report June.xls”等のファイルを見つけて取得することができる。ユーザは、ボタン908を押すことにより検索結果をクリアしたり、またはボタン910を押すことにより検索ウィンドウを閉じたりすることが可能である。
【0028】
図10はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース1000は、インデックスが利用可能であるバックアップ・データに記憶された全てのファイルの中から、ユーザによって入力された検索文字列と合致する全てのファイルを見つけ出すという選択肢をユーザに提供している。検索結果は、領域1002に表示されており、そこでは合致するファイルの各々と関連するバージョン情報が表示され、選択可能になっている。
【0029】
以上により、データ・バックアップの管理を開示した。上記で説明された技術は、ユーザが、各スナップショットのファイル・システム(もしくは他の階層的構造)または関心のあるオブジェクトの属する他のバックアップ・データ・セットに、マウントおよびナビゲートする必要なしにバックアップ・データにアクセスすることを可能にする。関心のあるファイルの特定のバージョン等、関心のあるオブジェクトのバックアップ・データ内の位置を決定し、必要に応じて、迅速かつ簡単にそのオブジェクトを取得してユーザに提供することが可能である。
【0030】
前述した実施形態は、理解の明瞭化を目的として多少詳細に説明がなされたが、本発明は、提示した詳細に限定されるものではない。本発明には、多数の代替的な方法が存在する。開示された実施形態は、例示的なものであり制限的なものではない。
【図面の簡単な説明】
【0031】
【図1】はバックアップ・システムの一実施形態を示したブロック図である。
【図2】はバックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。
【図3】はバックアップ・データ管理プロセスの一実施形態を示すフローチャートである。
【図4A】はいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。
【図4B】はいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。
【図5】は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。
【図6】はバックアップ・データを閲覧するためのプロセスの一実施形態を示すフローチャートである。
【図7】は閲覧のためのユーザ・インターフェースの一例を示す図である。
【図8】はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。
【図9】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【図10】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【特許請求の範囲】
【請求項1】
バックアップ・データを管理する方法であって、
少なくとも1つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスする処理と、処理
前記スナップショットに含まれる1以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する処理と、
を有する方法。
【請求項2】
前記スナップショットが前記データ・セットに対してローカルに記憶される、請求項1に記載の方法。
【請求項3】
前記データ・セットがファイル・システムを含む、請求項1に記載の方法。
【請求項4】
前記スナップショットが、第1の特定の時間に取り入れられた前記データ・セットの第1の複製を含む第1のスナップショットであり、さらに、
第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む第2のスナップショットにアクセスする処理と、
前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する処理と、
を有する請求項1に記載の方法。
【請求項5】
前記インデックスが、前記データ・セットに関連する各オブジェクトのためのインデックス・エントリを含み、そして前記インデックスにインデックス・データを付加する処理が、インデックス処理される前記オブジェクトに関連するインデックス・エントリに前記インデックス・データを付加することを含む、請求項4に記載の方法。
【請求項6】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項1に記載の方法。
【請求項7】
前記バージョン・データは、前記インスタンスが含まれる前記スナップショットに関連するスナップショット時間と前記インスタンスを関連付けるデータとを含む、請求項1に記載の方法。
【請求項8】
前記バージョン・データは、前記オブジェクトの前記インスタンスが最後に変更された時間を示すデータを含む、請求項1に記載の方法。
【請求項9】
前記インデックスにインデックス・データを付加する処理は、まだ1つも存在しなければ、前記オブジェクトに対するインデックス・エントリを生成することを含む、請求項1に記載の方法。
【請求項10】
スナップショットにアクセスする処理は、前記スナップショットをマウントし、前記スナップショットに含まれる1つ以上のオブジェクトの位置を決定し、取得するために前記スナップショットに関連するファイル・システムを用いることを含む、請求項1に記載の方法。
【請求項11】
前記インデックスは、関心のあるオブジェクトが前記スナップショットに含まれているかどうかを判定するのに用いられる、請求項1に記載の方法。
【請求項12】
前記インデックスは、前記スナップショットをマウントすることなく、前記スナップショットに関心のあるオブジェクトが含まれているかどうかを判定するのに用いられるように構成されている、請求項1に記載の方法。
【請求項13】
前記インデックスは、前記スナップショットをマウントすることなく、関心のあるオブジェクトの前記スナップショット内での位置を決定するのに用いられるように構成されている、請求項1に記載の方法。
【請求項14】
前記インデックス・データは、それと関連するオブジェクトに対して、前記データ・セットの階層的構造内に、1以上の子オブジェクトを含み、それぞれの子オブジェクトに対する子オブジェクト・データは前記子オブジェクトに関連するエントリのインデックス内の位置を示している、請求項1に記載の方法。
【請求項15】
少なくとも1つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスし、
前記スナップショットに含まれる1以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたデータ・バックアップ・システム。
【請求項16】
前記スナップショットが、第1の特定の時間に取り入れられた前記データ・セットの第1の複製を含む第1のスナップショットであり、さらに、
第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む第2のスナップショットにアクセスし、
前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する、
ように構成された請求項15に記載のシステム。
【請求項17】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項15に記載のシステム。
【請求項18】
スナップショットへのアクセスは、前記スナップショットのマウント、ならびに前記スナップショットに含まれる1つ以上のオブジェクトの位置決定および取得をするために前記スナップショットに関連するファイル・システムの利用を含む、請求項15に記載のシステム。
【請求項19】
バックアップ・データを管理するコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、コンピュータ読取り可能媒体内に含まれており、
前記データ・セットの第2のスナップショットにアクセスする、但し前記第2のスナップショットが、第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む、処理と、
前記インデックスに、前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々に対して、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを付加する処理、
のためのコンピュータ命令を有する。
【請求項20】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを、各オブジェクトについて含む、請求項19に記載のコンピュータ・プログラム製品。
【請求項21】
以前にバックアップされたデータを復旧するための方法であって、
データ・セットの1以上のスナップショットを有する1以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答データの位置を決定する処理と、
前記応答データに関連するオブジェクトに関連する情報を提供する処理と、
を有する方法。
【請求項22】
前記要求は第1の閲覧要求を含み、
前記インデックスは、親オブジェクトがあればその親オブジェクトと前記オブジェクトを関連付ける親データを含み、そして前記オブジェクトが前記データ・セットに関連する階層的構造において関連付けられ、並びに子オブジェクトがあれば前記階層的構造内の前記オブジェクトと関連付けられた1以上の子オブジェクトと前記オブジェクトを関連付ける子データとを含み、
前記親オブジェクトまたは前記1以上の子オブジェクトに関連する情報が望まれていることを示す第2の閲覧要求を受信し、
前記親オブジェクトまたは前記1以上の子オブジェクトに関連するインデックス・データの位置を決定するために前記親データまたは子データを用い、
前記親オブジェクトまたは前記子オブジェクトに関連する情報を提供する、
ことをさらに有する請求項21に記載の方法。
【請求項23】
以前にバックアップされたデータを復旧するためのシステムであって、
データ・セットの1以上のスナップショットを有する1以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答インデックス・データの位置を決定し、
前記応答インデックス・データに関するオブジェクト関連の情報を提供する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたシステム。
【請求項1】
バックアップ・データを管理する方法であって、
少なくとも1つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスする処理と、処理
前記スナップショットに含まれる1以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する処理と、
を有する方法。
【請求項2】
前記スナップショットが前記データ・セットに対してローカルに記憶される、請求項1に記載の方法。
【請求項3】
前記データ・セットがファイル・システムを含む、請求項1に記載の方法。
【請求項4】
前記スナップショットが、第1の特定の時間に取り入れられた前記データ・セットの第1の複製を含む第1のスナップショットであり、さらに、
第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む第2のスナップショットにアクセスする処理と、
前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する処理と、
を有する請求項1に記載の方法。
【請求項5】
前記インデックスが、前記データ・セットに関連する各オブジェクトのためのインデックス・エントリを含み、そして前記インデックスにインデックス・データを付加する処理が、インデックス処理される前記オブジェクトに関連するインデックス・エントリに前記インデックス・データを付加することを含む、請求項4に記載の方法。
【請求項6】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項1に記載の方法。
【請求項7】
前記バージョン・データは、前記インスタンスが含まれる前記スナップショットに関連するスナップショット時間と前記インスタンスを関連付けるデータとを含む、請求項1に記載の方法。
【請求項8】
前記バージョン・データは、前記オブジェクトの前記インスタンスが最後に変更された時間を示すデータを含む、請求項1に記載の方法。
【請求項9】
前記インデックスにインデックス・データを付加する処理は、まだ1つも存在しなければ、前記オブジェクトに対するインデックス・エントリを生成することを含む、請求項1に記載の方法。
【請求項10】
スナップショットにアクセスする処理は、前記スナップショットをマウントし、前記スナップショットに含まれる1つ以上のオブジェクトの位置を決定し、取得するために前記スナップショットに関連するファイル・システムを用いることを含む、請求項1に記載の方法。
【請求項11】
前記インデックスは、関心のあるオブジェクトが前記スナップショットに含まれているかどうかを判定するのに用いられる、請求項1に記載の方法。
【請求項12】
前記インデックスは、前記スナップショットをマウントすることなく、前記スナップショットに関心のあるオブジェクトが含まれているかどうかを判定するのに用いられるように構成されている、請求項1に記載の方法。
【請求項13】
前記インデックスは、前記スナップショットをマウントすることなく、関心のあるオブジェクトの前記スナップショット内での位置を決定するのに用いられるように構成されている、請求項1に記載の方法。
【請求項14】
前記インデックス・データは、それと関連するオブジェクトに対して、前記データ・セットの階層的構造内に、1以上の子オブジェクトを含み、それぞれの子オブジェクトに対する子オブジェクト・データは前記子オブジェクトに関連するエントリのインデックス内の位置を示している、請求項1に記載の方法。
【請求項15】
少なくとも1つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスし、
前記スナップショットに含まれる1以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたデータ・バックアップ・システム。
【請求項16】
前記スナップショットが、第1の特定の時間に取り入れられた前記データ・セットの第1の複製を含む第1のスナップショットであり、さらに、
第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む第2のスナップショットにアクセスし、
前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する、
ように構成された請求項15に記載のシステム。
【請求項17】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項15に記載のシステム。
【請求項18】
スナップショットへのアクセスは、前記スナップショットのマウント、ならびに前記スナップショットに含まれる1つ以上のオブジェクトの位置決定および取得をするために前記スナップショットに関連するファイル・システムの利用を含む、請求項15に記載のシステム。
【請求項19】
バックアップ・データを管理するコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、コンピュータ読取り可能媒体内に含まれており、
前記データ・セットの第2のスナップショットにアクセスする、但し前記第2のスナップショットが、第2の特定の時間に取り入れられた前記データ・セットの第2の複製を含む、処理と、
前記インデックスに、前記第2のスナップショットに含まれる1つ以上のオブジェクトの各々に対して、少なくとも前記オブジェクトが前記第2のスナップショット内のどこに配置されているかを示すインデックス・データを付加する処理、
のためのコンピュータ命令を有する。
【請求項20】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの1つを含み、前記インデックスは、前記複数のスナップショットのうちの1つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを、各オブジェクトについて含む、請求項19に記載のコンピュータ・プログラム製品。
【請求項21】
以前にバックアップされたデータを復旧するための方法であって、
データ・セットの1以上のスナップショットを有する1以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答データの位置を決定する処理と、
前記応答データに関連するオブジェクトに関連する情報を提供する処理と、
を有する方法。
【請求項22】
前記要求は第1の閲覧要求を含み、
前記インデックスは、親オブジェクトがあればその親オブジェクトと前記オブジェクトを関連付ける親データを含み、そして前記オブジェクトが前記データ・セットに関連する階層的構造において関連付けられ、並びに子オブジェクトがあれば前記階層的構造内の前記オブジェクトと関連付けられた1以上の子オブジェクトと前記オブジェクトを関連付ける子データとを含み、
前記親オブジェクトまたは前記1以上の子オブジェクトに関連する情報が望まれていることを示す第2の閲覧要求を受信し、
前記親オブジェクトまたは前記1以上の子オブジェクトに関連するインデックス・データの位置を決定するために前記親データまたは子データを用い、
前記親オブジェクトまたは前記子オブジェクトに関連する情報を提供する、
ことをさらに有する請求項21に記載の方法。
【請求項23】
以前にバックアップされたデータを復旧するためのシステムであって、
データ・セットの1以上のスナップショットを有する1以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答インデックス・データの位置を決定し、
前記応答インデックス・データに関するオブジェクト関連の情報を提供する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたシステム。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公表番号】特表2009−505289(P2009−505289A)
【公表日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2008−527021(P2008−527021)
【出願日】平成18年8月10日(2006.8.10)
【国際出願番号】PCT/US2006/031487
【国際公開番号】WO2007/021997
【国際公開日】平成19年2月22日(2007.2.22)
【出願人】(507024769)イーエムシー コーポレイション (13)
【Fターム(参考)】
【公表日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願日】平成18年8月10日(2006.8.10)
【国際出願番号】PCT/US2006/031487
【国際公開番号】WO2007/021997
【国際公開日】平成19年2月22日(2007.2.22)
【出願人】(507024769)イーエムシー コーポレイション (13)
【Fターム(参考)】
[ Back to top ]