JP5430574B2 - アプリケーション管理システム及び方法 - Google Patents

アプリケーション管理システム及び方法 Download PDF

Info

Publication number
JP5430574B2
JP5430574B2 JP2010526870A JP2010526870A JP5430574B2 JP 5430574 B2 JP5430574 B2 JP 5430574B2 JP 2010526870 A JP2010526870 A JP 2010526870A JP 2010526870 A JP2010526870 A JP 2010526870A JP 5430574 B2 JP5430574 B2 JP 5430574B2
Authority
JP
Japan
Prior art keywords
file
computer
application
fingerprint
manifest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010526870A
Other languages
English (en)
Other versions
JP2010541061A5 (ja
JP2010541061A (ja
Inventor
リチャード・ピー・デニス
ロドニー・ノーラン・ブラウン
Original Assignee
バークレイズ・キャピタル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バークレイズ・キャピタル・インコーポレーテッド filed Critical バークレイズ・キャピタル・インコーポレーテッド
Publication of JP2010541061A publication Critical patent/JP2010541061A/ja
Publication of JP2010541061A5 publication Critical patent/JP2010541061A5/ja
Application granted granted Critical
Publication of JP5430574B2 publication Critical patent/JP5430574B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、アプリケーション管理システム及び方法、より詳細には、ネットワークを介した導入のためにアプリケーションを管理するためのシステム及び方法に関する。
典型的に、コンピュータ環境下でサーバにアプリケーションパッケージを導入(すなわち、インストール/アンインストール)するために、アプリケーション導入ツールが使用される。一般に、それらの導入ツールは、導入するアプリケーションが導入ツールのサポートする形式でパッケージ化されていることを必要とする。そして、導入ツールは、パッケージとアプリケーションとの関係と、アプリケーションとサーバとの関係とを管理する。一般に、これらのアプリケーション“パッケージ”は、アプリケーションと、該アプリケーションをサポートするファイルと、パッケージ及び該パッケージ内のファイル群を記述したメタデータとの集合物である。それらのアプリケーションのパッケージ化を行うのは開発者なので、通常、彼らが最後にファイルへの修正を行う。しかしながら、変更を反映させるためは、パッケージは、一部のファイルには変更が無いにもかかわらず、その全体が再構築されなければならない。したがって、開発者のパッケージは、不必要な重複ファイルによって膨大な記憶スペースの大部分を占有され、その結果、記憶スペースを浪費する。さらに、導入及びインストール/再インストール手続きの際、アプリケーションパッケージ中の少数のファイルだけが変更されたにもかかわらず、アプリケーションパッケージ中のすべてのファイルの更新が行われる。そのうえ、典型的な導入ツールは、各サーバがローカルに有するパッケージデータベースを頼りに、パッケージがインストールされたデータを格納する。したがって、この依存関係は、ネットワークファイルシステムサーバ(NFS)のような分散化環境下の仮想サーバ群への、パッケージ中のアプリケーションの導入を妨げる。
したがって、本発明は、従来技術の制限及び欠点に起因した1つ以上の問題を実質的に解消するシステム及び方法を対象とする。
本発明の一態様は、導入されるアプリケーションを効率よく管理するためのシステム及び方法を提供する。
本発明の追加的な特徴及び利点は、以降の記載で説明され、かつその一部分は、当該記載から又は発明の実施によって明らかとなる。発明の目的及びその他の利点は、明細書中の記載及び特許請求の範囲並びに添付の各図面で特に挙げられた構成によって、実現及び達成される。
これら及びその他の利点を達成するため、かつ本発明の目的に従って、具体化及び広範に記載された通り、本システムは、エンドデバイスに導入される少なくとも1つのコンピュータアプリケーションの作成及び/又は修正を行う少なくとも1つの開発デバイスと、上記コンピュータアプリケーションの導入/非導入の管理を行う少なくとも1つのディスパッチサーバとを具備する。上記コンピュータアプリケーションは、マニフェストによって定義され、該マニフェストは、上記コンピュータアプリケーションに関連したコンピュータファイルに固有の少なくとも1つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。
別の態様では、本方法は、コンピュータアプリケーションを定義したマニフェストの生成を行う段階と、上記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、上記コンピュータファイルの重複のチェックを行う段階と、上記コンピュータアプリケーションの管理を行う段階とを有する。上記マニフェストは、上記コンピュータアプリケーションに関連した上記コンピュータファイルに固有の少なくとも1つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。上記コンピュータアプリケーションの管理を行う段階では、上記ファイルフィンガープリントが検出されなかった場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行い、上記ファイルフィンガープリントが検出された場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行わない。
さらに別の態様では、本コンピュータプログラム製品は、コンピュータ実行可能命令を格納したコンピュータ可読媒体から成り、上記コンピュータ実行可能命令は、コンピュータ上で実行されたとき、コンピュータアプリケーションを定義したマニフェストを生成する段階と、上記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、上記コンピュータファイルの重複のチェックを行う段階と、上記コンピュータアプリケーションの管理を行う段階とを有する方法を上記コンピュータに実行させるように構成される。上記マニフェストは、上記コンピュータアプリケーションに関連した上記コンピュータファイルに固有の少なくとも1つのファイルフィンガープリントと、上記コンピュータファイルのメタデータとを含む。上記コンピュータアプリケーションの管理を行う段階では、上記ファイルフィンガープリントが検出されなかった場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行い、上記ファイルフィンガープリントが検出された場合、上記ファイルフィンガープリントに関連した上記コンピュータファイルの導入を行わない。
先の一般的な記載及び以降の詳細な記載は、例示的・説明的なものであって、本発明に対し、さらなる説明を提供することを意図したものであるということに留意されたい。
添付の図面は、本発明のさらなる理解を助けるためのものであって、この明細書に組み込まれてその一部分を構成する。各図面は、発明の各実施形態を示したものであり、明細書中の記載と共に本発明の原理を説明する役目を果たす。
本発明の例示的な実施形態の構成図を示す。 本発明による例示的なデータベース構造を示す。 本発明による例示的なデータベース構造を示す。 本発明による例示的なマニフェスト項目を示す。 本発明による例示的なファイルディレクトリ構造を示す。 本発明による例示的なディスパッチプロセスのフロー図を示す。 本発明によるディスパッチプロセスのステータスを表示した例示的なスクリーンショットを示す。 本発明による管理インタフェースモジュールの例示的な実施形態の構成図を示す。
これより、本発明の好適な実施形態について詳細に説明する。その実施例が添付の図面に示される。
本発明によるアプリケーション管理システム及び方法は、コンピュータ環境下でのサーバへのアプリケーションの導入を管理することを目的とする。特に、本発明の例示的な実施形態は、NFSサーバなどのクラスタ化環境下の仮想サーバ群にアプリケーションを導入するためのソリューションを提供することを目的とする。具体的には、本発明によるシステム及び方法は、アプリケーションのインストール/アンインストール(すなわち、導入)に関連する動作及び関連付けをインテリジェントに管理するために、中央データベース周辺のフレームワークを提供する。例示的な実施形態は、サーバへのアプリケーションの導入を目的とするが、本発明の範囲から逸脱することなく、その他の演算デバイス(例えば、クライアントデバイス)を対象とした導入であってもよい。したがって、以降の記載で説明される特定の実施形態は、例示として解釈されるべきであり、必ずしも限定を意図しない。
図1は、本発明の例示的な実施形態によるアプリケーション管理フレームワークのためのシステムを図示したネットワーク図である。図1に示されたように、本発明に従う例示的なシステムは、アプリケーション開発者ワークステーション10と、開発サーバ20と、ディスパッチサーバ30と、製品サーバ40と、クライアントデバイス50とを具備する。本発明の例示的な実施形態の概要は、アプリケーション開発者ワークステーション10がアプリケーション開発者によって使用され、製品サーバ40又はクライアントデバイス50上で実行されるソフトウェアアプリケーションの作成及び/又は修正が行われる、というものである。アプリケーション開発者ワークステーション10は、スタンドアロンのデバイスであってよく、又はクライアント−サーバ型となるように、開発サーバ20に接続されていてもよい。開発されたアプリケーションをエンドデバイス(すなわち、製品サーバ40又はクライアントデバイス50)にディスパッチするために、開発されたアプリケーションは、パッケージ化されて、ディスパッチサーバ30にアップロードされる。次いで、ディスパッチサーバ30は、エンドデバイス(すなわち、製品サーバ40又はクライアントデバイス50)にアプリケーションをディスパッチ(すなわち、インストール/アンインストール)する。当然のことながら、本発明の範囲から逸脱することなく、本発明に従うフレームワークには、任意の数の開発者ワークステーション10、開発サーバ20、ディスパッチサーバ30、製品サーバ40、及びクライアントデバイス50が含まれていてよい。本発明の例示的な実施形態によるフレームワークの詳細については、以降で説明する。
アプリケーション開発者ワークステーション10がアプリケーション開発者によって使用されて、新たなアプリケーションの作成、又は、既存のアプリケーションの修正が行われる。先に簡単に説明した通り、一般に、アプリケーションは、アプリケーションに関連した複数のファイルのほかに、アプリケーションに関連したファイルのそれぞれを記述したメタデータを有する。図1に示された例示的な実施形態では、アプリケーション開発者ワークステーション10は、開発サーバ20に接続されている。アプリケーションは、作成及び/又は修正されるとともに、開発サーバ20に格納される。あるいは、アプリケーション開発者ワークステーション10は、スタンドアロンのデバイスであってよく、この場合、開発されたアプリケーションは、当該アプリケーション開発者ワークステーション10上に存在する。どちらの場合においても、アプリケーションが開発されたときには、開発されたアプリケーションは、ディスパッチサーバ30にアップロードされる。
ディスパッチサーバ30は、ファイル格納部33と、管理データベース35とを具備する。図1に示されたように、本発明の例示的な実施形態によるディスパッチサーバ30は、1次ディスパッチサーバ30aと、2次ディスパッチサーバ30bとを具備する。しかしながら、本発明の範囲から逸脱することなく、任意の数のディスパッチサーバが使用されてよい。本発明によれば、ディスパッチサーバ30は、アプリケーションに関連したファイルとは別に、開発されたアプリケーションのメタデータを格納する。さらに、以降でより詳細に説明される通り、修正が行われたファイルだけがファイル格納部33に実際に格納される。その結果、ファイル格納部33に格納される冗長ファイルの数が削減され、記憶スペースがより効率良く使用される。
これより、開発されたアプリケーションのアプリケーションアップロードプロセスをより詳細に説明する。アプリケーションは複数のファイルと該複数のファイルに関連したメタデータとを含むので、そのようなアプリケーションは、“パッケージ化”されて、ディスパッチサーバ30にアップロードされる。アプリケーションパッケージは、開発されたアプリケーションに関連した複数のファイルすべてをリスト化したマニフェストを含む。図1に示されたように、開発者によるアプリケーションのアップロード開始が開発サーバ20をトリガし、アップロードされたマニフェストがコンパイルされ、ディスパッチサーバ30に送信される(ステップA)。特に、アップロードされたマニフェストには、アプリケーションに関連した複数のファイルのリストと、それらのメタデータと、マニフェストにリストアップされた複数のファイルの個々の一意のファイル“フィンガープリント”とが含まれる。ファイルフィンガープリントは、ファイルの<sha1sum>値によって定義され、一意のフィンガープリントを生成する。ファイルフィンガープリントの一意性を向上させるために、<sha1sum>値に加えて、ファイルの<filesize>値が用いられてもよい。図2は、アップロードされたマニフェストの例示的な項目を示す。これは、例示のみを意図する。
ディスパッチサーバ30は、アップロードされたマニフェストを受信すると、マニフェストに含まれたメタデータを管理データベース35に追加する。図2及び図3に示されたように、本発明の例示的な実施形態によれば、ファイルを参照するメタデータは、その他のレコード及び関連するスクリプトと共に、一意のファイルユーザ/グループデータを含むテーブル(例えば、“WAD_FILEREF”)の結合によってアプリケーションに関連付けられる。本発明の範囲から逸脱することなく、メタデータを格納するために、その他のファイル関連付け及び関係が用いられてよい(ステップB)。
メタデータを格納した後、ディスパッチサーバ30は、マニフェスト内のどのファイルをファイル格納部33に追加する必要があるかを判断する。本発明の例示的な実施形態によれば、アプリケーションの実際のファイルは、関連するファイルのフィンガープリント(例えば、<sha1sum>値)に基づいたファイルディレクトリ構造で、ファイル格納部33に格納される。例えば、図3に示されたような本発明の例示的な実施形態によれば、ファイルの<sha1sum>値の最初の2文字が当該ファイル用ディレクトリを生成するために使用され、かつ、ファイルの名称に<sha1sum>値が割り当てられる。しかしながら、本発明の範囲から逸脱することなく、ファイルフィンガープリント値に基づくその他のディレクトリ方式が用いられてよい。アップロードされたマニフェストを受信したとき、ディスパッチサーバ30は、ファイル毎のマニフェストに含まれたファイルフィンガープリントを、ファイル格納部33に既に格納されているファイルのファイルフィンガープリントと比較する。換言すれば、マニフェスト中のファイルフィンガープリント(例えば、<sha1sum>、又は、<sha1sum>+<filesize>)がファイル格納部33内に見つかった場合、一致したフィンガープリントに関連するファイルは、ファイル格納部33に追加されない。フィンガープリントに基づいて、ディスパッチサーバ30は、アップロードするファイルのリストを生成するとともに、該リストを開発サーバ20に返送する(ステップB)。
開発サーバ20がディスパッチサーバ30からファイルアップロードリストを受信すると、ディスパッチサーバ30の要求するファイルの転送が実行され、ファイル格納部33に格納される(ステップC)。したがって、本発明によるアプリケーション管理フレームワークは、ディスパッチサーバ30への不必要なアップロードによるファイルの重複を回避する。その結果、ファイル格納部33に格納されるファイルの数が削減され、記憶スペースがより効率良く使用される。さらに、アプリケーションに関連した各ファイルのメタデータが管理データベース35に個々に格納されるので、ファイル毎のあらゆるアップロード情報は、関連するファイルが修正されたかどうかにかかわらず維持される。
開発されたアプリケーションがディスパッチサーバ30にアップロードされてキューに入れられると、そのアプリケーションは、ネットワーク上のさまざまなエンドデバイスにディスパッチされる。当然のことながら、“ディスパッチする(dispatching)”とは、キューに入れられたアプリケーションのインストールプロセス(すなわち、導入)であっても、キューに入れられたアプリケーションのアンインストールプロセス(すなわち、非導入)であってもよい。ディスパッチサーバ30において“ディスパッチ”と指定されたアプリケーション情報は、指定されたアプリケーションのエンドデバイスへのインストールか、指定されたアプリケーションのエンドデバイスからのアンインストールかのどちらかに使用される。これらのエンドデバイスは、接続された(複数の)クライアントデバイス50のためのアプリケーションを実行する(複数の)製品サーバ40であってよい。あるいは、ディスパッチサーバ30は、キューに入れられたアプリケーションを(複数の)クライアントデバイス60に、直接、ディスパッチする。
これより、図6A及び図6Bを参照して、ディスパッチサーバ30によるアプリケーションのディスパッチプロセスを説明する。許可されたユーザは、クライアントデバイス610を介してディスパッチサーバ30にログオンし、管理インタフェースモジュール620を介して導入(すなわち、インストール)を開始する(ステップ1)。インストールスクリプトが起動され、管理データベース35にタスク(すなわち、ジョブ)が作成されるとともに、管理データベース35のキューテーブルが更新される。タスクIDが作成されることによって、ユーザは、図6Bに示されたように、ジョブのステータスを追跡できる(ステップ2)。ディスパッチャモジュール630は、管理データベース35中のキューテーブルをポーリングし、キューテーブル中の古いジョブから先にインストール/アンインストールを開始する(ステップ3)。ディスパッチャモジュール630がキューテーブル中に保留中のタスクを発見したとき、当該タスクは、導入スクリプトに与えられ、図6Bに示されたように、管理データベース35中のタスクのステータスが更新される(ステップ4)。ディスパッチャモジュール630は、アプリケーション格納部33をチェックして、導入されるファイルがローカルに存在するか否かを判断する。アプリケーション格納部33にそのようなファイルが存在していなかった場合、ディスパッチャモジュール630は、ファイルフィンガープリントを用いて、開発サーバ20又は別のディスパッチサーバ30のどちらか一方から、不足したファイルの位置を見つけ出す。ファイルがあった場合、当該ファイルは、フェッチされて、先に記載した方法でアプリケーション格納部33にローカルにキャッシュされ、さらに、重複ファイルの不必要な作成を最小化する。アプリケーション格納部33にすべてのファイルが格納されると、インストールスクリプト650が開始される(ステップ5)。インストールスクリプト650は、すべてのプレインストール命令を実行し、次いで、アプリケーションマニフェストを取り出す。マニフェストは、エンドデバイスにローカルに存在するファイルと比較され、ファイルが存在するか否か、及び/又は、ファイルが導入されるファイルと同一のバージョンであるか否か(すなわち、修正がなされていないのかどうか)の判断が行われる。比較は、先に記載したように、ファイルフィンガープリントに基づいて実行される。何らかの差異が存在する場合(すなわち、ファイルが存在しないか、又は、バージョンが異なる場合)、正しいファイルが検出されて取り出される(ステップ6)。次いで、インストールスクリプト650は、マニフェスト中のファイルを導入するとともに、図6Bに示されたように、ジョブのステータスを更新する(ステップ7)。導入プロセスの間、ユーザは、管理インタフェースモジュール620を介して、ジョブのステータスを問い合わせることができる。図7に示されたように、管理インタフェースモジュール620は、フロントエンドロードバランサを備え、負荷の管理を行う。管理データベース35により、すべてのデータ同期動作が管理されることで、管理インタフェース及びディスパッチャーの分散配置が可能となる。非導入(すなわち、アンインストール)プロセスは、開始時に、取り除かれるアプリケーションのためにマニフェスト中のファイルをアンインストールスクリプト670がアンロードすることを除けば、先に記載した導入プロセスのそれと同様の方法で実行される。
ディスパッチプロセスの間に、ディスパッチャモジュール630は、プレビュースクリプト640と照合スクリプト660とのどちらか一方又は両方を呼び出す。プレビュースクリプト640は、実行の様子をユーザに知らせ、照合スクリプト670は、実行結果をユーザに知らせる。さらにまた、本発明の例示的な実施形態は、追加的なデバッグの実行及び特性のモニタリングのために、管理データベース35中のジョブステータスメッセージ及びログ項目を格納するログ取得機能を有する。
先に記載された本発明によるアプリケーション管理フレームワークは、さまざまな利点を提供する。第1に、変更されたか又は新たに作成されたファイルだけがアプリケーション開発チームから(複数の)ディスパッチサーバにアップロードされるので、ファイルの不必要な重複が回避され、それによって、ネットワーク上の記憶リソースをより効果的に使用できる。これは、多数のアプリケーションの作成及び修正を行う複数の開発者を抱えた大規模ネットワークに有効となる。第2に、変更されたか又は新たに作成されたファイルだけがエンドデバイスに導入されるので、エンドデバイスの記憶リソースがより効果的に使用される。さらに、新たな又は修正されたファイルだけが導入されるので、インストール時間が短縮される。第3に、ファイルとメタデータとが別個にキャッシュされるので、複数のサービスがスケーラブルに追加できる。インストールのためにクライアントによって要求されたファイルが見つからなかった場合、サーバは、ソース格納部からそのファイルをフェッチするとともに、導入のためにそれをローカルにキャッシュする。第4に、本発明によるアプリケーション管理フレームワークは、ネットワークファイルシステムサーバ(NFS)のようなクラスタ化環境の仮想サーバ群へのアプリケーションの導入を可能とする。
本発明を説明するために特定の実施例が用いられたが、本発明の精神及び範囲から逸脱することなく、本発明のアプリケーション管理システム及び方法に対してさまざまな修正及び変更をなし得ることは、当業者には明らかである。故に、添付の特許請求の範囲及びそれらの均等物から得られるこの発明の修正例及び変形例は、本発明に包含される。
10 アプリケーション開発者ワークステーション
20 開発サーバ
30 ディスパッチサーバ
30a 1次ディスパッチサーバ
30b 2次ディスパッチサーバ
33 ファイル格納部
35 管理データベース
40 製品サーバ
50,60 クライアントデバイス

Claims (21)

  1. エンドデバイスに導入される少なくとも1つのコンピュータアプリケーションの作成及び/又は修正を行う少なくとも1つの開発デバイスと、
    前記コンピュータアプリケーションの導入/非導入の管理を行う少なくとも1つのディスパッチサーバと
    を具備し、
    前記開発デバイスは、前記コンピュータアプリケーションからマニフェストを生成し
    前記マニフェストは、
    記コンピュータアプリケーションに関連したコンピュータファイルに固有の少なくとも1つのファイルフィンガープリントと、
    記コンピュータファイルのメタデータと
    を含み、
    前記ディスパッチサーバは、
    前記マニフェストを受信し、
    前記マニフェストに含まれた前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在するか否かを判断することによって、前記コンピュータファイルの重複をチェックし、
    (a)前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していなかった場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めるように前記コンピュータアプリケーションの管理を行い、
    (b)前記ファイルフィンガープリントに関連した前記コンピュータファイルが存在していた場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めないように前記コンピュータアプリケーションの管理を行うことを特徴とするシステム。
  2. 前記ファイルフィンガープリントが、SHA−1関数による前記コンピュータファイルのハッシュ値を含むことを特徴とする請求項1に記載のシステム。
  3. 前記ファイルフィンガープリントが、前記コンピュータファイルのファイルサイズをさらに含むことを特徴とする請求項2に記載のシステム。
  4. 前記ディスパッチサーバが、ファイル格納部を具備し、
    前記ファイル格納部は、前記マニフェストに含まれた前記ファイルフィンガープリントに関連した前記コンピュータファイルの格納を行うことを特徴とする請求項1に記載のシステム。
  5. 前記ファイル格納部が、前記ファイルフィンガープリントに基づくファイルディレクトリ構造を有することを特徴とする請求項4に記載のシステム。
  6. 前記ファイル格納部が、一意に定まったファイルフィンガープリントを有したコンピュータファイルだけを格納していることを特徴とする請求項4に記載のシステム。
  7. 前記ディスパッチサーバが、データベースを具備し、
    前記データベースは、前記マニフェストに含まれた前記コンピュータファイルの前記メタデータの格納を行うことを特徴とする請求項1に記載のシステム。
  8. 前記ディスパッチサーバが、ディスパッチモジュールを具備し、
    前記ディスパッチモジュールは、前記ファイルフィンガープリントに基づいて、前記エンドデバイスへの、前記コンピュータアプリケーションに関連した前記コンピュータファイルの導入を行うことを特徴とする請求項1に記載のシステム。
  9. 前記ディスパッチサーバが、非導入モジュールを具備し、
    前記非導入モジュールは、前記マニフェストに基づいて、前記エンドデバイスからの、前記コンピュータアプリケーションに関連した前記コンピュータファイルのアンインストールを行うことを特徴とする請求項1に記載のシステム。
  10. 前記エンドデバイスが、サーバ又はクライアントデバイスのうちの少なくとも1つであることを特徴とする請求項1に記載のシステム。
  11. コンピュータアプリケーションから生成されたマニフェストの受信を行う段階と、
    前記マニフェストに含まれたファイルフィンガープリントに関連したコンピュータファイルが存在するか否かを判断することによって、前記コンピュータファイルの重複のチェックを行う段階と、
    前記コンピュータアプリケーションの管理を行う段階と
    を有し、
    前記マニフェストは、
    前記コンピュータアプリケーションに関連した前記コンピュータファイルに固有の少なくとも1つのファイルフィンガープリントと、
    前記コンピュータファイルのメタデータと
    を含み、
    前記コンピュータアプリケーションの管理を行う段階は、
    (a)前記ファイルフィンガープリントに関連した前記コンピュータファイル存在していなかった場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めるように前記コンピュータアプリケーションの管理を行う段階と
    (b)前記ファイルフィンガープリントに関連した前記コンピュータファイル存在していた場合、前記ファイルフィンガープリントに関連した前記コンピュータファイルを導入に含めないように前記コンピュータアプリケーションの管理を行う段階と
    を含むことを特徴とする方法。
  12. 前記マニフェストに含まれた前記メタデータをデータベースに追加する段階をさらに有することを特徴とする請求項11に記載の方法。
  13. 前記コンピュータアプリケーションの重複のチェックを行う段階及び前記コンピュータアプリケーションの管理を行う段階が、ディスパッチサーバのファイル格納部で実行されることを特徴とする請求項11に記載の方法。
  14. 前記ファイル格納部が、前記ファイルフィンガープリントに基づいたファイルディレクトリ構造を有することを特徴とする請求項13に記載の方法。
  15. 前記ファイル格納部が、一意に定まったファイルフィンガープリントを有したコンピュータファイルだけを格納していることを特徴とする請求項13に記載の方法。
  16. 前記コンピュータアプリケーションの重複のチェックを行う段階及び前記コンピュータアプリケーションの管理を行う段階が、アプリケーションディスパッチプロセスの間に、エンドデバイスで実行されることを特徴とする請求項11に記載の方法。
  17. 前記ファイルフィンガープリントが、SHA−1関数による前記コンピュータファイルのハッシュ値を含むことを特徴とする請求項11に記載の方法。
  18. 前記ファイルフィンガープリントが、前記コンピュータファイルのファイルサイズをさらに含むことを特徴とする請求項17に記載の方法。
  19. 前記ファイルフィンガープリントに基づいて、エンドデバイスへの、前記コンピュータアプリケーションに関連した前記コンピュータファイルの導入を行う段階をさらに有することを特徴とする請求項11に記載の方法。
  20. 前記マニフェストに基づいて、エンドデバイスからの、前記コンピュータアプリケーションに関連した前記コンピュータファイルのアンインストールを行う段階をさらに有することを特徴とする請求項11に記載の方法。
  21. 請求項11乃至20のいずれか1項に記載の方法の各段階をコンピュータに実行させるためのコンピュータプログラム。
JP2010526870A 2007-09-25 2008-04-01 アプリケーション管理システム及び方法 Expired - Fee Related JP5430574B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/902,791 US8490078B2 (en) 2007-09-25 2007-09-25 System and method for application management
US11/902,791 2007-09-25
PCT/US2008/004219 WO2009041990A1 (en) 2007-09-25 2008-04-01 System and method for application management

Publications (3)

Publication Number Publication Date
JP2010541061A JP2010541061A (ja) 2010-12-24
JP2010541061A5 JP2010541061A5 (ja) 2011-05-19
JP5430574B2 true JP5430574B2 (ja) 2014-03-05

Family

ID=40473095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526870A Expired - Fee Related JP5430574B2 (ja) 2007-09-25 2008-04-01 アプリケーション管理システム及び方法

Country Status (4)

Country Link
US (1) US8490078B2 (ja)
EP (1) EP2193439A4 (ja)
JP (1) JP5430574B2 (ja)
WO (1) WO2009041990A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552214B2 (en) * 2006-04-26 2017-01-24 Oracle International Corporation Tool for automated extraction and loading of configuration settings
US8464244B2 (en) * 2008-01-08 2013-06-11 Oracle International Corporation Implementation tool combining pre-configuration and questionnaire
US8726272B2 (en) * 2009-01-15 2014-05-13 Oracle International Corporation Extensibility for business accelerator authoring tools
EP2599263A4 (en) * 2010-07-27 2014-03-05 Hewlett Packard Development Co METHOD AND SYSTEM FOR IMPLEMENTING SAAS SERVICE BUNDLES
JP5682467B2 (ja) * 2011-06-14 2015-03-11 富士通株式会社 設定情報管理プログラム、設定情報管理方法及び情報処理装置
US8776048B2 (en) 2012-05-22 2014-07-08 International Business Machines Corporation Early configuration in deploying an enterprise application
US9762450B2 (en) 2014-09-04 2017-09-12 Accenture Global Services Limited System architecture for cloud-platform infrastructure layouts
US10579362B1 (en) * 2017-07-21 2020-03-03 Jpmorgan Chase Bank, N.A. Method and system for implementing an ATM phone home and scrapper mapping tool
US10360017B1 (en) * 2018-01-02 2019-07-23 Microsoft Technology Licensing, Llc Updating program packages at distribution endpoint
CN109522041B (zh) * 2018-10-15 2021-11-23 网易(杭州)网络有限公司 客户端资源更新方法、装置、处理器、服务器及终端

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
JPH11282687A (ja) * 1998-03-31 1999-10-15 Hitachi Ltd プログラム自動改版方法
US6880107B1 (en) * 1999-07-29 2005-04-12 International Business Machines Corporation Software configuration monitor
JP4846156B2 (ja) * 2000-02-18 2011-12-28 イーエムシー コーポレイション 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法
US7155713B1 (en) * 2000-04-27 2006-12-26 Microsoft Corporation Componentized operating system
US7657887B2 (en) * 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
JP2002014817A (ja) * 2000-06-30 2002-01-18 Oki Electric Ind Co Ltd ファイル配布システム
WO2002025438A1 (en) * 2000-09-22 2002-03-28 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US20030182414A1 (en) 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US7137004B2 (en) 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
EP1361509B1 (en) 2002-05-08 2013-07-10 Sap Ag Software delivery manager
US7512977B2 (en) 2003-06-11 2009-03-31 Symantec Corporation Intrustion protection system utilizing layers
KR100365910B1 (en) * 2002-08-02 2002-12-31 Nexon Co Ltd System for transmitting/receiving file
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7846023B2 (en) 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US7562346B2 (en) * 2003-09-02 2009-07-14 Microsoft Corporation Software componentization for building a software product
US20050283623A1 (en) * 2004-06-17 2005-12-22 Vanderheyden Peter J Computer-based method and apparatus for certifying a file
US8245221B2 (en) * 2004-09-30 2012-08-14 Microsoft Corporation Content formatting and installation techniques
US7673148B2 (en) 2004-10-15 2010-03-02 Microsoft Corporation Versioning component for applications
US7487169B2 (en) * 2004-11-24 2009-02-03 International Business Machines Corporation Method for finding the longest common subsequences between files with applications to differential compression
US8051148B2 (en) * 2005-01-13 2011-11-01 National Instruments Corporation Determining differences between configuration diagrams
JP3924306B2 (ja) 2005-07-20 2007-06-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア・パッケージを再構築する方法
US8286159B2 (en) * 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
US7827147B1 (en) * 2007-03-30 2010-11-02 Data Center Technologies System and method for automatically redistributing metadata across managers
US8112505B1 (en) * 2009-10-20 2012-02-07 Wanova Technologies, Ltd. On-demand block-level file system streaming to remote desktops
US20110113424A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates

Also Published As

Publication number Publication date
US8490078B2 (en) 2013-07-16
JP2010541061A (ja) 2010-12-24
WO2009041990A1 (en) 2009-04-02
EP2193439A1 (en) 2010-06-09
US20090083728A1 (en) 2009-03-26
EP2193439A4 (en) 2011-01-26

Similar Documents

Publication Publication Date Title
JP5430574B2 (ja) アプリケーション管理システム及び方法
CN109391664B (zh) 用于多集群容器部署的系统和方法
US8255363B2 (en) Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
JP5535484B2 (ja) 自動ソフトウェアテストフレームワーク
EP1915680B1 (en) Archiving data in a virtual application environment
US20060020937A1 (en) System and method for extraction and creation of application meta-information within a software application repository
US8255362B2 (en) Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system
JP3385590B2 (ja) コンピュータ・ネットワークを通してコンピュータ・プログラムを更新する場合に使用するためのソフトウエア更新プログラムを記録したコンピュータ読み取り可能な記録媒体
US6163859A (en) Software vault
US6202207B1 (en) Method and a mechanism for synchronized updating of interoperating software
US9218137B2 (en) System and method for providing data migration services
US7831569B2 (en) Preserving a query plan cache
US20050278280A1 (en) Self update mechanism for update module
US20060288055A1 (en) Methods, systems, and computer program products for provisioning software via a networked file repository in which a parent branch has a shadow associated therewith
US20060288054A1 (en) Methods, systems, and computer program products for provisioning software via a file repository in which a version string is used to identify branches of a tree structure
US20130283259A1 (en) Application installation
US7266817B1 (en) Method and system for creating packages for multiple platforms
US7181739B1 (en) Installation relationship database
US20060294430A1 (en) Systems and methods for dynamic application patching
WO2016111673A1 (en) Multi-tenant upgrading
US9720669B2 (en) Deployment of software across an enterprise system
Collberg et al. SLINKY: Static Linking Reloaded.
Cappos et al. Stork: Package Management for Distributed VM Environments.
US9092292B2 (en) Shared application binary storage
US20220197757A1 (en) Automatic update of network assets using gold images

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5430574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees