(57)【要約】【課題】  データマイニング手法を用いた異常判定において、異常と誤判定する確率が低い異常検知方法を提供する。【解決手段】  運用中に、異なる稼働構成からなる複数の機器から、機器の稼働中の状態の特徴を表す稼働情報を受信し、稼働情報から統計的な手法を用いた学習を行い、学習データを更新して保存する第１の学習手段と、異なる構成の機器を識別する稼働構成と、第１の学習手段において同一の稼働構成の機器から得た稼働情報を使った学習量から、稼働構成毎のしきい値を更新して保存する第２の学習手段を備え、異常度解析手段は、受信した稼働情報と、第１の学習手段が保存した学習データから異常度を算出し、異常判定手段は、異常度と受信した稼働情報の機器の稼働構成に対応する第２の学習手段が保存したしきい値を比較し、異常度が異常を示す値か否かを判断する。【選択図】  図３
2011192097.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器の稼働状態を監視し、前記機器の異常を検出する異常検出方法であって、
前記稼働状態を示す稼働情報を前記機器から収集し、前記稼働情報を学習して学習結果を記憶する第１の学習ステップと、
前記機器の稼働時の構成からなる稼働構成を収集して、前記第１の学習ステップにおいて前記稼働構成に対応した前記機器から収集した前記稼働情報の学習量に応じた前記稼働構成毎のしきい値を学習して稼働構成に対応したしきい値を記憶する第２の学習ステップと、
前記機器から収集した前記稼働情報と前記学習結果とを比較して解析し、その内容を異常度として出力する解析ステップと、
前記異常度と、前記解析ステップで前記異常度を求めた前記機器と同一の前記稼働構成に対応したしきい値を比較して、前記異常度が異常か否の値を示すかを判断する異常判定ステップと
を有することを特徴とする異常検出方法。
【請求項２】
請求項１において、
前記第２の学習ステップは、前記第１の学習ステップに同期して、前記しきい値を学習する
ことを特徴とする異常検出方法。
【請求項３】
請求項１において、
前記解析ステップは、前記第１の学習ステップと前記第２の学習ステップと非同期に異常度を出力する
ことを特徴とする異常検出方法。
【請求項４】
複数の機器と、前記機器の稼働状態を監視すると共に前記機器の異常を検出する異常監視装置とを備えて成る情報処理システムであって、
前記稼働状態を示す稼働情報を前記機器から収集し、前記稼働情報を学習して学習結果を記憶する第１の学習処理部と、
前記機器の稼働時の構成からなる稼働構成を収集して、前記第１の学習ステップにおいて前記稼働構成に対応した前記機器から収集した前記稼働情報の学習量に応じた前記稼働構成毎のしきい値を学習して稼働構成に対応したしきい値を記憶する第２の学習処理部と、
前記機器から収集した前記稼働情報と前記学習結果とを比較して解析し、その内容を異常度として出力する解析処理部と、
前記異常度と、前記解析ステップで前記異常度を求めた前記機器と同一の前記稼働構成に対応したしきい値を比較して、前記異常度が異常か否の値を示すかを判断する異常判定処理部と
を前記異常監視装置に備える
ことを特徴とする情報処理システム。
【請求項５】
請求項４において、
前記第２の学習処理部は、前記第１の学習処理部に同期して、前記しきい値を学習する
ことを特徴とする情報処理システム。
【請求項６】
請求項４において、
前記解析処理部は、前記第１の学習処理部と前記第２の学習処理部と非同期に異常度を出力する
ことを特徴とする情報処理システム。
【請求項７】
複数の機器と、前記機器の稼働状態を監視すると共に前記機器の異常を検出する異常監視装置とを備えて成る情報処理システムであって、
前記稼働状態を示す稼働情報を前記機器から収集し、前記稼働情報を学習して学習結果を記憶する第１の学習処理部と、
前記機器の稼働時の構成からなる稼働構成を収集して、前記第１の学習ステップにおいて前記稼働構成に対応した前記機器から収集した前記稼働情報の学習量に応じた前記稼働構成毎のしきい値を学習して稼働構成に対応したしきい値を記憶する第２の学習処理部と
を前記異常監視装置に備え、
前記機器から収集した前記稼働情報と前記学習結果とを比較して解析し、その内容を異常度として出力する解析処理部と、
前記異常度と、前記解析ステップで前記異常度を求めた前記機器と同一の前記稼働構成に対応したしきい値を比較して、前記異常度が異常か否の値を示すかを判断する異常判定処理部と
を前記機器に備える
ことを特徴とする情報処理システム。
【請求項８】
請求項７において、
前記第２の学習処理部は、前記第１の学習処理部に同期して、前記しきい値を学習する
ことを特徴とする情報処理システム。
【請求項９】
請求項７において、
前記解析処理部は、前記第１の学習処理部と前記第２の学習処理部と非同期に異常度を出力する
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に機器のハードウェア構成の追加・削除・更新などによる変更や、機器上で実行されるソフトウェアの追加・削除・更新などによる変更により、機器を構成する稼働構成の変化や、新たな稼働構成の機器の追加に対して、異常の検知を可能とする異常検知方法およびそれを用いた情報処理システムに関する。
【背景技術】
【０００２】
従来、統計的手法を用いた学習により統計モデルを作成し、稼働情報と統計モデルから統計的距離を計算して異常度を求め、設定ファイルで指定したしきい値を使って異常度が異常であるか否かを判断する方法があった（例えば、特許文献１参照）。
【０００３】
また、従来、機器の種類毎に異常を判定するしきい値を予め設定して、稼働情報が異常か否かを判断する方法があった（例えば、特許文献２参照）。
【０００４】
さらに、従来、異常を検出する正常動作モデルの動的な学習方法があった（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１８２６４７号公報
【特許文献２】特開２０００−１８１７６１号公報
【特許文献３】特開２００８−１２９７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、ソフトウェアにより多様な機能を実現するマイクロプロセッサの登場により、マイクロプロセッサが工業、民生を問わずほとんどの機器に搭載されている。マイクロプロセッサの性能向上にともない、実行可能なソフトウェアの規模が大きくなり、より多機能な機器が実現できるようになっている。
【０００７】
さらに、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の搭載によりマルチタスク、マルチスレッドによるアプリケーションの実現が可能となり、多種多様なアプリケーションがＯＳ管理下で同時に実行できるようになっている。
【０００８】
例えば、電話・データ通信・ストリーミング放送の統合したマルチメディアサービスを実現するＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ、次世代通信網）上で、加入者宅に設置されるＨＧＷ（Ｈｏｍｅ  Ｇａｔｅｗａｙ）は、ＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅｓ  Ｇａｔｅｗａｙ  ｉｎｉｔｉａｔｉｖｅ）フレームワーク技術を利用することで遠隔からアプリケーションの、インストール・起動・停止・アンインストールが可能となり、多様なサービスが実現できる。
【０００９】
このような機器において、ソフトウェアの高機能化の反面、複数のソフトウェアの動作に起因する異常が問題となっている。ソフトウェアの高機能化大規模化に伴い、ユーザ環境の多様化、他社ソフトウェアとの相性、さらに、年々新しくソフトウェアをクラッシュさせる悪意のあるウィルスソフトウェアなど、予想が困難な異常の発生が益々高くなっている。このような背景において、機器の稼働中の異常（障害）を検出することが重要になっている。
【００１０】
例えば特許文献１において、学習部は、電子機器から受信した機器運用情報を既存の統計モデルを基にして確率分布計算処理を行い新たな統計モデルを作成し、解析部は、機器運用情報と統計モデルから統計的距離を計算して解析結果として各データのスコアを出力し、検知・通知部は、設定ファイルに予め設定されたしきい値以上のスコアが存在するか判断し、設定されたしきい値以上であれば異常があるとして管理者に電子メールで通知するようになっている。
【００１１】
例えば特許文献２において、端末監視装置は、端末毎の障害監視情報を読み込み、端末の種類に応じたしきい値を用いて、障害監視情報としきい値を比較することにより障害の予測および検出を行うようになっている。
【００１２】
例えば特許文献３において、異常検知装置は、予め静的な解析に基づいて得た解析正常動作モデルを事前に用意し、解析正常動作モデルを用いて異常検知を行い。異常検知の結果を用い、学習に基づく正常動作モデルを用いた異常検知の判定結果を照合させながら正常動作モデルを学習するようになっている。
【００１３】
ＯＳＧｉフレームワークを導入したＨＧＷシステムのような環境では、システムの運用中に新たな機器の追加、機器のハードウェア構成の変更、実行されるアプリケーションの変更など稼働構成が変更される。特定の稼働構成における複数のソフトウェアの動作に関連する異常を予め予想するには、事前に同一の稼働構成において全てのソフトウェアの組合せにおける異常を調べる必要がある。しかしながら、例えば他社が作成したソフトウェアとの組合せにおける異常を全て調べる事は困難である。このため、機器におけるソフトウェアの実行に伴う機器の稼働中の状態の特徴を表す稼働情報から、統計的手法を用いた学習により統計モデルを作成し、稼働情報と統計モデルから統計的距離を計算して異常度を求め、異常度が異常か否かを判断する必要がある。しかしながら、全く新しい稼働構成の機器の稼働情報では、新しい構成の機器の稼働情報を使った学習がされていないため、誤った統計モデルを使って異常度を求め、異常度が異常か否かを誤って判断してしまう。
【００１４】
これに対して、特許文献１では、統計的手法を用いた学習により統計モデルを作成し、稼働情報と統計モデルから統計的距離を計算して異常度を求め、設定ファイルで指定したしきい値を使って異常度が異常であるか否かを判断する方法が開示されているものの、新しい構成の機器の稼働情報による異常の判断に必要な構成が記載されていない。
【００１５】
特許文献２では、機器の種類毎に異常を判定するしきい値を予め設定して、稼働情報が異常か否かを判断する方法が開示されているものの、統計的手法を用いた学習により統計モデルを作成していないので、事前に全ての機器の種類毎に適切なしきい値を設定するというコストや手間を強いることになる。
【００１６】
特許文献３では、異常を検出する正常動作モデルの動的な学習方法が開示されているものの、予め静的な解析に基づいて得た解析正常動作モデルを用意する必要がある。
【００１７】
図１は、本特許との違いを例示するために特許文献１の主要部の構成を例示するブロック図である。
【００１８】
稼働情報取得手段１５は、機器の運用時の稼働情報を収集し、稼働情報データ２１に記憶する。学習手段３０は、稼働情報データ２０から統計的手法を用いた学習を行い、学習された学習データを学習データ４０に記憶する。解析手段５１は、前記稼働情報から、前記学習データから統計的距離のスコアを出力する。異常判定手段６１は、予めしきい値情報７１に記憶されたしきい値と前記スコアを比較し、異常か否かを判断する。
【００１９】
図２は、本特許との違いを例示するために特許文献２の主要部の構成を例示するブロック図である。稼働情報取得手段１５は、機器の運用時の稼働情報を収集し、稼働情報データ２０に記憶し、稼働情報を出力する。
【００２０】
稼働構成取得手段１７は、機器の種類を識別し、予め機器毎のしきい値を記憶したしきい値情報７１から、前記稼働情報を収集した機器のしきい値を出力する。異常判定手段６１は、前記稼働情報と前記しきい値を比較し、異常か否かを判断する。
【００２１】
本発明の目的は、機器の稼働構成の変更（ハードウェアおよびソフトウェアの変更、更新、追加、削除など）が必要に応じて随時行われる機器の稼働中の状態の特徴的な変化をとらえた稼働情報を用いた異常検知において、統計モデルを使った異常検知を行いながら機器の稼働情報から統計モデルを学習し、稼働情報と統計モデルから統計的距離を計算して求めた異常度が異常か否か判別するしきい値において、異常検知を行いながら統計モデルの学習量に応じて稼働構成毎のしきい値を学習して異常検知をおこなう異常検出方法および情報処理システムを提供することにある。
【００２２】
本発明の前記目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２３】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記の通りである。
【００２４】
すなわち、本発明の異常検出方法は、複数の機器の稼働状態を監視し、前記機器の異常を検出する異常検出方法であって、前記稼働状態を示す稼働情報を前記機器から収集し、前記稼働情報を学習して学習結果を記憶する第１の学習ステップと、前記機器の稼働時の構成からなる稼働構成を収集して、前記第１の学習ステップにおいて前記稼働構成に対応した前記機器から収集した前記稼働情報の学習量に応じた前記稼働構成毎のしきい値を学習して稼働構成に対応したしきい値を記憶する第２の学習ステップと、前記機器から収集した前記稼働情報と前記学習結果とを比較して解析し、その内容を異常度として出力する解析ステップと、前記異常度と、前記解析ステップで前記異常度を求めた前記機器と同一の前記稼働構成に対応したしきい値を比較して、前記異常度が異常か否の値を示すかを判断する異常判定ステップとを有することを特徴とする。
【００２５】
また、本発明の情報処理システムは、複数の機器と、前記機器の稼働状態を監視すると共に前記機器の異常を検出する異常監視装置とを備えて成る情報処理システムであって、前記稼働状態を示す稼働情報を前記機器から収集し、前記稼働情報を学習して学習結果を記憶する第１の学習処理部と、前記機器の稼働時の構成からなる稼働構成を収集して、前記第１の学習ステップにおいて前記稼働構成に対応した前記機器から収集した前記稼働情報の学習量に応じた前記稼働構成毎のしきい値を学習して稼働構成に対応したしきい値を記憶する第２の学習処理部と、前記機器から収集した前記稼働情報と前記学習結果とを比較して解析し、その内容を異常度として出力する解析処理部と、前記異常度と、前記解析ステップで前記異常度を求めた前記機器と同一の前記稼働構成に対応したしきい値を比較して、前記異常度が異常か否の値を示すかを判断する異常判定処理部とを前記異常監視装置に備えることを特徴とする。
【００２６】
尚、本発明の情報処理システムにおいては、前記解析処理部と前記異常判定処理部とを前記異常監視装置の代わりに前記機器に備えるよう構成してもよい。
【発明の効果】
【００２７】
本発明によれば、機器の運用中に稼働情報を使って学習モデルを学習できるので、予め試験環境では検出できない異常の検出が、学習した学習モデルを使うことででき、さらに新設、機能の追加、削除、更新などによる機器の構成が変更されても学習済みの学習モデルを使った異常の判定を誤検出する確率を低減することができる。
【図面の簡単な説明】
【００２８】
【図１】特許文献１の主要部の構成を例示するブロック図である。
【図２】特許文献２の主要部の構成を例示するブロック図である。
【図３】本発明の一実施の形態の概要を例示するブロック図である。
【図４】データマイニングによる異常度を求める方法の概要を例示する図である。
【図５】クラスタ範囲を求める方法の概要を例示する図である。
【図６】学習済の稼働構成の機器における稼働情報の特徴ベクトルの遷移の概要を例示する図である。
【図７】未学習の稼働構成の機器における稼働情報の特徴ベクトルの遷移の概要を例示する図である。
【図８】学習済の稼働構成の機器における正規化された異常度の変化の一例を例示する説明図である。
【図９】未学習の稼働構成の機器の稼働数の変化の概要を例示する説明図である。
【図１０】未学習の稼働構成の機器の稼働情報を用いて学習する学習量の変化の概要を例示する説明図である。
【図１１】未学習の稼働構成の機器の稼働情報から異常と判断するしきい値設定を例示する説明図である。
【図１２】未学習の稼働構成の機器の稼働情報から異常と判断する他のしきい値設定を例示する説明図である。
【図１３】本発明の一実施の形態である情報処理システムの構成を例示するブロック図である。
【図１４】本発明の一実施の形態である異常監視装置の構成を例示するブロック図である。
【図１５】本発明の一実施の形態であるＨＧＷの構成を例示するブロック図である。
【図１６】本発明の一実施の形態である異常監視装置とＨＧＷの構成を例示するブロック図である。
【図１７】本発明の一実施の形態である学習処理（６１０）の動作を例示するフローチャート図である。
【図１８】本発明の一実施の形態である稼働構成登録処理（６３０）の動作を例示するフローチャート図である。
【図１９】本発明の一実施の形態であるしきい値学習処理（６４０）の動作を例示するフローチャート図である。
【図２０】本発明の一実施の形態であるしきい値更新処理（ステップＳ２３０）の動作を例示するフローチャート図である。
【図２１】本発明の一実施の形態である他のしきい値更新処理（ステップＳ２３０）の動作を例示するフローチャート図である。
【図２２】本発明の一実施の形態である異常判定処理（６２０）の動作を例示するフローチャート図である。
【図２３】本発明の一実施の形態であるハード構成情報１８３を例示する図である。
【図２４】本発明の一実施の形態であるアプリ情報１８２を例示する図である。
【図２５】本発明の一実施の形態である顧客情報１８１を例示する図である。
【図２６】本発明の一実施の形態である稼働構成データ８５の一例を例示する図である。
【図２７】本発明の一実施の形態であるしきい値データ７０を例示する図である。
【図２８】本発明の一実施の形態である学習データ４０を例示する図である。
【図２９】本発明の一実施の形態である機器稼働情報１５５を例示する図である。
【図３０】本発明の一実施の形態である稼働情報データ２０を例示する図である。
【図３１】本発明の一実施の形態である図１６の動作の流れを例示するシーケンス図である。
【図３２】他の構成における動作の流れを例示するシーケンス図である。
【発明を実施するための形態】
【００２９】
本発明は、運用中に、異なる働構成からなる複数の機器から、機器の稼働中の状態の特徴を表す稼働情報を受信し、稼働情報から統計的な手法を用いた学習を行い、学習データを更新して保存する第１の学習手段と、異なる構成の機器を識別する稼働構成と、第１の学習手段において同一の稼働構成の機器から得た稼働情報を使った学習量から、稼働構成毎のしきい値を更新して保存する第２の学習手段を備えることを特徴とする。
【００３０】
さらに、異常度解析手段は、受信した稼働情報と、第１の学習手段が保存した学習データから異常度を算出し、異常度と受信した稼働情報の機器の稼働構成に対応する第２の学習手段が保存したしきい値を比較し、異常度が異常を示す値か否かを判断する異常判定手段を備えることを特徴とする。
【００３１】
以下、本発明の好適な実施の形態について、図面を参照して詳細に説明する。なお、実施の形態を説明する図において、同一部には原則として同一の符号を付し、その繰り返し説明は省略する。
【００３２】
以下一実施の形態について詳述する。
【実施例１】
【００３３】
まず、本発明の代表的な実施の形態について、その概要を実施例１として説明する。
【００３４】
本発明の概要を図１と図２に対峙して図３に例示する。図３は、本発明の一実施の形態の概要を例示するブロック図である。
【００３５】
図３において、稼働情報取得手段１５は、任意の数の機器において、動作中に取得できる各種稼働情報を収集し稼働情報データに格納するように動作する。
稼働構成取得手段１６は、稼働情報取得手段１５と供に、任意の数の機器の構成を示す稼働構成を収集するように動作する。
【００３６】
学習手段３０は、稼働情報データ２０の稼働情報から統計的手法を用いて統計モデルを作成し、学習データ４０に格納するように動作する。
【００３７】
管理手段８０は、稼働構成取得手段１６で収集された稼働構成情報において稼働構成データ８５に未登録の稼働構成情報を稼働構成データに登録するように動作する。
【００３８】
しきい値学習手段９０は、稼働構成データ８５の稼働構成毎に学習手段３０で学習に使われた稼働情報の数である学習量を測定し、学習量に応じたしきい値を計算し、求めたしきい値でしきい値データ７０を更新するように動作する。
【００３９】
異常度解析手段５０は、稼働情報取得手段１５で収集した稼働情報と学習データ４０の統計モデルとの統計的距離を異常度として出力するように動作する。
【００４０】
異常判定手段は、異常度解析手段５０の出力である異常度と、しきい値データ７０の、異常度を求めた稼働情報を出力した機器の稼働構成に基づくしきい値とを比較し、異常度が異常か否かを示すものか判断するように動作する。
【００４１】
学習処理（６００）は、稼働情報データ２０、学習手段３０、学習データ４０を含む。稼働構成登録処理（６３０）は、管理手段８０，稼働構成データ８５を含む。しきい値学習処理（６４０）は、しきい値学習手段９０としきい値データ７０を含む。異常判定処理（６２０）は、異常度解析手段５０と異常判定手段６０を含む。
【００４２】
次に、学習手段３０における統計的手法を用いた学習データ４０の作成の一例を、図４を用いて説明する。図４は、データマイニングによる異常度を求める方法の概要を例示する図である。学習データ４０は、j個のクラスタωjの情報（平均ベクトルｍ、標準偏差σ）と、クラスタしきい値Thからなる。図４に例示したｊ個のクラスタωjは、例えば、データマイニング手法において、データをグループ分けするクラスタ分析方法を利用し、任意の数の機器より収集した稼働情報から例えばp次元の特徴ベクトルxを抽出し、多量の特徴ベクトルからクラスタ分析を行うことで求められる。
【００４３】
クラスタωiのクラスタしきい値を求める方法の一例を、図４と図５を用いて説明する。図５は、クラスタ範囲を求める方法の概要を例示する図である。クラスタしきい値はクラスタ範囲とする。例えば、学習に用いた稼働情報の特徴から求められた特徴ベクトルの分布が、クラスタωiにおいて標準偏差をσiとしてN(mi, σi2)の正規分布に従うとすれば、図５に例示するようにN(mi, σi2)の正規分布において、予め設定した棄却率をαとした確率点をクラスタωiにおけるクラスタしきい値とすることができる。
【００４４】
また、例えば、クラスタωiに属する学習に供する特徴ベクトルの中で、平均値miからの統計的距離が最も遠い特徴ベクトルをクラスタしきい値とすることができる。
【００４５】
次に、異常度解析手段５０において、異常度を求める方法の一例を、図４を用いて説明する。図４において、i番目のクラスタをωｉ、クラスタωiの平均ベクトルをmiとすれば、平均ベクトルmiと特徴ベクトルxとの統計的距離が求まる。この統計的距離が最も平均ベクトルmiに近い値がクラスタωiに属する異常度と判断することができる。
【００４６】
次に、異常判定手段６０において異常か否かを求める方法について図６乃至図１２を用いて説明する。
【００４７】
まず、学習済の稼働構成の機器の稼働情報を使用した異常判別方法について図６と図８を用いて説明する。図６は、学習済の稼働構成の機器における稼働情報の特徴ベクトルの遷移の概要を例示する図である。図８は、学習済の稼働構成の機器における正規化された異常度の変化の一例を例示する説明図である。
【００４８】
図６は説明を簡単にするため２次元の特徴ベクトルを例示する。特徴ベクトルは、図６に例示するように各クラスタ間を遷移する。正常な稼働状態では、稼働情報の特徴ベクトルの分布は各クラスタ範囲内に分布する。しかし、特徴ベクトルが各クラスタ範囲の外に遷移した場合は、クラスタ範囲をクラスタしきい値として稼働情報が異常な状態を示すと判断することができる。
【００４９】
図６の各クラスタしきい値が異なる値のため、異常度が属するクラスタのクラスタしきい値でしきい値が１になるように異常度を正規化し、正規化された異常度を求めることができる。したがって、図８において、正規化された異常度がしきい値１を超える時を異常と判断することができる。
【００５０】
次に、未学習の稼働構成の機器の稼働情報を使用した異常判別方法について図７と図９乃至図１２を用いて説明する。図７は、未学習の稼働構成の機器における稼働情報の特徴ベクトルの遷移の概要を例示する図である。図９は、未学習の稼働構成の機器の稼働数の変化の概要を例示する説明図である。図１０は、未学習の稼働構成の機器の稼働情報を用いて学習する学習量の変化の概要を例示する説明図である。図１１は、未学習の稼働構成の機器の稼働情報から異常と判断するしきい値設定を例示する説明図である。図１２は、未学習の稼働構成の機器の稼働情報から異常と判断する他のしきい値設定を例示する説明図である。図７は説明を簡単にするため２次元の特徴ベクトルを例示する。
【００５１】
未学習の稼働情報を使用して学習した場合、学習前に対して新しいクラスタが追加されることが予想しえる。例えば、未学習の稼働情報より求まる特徴ベクトルは、図７において各クラスタの円の外に遷移する可能性もあり得る。特定の構成における稼働情報に対して未学習の段階では、異常とも新たなクラスタに属することになることもあり得る。
【００５２】
未学習の稼働構成の機器の稼働数と時刻の関係は、図９に例示することができる。未学習の稼働構成の機器の稼働情報の学習量は、図１０に例示するように稼働数の積分で増加する。したがって、稼働構成毎のしきい値の設定方法は、例えば図１１に例示するように学習量が少ないときは、予め設定した最大のしきい値とし、学習量が予め指定した値以上になればしきい値を１とすることができる。また、稼働構成毎の他のしきい値の設定方法は、図１２に例示するように、しきい値を学習量の引数とする関数として求め、学習量が予め指定した値以上になればしきい値を１とすることができる。
【実施例２】
【００５３】
次に、本発明の他の一実施の形態である実施例２に係る情報処理システムの構成を、図１３を用いて説明する。図１３は、本発明の一実施の形態である情報処理システムの構成を例示するブロック図である。
【００５４】
当該情報処理システムは、インターネット１２０と、例えばＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）等の加入者線ネットワーク１１０の双方に接続された加入者線基地局１００と、加入者線ネットワークに接続された複数の加入者宅を有する構成となっている。
【００５５】
加入者線基地局１００は、プログラム配信装置１０１、ゲートウェイ装置１０２、異常監視装置１０３、を有する構成となっている。
【００５６】
加入者宅１３０は、ＨＧＷ１３１、センサ装置１３４、情報家電１３５、を有する構成となっている。
【００５７】
プログラム配信装置１０１、異常監視装置１０３は、加入者線ネットワーク１１０に接続しており、所定の手順にしたがって情報の送受信を行うことができる。
【００５８】
ゲートウェイ装置１０２は、インターネット１２０と加入者線ネットワーク１１０の双方に接続しており、インターネット１２０に接続された機器と、加入者線ネットワーク１１０に接続された機器との情報の送受信を行うためのゲートウェイとしての機能を有する。
【００５９】
ＨＧＷ１３１は、加入者線ネットワーク１１０とホームネットワーク１３２の双方に接続しており、加入者線ネットワーク１１０に接続された機器と、ホームネットワーク１３２に接続された機器との情報の送受信を行うためのゲートウェイとしての機能を有する。
【００６０】
センサ装置１３４、情報家電１３５は、有線または無線で構成されるホームネットワーク１３２と接続し、所定の手順にしたがって情報の送受信を行うことができる。
【００６１】
次に、本実施例における異常監視装置１０３とＨＧＷ１３１のハードウェア構成の一例を図１４，図１５を用いて説明する。図１４は、本発明の一実施の形態である異常監視装置１０３の構成を例示するブロック図である。
【００６２】
図１４において、異常監視装置１０３は、ＣＰＵ３００、通信ＩＦ３０１、不揮発性記憶装置３０２、メインメモリ３０３、不揮発性メモリ３０４、を有する構成となっており、これらはそれぞれバス３０５と接続され、所定の手順にしたがって情報の送受信を行うことができる。
【００６３】
不揮発性メモリ３０４にはブートプログラムが記憶されており、また、不揮発性記憶装置３０２には各種プログラムが記憶されている。異常監視装置１０３が起動すると、不揮発性メモリ３０４に記憶されたブートプログラムによって不揮発性記憶装置３０２から各種プログラムがメインメモリ３０３へと読み出される。ＣＰＵ３００はメインメモリ３０３に読み出された各種プログラムを実行することにより情報を処理し、通信ＩＦ３０１等による情報の送受信等を行うことができる。
【００６４】
不揮発性記憶装置３０２には、上述のように、ＣＰＵ３００がメインメモリ３０３に読み出して実行するための各種プログラムが記憶されており、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＤＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク（Ｏｐｔｉｃａｌ  Ｄｉｓｋ  Ｄｒｉｖｅ）等によって実現することができる。通信ＩＦ３０１は、ネットワークカード等により実現することができる。通信ＩＦ３０１は、加入者線ネットワーク１１０と接続しており、加入者線ネットワーク１１０と接続する機器との間で情報の送受信を行うことができる。
【００６５】
図１５は、本発明の一実施の形態であるＨＧＷ１３１の構成を例示するブロック図である。ＨＧＷ１３１は、ＣＰＵ３１０、メインメモリ３１３、不揮発性メモリ３１４、センサ装置３１５、異常対策装置３１６、第１の通信ＩＦ３１１、第２の通信ＩＦ３１２を有する構成となっており、これらはそれぞれバス３１７と接続され、所定の手順にしたがって情報の送受信を行うことができる。
【００６６】
不揮発性メモリ３１４にはブートプログラム、各種プログラムが記憶されており、ＨＧＷ１３１が起動すると不揮発性メモリ３１４に記憶されたブートプログラムによって不揮発性メモリ３１４から各種プログラムがメインメモリ３１３へと読み出される。ＣＰＵ３１０はメインメモリ３１３に読み出された各種プログラムを実行することにより情報を処理し、第１の通信ＩＦ３１１、第２の通信ＩＦ３１２等による情報の送受信等を行う。
【００６７】
センサ装置３１５は、各種プログラムのＣＰＵ３１０による実行に伴い発生する各種状態の変動を取得することができる。異常対策装置３１６は、異常の検出または異常の予兆を検出したときに指示により、異常の復旧または異常が起こらないよう対策を行う。
【００６８】
第１の通信ＩＦ３１１は、ネットワークカード等により実現することができる。第２の通信ＩＦ３１２は、ネットワークカード等により実現することができる。第１の通信ＩＦ３１１は、加入者線ネットワーク１１０と接続しており、加入者線ネットワーク１１０と接続する機器との間で情報の送受信を行うことができる。第２の通信ＩＦ３１２は、ホームネットワーク１３２と接続しており、ホームネットワーク１３２に接続する機器との間で情報の送受信を行うことができる。
【００６９】
なお、上述した異常監視装置１０３およびＨＧＷ１３１の構成は、図１４および図１５に例示する構成に限定されないことは当然である。例えば、ＨＧＷ１３１において、センサ装置３１５および異常対策装置３１６は、全てソフトウェアプログラムによって実現され、ＣＰＵ３１０で実行されるような場合は、センサ装置３１５および異常対策装置３１６を有さない構成となる。この場合、当該ソフトウェアプログラムは不揮発性メモリ３１４に記憶され、メインメモリ３１３上に読み出されてＣＰＵ３１０によって実行される。
【００７０】
プログラム配信装置１０１のハードウェア構成は例示しないが、少なくとも１台以上のコンピュータ（ＣＰＵ、メインメモリ、不揮発性記憶装置、入力装置、出力装置、通信ＩＦ等を含む）から構成されている。不揮発性記憶装置からメインメモリに読み出され、ＣＰＵによって実行される各種プログラムは、例えば不揮発性記憶装置に格納された各種プログラムを、例えばＯＳＧｉフレームワークの技術を利用してＨＧＷ１３１からの要求により配信するプログラムが実装されている。また、不揮発性記憶装置には、ＨＧＷ１３１で実行されるプログラムが記憶される。
【００７１】
ゲートウェイ装置１０２のハードウェア構成は例示しないが、少なくとも１台以上のコンピュータ（ＣＰＵ、メインメモリ、不揮発性記憶装置、入力装置、出力装置、通信ＩＦ等を含む）から構成されている。不揮発性記憶装置からメインメモリに読み出され、ＣＰＵによって実行される各種プログラムは、例えばＨＧＷ１３１とインターネット１２０との間で各種インターネットプロトコルに従ったデータの送受を仲介するプログラムが実装されている。
【００７２】
情報家電１３５のハードウェア構成は例示しないが、少なくとも１台以上のコンピュータ（ＣＰＵ、メインメモリ、不揮発性記憶装置、入力装置、出力装置、通信ＩＦ等を含む）から構成されている。不揮発性記憶装置からメインメモリに読み出され、ＣＰＵによって実行される各種プログラムは、例えばローカルネットワーク１３２を経由してＨＧＷ１３１を介してインターネット１２０上の各種サーバ装置と接続し、サーバ装置が提供する各種サービスを実現するプログラムが実装されている。
【００７３】
センサ装置１３４のハードウェア構成は例示しないが、少なくとも１台以上のコンピュータ（ＣＰＵ、メインメモリ、不揮発性メモリ、入力装置、出力装置、通信ＩＦ等を含む）から構成されている。不揮発性メモリからメインメモリに読み出され、ＣＰＵによって実行される各種プログラムは、例えばローカルネットワーク１３２を経由してＨＧＷ１３１を介してインターネット１２０上の各種サーバ装置と接続し、サーバ装置が提供する各種サービスを実現するために必要な温度情報や位置情報など各種情報を取得して送信するプログラムが実装されている。
【００７４】
次に、本発明の一実施の形態である異常監視装置１０３とＨＧＷ１３１の各部の動作を図１６，図１７乃至図２２のフローチャート図と図３１のシーケンス図を用いて説明する。なお、図３は図１６の主要な機能を図示したものであり必要に応じて括弧を付して参照する。
【００７５】
図１７乃至図２２は、図１６で説明する主要な処理のフローチャート図であり、図１７は、学習処理（６１０）の動作を例示するフローチャート図である。図１８は、稼働構成登録処理（６３０）の動作を例示するフローチャート図である。図１９は、しきい値学習処理（６４０）の動作を例示するフローチャート図である。図２０は、しきい値更新処理（ステップＳ２３０）の動作を例示するフローチャート図である。図２１は、他のしきい値更新処理（ステップＳ２３０）の動作を例示するフローチャート図である。図２２は、異常判定処理（６２０）の動作を例示するフローチャート図である。図３１は、図１６の動作の流れを例示するシーケンス図である。
【００７６】
図２３乃至図３０は、図１６において各部で記憶される主要な情報の一例を例示したものである。図２３は、ハード構成情報１８３を例示する図である。図２４は、アプリ情報１８２を例示する図である。図２５は、顧客情報１８１を例示する図である。図２６は、稼働構成データ８５の一例を例示する図である。図２７は、しきい値データ７０を例示する図である。図２８は、学習データ４０を例示する図である。図２９は、機器稼働情報１５５を例示する図である。図３０は、稼働情報データ２０を例示する図である。
【００７７】
ＨＧＷ１３１において、稼働アプリ情報１４０は、予め登録されたアプリケーションを記憶し、実行手段１４５は、稼働アプリ情報１４０に登録されたアプリケーションを実行するアプリケーション実行処理（６００）を行い、稼働情報収集手段１５０は、実行手段１４５で実行されたアプリケーション実行にともなう状態の変化、例えば物理メモリ使用量の変動量、実行スレッド数、割り込みの頻度などの動的な稼働情報を収集し、機器稼働情報１５５に記憶する、稼働情報収集処理（６０５）を行う。
【００７８】
機器構成管理手段１６０は、機器のユーザ情報、ハードウェア構成、ソフトウェア構成、稼働アプリ情報１４０に登録されたアプリケーションなどの静的な稼働構成を収集し、機器構成情報１６５に記憶する、稼働構成収集処理（６０７）を行う。
【００７９】
異常対策実行手段１７０は、アプリケーション実行時の異常が検知された時に、異常情報１７５を受信し、例えば機器の再起動や異常源と予想されるアプリケーションの実行を停止する等の異常対策処理（６５０）を実行する。
【００８０】
異常監視装置１０３において、稼働情報取得手段１５は、必要に応じてＨＧＷ１３１から機器稼働情報１５５を受信し、稼働情報データ２０に蓄積する。
【００８１】
構成情報登録処理（６３０）において、学習手段３０は、稼働情報データ２０に蓄積された稼働情報が統計的学習に必要な量になるまで待機し（ステップＳ１００）、稼働情報が十分な量となった時、データマイニング等の統計的手法を用いて、蓄積された稼働情報データ２０の特徴ベクトルを複数のクラスタに分類し、クラスタ毎の平均、標準偏差、クラスタしきい値からなる新しい統計データを作成し（ステップＳ１１０）、新しい統計データで学習データ４０を更新する（ステップＳ１２０）。
【００８２】
稼働構成取得手段１６は、必要に応じてＨＧＷ１３１の機器稼働構成１６５を取得する。
【００８３】
稼働構成登録処理（６３０）において、管理手段１８０は、機器稼働構成１６５と、予め登録した顧客情報１８１、アプリ情報１８２，ハード構成情報１８３との照合を行い、稼働構成データ８５に未登録な機器稼働構成１６５が取得されるまで待機し（ステップＳ１３０）、未登録の機器稼働構成１６５を稼働構成データ８５に追加登録する（ステップＳ１４０）。
【００８４】
しきい値学習処理（６４０）において、しきい値学習手段９０は、学習手段３０による学習が実行されるまで待機し（ステップＳ２００）、学習手段３０による学習が実行されると、学習手段３０における稼働構成毎に稼働情報の学習量を計測し（ステップＳ２２０）、学習量に応じたしきい値更新処理を実行する（ステップＳ２３０）。しきい値データ７０の更新が必要な全てのしきい値が更新されるまでステップＳ２２０とＳ２３０の処理を繰り返す（ステップＳ２１０）。
【００８５】
しきい値更新処理（ステップＳ２３０）の一例を図２０のフローチャート図を用いて説明する。しきい値更新処理（ステップＳ２３０）は、例えば、予め設定した学習量と比較し（ステップＳ３００）、学習量が設定した値より大きい時はしきい値を基準値の１とし、学習量が小さい時は予め設定した１よりも大きいしきい値Ｔｈmaxに設定し、設定したしきい値によりしきい値データ７０を更新する（ステップ３３０）。本動作によりしきい値は、図１１に例示するように設定される。
【００８６】
他のしきい値更新処理（ステップＳ２３０）の一例を図２１のフローチャート図を用いて説明する。しきい値更新処理（ステップＳ２３０）は、例えば、学習量を引数とするしきい値を求める関数式により仮のしきい値を算出し（ステップＳ３４０）、仮のしきい値が基準値１以下の場合は、しきい値を基準値の１に設定し（Ｓ３６０），それ以外の場合は、仮のしきい値をしきい値とし（ステップＳ３７０）、設定したしきい値によりしきい値データ７０を更新する（ステップＳ３８０）。本動作によりしきい値は、図１２に例示されるように設定される。
【００８７】
異常判定処理（６２０）の一例を図２２のフローチャート図を用いて説明する。異常判定処理（６２０）において、異常度解析手段５０は、稼働情報取得手段１５が機器稼働情報を取得するまで待機し（ステップＳ４００）、機器稼働情報から１件ずつ順次稼働情報を取得し（ステップＳ４０５）、取得する稼働情報が無くなればステップＳ４００に戻る。取得した稼働情報から特徴ベクトル抽出し、特徴ベクトルと学習データ４０に登録された複数のクラスタの平均との統計的距離を異常度として求め（ステップＳ４１０）、異常度が最小となる異常度と、異常度の属するクラスタを求める（ステップＳ４２０）。
【００８８】
異常判定手段６０は、学習データ４０に登録された異常度の属するクラスタのクラスタしきい値より異常度の正規化を行い正規化された異常度を求め（ステップＳ４３０）、しきい値データ７０から異常度を求めた稼働情報を取得したＨＧＷ１３１と同一の稼働構成におけるしきい値を取得し（ステップＳ４４０）、前記正規化された異常度と前記しきい値とを比較し（ステップ４５０）、正規化された異常度がしきい値より大きいのであれば、異常と判定する（ステップＳ４６０）。
【００８９】
一実施の形態において、異常対策管理手段６５は、異常判定手段６０で異常と判定された場合、異常と判断された稼働情報含む機器稼働情報１５５を送信したＨＧＷ１３１に対し、異常の種類に応じた対策方法１７５を送信する。
【００９０】
また、図１６は、１台のＨＧＷ１３１と１台の異常監視装置１０３からなる構成を例示したが、ＨＧＷの数を制限するのもではない。また、異常監視装置１０３は、本発明の一実施の形態における、学習処理（６００）、稼働構成登録処理（６３０）、しきい値学習処理（６４０）、異常判定処理（６２０）を複数のハードウェアで分散して実行することを制限するものではない。
【００９１】
また、図１６は、異常判定処理（６２０）を異常監視装置１０３で行うことを例示したが、例えば、図３２の他の構成における動作の流れを例示するシーケンス図に示すように、学習データ４０としきい値データ７０をＨＧＷ１３１に送信することにより、異常判定処理（６２０）をＨＧＷ１３１で実行してもよい。本発明は、各処理の配置を制限するものではない。
【００９２】
また、一実施の形態において、学習手段３０において、学習データ４０を作成する方法を例示したが、学習データ４０を作成する方法を制限するものではない。
【００９３】
また、一実施の形態において、学習データ４０は、学習手段３０により新しい学習データで学習データを更新する方法を例示したが、学習手段３０は、学習データ４０を参照して学習することも可能であり、また、予め新しい稼働構成に対して別の手段で予め学習データを作成し、学習データ４０を更新することも、もちろん可能である。
【００９４】
また、一実施の形態において、異常度解析手段５０において、異常度を求める方法を例示したが、異常度を求める方法を制限するものではない。
【００９５】
また、一実施の形態において、しきい値学習手段９０において、しきい値の値を求める方法を例示したが、しきい値の値を求める方法を制限するものではない。
【００９６】
また、一実施の形態において、クラスタ範囲を求める方法を例示したがクラスタ範囲を求める方法を制限するものではない。
【００９７】
また、一実施の形態において、異常度を正規化してしきい値と比較する方法を例示したが、これに限定されず、稼働構成のしきい値と求めた異常度が属するクラスタのクラスタしきい値に応じて、異常度のしきい値を設定してもよい。
【００９８】
また、一実施の形態において、図２６に例示する稼働構成の分類は、ハード構成と登録アプリの組合せを例示したが、これに限定されず、例えばハード構成と稼働中のアプリの組合せを単位とする稼働構成でしきい値を設定してもよい。
【００９９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１００】
以上の説明から明らかなように、機器の運用中に機器から収集した稼働情報を使って学習手段３０により学習モデルを学習できるので、予め試験環境では検出できない異常の検出を学習した学習モデルを用いて行うことができ、さらに、しきい値学習手段９０を設けることにより、稼働構成毎の学習量に応じて稼働構成毎のしきい値を設定することにより、異常判定手段６０において異常度解析手段５０が出力する異常度が異常か否か判断するためのしきい値を、異常度を求めた稼働情報を出力した機器と同一の稼働構成を持つ機器から取得した稼働情報を使った学習量に応じて高く設定することができるので、新設、機能の追加、削除、更新などによる機器の構成が変更されても、学習済みの学習モデルを使った異常の判定を誤検出する確率を低減することが可能になる。
【符号の説明】
【０１０１】
１５    稼働情報取得手段
１６    稼働構成取得手段
２０    稼働情報データ
３０    学習手段
４０    学習データ
５０    異常度解析手段
６０    異常判定手段
７０    しきい値データ
８０    管理手段
８５    稼働構成データ
９０    しきい値学習手段
６１０  学習処理
６２０  異常判定処理
６３０  稼働構成登録処理
６４０  しきい値学習処理
【図１】
2011192097.tif 000003
【図２】
2011192097.tif 000004
【図３】
2011192097.tif 000005
【図４】
2011192097.tif 000006
【図５】
2011192097.tif 000007
【図６】
2011192097.tif 000008
【図７】
2011192097.tif 000009
【図８】
2011192097.tif 000010
【図９】
2011192097.tif 000011
【図１０】
2011192097.tif 000012
【図１１】
2011192097.tif 000013
【図１２】
2011192097.tif 000014
【図１３】
2011192097.tif 000015
【図１４】
2011192097.tif 000016
【図１５】
2011192097.tif 000017
【図１６】
2011192097.tif 000018
【図１７】
2011192097.tif 000019
【図１８】
2011192097.tif 000020
【図１９】
2011192097.tif 000021
【図２０】
2011192097.tif 000022
【図２１】
2011192097.tif 000023
【図２２】
2011192097.tif 000024
【図２３】
2011192097.tif 000025
【図２４】
2011192097.tif 000026
【図２５】
2011192097.tif 000027
【図２６】
2011192097.tif 000028
【図２７】
2011192097.tif 000029
【図２８】
2011192097.tif 000030
【図２９】
2011192097.tif 000031
【図３０】
2011192097.tif 000032
【図３１】
2011192097.tif 000033
【図３２】
2011192097.tif 000034