(57)【要約】【課題】計算コストを抑え、かつ、しきい値を決定することなく、精度の高い異常兆候検出を行う。【解決手段】本発明の一態様としての異常兆候判定方法は、監視対象装置から複数の監視項目からなるデータ列を定期的に取得し、定期的に取得されるデータ列をデータ一時記憶部に記憶し、前記データ一時記憶部に記憶されたデータ列を用いて前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算し、前記データ取得部により取得されるデータ列を、各前記監視項目の平均およびばらつきを用いて正規化し、正規化された前記データ列における各監視項目間の相関関係と、前記相関関係情報に示される相関関係との距離を計算し、前記距離が、ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する。【選択図】図１
2008146591.tif 000002
【特許請求の範囲】
【請求項１】
監視対象装置から複数の監視項目からなるデータ列を所定または任意の時間間隔で取得するデータ取得部と、
各取得されるデータ列を一時記憶するデータ一時記憶部と、
前記データ一時記憶部に記憶された各データ列を用いて前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算するデータ計算部と、
前記データ取得部により取得されるデータ列を、前記データ計算部により計算された各前記監視項目の平均およびばらつきを用いて正規化する正規化部と、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記正規化されたデータ列について計算する距離計算部と、
計算された前記距離が、ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する異常兆候判定部と、
を備えた異常兆候検出装置。
【請求項２】
前記データ計算部は、前記相関関係情報として、監視項目間の相関係数行列の逆行列を計算し、
前記距離計算部は、前記正規化されたデータ列と、前記逆行列とを用いた演算を行うことにより前記距離を計算する、ことを特徴とする請求項１に記載の異常兆候検出装置。
【請求項３】
前記距離はマハラノビス距離であることを特徴とする請求項２に記載の異常兆候検出装置。
【請求項４】
前記データ計算部は、前記相関関係情報として、監視項目間の相関係数行列の逆行列を計算し、
前記距離計算部は、
前記正規化されたデータ列と、前記相関係数行列の逆行列とを用いた演算を行うことにより第１の距離を計算し、
前記正規されたデータ列と、前記監視項目の個数の大きさの単位行列とを用いた演算を行うことにより第２の距離を計算し、
前記第１の距離を前記第２の距離で除算することにより前記距離を計算する、
ことを特徴とする請求項１に記載の異常兆候検出装置。
【請求項５】
前記第１の距離はマハラノビス距離であり、前記第２の距離はユークリッド距離であることを特徴とする請求項４に記載の異常兆候検出装置。
【請求項６】
各前記監視項目に対し第１ラベルまたは第２ラベルを設定したリスト情報を記憶するリスト記憶部と、
前記監視対象装置が再起動されたことを検出する再起動検出部と、をさらに備え、
前記データ計算部は、前記再起動が検出され、かつ、各前記監視項目の少なくとも１つに前記第２ラベルが設定されている場合、前記平均、ばらつき、および相関関係情報を再計算する、
ことを特徴とする請求項１〜５のいずれか一項に記載の異常兆候検出装置。
【請求項７】
前記データ取得部により取得されたデータ列を前処理する前処理部をさらに備えたことを特徴とする請求項１〜６のいずれか一項に記載の異常兆候検出装置。
【請求項８】
前記異常兆候判定部は、前記距離の移動平均が前記所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定することを特徴とする請求項１〜７のいずれか一項に記載の異常兆候検出装置。
【請求項９】
前記ある確率分布は、カイ２乗分布であることを特徴とする請求項１〜８のいずれか一項に記載の異常兆候検出装置。
【請求項１０】
前記データ取得部は、２つ以上の監視対象装置を有する監視対象システムから、前記複数の監視項目からなるデータ列を所定または任意の時間間隔で取得し、
前記異常兆候判定部は、前記監視対象システムに異常兆候があるか否かを判定する、
ことを特徴とする請求項１〜９のいずれか一項に記載の異常兆候検出装置。
【請求項１１】
監視対象装置から第１〜第ｎの複数の監視項目からなる第１〜第ｎのデータ列を所定または任意の時間間隔で取得する第１データ取得部と、
各取得される第１〜第ｎのデータ列を一時記憶する第１データ一時記憶部と、
前記第１データ一時記憶部に記憶された各第１〜第ｎのデータ列の各々から、前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算する第１データ計算部と、
前記第１データ取得部により取得される第１〜第ｎのデータ列の各々を、それぞれに対応する各前記監視項目の平均およびばらつきを用いて正規化する第１正規化部と、
正規化された第１〜第ｎのデータ列と前記正規化された第１〜第ｎのデータ列の各々に対応する相関関係情報とを用いた演算を行うことにより各前記相関関係情報に示される相関関係からの距離を前記正規化された第１〜第ｎのデータ列の各々について計算する第１距離計算部と、
計算された各前記距離と、ある確率分布とから、各前記距離以下となる確率値をそれぞれ計算する確率値計算部と、
計算された各前記確率値をそれぞれ監視項目とするデータ列を所定または任意の時間間隔で取得する第２データ取得部と、
各取得される前記データ列を一時記憶する第２データ一時記憶部と、
前記第２データ記憶部に記憶された各データ列から、前記監視項目ごとの平均およびばらつき、各前記監視項目間の相関関係を表す相関関係情報を計算する第２データ計算部と、
前記２データ取得部により取得される前記データ列を各前記監視項目の平均およびばらつきを用いて正規化する第２正規化部と、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記正規化されたデータ列について計算する第２距離計算部と、
計算された前記距離が、前記ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する異常兆候判定部と、
を備えた異常兆候検出装置。
【請求項１２】
前記第１データ取得部は、２つ以上の監視対象装置を有する監視対象システムから前記第１〜第ｎのデータ列を所定または任意の時間間隔で取得し、
前記異常兆候判定部は、前記監視対象システムに異常兆候があるか否かを判定する、
することを特徴とする請求項１１に記載の異常兆候検出装置。
【請求項１３】
前記第１〜第ｎの複数の監視項目の各監視項目に対し第１ラベルまたは第２ラベルを設定したリスト情報を記憶するリスト記憶部と、
前記監視対象システムにおける前記監視対象装置が再起動されたことを検出する再起動検出部と、をさらに備え、
前記第１データ計算部は、前記再起動が検出され、かつ、再起動された前記監視対象装置に関連する前記複数の監視項目において少なくとも１つの監視項目に前記第２ラベルが設定されている場合、該複数の監視項目からなるデータ列から、前記平均、ばらつき、および相関関係情報を再計算し、
前記第２データ計算部は、前記第１データ計算部による再計算が行われた場合、前記平均、ばらつき、および相関関係情報を再計算する、
ことを特徴とする請求項１１に記載の異常兆候検出装置。
【請求項１４】
監視対象装置から複数の監視項目からなるデータ列を所定または任意の時間間隔で取得し、
各取得されるデータ列をデータ一時記憶部に一時記憶し、
前記データ一時記憶部に記憶された各データ列を用いて前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算し、
前記データ取得部により取得されるデータ列を、各前記監視項目の平均およびばらつきを用いて正規化し、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記正規化されたデータ列について計算し、
前記距離が、ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する、異常兆候検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視対象装置の異常兆候を検出する異常兆候検出装置および方法に関し、例えば単一のコンピュータ、または複数のコンピュータからなるシステム（ソリューション）の異常兆候を検出する技術に関する。
【背景技術】
【０００２】
コンピュータを監視して得られるデータ、特に情報源の特徴が変化するデータ（非定常なデータ）を用いて、コンピュータの異常兆候を検出する方法として、監視されたデータに対して専門家知識によりしきい値判定を行う方法（特許文献１）、過去の類似監視データによる学習結果を利用して現在の監視データの状況を類推する方法（特許文献２〜４）、モデルを変化させながら状況に応じた検出・予測を行う方法（特許文献５〜６）がある。
【特許文献１】特開２００１−３１２３７５公報
【特許文献２】特開２００５−３０９７３３公報
【特許文献３】特開２００４−２１３６１８公報
【特許文献４】特開平１１−３３８８４８公報
【特許文献５】特開２００５−１４１６０１公報
【特許文献６】特開２００４−５４３７０公報
【非特許文献１】田口玄一，研究開発の戦略〜華麗なるタグチメソッドの真髄〜，日本規格協会（２００５）
【非特許文献２】大西孝一，テレメータリングによるレース車両の異常診断システムの作成，第１０回品質工学研究発表大会論文集（２００２）
【非特許文献３】Pieter Adriaans，Dolf Zantinage（著），山本英子，梅村恭司（訳）データマイニング，共立出版（１９９８）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１のような専門知識を利用したしきい値判定は、比較的精度が高いとされるが、事前のしきい値設定に困難を伴うことが多く、また非常に複雑な状態の判断は非常に困難である。
【０００４】
コンピュータ、ソリューション（ネットワーク接続された複数のコンピュータ）から取得できる監視項目データは、個々のコンピュータ、ソリューションによって大きく値や傾向が異なるだけでなく、再起動によってその振る舞いが異なる項目も存在するため、類似監視データによる学習によって検出、予測を行う特許文献２〜４では精度高く分析を行うことができない。
【０００５】
特許文献５〜６は、非常に近隣の過去のデータから学習することによって、個々の状態が異なる場合でも精度高く異常検出ができるとともに、過去のデータを少しずつ忘れる逐次学習を用いることによって計算コストも抑えられている。特に特許文献６では非定常データに対しても有効な手法である。しかしながら、異常状態を判定するしきい値の設定に関しては出力結果からの人間による判断が必要とする。
【０００６】
コンピュータの正常動作空間が空間の端になるようなモデルを設計し、かつ、正常動作する空間をすべて網羅することができれば、マハラノビス距離がほぼカイ２乗分布に従うことが知られているため、非特許文献１のマハラノビスタグチ法を利用することでしきい値の設定なく異常兆候を判定することが可能であるが、正常空間をすべて網羅できるデータを与えることが非常に困難であるため、しきい値の設定には試行錯誤を必要とする。
【０００７】
本発明は、計算コストを抑えつつ精度の高い異常兆候検出を行うことが可能な異常兆候検出装置および方法を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様としての異常兆候検出装置は、
監視対象装置から複数の監視項目からなるデータ列を所定または任意の時間間隔で取得するデータ取得部と、
各取得されるデータ列を一時記憶するデータ一時記憶部と、
前記データ一時記憶部に記憶された各データ列を用いて前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算するデータ計算部と、
前記データ取得部により取得されるデータ列を、前記データ計算部により計算された各前記監視項目の平均およびばらつきを用いて正規化する正規化部と、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記データ列について計算する距離計算部と、
計算された前記距離が、ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する異常兆候判定部と、
を備える。
【０００９】
本発明の一態様としての異常兆候判定装置は、
監視対象装置から第１〜第ｎの複数の監視項目からなる第１〜第ｎのデータ列を所定または任意の時間間隔で取得する第１データ取得部と、
各取得される第１〜第ｎのデータ列を一時記憶する第１データ一時記憶部と、
前記第１データ一時記憶部に記憶された各第１〜第ｎのデータ列の各々から、前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算する第１データ計算部と、
前記第１データ取得部により取得される第１〜第ｎのデータ列の各々を、それぞれに対応する各前記監視項目の平均およびばらつきを用いて正規化する第１正規化部と、
正規化された第１〜第ｎのデータ列の各々と前記相関関係情報とを用いた演算を行うことにより各前記相関関係情報に示される相関関係からの距離を前記正規化された第１〜第ｎのデータ列の各々について計算する第１距離計算部と、
計算された各前記距離と、ある確率分布とから、各前記距離以下となる確率値をそれぞれ計算する確率値計算部と、
計算された各前記確率値をそれぞれ監視項目とするデータ列を所定または任意の時間間隔で取得する第２データ取得部と、
各取得される前記データ列を一時記憶する第２データ一時記憶部と、
前記第２データ記憶部に記憶された各データ列から、前記監視項目ごとの平均およびばらつき、各前記監視項目間の相関関係を表す相関関係情報を計算する第２データ計算部と、
前記２データ取得部により取得される前記データ列を各前記監視項目の平均およびばらつきを用いて正規化する第２正規化部と、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記正規化されたデータ列について計算する第２距離計算部と、
計算された前記距離が、前記ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する異常兆候判定部と、
を備える。
【００１０】
本発明の一態様としての異常兆候判定方法は、
監視対象装置から複数の監視項目からなるデータ列を所定または任意の時間間隔で取得し、
各取得されるデータ列をデータ一時記憶部に一時記憶し、
前記データ一時記憶部に記憶された各データ列を用いて前記監視項目ごとの平均およびばらつきを計算し、また各前記監視項目間の相関関係を表す相関関係情報を計算し、
前記データ取得部により取得されるデータ列を、各前記監視項目の平均およびばらつきを用いて正規化し、
正規化された前記データ列と前記相関関係情報とを用いた演算を行うことにより前記相関関係情報に示される相関関係からの距離を前記データ列について計算し、
前記距離が、ある確率分布における所定の信頼区間に入るか否かにより前記監視対象装置に異常兆候があるか否かを判定する。
【発明の効果】
【００１１】
本発明により、計算コストを抑えつつ精度の高い異常兆候検出を行うことが可能となる。
【発明を実施するための最良の形態】
【００１２】
「発明を実施するための最良の形態」の欄の最後に掲げた表１は本発明の第１の実施形態に係る異常兆候検出装置の監視項目として有効と判断されるものの一例を経年劣化型監視項目、非経年劣化型監視項目に分類してリスト化したものである。表１は例えばリスト情報に相当する。
【００１３】
第１列目はプロトコルなどの名称を表し、第２列目は監視項目の名称を表す。１つの名称に対して複数のインスタンスが存在する場合もある。例えば、Win32_Process.PageFileUsageは、起動しているプロセス全てに対して値を持っている。第３列目のクラスは、監視項目が「経年劣化型監視項目」であるか「非経年劣化型監視項目」であるかを示し、Ｈ／Ｗ（ＨＡＲＤＷＡＲＥ）は経年劣化型監視項目、Ｓ／Ｗ（ＳＯＦＴＷＡＲＥ）は非経年劣化型監視項目を表す。Ｈ／Ｗは第１ラベルに相当し、Ｓ／Ｗは第２ラベルに相当する。第４列目は、監視項目に対する解説（コメント）を表す。
【００１４】
ここで「経年劣化型監視項目」は、経年劣化によってパフォーマンスが減少する監視項目（主としてハードウェアの状態に関する監視項目）である。経年劣化型監視項目は、第１ラベルが設定された監視項目に相当する。一方、「非経年劣化型監視項目」はコンピュータの再起動によって状態が完全に初期化される監視項目である（主としてソフトウェアの状態に関する監視項目）。非経年劣化型監視項目は、第２ラベルが設定された監視項目に相当する。なお、前者の「経年劣化型監視項目」はコンピュータの再起動によってもパフォーマンスが減少するものである。
【００１５】
表１に示すような各監視項目のデータを監視対象装置から取得し検査して、異常兆候の有無の検出を行う、本発明の第１の実施形態に係る異常兆候検出装置の構成を図１に示す。
【００１６】
図１の異常兆候検出装置４は、入力部１から監視すべき複数の監視項目を指定した情報（監視項目情報）と、各監視項目について監視データを取得する間隔（データ取得間隔）とを受け取り、受け取った監視項目情報およびデータ取得間隔にしたがって監視対象装置３から各監視項目のデータを監視データ列として取得する。監視対象として、監視対象装置３の代わりに、複数の監視対象装置がネットワーク接続されたソリューション（監視対象システム）から監視データ列を取得してもよい。異常兆候検出装置４は、取得した監視データ列（各監視項目のデータ）から監視対象装置３の異常兆候の検出等の処理を行い、処理の結果を出力部２を介して出力する。
【００１７】
入力部１、出力部２および異常兆候検出装置４は、汎用コンピュータにより実現可能である。例えば入力部１による情報の取得は、マウスまたはキーボードなどの入力装置からの情報の入力として実現してもよいし、外部記憶装置からのデータ入力、外部装置からの通信によるデータの取得として実現してもよい。出力部２は、プリンタまたはＬＣＤ（液晶表示装置）等の装置として構成されてもよい。異常兆候検出装置４は、コンピュータの本体であり、例えば、ＣＰＵ（中央演算処理装置）、プログラムなどを記憶するためのＲＯＭおよび記憶装置、および演算などの実行時に作業領域として使用されるＲＡＭ等の各種装置を含む。監視対象装置３は、ネットワーク情報、ソフトウェア情報、ハードウェア情報などを有している。
【００１８】
異常兆候検出装置４は、動作設定部４１と、データ取得部４２と、データ一次加工部４３と、単位空間生成部４４と、単位空間記憶部４５と、正規化部４６と、距離計算部４７と、異常兆候判定部４８とを備えている。データ一次加工部４３は例えば前処理部に相当する。異常兆候判定部４８は例えば確率値計算部を含んでおり、単位空間生成部４４は例えばデータ一時記憶部、データ計算部、再起動検出部を含んでいる。
【００１９】
動作設定部４１は、入力部１から入力された監視項目情報およびデータ取得間隔を単位空間記憶部４５へ記録する。また、動作設定部４１は、監視項目情報に指定される複数の監視項目の中に非経年劣化型監視項目が含まれるか否か（非経年劣化型監視項目の有無）を記録する。
【００２０】
データ取得部４２は、ＷＭＩ（Windows（登録商標） Management Instrumentation）、ＳＮＭＰ（Simple Network Management Protocol）、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Self-Monitoring, Analysis and Reporting Technology）などを利用して、監視対象装置３から監視項目情報に指定される複数の監視項目からなる監視データ列を上記データ取得間隔で取得する。
【００２１】
データ一次加工部４３は、非特許文献３に記述されたデータマイニングの前処理であるデータ選択（data selection）、データ洗浄（cleaning）、データのコード化（coding）処理などを行う。この前処理は一次加工と称されることもある。データ取得部４２から逐次入力される監視データ列を一次加工する。
【００２２】
単位空間生成部４４は、データ一次加工部４３で変換された監視データ列を複数用いて、監視項目ごとに平均および分散を計算し、また監視項目間の相関関係を表す相関係数行列および相関係数逆行列を計算する。分散はばらつきの一例である。相関係数行列および相関係数逆行列は相関関係情報の一例である。
【００２３】
単位空間記憶部４５は、単位空間生成部４４によって計算された監視項目ごとの平均および分散と、相関係数行列および相関係数逆行列とを記憶する。平均、分散、相関係数逆行列、相関係数逆行列の集合は単位空間に相当する。監視対象装置３が正常状態のときに収集された監視データ列から生成された単位空間は正常状態の単位空間に相当する。
【００２４】
図４（Ａ）〜図４（Ｆ）は、単位空間記憶部４５の記憶内容の例を示す。監視項目はＸ１〜Ｘ１３０の１３０個あり、これらの監視項目の中に非経年劣化型監視項目が存在するため「非経年劣化項目有無」の値は「ＴＲＵＥ」となっている。図４（Ｆ）は各監視項目の名称、図４（Ｂ）は監視項目ごとの監視データの平均、図４（Ｃ）は監視項目ごとの監視データの分散、図４（Ｄ）は監視項目間の相関係数行列、図４（Ｅ）は当該相関係数行列の逆行列を表している。
【００２５】
正規化部４６は、データ一次加工部４３で前処理された監視データ列を単位空間記憶部４５に記憶された監視項目ごとの平均および分散を利用して正規化する。
【００２６】
距離計算部４７は、正規化部４６によって正規化された監視データ列と、単位空間記憶部４５に記憶された相関係数逆行列とを利用して、監視項目間の相関を考慮した、単位空間からの距離と、監視項目間の相関を考慮しない、単位空間からの距離とを計算する。
【００２７】
異常兆候判定部４８は、距離計算部４７で計算された監視項目間の相関を考慮した単位空間からの距離と、監視項目間の相関を考慮しない単位空間からの距離とを利用して、しきい値を必要としない異常兆候判定（異常兆候があるか否かの判定）を行い、判定の結果等を出力部２へ出力する。
【００２８】
以上のように構成された異常兆候検出装置４の動作の一例を図２と図３を参照して説明する。図２は、異常兆候検出装置４の概略動作を説明するフローチャートであり、図３は図２の単位空間生成処理（Ｓ４０６）の詳細を説明するフローチャートである。なお、本例では単位空間を１つのみ生成することを想定する。
【００２９】
動作設定部４１は、入力部１から入力される監視項目情報およびデータ取得間隔を単位空間記憶部４５へと記録するなどして、異常兆候検出装置の動作の初期設定を行う（Ｓ４００）。初期設定の詳細を、図５を用いて説明する。
【００３０】
図５は、入力部１から監視項目情報として、監視項目Ｘ１〜Ｘ１３０を入力し、データ取得間隔を１分（６０秒）とした場合の例を示している。まず、図５（Ｆ）に示される、入力部１から入力された監視項目情報（Ｘ１〜Ｘ１３０）の名称あるいはＩＤを配列に記憶する。続いて、図５（Ａ）の「項目数」として１３０、「取得間隔」として６０(s)を記録する。また表１のクラス（Ｈ／Ｗ、Ｓ／Ｗ）を参照することで、非経年劣化型監視項目が上記１３０個の監視項目に含まれるか否かを判断し、判断の結果を２値データにより「非経年劣化項目有無」の欄に記憶する。ここでは非経年劣化型監視項目が含まれるため、「Ｔｒｕｅ」が記録されている。そして平均および分散に関しては項目数だけの配列サイズを持つメモリ領域を割り当て（（Ｂ）、（Ｃ））、相関係数行列および相関係数逆行列に関しては項目数×項目数となる行列サイズを持つメモリ領域を割り当て（（Ｄ）、（Ｅ））、単位行列になるように初期化しておく。動作設定部４１は、単位空間の初期化を指示する初期化指示情報が入力部１から入力された場合には、単位空間記憶部４５に記憶された単位空間（平均、分散、相関係数行列、相関係数逆行列）を初期化するものとする。
【００３１】
データ取得部４２は、単位空間記憶部４５内の監視項目情報に指定される複数の監視項目のデータ（監視データ列）を監視対象装置３から取得する（Ｓ４０１）。監視項目は、ＷＭＩ、ＳＮＭＰ、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．などで提供される項目であっても良いし、独自に開発した項目であっても良いし、将来提供されると予測される項目であっても良い。監視データ列を取得する方法は任意であるが、単位空間記憶部４５に記憶されているデータ取得間隔で定期的に（所定の時間間隔で）取得することが望ましく、本例では該データ取得間隔で監視データ列を取得するものとする。ただし任意の時間間隔で監視データ列を取得してもよい。
【００３２】
データ一次加工部４３は、データ取得部４２により取得された監視データ列に対し一次加工（前処理）を施す（Ｓ４０２）。前処理の一例であるデータ選択としては、フィルター法・ラッパー法など既存の（さらには今後研究される汎用の）属性選択アルゴリズム、専門家知識による絞りこみルールがある。データ洗浄としては、時刻ｔにおいて取得した監視データ列において、上限下限を超えるような明らかに矛盾する値を含む監視データが含まれる場合に時刻ｔの監視データ列を取り扱わないなどがある。データコード化としては、総回数（例えばエラーの発生回数の累計など）を表す項目の階差を監視データ列間でとって単位時間当たりの回数に変換するという処理や、対象に対する知識により複数の監視項目を有用な１つの変数（項目）に置換する（あるいは追加する）方法など、既存に存在する手法を用いる。
【００３３】
単位空間生成部４４は、必要に応じて新たな単位空間（平均、分散、相関係数行列、相関係数逆行列）を計算し記憶する。具体的には、まず、データ一次加工部４３から出力された監視データ列に非経年劣化型監視項目が含まれるか否かを確認する（Ｓ４０３）。非経年劣化型監視項目が含まれる場合（Ｓ４０３のＹＥＳ）、監視データ列の取得の直前に監視対象装置３の再起動が行われているか否かを確認する（Ｓ４０４）。直前に再起動が行われていた場合（Ｓ４０４のＹＥＳ）、単位空間生成処理（Ｓ４０６）に進む。一方、直前に監視対象装置３の再起動が行われていない場合（Ｓ４０４のＮＯ）または非経年劣化型監視項目が含まれない場合（Ｓ４０３のＮＯ）、単位空間記憶部４５に生成しようとする単位空間が記憶されているか否かを確認し（Ｓ４０５）、単位空間記憶部４５に生成しようとする単位空間が記憶されていない場合（Ｓ４０５のＹＥＳ）、単位空間生成処理（Ｓ４０６）に進む。
【００３４】
単位空間生成処理では、まず図３に示すように単位空間記憶部４５に記憶されている情報のうち以下のものを初期化する（Ｓ４０７）。すなわち、生成しようとする単位空間の全ての監視項目の平均および分散を０にし、また読み込んだ監視データ列の数（読み込みデータ数）を０にし、監視項目間の相関係数行列および相関係数逆行列を単位行列化する。本ステップＳ４０７はＳ４０４のＹＥＳを経てＳ４０７にきた場合にのみ行うものとし、Ｓ４０５を経てきた場合には行わないものとする。
【００３５】
続いて、単位空間記憶部４５に記憶された読み込みデータ数を１つインクリメントし、単位空間記憶部４５に記憶された平均、分散、相関係数行列を更新する（Ｓ４０８）。このとき、分散が０にならないように、非常に微少なノイズを与えて計算を行う。ノイズは、ガウス分布に従うことが望ましいが、その他の分布関数に従っても構わない。ノイズを与えることの効果に関しては、非特許文献２において報告されている。
【００３６】
所定の単位空間生成条件が満たされているか否かを判断し（Ｓ４０９）、当該条件が満たされていない場合（Ｓ４０９のＮＯ）、単位空間を生成することなく、ステップＳ４０１の監視データの取得処理に戻る（この後、Ｓ４０５のＹＥＳを経てＳ４０７に戻ることとなる）。ここで所定の単位空間生成条件は、読み込みデータ数が、少なくとも監視項目数の３倍以上のデータ数（指定データ数）であることとする。指定データ数は、設計者が予め固有の数値を決定しても良いし、監視項目数などを考慮した関数によって求めても良いし、入力部１から利用者が指定しても良い。
【００３７】
ステップＳ４０９において、所定の単位空間生成条件が満たされている場合（Ｓ４０９のＹＥＳ）、単位空間記憶部４５に記憶された相関係数行列を使って相関係数逆行列を計算し、単位空間記憶部４５に記憶し、これにより単位空間（平均、分散、相関係数行列、相関係数逆行列）が生成される（Ｓ４１０）。先にも示した図４は、単位空間の生成後における単位空間記憶部４５の状態の一例を表している。
【００３８】
単位空間を生成するプロセスであるステップＳ４０８〜Ｓ４１０は、仮平均（Ｓ４０８で逐次更新される平均）を利用した上記効率的な方法以外にも、上記所定の単位空間生成条件を満たす数の監視データ列が記憶装置に蓄積されてから、平均、分散、相関係数行列を計算してもよい。さらに上記所定の単位空間生成条件を満たす数のデータ列を蓄積してから計算を行う場合、まず平均、分散を求めた後、蓄積した全ての監視データ列を後述の数式（１）によって正規化し、正規化した全ての監視データ列から分散・共分散行列を求めても良い。正規化した各監視データ列から計算される分散・共分散行列は相関係数行列に相当するためである。
【００３９】
単位空間を生成する必要がない場合（Ｓ４０５のＮＯ）、すなわち、（１）非経年劣化型監視項目が１つも含まれない場合または（２）非経年劣化型監視項目が１つ以上含まれるが直前に再起動されておらずかつ単位空間が生成済みである場合、Ｓ４１１に進み、正規化部４６は、ステップＳ４０２において一次加工された監視データ列を、数式（１）を利用して正規化する。
Ｘ（ｔ）=｛（ｘ１（ｔ）−ｍ１）／σ１，…，（ｘｋ（ｔ）−ｍｋ）／σｋ ｝・・・（１）
【００４０】
ｘｉ（ｔ）、ｍｉ、σｉはそれぞれｉ番目の監視項目の１次加工データ値、平均、標準偏差を表している。標準偏差が０の場合、数式（１）を計算できないため、ステップＳ４０８での平均および分散の計算において、非常に微少なノイズを与えている。
【００４１】
距離計算部４７は、ステップＳ４１１において正規化された監視データ列と、単位空間記憶部４５に記憶された相関係数逆行列とを用いて、監視項目間の相関を考慮した単位空間からの距離と、監視項目間の相関を考慮しない単位空間からの距離とを計算する（Ｓ４１２）。具体例として、監視項目間の相関を考慮した距離の計算式を数式（２）、監視項目間の相関を考慮しない距離の計算式を数式（３）として示す。
ＤＭ（ｔ）2 = １／ｋ ・Ｘ（ｔ）・Ｒ−１・Ｘ（ｔ）Ｔ・・・（２）
【００４２】
数式（２）は、監視項目間の相関と、監視項目ごとの値の変化との両方を考慮した距離の計算関数の一例であり、タグチメソッドにおけるマハラノビス距離と呼ばれる。Ｘ（ｔ）はステップＳ４１１において正規化された時刻ｔの監視データ列であり、Ｘ（ｔ）Ｔは、Ｘ（ｔ）の転置行列である。またＲ−１は逆相関係数行列であり、ｋは監視項目数である。
【００４３】
マハラノビス距離は変量間（監視項目間）の相関を考慮した距離尺度であるため、例えば、ＣＰＵ負荷が高い場合にＣＰＵ温度も高いという相関があるにもかかわらずＣＰＵ負荷が低いのにＣＰＵ温度が高いことを示す監視データ列が得られた場合に、大きな値を取ることができる。このように、単位空間と傾向が異なるデータに対して感度が高いため、異常兆候の検出に非常に役に立つとされる。
【００４４】
一般的に、数式（２）で与えられるマハラノビス距離は６以上の値をとる場合は極めて稀であるとされるため、しきい値を６に設定すればよいと考えられているが、単位空間の生成に用いるデータが十分でないと、変量（監視項目）間の相関の変化ではなく、変量（監視項目）の値そのものの変化による距離の変化が大きく寄与するため一概に決定することはできない問題がある。特に、監視対象装置として計算機を対象にした場合、起こり得るほぼ全ての正常パターンの監視データ列を得ることは難しく、しきい値の決定は試行錯誤的になる問題を抱える。そこで、変量（監視項目）の値そのものの変化による距離の変化を打ち消すために、本実施形態では後述するように監視項目間の相関を考慮しない距離との差分を計算する。
【００４５】
したがって、監視対象となるコンピュータ（例えばパーソナルコンピュータ）あるいはソリューションの異常兆候検出において、単位空間の生成時に正常状態における各監視項目の値をすべて網羅できる環境であれば、後述の数式（４）をＹ（ｔ）＝ＤＭ（ｔ）2としても良い。
ＤＥ（ｔ）2 = １／ｋ ・Ｘ（ｔ）・Ｅ・Ｘ（ｔ）Ｔ・・・（３）  
【００４６】
数式（３）は、監視項目間の相関を考慮しない距離（すなわち監視項目ごとの値の変化のみを考慮した距離）の計算関数の一例であり、ユークリッド距離と呼ばれる。数式（２）の距離の大きさに合わせるため、監視項目数ｋで除算しているのが特徴である。Ｘ（ｔ）はステップＳ４１１において正規化された時刻ｔの監視データ列であり、Ｅは単位空間記憶部４５に記憶された相関係数行列と同じ大きさを持つ単位行列である。
【００４７】
最後に、異常兆候判定部４８において、Ｓ４１２で求めた距離を用いて、異常兆候有無の判定を行うための計算を行い、計算により得られた値（異常兆候度あるいは確率値）が、ある確率分布において所定の統計的信頼区間に入るか否かに基づき異常兆候有無の判定を行い（Ｓ４１３）、判定結果等を出力部２へ出力する。これによりしきい値の設定を行うことなく異常兆候有無の判定を行う。以下より詳細に説明する。
【００４８】
一般にしきい値を試行錯誤的に決定する要因は、（Ａ）監視データが非定常的な変化を伴うこと、（Ｂ）単位空間の生成に用いる監視データが正常状態のすべてを網羅していないため正常状態でも非常に大きな距離が計算されてしまうことにある。
【００４９】
（Ａ）の場合、監視データの階差または対数を計算することをデータ一次加工部４３で行い、その計算による値を単位空間生成部４４に与える方法も問題解決の手法の１つである。（Ｂ）は正常状態をすべて網羅した単位空間を生成すれば問題は解決するが、起こり得るほぼ全ての正常状態を網羅することは非常に困難である。そこで、コンピュータあるいはソリューションで異常が発生する場合に、監視項目間の相関傾向に正常状態とは異なる僅かなズレが生じることが非常に多いことを利用し、監視項目間の相関関係の変化だけを計算することにより、不完全な単位空間でも高精度で異常分析が行える数式（４−１）（４−２）を考える。
Ｙ（ｔ）＝ＤＭ（ｔ）2／ＤＥ（ｔ）2          （４−１）
Ｙ（ｔ）＝ＬＯＧ（ＤＭ（ｔ）2／ＤＥ（ｔ）2）  （４−２）
【００５０】
数式（４−１）および数式（４−２）は、監視項目間の相関を考慮した距離（マハラノビス距離）を、監視項目間の相関を考慮しない距離（ユークリッド距離）で除算することにより、単位空間に対する相関関係の変化量のみ（監視項目ごとの値の変化を除去したもの）を計算している。
【００５１】
数式（４−１）は、監視データｘｉに非定常データ（例えば累積的に値が減少または増加するデータ）が含まれない場合に用いて有効な計算式であり、数式（４−２）は監視データｘｉに非定常データが含まれる場合に用いて有効な計算式である。数式（４−２）を利用することで、データ一次加工部４３において監視データの階差または対数等を計算しなくても非定常データを取り扱うことが可能である。
【００５２】
数式（４−１）および数式（４−２）は正常状態ならば、ほぼ０＜Ｙ（ｔ）＜１の値を取り、正常状態でないならばＹ（ｔ）は１以上になり無限大まで取りうるが、監視項目の数によってばらつきがある。そのため、しきい値の決定により異常兆候有無の判定を行うとすると、問題が生じ得る。
【００５３】
そこで、本実施形態では、Ｙ（ｔ）がある確率分布に従うと仮定して、監視項目数に依らない統計的信頼度に基づいて異常兆候有無の判定を行う。
Ｆ（ｘ）＝Ｐ（Ｘ≦ｘ）
＝∫−∞ｘｆ（ｕ）ｄｕ・・・（５）
【００５４】
数式（５）は分布関数の数式であり、確率変数Ｘがｘ以下の値をとる確率を表している。ｆ（ｘ）は任意の確率密度関数である。Ｆ（ｘ）は異常兆候度または確率値に相当する。
【００５５】
数式（４−１）あるいは数式（４−２）は、正常な単位空間が生成されている場合の距離を近似的に表していると考えることもできる。マハラノビスの距離の場合、その距離はカイ２乗分布に従うと近似できることが知られているので、数式（５）は、ｘをｋ・ＹＹ（ｔ）に置き換えて、次の数式（６）ように変形できる。
Ｆ（ｋ・Ｙ（ｔ））＝（ΓＹ（ｔ）・ｋ／２（ｋ／２））／（Γ（ｋ／２））
Ｙ（ｔ）＞０
＝０              Ｙ（ｔ）≦０    ・・・（６）  
【００５６】
Ｆ（ｋ・Ｙ（ｔ））が、例えば統計的信頼区間外となる９９％あるいは９５％以上となる場合（すなわち０．９９あるいは０．９５以上となる場合）を異常兆候有りと判断する。すなわち統計的信頼度９９％あるいは９５％の信頼区間にＦ（ｋ・Ｙ（ｔ））が入るか否かにより異常兆候の有無を判定する。ただし、実際の環境では、極度のノイズ信号が入力されることが多々あるので、数式（６）の計算結果の移動平均が、統計的信頼区間外となる９９％あるいは９５％以上となる場合を異常兆候有りと判断することが望ましい。
【００５７】
異常兆候判定部４８は、出力部２に対して、Ｓ４１２において計算したＤＭ（ｔ）2（暗視項目間の相関を考慮した距離）、Ｓ４１３において計算したＦ（ｔ）（異常兆候度）、Ｆ（ｔ）の移動平均、異常兆候有無の判定結果の少なくともいずれかを渡し、出力部２は渡された情報を出力する。
【００５８】
図１０（Ａ）〜図１０（Ｃ）は、出力部２による出力結果の一例を示す。図１０（Ａ）および図１０（Ｂ）は異常兆候が検出された例、図１０（Ｃ）は正常例を示す。横軸は時系列インデックスであり単位は分である（すなわち１分ごとに監視データ列を取得する）。縦軸は数式（５）のＦ（ｘ）の値（異常兆候度）である。時系列インデックス１から時系列インデックス２０００（約１日半）までに得られた監視データ列から単位空間が生成されているものとする。線Ｌ１は、時刻ｔにおけるＦ（ｘ）、折れ線Ｌ２（白抜きの線）はＦ（ｘ）の１時間移動平均を示している。
【００５９】
異常兆候検出装置４は、１時間移動平均が０．９９以上の値をとった場合（信頼度９９％の信頼区間を外れた場合）に異常兆候を検出したとして利用者に警告を与える。警告の与え方は管理者などへのメールであっても、コンソールへの表示であっても、ログへの出力であっても、予め設定した任意のプログラム命令を実行しても、ポップアップウインドウ、サウンドなどによる通知であっても良い。
【００６０】
図１０（Ｂ）を実際の日時に変換して詳細に説明すると、単位空間は、７月６日１１：００〜７月７日２０：２８の2000個の監視データ列から生成されている。７月６日２２：０６から異常兆候度がほぼ単調的に増加し、７月８日１６：２３に異常兆候が検出されている。以降、実際にパーソナルコンピュータがフリーズする７月１０日１２：５８までＦ（ｘ）の値が１になっている。
【００６１】
なお、出力部２による出力方法は、図１０（Ａ）〜図１０（Ｃ）のようなグラフ形式のデータを出力しても良いし、数値を列挙しても良いし、ファイルに書き込んでも良いし、ＲＡＭ（Random Access Memory）に保持する方法でも良い。
【００６２】
本実施形態に係る異常兆候検出装置では、監視項目間の相関を考慮した距離であるマハラノビス距離の近似的分布関数であるカイ２乗分布を活用して、しきい値を必要としない異常兆候有無の判定を行っているが、別の距離尺度で計算する場合には、その距離の分布関数を利用することが望ましい。また、マハラノビス距離がカイ２乗分布に近似できるとして数式（５）を数式（６）に変形しているが、Ｆ分布、ガンマ分布などの他の確率分布の場合でも、数学的にカイ２乗分布と等価に変換可能である場合は同様のものとして取り扱う。
【００６３】
例として、Ｆ分布の場合、
Ｆ（ｘ）＝Ｂγ（ｍ１／２，ｍ２／２）／Ｂ（ｍ１／２，ｍ２／２）・・・（７）
（γ＝ｍ１・ｘ／（ｍ２＋ｍ１・ｘ）、Ｂはベータ関数、Ｂγは不完全ベータ関数）
に対して、ｘ＝Ｙ（ｔ）、ｍ２＝∞を与えた場合に、カイ２乗分布と等価となる。
【００６４】
同様に、ガンマ分布の場合、
Ｆ（ｘ）＝１−［ＥＸＰ（−ｘ／β）］［Σｉα−１］・・・（８）
に対して、ｘ＝ｋ・Ｙ（ｔ）、α＝ｋ／２、β＝２を与えた場合、カイ２乗分布と等価となる。
【００６５】
以上のように本実施形態では、非特許文献１のマハラノビスタグチ法を拡張し、監視項目間の相関を考慮する距離と監視項目間の相関を考慮しない距離を利用した関数から単位空間に対する距離（相関関係の変化量）（式４−１、４−２参照）を計算し、計算した距離が、あらかじめ与えられた確率分布における所定の信頼区間に入るか否かにより、異常兆候検出を行うため、しきい値を決定することなく、精度の高い異常兆候検出を行うことができる。また、異常兆候状態をいち早く検出し、警告を与えることが可能である。
【００６６】
図６は本発明の第２の実施形態に係る異常兆候検出装置の概略構成を示す図である。図１の異常兆候検出装置４に対し、単位空間階層記憶部４９が追加されている。図６において、図１と同等部分には同じ符号を付してある。データ取得部４２は例えば第１データ取得部および第２データ取得部を含み、単位空間生成部４４は例えば第１データ一時記憶部、第２データ一時記憶部、第１データ計算部、第２データ計算部、再起動検出部を含み、正規化部４６は例えば第１正規化部および第２正規化部を含み、距離計算部４７は例えば第１距離計算部および第２距離計算部を含み、異常兆候判定部４８は例えば確率値計算部を含む。
【００６７】
この異常兆候検出装置について説明する前に、本実施形態において新たに導入する用語「単位空間階層構造」に関して説明する。「発明が解決しようとする課題」の欄で述べた非特許文献１のマハラノビスタグチ法の応用研究として、多階マハラノビスタグチ法が開発されている。多階マハラノビスタグチ法は、多重共線性を回避するために項目をいくつかのグループに分け、それぞれでマハラノビス距離を計算し、得られたマハラノビス距離を新たな項目として扱って、マハラノビス距離の計算を行う方法である。単位空間階層構造は、単位空間の階層関係を定義したものであり、本実施形態では、この単位空間階層構造を利用して、多階マハラノビスタグチ法と同様な処理を異常兆候検出装置に実行させる。これにより単位空間の生成のための計算コストを低減させたり、監視対象を複数のブロックに分けて異常兆候のある部位を容易に発見したりすることができる。
【００６８】
図１１は単位空間生成の計算コスト低減を目的に構成する単位空間階層構造の例である。この単位空間階層構造は、最上位階層（根ノード）の単位空間Ｕ２と、根ノードの子ノードである単位空間Ｕ０、Ｕ１とからなる。経年劣化型監視項目Ｘ１〜Ｘ１３０のデータ列と単位空間Ｕ０とから第１の異常兆候度が得られ、非経年劣化型監視項目Ｙ１〜Ｙ８０のデータ列と単位空間Ｕ１とから第２の異常兆候度が得られる。これら第１および第２の異常兆候度が監視項目Ｚ１、Ｚ２のデータ列として扱われ、監視項目Ｚ１、Ｚ２のデータ列と、単位空間Ｕ２とから、第１の実施形態と同様に、異常兆候有無の判定結果あるいは異常兆候度等が得られ、出力部２から出力される。ここで、単位空間Ｕ０は、定期的に取得される経年劣化型監視項目Ｘ１〜Ｘ１３０のデータ列から第１の実施形態と同様に生成され、単位空間Ｕ１は、定期的に取得される非経年劣化型監視項目Ｙ１〜Ｙ８０のデータ列から第１の実施形態と同様に生成され、単位空間Ｕ２は、定期的に取得される監視項目Ｚ１、Ｚ２のデータ列から第１の実施形態と同様に生成される。単位空間Ｕ１は非経年劣化型監視項目に基づくため監視対象装置の再起動毎に生成される必要があるが、単位空間Ｕ０は経年劣化型監視項目のみに基づくため監視対象装置が再起動されても再生成する必要はない。単位空間Ｕ２は、単位空間Ｕ１をベースにしているため監視対象装置が再起動されると再生成する必要がある。このような単位空間階層構造は図８に示す階層構造情報によって記述され、この階層構造情報は図６の単位空間階層記憶部４９に記憶されている。
【００６９】
図１１では単位空間生成の計算コスト低減を目的として単位空間階層構造の例を示したが、単位空間生成の計算コスト低減と、監視対象をブロックに分け異常兆候部位を容易に発見する場合の両方を目的とした単位空間階層構造の例を図１２に示す。単位空間Ｕ０、Ｕ１に係わる監視対象装置は同一であるが、単位空間Ｕ３、Ｕ５、Ｕ６に係わる監視対象装置は、単位空間Ｕ０、Ｕ１に係わる監視対象装置と異なっており、出力部２において単位空間Ｕ７から異常兆候が検出された場合、単位空間階層構造と、各単位空間からの出力とを解析することにより、異常兆候が発生した監視対象装置を容易に発見できる。なお、図１３のように１階しか存在しない階層構造を定義した場合、これは第１の実施形態と同等となる。
【００７０】
以下、図６〜図９、図１１を用いて、図６の異常兆候検出装置の動作について説明する。図７は、図６の異常兆候検出装置の動作を説明するためのフローチャートである。第１の実施形態で用いた図２のフローチャートと同等の処理を行うステップには同一の符号（Ｓ４００〜Ｓ４１３）を付してある。
【００７１】
まず、動作設定部４１は、入力部１から入力された監視項目情報、データ取得間隔を単位空間記憶部４５に記録し、また入力部１から入力された階層構造情報（ここでは図８の階層構造情報が入力されるとする）を単位空間階層記憶部４９へと記録することにより、異常兆候検出装置の初期設定を行う（Ｓ４００）。また、単位空間の初期化指示情報が入力された場合には、単位空間記憶部４５に記憶された、初期化指示情報に示される単位空間ＩＤ（図８参照）に関連する情報（平均、分散、相関係数行列、相関係数逆行列）を初期化する。
【００７２】
なお、階層構造情報においてすべての監視項目が１つの単位空間ＩＤに割り当てられている場合は、第１の実施形態に係る異常兆候検出装置と等価である。また、複数の単位空間ＩＤが存在するが階層構造が定義されていない場合（図８ではＵ２とＵ０、Ｕ１との階層関係が定義されている）、第１の実施形態に係る異常兆候検出装置が、単位空間ごとに独立に処理を行っている（第１の実施形態で説明した処理を並列に行っている）ことに等しい。
【００７３】
単位空間Ｕ０〜Ｕ２の生成、異常兆候度の計算および異常兆候の有無の判定等の方法は、第１の実施形態と同等であるため説明は省略し、以下では、階層的に出力を求める処理に関して、図１１の例に基づき、説明する。
【００７４】
階層構造は入力に近いものを葉ノード、出力に近いものを根ノードとした木構造と考えることができる。図１１ではＵ２が根ノード、Ｕ０、Ｕ１が葉ノードに相当する。したがって、木構造の走査アルゴリズムを利用して、出力に近いノードから再帰的に各構成要素（ノード）の異常兆候度（Ｆ（ｘ））および異常兆候の有無を計算することが可能である。
【００７５】
まず、出力に最も近いＵ２を着目ノードとする（Ｓ５００）。
【００７６】
単位空間生成部４４は、単位空間階層記憶部４９を参照し、着目ノードＵ２の入力を確認すると、Ｕ０が最初に参照される（Ｓ５０１、Ｓ５０２のＮＯ）。最初に参照されるＵ０は、単位空間ＩＤとして単位空間階層記憶部４９内の階層構造情報に記録されているため（Ｓ５０３のＹＥＳ）、Ｕ０を着目ノードに変更する（Ｓ５０４）。
【００７７】
ここでＵ２の場合と同様に、単位空間階層記憶部４９の階層構造情報を参照し、着目ノードＵ０の入力を確認する（Ｓ５０１）。最初に参照されるＸ１は単位空間階層記憶部４９内の階層構造情報に単位空間ＩＤとして記録されていないため（Ｓ５０２のＮＯ、Ｓ５０３のＮＯ）、監視項目であることが分かる。同様にＵ０の入力に対してＸ１３０まで監視項目であることが判明すると（Ｓ５０２のＹＥＳ）、すなわちＵ０の下位のノードが無いことが判明すると、Ｓ４０３〜Ｓ４１３の処理を行って、Ｓ４１２の結果である監視項目間の相関を考慮した距離（式（２）、式（４−１）、式（４−１）参照）またはＳ４１３の結果である異常兆候度をＵ０の出力として終了し、着目ノードＵ２の処理に戻る。
【００７８】
着目ノードＵ２では引き続き入力を確認し（Ｓ５０１）、Ｕ１が次の入力であることが判明する。Ｕ０と同様、Ｕ１は単位空間階層記憶部４９の単位空間ＩＤとして記憶されているため（Ｓ５０２のＮＯ、Ｓ５０３のＹＥＳ）、Ｕ１を着目ノードに変更する（Ｓ５０４）。以下Ｕ０と同様の処理を行って、Ｕ１の出力を求めて、着目ノードＵ２の処理へと戻る。
【００７９】
着目ノードＵ２では、次の入力がないため（Ｓ５０２のＹＥＳ）、Ｕ０の出力とＵ１の出力とをＵ２の入力として、Ｓ４０３〜Ｓ４１３の処理を行い、Ｓ４１２の結果である監視項目間の相関を考慮した距離（式（２）、式（４−１）、式（４−１）参照）またはＳ４１３の結果である異常兆候度をＵ２の出力とする。
【００８０】
以上の処理によって単位空間記憶部４５に記憶された情報の例を図９（Ａ）〜図９（Ｅ）に示しておく。
【００８１】
第２の実施形態によれば、コンピュータあるいはソリューションの再起動によって状態が完全に初期化される監視項目か否かによって監視項目を分類し、コンピュータあるいはソリューションの再起動によって状態が完全に初期化されない項目を含む単位空間のみ再起動時に単位空間を再生成することによって、異常兆候検出に必要な計算コストを軽減させることができる。またコンピュータの異常兆候を判定する単位空間を少ない計算コストで動的に変更することが可能である。
【００８２】
なお、図１および図６の異常兆候検出装置は、上述したように、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、図１および図６の異常兆候検出装置内の各ブロックは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、図１および図６の異常兆候検出装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、図１および図６の単位空間記憶部、および図６の単位空間階層記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００８３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【表１】
2008146591.tif 000003
2008146591.tif 000004
2008146591.tif 000005
2008146591.tif 000006
2008146591.tif 000007
2008146591.tif 000008
2008146591.tif 000009
【図面の簡単な説明】
【００８４】
【図１】本発明の第１の実施形態に係る異常兆候検出装置の構成を示す図である。
【図２】本発明の第１の実施形態に係る異常兆候検出装置の動作を示すフローチャートである。
【図３】単位空間生成部の動作を示すフローチャートである。
【図４】単位空間生成後における単位空間記憶部４５内の情報の例を示す図である。
【図５】初期化時における単位空間記憶部４５内の情報の例を示す図である。
【図６】本発明の第２の実施形態に係る異常兆候検出装置の構成を示す図である。
【図７】本発明の第２の実施形態に係る異常兆候検出装置の動作を示すフローチャートである。
【図８】階層構造情報の例を示す図である。
【図９】単位空間記憶部４５に記憶された情報の例を示す図である。
【図１０】異常兆候検出装置の出力例を示す図である。
【図１１】単位空間階層構造を説明する図である。
【図１２】単位空間階層構造を説明する図である。
【図１３】単位空間階層構造を説明する図である。
【符号の説明】
【００８５】
１  入力部
２  出力部
３  監視対象装置
４、５  異常兆候検出装置
４１  動作設定部
４２  データ取得部
４３  データ一次加工部
４４  単位空間生成部
４５  単位空間記憶部
４６  正規化部
４７  距離計算部
４８  異常兆候判定部（確率計算部）
４９  単位空間階層記憶部
【図１】
2008146591.tif 000010
【図２】
2008146591.tif 000011
【図３】
2008146591.tif 000012
【図４】
2008146591.tif 000013
【図５】
2008146591.tif 000014
【図６】
2008146591.tif 000015
【図７】
2008146591.tif 000016
【図８】
2008146591.tif 000017
【図９】
2008146591.tif 000018
【図１０】
2008146591.tif 000019
【図１１】
2008146591.tif 000020
【図１２】
2008146591.tif 000021
【図１３】
2008146591.tif 000022