(57)【特許請求の範囲】
【請求項１】
役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置であって、
各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する記憶手段と、
前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定手段と、
前記ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する稼動状態判定手段と、
前記特定手段で特定された順序で前記対象サーバ及び前記他のサーバを起動又は停止させる際に、前記稼動状態判定手段によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、前記制約条件の前記条件の内容に含まれる制御に失敗した場合の処理を満たすように制御する実行手段と、
を備えたことを特徴とするサーバ起動停止制御装置。
【請求項２】
前記各サーバによって複数の通信ネットワーク装置が構成され、前記通信ネットワーク装置の起動又は停止を制御する場合に、
前記特定手段は、前記通信ネットワーク装置ごとに予め設定された稼動させる優先度に基づいて、起動又は停止させる通信ネットワーク装置を特定し、特定した通信ネットワーク装置を構成するサーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定することを特徴とする請求項１に記載のサーバ起動停止制御装置。
【請求項３】
役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置によって実行されるサーバ起動停止制御方法であって、
各サーバの起動又は停止に適用される制約条件として、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を記憶する記憶部を参照し、前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶部から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定工程と、
前記ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する稼動状態判定工程と、
前記特定工程で特定された順序で前記対象サーバ及び前記他のサーバを起動又は停止させる際に、前記稼動状態判定工程によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、前記制約条件の前記条件の内容に含まれる制御に失敗した場合の処理を満たすように制御する実行工程と、
を含んだことを特徴とするサーバ起動停止制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーバ起動停止制御装置及びサーバ起動停止制御方法に関する。
【背景技術】
【０００２】
従来、通信ネットワークにおいては、当該通信ネットワーク上に設置された複数の通信ネットワーク装置間で処理要求信号の送信と、それに対する処理結果の応答が行われている。例えば、１つの問題を複数の通信ネットワーク装置によって処理する並列分散処理などにおいては、通信ネットワーク装置は、他の通信ネットワーク装置から受信した処理要求信号に含まれるユーザ情報や、ネットワーク情報、及び、自装置が保持する情報にしたがって処理を実行する。そして、処理を実行した通信ネットワーク装置は、処理要求信号を送信した通信ネットワーク装置に対して処理結果を応答するとともに、処理内容を装置内に記憶する。
【０００３】
上述した処理を実行するために、例えば、通信ネットワーク装置は、他の通信ネットワーク装置からの処理要求信号を受信して必要な処理を実行した後に、処理結果を応答するフロントサーバと、フロントサーバが処理を実行するために必要な情報（例えば、ユーザ情報や、ネットワーク情報など）を保持するＤＢ（Data  Base）サーバと、装置の処理内容を記録して保持するログサーバとから構成される。
【０００４】
これらのサーバは、全てのサーバ種別において、少なくても１つ以上のサーバが、１つ以上のハードウェアに実装され、通信ネットワーク上に配置される。通信ネットワーク上に配置される各サーバの数は、通信ネットワークの規模や、要求される信頼度に応じて変化し、例えば、通信ネットワークの規模が大きい程、或いは、要求される信頼度が高い程、配置されるサーバ数が多くなる。
【０００５】
ここで、通信ネットワーク上に配置されたサーバ群における各サーバの起動及び停止を制御するサーバ起動停止制御装置が知られている。例えば、サーバ起動停止制御装置は、通信ネットワーク上に配置された複数のサーバそれぞれの起動及び停止を制御する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３３９４３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合に、サーバの起動及び停止を迅速に制御することができないという問題があった。例えば、上述した従来技術では、サーバ種別間で、サーバを起動又は停止させる順番に制約があったり、サーバの起動又は停止に失敗した後の他のサーバに対する制御に制約があったりした場合に、それを守った上でサーバの起動や停止を制御することができなかった。
【０００８】
かかる場合には、サーバ群を管理する保守者が、サーバの起動又は停止に係る制約を確認しながらサーバの起動又は停止を行うため、作業時間が長くかかってしまい、サーバの起動及び停止を迅速に制御することができない。さらに、保守者の作業ミスを誘発する場合もあった。
【０００９】
そこで、本願は、上述した従来技術の問題に鑑みてなされたものであって、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にするサーバ起動停止制御装置及びサーバ起動停止制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本願の装置は、役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置であって、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する記憶手段と、前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定手段と、前記特定手段によって特定された他のサーバに関して、前記特定手段によって特定された条件の内容を満たしたうえで、前記対象サーバの起動又は停止を実行する実行手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本願の装置は、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にする。
【図面の簡単な説明】
【００１２】
【図１】図１は、従来技術に係る通信ネットワークの一例を示す図である。
【図２】図２は、従来技術に係るサーバ起動停止制御装置の処理の一例を説明するための図である。
【図３】図３は、従来技術に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図４】図４は、従来技術に係るサーバ起動停止制御装置による処理の一例を示すシーケンス図である。
【図５】図５は、実施例１に係る通信ネットワークの一例を説明するための図である。
【図６】図６は、実施例１に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図７】図７は、実施例１に係る通信ネットワーク装置起動停止ファイルによって記憶される情報の一例を示す図である。
【図８】図８は、実施例１に係るサーバ起動停止条件ファイルによって記憶される情報の一例を示す図である。
【図９Ａ】図９Ａは、実施例１に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図９Ｂ】図９Ｂは、実施例１に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図９Ｃ】図９Ｃは、実施例１に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１０】図１０は、実施例２に係る通信ネットワークの一例を示す模式図である。
【図１１】図１１は、実施例２に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図１２】図１２は、実施例２に係る通信ネットワーク装置優先度データファイルによって記憶される情報の一例を示す図である。
【図１３】図１３は、実施例２に係る通信ネットワーク装置運用データファイルによって記憶される情報の一例を示す図である。
【図１４Ａ】図１４Ａは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１４Ｂ】図１４Ｂは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１４Ｃ】図１４Ｃは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１４Ｄ】図１４Ｄは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１４Ｅ】図１４Ｅは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１４Ｆ】図１４Ｆは、実施例２に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１５】図１５は、実施例３に係る通信ネットワークの一例を示す模式図である。
【図１６】図１６は、実施例３に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図１７】図１７は、実施例３に係る通信ネットワーク装置起動停止ファイルによって記憶される情報の一例を示す図である。
【図１８】図１８は、実施例３に係るサーバ起動停止条件ファイルによって記憶される情報の一例を示す図である。
【図１９Ａ】図１９Ａは、実施例３に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１９Ｂ】図１９Ｂは、実施例３に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図１９Ｃ】図１９Ｃは、実施例３に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本願のサーバ起動停止制御装置及びサーバ起動停止制御方法の実施例を詳細に説明する。なお、本願のサーバ起動停止制御装置及びサーバ起動停止制御方法は、以下の実施例により限定されるものではない。 
【実施例１】
【００１４】
実施例１においては、まず、従来技術の一例を挙げて課題について説明した後、本願のサーバ起動停止制御装置について説明する。また、実施例１においては、通信ネットワークに接続された通信ネットワーク装置を停止させる際に、通信ネットワーク装置を構成する複数のサーバを停止する場合について説明する。
【００１５】
ここで、まず、通信ネットワークについて説明する。図１は、従来技術に係る通信ネットワークの一例を示す模式図である。例えば、通信ネットワークには、図１に示すように、複数の通信ネットワーク装置が接続される。なお、図１においては、２台の通信ネットワーク装置が示されているが、実際には、さらに多くの通信ネットワーク装置が通信ネットワークに接続されている。例えば、通信ネットワークは、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）などである。
【００１６】
通信ネットワーク装置は、図１に示すように、フロントサーバと、ＤＢサーバと、ログサーバとを有し、クライアント装置からの要求に応じて処理を実行する。例えば、通信ネットワーク装置は、他の通信ネットワーク装置、或いは、クライアント装置と通信を行い、並列分散処理を行う。なお、図１においては、フロントサーバ、ＤＢサーバ及びログサーバが１台ずつ示されているが、通信ネットワーク装置が各サーバを複数台有する場合であってもよい。
【００１７】
フロントサーバは、他の通信ネットワーク装置から受信した処理要求信号に基づいて処理を実行する。具体的には、フロントサーバは、図１に示すように、他の通信ネットワーク装置から処理要求信号を受信すると、受信した処理要求信号に応じた処理に必要な情報（例えば、ユーザ情報、ネットワーク情報など）をＤＢサーバから取得して、処理を実行する。その後、フロントサーバは、処理要求信号送信した通信ネットワーク装置に対して処理結果を応答するとともに、処理内容を示す処理ログをログサーバに送付する。
【００１８】
ＤＢサーバは、フロントサーバの処理に用いられる各種データを記憶する。例えば、ＤＢサーバは、ユーザ情報やネットワーク情報を記憶し、図１に示すように、フロントサーバによる情報の取得要求に応答するとともに、応答内容を示す処理ログをログサーバに送付する。
【００１９】
ログサーバは、通信ネットワーク装置の処理内容を記憶する。具体的には、ログサーバは、図１に示すように、フロントサーバ及びＤＢサーバからそれぞれ受信した処理ログを記憶する。
【００２０】
上述した通信ネットワーク装置は、各サーバをそれぞれ１つのハードウェアに実装し、それらを複数搭載可能なサーバコンピュータ（例えば、ブレードサーバなど）で実現される場合であってもよいし、或いは、１台のサーバコンピュータを複数台の仮想的なコンピュータに分割し、分割した複数台の仮想的なコンピュータをそれぞれフロントサーバ、ＤＢサーバ及びログサーバとして機能させることで実現される場合であってもよい。
【００２１】
サーバ起動停止制御装置は、図１に示す通信ネットワーク上の各サーバの起動及び停止を制御する。図２は、従来技術に係るサーバ起動停止制御装置の処理の一例を説明するための模式図である。図２においては、通信ネットワーク装置が、１台のフロントサーバと、１台のＤＢサーバと、１台のログサーバとを有する。また、図２においては、通信ネットワーク装置が１台のみ示されているが、実際には、複数の通信ネットワーク装置が通信ネットワークに接続されており、サーバ起動停止制御装置は、各通信ネットワーク装置を構成するサーバの起動及び停止を制御する。
【００２２】
例えば、図２に示すように、フロントサーバ、ＤＢサーバ及びログサーバを停止させる際に、停止させる順序や、動作の依存関係、制御に失敗した後の処理などに制約がある場合、サーバ起動停止制御装置は、通信ネットワークの保守者から受付けたサーバの停止コマンドに応じて、フロントサーバ、ＤＢサーバ及びログサーバに対して停止要求を送信し、各サーバを停止させる。以下、この処理の詳細について、図３及び図４を用いて説明する。
【００２３】
図３は、従来技術に係るサーバ起動停止制御装置２００の構成の一例を示す図である。図３に示すように、従来技術に係るサーバ起動停止制御装置２００は、グラフィックユーザインタフェース２１０と、主処理部２２０と、通信ネットワーク装置データファイル２３１と、サーバ構成ファイル２３２と、通信アドレスデータファイル２３３と、ログファイル２３４と、通信ネットワーク装置／サーバ識別部２４１と、通信アドレスデータ取得部２４２と、サーバ起動／停止要求部２４３と、ログ管理部２４４とを有する。
【００２４】
グラフィックユーザインタフェース２１０は、サーバ起動停止制御装置２００の保守者に対して、画面上にアイコンやメニューで操作対象や選択項目を表示し、それをマウスなどのポインティングデバイスにより操作させるインタフェースである。例えば、グラフィックユーザインタフェース２１０は、フロントサーバ、ＤＢサーバ及びログサーバの停止コマンドの入力を受付ける。
【００２５】
主処理部２２０は、サーバ起動停止制御装置２００による処理の全体制御を行う。通信ネットワーク装置データファイル２３１は、通信ネットワーク上に配置された複数の通信ネットワーク装置をそれぞれ一意に特定するための識別子を記憶する。サーバ構成ファイル２３２は、通信ネットワーク上に配置された複数の通信ネットワーク装置を構成するサーバを一意に特定するための識別子を記憶する。例えば、サーバ構成ファイル２３２は、フロントサーバ、ＤＢサーバ及びログサーバをそれぞれ一意に特定するための識別子を記憶する。通信アドレスデータファイル２３３は、通信ネットワーク装置を構成するサーバごとの通信アドレスを記憶する。
【００２６】
ログファイル２３４は、サーバ起動停止制御装置２００によって実行された処理内容を記憶する。具体的には、ログファイル２３４は、後述するログ管理部２４４によって格納されるサーバ起動停止制御装置２００の処理内容を記憶する。
【００２７】
なお、通信ネットワーク装置データファイル２３１、サーバ構成ファイル２３２、通信アドレスデータファイル２３３によって記憶される各種情報は、予め保守者によって登録される。
【００２８】
通信ネットワーク装置／サーバ識別部２４１は、通信ネットワーク装置データファイル２３１によって記憶された識別子に基づいて、通信ネットワークに接続された通信ネットワーク装置を識別する。また、通信ネットワーク装置／サーバ識別部２４１は、サーバ構成ファイル２３２によって記憶された識別子に基づいて、通信ネットワーク装置を構成するサーバを識別する。例えば、通信ネットワーク装置／サーバ識別部２４１は、保守者から入力された停止コマンドの対象となるフロントサーバ、ＤＢサーバ及びログサーバを識別する。
【００２９】
通信アドレスデータ取得部２４２は、通信ネットワーク装置／サーバ識別部２４１によって識別されたサーバの通信アドレスを、通信アドレスデータファイル２３３から取得する。
【００３０】
サーバ起動／停止要求部２４３は、通信アドレスデータ取得部２４２によって取得された通信アドレスのサーバに対して起動要求或いは停止要求を送信する。ログ管理部２４４は、サーバ起動停止制御装置による処理内容をログファイル２３４に格納する。
【００３１】
かかる構成の下、サーバ起動停止制御装置２００は、以下に示すように、サーバの稼動を制御する。図４は、従来技術に係るサーバ起動停止制御装置２００による処理の一例を示すシーケンス図である。なお、図４においては、グラフィックユーザインタフェース２１０を介して保守者がサーバの停止コマンドを入力する場合について説明する。また、図４においては、通信ネットワーク装置を起動、或いは、停止させるための起動要求コマンド、或いは、停止要求コマンドがサーバ起動停止制御装置２００に登録された後の処理について示す。
【００３２】
従来技術においては、まず、図４に示すように、保守者がフロントサーバ、ＤＢサーバ及びログサーバの停止に係る制約を確認して、最初に停止させるサーバをフロントサーバと特定し（ステップＳ１０１）、特定したフロントサーバの停止コマンドを入力することで、サーバ起動停止制御装置２００にフロントサーバの停止を実行させる（ステップＳ１０２）。
【００３３】
保守者によってフロントサーバの停止コマンドが入力されると、従来技術に係るサーバ起動停止制御装置２００においては、サーバ起動／停止要求部２４３が、フロントサーバに対してサーバを停止させる旨の要求であるプロセス／ＯＳ停止要求を送信する（ステップＳ１０３）。フロントサーバは、サーバ起動停止制御装置２００からプロセス／ＯＳ停止要求を受信すると、プロセス及びＯＳの停止を実行する旨の応答であるプロセス／ＯＳ停止応答をサーバ起動停止制御装置２００に送信するとともに（ステップＳ１０４）、サーバを停止させる（ステップＳ１０５）。
【００３４】
サーバ起動停止制御装置２００は、フロントサーバからプロセス／ＯＳ停止応答を受信すると、フロントサーバの停止が完了した旨の停止実行応答を、グラフィックユーザインタフェース２１０を介して保守者に通知する（ステップＳ１０６）。保守者は、フロントサーバの停止が完了したことを確認すると、次に停止するサーバをＤＢサーバと特定し（ステップＳ１０７）、特定したＤＢサーバの停止コマンドを入力することで、サーバ起動停止制御装置２００にＤＢサーバの停止を実行させる（ステップＳ１０８）。
【００３５】
保守者によってＤＢサーバの停止コマンドが入力されると、サーバ起動／停止要求部２４３が、ＤＢサーバに対してプロセス／ＯＳ停止要求を送信する（ステップＳ１０９）。ここで、例えば、図４に示すように、ＤＢサーバに故障が発生していると、ＤＢサーバは、プロセス及びＯＳの停止が失敗した旨の応答であるプロセス／ＯＳ停止失敗応答をサーバ起動停止制御装置２００に送信する（ステップＳ１１０）。
【００３６】
サーバ起動停止制御装置２００は、ＤＢサーバからプロセス／ＯＳ停止失敗応答を受信すると、ＤＢサーバの停止が失敗した旨の停止実行応答（失敗）を、グラフィックユーザインタフェース２１０を介して保守者に通知する（ステップＳ１１１）。保守者は、ＤＢサーバの停止が失敗したことを確認すると、原因調査を行うとともに（ステップＳ１１２）、次に停止するサーバをログサーバと特定し（ステップＳ１１３）、制約に基づいて停止可能か否かを判断する。ここで、停止可能と判断すると（ステップＳ１１４）、保守者は、特定したログサーバの停止コマンドを入力することで、サーバ起動停止制御装置２００にログサーバの停止を実行させる（ステップＳ１１５）。
【００３７】
保守者によってログサーバの停止コマンドが入力されると、サーバ起動／停止要求部２４３が、ログサーバに対してプロセス／ＯＳ停止要求を送信する（ステップＳ１１６）。ログサーバは、サーバ起動停止制御装置２００からプロセス／ＯＳ停止要求を受信すると、プロセス及びＯＳの停止を実行する旨の応答であるプロセス／ＯＳ停止応答をサーバ起動停止制御装置２００に送信するとともに（ステップＳ１１７）、サーバを停止させる（ステップＳ１１８）。
【００３８】
サーバ起動停止制御装置２００は、ログサーバからプロセス／ＯＳ停止応答を受信すると、ログサーバの停止が完了した旨の停止実行応答を、グラフィックユーザインタフェース２１０を介して保守者に通知する（ステップＳ１１９）。
【００３９】
上述したように、従来技術におけるサーバ起動停止制御装置２００においては、異なるサーバ種別間で、起動又は停止に係る制約がある場合に、保守者が制約を確認しながらサーバの起動又は停止を実行する。これは、従来のサーバ起動停止制御装置が、異なるサーバ種別間で稼動に関する制約がある場合に、それを考慮してサーバを起動させたり、停止させたりすることができないためである。
【００４０】
例えば、ログサーバをフロントサーバより先に停止させると、フロントサーバで処理中の内容をログサーバに記録することができなくなる。したがって、ログサーバよりフロントサーバを先に停止させる必要があるが、従来のサーバ起動停止制御装置では、これに対応することができない。このように、サーバ種別間で停止順序の制約がある場合には、従来のサーバ起動停止制御装置ではこれらのサーバを停止させることはできなかった。
【００４１】
また、例えば、フロントサーバの停止に失敗すると、ログサーバの停止は実施不可になるという制約がある場合、フロントサーバの停止の実行結果に応じて後続サーバの停止実施可否の判断が必要になるため、従来のサーバ起動停止制御装置ではこれらのサーバを停止させることはできなかった。すなわち、従来のサーバ起動停止制御装置では、あるサーバが故障のために起動或いは停止に失敗すると、他の全てのサーバの起動或いは停止が一律に実施不可能になってしまう。
【００４２】
また、例えば、１台のログサーバが２台のフロントサーバの稼働状況及び処理状況を記録したファイルを保持するような動作の依存関係がある場合にログサーバを停止させるためには、２台のフロントサーバを予め停止させている必要があるが、従来のサーバ起動停止制御装置では、このような処理を行うことができず、ログサーバを停止させることができない。
【００４３】
上述したように、従来のサーバ起動停止制御装置では、異なるサーバ種別間で起動又は停止の順序があったり、制御の失敗の後の処理が限定されていたり、サーバの動作に依存関係があったりするような制約がある場合に、サーバの起動及び停止を制御することができない。そのため、従来、このような制約がある場合には、保守者が制約を確認しながらサーバの稼動を制御することとなり、サーバの起動及び停止を迅速に行うことができなかった。特に、通信ネットワークに接続されたサーバ数が多い場合には、サーバの起動又は停止に係る時間が長くなるとともに、作業ミスを誘発する場合もある。
【００４４】
そこで、本願のサーバ起動停止制御装置は、異なるサーバ種別間で、起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にすることを目的とする。実施例１においては、上述したように、通信ネットワークに接続された通信ネットワーク装置を停止させる際に、通信ネットワーク装置を構成する複数のサーバを停止する場合について説明する。
【００４５】
図５は、実施例１に係る通信ネットワークの一例を示す模式図である。例えば、実施例１に係る通信ネットワークには、図５に示すように、通信ネットワーク装置Ａと、サーバ起動停止制御装置１００が接続される。なお、図５においては、１台の通信ネットワーク装置が示されているが、実際には、さらに多くの通信ネットワーク装置が通信ネットワークに接続されている場合もある。例えば、通信ネットワークは、ＬＡＮやＷＡＮなどである。
【００４６】
通信ネットワーク装置Ａは、図５に示すように、フロントサーバ１と、フロントサーバ２と、ＤＢサーバ１と、ＤＢサーバ２と、ログサーバ１とを有する。フロントサーバ１は、例えば、ＤＢサーバ１からネットワーク情報及びユーザ情報を取得して、処理要求に応じた処理を実行し、処理内容を示すログをログサーバ１に送付する。また、フロントサーバ２は、例えば、ＤＢサーバ２からネットワーク情報及びユーザ情報を取得して、処理要求に応じた処理を実行し、ログをログサーバ１に送付する。
【００４７】
ＤＢサーバ１は、フロントサーバ１の処理に用いられる各種データを記憶する。例えば、ＤＢサーバ１は、ユーザ情報やネットワーク情報を記憶し、フロントサーバ１による情報の取得要求に応答するとともに、応答内容を示すログをログサーバ１に送付する。また、ＤＢサーバ２は、フロントサーバ２の処理に用いられる各種データを記憶する。例えば、ＤＢサーバ２は、ユーザ情報やネットワーク情報を記憶し、フロントサーバ２による情報の取得要求に応答するとともに、ログをログサーバ１に送付する。
【００４８】
ログサーバ１は、通信ネットワーク装置Ａの処理内容を記憶する。例えば、ログサーバ１は、フロントサーバ１、フロントサーバ２、ＤＢサーバ１及びＤＢサーバ２からそれぞれ受信したログを記憶する。
【００４９】
上述した通信ネットワーク装置は、各サーバをそれぞれ１つのハードウェアに実装し、それらを複数搭載可能なサーバコンピュータ（例えば、ブレードサーバなど）で実現される場合であってもよいし、或いは、１台のサーバコンピュータを複数台の仮想的なコンピュータに分割し、分割した複数台の仮想的なコンピュータをそれぞれフロントサーバ、ＤＢサーバ及びログサーバとして機能させることで実現される場合であってもよい。
【００５０】
サーバ起動停止制御装置１００は、異なるサーバ種別間で、起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御する。図６は、実施例１に係るサーバ起動停止制御装置１００の構成の一例を示す図である。
【００５１】
図６に示すように、実施例１に係るサーバ起動停止制御装置１００は、グラフィックユーザインタフェース１１０と、主処理部１２０と、通信ネットワーク装置データファイル１３１と、サーバ構成ファイル１３２と、通信アドレスデータファイル１３３と、通信ネットワーク装置起動停止ファイル１３４と、サーバ起動停止条件ファイル１３５と、ログファイル１３６と、通信ネットワーク装置／サーバ識別部１４１と、通信アドレスデータ取得部１４２と、サーバ稼動状況取得部１４３と、サーバ起動／停止決定部１４４と、サーバ起動／停止要求部１４５と、ログ管理部１４６とを有する。
【００５２】
グラフィックユーザインタフェース１１０は、サーバ起動停止制御装置１００の保守者に対して、画面上にアイコンやメニューで操作対象や選択項目を表示し、それをマウスなどのポインティングデバイスにより操作させるインタフェースである。
【００５３】
主処理部１２０は、サーバ起動停止制御装置１００による処理の全体制御を行う。通信ネットワーク装置データファイル１３１は、通信ネットワーク上に配置された通信ネットワーク装置を一意に特定するための識別子を記憶する。例えば、通信ネットワーク装置データファイル１３１は、通信ネットワーク装置Ａを一意に特定するための識別子「Ａ」を記憶する。
【００５４】
サーバ構成ファイル１３２は、通信ネットワーク上に配置された通信ネットワーク装置を構成するサーバを一意に特定するための識別子を記憶する。例えば、サーバ構成ファイル１３２は、フロントサーバ１〜２、ＤＢサーバ１〜２及びログサーバ１をそれぞれ一意に特定するための識別子を記憶する。
【００５５】
通信アドレスデータファイル１３３は、通信ネットワーク装置Ａを構成するサーバごとの通信アドレスを記憶する。通信ネットワーク装置起動停止ファイル１３４は、通信ネットワークに接続された通信ネットワーク装置ごとに、サーバの起動順序及び停止順序を記憶する。図７は、実施例１に係る通信ネットワーク装置起動停止ファイル１３４によって記憶される情報の一例を示す図である。
【００５６】
例えば、通信ネットワーク装置起動停止ファイル１３４は、図７に示すように、通信ネットワーク装置ごとに、サーバの停止順序を記憶する。一例を挙げると、通信ネットワーク装置起動停止ファイル１３４は、「通信ネットワーク：Ａ」に対応付けて、「１：フロントサーバ１、２：フロントサーバ２、３：ＤＢサーバ１、４：ＤＢサーバ２、５：ログサーバ１」を記憶する。ここで、上記した情報は、ネットワーク装置Ａにおいては、フロントサーバ１、フロントサーバ２、ＤＢサーバ１、ＤＢサーバ２、ログサーバ１の順序で停止することを意味する。
【００５７】
図６に戻って、サーバ起動停止条件ファイル１３５は、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。具体的には、サーバ起動停止条件ファイル１３５は、制約条件の内容として、起動及び停止の順序、サーバ間の依存関係及び制御に失敗した場合の処理について記憶する。
【００５８】
より具体的には、サーバ起動停止条件ファイル１３５は、各サーバを起動又は停止させる場合に、予め起動又は停止している必要のある他のサーバの識別子や、優先度が低いサーバを停止させる場合の他のサーバにおける処理量の閾値、停止させるサーバの数と閾値との関係、各サーバが起動又は停止可能であるための、他のサーバのネットワーク接続状態やＯＳの稼動状態などの条件を記憶する。
【００５９】
図８は、実施例１に係るサーバ起動停止条件ファイル１３５によって記憶される情報の一例を示す図である。例えば、実施例１に係るサーバ起動停止条件ファイル１３５は、図８に示すように、サーバごとに、当該サーバを停止させるための制約を記憶する。一例を挙げると、実施例１に係るサーバ起動停止条件ファイル１３５は、「ＤＢサーバ１」に対応付けて、「フロントサーバ１、フロントサーバ２を停止した後に停止」を記憶する。ここで、上記した情報は、ＤＢサーバ１を停止させるためには、フロントサーバ１、フロントサーバ２が停止していることが必要であることを意味する。なお、図８に示す情報は、あくまでも一例である。
【００６０】
図６に戻って、ログファイル１３６は、サーバ起動停止制御装置１００によって実行された処理内容を記憶する。具体的には、ログファイル１３６は、後述するログ管理部１４６によって格納されるサーバ起動停止制御装置１００の処理内容を記憶する。
【００６１】
なお、通信ネットワーク装置データファイル１３１、サーバ構成ファイル１３２、通信アドレスデータファイル１３３、通信ネットワーク装置起動停止ファイル１３４及びサーバ起動停止条件ファイル１３５によって記憶される各種情報は、予め保守者によって登録される。
【００６２】
通信ネットワーク装置／サーバ識別部１４１は、通信ネットワーク装置データファイル１３１によって記憶された情報に基づいて、通信ネットワークに接続された通信ネットワーク装置を識別する。また、通信ネットワーク装置／サーバ識別部１４１は、サーバ構成ファイル１３２によって記憶された情報に基づいて、通信ネットワーク装置を構成するサーバを識別する。例えば、通信ネットワーク装置／サーバ識別部１４１は、通信ネットワーク上の通信ネットワーク装置Ａを構成するフロントサーバ１、フロントサーバ２、ＤＢサーバ１、ＤＢサーバ２及びログサーバ１をそれぞれ識別する。
【００６３】
通信アドレスデータ取得部１４２は、通信ネットワーク装置／サーバ識別部１４１によって識別されたサーバの通信アドレスを、通信アドレスデータファイルから取得する。サーバ稼動状況取得部１４３は、ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する。具体的には、サーバ稼動状況取得部１４３は、通信アドレスデータ取得部１４２によって取得された通信アドレスに対応するサーバから稼動状態を取得する。
【００６４】
例えば、サーバ稼動状況取得部１４３は、フロントサーバ１のネットワークへの接続状態や、ＯＳの稼動状態、ＣＰＵ使用率及びメモリ使用量などを取得する。そして、サーバ稼動状況取得部１４３は、取得したネットワークへの接続状態や、ＯＳの稼動状態、ＣＰＵ使用率及びメモリ使用量に基づいて、サーバそれぞれが正常に稼動しているか否かを判定する。
【００６５】
サーバ起動／停止決定部１４４は、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル１３５から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。具体的には、サーバ起動／停止決定部１４４は、制約条件の内容に含まれる起動及び停止の順序、或いは、サーバ間の依存関係に基づいて、前記対象サーバ及び前記他のサーバを起動又は停止させる順序を決定する。また、サーバ起動／停止決定部１４４は、決定した順序で起動又は停止させる際に、サーバ稼動状況取得部１４３によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、制約条件の内容に含まれる制御に失敗した場合の処理を参照して、起動又は停止が可能であるか否かを判定する。
【００６６】
例えば、サーバ起動停止制御装置１００が保守者から通信ネットワーク装置Ａを停止させる旨のコマンドを受付けると、サーバ起動／停止決定部１４４は、通信ネットワーク装置Ａを構成するフロントサーバ１、フロントサーバ２、ＤＢサーバ１、ＤＢサーバ２及びログサーバ１それぞれに係る制約条件を読み出し、サーバの停止順序などを決定する。そして、サーバ起動／停止決定部１４４は、決定した順序でサーバの起動又は停止を実行する際に、いずれかのサーバにおいて起動又は停止が失敗した場合には、その後のサーバが起動又は停止が可能であるか否かを判定する。
【００６７】
なお、サーバの起動及び停止を実行させるためのトリガーは、上記した保守者による指定に限られず、例えば、サーバの稼動状態を監視して、その稼動状態に基づいてサーバの起動及び停止を実行する場合であってもよい。また、保守者による指定は、予め起動又は停止の時間を登録することで行われる場合であってもよい。
【００６８】
サーバ起動／停止要求部１４５は、サーバ起動／停止決定部１４４によって特定された条件を満たしたうえで、サーバの起動又は停止を実行する。具体的には、サーバ起動／停止要求部１４５は、サーバ起動／停止決定部１４４によって決定された順序でサーバの起動及び停止を実行する。また、サーバ起動／停止要求部１４５は、サーバ起動／停止決定部１４４による起動又は停止が可能であるか否かの判定結果に基づいて、サーバの起動及び停止を実行する。例えば、サーバ起動／停止要求部１４５は、通信ネットワーク上のサーバに対して起動要求コマンド或いは停止要求コマンドを送信することで、サーバを起動又は停止させる。ログ管理部１４６は、サーバ起動停止制御装置１００による処理内容をログファイル１３６に格納する。
【００６９】
次に、実施例１に係るサーバ起動停止制御装置１００の処理の手順について、図９Ａ〜図９Ｃを用いて説明する。図９Ａ〜図９Ｃは、実施例１に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。なお、図９Ａ〜図９Ｃにおいては、図９Ａ、図９Ｂ、図９Ｃの順にサーバ起動停止制御装置１００による処理の手順を示す。また、図９Ａ〜図９Ｃにおいては、通信ネットワーク装置Ａを停止させる際に、フロントサーバ２に故障が発生した場合を例とする。また、以下では、サーバ起動停止制御装置１００による処理について、サーバ起動停止制御装置１００が有する各部を用いて説明する。
【００７０】
図９Ａに示すように、実施例１に係るサーバ起動停止制御装置１００においては、グラフィックユーザインタフェース１１０を介して、保守者から通信ネットワーク装置Ａの停止実行のコマンドが入力されると、サーバ起動／停止決定部１４４は、制約条件を参照して、最初に停止させるサーバをフロントサーバ１と決定する（ステップＳ２０１）。なお、サーバ起動停止制御装置１００においては、サーバ起動／停止決定部１４４によって最初に停止させるサーバが決定される前に、停止実行の要求を受付けたことをログファイル１３６に記録するとともに、通信ネットワーク装置データファイル１３１から通信ネットワーク装置Ａの識別子が特定される。そして、サーバ起動停止制御装置１００においては、サーバ構成ファイル１３２から各サーバの識別子が抽出される。
【００７１】
最初に停止させるサーバがフロントサーバ１であると決定すると、サーバ稼動状況取得部１４３は、フロントサーバ１への接続状態およびフロントサーバ１のＯＳの稼動状態などを確認するために、フロントサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、まず、フロントサーバ１に対してネットワーク接続状況確認を行う（ステップＳ２０２）。
【００７２】
フロントサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ２０３）。サーバ稼動状況取得部１４３は、フロントサーバ１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ２０４）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ２０５）。そして、サーバ稼動状況取得部１４３は、取得したフロントサーバ１の状態から、フロントサーバ１が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部１４３が停止可能と判定すると（ステップＳ２０６）、サーバ起動／停止要求部１４５は、フロントサーバ１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ２０７）。
【００７３】
フロントサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ２０８）、サーバを停止する（ステップＳ２０９）。サーバ起動／停止決定部１４４は、フロントサーバ１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ２と決定する（ステップＳ２１０）。なお、フロントサーバ１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【００７４】
次に停止させるサーバがフロントサーバ２であると決定すると、サーバ稼動状況取得部１４３は、フロントサーバ２への接続状態およびフロントサーバ２のＯＳの稼動状態などを確認するために、フロントサーバ２の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ２に対してネットワーク接続状況確認を行う（ステップＳ２１１）。
【００７５】
ここで、フロントサーバ２においては、図９Ａに示すように、故障が発生していることから、ネットワーク接続状況確認を受付けると、ネットワーク接続状況（エラー応答）を応答する（ステップＳ２１２）。サーバ稼動状況取得部１４３は、フロントサーバ２からネットワーク接続状況（エラー応答）の応答を受付けると、フロントサーバ２が停止不可であると判定する（ステップＳ２１３）。そして、ログ管理部１４６は、ログファイル１３６にフロントサーバ２の停止が正常に実施されなかったこと、およびフロントサーバ２の稼動状態を記録する。
【００７６】
その後、サーバ起動／停止決定部１４４は、制約条件を参照して、次に停止させるサーバをＤＢサーバ１と決定する（ステップＳ２１４）。ここで、サーバ起動／停止決定部１４４は、フロントサーバ２が停止不可の場合のＤＢサーバ１の停止可否を、制約条件を参照して判定する（ステップＳ２１５）。ＤＢサーバ１が停止可能である判定されると（ステップＳ２１６）、サーバ稼動状況取得部１４３は、ＤＢサーバ１への接続状態およびＤＢサーバ１のＯＳの稼動状態などを確認するために、ＤＢサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、ＤＢサーバ１に対してネットワーク接続状況確認を行う（ステップＳ２１７）。
【００７７】
ＤＢサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ２１８）。サーバ稼動状況取得部１４３は、ＤＢサーバ１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ２１９）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ２２０）。そして、サーバ稼動状況取得部１４３は、取得したＤＢサーバ１の状態から、ＤＢサーバ１が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部１４３が停止可能と判定すると（ステップＳ２２１）、サーバ起動／停止要求部１４５は、ＤＢサーバ１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ２２２）。
【００７８】
ＤＢサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ２２３）、サーバを停止する（ステップＳ２２４）。サーバ起動／停止決定部１４４は、ＤＢサーバ１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをＤＢサーバ２と決定する。なお、ＤＢサーバ１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【００７９】
次に停止させるサーバがＤＢサーバ２であると決定すると、サーバ起動／停止決定部１４４は、フロントサーバ２が停止不可の場合のＤＢサーバ２の停止可否を、制約条件を参照して判定する（ステップＳ２２５）。ＤＢサーバ２が停止可能であると判定されると（ステップＳ２２６）、サーバ稼動状況取得部１４３は、ＤＢサーバ２への接続状態およびＤＢサーバ２のＯＳの稼動状態などを確認するために、ＤＢサーバ２の通信アドレスを通信アドレスデータファイルから取得した後に、ＤＢサーバ２に対してネットワーク接続状況確認を行う（ステップＳ２２７）。
【００８０】
ＤＢサーバ２は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ２２８）。サーバ稼動状況取得部１４３は、ＤＢサーバ２からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ２２９）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ２３０）。そして、サーバ稼動状況取得部１４３は、取得したＤＢサーバ２の状態から、ＤＢサーバ２が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部１４３が停止可能と判定すると（ステップＳ２３１）、サーバ起動／停止要求部１４５は、ＤＢサーバ２に対してプロセス／ＯＳ停止要求を送信する（ステップＳ２３２）。
【００８１】
ＤＢサーバ２は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ２３３）、サーバを停止する（ステップＳ２３４）。サーバ起動／停止決定部１４４は、ＤＢサーバ１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをログサーバ１と決定する。なお、ＤＢサーバ２の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【００８２】
次に停止させるサーバがログサーバ１であると決定すると、サーバ起動／停止決定部１４４は、フロントサーバ２が停止不可の場合のログサーバ１の停止可否を、制約条件を参照して判定する（ステップＳ２３５）。ログサーバ１が停止可能であると判定されると（ステップＳ２３６）、サーバ稼動状況取得部１４３は、ログサーバ１への接続状態およびログサーバ１のＯＳの稼動状態などを確認するために、ログサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、ログサーバ１に対してネットワーク接続状況確認を行う（ステップＳ２３７）。
【００８３】
ログサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ２３８）。サーバ稼動状況取得部１４３は、ログサーバ１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ２３９）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ２４０）。そして、サーバ稼動状況取得部１４３は、取得したログサーバ１の状態から、ログサーバ１が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部１４３が停止可能と判定すると（ステップＳ２４１）、サーバ起動／停止要求部１４５は、ログサーバ１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ２４２）。
【００８４】
ログサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ２４３）、サーバを停止する（ステップＳ２４４）。サーバ起動／停止決定部１４４は、ログサーバ１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバがないことを確認する。なお、ログサーバ１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【００８５】
そして、ログ管理部１４６が、実行結果をログファイルに格納し（ステップＳ２４５）、サーバ起動停止制御装置１００は、通信ネットワーク装置Ａの停止が実行された応答を、グラフィックユーザインタフェース１１０を介して保守者に通知して（ステップＳ２４６）、処理を終了する。
【００８６】
なお、上述した処理の手順は、あくまでも一例であり、実施例１に係るサーバ起動停止制御装置１００は、所定のサーバのみの停止処理においても同様の処理を実行することが可能である。
【００８７】
［実施例１の効果］
上述したように、実施例１によれば、役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおける各サーバの起動又は停止を制御するサーバ起動停止制御装置において、サーバ起動停止条件ファイル１３５が、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。そして、サーバ起動／停止決定部１４４が、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル１３５から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。そして、サーバ起動／停止要求部１４５が、サーバ起動／停止決定部１４４によって特定された他のサーバに関して、サーバ起動／停止決定部１４４によって特定された条件を満たしたうえで、対象サーバの起動又は停止を実行する。従って、実施例１に係るサーバ起動停止制御装置１００は、通信ネットワークを構成する各サーバの種別間に動作の依存関係があったり、複雑な停止手順が必要であっても、当通信ネットワークの保守者が各サーバの停止可否や停止手順を判断することなく、各サーバの起動及び停止を迅速に制御することが可能である。また、実施例１に係るサーバ起動停止制御装置１００は、保守者による判断が不要になることから、作業ミスを回避することも可能にする。
【００８８】
また、実施例１によれば、サーバ起動停止条件ファイル１３５は、制約条件の内容として、起動及び停止の順序、サーバ間の依存関係及び制御に失敗した場合の処理について記憶する。従って、実施例１に係るサーバ起動停止制御装置１００は、通信ネットワークを構成する各サーバの稼動状態により複雑な停止手順が必要であっても、当通信ネットワークの保守者が各サーバの停止可否や停止手順を判断することなく、各サーバの起動及び停止を迅速に制御することが可能である。
【００８９】
また、実施例１によれば、サーバ起動／停止決定部１４４が、制約条件の内容に含まれる起動及び停止の順序、或いは、サーバ間の依存関係に基づいて、サーバを起動又は停止させる順序を決定する。そして、サーバ起動／停止要求部１４５が、サーバ起動／停止決定部１４４によって決定された順序でサーバの起動又は停止を実行する。従って、実施例１に係るサーバ起動停止制御装置１００は、異なるサーバ種別間で起動又は停止に係る制約がある場合であっても、該制約を考慮して正しい順序でサーバの起動及び停止を実行することが可能である。
【００９０】
また、実施例１によれば、サーバ稼動状況取得部１４３が、ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する。そして、サーバ起動／停止要求部１４５が、サーバを決定した順序で起動又は停止させる際に、サーバ稼動状況取得部１４３によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、制約条件の内容に含まれる制御に失敗した場合の処理を満たすように制御する。従って、実施例１に係るサーバ起動停止制御装置１００は、サーバの稼動状態がサーバの故障等により通常状態とは異なる状態になったとしても、対応することが可能である。
【実施例２】
【００９１】
上述した実施例１では、通信ネットワーク装置Ａを停止させる際のサーバの停止について説明した。実施例２においては、通信ネットワークに複数の通信ネットワーク装置が接続され、ディザスタリカバリソリューションが採用された場合について説明する。
【００９２】
ここで、ディザスタリカバリソリューションについて説明する。一般に、通信ネットワーク装置は１か所以上のデータセンタに収容して稼動させるが、データセンタの所在地に災害が発生して、収容されている通信ネットワーク装置に故障が発生した際にも通信ネットワークを継続して稼動させるために、ディザスタリカバリソリューションが採用される。ディザスタリカバリソリューションでは、プライマリとなるデータセンタの他に、遠隔地のデータセンタにも通信ネットワーク装置を収容して、災害などでプライマリのデータセンタが機能しなくなった場合にも、遠隔地のデータセンタに通信経路を迂回、集約させることにより、通信ネットワークを継続運用させる。
【００９３】
この場合、通信ネットワーク装置を定期点検などで停止、起動させる際には、通信ネットワークを継続して稼動させるために、プライマリのデータセンタあるいは遠隔地のデータセンタのいずれかに収容されている通信ネットワーク装置が起動している必要がある。そのため、たとえば、プライマリのデータセンタに収容されている通信ネットワーク装置を停止させる場合には、遠隔地のデータセンタに収容されている通信ネットワーク装置が故障などで稼動していないか否かを事前に確認する必要がある。
【００９４】
そこで、従来技術においては、通信ネットワーク装置をサーバ起動停止制御装置から停止させる際には、以下の手順を実施する。まず、通信ネットワーク装置の保守者が、停止させる通信ネットワーク装置の稼動状態を確認する。次に、該保守者が、通信ネットワーク装置を停止させた場合に、該通信ネットワーク装置を経由する通信経路を迂回、集約させる他の通信ネットワーク装置の稼動状態を確認する。次に、該他の通信ネットワーク装置が正常に稼動している場合には、該保守者は、停止させるサーバごとに、サーバ停止制御装置からサーバの起動あるいは停止を実行する。
【００９５】
上述したように、従来技術においては、ディザスタリカバリソリューションが採用された通信ネットワーク上の通信ネットワークを停止させる場合に、段階ごとに保守者の確認が必要になる。そのため、起動及び停止を迅速に制御することができず、かつ、作業ミスも生じる場合がある。そこで、実施例２では、ディザスタリカバリソリューションが採用された通信ネットワーク上の通信ネットワークを停止させる場合であっても、起動及び停止を迅速に制御することが可能なサーバ起動停止制御装置について説明する。
【００９６】
図１０は、実施例２に係る通信ネットワークの一例を示す模式図である。例えば、実施例２に係る通信ネットワークには、図１０に示すように、通信ネットワーク装置Ａと、通信ネットワーク装置Ｂと、通信ネットワーク装置Ｃと、サーバ起動停止制御装置１００ａが接続される。通信ネットワーク装置Ａ〜Ｃは、図１０に示すように、それぞれ２台のフロントサーバと、２台のＤＢサーバと、１台のログサーバとから構成される。そして、図１０に示す通信ネットワークにおいては、通信ネットワーク装置Ａの第１の迂回路として通信ネットワーク装置Ｃが設定され、第２の迂回路として通信ネットワーク装置Ｂが設定される。
【００９７】
ここで、まず、実施例２に係るサーバ起動停止制御装置１００ａの構成について説明する。図１１は、実施例２に係るサーバ起動停止制御装置１００ａの構成の一例を示す図である。なお、実施例２に係るサーバ起動停止制御装置１００ａは、実施例１に係るサーバ起動停止制御装置１００と比較して、通信ネットワーク装置運用データファイル１３７、通信ネットワーク装置優先度データファイル１３８及び通信ネットワーク装置優先度識別部１４７を新たに有する点と、サーバ稼働状況取得部１４３ａ及びサーバ起動／停止決定部１４４ａの処理内容とが異なる。以下、これらを中心に説明する。
【００９８】
通信ネットワーク装置優先度データファイル１３８は、通信ネットワーク装置を稼動させる優先度を記憶する。図１２は、実施例２に係る通信ネットワーク装置優先度データファイル１３８によって記憶される情報の一例を示す図である。例えば、通信ネットワーク装置優先度データファイル１３８は、図１２に示すように、「優先度：通信ネットワーク装置Ａ＞通信ネットワーク装置Ｂ＞通信ネットワーク装置Ｃ」を記憶する。ここで、上記した情報は、通信ネットワーク装置Ａを稼動させる優先度は、通信ネットワーク装置Ｂおよび通信ネットワーク装置Ｃよりも高く、通信ネットワーク装置Ｂを稼動させる優先度は、通信ネットワーク装置Ｃよりも高いことを示す。
【００９９】
通信ネットワーク装置運用データファイル１３７は、通信ネットワークの通信経路に関する情報を記憶する。具体的には、通信ネットワーク装置運用データファイル１３７は、通信ネットワーク上の通信ネットワーク装置を停止した場合に迂回・集約させる通信経路に関する情報を記憶する。図１３は、実施例２に係る通信ネットワーク装置運用データファイル１３７によって記憶される情報の一例を示す図である。例えば、通信ネットワーク装置運用データファイル１３７は、図１３に示すように、「停止：通信ネットワーク装置Ａ」に「迂回・集約通信経路：通信ネットワーク装置Ｃ」を対応付けた情報を記憶する。ここで、上記した情報は、「通信ネットワーク装置Ａ」を停止させた場合の迂回・集約経路が「通信ネットワーク装置Ｃ」であることを示す。
【０１００】
なお、通信ネットワーク装置データファイル１３１は、通信ネットワーク装置Ａ、通信ネットワーク装置Ｂ及び通信ネットワーク装置Ｃを一意に特定するための識別子を記憶する。また、サーバ構成ファイル１３２は、通信ネットワーク装置Ａ、通信ネットワーク装置Ｂ及び通信ネットワーク装置Ｃそれぞれを構成するサーバを一意に特定するための識別子を記憶する。また、通信アドレスデータファイル１３３は、サーバ構成ファイル１３２は、通信ネットワーク装置Ａ、通信ネットワーク装置Ｂ及び通信ネットワーク装置Ｃそれぞれを構成するサーバの通信アドレスを記憶する。また、通信ネットワーク装置起動停止ファイル１３４は、通信ネットワーク装置Ａを構成するサーバについて、フロントサーバ１１、フロントサーバ１２、ＤＢサーバ１１、ＤＢサーバ１２、ログサーバ１１の順に停止することを示す情報を記憶する。
【０１０１】
サーバ稼動状況取得部１４３ａは、通信ネットワークに接続された通信ネットワーク装置ごとに、通信ネットワーク装置を構成するサーバの稼動状態を取得し、取得したサーバの稼動状態から該通信ネットワーク装置の稼動状態を判定する。
【０１０２】
サーバ起動／停止決定部１４４ａは、通信ネットワーク装置運用データファイル１３７によって記憶された迂回・集約通信経路の情報に基づいて、所定の通信ネットワーク装置を停止させる場合の迂回・集約通信経路を特定する。また、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置起動停止ファイルに記憶された停止順序に基づいて、所定の通信ネットワーク装置を停止させる場合の停止順序を決定する。
【０１０３】
通信ネットワーク装置優先度識別部１４７は、通信ネットワーク装置優先度データファイル１３８によって記憶された優先度の情報に基づいて、通信ネットワーク上で稼動させる通信ネットワーク装置の優先度を識別する。
【０１０４】
次に、実施例２に係るサーバ起動停止制御装置１００ａの処理の手順について、図１４Ａ〜図１４Ｆを用いて説明する。図１４Ａ〜図１４Ｆは、実施例２に係るサーバ起動停止制御装置１００ａによる処理の手順を示すシーケンス図である。なお、図１４Ａ〜図１４Ｆにおいては、図１４Ａ、図１４Ｂ、図１４Ｃ、図１４Ｄ、図１４Ｅ、図１４Ｆの順にサーバ起動停止制御装置１００ａによる処理の手順を示す。また、図１４Ａ〜図１４Ｆにおいては、通信ネットワーク装置Ａ及びＢを停止させる要求を保守者から受付けた際に、通信ネットワーク装置Ｃのフロントサーバ３１に故障が発生していて、通信ネットワーク装置Ｃへの通信経路の迂回・集約が不可である場合を例とする。また、以下では、サーバ起動停止制御装置１００ａによる処理について、サーバ起動停止制御装置１００ａが有する各部を用いて説明する。
【０１０５】
図１４Ａに示すように、実施例２に係るサーバ起動停止制御装置１００ａにおいては、保守者が稼働中の通信ネットワーク装置Ａ及び通信ネットワーク装置Ｂを停止させるために、グラフィックユーザインタフェース１１０から、通信ネットワーク装置Ａ及び通信ネットワーク装置Ｂの停止実行を要求すると、ログ管理部１４６が、ログファイルに停止実行の要求を受け付けたことを記録する。
【０１０６】
そして、サーバ起動／停止決定部１４４は、制約条件を参照して、通信ネットワーク装置Ａにおいて最初に停止させるサーバをフロントサーバ１１と決定する（ステップＳ３０１）。なお、サーバ起動停止制御装置１００ａにおいては、サーバ起動／停止決定部１４４ａによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル１３１から通信ネットワーク装置Ａの識別子が特定される。そして、サーバ起動停止制御装置１００ａにおいては、サーバ構成ファイル１３２から各サーバの識別子が抽出される。
【０１０７】
最初に停止させるサーバがフロントサーバ１１であると決定すると、サーバ稼動状況取得部１４３ａは、フロントサーバ１１への接続状態およびフロントサーバ１１のＯＳの稼動状態などを確認するために、フロントサーバ１１の通信アドレスを通信アドレスデータファイル１３３から取得した後に、まず、フロントサーバ１１に対してネットワーク接続状況確認を行う（ステップＳ３０２）。
【０１０８】
フロントサーバ１１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ３０３）。サーバ稼動状況取得部１４３ａは、フロントサーバ１１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３０４）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３０５）。そして、サーバ稼動状況取得部１４３ａは、取得したフロントサーバ１１の状態から、フロントサーバ１１が正常に稼動しているか否かを判定する。
【０１０９】
ここで、フロントサーバ１１が正常に稼働中と判定されると（ステップＳ３０６）、サーバ起動／停止決定部１４４ａは、制約条件を参照して、次に停止させるサーバをフロントサーバ１２と決定する（ステップＳ３０７）。なお、フロントサーバ１１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１１０】
次に停止させるサーバがフロントサーバ１２であると決定すると、サーバ稼動状況取得部１４３ａは、フロントサーバ１２への接続状態およびフロントサーバ１２のＯＳの稼動状態などを確認するために、フロントサーバ１２の通信アドレスを通信アドレスデータファイル１３３から取得した後に、まず、フロントサーバ１２に対してネットワーク接続状況確認を行う（ステップＳ３０８）。
【０１１１】
フロントサーバ１２は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ３０９）。サーバ稼動状況取得部１４３ａは、フロントサーバ１２からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３１０）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３１１）。そして、サーバ稼動状況取得部１４３ａは、取得したフロントサーバ１２の状態から、フロントサーバ１２が正常に稼動しているか否かを判定する。
【０１１２】
ここで、フロントサーバ１２が正常に稼働中と判定されると（ステップＳ３１２）、サーバ起動／停止決定部１４４ａは、制約条件を参照して、次に停止させるサーバをＤＢサーバ１１と決定する（ステップＳ３１３）。なお、フロントサーバ１２の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１１３】
次に停止させるサーバがＤＢサーバ１１であると決定すると、サーバ稼動状況取得部１４３ａは、ＤＢサーバ１１への接続状態およびＤＢサーバ１１のＯＳの稼動状態などを確認するために、ＤＢサーバ１１の通信アドレスを通信アドレスデータファイル１３３から取得した後に、まず、ＤＢサーバ１１に対してネットワーク接続状況確認を行う（ステップＳ３１４）。
【０１１４】
ＤＢサーバ１１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ３１５）。サーバ稼動状況取得部１４３ａは、ＤＢサーバ１１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３１６）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３１７）。そして、サーバ稼動状況取得部１４３ａは、取得したＤＢサーバ１１の状態から、ＤＢサーバ１１が正常に稼動しているか否かを判定する。
【０１１５】
ここで、ＤＢサーバ１１が正常に稼働中と判定されると（ステップＳ３１８）、サーバ起動／停止決定部１４４ａは、制約条件を参照して、次に停止させるサーバをＤＢサーバ１２と決定する（ステップＳ３１９）。なお、ＤＢサーバ１１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１１６】
次に停止させるサーバがＤＢサーバ１２であると決定すると、サーバ稼動状況取得部１４３ａは、ＤＢサーバ１２への接続状態およびＤＢサーバ１２のＯＳの稼動状態などを確認するために、ＤＢサーバ１２の通信アドレスを通信アドレスデータファイル１３３から取得した後に、まず、ＤＢサーバ１２に対してネットワーク接続状況確認を行う（ステップＳ３２０）。
【０１１７】
ＤＢサーバ１２は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ３２１）。サーバ稼動状況取得部１４３ａは、ＤＢサーバ１２からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３２２）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３２３）。そして、サーバ稼動状況取得部１４３ａは、取得したＤＢサーバ１２の状態から、ＤＢサーバ１２が正常に稼動しているか否かを判定する。
【０１１８】
ここで、ＤＢサーバ１２が正常に稼働中と判定されると（ステップＳ３２４）、サーバ起動／停止決定部１４４ａは、制約条件を参照して、次に停止させるサーバをログサーバ１１と決定する（ステップＳ３２５）。なお、ＤＢサーバ１２の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１１９】
次に停止させるサーバがログサーバ１１であると決定すると、サーバ稼動状況取得部１４３ａは、ログサーバ１１への接続状態およびログサーバ１１のＯＳの稼動状態などを確認するために、ログサーバ１１の通信アドレスを通信アドレスデータファイル１３３から取得した後に、まず、ログサーバ１１に対してネットワーク接続状況確認を行う（ステップＳ３２６）。
【０１２０】
ログサーバ１１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ３２７）。サーバ稼動状況取得部１４３ａは、ログサーバ１１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３２８）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３２９）。そして、サーバ稼動状況取得部１４３ａは、取得したログサーバ１１の状態から、ログサーバ１１が正常に稼動しているか否かを判定する。
【０１２１】
ここで、ログサーバ１１が正常に稼働中と判定されると（ステップＳ３３０）、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置Ａを構成するすべてのサーバが正常に稼動していることから通信ネットワーク装置Ａが正常に稼動中であると判定する（ステップＳ３３１）。
【０１２２】
続いて、サーバ起動／停止決定部１４４は、制約条件を参照して、通信ネットワーク装置Ｂにおいて最初に停止させるサーバをフロントサーバ２１と決定する（ステップＳ３３２）。なお、サーバ起動停止制御装置１００ａにおいては、サーバ起動／停止決定部１４４ａによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル１３１から通信ネットワーク装置Ｂの識別子が特定される。そして、サーバ起動停止制御装置１００ａにおいては、サーバ構成ファイル１３２から各サーバの識別子が抽出される。
【０１２３】
実施例２に係るサーバ起動停止制御装置１００ａは、通信ネットワーク装置Ｂにおいて最初に停止させるサーバをフロントサーバ２１と決定すると、フロントサーバ２１への接続状態およびフロントサーバ２１のＯＳの稼動状態などを確認し、フロントサーバ２２、ＤＢサーバ２１、ＤＢサーバ２２、ログサーバ２１の順に接続状態及びＯＳの稼動状態などを確認する（ステップＳ３３３〜ステップＳ３６１）。なお、ステップＳ３３３〜ステップＳ３６１については、上述したステップＳ３０２〜３３０と同様であることから詳細な説明を省略する。
【０１２４】
そして、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置Ｂを構成するすべてのサーバが正常に稼動していることから通信ネットワーク装置Ｂが正常に稼動中であると判定する（ステップＳ３６２）。 
【０１２５】
続いて、サーバ起動／停止決定部１４４ａは、制約条件を参照して、通信ネットワーク装置Ｃにおいて最初に停止させるサーバをフロントサーバ３１と決定する（ステップＳ３６３）。なお、サーバ起動停止制御装置１００ａにおいては、サーバ起動／停止決定部１４４ａによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル１３１から通信ネットワーク装置Ｃの識別子が特定される。そして、サーバ起動停止制御装置１００ａにおいては、サーバ構成ファイル１３２から各サーバの識別子が抽出される。
【０１２６】
フロントサーバ３１は、ネットワーク接続状況確認を受付けると（ステップＳ３６４）、ネットワーク接続状況を応答する（ステップＳ３６５）。サーバ稼動状況取得部１４３ａは、フロントサーバ３１からネットワーク接続状況の応答を受付けると、プロセス／ＯＳ稼動状況確認を行い（ステップＳ３６６）、プロセス／ＯＳ稼動状況応答を受付ける（ステップＳ３６７）。ここで、フロントサーバ３１は、故障が発生している旨の応答をサーバ起動停止制御装置１００ａに対して発信する。
【０１２７】
サーバ稼動状況取得部１４３ａは、取得したフロントサーバ３１の状態から、ＯＳの稼動状態が通常と異なると判定し、通信ネットワーク装置Ｃが異常状態であると判定する（ステップＳ３６８）。なお、フロントサーバ３１の稼動が異常状態であることが、ログ管理部１４６によってログファイル１３６に記録される。
【０１２８】
そして、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置Ｃを構成するフロントサーバ３１が通常とは異なる状態のため、通信ネットワーク装置Ｃへの通信経路の迂回、集約は不可能であると判定する。そして、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置Ａ及び通信ネットワーク装置Ｂを停止させると、通信ネットワーク装置Ａ及び通信ネットワーク装置Ｂへの通信経路を迂回、集約する通信ネットワーク装置が存在しないことから、通信ネットワーク装置Ａ及び通信ネットワーク装置Ｂの両方を停止させることは不可能であると判定する。
【０１２９】
上記した判定結果に応じて、通信ネットワーク装置優先度識別部１４７は、通信ネットワーク装置優先度データファイル１３８によって記憶された優先度データを参照して、通信ネットワーク装置Ａの方が通信ネットワーク装置Ｂよりも稼動させる優先度が高いと判定し、通信ネットワーク装置Ａが停止不可であり、通信ネットワーク装置Ｂが停止可能であると判定する（ステップＳ３６９）。
【０１３０】
そして、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置起動停止ファイル１３４と、取得している通信ネットワーク装置Ｂの各サーバの状態とから、最初に停止させるサーバがフロントサーバ２１であると特定する（ステップＳ３７０）。最初に停止させるサーバがフロントサーバ２１であると特定されると、サーバ起動／停止要求部１４５は、フロントサーバ２１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ３７１）。
【０１３１】
フロントサーバ２１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ３７２）、サーバを停止する（ステップＳ３７３）。サーバ起動／停止決定部１４４ａは、フロントサーバ２１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ２２と決定する（ステップＳ３７４）。なお、フロントサーバ２１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１３２】
次に停止させるサーバがフロントサーバ２２であると決定されると、サーバ起動／停止要求部１４５は、フロントサーバ２２に対してプロセス／ＯＳ停止要求を送信する（ステップＳ３７５）。
【０１３３】
フロントサーバ２２は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ３７６）、サーバを停止する（ステップＳ３７７）。サーバ起動／停止決定部１４４ａは、フロントサーバ２２からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをＤＢサーバ２１と決定する（ステップＳ３７８）。なお、フロントサーバ２２の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１３４】
次に停止させるサーバがＤＢサーバ２１であると決定されると、サーバ起動／停止要求部１４５は、ＤＢサーバ２１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ３７９）。
【０１３５】
ＤＢサーバ２１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ３８０）、サーバを停止する（ステップＳ３８１）。サーバ起動／停止決定部１４４ａは、ＤＢサーバ２１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをＤＢサーバ２２と決定する（ステップＳ３８２）。なお、ＤＢサーバ２１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１３６】
次に停止させるサーバがＤＢサーバ２２であると決定されると、サーバ起動／停止要求部１４５は、ＤＢサーバ２２に対してプロセス／ＯＳ停止要求を送信する（ステップＳ３８３）。
【０１３７】
ＤＢサーバ２２は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ３８４）、サーバを停止する（ステップＳ３８５）。サーバ起動／停止決定部１４４ａは、ＤＢサーバ２２からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバをログサーバ２１と決定する（ステップＳ３８６）。なお、ＤＢサーバ２１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１３８】
次に停止させるサーバがログサーバ２１であると決定されると、サーバ起動／停止要求部１４５は、ログサーバ２１に対してプロセス／ＯＳ停止要求を送信する（ステップＳ３８７）。
【０１３９】
ログサーバ２１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ停止要求を受付けると、プロセス及びＯＳを停止する旨のプロセス／ＯＳ停止応答を返すとともに（ステップＳ３８８）、サーバを停止する（ステップＳ３８９）。サーバ起動／停止決定部１４４ａは、ログサーバ２１からプロセス／ＯＳ停止応答を受付けると、制約条件を参照して、次に停止させるサーバがないことを確認する。なお、ログサーバ２１の停止が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１４０】
そして、ログ管理部１４６が、実行結果をログファイルに格納し（ステップＳ３９０）、サーバ起動停止制御装置１００ａは、通信ネットワーク装置Ｂの停止が実行されたこと、及び、通信ネットワーク装置Ａの停止が未実行であることを示す応答を、グラフィックユーザインタフェース１１０を介して保守者に通知して（ステップＳ３９１）、処理を終了する。 
【０１４１】
なお、上述した処理の手順は、あくまでも一例であり、実施例２に係るサーバ起動停止制御装置１００ａは、通信ネットワーク装置の起動処理においても同様の処理を実行することが可能である。
【０１４２】
［実施例２の効果］
上述したように、実施例２によれば、複数のサーバによって複数の通信ネットワーク装置が構成され、通信ネットワーク装置の起動又は停止を制御する場合に、サーバ起動／停止決定部１４４ａは、通信ネットワーク装置ごとに予め設定された稼動させる優先度に基づいて、起動又は停止させる通信ネットワーク装置を特定し、特定した通信ネットワーク装置を構成するサーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル１３５から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。
【０１４３】
例えば、上述したように、サーバ起動停止制御装置１１０ａは、通信ネットワーク装置Ａおよび通信ネットワーク装置Ｂを停止する際に、通信ネットワーク装置Ａ、通信ネットワーク装置Ｂ及び通信ネットワーク装置Ｃの稼動状況を取得して、通信ネットワーク装置Ｃを構成するフロントサーバ３１が通常とは異なる状態であると判断して、通信ネットワーク装置優先度データファイルに記録されている優先度から、通信ネットワーク装置Ａの停止は実行不可を判断して、通信ネットワーク装置Ｂを構成するサーバの停止のみを実行する。従って、実施例２に係るサーバ起動停止制御装置１１０ａは、保守者が通信ネットワーク装置の稼動状況や停止可能な通信ネットワーク装置を確認する作業が不要になることから、通信ネットワーク装置を停止させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【実施例３】
【０１４４】
上述した実施例１及び実施例２では、サーバを停止させる場合について説明した。実施例３においては、サーバを起動させる場合について説明する。図１５は、実施例３に係る通信ネットワークの一例を示す模式図である。例えば、実施例３に係る通信ネットワークには、図１５に示すように、通信ネットワーク装置Ａと、サーバ起動停止制御装置１００ｂが接続される。なお、図１５に示す通信ネットワーク装置Ａは、図５に示す通信ネットワーク装置Ａと同様である。実施例３に係るサーバ起動停止制御装置１００ｂは、図１５に示すように、停止中のサーバ群を、起動に係る制約を満たしたうえで順次起動させる。
【０１４５】
まず、実施例３に係るサーバ起動停止制御装置１００ｂの構成について説明する。図１６は、実施例３に係るサーバ起動停止制御装置１００ｂの構成の一例を示す図である。なお、実施例３に係るサーバ起動停止制御装置１００ｂは、実施例１に係るサーバ起動停止制御装置１００と比較して、通信ネットワーク装置起動停止ファイル１３４ａ及びサーバ起動停止条件ファイル１３５ａによって記憶される内容と、サーバ起動／停止決定部１４４ｂによる処理内容とが異なる。以下、これらを中心に説明する。
【０１４６】
通信ネットワーク装置起動停止ファイル１３４ａは、通信ネットワークに接続された通信ネットワーク装置ごとに、サーバの起動順序及び停止順序を記憶する。図１７は、実施例３に係る通信ネットワーク装置起動停止ファイル１３４ａによって記憶される情報の一例を示す図である。
【０１４７】
例えば、通信ネットワーク装置起動停止ファイル１３４ａは、図１７に示すように、通信ネットワーク装置ごとに、サーバの起動順序を記憶する。一例を挙げると、通信ネットワーク装置起動停止ファイル１３４は、「通信ネットワーク：Ａ」に対応付けて、「１：ログサーバ１、２：ＤＢサーバ２、３：ＤＢサーバ１、４：フロントサーバ２、５：フロントサーバ１」を記憶する。ここで、上記した情報は、ネットワーク装置Ａにおいては、ログサーバ１、ＤＢサーバ２、ＤＢサーバ１、フロントサーバ２、フロントサーバ１の順序で起動することを意味する。
【０１４８】
図１６に戻って、サーバ起動停止条件ファイル１３５ａは、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。図１８は、実施例３に係るサーバ起動停止条件ファイル１３５ａによって記憶される情報の一例を示す図である。
【０１４９】
例えば、サーバ起動停止条件ファイル１３５ａは、図１８に示すように、サーバごとに、当該サーバを起動させるための制約を記憶する。一例を挙げると、実施例３に係るサーバ起動停止条件ファイル１３５ａは、「フロントサーバ１」に対応付けて、「ＤＢサーバ１又はＤＢサーバ２の起動が失敗した後の起動不可」を記憶する。ここで、上記した情報は、ＤＢサーバ１又は、ＤＢサーバ２の起動が失敗した場合には、フロントサーバ１を起動できないことを意味する。なお、図１８に示す情報は、あくまでも一例である。
【０１５０】
サーバ起動／停止決定部１４４ｂは、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル１３５ａから取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。
【０１５１】
例えば、サーバ起動停止制御装置１００ｂが保守者から通信ネットワーク装置Ａを起動させる旨のコマンドを受付けると、サーバ起動／停止決定部１４４ｂは、通信ネットワーク装置Ａを構成するフロントサーバ１、フロントサーバ２、ＤＢサーバ１、ＤＢサーバ２及びログサーバ１それぞれに係る制約条件を読み出し、サーバの起動順序などを決定する。そして、サーバ起動／停止決定部１４４ｂは、決定した順序でサーバの起動を実行する際に、いずれかのサーバにおいて起動が失敗した場合には、その後のサーバが起動可能であるか否かを判定する。
【０１５２】
次に、実施例３に係るサーバ起動停止制御装置１００ｂの処理の手順について、図１９Ａ〜図１９Ｃを用いて説明する。図１９Ａ〜図１９Ｃは、実施例３に係るサーバ起動停止制御装置１００ｂによる処理の手順を示すシーケンス図である。なお、図１９Ａ〜図１９Ｃにおいては、図１９Ａ、図１９Ｂ、図１９Ｃの順にサーバ起動停止制御装置１００ｂによる処理の手順を示す。また、図１９Ａ〜図１９Ｃにおいては、通信ネットワーク装置Ａを起動させる際に、フロントサーバ２に故障が発生したために、フロントサーバ２のプロセスの起動に失敗して、通常の手順では起動できない状態の場合を例とする。また、以下では、サーバ起動停止制御装置１００ｂによる処理について、サーバ起動停止制御装置１００ｂが有する各部を用いて説明する。
【０１５３】
図１９Ａに示すように、実施例３に係るサーバ起動停止制御装置１００ｂにおいては、グラフィックユーザインタフェース１１０を介して、保守者から通信ネットワーク装置Ａの起動実行のコマンドが入力されると、サーバ起動／停止決定部１４４ｂは、制約条件を参照して、最初に起動させるサーバをログサーバ１と決定する（ステップＳ４０１）。なお、サーバ起動停止制御装置１００ｂにおいては、サーバ起動／停止決定部１４４ｂによって最初に起動させるサーバが決定される前に、起動実行の要求を受付けたことをログファイル１３６に記録するとともに、通信ネットワーク装置データファイル１３１から通信ネットワーク装置Ａの識別子が特定される。そして、サーバ起動停止制御装置１００ｂにおいては、サーバ構成ファイル１３２から各サーバの識別子が抽出される。
【０１５４】
最初に起動させるサーバがログサーバ１であると決定すると、サーバ稼動状況取得部１４３は、ログサーバ１の接続状態を確認するために、ログサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、ログサーバ１に対してネットワーク接続状況確認を行う（ステップＳ４０２）。
【０１５５】
ログサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ４０３）。サーバ稼動状況取得部１４３は、ログサーバ１からネットワーク接続状況の応答を受付けると、その応答内容からログサーバ１が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部１４３が起動可能であると判定すると（ステップＳ４０４）、サーバ起動／停止要求部１４５は、プロセスやＯＳの起動を実行させる旨の要求であるプロセス／ＯＳ起動要求をログサーバ１に送信する（ステップＳ４０５）。
【０１５６】
ログサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ起動要求を受付けると、プロセス及びＯＳを起動する旨のプロセス／ＯＳ起動応答を返すとともに（ステップＳ４０６）、サーバを起動する（ステップＳ４０７）。サーバ起動／停止決定部１４４ｂは、ログサーバ１からプロセス／ＯＳ起動応答を受付けると、制約条件を参照して、次に停止させるサーバをＤＢサーバ２と決定する（ステップＳ４０８）。なお、ログサーバ１の起動が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１５７】
次に起動させるサーバがＤＢサーバ２であると決定すると、サーバ稼動状況取得部１４３は、ＤＢサーバ２の接続状態を確認するために、ＤＢサーバ２の通信アドレスを通信アドレスデータファイルから取得した後に、ＤＢサーバ２に対してネットワーク接続状況確認を行う（ステップＳ４０９）。
【０１５８】
ＤＢサーバ２は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ４１０）。サーバ稼動状況取得部１４３は、ＤＢサーバ２からネットワーク接続状況の応答を受付けると、その応答内容からＤＢサーバ２が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部１４３が起動可能であると判定すると（ステップＳ４１１）、サーバ起動／停止要求部１４５は、プロセスやＯＳの起動を実行させる旨の要求であるプロセス／ＯＳ起動要求をＤＢサーバ２に送信する（ステップＳ４１２）。
【０１５９】
ＤＢサーバ２は、サーバ起動／停止要求部１４５からプロセス／ＯＳ起動要求を受付けると、プロセス及びＯＳを起動する旨のプロセス／ＯＳ起動応答を返すとともに（ステップＳ４１３）、サーバを起動する（ステップＳ４１４）。サーバ起動／停止決定部１４４ｂは、ＤＢサーバ２からプロセス／ＯＳ起動応答を受付けると、制約条件を参照して、次に停止させるサーバをＤＢサーバ１と決定する（ステップＳ４１５）。なお、ＤＢサーバ２の起動が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１６０】
次に起動させるサーバがＤＢサーバ１であると決定すると、サーバ稼動状況取得部１４３は、ＤＢサーバ１の接続状態を確認するために、ＤＢサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、ＤＢサーバ１に対してネットワーク接続状況確認を行う（ステップＳ４１６）。
【０１６１】
ＤＢサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ４１７）。サーバ稼動状況取得部１４３は、ＤＢサーバ１からネットワーク接続状況の応答を受付けると、その応答内容からＤＢサーバ１が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部１４３が起動可能であると判定すると（ステップＳ４１８）、サーバ起動／停止要求部１４５は、プロセスやＯＳの起動を実行させる旨の要求であるプロセス／ＯＳ起動要求をＤＢサーバ１に送信する（ステップＳ４１９）。
【０１６２】
ＤＢサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ起動要求を受付けると、プロセス及びＯＳを起動する旨のプロセス／ＯＳ起動応答を返すとともに（ステップＳ４２０）、サーバを起動する（ステップＳ４２１）。サーバ起動／停止決定部１４４ｂは、ＤＢサーバ１からプロセス／ＯＳ起動応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ２と決定する（ステップＳ４２２）。なお、ＤＢサーバ１の起動が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１６３】
次に起動させるサーバがフロントサーバ２であると決定すると、サーバ稼動状況取得部１４３は、フロントサーバ２の接続状態を確認するために、フロントサーバ２の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ２に対してネットワーク接続状況確認を行う（ステップＳ４２３）。
【０１６４】
フロントサーバ２は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ４２４）。サーバ稼動状況取得部１４３は、フロントサーバ２からネットワーク接続状況の応答を受付けると、その応答内容からフロントサーバ２が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部１４３が起動可能であると判定すると（ステップＳ４２５）、サーバ起動／停止要求部１４５は、プロセスやＯＳの起動を実行させる旨の要求であるプロセス／ＯＳ起動要求をフロントサーバ２に送信する（ステップＳ４２６）。
【０１６５】
ここで、フロントサーバ２は、故障が発生したために正常にプロセス及びＯＳを起動できなかった旨のエラー応答をサーバ起動停止制御装置１００ｂに返す（ステップＳ４２７）。サーバ起動／停止決定部１４４ｂは、フロントサーバ２からプロセス／ＯＳ起動応答（エラー応答）を受付けると、起動が失敗したため保守者の復旧作業が必要であると判定する（ステップＳ４２８）。そして、サーバ起動／停止決定部１４４ｂは、制約条件を参照して、次に停止させるサーバをフロントサーバ１と決定する（ステップＳ４２９）。なお、フロントサーバ２の起動が失敗したことが、ログ管理部１４６によってログファイル１３６に記録される。 
【０１６６】
次に起動させるサーバがフロントサーバ１であると決定すると、サーバ起動停止決定部１４４ｂは、サーバ起動停止条件ファイル１３５ａによって記憶された制約を参照して、フロントサーバ２が起動失敗の場合のフロントサーバ１の起動可否を判定する（ステップＳ４３０）。ここで、フロントサーバ１が起動可能であると判定されると（ステップＳ４３１）、サーバ稼動状況取得部１４３は、フロントサーバ１の接続状態を確認するために、フロントサーバ１の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ１に対してネットワーク接続状況確認を行う（ステップＳ４３２）。
【０１６７】
フロントサーバ１は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する（ステップＳ４３３）。サーバ稼動状況取得部１４３は、フロントサーバ１からネットワーク接続状況の応答を受付けると、その応答内容からフロントサーバ１が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部１４３が起動可能であると判定すると（ステップＳ４３４）、サーバ起動／停止要求部１４５は、プロセスやＯＳの起動を実行させる旨の要求であるプロセス／ＯＳ起動要求をフロントサーバ１に送信する（ステップＳ４３５）。
【０１６８】
フロントサーバ１は、サーバ起動／停止要求部１４５からプロセス／ＯＳ起動要求を受付けると、プロセス及びＯＳを起動する旨のプロセス／ＯＳ起動応答を返すとともに（ステップＳ４３６）、サーバを起動する（ステップＳ４３７）。サーバ起動／停止決定部１４４ｂは、フロントサーバ１からプロセス／ＯＳ起動応答を受付けると、制約条件を参照して、次に起動させるサーバがないことを確認する。なお、フロントサーバ１の起動が正常に実施されたことが、ログ管理部１４６によってログファイル１３６に記録される。
【０１６９】
そして、ログ管理部１４６が、実行結果をログファイルに格納し（ステップＳ４３８）、サーバ起動停止制御装置１００ｂは、通信ネットワーク装置Ａの起動が実行された応答を、グラフィックユーザインタフェース１１０を介して保守者に通知して（ステップＳ４３９）、処理を終了する。
【０１７０】
なお、上述した処理の手順は、あくまでも一例であり、実施例３に係るサーバ起動停止制御装置１００ｂは、所定のサーバのみの起動処理においても同様の処理を実行することが可能である。
【０１７１】
［実施例３の効果］
上述したように、実施例３によれば、サーバ起動停止制御装置１００ｂは、例えば、通信ネットワーク装置Ａを構成するフロントサーバ１、フロントサーバ２、ＤＢサーバ１、ＤＢサーバ２、ログサーバ１の通信ネットワークへの接続状態などを確認して、通信ネットワーク装置起動ファイルに記録されている順番でこれらのサーバの起動を実行する。従って、実施例３に係るサーバ起動停止制御装置１００ｂは、通信ネットワーク装置の保守者がこれらのサーバの稼動状況を確認したり、起動させる順番を確認したりする作業が不要とすることができ、通信ネットワーク装置を起動させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【０１７２】
また、実施例３によれば、サーバ起動停止制御装置１００ｂは、例えば、フロントサーバ２の起動に失敗して当サーバの起動が不可能になり、当サーバが通常とは異なる稼動状況になった際に、通信ネットワーク装置起動停止ファイル１３４ａとサーバ起動停止条件ファイル１３５ａを用いて、フロントサーバ２の次に起動させるフロントサーバ１の起動が可能であると判断して、フロントサーバ１を起動させる。従って、実施例３に係るサーバ起動停止制御装置１００ｂは、通信ネットワーク装置の保守者がサーバの起動可否を判断する作業が不要になることから、通信ネットワーク装置を起動させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【実施例４】
【０１７３】
これまで実施例１、２及び３について説明したが、本願の技術は実施例１、２及び３に限定されるものではない。すなわち、実施例１、２及び３は、その他の様々な形態で実施されることが可能であり、種々の省略、置き換え、変更を行うことができる。
【０１７４】
例えば、各装置の分散・統合の具体的形態（例えば、図６の形態）は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、通信ネットワーク装置データファイル１３１と、サーバ構成ファイルとを識別情報ファイルとして統合してよい。
【０１７５】
また、サーバ稼動状況取得部１４３をサーバ起動停止制御装置１００の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、サーバ稼動状況取得部１４３とサーバ起動／停止決定部１４４とを別々の装置が有し、ネットワークに接続されて協働することで、上述したサーバ起動停止制御装置１００の機能を実現するようにしてもよい。
【０１７６】
これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１７７】
１００、１００ａ、１００ｂ  サーバ起動停止制御装置
１３４  通信ネットワーク装置起動停止ファイル
１３５  サーバ起動停止条件ファイル
１３７  通信ネットワーク装置運用データファイル
１３８  通信ネットワーク装置優先度データファイル
１４３、１４３ａ  サーバ稼動状況取得部
１４４、１４４ａ  サーバ起動／停止決定部
１４５  サーバ起動／停止要求部
１４７  通信ネットワーク装置優先度識別部
【図１】
0005808006.tif 000002
【図２】
0005808006.tif 000003
【図３】
0005808006.tif 000004
【図４】
0005808006.tif 000005
【図５】
0005808006.tif 000006
【図６】
0005808006.tif 000007
【図７】
0005808006.tif 000008
【図８】
0005808006.tif 000009
【図９Ａ】
0005808006.tif 000010
【図９Ｂ】
0005808006.tif 000011
【図９Ｃ】
0005808006.tif 000012
【図１０】
0005808006.tif 000013
【図１１】
0005808006.tif 000014
【図１２】
0005808006.tif 000015
【図１３】
0005808006.tif 000016
【図１４Ａ】
0005808006.tif 000017
【図１４Ｂ】
0005808006.tif 000018
【図１４Ｃ】
0005808006.tif 000019
【図１４Ｄ】
0005808006.tif 000020
【図１４Ｅ】
0005808006.tif 000021
【図１４Ｆ】
0005808006.tif 000022
【図１５】
0005808006.tif 000023
【図１６】
0005808006.tif 000024
【図１７】
0005808006.tif 000025
【図１８】
0005808006.tif 000026
【図１９Ａ】
0005808006.tif 000027
【図１９Ｂ】
0005808006.tif 000028
【図１９Ｃ】
0005808006.tif 000029