JP2017083935A - 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム - Google Patents

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

Info

Publication number
JP2017083935A
JP2017083935A JP2015208755A JP2015208755A JP2017083935A JP 2017083935 A JP2017083935 A JP 2017083935A JP 2015208755 A JP2015208755 A JP 2015208755A JP 2015208755 A JP2015208755 A JP 2015208755A JP 2017083935 A JP2017083935 A JP 2017083935A
Authority
JP
Japan
Prior art keywords
information processing
packet
heartbeat
transmission
time
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
JP2015208755A
Other languages
English (en)
Other versions
JP6561766B2 (ja
Inventor
圭一 割石
Keiichi Wariishi
圭一 割石
孝昌 大竹
Takamasa Otake
孝昌 大竹
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 JP2015208755A priority Critical patent/JP6561766B2/ja
Publication of JP2017083935A publication Critical patent/JP2017083935A/ja
Application granted granted Critical
Publication of JP6561766B2 publication Critical patent/JP6561766B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数のフェールオーバー先の候補から、性能面で最適なフェールオーバー先を選択することができる情報処理装置、クラスタシステム、クラスタリング方法、及びプログラムを提供する。
【解決手段】情報処理装置10は、ハートビート送信部101と、応答パケット受信部102と、決定部103とを有する。ハートビート送信部101は、自装置とともにクラスタを構成する複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信する。応答パケット受信部102は、ハートビートパケットを受信した他の情報処理装置が予め定められた処理の実行に要した処理時間を含む、ハートビートパケットに対する応答パケットを他の情報処理装置から受信する。決定部103は、ハートビートパケットの送受信時間及び処理時間に基づいて、複数の他の情報処理装置からフェールオーバー先を決定する。
【選択図】図1

Description

本発明は、情報処理装置、クラスタシステム、クラスタリング方法、及びプログラムに関する。
近年、クラウド環境でのシステム構築が増えてきている。これに伴って、災害発生時などでも業務を継続可能とする仕組みのひとつであるHA(High Availability:高可用性)クラスタシステムもクラウド環境で利用及び運用可能な仕組みにしていく必要がある。
クラウド環境は、物理環境とは異なり、一台一台のノードが固定されているわけではない。そのため、いずれかのノードが停止すると、新たなノードが起動する。ノードは、クラウド環境ごとのエリアに分かれて管理されており、クラスタを構成するノードが入れ替わるたびに性能に影響する可能性がある。
HAクラスタシステムは、実際にサービスを提供する現用系のノードと、現用系のノードに障害等が発生した場合にサービスを引き継いで提供する待機系のノードで構成される。すなわち、HAクラスタシステムは、現用系のノードに障害等が発生した場合、フェールオーバーを実施する。
上述の通り、クラウド環境において、クラスタを構成するノードはひとつのエリアに固定されているわけではない。すなわち、クラスタを構成するノードが、クラウド環境ごとのライフサイクル(インスタンスの停止又は起動などといったサイクル)に応じて、クラウド環境上の別のエリアのノードに切り替わることがある。エリアが変更された影響で元のエリアに比べてネットワークの応答速度が低下したり、別のノードに切り替わることでノードの性能が不定になったりする恐れがある。このため、フェールオーバーが行われる場合、いずれのノードがフェールオーバー先として選択されるかによってクラスタシステムの性能が左右される。
フェールオーバー後のクラスタシステムにより提供されるサービスの質は重要である。これに関し、特許文献1では、要求されるサービスの水準に応じたフェールオーバーを実現するため、第1ノードに障害が発生した場合に、第1ノードが管理する複数のソフトウェアリソースについて、優先順位にしたがって第1のノードから第2のノードへのフェールオーバーを実施するクラスタシステムについて開示している。
特開2006−260357号公報
フェールオーバー先の候補となるノードが複数ある場合、これら候補のうちいずれがフェールオーバー先となるかによって、フェールオーバー後のクラスタシステムの性能が異なる。したがって、フェールオーバー先の候補となるノードが複数ある場合において、最も性能のよいノードをフェールオーバー先として選択することが求められている。
特許文献1に記載されたクラスタシステムでは、フェールオーバー対象のソフトウェアリソースを優先順位に従ってフェールオーバーする技術について開示するに留まり、複数のフェールオーバー先から最適なノードを選択することについては開示されていない。
本発明の目的は、このような課題を解決するためになされたものであり、複数のフェールオーバー先の候補から、性能面で最適なフェールオーバー先を選択することができる情報処理装置、クラスタシステム、クラスタリング方法、及びプログラムを提供することにある。
本発明の一態様にかかる情報処理装置は、自装置とともにクラスタを構成する複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信手段と、前記ハートビートパケットを受信した前記他の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記他の情報処理装置から受信する応答パケット受信手段と、前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定手段とを有する。
また、本発明の一態様にかかるクラスタシステムは、現用系又は待機系のいずれかとして動作する、クラスタを構成する複数の情報処理装置を備え、前記複数の情報処理装置のうち少なくとも現用系として動作する情報処理装置は、他の前記情報処理装置のそれぞれに対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信手段と、前記ハートビートパケットを受信した他の前記情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを他の前記情報処理装置から受信する応答パケット受信手段と、前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定手段とを有し、前記複数の情報処理装置のうち待機系として動作する情報処理装置は、前記ハートビートパケットによる要求に応じて前記予め定められた処理を実行する処理実行手段と、前記処理時間を含む前記応答パケットを送信する応答パケット送信手段とを有する。
また、本発明の一態様にかかるクラスタリング方法は、クラスタを構成する複数の情報処理装置のいずれかである第1の情報処理装置から、前記複数の情報処理装置から前記第1の情報処理装置を除いた複数の他の情報処理装置である第2の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、前記ハートビートパケットを受信した前記第2の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記第2の情報処理装置から前記第1の情報処理装置が受信する応答パケット受信ステップと、前記第1の情報処理装置が前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記第2の情報処理装置の中からフェールオーバー先を決定する決定ステップとを有する。
また、本発明の一態様にかかるプログラムは、複数の他の情報処理装置とともにクラスタを構成する情報処理装置のコンピュータに、前記複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、前記ハートビートパケットを受信した前記他の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記他の情報処理装置から受信する応答パケット受信ステップと、前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定ステップとを実行させるプログラムである。
本発明によれば、複数のフェールオーバー先の候補から、性能面で最適なフェールオーバー先を選択することができる情報処理装置、クラスタシステム、クラスタリング方法、及びプログラムを提供することができる。
実施の形態の概要にかかる情報処理装置の構成を示すブロック図である。 実施の形態1にかかるクラスタシステムの構成を示すブロック図である。 実施の形態1にかかるクラスタシステムの他の構成を示すブロック図である。 実施の形態1にかかるノードの構成を示すブロック図である。 実施の形態1にかかるクラスタウェアの構成を示すブロック図である。 実施の形態1にかかるクラスタシステムにおけるハートビートパケットの送信の様子を示す模式図である。 記憶部に記憶された送信時刻、受信時刻及び処理時間の例を示す図である。 実施の形態1にかかるクラスタシステムにおけるハートビートパケットの送受信動作の一例を示すシーケンスチャートである。 実施の形態1にかかる決定部によるフェールオーバー先の決定動作の流れを示すフローチャートである。 実施の形態1にかかるクラスタシステムの構成の一例を示すブロック図であり、ノードが切り替わる前の構成を示している。 図10に示されるクラスタシステムについて、ノードが切り替わった後の構成を示している。 実施の形態2にかかるクラスタウェアの構成を示すブロック図である。 実施の形態2にかかる予測部による予測について示す図である。 実施の形態2にかかるクラスタシステムにおけるフェールオーバー先の決定動作について示すフローチャートである。 待機系であるノードが取得した応答結果のリストの一例を示す。 実施の形態3にかかるクラスタウェアの構成を示すブロック図である。 実施の形態3にかかるクラスタウェアにおけるフェールオーバーの要求動作の一例について示すフローチャートである。
<本発明にかかる実施の形態の概要>
実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。図1は、実施の形態の概要にかかる情報処理装置10の構成を示すブロック図である。情報処理装置10は、他の図示しない複数の情報処理装置とともにクラスタを構成する。情報処理装置10は、自装置から他の情報処理装置へ、又は他の情報処理装置から自装置へとフェールオーバーを実施する。ここで、情報処理装置10は、図1に示されるように、ハートビート送信部101と、応答パケット受信部102と、決定部103とを有する。
ハートビート送信部101は、情報処理装置10とともにクラスタを構成する上述の複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケット(以下、処理要求HBパケットという)を送信する。予め定められた処理は、演算内容が予め定められた、不変である処理である。この予め定められた処理の一例としては、例えば、円周率の計算などといった定常状態において数秒程度で完了する処理が挙げられるが、これに限られない。
処理要求HBパケットを受信した各情報処理装置は、それぞれ、予め定められた処理を実行する。そして、処理要求HBパケットを受信した各情報処理装置は、この予め定められた処理の実行に要した処理時間を含む応答パケットを情報処理装置10に対して送信する。
応答パケット受信部102は、処理要求HBパケットに対する応答パケットを他の各情報処理装置から受信する。決定部103は、処理要求HBパケットの送受信時間及びこの処理時間に基づいて、複数の他の情報処理装置からフェールオーバー先を決定する。
このように、情報処理装置10は、フェールオーバー先の候補である情報処理装置ごとに、情報処理装置の負荷状況、通信の負荷状況を確認する。そして、確認した負荷状況に基づいて、最適なフェールオーバー先を決定することができる。したがって、各情報処理装置の負荷状況が動的に変化する環境下であっても、性能面で最適なフェールオーバー先を動的に選択することができる。
<実施の形態1>
以下、実施の形態1について説明する。図2は、実施の形態1にかかるクラスタシステム1の構成を示すブロック図である。図2に示すように、クラスタシステム1は、複数のノード(図2に示した例では、ノード10_1、10_2、及び10_3)を有し、これらノードによりクラスタが構成されている。図2に示した例では、ノード10_1及びノード10_2は、エリア2に属するノードである。また、ノード10_3は、エリア3に属するノードである。ここで、エリア2とエリア3は、クラウド環境において、それぞれ地理的に離れた領域である。つまり、エリアは、地理的に他と区別可能な領域をいう。このため、例えば、エリア2とエリア3は、物理的な設備が別々になっている。各エリアは、ネットワーク4により相互に通信可能に接続されている。したがって、クラスタシステム1を構成する各ノードは、ネットワーク4又はエリア内の図示しないネットワークを介して、相互に通信可能に接続されている。
ここで、「ノード」とは、ソフトウェアを実行するハードウェアや、仮想マシン等に相当するものであり、典型的には、OS(Operating System)の動作単位に対応するものである。なお、本明細書において、ノードは情報処理装置と称されることもある。本実施の形態において、ノードは、仮想マシンを使用したクラウドコンピューティング基盤を用いた環境であるクラウド環境により実現される。
クラスタシステム1は、現用系として動作するノードと、待機系として動作するノードとを有する。例えば、ある時点において、ノード10_1が現用系として動作し、ノード10_2及びノード10_3が待機系として動作する。クラスタシステム1は、通常時、現用系として動作しているノードにより所定のサービスを提供し、現用系として動作しているノードに障害等が発生した際に、フェールオーバーを実施し、それまで現用系として動作していたノードに代わりそれまで待機系として動作していたノードが現用系として所定のサービスを引き継ぐHAクラスタシステムである。
上述の通り、クラウド環境では、クラスタシステム1を構成するノードは固定されていない。このため、ある時点においては、クラスタシステム1は、例えば図2に示されるノード10_1、ノード10_2、及びノード10_3で構成されるが、別の時点では例えば図3に示されるノード10_1、ノード10_2、及びノード10_4で構成される。すなわち、図3に示した例では、エリア2のノード10_2が停止し、エリア3のノード10_4が起動することにより、クラスタシステム1を構成するノードの一つが別のエリアへと移動している。このようにクラウド環境の場合、クラスタシステム1を構成するノードが変動する。すなわち、フェールオーバー先の候補となるノードが変動しており、フェールオーバー先の候補の性能も変動する。このため、最適なフェールオーバー先を選択することが難しい。
なお、以下の説明では、ノード10_1、10_2、10_3、10_4などといったノード10_nについて、特に区別せずに言及する場合には、これらをまとめてノード10と称すこととする。
図4は、ノード10の構成を示すブロック図である。図4に示されるように、ノード10は、クラスタウェア100と、OS200と、所定のサービスを提供するアプリケーションソフトウェアであるサービスアプリケーション300と、記憶部400とを有する。また、ノード10は、CPU(Central Processing Unit)及びメモリなどを有し、コンピュータとしての機能を備えている。
クラスタウェア100は、他のノードのクラスタウェア100と協働し、ノード間で連携した動作が可能なように調整する。具体的には、例えば、クラスタウェア100は、自ノード及び他ノードの障害などの異常の有無を監視する。また、クラスタウェア100は、ノードに障害等の異常が発生した場合に、フェールオーバーを実施し、別のノードにより所定サービスを提供するよう、サービスアプリケーションの起動を切替える。
ここで、フェールオーバー先の決定に関するクラスタウェア100の構成について、具体的に説明する。図5は、クラスタウェア100の構成を示すブロック図である。図5に示すように、クラスタウェア100は、ハートビート送信部101と、応答パケット受信部102と、決定部103と、フェールオーバー実行部104と、ハートビート受信部105と、処理実行部106と、応答パケット送信部107とを有する。これらの各構成は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば記憶部400などの記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。なお、これらの事項は、後述する他の実施の形態においても同様である。
なお、ノード10は、好適には、現用系として動作しているか待機系として動作しているかに関わらず、上記各構成を有する。ただし、必ずしも全ての構成要素をノードが有していなくてもよい。例えば、クラスタウェア100の各構成のうち、ハートビート送信部101、応答パケット受信部102、及び決定部103は、待機系として動作するノードが必ずしも有していなくてもよい。また、ハートビート受信部105、処理実行部106、及び応答パケット送信部107は、現用系として動作するノードが必ずしも有していなくてもよい。
ハートビート送信部101は、クラスタを構成する他の全てのノードに対して、ハートビートパケットを送信する。なお、クラスタシステム1では、図6に示されるように、クラスタを構成する各ノードがそれぞれハートビートパケット50を他のノードに対して送信する。図6では、クラスタシステム1が、ノード10_1、ノード10_2、及びノード10_3により構成されている場合の例を示している。なお、ハートビート送信部101により送信されるハートビートパケット50は、通常HBパケット又は処理要求HBパケットである。ここで、通常HBパケットとは、自ノードの生存を他ノードに対して定期的に伝える通常のハートビートパケットをいう。ハートビート送信部101は、通常HBパケット及び処理要求HBパケットをそれぞれ予め定められた時間間隔で繰り返し送信する。例えば、ハートビート送信部101は、3回に1回などの割合で、通常HBパケットに代えて処理要求HBパケットを送信する。
ハートビート受信部105は、他のノードから送信されたハートビートパケットを受信する。ハートビート受信部105は、上述の通り、通常HBパケット又は処理要求HBパケットを受信する。ハートビート受信部105は、処理要求HBパケットの受信時刻を後述する応答パケット送信部107に通知する。
処理実行部106は、処理要求HBパケットによる要求に応じて上述の予め定められた処理を実行する。すなわち、処理実行部106は、ハートビート受信部105が、処理要求HBパケットを受信した場合、予め定められた処理を実行する。処理実行部106は、予め定められた処理の実行が完了すると、予め定められた処理の実行に要した処理時間を、応答パケット送信部107に通知する。
応答パケット送信部107は、上述の処理時間を含む応答パケットを送信する。より具体的には、応答パケット送信部107は、処理要求HBパケットの受信時刻と、上述の処理時間とを含む応答パケットを、処理要求HBパケットの送信元に送信する。
応答パケット受信部102は、処理要求HBパケットを受信した他のノードが送信した、処理要求HBパケットに対する応答パケットを受信する。すなわち、応答パケット受信部102は、予め定められた処理の実行に要した処理時間と、処理要求HBパケットの受信時刻とを含む応答パケットを、処理要求HBパケットの送信先である他のノードから受信する。また、応答パケット受信部102は、処理要求HBパケットの送信時刻と、この処理要求HBパケットの相手方ノードの受信時刻と、相手方ノードの処理時間とを記憶部400に記憶する。なお、送信時刻は、ハートビート送信部101から通知されてもよいし、ハートビート送信部101が送信時刻を含む処理要求HBパケットを送信した上で、これに対する応答パケットにこの送信時刻が含まれるようにしてもよい。
図7は、記憶部400に記憶された送信時刻、受信時刻及び処理時間の例を示す図である。なお、図7では、ノード10_1がノード10_2から受信した応答パケットに基づくリスト(図7の上段)と、ノード10_1がノード10_3から受信した応答パケットに基づくリスト(図7の下段)が示されている。なお、図7では、ノード10_1が管理するリストを示しているが、クラスタを構成する他のノードも同様にリストを管理している。このように、各ノード10は、相手ノードごとに、送信時刻、受信時刻及び処理時間を管理する。また、図7に示されるように、各ノード10は、最新の応答パケットについての送信時刻、受信時刻及び処理時間のみではなく、過去の応答パケットについての送信時刻、受信時刻及び処理時間についても履歴として管理する。
決定部103は、ハートビートパケットの送受信時間及び上述の処理時間に基づいて、複数の他のノードからフェールオーバー先を決定する。つまり、現用系として動作しているノードの決定部103は、自ノードに障害等が発生した場合のフェールオーバー先のノードを、処理要求HBパケットの送受信時間と予め定められた処理の処理時間とに基づいて、決定することにより、性能面で最適なノードをフェールオーバー先として選択する。なお、決定部103は、フェールオーバー先の決定に際し、処理要求HBパケットの送受信時間を、記憶部400に記憶されている送信時刻と受信時刻との差分を計算することにより、算出する。
以下、決定部103による決定方法について詳細に説明する。
決定部103は、クラスタを構成する複数の他のノード10ごとの送受信時間及び処理時間を比較し、送受信時間と処理時間の和の時間が最小である他のノード10をフェールオーバー先として決定する。ここで、決定部103は、最新の応答結果と過去の応答結果に基づいて、フェールオーバー先を決定する。なお、最新の応答結果とは、ハートビート送信部101が送信した最新の処理要求HBパケットに対する送受信時間及び処理時間である。また、過去の応答結果とは、最新の処理要求HBパケットよりも前にハートビート送信部101が送信した過去のハートビートパケットに対する送受信時間及び処理時間である。すなわち、過去の応答結果とはリストに記録された、過去の履歴である。また、決定部103は、フェールオーバー先を決定する際、過去の応答結果について、古い応答結果ほど小さい重みづけとなるよう重みづけを行う。
具体的には、決定部103は、以下のようにしてフェールオーバー先を決定する。まず、決定部103は、最新の応答結果についての評価値を算出する。なお、ここでいう評価値は、送受信時間と処理時間の和を指す。次に、過去の応答結果についても評価値をそれぞれ算出する。例えば、予め定められたm件の過去の応答結果に対し、それぞれ評価値を算出する。ただし、決定部103は、古い応答結果になるにつれて小さい重みづけとなるよう評価値に重みづけを行う。例えば、決定部103は、古い応答結果になるにつれて指数的に減少する重み係数(例えば、0.7のp乗、ただし、p=1〜m)を評価値に掛けて、新しい応答結果ほど重要になるように重みづけを行う。次に、決定部103は、最新の応答結果についての評価値と、重みづけがなされた過去の応答結果についての評価値の合計を算出する。なお、決定部103は、合計値ではなく平均値を算出してもよい。決定部103は、このような算出を、フェールオーバー先の候補となる全てのノードについて行う。そして、決定部103は、合計値(平均値)が最小であるノード10を最適なフェールオーバー先と判定して、フェールオーバー先を決定する。
決定部103は、評価値が最小であるノード10が複数存在する場合、評価値が最小であるノードのうち、送受信時間又は処理時間のうち予め定められた方又はユーザ等に指定された方の時間が最小であるノード10をフェールオーバー先として決定してもよい。
フェールオーバー実行部104は、決定部103により決定されたフェールオーバー先にサービスを引き継ぐようフェールオーバーを実行する。
以上、ノード10の構成について説明した。なお、現用系として動作するノード10のみでなく、待機系として動作するノード10も定期的に他のノード10に対してハートビートパケットを送信する理由は、現用系として動作しているノード10が、電源断などにより緊急停止してしまった場合にその時点でどのノードが待機系として起動しているかという情報をノード間で共有するためである。現用系のノードが緊急停止した場合には、現用系ノードは動作することができないため、クラスタシステム1に設定された、ノード10ごとの予め定められた優先度に従ってフェールオーバー先が決定されることとなる。この時、待機系としていたノード10のクラスタウェア100間で情報が共有されることで、現用系のノード10で動いていたサービスが、それまで待機系として動作していた複数のノードで多重起動することを防ぐことが可能となる。
また、待機系として動作するノード10も定期的に他のノード10に対して処理要求HBパケットを送信し、各ノード10の性能を記憶部400に記憶しているため、例えば、現用系のノード10の緊急停止によるフェールオーバー発生直後に、当該フェールオーバー後の現用系のノード10において障害が発生した場合であっても、即時に最適なフェールオーバー先を決定することができる。すなわち、上述の通り、本実施の形態では、決定部103の決定に際して、過去の応答結果が用いられるが、緊急停止によるフェールオーバーによりサービスを引き継いだノード10も、その時点で既に、過去の応答結果を保持しているため、応答結果が所定数蓄積されるのを待つまでもなく、フェールオーバー先を決定することができる。
次に、クラスタシステム1の動作について説明する。図8は、クラスタシステム1におけるハートビートパケットの送受信動作の一例を示すシーケンスチャートである。なお、図8では、ノード10_1からノード10_2へとハートビートパケットを送信する場合の動作を示しているが、図6に示した通り、各ノード10間で相互に同様の動作を行っている。
ステップ100(S100)において、ノード10_1のハートビート送信部101が、ノード10_2に対して通常HBパケットを送信し、ノード10_2のハートビート受信部105がこれを受信する。
ステップ101(S101)において、ノード10_2の応答パケット送信部107は、ノード10_1に対し、通常HBパケットに対する応答パケットを送信し、ノード10_1の応答パケット受信部102がこれを受信する。なお、ここでは、通常HBパケットに対して応答パケットを送信しているが、通常HBパケットに対する応答パケットは省略されてもよい。
ステップ102(S102)において、ノード10_1のハートビート送信部101が、ノード10_2に対して処理要求HBパケットを送信し、ノード10_2のハートビート受信部105がこれを受信する。
ステップ103(S103)において、ノード10_2の処理実行部106は、予め定められた処理を実行する。
ステップ104(S104)において、ノード10_2の応答パケット送信部107は、ステップ103における処理に要した時間を記した応答パケットをノード10_1に送信し、ノード10_1の応答パケット受信部102がこれを受信する。
ステップ105(S105)において、ステップ102における送信の送信時刻と、ステップ102における受信の受信時刻と、ステップ103における処理時間とが、記憶部400に記憶される。
ステップ106(S106)において、再び、ステップ100と同様、ノード10_1からノード10_2に対する通常HBパケットの送信が行われる。このように、ノード10は、通常HBパケットの送信及び処理要求HBパケットを繰り返し送信し、処理要求HBパケットが送信された場合には、上述のステップ103及びステップ105の動作が行われる。
次に、決定部103によるフェールオーバー先の決定動作について図9に示されるフローチャートに沿って説明する。現用系であるノードにおいて障害が発生すると、現用系であるノードの決定部103は、以下の動作を行う。
ステップ200(S200)において、決定部103は、フェールオーバー先の候補のノードの一つについての記憶部400に記憶された各応答結果に対し、評価値を算出する。
ステップ201(S201)において、決定部103は、過去の応答結果についての評価値について重みづけを行う。
ステップ202(S202)において、決定部103は、一連の評価値について合計値を算出する。すなわち、最新の応答結果についての評価値及び所定数の過去の応答結果についての重みづけ後の評価値の合計値を算出する。
ステップ203(S203)において、決定部103は、フェールオーバー先の候補の全てについてステップ200〜ステップ202の計算を実行したか否かを判定する。フェールオーバー先の候補の全てについて合計値が算出されていない場合、処理はステップ200に戻り、残りの候補についての合計値の算出が行われる。これに対し、フェールオーバー先の候補の全てについて合計値が算出されている場合、処理はステップ204へ移行する。
ステップ204(S204)において、決定部103は、ステップ202で算出された評価値の合計値が最小であるノード10をフェールオーバー先として決定する。そして、この決定後、フェールオーバー実行部104が、ステップ204で決定されたフェールオーバー先のノード10にサービスを引き継ぐようフェールオーバーを実行する。
このようにクラスタシステム1によれば、フェールオーバー先の候補であるノードごとの現在の性能を評価することができるため、動的にノードの性能が変化するクラスタ環境であっても性能面で最適なフェールオーバー先を選択することができる。
また、図10及び図11に示すように、ノードのライフサイクルによって、クラスタを構成するあるノードが、現用系のノードのエリアとは別のエリアのノードに切り替わった場合にも、クラスタシステム1は効果的である。なお、図10は、実施の形態1にかかるクラスタシステム1の構成の一例を示すブロック図であり、ノードが切り替わる前の構成を示している。また、図11は、図10に示されるクラスタシステム1について、ノードが切り替わった後の構成を示している。具体的には、図10に示すクラスタシステム1は、ノードの切替前は、エリア2のノード10_5、ノード10_6、及びノード10_7と、エリア3のノード10_8の4つのノードによりクラスタが構成されている。これに対し、図11に示すクラスタシステム1ではエリア2のノード10_6がエリア3のノード10_9に切り替わり、エリア2のノード10_5及びノード10_7と、エリア3のノード10_8及びノード10_9の4つのノードによりクラスタが構成されている。なお、図10及び図11において、エリア2のノード10_5が現用系として動作しているものとする。クラスタシステムが、フェールオーバー先を動的に決定する本実施の形態のような手法を備えていない場合、すなわち、ノードごとの予め定められた優先度に従ってフェールオーバー先が決定される場合、ノード10_6の優先度が他の候補ノードより高いときには、ノードの切り替え後は、ノード10_9がフェールオーバー先となる。しかしながら、他の候補ノードよりも優先度が高いノードが、現用系であるノードと別のエリアに切り替わってしまうと、この優先度が高いノードへのフェールオーバーは、現用系のノードのエリアと同じエリアのノード10_7へのフェールオーバーよりも時間がかかってしまう。
これに対し、本実施の形態にかかるクラスタシステム1によれば、処理要求HBパケットを利用して送受信時間が管理されるため、異なるエリアへのノードの移動が発生した場合でも、ノードごとの送受信時間を比較することで、フェールオーバー時に動的に適切なノードの選択が可能となっている。
<実施の形態2>
次に、実施の形態2について説明する。実施の形態2にかかるクラスタシステム1のノード10は、クラスタウェア100に代えてクラスタウェア110を有している。図12は、クラスタウェア110の構成を示すブロック図である。図12に示されるように、クラスタウェア110は、予測部111が追加され、決定部103が決定部112に置き換えられた点で、クラスタウェア100と異なる。なお、その他の点については、クラスタウェア110はクラスタウェア100と同様であるため、以下の説明では、クラスタウェア100と異なる点についてのみ説明をし、重複する説明を省略する。
予測部111は、記憶部400に記憶された、最新の応答結果と過去の応答結果に基づいて、予測の応答結果を算出する。ここで、予測の応答結果とは、ハートビート送信部101が送信する将来の処理要求HBパケットに対する送受信時間及び処理時間の予測値である。
予測部111は、最新の応答結果及び過去の応答結果に対し、時系列分析を行って、予測値を算出する。時系列分析としては、例えば、ARIMA(Auto Regressive Integrated Moving Average:自己回帰和分移動平均)モデルを利用した時系列分析が用いられてもよい。
決定部112は決定部103と同様であるが、決定部112は、最新の応答結果と、予測の応答結果に基づいて、フェールオーバー先を決定する点で決定部103と異なる。ここで、決定部112は、フェールオーバー先を決定する際、予測の応答結果について、将来の応答結果ほど小さい重みづけとなるよう重みづけを行う。
具体的には、以下のようにしてフェールオーバー先が決定される。まず、予測部111が、最新の応答結果及びs件の過去の応答結果に基づいて、予め定められたt件分の予測の応答結果を算出する。すなわち、予測部111が、図13に示されるように、t件分の送受信時間及び処理時間を予測する。なお、図13では、最新の応答結果と4件の過去の応答結果の計5件の応答結果(図13の上段参照)から、5件の将来の応答結果の予測値(図13の下段参照)が算出された場合の例を示している。次に、決定部112は、現在取得されている最新の応答結果についての評価値を算出する。そして、決定部112は、予測の応答結果についても評価値をそれぞれ算出する。すなわち、例えば、予め定められたt件の予測の応答結果に対し、それぞれ評価値を算出する。ただし、決定部112は、将来の応答結果になるにつれて小さい重みづけとなるよう評価値に重みづけを行う。例えば、決定部112は、将来の応答結果になるにつれて指数的に減少する重み係数(例えば、0.7のq乗、ただし、q=1〜t)を評価値に掛けて、現在に近い応答結果ほど重要になるように重みづけを行う。次に、決定部112は、最新の応答結果についての評価値と、重みづけがなされた予測の応答結果についての評価値の合計を算出する。なお、決定部112は、合計値ではなく平均値を算出してもよい。決定部112は、このような算出を、フェールオーバー先の候補となる全てのノードについて行う。そして、決定部112は、合計値(平均値)が最小であるノード10を最適なフェールオーバー先と判定して、フェールオーバー先を決定する。
なお、決定部112は、評価値が最小であるノード10が複数存在する場合、評価値が最小であるノードのうち、送受信時間又は処理時間のうち予め定められた方又はユーザ等に指定された方の時間が最小であるノード10をフェールオーバー先として決定してもよい。
次に、本実施の形態におけるフェールオーバー先の決定動作について図14に示されるフローチャートに沿って説明する。現用系であるノードにおいて障害が発生すると、以下の動作により、フェールオーバー先が決定される。
ステップ300(S300)において、予測部111が、フェールオーバー先の候補のノードの一つについての記憶部400に記憶された一連の応答結果に基づいて、将来の応答結果を予測する。すなわち、予測部111は、最新の応答結果と過去の応答結果に基づいて、予測の応答結果を算出する。
ステップ301(S301)において、決定部112は、現在取得されている最新の応答結果についての評価値、及びステップ300で予測された応答結果についての評価値を算出する。
ステップ302(S302)において、決定部112は、予測の応答結果について、将来の応答結果ほど小さい重みづけとなるよう重みづけを行う。
ステップ303(S303)において、決定部112は、一連の評価値について合計値を算出する。すなわち、最新の応答結果についての評価値と、所定数の予測の応答結果についての重みづけ後の評価値との合計値を算出する。
ステップ304(S304)において、決定部112は、フェールオーバー先の候補の全てについてステップ300〜ステップ303の計算を実行したか否かを判定する。フェールオーバー先の候補の全てについて合計値が算出されていない場合、処理はステップ300に戻り、残りの候補についての合計値の算出が行われる。これに対し、フェールオーバー先の候補の全てについて合計値が算出されている場合、処理はステップ305へ移行する。
ステップ305(S305)において、決定部112は、ステップ303で算出された評価値の合計値が最小であるノード10をフェールオーバー先として決定する。そして、この決定後、フェールオーバー実行部104が、ステップ303で決定されたフェールオーバー先のノード10にサービスを引き継ぐようフェールオーバーを実行する。
このように本実施の形態にかかるクラスタシステム1によれば、フェールオーバー先の候補であるノードごとの現在の性能及び将来的な性能を評価することができるため、より最適なフェールオーバー先を選択することができる。なお、本実施の形態において、ステップ303の合計値の算出の際、実施の形態1と同様に、過去の応答結果に重みづけをした評価値をさらに合算してもよい。
<実施の形態3>
次に、実施の形態3について説明する。
クラウド環境において、不特定多数のユーザによる同時使用などで、あるエリアに高負荷が発生した場合、当該エリアに属するノードのパフォーマンスの劣化を招く。しかしながら、クラウド環境におけるこのようなパフォーマンスの劣化は、CPU使用率及びメモリ使用量の監視からは捉えることが難しい。図15は、待機系であるノード10_2が取得した応答結果のリストの一例を示す。ここで、図15の上段は、待機系であるノード10_2が現用系であるノード10_1に処理要求HBパケットを送信して得られた応答結果である。また、図15の下段は、待機系であるノード10_2が待機系であるノード10_3に処理要求HBパケットを送信して得られた応答結果である。仮に、ノード10_1が属するエリアを管理するホストマシンに高負荷が発生した場合、このエリアの中で動いているノード10_1自身のCPU使用率、メモリ使用量に見た目の影響は発生しないが、実際には、ノード10_1自身のパフォーマンスに影響が発生しており、処理要求HBパケット受信時の固定処理の実行に時間がかかるといったことで顕在化する。このため、図15の上段に示されるように、ノード10_1の処理時間が大きくなる。
本実施の形態では、待機系であるノード10が、現用系であるノード10の処理時間を監視することにより現用系のノード10の性能を評価し、性能が予め定められた基準よりも低下した場合に、フェールオーバーの実行を要求する。
実施の形態3にかかるクラスタシステム1のノード10は、クラスタウェア100に代えてクラスタウェア120を有している。図16は、クラスタウェア120の構成を示すブロック図である。図16に示されるように、クラスタウェア120は、処理時間判定部121と、フェールオーバー要求部122とが追加された点で、クラスタウェア100と異なる。なお、その他の点については、クラスタウェア120はクラスタウェア100と同様であるため、以下の説明では、クラスタウェア100と異なる点についてのみ説明をし、重複する説明を省略する。なお、クラスタウェア120は、上述の予測部111をさらに有してもよい。
処理時間判定部121は、クラスタを構成する複数のノード10のうち現用系のノード10から受信した、処理要求HBパケットに対する応答パケットに含まれる処理時間が、予め定められた閾値を超えるか否かを判定する。
フェールオーバー要求部122は、処理時間判定部121により処理時間が閾値を超えると判定された場合、現用系として動作するノード10に対しフェールオーバーの実施を要求する。
図17は、本実施の形態3にかかるクラスタウェア100におけるフェールオーバーの要求動作の一例について示すフローチャートである。
ステップ400(S400)において、待機系のノード10の処理時間判定部121が、現用系であるノード10からの応答パケットに含まれる処理時間を予め定められた閾値と比較する。処理時間が、この閾値を超える場合(ステップ401でYes)、処理はステップ402へ移行する。処理時間が、この閾値を超えない場合(ステップ401でNo)、フェールオーバーの要求処理は行われない。
ステップ402(S402)において、待機系であるノード10のフェールオーバー要求部122は、現用系であるノード10に対し、フェールオーバーの実施を要求する。これにより、現用系であるノード10のフェールオーバー実行部104は、フェールオーバーを実行する。なお、その際のフェールオーバー先は、決定部103により決定されたフェールオーバー先とすることができる。
このように本実施の形態にかかるクラスタシステム1によれば、待機系のノード10から見た現用系のノード10の固定処理にかかる時間が所定の閾値を超えた場合には、現用系のノード10からサービスを移動することができる。このため、CPU監視及びメモリ監視では発見できないクラウド環境ならではの負荷を検出し、動的に適切なノードを選択することが可能となる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記各実施の形態では、ノード10は、処理要求HBパケットのみならず、通常HBパケットを送信しているが、通常HBパケットの送信は省略されてもよい。また、クラウド環境だけに限らず、物理環境のクラスタリングでも上述の構成が適用されてもよい。この場合、本構成を適用しない場合に比較して簡易な構成により、各ノードの現在の性能の測定及びフェールオーバー先の動的な決定を行うことができる。
また、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)
前記決定手段は、前記複数の他の情報処理装置ごとの前記送受信時間及び前記処理時間を比較し、前記送受信時間と前記処理時間の和の時間が最小である前記他の情報処理装置をフェールオーバー先として決定する
付記1に記載の情報処理装置。
(付記3)
前記ハートビート送信手段は、予め定められた時間間隔で前記ハートビートパケットを送信し、
前記決定手段は、前記ハートビート送信手段が送信した最新のハートビートパケットに対する前記送受信時間及び前記処理時間である最新の応答結果と、前記最新のハートビートパケットよりも前に前記ハートビート送信手段が送信した過去のハートビートパケットに対する前記送受信時間及び前記処理時間である過去の応答結果に基づいて、フェールオーバー先を決定する
付記1又は2に記載の情報処理装置。
(付記4)
前記決定手段は、フェールオーバー先を決定する際、前記過去の応答結果について、古い応答結果ほど小さい重みづけとなるよう重みづけを行う
付記3に記載の情報処理装置。
(付記5)
前記ハートビート送信手段は、予め定められた時間間隔で前記ハートビートパケットを送信し、
前記ハートビート送信手段が送信した最新のハートビートパケットに対する前記送受信時間及び前記処理時間である最新の応答結果と、前記最新のハートビートパケットよりも前に前記ハートビート送信手段が送信した過去のハートビートパケットに対する前記送受信時間及び前記処理時間である過去の応答結果に基づいて、前記ハートビート送信手段が送信する将来のハートビートパケットに対する前記送受信時間及び前記処理時間の予測値である予測の応答結果を算出する予測手段
をさらに有し、
前記決定手段は、前記最新の応答結果と、前記予測の応答結果に基づいて、フェールオーバー先を決定する
付記1又は2に記載の情報処理装置。
(付記6)
前記決定手段は、フェールオーバー先を決定する際、前記予測の応答結果について、将来の応答結果ほど小さい重みづけとなるよう重みづけを行う
付記5に記載の情報処理装置。
(付記7)
現用系又は待機系のいずれかとして動作する、クラスタを構成する複数の情報処理装置を備え、
前記複数の情報処理装置のうち少なくとも現用系として動作する情報処理装置は、
他の前記情報処理装置のそれぞれに対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信手段と、
前記ハートビートパケットを受信した他の前記情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを他の前記情報処理装置から受信する応答パケット受信手段と、
前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定手段と
を有し、
前記複数の情報処理装置のうち待機系として動作する情報処理装置は、
前記ハートビートパケットによる要求に応じて前記予め定められた処理を実行する処理実行手段と、
前記処理時間を含む前記応答パケットを送信する応答パケット送信手段と
を有する
クラスタシステム。
(付記8)
前記複数の情報処理装置のうち待機系として動作する情報処理装置は、さらに、前記ハートビート送信手段と、前記応答パケット受信手段とを有する
付記7に記載のクラスタシステム。
(付記9)
前記複数の情報処理装置のうち待機系として動作する情報処理装置は、さらに、
前記複数の情報処理装置のうち現用系として動作する情報処理装置から受信した前記応答パケットに含まれる前記処理時間が、予め定められた閾値を超えるか否かを判定する処理時間判定手段と、
前記処理時間判定手段により前記処理時間が前記閾値を超えると判定された場合、前記現用系として動作する情報処理装置に対しフェールオーバーの実施を要求するフェールオーバー要手段と
を有する
付記8に記載のクラスタシステム。
(付記10)
クラスタを構成する複数の情報処理装置のいずれかである第1の情報処理装置から、前記複数の情報処理装置から前記第1の情報処理装置を除いた複数の他の情報処理装置である第2の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、
前記ハートビートパケットを受信した前記第2の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記第2の情報処理装置から前記第1の情報処理装置が受信する応答パケット受信ステップと、
前記第1の情報処理装置が前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記第2の情報処理装置の中からフェールオーバー先を決定する決定ステップと
を有するクラスタリング方法。
(付記11)
複数の他の情報処理装置とともにクラスタを構成する情報処理装置のコンピュータに、
前記複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、
前記ハートビートパケットを受信した前記他の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記他の情報処理装置から受信する応答パケット受信ステップと、
前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定ステップと
を実行させるプログラム。
1 クラスタシステム
2、3 エリア
4 ネットワーク
10 ノード(情報処理装置)
50 ハートビートパケット
100、110、120 クラスタウェア
101 ハートビート送信部
102 応答パケット受信部
103、112 決定部
104 フェールオーバー実行部
105 ハートビート受信部
106 処理実行部
107 応答パケット送信部
111 予測部
121 処理時間判定部
122 フェールオーバー要求部
200 OS
300 サービスアプリケーション
400 記憶部

