JP2004158012A - ソフトウェアアプリケーション管理のためのシステムおよび方法 - Google Patents

ソフトウェアアプリケーション管理のためのシステムおよび方法 Download PDF

Info

Publication number
JP2004158012A
JP2004158012A JP2003373067A JP2003373067A JP2004158012A JP 2004158012 A JP2004158012 A JP 2004158012A JP 2003373067 A JP2003373067 A JP 2003373067A JP 2003373067 A JP2003373067 A JP 2003373067A JP 2004158012 A JP2004158012 A JP 2004158012A
Authority
JP
Japan
Prior art keywords
resource
instructions
application
computer
state
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.)
Pending
Application number
JP2003373067A
Other languages
English (en)
Inventor
Brian Eric Becker
エリック ベッカー ブライアン
Alain Jules Mayer
ジュール メイヤー アラン
Michael Todd Schroepfer
トッド シュロファー マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2004158012A publication Critical patent/JP2004158012A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

【課題】アプリケーションに属する各リソース状態に基づいてアプリケーションの管理を一元化・自動化できる。
【解決手段】管理システムの1つの側面は、1台のマスターサーバと複数のエージェントを含む。マスターサーバは、展開済みの複数リソースの中から幾つかのリソースを選択し、それらのリソースを相互に結合してアプリケーションを形成できる。次に、マスターサーバは選択されたリソース及びそれに対応するリソース状態を取得する命令を生成し、取得されたリソースとリソース状態を結合し1つのアプリケーションパッケージを形成できる。管理システムの別の側面では、各リソースのリソースタイプに基づいて管理手順をアプリケーションに関連付けることができる。こうして、その管理手順を実行して、各リソース状態に基づいてアプリケーションを管理できる。
【選択図】 図1

Description

