(57)【要約】【課題】バックアップ媒体に格納された１つのバックアップで、ファイルを書き込み、マルチ・バージョン管理するのに効果的なシステムと方法を提供する。【解決手段】バックアップ媒体に結合されたホストを含む。バックアップ媒体は、データ・セグメントとオブジェクトを格納し、オブジェクトはそれぞれ１つ又は複数のセグメントを参照する。第２のホストが、第１のオブジェクトから参照されるセグメントを含んだデータ・エンティティを特定する書き込み要求を第１のホストに送る。第１のホストは、書き込み要求の受取りに応答して、データ・エンティティのコピーを再格納し、第１のオブジェクトから参照されていたセグメントを参照する第２のオブジェクトを作成する。第１のホストは、データをコピーに追加するか、セグメントの一部分をコピーから削除する変更の受取りに応答して、セグメント参照を第２のオブジェクトに追加する。第１のホストは、変更がセグメントのすべてをコピーから削除する場合、セグメント参照を第２のオブジェクトから取り除く。【選択図】図２
2008257725.tif 000002
【特許請求の範囲】
【請求項１】
複数のバックアップ・データ・オブジェクトと複数のデータ・セグメントとを格納するように構成されるバックアップ媒体に結合され、各データ・オブジェクトがそれぞれ前記複数のデータ・セグメントのうちの１つ又は複数を参照する第１のホストと、
データ・エンティティを特定する書き込み要求を前記第１のホストへ送るように構成され、前記データ・エンティティが、前記複数のバックアップ・データ・オブジェクトのうちの第１のデータ・オブジェクトから参照されるデータ・セグメントを含み、
前記データ・エンティティに対する変更を示すデータ変更を、前記第１のホストへ送るように構成される
第２のホストとを備える、コンピュータ・システムであって、
前記第１のホストが、前記書き込み要求に応答して、
前記データ・エンティティのコピーを再格納し、
前記第１のデータ・オブジェクトから参照される前記データ・セグメントを参照する第２のデータ・オブジェクトを作成するように構成され、
前記第１のホストがさらに、
データを前記コピーに追加する、又はデータ・セグメントの一部分を前記コピーから削除するデータ変更の受取りに応答して、１つ又は複数のデータ・セグメント参照を前記第２のデータ・オブジェクトに追加し、
データ変更が、データ・セグメントのすべてを前記コピーから削除する場合、データ・セグメント参照を前記第２のデータ・オブジェクトから取り除くように構成されるシステム。
【請求項２】
前記バックアップ媒体が、単一インスタンスのバックアップ・データを含む請求項１に記載のシステム。
【請求項３】
前記複数のバックアップ・データ・オブジェクトについて記述しているメタデータを格納するように構成されるカタログをさらに備える請求項１に記載のシステム。
【請求項４】
前記第２のホストがさらに、前記バックアップ媒体に、仮想ファイル・システムのインターフェースを介してアクセスするように構成される請求項３に記載のシステム。
【請求項５】
前記仮想ファイル・システムのインターフェースが、前記第２のホストがデータ・オブジェクトを前記バックアップ媒体に書き込むことが可能になるように構成される請求項４に記載のシステム。
【請求項６】
前記仮想ファイル・システムインターフェースが、前記第２のホストがバックアップ・データ・オブジェクトの複数のバージョンを作成し、それを前記バックアップ媒体に格納することが可能になるように構成される請求項４に記載のシステム。
【請求項７】
前記カタログがさらに、前記複数のバックアップ・データ・オブジェクトの複数のバージョンを含んだブランチについて記述しているメタデータを格納するように構成される請求項６に記載のシステム。
【請求項８】
バックアップ・データにアクセスする方法であって、
複数のバックアップ・データ・オブジェクトと複数のデータ・セグメントとをバックアップ媒体に格納するステップであってし、各データ・オブジェクトがそれぞれ前記複数のデータ・セグメントのうちの１つ又は複数を参照する、前記格納するステップと、
データ・エンティティを特定する書き込み要求を受け取るステップであって、前記データ・エンティティが、前記複数のバックアップ・データ・オブジェクトのうちの第１のデータ・オブジェクトから参照されるデータ・セグメントを含む、前記受け取るステップと、
前記書き込み要求に応答して、前記データ・エンティティのコピーを再格納し、かつ、前記第１のデータ・オブジェクトから参照される前記データ・セグメントを参照する第２のデータ・オブジェクトを作成するステップと、
前記データ・エンティティに対する変更を示すデータ変更を受け取るステップと、
データを前記コピーに追加する、又はデータ・セグメントの一部分を前記コピーから削除するデータ変更の受取りに応答して、１つ又は複数のデータ・セグメント参照を前記第２のデータ・オブジェクトに追加するステップと、
データ変更が、データ・セグメントのすべてを前記コピーから削除すると、データ・セグメント参照を前記第２のデータ・オブジェクトから取り除くステップとを含む方法。
【請求項９】
前記バックアップ媒体が、単一インスタンスのバックアップ・データを含む請求項８に記載の方法。
【請求項１０】
前記複数のバックアップ・データ・オブジェクトについて記述しているメタデータをカタログに格納するステップをさらに含む請求項８に記載の方法。
【請求項１１】
前記バックアップ媒体に、仮想ファイル・システムのインターフェースを介してアクセスするステップをさらに含む請求項１０に記載の方法。
【請求項１２】
データ・オブジェクトを前記バックアップ媒体に、前記仮想ファイル・システムのインターフェースを介して書き込むステップをさらに含む請求項１１に記載の方法。
【請求項１３】
バックアップ・データ・オブジェクトの複数のバージョンを作成し、それを前記バックアップ媒体に前記仮想ファイル・システムを介して格納するステップをさらに含む請求項１１に記載の方法。
【請求項１４】
前記複数のバックアップ・データ・オブジェクトの複数のバージョンを含んだブランチについて記述しているメタデータを前記カタログに格納するステップをさらに含む請求項１３に記載の方法。
【請求項１５】
複数のバックアップ・データ・オブジェクトと複数のデータ・セグメントをバックアップ媒体に格納し、その際、各データ・オブジェクトがそれぞれ前記複数のデータ・セグメントのうちの１つ又は複数を参照し、
データ・エンティティを特定する書き込み要求を受け取り、その際、前記データ・エンティティが、前記複数のバックアップ・データ・オブジェクトのうちの第１のデータ・オブジェクトから参照されるデータ・セグメントを含み、
前記書き込み要求に応答して、前記データ・エンティティのコピーを再格納し、前記第１のデータ・オブジェクトから参照される前記データ・セグメントを参照する第２のデータ・オブジェクトを作成し、
前記データ・エンティティに対する変更を示すデータ変更を受け取り、
データを前記コピーに追加する、又はデータ・セグメントの一部分を前記コピーから削除するデータ変更の受取りに応答して、１つ又は複数のデータ・セグメント参照を前記第２のデータ・オブジェクトに追加し、
データ変更が、データ・セグメントのすべてを前記コピーから削除すると、データ・セグメント参照を前記第２のデータ・オブジェクトから取り除く、
プロセッサによって実行可能なコンピュータ命令を格納する複数のコンピュータ読み取り可能媒体。
【請求項１６】
前記バックアップ媒体が、単一インスタンスのバックアップ・データを含む請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１７】
前記命令がさらに、前記複数のバックアップ・データ・オブジェクトについて記載しているメタデータを、カタログに格納することが実行可能である請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１８】
前記命令がさらに、前記バックアップ媒体に、仮想ファイル・システムのインターフェースを介してアクセスすることが実行可能である請求項１７に記載のコンピュータ読み取り可能媒体。
【請求項１９】
前記命令がさらに、データ・オブジェクトを前記バックアップ媒体に、前記仮想ファイル・システムのインターフェースを介して書き込むことが実行可能である請求項１７に記載のコンピュータ読み取り可能媒体。
【請求項２０】
前記命令がさらに、バックアップ・データ・オブジェクトの複数のバージョンを作成し、前記バックアップ媒体に前記仮想ファイル・システムを介して格納することが実行可能である請求項１７に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムに関し、より詳細には、コンピュータ・システム内部におけるデータのバックアップ及び再格納に関する。
【背景技術】
【０００２】
様々なクライアント・デバイス上にあるデータを、いくつかのタイプのバックアップ機構により保護する編成の必要性が高まっている。例えば、数多くのクライアント・デバイスは、１つ又は複数のメディア・サーバが結合されたネットワークに結合されている。このメディア・サーバは、１つ又は複数のディスク・ストレージ・デバイス、テープ・ドライブ、又はその他のバックアップ媒体からなるストレージ・ユニットを含んも、あるいはそれらにさらに結合されていてもよい。各クライアント・デバイス上のバックアップ・エージェントが、様々なスケジュール、ポリシーなどに従って、データ・ファイルをストレージ用のメディア・サーバに送る。例えば、大きなバックアップ・データセットを、クライアント・デバイスから、後で取り出すためにデータを格納するように構成されたメディア・サーバに移動させることによって、ユーザの過失、システム障害、停電、災害などによるデータ損失を防ぎ、規制遵守、ワークフロー追跡などのための情報をアーカイブすることができる。
【０００３】
データを容易に利用可能にするために、関連するバックアップ・データについて記述しているメタデータを、１つ又は複数のメタデータ・マネージャによりカタログに格納することができる。かかるカタログは、メタベースと呼ばれる。メタデータ・マネージャは、別のホストに配置しても、バックアップ・データを含んだ同一のホストに配置してもよい。したがって、様々な位置でホストされた１つ又は複数のメタベースは、バックアップ・データを記述しているデータを含む。
【０００４】
クライアント・デバイスは、ディスク・ベースのバックアップ媒体に加えて、従来のバックアップ媒体上にデータをバックアップし、再格納することができる。従来の、データセット全体が格納されるアーカイブ・ストレージ技術は、同一の前のバージョンが格納されているかどうかを問わず使用することができる。他の場合では、データセットがセグメントされ、そのセグメントが非重複化される(de-duplicated)、単一インスタンス・ストレージ技術を使用することができる。従来の単一インスタンス技術同士を、同じバックアップ環境で混用することもできる。バックアップ・システムに格納されているデータ・エンティティを簡単に見つけることができるように、ファイル・システムのユーザ・インターフェースをクライアント・デバイスに設けてもよい。例えば、あるバックアップ内のファイルを、ネットワーク・ファイル・システム（ＮＦＳ）又は共通インターネット・ファイル・システム（ＣＩＦＳ）の機能の一部分を可能にするインターフェースを介して読み取ることができる。残念ながら、こういったインターフェースでは、１つのバックアップ内で複数のバージョンのファイルに書き込む、変更する、あるいは作成する能力が実現しない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記を考慮すると、そういった問題の原因となるバックアップ媒体に格納された１つのバックアップで、ファイルを書き込み、マルチ・バージョン管理するのに効果的なシステム及び方法が望まれる。
【課題を解決するための手段】
【０００６】
コンピュータ・システム及び方法の様々な実施態様が開示される。一実施態様では、コンピュータ・システムが、バックアップ媒体に結合された第１のホストと、第２のホストを含む。バックアップ媒体は、データ・セグメントとデータ・オブジェクトとを格納するように構成され、データ・オブジェクトはそれぞれ、データ・セグメントの１つ又は複数を参照する。第２のホストは、データ・エンティティを特定する書き込み要求を第１のホストに送るように構成され、データ・エンティティは、第１のデータ・オブジェクトから参照されるデータ・セグメントを含む。第１のホストは、書き込み要求の受取りに応答して、データ・エンティティのコピーを再格納し、第１のデータ・オブジェクトから参照されていたデータ・セグメントを参照する第２のデータ・オブジェクトを作成するように構成される。第２のホストはさらに、上記コピーに変更を行い、その変更に対応するデータ変更を第１のホストに送るように構成される。第１のホストはさらに、データをコピーに追加する、又はデータ・セグメントの一部分をコピーから削除するデータ変更の受取りに応答して、１つ又は複数のデータ・セグメント参照を第２のデータ・オブジェクトに追加するように構成される。第１のホストはさらに、データ変更が、データ・セグメントのすべてをコピーから削除する場合、データ・セグメント参照を第２のデータ・オブジェクトから取り除くように構成される。一実施態様では、バックアップ媒体は、単一インスタンスのバックアップ・データを含む。
【０００７】
他の実施態様では、コンピュータ・システムは、複数のバックアップ・データ・オブジェクトについて記述しているメタデータを格納するように構成されたカタログを備える。さらに他の実施態様では、ホストは、バックアップ媒体に仮想ファイル・システムのインターフェースを介してアクセスするように構成される。仮想ファイル・システムのインターフェースは、第２のホストがデータ・オブジェクトをバックアップ媒体に書き込むことが可能になるように構成される。仮想ファイル・システムのインターフェースはさらに、第２のホストがバックアップ・データ・オブジェクトの複数のバージョンを作成し、それをバックアップ媒体に格納することが可能になるように構成される。カタログはさらに、複数のバックアップ・データ・オブジェクトの複数のバージョンを含んだブランチについて記述しているメタデータを格納するように構成される。
【０００８】
以下の説明及び添付の図面を考慮すると、上記及びその他の実施態様が明らかになるであろう。
【発明を実施するための最良の形態】
【０００９】
本発明は様々な変更形態や代替形態を受け入れることができるが、特定の実施形態が例として図面に示され、本明細書において詳細に説明される。ただし、その図面とそれに対する詳細な説明は、ここで開示する特定の形態に本発明を限定するためのものではなく、むしろ、本発明は、添付の特許請求の範囲によって定義される本発明の趣旨及び範囲内に含まれるすべての変更形態、均等形態、代替形態を包含するためのものであることを理解されたい。
【００１０】
図１には、コンピュータ・システム１００の一実施形態が示されている。図のように、システム１００は、ネットワークを介して相互接続されたホスト１１０Ａ〜１１０Ｄとモバイル・ホスト１２０Ａ〜１２０Ｄを含む。このネットワークは、広域ネットワークＷＡＮ／インターネット１４０に結合されたローカル・エリア・ネットワーク（ＬＡＮ）１３０と、モデム・バンク１５０とを含み、そのモデム・バンク１５０は、公衆交換電話網（ＰＳＴＮ）１６０に結合されている。ホスト１１０Ａ〜１１０Ｄは、任意の数の定常コンピュータを表す。モバイル・ホスト１２０Ａ〜１２０Ｄは、ラップトップ・コンピュータ、ハンドヘルド・コンピュータなどの任意の数のモバイル・クライアント・コンピューティング・デバイスを表す。ホストとモバイル・ホストは共に、ピア・ツー・ピア構成におけるピアとして動作することも、クライアント／サーバ構成におけるクライアントとサーバとして動作することもできる。
【００１１】
代替実施形態では、ホスト、ＬＡＮ、ＷＡＮ、モデム・バンクの数とタイプは、図１に示されているものに限定されない。ほぼ任意の数と組合せのサーバ、デスクトップ、モバイル・ホストを、モデム・バンク、直接ＬＡＮ接続、無線接続、ＷＡＮリンクなどの様々な組合せを介して、システム１００に相互接続することができる。また、様々な時点で、１つ又は複数のホストをオフラインで動作させることができる。さらに、動作中、個々のホスト接続タイプは、モバイル・ユーザが場所を変えて移動してシステム１００に接続、接続解除、再接続するときに変更されてもよい。
【００１２】
システム１００内では、ホスト１１０Ａ〜１１０Ｄやモバイル・ホスト１２０Ａ〜１２０Ｄのうちのいずれかに関連するデータを、保護することが望ましい。ホスト関連のデータを保護するには、様々なバックアップ・コンポーネントをホスト１１０Ａ〜１１０Ｄやモバイル・ホスト１２０Ａ〜１２０Ｄで動作させることができる。次に図２に移ると、システム１００内で動作させることができるバックアップ・システム２００の一実施形態の全体的なブロック図が示されている。システム２００は、ネットワーク２８０を介してメディア・サーバ２５０とメタベース・サーバ２６０に結合された、ホスト２１０、２２０、２３０、２４０、２７０を含む。バックアップ・エージェント２１５、２２５、２３５はそれぞれのホスト２１０、２２０、２３０で動作する。この例示されている実施形態では、メディア・サーバ２５０はさらに、１つ又は複数のホストからのデータのコピーを格納することができる、ストレージ・プール２５５に結合される。一実施形態では、ストレージ・プール２５５は、バックアップ・サーバ２５０の一部分であっても、そこに含まれてもよい。ホスト２４０と２７０はそれぞれ、１つ又は複数のホストからのデータのコピーをやはり格納することができる、バックアップ・データ２４５、バックアップ・データ２７５を含む。一実施形態では、バックアップ・データ２４５及び／又は２７５は、単一インスタンスのストレージ・プールである。メタベース・サーバ２６０は、バックアップ・データ２４５、２７５とバックアップ媒体２５５に格納されたデータについて記述しているメタデータを格納することができる、カタログ２６５を含む。代替実施形態では、追加のメタベースをシステム２００に含んでもよい。追加のバックアップ・データもまた、システム２００に、そのシステムのストレージ要件に応じて含むことができる。
【００１３】
動作中、バックアップ・エージェント２１５、２２５、２３５が、データ・バックアップを実行する。例えば、一実施形態では、データを、１つ又は複数のバックアップ・データ位置まで送り、関連するメタデータを、１つ又は複数のメタベースに送る。バックアップ頻度は、データ保護の緊急度、ストレージ・プール容量、ネットワーク接続状態、企業ポリシーを含む、様々な要素に依存する。一実施形態では、バックアップを、スケジュールに従って、あるいは管理ポリシー、セキュリティ・ポリシーで決定された、又は企業のその他の要件を満たすその他の時点に行ってもよい。
【００１４】
バックアップ・データのサイズを最小化するのに、単一インスタンスのストレージ技術を使用することができる。単一インスタンスのストレージ・プールでは、データがセグメントに格納され、各セグメントは、それを明白に識別するために使用できる識別子又はフィンガープリントを有する。例えば、データ・ファイルをセグメント化し、フィンガープリントをセグメントごとに計算することができる。データ・セグメントの複製コピーが、各コピーごとに１つの、セグメントとそのセグメントに対する参照セットからなる単一インスタンスに置き換えられる。バックアップ・ファイルを取り出すには、そのファイルのセグメントに対応する１セットのフィンガープリントを、所望のセグメントの位置を見つけるキーとして使用する。セグメントが取り出されたら、そのセグメントを使用して、所望のファイルを再び組み立る。
【００１５】
図３は、システム２００の一部分にすることができるシステム３００の一実施形態のより詳細なブロック図である。システム３００は、ホスト２１０、２４０とメタベース・サーバ２６０を含む。ホスト２１０は、ローカル・データ・ストア３１０、アプリケーション３２０、仮想ファイル・システム３３０、バックアップ・エージェント２１５を含む。ホスト２４０はバックアップ・データ２４５を含む。メタベース・サーバ２６０は、バックアップ・データ２４５に格納されたデータについて記述しているメタデータを格納するカタログ２６５を含む。アプリケーション３２０は、ワード処理プログラム、スプレッドシート、ブラウザなどの、様々な従来のアプリケーションのうちのいずれであってもよい。バックアップ・エージェント２１５は、従来のバックアップ技術を使用して直接、データをバックアップ・データ２４５に送り、関連するメタデータをカタログ２６５に送ることによって、データをローカル・データ・ストア３１０からバックアップする。バックアップ・エージェント２１５は、従来の再格納技術を使用して直接、データをバックアップ・データ２４５から取り出し、関連するメタデータをカタログ２６５から取り出すことによって、データをローカル・データ・ストア３１０に再格納する。さらに、アプリケーション３２０は、仮想ファイル・システム３３０によって設けられたインターフェースを介して、バックアップ・データの読み取り動作と書き込み動作を実行する。一実施形態では、仮想ファイル・システム３３０は、ＣＩＦＳ／ＮＦＳインターフェースを設けている。ＷｅｂＤａｖインターフェース、擬似デバイス・インターフェースなど、様々な代替インターフェースを設けてもよい。バックアップ・データを読み取るには、仮想ファイル・システム３３０がカタログ２６５の表示を可能にし、それによってユーザ又はアプリケーションは、取り出すデータ・ファイルを選択し、そのファイルをストレージ・プール２４５から取り出し、取り出したファイルをローカル・データ・ストア３１０に格納する。この仮想ファイル・システム３３０により、従来のファイル・システムへの書き込みのように、ユーザ又はアプリケーションによるバックアップ・データの書き込み（データ・ファイルの複数のバージョンの書き込みを含む）が可能になる。これらのアクションを実行できるプロセスについて説明する前に、まず、バックアップ・データ２４５に格納されるデータと、カタログ２６５に格納されるメタデータの編成についての説明を示す。
【００１６】
次に図４に移ると、カタログ２６５と、それに関連する、バックアップ・データ２４５内のデータの一実施形態が示されている。カタログ２６５は、データベース、テーブル、又はその他の同様のデータ構造を含む。この例示されている実施形態では、カタログ２６５はエントリのテーブルを含む。各エントリは、ファイル名と、属性のセットと、データ・オブジェクト・ポインタとを含む。より具体的には、第１のエントリは、ファイル名４１１Ａと、属性４１１Ｂと、データ・オブジェクト・ポインタ４１１Ｃとを含む。この第１のエントリは、以下、エントリ４１１と呼ばれることがある。同様のファイル名と、属性と、データ・オブジェクト・ポインタとが、エントリ４１２〜４１７に対して示されている。
【００１７】
本明細書で使用されるファイルは、１つ又は複数のファイル、又はその他のデータ構造を含む。一実施形態では、ファイル名４１１Ａなどのファイル名は、ユーザが読み取り可能な文字列で構成されている。ただし、複数のファイルが同じ名前を有することができるので、バックアップ・データ２４５で対応するデータ・オブジェクトを見つけるためのキーとして使用するために、データ・オブジェクト・ポインタもエントリごとに格納される。一実施形態では、各データ・オブジェクト・ポインタは、フィンガープリントなどの曖昧でない識別子とすることができる。本明細書で使用されるフィンガープリントは、ハッシュ関数などのデータ・エンティティの関数を表す。一実施形態では、フィンガープリントは暗号化されてもよい。より具体的には、フィンガープリントは、Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ５（メッセージ・ダイジェスト・アルゴリズム、ＭＤ５）や、その他のハッシュ関数を含む。代替ハッシュ関数には、Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ（セキュア・ハッシュ・アルゴリズム、ＳＨＡ）、チェックサム、シグニチャ・データが含まれ、さらに、データ・エンティティの識別に適したその他の任意の関数、暗号、その他の方法も含まれる。ファイルやファイル・セグメントなどのデータ・エンティティのコピーは、あるエンティティのフィンガープリントを別のエンティティのフィンガープリントと比較することによって識別することができる。フィンガープリントが合致すれば、この２つのエンティティは互いのコピーである。ファイル名やデータ・オブジェクト・ポインタに加えて、属性４１１Ｂなどの追加の属性がファイルのメタデータに含まれてもよい。属性は、データ・サイズ、バッチ番号、タイプ、バージョン番号、所有権、許可、作成時間、エラーコード等のうちの１つ又は複数など、関連するデータについて記述する様々な情報を含む。その他のメタデータ及び／又は識別子の形式は、当業者にとっては明らかであろう。
【００１８】
この例示されている実施形態では、バックアップ・データ２４５は、データ・オブジェクトのテーブルと、データ・セグメントのセットとを含む。データ・オブジェクトのテーブルはエントリを含み、各エントリは、データ・オブジェクトＩＤと、関連するデータ・セグメント・ポインタのセットとを含む。より具体的には、第１のエントリは、データ・オブジェクトＩＤ４２０と、データ・セグメント・ポインタ４２１〜４２４とを含む。データ・オブジェクトＩＤ４３０、４４０、４５０、４６０を有する追加のエントリが示されている。データ・オブジェクトＩＤ４３０は、データ・セグメント・ポインタ４３１〜４３３と関連付けられ、データ・オブジェクトＩＤ４４０は、データ・セグメント・ポインタ４４１と関連付けられ、データ・オブジェクトＩＤ４５０は、データ・セグメント・ポインタ４５１〜４５４と関連付けられ、データ・オブジェクトＩＤ４６０は、データ・セグメント・ポインタ４６１〜４６２と関連付けられる。一実施形態では、データ・オブジェクトＩＤはそれぞれ、フィンガープリントなどの曖昧でない識別子とすることができる。他の実施形態では、データ・セグメント・ポインタがそれぞれ、フィンガープリントなどの曖昧でない識別子であってもよい。バックアップ・データ２４５は、データ・セグメントとそれに関連するデータ・セグメントＩＤを含む。例えば、データ・セグメントＩＤ４７０Ａはデータ・セグメント４７０Ｂと関連付けられ、４７１Ａは４７１Ｂと関連付けられる。一実施形態では、各データ・セグメントＩＤは、フィンガープリントなどの曖昧でない識別子とすることができる。他の実施形態では、バックアップ・データ２４５は、単一インスタンス・データ・オブジェクトと、単一インスタンス・データ・セグメントとを含んでもよい。すなわち、データ・オブジェクトとデータ・セグメントは両方とも非重複化される。
【００１９】
カタログ２６５のデータ・オブジェクト・ポインタとバックアップ・データ２４５のデータ・オブジェクトＩＤ、データ・セグメント・ポインタ、データ・セグメントＩＤの間の関係は、各ファイルとそのデータ・セグメントを識別、読み取り、書き込み、バージョン管理できるようにすることができる。より具体的には、図４に接続矢印で示されているように、データ・オブジェクト・ポインタ４１１Ｃがデータ・オブジェクトＩＤ４２０を指し、４１２Ｃと４１６Ｃがデータ・オブジェクトＩＤ４４０を指し、４１３Ｃと４１５Ｃがデータ・オブジェクトＩＤ４５０を指し、４１４Ｃがデータ・オブジェクトＩＤ４３０を指し、４１７Ｃがデータ・オブジェクトＩＤ４６０を指している。さらに、データ・セグメント・ポインタ４２１がデータ・セグメントＩＤ４７０Ａを指し、データ・セグメント・ポインタ４２２がデータ・セグメントＩＤ４７１Ａを指し、データ・セグメント・ポインタ４２３と４３３がデータ・セグメントＩＤ４７２Ａを指している。バックアップ・エージェント用にデータを保管するカタログ及びバックアップ・データの一実施形態の構造と編成について説明したが、次に、バックアップ・データ・ファイルの読み取り、書き込み、バージョン管理に注目する。
【００２０】
図５には、バックアップ・データ及びメタデータを表示するためにバックアップ・エージェント２１５で使用できるユーザ・インターフェース５００の一実施形態が示されている。インターフェース５００は、ドロップダウン・メニュー、ナビゲーション・バー、アドレス・フィールドなどの機能を含む。このインターフェース５００内部に、フォルダ・ペイン５０１と詳細ペイン５０３の２つのペインが示されている。フォルダ・ペイン内部では、フォルダとそれらに関連するサブフォルダの階層を確認し、その階層の間を移動することができる。例示の階層は、フォルダ５１０、５２０、５３０、５４０、５５０を含む。各フォルダは、１つ又は複数のサブフォルダを含むことができる。例えば、フォルダ５１０はサブフォルダ５１１〜５１４を含み、フォルダ５５０はサブフォルダ５５１〜５５５を含む。図５で例示されているように、強調表示された背景によって示されているサブフォルダ５５１が選択されている。
【００２１】
詳細ペイン５０３では、フォルダ・ペイン５０１で選択された階層の部分の詳細を並べて列挙している。各行は、特定のデータ・エンティティの名前、サイズ、タイプ、作成日のフィールドを含む。例えば、サブフォルダ５５１は、タイプ「ファイル・フォルダ」及び作成日「２００２−０６−１９  １０:１８ＡＭ」と共に列挙されている。サブフォルダ５５１はサブフォルダ５６０を含み、サブフォルダ５６０はファイル５６１〜５６４を含む。強調表示された背景によって示されているファイル５６４が選択されている。図５に示されている命名規則（例えば、「サブフォルダ５５１」、「ファイル５６４」）は、話を簡単にするために与えられていることに留意されたい。典型的な実施形態では、通常のビジネス又はその他の環境（例えば、明細勘定報告、給料支払名簿）で使用される命名規則を反映した名前を使用することができる。
【００２２】
所望のデータ・エンティティがフォルダ・ペイン５０１で選択されると、バックアップ・エージェント２１５は、カタログ２６５にクエリを送って、そのデータ・エンティティの一部分である、各フォルダの名前や属性と、そこに含まれるファイルとを取り出すことができる。ドラックアンドドロップや、右クリックしてアクションのリストを開くなど、従来のファイル操作技術を、インターフェース５００内部のデータ・エンティティに使用することができる。読み取り動作は、データ・エンティティを選択すると行うことができる。書き込み動作は、右クリックメニューや、ドラックアンドドロップアクション、プルダウンメニューからなどによって、選択したデータ・エンティティに対して行うことができる。新しく作成したフォルダのバックアップ中など、書き込み動作により新しいデータ・エンティティが作成されたときは、バックアップ・エージェント２１５は、１つのエントリをカタログ２６５に追加し、対応するデータをバックアップ・データ２４５に追加することができる。しかし、既存のフォルダ内部のファイル又は既存のファイルの改訂版のバックアップ中など、書き込み動作によりカタログ２６５にすでに存在しているデータ・エンティティが変更されたときは、この後に図６について説明する異なったプロセスをたどることができる。
【００２３】
図６には、バックアップ・データ２４５に格納されているデータ・エンティティに対応するデータとメタデータへの書き込み動作中に行われる変更の一実施形態が示されている。この例示されている実施形態では、カタログ２６５内部のエントリ４１５が、変更されるデータ・エンティティに対応する。エントリ４１５は、図４に記載されているエントリ４１５に全般的に対応することができる。書き込み動作を開始する前に、図６の「変更前」が付いた部分で示されているように、エントリ４１５は、バックアップ・データ２４５のデータ・オブジェクト４５０を指しているデータ・オブジェクト・ポインタ４１５Ｃを含む。データ・オブジェクト４５０はデータ・セグメント・ポインタ４５１〜４５４に関連付けられ、データ・セグメント・ポインタ４５１〜４５４はデータ・セグメント４７６〜４７９のデータ・セグメントＩＤを指している。書き込み動作が始まると、図６の「（）を開く時」が付いた部分に示されているように、新しいカタログ・エントリを作成することができる。この新しいエントリのファイル名及び属性は、同じ４１５Ａ、４１５Ｂのままであってよい。ただし、この新しいエントリは、バックアップ・データ２４５に作成される新しいデータ・オブジェクト６５０を指している、新しいデータ・オブジェクト・ポインタ６１５Ｃを用いて作成することができる。一実施形態では、新しいデータ・オブジェクト６５０は、データ・オブジェクト４５０の改訂バージョンを表すことができる。この新しいデータ・オブジェクト６５０は最初に、データ・オブジェクトＩＤ４５０と関連付けられている同じデータ・セグメント・ポインタ４５１〜４５４を受け入れることができる。新しいデータ・オブジェクトを作成した上に、そのポインタが指しているデータ・エンティティを編集用に開くために再格納することができる。書き込み動作中、そのデータ・エンティティが編集されると、上記新しいデータ・オブジェクトにデータ・セグメント・ポインタを追加かつ／又は削除することができる。データ・エンティティの部分がどこか削除されると、１つ又は複数の対応するデータ・セグメント・ポインタが削除される可能性がある。データ・エンティティの部分がどこか追加されると、１つ又は複数の対応するデータ・セグメント・ポインタが追加される可能性がある。変更される既存のデータ・セグメントは、対応するデータ・セグメント・ポインタが、この修正を反映する新しいデータ・セグメントに対するポインタと置き換えられる。
【００２４】
例えば、図６の「変更後」が付いた部分に示されているように、データ・セグメント・ポインタ４５２〜４５４が削除され、データ・セグメント・ポインタ６５２〜６５５が追加される。データ・セグメント・ポインタ６５２〜６５５は、ＩＤがそれぞれ６７７Ａ〜６８０Ａであるデータ・セグメントを指している。バックアップ・エージェント２１５もまた、バックアップ・データ２４５にデータ・セグメント６７７Ｂ〜６８０Ｂを送る。データ・セグメント４７７Ｂ〜４７９Ｂは、データ・オブジェクトＩＤ４５０に関連付けられた少なくともデータ・セグメント・ポインタ４５２〜４５４によってまだ指し示されているので、バックアップ・データ２４５から削除されていないことに留意されたい。これらのデータ・セグメントをバックアップ・データに保持しておくことによって、上記データ・エンティティの前のバージョンを保存したり、読み取ったり、さらに改訂したりすることができる。バックアップ・データ２４５が単一インスタンスのバックアップ・データでなければ、ポインタ４５１などのデータ・セグメント・ポインタを、新しいデータ・セグメント・ポインタ、及びバックアップ・データ２４５に格納されている、対応するデータ・セグメントのコピーに置き換える。さらに、書き込み動作が完了すると、再格納されたデータ・エンティティをバックアップ・データ２４５に送ることができ、属性４１５Ｂを、新しい属性６１５Ｂのセットと置き換えることができる。例えば、新しい属性６１５Ｂは、新しいタイムスタンプを含む。
【００２５】
図７には、バックアップ・データ内部でファイルを変更するためのプロセス７００の一実施形態が示されている。プロセス７００は、ブラウザによってなど、所望のファイルを特定することから開始する（ブロック７１０）。所望のファイルが特定されると、それを開く（ブロック７２０）、又はそれにアクセスできるようにする。例えば、ファイルのコピーがバックアップ・データから再格納される。ファイルが開くと、対応するデータ・オブジェクトの新しいバージョンを、特定されたファイルのデータ・セグメントが格納されているバックアップ・データのデータ・オブジェクト・テーブルに作成し（ブロック７３０）、関連するメタデータ・エントリをカタログに追加する（ブロック７３５）。このファイルのデータ・オブジェクトに関連付けられているデータ・セグメント・ポインタを、バックアップ・データのデータ・オブジェクト・テーブルにある新しいデータ・オブジェクトに追加する（７３７）。これで、このファイルを変更することができる（ブロック７４０）。ファイルを変更した結果生じる任意の新しいデータ・セグメントを、バックアップ・データに格納する（ブロック７５０）。新しいデータ・セグメントに対応するデータ・セグメント・ポインタを、上記新しいデータ・オブジェクトに追加し、ファイルの削除された部分に対応するデータ・セグメント・ポインタを、その新しいデータ・オブジェクトから削除する（ブロック７６０）。ファイルは開いたまま、変更が完了するまでブロック７４０、７５０、７６０が繰り返される（決定ブロック７７０）。例えば、編集セッション中ファイルは開いたままにすることができる。変更が完了したら、ファイルは閉じてもよい（ブロック７８０）。ファイルが閉じると、カタログで、上記新しいデータ・オブジェクトに関連付けられたメタデータを更新して（ブロック７９０）、プロセス７００を完了することができる（ブロック７９５）。
【００２６】
図８には、複数のバージョンのファイルに対応する、カタログのメタデータの一実施形態が示されている。この例示されている実施形態では、カタログ２６５が、ファイル名が８１０Ａであるファイルの複数のブランチとバージョンに対応するエントリを含む。最初に、図８の左上部分に示されているように、ファイル名８１０Ａは、属性８１０Ｂとデータ・オブジェクト・ポインタ８１０Ｃに関連付けられている。これに対応するファイルが変更されるたびに、そのメタデータを変更する。例えば、図８の左側の列で、ファイル名８１０Ａは逐次、属性８２０Ｂ及びデータ・オブジェクト・ポインタ８２０Ｃと、属性８３０Ｂ及びデータ・オブジェクト・ポインタ８３０Ｃと、属性８４０Ｂ及びデータ・オブジェクト・ポインタ８４０Ｃと、属性８５０Ｂ及びデータ・オブジェクト・ポインタ８５０Ｃと、属性８６０Ｂ及びデータ・オブジェクト・ポインタ８６０Ｃとに関連付けられる。図８の左側の列は、このファイルの第１のブランチに対応する。このファイルの第２のブランチは中央の列に示され、このファイルの第３のブランチは図８の右側の列に示される。第２のブランチは、接続矢印で示されているように、メタデータにデータ・オブジェクト・ポインタ８３０Ｃが含まれているファイルのバージョンから作成することができる。第２のブランチでは、図示されているように、ファイル名８１０を逐次、属性８３１Ｂ及びデータ・オブジェクト・ポインタ８３１Ｃと、属性８３２Ｂ及びデータ・オブジェクト・ポインタ８３２Ｃと、属性８３３Ｂ及びデータ・オブジェクト・ポインタ８３３Ｃと、属性８３４Ｂ及びデータ・オブジェクト・ポインタ８３４Ｃと、属性８３５Ｂ及びデータ・オブジェクト・ポインタ８３５Ｃと、属性８３６Ｂ及びデータ・オブジェクト・ポインタ８３６Ｃとに関連付けることによって、上記ファイルをさらに修正することができる。同様に、第３のブランチを、接続矢印で示されているように、メタデータにデータ・オブジェクト・ポインタ８３４Ｃが含まれているファイルのバージョンから作成することができる。第３のブランチでは、図示されているように、ファイル名８１０を逐次、属性８３４１Ｂ及びデータ・オブジェクト・ポインタ８３４１Ｃと、属性８３４２Ｂ及びデータ・オブジェクト・ポインタ８３４２Ｃと、属性８３４３Ｂ及びデータ・オブジェクト・ポインタ８３４３Ｃとなど、関連付けることによって、上記ファイルをさらに修正することができる。当業者には明らかなように、同様のバージョン管理及びブランチ管理を、ファイルに関連付けられたデータ・オブジェクトの任意のものに対して行うことができる。
【００２７】
上述の実施形態は、ソフトウェアを含むことができることに留意されたい。かかる実施形態では、上記方法及び／又は機構を実装したプログラム命令を、コンピュータ読み取り可能媒体に送る、又は格納することができる。プログラム命令を格納するように構成された数多くのタイプの記憶媒体が利用可能であり、それには、ハード・ディスク、フロッピー・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュ・メモリ、プログラム可能なＲＯＭ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、その他の様々な形式の揮発性又は不揮発性のストレージが含まれる。
【００２８】
上記の実施形態についてかなり詳細に説明したが、上記の開示を完全に理解すれば、数多くの変形形態及び変更形態が当業者には明らかになるであろう。特許請求の範囲が、かかる変形形態及び変更形態をすべて包含すると解釈されることが意図されている。
【図面の簡単な説明】
【００２９】
【図１】コンピュータ・システムの一実施形態の図である。
【図２】コンピュータ・システム内部で動作させることができる、バックアップ・システムの一実施形態の全体的なブロック図である。
【図３】バックアップ・システムの一部分になり得るシステムの一実施形態のより詳細なブロック図である。
【図４】ストレージ・プール内にあるカタログ及びそれに関連するデータの一実施形態の図である。
【図５】バックアップ・データ及びメタデータを表示するために、バックアップ・エージェントで使用できるユーザ・インターフェースの一実施形態の図である。
【図６】書き込み動作中に行われる、データと、バックアップ・ストレージ・プール内に格納されているデータ・エンティティに対応するメタデータとに対する変更の一実施形態の図である。
【図７】バックアップ・ストレージ・プールでファイルを変更するためのプロセスの一実施形態の図である。
【図８】１つのファイルの複数のバージョンに対応するカタログ・メタデータの一実施形態の図である。
【符号の説明】
【００３０】
１００  コンピュータ・システム
１１０Ａ〜１１０Ｄ  ホスト
１２０Ａ〜１２０Ｄ  モバイル・ホスト
１３０  ローカル・エリア・ネットワーク（ＬＡＮ）
１４０  広域ネットワークＷＡＮ／インターネット
１５０  モデム・バンク
１６０  公衆交換電話網（ＰＳＴＮ）
２００  バックアップ・システム
２１０、２２０，２３０，２４０，２７０  ホスト
２１５、２２５，２３５  バックアップ・エージェント
２４５、２７５  バックアップ・データ
２５０  メディア・サーバ
２６０  メタベース・サーバ
２６５  カタログ
２８０  ネットワーク
【図１】
2008257725.tif 000003
【図２】
2008257725.tif 000004
【図３】
2008257725.tif 000005
【図４】
2008257725.tif 000006
【図５】
2008257725.tif 000007
【図６】
2008257725.tif 000008
【図７】
2008257725.tif 000009
【図８】
2008257725.tif 000010