(57)【要約】  システム内の１つまたは複数の異常を検出する例示的な方法は、正常期間中のローカル構成要素間の機能的関係を記述する時間的因果グラフを構築することと、この因果グラフをプロパゲーションテンプレートとして適用し、現在のシステムイベントシグネチャを繰り返し適用することでシステムステータスを予測することと、正常なシステム動作を特定するテンプレート因果グラフ上で関連するパターンを調べることで、システムの１つまたは複数の異常を検出することとを含む。このシステムは、因果グラフ上でイベントパターンをアラインメントして異常スコアを決定する。
2019502195.tif 000002
【特許請求の範囲】
【請求項１】
システム内の１つまたは複数の異常を検出する方法であって、
正常期間におけるローカル構成要素間の機能的関係を記述する時間的因果グラフを構築することと、
前記因果グラフをプロパゲーションテンプレートとして適用し、現在のシステムイベントシグネチャを繰り返し適用することでシステムステータスを予測することと、
正常なシステム動作を特定する前記テンプレート因果グラフ上で関連するパターンを調べることで、前記システムの前記１つまたは複数の異常を検出することとを含む、方法。
【請求項２】
物のインターネット（ＩｏＴ）、デジタルネットワーキングシステムまたはクラウドの一部であるセンサを含む、請求項１に記載の方法。
【請求項３】
予測されたシステムイベントを用いて異常スコアを決定することを含む、請求項１に記載の方法。
【請求項４】
前記時間的因果グラフの構築が、非負値スパース回帰を実行することを含む、請求項１に記載の方法。
【請求項５】
各シーケンス（または各タイプのイベント）が、企業ネットワークシステムにおける１つのサーバの異常ログのバーストと関連付けられる、請求項１に記載の方法。
【請求項６】
前記グラフを用いて正常なシステム動作を記述することと、テンプレートとしてこの因果グラフに基づいて異常を検出することとを含む、請求項１に記載の方法。
【請求項７】
前記グラフが、非負値ＬＡＳＳＯ（Least Absolute Shrinkage and Selection Operator）を用いて決定される、請求項１に記載の方法。
【請求項８】
因果推論と異常検出の組合せを用いてシステム障害を特定する、請求項１に記載の方法。
【請求項９】
改善された因果推論が、調整可能な時間ラグを有する離散的なイベントシーケンスを扱うことができる、請求項１に記載の方法。
【請求項１０】
離散的なイベントシーケンスを解析することを含む、請求項１に記載の方法。
【請求項１１】
非負値スパース回帰によって因果関係を決定することを含む、請求項１に記載の方法。
【請求項１２】
複数のイベントシーケンスを一連の回帰問題の入力に変換して、異なるイベント間の時間的因果関係を特定することを含む、請求項１に記載の方法。
【請求項１３】
１つのイベントの発生を、それ以前のイベントを用いて予測または再構築することを含む、請求項１に記載の方法。
【請求項１４】
１＜ｊ＜Ｄであり、ｊがｉと等しくないとしたとき、他のｊ個のイベントを用いてｉ番目のイベントの発生を予測することと、
Ｘ（ｉ）＿ｊがＤ−１次元ベクトルであり、Ｙ（ｉ）＿ｊがスカラーとしたとき、
【数１】
2019502195.tif 000012
【数２】
2019502195.tif 000013
によってｎ＿ｉ個のペア（Ｘ（ｉ）＿ｊ、Ｙ（ｉ）＿ｊ）を生成することとを含む、請求項１に記載の方法。
【請求項１５】
イベントチャネル毎にいくつかのタイムスタンプを互いに結合することと、時間ベースの再重み付け方式を適用して各チャネルのイベントカウントの重み平均を決定することと、
回帰を適用して、関係
【数３】
2019502195.tif 000014
を決定することとを含む、請求項１に記載の方法。
【請求項１６】
各イベントシーケンスを残りの全てのシーケンスで回帰し、これを全てのシーケンスに関して繰り返すことで、それぞれＤ−１個の回帰係数を含むＤ個のモデル係数を得ることができる。
【請求項１７】
ｇ（）が減衰関数であるとき、ｖ（ｔ）に関する異常スコアを、
【数４】
2019502195.tif 000015
で決定することを含む、請求項１に記載の方法。
【請求項１８】
ｖ（ｔ）に関する異常スコアを、有向グラフ上のｖ（ｔ）中の非ゼロイベントのペアワイズ距離として決定することを含む、請求項１に記載の方法。
【請求項１９】
前記因果グラフ上でイベントパターンをアラインメントして異常スコアを決定することを含む、請求項１に記載の方法。
【請求項２０】
前記時間的因果グラフ上でイベントプロパゲーションを実行して将来のステータスを予測することを含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１６年１１月１８日に出願された米国特許仮出願第６２／２５６７５２号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【背景技術】
【０００２】
デジタルネットワーキングシステム（ＤＮＳ）やクラウド等の大規模ネットワークシステムのスケール及び機能の進歩と共にシステムの複雑さも大幅に増大しており、システムの異常または障害を事前に（proactive）かつ高い信頼度で検出することが益々重要になってきている。このことは、大きな経済的損失を伴うことが多い、システムサービスが中断するリスクを大幅に低減できる。グローバルなシステム状態の監視を維持するため、通常、重要なローカル構成要素／モジュール／サブシステムの稼働ステータスを記録する監視システムが配備される。障害または異常の検出を実行する１つの方法は、時系列における変数間の依存関係を捉えるスパースな時間的イベント回帰（temporal event regression）法を用いることで、ノイズが多い多変量時系列データにおける異常を検出する。異常は、時間的イベント回帰によって生じるグラフ上でランダムウォークトラバーサルを実行することで見出される。もう一つの方法は、故障検出器をアプリケーションでサービスとして利用できるようにする。このシステムは、分散環境内で稼働するいくつかの障害検出エージェントで構成され、各エージェントはプロセスのサブセットの監視及びアプリケーションの更新を担当する。代わりに適応プロトコルを異常検出に用いることができる。これらのプロトコルは、それらの環境に動的に適応し、特に変化するネットワークの状態にそれらの動作を適応させる。これらのアプローチは、通常、分散システムの専門知識だけでなく、システムの多少の干渉（システムが正常に稼働しているか否かを調べるための特定のテスト信号に対する応答など）を必要とする。
【０００３】
関連するアルゴリズムのファミリは、特にスパースなグレンジャー因果法（granger causality method）に基づく因果推論（causal inference）である。このアルゴリズムファミリの典型的な手法は、複数の時系列間の関係を計算するために自己回帰（ＶＡＲ）モデルを用いることである。コネクションをスパース化するため、因果関係のうちのわずかなサブセットだけを有意な関係として特定するようにＬ１ノルム正則化が追加される。因果構造が単に統計的テストから決定される他の方法も使用される。但し、これらの方法は、システム全体で経時的な因果関係を識別することのみに着目し、システム内の異常をさらに識別するという課題は考慮していない。
【発明の概要】
【０００４】
システム内の１つまたは複数の異常を検出する典型的な方法は、正常期間におけるローカル構成要素間の機能的関係を記述する時間的因果グラフを構築することと、因果グラフをプロパゲーションテンプレート（propagation template）として適用し、現在のシステムイベントシグネチャを繰り返し適用することでシステムステータスを予測することと、正常なシステム動作を特定するテンプレート因果グラフ上で関連するパターンを調べることで、システムの１つまたは複数の異常を検出することとを含む。このシステムは、異常スコアを決定するために、因果グラフ上でイベントパターンをアラインしてもよい。
【０００５】
実施において、物のインターネット（ＩｏＴ）、デジタルネットワーキングシステムまたはクラウドの一部としてセンサを用いることが可能であり、本システムはセンサデータから異常を検出できる。本システムは、正常なシステム動作を特定するテンプレート因果グラフ上で関連するパターンを調べることでシステムの潜在的な異常を検出できる。本システムは、この予測されたシステムイベントを用いて異常スコアを決定できる。本システムは、時間的因果グラフ上でシグネチャを処理し、該時間的因果グラフから、このシグネチャにおけるパターン同士がどのように異なるかを調べることができる。
【０００６】
本システムの利点は、以下のうちの１つまたは複数を含む。本システムは、デジタルネットワーキングシステムまたはクラウド等の大規模ネットワーキングシステムにおいて、異常及び障害の検出を実現する。本システムは、大規模ネットワーキングシステムにおける異常、不審な動作または深刻な障害を検出できる。これにより、正常なシステム稼働ステータスの潜在的な障害が発生するときに、プロアクティブなデバッギング及び調整を進めることができるように、システムのオペレータに、システムをより効果的に維持させる。これにより、予期しないシステムのシャットダウンまたはサービスの中断が起きる場合と比べて経済的損失を大幅に減少させることができるため、ＤＮＳまたはクラウドシステムまたはＩｏＴシステム等の大規模分散型コンピュータネットワーキングシステムにおいて有益である。
【図面の簡単な説明】
【０００７】
【図１】図１は、大規模ネットワーキングシステムにおいて、異常、不審な動作または深刻な障害を検出するための１つの典型的な方法のアーキテクチャを示す図である。
【図２】図２は、システム中の１つまたは複数の異常を検出する典型的な方法を示す図である。
【図３】図３は、入力される複数のイベントシーケンスの例を示す図である。
【図４】図４は、イベントシーケンスを回帰データに変換する１つの手法を示す図である。
【図５】図５は、異なるイベントの間の時間的因果関係を要約する典型的な有向グラフを示す図である。
【図６】図６は、異なるイベントの間の時間的因果関係を要約する典型的な有向グラフを示す図である。
【図７】図７は、異常を検出する典型的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【０００８】
図１は、大規模ネットワーキングシステムにおいて、異常、不審な動作または深刻な障害を検出するための１つの典型的な方法のアーキテクチャを示す図である。３つの主要な構成要素がある。すなわち、（１）非負値ＬＡＳＳＯ回帰手法を適用して、正常稼働期間における原因及び結果のイベントパターンを要約する時間的因果グラフを構築する因果推論ステップ１００、（２）現在のタイムスタンプから特定された時間間隔ステップ後の予想イベントシグネチャを予測するイベントプロパゲーションステップ２００、並びに（３）イベントシグネチャベクトルを時間的因果グラフ上で比較し、履歴観測に基づいて異常のレベルを測定することで、そのイベントシグネチャベクトルによって表される各時点における異常スコアを計算する異常スコア定量化ステップ３００である。
【０００９】
図２は、正常期間におけるローカル構成要素間の機能的な関係を記述する時間的因果グラフを構築することと、現在のシステムイベントシグネチャを繰り返し適用することでシステムステータスを予測するために因果グラフをプロパゲーションテンプレートとして適用することと、正常なシステム動作を特定するテンプレート因果グラフ上で関連するパターンを調べることでシステムの１つまたは複数の異常を検出することとによって、システムにおける１つまたは複数の異常を検出する典型的な方法を示す図である。このシステムは、異常スコアを決定するために因果グラフ上でイベントパターンをアライン（align）できる。このシステムは、将来のステータスを予測するために時間的因果グラフ上でイベントプロパゲーションを実行できる。
【００１０】
因果グラフを構築し、その後、該グラフ上で複数のパターンを比較することで異常を定量化する我々の手順は、一般的なユークリッドベクトル空間において異常検出を考える従来の方法と異なっている。本発明のシステムでは、グラフを用いて正常なシステム動作を記述し、テンプレートとしてこの因果グラフに基づいて異常を検出する。特に、因果関係を推定する従来の方法が、解明が容易ではない負の係数をもたらす標準的なＬＡＳＳＯ法に基づくのが一般的であるのに対して、本グラフは非負値ＬＡＳＳＯ（Least Absolute Shrinkage and Selection Operator）を用いて計算される。因果推論において、従来の方法では連続的な時系列を考慮するのが一般的であるが、本発明のシステムでは離散的なイベントシーケンスを解析する。
【００１１】
統計学及び機械学習において、ＬＡＳＳＯは、それが生成する統計モデルの予測精度及び解明性を向上させるために変数選択及び正則化の両方を実行する回帰解析法である。ＬＡＳＳＯは、基底追跡ノイズ除去（basis pursuit denoising）と密接な関係がある。ＬＡＳＳＯは、当初は最小二乗モデル用に定式化されており、この単純なケースでは、リッジ回帰及び最良部分集合選択（best subset selection）との関係、並びにＬＡＳＳＯ係数推定値と、いわゆる軟閾値処理（soft thresholding）とのコネクションを含む、推定器の動作についてはかなりのことを明らかにしている。また、（標準的な線形回帰と同様に）共分散が同一線上にある場合は係数推定値が一意である必要がないことも明らかにしている。当初は最小二乗用に定義されていたが、ＬＡＳＳＯ正則化には、一般化線形モデル、一般化推定方程式、比例ハザードモデル及びＭ推定器等の幅広い様々な統計モデルを適用できる。サブセット選択を実行するＬＡＳＳＯの能力は、制約の種類に依存し、幾何学、ベイズ統計学及び凸解析等では様々な解釈を有する。
【００１２】
システム障害を判別するために因果推論と異常検出の組み合わせが用いられる。この改善された因果推論は、調整可能なタイムラグを有する離散的なイベントシーケンスを扱うことができる。
【００１３】
図３は、入力される複数のイベントシーケンスの一例を示す図である。Ｄ個のシーケンスで、それぞれ特定のタイプの異常イベントが時間と共に発生することを示している。図３は、そのようなデータフォーマットを示している。一例において、各シーケンス（または各タイプのイベント）は、企業ネットワークシステム内の１つのサーバにおける異常ログのバーストと関連付けられる。ｉ番目のシーケンスは、以下のように表される。
【００１４】
【数１】
2019502195.tif 000003
【００１５】
ここで、ｔ（ｉ）＿ｊは、ｊ番目に発生したイベントのタイムスタンプである。すなわち、ｅ（ｉ）＿ｊは発生の対応強度であり、ｎｉはｉ番目のイベントで記録された発生数である。ｅ（ｉ）＿ｊが大きくなるほど、監視ログ解析に基づいてｉ番目のサーバが何らかの異常ステータスである可能性が高い。
【００１６】
以下、大規模にネットワーク化されたシステムにおける異常検出及び早期警告に関する本発明のシステムを詳述する。本発明のシステムは、２つの動作を提供する。第１に、正常期間における多数のローカル構成要素間の有意な機能的関係を記述する時間的因果グラフを構築する。第２に、この因果グラフをプロパゲーションテンプレートとして使用し、現在のシステムイベントシグネチャをそれに繰り返し適用することでシステムステータスを予測する。最後に、この予測されたシステムイベントシグネチャを用いて異常スコアを計算する。
【００１７】
非負値スパース回帰による因果関係の発見
異なるイベント間の時間的因果関係を特定するために、どのようにして複数のイベントシーケンスを一連の回帰問題の入力に変換するかを説明する。この概念は、１つのイベントの発生を、それ以前に起きた他のイベントを用いて予測（または再構築）するものである。さらに詳細には、１＜ｊ＜Ｄであり、ｊがｉと等しくないとしたとき、ｉ番目のイベントの発生を他の全てのｊ個のイベントを用いて予測することを考える。そのとき、ｎｉ個のペア（Ｘ（ｉ）＿ｊ、Ｙ（ｉ）＿ｊ）を生成できる。ここで、Ｘ（ｉ）＿ｊは、Ｄ−１次元ベクトルであり、Ｙ（ｉ）＿ｊは、スカラーである。
【００１８】
【数２】
2019502195.tif 000004
【００１９】
【数３】
2019502195.tif 000005
【００２０】
図４は、イベントシーケンスを回帰データに変換する１つの手法を示している。イベントチャネル毎にいくつかのタイムスタンプを互いに結合するために、時間ベースの再重み付け方式を用いて各チャネルのイベントカウントの重み平均を計算する。続いて、以下の回帰問題を定義し、その関係を明らかにする。
【００２１】
【数４】
2019502195.tif 000006
【００２２】
各イベントシーケンスを残りの全てのシーケンスで回帰し、これを全てのシーケンスについて繰り返すことで、それぞれＤ−１個の回帰係数を含むＤ個のモデル係数を得ることができる。これらの係数は全て非負値であるため、グラフに変換できる。具体的には、行列Ｗは、Ｄ×Ｄ行列である。
【００２３】
因果グラフ上のイベントプロパゲーション
時間的因果グラフＷはＤ個のイベント全ての間の関係を要約するものである。このグラフの枝重みはタイムスタンプｔ−Δｔからタイムスタンプｔへのシステムイベントシグネチャの移行を正確に記述する。したがって、将来の任意の時点ｔにおけるシステムイベントシグネチャが与えられると、次のタイムスタンプのシステムシグネチャを以下のように予測できる。
【００２４】
【数５】
2019502195.tif 000007
【００２５】
同様に、数ステップ先を予測したい場合は、上記の数式を繰り返し適用すればよい。無限のステップまで広げる場合、収束するシグネチャは以下のようになる。
【００２６】
【数６】
2019502195.tif 000008
【００２７】
異常検出
互いにシステムの動作の解明に役立つ複数の要素で通常構成されるシステムのステータスを特定するために時間的因果グラフを用いることができる。正常期間における履歴イベントシーケンスを用いて因果グラフＷを構築するものとする。実時間テスト段階において、イベントシグネチャｖ（ｔ）は与えられた任意の時間ｔに関してＤ−１次元ベクトルであるものとする。その結果、Ｗにおけるｖ（ｔ）で共起パターン（co-occurrence patterns）が見出せるか否かを調べることでイベントシグネチャｖｔの異常スコアを計算できる。Ｗにおいて全ての共起パターンが見出せる場合、イベントシグネチャｖ（ｔ）は正常であると考えられる。一方、Ｗにおけるｖ（ｔ）で共起パターンがほとんど見出せない場合、ｖ（ｔ）は異常パターンを含んでいると考えられる。以下では、異常スコアを計算するための２つの方法を提案する。
【００２８】
図５は、異なるイベント間の時間的因果関係を要約する典型的な有向グラフを示す図である。各ノードはイベントであり、Ｗｉｊ＞０である場合、重みＷｉｊでｉ番目のノードとｊ番目のノードとの間に辺が存在する。
【００２９】
観測されていない共起パターンによる異常スコア
さらに詳細には、ｖ（ｔ）に関する異常スコアは以下のように計算できる。
【００３０】
【数７】
2019502195.tif 000009
【００３１】
ここで、ｇ（）は、ガウスカーネル関数またはステップ関数等の減衰関数として定義される。直観的には、スコアは、ｖ（ｔ）における観測されていない共起パターンと、グラフＷにおけるパターンに一致するそれらとの間の比を測定したものである。スコアが大きいほど異常なｖ（ｔ）が多い。
【００３２】
グラフ上の経路距離による異常スコア
第２の方法は、Ｗによって定義される有向グラフ上でｖ（ｔ）における非ゼロイベントのペアワイズ距離（pairwise distances）を計算することである。イベントのペア（すなわち１つの共起パターン）がグラフ上で（最短経路距離において）互いに離れている場合、このパターンは高い異常であり、異常なレベルの一因となるはずである。さらに詳細には、以下を定義できる。
【００３３】
【数８】
2019502195.tif 000010
【００３４】
【数９】
2019502195.tif 000011
【００３５】
アラームの閾値
アラームをトリガできるように異常スコアの閾値を定義するには、ｔ＝１、２、…、Ｔに関して履歴シグネチャイベントベクトルｖ（ｔ）’の分布を調べればよい。異常スコアがガウス分布に従うと仮定すると、例えば５％の分位数に対応するスコアの閾値を容易に算出できる。
【００３６】
図６は、異なるイベントの間の時間的因果関係を要約する典型的な有向グラフを示す図である。各ノードはイベントであり、Ｗｉｊ＞０である場合、重みＷｉｊでｉ番目のノードとｊ番目のノードとの間に辺が存在する。
【００３７】
同じ数字が同一または同様の要素を表す図面として、まず図７を詳細に参照すると、図７には、本発明の実施形態による、本発明の原理を適用してもよい典型的な処理システム１００を記載するブロック図が示されている。
【００３８】
処理システム１００は、システムバス１０２を介して他の構成要素と動作可能に接続された、少なくとも１つのプロセッサ（ＣＰＵ）１０４を含む。システムバス１０２には、キャッシュ１０６、リードオンリメモリ（ＲＯＭ）１０８、ランダムアクセスメモリ（ＲＡＭ）１１０、入力／出力（Ｉ／Ｏ）アダプタ１２０、サウンドアダプタ１３０、ネットワークアダプタ１４０、ユーザインターフェースアダプタ１５０及びディスプレイアダプタ１６０が動作可能に接続されている。
【００３９】
第１の記憶デバイス１２２及び第２の記憶デバイス１２４は、Ｉ／Ｏアダプタ１２０によってシステムバス１０２と動作可能に接続されている。記憶デバイス１２２及び１２４は、ディスク記憶デバイス（例えば磁気または光ディスク記憶デバイス）、固体磁気デバイス等のうちのいずれであってもよい。記憶デバイス１２２及び１２４は、同じタイプの記憶デバイスであってもよく、異なるタイプの記憶デバイスであってもよい。
【００４０】
スピーカ１３２は、サウンドアダプタ１３０によってシステムバス１０２と動作可能に接続されている。トランシーバ１４２は、ネットワークアダプタ１４０によってシステムバス１０２と動作可能に接続されている。表示デバイス１６２は、ディスプレイアダプタ１６０によってシステムバス１０２と動作可能に接続されている。
【００４１】
第１のユーザ入力デバイス１５２、第２のユーザ入力デバイス１５４及び第３のユーザ入力デバイス１５６は、ユーザインタフェースアダプタ１５０によってシステムバス１０２と動作可能に接続されている。ユーザ入力デバイス１５２、１５４及び１５６は、キーボード、マウス、キーパッド、イメージキャプチャデバイス、モーション感知デバイス、マイクロホン、あるいはこれらの装置のうちの少なくとも２つのデバイスの機能を組み込んだデバイス等のいずれであってもよい。本発明の原理の趣旨を維持する限りにおいて、他のタイプの入力デバイスを使用することも可能である。ユーザ入力デバイス１５２、１５４及び１５６は、同じタイプのユーザ入力デバイスであってもよく、異なるタイプのユーザ入力デバイスであってもよい。ユーザ入力デバイス１５２、１５４及び１５６は、システム１００に情報を入力し、システム１００から情報を出力するために使用される。
【００４２】
処理システム１００は、当業者であれば容易に思いつくような他の要素（図示せず）を含んでもよく、特定の要素を省略することも可能である。例えば、当業者であれば容易に理解できるが、処理システム１００には、その詳細な実装に応じて他の様々な入力デバイス及び／または出力デバイスを含むことができる。例えば、無線及び／または有線による種々の入力デバイス及び／または出力デバイスを使用できる。さらに、当業者であれば容易に理解できるが、追加のプロセッサ、コントローラ、メモリ等の様々な構成を使用することも可能である。処理システム１００の上記及び他の変形例は、本明細書で提供される本原理の教示によって当業者であれば容易に考えられるであろう。
【００４３】
本明細書に記載された実施形態は、ハードウェアで実現してもよく、ソフトウェアで実現してもよく、ハードウェアとソフトウェアの両方の要素を含んでいてもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアでも実現可能である。
【００４４】
実施形態には、コンピュータもしくは任意の命令実行システムによって使用される、または関連して使用されるプログラムコードを提供する、コンピュータで利用可能な、またはコンピュータで読み取り可能な媒体からアクセスできる、コンピュータプログラム製品を含んでもよい。コンピュータで利用可能な、またはコンピュータで読み取り可能な媒体には、命令実行システム、機器、もしくは装置によって使用される、または関連して使用されるプログラムを記憶、通信、伝搬または転送する任意の機器を含んでもよい。該媒体は、磁気媒体、光学媒体、電子媒体、電磁気媒体、赤外線媒体、または半導体システム（または機器もしくは装置）、あるいは伝搬媒体であってよい。該媒体には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク及び光ディスク等のコンピュータで読み取り可能な媒体を含んでもよい。
【００４５】
プログラムコードを記憶及び／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に接続された少なくとも１つのハードウェアプロセッサを備えていてもよい。メモリ要素には、処理の実行中にバルク記憶装置からコードが検索される回数を減らすために、プログラムコードの実際の実行中に用いられるローカルメモリ、バルク記憶装置及び少なくともいくつかのプログラムコードを一時的に記憶するキャッシュメモリを備えていてもよい。入出力またはＩ／Ｏデバイス（限定されるものではないが、キーボード、ディスプレイ、ポインティングデバイス等を含む）は、直接またはＩ／Ｏコントローラを介してシステムに接続されていてもよい。
【００４６】
図７のシステムは、標準的なインターネットプロトコルスーツ（例えば伝送制御プロトコル（ＴＣＰ）及びインターネットプロトコル（ＩＰ）等）を用いて互いに通信する相互接続されたコンピュータ及びコンピュータネットワークのグローバルシステムであるインターネットに接続できる。物のインターネット（ＩｏＴ）は、コンピュータ及びコンピュータネットワークだけでなく、様々な対象物をＩｏＴ通信ネットワーク（例えばアドホックシステムまたはインターネット）を介して読取り可能、認識可能、位置決定可能、アドレッシング可能及び制御可能にする。本システムは、ＩｏＴの様々なアプリケーションで用いることができる。例えば、スマートグリッド及びエネルギー管理の分野において、公益事業会社は家庭及び企業に対するエネルギーの配送を最適化することができ、顧客はエネルギーの使用をより良好に管理することができる。ホームオートメーション及びビルオートメーションの分野において、スマートホーム及びスマートビルは、様々な機器から電気自動車（ＰＥＶ）セキュリティシステムまで、家庭またはオフィスにおける実質的にいかなるデバイスまたはシステムも集中制御できる。アセットトラッキングの分野において、企業、病院、工場及びその他の大規模組織は、高価な機器、患者、車両等の位置を正確に追跡できる。健康及びウェルネスの分野において、医師は患者の健康状態を遠隔からモニタリング可能であり、人々はフィットネスルーチンの進捗を追跡できる。これらのＩｏＴまたは産業システムに関して、ＩｏＴシステムにおける１つまたは複数の異常の検出は、正常期間におけるローカル構成要素間の機能的関係を記述する時間的因果グラフを構築することと、この因果グラフをプロパゲーションテンプレートとして適用し、現在のシステムイベントシグネチャを繰り返し適用することでシステムステータスを予測することと、正常なシステム動作を特定するテンプレート因果グラフ上で関連するパターンを調べることでシステムの１つまたは複数の異常を検出することとを含む。このシステムは、因果グラフ上でイベントパターンをアラインメントして異常スコアを決定できる。
【００４７】
上記は、あらゆる観点において例示的（illustrative）かつ典型的（exemplary）であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、当業者であれば、本発明の範囲及び主旨から逸脱することなく、様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。
【図１】
2019502195.tif 000016
【図２】
2019502195.tif 000017
【図３】
2019502195.tif 000018
【図４】
2019502195.tif 000019
【図５】
2019502195.tif 000020
【図６】
2019502195.tif 000021
【図７】
2019502195.tif 000022
【国際調査報告】
2019502195.tif 000023
2019502195.tif 000024
2019502195.tif 000025