著作権表示
この特許文献の開示の一部には、著作権保護の対象となる要素が含まれる。特許商標庁の特許ファイルまたは特許記録簿に表示されている場合、著作権所有者はいかなる者によるこの特許文献または特許情報開示のファクシミリ複製に対しても異議を申し立てないが、それ以外の場合、すべての著作権は保有される。
発明の分野
本発明は一般に、コンピュータに関し、そしてより詳しくはネットワークか、コンピュータ上のソフトウェアアプリケーションを管理するためのシステムおよび方法に関する。
発明の背景
ネットワークコンピュータとは、通信ネットワーク(たとえばインターネットプロトコル(IP)ネットワーク)に接続されたコンピュータである。ネットワークコンピュータは、通信ネットワークを介してサーバに接続されたクライアントコンピュータに機能を提供するサーバとして機能することができる。サーバが提供できる機能は、サーバにインストールされサーバ上で実行される1つ以上のアプリケーション(たとえばソフトウェアプログラム)によって決まる。通常、アプリケーションには特にバイナリ(たとえば、実行可能な)ファイル、コンフィギュレーション設定、および登録設定が含まれる。これらのファイルと設定は、サーバ上の1つ以上のディレクトリに常駐することができる。
アプリケーションをクライアントコンピュータで利用可能にする前に、システム管理者(または大企業のシステム管理者グループ)はアプリケーションをサーバ(たとえば企業サーバ)に展開する必要がある。システム管理者は通常、各サーバが協調して所定の業務目標に合った機能を提供するように、全サーバ上のアプリケーションソフトウェアを管理する責任がある。業務目標が変動しやすい場合、アプリケーションの頻繁な展開、アンインストール、またはアップグレード(古いバージョンをアンインストールし、新しいバージョンを展開すること)がしばしば必要になることがある。またたとえば、正常に機能しない場合はアプリケーションを解析しなければならないこともある。
管理プロセスが複雑であり、各種アプリケーション間でコンフィギュレーション設定と登録設定が多様であるため、アプリケーション管理に時間がかかり、システム管理者に各アプリケーションに関する知識が必要とされることがある。さらに、たとえば1台のサーバ上の1つのアプリケーションの設定ファイルのセッティングに少しでもエラーがあると、企業全体としての必要な機能を実行できなくなることもある。設定エラーが長期間検出されない場合もある。一般に従来のシステム管理ソフトウェアでは、すべてのサーバとアプリケーションが起動・実行され、システム管理ソフトウェアが対応できるイベントを生成しないため、警報が生成されない。
アプリケーションの手動管理には上記のような欠陥があることから明らかなように、すべてのサーバが必要な業務機能を全体として実現するような方法で管理操作を実行できるようにすると同時に、たとえば企業データセンターの1台以上のサーバ上のアプリケーション管理を一元化・自動化するシステムと方法が必要とされている。
発明の概要
本発明の1つの側面もしくは局面は、1台以上の管理対象サーバマシン上のソフトウェアアプリケーションを管理するシステムおよび方法にかかわる。展開されたアプリケーションの状態(アプリケーションに属する各リソースの状態)の管理が管理システムによって一元化されるため、アプリケーション管理を簡素化できる。たとえば、ソースサーバマシン上に先に展開されたアプリケーションの状態を取り込み、それを利用して同じアプリケーションを1台以上のターゲットサーバマシンに展開できるため、以前に取り込まれた展開状態(ソースサーバマシン上の)と同じまたは似た展開状態をターゲットサーバマシン上で達成することができる。解析やアンインストールなど、その他の管理手順もこの展開状態を利用して効果的に実行することができる。たとえば、展開されたアプリケーションをその展開状態に関して解析することができる。また、展開されたアプリケーションを、その展開状態を利用してサーバマシンからアンインストールまたは削除することも可能である。
本発明の1つの側面によれば、アプリケーション管理システムは1台のマスターサーバと複数のエージェントを含み、各エージェントは1つの管理対象サーバマシン上に常駐する。マスターサーバによって、ユーザ(たとえば、システム管理者または別のソフトウェアプログラム)は管理対象サーバマシン上にすでに展開されている複数リソースの中からリソースを選択し、それらを相互に組み合わせて1つのアプリケーションを形成することができる。1台以上の管理対象サーバマシン(この場合は、ソースサーバマシンとして知られている)からリソースを選択できる。マスターサーバは、選択されたリソースをそれに対応するリソース状態を取り込む命令を生成し、取り込まれたリソースとリソース状態を1つのアプリケーションパッケージに結合する。
本発明の別の側面によればアプリケーション管理システムは、アプリケーションを形成する各リソースのリソースタイプに基づいて管理手順をアプリケーションに関連付けることができる。このため、その管理手順を実行して、各リソースの状態に基づいてアプリケーションを管理できる。
一実施形態では、1台以上のコンピュータ(またはサーバマシン)にプログラムすることができる一系列のコンピュータプログラム命令として、アプリケーション管理システムを実現できる。代替的に、アプリケーション管理システムをハードウェア(たとえば、プログラム可能論理デバイスなどの専用ハードウェアや特定のソフトウェアを実行する汎用コンピュータ)に実現し、製品としてコンピュータリード処理可能媒体(たとえばディスク)に格納される一系列の命令として実現することができる。
本発明とその利点は、以下の望ましい実施形態の詳細な説明を添付図面と併せて検討することによって容易に理解されるものである。なお、全図面において類似部分は同一符号で示してある。
好ましい実施形態の詳細な説明
アプリケーションとは、共に動作して特定機能(または関連機能群)を実行するように設計されたリソース(フィーチャ)の集まりである。アプリケーション(たとえばソフトウェアアプリケーション)はソフトウェアベンダーから1つのユニットとして購入し、またはソフトウェア開発グループが社内で作成することができる。アプリケーションパッケージ(たとえばソフトウェアパッケージ)とは、単一のファイル(通常はアーカイブファイル)、または1つのアプリケーション用の全データ(たとえば実行可能コード、内容、コンフィギュレーション情報)を含む一組のファイルである。
リソースとは、1つ以上を相互に組み合わせて1つのアプリケーションとして機能できるフィーチャである。リソースは、実行可能コード、設定ファイル、ユーザインタフェース用のグラフィックスファイルなど、単一ファイルまたは様々なタイプのファイルの集まりであってよい。リソースの例としては、(1)ウェブコンテンツ(たとえばHTMLテキスト、Active Serverページ(ASP))、各種形式の画像(たとえばGIFやJPEG)などを含むディレクトリ;(2)1つ以上のCOM(Component Object Model)コンポーネントを含むことができるDLL(Dynamic Link Library);(3)J2EE(Java 2 Enterprise Edition)アプリケーションコードなどを含むWAR(Web Archive)が挙げられる。各リソースはそれに関連付けられた特定のリソースタイプを持つため、リソースタイプに基づいて管理することができる。リソースタイプとはリソースの名前であり、定義された一組の名前(たとえばCOM_PLUS、WAR_WebLogic、IIS_Web_Site)から選ばれる。たとえば、COM+コンポーネントを含む1つのリソースは、リソースタイプCOM_PLUSを持つことができる。したがって、1つのリソースタイプは、リソースの種類を一意に決めるリソースの属性である。
サーバマシンとは、サーバマシンにインストールされたアプリケーションの機能を、通信ネットワークを介してサーバマシンに接続された他のコンピュータ(たとえばクライアントコンピュータ)に提供する任意のネットワークコンピュータである。たとえば、特定のコンピュータが、第1のアプリケーションに関してはサーバマシンとして機能し(別のコンピュータに、第1のアプリケーションの機能を提供する場合など)、第2のアプリケーションに関してはクライアントコンピュータとして機能することができる(別のコンピュータが提供する第2のアプリケーションの機能を利用する場合)。
サーバマシンに展開された各リソースは、それに関連付けられたリソース状態を持つ。1つの展開されたリソースの状態(リソース状態)には通常、特定のサーバマシン上に展開された時点のリソースのコンフィギュレーション設定と登録設定が含まれる。
1つのサーバマシンに展開された各アプリケーションは、それに関連付けられた1つのアプリケーション状態を持つ。展開されたアプリケーションの状態(アプリケーション状態)は、アプリケーションに属する各リソースの状態の集まりである。
アプリケーション管理とは、(1)アプリケーション(およびそれに対応する機能)をサーバマシンに追加するプロセスとしての展開、(2)アプリケーション(およびそれに対応する機能)をサーバマシンから削除するプロセスとしてのアンインストール、(3)同じアプリケーションが展開されている複数のサーバマシン間のコンフィギュレーションおよび登録上の差異を識別するプロセスとしての解析、(4)特定のアプリケーションまたはリソースが展開されているサーバマシンを決定するプロセスとしての発見など、複数のプロセスを表す用語である。その他のアプリケーション管理手順としては、たとえばアップグレード、ロールバック、モニタリングがある。
アプリケーション展開は通常、アプリケーション(アプリケーションリソース)を形成するリソースすべてをサーバマシンに転送することを含む。リソースは通常、予め定義されたディレクトリに配置される。各リソースのコンフィギュレーション設定と登録設定には値が付けられる。リソースに応じて、これらの設定をデータベースのような構造、各種形式(XML、アプリケーション固有の形式など)のファイル、または登録タイプ構造(Windowsレジストリなど)に格納することができる。各リソースの設定は、サーバのタイプ、サーバのIPアドレス、サーバが配置されているサブネット、サーバが所属しているFLANセグメント、サーバにインストール済みの別のソフトウェア、企業内のサーバの役割、サーバの基本OS(オペレーティングシステム)またはハードウェアのような、様々な側面または局面によって異なることがある。
アプリケーションソフトウェアが動作するようにサーバの環境を設定しなければならないことがある。たとえば、サーバにインストールされたリソースのタイプに応じてサーバレジストリを変更しなければならないことがある。さらに、選択したサーバ上で各リソースを実行するために、使用可能メモリ、アーキテクチャ、その他の以前にインストールしたソフトウェアなど、複数の条件をチェックする必要がある。一度設定すれば、アプリケーションソフトウェアを起動できる。つまり、アプリケーションソフトウェアの実行可能プログラムを実行状態にすることができる。
一般にアプリケーションアンインストールには、実行状態が継続しないようにアプリケーションソフトウェアを停止するプロセス、サーバマシンからすべてのリソースを削除するプロセス、展開時に生成されたコンフィギュレーション設定と登録設定をすべて削除するプロセスが含まれる。
アプリケーションコンフィギュレーション解析では、現在アプリケーションが展開されている2つ以上のサーバマシン間のコンフィギュレーション設定と登録設定を比較することを含む。各サーバマシンに関連付けられたコンフィギュレーション設定と登録設定をすべて比較しなければならない場合がある。また、代替的に特定のアプリケーションリソースの影響を受けるコンフィギュレーション設定と登録設定だけを比較することもある。両設定上の差異を出力としてシステム管理者または別のアプリケーション管理機能に提示することができる。
アプリケーション発見は、所定の組のサーバマシン上で、現在アプリケーションが展開されているサーバマシンをすべて発見するプロセスである。出力として、各サーバのIDを展開されているアプリケーションの正確なバージョンと共に提示することができる。
図1は、本発明のアプリケーション管理システム100の1つの実施形態を示すブロック図である。このアプリケーション管理システム100は、複数の中から選ばれた1台以上のターゲットサーバマシン110上のアプリケーション管理を自動化するのに適している。アプリケーション管理システム100によって、各リソースの状態またはリソースタイプにどのような差異があったとしても、あらゆるリソースについて同じ(または類似の)ワークフローが可能になる。
アプリケーション管理システム100は、ソースサーバマシン135(「ゴールドサーバ」と呼ばれることもある)に展開済みの1つ以上のリソース130を選択するユーザ入力120を受け取る(たとえば図2に示したユーザインタフェース180などを介して)。場合によっては、リソース130の選択においてリソースタイプを指示することもできる。選択されたリソース130を相互に結合してアプリケーションとして機能させることもできる。一実施形態では、リソース130を1台以上のソースサーバマシン135から選ぶことができる。たとえば、第1のリソースを第1のソースサーバマシンから選び、第2のリソースを第2のソースサーバマシンから選ぶことができる。複数のソースサーバマシン135上で特定のリソース130を利用可能な場合、そのリソース130を提供する1つの特定のソースサーバマシン135を選択できる。1つの事例において、そして他の事例において、特定のサーバがソースサーバマシン135として機能したり(別のサーバマシンに展開するために、インストール済みのリソースをアプリケーション管理システム100に提供する場合)、ターゲットサーバマシン110として機能することができる(リソースをインストールするターゲットである場合)。
アプリケーション管理システム100は、ソースサーバマシン135上の選択された各リソース130と選択された各リソース130に対応するリソース状態140を取り込むための命令を生成する。選択されたリソース130および対応するリソース状態140を(たとえばインストール命令を)結合してアプリケーションパッケージ(ソフトウェアパッケージ)を形成することができる。
アプリケーション管理システム100は、選択された各リソース130に基づいて管理手順をアプリケーションに関連付ける。このため、アプリケーション管理システム100によってユーザ(たとえば、システム管理者または別のソフトウェアプログラム)はその管理手順を実行して、ターゲットサーバマシン110を管理できる。好都合なことに、この管理手順を管理者またはその他の操作員が使用するマシンのような1つの中央部所から実行できる。アプリケーション管理システム100によって、ユーザは各アプリケーションについて、自動化された一組の管理手順(展開、アンインストール、解析、発見)から選択できる。
展開時、選択されたリソース130が1台以上のターゲットサーバマシン110にインストールされる。アプリケーションと選択されたターゲットサーバマシン110の両方のコンフィギュレーション設定を展開管理手順にしたがってセッティングできる。展開管理手順では、選択された各リソース130に対応するリソース状態140から、コンフィギュレーション設定と登録設定に関する必要な情報を取得する。
アンインストール管理手順を実行すると、展開プロセス時にインストールされたリソースがすべてターゲットサーバマシン110から削除される。さらに、展開プロセス時に作成された、アプリケーション(アプリケーション状態)に関連付けられたコンフィギュレーション設定と登録設定がすべて取り消される。
解析管理手順では、ターゲットサーバマシン110上のアプリケーションのコンフィギュレーション設定と登録設定(アプリケーション状態)を解析し、別のサーバマシン上の同じアプリケーションの設定(またはアプリケーション状態)と比較する。さらに、この解析管理手順では、ターゲットサーバマシン110上のアプリケーションの現在の設定を、同じターゲットサーバマシン110で1つの先の時点においてアクティブであった設定と比較することもできる。
アプリケーション発見管理手順は、1台以上のサーバマシンにアプリケーションを展開済みであるかどうかを決定する。展開済みである場合、アプリケーション発見管理手順で、特定のサーバマシンのIDを、各サーバマシン上の現在のアプリケーション状態と共に出力できる。
その結果、操作員は管理手順(アプリケーションの各リソースに応じて利用可能になるどれかの手順)を単に選択して特定のリソース状態を管理するだけで、アプリケーションを管理できる。したがって、利用可能な管理手順の中から選択すれば、操作員は管理操作が正確であることを確信できる。また、複数のターゲットサーバマシン110、さらには企業ネットワーク全体に渡って特定の管理手順を呼び出すことで、操作員はアプリケーションの管理に一貫性があることを確信することもできる。たとえば、各展開プロセスを同じ方法で実行できる。解析、アンインストール、およびその他の手順(ロールバックのような)を、展開手順に基づいて実行する(展開手順後のアプリケーション状態を、これらの管理手順の開始点として利用する)ことができる。
図2は、本発明の実施形態にしたがってアプリケーションを管理できるコンピュータネットワークの概略図である。1台の中央コンピュータ150が通信ネットワーク155に接続されている。複数の管理対象サーバマシン(コンピュータ)160も通信ネットワーク155に接続されている。中央コンピュータ150および管理対象サーバマシン160は、1つ以上の物理通信回線、無線システム、またはこれらの任意の組み合わせを介して通信ネットワーク155に接続されたパーソナルコンピュータ、ワークステーション、またはサーバマシンなどを含むことができる。通信ネットワーク155として、1つ以上のネットワークまたはその他の通信プロトコル(たとえば、インターネットプロトコル)を採用したLAN(ローカルエリアネットワーク)やWAN(ワイドエリアネットワーク)など1つ以上のネットワークを使用できる。
一実施形態では、本発明のアプリケーション管理システム100に、中央コンピュータ150に常駐するマスターサーバ(MS)170と1つの管理対象サーバマシン160に常駐する少なくとも1つのエージェント175が含まれる。各管理対象サーバマシン160は、実行される管理機能に応じてソースサーバマシン135またはターゲットサーバマシン110として機能できる。たとえば、インストール済みのリソース130をアプリケーション管理システム100に提供する場合、特定の管理対象サーバマシン160はソースサーバマシン135であってよい。これと同じ管理対象サーバマシン160が、別の管理対象サーバマシン160が提供するリソース状態情報に基づいてアプリケーション管理システム100によって管理される場合、ターゲットサーバマシン110であってもよい。
マスターサーバ170は、通信ネットワーク155を介して直接、または中間ホップを介して管理対象サーバマシン160上のエージェント175と通信することができる。一実施形態では、マスターサーバ170は、好ましくはシステム管理者(またはその他の操作員)が使用するマシンである中央コンピュータ150で実行されるプログラム(ソフトウェアパッケージなど)である。マスターサーバ170にはユーザインタフェース180(たとえばグラフィカルユーザインタフェース、アプリケーションプログラムインタフェース)が組み込まれており、このユーザインタフェースを介してユーザ(たとえばシステム管理者、コンピュータプログラム)はアプリケーション生成とアプリケーション管理手順実行のためのコマンド(たとえばユーザ入力120)を発することができる。
一実施形態では、エージェント175の1つの事例(たとえば別のソフトウェアパッケージ)が、それぞれの管理対象サーバコンピュータ160にインストールされ実行される。一般に管理対象サーバマシン160はデータセンターに配置され、たとえばクラスタにグループ化することができる。たとえば、システム管理者またはその他の操作員は、物理的に分離された複数のデータセンターに配置された管理対象サーバマシン160を担当してよい。システム管理者は、本発明のアプリケーション管理システム100を使用して任意のまたはすべての管理対象サーバマシン160上のアプリケーションを管理することができるが、その際、管理対象サーバマシン160の物理的場所は問題にならない。マスターサーバ170は特定のターゲットサーバマシン110上のエージェント175と通信して、所定のアプリケーション管理手順を実行することができる。
アプリケーション管理システム100の一実施形態には、アプリケーションビルダーとアプリケーションマネージャという2つの機能が含まれる。アプリケーションビルダーは、アプリケーションに含めるリソースの選択に基づいてアプリケーションとそのアプリケーション状態をアセンブルする。アプリケーションマネージャは、アプリケーションを管理するための一組の命令を生成する。
図3は、本発明に従うアプリケーション生成プロセスの実施形態を示す流れ図である。このプロセスはステップ200から始まる。ステップ205で、マスターサーバ170が1つのリソースの選択を受け取る(たとえばユーザインタフェース180を介して)。ユーザは、ソースサーバマシン135上のリソースを参照することで(たとえば、特定の管理対象サーバマシン160とその管理対象サーバマシン160上のリソース130の場所(たとえばパス)を指定することで;このため、この例では管理対象サーバマシン160はソースサーバマシン135として機能する)リソース130を選択することができる。ステップ210で、マスターサーバ170が選択されたリソース130のリソースタイプをユーザが指示したかどうかを決定する。ユーザがリソースタイプを指示している場合、ステップ220に進む。指示していない場合、ステップ215で、マスターサーバ170が指定されたソースサーバマシン135(図1)上のエージェント175に命令を発して、リソースタイプを決定する。次に、ステップ220に進む。
ステップ220で、マスターサーバ170がソースサーバマシン135上のエージェント175に対する命令を生成し発する。この命令はリソースタイプと選択された実際のリソース130の両方に基づいており、以下の1つ以上の処理を実行するように設計されている。(1)ソースサーバマシン135上のリソース130を取り込む、(2)リソース130に関連付けられたリソース状態140(たとえばコンフィギュレーション設定)を取り込む、(3)すべての関連データ(たとえばリソース130、リソース状態140など)をマスターサーバ170に転送する。ソースサーバマシン135上のエージェント175が命令を受け取って実行し、関連データをマスターサーバ170に返す。ステップ225で、マスターサーバ170が取り込まれたリソース130を含む関連データを受け取る。
選択された一組のリソース130のどの組でもアプリケーションとして指定できるため、ステップ230でマスターサーバ170が、アプリケーションに追加するリソース130をさらに選択するかどうかユーザに照会する。もう1つのリソース130をさらに追加する場合、ステップ205に戻って、追加するもう1つのリソース130の選択を受け取る。追加しない場合、ステップ235に進む。ステップ235で、マスターサーバ170が、選択されたリソース130と取り込まれたリソース状態140(アプリケーション状態になる)をすべて含むアプリケーションパッケージをアセンブルする。次に、プロセスがステップ240で終了する。
図4は、本発明に従うアプリケーション管理プロセスの実施形態を示す流れ図である。このプロセスはステップ300から始まる。ステップ305で、マスターサーバ170は、アプリケーションの選択、管理手順、およびその上で選択された管理手順が実行される1台以上の管理対象サーバマシン160を受け取る(たとえばユーザインタフェース180を介して)。したがって、この事例では、選択された管理対象サーバマシン160はターゲットサーバマシン110である。ステップ310で、マスターサーバ170が、1台のターゲットサーバマシン110上のエージェント175に対する命令を生成し発する。この命令はリソースタイプとアプリケーションを形成する実際のリソースの両方に基づいており、ターゲットサーバマシン110上のエージェント175に、選択された管理手順を選択されたアプリケーションに対して実行させるように設計されている。また、この命令は現在のアプリケーション状態に基づくこともできる。たとえば、アンインストールや解析など多数の管理手順において、先に実行された管理手順(同じアプリケーションに対する)によって生成された状態情報を入力として使用することができる。
ステップ315で、マスターサーバ170が、アプリケーションパッケージとアプリケーション状態をエージェント175に渡す必要があるような1つのタイプの管理手順(たとえば、展開やアップグレードのような管理手順)であるかどうかを決定する。この種の管理手順である場合、ステップ320でマスターサーバ170がアプリケーションパッケージとアプリケーション状態をエージェント175に渡し、ステップ325に進む。この種の管理手順でない場合、ステップ315から直接ステップ325に進む。ステップ325で、マスターサーバ170が、命令を生成する必要があるターゲットサーバマシン110が残っているかどうかを決定する。残っている場合、ステップ310に戻る。残っていない場合、ステップ330に進む。
ステップ330で、エージェント175が、選択された管理手順を選択されたアプリケーションに対して実行する命令を受け取って実行する。次に、ステップ335でエージェント175が、ターゲットサーバマシン110に対する管理手順の実行によって生成された新しいアプリケーション状態を格納する。一実施形態では、以前のバージョンのアプリケーションへのロールバックなどを可能にするために、エージェント175は特定アプリケーションのアプリケーション状態の系列を格納することができる。ステップ340で、エージェント175が管理手順の実行によって生成された任意の必要なデータをすべてマスターサーバ170に渡す。たとえば、冗長的に格納するために新しいアプリケーション状態をマスターサーバ170に渡すことができ、管理手順の実行結果の一部としてマスターサーバ170に渡すこともある(たとえば、発見のような管理手順では、アプリケーション状態をマスターサーバ170に戻さなければならないことがある)。次に、プロセスがステップ345で終了する。
アプリケーションの生成と管理でリソースタイプ情報(リソースに対応する)を利用できる。一実施形態では、リソースタイプが拡張可能であるため、アプリケーション管理システム100により認識されるリソースタイプの組を拡張して新しいリソースタイプを含めることができる。その際、アプリケーション管理システム100自体の変更は不要であり、新しいリソースタイプに関する情報を管理手順モデルに追加するだけでよい。次に、アプリケーション管理システム100は、自動的にこの新しい情報をシステムの広範囲で(たとえば、関連エージェント175で)利用可能にすることができる。
また、各リソースタイプについての一組の管理手順を拡張することもできる。その際、アプリケーション管理システム100自体の変更は不要であり、新しい管理手順の新しいモデルを追加するだけでよい。次に、アプリケーション管理システム100は、自動的にこの新しい情報をシステムの広範囲で(たとえば、関連エージェント175で)利用可能にすることができる。
一実施形態では、本発明に従うアプリケーション管理システム100をカスタマイズできる。たとえば、既存のリソースタイプに関連付けられた管理手順を変更できる。その際、アプリケーション管理システム100自体の変更は不要であり、管理手順モデルを変更するだけでよい。次に、アプリケーション管理システム100は、自動的にこの新しい情報をシステムの広範囲で(たとえば、関連エージェント175で)利用可能にすることができる。
さらに、利用可能な管理手順の組をリソースタイプそれぞれについてカスタマイズすることもできる。次に、アプリケーション管理システム100は、自動的にこの新しい情報をシステムの広範囲で(たとえば、関連エージェント175で)利用可能にすることができる。
図5は、本発明に従うマスターサーバ170の実施形態における複数の内部モジュールを示すブロック図である。マスターサーバ170には、ユーザと対話しながらアプリケーションを作成し、管理手順を実行し、アプリケーション管理システム100の機能を拡張する複数のモジュールが含まれる。この実施形態におけるマスターサーバ(170には、アプリケーションビルダー400、アプリケーションマネージャ410、モデリングマネージャ420、状態マネージャ430、およびモデル実行エンジン440が組み込まれている。
さらに、状態マネージャ430と連係して、管理対象リソース、コンフィギュレーション設定、および登録設定などのためのバージョン管理中央記憶装置として機能するリポジトリ450をマスターサーバ170に組み込むこともできる。ただし、リポジトリ450をマスターサーバ170の一部として組み込まなければならないというわけではない。一実施形態では、マスターサーバ170が常駐するコンピュータ(たとえば中央コンピュータ150)からアクセスできる記憶媒体にリポジトリ450が配置される。このため、マスターサーバ170は必要に応じてリポジトリ450の内容にアクセスできる。
図6は、本発明に従うエージェント175の実施形態における複数の内部モジュールを示すブロック図である。エージェント175には、マスターサーバ170と対話しながら管理対象サーバマシン上で必要な処理を実行する複数のモジュールが組み込まれている。この実施形態におけるエージェント175に組み込まれているのは、複数のリソースハンドラモジュール460とエージェントモデル実行エンジン470である。また、展開されたリソース130の状態を表すファイルとディレクトリのためのバージョン管理記憶装置として機能するリソース状態デポ490を制御するリソース状態デポマネージャ480をエージェント175に組み込むこともできる。マスターサーバ170は、リポジトリ450の代わりに、あるいはリポジトリ450に加えて、各エージェント175に関連付けられたリソース状態デポ490を利用できる。
この実施形態におけるエージェント175には、リソースタイプ1、2、および4のリソース130を処理するリソースハンドラ460が組み込まれている。したがって、タイプ1および4のリソース130を持つコンポーネント「コンポーネントA495」をエージェント175が正しく処理できる。ただし、エージェントモデル実行エンジン470を大幅に変更することなく、エージェント175が新しいリソースタイプを処理する機能を獲得できるようにアプリケーション管理システム100を拡張することができる。より正確に言えば、たとえばマスターサーバ170を使用して新しいリソースハンドラ460をエージェント175に提供するだけでよい。たとえば、タイプ1、2、および3のリソースを持つ1つのコンポーネント上でエージェント175が処理しなければならない場合、タイプ3のリソースを処理できるリソースハンドラ460をマスターサーバ170がエージェント175に提供することができる。一実施形態では、新しいリソースハンドラを受け取り、そのリソースハンドラをエージェント175に提供するようにモデリングマネージャ420が設定される。特定のオペレーティングシステムでのみ動作するようにリソースハンドラ460が設計されていてよい。この場合、モデリングマネージャ420は、そのオペレーティングシステムがインストールされている管理対象サーバマシン160上で実行されているエージェント175に対してのみ、このようなリソースハンドラ460を提供することができる。
図5と図6に示したように、アプリケーションビルダー400、アプリケーションマネージャ410、モデリングマネージャ420、および状態マネージャ430の各モジュールが、アプリケーションの作成プロセスと管理プロセスを実行するモデル実行エンジン440を呼び出す。一実施形態では、モデル実行エンジン440はソースサーバマシンからのリソース取り込み、複数のターゲットサーバマシンへのアプリケーション展開、およびターゲットサーバマシン上に展開されたアプリケーションの解析を実行できる。
リソース取り込み:リソースタイプに応じて、モデル実行エンジン440は選択されたソースサーバマシン135から1つのリソースを取り込むことができる。取り込みを行うために、モデル実行エンジン440は選択されたソースサーバマシン135上のリソース状態140全体をリード処理、(必要であれば)リード処理したデータを特定形式のファイルなどに変換する。一実施形態では、ファイル形式はソースサーバマシン135のファイルシステムまたはオペレーティングシステムに依存しない。別の実施形態では、リソース状態がデータベース内のエントリに変換される。さらに代替的に、特定の管理手順に関連するリソース状態140の一部のみ取り込めばよい。次に、ファイルをリポジトリ450に格納できる。たとえば、リソースタイプ”IIS Web application”を持つリソースの場合、モデル実行エンジン440はIISメタベース(IISウェブサーバの設定データベース)の特定部分をリード処理し、その内容をXMLファイルに変換することができる。
一実施形態では、モデル実行エンジン440は選択されたソースサーバマシン135上のエージェント175に対する命令を生成できる。次に、エージェントモデル実行エンジン470はその命令を実行してリソース状態をリード処理し、(必要であれば)読み取ったデータを特定の形式に変換し、リポジトリ450への格納のために結果としてもたらされた状態情報をマスターサーバ170に転送することができる。
展開:モデル実行エンジン440を使用して、一組のターゲットサーバマシン110にアプリケーションを展開することもできる。アプリケーションを展開するために、モデル実行エンジン440はたとえばリソース状態を示すファイルからの設定情報を利用して、サーバを設定するための値を提供する。たとえば、上述のリソースタイプ”IIS Web application”用のXMLファイルをリード処理し、その値を設定値としてターゲットサーバマシン110上のIISメタベースに挿入することができる。さらに、モデル実行エンジン440は展開後のリソース状態を取り込み、各ターゲットサーバマシン110上のリソース状態デポ490内に格納することもできる。また、リソース状態をマスターサーバ170(たとえば中央コンピュータ150)上のリポジトリ450に格納することもできる。
一実施形態では、モデル実行エンジン440はターゲットサーバマシン110上のエージェント175に対する命令を生成できる。次に、エージェントモデル実行エンジン470はその命令を実行して、ターゲットサーバマシン110にアプリケーションを展開することができる。この命令には、展開されるリソースの取り込まれたリソース状態に基づいてたとえばターゲットサーバマシン110を設定するための命令を含むことができる。さらに、展開後のリソース状態を取り込むための命令、ターゲットサーバマシン110上のリソース状態デポ490に生じるリソース状態を格納する命令、およびまたは生じる状態情報をマスターサーバ170に転送する命令を含むこともできる。
解析:さらに、モデル実行エンジン440を利用して、展開済みのアプリケーションを解析することもできる。各リソースの現在のリソース状態を取り込み、先の時点でリソース状態(ターゲットサーバマシン110上のリソース状態デポ490に格納できる)または別の管理対象サーバマシン160上の現在のリソース状態(この状態を取り込んだ後でも)と比較することができる。
一実施形態では、モデル実行エンジン440はターゲットサーバマシン110上のエージェント175に対する命令を生成できる。次に、エージェントモデル実行エンジン470はこの命令を実行して、ターゲットサーバマシン110上のアプリケーションを解析することができる。この命令には、選択された各リソースの現在のリソース状態を取り込むための命令と現在のリソース状態をマスターサーバ170に返す命令などを含むことができる。さらに、現在のリソース状態(選択されたリソースの)を先のリソース状態と比較する命令を含むこともできる。一実施形態では、先のリソース状態をターゲットサーバマシン110上のリソース状態デポ490に格納できる。
一実施形態では、リソースタイプ固有の管理を実行するソフトウェアを含むモデリングレイヤーと、モデリングレイヤーによって提供されるプロセスを解釈し実行する第2のソフトウェアレイヤーを使用して、マスターサーバ170を実現できる。モデルのオブジェクトは、アプリケーション(そのリソースと、管理手順への参照をすべて含む)と各リソースタイプに関連付けられた一組の管理手順の両方を取り込むことができる。
モデリングレイヤーには、アプリケーションモデル、リソースハンドラ、およびリソースタイプテーブルを含むことができる。アプリケーションモデルは、アプリケーション管理システム100および関連する管理手順によって管理されるアプリケーションを記述できるモデルである。一実施形態では、このモデルに、アプリケーションのすべてのリソースへの参照と取り込まれたリソース状態情報を含むことができる。アプリケーションコンポーネントとは、アプリケーションの完全なモデルである。アプリケーションビルダー400はユーザによって選択されたリソースからコンポーネントを生成し、リソース状態取り込みの一部として生成されたすべての設定情報(たとえば設定ファイル)への参照を挿入することができる。代替的に、特定の管理手順に関する設定情報の一部のみ参照すればよい。
リソースハンドラは、所定タイプのリソース130の実際の動作を定義する。一実施形態では、リソースハンドラ460は特定のリソースタイプについて取り込み、展開、アンインストール、発見、解析などの複数の管理手順をカプセル化する。リソースハンドラ460をコンポーネントとして実現することもできる。だたし、一般にアプリケーションビルダー400を使用してユーザが作成するアプリケーションコンポーネントとは対照的に、これらのコンポーネントまたは「システムサービス」は通常、アプリケーション管理システム100に添付されている。システムサービスは、サポートされているリソースタイプに対してモデル化された管理手順の実現(たとえばスクリプト、Javaクラス)としての独自のリソースを持つことがある。同じターゲットサーバマシンに展開された別のコンポーネントからこれらの手順にアクセスできる。このため、これらの手順を呼び出せば、パラメータを渡すことができる。
一実施形態では、リソースハンドラをリソースタイプに関連付けるルックアップテーブルなどのデータ構造としてリソースタイプテーブルを実現できる。
コンポーネントとは、アプリケーションとリソースハンドラの両方を表すために使用できるモデルオブジェクトである。一実施形態では、componentという名前のXML要素によってコンポーネントを表すことができる。XML要素componentは、Name、SoftwareVersion、Target Platformsのような、1つ以上のXML属性を持つことができる。属性Nameは、コンポーネントの名前を参照する。属性SoftwareVersionは、コンポーネントのバージョン記述を参照する。属性Target Platformsは、このコンポーネントをインストールできる一組のOSプラットフォームを参照する。
XML要素componentは、ResourceList、ControlList、InstallStep、UninstallStep、Discoveryのような複数のXML子要素を含むこともできる。要素ResourceListは、タイプResourceのゼロ、1、または複数の独自のXML子要素を持つことができる。タイプResourceのXML要素は、アプリケーションへのリソース(たとえばバイナリファイル、設定ファイル、ディレクトリ、ウェブページ)またはリソースハンドラのリソース(たとえばスクリプト、Javaクラス)への参照であってよい。一実施形態では、タイプResourceの要素がResourceName、InstallPath、InstallPermissionのような1つ以上のXML属性を持つことができる。属性ResourceNameは、マスターサーバ170のリポジトリ450内のリソースの名前とディレクトリパスから成る文字列であってよい。属性InstallPathは、展開されたリソースの名前とパスから成る文字列であってよい。属性InstallPermissionは、一旦展開されると、展開されたリソースのアクセス許可を参照できる。
要素ControlListは、タイプControlまたはCapture−Controlの1つ以上のXML子要素を持つことができる。一実施形態では、タイプControlの要素はcomponentの制御サービスを定義し、Name(属性:制御サービスの名前)、ParameterList(子要素)、Plansteps(子要素)など1つ以上のXML属性および/またはXML子要素を持つことができる。タイプCapture−Controlの要素はcomponentの取り込み制御サービスを定義し、ParameterList(子要素)、Prepare(Plan step listなど独自の複数子要素を持つ1つの子要素)、Capture(取り込まれるファイルとディレクトリをリストする子要素)、Cleanup(Plan step listなど複数独自の子要素を持つ1つの子要素)など1つ以上のXML属性および/または子要素を持つことができる。
要素InstallStepは、ParameterList(子要素)、Plan step list(子要素)など1つ以上のXML属性および/またはXML子要素を持つことができる。要素UninstallStepは、ParameterList、Plan step listなど1つ以上のXML子要素を持つことができる。
一実施形態では、パラメータリストをParameterListという名前のXML要素で記述できる。要素ParameterListは、属性Name(パラメータの名前を参照)と要素Default(パラメータのデフォルト値を参照)を持つParamなど1つ以上のXML属性および/またはXML子要素を持つことができる。
一実施形態では、プランステップリストをPlan step listという名前のXML要素で記述できる。要素Plan step listは、DeployResources、UndeployResources、ExecNative、ExecJava、Call、CopyFile、ChackDependencyなど1つ以上のXML子要素を含むことができる。要素DeployResourcesは、この要素を含むコンポーネントのリソースを展開する。この展開は、該当するリソース130の各リソースタイプについて適切なリソースハンドラ460を呼び出してコンポーネントのXML属性(たとえばResourceName、InstallPath、InstallPermission)をパラメータとして使用することにより実行される。要素UndeployResourcesは、この要素を含むコンポーネントのアプリケーション(すなわちそのリソースすべて)をアンインストールする。
要素ExecNativeによって、ターゲットサーバマシン上で任意のコマンドの実行が可能になる。一実施形態では、要素ExecNativeはCommand、SuccessMatch、MatchSourceなど1つ以上のXML属性を含む。属性Commandは、実行されるコマンド(実行可能コマンドまたはシェルコマンドなど)を参照する文字列であってよい。属性SuccessMatchは、実行されたコマンドの出力を検証するための式であってよい。属性MatchSourceは、コマンド出力のソースであってよい。
要素ExecJavaによって、ターゲットサーバマシン上のエージェントによるJavaプログラムの実行が可能になる。一実施形態では、要素ExecJavaは、実行されるJavaを示すClassNameなどのXML子属性を含むことができる。要素Callは、同じターゲットサーバマシン上に展開された別のコンポーネントの制御サービスを呼び出す。一実施形態では、要素CallはName、ComponentName、ArgListなど1つ以上のXML属性および/またはXML子要素を含むことができる。属性Nameは、別のコンポーネントの制御サービスの名前を参照する。属性ComponentNameは、別のコンポーネントの名前を参照する。属性ArgListは、制御サービスの引数リストを参照する。
要素CopyFileによって、ターゲットサーバマシン上の1つ以上のファイルのコピーまたは移動が可能になる。一実施形態では、要素CopyFileはSource(コピーされる1つ以上のファイルの1つ以上のパス名を示す)、Destination(ファイルのコピー先のディレクトリまたはフォルダの1つ以上のパス名を示す)などのXML属性を含むことができる。
要素CheckDependencyは、別のコンポーネントがターゲットサーバマシンにインストールされているかどうかを決定する。一実施形態では、要素CheckDependencyは、ComponentName、ComponentVersion、InstallPath、BooleanDependencyなどのXML属性を含むことができる。属性ComponentNameは、依存関係をチェックするためにコンポーネントXML要素の名前を参照する。属性ComponentVersionは、依存関係を確認するためにコンポーネントXML要素のバージョンを参照する。属性InstallPathは、対応するコンポーネントのインストールパスを参照する。属性BooleanDependencyは、インストールされたコンポーネントのバージョンとの関係(たとえばequial、greater_than、greater_than_equal)を参照する。
一実施形態では、アプリケーション管理システム100はXML要素componentおよびPlan step listのXML Schemaを含む。XML Schemaとは、XML要素の必須XML下位要素、属性、およびデータ型を定義する標準化された手法である。
本発明の一実施形態では、アプリケーション管理システムがサポートする各リソースタイプ(ユーザに提供される各リソースタイプ)について少なくとも1つのリソースハンドラが存在する。リソースハンドラは、そのリソースタイプについて使用可能な管理手順すべてをカプセル化する。XML要素componentによってリソースハンドラをモデル化することができる。一実施形態では、リソースハンドラをモデル化するコンポーネントをシステムサービスと呼ぶ(アプリケーションをモデル化するコンポーネントと対照して)。一般に、システムサービスはXML子要素ControlListを含み、ControlListはこのリソースタイプとともに提供される各管理手順(たとえば展開、アンインストール)に対するXML子要素Controlと、各管理手順(および解析管理手順)についてリソース状態を管理するXML子要素Capture−Controlとを含む。
特定の管理手順に対する制御要素は、その管理手順を実現するためのプランステップを表すXML要素を直接または間接的に含むことができる。たとえば、いずれかのプランステップのタイプがExecNativeまたはExecJavaである場合、該当するスクリプトまたはJavaプログラムがXML要素Resourceによってモデル化され参照される。アプリケーション管理システムは、アプリケーション展開と同じ方法でターゲットサーバマシン上にリソースハンドラを展開することができる。これによって、リソースハンドラのリソース(アプリケーション管理システムに属するスクリプトとJavaプログラム)がターゲットサーバマシン上に展開され、対応するリソースタイプに対する管理手順がターゲットサーバマシン上で利用可能になる。したがって、アプリケーション管理システムは、そのリソースタイプを持つリソースを有するアプリケーションを管理できるまえに、ターゲットサーバマシン上にリソースハンドラを展開しなければならない。
図5に示したように、アプリケーションビルダー400はリソース130(および対応するリソースタイプ)への1つ以上の参照を受け取る(たとえばユーザから)。選択された各リソース(受け取った各リソース)について、アプリケーションビルダー400はモデル実行エンジン440のリソース取り込み(ResourceCapture)管理手順を呼び出し、選択されたリソース(および対応するリソースタイプ)への参照を入力として渡す。アプリケーションビルダー400は選択されたリソース(および、ファイル集合において取り込むことができるリソースの属性とリソース状態)を受け取り、そのリソース(およびその属性とリソース状態)をリポジトリ450に配置する。次にアプリケーションビルダー400は、アプリケーションに含めるために、選択されたすべてのリソースを参照するアプリケーションコンポーネントを作成できる。
アプリケーションコンポーネントを作成するために、アプリケーションビルダー400は、とりわけXMLヘッダーとリソースリスト(XML要素ResourceList)を持つcomponent XML要素を作成する。次に、各リソースについて、アプリケーションビルダー400はResource XML子要素をXML要素ResourceListに追加する。アプリケーションビルダー400は、リソース属性から属性InstallPathとInstallPermission(Resourceの)を引き出すことができる。アプリケーションビルダー400は、InstallStep XML子要素とDeployResourcesプランステップ(XML子要素として)を追加できる。また、アプリケーションビルダー400はUnInstallStep XML子要素とUndeployResourcesプランステップ(XML子要素として)を追加することもできる。さらに、アプリケーションビルダーはDiscovery XML子要素も追加できる。
さらに、ユーザは、追加XML子要素をコンポーネントに挿入することで、生じる結果としてアプリケーションコンポーネントをカスタマイズできる。たとえば、追加プランステップをアプリケーションコンポーネントのInstallStep要素に追加して、そのリソースそれぞれについてではなくアプリケーション全体の展開動作をモデル化することができる。
アプリケーションマネージャ410は、アプリケーションへの参照、管理手順、およびターゲットサーバの組を入力として受け取る(たとえばユーザから)。アプリケーションマネージャ410は、リポジトリ450からアプリケーションコンポーネント(参照されたアプリケーションに対応する)を取得する。次に、アプリケーションマネージャ410はモデル実行エンジン440を呼び出して、選択された管理手順を実行する。モデル実行エンジン440の呼び出しには、アプリケーションに対応するcomponent XML要素、実行される管理手順のタイプ、アプリケーション管理について選択された一組のターゲットサーバマシン110のパラメータが含まれる。
モデル実行エンジン440は、以下の1つ以上を入力として受け取る。(1)実行される管理手順のタイプ、(2)アプリケーションに対応するcomponent XML要素、(3)リソースおよび/またはリソースタイプの指定、(4)そこからリソースおよびリソース状態を取得すべきソースサーバマシンの一組、(5)管理操作が実行されるターゲットサーバマシンの一組。
本発明の一実施形態では、モデル実行エンジン440をメインプログラムと複数のサブルーチンに組み込むことができる。一実施形態では、メインプログラムは各ターゲットサーバマシンの一組について以下の機能を実行できる。各リソースタイプ(直接入力によって受け取られた場合でもcomponentによって参照された場合でも)について、メインプログラムはリソースタイプテーブルを検索して該当するリソースハンドラを決定する。メインプログラムはターゲットサーバマシン上のエージェントと対話して、リソースハンドラがターゲットサーバマシンにインストールされているかどうかを決定できる。リソースハンドラがインストールされていない場合、およびXML属性targetPlatformsにターゲットサーバマシンのプラットフォームが含まれている場合、メインプログラムはリソースハンドラXMLコンポーネントを入力として、execute_InstallStepサブルーチンを呼び出す。この手順によって、ターゲットサーバマシン上のエージェントがアプリケーションを管理する装備が完全に整っていることが保証される。
選択された管理手順が”deploy”である場合、メインプログラムはアプリケーションコンポーネントとターゲットサーバマシンを入力として、execute_InstallStepサブルーチンを呼び出す。また、メインプログラムはアプリケーションコンポーネントとターゲットサーバを入力として、execute_Snapshotサブルーチンを呼び出すこともできる。このサブルーチン呼び出しによって、展開直後のアプリケーション状態を取り込むことができる。後で、必要に応じて別の管理手順からこの展開後状態にアクセスできることが保証される。
管理手順が”uninstall”である場合、メインプログラムはアプリケーションコンポーネントとターゲットサーバマシンを入力として、execute_UnInstallStepサブルーチンを呼び出す。管理手順が”analyze”である場合、メインプログラムはアプリケーションコンポーネントとターゲットサーバマシンを入力として、execute_Analysisサブルーチンを呼び出す。管理手順が”caputure”である場合、メインプログラムはリソースタイプとターゲットサーバマシンを入力として、execute_Captureサブルーチンを呼び出す。
一実施形態では、execute_InstallStepサブルーチンはXML要素InstallStepsの各プランステップについて以下の機能を実行できる。プランステップがDeployResourcesである場合、componentの各XML子要素Resourceについて、execute_InstallStepサブルーチンは(1)リポジトリ450からリソースとその属性を取り出し、(2)リソースタイプを決定し(リソースタイプは次にリソース属性として格納される)、(3)リソースタイプテーブルを検索して該当するリソースハンドラを決定することができる。次に、execute_InstallStepサブルーチンは選択されたリソースハンドラ490を以下のように使用できる。すなわち、XML要素Control(”deploy”という名前の)を構文解析し、このXML要素内の各プランステップについてターゲットサーバマシンを入力として、execute_Plan_Stepサブルーチンを呼び出す。DeployResources以外のプランステップについて、execute_InstallStepはexecute_Plan_Stepサブルーチンを呼び出すことができる。
一実施形態では、execute_SnapshotサブルーチンはcomponentのResource XML子要素それぞれについて以下の機能を実行できる。execute_Snapshotサブルーチンは、リソースタイプ(たとえば、リソース属性としてリポジトリ450に格納されたリソースタイプ)および/または対応するリソースハンドラ(リソースタイプテーブルの検索により)を決定することができる。
また、execute_SnapshotサブルーチンはリソースハンドラのCapture−Control XML要素の各プランステップについて以下の機能を実行できる。XML要素Prepareの各プランステップについて、execute_Snapshotサブルーチンはターゲットサーバマシンを入力として、execute_Plan_Stepサブルーチンを呼び出す。たとえば、このプランステップは、データベースのような構造(Microsoft IISメタベース、データベースなど)に格納された設定情報をXMLプランステップCaptureがアクセスできるファイル形式に変換することができる。execute_Plan_Stepサブルーチンはリソース名を入力として、ターゲットサーバマシンのエージェント上で実行されているリソース状態デポマネージャのcreate_stateサブルーチンを呼び出すことができる。execute_Plan_Stepサブルーチンは、XMLプランステップCaptureで参照されるファイルとディレクトリそれぞれについてリソース状態デポマネージャのadd_to_stateサブルーチンを呼び出すこともできる。XML要素Cleanupの各プランステップについて、execute_Snapshotサブルーチンはターゲットサーバマシンを入力として、execute_Plan_Stepサブルーチンを呼び出すことができる。たとえば、Prepareプランステップで作成されたファイルをここで削除することができる。
一実施形態では、execute_UnInstallStepサブルーチンは、XML要素UninstallStep内の各プランステップについて以下の機能を実行できる。プランステップがUndeployResourcesである場合、componentのXML子要素Resourceそれぞれについて、execute_UnInstallStepサブルーチンはリソース状態デポマネージャ480のretrieve_state_informationサブルーチンを呼び出してリソース状態情報を取得し、リソースのリソースタイプ(リソース属性として格納された)および/または対応するリソースハンドラ(リソースタイプテーブルを検索して)を決定することができる。さらに、execute_UnInstallStepサブルーチンはリソースハンドラ490を以下のように使用することができる。すなわち、XML要素Controlの各プランステップ(”un−install”という名前の)について、execute_UnInstallStepサブルーチンはターゲットサーバマシンおよび/または状態情報を入力として、execute_Plan_Stepサブルーチンを呼び出すことができる。一実施形態では、この入力情報をXML要素ParameterList内に提示することができる。代替的には、UndeployResources以外のプランステップについて、execute_UnInstallStepサブルーチンはexecute_Plan_Stepサブルーチンを呼び出すことができる。
一実施形態では、execute_Analysisサブルーチンは、componentのResource XML子要素それぞれについて以下の機能を実行できる。execute_Analysisサブルーチンは、リソースタイプ(リソース属性として格納された)および/または対応するリソースハンドラ(リソースタイプテーブルを検索して)を決定できる。さらに、execute_Analysisサブルーチンはリソースへの参照を入力として、ターゲットサーバマシンのエージェント上で実行されているリソース状態デポマネージャからデータを取得することもできる。このプロセスで、たとえば一組のファイルとディレクトリを取得することができる。execute_Analysisサブルーチンは、アプリケーションの各リソースのレコードを更新できるexecute_Snapshotサブルーチンを呼び出すこともできる。
また、execute_Analysisサブルーチンは、componentのResource XML子要素それぞれについて以下の機能を実行できる。execute_Analysisサブルーチンはリソース名を入力として、リソース状態デポマネージャからretrieve_stateサブルーチンを呼び出すことができる。このプロセスで、たとえば一組のファイルとディレクトリを取得できる。次に、ファイルとディレクトリそれぞれについて、execute_Analysisサブルーチンは2つのバージョンを比較し、比較結果をレポートに追加することができる。
一実施形態では、execute_Captureサブルーチンは、リソースタイプ(リソース属性として格納された)および/または対応するリソースハンドラ(リソースタイプテーブルを検索して)を決定することができる。また、対応するリソースハンドラのCapture−Control XML要素の各プランステップについて、execute_Captureサブルーチンは以下の機能を実行できる。XML要素Prepareの各XML要素について、execute_Captureサブルーチンはターゲットサーバマシンを入力として、execute_Plan_Stepサブルーチンを呼び出す。execute_Captureサブルーチンは、XML要素Captureで参照されるファイルとディレクトリそれぞれを呼び出す側の手順に返すことができる。また、XML要素Cleanupの各XML要素について、execute_Captureサブルーチンはターゲットサーバマシンを入力として、execute_Plan_Stepサブルーチンを呼び出す。
一実施形態では、execute_Plan_Stepサブルーチンは以下の機能を実行できる。execute_Plan_Stepサブルーチンは、実行される実際のプランステップに応じて様々な入力を処理できる。たとえば、プランステップがExecNativeである場合、execute_Plan_StepサブルーチンはXML属性の列(Command、SuccessMatchなど)をエージェントに渡すことができる。この例では、エージェントが適切なコマンドラインインタプリタ(シェルなど)でCommand属性を実行し、その結果をSuccessMatch評価の実行のために返す。たとえばプランステップがExecJavaである場合、execute_Plan_StepサブルーチンはXML属性の列(ClassName、InputFileなど)を、この例では指示されたJavaプログラムを実行するエージェントに渡すことができる。たとえばプランステップがCheckDependencyである場合、execute_Plan_Stepサブルーチンは、エージェントが常駐する管理対象サーバマシン上にアプリケーションが存在するかどうかをエージェントが発見する命令(たとえば、ファイルとディレクトリの操作)を生成することができる。この命令ではName、InstallPathなどの値を使用できる。
本発明の一実施形態では、モデリングマネージャ420はリソースタイプテーブルとリソースハンドラコンポーネントを管理できる。モデリングマネージャ420は、本発明のアプリケーション管理システムを拡張可能およびカスタマイズ可能にするメソッドをカプセル化することができる。モデリングマネージャ420を使用すれば、ユーザは1つ以上のサブルーチン(add_resource_type、update_resource_type、およびremove_resource_type)を呼び出すことができる。
一実施形態では、サブルーチンadd_resource_typeは入力としてリソースタイプと対応するリソースハンドラを受け取る。サブルーチンadd_resource_typeは新しいエントリをリソースタイプテーブルに追加し、リソースタイプを使用して、新たに追加されたリソースハンドラにマッピングすることができる。サブルーチンadd_resource_typeは、リソースハンドラコンポーネントのリソース(たとえばスクリプト、Javaプログラム)をリポジトリ450に追加することもできる。次に、新しいリソースハンドラをアクティブなリソースハンドラの組に追加することができる。
一実施形態では、サブルーチンupdate_resource_typeは入力としてリソースタイプと対応するリソースハンドラを受け取る。サブルーチンupdate_resource_typeは、新しいリソースハンドラにマッピングするようにリソースタイプテーブル内のリソースタイプのマッピングを変更することができる。このため、新しいリソースハンドラは「アクティブなシステムサービス」となり、古いリソースハンドラは非アクティブとなる。サブルーチンupdate_resource_typeは、リソースハンドラコンポーネントのリソース(たとえばスクリプト、Javaプログラム)をリポジトリ450に追加することもできる。次に、サブルーチンupdate_resource_typeは管理手順”deploy”、新しいリソースハンドラ、およびターゲットサーバマシンの組を入力として、モデル実行エンジン440のメインプログラムを呼び出すことができる。さらに、同じリソースタイプについてリソースハンドラが管理対象サーバマシン上に先に展開されている場合、サブルーチンupdate_resource_typeはその管理対象サーバマシンをターゲットサーバマシンの組に含めることができる。
一実施形態では、サブルーチンremove_resource_typeは入力としてリソースタイプを受け取る。サブルーチンremove_resource_typeは、リソースタイプテーブルからリソースタイプのエントリを削除できる。次に、サブルーチンremove_resource_typeは管理手順”uninstall”と一組のターゲットサーバマシンを入力として、モデル実行エンジン440のメインプログラムを呼び出すことができる。さらに、同じリソースタイプについてリソースハンドラが管理対象サーバマシン上に先に展開されている場合、サブルーチンremove_resource_typeはその管理対象サーバマシンを一組のターゲットサーバマシンに含めることができる。
図6に示したように、一実施形態では、管理手順によって管理対象アプリケーションそれぞれの状態の履歴をリソース状態デポ490に格納することができる。たとえばファイルの集まりとして状態を格納できる。各リソースタイプについて、状態情報は、所定の形式の様々なファイルの集まりであってよい。たとえば、リソースタイプ”IIS Web application”のリソースの場合、状態情報として、IISメタベース(IISウェブサーバの設定データベース)内のリソースの関連コンフィギュレーション設定を反映するXMLファイルを含むことができる。管理手順によって、このXMLファイルをリード処理、リソースの実際の設定を反映するように変更することができる。
さらに、エージェント175は、リソースに関連付けられたすべての管理手順に代わってエージェント175上のリソース状態デポを管理するリソース状態デポマネージャ480を含むことができる。一実施形態では、リソース状態デポマネージャ480は1つ以上のサブルーチン(create_state、add_to_state、retrieve_state_information、retrieve_state、およびdelete_state)を含むことができる。
一実施形態では、サブルーチンcreate_stateは入力としてリソース名を受け取る。次に、サブルーチンcreate_stateはそのリソース名に関連付けられた空のレコードを作成できる。サブルーチンadd_to_stateは、入力としてリソース名と要素名を受け取る。次に、サブルーチンadd_to_stateは要素(たとえばファイル、ディレクトリ)をレコードに追加できる。サブルーチンretrieve_state_informationは、入力としてリソース名を受け取る。次に、サブルーチンretrieve_state_informationは各要素(たとえばファイル、ディレクトリ)の参照および/または属性を呼び出す側のプロセスに返すことができる。サブルーチンretrieve_stateは、入力としてリソース名を受け取る。次に、サブルーチンretrieve_stateは各要素(たとえばファイル、ディレクトリ)を呼び出す側のプロセスに返すことができる。サブルーチンdelete_stateは、入力としてリソース名を受け取る。次に、サブルーチンdelete_stateはリソース状態デポ490からレコード(およびその要素すべて)を削除できる。
Microsoft Windowsプラットフォーム用の財務アプリケーションをモデル化するコンポーネントの例示部分を表1に示している。このコンポーネント(部分)には、IISウェブアプリケーション(FMStocks2000)とCOM PLUSコンポーネント(FMStocks2000core)という2つのリソースが含まれている。この例では、InstallStep XML要素に以下の3つのプランステップが含まれる。(1)別のコンポーネント(”serviceHandler”)の”stop”という名前の制御サービスの呼び出し、(2)IIS WebとCOM Plusの両方のリソースタイプについてリソースハンドラの制御サービス”deploy”を呼び出すdeployResourcesプランステップ、(3)別のコンポーネント(”serviceHandler”)の”stop”という名前の制御サービスの呼び出し。第1と第3のプランステップは、アプリケーション構築時のユーザカスタマイズの結果である。
Figure 2004158012
リソースタイプ”IIS Web”のリソースハンドラ(「システムサービス」)の例示的な部分を表2に示している。このコンポーネント(部分)には、Windowsホスティングスクリプトのディレクトリである1つのリソース”meta”が含まれている。InstallStep XML要素は、このディレクトリをターゲットサーバ上のどこに配置するかをガイドする。controlList XML要素”install”は、”meta”ディレクトリから特定のスクリプト”metaImport”を呼び出す。この実施形態では、タイプが”IIS Web”のリソースすべての設定データが、ターゲットサーバマシン上のデータベースのような構造(「メタベース」)に格納される。このスクリプトは、リソースの設定をターゲットサーバマシン上の実際のメタベースに結合する。この設定データは、コンポーネントの作成時にアプリケーションによって取り込みされたものであり、明確な形式でファイルに格納されている。このファイルは、”metaImport”スクリプトによってリード処理される。
Figure 2004158012
例を示し添付図面と合わせて本発明を詳述してきたが、多くの変更と修正を、本発明の精神と範囲から逸脱することなく実施できることは当業者にとって理解されるものである。したがって、このような変更と修正が本発明の範囲から逸脱しない限り、このような変更と修正は本発明に含まれるものとみなすべきである。
本発明による従うアプリケーション管理システムの実施形態を示すブロック図である。 本発明の実施形態に従ってアプリケーションを管理できるコンピュータネットワークの概略図である。 本発明に従うアプリケーション作成プロセスの実施形態を示す流れ図である。 本発明に従うアプリケーション管理プロセスの実施形態を示す流れ図である。 本発明に従うマスターサーバの実施形態における複数の内部モジュールを示すブロック図である。 本発明に従うエージェントの実施形態における複数の内部モジュールを示すブロック図である。
符号の説明
100 アプリケーション管理システム
110 ターゲットサーバマシン
120 ユーザ入力
130 リソース
135 ソースサーバマシン
140 リソース状態
150 中央コンピュータ
155 通信ネットワーク
160 管理対象サーバマシン、管理対象サーバコンピュータ
170 マスターサーバ
175 エージェント
180 ユーザインタフェース
400 アプリケーションビルダー
410 アプリケーションマネージャ
420 モデリングマネージャ
430 状態マネージャ
440 モデル実行エンジン
450 リポジトリ
460 リソースハンドラ(モジュール)
470 エージェントモデル実行エンジン
480 リソース状態デポマネージャ
490 リソース状態デポ
495 コンポーネントA

Claims (77)

  1. 第1のコンピュータによって実行可能なアプリケーション管理方法であって、
    前記アプリケーションに含めるために利用可能なリソース群の中から選択された、第2のコンピュータ上に展開されている第1のリソースの情報を、前記第1のコンピュータが受け取るステップと、
    前記第1のリソースのリソース状態を取得するための命令群を、前記第1のコンピュータが生成するステップと、
    前記リソース状態を前記第2のコンピュータから取得する処理が前記第2のコンピュータ上で実行されるように、前記第2のコンピュータに前記命令群を与えるステップと、
    前記第1のコンピュータが、前記リソース状態を前記第2のコンピュータから受け取るステップと、を含み、
    前記命令群は、前記第1のリソースのリソースタイプに基づくものである、方法。
  2. 前記第1のリソースのリソースタイプの指定を前記第1のコンピュータが受け取るステップを更に含む、請求項1記載の方法。
  3. 前記第1のリソースのリソースタイプを決定するステップを更に含む、請求項1記載の方法。
  4. 前記命令群は、前記第2のコンピュータから前記第1のリソースを取得するための命令を更に含み、
    前記第2のコンピュータから前記第1のリソースを受け取るステップを更に含む、請求項1記載の方法。
  5. 管理の対象となるターゲットコンピュータの選択結果を前記第1のコンピュータが受け取るステップと、
    前記第1のリソース及び前記リソース状態に基づいて、当該選択された前記ターゲットコンピュータ上の前記アプリケーションを管理するための命令群を、前記第1のコンピュータが生成するステップと、
    前記ターゲットコンピュータ上で前記アプリケーションの管理が実行されるように、前記ターゲットコンピュータに前記命令群を与えるステップと、
    を含む請求項1記載の方法。
  6. 前記アプリケーションを管理するための前記命令群は、
    前記ターゲットコンピュータ上で前記アプリケーションを展開する命令、前記ターゲットコンピュータ上で前記アプリケーションを再設定する命令、及び前記ターゲットコンピュータ上で前記アプリケーションをアップグレードする命令からなる群から選択される命令を含む、請求項5記載の方法。
  7. 前記リソース状態を前記第1コンピュータ上に格納するステップを更に含む、請求項1記載の方法。
  8. 前記リソース状態を形成する設定情報は、前記リソースタイプに基づくものである、請求項1記載の方法。
  9. 前記設定情報は、前記第2コンピュータのオペレーティングシステムに依存しないものである、請求項8記載の方法。
  10. 前記リソース状態を取得するための前記命令群は、少なくとも1つのファイルに前記リソース状態を格納するための命令を含み、
    前記リソース状態を含む前記少なくとも1つのファイルを前記第2コンピュータから受け取るステップを更に含む、請求項1記載の方法。
  11. 前記リソース状態を取得するための前記命令群は、データベースに前記リソース状態を格納するための命令を含み、
    前記リソース状態を含む前記データベースを前記第2コンピュータから受け取るステップを更に含む、請求項1記載の方法。
  12. 前記アプリケーションに含めるために利用可能な前記リソース群の中から選択された、第3のコンピュータ上に展開されている第2のリソースの情報を、前記第1のコンピュータが受け取るステップと、
    当該選択された第2のリソースのリソース状態を取得するための第2の命令群を、前記第1のコンピュータが生成するステップと、
    前記第2のリソースの前記リソース状態を取得する処理が前記第3のコンピュータ上で実行されるように、前記第3のコンピュータに前記第2の命令群を与えるステップと、
    前記第1のコンピュータが、前記第2のリソースの前記リソース状態を前記第3のコンピュータから受け取るステップと、
    前記第1及び第2のリソース並びに前記アプリケーションを展開するための命令を含み、前記アプリケーションをターゲットコンピュータに展開するためのアプリケーションパッケージを、前記第1のコンピュータが生成するステップと、を含み、
    前記第2の命令群は、前記第2のリソースのリソースタイプに基づくものであり
    前記アプリケーションを展開するための前記命令は、前記第1及び第2のリソースの前記リソース状態に基づくものである、請求項1記載の方法。
  13. 前記アプリケーションに含めるために利用可能な前記リソース群の中から選択された、第2のコンピュータ及び第3のコンピュータ上に展開されている第2のリソースの情報を、前記第1のコンピュータが受け取るステップと、
    前記第2のコンピュータ及び前記第3のコンピュータのうち、リソース状態を取得するために選択された何れか1つの情報を前記第1のコンピュータが受け取るステップと、
    前記第2のリソースのリソース状態を取得するための第2の命令群を前記第1のコンピュータが生成するステップと、
    前記第2のリソースの前記リソース状態を取得する処理が前記第2のコンピュータ及び前記第3のコンピュータのうち選択された何れか一方のコンピュータ上で実行されるように、当該選択された一方のコンピュータに前記第2の命令群を与えるステップと、
    前記第1のコンピュータが、前記第2のリソースの前記リソース状態を当該選択された一方のコンピュータから受け取るステップと、を含み、
    前記第2の命令群は、前記第2のリソースのリソースタイプに基づくものである、請求項1記載の方法。
  14. 管理の対象となるターゲットコンピュータの選択結果を前記第1のコンピュータが受け取るステップと、
    前記第1及び第2のリソース並びに前記アプリケーションを管理するための命令を含み、前記アプリケーションをターゲットコンピュータ上で管理するためのアプリケーションパッケージを、前記第1のコンピュータが生成するステップと、を含み、
    前記アプリケーションを管理するための前記命令は、前記第1及び第2のリソースの前記リソース状態に基づくものである、請求項13記載の方法。
  15. 前記アプリケーションを管理するための前記命令は、
    前記ターゲットコンピュータ上で前記アプリケーションを展開する命令、前記ターゲットコンピュータ上で前記アプリケーションを再設定する命令、及び前記ターゲットコンピュータ上で前記アプリケーションをアップグレードする命令からなる群から選択される命令を含む、請求項14記載の方法。
  16. 通信ネットワークを介してマスターサーバに接続されたターゲットサーバマシン上のアプリケーションを管理する、前記マスターサーバによって実行可能な方法であって、
    前記アプリケーションに含めるために選択された複数のリソースの情報を、前記マスターサーバが受け取るステップと、
    前記複数のリソースに対応するリソース状態を取得するための命令を、前記マスターサーバが生成するステップと、
    前記リソース状態を取得する処理がソースサーバマシン上で実行されるように、前記複数のリソースのうち少なくとも1つを含む前記ソースサーバマシンに前記命令を与えるステップと、
    前記マスターサーバが、前記ソースサーバマシンから取得された前記リソース状態を受け取るステップと、
    前記複数のリソース並びに前記リソース状態に基づいて前記アプリケーションを展開するための命令を含み、前記アプリケーションを前記ターゲットサーバマシンに展開するためのアプリケーションパッケージを、前記マスターサーバが生成するステップと、を含み、
    前記複数のリソースの各々は、前記通信ネットワークを介して前記マスターサーバに接続された少なくとも1つの前記ソースサーバマシン上に展開されたものであり、
    前記命令は、前記複数のリソースの各々のリソースタイプに基づくものである、方法。
  17. 前記ターゲットサーバマシン上に前記アプリケーションが展開されるように、前記ターゲットサーバマシンに前記アプリケーションパッケージを与えるステップを更に含む、請求項16記載の方法。
  18. 前記アプリケーションを展開するための前記命令は、前記ターゲットサーバマシンを設定するための命令を含むものである、請求項16記載の方法。
  19. 前記アプリケーションを展開するための前記命令は、前記ターゲットサーバマシン上の前記複数のリソースの各々を設定するための命令を含むものである、請求項16記載の方法。
  20. コンピュータによって実行可能な方法であって、
    リソース及びそれに対応するリソースタイプを有し、ユーザによって選択されたアプリケーションの情報を、前記コンピュータが受け取るステップと、
    前記リソースに関連付けられたリソース状態を検索するステップと、
    前記リソースタイプに基づいて利用可能な管理手順群を決定するステップと、
    前記管理手順群をユーザの選択肢として与えるステップと、
    前記管理手順群の中から選択された管理手順の情報を前記コンピュータが受け取るステップと、
    当該選択された前記管理手順を実行するための命令群を前記コンピュータが生成するステップと、を含み、
    前記命令群は、前記リソース状態及び前記管理手順に基づくものである、方法。
  21. 前記命令群は、更に前記リソースタイプにも基づくものである、請求項20記載の方法。
  22. 前記命令群は、前記管理手順の実行後に、前記リソースのリソース状態を取得するための命令を含み、
    前記管理手順の実行後に、当該取得された前記リソース状態を受け取るステップを更に含む、請求項20記載の方法。
  23. 前記アプリケーションが展開されており、管理の対象となるターゲットコンピュータの選択結果を、前記コンピュータが受け取るステップと、
    当該選択された前記ターゲットコンピュータ上で前記管理手順が実行されるように、前記ターゲットコンピュータに前記命令群を与えるステップと、を更に含み、
    前記命令群は、更に前記ターゲットコンピュータにも基づくものである、請求項20記載の方法。
  24. 前記命令群は、前記ターゲットコンピュータから前記アプリケーションを削除するための命令を含むものである、請求項23記載の方法。
  25. 前記命令群は、前記ターゲットコンピュータ上の前記アプリケーションのリソース状態を決定するための命令を含むものである、請求項23記載の方法。
  26. 前記命令群は、前記ターゲットコンピュータ上の前記アプリケーションのリソース状態を比較するための命令を含むものである、請求項23記載の方法。
  27. 前記リソース及び前記リソース状態を前記ターゲットコンピュータに与えるステップを更に含む、請求項23記載の方法。
  28. 前記アプリケーションが展開されており、管理の対象となる複数のターゲットコンピュータの選択結果を、前記コンピュータが受け取るステップと、
    当該選択された前記ターゲットコンピュータの各々に、当該各コンピュータ上で前記管理手順が実行されるように生成された前記命令群を与えるステップと、を更に含み、
    前記命令群を生成するステップは、前記各ターゲットコンピュータに対して、前記管理手順を実行するための命令群を生成するステップを含み、
    前記命令群は、前記リソース状態、前記管理手順及び前記各ターゲットコンピュータに基づくものである、請求項20記載の方法。
  29. 通信ネットワークを介してマスターサーバに接続された管理対象サーバマシン上のアプリケーションを管理する、前記マスターサーバによって実行可能な方法であって、
    少なくとも1つのリソースを有するアプリケーションの選択結果を、前記マスターサーバが受け取るステップと、
    前記管理対象サーバマシンの中から前記アプリケーションが展開されている管理対象サーバマシンを決定するための命令を、前記マスターサーバが生成するステップと、
    前記アプリケーションが展開されている前記管理対象サーバマシンを特定する処理が実行されるように、前記管理対象サーバマシンに前記命令を与えるステップと、を含み、
    前記命令は、前記少なくとも1つのリソースに対応するリソースタイプに基づくものである、方法。
  30. 前記命令は、前記少なくとも1つのリソースに対応する現在のリソース状態を取得するための命令を更に含むものである、請求項29記載の方法。
  31. 前記命令は、展開された前記少なくとも1つのリソースのリソース状態を決定するとともに比較する命令を更に含むものである、請求項29記載の方法。
  32. アプリケーションを管理するための第1のコンピュータによって実行可能な命令が記録されている、コンピュータ読取可能な媒体であって、
    当該媒体に記録されている前記命令は、
    前記アプリケーションに含めるために利用可能なリソース群の中から選択された、第2のコンピュータ上に展開されている第1のリソースの情報を受け取るための命令と、
    前記第1のリソースのリソース状態を取得するための命令群を生成するための命令と、
    前記リソース状態を前記第2のコンピュータから取得する処理が前記第2のコンピュータ上で実行されるように、前記第2のコンピュータに前記命令群を与えるための命令と、
    前記リソース状態を前記第2のコンピュータから受け取るための命令と、を含み、
    前記命令群は、前記第1のリソースのリソースタイプに基づくものである、媒体。
  33. 前記第1のリソースのリソースタイプの指定を受け取るための命令を更に含む、請求項32記載の媒体。
  34. 前記第1のリソースのリソースタイプを決定するための命令を更に含む、請求項32記載の媒体。
  35. 前記命令群は、前記第2のコンピュータから前記リソースを取得するための命令を更に含むものである、請求項32記載の媒体。
  36. 管理対象となるターゲットコンピュータの選択結果を受け取るための命令と、
    前記第1のリソース及び前記リソース状態に基づいて、当該選択されたターゲットコンピュータ上の前記アプリケーションを管理するための命令群を生成するための命令と、
    前記ターゲットコンピュータ上で前記アプリケーションの管理が実行されるように、前記ターゲットコンピュータに前記命令群を与えるための命令と、を更に含む、請求項32記載の媒体。
  37. 前記アプリケーションを管理するための前記命令群は、
    前記ターゲットコンピュータ上で前記アプリケーションを展開する命令、前記ターゲットコンピュータ上で前記アプリケーションを再設定する命令、及び前記ターゲットコンピュータ上で前記アプリケーションをアップグレードする命令からなる群から選択される命令を含む、請求項36記載の媒体。
  38. 前記リソース状態を形成する設定情報は、前記リソースタイプに基づくものであり、前記第2のコンピュータのオペレーティングシステムには依存しないものである、請求項32記載の媒体。
  39. 前記リソース状態を取得するための前記命令群は、少なくとも1つのファイルに前記リソース状態を格納するための命令を含むものである、請求項32記載の媒体。
  40. 前記リソース状態を取得するための前記命令群は、データベースに前記リソース状態を格納するための命令を含むものである、請求項32記載の媒体。
  41. 当該媒体に記録されている前記命令は、
    前記アプリケーションに含めるために利用可能な前記リソース群の中から選択された、第3のコンピュータ上に展開されている第2のリソースの情報を受け取るための命令と、
    当該選択された第2のリソースのリソース状態を取得するための第2の命令群を生成するための命令と、
    前記第2のリソースの前記リソース状態を取得する処理が前記第3のコンピュータ上で実行されるように、前記第3のコンピュータに前記第2の命令群を与えるための命令と、
    前記第2のリソースの前記リソース状態を受け取るための命令と、
    前記第1及び第2のリソース並びに前記アプリケーションを展開するための命令を含み、前記アプリケーションをターゲットコンピュータに展開するためのアプリケーションパッケージを生成するための命令と、を更に含み、
    前記第2の命令群は、前記第2のリソースのリソースタイプに基づくものであり、
    前記アプリケーションを展開するための前記命令は、前記第1及び第2のリソースの前記リソース状態に基づくものである、請求項32記載の媒体。
  42. 当該媒体に記録されている前記命令は、
    前記アプリケーションに含めるために利用可能な前記リソース群の中から選択された、第2のコンピュータ及び第3のコンピュータ上に展開されている第2のリソースの情報を受け取るための命令と、
    前記第2のコンピュータ及び前記第3のコンピュータのうち、リソース状態を取得するために選択された何れか1つの情報を受け取るための命令と、
    前記第2のリソースのリソース状態を取得するための第2の命令群を生成するための命令と、
    前記第2のリソースの前記リソース状態を取得する処理が前記第2のコンピュータ及び前記第3のコンピュータのうち選択された何れか一方のコンピュータ上で実行されるように、当該選択された一方のコンピュータに前記第2の命令群を与えるための命令と、
    前記第2のリソースの前記リソース状態を当該選択された一方のコンピュータから受け取るための命令と、を更に含み、
    前記第2の命令群は、前記第2のリソースのリソースタイプに基づくものである、請求項32記載の媒体。
  43. 前記第1及び第2のリソース並びに前記アプリケーションを展開するための命令を含み、前記アプリケーションをターゲットコンピュータに展開するためのアプリケーションパッケージを生成するための命令を更に含み、
    前記アプリケーションを展開するための前記命令は、前記第1及び第2のリソースの前記リソース状態に基づくものである、請求項42記載の媒体。
  44. 通信ネットワークを介してコンピュータに接続されたターゲットサーバマシン上のアプリケーションを管理するための前記コンピュータによって実行可能な命令が記録されている、コンピュータ読取可能な媒体であって、
    当該媒体に記録されている前記命令は、
    前記アプリケーションに含めるために選択された複数のリソースの情報を受け取るための命令と、
    前記複数のリソースに対応するリソース状態を取得するための第1の命令群を生成するための命令と、
    前記リソース状態を取得する処理がソースサーバマシン上で実行されるように、前記複数のリソースのうち少なくとも1つを含む前記ソースサーバマシンに前記第1の命令群を与えるための命令と、
    前記ソースサーバマシンから取得された前記リソース状態を受け取るための命令と、
    前記複数のリソース並びに前記リソース状態に基づいて前記アプリケーションを展開するための第2の命令群を含み、前記アプリケーションを前記ターゲットサーバマシンに展開するためのアプリケーションパッケージを生成するための命令と、を含み、
    前記複数のリソースの各々は、前記通信ネットワークを介して前記コンピュータに接続された少なくとも1つの前記ソースサーバマシン上に展開されたものであり、
    前記第1の命令群は、前記複数のリソースの各々のリソースタイプに基づくものである、媒体。
  45. 前記ターゲットサーバマシンが前記アプリケーションを展開できるように、前記アプリケーションパッケージを前記ターゲットサーバマシンに与えるための命令を更に含む、請求項44記載の媒体。
  46. 前記第2の命令群は、前記ターゲットサーバマシンを設定するための命令を含むものである、請求項44記載の媒体。
  47. 前記第2の命令群は、前記ターゲットサーバマシン上の前記複数リソースの各々を設定するための命令を含むものである、請求項44記載の媒体。
  48. コンピュータによって実行可能な命令が記録されているコンピュータ読取可能な媒体であって、
    当該媒体に記録されている前記命令は、
    リソース及びそれに対応するリソースタイプを有し、ユーザによって選択されたアプリケーションの情報を受け取るための命令と、
    前記リソースに関連付けられたリソース状態を検索するための命令と、
    前記リソースタイプに基づいて利用可能な管理手順群を決定するための命令と、
    前記管理手順群をユーザの選択肢として与えるための命令と、
    前記管理手順群の中から選択された管理手順の情報を受け取るための命令と、
    当該選択された前記管理手順を実行するための命令群を前記コンピュータが生成するステップと、を含み、
    前記命令群は、前記リソース状態及び前記管理手順に基づくものである、媒体。
  49. 前記命令群は、更に前記リソースタイプにも基づくものである、請求項48記載の媒体。
  50. 前記命令群は、前記管理手順の実行後に、前記リソースのリソース状態を取得するための命令を含むものである、請求項48記載の媒体。
  51. 当該媒体に記録されている前記命令は、
    前記アプリケーションが展開されており、管理の対象となるターゲットコンピュータの選択結果を、前記コンピュータが受け取るための命令と、
    当該選択された前記ターゲットコンピュータ上で前記管理手順が実行されるように、前記ターゲットコンピュータに前記命令群を与えるための命令と、を更に含み、
    前記命令群は、更に前記ターゲットコンピュータにも基づくものである、請求項48記載の媒体。
  52. 前記命令群は、前記ターゲットコンピュータから前記アプリケーションを削除するための命令を含むものである、請求項51記載の媒体。
  53. 前記命令群は、前記ターゲットコンピュータ上の前記アプリケーションのリソース状態を決定するための命令を含むものである、請求項51記載の媒体。
  54. 前記命令群は、前記ターゲットコンピュータ上の前記アプリケーションのリソース状態を比較するための命令を含むものである、請求項51記載の媒体。
  55. 当該媒体に記録されている前記命令は、前記リソース及び前記リソース状態を前記ターゲットコンピュータに与えるための命令を更に含む、請求項51記載の媒体。
  56. 通信ネットワークを介してコンピュータに接続された管理対象サーバマシン上のアプリケーションを管理する、前記コンピュータによって実行可能な命令が記録されている、コンピュータ読取可能な媒体であって、
    当該媒体に記録されている前記命令は、
    少なくとも1つのリソースを有するアプリケーションの選択結果を受け取るための命令と、
    前記管理対象サーバマシンの中から前記アプリケーションが展開されている管理対象サーバマシンを決定するための命令群を生成するための命令と、
    前記アプリケーションが展開されている前記管理対象サーバマシンを特定する処理が実行されるように、前記管理対象サーバマシンに前記命令群を与えるための命令と、を含み、
    前記命令群は、前記少なくとも1つのリソースに対応するリソースタイプに基づくものである、媒体。
  57. 前記命令群は、前記少なくとも1つのリソースに対応する現在のリソース状態を取得するための命令を更に含むものである、請求項56記載の媒体。
  58. 前記命令は、展開された前記少なくとも1つのリソースのリソース状態を決定するとともに比較する命令を更に含むものである、請求項56記載の媒体。
  59. 通信ネットワークを介してソースサーバマシンに接続されたマスターサーバを備えるアプリケーション管理システムであって、
    前記マスターサーバは、
    前記アプリケーションに含めるために利用可能なリソース群の中から選択された第1のリソースの情報を受け取るアプリケーションビルダーと、
    前記アプリケーションビルダーに接続されており、前記第1のリソースに対応するリソース状態を取得するための命令群を生成するモデル実行エンジンと、を有し、
    前記命令群は、前記第1のリソースのリソースタイプに基づくものであり、
    前記マスターサーバは、前記命令群を前記通信ネットワークを介して前記ソースサーバマシンに与えるのに適合している、システム。
  60. 前記マスターサーバは、
    前記リソース状態を格納するリポジトリと、
    前記ソースサーバマシンから前記リソース状態を受け取り、前記リソース状態を前記リポジトリに格納する状態マネージャと、を更に有する、請求項59記載のシステム。
  61. 前記マスターサーバは、前記第1のリソースのリソースタイプを決定し、前記リソースタイプを前記モデル実行エンジンに与えるモデリングマネージャを更に有する、請求項59記載のシステム。
  62. 前記ソースサーバマシン上で動作するエージェントを更に備え、
    前記エージェントは、
    あるリソースタイプで動作するように設定され、前記リソースタイプに関連付けられた前記命令群の一部を実行するリソースハンドラと、
    前記命令群のうちリソースに特有でない部分を実行するエージェント実行エンジンとを有する、請求項59記載のシステム。
  63. 前記モデリングマネージャは、第2のリソースタイプで動作するように設定された第2のリソースハンドラを受け取り、前記第2のリソースハンドラを前記エージェントに与えるのに適合している、請求項62記載のシステム。
  64. 前記モデリングマネージャは、第2のリソースタイプで動作するように設計された第2のリソースハンドラを受け取るのに適合しており、
    前記第2のリソースハンドラは、特定のオペレーティングシステム上で実行されるように設定されており、
    前記モデリングマネージャは、前記決定のオペレーティングシステム上で前記エージェントが実行される場合に、前記第2のリソースハンドラを前記エージェントに与えるのに適合している、請求項62記載のシステム。
  65. 前記命令群は、前記エージェントに前記リソース状態を読み取らせるとともに前記リソース状態を前記マスターサーバに転送させるための命令を含むものである、請求項62記載のシステム。
  66. 前記命令群は、前記エージェントに前記リソース状態を設定情報に変換させるための命令を含み、
    前記設定情報は、前記ソースサーバマシンのオペレーティングシステムに依存しないものである、請求項62記載のシステム。
  67. 前記モデリングマネージャは、選択された各リソースタイプに対応するリソースハンドラを前記エージェントに与えるのに適合している、請求項62記載のシステム。
  68. 前記エージェントは、
    前記ソースサーバマシン上に展開されているリソースに対応するリソース状態を格納するリソース状態デポと、
    前記リソース状態デポからリソース状態情報を取得するのに適合しているリソース状態デポマネージャと、を更に有する、請求項62記載のシステム。
  69. 通信ネットワークを介して複数のソースサーバマシンに接続されたマスターサーバを備えるアプリケーション管理システムであって、
    前記マスターサーバは、
    前記アプリケーションに含めるために利用可能なリソース群の中から選択された複数のリソースの情報を受け取るアプリケーションビルダーと、
    前記アプリケーションビルダーに接続されており、前記複数のリソースの各々のリソース状態を取得するための命令群を生成するモデル実行エンジンと、を有し、
    前記命令群は、前記複数のリソースの各々のリソースタイプに基づくものであり、
    前記マスターサーバは、前記通信ネットワークを介して、前記複数のリソースのうち少なくとも1つが展開されている前記ソースサーバマシンに前記命令群を与えるのに適合している、システム。
  70. 前記各ソースサーバマシン上で動作するエージェントを更に備え、
    前記モデル実行エンジンは、少なくとも1つのターゲットコンピュータ上の前記アプリケーションを管理するためのアプリケーションパッケージを生成するのに適合しており、
    前記アプリケーションパッケージは、前記複数のリソース並びに前記アプリケーションを管理するための命令を含み、
    前記命令は、前記複数のリソースの各々の前記リソース状態に基づくものである、請求項69記載のシステム。
  71. 前記アプリケーションを管理するための前記命令は、
    前記少なくとも1つのターゲットコンピュータ上で前記アプリケーションを展開する命令、前記少なくとも1つのターゲットコンピュータ上で前記アプリケーションを再設定する命令、及び前記少なくとも1つのターゲットコンピュータ上で前記アプリケーションをアップグレードする命令からなる群から選択される命令を含む、請求項69記載のシステム。
  72. 管理対象サーバマシン上のアプリケーションを管理するためのアプリケーション管理システムであって、
    通信ネットワークを介して前記管理対象サーバマシンに接続されたマスターサーバを備え、
    前記マスターサーバは、
    リソース及びそれに対応するリソースタイプを有するアプリケーションの選択結果を受け取り、利用可能な管理手順群をユーザの選択肢として与え、ユーザが選択した管理手順の情報を受け取るアプリケーションマネージャと、
    前記アプリケーションマネージャに接続され、当該選択された前記管理手順を実行するための命令を生成するモデル実行エンジンと、を有し、
    前記命令は、前記リソースのリソース状態に基づくものであり、
    前記マスターサーバは、前記命令を前記通信ネットワークを介して前記管理対象サーバマシンに提供するのに適合している、システム。
  73. 前記マスターサーバは、前記リソース状態を格納するリポジトリと、前記リポジトリを制御する状態マネージャとを更に有する、請求項72記載のシステム。
  74. 前記モデル実行エンジンは、更に、前記リソース及び前記リソース状態に基づいて、ターゲットコンピュータ上の前記アプリケーションを管理するための命令群を生成するのに適合している、請求項72記載のシステム。
  75. 前記アプリケーションを管理するための前記命令群は、
    前記ターゲットコンピュータ上で前記アプリケーションを展開する命令、前記ターゲットコンピュータ上で前記アプリケーションを再設定する命令、及び前記ターゲットコンピュータ上で前記アプリケーションをアップグレードする命令からなる群から選択される命令を含む、請求項74記載のシステム。
  76. 前記管理手順群は前記リソースタイプに基づくものである、請求項72記載のシステム。
  77. 前記管理手順群の中の管理手順は、前記リソースのモデルを変更することにより修正可能である、請求項76記載のシステム。
JP2003373067A 2002-11-05 2003-10-31 ソフトウェアアプリケーション管理のためのシステムおよび方法 Pending JP2004158012A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/288,241 US20040088397A1 (en) 2002-11-05 2002-11-05 System and method for management of software applications

Publications (1)

Publication Number Publication Date
JP2004158012A true JP2004158012A (ja) 2004-06-03

Family

ID=32175871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003373067A Pending JP2004158012A (ja) 2002-11-05 2003-10-31 ソフトウェアアプリケーション管理のためのシステムおよび方法

Country Status (3)

Country Link
US (1) US20040088397A1 (ja)
EP (1) EP1437657A3 (ja)
JP (1) JP2004158012A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508209A (ja) * 2005-09-08 2009-02-26 オートノミック・ソフトウェア・インコーポレーテッド モジュール方式のエージェントアーキテクチャ
US9836319B2 (en) 2014-10-02 2017-12-05 Fujitsu Limited Information sharing program, information sharing system and information sharing method

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
KR100685962B1 (ko) * 2003-03-03 2007-02-23 엘지전자 주식회사 홈 네트워크 시스템의 네트워크 정보 복원장치 및 방법
US7305418B2 (en) * 2003-11-05 2007-12-04 International Business Machines Corporation Selecting and showing copy pairs in a storage subsystem copy services graphical user interface
US7650344B2 (en) * 2004-02-09 2010-01-19 Coremetrics, Inc. System and method of managing software product-line customizations
JP4868733B2 (ja) * 2004-11-25 2012-02-01 キヤノン株式会社 構造化文書処理装置及び構造化文書処理方法、プログラム
US20060149615A1 (en) * 2004-12-31 2006-07-06 Keith Andrews Methods and systems to effect comprehensive customer relationship management solutions
US7995228B2 (en) * 2006-09-18 2011-08-09 Xerox Corporation Java 2 platform enterprise edition (J2EE) based web publishing
EP1909173B1 (en) * 2006-10-06 2010-02-24 Hewlett-Packard Development Company, L.P. Management of data of settings in an operating system of a computer
US8438560B2 (en) * 2006-11-07 2013-05-07 Hewlett-Packard Development Company, L.P. Resource assessment method and system
TR200906768T2 (tr) * 2007-03-22 2009-10-21 Telefonaktiebolaget Lm Ericsson (Publ) Çevrimiçi konfigürasyon yönetimi sistemi ve usulü.@
US20090055535A1 (en) * 2007-08-22 2009-02-26 International Business Machines Corporation Deploying resources in target server environments
US8782251B2 (en) * 2008-02-27 2014-07-15 Microsoft Corporation Automated configuration of network mode
US9922354B2 (en) 2010-04-02 2018-03-20 Apple Inc. In application purchasing
US20110246618A1 (en) 2010-04-02 2011-10-06 Apple Inc. Caching multiple views corresponding to multiple aspect ratios
US9110749B2 (en) * 2010-06-01 2015-08-18 Apple Inc. Digital content bundle
FR2961983B1 (fr) * 2010-06-25 2012-07-13 Nexter Systems Procede permettant le transfert d'une application logicielle sur un reseau.
US20120066669A1 (en) * 2010-09-14 2012-03-15 International Business Machines Corporation Creating a superseding software release
US8869135B1 (en) 2011-05-20 2014-10-21 Amazon Technologies, Inc. Deploying updates to an application during periods of off-peak demand
US8799888B1 (en) 2011-05-20 2014-08-05 Amazon Technologies, Inc. Updating an application
US8850419B1 (en) * 2011-05-20 2014-09-30 Amazon Technologies, Inc. Descaling computing resources
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9459859B2 (en) * 2014-01-31 2016-10-04 Dell Products L.P. Template derivation for configuration object management
US20160188733A1 (en) * 2014-12-29 2016-06-30 Quixey, Inc. Generating Recommendations Based on Clustered Application States
US20160357542A1 (en) * 2015-06-05 2016-12-08 Unisys Corporation Dynamic replacement of software components
US10057117B2 (en) 2016-08-28 2018-08-21 Airwatch Llc Systems for configuring and managing classroom devices
US10956197B2 (en) * 2017-12-13 2021-03-23 Citrix Systems, Inc. Virtual machine with an emulator manager for migration of synchronized streams of state data
CN111552778B (zh) * 2020-04-26 2024-05-14 北京达佳互联信息技术有限公司 音频资源管理方法、装置、计算机可读存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022738A (ja) * 1999-07-12 2001-01-26 Nec Corp ドキュメント自動作成システム、ドキュメント自動作成方法およびドキュメント自動作成用プログラムを記録した記録媒体
JP2002091772A (ja) * 2000-09-13 2002-03-29 Nec Corp ソフトウェア更新装置、ソフトウェア更新システム、その更新方法、及び更新プログラムを記録した記録媒体
US6366916B1 (en) * 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860012A (en) * 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5835777A (en) * 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US6272556B1 (en) * 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for migrating a client-server application (#5)
US6367075B1 (en) * 1996-07-24 2002-04-02 Marimba, Inc. Method and apparatus for producing instructions describing the removal of updates to a computer system
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
JP3938221B2 (ja) * 1997-06-04 2007-06-27 本田技研工業株式会社 工程情報管理システム
US6301707B1 (en) * 1997-09-30 2001-10-09 Pitney Bowes Inc. Installing software based on a profile
US6006035A (en) * 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US6327706B1 (en) * 1998-04-08 2001-12-04 Dell Usa, L.P. Method of installing software on and/or testing a computer system
JPH11312154A (ja) * 1998-04-28 1999-11-09 Nec Corp 協同作業支援システム及び記録媒体
US6314428B1 (en) * 1998-08-26 2001-11-06 International Business Machines Corporation Method and apparatus for application management in computer networks
US6289511B1 (en) * 1998-09-29 2001-09-11 Telephonaktiebolaget Lm Ericsson Method and system for distributing software in a telecommunications network
US6301708B1 (en) * 1998-11-12 2001-10-09 Hewlett-Packard Company Software installation process using abstract data and program files
US6360246B1 (en) * 1998-11-13 2002-03-19 The Nasdaq Stock Market, Inc. Report generation architecture for remotely generated data
US20010011265A1 (en) * 1999-02-03 2001-08-02 Cuan William G. Method and apparatus for deploying data among data destinations for website development and maintenance
US6446071B1 (en) * 1999-04-26 2002-09-03 International Business Machines Corporation Method and system for user-specific management of applications in a heterogeneous server environment
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
US6381631B1 (en) * 1999-06-03 2002-04-30 Marimba, Inc. Method and apparatus for controlling client computer systems
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US7685183B2 (en) * 2000-09-01 2010-03-23 OP40, Inc System and method for synchronizing assets on multi-tiered networks
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US20030182652A1 (en) * 2001-12-21 2003-09-25 Custodio Gabriel T. Software building and deployment system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366916B1 (en) * 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications
JP2001022738A (ja) * 1999-07-12 2001-01-26 Nec Corp ドキュメント自動作成システム、ドキュメント自動作成方法およびドキュメント自動作成用プログラムを記録した記録媒体
JP2002091772A (ja) * 2000-09-13 2002-03-29 Nec Corp ソフトウェア更新装置、ソフトウェア更新システム、その更新方法、及び更新プログラムを記録した記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新出 英明 外1名: "NTネットワークでWindows98を生かす:役立つ新機能もあるが、制約や機能不足も残る", 日経WINDOWS NT, vol. 第18号, CSND199801679009, 1 September 1998 (1998-09-01), pages 118 - 131, ISSN: 0000777795 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024783B2 (en) 2004-01-22 2011-09-20 Ryan Riley Modular agent architecture
JP2009508209A (ja) * 2005-09-08 2009-02-26 オートノミック・ソフトウェア・インコーポレーテッド モジュール方式のエージェントアーキテクチャ
US9836319B2 (en) 2014-10-02 2017-12-05 Fujitsu Limited Information sharing program, information sharing system and information sharing method

Also Published As

Publication number Publication date
EP1437657A3 (en) 2007-01-17
US20040088397A1 (en) 2004-05-06
EP1437657A2 (en) 2004-07-14

Similar Documents

Publication Publication Date Title
JP2004158012A (ja) ソフトウェアアプリケーション管理のためのシステムおよび方法
CA2481712C (en) A software distribution method and system
CN105657191B (zh) 一种基于Android系统的应用增量升级方法及系统
US8347263B1 (en) Repository including installation metadata for executable applications
US9542175B2 (en) Continuous deployment
US8122106B2 (en) Integrating design, deployment, and management phases for systems
US8407694B2 (en) System and method for facilitating installing software
US8037195B2 (en) Method and apparatus for managing components in an IT system
US7765542B2 (en) Method and system for describing and extracting application information
US20060020937A1 (en) System and method for extraction and creation of application meta-information within a software application repository
US7908580B2 (en) Connecting an integrated development environment with an application instance
US6389589B1 (en) Class store schema
US7684964B2 (en) Model and system state synchronization
EP1419632B1 (en) Network-based software extensions
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US9075596B2 (en) Deployment
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
US20030195921A1 (en) System and method for configurable software provisioning
US20050227683A1 (en) Apparatus and method for over the air software repair
US20080066051A1 (en) Managing application customization
US20100293541A1 (en) Simplifying installation of software modules on heterogeneous remote systems
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
US9442708B1 (en) System and method for installing, updating and uninstalling applications
US20020188643A1 (en) Method and system for a model-based approach to network management
JP2001356912A (ja) ソフトウェアのインストール/アップデート/アンインストールシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061003

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070911