JP2023534696A - ネットワークトポロジーにおけるアノマリー検知 - Google Patents

ネットワークトポロジーにおけるアノマリー検知 Download PDF

Info

Publication number
JP2023534696A
JP2023534696A JP2023502819A JP2023502819A JP2023534696A JP 2023534696 A JP2023534696 A JP 2023534696A JP 2023502819 A JP2023502819 A JP 2023502819A JP 2023502819 A JP2023502819 A JP 2023502819A JP 2023534696 A JP2023534696 A JP 2023534696A
Authority
JP
Japan
Prior art keywords
network
layer
change
topology
recurrent neural
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.)
Pending
Application number
JP2023502819A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023534696A publication Critical patent/JP2023534696A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Analysis (AREA)

Abstract

ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為のアプローチが開示されている。該アプローチは、埋め込みアルゴリズムを該ネットワークの各リソースに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成することを含む。次に、特徴ベクトルが、変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する各前記変更の為に作成される。従って、リカレントニューラルネットワークは、複数の前記埋め込みベクトル及び複数の前記特徴ベクトルでリカレントニューラルネットワークを訓練して、前記ネットワークの前記トポロジーにおけるアノマリー検知の為のモデルを作成することができる。【選択図】図6

Description

本発明は、一般的にネットワークのトポロジーにおけるアノマリー検知(anomaly detection)に関し、より特には、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する方法に関する。
データの保存、処理及び通信の為に相互接続されたネットワークリソースを含む現代のコンピューティングネットワーク環境はしばしば、時間の経過とともに動的に変化する。このことは、仮想化されたネットワーク環境において特に当てはまる可能性があり、ここで、該仮想化されたネットワーク環境において、分離された仮想化された複数のリソースが単一の物理リソース内に作成され、そして独立して実行されることができる。「ユーザ空間インスタンス」(user-space instances)として知られているそのような仮想化されたリソースの例は、仮想マシン及びコンテナを包含することができる。仮想化されたリソースは、特定の目的の為にネットワーク上に作成され、そして次に、該目的が達成されると削除されることができる。例えば、仮想化されたリソースの1以上のレプリカは、負荷分散の目的で、需要が高いときに動的に作成され、その後、需要が平常に戻る場合に削除されることができる。同様に、仮想化されたリソースの追加されたレプリケーションは、水平スケーリングの目的の為に作成されることができる。従って、仮想化されたネットワーク環境において、例えばドッカーコンテナ(docker containers)又はクバネティス(Kubernetes)を使用して、コンテナ化スタイルのオーケストレーションを実装することは、それらが時間と共にネットワークトポロジーにおける変更を受けるという意味で動的であり、並びにそのような変更は頻繁に発生する可能性がある。
ネットワークにおけるアノマリー検知の為に、ネットワークリソースとそれらの関連づけられたデータ、例えば該ネットワークリソースに関連するデータレコード、を相関させることが望ましい。しかしながら、仮想化されたネットワーク環境におけるアノマリー検知は、ネットワークリソース及びネットワークトポロジーを動的に変更する故に挑戦的である。特に、特定の役割を果たす単一の実リソースが、仮想化された複数のリソースに対応することができ、ここで、各リソースは、異なる識別子又はラベルを有する。従って、特定のサービスを実行する実リソースに関連して検知されるアノマリーは、異なる且つ動的に変化する複数のリソース(例えば、レプリカ)から発生し、それ故に、異なる且つ動的に変化する複数のリソース識別子又はラベルを含むことができる。
サービス管理ツールは典型的に、ネットワーク、IT環境、及びアプリケーションの健全性を監視する為にデプロイされる。これらのツールは典型的に、可用性をポーリングしたり、又は重要業績評価指標(KPIs:Key Performance Indicators)を監視したりして、健全性を監視する。代替的には、機器それ自体がイベントを発行して注意を要することを示してもよく、又は該機器それ自体が情報をログにプッシュして、それにより次に、オペレーターがそれに気付き、そしてアクションを取ることができるようにキーワードの存在を監視されるようにしてもよい。
本発明の観点は、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為の、コンピュータに実装された方法、装置及びコンピュータプログラム製品を開示する。該コンピュータに実装された方法は、1以上のコンピュータプロセッサによって実装されていてもよく、及びKubeNode2Vecメソッドを該ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成すること;変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する各該変更の為に1つの特徴ベクトルを作成すること;及び、複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成することを含みうる。
1つの実施態様において、該装置は、プリプロセッサであって、KubeNode2Vecメソッドを該ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成し;変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する各該変更の為に1つの特徴ベクトルを作成するように構成されている該プリプロセッサと、訓練プロセッサであって、複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成するように構成されている該訓練プロセッサとを備えていてもよい。
他の実施態様において、該コンピュータプログラム製品は、1以上の非一時性のコンピュータ可読記憶媒体と、該1以上の非一時性のコンピュータ可読記憶媒体上に格納されたプログラム命令とを備えていてもよく、該プログラム命令が、KubeNode2Vecメソッドを該ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成するプログラム命令、変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する各該変更の為に1つの特徴ベクトルを作成するプログラム命令、及び複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成するプログラム命令を含む。
ここで、本発明の好ましい実施態様は、添付の図面を参照しながら、例示的にのみ記載されている。
図1は、本発明の例示的な実施態様の観点が実装されうる例示的な分散型システムの図表示である。 図2は、本発明の例示的な実施態様の観点が実装されうる例示的なシステムのブロック図である。 図3は、本発明の実施態様に従う、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為の、提案されたコンピュータ実装方法を示す。 図4は、本発明の実施態様に従う、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練するように構成された装置を示す。 図5は、本発明の実施態様に従う、アノマリー検知の為のモデルを出力する為に使用されるニューラルネットワークの1つの例を示す。 図6は、本発明の実施態様に従うアノマリー検知の為のモデルを作成する為に使用されるニューラルネットワークの流れ図である。
本発明の実施態様は、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為のアプローチを提供することができる。該訓練方法は、KubeNode2Vecメソッドを該ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成すること、変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する各該変更の為に1つの特徴ベクトルを作成すること、並びに、複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成することを含むことができる。
該実施態様は、リカレントニューラルネットワーク(RNN)が、該リソースの埋め込みと該リソースに対する変更とから学習することによって、ネットワークのトポロジカルな変化を学習することを可能にしうる。従って、RNNは、例えばリソースの埋め込みの為にシーケンス学習を使用することによって、時間的なトポロジカル変化を学習することができ、このことにより、変化特性(change properties)における情報を含む特徴ベクトルを補強する。
KubeNode2Vecの埋め込みメソッド(embedding method)は、トポロジーに対する過去の変更を利用して、抽象的な時間的関係を学習し、従って、アノマリーを検知する為にRNNの精度を高めることが可能である。加えて、該メソッドは、トポロジーの経時的な動的な性質の為に、これまで見たことのないリソースに使用されることができる。このことは、Kubernetesにおいて、ポッドのレプリカ若しくは新しいノード又はそれらの組み合わせがクラスタのニーズに依存して作成されうる場合に、オートスケーリング(例えば、クラスタのオートスケーリング又は水平ポッド(horizontal pod)のオートスケーリング)を使用するときに特に有用である。従って、動的環境の該埋め込みは、KubeNode2Vecを使用して記述されるのがよい。
該実施態様は、補助的なデータで補強されたシーケンス学習アプローチであってもよい。このアプローチの利点は、学習された履歴から以前に発生した他の変更に基づいて変更が適切であるかどうかだけでなく、変更の他の重要な特性をまた考慮に入れることによって、動的環境のトポロジーにおける異常な変更を検知することができることである。
幾つかの実施態様において、特徴ベクトルを作成することは、対応する変更特性のワンホットエンコーディング(one-hot encoding)又はワンコールドエンコーディング(one-cold encoding)に基づく。
ワンホットエンコーディング(又は、ワンコールドエンコーディング)は、特定の特徴(変更特性)の全てのデータが、カテゴリのいずれにも高い値を与えること無しに分類されることを可能にする可能性がある。代わりに、ラベルエンコーディングが使用された場合、これは(n個のラベルのうち)ラベルnを持つ最後のカテゴリにより高い番号を与え、従って、機械学習アルゴリズムによって分析された場合に不釣り合いな重要性を与える可能性がある(例えば、n>1、n>n-1等)。
本発明はまた、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練するように構成された装置を提供することができる。該装置は、埋め込みアルゴリズムをネットワークのリソースに適用することに基づいて、該ネットワーク内のリソースの為に埋め込みベクトルを作成するように構成されたプリプロセッサを備えていることができ、並びに、変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する変更の為に1つの特徴ベクトルを作成することができる。該装置はまた、複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成するように構成された訓練プロセッサを備えていることができる。
本発明のこれらの及び他の観点は、本明細書の以下に記載されている1以上の実施態様から明らかとなり且つ該実施態様を参照して解明されるであろう。
本明細書における「1つの実施態様」、「或る実施態様」、「例示的な実施態様」等への言及は、記載された実施態様が特定の特徴、構造又は特性を含むことができるが、全ての実施態様が特定の特徴、構造又は特性を含んでいてもよく又は含んでいなくてもよいことを示す。その上、そのようなフレーズは、必ずしも同じ実施態様を言及するものでない。更に、特定の特徴、構造又は特性が実施態様に関連して記載されている場合、明示的に記載されているかどうかにかかわらず、他の実施態様に関連してそのような特徴、構造又は特性に影響を与えることは当業者の知識の範囲内であることが提示される。
図は単に模式的なものであり、且つ縮尺通りに描かれていないことが理解されるべきである。同一又は類似の部分を示す為に、同じ参照番号が図全体を通じて使用されていることがまた理解されるべきである。
KubeNode2Vecの埋め込みメソッドは、トポロジーに対する過去の変更を利用して、抽象的な時間的関係を学習し、従って、アノマリーを検知する為にRNNの精度を高めることが可能である。加えて、該メソッドは、これまで見たことのないリソース、例えばポッドのレプリカ又はノード、に使用されることができる。このことは、Kubernetesにおいて、ポッドのレプリカ若しくは新しいノード又はそれらの組み合わせが動的に作成されうる場合に、オートスケーリング(例えば、クラスタのオートスケーリング又は水平ポッドのオートスケーリング)を使用するときに特に有用である。
該メソッドはさらに、補助的なデータで補強することができる。このアプローチの利点は、(学習された履歴から)以前に発生した他の変更に基づいて変更が適切であるかどうかだけでなく、変更の他の重要な特性をまた考慮に入れることによって、動的環境のトポロジーにおける異常な変更を検知することができることである。
幾つかの実施態様において、該リカレントニューラルネットワークは、該埋め込みベクトルを受信する為の入力層、該入力層に続くシーケンス学習層、該特徴ベクトルを該シーケンス学習層の出力と連結する為の連結層、1以上の緻密層、及びアノマリー検知の為の該モデルを出力する為の出力層を備えている。
例えば、RNNの該入力層は、該埋め込みベクトルの為の変更シーケンスにおいて、5つのポッドに対応する5つの埋め込みベクトルであってもよい。従って、RNNは、5つの埋め込みベクトルのシーケンスと、該対応する特徴ベクトルとを同時に学習することができる。シーケンス学習層は、埋め込みベクトルの以前のシーケンス(変更シーケンス)のうちの一部のメモリを維持する為に使用されることができる。従って、シーケンス学習層の出力は、処理中の変更と、(5つのうちの)シーケンスにおける前の変更に関する情報を含むことができる。
該シーケンス学習層の出力は、変更特性に対応する特徴ベクトルと連結されることができる。従って、1以上の緻密層は、変更のシーケンスと、処理される変更の変更特性から学習しうる。このことは、RNNが、トポロジー変更及び変更特性に基づいて、該ネットワーク(動的環境)のトポロジーにおける異常な変更を検知するように学習することができることを意味する。
それ故に、RNNは、(過去の埋め込みに基づく)ベクトルの埋め込みから学習し、その後に、変更シーケンスに対応する特徴(例えば、変更の時刻、変更の日等)を学習することができる。従って、RNNは、将来のありうる変更(及び個々の確率)に対応する確率のモデルを出力するように訓練されることができる。次に、アノマリーが、例えばある変更とその変更が生じる確率を観察することによって、検知されることができる。閾値の確率が、アノマリーを検知する為に設定されることができる(例えば、アノマリーは、確率<1%に基づく)。
幾つかの実施態様において、変更特性は、変更が行われた該リソースに対応するエンティティタイプ、変更タイプ、及び変更時間のうちの1以上である。
選択された異なる変更特性に基づいて、RNNは、これらの変更間の異なる抽象関係を学習することができる。該異なる変更特性は、ユーザの好み又は検知されるべきアノマリーに依存して選択されうる。他の例において、CPU使用率におけるアノマリー(例えば、アノマリーは、CPU使用率>80%に基づく)を検知する為に、CPUパーセンテージ使用率が変更特性であってもよい。さらに別の例において、RNNは、或る変更タイプが毎週水曜日に行われることを学習しうる。従って、予想される変更が水曜日において見られる場合、アノマリーが検知される可能性がある。
幾つかの実施態様において、特徴ベクトルを作成することは、対応する変更特性のワンホットエンコーディング又はワンコールドエンコーディングに基づくことができる。ワンホットエンコーディング(又は、ワンコールドエンコーディング)は、特定の特徴(変更特性)の全てのデータが、カテゴリのいずれにも高い値を与えること無しに分類されることを可能にする。
RNNはまた、或る時間帯の間に変更が多いことを学習することができる。従って、特定された繁忙時間帯の間にあまり変更が見られない場合、これはネットワークのトポロジーにアノマリーがあることを知らせうる。例えば、多くのノードが平日にクラスタに参加する場合があるが、週末には参加しない場合がある。アノマリーな数のノードが土曜日の間に参加した場合、これはアノマリーとしてフラグが立てられうる。
幾つかの実施態様において、該シーケンス学習層は、長・短期記憶(LSTM:long short-term memory)、LSTM層、又はゲーテッドリカレントユニット(GRU:gated recurrent unit)層であることができる。LSTMは、データのシーケンスを処理する為にフィードバック接続を使用し、並びに予測を行う為に及びイベントが生じる確率を決定する為に十分に適している。加えて、長いシーケンスが学習される必要がある場合に、LSTMは優れた「記憶」(memory)を提供する。
幾つかの実施態様において、該シーケンス学習層は、ゲーテッドリカレントユニット(GRU)層であることができる。GRUは典型的には、LSTMよりも速く訓練され、並びに、幾つかの状況において、LSTMを上回ることができる。加えて、GRUは、LSTMよりも単純であり、並びにより単純に修正されることができる。
幾つかの実施態様において、該リカレントニューラルネットワークを訓練することが、シーケンス学習に基づくことができる。シーケンス学習、例えばシーケンス間(Seq2Seq:sequence-to-sequence)、は、入力を1つのドメインから別のドメインに変換する為に機械学習アルゴリズムを訓練する為に使用されることができる。従って、機械学習アルゴリズムは、ネットワークトポロジーにおける変更を受信し、そして、該変更を次の変更の予測へと変換するように訓練されることができる。
本発明はまた、ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練するように構成された装置を提供することができる。該装置は、埋め込みアルゴリズムを該ネットワークのリソースに適用することに基づいて、該ネットワーク内のリソースの為に1つの埋め込みベクトルを作成し、そして、変更の1以上の特性に基づいて、該ネットワーク内の1つのリソースに対する変更の為に1つの特徴ベクトルを作成するように構成されたプリプロセッサを備えていることができる。該装置はまた、複数の該埋め込みベクトル及び複数の該特徴ベクトルでリカレントニューラルネットワークを訓練して、該ネットワークの該トポロジーにおけるアノマリー検知の為のモデルを作成するように構成されている訓練プロセッサを備えていることができる。
図1は、例示的な実施態様の観点が実装されうる例示的な分散型システムの図表示である。分散型システム100は、例示的な実施態様の観点が実装されうるコンピュータのネットワークを備えていてもよい。分散型システム100は少なくとも1つのネットワーク102を備えており、該ネットワーク102は、分散型システム100内で一緒に接続された、様々なデバイスとコンピュータとの間に通信リンクを提供する為に使用される媒体である。ネットワーク102は、接続、例えば、有線通信リンク、無線通信リンク、又は光ファイバケーブル、を含みうる。
図示された例において、第1のサーバ104及び第2のサーバ106は、記憶システム108と共にネットワーク102に接続され、該記憶システム108は例えば、複数の記憶ユニットで形成されたRAID記憶アレイを包含しうる。しかしながら、他のストレージシステムがまた想定される。加えて、クライアント110、112及び114がまた、ネットワーク102に接続されている。クライアント110、112及び114は例えば、パーソナルコンピュータ、ネットワークコンピュータ等であってもよい。図示された例において、第1のサーバ104は、データ、例えば、ブートファイル、オペレーティングシステムイメージ及びアプリケーション、をクライアント110、112及び114に提供する。クライアント110、112及び114は、図示された例において、第1のサーバ104に対するクライアントである。分散型システム100は、図示されていない、追加のサーバ、クライアント及び他のデバイスを備えていてもよい。
図示された例において、分散型システム100は、ネットワーク102が、互いに通信する為にプロトコルのTCP/IP(Transmission Control Protocol/Internet Protocol)スイートを使用するネットワーク及びゲートウェイの世界的な集合を表すインターネットである。インターネットの中心には、主要なエンティティ又はホストコンピュータの間の高速データ通信回線のバックボーンがあり、データ及びメッセージをルーティングする何千もの商業系コンピュータシステム、政府系コンピュータシステム、教育系コンピュータシステム及び他のコンピュータシステムで構成されている。もちろん、分散型システム100は、多数の異なるタイプのネットワーク、例えば、イントラネット、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)等、を含むように実装されうる。上述されているように、図1は、本発明の異なる実施態様についてのアーキテクチャ上の限定ではなく、例として意図されており、それ故に、図1に示されている特定の要素は、本発明の例示的な実施態様が実装されうる環境に関して限定的であると考えられるべきでない。
ネットワーク102は、本発明の実施態様に従う1以上の方法を実行するように、例えば記憶システム108内の書き込みデータの保存を制御するように、構成されていてもよい。
図2は、例示的な実施態様の観点が実装されうる例示的なシステム200のブロック図である。システム200は、コンピュータ、例えば図1におけるクライアント110、の一例であり、該コンピュータ中に、本発明の例示的な実施態様の為の処理を実装するコンピュータ使用可能なコード又は命令が配置されうる。例えば、システム200は、1つの実施態様に従うプリプロセッサ及び訓練プロセッサを実装するように構成されうる。
図示された例において、システム200は、ハブアーキテクチャ、例えば、ノースブリッジ及びメモリコントローラーハブ(NB/MCH:north bridge and memory controller hub)202及びサウスブリッジ及び入力/出力(I/O:input/output)コントローラハブ(SB/ICH:south bridge and input/output controller hub)204を包含する上記ハブアーキテクチャを使用する。NB/処理システム206、メインメモリ208、及びグラフィックスプロセッサ210が、NB/MCH202に接続されている。グラフィックスプロセッサ210は、アクセラレイテッドグラフィックスポート(AGP:accelerated graphics port)を介してNB/MCH202に接続されていてもよい。
図示された例において、ローカルエリアネットワーク(LAN:local area network)アダプター212がSB/ICH204に接続する。オーディオアダプター216、キーボード及びマウスアダプター220、モデム222、読み取り専用メモリ(ROM:read only memory)224、ハードディスクドライブ(HDD:hard disk drive)226、CD-ROMドライブ230、ユニバーサルシリアルバス(USB:universal serial bus)ポート及び他の通信ポート232、並びにPCI/PCIeデバイス234は、第1のバス238及び第2のバス240を通じてSB/ICH204に接続する。PCI/PCIeデバイスは例えば、イーサネットアダプター、アドインカード、及びノートブックコンピュータ用のPCカードを包含しうる。PCIはカードバスコントローラを使用し、一方、PCIeは使用しない。ROM224は例えば、フラッシュ基本入出力システム(BIOS:basic input/output system)であってもよい。
HDD226及びCD-ROMドライブ230は、第2のバス240を介してSB/ICH204に接続する。HDD226及びCD-ROMドライブ230は例えば、インテグレーティドドライブエレクトロニクス(IDE:integrated drive electronics)又はシリアルアドバンスドテクノロジーアタッチメント(SATA:serial advanced technology attachment)インタフェースを用いてもよい。スーパーI/O(SIO:Super I/O)デバイス236が、SB/ICH204に接続されていてもよい。
オペレーティングシステムが、処理システム206上で動作する。該オペレーティングシステムは、図2におけるシステム200内の様々なコンポーネントを調整すること及び該コンポーネントの制御を提供する。クライアントとして、該オペレーティングシステムは、市販のオペレーティングシステムであってもよい。オブジェクト指向プログラミングシステム、例えばJava(商標)プログラミングシステム、は、該オペレーティングシステムと連動して動作し、並びにシステム200上で実行されるJava(商標)プログラム又はアプリケーションからオペレーティングシステムへの呼び出しを提供しうる。
サーバとして、システム200は、例えば、Advanced Interactive Executive(AIX(登録商標))オペレーティングシステム又はLINUX(登録商標)オペレーティングシステムを実行するIBM(登録商標) eServer(商標)System p(登録商標)コンピュータシステムであってもよい。システム200は、処理システム206における複数のプロセッサを含む対称型マルチプロセッサ(SMP:symmetric multiprocessor)システムであってもよい。代替的には、シングルプロセッサシステムが用いられていてもよい。
オペレーティングシステム、プログラミングシステム、及びアプリケーション又はプログラムの為の命令は、記憶装置、例えばHDD226、上に配置され、並びに処理システム206による実行の為にメインメモリ208内へとロードされうる。同様に、1つの実施態様に従う1以上のメッセージ処理プログラムは、記憶装置若しくはメインメモリ208又はそれらの組み合わせによって記憶されるように適合されうる。
本発明の例示的な実施態様の為の処理は、コンピュータ使用可能なプログラムコードを用いて処理システム206によって実行されてもよく、該コンピュータ使用可能なプログラムコードは、メモリ内に、例えばメインメモリ208及びROM224内に、又は1以上の周辺装置HDD226及びCD-ROMドライブ230内に配置されていてもよい。
バスシステム、例えば図2に示されているような第1のバス238又は第2のバス240、は、1以上のバスを備えていてもよい。もちろん、該バスシステムは、何らかのタイプの通信ファブリック又はアーキテクチャに取り付けられた異なる複数のコンポーネントの間又は異なる複数のデバイスの間のデータの転送を提供する該通信ファブリック又は該アーキテクチャを使用して実装されていてもよい。通信ユニット、例えば図2のモデム222又はネットワークアダプター212、は、データを送信し及び受信する為に使用される1以上のデバイスを含んでいてもよい。メモリは、例えば、メインメモリ208、ROM224、又はキャッシュ、例えば図2におけるNB/MCH202、であってもよい。
当業者は、図1及び図2におけるハードウェアが実装に依存して変更しうることを理解するであろう。他の内部ハードウェア又は周辺デバイス、例えば、フラッシュメモリ、同等の不揮発性メモリ、又は光ディスクドライブ、は、図1及び図2に描かれているハードウェアに加えて又は該ハードウェアの代わりに使用されてもよい。また、例示的な実施態様の処理は、本発明の範囲を逸脱すること無しに、前述されたシステム以外のマルチプロセッサのデータ処理システムに適用されてもよい。
その上、システム200は、多数の異なるデータ処理システム、例えばクライアントコンピューティング装置、サーバコンピューティング装置、タブレットコンピュータ、ラップトップコンピュータ、電話又は他の通信装置、パーソナルデジタルアシスタント(PDA)等を包含する上記の多数の異なるデータ処理システム、のいずれかの態様をとってもよい。幾つかの例示的な例において、システム200は、例えば、オペレーティングシステムファイル若しくはユーザ作成データ又はそれらの組み合わせを格納する為の不揮発性メモリを提供する為にフラッシュメモリで構成されたポータブルコンピューティングデバイスであってもよい。従って、システム200は、本質的に、アーキテクチャの制限無しに、何らかの既知の又は後に開発されるデータ処理システムであってもよい。
図3は、ネットワーク302のトポロジーにおけるアノマリー検知の為のモデル309を作成する為にリカレントニューラルネットワーク308を訓練する為の、コンピュータに実装された提案された方法を示す。リカレントニューラルネットワーク308は、入力層310、シーケンス学習層311(例えば、LSTMセル、GRUセル又は他の何らかのシーケンス学習方法等)、特徴ベクトルをシーケンス学習層311の出力と連結する為の連結層312、1以上の緻密層313、及びアノマリー検知の為のモデル309を出力することができる出力層314を備えうる。リカレントニューラルネットワーク308を訓練することは、シーケンス学習を通じて行われることができる。
該方法は、ネットワーク302におけるリソースの為の1つの埋め込みベクトル304を作成することに基づく。埋め込みベクトル304は、KubeNode2Vecメソッド303をネットワーク302のリソースに適用することによって作成されることができる。ネットワーク302のリソースは、コンピューティングパワー/ストレージ若しくはネットワークの使用に関連する他の任意のコンピューティングサービス又はそれらの組み合わせを提供する独立したサービスであることができる。例えば、リソースは、ネットワーク302内のノードでありうる。
特徴ベクトル306がまた、ネットワーク302から作成される。特徴ベクトル306は、ネットワーク302のトポロジーに生じる変更の特性に基づく。該変更の特性は例えば、(該変更が行われたリソースに対応する)エンティティタイプ、変更タイプ、又は変更時間(曜日、変更の時刻等)であってもよい。特徴ベクトル306を作成することは、ワンホットエンコーディング305(又は、ワンコールドエンコーディング)によって行われることができる。
従って、リカレントニューラルネットワーク308は、複数の埋め込みベクトル304と複数の特徴ベクトル306で訓練されて、ネットワーク302のトポロジーにおけるアノマリー検知の為のモデルを作成することができる。
図4は、ネットワーク302のトポロジーにおけるアノマリー検知の為のモデル309を作成する為にリカレントニューラルネットワーク308を訓練するように構成された装置を示す。該装置は、プリプロセッサ402と訓練プロセッサ404とを備えている。図4は、新しいリソース406がネットワーク302に追加されることによるネットワーク302のトポロジーに対する変更を示す。このことは例えば、現在のリソースのレプリケーションによるものでありうる。
ネットワーク302のトポロジーに対する変更(例えば、レプリカポッドの作成)は、プリプロセッサ402に対して入力されることができる。プリプロセッサ402は、KubeNode2Vecメソッドをネットワーク302内のリソースに適用することに基づいて、ネットワーク302内のリソース(例えば、ポッド/ノード/コンテナ)の為に埋め込みベクトル304を作成することができる。
プリプロセッサ402はまた、変更の1以上の特性に基づいて、ネットワーク302内のリソースに対する変更の為に、1つの特徴ベクトル306を作成することができる。該変更の特性は例えば、(該変更が行われた該リソースに対応する)エンティティタイプ、変更タイプ、又は変更時間(曜日、変更の時刻等)であってもよい。特徴ベクトル306を作成することは、ワンホットエンコーディング又はワンコールドエンドコーディングによって行われることができる。
訓練プロセッサ404は、複数の埋め込みベクトル304及び複数の特徴ベクトル306を用いてリカレントニューラルネットワークを訓練して、ネットワーク302のトポロジーにおけるアノマリー検知の為にモデル309を作成するように構成することができる。該リカレントニューラルネットワークは、埋め込みベクトル304のシーケンスを受信する為の入力層、該入力層に続くシーケンス学習層(例えば、LSTMセル、GRUセル又は他の何らかのシーケンス学習方法等)、特徴ベクトル306を該シーケンス学習層の出力と連結する為の連結層、1以上の緻密層及びアノマリー検知の為のモデル309を出力する為の出力層を備えていてもよい。
埋め込みベクトル:
引き続き、本発明の実施態様は、Kubernetesシステムに基づいて詳述されるであろう。しかしながら、該実施態様は、Kubernetesシステムに限定されず、他のネットワークアーキテクチャにおいて使用されることができることに留意されたい。
ネットワークのトポロジーの経時的な履歴が与えられると、リソースの埋め込みが該トポロジー内に学習されることができる。このことは、KubeNode2Vecメソッド(トポロジーに対する過去の変更を利用して、抽象的な時間的関係を学習するメソッド)を介して行われることができる。このアプローチを選択する理由は、該トポロジーの経時的な動的性質に対応する為である。
KubeNode2Vecメソッドは、ネットワークトポロジー情報、例えば該ネットワークのトポロジーの履歴スナップショットを包含する上記のネットワークトポロジー情報、を受信することができる。該履歴スナップショットは、該ネットワークトポロジーの最新のスナップショット、及びネットワークトポロジーの1以上の以前の履歴スナップショットを包含することができる。特に、スナップショットは、特定の時点での該ネットワークのリソース及び接続の配置についてのネットワークトポロジー情報を包含することができる。該ネットワークトポロジー情報は、ネットワークトポロジー発見機構等から受信したスナップショットデータを有するデータストレージから取得されることができる。任意の適切なネットワークトポロジー発見機構が、例えば履歴スナップショットを包含する上記のネットワークトポロジー情報、を捕捉し且つ維持する為に使用されることができる。当業者は理解するであろう通り、動的ネットワークのトポロジーは、リソースが該ネットワークに動的に追加され、そしてネットワークから取り除かれるにつれて、時間の経過とともに変更される。従って、単一のスナップショット、例えば最新のスナップショット、の為に得られた生のネットワークトポロジー情報は、該ネットワークに関連する深層学習の為の適切な情報を含むことができない。本開示に従って、例えば複数のスナップショットを包含する上記の履歴ネットワークトポロジー情報、が、深層学習の為に使用される。特に、履歴スナップショットにおけるネットワークトポロジー情報は例えば、時間の経過とともに最小限の変更をすることができるネットワークの安定した部分と、逆に、時間の経過とともに頻繁に変更することができるネットワークの部分とを識別する為に使用されることができる。従って、履歴スナップショットの使用は、動的ネットワークの特徴及び挙動に関する向上された学習を容易にする為のより豊富なトポロジー情報を提供する。
KubeNode2Vecメソッドは、該ネットワークトポロジーの各スナップショットにおいて、同じ役割を果たし並びに非スケールノードの同じセットに接続されているところの2以上のスケールノードを識別することができる。特に、KubeNode2Vecメソッドは、ネットワークトポロジーの各履歴スナップショットにおけるノードを、該ネットワークトポロジーの同じスナップショットにおける他のノードと比較することができる。KubeNode2Vecメソッドは、上述されている通り、各リソース又は各ノードに関連付けられたトポロジメタデータのデータパラメータから、該ネットワークトポロジー内のスケールノードを識別することができる。加えて、該トポロジメタデータから、識別された各スケールノードの役割、例えば機能又は目的、及び非スケールノードへのその接続を識別することができる。該ネットワークトポロジーにおいて同じ役割と非スケールノードへの同じ1以上の接続の両方を有するスケールノードは、該ネットワークにおいて全く同じ役割、すなわち「機能」、を実行している、例えば、負荷分散等を目的としたレプリカとして実行している、と理解されることができる。従って、KubeNode2Vecは、トポロジー情報から、同じ役割を果たし並びに同じ非スケールノードに接続されているところの2以上のスケールノードのグループを識別することができる。ネットワークトポロジーの任意の単一のスナップショットにおいて、異なる役割又はサービスに関連付けられたスケールノードの複数のグループが識別されることができることが理解されることができる。
KubeNode2Vecメソッドは、同じ役割を有し並びに非スケールノードの同じセットに接続されているスケールノードのグループ内のスケールノードを、新しく作成された単一の集約ノードに置き換えることによって、各ネットワークトポロジースナップショットを修正することができる。該単一アグリゲーションノードは、新しいノード識別子を有することができる。従って、KubeNode2Vecは、各スナップショットを修正して、修正されたネットワークトポロジーを表す修正されたトポロジー情報を導出することができる。該スケールノードを単一の集約されたノード(aggregated node)に置き換えるプロセスは、本明細書において、「スケールノードのコラプシング」(collapsing scale nodes)と呼ばれ、単一の「集約されたノード」は、本明細書において、「合成ノード」(synthetic node)と呼ばれる。例示的な実装において、KubeNode2Vecは、スケールノードの識別されたグループに属するノードを、単一の集約されたノードに置き換えることができる。従って、スケールノードのグループは、同じノード識別子、すなわち、該集約されたノード/合成されたノードの為の新しい識別子、に関連付けられる。加えて、KubeNode2Vecは、スケールノードのグループ内のスケールノードから始まるエッジの1セットを単一の「集約されたエッジ」に置き換えることができ、このことは、エッジの一緒にされた1セットの重みの平均に基づいて重み付けされるか、又はエッジ重みを一緒にする為の別の適切な技術を使用することができる。従って、該ネットワーク内で同じ役割又はサービスを実行する「スケールノード」を識別し、そして、それらを一緒にされたノード又は集約されたノードに折り畳むことによって、KubeNode2Vecは、過去のスナップショットのネットワークトポロジー情報を修正し、従って、KubeNode2Vecは、それらの特徴表現を決定する目的の為に単一のリソースとして扱われる。例示的な実装において、KubeNode2Vecは、集約されたノードによって表されるスケールノードの元のノード識別子を、対応する集約されたノード識別子と関連付けることができる。例えば、KubeNode2Vecは、元のノード識別子を集約されたノード識別子にマッピングする為の対応するマッピング情報を格納することができる。
KubeNode2Vecメソッドは、該ネットワークのトポロジーが時間とともに頻繁に変更するところの動的ネットワーク、例えば仮想化されたネットワーク環境、において、ノード、すなわちネットワークリソース、から改善された特徴表現を導出できることが理解されることができる。特に、同じ役割を果たし並びに非スケールノードの同じセットに接続されているところのスケールノードに対して共通の特徴表現を導出することによって、該特徴表現が、該ネットワークトポロジーにおけるリソース、及び関連付けられたデータを関連付け且つ相関させる為に、より容易に使用されることができる。
以下は、説明の為に、KubeNode2Vecメソッドを実行する為にNode2Vecアルゴリズムを適応させた疑似コードである。
前提条件:最も古い時間から最新の時間まで、利用可能なネットワークトポロジー情報を反復し、時間の経過とともに全ての履歴スナップショットHを収集して、トポロジーに対する変更を捕捉する。定期的に、又は或る変更が起こるたびに、該トポロジーのスナップショットHが捕捉され、そのネットワークトポロジースナップショットのグラフが、例えば関連付けられたタイムスタンプとともにコレクションに追加される。
CollapseScaleNodes(グラフG=(V,E,W))
同じ役割を有し並びに「非スケールノード」nsの同じセットを有するV内の「スケールノード」の集合sについて
sを単一の合成ノードで置換する
Eのうち、集合s内のノードから集合nsへの複数の辺を、新しい1つの辺で置換する。該新しい1つの辺の重みは、該新しい1つの辺へと折り畳まれた元の複数の辺の平均である。
Gへ戻る
特徴の学習(トポロジーの全履歴スナップショットH,次元d,ノードr当たりのウォーク(Walk)数,ウォーク(Walk)長l,コンテクストサイズk,リターンp,インアウトq)

