(57)【要約】  システム分析装置１００は、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成部１０２１と、同一イベントに基づいて生成された複数の全体モデルから、予測精度が予め定められた基準を満たす部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成部１０２３と、予め定められた定義を用いて、コアモデルと複数の全体モデルとの距離を算出し、当該距離を、コアモデルを用いた異常判定における閾値として出力する閾値設定部１０２４とを備える。
2014208002.tif 000002
【特許請求の範囲】
【請求項１】
システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成部と、
同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成部と、
予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力する閾値設定部とを備えた
ことを特徴とするシステム分析装置。
【請求項２】
システムにおいて監視対象のイベントが発生した場合に、予め定められた定義を用いて、コアモデルと当該イベントに基づいて生成された新たな全体モデルとの距離を算出し、当該距離と閾値とを比較することによりモデル破壊を検出するモデル破壊検出部を備えた
請求項１記載のシステム分析装置。
【請求項３】
コアモデル生成部は、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての前記全体モデルにおいて予測精度が予め定められた値以上である部分モデルを統合したコアモデルを生成する
請求項１または請求項２記載のシステム分析装置。
【請求項４】
コアモデル生成部は、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての前記全体モデルにおいて予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成する
請求項１または請求項２記載のシステム分析装置。
【請求項５】
コアモデル生成部は、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての前記全体モデルにおいて予測精度が予め定められた値以上であり、かつ予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成する
請求項１または請求項２記載のシステム分析装置。
【請求項６】
コアモデル生成部は、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての前記全体モデルにおいて予測精度が予め定められた値以上であるか、または予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成する
請求項１または請求項２記載のシステム分析装置。
【請求項７】
閾値設定部は、複数の全体モデルのうち１つの全体モデルを除いた全体モデル部分集合を生成し、当該全体モデル部分集合のコアモデルを、除かれる当該全体モデル毎に部分コアモデルとして生成し、予め定められた定義を用いて、全ての当該部分コアモデルとコアモデル生成部が生成したコアモデルとの距離を算出し、最大距離を閾値とする
請求項１から請求項６のうちのいずれか１項に記載のシステム分析装置。
【請求項８】
閾値設定部は、コアモデルと全体モデルとの距離として、部分モデルの予測精度のハミング距離を用いることを特徴とする
請求項１から請求項７のうちのいずれか１項に記載のシステム分析装置。
【請求項９】
システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成し、
同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成し、
予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力する
ことを特徴とするシステム分析方法。
【請求項１０】
コンピュータに、
システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成処理と、
同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成処理と、
予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力する閾値設定処理とを
実行させるためのシステム分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの障害や異常等を分析するシステム分析装置、システム分析方法、及びプログラムに関する。
【背景技術】
【０００２】
システム性能の時系列情報を用いて、システムのモデル化を行い、生成されたモデルを用いてそのシステムの障害や異常等の要因を判定する運用管理システムの一例が、特許文献１に記載されている。【０００３】
特許文献１に記載されている運用管理システムは、システムの複数のメトリックの計測値をもとに、複数のメトリックの内の各ペアの相関関係を表す相関関数を決定することにより、システムの相関モデルを生成する。そして、この運用管理システムは、生成された相関モデルを用いて、相関関係の破壊（相関破壊）を検出し、相関破壊をもとにシステムの障害要因を判定する。このように、相関破壊をもとにシステムの状態を分析する技術は、不変関係分析と呼ばれる。不変関係分析においては、例えば、メトリックｙ、ｕのペアに関して、メトリックｕに基づいてメトリックｙを予測するための相関関数が用いられる。そして、モデル生成時の時系列情報におけるメトリックｙの実測値と相関関数による予測値との差、つまり予測誤差から、監視時に許容される予測誤差が算出され、閾値として設定される。監視時に予測誤差が閾値を超えた場合が相関破壊であり、異常の発生を示す。【０００４】
一方、可調整パラメータの時系列情報を用いて、システムのモデル化を行い、生成されたモデルを用いてそのシステムの障害や異常等の要因を判定する学習型プロセス異常診断装置の一例が、特許文献２に記載されている。【０００５】
特許文献２に記載の学習型プロセス異常診断装置は、過去複数回の可調整パラメータの設定値からモデルを生成し、可調整パラメータがとりうる正常範囲を確率論から自動的に算出する。そして、この学習型プロセス異常診断装置は、可調整パラメータが算出された正常範囲を超えた場合は、可調整パラメータが異常であると判定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４８７２９４４号公報
【特許文献２】特開２０１２−９０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
システムには、発生頻度が少ないものの、監視対象としたいイベントがある。例えば、ＩＣＴ（Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムでは、年数回程度しか発生しないような高負荷時における障害の前兆の有無や、常時稼働システムのシャットダウンが適切に実行されたか、等である。【０００８】
しかしながら、発生頻度が少ないイベントを監視する場合、モデル生成時と監視時との間に時間的な隔たりが大きい。そのため、システムの改修や設定の変化、およびその他の経時変化によって、学習したモデルが厳密には成り立たないという課題がある。【０００９】
特許文献１に記載されたような異常判定に予測誤差を用いる方法では、システム変化の影響がモデルに現れやすいため、システムの改修や設定の変化がモデル全体に影響を及ぼす場合がある。その場合、改修や設定の変化以前のイベントから生成されたモデルでは、改修や設定の変化後のシステムの正常と異常を区別できない場合がある。【００１０】
特許文献２に記載されたような確率論を用いる方法では、事例が少ない場合、各計測値が従う確率分布を求められず、監視に利用可能なモデルを構築することができない場合がある。【００１１】
本発明は、発生頻度が少ないイベントを監視することによるシステムの異常判定を精度良く行うことができるシステム分析装置、システム分析方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるシステム分析装置は、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成部と、同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成部と、予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力する閾値設定部とを備えたことを特徴とする。【００１３】
本発明によるシステム分析方法は、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成し、同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成し、予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力することを特徴とする。【００１４】
本発明によるシステム分析プログラムは、コンピュータに、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成処理と、同一イベントに基づいて生成された複数の前記全体モデルから、予測精度が予め定められた基準を満たす前記部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成処理と、予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、前記コアモデルを用いた異常判定における閾値として出力する閾値設定処理とを実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、発生頻度が少ないイベントを監視することによるシステムの異常判定を精度良く行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明によるシステム分析装置の実施形態の構成を示すブロック図である。
【図２】コアモデルの生成例を示す説明図である。
【図３】異常判定の閾値の算出例を示す説明図である。
【図４】生成されたコアモデルの予測精度の例を示す説明図である。
【図５】図４の例を用いた異常判定の閾値の算出例を示す説明図である。
【図６】本発明によるシステム分析装置の実施形態の動作を示すフローチャートである。
【図７】予測精度のバラつきに関する閾値に基づいて、コアモデルを抽出する方法を示す説明図である。
【図８】異常判定の閾値として２つの閾値が設定される場合における、全体モデル数と閾値（距離）の関係を示す説明図である。
【図９】図２に示すデータを用いて、図８に示す閾値を求めた場合の、２つの閾値を示す説明図である。
【図１０】本発明によるシステム分析装置の主要部を示すブロック図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態を、図面を参照して説明する。本実施形態では、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムの異常検知への適用を例として説明する。また、本実施形態では、監視対象のイベントが１種類である場合を想定する。監視対象のイベントが複数種類ある場合は、本実施形態の動作をイベントごとに並列で実行させる必要がある。
【００１８】
本実施形態のシステム分析装置の構成を説明する。図１は、本実施形態のシステム分析装置１００の構成を示すブロック図である。
【００１９】
図１に示すように、本実施形態のシステム分析装置１００は、１以上の被監視装置２００を含む被監視システムと接続される。被監視装置２００は、各種サーバ装置やネットワーク装置等、ＩＴシステムを構成する装置である。被監視システムは、機能を構成する要素に限定してもよいし、システム全体であってもよい。
【００２０】
被監視装置２００は、被監視装置２００の複数種目の性能値の実測データ（計測値）を一定間隔毎に計測し、システム分析装置１００へ送信する。性能値の種目として、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率、メモリ使用率、ディスクアクセス頻度等、すなわちコンピュータリソースやネットワークリソースの使用率や使用量等が用いられる。
【００２１】
ここで、被監視装置２００ごとの性能値の種目をメトリック（性能指標）とし、同一時刻に計測された複数のメトリックの値の組を性能情報とする。メトリックは、整数や小数の数値より表される。また、メトリックは、特許文献１に記載された発明における相関モデルの生成対象である「要素」に相当する。
【００２２】
システム分析装置１００は、被監視装置２００から収集した性能情報をもとに、イベントごとに被監視装置２００の監視モデルを生成し、生成した監視モデルを用いて検出されたモデル破壊をもとに、被監視装置２００の状態を分析する。システム分析装置１００は、監視モデルを生成するために、被監視装置２００から収集した、監視対象のイベントの発生から終了までの期間の性能情報である性能系列情報をもとに、１回のイベントについて１つの全体モデルを生成する。さらに、システム分析装置１００は、同一イベントに関して生成された複数の全体モデルの集合である、全体モデル集合を用いて、コアモデルを生成し、異常判定の閾値１２４を設定する。コアモデルに、異常判定の閾値１２４を設定したものが、監視モデルである。
【００２３】
システム分析装置１００は、性能情報収集部１０１と、モデル生成部１０２と、モデル破壊検出部１０３と、異常要因抽出部１０４と、性能情報記憶部１１１と、モデル記憶部１１２と、モデル破壊記憶部１１３とを含む。
【００２４】
モデル生成部１０２は、全体モデル生成部１０２１と、監視モデル生成部１０２２とを含む。
【００２５】
監視モデル生成部１０２２は、コアモデル生成部１０２３と、閾値設定部１０２４とを含む。
【００２６】
モデル記憶部１１２は、全体モデル記憶部１１２１と、監視モデル記憶部１１２２とを含む。
【００２７】
性能情報収集部１０１は、被監視装置２００から性能情報を収集する。
【００２８】
性能情報記憶部１１１は、性能情報収集部１０１が収集した性能情報の時系列変化を、性能系列情報として記憶する。
【００２９】
モデル生成部１０２は、性能系列情報をもとに、被監視システムの監視モデルを生成する。
【００３０】
全体モデル生成部１０２１は、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する。全体モデル生成部１０２１は、具体的には、イベントごとの性能系列情報から、それぞれのメトリックに関する予測式を生成し、各予測式の予測精度を算出する。ここで、１つの予測式と予測精度の組が部分モデルであり、１回のイベントに対する部分モデルの集合、つまり、すべてのメトリックを対象に生成された予測式および予測精度の集合が全体モデルである。全体モデル生成部１０２１は、イベントに対する全体モデルを、全体モデル記憶部１１２１に記憶する。予測式には、時間を関数に含む周期関数や、３つ以上のメトリック間の相関関数や、特許文献１の運用管理装置と同様に２つのメトリック間の相関関数などが用いられる。
【００３１】
監視モデル生成部１０２２は、全体モデル記憶部１１２１に記憶されている、全体モデル集合から、コアモデルを生成し、異常判定の閾値１２４を算出する。監視モデル生成部１０２２は、生成されたコアモデル、及び異常判定の閾値１２４を監視モデルとして監視モデル記憶部１１２２に記憶する。
【００３２】
コアモデル生成部１０２３は、全体モデル集合に関して、コアモデルの生成条件を満たすように、コアモデルを生成する。コアモデル生成部１０２３は、具体的には、同一イベントに基づいて生成された複数の全体モデルから、予測精度が予め定められた基準を満たす部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成する。コアモデルの生成方法に関する詳細な内容は後述する。
【００３３】
閾値設定部１０２４は、コアモデルの生成に用いられた全体モデル集合の揺らぎから、閾値を算出する。閾値設定部１０２４は、予め定められた定義を用いて、前記コアモデルと前記複数の全体モデルとの距離を算出し、当該距離を、当該コアモデルを用いた異常判定における閾値として出力する。閾値の算出方法に関する詳細な内容は後述する。
【００３４】
モデル記憶部１１２は、モデル生成部１０２が生成した全体モデル集合および監視モデルを記憶する。
【００３５】
全体モデル記憶部１１２１は、全体モデル生成部１０２１が生成した全体モデル集合を記憶する。
【００３６】
監視モデル記憶部１１２２は、監視モデル生成部１０２２が生成した監視モデルを記憶する。
【００３７】
モデル破壊検出部１０３は、新たに入力された性能情報について、監視モデルの破壊を検出する。
【００３８】
モデル破壊記憶部１１３は、モデル破壊が検出されたモデルを示すモデル破壊情報を記憶する。
【００３９】
異常要因抽出部１０４は、モデル破壊情報をもとに、異常が発生したメトリック（異常要因メトリック）の候補を抽出する。異常要因抽出部１０４は、例えば、特許文献１の運用管理装置と同様に、各メトリックにおけるモデル破壊の数や割合をもとに、異常要因メトリックの候補を抽出する。
【００４０】
なお、システム分析装置１００は、ＣＰＵとプログラムを記憶した記憶媒体とを含み、プログラムに基づくＣＰＵの制御によって動作するコンピュータであってもよい。また、性能情報記憶部１１１、モデル記憶部１１２、及び、モデル破壊記憶部１１３は、それぞれ個別の記憶媒体でもよく、１つの記憶媒体によって構成されてもよい。
【００４１】
次に、本実施形態におけるコアモデルの生成方法および異常判定の閾値の算出方法の第１の例を、具体的に説明する。まず、コアモデルの生成条件を、実施例を用いて具体的に説明する。以下の例では、コアモデルの生成条件として、全体モデル集合における予測精度が設けられた閾値以上のモデルであるという条件を用いている。
【００４２】
図２は、コアモデルの生成例を示す説明図である。コアモデル生成部１０２３は、同一イベントに対して、生成された全体モデル１２２ａ、１２２ｂ、１２２ｃ、１２２ｄからなる全体モデル集合を取得する。次に、コアモデル生成部１０２３は、各全体モデルに含まれる部分モデル（図２におけるＭｏｄｅｌ１〜Ｍｏｄｅｌ１０）を、部分モデルの予測精度に基づき１または０で表現した、数値ベクトルに置き換える。コアモデル生成部１０２３は、部分モデルの予測精度が予め定められた閾値以上であれば１に置き換え、閾値未満であれば０に置き換える。次に、コアモデル生成部１０２３は、全体モデル集合のうち、数値ベクトルが全て１である部分モデルを、数値ベクトルの状態で統合し、コアモデル１２３ａとして抽出する。この例で抽出されるコアモデル１２３ａは、Ｍｏｄｅｌ２、Ｍｏｄｅｌ４、Ｍｏｄｅｌ５、Ｍｏｄｅｌ８の数値ベクトル化された部分モデルによって構成される。
【００４３】
次に、異常判定の閾値１２４の算出方法の例を具体的に説明する。以下の例において、モデル間の距離は、ハミング距離を用いる。閾値設定部１０２４は、全体モデル集合のうち、１つの全体モデルを除いた全体モデル部分集合について、上述のコアモデル生成部１０２３と同様の方法でコアモデルを生成する（以下、全体モデル部分集合コアモデルと記載する）。そして、閾値設定部１０２４は、コアモデルと全体モデル部分集合コアモデルの距離を計算する。閾値設定部１０２４は、全体モデル集合から除く全体モデルを替えて、全通りの距離を計算したときの最大距離を閾値とする。
【００４４】
図３は、異常判定の閾値１２４の算出例を示す説明図である。算出用のデータには、図２に示したデータが用いられている。図中の「ｗ／ｏ  ２０００／１２／２４」は、「２０００／１２／２４」以外の全体モデルを用いて生成されたコアモデルを示し、図中の「Ａｌｌ」はコアモデル１２３ａを示す。図３に示すように、コアモデル１２３ａとコアモデル１２３ａの生成に用いなかった全体モデルとの最大距離は、１である。よって、閾値設定部１０２４は、異常判定の閾値１２４として距離１を設定する。
【００４５】
よって、本例のシステム分析装置１００は、新たに監視対象のイベントが発生した場合、そのイベントから生成された新たな全体モデルとコアモデル１２３ａのハミング距離が２以上であれば異常、距離が１以下であれば正常と判断する。コアモデル１２３ａを例にとると異常となるのは、Ｍｏｄｅｌ２、Ｍｏｄｅｌ４、Ｍｏｄｅｌ５、Ｍｏｄｅｌ８のうち、２つ以上のモデルにおける予測精度が各モデルに定められた予測精度の閾値未満となった場合である。
【００４６】
次に、コアモデルの生成方法および異常判定の閾値１２４の算出方法の第２の例として、モデル間の距離として１−コサイン類似度を用いて説明する。第２の例では、コアモデル生成部１０２３は、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての前記全体モデルにおいて予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成する。この場合、閾値設定部１０２４は、全体モデル集合のうち、１つの全体モデルを除いた全体モデル部分集合について、本例のコアモデル生成部１０２３のように、全体モデル集合における予測精度の分散が設けられた閾値以下のモデルであるという条件でコアモデルを作成する（全体モデル部分集合コアモデル）。そして、閾値設定部１０２４は、コアモデルと全体モデル部分集合コアモデルの距離を１−コサイン類似度を用いて計算する。閾値設定部１０２４は、全体モデル集合から除く全体モデルを替えて、全通りの距離を計算したときの最大距離を閾値とする。
【００４７】
図４は、生成されたコアモデルの予測精度の例を示す説明図である。図５は、図４の例を用いた異常判定の閾値１２４ｂの算出例を示す説明図である。図５に示す「ｗ／ｏ  ２０００／１２／２４」は、図４に示す「２０００／１２／２４」以外の全体モデルを用いて生成されたコアモデルを示す。図４および図５に示すデータを用いて、本例における全体モデル部分集合と全体モデルの距離の計算方法を説明する。閾値設定部１０２４は、まず全体モデル部分集合コアモデルについて予測精度の平均値を求め、その平均値と全体モデルのうちコアモデルに含まれるモデルの予測精度とのコサイン類似度を求める。そして、閾値設定部１０２４は、１−コサイン類似度を全体モデル部分集合コアモデルと全体モデルの距離とする。図５に示すように、コアモデルとコアモデルの生成に用いなかった全体モデルとの最大距離は、０．００２６である。よって、閾値設定部１０２４は、異常判定の閾値１２４ｂとして距離０．００２６を設定する。
【００４８】
モデル破壊検出部１０３は、新たに監視対象のイベントが発生した場合、そのイベントから生成された新たな全体モデルとコアモデルの距離の算出方法として、閾値の算出方法と同様の方法を用いる。よって、本例のシステム分析装置１００は、新たに監視対象のイベントが発生した場合、そのイベントから生成された新たな全体モデルとコアモデルの１−コサイン類似度が０．００２６より大きければ異常、０．００２６以下であれば正常と判断する。
【００４９】
第１の例のようにモデル間の距離にハミング距離を用いる場合は、コアモデル生成部１０２３は、全体モデル集合における予測精度が設けられた閾値以上のモデルであるという条件を用いてコアモデルを作成した。また、第２の例のようにモデル間の距離に１−コサイン類似度を用いる場合は、コアモデル生成部１０２３は、全体モデル集合における予測精度の分散が設けられた閾値以下のモデルであるという条件を用いてコアモデルを作成した。ただし、モデル間の距離の算出方法とコアモデルを作成する条件は任意に組み合わせてよい。また、コアモデル生成部１０２３は、「全体モデル集合における予測精度が設けられた閾値以上のモデルであるかつ／または全体モデル集合における予測精度の分散が設けられた閾値以下のモデルである」という、複数の条件を組み合わせた条件でコアモデルを作成してもよい。また、コアモデル生成部１０２３は、あるモデル間の距離について、全体モデル部分集合コアモデルと全体モデル部分集合に含まれる各全体モデルの距離が小さくなるようにコアモデルを作成してもよい。
【００５０】
次に、本発明の第１の実施の形態におけるシステム分析装置１００の動作を説明する。図６は、本実施形態のシステム分析装置１００の動作を示すフローチャートである。
【００５１】
はじめに、システム分析装置１００の性能情報収集部１０１は、被監視装置２００から性能情報を収集し、性能情報記憶部１１１に保存する（ステップＳ１０１）。性能情報収集部１０１は、監視対象のイベントの発生及び終了を判断し（ステップＳ１０２）、ステップＳ１０１の動作を、監視対象のイベントが発生し、終了するまで繰り返す。
【００５２】
性能情報収集部１０１は、監視対象のイベントが発生し、終了したあと（ステップＳ１０２のＹＥＳ）、イベントの発生時刻と終了時刻を被監視装置２００から取得する（ステップＳ１０３）。
【００５３】
モデル生成部１０２は、監視モデル記憶部１１２２に監視モデルが記憶されているか確認する（ステップＳ１０４）。
【００５４】
監視モデル記憶部１１２２に監視モデルが記憶されていなければ、モデル生成部１０２は、イベントの発生時刻と終了時刻をもとに全体モデルを生成し、それを全体モデル記憶部１１２１に記憶させる（ステップＳ１１２）。
【００５５】
モデル生成部１０２は、全体モデル記憶部１１２１に全体モデルが１つより多く（２つ以上）記憶されているか確認する（ステップＳ１１３）。
【００５６】
全体モデル記憶部１１２１に全体モデルが２つ以上記憶されていなければ、何もせずにステップＳ１０１に戻る。なお、ステップＳ１０３〜ステップＳ１４２の処理が行われている間も、性能情報収集部１０１は、被監視装置２００から性能情報を収集し、性能情報記憶部１１１に保存する（ステップＳ１０１）。
【００５７】
全体モデル記憶部１１２１に全体モデルが２つ以上記憶されていれば、コアモデル生成部１０２３は、コアモデルを生成する（ステップＳ１２２）。そして、閾値設定部１０２４は、全体モデル集合から異常判定に用いる閾値１２４を算出する（ステップＳ１３２）。監視モデル生成部１０２２は、生成されたコアモデルと異常判定の閾値１２４とを監視モデルとして、監視モデル記憶部１１２２に記憶させる（ステップＳ１４２）。その後も、性能情報収集部１０１は、ステップＳ１０１の処理を継続する。
【００５８】
ステップＳ１０４において、監視モデル記憶部１１２２に監視モデルが記憶されていれば、モデル破壊検出部１０３は、性能情報収集部１０１により新たに収集された性能情報を用いて、監視モデルのモデル破壊を評価する（ステップＳ１０５）。
【００５９】
モデル破壊検出部１０３が、監視モデルの破壊を検出した場合（ステップＳ１０５のＹＥＳ）は、モデル破壊情報を生成する。モデル破壊検出部１０３は、モデル破壊情報をモデル破壊記憶部１１３に保存する。異常要因抽出部１０４は、モデル破壊情報をもとに、異常要因メトリックの候補を抽出する（ステップＳ１０６）。
【００６０】
モデル破壊検出部１０３が、監視モデルの破壊を検出しない場合（ステップＳ１０５のＮＯ）は、Ｓ１１２の手順と同様に、モデル生成部１０２は、イベントの発生時刻と終了時刻をもとに全体モデルを生成し、それを全体モデル記憶部１１２１に記憶させる（ステップＳ１１１）。コアモデル生成部１０２３は、コアモデルを生成する（ステップＳ１２１）。閾値設定部１０２４は、全体モデル集合から異常判定の閾値１２４を算出する（ステップＳ１３１）。監視モデル生成部１０２２は、生成されたコアモデルと異常判定の閾値１２４を監視モデルとして、監視モデル記憶部１１２２に保存する（ステップＳ１４１）。以上により、本実施形態のシステム分析装置１００の動作が完了する。
【００６１】
本実施形態では、コアモデルの生成条件として、「全体モデル集合において、予測精度が予め定められた閾値以上であるモデル」としている。これは、距離の概念を用いて書き直すと、「予測精度が予め定められた閾値以上であるモデルに１を割り当て、閾値未満のモデルに０を割り当てたときに得られる数値ベクトルが、すべて１かつ、全体モデル集合から得られる距離０のモデル」となる。この条件では、予測精度の高いモデルのみが、コアモデルの要素として選定される。本実施形態のコアモデルの生成条件は、予測精度に関する基準に基づいて選定されたものならば、他の方法によって選定されたものであってもよい。
【００６２】
例えば、コアモデルの要素に、予測精度の低いモデルのみが含まれるようにしてもよい。また、予測精度に対して２つの閾値を設け、常に予測精度が２つの閾値を上回るものと、常に予測精度が２つの閾値を下回るものが含まれるようにしてもよい。また、モデルがコアモデルの生成条件を満たす割合を導入してもよい。例えば、「全体モデル集合の９０％において、予測精度が予め定められた閾値以上のモデル」があげられる。
【００６３】
また、コアモデル生成部１０２３は、予測精度が取りうる幅に着目して、予測精度のバラつきが所定の幅に収まるモデルのみが、コアモデルに含まれるようにしてもよい。図７は、予測精度のバラつきに関する閾値に基づいて、コアモデルを抽出する方法を示す説明図である。図７に示す例では、コアモデル生成部１０２３は、部分モデル（図７におけるＭｏｄｅｌ１〜Ｍｏｄｅｌ４）の予測精度の幅をそれぞれ算出する。そして、コアモデル生成部１０２３は、例えば、予測精度の幅が所定値（例えば、０．１）以下である部分モデルをコアモデルとして抽出する。図７に示す例では、Ｍｏｄｅｌ２、Ｍｏｄｅｌ３及びＭｏｄｅｌ４がコアモデルとして抽出される。
【００６４】
また、本実施形態のシステム分析装置１００は、モデル間の距離を算出する際に、モデルを０と１で構成される数値ベクトルとして表したが、実数で構成される数値ベクトルとして表してもよい。その場合は、数値ベクトルの要素として、予測精度の値がそのまま用いられる。
【００６５】
また、本実施形態のシステム分析装置１００は、モデル間の距離の定義には、いかなる距離の定義を用いてもよい。モデル間の距離を算出する際に、モデルを０と１で構成される数値ベクトルとする場合は、モデル間の距離の定義には、ハミング距離、編集距離、グラフ距離、ジャカード係数、ダイス係数、またはシンプソン係数等を用いることが好ましい。モデルを実数で構成される数値ベクトルとする場合は、モデル間の距離の定義には、ユークリッド距離、標準ユークリッド距離、マハラノビス距離、マンハッタン距離、ミンコフスキー距離（マンハッタン距離やユークリッド距離を一般化したもの）、1−コサイン類似度の絶対値、1−ピアソンの相関係数の絶対値、1−偏差パターン類似度の絶対値等を用いることが好ましい。これらの分類は目安であって、ハミング距離と編集距離を除いて、モデルを０と１で構成される数値ベクトルとする場合と、実数で構成される数値ベクトルとする場合との双方に使用可能なものである。
【００６６】
さらに、本実施形態では、異常判定の閾値１２４の算出方法として、「全体モデル集合のうち、１つの全体モデルを除いてコアモデルを生成し（全体モデル部分集合コアモデル）、コアモデルと全体モデル部分集合コアモデルの距離を計算し、全体モデル集合から除く全体モデルを替えて、全通り計算したときの最大距離」（以下、閾値１２４１とする）を用いた。本実施形態の異常判定の閾値１２４は、コアモデルを生成する際に用いた全体モデル集合の揺らぎを用いて、算出されたものであれば他の方法によって算出されたものでもよい。
【００６７】
例えば、閾値１２４は、「全体モデル集合のうち、１つの全体モデルを除いて、コアモデル（全体モデル部分集合コアモデル）を生成し、コアモデルと全体モデル部分集合コアモデルの距離の減少レートを計算し、全体モデル集合から除く全体モデルを替えて、全通り計算したときの最大減少レートにコアモデルの大きさをかけたもの」（以下、閾値１２４２とする）でもよい。この最大減少レートは、全体モデルの数をＮ個とすると、各全体モデル部分集合コアモデルに含まれるモデルの数をｃｎ、各全体モデル部分集合コアモデルの生成に用いなかった全体モデルと各全体モデル部分集合コアモデルに共通で含まれるモデルの数をｚｎ、とするとａｒｇｍａｘ｛（ｚｎ−ｃｎ）／ｃｎ｝で得られる。また、誤報の発生が嫌忌されない場合は、閾値を０に設定してもよい。
【００６８】
また、本実施形態では、異常判定の閾値１２４を１つだけ設定したが、複数設定してもよい。図８は、異常判定の閾値として２つの閾値が設定される場合における、全体モデル数と閾値（距離）の関係を示す説明図である。この例では、より高い閾値をあたえるものが警告レベル、より低い閾値をあたえるものが注意レベルとなる。図８では、警告レベルの閾値に、上記閾値１２４１が用いられており、注意レベルの閾値に閾値１２４２が用いられている。
【００６９】
なお、閾値１２４は、算出に用いた全体モデル数が多いほど低くなる。これは、全体モデル集合に含まれる全体モデルの数（全体モデル集合のサイズ）が増えると、コアモデルの不定性が減少し、コアモデルと、新たに追加される全体モデルがとる距離が小さくなるためである。これら二つの定義を用いて、異常判定の閾値を設定した場合、高い閾値が警告レベル、低い閾値が注意レベルとなる。図９は、図２に示すデータを用いて、図８に示す閾値を求めた場合の、２つの閾値を示す説明図である。
【００７０】
また、本実施形態では、全体モデル記憶部１１２１に記憶されている全体モデル集合を用いて、コアモデルを生成し、異常判定の閾値１２４を設定したが、全体モデル集合の一部だけを対象として、コアモデルを生成し、異常判定の閾値１２４を設定してもよい。全体モデル集合の一部を選択する方法には、例えば、全体モデルを取得した時系列に着目し、直近に取得されたＮ個に限定する方法がある。ここで、Ｎは整数である。
【００７１】
また、本実施形態では、被監視システムを、サーバ装置やネットワーク装置等を被監視装置２００として含むＩＴシステムとしたが、被監視システムの相関モデルを生成し、相関破壊により異常要因を判定できれば、被監視システムは他のシステムでもよい。例えば、被監視システムは、プラントシステム、構造物、輸送機器等であってもよい。この場合、システム分析装置１００は、例えば、各種センサの値をメトリックとして監視モデルを生成し、モデル破壊の検出、異常要因の候補の抽出を行う。
【００７２】
本実施形態のシステム分析装置１００によれば、発生頻度が少ないイベントの監視に適用可能なシステム分析装置、システム分析方法及びシステム分析プログラムを提供することができる。その理由は、コアモデル生成部１０２３が、イベントに対して特徴的な振る舞いをコアモデルとして抽出し、さらに、閾値設定部１０２４がイベントの発生頻度が低いことに起因する不定性を考慮して閾値を設定するため、発生頻度が少なくとも、確度の高い情報が、監視モデルから得られるためである。また、算出された閾値は、収集したイベントの回数不足に起因する不定性に対応しており、これを超える変化は、明らかな異常と言える。よって、本実施形態のシステム分析装置１００によれば、発生頻度が少ないイベントに関して、明確な異常判定の基準を提供している。さらに、本実施形態のシステム分析装置１００によれば、イベントに関して特徴的な振る舞いを自動的に抽出することができるため、監視工数の削減が可能である。
【００７３】
図１０は、本発明によるシステム分析装置の主要部を示すブロック図である。図１０に示すように、本発明によるシステム分析装置は、主要な構成として、システムの要素または全体をモデル化した、複数の部分モデルを含む全体モデルを生成する全体モデル生成部１０２１と、同一イベントに基づいて生成された複数の全体モデルから、予測精度が予め定められた基準を満たす部分モデルを抽出し、当該部分モデルを統合したコアモデルを生成するコアモデル生成部１０２３と、予め定められた定義を用いて、コアモデルと複数の全体モデルとの距離を算出し、当該距離を、コアモデルを用いた異常判定における閾値として出力する閾値設定部１０２４とを備える。
【００７４】
（１）システムにおいて監視対象のイベントが発生した場合に、予め定められた定義を用いて、コアモデル（例えば、コアモデル１２３ａ）と当該イベントに基づいて生成された新たな全体モデルとの距離を算出し、当該距離と閾値とを比較することによりモデル破壊を検出するモデル破壊検出部を備えたシステム分析装置。
【００７５】
（２）システム分析装置は、コアモデル生成部（例えば、コアモデル生成部１０２３）が、同一イベントに基づいて生成された複数の全体モデル（例えば、全体モデル１２２ａ〜全体モデル１２２ｄ）に共通に含まれ、全ての全体モデルにおいて予測精度が予め定められた値以上である部分モデル（例えば、図２におけるＭｏｄｅｌ２、Ｍｏｄｅｌ４、Ｍｏｄｅｌ５、Ｍｏｄｅｌ８）を統合したコアモデルを生成するように構成されていてもよい。
【００７６】
（３）システム分析装置は、コアモデル生成部が、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての全体モデルにおいて予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成するように構成されていてもよい。
【００７７】
（４）システム分析装置は、コアモデル生成部が、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての全体モデルにおいて予測精度が予め定められた値以上であり、かつ予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成するように構成されていてもよい。
【００７８】
（５）システム分析装置は、コアモデル生成部が、同一イベントに基づいて生成された複数の全体モデルに共通に含まれ、全ての全体モデルにおいて予測精度が予め定められた値以上であるか、または予測精度の分散が予め定められた値以下である部分モデルを統合したコアモデルを生成するように構成されていてもよい。
【００７９】
（６）システム分析装置は、閾値設定部（例えば、閾値設定部１０２４）が、複数の全体モデルのうち１つの全体モデルを除いた全体モデル部分集合を生成し、当該全体モデル部分集合のコアモデル（例えば、全体モデル部分集合コアモデル）を、除かれる当該全体モデル毎に部分コアモデル（例えば、図３におけるｗ／ｏ  ２０００／１２／２４〜ｗ／ｏ  ２００３／１２／２４）として生成し、予め定められた定義を用いて、全ての当該部分コアモデルとコアモデル生成部が生成したコアモデルとの距離を算出し、最大距離を閾値とするように構成されていてもよい。
【００８０】
（７）システム分析装置は、閾値設定部が、コアモデルと全体モデルとの距離として、部分モデルの予測精度のハミング距離を用いるように構成されていてもよい。
【００８１】
（付記）システム分析装置は、閾値設定部が、コアモデルと全体モデルとの距離として、部分モデルの予測精度の１−コサイン類似度を用いるように構成されていてもよい。
【００８２】
この出願は、２０１３年６月２５日に出願された日本出願特願２０１３−１３２２２６、および２０１３年８月２７日に出願された日本出願特願２０１３−１７５１７６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００８３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【００８４】
本発明は、監視モデル上で検出されたモデル破壊により、システムの異常や障害の検知および要因判定に適用できる。
【符号の説明】
【００８５】
１００    システム分析装置
１０１    性能情報収集部
１０２    モデル生成部
１０２１  全体モデル生成部
１０２２  監視モデル生成部
１０２３  コアモデル生成部
１０２４  閾値設定部
１０３    モデル破壊検出部
１０４    異常要因抽出部
１１１    性能情報記憶部
１１２    モデル記憶部
１１２１  全体モデル記憶部
１１２２  監視モデル記憶部
１１３    モデル破壊記憶部
２００    被監視装置
【図１】
2014208002.tif 000003
【図２】
2014208002.tif 000004
【図３】
2014208002.tif 000005
【図４】
2014208002.tif 000006
【図５】
2014208002.tif 000007
【図６】
2014208002.tif 000008
【図７】
2014208002.tif 000009
【図８】
2014208002.tif 000010
【図９】
2014208002.tif 000011
【図１０】
2014208002.tif 000012
【国際調査報告】
2014208002.tif 000013
2014208002.tif 000014