(57)【要約】  異常を検出して補正するための方法およびシステムは、サイバー物理システム内のセンサによって生成された新しい時系列セグメントを、センサの以前の時系列セグメントと比較して（２０４）、各以前の時系列セグメントについての類似性測度を生成することを含む。類似性測度に基づいて新しい時系列が異常な挙動を表すと判定される（２０６）。異常な挙動を補正するために、サイバー物理システムに対して補正措置が実行される（２０８）。
2021528745.tif 000002
【特許請求の範囲】
【請求項１】
異常を検出し補正する方法であって、
サイバー物理システム内のセンサによって生成された新しい時系列セグメントを、前記センサの以前の時系列セグメントと比較して（２０４）、各以前の時系列セグメントの類似性測度を生成することと、
前記類似性測度に基づいて前記新しい時系列が異常な挙動を表すことを決定する（２０６）ことと、
前記異常な挙動を補正するために、サイバー物理システムに対して補正措置を実行する（２０８）ことと、を含む方法。
【請求項２】
各以前の時系列セグメントと前記新しい時系列セグメントとについてハッシュコードを生成することをさらに含み、前記新しい時系列セグメントを前記以前の時系列セグメントと比較することは、各以前の時系列セグメントと前記新しい時系列セグメントについて前記ハッシュコード間の距離を決定することを含む、請求項１に記載の方法。
【請求項３】
前記距離を決定することは、それぞれのハッシュコード間のハミング距離を決定することを含む、請求項２に記載の方法。
【請求項４】
前記新しい時系列が異常な挙動を表すことを決定することは、前記新しい時系列セグメントのハッシュコードと前記以前の時系列セグメントのハッシュコードとの間で決定された距離の中で最低距離を識別することと、前記最低距離をしきい値と比較することと、を含む、請求項２に記載の方法。
【請求項５】
前記新しい時系列が異常な挙動を表すことを決定することは、前記最低距離が前記しきい値を上回ることを決定することをさらに含む、請求項４に記載の方法。
【請求項６】
前記以前の時系列セグメントの各々のハッシュコード間のハミング距離を決定し、前記しきい値として最高のハミング距離を選択することによって、前記しきい値を決定することをさらに含む、請求項４に記載の方法。
【請求項７】
前記ハッシュコードを生成することは、特徴値のベクトル内の各値に符号関数を適用して、前記特徴値のベクトルと同じ次元を有するハッシュベクトルを生成することを含む、請求項２に記載の方法。
【請求項８】
比較することが、入力アテンションニューラルネットワーク層に従って、前記新しい時系列セグメントの部分に重み付けすることによって、前記新しい時系列セグメントの特徴を決定することを含む、請求項１に記載の方法。
【請求項９】
特徴を決定することは、長短期記憶ニューラルネットワーク層を使用して、前記新しい時系列セグメントの異なる部分からの情報を結合することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記補正措置は、前記サイバー物理システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定を変更すること、前記サイバー物理システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータを変更すること、前記サイバー物理システムのアプリケーションを停止または再起動すること、前記サイバー物理システムのハードウェアコンポーネントを停止または再起動すること、前記サイバー物理システムの環境条件を変更すること、および前記サイバー物理システムのネットワークインターフェースのステータスを変更することからなる群から選択される、請求項１に記載の方法。
【請求項１１】
異常を検出し補正するシステムであって、
サイバー物理システム内のセンサによって生成された新しい時系列セグメントを、前記センサの以前の時系列セグメントと比較して、各以前の時系列セグメントに対する類似性測度を生成し、前記類似性測度に基づいて前記新しい時系列が異常な挙動を表すことを決定するように構成された異常検出器（８１２）と、
前記異常な挙動を補正するために前記サイバー物理システム上で補正措置を実行するように構成されたコントローラ（８１４）と、を含むシステム。
【請求項１２】
前記異常検出器は、各以前の時系列セグメントおよび前記新しい時系列セグメントについてハッシュコードを生成し、各以前の時系列セグメントと前記新しい時系列セグメントとの前記ハッシュコード間の距離を決定するようにさらに構成される、請求項１１に記載のシステム。
【請求項１３】
前記異常検出器は、それぞれのハッシュコード間のハミング距離を決定するようにさらに構成される、請求項１２に記載のシステム。
【請求項１４】
前記異常検出器は、前記新しい時系列セグメントのハッシュコードと前記以前の時系列セグメントの前記ハッシュコードとの間の前記決定された距離のうちの最低距離を識別し、前記最低距離をしきい値と比較するようにさらに構成される、請求項１２に記載のシステム。
【請求項１５】
前記異常検出器は、前記最低距離が前記しきい値を上回っていることを決定するようにさらに構成される、請求項１４に記載のシステム。
【請求項１６】
前記異常検出器は、前記以前の時系列セグメントの各々のハッシュコード間のハミング距離を決定し、前記閾値として最高のハミング距離を選択するようにさらに構成される、請求項１４に記載のシステム。
【請求項１７】
前記異常検出器は、特徴値のベクトル内の各値に符号関数を適用して、前記特徴値のベクトルと同じ次元を有するハッシュベクトルを生成するようにさらに構成される、請求項１２に記載のシステム。
【請求項１８】
前記異常検出器は、入力アテンションニューラルネットワーク層に従って、前記新しい時系列セグメントの部分を重み付けすることによって、前記新しい時系列セグメントの特徴を決定するようにさらに構成される、請求項１１に記載のシステム。
【請求項１９】
前記異常検出器は、長短期記憶ニューラルネットワーク層を使用して、前記新しい時系列セグメントの異なる部分からの情報を結合するようにさらに構成される、請求項１８に記載のシステム。
【請求項２０】
前記コントローラは、前記サイバー物理システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定を変更すること、前記サイバー物理システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータを変更すること、前記サイバー物理システムのアプリケーションを停止または再起動すること、前記サイバー物理システムのハードウェアコンポーネントを停止または再起動すること、前記サイバー物理システムの環境条件を変更すること、および前記サイバー物理システムのネットワークインターフェースのステータスを変更することからなる群から選択される補正措置を実行するようにさらに構成される、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2018年9月4日に出願された米国仮特許出願第62/726,501号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
本出願は、その全体が参照により本明細書に組み込まれる、2019年1月11日に出願された米国特許出願第16/245,740号に関連する。
【０００３】
本発明は、複雑なシステムにおける多変量時系列検索に関し、特に、多変量時系列を用いた異常検出に関する。
【背景技術】
【０００４】
関連技術の説明
多変量時系列データは、例えば、発電所モニタリング、ヘルスケア、ウェアラブル装置、自動車モニタリング、物のインターネットアプリケーションなどを含む、多くの実用的なアプリケーションにわたって共通である。多変量時系列の検索は、現在の多変量時系列セグメントが与えられたときに、履歴データから関連する時系列セグメントをどのように取得するかを特徴付ける。言い換えると、特定の既知の時系列を使用して履歴データ内で一致する時系列を見つけることは、特に困難になり得る。
【発明の概要】
【０００５】
異常を検出し補正する方法は、サイバー物理システム内のセンサによって生成された新しい時系列セグメントを、センサの以前の時系列セグメントと比較して、各以前の時系列セグメントについての類似性測度を生成することを含む。新しい時系列が類似性測度に基づいて異常な挙動を表すと判定される。異常な挙動を補正するために、サイバー物理システムに対して補正措置が実行される。
【０００６】
異常を検出し補正するシステムは、サイバー物理システム内のセンサによって生成された新しい時系列セグメントを、センサの以前の時系列セグメントと比較して、各以前の時系列セグメントに対する類似性測度を生成し、その類似性測度に基づいて新しい時系列が異常な挙動を示すことを決定するように構成された異常検出器を含む。コントローラは、異常な挙動を補正するためにサイバー物理システムに対して補正措置を実行するように構成される。
【０００７】
これらおよび他の特徴および利点は添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるのであろう。
【０００８】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態による、異常検出および補正を備えた監視対象システムのブロック図である。
【図２】図２は、本発明の一実施形態による、異常検出および補正の方法のブロック/フロー図である。
【図３】図３は、本発明の一実施形態による、既知の正常サンプルを決定する方法のブロック／フロー図である。
【図４】図４は、本発明の一実施形態による、記憶されたサンプルに新しい測定値を照会する方法のブロック／フロー図である。
【図５】図５は、本発明の一実施形態による、新しい測定値における異常を識別する方法のブロック／フロー図である。
【図６】図６は、本発明の一実施形態による、ニューラルネットワークアーキテクチャのローレベル図である。
【図７】図７は、本発明の一実施形態による、ニューラルネットワークアーキテクチャのハイレベル図である。
【図８】図８は、本発明の一実施形態による、異常検出および補正のためのシステムのブロック図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態は、潜在的に多数のセンサを含むサイバー物理システムにおける異常検出を提供する。特に、本実施形態は、センサの出力を受け付けることが可能であり、それらを時間セグメントに分割する。各センサについての履歴時間セグメントのセットがデータベースに記憶され、新たに記録された時間セグメントが記憶された時間セグメントと比較される。新しい時間セグメントが以前に記録された時間セグメントから実質的に逸脱すると、異常が検出され、補正措置が実行される。
【００１１】
したがって、機械学習モデルを構築するのではなく、本実施形態は単に、一組の既知の正常な測定値を使用し、新しいおよび異常な状況を識別するために類似性を使用する。したがって、本実施形態は、そのような異常を事前に生成するための正確なラベルを必要とせずに、新しいタイプの異常を識別することができる。
【００１２】
図１を参照すると、異常検出システム１０６が、監視対象システム１０２との関連で示されている。監視対象システム１０２は、製造ラインおよび物理的プラント操作などの物理システム、コンピュータまたは他のコンピュータ化された装置などの電子システム、ウェアラブル装置、車両、物のインターネット装置、ならびにオペレーティングシステムおよびアプリケーションなどのソフトウェアシステムを含む、任意の適切なシステムとすることができる。サイバー物理システムは、複数のタイプのそのようなシステムを含むことができる。
【００１３】
１つまたは複数のセンサ１０４は、監視対象システム１０２の状態に関する情報を記録する。センサ１０４は、例えば、温度センサ、湿度センサ、振動センサ、圧力センサ、電圧センサ、電流センサ、磁場センサ、電場センサ、および光センサなどの物理的センサと、コンピュータシステム上で動作しているオペレーティングシステムおよびアプリケーションの状態および動作に関する情報を記録するために、コンピュータシステム上にインストールされたログユーティリティなどのソフトウェアセンサとを含んでも良い。センサ１０４によって生成される情報は、任意の適切なフォーマットとすることができ、異種フォーマットで生成されるセンサログ情報を含むことができる。センサ１０４は、それぞれのレコードが生成された時刻を示す関連するタイムスタンプを有しても、有しなくてもよいレコードの順序付けられたリストとして表される時系列データを生成してもよいと、特に考えられる。
【００１４】
センサ１０４は、無線通信および有線通信を含む任意の適切な通信媒体およびプロトコルによって、ログされたセンサ情報を異常検出システム１０６に送信することができる。異常検出システム１０６は、最近測定された一連の時系列データを、以前に記録されたデータのセットの本体と比較し、1つまたは複数の一致する履歴インスタンスを検索する。これらの検索したインスタンスは、その検索したインスタンスに関連する期間中の監視対象システム１０２の状態または活動を記述する関連ラベルを有することができる。場合によっては、検索したインスタンスのラベルが、監視対象システム１０２が異常な、または、別の不利な方法で動作していることを示すことができる。他の例では、一致が見つからない場合、現在の挙動が既知の正常な挙動を反映しないという事実から、異常を示すことができる。
【００１５】
異常挙動が検出されると、異常検出システム１０６は、システム制御ユニット１０８と通信して、異常な挙動を補正するために、監視対象システム１０２の1つまたは複数のパラメータを変更する。例示的な補正措置は、アプリケーションまたはハードウェア構成要素のためのセキュリティ設定の変更、アプリケーションまたはハードウェア構成要素の動作パラメータの変更(例えば、動作速度)、アプリケーションの停止および/または再起動、ハードウェア構成要素の停止および/または再起動、環境条件の変更、ネットワークインターフェースの状態または設定の変更などを含む。これにより、異常検出システム１０６は、異常な挙動を自動的に補正し、又は軽減する。
【００１６】
次に、図２を参照すると、監視対象システム１０２内の異常な挙動を検出および補正する方法が示されている。ブロック２０２は、既知の正常サンプルを決定し、それらをデータベースに記憶する。この訓練フェーズ間、ブロック２０２は、監視対象システム１０２が正常に動作していることが知られている期間に、それぞれのセンサ１０４からの一連の時系列記録を受け入れ、この正常な挙動を表す時間セグメントを生成する。ブロック２０２の訓練フェーズについてのさらなる詳細は、以下に記載される。
【００１７】
次いで、ブロック２０４は、特徴および最近測定された時間セグメントのハッシュを使用して、記憶された時間セグメントへの問合せを受け入れる。ブロック２０６は、例えば、時間セグメント間のハッシュ距離を比較し、異なる時間セグメントを識別することによって、時間セグメントが異常な挙動を表すかどうかを判定する。照会および異常の検出に関するさらなる詳細は、以下に記載される。異常が識別されると、ブロック２０８は、上述したように、補正措置を実行する。この補正措置は、異常時間セグメントに対応するセンサ１０４の測定値を通常動作に戻すように選択される。この目的のために、図２の処理は、必要に応じて繰り返すことができ、初期調整が異常な挙動を補正しない場合には、追加の補正措置が実行される。
【００１８】
ここで、図３を参照すると、ブロック２０２における既知の正常サンプルの決定に関するさらなる詳細が示されている。ブロック３０２は、センサ記録を時間セグメントに分割する。各センサ記録は、それぞれのセンサ１０４からの、時間順に配列された一連の測定値を表す。時間セグメントは、任意の適切な期間内に行われる一連の測定に分割することができる。いくつかの実施形態では、セグメントが例えば、それぞれの日をカバーするように、周期的に分割することができる。他の実施形態では、セグメントは、変化する時間周期に従って分割されてもよく、または何らかのイベントによってトリガされてもよい。
【００１９】
ブロック３０４は、入力アテンションベースの長短期記憶（ＬＳＴＭ）ネットワークを含む、ニューラルネットワークのセットを訓練することによって、時間セグメントのためのデータモデルを生成する。ニューラルネットワークは、所与のセンサ１０４の時間セグメントのセットを受け入れ、その時間セグメントの特徴を出力する。
【００２０】
ブロック３０６は、ブロック３０４で生成されるデータモデルを使用して、各センサ１０４についての時間セグメントの特徴を生成する。いくつかの実施形態では、特徴が、それぞれがそれぞれのデータ値を有する、例えば１２８以上の次元を有する高次元ベクトルを表すことができる。次に、ブロック３０８は、生成された各特徴のハッシュを生成する。いくつかの実施形態では、ブロック３０８によって使用されるハッシュ関数が、以下で説明するように、隠れた特徴上の符号関数とすることができる。したがって、ｎ個の異なる浮動小数点値を持つ特徴について、関数のハッシュはｎ個のバイナリ値を持ち、各値はその特徴の対応するデータ値が正か負かを表す。ブロック３１０は、将来の問合せのために、すべての特徴およびそれらのそれぞれのハッシュコードをデータベースに格納する。
【００２１】
ここで、図４を参照すると、ブロック２０４において、記憶されたサンプルに新しい測定値を問合せることに関するさらなる詳細が示されている。ブロック４０２は、新しい時間セグメント問合せを受信する。時間セグメント問合せは、独立型であってもよく、またはいくつかの実施形態では、上述のように時間セグメントに分割されたセンサ１０４からのより長い時系列の一部であってもよい。ブロック４０４は、ブロック３０４で生成されたデータモデルを使用して、受信された問合せの特徴を生成する。次に、ブロック４０６は、例えば、ブロック３０８における記憶したハッシュを生成するために使用されたのと同じハッシュ関数を使用して、データモデルによって出力される問合せ特徴のハッシュを生成する。
【００２２】
ブロック４０８は、問合せ特徴およびハッシュを記憶した値と比較する。この比較は、例えば、記憶したハッシュコードと問合せ特徴のハッシュコードとの間のハミング距離に基づくことができる。いくつかの実施形態では、最小ハミング距離を使用して比較を実行することができる。
【００２３】
次に、図５を参照すると、ブロック２０６における新しい測定値における異常の識別に関する付加的詳細が示されている。ブロック２０４で問合せが実行され、新しい測定値のハッシュが記憶された時間セグメントのハッシュと比較された後、ブロック５０２が、ブロック４０８で計算された距離を使用してハッシュの最小距離が計算する。ブロック５０４は、ハッシュ距離の分布を計算する。例えば、問合せと履歴セグメントのハッシュ符号のデータベースとの間の最小ハミング距離を決定することができる。したがって、問合せセグメントからのハッシュ距離が小さい単一の記憶された時間セグメントがある場合、ブロック５０４は、問合せセグメントの全体的な値を低くする。
【００２４】
したがって、異なる時間ステップでのＴ問合せ(時間順序に基づく)の実施例では、
【数１】
2021528745.tif 000003
問合せに対して、
【数２】
2021528745.tif 000004
問合せに対応するハッシュコードがデータベース内のすべてのハッシュコードと比較され、最小ハミング距離が異常スコアを生成するために使用される。Ｔ個の異なるステップ(問合せ)があるので、異常スコアは異なる時間ステップで変化する。
【００２５】
ブロック５０６は、それぞれの記憶された時間セグメントのハッシュ距離をしきい値と比較する。しきい値は、任意の適切な値とすることができる。いくつかの実施形態では、しきい値が、いくつかの検証または訓練セットにわたって測定された、決定された最小ハミング距離の最大値として決定され得る。したがって、既知の良好な時間セグメントの間で測定された最大距離をしきい値として使用することができ、そこでは、より大きな距離がブロック５０８によって異常であると識別される。
【００２６】
図６を参照すると、人工ニューラルネットワーク（ＡＮＮ）アーキテクチャ６００が示されている。本アーキテクチャは純粋に例示的なものであり、代わりに他のアーキテクチャまたはタイプのニューラルネットワークを使用することができることを理解されたい。本明細書で説明されるＡＮＮの実施形態は、高レベルの一般性でニューラルネットワーク計算の一般原理を示すことを意図して含まれており、いかなる場合でも限定するものと解釈されるべきではない。
【００２７】
さらに、以下に記載されるニューロンの層およびそれらを接続する重みは、一般的な様式で記載され、任意の適切な程度またはタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えられ得る。例えば、層は、畳み込み層、プーリング層、完全に接続された層、ソフトマックス層、または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することができ、相互接続のより複雑な形態のために重みを省略することができる。
【００２８】
フィードフォワード操作の間、入力ニューロン６０２のセットはそれぞれ、重み６０４のそれぞれの行に並列に入力信号を提供する。重み６０４はそれぞれ、重み出力が重み604からそれぞれの隠れニューロン６０６に渡され、隠れニューロン６０６への重み付き入力を表すように、それぞれの設定可能な値を有する。ソフトウェアの実施形態では、重み６０４は単に、関連する信号に対して乗算される係数値として表すことができる。各重みからの信号は、列ごとに加算され、隠れニューロン６０６に流れる。
【００２９】
隠れニューロン６０６は、重み６０４のアレイからの信号を使用して、何らかの計算を実行する。次に、隠れニューロン６０６は、それ自体の信号を重み６０４の別のアレイに出力する。このアレイは同様に動作し、重み６０４の列はそれぞれの隠れニューロン６０６から信号を受信し、行ごとに加算され、出力ニューロン６０８に供給される重み付けされた信号出力を生成する。
【００３０】
アレイと隠れたニューロン６０６の追加の層を介在させることにより、これらの段階の任意の数が実装され得ることを理解すべきである。また、いくつかのニューロンは、アレイに一定の出力を提供する定常ニューロン６０９であってもよいことに注意すべきである。定常ニューロン６０９は、入力ニューロン６０２および／または隠れニューロン６０６の間に存在することができ、フィードフォワード操作中にのみ使用される。
【００３１】
バックプロパゲーションの間、出力ニューロン６０８は、重み６０４のアレイを横切って戻る信号を提供する。出力層は、生成されたネットワーク応答を訓練データと比較し、誤差を計算する。誤差信号を誤差値に比例させることができる。この実施例では、重み６０４の行がそれぞれの出力ニューロン６０８から並列に信号を受け取り、列ごとに加算して隠れニューロン６０６に入力を提供する出力を生成する。隠れニューロン６０６は、重み付けされたフィードバック信号をそのフィードフォワード計算の導関数と結合し、フィードバック信号を重み６０４のそれぞれの列に出力する前に誤差値を記憶する。このバックプロパゲーションは、すべての隠れニューロン６０６および入力ニューロン６０２が誤差値を記憶するまで、ネットワーク６００全体を通って進行する。
【００３２】
重み更新中、記憶された誤差値は、重み６０４の設定可能な値を更新するために使用される。このようにして、重み６０４は、ニューラルネットワーク６００をその処理における誤差に適応するように訓練できる。フィードフォワード、バックプロパゲーション、および重み更新の３つの動作モードは、互いに重複しないことに留意されたい。
【００３３】
図７を参照すると、特徴抽出データモデルニューラルネットワークの構造が示されている。ネットワーク７００は、時間セグメントを入力とする。データ点の時系列を表す時間セグメントは、時間または多数のデータ点によって測定される長さＴの部分に分割される。ネットワーク７００は、時間セグメントの長さを長さＴで割ったものに等しい数のチェーンを含む。時間セグメントは、その長さTの部分に分割された、それぞれのチェーンへの入力のセットとして適用される。入力アテンション層７０２は、時間セグメントの部分を受け取り、第1のチェーンの後のチェーンについては、アテンション層７０２は、入力として、以前のチェーンの隠れ状態の出力も受け取る。いくつかの実施形態では、第1のチェーン内のアテンション層７０２は、以前の隠れ状態がないので、その隠れ状態ベクトルとしてゼロベクトルを使用することができる。
【００３４】
アテンション層７０２は、時間セグメントのそれぞれの部分に対する重みのセットを生成する。これらの重みは、重みが1の合計を有するように、ソフトマックス層７０４において正規化される。入力部分は、重み付けブロック７０６において、それぞれの重みと乗算される。次に、重み付けされた入力は、長短期メモリ（ＬＳＴＭ）ブロック７０８に適用される。ＬＳＴＭブロックが具体的に企図されるが、代わりにゲート付き回帰型ユニット（ＧＲＵ）を使用できることを理解されたい。
【００３５】
ＬＳＴＭブロック７０８は、次のチェーンのＬＳＴＭブロック７０８への入力としても適用される、チェーンのための隠れ状態を生成する。したがって、各ＬＳＴＭブロック７０８は２つの入力、すなわち、以前のチェーンのＬＳＴＭブロック７０８の隠れ状態
【数３】
2021528745.tif 000005
と、それぞれの重み付けブロック７０６によって出力された重み付き部分
【数４】
2021528745.tif 000006
とを受け入れる。２つの入力は、結合されて出力
【数５】
2021528745.tif 000007
を形成し、関数
【数６】
2021528745.tif 000008
はＬＳＴＭユニットである。以前の隠れ状態が存在しない第１のチェーンでは、
【数７】
2021528745.tif 000009
の値を０ベクトルに設定できる。最後のチェーンの出力は、入力時間セグメントの特徴のセットであり、例えば、データ値のベクトルとして表され、各データ値は、それぞれの特徴を表す。
【００３６】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、またはハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明がファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアで実施される。
【００３７】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、または転送する任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。媒体は、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【００３８】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるときに、コンピュータの操作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【００３９】
プログラムコードを記憶および／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも１つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力／出力またはＩ／Ｏ装置(キーボード、ディスプレイ、ポインティング装置などを含むが、これらに限定されない)は、直接または介在するＩ／Ｏコントローラを介してシステムに結合され得る。
【００４０】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なネットワークアダプタのタイプの一例に過ぎない。
【００４１】
本明細書で使用されるように、「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、１つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェア、またはそれらの組み合わせを指すことができる。有用な実施形態では、ハードウェアプロセッササブシステムが１つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイスなど)を含むことができる。１つまたは複数のデータ処理要素は、中央処理装置、グラフィックス処理装置、および／または別個のプロセッサまたはコンピューティング要素ベースのコントローラ(たとえば、論理ゲートなど)に含めることができる。ハードウェアプロセッササブシステムは、１つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリなど)を含むことができる。いくつかの実施形態では、ハードウェアプロセッササブシステムが、オンボードまたはオフボードにすることができるか、またはハードウェアプロセッササブシステム(例えば、ＲＯＭ、ＲＡＭ、基本入出力システム（ＢＩＯＳ）など)によって使用するために専用にすることができる１つ以上のメモリを含むことができる。
【００４２】
ある実施形態では、ハードウェアプロセッササブシステムは、１つ以上のソフトウェア要素を含むことができ、実行することができる。１つ以上のソフトウェア要素は、特定の結果を達成するために、オペレーティングシステムおよび／または１つ以上のアプリケーションおよび／または特定のコードを含むことができる。
【００４３】
他の実施形態では、ハードウェアプロセッササブシステムは、指定された結果を達成するために１つまたは複数の電子処理機能を実行する専用の専用回路を含むことができる。そのような回路は、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および／またはプログラマブルロジックアレイ（ＰＬＡ）を含むことができる。
【００４４】
ハードウェアプロセッササブシステムのこれらおよび他の変形もまた、本発明の実施形態に従って企図される。
【００４５】
次に、図８を参照すると、異常検出システム１０６のさらなる詳細が示されている。システム１０６は、ハードウェアプロセッサとメモリ８０４とを含む。ネットワークインターフェース８０６は、監視対象システム１０２およびセンサ１０４と通信し、センサ１０４から時系列データを受信し、任意の適切な有線または無線の通信媒体およびプロトコルによって監視対象システム１０２の要素にコマンドを発行する。
【００４６】
モデルトレーナ８０８は、動作が正常な挙動を表すことが知られている期間に、センサ１０４から収集された時系列で構成される訓練データのセットに基づいて、データモデル８１０を生成する。データモデル８１０を生成することに加えて、モデルトレーナ８０８は、データモデル810を使用して、訓練セット内の時間セグメントの各々について特徴およびハッシュのセットを生成する。結果として生じるデータモデル８１０は、異常検出器８１２によって使用され、時間セグメントが異常な挙動を表すか否かを決定するために、新たに測定された時間セグメントの特徴を識別する。
【００４７】
コントローラ８１４は、ネットワークインターフェース８０６を使用して、異常検出器８１２によって示された異常を自動的に補正するために、監視対象システム１０２の構成要素に命令を発行する。これらの命令は、例えば、監視対象システム１０２の1つまたは複数の動作特性の挙動を制御して、異常なセンサ読み取り値を正常な動作範囲に戻すことができる。
【００４８】
上記はあらゆる点で例示的かつ例示的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明された実施形態は、本発明の例示にすぎず、当業者は本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許証によって保護されることが請求され、望まれるものは添付の特許請求の範囲に記載されている。
【図１】
2021528745.tif 000010
【図２】
2021528745.tif 000011
【図３】
2021528745.tif 000012
【図４】
2021528745.tif 000013
【図５】
2021528745.tif 000014
【図６】
2021528745.tif 000015
【図７】
2021528745.tif 000016
【図８】
2021528745.tif 000017
【国際調査報告】
2021528745.tif 000018
2021528745.tif 000019