グラフG=トポロジーの履歴スナップショットHの該1集合内の(V,E,W)について
Gc=CollapseScaleNodes(G)
π=PreprocessModifiedWeights(Gc,p,q)
G’=(V,E,π)
walkをエンプティに初期化する
繰り返しについて=1からr行う
ノードuについて∈V行う
walk=node2vecWalk(G’,u,l)
walkをwalksに追加する
F=StochasticGradientDescent(k,d,walks)
fへ戻る
node2vecWalk(Graph G’=(V,E,π),ノードu開始,長さl)
walkを[u]に初期化する
walk_繰り返しについて=1からl行う
curr=walk[-1]
Vcurr=GetNeighbors(curr,G’)
s=AliasSample(Vcurr,π)
sをwalkに追加する
walkへ戻る
/*特徴学習時と同じサンプリング戦略を用いて、ウォーク(walk)中のノードの近傍を表す特徴ベクトルを取得する*/
generateNodeNeighborSignatures(特徴f,グラフG’=(V,E,π))
ベクトルからノードへの空のマップmを初期化する
G’中のノードvについて
nb=GetNeighbors(v,G’)
sig=学習後のnb中の近傍ノードの特徴ベクトルの平均値(上記されたLearnFeaturesの呼び出しの結果であるfから入手可能)
(sig,v)をマップmへ追加する
マップmへ戻る
(疑似コード原文)
変更シーケンスデータセット:
変更シーケンスデータセットが、ネットワークのトポロジーに対する過去の全ての変更を反復し、そして、それらをシーケンスにおいて、例えば下記の通りに記録することで構築される。
各変更に対して所定のサイズ、例えば5、のスライディングウィンドウが、変更シーケンスを収集する為に使用される。例えば、該表から収集された幾つかのシーケンスは以下の通りである。
ポッドのベクトル表現(各ポッドの埋め込みベクトル)がそれらのIDの代わりに使用されることができるように複数の変更シーケンスが変換されることができる。この変換の後、変更シーケンスのリストが得られることができ、ここで、複数の変更シーケンスは複数の埋め込みベクトルの1つのシーケンスである。
特徴データセット
変更記録については、追加的な特性、例えば、エンティティタイプ、変更タイプ、及び時間的詳細、を含む特徴ベクトルが構築されることができる。エンティティタイプはカテゴリカルな性質のものであり、従って、ワンホットエンコーディング(又は、ワンコールドエンコーディング)が、該特徴ベクトルを作成する為に使用されることができる。変更タイプがまた、カテゴリカルな性質ものであり、従って、ワンホットエンコーディングの使用が可能である。時間的な詳細については、時刻と曜日とを2つの別々のフィールドとして扱われることができる。同様に、ワンホットエンコーディングが、それに応じて特徴ベクトルを作成する為に使用されることができる。曜日の為にワンホットエンコーディングを使用する例が、下記の表に見られることができる。
3つの観点(時間帯、曜日、変更タイプ)についてのワンホットベクトルを構築した後、それらは一緒にされて1つの特徴ベクトルへと付加されることができる。該特徴(変更特性)は、言及されている3つの特徴に限定されず、他のメタデータ/特性、例えば、地理的位置、CPUパーセンテージ使用率、RAMパーセンテージ使用率、CPU温度等、を含みうることに留意されるべきである。例えば、CPU使用率は、「高」、「中」又は「低」の使用率に分類され、「高」=001、「中」=010又は「低」=100としてワンホットエンコーディングされることが可能である。該CPUの「高」使用率は、75%超、80%超、85%超、又は当業者が導き出すことができる他の任意のパーセンテージでありうる。同様に、50%未満、45%未満、40%未満のCPU使用率は、「低」CPU使用率でありうる。代替的には、CPU使用率は、1%、5%、10%、20%等のステップにおいて、0%~100%のスケールで分類されることができる。
ニューラルネットワークの訓練:
図5は、アノマリー検知の為のモデル309を出力する為に使用されるニューラルネットワークの一例を示す。変更シーケンス内の複数のリソース502(例えば、ポッド、ノード、コンテナ等)及び、該複数のリソースの対応する、追加の特性を表す複数の特徴ベクトル306は、リカレントニューラルネットワークを訓練する為に使用されることができる。
該例において、該ニューラルネットワークは、長・短期記憶(LSTM:Long Short-Term Memory)セル504を有するリカレントニューラルネットワークである。固定されたサイズの変更シーケンス内のリソース502は、ニューラルネットワークへと供給されることができる。リソース502の埋め込みベクトル304は、KubeNode2Vecアルゴリズムを介して得られることができる。この埋め込みベクトル304は、LSTMセル504へと供給されることができる。リカレントニューラルネットワークにおいて典型的であるように、その時間工程における通常の入力に加えて、前の工程のLSTMセル504の出力が次のものに供給されることに留意されたい。
時間工程において、LSTMセル504の出力は、対応する特徴ベクトル306と連結される。LSTMの出力を特徴ベクトル306で補強することによって、ネットワークは、訓練データ中に存在するエンティティタイプ、変更タイプ、及び時間的/季節的パターンに関連するあらゆるパターンを学習することができる。代替的には、GRUセルが、LSTMの代わりに使用されてもよい。
連結入力ベクトル506は、1以上の緻密層508へと供給されることができる。最終出力層はロジット(logits)510を含むことができ、該ロジット510は、次の変更を予測する為に、モデル309を作成する為に使用されることができる多項分布である。
図6は、アノマリー検知の為のモデル309を作成する為に使用されるニューラルネットワークのフロー図を示す。データセット602からの変更シーケンスにおけるリソース502は、前述されているように、埋め込みベクトル304内に埋め込まれ並びにLSTMセル504へと供給されることが可能である。特徴ベクトル306と、LSTMセル504の出力が連結されることができ、ここで、該特徴ベクトル306はワンホットエンコードされている。次に、該連結入力ベクトル506は、緻密層508へと供給されることができ、該緻密層508は、(多項分布-ロジット510に基づく)アノマリー検知の為のモデル309を出力する。
アノマリー検知の為にモデルを使用:
該リカレントニューラルネットワークが一旦訓練されると、該ニューラルネットワークによって出力されるモデル309が、ネットワークトポロジーに対するアノマリーな変更を検知する為に、使用されることができる。
モデル309は、次の変更の予測を表す多項式分布を生成しうる。この分布は、観察された変更の尤度を計算する為に使用されることができ、並びに、該変更が閾値以下である場合、該変更はアノマリーとしてフラグを立てられることができる。
1つの例において、デプロイメントにおいてKubernetesの水平ポッドオートスケーリングを使用するKubernetesクラスタがある。ネットワーク要件及びルール、例えばこれに限定されるものではないがCPU使用率に依存して、常に多数のPodのレプリカが存在する可能性がある(例えば、ノードのCPU使用率が75%に達した場合に、第2ノードにおいてPodのレプリカを作成する)。
典型的に、埋め込みメソッド、例えばNode2Vec、は、複数の該レプリカ間を区別することができる。しかしながら、本発明の方法の実施態様を使用すると、KubeNode2Vecは、第2のノードがこれまで見たことがなくても(例えば、Kubernetes上のクラスタオートスケーラを使用)、異なるノード上のポッドが(第1のポッドの)レプリカであると判断することができる。
それ故に、ポッドについての埋め込みベクトルを作成する際に、KubeNode2Vecメソッドは、それらが同一であると判断することができ、従って、(複数のレプリカを有する)該ポッドについての埋め込み観測値が得られることができる。このことは、ポッドの挙動に関するより多くの情報が埋め込みベクトル304中に格納することを可能にする。
従って、該ニューラルネットワークは、複数の埋め込みベクトル304及び複数の変更(例えば、レプリカが生成される、ポッドがスピンアウトされる等)についての特徴ベクトル306を用いて訓練されることができる。ニューラルネットワークによって出力されるモデル309はまた、モデル309が使用しているノードにかかわらず、例えば、ポッドレプリカの生成を予測することができる。
他の例において、リカレントニューラルネットワークが、ポッド内のコンテナの変更シーケンスを学習する為に訓練されることができる。ポッドの一般的な大きさ故に、該コンテナについての訓練材料は非常に少なく、該リカレントニューラルネットワークを訓練する為の時間はより短くなる。
単一のポッドのコンテナにおける変更が、該リカレントニューラルネットワークを訓練する為に入力されることができ、そして次の変更の予測を提供することができる。例えば、或るコンテナが、1日のうちの或る時間帯により多く使用されうる。従って、該リカレントニューラルネットワークは、通常の状況下で該ポッドがどのように機能するかを学習し、そして、アノマリーな挙動の検知を支援することができる。
代替的に、1つのクラスタの複数のノード(ハードウェアコンピューティングマシン若しくは仮想マシン又はそれらの組み合わせ)におけるアノマリーを検知することが望ましい場合もある。この場合、該リカレントニューラルネットワークは、該複数のノードについての変更シーケンスを学習するように訓練されることができる。従って、モデル309の出力は、該複数のノードについての複数の変更の予測を表す分布であり得、それ故に、該ノードについてのアノマリー(又は、アノマリーの連鎖)が検知されることができ、ハードウェア問題である可能性がある。
しかしながら、本発明の実施態様の使用は、Kubernetesシステムにおけるポッド、コンテナ又はノードに限定されない。本発明の実施態様はまた、ノードのネットワーク、仮想マシンのネットワーク、コンテナベースのアーキテクチャ等においても使用されることができるが、これらに限定されるものでない。
1つの例において、本発明は、重要業績評価指標(KPI)を作成することの文脈において使用されることができる。アノマリーなトポロジーの変更は、或る期間に見て、変更の数が、例えば0の閾値を超えるかどうかを判断することによって、KPIとして使用されうる。かなり静的な環境におけるトポロジー変更は、問題を示している場合がある。システムに関する複数のメトリクスが、アノマリーなトポロジー変更がエラー若しくはレイテンシー又はそれらの組み合わせの増加を引き起こしていること、或いはアノマリーなトポロジー変更がトポロジーメンバーのメトリクス又は基礎となるネットワークメトリクスの為に望ましくない挙動を一般的に引き起こしていることを判断する為に使用されうる。
本出願の文脈において、本発明の実施態様が方法を構成する場合、そのような方法は、コンピュータによる実行の為のプロセスであり、すなわち、コンピュータに実装可能な方法であると理解されるべきである。従って、該方法の様々な工程が、コンピュータプログラムの様々な部分、例えば、1以上のアルゴリズムの様々な部分、を反映している。
本発明は、システム、方法若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。該コンピュータプログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読記憶媒体を包含しうる。
該コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、ストレージクラスメモリ(SCM:storage class memory)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えばパンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、個々のコンピューティングデバイス/処理デバイス内にコンピュータ可読記憶媒体中に記憶する為に転送する。
本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、例えば、Smalltalk、C++等、慣用的な手続き型プログラミング言語(例えば、「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモート・コンピュータ上で部分的に、又はリモート・コンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモート・コンピュータは、任意の種類のネットワーク、例えばローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate arrays)又はプログラマブルロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
これらのコンピュータ可読プログラム命令は、該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定された機能/動作を実装する為の手段を作成するように、コンピュータのプロセッサ又は他のプログラム可能なデータ処理装置に提供されて、マシンを作り出しうる。記憶された命令を有するコンピュータ可読記憶媒体が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定される機能/動作の観点を実装する命令を含む製造品を含むように、これらのコンピュータ可読プログラム命令はまた、コンピュータプログラム可能なデータ処理装置若しくは他のデバイス又はこれらの組み合わせに特定の様式で機能するように指示することができるコンピュータ可読記憶媒体中に記憶されうる。
該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート図若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の操作工程を実行させて、コンピュータに実装されたプロセスを生成しうる。
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムのありうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
本開示の様々な実施態様の記載は、例示の目的の為に提示されたものであり、網羅的であること又は開示された実施態様に限定されることが意図されたものでない。多くの修正及び変形が、記載された実施態様の範囲及び精神から逸脱することなしに当業者に明らかであろう。本明細書において使用される語は、実施態様の原理、実用的な用途、又は市場において見られる技術に対する技術的改善を最もよく説明する為に、又は当業者が本明細書において開示されている実施態様を理解することができるようにする為に選択された。