Claims (10)

  1. 自装置とともにクラスタを構成する複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信手段と、
    前記ハートビートパケットを受信した前記他の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記他の情報処理装置から受信する応答パケット受信手段と、
    前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定手段と
    を有する情報処理装置。
  2. 前記決定手段は、前記複数の他の情報処理装置ごとの前記送受信時間及び前記処理時間を比較し、前記送受信時間と前記処理時間の和の時間が最小である前記他の情報処理装置をフェールオーバー先として決定する
    請求項1に記載の情報処理装置。
  3. 前記ハートビート送信手段は、予め定められた時間間隔で前記ハートビートパケットを送信し、
    前記決定手段は、前記ハートビート送信手段が送信した最新のハートビートパケットに対する前記送受信時間及び前記処理時間である最新の応答結果と、前記最新のハートビートパケットよりも前に前記ハートビート送信手段が送信した過去のハートビートパケットに対する前記送受信時間及び前記処理時間である過去の応答結果に基づいて、フェールオーバー先を決定する
    請求項1又は2に記載の情報処理装置。
  4. 前記決定手段は、フェールオーバー先を決定する際、前記過去の応答結果について、古い応答結果ほど小さい重みづけとなるよう重みづけを行う
    請求項3に記載の情報処理装置。
  5. 前記ハートビート送信手段は、予め定められた時間間隔で前記ハートビートパケットを送信し、
    前記ハートビート送信手段が送信した最新のハートビートパケットに対する前記送受信時間及び前記処理時間である最新の応答結果と、前記最新のハートビートパケットよりも前に前記ハートビート送信手段が送信した過去のハートビートパケットに対する前記送受信時間及び前記処理時間である過去の応答結果に基づいて、前記ハートビート送信手段が送信する将来のハートビートパケットに対する前記送受信時間及び前記処理時間の予測値である予測の応答結果を算出する予測手段
    をさらに有し、
    前記決定手段は、前記最新の応答結果と、前記予測の応答結果に基づいて、フェールオーバー先を決定する
    請求項1又は2に記載の情報処理装置。
  6. 前記決定手段は、フェールオーバー先を決定する際、前記予測の応答結果について、将来の応答結果ほど小さい重みづけとなるよう重みづけを行う
    請求項5に記載の情報処理装置。
  7. 現用系又は待機系のいずれかとして動作する、クラスタを構成する複数の情報処理装置を備え、
    前記複数の情報処理装置のうち少なくとも現用系として動作する情報処理装置は、
    他の前記情報処理装置のそれぞれに対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信手段と、
    前記ハートビートパケットを受信した他の前記情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを他の前記情報処理装置から受信する応答パケット受信手段と、
    前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定手段と
    を有し、
    前記複数の情報処理装置のうち待機系として動作する情報処理装置は、
    前記ハートビートパケットによる要求に応じて前記予め定められた処理を実行する処理実行手段と、
    前記処理時間を含む前記応答パケットを送信する応答パケット送信手段と
    を有する
    クラスタシステム。
  8. 前記複数の情報処理装置のうち待機系として動作する情報処理装置は、さらに、
    前記ハートビート送信手段と、
    前記応答パケット受信手段と、
    前記複数の情報処理装置のうち現用系として動作する情報処理装置から受信した前記応答パケットに含まれる前記処理時間が、予め定められた閾値を超えるか否かを判定する処理時間判定手段と、
    前記処理時間判定手段により前記処理時間が前記閾値を超えると判定された場合、前記現用系として動作する情報処理装置に対しフェールオーバーの実施を要求するフェールオーバー要手段と
    を有する
    請求項7に記載のクラスタシステム。
  9. クラスタを構成する複数の情報処理装置のいずれかである第1の情報処理装置から、前記複数の情報処理装置から前記第1の情報処理装置を除いた複数の他の情報処理装置である第2の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、
    前記ハートビートパケットを受信した前記第2の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記第2の情報処理装置から前記第1の情報処理装置が受信する応答パケット受信ステップと、
    前記第1の情報処理装置が前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記第2の情報処理装置の中からフェールオーバー先を決定する決定ステップと
    を有するクラスタリング方法。
  10. 複数の他の情報処理装置とともにクラスタを構成する情報処理装置のコンピュータに、
    前記複数の他の情報処理装置に対し、予め定められた処理の実行を要求するハートビートパケットを送信するハートビート送信ステップと、
    前記ハートビートパケットを受信した前記他の情報処理装置が前記予め定められた処理の実行に要した処理時間を含む、前記ハートビートパケットに対する応答パケットを前記他の情報処理装置から受信する応答パケット受信ステップと、
    前記ハートビートパケットの送受信時間及び前記処理時間に基づいて、前記複数の他の情報処理装置からフェールオーバー先を決定する決定ステップと
    を実行させるプログラム。
