JPWO2006043320A1 - アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 - Google Patents

アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 Download PDF

Info

Publication number
JPWO2006043320A1
JPWO2006043320A1 JP2006542137A JP2006542137A JPWO2006043320A1 JP WO2006043320 A1 JPWO2006043320 A1 JP WO2006043320A1 JP 2006542137 A JP2006542137 A JP 2006542137A JP 2006542137 A JP2006542137 A JP 2006542137A JP WO2006043320 A1 JPWO2006043320 A1 JP WO2006043320A1
Authority
JP
Japan
Prior art keywords
server
application
placement
group
arrangement
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.)
Granted
Application number
JP2006542137A
Other languages
English (en)
Other versions
JP4799419B2 (ja
Inventor
敏広 三村
敏広 三村
英樹 野崎
英樹 野崎
修一 千葉
修一 千葉
英雄 早川
英雄 早川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006043320A1 publication Critical patent/JPWO2006043320A1/ja
Application granted granted Critical
Publication of JP4799419B2 publication Critical patent/JP4799419B2/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/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

多階層システムに配置されたアプリケーション資源を、一括で入れ換えることができるようにする。サービス環境の構築要求が入力されると、配置対象決定手段(2)により、グループ管理情報(1)が参照され、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ(5),(6),(7)に属するサーバコンピュータ(5a),(5b),(6a),(6b),(7a),(7b)が、対応する機能を実現するためのアプリケーションの配置対象として決定される。そして、アプリケーション配置手段(4)により、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ(3a),(3b),(3c)が順次選択され、選択された配置データ(3a),(3b),(3c)が、対応するアプリケーションの配置対象として決定されたサーバコンピュータ(5a),(5b),(6a),(6b),(7a),(7b)に対して配置される。

Description

本発明は他のサーバを管理するためのアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置に関し、特にアプリケーションの配置処理の遠隔操作を行うことができるアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置に関する。
サーバで提供されるサービスには、複数のサーバアプリケーションが連携して動作することで提供されるものがある。たとえば、Webサービス機能、アプリケーションサービス機能、データベースサービス機能が連携して動作し、サービスを提供できる。
なお、以下の説明において、機能の名称の後に「サーバ」を付けた場合、コンピュータ上に動作するアプリケーションソフトウェアによるサービス提供機能を指すこととする。また、「サーバコンピュータ」と呼んだ場合、サービス提供用のアプリケーションソフトウェアを実行するコンピュータを指すこととする。
複数のサーバアプリケーションを多階層に関連付けた場合、クライアントからはWebサーバに対して処理要求が出される。Webサーバは、アプリケーションサーバに対して、その要求に応じた処理を依頼する。アプリケーションサーバは、処理の実行に際しデータベースアクセスの必要があれば、データベースサーバにアクセスし、必要なデータを取得する。
このような、多階層システムでは、各サーバアプリケーションを複数のサーバコンピュータ上に、役割に応じて配置することができる。たとえば、Webサーバとアプリケーションサーバとを別のサーバコンピュータ上に配置する。各サーバアプリケーションが個別のサーバコンピュータ上で動作していれば、サーバアプリケーションの機能毎の負荷分散を行うなど、柔軟性の高いシステムを組むことができる。
なお、複数のサーバコンピュータにアプリケーションが配置されていると、各アプリケーションの管理に多大な労力が必要となる。そこで、上位装置から下位装置に、置換用の資源と置換用ジョブストリームとを転送し、下位装置の資源の更新作業を自動的に行う技術が考えられている(たとえば、特許文献1参照)。
特開平3−238529号公報
ところで、複数のサーバコンピュータに対して、ユーザにサービスすべきアプリケーションを配置する場合、アプリケーションの配置処理を行う時期を、サーバコンピュータ間で一致させる必要がある。しかし、従来の技術では、サーバコンピュータ毎に、個別にアプリケーション配置の操作を行わなくてはならなかった。そのため、操作漏れ等の人為的ミスにより、サーバコンピュータへのアプリケーションの配置の同時性が保てないことがある。アプリケーションの配置が同時に行われないと、以下のような問題が生じる。
たとえば、多階層システムでは、サービスを提供する機能毎の複数のアプリケーションは、互いに機能の整合性を保持していなければならない。そのため、互いに連携して動作するアプリケーションの配置は、一括して行う必要がある。多階層システムの一部のアプリケーションのみを更新してしまうと、他の機能との間で整合性が取れなくなる可能性がある。
また、任意の機能を、複数のサーバコンピュータで並列処理している場合、アプリケーションの自動配置や自動更新を行うには、並列して動作するサーバコンピュータに対して、漏れなく各アプリケーションを配置する必要がある。すなわち、複数のサーバコンピュータで負荷分散をしながら、同じサービスを並列処理で提供する場合、どのサーバコンピュータで処理が実行されたとしても、処理の内容が同一でなければならない。もし、並列処理を行うサーバコンピュータ群に対するアプリケーションの更新処理に漏れがあると、並列処理を行うサーバコンピュータ間でアプリケーションの処理内容に不整合が生じてしまう。
このように、並列処理を伴う多階層システムにおいて、サーバコンピュータ毎にアプリケーションの配置指示を個別に行っていたのでは、配置処理の操作漏れ等の人為的ミスが発生しやすくなる。その結果、システム内でのアプリケーション間の処理に不整合が生じる危険性があった。
本発明はこのような点に鑑みてなされたものであり、多階層システムを構成する複数のアプリケーションの資源を、各アプリケーションを実行する複数のサーバコンピュータに対して一括で配置することができるアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すような機能をコンピュータに実行させるアプリケーション管理プログラムが提供される。このアプリケーション管理プログラムは、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのものである。アプリケーション管理プログラムを実行することで、コンピュータは図1に示される機能を有する。
配置対象決定手段2は、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループ5,6,7それぞれに属するサーバコンピュータ5a,5b,6a,6b,7a,7bが定義されたグループ管理情報1を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ5,6,7に属するサーバコンピュータ5a,5b,6a,6b,7a,7bを、対応する機能を実現するためのアプリケーションの配置対象として決定する。アプリケーション配置手段4は、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ3a,3b,3cを順次選択し、選択した配置データ3a,3b,3cを、対応するアプリケーションの配置対象として決定されたサーバコンピュータ5a,5b,6a,6b,7a,7bに対して転送し、アプリケーションの動作環境設定を行う。
このようなアプリケーション管理プログラムを実行するコンピュータによれば、サービス環境の構築要求が入力されると、配置対象決定手段2により、グループ管理情報1が参照され、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ5,6,7に属するサーバコンピュータ5a,5b,6a,6b,7a,7bが、対応する機能を実現するためのアプリケーションの配置対象として決定される。そして、アプリケーション配置手段4により、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ3a,3b,3cが順次選択され、選択された配置データ3a,3b,3cが、対応するアプリケーションの配置対象として決定されたサーバコンピュータ5a,5b,6a,6b,7a,7bに対して転送され、アプリケーションの動作環境設定が行われる。
また、上記課題を解決するために、コンピュータにより、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理方法において、配置対象決定手段が、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定し、アプリケーション配置手段が、提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行う、ことを特徴とするアプリケーション管理方法が提供される。
また、上記課題を解決するために、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理装置において、コンピュータを、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定する配置対象決定手段と、提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行うアプリケーション配置手段と、を有することを特徴とするアプリケーション管理装置が提供される。
本発明では、サービス環境の構築要求に応じて、サービスを提供するための配置データの配置対象をサーバグループ単位で決定し、各サーバグループに属するサーバコンピュータに対してアプリケーションの配置データを一括して転送等するようにした。これにより、一回の操作入力により、多階層システムに配置されたアプリケーション資源を漏れなく配置することができ、アプリケーション間の不整合の発生が防止される。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
実施の形態に適用される発明の概念図である。 実施の形態のシステム構成を示す図である。 本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。 サーバグループの例を示す図である。 メッシュ接続の例を示す図である。 ライン接続の例を示す図である。 管理サーバコンピュータの機能ブロック図である。 サーバ定義情報のデータ構造例を示す図である。 配置先情報群のデータ構造例を示す図である。 ステータス情報群のデータ構造例を示す図である。 配置可能サーバリスト群のデータ構造例を示す図である。 配置失敗サーバリスト群のデータ構造例を示す図である。 サーバグループ管理テーブルのデータ構造例を示す図である。 サーバリスト群のデータ構造例を示す図である。 配置成功サーバリスト群のデータ構造例を示す図である。 アプリケーション情報群のデータ構造例を示す図である。 サーバグループ情報群のデータ構造例を示す図である。 サーバ定義情報設定画面を示す図である。 管理サーバコンピュータにおける処理手順を示す図である。 配置制御処理の詳細手順の前半を示す図である。 配置制御処理の詳細手順の後半を示す図である。 アプリケーション配布処理の詳細を示す図である。
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。本発明では、提供する機能によって分類された複数のサーバグループ5,6,7それぞれに属するサーバコンピュータ5a,5b,6a,6b,7a,7bを管理するために、グループ管理情報1、配置対象決定手段2、配置データ3a,3b,3c、およびアプリケーション配置手段4が設けられている。
グループ管理情報1には、提供する機能によって分類された複数のサーバグループ5,6,7それぞれに属するサーバコンピュータ5a,5b,6a,6b,7a,7bが定義されている。図1の例では、サーバグループ5には、サーバコンピュータ5a,5bが属している。サーバグループ6には、サーバコンピュータ6a,6bが属している。サーバグループ7には、サーバコンピュータ7a,7bが属している。
配置対象決定手段2は、サービス環境の構築要求を受け取ると、グループ管理情報1を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループ5,6,7に属するサーバコンピュータ5a,5b,6a,6b,7a,7bを、対応する機能を実現するためのアプリケーションの配置対象として決定する。たとえば、サーバグループ5がWebサーバの機能に対応していれば、サーバコンピュータ5a,5bがWebサーバの配置対象に決定される。
アプリケーション配置手段4は、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ3a,3b,3cを順次選択する。そして、アプリケーション配置手段4は、選択した配置データを、その配置データに対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して配置する。すなわち、アプリケーション配置手段4は、配置データを、サーバコンピュータに送信し、さらにサーバコンピュータを遠隔操作することで、アプリケーションの動作環境を整える。
このような構成によれば、サービス環境の構築要求が入力されると、配置対象決定手段2により、グループ管理情報1が参照され、提供するサービスに必要な複数の機能を実現するためのアプリケーションの配置対象となるサーバコンピュータが決定される。そして、アプリケーション配置手段4により、提供するサービスに必要な機能を実現するためのアプリケーションの配置データ3a,3b,3cが順次選択され、選択された配置データが、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して配置される。
これにより、多階層システムに配置されたアプリケーション資源を一括で入れ換えることができる。すなわち、 多階層構成のサーバに跨るアプリケーションの配備操作を、一つの手順で操作できる。その結果、各サーバコンピュータ5a,5b,6a,6b,7a,7bに配置されるサーバアプリケーション間に不整合が発生することがなくなる。
なお、アプリケーション配置手段4は、アプリケーション間の処理の依頼関係に応じて、アプリケーションの配置処理の順番を管理することができる。たとえば、アプリケーション配置手段4は、アプリケーション間の処理の依頼関係に基づいて、依頼元となるアプリケーションの配置処理を、依頼先となるアプリケーションより先に選択する。この際、アプリケーション配置手段4は、依頼元となるアプリケーションの配置処理により発生した情報を用いて、依頼先となるアプリケーションの配置処理を行う。これにより、依頼元と依頼先とのアプリケーション間の関連付けを、配置の際に自動的に行うことできる。
さらに、アプリケーション配置手段4は、各サーバコンピュータに対するアプリケーションの配置処理結果を記憶し、配置に失敗したサーバコンピュータに対しては、移行のアプリケーションの更新処理を抑止することもできる。これにより、並列サーバ上のアプリケーションの均一性を保証することができる。その結果、アプリケーションの更新処理が繰り返されても、動作環境の不整合の発生を抑止できる。
図2は、実施の形態のシステム構成を示す図である。本実施の形態のシステムでは、ネットワーク10を介して、管理サーバコンピュータ100、負荷分散装置200、被管理サーバコンピュータ210,220,230,240,250,260、クライアントコンピュータ310,320および管理コンソール端末装置21が接続されている。
管理サーバコンピュータ100は、被管理サーバコンピュータ210,220,230,240,250,260を管理する。たとえば、管理サーバコンピュータ100は、クライアントコンピュータ310,320に対してサービスを提供するためのサーバアプリケーションを、被管理サーバコンピュータに配置する。すなわち、各被管理サーバコンピュータ210,220,230,240,250,260に対して、アプリケーションプログラム等の資源を転送し、サーバアプリケーションの動作環境の設定操作を行う。
負荷分散装置200は、クライアントコンピュータ310,320からの処理要求を、複数の被管理サーバコンピュータで分散処理させる。
被管理サーバコンピュータ210,220,230,240,250,260は、クライアントコンピュータ310,320からの要求に応じてサービスを提供する。なお、サービスを提供するために必要な資源は、管理サーバコンピュータ100から転送される。また、被管理サーバコンピュータ210,220,230,240,250,260がサービスを提供するための動作環境は、管理サーバコンピュータ100の遠隔操作によって設定される。
クライアントコンピュータ310,320は、ユーザの操作入力に応答し、被管理サーバコンピュータ210,220,230,240,250,260に対する処理要求を出力する。
管理コンソール端末装置21は、システム管理者の操作入力に応答して管理サーバコンピュータ100にアクセスし、サービス環境の構築要求やサーバ定義等の設定を行う。
図3は、本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。管理サーバコンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、管理サーバコンピュータ100のハードウェア構成を示したが、負荷分散装置200、被管理サーバコンピュータ210,220,230,240,250,260、クライアントコンピュータ310,320および管理コンソール端末装置21も同様のハードウェア構成で実現することができる。
このようなシステムにおいて、管理サーバコンピュータ100は、被管理サーバコンピュータ210,220,230,240,250,260を、処理機能に応じて複数のサーバグループに分けて管理する。サーバグループとは、管理サーバコンピュータ100の管理対象として参加した被管理サーバコンピュータのうち、サービス設定やサービス(業務)を均一とし、一括管理すべき被管理サーバコンピュータの集合である。
図4は、サーバグループの例を示す図である。図4の例では、被管理サーバコンピュータ210,220,230,240,250,260が、3つのサーバグループに分けられている。
Webサーバグループ31には、Webサーバの機能が実装された被管理サーバコンピュータ210,220が含まれる。アプリケーションサーバグループ32には、アプリケーションサーバの機能が実装された被管理サーバコンピュータ230,240が含まれる。データベースサーバグループ33には、データベースサーバの機能が実装された被管理サーバコンピュータ250,260が含まれる。
管理サーバコンピュータ100は、各サーバグループを遠隔操作、統合管理する機能を備えている。具体的には、管理サーバコンピュータ100は、クライアントコンピュータ310,320に対して提供するサービスを、多階層のアプリケーションによって提供する場合の、被管理サーバコンピュータ間の処理の依頼関係(論理的な接続)を管理している。この依頼関係には、メッシュ負荷分散型の接続形態(メッシュ接続)とライン負荷分散型の接続形態(ライン接続)とがある。
図5は、メッシュ接続の例を示す図である。この例では、被管理サーバコンピュータ210,220には、それぞれWebサーバ211,221のサーバアプリケーションが実装されている。被管理サーバコンピュータ230,240には、それぞれアプリケーションサーバ231,241のサーバアプリケーションが実装されている。被管理サーバコンピュータ250,260には、それぞれデータベースサーバ251,261のサーバアプリケーションが実装されている。データベースサーバ251,261は、それぞれデータベース(DB)252,262を管理している。
各被管理サーバコンピュータ210,220,230,240,250,260に実装されたサーバアプリケーションの配置タイミングは、管理サーバコンピュータ100によって制御される。また、負荷分散装置200における分散処理に関する詳細な設定内容についても、管理サーバコンピュータ100で管理される。
メッシュ接続では、Webサーバグループ31内の各Webサーバ211,221とアプリケーションサーバグループ32内の各アプリケーションサーバ231,241とが互いに接続されている。また、アプリケーションサーバグループ32内の各アプリケーションサーバ231,241とデータベースサーバグループ33内の各データベースサーバ251,261とが互いに接続されている。
また、クライアントコンピュータ310,320には、Webブラウザ311,321が実装されている。ユーザは、クライアントコンピュータ310,320に操作入力を行い、Webブラウザ311,321に対して様々な命令を入力する。Webブラウザ311,321は、操作入力により指示された命令の内容に、ネットワーク10を介したサービスの提供要求が含まれていれば、その命令に応じた処理要求を出力する。
Webブラウザ311,321から出力された処理要求は、負荷分散装置200によって、Webサーバ211とWebサーバ221との何れかに振り分けられる。Webサーバ211,221は、処理要求を受け取ると、アプリケーションサーバ231とアプリケーションサーバ241との何れかに処理を依頼する。アプリケーションサーバ231,241は、依頼された処理を実行し、その処理中でデータベースアクセスが発生すると、データベースサーバ251とデータベースサーバ261との何れかに処理を依頼する。データベースサーバ251,261は、依頼に応じてデータベースのアクセスを行う。
各サーバでの処理結果は、それぞれ処理の依頼元に返される。これにより、最終的に、Webブラウザ311,321は、処理供給に応じた処理の結果を受け取ることができる。
ここで、処理の依頼関係において、クライアントコンピュータ310,320に近い方のサーバアプリケーションを、階層構造における上位とする。その場合、下位のサーバアプリケーションの新規配置や更新を行う際には、関連する上位のサーバアプリケーションに関する情報が必要となる。たとえば、処理の依頼元となる上位のサーバアプリケーションが配置された被管理サーバコンピュータのIPアドレス等を、下位のサーバアプリケーションの環境変数に設定する場合がある。
この場合、上位のアプリケーションから順に配置処理を行う必要がある。具体的には、被管理サーバコンピュータ250,260にデータベースサーバ251,261を配置する際には、アプリケーションサーバ231,241の少なくとも1つが正常に配置されていなければならない。同様に、被管理サーバコンピュータ230,240にアプリケーションサーバ231,241を配置する際には、Webサーバ211,221の少なくとも1つが正常に配置されていなければならない。
図6は、ライン接続の例を示す図である。ライン接続では、各サーバグループ内の1つずつのサーバが、互いに関連付けられている。図6の例では、Webサーバ211とアプリケーションサーバ231とが関連付けられ、アプリケーションサーバ231とデータベースサーバ251とが関連付けられている。同様に、Webサーバ221とアプリケーションサーバ241とが関連付けられ、アプリケーションサーバ241とデータベースサーバ261とが関連付けられている。これらの互いに関連するサーバによって、多階層のサービスが提供される。
ライン接続では、各サーバグループ内の1台ずつの被管理サーバコンピュータ同士が関連付けられている。そのため、各被管理サーバコンピュータ内にサーバアプリケーションを配置するには、関連付けられた上位の被管理サーバコンピュータにおけるサーバアプリケーションが正常に配置されていることが必要である。
具体的には、被管理サーバコンピュータ250にデータベースサーバ251を配置する際には、アプリケーションサーバ231が正常に配置されていなければならない。また、被管理サーバコンピュータ230にアプリケーションサーバ231を配置する際には、Webサーバ211が正常に配置されていなければならない。
同様に、被管理サーバコンピュータ260にデータベースサーバ261を配置する際には、アプリケーションサーバ241が正常に配置されていなければならない。また、被管理サーバコンピュータ240にアプリケーションサーバ241を配置する際には、Webサーバ221が正常に配置されていなければならない。
このように、メッシュ接続かライン接続かにより、下位のサーバアプリケーションを配置できるかどうかが異なってくる。そこで、管理サーバコンピュータ100は、クライアントコンピュータ310,320に提供するサービス毎の接続形態を管理し、その接続形態に応じて、各サーバアプリケーションの配置処理の順番を制御する。
図7は、管理サーバコンピュータの機能ブロック図である。管理サーバコンピュータ100は、サーバ定義情報111、配置先情報群112、ステータス情報群113、配置可能サーバリスト群114、配置失敗サーバリスト群115、サーバグループ管理テーブル116、サーバリスト群117、配置成功サーバリスト118、アプリケーション情報群119、サーバグループ情報群120、サーバ定義設定部121、サーバ管理制御部122、配置制御部123、サーバグループ制御部124、および複数の配置ファイル131,132,133を有している。
サーバ定義情報111は、ユーザに対して多階層のサービスを提供する被管理サーバコンピュータ等に関する情報である。
配置先情報群112は、サーバアプリケーションが実装された被管理サーバコンピュータに関する情報(配置先情報)の集合である。
ステータス情報群113は、各被管理サーバコンピュータに対する操作(作成、起動、停止等)の処理結果を示す情報(ステータス情報)の集合である。
配置可能サーバリスト群114は、配置可能な被管理サーバコンピュータを示す情報(配置可能サーバリスト)の集合である。
配置失敗サーバリスト群115は、配置処理に失敗した被管理サーバコンピュータを示す情報(配置失敗サーバリスト)の集合である。
サーバグループ管理テーブル116には、サーバグループ毎のサーバリストへのポインタが設定されている。
サーバリスト群117は、各サーバグループに属する被管理サーバコンピュータのリスト(サーバリスト)の集合である。
配置成功サーバリスト群118は、配置に成功した被管理サーバコンピュータを示す情報(配置成功サーバリスト)の集合である。
アプリケーション情報群119は、配置されたアプリケーションに関する情報(アプリケーション情報)の集合である。
サーバグループ情報群120は、サーバグループに関する情報(サーバグループ情報)の集合である。
サーバ定義設定部121は、ユーザからの操作入力に応答して、サーバ定義情報111に対してデータを登録する。
サーバ管理制御部122は、管理者からのサーバアプリケーションの配置要求に応じて、サーバ定義情報111から、配置すべきサービスに関する情報を取得する。そして、サーバ管理制御部122は、配置すべきサーバアプリケーションの配置指示を、配置制御部123に渡す。
配置制御部123は、配置指示に応じて、データベースサーバ、アプリケーションサーバ、Webサーバ用のサーバアプリケーションを、被管理サーバコンピュータに配置する。具体的には、配置制御部123は、サーバアプリケーションの配置順を決定し、その配置順に沿って、被管理サーバコンピュータに対する配置ファイル131,132,133の配置指示を、サーバグループ制御部124に対して行う。
サーバグループ制御部124は、配置制御部123からの指示に従って、各被管理サーバコンピュータにアクセスし、サーバアプリケーションの配置処理を行う。具体的には、サーバグループ制御部124は、サーバアプリケーションに対応する配置ファイルを被管理サーバコンピュータに送信し、被管理サーバコンピュータを遠隔操作することで、サーバアプリケーションの動作環境設定を行う。
配置ファイル131,132,133は、被管理サーバコンピュータに配置するアプリケーションソフトウェアの資源である。配置ファイル131,132,133には、被管理サーバコンピュータで実行すべきプログラムや、プログラムの実行に必要な各種データが含まれる。
次に、図8〜図12を参照して、管理サーバコンピュータ100内の各種情報のデータ構造例について説明する。
図8は、サーバ定義情報のデータ構造例を示す図である。サーバ定義情報111には、サービス名、詳細定義、結線情報、Webサーバグループ名、アプリケーションサーバグループ名、データベースサーバグループ名、Webサーバ配置先情報、アプリケーションサーバ配置先情報、およびデータベースサーバ配置先情報の欄が設けられている。
サービス名の欄には、クライアントコンピュータに提供するサービスの名称が設定される。詳細定義の欄には、サービスの詳細な設定内容が定義される。
結線情報の欄には、多階層に階層化された複数のサーバでサービスを提供する際の、サーバ間の論理的な接続形態が設定される。接続形態としては、メッシュ接続とライン接続とがある。
Webサーバグループ名の欄には、複数のWebサーバグループそれぞれを一意に識別するための名称が設定される。アプリケーションサーバグループ名の欄には、複数のアプリケーションサーバグループそれぞれを一意に識別するための名称が設定される。データベースサーバグループ名の欄には、複数のデータベースサーバグループそれぞれを一意に識別するための名称が設定される。
Webサーバ配置先情報の欄には、対応するWebサーバグループに属するWebサーバの配置先を示す配置先情報へのポインタが設定される。アプリケーションサーバ配置先情報の欄には、対応するアプリケーションサーバグループに属するアプリケーションサーバの配置先を示す配置先情報へのポインタが設定される。データベースサーバ配置先情報の欄には、対応するデータベースサーバグループに属するデータベースサーバの配置先を示す配置先情報へのポインタが設定される。
図9は、配置先情報群のデータ構造例を示す図である。配置先情報群112には、サーバグループ毎の配置先情報112a,112b,112c,・・・が含まれている。配置先情報112aには、序列、サーバ名、およびステータス情報の欄が設けられている。他の配置先情報112b,112c,・・・のデータ構造も配置先情報112aと同様である。
序列の欄には、サーバアプリケーションに設定されたサーバグループ内での順番が設定される。この順番は、たとえば、サーバアプリケーションがサーバグループに参加した順番が設定される。
サーバ名の欄には、配置先情報112aに対応するサーバグループに属するサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。
ステータス情報の欄には、対応する被管理サーバコンピュータに実装されたサーバアプリケーションの状態を示すステータス情報の名称が設定される。
図10は、ステータス情報群のデータ構造例を示す図である。ステータス情報群113には、サーバアプリケーション毎の複数のステータス情報113a,113b,113c,・・・が含まれている。
各ステータス情報113a,113b,113c,・・・には、操作名、ステータス、メッセージ、および詳細情報の欄が設けられている。操作名の欄には、サーバアプリケーションに対して管理サーバコンピュータ100から行われた操作の名称が設定される。操作には、作成、更新、削除がある。作成は、被管理サーバコンピュータにサーバアプリケーションを配置する操作である。更新は、サーバアプリケーションの内容を更新する操作である。削除は、サーバアプリケーションを被管理サーバコンピュータから削除する操作である。
ステータスの欄には、対応する操作が成功したか否かが設定される。メッセージの欄には、操作の結果を管理コンソール端末装置21に表示させる際のメッセージが設定される。詳細情報の欄には、操作に関する特記事項が設定される。たとえば、操作に失敗した理由が設定される。
図11は、配置可能サーバリスト群のデータ構造例を示す図である。配置可能サーバリスト群114には、サーバグループ毎の配置可能サーバリスト114a,114b,114c,・・・が含まれる。
配置可能サーバリスト114aには、序列とサーバ名との欄が設けられている。配置可能サーバリスト114b,114c,・・・のデータ構造も配置可能サーバリスト114aと同様である。
序列の欄には、同じサーバグループの配置先情報112aに設定されたサーバアプリケーションのうち、配置に成功したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、配置に成功したサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。
図12は、配置失敗サーバリスト群のデータ構造例を示す図である。配置失敗サーバリスト群115には、サーバグループ毎の配置失敗サーバリスト115a,115b,115c,・・・が含まれる。
配置失敗サーバリスト115aには、序列とサーバ名との欄が設けられている。配置失敗サーバリスト115b,115c,・・・のデータ構造も配置失敗サーバリスト115aと同様である。
序列の欄には、同じサーバグループの配置先情報112aに設定されたサーバアプリケーションのうち、配置に失敗したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、サーバアプリケーションの配置に失敗した被管理サーバコンピュータの名称が設定される。
図13は、サーバグループ管理テーブルのデータ構造例を示す図である。サーバグループ管理テーブル116には、サーバグループ名とサーバリストとの欄が設けられている。
サーバグループ名の欄には、システム内に設定された各サーバグループを識別するための名称が設定される。サーバリストの欄には、対応するサーバグループに関するサーバリストに対するポインタが設定される。
図14は、サーバリスト群のデータ構造例を示す図である。サーバリスト群117には、サーバグループ毎のサーバリスト117a,117b,117c,・・・が含まれている。各サーバリスト117a,117b,117c,・・・には、対応するサーバグループに属する被管理サーバコンピュータの名称が登録される。
このサーバリスト117a,117b,117c,・・・は、サーバグループ制御部124が配置処理を行う際に参照される。具体的には、配置処理を行う場合、サーバグループ内の各被管理サーバコンピュータの選択処理を、繰り返し行う必要がある。その際、選択対象が登録されたデータテーブルの構造が単純なほど、選択処理を高速に行うことができる。そこで、本実施の形態では、選択対象となる被管理サーバコンピュータのリストをサーバリスト117a,117b,117c,・・・として用意しておくことで、繰り返し行われる選択処理の高速化を図っている。
図15は、配置成功サーバリスト群のデータ構造例を示す図である。配置成功サーバリスト群118には、サーバグループ毎の配置成功サーバリスト118a,118b,118c,・・・が含まれている。
配置成功サーバリスト118aには、序列とサーバ名との欄が設けられている。配置成功サーバリスト118b,118c,・・・のデータ構造も配置成功サーバリスト118aと同様である。
序列の欄には、同じサーバグループの配置先情報112aに設定されたサーバアプリケーションのうち、配置に成功したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、サーバアプリケーションの配置に成功した被管理サーバコンピュータの名称が設定される。
図16は、アプリケーション情報群のデータ構造例を示す図である。アプリケーション情報群119には、配置されたアプリケーション毎のアプリケーション情報119a,119b,119c,・・・が含まれている。
アプリケーション情報119aには、キーと値との欄が設けられている。他のアプリケーション情報119b,119c,・・・のデータ構造も、アプリケーション情報119aと同様である。
キーの欄には、アプリケーションに関連する情報(キー)の名称が設定される。値の欄には、キーに対して付与された値が設定される。
図17は、サーバグループ情報群のデータ構造例を示す図である。サーバグループ情報群120には、サーバグループ毎のサーバグループ情報120a,120b,120c,・・・が含まれている。
サーバグループ情報120aには、クラス名、型、定義名、および値の欄が設けられている。クラス名の欄には、サーバグループに関するオブジェクトを定義したクラスの名称が設定される。型の欄には、サーバグループに関するデータの型が設定される。定義名の欄には、データの名称が設定される。値の欄には、データの値が設定される。
定義名「name」のデータは、サーバグループの名称である。定義名「revision」のデータは、サーバグループのリビジョン(版数)である。定義名「type」のデータは、サーバグループのタイプである。定義名「platform」のデータは、サーバグループのプラットフォームの名称である。定義名「ISVersion」のデータは、サーバグループを管理する機能の名称である。定義名「ISEdition」のデータは、サーバグループを管理する機能の版数である。定義名「ServerName」のデータは、サーバグループに含まれるサーバ名の一覧である。定義名「masterServer」のデータは、クローニングする際のマスタ(サーバグループに新規に追加されたサーバコンピュータに対して動作環境を設定するときに必要な情報の複製元)となるサーバコンピュータのサーバ名である。定義名「isCluster」のデータは、サーバグループかクラスタグループかを示すパラメータである。
次に、サーバ定義設定部121によるサーバ定義情報の設定例について説明する。
図18は、サーバ定義情報設定画面を示す図である。サーバ定義情報設定画面40には、サービス名入力部41、サービス種別選択部42、配置タイプ選択部43、配置先選択部44、サーバ間のリレーション選択部45、作成ボタン46が設けられている。
サービス名入力部41には、ユーザに提供するサービスを一意に識別するための名称が設定される。
サービス種別選択部42には、サービスの種別が設定される。図18の例では、サービスの種別として、J2EE(Java(登録商標) 2 Platform, Enterprise Edition)とCORBA(Common Object Request Broker Architecture)とがある。この例では、J2EEアプリケーションの場合に、多階層システムを構成することができる。J2EEアプリケーションの多階層システムでは、たとえば、Webサーバ、Servlet、EJB(Enterprise JavaBeans)に階層化される。この場合、Servletがアプリケーションサーバに対応し、EJBサーバがデータベースサーバに対応する。また、J2EEアプリケーションによる各階層のアプリケーションサーバは、複数、並列配置することができる。
配置タイプ選択部43では、サーバアプリケーションを分散配置する際の、配置パターンを選択することができる。図18の例では、配置パターンとして「1VM」、「別VM」、「Webのみ」、「EJBのみ」がある。ここで、VMとは「Java VM(Virtual Machine)」を意味している。
「1VM」が選択された場合、1つの被管理サーバコンピュータにWebサーバ、Servlet、EJBが配置され、1つのJava VMで実行される。「別VM」が選択されると、Webサーバ、Servlet、EJBがそれぞれ別の被管理サーバコンピュータに配置され、被管理サーバコンピュータ毎のJava VMで実行される。「Webのみ」は、Webサーバアプリケーションのみ運用する場合の配置形態である。「EJBのみ」は、EJBサーバアプリケーションのみ運用する場合の配置形態である。
配置先選択部44には、サーバアプリケーションの配置先が入力される。配置先選択部44には、Webサーバコネクタ、Servletコンテナ、EJBコンテナの欄が設けられている。Webサーバコネクタの欄では、Webサーバが配置される被管理サーバコンピュータのグループが選択される。Servletコンテナの欄では、Servlet(アプリケーションサーバ)が配置される被管理サーバコンピュータのグループが選択される。EJBコンテナの欄では、EJB(データベースサーバ)が配置される被管理サーバコンピュータのグループが選択される。
なお、配置先選択部44では、サーバグループを選択した際に、そのサーバグループに属する被管理サーバコンピュータの情報が表示される。たとえば、被管理サーバコンピュータの序列(No.)、サーバ名、IPアドレス等が表示される。
サーバ間のリレーション選択部45では、サーバ間の接続関係が指定される。接続関係は、メッシュ接続とライン接続との何れか一方を選択できる。
作成ボタン46は、サーバ定義情報設定画面40に入力された内容に基づいて、サービスに対応する定義情報を作成するためのボタンである。作成ボタン46が押下されると、サーバ定義設定部121により、サーバ定義情報設定画面40に入力された内容に基づいた新たなレコードが、サーバ定義情報111に追加される。
次に、以上のような構成のシステムにおいて管理サーバコンピュータ100がサーバアプリケーションを配置する際の処理を詳細に説明する。
図19は、管理サーバコンピュータにおける処理手順を示す図である。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS11]管理サーバコンピュータ100に管理コンソール端末装置21からサーバ管理制御部122に対応するURL(Uniform Resource Locator)を指定したサービス環境構築要求が入力されると、管理サーバコンピュータ100のOSがサーバ管理制御部122を起動する。
[ステップS12]サーバ管理制御部122は、管理コンソール端末装置21からユーザIDとパスワードとの入力を受け付け、入力された情報に基づいてユーザ認証を行う。
[ステップS13]サーバ管理制御部122は、管理コンソール端末装置21から、クライアントコンピュータ310,320への提供を開始するサービスのサービス名の入力を受け付ける。そして、サーバ管理制御部122は、入力されたサービス名に対応するサービスを、配置対象として選択する。
[ステップS14]サーバ管理制御部122は、配置制御部123を呼び出し、配置制御部123にアプリケーションの配置を依頼すると共に、ステップS13で選択したサービスのサービス名を渡す。これにより、配置制御部123におちて、アプリケーションの配置制御が行われる。そして、サーバ管理制御部122は、配置制御部123からの戻り値として、配置処理の結果を受け取る。配置制御処理の詳細は後述する。
なお、配置処理は、配置を依頼する段階では、新規追加と更新との区別はない。配置処理の依頼をしたときに、配置対象のサーバコンピュータに、旧版のアプリケーションが配置済みであれば、更新処理が行われる。旧版のアプリケーションが配置されていなければ、新規追加処理が行われる。
[ステップS15]サーバ管理制御部122は、結果を管理コンソール端末装置21に対して出力する。
次に、サーバ管理制御部122からのアプリケーションの配置依頼に応じて配置制御部123が行う配置制御処理を、詳細に説明する。
図20は、配置制御処理の詳細手順の前半を示す図である。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS21]配置制御部123は、サーバ管理制御部122からアプリケーションの配置依頼と共にサービス名を受け取ると、サービス名に対応する配置ファイルとアプリ情報とを取得する。そして、配置制御部123は、サーバ定義情報111から、サービス名に対応するサービスの定義情報を取得する。
[ステップS22]配置制御部123は、取得した定義情報をメモリ(たとえば、RAM102)に書き込み、そのメモリ上で管理する。
[ステップS23]配置制御部123は、配置先情報群112から配置先情報(Webサーバの配置先情報112a、アプリケーションサーバの配置先情報112b、データベースサーバの配置先情報112c)と結線情報(ライン接続またはメッシュ接続)とを抽出する。
[ステップS24]配置制御部123は、Webサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、Webサーバの配置先を認識し、配置可能サーバリストを生成する。詳細には、以下の処理(ステップS24a,S24b,S24c)が行われる。
[ステップS24a]配置制御部123は、配置先情報群112内のWebサーバの配置先情報を参照し、Webサーバを配置すべき被管理サーバコンピュータのステータス情報の名称を取得する。そして、配置制御部123は、取得した名称のステータス情報を、ステータス情報群113から取得する。
[ステップS24b]配置制御部123は、取得したステータス情報をメモリ(たとえば、RAM102)に書き込み、そのメモリ上で管理する。
[ステップS24c]配置制御部123は、配置先情報から序列を獲得する。具体的には、配置制御部123は、ステップS24bで管理しているステータス情報、結線情報、およびアプリケーション情報(存在していれば、前回の配置処理において、各被管理サーバコンピュータに対応付けて生成されたアプリケーション情報を含む)を参照し、配置可能サーバリストを生成する。具体的には、配置制御部123は、配置先情報に含まれるサーバコンピュータのうち、ステータス情報において以前の配置処理に失敗しているサーバコンピュータを除外したものとリストを、配置可能サーバリストとする。
このとき、各被管理サーバコンピュータの序列の値が小さいものほど、配置処理を実行する優先度が高くなる。
また、配置対象の被管理サーバコンピュータに対して、前回の配置処理におけるアプリケーション情報が存在する場合、配置制御部123は、前回のアプリケーション情報と、今回は配置するアプリケーションのアプリケーション情報とを比較する。そして、配置制御部123は、アプリケーション情報が同一であれば、更新済みであると判断し、その被管理サーバコンピュータを配置対象から除外する(配置可能サーバリストから除外する)。
図21は、配置制御処理の詳細手順の後半を示す図である。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS31]配置制御部123は、サービス名、配置ファイル、配置可能サーバリストを参照し、配備可能サーバリストに登録されているサーバコンピュータに対して、Webサーバの配置処理を行う。その結果、配置制御部123は、配置失敗サーバリスト、アプリケーションサーバ用配置資源を生成する。具体的には、以下の処理(ステップS31a,S31b,S31c)が行われる。
[ステップS31a]配置制御部123は、サービス名に基づいて、該当するサービスのWebサーバグループのサーバグループ名を特定する。これにより、配置先が認識される。
[ステップS31b]配置制御部123は、サーバグループ制御部124に対して、Webサーバの配置を依頼する。具体的には、配置制御部123は、サーバグループ名、配置ファイル、および配置可能サーバリストをサーバグループ制御部124に渡し、配置を依頼する。そして、配置制御部123は、サーバグループ制御部124から、各被管理サーバコンピュータに対する配置処理の結果を受け取り、配置失敗サーバリストと配置成功サーバリストとを生成する。なお、サーバグループ制御部124で行われる処理の詳細は、後述する。
[ステップS31c]配置制御部123は、配置失敗サーバリストおよび配置成功サーバリストの情報を、それぞれ、配置失敗サーバリスト群115、配置成功サーバリスト群118に格納する。この際、配置制御部123は、配置したサーバアプリケーションの情報を、アプリケーション情報群119に格納する。
[ステップS32]配置制御部123は、アプリケーションサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、アプリケーションサーバの配置先を認識し、配置可能サーバリストを生成する。詳細は、Webサーバの配置の場合(ステップS24a,S24b,S24c)と同様である。
[ステップS33]配置制御部123は、サービス名、アプリケーションサーバ用配置資源、配置可能サーバリストを参照し、配備可能サーバリストに登録されているサーバコンピュータに対して、アプリケーションサーバの配置処理を行う。その結果、配置失敗サーバリスト、データベースサーバ用配置資源を生成する。詳細は、Webサーバの配置の場合(ステップS31a,S31b,S31c)とほぼ同様である。ただし、アプリケーションサーバの配置には、Webサーバを配置する際に生成されたアプリケーションサーバ配置資源を用いた配置が行われる。これにより、異なる被管理サーバコンピュータに配置されたサーバアプリケーションを連携して動作させるための環境設定を行うことができる。
[ステップS34]配置制御部123は、データベースサーバ配置先情報、結線情報、およびアプリケーション情報に基づいて、データベースの配置先を認識し、配置可能サーバリストを生成する。詳細は、Webサーバの配置の場合(ステップS24a,S24b,S24c)と同様である。
[ステップS35]配置制御部123は、サービス名、データベースサーバ用配置資源、配置可能サーバリストを参照し、配備可能サーバリストに登録されているサーバコンピュータに対して、データベースサーバの配置処理を行う。その結果、配置失敗サーバリストを生成する。詳細は、Webサーバの配置の場合(ステップS31a,S31b,S31c)とほぼ同様である。ただし、データベースサーバの配置には、アプリケーションサーバを配置する際に生成されたデータベースサーバ用配置資源を用いた配置が行われる。
[ステップS36]配置制御部123は、各サーバアプリケーションの配置処理によって生成された配置失敗サーバリストをマージ(統合)する。
[ステップS37]配置制御部123は、サービス名、定義クラス名(サーバ定義情報111を定義しているクラスの名称)、サーバ定義情報に基づき、その定義情報に関連付けて、ステップS36で生成された配置失敗サーバリストを配置失敗サーバリスト群115に格納する。
図22は、アプリケーション配布処理の詳細を示す図である。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS41]サーバグループ制御部124は、サーバグループ名、およびサーバグループ管理テーブル116に基づいて、サーバアプリケーションを配置すべきサーバコンピュータのサーバ名のリスト(サーバリスト)を取得する。
[ステップS42]サーバグループ制御部124は、配置すべきサーバアプリケーションの配置ファイルを、被管理サーバコンピュータに配置する。具体的には、サーバグループ制御部124は、サーバリストから順次、被管理サーバコンピュータのサーバ名を選択する。次に、サーバグループ制御部124は、選択したサーバ名が、配置可能サーバリストに登録されているか否かを判断する。配置可能サーバリストに登録されていれば、サーバグループ制御部124は、該当する被管理サーバコンピュータに対して、配置データを送信する。そして、サーバグループ制御部124は、配置対象の被管理サーバコンピュータを操作し、送信した配置ファイルに基づくサーバアプリケーションの動作環境を設定する。
なお、配置可能サーバリストにサーバ名が登録されていない被管理サーバコンピュータに対しては、配置ファイルの送信等の処理は行われない。
[ステップS43]サーバグループ制御部124は、被管理サーバコンピュータから配置処理結果の応答を受け取り、サーバアプリケーションの配置に成功したか否かを判断する。そして、サーバグループ制御部124は、配置失敗サーバリストと配置成功サーバリストとを生成し、配置制御部123に渡す。
以上のようにして、多階層構成のサーバに跨るアプリケーションの配備操作を、1つの手順で操作できる。その結果、システムの管理運用が容易になる。
また、並列サーバのアプリケーションの均一性を保つための配備操作抑止が行われることで、アプリケーション環境の破壊を抑止できる。
なお、本実施の形態を用いて、J2EEアプリケーションによるサービスを提供する場合、たとえば、Webサーバ、Servlet、EJBサーバによる多階層システムが構築できる。このような、J2EEアプリケーションの配置機能では、Webサーバ、Servlet、EJBサーバそれぞれが並列サーバで運用されている場合には、各階層、並列で運用されているサーバに対し、一括してアプリケーションが配置される。
この際、配備するアプリケーションの種別により、必要に応じて、アプリケーションの配備操作が行われる。たとえば、warファイルの配備では、Webサーバを配備しているサーバに対してのみ、アプリケーション資材の転送が行われる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバコンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
符号の説明
1 グループ管理情報
2 配置対象決定手段
3a,3b,3c 配置データ
4 アプリケーション配置手段
5,6,7 サーバグループ
5a,5b,6a,6b,7a,7b サーバコンピュータ