Claims (20)

  1. ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為の、コンピュータに実装された方法であって、
    KubeNode2Vecメソッドを前記ネットワークに適用することに基づいて、該ネットワーク内のリソースの為に埋め込みベクトルを作成すること、
    変更の1以上の特性に基づいて、該リソースに対する変更の為に1以上の特徴ベクトルを作成すること、及び
    複数の前記埋め込みベクトル及び複数の前記特徴ベクトルでリカレントニューラルネットワークを訓練して、前記ネットワークの前記トポロジーにおけるアノマリー検知の為のモデルを作成すること
    を含む、前記方法。
  2. 前記リカレントニューラルネットワークが、
    前記埋め込みベクトルを受信する為の入力層、
    前記入力層に続くシーケンス学習層、
    前記特徴ベクトルを前記シーケンス学習層の出力と連結する為の連結層、
    1以上の緻密層、及び
    アノマリー検知の為の前記モデルを出力する為の出力層
    を備えている、請求項1に記載の方法。
  3. 前記変更の特性が、
    前記変更が行われた前記リソースに対応するエンティティタイプ、
    変更タイプ、及び
    変更時間
    のうちの1以上である、請求項1又は2に記載の方法。
  4. 特徴ベクトルを作成することが、前記対応する変更特性のワンホットエンコーディング又はワンコールドエンコーディングに基づく、請求項1~3のいずれか1項に記載の方法。
  5. 前記シーケンス学習層が、長・短期記憶層、すなわちLSTM層、である、請求項2に記載の方法。
  6. 前記シーケンス学習層が、ゲーテッドリカレントユニット層、すなわちGRU層、である、請求項2に記載の方法。
  7. 前記リカレントニューラルネットワークを訓練することが、シーケンス学習に基づく、請求項1~6のいずれか1項に記載の方法。
  8. ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練するように構成された装置であって、
    プリプロセッサであって、
    KubeNode2Vecメソッドを前記ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成し、
    変更の1以上の特性に基づいて、前記ネットワーク内の1つのリソースに対する各前記変更の為に1つの特徴ベクトルを作成する
    ように構成されている前記プリプロセッサと、
    訓練プロセッサであって、
    複数の前記埋め込みベクトル及び複数の前記特徴ベクトルでリカレントニューラルネットワークを訓練して、前記ネットワークの前記トポロジーにおけるアノマリー検知の為のモデルを作成するように構成されている前記訓練プロセッサと
    を備えている、前記装置。
  9. 前記リカレントニューラルネットワークが、
    前記埋め込みベクトルを受信するように構成されている入力層、
    前記入力層に続くシーケンス学習層、
    前記特徴ベクトルを前記シーケンス学習層の出力と連結するように構成されている連結層、
    1以上の緻密層、及び
    アノマリー検知の為の前記モデルを出力する為の出力層
    を備えている、請求項8に記載の装置。
  10. 前記変更の特性が、
    前記変更が行われた前記リソースに対応するエンティティタイプ、
    変更タイプ、及び
    変更時間
    のうちの1以上である、請求項8又は9に記載の装置。
  11. 特徴ベクトルを作成することが、前記対応する変更特性のワンホットエンコーディング又はワンコールドエンコーディングに基づく、請求項8~10のいずれか1項に記載の装置。
  12. 前記シーケンス学習層が、長・短期記憶層、すなわちLSTM層、である、請求項9に記載の装置。
  13. 前記シーケンス学習層が、ゲーテッドリカレントユニット層、すなわちGRU層、である、請求項9に記載の装置。
  14. 前記リカレントニューラルネットワークを訓練することが、シーケンス学習に基づく、請求項8~13のいずれか1項に記載の装置。
  15. ネットワークのトポロジーにおけるアノマリー検知の為のモデルを作成する為にリカレントニューラルネットワークを訓練する為の、コンピューティングデバイスにおいて実行可能なソフトウェアコード部分を含むコンピュータ可読媒体を備えているコンピュータプログラム製品であって、
    前記コンピュータプログラム製品は、1以上の非一時性のコンピュータ可読記憶媒体と、前記1以上の非一時性のコンピュータ可読記憶媒体上に格納されたプログラム命令とを備えており、
    前記プログラム命令が、
    KubeNode2Vecメソッドを前記ネットワークに適用することに基づいて、該ネットワーク内の各リソースの為に1つの埋め込みベクトルを作成するプログラム命令、
    変更の1以上の特性に基づいて、前記ネットワーク内の1つのリソースに対する各前記変更の為に1つの特徴ベクトルを作成するプログラム命令、及び
    複数の前記埋め込みベクトル及び複数の前記特徴ベクトルでリカレントニューラルネットワークを訓練して、前記ネットワークの前記トポロジーにおけるアノマリー検知の為のモデルを作成するプログラム命令
    を含む、前記コンピュータプログラム製品。
  16. 前記リカレントニューラルネットワークが、
    前記埋め込みベクトルを受信する為の入力層、
    前記入力層に続くシーケンス学習層、
    前記特徴ベクトルを前記シーケンス学習層の出力と連結する為の連結層、
    1以上の緻密層、及び
    アノマリー検知の為の前記モデルを出力する為の出力層
    を備えている、請求項15に記載のコンピュータプログラム製品。
  17. 前記変更の特性が、
    前記変更が行われた前記リソースに対応するエンティティタイプ、
    変更タイプ、及び
    変更時間
    のうちの1以上である、請求項15に記載のコンピュータプログラム製品。
  18. 特徴ベクトルを作成する為の前記プログラム命令が、前記対応する変更特性のワンホットエンコーディング又はワンコールドエンコーディングに基づく、請求項15に記載のコンピュータプログラム製品。
  19. 前記シーケンス学習層が、長・短期記憶層、すなわちLSTM層、である、請求項16に記載のコンピュータプログラム製品。
  20. 前記シーケンス学習層が、ゲーテッドリカレントユニット層、すなわちGRU層、である、請求項16に記載のコンピュータプログラム製品。