JP2015208755A 2015-10-23 2015-10-23 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム Active JP6561766B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015208755A JP6561766B2 (ja) 2015-10-23 2015-10-23 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015208755A JP6561766B2 (ja) 2015-10-23 2015-10-23 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017083935A true JP2017083935A (ja) 2017-05-18
JP6561766B2 JP6561766B2 (ja) 2019-08-21

Family

ID=58713208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015208755A Active JP6561766B2 (ja) 2015-10-23 2015-10-23 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6561766B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550144A (zh) * 2022-11-30 2022-12-30 季华实验室 分布式故障节点预测方法、装置、电子设备及存储介质
JP7311335B2 (ja) 2019-07-05 2023-07-19 株式会社野村総合研究所 分散型コンテナ監視システム及び分散型コンテナ監視方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355446A (ja) * 2003-05-30 2004-12-16 Hitachi Ltd クラスタシステム及びその制御方法
JP2005234917A (ja) * 2004-02-20 2005-09-02 Hitachi Ltd 障害時のサーバ決定方法
JP2011090594A (ja) * 2009-10-26 2011-05-06 Hitachi Ltd サーバ管理装置およびサーバ管理方法
JP2011242949A (ja) * 2010-05-17 2011-12-01 Fujitsu Ltd ファイル管理プログラム、ファイル管理方法、及び情報処理装置
JP2012075009A (ja) * 2010-09-29 2012-04-12 Oki Networks Co Ltd 冗長化装置及び冗長化プログラム
JP2012168907A (ja) * 2011-02-17 2012-09-06 Nec Corp 相互監視システム
JP2013222310A (ja) * 2012-04-17 2013-10-28 Hitachi Ltd 業務継続方法
JP2013228793A (ja) * 2012-04-24 2013-11-07 Nec Corp 情報処理装置、クラスタシステムおよびフェイルオーバ方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355446A (ja) * 2003-05-30 2004-12-16 Hitachi Ltd クラスタシステム及びその制御方法
JP2005234917A (ja) * 2004-02-20 2005-09-02 Hitachi Ltd 障害時のサーバ決定方法
JP2011090594A (ja) * 2009-10-26 2011-05-06 Hitachi Ltd サーバ管理装置およびサーバ管理方法
JP2011242949A (ja) * 2010-05-17 2011-12-01 Fujitsu Ltd ファイル管理プログラム、ファイル管理方法、及び情報処理装置
JP2012075009A (ja) * 2010-09-29 2012-04-12 Oki Networks Co Ltd 冗長化装置及び冗長化プログラム
JP2012168907A (ja) * 2011-02-17 2012-09-06 Nec Corp 相互監視システム
JP2013222310A (ja) * 2012-04-17 2013-10-28 Hitachi Ltd 業務継続方法
JP2013228793A (ja) * 2012-04-24 2013-11-07 Nec Corp 情報処理装置、クラスタシステムおよびフェイルオーバ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7311335B2 (ja) 2019-07-05 2023-07-19 株式会社野村総合研究所 分散型コンテナ監視システム及び分散型コンテナ監視方法
CN115550144A (zh) * 2022-11-30 2022-12-30 季华实验室 分布式故障节点预测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP6561766B2 (ja) 2019-08-21

