IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ナノトロニクス イメージング リミテッド ライアビリティ カンパニーの特許一覧

特許7487967工場のプロセス、機器、および自動化システムの動的な監視および保護
<>
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図1
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図2
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図3
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図4
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図5
  • 特許-工場のプロセス、機器、および自動化システムの動的な監視および保護 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】工場のプロセス、機器、および自動化システムの動的な監視および保護
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240514BHJP
   G05B 23/02 20060101ALI20240514BHJP
   G06N 3/04 20230101ALI20240514BHJP
   G06N 3/08 20230101ALI20240514BHJP
【FI】
G06F21/55
G05B23/02 302M
G06N3/04
G06N3/08
【請求項の数】 20
(21)【出願番号】P 2022520885
(86)(22)【出願日】2020-09-23
(65)【公表番号】
(43)【公表日】2022-12-14
(86)【国際出願番号】 US2020052254
(87)【国際公開番号】W WO2021071675
(87)【国際公開日】2021-04-15
【審査請求日】2022-05-09
(31)【優先権主張番号】16/781,193
(32)【優先日】2020-02-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/904,984
(32)【優先日】2020-06-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/983,487
(32)【優先日】2020-02-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/932,063
(32)【優先日】2019-11-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/950,588
(32)【優先日】2019-12-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/912,291
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/931,453
(32)【優先日】2019-11-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/938,158
(32)【優先日】2019-11-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511289471
【氏名又は名称】ナノトロニクス イメージング インコーポレイテッド
【氏名又は名称原語表記】NANOTRONICS IMAGING,INC.
【住所又は居所原語表記】2251 FRONT STREET,SUITE 110,P.O.BOX 306,CUYAHOGA FALLS,OHIO 44223,U.S.A.
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】プットマン,マシュー シー
(72)【発明者】
【氏名】プットマン,ジョン ビー
(72)【発明者】
【氏名】ピンスキー,バディム
(72)【発明者】
【氏名】リモージュ,ダマス
(72)【発明者】
【氏名】サンドストローム,アンドリュー
(72)【発明者】
【氏名】ウィリアムス ザ サード,ジェームス
【審査官】金沢 史明
(56)【参考文献】
【文献】米国特許出願公開第2015/0213369(US,A1)
【文献】特開2018-139101(JP,A)
【文献】国際公開第2019/012653(WO,A1)
【文献】米国特許出願公開第2019/0302707(US,A1)
【文献】特開2017-211713(JP,A)
【文献】特表2008-512792(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06N 3/02- 3/10
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムによって、工場のプロセス、機器、および制御(P/E/C)システムのうちの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信することと、
前記コンピューティングシステムによって、深層学習プロセッサを用いて、前記1つまたは複数の制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、
前記コンピューティングシステムによって、前記工場のP/E/Cシステムの1つまたは複数から、生産応答データを受信することと、
前記コンピューティングシステムによって、前記深層学習プロセッサを用いて、前記生産応答データに対する生産行動パターンデータを生成することと、
前記コンピューティングシステムによって、(i)前記生産応答データと前記予測応答データ、および(ii)前記生産行動パターンデータと前記予測行動パターンデータの少なくとも一方を比較し、異常な活動を検出することと、
前記異常な活動を検出した結果として、前記コンピューティングシステムによって、1つまたは複数の修正動作を行って、前記製造プロセスにおける前記異常な活動に対処ることと、を含む、コンピュータ実装方法。
【請求項2】
前記コンピューティングシステムによって、前記異常な活動がマルウェア攻撃であるかどうかを決定することと、
前記異常な活動が前記マルウェア攻撃であると決定した結果として、前記コンピューティングシステムによって、前記工場のP/E/Cシステムの1つもしくは複数に前記製造プロセスにおける前記異常な活動に対処させるための前記修正動作を開始することと、をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記1つまたは複数の修正動作は、前記製造プロセスを停止することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記生産応答データは、前記工場のP/E/Cシステムの1つまたは複数に関連する1つまたは複数のプロセスステーションに関連する設定値を調整することによって得られる、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記異常な活動は、前記生産応答データと前記予測応答データが偏差を示した結果として検出される、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記異常な活動は、前記生産行動パターンデータと前記予測行動パターンデータとが偏差を示した結果として検出される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記1つまたは複数の修正動作は、前記異常な活動を確認するための通知を、前記製造プロセスのオペレータに送信することを含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記コンピューティングシステムによって、前記生産応答データと前記予測応答データとの比較に基づいて、前記異常な活動の識別に関連する信頼度を決定することと、
前記コンピューティングシステムによって、前記信頼度に基づいて、前記製造プロセスにおける前記異常な活動に対処るために実行すべき前記1つまたは複数の修正動作を識別することと、をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記コンピューティングシステムによって、前記生産行動パターンデータと前記予測行動パターンデータとの比較に基づいて、前記異常な活動の識別に関連する信頼度を決定することと、
前記コンピューティングシステムによって、前記信頼度に基づいて、前記製造プロセスにおける前記異常な活動に対処るために実行すべき前記1つまたは複数の修正動作を識別することと、をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
深層学習プロセッサを含む1つまたは複数のプロセッサと、
命令を自身に記憶するメモリと、を含むシステムであって、
前記命令は、前記1つまたは複数のプロセッサによって実行され結果として:
工場のプロセス、機器、および制御(P/E/C)システムのうちの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信することと、
前記深層学習プロセッサを用いて、前記1つまたは複数の制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、
前記工場のP/E/Cシステムの1つまたは複数から生産応答データを受信することと、
前記深層学習プロセッサを用いて、前記生産応答データに対する生産行動パターンデータを生成することと、
(i)前記生産応答データと前記予測応答データ、および(ii)前記生産行動パターンデータと前記予測行動パターンデータの少なくとも一方比較に基づいて、異常な活動を検出することと、
前記異常な活動を検出した結果として、1つもしくは複数の修正動作を行って、前記製造プロセスにおける前記異常な活動に対処ることと、
を含む動作を、前記システムに行わせるものである、システム。
【請求項11】
前記動作は、
異常な活動のタイプおよび関連する信頼度を決定することと、
前記異常な活動の前記タイプおよび前記関連する信頼度に基づいて、前記1つまたは複数の修正動作を決定すること
をさらに含む、請求項10に記載のシステム。
【請求項12】
前記1つまたは複数の修正動作は、前記製造プロセスを停止させることを含む、請求項10に記載のシステム。
【請求項13】
前記1つまたは複数の修正動作は、前記異常な活動を確認するための通知を、前記製造プロセスのオペレータに送信することを含む、請求項10に記載のシステム。
【請求項14】
前記動作は、
前記異常な活動がマルウェア攻撃であるかどうかを決定することと、
前記異常な活動が前記マルウェア攻撃であると決定した結果として、前記工場のP/E/Cシステムの1つもしくは複数に前記製造プロセスにおける前記異常な活動に対処させるための前記修正動作を開始することと、を含む、請求項10に記載のシステム。
【請求項15】
前記修正動作は、前記工場のP/E/Cシステムの1つもしくは複数に前記製造プロセスにおける前記異常な活動に対処させるための、前記工場のP/E/Cシステムの1つもしくは複数に関連する1つまたは複数のデバイスに通信される個々のリレーのデジタル作動である、請求項14に記載のシステム。
【請求項16】
実行可能な命令を自身に記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は、コンピューティングシステムの1つまたは複数のプロセッサによって実行され結果として:
製造プロセス中の工場のプロセス、機器、および制御(P/E/C)システムの1つまたは複数から1つまたは複数の制御信号を受信することと、
深層学習プロセッサを用いて、前記1つまたは複数の制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、
前記工場のP/E/Cシステムの1つまたは複数から生産応答データを受信することと、
前記深層学習プロセッサを用いて、前記生産応答データに対する生産行動パターンデータを生成することと、
(i)前記生産応答データと前記予測応答データ、および(ii)前記生産行動パターンデータと前記予測行動パターンデータの少なくとも一方の比較に基づいて、異常な活動を検出することと、
前記異常な活動を検出した結果として、1つもしくは複数の修正動作を行って、前記製造プロセスにおける前記異常な活動に対処ることと、
を含む動作を、前記コンピューティングシステムに行わせるものである、非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記1つまたは複数の修正動作は、前記異常な活動を確認するための通知を、前記製造プロセスのオペレータに送信することを含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記動作は、
前記異常な活動がマルウェア攻撃であるかどうかを決定することと、
前記異常な活動が前記マルウェア攻撃であると決定した結果として、前記工場のP/E/Cシステムの1つもしくは複数に前記製造プロセスにおける前記異常な活動に対処させるための前記修正動作を開始することと、を含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記1つまたは複数の修正動作は、前記製造プロセスを停止させることを含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記動作は、
前記予測行動パターンデータと前記生産行動パターンデータの評価に基づいて、前記異常な活動の識別に関連する信頼度を決定することと、
前記信頼度に基づいて、前記製造プロセスにおける前記異常な活動に対処させるために実行すべき前記1つまたは複数の修正動作を識別することと、
をさらに含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年12月19日出願の米国仮出願第62/950,588号の利益を主張する2020年2月4日に出願された米国特許出願第16/781,193号の一部継続出願である2020年6月18日出願の16/904,984の優先権を主張し、その各々は、その全体が参照により本明細書に組み込まれる。また、本出願は、2020年2月28日に出願された米国仮出願第62/983,487号の利益を主張し、2019年11月20日に出願された米国仮出願第62/938,158号の利益を主張し、2019年11月7日に出願された米国仮出願第62/932,063号の利益を主張し、2019年11月6日に出願された米国仮出願第62/931,453号の利益を主張し、2019年10月8日に出願された米国仮出願第62/912,291号の利益を主張しており、その各々は参照によりその全体が本明細書に組み込まれるものとする。本出願は、2019年10月24日に出願された米国特許出願第16/663,245号にも関連し、その全体が本明細書に参照として組み込まれる。
【0002】
本開示は、一般に、工場のプロセス、機器、および制御システムを、工場の操業および管理(operation and control)を妨害し得る攻撃に対して動的に監視し、保護するためのシステム、装置、および方法に関する。
【背景技術】
【0003】
工場に対するマルウェア攻撃は急増し、非常に巧妙になってきている。さらに、これらのマルウェア攻撃は、孤立した閉じたコンピュータネットワークだけでなく、外部ネットワーク(例えば、4Gや5Gネットワーク)に接続された機械にも侵入できることが多い。これらの攻撃の多くは、工場のプロセス、機器、および制御(「P/E/C」)システム(本明細書では「工場の運営と制御」と呼ばれることもある)を標的としたものであることが多い。本明細書で使用されるマルウェアとは、例えば、コンピュータ、サーバ、コントローラ、コンピュータネットワーク、コンピュータ制御機器、データ、最終出力の品質や歩留まりに損害、混乱、または不正な操作またはアクセスなどを引き起こすハードウェアまたはソフトウェアのことである。マルウェアには、コンピュータウイルス、ワーム、トロイの木馬、スパイウェア、バックドアなど、一般にコンピュータシステムに害を及ぼす可能性のあるプログラムまたはファイルが含まれ得る。多くの場合、マルウェアは損害、混乱を与える、不正アクセスまたは不正操作(総称して「妨害」)を行うために意図的に設計されているが、妨害はソフトウェアおよび/またはハードウェアの非意図的な導入によっても発生する可能性がある。マルウェアには、コンピュータウイルス、ワーム、トロイの木馬、スパイウェア、バックドア、欠陥のある構成要素を含む、様々な形態をとり得るが、これらに限定されるものではない。マルウェアは、工場の運営や制御に微妙な変化をもたらすように設計されており、従来の情報技術(IT)セキュリティソリューションや従来のプロセス制御システムを回避できることが多い。工場の運営や制御に対する変化は微々たるものであり得ても、マルウェアの攻撃によって工場の生産高や機器にもたらされる影響は深刻で、壊滅的なものになる可能性がある。例えば、工場のプロセスや機器を制御するプログラム可能なロジックコントローラまたは他のコントローラにマルウェア攻撃を送り込み、コントローラのプログラミングを有害な方向に変更することができる(例えば、機器の動作を規定より速くまたは遅くすることを指示し、制御パラメータに急激または頻繁に変更を加える、制御パラメータを規定より大きく増減させることによる)。さらに、これらの攻撃は、機器が正常なレベルで動作しているという誤ったフィードバックをコントローラに与える可能性がある。その結果、コントローラは全てが正常に動作しているというフィードバックを受けることができ、ITセキュリティソリューションまたは従来のプロセス制御システムが起動しないことがある。そのため、機器または出力が不可逆的に損傷し、歩留まりが顕著に低下するまで、機器は、異常なレベルで動作を続ける可能性がある。マルウェアは、進行中の生産の効率や歩留まりの低下から、主要システムの致命的な故障や長期的な生産停止まで、様々な悪影響を及ぼす可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、工場のP/E/Cシステムや最終出力に深刻な損害が発生する前に、どんなに微細であっても異常な活動を動的に検出することによって、工場のプロセス、機器、および制御システムを動的に保護するための新しいメカニズムを提供することが望まれる。
【課題を解決するための手段】
【0005】
一例において、コンピュータ実装方法は、深層学習プロセッサによって、工場のプロセス、機器、および制御(P/E/C)システムのうちの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信することと、深層学習プロセッサによって、制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、深層学習プロセッサによって、工場のP/E/Cシステムのうちの1つまたは複数から生産応答データを受信することと、深層学習プロセッサによって、生産応答データに対して生産行動パターンデータを生成することと、(i)生産応答データと予測応答データ、および(ii)生産行動パターンデータと予測行動パターンデータの少なくとも一方を比較し、異常な活動を検出することと、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させることと、を含む。
【0006】
いくつかの例では、1つまたは複数の動作は、異常な活動がマルウェア攻撃であるかどうかを決定することと、異常な活動がマルウェア攻撃であるという決定の結果として、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるための警告プロトコルを開始することと、を含む。
【0007】
いくつかの例では、警告プロトコルは、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるための、工場のP/E/Cシステムに関連する1つまたは複数のデバイスに通信される個々のリレーのデジタル作動である。
【0008】
いくつかの例では、1つまたは複数の動作は、製造プロセスを停止することを含む。
【0009】
いくつかの例では、生産応答データは、工場のP/E/Cシステムの1つまたは複数に関連する1つまたは複数のプロセスステーションに関連する設定値を調整することによって得られる。
【0010】
いくつかの例では、異常な活動は、生産応答データと予測応答データが偏差を示す結果として検出される。
【0011】
いくつかの例では、異常な活動は、生産行動パターンデータと予測行動パターンデータが偏差を示す結果として検出される。
【0012】
いくつかの例では、1つまたは複数の動作は、異常な活動を確認するための通知を、製造プロセスのオペレータに送信することを含む。
【0013】
いくつかの例では、コンピュータ実装方法は、生産応答データと予測応答データとの比較に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行すべき1つまたは複数の動作を識別することと、をさらに含む。
【0014】
いくつかの例では、コンピュータ実装方法は、生産行動パターンデータと予測行動パターンデータとの比較に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行すべき1つまたは複数の動作を識別することと、をさらに含む。
【0015】
一例では、システムは、1つまたは複数のプロセッサと、命令を自身に記憶するメモリと、を含み、その命令は、1つまたは複数のプロセッサによって実行される結果として:工場のプロセス、機器、および制御(P/E/C)システムのうちの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信し、制御信号に対する予測応答データおよび予測行動パターンデータを生成し、工場のP/E/Cシステムのうちの1つまたは複数から生産応答データを受信し、生産応答データに対する生産行動パターンデータを生成し、生産応答データと予測応答データ、および生産行動パターンデータと予測行動パターンデータとの少なくとも一方の比較に基づいて、異常な活動を検出し、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させることを、システムに行わせるものである。
【0016】
いくつかの例では、命令はさらに、システムに、異常な活動のタイプおよび関連する信頼度を決定すること、および異常な活動のタイプおよび関連する信頼度に基づいて1つまたは複数の動作を決定すること、を行わせる。
【0017】
一例では、非一時的なコンピュータ可読記憶媒体は、実行可能な命令をそれ自体に記憶するものであって、その命令は、コンピュータシステムの1つまたは複数のプロセッサによって実行される結果として:工場のプロセス、機器、および制御(P/E/C)システムの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信し、制御信号に対する予測応答データおよび予測行動パターンデータを生成し、工場のP/E/Cシステムの1つまたは複数から生産応答データを受信し、生産応答データに対する生産行動パターンデータを生成し、生産応答データと予測応答データ、および生産行動パターンデータと予測行動パターンデータとの少なくとも一方の比較に基づいて、異常な活動を検出し、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させることを、コンピュータシステムに行わせるものである。
【0018】
いくつかの例では、実行可能命令はさらに、コンピュータシステムに、予測行動パターンデータおよび生産行動パターンデータの評価に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行すべき1つまたは複数の動作を識別することと、を実行させる。
【0019】
本開示の上記および他の利点と特徴を得ることができる方法を説明するために、添付図面に例示されているその特定の実施形態を参照することによって、上記で簡単に説明した原理のより具体的な説明を行う。これらの図面は、本開示の例示的な実施形態のみを描いており、したがって、その範囲を限定するものとはみなされないことを理解した上で、本明細書の原理は、添付図面の使用を通じて、さらなる具体性および詳細性をもって記載、説明されるものである。
【図面の簡単な説明】
【0020】
図1】工場のP/E/Cシステムの動作中に深層学習プロセッサに入力を提供する方法の例を示している。
【0021】
図2】深層学習プロセッサの訓練方法の例を示している。
【0022】
図3】工場のP/E/Cシステムで生成される応答データのサブセットに対する行動パターンの例を示している。
【0023】
図4】工場のP/E/Cシステムの異常な活動を監視および検出するために、訓練された深層学習プロセッサを配備する方法の例を示している。
【0024】
図5】データ警告を記録および作成する方法の例を示している。
【0025】
図6】様々な実施形態による接続を使用して互いに電気的に通信する様々な構成要素を含むコンピューティングシステムアーキテクチャの例示的な例を示している。
【発明を実施するための形態】
【0026】
以下に示す詳細な説明は、主題技術の様々な構成の説明として意図されており、主題技術を実施することができる唯一の構成を表すことを意図していない。添付の図面は、本明細書に組み込まれ、詳細な説明の一部を構成する。詳細説明には、主題技術をより深く理解するための具体的な詳細を含んでいる。しかしながら、主題技術は、本明細書に記載された特定の詳細に限定されず、これらの詳細なしに実施され得ることは明らかであり、明白であろう。本主題技術の概念を曖昧にしないために、構造や構成要素をブロック図で示す場合がある。
【0027】
工場での製造は、自動制御される多くのプロセスステーションに依存している。これらの自動制御されたプロセスステーションは、マルウェアからの攻撃に対して脆弱であり、早期に検出されないと、妨害や修復不可能なダメージを機器や製品の歩留まりに与える可能性がある。工場がマルウェアにさらされることを理解するために、製造プロセスに関する背景を説明する。本明細書では、「製造プロセス」と「工場プロセス」を同じ意味で使用していることに留意されたい。本明細書に開示された動的な監視および保護メカニズムは、製造または工場のP/E/Cシステムを指しているが、動的な監視および保護メカニズムは、発電所、電力網、公益事業、電気通信、金融、健康、および輸送施設などの産業制御システムを配備する任意の産業環境またはインフラ施設に適用することも可能である。
【0028】
本明細書におけるP/E/Cシステムへの言及は、複数で言及されているが、P/E/Cシステムの全てを意味するのではなく、1つまたは複数のP/E/ Cシステムを意味すると理解されることに留意されたい。例えば、P/E/Cシステムからの応答データは、P/E/Cシステムの1つまたは複数からの応答データを意味すると理解される。
【0029】
特に、製造は複雑であり、最終製品(本明細書では「最終出力」と呼ぶ)が製造されるまで原材料を処理する異なるプロセスステーション(または「ステーション」)から構成される。最終プロセスステーションを除き、各プロセスステーションは処理のための入力を受信し、追加処理のために1つまたは複数の後続(下流)処理ステーションに渡される中間出力を出力する。最終プロセスステーションは、処理のための入力を受信し、最終出力を出力する。
【0030】
各プロセスステーションは、受け取った原材料(これは、製造プロセスにおける第1のステーションまたは後続のステーションのいずれかに適用され得る)および/または前のステーションからの受け取った出力(これは、製造プロセスにおける後続のステーションのいずれかに適用される)に対して一連のプロセスステップを実行する1つまたは複数のツール/機器を含み得る。プロセスステーションの例としては、コンベアベルト、射出成形プレス、切断機、型打ち抜き機、押出機、CNCミル、研削盤、組立ステーション、3Dプリンタ、ロボットデバイス、品質管理および検証ステーションなどが挙げられる得が、これらに限定されない。プロセスステップの例としては、ある場所から別の場所への出力を搬送(ベルトコンベアによって行われる)することと、材料を押出機に供給し、材料を溶かし、金型キャビティを通して材料を注入することであって、キャビティの構成に合わせて冷却して固める(射出成形プレスによって行われる)ことと、材料を特定の形状または長さに切断する(切断機によって行われる)ことと、材料を特定の形状にプレスする(型打ち抜き機によって行われる)こととが含まれ得る。
【0031】
製造プロセスでは、プロセスステーションは並列または直列で動作することができる。並列動作する場合、1つのプロセスステーションはその中間出力を2つ以上のステーション(例えば、1~N個のステーション)に送ることができ、1つのプロセスステーションは2~N個のステーションから中間出力を受信して結合することができる。さらに、1つのプロセスステーションは、製造プロセスの1回の反復において、受け取った原材料または中間出力に対して、同じプロセスステップまたは異なるプロセスステップを、順次または非順次に実行することができる。
【0032】
各プロセスステーションの動作は、1つまたは複数のプロセスコントローラによって管理され得る。いくつかの実装では、各プロセスステーションは、プロセスステーションの動作を制御するようにプログラムされた1つまたは複数のプロセスコントローラ(本明細書では「ステーションコントローラ」または「プロセスコントローラ」と呼ぶ)を有する(プログラミングアルゴリズムは本明細書では「制御アルゴリズム」と呼ぶ)。しかし、いくつかの態様では、1つのプロセスコントローラが2つ以上のプロセスステーションの動作を制御するように構成され得る。工場コントローラの一例として、プログラム可能なロジックコントローラ(PLC)がある。PLCは、製造プロセスやシステムを動作するためにプログラムすることができる。PLCまたは他のコントローラは、接続されたセンサまたは入力デバイスから情報を受け取り、データを処理し、事前にプログラムされたパラメータと命令に基づいて出力(例えば、関連するプロセスステーションの1つまたは複数の制御値を制御するための制御信号)を生成することができる。プロセスコントローラの他の例としては、分散制御システム(DCS)、監視制御およびデータ収集システム(SCADA)が挙げられるが、これらに限定されない。
【0033】
オペレータまたは制御アルゴリズムは、ステーションコントローラが制御する各プロセスステーション制御値について所望の単一値または値の範囲を表すステーションコントローラ設定値(または「設定値」または「コントローラ設定値」またはCSP)をステーションコントローラに提供することができる。ステーションの機器またはプロセスの動作中に測定できる値は、制御値またはステーション値に分類される。本明細書では、ステーションコントローラで制御される値を制御値、本明細書では、それ以外の測定値をステーション値として分類する。制御値および/またはステーション値の例としては、速度、温度、圧力、真空、回転、電流、電圧、電力、粘度、ステーションで使用する材料/資源、処理速度、停止時間、有害ガス、ステーションで行うステップのタイプと順序などがあるが、これらに限定されるものではない。例は同じであるが、測定値が制御値またはステーション値に分類されるかは、特定のステーションに依存し、測定値がステーションコントローラによって制御されるか、単にステーションの動作の副産物であるかによる。製造プロセスでは、制御値はステーションコントローラに供給されるが、ステーション値は供給されない。
【0034】
制御アルゴリズムは、制御値を監視し、制御値を対応する設定値と比較し、制御値が対応するステーションコントローラ設定値と等しくない(または規定された範囲内にない)ときに取るべき行動を決定するための命令も含むことができる。例えば、測定されたステーションの温度の現在値が設定値より低い場合、ステーションの現在値温度が設定値に等しくなるまでステーションの熱源の温度を上げるために、ステーションコントローラによって制御信号が送信され得る。製造プロセスでステーションの制御に用いられる従来のプロセスコントローラは、制御値が設定値から外れた場合にどのようなアクションを行うかを規定する静的アルゴリズム(例えば、オン/オフ制御、PI制御、PID制御、リード/ラグ制御)に従うため、限界があった。
【0035】
1つまたは複数のセンサが、各プロセスステーション内に含まれるか、または各プロセスステーションに結合されることができる。これらは、深層学習プロセッサ118の動作とは無関係の製造プロセスに存在する物理的または仮想的なセンサ、アナログまたはデジタル、ならびに深層学習プロセッサ118が必要とする任意の追加の測定を実行するために追加することができる任意の新しいセンサとすることができる。センサは、製造プロセスで生成される値、例えば、ステーション値、制御値、中間出力値、最終出力値などを測定するために使用することができる。センサの例としては、位置や速度を検出するためのロータリーエンコーダ、近接、圧力、温度、レベル、流量、電流、電圧を検出するセンサ、存在または移動の限界の終端などの状態を検出するリミットスイッチなどが含まれ得るが、これらに限定されるものではない。本明細書で使用されるセンサは、センシングデバイスと信号調整の両方を含む。例えば、センシングデバイスがステーションまたは制御値に応答し、信号調整器がその応答を、深層学習プロセッサまたはステーションコントローラが使用し解釈できる信号に変換する。温度に応答するセンサの例として、RTD、熱電対、白金測温抵抗プローブなどがある。ひずみゲージ式センサは、とりわけ、圧力、真空、重量、距離の変化などに応答する。近接センサは、物体同士が一定の距離、または指定されたタート内にあると応答する。これらの例の全てでは、ステーションコントローラや深層学習プロセッサが使用できる信号に応答を変換する必要がある。多くの場合、センサの信号調整機能によってデジタル信号が生成され、ステーションコントローラがそれを解釈する。また、信号調整器は、とりわけ、アナログ信号またはTTL信号を生成することができる。ソフトセンサ、スマートセンサ、またはエスティメーターとも呼ばれるバーチャルセンサは、物理センサからのデータを受信して処理することができるシステムモデルを含む。
【0036】
本明細書で使用するプロセス値とは、製造プロセスの一部である一連のステーション(またはステーションのサブセット)全体にわたって集約または平均化されるステーション値または制御値のことを指す。プロセス値としては、例えば、総処理時間、総使用リソース、平均温度、平均速度などが挙げられ得る。
【0037】
ステーションおよびプロセス値に加えて、プロセスステーションの製品出力(すなわち、中間出力または最終出力)の様々な特性は、例えば、温度、重量、製品寸法、機械的、化学的、光学的および/または電気的特性、設計欠陥数、欠陥タイプの存在または欠如を測定することが可能である。測定可能な様々な特性は、一般的に「中間出力値」または「最終出力値」と呼ばれることになる。中間/最終出力値は、中間/最終出力の単一の測定された特性、または、所定の式に従って測定され重み付けされた中間/最終出力に関連する特性の指定された集合に基づく総合スコアを反映させることができる。
【0038】
機械的特性には、硬度、圧縮、タック、密度、重量を含めることができる。光学特性には、吸収、反射、透過、屈折を含めることができる。電気的特性には、電気抵抗率や導電率が含まれ得る。化学的性質には、生成エンタルピー、毒性、所定の環境下での化学的安定性、燃焼性(燃える能力)、好ましい酸化状態、pH(酸性/アルカリ性)、化学組成、沸点、蒸気点)が含まれ得る。開示されている機械的特性、光学的特性、化学的特性、および電気的特性は一例であり、限定することを意図したものではない。
【0039】
マルウェアは、多くの方法で工場のP/E/Cシステムの適切な機能を中断させるように設計することができる。例えば、コンピューティングデバイス上で実行されるマルウェアは、ステーションコントローラに制御信号を関連するプロセスステーションに送信させ、機器自体やその出力に有害なレベルで動作させる可能性がある。また、このマルウェアは、有害な速度で制御値を変動させたり、有害な増分で制御値を変動させたりする可能性がある。さらに、マルウェアやその他の悪意のあるアプリケーションを実行するコンピューティングデバイスは、ステーションコントローラに誤ったフィードバックを提供し得、コントローラが関連するプロセスステーションの有害な状態に気づかず、したがって必要な調整を行わない可能性がある。また、マルウェアは、1つまたは複数のセンサを標的として、製造プロセスで生成される測定値を操作したり、破損させたりするように設計されることもできる。マルウェアは、製造プロセスで生成されるデータや、ステーションプロセッサ、コントローラ、データ処理サーバ、センサなど、製造プロセスに関わる構成要素間で通信されるデータを傍受または監視するようにも設計され得る。
【0040】
マルウェアの侵入を防ぐために、ウイルス対策ソフトやファイアウォール、その他の方策などの様々なITソリューションが存在するが、マルウェアはこうしたソリューションを回避する能力がより高度になってきている。開示された技術は、工場のプロセス、機器、および制御システムの運営と制御による測定値や出力を動的に監視し、マルウェアの存在やその他の有害な、あるいは予測外のシステムの変化による混乱、あるいは予測外の変化を識別することに焦点を当てている。従来からある手法(例えば、統計的プロセス管理(SPC))には、工場の運営や制御が一定の限界を超えた場合に警告を出すものがあるが、工場の運営や制御がうまく管理されている場合に警告を出すものではなく、多くのステーションにわたる傾向または複数のステーションを合わせた影響を分析するのには限界がある。
【0041】
したがって、製造プロセスへの損害が発生する前に、どんなに微細であっても異常な活動を動的に検出し、機械的、デジタル、および/または機能的な警告を提供することによって、工場のプロセス、機器、および制御システムを保護するための新しいメカニズムを提供することが望まれる。また、各ステーション(および関連するコントローラ)の入出力を個別に、および製造プロセスにおける他のステーション(および関連するコントローラ)の入出力と合わせて監視し、異常な活動を動的に識別して、機械的、デジタル、および/または機能的な警告を提供するメカニズムを提供することが望ましい。いくつかの例では、異常な活動は、マルウェアの導入によって引き起こされる可能性があるが、異常な活動は、マルウェアを超えて、工場のP/E/Cシステムを妨害する他の原因をより一般的に指すことができると理解されている。
【0042】
機械学習(ML)または人工知能(AI)モデルに基づく深層学習プロセッサは、典型的な工場制御および運営からの任意の変動を識別するために、関連するステーションコントローラ設定値、関数的事前分布(functional prior)、経験的事前分布(experiential prior)、および/または汎用入力と共に、制御値、ステーション値、プロセス値、データ出力、および/または中間および最終出力値(総称して「応答データ」)を評価するのに使用されてもよい。当業者に理解されるように、機械学習に基づく技術は、開示された技術から逸脱することなく、所望の実装に応じて変化させることができる。例えば、機械学習技術は、隠れマルコフモデル;リカレントニューラルネットワーク;畳み込みニューラルネットワーク(CNN);深層学習;ベイズ記号法;強化学習、敵対的生成ネットワーク(GAN);サポートベクターマシン;画像登録法;長期短期メモリ(LSTM)など、単独または組み合わせで1つまたは複数のものを利用可能である。
【0043】
機械学習モデルは、クラスタリングアルゴリズム(例えば、ミニバッチK-手段クラスタリングアルゴリズム)、推薦アルゴリズム(例えば、ミニワイズハッシングアルゴリズム、またはユークリッド局所性鋭敏型ハッシュ(LSH)アルゴリズム)、および/またはローカル外れ値因子などの異常検出アルゴリズムに基づくことも可能である。機械学習モデルは、教師ありおよび/または教師なし手法に基づくことができる。
【0044】
本明細書で論じる機械学習モデルは、最終出力値に最も影響を与えるプロセスステーション、制御、ステーション、またはプロセス値および中間出力値(「キーインフルエンサー」)を決定し、キーインフルエンサーをターゲットにしてマルウェア攻撃の検出を最適化するために使用することもできる。
【0045】
図1は、製造プロセスにおける任意の数(本明細書では「N」と呼ぶ)の処理ステーションの異常な活動を動的に監視するように構成され得る、深層学習プロセッサ118の例を示す。図1では、製造プロセスのN個の処理ステーションをプロセスステーション122と142で表現している。プロセスステーションは、直列または並列に動作させることができる。
【0046】
ステーションコントローラ120および140への設定値、アルゴリズム、初期入力および動作命令、システムおよびプロセスの更新、および他の制御入力(それぞれステップ820および840)は、ローカルまたは中央データ処理サーバ800によって提供され得る。いくつかの実施形態では、データ処理サーバ800は、ネットワーク上の1つまたは複数のコンピュータであり得る。いくつかの実施形態では、ステップ820および840は、オペレータによって手動で実行することができる。データ処理サーバ800は、いくつかの実施形態において、ステーションコントローラ120および140によって生成されたデータ出力(それぞれステップ821および841)、ならびにプロセスステーション122もしくは142に結合されたまたはその中のセンサによって、または独立したセンサ127および137から生成されたデータも受信することができる。データ出力には、以下のものが含まれるが、これらに限定されない。(i)製造プロセス中に生成されたデータ(例えば、物理的センサ、プロセスステーション構成要素、またはステーションコントローラ構成要素に結合されたデータログ)、(ii)各プロセスステーションまたはステーションコントローラによって受信または送信されたデータ、および(iii)個別または任意の数のプロセスステーションまたはステーションコントローラのデータ通信とデータ生成パターン(例えば、高いデータ量、低いデータ量、不規則なデータ量、時間帯、データの起源または目的に基づいて異常なデータ通信またはデータ生成)である。さらなる実施形態では、データ処理サーバ800は、図2および4に関連して規定されるように、全ての応答データを受信することができる。いくつかの実施形態では、データ出力は、深層学習プロセッサ118に提供され得る(ステップ830)。他の実施形態では、深層学習プロセッサ118を分離するために、データ処理サーバは、深層学習プロセッサ118にいかなる入力も与えない。いくつかの実施形態では、データ処理サーバ800は、遠隔の地理的位置で発生する関連する製造プロセスからデータを受信し、そのようなデータを深層学習プロセッサ118に提供することも可能である。さらなる実施形態では、工場が分析を行うために収集するデータ、および制御室などの分析データは、データ処理サーバ800によって収集され得る。図1には、データ処理サーバ800への全てのデータ入力が示されているわけではない。
【0047】
汎用入力136、経験的事前分布139、関数的事前分布138、およびN個のステーション(例えば、122および142)のそれぞれからの値は、深層学習プロセッサ118に提供され得る。他の実施形態では、任意の数の追加の深層学習プロセッサを使用し、製造プロセスにおけるN個の処理ステーションの異常な活動を動的に監視するように構成することができる。
【0048】
本明細書で使用する関数的事前分布とは、製造プロセスにおける各プロセスステーションの機能性および既知の制限に関連する情報を個別におよび集合的に指す。プロセスステーションで使用される機器の仕様は、全て関数的事前分布とされる。例えば、関数的事前分布は、スクリューが回転できる最小速度と最大速度を有するスクリュー駆動押出機、その加熱および冷却能力に基づいて達成可能な最大温度と最小温度を有する温度制御システム、爆発する前に収容できる最大圧力を有する圧力容器、燃焼する前に到達できる最大温度を有する可燃性液体を含み得るが、これらに限定されるわけではない。関数的事前分布には、製造プロセスの一部である個々のステーションがその機能を発揮する順序も含まれ得る。さらに、関数的事前分布には、正規のプロセス変動と正規のプロセスノイズを含めることができる。通常のプロセスの変動には、機械公差(例えば、温度制御の変動+/-1degC、コンベア速度の変動+/-0.1m/min、圧力の変動+/-3kPa)、原材料の変動、冷却水の温度変動、オペレータのミスによる変動が含まれ得、通常のプロセスノイズには、例えば、電気信号のジッターやデータ収集および記録における丸め誤差が含まれ得る。
【0049】
本明細書で使用される経験的事前分布とは、例えば、同じまたは類似の製造プロセスの実行;同じまたは類似のステーションの動作;同じまたは類似の中間/最終出力の生成;製造プロセスおよび解決策に対する最終出力における欠陥または不具合の根本原因分析による事前経験によって得られる情報を指す。いくつかの実施形態では、経験的事前分布は、許容最終出力値または非許容最終出力値を含むことができる。許容最終出力値とは、最終出力が「仕様通り」とみなされる最終出力値の上限/下限、または範囲を指す。言い換えれば、許容最終出力値は、設計仕様を満たす、すなわち仕様通りである最終出力値のパラメータを記載している。逆に、非許容最終出力値とは、最終出力が「仕様外」となる最終出力値の上限/下限または範囲を指す(つまり、設計仕様を満たさない最終出力値のパラメータを記載する)。例えば、配管をシールするためのOリングは、これまでの経験から、ある圧縮特性を持たせないとシールできないことが分かっている場合がある。この情報は、O-リングの最終出力における許容圧縮値/非許容圧縮値を設定するために使用することができる。言い換えれば、許容圧縮値を有する全てのOリング最終出力はシール機能を実行することができるが、非許容圧縮値を有する全てのOリング最終出力はシール機能を実行することができない。許容中間出力値とは、ステーションごとに規定でき、中間出力値の上限/下限、または範囲を指し、他のステーションによる修正動作を必要とせず、最終的に仕様通りの最終出力となり得る中間出力のパラメータを規定する。非許容中間出力値とは、ステーションごとに規定することもでき、他のステーションで修正動作を行わない限り、最終的に仕様に合わない最終出力をもたらす中間出力のパラメータを規定する中間出力値の上限/下限または範囲を指す。
【0050】
同様に、製造プロセスに関連する他の変数についても、許容/非許容パラメータを規定することができる。
【表1】
経験的事前分布には、許容および非許容製造性能の指標を含めることもできる。製造性能指標は、製造プロセスの複数の反復の1つまたは複数の側面を計算する(例えば、特定期間の生産量、特定期間の生産ダウンタイム、特定期間または特定数の最終出力に使用されるリソース、特定期間の仕様にない製品の割合、特定のオペレータの生産量、特定数の最終出力に関連する材料コスト)。
【0051】
本明細書で使用する汎用入力とは、特定のプロセスステーションに固有のものではなく、製造プロセス全体の側面を示す値を指し、例えば、日付、時間帯、周囲温度、湿度、その他製造プロセスに影響を与える可能性のある環境条件、オペレータ、オペレータのスキルレベル、プロセスで使用する原材料、原材料に固有の特性のうち色、粘性、粒子サイズなどの原材料仕様、原材料の特定のロット番号やコスト、各ステーション用の機器/ツールの保有期間、製造作業指示書番号、バッチ番号、ロット番号、完成品番号、完成品シリアル番号などの識別情報などである。
【0052】
関数的事前分布、経験的事前分布および汎用入力の各々について提供された例は、これらの例を分類する1つの方法を表しており、他の適切な分類が使用され得ることに留意されたい。例えば、深層学習プロセッサ118に提供される入力を分類する別の方法は、前プロセス入力(例えば、経験的事前分布、関数的事前分布、材料特性、スケジュール要件)、プロセス内入力(例えば、汎用入力、制御値、ステーション値、中間値、最終出力値、プロセス値)、後プロセス入力(例えば、製造性能指標および他の分析)である。さらに、機能的および経験的事前分布を、製造プロセスを通じて動的に更新することができる。
【0053】
各プロセスステーションは、1つまたは複数の関連するステーションコントローラによって制御され得る(例えば、ステーションコントローラ120は、プロセスステーション122を制御し、ステーションコントローラ140は、プロセスステーション142を制御する)。一実施形態では、1つのステーションコントローラが複数のプロセスステーションを制御したり、または、1つのプロセスステーションに関連する複数の制御値を制御することができる。いくつかの実施形態において、深層学習プロセッサ118は、予測プロセス制御または予めプログラムされたアルゴリズムに基づく制御入力(126および146によって表される)を各プロセスステーションコントローラに提供することができる。予測プロセス制御は、「Predictive Process Control for a Manufacturing Process」と題する米国特許出願第16/663,245号に記載されており、その全体が参照により本明細書に組み込まれる。他の実施形態では、深層学習プロセッサは、ステーションコントローラに対していかなる入力も提供しない。
【0054】
信号調整器190、191、192、193、例えば信号分割器、増幅器、デジタル-アナログ変換器、アナログ-デジタル変換器、TTLは、制御信号(例えば、121は121aと121bに、141は141aと141bに分割され)および制御値(例えば、125は125aと125bに分割され、145は145aと145bに分割される)を分割するために含むことができるので、制御信号と制御値は、深層学習プロセッサ118と関連ステーションコントローラ(例えば、120または140)の両方に送信される。制御値には、アナログ信号とデジタル信号があり得る。さらに、いくつかの実施形態による信号調整器は、深層学習プロセッサ内に含まれることができ、全てのアナログ値をデジタル値に変換するか、または他の調整を実行することができる。各ステーションコントローラは、ステーションの制御値(例えば、制御値125および145)を調節するためのコマンドを提供する1つまたは複数の制御信号(例えば、121および141)を提供することが可能である。各ステーションは、中間出力値(例えば、124と144)を出力し、その中間出力値(それぞれ134aと144a)を有する。処理ステーションからの全ての中間出力値および最終出力値(例えば、プロセスステーション142がプロセスの最終プロセスステーションである場合、144)は、深層学習プロセッサ118に提供される。各ステーションはまた、深層学習プロセッサ118に提供され得るステーション値(例えば、128および148)を出力する。図1はまた、中間出力124が、単一のステーションまたは任意の数の複数のステーションを表すことができる1つまたは複数の後続のステーションに送られる(ステップ150)ことを示している。図1に示すように、ステーション142は、任意の数の先行ステーションから中間入力を受信することができる(ステップ160)。いくつかの実施形態では、ステーションコントローラ(例えば、コントローラ120および140)によって使用される設定値は、深層学習コントローラ118に送信され得る。さらに、製造プロセスに関連する値は、独立したセンサ(例えば、独立したセンサ127および137)によって測定され、深層学習コントローラ118に提供されることが可能である。
【0055】
深層学習プロセッサ118、ステーションコントローラ、プロセスステーション、およびデータ処理サーバ800の間の通信は、1つまたは複数の他のデバイスと通信する能力、および/またはコンピュータネットワークとデータを取引する能力を提供する任意の適切な通信技術を使用できることが理解される。例として、実装された通信技術には、アナログ技術(例えば、リレーロジック)、デジタル技術(例えば、RS232、イーサネット、または無線)、ネットワーク技術、例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、Bluetooth技術、近距離通信技術、安全RF技術、および/または他の任意の適切な通信技術を含み得るが、それだけに限られるわけではない。いくつかの実施形態では、深層学習プロセッサ118が任意のマルウェアに感染することから隔離するために、深層学習プロセッサ118は、任意のプロセスコントローラ、データ処理サーバ800、またはネットワークに接続された任意のコンピュータから任意の入力を受信しないことができる。いくつかの実施形態では、深層学習プロセッサ118は、データが深層学習プロセッサに提供される前に、任意のプロセスコントローラ、データ処理サーバ800、またはネットワークに接続された任意のコンピュータから、任意のマルウェアをスクラブされたメモリデバイスを介して入力を手動または間接的に受信する。
【0056】
いくつかの実施形態では、オペレータ入力は、任意の適切な入力デバイス(例えば、キーボード、マウス、ジョイスティック、タッチ、タッチスクリーンなど)を使用して、深層学習プロセッサ118、および/またはステーションコントローラもしくはプロセスステーションのいずれかに通信され得る。
【0057】
図2は、開示された主題のいくつかの実施形態による、深層学習プロセッサ118を調整(訓練)するための方法200を提供する。方法200は、深層学習プロセッサ118を実装するように構成されたハードウェアおよび/またはソフトウェアを提供し得る制御システムまたは他のコンピューティングシステムによって実行されてもよい。
【0058】
ステップ205において、製造プロセスにおける各ステーションコントローラの設定値、アルゴリズム、および他の制御入力は、従来の制御方法を使用して初期化され、深層学習プロセッサ118に提供され得る(ステップ215)。他の実施形態では、製造プロセスにおける各ステーションコントローラの設定値、アルゴリズム、および他の制御入力は、米国特許出願第16/663,245号「Predictive Process Control for a Manufacturing Process」に記載されているように、予測プロセス制御(ステップ245)を使用してステーションコントローラに提供することが可能である。ステーションコントローラに提供される制御値、制御アルゴリズム、設定値、およびその他の情報(例えば、プロセスタイミング、機器命令、アラーム警告、緊急停止)は、「ステーションコントローラ入力」または「制御入力」と総称することができることに留意されたい。加えて、製造プロセスがプロセスステーションを反復するとき、プロセスステーションに送信される任意の制御信号、ステーションコントローラに提供される任意の制御入力、および/または任意の調整された設定値は、全て深層学習プロセッサ118に提供され得る。さらに、関数的事前分布138、経験的事前分布139、および汎用入力136のような他の入力を深層学習プロセッサ118に提供することができる。
【0059】
ステップ210において、製造プロセスは、従来のプロセス制御方法または予測プロセス制御方法を用いて、所定の時間、全てのプロセスステーションを反復する。上述したように、本明細書で説明するプロセスステーションは、直列または並列で動作させることができる。さらに、1つのステーションで、1つのプロセスステップを複数回(順次または非順次)実行したり、製造プロセスの1回の反復で異なるプロセスステップ(順次または非順次)を実行することができる。プロセスステーションは中間出力を生成し、最終ステーションであれば最終出力を生成する。中間出力は、最終出力が生成されるまで、製造プロセスの後続(下流)ステーションに送信される。さらなる実施形態では、最終出力用の構成要素の製造は、非同期かつ地理的に分散させることができる。つまり、最終出力用の構成要素は、いつでもどこでも製造可能であり、必ずしも構成要素を最終出力に組み立てるのに近接した時間や場所で製造する必要はない。例えば、自動車のヘッドライトは、そのヘッドライトを搭載した自動車が組み立てられる数カ月前に製造され得る。
【0060】
プロセスが各ステーションを通して反復するとき、以下のものに関連する全ての値が、:個々のステーション(例えば、制御値);個々のステーションの出力(例えば、ステーション値、中間/最終出力値、データ出力)、または複数のステーション(例えば、プロセス値)が測定または計算されて、深層学習プロセッサ118の機械学習アルゴリズムを調整するために提供される(ステップ226、227、228、229)。いくつかの実施形態では、生成されたデータ出力226は、深層学習プロセッサ118に提供されないことに留意されたい。いくつかの実施形態では、従来の制御下の製造プロセスに関する製造性能指標(例えば、指定された期間の生産量、指定された期間の生産ダウンタイム、指定された期間または指定された数の最終出力に使用されるリソース、指定された期間の仕様にない製品の割合、特定のオペレータの生産量、指定された数の最終出力に関連する材料コスト)が計算され、深層学習プロセッサ118に提供され得る(ステップ229)。
【0061】
図示されていないが、プロセスステーションからの受信制御値に応答してステーションコントローラによって取られる(または生成される制御信号)任意のアクション、ならびに任意の制御入力が、深層学習プロセッサ118に提供され得る。このようなアクションには、温度や速度などを調整することが含まれ得る。図2には、深層学習プロセッサ118に提供される全てのデータ入力が示されているわけではないことに留意されたい。
【0062】
深層学習プロセッサ118への全ての入力は、電子的に、またはオペレータによる手動的手段を介して入力することができる。
【0063】
深層学習プロセッサ118の機械学習モデルの調整は、教師なし学習法により実現することができる。深層学習プロセッサ118に入力される関数的事前分布138、経験的事前分布139、汎用入力136以外に、深層学習プロセッサ118は、製造プロセスの反復中(例えば、ステップ226、227、228、229)に収集する受信データを分析するだけで推論を描く。他の実施形態では、深層学習プロセッサ118は、教師あり学習方法、または教師ありおよび教師なし方法の組み合わせ、または類似の機械学習方法を介して調整することができる。さらに、深層学習プロセッサ118の訓練は、以下によって増強することができる:深層学習プロセッサ118に、シミュレーションデータまたは類似の製造プロセスからのデータを提供する。一実施形態では、深層学習プロセッサ118は、深層学習プロセッサ118を類似の製造プロセスに実装し、ターゲット製造プロセスへの実装中に深層学習プロセッサを微調整することによって、調整され得る。すなわち、深層学習プロセッサ118の訓練は、深層学習プロセッサ118がターゲット製造環境に配備される前に実行される訓練プロセスを用いて実行することができる。さらなる実施形態では、深層学習プロセッサ118は、ターゲット製造環境に配備され、訓練され、十分に訓練されると、異常な活動およびマルウェア攻撃についてターゲット製造環境を監視することに関するその機能が有効にされ得る(図4、ステップ436~440に関連して説明されるように)。
【0064】
図2に示すように、深層学習プロセッサ118は、機械学習(ML)モデルを採用する(ステップ239)。これらの機械学習モデルは、工場の操業および管理データを分析し(ステップ242)、製造プロセスがプロセスステーションを反復する際に生成される応答データに対して行動パターンデータを生成し(ステップ243)、通常のプロセス変動データおよびノイズデータを決定する(ステップ244)ことで調整が可能である。
【0065】
深層学習プロセッサ118の機械学習モデルの調整は、識別された処理ステーションに対する特定の制御値を調節するために使用される各設定値に対する工場の操業および管理データを受信し、分析することを含むことができる。工場の操業および管理データには、以下のものを含めることができる。(i)設定値に対応する特定の制御値、(ii)識別されたプロセスステーションによって生成された他の制御値(およびそれらに対応する設定値)、(iii)識別されたプロセスステーションによって生成されたステーション値、(iv)識別されたプロセスステーションによって生成された中間出力値、(v)他のプロセスステーションによって生成される制御値(およびそれらに対応する設定値)、ステーション値、中間出力および最終出力、(vi)汎用入力、関数的事前分布、経験的事前分布、(vii)各プロセスステーションに与えられる制御信号および他の命令、(viii)各ステーションコントローラへ与えられる制御入力、(ix)データ出力、(x)独立センサから受け取った工場の制御および運営に関連する測定値である。独立したセンサとは、通常の製造プロセスに含まれるセンサを越えて、測定を行うセンサを指すことがある。独立したセンサは通常の製造プロセスの一部ではないため、マルウェアの侵入から保護されていることが多い。いくつかの実施形態では、これらの独立したセンサは、単一の機械またはプロセスステップに直接結びついておらず、任意の機械またはプロセスステップ(例えば、製造プロセス中にランダムに測定を行うハンドヘルドデバイス)からの値を測定するために流動的に使用することが可能である。いくつかの実施形態では、独立したセンサは、深層学習プロセッサ118に加えて、またはその代わりに、その出力された値を結合されたモニタに提供することができる。モニタに排他的に提供される値は、いくつかの実施形態によれば、深層学習プロセッサ118に手動で入力することができる。深層学習プロセッサ118は、工場の操業および管理データを分析し(ステップ242)、異なる設定値で生成された応答データに対する行動パターンを生成または学習することができる(ステップ243)。
【0066】
応答データについて、単一のステーションについて、および複数のステーションにわたって、単一の時点または一定期間にわたって、行動パターンを生成すること(ステップ243)は、正の相関関係、負の相関関係、周波数、振幅、上昇傾向または下降傾向、各制御値またはステーション値についての変化率、識別応答データについて、識別応答データが変化すると影響を受けるまたは受けない他の応答データを識別することを含むことができる。応答データ225は、識別されたプロセスステーションの特定の設定値に関連する制御値だけでなく、以下のデータ型のうちの1つまたは複数を含む。(i)識別されたプロセスステーションに対する他の設定点に関連する制御値、(ii)識別されたプロセスステーションに関連するステーション値、(iii)識別されたプロセスステーションに関連する中間出力値、(iv)他のプロセスステーションに関連する制御値、(v)他のプロセスステーションに関連するステーション値、(vi)他のプロセスステーションに関連する中間出力値、(vii)最終出力値、(viii)データ出力、(ix)独立センサから受け取った工場の制御および運営に関連する測定値である。
【0067】
データは通常、所定の割合でセンサから収集されることに留意されたい。周波数分析では、この割合を考慮して適切に出力値を調整することで、出力値は、真の周波数割合を反映し、センサのデータ収集にかかる時間を含む割合を反映しないことに留意されたい。いくつかの実施形態では、周波数分析は、上昇または下降と短い安定期間の後に制御値の急激な変化を示すこともできる。安定期は、ほとんど検出できないほど短い可能性がある。これは攻撃の一例となり得る。制御値が上限または下限で安定する代わりに、許容上限または下限を超えて制御値を増加または減少させ続ける悪意のある信号を提供することができる。安定した直後に増減させることで、攻撃は正常で、制御値の事前の増減と一致するように見え得る。
【0068】
工場操業および管理データ(ステップ242)、生成された行動パターンデータ(ステップ243)および深層学習プロセッサへの他の入力の分析に基づいて、深層学習プロセッサ118が、その機械学習モデルをさらに調整するために、通常のプロセス変動および通常のプロセスノイズ(ステップ244)を決定することができる。通常のプロセスの変動には、機械公差(例えば、温度制御の変動+/-1degC、コンベア速度の変動+/-0.1m/min、圧力の変動+/-3kPa)、原材料の変動、冷却水の温度変動、オペレータのミスによる変動が含まれ得、および通常のプロセスノイズには、例えば、電気信号のジッターやデータ収集および記録における丸め誤差が含まれ得る。
【0069】
機械学習モデルの調整のための強固なデータセットを作成するために、各プロセスステーションの各制御値に対応する設定値(または他の制御入力)は、仕様通りの最終出力をもたらす全ての値(または値のサブセット)に対して、系統的に(例えば、最小値から最大値へ)調整することが可能である。さらなる実施形態において、各プロセスステーションの各制御値に対応する設定値(または他の制御入力)は、プロセスステーションが動作可能である全ての値(または値のサブセット)に対して、系統的に(例えば、最小値から最大値まで)調整され得る(すなわち、仕様通りの最終出力をもたらすものだけに限定しない、プロセスステーションが動作可能な値の全範囲を含む)。さらに、訓練のために、任意の数および任意の組み合わせの設定値を調整することができる(ステップ205)。設定値(または他の制御入力)は、手動、事前にプログラムされたアルゴリズム、または予測プロセス制御によって調整することができる。
【0070】
いくつかの実施形態では、1つまたは複数の設定値(または他の制御入力)は、たとえそれらの値が仕様通りではない最終出力をもたらすとしても、マルウェア攻撃とは無関係の既知の工場の混乱(例えば、機械の摩耗や破損、間違った部品の挿入)の間に発生する値に調整することが可能である。
【0071】
いくつかの実施形態において、深層学習プロセッサ118は、工場プロセスの操業および管理に関連する従来の標準的なプロセス制御システムと共に実装することができる。深層学習プロセッサ118は、工場プロセスの操業および管理に関連する全てのデータを使用する代わりに、工場プロセスの操業および管理に使用される任意の標準的なプロセス制御システムに提供される同じデータを使用して、その機械学習アルゴリズムを訓練することができる。
【0072】
各設定値調整または設定値調整のセットについて、製造プロセスは、設定値調整の所定のセットについて所定の時間期間(ステップ210)、および/または規定されたイベントが発生したとき(例えば、所定の量の応答データが収集される)、プロセスステーションを反復し、設定値(ステップ215)を提供し、ステーションおよび制御値(ステップ228)を生成し、中間および最終出力値(ステップ227)を生成し、データ出力(ステップ226)を生成し、プロセス値および製造性能指標(ステップ229)を深層学習プロセッサ118に対して生成することができる。深層学習プロセッサ118は、製造プロセスがプロセスステーションを反復する際に受け取った異なる入力を、他の入力と共に使用して、その機械学習モデルを調整する(ステップ242~244)。
【0073】
いくつかの実施形態では、深層学習プロセッサ118がいかなるマルウェアにも感染しないように隔離するために、深層学習プロセッサ118は、いかなるプロセスコントローラからも、またはネットワークに接続されたいかなるコンピュータからも、いかなる入力も受信しない。いくつかの実施形態では、ネットワークに接続されたプロセスコントローラまたは他のコンピュータからの入力は、データがメモリデバイスにアップロードされた後に任意のマルウェアをスクラブされたメモリデバイスを介して、手動または間接的に深層学習プロセッサ118に提供され得る。
【0074】
方法200は、プロセスステーションを通して反復することを終了した後(例えば、所定の時間期間の後、所定の設定値調整のセットの後、および/または規定されたイベントが発生したとき(例えば、強固なデータセットが生成された))、次に、深層学習プロセッサ118に対する機械学習モデルの調整(ステップ242~244)は、十分に調整され、異常な活動を識別して警告プロトコルを実行するために生産システムに配備される準備ができていると考えることができる。深層学習プロセッサ118は、その調整された機械学習モデルを用いて、運営中の工場のP/E/Cシステム(「生産システム」)を、リアルタイムまたは非同期で、異常な活動またはマルウェア攻撃を監視するために配備することが可能である。いくつかの実施形態では、生産システムに配備される前に、その調整された機械学習モデルを有する深層学習プロセッサは、あらゆるマルウェアをスクラブすることができる。他の実施形態では、生産システムは独自の深層学習プロセッサを有し、あらゆるマルウェアをスクラブした調整された機械学習モデルのみが、生産システムに含まれる深層学習プロセッサにアップロードされる。生産システムに配備されている間、調整された機械学習モデルは、生産システムから受け取るデータによって調整され続けることができる。調整された機械学習モデルは、直接、またはメモリデバイスを介して間接的に提供することができ、機械学習モデルが生産システムの深層学習プロセッサに提供される前に、あらゆるマルウェアについてメモリデバイスをスクラブすることができる。いくつかの実施形態では、深層学習プロセッサの調整、またはその調整の一部は、ターゲット生産システムで行われ得る。機械学習モデルが適切に調整されていると決定された場合、生産システムのデータを監視して異常な活動やマルウェア攻撃を検出する深層学習プロセッサの機能(図4、ステップ436~440に関連して説明したように)を有効化することができる。
【0075】
応答データのサブセットに対する行動パターンの例を、例えば、図3に示す。応答データは、図2に関連して説明したように、プロセスステーションに関連する設定値を実際に調整することによって経験的に得ることができる。X軸はステーションXの設定値、Y軸は応答データの値を表している。グラフ302に示される異なる線は、ステーションXに関連する値に対する応答データの通常の行動パターンと、別のステーションであるステーションYに関連する値に対する応答データの行動パターンとを表している。この例では、X軸に沿って増加している設定値が速度を表している。グラフ302に示される応答データは、次のものを含む:ステーションXについて:増加する設定値に関連する制御値325(すなわち、速度を表す)、例えば、電力を表すことができる独立制御値323、粘度を表すことができるステーション値328、および直径を表すことができる中間出力値334である。グラフ302に示されるように、ステーションYの応答データは、温度を表すことができるステーション値348と、重量を表すことができる最終出力値344とを含む。図3は、各応答の振幅を示したものである。また、速度の設定値を上げた場合の応答データの行動を示しており、ステーションでの電力(323で表されるように)が増加し、直径(334で表されるように)が増加し、粘度(328で表されるように)が減少している。ステーションXの設定値の変更は、ステーションYにも影響を与え、例えば、ステーションYの温度(348で表されるように)が上昇し、重量(344で表されるように)が増加する。行動パターンは、数千のデータポイントを含み、異なるステーションにわたる非常に複雑なものであり、異常な行動パターンの識別は、人間の計算では実行することができない。そのため、応答データの行動パターンを生成または学習し、その行動パターンの異常な活動を分析する機械学習分析が必要となる。
【0076】
図4は、調整された機械学習モデルで(図2に関連して説明したように)、製造プロセス中に(リアルタイムまたは非同期で)ターゲット工場のP/E/Cシステムを監視し、異常な活動を検出してマルウェア攻撃を識別するための、深層学習プロセッサ118を配備する方法例400を示している。
【0077】
図2と同様である、製造プロセスのプロセスステーションの設定値が初期化され(ステップ405)、深層学習プロセッサ118に提供される。さらに、製造プロセスがプロセスステーションを反復するとき、プロセスステーションに送信される任意の制御信号、ステーションコントローラに提供される任意の制御入力、任意の調整された設定値は全て、深層学習プロセッサ118に提供される。一般に、全ての工場の操業および管理データは、深層学習プロセッサ118に提供され得る。さらに、製造プロセスがプロセスステーションを反復するにつれて(ステップ410)、生成されたステーションおよび制御値(ステップ428)、生成された中間および最終出力値(ステップ427)、生成されたデータ出力(ステップ426)および生成されたプロセス値および製造性能指標(ステップ429)を含む生産応答データが生成され、(図2に関連して説明したステップ226、227、228および229を平行して)深層学習プロセッサ118に提供される。生産応答データは、製造プロセス(「製造プロセス」)中にP/E/Cシステムから生成される、ステップ426~429に関連して説明したようなデータを指す。
【0078】
深層学習プロセッサ118は、その調整された機械学習アルゴリズムを採用して(ステップ435)、制御信号、制御入力、および以前の工場の操業および管理データを分析し、予測応答データおよび予測行動パターンデータを予測し、生成する(ステップ436)。深層学習プロセッサは、工場の操業および管理データと特定の制御信号とのそのようなデータの相関関係を理解した上で、生産システムから受信した制御信号に対して、予測応答データとそれに対応する行動パターンを予測および生成することができる。
【0079】
ステップ437で、深層学習プロセッサは、生産応答データ(すなわち、生産プロセス中に生成された応答データ)を分析し、生産応答データに対する行動パターンデータ(「生産行動パターンデータ」)を生成する。
【0080】
ステップ438で、深層学習プロセッサは、予測応答データを生産応答データと比較し、および/または予測行動パターンデータを生産行動パターンデータと比較して、異常な活動およびマルウェア攻撃を識別し、異常な活動および/またはマルウェア攻撃に対する信頼度を生成する(ステップ438)。ある態様では、信頼度は、予測に対する正確さの数値的な確率として表現されてもよく、他の態様では、信頼度は、区間または確率範囲として表現されてもよい。
【0081】
図2に関連して説明したように、(1)工場のP/E/Cシステム全体にわたる広範かつ多様なデータを捕捉することと、(2)工場の運営中の工場のP/E/Cシステムにおける変化と通常のプロセスの変動およびノイズデータを分析することと、P/E/Cシステム内の構成要素がそれらの変化および変動に対してどのように応答するかを分析することと、を含む、深層学習プロセッサに組み込まれた機械学習モデルを調整することによって、深層学習プロセッサターゲット生産システム(図4に示すように)は、ターゲット工場のP/E/Cシステムにおける単一の構成要素において、または多くの構成要素にわたって、予測応答データおよび行動パターンからの、生産応答データおよび生産行動パターンデータにおける任意の偏差を、極小の偏差であっても認識し、異常な活動および/またはマルウェア攻撃を識別できるよう学習することができる(ステップ439)。
【0082】
オペレータまたはアルゴリズムは、工場のP/E/Cシステムにおける異常な活動に関連する信頼度に閾値を割り当てることができる。異常な活動に対処するために、閾値の信頼度を満たすと、1つまたは複数の所定のアクション(本明細書では「警告プロトコル」と呼ぶ)が開始され得る(ステップ440)。例えば、高い信頼度スコアを受ける異常な活動では、深層学習プロセッサ118によって警告プロトコルが開始され、開始された警告プロトコルを実行するために工場のP/E/Cシステム内のコンピュータシステムに通信され得るのに対し、低い信頼度スコアを受ける異常な活動では、警告プロトコルが開始される前に異常な活動を確認するようにオペレータが促されることが可能である。一実施形態では、信頼度を高、中、低の3つの区間に分け、各区間に閾値を割り当てることができる。さらに、各区間に実行すべきアクションを割り当てることができる。例えば、信頼度が高い信頼区間に該当する場合は、警告プロトコルを開始することができ、信頼度が中程度の信頼区間に該当する場合は、オペレータに異常な活動を確認するように促すことができ、信頼度が低い信頼度区間に該当する場合は、異常な活動にフラグを立てて散発的にチェックすることができる。閾値と区間の範囲を確認し、偽陽性や偽陰性を最小にするように調整することができる。他の実施形態では、信頼度は2つ以上の区間に分割することができる。
【0083】
いくつかの実施形態では、異なる警告プロトコルを異なる区間に割り当てることができる。例えば、異常な活動が高い区間に対応する信頼度を有する場合、警告プロトコルは、工場プロセス全体をシャットダウンするような強力なアクションを引き起こすことができる。一方、異常な活動が低い区間に対応する信頼度を有する場合、警告プロトコルは、レポート、電子メール、またはその他の通知を生成するなど、より穏やかなアクションをトリガすることができる。
【0084】
さらなる実施形態において、深層学習プロセッサの調整された機械学習モデルは、その調整に基づいて、異常な活動のタイプを決定し、異なる警告プロトコルが、所定の信頼度閾値を満たす検出された異常の異なるタイプに割り当てられることが可能である。開始される警告プロトコルは、検出された異常な活動のタイプを補償または修正するために設計された一連のアクションとすることができる。
【0085】
警告プロトコルは、機械的(例えば、サイレン、点滅する光または他のインジケータによって警告を合図する)、デジタル(例えば、レポートを印刷する、監督者に電子メールを送る、制御パネルに通知を行う)、機能(例えば、工場のP/E/Cシステムのいずれかまたは全てを停止する、工場のP/E/Cシステムのいずれかまたは全ての設定を調整する)または上記の任意の組み合わせとすることが可能である。警告プロトコルは、深層学習プロセッサ118によって開始され、工場のP/E/Cシステム内の別のコンピュータに通信され、警告プロトコルを実行することが可能である。機能プロトコルは、工場のプロセスコントローラとの通信(例えば、信号126および146の送信)により実装することができる。プロトコルは、ステーションコントローラ、PLCなどの外部デバイスに通信されるTTLロジック、ラダーロジック、その他のプログラム可能なコマンドによって制御される個々のリレーのデジタル作動とすることができる。プロトコルとコマンド構造は、深層学習プロセッサ118に組み込まれている。深層学習プロセッサ118は、これらのいずれかを可能にするためのプログラミングを含むことができる。深層学習プロセッサ118への入力は、いくつかの実施形態において、キーボード入力による手動入力を介して、実行され得る。これにより、深層学習プロセッサ118の整合性を保つことができる。さらなる実施形態では、サムドライブやネットワーク接続によるなどのデジタル入力も可能である。
【0086】
いくつかの実施形態では、リアルタイムで、工場のP/E/Cシステムの動作中に、または非同期で、調整された機械学習アルゴリズムは、製造プロセス中に生成された数千のデータポイントの中から、単一のステーションまたはステーション間で、単一の時点または期間にわたって、異常、相関パターン、周波数パターン、振幅パターン、上昇または低下傾向、制御値またはステーション値の変化率があるかどうかを検出することが可能である。いくつかの実施形態では、製品応答データの行動パターンは、公称設定値および周波数領域における行動データに関して、予測応答データの予測行動パターンと比較することができる。深層学習コントローラは、静的な統計表現を分析するだけでなく、設定値の計画的または計画外の変化に対するシステムの応答に着目し、システムの運営ライフサイクル全体を通じて訓練段階で複合化された予測性能と直接比較することができる。
【0087】
さらに、深層学習プロセッサ118は、異常な活動がマルウェア攻撃であるかどうか、およびその識別のための信頼度を識別し、警告プロトコルを実行することができる。例えば、生産行動パターンデータが、生産応答データにおいて、予測行動データや応答データとは異なる、著しい、突然の、急激な、または予測外の変化を示した場合である。一実施形態では、深層学習プロセッサ118は、生産行動パターンデータが、マルウェア攻撃ではない既知の破壊的活動の行動パターンデータと一致するかどうかを分析することができる。いくつかの実施形態では、深層学習プロセッサ118は、製造プロセス中に生成されたデータ出力および/またはデータロギングモジュール510からのデータを使用して、異常な活動が攻撃によって引き起こされたか、または他の何らかの障害(例えば、使用された材料に欠陥があった、不良構成要素が設置された)によって引き起こされたかを決定する。
【0088】
オペレータまたはアルゴリズムは、マルウェア攻撃であると識別された工場のP/E/Cシステムの活動に関連する信頼レベルに閾値を割り当て、閾値が満たされたときに開始されるアクション(ここでは「警告プロトコル」と呼ぶ)を事前に規定することが可能である。例えば、高い信頼度スコアを受ける検出されたマルウェア攻撃については、深層学習プロセッサ118によって警告プロトコルが開始され、工場のP/E/Cシステム内の別のコンピュータに通信されて警告プロトコルが実行され得るが、低い信頼度スコアを受ける検出されたマルウェア攻撃については、警告プロトコルが開始される前に、オペレータは、検出されたマルウェア攻撃を確認するように促され得る。一実施形態では、信頼度を高、中、低の3つの区間に分け、各区間に閾値を割り当てることができる。他の実施形態では、信頼度は2つ以上の区間に分割することができる。さらに、各区間に実行すべきアクションを割り当てることができる。例えば、信頼度が高い信頼区間に該当する場合は警告プロトコルを開始し、信頼度が中程度の信頼区間に該当する場合は検出されたマルウェア攻撃を確認するようオペレータに促し、信頼度が低い信頼度区間に該当する場合は検出されたマルウェア攻撃にフラグを立て、散発的にチェックすることができる。閾値と区間の範囲を確認し、偽陽性や偽陰性を最小にするように調整することができる。
【0089】
いくつかの実施形態では、異なる警告プロトコルを異なる区間に割り当てることができる。例えば、検出されたマルウェア攻撃が高い区間に対応する信頼度を有する場合、警告プロトコルは、工場プロセス全体をシャットダウンするような強力なアクションを引き起こすことができる。一方、検出されたマルウェア攻撃の信頼度が低い区間に相当する場合、警告プロトコルは、マルウェア攻撃を識別し、攻撃に対抗するための即時の修正動作を提案できるレポート、電子メール、その他の通知の生成など、より穏当なアクションを引き起こすことができる。さらなる実施形態において、異なる警告プロトコルは、所定の信頼度閾値を満たす検出されたマルウェア攻撃のタイプの異なるタイプに割り当てられ得、適切な警告プロトコルは、所定の信頼度を超えたとき、検出された攻撃について深層学習プロセッサ118によって開始される。警告プロトコルは、検出されたマルウェア攻撃のタイプを補正または修正するように設計された一連のアクションとすることができる。例えば、破損したセンサが検出された場合、深層学習プロセッサ118は、破損したセンサの改変を緩和するために、特定の値および設定を変更するための警告プロトコルを開始することができる。これにより、工場の生産が停止することなく進められるようになる。
【0090】
いくつかの実施形態では、信頼度がマルウェア攻撃を示す所定の限界を超えると、深層学習プロセッサ118は、集合的に確認テストと呼ばれる生成的敵対ネットワークまたは第2の人工知能モデルを自動的に実行し、攻撃を確認または拒否することができる。確認テストが確認された場合、マルウェア攻撃レベルを最高の警告に引き上げることができる。確認テストが拒否された場合、元のモデルの信頼度を仮定することができ、2番目に高い警告レベルに戻る。前述したように、各警告レベルに対して個別の警告プロトコルを指定することができる。
【0091】
いくつかの実施形態では、深層学習プロセッサ118は、既存のITセキュリティシステムと通信して、異常な活動をシステムに通知を行うように構成され得る。さらなる実施形態では、深層学習プロセッサ118は、図6に示すように、データロギングモジュールと通信するように構成され得る。この通信は、マルウェアの正確な攻撃源を特定する警告を提供するほか、工場のプロセスや機器をより良く守るためにファイアウォールやその他のITインフラを再設定するために利用することができる。
【0092】
いくつかの実施形態において、深層学習プロセッサ118は、サプライチェーン管理システムと通信して、感染したプロセス構成要素の調達先または製造先に警告するように構成され得る。
【0093】
いくつかの実施形態において、深層学習プロセッサ118は、異常な活動のソースであるステーションまたは構成要素と通信し、ステーションまたは構成要素に、異常な活動の存在、異常な活動のソースおよび/または異常な活動のタイプを識別する結合されたディスプレイまたは媒体システム(例えば、音による警告)を介して警告を生成するように指示するように構成することが可能である。
【0094】
いくつかの実施形態では、深層学習プロセッサ118は、従来の標準的なプロセス制御システムと共に実装することができる。深層学習プロセッサは、工場プロセスの操業および管理に関連する全てのデータを異常な活動について分析する代わりに、工場プロセスの操業および管理に使用される任意の標準プロセス制御システムに提供されるのと同じデータを受信し、そのデータのみを異常な活動について分析することができる。
【0095】
図5は、深層学習プロセッサ118からデータを受信し、データ処理サーバ800がデータを分析し、レポート、電子メール、警告、ログファイルまたは他のデータ編集物を生成するように構成することができる例示的なデータロギングおよび出力モジュール510を示す(ステップ515)。例えば、データロギングモジュール510は、受信したデータから所定のトリガイベントを検索し、レポート、電子メール、警告、ログファイル、監視ダッシュボードへの更新、またはそれらのトリガイベントに関連する関連データを示す他のデータ編集物を生成するようにプログラムすることができる(ステップ515)。例えば、異常な活動の識別は、トリガイベントとして規定され、以下のデータが報告されることができる:予測行動パターンと比較した応答データの行動パターン、異常な活動によって影響を受けたステーション、コントローラまたはセンサ、トリガイベントを生成したセンサ、予測外の特定の応答データの識別、異常な活動が起こった日付と時間、トリガイベントに関連する信頼度、他のステーションと中間または最終出力に対する異常な活動の影響である。他の適切なトリガを規定し、他の適切なデータを報告することができる。いくつかの実施形態では、データロギングモジュール510は、深層学習プロセッサ118内に含まれ得る。いくつかの実施形態では、データロギングモジュールからのデータは、図2および図4に関連して説明されるように、応答データの一部として、または警告プロトコルを開始するために、深層学習プロセッサ118に提供され得る。
【0096】
いくつかの実施形態では、製造プロセスのどのパラメータが最終出力値またはプロセス性能に最も影響を与えるか(「キーインフルエンサー」)を識別することが有用である。深層学習プロセッサ118は、製造プロセスの全てのパラメータ(例えば、1つまたは複数の制御値、1つまたは複数のステーション値、1つまたは複数のプロセス値、1つまたは複数のステーション、1つまたは複数の中間出力、経験的事前分布(例えば、製造プロセスの最終出力における欠陥または不具合に対する根本原因分析および解決策)、関数的事前分布、汎用入力またはそれらの任意の組み合わせ)を考慮し、その機械学習アルゴリズムのうちの1つまたは複数を用いてキーインフルエンサーを識別することが可能である。いくつかの態様において、深層学習プロセッサ118は、例えば、各キーインフルエンサーが、様々なステーション出力、最終出力、および/またはプロセス性能の特性に影響を与える1または複数のパラメータ(またはパラメータの組み合わせ)と関連する、1つまたは複数のキーインフルエンサーを発見するために教師なし機械学習技術を採用することができる。キーインフルエンサーおよびその関連パラメータの発見は、キーインフルエンサーまたはパラメータを人間のオペレータに明示的にラベル付け、識別またはその他の方法で出力する必要なく、深層学習プロセッサ118の動作および訓練を通じて実行されてもよいことが理解される。
【0097】
いくつかのアプローチでは、深層学習プロセッサ118は、その機械学習モデルを使用して、製造プロセスの各パラメータが最終出力値またはプロセス性能に与える影響を、重要性の順に順位付けするか、または他の方法で生成することができる。キーインフルエンサーは、カットオフランキング(例えば、最終出力値に影響を与える製造プロセスの上位5つの側面)、影響の最小レベル(例えば、最終出力値に少なくとも25%寄与する製造プロセスの全ての側面)、マルウェアが対象とする可能性が高い重要プロセスステーションもしくは動作、または他の適切な基準に基づいて識別することができる。いくつかの態様において、キーインフルエンス特性は、例えば、対応する特性に対する影響の重みに相対する定量的なスコアと関連付けられ得る。
【0098】
深層学習プロセッサ118は、製造プロセスを通じて、継続的に、キーインフルエンサーを計算し、精製することができる。キーインフルエンサーを使用して、深層学習プロセッサ118を訓練させるためのより強固なデータセットの構築に役立てることができる。強固なデータセットを生成するために、製造プロセスにおける全ての単一の制御入力を変化させる代わりに、または制御入力の任意のサブセットの代わりに、深層学習プロセス118は、強固なデータセットを生成するために、キーインフルエンサーに関連する制御入力(例えば、設定値)だけを変化させることができる。さらなる実施形態では、深層学習プロセッサ118は、異常な活動を検出するために、どのステーションおよび応答データを監視するかを識別するために、キーインフルエンサーを使用することができる。キーインフルエンサーの識別は、米国特許出願第16/663,245号「Predictive Process Control for a Manufacturing Process」にさらに記載されている。
【0099】
図6は、開示された主題のいくつかの実施形態による、工場のプロセス、機器、および自動化システムの動的な監視および保護を実装することができる深層学習プロセッサ118の実施形態の一般的な構成を示す。深層学習プロセッサ118は、様々な構成要素がバス605を介して結合される局所的なコンピューティングシステムとして図示されているが、様々な構成要素および機能的計算ユニット(モジュール)は、別々の物理システムまたは仮想システムとして実装できることが理解される。例えば、1つまたは複数の構成要素および/またはモジュールは、クラウド環境でインスタンス化された仮想プロセス(例えば、仮想機械またはコンテナ)を使用するなど、物理的に分離した遠隔デバイスに実装することができる。
【0100】
深層学習プロセッサ118は、処理ユニット(例えば、CPU(複数可)および/またはプロセッサ(複数可))610と、読み取り専用メモリ(ROM)620およびランダムアクセスメモリ(RAM)625などのシステムメモリ615を含む様々なシステム構成要素を処理ユニット610に結合するバス605とを含み得る。処理ユニット610は、マイクロプロセッサのMotorolaファミリーまたはマイクロプロセッサのMIPSファミリーからのプロセッサなどの1つまたは複数のプロセッサを含むことができる。代替の実施形態において、処理ユニット610は、深層学習プロセッサ118の動作を制御し、予測プロセス制御を実行するための特別に設計されたハードウェアとすることができる。適切なソフトウェアまたはファームウェアの制御下で動作する場合、処理モジュール610は、本明細書に記載された様々な機械学習アルゴリズムおよび計算を実行することができる。
【0101】
メモリ615は、メモリキャッシュ612のような、異なる性能特性を有する様々なメモリタイプを含むことができる。プロセッサ610は、記憶デバイス630に結合することができ、記憶デバイスは、1つまたは複数の機能モジュールおよび/またはデータベースシステムを実装するために必要なソフトウェアおよび命令を記憶するように構成することができる。これらのモジュールおよび/またはデータベースシステムのそれぞれは、プロセッサ610だけでなく、ソフトウェア命令が実際のプロセッサ設計に組み込まれる特殊用途プロセッサを制御するように構成することも可能である。
【0102】
深層学習プロセッサ118とのオペレータ対話を可能にするために、入力デバイス645は、音声用のマイクロフォン、ジェスチャーまたはグラフィック入力用のタッチセンサ式スクリーン、キーボード、マウス、動作入力など、任意の数の入力機構を表すことが可能である。出力デバイス635は、当業者に知られている多数の出力機構(例えば、プリンタ、モニタ)のうちの1つまたは複数であることも可能である。いくつかの例において、マルチモーダルシステムは、オペレータが深層学習プロセッサ118と通信するために複数のタイプの入力を提供することを可能にし得る。通信インターフェース640は、一般に、オペレータ入力およびシステム出力、ならびにステーションコントローラ、プロセスステーション、データロギングモジュール、および全ての関連するセンサおよび画像捕捉デバイスなどの製造プロセスの一部である他の構成要素から受信および送信される全ての電子入力を支配および管理することが可能である。任意の特定のハードウェア配置上での動作を制限するものではないので、ここにある基本機能は開発時に改善されたハードウェアまたはファームウェアの配置に簡単に置き換えることができる。深層コントローラ118から出力されたデータは、視覚的に表示されるか、印刷されるか、またはファイル形式で生成されて記憶デバイス630に記憶されるか、またはさらなる処理のために他の構成要素に送信されることができる。
【0103】
通信インターフェース640は、インターフェースカード(「ラインカード」と呼ばれることもある)として提供することができる。一般的には、それらは、ネットワーク上のデータパケットの送受信を制御し、時にはルーターで使用される他の周辺機器をサポートすることもある。提供可能なインターフェースは、イーサネットインターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェース等である。また、高速トークンリングインターフェース、無線インターフェース、イーサネットインターフェース、ギガビットイーサネットインターフェース、ATMインターフェース、HSSIインターフェース、POSインターフェース、FDDIインターフェースなど、様々な超高速インターフェースを提供することが可能である。一般に、これらのインターフェースは、適切な媒体との通信に適したポートを含むことができる。また、場合によっては、それらは、独立したプロセッサや、場合によっては、揮発性のRAMを含むこともある。独立したプロセッサは、パケット交換、媒体制御、管理などの通信集中タスクの制御を行うことができる。通信集中タスクに別々のプロセッサを用意することで、これらのインターフェースにより、処理ユニット610は機械学習や予測プロセス制御を実装するために必要な他の計算を効率的に実行できる。通信インターフェース640は、ステーションコントローラ、プロセスステーション、データロギングモジュール、および全ての関連するセンサおよび画像捕捉デバイスなどの製造プロセスの一部である他の構成要素と通信するように構成され得る。
【0104】
いくつかの実施形態では、深層学習プロセッサ118は、1つまたは複数の処理ステーションに結合され、中間および最終出力の画像を監視および捕捉することができる、ビデオカメラなどの様々な画像捕捉デバイスによって受信された画像を処理する画像処理デバイス670を含むことができる。これらの画像は、通信インターフェース640を介して深層学習プロセッサ118に送信され、画像処理デバイス670で処理され得る。画像は、中間および最終出力値を計算するために深層学習プロセッサ118によって使用され得る、欠陥の数およびタイプ、出力寸法、スループットなどのデータを提供するように処理され得る。いくつかの実施形態において、画像処理デバイスは、深層学習プロセッサ118の外部であり、通信インターフェース640を介して深層学習プロセッサ118に情報を提供することができる。
【0105】
記憶デバイス630は、非一時的メモリであり、ハードディスクまたはコンピュータによってアクセス可能なデータを記憶できる他のタイプのコンピュータ可読媒体、例えば磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)625、読み取り専用メモリ(ROM)620、およびそれらのハイブリットであることが可能である。
【0106】
実際には、記憶デバイス630は、深層学習プロセッサ118への入力データおよび深層学習プロセッサ118からの出力データ、例えば関数的事前分布、経験的事前分布、汎用入力、前処理入力、プロセス内入力および後プロセス入力を受信、記憶および更新するように構成され得る。
【0107】
いくつかの実施形態において、任意の適切なコンピュータ可読媒体は、本明細書に記載される機能および/またはプロセスを実行するための命令を記憶するために使用することができる。例えば、いくつかの実施形態では、コンピュータ可読媒体は、一時的または非一時的であり得る。例えば、非一時的なコンピュータ可読媒体には、非一時的な磁気媒体(ハードディスク、フロッピーディスクなど)、非一時的な光学媒体(コンパクトディスク、デジタルビデオディスク、ブルーレイディスクなど)、非一時的な半導体媒体(フラッシュメモリ、電気的にプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)など)、一瞬ではなく、または送信中の永続性の類似性を欠いていない任意の適した媒体、および/または任意の適した有形媒体などの媒体が含まれ得る。別の例として、一時的なコンピュータ可読媒体は、ネットワーク上の信号、ワイヤ、導体、光ファイバ、回路内の信号、および一瞬で、送信中の永続性の類似性を欠いた任意の適切な媒体、および/または任意の適切な無形媒体を含むことができる。
【0108】
本明細書で説明する様々なシステム、方法、およびコンピュータ可読媒体は、クラウドネットワーク環境の一部として実装することができる。本稿では、クラウドコンピューティングシステムとは、仮想化されたコンピューティングリソース、ソフトウェアおよび/または情報をクライアントデバイスに提供するシステムである。コンピューティングリソース、ソフトウェア、および/または情報は、エッジデバイスがネットワークなどの通信インターフェースを介してアクセスできる集中型のサービスおよびリソースを維持することによって、仮想化することができる。クラウドは、サービスとしてのソフトウェア(SaaS)(例えば、コラボレーションサービス、電子メールサービス、エンタープライズリソースプランニングサービス、コンテンツサービス、通信サービスなど)、サービスとしてのインフラストラクチャ(IaaS)(例えば、セキュリティサービス、ネットワーキングサービス、システム管理サービスなど)、サービスとしてのプラットフォーム(PaaS)(例えば、Webサービス、ストリーミングサービス、アプリケーション開発サービスなど)、およびサービスとしてのデスクトップ(DaaS)、サービスとしての情報技術管理(ITaaS)、サービスとしての管理されたソフトウェア(MSaaS)、サービスとしてのモバイルバックエンド(MBaaS)などの他のタイプのサービスなどのクラウド要素を介して様々なクラウドコンピューティングサービスを提供できる。
【0109】
本明細書に記載された例の提供(ならびに、「など」、「例えば」、「含む」等と表現された句)は、請求された主題を特定の例に限定するものと解釈すべきではなく、むしろ、例は、多くの可能な態様の一部のみを例示することを意図するものである。当業者であれば、機構という用語は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の適切な組み合わせを包含することができることを理解する。
【0110】
上記の説明から明らかなように特に別段の記載がない限り、本明細書を通じて、「決定」、「提供」、「識別」、「比較」などの用語を利用する説明は、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報ストレージ、送信または表示デバイス内で物理的(電子)量として表されるデータを操作し変換するコンピュータシステムまたは同様の電子計算デバイスの作用および処理を指すことが理解されるであろう。本開示の特定の態様は、アルゴリズムの形態で本明細書に記載されるプロセスステップおよび命令を含む。本開示のプロセスステップおよび命令は、ソフトウェア、ファームウェアまたはハードウェアで具現化され得、ソフトウェアで具現化される場合、リアルタイムネットワークオペレーティングシステムによって使用される異なるプラットフォーム上に常駐し、そこから動作されるためにダウンロードされ得ることに留意されたい。
【0111】
本開示は、本明細書における動作を実行するための装置にも関する。この装置は、必要な目的のために特別に構成されてもよいし、コンピュータがアクセス可能なコンピュータ可読媒体に記憶されたコンピュータプログラムによって選択的に起動または再設定される汎用のコンピュータを含んでもよい。このようなコンピュータプログラムは、フロッピーディスク、光ディスク、CD-ROM、光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)、または電子命令の記憶に適した任意のタイプの非一時的なコンピュータ可読記憶媒体など(これらに限らない)に記憶することができる。さらに、本明細書で言及するコンピュータは、単一のプロセッサを含んでいてもよいし、計算能力を高めるために複数のプロセッサ設計を採用したアーキテクチャであってもよい。
【0112】
本明細書に提示されたアルゴリズムおよび動作は、特定のコンピュータまたは他の装置と本質的に関連するものではない。また、様々な汎用システムを本教示に従ったプログラムと共に使用することもできるし、必要な方法ステップやシステム関連動作を実行するために、より特殊な装置を構築することが便利であることが判明することもある。様々なこれらのシステムの必要な構造は、同等のバリエーションと共に当業者には明らかであろう。さらに、本開示は、特定のプログラミング言語を参照して説明されない。本明細書に記載される本開示の教示を実装するために様々なプログラミング言語が使用され得ることが理解され、特定の言語へのあらゆる言及は、本開示の実現可能性および最良の態様の開示のために提供されている。
【0113】
様々な実施形態の論理演算は、以下のように実装される。(1)汎用コンピュータ内のプログラム可能な回路上で実行されるコンピュータ実装ステップ、動作、または手順のシーケンス、(2)特定用途のプログラム可能な回路上で実行されるコンピュータ実装ステップ、動作、または手順のシーケンス、および/または(3)プログラム可能な回路内の相互接続した機械モジュールまたはプログラムエンジンとして、実装される。システムは、引用された方法の全てまたは一部を実践することができ、引用されたシステムの一部であることができ、および/または引用された非一時的なコンピュータ可読記憶媒体の命令に従って動作することができる。このような論理演算は、モジュールのプログラミングに従って特定の機能を実行するようにプロセッサを制御するように構成されたモジュールとして実装することができる。
【0114】
開示されたプロセスにおけるステップのいかなる特定の順序または階層も、例示的なアプローチの例示であることが理解される。設計の好みに応じて、プロセスのステップの特定の順序や階層を並べ替えたり、図示したステップの一部のみを実行することも可能であることを理解されたい。一部のステップは同時に実行されてもよい。例えば、特定の状況下では、マルチタスクや並列処理が有利になる場合がある。さらに、上述した実施形態における様々なシステム構成要素の分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品に一緒に統合でき、または複数のソフトウェア製品にパッケージングできることが理解されるべきである。工場のプロセス、機器、および自動化システムの動的な監視および保護のための装置、方法、およびシステムについて、これらの図示された実施形態を具体的に参照しながら詳細に説明した。しかしながら、前述の明細書に記載された本開示の趣旨および範囲内で様々な修正および変更を行うことができることは明らかであり、かかる修正および変更は、本開示の同等物および一部とみなされるものとする。
【0115】
開示事項の記載
記載1:深層学習プロセッサによって、工場のプロセス、機器、および制御(P/E/C)システムの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信することと、深層学習プロセッサによって、制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、深層学習プロセッサによって、工場のP/E/Cシステムの1つまたは複数から生産応答データを受信することと、深層学習プロセッサによって、生産応答データに対して生産行動パターンデータを生成することと、(i)生産応答データと予測応答データ、および(ii)生産行動パターンデータと予測行動パターンデータの少なくとも一方を比較して、異常な活動を検出することと、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させることと、を含む、コンピュータ実装方法。
【0116】
記載2:1つまたは複数の動作が、異常な活動がマルウェア攻撃であるかどうかを決定することと、異常な活動がマルウェア攻撃であるという決定の結果として、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるための警告プロトコルを開始することを含む、記載1に記載のコンピュータ実装方法。
【0117】
記載3:1つまたは複数の動作は、製造プロセスをシャットダウンすることを含む、記載1から2のいずれかに記載のコンピュータ実装方法。
【0118】
記載4:生産応答データは、工場のP/E/Cシステムの1つまたは複数に関連する1つまたは複数のプロセスステーションに関連する設定値を調整することによって得られる、記載1から3のいずれかに記載のコンピュータ実装方法。
【0119】
記載5:異常な活動は、生産応答データと予測応答データとが偏差を示す結果として検出される、記載1から4のいずれかに記載のコンピュータ実装方法。
【0120】
記載6:異常な活動は、生産行動パターンデータと予測行動パターンデータとが偏差を示す結果として検出される、記載1から5のいずれかに記載のコンピュータ実装方法。
【0121】
記載7:1つまたは複数の動作は、異常な活動を確認するための通知を、製造プロセスのオペレータに送信することを含む、記載1から6のいずれかに記載のコンピュータ実装方法。
【0122】
記載8:生産応答データと予測応答データとの比較に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行される1つまたは複数の動作を識別することとをさらに備える、記載1から7のいずれかに記載のコンピュータ実装方法。
【0123】
記載9:生産行動パターンデータと予測行動パターンデータとの比較に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行すべき1つまたは複数の動作を識別することと、をさらに含む、記載1から8のいずれかに記載のコンピュータ実装方法。
【0124】
記載10:1つまたは複数のプロセッサと、命令を自身に記憶するメモリと、を含むシステムであって、その命令は、1つまたは複数のプロセッサによって実行される結果として:工場のプロセス、機器、および制御(P/E/C)システムの1つまたは複数から1つまたは複数の制御信号を受信することと、制御信号に対する予測応答データおよび予測行動パターンデータを、製造プロセス中に生成することと、工場のP/E/Cシステムの1つまたは複数から生産応答データを受信することと、生産応答データに対する生産行動パターンデータを生成することと、(i)生産応答データと予測応答データ、および(ii)生産行動パターンデータと予測行動パターンデータとの少なくとも一方の比較に基づいて、異常な活動を検出することと、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させることと、をシステムに行わせる、システム。
【0125】
記載11:命令は、さらに、システムに、異常な活動のタイプおよび関連する信頼度を決定すること、ならびに異常な活動のタイプおよび関連する信頼度に基づいて1つまたは複数の動作を決定することを行わせる、記載10に記載のシステム。
【0126】
記載12:1つまたは複数の動作は、製造プロセスを停止することを含む、記載10から11のいずれかに記載のシステム。
【0127】
記載13:1つまたは複数の動作は、異常な活動を確認するための通知を、製造プロセスのオペレータに送信することを含む、記載10から12のいずれかに記載のシステム。
【0128】
記載14:1つまたは複数の動作は、異常な活動がマルウェア攻撃であるかどうかを決定することと、異常な活動がマルウェア攻撃であるという決定の結果として、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおいて異常な活動に対処させるための警告プロトコルを開始することを含む、記載10から13のいずれかに記載のシステム。
【0129】
記載15:警告プロトコルは、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるための、工場のP/E/Cシステムに関連する1つまたは複数のデバイスに通信される個々のリレーのデジタル作動である、記載14に記載のシステム。
【0130】
記載16:実行可能な命令を自身に記憶する、非一時的なコンピュータ可読記憶媒体であって、その命令は、コンピュータシステムの1つまたは複数のプロセッサによって実行される結果として:工場のプロセス、機器、および制御(P/E/C)システムの1つまたは複数から1つまたは複数の制御信号を、製造プロセス中に受信することと、制御信号に対する予測応答データおよび予測行動パターンデータを生成することと、工場のP/E/Cシステムの1つまたは複数から生産応答データを受信することと、生産応答データに対して生産行動パターンデータを生成することと、(i)生産応答データと予測応答データ、および(ii)生産行動パターンデータと予測行動パターンデータとの少なくとも一方の比較に基づいて、異常な活動を検出することと、異常な活動を検出した結果、1つまたは複数の動作を実行して、通知を行うか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動を対処させることと、をコンピュータシステムに行わせるものである、非一時的なコンピュータ可読記憶媒体。
【0131】
記載17:1つまたは複数の動作は、異常な活動を確認するための通知を、製造プロセスのオペレータに送信することを含む、記載16に記載の非一時的でコンピュータ可読な記憶媒体。
【0132】
記載18:1つまたは複数の動作は、異常な活動がマルウェア攻撃であるかどうかを決定することと、異常な活動がマルウェア攻撃であるという決定の結果として、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるための警告プロトコルを開始することを含む、記載16から17のいずれかに記載の非一時的でコンピュータ可読記憶媒体。
【0133】
記載19:1つまたは複数の動作は、製造プロセスを停止することを含む、記載16から18のいずれかに記載の非一時的なコンピュータ可読記憶媒体。
【0134】
記載20:実行可能な命令は、さらに、コンピュータシステムに、予測行動パターンデータおよび生産行動パターンデータの評価に基づいて、異常な活動の識別に関連する信頼度を決定することと、信頼度に基づいて、通知を行うためか、または工場のP/E/Cシステムの1つもしくは複数に製造プロセスにおける異常な活動に対処させるために実行すべき1つまたは複数の動作を識別することを行わせる、記載16から19のいずれかに記載の非一時的なコンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6