(57)【要約】      （修正有）【課題】ネットワークにおける障害の対処方法の判定精度を向上する。【解決手段】情報処理装置において情報取得部２１は、ネットワークを構成する複数のノードの接続関係を示すトポロジー情報と、ネットワークで発生した１以上の障害のそれぞれと、各障害の原因となった原因ノードと当該原因の対応処置とを含む対処方法及び障害発生時刻とを関連付けた障害対処情報と、ノードにおいて発生したイベントの時系列データであるイベント情報と、を取得する。関連ノードトポロジー特定部２２は、１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する。学習部２４は、関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと障害の対処方法とを教師データとして、ネットワークにおける障害の対処方法の尤度を出力するための学習器を生成する。【選択図】図３
2018148408.tif 000002
【特許請求の範囲】
【請求項１】
（１）ネットワークを構成する複数のノードの接続関係を示すトポロジー情報と、（２）前記ネットワークで発生した１以上の障害のそれぞれと、各障害の原因となった原因ノードと当該原因の対応処置とを含む対処方法及び障害発生時刻とを関連付けた障害対処情報と、（３）前記ノードにおいて発生したイベントの時系列データであるイベント情報と、を取得する情報取得部と、
前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する関連ノードトポロジー特定部と、
前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、前記ネットワークにおける障害の対処方法の尤度を出力するための学習器を機械学習によって生成する学習部と、
を備える情報処理装置。
【請求項２】
前記関連ノードトポロジー特定部は、
前記１以上の障害のそれぞれについて、各障害の発生時刻を含む所定期間内においてイベントを発生させたノードを抽出するイベント抽出部と、
前記イベント抽出部が抽出したノードのうち、前記原因ノードに至るまでの経路に存在するすべてのノードがイベントを発生させているノードの集合を連結部分グラフ関連ノードトポロジーとして抽出するノード抽出部と、
を含む、
請求項１に記載の情報処理装置。
【請求項３】
前記１以上の障害のうち、前記原因ノードが同一であり、原因ノードの対応処置が同一であり、かつ前記関連ノードトポロジーを構成するノードが同一である障害を関連障害として抽出する関連障害抽出部をさらに備え、
前記学習部は、前記関連障害における関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとする、
請求項２に記載の情報処理装置。
【請求項４】
前記ノード抽出部は、前記ノードを構成する機器の製造者が異なれば、異なる関連ノードトポロジーとして抽出する、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記ノード抽出部は、前記ノードを構成する機器の製造者が同じであっても、当該機器の種類が異なれば、異なる関連ノードトポロジーとして抽出する、
請求項２から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記ノード抽出部は、前記ノードを構成する機器の製造者及び当該機器の種類が同じであっても、当該機器に組み込まれているファームウェアのバージョンが異なれば、異なる関連ノードトポロジーとして抽出する、
請求項２から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記ネットワークの障害に起因して発生したイベントと、前記学習部が生成した学習器とに基づいて、前記障害の対処方法の尤度を出力する判定部をさらに備える、
請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
前記判定部は、前記イベントを発生させたノードの集合を含む関連ノードトポロジーに関して生成された１以上の学習器のそれぞれについて当該学習器に関連付けられている対処方法の前記尤度を出力し、出力した１以上の尤度に基づいて前記障害の対処方法を判定する、
請求項７に記載の情報処理装置。
【請求項９】
プロセッサが、
ネットワークを構成する複数のノードの接続関係を示すトポロジー情報を取得するステップと、
前記ネットワークで発生した１以上の障害のそれぞれと、各障害の対処方法及び障害発生時刻とを関連付けた障害対処情報を取得するステップと、
前記ノードにおいて発生したイベントの時系列データであるイベント情報を取得するステップと、
前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定するステップと、
前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、障害の対処方法の尤度を判定するための判定器を機械学習によって生成するステップと、
を実行する情報処理方法。
【請求項１０】
コンピュータに、
ネットワークを構成する複数のノードの接続関係を示すトポロジー情報を取得する機能と、
前記ネットワークで発生した１以上の障害のそれぞれと、各障害の対処方法及び障害発生時刻とを関連付けた障害対処情報を取得する機能と、
前記ノードにおいて発生したイベントの時系列データであるイベント情報を取得する機能と、
前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する機能と、
前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、障害の対処方法の尤度を判定するための判定器を機械学習によって生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特にネットワークで発生した障害の対処方法を学習するための技術に関する。
【背景技術】
【０００２】
ネットワークシステムにおける障害の際に、障害の被疑部位を推定して絞り込む技術が知られている。特許文献１には、ツリー型のネットワークを仮定し、障害となっている各ノードに至る経路に含まれる各インタフェースに対して逐次ポーリングを実行することで障害被疑部位を抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−５３６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワークの構造はツリー型に限られず多岐にわたる。大規模かつ複雑なネットワークにおいては、あるノードで障害が発生すると、その影響は周囲のノードに広がる。このため、仮にポーリングによる情報が取得できないノードがあったとしても、必ずしもそのノードが障害原因とは限らない。真の障害原因となるノードの影響で、情報の送受信が困難となったノードも存在するからである。このため、ネットワークにおける障害原因の推定の改良、ひいてはネットワークにおける障害の対処方法の判定精度を向上するための技術には改良の余地があると考えられる。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、ネットワークにおける障害の対処方法の判定精度を向上する。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、情報処理装置である。この装置は、（１）ネットワークを構成する複数のノードの接続関係を示すトポロジー情報と、（２）前記ネットワークで発生した１以上の障害のそれぞれと、各障害の原因となった原因ノードと当該原因の対応処置とを含む対処方法及び障害発生時刻とを関連付けた障害対処情報と、（３）前記ノードにおいて発生したイベントの時系列データであるイベント情報と、を取得する情報取得部と、前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する関連ノードトポロジー特定部と、前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、前記ネットワークにおける障害の対処方法の尤度を出力するための学習器を機械学習によって生成する学習部と、を備える。
【０００７】
前記関連ノードトポロジー特定部は、前記１以上の障害のそれぞれについて、各障害の発生時刻を含む所定期間内においてイベントを発生させたノードを抽出するイベント抽出部と、前記イベント抽出部が抽出したノードのうち、前記原因ノードに至るまでの経路に存在するすべてのノードがイベントを発生させているノードの集合を連結部分グラフ関連ノードトポロジーとして抽出するノード抽出部と、を含んでもよい。
【０００８】
前記情報処理装置は、前記１以上の障害のうち、前記原因ノードが同一であり、原因ノードの対応処置が同一であり、かつ前記関連ノードトポロジーを構成するノードが同一である障害を関連障害として抽出する関連障害抽出部をさらに備えてもよく、前記学習部は、前記関連障害における関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとしてもよい。
【０００９】
前記ノード抽出部は、前記ノードを構成する機器の製造者が異なれば、異なる関連ノードトポロジーとして抽出してもよい。
【００１０】
前記ノード抽出部は、前記ノードを構成する機器の製造者が同じであっても、当該機器の種類が異なれば、異なる関連ノードトポロジーとして抽出してもよい。
【００１１】
前記ノード抽出部は、前記ノードを構成する機器の製造者及び当該機器の種類が同じであっても、当該機器に組み込まれているファームウェアのバージョンが異なれば、異なる関連ノードトポロジーとして抽出してもよい。
【００１２】
前記情報処理装置は、前記ネットワークの障害に起因して発生したイベントと、前記学習部が生成した学習器とに基づいて、前記障害の対処方法の尤度を出力する判定部をさらに備えてもよい。
【００１３】
前記判定部は、前記イベントを発生させたノードの集合を含む関連ノードトポロジーに関して生成された１以上の学習器のそれぞれについて当該学習器に関連付けられている対処方法の前記尤度を出力し、出力した１以上の尤度に基づいて前記障害の対処方法を判定してもよい。
【００１４】
本発明の第２の態様は、情報処理方法である。この方法は、プロセッサが、ネットワークを構成する複数のノードの接続関係を示すトポロジー情報を取得するステップと、前記ネットワークで発生した１以上の障害のそれぞれと、各障害の対処方法及び障害発生時刻とを関連付けた障害対処情報を取得するステップと、前記ノードにおいて発生したイベントの時系列データであるイベント情報を取得するステップと、前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定するステップと、前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、障害の対処方法の尤度を判定するための判定器を機械学習によって生成するステップと、を実行する。
【００１５】
本発明の第３の態様は、プログラムである。このプログラムは、コンピュータに、ネットワークを構成する複数のノードの接続関係を示すトポロジー情報を取得する機能と、前記ネットワークで発生した１以上の障害のそれぞれと、各障害の対処方法及び障害発生時刻とを関連付けた障害対処情報を取得する機能と、前記ノードにおいて発生したイベントの時系列データであるイベント情報を取得する機能と、前記１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する機能と、前記関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと前記障害の対処方法とを教師データとして、障害の対処方法の尤度を判定するための判定器を機械学習によって生成する機能と、を実現させる。
【発明の効果】
【００１６】
本発明によれば、ネットワークにおける障害の対処方法の判定精度を向上することができる。
【図面の簡単な説明】
【００１７】
【図１】ネットワークを構成するノードとノードにおいて発生したイベントとを模式的に示す図である。
【図２】隠れマルコフモデルを説明するための図である。
【図３】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図４】実施の形態に係るトポロジー情報を説明するための図である。
【図５】実施の形態に係る障害対処情報のデータ構造を模式的に示す図である。
【図６】実施の形態に係るイベント情報のデータ構造を模式的に示す図である。
【図７】実施の形態に係る関連障害抽出部が抽出する関連障害を格納するデータベースのデータ構造を模式的に示す図である。
【図８】実施の形態に係る学習部が生成する学習器を格納する学習器データベースのデータ構造を模式的に示す図である。
【図９】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
＜実施の形態の概要＞
図１及び図２を参照して、実施の形態の概要を述べる。
図１（ａ）―（ｂ）は、ネットワークを構成するノードとノードにおいて発生したイベントとを模式的に示す図である。具体的には、図１（ａ）はネットワークを構成するノードを示す図であり、図１（ｂ）はノードにおいて発生したイベントの時系列データを模式的に示す図である。ここで「イベント」とは、例えばアラームの発生等、ノードの通常の動作状態ではない動作が起こることを意味する。
【００１９】
図１（ａ）において、符号Ｎで示す数字が付された白丸は、ネットワークを構成するノードを示す。煩雑となることを防ぐために１が付された白丸以外には符号を付していないが、図１（ａ）において１から９までの数字が付された白丸はすべてネットワークを構成するノードである。以下説明の便宜上、本明細書において、１が付されたノードをノードＮ１と記載する。他の数字についても同様である。例えば、９が付されたノードはノードＮ９と記載する。
【００２０】
図１（ａ）において、符号Ａで示す七角の星形は、隣接するノードにおいてイベントが発生したことを示している。煩雑となることを防ぐためにノードＮ５に隣接する星形にのみ符号Ａを付しているが、図１（ａ）においてノードＮ２、ノードＮ３、ノードＮ４、及びノードＮ８のそれぞれに隣接している星形も、これらのノードにおいてイベントが発生したことを示している。
【００２１】
図１（ｂ）は、ノードＮ２、ノードＮ４、ノードＮ３、ノードＮ２、ノードＮ５、ノードＮ８、ノードＮ５、及びノードＮ２の順番で、各ノードにおいてイベントが発生したことを示している。また、図１（ｂ）において、ノードＮ８におけるイベント発生と隣接して示されている矩形は、ノード８において発生した障害に対する対応処置が実施されたことを示している。
【００２２】
ネットワークを構成するあるノードにおいて障害が発生した場合、その障害に起因して他のノードでもアラーム等のイベントが発生することがある。この場合、障害に起因して発生するイベントは、障害の発生時刻と時間的に近いと考えられる。一方で、ある障害の発生時刻と近い時刻に発生したイベントが、すべてその障害に起因するとは限らない。このため、実施の形態に係る情報処理装置１は、ネットワークの各ノードにおいて発生したイベントを、そのイベント発生の原因となった障害毎に分類する。
【００２３】
実施の形態において「障害に起因するノード」とは、以下の３つの条件を満たすノードである。
（条件１）障害の原因となったノード（以下、「原因ノード」と記載する。）において障害が発生した時刻を含む所定期間Ｄ内において、イベントを発生させているノードであること。
（条件２）原因ノードに至るまでの経路に存在するすべてのノードがイベントを発生させているノードであること。
（条件３）原因ノードの対応処置が同じであること。
【００２４】
図１（ａ）において、ノードＮ８は原因ノードである。また、図８（ｂ）において、符号Ｄで示す矢印は、条件１における所定期間Ｄである。図１（ｂ）より、所定期間Ｄ内においてイベントを発生させているノードは、ノードＮ２、ノードＮ３、ノードＮ４、ノードＮ５、ノードＮ８、及びノードＮ５である。また、図１（ａ）より、原因ノードであるノードＮ８に至るまでの経路に存在するすべてのノードがイベントを発生させているノードの集合は、ノードＮ２、ノードＮ５、及びノードＮ８である。ノードＮ３及びノードＮ４はそれぞれ所定期間Ｄ内にイベントを発生させているため条件１を満たすが、ノードＮ６がイベントを発生させていないため条件２を満たさない。
【００２５】
以下、本明細書において、上記の３つの条件を満たすノードの集合及びその接続関係を「関連ノードトポロジー」と記載する。図１（ａ）において破線で囲まれたノードの集合（ノードＮ２、ノードＮ５、及びノードＮ８を要素とする集合及びその接続関係）は関連ノードトポロジーである。実施の形態に係る情報処理装置は、ネットワークを構成するノードの部分集合である関連ノードトポロジーを単位として、イベントの時系列データであるイベント情報、原因ノード、及び対応処置を教師データとする機械学習を実行することにより、障害の対処方法の尤度を出力するための学習器を生成する。
【００２６】
ネットワーク全体ではなく関連ノードトポロジーを単位として実施の形態に係る情報処理装置が学習器を生成することにより、教師データから障害に起因しないノードのイベント情報を除外できる。これにより、実施の形態に係る情報処理装置は、ネットワークにおける障害の推定精度を向上することができる。
【００２７】
実施の形態が使用する機械学習手法は、例えば、隠れマルコフモデル（Hidden Markov Model：以下「ＨＭＭ」と記載する。）、ニューラルネットワーク、サポートベクタマシン（Support Vector Machine）等の既知の手法を用いて機械学習を実行する。以下、機械学習の一例として、ＨＭＭについて説明する。
【００２８】
［ＨＭＭモデル］
図２は、ＨＭＭを説明するための図であり、図１（ａ）に示す関連ノードトポロジーにおけるイベントの発生過程のＨＭＭモデルを模式的に示す図である。ＨＭＭにおいて、各ノードにおいて観測される各イベントは、観測できない「状態」によって説明される。図２に示すＨＭＭでは、ノードＮ２、ノードＮ３、及びノードＮ８を要素とする関連ノードトポロジーで発生する各イベントは、内部の状態Ｓ１、状態Ｓ２、及び状態Ｓ３からの出力確率によって表現される。
【００２９】
図２において、ａ１、ａ２、及びａ３（ただし、ａ１＋ａ２＋ａ３＝１．０）は、それぞれ状態Ｓ１、状態Ｓ２、及び状態Ｓ３がＨＭＭの初期状態である確率を示す。また、ａｉｊ（ｉ，ｊ＝１，２，３）は、状態Ｓｉから状態Ｓｊへの遷移確率を示す。例えば状態Ｓ１から状態Ｓ２の遷移確率はａ１２であり、状態Ｓ３から状態Ｓ２への遷移確率はＳ３２である。図２に示すＨＭＭの例では、各状態は、必ず他のいずれかの状態に遷移する。状態Ｓ１は状態Ｓ２にのみ遷移するため、遷移確率ａ１２は１．０（１００％）である。また、状態Ｓ２は状態Ｓ１又は状態Ｓ３のいずれかに遷移するため、ａ２１＋ａ２３＝１．０である。
【００３０】
図２において、ｂｉｊ（ｉ，ｊ＝２，５，８）は、ＨＭＭが状態Ｓｉのときに、ノードＮｊでイベントが発生する確率を示す。例えばＨＭＭが状態Ｓ２のときにノードＮ５でイベントが発生する確率はｂ２５であり、状態Ｓ３のときにノードＮ８でイベントが発生する確率はｂ３８である。
【００３１】
図１（ａ）に示すノードＮ２、ノードＮ５、及びノードＮ８から構成される関連ノードトポロジーでは、図１（ｂ）に示すように、ノードＮ２、ノードＮ５、ノードＮ８、及びノードＮ５の順序でイベントが発生している。図２に示すＨＭＭによると、ノードＮ２、ノードＮ５、ノードＮ８、及びノードＮ５の順でイベントが発生するためには、状態Ｓ１、状態Ｓ２、状態Ｓ３、及び状態Ｓ２の順で遷移する場合か、あるいは状態Ｓ２、状態Ｓ３、状態Ｓ２、及び状態Ｓ１の順に遷移する場合の２通りである。
【００３２】
前者の発生確率Ｐ１は、ａ１×ｂ１２×ａ１２×ｂ２５×ａ２３×ｂ３８×ａ３２×ｂ２５である。また、後者の発生確率Ｐ２は、ａ２×ｂ２２×ａ２３×ｂ３５×ａ３２×ｂ２８×ａ２１×１５である。したがって、図２に示すＨＭＭにおいて、ノードＮ２、ノードＮ５、ノードＮ８、及びノードＮ５の順でイベントが発生する尤度はＰ１＋Ｐ２となる。
【００３３】
実施の形態に係る情報処理装置は、以下の３つの情報に基づいて学習することにより、複数の異なる関連ノードトポロジーそれぞれについてＨＭＭの学習器を算出する。具体的には、実施の形態に係る情報処理装置は、例えば既知のバウム・ウェルチアルゴリズム（Baum-Welch algorithm）を用いることにより、ＨＭＭのパラメータであるａｉ、ａｉｊ、及びｂｉｊを算出する。
【００３４】
（情報１）ネットワークを構成する複数のノードの接続関係を示すトポロジー情報。
（情報２）ネットワークで発生した１以上の障害のそれぞれと、各障害の原因となった原因ノードと当該原因の対応処置とを含む対処方法及び障害発生時刻とを関連付けた障害対処情報。
（情報３）ノードにおいて発生したイベントの時系列データであるイベント情報。
【００３５】
実施の形態に係る情報処理装置は、ネットワークにおいてあるイベントが発生した場合、そのイベントを発生させたノードを関連ノードトポロジーに含む１以上の学習器を選択し、選択したそれぞれの学習器についてイベントの発生確率を算出する。各学習器は、それぞれ原因ノードの対処方法が紐づけられている。各学習器を用いて算出したイベントの発生確率は、そのイベントの起因となる原因ノード及びその対処方法の尤度となる。実施の形態に係る情報処理装置は、例えば各学習器を用いて算出した尤度に基づいて、障害の対処方法を判定する。
【００３６】
なお、図２は、状態Ｓ１と状態Ｓ３との間で状態遷移が起こらない場合のＨＭＭの例を示しているが、状態Ｓ１と状態Ｓ３との間で状態遷移が起こるＨＭＭを採用してもよい。また、同一の状態への遷移（例えば、状態Ｓ２から状態Ｓ２への遷移）も起こるＨＭＭを採用してもよい。さらに、図２に示すＨＭＭでは、例えば状態Ｓ１のときにノードＮ８でイベントが発生しない等のようにある状態のときに発生しないイベントが存在するが、すべての状態においてすべてのイベントが発生可能なＨＭＭモデルを採用してもよい。どのようなＨＭＭを採用するかは、ネットワークの構造や計算コスト等を考慮して実験により定めればよい。
【００３７】
＜情報処理装置の機能構成＞
以下、図３を参照して、実施の形態に係る情報処理装置についてより詳細に説明する。
図３は、実施の形態に係る情報処理装置１の機能構成を模式的に示す図である。実施の形態に係る情報処理装置１は、記憶部１０及び制御部２０を備える。制御部２０は、情報取得部２１、関連ノードトポロジー特定部２２、関連障害抽出部２３、学習部２４、及び判定部２５を備える。
【００３８】
記憶部１０は、情報処理装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭや情報処理装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００３９】
制御部２０は、情報処理装置１のＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等のプロセッサであり、記憶部１０に記憶されたプログラムを実行することによって、情報取得部２１、関連ノードトポロジー特定部２２（イベント抽出部２２１及びノード抽出部２２２）、関連障害抽出部２３、学習部２４、及び判定部２５として機能する。
【００４０】
情報取得部２１は、上述した３つの情報（トポロジー情報、障害対処情報、及びイベント情報）を取得する。トポロジー情報、障害対処情報、及びイベント情報は、記憶部１０に格納されている。以下、図４、図５、及び図６を参照して、トポロジー情報、障害対処情報、及びイベント情報について説明する。
【００４１】
［トポロジー情報］
図４（ａ）−（ｂ）は、実施の形態に係るトポロジー情報を説明するための図である。具体的には、図４（ａ）はネットワークの接続関係を模式的に示す図であり、図４（ｂ）は図４（ａ）に示す接続関係を示すトポロジー情報のデータ構造を模式的に示す図である。なお、図４（ａ）に示すネットワークの接続関係は、図１に示すネットワークの接続関係と同一である。
【００４２】
図４（ｂ）に示すように、実施の形態に係るトポロジー情報は、ネットワークを構成する各ノードを識別するためのノードＩＤ（Identification）を割り当てて情報を管理する。図４（ｂ）は、ノードＮ５のノードＩＤとしてＮＩＤ０００５が割り当てられている場合の例を示している。同様に、ノードＮｉ（ｉ＝１，２，・・・，９）には、それぞれＮＩＤ０００ｉが割り当てられている。
【００４３】
図４（ａ）に示すように、ノードＮ５は、ノードＮ１、ノードＮ２、及びノードＮ８と接続している。このため、図４（ｂ）に示すように、ノードＩＤがＮＩＤ０００５であるノードには、接続ノードとしてＮＩＤ０００１、ＮＩＤ０００２、及びＮＩＤ０００８が関連付けられている。トポロジー情報は、この他、各ノードの説部種類、機種、及びファームウェアのバージョンを含むノード種類情報と、ノードが設置されている各地域に割り当てられているノード設置地域ＩＤと、各ノードＩＤとも対応付けている。
【００４４】
［障害対処情報］
図５は、実施の形態に係る障害対処情報のデータ構造を模式的に示す図である。図５に示すように、実施の形態に係る障害対処情報は、障害を一意に特定するための障害ＩＤを各障害に割り当てて情報を管理する。図５は、ノードＩＤがＮＩＤ０００８であるノード（すなわち、ノードＮ８）が原因ノードである障害に関する障害対処情報を図示している。図５に示すように、ノードＮ８はスイッチであり、障害の対応処置として機器の交換をしたことを示している。また、障害の発生時刻は２０１７年２月２３日午前１１時５４分３２秒であり、障害の対処時刻は同日の午後１時４６分５７秒、復旧時刻は同日の午後２時１分２３秒である。
【００４５】
［イベント情報］
図６は、実施の形態に係るイベント情報のデータ構造を模式的に示す図である。図５に示すように、実施の形態に係るイベント情報は、各ノードで発生したイベントを一意に特定するためのイベントＩＤを、イベント毎に割り当てて情報を管理する。図６は、ノードＮ５において機器の温度が上昇したことによるアラームが発生したことを示している。ノードＮ５において、アラームは２０１７年２月２３日午前１０時１１分２２秒に発生し、復旧は同日の午後２時１分２３秒である。
【００４６】
［関連ノードトポロジーの特定］
続いて、関連ノードトポロジーの特定方法について説明する。
関連ノードトポロジー特定部２２は、トポロジー情報、障害対処情報、及びイベント情報を参照して、１以上の障害のそれぞれについて、各障害に起因してイベントを発生させたノードを要素として構成される関連ノードトポロジーを特定する。これを実現するために、関連ノードトポロジー特定部２２は、イベント抽出部２２１及びノード抽出部２２２を備える。
【００４７】
イベント抽出部２２１は、１以上の障害のそれぞれについて、各障害の発生時刻を含む所定期間Ｄ内においてイベントを発生させたノードを抽出する。ここで「所定期間Ｄ」は、一つの障害が影響を及ぼす時間的な範囲を示す。所定期間Ｄは、ネットワークの規模や構成要素の種類等を考慮して実験により定めればよいが、例えば１０時間である。イベント抽出部２２１は、障害対処情報を参照して一つの障害を特定する。続いてイベント抽出部２２１は、イベント情報を参照し、特定した障害の発生時刻を含む所定期間Ｄ内にイベントを発生させたノードを特定する。
【００４８】
ノード抽出部２２２は、トポロジー情報を参照することにより、イベント抽出部２２１が抽出したノードのうち、原因ノードに至るまでの経路に存在するすべてのノードがイベントを発生させているノードの集合を関連ノードトポロジーとして抽出する。これにより、関連ノードトポロジー特定部２２は、ネットワークを構成するノードの集合の中から、ある障害に関係するノードから構成される関連ノードトポロジーを抽出することができる。関連ノードトポロジーは学習器を生成するための学習の単位となるため、ある障害に関係するイベントを発生させたノードのみを関連ノードトポロジーとすることにより、学習器の判別精度を高めることができる。
【００４９】
ここで、ノードを構成する機器の製造者が異なれば、障害時に発生させるイベントも異なることも起こり得る。そこでノード抽出部２２２は、ノードを構成する機器の製造者が異なれば、異なる関連ノードトポロジーとして抽出してもよい。これにより、ノード抽出部２２２は、関連ノードトポロジーを構成するノードが発生させるイベントのバリエーションを抑えることができる。これは学習器が対象とするイベントを絞ることに相当するため、学習器の判別精度を高めることができる。
【００５０】
また、ノードを構成する機器の製造者が同じであっても、その機器の設備種類が異なれば、障害時に発生させるイベントも異なることも起こり得る。そこで、ノード抽出部２２２は、ノードを構成する機器の製造者が同じであっても、当該機器の種類が異なれば、異なる関連ノードトポロジーとして抽出してもよい。これにより、ノード抽出部２２２は、関連ノードトポロジーを構成するノードが発生させるイベントのバリエーションを抑えることができる。これは学習器が対象とするイベントを絞ることに相当するため、学習器の判別精度を高めることができる。
【００５１】
さらに、ノードを構成する機器の製造者及びその機器の設備種類が同じであっても、機器に組み込まれているファームウェアのバージョンが異なれば、障害時に発生させるイベントも異なることも起こり得る。そこで、ノード抽出部２２２は、ノードを構成する機器の製造者及び機器の種類が同じであっても、機器に組み込まれているファームウェアのバージョンが異なれば、異なる関連ノードトポロジーとして抽出してもよい。これにより、ノード抽出部２２２は、関連ノードトポロジーを構成するノードが発生させるイベントのバリエーションを抑えることができる。これは学習器が対象とするイベントを絞ることに相当するため、学習器の判別精度を高めることができる。
【００５２】
図３の説明に戻る。関連障害抽出部２３は、障害対処情報に含まれる１以上の障害のうち、原因ノードが同一であり、原因ノードの対応処置が同一であり、かつ関連ノードトポロジーを構成するノードが同一である障害を関連障害として抽出する。
【００５３】
図７は、実施の形態に係る関連障害抽出部２３が抽出する関連障害を格納する関連障害データベースのデータ構造を模式的に示す図である。関連障害データベースは、記憶部１０によって保持される。図７に示すように、関連障害データベースは、関連ノードトポロジーＩＤ、関連ノードトポロジーを構成するノード情報、及び複数の障害ＩＤを関連付けて格納している。なお、関連ノードトポロジーＩＤは、関連ノードトポロジーを一意に特定するために各関連ノードトポロジーに割り当てられた識別子である。またノード情報は、関連ノードトポロジーを構成する各ノードのノードＩＤと、関連ノードトポロジーの接続関係を示すノード形状とを含んでいる。
【００５４】
原因ノードの対応処置が同一であり、かつ関連ノードトポロジーを構成するノードが同一であっても、イベントの発生パターンは異なることも起こり得る。図７は、ノードＮ２、ノードＮ５、及びノードＮ８から構成される関連ノードトポロジーにおいて、ノードＮ８が原因ノードであり、障害の対処方法が機器の交換である場合のイベントの発生パターンを示している。
【００５５】
すなわち、原因ノードの対応処置が同一であり、かつ関連ノードトポロジーを構成するノードが同一であっても、あるときは、例えばノードＮ２、ノードＮ５、ノードＮ８、及びノードＮ５の順序でイベントが発生し、別のときはノードＮ８、ノードＮ２、ノードＮ５、及びノードＮ８の順序でイベント発生する。関連障害は、学習部２４が実行する機械学習の教師データとして利用される。
【００５６】
学習部２４は、関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと障害の対処方法とを教師データとして、機械学習によって学習器を生成する。より具体的には、学習部２４は、図７に示す関連障害における関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと、障害の対処方法とを教師データとし、ＨＭＭによって学習器を生成する。
【００５７】
図８は、実施の形態に係る学習部２４が生成する学習器を格納する学習器データベースのデータ構造を模式的に示す図である。学習器データベースは、記憶部１０によって保持される。学習部２４は関連障害毎に個別に学習器を生成するため、同一のネットワークを対象とする場合であっても、学習器データベースには複数の学習器が登録されることになる。図９に示すように、学習器データベースは、学習器を一意に特定するための学習器ＩＤを各学習器に割り当てて情報を管理する。
【００５８】
図８に示すように、学習器データベースは、学習器ＩＤと、学習器が判定の対象とする関連ノードトポロジーを特定するための関連ノードトポロジーＩＤと、その関連ノードトポロジーを構成する各ノードのノード情報と、障害の対処方法とを関連付けて保持する。
【００５９】
例えば、学習器ＩＤがＬＩＤ０００３である学習器が対象とする関連ノードトポロジーはＴＩＤ０００８で特定され、その構成要素はノードＮ２、ノードＮ５、及びノードＮ８である。この学習器は、ノードＮ２、ノードＮ５、及びノードＮ８又はその部分集合から構成される関連ノードトポロジーで発生したイベント情報を入力として、障害の対象方法の尤度を出力する。すなわち、学習器ＩＤがＬＩＤ０００３である学習器は、ノードＮ８で障害が発生し、その対応処置は機器の交換である確率を出力する。
【００６０】
学習器を用いた障害の対象方法の尤度出力は、判定部２５が担う。判定部２５は、ネットワークの障害に起因して発生したイベントと、学習部２４が生成した学習器とに基づいて、障害の対処方法の尤度を出力する。より具体的には、判定部２５は、イベントを発生させたノードの集合を含む関連ノードトポロジーに関して生成された１以上の学習器を、記憶部１０が保持する学習器データベースから取得する。
【００６１】
判定部２５は、取得した１以上の学習器のそれぞれについて、その学習器に関連付けられている対処方法の尤度を出力する。判定部２５は、出力した１以上の尤度に基づいて障害の対処方法を判定する。例えば判定部２５は、出力した１以上の尤度のうち、最も高い尤度における対処方法を出力する。これにより、判定部２５は、ネットワークにおいて発生した過去のイベント情報に基づいて、統計的に最も尤もらしい対処方法を出力することができる。
【００６２】
＜情報処理装置１が実行する情報処理の処理フロー＞
図９は、実施の形態に係る情報処理装置１が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１の電源が投入されたときに開始する。
【００６３】
情報取得部２１は、記憶部１０を参照して、ネットワークを構成する複数のノードの接続関係を示すトポロジー情報を取得する（Ｓ２）。情報取得部２１は、記憶部１０を参照して、ネットワークで発生した１以上の障害のそれぞれと、各障害の原因となった原因ノードと当該原因の対応処置とを含む対処方法及び障害発生時刻とを関連付けた障害対処情報も取得する（Ｓ４）。
【００６４】
情報取得部２１は、記憶部１０を参照して、ノードにおいて発生したイベントの時系列データであるイベント情報も取得する（Ｓ６）。関連ノードトポロジー特定部２２は、障害対処情報に含まれる各原因ノードについて関連ノードトポロジーを抽出する（Ｓ８）。関連障害抽出部２３は、原因ノードが同一であり、原因ノードの対応処置が同一であり、かつ関連ノードトポロジーを構成するノードが同一である障害を関連障害として抽出する（Ｓ１０）。
【００６５】
学習部２４は、関連障害抽出部２３が抽出した関連障害毎に、各関連障害を教師データとして障害の対処方法の尤度を出力するための学習器を生成する（Ｓ１２）。学習部２４がすべての関連障害に対応する学習器を生成すると、本フローチャートにおける処理は終了する。
【００６６】
＜情報処理装置１が奏する効果＞
以上説明したように、実施の形態に係る情報処理装置１によれば、ネットワークにおける障害の対処方法の判定精度を向上することができる。特に、実施の形態に係る情報処理装置１は、関連ノードトポロジーを構成する各ノードが発生させたイベントの時系列データと障害の対処方法とを教師データとして学習器を生成するため、教師データから障害と無関係な情報を除くことができるので、学習器の判定精度を向上できる。
【００６７】
また、実施の形態に係る情報処理装置１は、ネットワークの構造が仮に複雑であっても、ネットワークの部分集合である関連ノードトポロジーを単位として学習器を生成する。これにより、実施の形態に係る情報処理装置１は、ネットワークのトポロジーの形状に依存せず、障害種別に対して発生したイベントの発生順序を学習することができる。
【００６８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【符号の説明】
【００６９】
１・・・情報処理装置
１０・・・記憶部
２０・・・制御部
２１・・・情報取得部
２２・・・関連ノードトポロジー特定部
２３・・・関連障害抽出部
２４・・・学習部
２５・・・判定部
２２１・・・イベント抽出部
２２２・・・ノード抽出部
【図１】
2018148408.tif 000003
【図２】
2018148408.tif 000004
【図３】
2018148408.tif 000005
【図４】
2018148408.tif 000006
【図５】
2018148408.tif 000007
【図６】
2018148408.tif 000008
【図７】
2018148408.tif 000009
【図８】
2018148408.tif 000010
【図９】
2018148408.tif 000011