(57)【要約】【課題】複数のノード装置において同時に障害が発生した場合であっても、管理サーバの負荷の増大を抑制し、障害が発生したノード装置を特定することができるノード装置管理システムを提供する。【解決手段】複数のグループにグループ分けされた複数のノード装置の各々は、自装置が属すグループに含まれる他の全てのノード装置との間で信号をやり取りすることにより相互に死活監視を行う。そして、信号を受信しなかった場合に異常検知信号を管理サーバに送信する。管理サーバは、ノード装置から受信した異常検知信号に基づいて、異常が発生した異常ノード装置を管理すると共に、異常ノード装置と隣接するノード装置を監視対象として管理し、監視対象とされたノード装置から、一定期間、異常検知信号を受信しない場合に、監視対象のノード装置を異常が発生したノード装置と判定する。【選択図】図１０
2020047054.tif 000002
【特許請求の範囲】
【請求項１】
複数のグループにグループ分けされた複数のノード装置と、
前記ノード装置の死活状態を管理する管理サーバとを備え、
前記ノード装置の各々は、
自装置が属すグループに含まれる他の全てのノード装置との間で信号をやり取りすることにより相互に死活監視を行う監視手段と、
前記信号を受信しなかった場合に当該信号の送信元のノード装置に関する異常検知の通知を前記管理サーバに送信する通知手段と、を備え、
前記管理サーバは、
前記ノード装置から受信した前記異常検知の通知に基づいて、異常が発生したノード装置を異常ノード装置として管理する異常ノード装置管理手段と、
前記異常ノード装置と隣接するノード装置を監視対象として管理する監視対象管理手段と、
監視対象とされた前記ノード装置から、一定期間、前記異常検知の通知を受信しない場合に、当該ノード装置を異常が発生したノード装置と判定する判定手段と、
を備えることを特徴とする、死活管理システム。
【請求項２】
前記ノード装置の各グループは、予め定められた同じ数のノード装置を含んで構成され、
前記ノード装置の各々は、一または複数のグループに属すことを特徴とする、請求項１に記載の死活管理システム。
【請求項３】
前記管理サーバは、前記ノード装置の一つとして他のノード装置との間で前記信号をやり取りして当該他のノード装置の死活監視を行う死活監視手段をさらに備え、
前記ノード装置のうち、前記管理サーバの前記異常ノード装置管理手段により前記異常ノード装置とされたノード装置は、当該ノード装置が属していたグループから除外され、除外された当該ノード装置に代わって前記死活監視手段が当該グループの他のノード装置の死活監視を行うことを特徴とする、請求項２に記載の死活管理システム。
【請求項４】
前記管理サーバは、前記異常ノード装置管理手段により管理されている前記ノード装置から前記異常検知の通知を受信した場合、当該ノード装置に代わって行われた前記死活監視手段による死活監視を終了し、当該ノード装置が属していたグループに当該ノード装置を復帰させることを特徴とする、請求項３に記載の死活管理システム。
【請求項５】
前記ノード装置のうち、前記管理サーバの前記異常ノード装置管理手段により前記異常ノード装置とされたノード装置は、当該ノード装置が属していたグループから除外され、当該グループは、グループを構成するノード装置の数を満たすように再構成されることを特徴とする、請求項２に記載の死活管理システム。
【請求項６】
前記監視対象管理手段は、前記判定手段により監視対象のノード装置が前記異常が発生したノード装置と判定された場合、当該ノード装置に隣接する他のノード装置を新たに監視対象として管理することを特徴とする、請求項１に記載の死活管理システム。
【請求項７】
前記監視対象管理手段は、監視対象とされた前記ノード装置から、一定期間内に前記異常検知の通知を受信した場合、当該ノード装置を監視対象から除外することを特徴とする、請求項６に記載の死活管理システム。
【請求項８】
管理対象である複数のノード装置が複数のグループにグループ分けされ、当該グループごとに同一グループに含まれる全てのノード装置が相互に接続される、当該ノード装置どうしの接続関係を管理する接続関係管理手段と、
前記ノード装置から、当該ノード装置が属す前記グループにおける異常なノード装置の検知情報を受信する受信手段と、
前記ノード装置から受信した前記検知情報に基づいて、異常が発生したノード装置を異常ノード装置として管理する異常ノード装置管理手段と、
前記接続関係管理手段により管理されているノード装置間の接続関係に基づき、前記異常が発生したノード装置と隣接するノード装置を特定し、監視対象として管理する監視対象管理手段と、
監視対象とされた前記ノード装置から、一定期間、前記検知情報を受信しない場合に、当該ノード装置を異常が発生したノード装置と判定する判定手段と、
を備えることを特徴とする、管理サーバ。
【請求項９】
前記接続関係管理手段は、前記異常ノード装置管理手段による管理対象となった前記ノード装置を、当該ノード装置のグループから除外することを特徴とする、請求項８に記載の管理サーバ。
【請求項１０】
前記接続関係管理手段が前記ノード装置をグループから除外した場合に、当該ノード装置に代わって、当該グループにおける他のノード装置の死活監視を行う死活監視手段をさらに備えることを特徴とする、請求項９に記載の管理サーバ。
【請求項１１】
前記受信手段が前記異常ノード装置管理手段により管理されている前記ノード装置から前記検知情報を受信した場合、前記死活監視手段は、当該ノード装置に代わって行う死活監視を終了し、前記接続関係管理手段は、当該ノード装置の接続関係を前記異常ノード装置管理手段による管理対象となる前の状態に戻すことを特徴とする、請求項１０に記載の管理サーバ。
【請求項１２】
前記監視対象管理手段は、前記判定手段により監視対象のノード装置が前記異常が発生したノード装置と判定された場合、当該ノード装置に隣接する他のノード装置を新たに監視対象として管理することを特徴とする、請求項８に記載の管理サーバ。
【請求項１３】
前記監視対象管理手段は、監視対象とされた前記ノード装置から、一定期間内に前記異常検知の通知を受信した場合、当該ノード装置を監視対象から除外することを特徴とする、請求項１２に記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、死活管理システムおよび管理サーバに関する。
【背景技術】
【０００２】
ネットワークにおいて、保守の観点からノード装置の死活の管理が行われる場合がある。ここで、管理サーバが各ノード装置を直接管理するようなネットワーク構成の場合、ノード装置の数が増えると通信量が増大し、管理サーバの負荷も増大する。そのため従来から、ノード装置の管理における管理サーバの負荷を軽減する手段が提案されている。下記の特許文献１には、監視グループを構成する複数の端末間で、各端末の状態情報と自端末の状態情報とを特定の順序で伝達させることにより死活監視を行い、異常が発生した端末が検知された場合、検知した端末が管理装置に通知するシステムが開示されている。
【０００３】
また、下記の特許文献２には、隣接するノード装置間でメッセージをやり取りすることにより相互に死活監視を行い、一方のノード装置に障害が発生したときは、相手のノード装置が死活監視メッセージをセンターサーバに送信する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５９０８６号公報
【特許文献２】特開２０１０−９８５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ノード装置が相互に死活監視を行う構成であっても、単に他のノード装置の障害を検出したノード装置が管理サーバに通知する構成では、複数のノード装置において同時に障害が発生した場合に障害が発生したノード装置を特定することが困難である。そして、この場合に障害が発生したノード装置を特定するために管理サーバから各ノード装置に問い合わせるとすると、通信量が増大し、管理サーバの負荷も増大してしまう。
【０００６】
本発明は、複数のノード装置において同時に障害が発生した場合であっても、管理サーバの負荷の増大を抑制し、障害が発生したノード装置を特定することができるノード装置管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る本発明は、
複数のグループにグループ分けされた複数のノード装置と、
前記ノード装置の死活状態を管理する管理サーバとを備え、
前記ノード装置の各々は、
自装置が属すグループに含まれる他の全てのノード装置との間で信号をやり取りすることにより相互に死活監視を行う監視手段と、
前記信号を受信しなかった場合に当該信号の送信元のノード装置に関する異常検知の通知を前記管理サーバに送信する通知手段と、を備え、
前記管理サーバは、
前記ノード装置から受信した前記異常検知の通知に基づいて、異常が発生したノード装置を異常ノード装置として管理する異常ノード装置管理手段と、
前記異常ノード装置と隣接するノード装置を監視対象として管理する監視対象管理手段と、
監視対象とされた前記ノード装置から、一定期間、前記異常検知の通知を受信しない場合に、当該ノード装置を異常が発生したノード装置と判定する判定手段と、
を備えることを特徴とする、死活管理システム。
請求項２に係る本発明は、
前記ノード装置の各グループは、予め定められた同じ数のノード装置を含んで構成され、
前記ノード装置の各々は、一または複数のグループに属すことを特徴とする、請求項１に記載の死活管理システムである。
請求項３に係る本発明は、
前記管理サーバは、前記ノード装置の一つとして他のノード装置との間で前記信号をやり取りして当該他のノード装置の死活監視を行う死活監視手段をさらに備え、
前記ノード装置のうち、前記管理サーバの前記異常ノード装置管理手段により前記異常ノード装置とされたノード装置は、当該ノード装置が属していたグループから除外され、除外された当該ノード装置に代わって前記死活監視手段が当該グループの他のノード装置の死活監視を行うことを特徴とする、請求項２に記載の死活管理システムである。
請求項４に係る本発明は、
前記管理サーバは、前記異常ノード装置管理手段により管理されている前記ノード装置から前記異常検知の通知を受信した場合、当該ノード装置に代わって行われた前記死活監視手段による死活監視を終了し、当該ノード装置が属していたグループに当該ノード装置を復帰させることを特徴とする、請求項３に記載の死活管理システムである。
請求項５に係る本発明は、
前記ノード装置のうち、前記管理サーバの前記異常ノード装置管理手段により前記異常ノード装置とされたノード装置は、当該ノード装置が属していたグループから除外され、当該グループは、グループを構成するノード装置の数を満たすように再構成されることを特徴とする、請求項２に記載の死活管理システムである。
請求項６に係る本発明は、
前記監視対象管理手段は、前記判定手段により監視対象のノード装置が前記異常が発生したノード装置と判定された場合、当該ノード装置に隣接する他のノード装置を新たに監視対象として管理することを特徴とする、請求項１に記載の死活管理システムである。
請求項７に係る本発明は、
前記監視対象管理手段は、監視対象とされた前記ノード装置から、一定期間内に前記異常検知の通知を受信した場合、当該ノード装置を監視対象から除外することを特徴とする、請求項６に記載の死活管理システムである。
請求項８に係る本発明は、
管理対象である複数のノード装置が複数のグループにグループ分けされ、当該グループごとに同一グループに含まれる全てのノード装置が相互に接続される、当該ノード装置どうしの接続関係を管理する接続関係管理手段と、
前記ノード装置から、当該ノード装置が属す前記グループにおける異常なノード装置の検知情報を受信する受信手段と、
前記ノード装置から受信した前記検知情報に基づいて、異常が発生したノード装置を異常ノード装置として管理する異常ノード装置管理手段と、
前記接続関係管理手段により管理されているノード装置間の接続関係に基づき、前記異常が発生したノード装置と隣接するノード装置を特定し、監視対象として管理する監視対象管理手段と、
監視対象とされた前記ノード装置から、一定期間、前記検知情報を受信しない場合に、当該ノード装置を異常が発生したノード装置と判定する判定手段と、
を備えることを特徴とする、管理サーバである。
請求項９に係る本発明は、
前記接続関係管理手段は、前記異常ノード装置管理手段による管理対象となった前記ノード装置を、当該ノード装置のグループから除外することを特徴とする、請求項８に記載の管理サーバである。
請求項１０に係る本発明は、
前記接続関係管理手段が前記ノード装置をグループから除外した場合に、当該ノード装置に代わって、当該グループにおける他のノード装置の死活監視を行う死活監視手段をさらに備えることを特徴とする、請求項９に記載の管理サーバである。
請求項１１に係る本発明は、
前記受信手段が前記異常ノード装置管理手段により管理されている前記ノード装置から前記検知情報を受信した場合、前記死活監視手段は、当該ノード装置に代わって行う死活監視を終了し、前記接続関係管理手段は、当該ノード装置の接続関係を前記異常ノード装置管理手段による管理対象となる前の状態に戻すことを特徴とする、請求項１０に記載の管理サーバである。
請求項１２に係る本発明は、
前記監視対象管理手段は、前記判定手段により監視対象のノード装置が前記異常が発生したノード装置と判定された場合、当該ノード装置に隣接する他のノード装置を新たに監視対象として管理することを特徴とする、請求項８に記載の管理サーバである。
請求項１３に係る本発明は、
前記監視対象管理手段は、監視対象とされた前記ノード装置から、一定期間内に前記異常検知の通知を受信した場合、当該ノード装置を監視対象から除外することを特徴とする、請求項１２に記載の管理サーバである。
【発明の効果】
【０００８】
請求項１の発明によれば、管理サーバがノード装置の死活状態を直接監視する構成と比較して、複数のノード装置において同時に障害が発生した場合であっても、管理サーバの負荷の増大を抑制し、障害が発生したノード装置を特定することができるノード装置管理システムを提供することができる。
請求項２の発明によれば、管理サーバがノード装置の死活状態を直接監視する構成と比較して、ノード装置どうしが死活状態を相互監視するグループのノード装置の数を同数とすることで、管理を容易にすることができる。
請求項３の発明によれば、異常ノード装置を単にグループから除く構成と比較して、グループの構成を維持したまま、異常ノード装置を除いて死活監視を継続することができる。
請求項４の発明によれば、復旧したノード装置を含めて改めてグループを構成する構成と比較して、異常検知の通知を受信した状況により、ノード装置の復旧が検知できるため、復旧を通知する仕組み等を別途用意する必要がない。
請求項５の発明によれば、異常ノード装置を単にグループから除く構成と比較して、グループを構成するノード装置の数を維持することができる。
請求項６の発明によれば、管理サーバがノード装置の死活状態を直接監視し、異常ノード装置を単にグループから除く構成と比較して、複数のノード装置が同時に異常となった場合に、異常状態の可能性のあるノード装置を探索することができる。
請求項７の発明によれば、管理サーバがノード装置の死活状態を直接監視し、異常ノード装置を単にグループから除く構成と比較して、異常状態の可能性のあるノード装置を探索した際に、異常検知の通知を受信した状況により、監視対象のノード装置が正常動作中であることを確認できるため、ノード装置に問い合わせる仕組み等を別途用意する必要がない。
請求項８の発明によれば、管理サーバがノード装置の死活状態を直接監視する構成と比較して、複数のノード装置において同時に障害が発生した場合であっても、管理サーバの負荷の増大を抑制し、障害が発生したノード装置を特定することができるノード装置管理システムを提供することができる。
請求項９の発明によれば、管理サーバがノード装置の死活状態を直接監視する構成と比較して、ノード装置どうしが死活状態を相互監視する構成において、管理サーバが、正常なノード装置の接続関係を把握して管理することができる。
請求項１０の発明によれば、異常ノード装置を単にグループから除く構成と比較して、グループの構成を維持したまま、異常ノード装置を除いて死活監視を継続することができる。
請求項１１の発明によれば、復旧したノード装置を含めて改めてグループを構成する構成と比較して、異常検知の通知を受信した状況により、ノード装置の復旧を検知することができる。
請求項１２の発明によれば、管理サーバがノード装置の死活状態を直接監視し、異常ノード装置を単にグループから除く構成と比較して、複数のノード装置が同時に異常となった場合に、異常状態の可能性のあるノード装置を探索することができる。
請求項１３の発明によれば、管理サーバがノード装置の死活状態を直接監視し、異常ノード装置を単にグループから除く構成と比較して、異常状態の可能性のあるノード装置を探索した際に、異常検知の通知を受信した状況により、監視対象のノード装置が正常動作中であることを確認できるため、ノード装置に問い合わせる仕組み等を別途用意する必要がない。
【図面の簡単な説明】
【０００９】
【図１】本実施形態による死活管理システムの全体構成を示す図である。
【図２】ノード装置の機能構成を示す図である。
【図３】センターサーバの機能構成を示す図である。
【図４】管理サーバの機能構成を示す図である。
【図５】ノード装置の接続関係の例を示す図である。
【図６】ノード装置によるグループ内の他のノード装置に対する死活監視の動作を示すフローチャートである。
【図７】ノード装置による確認信号の送信動作を示すフローチャートである。
【図８】グループ内において異常ノード装置が発生した場合における他のノード装置の動作を示す図であり、図８（Ａ）は、三つのノード装置からなるグループの構成例を示す図、図８（Ｂ）は、一つのノード装置が異常状態となった場合の動作を示す図、図８（Ｃ）は、二つのノード装置が異常状態となった場合の動作を示す図である。
【図９】複数のグループに属すノード装置が異常状態となった場合における他のノード装置の動作を示す図である。
【図１０】複数のグループに属すノード装置を含む複数のノード装置が異常状態となった場合における他のノード装置の動作を示す図である。
【図１１】異常ノード装置が発生した際に確認信号の送受信の相手を切り替える様子を示す図であり、図１１（Ａ）は、三つのノード装置からなるグループにおいて一つのノード装置が異常状態となった状態を示す図、図１１（Ｂ）は、管理サーバからノード装置へ確認信号の送受信の相手を変更する指示を行う様子を示す図、図１１（Ｃ）は、確認信号の送受信の相手が切り替わった様子を示す図である。
【図１２】異常ノード装置が復旧した際に確認信号の送受信の相手を切り替える様子を示す図であり、図１２（Ａ）は、復旧したノード装置の動作を示す図、図１２（Ｂ）は、管理サーバからノード装置へ確認信号の送受信の相手を変更する指示を行う様子を示す図、図１２（Ｃ）は、確認信号の送受信の相手が切り替わった様子を示す図である。
【図１３】管理サーバの状態判定部による判定動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００１１】
＜システム構成＞
図１は、本実施形態による死活管理システムの全体構成を示す図である。死活管理システムは、複数のノード装置１０と、センターサーバ２０と、管理サーバ３０とを備える。図１に示すように、死活管理システムにおいては、ノード装置１０と管理サーバ３０、センターサーバ２０と管理サーバ３０がそれぞれ接続されている。また、各ノード装置１０は、後述するグループごとに相互に接続される。各装置間を接続するネットワークの種類は特に限定されない。例えば、無線通信によるアドホック・ネットワークとしても良い。一例として、ノード装置１０どうしの接続およびノード装置１０と管理サーバ３０との間の接続を無線アドホック・ネットワークによる接続とし、管理サーバ３０とセンターサーバ２０との間の接続を有線によるＬＡＮ（Local Area Network）接続等としても良い。
【００１２】
ノード装置１０は、相互に通信を行うと共に、管理サーバ３０による死活管理の対象となる装置である。複数のノード装置１０は複数のノード装置１０を含むグループに分けられ、各ノード装置１０は必ず一つ以上のグループに属す。同一のグループに属す全てのノード装置１０は、相互に接続される。すなわち、同一のグループに属す各ノード装置１０は、相互に隣接するノード装置１０である。各ノード装置１０は、自装置と同じグループに属す他のノード装置１０と確認信号（ＡＬＩＶＥ）をやり取りすることで、死活状態を相互に監視する。そして、各ノード装置１０は、他のノード装置１０から確認信号を受信しなかった場合に、確認信号を送信しなかったノード装置１０を特定した異常検知信号（ＡＬＡＲＴ）を管理サーバ３０へ送信する。
【００１３】
センターサーバ２０は、管理サーバ３０から受信する通知に基づき各ノード装置１０の状態を管理するサーバである。センターサーバ２０は、管理下にあるノード装置１０のうち、正常に動作しているノード装置１０（以下、正常ノード装置１０）に関して、時刻情報を更新することにより、いつまで正常に動作していたかを管理する。また、センターサーバ２０は、管理サーバ３０からの通知により、異常が発生したノード装置１０（以下、異常ノード装置１０）を特定すると共に、かかる異常ノード装置１０において異常が発生した時刻を管理する。
【００１４】
管理サーバ３０は、各ノード装置１０による死活状態の相互監視を管理するサーバである。また、管理サーバ３０は、各ノード装置１０が属すグループを管理する。管理サーバ３０は、ノード装置１０から異常検知信号を受信すると、その異常検知信号により特定されるノード装置１０を異常ノード装置１０として管理すると共に、異常ノード装置１０と隣接するノード装置１０を死活監視の対象とする。そして、管理サーバ３０は、死活監視の対象となったノード装置１０（以下、監視対象ノード装置１０）から一定時間以内に異常検知信号を受信した場合は、その監視対象ノード装置１０を正常ノード装置１０と判断する。一方、管理サーバ３０は、監視対象ノード装置１０から一定時間以内に異常検知信号を受信しなかった場合は、その監視対象ノード装置１０を異常ノード装置１０と判断する。管理サーバ３０は、異常検知信号および異常検知信号受信後の死活監視により特定した異常ノード装置１０の情報を、センターサーバ２０に通知する。
【００１５】
＜ノード装置の能構成＞
図２は、ノード装置１０の機能構成を示す図である。ノード装置１０は、グループ内ノードリスト保持部１１と、生存確認部１２と、異常検知信号出力部１３とを備える。
【００１６】
グループ内ノードリスト保持部１１は、グループ内ノードリストを保持する。グループ内ノードリストは、自装置と同じグループに属す他のノード装置１０のリストである。すなわち、グループ内ノードリストに記録されているノード装置１０は、自装置と隣接するノード装置１０であり、確認信号の送信先である。複数のグループに属すノード装置１０は、自装置が属すグループごとにグループ内ノードリストを保持する。自装置を含むグループの構成情報（同一グループに含まれるノード装置１０の情報）は、管理サーバ３０から取得する。
【００１７】
生存確認部１２は、グループ内ノードリストに登録されたノード装置１０との間で相互に生存確認のための処理を行う。具体的には、生存確認部１２は、一定時間ごとに（例えば、１分間隔で）、グループ内ノードリストに登録されたノード装置１０を送信先として確認信号を送信する。また、生存確認部１２は、グループ内ノードリストに登録されたノード装置１０から確認信号を受信する。そして、生存確認部１２は、グループ内ノードリストに登録されたノード装置１０から一定時間以上、確認信号を受信しない場合、そのノード装置１０を異常ノード装置１０と判断する。異常ノード装置１０と判断するための時間は、各ノード装置１０が確認信号を送信する間隔よりも長めの時間とする。例えば、確認信号の送信間隔が１分である場合、十分な余裕をもって、直前に確認信号を受信した後３分経過しても次の確認信号を受信しなければ、そのノード装置１０を異常ノード装置１０と判断するように設定しても良い。
【００１８】
異常検知信号出力部１３は、生存確認部１２の判断に基づき、異常が検知された（すなわち確認信号を送信しなかった）異常ノード装置１０を特定する情報を含む異常検知信号を出力し、管理サーバ３０へ送信する。生存確認部１２および異常検知信号出力部１３は、監視手段の一例である。また、異常検知信号出力部１３は、通知手段の一例である。
【００１９】
上記のグループ内ノードリスト保持部１１は、例えば、磁気ディスク装置や不揮発性メモリ等の記憶装置で実現される。生存確認部１２および異常検知信号出力部１３は、例えば、ＣＰＵ（Central Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＡＳＳＰ（Application Specific Standard Produce）、ＦＰＧＡ（Field Programmable Gate Array）等の演算回路、これらの演算回路とメモリとを組み合わせたＳｏＣ（System on a Chip）やシステムＬＳＩ（Large Scale Integrated circuit）等で実現される。また、確認信号の送受信および異常検知信号の送信は、例えば、ノード装置１０どうしの間およびノード装置１０と管理サーバ３０との間のネットワークに接続するネットワーク・インターフェイスを用いて行われる。
【００２０】
＜センターサーバの構成＞
図３は、センターサーバ２０の機能構成を示す図である。センターサーバ２０は、受信部２１と、時計２２と、ノード状態データベース（ＤＢ）２３とを備える。受信部２１は、管理サーバ３０から送信された通知を受信する。時計２２は、現在時刻を出力する。時計２２から出力された現在時刻は、ノード状態ＤＢ２３を更新した時刻を特定するために用いられる。
【００２１】
ノード状態ＤＢ２３は、センターサーバ２０の管理下にある各ノード装置１０の状態を管理するデータベースである。具体的には、ノード状態ＤＢ２３は、各ノード装置１０が、正常状態か（正常ノード装置１０であるか）、異常状態か（異常ノード装置１０であるか）の情報（以下、状態情報）を保持する。ノード状態ＤＢ２３は、管理サーバ３０から異常ノード装置１０の通知を受け付けると、通知内容に応じて各ノード装置１０の状態情報を更新する。また、ノード状態ＤＢ２３は、定期的に時計２２を参照して現在時刻を取得し、正常ノード装置１０が正常である最終時刻を更新する。ノード状態ＤＢ２３は、管理サーバ３０から異常ノード装置１０の通知を受け付けた際にも時計２２を参照して、正常ノード装置１０が正常である最新時刻を更新しても良い。
【００２２】
上記の受信部２１は、例えば、センターサーバ２０と管理サーバ３０との間のネットワークに接続するネットワーク・インターフェイスにより実現される。時計２２は、例えば、ＲＴＣ（Real Time Clock）により実現される。ノード状態ＤＢ２３は、例えば、演算手段であるＣＰＵ等のプロセッサと、磁気ディスク装置や不揮発性メモリ等の記憶装置とで実現される。
【００２３】
＜管理サーバの構成＞
図４は、管理サーバ３０の機能構成を示す図である。管理サーバ３０は、ノード情報データベース（ＤＢ）３１と、異常検知信号受け付け部３２と、状態判定部３３と、時計３４と、グループ管理部３５と、通知部３６とを備える。また、管理サーバ３０は、生存確認部３７と、異常検知信号出力部３８とを備える。
【００２４】
ノード情報ＤＢ３１は、管理サーバ３０の管理下にある各ノード装置１０に関する情報を管理するデータベースである。ノード情報ＤＢ３１は、各ノード装置１０の接続関係を表す接続情報を管理する。接続情報は、各ノード装置１０が何れのノード装置１０と接続し、グループを構成するのかを示すと共に、グループ間の接続関係を示す情報である。接続情報には、各ノード装置１０が確認信号の送受信を行うために用いられる送信先の（同一グループの）ノード装置１０の位置情報を含んでも良い。
【００２５】
また、ノード情報ＤＢ３１は、各ノード装置１０の状態を示す状態情報を管理する。管理サーバ３０が管理するノード装置１０の状態は、「正常」、「異常」、「監視対象」の３種類である。正常状態のノード装置１０（正常ノード装置１０）は、同じグループに属す他のノード装置１０との間で確認信号のやり取りによる死活監視を行っているノード装置１０であり、いわゆる生存しているノードである。異常状態のノード装置１０（異常ノード装置１０）は、確認信号を送信せず、同一グループの他の正常ノード装置１０により出力された異常検知信号の対象となったノード装置１０である。監視対象状態のノード装置１０は、異常ノード装置１０に隣接する（同一ノードに属す）ノード装置１０であり、異常ノード装置１０が確認信号を出力しないために正常状態か異常状態かを判別できないノード装置である。ノード情報ＤＢ３１は、異常ノード装置管理手段の一例であり、監視対象管理手段の一例であり、接続関係管理手段の一例である。
【００２６】
ノード情報ＤＢ３１は、例えば、ノード装置１０ごとに各種の情報を関連付けたテーブル等の形式で各ノード装置１０の情報を格納しても良い。また、グループごとに、各グループを構成するノード装置１０を関連付けたグループ別ノードリスト、上述したノード装置１０の状態（「正常」、「異常」、「監視対象」）ごとに、該当するノード装置１０を集めた状態別のノードリスト等の形式で各ノード装置１０の情報を格納しても良い。
【００２７】
ノード装置１０で用いられるグループ内ノードリストは、ノード情報ＤＢ３１の情報に基づいて作成される。すなわち、ノード装置１０ごとに、ノード情報ＤＢ３１に管理されているノード装置１０間の接続関係に基づき、そのノード装置１０と同一のグループに属すノード装置１０のリストが作成される。管理サーバ３０は、管理下の各ノード装置１０に対して、グループ内ノードリストを作成し、各ノード装置１０へ送る。
【００２８】
異常検知信号受け付け部３２は、ノード装置１０から送信された異常検知信号を受け付ける。異常検知信号受け付け部３２は、受け付けた異常検知信号から、異常検知信号を送信したノード装置１０と、このノード装置１０により異常状態と判断されたノード装置１０（異常ノード装置１０）の情報を抽出する。異常検知信号受け付け部３２は、受信手段の一例である。
【００２９】
状態判定部３３は、ノード装置１０の状態を判定する。状態判定部３３は、異常検知信号受け付け部３２が受け付けた異常検知信号により特定されるノード装置１０を異常状態と判定する。また、状態判定部３３は、異常ノード装置１０に隣接するノード装置１０であって、異常検知信号を送信していないノード装置１０を、監視対象状態とする。また、状態判定部３３は、監視対象状態となったノード装置１０に関して、正常状態か異常状態かを判定する。また、詳しくは後述するが、異常ノード装置１０が正常状態に復旧した場合に、異常検知信号受け付け部３２は、そのノード装置１０から異常検知信号を受け付ける。この場合、状態判定部３３は、そのノード装置１０を正常状態と判定する。状態判定部３３は、これらの判定結果に基づき、ノード情報ＤＢ３１に保持されている各ノード装置１０の情報を更新する。
【００３０】
監視対象状態となったノード装置１０の判定について、さらに説明する。状態判定部３３は、あるノード装置１０が監視対象状態となった場合に、一定時間以内に、そのノード装置１０から異常検知信号を受信するか否かに応じて、そのノード装置１０が正常状態か異常状態かを判断する。異常検知信号を受信した場合、そのノード装置１０は、異常ノード装置１０が発生したことを異常検知信号により管理サーバ３０へ報知したのであるから、状態判定部３３は、そのノード装置１０自体は正常状態であると判断する。一方、異常検知信号を受信しなかった場合、異常ノード装置１０が発生したにもかかわらず異常検知信号により管理サーバ３０へ報知しなかったのであるから、状態判定部３３は、そのノード装置１０も異常状態であると判断する。監視対象状態のノード装置１０が異常状態であると判断するまでの時間は、例えば、ノード装置１０における確認信号の送信間隔に応じて設定される。
【００３１】
時計３４は、状態判定部３３が監視対象状態のノード装置１０を異常状態と判断するための時間を測定する。時計３４は、センターサーバ２０の時計２２のように現在時刻を出力する時計であっても良いし、あるノード装置１０が監視対象状態となってからの経過時間を測定する計時装置であっても良い。状態判定部３３および時計３４は、判定手段の一例である。
【００３２】
グループ管理部３５は、ノード装置１０の接続関係（グループ構成）を管理し、接続関係が変化する場合は、ノード情報ＤＢ３１に保持されている接続情報を更新する。接続関係が変化する場合としては、異常ノード装置１０が発生した場合、異常ノード装置１０が正常状態に復旧した場合、管理対象として新たなノード装置１０が追加された場合、管理下のノード装置１０が管理対象から除外される場合等が挙げられる。また、グループ管理部３５は、管理サーバ３０が異常ノード装置１０の代わりにノード装置１０と確認信号の送受信を行う場合に、グループを構成するノード装置１０の情報を生存確認部３７に知らせる。また、グループ管理部３５は、各ノード装置１０に保持させるグループ内ノードリストを作成する。
【００３３】
通知部３６は、状態判定部３３が何れかのノード装置１０の状態が正常状態から異常状態または異常状態から正常状態へ変化したと判定した場合に、その旨をセンターサーバ２０に通知する。具体的には、通知部３６は、状態判定部３３が何れかのノード装置１０を異常状態と判定した場合に、そのノード装置１０が異常ノード装置１０となったことを通知する。また、通知部３６は、状態判定部３３が何れかの異常ノード装置１０を正常状態に復旧したと判定した場合に、その異常ノード装置１０が正常ノード装置１０となったことを通知する。
【００３４】
生存確認部３７は、異常ノード装置１０が発生した場合に、その異常ノード装置１０が属しているグループにおいて、その異常ノード装置１０に代わって、他の正常ノード装置１０との間で生存確認のための処理（確認信号の送受信）を行う。そして、生存確認部３７は、グループ内のノード装置１０から一定時間以上、確認信号を受信しない場合、そのノード装置１０を異常ノード装置１０と判断する。異常ノード装置１０か否かの判断は、ノード装置１０における生存確認部１２による判断と同様である。
【００３５】
異常検知信号出力部３８は、生存確認部３７の判断に基づき、異常ノード装置１０を特定する情報を含む異常検知信号を出力する。出力された異常検知信号は、管理サーバ３０内において異常検知信号受け付け部３２へ送られる。生存確認部３７および異常検知信号出力部３８は、死活監視手段の一例である。
【００３６】
上記のノード情報ＤＢ３１は、例えば、演算手段であるＣＰＵ等のプロセッサと、磁気ディスク装置や不揮発性メモリ等の記憶装置とで実現される。異常検知信号受け付け部３２は、例えば、管理サーバ３０とノード装置１０との間のネットワークに接続するネットワーク・インターフェイスおよび演算手段であるＣＰＵ等のプロセッサにより実現される。状態判定部３３、グループ管理部３５、生存確認部３７および異常検知信号出力部３８は、例えば、演算手段であるＣＰＵ等のプロセッサにより実現される。時計３４は、例えば、ＲＴＣ（Real Time Clock）により実現される。通知部３６は、例えば、センターサーバ２０と管理サーバ３０との間のネットワークに接続するネットワーク・インターフェイスにより実現される。
【００３７】
＜グループ構成とノード装置の動作＞
次に、ノード装置１０によるグループの構成およびグループにおけるノード装置１０の動作について説明する。上述したように、ノード装置１０は、一または複数のグループに属しており、同一グループに属す他のノード装置１０との間で確認情報を送受信することにより、各ノード装置１０の死活状態を相互監視する。
【００３８】
図５は、ノード装置１０の接続関係の例を示す図である。本実施形態において、一つのグループを構成するノード装置１０の数は特に限定されない。ただし、各グループは同じ数のノード装置１０により構成される。図５に示す例では、一つのグループが三つのノード装置１０で構成されるものとする。
【００３９】
図５を参照すると、９個のノード装置１０ａ〜１０ｉの接続関係が示されている。このうち、ノード装置１０ａ、１０ｂ、１０ｃでグループＡを構成し、ノード装置１０ｄ、１０ｅ、１０ｆでグループＢを構成し、ノード装置１０ｇ、１０ｈ、１０ｉでグループＤを構成している。また、ノード装置１０ｃ、１０ｅ、１０ｇでグループＣを構成している。すなわち、ノード装置１０ｃは、グループＡおよびグループＣに属し、ノード装置１０ｅは、グループＢおよびグループＣに属し、ノード装置１０ｇは、グループＤおよびグループＣに属す。これにより、グループＡとグループＣ、グループＢとグループＣ、グループＤとグループＣが、それぞれ接続関係にある。そして、全てのグループが何れかのノード装置１０を介してつながっている。
【００４０】
各ノード装置１０ａ〜１０ｉは、各々が属すグループＡ〜Ｄにおいて、同一グループに属す他のノード装置１０との間で確認信号を送受信する。例えば、ノード装置１０ａは、グループＡに属すノード装置１０ｂおよびノード装置１０ｃとの間で確認信号を送受信する。また、複数のグループに属すノード装置１０は、グループごとに、他のノード装置１０との間で確認信号を送受信する。例えば、ノード装置１０ｃは、グループＡにおいてノード装置１０ａおよびノード装置１０ｂとの間で確認信号を送受信すると共に、グループＣにおいてノード装置１０ｅおよびノード装置１０ｇとの間で確認信号を送受信する。
【００４１】
図６は、ノード装置１０によるグループ内の他のノード装置１０に対する死活監視の動作を示すフローチャートである。事前の設定として、各ノード装置１０は、自装置が属すグループのグループ内ノードリスト（監視対象のノード装置１０のリスト）を管理サーバ３０から取得し、グループ内ノードリスト保持部１１に保持している。
【００４２】
ノード装置１０は、グループ内ノードリストを参照し、監視対象であるグループ内のノード装置１０（以下、対象ノード装置１０）の情報を取得する（Ｓ６０１）。そして、ノード装置１０は、対象ノード装置１０から確認信号が送信されるのを待つ（Ｓ６０２）。ノード装置１０は、予め設定された時間以内に対象ノード装置１０から確認信号を受信した場合（Ｓ６０３でＹｅｓ）、その確認信号を送信した対象ノード装置１０が正常状態であると判断し、Ｓ６０２へ戻り、次の確認信号が送信されるのを待つ。
【００４３】
一方、対象ノード装置１０から確認信号を受信せずに設定時間が経過した場合（Ｓ６０３でＮｏ）、ノード装置１０は、その対象ノード装置１０を対象とする異常検知信号を管理サーバ３０へ送信する（Ｓ６０４）。管理サーバ３０では、受信した異常検知信号により対象ノード装置１０が異常ノード装置１０として登録され、ノード装置１０のグループから除外される。そして、除外されたノード装置１０に代わり、管理サーバ３０の生存確認部３７が、このグループにおける死活監視（確認信号の送受信）を行う。管理サーバ３０は、このグループに属すノード装置１０に対し、管理サーバ３０を新たな監視対象とする旨の指示を配信する。ノード装置１０は、受信した指示に基づき、グループ内ノードリストを更新し（Ｓ６０５）、監視対象を変更してＳ６０１へ戻る。
【００４４】
図７は、ノード装置１０による確認信号の送信動作を示すフローチャートである。事前の設定として、各ノード装置１０は、自装置が属すグループのグループ内ノードリスト（確認信号の送信先のノード装置１０のリスト）を管理サーバ３０から取得し、グループ内ノードリスト保持部１１に保持している。
【００４５】
ノード装置１０は、グループ内ノードリストを参照し、確認信号の送信先であるグループ内のノード装置１０（以下、送信先ノード装置１０）の情報を取得する（Ｓ７０１）。そして、ノード装置１０は、送信先ノード装置１０へ確認信号を送信する（Ｓ７０２）。ノード装置１０は、管理サーバ３０から確認信号の送信先の変更指示を受け付けなければ（Ｓ７０３でＮｏ）、一定時間停止した後（Ｓ７０４）にＳ７０２へ戻ることにより、定期的に確認信号の送信を行う。一方、ノード装置１０は、管理サーバ３０から確認信号の送信先の変更指示を受け付けた場合（Ｓ７０３でＹｅｓ）、受け付けた指示に基づき、グループ内ノードリストを更新し（Ｓ７０５）、確認信号の送信先を変更してＳ７０１へ戻る。
【００４６】
＜ノード装置による異常検知信号の送信＞
図８は、グループ内において異常ノード装置１０が発生した場合における他のノード装置１０の動作を示す図である。図８（Ａ）は、三つのノード装置１０からなるグループの構成例を示す図、図８（Ｂ）は、一つのノード装置１０が異常状態となった場合の動作を示す図、図８（Ｃ）は、二つのノード装置１０が異常状態となった場合の動作を示す図である。
【００４７】
図８（Ａ）に示すノード装置１０のグループは、三つのノード装置１０ａ、１０ｂ、１０ｃにより構成されている。各ノード装置１０ａ、１０ｂ、１０ｃは、確認信号を送受信することにより、相互に死活監視を行っている。確認信号の送受信の様子を実線の矢印で示している。以下の図においても同様に表現する。
【００４８】
ここで、ノード装置１０ｃが異常状態となり、確認信号の送受信ができなくなったものとする。すると、図８（Ｂ）に示すように、他のノード装置１０ａ、１０ｂは、ノード装置１０ｃから確認信号を受信しないため、異常検知信号を管理サーバ３０へ送信する。図８（Ｂ）では、ノード装置１０ｃが確認信号を送信できなくなったことを、確認信号の送信を示す矢印を破線で記載することにより示している。また、図８（Ｂ）では、ノード装置１０ｃが異常状態となったことを、バツ印（×）を付すことで示している。以下の図においても同様に表現する。
【００４９】
また、図示のグループにおいて、二つのノード装置１０ｂ、１０ｃが異常状態となり、確認信号の送受信ができなくなったものとする。すると、図８（Ｃ）に示すように、正常なノード装置１０ａが、ノード装置１０ｂに関する異常検知信号と、ノード装置１０ｃに関する異常検知信号とを管理サーバ３０へ送信する。
【００５０】
以上のように、本実施形態によれば、同一グループに属すノード装置１０どうしが相互に死活監視を行い、異常状態となったノード装置１０がある場合に、他のノード装置１０が管理サーバ３０へ報知する。したがって、一つのグループ内に一つ以上の正常なノード装置１０があれば、そのノード装置１０からの報知により、何れのノード装置１０が異常状態となったかを特定し得る。なお、同一グループに属す全てのノード装置１０は、他のノード装置１０と確認信号を直接やり取りする（隣接している）ので、グループを構成するノード装置１０の数が三つ以上であっても同様に、異常状態となったノード装置１０を特定し得る。
【００５１】
図９は、複数のグループに属すノード装置１０が異常状態となった場合における他のノード装置１０の動作を示す図である。図９に示す例では、１３個のノード装置１０ａ〜１０ｍにより６個のグループＡ〜Ｆが構成されている。具体的には、ノード装置１０ａ、１０ｂ、１０ｃでグループＡを構成し、ノード装置１０ｄ、１０ｅ、１０ｆでグループＢを構成し、ノード装置１０ｃ、１０ｅ、１０ｇでグループＣを構成し、ノード装置１０ｇ、１０ｈ、１０ｉでグループＤを構成し、ノード装置１０ｈ、１０ｊ、１０ｋでグループＥを構成し、ノード装置１０ｉ、１０ｌ、１０ｍでグループＦを構成している。そして、５個のノード装置１０ｃ、１０ｅ、１０ｇ、１０ｈ、１０ｉが、それぞれ２グループに属している。
【００５２】
ここで、ノード装置１０ｇが異常状態となり、確認信号の送受信ができなくなったものとする。ノード装置１０ｇは、グループＣとグループＤに属している。したがって、グループＣに属す他のノード装置１０ｃ、１０ｅと、グループＤに属す他のノード装置１０ｈ、１０ｉとが、それぞれ管理サーバ３０へ異常検知信号を送信する。
【００５３】
図１０は、複数のグループに属すノード装置１０を含む複数のノード装置１０が異常状態となった場合における他のノード装置１０の動作を示す図である。図１０に示す例では、図９に示した例と同様に１３個のノード装置１０ａ〜１０ｍにより６個のグループＡ〜Ｆが構成されている。
【００５４】
図１０に示す例では、５個のノード装置１０ｇ、１０ｈ、１０ｉ、１０ｊ、１０ｋが異常状態となっている。ここで、ノード装置１０ｇ、１０ｈ、１０ｉはグループＤを構成しており、ノード装置１０ｈ、１０ｊ、１０ｋはグループＥを構成している。したがって、グループＤおよびグループＥは、グループを構成する全てのノード装置１０が異常状態である。グループを構成する全てのノード装置１０が異常状態である場合、そのグループのノード装置１０からは異常検知信号が出力されない。しかし、ノード装置１０が他のグループにも属している場合、かかる他のグループのノード装置１０から異常検知信号が出力され得る。以下、個別に検討する。
【００５５】
ノード装置１０ｃに着目すると、ノード装置１０ｃは、グループＣおよびグループＤに属す。グループＣでは、ノード装置１０ｇ以外のノード装置１０ｃ、１０ｅは正常状態である。したがって、正常ノード装置１０ｃ、１０ｅから管理サーバ３０へ、ノード装置１０ｇを対象とする異常検知信号が送信される。これにより、管理サーバ３０は、ノード装置１０ｇが異常状態となったことを認識する。一方、グループＤでは、ノード装置１０ｇ、１０ｈ、１０ｉの全てが異常状態であるため、何れも確認信号を送受信して死活監視を行うことができない。
【００５６】
次に、ノード装置１０ｈに着目すると、ノード装置１０ｈは、グループＤおよびグループＥに属す。グループＤでは、ノード装置１０ｇ、１０ｈ、１０ｉの全てが異常状態であるため、何れも確認信号を送受信して死活監視を行うことができない。また、グループＥでは、ノード装置１０ｈ、１０ｊ、１０ｋの全てが異常状態であるため、何れも確認信号を送受信して死活監視を行うことができない。したがって、管理サーバ３０は、何れのノード装置１０からもノード装置１０ｈを対象とする異常検知信号を受信しない。
【００５７】
次に、ノード装置１０ｉに着目すると、ノード装置１０ｉは、グループＤおよびグループＦに属す。グループＤでは、ノード装置１０ｇ、１０ｈ、１０ｉの全てが異常状態であるため、何れも確認信号を送受信して死活監視を行うことができない。一方、グループＦでは、ノード装置１０ｉ以外のノード装置１０ｌ、１０ｍは正常状態である。したがって、正常ノード装置１０ｌ、１０ｍから管理サーバ３０へ、ノード装置１０ｇを対象とする異常検知信号が送信される。これにより、管理サーバ３０は、ノード装置１０ｇが異常状態となったことを認識する。
【００５８】
次に、ノード装置１０ｊおよびノード装置１０ｋに着目すると、これらのノード装置１０ｊ、１０ｋは、何れもグループＥにのみ属す。そして、グループＥでは、ノード装置１０ｈ、１０ｊ、１０ｋの全てが異常状態であるため、何れも確認信号を送受信して死活監視を行うことができない。したがって、管理サーバ３０は、何れのノード装置１０からもノード装置１０ｊを対象とする異常検知信号およびノード装置１０ｋを対象とする異常検知信号を受信しない。
【００５９】
以上のように、複数のノード装置１０が同時に異常状態になると、特定の異常ノード装置１０に関して何れのノード装置１０からも異常検知信号が出力されないということが起こり得る。そこで、管理サーバ３０は、異常状態である可能性のあるノード装置１０を監視対象ノード装置１０として、この監視対象ノード装置１０の動作に基づき、監視対象ノード装置１０が正常状態か異常状態かを判断する。
【００６０】
図１０に示した例において、グループＤのノード装置１０ｇ、１０ｈ、１０ｉに着目する。このうち、ノード装置１０ｈに関しては何れのノード装置１０からも異常検知信号が出力されないが、ノード装置１０ｇに関しては、グループＣのノード装置１０ｃ、１０ｅから異常検知信号が出力され、ノード装置１０ｉに関しては、グループＦのノード装置１０ｌ、１０ｍから異常検知信号が出力される。したがって、管理サーバ３０は、ノード装置１０ｇおよびノード装置１０ｉは、異常状態と判断する。ここで、グループＤに着目すると、ノード装置１０ｈが正常状態であれば、異常状態となったノード装置１０ｇ、１０ｉを対象とする異常検知信号を出力するはずである。そこで、管理サーバ３０は、予め設定された一定時間、ノード装置１０ｈから異常検知信号が送信されるのを待つ。そして、ノード装置１０ｈから異常検知信号を受信した場合は、ノード装置１０ｈを正常状態と判断し、ノード装置１０ｈから異常検知信号を受信せずに設定時間が経過した場合は、ノード装置１０ｈを異常状態と判断する。
【００６１】
ノード装置１０ｈが異常状態であると判断した後、次に、ノード装置１０ｈが属すもう一つのグループであるグループＥのノード装置１０ｈ、１０ｊ、１０ｋに着目する。ここで、ノード装置１０ｊが正常状態であれば、異常状態となったノード装置１０ｈを対象とする異常検知信号を出力するはずである。同様に、ノード装置１０ｋが正常状態であれば、異常状態となったノード装置１０ｈを対象とする異常検知信号を出力するはずである。そこで、管理サーバ３０は、予め設定された一定時間、ノード装置１０ｊ、１０ｋから異常検知信号が送信されるのを待つ。そして、ノード装置１０ｊから異常検知信号を受信した場合は、ノード装置１０ｊを正常状態と判断し、ノード装置１０ｊから異常検知信号を受信せずに設定時間が経過した場合は、ノード装置１０ｊを異常状態と判断する。同様に、ノード装置１０ｋから異常検知信号を受信した場合は、ノード装置１０ｋを正常状態と判断し、ノード装置１０ｋから異常検知信号を受信せずに設定時間が経過した場合は、ノード装置１０ｋを異常状態と判断する。
【００６２】
＜管理サーバによるノード装置の死活監視＞
本実施形態では、異常ノード装置１０が発生すると、その異常ノード装置１０が属すグループの各ノード装置１０による死活状態の相互監視を維持するため、異常ノード装置１０に代わり、管理サーバ３０の生存確認部３７が確認信号の送受信を行う。また、異常ノード装置１０が復旧すると、管理サーバ３０は、復旧したノード装置１０のグループ内での動作に基づいてノード装置１０の復旧を認識し、グループ内における死活状態の相互監視に復帰させる。
【００６３】
図１１は、異常ノード装置１０が発生した際に確認信号の送受信の相手を切り替える様子を示す図である。図１１（Ａ）は、三つのノード装置１０からなるグループにおいて一つのノード装置１０が異常状態となった状態を示す図、図１１（Ｂ）は、管理サーバ３０からノード装置１０へ確認信号の送受信の相手を変更する指示を行う様子を示す図、図１１（Ｃ）は、確認信号の送受信の相手が切り替わった様子を示す図である。
【００６４】
図１１に示すノード装置１０のグループは、三つのノード装置１０ａ、１０ｂ、１０ｃにより構成されている。各ノード装置１０ａ、１０ｂ、１０ｃは、確認信号を送受信することにより、相互に死活監視を行っている。このグループにおいて、図１１（Ａ）に示すように、ノード装置１０ｃが異常状態となって確認信号の送受信ができなくなった場合、ノード装置１０ａおよびノード装置１０ｂからノード装置１０ｃを対象とする異常検知信号が管理サーバ３０へ送信される。
【００６５】
管理サーバ３０は、ノード装置１０ｃが異常状態と判断すると、図１１（Ｂ）に示すように、同じグループの他のノード装置１０ａ、１０ｂに対し、確認信号の送受信の相手をノード装置１０ｃから管理サーバ３０（生存確認部３７）に切り替えるように指示する。これにより、ノード装置１０ａ、１０ｂは、図１１（Ｃ）に示すように、ノード装置１０ｃの代わりに管理サーバ３０を含めて確認信号を送受信し、死活状態の相互監視を行う。
【００６６】
図１２は、異常ノード装置１０が復旧した際に確認信号の送受信の相手を切り替える様子を示す図である。図１２（Ａ）は、復旧したノード装置１０の動作を示す図、図１２（Ｂ）は、管理サーバ３０からノード装置１０へ確認信号の送受信の相手を変更する指示を行う様子を示す図、図１２（Ｃ）は、確認信号の送受信の相手が切り替わった様子を示す図である。
【００６７】
図１２に示すノード装置１０のグループは、図１１に示したものと同様である。図１１において異常状態となったノード装置１０ｃが、復旧したものとする。図１２（Ａ）に示すように、復旧したノード装置１０ｃは、同一グループに属すノード装置１０ａ、１０ｂから確認信号を受信しないため、異常検知信号を管理サーバ３０へ送信する。
【００６８】
管理サーバ３０は、ノード装置１０ｃからの異常検知信号により、ノード装置１０ｃが復旧したことを認識し、図１２（Ｂ）に示すように、同じグループの他のノード装置１０ａ、１０ｂに対し、確認信号の送受信の相手を管理サーバ３０からノード装置１０ｃに切り替えるように指示する。これにより、ノード装置１０ａ、１０ｂは、図１２（Ｃ）に示すように、確認信号の送受信の相手を管理サーバ３０からノード装置１０ｃに戻し、死活状態の相互監視を行う。
【００６９】
図１３は、管理サーバ３０の状態判定部３３による判定動作を示すフローチャートである。管理サーバ３０の異常検知信号受け付け部３２が異常検知信号を受け付けると（Ｓ１３０１）、状態判定部３３は、異常検知信号を送信したノード装置１０がノード情報ＤＢ３１において異常ノード装置１０として登録されたノード装置１０か否かを判断する。以上検知信号の送信元が異常ノード装置１０であった場合（Ｓ１３０２でＹｅｓ）、その異常ノード装置１０が正常状態に復旧したことを意味する。そこで、管理サーバ３０は、そのノード装置１０と同じグループの他のノード装置１０に対し、死活状態の相互監視の対象としてそのノード装置１０を復帰させるように指示する（Ｓ１３０３）。また、状態判定部３３は、そのノード装置１０を正常ノード装置１０としてノード情報ＤＢ３１に登録する（Ｓ１３０４）。
【００７０】
異常検知信号の送信元が異常ノード装置１０でなかった場合（Ｓ１３０２でＮｏ）、状態判定部３３は、異常検知信号により示される（確認信号を送信しない）ノード装置１０を異常ノード装置１０としてノード情報ＤＢ３１に登録する（Ｓ１３０５）。そして、状態判定部３３は、異常ノード装置１０に隣接するノード装置１０の情報をノード情報ＤＢ３１から取得する（Ｓ１３０６）。
【００７１】
次に、状態判定部３３は、監視対象ノード装置１０が存在するか否かを判断する。監視対象ノード装置１０は、異常ノード装置１０に隣接するノード装置１０であって、正常状態か異常状態か確認できないノード装置１０である。言い換えれば、異常ノード装置１０に隣接し、異常ノード装置１０を対象とする異常検知信号を管理サーバ３０へ送信していないノード装置１０である。監視対象ノード装置１０が存在しない場合（Ｓ１３０７でＮｏ）、通知部３６が、状態判定部３３により更新されたノード情報ＤＢ３１の内容に基づき、新たな異常ノード装置１０の情報をセンターサーバ２０へ通知する（Ｓ１３０８）。
【００７２】
一方、監視対象ノード装置１０が存在する場合（Ｓ１３０７でＹｅｓ）、管理サーバ３０は、予め設定された時間、監視対象ノード装置１０から異常検知信号を送信されるのを待つ（Ｓ１３０９）。そして、設定時間内に異常検知信号を受信した場合（Ｓ１３１０でＹｅｓ）、状態判定部３３は、Ｓ１３０６に戻り、改めて、異常ノード装置１０に隣接するノード装置１０の情報をノード情報ＤＢ３１から取得する。
【００７３】
これに対し、設定時間内に異常検知信号を受信しなかった場合（Ｓ１３１０でＮｏ）、状態判定部３３は、監視対象ノード装置１０を異常ノード装置１０としてノード情報ＤＢ３１に登録する（Ｓ１３１１）。そして、状態判定部３３は、Ｓ１３０６に戻り、改めて、異常ノード装置１０に隣接するノード装置１０の情報をノード情報ＤＢ３１から取得する。
【００７４】
＜グループの更新＞
上述したように、本実施形態では、管理対象のノード装置１０を、同数のノード装置１０を含むグループに分け、同一グループに属すノード装置１０どうしで死活状態の相互監視を行った。そして、異常ノード装置１０が発生した場合、その異常ノード装置１０をグループから除くと共に、管理サーバ３０がノード装置１０に代わって確認信号の送受信を担うことにより、グループ内での死活状態の相互監視を維持した。このように構成することで、異常ノード装置１０が正常状態に復旧した場合に、以前のグループに復帰させることが容易となる。
【００７５】
一方、ノード装置１０の変化に応じてグループの構成を更新しても良い。例えば、新たなノード装置１０が追加されたり、管理下のノード装置１０が管理対象から解除されたりすることにより、異常ノード装置１０を一時的にグループから除く場合とは異なり、管理対象のノード装置１０の数が変わる場合がある。このような場合は、グループを再編成することにより、管理サーバ３０の負荷の増大を抑制し得る。
【００７６】
本実施形態では、グループは同数のノード装置１０で構成されることとした。しかし、各ノード装置１０は複数のグループに属し得るので、ノード装置１０の総数は、グループに属すノード装置１０の数の倍数でなくても良い。しかし、実際には、ノード装置１０の配置等を考慮すると、グループを構成できないノード装置１０が生じる場合があり得る。そこで、そのような余りのノード装置１０が存在する場合は、管理サーバ３０を含んでグループを構成し、確認信号の送受信を行っても良い。
【００７７】
以上、本発明の実施形態について説明したが、本発明の技術的範囲は上記実施形態には限定されない。上記の実施形態では、一つのグループを構成するノード装置１０の数が三つである場合を例として説明したが、同一グループに属す各ノード装置１０が直接接続され（隣接関係にあり）、確認信号を相互に送受信できる関係であれば、四つ以上のノード装置１０でグループを構成しても良い。
【００７８】
また、あるグループのノード装置１０が異常状態となった場合に、異常ノード装置１０の代わりに管理サーバ３０が死活状態の相互監視を行うこととした。これは、一つのグループにおいて複数のノード装置１０が異常となった場合も同様である。すなわち、管理サーバ３０は、一つのグループに属す複数のノード装置１０の代わりに死活状態の相互監視を行っても良い。
【００７９】
また、上記の実施形態では、ノード装置１０を管理するセンターサーバ２０と、ノード装置１０による死活状態の相互監視を管理する管理サーバ３０とを別個に設けたが、これらを一つのサーバの機能として構成しても良い。また、管理サーバ３０の構成は、単体のサーバマシンに限定されず、ネットワーク上に設けられた複数のサーバマシンに分散させて管理サーバ３０の機能を実現しても良い（いわゆるクラウド環境等）。その他、本発明の技術思想の範囲から逸脱しない様々な変更や構成の代替は、本発明に含まれる。
【符号の説明】
【００８０】
１０…ノード装置、１１…グループ内ノードリスト保持部、１２…生存確認部、１３…異常検知信号出力部、２０…センターサーバ、２１…受信部、２２…時計、２３…ノード状態データベース（ＤＢ）、３０…管理サーバ、３１…ノード情報データベース（ＤＢ）、３２…異常検知信号受け付け部、３３…状態判定部、３４…時計、３５…グループ管理部、３６…通知部、３７…生存確認部、３８…異常検知信号出力部
【図１】
2020047054.tif 000003
【図２】
2020047054.tif 000004
【図３】
2020047054.tif 000005
【図４】
2020047054.tif 000006
【図５】
2020047054.tif 000007
【図６】
2020047054.tif 000008
【図７】
2020047054.tif 000009
【図８】
2020047054.tif 000010
【図９】
2020047054.tif 000011
【図１０】
2020047054.tif 000012
【図１１】
2020047054.tif 000013
【図１２】
2020047054.tif 000014
【図１３】
2020047054.tif 000015