(57)【要約】【課題】監視側の計算機と監視される側の計算機から構成され、監視側の計算機の障害発生時にもシステムの信頼性を維持することのできる計算機監視システム、計算機監視方法および計算機監視プログラムを得ること。【解決手段】マネージャ１０１とネットワーク１０２を介して接続された第１および第２のエージェント１０３1、１０３2はマネージャ監視部１２１を備えており、マネージャ１０１の障害を検知すると監視ノード候補記憶部１２４から、外部より受信した情報としての監視ノード候補を読み出す。監視依頼部１２５はこの監視ノード候補に監視を依頼することで監視ノードを探索する必要なく自律分散的な監視へ移行できる。【選択図】図１
2009128988.tif 000002
【特許請求の範囲】
【請求項１】
監視側の計算機としての監視計算機と、
この監視計算機とネットワークを介して接続され、前記監視計算機の障害を検出する障害検出手段と、この障害検出手段が前記監視計算機の障害を検出したとき、この障害検出以前に前記監視計算機から集中的な監視を受ける者同士による自律分散的な監視へ移行する監視形態移行手段とを備えた被監視計算機
とを具備することを特徴とする計算機監視システム。
【請求項２】
前記監視形態移行手段は、前記被監視計算機のうちの自装置以外の他の被監視計算機に自装置の監視を依頼する監視依頼手段と、前記自装置以外の他の被監視計算機から監視の依頼を受けたときその被監視計算機の監視を行うかを判定する監視判定手段とを具備することを特徴とする請求項１記載の計算機監視システム。
【請求項３】
前記監視依頼手段が依頼を行う前記自装置以外の他の被監視計算機についての候補を示す候補情報を前記ネットワークを介して外部から受信する候補情報受信手段と、この候補情報受信手段の受信した候補情報を記憶する候補情報記憶手段とを具備することを特徴とする請求項２記載の計算機監視システム。
【請求項４】
前記監視計算機は、障害発生後の復旧を通知する復旧通知手段を備え、前記被監視計算機は前記復旧通知手段から前記監視計算機の障害発生後の復旧の通知を受けたとき自律分散的な監視から前記監視計算機による集中的な監視に復帰する監視形態復帰手段を具備することを特徴とする請求項１記載の計算機監視システム。
【請求項５】
前記監視計算機は前記複数の被監視計算機をそれぞれ監視可能な複数の計算機により構成されていることを特徴とする請求項１記載の計算機監視システム。
【請求項６】
監視側の計算機としての監視計算機の障害を検出する障害検出ステップと、
この障害検出ステップで前記監視計算機の障害を検出したとき、この障害検出以前に前記監視計算機から集中的な監視を受ける被監視計算機同士による自律分散的な監視へ移行する監視形態移行ステップ
とを具備することを特徴とする計算機監視方法。
【請求項７】
前記監視形態移行ステップは、前記複数の被監視計算機のうちの自装置以外の他の被監視計算機に自装置の監視を依頼する監視依頼ステップと、前記自装置以外の他の被監視計算機から監視の依頼を受けたときその被監視計算機の監視を行うかを判定する監視判定ステップとを具備することを特徴とする請求項６記載の計算機監視方法。
【請求項８】
前記監視依頼ステップで依頼を行う前記自装置以外の他の被監視計算機についての候補を示す候補情報を前記ネットワークを介して外部から受信する候補情報受信ステップと、この候補情報受信ステップで受信した候補情報を記憶する候補情報記憶ステップとを具備することを特徴とする請求項７記載の計算機監視方法。
【請求項９】
前記監視計算機から障害発生後の復旧の通知を受けたとき自律分散的な監視から前記監視計算機による集中的な監視に復帰する監視形態復帰ステップを具備することを特徴とする請求項６記載の計算機監視方法。
【請求項１０】
監視側の計算機としての監視計算機とネットワークを介して接続され、この監視計算機による集中的な監視を受ける被監視計算機のコンピュータに、
前記監視計算機の障害を検出する障害検出処理と、
この障害検出処理で前記監視計算機の障害を検出したとき、この障害検出以前に前記監視計算機から集中的な監視を受ける被監視計算機同士による自律分散的な監視へ移行する監視形態移行処理
とを実行させることを特徴とする計算機監視プログラム。
【請求項１１】
前記監視形態移行処理の実行は、前記被監視計算機のうちの自装置以外の他の被監視計算機に自装置の監視を依頼する監視依頼処理と、前記自装置以外の他の被監視計算機から監視の依頼を受けたときその被監視計算機の監視を行うかを判定する監視判定処理の実行を伴うことを特徴とする請求項１０記載の計算機監視プログラム。
【請求項１２】
前記監視依頼処理の実行で依頼を行う前記自装置以外の他の被監視計算機についての候補を示す候補情報を前記ネットワークを介して外部から受信する候補情報受信処理と、この候補情報受信処理で受信した候補情報を記憶する候補情報記憶処理とを実行させることを特徴とする請求項１１記載の計算機監視プログラム。
【請求項１３】
前記監視計算機から障害発生後の復旧の通知を受けたとき自律分散的な監視から前記監視計算機による集中的な監視に復帰する監視形態復帰処理を実行させることを特徴とする請求項１０記載の計算機監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機の障害の監視を行う計算機監視システム、計算機監視方法および計算機監視プログラムに係わり、特に分散計算機環境における計算機のうちのマネージャに障害が発生した場合に対処する計算機監視システム、計算機監視方法および計算機監視プログラムに関する。
【背景技術】
【０００２】
１つの計算機にかかる負荷を軽くすると共に、全体としての処理を高速化するために、複数の計算機がネットワークで接続された計算機システムが各種の分野で使用されている。このような分散計算機環境では、それぞれの計算機やネットワークを監視し、たとえば一部の計算機に障害が発生した際に適切な処置を施す必要がある。構成部品の一部が故障しても正常に処理を続行させるというフォールトトレラントシステム（Fault tolerant system）を計算機システムに適用することを考える。この場合には、計算機やネットワークの監視を行って、ある計算機に障害が発生した場合には、そのノードで実行していた処理を別のノードに引き継がせるといった処置を行うことになる。
【０００３】
フォールトトレラントシステムを採用する従来の監視手法は、中央集権的な手法と自律分散的な手法の二つに分類することができる。前者の中央集権的な手法は、ＳＮＭＰ（Simple Network Management Protocol）を用いたネットワーク管理システムで多く採用されている。
【０００４】
図１６は、前者の中央集権的な手法を用いたネットワーク管理システムを説明するためのものである。このネットワーク管理システム１０では、マネージャ１１と呼ばれる特定の計算機もしくは計算機群が、ネットワーク１２によって接続された第１、第２、第３、……のエージェント１３1、１３2、１３3、……としての他の計算機に対して監視動作１４を行うようになっている。
【０００５】
このようなネットワーク管理システムを採用すると、マネージャ１１に監視情報が集中する。これにより、マネージャ１１はシステム全体を容易に把握することができ、全体として最適な管理を行うことができるという利点がある。たとえば、フォールトトレラントシステムで、第１、第２、第３、……のエージェント１３1、１３2、１３3、……のうちのいずれかのノードに障害が発生したとする。この場合、システム全体で一番処理負荷の低いノードを選択してこれに障害の発生したノードの行っていた処理を引き継がせるといったことが可能になる。しかしながら、このような中央集権的な手法を用いると、マネージャ１１に障害が発生した場合やネットワーク１２に障害が発生してマネージャとエージェント間の通信が途絶えたような場合には、システムを管理できなくなるという欠点がある。
【０００６】
そこで、マネージャノードを二重化することが本発明に関連する第１の関連技術として提案されている（たとえば特許文献１参照）。ところが、この第１の関連技術では、二重化されたマネージャのうちの１つが障害を発生させると、残りのマネージャだけがシステムの管理を行うことになる。したがって、従来の中央集権的なネットワーク管理システムと同様にシステムの管理上での信頼性を欠いてしまう。
【０００７】
この問題を解決するために、マネージャノードを二重化した上で、マネージャノードに障害が発生したときにはエージェントノードをマネージャに仕立てることが本発明に関連する第２の関連技術として提案されている（たとえば特許文献２参照）。この第２の関連技術では、障害を発生させたマネージャノードの代わりをエージェントノードが勤めることで、常にマネージャが二重化されている状態を維持することができる。しかしながら、この前提は２つのマネージャノードが同時に障害を発生させないことである。マネージャノードを二重化したとしても同時に障害が発生した場合には、システムの管理が不可能な状態に陥る。また、リソースの制約でマネージャノードを二重化できないシステムも存在する。
【０００８】
そこで、以上説明したマネージャとエージェントで構成されるネットワーク管理システムとは異なるが、個々の計算機が互いを監視する手法が本発明に関連する第３の関連技術として提案されている（たとえば特許文献３参照）。この第３の関連技術は中央集権的な手法を採用しないもので、特定のノードに依存しないという特徴を持っている。したがって、どのノードが故障してもシステム管理を維持することができる。しかしながら、すべての情報を把握するノードが存在しないために、一部のノードに障害が発生したとき全体としてのシステムの最適な制御を行うことができない。
【０００９】
また、中央集権的な手法と自律分散的な手法の双方を採用し、適用対象に応じてこれを切り替えるという監視手法も本発明に関連する第４の関連技術として提案されている（たとえば特許文献４参照）。この第４の関連技術では、各局が親局と子局の関係となるある時期には中央集権的な手法で通信が行われ、各局がこれら親局と子局といった関係にならない場合には、これらの局が自律分散アクセスで通信を行うようにしている。
【００１０】
図１７は、自律分散的な手法を用いたネットワーク管理システムの概要を示したものである。ネットワーク１２には、第１、第２、第３、……のエージェント１３1、１３2、１３3、……が接続されているが、図１６と比較するとマネージャとなる計算機は存在しない。この図１７に示したネットワーク管理システム２０では、第１、第２、第３、……のエージェント１３1、１３2、１３3、……がそれぞれ監視動作２１12、２１23、２１31、……を自律的に行っている。
【特許文献１】特開平６−１９７１１２号公報（第００１０段落、図１）
【特許文献２】特開２００６−２３５８３７号公報（第００１３段落、図１）
【特許文献３】特開２００６−２２９５１２号公報（第００１２段落、第００１３段落、図１）
【特許文献４】特開２００２−３２５２７３号公報（第０００９段落、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、第４の関連技術では、各局に対して通信内容に応じて中央集権的な手法と自律分散的な手法による管理を切り替えるようになっている。この切り替えは障害の発生と無関係である。たとえば、中央集権的な手法が採られるべき時期にマネージャとなる局に障害が発生すると、図１６からも了解できるように、他の局（エージェント）の管理が行えない状態になる。
【００１２】
そこで本発明の目的は、監視側の計算機と監視される側の計算機から構成され、監視側の計算機の障害発生時にもシステムの信頼性を維持することのできる計算機監視システム、計算機監視方法および計算機監視プログラムを得ることにある。
【課題を解決するための手段】
【００１３】
本発明では、（イ）監視側の計算機としての監視計算機と、（ロ）この監視計算機とネットワークを介して接続され、前記した監視計算機の障害を検出する障害検出手段と、この障害検出手段が前記した監視計算機の障害を検出したとき、この障害検出以前に前記した監視計算機から集中的な監視を受ける者同士による自律分散的な監視へ移行する監視形態移行手段とを備えた被監視計算機とを計算機監視システムに具備させる。
【００１４】
また本発明では、（イ）監視側の計算機としての監視計算機の障害を検出する障害検出ステップと、（ロ）この障害検出ステップで前記した監視計算機の障害を検出したとき、この障害検出以前に前記した監視計算機から集中的な監視を受ける被監視計算機同士による自律分散的な監視へ移行する監視形態移行ステップとを計算機監視方法に具備させる。
【００１５】
更に本発明では、監視側の計算機としての監視計算機とネットワークを介して接続され、この監視計算機による集中的な監視を受ける被監視計算機のコンピュータに、（イ）前記した監視計算機の障害を検出する障害検出処理と、（ロ）この障害検出処理で前記した監視計算機の障害を検出したとき、この障害検出以前に前記した監視計算機から集中的な監視を受ける被監視計算機同士による自律分散的な監視へ移行する監視形態移行処理とを実行させることを特徴としている。
【発明の効果】
【００１６】
このように本発明では、監視側の計算機としての監視計算機に障害が発生していないときにはこの監視計算機が被監視計算機の集中的な監視を行う一方、監視計算機に障害が発生したときには被監視計算機がこれを検出して被監視計算機同士による自律分散的な監視へ移行するようにしたので、特別の計算機を用いることなく、監視計算機の障害発生以後も被監視計算機の監視が可能になり、システムの信頼性を維持することができる。
【発明を実施するための最良の形態】
【００１７】
＜第１の実施の形態＞
【００１８】
図１は、本発明の第１の実施の形態における計算機監視システムの構成を表わしたものである。この計算機監視システム１００は、マネージャ１０１と、このマネージャ１０１とネットワーク１０２によって接続された第１および第２のエージェント１０３1、１０３2によって構成されている。ここでマネージャ１０１は、第１および第２のエージェント１０３1、１０３2の監視を行う役割を持っている。
【００１９】
マネージャ１０１は、自身が障害を発生させた場合に自身に代わる監視ノードとなる最適な候補を計算する監視ノード候補計算部１１１と、その計算の結果を現在のエージェントとしての第１および第２のエージェント１０３1、１０３2に送信する監視ノード候補送信部１１２を備えている。
【００２０】
第１および第２のエージェント１０３1、１０３2は、エージェントとして基本的に同一の構成となっている。そこで、第１のエージェント１０３1についてのみ構成を説明し、第２のエージェント１０３2については構成する部品の符号の末尾の添え字「１」を「２」に変えて、説明を適宜省略する。
【００２１】
第１のエージェント１０３1は、マネージャ１０１に障害が発生しないかの監視を行うマネージャ監視部１２１1と、マネージャ１０１の監視ノード候補送信部１１２から監視ノード候補に関する監視ノード候補情報１２２を受信する監視ノード候補受信部１２３1を備えている。監視ノード候補受信部１２３1が受け取った監視ノード候補情報１２２は、監視ノード候補記憶部１２４1に格納（上書き）されるようになっている。第１のエージェント１０３1には、マネージャ監視部１２１1がマネージャ１０１の障害を検出したときに、他のノードに対して自ノードの監視依頼を行う監視依頼部１２５1と、他ノードからエージェントとしの監視依頼があったときにその判定を行う監視判定部１２６1も備えられている。
【００２２】
なお、マネージャ１０１と第１および第２のエージェント１０３1、１０３2は、共に計算機として、図示しないＣＰＵ（Central Processing Unit）と、このＣＰＵが実行する制御プログラムを格納したり、各種のデータを一時的に格納するための同じく図示しないメモリを備えている。
【００２３】
このような構成の計算機監視システム１００の全体的な動作を次に説明する。計算機監視システム１００の動作を大別すると、（ａ）マネージャ１０１に障害が発生するのに備えて、このマネージャ１０１に代わる最適な監視ノードについての情報を管理するためのものと、（ｂ）マネージャ１０１に障害が発生したときの新たな監視に切り替えるためのものに分けることができる。そこで、これら２つの場合を順に説明することにする。
【００２４】
図２は、マネージャに障害が発生することに備えて最適な監視ノードを管理するためのシステム全体としての動作を表わしたものである。図１と共に説明する。マネージャ１０１内の監視ノード候補計算部１１１は、マネージャ自身に障害が発生した場合を仮定して、その場合にエージェント１０３に対してマネージャとなり得る最適な監視ノードの候補を監視ノード候補計算部１１１で計算する（ステップＳ２０１）。この計算は、定期的に行ってもよいが、エージェント１０３の構成が変化した場合のように監視ノードの候補が変わる可能性がある場合に行うのが効率的である。監視ノード候補送信部１１２は、この監視ノード候補情報１２２を監視ノード候補計算部１１１から受け取って第１および第２のエージェント１０３1、１０３2に送信する（ステップＳ２０２）。
【００２５】
第１および第２のエージェント１０３1、１０３2は同様の制御を行うので、ここでは第１のエージェント１０３1の動作を中心に説明する。第１のエージェント１０３1はマネージャ１０１から送られてきた監視ノード候補情報１２２を監視ノード候補受信部１２３1で受信する（ステップＳ２０３）。そして、これを監視ノード候補記憶部１２４1に記憶する（ステップＳ２０４）。これは、現在のマネージャ１０１が障害を発生させたときのためである。
【００２６】
図３は、マネージャに障害が発生したときのシステム動作を表わしたものである。図１と共に説明する。また、第１および第２のエージェント１０３1、１０３2は同様の制御を行うので、ここでは第１のエージェント１０３1の動作を中心に説明する。第１のエージェント１０３1のマネージャ監視部１２１1は、定期的にマネージャ１０１に障害が発生しているかどうかを監視する（ステップＳ２２１）。この結果、マネージャ１０１に障害が発生していなければ（ステップＳ２２２：Ｎ）、次の監視タイミングでステップＳ２２１に戻って同様にマネージャ１０１の監視を行う。以下同様である。
【００２７】
一方、監視結果としてマネージャ１０１に障害が発生していたら（ステップＳ２２２：Ｙ）、マネージャ監視部１２１1は障害検知信号１３１1を監視依頼部１２５1に送ることで、監視ノード候補記憶部１２４1に記憶されている監視ノード候補情報１２２を自ノードを監視するノードの候補情報として取得する動作を行う（ステップＳ２２３）。
【００２８】
これにより、自ノードを監視するノードの候補情報の取得に成功したら（ステップＳ２２４：Ｙ）、監視依頼部１２５1はこの取得した候補のノードに対して自装置の監視依頼１３３1を行う（ステップＳ２２５）。この監視依頼１３３1を行う先が第２のエージェント１０３2であるとする。すると、監視依頼１３３1は第２のエージェント１０３2の監視判定部１２６1に送られることになる。この例の場合、第２のエージェント１０３2の監視判定部１２６1は第１のエージェント１０３1を監視するかどうかを判定する（ステップＳ２２６）。
【００２９】
第２のエージェント１０３2が第１のエージェント１０３Ａ1を監視可能であるとの判定結果１３４2を行ったとする（ステップＳ２２７：Ｙ）。この場合には、第１のエージェント１０３1を監視する新たなマネージャが見つかったことになるので、システム全体のマネージャの交代に関する処理は終了する（エンド）。
【００３０】
これに対して第２のエージェント１０３2が第１のエージェント１０３1の監視を不可能としたとする（ステップＳ２２７：Ｎ）。この場合には、第１のエージェント１０３1の監視依頼部１２５1が従来と同様の手法で新たなマネージャと成り得る監視ノードを探索することになる（ステップＳ２２８）。ステップＳ２２４で最適なノードの候補を取得することができなかった場合も（Ｎ）、同様にステップＳ２２８に進むことになる。
【００３１】
このような第１の実施の形態によれば、マネージャ１０１に障害が発生した時にエージェント１０３がそれを検出し、マネージャ主導の中央集権的な監視から自律分散的な監視方法に自動的に切り替える。このため、システムの信頼性を維持することができる。また、マネージャ１０１に障害が発生する前の段階で各エージェント１０３に予め記憶しておいた最適な監視ノードの候補を利用することにした。このため、マネージャ１０３の障害が発生したときに監視相手を探索する必要なく、自律分散的な監視方法へ迅速に切り替えることができる。この結果、システムの信頼性が低下する状態となる監視方法の切り替え期間を短縮することができる。
【００３２】
＜第２の実施の形態＞
【００３３】
図４は本発明の第２の実施の形態における計算機監視システムの構成を表わしたものである。図４で図１に示した計算機監視システム１００と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第２の実施の形態の計算機監視システム１００Ａは、マネージャ１０１と、このマネージャ１０１とネットワーク１０２によって接続された第１および第２のエージェント１０３Ａ1、１０３Ａ2によって構成されている。ここでマネージャ１０１は、第１および第２のエージェント１０３Ａ1、１０３Ａ2の監視を行う役割を持っている。
【００３４】
第１および第２のエージェント１０３Ａ1、１０３Ａ2は、エージェントとして類似の構成となっている。そこで、第１および第２のエージェント１０３Ａ1、１０３Ａ2で同一の構成となっている部分については、第１のエージェント１０３Ａ1についてのみ構成を説明し、第２のエージェント１０３Ａ2については構成する部品の符号の末尾の添え字「１」を「２」に変えて、説明を適宜省略する。
【００３５】
第１のエージェント１０３Ａ1は、マネージャ１０１に障害が発生しないかの監視を行うマネージャ監視部１２１Ａ1を備えており、その出力としての障害検知信号１３１1は監視依頼部１２５1のみでなく、マネージャ障害通知部３０１1にも送出されるようになっている。マネージャ障害通知部３０１1は、障害検知信号１３１1を入力すると、他のエージェントとしての第２のエージェント１０３Ａ2に対して、これを障害通知信号３０２1として通知するようになっている。第１のエージェント１０３Ａ1におけるその他の構成は、第１の実施の形態の第１のエージェント１０３1と同一である。
【００３６】
第２のエージェント１０３Ａ2は、第１のエージェント１０３Ａ1のマネージャ障害通知部３０１1から障害通知信号３０２1を受信するマネージャ障害受信部３１１2を備えている。マネージャ障害受信部３１１2は、障害通知信号３０２1を受信すると障害検知信号１３１2を監視依頼部１２５2に送出するようにしている。第２のエージェント１０３Ａ2は、このように障害検知信号１３１2をマネージャ障害受信部３１１2から得るようにしているので、第１の実施の形態の図１に示したマネージャ監視部１２１2が不要になっている。第２のエージェント１０３Ａ2におけるその他の構成は、第１の実施の形態の第２のエージェント１０３2と同一である。
【００３７】
なお、マネージャ１０１と第１および第２のエージェント１０３Ａ1、１０３Ａ2は、共に計算機として、図示しないＣＰＵと、このＣＰＵが実行する制御プログラムを格納したり、各種のデータを一時的に格納するための同じく図示しないメモリを備えている。
【００３８】
このような第２の実施の形態の計算機監視システム１００Ａでは、マネージャ１０１に障害が発生することに備えた障害の準備段階のシステム動作は、第１の実施の形態の計算機監視システム１００と全く同一となる。したがって、図２は第２の実施の形態の計算機監視システム１００Ａにそのまま適用される。
【００３９】
図５は、第１の実施の形態の図３に対応するもので、マネージャに障害が発生したときのシステム動作を表わしたものである。図４と共に説明する。また、図３と同一部分には同一のステップ番号を付している。マネージャ監視部１２１Ａ1を備えた第１のエージェント１０３Ａ1は、定期的にマネージャ１０１に障害が発生しているかどうかを監視する（ステップＳ４０１）。この結果、マネージャ１０１に障害が発生していなければ（ステップＳ２２２：Ｎ）、次のタイミングでステップＳ４０１に戻って同様にマネージャ１０１の監視を行う。以下同様である。
【００４０】
第２のエージェント１０３Ａ2はマネージャ監視部１２１Ａ2を備えていない。したがって、第２のエージェント１０３Ａ2はステップＳ４０１の処理を行わない。この代わり、マネージャ１０１に障害が発生すると（ステップＳ２２２：Ｙ）、マネージャ監視機能を持った第１のエージェント１０３Ａ1は、マネージャ監視機能を持たない第２のエージェント１０３Ａ2にマネージャ１０１に障害が発生したことを通知する（ステップＳ４０２）。これにより、第２のエージェント１０３Ａ2のマネージャ障害受信部３１１2は、マネージャ１０１に障害が発生した旨の通知を受ける（ステップＳ４０３）。これにより、第１および第２のエージェント１０３Ａ1、１０３Ａ2は、監視ノード候補記憶部１２４1、１２４2のうちの自装置のものからマネージャに代わり得る最適な監視ノードの候補を取得する動作を行う（ステップＳ２２３）。
【００４１】
この結果、たとえば第１のエージェント１０３Ａ1が自ノードを監視するノードの候補情報の取得に成功したら（ステップＳ２２４：Ｙ）、監視依頼部１２５1はこの取得した候補のノードに対して自装置の監視依頼１３３1を行う（ステップＳ２２５）。この監視依頼１３３1を行う先が第２のエージェント１０３Ａ2であるとする。すると、監視依頼１３３1は第２のエージェント１０３Ａ2の監視判定部１２６1に送られることになる。この例の場合、第２のエージェント１０３Ａ2の監視判定部１２６1は第１のエージェント１０３Ａ1を監視するかどうかを判定する（ステップＳ２２６）。
【００４２】
第２のエージェント１０３Ａ2が第１のエージェント１０３Ａ1を監視可能であるとの判定結果１３４2を行ったとする（ステップＳ２２７：Ｙ）。この場合には、第１のエージェント１０３Ａ1を監視する新たなマネージャが見つかったことになるので、システム全体のマネージャの交代に関する処理は終了する（エンド）。
【００４３】
これに対して第２のエージェント１０３Ａ2が第１のエージェント１０３1の監視を不可能としたとする（ステップＳ２２７：Ｎ）。この場合には、第１のエージェント１０３Ａ1の監視依頼部１２５1が従来と同様の手法で新たなマネージャとなり得る監視ノードを探索することになる（ステップＳ２２８）。ステップＳ２２４で最適なノードの候補を取得することができなかった場合も（Ｎ）、同様にステップＳ２２８に進むことになる。
【００４４】
以上説明したような第２の実施の形態によれば、先の実施の形態と同様の効果を得ることができる。更に第２の実施の形態によれば、一部のエージェントのみでマネージャの監視を行う。このため、マネージャの監視を行わないエージェントについてはマネージャが生存している通常時の負荷を第１の実施形態と比較して低減することができるという効果がある。
【００４５】
＜第３の実施の形態＞
【００４６】
図６は本発明の第３の実施の形態における計算機監視システムの構成を表わしたものである。図６で図１に示した計算機監視システム１００と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第３の実施の形態の計算機監視システム１００Ｂは、マネージャ１０１Ｂと、このマネージャ１０１Ｂとネットワーク１０２によって接続された第１および第２のエージェント１０３Ｂ1、１０３Ｂ2によって構成されている。ここでマネージャ１０１Ｂは、第１および第２のエージェント１０３Ｂ1、１０３Ｂ2の監視を行う役割を持っている。
【００４７】
ただし、本実施の形態では、マネージャ１０１Ｂに障害が発生する前に、他のエージェントに対してその者が監視するエージェントを通知する。この例では、マネージャ１０１Ｂは第１および第２のエージェント１０３Ｂ1、１０３Ｂ2のうちの前者である第１のエージェント１０３Ｂ1に対して第２のエージェント１０３Ｂ2の監視を行うように通知する。マネージャ１０１Ｂに障害が発生すると、第１のエージェント１０３Ｂ1は第２のエージェント１０３Ｂ2の監視を行うことが通知されていることを知り、判定の結果としてそれを可とする場合には第２のエージェント１０３Ｂ2の監視をマネージャ１０１Ｂに代わって行うことになる。
【００４８】
このような計算機監視システム１００で、マネージャ１０１Ｂは自身に障害が発生したときに他のエージェントに監視を任せる候補としての被監視ノードを計算する被監視ノード候補計算部５０１と、この被監視ノード候補計算部５０１で計算した被監視ノード（この例では第１のエージェント１０３Ｂ1が監視する第２のエージェント１０３Ｂ2）にその旨の通知を行う被監視ノード候補送信部５０２を備えている。
【００４９】
一方、第１および第２のエージェント１０３Ｂ1、１０３Ｂ2は、基本的に同一の構成となっている。そこで、第１のエージェント１０３Ｂ1についてのみ構成を説明し、第２のエージェント１０３Ｂ2については構成する部品の符号の末尾の添え字「１」を「２」に変えて、説明を適宜省略する。
【００５０】
第１のエージェント１０３Ｂ1は、マネージャ１０１Ｂの被監視ノード候補送信部５０２が計算によって求めた被監視ノード候補情報５１１（この例の場合には第２のエージェント１０３Ｂ2）をネットワーク１０２を通じて受信する被監視ノード候補受信部５２１1を備えている。被監視ノード候補受信部５２１1が受け取った被監視ノード候補情報５２２1は、被監視ノード候補記憶部５２４1に格納（上書き）されるようになっている。第１のエージェント１０３Ｂ1には、マネージャ監視部１２１1がマネージャ１０１Ｂの障害を検出したときに、被監視ノード候補記憶部５２４1から被監視ノード候補情報５２２1を読み出して、監視対象としてのそのエージェント１０３Ｂ（この例では第２のエージェント１０３Ｂ2）の監視を行うかを判定する監視判定部１２６Ｂ1も備えられている。
【００５１】
なお、マネージャ１０１Ｂと第１および第２のエージェント１０３Ｂ1、１０３Ｂ2は、共に計算機として、図示しないＣＰＵと、このＣＰＵが実行する制御プログラムを格納したり、各種のデータを一時的に格納するための同じく図示しないメモリを備えている。
【００５２】
このような構成の計算機監視システム１００Ｂの全体的な動作を次に説明する。計算機監視システム１００Ｂの動作を大別すると、（ａ）マネージャ１０１Ｂに障害が発生するのに備えて、このマネージャ１０１Ｂに代わって最適な被監視ノードの情報を管理するためのものと、（ｂ）マネージャ１０１Ｂに障害が発生したときエージェント１０３Ｂ同士による監視の切り替えとに分けることができる。そこで、これら２つの場合を順に説明することにする。
【００５３】
図７は、マネージャに障害が発生することに備えて最適な被監視ノードを管理するためのシステム全体としての動作を表わしたものである。図６と共に説明する。マネージャ１０１Ｂ内の被監視ノード候補計算部５０１は、マネージャ自身に障害が発生した場合を想定して、その場合に各エージェント１０３が監視し得る最適なエージェントとしての監視ノードの候補を被監視ノード候補計算部５０１で計算する（ステップＳ６０１）。この計算は、定期的に行ってもよいが、エージェント１０３Ｂの構成が変化した場合のように被監視ノードの候補が変わる可能性がある場合に行うのが効率的である。被監視ノード候補送信部５０２は、この被監視ノード候補情報５１１を被監視ノード候補計算部５０１から受け取って第１および第２のエージェント１０３Ｂ1、１０３Ｂ2の双方にこれらの候補を送信する（ステップＳ６０２）。
【００５４】
第１および第２のエージェント１０３Ｂ1、１０３Ｂ2はマネージャ１０１Ｂから送られてきた被監視ノード候補情報５１１をそれぞれの被監視ノード候補受信部５２１1、５２１2で受信する（ステップＳ６０３）。そして、これらを被監視ノード候補記憶部５２４1または５２４2のうちの対応するものに記憶する（ステップＳ６０４）。被監視ノード候補記憶部５２４1、５２４2は上書き保存を行うので、最新の情報が常に保存されることになる。
【００５５】
図８は、マネージャに障害が発生したときのシステム動作を表わしたものである。図６と共に説明する。ここでは説明が煩雑とならないように先に示した例に従って、第１のエージェント１０３Ｂ1の動作を中心に説明する。
【００５６】
第１のエージェント１０３Ｂ1のマネージャ監視部１２１1は、定期的にマネージャ１０１Ｂに障害が発生しているかどうかを監視する（ステップＳ６２１）。この結果、マネージャ１０１Ｂに障害が発生していなければ（ステップＳ６２２：Ｎ）、次の監視タイミングでステップＳ６２１に戻って同様にマネージャ１０１Ｂの監視を行う。以下同様である。
【００５７】
一方、監視結果としてマネージャ１０１Ｂに障害が発生していたら（ステップＳ６２２：Ｙ）、マネージャ監視部１２１1は障害検知信号１３１1を監視判定部１２６Ｂ1に送ることで、被監視ノード候補記憶部５２４1に記憶されている被監視ノード候補情報５２２1を最適な監視先となるノードの候補として取得する処理を実行する（ステップＳ６２３）。
【００５８】
これにより、自ノードが監視するノードの候補情報の取得に成功したら（ステップＳ６２４：Ｙ）、監視判定部１２６Ｂ1は監視先の候補として通知された第２のエージェント１０３Ｂ2を自身が監視するかどうかを判定する（ステップＳ６２５）。これにより、第２のエージェント１０３Ｂ2を自身が監視すると判定すれば、その処理が実行されることになるが、これは図８に示した処理の範囲外である（エンド）。
【００５９】
ステップＳ６２４によって、自ノードが監視するノードの候補を取得できなかった場合には（Ｎ）、監視先の候補がないので、監視先の判定を行うまでもなく処理を終了する（エンド）。
【００６０】
以上説明した第３の実施の形態によれば、マネージャ１０１Ｂに障害が発生した時にエージェント１０３Ｂがそれを検出し、マネージャ主導の監視から自律分散的な監視方法に自動的に切り替える。このため、システムの信頼性を維持することができる。また、マネージャ１０１Ｂに障害が発生する前の段階で各エージェント１０３Ｂに予め記憶しておいたエージェント１０３Ｂの監視を行うかどうかを判別することにした。このため、マネージャ１０１Ｂの障害が発生したときに監視相手を探索する必要なく、マネージャ１０１Ｂによる指針を加味した自律分散的な監視方法へ切り替えることができる。この結果、システムの信頼性が低下する状態となる監視方法の切り替え期間を短縮することができる。また、特定のエージェントの監視が集中する一方で、他のエージェントの監視が留守となるような不都合が発生しにくい。
【００６１】
＜第４の実施の形態＞
【００６２】
図９は本発明の第４の実施の形態における計算機監視システムの構成を表わしたものである。図９で図１に示した計算機監視システム１００と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。この計算機監視システム１００Ｃは、マネージャ１０１Ｃと、このマネージャ１０１Ｃとネットワーク１０２によって接続された第１および第２のエージェント１０３Ｃ1、１０３Ｃ2によって構成されている。ここでマネージャ１０１Ｃは、第１および第２のエージェント１０３Ｃ1、１０３Ｃ2の監視を行う役割を持っている。
【００６３】
マネージャ１０１Ｃは、自身が障害を発生させた場合に自身に代わる監視ノードとなる最適な候補を計算する監視ノード候補計算部１１１と、その計算の結果を現在のエージェントとしての第１および第２のエージェント１０３Ｃ1、１０３Ｃ2に送信する監視ノード候補送信部１１２を備えると共に、復旧通知部７１１を備えている。復旧通知部７１１は、マネージャ自身の障害の発生後にこれが復旧した場合、復旧した旨を第１および第２のエージェント１０３Ｃ1、１０３Ｃ2に通知するようになっている。
【００６４】
第１および第２のエージェント１０３Ｃ1、１０３Ｃ2は、エージェントとして基本的に同一の構成となっている。そこで、第１のエージェント１０３Ｃ1についてのみ構成を説明し、第２のエージェント１０３Ｃ2については構成する部品の符号の末尾の添え字「１」を「２」に変えて、説明を適宜省略する。また、図９で図１と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【００６５】
第１のエージェント１０３1は、第１の実施の形態の図１と同様の監視ノード候補受信部１２３1、監視ノード候補記憶部１２４1、監視依頼部１２５1および監視判定部１２６1を備えている。また、マネージャ監視部１２１Ｃ1は、マネージャ１０１Ｃが障害を発生させるまでの監視だけでなく、障害が発生した後に復旧するまでの監視を行うようになっている。
【００６６】
マネージャ監視部１２１Ｃ1が障害の発生を検知した際の障害検知信号１３１1は第１の実施の形態の場合と同様に監視依頼部１２５1に入力される。この一方で、マネージャ監視部１２１Ｃ1が障害の復旧を検知した際に出力する障害復旧検知信号７３１1は監視停止依頼部７２５1に入力されるようになっている。監視停止依頼部７２５1は障害復旧検知信号７３１1が入力されると、自装置の監視を依頼したノード（この例の場合は第２のエージェント１０３Ｃ2）に対して監視停止依頼７３３1を行うようになっている。この監視停止依頼７３３1は該当するノード（この例の場合は第２のエージェント１０３Ｃ2）の監視停止部７２６2に入力される。監視停止部７２６2は、障害を発生させたマネージャ１０１Ｃが復旧した場合なので、監視停止依頼７３３1を受けると、第１のエージェント１０３1に関する監視の停止を特に判定することなくその監視を停止する。そして、その監視依頼部７２６2から監視停止依頼部７２５1に対して監視停止通知７３４2を送出して第１のエージェント１０３1に対する監視の停止が行われたことを通知するようになっている。このような構成により、マネージャ１０１Ｃは障害の復旧により第１のエージェント１０３1の監視を再開することができる。
【００６７】
なお、マネージャ１０１と第１および第２のエージェント１０３Ｃ1、１０３Ｃ2は、共に計算機として、図示しないＣＰＵと、このＣＰＵが実行する制御プログラムを格納したり、各種のデータを一時的に格納するための同じく図示しないメモリを備えている。
【００６８】
図１０は、マネージャが障害から復旧した際の、システムの処理の様子を表わしたものである。図９と共に説明する。なお、これ以外の処理としてのマネージャ障害発生時の最適な監視ノードの情報を管理するための処理と、マネージャ障害時に監視方法を切り替えるための処理は、第１の実施の形態と本質的に同一であるため説明を省略する。
【００６９】
まず、マネージャ１０１Ｃの障害が復旧すると、その復旧通知部７１１が各エージェント１０３Ｃに復旧を通知する（ステップＳ８０１）。第１のエージェント１０３1のマネージャ監視部１２１Ｃ1はこの復旧の通知を受け取ることでマネージャ１０１Ｃが障害から復旧したことを検知する（ステップＳ８０２）。そして、自ノードとしての第１のエージェント１０３1を監視する第２のエージェント１０３2に対して、自ノードの監視を停止するように依頼する（ステップＳ８０３）。これに基づいて第２のエージェント１０３2は第１のエージェント１０３1の監視を停止することになる（ステップＳ８０４）。これによって、マネージャ１０１Ｃの主導による監視方法に切り替えられる。
【００７０】
以上説明した第４の実施の形態によれば、マネージャ１０１Ｃが障害から復旧したとき以後は、マネージャ主導の監視方法へ切り替えることができ、全体的に最適な処置が行える状態に復帰することができる。
【実施例１】
【００７１】
次に、本発明の第１の実施の形態に基づく第１の実施例を説明する。
【００７２】
図１１は、本実施例の計算機監視システムの構成を表わしたものである。この計算機監視システム１００Ｄは、マネージャ１０１と、このマネージャ１０１とネットワーク１０２によって接続された第１〜第３のエージェント１０３1〜１０３3によって構成されている。ここでマネージャ１０１は、第１〜第３のエージェント１０３1〜１０３3の監視を行う役割を持っている。
【００７３】
マネージャ１０１および第１のエージェント１０３1の構成は図１に示した実施の形態と同一である。第２、第３のエージェント１０３2、１０３3の構成は第１のエージェント１０３1の構成と同一である。
【００７４】
このような構成の計算機監視システム１００Ｄの全体的な動作を次に説明する。計算機監視システム１００の動作は、すでに説明したように（ａ）マネージャ１０１に障害が発生するのに備えて、このマネージャ１０１に代わる最適な監視ノードの情報を管理するためのものと、（ｂ）マネージャ１０１に障害が発生したときの新たな監視に切り替えるためのものに分けることができる。そこで、まず（ａ）について説明する。
【００７５】
マネージャ１０１は、その監視ノード候補計算部１１１で第１〜第３のエージェント１０３1〜１０３3の中から最適な監視ノードの候補を計算する。この計算には、マネージャ１０１が監視によって収集した各エージェント１０３1〜１０３3やネットワーク１０２の情報を基にする。たとえば、各エージェント１０３1〜１０３3におけるＣＰＵの負荷やメモリ使用量が情報として収集される。このような最適な監視ノードの候補についての計算は、監視ノードとしての候補が変更される可能性があるような場合、たとえば第１〜第３のエージェント１０３1〜１０３3のいずれかのノードに障害が発生した場合やＣＰＵ負荷が上昇した場合に行う。
【００７６】
図１２は、マネージャの監視ノード候補計算部が計算した監視するノードの候補の時間的な変化の一例を表わしたものである。このうち、同図（Ａ）は、初期段階で計算した監視されるノードと監視するノードの候補を表わしたものであり、同図（Ｂ）は、これよりも後の時点で監視ノード候補計算部１１１が計算した監視されるノードと監視するノードの候補の関係を表わしている。
【００７７】
このように同図（Ａ）の時点と同図（Ｂ）の時点で監視するノードの候補に変更が生じると、マネージャ１０１は変更が生じたエージェント１０３に対して新たな候補情報を送信する。
【００７８】
図１３は、障害が発生する前におけるマネージャの処理の様子を表わしたものである。図１１および図１２と共に説明する。マネージャ１０１の監視ノード候補計算部１１１の計算結果として監視するノードの候補に変更が生じた場合（ステップＳ９０１：Ｙ）、監視ノード候補送信部１１２は新たな候補情報を監視するノードの候補に変更があったエージェント１０３に送信する（ステップＳ９０２）。
【００７９】
図１２に示した例では、同図（Ａ）で第１のエージェント１０３1を監視するノードの候補として第３のエージェント１０３3が挙げられているが、これが、同図（Ｂ）では第２のエージェント１０３2に変更されている。また、同図（Ａ）で第３のエージェント１０３3を監視するノードの候補として第２のエージェント１０３2が挙げられているが、これが、同図（Ｂ）では第１のエージェント１０３1に変更されている。したがって、監視ノード候補送信部１１２は前者については第１のエージェント１０３1に対して、第２のエージェント１０３2が変更後の候補となったことを通知する。後者については第３のエージェント１０３3に対して第１のエージェント１０３1が変更後の候補となったことを通知することになる。
【００８０】
図１４は、マネージャの障害発生前における該当するエージェントの処理を表わしたものである。図１１と共に説明する。該当するエージェント１０３はマネージャ１０１の監視ノード候補送信部１１２から監視ノード候補の情報が送られてくると、監視ノード候補受信部１２３がこれを受信して（ステップＳ９２１：Ｙ）、自装置の監視ノード候補記憶部１２４に保管する（ステップＳ９２２）。この保管は記憶内容の上書き処理によって行われるので、常に最新の情報が監視ノード候補記憶部１２４に保持されることになる。
【００８１】
図１５は、マネージャに障害が発生した場合の監視の切替処理の様子を示したものである。ここでは第１のエージェント１０３1を例にとって、図１、図１１および図１２と共に説明する。
【００８２】
第１のエージェント１０３1のマネージャ監視部１２１1は、マネージャ１０１に生存確認メッセージを送信する（ステップＳ９４１）。そして、これから所定の時間ｔ1が経過する前にマネージャ１０１から応答があるかを判別する（ステップＳ９４２、ステップＳ９４３）。時間ｔ1が経過する前にマネージャ１０１から応答があれば（ステップＳ９４２：Ｙ）、障害が発生していないと判断する。この場合には他の所定の時間ｔ2の経過を待って（ステップＳ９４４：Ｙ）、再びステップＳ９４１に戻る。このようにしてマネージャ１０１に生存の確認が行われている間は、生存確認メッセージの送信を同様に間隔を置いて繰り返すことになる。
【００８３】
ステップＳ９４３で時間ｔ1が経過してもマネージャ１０１からの応答がなったとする（Ｙ）。この場合にはマネージャ１０１に障害が発生したものと判断される。そこでこの場合、監視依頼部１２５1は監視ノード候補記憶部１２４1から監視ノード候補情報を読み出す（ステップＳ９４５）。図１２（Ｂ）によると第１のエージェント１０３1を監視するノードの候補は第２のエージェント１０３2である。そこで監視依頼部１２５1は第２のエージェント１０３2に対して自装置の監視依頼１３３1を行う（ステップＳ９４６）。
【００８４】
第２のエージェント１０３2では、その監視判定部１２６2が監視依頼１３３1を受信する。監視判定部１２６2は自ノードやネットワークの負荷状況等を基に監視を行うか判定を行う。監視の可否を表わした判定結果１３４2は第１のエージェント１０３1の監視依頼部１２５1に返される。この部分の制御は第２のエージェント１０３2側で行われるので、図示を省略する。
【００８５】
第１のエージェント１０３1では第２のエージェント１０３2側から監視可の返答があるか（ステップＳ９４７）、監視不可の返答があるか（ステップＳ９４８）を待機している。監視可の返答があった場合には（ステップＳ９４７：Ｙ）、自ノードの監視相手が決まったので、一連の処理を終了させる（エンド）。
【００８６】
これに対して、第２のエージェント１０３2側から監視不可の返答があった場合には（ステップＳ９４８：Ｙ）、他のノードを対象として監視ノードを探す監視ノード探索処理を実行する（ステップＳ９４９）。この例の場合には、残った第３のエージェント１０３3に対して、自装置の監視依頼１３３1を行うことになる。
【００８７】
以上説明した本発明の第１の実施例によれば、第１の実施の形態で得られる効果の他に、エージェント１０３の数が３つ以上となるので、マネージャ１０１が候補としたエージェントから自ノードの監視の依頼を不可とされたとき、残りのエージェントが存在する。したがって、この残りのエージェントに対して自ノードの監視の依頼を行うことができる。
【００８８】
もちろん、エージェント１０３は、実施の形態および実施例で示した数に限定されるものではない。また、実施例は第１の実施の形態についてのみ示したが、第２の実施の形態等についても、同様の具体化が可能である。
【００８９】
また、各実施の形態および実施例では、マネージャを単一の計算機として説明したが、これが複数の計算機で構成されていてもよい。この場合には、これら監視側の計算機の障害発生によってエージェントとしての被監視側の計算機の監視が行えなくなった状態で、監視側の計算機による集中的な監視から被監視側の計算機同士による自律分散的な監視へ移行することになる。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施の形態における計算機監視システムの構成を表わしたシステム構成図である。
【図２】第１の実施の形態でマネージャの障害に備えて最適な監視ノードを管理するシステム全体の流れ図である。
【図３】第１の実施の形態でマネージャに障害が発生したときのシステム動作を表わした流れ図である。
【図４】本発明の第２の実施の形態における計算機監視システムの構成を表わしたシステム構成図である。
【図５】第２の実施の形態でマネージャに障害が発生したときのシステム動作を表わした流れ図である。
【図６】本発明の第３の実施の形態における計算機監視システムの構成を表わしたシステム構成図である。
【図７】第３の実施の形態でマネージャに障害が発生することに備えて最適な被監視ノードを管理するためのシステム。
【図８】第３の実施の形態でマネージャに障害が発生したときのシステム動作を表わした流れ図である。
【図９】本発明の第４の実施の形態における計算機監視システムの構成を表わしたシステム構成図である。
【図１０】第４の実施の形態でマネージャが障害から復旧した際の、システムの処理の様子を表わした流れ図である。
【図１１】本発明の第１の実施例の計算機監視システムの構成を表わしたシステム構成図である。
【図１２】本実施例でマネージャの監視ノード候補計算部が計算した監視するノードの候補の時間的な変化の一例を表わした説明図である。
【図１３】本実施例で障害が発生する前におけるマネージャの処理の様子を表わした流れ図である。
【図１４】本実施例でマネージャの障害発生前における該当するエージェントの処理を表わした流れ図である。
【図１５】本実施例でマネージャに障害が発生した場合の監視の切替処理の様子を示した流れ図である。
【図１６】中央集権的な手法を用いたネットワーク管理システムを示した説明図である。
【図１７】自律分散的な手法を用いたネットワーク管理システムを示した説明図である。
【符号の説明】
【００９１】
１００、１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ  計算機監視システム
１０１、１０１Ａ、１０１Ｂ、１０１Ｃ  マネージャ
１０２  ネットワーク
１０３、１０３Ａ、１０３Ｂ、１０３Ｃ  エージェント
１１１  監視ノード候補計算部
１１２  監視ノード候補送信部
１２１  マネージャ監視部
１２３  監視ノード候補受信部
１２４  監視ノード候補記憶部
１２５  監視依頼部
１２６  監視判定部
３０１  マネージャ障害通知部
３１１  マネージャ障害受信部
５０１  被監視ノード候補計算部
５０２  被監視ノード候補送信部
５２１  被監視ノード候補受信部
５２４  被監視ノード候補記憶部
７１１  復旧通知部
７２５  監視停止依頼部
７２６  監視停止部
【図１】
2009128988.tif 000003
【図２】
2009128988.tif 000004
【図３】
2009128988.tif 000005
【図４】
2009128988.tif 000006
【図５】
2009128988.tif 000007
【図６】
2009128988.tif 000008
【図７】
2009128988.tif 000009
【図８】
2009128988.tif 000010
【図９】
2009128988.tif 000011
【図１０】
2009128988.tif 000012
【図１１】
2009128988.tif 000013
【図１２】
2009128988.tif 000014
【図１３】
2009128988.tif 000015
【図１４】
2009128988.tif 000016
【図１５】
2009128988.tif 000017
【図１６】
2009128988.tif 000018
【図１７】
2009128988.tif 000019