(57)【要約】【課題】  バックアップ記憶装置内に保管されたバックアップ・データから特定の時点に関するバックアップ・セットを生成するためのシステム、方法、およびコンピュータ・プログラムを提供することにある。【解決手段】  例示的な実施形態によるバックアップ・セットは、そのバックアップ・セットがある特定の時点で作成された場合に、その特定の時点で、あるコンピュータのファイルおよびデータの最も最近バックアップされたバージョンであったと思われるファイルおよびデータの集合になる。バックアップ・セットを生成するために、バックアップ記憶システム内で、指定の時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有し、指定の時点以降の非アクティブ化時間を有する、データ・オブジェクトのバージョンが識別される。加えて、保持時間および非アクティブ・バージョン限界に基づいてデータ・オブジェクトのバージョンを削除するためのメカニズムが提供される。【選択図】  図４
2009519522.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラムにおいて、コンピューティング・デバイス上で実行されると、前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、
バックアップ・セットの生成に関する要求を受信させ、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点であり、
前記バックアップ・セットが前記時点で作成されていた場合に、前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させ、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管させる、コンピュータ・プログラム。
【請求項２】
前記時点で前記データ・オブジェクトの最新バージョンであり、前記時点以降の非アクティブ化時間を有する、前記バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する
ことにより、前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別し、
前記時点以降の非アクティブ化時間を有する、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別する
ことにより、前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項４】
データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブし、
前記バックアップ・カタログ情報内の項目をサーチして、前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別し、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を前記第１の候補セットに保管する
ことにより、前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、データ・オブジェクトのバージョンの第１の候補セットを識別させる、請求項３に記載のコンピュータ・プログラム。
【請求項５】
前記第１の候補セット内の項目をサーチして、前記時点以降の非アクティブ化時間を有する項目を識別し、
前記時点以降の非アクティブ化時間を有する項目を前記第２の候補セットに保管する
ことにより、前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別させる、請求項４に記載のコンピュータ・プログラム。
【請求項６】
前記コンピュータ可読プログラムがさらに、前記コンピューティング・デバイスに、
前記データ・オブジェクトの前記バージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別させ、
前記保持時間パラメータより古いバックアップ・タイムスタンプを有する前記データ・オブジェクトの前記バージョンのうちのあるデータ・オブジェクトの各バージョンごとに、前記バージョンが前記データ・オブジェクトのアクティブ・バージョンであるかどうかを判別させ、
前記データ・オブジェクトの前記バージョンが前記データ・オブジェクトのアクティブ・バージョンではない場合に、前記データ・オブジェクトの前記バージョンを削除させる、請求項１に記載のコンピュータ・プログラム。
【請求項７】
前記コンピュータ可読プログラムがさらに、前記コンピューティング・デバイスに、
前記データ・オブジェクトの前記バージョンをサーチして、それについて前記バックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別させ、
前記バージョン限界より大きいバージョン数が前記バックアップ記憶システム内に維持されているデータ・オブジェクトの前記バージョンのうちの最も古いバージョンを削除させる、請求項１に記載のコンピュータ・プログラム。
【請求項８】
バックアップ・セットの生成に関する前記要求が、前記バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含み、前記少なくとも１つのパラメータに基づいて前記バックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、前記コンピュータ可読プログラムがさらに、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項９】
前記バックアップ・セット内に含めるためのデータ・オブジェクトの前記タイプを指定する前記少なくとも１つのパラメータが、それについて前記バックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについて前記バックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、前記バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定する、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記コンピュータ可読プログラムが、前記コンピューティング・デバイスに、バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項１１】
プロセッサと、
前記プロセッサに結合可能なメモリと、
前記プロセッサに結合可能な記憶装置と、
を有するシステムにおいて、前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、
バックアップ・セットの生成に関する要求を受信させ、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点であり、
前記バックアップ・セットが前記時点で作成されていた場合に、前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させ、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管させる、命令を保管するように動作可能である、システム。
【請求項１２】
前記時点で前記データ・オブジェクトの最新バージョンであり、前記時点以降の非アクティブ化時間を有する、前記バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する
ことにより、前記命令が、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１３】
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別し、
前記時点以降の非アクティブ化時間を有する、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別する
ことにより、前記命令が、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１４】
データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブし、
前記バックアップ・カタログ情報内の項目をサーチして、前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別し、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を前記第１の候補セットに保管する
ことにより、前記命令が、前記プロセッサに、データ・オブジェクトのバージョンの第１の候補セットを識別させる、請求項１３に記載のシステム。
【請求項１５】
前記第１の候補セット内の項目をサーチして、前記時点以降の非アクティブ化時間を有する項目を識別し、
前記時点以降の非アクティブ化時間を有する項目を前記第２の候補セットに保管する
ことにより、前記命令が、前記プロセッサに、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別させる、請求項１４に記載のシステム。
【請求項１６】
前記命令がさらに、前記プロセッサに、
前記データ・オブジェクトの前記バージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別させ、
前記保持時間パラメータより古いバックアップ・タイムスタンプを有する前記データ・オブジェクトの前記バージョンのうちのあるデータ・オブジェクトの各バージョンごとに、前記バージョンが前記データ・オブジェクトのアクティブ・バージョンであるかどうかを判別させ、
前記データ・オブジェクトの前記バージョンが前記データ・オブジェクトのアクティブ・バージョンではない場合に、前記データ・オブジェクトの前記バージョンを削除させる、請求項１１に記載のシステム。
【請求項１７】
前記命令がさらに、前記プロセッサに、
前記データ・オブジェクトの前記バージョンをサーチして、それについて前記バックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別させ、
前記バージョン限界より大きいバージョン数が前記バックアップ記憶システム内に維持されているデータ・オブジェクトの前記バージョンのうちの最も古いバージョンを削除させる、請求項１１に記載のシステム。
【請求項１８】
バックアップ・セットの生成に関する前記要求が、前記バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含み、前記少なくとも１つのパラメータに基づいて前記バックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、前記命令がさらに、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１９】
前記バックアップ・セット内に含めるためのデータ・オブジェクトの前記タイプを指定する前記少なくとも１つのパラメータが、それについて前記バックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについて前記バックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、前記バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定する、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記命令が、前記プロセッサに、バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項２１】
データ処理システム内でバックアップ・セットを生成するための方法において、
バックアップ・セットの生成に関する要求を受信するステップであって、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点である、前記受信するステップと、
前記時点でデータ・オブジェクトの最新バージョンに関連し、前記時点以降の非アクティブ化時間を有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別するステップと、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管するステップと、
を含む、方法。
【請求項２２】
バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する前記ステップが、バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作で実行される、請求項２１に記載の方法。
【請求項２３】
バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する前記ステップが、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別するステップと、
前記時点以降の非アクティブ化時間を有する、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別するステップと、
を含む、請求項２１に記載の方法。
【請求項２４】
データ・オブジェクトのバージョンの第１の候補セットを識別する前記ステップが、
データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブするステップと、
前記バックアップ・カタログ情報内の項目をサーチして、前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別するステップと、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を前記第１の候補セットに保管するステップと、
を含む、請求項２３に記載の方法。
【請求項２５】
前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別する前記ステップが、
前記第１の候補セット内の項目をサーチして、前記時点以降の非アクティブ化時間を有する項目を識別するステップと、
前記時点以降の非アクティブ化時間を有する項目を前記第２の候補セットに保管するステップと、
を含む、請求項２４に記載の方法。
【請求項２６】
前記データ・オブジェクトの前記バージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別するステップと、
前記保持時間パラメータより古いバックアップ・タイムスタンプを有する前記データ・オブジェクトの前記バージョンのうちのあるデータ・オブジェクトの各バージョンごとに、前記バージョンが前記データ・オブジェクトのアクティブ・バージョンであるかどうかを判別するステップと、
前記データ・オブジェクトの前記バージョンが前記データ・オブジェクトのアクティブ・バージョンではない場合に、前記データ・オブジェクトの前記バージョンを削除するステップと、
をさらに含む、請求項２１に記載の方法。
【請求項２７】
前記データ・オブジェクトの前記バージョンをサーチして、それについて前記バックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別するステップと、
前記バージョン限界より大きいバージョン数が前記バックアップ記憶システム内に維持されているデータ・オブジェクトの前記バージョンのうちの最も古いバージョンを削除するステップと、
をさらに含む、請求項２１に記載の方法。
【請求項２８】
バックアップ・セットの生成に関する前記要求が、前記バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含み、前記方法が、
前記少なくとも１つのパラメータに基づいて前記バックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別するステップ
をさらに含む、請求項２１に記載の方法。
【請求項２９】
前記バックアップ・セット内に含めるためのデータ・オブジェクトの前記タイプを指定する前記少なくとも１つのパラメータが、それについて前記バックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについて前記バックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、前記バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定する、請求項２８に記載の方法。
【請求項３０】
バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別するステップをさらに含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、改良されたデータ処理システムおよび方法に関する。より具体的には、本出願は、特定の時点へのバックアップ・セット（backup set）を生成するためのシステムおよび方法を対象とする。
【背景技術】
【０００２】
インターネットは、大量の情報を広範囲にわたって公的に使用可能にするためのインフラストラクチャを提供する。情報の可用性の増大により、ユーザが自分のデータを保管し、都合良くそれを管理するための何らかの手段を有することは、ますます重要になっている。この点で、電子データ記憶システムの開発は、以前より現在の方がより重要である。
【０００３】
リモートに位置するクライアントに関するデータを保管し管理するために、「記憶管理サーバ」と呼ばれる様々なフレキシブル・システムが開発されている。１つの特定のシステムは、以前はＡｄｓｔａｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒ（商標）（ＡＤＳＭ）と呼ばれていたＴｉｖｏｌｉ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒ（商標）（ＴＳＭ）である（ＴｉｖｏｌｉはIBM Corporationの登録商標である）。ＴＳＭにより、セントラル・サーバは、複数のクライアント・プラットフォームおよび１人または複数の管理者に結合される。このサーバは、サーバのクライアントに関する記憶、バックアップ、リトリーブ、およびその他の管理機能を提供する。
【０００４】
ＴＳＭにより、バックアップ／アーカイブ・クライアントは、サーバでファイルおよびディレクトリをバックアップし復元することができる。ＴＳＭデータベースは、その属性および記憶位置など、保管ファイルに関する情報を追跡し、クライアント、管理者、ポリシー、およびスケジュールに関する情報も維持する。バックアップ／アーカイブ・クライアントは、サーバによって制御された媒体に、ファイル、サブディレクトリ、およびディレクトリをコピーすることができる。バックアップは管理者定義のポリシーおよびスケジュールによって制御するか、またはユーザが自分自身のデータのバックアップを要求することができる。バックアップ・コピー・グループ内のバックアップ・ポリシーは、ファイルおよびディレクトリについていくつのバックアップ・バージョンをサーバが保持するかと、バックアップの前のバージョンが有効期限切れになる前に、どのくらいの期間の間、サーバがファイルおよびディレクトリのバックアップ・バージョンを保持するかを示す。依然としてクライアント・システム上に保管されているファイルに対応する、ファイルの最新バックアップ・バージョンは、アクティブ・バージョンと呼ばれ、有効期限切れの対象とならない。非アクティブ・バックアップ・バージョンのみが有効期限切れになる可能性がある。
【０００５】
ＴＳＭの従来技術のバージョンは、ファイルをバックアップするためのバックアップ／アーカイブ・クライアント・プログラムと、データベース・オブジェクトをバックアップするためのクライアント・プログラムとを含む。ファイル・レベルのバックアップは、前のバックアップ以降の変更を含む、ファイル全体の新しいバージョンの挿入を伴う。ファイル・レベル・バックアップは「永久増分（incremental forever）」方法に基づくものであり、その場合、ファイルがバックアップされると、そのファイルはクライアント・マシン上で変更されない限り、もう一度バックアップする必要はない。データベース・プログラム（database product）とのインターフェースを取るデータベース・アプリケーション・クライアントは、データベース・オブジェクト全体ではなく、最後の全バックアップ以降の変更済みデータのみを含むデータベース・オブジェクトの増分バックアップを実行するためにＴＳＭコマンドを使用することができる。これにより、データベース・アプリケーション・クライアントは、実質的に大きいものになる可能性のあるデータベース・オブジェクト全体を送信しなければならない代わりに、データベース・オブジェクトのうち、増分バックアップで変更されている部分のみをバックアップ・サーバに送信することができる。増分バックアップを実行するスケジュールはＴＳＭサーバ・データベースに定義される。
【０００６】
「バックアップ・セット」は、あるコンピュータのファイルの最も最近バックアップされたバージョンのコピーであって、磁気テープ、光ディスクなどの１組の取り外し可能媒体上に保管された集合データ構造に集められたものである。たとえば、ＴＳＭの永久増分バックアップを使用すると、バックアップ・セットは、ＴＳＭデータベースによって決定されたクライアント・コンピュータのファイルの最も最近バックアップされたバージョンになるであろう。
【０００７】
バックアップ・セットは、いくつかの異なる記憶管理要求を満たすものである。たとえば、それらは、重要なビジネス・データの長期アーカイブ・コピーおよび災害時回復に使用されるバックアップ・データのオフサイト・コピーとして頻繁に使用される。加えて、バックアップ・セットは、リモート記憶管理サーバの必要性なしに、ローカル・コンピュータ上で直接復元できるポータブル・バックアップ・コピーとして使用される。
【０００８】
バックアップ・セットの有用性にもかかわらず、あるコンピュータのファイルの最も最近バックアップされたバージョンがユーザが必要としているものではない場合がある。また、あるコンピュータのファイルの最も最近バックアップされたバージョンの代わりに、昨日のバックアップ・バージョン、先週のバックアップ・バージョン、または先月のバックアップ・バージョンが必要である場合もある。システム管理者がこのような特定の場合にバックアップ・セットを作成する先見の明を備えている場合、その必要性はすでに満たされているが、コンピュータ・ファイルのバックアップについてすべての必要性を予想することはいつでも可能であるわけではない。その上、その必要性が予想される場合でも、時には、操作上の困難により、所望の内容を有するバックアップ・セットを作成するには遅すぎる時期まで動作が遅延される可能性もある。
【０００９】
上記の困難に加えて、「あるコンピュータのファイルの最も最近バックアップされたバージョン」は移動ターゲットである可能性もある。すなわち、そのコンピュータ用のバックアップ・セットが作成されるのと同時にそのコンピュータのファイルがバックアップされる場合、バックアップ・セットが作成された後、バックアップ動作がこれらのファイルの新しいバージョンを追加するので、バックアップ・セットがそのコンピュータのファイルの不整合スナップショットを含むことになる、すなわち、バックアップ・セットに含まれるそのコンピュータのファイルのうち、いくつかのファイルのバージョンがアクティブになり、その他のファイルのバージョンが非アクティブになる可能性がある。換言すれば、特定のファイルがバックアップ・セットにコピーされる時期に応じて、バックアップ・セットは、ある日にバックアップされたいくつかのファイルと、他の日にバックアップされた他のファイルとを含む可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
例示的な実施形態は、バックアップ記憶装置内に保管されたバックアップ・データから特定の時点に関するバックアップ・セットを生成するためのメカニズムを提供する。例示的な実施形態のメカニズムは、あるコンピュータのファイルまたはデータの最も最近バックアップされたバージョンのコピーから、特定の時点でそれに関するアクティブ・バックアップが存在した、あるコンピュータのファイルまたはデータのコピーへと、バックアップ・セットの概念を拡張するものである。換言すれば、例示的な実施形態によるバックアップ・セットは、そのバックアップ・セットがある特定の時点で作成された場合に、その特定の時点で、あるコンピュータのファイルおよびデータの最も最近バックアップされたバージョンであったと思われるファイルおよびデータの集合になる。
【課題を解決するための手段】
【００１１】
例示的な実施形態のメカニズムは、たとえば、バックアップ・サーバに関連するクライアント・コンピューティング・デバイスからバックアップ・セット生成要求を受信する。代わって、管理者コンピューティング・デバイスは、管理者コンピューティング・デバイスに関連する複数のクライアント・コンピューティング・デバイスに関するバックアップ・セットを要求することができ、たとえば、ある企業のネットワークの管理者は、その企業のネットワークに接続されたすべてのワークステーションに関するバックアップ・セットを要求することができる。
【００１２】
バックアップ・セット生成要求は、それに関するバックアップ・セットを生成すべき特定の時点の指定を含む。この特定の時点は現在時刻にすることができ、その場合、バックアップ・セットは、クライアント・コンピューティング・デバイス（複数も可）用のバックアップ・ファイルおよびデータの最新バージョンを使用して生成されるであろう。また、特定の時点は、現在時刻の前日、現在時刻の前の週、現在時刻の前の月など、過去の一時期にすることもできる。現在時刻が指定されるか、過去の一時期が指定されるかにかかわらず、例示的な実施形態のメカニズムは、バックアップ・セット生成要求に指定された特定の時点でファイルおよびデータの最も最近バックアップされたバージョンがファイルおよびデータのどのバージョンであったかを判別するように動作する。
【００１３】
特定の時点であるコンピュータのファイルおよびデータの最も最近バックアップされたバージョンを有するバックアップ・セットを作成するには、以下データ・オブジェクトというファイル／データの特定のバックアップ・バージョンがバックアップされた時期、ならびにデータ・オブジェクトがもはやクライアント・コンピュータ上に保管されていないのでデータ・オブジェクトの特定のバックアップ・バージョンがより新しいバージョンで置き換えられたかまたは非アクティブ化された時期を例示的な実施形態のメカニズムが把握していなければならない。加えて、バックアップ・セット内に含めるために必要である可能性がある限り、バックアップ記憶装置がすべてのデータ・オブジェクトのすべてのバックアップ・バージョンを維持することが動作要件の１つである。
【００１４】
データ・オブジェクトがバックアップされた時期を把握することは、バックアップ・セット内に含めるべきデータ・オブジェクトのバックアップ・バージョンを選択するための方法の一部である。これにより、所与の時点について、指定の時点以降にバックアップされた任意のデータ・オブジェクトは新しすぎるので、バックアップ・セット内に含めるための考慮対象にならないと規定した第１のバックアップ・セット生成ルールが得られる。換言すれば、指定の時点でまたはそれ以前にバックアップされたデータ・オブジェクトのみをバックアップ・セット内に含めることができる。このルールをバックアップ・バージョンに適用することにより、バックアップ・セット内に含めるためのデータ・オブジェクトの候補バージョンの第１のセットを識別することができる。
【００１５】
データ・オブジェクトのあるバージョンのバックアップ時間は、それをバックアップ・セットに入れるべきかどうかを判断するための単独標識（sole indicator）として使用することができる。しかし、どれが指定の時点より小さいかまたはそれに等しい最新時間であるかを判別するために、記憶管理システムはそのデータ・オブジェクトのすべてのバージョンのバックアップ時間を比較する必要があるので、バックアップ時間だけでは、そのデータ・オブジェクトのバージョンをバックアップ・セット内に含めるべきかどうかを示す最良の標識ではない。このような比較は、バージョンの数が増加するにつれて、ますます長い時間を要する。さらに、この手法は、指定の時点以前にバックアップされた最新バージョンが記憶管理サーバから削除されている場合に誤った結果をもたらす可能性がある。このような場合、かなり以前のバージョンが誤ってバックアップ・セットに追加される可能性があるであろう。バックアップ時間のみを使用する場合のさらに他の短所は、これにより、指定の時点以前にクライアント・コンピュータ上で削除されたバージョンがバックアップ・セットに含まれる可能性があることである。
【００１６】
したがって、例示的な実施形態のメカニズムにより、指定の時点についてデータ・オブジェクトのどのバージョンをバックアップ・セット内に含めるべきかを判別するときの第２の考慮では、バックアップ・バージョンが非アクティブ化された時期を判別する。あるデータ・オブジェクトのバックアップ・バージョンがより新しいバージョンで置き換えられた時期を把握することにより、例示的な実施形態のメカニズムは、任意の他のバージョンについて何も把握していなくても、あるデータ・オブジェクトの所与のバージョンをバックアップ・セットに含めることを決定することができる。
【００１７】
最も最近バックアップされたバージョンを「アクティブ」バージョンと呼び、すべての前のバージョンを「非アクティブ」バージョンと呼ぶ場合、アクティブ・バージョンがより新しいバージョンで置き換えられる時期がその非アクティブ化の時期、またはその「非アクティブ化時間（deactivation time）」になる。同様に、アクティブ・データ・オブジェクトがもはやクライアント・マシン上に保管されていない場合、アクティブ・データ・オブジェクトは次のバックアップ中に非アクティブ化され、非アクティブ化時間が記録される。まだ非アクティブ化されていないデータ・オブジェクトは、無限に遙か先の将来の非アクティブ化時間を有するものと見なされる。非アクティブ化時間を使用して、第２のバックアップ・セット生成ルールでは、所与の時点について、指定の時点にまたはそれ以前に非アクティブ化された任意のデータ・オブジェクトは古すぎて考慮対象にならないと規定する。換言すれば、アクティブ・データ・オブジェクトまたは指定の時点以降に非アクティブ化された非アクティブ・データ・オブジェクトのみをバックアップ・セット内に含めることができる。
【００１８】
この第２のバックアップ・セット生成ルールをデータ・オブジェクトの候補バージョンの第１のセットに適用することにより、指定の時点でデータ・オブジェクトの最も最近バックアップされたバージョンであった、データ・オブジェクトの特定のバージョンを識別することができる。次に、データ・オブジェクトの識別されたバージョンを指定の時点に関するバックアップ・セットに集合させ、バックアップ・セットの要求側に提供することができる。典型的には、バックアップ・セットは、要求側に出荷される１つまたは複数の取り外し可能媒体に保管されることになる。
【００１９】
本発明の例示的な代替一実施形態では、バックアップ・セット内に含めるためにデータ・オブジェクトのバージョンの第１の候補セットおよび第２の候補セットを生成するために２つの独立した別個のステップを有する代わりに、単一ステップを使用して、データ・オブジェクトのどのバージョンをバックアップ・セット内に含めるべきかを識別することができる。すなわち、各データ・オブジェクトに関する情報をチェックして、そのオブジェクトが指定の時点でまたはそれ以前にバックアップされたかどうかと、非アクティブ化時間が指定の時点より大きいかどうかを、単一ステップで判別することができる。これらの条件をいずれも満足する場合、そのデータ・オブジェクトはバックアップ・セット内に含めることができる。このプロセスは、各オブジェクトごとにループで繰り返すことができる。
【００２０】
この例示的な代替実施形態は、プロセッサ・サイクルおよび記憶空間を節約できるという点でいくつかの実装例ではより効率的なものになる可能性がある。当然のことながら、いずれかの実装例またはこれらの実装例の変更例も本発明の精神および範囲を逸脱せずに使用することができる。
【００２１】
時点の概念をバックアップ・セットに適用することにより、システム管理者には、最も古い非アクティブ・バックアップに対応する時間制限まで、任意の特定の時点に関するバックアップ・セットを作成する能力が提供される。したがって、システム管理者は、昨日のバックアップ・セットを作成するのを明日まで待つことができる。その結果、システム管理者には、要求を満足するためのウィンドウが別の方法で閉じられた後にバックアップ・データに関する新しい予期しない要求に応える能力と、磁気テープ・ドライブ障害などの動作上の問題が発生しても自分の事業の存続が依存する月末のバックアップ・セットを作成できないわけではないことが分かるという安心感が与えられる。
【００２２】
加えて、特定の時点へのバックアップ・セットを作成すると、不整合問題も解決される。特定の時点でアクティブであったデータ・オブジェクトのみをコピーすることにより、あるバックアップ・バージョンがより新しいもので置き換えられた場合でももはや問題にならない。それがより新しいバックアップ・バージョンで置き換えられた回数にかかわらず、バックアップの正しいバージョンがバックアップ・セットにコピーされることになる。データ・オブジェクトが指定の時点でもはやクライアント・マシン上に存在していなかった場合、これらはバックアップ・セットにコピーされない。したがって、バックアップ・セットの生成は、指定の時点で存在していたバックアップ・データを正確にかつ一貫して反映するアトミック動作になる。
【００２３】
上記に加えて、過去の複数の時点に関するバックアップ・セットの生成を可能にするために、最も古いバックアップ・セットが要求されると予期される期間についてデータ・オブジェクト用のすべてのバックアップ・バージョンがバックアップ記憶システム内に維持される。データ・オブジェクトに関する複数のバックアップ・バージョンを保管する場合、それに関連する実際的なトレードオフが存在する。データ・オブジェクトのより多くのバージョンをバックアップ記憶システムに保管できるようになるにつれて、バックアップ記憶システムは、バックアップのためだけにより多くの記憶空間を必要とすることになる。データ・オブジェクトの無限数のバージョンを保持することは、一般に実現可能ではない。バックアップ・セットを生成する時期まで戻れる時間の長さと、データ・オブジェクトのバックアップ・バージョンを保持するために使用可能な記憶空間の量から、どちらかを選択しなければならない。
【００２４】
例示的な実施形態のメカニズムは、記憶空間とバックアップ・セット期間とのトレードオフを指定するためにユーザが設定できる調整可能パラメータ（tunable parameter）を提供する。例示的な実施形態では、ユーザは、保持時間（retention time）パラメータとバージョン数（numberof versions）パラメータを設定することができる。保持時間パラメータは、非アクティブ化以降、どのくらいの期間の間、データ・オブジェクトのバージョンを保持するかを指定する。バージョン数は、バックアップ記憶システム内に保持するための各データ・オブジェクトのバックアップ・バージョンの最大数を指定する。
【００２５】
例示的な実施形態では、バックアップ記憶システム内のデータ・オブジェクトのバージョンを削除するか維持するかを判別するために、バックアップ記憶システム内に維持されているデータ・オブジェクトのバックアップ・バージョンに関する情報を定期的に走査するバックアップ・バージョン有効期限切れ管理エンジンを提供することができる。バックアップ・バージョン有効期限切れ管理エンジンは、バックアップ記憶システム内に維持されているデータ・オブジェクトのバージョンに２通りのルールを適用する。第一に、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトの任意の非アクティブ・バージョンはバックアップ記憶システムから削除することができる。第二に、１つのデータ・オブジェクトのバージョン数がバックアップ・バージョン数パラメータを超える場合、データ・オブジェクトのバージョン数がこの限界パラメータより小さいかまたはそれに等しくなるまで、そのデータ・オブジェクトの最も古いバックアップ・バージョンを削除することができる。このようにして、バックアップ・バージョンに使用される記憶空間の量は、例示的な実施形態のメカニズムを使用して、その間に時点バックアップ・セットを生成できる特定のスライディング・ウィンドウについて最小のものに保持することができる。
【００２６】
例示的な一実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム（computer program product）が提供される。このコンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、コンピューティング・デバイスに、バックアップ・セットの生成に関する要求を受信させる。この要求は、現在時刻以前であって、それに関してバックアップ・セットを生成すべき時点を含むことができる。このコンピュータ可読プログラムはさらに、コンピューティング・デバイスに、バックアップ・セットがその時点で作成されていた場合に、その時点でデータ・オブジェクトの最も最近バックアップされたバージョンであったと思われるバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させ、データ・オブジェクトの識別されたバージョンをその時点に関するバックアップ・セットとして保管させることができる。データ・オブジェクトは、たとえば、電子ファイルにすることができる。
【００２７】
このコンピュータ可読プログラムは、コンピューティング・デバイスに、その時点でデータ・オブジェクトの最新バージョンであり、その時点以降の非アクティブ化時間を有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別することにより、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させることができる。このコンピュータ可読プログラムはさらに、コンピューティング・デバイスに、その時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別し、その時点以降の非アクティブ化時間を有する、第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別することにより、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させることができる。
【００２８】
このコンピュータ可読プログラムは、コンピューティング・デバイスに、データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブし、バックアップ・カタログ情報内の項目をサーチして、その時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別し、その時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を第１の候補セットに保管することにより、データ・オブジェクトのバージョンの第１の候補セットを識別させることができる。このコンピュータ可読プログラムは、コンピューティング・デバイスに、第１の候補セット内の項目をサーチして、その時点以降の非アクティブ化時間を有する項目を識別し、その時点以降の非アクティブ化時間を有する項目を第２の候補セットに保管することにより、第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別させることができる。
【００２９】
このコンピュータ可読プログラムはさらに、コンピューティング・デバイスに、データ・オブジェクトのバージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別させることができる。保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトのバージョンのうちのあるデータ・オブジェクトの各バージョンごとに、そのバージョンがデータ・オブジェクトのアクティブ・バージョンであるかどうかという判別を行うことができる。その上、データ・オブジェクトのあるバージョンがデータ・オブジェクトのアクティブ・バージョンではない場合に、データ・オブジェクトのそのバージョンを削除することができる。このコンピュータ可読プログラムはさらに、コンピューティング・デバイスに、データ・オブジェクトのバージョンをサーチして、それについてバックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別させることができる。バージョン限界より大きいバージョン数がバックアップ記憶システム内に維持されているデータ・オブジェクトのバージョンのうちの最も古いバージョンを削除することができる。
【００３０】
バックアップ・セットの生成に関する要求は、バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含むことができる。このコンピュータ可読プログラムはさらに、コンピューティング・デバイスに、少なくとも１つのパラメータに基づいてバックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させることができる。バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータは、それについてバックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについてバックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定することができる。
【００３１】
このコンピュータ可読プログラムは、コンピューティング・デバイスに、バックアップ・セットの生成に関する要求に規定された基準を満たすバックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させることができる。
【００３２】
他の例示的な実施形態では、プロセッサと、プロセッサに結合されたメモリとを有するシステムが提供される。このメモリは、プロセッサによって実行されたときに、前述の様々な動作をプロセッサに実行させる命令を含むことができる。さらに他の例示的な実施形態では、データ処理システム内でバックアップ・セットを生成するための方法が提供される。この方法は、コンピュータ使用可能媒体上のコンピュータ可読プログラムに基づいて実行される上記の動作と同様の動作を含むことができる。
【００３３】
本発明の上記その他の特徴および利点は、本発明の模範的な実施形態に関する以下の詳細な説明に記載されるか、あるいはその詳細な説明を考慮して当業者にとって明白なものになるであろう。
【００３４】
本発明に特有と思われる新規な特徴は特許請求の範囲に規定されている。しかし、本発明そのもの、ならびにその好ましい使用態様、その他の目的および利点については、添付図面に併せて読んだときに、例示的な一実施形態に関する以下の詳細な説明を参照することにより最も良く理解されるであろう。
【発明を実施するための最良の形態】
【００３５】
本明細書に規定された例示的な諸実施形態は、バックアップされたファイルおよびデータからバックアップ・セットを生成するためのメカニズムを提供する。例示的な諸実施形態のメカニズムは、単一のコンピューティング・デバイス内または分散データ処理環境内に完全に実装することができる。好ましい諸実施形態では、例示的な諸実施形態のメカニズムは、１つまたは複数のネットワークおよび通信リンクを介して相互に通信可能なデータ処理システムのネットワークが設けられる分散データ処理環境に関して記載される。
【００３６】
図１〜図３は、例示的な諸実施形態の諸態様を実装可能なデータ処理環境の例を示している。描写されているデータ処理環境は、模範的なものに過ぎず、例示的な諸実施形態の模範的な諸態様を実装可能なデータ処理環境のタイプまたは構成に関する何らかの制限を規定または暗示するためのものではない。本発明の精神および範囲を逸脱せずに、図１〜図３に描写されているデータ処理環境に対して多くの変更を行うことができる。
【００３７】
次に、添付図面に関して説明すると、図１は、本発明を実装可能なデータ処理システム１００のネットワークの図表現を描写している。ネットワーク・データ処理システム１００はネットワーク１０２を含み、これは、ネットワーク・データ処理システム１００内でまとめて接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルなどの接続部を含むことができる。
【００３８】
描写されている例では、サーバ１０４は、記憶装置１０６とともにネットワーク１０２に接続されている。加えて、クライアント１０８、１１０、および１１２はネットワーク１０２に接続されている。これらのクライアント１０８、１１０、および１１２は、たとえば、パーソナル・コンピュータまたはアプリケーション・サーバにすることができる。描写されている例では、サーバ１０４は、クライアント１０８〜１１２に関するデータ・オブジェクトを保管し、追跡し、リトリーブする。クライアント１０８、１１０、および１１２は、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されていない追加のサーバ、クライアント、およびその他の装置を含むことができる。描写されている例では、ネットワーク・データ処理システム１００は、相互に通信するために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Transmission Control Protocol/Internet Protocol）スイートのプロトコルを使用するネットワークおよびゲートウェイの世界的集合を表すネットワーク１０２を含むインターネットである。インターネットの中心には、データおよびメッセージを経路指定する何千もの商用、行政、教育、その他のコンピュータ・システムからなるメジャー・ノードまたはホスト・コンピュータ間の高速データ回線のバックボーンが存在する。当然のことながら、ネットワーク・データ処理システム１００は、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）などのいくつかの異なるタイプのネットワークとして実装することもできる。図１は、一例としてものであり、本発明に関するアーキテクチャ上の制限としてのものではない。
【００３９】
図２を参照すると、本発明の好ましい一実施形態により、図１のサーバ１０４などのサーバとして実装可能なデータ処理システムのブロック図が描写されている。データ処理システム２００は、システム・バス２０６に接続された複数のプロセッサ２０２および２０４を含む対称型マルチプロセッサ（ＳＭＰ：symmetric multiprocessor）システムにすることができる。代わって、単一プロセッサ・システムを使用することもできる。また、システム・バス２０６には、メモリ・コントローラ／キャッシュ２０８も接続され、これは、ローカル・メモリ２０９へのインターフェースを提供する。入出力バス・ブリッジ２１０は、システム・バス２０６に接続され、入出力バス２１２へのインターフェースを提供する。メモリ・コントローラ／キャッシュ２０８および入出力バス・ブリッジ２１０は、描写されている通り、統合することもできる。
【００４０】
入出力バス２１２に接続された周辺装置相互接続（ＰＣＩ：peripheral component interconnect）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６へのインターフェースを提供する。ＰＣＩローカル・バス２１６には、いくつかのモデムを接続することもできる。典型的なＰＣＩバス実装例は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートすることになる。図１のクライアント１０８〜１１２への通信リンクは、アドイン・コネクタによりＰＣＩローカル・バス２１６に接続されたモデム２１８およびネットワーク・アダプタ２２０により提供することができる。
【００４１】
追加のＰＣＩバス・ブリッジ２２２および２２４は追加のＰＣＩローカル・バス２２６および２２８に関するインターフェースを提供し、それにより、追加のモデムまたはネットワーク・アダプタをサポートすることができる。このように、データ処理システム２００により、複数のネットワーク・コンピュータへの接続が可能になる。描写されている通り、入出力バス２１２には、直接または間接的に、メモリ・マップ・グラフィックス・アダプタ２３０およびハード・ディスク２３２も接続することができる。
【００４２】
当業者であれば、図２に描写されているハードウェアが様々になる可能性があることを理解するであろう。たとえば、描写されているハードウェアに加えてまたはその代わりに光ディスク装置などのその他の周辺装置も使用することができる。描写されている例は、本発明に関するアーキテクチャ上の制限を暗示するためのものではない。
【００４３】
図２に描写されているデータ処理システムは、たとえば、拡張対話式エグゼクティブ（ＡＩＸ：Advanced Interactive Executive）オペレーティング・システムまたはＬＩＮＵＸオペレーティング・システムが実行される、ニューヨーク州アーモンクのIBM Corporationの製品であるＩＢＭ  ｅＳｅｒｖｅｒ  ｐＳｅｒｉｅｓシステムにすることができる（ＩＢＭ、ｐＳｅｒｉｅｓ、およびＡＩＸはIBM Corporationの登録商標であり、ｅＳｅｒｖｅｒはIBM Corporationの商標であり、Ｌｉｎｕｘは米国、その他の国、あるいはその両方におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの登録商標である）。
【００４４】
次に、図３に関して説明すると、本発明を実装可能なデータ処理システムを例示するブロック図が描写されている。データ処理システム３００はクライアント・コンピュータの一例である。データ処理システム３００は、周辺装置相互接続（ＰＣＩ）ローカル・バス・アーキテクチャを使用する。描写されている例はＰＣＩバスを使用しているが、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ：Accelerated Graphics Port）および業界標準アーキテクチャ（ＩＳＡ：Industry Standard Architecture）などの他のバス・アーキテクチャを使用することもできる。プロセッサ３０２およびメイン・メモリ３０４はＰＣＩブリッジ３０８によりＰＣＩローカル・バス３０６に接続されている。また、ＰＣＩブリッジ３０８は、プロセッサ３０２用の統合メモリ・コントローラおよびキャッシュ・メモリも含むことができる。直接コンポーネント相互接続によるかまたはアドイン・ボードにより、ＰＣＩローカル・バス３０６への追加接続を行うことができる。描写されている例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１０、小型コンピュータ・システム・インターフェース（ＳＣＳＩ：small computer system interface）ホスト・バス・アダプタ３１２、および拡張バス・インターフェース３１４は、直接コンポーネント接続によりＰＣＩローカル・バス３０６に接続されている。対照的に、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、およびオーディオ／ビデオ・アダプタ３１９は、拡張スロットに挿入されたアドイン・ボードによりＰＣＩローカル・バス３０６に接続されている。拡張バス・インターフェース３１４は、キーボードおよびマウス・アダプタ３２０、モデム３２２、ならびに追加メモリ３２４の接続を可能にする。ＳＣＳＩホスト・バス・アダプタ３１２は、ハード・ディスク・ドライブ３２６、磁気テープ・ドライブ３２８、およびＣＤ−ＲＯＭドライブ３３０の接続を可能にする。典型的なＰＣＩローカル・バス実装例は、３つまたは４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートすることになる。
【００４５】
オペレーティング・システムは、プロセッサ３０２上で実行され、図３のデータ処理システム３００内の様々なコンポーネントを調整し、その制御を行うために使用される。このオペレーティング・システムは、マイクロソフト社から入手可能なＷｉｎｄｏｗｓ  ＸＰなどの市販のオペレーティング・システムにすることができる（Ｍｉｃｒｏｓｏｆｔ、Ｗｉｎｄｏｗｓ、Ｗｉｎｄｏｗｓ  ＮＴ、およびＷｉｎｄｏｗｓロゴは、米国、その他の国、あるいはその両方におけるMicrosoft Corporationの商標である）。Ｊａｖａなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムに併せて実行し、データ処理システム３００上で実行されるＪａｖａプログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供することができる（ＪａｖａおよびすべてのＪａｖａベースの商標は、米国、その他の国、あるいはその両方におけるSun Microsystemの商標である）。
【００４６】
オペレーティング・システム、オブジェクト指向プログラミング・システム、ならびにアプリケーションまたはプログラムに関する命令は、ハード・ディスク・ドライブ３２６などの記憶装置上に位置し、プロセッサ３０２によって実行するためにメイン・メモリ３０４にロードすることができる。
【００４７】
当業者であれば、図３のハードウェアが実装例に応じて様々になる可能性があることを理解するであろう。図３に描写されているハードウェアに加えてまたはその代わりにフラッシュ読み取り専用メモリ（ＲＯＭ）、同等の不揮発性メモリ、または光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺装置を使用することもできる。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することもできる。
【００４８】
もう１つの例として、データ処理システム３００は、何らかのタイプのネットワーク通信インターフェースに頼らずにブート可能になるように構成されたスタンドアロン・システムにすることができる。さらに他の一例として、データ処理システム３００は、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を保管するための不揮発性メモリを提供するためにＲＯＭまたはフラッシュＲＯＭあるいはその両方を備えて構成された携帯情報端末（ＰＤＡ：personal digital assistant）装置にすることができる。
【００４９】
図３に描写されている例および上記の例はアーキテクチャ上の制限を暗示するためのものではない。たとえば、データ処理システム３００は、ＰＤＡの形を取ることに加えて、ノートブック・コンピュータまたはハンドヘルド・コンピュータにすることもできる。また、データ処理システム３００は、キオスクまたはＷｅｂアプライアンスにすることもできる。
【００５０】
もう一度、図１を参照すると、例示的な諸実施形態のメカニズムにより、サーバ１０４には、たとえば、クライアント・コンピューティング・デバイス１０８〜１１２からのファイル／データ（以下まとめてデータ・オブジェクトという）をバックアップするためのサーバ・バックアップ・ソフトウェアを提供することができる。サーバ１０４は、たとえば、ネットワーク接続記憶システム１０６に、あるいはサーバ１０４に直接接続されたかまたはその他の方法でサーバ１０４に関連する記憶システム（図示せず）に、データ・オブジェクトをバックアップすることができる。代わって、ネットワーク接続記憶システム１０６は、クライアント・コンピューティング・デバイス１０８〜１１２のうちの１つまたは複数に関連するデータベースまたはファイル記憶装置にすることができ、その一部分はクライアント・コンピューティング・デバイス１０８〜１１２からのバックアップ要求に応答してサーバ１０４に関連する記憶システムにバックアップすることができる。
【００５１】
クライアント・コンピューティング・デバイス１０８〜１１２には、好ましくは、クライアント・コンピューティング・デバイス１０８〜１１２上で実行され、クライアント・コンピューティング・デバイス１０８〜１１２に関連する記憶装置からのデータ・オブジェクトまたはクライアント・コンピューティング・デバイス１０８〜１１２に関連するネットワーク接続記憶システム１０６からのデータ・オブジェクトあるいはその両方をバックアップするために使用されるクライアント・バックアップ・ソフトウェアが提供される。このようなバックアップとしては、当技術分野で一般的に知られているように、全バックアップおよび増分バックアップを含むことができる。
【００５２】
好ましい一実施形態では、サーバ１０４は、ニューヨーク州アーモンクのIBM Corporationから入手可能なＴｉｖｏｌｉ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒ（商標）アプリケーションを実行する。当技術分野で一般的に知られているように、ＴＳＭにより、バックアップ／アーカイブ・クライアントは、サーバ１０４などのサーバでファイルおよびディレクトリをバックアップし復元することができる。バックアップ／アーカイブ・クライアント、たとえば、クライアント１０８〜１１２は、サーバ１０４によって制御された媒体に、ファイル、サブディレクトリ、およびディレクトリをコピーすることができる。バックアップは管理者定義のポリシーおよびスケジュールによって制御するか、またはユーザが自分自身のデータのバックアップを要求することができる。バックアップ・コピー・グループ内のバックアップ・ポリシーは、データ・オブジェクトおよびディレクトリについていくつのバックアップ・バージョンをサーバ１０４が保持するかと、これらのバージョンが有効期限切れになる前に、どのくらいの期間の間、サーバ１０４がデータ・オブジェクトおよびディレクトリの非アクティブ・バックアップ・バージョンを保持するかを示す。データ・オブジェクトの最新バックアップ・バージョンは、アクティブ・バージョンと呼ばれ、有効期限切れの対象とならない。非アクティブ・バックアップ・バージョンのみが有効期限切れになる可能性がある。
【００５３】
例示的な諸実施形態は、バックアップ記憶装置内に保管されたバックアップ・データから特定の時点に関するバックアップ・セットの生成を可能にすることにより、バックアップ・アプリケーションの動作に改良を加えるためのメカニズムを提供する。したがって、たとえば、例示的な諸実施形態のメカニズムを使用して、サーバ１０４上で実行されるＴｉｖｏｌｉ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒ（商標）の機能を強化することができる。代わって、他の例示的な実施形態では、例示的な諸実施形態のメカニズムを使用して、たとえば、完全にクライアント・コンピューティング・デバイス１０８などの単一コンピューティング・デバイス内でのバックアップ・セットの生成を強化することができる。このような実施形態では、以下に規定する通り、サーバに帰する動作は、クライアント・コンピューティング・デバイスに帰する動作とともに単一コンピューティング・デバイス内で実行することができる。このようにして、クライアント・コンピューティング・デバイスは、ローカルにアクセス可能な取り外し可能記憶媒体上にそれ自身のデータ・オブジェクトのそれ自身のバックアップ・セットを作成することができる。しかし、以下の説明のため、バックアップ・セットはサーバ１０４などのサーバ・コンピューティング・デバイスによって生成され、そのサーバは１つまたは複数のネットワーク１０２を介して１つまたは複数のクライアント・コンピューティング・デバイス１０８〜１１２と通信状態にあるものと想定する。
【００５４】
例示的な諸実施形態のメカニズムは、あるコンピュータのファイルまたはデータの最も最近バックアップされたバージョンのコピーから、特定の時点でそれに関するアクティブ・バックアップが存在した、あるコンピュータのファイルまたはデータのコピーへと、バックアップ・セットの概念を拡張するものである。換言すれば、例示的な諸実施形態によるバックアップ・セットは、そのバックアップ・セットがある特定の時点で作成された場合に、その特定の時点で、あるコンピュータのファイルおよびデータの最も最近バックアップされたバージョンであったと思われるファイルおよびデータの集合になる。
【００５５】
図４は、例示的な一実施形態によるバックアップ・セット生成システムの基本動作コンポーネントを例示する模範的なブロック図である。図４の示されている通り、バックアップ・セット生成システムは、バックアップ・サーバ４１０とバックアップ記憶システム４２０とを含む。描写されている例では、バックアップ記憶システム４２０はバックアップ・サーバ４１０に直接接続されているが、例示的な諸実施形態はこのような配置に限定されない。それとは反対に、バックアップ記憶システム４２０は、少なくとも１つのネットワーク４３０を介してバックアップ・サーバ４１０に関連付けることもできる。たとえば、バックアップ記憶システム４２０はネットワーク接続記憶システム４４６内に設けることもできる。
【００５６】
バックアップ・サーバ４１０は、ネットワーク（複数も可）４３０を介してクライアント・コンピューティング・デバイス４４０と通信状態にある。クライアント・コンピューティング・デバイス４４０は、ローカル記憶装置４４４上にデータ・オブジェクトを保管することができ、クライアント・コンピューティング・デバイス４４０上で実行されるクライアント・バックアップ・アプリケーション４４２を介してバックアップ・サーバ４１０にデータ・オブジェクトを定期的にバックアップすることができる。代わって、データ・オブジェクトは、ネットワーク接続記憶システム４４６などのネットワーク接続記憶システム上にリモートに保管することもできる。
【００５７】
クライアント・コンピューティング・デバイスからバックアップ・サーバにデータ・オブジェクトをバックアップするための動作は、当技術分野で一般的に知られており、したがって、本明細書ではより詳細な説明は行わない。その代わりに、例示的な諸実施形態は、バックアップされたデータ・オブジェクトからのバックアップ・セットの生成を対象とする。この説明のため、データ・オブジェクトは、任意の現在既知のまたは今後開発されるバックアップ方法により、バックアップ・サーバ４１０にすでにバックアップされているものと想定する。例示的な諸実施形態は、データ・オブジェクトがバックアップされる際の任意の特定の方法に限定されない。
【００５８】
好ましい一実施形態では、クライアント・コンピューティング・デバイス４４０は、バックアップ・サーバ４１０上で実行されるサーバ・バックアップ・エンジン４１２にデータ・オブジェクトを伝達するクライアント・バックアップ・アプリケーション４４２を実行する。サーバ・バックアップ・エンジン４１２は、クライアント・バックアップ・アプリケーション４４２によって識別された指定のデータ・オブジェクトをバックアップ記憶システム４２０にバックアップするために必要な動作を実行する。
【００５９】
データ・オブジェクトをバックアップするプロセス中に、クライアント・コンピューティング・デバイス４４０のためにバックアップ・カタログ・データ構造４１４の生成または更新あるいはその両方が行われる。バックアップ・カタログ・データ構造４１４は、バックアップ記憶システム４２０内に現在維持されているデータ・オブジェクトのバージョンを記述する情報を保管する。本質的に、バックアップ・カタログ・データ構造４１４は、他にもメタデータがある中で、データ・オブジェクトの特定のバージョンがバックアップ記憶システム４２０にバックアップされた時期に関するタイムスタンプを含む情報を保管することができるメタデータ・データ構造である。加えて、データ・オブジェクトの特定のバージョンに関する情報は、データ・オブジェクトのその特定のバージョンがより新しいバージョンで置き換えられたかまたはデータ・オブジェクトがもはやクライアント・コンピューティング・デバイス４４０にとって使用可能ではなくなったので非アクティブ化された時期に関するタイムスタンプを指定することもできる。
【００６０】
データ・オブジェクトのあるバージョンがより新しいバージョンで置き換えられた時期の判別は、データ・オブジェクトのバックアップが、バックアップ記憶システム４２０に現在保管されているデータ・オブジェクトと同じＩＤを有するデータ・オブジェクトを含むときに実行することができる。データ・オブジェクトのあるバージョンが非アクティブ化される時期の判別は、たとえば、増分バックアップ中に実行することができる。増分バックアップを実行するときに、クライアント・コンピューティング・デバイス４４０は、すでにバックアップされているファイルのアクティブ・バージョンに関する情報についてバックアップ・サーバ４１０に照会する。この情報に基づいて、クライアント・コンピューティング・デバイス４４０は、クライアント・コンピューティング・デバイス４４０上の所与のファイルが最後のバックアップ以降に変更されているかまたは削除されているかどうかを判別することができる。変更されたファイルの場合、クライアント・コンピューティング・デバイス４４０はバックアップ・サーバ４１０に新しいバージョンを送信することになる。削除されたファイルの場合、クライアント・コンピューティング・デバイス４４０は、そのファイルのアクティブ・バージョンを非アクティブ化するようバックアップ・サーバに通知することになる。
【００６１】
したがって、バックアップ・データ・オブジェクト４２２内に存在する各データ・オブジェクトごとに、バックアップされたデータ・オブジェクトのそのバージョンに関するバックアップ特性を記述する項目をバックアップ・カタログ・データ構造４１４内に設けることができる。この情報は、バックアップされたデータ・オブジェクトのどのバージョンを特定の時点に関するバックアップ・セット内に含めるべきかを判別するため、ならびにどのバージョンをバックアップ記憶システム４２０で維持するかあるいは削除するかを判別するために、バックアップ・サーバ４１０のバックアップ・セット生成エンジン４１６およびバックアップ・バージョン有効期限切れ管理エンジン４１８によって使用することができる。
【００６２】
バックアップ記憶システム４２０内に保管されたバックアップ済みデータ・オブジェクトのバックアップ・セットを生成したいとユーザ、システム管理者などが希望する場合、ユーザは、特定の時点に関するバックアップ・セットを要求するようクライアント・バックアップ・アプリケーション４４２に指示するコマンドをクライアント・コンピューティング・デバイス４４０に入力することができる。ユーザは、現在時刻または過去の一時点である時点を指定することができる。ユーザはさらに、どのタイプのデータ・オブジェクトをバックアップ・セット内に含めるべきかを指定することもできる。たとえば、システム管理者の場合、管理者は、どのクライアント・コンピューティング・デバイス、アプリケーション・サーバ・コンピューティング・デバイスなどについてバックアップ・セットを生成すべきかを指定することができる。その上、ユーザは、データ・オブジェクトのどのディレクトリ、サブディレクトリ、またはその他の部分をバックアップ・セット内に含めるべきかを指定することができる。代わって、クライアント・コンピューティング・デバイス４４０にこの情報をユーザが入力するのではなく、バックアップ・サーバ４１０またはクライアント・バックアップ・アプリケーション４４２は、過去の特定の時点に関するバックアップ・セットを生成するためのバックアップ・セット生成動作をスケジューリングするためのスケジューリング・メカニズムを備えることもできる。
【００６３】
バックアップ・セットの生成のためにクライアント・バックアップ・アプリケーション４４２に提供されるパラメータは、少なくとも１つのネットワーク４３０を介してバックアップ・サーバ４１０に送信されるバックアップ・セット生成要求を作成するために使用される。バックアップ・サーバ４１０は、クライアント・コンピューティング・デバイス４４０からバックアップ・セット生成要求を受信し、バックアップ・セット生成エンジン４１６にバックアップ・セット生成要求を提供する。代わって、バックアップ・セット生成要求は、人間の介入なしにサーバ・バックアップ・エンジン４１２上でスケジューリングし実行することができる。好ましくは、バックアップ・セット生成要求は、他にもパラメータがある中で、それについてバックアップ・セットを生成すべき時点を指定する。バックアップ・セット生成要求の他のパラメータはさらに、バックアップ・セット内に含めるべきデータ・オブジェクトのタイプを指定することができる。しかし、この説明のため、クライアント・コンピューティング・デバイス４４０に関連し、指定の時点基準を満たすすべてのデータ・オブジェクトをバックアップ・セット内に含めるべきであると想定する。その結果、この模範的な実装例では、バックアップ・セット生成要求のパラメータの指定に基づいてバックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングする必要はない。
【００６４】
バックアップ・セット生成要求における特定の時点の指定は、クライアント・コンピューティング・デバイス（複数も可）用のバックアップ・データ・オブジェクトの最新バージョンを使用してバックアップ・セットが生成されることになる現在時刻、あるいは、現在時刻の前日、現在時刻の前の週、現在時刻の前の月など、過去の一時期を指定することができる。現在時刻が指定されるか、過去の一時期が指定されるかにかかわらず、例示的な諸実施形態のメカニズムは、バックアップ・セット生成要求に指定された特定の時点でデータ・オブジェクトのどのバージョンがデータ・オブジェクトの最も最近バックアップされたバージョンであったかを判別するように動作する。
【００６５】
クライアント・コンピューティング・デバイス４４０から受信したバックアップ・セット生成要求における特定の時点の指定と、どのデータ・オブジェクトをバックアップ・セット内に含めるべきかを指定するその他のパラメータがある場合はそのパラメータとに基づいて、バックアップ・セット生成エンジン４１６はバックアップ・カタログ・データ構造４１４をサーチして、どのデータ・オブジェクトを指定の時点に関するバックアップ・セット内に含めるべきかを識別する。特定の時点であるコンピュータのデータ・オブジェクトの最も最近バックアップされたバージョンを有するバックアップ・セットを作成するには、データ・オブジェクトの特定のバックアップ・バージョンがバックアップされた時期、ならびにデータ・オブジェクトがもはやクライアント・コンピュータ上に保管されていないのでデータ・オブジェクトの特定のバックアップ・バージョンがより新しいバージョンで置き換えられたかまたは非アクティブ化された時期を例示的な実施形態のメカニズムが把握していなければならない。この情報は、バックアップ・カタログ・データ構造４１４からリトリーブすることができる。加えて、バックアップ・セット内に含めるために必要である可能性がある限り、バックアップ記憶システム４２０がすべてのデータ・オブジェクトのすべてのバックアップ・バージョンを維持することが動作要件の１つである。
【００６６】
データ・オブジェクトがバックアップされた時期を把握することは、バックアップ・セット内に含めるべきデータ・オブジェクトのバックアップ・バージョンを選択するためにバックアップ・セット生成エンジン４１６によって実装される方法の一部である。これにより、所与の時点について、指定の時点以降にバックアップされた任意のデータ・オブジェクトは新しすぎるので、バックアップ・セット内に含めるための考慮対象にならないと規定し、バックアップ・セット生成エンジン４１６によって実装される第１のバックアップ・セット生成ルールが得られる。換言すれば、指定の時点でまたはそれ以前にバックアップされたデータ・オブジェクトのみをバックアップ・セット内に含めることができる。このルールをバックアップ・バージョンに適用することにより、バックアップ・セット内に含めるためのデータ・オブジェクトの候補バージョンの第１のセットを識別することができる。
【００６７】
換言すれば、バックアップ・セット生成エンジン４１６は、バックアップ・カタログ・データ構造４１４からクライアント・コンピューティング・デバイス４４０のためのバックアップ・データ・オブジェクト４２２用のメタデータをリトリーブすることができる。このメタデータに基づいて、バックアップ・セット生成エンジン４１６は、指定の時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目について、バックアップ・カタログ・データ構造４１４からリトリーブした項目をサーチする。この要件を満たす項目は、第１の候補データ構造内の項目のサブセットとして一時的に保管することができる。
【００６８】
データ・オブジェクトのあるバージョンのバックアップ時間は、それをバックアップ・セットに入れるべきかどうかを判断するための単独標識として使用することができるであろう。しかし、どれが指定の時点より小さいかまたはそれに等しい最新時間であるかを判別するために、バックアップ・セット生成エンジン４１６はそのデータ・オブジェクトのすべてのバージョンのバックアップ時間を比較する必要があると思われるので、バックアップ時間だけでは、そのデータ・オブジェクトのバージョンをバックアップ・セット内に含めるべきかどうかを示す最良の標識ではない。このような比較は、バックアップ記憶システム４２０内に維持されるバージョンの数が増加するにつれて、ますます長い時間を要する。さらに、この手法は、指定の時点以前にバックアップされた最新バージョンがバックアップ記憶システム４２０から削除されている場合に誤った結果をもたらす可能性がある。この場合、指定の時点でそのバージョンがクライアント・コンピューティング・デバイス４４０上で置き換えられている場合でも、以前のバージョンをバックアップ・セット内に含めることができるであろう。さらに、データ・オブジェクトがクライアント・コンピュータ４４０から削除されているために指定の時点以前にバックアップされた最新バージョンが非アクティブ化された場合、誤った結果を達成する可能性がある。このような場合、指定の時間にそのデータ・オブジェクトのいかなるバージョンもクライアント・コンピューティング・デバイスにとって使用可能でない場合、最新バージョンが誤ってバックアップ・セットに追加される可能性があるであろう。
【００６９】
したがって、指定の時点についてデータ・オブジェクトのどのバージョンをバックアップ・セット内に含めるべきかを判別するときのバックアップ・セット生成エンジン４１６の第２の考慮では、バックアップ・バージョンが非アクティブ化された時期を判別することを含む。あるデータ・オブジェクトのバックアップ・バージョンがより新しいバージョンで置き換えられた時期を把握することにより、バックアップ・セット生成エンジン４１６は、任意の他のバージョンについて何も把握していなくても、あるデータ・オブジェクトの所与のバージョンをバックアップ・セット内に含めることを決定することができる。
【００７０】
最も最近バックアップされたバージョンを「アクティブ」バージョンと呼び、すべての前のバージョンを「非アクティブ」バージョンと呼ぶ場合、アクティブ・バージョンがより新しいバージョンで置き換えられる時期がその非アクティブ化の時期、またはその「非アクティブ化時間」になる。同様に、アクティブ・データ・オブジェクトがもはやクライアント・マシン上に保管されていない場合、上述の通り、アクティブ・データ・オブジェクトは次のバックアップ中に非アクティブ化される。まだ非アクティブ化されていないデータ・オブジェクトは、無限に遙か先の将来の非アクティブ化時間を有するものと見なされる。
【００７１】
非アクティブ化時間を使用して、バックアップ・セット生成エンジン４１６によって実装される第２のバックアップ・セット生成ルールでは、所与の時点について、指定の時点にまたはそれ以前に非アクティブ化されたデータ・オブジェクトの任意のバージョンは古すぎて考慮対象にならないと規定する。換言すれば、アクティブ・データ・オブジェクトまたは指定の時点以降に非アクティブ化されたデータ・オブジェクトのみをバックアップ・セット内に含めることができる。
【００７２】
この第２のバックアップ・セット生成ルールをデータ・オブジェクトの候補バージョンの第１のセットに適用することにより、指定の時間にクライアント・コンピューティング・デバイス４４０上に存在したが、指定の時点以降まで非アクティブ化されなかったデータ・オブジェクトの特定のバージョンが識別される。その結果、指定の時点でクライアント・コンピューティング・デバイス４４０上に存在したデータ・オブジェクトの最新バージョンをデータ・オブジェクトの候補バージョンの第２のセットとして識別することができる。
【００７３】
本発明の例示的な代替一実施形態では、バックアップ・セット内に含めるためにデータ・オブジェクトのバージョンの第１の候補セットおよび第２の候補セットを生成するために２つの独立した別個のステップを有する代わりに、単一ステップを使用して、データ・オブジェクトのどのバージョンをバックアップ・セット内に含めるべきかを識別することができる。すなわち、各データ・オブジェクトに関する情報をチェックして、そのオブジェクトが指定の時点でまたはそれ以前にバックアップされたかどうかと、非アクティブ化時間が指定の時点より大きいかどうかを、単一ステップで判別することができる。これらの条件をいずれも満足する場合、そのデータ・オブジェクトはバックアップ・セット内に含めることができる。このプロセスは、各オブジェクトごとにループで繰り返すことができる。
【００７４】
この例示的な代替実施形態は、プロセッサ・サイクルおよび記憶空間を節約できるという点でいくつかの実装例ではより効率的なものになる可能性がある。当然のことながら、いずれかの実装例またはこれらの実装例の変更例も本発明の精神および範囲を逸脱せずに使用することができる。
【００７５】
選択された特定の実装例にかかわらず、次に、バックアップ・セット生成エンジン４１６によって、データ・オブジェクトの識別されたバージョンを指定の時点に関するバックアップ・セットに集合させ、バックアップ・セットの要求側に提供することができる。典型的には、バックアップ・セットは、要求側に出荷される１つまたは複数の取り外し可能媒体（図示せず）に保管されることになる。たとえば、バックアップ・サーバ４１０に関連して磁気テープ・ドライブ、光ディスク記憶ドライブ、またはその他の既知の大容量記憶ドライブ（図示せず）を設けることができ、これらを使用してバックアップ・セットを取り外し可能媒体に書き込むことができる。代わって、バックアップ・セットのサイズが大きすぎない場合、少なくとも１つのネットワーク４３０を介してクライアント・コンピューティング・デバイス４４０にバックアップ・セットを送信することは実現可能である可能性がある。
【００７６】
上記に加えて、過去の複数の時点に関するバックアップ・セットの生成を可能にするために、最も古いバックアップ・セットが要求されると予期される期間についてデータ・オブジェクト用のすべてのバックアップ・バージョンがバックアップ記憶システム４２０内に維持される。データ・オブジェクトに関する複数のバックアップ・バージョンを保管する場合、それに関連する実際的なトレードオフが存在する。データ・オブジェクトのより多くのバージョンをバックアップ記憶システム４２０に保管できるようになるにつれて、バックアップ記憶システム４２０は、バックアップのためだけにより多くの記憶空間を必要とすることになる。データ・オブジェクトの無限数のバージョンを保持することは、一般に実現可能ではない。バックアップ・サーバ４１０がバックアップ・セットを生成する時期まで戻れる時間の長さと、データ・オブジェクトのバックアップ・バージョンを保持するために使用可能な記憶空間の量から、どちらかを選択しなければならない。
【００７７】
例示的な諸実施形態のメカニズムは、たとえば、記憶空間とバックアップ・セット期間とのトレードオフを指定するためにクライアント・バックアップ・アプリケーション４４２を介してユーザが設定できる調整可能パラメータを提供する。例示的な諸実施形態では、ユーザは、保持時間パラメータとバージョン数限界パラメータを設定することができる。保持時間パラメータは、非アクティブ化以降、どのくらいの期間の間、データ・オブジェクトのバージョンを保持するかを指定する。バージョン数限界パラメータは、バックアップ記憶システム内に保持するためのデータ・オブジェクトのバックアップ・バージョンの最大数を指定する。
【００７８】
例示的な諸実施形態では、バックアップ記憶システム４２０内のデータ・オブジェクトのバージョンを削除するか維持するかを判別するために、バックアップ記憶システム４２０内に維持されているデータ・オブジェクトのバックアップ・バージョンに関する情報、すなわち、バックアップ・カタログ・データ構造４１４内のメタデータを定期的に走査するバックアップ・バージョン有効期限切れ管理エンジン４１８が提供される。バックアップ・バージョン有効期限切れ管理エンジン４１８は、バックアップ記憶システム内に維持されているデータ・オブジェクトのバージョンに２通りのルールを適用する。第一に、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトの任意の非アクティブ・バージョンはバックアップ記憶システム４２０から削除することができる。第二に、１つのデータ・オブジェクトのバージョン数がバックアップ・バージョン数パラメータを超える場合、データ・オブジェクトのバージョン数がこの限界パラメータより小さいかまたはそれに等しくなるまで、そのデータ・オブジェクトの最も古いバックアップ・バージョンを削除することができる。このようにして、バックアップ・バージョンに使用される記憶空間の量は、例示的な実施形態のメカニズムを使用して、その間に時点バックアップ・セットを生成できる特定のスライディング・ウィンドウについて最小のものに保持することができる。
【００７９】
時点の概念をバックアップ・セットに適用することにより、システム管理者には、最も古い非アクティブ・バックアップに対応する時間制限まで、任意の特定の時点に関するバックアップ・セットを作成する能力が提供される。したがって、システム管理者は、昨日のバックアップ・セットを作成するのを明日まで待つことができる。その結果、システム管理者には、要求を満足するためのウィンドウが別の方法で閉じられた後にバックアップ・データに関する新しい予期しない要求に応える能力と、磁気テープ・ドライブ障害などの動作上の問題が発生しても自分の事業の存続が依存する月末のバックアップ・セットを作成できないわけではないことが分かるという安心感が与えられる。
【００８０】
加えて、特定の時点へのバックアップ・セットを作成すると、不整合問題も解決される。特定の時点でアクティブであったデータ・オブジェクトのみをコピーすることにより、あるバックアップ・バージョンがより新しいもので置き換えられた場合でももはや問題にならない。それがより新しいバックアップ・バージョンで置き換えられた回数にかかわらず、バックアップの正しいバージョンがバックアップ・セットにコピーされることになる。データ・オブジェクトが指定の時点でもはやクライアント・マシン上に存在していなかった場合、これらはバックアップ・セットにコピーされない。したがって、バックアップ・セットの生成は、指定の時点で存在していたバックアップ・データを正確にかつ一貫して反映するアトミック動作になる。
【００８１】
上記の例示的な諸実施形態については、前述の通り、バックアップ・サーバ・ベースのシステムに関して説明してきたが、本発明はこのようなものに限定されないことに留意されたい。それとは反対に、バックアップ・サーバに帰する上記の動作も、本発明の精神および範囲を逸脱せずに、クライアント・コンピューティング・デバイス４４０内で完全に実行することができる。このような一実施形態では、たとえば、クライアント・バックアップ・アプリケーション４４２には、クライアント・コンピューティング・デバイス４００にとってローカルのバックアップ記憶システムにデータ・オブジェクトをバックアップし、このようにバックアップされたデータ・オブジェクトに基づいてバックアップ・セットを生成するために、バックアップ・エンジン、バックアップ・セット生成エンジン、バックアップ・カタログ・データ構造、またはバックアップ・バージョン有効期限切れ管理エンジン、あるいはこれらの組み合わせを設けることができる。したがって、例示的な諸実施形態のメカニズムは、図４に示されているものなどの分散データ処理システムではなく、単一コンピューティング・デバイス内に完全に実装することができる。
【００８２】
図５および図６は、本発明の例示的な一実施形態の模範的な動作の概要を示している。流れ図の各ブロックおよび流れ図内の複数ブロックの組み合わせはコンピュータ・プログラム命令によって実装可能であることが理解されるであろう。これらのコンピュータ・プログラム命令は、プロセッサまたはその他のプログラマブル・データ処理装置上で実行される命令によって流れ図の１つまたは複数のブロックに指定された機能を実装するための手段が作成されるように、プロセッサまたはその他のプログラマブル・データ処理装置に提供することができる。また、これらのコンピュータ・プログラム命令は、コンピュータ可読メモリまたは記憶媒体に保管された命令によって流れ図の１つまたは複数のブロックに指定された機能を実装する命令手段を含む装置（article of manufacture）が生成されるように、特定の方法で実行するようプロセッサまたはその他のプログラマブル・データ処理装置に指示可能なコンピュータ可読メモリまたは記憶媒体に保管することもできる。
【００８３】
したがって、流れ図の複数のブロックは、指定の機能を実行するための手段の組み合わせ、指定の機能を実行するためのステップの組み合わせ、および指定の機能を実行するためのプログラム命令手段をサポートする。また、流れ図の各ブロックおよび流れ図内の複数ブロックの組み合わせは、指定の機能またはステップを実行する特殊目的ハードウェアベースのコンピュータ・システムによるか、あるいは特殊目的ハードウェアとコンピュータ命令の組み合わせにより、実装可能であることも理解されるであろう。
【００８４】
図５は、例示的な一実施形態によりバックアップ・セットを生成するための模範的な動作の概要を示す流れ図である。図５に示されている通り、この動作は、それに関するバックアップ・セットを生成すべき指定の時点を有するバックアップ・セット生成要求の受信から始まる（ステップ５１０）。バックアップ記憶システム内のバックアップされたデータ・オブジェクトであって、指定の時点またはそれ以前のバックアップ・タイムスタンプを有するデータ・オブジェクトが識別され、それにより、バックアップされたデータ・オブジェクトのバージョンの第１の候補セットが生成される（ステップ５２０）。その非アクティブ化時間が指定の時点より大きい第１の候補セット内のデータ・オブジェクトのバージョンが識別され、それにより、バックアップ・セット内に含めるためのデータ・オブジェクトのバージョンの第２の候補セットが生成される（ステップ５３０）。
【００８５】
本発明の例示的な代替一実施形態では、バックアップ・セット内に含めるためにデータ・オブジェクトのバージョンの第１の候補セットおよび第２の候補セットを生成するために２つの独立した別個のステップを有する代わりに、単一ステップを使用して、データ・オブジェクトのどのバージョンをバックアップ・セット内に含めるべきかを識別することができることに留意されたい。すなわち、前述の通り、各データ・オブジェクトに関する情報をチェックして、そのオブジェクトが指定の時点でまたはそれ以前にバックアップされたかどうかと、非アクティブ化時間が指定の時点より大きいかどうかを、単一ステップで判別することができる。これらの条件をいずれも満足する場合、そのデータ・オブジェクトはバックアップ・セット内に含めることができる。このプロセスは、各オブジェクトごとにループで繰り返すことができる。
【００８６】
本発明のいくつかの例示的な諸実施形態では、バックアップ・セット生成要求に指定された特定のコンピューティング・デバイスおよびオブジェクト・タイプに関連するオブジェクトを識別する追加のステップをステップ５２０およびステップ５３０の前に実行できることにさらに留意されたい。指定のコンピューティング・デバイスに関連する特定のタイプのオブジェクトに関する情報をリトリーブし、図５に規定されている残りのステップを実行するための基礎として使用することができる。
【００８７】
バックアップ・セット内に含めるためのデータ・オブジェクトのバージョンが識別されると、第２の候補セットに対応するデータ・オブジェクトのバージョンのセットとして指定の時点に関するバックアップ・セットが生成される（ステップ５４０）。次に、バックアップ・セットの要求側にそのバックアップ・セットが提供される（ステップ５５０）。上述の通り、これは、たとえば、要求側に出荷するための取り外し可能媒体にデータ・オブジェクトの識別済みバージョンを書き込むことを含むことができる。次に、動作は終了する。
【００８８】
図６は、例示的な一実施形態により除去するための有効期限切れバックアップを識別するための模範的な動作の概要を示す流れ図である。図６に示されている通り、この動作は、バックアップ記憶システム内のデータ・オブジェクトのバックアップ・バージョンの走査を開始することにより始まる（ステップ６１０）。あるデータ・オブジェクトの次のバージョンに関するバックアップ・カタログ情報が得られ（ステップ６２０）、そのデータ・オブジェクトのバージョンのバックアップの時期が保持時間より古いかどうかに関する判別が行われる（ステップ６３０）。古い場合、そのデータ・オブジェクトのバージョンがアクティブ・バージョンであるかどうかに関する判別が行われる（ステップ６４０）。アクティブ・バージョンである場合、そのデータ・オブジェクトのバージョンがバックアップ記憶システム内に維持される（ステップ６５０）。そのデータ・オブジェクトのバージョンがアクティブ・バージョンではない場合、そのバージョンはバックアップ記憶システムから削除される（ステップ６６０）。
【００８９】
そのデータ・オブジェクトのバージョンのバックアップの時期が保持時間より古くない場合（ステップ６３０）、そのデータ・オブジェクトに関して維持されているバージョン数がバージョン限界パラメータより大きいかどうかに関する判別が行われる（ステップ６７０）。大きい場合、そのデータ・オブジェクトの最も古いバージョンがバックアップ記憶システムから削除され（ステップ６８０）、動作はステップ６７０に戻る。バックアップ記憶システム内に維持されているデータ・オブジェクトのバージョン数が非アクティブ・バージョン限界より大きくない場合、そのデータ・オブジェクトのバージョンがバックアップ記憶システム内に維持される（ステップ６９０）。
【００９０】
次に、走査すべきデータ・オブジェクトのバージョンが他にも存在するかどうかに関する判別が行われる（ステップ７００）。存在する場合、動作はステップ６２０に戻り、そこで次のデータ・オブジェクトに関するバックアップ・カタログ情報がリトリーブされる。走査すべきデータ・オブジェクトのバージョンがそれ以上存在しない場合、動作は終了する。
【００９１】
したがって、例示的な諸実施形態は、特定の指定の時点に関するバックアップ・セット内に含めるべきデータ・オブジェクトのバージョンを選択するためのメカニズムを提供する。このようにして、保持時間および許可バージョン数によって決定される限界まで任意の特定の時点に関するバックアップ・セットを生成することができる。したがって、データ・オブジェクトの最新バージョンが必ずしも所望のバックアップ・セットではないという様々な目的のためにバックアップ・セットを入手する際に、より大きいフレキシビリティが提供される。例示的な諸実施形態は、特定の時点に関するデータ・オブジェクトの最新バージョンを識別し、それをバックアップ・セットに入れて要求側に提供するためのメカニズムを提供する。
【００９２】
完全に機能するデータ処理システムに関連して本発明を説明してきたが、当業者であれば、本発明のプロセスがコンピュータ可読命令媒体の形および様々な形式で分散可能であることと、その分散を実行するために実際に使用される信号伝送媒体の特定のタイプにかかわらず、本発明が等しく適用されることを理解することになることは、留意すべき重要なことである。コンピュータ可読媒体の例としては、フレキシブル・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録可能タイプの媒体と、たとえば、無線周波および光波伝送などの伝送形式を使用する、デジタルおよびアナログ通信リンク、有線または無線通信リンクなどの伝送タイプの媒体を含む。コンピュータ可読媒体は、特定のデータ処理システムで実際に使用するためにデコードされたコード化フォーマットの形を取ることができる。
【００９３】
本発明の説明は、例示および解説のために提示されたものであり、網羅するためあるいは開示された形式の本発明に限定するためのものではない。多くの変更例および変形例は当業者にとって自明なものになるであろう。本発明の原理、実用的な適用例を最も良く説明し、企図された特定の用途に適した様々な変更を含む様々な実施形態について他の当業者が本発明を理解できるようにするために、実施形態が選択され説明されている。
【図面の簡単な説明】
【００９４】
【図１】例示的な一実施形態の模範的な諸態様を実装可能な分散データ処理システムの模範的なブロック図である。
【図２】例示的な一実施形態の模範的な諸態様を実装可能なサーバ・コンピューティング・デバイスの模範的なブロック図である。
【図３】例示的な一実施形態の模範的な諸態様を実装可能なクライアント・コンピューティング・デバイスの模範的なブロック図である。
【図４】例示的な一実施形態によるバックアップ・セット生成システムの基本動作コンポーネントを例示する模範的なブロック図である。
【図５】例示的な一実施形態によりバックアップ・セットを生成するための模範的な動作の概要を示す流れ図である。
【図６】例示的な一実施形態により除去するための有効期限切れバックアップを識別するための模範的な動作の概要を示す流れ図である。
【図１】
2009519522.tif 000003
【図２】
2009519522.tif 000004
【図３】
2009519522.tif 000005
【図４】
2009519522.tif 000006
【図５】
2009519522.tif 000007
【図６】
2009519522.tif 000008
【手続補正書】
【提出日】平成21年2月17日(2009.2.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ・プログラムにおいて、コンピューティング・デバイス上で実行されると、前記コンピューティング・デバイスに、
バックアップ・セットの生成に関する要求を受信させ、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点であり、
前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させ、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管させる、コンピュータ・プログラム。
【請求項２】
前記時点で前記データ・オブジェクトの最新バージョンであり、前記時点以降の非アクティブ化時間を有する、前記バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する
ことにより、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別し、
前記時点以降の非アクティブ化時間を有する、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別する
ことにより、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項４】
データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブし、
前記バックアップ・カタログ情報内の項目をサーチして、前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別し、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を前記第１の候補セットに保管する
ことにより、前記コンピューティング・デバイスに、データ・オブジェクトのバージョンの第１の候補セットを識別させる、請求項３に記載のコンピュータ・プログラム。
【請求項５】
前記第１の候補セット内の項目をサーチして、前記時点以降の非アクティブ化時間を有する項目を識別し、
前記時点以降の非アクティブ化時間を有する項目を前記第２の候補セットに保管する
ことにより、前記コンピューティング・デバイスに、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別させる、請求項４に記載のコンピュータ・プログラム。
【請求項６】
さらに、前記コンピューティング・デバイスに、
前記データ・オブジェクトの前記バージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別させ、
前記保持時間パラメータより古いバックアップ・タイムスタンプを有する前記データ・オブジェクトの前記バージョンのうちのあるデータ・オブジェクトの各バージョンごとに、前記バージョンが前記データ・オブジェクトのアクティブ・バージョンであるかどうかを判別させ、
前記データ・オブジェクトの前記バージョンが前記データ・オブジェクトのアクティブ・バージョンではない場合に、前記データ・オブジェクトの前記バージョンを削除させる、請求項１に記載のコンピュータ・プログラム。
【請求項７】
さらに、前記コンピューティング・デバイスに、
前記データ・オブジェクトの前記バージョンをサーチして、それについて前記バックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別させ、
前記バージョン限界より大きいバージョン数が前記バックアップ記憶システム内に維持されているデータ・オブジェクトの前記バージョンのうちの最も古いバージョンを削除させる、請求項１に記載のコンピュータ・プログラム。
【請求項８】
バックアップ・セットの生成に関する前記要求が、前記バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含み、前記少なくとも１つのパラメータに基づいて前記バックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、さらに、前記コンピューティング・デバイスに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項９】
前記バックアップ・セット内に含めるためのデータ・オブジェクトの前記タイプを指定する前記少なくとも１つのパラメータが、それについて前記バックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについて前記バックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、前記バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定する、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記コンピューティング・デバイスに、バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１に記載のコンピュータ・プログラム。
【請求項１１】
プロセッサと、
前記プロセッサに結合可能なメモリと、
前記プロセッサに結合可能な記憶装置と、
を有するシステムにおいて、前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、
バックアップ・セットの生成に関する要求を受信させ、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点であり、
前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させ、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管させる、命令を保管するように動作可能である、システム。
【請求項１２】
前記時点で前記データ・オブジェクトの最新バージョンであり、前記時点以降の非アクティブ化時間を有する、前記バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する
ことにより、前記命令が、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１３】
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する、バックアップ記憶システム内のデータ・オブジェクトのバージョンの第１の候補セットを識別し、
前記時点以降の非アクティブ化時間を有する、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別する
ことにより、前記命令が、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１４】
データ・オブジェクトのバージョンに関するバックアップ・カタログ情報をリトリーブし、
前記バックアップ・カタログ情報内の項目をサーチして、前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を識別し、
前記時点に等しいかまたはそれ以前のバックアップ・タイムスタンプを有する項目を前記第１の候補セットに保管する
ことにより、前記命令が、前記プロセッサに、データ・オブジェクトのバージョンの第１の候補セットを識別させる、請求項１３に記載のシステム。
【請求項１５】
前記第１の候補セット内の項目をサーチして、前記時点以降の非アクティブ化時間を有する項目を識別し、
前記時点以降の非アクティブ化時間を有する項目を前記第２の候補セットに保管する
ことにより、前記命令が、前記プロセッサに、前記第１の候補セット内のデータ・オブジェクトのバージョンの第２の候補セットを識別させる、請求項１４に記載のシステム。
【請求項１６】
前記命令がさらに、前記プロセッサに、
前記データ・オブジェクトの前記バージョンをサーチして、保持時間パラメータより古いバックアップ・タイムスタンプを有するデータ・オブジェクトを識別させ、
前記保持時間パラメータより古いバックアップ・タイムスタンプを有する前記データ・オブジェクトの前記バージョンのうちのあるデータ・オブジェクトの各バージョンごとに、前記バージョンが前記データ・オブジェクトのアクティブ・バージョンであるかどうかを判別させ、
前記データ・オブジェクトの前記バージョンが前記データ・オブジェクトのアクティブ・バージョンではない場合に、前記データ・オブジェクトの前記バージョンを削除させる、請求項１１に記載のシステム。
【請求項１７】
前記命令がさらに、前記プロセッサに、
前記データ・オブジェクトの前記バージョンをサーチして、それについて前記バックアップ記憶システム内に維持されているバージョン数がバージョン限界より大きいデータ・オブジェクトを識別させ、
前記バージョン限界より大きいバージョン数が前記バックアップ記憶システム内に維持されているデータ・オブジェクトの前記バージョンのうちの最も古いバージョンを削除させる、請求項１１に記載のシステム。
【請求項１８】
バックアップ・セットの生成に関する前記要求が、前記バックアップ・セット内に含めるためのデータ・オブジェクトのタイプを指定する少なくとも１つのパラメータを含み、前記少なくとも１つのパラメータに基づいて前記バックアップ・セット内に含めるべきデータ・オブジェクトをフィルタリングすることにより、前記命令がさらに、前記プロセッサに、バックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項１９】
前記バックアップ・セット内に含めるためのデータ・オブジェクトの前記タイプを指定する前記少なくとも１つのパラメータが、それについて前記バックアップ・セットを生成すべき１つまたは複数のクライアント・コンピューティング・デバイスのＩＤ、それについて前記バックアップ・セットを生成すべき１つまたは複数のサーバ・コンピューティング・デバイスのＩＤ、前記バックアップ・セット内に含めるべき１つまたは複数のディレクトリおよびサブディレクトリのＩＤのうちの少なくとも１つを指定する、請求項１８に記載のシステム。
【請求項２０】
前記命令が、前記プロセッサに、バックアップ・セットの生成に関する前記要求に規定された基準を満たす前記バックアップ記憶システム内の各データ・オブジェクトについて実行される単一動作でバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別させる、請求項１１に記載のシステム。
【請求項２１】
データ処理システム内でバックアップ・セットを生成するための方法において、
バックアップ・セットの生成に関する要求を受信するステップであって、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点である、前記受信するステップと、
前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別するステップと、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管するステップと、
を含む、方法。
【請求項２２】
バックアップ・セットを生成するための装置において、
バックアップ・セットの生成に関する要求を受信する手段であって、前記要求がそれに関して前記バックアップ・セットを生成すべき時点を含み、前記時点が現在時刻以前の時点である、前記受信する手段と、
前記時点でデータ・オブジェクトの最も最近バックアップされたバージョンに関連するバックアップ記憶システム内のデータ・オブジェクトのバージョンを識別する手段と、
前記データ・オブジェクトの識別されたバージョンを前記時点に関する前記バックアップ・セットとして保管する手段と、
を有する、装置。
【国際調査報告】
2009519522.tif 000009
2009519522.tif 000010
2009519522.tif 000011
2009519522.tif 000012