(57)【要約】      （修正有）【課題】サーバ同士が直接通信できない場合でもクラスタリングを可能とするクラスタシステムを提供する。【解決手段】クラスタシステムは、複数のサーバ１０と、それぞれと通信可能な管理装置２０とを含む。各サーバは、ハートビート送信部１１、ハートビート応答受信部１２、及びクラスタ制御部１３を有する。管理装置は、ハートビート受信部２１、ハートビート応答送信部２２、クラスタ情報管理部２３、及びクラスタ情報記憶部２４を有する。サーバは、管理装置にハートビートを送信する。管理装置は、ハートビートを受信すると、その受信間隔を、クラスタ情報記憶部に記録し、ハートビートを送信したサーバに、クラスタ情報を含むハートビート応答を送信する。サーバは、ハートビート応答を受信し、ハートビート応答に含まれるクラスタ情報に含まれる複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定する。【選択図】図１
2018055226.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムであって、
前記管理装置は、
前記サーバからハートビートを受信するハートビート受信部と、
前記ハートビートが受信された場合、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するクラスタ情報管理部と、
前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するハートビート応答送信部とを有し、
前記サーバは、
前記管理装置にハートビートを送信するハートビート送信部と、
前記管理装置から前記ハートビート応答を受信するハートビート応答受信部と、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるクラスタシステム。
【請求項２】
前記サーバは、前記ハートビート応答に含まれる前記クラスタ情報に基づいて各サーバの情報をサーバ情報記憶部に記憶するサーバ管理部を更に有する請求項１に記載のクラスタシステム。
【請求項３】
前記ハートビート及びクラスタ情報は、前記サーバで動作しているサービスの識別情報を含み、
クラスタ情報管理部は、前記クラスタ情報記憶部に前記ハートビートに含まれる前記識別情報を更に記録し、
前記サーバは、前記ハートビート応答に含まれる前記識別情報に基づいて、各サービスと該サービスを実行しているサーバとの対応関係をリソース情報記憶部に記憶するリソース管理部を更に有する請求項１又は２に記載のクラスタシステム。
【請求項４】
前記クラスタ制御部は、正常に動作していないと判定したサーバが存在する場合に、前記リソース情報記憶部を参照して、前記正常に動作していないと判定したサーバが提供していたサービスを特定し、該特定したサービスを正常に動作していないと判定したサーバとは異なるサーバに引き継がせる処理を更に実施する請求項３に記載のクラスタシステム。
【請求項５】
前記ハートビート及び前記クラスタ情報は、前記サーバの負荷情報を含んでおり、
クラスタ情報管理部は、前記クラスタ情報記憶部に前記ハートビートに含まれる前記負荷情報を更に記録し、
前記クラスタ制御部は、更に前記ハートビート応答に含まれる前記負荷情報に基づいて前記サーバが正常に動作しているか否かを判定する請求項１から４何れか１項に記載のクラスタシステム。
【請求項６】
前記複数のサーバのうちの少なくとも１つは、ローカルネットワークに所属しており、かつ所属するローカルネットワーク内でプライベートなアドレスが割当て割れており、前記プライベートなアドレスをグローバルなアドレスに変換するネットワークアドレス変換器を通じて前記管理装置と通信を行う請求項１から５何れか１項に記載のクラスタシステム。
【請求項７】
複数のサーバを含んで成るクラスタシステムに用いられるサーバであって、
前記複数のサーバと通信可能な管理装置にハートビートを送信するハートビート送信部と、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するハートビート応答受信部と、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるサーバ。
【請求項８】
複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムの動作方法であって、
前記サーバが、前記管理装置にハートビートを送信するステップと、
前記管理装置が、前記サーバからハートビートを受信するステップと、
前記管理装置が、前記ハートビートを受信すると、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するステップと、
前記管理装置が、前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するステップと、
前記サーバが、前記管理装置から前記ハートビート応答を受信するステップと、
前記サーバが、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するクラスタシステムの動作方法。
【請求項９】
複数のサーバを含んで成るクラスタシステムに用いられるサーバの動作方法であって、
前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するサーバの動作方法。
【請求項１０】
複数のサーバを含んで成るクラスタシステムに用いられるサーバに、
前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラスタシステム及びその動作方法に関し、更に詳しくは、複数のサーバを束ねて一体的に動作させるクラスタシステム、及びその動作方法に関する。
【０００２】
また、本発明は、クラスタシステムに用いられるサーバ、その動作方法、及びプログラムに関する。
【背景技術】
【０００３】
複数のコンピュータ（サーバ）を束ねて一体として動作させるクラスタシステムが知られている。クラスタシステムのうち、システムの可用性（availability）を高めるために構築されたものは、ＨＡ（High availability）クラスタと呼ばれる。ＨＡクラスタにおいて、ある業務を実施していたサーバに障害が発生した場合、その業務を別のサーバに引き継がせることで、クラスタ全体としては異常なく稼動し続けることができる。このようにすることで、システムの停止時間を最小限に抑え、可用性を向上させることができる。
【０００４】
ＨＡクラスタにおいて、ＨＡクラスタを構成する各ノード（サーバ）は他のノードと通信を行い、サーバが健全であるか否かを判断する。より詳細には、ＨＡクラスタを構成するサーバは、他の全てのサーバとの間でハートビートを送受信し、サーバの死活監視を行う。サーバ間で定期的にハートビートの送受信を行うことで、サーバが健全であるか否かの判断が可能である。各ノードは、他のサーバで障害が発生した場合、健全なサーバで業務（アプリケーション）を再開する系切替え（フェールオーバ）を実施する。
【０００５】
ここで、特許文献１は、ＨＡクラスタにおいてサーバの稼動状態を監視する技術を開示する。特許文献１では、各サーバは、共有ストレージに正常動作中である旨を示す生存情報を記録する。また、各サーバは、共有ストレージに生存情報が記録できたことを他のサーバに通知する。各サーバは、他のサーバが共有ストレージに記録した生存情報を参照することで、クラスタシステムの健全性を確認することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２９９３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、オンプレミスでＨＡクラスタを構築して提供していた業務のクラウド環境への移行が進んでいる。例えば、コスト削減やＤＲ（Disaster Recovery）対策のため、オンプレミスとクラウドを組み合わせたＨＡクラスタも導入されてきている。クラウド環境においても、オンプレミスと同様に、業務のＨＡクラスタ化が必要である。
【０００８】
しかしながら、ＨＡクラスタを構成するサーバ同士が通信し合って互いの死活監視を行う場合、各サーバは、互いのＩＰアドレスで疎通できる必要がある。サーバ間の途中のネットワークにＮＡＴ（Network Address Translation）があり、ＮＡＴにおいてグローバルなＩＰ（internet protocol）アドレスとプライベートなＩＰアドレスとの変換が行われる場合、サーバは他のサーバとＩＰアドレスで疎通することができない。
【０００９】
ＨＡクラスタにおいて、例えば企業のネットワークとクラウドとをＶＰＮ（virtual private network）や専用線などで接続すれば、サーバ同士はＩＰアドレスで疎通できる。しかし、その場合、ネットワーク構成が複雑になり、また費用がかかるという問題がある。
【００１０】
特許文献１では、各サーバは、共有ストレージに生存情報を記録すると共に、他のサーバに生存情報が記録できたことを通知する。このため、特許文献１においても、クラスタを構成するサーバ同士が直接通信できる必要がある。クラウド環境などにおいて、異なるネットワークに所属する複数のサーバを用いてクラスタリングする場合で、かつ、通信経路の途中にＮＡＴが存在する場合、サーバは他のサーバに生存情報を記録できたことを通知することができず、クラスタリングができない。
【００１１】
本発明は、上記事情に鑑み、サーバ同士が直接通信できない場合でもクラスタリング可能とするクラスタシステム、及びその動作方法を提供することを目的とする。
【００１２】
また、本発明は、上記クラスタシステムに用いられるサーバ、その動作方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明は、複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムであって、前記管理装置は、前記サーバからハートビートを受信するハートビート受信部と、前記ハートビートが受信された場合、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するクラスタ情報管理部と、前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するハートビート応答送信部とを有し、前記サーバは、前記管理装置にハートビートを送信するハートビート送信部と、前記管理装置から前記ハートビート応答を受信するハートビート応答受信部と、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるクラスタシステムを提供する。
【００１４】
本発明は、また、複数のサーバを含んで成るクラスタシステムに用いられるサーバであって、前記複数のサーバと通信可能な管理装置にハートビートを送信するハートビート送信部と、前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するハートビート応答受信部と、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるサーバを提供する。
【００１５】
さらに、本発明は、複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムの動作方法であって、前記サーバが、前記管理装置にハートビートを送信するステップと、前記管理装置が、前記サーバからハートビートを受信するステップと、前記管理装置が、前記ハートビートを受信すると、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するステップと、前記管理装置が、前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するステップと、前記サーバが、前記管理装置から前記ハートビート応答を受信するステップと、前記サーバが、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するクラスタシステムの動作方法を提供する。
【００１６】
本発明は、複数のサーバを含んで成るクラスタシステムに用いられるサーバの動作方法であって、前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するサーバの動作方法を提供する。
【００１７】
本発明は、複数のサーバを含んで成るクラスタシステムに用いられるサーバに、前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１８】
本発明のクラスタシステム、サーバ、その動作方法、及びプログラムは、クラスリングシステムを構成するサーバ同士が直接通信できない場合でもクラスタリングが可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明のクラスタシステムを示すブロック図。
【図２】本発明の一実施形態に係るクラスタシステムを示すブロック図。
【図３】ターゲット装置の構成を示すブロック図。
【図４】クラスタ情報の一例を示す図。
【図５】サーバの構成を示すブロック図。
【図６】設定ファイルの一例を示す図。
【図７】サーバリストの一例を示す図。
【図８】リソースリストの一例を示す図。
【図９】ハートビート送信時の動作手順を示すシーケンス図。
【図１０】異常サーバの発見からフェールオーバまでの動作手順を示すフローチャート。
【図１１】本発明の変形例に係るクラスタシステムを示すブロック図。
【図１２】負荷情報が追加されたクラスタ情報を示す図。
【発明を実施するための形態】
【００２０】
本発明の実施の形態の説明に先立って、本発明の概要を説明する。図１は、本発明のクラスタシステムを示す。クラスタシステムは、複数のサーバ１０と、それら複数のサーバのそれぞれと通信可能な管理装置２０とを含む。各サーバ１０は、ハートビート送信部１１、ハートビート応答受信部１２、及びクラスタ制御部１３を有する。管理装置２０は、ハートビート受信部２１、ハートビート応答送信部２２、クラスタ情報管理部２３、及びクラスタ情報記憶部２４を有する。
【００２１】
管理装置２０のハートビート受信部２１は、サーバ１０からハートビートを受信する。クラスタ情報記憶部２４は、複数のサーバ１０のそれぞれについてハートビートの受信間隔を含むクラスタ情報を記憶する。クラスタ情報管理部２３は、ハートビートが受信された場合、クラスタ情報記憶部２４に、ハートビートの受信間隔を記録する。ハートビート応答送信部２２は、ハートビートを送信したサーバ１０に、クラスタ情報記憶部２４に記憶されたクラスタ情報を含むハートビート応答を送信する。
【００２２】
各サーバ１０のハートビート送信部１１は、管理装置２０にハートビートを送信する。ハートビート応答受信部１２は、管理装置２０からハートビート応答を受信する。ハートビート応答受信部１２が受信するハートビート応答は、上記クラスタ情報を含む。クラスタ制御部１３は、ハートビート応答に含まれるクラスタ情報を参照し、クラスタ情報における複数のサーバ１０のハートビートの受信間隔に基づいて、各サーバ１０が正常に動作しているか否かを判定する。
【００２３】
本発明のクラスタシステムでは、クラスタを構成するサーバ１０は、管理装置２０とハートビートの通信を行う。管理装置２０は、各サーバ１０のハートビートの受信間隔を管理する。管理装置２０は、ハートビートを送信したサーバ１０に対し、各サーバ１０のハートビートの受信間隔の情報を、ハートビート応答として送信する。各サーバ１０は、ハートビート応答に含まれる情報を参照することで、他のサーバ１０が正常に稼動しているか否かの判断が可能である。本発明では、各サーバ１０は、管理装置２０との間でハートビートの通信が可能であればよく、サーバ１０同士で直接に通信を行う必要がない。このため、クラスタシステムを構成するサーバ１０同士が直接通信できない場合でも、クラスタリングが可能である。
【００２４】
以下、図面を参照して本発明の実施の形態について説明する。図２は、本発明の一実施形態に係るクラスタシステムを示す。クラスタシステムは、複数のサーバ１１０Ａ及び１１０Ｂと、ターゲット装置２００とを有する。サーバ１１０Ａ及び１１０Ｂ、並びにターゲット装置２００は、ネットワーク通信機能を有する計算機などを用いて構成される。サーバ１１０Ａ及び１１０Ｂ、並びにターゲット装置２００は、典型的には、プロセッサ、メモリ、及び補助記憶装置などを有する。
【００２５】
サーバ１１０Ａ及び１１０Ｂは、例えばＨＡクラスタを構成するサーバである。サーバ１１０Ａ及び１１０Ｂは、それぞれ、例えばオンプレミス又はクラウド環境などに配置された物理サーバ又は仮想サーバである。サーバ１１０Ａ及び１１０Ｂは、稼働中である旨を示すハートビートを定期的にターゲット装置２００へ送信する。なお、以下の説明において、複数のサーバを特に区別する必要がない場合は、サーバ１１０と呼ぶことがある。
【００２６】
ターゲット装置２００は、サーバ１１０Ａ及び１１０Ｂから送信されるハートビートのターゲットとなるサーバである。ターゲット装置２００は、クラスタを構成する全てのサーバ１１０から通信が可能なネットワーク、例えばインターネット００に配置される。ターゲット装置２００は、停止することはなく、ハートビートの通信に対して確実に応答することができるものとする。
【００２７】
ここで、サーバ１１０ＡはローカルネットワークであるサイトＡに配置され、サーバ１１０ＢはサイトＢに配置される。サーバ１１０Ａ及び１１０Ｂには、それぞれのサイトのプライベートなＩＰアドレスが割り当てられている。ＮＡＴ１０５は、ネットワークアドレス変換器であり、サイトＡにおいて、サーバ１１０ＡのプライベートなＩＰアドレスをグローバルＩＰアドレスに変換する機能を有する。ＮＡＴ１０６は、サイトＢにおいて、サーバ１１０ＢのプライベートなＩＰアドレスをグローバルＩＰアドレスに変換する機能を有する。
【００２８】
サーバ１１０Ａは、ＮＡＴ１０５を通じてインターネット３００へアクセスする。サーバ１１０Ｂは、ＮＡＴ１０６を通じてインターネット３００へアクセスする。サーバ１１０Ａ及び１１０Ｂに割り当てられているＩＰアドレスはそれぞれのサイトのプライベートＩＰアドレスであるため、サーバ１１０Ａ及びサーバ１１０Ｂは、それぞれ相手サーバのＩＰアドレスを指定しても、直接に通信することはできない。
【００２９】
一方、ターゲット装置２００にはグローバルＩＰアドレスが割り当てられている。サーバ１１０Ａ及びサーバ１１０Ｂは、ターゲット装置２００のＩＰアドレスを指定することで、ＮＡＴ１０５及び１０６を介してそれぞれターゲット装置２００に対して通信することができる。また、ターゲット装置２００は、サーバ１１０Ａ及び１１０Ｂからの通信に対して応答を返すことができる。しかしながら、ターゲット装置２００から、サーバ１１０Ａ及び１１０Ｂに対してＩＰアドレスを指定して通信しようとしても、それらのＩＰアドレスはそれぞれのサイトのプライベートなＩＰアドレスであるため、ターゲット装置２００はサーバ１１０Ａ及び１１０Ｂに対する通信を開始することができない。
【００３０】
図３は、ターゲット装置２００の構成を示す。ターゲット装置２００は、ハートビートターゲット制御部２０１、クラスタ情報管理部２０２、及びクラスタ情報記憶部２０３を有する。ターゲット装置２００において、ハートビートターゲット制御部２０１及びクラスタ情報管理部２０２の機能は、例えばターゲット装置２００を構成するコンピュータがプログラムに従って処理を実施することで実現される。
【００３１】
ターゲット装置２００は、図１の管理装置２０に対応する。ハートビートターゲット制御部２０１は、図１のハートビート受信部２１及びハートビート応答送信部２２に対応し、クラスタ情報管理部２０２はクラスタ情報管理部２３に対応し、クラスタ情報記憶部２０３はクラスタ情報記憶部２４に対応する。
【００３２】
ハートビートターゲット制御部２０１は、ハートビートの受信を待ち受ける。ハートビートターゲット制御部２０１は、サーバ１１０から送信されたハートビートを受信する。サーバ１１０が送信するハートビートには、ハートビートを送信したサーバ１１０のデータ（情報）が含まれている。ハートビートターゲット制御部２０１は、ハートビートを受信すると、ハートビートのデータ部分をクラスタ情報管理部２０２に渡す。
【００３３】
クラスタ情報管理部２０２は、クラスタ情報記憶部２０３を用いてクラスタを構成する各サーバの状態などの情報を管理する。クラスタ情報記憶部２０３は、例えばハードディスク装置などの記憶装置であり、クラスタ情報を記憶する。クラスタ情報は、各サーバのハートビートの受信間隔を含む。クラスタ情報管理部２０２は、ハートビートターゲット制御部２０１がクラスタを構成するサーバからハートビートを受信したタイミングで、そのサーバ１１０のハートビートの受信間隔を、前回のハートビートの受信時刻からの経過時間で更新する。
【００３４】
図４は、クラスタ情報記憶部２０３が記憶するクラスタ情報の一例を示す。クラスタ情報記憶部２０３は、例えば各サーバ１１０について、ハートビート間隔、ステータス、フェールオーバ優先度、及び動作しているサービス名を記憶する。ハートビート間隔はハートビートの受信時間間隔を示し、ステータスは各サーバの稼動状態を示す。フェールオーバ優先度は、フェールオーバの際の優先度（優先順位）を示す。動作しているサービス名は、各サーバ１１０で動作しているサービスの識別情報を示す。
【００３５】
図４において、サーバＡは図２のサーバ１１０Ａに対応し、サーバＢはサーバ１１０Ｂに対応しているとする。クラスタ情報記憶部２０３を参照することで、例えばサーバ１１０Ａについて、ハートビート間隔は１０秒であり、ステータスは正常であることがわかる。また、フェールオーバ優先度は１であり、サーバ１１０ＡではサービスＳＡが動作していることがわかる。サーバ１１０Ｂについても、同様に、ハートビート間隔は１５秒であり、ステータスは正常であり、フェールオーバ優先度は２であり、サービスＳＢが動作していることがわかる。
【００３６】
図３に戻り、ハートビートターゲット制御部２０１は、ハートビートを送信したサーバ１１０に対してハートビート応答を送信する。ハートビート応答には、クラスタ情報記憶部２０３に記憶されたクラスタ情報が含まれる。ハートビートターゲット制御部２０１は、ハートビート応答の送信に際して、クラスタ情報記憶部２０３から、クラスタを構成する全てのサーバ１１０の情報を取得する。ハートビートターゲット制御部２０１は、取得した情報を含むハートビート応答を生成し、生成したハートビート応答をハートビートの送信元のサーバ１１０に送信する。
【００３７】
図５は、サーバ１１０の構成を示す。サーバ１１０は、クラスタ制御部１１１、ハートビート制御部１１２、サーバ管理部１１３、リソース管理部１１４、サーバ情報記憶部１１５、及びリソース情報記憶部１１６を有する。サーバ１１０において、クラスタ制御部１１１、ハートビート制御部１１２、サーバ管理部１１３、及びリソース管理部１１４の機能は、例えばサーバ１１０を構成するコンピュータがプログラムに従って処理を実施することで実現される。
【００３８】
サーバ１１０は、図１のサーバ１０に対応する。クラスタ制御部１１１は、図１のクラスタ制御部１３に対応し、ハートビート制御部１１２は、ハートビート送信部１１及びハートビート応答受信部１２に対応する。
【００３９】
クラスタ制御部１１１は、ハートビート制御部１１２にハートビートの送信を依頼する。ハートビート制御部１１２は、ターゲット装置２００にハートビートを送信し、送信したハートビートに対する応答であるハートビート応答を受信する。ハートビート応答は、上記クラスタ情報を含む。
【００４０】
サーバ管理部１１３は、ハートビート応答に含まれるクラスタ情報に基づいて、各サーバの状態など情報を管理する。サーバ管理部１１３は、各サーバの状態などの情報をサーバ情報記憶部１１５に記憶する。サーバ情報記憶部１１５は、例えばハードディスク装置などの記憶装置であり、各サーバの情報をサーバリストとして記憶する。
【００４１】
リソース管理部１１４は、ハートビート応答に含まれるクラスタ情報に基づいて、どのサーバでどのサービスが稼働中であるかを管理する。リソース管理部１１４は、稼働中のサービスの情報をリソース情報記憶部１１６に記憶する。リソース情報記憶部１１６は、例えばハードディスク装置などの記憶装置であり、各サーバで稼働中のサービスをリソースリストとして記憶する。
【００４２】
図６は、サーバ１１０に設定される設定ファイルの一例を示す。設定ファイルには、クラスタ名、フェールオーバ優先度、ハートビート送信間隔、ハートビート異常間隔、及びターゲット装置のアドレスの各項目が含まれる。クラスタ名は、サーバ１１０（自サーバ）が構成するクラスタシステムの名称を示す。フェールオーバ優先度は、サーバ１１０に設定されたフェールオーバの優先順位を示す。ハートビート送信間隔は、サーバ１１０がターゲット装置２００にハートビートを送信する際の送信間隔を示す。ハートビート異常間隔は、サーバ１１０に異常が発生したと判断する際の基準となるハートビートの受信間隔を示す。ターゲット装置のアドレスは、ターゲット装置２００のグローバルＩＰアドレスを示す。
【００４３】
図７は、サーバ情報記憶部１１５が記憶するサーバリストの一例を示す。サーバ情報記憶部１１５は、例えば各サーバ１１０について、ハートビート間隔、ステータス、及びフェールオーバ優先度を記憶する。ハートビート間隔、ステータス、及びフェールオーバ優先度は、クラスタ情報（図４を参照）におけるそれらに対応する。サーバ管理部１１３は、ハートビート応答が受信されると、ハートビート応答に含まるクラスタ情報で、サーバ情報記憶部１１５が記憶するサーバリストの各項目を更新する。
【００４４】
図８は、リソース情報記憶部１１６が記憶するリソースリストの一例を示す。リソース情報記憶部１１６は、例えばサービスと、そのサービスを実行しているサーバとの対応関係をサーバリストとして記憶する。リソース管理部１１４は、ハートビート応答が受信されると、ハートビート応答に含まれるクラスタ情報に基づいてリソースリストを生成し、生成したリソースリストをリソース情報記憶部１１６に記憶する。
【００４５】
図５に戻り、クラスタ制御部１１１は、サーバ情報記憶部１１５が記憶するサーバリストを参照し、異常状態のサーバ１１０が存在するか否かを調べる。クラスタ制御部１１１は、ハートビートの受信間隔がしきい値を超えた場合にサーバ１１０が正常に動作していないと判定する。より詳細には、クラスタ制御部１１１は、サーバリストにおいて、ハートビート間隔が、設定ファイル（図６を参照）のハートビート異常間隔以上となっているサーバ１１０を、異常なサーバとして認識する。
【００４６】
クラスタ制御部１１１は、正常に動作していないサーバが存在すると判定した場合、正常に動作していないサーバ１１０が提供していたサービスを他のサーバ１１０に引き継がせる処理（フェールオーバ）を実施する。その際、クラスタ制御部１１１は、リソース情報記憶部１１６を参照し、正常に動作していないと判定したサーバ１１０が提供していたサービスを特定する。クラスタ制御部１１１は、例えば、各サーバ１１０のフェールオーバ優先度に基づいて、フェールオーバ先のサーバ１１０を選択する。クラスタ制御部１１１は、フェールオーバ先が自サーバである場合は、対象のサービスを起動する。
【００４７】
以下、動作手順について説明する。図９は、ハートビート送信時の動作手順を示す。各サーバ１１０において、クラスタ制御部１１１（図５を参照）は、前回のハートビート送信から、設定ファイルのハートビート送信間隔が示す時間だけ経過すると、ハートビート制御部１１２にハートビートの送信を依頼する。ハートビート制御部１１２は、設定ファイルのターゲット装置のアドレスが示すＩＰアドレスを指定して、ターゲット装置２００にハートビートを示すパケットを送信する（ステップＡ１）。
【００４８】
ステップＡ１で送信されるハートビートを示すパケットは、例えばヘッダ部分にハートビートであることを示す情報を含む。また、ハートビートを示すパケットは、データ部分に、ハートビートを送信するサーバ１１０の情報、及び稼働中のサービスに関する情報を含む。例えば、ハートビートを示すパケットのデータ部分には、サーバ１１０の識別情報の他に、設定ファイルの「クラスタ名」及び「フェールオーバ優先度」と、サーバ１１０において稼動しているサービスのサービス名とが含まれる。ハートビート制御部１１２は、ハートビートの送信後、ハートビート応答が受信されるまで待機する。
【００４９】
ターゲット装置２００のハートビートターゲット制御部２０１（図３を参照）は、サーバ１１０からパケットを受信すると、そのパケットのヘッダ部分を参照し、パケットがハートビートを示すものであるか否かを判断する。パケットがハートビートを示すものである場合、データ部分を参照し、ハートビートを送信したサーバ１１０がクラスタの対象サーバであるか否かを判断する。ハートビートターゲット制御部２０１は、クラスタの対象のサーバ１１０からハートビートが送信されるまで待機する。
【００５０】
ハートビートターゲット制御部２０１は、クラスタを構成するサーバ１１０からハートビートを受信すると、ハートビートを示すパケットのデータ部分をクラスタ情報管理部２０２に渡す。クラスタ情報管理部２０２は、ハートビートを示すパケットのデータ部分を受け取ると、受け取ったデータ部分に基づいてクラスタ情報記憶部２０３が記憶するクラスタ情報を更新する（ステップＡ２）。クラスタ情報管理部２０２は、例えばクラスタを構成するサーバ１１０ごとに、直近のハートビートの受信時刻を保持している。クラスタ情報管理部２０２は、ステップＡ２では、例えばハートビートを送信したサーバ１１０の前回のハートビートの受信時刻からの経過時間を、クラスタ情報記憶部２０３のハートビート間隔（図４を参照）に記憶する。
【００５１】
クラスタ情報管理部２０２は、クラスタ情報記憶部２０３からクラスタ情報を取得する（ステップＡ３）。ステップＡ３で取得されるクラスタ情報には、クラスタを構成する全てのサーバ１１０の情報が含まれる。クラスタ情報管理部２０２は、取得したクラスタ情報をハートビートターゲット制御部２０１に渡す。ハートビートターゲット制御部２０１は、ステップＡ１でハートビートを送信したサーバ１１０に、ハートビート受信に対する応答として、クラスタ情報管理部２０２から受け取ったクラスタ情報を送信する（ステップＡ４）。ハートビートターゲット制御部２０１は、サーバ１１０からハートビートを受信するたびに、クラスタ情報記憶部２０３が記憶するクラスタ情報を、ハートビートに対する応答として返送する。
【００５２】
サーバ１１０のハートビート制御部１１２は、ターゲット装置２００からハートビートに対する応答（ハートビート応答）を受信する。ハートビート制御部１１２は、ハートビート応答に含まれるクラスタ情報をサーバ管理部１１３及びリソース管理部１１４に渡す。サーバ管理部１１３は、クラスタ情報に基づいてサーバ情報記憶部１１５が記憶するサーバリストを更新し、リソース管理部１１４は、クラスタ情報に基づいてリソース情報記憶部１１６が記憶するリソースリストを更新する（ステップＡ５）。
【００５３】
図１０は、異常サーバの発見からフェールオーバまでの動作手順を示す。各サーバ１１０のクラスタ制御部１１１は、図９のステップＡ５で更新されたサーバリストのハートビート間隔を参照する（ステップＢ１）。クラスタ制御部１１１は、ハートビート間隔が異常のサーバ（異常サーバ）があるか否かを判断する（ステップＢ２）。
【００５４】
クラスタ制御部１１１は、ステップＢ２では、各サーバのハートビート間隔と、設定ファイルの設定ファイルのハートビート異常間隔とを比較する。クラスタ制御部１１１は、ハートビート間隔がハートビート異常間隔異常となっているサーバ１１０を、何らかの原因でターゲット装置２００と通信することができなくなった異常なサーバであると判断する。ステップＢ２で異常サーバがないと判断された場合、処理は終了となる。
【００５５】
クラスタ制御部１１１は、ステップＢ２で異常サーバがあると判断した場合、そのサーバはダウンしていると判断する。クラスタ制御部１１１は、リソース情報記憶部１１６が記憶するリソースリストを参照して、異常と判断されたサーバでサービスが稼動しているか否かを判断する（ステップＢ３）。
【００５６】
クラスタ制御部１１１は、ステップＢ３でサービスが稼動していると判断すると、そのサービスのフェールオーバ先を決定する（ステップＢ４）。クラスタ制御部１１１は、ステップＢ４では、サーバ情報記憶部１１５を参照してフェールオーバ先のサーバを決定する。より詳細には、クラスタ制御部１１１は、サーバ情報記憶部１１５が記憶するサーバリスト（図７を参照）において、「ステータス」が正常で、かつフェールオーバ優先度が最も高いサーバを、フェールオーバ先のサーバとして決定する。
【００５７】
クラスタ制御部１１１は、ステップＢ４でフェールオーバ先として決定したサーバが自サーバであるか否かを判断する（ステップＢ５）。クラスタ制御部１１１は、フェールオーバ先が自サーバである場合は、該当するサービスを起動する（ステップＢ６）。クラスタ制御部１１１は、サービスの起動後、サーバ情報記憶部１１５が記憶するサーバリスト、及びリソース情報記憶部１１６が記憶するリソースリストの内容を更新する（ステップＢ７）。
【００５８】
クラスタ制御部１１１は、ステップＢ３でサービスが稼動していないと判断した場合は、フェールオーバ先の決定は不要であるため、ステップＢ７へ進み、サーバリスト及びリソースリストを更新する。クラスタ制御部１１１は、ステップＢ５でフェールオーバ先が自サーバではないと判断した場合も、ステップＢ７へ進み、サーバリスト及びリソースリストを更新する。以上の手順で示される処理が、クラスタを構成する各サーバ１１０においてそれぞれ実行され、サーバの稼動状態の監視と、それに基づくフェールオーバとが実施される。
【００５９】
本実施形態では、サーバ１１０Ａ及び１１０Ｂは、それぞれターゲット装置２００にハートビートを送信する。本実施形態では、ＨＡクラスタのクラスタリングにおいて、クラスタを構成するサーバ１１０Ａ及び１１０Ｂは、サーバ間ではハートビートを用いた死活監視を行わずに、それぞれターゲット装置２００と通信して死活監視を行う。本実施形態では、サーバ１１０Ａ及び１１０Ｂは、それぞれターゲット装置２００との間でハートビートの通信ができればよく、サーバ１１０Ａ及び１１０Ｂの間でハートビートを直接に通信する必要がない。
【００６０】
例えばサーバ１１０Ａ及び１１０Ｂがローカルネットワークに所属し、かつサーバ１１０Ａ及び１１０Ｂに対してそれぞれのネットワークにおいてローカルなＩＰアドレスが割り当ていた場合、サーバ１１０Ａ及び１１０Ｂは、互いのＩＰアドレスで直接に通信することができない。本実施形態では、ターゲット装置２００は、各サーバ１１０から送信された情報をクラスタ情報として記憶し、ハートビートの送信元のサーバ１１０に、クラスタ情報を含むハートビート応答を送信する。各サーバ１１０は、サーバ間で直接に通信ができなくても、ハートビート応答に含まれるクラスタ情報を用いることで、他のサーバの状態を知ることができる。各サーバ１１０は、クラスタ情報に基づいてフェールオーバが必要かどうかを判断し、必要な場合にフェールオーバを実施する。このように、本実施形態では、サーバ１１０間で直接通信ができない場合でも、クラスタリングが可能である。
【００６１】
本実施形態では、全てのサーバ１１０から等しく通信できる場所にターゲット装置２００が配置される。本実施形態では、サーバ１１０がオンプレミス又はクラウド環境の何れであっても、また、サーバ１１０が物理サーバであっても仮想サーバであっても、サーバ１１０がターゲット装置２００と通信ができれば、ＨＡクラスタを構成することが可能である。
【００６２】
本実施形態では、各サーバ１１０は、互いのＩＰアドレスで疎通できる必要がない。このため、例えば企業のネットワークとクラウドとをＶＰＮ（virtual private network）や専用線などで接続してサーバ１１０同士をＩＰアドレスで疎通させる必要がない。本実施形態では、ＶＰＮや専用線などの必要がないため、ネットワークを簡素化でき、コストの低減が可能である。さらに、遠隔クラスタなどの長距離で不安定なネットワークの場合、相互接続型のクラスタでは通信遅延や通信失敗に起因する障害が発生する場合がある。本実施形態では、ターゲット装置２００を中間に配置することで、それら通信遅延などを軽減できる効果もある。
【００６３】
本実施形態では、各サーバ１１０は、ターゲット装置２００に対してハートビートを送信すればよい。このため、各サーバ１１０間でハートビートを相互に通信する場合に比べて、サーバ数が増えても通信経路が複雑にならず、また、通信量の増大を抑制することができる。その結果として、それぞれのサーバの負荷やデータ通信にかかるコストを下げることができる。ＨＡクラスタの課題であるスプリットブレインについても、ターゲット装置２００がスプリットブレイン対策のネットワークの疎通確認のターゲットとなる装置と同等の役割を担うことができる。このため、サーバ１１０の数が増えても、ネットワーク構成を変更することなくスプリットブレイン対策ができる。
【００６４】
特許文献１との比較では、特許文献１では、クラスタを構成するサーバは、他のサーバに生存情報を記録できた旨を通知するため、クラスタを構成するサーバ同士が直接通信できる必要がある。また、クラスタを構成するサーバが増えた場合、生存情報を記録できた旨の通知先のサーバの数が増えることで、その通信量が増大する。これに対し、本実施形態では、各サーバ１１０は、ターゲット装置２００に通信できればよいため、サーバ同士が直接通信できる必要はないし、また、サーバ数が増えた場合でも通信量の増大を抑えることができる。
【００６５】
なお、上記実施形態では、サーバ１１０Ａ及び１１０Ｂの双方がＮＡＴ１０５及び１０６を通じてターゲット装置２００と通信する例を示したが、クラスタシステムを構成する全てのサーバがＮＡＴを通じてターゲット装置２００と通信する必要はない。上記実施形態は、サーバ間でＩＰアドレスで直接に通信できない場合でもクラスタリングを可能にするものであるものの、サーバ間で直接に通信ができないこと自体は、必須の要件ではない。クラスタシステムにおいて、クラスタシステムを構成する全てのサーバ間でＩＰアドレスを指定した直接通信ができない必要はなく、少なくとも一部のサーバがＩＰアドレスで直接に通信できてもよい。
【００６６】
図１１は、本発明の変形例に係るクラスタシステムを示す。この変形例に係るクラスタシステムは、図２に示す一実施形態に係るクラスタシステムの構成に加えて、サーバ１１０Ｃを有する。サーバ１１０Ｃには、グローバルＩＰアドレスが割り当てられており、サーバ１１０ＣはＮＡＴを介さずにインターネット３００に接続している。この例では、サーバ１１０Ａ及び１１０Ｂは、サーバ１１０ＣのＩＰアドレスを指定することで、サーバ１１０Ｃと通信することができる。この例のように、クラスタシステムにＮＡＴを介さずにインターネット３００に接続するサーバ１１０Ｃが含まれる場合でも、上記実施形態と同様な動作を実施することで、上記実施形態で説明したものと同様な効果を得ることができる。
【００６７】
上記実施形態では、クラスタ情報が、サーバ名、ハートビート間隔、ステータス、フェールオーバ優先度、及び動作しているサービス名を含む例を説明したが、これには限定されない。例えば、クラスタ情報は、サーバ１１０の負荷情報を含んでいてもよい。図１２は、クラスタ情報に負荷情報が追加された例を示す。クラスタ情報記憶部２０３は、図４に示される項目に加えて、各サーバのＣＰＵ（central processing unit）使用率及びメモリ使用量を、サーバの負荷情報として記憶する。
【００６８】
各サーバ１１０のハートビート制御部１１２（図５を参照）は、ハートビートの送信時に、自サーバのＣＰＵ使用率と、メモリ使用量とを取得し、それらの情報をハートビートを示すパケットのデータ部分に付加する。ターゲット装置２００のクラスタ情報管理部２０２（図３を参照）は、ハートビートのデータ部分に含まれるＣＰＵ使用率とメモリ使用量とを、ハートビートの送信元もサーバ１１０の情報としてクラスタ情報記憶部２０３に記憶する。ハートビートターゲット制御部２０１は、ＣＰＵ使用率及びメモリ使用量を含んだクラスタ情報を含むハートビート応答を、ハートビートの送信元のサーバ１１０に送信する。
【００６９】
サーバ１１０は、ＣＰＵ使用率及びメモリ使用量を含んだクラスタ情報を含むハートビート応答を受信する。サーバ情報記憶部１１５が記憶するサーバリストは、各サーバのＣＰＵ使用率及びメモリ使用量の項目を含む。サーバ１１０のサーバ管理部１１３は、ハートビート応答に含まれるクラスタ情報で、ＣＰＵ使用率及びメモリ使用量を含めたサーバ情報記憶部１１５が記憶するサーバリストの対応する項目を更新する。クラスタ制御部１１１は、サーバリストを参照することで、各サーバの処理負荷を知ることができる。
【００７０】
クラスタ制御部１１１は、サーバリストに含まれるＣＰＵ使用率及びメモリ使用量に基づいて、サーバ１１０の異常状態の判断を行ってもよい。例えば、設定ファイル（図６を参照）は、サーバ異常と判断する際の基準値となるＣＰＵ使用率及びメモリ使用量を規定する情報を含む。クラスタ制御部１１１は、設定ファイルを参照し、ハートビート間隔が基準値異常と成っているか否かを判断することに加えて、ＣＰＵ使用率及びメモリ使用量が基準値異常となっているか否かを判断することで、サーバ１１０が正常に動作しているか否かを判断してもよい。このようにした場合、ハートビート間隔の異常だけでなく、ＣＰＵ使用率及びメモリ使用量が基準値異常となったことを契機としてフェールオーバを実施することができる。
【００７１】
上記実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（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）を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００７３】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７４】
[付記１]
複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムであって、
前記管理装置は、
前記サーバからハートビートを受信するハートビート受信部と、
前記ハートビートが受信された場合、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するクラスタ情報管理部と、
前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するハートビート応答送信部とを有し、
前記サーバは、
前記管理装置にハートビートを送信するハートビート送信部と、
前記管理装置から前記ハートビート応答を受信するハートビート応答受信部と、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるクラスタシステム。
【００７５】
[付記２]
前記クラスタ制御部は、前記ハートビートの受信間隔がしきい値を超えた場合に前記サーバが正常に動作していないと判定する付記１に記載のクラスタシステム。
【００７６】
[付記３]
前記サーバは、前記ハートビート応答に含まれる前記クラスタ情報に基づいて各サーバの情報をサーバ情報記憶部に記憶するサーバ管理部を更に有する付記１又は２に記載のクラスタシステム。
【００７７】
[付記４]
前記ハートビート及びクラスタ情報は、前記サーバで動作しているサービスの識別情報を含み、
クラスタ情報管理部は、前記クラスタ情報記憶部に前記ハートビートに含まれる前記識別情報を更に記録し、
前記サーバは、前記ハートビート応答に含まれる前記識別情報に基づいて、各サービスと該サービスを実行しているサーバとの対応関係をリソース情報記憶部に記憶するリソース管理部を更に有する付記１から３何れか１つに記載のクラスタシステム。
【００７８】
[付記５]
前記クラスタ制御部は、正常に動作していないと判定したサーバが存在する場合に、前記リソース情報記憶部を参照して、前記正常に動作していないと判定したサーバが提供していたサービスを特定し、該特定したサービスを正常に動作していないと判定したサーバとは異なるサーバに引き継がせる処理を更に実施する付記４に記載のクラスタシステム。
【００７９】
[付記６]
前記ハートビート及び前記クラスタ情報がフェールオーバ優先度を含み、
前記クラスタ情報管理部は、前記クラスタ情報記憶部に前記ハートビートに含まれる前記フェールオーバ優先度を更に記録し、
前記クラスタ制御部は、前記ハートビート応答に含まれる前記フェールオーバ優先度に基づいて前記サービスの引継ぎ先を決定する付記７に記載のクラスタシステム。
【００８０】
[付記７]
前記クラスタ制御部は、前記サービスの引継ぎ先として決定したサーバが自サーバである場合は、当該サービスを起動する付記６に記載のクラスタシステム。
【００８１】
[付記８]
前記ハートビート及び前記クラスタ情報は、前記サーバの負荷情報を含んでおり、
クラスタ情報管理部は、前記クラスタ情報記憶部に前記ハートビートに含まれる前記負荷情報を更に記録する付記１から７何れか１つに記載のクラスタシステム。
【００８２】
[付記９]
前記クラスタ制御部は、更に前記ハートビート応答に含まれる前記負荷情報に基づいて前記サーバが正常に動作しているか否かを判定する付記８に記載のクラスタシステム。
【００８３】
[付記１０]
前記複数のサーバのうちの少なくとも１つは、ローカルネットワークに所属しており、かつ所属するローカルネットワーク内でプライベートなアドレスが割当て割れており、前記プライベートなアドレスをグローバルなアドレスに変換するネットワークアドレス変換器を通じて前記管理装置と通信を行う付記１から９何れか１つに記載のクラスタシステム。
【００８４】
[付記１１]
複数のサーバを含んで成るクラスタシステムに含まれるサーバからハートビートを受信するハートビート受信部と、
前記ハートビートが受信された場合、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するクラスタ情報管理部と、
前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するハートビート応答送信部とを備える管理装置。
【００８５】
[付記１２]
複数のサーバを含んで成るクラスタシステムに用いられるサーバであって、
前記複数のサーバと通信可能な管理装置にハートビートを送信するハートビート送信部と、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するハートビート応答受信部と、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するクラスタ制御部とを備えるサーバ。
【００８６】
[付記１３]
複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムの動作方法であって、
前記サーバが、前記管理装置にハートビートを送信するステップと、
前記管理装置が、前記サーバからハートビートを受信するステップと、
前記管理装置が、前記ハートビートを受信すると、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するステップと、
前記管理装置が、前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するステップと、
前記サーバが、前記管理装置から前記ハートビート応答を受信するステップと、
前記サーバが、前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するクラスタシステムの動作方法。
【００８７】
[付記１４]
複数のサーバと、該複数のサーバのそれぞれと通信可能な管理装置とを含むクラスタシステムにおける前記管理装置の動作方法であって、
前記サーバからハートビートを受信するステップと、
前記ハートビートを受信すると、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するステップと、
前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するステップとを有する管理装置の動作方法。
【００８８】
[付記１５]
複数のサーバを含んで成るクラスタシステムに用いられるサーバの動作方法であって、
前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを有するサーバの動作方法。
【００８９】
[付記１６]
クラスタシステムに含まれる複数のサーバのそれぞれと通信可能な管理装置に、
前記サーバからハートビートを受信するステップと、
前記ハートビートを受信すると、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を記憶するクラスタ情報記憶部に、前記ハートビートの受信間隔を記録するステップと、
前記ハートビートを送信したサーバに、前記クラスタ情報を含むハートビート応答を送信するステップとを実行させるためのプログラム。
【００９０】
[付記１７]
複数のサーバを含んで成るクラスタシステムに用いられるサーバに、
前記複数のサーバと通信可能な管理装置にハートビートを送信するステップと、
前記管理装置から、前記複数のサーバのそれぞれについて前記ハートビートの受信間隔を含むクラスタ情報を含むハートビート応答を受信するステップと、
前記ハートビート応答に含まれる前記複数のサーバのハートビートの受信間隔に基づいて、各サーバが正常に動作しているか否かを判定するステップとを実行させるためのプログラム。
【符号の説明】
【００９１】
１０：サーバ
１１：ハートビート送信部
１２：ハートビート応答受信部
１３：クラスタ制御部
２０：管理装置
２１：ハートビート受信部
２２：ハートビート応答送信部
２３：クラスタ情報管理部
２４：クラスタ情報記憶部
１０５、１０６：ＮＡＴ
１１０：サーバ
１１１：クラスタ制御部
１１２：ハートビート制御部
１１３：サーバ管理部
１１４：リソース管理部
１１５：サーバ情報記憶部
１１６：リソース情報記憶部
２００：ターゲット装置
２０１：ハートビートターゲット制御部
２０２：クラスタ情報管理部
２０３：クラスタ情報記憶部
３００：インターネット
【図１】
2018055226.tif 000003
【図２】
2018055226.tif 000004
【図３】
2018055226.tif 000005
【図４】
2018055226.tif 000006
【図５】
2018055226.tif 000007
【図６】
2018055226.tif 000008
【図７】
2018055226.tif 000009
【図８】
2018055226.tif 000010
【図９】
2018055226.tif 000011
【図１０】
2018055226.tif 000012
【図１１】
2018055226.tif 000013
【図１２】
2018055226.tif 000014