(57)【特許請求の範囲】
【請求項１】
互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理プログラムにおいて、
コンピュータを、
サーバコンピュータに配置されるアプリケーションに対して当該アプリケーションより先に起動すべき関連アプリケーションが配置される複数のサーバコンピュータが対応付けられた第１の接続形態およびサーバコンピュータに配置されるアプリケーションに対して前記関連アプリケーションが配置される１以上の複数のサーバコンピュータのうちの１台が対応付けられた第２の接続形態の何れかの選択入力を受け付けることで前記第１の接続形態および前記第２の接続形態の何れかを示す結線情報を取得し、取得した前記結線情報と、サービスを提供するアプリケーションの配置先とするサーバコンピュータを指定する情報と、を含むサーバ定義情報を生成して記憶手段に格納するサーバ定義設定手段、
サービスの提供開始要求が入力されると前記記憶手段に記憶された前記サーバ定義情報を参照し、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータを選択する選択手段、
サーバコンピュータに対するアプリケーションの起動処理の結果が登録されたステータス情報を参照し、前記記憶手段に記憶された前記サーバ定義情報に含まれる前記結線情報が前記第１の接続形態を示す場合、前記関連アプリケーションが配置される複数のサーバコンピュータのうちの少なくとも１つのサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認し、前記結線情報が前記第２の接続形態を示す場合、前記結線情報により対応付けられた１台のサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認する確認手段、
前記関連アプリケーションが正しく起動されていることが確認された場合、前記起動対象サーバコンピュータに対してアプリケーションの起動を指示し、起動に成功したか否かを前記ステータス情報に登録する起動制御手段、
として機能させることを特徴とするアプリケーション管理プログラム。
【請求項２】
前記選択手段は、複数のサーバコンピュータが、配置されているアプリケーション毎にグループ化されている場合、アプリケーションの起動順に従ってグループを順次選択し、選択したグループ内の全てのサーバコンピュータを前記起動対象サーバコンピュータとして順次選択した後、次のグループへ処理を移行し、
前記起動制御手段は、前記結線情報に、前記関連アプリケーションが配置されたグループ内の全てのサーバコンピュータが、前記起動対象サーバコンピュータに配置されたアプリケーションの処理依頼先として定義されている場合、前記関連アプリケーションが配置されたグループ内のサーバコンピュータの少なくとも１つにおいて、前記関連アプリケーションが正しく起動されたことが確認されていれば、前記起動対象サーバコンピュータに対してアプリケーションの起動を指示する、
ことを特徴とする請求項１記載のアプリケーション管理プログラム。
【請求項３】
前記サーバ定義情報には、アプリケーションの配置に失敗したサーバコンピュータが登録されており、
前記選択手段は、当該アプリケーションの配置に失敗したサーバコンピュータを前記起動対象サーバコンピュータの選択対象から除外する、
ことを特徴とする請求項１または２の何れか一項に記載のアプリケーション管理プログラム。
【請求項４】
互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理方法において、
サーバ定義設定手段が、サーバコンピュータに配置されるアプリケーションに対して当該アプリケーションより先に起動すべき関連アプリケーションが配置される複数のサーバコンピュータが対応付けられた第１の接続形態およびサーバコンピュータに配置されるアプリケーションに対して前記関連アプリケーションが配置される１以上の複数のサーバコンピュータのうちの１台が対応付けられた第２の接続形態の何れかの選択入力を受け付けることで前記第１の接続形態および前記第２の接続形態の何れかを示す結線情報を取得し、取得した前記結線情報と、サービスを提供するアプリケーションの配置先とするサーバコンピュータを指定する情報と、を含むサーバ定義情報を生成して記憶手段に格納し、
選択手段が、サービスの提供開始要求が入力されると前記記憶手段に記憶された前記サーバ定義情報を参照し、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータを選択し、
確認手段が、サーバコンピュータに対するアプリケーションの起動処理の結果が登録されたステータス情報を参照し、前記記憶手段に記憶された前記サーバ定義情報に含まれる前記結線情報が前記第１の接続形態を示す場合、前記関連アプリケーションが配置される複数のサーバコンピュータのうちの少なくとも１つのサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認し、前記結線情報が前記第２の接続形態を示す場合、前記結線情報により対応付けられた１台のサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認し、
起動制御手段が、前記関連アプリケーションが正しく起動されていることが確認された場合、前記起動対象サーバコンピュータに対してアプリケーションの起動を指示し、起動に成功したか否かを前記ステータス情報に登録する、
ことを特徴とするアプリケーション管理方法。
【請求項５】
互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理装置において、
サーバコンピュータに配置されるアプリケーションに対して当該アプリケーションより先に起動すべき関連アプリケーションが配置される複数のサーバコンピュータが対応付けられた第１の接続形態およびサーバコンピュータに配置されるアプリケーションに対して前記関連アプリケーションが配置される１以上の複数のサーバコンピュータのうちの１台が対応付けられた第２の接続形態の何れかの選択入力を受け付けることで前記第１の接続形態および前記第２の接続形態の何れかを示す結線情報を取得し、取得した前記結線情報と、サービスを提供するアプリケーションの配置先とするサーバコンピュータを指定する情報と、を含むサーバ定義情報を生成して記憶手段に格納するサーバ定義設定手段と、
サービスの提供開始要求が入力されると前記記憶手段に記憶された前記サーバ定義情報を参照し、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータを選択する選択手段と、
サーバコンピュータに対するアプリケーションの起動処理の結果が登録されたステータス情報を参照し、前記記憶手段に記憶された前記サーバ定義情報に含まれる前記結線情報が前記第１の接続形態を示す場合、前記関連アプリケーションが配置される複数のサーバコンピュータのうちの少なくとも１つのサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認し、前記結線情報が前記第２の接続形態を示す場合、前記結線情報により対応付けられた１台のサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認する確認手段と、
前記関連アプリケーションが正しく起動されていることが確認された場合、前記起動対象サーバコンピュータに対してアプリケーションの起動を指示し、起動に成功したか否かを前記ステータス情報に登録する起動制御手段と、
を有することを特徴とするアプリケーション管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は他のサーバコンピュータを管理するためのアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置に関し、特にサーバコンピュータに配置されたアプリケーションの起動処理の遠隔操作を行うことができるアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置に関する。
【背景技術】
【０００２】
サーバで提供されるサービスには、複数のサーバアプリケーションが連携して動作することで提供されるものがある。たとえば、Ｗｅｂサービス機能、アプリケーションサービス機能、データベースサービス機能が連携して動作し、サービスを提供することができる。【０００３】
なお、以下の説明において、機能の名称の後に「サーバ」を付けた場合、コンピュータ上に動作するアプリケーションソフトウェアによるサービス提供機能を指すこととする。また、「サーバコンピュータ」と呼んだ場合、サービス提供用のアプリケーションソフトウェアを実行するコンピュータを指すこととする。【０００４】
複数のサーバアプリケーションを多階層に関連付けた場合、クライアントからはＷｅｂサーバに対して処理要求が出される。Ｗｅｂサーバは、アプリケーションサーバに対して、その要求に応じた処理を依頼する。アプリケーションサーバは、処理の実行に際しデータベースアクセスの必要があれば、データベースサーバにアクセスし、必要なデータを取得する。【０００５】
このような、多階層システムでは、各サーバアプリケーションを複数のサーバコンピュータ上に、役割に応じて配置することができる。たとえば、Ｗｅｂサーバとアプリケーションサーバとを別のサーバコンピュータ上に配置する。各サーバアプリケーションが個別のサーバコンピュータ上で動作していれば、サーバアプリケーションの機能に負荷分散を行うなど、柔軟性の高いシステムを組むことができる。【０００６】
ただし、互いに関連するアプリケーションが異なるサーバで動作している場合、障害発生時に対処すべき範囲が広がってしまう。そこで、システム障害が発生した場合、その障害が発生したプロセスを含むドメイン（サーバ群）単位で再起動させることで、影響範囲をドメイン単位に限定する技術が考えられている（たとえば、特許文献１参照）。
【特許文献１】特開２００２−３４２１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、多階層で構成されるアプリケーションが個別のサーバコンピュータに実装されている場合、障害発生時の再起動以外にも、システムを運用上で注意すべき事項が多数存在する。そのため、管理者の負担を増大させていた。具体的には、以下のような注意事項がある。【０００８】
第１の注意事項は、アプリケーション間の操作優先度（運用順番）を考慮して、アプリケーションを起動しなければならない点である。たとえば、データベースサーバを利用するＷｅｂアプリケーションがある場合、データベースサーバを実装したサーバコンピュータを起動後に、Ｗｅｂアプリケーションを実装したサーバコンピュータを起動する必要がある。【０００９】
第２の注意事項は、負荷分散形態において並列で運用しているサーバコンピュータ群を操作する際に、同期を取る必要がある点である。具体的には、同一アプリケーションを並列サーバコンピュータで運用しているようなシステムでは、並列サーバコンピュータの起動に同期を持たせ、全サーバコンピュータ上のアプリケーションの操作完了の同期を取る。【００１０】
第３の注意事項は、アプリケーションの障害発生時に、場合によっては他のアプリケーションを抑止する必要が生じる点である。具体的は、複数のサーバコンピュータ上のアプリケーションを運用している際に、一部のサーバコンピュータに対する操作が失敗することがある。このような場合、操作に失敗したときのサーバコンピュータに関連するアプリケーションの振る舞いを考慮する必要がある。たとえば、データベースサーバの起動操作に失敗した場合、そのデータベースサーバに依存関係を有するＷｅｂサーバの起動を抑止する必要がある。【００１１】
以上のように、多階層アプリケーションを複数のサーバコンピュータで運用するには、運用計画等の注意事項が多くなり、システムを管理する管理者への負担が過大となる。しかも、管理者の負担を軽くするためには、設計時においても上記注意事項を十分に考慮する必要があり、システムの設計者に対する負担にもなっている。設計時の考慮点が多岐に渡るのは、設計ミスの発生要因ともなる。【００１２】
本発明はこのような点に鑑みてなされたものであり、多階層アプリケーションの関連性を考慮したサーバコンピュータの起動制御を行うことができるアプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータに実装されたシステムを管理するためのアプリケーション管理プログラムが提供される。このアプリケーション管理プログラムは、コンピュータを、サーバコンピュータに配置されるアプリケーションに対して当該アプリケーションより先に起動すべき関連アプリケーションが配置される複数のサーバコンピュータが対応付けられた第１の接続形態およびサーバコンピュータに配置されるアプリケーションに対して前記関連アプリケーションが配置される１以上の複数のサーバコンピュータのうちの１台が対応付けられた第２の接続形態の何れかの選択入力を受け付けることで前記第１の接続形態および前記第２の接続形態の何れかを示す結線情報を取得し、取得した前記結線情報と、サービスを提供するアプリケーションの配置先とするサーバコンピュータを指定する情報と、を含むサーバ定義情報を生成して記憶手段に格納するサーバ定義設定手段、サービスの提供開始要求が入力されると前記記憶手段に記憶された前記サーバ定義情報を参照し、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータを選択する選択手段、サーバコンピュータに対するアプリケーションの起動処理の結果が登録されたステータス情報を参照し、前記記憶手段に記憶された前記サーバ定義情報に含まれる前記結線情報が前記第１の接続形態を示す場合、前記関連アプリケーションが配置される複数のサーバコンピュータのうちの少なくとも１つのサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認し、前記結線情報が前記第２の接続形態を示す場合、前記結線情報により対応付けられた１台のサーバコンピュータ上で前記関連アプリケーションが正しく起動されていることを確認する確認手段、前記関連アプリケーションが正しく起動されていることが確認された場合、前記起動対象サーバコンピュータに対してアプリケーションの起動を指示し、起動に成功したか否かを前記ステータス情報に登録する起動制御手段として機能させる。
【００１６】
また、上記課題を解決するために、上記アプリケーション管理プログラムを実行するコンピュータと同様の処理を行うアプリケーション管理方法が提供される。
【００１７】
また、上記課題を解決するために、上記アプリケーション管理プログラムを実行するコンピュータと同様の機能を有するアプリケーション管理装置が提供される。
【発明の効果】
【００１８】
本発明では、先に起動されるべき関連アプリケーションが起動されていることを確認してから、起動対象サーバコンピュータに対して起動処理を行う。そのため、サービスを提供するためのアプリケーションが複数のサーバコンピュータに分散配置されていても、確実にサービス提供が可能な状態でユーザへのサービス提供を開始することができる。また、分散配置の設定時に指定されたサーバ間の接続形態に応じて、分散配置されたアプリケーションを効率的に起動でき、システムの管理者による運用手順が容易になる。
【００１９】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００２０】
【図１】実施の形態に適用される発明の概念図である。
【図２】実施の形態のシステム構成を示す図である。
【図３】本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。
【図４】サーバグループの例を示す図である。
【図５】メッシュ接続の例を示す図である。
【図６】ライン接続の例を示す図である。
【図７】管理サーバコンピュータの機能ブロック図である。
【図８】サーバ定義情報のデータ構造例を示す図である。
【図９】配置先情報群のデータ構造例を示す図である。
【図１０】ステータス情報群のデータ構造例を示す図である。
【図１１】起動可能サーバリスト群のデータ構造例を示す図である。
【図１２】起動失敗サーバリスト群のデータ構造例を示す図である。
【図１３】サーバ定義情報設定画面を示す図である。
【図１４】管理サーバコンピュータにおける処理手順を示す図である。
【図１５】起動制御処理の詳細手順の前半を示す図である。
【図１６】起動制御処理の詳細手順の後半を示す図である。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。【００２２】
図１は、実施の形態に適用される発明の概念図である。本発明は、サーバ定義情報１、選択手段２、ステータス情報３、確認手段４、起動制御手段５を有している。これらの要素は、互いに連携してサービスを提供する複数のアプリケーションが個別のサーバコンピュータ７〜９に実装されたシステムを管理するため、以下の機能を有する。【００２３】
サーバ定義情報１は、サービスを提供するアプリケーションのサーバコンピュータ７〜９への配置状況が登録されている。たとえば、図１の例では、サーバコンピュータ７には、Ｗｅｂサーバが配置され、サーバコンピュータ８にはアプリケーションサーバが配置され、サーバコンピュータ９にはデータベースサーバが配置されている。【００２４】
選択手段２は、サービスの提供開始要求が入力されると、サーバ定義情報１を参照し、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータを選択する。起動順は、たとえば、処理の依頼関係において、依頼元のサーバアプリケーションよりも先に依頼先のサーバアプリケーションが起動されるように定義される。【００２５】
図１の例では、Ｗｅｂサーバがクライアントコンピュータ６からのサービス要求を受け付け、Ｗｅｂサーバからアプリケーションサーバに処理依頼が出される。そして、データベースへのアクセスを必要とする処理であれば、アプリケーションサーバからデータベースサーバに、データベースアクセスの処理依頼が出される。この場合、アプリケーションの起動順は、デーベースサーバ、アプリケーションサーバ、Ｗｅｂサーバの順となる。【００２６】
ステータス情報３は、サーバコンピュータに対するアプリケーションの起動処理の結果が登録されている。たとえば、起動処理が成功したか失敗したかの情報が、ステータス情報３として登録されている。【００２７】
確認手段４は、ステータス情報３を参照し、選択手段２で選択された起動対象サーバコンピュータに配置されたアプリケーションより先に起動すべき関連アプリケーションが正しく起動されたことを確認する。たとえば、アプリケーションサーバが配置されたサーバコンピュータ８が起動対象サーバコンピュータであれば、サーバコンピュータ９においてデータベースサーバが正しく起動されていることが確認される。【００２８】
起動制御手段５は、関連アプリケーションが正しく起動されていることが確認された場合、起動対象サーバコンピュータに対してアプリケーションの起動を指示し、サーバコンピュータ７〜９の起動制御を行う。そして、起動制御手段５は、起動制御したサーバコンピュータから結果通知を受け取り、起動起動に成功したか否かをステータス情報３に登録する。【００２９】
このような構成によれば、サービスの提供開始要求が入力されると、選択手段２により、サーバ定義情報１が参照され、処理の依頼関係に基づいて予め定義されたアプリケーションの起動順に従って、アプリケーションの起動処理を行うべき起動対象サーバコンピュータが選択される。図１の例では、データベースサーバが配置されたサーバコンピュータ９、アプリケーションサーバが配置されたサーバコンピュータ８、Ｗｅｂサーバが配置されたサーバコンピュータ７の順で、選択される。【００３０】
次に、確認手段４により、ステータス情報３が参照され、選択手段２で選択された起動対象サーバコンピュータに配置されたアプリケーションより先に起動すべき関連アプリケーションが正しく起動されたことが確認される。たとえば、起動対象サーバコンピュータがサーバコンピュータ８であれば、サーバコンピュータ９においてデータベースサーバが正しく起動されていることが確認される。【００３１】
そして、関連アプリケーションが正しく起動されていることが確認された場合、起動制御手段５により、起動対象サーバコンピュータに対してアプリケーションの起動が指示され、起動に成功したか否かがステータス情報３に登録される。なお、関連アプリケーションが正しく起動されてない場合、アプリケーションの起動制御は行われない。【００３２】
このように、本発明では、多階層で構成されるアプリケーション間の起動タイミングの優先度制御を行い、信頼性の高いシステムの運用を可能とする。
すなわち、本発明を適用しない場合、データベースサーバの起動に失敗したまま、Ｗｅｂサーバとアプリケーションサーバとが起動されることもあり得る。この場合、Ｗｅｂサーバはクライアントコンピュータ６からのサービス要求を受け付けてしまう。そのとき、サービス要求に応じた処理においてデータベースへのアクセスが必要であっても、データベースへのアクセスができない。すなわち、クライアントコンピュータ６に対して、サービスを正しく提供することができない。【００３３】
一方、本発明を適用したシステムでは、依頼先となるアプリケーションを先に起動することで、他のアプリケーションへの処理依頼を正しく行えない状態で、依頼元のアプリケーションによるサービス提供が開始されることがなくなる。従って、クライアントコンピュータ６に対するサービス提供が開始されたときには、必ず、サービスを正しく提供するための環境がシステム内で整っている。これにより、信頼性の高いサービス提供が可能となる。【００３４】
また、アプリケーションの停止操作は、起動タイミングの逆の順番で行う。たとえば、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバの順で、各アプリケーションの停止を指示する。【００３５】
さらに、各階層のアプリケーションが並列サーバ（グループ化された一群のサーバコンピュータ）で運用されている場合には、各階層間で起動、停止等の同期をとることができる。たとえば、起動時には、データベースサーバアプリケーションを運用している階層の全サーバコンピュータ上のアプリケーション起動が完了してから、アプリケーションサーバを運用しているサーバコンピュータ上のアプリケーション起動が開始される。【００３６】
なお、並列サーバで運用されていても、Ｗｅｂサーバとアプリケーションサーバとが、サーバ単位で関連付けされている場合もある。この場合には、アプリケーションサーバの起動に失敗した場合、関連付けられたＷｅｂアプリケーションの起動は行わない。【００３７】
さらに、アプリケーションの配置時に、一部サーバコンピュータで配置に失敗した場合には、その情報をステータス情報３に登録しておくことができる。そして、次回のアプリケーション起動時には、配置に失敗したサーバコンピュータを、アプリケーションの起動対象から除外することができる。【００３８】
このようにして、多階層構成のサーバコンピュータに跨るアプリケーションを、１つの業務（サービス）として運用操作できる。その結果、システムの管理者による運用手順が容易になる。【００３９】
また、１つの業務（サービス）を、マルチサーバ間に跨って運用する場合、システムの管理者が、サーバ間に跨るアプリケーションの起動、停止の優先度を把握する必要が無い。図１に示したような、アプリケーション間の関係が比較的簡単であれば、システムの管理者が優先度を把握することも可能であるが、アプリケーション間の関係が複雑になるに従い、管理者個人による優先度の把握は困難となる。【００４０】
たとえば、Ｗｅｂサーバが配置されたサーバグループが複数存在し、アプリケーションサーバが配置されたサーバグループが複数存在する場合、どのグループ間が関連付けられており、各グループに属するサーバコンピュータがどれであるのかを、管理者個人が正確に把握するのは困難である。本発明を適用したシステムによれば、階層構造のアプリケーションが並列処理されていても、優先度制御を自動的に行うことができる。【００４１】
さらに、各サーバコンピュータにアプリケーションを配置する時点で、何らかの障害が発生し、配置できない場合もある。そこで、配置失敗の情報をステータス情報３に格納しておくことで、アプリケーションの配置に失敗したサーバコンピュータを、起動対象サーバコンピュータとしての選択対象から除外することもできる。【００４２】
以下、同一の機能のサーバアプリケーションをグループ化して管理するシステムに本発明を適用した場合の例を、具体的に説明する。
図２は、実施の形態のシステム構成を示す図である。本実施の形態のシステムでは、ネットワーク１０を介して、管理サーバコンピュータ１００、負荷分散装置２００、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０、クライアントコンピュータ３１０，３２０および管理コンソール端末装置２１が接続されている。【００４３】
管理サーバコンピュータ１００は、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０を管理する。たとえば、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に対するサービスを開始する際に、そのサービスを提供する被管理サーバコンピュータを起動する。なお、管理サーバコンピュータ１００は、サービスが多階層のアプリケーションによって提供される場合には、所定の順番で、そのサービスの提供に必要なアプリケーションが実装された管理対象コンピュータを起動する。【００４４】
負荷分散装置２００は、クライアントコンピュータ３１０，３２０からの処理要求を、複数のサーバコンピュータで分散処理させる。
被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０は、クライアントコンピュータ３１０，３２０からの要求に応じて処理を実行する各種アプリケーションプログラムが実装されている。【００４５】
クライアントコンピュータ３１０，３２０は、ユーザの操作入力に応答し、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０に対する処理要求を出力する。【００４６】
管理コンソール端末装置２１は、システム管理者の操作入力に応答して管理サーバコンピュータ１００にアクセスし、サービスの開始指示や、サーバ定義等の設定等を行う。
図３は、本実施の形態に用いる管理サーバコンピュータのハードウェア構成例を示す図である。管理サーバコンピュータ１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。【００４７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。【００４８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。【００４９】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。【００５０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、管理サーバコンピュータ１００のハードウェア構成を示したが、負荷分散装置２００、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０、クライアントコンピュータ３１０，３２０および管理コンソール端末装置２１も同様のハードウェア構成で実現することができる。【００５１】
このようなシステムにおいて、管理サーバコンピュータ１００は、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０を、処理機能に応じて複数のサーバグループに分けて管理する。サーバグループとは、管理サーバコンピュータ１００の管理対象として参加した被管理サーバコンピュータのうち、サービス設定や業務を均一とし、一括管理すべき被管理サーバコンピュータの集合である。【００５２】
図４は、サーバグループの例を示す図である。図４の例では、被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０が、３つのサーバグループに分けられている。【００５３】
Ｗｅｂサーバグループ３１には、Ｗｅｂサーバの機能が実装された被管理サーバコンピュータ２１０，２２０が含まれる。アプリケーションサーバグループ３２には、アプリケーションサーバの機能が実装された被管理サーバコンピュータ２３０，２４０が含まれる。データベースサーバグループ３３には、データベースサーバの機能が実装された被管理サーバコンピュータ２５０，２６０が含まれる。【００５４】
管理サーバコンピュータ１００は、各サーバグループを遠隔操作、統合管理する機能を備えている。具体的には、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に対して提供するサービスを、多階層の被管理サーバコンピュータによって提供する場合の、被管理サーバコンピュータ間の処理の依頼関係（論理的な接続）を管理している。この処理の依頼関係には、メッシュ負荷分散型の接続形態（メッシュ接続）とライン負荷分散型の接続形態（ライン接続）とがある。【００５５】
図５は、メッシュ接続の例を示す図である。この例では、被管理サーバコンピュータ２１０，２２０には、それぞれＷｅｂサーバ２１１，２２１のサーバアプリケーションが実装されている。被管理サーバコンピュータ２３０，２４０には、それぞれアプリケーションサーバ２３１，２４１のサーバアプリケーションが実装されている。被管理サーバコンピュータ２５０，２６０には、それぞれデータベースサーバ２５１，２６１のサーバアプリケーションが実装されている。データベースサーバ２５１，２６１は、それぞれデータベース（ＤＢ）２５２，２６２を管理している。【００５６】
各被管理サーバコンピュータ２１０，２２０，２３０，２４０，２５０，２６０に実装されたサーバアプリケーションの起動タイミングは、管理サーバコンピュータ１００によって制御される。また、負荷分散装置２００における分散処理に関する詳細な設定内容についても、管理サーバコンピュータ１００で管理される。【００５７】
メッシュ接続では、Ｗｅｂサーバグループ３１内の各Ｗｅｂサーバ２１１，２２１とアプリケーションサーバグループ３２内の各アプリケーションサーバ２３１，２４１とが互いに接続されている。また、アプリケーションサーバグループ３２内の各アプリケーションサーバ２３１，２４１とデータベースサーバグループ３３内の各データベースサーバ２５１，２６１とが互いに接続されている。【００５８】
また、クライアントコンピュータ３１０，３２０には、Ｗｅｂブラウザ３１１，３２１が実装されている。ユーザは、クライアントコンピュータ３１０，３２０に操作入力を行い、Ｗｅｂブラウザ３１１，３２１に対して様々な命令を入力する。Ｗｅｂブラウザ３１１，３２１は、操作入力により指示された命令の内容に、ネットワーク１０を介したサービスの提供要求が含まれていれば、その命令に応じた処理要求を出力する。【００５９】
Ｗｅｂブラウザ３１１，３２１から出力された処理要求は、負荷分散装置２００によって、Ｗｅｂサーバ２１１とＷｅｂ２２１との何れかに振り分けられる。Ｗｅｂサーバ２１１，２２１は、処理要求を受け取ると、アプリケーションサーバ２３１とアプリケーションサーバ２４１との何れかに処理を依頼する。アプリケーションサーバ２３１，２４１は、依頼された処理を実行し、その処理中でデータベースアクセスが発生すると、データベースサーバ２５１とデータベースサーバ２６１との何れかに処理を依頼する。データベースサーバ２５１，２６１は、依頼に応じてデータベースのアクセスを行う。【００６０】
各サーバでの処理結果は、それぞれ処理の依頼元に返される。これにより、最終的に、Ｗｅｂブラウザ３１１，３２１は、処理供給に応じた処理の結果を受け取ることができる。【００６１】
ここで、処理の依頼関係において、クライアントコンピュータ３１０，３２０に近い方のサーバアプリケーションを、階層構造における上位とする。その場合、上位のサーバアプリケーションが正常にサービスを提供するには、下位のサーバアプリケーションが正常に稼働している必要がある。【００６２】
具体的には、Ｗｅｂサーバ２１１，２２１がサービス提供を開始する際には、アプリケーションサーバ２３１，２４１の少なくとも１つが正常に稼働していなければならない。同様に、アプリケーションサーバ２３１，２４１がサービス提供を開始する際には、データベースサーバ２５１，２６１の少なくとも１つが正常に稼働していなければならない。【００６３】
図６は、ライン接続の例を示す図である。ライン接続では、各サーバグループ内の１つずつのサーバが、互いに関連付けられている。図６の例では、Ｗｅｂサーバ２１１とアプリケーションサーバ２３１とが関連付けられ、アプリケーションサーバ２３１とデータベースサーバ２５１とが関連付けられている。同様に、Ｗｅｂサーバ２２１とアプリケーションサーバ２４１とが関連付けられ、アプリケーションサーバ２４１とデータベースサーバ２６１とが関連付けられている。これらの互いに関連するサーバによって、多階層のサービスが提供される。【００６４】
ライン接続では、各サーバグループ内の１台ずつの被管理サーバコンピュータ同士が関連付けられている。そのため、各被管理サーバコンピュータ内でサーバアプリケーションを起動するには、関連付けられた下位の被管理サーバコンピュータにおけるサーバアプリケーションの起動処理が正常に完了していることが必要である。【００６５】
具体的には、Ｗｅｂサーバ２１１がサービス提供を開始する際には、アプリケーションサーバ２３１が正常に稼働していなければならない。また、アプリケーションサーバ２３１がサービス提供を開始する際には、データベースサーバ２５１が正常に稼働していなければならない。【００６６】
同様に、Ｗｅｂサーバ２２１がサービス提供を開始する際には、アプリケーションサーバ２４１が正常に稼働していなければならない。また、アプリケーションサーバ２４１がサービス提供を開始する際には、データベースサーバ２６１が正常に稼働していなければならない。【００６７】
このように、メッシュ接続かライン接続かにより、上位のサーバアプリケーションがサービス提供を開始するための条件が異なってくる。そこで、管理サーバコンピュータ１００は、クライアントコンピュータ３１０，３２０に提供するサービス毎の接続形態を管理し、その接続形態に応じて、各サーバアプリケーションの起動順を制御する。【００６８】
図７は、管理サーバコンピュータの機能ブロック図である。管理サーバコンピュータ１００は、サーバ定義情報１１１、配置先情報群１１２、ステータス情報群１１３、起動可能サーバリスト群１１４、起動失敗サーバリスト群１１５、サーバ定義設定部１２１、サーバ管理制御部１２２、および起動制御部１２３を有している。【００６９】
サーバ定義情報１１１は、ユーザに対して多階層のサービスを提供する被管理サーバコンピュータ等に関する情報である。
配置先情報群１１２は、サーバアプリケーションが実装された被管理サーバコンピュータに関する情報（配置先情報）の集合である。【００７０】
ステータス情報群１１３は、各被管理サーバコンピュータに対する操作（作成、起動、停止等）の処理結果を示す情報（ステータス情報）の集合である。
起動可能サーバリスト群１１４は、起動処理に成功した被管理サーバコンピュータを示す情報（起動可能サーバリスト）の集合である。【００７１】
起動失敗サーバリスト群１１５は、起動処理に失敗した被管理サーバコンピュータを示す情報（起動失敗サーバリスト）の集合である。
サーバ定義設定部１２１は、ユーザからの操作入力に応答して、サーバ定義情報１１１に対してデータを登録する。【００７２】
サーバ管理制御部１２２は、ユーザからのサービスの提供開始要求に応じて、サーバ定義情報１１１から、起動すべきサービスに関する情報を取得する。そして、サーバ管理制御部１２２は、起動すべきサービスの起動指示を、起動制御部１２３に渡す。【００７３】
起動制御部１２３は、起動指示に応じて、データベースサーバ、アプリケーションサーバ、Ｗｅｂサーバの順でサーバアプリケーションが実行開始されるように、被管理サーバコンピュータに対する起動順番等を制御する。具体的には、起動制御部１２３は、サーバアプリケーションの起動順を決定し、その起動順に沿って、被管理サーバコンピュータに対する起動処理を行う。【００７４】
次に、図８〜図１２を参照して、管理サーバコンピュータ１００内の各種情報のデータ構造例について説明する。
図８は、サーバ定義情報のデータ構造例を示す図である。サーバ定義情報１１１には、サービス名、詳細定義、結線情報、Ｗｅｂサーバグループ名、アプリケーションサーバグループ名、データベースサーバグループ名、Ｗｅｂサーバ配置先情報、アプリケーションサーバ配置先情報、およびデータベースサーバ配置先情報の欄が設けられている。【００７５】
サービス名の欄には、クライアントコンピュータに提供するサービスの名称が設定される。詳細定義の欄には、サービスの詳細な設定内容が定義される。
結線情報の欄には、多階層に階層化された複数のサーバでサービスを提供する際の、サーバ間の論理的な接続形態が設定される。接続形態としては、メッシュ接続とライン接続とがある。【００７６】
Ｗｅｂサーバグループ名の欄には、複数のＷｅｂサーバグループそれぞれを一意に識別するための名称が設定される。アプリケーションサーバグループ名の欄には、複数のアプリケーションサーバグループそれぞれを一意に識別するための名称が設定される。データベースサーバグループ名の欄には、複数のデータベースサーバグループそれぞれを一意に識別するための名称が設定される。【００７７】
Ｗｅｂサーバ配置先情報の欄には、対応するＷｅｂサーバグループに属するＷｅｂサーバの配置先を示す配置先情報へのポインタが設定される。アプリケーションサーバ配置先情報の欄には、対応するアプリケーションサーバグループに属するアプリケーションサーバの配置先を示す配置先情報へのポインタが設定される。データベースサーバ配置先情報の欄には、対応するデータベースサーバグループに属するデータベースサーバの配置先を示す配置先情報へのポインタが設定される。【００７８】
図９は、配置先情報群のデータ構造例を示す図である。配置先情報群１１２には、サーバグループ毎の配置先情報１１２ａ，１１２ｂ，１１２ｃ，・・・が含まれている。配置先情報１１２ａには、序列、サーバ名、およびステータス情報の欄が設けられている。他の配置先情報１１２ｂ，１１２ｃ，・・・のデータ構造も配置先情報１１２ａと同様である。【００７９】
序列の欄には、サーバアプリケーションに設定されたサーバグループ内での順番が設定される。この順番は、たとえば、サーバアプリケーションがサーバグループに参加した順番が設定される。【００８０】
サーバ名の欄には、配置先情報１１２ａに対応するサーバグループに属するサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。
ステータス情報の欄には、対応する被管理サーバコンピュータに実装されたサーバアプリケーションの状態を示すステータス情報の名称が設定される。【００８１】
図１０は、ステータス情報群のデータ構造例を示す図である。ステータス情報群１１３には、サーバアプリケーション毎の複数のステータス情報１１３ａ，１１３ｂ，１１３ｃ，・・・が含まれている。【００８２】
各ステータス情報１１３ａ，１１３ｂ，１１３ｃ，・・・には、操作名、ステータス、メッセージ、および詳細情報の欄が設けられている。操作名の欄には、サーバアプリケーションに対して管理サーバコンピュータ１００から行われた操作の名称が設定される。操作には、作成、起動、停止がある。作成は、被管理サーバコンピュータにサーバアプリケーションを配置する操作である。起動は、サーバアプリケーションを起動する操作である。停止は、起動されているサーバアプリケーションを停止する操作である。【００８３】
ステータスの欄には、対応する操作が成功したか否かが設定される。メッセージの欄には、操作の結果を管理コンソール端末装置２１に表示させる際のメッセージが設定される。詳細情報の欄には、操作に関する特記事項が設定される。たとえば、操作に失敗した理由が設定される。【００８４】
図１１は、起動可能サーバリスト群のデータ構造例を示す図である。起動可能サーバリスト群１１４には、サーバグループ毎の起動可能サーバリスト１１４ａ，１１４ｂ，１１４ｃ，・・・が含まれる。【００８５】
起動可能サーバリスト１１４ａには、序列とサーバ名との欄が設けられている。起動可能サーバリスト１１４ｂ，１１４ｃ，・・・のデータ構造も起動可能サーバリスト１１４ａと同様である。【００８６】
序列の欄には、同じサーバグループの配置先情報１１２ａに設定されたサーバアプリケーションのうち、起動に成功したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、起動に成功したサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。【００８７】
図１２は、起動失敗サーバリスト群のデータ構造例を示す図である。起動失敗サーバリスト群１１５には、サーバグループ毎の起動失敗サーバリスト１１５ａ，１１５ｂ，１１５ｃ，・・・が含まれる。【００８８】
起動失敗サーバリスト１１５ａには、序列とサーバ名との欄が設けられている。起動失敗サーバリスト１１５ｂ，１１５ｃ，・・・のデータ構造も起動失敗サーバリスト１１５ａと同様である。【００８９】
序列の欄には、同じサーバグループの配置先情報１１２ａに設定されたサーバアプリケーションのうち、起動に失敗したサーバアプリケーションの序列の値が設定される。サーバ名の欄には、起動に失敗したサーバアプリケーションが実装されている被管理サーバコンピュータの名称が設定される。【００９０】
次に、サーバ定義設定部１２１によるサーバ定義情報の設定例について説明する。
図１３は、サーバ定義情報設定画面を示す図である。サーバ定義情報設定画面４０には、サービス名入力部４１、サービス種別選択部４２、配置タイプ選択部４３、配置先選択部４４、サーバ間のリレーション選択部４５、作成ボタン４６が設けられている。【００９１】
サービス名入力部４１には、ユーザに提供するサービスを一意に識別するための名所が設定される。
サービス種別選択部４２には、サービスの種別が設定される。図１３の例では、サービスの種別として、Ｊ２ＥＥ(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)を指定した起動要求が入力されると、管理サーバコンピュータ１００のＯＳがサーバ管理制御部１２２を起動する。【００９９】
［ステップＳ１２］サーバ管理制御部１２２は、管理コンソール端末装置２１からユーザＩＤとパスワードとの入力を受け付け、入力された情報に基づいてユーザ認証を行う。
［ステップＳ１３］サーバ管理制御部１２２は、管理コンソール端末装置２１から、クライアントコンピュータ３１０，３２０への提供を開始するサービスのサービス名の入力を受け付ける。そして、サーバ管理制御部１２２は、入力されたサービス名に対応するサービスを、起動対象として選択する。【０１００】
［ステップＳ１４］サーバ管理制御部１２２は、起動制御部１２３を呼び出し、アプリケーションの起動を依頼すると共に、起動制御部１２３にステップＳ１３で選択したサービスのサービス名を渡す。サーバ管理制御部１２２は、起動制御部１２３からの戻り値として、起動処理の結果を受け取る。この処理の詳細は後述する。【０１０１】
［ステップＳ１５］サーバ管理制御部１２２は、結果を管理コンソール端末装置２１に対して出力する。
図１５は、起動制御処理の詳細手順の前半を示す図である。以下、図１５に示す処理をステップ番号に沿って説明する。【０１０２】
［ステップＳ２１］起動制御部１２３は、サーバ管理制御部１２２からアプリケーションの起動依頼と共にサービス名を受け取ると、サーバ定義情報１１１から、サービス名に対応するサービスの定義情報を取得する。【０１０３】
［ステップＳ２２］起動制御部１２３は、取得した定義情報をメモリ（たとえば、ＲＡＭ１０２）に書き込み、そのメモリ上で管理する。
［ステップＳ２３］起動制御部１２３は、配置先情報群１１２から配置先情報（Ｗｅｂサーバの配置先情報１１２ａ、アプリケーションサーバの配置先情報１１２ｂ、データベースサーバの配置先情報１１２ｃ）と結線情報（ライン接続またはメッシュ接続）とを抽出する。【０１０４】
［ステップＳ２４］起動制御部１２３は、データベースサーバ配置先情報と、結線情報とに基づいて、データベースサーバの起動順番（起動可能サーバリスト）を取得する。詳細には、以下の処理（ステップＳ２４ａ，Ｓ２４ｂ）が行われる。【０１０５】
［ステップＳ２４ａ］起動制御部１２３は、配置先情報群１１２内のデータベースサーバの配置先情報を参照し、データベースサーバを配置した被管理サーバコンピュータのステータス情報の名称を取得する。【０１０６】
［ステップＳ２４ｂ］起動制御部１２３は、ステータス情報群１１３からデータベースサーバを配置した被管理サーバコンピュータのステータス情報を取得する。さらに、起動制御部１２３は、サーバ定義情報１１１から取得した結線情報に基づいて、ライン接続かメッシュ接続かを確認する。【０１０７】
そして、起動制御部１２３は、配置先情報１１２ａから、データベースサーバが配置された被管理サーバコンピュータの序列を取得し、その被管理サーバコンピュータのうち、ステータス情報が正常な被管理サーバコンピュータの序列を、起動可能サーバリストとする。ここで、ステータス情報が正常とは、サーバアプリケーションの配置が正常に完了していることである。【０１０８】
［ステップＳ２５］起動制御部１２３は、サービス名、ユーザ名、起動可能サーバリストに基づいて、データベースサーバの起動制御を行う。その結果、起動失敗サーバリストを生成する。詳細には、以下の処理（ステップＳ２５ａ，Ｓ２５ｂ）が行われる。【０１０９】
［ステップＳ２５ａ］起動制御部１２３は、起動可能サーバリストに登録されている各被管理サーバコンピュータに対するデータベースサーバの起動処理を行う。
［ステップＳ２５ｂ］起動制御部１２３は、ReturnObjectクラスを作成する。このReturnObjectクラスは、各サーバの状況を集計したものであり、起動に失敗したことを示す情報を集計することで、起動失敗サーバリストとして使用される。また、起動制御部１２３は、起動操作の結果を、サーバ定義情報１１１に反映させる。【０１１０】
以上のようにして、データベースサーバの起動処理が行われる。その後、アプリケーションサーバとＷｅｂサーバの起動処理が順次行われる。
図１６は、起動制御処理の詳細手順の後半を示す図である。以下、図１６に示す処理をステップ番号に沿って説明する。【０１１１】
［ステップＳ３１］起動制御部１２３は、アプリケーションサーバの配置先情報に基づいて、アプリケーションサーバの起動順番を取得する。詳細は、ステップＳ２４ａ，Ｓ２４ｂで示したデータベースサーバに関する処理と同様である。【０１１２】
［ステップＳ３２］起動制御部１２３は、データベースサーバの起動失敗サーバリストと、アプリケーションサーバの起動可能サーバリストとを参照し、アプリケーションサーバの起動可能サーバリストに登録されたアプリケーションサーバのうち、関連するデータベースサーバの起動が失敗しているアプリケーションサーバを除外する。【０１１３】
ここで、アプリケーションサーバに関連するデータベースサーバとは、ライン接続の場合には、序列の番号が同じ値のデータベースサーバを指す。すなわち、ライン接続であれば、データベースサーバの起動に失敗した場合、そのデータベースサーバと序列が同じアプリケーションサーバは、起動対象から除外される。【０１１４】
また、メッシュ接続の場合は、アプリケーションサーバに関連するデータベースサーバとは、アプリケーションサーバに関連するデータベースサーバグループ内の全てのデータベースサーバを指す。この場合、そのデータベースサーバグループ内の全てのデータベースサーバの起動が失敗した場合、アプリケーションサーバが起動対象から除外される。【０１１５】
これにより、アプリケーションサーバ起動可能サーバリストが更新される。
［ステップＳ３３］起動制御部１２３は、サービス名、ユーザ名、起動可能サーバリストに基づいて、アプリケーションサーバの起動制御を行う。詳細は、ステップＳ２５ａ，Ｓ２５ｂで示したデータベースサーバに関する処理と同様である。この処理の結果、アプリケーションサーバの起動失敗サーバリストが生成される。【０１１６】
［ステップＳ３４］起動制御部１２３は、Ｗｅｂサーバの配置先情報に基づいて、Ｗｅｂサーバの起動順番を取得する。詳細は、ステップＳ２４ａ，Ｓ２４ｂで示したデータベースサーバに関する処理と同様である。【０１１７】
［ステップＳ３５］起動制御部１２３は、Ｗｅｂサーバの起動失敗サーバリストと、Ｗｅｂサーバの起動可能サーバリストとを参照し、Ｗｅｂサーバの起動可能サーバリストに登録されたＷｅｂサーバのうち、関連するアプリケーションサーバの起動が失敗しているＷｅｂサーバを除外する。これにより、Ｗｅｂサーバの起動可能サーバリストが更新される。【０１１８】
［ステップＳ３６］起動制御部１２３は、サービス名、ユーザ名、起動可能サーバリストに基づいて、Ｗｅｂサーバの起動制御を行う。詳細は、ステップＳ２５ａ，Ｓ２５ｂで示したデータベースサーバに関する処理と同様である。この処理の結果、Ｗｅｂサーバの起動失敗サーバリストが生成される。【０１１９】
［ステップＳ３７］起動制御部１２３は、データベースサーバ、アプリケーションサーバ、Ｗｅｂサーバそれぞれの起動失敗サーバリストをマージする。
［ステップＳ３８］起動制御部１２３は、サービス名、定義クラス名、サービス定義に関連付けて、起動失敗サーバリストを起動失敗サーバリスト群１１５に格納する。【０１２０】
以上のようにして、多階層のサーバアプリケーションを複数の被管理サーバコンピュータに分散して実装した場合であっても、正常にサービスが提供できるように、各サーバアプリケーションを起動することができる。【０１２１】
ところで、上記の実施の形態では、サービスの提供を開始する場合の例を示したが、サービスの提供を終了する場合にも、各サーバアプリケーションを自動的に停止させることができる。その場合、停止する順番は、起動順の逆となる。すなわち、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバの順で、各アプリケーションサーバを停止する。【０１２２】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。【０１２３】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【０１２４】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。【０１２５】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１２６】
１  サーバ定義情報
２  選択手段
３  ステータス情報
４  確認手段
５  起動制御手段
６  クライアントコンピュータ
７〜９  サーバコンピュータ
【図１】
0004558740.tif 000002
【図２】
0004558740.tif 000003
【図３】
0004558740.tif 000004
【図４】
0004558740.tif 000005
【図５】
0004558740.tif 000006
【図６】
0004558740.tif 000007
【図７】
0004558740.tif 000008
【図８】
0004558740.tif 000009
【図９】
0004558740.tif 000010
【図１０】
0004558740.tif 000011
【図１１】
0004558740.tif 000012
【図１２】
0004558740.tif 000013
【図１３】
0004558740.tif 000014
【図１４】
0004558740.tif 000015
【図１５】
0004558740.tif 000016
【図１６】
0004558740.tif 000017