(57)【特許請求の範囲】
【請求項１】
エンドデバイスに導入される少なくとも１つのコンピュータアプリケーションの作成及び／又は修正を行う少なくとも１つの開発デバイスと、
前記コンピュータアプリケーションの導入／非導入の管理を行う少なくとも１つのディスパッチサーバと
を具備し、
前記開発デバイスは、前記コンピュータアプリケーションからマニフェストを生成し、
前記マニフェストは、
前記コンピュータアプリケーションに関連したコンピュータファイルに固有の少なくとも１つのファイルフィンガープリントと、
前記コンピュータファイルのメタデータと
を含み、
前記ディスパッチサーバは、
前記マニフェストを受信し、
前記マニフェストに含まれた前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在するか否かを判断することによって、前記コンピュータファイルの重複をチェックし、
（ａ）前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していなかった場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めるように前記コンピュータアプリケーションの管理を行い、
（ｂ）前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していた場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めないように前記コンピュータアプリケーションの管理を行うことを特徴とするシステム。
【請求項２】
前記ファイルフィンガープリントが、ＳＨＡ−１関数による前記コンピュータファイルのハッシュ値を含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記ファイルフィンガープリントが、前記コンピュータファイルのファイルサイズをさらに含むことを特徴とする請求項２に記載のシステム。
【請求項４】
前記ディスパッチサーバが、ファイル格納部を具備し、
前記ファイル格納部は、前記マニフェストに含まれた前記ファイルフィンガープリントに関連した前記コンピュータファイルの格納を行うことを特徴とする請求項１に記載のシステム。
【請求項５】
前記ファイル格納部が、前記ファイルフィンガープリントに基づくファイルディレクトリ構造を有することを特徴とする請求項４に記載のシステム。
【請求項６】
前記ファイル格納部が、一意に定まったファイルフィンガープリントを有したコンピュータファイルだけを格納していることを特徴とする請求項４に記載のシステム。
【請求項７】
前記ディスパッチサーバが、データベースを具備し、
前記データベースは、前記マニフェストに含まれた前記コンピュータファイルの前記メタデータの格納を行うことを特徴とする請求項１に記載のシステム。
【請求項８】
前記ディスパッチサーバが、ディスパッチモジュールを具備し、
前記ディスパッチモジュールは、前記ファイルフィンガープリントに基づいて、前記エンドデバイスへの、前記コンピュータアプリケーションに関連した前記コンピュータファイルの導入を行うことを特徴とする請求項１に記載のシステム。
【請求項９】
前記ディスパッチサーバが、非導入モジュールを具備し、
前記非導入モジュールは、前記マニフェストに基づいて、前記エンドデバイスからの、前記コンピュータアプリケーションに関連した前記コンピュータファイルのアンインストールを行うことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記エンドデバイスが、サーバ又はクライアントデバイスのうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項１１】
コンピュータアプリケーションから生成されたマニフェストの受信を行う段階と、
前記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、前記コンピュータファイルの重複のチェックを行う段階と、
前記コンピュータアプリケーションの管理を行う段階と
を有し、
前記マニフェストは、
前記コンピュータアプリケーションに関連した前記コンピュータファイルに固有の少なくとも１つのファイルフィンガープリントと、
前記コンピュータファイルのメタデータと
を含み、
前記コンピュータアプリケーションの管理を行う段階は、
（ａ）前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していなかった場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めるように前記コンピュータアプリケーションの管理を行う段階と、
（ｂ）前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していた場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めないように前記コンピュータアプリケーションの管理を行う段階と
を含むことを特徴とする方法。
【請求項１２】
前記マニフェストに含まれた前記メタデータをデータベースに追加する段階をさらに有することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記コンピュータアプリケーションの重複のチェックを行う段階及び前記コンピュータアプリケーションの管理を行う段階が、ディスパッチサーバのファイル格納部で実行されることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記ファイル格納部が、前記ファイルフィンガープリントに基づいたファイルディレクトリ構造を有することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ファイル格納部が、一意に定まったファイルフィンガープリントを有したコンピュータファイルだけを格納していることを特徴とする請求項１３に記載の方法。
【請求項１６】
前記コンピュータアプリケーションの重複のチェックを行う段階及び前記コンピュータアプリケーションの管理を行う段階が、アプリケーションディスパッチプロセスの間に、エンドデバイスで実行されることを特徴とする請求項１１に記載の方法。
【請求項１７】
前記ファイルフィンガープリントが、ＳＨＡ−１関数による前記コンピュータファイルのハッシュ値を含むことを特徴とする請求項１１に記載の方法。
【請求項１８】
前記ファイルフィンガープリントが、前記コンピュータファイルのファイルサイズをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記ファイルフィンガープリントに基づいて、エンドデバイスへの、前記コンピュータアプリケーションに関連した前記コンピュータファイルの導入を行う段階をさらに有することを特徴とする請求項１１に記載の方法。
【請求項２０】
前記マニフェストに基づいて、エンドデバイスからの、前記コンピュータアプリケーションに関連した前記コンピュータファイルのアンインストールを行う段階をさらに有することを特徴とする請求項１１に記載の方法。
【請求項２１】
請求項１１乃至２０のいずれか１項に記載の方法の各段階をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション管理システム及び方法、より詳細には、ネットワークを介した導入のためにアプリケーションを管理するためのシステム及び方法に関する。
【背景技術】
【０００２】
典型的に、コンピュータ環境下でサーバにアプリケーションパッケージを導入（すなわち、インストール／アンインストール）するために、アプリケーション導入ツールが使用される。一般に、それらの導入ツールは、導入するアプリケーションが導入ツールのサポートする形式でパッケージ化されていることを必要とする。そして、導入ツールは、パッケージとアプリケーションとの関係と、アプリケーションとサーバとの関係とを管理する。一般に、これらのアプリケーション“パッケージ”は、アプリケーションと、該アプリケーションをサポートするファイルと、パッケージ及び該パッケージ内のファイル群を記述したメタデータとの集合物である。それらのアプリケーションのパッケージ化を行うのは開発者なので、通常、彼らが最後にファイルへの修正を行う。しかしながら、変更を反映させるためは、パッケージは、一部のファイルには変更が無いにもかかわらず、その全体が再構築されなければならない。したがって、開発者のパッケージは、不必要な重複ファイルによって膨大な記憶スペースの大部分を占有され、その結果、記憶スペースを浪費する。さらに、導入及びインストール／再インストール手続きの際、アプリケーションパッケージ中の少数のファイルだけが変更されたにもかかわらず、アプリケーションパッケージ中のすべてのファイルの更新が行われる。そのうえ、典型的な導入ツールは、各サーバがローカルに有するパッケージデータベースを頼りに、パッケージがインストールされたデータを格納する。したがって、この依存関係は、ネットワークファイルシステムサーバ（ＮＦＳ）のような分散化環境下の仮想サーバ群への、パッケージ中のアプリケーションの導入を妨げる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、本発明は、従来技術の制限及び欠点に起因した１つ以上の問題を実質的に解消するシステム及び方法を対象とする。
【課題を解決するための手段】
【０００４】
本発明の一態様は、導入されるアプリケーションを効率よく管理するためのシステム及び方法を提供する。
【０００５】
本発明の追加的な特徴及び利点は、以降の記載で説明され、かつその一部分は、当該記載から又は発明の実施によって明らかとなる。発明の目的及びその他の利点は、明細書中の記載及び特許請求の範囲並びに添付の各図面で特に挙げられた構成によって、実現及び達成される。
【０００６】
これら及びその他の利点を達成するため、かつ本発明の目的に従って、具体化及び広範に記載された通り、本システムは、エンドデバイスに導入される少なくとも１つのコンピュータアプリケーションの作成及び／又は修正を行う少なくとも１つの開発デバイスと、上記コンピュータアプリケーションの導入／非導入の管理を行う少なくとも１つのディスパッチサーバとを具備する。上記コンピュータアプリケーションは、マニフェストによって定義され、該マニフェストは、上記コンピュータアプリケーションに関連したコンピュータファイルに固有の少なくとも１つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。
【０００７】
別の態様では、本方法は、コンピュータアプリケーションを定義したマニフェストの生成を行う段階と、上記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、上記コンピュータファイルの重複のチェックを行う段階と、上記コンピュータアプリケーションの管理を行う段階とを有する。上記マニフェストは、上記コンピュータアプリケーションに関連した上記コンピュータファイルに固有の少なくとも１つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。上記コンピュータアプリケーションの管理を行う段階では、上記ファイルフィンガープリントが検出されなかった場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行い、上記ファイルフィンガープリントが検出された場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行わない。
【０００８】
さらに別の態様では、本コンピュータプログラム製品は、コンピュータ実行可能命令を格納したコンピュータ可読媒体から成り、上記コンピュータ実行可能命令は、コンピュータ上で実行されたとき、コンピュータアプリケーションを定義したマニフェストを生成する段階と、上記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、上記コンピュータファイルの重複のチェックを行う段階と、上記コンピュータアプリケーションの管理を行う段階とを有する方法を上記コンピュータに実行させるように構成される。上記マニフェストは、上記コンピュータアプリケーションに関連した上記コンピュータファイルに固有の少なくとも１つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。上記コンピュータアプリケーションの管理を行う段階では、上記ファイルフィンガープリントが検出されなかった場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行い、上記ファイルフィンガープリントが検出された場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行わない。
【０００９】
先の一般的な記載及び以降の詳細な記載は、例示的・説明的なものであって、本発明に対し、さらなる説明を提供することを意図したものであるということに留意されたい。
【００１０】
添付の図面は、本発明のさらなる理解を助けるためのものであって、この明細書に組み込まれてその一部分を構成する。各図面は、発明の各実施形態を示したものであり、明細書中の記載と共に本発明の原理を説明する役目を果たす。
【図面の簡単な説明】
【００１１】
【図１】本発明の例示的な実施形態の構成図を示す。
【図２】本発明による例示的なデータベース構造を示す。
【図３】本発明による例示的なデータベース構造を示す。
【図４】本発明による例示的なマニフェスト項目を示す。
【図５】本発明による例示的なファイルディレクトリ構造を示す。
【図６Ａ】本発明による例示的なディスパッチプロセスのフロー図を示す。
【図６Ｂ】本発明によるディスパッチプロセスのステータスを表示した例示的なスクリーンショットを示す。
【図７】本発明による管理インタフェースモジュールの例示的な実施形態の構成図を示す。
【発明を実施するための形態】
【００１２】
これより、本発明の好適な実施形態について詳細に説明する。その実施例が添付の図面に示される。
【００１３】
本発明によるアプリケーション管理システム及び方法は、コンピュータ環境下でのサーバへのアプリケーションの導入を管理することを目的とする。特に、本発明の例示的な実施形態は、ＮＦＳサーバなどのクラスタ化環境下の仮想サーバ群にアプリケーションを導入するためのソリューションを提供することを目的とする。具体的には、本発明によるシステム及び方法は、アプリケーションのインストール／アンインストール（すなわち、導入）に関連する動作及び関連付けをインテリジェントに管理するために、中央データベース周辺のフレームワークを提供する。例示的な実施形態は、サーバへのアプリケーションの導入を目的とするが、本発明の範囲から逸脱することなく、その他の演算デバイス（例えば、クライアントデバイス）を対象とした導入であってもよい。したがって、以降の記載で説明される特定の実施形態は、例示として解釈されるべきであり、必ずしも限定を意図しない。
【００１４】
図１は、本発明の例示的な実施形態によるアプリケーション管理フレームワークのためのシステムを図示したネットワーク図である。図１に示されたように、本発明に従う例示的なシステムは、アプリケーション開発者ワークステーション１０と、開発サーバ２０と、ディスパッチサーバ３０と、製品サーバ４０と、クライアントデバイス５０とを具備する。本発明の例示的な実施形態の概要は、アプリケーション開発者ワークステーション１０がアプリケーション開発者によって使用され、製品サーバ４０又はクライアントデバイス５０上で実行されるソフトウェアアプリケーションの作成及び／又は修正が行われる、というものである。アプリケーション開発者ワークステーション１０は、スタンドアロンのデバイスであってよく、又はクライアント−サーバ型となるように、開発サーバ２０に接続されていてもよい。開発されたアプリケーションをエンドデバイス（すなわち、製品サーバ４０又はクライアントデバイス５０）にディスパッチするために、開発されたアプリケーションは、パッケージ化されて、ディスパッチサーバ３０にアップロードされる。次いで、ディスパッチサーバ３０は、エンドデバイス（すなわち、製品サーバ４０又はクライアントデバイス５０）にアプリケーションをディスパッチ（すなわち、インストール／アンインストール）する。当然のことながら、本発明の範囲から逸脱することなく、本発明に従うフレームワークには、任意の数の開発者ワークステーション１０、開発サーバ２０、ディスパッチサーバ３０、製品サーバ４０、及びクライアントデバイス５０が含まれていてよい。本発明の例示的な実施形態によるフレームワークの詳細については、以降で説明する。
【００１５】
アプリケーション開発者ワークステーション１０がアプリケーション開発者によって使用されて、新たなアプリケーションの作成、又は、既存のアプリケーションの修正が行われる。先に簡単に説明した通り、一般に、アプリケーションは、アプリケーションに関連した複数のファイルのほかに、アプリケーションに関連したファイルのそれぞれを記述したメタデータを有する。図１に示された例示的な実施形態では、アプリケーション開発者ワークステーション１０は、開発サーバ２０に接続されている。アプリケーションは、作成及び／又は修正されるとともに、開発サーバ２０に格納される。あるいは、アプリケーション開発者ワークステーション１０は、スタンドアロンのデバイスであってよく、この場合、開発されたアプリケーションは、当該アプリケーション開発者ワークステーション１０上に存在する。どちらの場合においても、アプリケーションが開発されたときには、開発されたアプリケーションは、ディスパッチサーバ３０にアップロードされる。
【００１６】
ディスパッチサーバ３０は、ファイル格納部３３と、管理データベース３５とを具備する。図１に示されたように、本発明の例示的な実施形態によるディスパッチサーバ３０は、１次ディスパッチサーバ３０ａと、２次ディスパッチサーバ３０ｂとを具備する。しかしながら、本発明の範囲から逸脱することなく、任意の数のディスパッチサーバが使用されてよい。本発明によれば、ディスパッチサーバ３０は、アプリケーションに関連したファイルとは別に、開発されたアプリケーションのメタデータを格納する。さらに、以降でより詳細に説明される通り、修正が行われたファイルだけがファイル格納部３３に実際に格納される。その結果、ファイル格納部３３に格納される冗長ファイルの数が削減され、記憶スペースがより効率良く使用される。
【００１７】
これより、開発されたアプリケーションのアプリケーションアップロードプロセスをより詳細に説明する。アプリケーションは複数のファイルと該複数のファイルに関連したメタデータとを含むので、そのようなアプリケーションは、“パッケージ化”されて、ディスパッチサーバ３０にアップロードされる。アプリケーションパッケージは、開発されたアプリケーションに関連した複数のファイルすべてをリスト化したマニフェストを含む。図１に示されたように、開発者によるアプリケーションのアップロード開始が開発サーバ２０をトリガし、アップロードされたマニフェストがコンパイルされ、ディスパッチサーバ３０に送信される（ステップＡ）。特に、アップロードされたマニフェストには、アプリケーションに関連した複数のファイルのリストと、それらのメタデータと、マニフェストにリストアップされた複数のファイルの個々の一意のファイル“フィンガープリント”とが含まれる。ファイルフィンガープリントは、ファイルの＜ｓｈａ１ｓｕｍ＞値によって定義され、一意のフィンガープリントを生成する。ファイルフィンガープリントの一意性を向上させるために、＜ｓｈａ１ｓｕｍ＞値に加えて、ファイルの＜ｆｉｌｅｓｉｚｅ＞値が用いられてもよい。図２は、アップロードされたマニフェストの例示的な項目を示す。これは、例示のみを意図する。
【００１８】
ディスパッチサーバ３０は、アップロードされたマニフェストを受信すると、マニフェストに含まれたメタデータを管理データベース３５に追加する。図２及び図３に示されたように、本発明の例示的な実施形態によれば、ファイルを参照するメタデータは、その他のレコード及び関連するスクリプトと共に、一意のファイルユーザ／グループデータを含むテーブル（例えば、“ＷＡＤ＿ＦＩＬＥＲＥＦ”）の結合によってアプリケーションに関連付けられる。本発明の範囲から逸脱することなく、メタデータを格納するために、その他のファイル関連付け及び関係が用いられてよい（ステップＢ）。
【００１９】
メタデータを格納した後、ディスパッチサーバ３０は、マニフェスト内のどのファイルをファイル格納部３３に追加する必要があるかを判断する。本発明の例示的な実施形態によれば、アプリケーションの実際のファイルは、関連するファイルのフィンガープリント（例えば、＜ｓｈａ１ｓｕｍ＞値）に基づいたファイルディレクトリ構造で、ファイル格納部３３に格納される。例えば、図３に示されたような本発明の例示的な実施形態によれば、ファイルの＜ｓｈａ１ｓｕｍ＞値の最初の２文字が当該ファイル用ディレクトリを生成するために使用され、かつ、ファイルの名称に＜ｓｈａ１ｓｕｍ＞値が割り当てられる。しかしながら、本発明の範囲から逸脱することなく、ファイルフィンガープリント値に基づくその他のディレクトリ方式が用いられてよい。アップロードされたマニフェストを受信したとき、ディスパッチサーバ３０は、ファイル毎のマニフェストに含まれたファイルフィンガープリントを、ファイル格納部３３に既に格納されているファイルのファイルフィンガープリントと比較する。換言すれば、マニフェスト中のファイルフィンガープリント（例えば、＜ｓｈａ１ｓｕｍ＞、又は、＜ｓｈａ１ｓｕｍ＞＋＜ｆｉｌｅｓｉｚｅ＞）がファイル格納部３３内に見つかった場合、一致したフィンガープリントに関連するファイルは、ファイル格納部３３に追加されない。フィンガープリントに基づいて、ディスパッチサーバ３０は、アップロードするファイルのリストを生成するとともに、該リストを開発サーバ２０に返送する（ステップＢ）。
【００２０】
開発サーバ２０がディスパッチサーバ３０からファイルアップロードリストを受信すると、ディスパッチサーバ３０の要求するファイルの転送が実行され、ファイル格納部３３に格納される（ステップＣ）。したがって、本発明によるアプリケーション管理フレームワークは、ディスパッチサーバ３０への不必要なアップロードによるファイルの重複を回避する。その結果、ファイル格納部３３に格納されるファイルの数が削減され、記憶スペースがより効率良く使用される。さらに、アプリケーションに関連した各ファイルのメタデータが管理データベース３５に個々に格納されるので、ファイル毎のあらゆるアップロード情報は、関連するファイルが修正されたかどうかにかかわらず維持される。
【００２１】
開発されたアプリケーションがディスパッチサーバ３０にアップロードされてキューに入れられると、そのアプリケーションは、ネットワーク上のさまざまなエンドデバイスにディスパッチされる。当然のことながら、“ディスパッチする（dispatching）”とは、キューに入れられたアプリケーションのインストールプロセス（すなわち、導入）であっても、キューに入れられたアプリケーションのアンインストールプロセス（すなわち、非導入）であってもよい。ディスパッチサーバ３０において“ディスパッチ”と指定されたアプリケーション情報は、指定されたアプリケーションのエンドデバイスへのインストールか、指定されたアプリケーションのエンドデバイスからのアンインストールかのどちらかに使用される。これらのエンドデバイスは、接続された（複数の）クライアントデバイス５０のためのアプリケーションを実行する（複数の）製品サーバ４０であってよい。あるいは、ディスパッチサーバ３０は、キューに入れられたアプリケーションを（複数の）クライアントデバイス６０に、直接、ディスパッチする。
【００２２】
これより、図６Ａ及び図６Ｂを参照して、ディスパッチサーバ３０によるアプリケーションのディスパッチプロセスを説明する。許可されたユーザは、クライアントデバイス６１０を介してディスパッチサーバ３０にログオンし、管理インタフェースモジュール６２０を介して導入（すなわち、インストール）を開始する（ステップ１）。インストールスクリプトが起動され、管理データベース３５にタスク（すなわち、ジョブ）が作成されるとともに、管理データベース３５のキューテーブルが更新される。タスクＩＤが作成されることによって、ユーザは、図６Ｂに示されたように、ジョブのステータスを追跡できる（ステップ２）。ディスパッチャモジュール６３０は、管理データベース３５中のキューテーブルをポーリングし、キューテーブル中の古いジョブから先にインストール／アンインストールを開始する（ステップ３）。ディスパッチャモジュール６３０がキューテーブル中に保留中のタスクを発見したとき、当該タスクは、導入スクリプトに与えられ、図６Ｂに示されたように、管理データベース３５中のタスクのステータスが更新される（ステップ４）。ディスパッチャモジュール６３０は、アプリケーション格納部３３をチェックして、導入されるファイルがローカルに存在するか否かを判断する。アプリケーション格納部３３にそのようなファイルが存在していなかった場合、ディスパッチャモジュール６３０は、ファイルフィンガープリントを用いて、開発サーバ２０又は別のディスパッチサーバ３０のどちらか一方から、不足したファイルの位置を見つけ出す。ファイルがあった場合、当該ファイルは、フェッチされて、先に記載した方法でアプリケーション格納部３３にローカルにキャッシュされ、さらに、重複ファイルの不必要な作成を最小化する。アプリケーション格納部３３にすべてのファイルが格納されると、インストールスクリプト６５０が開始される（ステップ５）。インストールスクリプト６５０は、すべてのプレインストール命令を実行し、次いで、アプリケーションマニフェストを取り出す。マニフェストは、エンドデバイスにローカルに存在するファイルと比較され、ファイルが存在するか否か、及び／又は、ファイルが導入されるファイルと同一のバージョンであるか否か（すなわち、修正がなされていないのかどうか）の判断が行われる。比較は、先に記載したように、ファイルフィンガープリントに基づいて実行される。何らかの差異が存在する場合（すなわち、ファイルが存在しないか、又は、バージョンが異なる場合）、正しいファイルが検出されて取り出される（ステップ６）。次いで、インストールスクリプト６５０は、マニフェスト中のファイルを導入するとともに、図６Ｂに示されたように、ジョブのステータスを更新する（ステップ７）。導入プロセスの間、ユーザは、管理インタフェースモジュール６２０を介して、ジョブのステータスを問い合わせることができる。図７に示されたように、管理インタフェースモジュール６２０は、フロントエンドロードバランサを備え、負荷の管理を行う。管理データベース３５により、すべてのデータ同期動作が管理されることで、管理インタフェース及びディスパッチャーの分散配置が可能となる。非導入（すなわち、アンインストール）プロセスは、開始時に、取り除かれるアプリケーションのためにマニフェスト中のファイルをアンインストールスクリプト６７０がアンロードすることを除けば、先に記載した導入プロセスのそれと同様の方法で実行される。
【００２３】
ディスパッチプロセスの間に、ディスパッチャモジュール６３０は、プレビュースクリプト６４０と照合スクリプト６６０とのどちらか一方又は両方を呼び出す。プレビュースクリプト６４０は、実行の様子をユーザに知らせ、照合スクリプト６７０は、実行結果をユーザに知らせる。さらにまた、本発明の例示的な実施形態は、追加的なデバッグの実行及び特性のモニタリングのために、管理データベース３５中のジョブステータスメッセージ及びログ項目を格納するログ取得機能を有する。
【００２４】
先に記載された本発明によるアプリケーション管理フレームワークは、さまざまな利点を提供する。第１に、変更されたか又は新たに作成されたファイルだけがアプリケーション開発チームから（複数の）ディスパッチサーバにアップロードされるので、ファイルの不必要な重複が回避され、それによって、ネットワーク上の記憶リソースをより効果的に使用できる。これは、多数のアプリケーションの作成及び修正を行う複数の開発者を抱えた大規模ネットワークに有効となる。第２に、変更されたか又は新たに作成されたファイルだけがエンドデバイスに導入されるので、エンドデバイスの記憶リソースがより効果的に使用される。さらに、新たな又は修正されたファイルだけが導入されるので、インストール時間が短縮される。第３に、ファイルとメタデータとが別個にキャッシュされるので、複数のサービスがスケーラブルに追加できる。インストールのためにクライアントによって要求されたファイルが見つからなかった場合、サーバは、ソース格納部からそのファイルをフェッチするとともに、導入のためにそれをローカルにキャッシュする。第４に、本発明によるアプリケーション管理フレームワークは、ネットワークファイルシステムサーバ（ＮＦＳ）のようなクラスタ化環境の仮想サーバ群へのアプリケーションの導入を可能とする。
【００２５】
本発明を説明するために特定の実施例が用いられたが、本発明の精神及び範囲から逸脱することなく、本発明のアプリケーション管理システム及び方法に対してさまざまな修正及び変更をなし得ることは、当業者には明らかである。故に、添付の特許請求の範囲及びそれらの均等物から得られるこの発明の修正例及び変形例は、本発明に包含される。
【符号の説明】
【００２６】
１０  アプリケーション開発者ワークステーション
２０  開発サーバ
３０  ディスパッチサーバ
３０ａ  １次ディスパッチサーバ
３０ｂ  ２次ディスパッチサーバ
３３  ファイル格納部
３５  管理データベース
４０  製品サーバ
５０，６０  クライアントデバイス
【図１】
0005430574.tif 000002
【図２】
0005430574.tif 000003
【図３】
0005430574.tif 000004
【図４】
0005430574.tif 000005
【図５】
0005430574.tif 000006
【図６Ａ】
0005430574.tif 000007
【図６Ｂ】
0005430574.tif 000008
【図７】
0005430574.tif 000009