(57)【特許請求の範囲】
【請求項１】
すべてのメンバが存在しなければ実行されないデータ・オブジェクトのグループをソース・サイトおよびターゲット・サイトを有する分散データ記憶システムの間で転送するシステムであって、
ａ．前記ソース・サイトに配置され、ソース・サイトに存在する前記データ・オブジェクトの前記グループにグループ識別子を割り当てるように構成された識別子割当モジュールと、
ｂ．前記ソース・サイトに配置され、前記データ・オブジェクトのグループの各データ・オブジェクトと前記グループ識別子とを並列に転送するかまたは連続して、前記ソース・サイトから前記ターゲット・サイトへ前記データ・オブジェクトのグループを転送するように構成された送信モジュールと、
ｃ．前記ターゲット・サイトに配置され、前記ターゲット・サイトで前記グループ識別子を用いて前記グループの前記データ・オブジェクトの数をカウントし、前記カウントが前記グループのメンバの数に対応することを判断する追跡モジュールと、
前記ソース・サイトから前記ターゲット・サイトへ転送される前記データ・オブジェクトの前記グループの前記グループ識別子を検索するため、一時的に作成される第１リストと、
前記データ・オブジェクトのどれが前記グループのうちの受信されていないメンバであるかを識別させるため、一時的に作成される第２リストと、
前記ターゲット・サイトに含まれ、前記データ・オブジェクトの各グループのオブジェクト属性を含み、前記オブジェクト属性が前記データ・オブジェクトの元のディレクトリをリストし、永続的に保持される第３リストと、
前記データ・オブジェクトが前記記憶装置内でアクセスされる順序で前記データ・オブジェクトを前記ターゲット・サイトへ転送し、前記ソース・サイトに配置された送信モジュールと
を含むシステム。
【請求項２】
前記グループへのメンバシップを判定するために、前記データ・オブジェクトの前記グループの１データ・オブジェクトのグループ識別子を、前記第１リスト内に入力されたデータ・オブジェクトのグループのそれぞれの前記グループ識別値と比較する、前記ターゲット・サイトに配置された比較モジュールをさらに含む、請求項１に記載のシステム。
【請求項３】
グループ化された前記データ・オブジェクトのそれぞれについて前記第１リスト内に前記データ・オブジェクトが属する前記グループを示す項目を作成し、前記ターゲット・サイトに配置されたデータベース入力モジュールをさらに含む、請求項１に記載のシステム。
【請求項４】
前記ソース・サイトの複数の記憶装置に分散されたデータ・オブジェクトの前記グループのデータ・オブジェクトを検索し、前記ソース・サイト内に配置されたオブジェクト・ロケータ・モジュールをさらに含む、請求項１に記載のシステム。
【請求項５】
前記送信モジュールが、さらに、データ・オブジェクトの前記グループ内にない他のデータ・オブジェクトを転送し、データ・オブジェクトの前記グループの前記データ・オブジェクトの前記転送内に前記他のデータ・オブジェクトを含ませることを含めて、前記記憶装置に保管された前記順序で前記グループに含まれるすべての前記データ・オブジェクトを転送する、請求項４に記載のシステム。
【請求項６】
前記ソース・サイトが、バックアップ・サーバ・コンピュータを含み、前記データ・オブジェクトの前記グループが、基本ファイルと、ソース・ファイルを復元するために前記基本ファイルと組み合わされるように構成された１つまたは複数のサブファイルとを含む、請求項１に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散データ記憶環境にまたがって関連するデータ・オブジェクトを転送するシステムおよび方法に関する。具体的に言うと、本発明は、データ・オブジェクトのグループに固有の識別子を使用し、ターゲット保管場所内のリストを用いてデータ・オブジェクトのグループを追跡することによって、ソース保管場所とターゲット保管場所の間でデータ・オブジェクトのグループを転送し、その結果、完全なグループだけが転送され、ターゲットで保存されるようにするシステムおよび方法に関する。
【０００２】
【従来の技術】
データ処理システムでは、通常はバックアップ・サブシステムと称するバックアップ／復元サブシステムが、通常は、ファイルの最近のコピーまたはバージョンと、同一のファイルの以前のバージョンのいくつかを、磁気ディスク・ドライブ、テープ、光ディスク記憶装置などの何らかの形のバックアップ記憶装置に保管する手段として使用される。バックアップ・サブシステムは、所与のデータ処理システムでのデータの損失に対する保護の手段として使用される。たとえば、ファイルのオンライン版が、停電、ハードウェア・エラー、ソフトウェア・エラー、ユーザの誤り、または他のタイプの問題が原因で破壊されるか破損した場合に、バックアップ・サブシステムに保管されたそのファイルの最新版を復元することができ、したがって、データ損失の危険性が最小になる。バックアップ・サブシステムのもう１つの重要な用途が、障害が発生しないが、ファイルまたはデータが削除または変更された（事故または故意のいずれかで）場合であっても、これらのファイルまたはデータを、以前の状態に復元でき、したがって、データの損失が最小になることである。
【０００３】
バックアップ・サブシステムに密接に関連する概念が、通常はアーカイブ・サブシステムと称するアーカイブ／リトリーブ・システムである。アーカイブは、テープなどの低コスト・ストレージにファイルのコピーを作り、その結果、ディスク装置などの高価な技術からファイルを削除できるようにすることを指す。ディスク装置は、頻繁に更新されているので、アーカイブ・コピーは、特定の時点でのデータの集合の状態を保存するのにも役立つ。本明細書で開示するグループ化されたデータ・オブジェクトを転送する改良された方法は、主にバックアップ・システムについて説明されるが、本明細書に記載のシステムおよび方法が、アーカイブ・システムまたは他の関連するデータ記憶システムおよび記憶管理システムにも適用可能であることが、データ処理の当業者には明白であろう。
【０００４】
現時点で、バックアップ・システムの大多数が、データ処理環境内に配置されたホスト・システム上で稼動する。通常、ファイルの新しいバージョン（変更されたバージョンとも称する）は、毎日の終りなどの所定のスケジュールに基づいて、またはファイルが更新され保管されるたびにその後に、バック・アップされる。
【０００５】
最近、低コスト・ローカル・エリア・ネットワーキング、パーソナル・コンピュータ、およびワークステーション技術の出現によって、「クライアント／サーバ」システムまたは環境と称する新しいタイプのデータ処理アーキテクチャが促進された。図１に示されたクライアント／サーバ・システム１０は、通常は、パーソナル・コンピュータまたはワークステーションなどの複数のクライアント・コンピュータ１１（クライアントとも称する）からなる。クライアント・コンピュータ１１は、ディスク装置などのローカル記憶媒体１２を備えることが好ましい。クライアント・コンピュータ１１は、イーサネット(R)またはトークン・リングなどのネットワーク１３を介して通信し、ネットワーク１３は、クライアント・コンピュータ１１を１つまたは複数のネットワーク・サーバ・コンピュータ１４にリンクする。
【０００６】
ネットワーク・サーバ・コンピュータ１４は、一般に、メインフレーム・コンピュータ、ワークステーション、または他のハイ・エンド・コンピュータであり、通常は、ディスク装置、テープ記憶装置、光ディスク記憶装置などの１つまたは複数のローカル記憶媒体１５を備える。ネットワーク・サーバ・コンピュータ１４には、通常は、クライアント・コンピュータ１１によって共用されるか他の形でアクセス可能なさまざまなプログラムまたはデータが含まれる。ネットワークを介して通信するそのようなクライアント／サーバ・システムを、しばしば「分散」システムと称する。
【０００７】
分散クライアント／サーバ環境は、データ処理、保全性、およびそのようなデータのバックアップに関する多数の大きな問題を提示する。クライアント／サーバ環境での大きな懸念の１つは、かなりの量のクリティカルなデータが、通常はサーバ・コンピュータに適用されるセキュリティ、信頼性、または管理の世話が欠けているクライアント・サブシステムに配置される可能性があることである。もう１つの懸念は、クライアント・コンピュータのユーザが、規則的にデータをバックアップするのに必要な時間を設け、世話をすることをしないことがしばしばなので、クライアント・コンピュータから偶然にデータが失われる場合があることである。もう１つの懸念は、クライアントから大量のデータをバック・アップすることが、大量のネットワーク帯域幅およびサーバ記憶スペースを必要とする可能性があることである。
【０００８】
最近、複数のクライアント／サーバ・バックアップ・システムが、上に列挙した懸念の一部を軽減するために開発された。その一例が、以前はＡＤＳＭ（ADSTAR Distributed Storage Manager）と称したＩＢＭ社のTivoli Storage Manager（ＴＳＭ）である。この技術は、クライアント・データのバックアップ・コピーをバックアップ・サーバ上で作成することによって、上で述べた欠陥の一部を克服する。クライアント・コピーは、ユーザのかかわりなしに自動的に作られ、バックアップ・サーバによって管理される記憶装置に保管される。
【０００９】
ＴＳＭなどの通常のクライアント／サーバ・バックアップ・システムは、通常は、クライアント・コンピュータ１１内で動作するクライアント・アプリケーションおよびネットワーク・サーバ・コンピュータ１４内で動作するサーバ・アプリケーションと共に動作する。クライアント・バックアップ・プログラムとも称するクライアント・アプリケーションが、事前に指定された時刻または定期的な時刻に活動化され、サーバ・バックアップ・プログラムとも称するサーバ・アプリケーションと連絡をとる。連絡を確立し、認証を実行した後に、クライアント・アプリケーションは、どの種類のバックアップ動作を行う必要があり、クライアント・コンピュータのどのファイルが現在のバックアップの対象になるかに関してクライアント・アプリケーションに指示する、ユーザが構成可能なポリシを調べる。その後、クライアント・アプリケーションは、クライアント・コンピュータ上のファイルのすべてまたはサブセットを検索し、どのファイルをバック・アップしなければならないかを判定する。
【００１０】
たとえば、最後のバックアップが行われた後に変更されたデータ・ファイルを、バックアップ動作のために選択することができる。バック・アップするファイルを選択した後に、クライアント・アプリケーションは、ネットワークを介してサーバ・アプリケーションにこれらのファイルを送信する。サーバ・アプリケーションは、受信したファイルごとに、バックアップ・カタログなどのリスト内に項目を作成し、これらのファイルを、バックアップ・サーバに接続された記憶装置に保管する。
【００１１】
バックアップは、増分バックアップとして行うことができ、差分化を使用することができる。増分バックアップを使用するシステムでは、バックアップは、前の増分バックアップまたは全バックアップの後に変更されたファイルだけについて実行される。差分化は、同一のファイルの２つのバージョンの間の比較に頼り、複数のバージョンが、「基本ファイル」として、基本ファイルに対する変更だけを表すいくつかの「サブファイル」と共に保管される。これらの小さいファイルを、「デルタ・ファイル」または「差分ファイル」と称する場合もあるが、これらのファイルには、通常は基本ファイルから変更されたバイトまたはブロックである変更された部分だけが含まれる。デルタ・ファイルは、ファイルの現行バージョンと、基本ファイルと称する、同一のファイルの以前のバージョンとの比較の結果として生成される。したがって、差分化では、記憶スペースおよびネットワーク・トラフィックの削減を達成するために、ファイル・バージョン間の冗長性が活用される。
【００１２】
バックアップ・システムは、データ記憶を効率的に管理するために、記憶階層に編成された記憶装置にデータを保管することができる。記憶階層は、最上位レベルのデバイスへのデータ記憶が、高価であるがより短いアクセス時間を有する、複数のレベルの記憶装置を提供する。階層を下に移動するにつれて、データ記憶が安価になるが、アクセス時間が長くなる。したがって、頻繁にアクセスされるデータは、上位レベルに保管され、下位レベルは、長期データ記憶に適する。階層のレベルの中で、データは、記憶プールに保管される。記憶プールは、類似するジオメトリを有する記憶ボリュームの集合である。プールは、特定のデバイス上で使用することができるボリュームの集合である。プールに保管される媒体の例には、テープ、光ディスク、磁気ディスク、および同一のフォーマットを有する他の媒体が含まれる。
【００１３】
バックアップ・システムは、複数の他の重要な動作も実行する。たとえば、前に作られたファイルのバックアップ・コピーを、ストレージ・コストを減らすためにディスク装置から磁気テープ記憶装置に移動することができる。クライアント／サーバ・バックアップ・システムのもう１つの重要な機能は、ユーザがファイルの復元を要求する時に行われる。クライアント・アプリケーションが、サーバ・アプリケーションに連絡し、サーバ・アプリケーションが、そのバックアップ・カタログを調べて、ファイルのバックアップ・コピーの位置を確立する。その後、サーバは、ネットワークを介してクライアント・コンピュータにそのファイルを返し、クライアント・コンピュータは、そのファイルをユーザに使用可能にする。
【００１４】
分散クライアント／サーバ環境でバックアップ・システム内で使用することができるハードウェアの例には、メインフレーム、ワークステーション、および他のハイ・エンド・コンピュータなどの１つまたは複数のサーバ・コンピュータと、ＩＢＭ  ３３９０磁気記憶システム、ＩＢＭ  ３４９４磁気テープ記憶ライブラリ、またはＩＢＭ  ３５９５光ディスク・ライブラリなどの記憶媒体が含まれる。光ディスク・ライブラリおよび磁気テープ記憶ライブラリは、通常は、読取／書込ドライブへのテープ・カートリッジまたは光ディスク・カートリッジの自動化された機械的なマウントおよびデマウントを提供する。そのような装置が複数存在する時には、サーバ・アプリケーションは、最もアクセスされる可能性が高いバックアップ・ファイルがローカル不揮発性メモリなどのアクセスがより高速のデバイスに保存され、アクセスされる可能性が低いファイルが、テープまたは光ディスクなどの安価だがアクセスの遅いデバイスに保存される、記憶階層内のデバイスを使用するように構成されることがしばしばである。
【００１５】
そのような分散バックアップ・システムの課題の１つが、バックアップ・サーバが時代遅れまたは容量不足になる可能性があることである。これおよび他の理由から、サーバに保管されたファイルおよび他のデータ・オブジェクトを別のサーバに転送することが必要になる場合がある。このデータ・オブジェクトの転送は、データ・オブジェクトが保管される記憶階層の性質のゆえに、課題になる。データ・オブジェクトは、記憶階層の多数の異なるボリュームおよび異なる媒体タイプにまたがって分散される可能性がある。データ・オブジェクトの一部が、グループ内で関連するが、記憶媒体上で連続的に保管されていない場合があるという事実によって、データ転送がさらに複雑になる。たとえば、差分化バックアップ・システムでは、基本ファイルおよびその基本ファイルに対する変更を反映したサブファイルを含むファイルのグループが、クライアントへの復元のために使用可能になっていなければならない。これらのグループ化されたファイルの転送では、これらのファイルの関係を追跡しなければならない。
【００１６】
したがって、分散バックアップ・システムの間での関連するデータ・オブジェクトのグループの転送が、ジレンマを提示する。グループ化された順序でのファイルの転送は、それを行うために記憶プール・ボリュームの過度のマウントと位置決めが必要になるので、過度の時間を消費する。さらに、ファイルが保管された順序（ファイルを受信した順序に基づく可能性がある）でファイルを転送すると、グループ内のファイルの間の関係を追跡するのが困難になる。したがって、分散データ記憶システム内で関連するファイルのグループを効率的に転送できると同時に、グループ化されたファイルの関係を追跡し、その結果、グループ化されたファイルをターゲット保管場所で関連付けることができるようにするシステムおよび方法の必要が、当技術分野に存在する。
【００１７】
【発明が解決しようとする課題】
本発明のデータ記憶管理のシステムおよび方法は、現在の最新技術に応じて、具体的には、現在使用可能な記憶管理システムによって完全には解決されていない当技術分野の問題および必要に応じて、開発された。したがって、本発明の総合的な目的は、上で述べた当技術分野の短所の多数またはすべてを克服する、データ記憶管理システムおよびデータ記憶管理方法を提供することである。
【００１８】
【課題を解決するための手段】
前述の目的を達成するため、本明細書で好ましい実施形態で実施され、広義に説明される本発明に従って、データ・オブジェクトのグループ化を維持しながら分散データ記憶システムにまたがってデータ・オブジェクトのグループを転送する、改良されたシステムを提供する。一実施形態では、このシステムに、ソース・サイトに配置され、ソース・サイトのデータ・オブジェクトのグループにグループ識別子を割り当てるように構成された、識別子割当モジュールが含まれる。
【００１９】
オブジェクト・ロケータ・モジュールも、ソース・サイト内に設けることができる。一実施形態では、オブジェクト・ロケータ・モジュールが、ソース・サイトの別々の記憶装置にまたがって分散したデータ・オブジェクトのグループのデータ・オブジェクトを突きとめるように構成される。データ・オブジェクトのグループは、ソース・サイトの記憶ボリューム上で他のデータ・オブジェクトと共に散在させることができる。
【００２０】
送信モジュールも、ソース・サイトに設けられることが好ましく、送信モジュールは、データ・オブジェクトが記憶装置内でアクセスされる順序でターゲット・サイトにデータ・オブジェクトを転送するように構成することができる。送信モジュールは、さらに、データ・オブジェクトのグループ内にない他のデータ・オブジェクトを転送し、すべてのデータ・オブジェクトを記憶装置に保管された順序で転送するように構成されることが好ましい。これには、他のデータ・オブジェクトを、グループのデータ・オブジェクトの転送の中に散在させることを含めることができる。転送モジュールは、実質的にデータ・オブジェクトのグループの各データ・オブジェクトと共に、グループ識別子を転送することが好ましい。
【００２１】
第１リストは、ターゲット・サイト内に設けられることが好ましく、ソース・サイトからターゲット・サイトに転送されるデータ・オブジェクトのグループに関する情報を追跡するように構成されることが好ましい。第２リストも、ターゲット・サイトに設けることができ、どのデータ・オブジェクトが、グループのメンバのすべてが受信されてはいないグループのメンバであるかを追跡するように構成されることが好ましい。
【００２２】
追跡モジュールが、ターゲット・サイトに設けられることが好ましく、一実施形態では、グループ識別子を使用して、ターゲット・サイトのデータ・オブジェクトのグループを追跡するように構成される。追跡モジュールは、転送セッション中にデータ・オブジェクトのグループのすべてのデータ・オブジェクトが転送されたかどうかを判定するように構成することもできる。パージ・モジュールを設けることができ、パージ・モジュールは、グループのすべてのメンバが転送されずに転送セッションが終了した場合に、転送されたデータ・オブジェクトのすべてをデータ・オブジェクトのグループから削除するように構成することができる。
【００２３】
グループ化モジュールが、ターゲット・サイトに配置されることが好ましい。一実施形態では、グループ化モジュールが、各データ・オブジェクトと共に転送されるグループ識別子を、リスト内のグループのグループ識別子に対して検査して、グループへのメンバシップを判定するように構成される。
【００２４】
データベース入力モジュールを、ターゲット・サイト内に設けることができる。一実施形態では、データベース入力モジュールは、グループ化されたデータ・オブジェクトごとに、リスト内に項目を作るように構成される。項目は、データ・オブジェクトの属性と、そのデータ・オブジェクトが属するグループを識別するグループ識別子を示すことが好ましい。
【００２５】
一実施形態では、ソース・サイトに、バックアップ・サーバ・コンピュータと、基本ファイルおよび、ソース・ファイルを回復するために基本ファイルと組み合わされるように構成された１つまたは複数のサブファイルを含むデータ・オブジェクトのグループとが含まれる。
【００２６】
本発明のシステムには、関連するデータ・オブジェクトのグループ化を維持しながら、データ記憶システムの間で関連するデータのグループを転送する、本発明の方法が付随する。一実施形態では、この方法に、ソース・サイトでデータ・オブジェクトのグループにグループ識別子を割り当てるステップと、ソース・サイトからターゲット・サイトにデータ・オブジェクトのグループを転送するステップであって、データ・オブジェクトのグループの各データ・オブジェクトと実質的に一緒にグループ識別子を並列に転送することを含む、転送するステップと、グループ識別子を用いて、ターゲット・サイトでデータ・オブジェクトのグループを追跡するステップとが含まれる。この方法には、さらに、ターゲット・サイトのリスト内で、データ・オブジェクトのグループの受信されたデータ・オブジェクトのそれぞれに関する情報を入力するステップを含めることもできる。
【００２７】
一実施形態では、ターゲット・サイトでデータ・オブジェクトのグループを追跡する形に、データ・オブジェクトのインポートされたグループごとに、リスト内に項目を作るステップが含まれる。この項目は、そのグループの他の後に転送されるデータ・オブジェクトを関連付けるのに使用される。オブジェクトのグループ識別子を、リスト内に入力された他のデータ・オブジェクトのグループ識別子と比較することができる。グループへのメンバシップは、グループ識別子の間の一致を見つけることによって判定される。
【００２８】
もう１つのステップに、転送セッションの終りまでにグループのすべてのデータ・オブジェクトが転送されたかどうかの判定を含めることができる。グループのデータ・オブジェクトのどれかが転送されていない場合には、転送されたグループのオブジェクトを、ターゲット・サイトから削除する。
【００２９】
本発明の長所および目的が得られる形が、簡単に理解されるようにするために、上で簡単に述べた本発明のより具体的な説明を、添付図面に示された本発明の特定の実施形態を参照することによって示す。これらの図面が、本発明の典型的な実施形態だけを示し、したがって、その範囲の制限とみなされてはならないことを理解して、本発明を、添付図面の使用を介してさらに具体的かつ詳細に記述し、説明する。
【００３０】
【発明の実施の形態】
本発明を、図２のシステム２０に関して説明する。本発明は、図１のシステム１０などの分散システムと共に使用するのに有利であり、特に図２のシステム２０などの分散環境内で動作するバックアップ・システムでの使用に有利であると思われるが、本発明の範囲は、そのようなシステムに制限されない。実際、本発明は、分散環境内の２つの異なるデータ・オブジェクト・リポジトリの間で関連するデータ・オブジェクトのグループを転送しなければならない情況のすべてに有用であると思われる。本明細書で使用する用語「データ・オブジェクト」は、ディジタル・ファイル、ディレクトリ、データベース表スペース、およびコンピュータまたはディジタル記憶システムに保管することができる他のタイプの別個のディジタル・データ・ブロックを指すことが企図されている。
【００３１】
図２を参照すると、それぞれがディスク装置などのそれ自体のローカル記憶媒体２２を有する複数のクライアント・コンピュータ２１を含むシステム２０が示されている。クライアント・コンピュータ２１は、通常は、中央処理装置（ＣＰＵ）、入出力制御、半導体メモリ、磁気メモリ、およびWindows(R)またはMacintoshオペレーティング・システムなどのオペレーティング・システムを含むシステム・ユニット（図示せず）を有するタイプのパーソナル・コンピュータである。さらに、クライアント・コンピュータ２１は、ＡＩＸ、ＵＮＩＸ(R)、または同等のオペレーティング・システムを有するタイプのワークステーションとすることができる。
【００３２】
システム２０は、さらに、イーサネット(R)・ネットワークまたはトークン・リング・ネットワークなどのネットワーク２３を含むものとして図示されており、このネットワーク２３が、クライアント・コンピュータ２１とソース・サーバ２５の間の通信リンクを提供する。ソース・サーバ２５（本明細書ではソース・サーバまたはソース・サイトと呼称する）は、中央処理装置（ＣＰＵ）、入出力制御、半導体メモリ、磁気メモリ、およびWindows(R)オペレーティング・システムなどのオペレーティング・システムを含むシステム・ユニット（図示せず）を有するタイプのＩＢＭ  ＰＣ互換コンピュータとすることができる。ソース・サーバ２５は、ＡＩＸ、ＵＮＩＸ(R)、または同等のオペレーティング・システムの下で動作するタイプのシステム・ユニットを有するワークステーションとすることもできる。その代わりに、ソース・サーバ２５を、ＡＳ／４００、ＶＭ、またはＭＶＳオペレーティング・システムの下で動作する大型システムとすることもできる。ソース・サーバ２５は、ディスク装置２７、光ディスク・ライブラリ記憶装置２８、またはテープ・ライブラリ記憶装置２９あるいはこれらの組合せなどの、接続された記憶媒体の記憶階層２６を備えるものとして図示されている。
【００３３】
図２に示されたクライアント／サーバ・システムなどのシステム２０では、バックアップ・システムの構成要素が、ソース・サーバ２５に存在することができ、クライアント側プログラム（クライアント・アプリケーション）などの他の構成要素が、クライアント・コンピュータ２１に存在することができる。クライアントおよびサーバにまたがって分散される通常のバックアップ・システムの例に、ＩＢＭ社のTivoli Storage Manager（ＴＳＭ）が含まれ、その基本動作を、上の従来の技術の節で簡単に説明した。パーソナル・コンピュータ、ワークステーション、ディスク装置、光ディスク・ライブラリ、テープ・ライブラリ、およびそれらの構成要素の動作および物理的実施形態は、データ処理の当業者に周知であり、これ以上説明する必要はない。
【００３４】
図２には、ターゲット・サーバ３０として示された、第２のディジタル装置または保管場所も示されている。ターゲット・サーバ３０（本明細書ではターゲット・サーバまたはターゲット・サイトと称する）は、ソース・サーバ２５の記憶階層２６のデータ・オブジェクトが転送される先の第２のバックアップ・サーバとすることができる。たとえば、ターゲット・サーバ３０は、ソース・サーバ２５のアップグレードとすることができる。その代わりに、もう１つの例として、ソース・サーバ２５が、ますます多数になるクライアント・コンピュータ２１をサービスすることができなくなる場合があり、ターゲット・サーバ３０が、ソース・サーバ２５の責任を分散し、共用するためにオンラインにされなければならない。これらの情況は、データ・オブジェクトがソース・サーバ２５などの第１ディジタル装置とターゲット・サーバ３０などの第２ディジタル装置の間で転送される可能性がある、存在する情況の例にすぎない。
【００３５】
ターゲット・サーバ３０は、接続３１によって示されているように、ネットワーク２３を介してソース・サーバ２５と通信することができるが、そのような通信状態である必要はない。本発明の下で、データおよび対応する属性をソース・サーバ２５の１つまたは複数の記憶ボリュームに保管し、これらの記憶ボリュームを、ターゲット・サーバ３０に接続された記憶装置にマウントし、データおよび属性をターゲット・サーバ３０に転送することによって、破線によって表されるデータ・オブジェクトの転送２４を行うことができる。ターゲット・サーバ３０の記憶装置は、図２では、記憶階層２６として表されているが、ソース・サーバ２５の記憶階層２６について上で説明したように、記憶装置の任意の組合せを含めることができる。
【００３６】
図３に、２つの保管場所の間で関連するデータ・オブジェクトのグループを転送する、本発明のシステム４０の一実施形態を示す。システム４０内には、図２のソース・サーバ２５の形の第１データ・オブジェクト保管場所と、図２のターゲット・サーバ３０に示された第２データ・オブジェクト保管場所が図示されている。ソース・サーバ２５およびターゲット・サーバ３０は、関連するデータ・オブジェクトがソース・サーバ２５からターゲット・サーバ３０に転送２４される配置で図示されている。
【００３７】
ソース・サーバ２５は、エクスポート・アプリケーション４２、記憶階層２６、およびデータベース４６を備えるものとして図示されている。エクスポート・アプリケーション４２内に、識別子割当モジュール５０、オブジェクト・ロケータ・モジュール４５、および送信モジュール５２が図示されている。データベース４６内に、複数のデータベース・リストまたはデータベース表すなわち、オブジェクト属性表５４、オブジェクト転送表５５、およびボリューム・リスト表５７が図示されている。オブジェクト属性表５４には、記憶階層２６内に保管されたデータ・オブジェクト６２に関する情報がリストされ、一実施形態では、属性５６フィールドに、ソース・グループ識別子フィールド６０が含まれる。属性フィールドでは、記憶階層２６内のデータ・オブジェクト６２の名前、データ・オブジェクト６２の所有者、データ・オブジェクト６２の日付、および類似物などのメタデータをリストすることができる。ソース・グループ識別子６１によって、データ・オブジェクト６２が属するグループ６５が一意に識別されることが好ましく、ソース・グループ識別子６１は、一意の数、文字列、タイム・スタンプ、または類似物とすることができる。オブジェクト属性表５４内には、記憶階層２６内のデータ・オブジェクト６２のアドレスまたは位置を含む１つまたは複数のフィールド５８も保管されることが好ましい。
【００３８】
図示の実施形態では、データ・オブジェクト６２が、グループ６５に編成される。もちろん、データ・オブジェクト６２のすべてが、特定のグループのメンバになる必要はないが、本発明の下では、データ・オブジェクト６２のうちの少なくともいくつかが、グループ６５に編成される。図示の実施形態では、ソース・サーバ２５が、上で述べた差分化を使用する増分バックアップ方式の下で動作するバックアップ・サーバである。図示の実施形態では、グループ６５に、関連するファイルが含まれ、一実施形態では、これらの関連するファイルが、差分化技術を使用して生成される基本ファイル６４および１つまたは複数のサブファイル６６として関連する。サブファイル６６は、ソース・サーバ２５によってサービスされるクライアント・コンピュータのソース・ファイルを、サブファイル６６の作成の時の元の状態に復元するために、グループの基本ファイル６４と組み合わされるように構成されることが好ましい。
【００３９】
システム４０および本発明の方法を用いて転送することができる他のタイプのグループ６５には、対等関係を有する対等グループであるグループ６５が含まれる。たとえば、対等グループでは、すべてのメンバが存在しなければならず、そうでなければ、グループ全体が無効になる。たとえば、グループは、Windows(R) 2000（商標）などのプログラムのActiveDirectory（商標）のファイルとすることができる。ActiveDirectory内のファイルは、互いに頼り、すべてのファイルが一緒の場合に限って有用である。さらに、実行可能ファイルおよびｄｌｌファイルなど、複数の対等ファイルのグループからなるアプリケーションを、インストールまたは他の形で転送するためには、対等グループのすべてのファイルを、インストールするか他の形で一緒に転送しなければならない。対等グループのすべてのファイルがなければ、アプリケーションは、所期の形で実行されなくなる。そのようなグループをバックアップまたは他の形で転送する時には、グループのメンバを、ターゲット・サーバまたは他の保管場所で関連付けなければならない。
【００４０】
ソース・サーバ２５の動作を、図５の方法に関して詳細に説明するが、手短に言うと、識別子割当モジュール５０は、ターゲット・サーバ３０へのデータ・オブジェクト６２の転送の要求を受信し、それに応答して、その要求のデータ・オブジェクト６２を識別するように構成される。オブジェクト・ロケータ・モジュール４５は、記憶階層２６の異なる論理レベルで記憶装置の異なるプールの異なるボリュームにまたがって分散することができるデータ・オブジェクト６２を突きとめるように構成される。ソース・グループ識別子６１を含む属性情報が、ソース・サーバ２５内に保管されることが好ましく、一実施形態では、オブジェクト属性表５４内に保管される。
【００４１】
送信モジュール５２は、要求されたデータ・オブジェクト６２をそれに対応する属性５６と一緒にターゲット・サーバに転送するか、その転送２４を援助するようにプログラムまたは他の形で構成されることが好ましい。たとえば、送信モジュール５２を、図２のネットワーク２３などのネットワークを介してデータ・オブジェクト６２を転送するようにプログラムすることができる。その代わりに、送信モジュール５２に、データ・オブジェクト６２またはデータ・オブジェクト６２の一部が保管されるテープ装置または光ディスク装置などの記憶媒体への接続を含めることができる。記憶媒体に保管された後に、その記憶媒体を、その記憶媒体との互換性を有し、ターゲット・サーバ３０への転送のためにターゲット・サーバ３０に接続される記憶装置に移送し、マウントすることができる。
【００４２】
ターゲット・サーバ３０は、インポート・アプリケーション４４、記憶階層２６、データベース４８、およびＲＡＭバッファ７６を備えるものとして図示されている。インポート・アプリケーション４４内に、受信モジュール６７、検査モジュール６８、グループ化モジュール８３、ポリシ７０を有するポリシ・モジュール６９、追跡モジュール７１、グループ・カウント・モジュール７２、データベース入力モジュール７３、クロスリンク・モジュール７４、およびパージ・モジュール７５が図示されている。データベース４８は、３つのリストまたは表すなわち、インポート・グループ表７７、未解決オブジェクト表７８、およびオブジェクト属性表８１を備えるものとして図示されている。記憶階層は、ソース・サーバ２５について述べたように、基本ファイル６４およびサブファイル６６のグループ６５として配置されたデータ・オブジェクト６２を含むものとして図示されている。
【００４３】
グループ化されたデータ・オブジェクト６２の転送を受信する際のターゲット・サーバ３０の動作の１つの形を、図６の説明に関して詳細に述べるが、手短に言うと、受信モジュール６７は、ソース・サーバ２５からターゲット・サーバ３０に転送されるデータ・オブジェクト６２を受信するように構成される。一実施形態では、これに、データ・オブジェクト６２をＲＡＭバッファ７６に向けることが含まれる。ＲＡＭバッファ７６は、ターゲット・サーバ３０のＲＡＭメモリとすることができる。
【００４４】
検査モジュール６８は、データ・オブジェクト６２と共に送信される属性５６を検査するようにプログラムまたは他の形で構成されることが好ましい。グループ化モジュール８３は、その情報を使用して、ソース・グループ識別子６１をインポート・グループ表７７内でリストされたグループ６５のソース・グループ識別子と比較することによって、グループ６５への各データ・オブジェクト６２のメンバシップを判定する。ポリシ・モジュール６９には、デフォルトまたはユーザ選択によって構成され、グループ６５が完了または「解決」される時を判定するポリシ７０が含まれる。たとえば、いくつかの場合に、グループ６５は、基本ファイル６４が存在するが１つまたは複数のサブファイルが欠けている場合に完了することができ、それ以外の場合には、完全であるためにグループ６５のすべてのファイルが存在しなければならない。
【００４５】
追跡モジュール７１は、データ・オブジェクト６２のグループ６５を追跡するようにプログラムまたは他の形で構成される。追跡モジュール７１は、グループ６５が完了する時を判定することが好ましい。それを行う際に、追跡モジュール７１は、適用される特定のポリシ７０についてポリシ・モジュール６９に相談することが好ましい。追跡モジュール７１を援助するのが、受信されたグループ６５のメンバの数を示すgroup-members-received-count（受信されたグループ・メンバのカウント）を継続的に更新するグループ・カウント・モジュール７２である。データベース入力モジュール７３は、インポート・グループ表７７内に、新しいグループを入力し、グループ６５の現行リストを更新する。
【００４６】
一実施形態では、データベース入力モジュール７３は、メンバがまだ受信されていないグループ６５のメンバである受信されたデータ・オブジェクト６２のそれぞれについても、未解決オブジェクト表７８に項目を作成する。データベース入力モジュール７３は、グループが解決された後に、グループ６５のすべてのメンバについて、未解決オブジェクト表７８の項目を除去するようにプログラムすることもできる。インポート・グループ表７７内のグループ６５の項目も、この時に除去されることが好ましい。グループ６５が解決されるのは、グループ６５のすべてのメンバが受信されたと追跡モジュール７１が判定する時、または十分な数のメンバが受信されたとポリシ・モジュール６９が判定する時である。
【００４７】
クロスリンク・モジュール７４は、受信されたグループ６５の各メンバをクロスリンクするようにプログラムまたは他の形で構成される。これは、ターゲット・グループ番号を割り当てることによって行われることが好ましい。クロスリンクされた後に、基本ファイル６４およびサブファイル６６を含む復元がクライアントによって要求された時など、必要であれば、一緒にグループ６５のメンバにアクセスすることができる。パージ・モジュール７５は、データ・オブジェクト転送セッションの終りに、まだ未解決オブジェクト表７８内にリストされているすべてのデータ・オブジェクト６２を削除するようにプログラムまたは他の形で構成される。
【００４８】
図４は、本発明の一実施形態の下でのターゲット・サーバ３０のデータベース４８の内容を示す概略ブロック図である。データベース４８は、その中に、一実施形態ではインポート・グループ表７７を含む、第１のリストと、一実施形態では未解決オブジェクト表７８を含む、第２のリストとを有するものとして図示されている。オブジェクト属性表８１を含む第３のリストも、図示されている。インポート・グループ表７７の１つの項目７９が、めいめいのフィールドに分解されて図示されている。フィールドには、ソース・グループ識別子６１を受け取るフィールド８４が含まれる。ソース・グループ識別子６１は、グループ化されたデータ・オブジェクト６２のそれぞれについて属性５６と共に送信される元のソース・グループ識別子６１であることが好ましく、データ・オブジェクト６２が受信された時にデータベース入力モジュール７３によって保管されることが好ましい。
【００４９】
フィールド８５には、グループ６５に属するメンバの数が保管される。フィールド８６には、グループ・メンバ・カウントが保管され、このフィールド８６は、それまでに受信されたグループ６５のデータ・オブジェクト６２の数の追跡に使用される。ターゲット・グループ識別子フィールドであるフィールド８７には、ターゲット・サーバ３０によって割り当てられるグループ識別子が保管される。インポート・グループ表は、一実施形態では、一時表または一時リストである。すなわち、インポート・グループ表は、新しい転送セッションのために作成され、その転送セッションが終了した後に削除することができる。
【００５０】
未解決オブジェクト表７８の項目８０が、めいめいのフィールドに分解されて図示されている。未解決オブジェクト表７８に入力することができるフィールドには、ソース・グループ識別子６１を受け取るソース・グループ識別フィールドと、データ・オブジェクト６２に割り当てられたファイル識別子を受け取るファイル識別子フィールド８９が含まれる。ファイル識別子は、クロスリンク・モジュール７４によって割り当てられ、ターゲット・サーバ３０内で一意であることが好ましい。インポート・グループ表７７と同様に、未解決オブジェクト表７８を、一時的なものとすることができる。この実施形態の下では、未解決オブジェクト表７８が、新しい転送セッションの始めに生成され、その転送セッションの終りの後に削除される。
【００５１】
オブジェクト属性表８１の項目８２が、めいめいのフィールドに分解されて図示されている。示されたフィールドには、グループ６５のグループ識別子を受け取るターゲット・グループ識別子フィールド９０が含まれる。グループ識別子は、クロスリンク・モジュールによって割り当てることができ、グループ６５のそれぞれについてターゲット・サーバ３０内で一意であることが好ましい。ファイル識別子フィールド９１は、ファイル識別子フィールド８９に類似し、このフィールドには、クロスリンク・モジュール７４によってデータ・オブジェクト６２に割り当てられたファイル識別子が保管される。所有者フィールド９２によって、データ・オブジェクト６２の所有者が識別され、名前フィールド９３によって、属性５６と共に送信される名前が識別され、ディレクトリ９４によって、データ・オブジェクト６２がバック・アップされた元のクライアント側のディレクトリをリストすることができる。
【００５２】
日付フィールド９５によって、データ・オブジェクト６２が作成または保管されたあるいはその両方の日付を示すことができ、サイズ・フィールド９６によって、データ・オブジェクト６２のサイズを示すことができる。位置フィールド９７によって、データ・オブジェクト６２が保管される、プール、ボリューム、およびオフセットを含む位置を示すことができる。フラグ・フィールド９８は、データ・オブジェクト６２が属するグループが解決されたか否かを示すフラグを受け取るように構成することができる。もちろん、これらのフィールドは、ターゲット・サーバ３０の表およびリストと、これらのフィールドに保管することができるデータ・オブジェクト６２の属性の表およびリストとに保管することができるフィールドの例示にすぎない。オブジェクト属性表８１は、永続的な表またはリストであることが好ましく、転送セッションが終わった後に、前に述べた属性データを保持することが好ましい。
【００５３】
図５は、ファイルの関連するグループを転送する方法１００のソース・サイト部分の一実施形態を示す概略流れ図である。方法１００は、図３のシステム４０などのシステムで実施することができる。方法１００は、ステップ１０１で開始され、ステップ１０２に進んで、グループ６５に関連する複数のデータ・オブジェクト６２（図３の）を、ソース・サーバ２５に保管する。一実施形態では、データ・オブジェクト６２が、上で述べ、当技術分野で周知であるように、増分バックアップ・システムおよび差分化技術を使用して、バックアップ・サーバ内の通常のバックアップ手順の一部として保管される。もちろん、データ・オブジェクト６２を、本発明の前のデータ・オブジェクト転送動作の結果として保管することもできる。
【００５４】
ステップ１０３で、各データ・オブジェクト６２の属性（図３の属性５６など）を、データ・オブジェクト６２と関連付ける。一実施形態では、データ・オブジェクト６２の属性が、上で述べ、当技術分野で既知であるように、データ・オブジェクト６２を保管する間に生成され、保管される。さらに、属性を、エクスポート中にソース・サーバ２５のデータベース４６に保管し、データ・オブジェクト６２と関連付けることができる。属性の中に、各グループ化されるデータ・オブジェクト６２に関連するソース・グループ識別子６１があることが好ましい。一実施形態では、ソース・サーバ２５の記憶装置または記憶階層２６内にデータ・オブジェクト６２を保管する前のクロスリンク機能として、ソース・グループ識別子６１が、ソース・サーバ２５によってデータ・オブジェクト６２に割り当てられる。
【００５５】
ステップ１０４で、データ・オブジェクト６２を転送する要求を受信する。この要求では、前に述べたように、グループ６５のメンバであり、ターゲット・サーバ３０でそのグループに関連付けられなければならないデータ・オブジェクト６２が識別されることが好ましい。ステップ１０５で、オブジェクト転送リストまたはオブジェクト転送表５５を生成する。オブジェクト転送リストは、転送を要求しているユーザが入力したパラメータに応答して生成されることが好ましい。たとえば、ユーザは、メニューから、またはワイルドカードおよび類似物を使用するコマンド・ラインを用いて、転送されるデータ・オブジェクト６２を選択することができる。ユーザは、所有者、バックアップ日付、または類似物などの共通の属性をリストすることによって、転送されるデータ・オブジェクト６２を指定することができる。
【００５６】
ステップ１０６で、オブジェクト転送表５５内の各データ・オブジェクト６２を、好ましくはオブジェクト・ロケータ・モジュール４５によって、検査する。判断ステップ１０７に示されているように、データ・オブジェクトは、まず、すばやくアクセスできる記憶装置に存在するかどうかを判定するために検査される。これらの記憶装置には、ハード・ディスク装置などの直接アクセス記憶装置（ＤＡＳＤ）と、ＲＡＭバッファなどのＲＡＭメモリが含まれる。そうである場合には、ステップ１０８で、データ・オブジェクト６２の属性を転送する。転送される属性は、オブジェクト属性表８１に保管されるものとして図４の説明で説明したものに類似するものとすることができる。一実施形態では、属性に、オブジェクト属性表５４内のデータ・オブジェクトの項目に保管された属性５６が含まれる。
【００５７】
ステップ１０９で、好ましくはステップ１０８で転送された属性５６に連続して、データ・オブジェクト６２をターゲット・サーバ３０に転送する。データ・オブジェクト６２および属性５６は、図２のネットワーク２３などのネットワークを介してターゲット・サーバ３０に直接に転送することができる。その代わりに、転送に、ソース・サーバ２５に接続された記憶装置のボリュームへのデータ・オブジェクト６２のコピーまたは移動を含めることができ、このボリュームは、その後、ターゲット・サーバ３０の記憶装置にマウントされ、ターゲット・サーバ３０によって読み取られる。もちろん、他の形のデータ転送を使用することができる。
【００５８】
ステップ１０７で、データ・オブジェクト６２が高速アクセス記憶装置上に存在せず、たとえばテープ・ボリューム、光ディスク・ボリューム、もしくは他のシーケンシャル・デバイスまたはリモート・デバイス上に存在すると判定される場合には、方法１００は、ステップ１１０に進む。ステップ１１０では、ボリューム・リスト表５７を更新する。これには、データ・オブジェクト６２が保管されたボリュームをリストするようにソース・サーバ２５のボリューム・リスト表５７を更新することが含まれることが好ましい。したがって、データ・オブジェクト６２が存在する、高速アクセス・ボリュームとみなされないボリュームのそれぞれが、最終的にボリューム・リスト表５７に追加される。
【００５９】
オブジェクト転送表５５のすべてのデータ・オブジェクト６２が検査され、処理された後に、この方法は、ステップ１１１に進む。ステップ１１１では、ボリューム・リスト表５７にリストされたボリュームのそれぞれを、順次マウントし、ステップ１１２に示されるように、そのボリューム内のオブジェクト転送表５５のすべてのデータ・オブジェクト６２について、そのデータ・オブジェクト６２の属性５６を転送する。この転送は、ネットワークを介するか、ターゲット・サーバ３０の記憶装置に後にマウントされるソース・ボリュームの使用によるかのいずれかで、上で説明したように行われることが好ましい。属性５６を転送した後に、好ましくはその属性５６に連続して、データ・オブジェクトを転送する。したがって、転送されるボリュームのデータ・オブジェクト６２のそれぞれが、保管された順序で転送される。これによって、好ましい実施形態の下でボリュームを複数回マウントする必要がなくなる。ボリューム・リスト表５７のボリュームのすべてがマウントされ、オブジェクト転送表５５のすべてのデータ・オブジェクト６２が転送された後に、方法１００のソース・サーバ部分が終了し、この方法は、符号１１４に示されるように、図６に進む。
【００６０】
図６を参照すると、方法１００のターゲット・サイト部分は、ステップ１１５で開始され、ステップ１１６に進む。ステップ１１６で、ステップ１０８および１１２でソース・サーバ２５によって転送された属性５６が、ターゲット・サーバ３０によって受信される。これには、ネットワーク２３またはマウントされたボリュームからＲＡＭバッファ７６にデータ・ストリームを受信することが含まれることが好ましい。
【００６１】
ステップ１１７で、データ・オブジェクト６２を、好ましくはステップ１１６の属性の受信と実質的に一緒に、受信する。各データ・オブジェクト６２とそれに関連する属性およびグループ識別子が、ネットワーク・トランザクション、テープ転送、ディスク転送、または類似物のいずれであれ、同一のトランザクションで送信され、受信されることが好ましい。この属性５６およびデータ・オブジェクト６２のデータ・ストリームの受信は、方法１００の他のステップが実行される際に継続する、連続的な進行中の処理であることが好ましい。
【００６２】
したがって、ステップ１１８で、データ・オブジェクト６２とそれに対応する属性およびソース・グループ識別子６１が、ＲＡＭバッファ７６に一時的に保管され、好ましくは１時に１つのデータ・オブジェクト６２が処理される。ステップ１２０によって示されるように、保管されたデータ・オブジェクト６２のそれぞれについて、ソース・グループ識別子６１を含む関連する属性が検査される。これは、図３の検査モジュール６８によって行うことができる。判断ステップ１２２に示されているように、データ・オブジェクト６２がグループ６５のメンバであるかどうかを判定することが好ましい。これは、グループのメンバであるか否かを表す属性（図示せず）を検査することによって行われることが好ましい。
【００６３】
データ・オブジェクト６２がグループ６５のメンバでない場合には、この方法は、ステップ１３３に進む。検査されたデータ・オブジェクト６２が、グループ６５のメンバであると判定される場合には、データ・オブジェクト６２が属する特定のグループ６５を、ステップ１２３で判定する。この判定は、図３のグループ化モジュール８３によって行われることが好ましく、このグループ化モジュール８３は、データ・オブジェクト６２のソース・グループ識別子６１を、図４のインポート・グループ表７７内に入力された各グループ６５のフィールド８４内のソース・グループ識別子と比較する。ソース・グループ識別子６１が、インポート・グループ表のグループ６５のソース・グループ識別子と一致する時に、そのデータ・オブジェクト６２は、グループ６５に属すると判定され、ターゲット・サーバ３０上でそのグループ６５と関連付けることができる。
【００６４】
ステップ１２４で、インポート・グループ表７７を更新する。たとえば、ステップ１２３で一致が見つからない時には、データ・オブジェクト６２は、グループ６５の最初に受信されたメンバであると結論され、データ・オブジェクト６２と共に送信された属性５６を使用して、インポート・グループ表７７に新しい項目が作られる。これには、図４のフィールド８４、８５、８６、および８７の一部またはすべてが含まれることが好ましい。フィールド８５のグループのメンバの数などの他の属性を、グループ６５の他のメンバと共に転送することができる。さらに、グループ・カウント・モジュール７２が、図４のフィールド８６のグループ・カウントを更新することが好ましい。
【００６５】
ステップ１２６で、追跡モジュール７１が、グループ・カウント・モジュール７２と共に、データ・オブジェクト６２によってグループ６５が完了し、グループ６５が解決されるかどうかを判定する。この判定の際に、グループが解決される時に関する規則についてポリシ・モジュール６９に相談することが好ましい。たとえば、グループ６５の１つまたは複数のデータ・オブジェクト６２が、グループ６５のメンバの数を示すフィールド８５と共に渡されることが好ましい。受信したメンバのそれぞれについて、グループ・カウント・モジュール７２が、グループ・カウント・フィールドのカウントを更新する。グループ・カウントが、グループ６５のメンバの数を示すフィールド８５に対応する時に、追跡モジュール７１が、グループが解決されると判定することができる。
【００６６】
グループが完了する場合に、ステップ１２８で、グループ６５のすべてのメンバを、未解決オブジェクト表７８から除去する。ステップ１２９で、図４のオブジェクト属性表８１のフラグ・フィールド９８に対応するフラグを、グループ６５のすべてのデータ・オブジェクト６２についてリセットして、グループ６５が解決されたことを示す。
【００６７】
ステップ１２６で、グループ６５が完了しないと判定される場合には、方法１００は、ステップ１３０に進む。ステップ１３０では、データ・オブジェクト６２を、未解決オブジェクト表７８にリストする。図４のフィールド８８および８９のうちの１つまたは複数に項目を作ることが好ましい。
【００６８】
ステップ１３３で、データ・オブジェクト６２を記憶階層２６内に保管する。ステップ１３４に示されているように、属性５６の一部またはすべてを、オブジェクト属性表８１に保管することが好ましい。データ・オブジェクト６２が、まだ未解決のグループ６５のメンバである場合に、フラグ・フィールド９８のフラグをセットすることが好ましい。このフラグによって、グループ６５のすべてが受信されるまで、ターゲット・サーバ３０またはそのクライアントによる受信されたデータ・オブジェクトの使用が禁止されることが好ましい。
【００６９】
方法１００は、その後、判断ステップ１３６に進む。転送されるデータ・オブジェクト６２がまだある場合には、この方法は、ステップ１１８に進む。データ・オブジェクト６２が残っていない場合には、方法１００は、ステップ１３８に進む。ステップ１３８では、未解決オブジェクト表７８に残っているすべてのオブジェクトが、パージ・モジュール７５によって記憶階層２６から削除される。方法１００は、ステップ１４０で終了する。
【００７０】
本発明のシステムおよび方法を使用することによって、データ・オブジェクト６２が複数のグループ６５にグループ化されている時であっても、多数のデータ・オブジェクト６２を保管場所の間で転送２４することができる。実際、これらのグループ６５は、異なるプール、異なるボリューム、および異なる階層レベルに分散し、混合し、保管することができる。グループ６５が、効率的に追跡され、完全なグループ６５だけが、転送セッションの後にターゲット・サーバ３０に保存される。転送セッションの終りにグループが未解決のまま残されている時には、ソース・サーバまたはオペレータにメッセージを送ることができる。
【００７１】
転送されるファイルのグループに、データ記憶管理システム内の基本ファイルおよびサブファイルが含まれる一例に関して本発明のシステムおよび方法を説明してきたが、本発明が、より広い応用範囲を有し、第１保管場所と第２保管場所の間で共用されるファイルの他の種類のグループの転送にも有用であることを、当業者は容易に諒解するであろう。本発明は、このより広い範囲の用途を含むとみなされる。
【００７２】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００７３】
（１）関連するデータ・オブジェクトのグループをソース・サイトおよびターゲット・サイトを有する分散データ記憶システムにまたがって転送する方法であって、
ソース・サイトに存在する所定の態様で関係しているデータ・オブジェクトのグループにグループ識別子を割り当てるステップと、
前記ソース・サイトから前記ターゲット・サイトへ前記データ・オブジェクトのグループを転送し、前記データ・オブジェクトのグループの各データ・オブジェクトと実質的に一緒に前記グループ識別子を転送するステップと、
前記ターゲット・サイトで前記グループ識別子を用いて前記データ・オブジェクトのグループを追跡するステップと
を含む方法。
（２）前記ターゲット・サイトでリスト内に各データ・オブジェクトのグループに関する情報を入力するステップをさらに含む、上記（１）に記載の方法。
（３）前記ターゲット・サイトで前記データ・オブジェクトのグループを追跡するステップが、さらに、グループのすべてのメンバが前記ターゲット・サイトによって受信されたかどうかを判定するステップを含む、上記（２）に記載の方法。
（４）前記データ・オブジェクトのグループを追跡するステップが、各データ・オブジェクトのグループについて前記リスト内に前記グループ識別子を含む項目を作るステップと、データ・オブジェクトのグループ内での前記データ・オブジェクトのメンバシップを判定するために、データ・オブジェクトと共に送信されたグループ識別子を前記リスト内の前記項目と比較するステップとを含む、上記（２）に記載の方法。
（５）前記ソース・サイトからターゲット・サイトへ前記データ・オブジェクトのグループを転送するステップが、前記ソース・サイトの別々の記憶装置にまたがって分散された前記データ・オブジェクトのグループのデータ・オブジェクトを突きとめるステップと、前記データ・オブジェクトが前記記憶装置内でアクセスされる順序で前記データ・オブジェクトを転送するステップとを含む、上記（１）に記載の方法。
（６）前記データ・オブジェクトのグループ内にない他のデータ・オブジェクトを転送するステップと、前記データ・オブジェクトのグループの前記データ・オブジェクトの転送内に前記他のデータ・オブジェクトを散在させることを含めて、前記記憶装置に保管された前記順序ですべてのデータ・オブジェクトを転送するステップとをさらに含む、上記（４）に記載の方法。
（７）前記ソース・サイトが、バックアップ・サーバ・コンピュータを含み、前記データ・オブジェクトのグループが、基本ファイルと、ソース・ファイルを復元するために前記基本ファイルと組み合わされるように構成された１つまたは複数のサブファイルとを含む、上記（５）に記載の方法。
（８）前記グループ化されたデータ・オブジェクトが、前記ソース・サイトの記憶ボリューム上で他のデータ・オブジェクトと共に散在される、上記（１）に記載の方法。
（９）第１リストを用いて、前記ソース・サイトから前記ターゲット・サイトへ転送されるデータ・オブジェクトのグループに関する情報を追跡するステップと、第２リストを用いて、前記データ・オブジェクトのどれがグループのメンバが受信されていない前記グループのメンバであるかを追跡するステップとをさらに含む、上記（１）に記載の方法。
（１０）データ・オブジェクトのグループのすべてのデータ・オブジェクトが、転送セッション中に転送されたかどうかを判定するステップと、そうでない場合に、前記データ・オブジェクトのグループからのすべてのデータ・オブジェクトを前記ターゲット・サイトから削除するステップとをさらに含む、上記（１）に記載の方法。
（１１）前記データ・オブジェクトのグループを転送するステップが、前記データ・オブジェクトのグループを、前記ソース・サイトで取外し可能記憶媒体にコピーするステップと、前記取外し可能記憶媒体を前記ターゲット・サイトの記憶装置にマウントするステップと、前記データ・オブジェクトのグループを、それが前記取外し可能記憶媒体に現れる順序で、前記ターゲット・サイトのＲＡＭバッファに転送するステップとを含む、上記（１）に記載の方法。
（１２）前記ソース・サイトからターゲット・サイトへデータ・オブジェクトのグループを転送するステップが、前記データ・オブジェクトのグループのデータ・オブジェクトを別の記憶ボリュームから転送するステップを含む、上記（１）に記載の方法。
（１３）ソース・サイトおよびターゲット・サイトを有する分散データ記憶システムにまたがってデータ・オブジェクトのグループを転送するシステムであって、
ａ．前記ソース・サイトに配置され、ソース・サイトに存在する所定の態様で関係しているデータ・オブジェクトのグループにグループ識別子を割り当てるように構成された識別子割当モジュール、所定の形で関係すると、
ｂ．前記ソース・サイトに配置され、前記データ・オブジェクトのグループの各データ・オブジェクトと実質的に一緒に前記グループ識別子を並列に転送することを含めて、前記ソース・サイトから前記ターゲット・サイトへ前記データ・オブジェクトのグループを転送するように構成された送信モジュールと、
ｃ．前記ターゲット・サイトに配置され、前記ターゲット・サイトで前記グループ識別子を用いて前記データ・オブジェクトのグループを追跡するように構成された追跡モジュールと
を含むシステム。
（１４）データ・オブジェクトの各グループに関する情報を受け取るように構成される前記ターゲット・サイト内のリストをさらに含む、上記（１３）に記載のシステム。
（１５）前記グループへのメンバシップを判定するために、前記データ・オブジェクトのグループの１データ・オブジェクトのグループ識別子を、前記リスト内に入力されたデータ・オブジェクトのグループのそれぞれに関する前記情報と比較するように構成される前記ターゲット・サイトに配置された比較モジュールをさらに含む、上記（１４）に記載のシステム。
（１６）グループ化されたデータ・オブジェクトのそれぞれについて前記リスト内に前記データ・オブジェクトが属する前記グループを示す項目を作るように構成され、前記ターゲット・サイトに配置されたデータベース入力モジュールをさらに含む、上記（１４）に記載のシステム。
（１７）前記ソース・サイトの別々の記憶装置にまたがって分散されたデータ・オブジェクトの前記グループのデータ・オブジェクトを突きとめるように構成された前記ソース・サイト内のオブジェクト・ロケータ・モジュールと、前記データ・オブジェクトが前記記憶装置内でアクセスされる順序で前記データ・オブジェクトを前記ターゲット・サイトへ転送するように構成された前記ソース・サイトの送信モジュールとをさらに含む、上記（１３）に記載のシステム。
（１８）前記送信モジュールが、さらに、データ・オブジェクトの前記グループ内にない他のデータ・オブジェクトを転送し、データ・オブジェクトの前記グループの前記データ・オブジェクトの前記転送内に前記他のデータ・オブジェクトを散在させることを含めて、前記記憶装置に保管された前記順序ですべてのデータ・オブジェクトを転送するように構成される、上記（１７）に記載のシステム。
（１９）前記ソース・サイトが、バックアップ・サーバ・コンピュータを含み、データ・オブジェクトの前記グループが、基本ファイルと、ソース・ファイルを復元するために前記基本ファイルと組み合わされるように構成された１つまたは複数のサブファイルとを含む、上記（１３）に記載のシステム。
（２０）前記グループ化されたデータ・オブジェクトが、前記ソース・サイトの記憶ボリューム上で他のデータ・オブジェクトと共に散在される、上記（１３）に記載のシステム。
（２１）前記ソース・サイトから前記ターゲット・サイトへ転送されるデータ・オブジェクトのグループに関する情報を追跡するように構成された第１リストと、前記データ・オブジェクトのどれがグループのメンバが受信されていない前記グループのメンバであるかを追跡するように構成された第２リストとをさらに含む、上記（１３）に記載のシステム。
（２２）データ・オブジェクトのグループのすべてのデータ・オブジェクトが、転送セッション中に転送されたかどうかを判定するように構成された追跡モジュールと、すべてのデータ・オブジェクトが転送されてはいないデータ・オブジェクトのグループからのすべてのデータ・オブジェクトを削除するように構成されたパージ・モジュールとをさらに含む、上記（１３）に記載のシステム。
【図面の簡単な説明】
【図１】従来技術の通常の分散クライアント／サーバ・システムの一実施形態を示す概略ブロック図である。
【図２】本発明を実施するのに適する、バックアップ・システムを有する分散クライアント／サーバ・システムの一実施形態を示す概略ブロック図である。
【図３】本発明の、分散環境で関連するデータ・オブジェクトのグループを転送するシステムの一実施形態を示す概略ブロック図である。
【図４】本発明の下で、転送されるデータ・オブジェクトのグループを関連付け、追跡するのに使用される、ターゲット保管場所でのリストの一実施形態を示す概略ブロック図である。
【図５】分散データ管理システムで関連するデータ・オブジェクトのグループを転送する、本発明の方法のソース・サイト部分の一実施形態を示す概略流れ図である。
【図６】分散データ管理システムで関連するデータ・オブジェクトのグループを転送する、本発明の方法のターゲット・サイト部分の一実施形態を示す概略流れ図である。
【符号の説明】
２５  ソース・サーバ
３０  ターゲット・サーバ
４２  エクスポート・アプリケーション
４４  インポート・アプリケーション
４５  オブジェクト・ロケータ・モジュール
５０  識別子割当モジュール
５２  送信モジュール
５４  オブジェクト属性表
５５  オブジェクト転送表
５６  属性
５７  ボリューム・リスト表
６０  ソース・グループ識別子フィールド
６１  ソース・グループ識別子
６２  データ・オブジェクト
６４  基本ファイル
６５  グループ
６６  サブファイル
６７  受信モジュール
６８  検査モジュール
６９  ポリシ・モジュール
７０  ポリシ
７１  追跡モジュール
７２  グループ・カウント・モジュール
７３  データベース入力モジュール
７４  クロスリンク・モジュール
７５  パージ・モジュール
７６  ＲＡＭバッファ
７７  インポート・グループ表
７８  未解決オブジェクト表
８１  オブジェクト属性表
８３  グループ化モジュール
【図１】
0003864244.tif 000002
【図２】
0003864244.tif 000003
【図３】
0003864244.tif 000004
【図４】
0003864244.tif 000005
【図５】
0003864244.tif 000006
【図６】
0003864244.tif 000007