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