Similar Documents

Publication Publication Date Title
US10558517B2 (en) Proactive cloud orchestration
WO2016121973A1 (ja) ノードシステム、サーバ装置、スケールリング制御方法及びプログラム
KR20190070659A (ko) 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
Moazzeni et al. On reliability improvement of software-defined networks
JP2015510201A (ja) クラウドネットワークにおける迅速な災害回復準備のための方法および装置
CN106681839B (zh) 弹性计算动态分配方法
US20160036654A1 (en) Cluster system
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
JP7079998B1 (ja) クラスタの容量拡張方法及び装置
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
JP6561766B2 (ja) 情報処理装置、クラスタシステム、クラスタリング方法、及びプログラム
CN114697256B (zh) 基于集中式控制器的动态网络带宽分配与管理
US11212174B2 (en) Network management device and network management method
US11936565B2 (en) Methods and apparatus for data traffic control in networks
JP5740652B2 (ja) 計算機システム及びサブシステム管理方法
US20210120097A1 (en) Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device
KR102201799B1 (ko) 소프트웨어 정의 네트워크 기반 포그 시스템에서의 동적 로드밸런싱 방법 및 동적 로드밸런싱 장치
JP5935505B2 (ja) 情報処理装置、仮想マシン制御方法、仮想マシン制御プログラム
JP2011209811A (ja) 仮想マシンシステムおよび仮想マシン配置方法
JP6551111B2 (ja) 情報処理装置、ダウン判定方法、クラスタシステム、及びプログラム
JP2014048933A (ja) プラント監視システム、プラント監視方法およびプラント監視プログラム
KR20140029644A (ko) 분산 컴퓨팅 시스템 및 상기 분산 컴퓨팅 시스템에서의 장애 복구 방법
JP5617586B2 (ja) 情報処理プログラム、中継装置及び中継管理装置
KR101196605B1 (ko) 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

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: 20190625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6561766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150