JP2023502819A 2020-07-14 2021-06-29 ネットワークトポロジーにおけるアノマリー検知 Pending JP2023534696A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/928,474 2020-07-14
US16/928,474 US20220019887A1 (en) 2020-07-14 2020-07-14 Anomaly detection in network topology
PCT/IB2021/055808 WO2022013662A1 (en) 2020-07-14 2021-06-29 Anomaly detection in network topology

Publications (1)

Publication Number Publication Date
JP2023534696A true JP2023534696A (ja) 2023-08-10

Family

ID=79292643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023502819A Pending JP2023534696A (ja) 2020-07-14 2021-06-29 ネットワークトポロジーにおけるアノマリー検知

Country Status (8)

Country Link
US (1) US20220019887A1 (ja)
JP (1) JP2023534696A (ja)
KR (1) KR20230031889A (ja)
CN (1) CN116210211A (ja)
AU (1) AU2021309929B2 (ja)
DE (1) DE112021003747T5 (ja)
GB (1) GB2611988A (ja)
WO (1) WO2022013662A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483330B1 (en) * 2021-09-18 2022-10-25 University Of Tabuk Systems and methods for detecting cyberattacks targeting internet of things environments
CN115114488B (zh) * 2022-07-15 2024-03-26 中国西安卫星测控中心 基于角色发现的动态信息网络异常演化节点检测方法
CN116561688B (zh) * 2023-05-09 2024-03-22 浙江大学 基于动态图异常检测的新兴技术识别方法
KR102606713B1 (ko) * 2023-07-13 2023-11-30 주식회사 이글루코퍼레이션 쿠버네티스 클러스터의 모니터링을 위한 통합 보안관제 시스템, 장치, 방법 및 프로그램
CN117879907A (zh) * 2023-12-26 2024-04-12 中国人民解放军61660部队 一种基于图卷积行为特征提取的网络环境异常检测方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603293A (zh) * 2016-12-20 2017-04-26 南京邮电大学 虚拟网络环境下一种基于深度学习的网络故障诊断方法
CN109102023A (zh) * 2018-08-14 2018-12-28 阿里巴巴集团控股有限公司 一种分类模型生成方法及装置、一种数据识别方法及装置
US11218498B2 (en) * 2018-09-05 2022-01-04 Oracle International Corporation Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks
US11451565B2 (en) * 2018-09-05 2022-09-20 Oracle International Corporation Malicious activity detection by cross-trace analysis and deep learning
US10873782B2 (en) * 2018-10-02 2020-12-22 Adobe Inc. Generating user embedding representations that capture a history of changes to user trait data
EP3663951B1 (en) * 2018-12-03 2021-09-15 British Telecommunications public limited company Multi factor network anomaly detection
CN109636049B (zh) * 2018-12-19 2021-10-29 浙江工业大学 一种结合道路网络拓扑结构与语义关联的拥堵指数预测方法
US11461616B2 (en) * 2019-08-05 2022-10-04 Siemens Aktiengesellschaft Method and system for analyzing documents
CN110969015B (zh) * 2019-11-28 2023-05-16 国网上海市电力公司 一种基于运维脚本的标签自动化识别方法和设备
CN111291932A (zh) * 2020-02-12 2020-06-16 徐佳慧 面向投融资关系网络链路预测的方法、装置和设备
US11803748B2 (en) * 2020-05-29 2023-10-31 Sap Se Global address parser

