JP2017068309A - 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム - Google Patents

情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム Download PDF

Info

Publication number
JP2017068309A
JP2017068309A JP2015189314A JP2015189314A JP2017068309A JP 2017068309 A JP2017068309 A JP 2017068309A JP 2015189314 A JP2015189314 A JP 2015189314A JP 2015189314 A JP2015189314 A JP 2015189314A JP 2017068309 A JP2017068309 A JP 2017068309A
Authority
JP
Japan
Prior art keywords
time
transmission
information processing
heartbeat
interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015189314A
Other languages
English (en)
Other versions
JP6551111B2 (ja
Inventor
昌志 森瀧
Masashi Moritaki
昌志 森瀧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015189314A priority Critical patent/JP6551111B2/ja
Publication of JP2017068309A publication Critical patent/JP2017068309A/ja
Application granted granted Critical
Publication of JP6551111B2 publication Critical patent/JP6551111B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ダウンの誤判定を抑制することができる情報処理装置、ダウン判定方法、クラスタシステム、及びプログラムを提供する。
【解決手段】情報処理装置10は、自装置の時刻をカウントする時刻カウント部11と、送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビート受信部12と、タイムアウト時間変更部13と、ダウン判定部14とを有する。タイムアウト時間変更部13は、時間的に連続する2つのハートビートパケットについての2つの受信時刻の差が、これら2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を長くする。ダウン判定部14は、タイムアウト時間内に送信側の装置からのハートビートパケットを受信しない場合、ダウンが発生したと判定する。
【選択図】図1

Description

本発明は情報処理装置、ダウン判定方法、クラスタシステム、及びプログラムに関する。
HA(High Availability:高可用性)クラスタシステムにおいて、各サーバが、互いの死活監視を行う手段として、ネットワーク通信(ハートビート)を使用する方法が知られている。この方法では、各サーバは、送信の動作として、所定の時間間隔でハートビートパケットを送信し、受信の動作として、相手サーバから送信されたハートビートパケットを待ち受ける。そして、サーバは、相手サーバからのハートビートパケットを所定時間内に受信できなかった場合(すなわち、受信がタイムアウトした場合)、相手サーバがダウンしたと判断する。また、ダウンした相手サーバで業務プログラムが稼働していた場合、自サーバで業務プログラムを起動して、業務を継続する。
また、ネットワーク通信を使用した死活監視については、例えば、特許文献1が知られている。特許文献1では、ヘルスチェックフレームを相手サーバに送信し、これに対する応答により死活監視を行う際、負荷が掛かっているために応答が遅延するようなサーバに対するヘルスチェックフレームの送信間隔を長く設定することが開示されている。
ところで、近年、仮想マシン上でのHAクラスタシステムの構築が増えている。仮想マシンは、CPU(Central Processing Unit)等のハードウェアをホストOS(Operating System)又はハイパーバイザでエミュレートしているため、ホストOS又はハイパーバイザが高負荷になった場合、仮想マシンにリソースを割り当てられず、時刻のカウント(tick カウント)ですらも動作が安定しないことが多くある。時刻のカウントに遅延が生じると、上述のハートビートパケットの送信間隔を所定の時間間隔で行うことができなくなる。
特開2004−062246号公報
サーバのシステム遅延によりハートビートパケットの送信間隔を所定の時間間隔で行うことができなくなると、このサーバが実際にはダウンを起こしていないにもかかわらず、ダウンしたと誤判定される恐れがある。そして、サーバのダウンの誤判定が発生すると、両方のサーバで業務が並行して稼働してしまい、HAクラスタシステムが不正な状態となる恐れがある。
これに対し、特許文献1では、遅延が発生したサーバに対するヘルスチェックフレームの送信間隔を長くするよう変更することにより、このサーバにかかっている負荷を増大させないようにする技術について開示しているに過ぎない。したがって、サーバのダウンの誤判定を抑制することが依然として求められている。
本発明の目的は、このような課題を解決するためになされたものであり、ダウンの誤判定を抑制することができる情報処理装置、ダウン判定方法、クラスタシステム、及びプログラムを提供することにある。
本発明の一態様にかかる情報処理装置は、自装置の時刻をカウントする時刻カウント手段と、送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビート受信手段と、前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段とを有する。
また、本発明の一態様にかかるダウン判定方法は、送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップとを有する方法である。
また、本発明の一態様にかかるクラスタシステムは、複数の情報処理装置を備え、前記複数の情報処理装置は、それぞれ、自装置の時刻をカウントする時刻カウント手段と、設定された送信時間間隔で、前記複数の情報処理装置のうちの他の情報処理装置に、前記時刻カウント手段がカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビート送信手段と、前記他の情報処理装置がカウントした時刻による送信時刻が含まれるハートビートパケットを、前記他の情報処理装置から受信するハートビート受信手段と、前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更手段と前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段とを有する。
また、本発明の一態様にかかるプログラムは、送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップとを情報処理装置のコンピュータに実行させるプログラムである。
本発明によれば、ダウンの誤判定を抑制することができる情報処理装置、ダウン判定方法、クラスタシステム、及びプログラムを提供することができる。
実施の形態にかかる情報処理装置の概要を示すブロック図である。 実施の形態にかかる情報処理装置の概要を示すブロック図である。 実施の形態にかかるHAクラスタシステムの構成を示すブロック図である。 実施の形態にかかる情報処理装置の構成を示すブロック図である。 実際の時刻と、情報処理装置30Aの時刻カウント部による時刻と、情報処理装置30Bの時刻カウント部による時刻とを比較する表であり、遅延が発生し始めた時の一例を示している。 実際の時刻と、情報処理装置30Aの時刻カウント部による時刻と、情報処理装置30Bの時刻カウント部による時刻とを比較する表であり、本格的な遅延状態に陥った際の一例を示している。 実際の時刻と、情報処理装置30Aの時刻カウント部による時刻と、情報処理装置30Bの時刻カウント部による時刻とを比較する表であり、遅延が解消した時の一例を示している。 実施の形態にかかる情報処理装置におけるハートビートパケットの送信処理に関わる動作について示すフローチャートである。 実施の形態にかかる情報処理装置におけるハートビートパケットの受信処理に関わる動作について示すフローチャートである。
<本発明にかかる実施の形態の概要>
実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。以下、本発明にかかる実施の形態の概要の説明として、情報処理装置10(図1参照)及び情報処理装置20(図2参照)を例として挙げる。
図1は、実施の形態にかかる情報処理装置の概要を示すブロック図である。情報処理装置10は、例えば、HAクラスタシステムを構成する複数のサーバのうちのいずれかである。情報処理装置10は、一例としては、仮想マシン上に構築されるが、物理環境で構築されてもよい。
情報処理装置10は、HAクラスタシステムを構成する他の情報処理装置との間で、通信を行い、相互に死活監視を行う。より具体的には、情報処理装置10及びHAクラスタシステムを構成する他の情報処理装置は、それぞれ、予め定められた送信時間間隔で、ハートビートパケットを相手装置に対して送信する。また、情報処理装置10及びこの他の情報処理装置は、それぞれ、相手装置からのハートビートパケットを予め定められたタイムアウト時間内に受信できない場合、相手装置がダウンを起こしたと判定する。なお、ここでダウンは、情報処理装置(サーバ)のシステムダウンを指しており、HAクラスタシステム全体のシステムダウンではない。
ここで、情報処理装置10は、図1に示されるように、時刻カウント部11と、ハートビート受信部12と、タイムアウト時間変更部13と、ダウン判定部14とを有する。
時刻カウント部11は、情報処理装置10(自装置)の時刻をカウントする。また、ハートビート受信部12は、相手装置が送信したハートビートパケットを受信する。このハートビートパケットには、送信側の装置である相手装置がカウントした時刻による、当該パケットの送信時刻が含まれている。
タイムアウト時間変更部13は、ハートビート受信部12により受信された時間的に連続する2つのハートビートパケットの受信時刻の差が、これら2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くする。ここで、ハートビートパケットの受信時刻とは、ハートビートパケットの受信側である情報処理装置10の時刻カウント部11によりカウントされた時刻をいう。これに対し、2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔は、送信側の時計に基づく送信間隔に対応しており、想定される受信間隔と言える。すなわち、タイムアウト時間変更部13は、前回受信したハートビートパケットと今回受信したハートビートパケットについて、自装置の時計に基づく受信間隔と、想定される受信間隔とを比較する。そして、タイムアウト時間変更部13は、自装置の時計に基づく受信間隔が、想定される受信間隔よりも大きい場合、タイムアウト時間を長くするよう変更する。
ダウン判定部14は、送信側の装置である相手装置からのハートビートパケットをハートビート受信部12がタイムアウト時間内に受信しない場合、相手装置にダウンが発生したと判定する。
ここで、相手装置が高負荷状態に陥り、相手装置における時刻カウントに遅延が生じた状況を想定する。この場合、相手装置は、所定の送信時間間隔T1でハートビートパケットを送信するために、当該装置の時刻カウントで送信時間間隔T1がカウントされる度に、ハートビートパケットを送信する。しかしながら、時刻カウントに遅延が生じているため、実際の送信時間間隔は、T1よりも大きいT2となっている。ただし、送信されるハートビートパケットには、当該装置の時計がカウントした送信時刻が付されているため、ハートビートパケットに付された送信時刻の間隔を見る限り、送信時間間隔はT1である。
このとき、情報処理装置10のタイムアウト時間変更部13は、相手装置から送信された時間的に連続する2つのハートビートパケットについて、以下のように判定する。すなわち、タイムアウト時間変更部13は、両ハートビートパケットの自装置の時計に基づく受信間隔はT2であり、ハートビートパケットに付された送信時刻から得られる想定される受信間隔T1よりも大きいと判定する。このため、タイムアウト時間変更部13は、タイムアウト時間を所定の時間よりも長い時間へと変更する。
したがって、情報処理装置10によれば、相手装置に遅延が発生した場合に、タイムアウト時間が長くなるように変更されるので、相手装置がダウンしたとダウン判定部14が判定することを防ぐことができる。すなわち、ダウンが発生していないにもかかわらずダウしていると判定してしまう誤判定を抑制することができる。
次に、本発明にかかる実施の形態の概要のもう一例について説明する。図2は、実施の形態にかかる情報処理装置の概要を示すブロック図である。情報処理装置20も情報処理装置10と同様、例えば、HAクラスタシステムを構成する複数のサーバのうちのいずれかである。情報処理装置20も、一例としては、仮想マシン上に構築されるが、物理環境で構築されてもよい。
情報処理装置20も、HAクラスタシステムを構成する他の情報処理装置との間で、通信を行い、相互に死活監視を行う。なお、具体的な死活監視方法は、上述した通りである。
ここで、情報処理装置20は、図2に示されるように、時刻カウント部21と、ハートビート受信部22と、ハートビート送信部23と、送信時間間隔変更部24とを有する。
時刻カウント部21は、情報処理装置20(自装置)の時刻をカウントする。また、ハートビート受信部22は、相手装置が送信したハートビートパケットを受信する。
ハートビート送信部23は、設定された送信時間間隔で、ハートビートパケットを相手装置に対して送信する。ここで、ハートビート送信部23が送信するハートビートパケットには、時刻カウント部21がカウントした時刻による送信時刻が含まれる。なお、ハートビート受信部22が受信するハートビートパケットも同様に、送信側の装置である相手装置がカウントした時刻による、当該パケットの送信時刻を含んでいる。
送信時間間隔変更部24は、ハートビート受信部22により受信された時間的に連続する2つのハートビートパケットの受信時刻の差が、これら2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも小さい場合に、自装置が送信するハートビートパケットの送信時間間隔を予め定められた時間間隔よりも短くする。
すなわち、送信時間間隔変更部24は、前回受信したハートビートパケットと今回受信したハートビートパケットについて、自装置の時計に基づく受信間隔と、想定される受信間隔とを比較する。そして、送信時間間隔変更部24は、自装置の時計に基づく受信間隔が、想定される受信間隔よりも小さい場合、送信時間間隔を短くするよう変更する。
ここで、情報処理装置20が高負荷状態に陥り、時刻カウント部21による時刻カウントに遅延が生じた状況を想定する。ここで、相手装置から受信したハートビートパケットに記載されている送信時刻から算出される送信時間間隔がT1であるとする。しかし、時刻カウント部21の時刻カウントには遅延が生じているため、時刻カウント部21による連続する2つのハートビートパケットの受信間隔は、T1よりも短いT3となってしまう。
このとき、情報処理装置20の送信時間間隔変更部24は、相手装置から送信された時間的に連続する2つのハートビートパケットについて、以下のように判定する。すなわち、送信時間間隔変更部24は、両ハートビートパケットの自装置の時計に基づく受信間隔はT3であり、ハートビートパケットに付された送信時刻から得られる想定される受信間隔T1よりも小さいと判定する。このため、送信時間間隔変更部24は、送信時間間隔を所定の時間間隔よりも短い時間間隔へと変更する。
したがって、情報処理装置20によれば、自装置に遅延が発生した場合に、自装置が送信するハートビートパケットの送信時間間隔が短くなるように変更される。これにより、実際の送信時間間隔が延びることを抑制することができる。したがって、情報処理装置20がダウンしたと相手装置に誤判定されてしまうことを抑制することができる。
<実施の形態の説明>
以下、実施の形態の詳細について説明する。図3は、実施の形態にかかるHAクラスタシステム1の構成を示すブロック図である。図3に示すように、HAクラスタシステム1は、情報処理装置30A、情報処理装置30Bを有する。情報処理装置30A及び情報処理装置30Bは、ネットワーク31を介して、相互に通信可能に接続されている。なお、ネットワーク31は、有線ネットワークでもよいし、無線ネットワークでもよい。以下、情報処理装置30Aと30Bの総称として、情報処理装置30ということがある。
HAクラスタシステム1において、情報処理装置30A又は情報処理装置30Bのいずれか一方が、稼働系として動作し、他方が待機系として動作する。例えば、HAクラスタシステム1は、通常時、稼働系として動作している情報処理装置30により所定のサービスを提供し、稼働系として動作している情報処理装置30に異常が発生した際に、フェールオーバーを実施し、待機系であった情報処理装置30が稼働系として動作して所定のサービスを提供する。なお、図3で示した例では、HAクラスタシステム1は、2つの情報処理装置から構成されているが、3つ以上の情報処理装置から構成されてもよい。
情報処理装置30A及び情報処理装置30Bは、HAクラスタシステム1を構成するサーバであり、仮想マシン上に構築されている。したがって、情報処理装置30A及び情報処理装置30Bは、コンピュータとしての機能を備えている。なお、本実施の形態では、情報処理装置30が仮想マシン上に構築されているものとして説明するが、情報処理装置30は物理環境で構築されてもよい。
情報処理装置30A及び情報処理装置30Bは、通信を行い、相互に死活監視を行う。より具体的には、情報処理装置30Aは、予め定められた送信時間間隔で、ハートビートパケットを情報処理装置30Bに対して送信する。また、情報処理装置30Bも、予め定められた送信時間間隔で、ハートビートパケットを情報処理装置30Aに対して送信する。なお、情報処理装置30Aにおける送信時間間隔と、情報処理装置30Bにおける送信時間間隔は、同じとは限らない。
また、情報処理装置30Aは、情報処理装置30Bからのハートビートパケットを予め定められたタイムアウト時間内に受信できない場合、情報処理装置30Bがダウンを起こしたと判定する。同様に、情報処理装置30Bは、情報処理装置30Aからのハートビートパケットを予め定められたタイムアウト時間内に受信できない場合、情報処理装置30Aがダウンを起こしたと判定する。なお、情報処理装置30Aにおけるタイムアウト時間と、情報処理装置30Bにおけるタイムアウト時間は、同じとは限らない。
以下、情報処理装置30の具体的構成について説明するが、情報処理装置30Bは情報処理装置30Aと同様の構成を備えるため、以下では、情報処理装置30Aの構成についてのみ説明し、情報処理装置30Bの構成の説明を省略する。図4は、実施の形態にかかる情報処理装置30A(30B)の構成を示すブロック図である。
情報処理装置30Aは、設定値情報記憶部300と、時刻カウント部301と、ハートビート送信部302と、ハートビート受信部303と、ダウン判定部304と、タイムアウト時間変更部305と、送信時間間隔変更部306とを有する。
時刻カウント部301、ハートビート送信部302、ハートビート受信部303、ダウン判定部304、タイムアウト時間変更部305、及び送信時間間隔変更部306は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、メモリなどの記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。
設定値情報記憶部300は、例えばメモリ、ストレージなどの記憶装置であり、上述の送信時間間隔の設定値及び上述のタイムアウト時間の設定値を記憶する。時刻カウント部301は、情報処理装置30Aの時刻をカウントする。ただし、時刻カウント部301による時刻のカウントは、情報処理装置30Aの負荷状況等に応じて、遅延する可能性がある。
ハートビート送信部302は、設定値情報記憶部300に記憶された設定値を参照し、設定された送信時間間隔で、ハートビートパケットを情報処理装置30Bに対して送信する。ハートビート送信部302が送信するハートビートパケットには、時刻カウント部301がカウントした時刻による送信時刻が含まれる。
ハートビート受信部303は、情報処理装置30Bが送信したハートビートパケットを受信する。なお、情報処理装置30Bが送信するハートビートパケットには、情報処理装置30Bの時刻カウント部301がカウントした時刻による送信時刻が含まれている。
ダウン判定部304は、設定値情報記憶部300に記憶された設定値を参照し、設定されたタイムアウト時間内に情報処理装置30Bからのハートビートパケットをハートビート受信部303が受信しない場合、情報処理装置30Bにダウンが発生したと判定する。
タイムアウト時間変更部305は、ハートビート受信部303により受信された時間的に連続する情報処理装置30Bからの2つのハートビートパケットの受信時刻の差が、これら2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長い時間へと変更する。すなわち、タイムアウト時間変更部305は、設定値情報記憶部300に記憶されたタイムアウト時間の設定値を書き換える。
言い換えると、タイムアウト時間変更部305は、情報処理装置30Bから前回受信したハートビートパケットの時刻カウント部301による受信時刻と情報処理装置30Bから今回受信したハートビートパケットの時刻カウント部301による受信時刻との差が、ハートビートパケットに含まれる送信時刻から算出される想定される受信間隔よりも大きい場合に、タイムアウト時間を変更する。
具体的には、以下の式(1)を満たす場合に、タイムアウト時間変更部305は、タイムアウト時間を所定値よりも長い時間へと変更する。
−Tn-1>T ・・・(1)
ここで、Tは今回受信したハートビートパケットの時刻カウント部301による受信時刻を示し、Tn-1は、前回受信したハートビートパケットの時刻カウント部301による受信時刻を示す。Tは、受信した2つのハートビートパケットに基づく、想定される受信間隔であり、例えば、以下の式(2)のように算出される。
T=T−Tm-1 ・・・(2)
ここで、Tは今回受信したハートビートパケットに含まれる送信時刻を示し、Tm-1は、前回受信したハートビートパケッに含まれる送信時刻を示す。
このようにタイムアウト時間変更部305は、上記式(1)が満たされる場合、相手装置すなわち情報処理装置30Bに遅延が発生していると判断し、タイムアウト時間を延ばす。
タイムアウト時間変更部305による変更後のタイムアウト時間は、例えば、予め定められた固定値であってもよいし、変更前のタイムアウト時間に対する固定倍率の時間であってもよい。すなわち、タイムアウト時間変更部305は、上記式(1)が満たされる場合、通常時のタイムアウト時間の例えば2倍の時間に変更してもよい。また、これに限らず、タイムアウト時間変更部305は、時間的に連続する2つのハートビートパケットの時刻カウント部301による受信時刻の差と、想定される受信間隔との乖離の程度に応じた時間だけタイムアウト時間を長くしてもよい。これにより、情報処理装置30Bの遅延の度合いに応じてタイムアウト時間を変更できるため、ダウン誤検知をより減らすことが可能となる。
また、タイムアウト時間変更部305は、タイムアウト時間を所定値よりも長い時間に変更した後、情報処理装置30Bの遅延が解消した際には、タイムアウト時間を所定値に戻すよう再度変更する。すなわち、情報処理装置30Bから前回受信したハートビートパケットの時刻カウント部301による受信時刻と情報処理装置30Bから今回受信したハートビートパケットの時刻カウント部301による受信時刻との差が、ハートビートパケットに含まれる送信時刻から算出される想定される受信間隔に等しくなった場合、タイムアウト時間変更部305は、タイムアウト時間を予め定められた時間へ戻す。さらに言い換えると、タイムアウト時間変更部305は、式(1)を満たした後、T−Tn-1=Tとなると、タイムアウト時間を元に戻す。
送信時間間隔変更部306は、ハートビート受信部303により受信された時間的に連続する情報処理装置30Bからの2つのハートビートパケットの受信時刻の差が、これら2つのハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも小さい場合に、ハートビートパケットの送信時間間隔を予め定められた時間間隔よりも短くする。すなわち、送信時間間隔変更部306は、設定値情報記憶部300に記憶された送信時間間隔の設定値を書き換える。
具体的には、以下の式(3)を満たす場合に、送信時間間隔変更部306は、送信時間間隔を所定値よりも短い時間間隔へと変更する。
−Tn-1<T ・・・(3)
このように送信時間間隔変更部306は、上記式(3)が満たされる場合、自装置すなわち情報処理装置30Aに遅延が発生していると判断し、送信時間間隔の設定値を小さくする。
送信時間間隔変更部306による変更後の送信時間間隔は、例えば、予め定められた固定値であってもよいし、変更前の送信時間間隔に対する固定倍率の時間間隔であってもよい。すなわち、送信時間間隔変更部306は、上記式(3)が満たされる場合、通常時の送信時間間隔の例えば1/2倍の時間間隔に変更してもよい。また、これに限らず、送信時間間隔変更部306は、時間的に連続する2つのハートビートパケットの時刻カウント部301による受信時刻の差と、想定される受信間隔との乖離の程度に応じた時間だけ送信時間間隔を短くしてもよい。これにより、自装置の遅延の度合いに応じて送信時間間隔を変更できるため、相手装置にダウン誤検知されることをより減らすことが可能となる。
また、送信時間間隔変更部306は、ハートビートパケットの送信時間間隔を短くするよう変更した後、自装置の遅延が解消した際には、送信時間間隔を所定値に戻すよう再度変更する。すなわち、情報処理装置30Bから前回受信したハートビートパケットの時刻カウント部301による受信時刻と情報処理装置30Bから今回受信したハートビートパケットの時刻カウント部301による受信時刻との差が、ハートビートパケットに含まれる送信時刻から算出される想定される受信間隔に等しくなった場合、送信時間間隔変更部306は、送信時間間隔を予め定められた時間間隔へ戻す。さらに言い換えると、送信時間間隔変更部306は、式(3)満たした後、T−Tn-1=Tとなると、送信時間間隔を元に戻す。
ここで、具体例を交えて情報処理装置30の動作について説明する。
(遅延が発生し始めた時の動作例)
まず、遅延の初期段階の動作について説明する。
情報処理装置30A及び情報処理装置30Bのハートビートパケットの送信時間間隔の現在の設定値は、いずれも1であるとする。すなわち、通常時の送信時間間隔が1であるものと仮定する。また、情報処理装置30A及び情報処理装置30Bのタイムアウト時間の現在の設定値は、いずれも3であるとする。すなわち、通常時のタイムアウト時間が3であるものと仮定する。ここで、情報処理装置30Bに遅延が発生したとする。
図5は、実際の時刻と、情報処理装置30Aの時刻カウント部301による時刻と、情報処理装置30Bの時刻カウント部301による時刻とを比較する表であり、遅延が発生し始めた時の一例を示している。
情報処理装置30Aは遅延が発生していないため、情報処理装置30Aにおける時刻カウント部301による時刻と実際の時刻との間にずれがない。このため、情報処理装置30Aの送信時間間は、実際の時刻を基準として見ても、1である。これに対し、情報処理装置30Bは遅延が発生しているため、情報処理装置30Bにおける時刻カウント部301による時刻は、実際の時刻に比べて遅れている。このため、情報処理装置30Bは、自身の時刻カウント部301の時刻に従って、設定された送信時間間隔でハートビートパケットを送信するが、実際の時刻における時刻1と時刻3での送信となってしまっている。このため、情報処理装置30Bの送信時間間隔は、実際の時刻を基準としてみると、2である。
ここで、情報処理装置30Aは、次のように動作する。情報処理装置30Aが情報処理装置30Bから受信した直近の2つのハートビートパケットに含まれる時刻情報は、1と2である。これに対し、受信時刻(情報処理装置30Aの時刻カウント部301による時刻)は、1と3である。すなわち、T=2、Tm−1=1、T=3、Tn−1=1である。したがって、上記式(1)が満たされるため、情報処理装置30Aのタイムアウト時間変更部305は、タイムアウト時間の設定値を例えば6に変更する。
一方、情報処理装置30Bは、次のように動作する。情報処理装置30Bが情報処理装置30Aから受信した直近の2つのハートビートパケットに含まれる時刻情報は、2と3である。これに対し、受信時刻(情報処理装置30Bの時刻カウント部301による時刻)は、1.5と2である。すなわち、T=3、Tm−1=2、T=2、Tn−1=1.5である。したがって、上記式(3)が満たされるため、情報処理装置30Bの送信時間間隔変更部306は、ハートビートパケットの送信時間間隔の設定値を例えば0.5に変更する。
(遅延が拡大した時の動作例)
次に、情報処理装置30Bにおいて、遅延が拡大した時の動作について説明する。すなわち、情報処理装置30Bが遅延の初期段階の後の本格的な遅延状態に陥った際の動作について説明する。なお、情報処理装置30Aのハートビートパケットの送信時間間隔の現在の設定値は1のままである。これに対し、情報処理装置30Bのハートビートパケットの送信時間間隔の現在の設定値は、0.5に変更されている。また、情報処理装置30Bのタイムアウト時間の現在の設定値は、3のままである。これに対し、情報処理装置30Aのタイムアウト時間の現在の設定値は、6に変更されている。
図6は、実際の時刻と、情報処理装置30Aの時刻カウント部301による時刻と、情報処理装置30Bの時刻カウント部301による時刻とを比較する表であり、本格的な遅延状態に陥った際の一例を示している。なお、図6では、理解を容易にするために、表中に記載の開始時刻は1としている。
情報処理装置30Aは遅延が発生していないため、情報処理装置30Aの送信時間間隔は、実際の時刻を基準として見ても、1である。これに対し、情報処理装置30Bは遅延が拡大しているため、情報処理装置30Bにおける時刻カウント部301による時刻は、実際の時刻に比べてさらに遅れている。このため、情報処理装置30Bは、自身の時刻カウント部301の時刻に従って、設定された送信時間間隔(0.5)でハートビートパケットを送信するが、実際の時刻における時刻1と時刻6での送信となってしまっている。このため、情報処理装置30Bの送信時間間隔は、実際の時刻を基準としてみると、5である。
ここで、情報処理装置30Aは、次のように動作する。情報処理装置30Aが情報処理装置30Bから受信した直近の2つのハートビートパケットに含まれる時刻情報は、1と1.5である。これに対し、受信時刻(情報処理装置30Aの時刻カウント部301による時刻)は、1と6である。すなわち、T=1.5、Tm−1=1、T=6、Tn−1=1である。したがって、上記式(1)が満たされるため、情報処理装置30Aのタイムアウト時間変更部305は、タイムアウト時間の設定値を変更値である6のまま維持する。
ここで、情報処理装置30Aにおけるタイムアウト時間は6に設定されているため、情報処理装置30Bの送信時間間隔が5(=T−Tn−1)であるが、情報処理装置30Aのダウン判定部304は、情報処理装置30Bをダウンしていると検知しない。すなわち、ダウン判定部304は、誤検知しない。
一方、情報処理装置30Bは、次のように動作する。情報処理装置30Bが情報処理装置30Aから受信した直近の2つのハートビートパケットに含まれる時刻情報は、5と6である。これに対し、受信時刻(情報処理装置30Bの時刻カウント部301による時刻)は、1.4と1.5である。すなわち、T=6、Tm−1=5、T=1.5、Tn−1=1.4である。したがって、上記式(3)が満たされるため、情報処理装置30Bの送信時間間隔変更部306は、ハートビートパケットの送信時間間隔の設定値を変更値である0.5のまま維持する。
(遅延が解消した時の動作例)
次に、情報処理装置30Bにおいて、遅延が解消した時の動作について説明する。なお、情報処理装置30Aのハートビートパケットの送信時間間隔の現在の設定値は1のままであり、情報処理装置30Bのハートビートパケットの送信時間間隔の現在の設定値は、0.5のままである。また、情報処理装置30Bのタイムアウト時間の現在の設定値は、3のままであり、情報処理装置30Aのタイムアウト時間の現在の設定値は、6のままである。
図7は、実際の時刻と、情報処理装置30Aの時刻カウント部301による時刻と、情報処理装置30Bの時刻カウント部301による時刻とを比較する表であり、遅延が解消した時の一例を示している。なお、図7では、理解を容易にするために、表中に記載の開始時刻は1としている。
情報処理装置30Aは遅延が発生していないため、情報処理装置30Aの送信時間間隔は、実際の時刻を基準として見ても、1である。情報処理装置30Bは遅延が解消しており、情報処理装置30Bにおける時刻カウント部301による時刻と実際の時刻との間にずれがない。ただし、情報処理装置30Bの送信時間間隔は、0.5に設定されているため、情報処理装置30Bは、実際の時刻を基準として見ても、0.5間隔でハートビートパケットを送信する。
ここで、情報処理装置30Aは、次のように動作する。情報処理装置30Aが情報処理装置30Bから受信した直近の2つのハートビートパケットに含まれる時刻情報は、2.5と3である。また、受信時刻(情報処理装置30Aの時刻カウント部301による時刻)も、2.5と3である。すなわち、T=3、Tm−1=2.5、T=3、Tn−1=2.5である。したがって、T−Tn-1=Tとなるため、情報処理装置30Aのタイムアウト時間変更部305は、タイムアウト時間の設定値を元の値である3に戻す。
一方、情報処理装置30Bは、次のように動作する。情報処理装置30Bが情報処理装置30Aから受信した直近の2つのハートビートパケットに含まれる時刻情報は、2と3である。また、受信時刻(情報処理装置30Bの時刻カウント部301による時刻)も、2と3である。すなわち、T=3、Tm−1=2、T=3、Tn−1=2である。したがって、T−Tn-1=Tとなるため、情報処理装置30Bの送信時間間隔変更部306は、ハートビートパケットの送信時間間隔の設定値を元の値である1に戻す。
次に、情報処理装置30におけるハートビートパケットの送信処理及び受信処理に関わる動作についてフローチャートに基づいて説明する。
図8は、情報処理装置30におけるハートビートパケットの送信処理に関わる動作について示すフローチャートである。
ステップ100(S100)において、ハートビート送信部302は、ハートビートパケットに時刻カウント部301によりカウントされた現在の時刻情報を入れる。
ステップ101(S101)において、ハートビート送信部302は、相手サーバにハートビートパケットを送信する。
ステップ102(S102)において、ハートビート送信部302は、設定値情報記憶部300を参照し、現在設定されている送信時間間隔だけスリープする。設定されている送信時間間隔が経過すると、再びステップ100〜102の処理を行う。
図9は、情報処理装置30におけるハートビートパケットの受信処理に関わる動作について示すフローチャートである。
ステップ200(S200)において、ハートビート受信部303は、相手サーバから送信されるハートビートパケットを待ち受ける。ハートビート受信部303が設定されているタイムアウト時間内に相手サーバからハートビートパケットを受信できない場合、処理はステップ201へ移行する。これに対し、ハートビート受信部303が設定されているタイムアウト時間内に相手サーバからハートビートパケットを受信した場合、処理はステップ202へ移行する。
ステップ201(S201)では、ダウン判定部304が、相手サーバがダウンしていると判定する。
一方、ステップ202(S202)では、相手サーバ又は自サーバの遅延が判定される。具体的には、TとTn−1の差分とTとTm−1の差分とが比較され、上記式(1)又は上記式(3)が満たされるか否かが判定される。上記式(3)を満たす場合、自サーバが遅延しているとして、処理はステップ203へ移行する。また、上記式(1)を満たす場合、相手サーバが遅延しているとして、処理はステップ204へ移行する。さらに、上記式(1)も式(3)も満たさない場合、遅延が発生していなものとして、処理はステップ205へ移行する。なお、処理は、ステップ203、204又は205を実施後、再び、ステップ200に戻る。
ステップ203(S203)では、送信時間間隔変更部306が、ハートビートパケットの送信時間間隔を予め定められた時間間隔よりも短くするよう設定値を変更する。なお、既に、予め定められた時間間隔よりも短い設定値へと変更済みである場合には、送信時間間隔変更部306は、変更された設定値を維持する。
ステップ204(S204)では、タイムアウト時間変更部305が、タイムアウト時間を予め定められた時間よりも長くするよう設定値を変更する。なお、既に、予め定められた時間よりも長い設定値へと変更済みである場合には、タイムアウト時間変更部305は、変更された設定値を維持する。
ステップ205(S205)では、送信時間間隔変更部306は、送信時間間隔の設定値を予め定められた時間間隔(通常時の送信時間間隔)へと戻す。なお、既に、設置値が通常時の送信時間間隔である場合には、送信時間間隔変更部306は、現在の設定値を維持する。また、タイムアウト時間変更部305は、タイムアウト時間の設定値を予め定められた時間(通常時のタイムアウト時間)へと戻す。なお、既に、設置値が通常時のタイムアウト時間である場合には、タイムアウト時間変更部305は、現在の設定値を維持する。
以上、実施の形態について説明した。
ところで、ダウンの誤判定を抑制する方法としては、上記の方法以外に、例えば、以下のような方法も考え得る。
例えば、タイムアウト時間の設定値を常に長く設定しておくことで、相手サーバに遅延が発生しても、相手サーバをサーバダウンと誤検知しにくくすることができる。しかし、この方法では、タイムアウト時間の設定値が常に長いため、実際にサーバダウンが発生した場合に、それが検知されるまでに常に多くの時間を要してしまうというデメリットがある。サーバダウンを検知するまでに多くの時間を要すると、クラスタシステムにより提供される業務プログラムはその間、停止したままの状態となってしまい好ましくない。
また、他の方法として、例えば、ハートビートの送信間隔の設定値を常に短く設定しておくことで、自サーバに遅延が発生しても、遅延の影響を受けにくくすることができる。すなわち、相手サーバに、サーバダウンと誤検知されることを防ぐことができる。しかし、この方法の場合、正常時も送信間隔が短いため、余計なネットワーク負荷をかけることになる。
また、例えば、ハートビートの受信がタイムアウトした場合、ネットワーク経由で強制的に相手サーバを電源断することで、誤検知であったとしても強制的にサーバを停止させるという方法も考えられる。これにより、両方のサーバで業務プログラムが並行して稼働してしまうことを防ぐことができる。しかし、強制的にサーバを電源断することはサーバのファイルシステムの破壊を招く可能性があるというデメリットがある。
また、別の方法として、例えば、システム外の第3者(例えば、BMC(Baseboard Management Controller)や、仮想マシンを用いる場合におけるホストOS等から、サーバの電源状態を確認することで、サーバの起動状態を確認することができる。しかし、システム外の第3者等の信頼性は、その第3者等のシステム構成に依存する。また、サーバの電源状態が分かったとしても、その上で動作しているクラスタの状態までは判断できない。さらに、当然ながら、システム外の第3者等が存在していないとこの方法は採用できない。
これに対し、上記実施の形態にかかるHAクラスタシステム1によれば、上述の欠点を補いつつ、ダウンの誤判定を抑制することができる。これにより複数のサーバで業務が並行して稼働してしまい、HAクラスタシステムが不正な状態となることを防ぐことができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記の実施の形態では、算出される受信間隔(T)は、式(2)に示される定義に限らず、予め定められた許容誤差を含んでもよい。この場合、例えば、タイムアウト時間変更部305において用いられる受信間隔Tは、以下の式(4)により表されてもよい。なお、Tは、許容誤差を表す。
T=T−Tm-1+T ・・・(4)
また、この場合、例えば、送信時間間隔変更部306において用いられる受信間隔Tは、以下の式(5)により表されてもよい。
T=T−Tm-1−T ・・・(5)
また、上記の実施の形態では、情報処理装置30は、タイムアウト時間変更部305及び送信時間間隔変更部306を備えるものとして説明したが、タイムアウト時間変更部305又は送信時間間隔変更部306のいずれか一方を備える構成としてもよい。ただし、情報処理装置30は、タイムアウト時間変更部305及び送信時間間隔変更部306の両方を備えることが好ましい。これは、次のような理由による。
送信時間間隔変更部306のみの場合、遅延が発生しているサーバ側の状態によっては送信間隔が短過ぎると、設定通りに動作できない可能性がある。特に、ホストOS又はハイパーバイザ側の高負荷によって仮想サーバの遅延が発生している場合、エミュレートされた仮想サーバのNIC(Network Interface Card)及びネットワークも健全に動作できていない可能性がある。また、タイムアウト時間を延ばし過ぎると、本当にサーバが停止した場合に検知が遅くなるため、タイムアウト時間を際限なく長くすることはできない。このため、タイムアウト時間の変更のみに頼るのは好ましくない。したがって、タイムアウト時間変更部305及び送信時間間隔変更部306を併用することで、タイムアウト時間を際限なく長くすることなく、サーバの停止を誤検知することを防ぐことができる。
また、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
自装置の時刻をカウントする時刻カウント手段と、
送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビート受信手段と、
前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、
前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段と
を有する情報処理装置。
(付記2)
前記タイムアウト時間変更手段は、前記タイムアウト時間を変更した場合、前記2つの受信時刻の差が、前記算出される受信間隔に等しいとき、前記タイムアウト時間を前記予め定められた時間へ戻す
付記1に記載の情報処理装置。
(付記3)
設定された送信時間間隔で、前記時刻カウント手段がカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビート送信手段と、
前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更手段と
をさらに有する付記1又は2に記載の情報処理装置。
(付記4)
前記送信時間間隔変更手段は、前記送信時間間隔を変更した場合、前記2つの受信時刻の差が、前記算出される受信間隔に等しいとき、前記送信時間時間を前記予め定められた時間間隔へ戻す
付記3に記載の情報処理装置。
(付記5)
前記算出される受信間隔は、予め定められた許容誤差を含む
付記1乃至4のいずれか1項に記載の情報処理装置。
(付記6)
前記タイムアウト時間変更手段は、前記2つの受信時刻の差と前記算出される受信間隔との乖離の程度に応じた時間だけ前記タイムアウト時間を長くする
付記1に記載の情報処理装置。
(付記7)
前記信時間間隔変更手段は、前記2つの受信時刻の差と前記算出される受信間隔との乖離の程度に応じた時間だけ前記送信時間間隔を短くする
付記3に記載の情報処理装置。
(付記8)
送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、
受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、
前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップと
を有するダウン判定方法。
(付記9)
設定された送信時間間隔で、ハートビートパケットを送信するハートビートパケット送信ステップと、
前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更ステップと
をさらに有し、
前記ハートビートパケット送信ステップで送信されるハートビートパケットは、該ハートビートパケットを送信する装置のカウントした時刻による送信時刻を含む
する付記8に記載のダウン判定方法。
(付記10)
複数の情報処理装置を備え、
前記複数の情報処理装置は、それぞれ、
自装置の時刻をカウントする時刻カウント手段と、
設定された送信時間間隔で、前記複数の情報処理装置のうちの他の情報処理装置に、前記時刻カウント手段がカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビート送信手段と、
前記他の情報処理装置がカウントした時刻による送信時刻が含まれるハートビートパケットを、前記他の情報処理装置から受信するハートビート受信手段と、
前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、
前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更手段と
前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段と
を有するクラスタシステム。
(付記11)
送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、
受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、
前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップと
を情報処理装置のコンピュータに実行させるプログラム。
(付記12)
設定された送信時間間隔で、前記情報処理装置のカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビートパケット送信ステップと、
前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更ステップと
をさらに前記コンピュータに実行させる付記11に記載のプログラム。
1 HAクラスタシステム
10、20、30A、30B 情報処理装置
11、21、301 時刻カウント部
12、22、303 ハートビート受信部
13、305 タイムアウト時間変更部
14、304 ダウン判定部
23、302 ハートビート送信部
24、306 送信時間間隔変更部
31 ネットワーク
300 設定値情報記憶部

Claims (10)

  1. 自装置の時刻をカウントする時刻カウント手段と、
    送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビート受信手段と、
    前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、
    前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段と
    を有する情報処理装置。
  2. 前記タイムアウト時間変更手段は、前記タイムアウト時間を変更した場合、前記2つの受信時刻の差が、前記算出される受信間隔に等しいとき、前記タイムアウト時間を前記予め定められた時間へ戻す
    請求項1に記載の情報処理装置。
  3. 設定された送信時間間隔で、前記時刻カウント手段がカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビート送信手段と、
    前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更手段と
    をさらに有する請求項1又は2に記載の情報処理装置。
  4. 前記算出される受信間隔は、予め定められた許容誤差を含む
    請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記タイムアウト時間変更手段は、前記2つの受信時刻の差と前記算出される受信間隔との乖離の程度に応じた時間だけ前記タイムアウト時間を長くする
    請求項1に記載の情報処理装置。
  6. 送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、
    受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、
    前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップと
    を有するダウン判定方法。
  7. 設定された送信時間間隔で、ハートビートパケットを送信するハートビートパケット送信ステップと、
    前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更ステップと
    をさらに有し、
    前記ハートビートパケット送信ステップで送信されるハートビートパケットは、該ハートビートパケットを送信する装置のカウントした時刻による送信時刻を含む
    請求項6に記載のダウン判定方法。
  8. 複数の情報処理装置を備え、
    前記複数の情報処理装置は、それぞれ、
    自装置の時刻をカウントする時刻カウント手段と、
    設定された送信時間間隔で、前記複数の情報処理装置のうちの他の情報処理装置に、前記時刻カウント手段がカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビート送信手段と、
    前記他の情報処理装置がカウントした時刻による送信時刻が含まれるハートビートパケットを、前記他の情報処理装置から受信するハートビート受信手段と、
    前記ハートビート受信手段により受信された時間的に連続する2つの前記ハートビートパケットについての前記時刻カウント手段による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更手段と、
    前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更手段と
    前記タイムアウト時間内に送信側の装置からのハートビートパケットを前記ハートビート受信手段が受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定手段と
    を有するクラスタシステム。
  9. 送信側の装置がカウントした時刻による送信時刻が含まれるハートビートパケットを受信するハートビートパケット受信ステップと、
    受信した時間的に連続する2つの前記ハートビートパケットについての、受信側の装置のカウントした時刻による2つの受信時刻の差が、該2つの前記ハートビートパケットに含まれる2つの送信時刻の差に基づいて算出される受信間隔よりも大きい場合に、タイムアウト時間を予め定められた時間よりも長くするタイムアウト時間変更ステップと、
    前記タイムアウト時間内に前記送信側の装置からのハートビートパケットを受信しない場合、前記送信側の装置にダウンが発生したと判定するダウン判定ステップと
    を情報処理装置のコンピュータに実行させるプログラム。
  10. 設定された送信時間間隔で、前記情報処理装置のカウントした時刻による送信時刻が含まれるハートビートパケットを送信するハートビートパケット送信ステップと、
    前記2つの受信時刻の差が、前記算出される受信間隔よりも小さい場合に、前記送信時間間隔を予め定められた時間間隔よりも短くする送信時間間隔変更ステップと
    をさらに前記コンピュータに実行させる請求項9に記載のプログラム。
JP2015189314A 2015-09-28 2015-09-28 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム Active JP6551111B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015189314A JP6551111B2 (ja) 2015-09-28 2015-09-28 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015189314A JP6551111B2 (ja) 2015-09-28 2015-09-28 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017068309A true JP2017068309A (ja) 2017-04-06
JP6551111B2 JP6551111B2 (ja) 2019-07-31

Family

ID=58494767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015189314A Active JP6551111B2 (ja) 2015-09-28 2015-09-28 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム

Country Status (1)

Country Link
JP (1) JP6551111B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109991893A (zh) * 2017-12-29 2019-07-09 深圳市云海物联科技有限公司 一种开关控制盒
CN114244754A (zh) * 2021-11-30 2022-03-25 慧之安信息技术股份有限公司 一种设备在线状态计算方法和装置
CN117294750A (zh) * 2023-11-27 2023-12-26 杭州涂鸦信息技术有限公司 调整mqtt心跳频率的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293030A (ja) * 1996-04-25 1997-11-11 Nec Eng Ltd 応答監視タイマ設定システム
JP2002314632A (ja) * 2001-04-16 2002-10-25 Denso Corp 電子制御装置
WO2008126325A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム
JP2009271857A (ja) * 2008-05-09 2009-11-19 Toshiba Corp 計算機システム
JP2015033093A (ja) * 2013-08-06 2015-02-16 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293030A (ja) * 1996-04-25 1997-11-11 Nec Eng Ltd 応答監視タイマ設定システム
JP2002314632A (ja) * 2001-04-16 2002-10-25 Denso Corp 電子制御装置
WO2008126325A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム
JP2009271857A (ja) * 2008-05-09 2009-11-19 Toshiba Corp 計算機システム
JP2015033093A (ja) * 2013-08-06 2015-02-16 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109991893A (zh) * 2017-12-29 2019-07-09 深圳市云海物联科技有限公司 一种开关控制盒
CN114244754A (zh) * 2021-11-30 2022-03-25 慧之安信息技术股份有限公司 一种设备在线状态计算方法和装置
CN117294750A (zh) * 2023-11-27 2023-12-26 杭州涂鸦信息技术有限公司 调整mqtt心跳频率的方法和装置
CN117294750B (zh) * 2023-11-27 2024-03-01 杭州涂鸦信息技术有限公司 调整mqtt心跳频率的方法和装置

Also Published As

Publication number Publication date
JP6551111B2 (ja) 2019-07-31

Similar Documents

Publication Publication Date Title
US10601643B2 (en) Troubleshooting method and apparatus using key performance indicator information
US10715411B1 (en) Altering networking switch priority responsive to compute node fitness
US10042583B2 (en) Device management method, device, and device management controller
EP3564816A1 (en) Call chain-based concurrency control method, device, and control node
US10547499B2 (en) Software defined failure detection of many nodes
US9210059B2 (en) Cluster system
WO2015058711A1 (zh) 故障快速检测方法及装置
JPWO2008105031A1 (ja) クラスタシステムおよびノード切り替え方法
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
JP6551111B2 (ja) 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム
US20200186410A1 (en) Cluster system, cluster system control method, server device, control method, and non-transitory computer-readable medium storing program
US20160154722A1 (en) Access point group controller failure notification system
US8108736B2 (en) Multi-partition computer system, failure handling method and program therefor
JP6838334B2 (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
CN108141374A (zh) 一种网络亚健康诊断方法及装置
JP6790667B2 (ja) クラスタシステム、サーバ、動作方法、及びプログラム
JP6237055B2 (ja) ライセンス管理システム、装置、方法及びプログラム
US11314573B2 (en) Detection of event storms
CN112994977A (zh) 一种服务器主机高可用的方法
CN102638369A (zh) 一种主备倒换的仲裁方法、装置和系统
JP2022054351A (ja) 監視システムおよび障害監視方法
US11150980B2 (en) Node device, recovery operation control method, and non-transitory computer readable medium storing recovery operation control program
KR101883251B1 (ko) 가상 시스템에서 장애 조치를 판단하는 장치 및 그 방법
US10122588B2 (en) Ring network uplink designation
WO2024179028A1 (zh) 基于云技术的探测方法及云管理平台

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R150 Certificate of patent or registration of utility model

Ref document number: 6551111

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150