(57)【特許請求の範囲】
【請求項１】
ネットワーク上のクライアント・ノードおよびバックアップ・ストレージと通信するためのプログラムであって、コンピュータに、
前記クライアント・ノードのためのファイル・システムからファイルに関する情報の問い合わせを受信するステップと、
バックアップ・セットの外部に格納された前記クライアント・ノードのための前記バックアップ・ストレージ中のファイルについてのメタデータを決定するステップと、
少なくとも１つのバックアップ・セット中に含まれるファイルについてのメタデータを決定するために、前記クライアント・ノードのための前記バックアップ・ストレージ中の少なくとも１つのバックアップ・セットを処理するステップと、
併合メタデータを形成するために、前記バックアップ・ストレージ中のファイルについておよび少なくとも１つのバックアップ・セット中に含まれるファイルについての前記決定されたメタデータを併合するステップと、
前記問い合わせを満足させるメタデータを有するファイルを決定するために、前記併合メタデータに対して前記問い合わせを実行するステップと、
前記決定されたファイルに関する前記併合メタデータからの情報を含む結果を返すステップと、
前記併合メタデータを識別するトークンを生成するステップと、
前記クライアント・ノードから前記トークンと共にその後の問い合わせを受信するステップとを実行させ、  
前記トークンは、該トークンにより識別された前記併合メタデータに対して前記その後の問い合わせを実行するために使用される、プログラム。
【請求項２】
バックアップ・セットの外部に格納された前記ファイルについての前記メタデータは、前記バックアップ・データベース中に含まれており、各バックアップ・セット中のファイルについての前記メタデータは、前記バックアップ・セット中に含まれており、前記併合メタデータは、前記データベース中のテーブル中に含まれており、前記問い合わせは、前記データベース中の前記テーブルに対して実行される、請求項１に記載のプログラム。
【請求項３】
前記バックアップ・データベース中の前記ファイルについての前記メタデータおよび前記併合メタデータは、第１のタイプのデータ構造中に格納され、前記バックアップ・セット中の前記ファイルについての前記メタデータは、第２のタイプのデータ構造中にある、請求項２に記載のプログラム。
【請求項４】
さらに前記コンピュータに、前記生成されたトークンを前記クライアント・ノードに返すステップを実行させ、前記クライアント・ノードは、前記トークンを前記クライアント・ノードのためのファイルについてのその後の次の問い合わせと共に提示する、請求項１に記載のプログラム。
【請求項５】
さらに前記コンピュータに、
前記クライアント・ノードから受信された前記トークンが満了したかどうかを決定するステップと、
前記受信されたトークンが満了しているという決定に応答して、前記クライアント・ノードのための前記バックアップ・ストレージ中のファイルについてのメタデータを決定し、前記少なくとも１つのバックアップ・セット中に含まれるファイルについてのメタデータを決定し、前記バックアップ・ストレージ中のファイルについておよび少なくとも１つのバックアップ・セット中に含まれるファイルについての前記決定されたメタデータを併合して併合メタデータを形成する前記操作の付加的なインスタンスを実行するステップとを実行させる、請求項１に記載のプログラム。
【請求項６】
さらに前記コンピュータに、
前記受信されたトークンが満了したという決定に応答して形成された前記併合メタデータについての新しいトークンを生成するステップと、
前記クライアント・ノードのためのファイルについてのその後の問い合わせに使用するために前記新しいトークンを前記クライアント・ノードに返すステップとを実行させる、請求項５に記載のプログラム。
【請求項７】
さらに前記コンピュータに、
前記返された結果中に示される選択されたファイルを復元させる要求を前記クライアント・ノードから受信するステップと、
前記併合メタデータから、前記バックアップ・ストレージ中または前記バックアップ・ストレージ中のバックアップ・セット内の前記選択されたファイルのロケーションを決定するステップと、
前記決定されたロケーションから、前記選択されたファイルにアクセスするステップと、
前記アクセスされたファイルを前記クライアント・ノードに返すステップとを実行させる、請求項１に記載のプログラム。
【請求項８】
前記問い合わせを受信するステップ、前記メタデータを決定するステップ、前記少なくとも１つのバックアップ・セットを処理するステップ、および前記決定されたメタデータを併合するステップは、複数のクライアント・ノードについて実行され、
さらに前記コンピュータに、クライアント・ノードについての併合メタデータの複数のインスタンスを維持するステップを実行させる、請求項１に記載のプログラム。
【請求項９】
さらに前記コンピュータに、
前記クライアント・ノードのためのファイルについてのメタデータを有する既存の併合メタデータがあるかどうかを決定するステップと、
前記既存の併合メタデータがあるという決定に応答して、前記決定されたファイルに関する前記決定された既存併合メタデータからの情報を含む結果を返すステップとを実行させ、
前記メタデータを決定ステップ、前記少なくとも１つのバックアップ・セットを処理するステップ、前記決定されたメタデータを併合するステップ、および前記問い合わせを実行するステップは、前記クライアント・ノードのためのファイルについての既存の併合メタデータが皆無であるという決定に応答して実行される、請求項８に記載のプログラム。
【請求項１０】
ネットワーク上のクライアント・ノードと通信しているシステムであって、
プロセッサと、
ファイルおよびバックアップ・セットを含むバックアップ・ストレージと、
操作を実行するために前記プロセッサにより実行されるコードを含むコンピュータ可読媒体とを含み、前記操作は、
前記クライアント・ノードのためのファイル・システムからファイルに関する情報の問い合わせを受信するステップと、
バックアップ・セットの外部に格納された前記クライアント・ノードのための前記バックアップ・ストレージ中のファイルについてのメタデータを決定するステップと、
少なくとも１つのバックアップ・セット中に含まれるファイルについてのメタデータを決定するために、前記クライアント・ノードのための前記バックアップ・ストレージ中の少なくとも１つのバックアップ・セットを処理するステップと、
併合メタデータを形成するために、前記バックアップ・ストレージ中のファイルについておよび少なくとも１つのバックアップ・セット中に含まれるファイルについての前記決定されたメタデータを併合するステップと、
前記問い合わせを満足させるメタデータを有するファイルを決定するために、前記併合メタデータに対して前記問い合わせを実行するステップと、
前記決定されたファイルに関する前記併合メタデータからの情報を含む結果を返すステップと、
前記併合メタデータを識別するトークンを生成するステップと、
前記クライアント・ノードから前記トークンと共にその後の問い合わせを受信するステップと、
を含み、前記トークンは、該トークンにより識別された前記併合メタデータに対して前記その後の問い合わせを実行するために使用される、システム。
【請求項１１】
バックアップ・データベースをさらに含み、バックアップ・セットの外部に格納された前記ファイルについての前記メタデータは、前記バックアップ・データベース中に含まれており、各バックアップ・セット中のファイルについての前記メタデータは、前記バックアップ・セット中に含まれており、前記併合データは、前記データベース中のテーブル中に含まれており、前記問い合わせは、前記データベース中の前記テーブルに対して実行される、請求項１０に記載のシステム。
【請求項１２】
前記バックアップ・データベース中のファイルについてのメタデータおよび前記併合メタデータは、第１のタイプのデータ構造中に格納され、前記バックアップ・セット中のファイルについてのメタデータは、第２のタイプのデータ構造中にある、請求項１１に記載のシステム。
【請求項１３】
前記操作はさらに、
前記返された結果中に示される選択されたファイルを復元させる要求を前記クライアント・ノードから受信するステップと、
前記併合メタデータから、前記バックアップ・ストレージ中または前記バックアップ・ストレージ中のバックアップ・セット内の選択されたファイルのロケーションを決定するステップと、
前記決定されたロケーションから、前記選択されたファイルにアクセスするステップと、
前記アクセスされた選択されたファイルを前記クライアント・ノードに返すステップとを含む、請求項１０に記載のシステム。
【請求項１４】
クライアント・ノードのためのファイル・システムからファイルに関する情報の問い合わせを受信するステップと、
バックアップ・セットの外部に格納された前記クライアント・ノードのためのバックアップ・ストレージ中のファイルについてのメタデータを決定するステップと、
少なくとも１つのバックアップ・セット中に含まれるファイルについてのメタデータを決定するために、前記クライアント・ノードのための前記バックアップ・ストレージ中の少なくとも１つのバックアップ・セットを処理するステップと、
併合メタデータを形成するために、前記バックアップ・ストレージ中のファイルについておよび少なくとも１つのバックアップ・セット中に含まれるファイルについての前記決定されたメタデータを併合するステップと、
前記問い合わせを満足させるメタデータを有するファイルを決定するために、前記併合メタデータに対して前記問い合わせを実行するステップと、
前記決定されたファイルに関する前記併合メタデータからの情報を含む結果を返すステップと、
前記併合メタデータを識別するトークンを生成するステップと、
前記クライアント・ノードから前記トークンと共にその後の問い合わせを受信するステップと、
を含み、前記トークンは、該トークンにより識別された前記併合メタデータに対して前記その後の問い合わせを実行するために使用される、方法。
【請求項１５】
バックアップ・セットの外部に格納された前記ファイルについての前記メタデータは、前記バックアップ・データベース中に含まれており、各バックアップ・セット中のファイルについての前記メタデータは、前記バックアップ・セット中に含まれており、前記併合データは、前記データベース中のテーブル中に含まれており、前記問い合わせは、前記データベース中の前記テーブルに対して実行される、請求項１４に記載の方法。
【請求項１６】
前記バックアップ・データベース中の前記ファイルについての前記メタデータおよび前記併合メタデータは、第１のタイプのデータ構造中に格納され、前記バックアップ・セット中の前記ファイルについての前記メタデータは、第２のタイプのデータ構造中にある、請求項１５に記載の方法。
【請求項１７】
前記返された結果中に示される選択されたファイルを復元させる要求を前記クライアント・ノードから受信するステップと、
前記併合メタデータから、前記バックアップ・ストレージ中または前記バックアップ・ストレージ中のバックアップ・セット内の選択されたファイルのロケーションを決定するステップと、
前記決定されたロケーションから、前記選択されたファイルにアクセスするステップと、
前記アクセスされた選択されたファイルを前記クライアント・ノードに返すステップとを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップ・ストレージ中のファイルに関するメタデータを併合（マージ）するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク・バックアップ環境において、クライアント・システムは、ネットワーク越しにデータをリモート・ストレージにバックアップし、バックアップをバックアップ・サーバと連係させることができる。例えば、インター・ナショナル・ビジネス・マシーンズ（「ＩＢＭ」（Ｒ））Ｔｉｖｏｌｉ（Ｒ）ストレージ・マネージャ製品は、クライアント・データをバックアップするクライアントおよびサーバ・システムのためのソフトウェアを提供する。（ＩＢＭおよびＴｉｖｏｌｉは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である）。クライアントは、そのファイル・システムからバックアップ・サーバにファイルを転送する。バックアップ・サーバは、バックアップ・ストレージ中に格納されたバックアップ・サーバに送られたファイルに関する情報を有するバックアップ・データベースを維持する。バックアップ・サーバは、複数のファイルを１つのバックアップ・セットに集約し、そのバックアップ・セットに関する情報をバックアップ・データベースに追加することができる。
【０００３】
バックアップ・セットは、テープ・ボリュームまたは順次ボリュームのような順次媒体に格納することができる。バックアップ・セットは、クライアント・ファイルのポイント・イン・タイム（ｐｏｉｎｔ−ｉｎ−ｔｉｍｅ）またはスナップショット・バックアップを含み得る。バックアップ・サーバは、クライアントについてのアーカイブされたファイルをバックアップ・セット・オブジェクトにアクティブ・バックアップ・ファイルを用いてコピーすることにより、バックアップ・セットを形成する。バックアップ・セットは、１つのオブジェクトとして管理することができ、ファイル構造はバックアップ・セット内に残る。バックアップ・セット中に含まれるファイルは、それらの同じファイルを含むバックアップ・セットが満了する前に、バックアップ・ストレージにおいて満了し得る。
【０００４】
バックアップ・サーバにおけるファイルからデータを復元するために、クライアント・ノードの管理者は、クライアント・ファイルに関する情報をバックアップ・サーバに問い合わせることができる。バックアップ・セットからファイルを復元するために、クライアント・ノードにおける管理者は、バックアップ・セットに別々にアクセスして対象となっているファイルを検索し、次にバックアップ・セットからデータを復元しなければならない。さらに、バックアップ・セットは、クライアント・サイトにおいてバックアップ・セットからの復元操作を実行するために、クライアント・ノードに転送することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
バックアップ・ストレージ中のファイルに関するメタデータを併合するための方法、システム、およびプログラムを提供する。
【課題を解決するための手段】
【０００６】
クライアント・ノードのためのファイル・システムからファイルに関する情報についての問い合わせが受信される。バックアップ・セットの外部に格納されたクライアント・ノードのためのバックアップ・ストレージ中のファイルについてのメタデータが決定される。少なくとも１つのバックアップ・セット中に含まれるファイルについてのメタデータを決定するために、クライアント・ノードのためのバックアップ・ストレージ中の少なくとも１つのバックアップ・セットが処理される。併合メタデータを形成するために、バックアップ・ストレージ中のファイルおよび少なくとも１つのバックアップ・セット中に含まれるファイルについての決定されたメタデータが併合される。そのメタデータが問い合わせを満足させるファイルを決定するために、併合メタデータに対して問い合わせが実行される。決定されたファイルに関する併合メタデータからの情報を含む結果が返される。
【発明を実施するための最良の形態】
【０００７】
図１は、ネットワーク計算環境の一実施形態を例示する。クライアント・ノード２は、バックアップ操作およびアーカイバル操作を、サーバ８のコンピュータ・システムにおいて実行されるバックアップ・サーバ・プログラム６と連係させるバックアップ・クライアント４のプログラムを含むコンピュータ・システムを含む。バックアップ・クライアント４は、クライアント・ストレージ１４に格納されているクライアント・ファイル・システム１２中のクライアント・ファイル１０をネットワーク１６越しにバックアップ・サーバ６に転送することができる。バックアップ・サーバ６は、クライアント・ファイル１８およびクライアント・ファイルを含むバックアップ・セット２０を、バックアップ・ストレージ２２中にアーカイブする。バックアップ・サーバ６は、バックアップ・データベース２４中に、任意のバックアップ・セットからバックアップ・ストレージ・セット２２に別個に格納されるバックアップ・ストレージ２２中のクライアント・ファイル１８に関する情報を有するメタデータ２６、バックアップ・ストレージ２２中のバックアップ・セットに関する情報を有するバックアップ・セット・メタデータ２８、および併合メタデータ３０を格納する。ネットワーク１６中の各クライアント・ノード２についての併合メタデータ３０の１つのインスタンスまたはテーブルがあり得る。各クライアント・ノードについてそれぞれ維持される各ファイルおよびバックアップ・セットについてのファイル・メタデータ２６およびバックアップ・セット・メタデータ２８の１つのインスタンスがある。
【０００８】
バックアップ・サーバ６と通信するクライアント・ノード２は、サーバ、デスクトップ・コンピュータ、ワークステーション、メインフレーム、手持ち型計算デバイス、電話デバイス等の、技術的に知られている適切な計算デバイスを含み得る。クライアント・ストレージ１４を有するクライアント・ノード２の複数のインスタンスがあり得る。クライアント・ストレージ１４は、１つ以上のハード・ディスク・ドライブのような、クライアント２により使用される一次ストレージ・デバイスを含み得る。リモート・バックアップ・ストレージ２２は、複数のストレージ・デバイス、例えば、相互接続されたハード・ディスク・ドライブ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ（ＲＡＩＤ）、Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋ（ＪＢＯＤ）、Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ（ＤＡＳＤ）、ループ形態で接続されたディスク（シリアル・ループ、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）、テープ・ライブラリ、光ライブラリ、ネットワーク付属ストレージ（ＮＡＳ）等を含むストレージ・システムのような、技術的に知られているストレージ・デバイスを含み得る。ネットワーク１６は、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、無線ネットワーク、インターネット、イントラネット、ピア・ツー・ピア・ネットワーク等を含み得る。バックアップ・データベース２４は、リレーショナル・データベースまたは技術的に知られている他の適切なデータベースを含み得る。
【０００９】
バックアップ・クライアント４およびバックアップ・サーバ６は、ＩＢＭ  ＴＳＭバックアップ・マネージャまたは種々のコンピュータ・ベンダにより提供されるクライアント−サーバ・バックアップ・マネージャのような、クライアント−サーバ・バックアップ・プログラムと共に含まれるブログラムを含み得る。
【００１０】
図２は、１つのバックアップ・セット２０のインスタンスの一実施形態を例示しており、このバックアップ・セット２０は、そのファイルがバックアップ・セット２０に含まれるクライアント・ノードを識別するクライアント・ノード情報４２、バックアップ・セット識別子（ＩＤ）４４、バックアップ・セットが生成された日時のタイムスタンプ４６（またはバックアップ・セット中のファイルの最新のタイムスタンプ）、バックアップ・セット２０に含まれるファイル４９に関する情報を有するファイル・メタデータ４８を含む。ファイル・メタデータ４８は、ファイル名、クライアント・ファイル・システム１２中のロケーション、タイムスタンプ等の、バックアップ・セット２０中の各ファイル４９に関する情報を含む、テキスト・ファイル、構造化ファイル（例えば、拡張マークアップ言語（ＸＭＬ）ファイル等）を含み得る。このように、バックアップ・セット２０中のファイル・メタデータ４８は、ファイル・メタデータ２６がバックアップ・データベース２４中の１つ以上のテーブル中のエントリとして維持され得る、バックアップ・セット中に含まれないファイルについてのファイル・メタデータ２６と異なるタイプのデータ構造、例えば、テキスト・ファイル、構造ファイル中に維持できる。別の実施形態において、ファイル・メタデータ２６および２８は、同じタイプのデータ構造中に維持できる。併合メタデータ３０は、同タイプのデータ構造、例えば、ファイル・メタデータ２６を含むデータベース・テーブル中に含まれてもよい。
【００１１】
図３は、バックアップ・セット２０に関する情報を有する各バックアップ・セット２０についてのバックアップ・データベース２４中に維持されるバックアップ・セット・メタデータ２８のインスタンスの一実施形態を例示するものであり、以下のものを含む：そのファイルがバックアップ・セット２０に含まれるクライアント・ノードを識別するクライアント・ノード情報５２、バックアップ・セット識別子（ＩＤ）５４、バックアップ・ストレージ２２中のバックアップ・セットのロケーション５６、およびバックアップ・セットが生成された日時のタイムスタンプ５８（またはバックアップ・セット中のファイルの最新のタイムスタンプ）。
【００１２】
図４は、バックアップ・セット外部に格納されるクライアント・ファイル１８に関する情報を有するバックアップ・データベース中に維持されるファイル・メタデータ２６のインスタンスの一実施形態を例示する。このように、クライアント・ファイル１８は、バックアップ・ストレージ２２中でどのようなバックアップ・セットの外部にも格納でき、また、バックアップ・セット内に同時に格納され得る。さらに、バックアップ・ストレージ２２中で別個に格納されたファイルは、満了したファイルを含むバックアップ・セットが満了する前に満了され得る。ファイル・メタデータ２６のインスタンスは、ファイルが生じたクライアント・ノードを識別するクライアント・ノード情報７２、ファイル名７４、バックアップ・ストレージ２２中のファイル１８のロケーション７６、およびファイルについてのタイムスタンプ２８を含み得る。
【００１３】
図５は、クライアント・ノード２についての併合メタデータ３０中の１つのファイルについての併合メタデータ８０のインスタンスの一実施形態を例示するものであり、併合メタデータ８０は、以下に説明されるように、クライアント・ノードについてのファイル・メタデータ２６およびクライアント・ノード２についてのバックアップ・セット２０中のファイル・メタデータ４８から形成される。併合メタデータ・エントリ８０は、バックアップ・データベース２４中のテーブルを含んでもよく、以下のものを含む：ファイルが生じたクライアント・ノードを識別するクライアント・ノード情報８２、ファイル名８４、バックアップ・ストレージ２２中のファイル１８のロケーション８６（このロケーションは、そのファイルが含まれているバックアップ・ストレージ２２またはバックアップ・セット２０中のパスを特定することができる）、およびファイルについてのタイムスタンプ２８。
【００１４】
図６は、バックアップ・クライアント４からのファイルについての問い合わせを取り扱うためにバックアップ・サーバ６により実行される操作の一実施形態を例示するもので、この問い合わせは、クライアントが復元ＡＰＩ３２を用いる場合に起動され得る。クライアント・ノード２のためのファイル・システム１２からのアーカイブされたファイルに関する情報についての問い合わせの受信（ブロック１００）に応答して、バックアップ・サーバ６は、その問い合わせ、例えば、復元ＡＰＩ３２が、併合メタデータ３０についてのトークンを含んでいるかどうかを決定する（ブロック１０２）。もしそうでなければ、バックアップ・サーバ６は、併合メタデータのマッチング・セットがすでに存在しているかまたはクライアント・ノードのためのファイルに関してマッチング・セットがすでに作成されているかを決定する（ブロック１０４）。もしそうでなければ、バックアップ・サーバ６は、クライアント・ノード２のためのバックアップ・ストレージ２２中のアーカイブされたファイル１８についてのメタデータ・インスタンス２６を決定する（ブロック１０６）。バックアップ・サーバ６はさらに、クライアント・ノード２のためのバックアップ・セット２０についてのファイル・メタデータ４８中のファイルについてのメタデータを決定するために、クライアント・ノード２のためのバックアップ・ストレージ２２中のどのようなバックアップ・セット２０も処理する（ブロック１０８）。バックアップ・サーバ６は、そのクライアント・ノード情報５２が、問い合わせを提出しているクライアント・ノード２と一致するバックアップ・メタデータ２８（図３）からクライアント・ノード２のためのバックアップ・セット２０を決定するために、バックアップ・データベース２４を処理することができる。
【００１５】
（バックアップ・セット中またはバックアップ・ストレージ中あるいはその両方に）いずれかのファイルの複数のバージョンがあれば（ブロック１１０）、生成されている併合メタデータ８０に含めるために複数のバージョンを有するファイルの最新のバージョンについてのメタデータ、すなわち、バックアップ・ストレージ２２またはバックアップ・セット２０に最後に加えられたファイルが選択される。ファイルの複数のバージョンが全くなければ（ブロック１１０）、または複数のバージョンを有するファイルの最新バージョンの選択後（ブロック１１２）、バックアップ・サーバ６は、バックアップ・ストレージ中の、すなわちどのバックアップ・セット中にも含まれていない個々のファイルについての、および１つ以上のバックアップ・セット２０に含まれているファイルについての決定されたメタデータを、問い合わせについての１つの併合メタデータ・インスタンス８０に併合する（ブロック１１４）。バックアップ・セット・ファイル・メタデータ４８が、ファイル・メタデータの形式、例えば、データベース・テーブル、と異なる形式、例えば、テキストまたは構造ファイルである実施形態においては、バックアップ・サーバ６は、ファイル・メタデータ４８を走査してクライアント・ノードのためのバックアップ・セット２０中のファイルに関する情報を決定し、次に処理されたバックアップ・セット２８中の各ファイルについてのデータベース２４中の併合メタデータ３０中に併合メタデータ・インスタンス８０を作成することができる。
【００１６】
バックアップ・サーバ６は、バックアップ・データベース２４中のクライアント・ノード２０についての併合メタデータ３０を識別するトークンを生成する（ブロック１１６）。問い合わせは、そのメタデータ８０が問い合わせを満たすファイルを決定するために、併合メタデータ３０に対して実行される（ブロック１１８）。バックアップ・サーバ６は、問い合わせを満たす決定されたファイルに関する併合メタデータ３０からの情報および併合メタデータ３０についての現在のトークンを含む結果を要求クライアント・ノードへ返す（ブロック１２０）。
【００１７】
もしクライアント・ノード２からの問い合わせが併合メタデータ３０についてのトークンを含んでいれば（ブロック１０２）、バックアップ・サーバ６は、トークンが満了したかどうかを決定する（ブロック１２２）。トークンが作成されて以来またはクライアント・ノード２からの最後の問い合わせが受信されて以来、所定の時間が経過していれば、トークンは満了し得る。トークンが満了していなければ（ブロック１２２）、バックアップ・サーバ６は、クライアント・ノード２についての併合メタデータ３０にアクセスするためにそのトークンを使用し（ブロック１２４）、問い合わせを実行するためにブロック１１２に進む。トークンが満了していれば（ブロック１２２）、コントロールは、既存のマッチング併合メタデータ３０を使用するためまたはクライアント・ノード２のための新しい併合メタデータ３０および新しいトークンを生成するためにブロック１０４以下に進む。
【００１８】
説明された実施形態では、クライアント・ノード２は、第１の問い合わせに応答して返されたトークンを使用してそれ以降の問い合わせをバックアップ・サーバ６に提出する。バックアップ・サーバ６が、最近リフレッシュされた併合メタデータ３０についての新しいトークンを生成および提供すれば、バックアップ・クライアント４は、さらなる問い合わせ用にその新しいトークンを使用する。
【００１９】
図７は、バックアップ・クライアント４により提出されたクライアント・ノード２からの復元要求を処理するためにバックアップ・サーバ６により実行される操作の実施形態を例示しており、復元要求は、クライアント・ノード２のための併合メタデータ３０についてのトークンを提供し得る。クライアントのための併合メタデータ・トークンについてのトークンを含む選択されたファイルを復元する要求を受信すると（ブロック１５０）、バックアップ・サーバ６は、併合メタデータ３０中の選択されたファイルについてのメタデータ８０（図５）から、バックアップ・ストレージ２２中またはバックアップ・ストレージ２２中のバックアップ・セット２０内の選択されたファイルのロケーション８６を決定する（ブロック１５２）。復元する選択されたファイルがバックアップ・セット２０内にあれば（ブロック１５４）、バックアップ・サーバ６は、バックアップ・セット２０内のファイル４９から選択されたファイルにアクセスするためにバックアップ・セット２０を処理する（ブロック１５６）。そうではなくて、もし選択されたファイルがバックアップ・セット内になければ、バックアップ・サーバ６は、示されたロケーション８６（図５）からバックアップ・ストレージ２２から選択されたファイルに直接アクセスする。（ブロック１５８）（ブロック１５６または１５８から）アクセスされたファイルは次に、クライアント・ファイル・システム１２を復元するためにクライアント・ノード２に返される（ブロック１６０）。このプロセスは、復元する１つ以上のファイルの選択に適用し得る。
【００２０】
説明された実施形態は、併合メタデータに対して問い合わせが実行されるように、ストレージ中に個別に設置されるまたはバックアップ・セット内に含まれるファイルについての併合メタデータを維持する技術を提供する。併合メタデータ中に含まれるファイル・メタデータは、異なるタイプのデータ構造、例えば、リレーショナル・データベース、テキスト・ファイル等からアクセスされ、共通併合メタデータ・データ構造、例えば、テーブルに統合され得る。説明された実施形態では、クライアントは、そのメタデータが異なるデータ構造および異なるタイプのデータ構造中に維持されるファイルにアクセスするために単一の問い合わせを提供するだけでよい。
【００２１】
追加的実施形態の詳細
記述された操作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせ生成するための標準的プログラミング技術またはエンジニアリング技術あるいはその両方を用いる方法、装置または製品として実施できる。説明された操作は、「コンピュータ可読媒体」中に維持されるコードとして実施でき、その場合、プロセッサはコンピュータ可読媒体からコードを読み取り、実行できる。コンピュータ可読媒体としては、磁気ストレージ媒体（例えば、ハードディスク・ドライブ、フレキシブル・ディスク、テープ等）、光ストレージ（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスク等）、揮発性および不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、ファームウェア、プログラマブル・ロジック等）などの媒体が含まれる。記述された操作を実施するコードはさらに、ハードウェア・ロジック（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）中で実施できる。さらに、記述された操作を実施するコードは、「伝送信号」中で実施することができ、その場合、伝送信号は、空間または光ファイバ、銅線等の伝送媒体を通って伝播し得る。コードまたはロジックが符号化される伝送信号は、無線信号、衛星伝送、電波、赤外線信号、Ｂｌｕｅｔｏｏｔｈ（Ｒ）等をさらに含み得る。コードまたはロジックが符号化される伝送信号は、送信局により伝送され、受信局により受信されることができ、その場合、伝送信号中の符号化されたコードまたはロジックは、受信局および送信局またはデバイスにおいて解読およびハードウェアまたはコンピュータ可読媒体中に格納されることが可能である。「製品（ａｒｔｉｃｌｅ  ｏｆ  ｍａｎｕｆａｃｔｕｒｅ）」は、コードを実装できるコンピュータ可読媒体、ハードウェア・ロジックまたは伝送信号あるいはそれら全部を含む。記述された操作の実施形態を実施するコードがその中で符号化されるデバイスは、コンピュータ可読媒体またはハードウェア・ロジックを含み得る。当然、当業者には、この構成に対して本発明の範囲を逸することなく多くの変更がなし得ること、および技術的に知られている適切な情報担持媒体を製品が含み得ることがわかる。
【００２２】
図８は、クライアント・ノード２およびサーバ８において実装できるコンピュータ・アーキテクチャ２００の一実施形態を例示する。アーキテクチャ２００は、プロセッサ２０２（例えば、マイクロプロセッサ）、メモリ２０４（例えば、揮発性メモリ・デバイス）、およびストレージ２０６（例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブ等の不揮発性ストレージ）を含むことができる。ストレージ２０６は、内部ストレージ・デバイスあるいは付属ストレージまたはネットワーク・アクセス可能ストレージを含むことができる。オペレーティング・システムおよびアプリケーション・プログラムを含む、ストレージ２０６中のプログラムは、技術的に知られているやり方でメモリ２０４にロードされ、プロセッサ２０２により実行される。アーキテクチャはさらに、ネットワークとの通信を可能にするためのネットワーク・カード２０８を含んでいる。プロセッサ２０２にユーザ入力を提供するために入力デバイス２１０が用いられ、キーボード、マウス、ペンスタイラス、マイクロフォン、タッチ・ディスプレイ・スクリーン、あるいは技術的に知られている他の起動または入力機構を含むことができる。出力デバイス２１２は、プロセッサ２０２、またはディスプレイ・モニタ、プリンタ、ストレージ等の他の構成要素から伝送された情報を描画することができる。
【００２３】
用語「ある実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「実施形態（ｅｍｂｏｄｉｍｅｎｔ）」、「複数の実施形態（ｅｍｂｏｄｉｍｅｎｔｓ）」、「その実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「それらの実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「１つ以上の実施形態（ｏｎｅ  ｏｒ  ｍｏｒｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「いくつかの実施形態（ｓｏｍｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、および「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」は、特に明記してあるもの以外は、「本発明の１つ以上の（ただし、すべてではない）実施形態（ｏｎｅ  ｏｒ  ｍｏｒｅ  （ｂｕｔ  ｎｏｔ  ａｌｌ）ｅｍｂｏｄｉｍｅｎｔｓ  ｏｆ  ｔｈｅ  ｐｒｅｓｅｎｔ  ｉｎｖｅｔｉｏｎ（ｓ））」を意味する。
【００２４】
用語「含む（ｉｎｃｌｕｄｉｎｇ）」、「具備する（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」およびそれらの変型は、特に明記してあるもの以外は、「〜を含むが、それに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」を意味する。
【００２５】
列挙されるアイテムのリストは、特に明記してあるもの以外は、それらのアイテムのいずれかまたはすべてが相互に排他的であることを意味するものではない。
【００２６】
用語「ａ」、「ａｎ」および「ｔｈｅ」は、特に明記してあるもの以外は、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を意味する。
【００２７】
互いに通信しているデバイスは、特に明記してあるもの以外は、互いに連続的に通信している必要はない。加えて、互いに通信しているデバイスは、直接的にまたは１つ以上の仲介手段を介して間接的に通信できる。
【００２８】
いくつかの構成要素が互いに通信している実施形態の説明は、すべてのそのような構成要素が必要とされることを意味するものではない。反対に、本発明の多種多様な考え得る実施形態を例示するために、各種の任意の構成要素が説明されている。
【００２９】
さらに、プロセス・ステップ、方法ステップ、アルゴリズム等が順次説明されることがあるが、そのようなプロセス、方法およびアルゴリズムは、交互に動作するように構成され得る。言い換えれば、説明され得るどのようなステップのシーケンスまたは順序も、それらのステップがその順序で実行されるという要件を必ずしも示しているわけではない。本明細書において説明されたプロセスのステップは、実用的などのような順序でも実行できる。さらに、いくつかのステップは、同時に実行され得る。
【００３０】
単一のデバイスまたは製品が本明細書において説明される場合、単一のデバイス／製品の代わりに２つ以上のデバイス／製品を（それらが協働するか否かにかかわらず）用い得ることが直ちに明らかになる。同様に、２つ以上のデバイスまたは製品が本明細書において説明される場合（それらが協働するか否かにかかわらず）、２つ以上のデバイスまたは製品の代わりに単一のデバイス／製品を用い得ることあるいは示されたデバイスまたはプログラムの数の代わりに、異なる数のデバイス／製品を用い得ることが直ちに明らかになる。あるデバイスの機能または特徴あるいはその両方は、そのような機能／特徴を有すると明示的に記載されていない１つ以上の他のデバイスにより代わりに具体化され得る。従って、本発明の他の実施形態は、デバイス自体を含む必要がない。
【００３１】
図６および図７の例示される操作は、特定の順序で生じる特定のイベントを示している。別の実施形態においては、特定の操作は、異なる順序で実行、修正または排除され得る。さらに、ステップを上述のロジックに加えることができ、それでもなお説明された実施形態に合致する。さらに、本明細書において説明された操作は逐次的に生じことができ、あるいは特定の操作は並行して処理され得る。さらに、操作は、単一の処理ユニットによりまたは分散型処理ユニットにより実行できる。
【００３２】
本発明の様々な実施形態の上記の説明は、例示および説明の目的で提示された。網羅的であることまたは本発明を開示された正確な形態に限定することは意図されていない。上記の教示に照らして多くの変更および変型が可能である。本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ本明細書に添付の特許請求の範囲によって限定されることが意図されている。上記の詳記、実施例およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の精神および範囲を逸脱することなく本発明の多くの実施形態を作成できるのであるから、本発明は、以下に添付の特許請求の範囲の内にある。
【図面の簡単な説明】
【００３３】
【図１】ネットワーク計算環境の一実施形態を例示する。
【図２】バックアップ・セットの一実施形態を例示する。
【図３】バックアップ・セット・メタデータの一実施形態を例示する。
【図４】ファイル・メタデータの一実施形態を例示する。
【図５】ファイルについての併合メタデータの一実施形態を例示する。
【図６】クライアント・ノードについてのバックアップ・ファイルを問い合わせるためにバックアップ・サーバにより実行される操作の一実施形態を例示する。
【図７】復元するために選択されたファイルをクライアント・ノードに返すためにバックアップ・サーバにより実行される操作の一実施形態を例示する。
【図８】コンピュータ・アーキテクチャの一実施形態を例示する。
【符号の説明】
【００３４】
２  クライアント・ノード
４  バックアップ・クライアント
６  バックアップ・サーバ
８  サーバ
１０  クライアント・ファイル
１２  クライアント・ファイル・システム
１４  クライアント・ストレージ
１６  ネットワーク
１８  クライアント・ファイル
２０  クライアント・バックアップ・セット
２２  バックアップ・ストレージ
２４  バックアップ・データベース
２６  ファイル・メタデータ
２８  バックアップ・セット・メタデータ
３０  併合メタデータ
３２  復元ＡＰＩ
【図１】
0005473189.tif 000002
【図２】
0005473189.tif 000003
【図３】
0005473189.tif 000004
【図４】
0005473189.tif 000005
【図５】
0005473189.tif 000006
【図６】
0005473189.tif 000007
【図７】
0005473189.tif 000008
【図８】
0005473189.tif 000009