JP7120043B2 - グラフ要約装置、グラフ要約方法及びプログラム - Google Patents

グラフ要約装置、グラフ要約方法及びプログラム Download PDF

Info

Publication number
JP7120043B2
JP7120043B2 JP2019009760A JP2019009760A JP7120043B2 JP 7120043 B2 JP7120043 B2 JP 7120043B2 JP 2019009760 A JP2019009760 A JP 2019009760A JP 2019009760 A JP2019009760 A JP 2019009760A JP 7120043 B2 JP7120043 B2 JP 7120043B2
Authority
JP
Japan
Prior art keywords
node
graph
factor
nodes
summarization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019009760A
Other languages
English (en)
Other versions
JP2020119261A (ja
Inventor
悠香 橋本
洋一 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2019009760A priority Critical patent/JP7120043B2/ja
Priority to PCT/JP2020/000596 priority patent/WO2020153150A1/ja
Priority to US17/421,128 priority patent/US20220108189A1/en
Publication of JP2020119261A publication Critical patent/JP2020119261A/ja
Application granted granted Critical
Publication of JP7120043B2 publication Critical patent/JP7120043B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、グラフ要約装置、グラフ要約方法及びプログラムに関する。
システム運用において、オペレータの運用負荷低減のため、故障対応の自動化技術が検討されている。特に、障害発生時に障害の要因を特定することは人手では膨大な時間を要する場合が多く、障害要因推定技術に関する研究は重要である。これらの技術はBayesian Network(非特許文献1)や決定木(非特許文献2)などの因果グラフを用いて行われるケースが多い。
将来的には、仮想化技術の浸透により、システムの大規模化・複雑化が見込まれる。このため、障害発生時のアラートや異常なイベントの数が増加し、それらの因果関係も複雑化すると見込まれる。これにより、上記のような要因推定技術において、大規模かつ複雑なグラフが生じると見込まれる。
グラフに関する一般的な技術として、グラフの重要な部分を抜き出して単純化する、グラフ要約の技術が提案されている。これを因果グラフに適用できれば、グラフ要約を用いて要約後のグラフで要因推定を行い、おおまかな要因を推定した上で、要因となったイベントの付近のみについて要約前の情報を戻し、もう一度要因推定を行うことで計算時間の削減が期待できる。要因推定の対象となるイベント数が削減されることで計算時間が削減され、さらに、2段階の推定により、精度も確保される。
グラフ要約に関しては、個人又はコミュニティ同士の関係性や論文の引用関係の解析を対象とした研究が行なわれてきたが(非特許文献3)、要因推定を目的として因果グラフに対して適用するための技術は少ない。非特許文献4では、構造的な情報からBayesian Networkを単純化することで、推定を効率化する技術が提案されている。
E. R. J. Hruschka, M. do Carmo Nicoletti, V. A. de Oliveira, and G. M. Bressan, "Markov-blanket based strategy for translating a bayesian classifier into a reduced set of classification rules," in Proceedings of the 7th International Conference on Hybrid Intelligent Systems (HIS '07), pp. 192-197, 2007. A. X. Zheng, J. Lloyd, and E. Brewer, "Failure diagnosis using decision trees," in proceedings of the First International Conference on Autonomic Computing (ICAC '04), pp. 36-43, 2004. Y. Liu, T. Safavi, A. Dighe and D. Koutra, "Graph Summarization Methods and Applications: A Survey, ACM Computing Surveys," 51(3), pp. 1-34, 2018. M. Shiba, A. Takahashi, S. Aoki, H. Tsuji and S. Inoue, "Numerical experimentation on structure simplification in Bayesian network," 2009 IEEE International Conference on Systems, Man and Cybernetics, pp. 4698-4703, 2009.
因果グラフに対してグラフ要約を適用することを考慮した方法は少ないながら存在するが、いずれの方法も、末端にあるノードを削除する、隣接ノードを共有している複数のノードをグルーピングするなど、グラフの構造的な情報しか用いていない。さらに、指針のみが示されており、削除するノードやグルーピングするノードの決定方法が明確に示されているわけではない。
一方、システム運用における各ノードの要因へのなりやすさは、グラフの構造的な情報に加えて、過去の障害においてそのノードが要因であったか否かの情報も考慮する必要があるため、従来技術では因果グラフの要因推定の精度が落ちてしまうという課題がある。 また、個人又はコミュニティ同士の関係性や論文の引用関係を対象とした技術は、それらの解析に特化した方法であるため、ノードの次数など各ノードの影響力を重視した要約を行う。
一方、因果グラフによる要因推定においては、各ノードの要因へのなりやすさが重要となるため、上記のような既存技術でも因果グラフの要因推定の精度が落ちてしまうという課題がある。
このように、システム運用における因果グラフによる要因推定に適したグラフ要約は、既存技術のみでは達成することができない。
本発明は、上記の点に鑑みてなされたものであって、因果グラフによる要因推定の精度の低下を抑制可能なグラフ要約を実現することを目的とする。
そこで上記課題を解決するため、グラフ要約装置は、各ノードがグラフの状態に対する要因の度合いを示す要因度を有し、各辺がノード間の因果関係の強さを示す重みを有するグラフが変化すると、変化後の前記グラフの各ノードについて、変化前の前記グラフのノードの要因度に基づく重要度を計算する計算部と、前記重要度が閾値以下である第1のノードを削除の候補として選択する選択部と、前記第1のノードを削除する削除部と、を有する。
因果グラフによる要因推定の精度の低下を抑制可能なグラフ要約を実現することができる。
本発明の実施の形態における障害要因推定装置10のハードウェア構成例を示す図である。 本発明の実施の形態における障害要因推定装置10の機能構成例を示す図である。 障害要因推定装置10が実行する処理手順の一例を説明するためのフローチャートである。 重みの決定の説明に用いるグラフ構造の第1の例を示す図である。 重みの決定の説明に用いるグラフ構造の第2の例を示す図である。 本実施の形態の評価における要約前のグラフを示す図である。 本実施の形態の評価における要約後のグラフを示す図である。 要約後のグラフの任意のノード間の要因度の差のヒートマップを示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。計算時間の増大と精度の低下という課題解決のため、本実施の形態では因果グラフの要約において重要なポイントを考慮したグラフ要約方法と、当該グラフ要約方法を実行する障害要因推定装置10とが開示される。障害要因推定装置10は、監視対象のICT(Information and Communication Technology)システム(以下、単に「システム」という。)の障害の発生に応じて以下のフローを実行する。
ステップ1:現在(現在から過去の一定期間)においてシステムから出力されたログデータからイベントを抽出。ログデータから異常なイベントを抽出する場合、ログのテンプレート化を用いて異常なイベントが抽出されてもよい。また、システムが、明示的に異常なイベント(アラート)を出力する場合、ログデータからイベントを抽出するのではなく、各種類のアラートが、異常なイベントとして抽出されてもよい。なお、ログのテンプレート化については、例えば、「T. Kimura et. al., "Spatio-temporal Factorization of Log Data for Understanding Network Events," IEEE INFOCOM 2014, pp. 610-618, 2014.」等が参考とされてもよい。
ステップ2:過去の類似障害におけるイベント情報と、ステップ1において抽出されたイベントのイベント情報とを組み合わせて、イベントの因果関係を表す因果グラフを作成。イベントの因果関係を示す因果グラフの作成については、例えば、「P. Chen, Y. Qi, P. Zheng and D. Hou, "CauseInfer:Automatic and Distributed Performance Diagnosis with Hierarchical Causality Graph in Large Distributed Systems," IEEE INFOCOM 2014, pp. 1887-1895, 2014.」、あるいは、「B. Zong, Y. Wu, J. Song, A. K. Singh, H. Cam, J. Han, and X. Yan, "Towards scalable critical alert mining," in Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '14), pp.1057-1066, 2014.」等が参考とされてもよい。
ステップ3:ステップ2で作成したグラフを要約。
ステップ4:要約後のグラフで要因推定。要因推定については、例えば、「B. Zong, Y. Wu, J. Song, A. K. Singh, H. Cam, J. Han, and X. Yan, "Towards scalable critical alert mining," in Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '14), pp.1057-1066, 2014.」等が参考とされてもよい。
ステップ5:ステップ4で要因となったイベントの付近のみについて要約前の情報を戻し、もう一度要因推定。これにより、障害要因が推定される。
本実施の形態では、上記のステップ3のグラフ要約技術に焦点を当て、新技術を提案する。要因推定に用いる因果グラフの要約において重要なポイントとなるのは次の3つである。
(1)要因となる可能性が高いノードは要約後も残す。
(2)要約の前後で要因推定の結果に変化が少ない。
(3)要約後のグラフはサイクル構造を持たない。
本実施の形態の障害要因推定装置10は、上記(1)~(3)のポイントを考慮することで、因果グラフによる要因推定において適用可能なグラフ要約を行う。本実施の形態は以下のフローで実行される。
ステップ1:ポイント(1)を考慮し重要度の低いノードを検出
ステップ2:ポイント(2)を考慮し、該当ノード削除後のグラフの辺及び重みを決定
ステップ3:ポイント(3)を考慮し、検出したノードを削除するか否かを判断
[問題設定]
因果グラフGは、G=(V(G),E(G),f)とする。但し、V(G)={v,…,vN(G)}は、グラフGのノードの集合で、各ノードは障害時に発生したアラート、又は障害時にログデータから抽出したイベントを表し、それぞれが要因度を有する。要因度とは、因果グラフGの現在の状態(構造)に対する要因である度合いを示す指標である。なお、本実施の形態では、障害時に発生したアラート及びログデータから抽出したイベントのいずれをも、イベントと呼ぶ。N(G)は、グラフGのノード数、E(G)={ej,k|j,k=1,…,N(G)}は、グラフGの辺の集合で、ej,kは、ノードvからノードvへ向かう辺を表す。f:E(G)→Rは、Gの辺の重みを表す関数とする。ただし、Rは0以上の実数全体の集合を表す。辺の重みは、当該辺によって接続されるノード間の因果関係の強さを示す。すなわち、辺の重みは、当該辺の先のノードに係るイベントの要因が、当該辺の元のノードに係るイベントである可能性の高さを示す。また、Gの隣接行列A(G)を、A(G)=[f(ej,k)]j,kで定める。
システム運用において、最初の障害が起こると、因果グラフGが生成される。次に類似した障害が起こった場合、1度目の障害の情報に2度目の障害の情報が加わり、V(G)⊆V(G)を満たす因果グラフGが生成される(グラフGの状態(構造)がグラフGに変化する)。障害が起こる度にこれが行われ、類似障害に対するグラフの列{Gi=1 が生成される。また、i度目の障害時に発生したイベントの集合をR⊆V(G)とし、集合列{Ri=1 が生成されるとする。iが増加するにしたがって、イベント間の因果関係は定まり、真の因果関係を表す因果グラフへ収束していくとする。また、iが増加するにしたがって各発生イベントがノイズかどうかの判断が可能となり、真の発生イベントへ収束するとする。つまり、次を満たすG=(V(G),E(G),f)とRが存在すると仮定する。
Figure 0007120043000001
但し、集合列{Si=1 に対して、上極限∩k=1 i=k と、下極限∪k=1 i=k が一致するとき、∩k=1 i=k =∪k=1 i=k =limi→∞と表すこととする。
極限グラフGにおいて、確率空間(Ω,F,p)が定まるとする。但し、Ωは、V(G)の全ての部分集合からなる集合族とする。また、各v∈V(G)に対して確率変数X:Ω→{0,1}を、v∈ωのときX(ω)=1、v∈ωでないときX(ω)=0で定める。f(ej,k)=p({X=1}|{X=1})とする。各iに対してfGiは、fを近似する関数で、既存手法により定める。
このとき、イベントv∈V(G)が起こった際に、イベントv∈Rが起こる確率の和Σvl∈Rip({X=1}|{X=1})の近似P(v;R)をvの要因度とし、この値が高いイベントが、i度目の障害時の主要因であると推定することとする。但し、Pは次のように定める。
Figure 0007120043000002
この数式に関しては、例えば、「B. Zong, Y. Wu, J. Song, A. K. Singh, H. Cam, J. Han, and X. Yan, "Towards scalable critical alert mining," in Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '14), pp.1057-1066, 2014.」等が参考とされてもよい。
このとき、limi→∞(・;R)=P(・;R)(各点)が成り立つ。但し、
Figure 0007120043000003
である。
類似障害が十分な回数起これば、G≒G、R≒Rを満たすG、Rが得られ、そこからP(・;R)を計算することでその故障に対する主要因が確定する。しかし、G、Rが得られるまでは、その時点で得られている情報を用いて要因推定を行い、出来るだけ高速、かつ、正確に主要因を推定する必要がある。そこで、G,…,Gi-1の情報を用いてGを要約し、V(G')⊂V(G)を満たすG'を作成した上でG'に対して要因推定を行うことで、上記を達成することを考える。
[障害要因推定装置10]
上記考えに基づく障害要因推定装置10について説明する。図1は、本発明の実施の形態における障害要因推定装置10のハードウェア構成例を示す図である。図1の障害要因推定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有するコンピュータである。
障害要因推定装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って障害要因推定装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図2は、本発明の実施の形態における障害要因推定装置10の機能構成例を示す図である。図2において、障害要因推定装置10は、検出部11、決定部12及び削除部13を有する。これら各部は、障害要因推定装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
図3は、障害要因推定装置10が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、検出部11は、i度目の障害の発生に応じた変化後の因果グラフGにおける各ノードの重要度を計算する。
において要因推定を行う際、b(v)=Pi-1(v;Ri-1)(v∈V(Gi-1)⊆V(G)のとき)、b(v)=0(v∈V(G)\V(Gi-1)のとき)と定める。なお、Gi-1は、i度目の障害の発生前(すなわち、変化前の)因果グラフである。
(v)が大きい、つまり、Gi-1において要因度が大きかったイベントvは、Gでも要因度が高くなると見込まれるが、新たに加わったイベントu∈V(G)\V(Gi-1)については、当該イベントuがGi-1において要因度が大きかったイベントvの要因となり得る場合、要因度が高くなる可能性がある。但し、Gにおける各ノードの要因度の計算の負荷は高い。そこで、検出部11は、要因度の近似値であって(要因度の大小関係を近似できる値であって)、要因度よりも低い計算負荷によって計算可能な重要度を、Gi-1における要因度を用いてGの各ノードについて計算する。
v∈V(G)の重要度をc(v)とおき、c=[c(v),…,c(vN(Gi))]、と定める。さらに、b=[b(v),…,b(vN(Gi))]と定める。重要度は、時刻t=0においてbであり、時刻t=1においてcになるとする。bとcを時刻tについて滑らかにつなぐ関数d:[0,T]→R N(Gi)を考える。vを、Gにおいて新たに加わったイベントとする。微小時t=0からt=hにおけるdの第j成分の変化量を考える。vに隣接しているノードの集合を
Figure 0007120043000004
とする。t=hでのdの第j成分は、u(k=1,…,dGi(v))の各要因度にp({X=1}|{X=1})を掛け合わせ、kについて足し合わせたものと考える。これにより、Gにおける要因度が相対的に高くなる可能性があるイベントの重要度が相対的に低くならないようにすることができる。
具体的には、検出部11は、次のようにしてGにおける重要度c:V(G)→Rを計算する。
Figure 0007120043000005
但し、Aは、Gの隣接行列A(G)を表す。
後述されるように、検出部11は、(1)式により計算した重要度c(v)が相対的に小さくなるvを、要因推定においてあまり重要ではないとみなし、削除の候補として選択する。以下が成立する。
Figure 0007120043000006
但し、4行目の不等式は、Aの成分は全て正であるため、dの各成分はtに関して単調増加することを用いた。また、(Aは、Aの第j成分を表す。よって、重要度c(v)は、i→∞において、真の要因度P(v;R)以上の値になる。
また、dの各成分は単調増加するため、任意のv∈V(G)に対して、b(v)≦c(v)が成り立つから、Gi-1において要因度が相対的に高かったノードが削除されることはない。これにより、ポイント(1)を考慮した検出が可能となる。
続いて、検出部11は、c(v)が一定の閾値cmax以下であるノードの集合を抽出し、抽出した集合をDに代入する(S102)。すなわち、以下の演算が行われる。
D={v∈V(G)|c(v)≦cmax
続いて、決定部12は、該当ノード(Dに含まれるノード)の有無(Dが空であるか否か)を判定する(S103)。該当ノードが無い場合(Dが空である場合)(S103でYes)、図3の処理は終了する。該当ノードが有る場合(S103でNo)、決定部12は、Dから一つのノードを取り出す(S104)。取り出されたノードは、Dから削除される。以下、取り出されたノードを、「ノードv」という。なお、ノードの取り出し順は、特定の順序に限定されない。例えば、重要度c(v)が最も低いノードが取り出されてもよいし、インデックスが最も小さいノードが取り出されてもよいし、ランダムにノードが取り出されてもよい。インデックスとは、ノードに付与される識別子であり、例えば、ノードが生成された順番を示す数値である。
続いて、決定部12は、ノードvを削除した際(削除した後)の辺の付け方を決定する(S105)。具体的には、決定部12は、ノードvに隣接するノードのうち、vからの辺の重みが最大になるノードvを特定し、vとvを1つのノードとみなすことにより、当該1つのノードにvの辺及びvの辺を付ける。
重みが最大になるノードを用いる理由は、以下で説明する方法で重みを決定した場合に、ノード削除前と削除後の要因度の計算における重みの変化の影響を最小にするためである。
続いて、決定部12は、ステップS105において付け方が決定された各辺の重みを、次の3つの単純な構造において、ノード削除前後で各ノードの要因度が変化しないように決定する(S106)。以下では、ノードv削除前のグラフをG、削除後のグラフをGと表す。
[木構造]
共通のノードからvとvの両方に辺が入っておらず、かつ、共通のノードにvとv両方から辺がのびていない場合(すなわち、ノードvがノードvの親ノードである場合)、vからvへ向かう辺の重みfGB(ejk)を、vから出ている辺の重み全てに掛け合わせることにより、fGAを作成する。このようにして重みを決定することで、木に対してはノード削除前後で要因度が変化しないようにすることができる。
[図4の構造]
において共通のノードvからvとvの両方に辺が入っている場合、ステップS105ではejk、elk、eljの3辺が、Gにおいて一つの辺elkとなる。重みは、fGA(elk)=fGB(elj)・fGB(ejk)+fGB(elk)-fGB(elj)・fGB(ejk)・fGB(elk)により決定する。このように決定することで、図4のような構造に対してはノード削除前後で要因度が変化しないようにすることができる。なお、図4において、a=fGB(elj)、b=fGB(elk)、c=fGB(ejk)である。
[図5の構造]
において共通のノードvに、vとvの両方から辺がのびている場合、ステップS105ではejk、ekl、ejlの3辺が、Gにおいて一つの辺ejlとなる。重みは、fGA(ekl)=fGB(ekl)・fGB(ejk)+fGB(ejl)-fGB(ekl)・fGB(ejk)・fGB(ejl)により決定する。このように決定することで、図5のような構造に対してはノード削除前後で要因度が変化しないようにすることができる。なお、図5において、図4において、a=fGB(ejk)、b=fGB(ejl)、c=fGB(ekl)である。
続いて、削除部13は、ノードvを削除するか否かを判断する(S107)。具体的には、削除部13は、削除候補のvの削除前のグラフをG、削除後のグラフをGとした場合にGの隣接行列の固有値を調べることで、Gにサイクル構造があるか否かを調べる。一般に、グラフGの隣接行列A(G)に対して、次が成り立つ。
A(G)の固有値が全て0
⇒A(G)=0
⇒Gに長さn以上のパスは無い。
⇒Gにサイクル構造が無い。
よって、削除部13は、A(G)の固有値が全て0ならば(S108でYes)、vを削除し、そうでなければ(S108でNo)、vを削除しない。なお、削除部13は、vを削除した場合、ステップS105及びS106の実行結果に従って、Gに対する辺の付与及び当該辺に対する重みを付与する。
ステップS104以降は、Dが空になるまで実行される。すなわち、各v∈Dに対してステップS104以降が実行される。
一般の行列に対する固有値の計算は計算コストが高いが、次の理由により、今回の場合は計算コストが削減される。一般に、グラフGにサイクル構造が無ければ、A(G)は上三角行列にできる。よって、Gは上三角行列と仮定されてよい。A(G)からA(G)への変化は、vに隣接するノードのうち、vからの辺の重みが最大になるノードvに対応する行と列の変化と、ノードvに対応する行と列の削除である。この変化の中で上三角行列の構造に変化を与えるのはノードvに対応する行と列の変化のみであるから、Gの上三角成分以外の成分の数は少ない。よって、Gの固有値を数値的に求めるために必要なQR分解に必要な計算量は少なくなる。
[評価結果]
ランダムに作成した小さなグラフに対して本実施の形態を適用することで、上記のポイント(1)~(3)のうち、「(1)要因となる可能性が高いノードは要約後も残す」、「(2)要約の前後で要因推定の結果に変化が少ない」について評価を行った。
[設定]
以下のようにして、[問題設定]で述べた状況を模擬し、評価を行った。
1.ノード数が25のランダムなグラフGを作成。
2.R=V(G)として、Gの各ノードv∈V(G)に関して、要因度P(v;R)を計算。
3.Gにノードを付け加えノード数を50にし、ランダムに辺を付け加えてGを作成。
4.図3に示した処理手順で要約を行い、要約後のグラフG'を作成。
5.評価1:本実施の形態を用いて要約を行った際に、要約前後で各ノードの要因度の違いが小さいということを確認することを目的とし、各u,v∈V(G')に対し、P(v;{u})と、G'において計算した要因度P'(v;{u})との差P(v;{u})-P'(v;{u})を計算。
6.Rを、Rの元のうちのランダムに選んだ5つを、V(G)\Rの元からランダムに選んだ5つによって交換したものをRとして設定。
7.評価2:本実施の形態を用いて要約を行った際に、要約前後で主な要因として抽出される上位5イベントに差異が少ないということを確認することを目的とし、P(v;R)が大きくなる上位5つのv∈V(G)と、P'(v;R)が大きくなる5つのv∈V(G')を求め、両者を比較する。
[結果]
要約前のグラフGの50のノード数に対し、要約後のグラフG'のノード数は40となった。要約前のグラフGを図6に示し、要約後のグラフG'を図7に示す。
評価1:要約後のグラフG'の任意のノードu,v∈V(G')に対してノードuのインデックスを縦軸、ノードvのインデックスを横軸にとった時の|P(v;{u})-P'(v;{u})|の値をヒートマップで表すと図8のようになった。ほとんどのu,vのペアでは、|P(v;{u})-P'(v;{u})|の値は0.1以下となった。これは、R={v}とした際、グラフ要約の前後でイベントuの要因度の差がほぼ0.1以内で収まっていることを表している。
評価2:P(v;R)が大きくなる上位5つのv∈V(G)のインデックスと、P'(v;R)が大きくなる5つのv∈V(G')のインデックスとは表1のようになった。
Figure 0007120043000007
多少の順序の入れ替わりはあるものの、上位5つのうち4つのインデックスは両方に現れており、要約前後で要因推定の結果はほぼ一致していることが分かる。
上述したように、本実施の形態によれば、過去の情報の伝播を因果グラフによる要因推定に適する形で行い、その結果を基に不要なノードを検出することでグラフを要約する。すなわち、過去の情報を用いて各ノードの重要度を決定することで、重要でない頂点を検出する。この重要度は真の要因度以上の値に収束することが示せるから、要因となる可能性が高いノードは要約後も残すことができる。その結果、システム運用における因果グラフによる要因推定の精度の低下を抑制可能なグラフ要約を実現することができる。
また、単純な構造において、ノード削除前後で要因度が変化しないように辺の重みを決定することで、要約の前後で要因推定の結果に変化が少なくなる。さらに、隣接行列の固有値を計算することで、要約後のグラフはサイクル構造を持たないことが達成できる。隣接行列の構造を考慮すると、この固有値計算は少ない計算量で達成できる。
すなわち、障害によって得られたイベントの因果関係を表す因果グラフを、できるだけ重要なイベントを残し、かつ、要因推定の結果に与える影響を出来るだけ小さくするように、かつ、グラフの構造を保って要約することで、ある程度の正確性を保ったまま要因推定を高速化できる。さらに、要約後のグラフで要因度が高かったノードの周辺のみ、削除した頂点を元に戻して再度要因推定を行えば、さらなる正確性を達成できる。これにより、障害発生時の対応を、正確性を保ったまま高速化できる。
なお、本実施の形態において、障害要因推定装置10は、因果グラフ要約装置の一例である。検出部11は、計算部及び選択部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 障害要因推定装置
11 検出部
12 決定部
13 削除部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (7)

  1. 各ノードがグラフの状態に対する要因の度合いを示す要因度を有し、各辺がノード間の因果関係の強さを示す重みを有するグラフが変化すると、変化後の前記グラフの各ノードについて、変化前の前記グラフのノードの要因度に基づく重要度を計算する計算部と、
    前記重要度が閾値以下である第1のノードを削除の候補として選択する選択部と、
    前記第1のノードを削除する削除部と、
    を有することを特徴とするグラフ要約装置。
  2. 前記第1のノードごとに、当該第1のノードと、当該第1のノードからの辺の重みが最大である第2のノードとを1つのノードとして、当該第1のノードが削除された場合に前記グラフに付ける辺を決定し、当該第1のノードの削除前後における要因度が変化しないように当該辺の重みを決定する決定部、
    を有することを特徴とする請求項1記載のグラフ要約装置。
  3. 前記削除部は、前記第1のノードを削除した場合に前記グラフにサイクル構造が発生しない場合に当該第1のノードを削除する、
    ことを特徴とする請求項1又は2記載のグラフ要約装置。
  4. 各ノードがグラフの状態に対する要因の度合いを示す要因度を有し、各辺がノード間の因果関係の強さを示す重みを有するグラフが変化すると、変化後の前記グラフの各ノードについて、変化前の前記グラフのノードの要因度に基づく重要度を計算する計算手順と、
    前記重要度が閾値以下である第1のノードを削除の候補として選択する選択手順と、
    前記第1のノードを削除する削除手順と、
    をコンピュータが実行することを特徴とするグラフ要約方法。
  5. 前記第1のノードごとに、当該第1のノードと、当該第1のノードからの辺の重みが最大である第2のノードとを1つのノードとして、当該第1のノードが削除された場合に前記グラフに付ける辺を決定し、当該第1のノードの削除前後における要因度が変化しないように当該辺の重みを決定する決定手順、
    を前記コンピュータが実行することを特徴とする請求項4記載のグラフ要約方法。
  6. 前記削除手順は、前記第1のノードを削除した場合に前記グラフにサイクル構造が発生しない場合に当該第1のノードを削除する、
    ことを特徴とする請求項4又は5記載のグラフ要約方法。
  7. 請求項4乃至6いずれか一項記載のグラフ要約方法をコンピュータに実行させることを特徴とするプログラム。
JP2019009760A 2019-01-23 2019-01-23 グラフ要約装置、グラフ要約方法及びプログラム Active JP7120043B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019009760A JP7120043B2 (ja) 2019-01-23 2019-01-23 グラフ要約装置、グラフ要約方法及びプログラム
PCT/JP2020/000596 WO2020153150A1 (ja) 2019-01-23 2020-01-10 グラフ要約装置、グラフ要約方法及びプログラム
US17/421,128 US20220108189A1 (en) 2019-01-23 2020-01-10 Graph summarization apparatus, graph summarization method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019009760A JP7120043B2 (ja) 2019-01-23 2019-01-23 グラフ要約装置、グラフ要約方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020119261A JP2020119261A (ja) 2020-08-06
JP7120043B2 true JP7120043B2 (ja) 2022-08-17

Family

ID=71736911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019009760A Active JP7120043B2 (ja) 2019-01-23 2019-01-23 グラフ要約装置、グラフ要約方法及びプログラム

Country Status (3)

Country Link
US (1) US20220108189A1 (ja)
JP (1) JP7120043B2 (ja)
WO (1) WO2020153150A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022107998A (ja) * 2021-01-12 2022-07-25 株式会社日立製作所 施策決定支援装置および施策決定支援方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052494A (ja) 2006-08-24 2008-03-06 Sony Corp ネットワーク分析支援装置および方法、プログラム並びに記録媒体
JP2013130929A (ja) 2011-12-20 2013-07-04 Nec Corp 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
WO2017087440A1 (en) 2015-11-18 2017-05-26 Nec Laboratories America, Inc. Anomaly fusion on temporal casuality graphs
US20180025040A1 (en) 2016-07-22 2018-01-25 Ebay Inc. Multiple workspace database engine
JP2018124829A (ja) 2017-02-01 2018-08-09 日本電信電話株式会社 状態判定装置、状態判定方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999931A (en) * 1997-10-17 1999-12-07 Lucent Technologies Inc. Concurrency control protocols for management of replicated data items in a distributed database system
US7509344B1 (en) * 2003-08-18 2009-03-24 Google Inc. Method for detecting link spam in hyperlinked databases
EP2764449A1 (en) * 2011-10-05 2014-08-13 Telefonaktiebolaget LM Ericsson (PUBL) Method and apparatuses for enabling recommendations
US8682932B2 (en) * 2012-02-16 2014-03-25 Oracle International Corporation Mechanisms for searching enterprise data graphs
US9645802B2 (en) * 2013-08-07 2017-05-09 Nvidia Corporation Technique for grouping instructions into independent strands
US9210185B1 (en) * 2014-12-05 2015-12-08 Lookingglass Cyber Solutions, Inc. Cyber threat monitor and control apparatuses, methods and systems
US10083073B2 (en) * 2015-09-14 2018-09-25 Dynatrace Llc Method and system for real-time causality and root cause determination of transaction and infrastructure related events provided by multiple, heterogeneous agents
US9558265B1 (en) * 2016-05-12 2017-01-31 Quid, Inc. Facilitating targeted analysis via graph generation based on an influencing parameter
CN106155791B (zh) * 2016-06-30 2019-05-07 电子科技大学 一种分布式环境下的工作流任务调度方法
US10536472B2 (en) * 2016-08-15 2020-01-14 International Business Machines Corporation Cognitive analysis of security data with signal flow-based graph exploration
US10147020B1 (en) * 2017-07-28 2018-12-04 Cognism Limited System and method for computational disambiguation and prediction of dynamic hierarchical data structures
US10725982B2 (en) * 2017-11-20 2020-07-28 International Business Machines Corporation Knowledge graph node expiration
US10742670B1 (en) * 2018-04-18 2020-08-11 NortonLifeLock Inc. Detecting and preventing execution of a malicious computer application using utility driven graph summarization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052494A (ja) 2006-08-24 2008-03-06 Sony Corp ネットワーク分析支援装置および方法、プログラム並びに記録媒体
JP2013130929A (ja) 2011-12-20 2013-07-04 Nec Corp 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
WO2017087440A1 (en) 2015-11-18 2017-05-26 Nec Laboratories America, Inc. Anomaly fusion on temporal casuality graphs
US20180025040A1 (en) 2016-07-22 2018-01-25 Ebay Inc. Multiple workspace database engine
JP2018124829A (ja) 2017-02-01 2018-08-09 日本電信電話株式会社 状態判定装置、状態判定方法及びプログラム

Also Published As

Publication number Publication date
WO2020153150A1 (ja) 2020-07-30
JP2020119261A (ja) 2020-08-06
US20220108189A1 (en) 2022-04-07

Similar Documents

Publication Publication Date Title
CN108494810B (zh) 面向攻击的网络安全态势预测方法、装置及系统
US11522881B2 (en) Structural graph neural networks for suspicious event detection
EP3997633A1 (en) Automated generation of machine learning models for network evaluation
CN111355697B (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
US9230102B2 (en) Apparatus and method for detecting traffic flooding attack and conducting in-depth analysis using data mining
CN112464292B (zh) 基于隐私保护训练图神经网络的方法及装置
CN107103244B (zh) 基于AADL的Web应用架构安全性的评估方法
US11196633B2 (en) Generalized correlation of network resources and associated data records in dynamic network environments
US20180174072A1 (en) Method and system for predicting future states of a datacenter
JP2019057139A (ja) 運用管理システム、監視サーバ、方法およびプログラム
Prasath et al. A meta‐heuristic Bayesian network classification for intrusion detection
CN113228017B (zh) 攻击树生成装置、攻击树生成方法以及计算机可读取的记录介质
CN111159702B (zh) 一种进程名单生成方法和装置
JP7120043B2 (ja) グラフ要約装置、グラフ要約方法及びプログラム
Angelini et al. An attack graph-based on-line multi-step attack detector
JP7143672B2 (ja) 誤り判定装置、誤り判定方法、及びプログラム
CN107920067B (zh) 一种主动对象存储系统上的入侵检测方法
CN115208938B (zh) 用户行为管控方法及装置、计算机可读存储介质
CN114201199B (zh) 基于信息安全大数据的防护升级方法及信息安全系统
US20220138627A1 (en) Computer-readable recording medium storing machine learning program, machine learning apparatus, and machine learning method
CN114978765A (zh) 服务于信息攻击防御的大数据处理方法及ai攻击防御系统
US10580082B2 (en) Flow generating program, flow generating method, and flow generating device
Anandhi et al. Malware Detection using Dynamic Analysis
CN116738413B (zh) 基于溯源图的反向传播攻击调查的方法、系统及装置
US20240152622A1 (en) System and method for scoring security alerts incorporating anomaly and threat scores

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220718

R150 Certificate of patent or registration of utility model

Ref document number: 7120043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150