(57)【要約】【課題】クラスタシステムのノード数が増加しても、死活監視のための通信の増大を抑制可能とする。【解決手段】サーバ１０は、複数のサーバを含むクラスタシステムに用いられる。リーダー選出部１１は、複数のサーバ１０のうちの１つをリーダーとして選出する。キープアライブ通信制御部１２は、自サーバがリーダーである場合は、クラスタシステムに含まれる他のサーバにキープアライブを送信して他のサーバを監視する。キープアライブ通信制御部１２は、自サーバがリーダーでない場合は、リーダーであるサーバからキープアライブを受信し、それに対する応答をリーダーに送信する。ノード状態記録部１３は、自サーバがリーダーである場合に、キープアライブ通信制御部における監視の結果を記録する。【選択図】図１
2018056633.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバを含むクラスタシステムに使用されるサーバであって、
前記複数のサーバのうちの１つのサーバをリーダーとして選出するリーダー選出部と、
自サーバがリーダーである場合は、前記クラスタシステムに含まれる他のサーバにキープアライブを送信して他のサーバを監視し、自サーバがリーダーでない場合は、リーダーであるサーバから前記キープアライブを受信し、該キープアライブに対する応答を前記リーダーであるサーバに送信するキープアライブ通信制御部と、
自サーバがリーダーである場合に、前記キープアライブ通信制御部における監視の結果を記録するノード状態記録部とを備えるサーバ。
【請求項２】
前記他のサーバは、それぞれ、自ノードの停止時に前記リーダーであるサーバにノードの停止通知を送信し、
ノード状態記録部は、自サーバがリーダーである場合、前記キープアライブに対して応答せず、かつ前記停止通知を受け取っていないサーバを無応答ノードとして記録する請求項１に記載のサーバ。
【請求項３】
前記ノード状態記録部は、自サーバがリーダーである場合、前記停止通知の送信元のサーバを、停止ノードとして記録する請求項２に記載のサーバ。
【請求項４】
自サーバがリーダーである場合に、前記無応答ノードとして記録されたサーバを停止させるノード停止制御部を更に有する請求項２又は３に記載のサーバ。
【請求項５】
前記ノード停止制御部は、前記無応答ノードとして記録されたサーバの数が前記クラスタシステムに含まれるサーバの数の半分以下の場合に、前記無応答ノードとして記録されたサーバを停止させる請求項４に記載のサーバ。
【請求項６】
前記リーダー選出部は、自サーバがリーダーである場合で、かつ前記無応答ノードとして記録されたサーバの数が前記クラスタシステムに含まれるサーバの数の半分を超える場合は、新たなリーダーの選出を実施する請求項５に記載のサーバ。
【請求項７】
複数のサーバを含むクラスタシステムであって、
前記複数のサーバのうちの１つがリーダーとして選出され、
前記リーダーして選出されたサーバが、他のサーバにキープアライブを送信して他のサーバを監視し、
前記他のサーバはキープアライブに対する応答を前記リーダーとして選出されたサーバに送信するクラスタシステム。
【請求項８】
複数のサーバを含むクラスタシステムにおいてリーダーとして動作するサーバの動作方法であって、
前記クラスタシステムに含まれる他のサーバにキープアライブを送信するステップと、
前記他のサーバからキープアライブに対する応答を受信するステップと、
前記応答を受信できたか否かを示す監視結果をノード状態記録部に記録するステップとを有するサーバの動作方法。
【請求項９】
複数のサーバを含むクラスタシステムにおいてリーダーとして動作するサーバに、
前記クラスタシステムに含まれる他のサーバにキープアライブを送信するステップと、
前記他のサーバからキープアライブに対する応答を受信するステップと、
前記応答を受信できたか否かを示す監視結果をノード状態記録部に記録するステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタシステムに関し、更に詳しくは、複数のサーバを含むクラスタシステムに関する。
【０００２】
また、本発明は、クラスタシステムに用いられるサーバ、その動作方法、及びプログラムに関する。
【背景技術】
【０００３】
複数のコンピュータを束ねて一体として動作させるクラスタシステムが知られている。クラスタシステムのうち、システムの可用性（availability）を高めるために構築されたものは、高可用クラスタシステムと呼ばれる。高可用クラスタシステムは、ネットワークを介して相互に接続された複数のノード（サーバ）を含む。
【０００４】
高可用クラスタシステムにおいて、各ノードは、ネットワークを経由して互いに死活監視を行う。高可用クラスタシステムでは、ある業務はただ一つのノードで実行され、その業務が正常に実行されている可否かが監視される。高可用クラスタシステムは、業務が実行されていたノードが停止したことを検知すると別のノードにその業務を引き継ぐ機能と、業務の監視が異常を検知すると別のノードにその業務を引き継ぐ機能とを持つ。高可用クラスタシステムでは、クラスタ内のあるノードが通信不能であると判断されると、当該ノードが停止したと判断され、そのノード上で動作していた業務が他ノードで起動される。
【０００５】
クラスタシステムに関して、特許文献１は、正常なノードがサービスを継続するシステムを開示する。特許文献１では、ノードがサービス処理を実行できる割当て時間と、ノードごとに設定された割当て時間の優先順位とを含む定義情報が用いられる。特許文献１において、クラスタシステムを構成する２つのサーバ（ノード）間の通信が不通になると、各ノードは、定義情報に基づいて、次の割当て時間の開始時刻を算出する。各ノードは、算出された開始時刻まで、所定のサービス（業務）処理の起動を遅延する。各ノードは、割当て時間の開始時刻になると、業務処理を起動し、割当て時間内に業務が実行できれば業務処理を継続し、業務が実行できなければ動作を停止する。
【０００６】
また、クラスタシステムに関して、特許文献２は、スプリットブレインの発生時に、クライアントに対してサービスを提供するマスタノードを選択することを開示する。特許文献２において、各ノードのクラスタ管理部は、相互にハートビート通信を行うことでノード障害を検出する。各ノードの重み付け処理部は、ノードのサービスの開始に関する状態をチェックし、そのチェックされた状態に応じて、共有ストレージ装置に格納されている重み情報中の自ノードの重みを更新する。各ノードのタイブレーカ機構は、更新された重み情報が示す重みに基づいて自ノードの優先順位が最も高いか否かを判定し、最も優先順位が高い場合に自ノードをマスタノードとして選択する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−４８４７７号公報
【特許文献２】特開２００９−２２３５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１及び２では、それぞれのノードが他のノードの死活監視を行っている。このため、ノード数が増加すると、それに伴い死活監視のための通信量が増大する。例えばＮを２以上の整数として、クラスタシステムを構成するノードの数がＮであった場合、クラスタシステムにおいて死活監視のための通信の数はＮ（Ｎ−１）／２になる。特許文献１及び２において、ノード数が増加すると通信負荷が増大し、通信の管理も複雑となる。
【０００９】
本発明は、上記事情に鑑み、ノード数が増加しても死活監視のための通信の増大を抑制可能なクラスタシステムを提供することを目的とする。
【００１０】
また、本発明は、上記クラスタシステムに用いられるサーバ、そのサーバの動作方法、及びプラグラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、複数のサーバを含むクラスタシステムに使用されるサーバであって、前記複数のサーバのうちの１つのサーバをリーダーとして選出するリーダー選出部と、自サーバがリーダーである場合は、前記クラスタシステムに含まれる他のサーバにキープアライブを送信して他のサーバを監視し、自サーバがリーダーでない場合は、リーダーであるサーバから前記キープアライブを受信し、該キープアライブに対する応答を前記リーダーであるサーバに送信するキープアライブ通信制御部と、自サーバがリーダーである場合に、前記キープアライブ通信制御部における監視の結果を記録するノード状態記録部とを備えるサーバを提供する。
【００１２】
本発明は、また、複数のサーバを含むクラスタシステムであって、前記複数のサーバのうちの１つがリーダーとして選出され、前記リーダーして選出されたサーバが、他のサーバにキープアライブを送信して他のサーバを監視し、前記他のサーバはキープアライブに対する応答を前記リーダーとして選出されたサーバに送信するクラスタシステムを提供する。
【００１３】
さらに、本発明は、複数のサーバを含むクラスタシステムにおいてリーダーとして動作するサーバの動作方法であって、前記クラスタシステムに含まれる他のサーバにキープアライブを送信するステップと、前記他のサーバからキープアライブに対する応答を受信するステップと、前記応答を受信できたか否かを示す監視結果をノード状態記録部に記録するステップとを有するサーバの動作方法を提供する。
【００１４】
本発明は、複数のサーバを含むクラスタシステムにおいてリーダーとして動作するサーバに、前記クラスタシステムに含まれる他のサーバにキープアライブを送信するステップと、前記他のサーバからキープアライブに対する応答を受信するステップと、前記応答を受信できたか否かを示す監視結果をノード状態記録部に記録するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１５】
本発明のクラスタシステム、サーバ、サーバの動作方法、及びプログラムは、クラスタシステムのノード数が増加しても死活監視のための通信の増大を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明のクラスタシステムに用いられるサーバを示すブロック図。
【図２】本発明の一実施形態に係るクラスタシステムを示すブロック図。
【図３】サーバの構成を示すブロック図。
【図４】リーダー選出時の動作手順を示すフローチャート。
【図５】リーダーノード処理の動作手順を示すフローチャート。
【図６】非リーダーノード処理の動作手順を示すフローチャート
【発明を実施するための形態】
【００１７】
本発明の実施の形態の説明に先立って、本発明の概要を説明する。図１は、本発明のクラスタシステムに用いられるサーバを示す。サーバ１０は、リーダー選出部１１、キープアライブ通信制御部１２、及びノード状態記録部１３を有する。クラスタシステムには、複数のサーバ１０が含まれる。
【００１８】
リーダー選出部１１は、クラスタシステムに含まれる複数のサーバ１０のうちの１つをリーダーとして選出する。キープアライブ通信制御部１２は、自サーバがリーダーである場合は、クラスタシステムに含まれる他のサーバ１０にキープアライブを送信し、他のサーバを監視する。キープアライブ通信制御部１２は、自サーバがリーダーではない場合は、リーダーであるサーバ１０からキープアライブを受信し、受信したキープアライブに対する応答をリーダーであるサーバ１０に送信する。ノード状態記録部１３は、自サーバがリーダーである場合、キープアライブ通信制御部における監視の結果を記録する。
【００１９】
本発明では、クラスタシステムを構成する複数のサーバの１つがリーダーとして選出される。リーダーとして選出されたサーバは、残りのサーバにキープアライブを送信し、キープアライブに対する応答を受信する。リーダーとして選出されたサーバは、キープアライブに対する応答の有無に基づいて、残りのサーバの稼動状態を監視する。本発明では、リーダーとして選出されたサーバと残りのサーバのそれぞれとの間でキープアライブ及びそれに対する応答の通信を行えばよいため、クラスタシステムのノード数が増加しても死活監視のための通信の増大を抑制することができる。
【００２０】
以下、図面を参照しつつ、本発明の実施の形態を詳細に説明する。図２は、本発明の一実施形態に係るクラスタシステムを示す。クラスタシステム１００は、Ｎを３以上の整数として、サーバ１１０−１〜１１０−Ｎを有する。これらサーバ１１０−１〜１１０−Ｎは、典型的には、プロセッサ、メモリ、及び補助記憶装置などを有するコンピュータ装置である。サーバ１１０−１〜１１０−Ｎは、ネットワークを介して相互に接続される。サーバ１１０−１〜１１０−Ｎは、例えば高可用クラスタシステムを構成する。なお、以下の説明では、複数のサーバを特に区別する必要がない場合は、サーバ１１０とも呼ぶ。
【００２１】
本実施形態では、クラスタシステム１００において、複数のサーバ１１０のうちの１つがリーダーとして動的に選出される。リーダーとして選出されたサーバ１１０は、定期的に残りのサーバ１１０にキープアライブを送信し、それに対する応答を受信することで、残りのサーバ１１０の死活監視を行う。リーダーではない残りのサーバ１１０は、リーダーから送信されるキープアライブを用いて、リーダーとして選出されたサーバ１１０の死活監視を行う。
【００２２】
ここで、キープアライブに対して応答を返さないサーバには、動作を停止しているサーバと、何らかの理由でネットワークから切り離されてリーダーと通信不能になったサーバとが含まれる。以下では、動作を停止しているサーバを停止ノードとも呼び、リーダーと通信不能になったサーバを無応答ノードとも呼ぶ。無応答ノードと停止ノードを区別するため、各サーバ１１０は、その停止処理において、リーダーとして選出されたサーバ１１０に停止通知を送信するものとする。停止通知を送信しておらず、かつキープアライブに対して応答を返さないサーバは、無応答ノードとして取り扱われる。
【００２３】
本実施形態において、複数のサーバ１１０のそれぞれは、外部から強制停止の指示を受け付ける機能を有している。リーダーとして選出されたサーバ１１０は、無応答ノードを検出すると、無応答ノードを強制的に停止させることができる。例えば、リーダーとして選出されたサーバ１１０は、無応答ノードのサーバ１１０が物理マシンであれば、ＩＰＭＩ（Intelligent Platform Management Interface）に準拠するＢＭＣ(Baseboard Management Controller)を利用して外部から電源断を実行する。リーダーとして選出されたサーバ１１０は、無応答ノードのサーバ１１０が仮想化環境上の仮想マシンであれば、ホストマシンに対する当該仮想マシンの強制停止要求を実行する。
【００２４】
リーダーとして選出されたサーバ１１０が停止する場合、他に動作しているサーバ１１０があればリーダー選出が再度実行される。リーダーとして選出されていたサーバ１１０は、新たにリーダーとして選出されたサーバ１１０がリーダーとしての動作を開始してから、停止処理を実行する。リーダーとして選出されたサーバ１１０は、他に動作しているサーバ１１０がない場合は、そのまま停止処理を実行する。
【００２５】
クラスタシステム１００において、リーダーとして選出されたサーバ１１０が、何らかの理由で他のサーバ１１０と通信できなくなる場合も考えられる。そのような場合に対応するため、リーダーとして選出されたサーバ１１０は、クラスタ内の半数以上のサーバ１１０と通信が可能な場合にリーダーを維持できるものとする。
【００２６】
図３は、サーバ１１０の構成を示す。サーバ１１０は、リーダー選出部１１１、キープアライブ通信制御部１１２、ノード状態記録部１１３、通信部１１４、及び電源制御部１１５を有する。サーバ１１０において、リーダー選出部１１１、キープアライブ通信制御部１１２、ノード状態記録部１１３、通信部１１４、及び電源制御部１１５の機能のうちの少なくとも一部は、サーバがプログラムに従って処理を実行することで実現される。
【００２７】
通信部１１４は、他のサーバ１１０及び図示しないクライアント端末の少なくとも一方との間で通信を行う。リーダー選出部１１１は、複数のサーバ１１０−１〜１１０−Ｎのうちの１つをリーダーとして選出する。キープアライブ通信制御部１１２は、自サーバがリーダーである場合は、他のサーバにキープアライブを送信する。キープアライブ通信制御部１１２は、自サーバがリーダーではない場合は、リーダーであるサーバからキープアライブを受信し、それに対する応答を送信する。
【００２８】
ノード状態記録部１１３は、記憶装置を含んでおり、キープアライブ通信制御部１１２における監視の結果を記憶する。ノード状態記録部１１３は、例えばキープアライブ対する応答がないサーバ１１０のうち、停止通知を受け取っていないサーバを無応答ノードとして記録する。ノード状態記録部１１３は、停止通知を受け取っていたサーバを停止ノードとして記録する。また、ノード状態記録部１１３は、どのサーバがリーダーであるかを示す情報を記憶する。
【００２９】
電源制御部１１５は、サーバ１１０の電源制御を行う。電源制御部１１５は、自サーバがリーダーである場合に、キープアライブに対して応答しないノードの電源を停止させる。電源制御部１１５は、ノードの停止を制御するノード停止制御部に相当する。電源制御部１１５は、自サーバがリーダーである場合、停止させるサーバ１１０の電源制御部１１５に、電源断の要求を送信する。電源制御部１１５は、リーダーであるサーバ１１０から電源断の要求を受信すると、自サーバの電源を停止する。
【００３０】
リーダーとして選出されたサーバ１１０の電源制御部１１５は、例えば、ノード状態記録部１１３において無応答ノードとして記録されたノード（サーバ）の電源を強制的に停止する。電源制御部１１５は、無応答ノードとして記録されたサーバの数が、全サーバの半分よりも少ない場合に、サーバの電源停止を実施してもよい。無応答ノードして記録されたサーバの数が全サーバの半分以上の場合、リーダー選出部１１１は、新たなリーダーの選出を実施してもよい。
【００３１】
続いて動作手順を説明する。図４は、リーダー選出時の動作手順を示す。各サーバ１１０は、例えばその起動時にリーダー選出処理を開始する。各サーバ１１０において、リーダー選出部１１１は、クラスタシステムを構成する複数のサーバ１１０の１つをリーダーとして選出する（ステップＡ１）。リーダー選出部１１１は、例えば分散合意アルゴリズムなどを利用し、リーダーとして動作させるサーバ（リーダーノード）を１つ選出する。
【００３２】
リーダー選出部１１１は、ノード状態記録部１１３にリーダーノードを記録する。各サーバは、自サーバがリーダーであるか否かを判断する（ステップＡ３）。各サーバ１１０は、自サーバがリーダーである場合は、リーダーノード処理を実行し（ステップＡ４）、リーダーではない場合は非リーダーノード処理を実行する（ステップＡ５）。
【００３３】
図５は、リーダーノード処理の動作手順を示す。リーダーとして選出されたサーバ１１０のキープアライブ通信制御部１１２は、リーダー以外のサーバ１１０のそれぞれへキープアライブを送信する（ステップＢ１）。キープアライブ通信制御部１１２は、キープアライブに対する応答を待つ（ステップＢ２）。キープアライブ通信制御部１１２は、応答待ちがタイムアウトしたか否かを判断する（ステップＢ３）。
【００３４】
キープアライブ通信制御部１１２は、タイムアウトする前に応答を受信できた場合は、その旨をノード状態記録部１１３に記録する（ステップＢ４）。キープアライブ通信制御部１１２は、ステップＢ４では、無応答ノードとして記録したサーバからキープアライブに対する応答が受信できた場合は、無応答ノードの記録を削除する。その後、キープアライブ通信制御部１１２は、一定時間待機した後にステップＢ１に戻り、例えば所定時間間隔で定期的にキープアライブの送信を行う。
【００３５】
ステップＢ３でタイムアウトしたと判断された場合、ノード状態記録部１１３は、応答がタイムアウトしたノードを無応答ノードとして記録する（ステップＢ５）。キープアライブ通信制御部１１２は、無応答ノードの数が全サーバの半数以上であるか否かを判断する（ステップＢ６）。リーダー選出部１１１は、ステップＢ６で無応答ノードの数が全サーバの半数以上であると判断された場合は、リーダー維持不能であるとして、リーダー選出処理をやり直す（ステップＢ７）。
【００３６】
ステップＢ６で無応答ノードの数が全サーバの半数以上ではないと判断された場合、電源制御部１１５は、無応答ノードとして記録されたサーバ１１０を強制的に停止させる（ステップＢ８）。ステップＢ８では、例えばリーダーであるサーバ１１０のキープアライブ通信制御部１１２から、無応答ノードとして記録されたサーバ１１０の電源制御部１１５に電源停止要求を送信する。電源制御部１１５が、電源停止要求を受信して電源停止を実行することで、無応答ノードとして記録された自サーバを停止させる。
【００３７】
図６は、非リーダーノード処理の動作手順を示す。リーダーとして選出されなかった残りのサーバ１１０のキープアライブ通信制御部１１２は、リーダーとして選出されたサーバ１１０から送信されるキープアライブを待ち受ける（ステップＣ１）。キープアライブ通信制御部１１２は、キープアライブがタイムアウトしたか否かを判断する（ステップＣ２）。キープアライブ通信制御部１１２は、ステップＣ２でキープアライブがタイムアウトしていないと判断した場合は、キープアライブに対する応答をリーダーとして選出されたサーバ１１０に送信する（ステップＣ３）。その後、キープアライブ通信制御部１１２は、ステップＣ１に戻り、次のキープアライブを待ち受ける。
【００３８】
キープアライブ通信制御部１１２は、ステップＣ２でキープアライブがタイムアウトしたと判断した場合は、リーダーが消失したとして、リーダー選出部１１１にリーダー選出のやり直しを指示する。リーダー選出部１１１は、指示に従って、リーダー選出処理を実行する（ステップＣ４）。
【００３９】
なお、リーダー選出後に再度リーダー選出処理を開始する判断は、クラスタシステムを構成する各サーバ１１０が独立して行う。元のリーダーが何らかの理由でリーダー選出処理を開始した場合、他のサーバ１１０はキープアライブの受信が途絶えるため、他のサーバ１１０においてもリーダー選出処理が開始される。その結果として、全てのサーバ１１０においてリーダー選出処理が実行されることになる。一方、リーダーからキープアライブが受信できないことであるサーバ１１０がリーダー選出処理を開始した場合、全体の過半数のサーバ１１０がリーダー選出処理を開始すれば、新たなリーダーが選出される。そうでない場合、元のリーダーが継続してリーダーとして動作し、リーダーから送信されたキープアライブが受信できなかったサーバ１１０、つまりリーダー選出処理を実行したもののリーダーを選出できなかったサーバ１１０は、リーダーからの指示で停止させられる。
【００４０】
本実施形態では、クラスタシステムを構成する複数のサーバ１１０−１〜１１０−Ｎのうち、１つのサーバ１１０がリーダーとして選出される。リーダーとして選出されたサーバ１１０は、残りのサーバ１１０に対して、キープアライブ通信を用いた死活監視を行う。リーダーとして選出されなかったサーバ１１０は、それぞれリーダーとして選出されたサーバ１１０との間でキープアライブ通信を行えばよい。本実施形態では、例えばサーバ１１０の台数がＮ台であった場合、キープアライブの通信の数はＮ−１となる。本実施形態では、リーダーとして選出されていないサーバ１１０の間でキープアライブ通信を行う必要がないため、クラスタシステムを構成するサーバの数が増えた場合の通信負荷の増加を抑制することができ、通信の管理も簡素化することができる。
【００４１】
また、本実施形態では、各サーバ１１０は、その停止時に、ノードの停止通知をリーダーとして選出されたサーバ１１０に送信する。リーダーとして選出されたサーバ１１０は、キープアライブに対する応答がないサーバ１１０がある場合に、停止通知の有無を調べることで、そのサーバ１１０が停止しているのか、或いは何らかの理由で応答を返すことができないのかを判別することが可能である。
【００４２】
例えば、あるサーバが一時的に動作不能になり、しばらく後に動作を再開するような挙動を示した場合を考える。クラスタシステムにおいて、業務を提供していたサーバが一時的に動作不能状態になり、そのサーバが停止したと判断されると、別のサーバで業務が起動される。別のサーバで業務が起動された後、元のサーバが動作を再開すると、複数のサーバで業務が実行された状態（以下、両系活性状態とも呼ぶ）になる可能性がある。
【００４３】
本実施形態では、リーダーとして選出されたサーバ１１０は、一時的に動作不能になったサーバ１１０から停止通知を受け取ったか否かを判断する。リーダーとして選出されたサーバ１１０は、停止通知の有無に基づいて、そのサーバ１１０が停止したのか、或いは無応答であるのかを判断することができる。本実施形態では、リーダーとして選出されたサーバ１１０は、無応答のサーバ１１０を、例えばＩＰＭＩなどを利用した外部からの電源制御を用いて強制的に停止させる。このようにすることで、無応答のサーバ１１０が動作を再開し、両系活性状態になることを防ぐことができる。
【００４４】
以上、本発明の実施形態を詳細に説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本発明に含まれる。
【００４５】
上記実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、ＣＤ（compact disc）、又はＤＶＤ（digital versatile disk）などの光ディスク媒体、及び、マスクＲＯＭ（read only memory）、ＰＲＯＭ（programmable ROM）、ＥＰＲＯＭ（erasable PROM）、フラッシュＲＯＭ、又はＲＡＭ（random access memory）などの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００４６】
１０：サーバ
１１：リーダー選出部
１２：キープアライブ通信制御部
１３：ノード状態記録部
１１０：サーバ
１１１：リーダー選出部
１１２：キープアライブ通信制御部
１１３：ノード状態記録部
１１４：通信部
１１５：電源制御部
【図１】
2018056633.tif 000003
【図２】
2018056633.tif 000004
【図３】
2018056633.tif 000005
【図４】
2018056633.tif 000006
【図５】
2018056633.tif 000007
【図６】
2018056633.tif 000008