(57)【特許請求の範囲】
【請求項１】
コンピュータに、
システムに含まれる複数の情報処理装置のそれぞれに定められた前記システムにおける役割と、前記複数の情報処理装置間における処理の依頼関係を記憶手段に記憶し、
複数のアプリケーションプログラムについての設定要求を受け付けた場合に、前記複数のアプリケーションプログラムのそれぞれの設定を、前記記憶手段に記憶された前記複数の情報処理装置のそれぞれに定められた前記システムにおける役割及び前記依頼関係に基づいて、依頼先となる情報処理装置よりも依頼元となる情報処理装置が先となる順序で、依頼先となる情報処理装置のアプリケーションプログラムについては、依頼元となる情報処理装置のアプリケーションプログラムの設定により発生した情報を用いて行う、
処理を実行させることを特徴とする設定プログラム。
【請求項２】
複数の情報処理装置のそれぞれに対するアプリケーションプログラムの設定結果を記憶し、設定に失敗した情報処理装置に対しては、次回以降のアプリケーションプログラムの更新処理を抑止する、
ことを特徴とする請求項１記載の設定プログラム。
【請求項３】
コンピュータが、
システムに含まれる複数の情報処理装置のそれぞれに定められた前記システムにおける役割と、前記複数の情報処理装置間における処理の依頼関係を記憶手段に記憶し、
複数のアプリケーションプログラムについての設定要求を受け付けた場合に、前記複数のアプリケーションプログラムのそれぞれの設定を、前記記憶手段に記憶された前記複数の情報処理装置のそれぞれに定められた前記システムにおける役割及び前記依頼関係に基づいて、依頼先となる情報処理装置よりも依頼元となる情報処理装置が先となる順序で、依頼先となる情報処理装置のアプリケーションプログラムについては、依頼元となる情報処理装置のアプリケーションプログラムの設定により発生した情報を用いて行う、
ことを特徴とする設定方法。
【請求項４】
システムに含まれる複数の情報処理装置のそれぞれに定められた前記システムにおける役割と、前記複数の情報処理装置間における処理の依頼関係を記憶する記憶手段と、
複数のアプリケーションプログラムについての設定要求を受け付けた場合に、前記複数のアプリケーションプログラムのそれぞれの設定を、前記記憶手段に記憶された前記複数の情報処理装置のそれぞれに定められた前記システムにおける役割及び前記依頼関係に基づいて、依頼先となる情報処理装置よりも依頼元となる情報処理装置が先となる順序で、依頼先となる情報処理装置のアプリケーションプログラムについては、依頼元となる情報処理装置のアプリケーションプログラムの設定により発生した情報を用いて行う設定手段と、
を有することを特徴とする設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションプログラムの設定を行うための設定プログラム、設定方法、および設定装置に関する。
【背景技術】
【０００２】
サーバで提供されるサービスには、複数のサーバアプリケーションが連携して動作することで提供されるものがある。たとえば、Ｗｅｂサービス機能、アプリケーションサービス機能、データベースサービス機能が連携して動作し、サービスを提供できる。【０００３】
なお、以下の説明において、機能の名称の後に「サーバ」を付けた場合、コンピュータ上に動作するアプリケーションソフトウェアによるサービス提供機能を指すこととする。また、「サーバコンピュータ」と呼んだ場合、サービス提供用のアプリケーションソフトウェアを実行するコンピュータを指すこととする。【０００４】
複数のサーバアプリケーションを多階層に関連付けた場合、クライアントからはＷｅｂサーバに対して処理要求が出される。Ｗｅｂサーバは、アプリケーションサーバに対して、その要求に応じた処理を依頼する。アプリケーションサーバは、処理の実行に際しデータベースアクセスの必要があれば、データベースサーバにアクセスし、必要なデータを取得する。【０００５】
このような、多階層システムでは、各サーバアプリケーションを複数のサーバコンピュータ上に、役割に応じて配置することができる。たとえば、Ｗｅｂサーバとアプリケーションサーバとを別のサーバコンピュータ上に配置する。各サーバアプリケーションが個別のサーバコンピュータ上で動作していれば、サーバアプリケーションの機能毎の負荷分散を行うなど、柔軟性の高いシステムを組むことができる。【０００６】
なお、複数のサーバコンピュータにアプリケーションが配置されていると、各アプリケーションの管理に多大な労力が必要となる。そこで、上位装置から下位装置に、置換用の資源と置換用ジョブストリームとを転送し、下位装置の資源の更新作業を自動的に行う技術が考えられている（たとえば、特許文献１参照）。
【特許文献１】特開平３−２３８５２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、複数のサーバコンピュータに対して、ユーザにサービスすべきアプリケーションを配置する場合、アプリケーションの配置処理を行う時期を、サーバコンピュータ間で一致させる必要がある。しかし、従来の技術では、サーバコンピュータ毎に、個別にアプリケーション配置の操作を行わなくてはならなかった。そのため、操作漏れ等の人為的ミスにより、サーバコンピュータへのアプリケーションの配置の同時性が保てないことがある。アプリケーションの配置が同時に行われないと、以下のような問題が生じる。【０００８】
たとえば、多階層システムでは、サービスを提供する機能毎の複数のアプリケーションは、互いに機能の整合性を保持していなければならない。そのため、互いに連携して動作するアプリケーションの配置は、一括して行う必要がある。多階層システムの一部のアプリケーションのみを更新してしまうと、他の機能との間で整合性が取れなくなる可能性がある。【０００９】
また、任意の機能を、複数のサーバコンピュータで並列処理している場合、アプリケーションの自動配置や自動更新を行うには、並列して動作するサーバコンピュータに対して、漏れなく各アプリケーションを配置する必要がある。すなわち、複数のサーバコンピュータで負荷分散をしながら、同じサービスを並列処理で提供する場合、どのサーバコンピュータで処理が実行されたとしても、処理の内容が同一でなければならない。もし、並列処理を行うサーバコンピュータ群に対するアプリケーションの更新処理に漏れがあると、並列処理を行うサーバコンピュータ間でアプリケーションの処理内容に不整合が生じてしまう。【００１０】
このように、並列処理を伴う多階層システムにおいて、サーバコンピュータ毎にアプリケーションの配置指示を個別に行っていたのでは、配置処理の操作漏れ等の人為的ミスが発生しやすくなる。その結果、システム内でのアプリケーション間の処理に不整合が生じる危険性があった。【００１１】
本発明はこのような点に鑑みてなされたものであり、多階層システムを構成する複数のアプリケーションの資源を、各アプリケーションを実行する複数のサーバコンピュータに対して一括で配置することができる設定プログラム、設定方法、および設定装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では上記課題を解決するために、図１に示すような機能をコンピュータに実行させるアプリケーション管理プログラムが提供される。このアプリケーション管理プログラムは、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのものである。アプリケーション管理プログラムを実行することで、コンピュータは図１に示される機能を有する。【００１３】
配置対象決定手段２は、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループ５，６，７それぞれに属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂが定義されたグループ管理情報１を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ５，６，７に属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂを、対応する機能を実現するためのアプリケーションの配置対象として決定する。アプリケーション配置手段４は、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ３ａ，３ｂ，３ｃを順次選択し、選択した配置データ３ａ，３ｂ，３ｃを、対応するアプリケーションの配置対象として決定されたサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂに対して転送し、アプリケーションの動作環境設定を行う。【００１４】
このようなアプリケーション管理プログラムを実行するコンピュータによれば、サービス環境の構築要求が入力されると、配置対象決定手段２により、グループ管理情報１が参照され、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ５，６，７に属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂが、対応する機能を実現するためのアプリケーションの配置対象として決定される。そして、アプリケーション配置手段４により、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ３ａ，３ｂ，３ｃが順次選択され、選択された配置データ３ａ，３ｂ，３ｃが、対応するアプリケーションの配置対象として決定されたサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂに対して転送され、アプリケーションの動作環境設定が行われる。【００１５】
また、上記課題を解決するために、コンピュータにより、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理方法において、配置対象決定手段が、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定し、アプリケーション配置手段が、提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行う、ことを特徴とするアプリケーション管理方法が提供される。【００１６】
また、上記課題を解決するために、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理装置において、コンピュータを、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定する配置対象決定手段と、提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行うアプリケーション配置手段と、を有することを特徴とするアプリケーション管理装置が提供される。
【発明の効果】
【００１７】
本発明では、サービス環境の構築要求に応じて、サービスを提供するための配置データの配置対象をサーバグループ単位で決定し、各サーバグループに属するサーバコンピュータに対してアプリケーションの配置データを一括して転送等するようにした。これにより、一回の操作入力により、多階層システムに配置されたアプリケーション資源を漏れなく配置することができ、アプリケーション間の不整合の発生が防止される。【００１８】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に適用される発明の概念図である。
【図２】実施の形態のシステム構成を示す図である。
【図３】本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。
【図４】サーバグループの例を示す図である。
【図５】メッシュ接続の例を示す図である。
【図６】ライン接続の例を示す図である。
【図７】管理サーバコンピュータの機能ブロック図である。
【図８】サーバ定義情報のデータ構造例を示す図である。
【図９】配置先情報群のデータ構造例を示す図である。
【図１０】ステータス情報群のデータ構造例を示す図である。
【図１１】配置可能サーバリスト群のデータ構造例を示す図である。
【図１２】配置失敗サーバリスト群のデータ構造例を示す図である。
【図１３】サーバグループ管理テーブルのデータ構造例を示す図である。
【図１４】サーバリスト群のデータ構造例を示す図である。
【図１５】配置成功サーバリスト群のデータ構造例を示す図である。
【図１６】アプリケーション情報群のデータ構造例を示す図である。
【図１７】サーバグループ情報群のデータ構造例を示す図である。
【図１８】サーバ定義情報設定画面を示す図である。
【図１９】管理サーバコンピュータにおける処理手順を示す図である。
【図２０】配置制御処理の詳細手順の前半を示す図である。
【図２１】配置制御処理の詳細手順の後半を示す図である。
【図２２】アプリケーション配布処理の詳細を示す図である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。【００２１】
図１は、実施の形態に適用される発明の概念図である。本発明では、提供する機能によって分類された複数のサーバグループ５，６，７それぞれに属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂを管理するために、グループ管理情報１、配置対象決定手段２、配置データ３ａ，３ｂ，３ｃ、およびアプリケーション配置手段４が設けられている。【００２２】
グループ管理情報１には、提供する機能によって分類された複数のサーバグループ５，６，７それぞれに属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂが定義されている。図１の例では、サーバグループ５には、サーバコンピュータ５ａ，５ｂが属している。サーバグループ６には、サーバコンピュータ６ａ，６ｂが属している。サーバグループ７には、サーバコンピュータ７ａ，７ｂが属している。【００２３】
配置対象決定手段２は、サービス環境の構築要求を受け取ると、グループ管理情報１を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ５，６，７に属するサーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂを、対応する機能を実現するためのアプリケーションの配置対象として決定する。たとえば、サーバグループ５がＷｅｂサーバの機能に対応していれば、サーバコンピュータ５ａ，５ｂがＷｅｂサーバの配置対象に決定される。【００２４】
アプリケーション配置手段４は、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ３ａ，３ｂ，３ｃを順次選択する。そして、アプリケーション配置手段４は、選択した配置データを、その配置データに対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して配置する。すなわち、アプリケーション配置手段４は、配置データを、サーバコンピュータに送信し、さらにサーバコンピュータを遠隔操作することで、アプリケーションの動作環境を整える。【００２５】
このような構成によれば、サービス環境の構築要求が入力されると、配置対象決定手段２により、グループ管理情報１が参照され、提供するサービスに必要な複数の機能を実現するためのアプリケーションの配置対象となるサーバコンピュータが決定される。そして、アプリケーション配置手段４により、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ３ａ，３ｂ，３ｃが順次選択され、選択された配置データが、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して配置される。【００２６】
これにより、多階層システムに配置されたアプリケーション資源を一括で入れ換えることができる。すなわち、 多階層構成のサーバに跨るアプリケーションの配備操作を、一つの手順で操作できる。その結果、各サーバコンピュータ５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂに配置されるサーバアプリケーション間に不整合が発生することがなくなる。【００２７】
なお、アプリケーション配置手段４は、アプリケーション間の処理の依頼関係に応じて、アプリケーションの配置処理の順番を管理することができる。たとえば、アプリケーション配置手段４は、アプリケーション間の処理の依頼関係に基づいて、依頼元となるアプリケーションの配置処理を、依頼先となるアプリケーションより先に選択する。この際、アプリケーション配置手段４は、依頼元となるアプリケーションの配置処理により発生した情報を用いて、依頼先となるアプリケーションの配置処理を行う。これにより、依頼元と依頼先とのアプリケーション間の関連付けを、配置の際に自動的に行うことできる。【００２８】
さらに、アプリケーション配置手段４は、各サーバコンピュータに対するアプリケーションの配置処理結果を記憶し、配置に失敗したサーバコンピュータに対しては、以降のアプリケーションの更新処理を抑止することもできる。これにより、並列サーバ上のアプリケーションの均一性を保証することができる。その結果、アプリケーションの更新処理が繰り返されても、動作環境の不整合の発生を抑止できる。
【００２９】
図２は、実施の形態のシステム構成を示す図である。本実施の形態のシステムでは、ネットワーク１０を介して、管理サーバコンピュータ１００、負荷分散装置２００、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０、クライアントコンピュータ３１０，３２０および管理コンソール端末装置２１が接続されている。【００３０】
管理サーバコンピュータ１００は、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０を管理する。たとえば、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に対してサービスを提供するためのサーバアプリケーションを、被管理サーバコンピュータに配置する。すなわち、各被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０に対して、アプリケーションプログラム等の資源を転送し、サーバアプリケーションの動作環境の設定操作を行う。【００３１】
負荷分散装置２００は、クライアントコンピュータ３１０，３２０からの処理要求を、複数の被管理サーバコンピュータで分散処理させる。
被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０は、クライアントコンピュータ３１０，３２０からの要求に応じてサービスを提供する。なお、サービスを提供するために必要な資源は、管理サーバコンピュータ１００から転送される。また、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０がサービスを提供するための動作環境は、管理サーバコンピュータ１００の遠隔操作によって設定される。【００３２】
クライアントコンピュータ３１０，３２０は、ユーザの操作入力に応答し、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０に対する処理要求を出力する。【００３３】
管理コンソール端末装置２１は、システム管理者の操作入力に応答して管理サーバコンピュータ１００にアクセスし、サービス環境の構築要求やサーバ定義等の設定を行う。
図３は、本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。管理サーバコンピュータ１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。【００３４】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。【００３５】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。【００３６】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。【００３７】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、管理サーバコンピュータ１００のハードウェア構成を示したが、負荷分散装置２００、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０、クライアントコンピュータ３１０，３２０および管理コンソール端末装置２１も同様のハードウェア構成で実現することができる。【００３８】
このようなシステムにおいて、管理サーバコンピュータ１００は、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０を、処理機能に応じて複数のサーバグループに分けて管理する。サーバグループとは、管理サーバコンピュータ１００の管理対象として参加した被管理サーバコンピュータのうち、サービス設定やサービス（業務）を均一とし、一括管理すべき被管理サーバコンピュータの集合である。【００３９】
図４は、サーバグループの例を示す図である。図４の例では、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０が、３つのサーバグループに分けられている。【００４０】
Ｗｅｂサーバグループ３１には、Ｗｅｂサーバの機能が実装された被管理サーバコンピュータ２１０，２２０が含まれる。アプリケーションサーバグループ３２には、アプリケーションサーバの機能が実装された被管理サーバコンピュータ２３０，２４０が含まれる。データベースサーバグループ３３には、データベースサーバの機能が実装された被管理サーバコンピュータ２５０，２６０が含まれる。【００４１】
管理サーバコンピュータ１００は、各サーバグループを遠隔操作、統合管理する機能を備えている。具体的には、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に対して提供するサービスを、多階層のアプリケーションによって提供する場合の、被管理サーバコンピュータ間の処理の依頼関係（論理的な接続）を管理している。この依頼関係には、メッシュ負荷分散型の接続形態（メッシュ接続）とライン負荷分散型の接続形態（ライン接続）とがある。【００４２】
図５は、メッシュ接続の例を示す図である。この例では、被管理サーバコンピュータ２１０，２２０には、それぞれＷｅｂサーバ２１１，２２１のサーバアプリケーションが実装されている。被管理サーバコンピュータ２３０，２４０には、それぞれアプリケーションサーバ２３１，２４１のサーバアプリケーションが実装されている。被管理サーバコンピュータ２５０，２６０には、それぞれデータベースサーバ２５１，２６１のサーバアプリケーションが実装されている。データベースサーバ２５１，２６１は、それぞれデータベース（ＤＢ）２５２，２６２を管理している。【００４３】
各被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０に実装されたサーバアプリケーションの配置タイミングは、管理サーバコンピュータ１００によって制御される。また、負荷分散装置２００における分散処理に関する詳細な設定内容についても、管理サーバコンピュータ１００で管理される。【００４４】
メッシュ接続では、Ｗｅｂサーバグループ３１内の各Ｗｅｂサーバ２１１，２２１とアプリケーションサーバグループ３２内の各アプリケーションサーバ２３１，２４１とが互いに接続されている。また、アプリケーションサーバグループ３２内の各アプリケーションサーバ２３１，２４１とデータベースサーバグループ３３内の各データベースサーバ２５１，２６１とが互いに接続されている。【００４５】
また、クライアントコンピュータ３１０，３２０には、Ｗｅｂブラウザ３１１，３２１が実装されている。ユーザは、クライアントコンピュータ３１０，３２０に操作入力を行い、Ｗｅｂブラウザ３１１，３２１に対して様々な命令を入力する。Ｗｅｂブラウザ３１１，３２１は、操作入力により指示された命令の内容に、ネットワーク１０を介したサービスの提供要求が含まれていれば、その命令に応じた処理要求を出力する。【００４６】
Ｗｅｂブラウザ３１１，３２１から出力された処理要求は、負荷分散装置２００によって、Ｗｅｂサーバ２１１とＷｅｂサーバ２２１との何れかに振り分けられる。Ｗｅｂサーバ２１１，２２１は、処理要求を受け取ると、アプリケーションサーバ２３１とアプリケーションサーバ２４１との何れかに処理を依頼する。アプリケーションサーバ２３１，２４１は、依頼された処理を実行し、その処理中でデータベースアクセスが発生すると、データベースサーバ２５１とデータベースサーバ２６１との何れかに処理を依頼する。データベースサーバ２５１，２６１は、依頼に応じてデータベースのアクセスを行う。【００４７】
各サーバでの処理結果は、それぞれ処理の依頼元に返される。これにより、最終的に、Ｗｅｂブラウザ３１１，３２１は、処理供給に応じた処理の結果を受け取ることができる。【００４８】
ここで、処理の依頼関係において、クライアントコンピュータ３１０，３２０に近い方のサーバアプリケーションを、階層構造における上位とする。その場合、下位のサーバアプリケーションの新規配置や更新を行う際には、関連する上位のサーバアプリケーションに関する情報が必要となる。たとえば、処理の依頼元となる上位のサーバアプリケーションが配置された被管理サーバコンピュータのＩＰアドレス等を、下位のサーバアプリケーションの環境変数に設定する場合がある。【００４９】
この場合、上位のアプリケーションから順に配置処理を行う必要がある。具体的には、被管理サーバコンピュータ２５０，２６０にデータベースサーバ２５１，２６１を配置する際には、アプリケーションサーバ２３１，２４１の少なくとも１つが正常に配置されていなければならない。同様に、被管理サーバコンピュータ２３０，２４０にアプリケーションサーバ２３１，２４１を配置する際には、Ｗｅｂサーバ２１１，２２１の少なくとも１つが正常に配置されていなければならない。【００５０】
図６は、ライン接続の例を示す図である。ライン接続では、各サーバグループ内の１つずつのサーバが、互いに関連付けられている。図６の例では、Ｗｅｂサーバ２１１とアプリケーションサーバ２３１とが関連付けられ、アプリケーションサーバ２３１とデータベースサーバ２５１とが関連付けられている。同様に、Ｗｅｂサーバ２２１とアプリケーションサーバ２４１とが関連付けられ、アプリケーションサーバ２４１とデータベースサーバ２６１とが関連付けられている。これらの互いに関連するサーバによって、多階層のサービスが提供される。【００５１】
ライン接続では、各サーバグループ内の１台ずつの被管理サーバコンピュータ同士が関連付けられている。そのため、各被管理サーバコンピュータ内にサーバアプリケーションを配置するには、関連付けられた上位の被管理サーバコンピュータにおけるサーバアプリケーションが正常に配置されていることが必要である。【００５２】
具体的には、被管理サーバコンピュータ２５０にデータベースサーバ２５１を配置する際には、アプリケーションサーバ２３１が正常に配置されていなければならない。また、被管理サーバコンピュータ２３０にアプリケーションサーバ２３１を配置する際には、Ｗｅｂサーバ２１１が正常に配置されていなければならない。【００５３】
同様に、被管理サーバコンピュータ２６０にデータベースサーバ２６１を配置する際には、アプリケーションサーバ２４１が正常に配置されていなければならない。また、被管理サーバコンピュータ２４０にアプリケーションサーバ２４１を配置する際には、Ｗｅｂサーバ２２１が正常に配置されていなければならない。【００５４】
このように、メッシュ接続かライン接続かにより、下位のサーバアプリケーションを配置できるかどうかが異なってくる。そこで、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に提供するサービス毎の接続形態を管理し、その接続形態に応じて、各サーバアプリケーションの配置処理の順番を制御する。【００５５】
図７は、管理サーバコンピュータの機能ブロック図である。管理サーバコンピュータ１００は、サーバ定義情報１１１、配置先情報群１１２、ステータス情報群１１３、配置可能サーバリスト群１１４、配置失敗サーバリスト群１１５、サーバグループ管理テーブル１１６、サーバリスト群１１７、配置成功サーバリスト１１８、アプリケーション情報群１１９、サーバグループ情報群１２０、サーバ定義設定部１２１、サーバ管理制御部１２２、配置制御部１２３、サーバグループ制御部１２４、および複数の配置ファイル１３１，１３２，１３３を有している。【００５６】
サーバ定義情報１１１は、ユーザに対して多階層のサービスを提供する被管理サーバコンピュータ等に関する情報である。
配置先情報群１１２は、サーバアプリケーションが実装された被管理サーバコンピュータに関する情報（配置先情報）の集合である。【００５７】
ステータス情報群１１３は、各被管理サーバコンピュータに対する操作（作成、起動、停止等）の処理結果を示す情報（ステータス情報）の集合である。
配置可能サーバリスト群１１４は、配置可能な被管理サーバコンピュータを示す情報（配置可能サーバリスト）の集合である。【００５８】
配置失敗サーバリスト群１１５は、配置処理に失敗した被管理サーバコンピュータを示す情報（配置失敗サーバリスト）の集合である。
サーバグループ管理テーブル１１６には、サーバグループ毎のサーバリストへのポインタが設定されている。【００５９】
サーバリスト群１１７は、各サーバグループに属する被管理サーバコンピュータのリスト（サーバリスト）の集合である。
配置成功サーバリスト群１１８は、配置に成功した被管理サーバコンピュータを示す情報（配置成功サーバリスト）の集合である。【００６０】
アプリケーション情報群１１９は、配置されたアプリケーションに関する情報（アプリケーション情報）の集合である。
サーバグループ情報群１２０は、サーバグループに関する情報（サーバグループ情報）の集合である。【００６１】
サーバ定義設定部１２１は、ユーザからの操作入力に応答して、サーバ定義情報１１１に対してデータを登録する。
サーバ管理制御部１２２は、管理者からのサーバアプリケーションの配置要求に応じて、サーバ定義情報１１１から、配置すべきサービスに関する情報を取得する。そして、サーバ管理制御部１２２は、配置すべきサーバアプリケーションの配置指示を、配置制御部１２３に渡す。【００６２】
配置制御部１２３は、配置指示に応じて、データベースサーバ、アプリケーションサーバ、Ｗｅｂサーバ用のサーバアプリケーションを、被管理サーバコンピュータに配置する。具体的には、配置制御部１２３は、サーバアプリケーションの配置順を決定し、その配置順に沿って、被管理サーバコンピュータに対する配置ファイル１３１，１３２，１３３の配置指示を、サーバグループ制御部１２４に対して行う。【００６３】
サーバグループ制御部１２４は、配置制御部１２３からの指示に従って、各被管理サーバコンピュータにアクセスし、サーバアプリケーションの配置処理を行う。具体的には、サーバグループ制御部１２４は、サーバアプリケーションに対応する配置ファイルを被管理サーバコンピュータに送信し、被管理サーバコンピュータを遠隔操作することで、サーバアプリケーションの動作環境設定を行う。【００６４】
配置ファイル１３１，１３２，１３３は、被管理サーバコンピュータに配置するアプリケーションソフトウェアの資源である。配置ファイル１３１，１３２，１３３には、被管理サーバコンピュータで実行すべきプログラムや、プログラムの実行に必要な各種データが含まれる。【００６５】
次に、図８〜図１２を参照して、管理サーバコンピュータ１００内の各種情報のデータ構造例について説明する。
図８は、サーバ定義情報のデータ構造例を示す図である。サーバ定義情報１１１には、サービス名、詳細定義、結線情報、Ｗｅｂサーバグループ名、アプリケーションサーバグループ名、データベースサーバグループ名、Ｗｅｂサーバ配置先情報、アプリケーションサーバ配置先情報、およびデータベースサーバ配置先情報の欄が設けられている。【００６６】
サービス名の欄には、クライアントコンピュータに提供するサービスの名称が設定される。詳細定義の欄には、サービスの詳細な設定内容が定義される。
結線情報の欄には、多階層に階層化された複数のサーバでサービスを提供する際の、サーバ間の論理的な接続形態が設定される。接続形態としては、メッシュ接続とライン接続とがある。【００６７】
Ｗｅｂサーバグループ名の欄には、複数のＷｅｂサーバグループそれぞれを一意に識別するための名称が設定される。アプリケーションサーバグループ名の欄には、複数のアプリケーションサーバグループそれぞれを一意に識別するための名称が設定される。データベースサーバグループ名の欄には、複数のデータベースサーバグループそれぞれを一意に識別するための名称が設定される。【００６８】
Ｗｅｂサーバ配置先情報の欄には、対応するＷｅｂサーバグループに属するＷｅｂサーバの配置先を示す配置先情報へのポインタが設定される。アプリケーションサーバ配置先情報の欄には、対応するアプリケーションサーバグループに属するアプリケーションサーバの配置先を示す配置先情報へのポインタが設定される。データベースサーバ配置先情報の欄には、対応するデータベースサーバグループに属するデータベースサーバの配置先を示す配置先情報へのポインタが設定される。【００６９】
図９は、配置先情報群のデータ構造例を示す図である。配置先情報群１１２には、サーバグループ毎の配置先情報１１２ａ，１１２ｂ，１１２ｃ，・・・が含まれている。配置先情報１１２ａには、序列、サーバ名、およびステータス情報の欄が設けられている。他の配置先情報１１２ｂ，１１２ｃ，・・・のデータ構造も配置先情報１１２ａと同様である。【００７０】
序列の欄には、サーバアプリケーションに設定されたサーバグループ内での順番が設定される。この順番は、たとえば、サーバアプリケーションがサーバグループに参加した順番が設定される。【００７１】
サーバ名の欄には、配置先情報１１２ａに対応するサーバグループに属するサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。
ステータス情報の欄には、対応する被管理サーバコンピュータに実装されたサーバアプリケーションの状態を示すステータス情報の名称が設定される。【００７２】
図１０は、ステータス情報群のデータ構造例を示す図である。ステータス情報群１１３には、サーバアプリケーション毎の複数のステータス情報１１３ａ，１１３ｂ，１１３ｃ，・・・が含まれている。【００７３】
各ステータス情報１１３ａ，１１３ｂ，１１３ｃ，・・・には、操作名、ステータス、メッセージ、および詳細情報の欄が設けられている。操作名の欄には、サーバアプリケーションに対して管理サーバコンピュータ１００から行われた操作の名称が設定される。操作には、作成、更新、削除がある。作成は、被管理サーバコンピュータにサーバアプリケーションを配置する操作である。更新は、サーバアプリケーションの内容を更新する操作である。削除は、サーバアプリケーションを被管理サーバコンピュータから削除する操作である。【００７４】
ステータスの欄には、対応する操作が成功したか否かが設定される。メッセージの欄には、操作の結果を管理コンソール端末装置２１に表示させる際のメッセージが設定される。詳細情報の欄には、操作に関する特記事項が設定される。たとえば、操作に失敗した理由が設定される。【００７５】
図１１は、配置可能サーバリスト群のデータ構造例を示す図である。配置可能サーバリスト群１１４には、サーバグループ毎の配置可能サーバリスト１１４ａ，１１４ｂ，１１４ｃ，・・・が含まれる。【００７６】
配置可能サーバリスト１１４ａには、序列とサーバ名との欄が設けられている。配置可能サーバリスト１１４ｂ，１１４ｃ，・・・のデータ構造も配置可能サーバリスト１１４ａと同様である。【００７７】
序列の欄には、同じサーバグループの配置先情報１１２ａに設定されたサーバアプリケーションのうち、配置に成功したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、配置に成功したサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。【００７８】
図１２は、配置失敗サーバリスト群のデータ構造例を示す図である。配置失敗サーバリスト群１１５には、サーバグループ毎の配置失敗サーバリスト１１５ａ，１１５ｂ，１１５ｃ，・・・が含まれる。【００７９】
配置失敗サーバリスト１１５ａには、序列とサーバ名との欄が設けられている。配置失敗サーバリスト１１５ｂ，１１５ｃ，・・・のデータ構造も配置失敗サーバリスト１１５ａと同様である。【００８０】
序列の欄には、同じサーバグループの配置先情報１１２ａに設定されたサーバアプリケーションのうち、配置に失敗したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、サーバアプリケーションの配置に失敗した被管理サーバコンピュータの名称が設定される。【００８１】
図１３は、サーバグループ管理テーブルのデータ構造例を示す図である。サーバグループ管理テーブル１１６には、サーバグループ名とサーバリストとの欄が設けられている。
サーバグループ名の欄には、システム内に設定された各サーバグループを識別するための名称が設定される。サーバリストの欄には、対応するサーバグループに関するサーバリストに対するポインタが設定される。【００８２】
図１４は、サーバリスト群のデータ構造例を示す図である。サーバリスト群１１７には、サーバグループ毎のサーバリスト１１７ａ，１１７ｂ，１１７ｃ，・・・が含まれている。各サーバリスト１１７ａ，１１７ｂ，１１７ｃ，・・・には、対応するサーバグループに属する被管理サーバコンピュータの名称が登録される。【００８３】
このサーバリスト１１７ａ，１１７ｂ，１１７ｃ，・・・は、サーバグループ制御部１２４が配置処理を行う際に参照される。具体的には、配置処理を行う場合、サーバグループ内の各被管理サーバコンピュータの選択処理を、繰り返し行う必要がある。その際、選択対象が登録されたデータテーブルの構造が単純なほど、選択処理を高速に行うことができる。そこで、本実施の形態では、選択対象となる被管理サーバコンピュータのリストをサーバリスト１１７ａ，１１７ｂ，１１７ｃ，・・・として用意しておくことで、繰り返し行われる選択処理の高速化を図っている。【００８４】
図１５は、配置成功サーバリスト群のデータ構造例を示す図である。配置成功サーバリスト群１１８には、サーバグループ毎の配置成功サーバリスト１１８ａ，１１８ｂ，１１８ｃ，・・・が含まれている。【００８５】
配置成功サーバリスト１１８ａには、序列とサーバ名との欄が設けられている。配置成功サーバリスト１１８ｂ，１１８ｃ，・・・のデータ構造も配置成功サーバリスト１１８ａと同様である。【００８６】
序列の欄には、同じサーバグループの配置先情報１１２ａに設定されたサーバアプリケーションのうち、配置に成功したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、サーバアプリケーションの配置に成功した被管理サーバコンピュータの名称が設定される。【００８７】
図１６は、アプリケーション情報群のデータ構造例を示す図である。アプリケーション情報群１１９には、配置されたアプリケーション毎のアプリケーション情報１１９ａ，１１９ｂ，１１９ｃ，・・・が含まれている。【００８８】
アプリケーション情報１１９ａには、キーと値との欄が設けられている。他のアプリケーション情報１１９ｂ，１１９ｃ，・・・のデータ構造も、アプリケーション情報１１９ａと同様である。【００８９】
キーの欄には、アプリケーションに関連する情報（キー）の名称が設定される。値の欄には、キーに対して付与された値が設定される。
図１７は、サーバグループ情報群のデータ構造例を示す図である。サーバグループ情報群１２０には、サーバグループ毎のサーバグループ情報１２０ａ，１２０ｂ，１２０ｃ，・・・が含まれている。【００９０】
サーバグループ情報１２０ａには、クラス名、型、定義名、および値の欄が設けられている。クラス名の欄には、サーバグループに関するオブジェクトを定義したクラスの名称が設定される。型の欄には、サーバグループに関するデータの型が設定される。定義名の欄には、データの名称が設定される。値の欄には、データの値が設定される。【００９１】
定義名「name」のデータは、サーバグループの名称である。定義名「revision」のデータは、サーバグループのリビジョン（版数）である。定義名「type」のデータは、サーバグループのタイプである。定義名「platform」のデータは、サーバグループのプラットフォームの名称である。定義名「ISVersion」のデータは、サーバグループを管理する機能の名称である。定義名「ISEdition」のデータは、サーバグループを管理する機能の版数である。定義名「ServerName」のデータは、サーバグループに含まれるサーバ名の一覧である。定義名「masterServer」のデータは、クローニングする際のマスタ（サーバグループに新規に追加されたサーバコンピュータに対して動作環境を設定するときに必要な情報の複製元）となるサーバコンピュータのサーバ名である。定義名「isCluster」のデータは、サーバグループかクラスタグループかを示すパラメータである。【００９２】
次に、サーバ定義設定部１２１によるサーバ定義情報の設定例について説明する。
図１８は、サーバ定義情報設定画面を示す図である。サーバ定義情報設定画面４０には、サービス名入力部４１、サービス種別選択部４２、配置タイプ選択部４３、配置先選択部４４、サーバ間のリレーション選択部４５、作成ボタン４６が設けられている。【００９３】
サービス名入力部４１には、ユーザに提供するサービスを一意に識別するための名称が設定される。
サービス種別選択部４２には、サービスの種別が設定される。図１８の例では、サービスの種別として、Ｊ２ＥＥ(Java(登録商標） 2 Platform, Enterprise Edition)とＣＯＲＢＡ(Common Object Request Broker Architecture)とがある。この例では、Ｊ２ＥＥアプリケーションの場合に、多階層システムを構成することができる。Ｊ２ＥＥアプリケーションの多階層システムでは、たとえば、Ｗｅｂサーバ、Servlet、ＥＪＢ(Enterprise JavaBeans)に階層化される。この場合、Servletがアプリケーションサーバに対応し、ＥＪＢサーバがデータベースサーバに対応する。また、Ｊ２ＥＥアプリケーションによる各階層のアプリケーションサーバは、複数、並列配置することができる。【００９４】
配置タイプ選択部４３では、サーバアプリケーションを分散配置する際の、配置パターンを選択することができる。図１８の例では、配置パターンとして「１ＶＭ」、「別ＶＭ」、「Ｗｅｂのみ」、「ＥＪＢのみ」がある。ここで、ＶＭとは「Java ＶＭ(Virtual Machine)」を意味している。【００９５】
「１ＶＭ」が選択された場合、１つの被管理サーバコンピュータにＷｅｂサーバ、Servlet、ＥＪＢが配置され、１つのJava ＶＭで実行される。「別ＶＭ」が選択されると、Ｗｅｂサーバ、Servlet、ＥＪＢがそれぞれ別の被管理サーバコンピュータに配置され、被管理サーバコンピュータ毎のJava ＶＭで実行される。「Ｗｅｂのみ」は、Ｗｅｂサーバアプリケーションのみ運用する場合の配置形態である。「ＥＪＢのみ」は、ＥＪＢサーバアプリケーションのみ運用する場合の配置形態である。【００９６】
配置先選択部４４には、サーバアプリケーションの配置先が入力される。配置先選択部４４には、Ｗｅｂサーバコネクタ、Servletコンテナ、ＥＪＢコンテナの欄が設けられている。Ｗｅｂサーバコネクタの欄では、Ｗｅｂサーバが配置される被管理サーバコンピュータのグループが選択される。Servletコンテナの欄では、Servlet（アプリケーションサーバ）が配置される被管理サーバコンピュータのグループが選択される。ＥＪＢコンテナの欄では、ＥＪＢ（データベースサーバ）が配置される被管理サーバコンピュータのグループが選択される。【００９７】
なお、配置先選択部４４では、サーバグループを選択した際に、そのサーバグループに属する被管理サーバコンピュータの情報が表示される。たとえば、被管理サーバコンピュータの序列（Ｎｏ．）、サーバ名、ＩＰアドレス等が表示される。【００９８】
サーバ間のリレーション選択部４５では、サーバ間の接続関係が指定される。接続関係は、メッシュ接続とライン接続との何れか一方を選択できる。
作成ボタン４６は、サーバ定義情報設定画面４０に入力された内容に基づいて、サービスに対応する定義情報を作成するためのボタンである。作成ボタン４６が押下されると、サーバ定義設定部１２１により、サーバ定義情報設定画面４０に入力された内容に基づいた新たなレコードが、サーバ定義情報１１１に追加される。【００９９】
次に、以上のような構成のシステムにおいて管理サーバコンピュータ１００がサーバアプリケーションを配置する際の処理を詳細に説明する。
図１９は、管理サーバコンピュータにおける処理手順を示す図である。以下、図１９に示す処理をステップ番号に沿って説明する。【０１００】
［ステップＳ１１］管理サーバコンピュータ１００に管理コンソール端末装置２１からサーバ管理制御部１２２に対応するＵＲＬ(Uniform Resource Locator)を指定したサービス環境構築要求が入力されると、管理サーバコンピュータ１００のＯＳがサーバ管理制御部１２２を起動する。【０１０１】
［ステップＳ１２］サーバ管理制御部１２２は、管理コンソール端末装置２１からユーザＩＤとパスワードとの入力を受け付け、入力された情報に基づいてユーザ認証を行う。
［ステップＳ１３］サーバ管理制御部１２２は、管理コンソール端末装置２１から、クライアントコンピュータ３１０，３２０への提供を開始するサービスのサービス名の入力を受け付ける。そして、サーバ管理制御部１２２は、入力されたサービス名に対応するサービスを、配置対象として選択する。【０１０２】
［ステップＳ１４］サーバ管理制御部１２２は、配置制御部１２３を呼び出し、配置制御部１２３にアプリケーションの配置を依頼すると共に、ステップＳ１３で選択したサービスのサービス名を渡す。これにより、配置制御部１２３におちて、アプリケーションの配置制御が行われる。そして、サーバ管理制御部１２２は、配置制御部１２３からの戻り値として、配置処理の結果を受け取る。配置制御処理の詳細は後述する。【０１０３】
なお、配置処理は、配置を依頼する段階では、新規追加と更新との区別はない。配置処理の依頼をしたときに、配置対象のサーバコンピュータに、旧版のアプリケーションが配置済みであれば、更新処理が行われる。旧版のアプリケーションが配置されていなければ、新規追加処理が行われる。【０１０４】
［ステップＳ１５］サーバ管理制御部１２２は、結果を管理コンソール端末装置２１に対して出力する。
次に、サーバ管理制御部１２２からのアプリケーションの配置依頼に応じて配置制御部１２３が行う配置制御処理を、詳細に説明する。【０１０５】
図２０は、配置制御処理の詳細手順の前半を示す図である。以下、図２０に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］配置制御部１２３は、サーバ管理制御部１２２からアプリケーションの配置依頼と共にサービス名を受け取ると、サービス名に対応する配置ファイルとアプリケーション情報とを取得する。そして、配置制御部１２３は、サーバ定義情報１１１から、サービス名に対応するサービスの定義情報を取得する。
【０１０６】
［ステップＳ２２］配置制御部１２３は、取得した定義情報をメモリ（たとえば、ＲＡＭ１０２）に書き込み、そのメモリ上で管理する。
［ステップＳ２３］配置制御部１２３は、配置先情報群１１２から配置先情報（Ｗｅｂサーバの配置先情報１１２ａ、アプリケーションサーバの配置先情報１１２ｂ、データベースサーバの配置先情報１１２ｃ）と結線情報（ライン接続またはメッシュ接続）とを抽出する。【０１０７】
［ステップＳ２４］配置制御部１２３は、Ｗｅｂサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、Ｗｅｂサーバの配置先を認識し、配置可能サーバリストを生成する。詳細には、以下の処理（ステップＳ２４ａ，Ｓ２４ｂ，Ｓ２４ｃ）が行われる。【０１０８】
［ステップＳ２４ａ］配置制御部１２３は、配置先情報群１１２内のＷｅｂサーバの配置先情報を参照し、Ｗｅｂサーバを配置すべき被管理サーバコンピュータのステータス情報の名称を取得する。そして、配置制御部１２３は、取得した名称のステータス情報を、ステータス情報群１１３から取得する。【０１０９】
［ステップＳ２４ｂ］配置制御部１２３は、取得したステータス情報をメモリ（たとえば、ＲＡＭ１０２）に書き込み、そのメモリ上で管理する。
［ステップＳ２４ｃ］配置制御部１２３は、配置先情報から序列を獲得する。具体的には、配置制御部１２３は、ステップＳ２４ｂで管理しているステータス情報、結線情報、およびアプリケーション情報（存在していれば、前回の配置処理において、各被管理サーバコンピュータに対応付けて生成されたアプリケーション情報を含む）を参照し、配置可能サーバリストを生成する。具体的には、配置制御部１２３は、配置先情報に含まれるサーバコンピュータのうち、ステータス情報において以前の配置処理に失敗しているサーバコンピュータを除外したものとリストを、配置可能サーバリストとする。【０１１０】
このとき、各被管理サーバコンピュータの序列の値が小さいものほど、配置処理を実行する優先度が高くなる。
また、配置対象の被管理サーバコンピュータに対して、前回の配置処理におけるアプリケーション情報が存在する場合、配置制御部１２３は、前回のアプリケーション情報と、今回は配置するアプリケーションのアプリケーション情報とを比較する。そして、配置制御部１２３は、アプリケーション情報が同一であれば、更新済みであると判断し、その被管理サーバコンピュータを配置対象から除外する（配置可能サーバリストから除外する）。【０１１１】
図２１は、配置制御処理の詳細手順の後半を示す図である。以下、図２１に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］配置制御部１２３は、サービス名、配置ファイル、配置可能サーバリストを参照し、配置可能サーバリストに登録されているサーバコンピュータに対して、Ｗｅｂサーバの配置処理を行う。その結果、配置制御部１２３は、配置失敗サーバリスト、アプリケーションサーバ用配置資源を生成する。具体的には、以下の処理（ステップＳ３１ａ，Ｓ３１ｂ，Ｓ３１ｃ）が行われる。
【０１１２】
［ステップＳ３１ａ］配置制御部１２３は、サービス名に基づいて、該当するサービスのＷｅｂサーバグループのサーバグループ名を特定する。これにより、配置先が認識される。【０１１３】
［ステップＳ３１ｂ］配置制御部１２３は、サーバグループ制御部１２４に対して、Ｗｅｂサーバの配置を依頼する。具体的には、配置制御部１２３は、サーバグループ名、配置ファイル、および配置可能サーバリストをサーバグループ制御部１２４に渡し、配置を依頼する。そして、配置制御部１２３は、サーバグループ制御部１２４から、各被管理サーバコンピュータに対する配置処理の結果を受け取り、配置失敗サーバリストと配置成功サーバリストとを生成する。なお、サーバグループ制御部１２４で行われる処理の詳細は、後述する。【０１１４】
［ステップＳ３１ｃ］配置制御部１２３は、配置失敗サーバリストおよび配置成功サーバリストの情報を、それぞれ、配置失敗サーバリスト群１１５、配置成功サーバリスト群１１８に格納する。この際、配置制御部１２３は、配置したサーバアプリケーションの情報を、アプリケーション情報群１１９に格納する。【０１１５】
［ステップＳ３２］配置制御部１２３は、アプリケーションサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、アプリケーションサーバの配置先を認識し、配置可能サーバリストを生成する。詳細は、Ｗｅｂサーバの配置の場合（ステップＳ２４ａ，Ｓ２４ｂ，Ｓ２４ｃ）と同様である。【０１１６】
［ステップＳ３３］配置制御部１２３は、サービス名、アプリケーションサーバ用配置資源、配置可能サーバリストを参照し、配置可能サーバリストに登録されているサーバコンピュータに対して、アプリケーションサーバの配置処理を行う。その結果、配置失敗サーバリスト、データベースサーバ用配置資源を生成する。詳細は、Ｗｅｂサーバの配置の場合（ステップＳ３１ａ，Ｓ３１ｂ，Ｓ３１ｃ）とほぼ同様である。ただし、アプリケーションサーバの配置には、Ｗｅｂサーバを配置する際に生成されたアプリケーションサーバ配置資源を用いた配置が行われる。これにより、異なる被管理サーバコンピュータに配置されたサーバアプリケーションを連携して動作させるための環境設定を行うことができる。
【０１１７】
［ステップＳ３４］配置制御部１２３は、データベースサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、データベースの配置先を認識し、配置可能サーバリストを生成する。詳細は、Ｗｅｂサーバの配置の場合（ステップＳ２４ａ，Ｓ２４ｂ，Ｓ２４ｃ）と同様である。【０１１８】
［ステップＳ３５］配置制御部１２３は、サービス名、データベースサーバ用配置資源、配置可能サーバリストを参照し、配備可能サーバリストに登録されているサーバコンピュータに対して、データベースサーバの配置処理を行う。その結果、配置失敗サーバリストを生成する。詳細は、Ｗｅｂサーバの配置の場合（ステップＳ３１ａ，Ｓ３１ｂ，Ｓ３１ｃ）とほぼ同様である。ただし、データベースサーバの配置には、アプリケーションサーバを配置する際に生成されたデータベースサーバ用配置資源を用いた配置が行われる。【０１１９】
［ステップＳ３６］配置制御部１２３は、各サーバアプリケーションの配置処理によって生成された配置失敗サーバリストをマージ（統合）する。
［ステップＳ３７］配置制御部１２３は、サービス名、定義クラス名（サーバ定義情報１１１を定義しているクラスの名称）、サーバ定義情報に基づき、その定義情報に関連付けて、ステップＳ３６で生成された配置失敗サーバリストを配置失敗サーバリスト群１１５に格納する。【０１２０】
図２２は、アプリケーション配布処理の詳細を示す図である。以下、図２２に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］サーバグループ制御部１２４は、サーバグループ名、およびサーバグループ管理テーブル１１６に基づいて、サーバアプリケーションを配置すべきサーバコンピュータのサーバ名のリスト（サーバリスト）を取得する。【０１２１】
［ステップＳ４２］サーバグループ制御部１２４は、配置すべきサーバアプリケーションの配置ファイルを、被管理サーバコンピュータに配置する。具体的には、サーバグループ制御部１２４は、サーバリストから順次、被管理サーバコンピュータのサーバ名を選択する。次に、サーバグループ制御部１２４は、選択したサーバ名が、配置可能サーバリストに登録されているか否かを判断する。配置可能サーバリストに登録されていれば、サーバグループ制御部１２４は、該当する被管理サーバコンピュータに対して、配置データを送信する。そして、サーバグループ制御部１２４は、配置対象の被管理サーバコンピュータを操作し、送信した配置ファイルに基づくサーバアプリケーションの動作環境を設定する。【０１２２】
なお、配置可能サーバリストにサーバ名が登録されていない被管理サーバコンピュータに対しては、配置ファイルの送信等の処理は行われない。
［ステップＳ４３］サーバグループ制御部１２４は、被管理サーバコンピュータから配置処理結果の応答を受け取り、サーバアプリケーションの配置に成功したか否かを判断する。そして、サーバグループ制御部１２４は、配置失敗サーバリストと配置成功サーバリストとを生成し、配置制御部１２３に渡す。【０１２３】
以上のようにして、多階層構成のサーバに跨るアプリケーションの配備操作を、１つの手順で操作できる。その結果、システムの管理運用が容易になる。
また、並列サーバのアプリケーションの均一性を保つための配備操作抑止が行われることで、アプリケーション環境の破壊を抑止できる。【０１２４】
なお、本実施の形態を用いて、Ｊ２ＥＥアプリケーションによるサービスを提供する場合、たとえば、Ｗｅｂサーバ、Servlet、ＥＪＢサーバによる多階層システムが構築できる。このような、Ｊ２ＥＥアプリケーションの配置機能では、Ｗｅｂサーバ、Servlet、ＥＪＢサーバそれぞれが並列サーバで運用されている場合には、各階層、並列で運用されているサーバに対し、一括してアプリケーションが配置される。【０１２５】
この際、配備するアプリケーションの種別により、必要に応じて、アプリケーションの配備操作が行われる。たとえば、warファイルの配備では、Ｗｅｂサーバを配備しているサーバに対してのみ、アプリケーション資材の転送が行われる。【０１２６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバコンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。【０１２７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【０１２８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。【０１２９】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１３０】
１  グループ管理情報
２  配置対象決定手段
３ａ，３ｂ，３ｃ  配置データ
４  アプリケーション配置手段
５，６，７  サーバグループ
５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂ  サーバコンピュータ
【図１】
0004799419.tif 000002
【図２】
0004799419.tif 000003
【図３】
0004799419.tif 000004
【図４】
0004799419.tif 000005
【図５】
0004799419.tif 000006
【図６】
0004799419.tif 000007
【図７】
0004799419.tif 000008
【図８】
0004799419.tif 000009
【図９】
0004799419.tif 000010
【図１０】
0004799419.tif 000011
【図１１】
0004799419.tif 000012
【図１２】
0004799419.tif 000013
【図１３】
0004799419.tif 000014
【図１４】
0004799419.tif 000015
【図１５】
0004799419.tif 000016
【図１６】
0004799419.tif 000017
【図１７】
0004799419.tif 000018
【図１８】
0004799419.tif 000019
【図１９】
0004799419.tif 000020
【図２０】
0004799419.tif 000021
【図２１】
0004799419.tif 000022
【図２２】
0004799419.tif 000023