(57)【特許請求の範囲】
【請求項１】
クラスタ化されたネットワーク環境にて、クラスタ化されたアプリケーションのためのデータをアーカイブする方法であって、
前記ネットワーク環境は複数のノードを有し、前記クラスタ化されたアプリケーションは前記複数のノード間でフェイルオーバーが可能であり、
前記方法は、
前記クラスタ化されたアプリケーションをその物理的位置に関わらず識別するための浮動識別子を含む、前記クラスタ化されたアプリケーションのための位置要求を生成するステップ、
前記位置要求に応答して、前記クラスタ化されたアプリケーションのそれぞれに対応する仮想クライアントアプリケーションをアーカイブサーバアプリケーションが生成し、生成された仮想クライアントアプリケーションが、前記浮動識別子に基づいて、前記クラスタ化されたアプリケーションがアクティブであるノードを識別する物理位置識別子を得るステップ、
前記物理位置識別子に応答して、アクティブなアーカイブクライアントアプリケーションが前記クラスタ化されたアプリケーションがアクティブであるノードに存在しないことを決定するステップ、
前記決定するステップに応答して、前記クラスタ化されたアプリケーションのためのデータをアーカイブする前に、前記アーカイブサーバアプリケーションにより、アクティブなアーカイブクライアントアプリケーションを前記クラスタ化されたアプリケーションがアクティブであるノードにインストールするステップ、
前記アーカイブサーバアプリケーションにより、前記仮想クライアントアプリケーションを介して、前記クラスタ化されたアプリケーションのためのアーカイブ設定ファイルにアクセスするステップ、および、
前記アーカイブ設定ファイルにしたがって、前記クラスタ化されたアプリケーションがアクティブであるノードにて、前記アクティブなアーカイブクライアントアプリケーションにより、前記クラスタ化されたアプリケーションのためのデータをアーカイブするステップ、
を含む、方法。
【請求項２】
クラスタ化されたネットワーク環境にて、クラスタ化されたアプリケーションのためのデータをアーカイブする方法であって、
前記ネットワーク環境は複数のノードを有し、前記クラスタ化されたアプリケーションは前記複数のノード間でフェイルオーバーが可能であり、
前記方法は、
前記クラスタ化されたアプリケーションをその物理的位置に関わらず識別するための浮動識別子を含む、前記クラスタ化されたアプリケーションのための位置要求を生成するステップ、
前記位置要求に応答して、前記クラスタ化されたアプリケーションのそれぞれに対応する仮想クライアントアプリケーションをアーカイブサーバアプリケーションが生成し、生成された仮想クライアントアプリケーションが、前記浮動識別子に基づいて、前記クラスタ化されたアプリケーションがアクティブであるノードを識別する物理位置識別子を得るステップ、
前記物理位置識別子に応答して、前記クラスタ化されたアプリケーションがアクティブであるノードに存在するアーカイブクライアントアプリケーションが休止中であることを決定するステップ、
前記決定するステップに応答して、前記クラスタ化されたアプリケーションのためのデータをアーカイブする前に、前記アーカイブサーバアプリケーションにより、前記クラスタ化されたアプリケーションがアクティブであるノードにおいて、前記アーカイブクライアントアプリケーションをアクティブにするステップ、
前記アーカイブサーバアプリケーションにより、前記仮想クライアントアプリケーションを介して、前記クラスタ化されたアプリケーションのためのアーカイブ設定ファイルにアクセスするステップ、および、
前記アーカイブ設定ファイルにしたがって、前記クラスタ化されたアプリケーションがアクティブであるノードにて、アクティブにされたアーカイブクライアントアプリケーションにより、前記クラスタ化されたアプリケーションのためのデータをアーカイブするステップ、
を含む、方法。
【請求項３】
前記物理位置識別子は、前記クラスタ化されたネットワーク環境において、ノードに対する機械名を含む、請求項１または２に記載の方法。
【請求項４】
前記浮動識別子は、前記クラスタ化されたアプリケーションに固有の仮想ＩＰアドレスを含む、請求項１または２に記載の方法。
【請求項５】
前記アーカイブするステップは、前記データのための少なくとも１つの記憶媒体装置を識別する、請求項１または２に記載の方法。
【請求項６】
クラスタ化されたネットワーク環境において、クラスタ化されたアプリケーションのためのデータをアーカイブするシステムであって、
前記ネットワーク環境は複数のノードを有し、前記クラスタ化されたアプリケーションは前記複数のノード間でフェイルオーバーが可能であり、
前記システムは、
前記クラスタ化されたアプリケーションをその物理的位置に関わらず識別するための浮動識別子を含む、前記クラスタ化されたアプリケーションのための位置要求を生成する手段、
前記位置要求に応答して、前記クラスタ化されたアプリケーションのそれぞれに対応する仮想クライアントアプリケーションをアーカイブサーバアプリケーションが生成し、生成された仮想クライアントアプリケーションが、前記浮動識別子に基づいて、前記クラスタ化されたアプリケーションがアクティブであるノードを識別する物理位置識別子を得る手段、
前記物理位置識別子に応答して、アクティブなアーカイブクライアントアプリケーションが前記クラスタ化されたアプリケーションがアクティブであるノードに存在しないことを決定する手段、
前記決定するステップに応答して、前記クラスタ化されたアプリケーションのためのデータをアーカイブする前に、前記アーカイブサーバアプリケーションにより、アクティブなアーカイブクライアントアプリケーションを前記クラスタ化されたアプリケーションがアクティブであるノードにインストールする手段、
前記アーカイブサーバアプリケーションにより、前記仮想クライアントアプリケーションを介して、前記クラスタ化されたアプリケーションのためのアーカイブ設定ファイルにアクセスする手段、および、
前記アーカイブ設定ファイルにしたがって、前記クラスタ化されたアプリケーションがアクティブであるノードにて、前記アクティブなアーカイブクライアントアプリケーションにより、前記クラスタ化されたアプリケーションのためのデータのアーカイビングを管理する手段、
を含む、システム。
【請求項７】
前記生成する手段、前記得る手段、前記決定する手段、前記インストールする手段、前記アクセスする手段、および前記管理する手段はそれぞれ、ソフトウエアにて実行される、請求項６に記載のシステム。
【請求項８】
クラスタ化されたネットワーク環境において、クラスタ化されたアプリケーションのためのデータをアーカイブするシステムであって、
前記ネットワーク環境は複数のノードを有し、前記クラスタ化されたアプリケーションは前記複数のノード間でフェイルオーバーが可能であり、
前記システムは、
前記クラスタ化されたアプリケーションをその物理的位置に関わらず識別するための浮動識別子を含む、前記クラスタ化されたアプリケーションのための位置要求を生成する手段、
前記位置要求に応答して、前記クラスタ化されたアプリケーションのそれぞれに対応する仮想クライアントアプリケーションをアーカイブサーバアプリケーションが生成し、生成された仮想クライアントアプリケーションが、前記浮動識別子に基づいて、前記クラスタ化されたアプリケーションがアクティブであるノードを識別する物理位置識別子を得る手段、
前記物理位置識別子に応答して、前記クラスタ化されたアプリケーションがアクティブであるノードに存在するアーカイブクライアントアプリケーションが休止中であることを決定する手段、
前記決定するステップに応答して、前記クラスタ化されたアプリケーションのためのデータをアーカイブする前に、前記アーカイブサーバアプリケーションにより、前記クラスタ化されたアプリケーションがアクティブであるノードにおいて、前記アーカイブクライアントアプリケーションをアクティブにする手段、
前記アーカイブサーバアプリケーションにより、前記仮想クライアントアプリケーションを介して、前記クラスタ化されたアプリケーションのためのアーカイブ設定ファイルにアクセスする手段、および、
前記アーカイブ設定ファイルにしたがって、前記クラスタ化されたアプリケーションがアクティブであるノードにて、アクティブにされたアーカイブクライアントアプリケーションにより、前記クラスタ化されたアプリケーションのためのデータのアーカイビングを管理する手段、
を含む、システム。
【請求項９】
前記生成する手段、前記得る手段、前記決定する手段、前記アクティブにする手段、前記アクセスする手段、および前記管理する手段はそれぞれ、ソフトウエアにて実行される、請求項８に記載のシステム。
【発明の詳細な説明】
【発明の属する技術分野】
【０００１】
本発明は主に、コンピュータデータのアーカイビングに関する。より具体的には、本発明は、クラスタ化されたネットワーク環境におけるコンピュータデータのアーカイビングに関する。
【発明の背景】
【０００２】
［関連する参考文献］
本出願は、「クラスタ化された環境でアーカイブクライアントアプリケーションを管理するシステムおよび方法」というタイトルの米国特許出願に含まれる主題に関連する。
何十年もの間、情報はコンピュータ間で多様な形態にて共有されている。情報の共有を促す１つの有名な形態は、クライアント／サーバモデルとして知られており、このクライアント／サーバモデルは、クライアント／サーバネットワークとして広く認識されている。クライアント／サーバネットワークにおいて、サーバアプリケーションは、（１またはそれ以上のコンピュータハードウエアに存在し、）多数のクライアントアプリケーションからの要求を待ち受け、そして実行するソフトウエアプログラムである。サーバアプリケーションはしばしば、データの格納を管理し、１またはそれ以上のクライアントアプリケーションは、サーバアプリケーションへのアクセスを確保する。
クライアント／サーバネットワークの数が増加したため、この技術もまた同様に進歩して、多くのクライアントアプリケーションが単一のサーバアプリケーションにアクセスすることを可能にした。この能力はまた、サーバアプリケーションへの依存と、サーバの障害を少なくしたいという要望とを増加させた。この技術はさらに進歩して、主要なサーバシステムに障害がある場合に、補助的なサーバシステムを絶え間なくアクティブにすることを可能にした。この絶え間ないアクティブ化プロセスは、クライアントに気付かれることなく、すべてのアクティブなアプリケーションを、主要なメインサーバから補助的なサーバシステムへと移行させる。この移行プロセスは典型的には、「フェイルオーバー（"failover"または"failing over"）」として当業者に知られており、「サーバクラスタにおいて、アプリケーション設定情報を明確にフェイルオーバーする方法およびシステム」というタイトルの米国特許番号第６，３６０，３３１号に教示されている。主要なサーバシステムから補助的なサーバシステムへと（または第１のノードから第２のノードへと）フェイルオーバーするために設定されたアプリケーションは、「クラスタ化されたアプリケーション」として当業者に知られている。クラスタ化されたアプリケーションは、仮想インターネットプロトコル（「ＩＰ」）アドレスを有する共有化資源として関連付けられて設定される。仮想ＩＰアドレスは変化せず、しかも物理的位置に依存しないため、障害が生じた場合であっても、クラスタ化されたアプリケーションへの継続的なクライアント通信が可能となる。
【０００３】
フェイルオーバーのプロセスは、データを正確にアーカイブしそして復元する際の困難性を増加させる。アーカイブプロセスの間、アーカイブシステムは、「バックアップジョブ」として当業者に知られていることを予定しているだろう。この「バックアップジョブ」は、アーカイブのための特定のアプリケーション、ファイルシステム、ドライブ、またはこれらと同様のものを識別する。バックアップジョブがアクティブになると、アーカイブシステムは、アーカイブされるアプリケーションの物理的位置および特定の設定を認識しなければならない。このため、バックアップジョブがアクティブになって、ノードＡにてアプリケーションをアーカイブし、このアプリケーションがノードＢへとフェイルオーバーする場合、このアプリケーションは、ノードＡではもはやアクティブではないため、アーカイブしているジョブは失敗するだろう。
【０００４】
したがって、クラスタ化されたアプリケーションのアーカイビングを可能にするデータアーカイブシステムおよびデータアーカイブ方法が求められている。
【発明の開示】
【発明の簡単な要旨】
【０００５】
本発明にかかる実用的なデータアーカイブシステムは、少なくとも１つのアーカイブクライアントアプリケーションと、少なくとも１つの対応するアーカイブサーバアプリケーションと、少なくとも１つの対応する仮想クライアントアプリケーションとを含む。具体的には、このアーカイブシステムは仮想クライアントアプリケーションを利用し、この仮想クライアントアプリケーションは、アーカイブが特定のクラスタ化されたアプリケーションのために実行される設定および処理を促す。クラスタ化されたアプリケーションのための仮想クライアントアプリケーションの使用は、クラスタ化されたアプリケーションが新しいノードへとフェイルオーバーすることを可能にする一方で、フェイルオーバーされたクラスタ化されたアプリケーションをアーカイブする能力を保存する。実際には、アーカイブシステムをセットアップするプロセスは、仮想クライアントアプリケーションが仮想ＩＰアドレスを含むように、仮想クライアントアプリケーションを生成し、この仮想ＩＰアドレスは、アーカイブシステムにおいて、各アーカイブクライアントアプリケーションによって参照可能である。
本発明の上記の態様および他の態様は、クラスタ化されたネットワーク環境において、クラスタ化されたアプリケーションのためのデータをアーカイブする方法によって１つの形態にて実行させてもよい。この方法は、クラスタ化されたアプリケーションのための浮動識別子を含む、前記クラスタ化されたアプリケーションのための位置要求を生成するステップと、前記位置要求に応答して、前記クラスタ化されたアプリケーションのための物理位置識別子を得るステップと、前記クラスタ化されたアプリケーションに対応するアーカイブ設定ファイルにアクセスするステップと、前記アーカイブ設定ファイルにしたがって、前記クラスタ化されたアプリケーションのためのデータをアーカイブするステップとを含む。
【好ましい実施形態の詳細な説明】
【０００６】
ここで、本発明は機能的ブロック構成要素および多様な処理ステップの観点で記載することができる。このような機能的ブロックは、特定の機能を実行するために設定された多数のハードウエア構成要素、ソフトウエア構成要素、および／またはファームウエア構成要素によって実現することができる。例えば、本発明は種々の集積回路要素、記憶要素、ロジック要素、参照テーブル（look-up table）、およびこれらと同様のものを使用してもよく、これらは１またはそれ以上のマイクロプロセッサまたは他の制御デバイスの制御下で様々な機能を実行してもよい。加えて、本発明は多数の実用的なコンピュータハードウエアの実行と連動して実行させてもよいこと、ならびに、ここで記載されている特定のシステム構造は単に本発明の１つの例示的な用途にすぎないことを、当業者は理解するだろう。
【０００７】
ここで示されそして記載された特定の実行は、本発明およびそのベストモードの例示であり、いずれかの方法によって本発明の範囲を限定することを特段に意図するものではない。実際に、簡潔さの点から、従来技術およびコンピュータ装置、コンピュータネットワーク、データ転送、データアーカイビング、データ通信ならびにデータ格納の態様、ならびにシステム（およびシステムの個々の動作構成要素）の他の機能的な態様は、ここでは詳細に記載しないつもりである。さらに、ここに含まれる種々の図で示される接続ラインは、種々の要素間での例示的な機能的関係および／または物理的な連結を表すことを意図している。実用的な実施形態においては、多くの代替的または付加的な機能的関係または物理的接続が存在するかもしれないことを留意すべきである。
【０００８】
図１は、本発明に含まれるであろう、クラスタ化されたネットワーク環境１００の一例の模式的な図である。説明を容易にするために、クラスタ化されたネットワーク環境１００は単純化された構造を表す。すなわち、実際の構造は、付加的および／または代替的な物理的要素および論理的要素を有していてもよい。クラスタ化されたネットワーク環境１００は通常、アーカイブサーバシステム１０２、多数のクライアント構成要素１０４，１０６，１０８，１１０，１１２、および多数の記憶媒体装置１１６，１１８，１２０，１２２を含む。１またはそれ以上の記憶媒体装置は、ネットワークにアクセスされる記憶装置（ＮＡＳ；network-accessed storage）と関連付けられてもよい。代替的に（あるいは付加的に）、１またはそれ以上の記憶媒体装置は、記憶領域ネットワーク（ＳＡＮ；storage area network）１２６と関連付けられてもよい。従来のＳＡＮ機構を用いた場合、クライアント構成要素１１０およびクライアント構成要素１１２は、ＦＣスイッチ１２８を介して記憶資源を共有する。
【０００９】
図１において、アーカイブサーバシステム１０２、クライアント構成要素、および記憶媒体装置は物理的なハードウエア構成要素を表す。アーカイブサーバシステム１０２は、ここで記載されたアーカイブサーバアプリケーションのタスク（および場合によっては他のタスク）を実行するために設定されたコンピュータであり、一方、クライアント構成要素は、データのアーカイビング（バックアップ）を要求する多数のクラスタ化されたアプリケーションと関連付けられたタスクを実行するために設定されたコンピュータである。クライアント構成要素はまた、ここで記載されたアーカイブクライアントアプリケーションのタスク（および場合によっては他のタスク）を実行するために設定されていてもよい。例えば、クライアント構成要素１０４は、クラスタ化された電子メールサーバアプリケーションのための主要なノードであってもよく、クライアント構成要素１０６は、クラスタ化された電子メールサーバアプリケーションのためのフェイルオーバーノードであってもよく、さらに、アーカイブサーバシステム１０２は、クラスタ化された電子メールサーバアプリケーションのためのバックアップ手順および復元手順を担っていてもよい。単一のクラスタ化されたアプリケーションは、多数のクライアント構成要素ノードによって支援されていてもよいが、しかしながら、実際のほとんどの配置においては、クラスタ化されたアプリケーションはそれぞれ、供給された１つの主要なノードと、供給された１つのフェイルオーバーノードとを有する。ここで記載された例示的な実施形態の目的のためには、アーカイブサーバシステム１０２にはクラスタ化されたアプリケーションは存在しない。しかしながら、実用的な実施形態ではそのように限定される必要はない。
【００１０】
ここで用いられているように、「ノード」は、ネットワーク環境において、物理的なプロセシング位置に関する。この点において、ノードはコンピュータまたはプリンタなどの他のデバイスであることができる。実用的なネットワークにおいては、各ノードは固有のネットワークアドレスを有し、このネットワークアドレスは、データリンクコントロール（ＤＬＣ）アドレスまたはメディアアクセスコントロール（ＭＡＣ）アドレスと呼ばれることもある。
【００１１】
「サーバ」は、特にネットワーク環境において、管理、プロセシング、読み出し、および／またはデータ伝送に関連付けられた多数の機能および動作を実行するために設定されたコンピュータ処理装置またはコンピュータ処理システムとしばしば定義される。あるいは、「サーバ」または「サーバアプリケーション」は、そのような処理、方法、および／または技法を実行するソフトウエアに言及してもよい。市販されているほとんどの一般用サーバにおいては、本発明のアーカイブシステムを支援する実用的なサーバ構成要素は、ユニックス、リナックス、アップルマッキントッシュＯＳ、またはマイクロソフトウインドウズのあらゆる改訂版などのいずれの適切なオペレーティングシステム上で実行するように設定されていてもよく、かつ、多数のマイクロプロセッサ装置（例えば、インテル社によるペンティアムファミリー、またはアドバンスドマイクロデバイス社、ＩＢＭ社、サンマイクロシステムズ社、あるいはモトローラ社から市販されているプロセッサ装置）を実行してもよい。
【００１２】
サーバプロセッサは、システムメモリ（例えば、適切な容量のランダムアクセスメモリ）および適切な容量の記憶装置または「永久的な（permanent）」メモリを用いて通信を行なう。永久的なメモリは１またはそれ以上のハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、磁気テープ、取り外し可能な媒体、固体状態記憶装置またはこれらの組み合わせを含んでいてもよい。既知の技法にしたがって、オペレーティングシステムのプログラムおよびサーバアプリケーションプログラムは永久的なメモリに存在し、動作中にこれらの一部をシステムメモリに取り込んでもよい。コンピュータプログラミング分野における当業者の実務にしたがって、種々のサーバ構成要素またはクライアント構成要素によって実行可能である代表的な動作例を参照して、本発明を以下のように説明する。このような動作は、コンピュータにより実行され、コンピュータ化され、ソフトウエアにより実施され、またはコンピュータにより実施されるものであると言及されることがある。代表的に示される動作は、電気信号からなる種々のマイクロプロセッサ装置による操作を含み、種々の電気信号は、他のプロセシング信号と同様に、システムメモリにおいてメモリ位置でのデータビットを表す。データビットが維持されるメモリ位置は、データビットに対応する特定の電気的特性、磁気的特性、光学的特性、または有機的特性を有する物理的位置である。
【００１３】
ソフトウエアが実行される場合、本発明の種々の要素（前記要素はクライアント装置またはアーカイブサーバシステム１０２に存在していてもよい）は本質的に、種々のタスクを実行するコードセグメントである。プログラムまたはコードセグメントは、プロセッサが読み取り可能な媒体内に格納可能であるか、または、伝送媒体または通信経路（パス）にわたって搬送波内で具現化されるコンピュータデータ信号によって伝送可能である。「プロセッサが読み取り可能な媒体」または「機械が読み取り可能な媒体」は、情報を格納または転送することができるいかなる媒体を含んでいてもよい。プロセッサが読み取り可能な媒体の例には、電子回路、半導体メモリ装置、ＲＯＭ、フラッシュメモリ、消去可能なＲＯＭ（ＥＲＯＭ）、フロッピーディスケット、ＣＤ−ＲＯＭ、光学ディスク、ハードディスク、ファイバ光学媒体、無線周波数（ＲＦ）リンク、またはこれらと同様のものが含まれる。コンピュータデータ信号は、電子ネットワークチャンネル、光学ファイバ、空気、電磁気経路（パス）、またはＲＦリンクなどの伝送媒体中を伝搬することができる。コードセグメントは、インターネット、イントラネット、ＬＡＮ、またはこれらと同様のものなどのコンピュータネットワークを介してダウンロード可能である。
【００１４】
実用的な用途においては、アーカイブサーバシステムおよびクライアント構成要素は、既知のコンピュータプラットフォーム（例えば、コンパックアルファＴｒｕ６４，フリーＢＳＤ，ＨＰ−ＵＸ，ＩＢＭ  ＡＩＸ，リナックス，ＮＣＲ  ＭＰ−ＲＡＳ，ＳＣＯ  オープンサーバ，ＳＣＯ  ユニックスウエア，ＳＧＩ  イリックス，ソラリス（Ｓｐａｒｃ），ソラリス（インテル），ウインドウズ  ２０００，ウインドウズ  ＮＴ，およびノベル  ネットウエア）にしたがって設定されていてもよい。実用的な用途においては、記憶媒体装置は、既知のテープ技術（ＤＬＴ，８ｍｍ，４ｍｍＤＡＴ，ＤＴＦ，ＬＴＯ，ＡＩＴ−３，スーパーＤＬＴ，ＤＴＦ２，およびＭ２）、または既知の光ディスク技術（ＤＶＤ−ＲＡＭ，ＣＤ，またはそれと同様のもの）にしたがって設定可能である。実用的な用途においては、クラスタ化されたネットワーク環境１００は、多数のＳＡＮ／ＮＡＳ装置（例えば、アンカー（Ancor），ブロカード（Brocade），チャパラル（Chaparral），クロスロード（Crossroads），ＥＭＣ，ファルコンストル（FalconStor），ガドゾックス（Gadzoox），ネットワークアプライアンス（Network Appliance），およびヴィクセル（Vixel））を支援することができる。簡潔さの点から、これら従来の装置およびプラットフォームをここで記載するつもりはない。
【００１５】
従来のクラスタ化されたネットワーク環境において、アーカイブサーバシステム１０２のオペレーティングシステムおよびクライアント構成要素のオペレーションシステムは、クラスタ化されたアプリケーションを操作することができる。言い換えれば、（フェイルオーバーノードがクラスタ化されたアプリケーションを支援すると仮定する場合）クラスタ化されたアプリケーションは、１つのクライアントノードから別のクライアントノードへとフェイルオーバーすることができ、クラスタ化されたアプリケーションは、その物理的位置とともに変化しない浮動識別子によって一意的に識別される。実用的な用途においては、この浮動識別子は、クラスタ化されたアプリケーションに割り当てられる仮想ＩＰアドレスであり、この仮想ＩＰアドレスは、その物理的なノードの位置に関わらず、特定のクラスタ化されたアプリケーションを識別する。ここで、「ＩＰアドレス」は従来の意味で用いられており、すなわち、ＩＰアドレスは、ＴＣＰ／ＩＰ相互ネットワークにおいて、コンピュータまたは装置のための識別子である。メッセージは、所望の目的地のＩＰアドレスを用いるようなネットワーク内で送られる。現在の規格によれば、ＩＰアドレスの形式は、ピリオドによって区切られた４個の番号として記載される３２ビットの数アドレスであり、各番号は０から２５５までが可能である。例えば、「１．２３４．５６．７８９」はＩＰアドレスとすることができる。
【００１６】
図２は、クラスタ化されたネットワーク環境にて配置可能であるアーカイブシステム２００の一例の一部を示す模式的な図である。図２に示される部分は、単一のクラスタ化されたアプリケーション２０２のアーカイビングを支援する機能的な構成要素を表し、クラスタ化されたアプリケーション２０２は、少なくとも２つのクライアント構成要素のノード（ノードＡ（参照番号２０４）およびノードＢ（参照番号２０６））によって支援される。アーカイブシステム２００に関する下記の記載は、多数の互換性のあるクライアントノードを検討するために展開することができる。さらに、実際の実行は、多数の異なるクラスタ化されたアプリケーションを支援することができる。
【００１７】
アーカイブシステム２００は通常、アーカイブサーバシステム２０８、クライアントノード２０４、およびクライアントノード２０６を含み、これらはすべて、周知の規格およびプロトコルにしたがってデータ通信のために相互接続される。ある実用的な実施形態においては、アーカイブシステム２００は、アーカイブサーバシステム２０８とクライアントノード２０４／２０６との間の通信、およびクライアントノード２０４とクライアントノード２０６との間の通信のためのインターネットプロトコル（「ＩＰ」）の一連のプロトコルと互換性を有する。もちろん、アーカイブシステム２００および／またはクラスタ化されたネットワーク環境は、アーカイビングおよび他の目的のために、付加的または代替的な通信技法、通信プロトコル、または通信方法を利用してもよい。
【００１８】
例示的な実施形態においては、アーカイビングサーバシステム２０８はある物理ノードにて実行される。アーカイビングサーバシステム２０８は、アーカイブサーバアプリケーション２１０と、クラスタ化されたアプリケーション２０２のための仮想クライアントアプリケーション２１２とを含む。アーカイブサーバシステム２０８は好ましくは、１またはそれ以上の適切に設定された記憶媒体要素を含むかまたは前記記憶媒体要素と通信し、前記記憶媒体要素は、このシステムによって利用される他のデータに加えて、アーカイブされたデータを格納することができる（図１参照）。アーカイブデータアプリケーション２１０は、種々のアーカイブクライアントアプリケーションと通信するため、ならびに、場合によってはここで記載されているアーカイビングタスクを管理するために適切に設定される。以下により詳細に記載されるように、実用的なアーカイブサーバシステム２０８は、類似する複数のクラスタ化されたアプリケーションのための複数の仮想クライアントアプリケーションを含んでいてもよい。例示的な実施形態においては、異なる仮想クライアントアプリケーションが、異なるクラスタ化されたアプリケーションそれぞれのために生成され、この異なるクラスタ化されたアプリケーションは、アーカイブサーバシステム２０８によって提供される。
【００１９】
本例の目的のために、クライアントノード２０４は、クラスタ化されたアプリケーション２０２に対する「主要な」動作ノードまたは「通常の」動作ノードとして考慮されるだろうし、クライアントノード２０６は、フェイルオーバーノードとして考慮されるだろう。言い換えれば、クラスタ化されたアプリケーション２０２ａは通常、クライアントノード２０４にて実行され、クラスタ化されたアプリケーション２０２ｂは、クライアントノード２０６でフェイルオーバーモードにて実行される。既知のクラスタ化技法にしたがって、クラスタ化されたアプリケーション２０２は、クライアントノード２０４／２０６の両方で重複してインストールされることができ、クラスタ化されたアプリケーション２０２ｂは、フェイルオーバーの通知によりアクティブになることができる。ここで記載されたアーカイブシステムの背景により、クライアントノード２０４／２０６は構成および機能を一致させることができる。
【００２０】
クライアントノード２０４は、アーカイブクライアントアプリケーション２１４を含み、このアーカイブクライアントアプリケーション２１４は、アーカイブサーバシステム２０８と連動してアーカイビング機能、バックアップ機能、および読み出し機能を実行するために設定される。この点で、アーカイブクライアントアプリケーション２１４は、クラスタ化されたアプリケーション２０２のアーカイビング要求、バックアップ要求、および読み出し要求を支援するために特別に設定される。さらに、アーカイブクライアントアプリケーション２１４は、多数の異なるクラスタ化されたアプリケーションを支援することができる。クラスタ化されたアプリケーション２０２ａのフェイルオーバーに応答して、クライアントノード２０６はアクティブなノードとなり、クラスタ化されたアプリケーション２０２ｂはクライアントノード２０６でアクティブになる。この点で、アーカイブクライアントアプリケーション２１４は、クラスタ化されたアプリケーション２０２のアーカイビング要求、バックアップ要求、および読み出し要求をもはや管理しない。むしろ、クライアントノード２０６に存在するアーカイブクライアントアプリケーション２１６は、これらの要求について責任を負うと仮定する。以下により詳細に記載されるように、アーカイブクライアントアプリケーション２１６は、クライアントノード２０６にて予めインストールしておくことができ、フェイルオーバー時にアクティブになる準備ができている。代わりに、アーカイブクライアントアプリケーション２１６は、フェイルオーバーに応答して、クラスタ化されたネットワーク環境において適切な位置から即時に（「on the fly」）インストールが可能である。クラスタ化されたアプリケーション２０２の物理的位置に関わらず、アーカイブシステム２００がアーカイブクライアントアプリケーションを用いてアーカイビングジョブを実行することができる点、および、アーカイブシステム２００を適切な方法にて配置できる点で、異なるアーカイブクライアントアプリケーションを使用することが望ましい。既知のクラスタ化技法および手順にしたがって、クラスタ化されたアプリケーション２０２はいつでも（そして、バックアップ中または復元処理中であっても）、クライアントノード２０４／２０６の間でフェイルオーバーおよびフェイルバック（failback）を行なうことができる。
【００２１】
例示的な実施形態において、アーカイブサーバアプリケーション２１０または仮想クライアントアプリケーション２１２は、各ノードにて、アーカイブクライアントアプリケーションをインストールするかまたはアクティブにすることができ、各ノードは、アーカイブシステム２００によって支援されたクラスタ化されたアプリケーションを受け取ることができる。仮想クライアントアプリケーション２１２および／またはアーカイブサーバアプリケーション２１０は、アーカイブサーバシステム２０８によるアーカイブ設定ファイルの格納および操作を促す。アーカイブ設定ファイルは、特定のクラスタ化されたアプリケーションと関連付けられている（クラスタ化されたアプリケーションのためのアーカイブ設定ファイルは、クラスタ化されたアプリケーションがアーカイブシステム２００によってアーカイブされるかまたはバックアップされる方法を指示する。）。さらに、仮想クライアントアプリケーション２１２および／またはアーカイブサーバアプリケーション２１０は、クラスタ化されたアプリケーションデータの格納および操作を促す。すなわち、実際のデータはアーカイブされ、および／または復元される。クラスタ化されたアプリケーションデータの実際のアーカイビング、バックアップ、および取り出しは、アーカイブサーバアプリケーション２１０によって管理され、かつ、仮想クライアントアプリケーション２１２によってアクセスされた特定のアーカイビング設定ファイルにしたがって、それぞれのアーカイブクライアントアプリケーションによって実行される。
【００２２】
アーカイブジョブがアクティブになると、アーカイブサーバアプリケーション２１０は、仮想クライアントアプリケーション２１２から、特定のクラスタ化されたアプリケーション２０２のための浮動識別子を得ることができる。次いで、アーカイブサーバシステム２００は、クラスタ化されたアプリケーション２０２のための位置要求を送信する。実用的な実施形態においては、この位置要求は、特定のクラスタ化されたアプリケーション２０２の浮動識別子を含む。浮動識別子はクラスタ化されたアプリケーションとともに移動するため、位置要求に応答するアーカイブクライアントアプリケーションは、クラスタ化されたアプリケーション２０２と同じ物理的位置に存在するアーカイブクライアントアプリケーションとなることができる。次いで、アーカイブシステム２００は、各アーカイブクライアントアプリケーションに、クラスタ化されたアプリケーションのための格納された設定ファイルを使用させることにより、現在のクライアントノードが変化するかどうか、またはフェイルオーバーが起きるかどうかを決定する必要性をなくすことができる。
【００２３】
図２に示される例において、アーカイブサーバシステム２０８は物理的なコンピュータ処理ノード上に存在し、一方、クラスタ化されたアプリケーション２０２はノード２０４に現在存在し、このノード２０４は、クラスタ化されたアプリケーション２０２の通常動作のために設定される。クラスタ化されたアプリケーション２０２は、第３の物理的なノード２０６へとフェイルオーバーすることができ、この第３の物理的なノード２０６は、クラスタ化されたアプリケーション２０２のフェイルオーバー動作のために設定される。アーカイブシステム２００の初期設定の間、アーカイブサーバアプリケーション２１０は、クラスタ化されたアプリケーション２０２に対応する仮想クライアントアプリケーション２１２を生成することができる。下記により詳細に記載されるように、仮想クライアントアプリケーション２１２は好ましくは、仮想クライアント名と、クラスタ化されたアプリケーション２０２の名前と、クラスタ化されたアプリケーション２０２に割り当てられた命名アドレスと、クラスタ化されたアプリケーション２０２のために使用可能なフェイルオーバーノードのリストとを含む。実用的な実施形態においては、仮想クライアントアプリケーション２１２は相対的に「薄い」アプリケーションであり、実際のアーカイビングを操作しかつアーカイブクライアントアプリケーション２１４／２１６によって一方で実行されるタスクを復元させるために設定される必要がない。仮想クライアントアプリケーション２１２はむしろ、アーカイブシステムのためのデータの格納を管理したり、クラスタ化されたアプリケーションそれぞれの物理的位置を監視したりするのに主に使用される。
【００２４】
アーカイブサーバアプリケーション２１０は、ノード２０４上にアーカイブクライアントアプリケーション２１４を設定し、ノード２０６上にアーカイブクライアントアプリケーション２１６を設定する。言い換えれば、各アーカイブクライアントアプリケーションは、クライアントノードにてインストールされまたはアクティブになる。アーカイブシステム２００はまた、設定されたアーカイブクライアントアプリケーションのリストを更新することができ、このアーカイブクライアントアプリケーションのリストは、仮想クライアントアプリケーション２１２に含まれる。バックアップジョブが一度設定されると、アーカイブサーバアプリケーション２１０が仮想クライアントアプリケーション２１２と通信し、この仮想クライアントアプリケーション２１２は順に、クラスタ化されたアプリケーション２０２の現在の物理的位置を決定しようと試みる。クラスタ化されたアプリケーション２０２と同じノードに存在するアーカイブクライアントアプリケーションが、バックアップジョブ要求に応答して生成された適切なメッセージを受け取ると、アーカイブクライアントアプリケーションは、その物理的位置に関する情報とともに、アーカイブサーバアプリケーション２１０に反応する。
【００２５】
上述したように、仮想クライアントアプリケーション２１２は適切には、利用可能なクライアントノードのうちの１つから、クラスタ化されたアプリケーション２０２に対する物理的位置識別子（例えば、ノードに割り当てられる機械名、ノードに対する物理ＩＰアドレス、またはノードに対するいずれかの固有の識別子）を得るように設定される。その後、仮想クライアントアプリケーション２１２は、クラスタ化されたアプリケーションのためのアーカイブ設定ファイル（および場合によっては他の情報）にアクセスすることができる。この方法は、アーカイブサーバアプリケーション２１０が、物理的なノードの位置の変化またはフェイルオーバーについて定常的に監視する必要なしで、クラスタ化されたアプリケーション２０２の物理的なノードの位置を識別することを可能にする。より具体的には、アーカイブサーバアプリケーション２１０は仮想クライアントアプリケーション２１２と通信し、仮想クライアントアプリケーション２１２は、ノード２０４に障害が発生して、クラスタ化されたアプリケーション２０２がノード２０６へとフェイルオーバーする場合に、アーカイブサーバシステム２０８に悪影響が生じないように、クラスタ化されたアプリケーション２０２の物理的なノードを消滅させる。
【００２６】
図３は、アーカイブシステム２００またはクラスタ化されたネットワーク環境１００にて使用可能なアーカイブサーバシステム３００の一例の模式的な図である。アーカイブサーバシステム２０８に関連して、上述したように、システム３００は、ここで記載されたアーカイビング機能、バックアップ機能、および復元機能を管理するアーカイブサーバアプリケーション３０２を含む。実際の実施においては、単一のアーカイブシステムは、多数のクラスタ化された（およびクラスタ化されていない）アプリケーションを支援するために柔軟に設定可能である。したがって、アーカイブサーバシステム３００は、複数の仮想クライアントアプリケーション３０４を用いて表される。１つの例示的な実施形態においては、アーカイブサーバシステム３００は、Ｎ個の異なる仮想クライアントアプリケーション３０４とともに、Ｎ個の異なるクラスタ化されたアプリケーションを支援し、仮想クライアントアプリケーション３０４はそれぞれ、１個のクラスタ化されたアプリケーションのみと相互作用するように適切に設定される。このようなデザインは、小規模の環境または大規模の環境において測定可能な動作を可能にし、アーカイブクライアントアプリケーションの適切な配置を促し、クラスタ化されたアプリケーションと、クラスタ化されたアプリケーションの仮想クライアントアプリケーションとの間の通信を促す（実用的な実施形態においては、クラスタ化されたアプリケーションと、クラスタ化されたアプリケーションの仮想クライアントアプリケーションとは、共通の名前を共有する）。
【００２７】
アーカイブサーバシステム３００はまた、ネットワークマネージャー３０６およびメディアマネージャー３０８を含む。ネットワークマネージャー３０６は、クラスタ化されたネットワークにおいて、１またはそれ以上のネットワークパス、通信リンク、またはそれと同様のものを介して、他のシステム、サブシステム、および構成要素との通信を操作する。ネットワークマネージャーは、当業者に知られているものであり、その動作の詳細についてはここでは説明しない。メディアマネージャー３０８は、クラスタ化されたネットワーク環境において、種々の媒体記憶装置を操作する。例えば、メディアマネージャー３０８は、記憶装置の利用可能性、前記装置によって利用される記憶媒体の種類、前記記憶装置の物理的位置、およびクラスタ化されたアプリケーションデータを実際に最良に格納する方法を監視および／または操作し、クライアントノードは前記記憶装置へのアクセスを有する。これらの要素は、アーカイブサーバアプリケーション３０２および／またはオペレーションシステムによって制御可能であり、このオペレーションシステムは、アーカイブサーバシステム３００がインストールされたノードに存在する。
【００２８】
図４は、システム２００のようなアーカイブシステムで使用可能な仮想クライアントアプリケーション４００の一例を模式的に表す図である。この説明のために、仮想クライアントアプリケーション４００は、ネットワーク環境において、１つのクラスタ化されたアプリケーションのみを支援することを目的とする。上述したように、仮想クライアントアプリケーション４００は好ましくは、それぞれのアーカイブサーバアプリケーションと同じノード位置に存在する。ここで説明されているように、仮想クライアントアプリケーション４００は、さまざまな仮想クライアント機能４０１を有する。例えば、仮想クライアントアプリケーション４００は、クラスタ化されたアプリケーションの名前を格納し、クラスタ化されたアプリケーションの浮動ＩＰアドレスを格納し、（クラスタ化されたアプリケーションの種類などの）クラスタ化されたアプリケーションに関連する情報を格納し、アーカイブクライアントアプリケーションがインストールされたノードのリストを格納し、かつ、格納されたデータについて素早く報告することができる。
【００２９】
仮想クライアントアプリケーション４００は、アーカイブシステムと互換性を有するアーカイブクライアントアプリケーションを用いて設定されたクライアントノードのテーブルまたは表４０２を含み、維持し、または前記テーブルまたは表４０２へとアクセスする。表４０２は多数のエントリーを有することができ、そして、この表４０２は、インストール／セットアップ時に生成される静的な表、バックアップ／復元ジョブに応答して即座に（on the fly）アーカイブクライアントアプリケーションがインストールされると生成されそして更新される動的な表、あるいはこれらの両方の組み合わせであってもよい。例えば、クライアントノードＡは、物理ＩＰアドレスおよび／または第１の機械名によって一意的に識別され、そして、クライアントノードＢは、異なる物理ＩＰアドレスおよび／または第２の機械名によって一意的に識別される。表４０２は、仮想クライアントアプリケーション４００が、ノードの物理ＩＰアドレスまたは機械名に基づいて、クラスタ化されたアプリケーションに対する物理的なノードを識別するのを可能にする。
【００３０】
仮想クライアントアプリケーション４００はまた、アーカイブシステムによって使用される他の情報、データ、ファイル、および／または識別子を含み、維持し、または前記他の情報、データ、ファイル、および／または識別子へとアクセスすることができる。例えば、以下の要素は、仮想クライアント４００（仮想クライアント名４０４、仮想クライアント識別子（例えば、ＩＰアドレス）４０６、各クラスタ化されたアプリケーション名４０８、各クラスタ化されたアプリケーションに対する浮動識別子（例えば、ＩＰアドレス）４１０、クラスタ化されたアプリケーションに対するアーカイブデータ／ファイルを表すアプリケーションデータおよび／またはファイル識別子（参照番号４１２）、およびクラスタ化されたアプリケーションに対するアーカイブ設定ファイル４１４）に適切に関連付けられてもよい。仮想クライアント名４０４は、仮想クライアント４００のための単純な英数字名であってもよく、例えば、仮想クライアント４００を一意的に識別する語または語句である。仮想クライアント識別子４０６は下位レベルの識別子（例えば、ＩＰアドレス）であり、クラスタ化されたネットワーク環境において使用される通信プロトコルとの互換性のためにフォーマットされる。仮想クライアント識別子４０６は、クラスタ化されたネットワーク環境において、アーカイブクライアントアプリケーションが適切な仮想クライアントアプリケーションを識別し、かつ前記適切な仮想クライアントアプリケーションと通信するのを可能にする（単一のアーカイブクライアントアプリケーションは、多数のクラスタ化されたアプリケーションを支援することができるため、多数の仮想クライアントアプリケーションと通信することができる）。上述したように、浮動識別子４１０は、クラスタ化されたアプリケーションを一意的に識別する仮想ＩＰアドレスであってもよい。仮想クライアントアプリケーション４００は浮動識別子４１０を利用して、各クラスタ化されたアプリケーションの物理的位置を決定する。クラスタ化されたアプリケーションの名前４０８および／または浮動識別子４１０はまた、単一のアーカイブクライアントアプリケーションが、複数の仮想クライアントアプリケーションと通信するのを可能にする。
【００３１】
クラスタ化されたアプリケーションのアーカイブ設定ファイル４１４は、クラスタ化されたアプリケーションデータがバックアップおよび／または復元される方法を命令し、バックアップ／復元を実行するためのプロトコルを記述し、最後のバックアップおよび／または復元のステータスを示唆し、かつ、当業者に知られている他の共通の機能に関連付けられてもよい。実際には、バックアップ設定ファイル４１４のいくつかは事実上静的であり、一方、その他は、アーカイブシステムがジョブを実行するときはいつでも修正されるため、事実上動的である。最終的には、クラスタ化されたアプリケーションデータは、アーカイブシステムによってアーカイブされおよび／または復元されるだろう情報である。仮想クライアントアプリケーション４００はアーカイブサーバアプリケーションによって管理されるので、要求に応じて、クラスタ化されたアプリケーションデータの物理的記憶および復元を促す。
【００３２】
図５は、ここで記載されているアーカイブシステムに使用可能なアーカイブクライアントアプリケーション５００の一例の模式的な説明である。実際の用途においては、アクティブなクライアントアプリケーション５００は、クラスタ化されたアプリケーションが存在するのと同じノードに存在しなければならない。したがって、１つの例示的な配置においては、アーカイブクライアントアプリケーション５００は、ネットワークによって支援されるクラスタ化されたアプリケーションそれぞれのための主要なまたは「通常の」動作ノードそれぞれにおいて最初にインストール可能であり、そして、これらのクラスタ化されたアプリケーションのための潜在的なフェイルオーバーノードそれぞれにおいてインストール可能である。代わりに、アーカイブクライアントアプリケーション５００は、必要なときにのみノードに動的にインストールさせることができ、または前記ノードに「押下される（pushed）」ことができる。好ましい実用的な実施形態においては、アーカイブクライアントアプリケーション５００は、相当するアーカイブサーバアプリケーションと異なるノードに存在する。アーカイブクライアントアプリケーション５００は、ここで記載されている様々なアーカイブクライアント機能５０２を実行する。例えば、アーカイブクライアントアプリケーション５００は、アーカイブシステムにおいて他のアプリケーションまたはプロセスと通信してもよいし、アーカイブ手順を支援して特定のアプリケーション、オペレーションシステム、およびハードウエアと通信してもよいし、特定のアプリケーション、オペレーションシステム、またはハードウエアからデバイスハンドラーへとデータを転送してもよいし、そして、アーカイブサーバシステムにて維持されるジョブマネージャーへとバックアップジョブの詳細を報告してもよい。
【００３３】
アーカイブクライアントアプリケーション５００は、仮想クライアント名５０６および相当する仮想クライアント識別子５０８のテーブルまたは表５０４を含み、維持し、または前記テーブルまたは表５０４へとアクセスする。表５０４は多数のエントリーを有することができ、そして、この表５０４は、インストール／セットアップ時に生成される静的な表、仮想クライアントアプリケーションがアーカイブシステムによって生成されると生成されそして更新される動的な表、またはこれら両方の組み合わせであってもよい。例えば、仮想クライアント１は第１のＩＰアドレスによって一意的に識別され、仮想クライアント２は第２のＩＰアドレスによって一意的に識別される等である。表５０４は、アーカイブクライアントアプリケーション５００がその存在場所にあるクラスタ化されたアプリケーションのための適切な仮想クライアントアプリケーションを識別しかつ前記仮想クライアントアプリケーションと通信することを可能にする。
【００３４】
仮想クライアント名５０６は、特定の仮想クライアントアプリケーションに対する単純な英数字名（例えば、仮想クライアントアプリケーションを一意的に識別する語または語句）であってもよい。仮想クライアント識別子５０８は下位レベルの識別子（例えば、ＩＰアドレス）であり、クラスタ化されたネットワーク環境において使用される通信プロトコルとの互換性のためにフォーマットされている。仮想クライアント識別子５０８は、アーカイブクライアントアプリケーション５００が適切な仮想クライアントアプリケーションを識別し、かつこの適切な仮想クライアントアプリケーションと通信することを可能にする（上述したように、あるアーカイブクライアントアプリケーションは、多数のクラスタ化されたアプリケーションを支援することができるため、多数の仮想クライアントアプリケーションと通信することができる）。
【００３５】
アーカイブクライアントアプリケーション５００はまた、ネットワークマネージャー５１０を含み、このネットワークマネージャー５１０は、クラスタ化されたネットワーク環境において、１またはそれ以上のネットワークパス、通信リンク、またはそれと同様のものを介して、他のシステム、サブシステム、および構成要素との通信を操作する。例えば、ネットワークマネージャー５１０は、アーカイブクライアントアプリケーション５００と、アーカイブサーバアプリケーション、アーカイブサーバノードのオペレーティングシステム、仮想クライアントアプリケーション、およびこれらと同様のものとの間の通信を促す。ネットワークマネージャーは当業者に知られているので、その動作の詳細はここでは取り扱わない。
【００３６】
図６は、ここで記載されたアーカイブシステムによって実行可能である、クラスタ化されたアプリケーションのバックアッププロセス６００のフローダイアグラムである。プロセス６００に関連して実行される様々なタスクは、ソフトウエア、ハードウエア、ファームウエア、またはこれらの組み合わせによって実行されてもよい。実用的な実施形態においては、プロセス６００の部分は、異なる要素のアーカイブシステム（例えば、アーカイブサーバアプリケーション、仮想クライアントアプリケーション、アーカイブクライアントアプリケーション、各ノードのオペレーションシステム、およびこれらと同様のもの）によって実行されてもよい。プロセス６００は多数の付加的または代替的なタスクを含んでいてもよいこと、図６に示されるタスクを図示された順に実行させる必要はないこと、そして、プロセス６００はここで詳細に記載されていない付加的な機能性を有するより包括的なアーカイブプロセスまたはアーカイブプログラム内に組み込まれていてもよいことは、理解されるべきである。
【００３７】
以下のプロセス６００の記載においては、アーカイブされるクラスタ化されたアプリケーションが「クラスタ化されたアプリケーションＡＡ」と名付けられて、ネットワークにおける他のクラスタ化されたアプリケーションと区別されると仮定する。以下の記載においてはまた、アーカイブサーバアプリケーションは、適切なネットワークノードにてインストールされ、仮想クライアントアプリケーションは、クラスタ化されたアプリケーションＡＡのために生成されかつ設定されていると仮定する。
【００３８】
クラスタ化されたアプリケーションのバックアッププロセス６００はタスク６０２から開始してもよく、タスク６０２はクラスタ化されたアプリケーションＡＡのためのバックアップジョブを要求する。最初のバックアップ要求は、適切なスケジューラーによって生成させてもよく、この適切なスケジューラーは、アーカイブシステムによって維持されるか、またはユーザの入力に応答して生成される。実用的な実施形態においては、アーカイブサーバアプリケーションはバックアップジョブを要求し、この要求はクラスタ化されたアプリケーションＡＡを識別する。ジョブの要求に応答して、バックアップジョブの詳細を適切なメモリ位置（タスク６０４）から取り出すことができる。このような情報は最終的には、バックアップジョブを実行する際に、応答するアーカイブクライアントアプリケーションによって使用される。
【００３９】
最終的には、クラスタ化されたアプリケーションＡＡのためのアーカイブサーバアプリケーションまたは仮想クライアントアプリケーションは、クラスタ化されたアプリケーションＡＡのための浮動識別子または仮想ＩＰアドレスを含む位置要求を生成する（タスク６０６）。この位置要求はまた、タスク６０４の間に読み出されたバックアップジョブの詳細、クラスタ化されたアプリケーションＡＡの名前、および／または各仮想クライアントの名前を含んでいてもよい。この点において、アーカイブサーバアプリケーション、各仮想クライアントアプリケーション、およびこれらの対応するソフトウエア要素は、単独でまたは組み合わせにより、クラスタ化されたアプリケーションＡＡのための位置要求を生成する例示的な手段である。実際には、この位置要求は、既知のクラスタ化されたネットワーク手順にしたがって、従来のプログラムによって生成されてもよい。この位置要求は仮想クライアントアプリケーションによる試みを表し、クラスタ化されたアプリケーションＡＡの現在の物理的位置を決定する。
【００４０】
クラスタ化されたアプリケーションＡＡがネットワークのどこかに実際に存在すると仮定すると、クラスタ化されたアプリケーションＡＡが存在するクライアントノードが位置要求を受け取るだろうし、そのノードに存在するアーカイブクライアントアプリケーションはその位置要求に応答するだろう（タスク６０８）。例示的な実施形態においては、タスク６０８は、クライアントノードのオペレーションシステムによって、またはクライアントノードに存在するアーカイブクライアントアプリケーションによって実行可能である。クライアントノードからの応答または認知はクライアントノードの物理的位置を識別し、クラスタ化されたアプリケーションＡＡの現在の物理的位置を順に識別する。実用的な実施形態においては、アーカイブシステムは、ネットワーク環境内で様々なノードに対する異なる「機械名」を割り当てる命名仕様（convention）を実行する。したがって、クライアントノードからの応答は、特定のノードに対する固有の機械名を含む。ネットワークマネージャーおよび／またはシステムの他の構成要素は、機械名からアドレス識別子（例えば、ＩＰアドレス）への翻訳を操作してもよく、アドレス識別子はネットワークまたはオペレーションシステムと互換性を有する。クライアントノードからの応答は、仮想クライアントアプリケーションのＩＰアドレスを用いる各仮想クライアントアプリケーションへと送り返される。このことは、仮想クライアントアプリケーションが、クラスタ化されたアプリケーションＡＡの物理的位置を得ることを可能にする（タスク６１０）。この点において、アーカイブサーバアプリケーション、各仮想クライアントアプリケーション、各アーカイブクライアントアプリケーション、各クライアントノード、およびこれらに相当するソフトウエア要素およびオペレーションシステムは、単独でまたは組み合わせにより、クラスタ化されたアプリケーションＡＡに対する物理位置識別子を得るための例示的な手段である。
【００４１】
図４に関連して上述したように、仮想クライアントアプリケーションはそれぞれ、アクティブなクライアントアプリケーションを有するクライアントノードの表を維持する。実用的な実施形態においては、アクティブなアーカイブクライアントアプリケーションは、実際のデータアーカイビングが開始できる前に、物理的なクライアントノードに存在していなければならない。したがって、アーカイブシステムはクエリータスク６１２を実行して、アーカイブクライアントアプリケーションがそのクライアントノードにおいて現在アクティブであるかどうか、および／または休止中のアーカイブクライアントアプリケーションがクライアントノードに存在するかどうかを決定してもよい。実用的な実施形態においては、クエリータスク６１２は各仮想クライアントアプリケーションによって実行される。クエリータスク６１２は、アクティブなアーカイブクライアントアプリケーションがそのノードに存在しないことを決定すると、アーカイブシステムはタスク６１４を開始する。タスク６１４の間、アーカイブシステムは、（そのようなアプリケーションがノードに存在しない場合）クライアントノードにてアクティブなアーカイブクライアントアプリケーションをインストールしてもよく、または、クライアントノードにてすでにインストールされている休止中のアーカイブクライアントアプリケーションをアクティブにしてもよい。実際には、アーカイブサーバアプリケーションが「押（push）」技法を実行して、要求に応じてアーカイブクライアントアプリケーションを動的にインストールしてもよいし、または、適切なメッセージを生成して、休止中のアーカイブクライアントアプリケーションをそのノードにてアクティブにしてもよい。
【００４２】
タスク６１４の後に、または、アクティブなアーカイブクライアントアプリケーションがクライアントノードに存在することをクエリータスク６１２が決定する場合、アーカイブシステムは実際のバックアップ／アーカイブ手順を進行することができる。特に、アーカイブシステムは、クラスタ化されたアプリケーションＡＡに対応するアーカイブ設定ファイル（タスク６１６）にアクセスする。実際には、アーカイブサーバシステムは、（クラスタ化されたアプリケーションＡＡの物理的位置に関わらず）アーカイブ設定ファイルを必要に応じてアーカイブクライアントアプリケーションに提供できるように、アーカイブ設定ファイルを格納する。この点において、アーカイブサーバアプリケーション、各仮想クライアントアプリケーション、各アーカイブクライアントアプリケーション、各クライアントノード、およびこれらに対応するソフトウエア要素ならびにオペレーションシステムは、単独でまたは組み合わせにより、アーカイブ設定ファイルにアクセスする例示的な手段である。
【００４３】
この設定ファイルは実際のバックアップ手順を指示する。例示的な実施形態において、アーカイブサーバアプリケーションは、仮想クライアントアプリケーションを介してこれらの設定ファイルにアクセスする。これらの設定ファイルは図４とともに上述された。
【００４４】
アーカイブ設定ファイルの１つの機能は、アーカイブシステムが、バックアップデータの格納のために、少なくとも１つの記憶媒体装置を識別することを可能にする（タスク６１８）。例えば、アーカイブサーバアプリケーションは、クライアントノードと近い物理的な近接位置にある特定のテープドライブを識別してもよく、または、アーカイブサーバアプリケーションは、大容量の利用可能な記憶空間を有するテープドライブを識別してもよい。その後、アーカイブシステムは、適切な記憶媒体装置（例えば、タスク６１８において識別される媒体装置の１つ）へと現在のファイルのバックアップ（タスク６２０）を実行する。この点において、アーカイブサーバアプリケーション、各仮想クライアントアプリケーション、各アーカイブクライアントアプリケーション、各クライアントノード、およびこれらに対応するソフトウエア要素は、単独でまたは組み合わせにより、アーカイブ設定ファイルにしたがって、クラスタ化されたアプリケーションＡＡのためのデータのアーカイブを管理するための例示的な手段である。
【００４５】
実際のバックアップ手順またはアーカイブ手順は、仮想クライアントアプリケーションによって維持されるアーカイブ設定ファイルにしたがって、クラスタ化されたアプリケーションＡＡのためのデータを格納する。アーカイブシステムは、このプロセスにおいて、この点で多数のファイルをアーカイブすることができる。しかしながら、ここで詳細に記載されたプロセス６００の例においては、クラスタ化されたアプリケーションＡＡがフェイルオーバーした場合であってもバックアップジョブが実行可能であるように、クラスタ化されたアプリケーションＡＡのファイルは個別にアーカイブされる。クラスタ化されたアプリケーションがフェイルオーバーした場合に、アーカイブジョブをリセットするまたは繰り返す必要がないため、この特徴は非常に望ましい。
【００４６】
クラスタ化されたアプリケーションのバックアッププロセス６００は、クエリータスク６２２を含んでいてもよく、このクエリータスク６２２は、クラスタ化されたアプリケーションＡＡのためにバックアップするファイルがさらに存在するかどうかを確認する。もし前記ファイルがさらに存在しないのであれば、アーカイブプロセスはこの繰り返しを完了して、プロセス６００を終了する。もし前記ファイルがさらに存在するのであれば、プロセス６００は、別の位置要求を生成できるように、タスク６０６に再び入る。この方法においては、プロセス６００のバルク（bulk）は、各個別のファイルのために繰り返し可能である（または、代わりに、プロセス６００のバルクは、多数のファイルがバックアップされた後に繰り返し可能である。）。言い換えれば、プロセス６００はクラスタ化されたアプリケーションＡＡの現在の物理的位置を周期的に確認して、その実際の物理的位置に関わらず、クラスタ化されたアプリケーションＡＡのためのデータをバックアップすることができる。これにより、更新された物理的位置が直前の物理的位置と同じである場合、アーカイブ手順は同じセットの設定ファイルを利用することができる。一方、物理的位置が変わると、アーカイブ手順は新しいセットの設定ファイルを利用して、現在のデータをバックアップすることができ、または、異なるノードにてインストールされた異なるアーカイブクライアントアプリケーションのための同じセットの設定ファイルを利用することができる。
【００４７】
好ましい実施形態を参照して本発明を上述してきた。しかしながら、この開示を読む当業者は、本発明の範囲から逸脱することなく好ましい実施形態を形成すると思われる変更および修正を認識することができるだろう。これらの変更または修正およびその他の変更または修正は、以下の請求の範囲に記載されているように、本発明の範囲内に含まれることを意図している。
【００４８】
以下の図面とともに詳細な説明および請求の範囲を参照して考慮することにより、本発明をより完全に理解することができ、ここで、図面を通して同じ参照番号は類似する要素に言及する。
【図面の簡単な説明】
【００４９】
【図１】図１は、クラスタ化されたネットワーク環境の一例を示す模式的な図である。
【図２】図２は、クラスタ化されたネットワーク環境に配置可能なアーカイブシステムの一例の一部を示す模式的な図である。
【図３】図３は、アーカイブシステムにて使用可能なサーバ構成要素の一例を示す模式的な図である。
【図４】図４は、アーカイブシステムにて使用可能な仮想クライアントアプリケーションの一例を示す模式的な図である。
【図５】図５は、アーカイブシステムにて使用可能なクライアントアプリケーションの一例を示す模式的な図である。
【図６】図６は、アーカイブシステムによって実行可能なクラスタ化されたアプリケーションのバックアップ処理のフローダイヤグラムである。
【図１】
0004205638.tif 000002
【図２】
0004205638.tif 000003
【図３】
0004205638.tif 000004
【図４】
0004205638.tif 000005
【図５】
0004205638.tif 000006
【図６Ａ】
0004205638.tif 000007
【図６Ｂ】
0004205638.tif 000008