Claims (7)

  1. 互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理プログラムにおいて、
    コンピュータを、
    サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定する配置対象決定手段、
    提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行うアプリケーション配置手段、
    として機能させることを特徴とするアプリケーション管理プログラム。
  2. 前記アプリケーション配置手段は、アプリケーション間の処理の依頼関係に基づいて、依頼元となるアプリケーションの前記配置データを、依頼先となるアプリケーションの前記配置データより先に選択することを特徴とする請求の範囲第1項記載のアプリケーション管理プログラム。
  3. 前記アプリケーション配置手段は、依頼元となるアプリケーションの動作環境設定により発生した情報を用いて、依頼先となるアプリケーションの導入処理を行うことを特徴とする請求の範囲第2項記載のアプリケーション管理プログラム。
  4. 前記アプリケーション配置手段は、各サーバコンピュータに対するアプリケーションの動作環境設定結果を記憶し、動作環境設定に失敗したサーバコンピュータに対しては、次回以降のアプリケーションの更新処理を抑止することを特徴とする請求の範囲第1項記載のアプリケーション管理プログラム。
  5. コンピュータにより、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理方法において、
    配置対象決定手段が、サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定し、
    アプリケーション配置手段が、提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行う、
    ことを特徴とするアプリケーション管理方法。
  6. 互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理装置において、
    コンピュータを、
    サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定する配置対象決定手段と、
    提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行うアプリケーション配置手段と、
    を有することを特徴とするアプリケーション管理装置。
  7. 互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
    前記コンピュータを、
    サービス環境の構築要求を受け取ると、提供する機能によって分類された複数のサーバグループそれぞれに属するサーバコンピュータが定義されたグループ管理情報を参照し、提供するサービスに必要な複数の機能それぞれに対応するサーバグループに属するサーバコンピュータを、対応する機能を実現するためのアプリケーションの配置対象として決定する配置対象決定手段、
    提供するサービスに必要な機能を実現するためのアプリケーションの配置データを順次選択し、選択した前記配置データを、対応するアプリケーションの配置対象として決定されたサーバコンピュータに対して転送し、アプリケーションの動作環境設定を行うアプリケーション配置手段、
    として機能させることを特徴とするアプリケーション管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006542137A 2004-10-20 2004-10-20 設定プログラム、設定方法、および設定装置 Expired - Fee Related JP4799419B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/015525 WO2006043320A1 (ja) 2004-10-20 2004-10-20 アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置

