(57)【要約】  ネットワークノードより出力されたネットワークトラフィックの分析によって通信コンピュータノードの不具合を検知する方法。低遅延のパケットコンピュータノードは、ネットワークトラフィックをコピーし、またそれを、長短期メモリニューラルネットワークを含む機械学習技術を用いることができる分析エンジンに送信して、ネットワークにおけるあるデータルータの出力が、ソフトウエア不具合、ハードウエア不具合、又はネットワーク接続性の問題を抱えている見込みを特定すると共にネットワークの不具合中ノードによるトラフィックを停止させる。
2021534690.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークノードの不具合を検出するためのシステムであって：
１又は複数の低遅延のパケットモニタであって、該パケットモニタの各々は、データルータと中央リポジトリとの間に配置され、前記１又は複数の低遅延のパケットモニタは、前記データルータから向けられた第１データストリームを受信しまた前記中央リポジトリへ向けられた該第１データストリームを転送するように構成され、前記データルータは、第２データストリームの選択されたサブセットのコピーとして前記第１データストリームを生成する、１又は複数の低遅延のパケットモニタと；
データ分析エンジンであって、前記データ分析エンジンは、
前記１又は複数の低遅延のパケットモニタから、前記第１データストリームのコピーを受信し、
データルータにおけるソフトウエア又はハードウエアの障害のため、前記第１データストリームが前記第２データストリームの破損を含む見込みを、前記第１データストリームの受信したコピーに基づき特定し、及び
破損の見込みが所定のしきい値を超えることを特定することに応答し、前記第２データストリームの前記破損を停止させるために電子メッセージを送信する、
ように構成されるデータ分析エンジンと、
を備える、システム。
【請求項２】
前記第１データストリームが破損を表す前記見込みを特定することは、前記第１データストリームからの連続する時間ウィンドウのデータを、長短期記憶（ＬＳＴＭ）ニューラルネットワークに供給することを含む、
請求項１に記載のシステム。
【請求項３】
前記第２データストリームの選択された前記サブセットは、破損について検討されている、データ値に関連しない前記サブセットの特性に、少なくとも部分的に、基づいて選択される、
請求項１に記載のシステム。
【請求項４】
破損について検討されている、データ値に関連しない前記サブセットの前記特性は、ハッシュ関数の出力である、
請求項３に記載のシステム。
【請求項５】
破損について検討されている、データ値に関連しない前記サブセットの前記特性は、前記データ値に関連付けられた識別子において文字、数字、又は部分列（サブストリング）の存在である、
請求項３に記載のシステム。
【請求項６】
破損の見込みが存在することを特定することは、変化の統計的に起こりそうにない欠如が、予期された変化を有する出力データ内に存在する、ことを特定することを含む、
請求項１に記載のシステム。
【請求項７】
破損の見込みが存在することを特定することは、データルータが、比較の以前の期間中に観測された量又は大きさより大きな大きさで値を持つ又はより大きな量でのデータを、出力していることを特定することを含む、
請求項１に記載のシステム。
【請求項８】
前記第２データストリームおける前記破損の前記停止をさせるために前記電子メッセージを送信することは、前記データルータによって許可されたデータ送信の範囲を制限することを含む、
請求項１に記載のシステム。
【請求項９】
前記第２データストリームにおける前記破損を停止させるために前記電子メッセージを送信することは、
第２データストリームの選択された前記サブセットを異なるデータルータに経路指定することを含む、
請求項１に記載のシステム。
【請求項１０】
通信ネットワークノードの不具合を検出するためのコンピュータにより実施可能な方法であって：
１又は複数の低遅延パケットモニタから第１データストリームのコピーを受信することであって、前記第１データストリームは、第２データストリームの選択されたサブセットのコピーとしてデータルータによって生成されると共に中央リポジトリに向けられた、第１データストリームのコピーを受信することと；
前記第１データストリームの受信されたコピーに基づき、データルータにおけるソフトウェア又はハードウェアの障害による前記第２データストリームの破損を前記第１データストリームが含む見込みを特定すること；及び
破損の見込みが所定のしきい値を超えるという特定に応答を示し、前記第２データストリームの前記破損を停止させるために、電子メッセージを送信すること、
を備える方法。
【請求項１１】
前記第１データストリームが破損を表す前記見込みを特定することは、前記第１データストリームからのデータの連続する時間ウィンドウを長短期メモリ（ＬＳＴＭ）ニューラルネットワークに供給することを含む、
請求項１０に記載の方法。
【請求項１２】
前記第２データストリームの選択された前記サブセットは、破損について検討されている、データ値に関連しない前記サブセットの特性に、少なくとも部分的に、基づいて選択される、
請求項１０に記載の方法。
【請求項１３】
破損について検討されている、データ値に関連しない前記サブセットの前記特性は、ハッシュ関数の出力である、
請求項１２に記載の方法。
【請求項１４】
破損について検討されている、データ値に関連しない前記サブセットの前記特性は、前記データ値に関連付けられた識別子において文字、数字、又は部分列（サブストリング）が存在することである、
請求項１２に記載の方法。
【請求項１５】
破損の見込みが存在することを特定することは、変化の統計的に起こりそうにない欠如が、予測される変動を有する出力データに存在する、ことを特定することを含む、
請求項１０に記載の方法。
【請求項１６】
破損の見込みが存在することを特定することは、データルータが、以前の比較期間中に観測された量又は大きさより大きな大きさで値を持つ又はより大きな量でのデータを、出力していることを特定することを含む、
請求項１０に記載の方法。
【請求項１７】
前記第２データストリームおける前記破損を停止させるために前記電子メッセージを送信することは、前記データルータによって許可されたデータ送信の範囲を制限することを含む、
請求項１０に記載の方法。
【請求項１８】
前記第２データストリームおける前記破損を停止させるために前記電子メッセージを送信することは、第２データストリームの選択された前記サブセットを、異なるデータルータに経路指定することを含む、
請求項１０に記載の方法。
【請求項１９】
通信ネットワークノードの不具合を検出するためのコンピュータにより実施される方法であって：
前記通信ネットワークノードによって出力された第１データストリームからのデータの連続的な時間ウィンドウを受信すると共に該時間ウィンドウをＬＳＴＭニューラルネットワークへ入力すること；及び
各時間ウィンドウの後に、前記第１データストリームからのデータの現在受信した時間ウィンドウが第２データストリームからのサブセットの正確なコピーを表していた確率を、前記第１データストリームからのデータの以前に受信した時間ウィンドウ及び前記第２データストリームからの履歴情報に基づき、特定すること；及び、
前記確率が所定のしきい値を超えるということを特定することに応答を示し、前記通信ネットワークノードの出力を変更すると共に第２データストリームからのサブセットの正確なコピーではない前記通信ネットワークノードによるデータのいかなる出力を妨げるために、電子メッセージを前記通信ネットワークノードに送信すること、
を備える方法。
【請求項２０】
前記通信ネットワークノードの前記出力を変更することは、前記第２データストリームのソースのサブセットからの受信を妨げること、又は前記通信ネットワークノードによる前記第１データストリームの宛先のサブセットへの送信を妨げることを含む、
請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークの完全性及び機能性を保証するためのシステム及び方法に関するものであり、より具体的には、電子通信ネットワークにおけるノード及びルータによる異常な活動を識別し、また対処することに関する。
【背景技術】
【０００２】
多くのタイプのコンピュータネットワークにおいて、ネットワークの反対側にある種々の動作主体又はコンピューティングデバイスは、受信したデータパケットを適切な宛先に正確に再送しまたルーティングするために、種々の中間ルータに依存する。一部のネットワークでは、ルータには、データの最終宛先に転送する前に、該受信データを集約すること、変更すること、又はフィルタ処理することを追加的に仕事として課すことができる。
【０００３】
これらのデータルータの１つにおいてソフトウェア又はハードウェアの障害が発生すると、送信されているデータの完全性に依存するユーザに関して重大な悪影響に至ることがある。例えば、気象データルータは、実際に竜巻が近くで形成し始めているときに、状況が安全であると報告することがあり、受信されず受信確認されなかったと該ルータが考える古い風速データを繰り返すため、また送信されたものとしてキュー内の古いデータが確認されるまで新しいデータを送信し損なう。高頻度のストック注文ルータは、間違った情報を該ルータが送信し及び市場が誤った売りオファーを遂行し又は一市場参加者によって為されたらしいオファーに反応する場合に、何百万ドルもの損害を引き起こすことがあり、またパニック又は急落（セルオフ）の引き金になることさえあり得る。ミッションクリティカルなウェブサイトは、ファイアウォール又は他のフィルタが、フィルタ処理により除かれるべきであったトラフィックが中央サーバへ通る状態を誤って許していた場合、サービス妨害攻撃によってシャットダウンされる可能性がある。
【０００４】
その結果、コンピュータネットワーク内において、任意のノードを迅速に識別できまた対処できることに価値があり、該ノードはこのノードによって受信されたデータを忠実かつ正確に受け渡しせず又は処理していないものであり、且つこのノードに、そのデータの正確性を信頼する宛先において影響を与える。
【発明の概要】
【０００５】
本開示の一態様によれば、通信ネットワークノードの不具合を検出するためのシステムが開示されており、該システムは、１又は複数の低遅延のパケットモニタであって、該パケットモニタの各々は、データルータと中央リポジトリとの間に配置される、１又は複数の低遅延のパケットモニタと、データ分析エンジンと、を備える。１又は複数の低遅延のパケットモニタは、データルータから向けられた第１データストリームを受信しまた中央リポジトリへ向けられた該第１データストリームを転送するように構成され、データルータは、第２データストリームの選択されたサブセットのコピーとして第１データストリームを生成する。データ分析エンジンは、１又は複数の低遅延のパケットモニタから、第１データストリームのコピーを受信し；データルータにおけるソフトウエア又はハードウエアの障害のため第２データストリームの破損を第１データストリームが含む見込みを、第１データストリームの受信したコピーに基づき、特定し；及び、破損の見込みが所定のしきい値を超えるという特定に応答し、第２データストリームの破損を停止させるために電子メッセージを送信する、ように構成される。
【０００６】
本開示の別の態様によれば、通信ネットワークノードの不具合（malfunction）を検出するためのコンピュータにより実施可能な方法は：第２データストリームの選択されたサブセットのコピーとしてデータルータによって生成されると共に中央リポジトリに向けられた第１データストリームのコピーを、１又は複数の低遅延パケットモニタから受信すること；データルータにおけるソフトウェア又はハードウェアの障害（failure）による第２データストリームの破損を第１データストリームが含む見込みを、第１データストリームの受信されたコピーに基づき特定すること；及び、破損の見込みが所定のしきい値を超えるという特定に応答し、第２データストリームの破損を停止させるために、電子メッセージを送信すること、を備える。
【０００７】
本開示の別の態様によれば、通信ネットワークノードの不具合を検出するためのコンピュータにより実施される方法が開示され、該方法は、通信ネットワークノードによって出力された第１データストリームからのデータの連続的な時間ウィンドウを受信すると共に該時間ウィンドウをＬＳＴＭニューラルネットワークへ入力すること；及び、第１データストリームからのデータの以前に受信した時間ウィンドウ及び第２データストリームからの履歴情報に基づき、第１データストリームからのデータの現在受信した時間ウィンドウが第２データストリームからのサブセットの正確なコピーを表していたという確率を、各時間ウィンドウの後に、特定すること；及び、確率が所定のしきい値を超えるという特定に応答し、前記通信ネットワークノードの出力を変更することと第２データストリームからのサブセットの正確なコピーではない該通信ネットワークノードによるデータの任意の出力を防止することのために、電子メッセージを通信ネットワークノードに送信すること、を備える。通信ネットワークノードの出力を変更することは、第２データストリームの複数のソースのサブセットからの受信を妨げること、又は通信ネットワークノードによる第１データストリームの目的地のサブセットへの送信を妨げることを含み得る。
【図面の簡単な説明】
【０００８】
【図１】図１は、簡略化された形式で、従来技術の通信ネットワークを示す。
【０００９】
【図２】図２は、簡略化された形式で、本明細書で開示されたシステム及び方法において使用できる通信ネットワークを示す。
【００１０】
【図３】図３は、簡略化された形式で、本明細書で開示されたシステム及び方法と一緒に使用するための通信ネットワークモデルの抽象表現を簡略化して示す。
【００１１】
【図４】図４は、簡略化された形式で、図２及び図３に例示されたネットワークにおける異常検出の好ましい方法を示す。
【００１２】
【図５】図５は、簡略化された形式で、図４に例示された方法における異常検出分析への改良を示す。
【００１３】
【図６】図６は、図４及び図５に例示された方法の例示的な動作を図示する。
【００１４】
【図７】図７は、本明細書で説明された様々な特徴及びプロセスを実施するために利用され得る代表的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【００１５】
図１に示されたネットワークといったコンピュータネットワークにおけるソフトウェア又はハードウェアの不具合による、物理的損害、技術的障害、又は金銭的損害を引き起こしまたデータ品質を落とす（汚染する）ネットワークノードの上記で強調された危険は、図２及び引き続く図面に例示されたネットワーク性能の監視及び評価のためのシステムによって対処されることができる。
【００１６】
図１を参照すると、ネットワークは、いくつかのデータ出所１０１ａ、１０１ｂ等を含むことができ、該データ出所は、一組のデータルータｌ０２ａ、ｌ０２ｂ等からの少なくとも１つのデータルータにデータを渡す。図１における矢印は、矢印によって指し示された方向によって表されるように、双方向又は一方向であるデータ伝送を示すために使用される。各データルータ１０２は、次に、直接的に、又は中間ルータ及び／若しくはコンピュータネットワーク１０３を手段として、該データを１又は複数の中央リポジトリｌ０４ａ、ｌ０４ｂ等に渡すことができる。中間ルータ及び／又はコンピュータネットワーク１０３は、実際には、単一ネットワーク又は一組の結合ネットワークのいずれかを表すことができる；図１に示されるように、ルータ１０２の各々とリポジトリ１０４との間に相互接続性があるように見えるけれども、クロスコネクション無しに、１つのルータ１０２と１つのリポジトリ１０４との間に複数の並列接続がありうる。
【００１７】
いつかの実施例において、データ記憶装置１０５は、中央リポジトリｌ０４ａ〜ｌ０４ｎから情報を受け取って、追加情報をデータルータ１０２に入力しており、該追加情報は、中央リポジトリ１０４に該データを渡す前に、データ出所１０１ａ〜１０１ｎから受信した該データを変更する際に、又は、データがいくつかのうちのどの中央リポジトリに送信されるべきかを特定する際に、データルータ１０２において考慮される。
【００１８】
ある実施例では、データ出所１０１ａ〜１０１ｎは、株式仲買人に関連付けられたコンピューティングデバイスであり得ており、中央リポジトリｌ０４ａ〜ｌ０４ｎは、株式取引所であり得ており、各データルータ１０２は、注文を実行する複数の株式取引所間において資産の買い及び売りの注文をどのように分割しまた割り当てるかを特定するように構成されたルータであり得ており、データ記憶装置１０５は、所与の価格における所与の取引（transaction）が可能であるかどうかを該データルータに知らせるために、資産の価格及びオファーをリアルタイムに追跡するデータベースであり得る。
【００１９】
別の実施例では、データ出所１０１ａ〜１０１ｎは、限られた通信範囲を持つ気象センサであり得ており、各データルータ１０２は、気象データの受信器、照合器及び再送信器であり得ており、中央リポジトリｌ０４ａ〜ｌ０４ｎは、全国的な気象サービス、又は天気予報士に関連付けられたコンピューティングデバイスであり得る。
【００２０】
第３の実施例では、データ出所１０１ａ〜１０１ｎは、選挙中の電子投票機であり得ており、中央リポジトリｌ０４ａ〜ｌ０４ｎは、州の部署又は地方選挙委員会に関連付けられたコンピューティングデバイスであり得ており、各データルータ１０２は、選挙区全体にわたる最終得票数における算入のために送信する前に、所与の地区での候補者毎の総投票を集計するノードであり得る。
【００２１】
第４の実施例では、データ出所１０１ａ〜１０１ｎは、個々の消費者のコンピューティングデバイスであり得ており、中央リポジトリｌ０４ａ〜ｌ０４ｎは、ウェブサイト及び他のファイルのサーバであり得るものであり、各データルータ１０２には、中央リポジトリ間における入ってくるＨＴＴＰ（ハイパーテキスト転送プロトコル）及びＦＴＰ（ファイル転送プロトコル）のリクエストをローカルに釣り合わせる仕事、又は中央リポジトリがサービス拒否攻撃を受けることを妨げる仕事を課し得るものであり、データ記憶装置１０５は、特定のリクエストがどのように転送されるべきか、又は特定のリクエストがサービス拒否の試みとして扱われるべきか、を知らせるために、各中央リポジトリｌ０４ａ〜ｌ０４ｎの現在の利用率又は各データ出所１０１ａ〜１０１ｎからの実行中の総リクエスト数を追跡し得るものである。
【００２２】
図２は、簡略化された形態で、本明細書で開示されるシステム及び方法において使用することができる通信ネットワークを示す。
【００２３】
図２をここで参照しながら、１又は複数のパケットキャプチャノードｌ０６ａ、ｌ０６ｂ、．．．１０６ｈが、データルータｌ０２ａ〜ｌ０２ｎと１又は複数の中央リポジトリ１０４との間において、図１に説明されたネットワークに追加されることができる。パケットキャプチャノード１０６は、分析エンジンデバイス１０７にデータのコピーを渡すだけでなく、変更されていないデータを中央リポジトリｌ０４ａ〜ｌ０４ｎに同時に渡す低遅延ネットワークリピータであり得る。
【００２４】
分析エンジン１０７は、以下のものに関して、データルータ１０２におけるソフトウェア又はハードウェアの不具合がデータ出力における破損を引き起こすかもしれなかったかを特定するように、また中央リポジトリｌ０４ａ〜ｌ０４ｎに進むデータを処理するように構成されてもよい：複数回繰り返された単一の送信であるべきだったものに関して；データルータ１０２において創出される送信データであってデータ出所１０１からの送信に基づかなかった送信データに関して；単一の中央リポジトリ１０４に送信する用であって代わりに複数の中央リポジトリに送信されるべき送信に関して；又は、ネットワーク内における他の意図しないデータ送信に関して。分析エンジン１０７は、また、中央リポジトリｌ０４ａ〜ｌ０４ｎのうちの１又は複数に接続されてもよく、また中央リポジトリｌ０４ａ〜ｌ０４ｎのうちの１又は複数から直接にデータを受信してもよい。
【００２５】
図３は、簡略化された形態で、本明細書で開示されたシステム及び方法と共に使用するための通信ネットワークモデルの抽象表現を示す。
【００２６】
図３を次に参照すると、入力データは、一連のエントリノード２０１によって生成され、又は一連のエントリノード２０１において様々なソースから受信され得る。該入力データは、システムの用途に応じて、センサデータ（例えば、オーディオ、ビデオ、温度、位置、動き、振動、湿度、圧力、等）、人間が生成したデータ（例えば、投票、購入注文、ＨＴＴＰリクエスト、電子メール若しくはテキストメッセージといった通信、等）に基づく入力、又は他の構造化データであることができる。
【００２７】
各エントリノード２０１は、複数の目的地ノード２０４の１つにデータを渡す目的の仕事を課す複数のルータノード２０２の各々に相互接続されてもよい。目的地ノード２０４は、受信された入力データに基づき出力データを転送する、又はデバイスの機能を起動し若しくは確認応答を送信する、といった何らかの方法でデータに作用する。ルータノード２０２と目的地ノード２０４との間には、複数のキャプチャノード２０３が挿入されることができ、複数のキャプチャノード２０３は、ルータノード２０２によって送信されたデータを、変更無くそのまま、受信し、記録し、及び転送するように構成される。
【００２８】
エントリノード２０１は、図１及び図２におけるデータ出所１０１に対応してもよく、ルータノード２０２は、図１及び図２におけるデータルータ１０２に対応してもよく、目的地ノード２０４は、図１及び図２における中央リポジトリ１０４に対応してもよく、キャプチャノード２０３は、図２におけるパケットキャプチャノード１０６に対応してもよい。
【００２９】
データ出所２０１から複数のデータルータ２０２へデータを分割することが、負荷バランシングの目的のために行われてもよく、その結果、全てのデータルータ２０２は、可能な限り低遅延のままである。該分割は、また、該データ伝送を一意に処理し又は受信できる特定の目的地ノード２０４に特定のデータ伝送が渡される必要がある場合、必要だとして実行されてもよく、また特定のデータルータ２０２は、その目的地ノードに結合された唯一のルータである。最後に、該分割は、データ伝送タイプを特定のデータルータ２０２に任意に割り当てるために使用されることができ、その結果、データ伝送タイプは、ハッシュ関数又は他の識別子の出力といった、基礎となるデータを反映しない手段によってソート（仕分け）される。
【００３０】
どのデータルータ２０２がデータ出所２０１からの特定のデータ送信を処理するかという決定は、ある実施例では、データルータの現在の使用率を示す各データルータ２０２からの入力を考慮に入れる負荷バランサ、又は送信毎にデータルータ２０２を無作為に選択する負荷バランサといった、データ出所２０１自体上のソフトウェアによって為されてもよい。他の実施例では、データ出所２０１は、ダウンストリーム・ネットワークのトポロジに関してアグノスティック（非依存）であってもよく、該決定は、データルータ２０２の各々によって行われてもよく、該データルータは、データ出所２０１からブロードキャストを受信すると共に、所与のデータルータ（例えば、全ての気象報告を聞くが特定の地域からのもののみを転送するルータ、又は「Ｚ」で始まる銘柄記号に関するもののみを処理するルータ）が該送信を取り扱うことを意図しているかを決定するために、送信の特性を利用する。
【００３１】
ルータノード２０２と目的地ノード２０４との間のネットワークは、単一の一連の直接の並列接続であってもよく、又は、代わりに、潜在的にインターネットを含む、未知のトポロジのより複雑な相互接続ネットワークであってもよい。好ましい実施例では、キャプチャノード２０３は、各キャプチャノードが、単一のルータノードからのデータを、該データが送信された後できるだけ早く、キャプチャして、エントリノード２０１において又はルータノードにおいて、不具合を示唆するルータノードからの出力における異常を検出するように、ルータノード２０２から直の下流に置かれるべきであり、ここで、該ルータノードは、エントリノード２０１からデータを受信している。他の実施例では、キャプチャノード２０３は、該ノード間で渡されたデータをキャプチャする限り、ルータノード２０２と目的地ノード２０４との間のどこか別の場所に置かれてもよい。
【００３２】
ある実施例では、キャプチャノード２０３は、キャプチャ機能と分析機能との両方を（例えば、余分な処理が目的地ノード２０４へのデータの転送を遅らせるとしても、データ異常をできるだけ早く識別することが重要な状況では）供給してもよく、一方で、他の例では、キャプチャノードは、該データを目的地ノード２０４と分析のための別個のデバイスとの両方に（例えば、低遅延のデータ転送が重要であると共に別個のデバイスへの転送からの異常検出の遅延が許容される状況では）転送してもよい。
【００３３】
キャプチャノード２０３が、低遅延のパケット中継器としてデータを無分別に転送する代わりに分析機能を実行する場合、該キャプチャノードは、所与のデータ入力が生じる確率分布を生成するために使用されることができる。
【００３４】
例えば、気象レポートのデータを転送するシステムは、正確であると推定される観測値を使用して、また時間の経過にわたって、所与の時節中の所与の日時が、気温、降水量、風速の各々に関するあるベースライン確率分布を有することを特定することができる。このベースライン確率分布は、真の気象観測が現在報告されている値を返す可能性がどのくらい起こりそうもないかを判定するために、現在観測されているデータと比較され、また、起こり難さがある確率しきい値を超えた場合に該システムを調査し又はシャットダウンする通知を潜在的に起動することができる。
【００３５】
同様に、別の実施例では、株注文ルータからの出力を検査（レビュー、再検査）するシステムは、典型的には、一緒に上昇又は下降しそうな２つの技術的に関連する株式、又は貴金属地金及び国内通貨のような補完的資産といった、２つの資産の頻繁の取引又は価格における変化の間に強い共分散又は逆分散が存在することを特定することができ、ここで、一方の資産の価値の低下は、他方の資産の急激な購入を引き起こしそうであり、また価格を上昇させそうである。
【００３６】
複数のキャプチャノードの各々が類似データの特定のサブセットを処理しており、該複数のキャプチャノードを使用することによって、確率分布は、特に起こりそうにないように思われる入力データ状態に対してより具体的であり、またより敏感であるように、ノード当たりを基本にして、時間にわたって再規定され得る。
【００３７】
図４は、簡略化された形態で、図２及び図３に図示されたネットワークにおける異常検出の好ましい方法を示す。
【００３８】
図４をここで参照すると、分析エンジン１０７は、１又は複数のパケットキャプチャノード１０６から、全てのデータ、又は全のデータのダイジェスト（概要、要約）を受信することができ、全てのデータ又はそのダイジェストは、所与の時間ウィンドウにわたってデータルータ１０２によって送信される（ステップ３０１）。いくつかの実施例では、該時間ウィンドウは１０ミリ秒であってもよい。他の実施例では、時間ウィンドウは、データアプリケーションに応じて、短か目でも長が目でもよく、また、ミッションクリティカルなウェブサイト、高頻度の取引、又は航空機ナビゲーションのファイアウォールを設けること（firewalling）を伴うアプリケーションでは、例えば、１０ミリ秒未満のウィンドウが好ましく、気象学といったあまり重大（critical）でないアプリケーションでは、１秒又は複数秒といったより長いウィンドウが許容可能であり得る。
【００３９】
いくつかの実施例では、分析エンジン１０７は、また、同じ所与の時間ウィンドウにわたって中央リポジトリｌ０４ａ〜ｌ０４ｎから、全てのデータ、又は全てのデータのダイジェストを、任意選択で、受信してもよい（ステップ３０２）。
【００４０】
分析エンジンは、ソフトウェア、ハードウェア、又はネットワークの障害（fault）若しくは故障（failure）を示す異常がデータルータ１０２に関連して発生したかを特定するために、時間ウィンドウにわたって出力データの挙動、加えて、存在する場合には、中央リポジトリからのデータを分析してもよい（ステップ３０３）。
【００４１】
幾つかの実施例において、該分析は、特定のデータルータ１０２から出力されたデータと中央リポジトリｌ０４ａ〜１０４ｈから受信されたデータとの間の共分散を特定することを含んでいてもよい。例えば、ストック注文ルータとして機能する特定のデータルータ１０２は、あるタイプのアクティビティ又はある資産に関連するアクティビティを突然に１０倍に増加させることがあり、またある期間にわたってアクティビティを維持することがあり、一方、株式マーケットの全体的なアクティビティは本質的に不変のままである。そのような状況では、挙動の分散（variance）は、ストック注文ルータによって生成されると共に取引所に転送される注文において何らかの種類の障害を示していそうである。別の例では、特定のデータルータ１０２は、気象センサからのデータを転送してもよく、また同じ地理的エリア内の他のルータ及びセンサによって報告されていないセンサからの温度又は風速における突然の上昇を報告してもよく、予測されなかった局所的なホットスポット又は暴風よりはむしろ、ルータによる起こりうる不具合を示すことができる。
【００４２】
いくつかの実施例では、分析は、特定のデータルータ１０２からのデータ出力に異常なデータの大きさが存在することを特定することを含み得る。例えば、ストック注文ルータとして機能する特定のデータルータ１０２は、マーケット内の現在の販売オファー及び価格履歴を所与として、異常に高い価格において資産を購入するオファーを開始するかもしれない。異常な価格のオファーは、以下のいずれかを示すことができる：人間の実在物（エンティティ）によって決して要求されなかった注文をストック注文ルータが生成していること；又は、マーケット条件における変化を所与として注文が不合理であろう時点、数分後までの時点において、生成されたときに合理的であった注文が配送されていないことを、高いレベルのネットワーク待ち時間が生じさせていること。別の例では、選挙における投票機からのデータを集約すると共に順送りする特定のデータルータ１０２は、選挙区に関する履歴投票データをはるかに超える、又は、選挙区内の登録された投票者の数さえも超える、投票の大きさを報告することがあり、投票機の完全性の検証が実行され得るまで、データが信頼されることができそうに無いこと、及びデータが正式な結果から除外されるべきであること、を示す。
【００４３】
いくつかの実施例では、該分析は、特定のデータルータ１０２からのデータ出力において異常なデータ報告レートが存在することを特定することを含むことができる。例えば、ストック注文ルータとして機能する特定のデータルータ１０２は、類似のウィンドウにおける取引の履歴数を大幅に超える、所与の時間ウィンドウにおける取引量を報告することを開始することができる。量における該変化は、ストック注文ルータによって生成し始める買い又は売りの注文を示すことができるものであって、買い又は売りの注文は、人間の意図によって決して生成されなかったもの、取引を為す人工知能システムにおけるソフトウェア障害のため生成されたもの、又は売り又は買いの大規模な注文を、より小規模な株式仲買人によってかなえられ得る複数のそのような注文へ不適切に「小さく切る（slice：スライスする）」ことの一部として生成されたものである。別の実施例では、コンテンツサーバのためのファイアウォール又は負荷バランサとして機能する特定のデータルータ１０２は、ファイアウォール段において適切に処理（address）されていないコンテンツサーバ上の未遂のサービス妨害攻撃を示す、不合理に大量のＨＴＴＰリクエストが通過することを可能にすることがないとは言い切れない。
【００４４】
いくつかの実施例では、該分析は、特定のデータルータ１０２によって促進されている１組の双方向の取引（トランザクション）において異常な実行率が存在することを特定することを含んでもよい。例えば、ストック注文ルータとして機能する特定のデータルータ１０２は、マーケットが一般に注文をかなえるよりはるかに高い又ははるかに低い率で、新たな買い注文又は売り注文を生成することがある。以下の場合に、意図しない取引オファー若しくは許容できないレベルのネットワーク待ち時間を生成するソフトウェア障害、又は転送された注文を遅延させる他のルータエラーを示すことがある：ストック注文ルータが、非常に多くの買い注文又は売り注文を生成し始めるので生成された注文の８０％未満が所定の時間ウィンドウにわたって遂行される場合；又は、ストック注文ルータが、時間ウィンドウにおいて遂行された注文数がその時間ウィンドウ内に生成された注文の１２０％を超えるように買い注文又は売り注文の量において下げ始める場合。別の例では、コンテンツサーバのためのファイアウォール又は負荷バランサとして機能する特定のデータルータ１０２は、既存のリクエストの８０％未満がコンテンツサーバによってかなえられたにもかかわらず、ＨＴＴＰリクエストを許可し続けることがある。この大きさの不均衡は、以下のことを示す可能性がある：エンドユーザが、コンテンツを、該コンテンツを受信することを待たずに、繰り返し要求することによってコンテンツルータに対してサービス妨害攻撃を試みていること；又は、ネットワーク障害が、ファイアウォールに、リクエストが受信されたというコンテンツサーバからの確認応答を受け取らせず、また負荷バランサが不必要にリクエストを繰り返していること。
【００４５】
分析エンジンが、データルータ１０２による異常な挙動を特定した場合、分析エンジンは、該異常な挙動に直接的又は間接的に停止させるために、事前に構成されたアクションを実行することができる（ステップ３０４）。このアクションは、次の任意の１又は複数であり得る：該異常が警告されるべき人間のユーザを識別し、また電子メッセージを生成することであって、該電子メッセージは、ユーザに関連付けられたユーザアカウント（メール、テキストアカウント、ソーシャルネットワーキングプロファイル等）又はコンピューティングデバイス（デスクトップコンピュータ、携帯電話、ポケットベル等）に配信されるべきデータルータ１０２を識別すること；データルータ１０２を完全にシャットダウンすること；（特定の資産のための買い又は売りのオファーをルート指定で送付するために、ストック注文ルータの能力を限定すること；あるネットワークアドレスによって為されたリクエストを転送することからのファイアウォールを制限する）データルータ１０２に利用可能な潜在的なデータタイプのサブセットのみに、データルータ１０２によって許されたデータ取引（トランザクション）を部分的に限定すること；データルータ１０２がデータを受信することを許可されている一組のデータ出所１０１ａ〜１０１ｎを制限すること；データルータ１０２がデータを送信することを許可されている一組の中央リポジトリｌ０４ａ〜１０４ｈを制限すること；中間のルータに、データルータ１０２によって生成された正しくないと疑われる一部又は全てのデータをフィルタ処理で除かせること；ネットワークに、データルータ１０２を迂回させると共に、データ源（データソース）１０１ａ〜１０１ｎ及び中央リポジトリｌ０４ａ〜ｌ０４ｎを接続するために他のデータルータを使用させること。
【００４６】
異常な挙動のないことがデータルータ１０２において特定されない場合、より多くの送信されたデータが受信され（ステップ３０１）、データルータの挙動の監視が観察され続ける。
【００４７】
図５は、簡略化した形態で、送信されたデータを受信する前の追加の設定のステップ（ステップ３０１）、及び可能な分析ステップの追加の説明（ステップ３０３）と一緒に、図４に示された方法における異常検出分析の改良を示す。
【００４８】
図５を参照すると、好ましい実施例では、データ源１０１ａ〜１０１ｎからのデータを処理するための任務は、複数のデータルータｌ０２ａ、ｌ０２ｂ等のうちで分割されてもよく、各データルータ１０２は、データ源１０１ａ〜１０１ｎによる全データ転送の定義されたサブセットを取り扱う（ステップ４０１）。
【００４９】
好ましい実施例では、ハッシュ関数の形態が、データ源１０１ａ〜１０１ｎからデータルータ１０２の各々へのデータ伝送の可能なタイプ、意味、又は重要性を割り当てる（ステップ４０２）。例えば、データルータ１０２がストック注文ルータである場合、データルータは、各々、文字又は一群の文字を割り当て得て、またその文字又は一群の文字でティッカー（ticker）シンボルが始まる資産を買う又は売るリクエストのみを処理しまた転送し得る。同様に、データルータ１０２が負荷バランサである場合、データルータは、各々、数字又は一群の数字を割り当てられ、最下位数字といった特定の位置にそれらの数字を持つＩＰ（インターネット  プロトコル）アドレスからのみの要求を処理し得る。第３例では、ここではデータルータ１０２は気象データのルータであって、データルータは、測候所に、該測候所の名称、又は各測候所に付与されたシリアル番号に基づき割り当てられ得る。
【００５０】
いくつかの実施例では、より堅牢な暗号レベルのハッシュ関数（例えば、ＭＤ５（メッセージ  ダイジェスト  アルゴリズム）又はＳＨＡ（セキュア  ハッシュ  アルゴリズム）の出力の値、データルータの数のモジュラス（法、剰余、modulus））が、全てのデータルータ１０２間のデューティの一様なかつ予測不可能なランダムな分布を実質的に保証するために使用され得ており、しかし、全ての実施例では、関数がコンテンツ自体から実質的に独立したデータ型又はデータコンテンツに値を割り当てることが単に好ましいだけであり、その結果、似てないデータコンテンツが、各ルータにおいてグループ分けされる。
【００５１】
結果的に、特定のデータルータ１０２のデータ出力における統計的に有意な逸脱は、基礎となる受信されたデータにおける逸脱によって引き起こされる可能性は非常に低く、なぜなら、データルータ１０２は、基礎となるデータ自体から分離されるソート機構に基づいて決定されたルート決めされたデータ全体のサブセットのみを処理しているからである。本物のソースデータにおける任意の（特定の産業における株価の突然の上昇、又は特定の場所における気象の突然の変化、といった）逸脱は、複数のデータルータのうちで均等に分散されるべきであり、また単一のデータルータからの出力において反映されるべきでない。
【００５２】
長短期記憶（ＬＳＴＭ）ニューラルネットワークは、誤って繰り返された出力又はそうでなければ破壊された出力に対して対照的なものとして、特定のデータルータ１０２によって出力されたデータがそのデータルータの入力データを正確に表すという確率を０．０から１．０の間で評価しまた出力するために、分析エンジン１０７のメモリ内において初期化されることができる（ステップ４０２）。
【００５３】
（ステップ３０１で受信されたものとして）一連の時間ウィンドウにわたる所与のデータルータ１０２による連続的な出力は、ＬＳＴＭニューラルネットワーク内に供給され得る（ステップ４０３）。
【００５４】
各時間ウィンドウの後に、ＬＳＴＭニューラルネットワークは、破損又は他の異常な挙動の確率を特定しまた出力するために使用され（ステップ４０４）、また分析エンジン１０７は、該確率が所定のしきい値を上回っているかどうかを特定する（ステップ４０５）。分析エンジン１０７が考察するために上記で列挙された要因（すなわち、共分散、大きさ、レート、及び実行率）に加えて、ＬＳＴＭニューラルネットワークが、ノード自体の履歴出力に対してネットワークノードの現在の出力を比較することを可能にして、エラーが、ノードに、出力を繰り返させているか、そのノード出力に系統的バイアスを表示させているか、さもなければ、特定のデータ点というよりは、むしろ傾向として、主に異常である挙動を表示させているか、を特定する。
【００５５】
好ましい実施例では、しきい値は０．７６に設定されることができる。該しきい値を、データルータからの品質データに依存する構成（organization）の異なるデータアプリケーション及び異なるリスク許容度に関して、別用に、要求に合わせて設定して（カスタマイズして）もよい。しきい値は、データルータ１０２が（特定のルータによって取引される全てではないが、いくつかの株（ストック）の正常な価格及び量、又は特定のルータによって転送された、局の全てではないがいくつかの局のための正常な温度及び風速といった）正確なデータを部分的に生成するように見える場合に、増加されてもよく、又はデータのアプリケーションの重要性が（異常に大きな合計金額の取引を転送する注文ルータ、又はハリケーン若しくは野火といった進行中の自然災害であると既に知られているものの期間中に完全に安全な条件を報告する気象ルータといった）特に重大である場合に、減少されてもよい。
【００５６】
該確率又はデータ破損が、任意の、状況的な上向き又は下向きしきい値変更子、及び所定のしきい値を超えて上昇する場合、分析エンジン１０７が、データルータ１０２による出力を間接的又は直接的に止めるように起動されてもよい（ステップ３０４）。該確率を超えていない場合、データの新たな時間ウィンドウが受信され（ステップ３０１）、該ＬＳＴＭに入力され（ステップ４０３）、及び該確率が更新される（ステップ４０４）。
【００５７】
図６は、図４及び図５に図示される方法の例示の動作を示す。
【００５８】
図６をここで参照すると、資産マーケットにおける資産の売却及び購入の注文のための一組の注文ルータ５０１、５０２、及び５０３には、各々、アルファベットのサブセットを割り当てることができ、一組の注文ルータ５０１、５０２、及び５０３は、株式銘柄のティッカーシンボルが該サブセットの所与の文字で始まるすべての株式を処理することができる。与えられた例では、注文ルータ５０１は、文字Ａ〜Ｈを処理し、注文ルータ５０２は、Ｉ〜Ｑを処理し、注文ルータ５０３は、文字Ｒ〜Ｚを処理する。したがって、時間ウィンドウ５０４ａ、５０４ｂ、５０４ｃ、５０４ｄ、及び５０４ｅのグラフィカル表示で図示されるように、注文ルータ５０１は、アップル（ＡＡＰＬ）のための注文を処理するように指定され、注文ルータ５０２は、マイクロソフト（ＭＳＦＴ）のための注文を処理するように指定され、注文ルータ５０３は、テスラ（ＴＳＬＡ）のための注文を処理するように指定されるであろう。各株式シンボルの隣のバー（bar）の大きさは、所与の時間ウィンドウ中の株式の平均価格及び総量を示す。
【００５９】
時刻５０４ａでは、３つのルータ全てが、株の量及び価格の本質的にランダムな分布を表示する。これに従って、注文ルータ５０１、５０２、及び５０３には、各々、データ破損が発生していると共に転送された注文のいずれかが偽であるという非常に低い確率５０５ａが割り当てられることになる。
【００６０】
時刻５０４ｂでは、２つの統計的に有意な状況が生じる。まず、データ出力５０１ｂは、５０ｌａ中において出力されたデータと同一である。第２に、データ出力５０２ｂは、その３つの株式のうちの２つについて株式の価格及び数量における突然の顕著な増加を示す。確率５０５ｂは、同一に反復されたデータが極めて起こりにくいことと、資産の価格及び量の増加が、マーケットの他のセグメントにおいて反映されない場合、起こりにくいことと、を特定するＬＳＴＭの能力を反映するように更新される。
【００６１】
時刻５０４ｃでは、データ出力５０ｌｃが注文ルータ５０１からの以前の出力と再び同一である。これは、３つの同一の出力が、実際の基礎となる市場状況であるよりは出力を繰り返すノード故障によって引き起こされる、という確率５０５ｃにおける大幅な増加をもたらす。この時点で、確率が０．７６を超えると、分析エンジンは、エラーの原因が特定されることができるまで注文ルータ５０１からの出力を一時的に停止するように動作する。同様に、注文ルータ５０２が誤動作しているという確率における更なる増加が、維持された異常に高い価格及び量のため注目される。
【００６２】
時刻５０４ｄでは、注文ルータ５０２が欠陥データを出力しているという確率５０５ｄは、ＬＳＴＭニューラルネットワークによって０．７６を超えると特定される。しかしながら、注文ルータ５０２によって取引されている少なくとも１つのシンボル（ＭＳＦＴ）は、正常に振る舞っているように依然として見えるので、注文ルータは、いわば「疑いの利益が与えられる」ものであり、そして、アクションのためのしきい値は、例えば代わりに０．８０に設定される。
【００６３】
時刻５０４ｅでは、注文ルータ５０２は、依然として異常に高い価格及び量を生成している。結果的に、確率５０５ｅは、より寛大なしきい値よりもさらに超えて増加し、またその注文ルータにおいて明白な欠陥に同様にうまく対処するために、注文ルータへ不良データを送付させている及び上流に存在し得るどんな欠陥をも最小限に抑えるために、処置が講じられる。
【００６４】
図７は、本明細書に記載される様々な特徴及びプロセス、例えば、中間ルータ若しくはネットワークデバイス１０３、データルータｌ０２ａ〜ｌ０２ｎ、データ出所１０１ａ〜１０１ｎの機能、分析エンジン１０７、パケットキャプチャノードｌ０６ａ〜ｌ０６ｎ、記憶装置１０５、及び／又は中央リポジトリｌ０４ａ〜ｌ０４ｎのインタフェイス、を実施するために利用され得る代表的なコンピューティングデバイスの高レベルブロック図である。該コンピューティングデバイスは、コンピュータシステムによって実行される、プログラムモジュールといったコンピュータシステムの実行可能な命令の汎用のコンテキストで記述されることができる。一般には、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造、及びその他を含み得る。
【００６５】
図７に示すように、コンピューティングデバイスは、専用コンピュータシステムの形態で例示される。コンピューティングデバイスの構成要素は、１又は複数のプロセッサ又は処理ユニット９００、システムメモリ９１０、並びにメモリ９１０を含む様々なシステム構成要素をプロセッサ９００に結合するバス９１５を含んでもよい（しかし、これらに限定されない）。
【００６６】
バス９１５は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレイテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用するプロセッサバス又はローカルバスを含む、いくつかのタイプのバス構造の任意のうちの１又は複数を表す。例示として、限定ではなく、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、及びＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含む。
【００６７】
処理ユニット９００は、メモリ９１０に格納されたコンピュータプログラムを実行することができる。任意の適切なプログラミング言語が、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、アセンブリ言語、等を含む特定の実施例のルーチンを実施するために使用されることができる。手続き型又はオブジェクト指向といった異なるプログラミング技法を使用することができる。該ルーチンは、単一のコンピューティングデバイス又は複数のコンピューティングデバイス上で動作することができる。さらに、複数のプロセッサ９００を使用してもよい。
【００６８】
コンピューティングデバイスは、典型的には、コンピュータシステムにより読み取り可能である様々な媒体を含む。そのような媒体は、コンピューティングデバイスによってアクセス可能な任意の利用可能な媒体であることができ、揮発性及び不揮発性の媒体の両方、取外し可能（リムーバブル）及び取外し不能な（ノンリムーバブル）媒体の両方を含む。
【００６９】
システムメモリ９１０は、ランダムアクセスメモリ９２０及び／又はキャッシュメモリ９３０といった揮発性メモリの形態でのコンピュータシステムにより読み取り可能な媒体を含むことができる。コンピューティングデバイスは、さらに、他の取り外し可能／取り外し不能な、揮発性／不揮発性のコンピュータシステム記憶媒体を含み得る。ほんの一例として、記憶システム９４０は、取り外し不能な不揮発性磁気媒体（図示せず、典型的には「ハードドライブ」と呼ばれる）からの読み取り及び該媒体への書き込みのために設けられることができる。図示しないが、取り外し可能な不揮発性の磁気ディスク（例えば、「フロッピー（登録商標）ディスク」）からの読み取り及び該ディスクへの書き込みのための磁気ディスクドライブ、及びＣＤ−ＲＯＭ、ＤＶＤＲＯＭ又は他の光媒体といった取り外し可能な不揮発性の光ディスクからの読み取り又は該ディスクへの書き込みのための光ディスクドライブが設けられることができる。このような場合、各々は、１又は複数のデータメディアインタフェイスによってバス９１５に接続されることができる。以下でさらに図示され及び説明されるように、メモリ９１０は、本開示において説明された実施例の機能を実行するように構成された一組（例えば、少なくとも１つ）のプログラムモジュールを有する少なくとも１つのプログラム生産物を含むことができる。
【００７０】
プログラム／ユーティリティ９５０は、一組（少なくとも１つ）のプログラムモジュール９５５を有するものであって、例示として、限定ではなく、オペレーティングシステム、１又は複数のアプリケーションソフトウェア、他のプログラムモジュール、及びプログラムデータだけでなく、メモリ９１０に格納されることができる。オペレーティングシステム、１又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータの各々、又はそれらの組み合わせは、ネットワーク環境の実装を含むことができる。
【００７１】
また、コンピューティングデバイスは、また、キーボード、ポインティングデバイス、ディスプレイ、等といった１又は複数の外部デバイス９７０；ユーザがコンピューティングデバイスと対話することを可能にする１又は複数のデバイス；及び／又は、コンピューティングデバイスが１又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス（例えば、ネットワークカード、モデム、等）と通信してもよい。このような通信は、入力／出力（Ｉ／Ｏ）インタフェィス９６０を介して発生し得る。
【００７２】
加えて、上述したように、コンピューティングデバイスは、ネットワークアダプタ９８０を介して、ローカルエリアネットワーク（ＬＡＮ）、汎用のワイドエリアネットワーク（ＷＡＮ）及び／又は公衆ネットワーク（例えば、インターネット）といった１又は複数のネットワークと通信することができる。図示されるように、ネットワークアダプタ９８０は、バス９１５を介してコンピューティングデバイスの他の構成要素と通信する。以下のことが、理解されるべきである。図示されていないが、他のハードウェア及び／又はソフトウェアのコンポーネントは該コンピューティングデバイスとつないで使用されること。例は、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、ＲＡＩＤシステム、テープドライブ、及びデータアーカイブ記憶システム、等を含む（しかし、これらに限定されない）。
【００７３】
本発明は、任意の可能な技術的な１つ１つのレベルの統合におけるシステム、方法、及び／又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、コンピュータにより読み取り可能な単一（又は複数）の記憶媒体を含むことができ、該記憶媒体は、プロセッサに本発明の態様を実行させるためのコンピュータ読み取り可能なプログラム命令を該記憶媒体に有する。
【００７４】
コンピュータにより読み出し可能な記憶媒体は、命令実行デバイスによる使用のための命令を保持し記憶することができる有形のデバイスであってもよい。コンピュータにより読み出し可能な記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は前述の任意の適切な組合せ、であることができるが、これらに限定されない。コンピュータにより読み出し可能な記憶媒体のより具体的な例の、完全に網羅しているわけではないリストは、以下のもの：ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能なプログラマブル読出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、ディジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピー（登録商標）ディスク、命令を記録してもらう溝を有する隆起構造又はパンチカードといった機械的に符号化されたデバイス、及び上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータにより読み出し可能な記憶媒体は、電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体（例えば、光ファイバケーブルを通過する光パルス）を通って伝播する電磁波、又はワイヤを通って伝送される電気信号といった、それ自体が一時的な信号であると解釈されるべきではない。
【００７５】
本明細書に記載されたコンピュータ読み取り可能なプログラム命令は、コンピュータにより読み取り可能な記憶媒体からそれぞれの演算／処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び／又は無線ネットワークを介して、外部コンピュータ又は外部記憶デバイスに、ダウンロードされることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び／又はエッジサーバを使用することができる。各演算／処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェイスは、コンピュータ読み取り可能なプログラム命令をネットワークから受信し、それぞれの演算／処理デバイス内におけるコンピュータにより読み取り可能な記憶媒体に格納のために、コンピュータ読み取り可能なプログラム命令を転送する。
【００７６】
本発明の動作を実行するためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路類のためのコンフィギュレーションデータ、又は１又は複数のプログラミング言語の任意の組み合わせで書かれたソースコード若しくはオブジェクトコードのいずれかであることができ、該１又は複数のプログラミング言語は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋、等といったオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は類似のプログラミング言語といった手続き型プログラミング言語を含む。コンピュータにより読み取り可能なプログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、リモートコンピュータ上で部分的に、又はリモートコンピュータ若しくはサーバ上で全体的に、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又は該接続は、（例えば、インターネットサービスプロバイダを使用するインターネットを介して）外部コンピュータに接続されてもよい。いくつかの実施例では、例えば、プログラマブル論理回路類、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はプログラマブル論理アレイ（ＰＬＡ）を含む電子回路類は、本発明の態様を実行するために、コンピュータ読み取り可能なプログラム命令の状態情報を利用して該電子回路類を個々向けに変更する（パーソナル化する）ことによってコンピュータ読み取り可能なプログラム命令を実行することができる。
【００７７】
本発明の態様は、本発明の実施例に係る方法、装置（システム）、及びコンピュータプログラム生産物のフローチャート図及び／又はブロック図を参照して本明細書で説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図におけるブロックの組合せは、コンピュータにより読み取り可能なプログラム命令によって実施されることができることを理解されたい。
【００７８】
コンピュータにより読み取り可能なこれらのプログラム命令は、汎用コンピュータ、特定用途コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、フローチャート及び／又はブロック図の１又は複数のブロックにおいて指定された機能／動作を実現するための手段を生成するように、機械（マシン）を作成することができ、該命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行するものである。これらの、コンピュータにより読み取り可能なプログラム命令は、特定の様式で機能するように、コンピュータ、プログラマブルデータ処理装置、及び／又は他のデバイスに指示することができるコンピュータにより読み取り可能な記憶媒体に格納されてもよく、その結果、格納された命令を有しコンピュータにより読み取り可能な記憶媒体は、フローチャート及び／又はブロック図のブロック又は複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製造品を備える。
【００７９】
コンピュータにより読み取り可能な命令は、また、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、コンピュータにより実施されるプロセスを生成するために一連の動作ステップをコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行させ、この結果、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行する命令が、フローチャート及び／又はブロック図の１又は複数のブロックにおいて指定された機能／動作を実現する。
【００８０】
本開示は、クラウドコンピューティングに関する詳細な説明を含むけれども、本明細書に列挙された教示の実施は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施例は、現在知られている又は今後に開発される任意の他のタイプのコンピューティング環境とつないで実施されることができる。
【００８１】
図中のフローチャート及びブロック図は、本発明の様々な実施例に従う、システム、方法、及びコンピュータプログラム生産物の可能な実施のアーキテクチャ、機能、及び動作を図示する。この点に関して、フローチャート又はブロック図における各ブロックは、モジュール、セグメント、又は命令の部分を表すことができ、該モジュール、セグメント、又は命令の部分は、指定された論理機能を実現するための１又は複数の実行可能な命令を備える。いくつかの代替の実施例では、ブロックにおいて記された機能は、図面に記された順序から外れて生じてもよい。例えば、連続して示される２つのブロックは、実際には、実質的に同時に実行されてもよく、又は、ブロックは、伴われる機能に依存して、時には、逆順で実行されてもよい。また、ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する、又は特定目的のハードウェア及びコンピュータ命令の組み合わせを実行する、特定目的ハードウェアベースのシステムによって実現され得ることにも留意されたい。
【００８２】
本発明の様々な実施例の説明が、例示の目的で提示されてきたが、しかし、該説明が網羅的であること又は開示された実施例に限定されることは意図されていない。
多くの変更及び変形が、記載された実施例の範囲及び精神から逸脱することなく、当業者には明らかであろう。
本明細書で使用される用語は、実施例の原理、実用的な用途、又は市場で見出される技術に対する技術的改善を最もよく説明するために、又は当該分野で通常の知識の他者が本明細書で開示される実施例を理解することを可能にするために、選択された。
【図１】
2021534690.tif 000003
【図２】
2021534690.tif 000004
【図３】
2021534690.tif 000005
【図４】
2021534690.tif 000006
【図５】
2021534690.tif 000007
【図６】
2021534690.tif 000008
【図７】
2021534690.tif 000009
【手続補正書】
【提出日】令和3年4月21日(2021.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データルータの不具合を検出するためのシステムであって：
１又は複数の低遅延のパケットモニタであって、該パケットモニタの各々は、データルータに関連付けられ、該データルータは、入力データストリームを受信すると共に前記入力データストリームの選択されたサブセットのコピーである出力データストリームを中央リポジトリに転送する、ように構成され、前記１又は複数の低遅延のパケットモニタの各々は、関連付けられた前記データルータと前記中央リポジトリとの間にネットワーク経路に沿って置かれ、前記１又は複数の低遅延のパケットモニタの各々は、前記出力データストリームを受信すると共に前記出力データストリームを分析コンピューティングデバイスに転送する、１又は複数の低遅延のパケットモニタを備え；
前記分析コンピューティングデバイスは、電子命令を格納し、該電子命令は、前記分析コンピューティングデバイスのプロセッサによって実行されるとき、前記分析コンピューティングデバイスに
前記１又は複数の低遅延のパケットモニタから、転送された前記出力データストリームを一連の時間ウインドウにわたって受信させ、
前記一連の時間ウインドウにわたる前記出力データストリームからのデータを長短期記憶（ＬＳＴＭ）ニューラルネットワークに供給させ、
前記ＬＳＴＭニューラルネットワークを用いて、特定のデータルータの前記出力データストリームが前記特定のデータルータにおけるソフトウエア障害又はハードウエア障害のため前記入力データストリームの破損を含む確率を特定させ、及び
前記確率が所定のしきい値を超えることを特定することに応答を示し、前記入力データストリームの破損を含む前記出力データストリームを停止させるために電子メッセージを前記特定のデータルータに送信させる、
システム。
【請求項２】
２又はより多くの低遅延のパケットモニタを備え、前記２又はより多くの低遅延のパケットモニタの各々は、２又はより多くのデータルータに関連付けられ、前記入力データストリームのパケットは、基礎データに加えて識別子を含み、前記識別子は、前記２又はより多くのデータルータの間の負荷バランスを行うために使用され、前記入力データストリームの選択された前記サブセットは、前記識別子に、少なくとも部分的に、基づいて選択される、
請求項１に記載のシステム。
【請求項３】
前記識別子は、ハッシュ関数を介して渡されて負荷バランスを行うことを容易にする、
請求項２に記載のシステム。
【請求項４】
前記入力データストリームの選択された前記サブセットは、前記識別子において文字、数字、又は部分列（サブストリング）の存在に、少なくとも部分的に基づいて選択される、
請求項２に記載のシステム。
【請求項５】
前記出力データストリームが前記入力データストリームの破損を含むという前記確率を特定することは、変化の統計的に起こりそうにない欠如が、前記出力データストリームにおける所定の予期された変化を所与として出力データストリーム内に存在する、ことを特定することを含む、
請求項１に記載のシステム。
【請求項６】
前記出力データストリームが前記入力データストリームの破損を含むという前記確率を特定することは、前記特定のデータルータが、以前の比較期間中に観測された量又は大きさより大きな大きさでの値を持つ又はより大きな量での、データを出力していることを特定することを含む、
請求項１に記載のシステム。
【請求項７】
前記入力データストリームの破損を含む前記出力データストリームを停止させるために前記電子メッセージを送信することは、前記特定のデータルータによって許可されたデータ送信の範囲を制限することを含む、
請求項１に記載のシステム。
【請求項８】
前記入力データストリームの破損を含む前記出力データストリームを停止させるために前記電子メッセージを送信することは、前記特定のデータルータの代わりに、別のデータルータに、前記入力データストリームの選択された前記サブセットに作用させることを含む、
請求項１に記載のシステム。
【請求項９】
データルータの不具合を検出するためのコンピュータにより実施可能な方法であって：
コンピューティングデバイスによって、低遅延パケットモニタから、また一連の時間ウインドウにわたって、データルータからの出力データストリームを受信することであって、前記データルータは、入力データストリームを受信すると共に前記入力データストリームの選択されたサブセットをそれの出力データストリームとして転送するように構成される、出力データストリームを受信すること；
前記コンピューティングデバイスによってまた長短期メモリ（ＬＳＴＭ）ニューラルネットワーク内に、前記一連の時間ウインドウにわたって前記出力データストリームから受信されたデータを入力すること；
前記コンピューティングデバイスによってまた前記ＬＳＴＭニューラルネットワークを用いて、前記現在の時間ウインドウからの受信されたデータが前記データルータにおけるソフトウェア障害又はハードウェア障害による前記入力データストリームの破損を表すという確率を特定すること；及び
前記確率が所定のしきい値を超えることを特定することに応答を示し、前記データルータの出力を変更すると共に前記入力データストリームからのデータの正確なコピーではない前記データルータによるデータの出力を妨げるために、前記データルータに電子メッセージを自動的に送信すること
を備える方法。
【請求項１０】
前記入力データストリームのパケットは、基礎データに加えて識別子を含み、前記識別子は、前記データルータと１又は複数の他のデータルータとの間において負荷バランスを行うために使用され、前記入力データストリームの選択された前記サブセットは、前記識別子に、少なくとも部分的に、基づいて選択される、
請求項９に記載の方法。
【請求項１１】
前記識別子は、ハッシュ関数を介して渡されて前記負荷バランスを行うことを容易にする、
請求項１０に記載の方法。
【請求項１２】
前記入力データストリームの選択された前記サブセットは、前記識別子において文字、数字、又は部分列（サブストリング）が存在することに、少なくとも部分的に、基づいて選択される、
請求項１０に記載の方法。
【請求項１３】
前記出力データストリームが前記入力データストリームの破損を含むという前記確率を特定することは、変化の統計的に起こりそうにない欠如が、前記出力データストリームにおいて所定の予期された変化を所与として出力データストリームに存在する、ことを特定することを含む、
請求項９に記載の方法。
【請求項１４】
前記出力データストリームが前記入力データストリームの破損を含むという前記確率を特定することは、前記データルータが、以前の比較期間中に観測された量又は大きさより大きな大きさで値を持つ又はより大きな量での、データを出力していることを特定することを含む、
請求項９に記載の方法。
【請求項１５】
前記出力を変更するために前記電子メッセージを送信することは、前記データルータによって許可されたデータ送信の範囲を制限することを含む、
請求項９に記載の方法。
【請求項１６】
前記出力を変更するために前記電子メッセージを送信することは、別のデータルータに、代わりに前記入力データストリームの選択された前記サブセットに作用させることを含む、
請求項９に記載の方法。
【請求項１７】
通信ネットワークノードの不具合を検出するためのコンピュータにより実施される方法であって：
前記通信ネットワークノードによって出力された第１データストリームからのデータの連続的な時間ウィンドウを受信すると共に該時間ウィンドウをＬＳＴＭニューラルネットワーク内へ入力すること；及び
各時間ウィンドウの後に、前記第１データストリームからのデータの現在受信した時間ウィンドウが第２データストリームからのサブセットの正確なコピーを表していた確率を、前記第１データストリームからのデータの以前に受信した時間ウィンドウ及び前記第２データストリームからの履歴情報に基づき、特定すること；及び、
前記確率が所定のしきい値を超えるということを特定することに応答を示し、前記通信ネットワークノードの出力を変更すると共に第２データストリームからのサブセットの正確なコピーではない前記通信ネットワークノードによるデータのいかなる出力を妨げるために、電子メッセージを前記通信ネットワークノードに送信すること、
を備える方法。
【請求項１８】
前記通信ネットワークノードの前記出力を変更することは、前記第２データストリームのソースのサブセットからの受信を妨げること、又は前記通信ネットワークノードによる前記第１データストリームの宛先のサブセットへの送信を妨げることを含む、
請求項１７に記載の方法。
【請求項１９】
前記出力データストリームが前記入力データストリームの破損を含むという前記確率を特定することは、前記出力データストリームが過去の時間インターバル中にいくつかのクエリを含んだことと、及び現在の時間インターバル中に、前記過去の時間インターバルからのクエリへの受信した応答の数に対する前記現在の時間インターバル中の新しいクエリの数の比が所定の範囲にないことと、を特定することを含む、
請求項１に記載されたシステム。
【請求項２０】
前記入力データストリームの破損を含む前記出力データストリームを停止させるために前記電子メッセージを送信することは、前記特定のデータルータに全ての外向き送信を停止させることを含む、
請求項１に記載されたシステム。
【請求項２１】
前記現在の時間ウインドウからの受信したデータが前記入力データストリームの破損を示すという前記確率を特定することは、前記出力データストリームが過去の時間インターバル中に一組のクエリを含んだことと、現在の時間インターバル中に、前記過去の時間インターバルからのクエリへの受信した応答の数に対する前記現在の時間インターバル中の新しいクエリの数の比が所定の範囲にないことと、を特定することを含む、
請求項９に記載された方法。
【請求項２２】
前記出力を変更するために前記電子メッセージを送信することは、前記データルータに全ての外向き送信を停止させることを含む、
請求項９に記載された方法。
【国際調査報告】
2021534690.tif 000010
2021534690.tif 000011