(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G08B 31/00 20060101AFI20231110BHJP
G05B 23/02 20060101ALI20231110BHJP
【FI】
G08B31/00 A
G05B23/02 302Y
(21)【出願番号】P 2020062302
(22)【出願日】2020-03-31
【審査請求日】2023-01-30
【早期審査対象出願】
(73)【特許権者】
【識別番号】000191076
【氏名又は名称】日鉄ソリューションズ株式会社
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners弁理士法人
(72)【発明者】
【氏名】岡谷 正博
(72)【発明者】
【氏名】相澤 元
(72)【発明者】
【氏名】山口 徹
【審査官】石井 則之
(56)【参考文献】
【文献】特開2009-064407(JP,A)
【文献】特開2010-122847(JP,A)
【文献】特開昭61-245210(JP,A)
【文献】国際公開第2010/082322(WO,A1)
【文献】特開平06-301878(JP,A)
【文献】米国特許出願公開第2011/0276828(US,A1)
【文献】中国特許出願公開第104572329(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08B 31/00
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付部と、
前記受付部が受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換部と、
前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成部と
を有する、情報処理装置。
【請求項2】
前記出力信号の発生時刻に基づいて、前記グループを生成するグループ生成部をさらに有し、
前記受付部は、前記グループ生成部により生成された前記グループにおいて、前記根本原因に対応した前記出力信号の選択を受け付ける、請求項1に記載の情報処理装置。
【請求項3】
前記モデル生成部は、
前記複数の出力信号の並び順を、行及び列の並び順とし、
前記置換部により得られる2つの出力信号における選択結果を、前記2つの出力信号それぞれの順位に対応した成分の値とする行列を生成し、
前記行列の対角成分よりも上の成分を含む上三角の値の最大化問題を解くことにより、前記順位モデルを生成する、請求項1又は2に記載の情報処理装置。
【請求項4】
前記モデル生成部は、ヒューリスティックの手法により、前記順位モデルを生成する、請求項3に記載の情報処理装置。
【請求項5】
前記モデル生成部は、
前記複数の出力信号を所定の並び順に並べ、前記複数の出力信号のうち処理対象の出力信号の順位を、予め定められた条件に従い変更することで、複数の並び順を生成し、
前記複数の並び順それぞれに対応した前記行列の前記上三角の値を求め、
前記上三角の値に基づいて、前記複数の並び順の中の一の並び順を、前記順位モデルとして得る、請求項4に記載の情報処理装置。
【請求項6】
前記モデル生成部は、前記複数の出力信号それぞれを処理対象として選択し、前記処理対象の出力信号の順位を一定間隔で変更することで、前記複数の並び順を生成する、請求項5に記載の情報処理装置。
【請求項7】
前記モデル生成部は、前記複数の出力信号の中の2つの出力信号を処理対象として選択し、前記処理対象の2つの出力信号の順位を入れ替えることで、前記複数の並び順を生成する、請求項5に記載の情報処理装置。
【請求項8】
前記モデル生成部は、根本原因として選択されたことのない出力信号のうち少なくとも一部の出力信号の順位を、根本原因として選択されたことのある出力信号の順位よりも下の順位に固定した上で、固定されていない出力信号の順位を変更する、請求項5乃至7の何れか1項に記載の情報処理装置。
【請求項9】
前記モデル生成部は、前記受付部が、新たに得られた出力信号のグループにおいて、前記根本原因に対応した前記出力信号の選択を受け付けた場合に、前記受付部による出力信号の選択結果に応じて、前記順位モデルを更新する、請求項1乃至8の何れか1項に記載の情報処理装置。
【請求項10】
前記根本原因の推定対象の複数の出力信号と、前記順位モデルと、に基づいて、前記推定対象の複数の出力信号の中から、前記根本原因となる出力信号を推定する推定部と
をさらに有する、請求項1乃至9の何れか1項に記載の情報処理装置。
【請求項11】
根本原因の推定対象となる、複数の出力信号を取得する取得部と、
所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに置換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定部と
を有する、情報処理装置。
【請求項12】
情報処理装置が実行する情報処理方法であって、
管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付ステップと、
前記受付ステップにおいて受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換ステップと、
前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成ステップと
を含む、情報処理方法。
【請求項13】
情報処理装置が実行する情報処理方法であって、
根本原因の推定対象となる、複数の出力信号を取得する取得ステップと、
所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定ステップと
を含む、情報処理方法。
【請求項14】
コンピュータを、
管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付部、
前記受付部が受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換部、
前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成部
として機能させるためのプログラム。
【請求項15】
コンピュータを、
根本原因の推定対象となる、複数の出力信号を取得する取得部、
所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに置換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラム
【背景技術】
【0002】
ネットワークシステム等の設備における障害対応業務においては、多数の設備から多数のアラームが発生する。このため、障害の根本原因に関するアラームが埋もれてしまうことがある。これに対し、特許文献1には、複数の設備より発生する複数のアラームを、同期性を有するアラーム毎にグループに分類し、発生事象に最も密接なアラームをグループ毎に選別するシステムが開示されている。本システムにおいては、ある設備のアラームについて同期性のある他の設備のアラームから設備の相関関係を学習し、相関のある設備をグループに分割して、グループ毎にニューラルネットワークで学習させることで学習を高速化している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術においては、設備の相関関係を予め学習させる必要があり、アラーム単体で学習できないという問題があった。
【0005】
本発明は、このような問題点に鑑みなされたもので、管理対象の機器から出力される複数の出力信号に基づいて、根本原因を推定する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するため、本発明の情報処理装置は、管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付部と、前記受付部が受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換部と、前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成部とを有する。
【0007】
また、他の形態は、情報処理装置であって、根本原因の推定対象となる、複数の出力信号を取得する取得部と、所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに置換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定部とを有する。
【0008】
また、他の形態は、情報処理装置が実行する情報処理方法であって、管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付ステップと、前記受付ステップにおいて受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換ステップと、前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成ステップとを含む。
【0009】
また、他の形態は、情報処理装置が実行する情報処理方法であって、根本原因の推定対象となる、複数の出力信号を取得する取得ステップと、所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定ステップとを含む。
【0010】
また、他の形態は、コンピュータを、管理対象の複数の機器から、所定期間に得られた複数の出力信号を含むグループにおいて、前記複数の出力信号の根本原因に対応した出力信号の選択を受け付ける受付部、前記受付部が受け付けた、前記グループに対応した選択結果を、前記複数の出力信号の中から選択される、2つの出力信号における選択結果の組み合わせに置換する置換部、前記置換後の前記選択結果に基づいて、前記出力信号の順位モデルを生成するモデル生成部として機能させるためのプログラムである。
【0011】
また、他の形態は、コンピュータを、根本原因の推定対象となる、複数の出力信号を取得する取得部、所定時間に得られた複数の出力信号を含むグループにおける、根本原因の出力信号の選択結果を、前記グループの中から選択される、2つの出力信号における選択結果の組み合わせに置換して生成された順位モデルに基づいて、前記複数の出力信号の中から、根本原因となる出力信号を推定する推定部として機能させるためのプログラムである。
【発明の効果】
【0012】
本発明によれば、管理対象の機器から出力される複数の出力信号に基づいて、根本原因を推定することができる。
【図面の簡単な説明】
【0013】
【
図2】履歴テーブルのデータ構成例を示す図である。
【
図10】有向グラフと対応する行列を示す図である。
【発明を実施するための形態】
【0014】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)順位を決定する問題:
(2)情報処理装置の構成:
(3)情報処理:
(4)付記:
【0015】
(1)順位を決定する問題:
まず、実施形態に係る情報処理装置の説明に先立ち、人気投票の結果から、候補者の順位を決定する問題について説明する。ここでは、aからdまでの4人の候補者の人気投票を例に説明する。
図9の上段に示すA方式のように、1番好きな候補者を投票してもらう方式では、投票者が見ていない候補者の順位が上位になり得ない、見ていない候補者の順位を正しく評価できないといった問題がある。一方で、
図9の下段に示すB方式のように、2人のうちどちらが好きかといったアンケートに基づいて候補者の順位を決定する方式では、下位の候補者についても順位付けを行うことができる。B方式の結果から順位付けを行う問題は、いわゆる線形順序付け問題に帰着させることができる。線形順序付け問題については、下記の文献を参照することができる。
「線形順序付け問題の解法」 オペレーションズ・リサーチ
http://www.orsj.or.jp/archive2/or57-06/or57_6_327.pdf
【0016】
次に、線形順位付け問題を、有向グラフへ落とし込むことを考える。問題を単純化するため、
図10の左に示すように、aとbの何れが好きかと聞いた結果、aが3票、bが5票という結果が得られた場合を例に説明する。
図10の右の上段には、この結果を示す有向グラフを示している。
図10の左の下段には、この結果を示す行列を示している。行列において、左から右に順に候補が配置され、列方向(縦方向)においては、上から下に横方向と同じ順に候補が配置される。a同士、b同士の比較はないため、行列のVi(i,i)の値は0となる。
【0017】
同様に、候補者がV
1、V
2、V
3、V
4の4人いる場合において、二者択一の選択結果が得られた場合を考える。
図11の上段に示すように、まず候補者のインデックスの並び順に候補者を並べて有向グラフ及び行列を作成する。そして、上三角の値を算出する。ここで、上三角の値とは、
図11の上段に示すように対角成分1100よりも上側の成分1102の和である。
図11の例では、上三角の値は、5+6+16で、27である。
【0018】
インデックス順を入れ替えることで、上三角の値が変化する。互いに異なるインデックス順それぞれの上三角の値のうち、上三角の値が最大となるようなインデックスの並び順が最適解として得られる。すなわち、上三角の値が最大となるようなインデックス順が、人気順として得られる。
図11の例において、
図11の下段に示すように、V
4、V
2、V
1、V
3のインデックスの並び順において上三角の値が最大となったとする。この場合、V
4、V
2、V
1、V
3のインデックス順が最適解として得られる。
【0019】
しかしながら、上三角の値が最大となるインデックスの並び順を求めるためには、インデックスが取り得るすべての並び順の上三角の値を求める必要がある。インデックスがn(nは自然数)個存在する場合には、並び順はn!通り存在する。すなわち、インデックスの組み合わせは、インデックスの数が増えるにつれて、指数オーダーで増加する。このように、インデックスの並び順を探索する計算はNP困難であり、計算量が膨大となる。
【0020】
そこで、多項式時間で解決するために最適解の保証がないもののヒューリスティックの手法を適用することを考える。ここで、ヒューリスティクスとは、経験的に正しいことが分かっている解法である。本実施形態では、順位付けの対象となる複数のインデックスのうち1つのインデックスを処理対象として抽出する。そして、インデックスの並び順において、処理対象のインデックスの順位を変更し、これにより得られた複数の並び順それぞれに対する上三角の値を求める。この操作をすべてのインデックスに対して行い、上三角の値が最大となる並び順を求める。
【0021】
例えば、4人の候補者に対しては、
図12の左上に示すように、まず、インデックスIDが小さい順の並び順「V
1、V
2、V
3、V
4」を初期解とする。ここで、インデックスID「1」を処理対象として抽出し、インデックスID「1」の順位を1つずつ変更する。これにより、ID「1」の暫定解空間1211が得られる。暫定解空間1211には、「V
1、V
2、V
3、V
4」、「V
2、V
1、V
3、V
4」、「V
2、V
3、V
1、V
4」及び「V
2、V
3、V
4、V
1」の並び順が含まれる。なお、
図4の右に示す行列1221,1222は、それぞれ、「V
1、V
3、V
3、V
4」及び「V
2、V
1、V
3、V
4」の並び順に対応した行列である。
【0022】
ID「1」の暫定解空間1211に含まれる4つの並び順それぞれに対応した上三角の値を求め、上三角の値が最大となる並び順を、インデックスID「1」に対応した暫定解空間における暫定解として得る。ここでは、「V2、V1、V3、V4」が暫定解として得られたとする。
【0023】
次に、
図12の左側の2段目に示すように、ID「1」の暫定解空間1211の最適解「V
2、V
1、V
3、V
4」からインデックスID「2」を処理対象として抽出し、インデックスID「2」の順位を1つずつ変更する。これにより、ID「2」の暫定解空間1212が得られる。ID「2」の暫定解空間1212に含まれる4つの並び順それぞれに対応した上三角の値から、ID「2」の暫定解空間1212における暫定解を得る。同様にID「3」の暫定解空間1213及びID「4」の暫定解空間1214における暫定解を求める。そして、4つの暫定解のうち上三角の値が最大となるものを最適解として得る。
【0024】
このように、各インデックスの順位を1つずつ変更する処理にすることで、インデックスの並び順を4!通りから、42通りまで下げることができる。上記の技術は一般化できるものであり、本実施形態の情報処理装置は、上記の技術を適用したものである。以下、情報処理装置について説明する。
【0025】
(2)情報処理装置の構成:
図1は、情報処理装置10の全体構成図である。情報処理装置10は、多数のネットワーク機器を管理しており、各ネットワーク機器において異常が生じた場合に、異常が生じたネットワーク機器からアラームを受信する。すなわち、アラームは、異常が生じたことを示す情報である。アラームには、異常の発生時刻、アラーム区分、アラームID及びアラーム名が含まれるものとする。ここで、アラーム区分は、アラームの種類を示す情報である。アラームIDは、アラームを識別する識別情報である。アラーム名は、アラームの内容を示す情報である。なお、アラームは、出力信号の一例である。また、アラームIDは、ネットワーク機器により付与されるものとするが、他の例としては、情報処理装置10が付与してもよく、また他の例としては、ネットワーク機器を監視する監視サーバなど他の装置が付与してもよい。
【0026】
情報処理装置10は、CPU、RAM、ROM等を備える制御部120と、記録媒体110と、通信部130と、操作部140と、表示部150と、を備えている。制御部120は、記録媒体110やROMに記憶された種々のプログラムを実行することにより、情報処理装置10の全体を制御する。記録媒体110は、各種データやプログラムを記憶している。通信部130は、外部装置と有線又は無線によりネットワークを介して通信を行う。通信部130は、具体的には、情報処理装置10の管理対象のネットワーク機器と通信を行う。操作部140は、ユーザ操作を受け付ける。表示部150は、各種データを表示する。
【0027】
記録媒体110には、履歴DB111と、順位モデル112と、が記憶される。
図2は、履歴DB111のデータ構成の一例を示す図である。履歴DB111には、アラームが時系列順に記憶されている。履歴DB111において、レコードNoに対応付けてアラームが記憶される。さらに、各レコードには、フラグが対応付けられている。ここで、レコードNoは、レコードの識別情報である。フラグは、初期値がオフに設定されている。フラグについては後述する。
【0028】
履歴DB111には、制御部120が、ネットワーク機器からアラームを受信する度に、アラームがレコードNoに対応付けて記憶される。なお、初期状態においては、履歴DB111にはレコードは記憶されない。
【0029】
順位モデル112は、所定時間内に得られた複数のアラームの中から根本原因に対応したアラームを特定するために参照されるモデルである。根本原因とは、複数のアラームが発生した根本的な原因である。例えば、ネットワーク機器Aの障害に発生し、これに起因してネットワーク機器A~Cからアラームが発生した場合、ネットワーク機器A~Cのアラームのうち、ネットワーク機器Aのアラームが根本原因となる。順位モデル112は、情報処理装置10の制御部120による学習処理により作成され、記録媒体110に登録される情報である。すなわち、学習処理が行われる前の状態においては、順位モデル112は記憶されていない。順位モデルについては後述する。
【0030】
図1に戻り、制御部120は、機能構成として、取得部121と、グループ生成部122と、受付部123と、置換部124と、モデル生成部125と、推定部126と、表示処理部127とを備えている。取得部121、グループ生成部122、受付部123、置換部124、モデル生成部125、推定部126及び表示処理部127は、CPUが情報処理プログラムを実行することにより実現される。すなわち、情報処理プログラムは、情報処理装置10のコンピュータとしての制御部120を上記機能部として機能させるためのプログラムである。以下、各機能構成について説明する。
【0031】
制御部120は、取得部121の機能により、通信部130を介して複数のネットワーク機器からアラームを受信(取得)し、受信したアラームを履歴D111へ保存する。制御部120は、グループ生成部122の機能により、複数のアラームを含むアラームグループを生成する。具体的には、制御部120は、アラームに示される発生時刻に基づいて、予め定められた期間内に得られた複数のアラームのグループをアラームグループとして生成する。制御部120は、例えば、
図2に示すように、0時00分から0時20分までの期間に発生した複数のアラームのグループを第1のアラームグループ210として生成する。制御部120は、さらに、0時20分から0時40分までの期間に発生した複数のアラームのグループを第2のアラームグループ220として生成する。このように、制御部120は、所定期間に発生した複数のアラームを1つのアラームグループにグループ化する。
【0032】
制御部120は、受付部123の機能により、ユーザ操作を受け付ける。例えば、制御部120は、グループ生成部122により得られた各アラームグループに含まれる複数のアラームの中から、根本原因となるアラームの選択を受け付ける。一定時間内に複数のアラームが発生した場合、これらのアラームはそれぞれ別の原因により発生しているのではなく、根本的な1つの原因、すなわち根本原因に起因していると考えられる。制御部120は、このような根本原因の選択を受け付ける。
【0033】
制御部120は、置換部124の機能により、アラームグループ単位での選択結果を、二者択一の選択結果の組み合わせに置換する。二者択一の選択結果の組み合わせとは、アラームグループに含まれる複数のアラームの中から選択される、2つのアラームにおける選択結果の組み合わせである。これは、
図9のA方式の選択結果を、B方式の選択結果に置換することに相当する処理である。アラームグループの中から根本原因を選択する場合、出現頻度は低いものの重要なアラームについても低い順位が推定される可能性がある。そこで、「多数から1つを選択する(根本原因抽出)」問題に対して、「二者択一による順位付け」の解法を適用することとする。
【0034】
制御部120は、モデル生成部125の機能により、管理対象のアラームの順位モデルを生成する。制御部120は、モデル生成部125の機能により以下の処理を行う。制御部120は、アラームグループに含まれる複数のアラームの並び順を、行及び列の並び順とし、置換部124の機能により得られる2つのアラームにおける選択結果を、2つのアラームそれぞれの順位に対応した成分の値とする行列を生成する。生成される行列における行及び列の数は、アラームIDの数と等しい。そして、制御部120は、上三角の値の最大化問題を解くことにより、順位モデルを生成する。
【0035】
まず、行列を生成する処理について説明する。制御部120は、根本原因のアラームiと、根本原因とならないアラームjとの組み合わせに対応した行列の第(i、j)成分に1を加算する。
【0036】
例えば、第1のアラームグループ210において、アラームID「6」のアラームが根本原因として選択された場合、すなわち、アラームID「6」に対応したネットワーク機器が根本原因として選択された場合を考える。この場合、(式1)に示す行ベクトルがアラームID「6」アラームの特徴量として得られる。
V6j=(1,1,1,1,1,0,1,…) …(式1)
ここで、V6jの1番目の要素は、アラームID「1」のアラームと、アラームID「6」のアラームの組に対応する。この組においてアラームID「6」が根本原因として選択されているため、1番目の要素は「1」となる。同様に、2~5番目の要素と、7番目の要素が1となる。6番目の要素は、アラームID「6」に対応するアラーム同士の組み合わせであり、想定されないため「0」となる。また、第1のアラームグループ210に含まれないアラームと、アラームID「6」のアラームの間では優位性の判断がつかない。このため、(式1)には示されていないが、第1のアラームグループ210に含まれないアラームと、アラームID「6」のアラームの組に対応した要素は「0」となる。このため、ネットワーク機器が多数存在する場合には、行ベクトルは多数のゼロを含むベクトルとなる。
【0037】
制御部120は、こうして得られた二者択一の置換結果の組み合わせに相当する行ベクトルを行列に加算する。例えば、
図3に示すような行列300に対し、(式1)の行ベクトルが加算されると、6行の各成分の値は、「1,1,4,1,1,0,1…」となる。制御部120は、例えば、1日など所定の期間に得られた複数のアラームグループを処理対象とし、各アラームグループに対応した行ベクトルを生成し、行ベクトルの値を行列の対応する成分に加算する。
【0038】
次に、上三角の値の最大化問題を解く処理について説明する。制御部120は、線形順序付け問題を解くことで、順位モデルを生成する。すなわち、制御部120は、行列の上三角の値が最大となる並び順を最適解として求め、この並び順を順位モデルとして得る。ただし、(1)順位を決定する問題、について説明したように、すべての並び順における上三角の値を求めようとした場合、n!通りの並び順について上三角の値を求めなければならない。しかしながら、情報処理装置10が管理するネットワーク機器は、数万~数十万というオーダーで存在することもある。このため、n!通りの並び順の上三角の値を求める計算は、NP困難であり、計算量は膨大となる。そこで、本実施形態の制御部120は、多項式時間で解決するためにヒューリスティクスの手法を適用する。
【0039】
制御部120は、まず
図3に示すように、アラームIDの昇順の並び順を初期解とし、この初期解に対応した上三角の値を求める。さらに、制御部120は、
図12を参照しつつ説明したように、アラームIDを1つずつ処理対象として抽出する。制御部120は、まず、アラームID「1」を処理対象として抽出し、処理対象のアラームIDの順位を1つずつ変更する。これにより、管理対象の機器がn個存在する場合には、n通りの並び順が得られる。制御部120は、このn通り並び順の中から、対応する行列の上三角が最大となる並び順を暫定解として特定する。さらに、制御部120は、次のアラームID「2」についても処理対象として抽出し、アラームID「1」の暫定解を初期状態として、アラームID「2」の順位を1つずつ変更することで、n通りの並び順を生成する。そして、制御部120は、n通りの並び順の中から、対応する行列の上三角が最大となる並び順を暫定解として特定する。制御部120は、この処理をすべてのアラームIDに対して行い、上三角が最大となる行列に対応した並び順を順位モデルとして生成する。これにより、根本原因となる可能性が高いアラームほど上位に位置する順位モデルが生成される。
【0040】
このように、上記の処理においてはn個のアラームIDが処理対象として抽出され、それぞれについてn通りの並び順が得られることから、全部でn2個の行列が得られる。すなわち、計算量をn!通りからn2通りまで下げることができる。
【0041】
制御部120は、推定部126の機能により、順位モデル112を参照し、推定対象のアラームグループに対し、根本原因となるアラームを推定する推定処理を行う。推定処理は、学習処理により、順位モデル112が生成された後に実行される処理である。制御部120は、具体的には、順位モデル112に示されるアラームの並び順を参照し、推定対象のアラームグループに含まれるアラームのうち、最も上位のアラームを根本原因として推定する。制御部120は、表示処理部127の機能により、各種情報を表示部150に表示するよう制御する。
【0042】
(3)情報処理:
図4は、制御部120による学習処理を示すフローチャートである。なお、制御部120は、管理対象のネットワーク機器において異常が生じる度に、異常が発生したネットワーク機器からアラームを受信し、これを履歴DB111に蓄積しているものとする。
【0043】
制御部120は、学習処理の処理タイミングか否かを判定する(ステップS100)。処理タイミングは、毎日深夜0時とする。なお、処理タイミングは、一定期間が経過したタイミングであればよく、実施形態に限定されるものではない。他の例としては、処理タイミングは、12時間間隔や、48時間間隔であってもよい。制御部120は、処理タイミングまで待機し(ステップS100でN)、処理タイミングになると(ステップS100でY)、アラームグループを生成する(ステップS102)。制御部120は、履歴DB111において、前回の処理タイミング以降に蓄積された1日分のアラームを処理対象とし、20分間を1つのグループとして、複数のグループを生成する。
【0044】
次に、制御部120は、各アラームグループに対する根本原因のアラームの選択を受け付ける(ステップS104)。制御部120は、根本原因のアラームが選択されると、選択されたアラームに対応したレコードのフラグをオンする。例えば、
図2に示す第1のアラームグループ211において、アラームID「6」のアラームが根本原因として選択された場合には、
図2に示すように、アラームID「6」のアラームに対応付けてフラグオンが記録される。
【0045】
次に、制御部120は、各アラームグループにおける選択結果を、二者択一の選択結果に置換する(ステップS106)。次に、制御部120は、二者択一の選択結果に応じて、順位モデルを生成する(ステップS108)。具体的には、制御部120はまず、根本原因として選択されたアラームについての行ベクトルを生成する。行ベクトルにおいては、同一のアラームグループとの組に対応する要素が1であり、これ以外の要素が0となる。制御部120は、S104においてアラームの選択を受け付けたすべてのアラームグループに対応した行ベクトルを生成し、すべての行ベクトルの値を、行列の対応する要素に加算する処理を行う。
【0046】
そして、制御部120は、
図4を参照しつつ説明した方法で、アラームの並び順を並び替えることで、複数の並び順を生成し、各並び順における上三角の値を求め、上三角の値が最大となる並び順を順位モデルとして生成する。
【0047】
また、ステップS108の処理時点において、記録媒体110に既に順位モデル112が記憶されている場合がある。この場合には、制御部120は、ステップS108においては、既に生成された順位モデルに対応した行列において、新たに得られた行ベクトルの値を加算する。そして、制御部120は、再度、アラームの並び順を複数生成し、上三角の値が最大となる並び順を特定し、順位モデル112を新たに得られた並び順に更新する。その後は、制御部120は、処理タイミングがくる度に、ステップS102~ステップS108の処理を繰り返し、順位モデルを更新し続ける。
【0048】
以上のように、本実施形態に係る情報処理装置10は、管理対象のネットワーク機器において実際に得られたアラームを含むアラームグループに対してユーザ操作に応じて選択された根本原因のアラームを教師データとして、順位モデルを生成することができる。さらに、情報処理装置10は、アラームグループにおける選択結果を、二者択一の選択結果に変換し、二者択一の選択結果の線形順位付け問題を解くことにより、順位モデルを生成することができる。また、情報処理装置10は、線形順位付け問題を解くにあたり、ヒューリスティックの手法を適用することで、効率的に適切な順位モデルを生成することができる。
【0049】
図5は、制御部120による推定処理を示すフローチャートである。推定処理は、学習処理により順位モデル112が生成され、記録媒体110に保存された後で実行される処理である。制御部120は、まず取得部121の機能により、推定対象のアラームグループを取得する(ステップS200)。制御部120は、例えば、学習処理において処理単位とする20分間に含まれる複数のアラームのグループを、推定対象のアラームグループとして取得する。
【0050】
次に、制御部120は、推定部126の機能により、順位モデル112を参照し、推定対象のアラームグループに含まれる複数のアラームのうち、順位モデル112において最も上位に位置付けられているアラームを根本原因として推定する(ステップS202)。次に、制御部120は、表示処理部127の機能により、推定結果を表示部150に表示するよう制御する(ステップS204)。以上で、推定処理が終了する。
【0051】
このように、推定処理においては、推定モデルを参照することにより、複数のアラームを含むアラームグループにおいて、根本原因となるアラームを効率的に推定することができる。
【0052】
なお、順位モデル112が生成された後は、制御部120は、学習処理の処理タイミングにおいて、ステップS102において生成されたすべてのアラームグループを推定対象のアラームグループとして、根本原因の推定を行ってもよい。制御部120は、さらに、学習処理において、正しい根本原因の選択を受け付けることで、順位モデルを順次更新していくものとする。
【0053】
以上のように、実施形態に係る情報処理装置10においては、3以上のアラームを含むアラームグループにおける根本原因の選択結果を、二者択一の選択結果の組み合わせに置換する。そして、情報処理装置10は、さらに、二者択一の選択結果からアラームの順位付けを行う問題を線形順位付け問題として、ヒューリスティックの手法により解くことで、アラームの順位モデルを生成する。さらに、順位モデルにおいては、管理対象のすべてネットワーク機器の並び順が定められていることから、ネットワーク機器の間の相関関係を考慮することなく、順位モデルを参照するだけで、根本原因の推定を行うことができる。
【0054】
このように、本実施形態の情報処理装置10は、予めネットワーク機器間の相互関係を学習させることなく、各ネットワーク機器の間の相関を推定し、一定の確からしさが保証された順位モデルを生成することができる。したがって、管理対象となるネットワーク機器の数が多い場合であっても、管理者等のユーザによる相関関係を設定する等の操作を要することなく、順位モデルを生成することができる。すなわち、情報処理装置10は、管理対象の機器から出力される複数のアラーム(出力信号)に基づいて、根本原因を推定することができる。
【0055】
(4)付記:
以上の実施形態は、本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。
【0056】
第1の変形例としては、情報処理装置10の機能の一部は、複数の装置によって実現されるシステムであってもよい。また、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。例えば、学習処理において、グループの単位となる期間(実施形態においては20分)が経過する度に、グループ生成処理(ステップS102)が実行され、複数のアラームがグループ化されてもよい。
【0057】
また、他の例としては、実施形態において説明した情報処理装置は、学習処理を行う学習装置と、推定処理を行う推定装置の2つの装置で実現されてもよい。この場合、学習装置は、
図1を参照しつつ説明した、情報処理装置10の構成において、推定部126以外の構成を備えるものとする。また、推定装置は、
図1を参照しつつ説明した情報処理装置10と同様のハードウェア(記録媒体、制御部、通信部、操作部及び表示部)を備え、制御部の機能として、推定対象のアラームを取得する取得部、推定部及び表示処理部を備えるものとする。さらに、推定装置の記憶媒体には、学習装置により生成された順位モデルが記憶されているものとする。
【0058】
第2の変形例について説明する。実施形態においては、制御部120は、順位モデルを生成する際に、処理対象のアラームIDの順位を1つずつ変更したが、一定間隔で変更すればよく、1つずつに限定されるものではない。例えば、
図6に示すように、制御部120は、処理対象のアラーム(アラームID「1」)の順位を1つおきに変更してもよい。これにより、処理対象のアラームの順位は、1、3、5…となる。この場合、生成される並び順は、n*(n/2)通りとなる。
【0059】
また、他の例としては、制御部120は、所定の数のアラームを処理対象とすればよく、すべてのアラームを処理対象としなくともよい。例えば、制御部120は、n個のアラームのうち、1つおきにn/2個のアラームを処理対象として、実施形態において説明した処理を行ってもよい。この場合も、並び順は、n*(n/2)通りとなる。
【0060】
このように、制御部120は、n個のアラームIDに対する並び順を生成する計算量をn!のオーダーからO(n^2)のオーダーに下げるような条件に従い、並び順を生成すればよく、そのための条件は、実施形態に限定されるものではない。さらに他の例としては、
図7に示すように、隣接する2つの順位を入れ替えることにより、複数の並び順を生成してもよい。なお、処理対象のアラームの個数は、管理者等が希望する、順位モデルの精度に応じて任意に決定することができる。
【0061】
さらに、制御部120は、管理対象のネットワーク機器の数が少ない場合には、ヒューリスティックの手法を用いることなく、n台のネットワーク機器に対し、n!通りの並び順を生成した上で順位モデルを生成してもよい。
【0062】
第3の変形例について説明する。ネットワーク機器においては数万~数十万のオーダーでアラームが発生するが、このうち根本原因となるのは、100~1000のオーダーであることが多い。そこで、制御部120は、順位モデルの生成において、過去に一度も根本原因として選択されていないアラームIDの順位を、根本原因として選択されたことのあるアラームIDよりも下の順位で固定する。例えば、n個のアラームIDのうち、m(mはnより小さい自然数)個のアラームは、一度も根本原因として選択されていないとする。この場合、
図8に示すように、制御部120は、これらm個のアラームの順位を、(n-m+1)番目からn番目で固定する。そして、制御部120は、1番目から(n-m)番目までの間で、順位の入れ替えを行うことにより順位モデルを生成する。これにより、計算量を減らしつつ、より最適解に近い順位モデルを得ることができる。なお、一度も根本原因として選択されていないアラームのうち少なくとも一部のアラームの順位が選択されたアラームよりも下位で固定されればよく、すべてのアラームの順位が下位で固定されなくてもよい。
【0063】
第4の変形例としては、本実施形態においては、管理対象をネットワーク機器としたが、管理対象の機器は、アラームを出力する機器であればよく、ネットワーク機器に限定されるものではない。
【0064】
第5の変形例としては、情報処理装置が受信する情報は通常状態と異なることを示す出力信号であればよく、異常を示すアラームに限定されるものではない。
【0065】
第6の変形例としては、根本原因は2つ以上であってもよい。さらに、根本原因が複数存在する場合に、例えば、重要度が高いものに「2」重要度が低いものに「1」を与える、というように、行列において加算する値を段階的な値としてもよい。また、情報処理装置10は、推定処理においても、順位モデルにおける順位に従い、根本原因となるアラームを複数推定してもよい。さらに、この場合、情報処理装置10は、順位に応じた確からしさと共に、複数のアラームを根本原因と共に推定し、これを表示してもよい。
【0066】
第7の変形例としては、情報処理装置10は、他の装置においてグループ化されたアラームを学習データとして受信し、学習データに基づいて、順位モデルを生成してもよい。この場合には、情報処理装置は、グループ生成部を備えなくともよい。
【0067】
第8の変形例としては、情報処理装置10は、アラームに限らず管理対象の機器から出力される出力信号に基づいて、順位モデルを生成すればよい。例えば、情報処理装置10は、監視領域の異なる場所に設置された温度センサを監視対象とする。また、各温度センサは、異常状態とは判定されない通常状態の値であるものの、注意が必要な温度範囲に含まれる値であった場合に、出力信号を出力するものとする。この場合、情報処理装置10は、注意が必要な温度範囲の値が検知されたことに対応した根本原因を推定するための推定モデルを生成することができる。
【0068】
また、他の例としては、情報処理装置10が監視対象とする温度センサは、定期的に温度を示す出力信号を情報処理装置10に送信することとする。そして、情報処理装置10は、各温度センサ(各対象機器)の出力信号に対して閾値を設定しておき、所定時間内に得られた閾値以上の出力信号のグループに基づいて、これらの閾値以上の出力信号の根本原因を推定するための推定モデルを生成してもよい。以上のように、情報処理装置10は、異常状態に限らず、所定の状態が生じたことに対する根本原因を推定するための推定モデルを生成することができる。
【0069】
さらに、以上のような装置、プログラム、方法は、単独の装置として実現される場合もあれば、複数の装置で共有の部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、装置を制御するプログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0070】
10…情報処理装置、110…記録媒体、111…履歴DB、112…順位モデル、120…制御部、121…取得部、122…グループ生成部、123…受付部、124…置換部、125…モデル生成部、126…推定部、127…出力処理部、130…通信部、140…通信部、150…出力部