Publications (2)

Publication Number Publication Date
JPWO2006043320A1 true JPWO2006043320A1 (ja) 2008-05-22
JP4799419B2 JP4799419B2 (ja) 2011-10-26

Family

ID=36202745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542137A Expired - Fee Related JP4799419B2 (ja) 2004-10-20 2004-10-20 設定プログラム、設定方法、および設定装置

Country Status (3)

Country Link
US (1) US8099478B2 (ja)
JP (1) JP4799419B2 (ja)
WO (1) WO2006043320A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7394767B2 (en) * 2005-03-31 2008-07-01 Motorola, Inc. Distributed redundancy capacity licensing in a telecommunication network element
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US9251498B2 (en) * 2006-10-23 2016-02-02 Oracle International Corporation Facilitating deployment of customizations of enterprise applications
US8788668B2 (en) 2008-02-22 2014-07-22 Nec Corporation Information processing apparatus, information processing system, setting program transmission method and server setting program
US20100042988A1 (en) * 2008-08-14 2010-02-18 Microsoft Corporation Installation Management using Virtual Machines
WO2010024027A1 (ja) * 2008-08-28 2010-03-04 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
US8055739B2 (en) * 2008-09-09 2011-11-08 International Business Machines Corporation Sharing performance data between different information technology product/ solution deployments
US8676946B1 (en) 2009-03-10 2014-03-18 Hewlett-Packard Development Company, L.P. Warnings for logical-server target hosts
US9154385B1 (en) * 2009-03-10 2015-10-06 Hewlett-Packard Development Company, L.P. Logical server management interface displaying real-server technologies
US9547455B1 (en) 2009-03-10 2017-01-17 Hewlett Packard Enterprise Development Lp Allocating mass storage to a logical server
US8549123B1 (en) 2009-03-10 2013-10-01 Hewlett-Packard Development Company, L.P. Logical server management
US8832235B1 (en) 2009-03-10 2014-09-09 Hewlett-Packard Development Company, L.P. Deploying and releasing logical servers
US9264432B1 (en) 2011-09-22 2016-02-16 F5 Networks, Inc. Automatic proxy device configuration
US8850413B2 (en) * 2012-05-31 2014-09-30 Oracle International Corporation Compiling multi-threaded applications for targeted criticalities
US20140040477A1 (en) * 2012-07-31 2014-02-06 F5 Networks, Inc. Connection mesh in mirroring asymmetric clustered multiprocessor systems
US9344465B2 (en) * 2012-12-04 2016-05-17 International Business Machines Corporation Correlating computing network events
FR3003667A1 (fr) * 2013-03-25 2014-09-26 Arrow Ecs Optimisation de modules informatiques pour le deploiement d'un service informatique
US9921882B2 (en) 2013-04-17 2018-03-20 Nec Corporation Information processing system, deployment method, processing device, and deployment device
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
US9571603B2 (en) 2013-09-17 2017-02-14 Cisco Technology, Inc. Redundancy network protocol system
US9705995B2 (en) * 2014-03-18 2017-07-11 Axis Ab Capability monitoring in a service oriented architecture
US20160246582A1 (en) * 2015-02-25 2016-08-25 Red Hat, Inc. Generic Semantic Configuration Service
US20180212462A1 (en) * 2015-07-29 2018-07-26 Kyocera Corporation Management server and management method
US20180307472A1 (en) * 2017-04-20 2018-10-25 Sap Se Simultaneous deployment on cloud devices and on on-premise devices
US10656930B2 (en) * 2018-09-12 2020-05-19 Microsoft Technology Licensing, Llc Dynamic deployment target control
CN113434258B (zh) * 2021-07-07 2024-04-12 京东科技控股股份有限公司 模型部署方法、装置、设备和计算机存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274321A (ja) * 1993-03-19 1994-09-30 Nec Corp 依存関係考慮コマンドインタプリタ
JPH07225723A (ja) * 1994-02-08 1995-08-22 Fujitsu Ltd ネットワークを活用したソフトウェア流通・保守システムおよび方法
JP2001067225A (ja) * 1999-08-26 2001-03-16 Hitachi Ltd ソフトウェア配布方法およびシステム
JP2001175460A (ja) * 1999-12-15 2001-06-29 Hitachi Ltd プログラム配付管理システム
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2003507817A (ja) * 1999-08-23 2003-02-25 テラスプリング・インコーポレーテッド 拡張可能なコンピューティング・システム
JP2004178290A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd 管理サーバ装置,apサーバ,及びプログラムを記憶した記憶媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2861195B2 (ja) 1990-02-15 1999-02-24 日本電気株式会社 ダウンローディングシステム
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US20010039548A1 (en) * 2000-04-27 2001-11-08 Yoshitake Shinkai File replication system, replication control method, and storage medium
US7406484B1 (en) * 2000-09-12 2008-07-29 Tbrix, Inc. Storage allocation in a distributed segmented file system
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
BR0207790A (pt) * 2001-03-19 2004-03-23 Diebold Inc Sistema de caixas automáticos ("atms"); método; método para procurar por uma pessoa
US6996106B2 (en) * 2001-11-29 2006-02-07 Koninklijke Philips Electronics N.V. High-speed interchip interface protocol
US7409676B2 (en) * 2003-10-20 2008-08-05 International Business Machines Corporation Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274321A (ja) * 1993-03-19 1994-09-30 Nec Corp 依存関係考慮コマンドインタプリタ
JPH07225723A (ja) * 1994-02-08 1995-08-22 Fujitsu Ltd ネットワークを活用したソフトウェア流通・保守システムおよび方法
JP2003507817A (ja) * 1999-08-23 2003-02-25 テラスプリング・インコーポレーテッド 拡張可能なコンピューティング・システム
JP2001067225A (ja) * 1999-08-26 2001-03-16 Hitachi Ltd ソフトウェア配布方法およびシステム
JP2001175460A (ja) * 1999-12-15 2001-06-29 Hitachi Ltd プログラム配付管理システム
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2004178290A (ja) * 2002-11-27 2004-06-24 Hitachi Ltd 管理サーバ装置,apサーバ,及びプログラムを記憶した記憶媒体

