(57)【要約】【課題】出現パターンの差に表れる異常が監視対象の対象装置に発生したか否かを判定する。【解決手段】対象装置に定期的に行われる構成変更の最近の変更時刻ｔＮから現在の時刻を含む第１の世代Ｓ１に対応する処理システムからのメッセージログ（現在のログ）Ｌ１を抽出する。当該第１の世代Ｓ１よりも過去の第２の世代Ｓ２に対応するメッセージログ（過去のログ）Ｌ２を抽出する。現在のログＬ１の中のメッセージログの出現パターンＭ１を見つける。過去のログＬ２の中のメッセージログの出現パターンＭ２を見つける。出現パターンＭ１と出現パターンＭ２との差を求めることにより、出現パターンの差に表れる異常Ｎが対象装置に発生したか否かを判定する。【選択図】図１３
2015097047.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定する決定部と、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出する抽出部と、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得する取得部と、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する判定部と、
を含む判定装置。
【請求項２】
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定する決定部と、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出する抽出部と、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得する取得部と、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する判定部と、
を含む判定装置。
【請求項３】
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定プログラム。
【請求項４】
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定プログラム。
【請求項５】
前記第１の期間には現在時刻が属する請求項４に記載の判定プログラム。
【請求項６】
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定方法。
【請求項７】
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、判定プログラム、及び判定方法に関する。
【背景技術】
【０００２】
従来、監視装置（ログ監視ソフトウェア）が、被監視対象の処理システムのログを監視し、異常の発生の有無を判断し、一定レベルの異常（障害）が発生した場合に、当該発生した障害を処理システムに通知するサービスを提供している。具体的には次の通りである。
【０００３】
まず、被監視対象の処理システムは複数の処理装置を含む。複数の処理装置の各々は、各処理装置に動作が生じた場合に、当該動作を示す動作データ（メッセージ）と、当該動作が生じた時刻のデータ（時刻データ）とを対応して、監視装置に送信する。メッセージと時刻データとを含むデータは、Ｓｙｓｌｏｇ等のメッセージログと言われる。監視装置は、処理システムを被監視対象として、メッセージログに基づいて、処理システム内の処理装置に異常が生じているか否かを判断（監視）する。異常の中には、処理システムに通知するまでもない低いレベルの異常と、異常のレベルが深刻であるため処理システムに通知する必要がある高いレベルの異常がある。ここで、高いレベルの異常は障害と言う。監視装置は、処理システム内の処理装置に障害が発生した場合に、障害が発生したことを通知する。
【０００４】
ところで、異常の発生の検知方法として、アノマリ検知が行われている。即ち、監視装置は、例えば、ある性能データに急峻な変化を発見することにより異常を検知する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１０３３０２号公報
【特許文献２】特開２００１−２９２１４３号公報
【特許文献３】特開２００６−３１８０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、システムの異常としては、ある１つの種類の動作の変化に現れる異常ばかりではなく、異なる複数の種類の動作の関係に現れる異常もある。上記アノマリ検知では、ある１つの種類の動作の変化を抽出しているので、異なる複数の種類の動作の関係に現れる異常を検知することができない。
【０００７】
１つの側面として、異なる複数の種類の動作の関係に現れる異常が監視対象の対象装置に発生したか否かを判定することが目的である。
【課題を解決するための手段】
【０００８】
１つの態様では、被監視対象の対象装置には、対象装置の動作状態に影響を及ぼす変更が定期的に行われる。
決定部は、最近の変更時刻と対象装置に定期的に行われた変更の定期的間隔時間とに基づいて、最近の変更時刻以後の第１の期間と、第１の期間よりも過去の期間であって少なくとも１つの定期的間隔時間を含む第２の期間とを決定する。最近の変更時刻と定期的間隔時間とは、記憶部に記憶されている。最近の変更時刻は、対象装置に定期的に変更が行われた時刻の内の最も現在時刻に近い変更時刻である。
抽出部は、記憶部に記憶された複数の状態データから、第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出する。複数の状態データは、対象装置から対象装置に動作がある毎に送信されかつ対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させたデータである。
取得部は、抽出された第１の状態データ群及び第２の状態データ群の各々の状態データの出現パターンを取得する。
判定部は、取得された第１の状態データ群及び第２の状態データ群の各々の出現パターンに基づいて、第１の期間に、出現パターンの差に表れる異常が対象装置に発生したか否かを判定する。
【発明の効果】
【０００９】
１つの側面として、異なる複数の種類の動作の関係に現れる異常が監視対象の対象装置に発生したか否かを判定することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】監視システムのブロック図である。
【図２】監視装置１２のブロック図である。
【図３】監視装置１２のＲＯＭ３１に記憶されたログ分析比較プログラムの機能部を示した図である。
【図４】ログ分析比較プログラムのプロセスを示した図である。
【図５】ログ分析比較処理の一例を示すフローチャートである。
【図６】世代生成部５２が実行する、図５のステップ８２の世代を生成する世代生成処理の一例を示すフローチャートである。
【図７】（Ａ）〜（Ｄ）のそれぞれは、世代生成処理のステップ１０２〜１１０の具体的処理を説明する図である。
【図８】図７のステップ１１２のスコアを計算するスコア計算処理の一例を示すフローチャートである。
【図９】（Ａ）〜（Ｃ）のそれぞれは、図８のスコア計算処理のステップ１３２〜１３６の具体的処理を、（Ｄ）は、ステップ１３８、１４０の計算式を説明し、（Ｅ）は、ステップ１３８の判定結果が肯定判定となる場合を示し、（Ｆ）は、ステップ１４０の判定結果が肯定判定となる場合を示し、（Ｇ）は、ステップ１３８、１４０の判定結果が肯定判定となる場合を示す図である。
【図１０】図７のステップ１１２のスコアを計算するスコア計算処理の別の一例を示すフローチャートである。
【図１１】図１０のスコア計算処理の具体的処理を示す図である。
【図１２】図５のステップ８４のログ抽出処理の一例を示すフローチャートである。
【図１３】図１２のログ抽出処理の具体的処理を示す図である。
【図１４】（Ａ）は、本実施の形態の比較するログの世代を示す図であり、（Ｂ）は、第１の変形例の比較するログの世代を示す図である。
【図１５】メッセージログの出現パターンを決める要素として、出現したメッセージログ間の時間の統計値をも用いる第３の変形例の具体的データの内容を示す図であり、（Ａ）は、メッセージログ、（Ｂ）は、現在のログＬ１におけるメッセージログから抽出された出現パターン、（Ｃ）は、過去のログＬ２におけるメッセージログから抽出された出現パターン、（Ｄ）は、２次記憶装置３４に記憶する異常の内容を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
［第１実施形態］
図１には、監視システムのブロック図が示されている。図１に示すように、監視システムは、インターネット等のネットワーク１０により接続された監視装置１２と、複数の処理装置１６、１８、・・・２０を有する処理システム１４とを備えている。
監視装置１２は、本開示の技術の判定装置の一例である。
【００１２】
複数の処理装置１６、１８、・・・２０の各々は、各処理装置１６、１８、・・・２０に動作が生じた場合に、当該動作を示す動作データ（メッセージ）と、当該動作が生じた時刻のデータ（時刻データ）とを対応させて、監視装置１２に送信する。メッセージと時刻データとを含むデータは、Ｓｙｓｌｏｇ等のメッセージログと言われる。監視装置１２の後述する通信制御部４８（図２）は、複数の処理装置１６、１８、・・・２０の各々から送信されたメッセージログを受信する。
なお、複数の処理装置１６、１８、・・・２０は、本開示の技術の対象装置の一例である。メッセージログは、本開示の技術の状態データの一例である。
【００１３】
上記動作には、例えば、当該処理装置のシステムが起動したこと、ディスクを認識したこと、ＮＩＣ（Network Interface Card：ネットワークインターフェースカード）を認識したこと、及びＷｅｂサーバが起動したこと等が含まれる。
【００１４】
また、上記動作には、通常予定された状態とは異なる状態である異常も含まれる。異常には、ハードディスク等が壊れた等のハードウエアを由来とする第１の異常が含まれる。また、異常には、ＩＰアドレスの誤設定等の人為的な設定の誤りや、元のプログラムに誤り（バグ）が含まれていること等のソフトウェアを由来とする第２の異常が含まれる。更に、異常には、上記第１の異常と第２の異常とが複合された第３の異常が含まれる。第３の異常には、例えば、データを記憶する記憶装置の故障（第１の異常）が生じ、予備の記憶装置にデータを記憶させる場合に、予備の記憶装置へのデータの記憶のための設定に誤りがあった（第２の異常）場合等である。
【００１５】
監視装置１２は、処理システム１４を被監視対象として、メッセージログに基づいて、処理システム１４内の複数の処理装置１６、１８、・・・２０に異常が生じているか否か、更にはどのような異常が生じているかを判断（監視）する。
【００１６】
ところで、異常の中には、処理システム１４に通知するまでもない低いレベルの異常と、異常のレベルが深刻であるため処理システム１４に通知する必要がある高いレベルの異常がある。上記のように高いレベルの異常は障害と言われる。監視装置１２は、処理システム１４内の複数の処理装置１６、１８、・・・２０に障害が発生した場合に、障害が発生したことを処理システム１４に通知する。監視装置１２は、所謂、ログ監視ソフトウェアの役割を有する。
【００１７】
後述するように、ログ分析比較処理は、異なる複数の動作の関係、具体的にはメッセージログの出現パターンの差に表れる異常を判定するものである。出現パターンの差に表れる異常が発生したことを検知した場合には、上記障害の発生の通知の際に、出現パターンの差に表れる異常が発生したことを、処理システム１４に通知する。
【００１８】
また、出現パターンの差に表れる異常が発生したことを検知した場合には、上記障害の発生の通知と共に処理システム１４に通知することに限定されない。例えば、定期的（例えば、１日ごと）に出現パターンの差に表れる異常を判定し、その結果を処理システム１４に定期的に通知することができる。また、出現パターンの差に表れる異常の判定は不定期に行い、その結果は、処理システム１４に定期的に通知することができる。
また、出現パターンの差に表れる異常を判定する処理を常時実行するのではなく、処理システム１４側から依頼があった場合に行ってもよい。
【００１９】
監視装置１２と、複数の処理装置１６、１８、・・・２０とはそれぞれ同様の構成であるので、以下、監視装置１２の構成を説明する。
図２には、監視装置１２のブロック図が示されている。図２に示すように、監視装置１２は、ＣＰＵ（中央処理装置：Central Processing Unit）３０、ＲＯＭ（Read Only Memory）３１、及びメモリ３２が、バス３６を介して相互に接続されている。バス３６には更に、２次記憶装置３４、磁気ディスクドライブ３８、表示制御部４２を介して表示装置４４、入力装置４６、及び通信制御部４８が接続されている。表示装置４４としては、液晶表示装置（ＬＣＤ）、ブラウン管（ＣＲＴ）、有機エレクトロルミネセンス表示装置（ＯＥＬＤ）、プラズマディスプレイパネル（ＰＤＰ）、電界放出ディスプレイ（ＦＥＤ）等が適用できる。入力装置４６としては、キーボード（keyboard）やマウス（mouse）などが適用できる。２次記憶装置３４には、メッセージログを記憶するためのログ保存部３４Ａ、及び世代情報を記憶するための世代情報記憶部３４Ｂが設けられている。
【００２０】
ところで、処理システム１４における、複数の処理装置１６、１８、・・・２０の各々は、定期的に構成が変更される。例えば、オペレーティングシステム（Operating System, OS）が改良されたり、各処理装置１６、１８、・・・２０の各々が記憶する業務プログラムが改良されたり、される。なお、これらの改良は、古いプログラムに、古いプログラムと新しいプログラムとの差分プログラムが適用される、即ち、所謂、パッチがあてられることにより、行われる。処理システム１４は、監視装置１２に、上記システムの構成の変更が完了した複数の変更時刻（後述する時刻ｔＡ、ｔＢ、ｔＣ（図７（Ａ）参照）のデータを送信する。監視装置１２では、受信した複数の変更時刻のデータが、２次記憶装置３４に記憶されている。なお、オペレータが入力装置４６を介して複数の変更時刻を入力することができる。
２次記憶装置３４は、本開示の技術の記憶部の一例である。
【００２１】
図３には、監視装置１２のＲＯＭ３１に記憶されたログ分析比較プログラムの機能部が示される。ログ分析比較プログラムの機能部は、後述する複数の世代の各々の合致度を計算する世代合致度計算部５４を備えている。ログ分析比較プログラムの機能部は、上記メッセージログ、上記複数の変更時刻のデータ、及び上記複数の世代の各々の合致度に基づいて、世代情報を生成する世代生成部５２を備えている。ログ分析比較プログラムの機能部は、世代生成部５２により生成さえた世代情報に基づいて、現在の世代のメッセージログと、過去の世代のメッセージログとを、ログ保存部３４Ａから抽出するログ抽出部５６を備えている。ログ分析比較プログラムの機能部は、上記抽出された現在の世代のメッセージログに基づいて、関連するメッセージの出現パターンを検出するように、現在の世代のメッセージログを関連分析する第１関連分析部５８Ｓ１を備えている。ログ分析比較プログラムの機能部は、上記抽出された過去の世代のメッセージログに基づいて、関連するメッセージの出現パターンを検出するように、過去の世代のメッセージログを関連分析する第２関連分析部５８Ｓ２を備えている。第１関連分析部５８Ｓ１及び第２関連分析部５８Ｓ２の分析結果は関連データとして関連比較部６０に入力される。関連データは、後述するメッセージログの出現パターンである。ログ分析比較プログラムの機能部は、現在の世代のメッセージログから検出された出現パターンと、過去の世代のメッセージログから検出された出現パターンとの差を求めて、関連差分データとして２次記憶装置３４に出力（記憶）する関連比較部６０を備えている。
【００２２】
ここではログ分析比較プログラムをＲＯＭ３１から読み出す場合を例示したが、必ずしも最初からＲＯＭ３１に記憶させておく必要はない。例えば、監視装置１２に接続されて使用されるＳＳＤ（Solid State Drive）、ＤＶＤディスク、ＩＣカード、光磁気ディスク、ＣＤ−ＲＯＭなどの任意の「可搬型の記憶媒体」に先ずはログ分析比較プログラムを記憶させておいてもよい。そして、監視装置１２がこれらの可搬型の記憶媒体からは画面データ転送プログラムを取得して実行するようにしてもよい。また、通信回線を介して監視装置１２に接続される他のコンピュータ又はサーバ装置等の記憶部に画面データ転送プログラムを記憶させておいてもよい。この場合、監視装置１２は他のコンピュータ又はサーバ装置等からログ分析比較プログラムを取得して実行する。
ログ分析比較プログラムは、本開示の技術の判定プログラムの一例である。ＲＯＭ３１は、本開示の技術の記憶媒体の一例である。
【００２３】
図４には、ログ分析比較プログラムのプロセスが示されている。図４に示すように、ログ分析比較プログラムのプロセスは、世代合致度計算プロセス６４を含む世代生成プロセス６２、ログ抽出プロセス６６、第１関連分析プロセス６８、第２関連分析プロセス７０、及び関連比較プロセス７２を備えている。
【００２４】
なお、ＣＰＵ３０が、上記プロセス６２〜７２の各々を実行することにより、図３の上記各部５２〜６０として動作する。
【００２５】
次に、本実施の形態の作用を説明する。
図５には、ログ分析比較処理の一例がフローチャートとして示されている。ログ分析比較処理は、異なる複数の動作の関係に現れる異常、具体的には、出現パターンの差に現れる異常を判定する処理である。図５に示すように、ステップ８２で、世代生成部５２は、世代の生成をし、ステップ８４で、ログ抽出部５６は、ログを抽出する。ステップ８６で、第１関連分析部５８Ｓ１は、現在の世代のログの関連分析をし、ステップ８８で、第２関連分析部５８Ｓ２は、過去の世代のログの関連分析をする。ステップ９０で、関連比較部６０は、関連比較をする。以下、各ステップの処理を詳細に説明する。
【００２６】
図６には、世代生成部５２が実行する、図５のステップ８２の世代を生成する世代生成処理の一例がフローチャートとして示されている。
ここで、世代とは、システムに定期的に発生する構成の変更時刻の間隔時間（定期的間隔時間）により定まる時間帯をいう。
世代を求める理由は、最も新しい世代、即ち、システムに構成変更があった最近の変更時刻以後の期間を求めるためである。当該理由は詳細には次の通りである。なお、最近の変更時刻は、処理装置１６、１８、・・・２０に定期的に構成変更が行われた時刻の内の最も現在時刻に近い変更時刻である。
【００２７】
システムに定期的に発生する構成の変更時刻の定期的間隔時間が分かり、与えられた変更時刻から現在までの経過時間を定期的間隔時間で区切ると、システムに構成変更があった最近の時刻を求めることができる。システムに構成変更があると、構成変更後に、異常が発生する可能性が高くなる。例えば、システムの動作のための設定が、構成変更をきっかけとして誤ったり、当該構成変更のためのパッチにバグがあったりするからである。そして、監視装置１２は、各々が上記システムとしての複数の処理装置１６、１８、・・・２０に現在どんな異常が発生しているのかを判断するものである。よって、最も新しい世代の異常を検出するため、最も新しい世代、即ち、システムに構成変更があった最近の時刻以後の期間を求める。
【００２８】
ステップ１０２で、世代生成部５２は、現在時刻ＴＥを入力（ＩＮＰＵＴ）し、変数Ｉｍａｘを−1にセットし、変数Ｓｍａｘを−１にセットする。また、世代生成部５２は、変更時刻リストＬｃｈａｎｇｅに、図７（Ａ）に示すように、変更時刻及びそのｉｄを代入する。図７（Ａ）に示すように、与えられた変更時刻は、時刻ｔＡ、ｔＢ、ｔＣの３つあり、時刻ｔＡ、ｔＢ、ｔＣの順に新しく、即ち、現在時刻に近づいている。図７（Ａ）に示すように、与えられた変更時刻ｔＡ、ｔＢ、ｔＣは、全ての変更時刻を網羅していない。従って、時刻ｔＡと時刻ｔＢとの間隔時間と、時刻ｔＢと時刻ｔＣとの間隔時間とは異なっている。よって、何れの間隔時間が定期的間隔時間として正しいのかは現時点では分からない。
【００２９】
ステップ１０４で、世代生成部５２は、変更時刻リストＬｃｈａｎｇｅの変更時刻から、与えられた変更時刻の全ての組み合わせを求める。世代生成部５２は、与えられた変更時刻間の間隔時間の全ての組み合わせを計算する。図７（Ａ）に示す変更時刻ｔＡ、ｔＢ、ｔＣからは、図７（Ｂ）に示す間隔時間が計算される。世代生成部５２は、得られた複数の間隔時間の各々（上記例では３つの間隔時間Ｔ１、Ｔ２、Ｔ３）、当該間隔時間を定める２つの時刻の内の早い方の時刻（基準時刻）、及びｉｄを対応させて、世代情報シードリストＬｓｅｅｄに登録する。
【００３０】
ステップ１０６で、世代生成部５２は、ログ保存部３４Ａにある最も古いメッセージを取り出し、最古メッセージに対応する動作が行われた時刻ＴＳを取得する。ステップ１０８で、世代生成部５２は、世代情報シードリストＬｓｅｅｄから一件取り出す。これにより、上記例（図７（Ｂ））では、残り２つの項目となる。
【００３１】
そして、世代生成部５２は、取り出した１件のｉｄをＩｃｕｒｒｅｎｔに、基準時刻をｔに、 間隔時間をＴに代入する。例えば、図７（Ｃ）に示すように、世代生成部５２は、世代情報シードリストＬｓｅｅｄから、一件、ｉｄ＝１、基準時刻＝ｔＡ、間隔時間Ｔ１＝ｔＣ−ｔＡを取り出す。世代生成部５２は、Ｉｃｕｒｒｅｎｔに１を、ｔにｔＡ、間隔時間ＴにＴ１（＝ｔＣ−ｔＡ）を代入する。
【００３２】
ステップ１１０で、世代生成部５２は、図７（Ｄ）に示すように、最古メッセージにおける取得時刻ＴＳから現在時刻ＴＥまでの期間を、ｔを基準に、ｔの前後、即ち、ｔから過去側と未来側とに、時刻幅として間隔時間Ｔで、区切る。これにより、時刻ｔから過去側と未来側との区切り目のペアが得られる。即ち、例えば、１つめの区切り目の時刻としてＲ１１、Ｒ２１、２つめの区切り目の時刻として、Ｒ１２、Ｒ２２が得られる。これらの区切り目の時刻のペアを、Ｌｃｕｒｒｅｎｔに代入する。
【００３３】
ステップ１１２で、世代合致度計算部５４は、詳細には後述（図８又は図１０）するように、Ｌｃｕｒｒｅｎｔ、ｔ、及びＴを入力として、間隔時間Ｔが、システムの構成変更時刻の定期的間隔時間である確からしさを示すスコアを計算する。世代合致度計算部５４は、そのスコアをＳｃｕｒｒｅｎｔに代入する。
【００３４】
ステップ１１４で、世代生成部５２は、Ｓｃｕｒｒｅｎｔ＞Ｓｍａｘか否かを判断する。ステップ１１４の判定結果が否定判定の場合には、世代生成処理は、ステップ１１６をスキップしてステップ１１８に進む。ステップ１１４の判定結果が肯定判定の場合には、世代生成処理は、ステップ１１６に進む。ステップ１１６で、世代合致度計算部５４は、ＬｍａｘにＬｃｕｒｒｅｎｔを代入し、ＩｍａｘにＩｃｕｒｒｅｎｔを代入し、ＳｍａｘにＳｃｕｒｒｅｎｔを代入する。
【００３５】
ステップ１１８で、世代生成部５２は、世代情報シードリストＬｓｅｅｄに未処理の項目があるか否を判断する。ステップ１１８の判定結果が肯定判定の場合には、世代生成処理は、ステップ１０８に戻って、未処理の項目について以上の処理（ステップ１０８〜１１８）を実行する。世代情報シードリストＬｓｅｅｄ中の全ての項目について以上の処理（ステップ１０８〜１１８）が実行されるとステップ１１８の判定結果が否定判定となる。ステップ１１８の判定結果が否定判定の場合には、世代生成処理は、ステップ１２０に進む。ここで、ステップ１１８の判定結果が否定判定となる場合には、Ｌｍａｘに代入されたＬｃｕｒｒｅｎｔにおける間隔時間Ｔが、定期的間隔時間として最も確からしい間隔時間である。即ち、Ｌｍａｘに代入されたＬｃｕｒｒｅｎｔにおける間隔時間Ｔが、最小の間隔時間である。ステップ１２０で、世代生成部５２は、Ｌｍａｘ内の上記区切り目の時刻のペア（Ｒ１１とＲ２１、Ｒ１２とＲ２２、・・・）を時刻の降順で並び替える（・・・Ｒ２１、Ｒ１１、ｔ、Ｒ２１、Ｒ２２・・・）。
【００３６】
ステップ１２２で、世代生成部５２は、Ｌｍａｘを、世代情報記憶部３４Ｂに出力（記憶）する。
【００３７】
図８には、図６のステップ１１２のスコアを計算するスコア計算処理の一例がフローチャートとして示されている。図８における本スコア計算処理では、間隔時間Ｔがシステムの構成変更時刻の定期的間隔時間である確からしさを示すスコアＳとして、間隔時間Ｔに基づく後述する切れ目が、与えられた変更時刻（ｔＡ、ｔＢ、ｔＣ）とつじつまがあうかを示す値を計算する。
【００３８】
ステップ１３２で、世代合致度計算部５４は、時刻ｔ、間隔時間Ｔ、変更時刻リストＬｃｈａｎｇｅ（図７（Ａ）及び図９（Ａ）参照）を入力する。
【００３９】
ステップ１３４で、世代合致度計算部５４は、変更時刻リストＬｃｈａｎｇｅから１件を取り出しｔｃｕｒｒｅｎｔとする。例えば、図９（Ｂ）に示すように、時刻ｔＣを取り出す。これにより、変更時刻リストＬｃｈａｎｇｅには、２件（時刻ｔＢ、ｔＡ）が残る。
【００４０】
ステップ１３６で、世代合致度計算部５４は、ｎ ＝ ｜ｔ − ｔｃｕｒｒｅｎｔ｜％Ｔを計算する。上記例（図７（Ｃ）及び図９（Ａ））では、ｔはｔＡ、ｔｃｕｒｒｅｎｔはｔＣ、Ｔは間隔時間Ｔ１である。上記式の計算により、時刻ｔＣと時刻ｔＡとの間隔時間を、間隔時間Ｔ１で除した商の内の整数部分の数がｎに代入される。図９（Ｃ）に示す例では、ｎに５が代入される。
【００４１】
ステップ１３８で、世代合致度計算部５４は、｜｜ｔ−ｔｃｕｒｒｅｎｔ｜−Ｔ＊ｎ｜＜ｔｈｒｅｓｈｏｌｄか否かを判断する。スコア計算処理は、ステップ１３８の判定結果が肯定判定の場合には、ステップ１４０がスキップされてステップ１４２に進み、ステップ１３８の判定結果が否定判定の場合には、ステップ１４０に進む。ステップ１４０で、世代合致度計算部５４は、｜｜ｔ−ｔｃｕｒｒｅｎｔ｜−Ｔ＊(ｎ＋１)｜ ＜ｔｈｒｅｓｈｏｌｄか否かを判断する。スコア計算処理は、ステップ１４０の判定結果が肯定判定の場合には、ステップ１４２に進み、ステップ１４０の判定結果が否定判定の場合には、ステップ１４４に進む。
【００４２】
上記ステップ１３８、１４０で、世代合致度計算部５４は、間隔時間Ｔに基づく切れ目が、与えられた変更時刻とつじつまがあうか否かを判断している。図９（Ｄ）に示すように、ステップ１３８における｜｜ｔ−ｔｃｕｒｒｅｎｔ｜−Ｔ＊ｎ｜の値（時間）をＰ、ステップ１４０における｜｜ｔ−ｔｃｕｒｒｅｎｔ｜−Ｔ＊(ｎ＋１)｜の値（時間）をＱとする。時刻ｔｃｕｒｒｅｎｔから時間Ｐだけ過去の時刻ｔＰと、時刻ｔｃｕｒｒｅｎｔから時間Ｑだけ未来の時刻ｔＱは、時刻ｔｃｕｒｒｅｎｔが属する世代を区切る切れ目の時刻である。間隔時間Ｔに基づく切れ目が、与えられた変更時刻とつじつまがあう場合には、Ｐ、Ｑの何れかが０のはずである。即ち、図９（Ｃ）における時刻ｔＡと時刻ｔＣとの間隔時間は、間隔時間Ｔの整数倍のはずである。しかし、システムの構成の変更が現実に完了する時間が定期的な時刻よりも若干前後する場合がある。そこで、本実施の形態では、このような若干ずれる時間をｔｈｒｅｓｈｏｌｄとする。よって、間隔時間Ｔに基づく切れ目が、与えられた変更時刻とつじつまがあう場合には、Ｐ、Ｑの何れかがｔｈｒｅｓｈｏｌｄより小さいと判定される。そこで、ステップ１３８とステップ１４０の判定結果の何れかが肯定判定の場合、ステップ１４２で、世代合致度計算部５４は、スコアＳを１インクリメントする。
【００４３】
ステップ１４４で、世代合致度計算部５４は、変更時刻リストＬｃｈａｎｇｅに未処理の項目があるか否かを判断する。ステップ１４４の判定結果が肯定判定の場合には、上記判定をしていない項目があるので、スコア計算処理はステップ１３４に戻って、以上の処理（ステップ１３４〜１４４）を実行する。一方、変更時刻リストＬｃｈａｎｇｅ内の全ての項目について以上の処理（ステップ１３４〜１４４）を実行すると、ステップ１４４の判定結果が肯定判定となって、スコア計算処理はステップ１４６に進む。
ステップ１４６で、世代合致度計算部５４は、Ｓをスコアとして出力する。
【００４４】
図１０には、図６のステップ１１２のスコアを計算するスコア計算処理の別の一例がフローチャートとして示されている。即ち、図６のステップ１１２のスコアを計算するスコア計算処理では、図８のスコア計算処理と、図１０のスコア計算処理の何れかが実行される。
【００４５】
図１０のスコア計算処理では、間隔時間Ｔが、システムの構成変更時刻の間隔時間である確からしさを示すスコアが、システムの構成変更後に異常が発生した個数として計算される。間隔時間Ｔが定期的間隔時間として正しいと、システムの構成変更時刻の後に、異なる種類の動作の関係に現れる異常が生ずることがある。即ち、当該変更時刻から過去に向かって１つの間隔時間Ｔまでの間のメッセージログの出現ターンと、当該変更時刻から未来に向かって１つの間隔時間Ｔまでの間のメッセージログの出現パターンとが異なることがある。
【００４６】
一方、間隔時間Ｔが定期的間隔時間として正しくないと、上記２つの出現パターンは、正しい場合と比較すると、互いに大きく異ならない。間隔時間Ｔが正しくないと、当該変更時刻から過去及び未来に向かって１つの間隔時間Ｔまでの間に実際には少なくとも１つの変更時刻が存在する。即ち、当該変更時刻から過去及び未来に向かって少なくとも１つの間隔時間Ｔまでの間の期間それぞれが、当該期間に実際には存在する変更時刻前後の間隔時間を１つの間隔時間とされる。上記のように変更時刻前後の出現パターンは異なる。しかし、人為的の操作を起因とする同様な異常が構成変更毎に繰り返される場合がある。よって、変更時刻から過去及び未来に向かって１つの間隔時間Ｔまでの間の期間それぞれが実際には存在する変更時刻前後の間隔時間を１つの間隔時間とされると、同様な異常が繰り返される。これにより、上記異常が識別されなくなる。このように、間隔時間Ｔが正しくないと、当該変更時刻から過去と未来とに向かって１つの間隔時間Ｔまでの間のメッセージログの出現パターンのそれぞれが互いに、間隔時間Ｔが正しい場合と比較すると大きく異ならない。よって、変更時刻から過去及び未来に向かって１つの間隔時間Ｔまでの間の期間における出現パターンの異なる個数が多ければ多いほど、当該間隔時間Ｔが正しいと判断することができる。
【００４７】
そこで、図１０のスコア計算処理では、間隔時間Ｔが、システムの構成変更時刻の間隔時間である確からしさを示すスコアが、システムの構成変更後に異常が検出された個数として計算される。
【００４８】
ステップ１５２で、世代合致度計算部５４は、世代情報シードリストＬｓｅｅｄ、時刻ｔ、及び間隔時間Ｔを入力する。ステップ１５４で、図１１に示すように、世代合致度計算部５４は、変更時刻ｔから過去に向かって１つの間隔時間Ｔまでの間（時刻ｔ−間隔時間Ｔ）のメッセージログをログ保存部３４Ａから取得し、取得したログをログＡとする。
【００４９】
ステップ１５６で、図１１に示すように、世代合致度計算部５４は、変更時刻ｔから未来に向かって１つの間隔時間Ｔまでの間（時刻ｔから時刻ｔ+Ｔ）のメッセージログをログ保存部３４Ａから取得し、取得したログをログＢとする。
【００５０】
ステップ１５８で、世代合致度計算部５４は、図１１に示すように、ログＡ、ログＢに対して関連分析・比較をする。即ち、まず、ログＡの関連分析は、ログＡにおけるメッセージログの出現パターンを抽出し、ログＢの関連分析は、ログＢにおけるメッセージログの出現パターンを抽出する。比較では、両出現パターンの差を求める。
【００５１】
図１１に示す例では、ログＡにおけるメッセージログの出現パターンが、パターン１５５（関連データ）であり、ログＢにおけるメッセージログの出現パターンが、パターン１５７（関連データ）であると分析されている。世代合致度計算部５４は、パターン１５５とパターン１５７との差を求める。パターン１５７には、パターン１５５にはない、メッセージログ１の後にメッセージログ４が出現するパターンと、メッセージログ５の後にメッセージログ７が出現するパターンとの２個のパターンが新たに生じている。これは、システムに構成変更をきっかけとして異常が生じたので、システムの変更時刻ｔＡの後に、パターン１５７に新たなパターンが２個発生したと判断できる。
【００５２】
ステップ１６０で、世代合致度計算部５４は、出力された差分の数をカウントし、スコア（上記図１１の例では２個）として出力する。
【００５３】
図１２には、図５のステップ８４のログ抽出処理の一例がフローチャートとして示されている。
上記図５のステップ８２の世代生成処理における図６のステップ１２２で、世代情報記憶部３４Ｂに世代情報が記憶されている。世代情報は、与えられた変更時刻ｔから現在時刻までの経過時間を、上記正しいと判断された間隔時間（定期的間隔時間）で区切られた区切り目の時刻（世代情報）が、降順で並び替えられたものである（・・・Ｒ２１、Ｒ１１、ｔ、Ｒ２１、Ｒ２２・・・）。そこで、ステップ１７２で、ログ抽出部５６は、世代情報を入力する。
【００５４】
ステップ１７４で、ログ抽出部５６は、世代情報から先頭の世代Ｓ１を取得する。即ち、例えば、図１３に示すように、世代情報から、現在時刻ｔＮが含まれる世代、即ち、現在時刻ｔＮに最も近い区切り目の時刻ｔＮ−１から現在時刻までの期間を取得する。
【００５５】
ステップ１７６で、ログ抽出部５６は、ステップ１７４で取得した世代の期間に含まれるログをログ保存部３４Ａから取得する。ステップ１７８で、ログ抽出部５６は、ステップ１７６で取得したログを、現在のログＬ１として出力する。図１３に示すように、現在ログＬ１の各メッセージログは、メッセージログのｉｄ、種別、時刻（動作のあった時刻）、具体的内容（本文）の情報を含む。
【００５６】
ステップ１８０で、ログ抽出部５６は、世代情報から２番目の世代Ｓ２を取得する。即ち、時刻ｔＮ−１から過去に１つ前の区切り目の時刻ｔＮ−２の期間を取得する。ステップ１８２で、ログ抽出部５６は、ステップ１８０で取得した世代の期間に含まれるログをログ保存部３４Ａから取得する。ステップ１８４で、ログ抽出部５６は、ステップ１８２で取得したログを、過去のログＬ２として出力する。図１３に示すように、過去ログＬ２の各メッセージログは、メッセージログのｉｄ、種別、時刻（動作のあった時刻）、具体的内容（本文）の情報を含む。
【００５７】
図１２のステップ１７４、１８０の処理は、本開示の技術の決定部の処理の一例である。世代Ｓ１及び世代Ｓ２のそれぞれは、本開示の技術の第１の期間及び第２の期間の一例である。図１２のステップ１７６、１８２の処理は、本開示の技術の抽出部の処理の一例である。現在ログＬ１及び過去ログＬ２はそれぞれ、本開示の技術の第１の状態データ群及び第２の状態データ群の一例である。
【００５８】
上記図５のステップ８６で、第１関連分析部５８Ｓ１は、現在のログＬ１におけるメッセージログの出現パターンを抽出する。これにより、図１３に示すように、出現パターンＭ１が得られる。具体的には、出現パターンＭ１には、最初に発生するメッセージログの種別として、現在のログＬ１における種別（type01）である「１」と、次に発生するメッセージログの種別として、現在のログＬ１における種別（type02）である「２」が含まれる。なお、このメッセージログの出現パターンの識別情報（ｉｄ）は、Ｒ０１である。
【００５９】
ステップ８８で、第２関連分析部５８Ｓ２は、過去のログＬ２におけるメッセージログの出現パターンを抽出する。これにより、出現パターンＭ２が得られる。出現パターンＭ２には、第１に、最初に発生するメッセージログの種別として、過去ログＬ２における種別（type01）である「１」と、次に発生するメッセージログの種別として、過去ログＬ２における種別（type02）である「２」が含まれる。なお、このメッセージログの出現パターンの識別情報（ｉｄ）は、Ｒ０１である。第２に、最初に発生するメッセージログの種別として、過去ログＬ２における種別（type02）である「２」と、次に発生するメッセージログの種別として、過去ログＬ２における種別（type03）である「３」が含まれる。なお、このメッセージログの出現パターンの識別情報（ｉｄ）は、Ｒ０２である。第３に、最初に発生するメッセージログの種別として、過去ログＬ２における種別（type03）である「３」と、次に発生するメッセージログの種別として、過去ログＬ２における種別（type04）である「４」が含まれる。なお、このメッセージログの出現パターンの識別情報（ｉｄ）は、Ｒ０３である。
以上説明した例では、連続した２つのメッセージログの種類を、出現パターンを特定するための要素としているが、所定時間内に連続する２より大きい数（例えば、３、４、５、・・・）のメッセージログの種類を、出現パターンを特定するための要素とすることができる。
【００６０】
図５のステップ９０で、関連比較部６０は、関連比較を行う。即ち、関連比較部６０は、出現パターンＭ１と出現パターンＭ２との差を求める。出現パターンＭ１には、出現パターンＭ２にあった、メッセージログ２の後にメッセージログ３が出現するパターン（Ｒ０２）と、メッセージログ３の後にメッセージログ４が出現するパターン（Ｒ０３）が存在しない。これは、異常であると判断できる。上記のようにシステムの構成変更が生じても、操作や設定に誤りがなければ、出現パターンＭ１と出現パターンＭ２とは同じはずである。しかし、図１１に示すように、出現パターンＭ１に、出現パターンＭ２にあったパターンがないと、前の世代Ｓ２とは異なる現象が発生していると判断できる。同様に、出現パターンＭ１に、出現パターンＭ２にないパターンが新たに発生していると、前の世代Ｓ２とは異なる現象が発生していると判断できる。
【００６１】
そして、関連比較部６０は、上記検出した異常の内容、具体的には、出現パターンを識別するｉｄＲ０２、Ｒ０３を、２次記憶装置３４に記憶する。
図５のステップ９０の処理は、本開示の技術の判定部の処理の一例である。
【００６２】
次に、本実施の形態の効果を説明する。
（第１の効果）
本実施の形態では、先頭の世代Ｓ１におけるメッセージログの出現パターンと２番目の世代Ｓ２におけるメッセージログの出現パターンとの差から異常の発生を判断しているので、１つのメッセージログからでは判断できない異常を検出することができる。即ち、例えば、ある性能データに急峻な変化を発見することにより異常を検知するアノマリ検知では、ある１つの現象のみを抽出しているので、世代間のパターンの差から求められる異常を検知することができない。しかし、本実施の形態では、世代間のパターンの差から求められる異常の発生を判断しているので、１つのメッセージログからでは判断できない異常を検出することができる。
【００６３】
（第２の効果）
本実施の形態では、先頭の世代Ｓ１として、現在時刻ｔＮが含まれる世代を用いているので、被監視対象の処理システムの現在の異常を検出することができる。
【００６４】
（第３の効果）
本実施の形態では、与えられた複数の変更時刻の各々と他の変更時刻との複数の間隔時間を求め、求めた複数の間隔時間から最も正しいと判断できる間隔時間で、変更時刻と現在時刻までの経過時間を区切ることにより、世代を生成している。世代の切り替わりは、システムに構成変更があった時刻である。そして、現在までに得られた複数のメッセージログを世代によって分割する。よって、メッセージログの出現パターンとの差から異常の発生を判断するために現在までに得られた複数のメッセージログを適切に分割することができる。特に、図１０のスコア計算処理では、与えられた時刻の前後の間隔時間内の具体的なメッセージログの出現パターンの差を求めて、当該間隔時間が正しい間隔時間か否かを判断しているので、より正確な間隔時間を求めることができる。
【００６５】
次に、本実施の形態の変形例を説明する。
（第１の変形例）
本実施の形態では、図１３及ぶ図１４（Ａ）に示すように、先頭の世代Ｓ１におけるメッセージログの出現パターンと２番目の世代Ｓ２におけるメッセージログの出現パターンとの差から異常の発生を判断している。これにより、現在の異常を、システムに構成変更があった直前の状態との間で判断している。しかし、本開示の技術では、図１４（Ｂ）に示すように、先頭の世代Ｓ１におけるメッセージログの出現パターンと、２番目以降の複数の世代Ｓｎにおけるメッセージログの出現パターンとの差から異常の発生を判断してもよい。現在の異常を、システムに構成変更があったときより前のより長い期間の状態との間で判断することができる。
【００６６】
（第２の変形例）
本実施の形態では、先頭の世代Ｓ１におけるメッセージログの出現パターンと２番目の世代Ｓ２におけるメッセージログの出現パターンとの差から異常の発生を判断している。これにより、現在の異常を判断している。しかし、本開示の技術では、先頭の世代より前の選択された第１の世代におけるメッセージログの出現パターンと、当該第１の世代よりも過去の選択された第２の世代におけるメッセージログの出現パターンとの差から異常の発生を判断してもよい。これにより、選択した世代における異常を判断することができる。この場合、第１に、第２の世代は、上記第１の変形例のように複数の世代を用いてもよい。第２に、第２の世代は、第１の世代の直前の世代でもよく、直前の世代よりも過去の世代でもよい。
【００６７】
（第３の変形例）
本実施の形態では、メッセージログの出現パターンを決める要素として、出現したメッセージログの種類だけを用いている。本開示の技術は、図１５（Ｂ）及び図１５（Ｃ）に示すように、出現したメッセージログ間の時間の統計値を、出現パターンを決める更なる要素としてもよい。統計値としては、平均値や標準偏差を用いることができる。これにより、より詳細にパターンを求めることができ、パターンの差に基づく異常をより正確に求めることができる。
【００６８】
例えば、図１５（Ｂ）には、現在のログＬ１（例えば、図１５（Ａ））におけるメッセージログから抽出された出現パターンが示されている。即ち、第１のパターンとして、種別（type01）のメッセージログの後に、種別（type02）のメッセージログが発生し、これらの間の発生間隔時間の平均が１分、標準偏差が０分のパターンＰ１がある。第２のパターンとして、種別（type02）のメッセージログの後に、種別（type03）のメッセージログが発生し、これらの間の発生間隔時間の平均が０分、標準偏差が０分のパターンＰ２がある。第３のパターンとしては、種別（type03）のメッセージログの後に、種別（type04）のメッセージログが発生し、これらの間の発生間隔時間の平均が１．５分、標準偏差が０．７分のパターンＰ３がある。
【００６９】
また、図１５（Ｃ）には、過去のログＬ２におけるメッセージログから抽出された出現パターンが示されている。即ち、第１のパターンとして、種別（type01）のメッセージログの後に、種別（type02）のメッセージログが発生し、これらの間の発生間隔時間の平均が１分、標準偏差が０分のパターンＰ１がある。第２のパターンとして、種別（type03）のメッセージログの後に、種別（type04）のメッセージログが発生し、これらの間の発生間隔時間の平均が１０分、標準偏差が１５分のパターンＰ４がある。
【００７０】
現在のログＬ１におけるメッセージログから抽出された出現パターンと過去のログＬ２におけるメッセージログから抽出された出現パターンとの差を求める。この結果、現在のログＬ１におけるメッセージログから抽出された出現パターンの中のパターンＰ１（図１５（Ｂ）と過去のログＬ２におけるメッセージログから抽出された出現パターン中のパターンＰ１（図１５（Ｃ））とは同じである。
【００７１】
しかし、第１に、現在のログＬ１におけるメッセージログから抽出された出現パターンには、過去のログＬ２におけるメッセージログから抽出された出現パターンにはない、パターンＰ２がある。これは異常と判断できる。なお、パターンＰ２はＲ０２で識別される。
【００７２】
第２に、現在のログＬ１及び過去のログＬ２におけるメッセージログから抽出された出現パターンのそれぞれには、種別（type03）のメッセージログの後に、種別（type04）のメッセージログが発生するパターンは存在する。しかし、両パターンの発生間隔時間の平均及び標準偏差が異なる。よって、これも異常と判断できる。なお、このパターンは、Ｒ０３で識別される。
【００７３】
そこで、図１５（Ｄ）に示すように、関連比較部６０は、発生している異常の内容として、種別から求められるメッセージログの有無のみのパターンが異なる異常が発生していることを示すＲ０２を２次記憶装置３４に記憶する。また、関連比較部６０は、発生している異常の内容として、種別は同じでも統計値が異なる異常が発生していることを示すＲ０３を、２次記憶装置３４に記憶する。
【００７４】
（第４の変形例）
上記のように、定期的間隔時間が、Ｌｍａｘに代入されたＬｃｕｒｒｅｎｔにおける間隔時間Ｔとして求められた後は、世代生成部５２は、次の処理を実行する。即ち、世代生成部５２は、現在時刻ｔＮ（図１３参照）が属する世代Ｓ１の開始時刻ｔＮ−１（最近の構成変更の時刻）から、当該定期的間隔時間が経過する毎に、先頭の世代Ｓ１及び２番目の世代Ｓ２を新たに求める。そして、ログ抽出部５６〜関連比較部６０はそれぞれ、新たに求めた先頭の世代Ｓ１及び２番目の世代Ｓ２について図５のステップ８４〜９０の処理を実行する。なお、次の第１の場合及び第２の場合についても、各部（５６〜６０）は以上と同様の処理を実行してもよい。即ち、第１の場合としては、処理システム１４から、最近の構成変更の時刻と定期的間隔時間のそれぞれのデータが入力された場合である。また、第２の場合としては、処理システム１４のユーザから監視装置１２のオペレータが最近の構成変更の時刻と定期的間隔時間のそれぞれの情報を知って、入力装置４６を介して各データを入力した場合である。第１の場合及び第２の場合の各々について、図１２のステップ１７２では、ログ抽出部６６は、最近の構成変更の時刻と最近の構成変更の時刻よりも定期的間隔時間分過去の時刻を世代情報として取得する。
【００７５】
（第５の変形例）
処理システム１４が、監視装置１２に、上記システムの構成の変更が完了した変更時刻が新たに送信した場合には、新たな変更時刻を含めて、各部（５２〜６０）は図５の各処理を実行してもよい。
【００７６】
（第６の変形例）
上記の実施の形態では、１つの処理システム１４を監視装置１２が監視している。しかし、本開示の技術では、監視装置１２は、複数の処理システム１４を別々に監視することができる。即ち、複数の処理システム１４の各々は、各処理システムを識別するｉｄとメッセージログとを対応させて、監視装置１２に送信する。監視装置１２は、当該ｉｄに基づいて、複数の処理システム１４の各々から送信されるメッセージログを複数の処理システム１４の各々に対応して識別してログ保存部３４Ａに保存する。また、複数の処理システム１４の各々が、監視装置１２に、上記システムの構成の変更が完了した変更時刻のデータを、上記各処理システムを識別するｉｄと対応させて、送信する。そして、各部（５２〜６０）は図５の各処理を、複数の処理システム１４の各々に応じて実行する。
【００７７】
（第７の変形例）
第１実施形態では、通信制御部４８（図２）が、複数の処理装置１６、１８、・・・２０の各々から送信されたメッセージログを受信し、受信されたメッセージログは、２次記憶装置３４のログ保存部３４Ａに記憶される。本開示の技術では次のようにすることができる。即ち、監視装置１２とは別の装置が複数の処理装置１６、１８、・・・２０の各々から送信されたメッセージログを受信する。監視装置１２は、別の装置が受信した複数の処理装置１６、１８、・・・２０の各々からの全てのメッセージログを一括して取り込み、２次記憶装置３４のログ保存部３４Ａに記憶することができる。
【００７８】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００７９】
以上の実施形態に関し、更に以下の付記を開示する。
【００８０】
（付記１）
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定する決定部と、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出する抽出部と、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得する取得部と、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する判定部と、
を含む判定装置。
【００８１】
（付記２）
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定する決定部と、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出する抽出部と、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得する取得部と、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する判定部と、
を含む判定装置。
【００８２】
（付記３）
前記第１の期間には現在時刻が属する付記２に記載の判定装置。
【００８３】
（付記４）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定部は、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算すると共に前記変更時刻から、前記変更時刻と前記他の変更時刻以外の別の変更時刻側に位置しかつ前記間隔時間の整数倍離れた時刻と、前記別の変更時刻との差を計算し、
前記複数の変更時刻の各々について計算された前記差に基づいて、前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定する、
付記１〜付記３の何れかに記載の判定装置。
【００８４】
（付記５）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定部は、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算すると共に前記変更時刻を挟みかつ各々期間が前記変更時刻と他の変更時刻との間隔時間の２つの期間を定め、
前記複数の状態データから、前記複数の変更時刻の各々について定められた前記２つの期間の何れかに前記動作時刻が属する複数の状態データである２つの状態データ群を抽出し、
前記複数の変更時刻の各々について定められた前記２つの状態データ群の各々の状態データの出現パターンの違いの数を計算し、
前記複数の変更時刻の各々について計算された前記出現パターンの違いの数に基づいて、前前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定する、
付記１〜付記３の何れかに記載の判定装置。
【００８５】
（付記６）
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定プログラム。
【００８６】
（付記７）
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定プログラム。
【００８７】
（付記８）
前記第１の期間には現在時刻が属する付記７に記載の判定プログラム。
【００８８】
（付記９）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定の際は、前記コンピュータに、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算させると共に前記変更時刻から、前記変更時刻と前記他の変更時刻以外の別の変更時刻側に位置しかつ前記間隔時間の整数倍離れた時刻と、前記別の変更時刻との差を計算させ、
前記複数の変更時刻の各々について計算された前記差に基づいて、前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定させる
付記６〜付記８の何れかに記載の判定プログラム。
【００８９】
（付記１０）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定の際は、前記コンピュータに、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算すると共に前記変更時刻を挟みかつ各々期間が前記変更時刻と他の変更時刻との間隔時間の２つの期間を定め、
前記複数の状態データから、前記複数の変更時刻の各々について定められた前記２つの期間の何れかに前記動作時刻が属する複数の状態データである２つの状態データ群を抽出し、
前記複数の変更時刻の各々について定められた前記２つの状態データ群の各々の状態データの出現パターンの違いの数を計算し、
前記複数の変更時刻の各々について計算された前記出現パターンの違いの数に基づいて、前前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定する、
付記６〜付記８の何れかに記載の判定プログラム。
【００９０】
（付記１１）
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定方法。
【００９１】
（付記１２）
コンピュータに、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことを含む処理を実行させるための判定方法。
【００９２】
（付記１３）
前記第１の期間には現在時刻が属する付記１２に記載の判定方法。
【００９３】
（付記１４）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定の際は、前記コンピュータに、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算させると共に前記変更時刻から、前記変更時刻と前記他の変更時刻以外の別の変更時刻側に位置しかつ前記間隔時間の整数倍離れた時刻と、前記別の変更時刻との差を計算させ、
前記複数の変更時刻の各々について計算された前記差に基づいて、前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定させる
付記１１〜付記１３の何れかに記載の判方法。
【００９４】
（付記１５）
前記記憶部には、前記変更が行われた各々異なる複数の変更時刻が記憶され、
前記決定の際は、前記コンピュータに、
前記複数の変更時刻の各々について、前記変更時刻と他の変更時刻との間隔時間を計算すると共に前記変更時刻を挟みかつ各々期間が前記変更時刻と他の変更時刻との間隔時間の２つの期間を定め、
前記複数の状態データから、前記複数の変更時刻の各々について定められた前記２つの期間の何れかに前記動作時刻が属する複数の状態データである２つの状態データ群を抽出し、
前記複数の変更時刻の各々について定められた前記２つの状態データ群の各々の状態データの出現パターンの違いの数を計算し、
前記複数の変更時刻の各々について計算された前記出現パターンの違いの数に基づいて、前前記複数の変更時刻の各々について計算された複数の間隔時間の内の１つの間隔時間を前記定期的間隔時間として決定する、
付記１１〜付記１３の何れかに記載の判定方法。
【００９５】
（付記１６）
前記状態データの出現パターンは、複数の状態データの種類により特定されるパターンである付記１〜５の何れかに記載の判定装置。
【００９６】
（付記１７）
前記状態データの出現パターンは、複数の状態データの種類と前記複数の状態データにおける動作時刻間の間隔時間の統計値とにより特定されるパターンである付記１〜５の何れかに記載の判定装置。
【００９７】
（付記１８）
前記状態データの出現パターンは、複数の状態データの種類により特定されるパターンである付記６〜１０の何れかに記載の判定プログラム。
【００９８】
（付記１９）
前記状態データの出現パターンは、複数の状態データの種類と前記複数の状態データにおける動作時刻間の間隔時間の統計値とにより特定されるパターンである付記６〜１０の何れかに記載の判定プログラム。
【００９９】
（付記２０）
前記状態データの出現パターンは、複数の状態データの種類により特定されるパターンである付記１１〜１５の何れかに記載の判定方法。
【０１００】
（付記２１）
前記状態データの出現パターンは、複数の状態データの種類と前記複数の状態データにおける動作時刻間の間隔時間の統計値とにより特定されるパターンである付記１１〜１５の何れかに記載の判定方法。
【０１０１】
（付記２２）
コンピュータに、所定の処理を実行させるための判定プログラムを記憶した記憶媒体であって、
前記所定の処理には、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた時刻の内の最も現在時刻に近い最近の変更時刻と前記定期的に行われた変更の定期的間隔時間とに基づいて、前記最近の変更時刻以後の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことが含まれる記憶媒体。
【０１０２】
（付記２３）
コンピュータに、所定の処理を実行させるための判定プログラムを記憶した記憶媒体であって、
記憶部に記憶された、被監視対象の対象装置に定期的に行われかつ前記対象装置の動作状態に影響を及ぼす変更が行われた変更時刻と前記定期的に行われた変更の定期的間隔時間とを用いて前記変更時刻を基準に前記定期的間隔時間で現在時刻からの過去の期間を区切ることにより得られる複数の時間帯の内の選択された時間帯の第１の期間と、前記第１の期間よりも過去の期間であって少なくとも１つの前記定期的間隔時間を含む第２の期間とを決定し、
前記記憶部に記憶された、前記対象装置から前記対象装置に動作がある毎に送信されかつ前記対象装置の動作の内容を示す動作データと前記動作のあった動作時刻を示す動作時刻データとを対応させた複数の状態データから、前記第１の期間に前記動作時刻が属する複数の状態データである第１の状態データ群と、前記第２の期間に前記動作時刻が属する複数の状態データである第２の状態データ群とを抽出し、
前記抽出された前記第１の状態データ群及び前記第２の状態データ群の各々の状態データの出現パターンを取得し、
前記取得された前記第１の状態データ群及び前記第２の状態データ群の各々の前記出現パターンに基づいて、前記第１の期間に、前記出現パターンの差に表れる異常が前記対象装置に発生したか否かを判定する
ことが含まれる記憶媒体。
【符号の説明】
【０１０３】
１０      ネットワーク
１２      監視装置
１４      処理システム
１６、１８、・・・２０    処理装置
３４Ａ    ログ保存部
５４      世代合致度計算部
５２      世代生成部
５６      ログ抽出部
５８Ｓ１  第１関連分析部
５８Ｓ２  第２関連分析部
６０      関連比較部
【図１】
2015097047.tif 000003
【図２】
2015097047.tif 000004
【図３】
2015097047.tif 000005
【図４】
2015097047.tif 000006
【図５】
2015097047.tif 000007
【図６】
2015097047.tif 000008
【図７】
2015097047.tif 000009
【図８】
2015097047.tif 000010
【図９】
2015097047.tif 000011
【図１０】
2015097047.tif 000012
【図１１】
2015097047.tif 000013
【図１２】
2015097047.tif 000014
【図１３】
2015097047.tif 000015
【図１４】
2015097047.tif 000016
【図１５】
2015097047.tif 000017