(57)【要約】【課題】システム運用者の負担を軽減でき、かつ少ない手順で安全にシステムを運用できる分散システムを提供する。【解決手段】複数のサーバで実行される異なるサービスが連携して機能する分散システムは、起動条件監視部、サービス起動部を備える。起動条件監視部は、複数のサーバのうち自サーバのサービスよりも前に起動すべき親サーバのサービスを定義した起動条件の成立を監視する。サービス起動部は、起動条件に定義された親サーバのサービスの起動を待って、自サーバのサービスを起動する。【選択図】図２
2019032709.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバで実行される異なるサービスが連携して機能する分散システムであって、
前記複数のサーバのうち自サーバのサービスよりも前に起動すべき親サーバのサービスを定義した起動条件の成立を監視する起動条件監視部と、
前記起動条件に定義された前記親サーバのサービスの起動を待って、前記自サーバのサービスを起動するサービス起動部と、
を備えることを特徴とする分散システム。
【請求項２】
前記複数のサーバのうち自サーバのサービスよりも前に停止すべき子サーバのサービスを定義した停止条件の成立を監視する停止条件監視部と、
前記停止条件に定義された前記子サーバのサービスの停止を待って、前記自サーバのサービスを停止するサービス停止部と、
を備えることを特徴とする請求項１記載の分散システム。
【請求項３】
前記複数のサーバは、共通する物理マシン上で起動する複数の仮想サーバであって、
前記物理マシンが、前記複数の仮想サーバを一括して起動または停止させること、
を特徴する請求項２記載の分散システム。
【請求項４】
前記複数のサーバは、
自サーバのサービスを起動後、前記自サーバのサービスの異常を検出した場合にサービス異常状態を記録するサービス監視部と、
前記サービス監視部が検出したサービスの異常を表示するモニタと、
前記サービス異常状態に応じたアラート信号を出力するアラート出力部と、
を備えることを特徴とする請求項１乃至３のいずれか１項記載の分散システム。
【請求項５】
前記複数のサーバのうち、他サーバに従属しないマスタサーバは、
前記マスタサーバのサービス起動後、少なくとも１つの前記他サーバが所定時間以内に起動しない場合にタイムアウト情報を記録する全サーバ起動監視部と、を備え、
前記アラート出力部は、前記タイムアウト情報に応じたアラート信号を出力すること、
を特徴とする請求項４記載の分散システム。
【請求項６】
前記サービス監視部は、自サーバのサービスの異常を検出してから所定時間を経過しても異常が継続している場合に、サービス異常継続状態を記録し、
前記アラート出力部は、前記サービス異常継続状態に応じた再度のアラート信号を出力すること、
を特徴する請求項４記載の分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散システムに係り、特にシステム運用手順を簡素化した分散システムに関する。
【背景技術】
【０００２】
複数のサーバが協調して処理を連携・分担する分散システムが知られている。例えば、特許文献１には、同じサービスを実行可能な複数のサーバを備えた分散システムが開示されている。このような構成によれば、障害発生に強く、信頼性の高い分散システムを構築できる。
【０００３】
ところで、分散システムには、複数のサーバで実行される異なるサービスが連携して機能する構成もある。このような構成によれば、処理を連携・分担することで、拡張性が高い分散システムを構築できる。
【０００４】
従来、複数のサーバで実行される異なるサービスが連携して機能する分散システムにおいては、起動させるサーバの順番や、サービスの起動手順は、システム運用手順に従ってシステム運用者が実施する必要があった。なお、本明細書の以降の説明において、サービスとは、ＦＴＰサービスやＮＴＰサービスなどの分散システムそのものに必要な基本サービス、および、特有の業務のためのアプリケーションサービスを含むものとする。サービスはユーザが操作することなくバックグラウンドで実行可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−６７０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の分散システムでは、システム運用者がシステム運用手順に従って各サーバの起動や停止を行っている。そのため、起動するサーバの順番や、サービスの起動手順を間違えると、システムが正常に立ち上がらず、分散システムが制御する製造ラインの稼働に影響を与えるリスクがあった。
【０００７】
本発明は、上述のような課題を解決するためになされたもので、システム運用者の負担を軽減でき、かつ少ない手順で安全にシステムを運用できる分散システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施形態に係る分散システムは、上記の目的を達成するため次のように構成される。
【０００９】
複数のサーバで実行される異なるサービスが連携して機能する分散システムは、起動条件監視部、サービス起動部を備える。起動条件監視部は、複数のサーバのうち自サーバのサービスよりも前に起動すべき親サーバのサービスを定義した起動条件の成立を監視する。サービス起動部は、起動条件に定義された親サーバのサービスの起動を待って、自サーバのサービスを起動する。
【００１０】
これによれば、システム運用者が各サーバの起動順序を意識しなくても、各サーバは、システムとして機能するようにサーバ間で待ち合わせを行い、起動条件の成立を待って必要なサービスを起動することができる。
【００１１】
好ましくは、分散システムは、停止条件監視部とサービス停止部をさらに備える。停止条件監視部は、複数のサーバのうち自サーバのサービスよりも前に停止すべき子サーバのサービスを定義した停止条件の成立を監視する。サービス停止部は、停止条件に定義された子サーバのサービスの停止を待って、自サーバのサービスを停止する。
【００１２】
これによれば、システム運用者が各サーバの停止順序を意識しなくても、各サーバは、安全にシャットダウンするようにサーバ間で待ち合わせを行い、停止条件の成立を待って起動していたサービスを停止することができる。
【００１３】
好ましくは、複数のサーバは、それぞれサービス監視部とモニタとアラート出力部とをさらに備える。サービス監視部は、自サーバのサービスを起動後、自サーバのサービスの異常を検出した場合にサービス異常状態を記録する。モニタは、サービス監視部が検出したサービスの異常を表示する。アラート出力部は、サービス異常状態に応じたアラート信号を出力する。
【００１４】
好ましくは、複数のサーバのうち、他サーバに従属しないマスタサーバは、サービス起動後、少なくとも１つの他サーバが所定時間以内に起動しない場合にタイムアウト情報を記録する全サーバ起動監視部を備える。アラート出力部は、タイムアウト情報に応じたアラート信号を出力する。
【００１５】
好ましくは、サービス監視部は、自サーバのサービスの異常を検出してから所定時間を経過しても異常が継続している場合に、サービス異常継続状態を記録する。さらに、アラート出力部は、サービス異常継続状態に応じた再度のアラート信号を出力する。
【００１６】
従来は、各サーバ起動後のチェックにおいて、複数あるサービスの実行状態をチェックリストに従ってシステム運用者が個別に確認しないとシステムが正常なのかどうかの判断ができず、確認ミスや確認モレなどによる障害発生時の状況判断に影響を与えるリスクがあった。しかし、本願構成によれば、サーバの起動後、サービスの実行状態をモニタ画面の表示色で把握でき、さらに、所定時間経過しても実行状態にならない場合は、システム異常をメールや警告音、警告灯等でシステム運用者にリアルタイムに通知することができる。また、システム異常検出後に所定時間経過してもシステム異常が継続している場合は、再度アラート信号を出力し、正常状態になるまで繰り返すことができるため、万一システム運用者が最初のシステム異常を認識できなかった場合も考慮されている。また、各サーバが正常に起動したか否かの判断を一か所（マスタサーバ）で確認することができる。そのため、システム運用手順を簡素化し、確認ミスや確認モレなどによる障害発生時の状況判断に影響を与えるリスクを軽減できる。
【発明の効果】
【００１７】
本発明に係る分散システムによれば、システム運用者の負担を軽減でき、かつ少ない手順で安全にシステムを運用できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１に係る分散システムを構成するサーバの起動順番および停止順番の一例を示す図である。
【図２】本発明の実施の形態１に係る分散システムの構成を説明するための図である。
【図３】本発明の実施の形態１に係る第１サーバ１が起動時に実行する処理のフローチャートである。
【図４】本発明の実施の形態１に係る第２サーバ２〜第５サーバ５が起動時に実行する処理のフローチャートである。
【図５】本発明の実施の形態１に係る第１サーバ１〜第３サーバ３が停止時に実行する処理のフローチャートである。
【図６】本発明の実施の形態１に係る第４サーバ４と第５サーバ５が停止時に実行する処理のフローチャートである。
【図７】各サーバ機が有する処理回路のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００２０】
実施の形態１．
本発明の実施の形態１に係る分散システムは、複数のサーバで実行される異なるサービスが連携して機能する。
【００２１】
図１は、実施の形態１に係る分散システムを構成するサーバの起動順番および停止順番の一例を示す図である。第１サーバ１は、分散システムが機能するうえで必須のサーバ（マスタサーバ）であり、他サーバに依存することなく起動できる。第２サーバ２と第３サーバ３が起動するには、第１サーバ１が起動完了している必要がある。第４サーバ４と第５サーバ５が起動するには、第２サーバ２と第３サーバ３が起動完了している必要がある。
【００２２】
また、分散システムを停止する時は、起動時の逆順になる。すなわち、第４サーバと第５サーバは停止条件なしに停止できる。第２サーバ２と第３サーバ３が停止するには、第４サーバ４と第５サーバ５が停止している必要がある。第１サーバ１が停止するには、第２サーバ２と第３サーバ３が停止している必要がある。
【００２３】
以降の説明において、従属元のサーバを親サーバ、従属先のサーバを子サーバと称する。例えば、第２サーバ２は第１サーバ１の子サーバであると共に、第４サーバ４および第５サーバ５の親サーバでもある。
【００２４】
図２は、実施の形態１に係る分散システムの構成を説明するための図である。図２には、ネットワーク６により相互に接続された第１サーバ１〜第５サーバ５が描かれている。マスタサーバである第１サーバ１は、ＯＳ起動後、システムに必要なサービス（ＦＴＰサービス、ＮＴＰサービス、データベースサービス、業務アプリケーションサービス等）を自動起動したあと、連携する他サーバ（第２サーバ２〜第５サーバ５）が正常に起動完了するまで監視する。第２サーバ２〜第５サーバ５は、ＯＳ起動後、それぞれの起動条件の成立を待って各サービスを自動起動する。そのため、本実施形態に係る分散システムは、どの順番でサーバを起動しても、システムとして機能するようにサーバ間で待ち合わせてサービスを自動起動することができる。
【００２５】
（第１サーバの構成）
まず、第１サーバ１の構成について説明する。第１サーバ１は、第１プロセス管理部１１（第１サービス起動部１２、第１サービス停止部１３）、全サーバ起動監視部１４、第１停止条件監視部１５、第１サービス監視部１６、第１アラート出力部１７を備える。
【００２６】
第１プロセス管理部１１は、業務システムとして必要なサービスについて、自サーバ内でのサービス起動順番やサービス停止順番を管理する。また、起動後のサービスの状態を常時監視する。
【００２７】
第１サービス起動部１２は、システム運用者により自サーバのＯＳが起動される際に自動的に実行される。第１サービス起動部１２は、自サーバ内でのサービスの起動順番が設定された設定情報に従ってシステムに必要な各サービス（ＦＴＰサービス、ＮＴＰサービス、データベースサービス、業務アプリケーションサービス等）を順次起動する。
【００２８】
第１サービス停止部１３は、停止条件に定義された子サーバのサービスの停止を待って、自サーバのサービスを停止する。具体的には、第１サービス停止部１３は、後述する停止条件が成立した場合に、自サーバ内でのサービスの停止順番が設定された設定情報に従って各サービスを順次停止する。その後、自サーバをシャットダウンする。
【００２９】
全サーバ起動監視部１４は、自サーバのサービスが起動後に開始され、他サーバの起動完了を所定時間監視する。図１の例では、第２サーバ２〜第５サーバ５の起動完了を監視する。全サーバ起動監視部１４は、例えば、ネットワークの疎通を確認するコマンドを実行すること、および、他サーバのプロセス管理部（第２プロセス管理部２１〜第５プロセス管理部５１）へサービスの状態を確認することによって、全サーバのサービスが起動したか否かを判定できる。
【００３０】
全サーバ起動監視部１４は、マスタサーバのサービス起動後、少なくとも１つの他サーバが所定時間以内に起動しない場合にタイムアウト情報をイベントログに記録する。イベントログは、後述するストレージ１０８に記憶される。一方、全サーバが所定時間以内に起動完了した場合、全サーバ起動完了信号を第１サービス監視部１６へ出力する。
【００３１】
第１停止条件監視部１５は、システム運用者により自サーバのシャットダウンが開始される際に自動的に実行される。第１停止条件監視部１５は、複数のサーバのうち自サーバのサービスよりも前に停止すべき子サーバのサービスを定義した停止条件の成立を監視する。図１に示す例では、第１サーバ１の停止条件には、自サーバのサービスよりも前に停止すべき第２サーバ２および第３サーバ３のサービスが定義されている。第１停止条件監視部１５は、ネットワークの疎通を確認するコマンド等により、第２サーバ２および第３サーバ３のシャットダウンを確認することで、第２サーバ２および第３サーバ３のサービスが停止したか否かを判定する。
【００３２】
第１サービス監視部１６は、自サーバのサービス起動後、自サーバのサービスの異常を検出した場合にサービス異常状態をイベントログに記録する。具体的には、第１サービス監視部１６は、設定情報に定められたシステムに必要なサービスが、正常に動作しているか否かを定周期（監視間隔は設定による）で監視する。サービスの状態は、状態が変化したタイミングでイベントログに記録される。また、サービスの現状態は、後述する図７のモニタ１０７に色分けして表示される。
【００３３】
第１アラート出力部１７は、イベントログを常時確認して、所定のログがある場合にアラート信号を出力する。例えば、第１アラート出力部１７は、上述したタイムアウト情報やサービス異常状態に応じたアラート信号を出力する。アラート信号は、例えば、メール送信、警告灯点灯、鳴動であり、システム運用者にリアルタイムに通知される。
【００３４】
また、好ましくは、第１サービス監視部１６は、自サーバのサービスの異常を検出してから所定時間を経過しても異常状態が継続している場合に、サービス異常継続状態をイベントログに記録する。第１アラート出力部１７は、サービス異常継続状態に応じた再度のアラート信号を出力する。万一システム運用者が最初のシステム異常を認識できなかった場合を考慮したものである。
【００３５】
（第２サーバ〜第５サーバの構成）
次に、第２サーバ２〜第５サーバ５の構成について説明する。これらのサーバは、起動条件、停止条件等の設定情報が異なるのみで同様の機能を有する。そのため、主として第２サーバ２を例に説明する。
【００３６】
第２サーバ２は、第２プロセス管理部２１（第２サービス起動部２２、第２サービス停止部２３）、第２起動条件監視部２４、第２停止条件監視部２５、第２サービス監視部２６、第２アラート出力部２７を備える。第３サーバ３〜第５サーバ５も同様の構成を備える。各サーバのＯＳが起動すると、基本的な通信プログラムが起動して他サーバと通信可能となる。
【００３７】
第２起動条件監視部２４は、システム運用者により自サーバのＯＳが起動される際に自動的に実行される。第２起動条件監視部２４は、複数のサーバのうち自サーバのサービスよりも前に起動すべき親サーバのサービスを定義した起動条件の成立を監視する。第２サーバ２の起動条件には、自サーバのサービスよりも前に起動すべき第１サーバ１のサービスが定義されている。第２起動条件監視部２４は、ネットワークの疎通を確認するコマンドを実行すること、および、第１サーバ１の第１プロセス管理部１１へサービスの状態を確認することによって、第１サーバ１のサービスが起動したか否かを判定する。
【００３８】
なお、第３サーバ３の起動条件は、第２サーバ２の起動条件と同様であり、第４サーバ４および第５サーバ５の起動条件は、第２サーバ２および第３サーバ３のサービスが起動していることである。
【００３９】
第２停止条件監視部２５は、システム運用者により自サーバのシャットダウンが開始される際に自動的に実行される。第２停止条件監視部２５は、複数のサーバのうち自サーバのサービスよりも前に停止すべき子サーバのサービスを定義した停止条件の成立を監視する。第２サーバ２の停止条件には、自サーバのサービスよりも前に停止すべき第４サーバ４および第５サーバ５のサービスが定義されている。第２停止条件監視部２５は、ネットワークの疎通を確認するコマンド等により、第４サーバ４および第５サーバ５のシャットダウンを確認することで、第４サーバ４および第５サーバ５のサービスが停止したか否かを判定する。
【００４０】
なお、第３サーバ３の停止条件は、第２サーバ２の停止条件と同様であり、第４サーバ４および第５サーバ５は子サーバを有さないため停止条件はない。
【００４１】
第２プロセス管理部２１は、業務システムとして必要なサービスについて、自サーバ内でのサービス起動順番やサービス停止順番を管理する。また、起動後のサービスの状態を常時監視する。
【００４２】
第２サービス起動部２２は、起動条件に定義された親サーバのサービスの起動を待って、自サーバのサービスを起動する。具体的には、第２サービス起動部２２は、起動条件が成立した場合に、自サーバ内でのサービスの起動順番が設定された設定情報に従って各サービス（ＦＴＰサービス、ＮＴＰサービス、業務アプリケーションサービス等）を順次起動する。
【００４３】
第２サービス停止部２３は、停止条件に定義された子サーバのサービスの停止を待って、自サーバのサービスを停止する。具体的には、第２サービス停止部２３は、停止条件が成立した場合に、自サーバ内でのサービスの停止順番が設定された設定情報に従って各サービスを順次停止する。その後、自サーバをシャットダウンする。
【００４４】
第２サービス監視部２６は、自サーバのサービス起動後、自サーバのサービスの異常を検出した場合にサービス異常状態をイベントログに記録する。具体的には、第２サービス監視部２６は、設定情報に定められたシステムに必要なサービスが、正常に動作しているか否かを定周期（監視間隔は設定による）で監視する。サービスの状態は、状態が変化したタイミングでイベントログに記録される。また、サービスの現状態は、後述する図７のモニタ１０７に色分けして表示される。
【００４５】
第２アラート出力部２７は、イベントログを常時確認して、所定のログがある場合にアラート信号を出力する。例えば、第２アラート出力部２７は、上述したタイムアウト情報やサービス異常状態に応じたアラート信号を出力する。アラート信号は、例えば、メール送信、警告灯点灯、鳴動であり、システム運用者にリアルタイムに通知される。
【００４６】
また、好ましくは、第２サービス監視部２６は、自サーバのサービスの異常を検出してから所定時間を経過しても異常状態が継続している場合に、サービス異常継続状態をイベントログに記録する。第２アラート出力部２７は、サービス異常継続状態に応じた再度のアラート信号を出力する。万一システム運用者が最初のシステム異常を認識できなかった場合を考慮したものである。
【００４７】
（分散システムの起動時フローチャート：第１サーバ）
次に、図３を参照してマスタサーバである第１サーバ１の起動について説明する。図３は、本発明の実施の形態１に係る第１サーバ１が起動時に実行する処理のフローチャートである。まず、システム運用者による第１サーバ１のＯＳ起動により、基本的な通信プログラム等が実行されて他サーバと通信可能となる。
【００４８】
まず、ステップＳ１００において、第１サービス起動部１２は、自サーバ内でのサービスの起動順番が設定された設定情報に従ってシステムに必要な各サービス（ＦＴＰサービス、ＮＴＰサービス、データベースサービス、業務アプリケーションサービス等）を順次起動する。
【００４９】
次に、ステップＳ１１０において、全サーバ起動監視部１４は、タイマー値Ｔの初期値を０にセットする。
【００５０】
次に、ステップＳ１２０において、全サーバ起動監視部１４は、全サーバにサービスの起動状態を問い合わせる。第２サーバ２から第５サーバ５の各プロセス管理部（第２プロセス管理部２１〜第５プロセス管理部５１）は、サービスの起動状態の問い合わせに応答する。
【００５１】
次に、ステップＳ１３０において、全サーバ起動監視部１４は、全サーバのサービスが起動済みであるか否かを判定する。起動済みと判定される場合は、ステップＳ１４０において、第１サービス監視部１６によるサービス異常状態の監視が開始される。
【００５２】
一方、ステップＳ１３０において起動済みでないと判定される場合は、タイマー値Ｔがインクリメントされる（ステップＳ１５０）。その後、タイマー値Ｔが予め定めたタイムアウト値を超えたか否かが判定される（ステップＳ１６０）。ステップＳ１６０の判定条件が成立しない間は、ステップＳ１２０から処理を再開する。
【００５３】
一方、ステップＳ１６０の判定条件が成立する場合は、全サーバ起動監視部１４は、イベントログへタイムアウト情報を記録する。その後、ステップＳ１７０において、第１アラート出力部１７は、イベントログにタイムアウト情報が記録されていることを検知して、メール送信、警告灯点灯、鳴動などのアラート信号を出力する。
【００５４】
（分散システムの起動時フローチャート：第２サーバ〜第５サーバ）
次に、図４を参照して第２サーバ２〜第５サーバ５の起動について説明する。図４は、本発明の実施の形態１に係る第２サーバ２〜第５サーバ５が起動時に実行する処理のフローチャートである。まず、システム運用者による第２サーバ２〜第５サーバ５のＯＳ起動により、基本的な通信プログラム等が実行されて他サーバと通信可能となる。第２サーバ２〜第５サーバ５の起動処理は、起動条件が異なる以外共通するため、以下の説明では第２サーバ２を例に挙げて説明する。
【００５５】
まず、ステップＳ２００において、第２起動条件監視部２４は、起動条件に定められた指定サーバ（親サーバ）へサービスの起動状態を問い合わせる。図１の例では、第２サーバ２は、第１サーバ１へサービスの起動状態を問い合わせる。なお、第３サーバ３は第２サーバ２と同様に問い合わせ、第４サーバ４および第５サーバ５は、第２サーバ２および第３サーバ３へサービスの起動状態を問い合わせる。
【００５６】
次に、ステップＳ２１０において、第２起動条件監視部２４は、指定サーバ（親サーバ）からの応答に基づいて起動条件が成立するか否かを判定する。起動条件が成立しない場合、ステップＳ２００に戻り処理を継続する。
【００５７】
一方、起動条件が成立する場合は、ステップＳ２２０において、第２サービス起動部２２は、自サーバ内でのサービスの起動順番が設定された設定情報に従って各サービスを順次起動する。
【００５８】
次に、ステップＳ２３０において、第２サービス監視部２６によるサービス異常状態の監視が開始される。
【００５９】
（分散システムの停止時フローチャート）
次に、図５、図６を参照してサーバの停止について説明する。図５は、本発明の実施の形態１に係る第１サーバ１〜第３サーバ３が停止時に実行する処理のフローチャートである。図６は、本発明の実施の形態１に係る第４サーバ４と第５サーバ５が停止時に実行する処理のフローチャートである。各サーバの起動処理は、停止条件が異なる以外共通するため、以下の説明では第２サーバ２を例に挙げて説明する。
【００６０】
まず、ステップＳ３００において、第２停止条件監視部２５は、停止条件に定められた指定サーバ（子サーバ）へサービスの停止状態を確認する。図１の例では、第２サーバ２は、第４サーバ４と第５サーバ５の停止状態を確認する。なお、第３サーバ３は第２サーバ２と同様の確認を行い、第１サーバ１は、第２サーバ２と第３サーバ３の停止状態を確認する。
【００６１】
次に、ステップＳ３１０において、第２停止条件監視部２５は、指定サーバ（子サーバ）からの応答に基づいて停止条件が成立するか否かを判定する。停止条件が成立しない場合、ステップＳ３００に戻り処理を継続する。
【００６２】
一方、停止条件が成立する場合は、ステップＳ３２０において、第２サービス停止部２３は、自サーバ内でのサービスの停止順番が設定された設定情報に従って各サービスを順次停止する。
【００６３】
次に、ステップＳ３３０において、自サーバのＯＳをシャットダウンする。
【００６４】
なお、第４サーバ４および第５サーバ５は子サーバを有さず、第４停止条件監視部４５や第５停止条件監視部５５における停止条件がないため、図６のようにステップＳ３２０から処理が実行される。
【００６５】
（効果）
以上説明したように、本実施形態に係る分散システムによれば、システム運用者が各サーバの起動順序を意識しなくても、各サーバは、システムとして機能するようにサーバ間で待ち合わせを行い、起動条件の成立を待って必要なサービスを起動することができる。また、システム運用者が各サーバの停止順序を意識しなくても、各サーバは、安全にシャットダウンするようにサーバ間で待ち合わせを行い、停止条件の成立を待って起動していたサービスを停止することができる。そのため、本実施形態に係る分散システムによれば、システム運用手順を簡素化し、システム運用者の負担を軽減でき、かつ最小限のオペレーションで安全にシステムを起動・停止することができる。
【００６６】
また、従来は、本実施形態に係る分散システムによれば、各サーバの起動後、サービスの実行状態をモニタ画面の表示色により一目で把握でき、さらに、所定時間経過しても実行状態にならない場合は、システム異常をメールや警告音、警告灯等でシステム運用者にリアルタイムに通知することができる。また、システム異常検出後に所定時間経過してもシステム異常が継続している場合は、再度アラート信号を出力し、正常状態になるまで繰り返すことができるため、万一システム運用者が最初のシステム異常を認識できなかった場合も考慮されている。また、各サーバが正常に起動したか否かの判断を一か所（マスタサーバ）で確認することができる。そのため、本実施形態に係る分散システムによれば、システム運用手順を簡素化し、確認ミスや確認モレなどによる障害発生時の状況判断に影響を与えるリスクを軽減できる。
【００６７】
（変形例）
ところで、上述した実施の形態においては、サービスの実行状態のモニタリングまたは異常時の警告を発するために、サービス監視部やアラート出力部を備えている。ところで、単に複数のサーバ間で起動・停止の待ち合わせを実現する場合には、サービス監視部やアラート通知部を要しない構成であってもよい。
【００６８】
ところで、上述した実施の形態においては、１つの物理マシン（コンピュータ）に１つのサーバを配置しているが、これに限定されるものではない。複数のサーバは、共通する物理マシン上で起動する複数の仮想サーバであって、物理マシンが、複数の仮想サーバを一括して起動または停止させることとしてもよい。例えば、システムで代表となる１つの仮想サーバ（第１サーバ１または第１サーバ１〜第５サーバ５以外の仮想サーバ）が、システム全体の起動とシャットダウンを担うことで実現できる。
【００６９】
（ハードウェア構成例）
各サーバ機のハードウェア構成について図７を参照しつつ説明する。図７は、図４の各サーバ機が有する処理回路のハードウェア構成例を示すブロック図である。図２に示す各部は、各サーバ機が有する機能の一部を示し、各機能は処理回路により実現される。例えば、処理回路は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、入出力インターフェース１０４、システムバス１０５、入力装置１０６、モニタ１０７、ストレージ１０８、ネットワークＩ／Ｆ（インターフェース）１０９を備えたコンピュータである。
【００７０】
ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３に格納されたプログラムやデータなどを用いて各種の演算処理を実行する処理装置である。ＲＯＭ１０２は、コンピュータに各機能を実現させるための基本プログラムや環境ファイルなどを記憶する読み取り専用の記憶装置である。ＲＡＭ１０３は、ＣＰＵ１０１が実行するプログラムおよび各プログラムの実行に必要なデータを記憶する主記憶装置であり、高速な読み出しと書き込みが可能である。入出力インターフェース１０４は、各種のハードウェアとシステムバス１０５との接続を仲介する装置である。システムバス１０５は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３および入出力インターフェース１０４で共有される情報伝達路である。
【００７１】
また、入出力インターフェース１０４には、入力装置１０６、モニタ１０７、ストレージ１０８、ネットワークＩ／Ｆ１０９などのハードウェアが接続されている。入力装置１０６は、システム運用者による入力を処理する装置であり、例えばキーボードやマウスである。モニタ１０７は、表示装置である。ストレージ１０８は、プログラムやデータを蓄積する大容量の補助記憶装置であり、例えばハードディスク装置や不揮発性の半導体メモリなどである。ストレージ１０８には、オペレーティングシステム、コンピュータを上記各部として機能させるためのプログラム、上述した各サービスに対応するプログラム、起動条件、停止条件、設定情報、イベントログ等が記憶されている。ネットワークＩ／Ｆ１０９は、ネットワーク６を介して他サーバと通信するための通信装置である。
【００７２】
以上、本発明の実施の形態について説明したが、本発明は、上記の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００７３】
１、２、３、４、５  第１サーバ、第２サーバ、第３サーバ、第４サーバ、第５サーバ
１１、２１、３１、４１、５１  第１プロセス管理部、第２プロセス管理部、第３プロセス管理部、第４プロセス管理部、第５プロセス管理部
１２、２２、３２、４２、５２  第１サービス起動部、第２サービス起動部、第３サービス起動部、第４サービス起動部、第５サービス起動部
１３、２３、３３、４３、５３  第１サービス停止部、第２サービス停止部、第３サービス停止部、第４サービス停止部、第５サービス停止部
１４  全サーバ起動監視部
２４、３４、４４、５４  第２起動条件監視部、第３起動条件監視部、第４起動条件監視部、第５起動条件監視部
１５、２５、３５、４５、５５  第１停止条件監視部、第２停止条件監視部、第３停止条件監視部、第４停止条件監視部、第５停止条件監視部
１６、２６，３６、４６、５６  第１サービス監視部、第２サービス監視部、第３サービス監視部、第４サービス監視部、第５サービス監視部
１７、２７、３７、４７、５７  第１アラート出力部、第２アラート出力部、第３アラート出力部、第４アラート出力部、第５アラート出力部
６  ネットワーク
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  入出力インターフェース
１０５  システムバス
１０６  入力装置
１０７  モニタ
１０８  ストレージ
１０９  ネットワークＩ／Ｆ
【図１】
2019032709.tif 000003
【図２】
2019032709.tif 000004
【図３】
2019032709.tif 000005
【図４】
2019032709.tif 000006
【図５】
2019032709.tif 000007
【図６】
2019032709.tif 000008
【図７】
2019032709.tif 000009