説明

サーバ起動停止制御装置及びサーバ起動停止制御方法

【課題】異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御すること。
【解決手段】サーバ起動停止制御装置において、サーバ起動停止条件ファイルが、各サーバの起動又は停止に適用される制約条件を記憶する。また、サーバ起動/停止決定部が、起動又は停止を実行する対象サーバに適用される制約条件に規定された他のサーバ及び条件の内容を特定する。サーバ起動/停止要求部が、特定された他のサーバに関して、特定された条件の内容を満たしたうえで、対象サーバの起動又は停止を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、サーバ起動停止制御装置及びサーバ起動停止制御方法に関する。
【背景技術】
【0002】
従来、通信ネットワークにおいては、当該通信ネットワーク上に設置された複数の通信ネットワーク装置間で処理要求信号の送信と、それに対する処理結果の応答が行われている。例えば、1つの問題を複数の通信ネットワーク装置によって処理する並列分散処理などにおいては、通信ネットワーク装置は、他の通信ネットワーク装置から受信した処理要求信号に含まれるユーザ情報や、ネットワーク情報、及び、自装置が保持する情報にしたがって処理を実行する。そして、処理を実行した通信ネットワーク装置は、処理要求信号を送信した通信ネットワーク装置に対して処理結果を応答するとともに、処理内容を装置内に記憶する。
【0003】
上述した処理を実行するために、例えば、通信ネットワーク装置は、他の通信ネットワーク装置からの処理要求信号を受信して必要な処理を実行した後に、処理結果を応答するフロントサーバと、フロントサーバが処理を実行するために必要な情報(例えば、ユーザ情報や、ネットワーク情報など)を保持するDB(Data Base)サーバと、装置の処理内容を記録して保持するログサーバとから構成される。
【0004】
これらのサーバは、全てのサーバ種別において、少なくても1つ以上のサーバが、1つ以上のハードウェアに実装され、通信ネットワーク上に配置される。通信ネットワーク上に配置される各サーバの数は、通信ネットワークの規模や、要求される信頼度に応じて変化し、例えば、通信ネットワークの規模が大きい程、或いは、要求される信頼度が高い程、配置されるサーバ数が多くなる。
【0005】
ここで、通信ネットワーク上に配置されたサーバ群における各サーバの起動及び停止を制御するサーバ起動停止制御装置が知られている。例えば、サーバ起動停止制御装置は、通信ネットワーク上に配置された複数のサーバそれぞれの起動及び停止を制御する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3394337号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来技術では、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合に、サーバの起動及び停止を迅速に制御することができないという問題があった。例えば、上述した従来技術では、サーバ種別間で、サーバを起動又は停止させる順番に制約があったり、サーバの起動又は停止に失敗した後の他のサーバに対する制御に制約があったりした場合に、それを守った上でサーバの起動や停止を制御することができなかった。
【0008】
かかる場合には、サーバ群を管理する保守者が、サーバの起動又は停止に係る制約を確認しながらサーバの起動又は停止を行うため、作業時間が長くかかってしまい、サーバの起動及び停止を迅速に制御することができない。さらに、保守者の作業ミスを誘発する場合もあった。
【0009】
そこで、本願は、上述した従来技術の問題に鑑みてなされたものであって、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にするサーバ起動停止制御装置及びサーバ起動停止制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するため、本願の装置は、役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置であって、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する記憶手段と、前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定手段と、前記特定手段によって特定された他のサーバに関して、前記特定手段によって特定された条件の内容を満たしたうえで、前記対象サーバの起動又は停止を実行する実行手段とを備えたことを特徴とする。
【発明の効果】
【0011】
本願の装置は、異なるサーバ種別間で、サーバを起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にする。
【図面の簡単な説明】
【0012】
【図1】図1は、従来技術に係る通信ネットワークの一例を示す図である。
【図2】図2は、従来技術に係るサーバ起動停止制御装置の処理の一例を説明するための図である。
【図3】図3は、従来技術に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図4】図4は、従来技術に係るサーバ起動停止制御装置による処理の一例を示すシーケンス図である。
【図5】図5は、実施例1に係る通信ネットワークの一例を説明するための図である。
【図6】図6は、実施例1に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図7】図7は、実施例1に係る通信ネットワーク装置起動停止ファイルによって記憶される情報の一例を示す図である。
【図8】図8は、実施例1に係るサーバ起動停止条件ファイルによって記憶される情報の一例を示す図である。
【図9A】図9Aは、実施例1に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図9B】図9Bは、実施例1に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図9C】図9Cは、実施例1に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図10】図10は、実施例2に係る通信ネットワークの一例を示す模式図である。
【図11】図11は、実施例2に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図12】図12は、実施例2に係る通信ネットワーク装置優先度データファイルによって記憶される情報の一例を示す図である。
【図13】図13は、実施例2に係る通信ネットワーク装置運用データファイルによって記憶される情報の一例を示す図である。
【図14A】図14Aは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図14B】図14Bは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図14C】図14Cは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図14D】図14Dは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図14E】図14Eは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図14F】図14Fは、実施例2に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図15】図15は、実施例3に係る通信ネットワークの一例を示す模式図である。
【図16】図16は、実施例3に係るサーバ起動停止制御装置の構成の一例を示す図である。
【図17】図17は、実施例3に係る通信ネットワーク装置起動停止ファイルによって記憶される情報の一例を示す図である。
【図18】図18は、実施例3に係るサーバ起動停止条件ファイルによって記憶される情報の一例を示す図である。
【図19A】図19Aは、実施例3に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図19B】図19Bは、実施例3に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【図19C】図19Cは、実施例3に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照して、本願のサーバ起動停止制御装置及びサーバ構成制御方法の実施例を詳細に説明する。なお、本願のサーバ起動停止制御装置及びサーバ構成制御方法は、以下の実施例により限定されるものではない。
【実施例1】
【0014】
実施例1においては、まず、従来技術の一例を挙げて課題について説明した後、本願のサーバ起動停止制御装置について説明する。また、実施例1においては、通信ネットワークに接続された通信ネットワーク装置を停止させる際に、通信ネットワーク装置を構成する複数のサーバを停止する場合について説明する。
【0015】
ここで、まず、通信ネットワークについて説明する。図1は、従来技術に係る通信ネットワークの一例を示す模式図である。例えば、通信ネットワークには、図1に示すように、複数の通信ネットワーク装置が接続される。なお、図1においては、2台の通信ネットワーク装置が示されているが、実際には、さらに多くの通信ネットワーク装置が通信ネットワークに接続されている。例えば、通信ネットワークは、LAN(Local Area Network)やWAN(Wide Area Network)などである。
【0016】
通信ネットワーク装置は、図1に示すように、フロントサーバと、DBサーバと、ログサーバとを有し、クライアント装置からの要求に応じて処理を実行する。例えば、通信ネットワーク装置は、他の通信ネットワーク装置、或いは、クライアント装置と通信を行い、並列分散処理を行う。なお、図1においては、フロントサーバ、DBサーバ及びログサーバが1台ずつ示されているが、通信ネットワーク装置が各サーバを複数台有する場合であってもよい。
【0017】
フロントサーバは、他の通信ネットワーク装置から受信した処理要求信号に基づいて処理を実行する。具体的には、フロントサーバは、図1に示すように、他の通信ネットワーク装置から処理要求信号を受信すると、受信した処理要求信号に応じた処理に必要な情報(例えば、ユーザ情報、ネットワーク情報など)をDBサーバから取得して、処理を実行する。その後、フロントサーバは、処理要求信号送信した通信ネットワーク装置に対して処理結果を応答するとともに、処理内容を示す処理ログをログサーバに送付する。
【0018】
DBサーバは、フロントサーバの処理に用いられる各種データを記憶する。例えば、DBサーバは、ユーザ情報やネットワーク情報を記憶し、図1に示すように、フロントサーバによる情報の取得要求に応答するとともに、応答内容を示す処理ログをログサーバに送付する。
【0019】
ログサーバは、通信ネットワーク装置の処理内容を記憶する。具体的には、ログサーバは、図1に示すように、フロントサーバ及びDBサーバからそれぞれ受信した処理ログを記憶する。
【0020】
上述した通信ネットワーク装置は、各サーバをそれぞれ1つのハードウェアに実装し、それらを複数搭載可能なサーバコンピュータ(例えば、ブレードサーバなど)で実現される場合であってもよいし、或いは、1台のサーバコンピュータを複数台の仮想的なコンピュータに分割し、分割した複数台の仮想的なコンピュータをそれぞれフロントサーバ、DBサーバ及びログサーバとして機能させることで実現される場合であってもよい。
【0021】
サーバ起動停止制御装置は、図1に示す通信ネットワーク上の各サーバの起動及び停止を制御する。図2は、従来技術に係るサーバ起動停止制御装置の処理の一例を説明するための模式図である。図2においては、通信ネットワーク装置が、1台のフロントサーバと、1台のDBサーバと、1台のログサーバとを有する。また、図2においては、通信ネットワーク装置が1台のみ示されているが、実際には、複数の通信ネットワーク装置が通信ネットワークに接続されており、サーバ起動停止制御装置は、各通信ネットワーク装置を構成するサーバの起動及び停止を制御する。
【0022】
例えば、図2に示すように、フロントサーバ、DBサーバ及びログサーバを停止させる際に、停止させる順序や、動作の依存関係、制御に失敗した後の処理などに制約がある場合、サーバ起動停止制御装置は、通信ネットワークの保守者から受付けたサーバの停止コマンドに応じて、フロントサーバ、DBサーバ及びログサーバに対して停止要求を送信し、各サーバを停止させる。以下、この処理の詳細について、図3及び図4を用いて説明する。
【0023】
図3は、従来技術に係るサーバ起動停止制御装置200の構成の一例を示す図である。図3に示すように、従来技術に係るサーバ起動停止制御装置200は、グラフィックユーザインタフェース210と、主処理部220と、通信ネットワーク装置データファイル231と、サーバ構成ファイル232と、通信アドレスデータファイル233と、ログファイル234と、通信ネットワーク装置/サーバ識別部241と、通信アドレスデータ取得部242と、サーバ起動/停止要求部243と、ログ管理部244とを有する。
【0024】
グラフィックユーザインタフェース210は、サーバ起動停止制御装置200の保守者に対して、画面上にアイコンやメニューで操作対象や選択項目を表示し、それをマウスなどのポインティングデバイスにより操作させるインタフェースである。例えば、グラフィックユーザインタフェース210は、フロントサーバ、DBサーバ及びログサーバの停止コマンドの入力を受付ける。
【0025】
主処理部220は、サーバ起動停止制御装置200による処理の全体制御を行う。通信ネットワーク装置データファイル231は、通信ネットワーク上に配置された複数の通信ネットワーク装置をそれぞれ一意に特定するための識別子を記憶する。サーバ構成ファイル232は、通信ネットワーク上に配置された複数の通信ネットワーク装置を構成するサーバを一意に特定するための識別子を記憶する。例えば、サーバ構成ファイル232は、フロントサーバ、DBサーバ及びログサーバをそれぞれ一意に特定するための識別子を記憶する。通信アドレスデータファイル233は、通信ネットワーク装置を構成するサーバごとの通信アドレスを記憶する。
【0026】
ログファイル234は、サーバ起動停止制御装置200によって実行された処理内容を記憶する。具体的には、ログファイル234は、後述するログ管理部244によって格納されるサーバ起動停止制御装置200の処理内容を記憶する。
【0027】
なお、通信ネットワーク装置データファイル231、サーバ構成ファイル232、通信アドレスデータファイル233によって記憶される各種情報は、予め保守者によって登録される。
【0028】
通信ネットワーク装置/サーバ識別部241は、通信ネットワーク装置データファイル231によって記憶された識別子に基づいて、通信ネットワークに接続された通信ネットワーク装置を識別する。また、通信ネットワーク装置/サーバ識別部241は、サーバ構成ファイル232によって記憶された識別子に基づいて、通信ネットワーク装置を構成するサーバを識別する。例えば、通信ネットワーク装置/サーバ識別部241は、保守者から入力された停止コマンドの対象となるフロントサーバ、DBサーバ及びログサーバを識別する。
【0029】
通信アドレスデータ取得部242は、通信ネットワーク装置/サーバ識別部241によって識別されたサーバの通信アドレスを、通信アドレスデータファイル233から取得する。
【0030】
サーバ起動/停止要求部243は、通信アドレスデータ取得部242によって取得された通信アドレスのサーバに対して起動要求或いは停止要求を送信する。ログ管理部244は、サーバ起動停止制御装置による処理内容をログファイル234に格納する。
【0031】
かかる構成の下、サーバ起動停止制御装置200は、以下に示すように、サーバの稼動を制御する。図4は、従来技術に係るサーバ起動停止制御装置200による処理の一例を示すシーケンス図である。なお、図4においては、グラフィックユーザインタフェース210を介して保守者がサーバの停止コマンドを入力する場合について説明する。また、図4においては、通信ネットワーク装置を起動、或いは、停止させるための起動要求コマンド、或いは、停止要求コマンドがサーバ起動停止制御装置200に登録された後の処理について示す。
【0032】
従来技術においては、まず、図4に示すように、保守者がフロントサーバ、DBサーバ及びログサーバの停止に係る制約を確認して、最初に停止させるサーバをフロントサーバと特定し(ステップS101)、特定したフロントサーバの停止コマンドを入力することで、サーバ起動停止制御装置200にフロントサーバの停止を実行させる(ステップS102)。
【0033】
保守者によってフロントサーバの停止コマンドが入力されると、従来技術に係るサーバ起動停止制御装置200においては、サーバ起動/停止要求部243が、フロントサーバに対してサーバを停止させる旨の要求であるプロセス/OS停止要求を送信する(ステップS103)。フロントサーバは、サーバ起動停止制御装置200からプロセス/OS停止要求を受信すると、プロセス及びOSの停止を実行する旨の応答であるプロセス/OS停止応答をサーバ起動停止制御装置200に送信するとともに(ステップS104)、サーバを停止させる(ステップS105)。
【0034】
サーバ起動停止制御装置200は、フロントサーバからプロセス/OS停止応答を受信すると、フロントサーバの停止が完了した旨の停止実行応答を、グラフィックユーザインタフェース210を介して保守者に通知する(ステップS106)。保守者は、フロントサーバの停止が完了したことを確認すると、次に停止するサーバをDBサーバと特定し(ステップS107)、特定したDBサーバの停止コマンドを入力することで、サーバ起動停止制御装置200にDBサーバの停止を実行させる(ステップS108)。
【0035】
保守者によってDBサーバの停止コマンドが入力されると、サーバ起動/停止要求部243が、DBサーバに対してプロセス/OS停止要求を送信する(ステップS109)。ここで、例えば、図4に示すように、DBサーバに故障が発生していると、DBサーバは、プロセス及びOSの停止が失敗した旨の応答であるプロセス/OS停止失敗応答をサーバ起動停止制御装置200に送信する(ステップS110)。
【0036】
サーバ起動停止制御装置200は、DBサーバからプロセス/OS停止失敗応答を受信すると、DBサーバの停止が失敗した旨の停止実行応答(失敗)を、グラフィックユーザインタフェース210を介して保守者に通知する(ステップS111)。保守者は、DBサーバの停止が失敗したことを確認すると、原因調査を行うとともに(ステップS112)、次に停止するサーバをログサーバと特定し(ステップS113)、制約に基づいて停止可能か否かを判断する。ここで、停止可能と判断すると(ステップS114)、保守者は、特定したログサーバの停止コマンドを入力することで、サーバ起動停止制御装置200にログサーバの停止を実行させる(ステップS115)。
【0037】
保守者によってログサーバの停止コマンドが入力されると、サーバ起動/停止要求部243が、ログサーバに対してプロセス/OS停止要求を送信する(ステップS116)。ログサーバは、サーバ起動停止制御装置200からプロセス/OS停止要求を受信すると、プロセス及びOSの停止を実行する旨の応答であるプロセス/OS停止応答をサーバ起動停止制御装置200に送信するとともに(ステップS117)、サーバを停止させる(ステップS118)。
【0038】
サーバ起動停止制御装置200は、ログサーバからプロセス/OS停止応答を受信すると、ログサーバの停止が完了した旨の停止実行応答を、グラフィックユーザインタフェース210を介して保守者に通知する(ステップS119)。
【0039】
上述したように、従来技術におけるサーバ起動停止制御装置200においては、異なるサーバ種別間で、起動又は停止に係る制約がある場合に、保守者が制約を確認しながらサーバの起動又は停止を実行する。これは、従来のサーバ起動停止制御装置が、異なるサーバ種別間で稼動に関する制約がある場合に、それを考慮してサーバを起動させたり、停止させたりすることができないためである。
【0040】
例えば、ログサーバをフロントサーバより先に停止させると、フロントサーバで処理中の内容をログサーバに記録することができなくなる。したがって、ログサーバよりフロントサーバを先に停止させる必要があるが、従来のサーバ起動停止制御装置では、これに対応することができない。このように、サーバ種別間で停止順序の制約がある場合には、従来のサーバ起動停止制御装置ではこれらのサーバを停止させることはできなかった。
【0041】
また、例えば、フロントサーバの停止に失敗すると、ログサーバの停止は実施不可になるという制約がある場合、フロントサーバの停止の実行結果に応じて後続サーバの停止実施可否の判断が必要になるため、従来のサーバ起動停止制御装置ではこれらのサーバを停止させることはできなかった。すなわち、従来のサーバ起動停止制御装置では、あるサーバが故障のために起動或いは停止に失敗すると、他の全てのサーバの起動或いは停止が一律に実施不可能になってしまう。
【0042】
また、例えば、1台のログサーバが2台のフロントサーバの稼働状況及び処理状況を記録したファイルを保持するような動作の依存関係がある場合にログサーバを停止させるためには、2台のフロントサーバを予め停止させている必要があるが、従来のサーバ起動停止制御装置では、このような処理を行うことができず、ログサーバを停止させることができない。
【0043】
上述したように、従来のサーバ起動停止制御装置では、異なるサーバ種別間で起動又は停止の順序があったり、制御の失敗の後の処理が限定されていたり、サーバの動作に依存関係があったりするような制約がある場合に、サーバの起動及び停止を制御することができない。そのため、従来、このような制約がある場合には、保守者が制約を確認しながらサーバの稼動を制御することとなり、サーバの起動及び停止を迅速に行うことができなかった。特に、通信ネットワークに接続されたサーバ数が多い場合には、サーバの起動又は停止に係る時間が長くなるとともに、作業ミスを誘発する場合もある。
【0044】
そこで、本願のサーバ起動停止制御装置は、異なるサーバ種別間で、起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御することを可能にすることを目的とする。実施例1においては、上述したように、通信ネットワークに接続された通信ネットワーク装置を停止させる際に、通信ネットワーク装置を構成する複数のサーバを停止する場合について説明する。
【0045】
図5は、実施例1に係る通信ネットワークの一例を示す模式図である。例えば、実施例1に係る通信ネットワークには、図5に示すように、通信ネットワーク装置Aと、サーバ起動停止制御装置100が接続される。なお、図5においては、1台の通信ネットワーク装置が示されているが、実際には、さらに多くの通信ネットワーク装置が通信ネットワークに接続されている場合もある。例えば、通信ネットワークは、LANやWANなどである。
【0046】
通信ネットワーク装置Aは、図5に示すように、フロントサーバ1と、フロントサーバ2と、DBサーバ1と、DBサーバ2と、ログサーバ1とを有する。フロントサーバ1は、例えば、DBサーバ1からネットワーク情報及びユーザ情報を取得して、処理要求に応じた処理を実行し、処理内容を示すログをログサーバ1に送付する。また、フロントサーバ2は、例えば、DBサーバ2からネットワーク情報及びユーザ情報を取得して、処理要求に応じた処理を実行し、ログをログサーバ1に送付する。
【0047】
DBサーバ1は、フロントサーバ1の処理に用いられる各種データを記憶する。例えば、DBサーバ1は、ユーザ情報やネットワーク情報を記憶し、フロントサーバ1による情報の取得要求に応答するとともに、応答内容を示すログをログサーバ1に送付する。また、DBサーバ2は、フロントサーバ2の処理に用いられる各種データを記憶する。例えば、DBサーバ2は、ユーザ情報やネットワーク情報を記憶し、フロントサーバ2による情報の取得要求に応答するとともに、ログをログサーバ1に送付する。
【0048】
ログサーバ1は、通信ネットワーク装置Aの処理内容を記憶する。例えば、ログサーバ1は、フロントサーバ1、フロントサーバ2、DBサーバ1及びDBサーバ2からそれぞれ受信したログを記憶する。
【0049】
上述した通信ネットワーク装置は、各サーバをそれぞれ1つのハードウェアに実装し、それらを複数搭載可能なサーバコンピュータ(例えば、ブレードサーバなど)で実現される場合であってもよいし、或いは、1台のサーバコンピュータを複数台の仮想的なコンピュータに分割し、分割した複数台の仮想的なコンピュータをそれぞれフロントサーバ、DBサーバ及びログサーバとして機能させることで実現される場合であってもよい。
【0050】
サーバ起動停止制御装置100は、異なるサーバ種別間で、起動又は停止させる際の制約がある場合であっても、サーバの起動及び停止を迅速に制御する。図6は、実施例1に係るサーバ起動停止制御装置100の構成の一例を示す図である。
【0051】
図6に示すように、実施例1に係るサーバ起動停止制御装置100は、グラフィックユーザインタフェース110と、主処理部120と、通信ネットワーク装置データファイル131と、サーバ構成ファイル132と、通信アドレスデータファイル133と、通信ネットワーク装置起動停止ファイル134と、サーバ起動停止条件ファイル135と、ログファイル136と、通信ネットワーク装置/サーバ識別部141と、通信アドレスデータ取得部142と、サーバ稼動状況取得部143と、サーバ起動/停止決定部144と、サーバ起動/停止要求部145と、ログ管理部146とを有する。
【0052】
グラフィックユーザインタフェース110は、サーバ起動停止制御装置100の保守者に対して、画面上にアイコンやメニューで操作対象や選択項目を表示し、それをマウスなどのポインティングデバイスにより操作させるインタフェースである。
【0053】
主処理部120は、サーバ起動停止制御装置100による処理の全体制御を行う。通信ネットワーク装置データファイル131は、通信ネットワーク上に配置された通信ネットワーク装置を一意に特定するための識別子を記憶する。例えば、通信ネットワーク装置データファイル131は、通信ネットワーク装置Aを一意に特定するための識別子「A」を記憶する。
【0054】
サーバ構成ファイル132は、通信ネットワーク上に配置された通信ネットワーク装置を構成するサーバを一意に特定するための識別子を記憶する。例えば、サーバ構成ファイル132は、フロントサーバ1〜2、DBサーバ1〜2及びログサーバ1をそれぞれ一意に特定するための識別子を記憶する。
【0055】
通信アドレスデータファイル133は、通信ネットワーク装置Aを構成するサーバごとの通信アドレスを記憶する。通信ネットワーク装置起動停止ファイル134は、通信ネットワークに接続された通信ネットワーク装置ごとに、サーバの起動順序及び停止順序を記憶する。図7は、実施例1に係る通信ネットワーク装置起動停止ファイル134によって記憶される情報の一例を示す図である。
【0056】
例えば、通信ネットワーク装置起動停止ファイル134は、図7に示すように、通信ネットワーク装置ごとに、サーバの停止順序を記憶する。一例を挙げると、通信ネットワーク装置起動停止ファイル134は、「通信ネットワーク:A」に対応付けて、「1:フロントサーバ1、2:フロントサーバ2、3:DBサーバ1、4:DBサーバ2、5:ログサーバ1」を記憶する。ここで、上記した情報は、ネットワーク装置Aにおいては、フロントサーバ1、フロントサーバ2、DBサーバ1、DBサーバ2、ログサーバ1の順序で停止することを意味する。
【0057】
図6に戻って、サーバ起動停止条件ファイル135は、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。具体的には、サーバ起動停止条件ファイル135は、制約条件の内容として、起動及び停止の順序、サーバ間の依存関係及び制御に失敗した場合の処理について記憶する。
【0058】
より具体的には、サーバ起動停止条件ファイル135は、各サーバを起動又は停止させる場合に、予め起動又は停止している必要のある他のサーバの識別子や、優先度が低いサーバを停止させる場合の他のサーバにおける処理量の閾値、停止させるサーバの数と閾値との関係、各サーバが起動又は停止可能であるための、他のサーバのネットワーク接続状態やOSの稼動状態などの条件を記憶する。
【0059】
図8は、実施例1に係るサーバ起動停止条件ファイル135によって記憶される情報の一例を示す図である。例えば、実施例1に係るサーバ起動停止条件ファイル135は、図8に示すように、サーバごとに、当該サーバを停止させるための制約を記憶する。一例を挙げると、実施例1に係るサーバ起動停止条件ファイル135は、「DBサーバ1」に対応付けて、「フロントサーバ1、フロントサーバ2を停止した後に停止」を記憶する。ここで、上記した情報は、DBサーバ1を停止させるためには、フロントサーバ1、フロントサーバ2が停止していることが必要であることを意味する。なお、図8に示す情報は、あくまでも一例である。
【0060】
図6に戻って、ログファイル136は、サーバ起動停止制御装置100によって実行された処理内容を記憶する。具体的には、ログファイル136は、後述するログ管理部146によって格納されるサーバ起動停止制御装置100の処理内容を記憶する。
【0061】
なお、通信ネットワーク装置データファイル131、サーバ構成ファイル132、通信アドレスデータファイル133、通信ネットワーク装置起動停止ファイル134及びサーバ起動停止条件ファイル135によって記憶される各種情報は、予め保守者によって登録される。
【0062】
通信ネットワーク装置/サーバ識別部141は、通信ネットワーク装置データファイル131によって記憶された情報に基づいて、通信ネットワークに接続された通信ネットワーク装置を識別する。また、通信ネットワーク装置/サーバ識別部141は、サーバ構成ファイル132によって記憶された情報に基づいて、通信ネットワーク装置を構成するサーバを識別する。例えば、通信ネットワーク装置/サーバ識別部141は、通信ネットワーク上の通信ネットワーク装置Aを構成するフロントサーバ1、フロントサーバ2、DBサーバ1、DBサーバ2及びログサーバ1をそれぞれ識別する。
【0063】
通信アドレスデータ取得部142は、通信ネットワーク装置/サーバ識別部141によって識別されたサーバの通信アドレスを、通信アドレスデータファイルから取得する。サーバ稼動状況取得部143は、ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する。具体的には、サーバ稼動状況取得部143は、通信アドレスデータ取得部142によって取得された通信アドレスに対応するサーバから稼動状態を取得する。
【0064】
例えば、サーバ稼動状況取得部143は、フロントサーバ1のネットワークへの接続状態や、OSの稼動状態、CPU使用率及びメモリ使用量などを取得する。そして、サーバ稼動状況取得部143は、取得したネットワークへの接続状態や、OSの稼動状態、CPU使用率及びメモリ使用量に基づいて、サーバそれぞれが正常に稼動しているか否かを判定する。
【0065】
サーバ起動/停止決定部144は、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル135から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。具体的には、サーバ起動/停止決定部144は、制約条件の内容に含まれる起動及び停止の順序、或いは、サーバ間の依存関係に基づいて、前記対象サーバ及び前記他のサーバを起動又は停止させる順序を決定する。また、サーバ起動/停止決定部144は、決定した順序で起動又は停止させる際に、サーバ稼動状況取得部143によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、制約条件の内容に含まれる制御に失敗した場合の処理を参照して、起動又は停止が可能であるか否かを判定する。
【0066】
例えば、サーバ起動停止制御装置100が保守者から通信ネットワーク装置Aを停止させる旨のコマンドを受付けると、サーバ起動/停止決定部144は、通信ネットワーク装置Aを構成するフロントサーバ1、フロントサーバ2、DBサーバ1、DBサーバ2及びログサーバ1それぞれに係る制約条件を読み出し、サーバの停止順序などを決定する。そして、サーバ起動/停止決定部144は、決定した順序でサーバの起動又は停止を実行する際に、いずれかのサーバにおいて起動又は停止が失敗した場合には、その後のサーバが起動又は停止が可能であるか否かを判定する。
【0067】
なお、サーバの起動及び停止を実行させるためのトリガーは、上記した保守者による指定に限られず、例えば、サーバの稼動状態を監視して、その稼動状態に基づいてサーバの起動及び停止を実行する場合であってもよい。また、保守者による指定は、予め起動又は停止の時間を登録することで行われる場合であってもよい。
【0068】
サーバ起動/停止要求部145は、サーバ起動/停止決定部144によって特定された条件を満たしたうえで、サーバの起動又は停止を実行する。具体的には、サーバ起動/停止要求部145は、サーバ起動/停止決定部144によって決定された順序でサーバの起動及び停止を実行する。また、サーバ起動/停止要求部145は、サーバ起動/停止決定部144による起動又は停止が可能であるか否かの判定結果に基づいて、サーバの起動及び停止を実行する。例えば、サーバ起動/停止要求部145は、通信ネットワーク上のサーバに対して起動要求コマンド或いは停止要求コマンドを送信することで、サーバを起動又は停止させる。ログ管理部146は、サーバ起動停止制御装置100による処理内容をログファイル136に格納する。
【0069】
次に、実施例1に係るサーバ起動停止制御装置100の処理の手順について、図9A〜図9Cを用いて説明する。図9A〜図9Cは、実施例1に係るサーバ起動停止制御装置による処理の手順を示すシーケンス図である。なお、図9A〜図9Cにおいては、図9A、図9B、図9Cの順にサーバ起動停止制御装置100による処理の手順を示す。また、図9A〜図9Cにおいては、通信ネットワーク装置Aを停止させる際に、フロントサーバ2に故障が発生した場合を例とする。また、以下では、サーバ起動停止制御装置100による処理について、サーバ起動停止制御装置100が有する各部を用いて説明する。
【0070】
図9Aに示すように、実施例1に係るサーバ起動停止制御装置100においては、グラフィックユーザインタフェース110を介して、保守者から通信ネットワーク装置Aの停止実行のコマンドが入力されると、サーバ起動/停止決定部144は、制約条件を参照して、最初に停止させるサーバをフロントサーバ1と決定する(ステップS201)。なお、サーバ起動停止制御装置100においては、サーバ起動/停止決定部144によって最初に停止させるサーバが決定される前に、停止実行の要求を受付けたことをログファイル136に記録するとともに、通信ネットワーク装置データファイル131から通信ネットワーク装置Aの識別子が特定される。そして、サーバ起動停止制御装置100においては、サーバ構成ファイル132から各サーバの識別子が抽出される。
【0071】
最初に停止させるサーバがフロントサーバ1であると決定すると、サーバ稼動状況取得部143は、フロントサーバ1への接続状態およびフロントサーバ1のOSの稼動状態などを確認するために、フロントサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、まず、フロントサーバ1に対してネットワーク接続状況確認を行う(ステップS202)。
【0072】
フロントサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS203)。サーバ稼動状況取得部143は、フロントサーバ1からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS204)、プロセス/OS稼動状況応答を受付ける(ステップS205)。そして、サーバ稼動状況取得部143は、取得したフロントサーバ1の状態から、フロントサーバ1が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部143が停止可能と判定すると(ステップS206)、サーバ起動/停止要求部145は、フロントサーバ1に対してプロセス/OS停止要求を送信する(ステップS207)。
【0073】
フロントサーバ1は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS208)、サーバを停止する(ステップS209)。サーバ起動/停止決定部144は、フロントサーバ1からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ2と決定する(ステップS210)。なお、フロントサーバ1の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0074】
次に停止させるサーバがフロントサーバ2であると決定すると、サーバ稼動状況取得部143は、フロントサーバ2への接続状態およびフロントサーバ2のOSの稼動状態などを確認するために、フロントサーバ2の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ2に対してネットワーク接続状況確認を行う(ステップS211)。
【0075】
ここで、フロントサーバ2においては、図9Aに示すように、故障が発生していることから、ネットワーク接続状況確認を受付けると、ネットワーク接続状況(エラー応答)を応答する(ステップS212)。サーバ稼動状況取得部143は、フロントサーバ2からネットワーク接続状況(エラー応答)の応答を受付けると、フロントサーバ2が停止不可であると判定する(ステップS213)。そして、ログ管理部146は、ログファイル136にフロントサーバ2の停止が正常に実施されなかったこと、およびフロントサーバ2の稼動状態を記録する。
【0076】
その後、サーバ起動/停止決定部144は、制約条件を参照して、次に停止させるサーバをDBサーバ1と決定する(ステップS214)。ここで、サーバ起動/停止決定部144は、フロントサーバ2が停止不可の場合のDBサーバ1の停止可否を、制約条件を参照して判定する(ステップS215)。DBサーバ1が停止可能である判定されると(ステップS216)、サーバ稼動状況取得部143は、DBサーバ1への接続状態およびDBサーバ1のOSの稼動状態などを確認するために、DBサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、DBサーバ1に対してネットワーク接続状況確認を行う(ステップS217)。
【0077】
DBサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS218)。サーバ稼動状況取得部143は、DBサーバ1からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS219)、プロセス/OS稼動状況応答を受付ける(ステップS220)。そして、サーバ稼動状況取得部143は、取得したDBサーバ1の状態から、DBサーバ1が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部143が停止可能と判定すると(ステップS221)、サーバ起動/停止要求部145は、DBサーバ1に対してプロセス/OS停止要求を送信する(ステップS222)。
【0078】
DBサーバ1は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS223)、サーバを停止する(ステップS224)。サーバ起動/停止決定部144は、DBサーバ1からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをDBサーバ2と決定する。なお、DBサーバ1の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0079】
次に停止させるサーバがDBサーバ2であると決定すると、サーバ起動/停止決定部144は、フロントサーバ2が停止不可の場合のDBサーバ2の停止可否を、制約条件を参照して判定する(ステップS225)。DBサーバ2が停止可能であると判定されると(ステップS226)、サーバ稼動状況取得部143は、DBサーバ2への接続状態およびDBサーバ2のOSの稼動状態などを確認するために、DBサーバ2の通信アドレスを通信アドレスデータファイルから取得した後に、DBサーバ2に対してネットワーク接続状況確認を行う(ステップS227)。
【0080】
DBサーバ2は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS228)。サーバ稼動状況取得部143は、DBサーバ2からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS229)、プロセス/OS稼動状況応答を受付ける(ステップS230)。そして、サーバ稼動状況取得部143は、取得したDBサーバ2の状態から、DBサーバ2が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部143が停止可能と判定すると(ステップS231)、サーバ起動/停止要求部145は、DBサーバ2に対してプロセス/OS停止要求を送信する(ステップS232)。
【0081】
DBサーバ2は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS233)、サーバを停止する(ステップS234)。サーバ起動/停止決定部144は、DBサーバ1からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをログサーバ1と決定する。なお、DBサーバ2の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0082】
次に停止させるサーバがログサーバ1であると決定すると、サーバ起動/停止決定部144は、フロントサーバ2が停止不可の場合のログサーバ1の停止可否を、制約条件を参照して判定する(ステップS235)。ログサーバ1が停止可能であると判定されると(ステップS236)、サーバ稼動状況取得部143は、ログサーバ1への接続状態およびログサーバ1のOSの稼動状態などを確認するために、ログサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、ログサーバ1に対してネットワーク接続状況確認を行う(ステップS237)。
【0083】
ログサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS238)。サーバ稼動状況取得部143は、ログサーバ1からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS239)、プロセス/OS稼動状況応答を受付ける(ステップS240)。そして、サーバ稼動状況取得部143は、取得したログサーバ1の状態から、ログサーバ1が停止可能であるか否かを判定する。ここで、サーバ稼動状況取得部143が停止可能と判定すると(ステップS241)、サーバ起動/停止要求部145は、ログサーバ1に対してプロセス/OS停止要求を送信する(ステップS242)。
【0084】
ログサーバ1は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS243)、サーバを停止する(ステップS244)。サーバ起動/停止決定部144は、ログサーバ1からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバがないことを確認する。なお、ログサーバ1の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0085】
そして、ログ管理部146が、実行結果をログファイルに格納し(ステップS245)、サーバ起動停止制御装置100は、通信ネットワーク装置Aの停止が実行された応答を、グラフィックユーザインタフェース110を介して保守者に通知して(ステップS246)、処理を終了する。
【0086】
なお、上述した処理の手順は、あくまでも一例であり、実施例1に係るサーバ起動停止制御装置100は、所定のサーバのみの停止処理においても同様の処理を実行することが可能である。
【0087】
[実施例1の効果]
上述したように、実施例1によれば、役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおける各サーバの起動又は停止を制御するサーバ起動停止制御装置において、サーバ起動停止条件ファイル135が、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。そして、サーバ起動/停止決定部144が、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル135から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。そして、サーバ起動/停止要求部145が、サーバ起動/停止決定部144によって特定された他のサーバに関して、サーバ起動/停止決定部144によって特定された条件を満たしたうえで、対象サーバの起動又は停止を実行する。従って、実施例1に係るサーバ起動停止制御装置100は、通信ネットワークを構成する各サーバの種別間に動作の依存関係があったり、複雑な停止手順が必要であっても、当通信ネットワークの保守者が各サーバの停止可否や停止手順を判断することなく、各サーバの起動及び停止を迅速に制御することが可能である。また、実施例1に係るサーバ起動停止制御装置100は、保守者による判断が不要になることから、作業ミスを回避することも可能にする。
【0088】
また、実施例1によれば、サーバ起動停止条件ファイル135は、制約条件の内容として、起動及び停止の順序、サーバ間の依存関係及び制御に失敗した場合の処理について記憶する。従って、実施例1に係るサーバ起動停止制御装置100は、通信ネットワークを構成する各サーバの稼動状態により複雑な停止手順が必要であっても、当通信ネットワークの保守者が各サーバの停止可否や停止手順を判断することなく、各サーバの起動及び停止を迅速に制御することが可能である。
【0089】
また、実施例1によれば、サーバ起動/停止決定部144が、制約条件の内容に含まれる起動及び停止の順序、或いは、サーバ間の依存関係に基づいて、サーバを起動又は停止させる順序を決定する。そして、サーバ起動/停止要求部145が、サーバ起動/停止決定部144によって決定された順序でサーバの起動又は停止を実行する。従って、実施例1に係るサーバ起動停止制御装置100は、異なるサーバ種別間で起動又は停止に係る制約がある場合であっても、該制約を考慮して正しい順序でサーバの起動及び停止を実行することが可能である。
【0090】
また、実施例1によれば、サーバ稼動状況取得部143が、ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する。そして、サーバ起動/停止要求部145が、サーバを決定した順序で起動又は停止させる際に、サーバ稼動状況取得部143によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、制約条件の内容に含まれる制御に失敗した場合の処理を満たすように制御する。従って、実施例1に係るサーバ起動停止制御装置100は、サーバの稼動状態がサーバの故障等により通常状態とは異なる状態になったとしても、対応することが可能である。
【実施例2】
【0091】
上述した実施例1では、通信ネットワーク装置Aを停止させる際のサーバの停止について説明した。実施例2においては、通信ネットワークに複数の通信ネットワーク装置が接続され、ディザスタリカバリソリューションが採用された場合について説明する。
【0092】
ここで、ディザスタリカバリソリューションについて説明する。一般に、通信ネットワーク装置は1か所以上のデータセンタに収容して稼動させるが、データセンタの所在地に災害が発生して、収容されている通信ネットワーク装置に故障が発生した際にも通信ネットワークを継続して稼動させるために、ディザスタリカバリソリューションが採用される。ディザスタリカバリソリューションでは、プライマリとなるデータセンタの他に、遠隔地のデータセンタにも通信ネットワーク装置を収容して、災害などでプライマリのデータセンタが機能しなくなった場合にも、遠隔地のデータセンタに通信経路を迂回、集約させることにより、通信ネットワークを継続運用させる。
【0093】
この場合、通信ネットワーク装置を定期点検などで停止、起動させる際には、通信ネットワークを継続して稼動させるために、プライマリのデータセンタあるいは遠隔地のデータセンタのいずれかに収容されている通信ネットワーク装置が起動している必要がある。そのため、たとえば、プライマリのデータセンタに収容されている通信ネットワーク装置を停止させる場合には、遠隔地のデータセンタに収容されている通信ネットワーク装置が故障などで稼動していないか否かを事前に確認する必要がある。
【0094】
そこで、従来技術においては、通信ネットワーク装置をサーバ起動停止制御装置から停止させる際には、以下の手順を実施する。まず、通信ネットワーク装置の保守者が、停止させる通信ネットワーク装置の稼動状態を確認する。次に、該保守者が、通信ネットワーク装置を停止させた場合に、該通信ネットワーク装置を経由する通信経路を迂回、集約させる他の通信ネットワーク装置の稼動状態を確認する。次に、該他の通信ネットワーク装置が正常に稼動している場合には、該保守者は、停止させるサーバごとに、サーバ停止制御装置からサーバの起動あるいは停止を実行する。
【0095】
上述したように、従来技術においては、ディザスタリカバリソリューションが採用された通信ネットワーク上の通信ネットワークを停止させる場合に、段階ごとに保守者の確認が必要になる。そのため、起動及び停止を迅速に制御することができず、かつ、作業ミスも生じる場合がある。そこで、実施例2では、ディザスタリカバリソリューションが採用された通信ネットワーク上の通信ネットワークを停止させる場合であっても、起動及び停止を迅速に制御することが可能なサーバ起動停止制御装置について説明する。
【0096】
図10は、実施例2に係る通信ネットワークの一例を示す模式図である。例えば、実施例2に係る通信ネットワークには、図10に示すように、通信ネットワーク装置Aと、通信ネットワーク装置Bと、通信ネットワーク装置Cと、サーバ起動停止制御装置100aが接続される。通信ネットワーク装置A〜Cは、図10に示すように、それぞれ2台のフロントサーバと、2台のDBサーバと、1台のログサーバとから構成される。そして、図10に示す通信ネットワークにおいては、通信ネットワーク装置Aの第1の迂回路として通信ネットワーク装置Cが設定され、第2の迂回路として通信ネットワーク装置Bが設定される。
【0097】
ここで、まず、実施例2に係るサーバ起動停止制御装置100aの構成について説明する。図11は、実施例2に係るサーバ起動停止制御装置100aの構成の一例を示す図である。なお、実施例2に係るサーバ起動停止制御装置100aは、実施例1に係るサーバ起動停止制御装置100と比較して、通信ネットワーク装置運用データファイル137、通信ネットワーク装置優先度データファイル138及び通信ネットワーク装置優先度識別部147を新たに有する点と、サーバ稼働状況取得部143a及びサーバ起動/停止決定部144aの処理内容とが異なる。以下、これらを中心に説明する。
【0098】
通信ネットワーク装置優先度データファイル138は、通信ネットワーク装置を稼動させる優先度を記憶する。図12は、実施例2に係る通信ネットワーク装置優先度データファイル138によって記憶される情報の一例を示す図である。例えば、通信ネットワーク装置優先度データファイル138は、図12に示すように、「優先度:通信ネットワーク装置A>通信ネットワーク装置B>通信ネットワーク装置C」を記憶する。ここで、上記した情報は、通信ネットワーク装置Aを稼動させる優先度は、通信ネットワーク装置Bおよび通信ネットワーク装置Cよりも高く、通信ネットワーク装置Bを稼動させる優先度は、通信ネットワーク装置Cよりも高いことを示す。
【0099】
通信ネットワーク装置運用データファイル137は、通信ネットワークの通信経路に関する情報を記憶する。具体的には、通信ネットワーク装置運用データファイル137は、通信ネットワーク上の通信ネットワーク装置を停止した場合に迂回・集約させる通信経路に関する情報を記憶する。図13は、実施例2に係る通信ネットワーク装置運用データファイル137によって記憶される情報の一例を示す図である。例えば、通信ネットワーク装置運用データファイル137は、図13に示すように、「停止:通信ネットワーク装置A」に「迂回・集約通信経路:通信ネットワーク装置C」を対応付けた情報を記憶する。ここで、上記した情報は、「通信ネットワーク装置A」を停止させた場合の迂回・集約経路が「通信ネットワーク装置C」であることを示す。
【0100】
なお、通信ネットワーク装置データファイル131は、通信ネットワーク装置A、通信ネットワーク装置B及び通信ネットワーク装置Cを一意に特定するための識別子を記憶する。また、サーバ構成ファイル132は、通信ネットワーク装置A、通信ネットワーク装置B及び通信ネットワーク装置Cそれぞれを構成するサーバを一意に特定するための識別子を記憶する。また、通信アドレスデータファイル133は、サーバ構成ファイル132は、通信ネットワーク装置A、通信ネットワーク装置B及び通信ネットワーク装置Cそれぞれを構成するサーバの通信アドレスを記憶する。また、通信ネットワーク装置起動停止ファイル134は、通信ネットワーク装置Aを構成するサーバについて、フロントサーバ11、フロントサーバ12、DBサーバ11、DBサーバ12、ログサーバ11の順に停止することを示す情報を記憶する。
【0101】
サーバ稼動状況取得部143aは、通信ネットワークに接続された通信ネットワーク装置ごとに、通信ネットワーク装置を構成するサーバの稼動状態を取得し、取得したサーバの稼動状態から該通信ネットワーク装置の稼動状態を判定する。
【0102】
サーバ起動/停止決定部144aは、通信ネットワーク装置運用データファイル137によって記憶された迂回・集約通信経路の情報に基づいて、所定の通信ネットワーク装置を停止させる場合の迂回・集約通信経路を特定する。また、サーバ起動/停止決定部144aは、通信ネットワーク装置起動停止ファイルに記憶された停止順序に基づいて、所定の通信ネットワーク装置を停止させる場合の停止順序を決定する。
【0103】
通信ネットワーク装置優先度識別部147は、通信ネットワーク装置優先度データファイル138によって記憶された優先度の情報に基づいて、通信ネットワーク上で稼動させる通信ネットワーク装置の優先度を識別する。
【0104】
次に、実施例2に係るサーバ起動停止制御装置100aの処理の手順について、図14A〜図14Fを用いて説明する。図14A〜図14Fは、実施例2に係るサーバ起動停止制御装置100aによる処理の手順を示すシーケンス図である。なお、図14A〜図14Fにおいては、図14A、図14B、図14C、図14D、図14E、図14Fの順にサーバ起動停止制御装置100aによる処理の手順を示す。また、図14A〜図14Fにおいては、通信ネットワーク装置A及びBを停止させる要求を保守者から受付けた際に、通信ネットワーク装置Cのフロントサーバ31に故障が発生していて、通信ネットワーク装置Cへの通信経路の迂回・集約が不可である場合を例とする。また、以下では、サーバ起動停止制御装置100aによる処理について、サーバ起動停止制御装置100aが有する各部を用いて説明する。
【0105】
図14Aに示すように、実施例2に係るサーバ起動停止制御装置100aにおいては、保守者が稼働中の通信ネットワーク装置A及び通信ネットワーク装置Bを停止させるために、グラフィックユーザインタフェース110から、通信ネットワーク装置A及び通信ネットワーク装置Bの停止実行を要求すると、ログ管理部146が、ログファイルに停止実行の要求を受け付けたことを記録する。
【0106】
そして、サーバ起動/停止決定部144は、制約条件を参照して、通信ネットワーク装置Aにおいて最初に停止させるサーバをフロントサーバ11と決定する(ステップS301)。なお、サーバ起動停止制御装置100aにおいては、サーバ起動/停止決定部144aによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル131から通信ネットワーク装置Aの識別子が特定される。そして、サーバ起動停止制御装置100aにおいては、サーバ構成ファイル132から各サーバの識別子が抽出される。
【0107】
最初に停止させるサーバがフロントサーバ11であると決定すると、サーバ稼動状況取得部143aは、フロントサーバ11への接続状態およびフロントサーバ11のOSの稼動状態などを確認するために、フロントサーバ11の通信アドレスを通信アドレスデータファイル133から取得した後に、まず、フロントサーバ11に対してネットワーク接続状況確認を行う(ステップS302)。
【0108】
フロントサーバ11は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS303)。サーバ稼動状況取得部143aは、フロントサーバ11からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS304)、プロセス/OS稼動状況応答を受付ける(ステップS305)。そして、サーバ稼動状況取得部143aは、取得したフロントサーバ11の状態から、フロントサーバ11が正常に稼動しているか否かを判定する。
【0109】
ここで、フロントサーバ11が正常に稼働中と判定されると(ステップS306)、サーバ起動/停止決定部144aは、制約条件を参照して、次に停止させるサーバをフロントサーバ12と決定する(ステップS307)。なお、フロントサーバ11の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0110】
次に停止させるサーバがフロントサーバ12であると決定すると、サーバ稼動状況取得部143aは、フロントサーバ12への接続状態およびフロントサーバ12のOSの稼動状態などを確認するために、フロントサーバ12の通信アドレスを通信アドレスデータファイル133から取得した後に、まず、フロントサーバ12に対してネットワーク接続状況確認を行う(ステップS308)。
【0111】
フロントサーバ12は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS309)。サーバ稼動状況取得部143aは、フロントサーバ12からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS310)、プロセス/OS稼動状況応答を受付ける(ステップS311)。そして、サーバ稼動状況取得部143aは、取得したフロントサーバ12の状態から、フロントサーバ12が正常に稼動しているか否かを判定する。
【0112】
ここで、フロントサーバ12が正常に稼働中と判定されると(ステップS312)、サーバ起動/停止決定部144aは、制約条件を参照して、次に停止させるサーバをDBサーバ11と決定する(ステップS313)。なお、フロントサーバ12の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0113】
次に停止させるサーバがDBサーバ11であると決定すると、サーバ稼動状況取得部143aは、DBサーバ11への接続状態およびDBサーバ11のOSの稼動状態などを確認するために、DBサーバ11の通信アドレスを通信アドレスデータファイル133から取得した後に、まず、DBサーバ11に対してネットワーク接続状況確認を行う(ステップS314)。
【0114】
DBサーバ11は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS315)。サーバ稼動状況取得部143aは、DBサーバ11からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS316)、プロセス/OS稼動状況応答を受付ける(ステップS317)。そして、サーバ稼動状況取得部143aは、取得したDBサーバ11の状態から、DBサーバ11が正常に稼動しているか否かを判定する。
【0115】
ここで、DBサーバ11が正常に稼働中と判定されると(ステップS318)、サーバ起動/停止決定部144aは、制約条件を参照して、次に停止させるサーバをDBサーバ12と決定する(ステップS319)。なお、DBサーバ11の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0116】
次に停止させるサーバがDBサーバ12であると決定すると、サーバ稼動状況取得部143aは、DBサーバ12への接続状態およびDBサーバ12のOSの稼動状態などを確認するために、DBサーバ12の通信アドレスを通信アドレスデータファイル133から取得した後に、まず、DBサーバ12に対してネットワーク接続状況確認を行う(ステップS320)。
【0117】
DBサーバ12は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS321)。サーバ稼動状況取得部143aは、DBサーバ12からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS322)、プロセス/OS稼動状況応答を受付ける(ステップS323)。そして、サーバ稼動状況取得部143aは、取得したDBサーバ12の状態から、DBサーバ12が正常に稼動しているか否かを判定する。
【0118】
ここで、DBサーバ12が正常に稼働中と判定されると(ステップS324)、サーバ起動/停止決定部144aは、制約条件を参照して、次に停止させるサーバをログサーバ11と決定する(ステップS325)。なお、DBサーバ12の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0119】
次に停止させるサーバがログサーバ11であると決定すると、サーバ稼動状況取得部143aは、ログサーバ11への接続状態およびログサーバ11のOSの稼動状態などを確認するために、ログサーバ11の通信アドレスを通信アドレスデータファイル133から取得した後に、まず、ログサーバ11に対してネットワーク接続状況確認を行う(ステップS326)。
【0120】
ログサーバ11は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS327)。サーバ稼動状況取得部143aは、ログサーバ11からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS328)、プロセス/OS稼動状況応答を受付ける(ステップS329)。そして、サーバ稼動状況取得部143aは、取得したログサーバ11の状態から、ログサーバ11が正常に稼動しているか否かを判定する。
【0121】
ここで、ログサーバ11が正常に稼働中と判定されると(ステップS330)、サーバ起動/停止決定部144aは、通信ネットワーク装置Aを構成するすべてのサーバが正常に稼動していることから通信ネットワーク装置Aが正常に稼動中であると判定する(ステップS331)。
【0122】
続いて、サーバ起動/停止決定部144は、制約条件を参照して、通信ネットワーク装置Bにおいて最初に停止させるサーバをフロントサーバ21と決定する(ステップS332)。なお、サーバ起動停止制御装置100aにおいては、サーバ起動/停止決定部144aによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル131から通信ネットワーク装置Bの識別子が特定される。そして、サーバ起動停止制御装置100aにおいては、サーバ構成ファイル132から各サーバの識別子が抽出される。
【0123】
実施例2に係るサーバ起動停止制御装置100aは、通信ネットワーク装置Bにおいて最初に停止させるサーバをフロントサーバ21と決定すると、フロントサーバ21への接続状態およびフロントサーバ21のOSの稼動状態などを確認し、フロントサーバ22、DBサーバ21、DBサーバ22、ログサーバ21の順に接続状態及びOSの稼動状態などを確認する(ステップS333〜ステップS361)。なお、ステップS333〜ステップS361については、上述したステップS302〜330と同様であることから詳細な説明を省略する。
【0124】
そして、サーバ起動/停止決定部144aは、通信ネットワーク装置Bを構成するすべてのサーバが正常に稼動していることから通信ネットワーク装置Aが正常に稼動中であると判定する(ステップS362)。
【0125】
続いて、サーバ起動/停止決定部144aは、制約条件を参照して、通信ネットワーク装置Cにおいて最初に停止させるサーバをフロントサーバ31と決定する(ステップS363)。なお、サーバ起動停止制御装置100aにおいては、サーバ起動/停止決定部144aによって最初に停止させるサーバが決定される前に、通信ネットワーク装置データファイル131から通信ネットワーク装置Cの識別子が特定される。そして、サーバ起動停止制御装置100aにおいては、サーバ構成ファイル132から各サーバの識別子が抽出される。
【0126】
フロントサーバ31は、ネットワーク接続状況確認を受付けると(ステップS364)、ネットワーク接続状況を応答する(ステップS365)。サーバ稼動状況取得部143aは、フロントサーバ31からネットワーク接続状況の応答を受付けると、プロセス/OS稼動状況確認を行い(ステップS366)、プロセス/OS稼動状況応答を受付ける(ステップS367)。ここで、フロントサーバ31は、故障が発生している旨の応答をサーバ起動停止制御装置100aに対して発信する。
【0127】
サーバ稼動状況取得部143aは、取得したフロントサーバ31の状態から、OSの稼動状態が通常と異なると判定し、通信ネットワーク装置Cが異常状態であると判定する(ステップS368)。なお、フロントサーバ31の稼動が異常状態であることが、ログ管理部146によってログファイル136に記録される。
【0128】
そして、サーバ起動/停止決定部144aは、通信ネットワーク装置Cを構成するフロントサーバ31が通常とは異なる状態のため、通信ネットワーク装置Cへの通信経路の迂回、集約は不可能であると判定する。そして、サーバ起動/停止決定部144aは、通信ネットワーク装置A及び通信ネットワーク装置Bを停止させると、通信ネットワーク装置A及び通信ネットワーク装置Bへの通信経路を迂回、集約する通信ネットワーク装置が存在しないことから、通信ネットワーク装置A及び通信ネットワーク装置Bの両方を停止させることは不可能であると判定する。
【0129】
上記した判定結果に応じて、通信ネットワーク装置優先度識別部147は、通信ネットワーク装置優先度データファイル138によって記憶された優先度データを参照して、通信ネットワーク装置Aの方が通信ネットワーク装置Bよりも稼動させる優先度が高いと判定し、通信ネットワーク装置Aが停止不可であり、通信ネットワーク装置Bが停止可能であると判定する(ステップS369)。
【0130】
そして、サーバ起動/停止決定部144aは、通信ネットワーク装置起動停止ファイル134と、取得している通信ネットワーク装置Bの各サーバの状態とから、最初に停止させるサーバがフロントサーバ21であると特定する(ステップS370)。最初に停止させるサーバがフロントサーバ21であると特定されると、サーバ起動/停止要求部145は、フロントサーバ21に対してプロセス/OS停止要求を送信する(ステップS371)。
【0131】
フロントサーバ21は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS372)、サーバを停止する(ステップS373)。サーバ起動/停止決定部144aは、フロントサーバ21からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ22と決定する(ステップS374)。なお、フロントサーバ21の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0132】
次に停止させるサーバがフロントサーバ22であると決定されると、サーバ起動/停止要求部145は、フロントサーバ22に対してプロセス/OS停止要求を送信する(ステップS375)。
【0133】
フロントサーバ22は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS376)、サーバを停止する(ステップS377)。サーバ起動/停止決定部144aは、フロントサーバ22からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをDBサーバ21と決定する(ステップS378)。なお、フロントサーバ22の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0134】
次に停止させるサーバがDBサーバ21であると決定されると、サーバ起動/停止要求部145は、DBサーバ21に対してプロセス/OS停止要求を送信する(ステップS379)。
【0135】
DBサーバ21は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS380)、サーバを停止する(ステップS381)。サーバ起動/停止決定部144aは、DBサーバ21からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをDBサーバ22と決定する(ステップS382)。なお、DBサーバ21の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0136】
次に停止させるサーバがDBサーバ22であると決定されると、サーバ起動/停止要求部145は、DBサーバ22に対してプロセス/OS停止要求を送信する(ステップS383)。
【0137】
DBサーバ22は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS384)、サーバを停止する(ステップS385)。サーバ起動/停止決定部144aは、DBサーバ22からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバをログサーバ21と決定する(ステップS386)。なお、DBサーバ21の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0138】
次に停止させるサーバがログサーバ21であると決定されると、サーバ起動/停止要求部145は、ログサーバ21に対してプロセス/OS停止要求を送信する(ステップS387)。
【0139】
ログサーバ21は、サーバ起動/停止要求部145からプロセス/OS停止要求を受付けると、プロセス及びOSを停止する旨のプロセス/OS停止応答を返すとともに(ステップS388)、サーバを停止する(ステップS389)。サーバ起動/停止決定部144aは、ログサーバ21からプロセス/OS停止応答を受付けると、制約条件を参照して、次に停止させるサーバがないことを確認する。なお、ログサーバ21の停止が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0140】
そして、ログ管理部146が、実行結果をログファイルに格納し(ステップS390)、サーバ起動停止制御装置100aは、通信ネットワーク装置Bの停止が実行されたこと、及び、通信ネットワーク装置Aの停止が未実行であることを示す応答を、グラフィックユーザインタフェース110を介して保守者に通知して、処理を終了する。
【0141】
なお、上述した処理の手順は、あくまでも一例であり、実施例2に係るサーバ起動停止制御装置100aは、通信ネットワーク装置の起動処理においても同様の処理を実行することが可能である。
【0142】
[実施例2の効果]
上述したように、実施例2によれば、複数のサーバによって複数の通信ネットワーク装置が構成され、通信ネットワーク装置の起動又は停止を制御する場合に、サーバ起動/停止決定部144aは、通信ネットワーク装置ごとに予め設定された稼動させる優先度に基づいて、起動又は停止させる通信ネットワーク装置を特定し、特定した通信ネットワーク装置を構成するサーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル135から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。
【0143】
例えば、上述したように、サーバ起動停止制御装置110aは、通信ネットワーク装置Aおよび通信ネットワーク装置Bを停止する際に、通信ネットワーク装置A、通信ネットワーク装置B及び通信ネットワーク装置Cの稼動状況を取得して、通信ネットワーク装置Cを構成するフロントサーバ31が通常とは異なる状態であると判断して、通信ネットワーク装置優先度データファイルに記録されている優先度から、通信ネットワーク装置Aの停止は実行不可を判断して、通信ネットワーク装置Bを構成するサーバの停止のみを実行する。従って、実施例2に係るサーバ起動停止制御装置110aは、保守者が通信ネットワーク装置の稼動状況や停止可能な通信ネットワーク装置を確認する作業が不要になることから、通信ネットワーク装置を停止させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【実施例3】
【0144】
上述した実施例1及び実施例2では、サーバを停止させる場合について説明した。実施例3においては、サーバを起動させる場合について説明する。図15は、実施例3に係る通信ネットワークの一例を示す模式図である。例えば、実施例3に係る通信ネットワークには、図15に示すように、通信ネットワーク装置Aと、サーバ起動停止制御装置100bが接続される。なお、図15に示す通信ネットワーク装置Aは、図5に示す通信ネットワーク装置Aと同様である。実施例3に係るサーバ起動停止制御装置100bは、図15に示すように、停止中のサーバ群を、起動に係る制約を満たしたうえで順次起動させる。
【0145】
まず、実施例3に係るサーバ起動停止制御装置100bの構成について説明する。図16は、実施例3に係るサーバ起動停止制御装置100bの構成の一例を示す図である。なお、実施例3に係るサーバ起動停止制御装置100bは、実施例1に係るサーバ起動停止制御装置100と比較して、通信ネットワーク装置起動停止ファイル134a及びサーバ起動停止条件ファイル135aによって記憶される内容と、サーバ起動/停止決定部144bによる処理内容とが異なる。以下、これらを中心に説明する。
【0146】
通信ネットワーク装置起動停止ファイル134aは、通信ネットワークに接続された通信ネットワーク装置ごとに、サーバの起動順序及び停止順序を記憶する。図17は、実施例3に係る通信ネットワーク装置起動停止ファイル134aによって記憶される情報の一例を示す図である。
【0147】
例えば、通信ネットワーク装置起動停止ファイル134aは、図17に示すように、通信ネットワーク装置ごとに、サーバの起動順序を記憶する。一例を挙げると、通信ネットワーク装置起動停止ファイル134は、「通信ネットワーク:A」に対応付けて、「1:ログサーバ1、2:DBサーバ2、3:DBサーバ1、4:フロントサーバ2、5:フロントサーバ1」を記憶する。ここで、上記した情報は、ネットワーク装置Aにおいては、ログサーバ1、DBサーバ2、DBサーバ1、フロントサーバ2、フロントサーバ1の順序で起動することを意味する。
【0148】
図16に戻って、サーバ起動停止条件ファイル135aは、各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する。図18は、実施例3に係るサーバ起動停止条件ファイル135aによって記憶される情報の一例を示す図である。
【0149】
例えば、サーバ起動停止条件ファイル135aは、図18に示すように、サーバごとに、当該サーバを起動させるための制約を記憶する。一例を挙げると、実施例3に係るサーバ起動停止条件ファイル135aは、「フロントサーバ1」に対応付けて、「DBサーバ1又はDBサーバ2の起動が失敗した後の起動不可」を記憶する。ここで、上記した情報は、DBサーバ1又は、DBサーバ2の起動が失敗した場合には、フロントサーバ1を起動できないことを意味する。なお、図8に示す情報は、あくまでも一例である。
【0150】
サーバ起動/停止決定部144bは、ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される制約条件をサーバ起動停止条件ファイル135aから取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する。
【0151】
例えば、サーバ起動停止制御装置100bが保守者から通信ネットワーク装置Aを起動させる旨のコマンドを受付けると、サーバ起動/停止決定部144bは、通信ネットワーク装置Aを構成するフロントサーバ1、フロントサーバ2、DBサーバ1、DBサーバ2及びログサーバ1それぞれに係る制約条件を読み出し、サーバの起動順序などを決定する。そして、サーバ起動/停止決定部144bは、決定した順序でサーバの起動を実行する際に、いずれかのサーバにおいて起動が失敗した場合には、その後のサーバが起動可能であるか否かを判定する。
【0152】
次に、実施例3に係るサーバ起動停止制御装置100bの処理の手順について、図19A〜図19Cを用いて説明する。図19A〜図19Cは、実施例3に係るサーバ起動停止制御装置100bによる処理の手順を示すシーケンス図である。なお、図19A〜図19Cにおいては、図19A、図19B、図19Cの順にサーバ起動停止制御装置100bによる処理の手順を示す。また、図19A〜図19Cにおいては、通信ネットワーク装置Aを起動させる際に、フロントサーバ2に故障が発生したために、フロントサーバ2のプロセスの起動に失敗して、通常の手順では起動できない状態の場合を例とする。また、以下では、サーバ起動停止制御装置100bによる処理について、サーバ起動停止制御装置100bが有する各部を用いて説明する。
【0153】
図19Aに示すように、実施例3に係るサーバ起動停止制御装置100bにおいては、グラフィックユーザインタフェース110を介して、保守者から通信ネットワーク装置Aの起動実行のコマンドが入力されると、サーバ起動/停止決定部144bは、制約条件を参照して、最初に起動させるサーバをログサーバ1と決定する(ステップS401)。なお、サーバ起動停止制御装置100bにおいては、サーバ起動/停止決定部144bによって最初に起動させるサーバが決定される前に、起動実行の要求を受付けたことをログファイル136に記録するとともに、通信ネットワーク装置データファイル131から通信ネットワーク装置Aの識別子が特定される。そして、サーバ起動停止制御装置100bにおいては、サーバ構成ファイル132から各サーバの識別子が抽出される。
【0154】
最初に起動させるサーバがログサーバ1であると決定すると、サーバ稼動状況取得部143は、ログサーバ1の接続状態を確認するために、ログサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、ログサーバ1に対してネットワーク接続状況確認を行う(ステップS402)。
【0155】
ログサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS403)。サーバ稼動状況取得部143は、ログサーバ1からネットワーク接続状況の応答を受付けると、その応答内容からログサーバ1が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部143が起動可能であると判定すると(ステップS404)、サーバ起動/停止要求部145は、プロセスやOSの起動を実行させる旨の要求であるプロセス/OS起動要求をログサーバ1に送信する(ステップS405)。
【0156】
ログサーバ1は、サーバ起動/停止要求部145からプロセス/OS起動要求を受付けると、プロセス及びOSを起動する旨のプロセス/OS起動応答を返すとともに(ステップS406)、サーバを起動する(ステップS407)。サーバ起動/停止決定部144bは、ログサーバ1からプロセス/OS起動応答を受付けると、制約条件を参照して、次に停止させるサーバをDBサーバ2と決定する(ステップS408)。なお、ログサーバ1の起動が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0157】
次に起動させるサーバがDBサーバ2であると決定すると、サーバ稼動状況取得部143は、DBサーバ2の接続状態を確認するために、DBサーバ2の通信アドレスを通信アドレスデータファイルから取得した後に、DBサーバ2に対してネットワーク接続状況確認を行う(ステップS409)。
【0158】
DBサーバ2は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS410)。サーバ稼動状況取得部143は、DBサーバ2からネットワーク接続状況の応答を受付けると、その応答内容からDBサーバ2が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部143が起動可能であると判定すると(ステップS411)、サーバ起動/停止要求部145は、プロセスやOSの起動を実行させる旨の要求であるプロセス/OS起動要求をDBサーバ2に送信する(ステップS412)。
【0159】
DBサーバ2は、サーバ起動/停止要求部145からプロセス/OS起動要求を受付けると、プロセス及びOSを起動する旨のプロセス/OS起動応答を返すとともに(ステップS413)、サーバを起動する(ステップS414)。サーバ起動/停止決定部144bは、DBサーバ2からプロセス/OS起動応答を受付けると、制約条件を参照して、次に停止させるサーバをDBサーバ1と決定する(ステップS415)。なお、DBサーバ2の起動が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0160】
次に起動させるサーバがDBサーバ1であると決定すると、サーバ稼動状況取得部143は、DBサーバ1の接続状態を確認するために、DBサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、DBサーバ1に対してネットワーク接続状況確認を行う(ステップS416)。
【0161】
DBサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS417)。サーバ稼動状況取得部143は、DBサーバ1からネットワーク接続状況の応答を受付けると、その応答内容からDBサーバ1が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部143が起動可能であると判定すると(ステップS418)、サーバ起動/停止要求部145は、プロセスやOSの起動を実行させる旨の要求であるプロセス/OS起動要求をDBサーバ1に送信する(ステップS419)。
【0162】
DBサーバ1は、サーバ起動/停止要求部145からプロセス/OS起動要求を受付けると、プロセス及びOSを起動する旨のプロセス/OS起動応答を返すとともに(ステップS420)、サーバを起動する(ステップS421)。サーバ起動/停止決定部144bは、DBサーバ1からプロセス/OS起動応答を受付けると、制約条件を参照して、次に停止させるサーバをフロントサーバ2と決定する(ステップS422)。なお、DBサーバ1の起動が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0163】
次に起動させるサーバがフロントサーバ2であると決定すると、サーバ稼動状況取得部143は、フロントサーバ2の接続状態を確認するために、フロントサーバ2の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ2に対してネットワーク接続状況確認を行う(ステップS423)。
【0164】
フロントサーバ2は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS424)。サーバ稼動状況取得部143は、フロントサーバ2からネットワーク接続状況の応答を受付けると、その応答内容からフロントサーバ2が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部143が起動可能であると判定すると(ステップS425)、サーバ起動/停止要求部145は、プロセスやOSの起動を実行させる旨の要求であるプロセス/OS起動要求をフロントサーバ2に送信する(ステップS426)。
【0165】
ここで、フロントサーバ2は、故障が発生したために正常にプロセス及びOSを起動できなかった旨のエラー応答をサーバ起動停止制御装置100bに返す(ステップS427)。サーバ起動/停止決定部144bは、フロントサーバ2からプロセス/OS起動応答(エラー応答)を受付けると、起動失敗が失敗したため保守者の復旧作業が必要であると判定する(ステップS428)。そして、サーバ起動/停止決定部144bは、制約条件を参照して、次に停止させるサーバをフロントサーバ1と決定する(ステップS429)。なお、フロントサーバ2の起動が失敗したことが、ログ管理部146によってログファイル136に記録される。
【0166】
次に起動させるサーバがフロントサーバ1であると決定すると、サーバ起動停止決定部144bは、サーバ起動停止条件ファイル135aによって記憶された制約を参照して、フロントサーバ2が起動失敗の場合のフロントサーバ1の起動可否を判定する(ステップS430)。ここで、フロントサーバ1が起動可能であると判定されると(ステップS431)、サーバ稼動状況取得部143は、フロントサーバ1の接続状態を確認するために、フロントサーバ1の通信アドレスを通信アドレスデータファイルから取得した後に、フロントサーバ1に対してネットワーク接続状況確認を行う(ステップS432)。
【0167】
フロントサーバ1は、ネットワーク接続状況確認を受付けると、ネットワーク接続状況を応答する(ステップS433)。サーバ稼動状況取得部143は、フロントサーバ1からネットワーク接続状況の応答を受付けると、その応答内容からフロントサーバ1が起動可能であるか否かを判定する。そして、サーバ稼動状況取得部143が起動可能であると判定すると(ステップS434)、サーバ起動/停止要求部145は、プロセスやOSの起動を実行させる旨の要求であるプロセス/OS起動要求をフロントサーバ1に送信する(ステップS435)。
【0168】
フロントサーバ1は、サーバ起動/停止要求部145からプロセス/OS起動要求を受付けると、プロセス及びOSを起動する旨のプロセス/OS起動応答を返すとともに(ステップS436)、サーバを起動する(ステップS437)。サーバ起動/停止決定部144bは、フロントサーバ1からプロセス/OS起動応答を受付けると、制約条件を参照して、次に起動させるサーバがないことを確認する。なお、フロントサーバ1の起動が正常に実施されたことが、ログ管理部146によってログファイル136に記録される。
【0169】
そして、ログ管理部146が、実行結果をログファイルに格納し(ステップS438)、サーバ起動停止制御装置100bは、通信ネットワーク装置Aの起動が実行された応答を、グラフィックユーザインタフェース110を介して保守者に通知して(ステップS439)、処理を終了する。
【0170】
なお、上述した処理の手順は、あくまでも一例であり、実施例3に係るサーバ起動停止制御装置100bは、所定のサーバのみの起動処理においても同様の処理を実行することが可能である。
【0171】
[実施例3の効果]
上述したように、実施例3によれば、サーバ起動停止制御装置100bは、例えば、通信ネットワーク装置Aを構成するフロントサーバ1、フロントサーバ2、DBサーバ1、DBサーバ2、ログサーバ1の通信ネットワークへの接続状態などを確認して、通信ネットワーク装置起動ファイルに記録されている順番でこれらのサーバの起動を実行する。従って、実施例3に係るサーバ起動停止制御装置100bは、通信ネットワーク装置の保守者がこれらのサーバの稼動状況を確認したり、起動させる順番を確認したりする作業が不要とすることができ、通信ネットワーク装置を起動させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【0172】
また、実施例3によれば、サーバ起動停止制御装置100bは、例えば、フロントサーバ2の起動に失敗して当サーバの起動が不可能になり、当サーバが通常とは異なる稼動状況になった際に、通信ネットワーク装置起動停止ファイル134aとサーバ起動停止条件ファイル135aを用いて、フロントサーバ2の次に起動させるフロントサーバ1の起動が可能であると判断して、フロントサーバ1を起動させる。従って、実施例3に係るサーバ起動停止制御装置100bは、通信ネットワーク装置の保守者がサーバの起動可否を判断する作業が不要になることから、通信ネットワーク装置を起動させる時間を削減し、かつ通信ネットワーク装置の保守者の作業ミスを回避することが可能である。
【実施例4】
【0173】
これまで実施例1、2及び3について説明したが、本願の技術は実施例1、2及び3に限定されるものではない。すなわち、実施例1、2及び3は、その他の様々な形態で実施されることが可能であり、種々の省略、置き換え、変更を行うことができる。
【0174】
例えば、各装置の分散・統合の具体的形態(例えば、図6の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、通信ネットワーク装置データファイル131と、サーバ構成ファイルとを識別情報ファイルとして統合してよい。
【0175】
また、サーバ稼動状況取得部143をサーバ起動停止制御装置100の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、サーバ稼動状況取得部143とサーバ起動/停止決定部144とを別々の装置が有し、ネットワークに接続されて協働することで、上述したサーバ起動停止制御装置100の機能を実現するようにしてもよい。
【0176】
これらの実施例やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0177】
100、100a、100b サーバ起動停止制御装置
134 通信ネットワーク装置起動停止ファイル
135 サーバ起動停止条件ファイル
137 通信ネットワーク装置運用データファイル
138 通信ネットワーク装置優先度データファイル
143、143a サーバ稼動状況取得部
144、144a サーバ起動/停止決定部
145 サーバ起動/停止要求部
147 通信ネットワーク装置優先度識別部

【特許請求の範囲】
【請求項1】
役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置であって、
各サーバの起動又は停止に適用される制約条件であって、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を示す制約条件を記憶する記憶手段と、
前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定手段と、
前記特定手段によって特定された他のサーバに関して、前記特定手段によって特定された条件の内容を満たしたうえで、前記対象サーバの起動又は停止を実行する実行手段と、
を備えたことを特徴とするサーバ起動停止制御装置。
【請求項2】
前記記憶手段は、前記制約条件の前記条件の内容として、起動及び停止の順序、サーバ間の依存関係及び制御に失敗した場合の処理について記憶することを特徴とする請求項1に記載のサーバ起動停止制御装置。
【請求項3】
前記特定手段は、前記制約条件の前記条件の内容に含まれる起動及び停止の順序、或いは、サーバ間の依存関係に基づいて、前記対象サーバ及び前記他のサーバを起動又は停止させる順序を決定し、
前記実行手段は、前記特定手段によって決定された順序で前記対象サーバ及び前記他のサーバの起動又は停止を実行することを特徴とする請求項2に記載のサーバ起動停止制御装置。
【請求項4】
前記ネットワークに接続された各サーバとの間で通信を行い、サーバそれぞれが正常に稼動しているか否かを判定する稼動状態判定手段をさらに備え、
前記実行手段は、前記対象サーバ及び前記他のサーバを決定した順序で起動又は停止させる際に、前記稼動状態判定手段によって稼動状態が異常であると判定されたサーバの後に起動又は停止させるサーバに関して、前記制約条件の前記制約の内容に含まれる制御に失敗した場合の処理を満たすように制御することを特徴とする請求項3に記載のサーバ起動停止制御装置。
【請求項5】
前記各サーバによって複数の通信ネットワーク装置が構成され、前記通信ネットワーク装置の起動又は停止を制御する場合に、
前記特定手段は、前記通信ネットワーク装置ごとに予め設定された稼動させる優先度に基づいて、起動又は停止させる通信ネットワーク装置を特定し、特定した通信ネットワーク装置を構成するサーバの起動又は停止に適用される前記制約条件を前記記憶手段から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定することを特徴とする請求項1〜4のいずれか一つに記載のサーバ起動停止制御装置。
【請求項6】
役割分担された各サーバが役割毎に複数台ずつネットワークに接続され、役割分担されたサーバ間で協働処理を行うシステムにおいて、各サーバの起動又は停止を制御するサーバ起動停止制御装置によって実行されるサーバ起動停止制御方法であって、
各サーバの起動又は停止に適用される制約条件として、サーバ毎に、該サーバの起動又は停止に際して所定の条件を満たすべき他のサーバ及び該条件の内容を記憶する記憶部を参照し、前記ネットワークに接続されたサーバのうち、起動又は停止を実行する対象サーバの起動又は停止に適用される前記制約条件を前記記憶部から取得し、該制約条件に規定された他のサーバ及び条件の内容を特定する特定工程と、
前記特定工程によって特定された他のサーバに関して、前記特定手段によって特定された条件の内容を満たしたうえで、前記対象サーバの起動又は停止を実行する実行工程と、
を含んだことを特徴とするサーバ起動停止制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図14C】
image rotate

【図14D】
image rotate

【図14E】
image rotate

【図14F】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図19C】
image rotate