Also Published As

Publication number Publication date
GB2611988A (en) 2023-04-19
WO2022013662A1 (en) 2022-01-20
AU2021309929A1 (en) 2023-02-16
DE112021003747T5 (de) 2023-06-01
KR20230031889A (ko) 2023-03-07
AU2021309929B2 (en) 2023-07-06
CN116210211A (zh) 2023-06-02
US20220019887A1 (en) 2022-01-20

Similar Documents

Publication Publication Date Title
JP2023534696A (ja) ネットワークトポロジーにおけるアノマリー検知
US10649838B2 (en) Automatic correlation of dynamic system events within computing devices
US20230289661A1 (en) Root cause discovery engine
CN109961204B (zh) 一种微服务架构下业务质量分析方法和系统
US9348857B2 (en) Probabilistically finding the connected components of an undirected graph
CN113961759B (zh) 基于属性图表示学习的异常检测方法
US10565517B2 (en) Horizontal decision tree learning from very high rate data streams with horizontal parallel conflict resolution
US20200234144A1 (en) Generating training datasets for training neural networks
CN111597247A (zh) 一种数据异常分析方法、装置及存储介质
US11196633B2 (en) Generalized correlation of network resources and associated data records in dynamic network environments
CN109726066B (zh) 用于标识存储系统中的问题部件的方法和设备
CN111431819A (zh) 一种基于序列化的协议流特征的网络流量分类方法和装置
CN111858146B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN115358487A (zh) 面向电力数据共享的联邦学习聚合优化系统及方法
KR20220143766A (ko) 데이터 품질 문제들의 동적 발견 및 수정
US10969964B2 (en) Method, device, and computer program product for parallel data transmission using machine learning to determine number of concurrencies and data slice size
WO2015165230A1 (zh) 一种社交消息的监测方法及装置
Grisi-Filho et al. Scale‐Free Networks with the Same Degree Distribution: Different Structural Properties
US11556827B2 (en) Transferring large datasets by using data generalization
US20160342899A1 (en) Collaborative filtering in directed graph
US10229223B2 (en) Mining relevant approximate subgraphs from multigraphs
US9430529B2 (en) Techniques for incrementally updating aggregation of states
US20220405631A1 (en) Data quality assessment for unsupervised machine learning
WO2023139510A1 (en) Systems and methods for detecting drift
Kong et al. Clustering-Based Network Inference with Submodular Maximization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230208

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231114