(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】コンテキスト化されたプロセスプラント知識リポジトリを備えるエッジゲートウェイシステム
(51)【国際特許分類】
H04L 12/28 20060101AFI20241119BHJP
G06Q 50/04 20120101ALI20241119BHJP
【FI】
H04L12/28 100F
H04L12/28 200Z
G06Q50/04
【外国語出願】
(21)【出願番号】P 2020152664
(22)【出願日】2020-09-11
【審査請求日】2023-05-24
(32)【優先日】2019-09-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】マーク・ジェイ・ニクソン
(72)【発明者】
【氏名】クラウディオ・ファヤド
(72)【発明者】
【氏名】ロバート・ジー・ザ・サード・ハルグレン
(72)【発明者】
【氏名】ギャリー・ケイ・ロウ
(72)【発明者】
【氏名】ジョン・エム・コールドウェル
(72)【発明者】
【氏名】アンソニー・ジュニア・アマーロ
(72)【発明者】
【氏名】ピーター・ハートマン
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特開2018-106689(JP,A)
【文献】特開2018-073401(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 50/00
H04L 12/00-101/00
(57)【特許請求の範囲】
【請求項1】
プロセスプラントからエッジゲートウェイシステムを介して、1つ以上の外部システムによる消費のために前記プロセスプラントに関連付けられた知識を安全に配信する方法であって、
産業プロセスを制御するように動作している間に、前記プロセスプラントによって生成されたコンテンツデータを、前記エッジゲートウェイシステムのエッジ向きコンポーネントにおいて、前記エッジゲートウェイシステムのフィールド向きコンポーネントから受信することと、
前記エッジ向きコンポーネントの1つ以上のメモリに
おいて、コンテンツデータを
データレイクに記憶することと、
前記エッジ向きコンポーネントによって前記データレイクをマイニングし、それによって、前記コンテンツデータに含まれる異なるデータポイント間の1つ以上の関係を発見することと、
前記エッジ向きコンポーネントによって、前記コンテンツデータと、前記発見された関係の指標と、を、コンテキスト化されたプロセスプラント知識リポジトリに記憶することと、
前記エッジ向きコンポーネントによって、前記コンテキスト化されたプロセスプラント知識リポジトリにアクセスするための1つ以上のメカニズムを提供し、それによって、前記コンテキスト化されたプロセスプラント知識リポジトリに記憶された情報を、前記エッジ向きコンポーネントを介して、前記1つ以上の外部システムに利用可能にすることと、を含む、方法。
【請求項2】
前記フィールド向きコンポーネントから前記コンテンツデータを受信することは、前記フィールド向きコンポーネントおよび前記エッジ向きコンポーネントを相互接続するデータダイオードを介して前記コンテンツデータを受信することを含み、前記データダイオードは、前記エッジ向きコンポーネントから前記フィールド向きコンポーネントへのシグナリングおよびペイロードデータの両方のいかなるフローも防止するように構成された単方向データダイオードである、請求項1に記載の方法。
【請求項3】
前記エッジ向きコンポーネントで、前記フィールド向きコンポーネントから前記コンテンツデータを受信することは、前記エッジ向きコンポーネントにおいて、前記フィールド向きコンポーネントによって提供されるデータストリームを受信することを含み、前記データストリームは、前記コンテンツデータを含む、請求項1~2のいずれか一項に記載の方法。
【請求項4】
前記エッジ向きコンポーネントにおいて、前記フィールド向きコンポーネントから前記コンテンツデータを受信することは、前記エッジ向きコンポーネントにおいて、前記フィールド向きコンポーネントによって発行され、前記エッジ向きコンポーネントによってサブスクライブされる前記コンテンツデータの発行を受信することを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記エッジ向きコンポーネントによって、パブリックデータ交換形式で表されるデータ型の集合体を受信することをさらに含み、前記データ型の集合体は、前記プロセスプラントの1つ以上の構成に基づいて、前記フィールド向きコンポーネントによって決定され、
前記コンテンツデータを前記データレイクに記憶することは、前記データ型の集合体に従って、前記コンテンツデータを前記データレイクに記憶することを含み、
前記コンテンツデータおよび前記発見された関係の前記指標を前記コンテキスト化されたプロセスプラント知識リポジトリに記憶することは、前記コンテンツデータおよび前記発見された関係の前記指標を、前記データ型の集合体に従って、前記コンテキスト化されたプロセスプラント知識リポジトリに記憶することを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記データ型の集合体が、フロートデータ型、ステータスデータ型付きフロート、符号付き整数型、符号なし整数型、モードデータ型、列挙データ型、または機能ブロックデータ型のうちの少なくとも1つを含む、請求項5に記載の方法。
【請求項7】
前記エッジ向きコンポーネントによって、1つ以上の計算エンジンを利用して、前記コンテンツデータの少なくとも一部を操作し、それぞれの出力を生成することと、
前記計算エンジンの前記それぞれの出力を追加データとして前記データレイクに記憶することと、をさらに含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記1つ以上の計算エンジンは、分析、関数、アルゴリズム、演算、ドライバ、または別のタイプの計算エンジンのうちの少なくとも1つを含む、請求項7に記載の方法。
【請求項9】
前記コンテンツデー
タを前記データレイクに記憶することは、前記コンテンツデー
タを、1秒あたり90,000パラメータの速度で、前記データレイクに記憶することを含む、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記コンテンツデータおよび前記発見された関係の前記指標を前記コンテキスト化されたプロセスプラント知識リポジトリに記憶することは、前記コンテンツデータおよび前記発見された関係の前記指標の少なくとも一部分を1つ以上のグラフデータベースに記憶することを含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記コンテキスト化されたプロセスプラント知識リポジトリにアクセスするための前記1つ以上のメカニズムを提供することは、
1つ以上のアプリケーションプログラミングインターフェース(API)、
1つ以上のキューイングサービス、
1つ以上のデータ転送サービス、
1つ以上のクエリエンジン、
1つ以上のコンテナ、
1つ以上のストリーミングサービス、
1つ以上のランタイムサービス、
1つ以上の要求/応答アクセスメカニズム、
1つ以上の発行/サブスクリプションアクセスメカニズム、
1つ以上のイベント駆動型アクセスメカニズム、
データレイク複製メカニズム、または
コンテキストプロセスプラント知識リポジトリ複製メカニズムのうちの、少なくとも1つを提供することを含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記1つ以上のAPIは、RESTful(REpresentational State Transfer)API、別のタイプのシステム相互運用API、GraphQL API、または別のタイプのオープンソースAPIのうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項13】
前記コンテキスト化されたプロセスプラント知識リポジトリにアクセスするための前記1つ以上のメカニズムを提供することは、JSON(JavaScript Object Notation)、AMPQ(Advanced Message Queuing Protocol)、MQTT(Message Queuing Telemetry Transport)、OPC-UA(OPC Unified Architecture)、別のタイプの標準化されたプロトコルまたはフォーマット、または別のタイプのオープンソースプロトコルまたはフォーマット、のうちの少なくとも1つを利用する、1つ以上のアクセスメカニズムを提供することを含む、請求項11に記載の方法。
【請求項14】
前記エッジ向きコンポーネントにおいて、前記1つ以上のアクセスメカニズムをサポートする1つ以上のプラットフォームを提供することをさらに含み、前記1つ以上のプラットフォームは、コンテナプラットフォームまたはNode.JSフレームワークのうちの少なくとも1つを含む、請求項1~13のいずれか一項に記載の方法。
【請求項15】
前記コンテキスト化されたプロセスプラント知識リポジトリにアクセスするための前記1つ以上のメカニズムは、複数のバインディングタイプを介してアクセス可能である、請求項1~14のいずれか一項に記載の方法。
【請求項16】
前記複数のバインディングタイプは、C#、JavaScript、およびPythonを含む、請求項15に記載の方法。
【請求項17】
前記1つ以上のアクセスメカニズムを提供することは、1つ以上のアプリケーションに前記1つ以上のアクセスメカニズムを提供することを含み、前記1つ以上のアプリケーションは、クラウドアプリケーション、前記1つ以上の外部システムで実行されるアプリケーション、前記プロセスプラントのプロセス制御システムに組み込まれるアプリケーション、ウェブアプリケーション、IoT(モノのインターネット)アプリケーション、IIoT(モノの産業インターネット)アプリケーション、前記コンテキスト化されたプロセスプラント知識リポジトリの検索を実行するように構成されたアプリケーション、または、前記コンテキスト化されたプロセスプラント知識リポジトリをクエリするように構成されたアプリケーションのうちの少なくとも1つを含む、請求項1~16のいずれか一項に記載の方法。
【請求項18】
前記1つ以上のアクセスメカニズムを提供することは、前記プロセスプラントに固有の1つ以上のアプリケーションに前記1つ以上のアクセスメカニズムを提供することを含み、前記1つ以上のプラントに固有のアプリケーションは、監視アプリケーション、分析アプリケーション、最適化アプリケーション、仮想化デバイスアプリケーション、プロセス制御アプリケーション、アラーム管理アプリケーション、デバイス管理アプリケーション、ディスパッチングアプリケーション、低コストセンサアプリケーション、シミュレーションアプリケーション、診断アプリケーション、オペレータトレーニングアプリケーション、冗長性またはバックアップアプリケーション、リカバリアプリケーション、安全計装システムアプリケーション、振動監視アプリケーション、エンジニアリングアプリケーション、資産管理アプリケーション、ユーザインターフェースアプリケーション、または個人の電子デバイスで実行中のアプリケーションのうちの、少なくとも1つを含む、請求項1~17のいずれか一項に記載の方法。
【請求項19】
前記1つ以上のアクセスメカニズムを提供することは、前記1つ以上のアクセスメカニズムを、前記プロセスプラントが一部をなす企業に固有の1つ以上のアプリケーションに提供することを含み、前記1つ以上の企業アプリケーションは、電子メールアプリケーション、イントラネットアプリケーション、サイト事業計画および物流アプリケーション、在庫管理アプリケーション、スケジューリングアプリケーション、サプライチェーンアプリケーション、財務または会計アプリケーション、IT(情報技法)アプリケーション、または別のタイプの企業アプリケーションのうちの少なくとも1つを含む、請求項1~18のいずれか一項に記載の方法。
【請求項20】
前記産業プロセスを制御するように動作している間に、前記プロセスプラントによって生成された前記コンテンツデータを受信することは、ランタイムプロセスデータ、連続プロセスデータ、バッチプロセスデータ、バッチ履歴データ、履歴化データ、イベントデータ、アラームデータ、分析データ、診断データ、環境データ、ユーザインターフェースデータ、構成データ、パフォーマンスデータ、または前記プロセスプラントの1つ以上のデバイスによって生成される別のタイプのデータのうちの少なくとも1つを受信することを含む、請求項1~19のいずれか一項に記載の方法。
【請求項21】
前記フィールド向きコンポーネントは、前記プロセスプラントの複数のフィールド向きコンポーネントに含まれ、前記複数のフィールド向きコンポーネントの各フィールド向きコンポーネントは、それぞれの単方向データダイオードを介して前記エッジ向きコンポーネントに通信可能に接続される、請求項1~20のいずれか一項に記載の方法。
【請求項22】
前記プロセスプラントが前記産業プロセスを制御するために動作している間、前記各フィールド向きコンポーネントは、それぞれのコンテンツデータを、前記それぞれの単方向データダイオードを介して、前記エッジ向きコンポーネントに送信し、
前記各フィールド向きコンポーネントによって前記エッジ向きコンポーネントに送信される前記それぞれのコンテンツデータは、前記1つ以上の外部システムに公開可能であるとして、前記各フィールド向きコンポーネントに固有の1つ以上のそれぞれのインタレストリストによって定義され、
前記方法はさらに、前記エッジ向きコンポーネントで、前記複数のフィールド向きコンポーネントの前記各フィールド向きコンポーネントによって送信される、前記それぞれのコンテンツデータを受信することと
、前記複数のフィールド向きコンポーネントの前記各フィールド向きコンポーネントによって送信される前記受信されたそれぞれのコンテンツデータを
前記データレイクに記憶することと、を含む、請求項21に記載の方法。
【請求項23】
前記プロセスプラントによって生成された前記コンテンツデータを受信することは、
前記プロセスプラントの前記1つ以上のプロセスプラントネットワークに含まれ、前
記コンテンツ
データの少なくとも第1の部分のソースである第1のデバイス、モジュール、またはエンティティの識別および/もしくは説明、
前記1つ以上のプロセスプラントネットワークに含まれ、前
記コンテンツ
データの少なくとも第2の部分の受信側である第2のデバイス、モジュール、またはエンティティの識別および/もしくは説明、
前記1つ以上のプロセスプラントネットワークに含まれ、前
記コンテンツ
データの少なくとも第3の部分に関連付けられている第3のデバイス、モジュール、またはエンティティの識別および/もしくは説明、
前記第1のデバイス、前記第2のデバイス、または前記第3のデバイスが含まれるそれぞれのプロセスプラントネットワークの識別および/もしくは説明、
前
記コンテンツ
データの少なくとも第4の部分が生成および/もしくは受信されるプロセスプラントユニットの識別および/もしくは説明、
前
記コンテンツ
データの少なくとも第5の部分に対応する機器の識別および/もしくは説明、または、
前
記コンテンツ
データの少なくとも第6の部分に関連付けられた、前記プロセスプラントの別の物理コンポーネントまたはエリアの識別および/もしくは説明、のうちの少なくとも1つを受信することを含む、請求項1~22のいずれか一項に記載の方法。
【請求項24】
前記プロセスプラントによって生成された前記コンテンツデータを受信することは、
前
記コンテンツ
データに含まれるデータの少なくとも第1の部分のタイプ、
前
記コンテンツ
データに含まれるデータの少なくとも第2の部分の測定単位、
前
記コンテンツ
データに含まれるデータの少なくとも第3の部分の範囲、
前
記コンテンツ
データに含まれるデータの少なくとも第4の部分の目標値、
前
記コンテンツ
データに含まれるデータの少なくとも第5の部分を利用する制御ルーチン、
前
記コンテンツ
データに含まれるデータの少なくとも第6の部分の特性を示すパラメータ、
前
記コンテンツ
データに含まれるデータの少なくとも第7の部分の使用を示すパラメータ、または、
診断パラメータ、のうちの少なくとも1つを受信することを含む、請求項1~23のいずれか一項に記載の方法。
【請求項25】
前記1つ以上の外部システムが、クラウドコンピューティングシステム、パブリックコンピューティングシステム、またはプライベートコンピューティングシステムのうちの少なくとも1つを含む、請求項1~24のいずれか一項に記載の方法。
【請求項26】
請求項1~25のいずれか一項に記載の方法を実行するように構成されたエッジ向きコンポーネント。
【請求項27】
請求項26に記載の前記エッジ向きコンポーネント、前記フィールド向きコンポーネント、および前記フィールド向きコンポーネントと請求項24に記載の前記エッジ向きコンポーネントを相互接続するデータダイオードを含む、エッジゲートウェイシステム。
【請求項28】
プロセスプラントから、1つ以上の外部アプリケーションおよび/もしくはシステムによる消費のために前記プロセスプラントに関連する知識を安全に配信するためのエッジゲートウェイシステムであって、前記エッジゲートウェイシステムは、
前記エッジゲートウェイシステムのフィールド向きコンポーネントに通信可能に接続されるエッジ向きコンポーネントを備え、前記フィールド向きコンポーネントは、前記プロセスプラントに通信可能に接続されており、前記エッジ向きコンポーネントは、1つ以上のプロセッサと、1つ以上の非一時的メモリと、を含み、前記1つ以上の非一時的メモリは、
前記プロセスプラントに対応する公開可能なデータ型のシステムであって、前記フィールド向きコンポーネントによって生成された、公開可能なデータ型のシステムと、
前記公開可能なデータ型のシステムに対応するコンテキスト知識リポジトリであって、前記プロセスプラントによって提供されたコンテンツデータおよび前記コンテンツデータ間の関係の指標を記憶する、コンテキスト知識リポジトリと、
前記コンテキスト知識リポジトリへの1つ以上のアクセスメカニズムであって、前記1つ以上のアクセスメカニズムのうちの少なくとも1つが、前記1つ以上の外部アプリケーションおよび/もしくはシステムに公開されている、1つ以上のアクセスメカニズムと、を含む、エッジゲートウェイシステム。
【請求項29】
前記エッジ向きコンポーネントの前記1つ以上の非一時的メモリは、
公開されたデータレシーバであって、前記エッジ向きコンポーネントが、前記フィールド向きコンポーネントから前記公開可能なデータ型のシステムおよび前記コンテンツデータを受信する際に経由する公開されたデータレシーバと、
前記公開可能なデータ型のシステムに従って、前記フィールド向きコンポーネントから受信した前記コンテンツデータを記憶するデータレイクと、
前記データレイクに記憶されたデータ間の前記関係を発見するように構成されたコンテキスト知識マイナと、をさらに記憶する、請求項28に記載のエッジゲートウェイシステム。
【請求項30】
前記データレイクが、前記プロセスプラントのセキュリティレベルよりも高い数字のセキュリティレベルである1つ以上のシステムから受信したデータをさらに記憶する、請求項29に記載のエッジゲートウェイシステム。
【請求項31】
前記エッジ向きコンポーネントは、前記フィールド向きコンポーネントから受信した前記コンテンツデータに対して動作する1つ以上の計算エンジンをさらに含み、前記1つ以上の計算エンジンのそれぞれの出力が、前記データレイクに記憶される、請求項29~30のいずれか一項に記載のエッジゲートウェイシステム。
【請求項32】
前記コンテキスト知識リポジトリは、1つ以上のグラフデータベースを使用して実装される、請求項28~31のいずれか一項に記載のエッジゲートウェイシステム。
【請求項33】
前記1つ以上のアクセスメカニズムが、前記コンテキスト知識リポジトリに直接アクセスする1つ以上のアプリケーションプログラミングインターフェース(API)を含み、前記1つ以上の外部アプリケーションおよび/もしくはシステムに公開される前記1つ以上のアクセスメカニズムの前記少なくとも1つは、前記コンテキスト知識リポジトリにアクセスするための前記1つ以上の直接アクセスAPIを利用する、請求項28~32のいずれか一項に記載のエッジゲートウェイシステム。
【請求項34】
前記1つ以上のアクセスメカニズムは、前記コンテキスト知識リポジトリにアクセスするための、1つ以上の他のアプリケーション、サービス、サーバ、または前記1つ以上の直接アクセスAPIを利用するユーティリティを含む、請求項33に記載のエッジゲートウェイシステム。
【請求項35】
前記1つ以上のアクセスメカニズムが、前記コンテキスト知識リポジトリのための検索アプリケーションまたはクエリアプリケーションの少なくとも1つを含み、前記1つ以上の外部システムに公開される前記1つ以上のアクセスメカニズムの前記少なくとも1つが、前記検索アプリケーションまたは前記クエリアプリケーションの前記少なくとも1つを含む、請求項28~34のいずれか一項に記載のエッジゲートウェイシステム。
【請求項36】
前記コンテキスト知識リポジトリへの前記1つ以上のアクセスメカニズムが、アプリケーション、サービス、サーバ、またはユーティリティのうちの少なくとも1つを含む、請求項28~35のいずれか一項に記載のエッジゲートウェイシステム。
【請求項37】
前記エッジ向きコンポーネントは、前記アプリケーション、前記サービス、前記サーバ、または前記ユーティリティのうちの前記少なくとも1つをサポートする1つ以上のプラットフォームをさらに含み、前記1つ以上のプラットフォームは、標準化されたプラットフォームまたはオープンソースのプラットフォームのうちの少なくとも1つを含む、請求項36に記載のエッジゲートウェイシステム。
【請求項38】
前記1つ以上のプラットフォームが、コンテナプラットフォームまたはNode.JSプラットフォームのうちの少なくとも1つを含む、請求項37に記載のエッジゲートウェイシステム。
【請求項39】
前記1つ以上のアクセスメカニズムは、
OPC UAサーバ、
ウェブサーバ、
AMQPサービス、
発行および/もしくはサブスクリプションマネージャ、
MQTTサービス、
1つ以上のOPCランタイムサービス、
認証および/もしくは承認サービス、
モバイルデバイスに公開されるサービス、または
前記プロセスプラントの1つ以上のアプリケーションおよび/もしくはシステムに公開されるアプリケーション、サービス、もしくはサーバ、のうちの少なくとも1つを含む、請求項28~38のいずれか一項に記載のエッジゲートウェイシステム。
【請求項40】
前記1つ以上のアクセスメカニズムは、サードパーティによって生成され、前記エッジゲートウェイシステムの前記エッジ向きコンポーネントにインストールされる、アクセスメカニズムを含む、請求項28~39のいずれか一項に記載のエッジゲートウェイシステム。
【請求項41】
前記1つ以上の外部アプリケーションおよび/もしくはシステムのうちの少なくとも一部は、クラウドコンピューティングシステム、パブリックネットワークを介して前記エッジゲートウェイシステムに通信可能に接続するシステム、またはプライベートネットワークを介して前記エッジゲートウェイシステムに通信可能に接続するシステムにおいて実装される、請求項28~40のいずれか一項に記載のエッジゲートウェイシステム。
【請求項42】
前記プロセスプラントのアプリケーションおよび/もしくはシステムに公開され、かつ前記1つ以上の外部アプリケーションおよび/もしくはシステムに公開されない1つ以上の追加のアクセスメカニズムをさらに含む、請求項28~41のいずれか一項に記載のエッジゲートウェイシステム。
【請求項43】
前記フィールド向きコンポーネントと前記エッジ向きコンポーネントとを相互接続する単方向データダイオードをさらに備える、請求項28~42のいずれか一項に記載のエッジゲートウェイシステム。
【請求項44】
請求項1~25のいずれか一項に記載の方法を実行するように構成された、請求項28~43のいずれか一項に記載のエッジゲートウェイシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、プロセスプラントおよびプロセス制御システムに関し、より具体的には、プロセスプラント関連データを利用するかまたは消費する外部システムへのプロセスプラント/プロセス制御システムからのプロセスプラント関連データの配信の確保に関する。
【背景技術】
【0002】
化学、石油、薬剤、紙製品処理、または他のプロセスプラントにおいて使用されるもの等の、分散型プロセス制御システムは、典型的には、アナログバス、デジタルバス、またはアナログ/デジタル連結バスを介して、あるいは無線通信リンクまたはネットワークを介して、1つ以上のフィールドデバイスと通信可能に連結される、1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ(例えば、温度、圧力、レベルおよび流量センサ)であり得るフィールドデバイスは、プロセス環境内に位置付けられ、一般に、バルブの開閉、圧力、温度、等のプロセスパラメータの測定等の物理的またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行中の1つ以上のプロセスを制御する。周知のFieldbusプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスはまた、制御計算、アラーム機能、およびコントローラ内で一般に実装される他の制御機能も実行し得る。典型的にはプラント環境内にも配置されるプロセスコントローラは、フィールドデバイスによって行われるプロセス測定を示す信号および/もしくはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行う、異なる制御モジュールを実行するコントローラアプリケーション実行し、受信した情報に基づき制御信号を生成し、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)Fieldbusフィールドデバイス等のフィールドデバイスで行われる制御モジュールまたはブロックと連携する。コントローラ内の制御モジュールは、通信ラインまたはリンクを経由して、フィールドデバイスに制御信号を送信し、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
【0003】
フィールドデバイスおよびコントローラからの情報は、制御室もしくはより厳しいプラント環境から離れた他の場所に典型的に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または他の集中管理コンピューティングデバイス等の1つ以上の他のハードウェアデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の閲覧、フィールドデバイスおよびコントローラによって生成されたアラームの閲覧、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスの動作のシミュレーション、構成データベースの保守および更新等の、プロセスの制御および/またはプロセスプラントの動作に関する機能を行うことを可能にし得るアプリケーションを実行する。ハードウェアデバイス、コントローラ、およびフィールドデバイスにより利用されるデータハイウェイは、有線通信パス、無線通信パス、または有線および無線通信パスの組み合わせを含むことができる。
【0004】
例として、Emerson Automation Solutionsによって販売されているDeltaV(商標)制御システムは、プロセスプラント内の多様な場所に位置する異なるデバイス内に記憶され、それら異なるデバイスによって実行される多数のアプリケーションを含む。1つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、およびデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実行し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつオペレータによるプロセス制御ルーチン内の設定点等の設定の変更を可能にするために閲覧アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、および一部の場合においては、1つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶および実行する。視認アプリケーションは、1つ以上のオペレータワークステーション(またはオペレータワークステーションおよびデータハイウェイと通信可能に接続された1つ以上のリモートコンピューティングデバイス)上で実行され得、この視認アプリケーションは、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技師のビューなどのいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、データハイウェイにわたって提供されたデータの一部またはすべてを収集および記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションが、現在のプロセス制御ルーチン構成およびそれと関連付けられたデータを記憶するために、データハイウェイに取り付けられたなおさらに離れたコンピュータで作動され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーションに配置されてもよい。
【0005】
一般的に言って、プロセスプラントのプロセス制御システムは、フィールドデバイス、コントローラ、ワークステーション、および階層化されたネットワークとバスとのセットによって相互接続された他のデバイスを含む。同様に、プロセス制御システムは、例えば、製造および操作コストを低減し、生産性と効率を高め、プロセス制御および/もしくはプロセスプラント情報などをタイムリーに提供するために、様々なビジネスおよび外部ネットワークと接続されてもよい。一方、プロセスプラントおよび/もしくはプロセス制御システムの、企業および/もしくは外部ネットワークおよびシステムへの相互接続は、企業および/もしくは外部ネットワークで使用されるものなどのような商用システムおよびアプリケーションにおいて、予想される脆弱性から生じ得るサイバー侵入および/もしくは悪意のあるサイバー攻撃のリスクを増加させる。プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入と悪意のあるサイバー攻撃とは、情報資産の機密性、完全性、および/または可用性に悪影響を与える可能性があり、これは一般的に言って、汎用コンピューティングネットワークのものと類似した脆弱性である。ただし、汎用コンピュータネットワークとは異なり、プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入は、プラント機器、製品、および他の物理的資産の損害、破壊、および/または損失だけでなく、人命の損失をももたらし得る。例えば、サイバー侵入は、プロセスを制御不能にし、それによって、爆発、火災、洪水、危険物への暴露等を発生させる場合がある。したがって、プロセス制御プラントおよびシステムに関連する通信を保護することが、最も重要なことである。
【発明の概要】
【0006】
一実施形態では、プロセスプラントから、エッジゲートウェイシステムを介して、1つ以上の外部システムによる消費のための、プロセスプラントに関連付けられた知識を、安全に配信する方法が開示される。この方法は、エッジゲートウェイシステムのエッジ向きコンポーネントで、産業プロセスを制御するように動作している間に、エッジゲートウェイシステムのフィールド向きコンポーネントからプロセスプラントによって生成されたコンテンツデータを受信することと、エッジ向きコンポーネントの1つ以上のメモリにデータレイクの中のコンテンツデータを記憶することと、を含む。この方法はまた、エッジ向きコンポーネントによって、データレイクをマイニングし、それによって、コンテンツデータに含まれる異なるデータポイント間の、1つ以上の関係を発見することと、エッジ向きコンポーネントによって、コンテンツデータと、発見された関係の指標を、コンテキスト化されたプロセスプラントの知識リポジトリに記憶することと、エッジ向きコンポーネントによって、コンテキスト化されたプロセスプラント知識リポジトリにアクセスするための1つ以上のメカニズムを提供することと、それによって、コンテキスト化されたプロセスプラント知識リポジトリに記憶された情報を、エッジ向きコンポーネントを介して、1つ以上の外部システムが利用できるようにすることと、を含む。
【0007】
一実施形態では、プロセスプラントから、1つ以上の外部アプリケーションおよび/もしくはシステムによる消費のために、プロセスプラントに関連する知識を安全に配信するためのエッジゲートウェイシステムが開示される。エッジゲートウェイシステムは、エッジゲートウェイシステムのフィールド向きコンポーネントに通信可能に接続されているエッジ向きコンポーネントを含み、フィールド向きコンポーネントはプロセスプラントに通信可能に接続される。エッジ向きコンポーネントには、1つ以上のプロセッサと、1つ以上の非一時的メモリを含み、1つ以上の非一時的メモリは、プロセスプラントに対応し、フィールド向きコンポーネントによって生成される、公開可能なデータ型のシステムと、公開可能なデータ型のシステムに対応し、プロセスプラントによって提供されるコンテンツデータとコンテンツデータ間の関係の指標を記憶するコンテキスト知識リポジトリと、コンテキスト知識リポジトリへの1つ以上のアクセスメカニズムとを記憶する。1つ以上のアクセスメカニズムのうちの少なくとも1つは、1つ以上の外部アプリケーションおよび/もしくはシステムに公開されている。
【図面の簡単な説明】
【0008】
【
図1】産業プロセスプラントの例示的なエッジゲートウェイシステムのブロック図である。
【
図2】例示的な産業プロセスプラントのブロック図であり、特に、プロセスプラントまたはプロセス制御システムの様々な例示的なコンポーネント間の相互接続、プロセス制御システム自体、および、プロセスプラントと同様のセキュリティレベルの、他の例示的な関連するシステムおよび/もしくはネットワークを示す。
【
図3】プロセスプラントまたはプロセス制御システム用のエッジゲートウェイシステムの例示的なフィールド向きコンポーネントのブロック図である。
【
図4A】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
【
図4B】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
【
図4C】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
【
図5A】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのエッジ向きコンポーネントの第1の部分のブロック図である。
【
図5B】
図5Aのエッジ向きコンポーネントの第2の部分のブロック図である。
【発明を実施するための形態】
【0009】
サイバー侵入や悪意のあるサイバー攻撃からプロセスプラントやプロセス制御システムを保護するには、通常、少なくとも一部の層またはレベルが、ファイアウォールや他のセキュリティメカニズムを使用して保護された、階層化またはレベル化されたセキュリティヒエラルキーを使用する。国際計測制御学会(ISA:International Society of Automation)95.01-国際電気標準会議(IEC:International Electrotechnical Commission)62264-1によって標準化された制御ヒエラルキーのためのパデューモデル(Purdue Model for Control Hierarchy)論理フレームワークを例示的なフレームワークとして使用して、プロセス制御システムは一般にセキュリティレベル0~2(例えば、メッセージ、パケット、および他の通信の安全性と有効性にレベルの高い信頼性があるOT(運用技法)レベル)に分類され、製造、会社、および企業システムは、通常、セキュリティレベル3~5(例えば、レベルの低い信頼性を有するIT(情報技法)レベル)に分類される。例えば、セキュリティレベル0~3のプロセスプラントシステム、ネットワーク、およびデバイスは、例えば、非武装地帯(DMZ)および/もしくは1つ以上のファイアウォールを使用することによって、セキュリティレベル4~5の企業ネットワークから、および/もしくは、企業ネットワークを利用するセキュリティレベル5より高い任意の外部ネットワークからの脅威から保護されてもよい。ただし、プロセスプラントのデータを操作する、より多くのサービスやアプリケーションが遠隔で、例えば、(例えば、プロセスプラントが関連する、所有する、および/もしくは操作する、企業またはビジネス内のセキュリティレベル4および/もしくは5の)ネットワークおよびプロセスプラントの外、または外部のシステムで実行する方向に移行するにつれて、および/もしくは、(例えば、インターネットまたは他のパブリックネットワーク経由のセキュリティレベル5を上回る)企業またはビジネスの外部にあるネットワークおよびシステム上でも、プロセスプラントシステム、ネットワーク、およびデバイスが危険にさらされるのを防ぐためのより強力な技法が必要である。
【0010】
本明細書で説明する新規のシステム、コンポーネント、装置、方法、および技法は、プロセスプラントおよびそのネットワークに関連するこれらおよび他のセキュリティ問題に対処し、特に、プロセスプラント関連データのコンシューマである、1つ以上の外部システムにプロセスプラント関連データを安全に配信することを目的とする。
【0011】
例示すると、
図1は、プロセスプラント5から、企業アプリケーションおよび/もしくはシステム(例えば、セキュリティレベル3~5などのITレベルのセキュリティ)および/もしくはサードパーティのアプリケーションおよび/もしくはシステムを含んでいてもよい、1つ以上の外部のデータ消費アプリケーションおよび/もしくはシステムにプロセスプラント関連データ(例えば、フィールドデータ)を安全に配信する、例示的なエッジゲートウェイシステム1のブロック図である。エッジゲートウェイシステム1は、データダイオード15を介してエッジ向きコンポーネント12に通信可能に接続されるフィールド向きコンポーネント10を含む。フィールド向きコンポーネント10は、1つ以上のプロセッサ18と、少なくとも1組のデータおよび少なくとも1組のコンピュータ実行可能命令を記憶する1つ以上の非一時的メモリまたはデータ記憶デバイス20とを含み、少なくとも1組のコンピュータ実行可能命令は、1つ以上のプロセッサ18によって実行可能である。例えば、
図1に示すように、フィールド向きコンポーネント10の1つ以上のメモリ20は、1つ以上のインタレストリスト22、公開可能なデータ型のシステム24A、および任意選択で他のデータセット(図示せず)などのそれぞれのデータセットを記憶する。フィールド向きコンポーネント10の1つ以上のメモリ20は、データタイパ25のためのコンピュータ実行可能命令をさらに記憶し、また、コンピュータ実行可能命令の他のセット(図示せず)も記憶してもよい。フィールド向きコンポーネント10は、例えば、プロセスプラント5が産業プロセスを制御する動作中に、任意の数の有線および/もしくは無線通信ネットワーク、データネットワーク、および/もしくは様々なデバイスを通信可能に接続するリンク、および/他の、プロセスプラント5に関連付けられると共にデータを生成する他のデータソース30を含み得る1つ以上のプロセスプラント通信ネットワーク、データネットワーク、および/もしくはリンク28に通信可能に接続される。エッジゲートウェイシステム1のフィールド向きコンポーネント10およびそのサブコンポーネントの実施形態のより詳細な説明は、本開示内の他の場所で提供される。
【0012】
エッジゲートウェイシステム1のエッジ向きコンポーネント12は、1つ以上のプロセッサ35と、少なくとも1組のデータおよび少なくとも1組のコンピュータ実行可能命令を記憶する1つ以上の非一時的メモリまたはデータ記憶デバイス38とを含み、少なくとも1組のコンピュータ実行可能命令を、1つ以上のプロセッサ35によって実行可能である。例えば、
図1に示すように、エッジ向きコンポーネント12の1つ以上のメモリ38は、フィールド向きコンポーネント10の公開可能なデータ型のシステム24Aの少なくとも部分的なコピー24Bを記憶し、それぞれのデータセットは、データレイク40とコンテキスト知識リポジトリ42に対応し、エッジ向きコンポーネント12の1つ以上のメモリ38は、コンテキスト知識マイナ45に対するそれぞれのコンピュータ実行可能命令と、コンテキスト知識リポジトリ42に対する1つ以上のアクセスメカニズム48を記憶する。
図1には示されていないが、当然ながら、エッジ向きコンポーネント12の1つ以上のメモリ38は、他のデータセットおよび/もしくは他のコンピュータ実行可能命令セットを記憶してもよい。
図1にも示されているように、エッジゲートウェイシステム1のエッジ向きコンポーネント12は、1つ以上の外部通信ネットワーク、データネットワーク、および/もしくはリンク50を介して、1つ以上の外部データ消費システム8に通信可能に接続される。1つ以上の外部通信ネットワーク、データネットワーク、および/もしくはリンク50は、任意の数の有線および/もしくは無線通信ネットワーク、データネットワーク、および/もしくはリンクを含んでもよく、任意の数のプライベートおよび/もしくはパブリックネットワークおよび/もしくはリンクを含んでもよい。1つ以上の外部システム8は、サーババンク、クラウドコンピューティングシステムなどの任意の好適な技法を使用してそれぞれ実装し得ると共に、様々なアプリケーション(サードパーティのアプリケーション、ウェブサイトなど)を実行してもよい、任意の数のパブリックコンピューティングシステムおよび/もしくはプライベートコンピューティングシステムを含んでもよい。エッジ向きコンポーネント12およびそのサブコンポーネントの実施形態のより詳細な説明は、本開示内の他の場所で提供される。
【0013】
図1に示すように、フィールド対向コンポーネント10およびエッジ対向コンポーネント12は、データダイオード15を介して相互接続される(ただし、エッジゲートウェイシステム1のいくつかの実装形態(図示せず)では、データダイオード15は省略されてもよく、フィールド向きコンポーネント10およびエッジ向きコンポーネント12は、直接接続されるか、または一体型で単一の論理的および/もしくは物理コンポーネントである)。いずれにせよ、
図1に示すように、データダイオード15は、データ(例えば、電子データ)がフィールド向きコンポーネント10からエッジ向きコンポーネント12に伝送される際に経由する1つ以上の伝送媒体を含み、データダイオード15は、フィールド向きコンポーネント10とエッジ向きコンポーネント12の間の唯一の通信接続である。好ましい実施形態では、データダイオード15は単方向であるため、あらゆるタイプのデータ(例えば、シグナリングデータ、制御データ、管理データ、ペイロードデータなど)が、フィールド向きコンポーネント10からエッジ向きコンポーネント12にのみ流れ、エッジ向きコンポーネント12からフィールド向きコンポーネント10に流れない(そして、実際、いくつかの実施形態では、物理的に流れることができない)。すなわち、データダイオード15は、ありとあらゆるタイプのデータ(例えば、シグナリングデータ、制御データ、管理データ、ペイロードデータなど)がエッジ向きコンポーネント12からフィールド向きコンポーネント10に流れてしまわないように物理的および/もしくは論理的に構成してもよい。一例では、単方向データダイオード15は、光ファイバーリンクまたはケーブル、または例えばイーサネットリンク、無線データダイオード、ソフトウェア定義のデータダイオードなどのような、他の好適なタイプの高帯域幅ハードウェアおよび/もしくはソフトウェア伝送媒体を使用して実装される。別の例では、単方向データダイオード15のハードウェアおよび/もしくはソフトウェアは、そうでなく、フィールド向きコンポーネント10からエッジ向きコンポーネント12へのデータの流れをサポートしながら、任意のタイプのデータ(例えば、シグナリングデータ、制御データ、管理データ、ペイロードデータなど)のエッジ向きコンポーネント12フィールド向きコンポーネント10からの流れを防ぐように構成してもよい。例えば、そうでない場合に、1つ以上の外部システム8からデータを受信してしまうであろうエッジ向きコンポーネント12の物理ポートは、遮断、無効化、および/もしくは省略してもよい。
【0014】
さらなるセキュリティのために、データダイオード15を通ってフィールド向きコンポーネント10からエッジ向きコンポーネント10に転送されるデータは、フィールド向きコンポーネント10によって暗号化してもよく、エッジ向きコンポーネント12によって復号化してもよい。さらに、効率のために、データダイオード15は、毎秒100K以上のパラメータのレートなどのような、高スループットのデータストリーミングをサポートするように構成される。実際に、いくつかの実施形態では、データダイオード15は、1ギガビット毎秒以上の速度で動作してもよい。例えば、データダイオード15は、高スループットのデータストリーミング機能をサポートするために、光ファイバーリンクまたはケーブル、あるいは例えばイーサネットリンク、無線データダイオード、ソフトウェア定義のデータダイオード等のような他の好適なタイプの高帯域幅ハードウェアおよび/もしくはソフトウェア伝送媒体を使用して実装されてもよい。そのような高帯域幅のハードウェアおよび/もしくはソフトウェアの伝送媒体は、フィールド向きコンポーネント10に関して、単方向の送信機能付きで受信機能なしでも実装でき、それによって、フィールド向きコンポーネント10からエッジ向きコンポーネント12への一方向のみの、単方向データ伝送をさらに強化してもよい。さらに、データダイオード15は、システムの成長に対応するように容易に拡張可能である。例えば、システムの成長、ならびにそれに対応する、フィールド向きコンポーネント10からエッジ向きコンポーネント12に転送されるデータの量および速度の増加をサポートするために、多数のコアおよび/もしくは多数のスレッドを追加および/もしくは利用してもよい。
【0015】
一般的に言って、エッジゲートウェイシステム1は、より低い数字のセキュリティレベルのプロセスプラント5および関連システムを、より高い数字のセキュリティレベルの1つ以上のデータ消費システム8と安全に接続および/もしくはブリッジする。例えば、パデューモデル(または他の同様のセキュリティヒエラルキー)を参照すると、エッジゲートウェイシステム1がプロセスプラント関連データを取得する際に経由するデータソース30およびネットワーク/リンク28は、より低い数字のセキュリティレベル(例えば、セキュリティレベル0からセキュリティレベル2)でもよく、例えば、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、仮想ローカルエリアネットワーク(VLAN)、仮想拡張可能ローカルエリアネットワーク(VXLAN)などの仮想ネットワーク、および他のシステム、ネットワーク、アプリケーション、および/もしくはプロセスプラント5に関連付けられたデバイスを含んでいてもよい。したがって、本明細書での考察を容易にするために、また、限定目的ではなく、「プロセスプラント5」という用語は、物理的プロセスプラント、ならびに、より低い数字のセキュリティレベルのデータを生成および/もしくは通信する物理的プロセスプラントに関連付けられ、それと通信接続する他のシステムを集合的に指すために使用する。
【0016】
図1のエッジゲートウェイシステム1では、プロセスプラント5によって生成されたプロセスプラント関連データ(例えば、フィールドデータ)を取得して最初に処理するフィールド向きコンポーネント10は、セキュリティレベル2からセキュリティレベル3でもよく、データダイオード15およびエッジ向きコンポーネント12は、セキュリティレベル3でもよい。1つ以上の外部のデータ消費システム8は、セキュリティレベル4以上でもよく、任意の数のパブリックおよび/もしくはプライベートシステム、およびその上で実行される、企業アプリケーションおよび/もしくはシステム、サードパーティのアプリケーションおよび/もしくはシステム、公的に入手可能なアプリケーションおよび/もしくはシステム、ウェブサイトなどのような、様々なアプリケーションを含んでいてもよい。このように、エッジゲートウェイシステム1は、プロセスプラントおよびその関連システム、ネットワーク、および/もしくはより低い数字のセキュリティレベルのアプリケーション5によって生成されたフィールドデータを、システム、ネットワーク、および/もしくはより高い数字のセキュリティレベルのアプリケーション8に安全に配信する。
【0017】
特に、
図1に示すように、エッジゲートウェイシステム1のフィールド向きコンポーネント10は、フィールド向きコンポーネント10に記憶された1つ以上のインタレストリスト22に従ってデータソース30からフィールドデータを取得または収集する。インタレストリスト22は、産業プロセスを制御するように動作するプラント5に関連してプロセスプラント5によって生成される特定のプロセスプラント関連またはフィールドデータを示し、フィールドデータの示されたプロセスプラント関連は、外部システム、ネットワーク、および/もしくはアプリケーション8に公開することが可能になる(例えば、公開可能である)。このように、エッジゲートウェイシステム1に含まれるインタレストリスト22は、保護されたフィールドデータがプロセスプラント5から外部のデータ消費システム8に誤って解放されないように、初期レベルフィールド向きセキュリティを提供する。インタレストリスト22は、特定のランタイムデータ、イベントデータ、履歴データ、構成データ、および/もしくはデバイス、コンポーネントおよび/もしくはより低い数字のセキュリティレベル(例えば、セキュリティレベル0~2)のプロセスプラント5のおよび/もしくはそれに関連するシステムによって生成される他のタイプのプロセスプラント関連データなど、特定のフィールドインタレストデータおよび/もしくはそれらの組み合わせを示してもよい。インタレストリスト22は、本開示内の他の箇所でより詳細に説明しているインタレストマネージャ(
図1には示されていない)を介して構成および/もしくは定義してもよい。
【0018】
さらに、フィールド向きコンポーネント10において、データタイパ25は、公開可能なデータ型のシステム24Aに従って、取得されたインタレストリストデータコンテンツをそれぞれタイプする。一般的に言って、公開可能なデータ型のシステム24Aは、外部のデータ消費システム8に公開されるか、あるいは、利用可能になるデータ型(データ定義、名称、値、フィールド、構造、クラス、オブジェクトなどを含む)のシステムを定義または構成する。さらに、公開可能なデータシステム24Aは、プロセスプラント関連データコンテンツを利用できるように、名称、マッピング、変換、グループ化、値の割り当て、および/もしくはプロセスプラント関連またはフィールドデータ型の他の配置を、公開可能なデータ型に定義するので、プロセスプラント関連データコンテンツは、外部のデータ消費システム8によって利用してもよく、かつ、理解されてもよい。本明細書で交換可能に利用される「プロセスプラント関連データ型」または「フィールドデータ型」という用語は、一般に、より低い数字のセキュリティレベルのプロセスプラント5とその関連システムのアプリケーション、デバイス、コンポーネント、システム、および/もしくはネットワークで使用するために定義および/もしくは構成されているデータ型(例えば、データ定義、名称、値、フィールド、構造、クラス、オブジェクトなど)を指す。一実施形態では、公開可能なデータ型のシステム24Aは、インタレストマネージャを介して(例えば、本開示内の他の場所で説明されるような様式で)定義または構成してもよい。いずれにせよ、公開可能なデータシステム24Aにより、外部システム8がプラント5のいかなる内部データ定義および/もしくは構成も認識する必要なく、また、プロセスプラント5を照会するおよび/もしくはそれ通信を開始する、および/もしくはそれに回答をプロセスプラント5に送る必要なく、関連する低セキュリティレベルシステムによって生成されたプロセスプラント関連/フィールドデータを外部システム8が解釈することを可能にする。このように、エッジゲートウェイシステム1の公開可能なデータ型のシステム24Aおよびデータタイパ25は、外部システム8からの起こり得るセキュリティ侵害からプロセスプラント5をさらに保護する。公開可能なデータ型のシステム24Aおよびデータタイパ25は、本開示の他の箇所でより詳細に説明する。
【0019】
少なくとも、公開可能なデータ型のシステム24Aおよびデータタイパ25の使用により、データダイオード15は、真に単方向データダイオードでもよい。現在知られているデータダイオードは、コンテンツデータの単方向フローを提供するが、このように肯定応答および/もしくはエラー状態をデータ受信端からデータ送信端に通信可能とすることにより、シグナリング、制御、および/もしくは管理資料の双方向フローも可能とする。しかしながら、エッジゲートウェイシステム1のデータダイオード15は、そのデータ受信端からそのデータ送信端に、いかなるタイプのデータフローもないということから、真に単方向でもよい。実際に、実施形態では、データダイオード15は、例えば、データダイオード15が光伝送媒体を介して実装される実施形態でそうであるように、いかなるタイプのデータ(例えば、シグナリング、制御、管理、コンテンツなど)がエッジ向きコンポーネント12からフィールド向きコンポーネント10に配信されるのを防ぐように、物理的に構成される。このように、少なくともデータダイオード15の真に単方向の性質により、エッジゲートウェイシステム1のデータダイオード15は、外部システム8からの起こり得るセキュリティ侵害からプロセスプラント5をさらに保護する。
【0020】
エッジゲートウェイシステム1のエッジ向きコンポーネント12において、データダイオード15を介してフィールド向きコンポーネント10から受信される、タイプ分けされたフィールドコンテンツデータは、データレイク40に記憶される。コンテキスト知識マイナ45は、データレイク40をマイニングして、データレイク40に記憶された様々なフィールドコンテンツデータ間の関係および関連を発見し、コンテキスト知識リポジトリ48を生成/修正/更新して、コンテキスト知識リポジトリ48が受信したフィールドコンテンツデータ、ならびに発見された関係および/もしくは関連付け(例えば、受信されたフィールドコンテンツデータのコンテキスト)の両方の表示を含むようにする。このように、コンテキスト知識リポジトリ48は、プロセスプラント関連またはフィールドコンテンツデータ(例えば、ランタイムデータ、イベントデータ、履歴データ、および/もしくはプロセスプラント5によって提供される他のタイプのデータ、ならびに、提供されたプロセスプラント関連/フィールドコンテンツデータの間の関係を示すコンテキスト情報、プロセスプラント5内のプロセスプラント関連/フィールドコンテンツデータの生成、配信、および/もしくは受信に対応する条件、および/もしくは他のタイプのプロセスプラント関連/フィールドコンテンツデータのコンテキストの両方を記憶する。コンテキスト知識リポジトリ48に記憶される知識(例えば、コンテンツデータおよび関連するコンテキスト情報、および任意選択で他のデータ)は、1つ以上の外部のデータ消費システム8に公開可能である(例えば、利用可能にされる)。
【0021】
実際、エッジ向きコンポーネント12は、外部のデータ消費システム8が、コンテキスト知識リポジトリ48に記憶された知識の少なくとも一部にアクセスし得る1つ以上のアクセスメカニズム48を提供する。各アクセスメカニズムには、外部システム8からのセキュリティ侵害の可能性に抗した、さらに別の保護レベルがそれぞれ含んでいてもよい。例えば、アクセスメカニズム48は、外部システムが、コンテキスト知識リポジトリ48および/もしくはプロセスプラント5へ不正アクセスを防止するのに役立つように、アプリケーションプログラミングインターフェース(API)、コンテナなどを使用して実装してもよい。実施形態では、アクセスメカニズム48の少なくとも1つは、サーバまたはプライベートアプリケーション(例えば、サーバ固有またはアプリケーション固有のAPIなど)は、サーバまたはプライベートアプリケーションに対する固有のアクセスメカニズムが、それらの使用のために外部システム8に公開される、サーチエンジンなどのようなエッジ向きコンポーネント12において実行するそれぞれのサーバまたは保護されたプリケーションを含んでもよい。エッジゲートウェイシステム1のエッジ向きコンポーネント12およびそのサブコンポーネントは、本開示の他の箇所でより詳細に考察する。
【0022】
一般的に言って、エッジゲートウェイシステム1の機能、コンポーネント、およびアーキテクチャは、外部の、データ消費システム8から、非常に安全な様式で、また、プロセスプラント5のパフォーマンスに影響を与えずに、プロセスプラント関連データへのほぼ無制限のアクセスを提供する。さらに、エッジゲートウェイシステム1は、プロセスプラント関連データを状況に応じて外部システム8に提供すると、例えば、プロセスプラント5の構成のコンテキスト内でプロセスプラント関連のコンテンツデータを提供すると、外部システム8は、より迅速かつ簡単にプロセスプラント関連データを見つけて使用してもよい。さらに、エッジゲートウェイシステム1は、モバイル接続アプリケーション、高度な分析アプリケーション、オープンシステムテクノロジーアプリケーション(例えば、Node.JS、Docker、Linux(登録商標)など)、カスタムアプリケーション、IoTアプリケーション、IIoTアプリケーション、ビジネスおよび/もしくは企業アプリケーションや企業アプリケーション(例えば、Excel、Power BIなど)、および/もしくは他のタイプのアプリケーションなど、プロセスプラント5に対応するコンテキスト知識で安全かつ容易に操作するように、様々な異なるタイプのデータ消費アプリケーションを可能にする。さらに、エッジゲートウェイシステム1は、多数のプロセスプラントからのプロセスプラント関連データを集約して、そこから関連する集約された知識を発見すると共に、より高い数字のセキュリティレベルの(天気予報システム、サプライチェーンシステム、金融システム、在庫管理システムなど)で外部システムからのデータを集約して、そこから関連する集約された知識を発見するように、容易に適応可能である。
【0023】
なお、
図1は、単方向データダイオード15を介してエッジ向きコンポーネント12と通信可能に接続される単一のフィールド向きコンポーネント10を含むものとしてエッジゲートウェイシステム1を示すが、これは多くの可能な配置の1つに過ぎない。例えば、いくつかの実施形態では、フィールド向きコンポーネント10およびエッジ向きコンポーネント12は、エッジゲートウェイシステム1内の一体型コンポーネントとして実装されてもよく、データダイオード15は省略され得る。いくつかの実施形態では、フィールド向きコンポーネント10およびデータダイオード15を、エッジゲートウェイシステム1の一体型コンポーネントとして実装されてもよく、またはデータダイオード15およびエッジ向きコンポーネント12を、一体型コンポーネントとして実装されてもよい。いくつかの実施形態では、統合フィールド向きコンポーネント10/データダイオードインスタンス15が統合データダイオードインスタンス15/エッジ向きコンポーネント12に通信可能に接続される場合など、データダイオード15の多数のインスタンスがエッジゲートウェイシステム1に含まれてもよい。他の実施形態では、エッジゲートウェイシステム1は、それぞれのデータダイオード15を介して多数のフィールド向きコンポーネント10に通信可能に接続される単一のエッジ向きコンポーネント12を含んでもよい。これらの実施形態では、エッジゲートウェイシステム1は、プロセスプラントサイト全体にサービスを提供することができ、そのサイト全体のデータは、エッジ向きコンポーネント12において集約されて、監視アプリケーション、分析アプリケーション、レポートアプリケーション、ディスプレイアプリケーションなどなどの様々なアプリケーションによって操作されてもよい。単一のエッジ向きコンポーネント12および多数のフィールド向きコンポーネント10構成は、企業全体の多数のプロセスプラントサイト、多数のプロセス制御システム、および/もしくは他の分散型構成にサービスを提供するのに等しく役立ち得る。
【0024】
プロセスプラントと関連データソース
図2は、オンラインまたはランタイム動作中に産業プロセスを制御するように構成され、そこからプロセスプラント関連がエッジゲートウェイシステム1の実施形態を介して安全に配信され得る例示的なプロセスプラント100のブロック図である。例えば、
図1のプロセスプラント5は、
図2のプロセスプラント100の少なくとも一部を含んでもよい。
図2に示されるように、プロセスプラント100は、例えば、
図1のエッジゲートウェイシステム1の実施形態であり得るエッジゲートウェイシステム102に通信可能に接続される。
【0025】
プロセスプラント100(本明細書においては、同義でプロセス制御システム100またはプロセス制御環境100とも称される)は、フィールドデバイスによって行われたプロセスおよび/もしくは他のタイプの測定値を示す信号を受信し、この情報を処理して制御ルーチンを実装し、有線または無線プロセス制御通信リンクまたはネットワークによって他のフィールドデバイスに送信される制御信号を生成して、プラント100内の産業プロセスの動作を制御する1つ以上のプロセスコントローラを含む。典型的には、少なくとも1つのフィールドデバイスが物理的機能(例えば、バルブの開閉、温度の上昇または下降、測定、状況の検知など)を実行してプロセスの動作を制御する。フィールドデバイスのうちのいくつかのタイプは、I/Oデバイスおよび/もしくはI/O電子マーシャリングデバイス、ハブ、サービス、またはシステムを使用してコントローラと通信する。プロセスコントローラ、フィールドデバイス、およびI/Oデバイスは、有線または無線であってもよく、任意の数および組み合わせの有線および無線プロセスコントローラ、フィールドデバイス、およびI/Oデバイスが、プロセスプラント環境またはシステム100内に含んでもよい。
【0026】
例えば、
図2は、入力/出力(I/O)カード126および128を介して、有線フィールドデバイス115~122と通信可能に接続され、無線ゲートウェイ135およびプロセス制御データハイウェイまたはバックボーン110を介して、無線フィールドデバイス140~146と通信可能に接続されるプロセスコントローラ111を示す。プロセス制御データハイウェイ110は、1つ以上の有線および/もしくは無線通信リンクを含んでもよく、例えば、イーサネットプロトコル、IPまたは他のパケットプロトコル等のような、任意の所望の、または好適な、または通信プロトコルを使用して実装されてもよい。いくつかの構成(図示せず)では、コントローラ111は、1つ以上の通信プロトコル、データプロトコル、および/もしくは産業自動化プロトコル、例えば、Wi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTE、または他のITU-R互換プロトコル)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、HART-IP、他のパケットプロトコル、ストリーミングプロトコル、Profibus、FOUNDATION(登録商標)Fieldbusなどをサポートする任意の数の他の有線または無線通信リンクを使用することによってなど、バックボーン110以外、またはそれに加えて1つ以上の通信ネットワークを使用して、無線ゲートウェイ135に通信可能に接続されてもよい。
【0027】
コントローラ111は、例として、Emerson Automation Solutionsより販売されているDeltaVコントローラでもよく、フィールドデバイス115~122および140~146のうちの少なくともいくつかを使用して、バッチプロセスまたは連続的プロセスを実装するように動作してもよい。ある実施形態においては、プロセス制御データハイウェイ110に対して通信可能に接続されるのに加えて、コントローラ111はまた、例えば標準的な4~20mAデバイス、I/Oカード126、128、および/もしくはFOUNDATION(登録商標)Fieldbusプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコルなどの任意のスマート通信プロトコルと関連付けられた、任意の所望のハードウェアおよびソフトウェアを使用して、フィールドデバイス115~122および140~146のうちの少なくともいくつかとも通信可能に接続される。
図2において、コントローラ111、フィールドデバイス115~122およびI/Oカード126、128は、有線デバイスであり、フィールドデバイス140~146は、無線フィールドデバイスである。当然ながら、有線フィールドデバイス115~122および無線フィールドデバイス140~146は、任意の他の所望の規格(複数可)またはプロトコル、例えば今後開発される任意の規格またはプロトコルを含む任意の有線または無線プロトコルに適合することもできる。
【0028】
図2のプロセスコントローラ111は、1つ以上のプロセス制御ルーチン138(例えば、メモリ132内に記憶される)を実装または監視するプロセッサ130を含む。この目的のために、プロセッサ130は、フィールドデバイス115~122および140~146と、そしてコントローラ111と通信可能に接続された他のノードと通信するように構成される。本明細書に記載される任意の制御ルーチンまたはモジュールは、そのように所望される場合は、その一部を異なるコントローラまたは他のデバイスによって実装または実行させてもよいことに留意されたい。同様に、プロセス制御システム100内で実装される本明細書に記載の制御ルーチンまたはモジュール138は、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形態を取ってもよい。制御ルーチンは、オブジェクト指向プログラミング、ラダー論理、シーケンシャルファンクションチャート、機能ブロックダイアグラム、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用したもの等の、任意の所望のソフトウェアフォーマットにおいて実装されてもよい。制御ルーチン138は、ランダムアクセスメモリ(RAM)または読み取り専用メモリ(ROM)などの任意の所望のタイプのメモリ132に記憶されてもよい。同様に、制御ルーチン138は、例えば、1つ以上のEPROM、EEPROM、集積回路(ASIC)固有のアプリケーション、または任意の他のハードウェアまたはファームウェア要素にハードコードされてもよい。したがって、コントローラ111は、任意の所望の様式で制御ストラテジまたは制御ルーチンを実装するように構成されてもよい。
【0029】
コントローラ111は、一般に機能ブロックと称されるものを使用して制御ストラテジを実装し、各機能ブロックは、全体の制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)であり、(リンクと呼ばれる通信を介して)他の機能ブロックと共に動作して、プロセス制御システム100内にプロセス制御ループを実装する。制御ベースの機能ブロックは、典型的には、送信器、センサ、もしくは他のプロセスパラメータ測定デバイスと関連付けられるものなどの入力機能、PID、ファジー論理などの制御を実施する制御ルーチンと関連付けられるものなどの制御機能、またはバルブなどの何らかのデバイスの動作を制御して、プロセス制御システム100内で何らかの物理的機能を実施する出力機能のうちの1つを実施する。当然のことながら、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックは、典型的には、これらの機能ブロックが標準4~20mAデバイスおよびHART(登録商標)デバイスなどのいくつかのタイプのスマートフィールドデバイス用に使用される、または、それと関連付けられた場合には、コントローラ111内に記憶されて、それによって実行されてもよく、また、FOUNDATION(登録商標)Fieldbusデバイスの場合には、フィールドデバイスそのものに記憶され、それによって実装されてもよい。コントローラ111は、機能ブロックのうちの1つ以上を実行することで実行される1つ以上の制御ループを実装し得る1つ以上の制御ルーチン138を含んでもよい。
【0030】
有線フィールドデバイス115~122は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであってもよく、一方、I/Oカード126および128は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのI/Oデバイスであってもよい。
図2では、フィールドデバイス115~118は、アナログラインまたは組み合わされたアナログおよびデジタルラインを経由してI/Oカード126へ通信する、標準的4~20mAデバイスまたはHART(登録商標)デバイスであり、一方、フィールドデバイス119~122は、FOUNDATION(登録商標)Fieldbusフィールドデバイスのような、FOUNDATION(登録商標)Fieldbus通信プロトコルを使用して、デジタルバスを経由してI/Oカード128へ通信するスマートデバイスである。しかし、いくつかの実施形態では、有線フィールドデバイス115、116および118~121のうちの少なくともいくつかおよび/もしくはI/Oカード126、128のうちの少なくともいくつかは、加えて、または代替的に、プロセス制御データハイウェイ110を使用して、および/もしくは他の好適な制御システムプロトコル(例えば、プロフィスバス、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)を使用することによって、コントローラ111と通信する。
【0031】
図2では、無線フィールドデバイス140~146は、WirelessHART(登録商標)プロトコルなどの無線プロトコルを使用して、無線プロセス制御通信ネットワーク170を介して通信する。そのような無線フィールドデバイス140~146は、(例えば、無線プロトコルまたは別の無線プロトコルを使用して)無線通信するようにも構成される無線ネットワーク170の1つ以上の他のデバイスまたはノードと直接通信してもよい。無線通信するように構成されていない他のノードと通信するために、無線フィールドデバイス140~146は、プロセス制御データハイウェイ110に、または別のプロセス制御通信ネットワークに接続された無線ゲートウェイ135を利用してもよい。無線ゲートウェイ135は、無線通信ネットワーク170の様々な無線デバイス140~158へのアクセスを提供する。特に、無線ゲートウェイ135は、無線デバイス140~158、有線デバイス115~128、および/もしくはプロセス制御プラント100の他のノードもしくはデバイスの間における通信可能な結合を提供する。例えば、無線ゲートウェイ135は、プロセス制御データハイウェイ110を使用することによって、および/もしくはプロセスプラント100の1つ以上の他の通信ネットワークを使用することによって、通信可能な結合を提供してもよい。
【0032】
有線フィールドデバイス115~122と同様に、無線ネットワーク170の無線フィールドデバイス140~146は、プロセスプラント100内で、物理的制御機能、例えば、バルブの開放もしくは閉鎖、またはプロセスパラメータの測定値の取得を実行する。しかしながら、無線フィールドデバイス140~146は、ネットワーク170の無線プロトコルを使用して通信するように構成される。このように、無線フィールドデバイス140~146、無線ゲートウェイ135、および無線ネットワーク170の他の無線ノード152~158は、無線通信パケットのプロデューサでありコンシューマである。
【0033】
プロセスプラント100のいくつかの構成では、無線ネットワーク170は、非無線デバイスを含む。例えば、
図2では、
図2のフィールドデバイス148は、レガシ4-20mAデバイスであり、フィールドデバイス150は、有線HART(登録商標)デバイスである。ネットワーク170内で通信するために、フィールドデバイス148および150は、無線アダプタ152A、152Bを介して無線通信ネットワーク170に接続される。無線アダプタ152A、152Bは、WirelessHARTなどの無線プロトコルをサポートし、かつFoundation(登録商標)Fieldbus、PROFIBUS、DeviceNetなどの1つ以上の他の通信プロトコルもサポートしてもよい。加えて、いくつかの構成では、無線ネットワーク170は、無線ゲートウェイ135と有線通信する独立した物理デバイスであり得る、または一体型デバイスとして無線ゲートウェイ135内に提供され得る、1つ以上のネットワークアクセスポイント155A、155Bを含む。また、無線ネットワーク170はまた、無線通信ネットワーク170内の1つの無線デバイスから別の無線デバイスにパケットを転送するための1つ以上のルータ158を含んでもよい。
図2では、無線デバイス140~146および152~158は、無線通信ネットワーク170の無線リンク160を経由して、および/もしくはプロセス制御データハイウェイ110を介して、互いに、および無線ゲートウェイ135と通信する。
【0034】
図2では、プロセス制御システム100は、データハイウェイ110に通信可能に接続された1つ以上のオペレータワークステーション171を含む。オペレータワークステーション171を介して、オペレータは、プロセスプラント100のランタイム動作を閲覧および監視することができ、ならびに、必要とされ得る任意の診断、是正、保守、および/もしくは他の処置を行ってもよい。オペレータワークステーション171のうちの少なくともいくつかは、例えば、プラント100のバックエンド環境など、プラント100の内部または近くの様々な保護されたエリアに位置してもよく、場合によっては、オペレータワークステーション171のうちの少なくともいくつかは、遠隔地に位置しているにも関わらずプラント100と通信接続するようにしてもよい。オペレータワークステーション171は、有線または無線コンピューティングデバイスでもよい。
【0035】
例示的なプロセス制御システム100は、構成アプリケーション172Aおよび構成データベース172Bを含むものとしてさらに示され、それらの各々は、データハイウェイ110にも通信可能に接続される。上で考察されたように、構成アプリケーション172Aの種々のインスタンスは、ユーザによるプロセス制御モジュールおよび/もしくは他のタイプのモジュールの作成または変更、およびデータハイウェイ110を介した、コントローラ111および/もしくはプロセス制御システムの他のデバイスへのダウンロードを可能にすると共に、ユーザによる、オペレータがプロセス制御ルーチン内でデータを閲覧し、データ設定を変更する際に経由するオペレータインターフェースの作成または変更を可能にするために、1つ以上のコンピューティングデバイス(図示せず)を実行してもよい。構成データベース172Bは、作成された(例えば、構成された)モジュールおよび/もしくはオペレータインターフェースを記憶する。概して、構成アプリケーション172Aおよび構成データベース172Bは、集中化され、プロセス制御システム100に対して単一の論理的外観を有しているが、構成アプリケーション172Aのうちの多数のインスタンスが、プロセス制御システム100内で同時に実行されてもよく、構成データベース172Bは、多数の物理的データ記憶デバイスにまたがって実装されてもよい。したがって、構成アプリケーション172A、構成データベース172B、およびそれに対するユーザインターフェース(図示せず)は、制御および/もしくは表示モジュール用の構成または開発システム172を含む。典型的には、ただし、必ずしもそうではないが、構成システム172用のユーザインターフェースは、プラント100がリアルタイムで動作しているかどうかに関わらず、構成および開発エンジニアによって利用されるので、構成システム172用のユーザインターフェースは、オペレータワークステーション171とは異なるが、オペレータワークステーション171は、プロセスプラント100のリアルタイム動作(ここでは互換的にプロセスプラント100の「ランタイム」動作とも呼ばれる)中にオペレータによって利用される。
【0036】
また、例示的なプロセス制御システム100は、データヒストリアンアプリケーション173Aおよびデータヒストリアンデータベース173Bを含み、それらの各々がまた、データハイウェイ110に通信可能に接続される。データヒストリアンアプリケーション173Aは、データハイウェイ110をわたって提供されたデータのいくつかまたはすべてを収集し、長期にわたる記憶のために、データを履歴化するか、またはヒストリアンデータベース173B内に記憶するように動作する。構成アプリケーション172Aおよび構成データベース172Bと同様に、データヒストリアンアプリケーション173Aおよびヒストリアンデータベース173Bは、データヒストリアンアプリケーション173Aのうちの多数のインスタンスが、プロセス制御システム100内で同時に実行されてもよいが、集中化され、プロセス制御システム100に対して単一の論理的外観を有し、データヒストリアン173Bは、多数の物理的データ記憶デバイスにまたがって実装されてもよい。
【0037】
いくつかの構成では、プロセス制御システム100は、他のワイヤレスプロトコルを使った、他のデバイスと通信する1つ以上の他の無線アクセスポイント174、例えば、Wi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、WiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)または他のITU-R(国際電気通信連合無線通信部門(International Telecommunication Union Radio Communication Sector))互換性プロトコルなどのようなモバイル通信プロトコル、近距離無線通信通信(NFC)およびBluetoothのような短波無線通信、または他の無線通信プロトコルなどを含む。典型的には、そのような無線アクセスポイント174は、無線ネットワーク170とは異なり、かつ無線ネットワーク170とは異なる無線プロトコルをサポートするそれぞれの無線プロセス制御通信ネットワークを経由して、手持ち式または他の携帯用コンピューティングデバイス(例えば、ユーザインターフェースデバイス175)による通信を可能にする。例えば、無線またはポータブルユーザインターフェースデバイス175は、プロセスプラント100内のオペレータ(例えば、オペレータワークステーション171のうちの1つのインスタンス)によって利用される、モバイルワークステーションまたは診断試験機器であってもよい。いくつかのシナリオでは、携帯用コンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ111、フィールドデバイス115~122、または無線デバイス135、140~158)もまた、アクセスポイント174によってサポートされる無線プロトコルを使用して通信する。
【0038】
いくつかの構成では、プロセス制御システム100は、即時プロセス制御システム100の外側にあるシステムへの1つ以上のゲートウェイ176、178を含む。典型的には、そのようなシステムは、プロセス制御システム100によって生成または操作される情報の顧客またはコンシューマである。例えば、プロセス制御プラント100は、即時プロセスプラント100を別のプロセスプラントに通信可能に接続するためのゲートウェイノード176を含んでもよい。追加的に、または代替的に、プロセス制御プラント100は、近接したプロセスプラント100を、研究所システム(例えば、研究所情報管理システムまたはLIMS)、オペレータラウンドデータベース、荷役システム、保守管理システム、製品在庫管理システム、製造スケジュール管理システム、天気データシステム、出荷および運搬システム、包装システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムなどのような、外部のパブリックまたはプライベートシステムと通信可能に接続するためのゲートウェイノード178を含んでもよい。
【0039】
なお、
図2は有限数のフィールドデバイス115~122および140~146、無線ゲートウェイ35、無線アダプタ152、アクセスポイント155、ルータ1158、ならびに例示的なプロセスプラント100内に含まれるプロセス制御通信ネットワーク170と共に単一の無線コントローラ111を示すのみであるが、これは例示的かつ非限定的実施形態であるに過ぎない。任意の数のコントローラ111がプロセス制御プラントまたはシステム100内に含まれてもよく、コントローラ111のうちのいずれが、任意の数の有線または無線デバイスおよびネットワーク115~122、140~146、135、152、155、158、および170と通信して、プラント100内でのプロセスを制御してもよい。
【0040】
図2に示されるように、かつ説明を明確にするためにかつ限定目的ではなく
図1を同時に参照すると、プロセスプラント100は、エッジゲートウェイシステム1の実施形態であり得るエッジゲートウェイシステム102に通信可能に接続される。例えば、プロセスプラント100は、1つ以上のプロセスプラント通信ネットワーク、データネットワーク、および/もしくはリンクを介して、直接および/もしくはプロセスプラント100それぞれのゲートウェイを介して、エッジゲートウェイシステム1のフィールド向きコンポーネント10に通信可能に接続されてもよい。例えば、エッジゲートウェイシステム1のフィールド向きコンポーネント10は、ネットワーク110、170を介して、ゲートウェイ135、176、178を介して、および/もしくは他のネットワーク、リンク、および/もしくはフィールド向きコンポーネント10は、プロセスプラント100に関連付けられた様々なデータソース30によって生成されたデータを受信または取得する際に経由するプロセスプラントに関連付けられたゲートウェイを介してプロセスプラント100に通信可能に接続されてもよい。
【0041】
一般的に言って、エッジゲートウェイシステム1がプロセスプラント関連データを取得する際に経由するデータソース30およびネットワーク/リンク28は、低い番号のレベルのパデューモデルまたは同様のセキュリティヒエラルキー(例えば、レベル0~レベル2)にあってもよく、コントローラ、フィールドデバイス、I/Oカード、および他のタイプのプロセス制御デバイスを含んでもよい。さらに、プロセスプラントに関連付けられるデータソース30のセットは、一次プロセスデータを直接生成するプロセス制御デバイスのみに限定されず、追加または代替として、プロセスデータおよび/もしくは他のタイプのデータをプロセスプラント100がオンラインプロセスを制御する結果として生成する、プロセスプラント100内の、および/もしくはそれに関連付けられた任意のデバイスまたはコンポーネントも含んでもよいことが理解できよう。例えば、データソース30のセットは、モジュール、アラーム、イベントヒストリアン、バッチシステムおよび/もしくはヒストリアン、診断データを生成する診断デバイスまたはコンポーネント、プロセスプラント100の様々なコンポーネントおよび/もしくはデバイス間で情報を送信するネットワークルーティングデバイスまたはコンポーネント、資産管理システム、構成システム、分析システム、モバイルデバイス、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLANなどの仮想ネットワークなどを含んでもよい。実際、
図2に示されているコンポーネントのいずれか1つ以上(例えば、コンポーネント111、115~122、126、128、135、140~146、152、155、158、160、170、171~176、178)および
図2に示されていない他のコンポーネントは、エッジゲートウェイシステム1、102を介して1つ以上の外部システム8による消費のために提供され得るプロセスプラント関連データを生成するデータソース30であってもよい。
【0042】
フィールド向きコンポーネント
図3は、エッジゲートウェイシステム1またはエッジゲートウェイシステム102などのエッジゲートウェイシステムに含めることができるフィールド向きコンポーネント300のブロック図である。例えば、フィールド向きコンポーネント300は、
図1に示されるフィールド向きコンポーネント10であってもよく、および/もしくは
図2のプロセスプラント100と通信接続されてもよい。説明を簡単にするために、そして限定目的ではなく、
図3は、
図1および2を同時に参照して説明されるが、フィールド向きコンポーネント300は、エッジゲートウェイシステム以外のエッジゲートウェイシステム1または102に含まれてもよく、プロセスプラント5またはプロセスプラント100以外のプロセスプラントと通信接続してもよいことが理解される。
【0043】
図3に示されるように、フィールド向きコンポーネント300のフィールドデータレシーバ302は、プロセスプラント5または102などのプロセスプラントとの、また、任意選択で、ランタイム操作でプロセスプラントをサポートするおよび/もしくはそれに関連付けられている他のシステム、デバイス、および/もしくはアプリケーション、例えば、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLANおよび/もしくはVXLANなどの仮想ネットワーク、プロセスプラントに関連する他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスなどと通信接続されてもよい。一般的に言って、フィールド向きコンポーネント300が通信可能に接続されるプロセスプラントおよびそのサポートシステムは、セキュリティレベル0~2のパデューモデル(または類似のセキュリティヒエラルキー)で動作する。本明細書での考察を容易にするために、限定目的ではなく、「プロセスプラント5」という用語は、フィールド向きコンポーネント300が通信可能に物理的プロセスプラント、ならびにより低い数字のセキュリティレベルでデータを生成および/もしくは通信する物理的プロセスプラントと関連付けられ、通信接続される他のシステムを集合的に指すために使用される。
【0044】
フィールドデータレシーバ302は、本明細書ではまとめて「プロセスプラントネットワーク305」と呼ばれる、プロセスプラント5の1つ以上のリンク、通信ネットワーク、および/もしくはデータネットワーク305を介してプロセスプラント5に通信可能に接続される。プロセスプラントネットワーク305は、1つ以上の通信プロトコル、データプロトコル、および/もしくは産業オートメーションプロトコル、例えばイーサネット、IPまたは他のタイプのパケットプロトコル、Wi-Fiまたは他のIEEE 802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTE、または他のITU-R互換プロトコル)、Bluetooth(登録商標)、他の標準化された通信および/もしくはデータプロトコル( Internet Engineering Task Force(IETF)、Institute of Electrical and Electronics Engineers(IEEE)、またはInternational Organization for Standardization(ISO))、HART(登録商標)、WirelessHART(登録商標)、HART-IP、Profibus、FOUNDATION(登録商標)Fieldbus、Field Device Integration Technology (FDI)、OPC(オブジェクトのリンクとプロセス制御のための埋め込み)UA(統合アーキテクチャ)、他のタイプの産業オートメーションプロトコルなどをサポートする任意の数の有線および/もしくは無線リンクおよび/もしくはネットワークを含んでもよい。例えば、プロセスプラントネットワーク305には、プロセスプラント5およびその関連システムで利用可能なプロセスプラントネットワーク28、無線ネットワーク170、バックボーン110、および他の有線および/もしくは無線ネットワークおよび/もしくはリンク、例えば、資産管理ネットワーク、ヒストリアンネットワーク、データ分析ネットワーク、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLANなどの仮想ネットワーク、診断および/もしくはテストネットワーク、構成ネットワーク、および/もしくは操作、保守および/もしくはプロセスプラント5の構成に対応する別のタイプのネットワークを含んでもよい。
【0045】
フィールドデータレシーバ302は、プロセスプラント5から、プロセスプラントネットワーク305を介してプロセスプラント5の1つ以上のフィールド構成を取得する。例えば、プロセスプラント5にEmerson Automation Solutionsによって提供されるDeltaVプロセス制御システムが含まれる場合、フィールドデータレシーバ302は、プロセス制御システムとそのコンポーネント(例えば、物理的、論理的、およびデータコンポーネント)が、例えば、構成アプリケーション172Aを介して定義される、1つ以上の.FHXファイルを取得する。インタレストマネージャ308は、プロセスプラント5の取得されたフィールド構成に基づいて、公開可能なデータ型の集合体またはシステム310を定義、作成、生成、および更新する。本開示内の他の箇所でより詳細に説明しするように、フィールド向きコンポーネント300は、公開可能なデータ型のシステムまたは集合体310を、それぞれのエッジ向きコンポーネント(例えば、エッジ向きコンポーネント12)に転送する。例示的な実施形態では、公開可能なデータ型のシステムまたは集合体310は、
図1の公開可能なデータ型のシステム24Aである。
【0046】
一般的に言って、公開可能なデータ型のシステム310を定義、作成、生成、および更新するために、インタレストマネージャ308は、取得したフィールドデータ構成から情報を抽出し、その取得した情報は、外部の、データ消費システム8に公開することが可能になる(例えば、公開可能である)。取得されたフィールド構成に含まれる特定の情報が外部システム8に公開されることが可能になるかどうかは、事前に定義することができる。例えば、先験的に、エッジゲートウェイシステム、フィールド向きコンポーネント300によって、および/もしくは1つ以上のインタレストリスト315を介したユーザによって、予め定義してもよく、さらに/もしくは、例えば、エッジゲートウェイシステム、フィールド向きコンポーネント300、および/もしくはユーザによって、抽出プロセス中にインラインで示されてもよい。いずれにせよ、インタレストマネージャ308は、例えば、一般的に理解される標準構文やオープンソース構文などの構文を使用して、抽出した情報に名称を付け、マッピングし、変換し、グループ分けし、値を割り振り、および/もしくは、そうでない場合には、アレンジして、対応するデータ型および、公開可能なデータ型のシステム310の構成にする。したがって、公開可能なデータ型のシステム310は、外部のデータ消費システム8で自然に理解される構文を使用して、フィールドコンテンツデータ(例えば、プロセスプラント関連データ型、パラメータ型、ブロック型、モジュール型、イベント型、履歴データ型、機器および機器コンポーネント型、表示および表示コンポーネント型、およびプロセスプラントによって生成される他のプロセスプラント関連データを含んでもよい)に含まれる公開可能プロセスプラント関連データの他のタイプの共通の理解を提供する。
【0047】
例えば、公開可能なデータ型のシステム310は、フロート、ステータス付きフロート、符号付き整数、符号なし整数などの基本データ型、および外部のデータ消費システム8によって自然に理解される他の基本データ型を含んでもよい。さらに、公開可能なデータ型のシステム310は、
図4A~4Cに示される基本データ型に基づいて、少なくとも部分的に定義および構造化される、より複雑なデータ構成型定義を含んでもよい。公開可能なデータ型のシステム310のいくつかのデータ型は、タイプENUMの4つのフィールドを含むように定義された例示的なモードタイプ312aによって
図4Aに示されるような、多数のフィールドを含んでもよい。実際、公開可能なデータ型のシステム310は、ユーザ定義またはシステム定義であり得る多数の列挙に基づくタイプを含んでもよい。例えば、
図4Cに示されるように、公開可能なデータ型のシステム310に含まれる例示的な列挙セットの部分312bは、プロセスプラント5で利用される個別のHART状態を示すために命名され、定義される。
図4Bは、さらに複雑な例の部分312cを示しており、プロセスプラント5の因果行列(CEM)機能ブロックが、ブロックタイプを使用することにより、公開可能なデータ型のシステム310内で定義される。もちろん、公開可能なデータ型のシステム310は、
図4A~
図4Cに示される例以外の、より多くの公開可能なデータ型定義および/もしくは構成を含んでもよい。
【0048】
一般に、インタレストマネージャ308によって生成または定義された公開可能なデータ型310のシステムまたは集合体は、プロセスプラント5内で定義されているデータ型、構成、ヒエラルキー、およびアーキテクチャに適合する必要はない(ただし、必要に応じて、いくつかの公開可能なデータ型310は、定義されたプロセスプラントデータアーキテクチャおよび構成に少なくとも部分的に適合するように定義されてもよい)。さらに、公開可能なデータ型310のシステムまたは集合体の生成または定義は、通常、定義されたプロセスプラントデータ型のそれぞれの公開可能なデータ型への1対1の変換またはマッピングではないことが理解される。むしろ、外部のデータ消費システム8へ公開されることを可能にするプロセスプラントデータ型のみが収集/システム310に含まれており、そのような公開可能なプロセスプラントデータ型は、再構成、再配置、再グループ化、統合、分散、抽象化、定義されており、また/もしくは、そうでなければ、構文だけでなく、コンテンツの構造と配置においても、外部システム8により有用および/もしくはより簡単に利用される包括的なデータ型のシステム310で表現される。
【0049】
特に、上記のように、いくつかの実施形態では、インタレストマネージャ308は、少なくとも部分的に1つ以上のインタレストリスト315に基づいて、プロセスプラント5の取得されたフィールド構成から公開可能なデータ型のシステム310を抽出する。インタレストリスト315は、どの型のプロセスプラント関連データのタイプが、フィールド向きコンポーネント300によって外部のデータ消費システム8に公開され得るかを示し、インタレストリスト315は、ユーザ、フィールド向きコンポーネント300、エッジゲートウェイシステム1、および/もしくは他のいくつかのコンピューティングシステムによって、例えば、フィールド向きコンポーネント300によって提供されるインタレストリスト構成アプリケーションを介して、定義してもよい。例えば、フィールド向きコンポーネント300は、例えばJSON(JavaScriptオブジェクト表記)または他のタイプのスクリプトまたは表記を使用することによって、ユーザが1つ以上のインタレストリスト315を手動で定義する際に経由し得るWebベースのユーザインターフェースを提供してもよい。追加または代替として、フィールド向きコンポーネント300、エッジゲートウェイシステム1、および/もしくは他のいくつかのコンピューティングシステムは、例えば、テンプレートおよびベストプラクティスを使用することによって、一般的に書かれたおよび/もしくは読み込んだデータポイントを含めることによって(例えば、オペレータインターフェースデータおよび/もしくは分析、ヒストリアンデータの処理、イベントヒストリアンデータなどのマイニングを介して)、および/もしくは他の好適な自動化技法を使用することによって、1つ以上のインタレストリスト315を自動的に判定または定義してもよい。一実施形態では、インタレストリストのセット315は、フィールド向きコンポーネント300において、フィールド向きコンポーネントによって消費のために上の外部システムに公開することが可能になるプロセスプラントからフィールド向きコンポーネントによって取得されたデータ全体のうちの唯一のデータを定義する。プロセスプラント5の異なるフィールド向きコンポーネント300は、必要に応じて、インタレストリスト315の異なるセットを記憶することができ、よって、ホスティングフィールド向きコンポーネントがそれぞれ、データ消費システム8に公開することを可能にする特定のタイプのプロセスプラント関連データを示す。
【0050】
インタレストリストは、プロセスプラント5内では、多数の、そして、場合によっては異種の構成で構成可能な、例えば、関連するモジュール、ノード、診断、アラーム、イベント、および/もしくは他のフィールドデータ情報の名称とそれぞれのグループ分けまたは配置を示してもよい。実際に、インタレストリスト315は、プロセスプラント5内で定義された構成ヒエラルキーおよび/もしくは構成コンテンツに適合する必要はない(ただし、必要に応じて、インタレストリスト315は、定義されたプロセスプラント構成ヒエラルキーおよび/もしくは構成コンテンツに少なくとも部分的に適合するように定義されてもよい)。一般的に言って、インタレストリスト315は、公開されたプロセスプラント関連データのコンシューマである外部システム8によって有用かつ/または容易に利用される任意の様式(例えば、組織的、階層的、および/もしくはコンテンツ的)で定義されてもよい。例えば、少なくともいくつかのインタレストリスト315は、特定のプラント機器および/もしくはデバイス(例えば、「ディーゼルハイドロトリータ1」、「アルキル化ユニット3」など)を反映するように命名されてもよく、プロセスプラント5内で定義され、特定のプラント機器/デバイスに関連する多数の異なる構成から取得されるいくつかの異なるモジュール、ノード、診断、アラームなどからのパラメータを使用して定義されてもよい。例えば、フィールドデータコンテンツインジェスタ320は、特定の名称のエンティティ(例えば、「ディーゼルハイドロトリータ1」、「アルキル化ユニット3」など)を表すものとして特定のインタレストリスト315によって集約的に識別された特定の名称付きエンティティを表すものとして特定のインタレストリスト315によって集合的に識別される特定のフィールドコンテンツデータ(例えば、制御データ、I/Oデータ、診断データ、デバイスデータなど)を抽出するために、特定のインタレストリスト315を利用してもよく、キャッシュ322内の特定の名称がついたエンティティに対応する抽出されたデータを、例えば、そのまま、および/もしくは、例えば、公開可能なデータ型のシステム310Aを使用することによるなどの再編成された様式で、記憶してもよいので、特定のインタレスト315リストの特定の名称付きエンティティに対応する抽出されたデータが、エッジ向きコンポーネント12を介して外部システム8に公開される。
【0051】
例えば、「スプレータワー2」関係リストは、プロセスプラント5内の特定のスプレータワーを参照するように定義されてもよく、資産管理システム、プロセス制御システム、安全計装システム、診断ツール、ヒストリアンシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、VXLANなどの仮想ネットワークなどのフィールド構成に含まれる「スプレータワー2」に関連するすべてのパラメータを含んでもよい。例えば、「スプレータワー2」インタレストリストには、スプレータワー2が配置されるエリアを示すパラメータ、(例えば、フィールド構成内で、デバイスタグおよび他のタイプの物理コンポーネントタグまたは識別子によって参照されてもよい)スプレータワー2に含まれるパイプ、ポンプ、他の容器、ライン、および他の物理コンポーネントデバイスを示すパラメータ、制御ループやモジュールなどの論理プロセス要素、制御パラメータおよび/もしくは変数(例えば、設定値、測定値、制御信号、他の信号など)、アラーム、イベント、動作状態またはステータス、機器またはデバイスの状態または状況、タイムスタンプ、および他の論理および/もしくはデスプレータワー2に含まれおよび/もしくは利用されるータコンポーネントを含んでもよい。(例えば、制御タグ、デバイス信号タグ、または他のタイプの論理コンポーネントタグまたは識別子等によってフィールド構成内で参照されてもよい)。さらに、「スプレータワー-2」インタレストリストは、例えば、それぞれの測定単位、それぞれの範囲、それぞれの目標値または設定値など、パラメータを利用するそれぞれの制御ルーチンまたは他のアプリケーション、それぞれの使用法、それぞれの診断パラメータ、および/もしくは他のそれぞれの特性および/もしくは関連情報などのようなパラメータの他の特性および/もしくは側面を示してもよい。
【0052】
いくつかの実施形態では、インタレストリスト315の生成に基づいて、インタレストマネージャ308は、プロセスプラント5に記憶されている1つ以上のフィールド構成に対する1つ以上の変更を決定し、参照番号318で示されるように、決定された変更をプロセスプラントネットワーク305介して構成アプリケーション172Aまたは他のプロセスプラント関連の構成アプリケーションに通信することができる。
【0053】
フィールドデータレシーバ302に戻ると、フィールド構成に加えて、フィールドデータレシーバ302は、プロセスプラント5から、プロセスプラントネットワーク305を介して、産業プロセスを制御するように動作している間に、プロセスプラント5によって生成されるデータを含むフィールドコンテンツデータ、ならびに、産業プロセスに対して制御動作をするプロセスプラント5に関する他のデータも取得する。一般的に言って、フィールドコンテンツデータには、プロセスプラント5によって生成された、例えば、プロセス制御システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLANなどの仮想ネットワーク、および他のシステム、ネットワーク、アプリケーション、および/もしくはプロセスプラントに関連付けられたデバイスによって生成された、任意のタイプのデータが含まれる。例えば、フィールドコンテンツデータは、ランタイムプロセスデータ、連続プロセスデータ、バッチプロセスデータ、バッチ履歴データ、履歴化データ、イベントデータ、アラームデータ、分析データ、診断データ、環境データ、ユーザインターフェースデータ、パフォーマンスデータ、および/もしくはデータソース30によって生成された他のタイプのペイロードデータを含んでもよい。フィールドデータレシーバ302は、プロセスプラントネットワーク305、例えば、イーサネット、無線HART、HART-IP、および/もしくは他のパケットプロトコル、ストリーミングプロトコルなどによって利用される任意のプロトコルにおいて、プロセスプラントネットワーク305を介してフィールドコンテンツデータを受信してもよい。
【0054】
フィールドコンテンツデータインジェスタ320は、インタレストリスト315に基づいて取得されたフィールドデータコンテンツを取り込み、取り込まれたフィールドデータコンテンツの少なくとも一部分に対して処理を実行し、取り込んだフィールドデータコンテンツをフィールド向きコンポーネント300キャッシュまたは他のタイプのメモリ322に記憶し、そのそれぞれのエッジ向きコンポーネント(例えば、エッジ向きコンポーネント12)へ最終的に送達することができる。フィールドコンテンツデータインジェスタ320は、フィールドデータレシーバ302と連携して、1つ以上の異なる方法で取り込むためのフィールドコンテンツデータを取得してもよい。例えば、それぞれのソース30によって発行され、インタレストリスト315に含まれるフィールドコンテンツデータの場合、フィールドコンテンツデータインジェスタ320は、例えば、フィールド向きコンポーネント300に代わって、フィールドデータレシーバ302に、そのようなフィールドコンテンツデータの発行をサブスクライブさせることができる。別の例では、インタレストリスト315に含まれるいくつかのフィールドコンテンツデータについて、フィールドコンテンツデータインジェスタ320は、例えば、ポーリングを介して、および/もしくは要求/応答メカニズムを介して、例えば、構成または定義されたインタレストリスト312のうちの少なくともいくつかに従って、フィールドコンテンツデータのそれぞれのデータソース30のクエリを開始してもよい。さらに別の例では、インタレストリスト315に含まれるいくつかのフィールドコンテンツデータについて、フィールドコンテンツデータインジェスタ320は、フィールドデータレシーバ302を介してフィールド向きコンポーネント300で取得された、そしてインタレストリスト302には示されていない任意のフィールドコンテンツデータを停止またはフィルタリングすることができる。さらに別の実施形態では、外部ソース8に公開されるフィールドコンテンツデータを定義または示す代わりに、いくつかのインタレストリスト315は、どのタイプのフィールドコンテンツデータが外部ソース8に公開されないように除外されるべきかを定義または示すことができる。そのような非公開のフィールドコンテンツデータがフィールド向きコンポーネント300で受信された場合、フィールドコンテンツデータインジェスタ320は、除外されたフィールドコンテンツデータがキャッシュ322に記憶されないように、また、およびエッジ向きコンポーネントに配信されないように、そのようなフィールドコンポーネントデータを停止、またはフィルタにかけてもよい。
【0055】
いくつかの実施形態では、インタレストリスト315は、プロセスプラント関連データソース30によって生成されないが、プロセスプラント関連データソース30によって生成されたフィールドコンテンツデータから導出または生成された、公開可能なフィールドコンテンツインタレストデータを示してもよい。そのような二次フィールドコンテンツデータは、フィールドコンテンツデータインジェスタ320によって呼び出される1つ以上の計算エンジン325によって決定または生成されてもよい。一般的に言って、計算エンジン325は、プロセスプラントネットワーク308を介して取得した一次フィールドコンテンツデータに作用して、1つ以上の出力を生成し、計算エンジン325の出力は、1つ以上のインタレストリスト315上で公開可能なフィールドコンテンツデータとして定義される。計算エンジン325の出力は、エッジ向きコンポーネントへ最終的に配信されるために、他の1次フィールドコンテンツデータと共にキャッシュ322に記憶されてもよい。計算エンジン325は、インストリームデータ集約および/もしくは操作(例えば、平均、最大、最小など)などの演算機能を実行してもよい。計算エンジン325は、主成分分析(PCA)、部分最小二乗(PLS)予測、および/もしくは他のタイプの統計計算または分析など、より複雑な計算またはアルゴリズムを実行してもよい。計算エンジン325は、機能ブロック、シャドーブロック、および/もしくは制御モジュール動作などのプロセス制御固有の計算を実行してもよい。少なくともいくつかの計算エンジン325は、スクリプトによって、および/もしくはウェブベースのユーザインターフェースまたはフィールド向きコンポーネント300によって提供される他のタイプの計算エンジン構成アプリケーションを介して定義および/もしくは構成されてもよく、少なくともいくつかの計算エンジン325は、フィールド向きコンポーネント300からアクセスおよび/もしくはインストールされるコンテナ(Dockerコンテナおよび/もしくは他の好適なタイプのコンテナなど)を使用して定義および/もしくは構成されてもよい。
【0056】
計算エンジン325に加えて、フィールドコンテンツデータインジェスタ320は、データタイパ328を呼び出して、取得した、公開可能なフィールドコンテンツデータの少なくとも一部分を、公開可能なデータ型のシステム310に従ってそれぞれの公開可能なデータ型に変換してもよい。すなわち、データタイパ328は、公開可能なデータ型のシステム310によって定義された名称、構造、グループ化、値、配置などを使用して、公開可能なフィールドコンテンツデータを表す。フィールドコンテンツデータインジェスタ320は、タイプ分けされたフィールドコンテンツデータを、エッジ向きコンポーネントへの配信のためにプロセスプラント5に関連する公開フィールドコンテンツデータとしてデータキャッシュ322に記憶する。
【0057】
フィールド向きコンポーネント300の公開されたデータプロバイダ330は、例えば、データダイオード15を介して、または何らかの他の好適なデータ転送メカニズムを介して、フィールド向きコンポーネント300に対応するエッジ向きコンポーネントに公開可能なデータ構成および公開されたデータコンテンツを提供する。例えば、公開されたデータプロバイダ330は、例えば、フィールド向きコンポーネント300に代わって、公開可能なデータ型のシステム310の公開可能なデータ構成をエッジ向きコンポーネントに送信して、エッジ向きコンポーネントがフィールド向きコンポーネント300によって送信される公開されたデータコンテンツを解釈できるようにしてもよい。その後、公開されたデータプロバイダ330は、キャッシュ322に記憶され、記憶された公開フィールドデータコンテンツを検索し、検索されたデータをエッジ向きコンポーネントに送信してもよい。公開されたデータプロバイダ330は、JSONや他の標準化されたおよび/もしくはオープンソースのデータフォーマットなど、ストリーミングプロトコルおよび/もしくは、パブリックまたは一般的に使用されるデータ交換フォーマットを使用して、公開可能なデータ構成と公開されたデータコンテンツを送信してもよい。例えば、フィールド向きコンポーネント300は、公開されたデータプロバイダ330が、例えばそれぞれの単方向データダイオード15を介して、対応するエッジ向きコンポーネントにデータをストリーミングするために利用するストリーミングサービスを提供してもよい。一実施形態では、公開されたデータプロバイダ330は、公開可能なデータ構成および公開されたデータコンテンツを、パブリックまたは一般的に使用されるデータ交換フォーマットを使用して実装されるストリーミングプロトコルにラップする。いくつかの実施形態では、公開されたデータプロバイダ330は、専用またはプライベートストリーミングプロトコルであり得る専用、またはプライベートプロトコルを使用して、公開可能なデータ構成および公開されたデータコンテンツをエッジ向きコンポーネントに送信する。いくつかの実施形態では、公開されたデータプロバイダ330は、エッジ向きコンポーネントに配信する前に、公開されたデータ構成および公開されたデータコンテンツを暗号化する。
【0058】
一実施形態では、公開されたデータプロバイダ330は、例えば、データダイオード15を介して、公開可能なデータ構成および公開されたデータコンテンツを発行する。エッジ向きコンポーネントは、フィールド向きコンポーネント300の公開されたデータプロバイダ330によって発行された情報にサブスクライブし、それによって、本開示内の他の箇所でより詳細に説明するように、エッジ向きコンポーネントで外部のデータ消費システム8が利用できる、公開可能なデータ構成と公開されたデータコンテンツを取得する。
【0059】
なお、
図3では、フィールドデータレシーバ302、インタレストマネージャ308、フィールドコンテンツデータインジェスタ320、データタイパ328、および公開されたデータプロバイダ330は、フィールド向きコンポーネント300の別個の異なるコンポーネントとして示されているが、これは考察の目的を明確にするためだけであり、限定目的ではない。実際、コンポーネント302、308、320、328、および330のうちの任意の2つ以上は、必要に応じて、フィールド向きコンポーネント300の一体型コンポーネントとして実装されてもよい。
【0060】
エッジ向きコンポーネント
図5A~
図5Bは、
図1のエッジゲートウェイシステム1または
図2のエッジゲートウェイシステム102などのエッジゲートウェイシステムに含めることができるエッジ向きコンポーネント400のブロック図を示している。例えば、エッジ向きコンポーネント400は、
図1に示されるエッジ向きコンポーネント12であってもよく、および/もしくは、例えば、データダイオード15または別の接続リンク、ネットワーク、または媒体を介して、フィールド向きコンポーネント10または300と通信接続されてもよい。限定目的ではなく、説明を簡単にするために、
図5Aおよび5Bを、
図1~3を同時に参照して説明するが、エッジ向きコンポーネント400は、エッジゲートウェイシステム1または102以外のエッジゲートウェイシステムに含まれてもよく、フィールド向きコンポーネント10または300以外のフィールド向きコンポーネントと通信接続することができることが理解できよう。
【0061】
図5Aに示すように、エッジ向きコンポーネント400の公開したデータレシーバ402は、同様に、プロセスプラント5または102など、および、任意選択で、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLAN、などの仮想ネットワーク、およびプロセスプラントに関連付けられた他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスなど、ランタイム操作でプロセスプラントをサポートおよび/もしくはそれに関連付けられた他のシステム、デバイス、および/もしくはアプリケーション、のプロセスプラントと通信接続することができるフィールド向きコンポーネントと通信接続することができる。一般的に言って、エッジ向きコンポーネント400に対応するフィールド向きコンポーネントが通信可能に接続されるプロセスプラントおよびそのサポートシステムは、パデューモデル(または同様のセキュリティヒエラルキー)のセキュリティレベル0~2で動作する。
【0062】
エッジ向きコンポーネント400の公開されたデータレシーバ402は、1つ以上のリンク、通信ネットワーク、および/もしくはデータネットワークを介して、エッジ向きコンポーネント400および対応するフィールド向きコンポーネントを通信可能に接続する。好ましい実施形態では、公開されたデータレシーバ402は、
図1に示される単方向データダイオード15などのデータダイオードを介して、エッジ向きコンポーネント400を対応するフィールド向きコンポーネントに通信可能に接続する。限定目的ではなく、考察を容易にするために、エッジ向きコンポーネント400は、データダイオード15を介したフィールド向きコンポーネントに通信可能に接続されているように説明しているが、データダイオード15以外の他の通信接続は、エッジ向きコンポーネント400とフィールド向きコンポーネントとを相互接続することができることが理解できよう。例えば、いくつかの実施形態では、エッジ向きコンポーネント400およびフィールド向きコンポーネントは、一体型のシステムまたはデバイスに含んでもよい。
【0063】
公開されたデータレシーバ402は、フィールド向きコンポーネントから公開されたデータ構成および公開されたデータコンテンツを受信してもよい。公開可能なデータ構成と公開されたデータコンテンツは、ストリーミングプロトコルを介して、および/もしくはJSONまたは他の標準化された、および/もしくはオープンソースのデータ交換フォーマットなどの、パブリックまたは一般的に使用されるデータ交換フォーマットを介して受信されてもよい。いくつかの実施形態では、公開されたデータ構成および公開されたデータコンテンツは、フィールド向きコンポーネントの端で、ストリーミングプロトコルでラップされている場合があり、公開されたデータレシーバ402は、公開データ構成および公開されたデータコンテンツをデータストリームからアンラップまたは抽出する。いくつかの実施形態では、公開されたデータ構成および公開されたデータコンテンツは、フィールド向きコンポーネントの端で暗号化されている場合があり、公開されたデータレシーバ402は、データストリームを介して受信した情報を解読する。いくつかの実施形態では、フィールド向きコンポーネントは、例えば、データダイオード15にわたって、公開可能なデータ構成および公開されたデータコンテンツを発行する。エッジ向きコンポーネント400は、フィールド向きコンポーネントによって発行された情報をサブスクライブし、それによってフィールド向きコンポーネントから公開可能なデータ構成および公開されたデータコンテンツを取得する。
【0064】
公開されたデータレシーバ402で受信された公開可能なデータ構成は、上記の様式などのようにして、プロセスプラント関連の構成に基づいてフィールド向きコンポーネントによって生成された公開可能なデータ型のシステム(例えば、公開可能なデータ型のシステム24Aまたは310)を集合的に定義する。公開されたデータレシーバ402は、フィールド向きコンポーネントの公開可能なデータ型のシステム24Aの少なくとも一部分のローカルコピー24Bとして、受信した公開可能なデータ構成を1つ以上のメモリにローカルに記憶する。
【0065】
公開されたデータレシーバ402で受信された公開されたデータコンテンツは、公開可能なデータ型のシステム24Bに含まれるそれぞれのデータ型を使用して表される。受信した公開されたデータコンテンツは、プロセスプラント5によって生成されたフィールドコンテンツデータ、例えば、プロセス制御システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想ネットワーク(例えば仮想プライベートネットワーク、VLAN、VXLANなど)、およびプロセスプラントに関連付けられた他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスによって生成されたデータを含んでもよい。例えば、フィールドコンテンツデータは、ランタイムプロセスデータ、連続プロセスデータ、バッチプロセスデータ、バッチ履歴データ、履歴化データ、イベントデータ、アラームデータ、分析データ、診断データ、環境データ、ユーザインターフェースデータ、パフォーマンスデータ、および/もしくはデータソース30によって生成された他のタイプのペイロードデータが含んでもよい。さらに、受信された公開されたデータコンテンツは、エッジ向きコンポーネント400に対応するフィールド向きコンポーネントによってフィールドコンテンツデータから、例えば、フィールド向きコンポーネントの1つ以上の計算エンジン325によって、導出または生成されたデータを含んでもよい。公開されたデータレシーバ402は、受信した、公開されたデータコンテンツをエッジ向きコンポーネント400の公開データインジェスタ405に提供し、解釈、可能な追加処理、およびでの記憶を行って、公開されたデータコンテンツ(および可能な追加コンテンツ)を、
図5Bにブロック422によって表される、データ消費アプリケーションおよび/もしくはシステムによる利用のために利用可能とする。
【0066】
特に、公開されたデータインジェスタ405は、公開可能なデータ型のシステム24Bのローカルコピーを利用して、フィールド向きコンポーネントから受け取った公開されたデータコンテンツを解釈する。このように、公開されたデータインジェスタ405とエッジ向きコンポーネント400は、プロセスプラント5の内部またはネイティブのデータ定義および/もしくは構成を認識する必要はない(実際、認識していない)。すなわち、エッジ向きコンポーネント400は、フィールド向きコンポーネントに対応する公開可能なデータ型のシステム24Aに記憶されている受信した、公開可能なデータ構成に基づいて、受信した、公開されたデータコンテンツを解釈し、エッジ向きコンポーネント400は、データ構成を取得および/もしくは調整するために、フィールド向きコンポーネントに通信を送信する必要はない。この技法は、エッジ向きコンポーネントからプロセスプラント5に通信可能に接続されているフィールド向きコンポーネントに管理および/もしくは制御メッセージを送信する必要がなく、それによって、悪質な動作主体の侵入が起こりそうなポイントを排除するので、プロセスプラント5を起こり得るセキュリティ侵害から保護する。さらに、この技法により、プロセスプラント5での構成変更を、必要に応じて、インラインでリアルタイムに、かつ増分的に、エッジ向きコンポーネント400に伝達することが可能になる。さらに、この技法により、単一のエッジ向きコンポーネント400が、異なる公開可能なデータ型のシステムを利用する多数の異なるフィールド向きコンポーネントにサービスを提供することが可能になる。
【0067】
いくつかの実施形態では、エッジ向きコンポーネント400の公開されたデータインジェスタ405は、受信された公開されたデータコンテンツからさらに追加のデータを導出および/もしくは生成してもよい。例えば、公開されたデータレシーバ402は、1つ以上の計算エンジン408を呼び出して、受信した、公開されたデータコンテンツの少なくとも一部を操作し、それによって、データ消費アプリケーションおよび/もしくはシステム422が利用可能となる追加のデータコンテンツを生成することができる。計算エンジン408は、エッジ向きコンポーネント400に記憶されてもよく、データのペイロード値に対してインストリームデータ集約および/もしくは操作(例えば、平均、最大、最小など)などのような演算機能を実行してもよい。一部の計算エンジン408は、主成分分析(PCA)、部分最小二乗(PLS)予測、および/もしくは他のタイプの統計計算または分析、主要業績評価指標(KPI)の計算など、より複雑な計算またはアルゴリズムを実行するように構成することができ、いくつかの計算エンジン408は、イベントを駆動するように構成してもよい。少なくともいくつかの計算エンジン408は、スクリプトによって、および/もしくはウェブベースのユーザインターフェースまたはエッジ向きコンポーネント400によって提供される他のタイプの計算エンジン構成アプリケーション、および/もしくは少なくともいくつかの計算エンジンを介して定義および/もしくは構成されてもよく、少なくともいくつかの計算エンジン400は、エッジ向きコンポーネント400においてアクセス可能および/もしくはそこにインストールされるコンテナを使用することによって定義および/もしくは構成されてもよい。実際、いくつかの計算エンジン408は、本開示内の他の場所で説明されるような様式などで、データ消費アプリケーションおよび/もしくはシステム422による使用のために利用可能にされてもよい。
【0068】
公開されたデータインジェスタ405は、受信され、公開されたデータコンテンツと、例えば、
図1のデータレイク40であり得る、データレイク410内の計算エンジン408によって生成された出力とを記憶する。データレイク40は、フィールド向きコンポーネントから受信されるフィールドコンテンツデータを記憶するので、データレイク40は、プロセスプラント5に関連するデータ全体の少なくとも一部をミラーリングし(例えば、ランタイムデータ、構成データ、イベントデータ、履歴データ、およびプロセスプラント5によって生成され、それに関連付けられた他のタイプのデータ)、データレイク40に記憶されたプロセスプラント関連データは、外部のデータ消費システム8に公開可能である(例えば、それによって使用するために利用可能とする)。一部のプロセスプラントでは、プロセスプラント5によって生成されたすべてのデータが、エッジ向きコンポーネント400でミラーリングされ、外部システム8に公開され、他のプロセスプラントでは、プロセスプラント5によって生成されたすべてのデータのサブセットのみが、エッジ向きコンポーネント400でミラーリングされ、データ消費アプリケーションおよび/もしくはシステム8に公開され、サブセットは、プロセスプラント5のフィールド向きコンポーネントのセット全体に存在する一連のインタレストリスト22、315の集合によって定義される。
【0069】
前に考察されたように、いくつかの実装では、ミラーリングされたプロセスプラント関連データに加えて、データレイク40は、プロセスプラント5から受信した公開コンテンツデータに基づいて、エッジ向きコンポーネント400の計算エンジン408によって生成された関連する計算データを記憶する。さらに、いくつかの実施形態では、データレイク410は、典型的には、プロセスプラント5よりもより高い数字のセキュリティレベルにある、他の外部データ提供システム(例えば、プロセスプラント5の外部にあり、
図5Aに示されていないプロセスプラント関連データと併せて解釈および/もしくは分析することができるデータを生成するシステム)から1つ以上の外部データインジェスタ412を介して受信されたコンテンツデータも記憶する。このような外部のデータ提供システムには、例えば、電子メールシステム、イントラネットシステム、サイト事業計画および物流システム、スケジュール管理システム、サプライチェーン管理システム、金融システム、会計システム、在庫管理システム、などの企業レベルのシステム、他の企業システム、他のITシステム等かつ/もしくは天気予報システム、株式市場のフィード、サードパーティが提供するOPCサーバなどの、サードパーティが提供するシステムを含んでもよい。外部データインジェスタ412は、外部データ提供システムから受信した外部データを、公開可能なデータ型のシステム24Bに準拠するように変換、修正、翻訳、および/もしくは他の方法で変換してもよい。さらに、いくつかの実施形態では、外部データインジェスタ412は、1つ以上の計算エンジン408を呼び出して、取得された外部データを操作し、それによって、データレイク410に記憶されるさらに追加のデータを生成することができる。いくつかの実施形態では、外部データインジェスタ412は、企業および/もしくはサードパーティシステムと通信して、それによってそれぞれのデータ構成を取得および/もしくは調整することができ、また、いくつかの実施形態では、外部データインジェスタ412は、公開可能なデータ型のシステム24Bを更新して、企業および/もしくはサードパーティのシステムで利用されるそれらに対応するデータ型を含んでもよい。しかしながら、エッジ向きコンポーネント400が、外部のデータ提供システムとの双方向通信に参加することができるとしても、エッジ向きコンポーネント400は依然として、プロセスプラント5に通信可能に接続されているフィールド向きコンポーネントに通信を送信しない(実際には、物理的に送信が妨げられる場合もある)ため、外部システムを介して入る可能性のあるセキュリティ侵害からプロセスプラント5が保護される。
【0070】
いずれにせよ、データレイク410は、フィールド向きコンポーネントを介してプロセスプラント5によって生成および受信されたコンテンツデータを記憶し、一部の実装では、1つ以上の外部のデータ提供システムによって生成および受信されたコンテンツデータを記憶する。いくつかの実施形態では、データレイク410は、1つ以上の計算エンジン408によって受信したコンテンツデータから計算および/もしくは導出された追加のデータ(プロセスプラント関連および/もしくは外部で生成されたか)を記憶してもよい。データレイク410に記憶されたデータは、公開可能なデータ型のシステム24Bに従って記憶されてもよいため、データコンテンツは、アプリケーションおよび/もしくはシステム422によって消費されやすくなる。
【0071】
エッジ向きコンポーネント400は、データレイク410のコンテンツを操作して、データレイク410の様々な異なるデータポイント間の関係および関連付けを発見するコンテキスト知識マイナ415を含む。すなわち、コンテキスト知識マイナ415は、データレイク410のデータポイントのそれぞれのコンテキストを発見する。例えば、コンテキスト知識マイナ415は、プロセスプラントの同じ領域にある、特定の時期の様々な異なるベンダのフィールドデバイス全体で同様の動作状態セットに対して特定のタイプのアラームが生成されたことを発見する場合があり、または、コンテキスト知識マイナ415は、プラント内の特定のラインの主要性能指標が、別の特定のバルブの変化率に対する特定のバルブの変化率に対応することを発見する場合がある。いずれにせよ、コンテキスト知識マイナ415は、発見されたコンテキストおよび関係を、データレイク415のコンテンツ(本明細書ではまとめて「知識」と呼ぶ)と共に、コンテキスト化されたプロセスプラント知識リポジトリ420、例えば接続されたドメインに記憶する。例えば、コンテキスト化されたプロセスプラント知識リポジトリ420は、コンテンツデータおよびそれらのそれぞれの相互接続が記憶されるグラフデータベースまたは他の好適なモデルを使用して実装されてもよい。例えば、グラフデータベースノードは、データレイク410に含まれる名称またはラベルに対応してもよく、ノードに記憶されたプロパティは、それぞれのパラメータ、値、状態などを含んでもよく、ノードと他のノードとの間のコネクタは、コンテキスト知識マイナ415によって発見された相互関係を示してもよい。一般的に言って、コンテキストプロセスプラント知識リポジトリ420に記憶された情報は、データコンシューマアプリケーションおよび/もしくはシステム422に公開可能である(例えば、消費するために利用可能である)。
【0072】
なお、
図5Aでは、公開されたデータレシーバ402、公開されたデータ取り込み照会ファイブ、およびコンテキスト知識マイナ415は、エッジ向きコンポーネント400の別個の異なるコンポーネントとして示されているが、これは考察を明確にする目的のみのためであり、限定目的ではない。実際、必要に応じて、コンポーネント402、405、および415のうちの任意の2つ以上が、エッジ向きコンポーネント400の一体型コンポーネントとして実装されてもよい。
【0073】
図5Bに描かれたエッジ向きコンポーネント400の一部分を続けると、エッジ向きコンポーネント400は、様々なタイプのデータ消費アプリケーションおよび/もしくはシステム422が、直接、または他のアプリケーションとアクセスメカニズムを介して、コンテキスト知識リポジトリ420に記憶された情報にアクセスする際に経由する1つ以上のアクセスメカニズム425のセットを提供する。エッジ向きコンポーネント400によって提供されるアクセスメカニズム425を利用することができるデータ消費アプリケーションおよび/もしくはシステム422は、例えば、プロセスプラント5を所有、運営、および/もしくは他の方法で関連付けられると共に、プロセスプラント5よりもより高い数字のセキュリティレベルにある企業アプリケーションおよび/もしくはシステム422a(電子メール、インターネット、サイト事業計画および物流、スケジュール管理、サプライチェーン管理、金融、会計、在庫管理、会社および/もしくは他のITアプリケーション、および/もしくはシステム)などのような、および、プロセスプラント関連の知識を消費するサードパーティのアプリケーションおよび/もしくはシステム422bなど(例えば、クラウドコンピューティングアプリケーション/システム、外部OPCサーバ、IoTアプリケーション/システム、IIoTアプリケーション/システムなど)のような外部アプリケーションおよび/もしくはシステム8を含んでもよい。いくつかの構成では、データ消費アプリケーションおよび/もしくはシステム422は、プラント関連のアプリケーションおよび/もしくはシステム422cを含んでもよく、これらは、プロセスプラント5と同様の数字のセキュリティレベルでもよく、またはプロセス制御システム、分析システムなどのような、プロセスプラント5内のシステムであってもよい。例えば、1つ以上のアクセスメカニズム425の少なくともいくつかは、監視アプリケーション、分析アプリケーション、最適化アプリケーション、仮想化デバイスアプリケーション、プロセス制御アプリケーション、アラーム管理アプリケーション、デバイス管理アプリケーション、ディスパッチングアプリケーション、低コストセンサアプリケーション、シミュレーションアプリケーション、オペレータトレーニングアプリケーション、冗長性またはバックアップアプリケーション、リカバリアプリケーション、安全計装システムアプリケーション、振動監視アプリケーション、エンジニアリングアプリケーション、資産管理アプリケーション、ユーザインターフェースアプリケーション、またはパーソナル電子デバイスで実行されるアプリケーションなどのような、プロセスプラント5に固有の1つ以上のアプリケーションによって利用されてもよい。
図5Bに示されるように、データ消費アプリケーションおよび/もしくはシステム422は、パブリックネットワーク、プライベートネットワーク、有線ネットワーク、および/もしくは無線ネットワークであり得る1つ以上のネットワーク423を介してエッジ向きコンポーネント400に通信可能に接続されてもよい。追加的に、または代替的に、以下でより詳細に説明するように、プラント、企業、またはサードパーティがインストールされているかどうかに関わらず、データ消費アプリケーション422の少なくともいくつかは、エッジ向きコンポーネント400にインストールされてもよい。
【0074】
図5Bに示すように、エッジ向きコンポーネント400によって提供されるアクセスメカニズム425は、コンテキスト知識リポジトリ420に記憶された情報への直接アクセスメカニズムとして機能する1つ以上のAPI428を含む。1つ以上の直接アクセスAPI428は、例えば、REST(REpresentational State Transfer)アーキテクチャ、GraphQLまたは他の好適なクエリ言語、および/もしくは他の標準化されたオープンソースの相互運用可能なデータ構文、フォーマット、および/もしくはAPIに利用されるアーキテクチャに従って実装されてもよい。例えば、API428は、C、C++、および/もしくはC#アプリケーション、Pythonアプリケーション、Node.JSアプリケーション、および/もしくはその言語、プロトコル、プラットフォーム、フレームワークがエッジ向きコンポーネント400でサポートされている、またはそれによって提供されている他のタイプのアプリケーションとインターフェースをとることができ、そしてこのように、API428は、それぞれのバインディングを使用してアクセスされてもよい。他のより高いレベルまたはより多くの除去されたアクセスメカニズムは、コンテキスト知識リポジトリ420に記憶された知識および情報にアクセスするために、1つ以上の直接アクセスAPI428を利用してもよい。
【0075】
エッジ向きコンポーネント400によって提供される他のアクセスメカニズム425は、例えば、いくつかを挙げると、ユーティリティ430、サーバ432、サービス435、およびアプリケーション438を含む。一般に、アクセスメカニズム425は、要求/応答、公開/サブスクリプション、イベント駆動型アクセスなどのような、コンテキスト知識リポジトリ420に記憶されたプロセスプラント関連知識への様々なタイプのアクセスを集合的にサポートする。アクセスメカニズム425の各々は、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために1つ以上の直接アクセスAPI422を利用してもよい。一部のアクセスメカニズム425は外部アプリケーションおよび/もしくはサーバ422に公開されてもよく、一部のアクセスメカニズムはプロセスプラント5および関連する、より低い数字のセキュリティレベル(例えば、OTレベル)の関連する他のシステムにのみ公開されてもよく、かつ/もしくはアクセスメカニズムのいくつかは、エッジ向きコンポーネント400自体に公開されてもよい。例えば、少なくとも1つのアクセスメカニズム425は、例えばフォールトトレランス、バックアップ、および/もしくは冗長性の目的で、データレイク410および/もしくはコンテキスト知識リポジトリ420が複製される際に経由される1つ以上の複製メカニズムを含んでもよい。
【0076】
エッジ向きコンポーネント400によって提供され得るユーティリティ430は、例えば、クエリおよび/もしくはサーチエンジン、自然言語プロセッサ、および/もしくは他のタイプのコンテキストユーティリティを含む。追加または代替として、ユーティリティ430は、計算、分析、分析、スクリプトなどの計算ユーティリティを含んでもよい。ユーティリティ430は、例えば、機能、アルゴリズム、アプリケーションなどを使用して、エッジ向きコンポーネント400で実装することができる。
【0077】
エッジ向きコンポーネント400によって提供され得るサーバ432は、例えば、プロセスプラント関連の知識を、OPC UAデータモデルを通して、例えば、それぞれのサブスクリプションを介して、データ消費アプリケーション/システム422に公開するOPC UAサーバ、データ消費アプリケーションおよび/もしくはシステム422がエッジ向きコンポーネント400とインターフェースして、コンテキスト知識リポジトリ420に記憶されたプロセスプラント関連知識にアクセスすることができる1つ以上のウェブサイトおよび/もしくはウェブアプリケーションをホストするウェブサーバ、および他のタイプのサーバを含む。いくつかの実施形態では、1つ以上のサーバ432は、外部アプリケーションおよびシステム422に公開されず、代わりに、プロセスプラント5および/もしくはプロセスプラント5に関連付けられた、より低い数字のセキュリティレベルのシステムによる使用のために提供される。例えば、エッジ向きコンポーネント400は、プロセスプラント5の様々なコンポーネント間でデータをルーティングするI/Oサーバを提供してもよい。
【0078】
エッジ向きコンポーネント400によって提供され得るサービス435は、例えば、AMQP(Advanced Message Queueing Protocol)キューイングサービス(例えば、JSONフォーマットで知識を公開する)、MQTT(Message Queuing Telemetry Transport)の発行およびサブスクリプションサービス、および/もしくは、プロセスプラント関連情報のクラウドコンピューティングアプリケーションおよび/もしくはシステムへの転送をサポートする他の同様の目的のサービス、システム、および/もしくはプロトコル、IoTおよび/もしくはIIoTアプリケーションおよび/もしくはシステム、イベントハブ、および/もしくは(例えば、発行/サブスクリプションメカニズムおよび/もしくはポイントツーポイントメカニズムを介した)他のデータ消費アプリケーションおよび/もしくはシステム422を含む。例えば、サービス435は、プロセスプラント関連の知識のコンシューマである、各外部OPCサーバ(プラント、企業、またはサードパーティOPCサーバであり得る)にそれぞれのデータソースを提供し得る、OPCランタイムサービスを含んでもよい。さらに、サービス435は、(例えば、OAuth2または他の好適な標準を利用することによる)も認証および/もしくはデータ消費アプリケーションおよび/もしくはシステム422への認証および/もしくは認証サービス、モバイルデバイス、ウェブサービス、知識または情報サブスクリプションマネージャと相互作用するサービス、および/もしくは少なくともいくつかのデータ消費アプリケーションおよび/もしくはシステム422に公開され、および/もしくはそれらによって利用され得る他の任意のタイプのサービスを含んでもよい。
【0079】
さらに、エッジ向きコンポーネント400は、コンテキスト知識リポジトリ420に記憶された情報にアクセスし、アクセスされた情報を操作する1つ以上のアプリケーション438を提供してもよい。例えば、ユーティリティ430のいくつかは、アプリケーション438を使用して実装されてもよく、いくつかのウェブサービスは、アプリケーション438を使用して実装されてもよい。アプリケーション438のうちの少なくともいくつかは、クエリエンジンおよびサーチエンジンなどの企業によって提供されてもよい。アプリケーション438のいくつかは、サードパーティによって提供されてもよく、データ消費アプリケーションおよび/もしくはシステム422の少なくともいくつかによって公開および/もしくは利用されてもよい。
【0080】
実際に、エッジ向きコンポーネント400は、いくつかのアーキテクチャ構成、プラットフォーム、およびフレームワークをサポートまたは提供することができ、それによって、エッジ向きコンポーネント400が、プロセスプラント5に関連付けられた企業よって生成され、サードパーティによって生成されるユーティリティ430、サーバ432、サービス435および/もしくはアプリケーション438をサポートまたは提供することを可能にする。いくつかの構成では、企業が提供する、およびサードパーティが提供するユーティリティ430、サービス432、および/もしくはアプリケーション438の両方を、エッジ向きコンポーネント400にインストールしてもよい。例えば、エッジ向きコンポーネントは、OPC UAサーバ、AMQPゲートウェイ、および企業が提供する様々なアクセスメカニズム425がエッジ向きコンポーネント400において実装されてもよい、また、サードパーティ提供のアプリケーションが、エッジ向きコンポーネント400において実装する際に経由し得る、Docker、Linux(登録商標)、または、他のタイプのコンテナをサポートしてもよい。ドッカーおよび/もしくは他のタイプのコンテナは、例えば、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために、直接アクセスAPI428を利用してもよい。
【0081】
追加的に、または代替的に、エッジ向きコンポーネント400は、企業によって、および/もしくはサードパーティによって提供され、エッジ向きコンポーネント400にインストールされるウェブアプリケーションおよびサービスをサポートするNode.JSフレームワークを提供してもよい。Node.JSフレームワークは、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために直接アクセスAPI428を利用してもよく、かつ/もしくは、Node.JSフレームワークは、コンテキスト知識リポジトリ420に記憶された情報にアクセスし、それを取得および/もしくは操作するために、様々なユーティリティ430(例えば、クエリ、検索、言語処理等)を呼び出してもよい。
【0082】
したがって、上記の考察を考慮して、エッジゲートウェイシステム1の実施形態は、プロセスプラント5および関連するネットワークを、クラウドおよび/もしくはリモートネットワークでホストされているものなど、プラントの敷地内で実行されるアプリケーション、ならびに遠隔で実行されているアプリケーションなどに安全に接続する。プロセスプラント5によって生成されたデータおよびそこに含まれる発見された関係および/もしくは知識を消費するアプリケーションおよび/もしくはシステムは、プロセスプラント5自体へのリスクを最小限から全くなしに、公開されたコンテキストプロセスプラント知識に安全にアクセスし、取得することができる。さらに、エッジゲートウェイシステム1は、恒久的なイントラネット接続を有する環境(例えば、セキュリティレベル3および4)、およびパブリックインターネット接続を有する環境で継続的に動作してもよい。エッジゲートウェイシステム5の様々なセキュリティメカニズムと機能(例えば、OTおよびITネットワークの物理的な分離、プロセスプラント5へのデータフローの物理的な防止、安全な起動と更新、署名済みファームウェアとパケットの実行、暗号化、カスタマイズ公開可能なデータ型のシステムなど)は、プロセスプラント5とそのデータを保護し、データの盗難やセキュリティ違反に対する保護を提供する。さらに、実施形態では、エッジゲートウェイシステム1および/もしくはそのコンポーネントは、共同所有の米国特許出願第15/332,622号、共同所有の米国特許出願第15/332,690号、共同所有の米国特許出願第15/332,751号に記載されているセキュリティ技法の1つ以上を利用または組み込んでおり、その開示全体が参照により本明細書に組み込まれ、それによって、プロセスプラント5およびそのデータをさらに保護し、データ盗難およびセキュリティ侵害に対するさらなる保護を提供する。
【0083】
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、およびエンジンはいずれも、コンピュータもしくはプロセッサのRAMもしくはROM等における磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体等の、任意の有形の非一時的コンピュータ可読メモリに記憶され得る。本明細書に開示される例示的システムは、他のコンポーネントの中でも、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェアコンポーネントのうちのいずれかまたはすべてが、ハードウェアにのみ、ソフトウェアにのみ、あるいはハードウェアおよびソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアで実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方法ではないことを当業者は容易に理解するであろう。
【0084】
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。