Also Published As

Publication number Publication date
US20070192769A1 (en) 2007-08-16
WO2006043320A1 (ja) 2006-04-27
US8099478B2 (en) 2012-01-17
JP4799419B2 (ja) 2011-10-26

Similar Documents

Publication Publication Date Title
JP4799419B2 (ja) 設定プログラム、設定方法、および設定装置
US11563809B2 (en) Live migration of clusters in containerized environments
US9229703B1 (en) User controlled environment updates in server cluster
US7941510B1 (en) Management of virtual and physical servers using central console
US7383327B1 (en) Management of virtual and physical servers using graphic control panels
JP4467624B2 (ja) ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
US7096336B2 (en) Information processing system and management device
US7441024B2 (en) Method and apparatus for applying policies
US6195765B1 (en) System and method for testing an application program
US7668924B1 (en) Methods and system for integrating SAN servers
US8627028B2 (en) Method of constructing replication environment and storage system
US20100228819A1 (en) System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US20090049056A1 (en) Multi-tenant hosted application system
US11095505B1 (en) User controlled environment updates in server cluster
US20100058319A1 (en) Agile deployment of server
US7975038B2 (en) Application management program, application management method, and application management apparatus
JP2014044553A (ja) プログラム、情報処理装置および情報処理システム
JP2004341994A (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
JP4167643B2 (ja) 業務システムの運用方法、運用管理システムおよび運用プログラム
JP4874807B2 (ja) サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置
JP2006106986A (ja) アクセス管理方法及び情報処理装置
JPH1091405A (ja) ソフトウェア保守方法
JP4829293B2 (ja) 定義情報管理プログラム、定義情報管理装置、および定義情報管理方法
JP2001154832A (ja) コンピュータシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110509

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: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees