(57)【要約】【課題】データ処理システム上にソフトウェアをインストールするための改良された方法、装置、およびコンピュータ命令を提供すること。【解決手段】プロビジョニングされるデータ処理システムのためのファイルを識別して、識別されたファイルを形成する。これらの識別されたファイルは、ロケーション・マップを使用して探索される。ロケーション・マップは、一式のファイルを識別し、それらの一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内のそれぞれのノードを識別する。識別されたファイルは、ロケーション・マップを使用してネットワーク・データ処理システム内の複数のノードからデータ処理システムへ転送されて、インストレーション・ファイルを形成する。それらのインストレーション・ファイルを使用して、データ処理システムがプロビジョニングされる。【選択図】図１
2008524682.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システム上にソフトウェアをインストールする方法であって、
プロビジョニングされる前記データ処理システムのためのファイルを識別して、識別されたファイルを形成するステップと、
一式のファイルと、前記一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのそれぞれを識別するためのロケーション・マップを使用して、前記識別されたファイルを探索するステップであって、前記一式のファイルのうちの１つが、前記複数のノードのうちのいくつかのノードに配置されているステップと、
前記ロケーション・マップを使用して、識別されたファイルを前記ネットワーク・データ処理システム内の前記複数のノードから前記データ処理システムへ転送して、インストレーション・ファイルを形成するステップと、
前記インストレーション・ファイルを使用して、前記データ処理システムをプロビジョニングするステップと、
を含む、方法。
【請求項２】
前記複数のノード上のファイルの一覧の作成を実行するステップと、
前記複数のノードのうちの１つのノード上に配置されているそれぞれのファイルのＩＤを含む初期マップを前記一覧から作成するステップと、
データ処理システムをプロビジョニングするためのファイルを探索するために使用されるロケーション・マップを前記初期マップから構築するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ロケーション・マップが古くなったことに応答して、前記実行するステップ、前記作成するステップ、および前記構築するステップを開始するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記一式のファイルのうちの固有のファイルが、前記複数のノードのうちの１つのサーバ上に保存されている、請求項１、２、または３に記載の方法。
【請求項５】
前記転送するステップが、
前記識別されたファイルのうちの特定のファイルを識別するステップと、
前記ファイルを含むノードのうち、そこからの転送時間が最短となるノードを選択するステップと、
前記特定のファイルを前記ノードから前記データ処理システムへ転送するステップと、
を含む、請求項１、２、３、または４に記載の方法。
【請求項６】
ファイルが、アプリケーション、オペレーティング・システム、バーチャル・マシン、および構成情報のうちの少なくとも１つのためのものである、請求項１ないし５のいずれかに記載の方法。
【請求項７】
前記識別するステップ、前記探索するステップ、前記転送するステップ、および前記プロビジョニングするステップが、インストレーション・プログラムによって実行される、請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記プロビジョニングするステップが、アプリケーションおよびオペレーティング・システムのうちの少なくとも１つを前記データ処理システム上にインストールする、請求項１ないし７のいずれかに記載の方法。
【請求項９】
前記探索するステップが、
前記ファイルの検索元となる１つのノードを前記複数のノードから選択するステップであって、前記ノードが、ポリシーを使用して選択されるステップを含む、請求項１ないし８のいずれかに記載の方法。
【請求項１０】
前記ポリシーが、前記いくつかのノードに割り当てられた階層から前記ノードを選択することを指定する、請求項９に記載の方法。
【請求項１１】
前記ファイルが、オペレーティング・システム・ファイルおよびライセンスによってコントロールされるファイルのうちの少なくとも１つである場合に、前記ポリシーが、前記いくつかのノードのうちの１つのサーバを選択することを指定する、請求項９または１０に記載の方法。
【請求項１２】
データ処理システム上にソフトウェアをインストールするためのデータ処理システムであって、
プロビジョニングされる前記データ処理システムのためのファイルを識別して、識別されたファイルを形成するための識別手段と、
ロケーション・マップを使用して前記識別されたファイルを探索するための発見手段であって、前記ロケーション・マップが、一式のファイルを識別し、前記一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのうちのそれぞれのノードを識別し、前記一式のファイルのうちの１つのファイルが、前記複数のノードのうちのいくつかのノード上に配置されている発見手段と、
前記ロケーション・マップを用いて、識別されたファイルを前記ネットワーク・データ処理システム内の前記複数のノードから前記データ処理システムへ転送して、インストレーション・ファイルを形成するための転送手段と、
前記インストレーション・ファイルを使用して前記データ処理システムをプロビジョニングするためのプロビジョニング手段と、を含むデータ処理システム。
【請求項１３】
前記複数のノード上のファイルの一覧作成を実行するための実行手段と、
前記一覧から最初のマップを作成するための作成手段であって、前記第１の最初のマップが、前記複数のノードのうちの１つのノード上に配置されているそれぞれのファイルのＩＤを含む作成手段と、
前記最初のマップからロケーション・マップを構築するための構築手段であって、前記ロケーション・マップが、データ処理システムをプロビジョニングするためのファイルを探索するために使用される構築手段とをさらに含む、請求項１２に記載のデータ処理システム。
【請求項１４】
前記ロケーション・マップが古くなったことに応答して、前記実行手段、作成手段、および構築手段を始動するための手段を含む、請求項１３に記載のデータ処理システム。
【請求項１５】
前記一式のファイルのうちの固有のファイルが、前記複数のノードのうちの１つのサーバ上に保存されている、請求項１２、１３、または１４に記載のデータ処理システム。
【請求項１６】
前記転送手段が、
前記識別されたファイルのうちの特定のファイルを識別するための第１の手段と、
前記ファイルを含むノードのうち、そこからの転送時間が最短となるノードを選択するための第２の手段と、
前記特定のファイルを前記ノードから前記データ処理システムへ転送するための第３の手段と、
を含む、請求項１２、１３、１４、または１５に記載のデータ処理システム。
【請求項１７】
ファイルが、アプリケーション、オペレーティング・システム、バーチャル・マシン、および構成情報のうちの少なくとも１つのためのものである、請求項１２ないし１６のいずれかに記載のデータ処理システム。
【請求項１８】
前記識別手段、前記発見手段、前記転送手段、および前記プロビジョニング手段が、インストレーション・プログラムによって実行される、請求項１２ないし１７のいずれかに記載のデータ処理システム。
【請求項１９】
前記プロビジョニング手段が、アプリケーションおよびオペレーティング・システムのうちの少なくとも１つを前記データ処理システム上にインストールする、請求項１２ないし１８のいずれかに記載のデータ処理システム。
【請求項２０】
前記発見手段が、
前記ファイルの検索元となる１つのノードを前記複数のノードから選択するための手段であって、前記ノードが、ポリシーを使用して選択される手段を含む、請求項１２ないし１９のいずれかに記載のデータ処理システム。
【請求項２１】
前記ポリシーが、前記いくつかのノードに割り当てられた階層から前記ノードを選択することを指定する、請求項２０に記載のデータ処理システム。
【請求項２２】
前記ファイルが、オペレーティング・システム・ファイルおよびライセンスによってコントロールされるファイルのうちの少なくとも１つである場合に、前記ポリシーが、前記いくつかのノードのうちの１つのサーバを選択することを指定する、請求項２０または２１に記載のデータ処理システム。
【請求項２３】
データ処理システム上にソフトウェアをインストールするためのコンピュータ・プログラム製品であって、
プロビジョニングされる前記データ処理システムのためのファイルを識別して、識別されたファイルを形成するための第１の命令と、
ロケーション・マップを使用して前記識別されたファイルを探索するための第２の命令であって、前記ロケーション・マップが、一式のファイルを識別し、前記一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのうちのそれぞれのノードを識別し、前記一式のファイルのうちの１つのファイルが、前記複数のノードのうちのいくつかのノード上に配置されている命令と、
前記ロケーション・マップを用いて、識別されたファイルを前記ネットワーク・データ処理システム内の前記複数のノードから前記データ処理システムへ転送して、インストレーション・ファイルを形成するための第３の命令と、
前記インストレーション・ファイルを使用して前記データ処理システムをプロビジョニングするための第４の命令と、を含むコンピュータ・プログラム製品。
【請求項２４】
前記複数のノード上のファイルの一覧作成を実行するための第５の命令と、
前記一覧から最初のマップを作成するための第６の命令であって、前記第１の最初のマップが、前記複数のノードのうちの１つのノード上に配置されているそれぞれのファイルのＩＤを含む命令と、
前記最初のマップからロケーション・マップを構築するための第７の命令であって、前記ロケーション・マップが、データ処理システムをプロビジョニングするためのファイルを探索するために使用される命令とをさらに含む、請求項２３に記載のコンピュータ・プログラム製品。
【請求項２５】
前記ロケーション・マップが古くなったことに応答して、前記第５の命令、前記第６の命令、および前記第７の命令の実行を開始するための第８の命令をさらに含む、請求項２４に記載のコンピュータ・プログラム製品。
【請求項２６】
前記一式のファイルのうちの固有のファイルが、前記複数のノードのうちの１つのサーバ上に保存されている、請求項２３、２４、または２５に記載のコンピュータ・プログラム製品。
【請求項２７】
第３の命令が、
前記識別されたファイルのうちの特定のファイルを識別するための第１の下位命令と、
前記ファイルを含むノードのうち、そこからの転送時間が最短となるノードを選択するための第２の下位命令と、
前記特定のファイルを前記ノードから前記データ処理システムへ転送するための第３の下位命令と、を含む、請求項２３、２４、２５、または２６に記載のコンピュータ・プログラム製品。
【請求項２８】
ファイルが、アプリケーション、オペレーティング・システム、バーチャル・マシン、および構成情報のうちの少なくとも１つのためのものである、請求項２３ないし２８のいずれかに記載のコンピュータ・プログラム製品。
【請求項２９】
前記第１の命令、前記第２の命令、前記第３の命令、および前記第４の命令が、インストレーション・プログラム内に配置されている、請求項２３ないし２８のいずれかに記載のコンピュータ・プログラム製品。
【請求項３０】
前記第４の命令が、アプリケーションおよびオペレーティング・システムのうちの少なくとも１つを前記データ処理システム上にインストールする、請求項２３ないし２９のいずれかに記載のコンピュータ・プログラム製品。
【請求項３１】
前記第２の命令が、
前記ファイルの検索元となる１つのノードを前記複数のノードから選択するための下位命令であって、前記ノードが、ポリシーを使用して選択される下位命令を含む、請求項２３ないし３０のいずれかに記載のコンピュータ・プログラム製品。
【請求項３２】
前記ポリシーが、前記いくつかのノードに割り当てられた階層から前記ノードを選択することを指定する、請求項３１に記載のコンピュータ・プログラム製品。
【請求項３３】
前記ファイルが、オペレーティング・システム・ファイルおよびライセンスによってコントロールされるファイルのうちの少なくとも１つである場合に、前記ポリシーが、前記いくつかのノードのうちの１つのサーバを選択することを指定する、請求項３１または３２に記載のコンピュータ・プログラム製品。
【請求項３４】
バスと、
前記バスに接続されている通信ユニットと、
前記バスに接続されているメモリであって、一式の命令を含むメモリと、
前記バスに接続されているプロセッサ・ユニットであって、プロビジョニングの対象である前記データ処理システムのためのファイルを識別して、識別されたファイルを形成するステップと、ロケーション・マップを使用して前記識別されたファイルを探索するステップであって、前記ロケーション・マップが、一式のファイルを識別し、前記一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのうちのそれぞれのノードを識別し、前記一式のファイルのうちの１つのファイルが、前記複数のノードのうちのいくつかのノード上に配置されているステップと、前記ロケーション・マップを用いて、識別されたファイルを前記ネットワーク・データ処理システム内の前記複数のノードから前記データ処理システムへ転送して、インストレーション・ファイルを形成するステップと、前記インストレーション・ファイルを使用して前記データ処理システムをプロビジョニングするステップとを行うために前記一式の命令を実行するプロセッサ・ユニットとを含むデータ処理システム。
【請求項３５】
コンピュータ上で実行されると請求項１ないし１１のいずれかに記載の方法を実行するように適合されているプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に改良されたデータ処理システムに関し、詳細には、データを処理するための方法および装置に関する。より詳細には、本発明は、ソフトウェアをインストールするための方法、装置、およびコンピュータ命令に関する。
【背景技術】
【０００２】
ネットワーク・データ処理システムが、ビジネスおよびその他のエンティティによって幅広く使用されている。これらのネットワークとしては、たとえばＬＡＮ（local area network）およびＷＡＮ（wide area network）が含まれる。ネットワーク・データ処理システムは、単一のフロアまたは建物内に配置することができる。その他の場合として、１つのネットワーク・データ処理システムが、複数の建物に、あるいは別々の都市または国においてさえ配置されることもある。
【０００３】
このようなネットワーク・データ処理システムは、ビジネスを実施するため、およびエンティティ内でその他の作業を実施するために使用される。ネットワーク管理者およびその他のＩＴプロフェッショナルは、ネットワーク・データ処理システムを保持し、拡張する。これらの管理者およびプロフェッショナルは、ネットワーク・データ処理システム内におけるデータの冗長性を保証するためのバックアップ・システムを維持する。バックアップ・データは、テープ、ディスク・ドライブ、光ディスク、あるいはネットワークに接続されたデバイスなど、さまざまなメディア上に保存することができる。このバックアップ・データは、ネットワーク・データ処理システム上で損傷を受けたファイルや紛失したファイルをリストアするために使用することができる。ネットワーク・データ処理システムを維持し拡張する際に、そのネットワーク・データ処理システム内で使用するために新たなコンピュータをプロビジョニングし、あるいはアプリケーションをコンピュータ上にプロビジョニングすることができる。コンピュータは、そのコンピュータをネットワーク・データ処理システム内で使用できるように必要なファイルをそのコンピュータ上にインストールすることによってプロビジョニングされる。プロビジョニングは、たとえばオペレーティング・システムとアプリケーションとを含むコンピュータ全体のセットアップを含むことができるし、あるいは単一のアプリケーションのインストールを含むこともできる。
【０００４】
プロビジョニングは、サーバなどのソースからファイルをダウンロードすること、およびそれらのファイルをコンピュータ上にインストールすることを含んでいる。新たなコンピュータがプロビジョニングされる場合には、ユーザにとって必要なすべてのプログラムやアプリケーションに加えて、オペレーティング・システムが、その新たなコンピュータ上にインストールされる。これらのファイルが数多く要求されると、それらのファイルを提供するサーバがボトルネックとなって、処理が遅延するおそれがある。たとえば特定のタイプのオペレーティング・システムが１００台の異なるコンピュータ上に同時にインストールされている状況では、サーバはコンピュータをプロビジョニングするために使用されるファイルを迅速に提供できない可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、データ処理システムをプロビジョニングするための改良された方法、装置、およびコンピュータ命令があれば、有利であろう。
【課題を解決するための手段】
【０００６】
本発明は、データ処理システム上にソフトウェアをインストールするための改良された方法、装置、およびコンピュータ命令を提供する。このプロセスは、プロビジョニングされるデータ処理システムのためのファイルを識別して、識別されたファイルを形成する。これらの識別されたファイルは、ロケーション・マップ（location map）を使用して探索される。このロケーション・マップは、一式のファイルを識別し、それらの一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内のそれぞれのノードを識別する。識別されたファイルは、ロケーション・マップを用いてネットワーク・データ処理システム内の複数のノードからデータ処理システムへ転送されて、インストレーション・ファイルを形成する。それらのインストレーション・ファイルを使用して、データ処理システムがプロビジョニングされる。
【０００７】
第１の態様によれば、データ処理システム上にソフトウェアをインストールする方法が提供される。方法は、プロビジョニングされるデータ処理システムのためのファイルを識別して、識別されたファイルを形成するステップと、一式のファイルと、一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのそれぞれを識別するためのロケーション・マップを使用して、識別されたファイルを探索するステップであって、一式のファイルのうちの１つが、複数のノードのうちのいくつかのノードに配置されているステップと、ロケーション・マップを使用して、識別されたファイルをネットワーク・データ処理システム内の複数のノードからデータ処理システムへ転送して、インストレーション・ファイルを形成するステップと、インストレーション・ファイルを使用して、データ処理システムをプロビジョニングするステップを含む。
【０００８】
第２の態様によれば、データ処理システム上にソフトウェアをインストールするためのデータ処理システムが提供される。データ処理システムは、プロビジョニングされるデータ処理システムのためのファイルを識別して、識別されたファイルを形成する手段と、一式のファイルと、一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのそれぞれを識別するためのロケーション・マップを使用して、識別されたファイルを探索する手段であって、一式のファイルのうちの１つが、複数のノードのうちのいくつかのノードに配置されている手段と、ロケーション・マップを使用して、識別されたファイルをネットワーク・データ処理システム内の複数のノードからデータ処理システムへ転送して、インストレーション・ファイルを形成する手段と、インストレーション・ファイルを使用して、データ処理システムをプロビジョニングする手段を含む。
【０００９】
第３の態様によれば、データ処理システム上にソフトウェアをインストールするためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プロビジョニングされるデータ処理システムのためのファイルを識別して、識別されたファイルを形成するための第１の命令と、一式のファイルと、一式のファイルのうちの１つのファイルが配置されているネットワーク・データ処理システム内の複数のノードのそれぞれを識別するためのロケーション・マップを使用して、識別されたファイルを探索するための第２の命令であって、一式のファイルのうちの１つが、複数のノードのうちのいくつかのノードに配置されている第２の命令と、ロケーション・マップを使用して、識別されたファイルをネットワーク・データ処理システム内の複数のノードからデータ処理システムへ転送して、インストレーション・ファイルを形成するための第３の命令と、インストレーション・ファイルを使用して、データ処理システムをプロビジョニングするための第４の命令を含む。
【００１０】
データを管理してリストアするための方法、装置、およびコンピュータ命令が提供されることが好ましい。
【００１１】
以下、本発明の好ましい実施形態について、例示のみを目的として、添付の図面を参照して説明する。
【発明を実施するための最良の形態】
【００１２】
図面を参照すると、図１は、好ましい一実施形態に従って本発明を実装できるデータ処理システムのネットワークの絵図を示している。ネットワーク・データ処理システム１００は、コンピュータのネットワークである。ネットワーク・データ処理システム１００は、ネットワーク１０２を含み、このネットワーク１０２は、ネットワーク・データ処理システム１００内で共に接続されているさまざまなデバイスおよびコンピュータ同士の間で通信リンクを提供するために使用されるメディアである。ネットワーク１０２は、有線通信リンク、無線通信リンク、あるいは光ファイバー・ケーブルなどの接続を含むことができる。
【００１３】
図示されている例においては、サーバ１０４は、ストレージ・ユニット１０６と共にネットワーク１０２に接続されている。さらにクライアント１０８、１１０、および１１２が、ネットワーク１０２に接続されている。これらのクライアント１０８、１１０、および１１２は、たとえばパーソナル・コンピュータやネットワーク・コンピュータとすることができる。図示されている例においては、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーションなどのデータをクライアント１０８〜１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４にとってのクライアントである。ネットワーク・データ処理システム１００は、図示されていないさらなるサーバ、クライアント、およびその他のデバイスを含むことができる。
【００１４】
図示されている例においては、ネットワーク・データ処理システム１００は、ネットワーク１０２を伴うインターネットであり、プロトコルのＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を使用して相互に通信するネットワークおよびゲートウェイの世界的な規模の集合体に相当する。インターネットの中心には、データおよびメッセージを回送する数千の商用、政府用、教育用、およびその他のコンピュータ・システムから構成されている主要なノードやホスト・コンピュータどうしの間における高速データ通信回線という基幹回線がある。もちろんネットワーク・データ処理システム１００は、たとえばイントラネット、ＬＡＮ（localarea network）、あるいはＷＡＮ（wide area network）など、複数の異なるタイプのネットワークとして実装することもできる。ネットワーク・データ処理システム１００は、これらの例においてはピアツーピア・ネットワークとしてセットアップすることができる。図１は、一例として意図されており、本発明のアーキテクチャ面での限定を意図するものではない。
【００１５】
図２を参照すると、図１のサーバ１０４などのサーバとして実装できるデータ処理システムのブロック図が、本発明の好ましい一実施形態に従って示されている。データ処理システム２００は、システム・バス２０６に接続されている複数のプロセッサ２０２および２０４を含むＳＭＰ（symmetric multiprocessor）システムとすることができる。あるいは、シングル・プロセッサ・システムを採用することもできる。メモリ・コントローラ／キャッシュ２０８も、システム・バス２０６に接続されており、このメモリ・コントローラ／キャッシュ２０８は、ローカル・メモリ２０９へのインターフェースを提供する。Ｉ／Ｏバス・ブリッジ２１０が、システム・バス２０６に接続されており、Ｉ／Ｏバス２１２へのインターフェースを提供する。メモリ・コントローラ／キャッシュ２０８とＩ／Ｏバス・ブリッジ２１０は、図示されているように一体化することができる。
【００１６】
Ｉ／Ｏバス２１２に接続されているＰＣＩ（Peripheral componentinterconnect）バス・ブリッジ２１４が、ＰＣＩローカル・バス２１６へのインターフェースを提供する。複数のモデムをＰＣＩローカル・バス２１６に接続することができる。典型的なＰＣＩバスの実装形態は、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。図１のクライアント１０８〜１１２への通信リンクを、アドイン・コネクタを通じてＰＣＩローカル・バス２１６に接続されているモデム２１８およびネットワーク・アダプタ２２０を通じて提供することができる。
【００１７】
さらなるＰＣＩバス・ブリッジ２２２および２２４が、さらなるＰＣＩローカル・バス２２６および２２８のためのインターフェースを提供し、そのさらなるＰＣＩローカル・バス２２６および２２８から、さらなるモデムまたはネットワーク・アダプタをサポートすることができる。この方法においては、データ処理システム２００は、複数のネットワーク・コンピュータへの接続を可能にする。図示されているように、メモリにマップされたグラフィックス・アダプタ２３０およびハード・ディスク２３２をＩ／Ｏバス２１２に直接または間接的に接続することもできる。
【００１８】
図２に示されているハードウェアは、さまざまなものとすることができるという点を当業者なら理解できるであろう。たとえば、図示されているハードウェアに加えて、または図示されているハードウェアの代わりに、光ディスク・ドライブなどのその他の周辺デバイスを使用することもできる。図示されている例は、本発明に関するアーキテクチャ面での限定を意味することを意図するものではない。
【００１９】
図２に示されているデータ処理システムは、たとえばＡＩＸ（AdvancedInteractive Executive）（Ｒ）オペレーティング・システムやＬＩＮＵＸ（ＴＭ）オペレーティング・システムを実行するＩＢＭ（Ｒ）ｅＳｅｒｖｅｒ（ＴＭ）ｐＳｅｒｉｅｓ（Ｒ）システム（ニューヨーク州アーモンクのInternationalBusiness Machines Corporationの製品）とすることができる（ＩＢＭ、ｅＳｅｒｖｅｒ、ｐＳｅｒｉｅｓ、およびＡＩＸは、米国、その他の国々、またはその双方におけるInternationalBusiness Machines Corporationの商標であり、Ｌｉｎｕｘは、米国、その他の国々、またはその双方におけるLinus Torvaldsの商標である）。
【００２０】
次いで図３を参照すると、好ましい一実施形態に従って本発明を実装できるデータ処理システムを示すブロック図が示されている。データ処理システム３００は、クライアント・コンピュータの一例である。データ処理システム３００は、ＰＣＩ（Peripheral component interconnect）ローカル・バス・アーキテクチャを採用している。図示されている例は、ＰＣＩバスを採用しているが、ＡＧＰ（AcceleratedGraphics Port）およびＩＳＡ（Industry Standard Architecture）など、その他のバス・アーキテクチャを使用することもできる。プロセッサ３０２およびメイン・メモリ３０４は、ＰＣＩブリッジ３０８を通じてＰＣＩローカル・バス３０６に接続されている。ＰＣＩブリッジ３０８は、プロセッサ３０２のための一体化されたメモリ・コントローラおよびキャッシュ・メモリを含むこともできる。直接コンポーネントを相互接続することを通じて、またはアドイン・ボードを通じて、ＰＣＩローカル・バス３０６へのさらなる接続を行うことができる。図示されている例においては、直接コンポーネントを接続することによって、ＬＡＮ（localarea network）アダプタ３１０、ＳＣＳＩ（small computer system interface）ホスト・バス・アダプタ３１２、および拡張バス・インターフェース３１４が、ＰＣＩローカル・バス３０６に接続されている。対照的に、拡張スロット内に挿入されたアドイン・ボードによって、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、およびオーディオ／ビデオ・アダプタ３１９が、ＰＣＩローカル・バス３０６に接続されている。拡張バス・インターフェース３１４は、キーボード／マウス・アダプタ３２０、モデム３２２、およびさらなるメモリ３２４のための接続を提供する。ＳＣＳＩホスト・バス・アダプタ３１２は、ハード・ディスク・ドライブ３２６、テープ・ドライブ３２８、およびＣＤ−ＲＯＭドライブ３３０のための接続を提供する。典型的なＰＣＩローカル・バスの実装形態は、３つまたは４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。
【００２１】
オペレーティング・システムは、プロセッサ３０２上で実行され、図３のデータ処理システム３００内におけるさまざまなコンポーネントのコントロールを調整および提供するために使用される。このオペレーティング・システムは、Microsoft（Ｒ）Corporationから入手できるＷｉｎｄｏｗｓ（登録商標）ＸＰなどの市販のオペレーティング・システムとすることができる。Ｊａｖａ（登録商標）（ＴＭ）などのオブジェクト指向プログラミング・システムをオペレーティング・システムと共に実行することができ、こうしたオブジェクト指向プログラミング・システムは、データ処理システム３００上で実行されているＪａｖａ（登録商標）（ＴＭ）プログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供することができる。「Ｊａｖａ（登録商標）」は、SunMicrosystems, Incの商標である。オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、ハード・ディスク・ドライブ３２６などのストレージ・デバイス上に配置され、プロセッサ３０２によって実行するためにメイン・メモリ３０４内にロードすることができる（ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓ（登録商標）は、米国、その他の国々、またはその双方におけるMicrosoftCorporationの商標である）。
【００２２】
図３のハードウェアは、実装形態に応じてさまざまなものとすることができるという点を当業者なら理解できるであろう。図３に示されているハードウェアに加えて、または図３に示されているハードウェアの代わりに、フラッシュＲＯＭ（read-only memory）、同等の不揮発性メモリ、あるいは光ディスク・ドライブなど、その他の内蔵ハードウェアや周辺デバイスを使用することができる。また本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することもできる。
【００２３】
別の例としては、データ処理システム３００は、何らかのタイプのネットワーク通信インターフェースに依存することなくブートできるように構成されたスタンドアロンのシステムとすることができる。さらなる例としては、データ処理システム３００は、ＰＤＡ（personal digital assistant）デバイスとすることができ、このＰＤＡデバイスは、オペレーティング・システム・ファイルまたはユーザが作成したデータあるいはその両方を保存するための不揮発性メモリを提供するために、ＲＯＭまたはフラッシュＲＯＭあるいはその両方を備えて構成されている。
【００２４】
図３に示されている例および上述の例は、アーキテクチャ面での限定を意味することを意図するものではない。たとえばデータ処理システム３００は、ＰＤＡの形態をとることに加えて、ノート型コンピュータやハンド・ヘルド・コンピュータとすることもできる。データ処理システム３００は、キオスクやウェブ機器（Web appliance）とすることもできる。
【００２５】
本発明は、好ましい一実施形態に従って、バックアップ・データを管理するための改良された方法、装置、およびコンピュータ命令を提供する。このメカニズムは、ネットワーク・データ処理システム内でファイルを効率よくバックアップしリストアする機能を提供する。この好ましい実施形態のメカニズムは、さまざまなノード上のファイルを識別して、初期マップを作成する。このマップは、ファイルによってインデックス付けされているインデックスへと変換される。かかるインデックスでは、それぞれの項目が、ネットワーク・データ処理システム上のファイルの場所を含んでいる。この第２のマップは、ファイル・マップとも呼ばれ、ファイルをバックアップしてリストアする際に使用される。このファイル・マップは、ロケーション・マップと呼ぶこともできる。
【００２６】
このファイル・マップは、さらに、ネットワーク・データ処理システムを用いてデータ処理システムをプロビジョニングする際に使用することもできる。インストールに必要なファイルは、さまざまなノード上で探索することができ、これらのファイルは、それらのノードから対象のデータ処理システムへ転送される。そして、それらのファイルを対象のノード上にインストールすることができる。
【００２７】
次いで図４を参照すると、データをバックアップしてリストアするために使用されるコンポーネントを示す図が、本発明の好ましい一実施形態に従って示されている。この例においては、マスター・ノード４００が、バックアップ・プロセスの一環として、ノード４０２およびノード４０４と通信して、バックアップ情報を作成する。これらのノードは、図１のネットワーク・データ処理システム１００において見られるようなコンピュータである。ノード４０４は、図３のデータ処理システム３００などのコンピュータを使用して実装することができる。マスター・ノード４００は、図２のデータ処理システム２００などのコンピュータを使用して実装することができる。
【００２８】
詳細には、エージェント・バックアップ・プロセス４０６が、ノード４０４上に配置されているファイル４０８を識別する。同様にして、エージェント・バックアップ・プロセス４１０が、ノード４０２上に配置されているファイル４１２を識別する。この情報は、マスター・ノード４００上のマスター・バックアップ／プロビジョニング・プロセス４１４に送信される。
【００２９】
この情報は、ノード・マップ４１６を作成するために使用される。このマップは、ノードおよびそれぞれのノード上のファイルのＩＤを含む。それぞれの項目は、ネットワーク・データ処理システム上の１つのノードに関するものであり、そのノード上のファイルを識別する。すべてのノードから情報が受信されると、マスター・バックアップ／プロビジョニング・プロセス４１４は、ファイル・マップ４１８を作成する。ファイル・マップ４１８内のそれぞれの項目は、それらのノード内で識別された特定のファイルに関するものである。この項目は、そのファイルのそれぞれのインスタンスの場所を識別する情報を含む。たとえばこの項目は、そのファイルが探索されるそれぞれのノードごとに、そのファイルのＩＰ（Internet Protocol）アドレスおよびパスを含むことができる。この項目は、アプリケーション用のファイルがライセンスによってコントロールされている（licensedcontrolled）かどうかに関する情報を含むこともできる。ライセンスによってコントロールされるファイルとは、ライセンス番号（license count）を更新する際にサーバまたは特定のシステムを参照することを必要とするファイルである。
【００３０】
さらにマスター・バックアップ／プロビジョニング・プロセス４１４は、このバックアップ・プロセスの一環として、ファイル・マップ４１８を分析して、単一のノードしか存在しないファイルに関するすべての項目を識別する。そのようなそれぞれの項目ごとに、マスター・バックアップ／プロビジョニング・プロセス４１４は、ファイル・マップ内の項目にストレージ・ロケーション（storage location）を追加し、ファイルをそのストレージ・ロケーションにコピーする。この図示されている例においては、ストレージ・ロケーションは、マスター・ノード４００内のバックアップ・ストレージ４２０である。結果として、ネットワーク・データ処理システム内のこれらの固有のファイルは、バックアップ・ストレージ４２０内にバックアップを有する。さらに、マスター・ノード４００上で探索される固有のファイルはすべて、バックアップ・ストレージ４２２などのリモート・デバイス上に保存することができる。このようにして、この好ましい実施形態のメカニズムは、ネットワーク・データ処理システム上のファイルのバックアップを行う。
【００３１】
ノード４０２および４０４からファイル情報を受信し、それらのノードを最後にスキャンして以降のファイル内の差分すなわち変更点を識別することによって、増分バックアップを行うことができる。識別される新たなファイルは、ファイル・マップ４１８に追加される。たとえば、あるファイルが別のノードに追加された場合には、このノードは、そのファイル用の項目に追加される。あるファイルがあるノードから除去された場合には、そのファイル用の項目は、そのファイルがそのノードから除去されたことを反映するように更新される。これらの変更の履歴は、ファイル履歴４２４内に保存することができる。
【００３２】
あるファイルが、ノード４０４などのノード上で紛失した場合や、破損した場合には、エージェント・バックアップ・プロセス４０６は、マスター・バックアップ／プロビジョニング・プロセス４１４と通信して、ファイル・マップ４１８を用いてそのファイルを探索することができる。そのファイルは、ファイル・マップ４１８から識別された場所からノード４０４へとリストアすることができる。そのファイルは、ノード４０２などの別のノード上で、あるいはバックアップ・ストレージ４２０やバックアップ・ストレージ４２２などの別のバックアップ・ストレージ・デバイス上で探索される可能性がある。
【００３３】
さらにファイル・マップ４１８は、その他の目的で使用することもできる。たとえば、このマップ上の情報は、新たなデータ処理システムをプロビジョニングする際に使用することができる。この例においては、マスター・バックアップ／プロビジョニング・プロセス４１４は、ファイル・マップ４１８を通じて探索されたファイルを使用して、ノード４２６などの新たなノードをプロビジョニングすることができる。そして、探索されたファイルをノード４２６へ転送またはコピーし、インストレーション・プロセス４２８によってインストールすることができる。この方法においては、インストール用のファイルは、中央の場所を必要とするのではなく、さまざまなノード上で探索することができる。結果として、共通のファイルは、ネットワーク・データ処理システム内のノードによってノード４２６へ送信することができる。固有のファイルは、マスター・ノード４００からノード４２６へ送信することができる。プロビジョニングを行うためのこのような機能は、ピアツーピア・ネットワーク・データ処理システムにとって特に有用である。
【００３４】
ファイルを検索するために特定のノードを選択する際には、さまざまなパラメータを考慮に入れることができる。たとえば、ノードをプロビジョニングするために必要とされるファイルがライセンスによってコントロールされている場合には、プロビジョニング・プロセスは、ライセンス番号が確実に更新されるように、そのファイルを特定のサーバまたはシステムから入手する。プロビジョニング・プロセスにおいて特定のノードを選択するために、その他のポリシーを使用することもできる。たとえばエージェントやその他のモニタリング・プロセスは、さまざまなノード上におけるファイルの場所などの要因に基づいて、プロビジョニングの決定を行うことができる。たとえば、プロビジョニングされているノードの近くに位置するノードを、同じファイルを含むが遠くに位置する別のノードよりも優先して選択することができる。プロビジョニングされているノードと、必要とされるファイルを含む他のノードとの間におけるトラフィックなど、その他の要因を使用して、そのファイルの検索元となる特定のノードを選択することもできる。
【００３５】
さらに、ファイルを検索して、それらのファイルが固有または特別なものとみなされた場合に、あるノードを別のピアに優先してプロビジョニングする上で使用するために、マスター・ノードまたはサーバを選択することができる。たとえばＳＡＰ  ＡＧのＲ／３など、オペレーティング・システム用または基本的なアプリケーション用のファイルが、これらのタイプのファイルをプロビジョニングするためにサーバの設定から検索される。Ｒ／３は、ドイツのアプリケーション・プロバイダであるＳＡＰ  ＡＧによるビジネス・アプリケーションである。これらのポリシーは、プロビジョニング・プロセス内で実施することができる。
【００３６】
次いで図５においては、ノード・マップが、本発明の好ましい一実施形態に従って示されている。ノード・マップ５００は、図４のノード・マップ４１６のさらに詳細な例である。この例においては、ノード・マップ５００は、項目５０２、５０４、５０６、５０８、５１０、および５１２を含む。それぞれの項目は、特定のノード上に配置されているファイルのＩＤを含む。たとえばノード５０２は、ファイル５１４、５１６、５１８、５２０、５２２、および５２４を含む。
【００３７】
次いで図６を参照すると、ファイル・マップの図が、本発明の好ましい一実施形態に従って示されている。ファイル・マップ６００は、図４のファイル・マップ４１８のさらに詳細な図解である。ファイル・マップ６００は、項目６０２、６０４、６０６、６０８、６１０、および６１２を含む。それぞれの項目は、ファイルが探索されるノードのＩＤを含む。たとえば項目６０２は、ノード６１４、６１６、６１８、６２０、６２２、および６２４を、項目６０２用のファイルを探索することができる場所として識別する。
【００３８】
この例においては、項目６１０のみが、ファイルの場所として単一のノードを有する。このファイルは、中央のサーバ上に配置されている固有のファイルかもしれない。一方、このファイルが中央のサーバ上の固有のファイルでない場合には、バックアップ・プロセスの一環として、このファイルのさらなるバックアップを中央のサーバまたはその他の何らかのバックアップ用の場所に作成することができる。そして、このバックアップ用の場所を項目６１０に追加することができる。
【００３９】
ファイル・マップ６００内の項目は、ファイルによってインデックス付けされている。このインデックスは、具体的な実装形態に応じて異なる形式をとることができる。たとえば、それらのインデックス用にファイル・ノードを使用することができる。より固有の識別子を提供するために、実際のファイルそのもののハッシュ（hash）をインデックスとして使用することができる。ＭＤ５ハッシング・アルゴリズム（MD5 hashing algorithm）などのアルゴリズムを使用して、ファイルをハッシュすることができる。
【００４０】
さらにファイル・マップ６００は、コンピュータをプロビジョニングする際に採用することもできる。往々にして、特定のコンピュータまたはアプリケーションに必要とされるファイルのすべてが、ネットワーク・データ処理システム上の一式のノード上で探索される可能性がある。ファイル・マップ６００を使用して、これらのファイルを探索することができる。必要とされるファイルが探索された複数のノードは、これらのファイルを、プロビジョニングが行われるノードへ送信することができる。
【００４１】
さらにファイル・マップ６００は、ノードの好ましい階層を含むことができ、プロビジョニング・プロセスにおいては、その階層からファイルが検索される。プロビジョニング・プロセスは、アプリケーションをプロビジョニングするために使用される特定のファイルに関して、その階層上で最も高いノードを選択する。そのノードが利用できない場合や、そのファイルがそのノード上で探索されない場合には、階層内の次のノードが選択される。たとえばファイル・マップ６００内の項目６０２においては、ノード６１４が、そのファイルに関する階層内で最も高いノードになることができる。ノード６１６、６１８、６２０、６２２、および６２４は、プロビジョニング・プロセスの間に項目６０２において識別されるファイルを検索するための階層内では、より低いノードである。
【００４２】
さらに、ファイル・マップ６００が誤っている場合や、古い場合には、エラーを作成することができ、このエラーは、エージェントまたはサーバへ送信される。たとえば、ファイルに関して識別された詳細に辿り着くことができたものの、そのファイルが紛失している場合や、破損している場合には、エラーが作成される。この場合には、上述のプロセスを通じてノード・マップ６００を更新することができる。
【００４３】
そしてノード上のインストレーション・プログラムは、ファイルをインストールして、コンピュータをプロビジョニングすることができる。このようにして、コンピュータ全体をプロビジョニングすることもでき、あるいはこれらの図示されている例においては、単一のアプリケーションをプロビジョニングすることもできる。
【００４４】
次いで図７および８を参照すると、ファイルを管理することができるノードの図が、本発明の好ましい一実施形態に従って示されている。この例においては、ネットワーク・データ処理システム７００は、図７のノード７０２、７０４、７０６、７０８、および７１０を含む。マスター・ノード７１２は、バックアップ・プロセスの一環として、これらのノードをスキャンする。受信した情報に基づいて、ファイル・マップが、履歴およびマップ７１４内に作成される。
【００４５】
この例においては、ノード７１０は、図８の不成功のファイル７１６および７１８を含む。ノード７１０用の代替ファイルは、履歴およびマップ７１４内に配置されているファイル・マップ内で探索することができる。この例においては、ノード７０４が、ファイル７２０を含み、このファイル７２０は、ファイル７１６の代替となる。ノード７０８が、ファイル７２２を含み、このファイル７２２は、ファイル７１８の代替となる。これらのファイルは、この例においては、ノード７０４および７０８から転送される。
【００４６】
同様にして、ノード７０４、ノード７０８、およびマスター・ノード７１２上で探索されたファイルを使用して、ノード７０２をプロビジョニングすることができる。この例においては、ファイル７２０、７２２、および７２４が、ノード７０２へ転送されて、ネットワーク・データ処理システム７００内で使用するためにこのノードをプロビジョニングする。この時点で、インストレーション・プログラムまたはユーティリティは、それらのファイルをインストールして、ノード７０２用の構成情報を作成することができる。具体的な実装形態に応じて、構成ファイルは、ノード７０２へ転送またはコピーされるファイル内に含めることができる。
【００４７】
図９を参照すると、ファイル情報をマスター・ノードへ送信するためのプロセスのフローチャートが、本発明の好ましい一実施形態に従って示されている。図９に示されているプロセスは、図４のエージェント・バックアップ・プロセス４０６などのプロセス内で実施することができる。
【００４８】
このプロセスは、ノードをスキャンすることによって開始する（ステップ８００）。ステップ８００は、ノード上に配置されているファイルを識別するために使用される。ファイル一覧（file inventory）が、スキャンから作成される（ステップ８０２）。そして、ファイル情報がマスター・バックアップ・プロセスへ送信され（ステップ８０４）、ひいてはプロセスが終了する。この例においては、マスター・バックアップ・プロセスは、リモート・ノード上に配置されている。
【００４９】
図１０を参照すると、データをバックアップするためのプロセスのフローチャートが、本発明の好ましい一実施形態に従って示されている。マスター・ノード４００上のマスター・バックアップ／プロビジョニング・プロセス４１４など、図１０に示されているプロセスは、ノード上で実施することができる。
【００５０】
このプロセスは、ノードからファイル一覧を受信することによって開始する（ステップ９００）。ノード・マップが、ファイル一覧から構築される（ステップ９０２）。このノード・マップは、図５のノード・マップ５００と同様のものである。ファイル・マップが、ノード・マップから構築される（ステップ９０４）。ステップ９０４においては、ファイル・マップは、図６のファイル・マップ６００と同様のものである。
【００５１】
次いで、ノードを１つだけ伴うファイル・マップ内の未処理の項目が存在するかどうかが判定される（ステップ９０６）。このステップは、ネットワーク・データ処理システム内のその他のノード上では探索されないファイルを含むノードを識別するために使用される。このステップは、中央のサーバの固有のファイルのために実行されるものではない。このステップは、一般にネットワーク・データ処理システム内のノード上で探索されるファイルを対象としている。項目内にノードが１つだけ存在する場合には、そのノードが、保存用として追加される（ステップ９０８）。プロセスは、保存用として追加されるノードにファイルをコピーすることを開始し（ステップ９１０）、プロセスは、ステップ９０６に戻って、ノードを１つだけ伴うファイル・マップ内の未処理の項目がほかにないかチェックする。
【００５２】
ステップ９０６に戻って、ノードを１つだけ伴うファイル・マップ内の未処理の項目が存在しない場合には、プロセスは終了する。
【００５３】
図１１を参照すると、増分バックアップを行うためのプロセスのフローチャートが、本発明の好ましい一実施形態に従って示されている。マスター・ノード４００上のマスター・バックアップ・プロセス４１４など、図１１に示されているプロセスは、ノード上で実施することができる。このプロセスは、これらの例においては、図１０に示されているプロセスの後で開始される。
【００５４】
このプロセスは、ノードのスキャンにおいて未処理の差分を識別することによって開始する（ステップ１０００）。このステップは、処理のためにノードのスキャンにおいて一式の変更点から１つの変更点すなわち差分を選択する。差分とは、これらの例においては、ファイルまたはノード内の変更点である。差分内のアクションが識別される（ステップ１００２）。そのアクションがファイルの除去である場合には、ファイルを除去されたノードは、ファイル・マップ内のそのファイルに関する項目から除去される（ステップ１００４）。
【００５５】
次いでノードのすべてが、そのファイルに関する項目から除去されているかどうかが判定される（ステップ１００６）。それらの項目のすべてが除去されている場合には、その項目自体が、ファイル・マップから除去される（ステップ１００８）。その後、さらなる未処理の差分がスキャン内に存在するかどうかが判定される（ステップ１０１０）。さらなる差分が存在しない場合には、プロセスは終了する。
【００５６】
再びステップ１０１０を参照すると、さらなる未処理の差分が存在する場合には、プロセスは、上述のステップ１０００に戻る。ステップ１００６に戻って、すべてのノードが項目から除去されていない場合には、プロセスは、ステップ１０１０に進む。
【００５７】
再びステップ１００２を参照すると、アクションが新たなファイルの追加である場合には、そのファイルに関する項目がファイル・マップ内に存在するかどうかが判定される（ステップ１０１２）。新たなファイルに関する項目がファイル・マップ内に存在しない場合には、この新たなファイルに関する項目がファイル・マップに追加される（ステップ１０１４）。次いで、その項目にノードが追加される（ステップ１０１６）。そしてプロセスは、上述のステップ１０１０に進む。ステップ１０１２に戻って、項目がファイル・マップ内に存在する場合には、プロセスは、前述のステップ１０１６に進む。
【００５８】
次いで図１２を参照すると、データ処理システムをプロビジョニングするためのプロセスのフローチャートが、本発明の好ましい一実施形態に従って示されている。図１２に示されているプロセスは、図４のマスター・バックアップ／プロビジョニング・プロセス４１４などのプロビジョニング・プロセス内で実施することができる。
【００５９】
このプロセスは、ノードをプロビジョニングするために必要とされるファイルを識別することによって開始する（ステップ１１００）。これらのファイルは、オペレーティング・システムおよびアプリケーションなど、ノードが機能するのに必要とされるファイルのすべてかもしれない。その他の例においては、これらのファイルは、ノード上にインストールされる単一のアプリケーションまたは一式のアプリケーションのためのものかもしれない。これらのファイルの場所は、ファイル・マップを使用して特定される（ステップ１１０４）。そして必要とされるファイルは、プロビジョニングされるノードにコピーされ（ステップ１１０６）、その後、プロセスは終了する。それらのファイルがノードに到着すると、そのノード上のインストレーション・プログラムは、プログラムのインストールを完了することができる。場合によっては、構成を含む適切なファイルがノード内の適切なファイル・パスにコピーされるのであれば、インストレーション・プログラムは不要とすることができる。
【００６０】
このように、本発明は、ネットワーク・データ処理システム内でデータをバックアップしてリストアするための改良された方法、装置、およびコンピュータ命令を、好ましい実施形態に従って提供する。このメカニズムは、ネットワーク・データ処理システム内で使用するためのコンピュータをプロビジョニングする目的でソフトウェアをそのコンピュータ上にインストールするために採用することもできる。本発明のメカニズムは、データをバックアップしてリストアする目的でファイルの場所を識別するために、ならびにコンピュータをプロビジョニングするためにファイル・マップを採用することが好ましい。
【００６１】
このメカニズムは、テープ・ストレージ・ライブラリ（tape storagelibrary）およびストレージ・エリア・ネットワーク・システム（storage area network system）など、コストのかかるストレージ・システムを必要としない方法でデータを分散式にバックアップすることができる。このメカニズムによって、ネットワーク・データ処理システムは、ネットワーク・データ処理システム内の複数のノードに保存されているファイルを利用することができる。さらに、このファイル・マップを使用することによって、分散した場所からインストール用のノードへファイルを転送またはコピーすることができる。
【００６２】
完全に機能するデータ処理システムというコンテキストで本発明について説明したが、本発明のプロセスは、命令のコンピュータ可読メディアの形態およびさまざまな形態で配布することができるということ、および本発明は、その配布を実行するために実際に使用される特定のタイプの信号を運ぶメディアを問わずに等しく適用されるということを当業者なら理解できるであろうという点に留意することが重要である。コンピュータ可読メディアの例としては、フロッピー（登録商標）・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録できるタイプのメディアと、デジタル通信リンクおよびアナログ通信リンク、たとえば無線周波数および光波による伝送などの伝送形式を使用する有線通信リンクや無線通信リンクなどの伝送タイプのメディアとが含まれる。これらのコンピュータ可読メディアは、コード化されたフォーマットの形式をとることができ、特定のデータ処理システムにおいて実際に使用する際にデコードされる。
【００６３】
本発明の説明は、例示および説明の目的で提示されたものであり、網羅的であることや、開示された形態の発明に限定することを意図するものではない。当業者にとっては、多くの修正形態および変形形態が明らかであろう。実施形態は、本発明の原理、実際の応用を最もよく説明するために、および他の当業者が、考えられる具体的な使用に適したさまざまな修正を伴うさまざまな実施形態のために本発明を理解できるようにするために、選択され説明されたものである。
【図面の簡単な説明】
【００６４】
【図１】好ましい一実施形態に従って本発明を実装できるデータ処理システムのネットワークを示す絵画図である。
【図２】本発明の好ましい一実施形態に従ってサーバとして実装できるデータ処理システムを示すブロック図である。
【図３】好ましい一実施形態に従って本発明を実装できるデータ処理システムを示すブロック図である。
【図４】本発明の好ましい一実施形態に従ってデータをバックアップし、データをリストアし、プロビジョニングを行うために使用されるコンポーネントを示す図である。
【図５】本発明の好ましい一実施形態によるノード・マップ（node map）である。
【図６】本発明の好ましい一実施形態によるファイル・マップ（file map）を示す図である。
【図７】本発明の好ましい一実施形態に従ってファイルを管理することができるノードを示す図である。
【図８】本発明の好ましい一実施形態に従ってファイルを管理することができるノードを示す図である。
【図９】本発明の好ましい一実施形態に従ってファイル情報をマスター・ノードへ送信するためのプロセスを示すフローチャートである。
【図１０】本発明の好ましい一実施形態に従ってデータをバックアップするためのプロセスを示すフローチャートである。
【図１１】本発明の好ましい一実施形態に従って増分バックアップを行うためのプロセスを示すフローチャートである。
【図１２】本発明の好ましい一実施形態に従ってデータ処理システムをプロビジョニングするためのプロセスを示すフローチャートである。
【図１】
2008524682.tif 000003
【図２】
2008524682.tif 000004
【図３】
2008524682.tif 000005
【図４】
2008524682.tif 000006
【図５】
2008524682.tif 000007
【図６】
2008524682.tif 000008
【図７】
2008524682.tif 000009
【図８】
2008524682.tif 000010
【図９】
2008524682.tif 000011
【図１０】
2008524682.tif 000012
【図１１】
2008524682.tif 000013
【図１２】
2008524682.tif 000014
【国際調査報告】
2008524682.tif 000015
2008524682.tif 000016