JP7120043B2 - グラフ要約装置、グラフ要約方法及びプログラム - Google Patents
グラフ要約装置、グラフ要約方法及びプログラム Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000001364 causal effect Effects 0.000 claims description 34
- 238000012217 deletion Methods 0.000 claims description 28
- 230000037430 deletion Effects 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000010187 selection method Methods 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic 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は、監視対象の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)要約後のグラフはサイクル構造を持たない。
(1)要因となる可能性が高いノードは要約後も残す。
(2)要約の前後で要因推定の結果に変化が少ない。
(3)要約後のグラフはサイクル構造を持たない。
本実施の形態の障害要因推定装置10は、上記(1)~(3)のポイントを考慮することで、因果グラフによる要因推定において適用可能なグラフ要約を行う。本実施の形態は以下のフローで実行される。
ステップ1:ポイント(1)を考慮し重要度の低いノードを検出
ステップ2:ポイント(2)を考慮し、該当ノード削除後のグラフの辺及び重みを決定
ステップ3:ポイント(3)を考慮し、検出したノードを削除するか否かを判断
[問題設定]
因果グラフGは、G=(V(G),E(G),fG)とする。但し、V(G)={v1,…,vN(G)}は、グラフGのノードの集合で、各ノードは障害時に発生したアラート、又は障害時にログデータから抽出したイベントを表し、それぞれが要因度を有する。要因度とは、因果グラフGの現在の状態(構造)に対する要因である度合いを示す指標である。なお、本実施の形態では、障害時に発生したアラート及びログデータから抽出したイベントのいずれをも、イベントと呼ぶ。N(G)は、グラフGのノード数、E(G)={ej,k|j,k=1,…,N(G)}は、グラフGの辺の集合で、ej,kは、ノードvjからノードvkへ向かう辺を表す。fG:E(G)→R+は、Gの辺の重みを表す関数とする。ただし、R+は0以上の実数全体の集合を表す。辺の重みは、当該辺によって接続されるノード間の因果関係の強さを示す。すなわち、辺の重みは、当該辺の先のノードに係るイベントの要因が、当該辺の元のノードに係るイベントである可能性の高さを示す。また、Gの隣接行列A(G)を、A(G)=[fG(ej,k)]j,kで定める。
ステップ2:ポイント(2)を考慮し、該当ノード削除後のグラフの辺及び重みを決定
ステップ3:ポイント(3)を考慮し、検出したノードを削除するか否かを判断
[問題設定]
因果グラフGは、G=(V(G),E(G),fG)とする。但し、V(G)={v1,…,vN(G)}は、グラフGのノードの集合で、各ノードは障害時に発生したアラート、又は障害時にログデータから抽出したイベントを表し、それぞれが要因度を有する。要因度とは、因果グラフGの現在の状態(構造)に対する要因である度合いを示す指標である。なお、本実施の形態では、障害時に発生したアラート及びログデータから抽出したイベントのいずれをも、イベントと呼ぶ。N(G)は、グラフGのノード数、E(G)={ej,k|j,k=1,…,N(G)}は、グラフGの辺の集合で、ej,kは、ノードvjからノードvkへ向かう辺を表す。fG:E(G)→R+は、Gの辺の重みを表す関数とする。ただし、R+は0以上の実数全体の集合を表す。辺の重みは、当該辺によって接続されるノード間の因果関係の強さを示す。すなわち、辺の重みは、当該辺の先のノードに係るイベントの要因が、当該辺の元のノードに係るイベントである可能性の高さを示す。また、Gの隣接行列A(G)を、A(G)=[fG(ej,k)]j,kで定める。
システム運用において、最初の障害が起こると、因果グラフG1が生成される。次に類似した障害が起こった場合、1度目の障害の情報に2度目の障害の情報が加わり、V(G1)⊆V(G2)を満たす因果グラフG2が生成される(グラフG1の状態(構造)がグラフG2に変化する)。障害が起こる度にこれが行われ、類似障害に対するグラフの列{Gi}i=1
∞が生成される。また、i度目の障害時に発生したイベントの集合をRi⊆V(Gi)とし、集合列{Ri}i=1
∞が生成されるとする。iが増加するにしたがって、イベント間の因果関係は定まり、真の因果関係を表す因果グラフへ収束していくとする。また、iが増加するにしたがって各発生イベントがノイズかどうかの判断が可能となり、真の発生イベントへ収束するとする。つまり、次を満たすG=(V(G),E(G),fG)とRが存在すると仮定する。
極限グラフGにおいて、確率空間(Ω,F,p)が定まるとする。但し、Ωは、V(G)の全ての部分集合からなる集合族とする。また、各vj∈V(G)に対して確率変数Xj:Ω→{0,1}を、vj∈ωのときXj(ω)=1、vj∈ωでないときXj(ω)=0で定める。fG(ej,k)=p({Xk=1}|{Xj=1})とする。各iに対してfGiは、fGを近似する関数で、既存手法により定める。
このとき、イベントvj∈V(Gi)が起こった際に、イベントvl∈Riが起こる確率の和Σvl∈Rip({Xl=1}|{Xj=1})の近似Pi(vj;Ri)をvjの要因度とし、この値が高いイベントが、i度目の障害時の主要因であると推定することとする。但し、Piは次のように定める。
このとき、limi→∞Pi(・;Ri)=P(・;R)(各点)が成り立つ。但し、
類似障害が十分な回数起これば、G*≒G、R*≒Rを満たすG*、R*が得られ、そこからP*(・;R*)を計算することでその故障に対する主要因が確定する。しかし、G*、R*が得られるまでは、その時点で得られている情報を用いて要因推定を行い、出来るだけ高速、かつ、正確に主要因を推定する必要がある。そこで、G1,…,Gi-1の情報を用いてGiを要約し、V(G'i)⊂V(Gi)を満たすG'iを作成した上でG'iに対して要因推定を行うことで、上記を達成することを考える。
[障害要因推定装置10]
上記考えに基づく障害要因推定装置10について説明する。図1は、本発明の実施の形態における障害要因推定装置10のハードウェア構成例を示す図である。図1の障害要因推定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有するコンピュータである。
上記考えに基づく障害要因推定装置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度目の障害の発生に応じた変化後の因果グラフGiにおける各ノードの重要度を計算する。
Giにおいて要因推定を行う際、bi(v)=Pi-1(v;Ri-1)(v∈V(Gi-1)⊆V(Gi)のとき)、bi(v)=0(v∈V(Gi)\V(Gi-1)のとき)と定める。なお、Gi-1は、i度目の障害の発生前(すなわち、変化前の)因果グラフである。
bi(v)が大きい、つまり、Gi-1において要因度が大きかったイベントvは、Giでも要因度が高くなると見込まれるが、新たに加わったイベントu∈V(Gi)\V(Gi-1)については、当該イベントuがGi-1において要因度が大きかったイベントvの要因となり得る場合、要因度が高くなる可能性がある。但し、Giにおける各ノードの要因度の計算の負荷は高い。そこで、検出部11は、要因度の近似値であって(要因度の大小関係を近似できる値であって)、要因度よりも低い計算負荷によって計算可能な重要度を、Gi-1における要因度を用いてGiの各ノードについて計算する。
v∈V(Gi)の重要度をci(v)とおき、ci=[ci(v1),…,ci(vN(Gi))]T、と定める。さらに、bi=[bi(v1),…,bi(vN(Gi))]Tと定める。重要度は、時刻t=0においてbiであり、時刻t=1においてciになるとする。biとciを時刻tについて滑らかにつなぐ関数di:[0,T]→R+
N(Gi)を考える。vjを、Giにおいて新たに加わったイベントとする。微小時t=0からt=hにおけるdiの第j成分の変化量を考える。vjに隣接しているノードの集合を
具体的には、検出部11は、次のようにしてGiにおける重要度ci:V(Gi)→R+を計算する。
後述されるように、検出部11は、(1)式により計算した重要度ci(v)が相対的に小さくなるvを、要因推定においてあまり重要ではないとみなし、削除の候補として選択する。以下が成立する。
また、diの各成分は単調増加するため、任意のv∈V(Gi)に対して、bi(v)≦ci(v)が成り立つから、Gi-1において要因度が相対的に高かったノードが削除されることはない。これにより、ポイント(1)を考慮した検出が可能となる。
続いて、検出部11は、ci(v)が一定の閾値cmax以下であるノードの集合を抽出し、抽出した集合をDに代入する(S102)。すなわち、以下の演算が行われる。
D={v∈V(Gi)|ci(v)≦cmax}
続いて、決定部12は、該当ノード(Dに含まれるノード)の有無(Dが空であるか否か)を判定する(S103)。該当ノードが無い場合(Dが空である場合)(S103でYes)、図3の処理は終了する。該当ノードが有る場合(S103でNo)、決定部12は、Dから一つのノードを取り出す(S104)。取り出されたノードは、Dから削除される。以下、取り出されたノードを、「ノードvj」という。なお、ノードの取り出し順は、特定の順序に限定されない。例えば、重要度ci(v)が最も低いノードが取り出されてもよいし、インデックスが最も小さいノードが取り出されてもよいし、ランダムにノードが取り出されてもよい。インデックスとは、ノードに付与される識別子であり、例えば、ノードが生成された順番を示す数値である。
D={v∈V(Gi)|ci(v)≦cmax}
続いて、決定部12は、該当ノード(Dに含まれるノード)の有無(Dが空であるか否か)を判定する(S103)。該当ノードが無い場合(Dが空である場合)(S103でYes)、図3の処理は終了する。該当ノードが有る場合(S103でNo)、決定部12は、Dから一つのノードを取り出す(S104)。取り出されたノードは、Dから削除される。以下、取り出されたノードを、「ノードvj」という。なお、ノードの取り出し順は、特定の順序に限定されない。例えば、重要度ci(v)が最も低いノードが取り出されてもよいし、インデックスが最も小さいノードが取り出されてもよいし、ランダムにノードが取り出されてもよい。インデックスとは、ノードに付与される識別子であり、例えば、ノードが生成された順番を示す数値である。
続いて、決定部12は、ノードvjを削除した際(削除した後)の辺の付け方を決定する(S105)。具体的には、決定部12は、ノードvjに隣接するノードのうち、vjからの辺の重みが最大になるノードvkを特定し、vjとvkを1つのノードとみなすことにより、当該1つのノードにvjの辺及びvkの辺を付ける。
重みが最大になるノードを用いる理由は、以下で説明する方法で重みを決定した場合に、ノード削除前と削除後の要因度の計算における重みの変化の影響を最小にするためである。
続いて、決定部12は、ステップS105において付け方が決定された各辺の重みを、次の3つの単純な構造において、ノード削除前後で各ノードの要因度が変化しないように決定する(S106)。以下では、ノードvj削除前のグラフをGB、削除後のグラフをGAと表す。
[木構造]
共通のノードからvjとvkの両方に辺が入っておらず、かつ、共通のノードにvjとvk両方から辺がのびていない場合(すなわち、ノードvjがノードvkの親ノードである場合)、vjからvkへ向かう辺の重みfGB(ejk)を、vkから出ている辺の重み全てに掛け合わせることにより、fGAを作成する。このようにして重みを決定することで、木に対してはノード削除前後で要因度が変化しないようにすることができる。
共通のノードからvjとvkの両方に辺が入っておらず、かつ、共通のノードにvjとvk両方から辺がのびていない場合(すなわち、ノードvjがノードvkの親ノードである場合)、vjからvkへ向かう辺の重みfGB(ejk)を、vkから出ている辺の重み全てに掛け合わせることにより、fGAを作成する。このようにして重みを決定することで、木に対してはノード削除前後で要因度が変化しないようにすることができる。
[図4の構造]
GBにおいて共通のノードvlからvjとvkの両方に辺が入っている場合、ステップS105ではejk、elk、eljの3辺が、GAにおいて一つの辺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)である。
GBにおいて共通のノードvlからvjとvkの両方に辺が入っている場合、ステップS105ではejk、elk、eljの3辺が、GAにおいて一つの辺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の構造]
GBにおいて共通のノードvlに、vjとvkの両方から辺がのびている場合、ステップS105ではejk、ekl、ejlの3辺が、GAにおいて一つの辺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)である。
GBにおいて共通のノードvlに、vjとvkの両方から辺がのびている場合、ステップS105ではejk、ekl、ejlの3辺が、GAにおいて一つの辺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は、ノードvjを削除するか否かを判断する(S107)。具体的には、削除部13は、削除候補のvjの削除前のグラフをGB、削除後のグラフをGAとした場合にGAの隣接行列の固有値を調べることで、GAにサイクル構造があるか否かを調べる。一般に、グラフGの隣接行列A(G)に対して、次が成り立つ。
A(G)の固有値が全て0
⇒A(G)n=0
⇒Gに長さn以上のパスは無い。
⇒Gにサイクル構造が無い。
A(G)の固有値が全て0
⇒A(G)n=0
⇒Gに長さn以上のパスは無い。
⇒Gにサイクル構造が無い。
よって、削除部13は、A(GA)の固有値が全て0ならば(S108でYes)、vjを削除し、そうでなければ(S108でNo)、vjを削除しない。なお、削除部13は、vjを削除した場合、ステップS105及びS106の実行結果に従って、Giに対する辺の付与及び当該辺に対する重みを付与する。
ステップS104以降は、Dが空になるまで実行される。すなわち、各vj∈Dに対してステップS104以降が実行される。
一般の行列に対する固有値の計算は計算コストが高いが、次の理由により、今回の場合は計算コストが削減される。一般に、グラフGにサイクル構造が無ければ、A(G)は上三角行列にできる。よって、Giは上三角行列と仮定されてよい。A(GB)からA(GA)への変化は、vjに隣接するノードのうち、vjからの辺の重みが最大になるノードvkに対応する行と列の変化と、ノードvjに対応する行と列の削除である。この変化の中で上三角行列の構造に変化を与えるのはノードvkに対応する行と列の変化のみであるから、GAの上三角成分以外の成分の数は少ない。よって、GAの固有値を数値的に求めるために必要なQR分解に必要な計算量は少なくなる。
[評価結果]
ランダムに作成した小さなグラフに対して本実施の形態を適用することで、上記のポイント(1)~(3)のうち、「(1)要因となる可能性が高いノードは要約後も残す」、「(2)要約の前後で要因推定の結果に変化が少ない」について評価を行った。
ランダムに作成した小さなグラフに対して本実施の形態を適用することで、上記のポイント(1)~(3)のうち、「(1)要因となる可能性が高いノードは要約後も残す」、「(2)要約の前後で要因推定の結果に変化が少ない」について評価を行った。
[設定]
以下のようにして、[問題設定]で述べた状況を模擬し、評価を行った。
1.ノード数が25のランダムなグラフG1を作成。
2.R1=V(G1)として、G1の各ノードv∈V(G1)に関して、要因度P1(v;R1)を計算。
3.G1にノードを付け加えノード数を50にし、ランダムに辺を付け加えてG2を作成。
4.図3に示した処理手順で要約を行い、要約後のグラフG'2を作成。
5.評価1:本実施の形態を用いて要約を行った際に、要約前後で各ノードの要因度の違いが小さいということを確認することを目的とし、各u,v∈V(G'2)に対し、P2(v;{u})と、G'2において計算した要因度P'2(v;{u})との差P2(v;{u})-P'2(v;{u})を計算。
6.R2を、R1の元のうちのランダムに選んだ5つを、V(G2)\R1の元からランダムに選んだ5つによって交換したものをR2として設定。
7.評価2:本実施の形態を用いて要約を行った際に、要約前後で主な要因として抽出される上位5イベントに差異が少ないということを確認することを目的とし、P2(v;R2)が大きくなる上位5つのv∈V(G2)と、P'2(v;R2)が大きくなる5つのv∈V(G'2)を求め、両者を比較する。
以下のようにして、[問題設定]で述べた状況を模擬し、評価を行った。
1.ノード数が25のランダムなグラフG1を作成。
2.R1=V(G1)として、G1の各ノードv∈V(G1)に関して、要因度P1(v;R1)を計算。
3.G1にノードを付け加えノード数を50にし、ランダムに辺を付け加えてG2を作成。
4.図3に示した処理手順で要約を行い、要約後のグラフG'2を作成。
5.評価1:本実施の形態を用いて要約を行った際に、要約前後で各ノードの要因度の違いが小さいということを確認することを目的とし、各u,v∈V(G'2)に対し、P2(v;{u})と、G'2において計算した要因度P'2(v;{u})との差P2(v;{u})-P'2(v;{u})を計算。
6.R2を、R1の元のうちのランダムに選んだ5つを、V(G2)\R1の元からランダムに選んだ5つによって交換したものをR2として設定。
7.評価2:本実施の形態を用いて要約を行った際に、要約前後で主な要因として抽出される上位5イベントに差異が少ないということを確認することを目的とし、P2(v;R2)が大きくなる上位5つのv∈V(G2)と、P'2(v;R2)が大きくなる5つのv∈V(G'2)を求め、両者を比較する。
[結果]
要約前のグラフG2の50のノード数に対し、要約後のグラフG'2のノード数は40となった。要約前のグラフG2を図6に示し、要約後のグラフG'2を図7に示す。
要約前のグラフG2の50のノード数に対し、要約後のグラフG'2のノード数は40となった。要約前のグラフG2を図6に示し、要約後のグラフG'2を図7に示す。
評価1:要約後のグラフG'2の任意のノードu,v∈V(G'2)に対してノードuのインデックスを縦軸、ノードvのインデックスを横軸にとった時の|P2(v;{u})-P'2(v;{u})|の値をヒートマップで表すと図8のようになった。ほとんどのu,vのペアでは、|P2(v;{u})-P'2(v;{u})|の値は0.1以下となった。これは、R2={v}とした際、グラフ要約の前後でイベントuの要因度の差がほぼ0.1以内で収まっていることを表している。
評価2:P2(v;R2)が大きくなる上位5つのv∈V(G2)のインデックスと、P'2(v;R2)が大きくなる5つのv∈V(G'2)のインデックスとは表1のようになった。
上述したように、本実施の形態によれば、過去の情報の伝播を因果グラフによる要因推定に適する形で行い、その結果を基に不要なノードを検出することでグラフを要約する。すなわち、過去の情報を用いて各ノードの重要度を決定することで、重要でない頂点を検出する。この重要度は真の要因度以上の値に収束することが示せるから、要因となる可能性が高いノードは要約後も残すことができる。その結果、システム運用における因果グラフによる要因推定の精度の低下を抑制可能なグラフ要約を実現することができる。
また、単純な構造において、ノード削除前後で要因度が変化しないように辺の重みを決定することで、要約の前後で要因推定の結果に変化が少なくなる。さらに、隣接行列の固有値を計算することで、要約後のグラフはサイクル構造を持たないことが達成できる。隣接行列の構造を考慮すると、この固有値計算は少ない計算量で達成できる。
すなわち、障害によって得られたイベントの因果関係を表す因果グラフを、できるだけ重要なイベントを残し、かつ、要因推定の結果に与える影響を出来るだけ小さくするように、かつ、グラフの構造を保って要約することで、ある程度の正確性を保ったまま要因推定を高速化できる。さらに、要約後のグラフで要因度が高かったノードの周辺のみ、削除した頂点を元に戻して再度要因推定を行えば、さらなる正確性を達成できる。これにより、障害発生時の対応を、正確性を保ったまま高速化できる。
なお、本実施の形態において、障害要因推定装置10は、因果グラフ要約装置の一例である。検出部11は、計算部及び選択部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 障害要因推定装置
11 検出部
12 決定部
13 削除部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
11 検出部
12 決定部
13 削除部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
Claims (7)
- 各ノードがグラフの状態に対する要因の度合いを示す要因度を有し、各辺がノード間の因果関係の強さを示す重みを有するグラフが変化すると、変化後の前記グラフの各ノードについて、変化前の前記グラフのノードの要因度に基づく重要度を計算する計算部と、
前記重要度が閾値以下である第1のノードを削除の候補として選択する選択部と、
前記第1のノードを削除する削除部と、
を有することを特徴とするグラフ要約装置。 - 前記第1のノードごとに、当該第1のノードと、当該第1のノードからの辺の重みが最大である第2のノードとを1つのノードとして、当該第1のノードが削除された場合に前記グラフに付ける辺を決定し、当該第1のノードの削除前後における要因度が変化しないように当該辺の重みを決定する決定部、
を有することを特徴とする請求項1記載のグラフ要約装置。 - 前記削除部は、前記第1のノードを削除した場合に前記グラフにサイクル構造が発生しない場合に当該第1のノードを削除する、
ことを特徴とする請求項1又は2記載のグラフ要約装置。 - 各ノードがグラフの状態に対する要因の度合いを示す要因度を有し、各辺がノード間の因果関係の強さを示す重みを有するグラフが変化すると、変化後の前記グラフの各ノードについて、変化前の前記グラフのノードの要因度に基づく重要度を計算する計算手順と、
前記重要度が閾値以下である第1のノードを削除の候補として選択する選択手順と、
前記第1のノードを削除する削除手順と、
をコンピュータが実行することを特徴とするグラフ要約方法。 - 前記第1のノードごとに、当該第1のノードと、当該第1のノードからの辺の重みが最大である第2のノードとを1つのノードとして、当該第1のノードが削除された場合に前記グラフに付ける辺を決定し、当該第1のノードの削除前後における要因度が変化しないように当該辺の重みを決定する決定手順、
を前記コンピュータが実行することを特徴とする請求項4記載のグラフ要約方法。 - 前記削除手順は、前記第1のノードを削除した場合に前記グラフにサイクル構造が発生しない場合に当該第1のノードを削除する、
ことを特徴とする請求項4又は5記載のグラフ要約方法。 - 請求項4乃至6いずれか一項記載のグラフ要約方法をコンピュータに実行させることを特徴とするプログラム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022107998A (ja) * | 2021-01-12 | 2022-07-25 | 株式会社日立製作所 | 施策決定支援装置および施策決定支援方法 |
Citations (5)
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)
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 |
-
2019
- 2019-01-23 JP JP2019009760A patent/JP7120043B2/ja active Active
-
2020
- 2020-01-10 US US17/421,128 patent/US20220108189A1/en active Pending
- 2020-01-10 WO PCT/JP2020/000596 patent/WO2020153150A1/ja active Application Filing
Patent Citations (5)
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 |