(57)【特許請求の範囲】
【請求項１】
木構造で構成された複数のノードの状態を示す状態情報を取得する取得工程と、
前記複数のノードに含まれる所定のノードの状態情報について、当該状態情報に前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する判定工程と、
前記判定工程によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の上位にあるノードの状態情報との比較結果に基づいて状態情報を伝播処理し、前記判定工程によって前記付加情報が含まれていると判定された場合に、前記木構造の上位にあるノードの状態情報を維持する伝播工程と、
を含む各工程をコンピュータに実行させることを特徴とする監視プログラム。
【請求項２】
前記伝播工程は、前記判定工程によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の上位にあるノードの状態情報を比較し、前記所定のノードの状態情報の影響度が大きい場合に、前記木構造の上位にあるノードの状態情報を、前記所定のノードの状態情報で置き換えることを特徴とする請求項１に記載の監視プログラム。
【請求項３】
木構造で構成された複数のノードの状態を示す状態情報を取得する取得工程と、
前記複数のノードに含まれる所定のノードの状態情報について、当該所定のノードよりも前記木構造の下位にあるノードの状態を示す状態情報に、前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する判定工程と、
前記判定工程によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の下位にあるノードの状態情報との比較結果に基づいて伝播処理し、前記判定工程によって前記付加情報が含まれていると判定された場合に、前記所定のノードの状態情報を維持する伝播工程と、
を含む各工程をコンピュータに実行させることを特徴とする監視プログラム。
【請求項４】
前記伝播工程は、前記判定工程によって前記付加情報が含まれていないと判定された場合、前記所定のノードの状態情報と前記木構造の下位にあるノードの状態情報を比較し、前記所定のノードの状態情報の影響度が小さい場合に、前記所定のノードの状態情報を、前記木構造の下位にあるノードの状態情報で置き換えることを特徴とする請求項３に記載の監視プログラム。
【請求項５】
さらに、前記伝播工程によって伝搬処理または維持されたノードの状態情報に基づいて、前記ノードの木構造を表示するための表示情報を生成する表示情報生成工程をコンピュータに実行させることを特徴とする請求項１〜４のいずれか一つに記載の監視プログラム。
【請求項６】
木構造で構成された複数のノードの状態を示す状態情報を取得する取得手段と、
前記複数のノードに含まれる所定のノードの状態情報について、当該状態情報に前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する判定手段と、
前記判定手段によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の上位にあるノードの状態情報との比較結果に基づいて状態情報を伝播処理し、前記判定手段によって前記付加情報が含まれていると判定された場合に、前記木構造の上位にあるノードの状態情報を維持する伝播手段と、
を備えたことを特徴とする監視装置。
【請求項７】
木構造で構成された複数のノードの状態を示す状態情報を取得する取得手段と、
前記複数のノードに含まれる所定のノードの状態情報について、当該所定のノードよりも前記木構造の下位にあるノードの状態を示す状態情報に、前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する判定手段と、
前記判定手段によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の下位にあるノードの状態情報との比較結果に基づいて伝播処理し、前記判定手段によって前記付加情報が含まれていると判定された場合に、前記所定のノードの状態情報を維持する伝播手段と、
を備えたことを特徴とする監視装置。
【請求項８】
ＣＰＵおよび記録媒体を備えるコンピュータが、
前記ＣＰＵにより、木構造で構成された複数のノードの状態を示す状態情報を取得して、前記記録媒体に記憶する取得工程と、
前記ＣＰＵにより、前記複数のノードに含まれる所定のノードの状態情報について、当該状態情報に前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定して、前記記録媒体に記憶する判定工程と、
前記ＣＰＵにより、前記判定工程によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の上位にあるノードの状態情報との比較結果に基づいて状態情報を伝播処理して、前記記録媒体に記憶し、前記判定工程によって前記付加情報が含まれていると判定された場合に、前記木構造の上位にあるノードの状態情報を維持する伝播工程と、
を実行することを特徴とする監視方法。
【請求項９】
ＣＰＵおよび記録媒体を備えるコンピュータが、
前記ＣＰＵにより、木構造で構成された複数のノードの状態を示す状態情報を取得して、前記記録媒体に記憶する取得工程と、
前記ＣＰＵにより、前記複数のノードに含まれる所定のノードの状態情報について、当該所定のノードよりも前記木構造の下位にあるノードの状態を示す状態情報に、前記木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定して、前記記録媒体に記憶する判定工程と、
前記ＣＰＵにより、前記判定工程によって前記付加情報が含まれていないと判定された場合に、前記所定のノードの状態情報と前記木構造の下位にあるノードの状態情報との比較結果に基づいて伝播処理して、前記記録媒体に記憶し、前記判定工程によって前記付加情報が含まれていると判定された場合に、前記所定のノードの状態情報を維持する伝播工程と、
を実行することを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ハードウェアの状態を監視する監視装置に関し、特に、コンピュータとその構成部品が木構造のデータで表現されるシステムを監視する監視プログラム、監視装置および監視方法に関する。
【背景技術】
【０００２】
従来より、コンピュータのハードウェアを構成する構成部品などにおいて、木構造のネットワークで構築されたシステムが存在する。こうしたシステムを監視するために、木構造のデータをグラフィカルユーザインターフェースで表示するソフトウェアが存在する。ここで、ノード数が多い場合に、可視性を考慮して、あるノード配下の部分木を折りたたんで、表示しない状態にできる機能を盛り込むよう設計されていることが多い。あるノード配下の部分木を折りたたんだ場合には、その配下のすべての子ノードは表示されなくなる。
【０００３】
上記のようなコンピュータの構成部品を監視するシステムにあっては、部品に故障または異常などが発生したことをユーザに知らせる必要があるにもかかわらず、部分木が折りたたまれたノード配下にある部品は表示できないため、子ノードに故障または異常などが発生したことを表現することはできない場合がある。したがって、子ノードに故障または異常などが発生したことを該当の親ノードに表示するために、子ノードの状態を親ノードに伝播させることで、子ノードに故障または異常などが発生したことを表現する方法がある。
【０００４】
図９は、第１の従来技術にかかる（伝播処理しない場合）木構造データを示す説明図である。まず、ルートノード９００があり、このルートノード９００の状態は「正常」である。そして、このルートノード９００の下位にリーフノード９１０およびノード９２０が接続されている。ここで、リーフノード９１０は「正常」であり、ノード９２０は「警告」状態である。ノード９２０には、下位にリーフノード９２１とリーフノード９２２が接続されている。リーフノード９２１は「故障」、リーフノード９２２は「正常」である。図９に示した木構造データは伝播処理しないので、木構造データ全体を表示するときは、図９に示した状態のまま表示する。
【０００５】
図１０−１および図１０−２は、図９に示した木構造データの伝播処理後の表示状態を示す説明図（その１）である。ここでは、図９に示したノード９２０で折りたたんでいる。その結果、リーフノード９２１とリーフノード９２２は表示画面１０５０には表示されず、ルートノード１０００と、その下位にリーフノード１０１０およびノード１０２０が表示画面１０５０に表示されることになる。
【０００６】
図１０−２では、木構造データを図１０−１に示したノード１０００で折りたたんでいる。その結果、リーフノード１０１０とリーフノード１０２０は表示画面１０５０には表示されず、ルートノード１０００のみが表示画面１０５０に表示されることになる。
【０００７】
図１１は、第２の従来技術にかかる（伝播処理しない場合）木構造データを示す説明図である。まず、ルートノード１１００があり、このルートノード１１００の状態は「正常」である。そして、このルートノード１１００の下位にリーフノード１１１０およびノード１１２０が接続されている。ここで、リーフノード１１１０は「正常」であり、ノード１１２０は「警告」状態である。ノード１１２０には、下位にリーフノード１１２１とリーフノード１１２２が接続されている。リーフノード１１２１は「故障」、リーフノード１１２２は「正常」である。
【０００８】
図１２−１〜図１２−３は、図１１に示した木構造データの伝播処理後の表示状態を示す説明図である。図１２−１において、リーフノード１２２１は「故障」、リーフノード１２２２は「正常」であり、下位ノードもないのでそのままリーフノード１２２１は「故障」、リーフノード１２２２は「正常」と表示画面１２５０に表示される。つぎに、ノード１２２０は「警告」状態であり、下位ノードがあるので伝播を受けて状態情報が変わる可能性がある。
【０００９】
ここで、リーフノード１２２２は「正常」なので、ノード１２２０よりも影響度が下であり、ノード１２２０には伝播しない。一方、リーフノード１２２１は「故障」状態であり、ノード１２２０よりも影響度が大きい。したがって、リーフノード１２２２の状態は、ノード１２２０に伝播し、ルートノード１２００は「故障」状態となる。また、ノード１２２０の「故障」状態は、伝播した結果なので、伝播したステータスであることを示すこともできる。
【００１０】
ルートノード１２００には、リーフノード１２１０とノード１２２０が接続されている。ここで、リーフノード１２１０は「正常」なので、ルートノード１１００と影響度が同じであり、ルートノード１１００には伝播しない。一方ノード１２２０は、上述の伝播の結果、「故障」状態であり、ルートノード１１００よりも影響度が大きい。したがって、ノード１２２０の状態は、ルートノード１１００に伝播し、ルートノード１２００は「故障」状態となる。ここで、ルートノード１２００の「故障」状態は、伝播した結果なので、伝播したステータスであることを示す。
【００１１】
図１２−２では、図１２−１に示したノード１２２０で折りたたんでいる。その結果、リーフノード１２２１とリーフノード１２２２が表示画面１２５０には表示されない。また、図１２−３では、木構造データを図１２−２に示したルートノード１２００で折りたたんでいる。その結果、リーフノード１２１０とノード１２２０は表示画面１２５０には表示されない。しかし、ルートノード１２００には、本来のステータスである「正常」ではなく、「故障」状態が表示画面１２５０に表示されており、下位ノードの状態情報を示さなくとも、ユーザは異常などを判別することができる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、この従来の方法では、部品の性質や状態によっては、伝播させるべきでないものまで伝播してしまうケースが存在する。たとえば、冗長構成の部品が一つ壊れたとして、壊れた部品は「故障」と表示されるが、コンピュータ全体としては稼動可能なため、「警告」の状態であるべきと仮定する。この場合、従来の方法では、壊れた冗長部品のステータスがルートノードまで伝播することで、コンピュータ全体の状態が「故障」と表示され、本来表示すべき状態である「警告」と食い違うという問題が発生しうる。
【００１３】
また、状態の伝播をさせないで、全ノードに対して適切なステータスを付与する方法も考えられるが、この方法ではノード数が大規模になった場合に状態の算出ロジックが複雑になり、開発コストがかかるとともに、処理時間も増大する。
【００１４】
この発明は、上述した従来技術による問題点を解消するため、正しい状態監視を実現することができる監視プログラム、監視装置および監視方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、この発明にかかる監視プログラム、監視装置および監視方法は、木構造で構成された複数のノードの状態を示す状態情報を取得し、この複数のノードに含まれる所定のノードの状態情報について、当該状態情報に木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する。そして、付加情報が含まれていないと判定された場合、所定のノードの状態情報と木構造の上位にあるノードの状態情報との比較結果に基づいて状態情報を伝播処理する。また、付加情報が含まれていると判定された場合、木構造の上位にあるノードの状態情報を維持する。
【００１６】
この発明によれば、所定のノードの状態情報を参照することにより、上位にあるノードへの状態情報の伝播を必要に応じて制御することができる。したがって、状態情報の伝播が必要ない場合は上位のノードへは伝播されないようにすることができ、通知の必要のない故障情報などの伝播を所定のノードで止めることができる。それにより、正しい状態監視が可能になる。
【００１７】
また、この発明にかかる監視プログラム、監視装置および監視方法は、木構造で構成された複数のノードの状態を示す状態情報を取得し、この複数のノードに含まれる所定のノードの状態情報について、当該所定のノードよりも木構造の下位にあるノードの状態を示す状態情報に、木構造の上位にあるノードに伝播しないことを示す付加情報が含まれているか否かを判定する。そして、付加情報が含まれていないと判定された場合、所定のノードの状態情報と木構造の下位にあるノードの状態情報との比較結果に基づいて伝播処理する。また、付加情報が含まれていると判定された場合、所定のノードの状態情報を維持する。
【００１８】
この発明によれば、所定のノードの状態情報を参照することにより、下位にあるノードからの状態情報の伝播を必要に応じて制御することができる。したがって、状態情報の伝播が必要ない場合は下位のノードからは伝播されないようにすることができ、所定のノードについて、通知の必要のない故障情報などを表示させないようにすることができる。それにより、正しい状態監視が可能になる。
【発明の効果】
【００１９】
本発明にかかる監視プログラム、監視装置および監視方法によれば、必要のない状態情報の伝播を防止することができ、それにより、通知の必要のない故障情報などを表示させないようにできるので、正しい状態監視を実現することができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施の形態にかかる監視装置を含む全体システムの構成を示すブロック図である。
【図２】この発明の実施の形態にかかる監視装置のハードウェア構成を示すブロック図である。
【図３】監視処理の内容を示すフローチャートである。
【図４】監視処理における伝播処理の内容を示すフローチャートである。
【図５】具体例１（子ノードから伝播させない場合）の伝播処理前の木構造データの内容を示す説明図である。
【図６−１】図５に示した木構造データの伝播処理後の表示状態を示す説明図（その１）である。
【図６−２】図５に示した木構造データの伝播処理後の表示状態を示す説明図（その２）である。
【図６−３】図５に示した木構造データの伝播処理後の表示状態を示す説明図（その３）である。
【図７】具体例２（親ノードに伝播しない場合）の伝播処理前の木構造データの内容を示す説明図である。
【図８−１】図７に示した木構造データの伝播処理後の表示状態を示す説明図（その１）である。
【図８−２】図７に示した木構造データの伝播処理後の表示状態を示す説明図（その２）である。
【図８−３】図７に示した木構造データの伝播処理後の表示状態を示す説明図（その３）である。
【図９】第１の従来技術にかかる（伝播処理しない場合）木構造データを示す説明図である。
【図１０−１】図９に示した木構造データの伝播処理後の表示状態を示す説明図（その１）である。
【図１０−２】図９に示した木構造データの伝播処理後の表示状態を示す説明図（その２）である。
【図１１】第２の従来技術にかかる（伝播処理しない場合）木構造データを示す説明図である。
【図１２−１】図１１に示した木構造データの伝播処理後の表示状態を示す説明図（その１）である。
【図１２−２】図１１に示した木構造データの伝播処理後の表示状態を示す説明図（その２）である。
【図１２−３】図１１に示した木構造データの伝播処理後の表示状態を示す説明図（その３）である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照して、この発明による監視プログラム、監視装置および監視方法の実施の形態を詳細に説明する。
【００２２】
（実施の形態）
図１は、この発明の実施の形態にかかる監視装置を含む全体システムの構成を示すブロック図である。監視システム１０は、監視装置の一例である監視サーバ１１と、監視サーバ１１に接続可能な複数のクライアント（端末装置）２１，２２，・・・によって構成される。クライアント２１、クライアント２２のほか、監視サーバ１１に接続する端末装置はさらに増やすこともできる。そして、監視サーバ１１には、木構造データ生成部１２および伝播処理部１３を備える。また、クライアント２１は画面表示部３１を、クライアント２２は画面表示部３２をそれぞれ備える。
【００２３】
また、監視サーバ１１は、監視サーバ１１による監視の対象となる監視対象サーバ４１，４２，４３，・・・に接続される。監視対象サーバ４１はプラットフォーム５１を備え、監視対象サーバ４２はプラットフォーム５２を備え、監視対象サーバ４３はプラットフォーム５３を備える。プラットフォーム５１〜５３は、それぞれ、同じ種類のプラットフォームでもあってもよく、また、異なる種類のプラットフォームであってもよい。
【００２４】
監視サーバ１１は、接続される監視対象サーバ４１〜４３を監視して、その状態を示す状態情報を含む木構造データを、クライアント２１およびクライアント２２に伝達する。具体的には、木構造データ生成部１２が、木構造データを作成し、伝播処理部１３が、この木構造データに対して伝播処理を実行する。そして、この木構造データおよび実行された伝播処理の結果をクライアント２１，２２，・・・に伝達する。
【００２５】
木構造データ生成部１２は、監視対象サーバ４１〜４３を監視した結果から得られた状態情報を、それぞれ木構造のデータとして作成する。この木構造を構成するノードとして、たとえばコンピュータの部品が挙げられる。すなわち、コンピュータを構成する、ＣＰＵ、メモリ、電源装置、各種ボード、ファン、ハードディスクなどを、木構造を構成するノードとすることができる。
【００２６】
また、状態情報は、具体的には、各ノードを構成する部品や機器の、「正常」、「警告」、「異常」、「故障」の各状態とすることができる。この木構造データ生成部１２が作成するデータは、たとえばＸＭＬ形式とすることができる。ここで、この状態情報に、「正常」、「警告」、「異常」、「故障」の各状態に加えて、伝播しないことを示す付加情報が含まれる。この伝播しないことを示す付加情報は、後述する伝播処理を実行する際に用いられる。
【００２７】
伝播処理部１３は、木構造データ生成部１２から取得した状態情報について伝播処理を実行する。ここで、木構造データの各ノードがとりうる状態情報は、その意味的強弱から伝播の優先順位が定義されている。そして、あるノードの状態値（影響度）より、その子ノード（下位ノード）の方が強い状態値をもっている場合のみ伝播をおこなうものとする。「正常」、「警告」、「異常」、「故障」の４つの状態がある場合に、ノードの状態値は、たとえば、強い順に、「故障」、「異常」、「警告」、「正常」であるものとする。
【００２８】
具体的には、たとえば、上位のノードが「正常」の場合において、下位のノードが「異常」の場合は、上位のノードの「正常」よりも下位のノードの「異常」の方が強い状態値である（「正常」＜「異常」）ので、状態情報を上位に伝播する。また、上位のノードが「正常」の場合において、下位ノードが「正常」の場合は、状態値が同じであり、上位ノードよりも下位ノードの方が強い状態値であるといえないので、上位には伝播しない。
【００２９】
ここで、状態情報として伝播しないことを示す上記付加情報が含まれる場合がある。この状態情報をもつことによって、伝播処理において、ノードがどの状態情報であっても上位に伝播させないようにする。すなわち、伝播しないことを示す上記付加情報が上位のノードに含まれる場合、下位のノードから伝播を受けない。また、伝播しないことを示す情報が下位のノードに含まれる場合、上位のノードには伝播しない。この伝播処理は、ノード探索の際に各ノードに対して再帰的に実行される。そして、下位のノードから上位のノードまで実行されていくことになる。
【００３０】
この伝播しないことを示す上位付加情報は、ノードごとにそれぞれ設定することもでき、また、ノードを構成する部品の種類にしたがって自動的に設定することもできる。ノードを構成する部品が、たとえば、一般的にその状態を伝播する必要がないと考えられる冗長ファンである場合は、状態情報に伝播しないことを示す情報を含めるようにすることができる。この場合、状態情報は、ファンが正常の場合は「伝播しない正常」となり、故障の場合は「伝播しない故障」となる。
【００３１】
伝播しないことを示す上記付加情報は、ファンだけでなく、ハードディスクなどその他の冗長構成部品全般に適用することもできる。このように、部品によって異常などが発生しても特に通知する必要がないものや、異常などが発生した場合はあえて通知しなくても本体に異常などが発生してしまうものなど、部品によって通知の必要がないものについて、自動的に伝播しないように制御することができる。さらに、伝播処理部１３は、伝搬処理または維持されたノードの状態情報に基づいて、ノードの木構造をクライアント２１，２２の画面表示部３１，３２が表示するための表示情報を生成する。
【００３２】
画面表示部３１および画面表示部３２は、監視サーバ１１から受け取った木構造データおよび伝播処理の結果に基づいて表示処理を実行する。木構造であるので、あるルートノードについて複数のリーフノードが接続されている場合、このルートノードを表示しながら複数のリーフノードを隠すことができる。また、この複数のリーフノードが隠れている場合、このルートノードを指定（具体的にはマウスなどのポインティングデバイスによってクリック）することにより、この複数のリーフノードを表示することができる。
【００３３】
監視対象サーバ４１〜４３は、監視サーバ１１によって監視を受ける。具体的には、監視対象サーバ４１〜４３のそれぞれ、および監視対象サーバ４１〜４３のそれぞれの下位にあるノードについて、たとえば、正常であるか、警告状態であるか、異常であるか、故障状態であるかの監視を受ける。そして、監視サーバ１１からの要求にしたがって、状態情報を送信する。監視対象サーバ４１〜４３は、それぞれプラットフォーム５１〜５３を採用しており、プラットフォーム５１〜５３のそれぞれによって処理を実行している。
【００３４】
以上のように、コンピュータ全体とその構成部品がとりうる状態としてあらかじめ定義されているものに加えて、伝播しないための状態が定義される。例としては、「正常」、「異常」という状態が定義されている場合に、「伝播しない正常」、「伝播しない異常」という状態を新たに定義する。これは、ノードの状態としてもっている値に対して、「伝播しない」という制御情報を付帯することを意味する。監視画面にデータを表示する側では、この「伝播しない」という制御情報を元に、各ノードの状態の伝播が制御されることになる。
【００３５】
図２は、この発明の実施の形態にかかる監視装置のハードウェア構成を示すブロック図である。監視装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００３６】
ここで、ＣＰＵ１０１は、監視装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００３７】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを監視装置に読み取らせたりする。着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３８】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３９】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４０】
スキャナ１１２は、画像を光学的に読み取り、監視装置内に画像データを取り込む。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４１】
図１に示した木構造データ生成部１２および伝播処理部１３は、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記憶または記録されたプログラムをＣＰＵ１０１が実行することによってそれらの機能を実現することができる。また、上記ハードウェア構成は、クライアント２１，２２、・・・および監視対象サーバ４１，４２，４３，・・・でも同様の構成である。図１に示したクライアント２１の画面表示部３１、クライアント２２の画面表示部３２は、ディスプレイ１０８によってそれらの機能を実現することができる。
【００４２】
図３は、監視処理の内容を示すフローチャートである。監視サーバ１１における監視処理を開始することにより、以下の処理を起動する。まず、木構造データ生成部１２は、木構造データを生成する（ステップＳ３０１）。この木構造データは、監視対象サーバ４１〜４３を監視し、これらを構成する部品などを含むネットワークの木構造を解析し、また、このネットワークに含まれる各ノードの状態情報を収集することにより生成される。
【００４３】
つぎに、伝播処理部１３は、ノードの探索処理を実行する（ステップＳ３０２）。すなわち、木構造データを解析して、伝播処理すべきノードを探索する。ここで探索処理は、最下層のノードから実行する。なお、ここでの探索対象は親ノードである。つぎに、伝播処理部１３は、伝播処理を実行する（ステップＳ３０３）。この伝播処理によって下位ノードの状態情報を上位ノードの状態情報に伝播させる。詳細は後述する図４において説明する。
【００４４】
つぎに、伝播処理部１３は、処理をループするか否か、すなわち、すべての木構造データについて伝播処理が終了したか否かを判定する（ステップＳ３０４）。処理をループさせる場合（ステップＳ３０４：Ｙｅｓ）は、ステップＳ３０２に戻って、つぎに伝播処理するノードを探索する。処理をループしない場合（ステップＳ３０４：Ｎｏ）は、木構造データについて伝播処理が終了しているので、画面表示を実行する（ステップＳ３０５）。具体的には、この木構造データをクライアント２１またはクライアント２２へ渡す。画面表示部３１または画面表示部３２は、渡された木構造データを表示する。このようにして、一連の処理を終了する。
【００４５】
図４は、監視処理における伝播処理の内容を示すフローチャートである。この伝播処理は、図３のステップＳ３０３に示した伝播処理の実行開始とともに起動する。ここで、伝播処理にあたり親ノードをＡ、子ノードをＢとして説明する。まず、Ａは「伝播しない」付加情報（ステータス）を有するか否かを判定する（ステップＳ４０１）。すなわち、親ノードであるＡが、状態情報を伝播しないステータスを有しているか否かを判定する。伝播しないと判定された場合（ステップＳ４０１：Ｙｅｓ）は、子ノードの状態にかかわらず、Ａよりも上位のノードへ状態情報を伝播しないので、何らの伝播処理をすることなく、一連の処理を終了し、図３に示したステップＳ３０４へ移行する。
【００４６】
つぎに、伝播すると判定された場合（ステップＳ４０１：Ｎｏ）は、伝播処理を実行すべきノードを探索する（ステップＳ４０２）。Ａには複数のノードが接続されている場合が考えられるので、この複数のノードのうち、伝播処理の対象とするノードを一つ探索して特定する。この伝播対象として特定したノードをＢとして説明する。
【００４７】
つぎに、Ｂは「伝播しない」というステータスを有するか、すなわち「伝播しない」状態か否かを判定する（ステップＳ４０３）。「伝播しない」というステータスを有すると判定された場合（ステップＳ４０３：Ｙｅｓ）は、Ａに状態情報を伝播しないので、伝播処理をすることなく、ステップＳ４０６に進む。
【００４８】
Ｂは「伝播しない」というステータスを有さないと判定された場合（ステップＳ４０３：Ｎｏ）は、つぎに、ＡとＢの状態値を比較してＡ＜Ｂか否かを判定する（ステップＳ４０４）。ここで、ＡとＢの比較は、両者のもつ状態値（影響度）の大きさに基づいてなされる。各ノードの状態情報は、たとえば、「正常」、「警告」、「異常」、「故障」とすることができるが、このうち、影響度として、「故障」をもっとも大きく、つぎに「異常」、そのつぎに「警告」として、「正常」をもっとも影響度を小さいとすることができる。このとき、Ａの状態情報が「正常」で、Ｂの状態情報が「異常」のとき、ＡよりＢの影響度が大きいということになる。
【００４９】
Ａ＜Ｂでない、すなわちＡの影響度がＢ以上の場合（ステップＳ４０４：Ｎｏ）は、伝播処理をすることなく、ステップＳ４０６へ移行する。一方、Ａ＜Ｂである、すなわちＡよりＢの影響度が大きい場合（ステップＳ４０４：Ｙｅｓ）は、Ｂの状態情報をＡに伝播する（ステップＳ４０５）。たとえば、Ａの状態情報が「正常」で、Ｂの状態情報が「異常」のときは、Ａの状態情報に、Ｂの状態情報である「異常」を伝播させ、Ａの状態情報を「異常」とする。
【００５０】
そして、処理をループさせるか否かを判定する（ステップＳ４０６）。すなわち、子ノードとして接続されているすべてのノードについて処理が実行されたか否かを判定し、処理が実行されていないノードがある場合は、ループさせると判定する。ループさせると判定された場合（ステップＳ４０６：Ｙｅｓ）、ステップＳ４０２に戻り、Ａの子ノードのうちのつぎの子ノードについて処理を実行する。ループさせないと判定された場合（ステップＳ４０６：Ｎｏ）は、親ノードＡについての伝播処理が終了したので、一連の処理を終了し、図３に示したステップＳ３０４へ移行する。
【００５１】
（具体例１）
図５は、具体例１（子ノードから伝播させない場合）の伝播処理前の木構造データの内容を示す説明図である。まず、ルートノード５００があり、このルートノード５００の状態は「正常」である。そして、このルートノード５００の下位にリーフノード５１０およびノード５２０が接続されている。ここで、リーフノード５１０は「正常」であり、ノード５２０は「警告」状態である。ノード５２０には、下位にリーフノード５２１とリーフノード５２２が接続されている。リーフノード５２１とリーフノード５２２は、ともに伝播しないことを示す付加情報を含んでおり、リーフノード５２１は「故障」、リーフノード５２２は「正常」である。すなわち、リーフノード５２１は「伝播しない故障」、リーフノード５２２は「伝播しない正常」である。
【００５２】
図６−１〜図６−３は、図５に示した木構造データの伝播処理後の表示状態を示す説明図である。図５に示した木構造データは、伝播処理後に木構造データを折りたたまずに表示する場合、図６−１に示すように表示画面６５０に表示される。伝播処理は下位のノードから上位のノードにおこなわれるので、下位のノードから説明する。まず、図５におけるリーフノード５２１は「伝播しない故障」、リーフノード５２２は「伝播しない正常」であるが、伝播するか否かは表示する必要がない。そこで、図６におけるリーフノード６２１は「故障」、リーフノード６２２は「正常」とのみ表示される。
【００５３】
つぎに、ノード５２０は「警告」状態であり、その上で下位ノードからの伝播を受けて状態情報が変わる可能性がある。しかし、リーフノード５２１は「伝播しない故障」、リーフノード５２２は「伝播しない正常」なので、ノード５２０は下位ノードからの伝播を受けない。したがって、ノード６２０は、ノード５２０の状態のまま、「警告」状態と表示される。リーフノード５１０には下位ノードがないので、伝播処理の必要がなく、リーフノード６１０は、リーフノード５１０のまま「正常」と表示される。
【００５４】
ルートノード６００には、リーフノード６１０とノード６２０が接続されている。ここで、リーフノード６１０は正常なので、ルートノード５００と影響度が同じであり、ルートノード５００には伝播しない。一方、ノード６２０は「警告」状態であり、ルートノード５００よりも影響度が大きい。したがって、ノード６２０の状態は、ルートノード５００に伝播し、ルートノード６００は「警告」状態となる。なお、ルートノード６００の「警告」状態は、伝播した結果なので、伝播したステータスであることを示すこともできる。図６−１〜図６−３において、この伝播したステータスを「※」で示している。
【００５５】
図６−２は、木構造データを図６−１に示したノード６２０で折りたたんでいる状態を示している。その結果、表示画面６５０にはリーフノード６２１とリーフノード６２２が表示されない。また、折りたたんでいることがわかるように、ノード６２０はノードが重なっているように表示している。このように表示することによって、リーフノード６１０は折りたたんではおらず、ノード６２０は折りたたんでいることが一見して認識することができる。
【００５６】
ノード６２０の表示領域をポインティングデバイスによって指定（たとえばクリック）することによって、折りたたみが解消され、図６−１の表示状態に移行する。また、図６−１の表示状態において、ノード６２０の表示領域をポインティングデバイスによって指定（たとえばクリック）することによって、再び、図６−２に表示状態に移行する。これによって、ユーザは、ノード６２０の状態を確認し、さらにノード６２０の子ノードの状態を確認したい場合のみ、ノード６２０を指定し、ノード６２０における折りたたみを解消し、ノード６２０の子ノード（リーフノード６２１，６２２）を表示させることができる。
【００５７】
図６−３は、木構造データを図６−２に示したルートノード６００で折りたたんでいる状態を示している。その結果、表示画面６５０にはリーフノード６１０とノード６２０は表示されない。しかし、ルートノード６００には、本来のステータスである正常ではなく、警告状態が表示されており、さらに、伝播されたステータスであることが示されている。したがって、表示画面６５０に下位ノードの状態情報を示さなくとも、ユーザは異常などを容易に判別することができる。それによりユーザは、故障と表示されているノードをたどって展開し、さらに下位のノードを見ていくことによって、故障が発生したノードを発見することができる。
【００５８】
（具体例２）
図７は、具体例２（親ノードに伝播しない場合）の伝播処理前の木構造データの内容を示す説明図である。まず、ルートノード７００があり、このルートノード７００の状態は正常である。そして、このルートノード７００の下位にリーフノード７１０およびノード７２０が接続されている。ここで、リーフノード７１０は「正常」であり、ノード７２０は「警告」状態である。ここで、リーフノード７２０は、伝播しないことを示す情報を含む。すなわち、リーフノード７２０は「伝播しない警告」状態である。ノード７２０には、下位にリーフノード７２１とリーフノード７２２が接続されている。リーフノード７２１は「故障」、リーフノード７２２は「正常」である。
【００５９】
図８−１〜図８−３は、図７に示した木構造データの伝播処理後の表示状態を示す説明図である。伝播処理後に木構造データを折りたたまずに表示する場合、図８−１に示すように表示される。ここで、図６−１と同様に下位のノードから説明する。まず、リーフノード７２１は「故障」、リーフノード７２２は「正常」であり、下位ノードもないのでそのままリーフノード８２１は「故障」、リーフノード８２２は「正常」と表示される。
【００６０】
つぎに、ノード７２０は「伝播しない警告」状態であり、伝播しないことを示す付加情報を含んでいる。したがって、下位ノードからの伝播を受けない。なお、伝播するか否かは表示する必要がないので、ノード８２０には、「警告」であることが表示される。リーフノード７１０には下位ノードがないので、伝播処理の必要がなく、リーフノード８１０は、リーフノード７１０のまま「正常」と表示画面８５０に表示される。
【００６１】
ルートノード７００には、リーフノード７１０とノード７２０が接続されている。ここで、リーフノード７１０は「正常」なので、ルートノード７００と影響度が同じであり、ルートノード７００には伝播しない。一方、ノード７２０は「警告」状態であり、ルートノード７００よりも影響度が大きい。しかし、ノード７２０は伝播しないことを示す情報を含んでおり、ルートノード７００には伝播しない。したがって、ルートノード８００はそのまま変わらず「正常」と表示される。ノード７２０の状態が伝播する場合は、ルートノード８００は「警告」と表示されるところであるが、必ずしも状態を伝播することで表示してユーザに対応を促すべきであるとは限らない。この場合、「警告」状態であっても伝播させず、不要な通知を防ぐことができる。
【００６２】
図８−２では、図８−１に示したノード８２０で折りたたんでいる。その結果、リーフノード８２１とリーフノード８２２が表示画面８５０に表示されない。また、折りたたんでいることがわかるように、ノード８２０はノードが重なっているように表示している。このように表示画面８５０に表示することによって、リーフノード８１０は折りたたんではおらず、ノード８２０は折りたたんでいることが一見して認識することができる。それ以外は図６−２と同様であるので、説明は省略する。
【００６３】
図８−３では、木構造データを図８−２に示したルートノード８００で折りたたんでいる。その結果、リーフノード８１０とノード８２０は表示画面８５０に表示されない。ルートノード８００には「正常」と表示されるが、実際にはその下位ノードであるノード８２０は「警告」状態であり、さらにその下位のリーフノード８２１は「故障」状態である。しかし、伝達の必要が必ずしもない場合には、状態情報を伝播させることなく、ルートノード８００を「正常」と表示し、それにより警告表示を必要な範囲におさえることができる。
【００６４】
以上説明したように、監視プログラム、監視装置および監視方法によれば、「異常」という状態値に対して、「伝播しない」という制御情報を付加し、「伝播しない異常」という状態を定義している。状態の伝播をさせたくないノードに対しては、実際の状態値の変わりに、「伝播しない」が付いた状態値を与えればよい。これによって、そのノードの親ノードおよび、より上位のノードには状態が伝播されないことになる。
【００６５】
ユーザ側から見れば、「伝播しない」という概念は意識する必要がないため、グラフィカルユーザインターフェース上では、「伝播しない異常」は「異常」と表示する。システム側から見れば、「伝播しない」は単なる制御情報として扱えばよいことになる。このように、状態の伝播をするかしないかを、個々のノードごとに制御することで、適切な状態の伝播をおこない、正しい状態監視をすることができる。
【００６６】
なお、本実施の形態で説明した監視方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【００６７】
以上のように、本発明にかかる監視プログラム、監視装置および監視方法は、コンピュータとその構成部品が木構造のデータで表現されるシステムの監視に有用であり、特に、コンピュータの構成部品などの木構造のネットワークで構築されたシステムを木構造のデータをグラフィカルユーザインターフェースで表示するソフトウェアを用いて監視するのに適している。
【符号の説明】
【００６８】
１０  監視システム
１１  監視サーバ
１２  木構造データ生成部
１３  伝播処理部
２１，２２  クライアント
３１，３２  画面表示部
４１，４２，４３  監視対象サーバ
６５０，８５０  表示画面
【図１】
0004480768.tif 000002
【図２】
0004480768.tif 000003
【図３】
0004480768.tif 000004
【図４】
0004480768.tif 000005
【図５】
0004480768.tif 000006
【図６−１】
0004480768.tif 000007
【図６−２】
0004480768.tif 000008
【図６−３】
0004480768.tif 000009
【図７】
0004480768.tif 000010
【図８−１】
0004480768.tif 000011
【図８−２】
0004480768.tif 000012
【図８−３】
0004480768.tif 000013
【図９】
0004480768.tif 000014
【図１０−１】
0004480768.tif 000015
【図１０−２】
0004480768.tif 000016
【図１１】
0004480768.tif 000017
【図１２−１】
0004480768.tif 000018
【図１２−２】
0004480768.tif 000019
【図１２−３】
0004480768.tif 000020