(57)【特許請求の範囲】
【請求項１】
管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得部と、
前記メッセージの数を算出する学習情報生成部と、
前記メッセージ取得部が取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定部であって、前記学習情報生成部が算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定部と
を備え、
前記学習情報生成部は、
指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、
前記分析判定部は、
前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、
前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、
前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成部に前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知する
ことを特徴とする運用管理装置。
【請求項２】
前記分析判定部は、
前記メッセージの識別情報、及び前記メッセージの本文に記載された当該メッセージの内容が示す情報ごとに算出された前記メッセージの数に基づいて、前記管理対象ノードの状態を検知する
ことを特徴とする請求項１に記載の運用管理装置。
【請求項３】
前記メッセージは、データの転送開始、データの転送完了、データの送信開始、又はデータの送信完了を含む
ことを特徴とする請求項１又は請求項２に記載の運用管理装置。
【請求項４】
前記学習情報生成部は、前記メッセージが異常である場合に、当該異常であるメッセージを集計に加えない
ことを特徴とする請求項１から請求項３のいずれか一項に記載の運用管理装置。
【請求項５】
前記分析判定部は、前記診断した結果に基づいて前記管理対象ノードが異常であると判定した場合に、前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した時刻を含む予め定められた時間内にある前記メッセージをメッセージ異常であると判定し、
前記学習情報生成部は、メッセージ異常であると判定されていないメッセージに基づいて、前記最大値又は前記最小値を補正する
ことを特徴とする請求項１から請求項４のいずれか一項に記載の運用管理装置。
【請求項６】
メッセージ取得部が、管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得過程と、
学習情報生成部が、前記メッセージの数を算出する学習情報生成過程と、
分析判定部が、前記メッセージ取得部が取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定過程であって、前記学習情報生成部が算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定過程と、
を有し、
前記学習情報生成過程において、前記学習情報生成部が、
指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、
前記分析判定過程において、前記分析判定部が、
前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、
前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、
前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成部に前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知する
ことを特徴とする運用管理方法。
【請求項７】
運用管理装置のコンピュータに
管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得手順と、
前記メッセージの数を算出する学習情報生成手順と、
前記メッセージ取得手順で取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定手順であって、前記学習情報生成手順にて算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定手順と
を実行させるための運用管理プログラムであり、
前記学習情報生成手順において、
指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、
前記分析判定手順において、
前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、
前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、
前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成手順にて前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知する
ことを特徴とする運用管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運用管理装置、運用管理方法、及び運用管理プログラムに関する。
【背景技術】
【０００２】
情報システムを安定的かつ効率的に運用するために、情報システムを構成する管理対象ノード群を一元的に監視、制御する運用管理システムが知られている。運用管理システムは、管理対象ノードから、「ハードウェア故障発生」や「ソフトウェアの処理エラー発生」といったハードウェアやソフトウェアに関する様々な情報をオンラインで取得、蓄積すると共に、運用管理端末に表示する。そして、管理者は、運用管理端末に表示されたメッセージの内容を元に、管理対象ノード群を監視、制御する。
しかし、情報システムが大規模化、複雑化するにつれて、管理者には知識面での負担が飛躍的に増大し、その結果、判断ミスによるサービス停止の長時間化といった事態も発生している。
これに対し、特許文献１記載の技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９９５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、運用管理システムは、ＣＰＵ使用率やメモリ残量といった管理対象ノードの性能情報を用いて運用管理を行う。そのため、運用者が管理対象ノードに対して、性能情報を収集、送信するための設定を行わなければ、性能情報を取得できないという問題があった。また、性能情報を収集するための処理負荷や、管理対象ノードから運用管理システムへの性能情報を送信するためのネットワーク負荷を負わないと、管理対象ノードの異常を検知できないという問題があった。
【０００５】
本発明は上記の点に鑑みてなされたものであり、簡易に管理対象ノードの異常を検知することができる運用管理装置、運用管理方法、及び運用管理プログラムを提供する。
【課題を解決するための手段】
【０００６】
（１）本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得部と、前記メッセージの数を算出する学習情報生成部と、前記メッセージ取得部が取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定部であって、前記学習情報生成部が算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定部とを備え、前記学習情報生成部は、指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、前記分析判定部は、前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成部に前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知することを特徴とする運用管理装置である。
（２）また、本発明の一態様は、上記の運用管理装置において、前記分析判定部は、前記メッセージの識別情報、及び前記メッセージの本文に記載された当該メッセージの内容が示す情報ごとに算出された前記メッセージの数に基づいて、前記管理対象ノードの状態を検知することを特徴とする。
（３）また、本発明の一態様は、上記の運用管理装置において、前記メッセージは、データの転送開始、データの転送完了、データの送信開始、又はデータの送信完了を含むことを特徴とする。
【０００７】
（４）また、本発明の一態様は、上記の運用管理装置において、前記学習情報生成部は、前記メッセージが異常である場合に、当該異常であるメッセージを集計に加えないことを特徴とする。
【００１０】
（５）また、本発明の一態様は、上記の運用管理装置において、前記分析判定部は、前記診断した結果に基づいて前記管理対象ノードが異常であると判定した場合に、前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した時刻を含む予め定められた時間内にある前記メッセージをメッセージ異常であると判定し、前記学習情報生成部は、メッセージ異常である判定されていないメッセージに基づいて、前記最大値又は前記最小値を補正することを特徴とする。
【００１１】
（６）また、本発明の一態様は、メッセージ取得部が、管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得過程と、学習情報生成部が、前記メッセージの数を算出する学習情報生成過程と、分析判定部が、前記メッセージ取得部が取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定過程であって、前記学習情報生成部が算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定過程と、を有し、前記学習情報生成過程において、前記学習情報生成部が、
指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、前記分析判定過程において、前記分析判定部が、前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成部に前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知することを特徴とする運用管理方法である。
【００１２】
（７）また、本発明の一態様は、運用管理装置のコンピュータに管理対象ノードが出力したメッセージであって、情報収集のための設定変更を必要とする性能情報と、情報収集のための処理負荷を必要とする性能情報とをいずれも含まないメッセージを取得するメッセージ取得手順と、前記メッセージの数を算出する学習情報生成手順と、前記メッセージ取得手順で取得した前記メッセージの数に基づいて前記管理対象ノードの状態を検知する分析判定手順であって、前記学習情報生成手順にて算出した前記メッセージの数の履歴と、現在のメッセージの数とに基づいて前記管理対象ノードの状態を検知する分析判定手順と
を実行させるための運用管理プログラムであり、前記学習情報生成手順において、指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位時間毎のメッセージの数の最大値、又は最小値を算出し、前記分析判定手順において、前記現在のメッセージの数が、前記最大値と前記最小値の間の値であるか否かに基づいて前記管理対象ノードの状態を検知し、前記現在のメッセージの出力数が前記最大値と前記最小値の間の値でないと判定した場合に、前記管理対象ノードの状態を診断する診断プログラムを起動し、診断した結果に基づいて前記管理対象ノードが異常であるか否かを判定し、前記診断した結果に基づいて前記管理対象ノードが異常でないと判定した場合に、前記学習情報生成手順にて前記最大値又は前記最小値を補正させ、補正後の最大値又は補正後の最小値に基づいて前記管理対象ノードの状態を検知することを特徴とする運用管理プログラムである。
【発明の効果】
【００１３】
本発明によれば、簡易に管理対象ノードの異常を検知することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る運用管理システムの概念図である。
【図２】本実施形態に係る運用管理装置の一例を示す概略ブロック図である。
【図３】本実施形態に係る取得メッセージ情報テーブルの一例を説明する概略図である。
【図４】本実施形態に係る学習結果情報テーブルの一例を説明する概略図である。
【図５】本実施形態に係る最大最小値テーブルの一例を説明する概略図である。
【図６】本実施形態に係る分析情報テーブルの一例を示す概略図である。
【図７】本実施形態に係る学習情報生成部の一例を示したブロック図である。
【図８】本実施形態に係る分析情報生成部の一例を示したブロック図である。
【図９】本実施形態に係る分析判定部の一例を示したブロック図である。
【図１０】本実施形態に係る運用管理システムの動作の一例を示すフローチャートである。
【図１１】本実施形態に係る学習処理の動作の一例を示すフローチャートである。
【図１２】本実施形態に係る集計処理の動作の一例を示すフローチャートである。
【図１３】本実施形態に係る分析処理の動作の一例を示すフローチャートである。
【図１４】本実施形態に係る学習結果を表示させるための条件入力画面の一例を示す説明図である。
【図１５】本実施形態に係る学習結果表示の一例を示す説明図である。
【図１６】本実施形態に係る分析結果を表示させるための条件入力画面の一例を示す説明図である。
【図１７】本実施形態に係る学習結果表示の一例を示す説明図である。
【図１８】本発明の第２の実施形態に係る運用管理装置の一例を示す概略ブロック図である。
【図１９】本実施形態に係る学習情報生成部の一例を示したブロック図である。
【図２０】本実施形態に係る分析情報生成部の一例を示したブロック図である。
【図２１】本実施形態に係る分析判定部の一例を示したブロック図である。
【図２２】本実施形態に係る取得メッセージ情報テーブルの一例を説明する概略図である。
【図２３】本実施形態に係る運用管理システムの処理の一例を示すフローチャートである。
【図２４】本実施形態に係る処理の一例を示すフローチャートである。
【図２５】本実施形態に係る処理の一例を示すフローチャートである。
【図２６】本実施形態に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の第１の実施形態について詳しく説明する。
図１は、本発明の第１の実施形態に係る管理対象システム１０と運用管理システム２０の関係を示す概念図である。
管理対象システム１０は、管理対象ネットワーク１００と、管理対象ノード１０１〜１０３を具備する。
管理対象ネットワーク１００は、運用管理装置２１が運用管理を行う対象のネットワークである。管理対象ネットワーク１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などから構成される。
管理対象ノード１０１〜１０３は、ネットワークインターフェイスを介して管理対象ネットワーク１００に接続された電子機器である。管理対象ノード１０１〜１０３は、例えば、コンピュータ、ネットワークインターフェイスを備えた家電製品、ハブ、ルータ、スイッチなどである。
【００１６】
運用管理システム２０は、運用管理装置２１及び運用管理端末２２を具備する。
運用管理装置２１は、管理対象ネットワーク１００に接続される。運用管理装置２１は、管理対象ネットワーク１００を介して各管理対象ノード１０１〜１０３からのメッセージを取得する。運用管理装置２１は、取得したメッセージの数に基づいて管理対象ノードの状態を検知する。
【００１７】
運用管理装置２１による管理対象ノードの異常の検出の処理の概略について説明する。符号Ａを付したものは、運用管理端末２２の画面イメージである。この画面イメージで、横軸は時刻、縦軸はメッセージ数を表す。符号ａ及び符号ｂを付した線は、それぞれ、測定時間（学習集計単位時間と呼ぶ）毎のメッセージ出力数の履歴について、学習集計単位時間毎の最小値及び最大値を表す。分析対象とする測定時間（分析集計単位時間と呼ぶ）におけるメッセージ出力数が、符号ｃを付した線のように、メッセージ出力数の最小値及び最大値で囲まれる範囲を逸脱した場合に、その管理対象ノードが異常であると検知する。これにより、運用管理装置２１は、管理対象システムに新たな設定変更や情報収集負荷を加えることなく、簡易に管理対象ノードの異常を検知できる。
【００１８】
運用管理端末２２は、利用者が、運用管理装置２１との間で情報の入出力を行う端末である。運用管理端末２２は、符号Ａを付した画面等を表示し、利用者に情報提供を行うと共に、利用者から運用管理装置２１に対する命令を入力される。
【００１９】
図２は、本発明の運用管理装置２１の構成を示す概略ブロック図である。図示する例では、運用管理装置２１は、メッセージ取得部２０１、メッセージＤＢ（メッセージ記憶部）２０２、入力部２０３、学習情報生成部２０４、学習結果情報ＤＢ（学習結果情報記憶部）２０５、分析情報生成部２０６、分析結果情報ＤＢ（分析結果情報記憶部）２０７、分析判定部２０８、及び出力部２０９を含んで構成される。
【００２０】
メッセージ取得部２０１は、管理対象ネットワーク１００に接続されている。メッセージ取得部２０１は、送信されたメッセージを取得する。ここで、メッセージとは、例えば、コールデータ転送完了、認証エラー発生、パッケージリセット発生などの事象が発生したときに、管理対象ノード１０１〜１０３から管理対象ネットワーク１００に出力される情報である。メッセージ取得部２０１は、管理対象ノード１０１〜１０３の各々から取得したメッセージに基づいて、取得メッセージ情報を生成する。
ここで、取得メッセージ情報とは、メッセージＩＤ、タイムスタンプ、ノード名、メッセージ本文などを含む情報である（図３参照）。メッセージＩＤとは、メッセージの識別情報である。タイムスタンプとは、管理対象ノード１０１〜１０３がメッセージを生成した時刻（年月日、時、分、秒）である。ノード名とは、メッセージを送信した管理対象ノードを一意に示す識別番号である。メッセージ本文には、メッセージに関する情報が入力される。メッセージ取得部２０１は、生成した取得メッセージ情報をメッセージＤＢ２０２に記録する。
メッセージＤＢ２０２が記録する取得メッセージ情報の詳細については後述する。
【００２１】
入力部２０３は、運用管理端末２２を介して利用者から情報を入力される。例えば、入力部２０３は、利用者から学習条件情報を入力される。ここで、学習条件情報とは、メッセージ学習を行う期間であるメッセージ学習対象期間、メッセージの総数を集計する期間の単位である学習集計単位時間（メッセージ学習対象期間及び学習集計単位時間を合わせて学習条件と呼ぶ）を示す情報である。入力部２０３は、入力された学習条件情報を学習情報生成部２０４に出力する。
また、例えば、入力部２０３は、利用者から分析条件情報を入力される。ここで、分析条件情報とは、メッセージ分析を行う期間であるメッセージ分析対象期間、メッセージ数を集計する時間の単位である分析集計単位時間（メッセージ分析対象期間及び分析集計単位時間を合わせて分析条件と呼ぶ）を示す情報である。入力部２０３は、入力された分析条件情報を分析情報生成部２０６に出力する。
【００２２】
学習情報生成部２０４は、メッセージＤＢ２０２に記録された取得メッセージ情報の中から、入力部２０３から入力された学習条件情報が示す学習条件に合致した取得メッセージ情報を抽出する。学習情報生成部２０４は、取得メッセージ情報に基づいて、ノード名、メッセージＩＤ、学習集計単位時間毎のメッセージ出力数を示す学習データ情報を生成する。学習情報生成部２０４は、生成した学習データ情報を学習結果情報ＤＢ２０５に記録する。
学習情報生成部２０４は、生成した学習データ情報に基づいて、ノード名、メッセージＩＤ、学習集計単位時間毎のメッセージ数の最大値、最小値を算出し、算出した最大値、最小値を示す最大最小値情報を生成する。学習情報生成部２０４は、生成した最大最小値情報を学習結果情報ＤＢ２０５に記録する。ここで、学習データ情報を生成する処理及び最大最小値情報を生成する処理を合わせて学習処理と呼ぶ。学習情報生成部２０４は、学習結果情報ＤＢ２０５から読み出した学習データ情報及び最大最小値情報を出力部２０９に出力する。なお、学習情報生成部２０４及び学習結果情報ＤＢ２０５の詳細については後述する。
【００２３】
分析情報生成部２０６は、メッセージＤＢ２０２に記録された取得メッセージ情報の中から、入力部２０３から入力された分析条件情報が示す分析条件に合致した取得メッセージ情報を抽出する。分析情報生成部２０６は、抽出した取得メッセージ情報に基づいて、ノード名、メッセージＩＤ、分析集計単位時間毎のメッセージ出力数を算出し、算出したメッセージ数を示す分析データ情報を生成する。分析情報生成部２０６は、生成した分析データ情報を分析結果情報ＤＢ２０７に記録する。なお、分析情報生成部２０６の詳細については後述する。
分析結果情報ＤＢ２０７で記憶する情報の詳細については後述する。
【００２４】
分析判定部２０８は、学習結果情報ＤＢ２０５に記録された最大最小値情報と、分析結果情報ＤＢ２０７から読み出した分析データ情報とに基づいて、分析対象の各管理対象ノードが正常であるか否かを判定する。分析判定部２０７は、判定結果を分析結果情報ＤＢ２０７に記録し、出力部２０９に出力する。なお、分析判定部２０８の詳細については後述する。
出力部２０９は、学習情報生成部２０４及び分析判定部２０８から入力された情報を運用管理端末２２に出力する。
【００２５】
図３は、メッセージＤＢ２０２に記録される取得メッセージ情報テーブルの一例を説明する概略図である。
図示するようにメッセージ情報テーブルは、タイムスタンプ、メッセージＩＤ、ノード名、及びメッセージ本文の各項目の列を有している。メッセージ情報テーブルは、タイムスタンプ毎にメッセージＩＤ、ノード名、メッセージ本文が格納される行と列からなる２次元の表形式のデータである。
【００２６】
例えば、符号３ａを付したメッセージ情報は、タイムスタンプが、「２００７年７月１５日７時５１分１１秒」に、メッセージＩＤが「．１０．１０．１０．１０」であるメッセージを、ＩＰアドレス「１９２．１６８．１．３０」を持つ管理対象ノードから送信され、そのメッセージ本文が、「コールデータ転送完了」であることを示す。
【００２７】
図４は、学習結果情報テーブルの一例を説明する概略図である。図示するように学習結果情報テーブルは、ノード名、メッセージＩＤ、学習集計単位時間、及び集計値の各項目の列を有している。学習結果情報テーブルは、ノード名、メッセージＩＤ、学習集計単位時間毎に集計値が格納される行と列からなる２次元の表形式のデータである。
例えば、符号４ａを付した学習データ情報は、ノード名は「１９２．１６８．１．３０」、メッセージＩＤは「．１０．１０．１０．１０」、学習集計単位時間は「２００７年７月１５日７時〜７時５９分５９秒」、集計値は「３１２」であることを示している。
【００２８】
図５は、最大最小値テーブルの一例を説明する概略図である。図示するように最大最小値テーブルは、符号５１〜符号５Ｎを付したＮ個の管理対象ノード別データテーブルから構成される。ここで、Ｎは運用管理対象ネットワーク１０に接続された管理対象ノードの数である。符号５１を付した管理対象ノード別データテーブルは、符号５１１〜符号５１Ｍを付したメッセージＩＤ別データテーブルから構成される。ここで、ＭはメッセージＩＤの種類の数である。符号５１１を付したメッセージ別データテーブルは、学習集計単位時間、最大値、及び最小値の各項目の列を有している。メッセージ別データテーブルは、学習集計単位時間毎に最大値、最小値が格納される行と列からなる２次元の表形式のデータである。
例えば、符号５１１ａを付した最大最小値情報は、ノード名は「１９２．１６８．１．３０」、メッセージＩＤは「．１０．１０．１０．１０」、学習集計単位時間は「２００７年７月１５日７時〜７時５９分５９秒」、最大値は「２３２」、最小値は「１８１」であることを示している。
【００２９】
図６は、分析情報テーブルの一例を示す概略図である。図示するように分析情報テーブルは、ノード名、メッセージＩＤ、分析集計単位時間、集計値、及び分析結果情報の各項目の列を有している。分析情報テーブルは、ノード名、メッセージＩＤ、分析集計単位時間毎に集計値、分析結果情報が格納される行と列からなる２次元の表形式のデータである。
【００３０】
例えば、符号６ａを付した分析情報は、ノード名は「１９２．１６８．１．３０」、メッセージＩＤは、「．１０．１０．１０．１０」、分析集計単位時間は「２００７年７月１５日７時〜７時５９分５９秒」、分析結果情報は「正常」であることを示している。符号６ａを付した分析情報は、ノード名は「１９２．１６８．１．３０」、メッセージＩＤは、「．１０．１０．１０．１０」、分析集計単位時間は「２００７年７月１５日８時〜８時５９分５９秒」、分析結果情報は「異常」であることを示している。
【００３１】
図７は、学習情報生成部２０４の構成を示す概略ブロック図である。
学習情報生成部２０４は、学習メッセージ情報抽出部２０４０、学習出力数集計部２０４１、及び最大最小値抽出部２０４２を含んで構成される。
学習メッセージ情報抽出部２０４０は、メッセージＤＢ２０２に記録された取得メッセージ情報に含まれるタイムスタンプが、入力部２０３から入力された学習条件情報が示すメッセージ学習対象期間に含まれるか否かを判定する。分析メッセージ情報抽出部２０６０は、メッセージ学習対象期間に含まれると判定した取得メッセージ情報を順次学習出力数集計部２０４１に出力する。学習メッセージ情報抽出部２０４０は、学習出力数集計部２０４１から後述する学習集計終了情報が入力されたときに、最大最小値抽出情報を最大最小値抽出部２０４２に出力する。ここで、最大最小値抽出情報とは、最小値抽出部２０４２に、メッセージ情報数の最大値、最小値を抽出させる情報である。
【００３２】
学習出力数集計部２０４１は、取得メッセージ情報の数を、ノード名、メッセージＩＤ、及び学習集計単位時間毎に集計する（集計処理と呼ぶ）。学習出力数集計部２０４１は、集計された値を示す学習集計値情報と、ノード名と、メッセージＩＤと、学習集計単位時間とを関連付けた情報（学習データ情報）を学習結果情報ＤＢ２０５に記録する。学習出力数集計部２０４１は、集計を終了したときに学習集計終了情報を学習メッセージ情報抽出部２０４０に出力する。
【００３３】
最大最小値抽出部２０４２は、学習メッセージ情報抽出部２０４０から最大最小値抽出情報を入力されると、学習結果情報ＤＢ２０５に記録された学習データ情報に基づいて、ノード名、メッセージＩＤ、及び学習集計単位時間毎にメッセージ集計数の最大値及び最小値を抽出する。最大最小値抽出部２０４２は、最大最小値情報を学習結果情報ＤＢ２０５に記録する。
【００３４】
図８は、分析情報生成部２０６の構成を示す概略ブロック図である。
分析情報生成部２０６は、分析メッセージ情報抽出部２０６０及び分析出力数集計部２０６１を含んで構成される。
分析メッセージ情報抽出部２０６０は、メッセージＤＢ２０２（図２）に記録された取得メッセージ情報に含まれるタイムスタンプが、入力部２０３から入力された分析条件情報が示すメッセージ分析対象期間に含まれるか否かを判定する。分析メッセージ情報抽出部２０６０は、メッセージ分析対象期間に含まれると判定した取得メッセージ情報を順次分析出力数集計部２０６１に出力する。
分析メッセージ情報抽出部２０６０は、後述する分析集計終了情報が入力されたときに、分析を開始することを示す分析開始情報を分析判定部２０８に出力する。
【００３５】
分析出力数集計部２０６１は、取得メッセージ情報の数を、ノード名、メッセージＩＤ、及び分析集計単位時間毎に集計する（集計処理と呼ぶ）。分析出力数集計部２０６１は、集計された値を示す分析集計値情報と、ノード名と、メッセージＩＤと、分析集計単位時間とを関連付けた情報（分析データ情報）を分析結果情報ＤＢ２０７（図２）に記録する。分析出力数集計部２０６１は、集計を終了したときに分析集計終了情報を分析メッセージ情報抽出部２０６０に出力する。ここで、分析集計終了情報とは、分析出力数集計部２０６１が出力数の集計を終了したことを分析メッセージ情報抽出部２０６０に示す情報である。
【００３６】
図９は、分析判定部２０８の構成を示す概略ブロック図である。
分析判定部２０８は、学習分析比較部２０８０を含んで構成される。分析判定部２０８は、学習結果情報ＤＢ２０５から読み出した最大最小値情報と、分析結果情報ＤＢから読み出した分析データ情報に基づいて、分析集計値が、最大最小値情報が示す最大値、最小値の間に含まれるか否かを判定する。
学習分析比較部２０８０は、学習結果情報ＤＢ２０５から読み出した最大最小値情報と、分析結果情報ＤＢ２０７から読み出した分析データ情報と、をノード名、メッセージＩＤ、及び分析単位時間毎に比較する。
具体的には、学習分析比較部２０８０は、分析集計値情報が示す分析集計値が、最大最小値情報が示す最大値と最小値の間に含まれるか否かを判定する。分析集計値が最大最小値情報が示す最大値と最小値の間に含まれないと判定した場合は、学習分析比較部２０８０は、分析集計値が最大値と最小値の間に含まれないことを示す判定不合格情報を生成する。最大最小値情報が示す最大値と最小値の間に含まれると判定した場合は、学習分析比較部２０８０は、分析集計値が最大値と最小値の間に含まれることを示す判定合格情報を生成する。学習分析比較部２０８０は、分析結果情報を分析結果情報ＤＢ２０７に記録する。ここで、分析結果情報には、ノード名と、メッセージＩＤと、分析集計単位時間と、判定不合格情報又は判定合格情報が含まれる。
【００３７】
図１０は、本実施形態に係る運用管理システム２０の動作の一例を示すフローチャートである。
（ステップＳ１０１）メッセージ取得部２０１は、管理対象ノード１０１〜１０３から送信されたメッセージを取得する。メッセージ取得部２０１は、取得したメッセージに基づいて取得メッセージ情報を生成し、メッセージＤＢ２０２に記録する。その後ステップＳ１０２に進む。
（ステップＳ１０２）入力部２０３は、利用者から学習条件情報を入力されたか否かを判定する。学習条件情報を入力されたと判定された場合（Ｙｅｓ）は、ステップＳ１０３に進む。学習条件情報を入力されたと判定されなかった場合（Ｎｏ）は、ステップＳ１０４に進む。
【００３８】
（ステップＳ１０３）学習情報生成部２０４は、学習処理を行う。ステップＳ１０３における学習処理の詳細については後述する。
（ステップＳ１０４）入力部２０３は、利用者から分析条件情報を入力されたか否かを判定する。分析条件情報を入力されたと判定された場合（Ｙｅｓ）は、ステップＳ１０５に進む。分析条件情報を入力されたと判定されなかった場合（Ｎｏ）は、ステップＳ１０１に進む。
【００３９】
（ステップＳ１０５）分析情報生成部２０６は、分析処理を行う。ステップＳ１０５における分析処理の詳細については後述する。その後ステップＳ１０１に進む。
【００４０】
図１１は、本実施形態に係る学習処理の動作の一例を示すフローチャートである。図１１は図１０におけるステップＳ１０３の学習処理を示すフローチャートである。
（ステップＳ２０１）学習情報生成部２０４は、ステップＳ１０２で入力されたと判定した学習条件情報及び取得メッセージ情報に基づいて、メッセージ学習対象期間内の学習ノード数Ｌｎ、学習メッセージＩＤ数Ｌｍ、学習単位集計時間数Ｌｔ、及び学習日数Ｌｄを算出する。ここで、学習ノード数Ｌｎは、メッセージ学習対象期間内にメッセージを発信した管理対象ノードの数である。学習メッセージＩＤ数Ｌｍは、メッセージ学習対象期間内に受信したメッセージＩＤの種類の数である。学習単位集計時間数Ｌｔは、一日あたりの学習集計単位時間の数である。学習日数Ｌｄは、メッセージ学習対象期間内の日数である。その後ステップＳ２０２に進む。
【００４１】
（ステップＳ２０２）学習情報生成部２０４は、学習ノード数カウンタＬｎｃ、学習メッセージＩＤ数カウンタＬｍｃ、学習単位集計時間数カウンタＬｔｃ、及び学習日数カウンタＬｄｃに「０」を代入する。その後ステップＳ２０３に進む。
（ステップＳ２０３）学習情報生成部２０４は、メッセージ学習期間内に未学習の管理対象ノードが残っているか否かを判定する。つまり、Ｌｎｃ＜Ｌｎであるか否かを判定する。Ｌｎｃ＜Ｌｎであると判定された場合（Ｙｅｓ）は、ステップＳ２０４に進む。Ｌｎｃ≧Ｌｎであると判定された場合（Ｎｏ）は、ステップＳ２１３に進む。
（ステップS２０４）学習情報生成部２０４は、ステップS２０３で未学習と判定された管理対象ノード（対象ノード）について未学習のメッセージＩＤが残っているか否かを判定する。つまり、Ｌｍｃ＜Ｌｍであるか否かを判定する。Ｌｍｃ＜Ｌｍであると判定された場合（Ｙｅｓ）は、ステップＳ２０５に進む。Ｌｎｃ≧Ｌｎであると判定された場合（Ｎｏ）は、ステップＳ２０６に進む。
【００４２】
（ステップS２０５）学習情報生成部２０４は、ステップS２０４で未学習と判定されたメッセージＩＤ（対象メッセージＩＤ）について、未学習の学習集計単位時間（対象学習集計単位時間）が残っているか否かを判定する。つまり、Ｌｔｃ＜Ｌｔであるか否かを判定する。Ｌｔｃ＜Ｌｔであると判定された場合（Ｙｅｓ）は、ステップＳ２０６に進む。Ｌｎｃ≧Ｌｎであると判定された場合（Ｎｏ）は、ステップＳ２０８に進む。
（ステップS２０６）学習情報生成部２０４は、Ｌｔｃに「１」を加える。その後ステップS２０７に進む。
（ステップS２０７）学習出力数集計部２０４１は、対象ノード、対象メッセージＩＤについて、学習集計単位時間内の取得メッセージ情報の数を計算する（集計処理と呼ぶ）。ステップＳ２０７における集計処理の詳細については後述する。その後ステップS２０５に進む。
【００４３】
（ステップS２０８）学習情報生成部２０４は、対象メッセージ識別情報について、未学習の学習対象日が残っているか否かを判定する。つまり、Ｌｄｃ＜Ｌｄであるか否かを判定する。Ｌｄｃ＜Ｌｄであると判定された場合（Ｙｅｓ）は、ステップＳ２０９に進む。Ｌｄｃ≧Ｌｄであると判定された場合（Ｎｏ）は、ステップＳ２１０に進む。
（ステップＳ２０９）学習情報生成部２０４は、Ｌｄｃに「１」を加える。その後ステップS２０５に進む。
【００４４】
（ステップＳ２１０）最大最小値抽出部２０４２は、最大最小値抽出情報に基づいて、対象ノード、対象メッセージＩＤ、及び対象学習集計単位時間毎の最大出力数と最小出力数を計算する。最大最小値抽出部２０４２は、計算した最大出力数と最小出力数を示す最大最小値情報を学習結果情報ＤＢ２０５に記録する。その後ステップＳ２１１に進む。
（ステップＳ２１１）学習情報生成部２０４は、Ｌｍｃに「１」を加える。その後ステップS２０４に進む。
（ステップＳ２１２）学習情報生成部２０４は、Ｌｎｃに「１」を加える。その後ステップS２０３に進む。
（ステップＳ２１３）出力部２０９は、学習情報生成部２０４から入力された学習情報及び最大最小値情報を表示する。
【００４５】
図１２は、本実施形態に係る集計処理の一例を示すフローチャートである。図１２は図１１におけるステップＳ２０７の集計処理を示すフローチャートである。
（ステップＳ３０１）学習出力数集計部２０４１は、集計値に「０」を代入する。その後ステップＳ３０２に進む。
（ステップＳ３０２）学習出力数集計部２０４１は、対象ノード、対象メッセージについて、対象集計単位時間内の未集計のメッセージがあるか否かを判定する。未集計のメッセージがあると判定された場合（Ｙｅｓ）は、ステップＳ３０３に進む。未集計のメッセージがないと判定された場合（Ｎｏ）は、ステップＳ３０４に進む。
（ステップＳ３０３）学習出力数集計部２０４１は、集計値に「１」を加える。その後ステップＳ３０２に進む。
（ステップＳ３０４）学習出力数集計部２０４１は、集計値（学習データ情報）を学習結果情報ＤＢ２０５に記録する。その後終了処理に進む。
【００４６】
図１３は、本実施形態に係る分析処理の動作の一例を示すフローチャートである。
（ステップＳ４０１）分析情報生成部２０６は、入力部２０３から入力された分析条件情報及び取得メッセージ情報に基づいて、メッセージ分析対象期間内の分析ノード数Ａｎ、分析メッセージＩＤ数Ａｍ、分析単位集計時間数Ａｔ、及び分析日数Ａｄを算出する。ここで、分析ノード数Ａｎは、メッセージ分析対象期間内にメッセージを発信した管理対象ノードの数である。分析メッセージの識別情報数Ａｍは、メッセージ分析対象期間内に受信したメッセージの種類の数である。分析単位集計時間数Ａｔは、一日あたりの分析集計単位時間の数である。分析日数Ａｄは、メッセージ分析対象期間内の日数である。その後ステップＳ４０２に進む。
【００４７】
（ステップＳ４０２）分析情報生成部２０４は、分析ノード数カウンタＡｎｃ、分析メッセージの識別情報数カウンタＡｍｃ、分析単位集計時間数カウンタＡｔｃ、及び分析日数カウンタＡｄｃに「０」を代入する。その後ステップＳ４０３に進む。
（ステップＳ４０３）分析情報生成部２０４は、メッセージ分析期間内に未分析の管理対象ノードが残っているか否かを判定する。つまり、Ａｎｃ＜Ａｎであるか否かを判定する。Ａｎｃ＜Ａｎであると判定された場合（Ｙｅｓ）は、ステップＳ４０４に進む。Ａｎｃ≧Ａｎであると判定された場合（Ｎｏ）は、ステップＳ４１５に進む。
（ステップＳ４０４）分析情報生成部２０４は、ステップS４０３で未分析と判定された管理対象ノード（対象ノード）について未分析のメッセージの識別情報が残っているか否かを判定する。つまり、Ａｍｃ＜Ａｍであるか否かを判定する。Ａｍｃ＜Ａｍであると判定された場合（Ｙｅｓ）は、ステップＳ４０５に進む。Ａｎｃ≧Ａｎであると判定された場合（Ｎｏ）は、ステップＳ４０６に進む。
【００４８】
（ステップS４０５）分析情報生成部２０４は、ステップS４０４で未分析と判定されたメッセージの識別情報（対象メッセージ識別情報）について、未分析の分析集計単位時間（対象分析集計単位時間）が残っているか否かを判定する。つまり、Ａｔｃ＜Ａｔであるか否かを判定する。Ａｔｃ＜Ａｔであると判定された場合（Ｙｅｓ）は、ステップＳ４０６に進む。Ａｔｃ≧Ａｔであると判定された場合（Ｎｏ）は、ステップＳ４０８に進む。
（ステップＳ４０６）分析情報生成部２０４は、Ａｔｃに「１」を加える。その後ステップS４０７に進む。
（ステップＳ４０７）分析出力数集計部２０４１は、対象ノード、対象メッセージについて、分析集計単位時間内の取得メッセージ情報の数を計算する（集計処理と呼ぶ）。ステップＳ４０７における集計処理の詳細については後述する。その後ステップS２０５に進む。
【００４９】
（ステップＳ４０８）分析情報生成部２０４は、対象メッセージ識別情報について、未分析の分析対象日が残っているか否かを判定する。つまり、Ａｄｃ＜Ａｄであるか否かを判定する。Ａｄｃ＜Ａｄであると判定された場合（Ｙｅｓ）は、ステップＳ４０９に進む。Ａｄｃ≧Ａｄであると判定された場合（Ｎｏ）は、ステップＳ４１０に進む。
（ステップＳ４０９）分析情報生成部２０４は、Ａｄｃに「１」を加える。その後ステップS４０５に進む。
【００５０】
（ステップＳ４１０）分析判定部２０８は、学習結果情報ＤＢ２０５から最大最小値情報を読み出す。分析判定部２０８は、最大最小値情報が示す最大値と、ステップＳ４０７で計算した対象ノード、対象メッセージＩＤについての、対象分析集計単位時間内の分析集計値情報が示す分析集計値の数と、を比較する。分析集計値が最大値よりも大きいと判定した場合（Ｙｅｓ）はステップＳ４１２に進む。分析集計値が最大値よりも大きくないと判定した場合（Ｎｏ）は、ステップＳ４１１に進む。
（ステップＳ４１１）分析判定部２０８は、最大最小値情報が示す最小値と、ステップＳ４０７で計算した対象ノード、対象メッセージＩＤについての、対象分析集計単位時間内の分析集計値情報が示す分析集計値の数と、を比較する。分析集計値が最小値よりも小さいと判定した場合（Ｙｅｓ）はステップＳ４１２に進む。分析集計値が最小値よりも小さくない判定した場合（Ｎｏ）は、ステップＳ４１３に進む。
【００５１】
（ステップＳ４１２）分析判定部２０８は、分析集計値が最大値と最小値の間に含まれないことを示す判定不合格情報を生成する。分析判定部２０８は、判定不合格情報を含む分析結果情報を分析結果情報ＤＢ２０７に記録する。
（ステップＳ４１３）分析判定部２０８は、分析集計値が最大値と最小値の間に含まれることを示す判定合格情報を生成する。分析判定部２０８は、判定合格情報を含む分析結果情報を分析結果情報ＤＢ２０７に記録する。
【００５２】
（ステップＳ４１４）分析情報生成部２０４は、Ａｍｃに「１」を加える。その後ステップＳ４０４に進む。
（ステップＳ４１５）分析情報生成部２０４は、Ａｎｃに「１」を加える。その後ステップS４１５に進む。
（ステップＳ４１６）出力部２０９は、学習情報生成部２０４から、学習結果情報ＤＢ２０５に記録された学習データ情報及び最大最小値情報を入力される。出力部２０９は、分析判定部２０８から、分析結果情報ＤＢ２０７に記録された分析結果情報を入力される。出力部２０９は、学習データ情報、最大最小値情報、及び分析結果情報を表示する。その後終了処理に進む。
【００５３】
図１４は、出力部２０９が出力する学習結果を表示させるための条件入力画面の一例を示す説明図である。符号１４ａを付した表示は、メッセージ学習対象期間が２０１１年７月１日から２０１１年７月１０日であることを示している。符号１４ｂを付した表示は、学習対象とするノード名が「ｎｏｄｅ０１」であることを示している。符号１４ｃを付した表示は、学習対象とするメッセージＩＤが「．２０．２０．２０．２０」であることを示している。符号１４ｄを付した表示は、メッセージ本文が「認証エラー発生」であることを示している。つまり、メッセージＩＤ「．２０．２０．２０．２０」は「認証エラー発生」に対応することを示している。符号１４ｅを付した表示は、学習結果を２４時間単位で表示することを示している。
【００５４】
図１５は、出力部２０９が出力する学習結果表示の一例を示す説明図である。符号１５ａを付した表示は、メッセージ学習対象期間が２０１１年７月１日から２０１１年７月１０日であることを示している。符号１５ｂを付した表示は、学習対象とするノード名が「ｎｏｄｅ０１」であることを示している。符号１５ｃを付した表示は、学習対象とするメッセージＩＤが「．２０．２０．２０．２０」であることを示している。符号１５ｄを付した表示は、メッセージ本文が「認証エラー発生」であることを示している。符号１５ｅを付した点は、７月３日の１時〜２時の間のノード名が「ｎｏｄｅ０１」、メッセージＩＤが「．２０．２０．２０．２０」のメッセージ数が「２３」であったことを示している。符号１５ｆを付した点は、７月１０日の７時〜８時の間のノード名が「ｎｏｄｅ０１」、メッセージＩＤが「．２０．２０．２０．２０」のメッセージ数が「１９」であったことを示している。符号１５ｇを付した線は、メッセージ学習対象期間内の管理対象ノード、及びメッセージＩＤ毎のメッセージ数の最大値を結ぶ線を示している。符号１５ｈを付した線は、メッセージ学習対象期間内の管理対象ノード、及びメッセージ毎、のメッセージ数の最小値を結ぶ線を示している。
【００５５】
図１６は、出力部２０９が出力する分析結果を表示させるための条件入力画面の一例を示す説明図である。符号１６ａを付した表示は、メッセージ学習対象期間が２０１１年７月１日から２０１１年７月１０日であることを示している。符号１６ｂを付した表示は、分析対象とするノード名が「ｎｏｄｅ０１」であることを示している。符号１６ｃを付した表示は、分析対象とするメッセージＩＤが「．２０．２０．２０．２０」であることを示している。符号１６ｄを付した表示は、メッセージ本文が「認証エラー発生」であることを示している。つまり、メッセージＩＤ「．２０．２０．２０．２０」は「認証エラー発生」に対応することを示している。符号１６ｅを付した表示は、分析結果を２４時間単位で表示することを示している。
【００５６】
図１７は、出力部２０９が出力する分析結果表示の一例を示す説明図である。符号１７ａを付した表示は、メッセージ学習対象期間が２０１１年７月１日から２０１１年７月１０日であることを示している。符号１７ｂを付した表示は、学習対象とするノード名が「ｎｏｄｅ０１」であることを示している。符号１７ｃを付した表示は、学習対象とするメッセージＩＤが「．２０．２０．２０．２０」であることを示している。符号１７ｄを付した表示は、メッセージ本文が「認証エラー発生」であることを示している。符号１７ｅを付した点は、「７月３日の１時〜２時」の間のノード名が「ｎｏｄｅ０１」、メッセージＩＤが「．２０．２０．２０．２０」のメッセージ数が「２３」であったことを示している。符号１７ｆを付した点は、７月１０日の７時〜８時の間のノード名が「ｎｏｄｅ０１」、メッセージＩＤが「．２０．２０．２０．２０」のメッセージ数が「１９」であったことを示している。符号１７ｇを付した線は、メッセージ学習対象期間内の管理対象ノード、及びメッセージ毎のメッセージ数の最大値を結ぶ線を示している。符号１７ｈを付した線は、メッセージ学習対象期間内の管理対象ノード、及びメッセージ毎のメッセージ数の最小値を結ぶ線を示している。
【００５７】
符号１７ｉを付した表示は、分析対象日を「７月１１日」としたことを示している。符号１７ｊを付した点は、分析対象日が「７月１１日」、ノード名が「ｎｏｄｅ０１」、メッセージＩＤが「．２０．２０．２０．２０」の集計値が「２５」であることを示している。符号１７ｋを付した点は、メッセージ学習対象期間内の管理対象ノード、及びメッセージ毎のメッセージ数の最大値が「２４」であることを示している。符号１７ｌを付した表示は、分析対象日に、メッセージ学習対象期間内の管理対象ノード、及びメッセージ毎のメッセージ数の最大値を超える集計値があったため、「分析結果：普段と異なる振る舞いを検出しました」と表示している。これにより、利用者は、指定した分析対象日、ノード名、メッセージＩＤにおいて、メッセージ学習期間に学習した最大値より大きな集計値となったことを知ることができる。
【００５８】
このように、本実施形態によれば、メッセージ取得部２０１が、管理対象ノード１０１〜１０３が出力した情報を取得する。分析判定部２０８が、メッセージ取得部２０１が取得したメッセージの数に基づいて、管理対象ノード１０１〜１０３の異常を検知する。本構成によれば、運用管理システム２０は、運用管理システム２０は、管理対象ノード１０１〜１０３が元来出力するメッセージに基づいて管理対象ノード１０１〜１０３の異常を検知する。これにより、管理対象システムに新たな設定変更や情報収集負荷を加えることなく、簡易に管理対象ノードの異常を検知することが可能となる。
【００５９】
また、本実施形態によれば、学習情報生成部２０４は、メッセージの数を記憶する。分析判定部２０８は、学習情報生成部２０４が算出したメッセージの数の履歴と、現在のメッセージの数とに基づいて、管理対象ノード１０１〜１０３の異常を検知する。これにより、メッセージ数の履歴に基づいて管理対象ノード１０１〜１０３が異常であるか否かを検知するため、異常の検知精度が向上する。
【００６０】
また、本実施形態によれば、学習情報生成部２０４は、指定した期間内における管理対象ノード毎、メッセージの識別情報毎、単位学習集計時間毎のメッセージの数の最大値、又は最小値を算出する。分析判定部２０８は、現在のメッセージ数が、最大値、最小値の間の値であるか否かに基づいて管理対象ノード１０１〜１０３の異常を検知する。これにより、現在のメッセージの数が学習期間におけるメッセージの数の最大値、最小値を逸脱したか否かに基づいて管理対象ノード１０１〜１０３が異常であるか否かを検知するため、異常の検知精度が向上する。
【００６１】
なお、分析判定部２０８は、学習結果情報ＤＢ２０５から読み出した最大最小値情報と分析情報生成部２０６が生成した分析データ情報とに基づいて分析対象が正常であるか否かを判定した。しかしながら、判定の仕方は上記に限られず、例えば、分析データ情報が、予め定めた閾値よりも大きい、または、予め定めた閾値よりも小さいことに基づいて正常であるか否かを判定してもよい。
なお、タイムスタンプとは、管理対象ノード１０１〜１０３がメッセージを生成した時刻に限られず、管理対象ノード１０１〜１０３がメッセージを送信した時刻でも、運用管理システム２０がメッセージを取得した時刻でもよい。
【００６２】
なお、学習情報生成部２０４及び分析情報生成部２０６は、メッセージの識別情報毎に出力数を計算したが、メッセージの識別情報及びメッセージ本文に記載されたメッセージの内容が示す情報に基づいてメッセージを識別し、その出力数を計算してもよい。
なお、本実施形態では、メッセージ情報の蓄積と、蓄積された情報を用いた学習、分析を同一の運用管理装置２０で行ったが、各々を別の端末装置で行ってもよい。この場合、メッセージ情報蓄積を行うサーバと、学習、分析を行う端末と、をネットワークによって接続してもよい。
【００６３】
（第２の実施形態）
以下、図面を参照しながら本発明の第２の実施形態について詳しく説明する。
本実施形態では、運用管理装置が、分析処理の中で判定プログラムを実行し、判定プログラムによって異常が起こっていると判定された時間に取得されたメッセージを学習結果情報に反映させない場合について説明する。
図１８は、本実施形態に係る運用管理装置２１ａの構成を示す概略ブロック図である。
運用管理装置２１ａは、第１の実施形態における運用管理装置２１とは、メッセージＤＢ２０２ａ、学習情報生成部２０４ａ、学習情報生成部２０６ａ、分析判定部２０８ａが異なる。しかし、他の構成は、第１の実施形態における運用管理装置２１と同様であるため、説明を省略する。
【００６４】
メッセージＤＢ２０２ａは、メッセージ取得部２０１から入力された取得メッセージ情報を記録する。メッセージＤＢ２０２ａは、分析判定部２０８ａから取得メッセージ情報が異常であることを示すメッセージ異常情報を入力されたとき、その対応する取得メッセージ情報にメッセージ異常フラグを付する。なお、メッセージ異常情報については後述する。取得メッセージ情報とメッセージ異常フラグを関連付けた情報をメッセージ情報と呼ぶ。また、メッセージＤＢ２０２が記録するメッセージ情報の詳細については後述する。
【００６５】
学習情報生成部２０４ａは、学習出力数集計部２０４１ａの構成が第１の実施形態と異なる。学習情報生成部２０４ａの詳細については後述する。
分析情報生成部２０６ａは、分析出力数集計部２０６１ａの構成が第１の実施形態と異なる。分析情報生成部２０６ａの詳細については後述する。
【００６６】
分析判定部２０８ａは、学習分析比較部２０８０及び診断プログラム実行部２０８１ａを含んで構成される。
分析判定部２０８ａは、分析データ情報が正常であるか否かを判定する。分析判定部２０８ａは、学習結果情報ＤＢ２０５に記録された最大最小値情報と、分析結果情報ＤＢ２０７から読み出した分析データ情報に基づいて、分析対象が正常であるか否かを判定する。
分析判定部２０８ａは、分析データ情報が異常であると判定された場合には、診断プログラムを実行する。分析判定部２０８ａは、診断プログラムが診断した診断結果が異常と判定された場合には、メッセージ異常情報をメッセージＤＢ２０２ａに記録する。また、分析判定部２０８ａは、診断プログラムが診断した診断結果に基づいて、最大最小値情報を補正する。分析判定部２０８ａは、分析結果を分析結果情報ＤＢ２０７に記録し、出力部２０９に出力する。
なお、分析判定部２０８ａの詳細については後述する。
【００６７】
図１９は、学習情報生成部２０４ａの構成の一例を示したブロック図である。本実施形態における学習情報生成部２０４ａは、学習出力数集計部２０４１ａが異なることを除いて第１の実施形態の学習情報生成部２０４と同様である。第１の実施形態と同様である部分については説明を省略する。
学習出力数集計部２０４１ａは、学習メッセージ情報抽出部２０４０から入力された特定の管理対象ノード、特定のメッセージ、及び特定の学習集計単位時間毎に収集したメッセージ情報の数を集計する。この際、メッセージ異常フラグが付されたメッセージ情報は集計に加えない。学習出力数集計部２０４１は、集計された値を示す集計値情報と、ノードＩＤと、メッセージの識別情報とを関連付けた情報（学習データ情報）を学習結果情報ＤＢ２０５に記録する。学習出力数集計部２０４１ａは、集計終了情報を学習メッセージ情報抽出部２０４０に出力する。
【００６８】
図２０は、分析情報生成部２０６ａの構成の一例を示したブロック図である。本実施形態における分析情報生成部２０６ａは、分析出力数集計部２０６１ａが異なることを除いて第１の実施形態の学習情報生成部２０４と同様である。第１の実施形態と同様である部分については説明を省略する。
分析出力数集計部２０６１ａは、分析メッセージ情報抽出部２０６０から入力された特定の管理対象ノード、特定のメッセージ、特定の学習集計単位時間に収集したメッセージ情報の数を集計する。この際、メッセージ異常フラグが付されたメッセージ情報は集計に加えない。分析出力数集計部２０６１は、集計された値を示す集計値情報と、ノード名と、メッセージＩＤと、学習集計単位時間と、を関連付けた情報（分析データ情報）を分析結果情報ＤＢ２０７ａに記録する。
【００６９】
図２１は、分析判定部２０８ａの構成の一例を示したブロック図である。
分析判定部２０８ａは、学習分析比較部２０８０ａ及び診断プログラム実行部２０８１ａを含んで構成される。
学習分析比較部２０８０ａは、学習結果情報ＤＢ２０５から最大最小値情報を読み出す。学習分析比較部２０８０ａは、分析結果情報ＤＢ２０７から分析データ情報を読み出す。学習分析比較部２０８０ａは、最大最小値情報が示す学習メッセージ集計値情報と、分析メッセージ集計値情報と、をノード名、メッセージＩＤ、及び分析単位時間毎に比較する。
学習分析比較部２０８０は、分析集計値情報が示す分析集計値が、最大最小値情報が示す最大値と最小値の間に含まれるか否かを判定する。分析集計値が、最大最小値情報が示す最大値と最小値の間に含まれないと判定された場合は、診断プログラム実行部２０８１ａに診断プログラムを実行させる逸脱情報を出力する。逸脱情報には、ノード名、メッセージＩＤ、分析単位時間情報が含まれる。
【００７０】
診断プログラム実行部２０８１ａは、学習分析比較部２０８０ａから逸脱情報を入力されたときに、逸脱情報が示す管理対象ノードに対する診断プログラムを実行する。診断プログラム実行部２０８１ａは、例えば、Ｐｉｎｇプログラムにより診断を行う。つまり、診断プログラム実行部２０８１ａは、逸脱情報が示す管理対象ノードに対して、応答要求パケットを送信する。診断プログラム実行部２０８１ａは、対象となる管理対象ノードから応答パケットを受信することで、その管理対象ノードへの到達を確認し、逸脱情報が示す管理対象ノードが正常に稼動しているか否かを判定する。管理対象ノードが正常に稼動していないと判定された場合は、診断プログラム実行部２０８１は、その管理対象ノードが異常であることを示すメッセージ異常情報をメッセージＤＢ２０２に記録する。
【００７１】
図２２は、メッセージＤＢ２０２ａに記録される取得メッセージ情報テーブルの一例を説明する概略図である。メッセージ取得部２０１から入力された取得メッセージ情報及び診断プログラム実行部２０８１から入力されたメッセージ異常情報は、メッセージ情報テーブルに記録される。
図示するようにメッセージ情報テーブルは、タイムスタンプ、メッセージＩＤ、ノード名、メッセージ本文、及びメッセージ異常フラグの各項目の列を有している。メッセージ情報テーブルは、タイムスタンプ毎にメッセージＩＤ、ノード名、メッセージ本文、メッセージ異常フラグが格納される行と列からなる２次元の表形式のデータである。
【００７２】
符号２２ａを付したメッセージ情報は、タイムスタンプが、「２００７年７月１５日７時５１分１１秒」に、メッセージＩＤが「．１０．１０．１０．１０」であるメッセージを、ＩＰアドレス「１９２．１６８．１．３０」を持つ管理対象ノードから送信され、そのメッセージ本文が、「コールデータ転送終了」であることを示す。メッセージ異常フラグは、このメッセージ情報が正常であることを示している。
符号２２ｂを付したメッセージ情報は、タイムスタンプが、「２００７年７月１６日２２時３４分１３秒」に、メッセージＩＤが「．２０．２０．２０．２０」であるメッセージを、ＩＰアドレス「１９２．１６８．１．５０」を持つ管理対象ノードから送信され、そのメッセージ本文が、「認証エラー発生」であることを示す。メッセージ異常フラグは、このメッセージ情報が異常であることを示している。
【００７３】
図２３は、本実施形態に係る運用管理システム２０ａの処理の一例を示すフローチャートである。本実施形態に係る運用管理システム２０ａの処理は、ステップS１０３ａ及びステップＳ１０５ａを除いて、第１の実施形態における運用管理システム２０の処理（図１０）と同様であるので説明は省略する。ステップS１０３ａ及びステップＳ１０５ａの処理については後述する。
【００７４】
図２４は、図２３におけるステップＳ１０３ａの処理の一例を示すフローチャートである。本実施形態に係るステップＳ１０３ａの処理は、ステップＳ２０７ａを除いて、第１の実施形態におけるステップＳ１０３の処理（図１１）と同様であるので説明は省略する。ステップS２０７ａの処理については後述する。
【００７５】
図２５は、図２３におけるステップＳ１０５ａの処理の一例を示すフローチャートである。本実施形態に係るステップＳ１０３ａの処理は、ステップＳ４０７ａ、ステップＳ４１０ａ、ステップＳ４１１ａ、ステップS４１１１ａ、ステップＳ４１１２ａ、及びステップＳ４１２ａを除いて、第１の実施形態におけるステップＳ１０３の処理（図１１）と同様である。ステップＳ４０７ａは図２４におけるステップＳ２０７ａの処理と同様である。
（ステップＳ４１０ａ）分析判定部２０８は、最大最小値情報が示す最大値と、ステップＳ４０７で計算した集計値とを比較する。集計値が最大値よりも大きいと判定した場合（Ｙｅｓ）はステップＳ４１１１ａに進む。集計値が最大値よりも大きくないと判定した場合（Ｎｏ）は、ステップＳ４１１ａに進む。
【００７６】
（ステップＳ４１１ａ）分析判定部２０８は、最小値とステップＳ４０７で計算した集計値の数とを比較する。集計値が最小値よりも小さいと判定した場合（Ｙｅｓ）はステップＳ４１１１ａに進む。分析集計値が最大値よりも小さくない判定した場合（Ｎｏ）は、ステップＳ４１３に進む。
（ステップＳ４１１１ａ）学習分析比較部２０８０ａは、診断プログラム実行部２０８１ａに、逸脱情報を出力する。診断プログラム実行部２０８１ａは、入力された逸脱情報が示す管理対象ノードに対して、Ｐｉｎｇプログラムを実行する。診断プログラム実行部２０８１ａは、Ｐｉｎｇプログラムに対する応答パケットを予め定めた時間内に受信したか否かを判定する。予め定めた時間内に受信した場合（Ｙｅｓ）は、ステップＳ４１２に進む。予め定めた時間内に受信しなかった場合（Ｎｏ）は、ステップＳ４１１２ａに進む。
（ステップＳ４１１２ａ）分析判定部２０８ａは、メッセージＤＢ２０２ａに、逸脱情報が示す分析対象日に出力されたすべてのメッセージが異常であることを示すメッセージ異常情報を記録する。その後ステップＳ４１４に進む。
【００７７】
図２６は、図２４におけるステップＳ２０７ａ及び図２５におけるステップＳ４０７ａの処理（集計処理）を示すフローチャートである。
ステップＳ３０１〜ステップＳ３０４の処理は、図１２におけるステップＳ３０１〜ステップＳ３０４と同様の処理であるので説明は省略する。
（ステップＳ３０１１ａ）学習出力数集計部２０４１は、メッセージ情報にメッセージ異常フラグが設定されていないか否かを判定する。メッセージ異常フラグが設定されていない場合(Ｙｅｓ)は、ステップＳ３０１１ｂに進む。メッセージ異常フラグが設定されている場合（Ｎｏ）は、ステップＳ３０３に進む。
（ステップＳ３０１１ｂ）学習出力数集計部２０４１は、最大最小値情報が示す最大値より集計値が大きいか否かを判定する。最大値より集計値が大きい場合（Ｙｅｓ）は、ステップＳ３０１１ｃに進む。最大値が集計値以下の場合（Ｎｏ）は、ステップＳ３０１１ｄに進む。
（ステップＳ３０１１ｃ）学習出力数集計部２０４１は、最大値を変更する。具体的には、その対応するノード名、メッセージＩＤ、及び学習集計単位時間毎に設けられた最大値に集計値を代入する。その後ステップＳ３０２に進む。
（ステップＳ３０１１ｄ）学習出力数集計部２０４１は、学習結果情報ＤＢ２０５から最大最小値情報を読み出す。学習出力数集計部２０４１は、最大最小値情報が示す最大値より学習集計値が大きいか否かを判定する。最大値より集計値が小さい場合（Ｙｅｓ）は、ステップＳ３０１１ｅに進む。最大値が集計値以下の場合（Ｎｏ）は、ステップＳ３０３に進む。
（ステップＳ３０１１ｅ）学習出力数集計部２０４１は、最小値を変更する。具体的には、その対応するノード名、メッセージＩＤ、及び学習集計単位時間毎に設けられた最小値に集計値を代入する。その後ステップＳ３０３に進む。
【００７８】
このように、本実施形態によれば、分析判定部２０８ａは、現在のメッセージの出力数が最大値と最小値の間の値でないと判定した場合に、管理対象ノード１１〜１３の異常を診断する診断プログラムを自動的に起動し、診断した結果を表示する。これにより、分析判定部２０８ａは、現在のメッセージの出力数が最大値と最小値の間の値でないと判定した場合であっても、診断プログラムが正常であると判定した場合には、管理者に異常でないことを報知する。したがって、管理者の知識や経験に頼ることなく管理対象ノードの異常を検知することができる。
【００７９】
また、本実施形態によれば、分析判定部２０８ａは、診断プログラムが診断した結果に基づいて、最大値又は最小値を補正する。分析判定部２０８ａは、以後補正後の最大値または補正後の最小値に基づいて管理対象ノード１０１〜１０３の異常を診断する。これにより、より確実な判定を行うことが可能となる。
【００８０】
また、分析判定部２０８ａは、診断プログラムが診断した状態に基づいて、最大値又は最小値を補正し、補正後の最大値、又は補正後の最小値に基づいて管理対象ノードの状態を検知する。これにより、現在の集計値が最大値よりも大きい、又は最小値よりも小さい値を得た場合であっても、診断の結果、管理対象ノードが正常であると判定された場合は、最大値、または最小値を集計値の値で置き換える。これにより、以後より確実な判定を行うことが可能となる。
【００８１】
なお、本実施形態では、逸脱情報が示す分析対象日に出力されたすべてのメッセージが異常であると判定し、メッセージＤＢ２０２ａに記録されたメッセージ情報のメッセージ異常フラグを異常としたが、例えば、逸脱情報が示す時刻の前後の予め定められた時間内のメッセージ情報のメッセージ異常フラグを異常としてもよい。また、実際に異常と判定されたメッセージの識別情報のみについて、メッセージ情報のメッセージ異常フラグを異常としてもよい。
【００８２】
なお、メッセージ異常情報は、異常が発生した分析実行日のすべての取得データを異常とするものでもよい。また、異常が発生した分析実行日の異常が発生した管理対象ノードからの取得データを異常とするものでもよい。また、異常が発生した分析実行日の異常が発生した管理対象ノードからの、異常が発生したメッセージのみを異常とするものでもよい。また、異常が発生した分析実行日の異常が発生した管理対象ノードからの、異常が発生したメッセージの、異常が発生した時刻の前後のある定められた時間、又は、発生した時刻から予め定められた時間に取得した取得データのみを異常とするものであってもよい。また、これらの組み合わせであってもよい。
【００８３】
なお、分析指示を入力されたときに、まず学習処理を行い、その後分析処理を行うようにしてもよい。分析処理の直前に学習処理を行うことにより、最新の学習結果に基づいて分析処理を行うことが可能となり、判定の信頼性が高まる。
なお、本実施形態では、集計値が正常範囲から逸脱した場合、その学習集計単位時間の最大値、最小値のみを変更したが、集計値が正常範囲から逸脱した場合、その分析対象日のすべての学習集計単位時間の最大値、最小値を変更してもよい。
【００８４】
なお、分析集計単位時間は、その時間を分析集計単位時間として指定された時間より長くしてもよい。その場合、時間的に連続する分析集計単位時間同士には時間的に重なる部分が生ずる。これにより、分析集計単位時間が切り替わる（次の分析集計時間が開始する）瞬間に発生するメッセージが、ある場合は前の分析集計単位時間に集計され、またある場合は、後の分析集計単位時間に集計されることにより学習データ情報が不正確になることを防ぐことができる。
なお、診断プログラム実行部２０８１ａが実行するプログラムは、管理対象ノード１０１〜１０３の自己診断プログラムを実行させるプログラムや、管理対象ノード１０１〜１０３が生成したコアファイルを取得するプログラムでもよい。
【符号の説明】
【００８５】
１０・・・管理対象システム、２０・・・運用管理システム、１１〜１３・・・管理対象ノード、２１、２１ａ・・・運用管理装置、２２・・・運用管理端末、２０１・・・メッセージ取得部、２０２、２０２ａ・・・メッセージ記憶部、２０３・・・入力部、２０４、２０４ａ・・・学習情報生成部、２０５・・・学習結果情報記憶部、２０６、２０６ａ・・・分析情報生成部、２０７・・・分析結果情報記憶部、２０８、２０８ａ・・・分析判定部、２０９・・・出力部、２０４０・・・学習メッセージ情報抽出部、２０４１、２０４１ａ・・・学習出力数集計部、２０４２・・・最大最小値抽出部、２０６０・・・分析メッセージ情報抽出部、２０６１、２０６１ａ・・・分析出力数集計部、２０８０、２０８０ａ・・・学習分析比較部、２０８１ａ・・・診断プログラム実行部
【図１】
0005753460.tif 000002
【図２】
0005753460.tif 000003
【図３】
0005753460.tif 000004
【図４】
0005753460.tif 000005
【図５】
0005753460.tif 000006
【図６】
0005753460.tif 000007
【図７】
0005753460.tif 000008
【図８】
0005753460.tif 000009
【図９】
0005753460.tif 000010
【図１０】
0005753460.tif 000011
【図１１】
0005753460.tif 000012
【図１２】
0005753460.tif 000013
【図１３】
0005753460.tif 000014
【図１４】
0005753460.tif 000015
【図１５】
0005753460.tif 000016
【図１６】
0005753460.tif 000017
【図１７】
0005753460.tif 000018
【図１８】
0005753460.tif 000019
【図１９】
0005753460.tif 000020
【図２０】
0005753460.tif 000021
【図２１】
0005753460.tif 000022
【図２２】
0005753460.tif 000023
【図２３】
0005753460.tif 000024
【図２４】
0005753460.tif 000025
【図２５】
0005753460.tif 000026
【図２６】
0005753460.tif 000027