(57)【要約】【課題】複数ノードからなる分散計算機システムにおいて、動的にノードやネットワークの状況が変化する状況においても、前記状況に適した現用系管理プログラムを選択することを可能にする。【解決手段】分散計算機システムを構成する各ノード１は、現用系マネージャ３に障害が発生したとき、複数の待機系マネージャ３の中から現用系マネージャ３の候補を選択し、選択結果を選択した待機系マネージャ３に送信し、各待機系マネージャ３は、選択結果を受信し、受信した選択結果にもとづいて、自身が現用系マネージャ３になるか否かを判断し、この判断結果に応じて、現用系マネージャ３に変化する。【選択図】図１
2010182017.tif 000002
【特許請求の範囲】
【請求項１】
分散計算機システムを構成する複数のノードには、
これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、
前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、
前記各ノードは、
前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択するマネージャ選択手段と、
前記選択結果を選択した待機系マネージャに送信する選択結果送信手段と、を備え、
前記各待機系マネージャは、
前記選択結果を受信する選択結果受信手段と、
受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断する選択結果判断手段と、
前記判断結果に応じて、現用系マネージャに変化する状態変更手段と、を備える
ことを特徴とする分散計算機システム。
【請求項２】
前記各待機系マネージャは、
当該待機系マネージャが備えられたノードの情報を前記各ノードに送信するノード情報送信手段を備え、
前記各ノードは、
前記ノード情報を受信するノード情報受信手段と、
受信した前記ノード情報を記録するノード情報記録部と、を備え、
前記マネージャ選択手段は、
前記ノード情報記録部に記録された前記ノード情報にもとづいて、複数の前記待機系マネージャの中から現用系マネージャの候補を選択する
ことを特徴とする請求項１記載の分散計算機システム。
【請求項３】
前記各待機系マネージャは、
受信した前記選択結果の数が待機系マネージャの総数に比して所定の比率を下回る場合に、現用系マネージャに変化させる一の待機系マネージャを決定するための調停手段を備える
ことを特徴とする請求項１又は２記載の分散計算機システム。
【請求項４】
前記調停手段は、
受信した前記選択結果の数が待機系マネージャの総数に比して所定の比率を下回る場合に、他の待機系マネージャに対し、他の待機系マネージャが受信した前記選択結果の数を問い合わせ、自身よりも受信した前記選択結果の数が多い待機系マネージャが存在しないとき、自身が現用系マネージャになると判断する
ことを特徴とする請求項３記載の分散計算機システム。
【請求項５】
前記調停手段は、
受信した前記選択結果の数が待機系マネージャの総数に比して所定の比率を下回る場合に、前記各ノードに現用系マネージャの候補を再度選択させ、その選択結果を選択した待機系マネージャに送信させる
ことを特徴とする請求項３記載の分散計算機システム。
【請求項６】
前記選択結果送信手段は、
前記選択結果をすべての前記待機系マネージャに送信し、
前記選択結果判断手段は、
受信した前記選択結果を集計し、自身の選択された数が最大である場合に、自身が現用系マネージャになると判断する
ことを特徴とする請求項１又は２記載の分散計算機システム。
【請求項７】
前記マネージャ選択手段は、
前記各待機系マネージャの負荷、前記各待機系マネージャまでのネットワークのホップ数、及び／又は、前記各待機系マネージャまでのネットワークのトラヒック量に応じて、現用系マネージャの候補を選択する
ことを特徴とする請求項１〜６のいずれかに記載の分散計算機システム。
【請求項８】
分散計算機システムを構成する複数のノードには、
これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、
前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、
前記各ノードは、
前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択し、
前記選択結果を選択した待機系マネージャに送信し、
前記各待機系マネージャは、
前記選択結果を受信し、
受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断し、
前記判断結果に応じて、現用系マネージャに変化する
ことを特徴とするマネージャ引き継ぎ方法。
【請求項９】
前記各待機系マネージャは、
当該待機系マネージャが備えられたノードの情報を前記各ノードに送信し、
前記各ノードは、
前記ノード情報を受信し、
受信した前記ノード情報をノード情報記録部に記録し、
前記ノード情報記録部に記録された前記ノード情報にもとづいて、複数の前記待機系マネージャの中から現用系マネージャの候補を選択する
ことを特徴とする請求項８記載のマネージャ引き継ぎ方法。
【請求項１０】
分散計算機システムを構成する複数のノードには、
これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、
前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、
前記各ノード用のマネージャ引き継ぎプログラムは、
前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択する処理と、
前記選択結果を選択した待機系マネージャに送信する処理と、をコンピュータに実行させ、
前記各待機系マネージャ用のマネージャ引き継ぎプログラムは、
前記選択結果を受信する処理と、
受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断する処理と、
前記判断結果に応じて、現用系マネージャに変化する処理と、をコンピュータに実行させる
ことを特徴とするマネージャ引き継ぎプログラム。
【請求項１１】
前記各待機系マネージャ用のマネージャ引き継ぎプログラムは、
当該待機系マネージャが備えられたノードの情報を前記各ノードに送信するノード情報送信処理をコンピュータに実行させ、
前記各ノード用のマネージャ引き継ぎプログラムは、
前記ノード情報を受信する処理と、
受信した前記ノード情報をノード情報記録部に記録する処理と、
前記ノード情報記録部に記録された前記ノード情報にもとづいて、複数の前記待機系マネージャの中から現用系マネージャの候補を選択する処理と、をコンピュータに実行させる
ことを特徴とする請求項１０記載のマネージャ引き継ぎプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードで分散処理を行う分散計算機システムに係り、詳しくは、複数のノード（計算機）を管理するマネージャ（管理プログラム）に障害が発生した際、マネージャの引き継ぎを行う分散計算機システム、マネージャ引き継ぎ方法及びマネージャ引き継ぎプログラムに関する。
【背景技術】
【０００２】
処理速度を向上させるために、行うべき処理を複数のノードに分散して実行させる分散計算機システムが知られている。この種の分散計算機システムでは、各ノードの負荷などを監視して、各ノードに適切な処理を割り当てたり、一のノードに障害が発生した場合に、そのノードで実行している処理を他のノードに代行させるなど、システム構成やシステム状態の変化に柔軟に対応することができる（例えば、特許文献１参照）。
【０００３】
上記のような分散計算機システムにおいては、各ノードに適切な処理を割り当てるために、システム上にマネージャが１つ存在している。マネージャや、マネージャが存在するノードに障害が発生した場合は、マネージャが不在となり、システム全体が動作不能に陥るので、マネージャの処理を引き継ぐための待機系マネージャ（待機系マネージャに対し、現在管理を行っているマネージャを現用系マネージャと呼ぶ）を配置することがある。また、より高い信頼性を確保するために、待機系マネージャを複数用意する場合もある。その際には、現用系マネージャとなる順番を静的に予め決めておく方法が多く採られる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２０７３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高い信頼性を確保するために、待機系マネージャを複数用意し、静的な順位に従って、現用系となるマネージャを決定する場合、以下に示すような問題点がある。
【０００６】
第１の問題点は、待機系マネージャが配置されているノード上に、その他の処理プログラムも動的に配置され、ノードの負荷が時々刻々と変化するような場合、必ずしも適切なマネージャが選ばれるとは限らない点である。
その理由は、現用系マネージャが不在となった時点で、負荷が高く重要な処理プログラムが動いているノードに配置されている待機系マネージャが、静的順位に従って現用系マネージャに選ばれる可能性があり、そうなった場合、そのノード上のマネージャが現用系マネージャとして作動し始めると、以前から動いていた処理プログラムが、充分な性能を出せない可能性があるからである。
【０００７】
第２の問題点は、モバイルネットワークやアドホックネットワーク環境においては、必ずしも適切なマネージャが選ばれるとは限らない点である。
その理由は、静的順位に従って現用系マネージャとなるよう選択された待機系マネージャが、他のノードからネットワーク的に遠い位置に存在していたり、他のノードとの間のネットワーク性能が悪かったりする場合があるからである。
【０００８】
本発明は、上記の事情にかんがみなされたものであり、複数のノードを管理するマネージャに障害が発生した際、マネージャの引き継ぎを行うにあたり、各ノードやネットワークの状態が動的に変化する状況であっても、状況に適した待機系マネージャを現用系マネージャとして選択し、処理プログラムの性能低下やノード間の通信効率の低下を回避することができる分散計算機システム、マネージャ引き継ぎ方法及びマネージャ引き継ぎプログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため本発明の分散計算機システムは、分散計算機システムを構成する複数のノードには、これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、前記各ノードは、前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択するマネージャ選択手段と、前記選択結果を選択した待機系マネージャに送信する選択結果送信手段と、を備え、前記各待機系マネージャは、前記選択結果を受信する選択結果受信手段と、受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断する選択結果判断手段と、前記判断結果に応じて、現用系マネージャに変化する状態変更手段と、を備える構成としてある。
【００１０】
また、上記目的を達成するため本発明のマネージャ引き継ぎ方法は、分散計算機システムを構成する複数のノードには、これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、前記各ノードは、前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択し、前記選択結果を選択した待機系マネージャに送信し、前記各待機系マネージャは、前記選択結果を受信し、受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断し、前記判断結果に応じて、現用系マネージャに変化する方法としてある。
【００１１】
また、上記目的を達成するため本発明のマネージャ引き継ぎプログラムは、分散計算機システムを構成する複数のノードには、これらの各ノードに処理を割り当てる現用系マネージャが備えられた一のノードと、前記現用系マネージャに障害が発生したとき、現用系マネージャとして動作可能な待機系マネージャが備えられた複数のノードと、が含まれ、前記各ノード用のマネージャ引き継ぎプログラムは、前記現用系マネージャに障害が発生したとき、複数の前記待機系マネージャの中から現用系マネージャの候補を選択する処理と、前記選択結果を選択した待機系マネージャに送信する処理と、をコンピュータに実行させ、前記各待機系マネージャ用のマネージャ引き継ぎプログラムは、前記選択結果を受信する処理と、受信した前記選択結果にもとづいて、自身が現用系マネージャになるか否かを判断する処理と、前記判断結果に応じて、現用系マネージャに変化する処理と、をコンピュータに実行させる構成としてある。
【発明の効果】
【００１２】
本発明によれば、ノードの負荷が時々刻々と変化するような場合でも、その時点の状況に適した待機系マネージャを現用系マネージャとして選択できるとともに、モバイルネットワークやアドホックネットワーク環境においても、その時点の状況に適した待機系マネージャを現用系マネージャとして選択することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る分散計算機システムの構成を示すブロック図である。
【図２】本発明の実施形態に係る分散計算機システムにおいて、マネージャ選択装置の動作を示すフローチャートである。
【図３】本発明の実施形態に係る分散計算機システムにおいて、マネージャの動作を示すフローチャートである。
【図４】本発明の実施形態に係る分散計算機システムの具体的な構成を示すブロック図である。
【図５】本発明の実施形態に係る分散計算機システムにおいて、マネージャ選択装置の具体的な動作を示すフローチャートである。
【図６】本発明の実施形態に係る分散計算機システムにおいて、マネージャの具体的な動作を示すフローチャートである。
【図７】本発明の実施形態に係る分散計算機システムの具体的なシステム構成を示すブロック図である。
【図８】本発明の実施形態に係る分散計算機システムにおいて、ノード情報記録部に記録される情報の具体例を示す説明図である。
【図９】本発明の実施形態に係る分散計算機システムにおいて、選択結果記録部に記録される情報の具体例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
［本発明の実施形態に係る分散計算機システムの概要］
まず、本発明の実施形態に係る分散計算機システムの概要について、図１〜図３を参照して説明する。
図１は、本発明の実施形態に係る分散計算機システムの構成を示すブロック図である。
【００１５】
この図に示すように、本発明の実施形態に係る分散計算機システムは、複数のノード１から構成されており、各ノード１には、マネージャ選択装置２と、必要に応じてマネージャ３が配置されている。
ここで、分散計算機システムを構成する複数のノード１には、これらの各ノード１に処理を割り当てる現用系マネージャ３が備えられた一のノード１と、現用系マネージャ３に障害が発生したとき、現用系マネージャ３として動作可能な待機系マネージャ３が備えられた複数のノード１と、マネージャ３を備えない一又は複数のノード１が含まれる。
なお、図１は、待機系マネージャ３が備えられた２つのノード１の構成を示している。
【００１６】
マネージャ選択装置２は、各ノード用のマネージャ引き継ぎプログラムによってコンピュータ（計算機）上に構成される装置であって、マネージャ選択手段２１と、選択結果送信手段２２とを含む。
マネージャ選択手段２１は、現用系マネージャ３に障害が発生したとき、複数の待機系マネージャ３の中から現用系マネージャ３の候補を選択する。マネージャ選択手段２１によるマネージャ選択条件や選択手順は、各ノード１間で異なっていてもよい。
選択結果送信手段２２は、マネージャ選択手段２１が選択した結果を、選択された待機系マネージャ３に送信する。
【００１７】
マネージャ３は、管理プログラム及び待機系マネージャ用のマネージャ引き継ぎプログラムによってコンピュータ上に構成される装置であって、選択結果受信手段３１と、選択結果記録部３２と、選択結果判断手段３３と、状態変更手段３４を含む。
選択結果受信手段３１は、マネージャ選択装置２の選択結果送信手段２２から送信された選択結果を受信し、選択結果記録部３２に記録する。
選択結果記録部３２は、選択結果受信手段３１により受信された選択結果を記録する。
選択結果判断手段３３は、各マネージャ選択装置２からの選択結果の送信が済んだと判断された時点で、選択結果記録部３２に記録されている選択結果を読み出し、それに基づいて、自身が現用系マネージャ３になるか否かを判断する。選択結果判断手段３３の判断基準は、すべてのノード１で同一である必要がある。
状態変更手段３４は、選択結果判断手段３３が現用系マネージャになると判断した場合、現用系マネージャ３としての動作を開始させる。
【００１８】
つぎに、本発明の実施形態に係る分散計算機システムの動作について、図１〜図３を参照して説明する。
図２は、本発明の実施形態に係る分散計算機システムにおいて、マネージャ選択装置の動作を示すフローチャート、図３は、本発明の実施形態に係る分散計算機システムにおいて、マネージャの動作を示すフローチャートである。
【００１９】
図２に示すように、各ノード１のマネージャ選択装置２は、現用系マネージャ３の不在を検知したタイミングで、あらかじめ決められた判断基準に従って、適切な待機系マネージャ３を選択し（ステップＡ１：マネージャ選択手段２１）、その選択結果を選択した待機系マネージャ３に送信する（ステップＡ２：選択結果送信手段２２）。
【００２０】
一方、各ノード１の待機系マネージャ３は、図３に示すように、マネージャ選択装置２からの送信を待ち（ステップＢ１、Ｂ２）、送信があれば選択結果を受信し、選択結果記録部３２に記録する（ステップＢ３：選択結果受信手段３１）。
つぎに、全てのマネージャ選択装置２からの選択結果の送信が済んだか否かを判断し（ステップＢ４）、まだ済んでないと判断された場合は、ステップＢ１に戻り、他のマネージャ選択装置２からの送信を待つ。
ステップＢ４でマネージャ選択装置２からの送信が済んだと判断された場合、或いは、ステップＢ１及びＢ２で予め決められた待ち時間が過ぎたと判断された場合は、選択結果記録部３２から選択結果を読み出し（ステップＢ５）、その内容から自分が現用系になるべきか否かを判断する（ステップＢ６：選択結果判断手段３３）。
待機系マネージャ３は、現用系になるべきと判断した場合は、現用系マネージャとなって動作し（ステップＢ７：状態変更手段３４）、現用系になるべきでないと判断した場合は待機系としての動作を継続する（ステップＢ８）。
【００２１】
以上のように構成された本実施形態の分散計算機システムによれば、分散計算機システムを構成する複数のノード１には、これらの各ノード１に処理を割り当てる現用系マネージャ３が備えられた一のノード１と、現用系マネージャ３に障害が発生したとき、現用系マネージャ３として動作可能な待機系マネージャ３が備えられた複数のノード１と、が含まれ、各ノード１は、現用系マネージャ３に障害が発生したとき、複数の待機系マネージャ３の中から現用系マネージャ３の候補を選択し、選択結果を選択した待機系マネージャ３に送信し、各待機系マネージャ３は、選択結果を受信し、受信した選択結果にもとづいて、自身が現用系マネージャ３になるか否かを判断し、この判断結果に応じて、現用系マネージャ３に変化するので、静的に現用系マネージャ３になる順番を決定しておくシステムに比べて、その時点の状況に適した現用系マネージャ３を選択することができる。
【００２２】
［本発明の実施形態に係る分散計算機システムの詳細］
つぎに、本発明の実施形態に係る分散計算機システムの具体的な構成及び動作について、図４〜図９を参照して説明する。
図４は、本発明の実施形態に係る分散計算機システムの具体的な構成を示すブロック図である。
【００２３】
この図に示す分散計算機システムは、図１に示した分散計算機システムに比べ、待機系マネージャ３内にノード情報送信手段３５及び調停手段３６が加わり、また、マネージャ選択装置２内にノード情報受信手段２３及びノード情報記録部２４が加わっている。
【００２４】
ノード情報送信手段３５は、マネージャ選択手段２１が待機系マネージャ３を選択するための判断材料となるノード情報を各ノード１のノード情報受信手段２３に送信し、ノード情報受信手段２３は、受信したノード情報をノード情報記録部２４に記録する（図４の破線矢印参照）。
調停手段３６は、待機系マネージャ３の総数に比して、選択結果送信手段２２から送信された得票数が所定の比率を下回り、現用系マネージャ３となるかどうかを判断できない場合に、現用系マネージャ３に変化させる一の待機系マネージャ３を決定するための手段であり、例えば、他の待機系マネージャ３の調停手段３６に依頼して得票数の情報を送信してもらい、自身より多くの得票数を得た待機系マネージャ３が存在するかどうかを判断する。
【００２５】
つぎに、本発明の実施形態に係る分散計算機システムの具体的な動作について、図４〜図９を参照して説明する。
図５は、本発明の実施形態に係る分散計算機システムにおいて、マネージャ選択装置の具体的な動作を示すフローチャート、図６は、本発明の実施形態に係る分散計算機システムにおいて、マネージャの具体的な動作を示すフローチャート、図７は、本発明の実施形態に係る分散計算機システムの具体的なシステム構成を示すブロック図、図８は、本発明の実施形態に係る分散計算機システムにおいて、ノード情報記録部に記録される情報の具体例を示す説明図、図９は、本発明の実施形態に係る分散計算機システムにおいて、選択結果記録部に記録される情報の具体例を示す説明図である。
なお、図６は、本実施形態におけるマネージャ３の動作のうち、図３のステップＢ６に該当する部分を具体的に示したフローチャートである。
【００２６】
図７に示す分散計算機システムは、４つのノードＸ１１〜Ｘ１４を持っている。各ノードＸ１１〜Ｘ１４には、図４に示したマネージャ選択装置２とマネージャ３とが配置されており、ノードＸ１１に配置されたマネージャ３が現用系として動作しているとする。ノードＸ１１の現用系マネージャ３は、ハートビートパケットを各ノードＸ１２〜Ｘ１４に定期的に送信している。これにより、各ノードＸ１２〜Ｘ１４は、ノードＸ１１のマネージャ３が現用系マネージャ３として正常に稼動していることを認知することができる。
【００２７】
ノードＸ１２〜Ｘ１４の各待機系マネージャ３のノード情報送信手段３５は、例えば５秒ごとに、定期的にノード情報として空きメモリ容量と空きディスク容量の情報を各ノードＸ１２〜Ｘ１４のノード情報受信手段２３に送信している。
各マネージャ選択装置２のノード情報受信手段２３は、各待機系マネージャ３からノード情報として受信した空きメモリ容量と空きディスク容量を、図８に示すような形式でノード情報記録部２４に記録する。
ノードＸ１１のノードに障害が発生して、一定期間ハートビートパケットが受信されなくなると、各ノードＸ１２〜Ｘ１４のマネージャ選択装置２は、現用系マネージャ３の不在を検知する。現用系マネージャ３の不在が検知されると、各マネージャ選択装置２のマネージャ選択手段２１は、ノード情報記録部２４に記録されたノード情報を読み出す（図５のステップＡ０）。
【００２８】
ノードＸ１２、Ｘ１３のマネージャ選択手段２１は、ステップＡ１のマネージャ選択の手順として、例えば、空きメモリ容量の大きさをもって現用系マネージャ３を選択する手順を実装しているとする。その結果、ノードＸ１２、Ｘ１３のマネージャ選択手段２１は、ノードＸ１２の待機系マネージャ３を選択し、その選択結果を選択結果送信手段２２からノードＸ１２の待機系マネージャ３に送信する（ステップＡ２）。
ノードＸ１４のマネージャ選択手段２１は、ステップＡ１のマネージャ選択の手順として、例えば、空きディスク容量の大きさをもって現用系マネージャ３を選択する手順を実装しているとする。その結果、ノードＸ１４のマネージャ選択手段２１は、ノードＸ１４の待機系マネージャ３を選択し、その選択結果を、選択結果送信手段２２からノードＸ１４の待機系マネージャ３に送信する（ステップＡ２）。
【００２９】
各待機系マネージャ３の選択結果受信手段３１は、自身が受信した選択結果の数（得票数と呼ぶ）を選択結果記録部３２に記録する。各ノードＸ１２〜Ｘ１４の待機系マネージャ３に記録される得票数は図９のようになる。
【００３０】
ノードＸ１２の待機系マネージャ３の選択結果判断手段３３は、選択結果記録部３２から「２」という情報を読み出し（ステップＢ５）、マネージャ選択装置３の総数「３」に対して過半数の数の得票を得たと判断して（ステップＢ６１）、現用系マネージャ３として動作を開始する（ステップＢ７）。
【００３１】
ノードＸ１３の待機系マネージャ３の選択結果判断手段３３は、選択結果記録部３２から「０」という情報を読み出す（ステップＢ５）。これにより、自身より得票数の多い待機系マネージャ３が存在すると判断し（ステップＢ６２）、待機系マネージャ３としての動作を継続する（ステップＢ８）。
【００３２】
ノードＸ１４の待機系マネージャ３の選択結果判断手段３３は、選択結果記録部３２から「１」という情報を読み出す（ステップＢ５）。この情報だけでは、自身より得票数の多い待機系マネージャ３が存在するか否かを判断できないので、調停手段３６が、ノードＸ１２、Ｘ１３の待機系マネージャ３に得票数を教えてくれるよう依頼する（ステップＢ６３）。その結果、ノードＸ１２が自身より得票数が多いことを判断し（ステップＢ６４）、待機系マネージャ３としての動作を継続する（ステップＢ８）。
【００３３】
以上のように構成された本実施形態の分散計算機システムによれば、各待機系マネージャ３は、当該待機系マネージャ３が備えられたノード１の情報を各ノード１に送信し、各ノード１は、ノード情報を受信し、受信したノード情報をノード情報記録部２４に記録し、マネージャ選択手段２１は、ノード情報記録部２４に記録されたノード情報にもとづいて、複数の待機系マネージャ３の中から現用系マネージャ３の候補を選択するので、待機系マネージャ３が備えられた各ノード１の情報にもとづいて、適切な現用系マネージャの候補を選択することができる。
【００３４】
また、各待機系マネージャ３は、受信した選択結果の数が待機系マネージャ３の総数に比して所定の比率を下回る場合に、現用系マネージャ３に変化させる一の待機系マネージャ３を決定するための調停手段３６を備えるので、いかなる状況においても、一の待機系マネージャ３を確実に選出し、現用系マネージャ３が不在の状態や、現用系マネージャ３が複数存在する状態の発生を防止することができる。
【００３５】
また、本実施形態の調停手段３６は、受信した選択結果の数が待機系マネージャ３の総数に比して所定の比率を下回る場合に、他の待機系マネージャ３に対し、他の待機系マネージャ３が受信した選択結果の数を問い合わせ、自身よりも受信した選択結果の数が多い待機系マネージャ３が存在しないとき、自身が現用系マネージャ３になると判断するので、待機系マネージャ３間のやり取りだけで、一の待機系マネージャ３を確実に選出することができる。
【００３６】
［第二実施形態］
つぎに、本発明の第二実施形態に係る分散計算機システムについて説明する。
第二実施形態の分散計算機システムは、調停手段３６が、受信した前記選択結果の数が待機系マネージャ３の総数に比して所定の比率を下回る場合に、各ノード１に現用系マネージャ３の候補を再度選択させ、その選択結果を選択した待機系マネージャ３に送信させる点が前記実施形態と相違している。
【００３７】
例えば、前記実施形態では、選択結果判断手段３３において、最も得票数の多い待機系マネージャ３が現用系となるべきと判断していたが、過半数の得票を得たもののみが現用系になるというルールを規定し、その際、過半数を得る待機系マネージャ３が存在しなかった場合は、調停手段３６において、各マネージャ選択装置２に再投票を依頼することとする。そして、過半数の得票を得た待機系マネージャ３を現用系マネージャ３に変化させる。
【００３８】
以上のように構成された第二実施形態の分散計算機システムによれば、調停手段３６が、受信した前記選択結果の数が待機系マネージャ３の総数に比して所定の比率を下回る場合に、各ノード１に現用系マネージャ３の候補を再度選択させ、その選択結果を選択した待機系マネージャ３に送信させるので、状況に適した待機系マネージャ３を厳選することができる。
【００３９】
［第三実施形態］
つぎに、本発明の第三実施形態に係る分散計算機システムについて説明する。
第三実施形態の分散計算機システムは、選択結果送信手段２２が、前記選択結果をすべての待機系マネージャ３に送信し、選択結果判断手段３３が、受信した前記選択結果を集計し、自身の選択された数が最大である場合に、自身が現用系マネージャ３になると判断する点が前記実施形態と相違している。
【００４０】
このように構成された第三実施形態の分散計算機システムによれば、マネージャ選択装置２の選択結果送信手段２２が、選択した待機系マネージャ３にのみ選択結果を送信するのではなく、すべての待機系マネージャ３に選択結果を送信し、待機系マネージャ３の選択結果判断手段３３が、受信した選択結果を集計し、自身の選択された数が最大である場合に、自身が現用系マネージャ３になると判断するので、ネットワークトラヒックは増えるものの、自身の得票数が待機系マネージャ３の総数に比して所定の比率を下回る場合であっても、現用系マネージャ３になるべきか否かを判断することができ、その結果、調停手段３６により他の待機系マネージャ３に得票数情報を問い合わせるステップ（ステップＢ６４）を省くことができる。
【００４１】
［第四実施形態］
つぎに、本発明の第四実施形態に係る分散計算機システムについて説明する。
第四実施形態の分散計算機システムは、マネージャ選択手段２１が、各待機系マネージャ３の負荷、各待機系マネージャ３までのネットワークのホップ数、及び／又は、各待機系マネージャ３までのネットワークのトラヒック量に応じて、現用系マネージャ３の候補を選択する点が前記実施形態と相違している。
【００４２】
例えば、前記実施形態では、ノード情報送信手段３４が、ノード情報として空きメモリ容量と空きディスク容量とを送信していたが、空きメモリ容量や空きディスク容量以外のノード情報として、ＣＰＵの使用率や送信時刻を送信する。送信時刻をノード情報として送信すると、マネージャ選択装置２のノード情報受信手段２３は、ノード情報の受信時刻との差分からノード情報が到達するのにかかった時間をノード情報記録部２４に記録することができるので、マネージャ選択手段２１において待機系マネージャ３を選択するための情報として使用することができる。
【００４３】
また、前記実施形態では、ノード情報記録部２４に記録する情報として、ノード情報送信手段３５により送信されたノード情報をそのまま記録していたが、その他に、送信パケットから情報を取得し、記録することができる。送信パケットから取得可能な情報としては、例えば、ノード１の間のホップ数やネットワークの回線の太さなどがある。このようにすると、マネージャ選択手段２１は、各待機系マネージャ３の負荷、各待機系マネージャ３までのネットワークのホップ数、各待機系マネージャ３までのネットワークのトラヒック量などに応じて、現用系マネージャの候補を選択することが可能になる。
【００４４】
以上のように構成された第四実施形態の分散計算機システムは、マネージャ選択手段２１が、各待機系マネージャ３の負荷、各待機系マネージャ３までのネットワークのホップ数、及び／又は、各待機系マネージャ３までのネットワークのトラヒック量に応じて、現用系マネージャ３の候補を選択するので、各ノード１やネットワークの状態が動的に変化する状況であっても、状況に適した待機系マネージャ３を現用系マネージャ３として選択することができる。
【００４５】
以上説明したように、本発明に係る実施形態によれば、以下に示すような効果が得られる。
第１の効果は、ノードの負荷が時々刻々と変化するような場合でも、その時点の状況に適した待機系マネージャを現用系マネージャとして選択できることにある。
その理由は、待機系マネージャが配置された各ノードの負荷情報に従って、各マネージャ選択手段が適切と判断する待機系マネージャを選択すれば、その選択結果により、その時点で最も負荷の軽いノードに配置された待機系マネージャが現用系マネージャとして選択されるためである。
【００４６】
第２の効果は、モバイルネットワークやアドホックネットワーク環境においても、その時点の状況に適した待機系マネージャを現用系マネージャとして選択できることにある。
その理由は、待機系マネージャが配置された各ノードまでの距離やネットワーク性能に従って、各マネージャ選択手段が適切と判断する待機系マネージャを選択すれば、その選択結果により、その時点で最もネットワーク効率のよいノードに配置された待機系マネージャが現用系マネージャとして選択されるためである。
【００４７】
以上、本発明の分散計算機システムについて、実施形態を示して説明したが、本発明に係る分散計算機システムは、上述した実施形態にのみ限定されるものではなく、特許請求の範囲内で種々の変更が可能であることは言うまでもない。
例えば、前記実施形態では、図７に示すように、各ノード１にマネージャ３を配置していたが、信頼性とノード１の負荷とのバランスを考慮し、一部のノード１にのみマネージャ３を配置するシステム構成であってもよい。
【００４８】
また、前記実施形態では、ノード情報送信手段３４がノード情報を送信するタイミングとして、５秒毎としていたが、必ずしも５秒である必要はなく、情報の正確さとネットワークやノードの負荷とのバランスで任意の時間を決めてよい。また、ノード情報は必ずしも定期的に送る必要はなく、現用系マネージャ３の不在を検知した時点でノード情報の送信を開始する方法を採ることも可能である。その際には、図５のステップＡ０でマネージャ選択手段２１がノード情報を読み出す際に、すべてのノード情報の受信が完了するのを待つ手順が必要となる。
【００４９】
また、前記実施形態では、ノード情報記録部２４にノード情報を記録する方法として、最新のノード情報のみを記録していたが、過去一定期間、或いは一定個数の情報を履歴として記録してもよい。
また、前記実施形態では、マネージャ選択手段２１が１つの待機系マネージャ３のみを選択していたが、必ずしも１つである必要はなく、複数選択するようにしてもよい。この場合には、選択した待機系マネージャ３にすべて同じ得票数を与えるのではなく、適切度を表す点数をつけるようにしてもよい。
【００５０】
また、前記実施形態では、マネージャ選択手段２１における選択方法として、１つの情報のみで決定していたが、１つの情報に限る必要はなく、各情報に重み付けして足し合わせるなど、複数の情報を組み合わせて判断することも可能である。また、過去の履歴情報も併せて記録する場合には、過去の一定期間、或いは一定個数の情報の平均値を用いて判断するようにしてもよい。また、過去の履歴情報において変動が少ないものを選択する方法もある。
【００５１】
また、前記実施形態では、マネージャ選択装置２からの得票数において、同数１位の待機系マネージャ３が複数存在した場合の解決方法について示していないが、解決方法としては、調停手段３６において、静的に決められた順位表を予め保持しておき、それに従う方法や、ＩＰアドレスの若い順など、一意に機械的に決まる方法を用いることができる。
【産業上の利用可能性】
【００５２】
本発明は、複数のノードで分散処理を行う分散計算機システムで利用することができる。特に、複数のノードを管理するマネージャに障害が発生した際、マネージャの引き継ぎを自動的に行うことにより、高い信頼性を確保することが求められる分散計算機システムに好適に用いることができる。
【符号の説明】
【００５３】
１  ノード
２  マネージャ選択装置
３  マネージャ（待機系マネージャ、現用系マネージャ）
２１  マネージャ選択手段
２２  選択結果送信手段
２３  ノード情報受信手段
２４  ノード情報記録部
３１  選択結果受信手段
３２  選択結果記録部
３３  選択結果判断手段
３４  状態変更手段
３５  ノード情報送信手段
３６  調停手段
【図１】
2010182017.tif 000003
【図２】
2010182017.tif 000004
【図３】
2010182017.tif 000005
【図４】
2010182017.tif 000006
【図５】
2010182017.tif 000007
【図６】
2010182017.tif 000008
【図７】
2010182017.tif 000009
【図８】
2010182017.tif 000010
【図９】
2010182017.tif 000011