(57)【要約】  監視マネージャは、データ処理を実行するノードからデータ処理の実行にかかる負荷を示す負荷情報を、ノードを識別するノード識別子とともに受け付け、受け付けた負荷情報が所定の閾値以上か否かを判断し、受け付けた負荷情報が閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに、閾値未満であると判断された負荷情報と、この負荷情報とともに受け付けたノード識別子とを関連づけて送信する。
2009101908.tif 000002
【特許請求の範囲】
【請求項１】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有する監視マネージャ。
【請求項２】
請求項１に記載の監視マネージャにおいて、
前記ノードの故障を検知するノード故障検知手段を有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段は、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせる監視マネージャ。
【請求項３】
請求項１に記載の監視マネージャにおいて、
前記ノードの故障を検知するノード故障検知手段と、
前記ノードにおける前記データ処理の実行を制御し、制御識別子で識別されるノード制御手段とを有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、記憶された前記閾値とを比較し、保持されたいずれかの負荷情報が閾値未満であるか否かを判断し、
前記ノード制御手段は、前記判断手段にて保持されたいずれかの負荷情報が閾値未満であると判断された場合、閾値未満と判断された他のノードに、故障を検知した前記一のノードで実行されているデータ処理を実行させる監視マネージャ。
【請求項４】
請求項１乃至３のいずれか１項に記載の監視マネージャにおいて、
前記ノードの属性を示す属性情報と、前記ノードの識別子とを対応づけて記憶するノード情報保持手段を有し、
前記情報通信手段は、受け付けた前記負荷情報と、対応する前記属性情報とを対応づけて送信する監視マネージャ。
【請求項５】
請求項３に記載の監視マネージャにおいて、
前記情報通信手段は、受け付けた前記負荷情報と、該負荷情報に対応する前記ノードを制御する前記ノード制御手段の前記制御識別子とを関連づけて送信する監視マネージャ。
【請求項６】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手段と、
前記受信手段にて受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手段と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手段と、
前記要求受付手段にて受け付けた要求に応じて、前記受信情報記憶手段に記憶された前記負荷情報と、前記所定の閾値とを比較する検索手段と、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有する統括マネージャ。
【請求項７】
ノードを監視している監視マネージャと、統括マネージャとをネットワークを介して接続しているノード監視システムであって、
前記監視マネージャは、
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有し、
前記統括マネージャは、
前記負荷情報を前記ノードごとに受信する受信手段と、
前記受信手段にて受信した前記負荷情報を、前記ノードを識別するノード識別子と対応づけて記憶する受信情報記憶手段とを有するノード監視システム。
【請求項８】
請求項７に記載のノード監視システムにおいて、
前記監視マネージャは、第一の監視マネージャと、第二の監視マネージャとからなり、
前記第一の監視マネージャは、
前記情報通信手段が、前記負荷情報を対応する前記ノード識別子とともに前記統括マネージャに送信し、
前記第二の監視マネージャは、
前記ノードの故障を検知するノード故障検知手段を有し、
前記判断手段が、前記ノード故障検知手段が監視するノードの故障を検知した場合、保持された前記負荷情報と、所定の閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段が、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を送信し、
前記統括マネージャは、
前記受信情報記憶手段が、前記第一の監視マネージャから受け付けた前記負荷情報をノード識別子と対応づけて保持し、
前記要求に応じて、前記受信情報記憶手段に保持された前記負荷情報と、前記所定の閾値とを比較して、前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有するノード監視システム。
【請求項９】
請求項８に記載のノード監視システムにおいて、
前記第二の監視マネージャは、
前記受付手段が、前記統括マネージャから前記ノード識別子を受け付け、
前記ノード故障検知手段が故障を検出した前記ノードのデータ処理を、前記受付手段にて受け付けた前記ノード識別子に対応する前記ノードに実行させるノード制御手段を有するノード監視システム。
【請求項１０】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付けるステップと、
受け付けた前記負荷情報が所定の閾値以上か否かを判断するステップと、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記閾値未満であると判断された前記負荷情報と、該負荷情報とともに受け付けた前記ノード識別子とを関連づけて送信するステップとを含む監視マネージャのデータ処理方法。
【請求項１１】
監視マネージャのためのコンピュータプログラムであって、
コンピュータに、
データ処理を実行するノードから前記データ処理の実行にかかるノードの負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付ける受付手順と、
前記ノードから受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手順と、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記負荷情報を前記ノード識別子と対応づけて送信する情報通信手順とを実行させるためのコンピュータプログラム。
【請求項１２】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信するステップと、
受信した前記負荷情報と前記ノード識別子とを記憶するステップと、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付けるステップと、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較するステップと、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信するステップとを含む統括マネージャのデータ処理方法。
【請求項１３】
統括マネージャのためのコンピュータプログラムであって、
コンピュータに、
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手順と、
受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手順と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手順と、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較する検索手順と、
前記所定の閾値を満たす前記負荷情報があった場合、該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手順とを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して複数のマネージャによりノードのデータ処理を監視するシステムに関し、ノードの監視マネージャ、統括マネージャ、およびこれらのデータ処理方法、これらの監視マネージャおよび統括マネージャのためのコンピュータプログラム、その監視マネージャと統括マネージャとがネットワークを介して接続しているノード監視システムに関する。
【背景技術】
【０００２】
近年の状態監視およびフェイルオーバーを行うシステムの一例が、特開２０００−０４７８９４号公報に記載されている。特開２０００−０４７８９４号公報に記載の状態監視およびフェイルオーバーを行うシステムは、監視エージェントを含むノードと、監視情報リポジトリを含む共有ディスクとから構成されている。このような構成を有する状態監視およびフェイルオーバーを行う従来のシステムは次のように動作する。【０００３】
監視エージェントが定期的に各ノードのＣＰＵの負荷情報等を監視し、監視情報リポジトリに全てのノードの負荷情報を集約して保存する。そして、いずれかのノードに故障が発生した場合に負荷情報を利用してフェイルオーバー先のノードを決定する。【０００４】
現在、上述のような状態監視およびフェイルオーバーを行うシステムとして、特開２００６−０７９１６１号公報や特開平０９−１６０８８４号公報に開示されたものがある。【０００５】
しかしながら、特開２０００−０４７８９４号公報に記載の技術は、１つの監視マネージャの処理能力に対してノードの数が多すぎるため、複数の監視マネージャに処理を分割する場合に、以下の問題を有していた。【０００６】
第１の問題点は、各ノードの負荷情報を各監視マネージャ間で共有するための通信を定期的に行なっていないと、フェイルオーバーに要する時間が長くなる可能性があるということである。その理由は、ノードに故障が発生した場合に、存在する全ての監視マネージャに対して負荷が小さいノードの存在を問い合わせる必要があるためである。【０００７】
第２の問題点は、故障発生時に各監視マネージャに問い合わせをしない場合には、ノードが正常に動作している間のネットワークの通信量が大きくなるということである。その理由は、各監視マネージャが管理しているノードのうち、負荷が小さいノードの情報を各監視マネージャ間で共有するための通信が定期的に発生するためである。
【発明の開示】
【０００８】
本発明は、複数の監視マネージャで複数のノードの処理を監視する場合においても、ネットワークの負荷を低減させつつ、ノードの故障時のフェイルオーバーに必要な処理時間を軽減することができる監視マネージャ、統括マネージャ、そのデータ処理方法、そのデータ処理装置のためのコンピュータプログラム、その監視システムを提供することを目的とする。
【０００９】
上記目的を達成するために本発明は、
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有する。
【００１０】
また、ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手段と、
前記受信手段にて受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手段と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手段と、
前記要求受付手段にて受け付けた要求に応じて、前記受信情報記憶手段に記憶された前記負荷情報と、前記所定の閾値とを比較する検索手段と、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有する。
【００１１】
また、ノードを監視している監視マネージャと、統括マネージャとをネットワークを介して接続しているノード監視システムであって、
前記監視マネージャは、
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有し、
前記統括マネージャは、
前記負荷情報を前記ノードごとに受信する受信手段と、
前記受信手段にて受信した前記負荷情報を、前記ノードを識別するノード識別子と対応づけて記憶する受信情報記憶手段とを有する。
【００１２】
また、データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付けるステップと、
受け付けた前記負荷情報が所定の閾値以上か否かを判断するステップと、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記閾値未満であると判断された前記負荷情報と、該負荷情報とともに受け付けた前記ノード識別子とを関連づけて送信するステップとを含む。
【００１３】
また、監視マネージャのためのコンピュータプログラムであって、
コンピュータに、
データ処理を実行するノードから前記データ処理の実行にかかるノードの負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付ける受付手順と、
前記ノードから受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手順と、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記負荷情報を前記ノード識別子と対応づけて送信する情報通信手順とを実行させる。
【００１４】
また、ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信するステップと、
受信した前記負荷情報と前記ノード識別子とを記憶するステップと、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付けるステップと、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較するステップと、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信するステップとを含む。
【００１５】
また、統括マネージャのためのコンピュータプログラムであって、
コンピュータに、
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手順と、
受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手順と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手順と、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較する検索手順と、
前記所定の閾値を満たす前記負荷情報があった場合、該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手順とを実行させる。
【００１６】
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与された各マネージャ、コンピュータプログラムにより各マネージャに実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【００１７】
また、本発明の各種の構成要素は、個々に独立した存在である必要もなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でよい。
【００１８】
また、本発明のデータ処理方法には複数の工程を順番に記載してあるが、その記載の順番は複数の工程を実行する順番を限定するものではない。このため、本発明のデータ処理方法を実施するときには、その複数の工程の順番は内容的に支障しない範囲で変更することができる。
【００１９】
また、本発明のデータ処理方法の複数の工程は個々に相違するタイミングで実行されることに限定されない。このため、ある工程の実行中に他の工程が発生すること、ある工程の実行タイミングと他の工程の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００２０】
また、本発明でいう監視マネージャおよび統括マネージャは、コンピュータプログラムを読み取って対応するデータ処理を実行できるように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）ユニット、等の汎用デバイスで構築されたハードウェア、所定のデータ処理を実行するように構築された専用の論理回路、これらの組み合わせ、等として実施することができる。
【００２１】
本発明によれば、複数の監視マネージャで複数のノードの処理を監視する場合においても、ネットワークの負荷を低減させつつ、ノードの故障時のフェイルオーバーに必要な処理時間を軽減する。
【図面の簡単な説明】
【００２２】
【図１】本実施形態のノード監視システムの構成を説明する図である。
【図２】図１に示した監視マネージャの論理構造を示す模式的なブロック図である。
【図３】図１に示した統括マネージャの論理構造を示す模式的なブロック図である。
【図４】図１に示した監視マネージャの論理構造を示す模式的なブロック図である。
【図５】図４に示したノード情報保持部で保持されるデータ構造の一例である。
【図６】実施の形態に係るノード監視システムの構成を説明する図である。
【図７】本実施形態の監視マネージャのデータ処理方法について説明するフローチャートである。
【図８】本実施形態の監視マネージャのデータ処理方法について説明するフローチャートである。
【図９】第２の実施形態のノード監視システムの構成を説明する図である。
【図１０】受信情報記憶部に保存されるデータ構造の一例である。
【図１１】本実施形態におけるデータ処理方法を説明するフローチャートである。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。【００２４】
（第１の実施形態）
図１は、本実施形態のノード監視システムの構成を説明する図である。【００２５】
本実施形態のノード監視システムは、図１に示すように、処理ノード２，３を監視している監視マネージャ１と、処理ノード５を監視している監視マネージャ４と、統括マネージャ６とをネットワーク１０００を介して接続している。【００２６】
ネットワーク１０００とは、監視マネージャ１，４と統括マネージャ６とのデータ通信を仲介できるものであればよく、有線、無線、これらの組み合わせでよい。【００２７】
図２は、図１に示した監視マネージャ４の論理構造を示す模式的なブロック図である。【００２８】
図１に示した監視マネージャ４は、図２に示すように、データ処理を監視する処理ノード５からデータ処理の実行にかかる負荷を示す負荷情報を、処理ノード５を識別するノード識別子とともに受け付ける受付部４０１と、受け付けた負荷情報が所定の閾値以上か否かを判断する判断部４０５と、判断部４０５において受け付けた負荷情報が閾値未満であると判断された場合、ネットワーク１０００を介して監視マネージャ１，４と接続している統括マネージャ６に対して、所定の閾値未満であると判断された負荷情報と、この負荷情報とともに受付部４０１にて受け付けられたノード識別子とを関連づけて送信する情報通信部４０７と、ノード５の故障を検知するノード故障検知部４０９と、ノードにおけるデータ処理の実行を制御するノード制御部４１１と、ノード情報保持部４０３とを備える。ノード制御部４１１は、制御識別子で識別される。そのため、情報通信部４０７は、受け付けた負荷情報と、対応する処理ノード５を制御しているノード制御部４１１の制御識別子とを関連づけて送信してもよい。【００２９】
監視マネージャ４は、判断部４０５が処理ノード５から受け付けた負荷情報が所定の閾値以上と判断した場合は、処理を終了する。【００３０】
負荷情報とは、処理ノード２，３，５がデータ処理を実行する際、ハードウェアにかかる負荷を示す情報である。具体的には、負荷情報は、ＣＰＵ、メモリ、ディスク容量等にかかる負荷を示す情報である。たとえば、ＣＰＵの負荷は種々の方法により算出されるが、たとえば、ＣＰＵの使用率（Ｐｒｏｃｅｓｓｏｒ／％  Ｐｒｏｃｅｓｓｏｒ  Ｔｉｍｅ）  およびＣＰＵのＩｄｌｅ率（Ｐｒｏｃｅｓｓｏｒ／％  Ｉｄｌｅ  Ｔｉｍｅ）から求めることができる。負荷情報を求める機能はノード自身に備えられている。【００３１】
図３は、図１に示した統括マネージャ６の論理構造を示す模式的なブロック図である。【００３２】
図１に示した統括マネージャ６は、図３に示すように、ネットワーク１０００を介して接続している監視マネージャ４が監視している処理ノード５の負荷を示す負荷情報を、監視マネージャ４から処理ノード５を識別するノード識別子と対応づけて受信する受信部６０１と、受信部６０１にて受信した負荷情報とノード識別子とを記憶する受信情報記憶部６０３と、ネットワーク１０００を介して接続している監視マネージャ１から、所定の閾値を満たす負荷情報を有するノードがあるか否かの判断要求を受け付ける要求受付部６０５と、要求受付部６０２にて受け付けた要求に応じて、受信情報記憶部６０３に記憶された負荷情報と、所定の閾値とを比較する検索部６０７と、所定の閾値を満たす負荷情報があった場合、その負荷情報に対応するノード識別子を監視マネージャ１に送信する応答通信部６０９とを備える。【００３３】
受信部６０１は、処理ノード２の負荷を示す負荷情報を、監視マネージャ１から処理ノード２を識別するノート識別子と対応づけて受信する。また、受信部６０１は、処理ノード３の負荷を示す負荷情報を、監視マネージャ１から処理ノード３を識別するノート識別子と対応づけて受信する。さらに、受信部６０１は、処理ノード５の負荷を示す負荷情報を、監視マネージャ４から処理ノード５を識別するノート識別子と対応づけて受信する。【００３４】
受信情報記憶部６０３は、受信部６０１にて受信した負荷情報とノード識別子とを記憶する。受信情報記憶部６０３のデータ構造は、ノード情報保持部１０３およびノード情報保持部４０３と同様な構成をしている。したがって、受信情報記憶部６０３もまた、後述する図５で示すデータ構造を有することができる。【００３５】
要求受付部６０５は、監視マネージャ１から、所定の閾値とともに所定の閾値を満たす負荷情報を有するノードがあるか否かの判断要求を受け付ける。また、要求受付部６０５は、監視マネージャ４から、所定の閾値とともに所定の閾値を満たす負荷情報を有するノードがあるか否かの判断要求を受け付けてもよい。【００３６】
検索部６０７は、要求受付部６０５にて受け付けた要求に応じて、受信情報記憶部６０３を参照し、記憶された負荷情報と、受け付けた所定の閾値とを比較する。【００３７】
応答通信部６０９は、検索部６０７にて所定の閾値を満たす負荷情報が抽出された場合、その負荷情報に対応するノード識別子を、判断要求のあった監視マネージャに送信する。【００３８】
図４は、図１に示した監視マネージャ１の論理構造を示す模式的なブロック図である。【００３９】
図１に示した監視マネージャ１は、図４に示すように、受付部１０１と、ノード情報保持部１０３と、判断部１０５と、情報通信部１０７と、ノード故障検知部１０９と、ノード制御部１１１とから構成されている。【００４０】
受付部１０１は、処理ノード２から処理ノード２の負荷情報を、処理ノード２を識別するノード識別子とともに受け付ける。また、受付部１０１は、処理ノード３から処理ノード３の負荷情報を、処理ノード３を識別するノード識別子とともに受け付ける。ノード識別子とは、処理ノード２，３を個々に識別する情報である。処理ノード２，３は、監視マネージャ１によってデータ処理が監視されている。負荷情報とは、処理ノードにおいて、データ処理の実行の結果消耗される計算機の資源量である。【００４１】
ノード情報保持部１０３は、受け付けた負荷情報をノード識別子と対応づけて保持する。【００４２】
図５は、図４に示したノード情報保持部１０３で保持されるデータ構造の一例である。【００４３】
図５中、「処理ノード名」とは、ノード識別子の一例である。【００４４】
ノード制御部１１１は、処理ノード２，３の処理を制御する。ノード制御部１１１は、外部からの命令に従って処理ノード２，３の起動終了制御を行う。図５に示すように、ノード情報保持部１０３は、各ノード制御部１１１を識別して処理ノードおよびその負荷情報と関連づけて保持している。なお、図５では、「処理ノード制御手段名」が制御識別子の役割を果たしている。【００４５】
判断部１０５は、処理ノード５から受け付けた負荷情報が所定の閾値以上か否かを判断する。閾値とは、閾値を定める手段にはあらかじめ固定の値を利用する手段と、動的に指定する手段とがあるが、本実施形態では、あらかじめ固定の値が決められているとする。また、フェイルオーバーで利用する処理ノードには負荷情報が閾値よりも小さいという条件がある。【００４６】
情報通信部１０７は、受け付けた負荷情報が閾値未満であると判断された場合、統括マネージャ６に、負荷情報をノード識別子と対応づけて送信する。【００４７】
ノード故障検知部１０９は、処理ノード２、３の故障を検知する。【００４８】
図４に示した監視マネージャ１と図２に示した監視マネージャ４とは、受付部１０１が受付部４０１と、ノード情報保持部１０３がノード情報保持部４０３と、判断部１０５が判断部４０５と、情報通信部１０７が情報通信部４０７と、ノード故障検知部１０９がノード故障検知部４０９と、ノード制御部１１１がノード制御部４１１とにそれぞれ対応している。【００４９】
ノード故障検知部１０９が監視する処理ノード２の故障を検知した場合、判断部１０５は、保持された負荷情報と、記憶された閾値とを比較する。ノード情報保持部４０３には、処理ノード２、３の負荷情報が保持されており、たとえば、処理ノード２の負荷情報は８０％、処理ノード３の処理情報は７０％とする。閾値を５０％とすると、保持されたすべての処理ノードの負荷情報が閾値以上と判断される。このとき、情報通信部１０７が、所定の閾値（５０％）を送信するとともに、送信する所定の閾値（５０％）を満たす負荷情報を有するノードがあるか否かの判断要求を統括マネージャ６に送信する。【００５０】
一方、保持された処理ノード３の負荷情報が閾値未満と判断された場合、ノード制御部１１１は処理ノード２で実行されていたデータ処理を処理ノード３に実行させる。【００５１】
統括マネージャ６の受信情報記憶部６０３は、監視マネージャ４から受け付けた負荷情報をノード識別子と対応づけて保持する。応答通信部６０９は、要求に応じて、保持された負荷情報と、所定の閾値とを比較して、所定の閾値を満たす負荷情報があった場合、対応するノード識別子を監視マネージャ１に送信する。【００５２】
監視マネージャ１の受付部１０１が、統括マネージャ６からノード識別子を受信すると、ノード制御部１１１は、ノード故障検知部１０９による命令によって、ノード故障検知部１０９にて故障を検出した処理ノード２のデータ処理を、受け付けたノード識別子に対応する処理ノード５に実行させる。【００５３】
監視マネージャ１は、ノード故障検知部１０９が一のノードの故障を検知した場合、判断部１０５は、保持された負荷情報と、閾値とを比較する。保持されたすべての負荷情報が閾値以上と判断された場合、情報通信部１０７は、閾値を送信して、統括マネージャ６に閾値を満たす他のノードの負荷情報を問い合わせる。なお、閾値がシステム全体で固定であれば閾値自体は送信しなくてよい。【００５４】
一方、保持されたいずれかの負荷情報が閾値未満であると判断された場合、閾値未満と判断された他のノードの閾値に、故障を検知した一のノードで実行されているデータ処理を実行させる。【００５５】
上述のような監視マネージャの各部は、必要により各種のハードウェアを利用して実現される。しかし、監視マネージャが実装されているコンピュータプログラムに対応して機能することにより実現されている。【００５６】
このようなコンピュータプログラムは、例えば、データ処理を実行するノードからデータ処理の実行にかかるノードの負荷を示す負荷情報を、ノードを識別するノード識別子とともに受け付ける受付処理、ノードから受け付けた負荷情報が所定の閾値以上か否かを判断する判断処理、受け付けた負荷情報が閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに、負荷情報をノード識別子と対応づけて送信する情報通信処理、等の処理動作をＣＰＵ等に実行させるためのソフトウェアとしてＲＡＭ等の情報記憶媒体に格納されている。【００５７】
また、上述のような統括マネージャの各部は、必要により各種のハードウェアを利用して実現される。しかし、統括マネージャが実装されているコンピュータプログラムに対応して機能することにより実現されている。【００５８】
このようなコンピュータプログラムは、例えば、ネットワークを介して接続している第一および第二の監視マネージャが監視しているノードの負荷を示す負荷情報を、第一の監視マネージャからノードを識別するノード識別子と対応づけて受信する受信処理、受信した負荷情報とノード識別子とを記憶する受信情報記憶処理、第二の監視マネージャから、所定の閾値を満たす負荷情報を有するノードがあるか否かの判断要求を受け付ける要求受付処理、要求に応じて、記憶された負荷情報と、所定の閾値とを比較する検索処理、所定の閾値を満たす負荷情報があった場合、その負荷情報に対応するノード識別子を第二の監視マネージャに送信する応答通信処理、等の処理動作をＣＰＵ等に実行させるためのソフトウェアとしてＲＡＭ等の情報記憶媒体に格納されている。【００５９】
以下、本実施形態のノード監視システムについてより詳細に説明する。【００６０】
図６は、実施の形態に係るノード監視システムの構成を説明する図である。【００６１】
図６を参照すると、監視マネージャ１と、監視マネージャ１の監視対象である処理ノード２，３と、監視マネージャ１と同じ構成である監視マネージャ４と、監視マネージャ４の監視対象である処理ノード５と、統括マネージャ６とから構成される。監視マネージャ１は処理ノード制御手段１１（ノード制御部１１１に対応）とノード情報保存手段１２（ノード情報保持部１０３に対応）とノード故障検知手段１３（ノード故障検知部１０９に対応）を含む。監視マネージャ４は処理ノード制御手段４１（ノード制御部４１１に対応）とノード情報保存手段４２（ノード情報保持部４０３に対応）とノード故障検知手段４３（ノード故障検知部４０９に対応）とを含む。統括マネージャ６はノード情報保存手段６１（受信情報記憶部６０３に対応）を含む。【００６２】
これらの手段はそれぞれ概略次のように動作する。【００６３】
処理ノード２と処理ノード３と処理ノード５はそれぞれを制御するノード制御部１１１，４１１により決められた処理を実行する。【００６４】
ノード制御部１１１は、外部からの命令に従い処理ノード２，３の起動終了制御を行う。【００６５】
ノード情報保持部１０３は、定期的または任意のタイミングで処理ノード２，３の負荷情報を取得して保存する。各処理ノードの負荷が閾値よりも小さい場合はノード情報保存手段６１に同一の負荷情報を送信する。【００６６】
また、ノード情報保持部１０３は、ノード故障検知部１０９からの問い合わせに従い、負荷が閾値よりも小さい処理ノードが存在する場合はその処理ノードの情報を返す。【００６７】
ノード故障検知部１０９は、処理ノード２，３を監視して、どちらかの処理ノードに故障が発生した場合にノード情報保持部１０３に問い合わせを行う。ノード情報保持部１０３に負荷が閾値よりも小さい処理ノードの情報が存在する場合には、その処理ノードで故障が発生した処理ノードで実行していた処理を続行するようにノード制御部１１１に命令する。ノード故障検知部１０９は、ノード情報保持部１０３に問い合わせた結果、負荷が閾値よりも小さい処理ノードが存在しない場合に、受信情報記憶部６０３に問い合わせを行う。負荷が閾値よりも小さい処理ノードが存在する場合は、その処理ノードを監視している監視マネージャに含まれる処理ノード制御手段に対して、その処理ノードで故障が発生した処理ノードで実行していた処理を続行するように命令する。【００６８】
監視マネージャ４と、監視マネージャ４に含まれるノード制御部４１１と、ノード情報保持部４０３と、ノード故障検知部４０９とは、それぞれ監視マネージャ１と、ノード制御部１１１と、ノード情報保持部１０３と、ノード故障検知部１０９と同じ動作をする。【００６９】
受信情報記憶部６０３は、各監視マネージャ内に含まれるノード情報保持部１０３，４０３から送信された処理ノードの負荷情報を保存し、各監視マネージャ内のノード故障検知部１０９，４０９から問い合わせがあった場合に、負荷が閾値よりも低い処理ノードの情報を問い合わせ元のノード故障検知部１０９，４０９に送信する。【００７０】
次に、図７及び図８のフローチャートを参照して本実施の形態のデータ処理方法について詳細に説明する。【００７１】
図７のフローチャートでは、処理ノード５の負荷情報を統括マネージャ６に含まれるノード情報保存手段６１に通知するまでの処理を表している。図８のフローチャートでは、処理ノード２に故障が発生した場合にフェイルオーバーして処理を続行させるまでの処理ノードを特定するまでの処理を表している。【００７２】
図７は、本実施形態の監視マネージャ４のデータ処理方法について説明するフローチャートである。【００７３】
処理ノード５は、ノード情報保持部４０３に対して処理ノード５の負荷情報を送信する（ステップＳ１）。次に、ノード情報保持部４０３は、処理ノード５の負荷情報を内部に保存する（ステップＳ２）。さらに、ノード情報保持部４０３は処理ノード５の負荷情報が閾値よりも小さいか否かを判断する（ステップＳ３）。処理ノード５の負荷情報が閾値以上の場合（ステップＳ３のＮｏ）には処理を終了する（ステップＳ６）。【００７４】
一方、処理ノード５の負荷情報が閾値未満の場合（ステップＳ３のＹｅｓ）には、ノード情報保持部４０３は受信情報記憶部６０３に対して処理ノード５の負荷情報を送信する（ステップＳ４）。【００７５】
送信する負荷情報は、ノード名と、処理ノード制御手段名と、負荷情報とから構成される。【００７６】
処理ノード５の負荷情報を受け取った受信情報記憶部６０３は、処理ノード５の負荷情報を内部に保存する（ステップＳ５）。【００７７】
図８は、本実施形態の監視マネージャ１のデータ処理方法について説明するフローチャートである。【００７８】
処理ノード２に故障が発生すると（ステップＳ７）、ノード故障検知部１０９は、処理ノード２の故障を検知する（ステップＳ８）。ノード故障検知部１０９は、判断部１０５を介してフェイルオーバーにより処理を続行させるために負荷が閾値未満の処理ノードが存在するか否かをノード情報保持部１０３に問い合わせる（ステップＳ９）。判断部１０５は、負荷が閾値よりも小さい処理ノードが存在するかどうかを判断する（ステップＳ１０）。負荷情報が閾値よりも小さい処理ノード３が存在する場合（ステップＳ１０のＹｅｓ）、判断部１０５は、ノード故障検知部１０９に負荷が閾値よりも小さい処理ノード３の存在を通知する（ステップ１６）。ノード故障検知部１０９は、処理ノード２で実行していた処理を処理ノード３で続行させるようにノード制御部１１１に命令する（ステップ１７）。一方、ノード情報保持部１０３の中に負荷情報が閾値よりも小さい処理ノードの負荷情報が存在しない場合（ステップＳ１０のＮｏ）、判断部１０５は、情報通信部１０７を介して受信情報記憶部６０３に負荷情報が閾値より小さい処理ノードが存在するか否かを問い合わせる（ステップＳ１１）。受信情報記憶部６０３に負荷情報が閾値未満の処理ノードの負荷情報が存在しない場合（ステップＳ１２のＮｏ）、負荷情報が閾値よりも小さい処理ノードを利用したフェイルオーバーをあきらめる（ステップＳ１５）。受信情報記憶部６０３に負荷情報が閾値よりも小さい処理ノード５の負荷情報が存在する場合（ステップＳ１２のＹｅｓ）、検索部６０７は、受信情報記憶部６０３から負荷情報が閾値よりも小さい処理ノード５のノード識別子と処理ノード５を制御する処理ノード制御手段４１とを抽出し、応答通信部６０９から受付部１０１に処理ノード５の存在を通知する（ステップＳ１３）。最後に、ノード故障検知部１０９は処理ノード２で実行していた処理を処理ノード５で続行するようにノード制御部４１１に対して命令する（ステップＳ１４）。【００７９】
次に、本実施形態のデータ処理方法の動作をさらに具体的に説明する。【００８０】
図１に示すように、本実施例では監視マネージャ１と、監視マネージャ４と、統括マネージャ６がネットワーク１０００により結合しており、監視マネージャ１は処理ノード２と処理ノード３を監視し、監視マネージャ４は処理ノード５を監視している。【００８１】
監視マネージャ１，４と統括マネージャ６とはネットワークで接続されたコンピュータであり、処理ノード２，３，５はそれぞれ任意のプログラムをノード制御部１１１またはノード制御部４１１の命令に従って実行することができる。【００８２】
処理の流れは負荷情報を収集する処理と処理ノードに故障が発生した場合の処理に分けられる。まず初めに負荷情報を収集する処理について説明する。【００８３】
ノード情報保持部１０３には定期的に処理ノード２および処理ノード３から各処理ノードの負荷情報が送信される。負荷情報の送信には各処理ノード内で動作するエージェント機能から一定の間隔で送信される場合や、一定の間隔で各処理ノードに対してノード情報保持部１０３から問い合わせを行う場合がある。同様にノード情報保持部４０３には定期的に処理ノード５の負荷情報が送信される。【００８４】
ノード情報保持部１０３，４０３では、受信した監視対象のノードの負荷情報を内部に保存する。ノード情報保持部１０３、４０３の内部に保存する情報には、処理ノードを一意に認識するためのノード識別子と、処理ノードの制御を行う処理ノード制御手段名と、実際の処理ノードの負荷となる負荷情報が少なくとも含まれる。【００８５】
ノード情報保持部１０３，４０３はそれぞれ受信した負荷情報が何らかの手段により定められた閾値よりも大きいか小さいかを判断し、負荷情報が閾値よりも小さい場合はその処理ノードの情報を統括マネージャ６に含まれる受信情報記憶部６０３に送信する。閾値を定める手段にはあらかじめ固定の値を利用する手段と、動的に指定する手段とがありうる。例えば、閾値を５０％とした場合に、各処理ノードの負荷情報が図５に示したとおりだとすると、処理ノード５の情報のみが統括マネージャ６に送信される。【００８６】
受信部６０１は、受信した各処理ノードの負荷情報を受信情報記憶部６０３に内部に保存する。ここまでの処理により受信情報記憶部６０３は全ての監視マネージャが監視している全ての処理ノードのうち、負荷情報が閾値よりも小さい全ての処理ノードの情報を内部に保存することができ、各監視マネージャ１，４内のノード情報保持部１０３，４０３には各監視マネージャ１，４が監視対象としている処理ノードの内、負荷情報が閾値よりも小さい全ての処理ノードの負荷情報を保存することができる。【００８７】
つづいて処理ノード２に故障が発生した場合の処理を説明する。【００８８】
処理ノード２に故障が発生すると、処理ノード２を監視する監視マネージャ１に含まれるノード故障検知部１０９が故障を検知する。故障を検知するには、定期的に問い合わせを行い、一定時間以内に反応が無いことで故障を検知する方法と、処理ノード２から一定の間隔で生存信号をノード故障検知部１０９に対して送信し、ノード故障検知部１０９が前の生存信号を受信してから一定以上の時間を待っても次の生存信号を受信できないことで故障を検知する方法などがある。ノード故障検知部１０９は、処理ノード２の故障を検知すると、フェイルオーバーを行い処理ノード２で実行していた処理を続行するための、別の処理ノードを探す。【００８９】
フェイルオーバーで利用する処理ノードには負荷情報が閾値よりも小さいという条件があり、まずはノード故障検知部１０９が含まれる監視マネージャ１内に存在するノード情報保持部１０３に対して負荷情報が閾値よりも小さい処理ノードが存在するか問い合わせる。【００９０】
閾値が５０％であり、各処理ノードの負荷情報が図５に示したとおりの場合には、ノード情報保持部１０３には条件を満たす処理ノードの情報が含まれていないこととなる。そのため、フェイルオーバー可能な処理ノードが存在しないという情報が判断部１０５に送出される。【００９１】
判断部１０５は、ノード情報保持部１０３にフェイルオーバー可能な処理ノードが存在しないことを知ると、続いて情報通信部１０７を介し、上位の統括マネージャ６に対して前出の条件を満たす処理ノードが存在するかを問い合わせる。【００９２】
すると、条件を満たす処理ノード５の負荷情報が受信情報記憶部６０３の中に存在するため、受信情報記憶部６０３は処理ノード５の情報と、処理ノード５を制御するノード制御部４１１の情報を応答通信部６０９を介して監視マネージャ１に送信する。【００９３】
受付部１０１が統括マネージャ６の応答通信部６０９から受信した前出の情報により判断部１０５は処理ノード５を利用してフェイルオーバーすることを決定する。判断部１０５は、ノード故障検知部１０９を介して処理ノード５を制御するノード制御部４１１に対して、処理ノード５を利用して処理ノード２で実行していた処理を続行するように命令を出す。ノード制御部４１１は受信した命令に従い、処理ノード５で指定された処理を実行させる。【００９４】
以上の処理により処理を実行中の処理ノード２に故障が発生して、実行中の処理を続行できなくなった場合に、処理ノード５を利用してその処理を続行できるようになる。【００９５】
次に、本実施の形態の効果について説明する。【００９６】
本実施形態のノード監視システムによれば、データ処理を監視するノードから負荷情報をノード識別子とともに受け付け、受け付けた負荷情報が所定の閾値未満である場合、統括マネージャに記憶させる。これにより、ノードの負荷情報を監視し、負荷情報が閾値よりも小さいノードの情報のみを統括マネージャに管理させることができる。したがって、複数の監視マネージャで複数のノードの処理を監視する場合においても、ネットワークの負荷を低減させつつ、ノードの故障時のフェイルオーバーに必要な処理時間を軽減する。【００９７】
本実施の形態では、監視マネージャ１のノード情報保持部１０３または監視マネージャ４のノード情報保持部４０３と、統括マネージャ６の受信情報記憶部６０３とで、階層的に構成されている。したがって、下位階層のノード情報保持部１０３，４０３で各監視マネージャ１，４が監視している処理ノードの負荷情報のみを管理し、上位階層の受信情報記憶部６０３でシステム全体の負荷情報のうち負荷情報が閾値よりも小さい処理ノードの負荷情報を管理することができる。よって、フェイルオーバー時の問い合わせ回数が最大２回までにしながら、処理を続行させる処理ノードを特定することができる。【００９８】
（第２の実施形態）
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。【００９９】
図９は、第２の実施形態のノード監視システムの構成を説明する図である。【０１００】
本発明の第２の発明を実施するための最良の形態は、監視マネージャ４の監視対象となる処理ノードに処理ノード７が追加されていることが第１の実施形態と異なり、その他の構成要素については第１の実施の形態と同様である。第１の実施の形態と同様の構成要素については図１と同一の符号を付し、詳細な説明を省略する。【０１０１】
本実施形態において、ノード情報保存手段１２（図４のノード情報保持部１０３に対応）は、ノードの属性を示す属性情報としてノードグループ名と、ノードの識別子としてノード識別子とを対応づけて記憶する。情報通信部１０７は、受け付けた負荷情報と、対応する属性情報とを対応づけて送信する。【０１０２】
第２の実施の形態の全体の動作については、図８に示した負荷情報の構成にノードグループ名が追加されていることのみが第１の実施の形態と異なり、その他の動作内容については第１の実施の形態と同様である。第１の実施の形態と同様の動作については、図７のフローチャート、図８のフローチャートと同一の符号を付し、第１の実施の形態と同一の動作詳細な説明を省略する。【０１０３】
第２の実施の形態では各処理ノードの負荷情報をノード情報保存手段に保存する処理として、図７のフローチャートにおいて処理ノード５を処理ノード７で置き換えた処理が行われる。これにより、処理ノード５と処理ノード７の負荷情報が閾値よりも小さい場合、受信情報記憶部６０３には処理ノード５と処理ノード７の負荷情報が保存される。【０１０４】
ノードグループ名とは、１つの装置を動作させるための複数のノードのグループや同一の特性をもつノードのグループの名称を示す。【０１０５】
図１０は、受信情報記憶部６０３に保存されるデータ構造の一例である。【０１０６】
図１０に示すように、負荷情報は、ノード識別子であるノード名と、制御識別子である処理ノード制御手段名と、属性情報であるノードグループ名と、負荷情報から構成される。【０１０７】
図１１は、本実施形態におけるデータ処理方法を説明するフローチャートであり、処理ノード２に障害が発生した後の処理を示している。【０１０８】
図１１のフローチャートではステップＳ９’と、ステップＳ１１’と、ステップＳ１３’と、ステップＳ１６’が図８のフローチャートと異なり、そのほかのステップは図８に示した第１の実施の形態と同様である。【０１０９】
ステップＳ９’では、判断部１０５がノード情報保持部１０３に負荷情報が閾値よりも小さく、故障が発生した処理ノード２と同じノードグループ名である処理ノードの負荷情報が保存されているかを問い合わせる。【０１１０】
処理ノード３の情報が負荷情報が閾値よりも小さく、処理ノード２と同じノードグループ名であるという条件を満たす場合（ステップＳ１０のＹｅｓ）、ノード情報保持部１０３は処理ノード３の存在と処理ノード３を制御するノード制御部１１１を判断部１０５に通知する（ステップＳ１６’）。【０１１１】
負荷情報が閾値よりも小さく、処理ノード２と同じノードグループ名であるという処理ノードの負荷情報がノード情報保持部１０３に保存されていない場合（ステップＳ１０’のＮｏ）、前記条件を満たす処理ノードが存在するかを、情報通信部１０７を介して統括マネージャ６に問い合わせる（ステップＳ１１’）。【０１１２】
受信情報記憶部６０３に条件を満たす処理ノード７の負荷情報が保存されている場合、処理ノード７の存在と処理ノード７を制御するノード制御部４１１を監視マネージャ１に通知する（ステップＳ１３’）。その他の処理は第１の実施の形態と同様であるので詳細な説明を省略する。【０１１３】
次に、本発明を実施するための第２の実施の形態の効果について説明する。【０１１４】
本発明を実施するための第２の実施の形態では、第１の実施の形態に対して、負荷情報に属性情報としてノードグループ名という要素が加えられている。したがって、負荷情報は閾値よりも小さいのに加えて、特定の処理を行うプログラムがインストールされているという条件を追加する。これにより、フェイルオーバーで処理を続行するために利用する処理ノードを特定することができる。【０１１５】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。【０１１６】
たとえば、本発明は以下の構成も適用可能である。
（１）処理ノードの負荷情報の監視を行う監視マネージャであり、かつ、前記負荷情報を前記監視マネージャから受信する統括マネージャにより、処理ノードの制御を行う計算機監視システムのための監視マネージャであって、
処理ノードから負荷情報を受信する受信部と、
前記負荷情報が閾値よりも大きい場合に前記統括マネージャに対して前記負荷情報を送信しない送信部とを備えたことを特徴とする監視マネージャ。
（２）処理ノードに故障が発生した場合に故障を検知するノード故障検知手段と、
問い合わせに応じて負荷情報が閾値よりも小さいノード情報を送信するノード情報保存手段とを備えたことを特徴とする（１）記載の監視マネージャ。
（３）前記ノード情報保存手段において、
取り扱う負荷情報にノードを識別するための識別子と、
処理ノード制御手段を識別する識別子と、
負荷情報とを含むことを特徴とする（２）記載の監視マネージャ。
（４）前記ノード情報保存手段において、
取り扱う負荷情報にノードごとまたはプログラムごとのフェイルオーバーが可能かどうかを表わす識別子を備えたことを特徴とする（３）記載の監視マネージャ。
（５）下位の監視マネージャから通知された処理ノードの負荷情報を内部に保存し、
指定された条件を満たす処理ノードの存在の問い合わせを受けたときに対応する情報を返却するノード情報保存手段、を備えたことを特徴とする統括マネージャ。【０１１７】
なお、上記の構成は、（１）〜（４）と（５）を組み合わせたシステム、各方法およびプログラムとして、用いることができる。【０１１８】
上記の構成によれば、分散計算機環境における状態監視およびフェイルオーバーを行うシステムおよび方法が提供される。上記の発明は分散計算機システムに関し、特に大量の計算機を利用する場合における計算機の監視方法に関するものを提供することができる。【０１１９】
かかる構成により、複数の監視マネージャの上位に統括マネージャを配置して、監視マネージャが扱う各処理ノードの中から、負荷が閾値よりも小さい処理ノードの負荷情報のみを監視マネージャにも保存することができる。したがって、定常的なネットワーク負荷を低減することができる。また、実際に監視対象ノードに故障が発生して、フェイルオーバーを行う必要が発生した場合にも、高々２回の問い合わせのみでフェイルオーバーで利用する処理ノードを特定することができる。よってフェイルオーバーに必要な処理時間も低減する。【０１２０】
本実施の形態では監視マネージャや統括マネージャの各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。【０１２１】
また、上記形態ではネットワークとして現状のインターネットを例示したが、これが次世代のインターネットであるＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）でもよい。【０１２２】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。【０１２３】
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１２４】
この出願は、２００８年２月１３日に出願された日本出願特願２００８−０３２０４１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009101908.tif 000003
【図２】
2009101908.tif 000004
【図３】
2009101908.tif 000005
【図４】
2009101908.tif 000006
【図５】
2009101908.tif 000007
【図６】
2009101908.tif 000008
【図７】
2009101908.tif 000009
【図８】
2009101908.tif 000010
【図９】
2009101908.tif 000011
【図１０】
2009101908.tif 000012
【図１１】
2009101908.tif 000013
【手続補正書】
【提出日】平成21年6月26日(2009.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段と、
前記ノードの故障を検知するノード故障検知手段とを有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段は、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせる監視マネージャ。
【請求項２】
（削除）
【請求項３】
請求項１に記載の監視マネージャにおいて、
前記ノードにおける前記データ処理の実行を制御し、制御識別子で識別されるノード制御手段を有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、記憶された前記閾値とを比較し、保持されたいずれかの負荷情報が閾値未満であるか否かを判断し、
前記ノード制御手段は、前記判断手段にて保持されたいずれかの負荷情報が閾値未満であると判断された場合、閾値未満と判断された他のノードに、故障を検知した前記一のノードで実行されているデータ処理を実行させる監視マネージャ。
【請求項４】
請求項１または請求項３に記載の監視マネージャにおいて、
前記ノードの属性を示す属性情報と、前記ノードの識別子とを対応づけて記憶するノード情報保持手段を有し、
前記情報通信手段は、受け付けた前記負荷情報と、対応する前記属性情報とを対応づけて送信する監視マネージャ。
【請求項５】
請求項３に記載の監視マネージャにおいて、
前記情報通信手段は、受け付けた前記負荷情報と、該負荷情報に対応する前記ノードを制御する前記ノード制御手段の前記制御識別子とを関連づけて送信する監視マネージャ。
【請求項６】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手段と、
前記受信手段にて受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手段と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手段と、
前記要求受付手段にて受け付けた要求に応じて、前記受信情報記憶手段に記憶された前記負荷情報と、前記所定の閾値とを比較する検索手段と、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有する統括マネージャ。
【請求項７】
ノードを監視している監視マネージャと、統括マネージャとをネットワークを介して接続しているノード監視システムであって、
前記監視マネージャは、
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有し、
前記統括マネージャは、
前記負荷情報を前記ノードごとに受信する受信手段と、
前記受信手段にて受信した前記負荷情報を、前記ノードを識別するノード識別子と対応づけて記憶する受信情報記憶手段とを有し、
前記監視マネージャは、第一の監視マネージャと、第二の監視マネージャとからなり、
前記第一の監視マネージャは、
前記情報通信手段が、前記負荷情報を対応する前記ノード識別子とともに前記統括マネージャに送信し、
前記第二の監視マネージャは、
前記ノードの故障を検知するノード故障検知手段を有し、
前記判断手段が、前記ノード故障検知手段が監視するノードの故障を検知した場合、保持された前記負荷情報と、所定の閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段が、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を送信し、
前記統括マネージャは、
前記受信情報記憶手段が、前記第一の監視マネージャから受け付けた前記負荷情報をノード識別子と対応づけて保持し、
前記要求に応じて、前記受信情報記憶手段に保持された前記負荷情報と、前記所定の閾値とを比較して、前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有するノード監視システム。
【請求項８】
（削除）
【請求項９】
請求項８に記載のノード監視システムにおいて、
前記第二の監視マネージャは、
前記受付手段が、前記統括マネージャから前記ノード識別子を受け付け、
前記ノード故障検知手段が故障を検出した前記ノードのデータ処理を、前記受付手段にて受け付けた前記ノード識別子に対応する前記ノードに実行させるノード制御手段を有するノード監視システム。
【請求項１０】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付けるステップと、
受け付けた前記負荷情報が所定の閾値以上か否かを判断するステップと、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記閾値未満であると判断された前記負荷情報と、該負荷情報とともに受け付けた前記ノード識別子とを関連づけて送信するステップと、
前記ノードの故障を検知するステップと、
一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断するステップと、
保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせるステップとを含む監視マネージャのデータ処理方法。
【請求項１１】
監視マネージャのためのコンピュータプログラムであって、
コンピュータに、
データ処理を実行するノードから前記データ処理の実行にかかるノードの負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付ける受付手順と、
前記ノードから受け付けた前記負荷情報が所定の閾値以上か否かを判断する第１の判断手順と、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記負荷情報を前記ノード識別子と対応づけて送信する情報通信手順と、
前記ノードの故障を検知する故障検知手順と、
一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断する第２の判断手順と、
保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせる問い合わせ手順とを実行させるためのコンピュータプログラム。
【請求項１２】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信するステップと、
受信した前記負荷情報と前記ノード識別子とを記憶するステップと、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付けるステップと、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較するステップと、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信するステップとを含む統括マネージャのデータ処理方法。
【請求項１３】
統括マネージャのためのコンピュータプログラムであって、
コンピュータに、
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手順と、
受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手順と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手順と、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較する検索手順と、
前記所定の閾値を満たす前記負荷情報があった場合、該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手順とを実行させるためのコンピュータプログラム。
【手続補正書】
【提出日】平成22年10月27日(2010.10.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段と、
前記ノードの故障を検知するノード故障検知手段とを有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段は、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせる監視マネージャ。
【請求項２】
請求項１に記載の監視マネージャにおいて、
前記ノードにおける前記データ処理の実行を制御し、制御識別子で識別されるノード制御手段を有し、
前記判断手段は、前記ノード故障検知手段が一のノードの故障を検知した場合、保持された前記負荷情報と、記憶された前記閾値とを比較し、保持されたいずれかの負荷情報が閾値未満であるか否かを判断し、
前記ノード制御手段は、前記判断手段にて保持されたいずれかの負荷情報が閾値未満であると判断された場合、閾値未満と判断された他のノードに、故障を検知した前記一のノードで実行されているデータ処理を実行させる監視マネージャ。
【請求項３】
請求項１または請求項２に記載の監視マネージャにおいて、
前記ノードの属性を示す属性情報と、前記ノードの識別子とを対応づけて記憶するノード情報保持手段を有し、
前記情報通信手段は、受け付けた前記負荷情報と、対応する前記属性情報とを対応づけて送信する監視マネージャ。
【請求項４】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手段と、
前記受信手段にて受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手段と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手段と、
前記要求受付手段にて受け付けた要求に応じて、前記受信情報記憶手段に記憶された前記負荷情報と、前記所定の閾値とを比較する検索手段と、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有する統括マネージャ。
【請求項５】
ノードを監視している監視マネージャと、統括マネージャとをネットワークを介して接続しているノード監視システムであって、
前記監視マネージャは、
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、当該ノードを識別するノード識別子とともに受け付ける受付手段と、
前記受付手段にて受け付けた前記負荷情報が所定の閾値以上か否かを判断する判断手段と、
前記判断手段にて前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記判断手段にて前記閾値未満であると判断された前記負荷情報と、前記受付手段にて前記負荷情報とともに受け付けられた前記ノード識別子とを関連づけて送信する情報通信手段とを有し、
前記統括マネージャは、
前記負荷情報を前記ノードごとに受信する受信手段と、
前記受信手段にて受信した前記負荷情報を、前記ノードを識別するノード識別子と対応づけて記憶する受信情報記憶手段とを有し、
前記監視マネージャは、第一の監視マネージャと、第二の監視マネージャとからなり、
前記第一の監視マネージャは、
前記情報通信手段が、前記負荷情報を対応する前記ノード識別子とともに前記統括マネージャに送信し、
前記第二の監視マネージャは、
前記ノードの故障を検知するノード故障検知手段を有し、
前記判断手段が、前記ノード故障検知手段が監視するノードの故障を検知した場合、保持された前記負荷情報と、所定の閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段が、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を送信し、
前記統括マネージャは、
前記受信情報記憶手段が、前記第一の監視マネージャから受け付けた前記負荷情報をノード識別子と対応づけて保持し、
前記要求に応じて、前記受信情報記憶手段に保持された前記負荷情報と、前記所定の閾値とを比較して、前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有するノード監視システム。
【請求項６】
請求項５に記載のノード監視システムにおいて、
前記監視マネージャは、第一の監視マネージャと、第二の監視マネージャとからなり、
前記第一の監視マネージャは、
前記情報通信手段が、前記負荷情報を対応する前記ノード識別子とともに前記統括マネージャに送信し、
前記第二の監視マネージャは、
前記ノードの故障を検知するノード故障検知手段を有し、
前記判断手段が、前記ノード故障検知手段が監視するノードの故障を検知した場合、保持された前記負荷情報と、所定の閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断し、
前記情報通信手段が、前記判断手段にて保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を送信し、
前記統括マネージャは、
前記受信情報記憶手段が、前記第一の監視マネージャから受け付けた前記負荷情報をノード識別子と対応づけて保持し、
前記要求に応じて、前記受信情報記憶手段に保持された前記負荷情報と、前記所定の閾値とを比較して、前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手段とを有し、
前記第二の監視マネージャは、
前記受付手段が、前記統括マネージャから前記ノード識別子を受け付け、
前記ノード故障検知手段が故障を検出した前記ノードのデータ処理を、前記受付手段にて受け付けた前記ノード識別子に対応する前記ノードに実行させるノード制御手段を有するノード監視システム。
【請求項７】
データ処理を実行するノードから、前記データ処理の実行にかかる負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付けるステップと、
受け付けた前記負荷情報が所定の閾値以上か否かを判断するステップと、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記閾値未満であると判断された前記負荷情報と、該負荷情報とともに受け付けた前記ノード識別子とを関連づけて送信するステップと、
前記ノードの故障を検知するステップと、
一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断するステップと、
保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせるステップとを含む監視マネージャのデータ処理方法。
【請求項８】
監視マネージャのためのコンピュータプログラムであって、
コンピュータに、
データ処理を実行するノードから前記データ処理の実行にかかるノードの負荷を示す負荷情報を、前記ノードを識別するノード識別子とともに受け付ける受付手順と、
前記ノードから受け付けた前記負荷情報が所定の閾値以上か否かを判断する第１の判断手順と、
受け付けた前記負荷情報が前記閾値未満であると判断された場合、ネットワークを介して複数の監視マネージャと接続している統括マネージャに対して、前記負荷情報を前記ノード識別子と対応づけて送信する情報通信手順と、
前記ノードの故障を検知する故障検知手順と、
一のノードの故障を検知した場合、保持された前記負荷情報と、前記閾値とを比較し、保持されたすべての前記負荷情報が前記閾値以上か否かを判断する第２の判断手順と、
保持されたすべての前記負荷情報が前記閾値以上であると判断された場合、前記統括マネージャに前記閾値を満たす他のノードの前記負荷情報を問い合わせる問い合わせ手順とを実行させるためのコンピュータプログラム。
【請求項９】
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信するステップと、
受信した前記負荷情報と前記ノード識別子とを記憶するステップと、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付けるステップと、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較するステップと、
前記所定の閾値を満たす前記負荷情報があった場合、当該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信するステップとを含む統括マネージャのデータ処理方法。
【請求項１０】
統括マネージャのためのコンピュータプログラムであって、
コンピュータに、
ネットワークを介して接続している第一の監視マネージャが監視しているノードの負荷を示す負荷情報を、前記第一の監視マネージャから前記ノードを識別するノード識別子と対応づけて受信する受信手順と、
受信した前記負荷情報と前記ノード識別子とを記憶する受信情報記憶手順と、
前記ネットワークを介して接続している第二の監視マネージャから、所定の閾値を満たす前記負荷情報を有する前記ノードがあるか否かの判断要求を受け付ける要求受付手順と、
前記要求に応じて、記憶された前記負荷情報と、前記所定の閾値とを比較する検索手順と、
前記所定の閾値を満たす前記負荷情報があった場合、該負荷情報に対応する前記ノード識別子を前記第二の監視マネージャに送信する応答通信手順とを実行させるためのコンピュータプログラム。
【国際調査報告】
2009101908.tif 000014
2009101908.tif 000015
2009101908.tif 000016