(57)【要約】  本要約で述べられる技術的特性に、括弧内の参照符号は含まれない（ＰＣＴ規則８．１（ｄ））。バックアップ・データの管理は、データ・セットのスナップショットにアクセスする処理であって、前記データ・セットは少なくとも１つのオブジェクトを含み、前記スナップショットは前記データ・セットの複製を含む、アクセスする処理と、前記スナップショット内に含まれる１つ以上のオブジェクトの各々に、前記スナップショットに関連するインデックスを付加する処理であって、インデックス・データが少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示している、付加する処理と、を有する。【選択図】図１
2009505289.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ・データを管理する方法であって、
少なくとも１つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスする処理と、処理
前記スナップショットに含まれる１以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する処理と、
を有する方法。
【請求項２】
前記スナップショットが前記データ・セットに対してローカルに記憶される、請求項１に記載の方法。
【請求項３】
前記データ・セットがファイル・システムを含む、請求項１に記載の方法。
【請求項４】
前記スナップショットが、第１の特定の時間に取り入れられた前記データ・セットの第１の複製を含む第１のスナップショットであり、さらに、
第２の特定の時間に取り入れられた前記データ・セットの第２の複製を含む第２のスナップショットにアクセスする処理と、
前記第２のスナップショットに含まれる１つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第２のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する処理と、
を有する請求項１に記載の方法。
【請求項５】
前記インデックスが、前記データ・セットに関連する各オブジェクトのためのインデックス・エントリを含み、そして前記インデックスにインデックス・データを付加する処理が、インデックス処理される前記オブジェクトに関連するインデックス・エントリに前記インデックス・データを付加することを含む、請求項４に記載の方法。
【請求項６】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの１つを含み、前記インデックスは、前記複数のスナップショットのうちの１つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項１に記載の方法。
【請求項７】
前記バージョン・データは、前記インスタンスが含まれる前記スナップショットに関連するスナップショット時間と前記インスタンスを関連付けるデータとを含む、請求項１に記載の方法。
【請求項８】
前記バージョン・データは、前記オブジェクトの前記インスタンスが最後に変更された時間を示すデータを含む、請求項１に記載の方法。
【請求項９】
前記インデックスにインデックス・データを付加する処理は、まだ１つも存在しなければ、前記オブジェクトに対するインデックス・エントリを生成することを含む、請求項１に記載の方法。
【請求項１０】
スナップショットにアクセスする処理は、前記スナップショットをマウントし、前記スナップショットに含まれる１つ以上のオブジェクトの位置を決定し、取得するために前記スナップショットに関連するファイル・システムを用いることを含む、請求項１に記載の方法。
【請求項１１】
前記インデックスは、関心のあるオブジェクトが前記スナップショットに含まれているかどうかを判定するのに用いられる、請求項１に記載の方法。
【請求項１２】
前記インデックスは、前記スナップショットをマウントすることなく、前記スナップショットに関心のあるオブジェクトが含まれているかどうかを判定するのに用いられるように構成されている、請求項１に記載の方法。
【請求項１３】
前記インデックスは、前記スナップショットをマウントすることなく、関心のあるオブジェクトの前記スナップショット内での位置を決定するのに用いられるように構成されている、請求項１に記載の方法。
【請求項１４】
前記インデックス・データは、それと関連するオブジェクトに対して、前記データ・セットの階層的構造内に、１以上の子オブジェクトを含み、それぞれの子オブジェクトに対する子オブジェクト・データは前記子オブジェクトに関連するエントリのインデックス内の位置を示している、請求項１に記載の方法。
【請求項１５】
少なくとも１つのオブジェクトを有するデータ・セットの複製を含むスナップショットにアクセスし、
前記スナップショットに含まれる１以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記スナップショット内のどこに配置されているかを示すインデックス・データを前記スナップショットに関連するインデックスに付加する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたデータ・バックアップ・システム。
【請求項１６】
前記スナップショットが、第１の特定の時間に取り入れられた前記データ・セットの第１の複製を含む第１のスナップショットであり、さらに、
第２の特定の時間に取り入れられた前記データ・セットの第２の複製を含む第２のスナップショットにアクセスし、
前記第２のスナップショットに含まれる１つ以上のオブジェクトの各々について、少なくとも前記オブジェクトが前記第２のスナップショット内のどこに配置されているかを示すインデックス・データを前記インデックスに付加する、
ように構成された請求項１５に記載のシステム。
【請求項１７】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの１つを含み、前記インデックスは、前記複数のスナップショットのうちの１つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを各オブジェクトについて含む、請求項１５に記載のシステム。
【請求項１８】
スナップショットへのアクセスは、前記スナップショットのマウント、ならびに前記スナップショットに含まれる１つ以上のオブジェクトの位置決定および取得をするために前記スナップショットに関連するファイル・システムの利用を含む、請求項１５に記載のシステム。
【請求項１９】
バックアップ・データを管理するコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、コンピュータ読取り可能媒体内に含まれており、
前記データ・セットの第２のスナップショットにアクセスする、但し前記第２のスナップショットが、第２の特定の時間に取り入れられた前記データ・セットの第２の複製を含む、処理と、
前記インデックスに、前記第２のスナップショットに含まれる１つ以上のオブジェクトの各々に対して、少なくとも前記オブジェクトが前記第２のスナップショット内のどこに配置されているかを示すインデックス・データを付加する処理、
のためのコンピュータ命令を有する。
【請求項２０】
前記スナップショットは、各々が異なる時間に取り入れられ、および各々がその時間に存在した前記データ・セットの複製を有する複数のスナップショットのうちの１つを含み、前記インデックスは、前記複数のスナップショットのうちの１つにおいて遭遇した前記オブジェクトの各インスタンスのために、前記オブジェクトのインスタンスに関連するバージョン・データを含むインデックス・エントリを、各オブジェクトについて含む、請求項１９に記載のコンピュータ・プログラム製品。
【請求項２１】
以前にバックアップされたデータを復旧するための方法であって、
データ・セットの１以上のスナップショットを有する１以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答データの位置を決定する処理と、
前記応答データに関連するオブジェクトに関連する情報を提供する処理と、
を有する方法。
【請求項２２】
前記要求は第１の閲覧要求を含み、
前記インデックスは、親オブジェクトがあればその親オブジェクトと前記オブジェクトを関連付ける親データを含み、そして前記オブジェクトが前記データ・セットに関連する階層的構造において関連付けられ、並びに子オブジェクトがあれば前記階層的構造内の前記オブジェクトと関連付けられた１以上の子オブジェクトと前記オブジェクトを関連付ける子データとを含み、
前記親オブジェクトまたは前記１以上の子オブジェクトに関連する情報が望まれていることを示す第２の閲覧要求を受信し、
前記親オブジェクトまたは前記１以上の子オブジェクトに関連するインデックス・データの位置を決定するために前記親データまたは子データを用い、
前記親オブジェクトまたは前記子オブジェクトに関連する情報を提供する、
ことをさらに有する請求項２１に記載の方法。
【請求項２３】
以前にバックアップされたデータを復旧するためのシステムであって、
データ・セットの１以上のスナップショットを有する１以上のオブジェクトを識別するデータを含むインデックス内で、要求に関連する応答インデックス・データの位置を決定し、
前記応答インデックス・データに関するオブジェクト関連の情報を提供する、
ように構成されたプロセッサと、
前記プロセッサに結合され、当該プロセッサに命令を提供するように構成されたメモリと、
を備えたシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
信頼性のあるデータ・バックアップは、今日、コンピュータ・システムの重要な要件である。従来のバックアップ・システムは、通常、テープまたは光ディスク等のデータ記憶媒体上にファイル・システムをコピーすることによってバックアップを実行する。大量のデータを含有するファイル・システムの場合、コピー処理に長い時間がかかってしまうことが多い。それゆえに、従来のバックアップは、日ごとまたは週ごと等、比較的低い頻度で行われてきた。最近になって、より高い頻度で、場合によっては、ユーザが要求する度ごとに、バックアップ・データを記憶することが可能な「スナップショット」型のバックアップ・システムおよび／またはプログラムがもたらされた。しかしながら、従来のように、バックアップ・データを用いて、特定のファイルまたはその他の記憶されたオブジェクト、例えば、特定の旧バージョンのファイルを復旧させるためには、ユーザは非常に長い復旧作業を行う必要があった。そのファイルが含まれているであろう各バックアップ・データ・セットは、ソース・データ・セットをバックアップ・データと関連する状態に「復旧する」のに用いられて、その後、この復旧されたデータ・セットのファイル・システムが所望のファイルを検索するためにトラバースされる。この復旧および閲覧の方法は、あまりに多くの時間およびリソースを消費する恐れがある。特に「スナップショット」および関連する技術が容認するようなより頻繁に生成されるバックアップ・データに関して当てはまる。それゆえに、ユーザがバックアップ・データから特定のファイルおよび他のオブジェクトにより迅速かつ簡単にアクセスできる方法を実現することが有用であろう。
【発明の開示】
【課題を解決するための手段】
【０００２】
本発明の種々の実施形態は、以下の詳細な説明および添付の図面にて開示されている。
【発明を実施するための最良の形態】
【０００３】
本発明は、方法、装置、システム、合成物、コンピュータ読取り可能記憶媒体等のコンピュータ読取り可能媒体、もしくは光学的または電気的な通信回線上でプログラム命令を送信するコンピュータ・ネットワーク等を含めた多数の手段により実装可能である。本明細書では、これらの実装、または本発明がとり得るその他のいかなる形態について技術と称する。タスクを実行するように構成されたものとして記載されたプロセッサまたはメモリ等の構成要素は、所与の時間にそのタスクを実行するように一時的に構成された一般的な構成要素、またはそのタスクを実行するように製造された特定の構成要素の両方を含む。一般的に、開示された方法の処理の順序が本発明の範疇内で変えられることを許容する。
【０００４】
本発明の１つ以上の実施形態に関する詳細な説明は、本発明の原理を図示する添付の図面と共に以下に提供される。本発明は、そのような実施形態と関連して説明されているが、本発明はそれらの実施形態に限定されない。本発明の範囲は、特許請求の範囲にのみ限定され、本発明は多数の代替形態、変更形態および均等な形態を包含する。多数の具体的な詳細が、本発明の完全な理解を提供するために以下に記載されている。これらの詳細は、例示の目的で提供されたものであり、本発明はこれらの具体的な詳細の一部または全部ではなく、特許請求の範囲に従って実施され得る。明瞭化を目的として、本発明に関連する技術分野で公知の技術的な構成要素については、本発明が不必要に分かり難くならないようにするため詳細には説明していない。
【０００５】
データ・バックアップの管理が開示されている。実施形態によっては、データ・セットのスナップショットはいろいろな時に取り入れられる。このデータ・セットは、１つ以上のオブジェクトを含む。このオブジェクトについての情報は、インデックス・データベースに記憶される。実施形態によっては、このインデックス・データベースは、データ・セットの各オブジェクトのために、スナップショットと関連して記憶されたオブジェクトの各バージョンに関して、スナップショット・データ内でのバージョンの位置を示す情報を含むインデックス・エントリを含んでいる。このスナップショットは、ローカルまたはリモートに記憶されてよい。インデックス・データベースは、ユーザが関心のあるエントリを閲覧または検索することを可能にする。関連のあるエントリまたはエントリのバージョンをスナップショットから検索し、ユーザに提示することが可能である。
【０００６】
図１はバックアップ・システムの一実施形態を示したブロック図である。この例では、バックアップ・クライアント１００がバックアップ作業を条件とするデータを含んでいる。バックアップ・クライアント１００は、コンピュータ・コード、ハードウェア装置、ソフトウェア／ハードウェアの組み合わせ、または他のあらゆる適切なシステムもしくはシステム構成要素として実装されてよい。このバックアップ作業に対して適用可能なデータは、ファイル、ディレクトリ、データベース、またはその他の適切なデータ・オブジェクトからなる体系的に組織された種々のデータ・セットが含まれる。このデータ・セットの複製が様々な時点で取り入れられて、バックアップとして記憶される。本明細書では、データ・セットの複製をスナップショットとも称する。
【０００７】
示されている例では、バックアップしようとするデータ・セットは、ファイルおよびディレクトリが体系的に組織された集合体を含むファイル・システム１０２である。明瞭化を目的として、以下の例では、ファイル・オブジェクトおよびディレクトリ・オブジェクトだけに言及するが、データベース・オブジェクト等の他の種類のオブジェクトも用いることも可能である。
【０００８】
ファイル・システムの多数のスナップショット１０４が異なる時点で取り入れられる。種々のシステム実装において、スナップショットを取り入れる多様な技術が用いられている。例えば、システムによっては、特殊用途デバイス・ドライバが、前記データが生成または変更される時に多数のディスク上でファイル・システムを複製する。システムがスナップショットを取り入れるように命令を発すると、指定されたディスク上のデータが保存され、そのファイル・システムのバックアップを目的とするスナップショットとして提供される。１つのファイル・システムに対して多数のスナップショットが生成されてもよい。スナップショットの最大数は、バックアップ・システムの実装に依存する。異なるスナップショットは、バージョン番号、タイムスタンプ、または他の適切な識別技術を用いて識別されることができる。実施形態によっては、新規のスナップショットのための場所をつくるために、古いスナップショットが期限切れに設定されたり、上書きされたりする。実施形態によっては、クライアント１００および／またはその他のホストの上で実行されているアプリケーションが、スナップショット１０４を生成したり記憶されたりする。
【０００９】
示されている例では、インデックス処理サービス１０６が、インデックス１０８を管理する。このインデックスは、スナップショット内のデータ・オブジェクトについての情報を含むデータベースである。それは、閲覧、検索、またはそれ以外にスナップショット内に記憶された特定のデータ・オブジェクトを取得するのに用いることが可能である。以下でより詳述されるように、このインデックス処理サービスは、スナップショットに基づいてインデックス１０８内のエントリを更新するように構成されている。
【００１０】
この例では、スナップショット１０４は、バックアップ・クライアントのローカルに存在するものとして示されている。換言すると、バックアップ・クライアント１００は、ネットワーク上でデータ転送を必要とすることなく、スナップショットにアクセスすることが可能である。システムによっては、スナップショットが、ネットワーク記憶装置やサーバ等にリモートに記憶され得る。同様にして、インデックス処理サービス１０６およびインデックス１０８も、バックアップ・クライアントに対してローカルまたはリモートに配置されていてもよい。
【００１１】
図２は、バックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。プロセス２００は、実施形態によってはインデックス処理サービス１０６の一部として実装されている。このプロセスは、スナップショット・インデックスを管理するように構成されており、バックアップ・クライアントまたは他の適切な遠隔装置上で動作可能である。示されている例において、このプロセスは、スナップショットが利用可能になると開始される（２０２）。スナップショットがアクセスされる（２０４）。スナップショットを含むオブジェクトに関連するデータがインデックスに付加される（２０６）。実施形態によっては、スナップショット内のオブジェクトの相対的な位置を示すために、スナップショット内のオブジェクトに対応するインデックス・エントリが更新される。実施形態によっては、スナップショットを含む各オブジェクトに対するインデックスにデータが付加される。
【００１２】
図３は、バックアップ・データの管理プロセスの一実施形態を示すフローチャートである。この例では、プロセス３００が、スナップショットが生成された後しばらくして実行される。インデックス処理サービスは、新規のスナップショットが利用可能という指示を受信する（３０２）。スナップショットがアクセスされる（３０４）。実施形態によっては、スナップショットにアクセスすることは、対応するファイル・システムをナビゲートすることによってスナップショット・データにアクセスすることが可能になるように、スナップショットをマウントすることが含まれる。このファイル・システムは、ファイルまたはディレクトリ等の各ファイル・システム・オブジェクトの位置を決定するためにトラバースされる（３０６）。実施形態によっては、このファイル・システムは、スナップショットのマウントを必要とすることなく、トラバースされる。
【００１３】
トラバースの間、各ファイル・システム・オブジェクトに対するインデックス・エントリが更新される（３０８〜３１１）。オブジェクトが新規であるか判定される（３０８）。例えば、ファイル・システム・オブジェクトが新規である場合、このオブジェクトは対応するインデックス・エントリをインデックス内に有していない。ファイル・システム・オブジェクトが新規である場合には、この新規のファイル・システム・オブジェクトに対する新規のインデックス・エントリが生成されてインデックスに付加される（３０９）。しかしながら、このファイル・システム・オブジェクトが新規でない（すなわち、このオブジェクトが既存のインデックス・エントリを有する）場合には、現在のスナップショット内のこのファイル・システム・オブジェクトについての情報が、既存の対応するエントリに付加される（３１０）。エントリ更新プロセス（３０８〜３１０）は、全てのファイル・システム・オブジェクトがトラバースされるまで繰返される（３１１）。トラバースが完了し、インデックス・エントリが更新されると、このインデックスは保存される（３１２）。次にこのファイル・システムは、アンマウントされ、クリーンアップされる（３１４）。他の新規のスナップショットが利用可能になると、プロセスが繰返され、新規のスナップショット内のファイル・システム・オブジェクトに基づいてインデックス・エントリが更新される。この例では、２つ以上のスナップショット内で同一のオブジェクトが出現した場合には、スナップショット内でこのオブジェクトに遭遇する度に、このオブジェクトに関連する単一のインデックス・エントリだけが、例えば、エントリに、スナップショット内でのオブジェクトの存在および／または位置、ならびに／あるいはそのバージョンを示すデータを付加することによって、更新される。実施形態によっては、スナップショット内で遭遇したオブジェクトの各インスタンスに対して別個のエントリが作成される。
【００１４】
実施形態によっては、インデックスは、多数のインデックス・エントリを含むデータベースである。図４Ａはいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。この例では、データベースは、固定長エントリを用いたテーブル形式で実装されている。各エントリは、そのテーブル内での位置を用いて参照され、位置が決定される。換言すると、各エントリの識別子は、テーブル内でのそのエントリ番号と対応しており、エントリには、その識別子（またはテーブルでのそのオフセット）が分かっている場合にアクセスすることが可能である。検索作業の間、このテーブルは、１つ以上の合致するエントリの位置を決定するために線形的に検索される。実施形態によっては、インデックスの記憶された媒体が、ランダム・アクセスよりも高速の線形的なアクセスをサポートしており、それにより、線形的なアクセスを必要とする線形的な検索の方がランダム・アクセスを必要とする階層的な検索よりも高速である。
【００１５】
インデックス・エントリの各々は、４００で示された配置を有しており、各々がファイル・システム・オブジェクトと対応している。このインデックス・エントリは、ファイル・システム・オブジェクトおよびスナップショット内におけるその親または子にアクセスするために有用な情報を含んでいる。示されているように、インデックス・エントリは３つのセクションを含んでいる。すなわち、ファイル・システム・オブジェクトについての一般的な情報（例えば、ファイル名またはオブジェクト名）を記憶するためのヘッダー・セクション、例えば、異なるスナップショット内で見つかった等、オブジェクトの種々のバージョンについての情報を記憶するためのバージョン・セクション、およびオブジェクトの子についての情報を記憶するための子セクションである。
【００１６】
実施形態によっては、オブジェクトの子は、ファイル・システム・オブジェクト（例えば、ファイルおよびディレクトリ）等のオブジェクトを含んでおり、もしあるとすれば、それは、親オブジェクトに関連する階層的構造において親オブジェクトの下の次のレベルで生じ、例えば、オブジェクトが含まれているスナップショットと関連するファイル・システム・ディレクトリもしくは構造、および／またはスナップショットに関連するソース・データ・セットがある。実施形態によっては、オブジェクトの親（例えば、ヘッダー内の）および／または子を識別する図４Ａのデータのインデックス・エントリをキャプチャーすることによって、もしあるとすれば、例えば、必要に応じて、ユーザが関心のある特定のオブジェクトを見つけるために階層的な構造を閲覧することを可能にするファイル・システムまたはディレクトリ型のインターフェースを準備することによって、提示するデータの階層的な表示が可能になる。
【００１７】
図４Ｂはいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。この例のエントリは、テーブル内でのその位置に対応する識別子を有する。テーブル４０２は、ヘッダー・セクションの配置を示しており、このヘッダー・セクションには、オブジェクト名、バージョン・テーブルおよび子テーブルの情報のオフセットおよび長さ、エントリの親ディレクトリの識別子等などのインデックス・エントリについての一般的な情報を記憶するためのフィールドが含まれている。このエントリのフィールドが一杯になった場合には、このエントリについてのさらなる情報は、識別子がヘッダー内に含まれている連続エントリ内に記憶される。
【００１８】
この例のバージョン・セクションは、スナップショットの１つ以上のバージョンに対応する１つ以上のバージョン・エントリを含んでいる。このスナップショットはスナップショット・テーブルに記憶される。テーブル４０４は、１つのバージョン・エントリ配置を示しており、それには、そのバージョン・エントリと関連するバージョンがその内部に属するスナップショットと関連するスナップショット・テーブル・エントリを識別する識別子、スナップショット内のファイルのバージョンのサイズ、およびこのオブジェクトのこのバージョンが最後に変更された時間が含まれている。
【００１９】
この例の子セクションのそれぞれは、１つ以上の子エントリを含んでいる。テーブル４０６は、１つの子エントリの配置を示しており、それには、子を示すインデックス・エントリの識別子を含んでいる。
【００２０】
図４Ａ〜４Ｂは、固定長のエントリを用いた単層のインデックスの配置を示しているが、必要に応じて、他の実施形態では、可変長のエントリ、異なるフィールドおよび異なる配置のエントリが用いられる場合がある。
【００２１】
ユーザは、スナップショットにアクセスし、ファイルまたは他のオブジェクトの前のバージョン等のそれらからデータを復旧したいと願うかもしれない。図５は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。プロセス５００は、ある実施形態のインデックス処理サービスの一部として実装されている。実施形態によっては、このプロセスは別々に実装され、協働してインデックス処理サービスを実行することが可能である。示されている例では、方法５００は、要求が受信されると開始する（５０２）。以下で詳述されるように、そのような要求は、スナップショットを閲覧または検索することが含まれている。この要求に関連する応答データが、インデックス内から位置決定される（５０４）。この例では、インデックスは、データ・セットの１つ以上のスナップショットを有する１つ以上のオブジェクトを識別するエントリを含むスナップショット・インデックスであり、応答データはスナップショット・インデックス内にある要求に対応した適切なインデックス・エントリを含んでいる。応答データに関連するオブジェクトと関連する情報、例えばオブジェクトのスナップショットについての情報等は、要求を行った呼出ルーチンに提供される（５０６）。
【００２２】
図６はバックアップ・データを閲覧するための方法の一実施形態を示すフローチャートである。この例では、スナップショット・インデックス内の情報は、あるユーザ・インターフェースを介してユーザに示され、ユーザがスナップショットを閲覧することを可能にする。方法６００は、閲覧要求が受信されると開始される（６０２）。示されている例では、閲覧要求は、ユーザがユーザ・インターフェースを介して閲覧要求を行うと受信される。次に、ファイル・システム（または、ファイル・システム以外のソース・データ・セットの場合には、他の階層的構造）のルートを示すインデックス・エントリの位置が決定され、子エントリが取得される（６０４）。実施形態によっては、ファイル・システムのルートは、インデックス内の固定位置（例えば、インデックスの第２番目のエントリ）を占有している。
【００２３】
ユーザは、ユーザ・インターフェース内で選択を行うことによって閲覧を続けることができる。一度、ユーザによる選択が行われて検索されてしまえば、選択の種類は決定される（６０６）。この場合には、ユーザはディレクトリ・オブジェクトまたはファイル・オブジェクトを選択することができる。ファイル・オブジェクトが選択された場合には、選択されたファイル・オブジェクトに対応するインデックス・データがアクセスされ、取得される（６０８）。インデックス・データはスナップショットの種々のバージョンについてのデータを含んでおり、それはユーザ・インターフェース内でユーザに表示される。ユーザは、あるオブジェクトの特定のインスタンスが、例えば、そのオブジェクトのそのインスタンスが関連するスナップショットの関連するデータから取得されるように、ユーザ・インターフェースを介して要求する選択肢を有する。本方法は、ユーザが要求を行うのを待つ状態に入る。そのような要求が行われる（６０９）と、そのオブジェクトの要求されたインスタンス、例えば、特定のバージョンが取得され、ユーザに利用可能にされる（６１０）。ユーザがそのような要求を行わなかった場合には、このプロセスはユーザが閲覧を終了したと指示するまで待機し続ける（６１４）。
【００２４】
ユーザがディレクトリを選択した場合には（６０６）、選択されたディレクトリの子エントリが取出され、所望に応じてユーザに表示される（６１２）。ユーザは再びディレクトリまたはファイルの子のディレクトリまたはファイルから選択する選択肢を有する（６０８）。すなわち、選択されたディレクトリの子を取出すプロセス（６１４）、またはファイルに関連するインデックス・データ／スナップショットを取出すプロセス（６０８〜６１０）のいずれかが繰返される。ユーザはウィンドウを閉じるか、ユーザ・インターフェース内に設けられた「クリア」ボタンをクリックするか、もしくはそれ以外の方法で彼が閲覧を終了したことを指示してもよいし、または、彼は閲覧を続けてもよい（６１４）。
【００２５】
図７は閲覧のためのユーザ・インターフェースの一例を示す図である。この例で示されているユーザ・インターフェース７００は、このユーザ・インターフェース内に表示するスナップショットの数を選択する選択肢をユーザに提供している。ユーザは選択を行うことによって、特定のスナップショットを閲覧することができる。「クリア」ボタンは、ユーザが選択をクリアしてもう一度やり直すことを可能にするために設けられている。
【００２６】
図８はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。この例では、プロセス８００はユーザからの検索要求を待つ状態で開始される（８０２）。この要求は、ファイル名の照合のために用いられる検索文字列、検索するバージョン番号等などの問合わせ情報が含まれている。検索要求が受信されると、このプロセスは、１つ以上の可能性のある合致を見つけ出すために検索文字列とインデックス・エントリ内のファイル名とを比較する（８０４）。実施形態によっては、この検索は全ての可能性のある合致を見つけ出すために全てのエントリが調査される。可能性のある合致に関連する情報（例えば、スナップショットのバージョン情報）が検索され、所望に応じてユーザに表示される（８０６）。このプロセスは次にユーザの入力を待つ状態に入る（８０８）。一度、ユーザの入力が受信されてしまえば、その種類は決定される（８１０）。ユーザの入力が、合致するエントリからオブジェクトのインスタンスを選択するものである場合には、要求されたインスタンスが検索されて所望に応じてユーザに表示される（８１２）。ユーザの入力が検索結果をクリアするものである場合には、プロセスは、新規の検索要求が入力されるのを待つ初期状態に戻る（８０２）。ユーザの入力が検索の完了を示す場合には、プロセスは終了する（８１４）。
【００２７】
図９はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース９００は、検索に用いられるバックアップの数を選択する選択肢をユーザに提供している。ユーザはメニュー９０４を介して検索されるバックアップの数を選択する。検索文字列はボックス９０２に入力される。最新の３つのバックアップ（示されている例において、ユーザがメニュー９０４を介して「最新の３つのバックアップ」を選択したため）からの合致しているエントリは、領域９０６に表示される。ユーザは、ファイルのインスタンスを見たり、保存したり、またはそれ以外に所望のファイル名をクリックすることによって復旧することが可能である。例えば、いくつかのスナップショットには存在するがより最近のスナップショットでは削除されてしまった“Ｅｘｐｅｎｓｅ  Ｒｅｐｏｒｔ  Ｊｕｎｅ．ｘｌｓ”等のファイルを見つけて取得することができる。ユーザは、ボタン９０８を押すことにより検索結果をクリアしたり、またはボタン９１０を押すことにより検索ウィンドウを閉じたりすることが可能である。
【００２８】
図１０はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。この例で示されているユーザ・インターフェース１０００は、インデックスが利用可能であるバックアップ・データに記憶された全てのファイルの中から、ユーザによって入力された検索文字列と合致する全てのファイルを見つけ出すという選択肢をユーザに提供している。検索結果は、領域１００２に表示されており、そこでは合致するファイルの各々と関連するバージョン情報が表示され、選択可能になっている。
【００２９】
以上により、データ・バックアップの管理を開示した。上記で説明された技術は、ユーザが、各スナップショットのファイル・システム（もしくは他の階層的構造）または関心のあるオブジェクトの属する他のバックアップ・データ・セットに、マウントおよびナビゲートする必要なしにバックアップ・データにアクセスすることを可能にする。関心のあるファイルの特定のバージョン等、関心のあるオブジェクトのバックアップ・データ内の位置を決定し、必要に応じて、迅速かつ簡単にそのオブジェクトを取得してユーザに提供することが可能である。
【００３０】
前述した実施形態は、理解の明瞭化を目的として多少詳細に説明がなされたが、本発明は、提示した詳細に限定されるものではない。本発明には、多数の代替的な方法が存在する。開示された実施形態は、例示的なものであり制限的なものではない。
【図面の簡単な説明】
【００３１】
【図１】はバックアップ・システムの一実施形態を示したブロック図である。
【図２】はバックアップ・データを管理するためのプロセスの一実施形態を示すフローチャートである。
【図３】はバックアップ・データ管理プロセスの一実施形態を示すフローチャートである。
【図４Ａ】はいくつかの実施形態に従ったインデックス・エントリの配置を示す図である。
【図４Ｂ】はいくつかの実施形態に実装されたインデックス・エントリ例のヘッダー、バージョンおよび子セクションの詳細を示す。
【図５】は以前に記憶されたデータを復旧するためにスナップショットのインデックスを用いるプロセスの一実施形態を示すフローチャートである。
【図６】はバックアップ・データを閲覧するためのプロセスの一実施形態を示すフローチャートである。
【図７】は閲覧のためのユーザ・インターフェースの一例を示す図である。
【図８】はバックアップ・データを検索するためのプロセスの一実施形態を示すフローチャートである。
【図９】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【図１０】はバックアップ・データを検索するためのユーザ・インターフェースの一実施形態を示す図である。
【図１】
2009505289.tif 000003
【図２】
2009505289.tif 000004
【図３】
2009505289.tif 000005
【図４Ａ】
2009505289.tif 000006
【図４Ｂ】
2009505289.tif 000007
【図５】
2009505289.tif 000008
【図６】
2009505289.tif 000009
【図７】
2009505289.tif 000010
【図８】
2009505289.tif 000011
【図９】
2009505289.tif 000012
【図１０】
2009505289.tif 000013
【国際調査報告】
2009505289.tif 000014