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

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

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許7603687集中型知識リポジトリおよびデータマイニングシステム
<>
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図1
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図2
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図3
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図4A
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図4B
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図4C
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図5A
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図5B
  • 特許-集中型知識リポジトリおよびデータマイニングシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】集中型知識リポジトリおよびデータマイニングシステム
(51)【国際特許分類】
   H04L 43/02 20220101AFI20241213BHJP
   H04L 12/66 20060101ALI20241213BHJP
【FI】
H04L43/02
H04L12/66
【請求項の数】 60
(21)【出願番号】P 2022533489
(86)(22)【出願日】2020-12-09
(65)【公表番号】
(43)【公表日】2023-02-03
(86)【国際出願番号】 US2020064033
(87)【国際公開番号】W WO2021119140
(87)【国際公開日】2021-06-17
【審査請求日】2023-03-09
(31)【優先権主張番号】62/945,667
(32)【優先日】2019-12-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【弁理士】
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】アルパー・ティー・エンヴァー
(72)【発明者】
【氏名】ジョシュア・ビー・キッド
(72)【発明者】
【氏名】エミリー・シー・クック
(72)【発明者】
【氏名】ジェシー・アルブリトン
(72)【発明者】
【氏名】マシュー・ヴァルギース
(72)【発明者】
【氏名】マーカス・シェーン・ストレンジウェイ・オーチャード
(72)【発明者】
【氏名】マーク・ジェイ・ニクソン
【審査官】木村 雅也
(56)【参考文献】
【文献】米国特許出願公開第2013/0238349(US,A1)
【文献】米国特許出願公開第2012/0158750(US,A1)
【文献】特開2007-233850(JP,A)
【文献】米国特許出願公開第2019/0018928(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/02
H04L 12/66
(57)【特許請求の範囲】
【請求項1】
異なるプロセス機器に結合された複数の異なるデータソースを有するプロセス環境で使用するためのデータ収集および分析システムであって、
前記複数の異なるデータソースの各々のデータソース情報を記憶するデータソース登録デバイスであって、前記データソース情報が、前記複数の異なるデータソースの各々から通信されるデータに関する情報を定義する、データソース登録デバイスと、
データ登録デバイスに結合され、前記複数の異なるデータソースの各々からプロセスデータの異なるストリームを受信するために1つ以上の通信ネットワークを介して前記複数の異なるデータソースの前記各々に接続されるように適合されたゲートウェイデバイスであって、前記ゲートウェイデバイスが、前記データソース情報を使用して、前記複数の異なるデータソースからのプロセスデータの前記ストリームを処理し、前記ゲートウェイデバイスが、前記複数の異なるデータソースの各々からのデータストリームを、前記データストリームから通信情報を取り除き、複数のイベントを作成することによって処理し、前記複数のイベントの各々が、前記データストリーム内に基礎となるプロセスデータおよびメタデータを含む、ゲートウェイデバイスと、
前記ゲートウェイデバイスから前記イベントの各々を受信し、前記イベントをイベントストリームとして記憶する、前記ゲートウェイデバイスに結合されたイベントストリーム記憶デバイスと、
前記イベントストリーム記憶デバイスに結合された多様なサービスであって、前記多様なサービスの各々が、前記イベントストリーム内の1つ以上のタイプのイベントに対して動作して、イベント内の前記基礎となるプロセスデータおよびメタデータを処理して、イベントに関連付けられた処理済みイベントデータを作成し、前記多様なサービスの各々が、前記処理済みイベントデータをさらなるデータベースに配置する、多様なサービスと、
ユーザが前記処理済みイベントデータを取得または閲覧できるようにする、前記さらなるデータベースに結合されたインターフェースと、を備える、データ収集および分析システム。
【請求項2】
前記イベントストリーム記憶デバイスが、前記イベントを、時間順に並べられたイベントストリームとして記憶する、請求項1に記載のデータ収集および分析システム。
【請求項3】
前記ゲートウェイデバイスが、前記複数の異なるデータソースの各々からイベントを作成して、前記異なるデータソースからの前記データストリームで提供されるものと同じデータフォーマットで、前記異なるデータソースからの前記データストリームの前記基礎となるプロセスデータを含める、請求項1または請求項2に記載のデータ収集および分析システム。
【請求項4】
前記ゲートウェイデバイスが、前記イベントのうちの1つ以上を作成して、データソースからの前記データストリームに提供される基礎となるプロセスデータ、および前記基礎となるプロセスデータに関連付けられたメタデータを含める、請求項1から請求項3のいずれかに記載のデータ収集および分析システム。
【請求項5】
前記メタデータが、タイムスタンプ、前記基礎となるプロセスデータの発信元またはソースの指示、前記基礎となるプロセスデータを送信した前記データソースの指示、前記基礎となるプロセスデータの他の送信者または受信者の指示、および前記基礎となるプロセスデータに関連付けられた測定または通信を行ったデバイスの指示のうちの1つ以上を含む、請求項4に記載のデータ収集および分析システム。
【請求項6】
前記ゲートウェイデバイスが、前記イベントストリームにイベントを作成する前に、前記基礎となるプロセスデータの前記データソースを検証し、許可されているものとして認証する、請求項1から請求項5のいずれかに記載のデータ収集および分析システム。
【請求項7】
前記ゲートウェイデバイスが、複数の異なる通信プロトコルを介して前記複数の異なるデータソースから前記データストリーム内のデータメッセージを受信する、請求項1から請求項6のいずれかに記載のデータ収集および分析システム。
【請求項8】
各イベントにおける前記基礎となるプロセスデータが、連続プロセスデータ、バッチプロセスデータ、制御データ、保守データ、およびプロセスユーザデータのうちの1つ以上である、請求項1から請求項7のいずれかに記載のデータ収集および分析システム。
【請求項9】
各イベントにおける前記基礎となるプロセスデータが、個々のプロセス変数測定、ユーザログオン、ユーザ開始アクション、生成されたアラームまたはアラート、保守システムを介して取られる保守アクション、障害検出、故障または制御アクションのうちの1つに関連付けられている、請求項1から請求項8のいずれかに記載のデータ収集および分析システム。
【請求項10】
前記データソース登録デバイスが、通信セキュリティ実施コンポーネントを含む、請求項1から請求項9のいずれかに記載のデータ収集および分析システム。
【請求項11】
前記データソース登録デバイスが、前記ゲートウェイデバイスにデータストリームを送信することを許可された前記複数の異なるデータソースのリスト、および前記複数の異なるデータソースの各々についての情報を記憶する、請求項1から請求項10のいずれかに記載のデータ収集および分析システム。
【請求項12】
前記データソース登録デバイスが、各許可されたデータソースのアイデンティティ、各許可された前記データソースによって送信されるデータのタイプ、各許可されたデータソースによって送信される前記データのデータフォーマット、ならびに各許可されたデータソースとの通信接続のための通信フォーマットまたは通信プロトコルおよびネットワーク情報を記憶する、請求項11に記載のデータ収集および分析システム。
【請求項13】
前記データソース登録デバイスが、各許可されたデータソースによって送信された前記データのセキュリティ情報を記憶する、請求項11または請求項12に記載のデータ収集および分析システム。
【請求項14】
前記セキュリティ情報が、セキュリティ登録手順、セキュリティ証明書、および各許可されたデータソースで使用される暗号化方法のうちの1つ以上を含む、請求項13に記載のデータ収集および分析システム。
【請求項15】
前記データソース登録デバイスが、前記複数の異なるデータソースの各々を前記ゲートウェイデバイスに登録し、セキュリティ証明書を発行もしくは検証することによって、または前記複数の異なるデータソースの各々でTLS動作を確立することによって、前記複数の異なるデータソースの各々を認証するセキュリティコンポーネントを含む、請求項13または請求項14に記載のデータ収集および分析システム。
【請求項16】
前記セキュリティコンポーネントが、前記複数の異なるデータソースの各々に、タイプ、アイデンティティおよび認証のための証明書、ならびに特定のタイプのデータをストリーミングするための許可のセットを割り当てる、請求項15に記載のデータ収集および分析システム。
【請求項17】
ユーザが前記データソース登録デバイスにおいてデータソース情報を作成して記憶させることを可能にするためにプロセッサ上で実行されるデータソース登録アプリケーションをさらに含む、請求項1から請求項16のいずれかに記載のデータ収集および分析システム。
【請求項18】
前記データソース登録アプリケーションは、ユーザが、新しいデータソースを追加すること、データソースを削除すること、または既存のデータソースに関連付けられたデータ型、データフォーマット、もしくはセキュリティレベルを変更することを可能にする、請求項17に記載のデータ収集および分析システム。
【請求項19】
前記複数の異なるデータソースのうちの2つ以上が、異なるタイプの通信ストリームを使用して前記ゲートウェイデバイスにデータを通信する、請求項1から請求項18のいずれかに記載のデータ収集および分析システム。
【請求項20】
前記データソース情報が、前記複数の異なるデータソースの各々と通信する際に前記ゲートウェイデバイスによって使用される1つ以上のセキュリティ手段を識別するセキュリティ情報を含む、請求項1から請求項19のいずれかに記載のデータ収集および分析システム。
【請求項21】
前記複数の異なるデータソースのうちの2つ以上の各々が、異なるセキュリティ手段を使用して前記ゲートウェイデバイスと通信する、請求項20に記載のデータ収集および分析システム。
【請求項22】
前記さらなるデータベースが、処理済みイベントデータを時系列方式で記憶する時系列データベースである、請求項1から請求項21のいずれかに記載のデータ収集および分析システム。
【請求項23】
前記さらなるデータベースが、処理済みイベントデータを1つ以上の分散グラフに記憶する分散グラフデータベースである、請求項1から請求項22のいずれかに記載のデータ収集および分析システム。
【請求項24】
前記分散グラフデータベースに結合されたプロセスグラフデータベースをさらに含み、前記プロセスグラフデータベースが、前記分散グラフデータベースに記憶された前記分散グラフのうちの1つ以上の構成を定義する接続情報を記憶する、請求項23に記載のデータ収集および分析システム。
【請求項25】
前記接続情報が、前記複数の異なるデータソースがデータを収集するプロセスの構成に従って定義されたプロセスプラント情報に基づく、請求項24に記載のデータ収集および分析システム。
【請求項26】
ユーザが、前記分散グラフデータベースに記憶された1つ以上の分散グラフの前記接続情報を作成するために使用される前記プロセスプラント情報を提供することを可能にするために、プロセッサ上で実行される前記プロセスグラフデータベースに結合されたユーザインターフェースアプリケーションをさらに含む、請求項25に記載のデータ収集および分析システム。
【請求項27】
記インターフェースが、1つ以上のアプリケーションプログラミングインターフェース(API)を含む、請求項1から請求項26のいずれかに記載のデータ収集および分析システム。
【請求項28】
記インターフェースが、複数のAPIを含み、前記複数のAPIの各々が、前記さらなるデータベースから処理済みイベントデータを取得し、かつ前記処理済みイベントデータを異なる外部アプリケーションに提供するための、前記異なる外部アプリケーションに結合されている、請求項27に記載のデータ収集および分析システム。
【請求項29】
前記さらなるデータベースが、時系列データベースおよび分散グラフデータベースの両方を含み、前記サービスのうちの少なくとも1つが、処理済みイベントデータを前記時系列データベースに配置し、前記サービスのうちの別の1つが、処理済みイベントデータを前記分散グラフデータベースに配置する、請求項1から請求項28のいずれかに記載のデータ収集および分析システム。
【請求項30】
前記サービスのうちの少なくとも1つが、処理済みイベントデータを前記時系列データベースおよび前記分散グラフデータベースに配置する、請求項29に記載のデータ収集および分析システム。
【請求項31】
ユーザが、プロセス情報を指定して、前記分散グラフデータベースに前記分散グラフを作成するために使用される1つ以上のプロセスグラフを定義することを可能にするためにプロセッサ上で実行されるプロセスグラフビルダーアプリケーションをさらに含む、請求項29または請求項30に記載のデータ収集および分析システム。
【請求項32】
前記プロセスグラフの各々が、前記プロセス環境内のコンポーネントとデータとの間の関係を定義する、請求項31に記載のデータ収集および分析システム。
【請求項33】
前記プロセスグラフのうちの1つが、1つ以上のプロセスハードウェアヒエラルキー、1つ以上のプロセスプラントレイアウト、または1つ以上のプロセス制御ソフトウェアヒエラルキーを定義する、請求項32に記載のデータ収集および分析システム。
【請求項34】
ユーザが前記イベントストリーム内のイベントデータにアクセスすることを可能にするためにプロセッサ上で実行されるタスクエンジンをさらに含む、請求項1から請求項33のいずれかに記載のデータ収集および分析システム。
【請求項35】
前記タスクエンジンは、ユーザが前記イベントストリーム内のイベントデータを変更することを可能にする、請求項34に記載のデータ収集および分析システム。
【請求項36】
前記タスクエンジンは、ユーザが、前記イベントストリーム内のイベントにプロセスデータまたはメタデータを追加することを可能にする、請求項34または請求項35に記載のデータ収集および分析システム。
【請求項37】
前記イベントストリーム内のイベントデータを処理する、前記イベントストリーム記憶デバイスに結合された1つ以上のデータ分析アプリケーションをさらに含む、請求項1から請求項36のいずれかに記載のデータ収集および分析システム。
【請求項38】
前記1つ以上のデータ分析アプリケーションのうちの1つが、新しいイベントを作成し、前記イベントストリームに配置する、請求項37に記載のデータ収集および分析システム。
【請求項39】
前記サービスのうちの1つが、処理済みイベントデータを有する新しいイベントを作成し、処理済みイベントデータを有する前記新しいイベントを前記イベントストリームに配置する、請求項1から請求項38のいずれかに記載のデータ収集および分析システム。
【請求項40】
前記サービスのうちの別のものが、前記新しいイベントにアクセスし、前記新しいイベント内の前記イベントデータを処理して、さらなる処理済みイベントデータを作成し、前記さらなる処理済みイベントデータを前記さらなるデータベースに配置する、請求項39に記載のデータ収集および分析システム。
【請求項41】
前記複数の異なるデータソースのうちの第1のものからの前記基礎となるプロセスデータが、第1のデータフォーマットのものであり、前記複数の異なるデータソースのうちの第2のものからの前記基礎となるプロセスデータが、第2のデータフォーマットのものであり、前記第1のデータフォーマットおよび前記第2のデータフォーマットが、異なるデータフォーマットである、請求項1から請求項40のいずれかに記載のデータ収集および分析システム。
【請求項42】
ゲートウェイが、前記第1のデータフォーマットのデータを用いて前記複数の異なるデータソースのうちの前記第1のものからイベントを作成し、前記第2のデータフォーマットのデータを用いて前記複数の異なるデータソースのうちの前記第2のものからイベントを作成する、請求項41に記載のデータ収集および分析システム。
【請求項43】
前記サービスが、マイクロサービスである、請求項1から請求項42のいずれかに記載のデータ収集および分析システム。
【請求項44】
前記サービスの各々が、前記イベントストリーム内の前記イベントデータに対して独立して実行される、請求項1から請求項43のいずれかに記載のデータ収集および分析システム。
【請求項45】
前記サービスのうちの1つが、前記イベントストリーム内の前記イベントデータに対してリアルタイムで動作する、請求項1から請求項44のいずれかに記載のデータ収集および分析システム。
【請求項46】
前記サービスのうちの1つが、前記イベントストリーム内の前記イベントデータに対してリアルタイムよりも速く実行される、請求項1から請求項45のいずれかに記載のデータ収集および分析システム。
【請求項47】
前記複数の異なるデータソースのうちの複数のものが、前記プロセス環境内の異なるシステムに関連付けられている、請求項1から請求項46のいずれかに記載のデータ収集および分析システム。
【請求項48】
前記複数の異なるデータソースのうちの1つが、プロセス制御システムに関連付けられており、前記複数の異なるデータソースのうちの別の1つが、プロセス保守システム、プロセスサポートシステム、プロセスビジネスシステム、およびプロセスデータロギングシステムのうちの1つに関連付けられている、請求項1から請求項47のいずれかに記載のデータ収集および分析システム。
【請求項49】
前記複数の異なるデータソースのうちの1つが、OPCデータソースである、請求項1から請求項48のいずれかに記載のデータ収集および分析システム。
【請求項50】
前記複数の異なるデータソースのうちの2つ以上が、異なるストリーミングフォーマットまたは通信プロトコルを使用して前記ゲートウェイデバイスにデータをストリーミングする、請求項1から請求項49のいずれかに記載のデータ収集および分析システム。
【請求項51】
各サービスが、前記イベントストリーム内の前記イベントデータを、さらなるアプリケーションによってより容易に消費できる異なるタイプのデータに変換する、請求項1から請求項50のいずれかに記載のデータ収集および分析システム。
【請求項52】
前記サービスのうちの少なくとも1つが、前記イベントストリーム内の前記イベントデータを処理して、1つ以上の新しいイベントを作成し、前記1つ以上の新しいイベントを前記イベントストリームに配置する、請求項1から請求項51のいずれかに記載のデータ収集および分析システム。
【請求項53】
各サービスが、イベントスチーム内の1つ以上のタイプのイベントを処理して、新しくより使用可能なイベントデータを生成するために、独立して実行されるマイクロサービスである、請求項1から請求項52のいずれかに記載のデータ収集および分析システム。
【請求項54】
各サービスが、前記イベントストリーム内の前記イベントに関するより高いレベルの情報を決定するために、前記イベントストリーム内の前記イベントデータを時系列方式で変換するマイクロサービスである、請求項1から請求項53のいずれかに記載のデータ収集および分析システム。
【請求項55】
各マイクロサービスが、前記新しいより高いレベルのデータを、時間指定イベントとして前記時系列データベースに、および/もしくは1つ以上のプロセスグラフのノードとして分散グラフデータベースに記憶し、ならびに/または新しいイベントを作成し、前記イベントストリーム内のそれらの新しいイベントを、前記イベントストリーム内の特定の時間順に並べられた場所に配置する、請求項54に記載のデータ収集および分析システム。
【請求項56】
前記マイクロサービスのうちの異なるものが、異なる速度で動作する、請求項54または請求項55に記載のデータ収集および分析システム。
【請求項57】
前記マイクロサービスのうちの異なるものが、前記イベントストリーム内の異なる場所からイベントデータを取得するように動作する、請求項54から請求項56のいずれかに記載のデータ収集および分析システム。
【請求項58】
前記さらなるデータベースは、異なる処理済みイベントが何らかの方式で互いに関連付けられることを可能にする、処理済みイベントに関するコンテキスト知識を記憶する、請求項54から請求項57のいずれかに記載のデータ収集および分析システム。
【請求項59】
前記コンテキスト知識は、異なる処理済みイベントが、時間、プラント領域、ユニット、デバイス、コントローラスキーム、論理要素、プラント機器、論理指定、プロセス変数、パラメータ、値、プロセス状態、ユーザ、製造元、プロパティ、アラーム、アラームカテゴリ、プロセスヒエラルキー、または制御ヒエラルキーのうちの1つ以上において互いに関連付けられることを可能にする、請求項58に記載のデータ収集および分析システム。
【請求項60】
前記さらなるデータベースが、プロセス内の様々な要素間の相互関係を定義するプロセスグラフを使用してグラフデータとしてデータを記憶するグラフ系列データベースである、請求項54から請求項59のいずれかに記載のデータ収集および分析システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年12月9日に出願された「Centralized Knowledge Repository and Data Mining System」と題する米国仮出願第62/945,667号の利益を主張し、その各々の全体が参照により本明細書に明示的に組み込まれる。
【0002】
本開示はまた、2016年10月24日に出願された「Publishing Data Across a Data Diode for Secured Process Control Communications」と題する共同所有の米国特許出願第15/332,622号と、米国特許第10,270,745号として発行された、2016年10月24日に出願された「Securely Transporting Data Across a Data Diode for Secured Process Control Communications」と題する共同所有の米国特許出願第15/332,690号と、米国特許第10,257,163号として発行された、2016年10月24日に出願された「Secured Process Control Communications」と題する共同所有の米国特許出願第15/332,751号と、に関連しており、それらの開示全体が参照により本明細書に組み込まれる。
【0003】
本開示はまた、2019年9月20日に出願された「Edge Gateway System with Data Typing for Secured Process Plant Data Delivery」と題する共同所有の米国特許出願第16/577,679号と、2019年9月20日に出願された「Edge Gateway System for Secured, Exposable Process Plant Data Delivery」と題する共同所有の米国特許出願第16/577,664号と、2019年9月20日に出願された「Edge Gateway System with Contextualized Process Plant Knowledge Repository」と題する共同所有の米国特許出願第16/577,800号と、に関連しており、それらの開示全体が参照により本明細書に組み込まれる。
【0004】
本開示は、概して、プロセスプラントおよびプロセス制御システムに関し、より具体的には、圧縮的かつ管理しやすい方法でプロセスプラント/プロセス制御システムおよび関連システムからのデータを収集、マイニング、視覚化および処理することに関する。
【背景技術】
【0005】
化学、石油、薬剤、紙製品処理、または他のプロセスプラントにおいて使用されるものなどの、分散型プロセス制御システムは、典型的には、アナログバス、デジタル、または一体化されたアナログ/デジタルバスを介して、あるいは無線通信リンクまたはネットワークを介して、1つ以上のフィールドデバイスと通信可能に結合される、1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ(例えば、温度、圧力、レベルおよび流量センサ)であり得るフィールドデバイスは、プロセス環境内に位置付けられ、一般に、バルブの開閉、圧力、温度、などのプロセスパラメータの測定などの物理的またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行中の1つ以上のプロセスを制御する。周知のFieldbusプロトコルに準拠するフィールドデバイスなどのスマートフィールドデバイスはまた、制御計算、アラーム機能、およびコントローラ内で一般に実装される他の制御機能も実行し得る。プロセスコントローラは、これもまた典型的にはプラント環境内に位置付けられるが、フィールドデバイスによって行われるプロセス測定を指示する信号および/またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を生成し、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)Fieldbusフィールドデバイスなどの、フィールドデバイスで実行される制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信ラインまたはリンクを経由して、フィールドデバイスに制御信号を送信し、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
【0006】
フィールドデバイスおよびコントローラからの情報は、制御室もしくはより過酷なプラント環境から離れた他の場所に典型的に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中型データベース、または他の集中型管理コンピューティングデバイスなどの1つ以上の他のハードウェアデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の閲覧、フィールドデバイスおよびコントローラによって生成されたアラームの閲覧、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスの動作のシミュレーション、構成データベースの保守および更新などの、プロセスの制御および/またはプロセスプラントの動作に関する機能を行うことを可能にし得るアプリケーションを実行する。ハードウェアデバイス、コントローラ、およびフィールドデバイスにより利用されるデータハイウェイは、有線通信パス、無線通信パス、または有線および無線通信パスの組み合わせを含むことができる。
【0007】
例として、Emerson Automation Solutionによって販売されているDeltaV(商標)制御システムは、プロセスプラント内の多様な場所に位置する異なるデバイス内に記憶され、それらよって実行される多数のアプリケーションを含む。1つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、およびデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実行し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつオペレータによるプロセス制御ルーチン内の設定点などの設定の変更を可能にするために閲覧アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、および一部の場合においては、1つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶および実行する。閲覧アプリケーションは、1つ以上のオペレータワークステーション(またはオペレータワークステーションおよびデータハイウェイと通信接続する1つ以上のリモートコンピューティングデバイス)上で実行され得、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技師のビューなどのいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、データハイウェイにわたって提供されたデータの一部またはすべてを収集および記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションが、現在のプロセス制御ルーチン構成およびそれと関連付けられたデータを記憶するために、データハイウェイに取り付けられたなおさらに離れたコンピュータで作動され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーションに位置していてもよい。
【0008】
一般的に言って、プロセスプラントのプロセス制御システムは、フィールドデバイス、コントローラ、ワークステーション、および階層化されたネットワークとバスとのセットによって相互接続された他のデバイスを含む。次に、プロセス制御システムは、例えば、製造および運用コストを低減し、生産性および効率を高め、プロセス制御および/またはプロセスプラント情報へのタイムリーなアクセスを提供することなどのために、様々なビジネスおよび外部ネットワークと接続され得る。プロセス制御ネットワーク環境の外部のプロセスプラントデータを取得し視覚化できること、より多くの旧来のビジネス機能を実行できること、プロセスデータに対してデータ分析およびデータマイニングを実行できることなどが、ますます重要になっている。一方、プロセスプラントおよび/またはプロセス制御システムと、企業および/または外部ネットワークおよびシステムとの相互接続は、企業および/または外部ネットワークで使用されるものなどのような商用システムおよびアプリケーションにおいて、予想される脆弱性から生じ得るサイバー侵入および/または悪意のあるサイバー攻撃のリスクを増加させる。プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入と悪意のあるサイバー攻撃とは、情報資産の機密性、完全性、および/または可用性に悪影響を与える可能性があり、これは一般的に言って、汎用コンピューティングネットワークのものと類似した脆弱性である。ただし、汎用コンピュータネットワークとは異なり、プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入は、プラント機器、製品、および他の物理的資産の損害、破壊、および/または損失だけでなく、人命の損失をももたらし得る。例えば、サイバー侵入は、プロセスを制御不能にし、それによって、爆発、火災、洪水、危険物への曝露などを発生させる場合がある。したがって、プロセス制御プラントおよびシステムに関連する通信を保護することが、最も重要なことである。
【0009】
重要なことに、プロセス制御システムは、分散制御システム(DCS)とプログラマブル論理コントローラ(PLC)の組み合わせによってプロセスが制御される幅広い業界セットをカバーする。これらの制御システムは、それらが制御するバッチおよび連続プロセスに深く統合されており、これらのシステムは、様々なプロセスを制御すること、およびプロセスの動作およびプロセス内の機器に関する多くのデータを収集することの両方を行う。その結果、プロセスプラント、プロセスプラント制御システム、ならびに関連するビジネスシステムおよびサードパーティシステムから現在利用できるデータの量は、膨大になる可能性がある。このデータは多くの異なる目的に役立ち得るが、どんなデータマイニングアプリケーションまたはデータ消費サービスも、プラント(または関連システム)から正しいデータを取得し、そのデータを個別に処理して、必要な特定のタイプのデータマイニングを実行する必要がある。さらに、企業は業務の改善を目指しているため、レポートの生成、分析の実行、およびリアルタイムの意思決定支援の実行に役立つ形式でこのデータにアクセスする必要がある。今日使用されている最先端のデータマイニング技術は、データをその要素タイプ(例えば、フロートおよびストリング形式)にフラット化し、このデータをヒストリアンに収集する。このアプローチは、データに関するコンテキストのすべてを停止するだけでなく、データ全体の時間関係のすべてをも停止し、これにより、データの継続的な監視および分析に重大な課題が生じる。したがって、現在、データ分析の目的でデータを処理しやすくするのに役立つ方法で、プロセスプラント内のおよびプロセスプラントに関連する様々な異なるデータソースからくる様々な異なるタイプのデータを収集、記憶、およびマイニングするための単純なまたは調整されたインフラストラクチャはない。代わりに、データがプラント環境でマイニングされる限り、プロセスプラントからのデータを使用または必要とする各データ分析アプリケーションは、何らかの方法で(例えば、ファイアウォールまたは他の安全なデータ検索システムを介してプラントに接続されたサーバを使用して)プラント内のシステムのうちの1つ以上に個別に接続する必要があり、アプリケーションが必要とするデータを指定または要求する必要があり、次いで、オンラインまたはストリーミング方式でプラントからそのデータを受信する必要があり、次いで、そのデータを個別に処理する必要がある。ただし、多くの場合、複数の異なるデータマイニングアプリケーションが同じデータを要求して使用するため、同じデータに対して複数の要求が発生し、関与する様々なシステムの帯域幅および通信インフラストラクチャが消費される。さらに、プラントに接続された多くの異なるデータ消費またはデータマイニングアプリケーションがあるとき、プラント内の様々なソースからのデータはアドホックな方法で送信され、プラント内の通信および処理インフラストラクチャの過剰使用と、多くの異なる故障点と、理解または管理が容易でない複雑な通信ネットワークとにつながる。さらに、多くの場合、プラントからのデータのコンテキストは、通信ネットワークまたは記憶インフラストラクチャにおいて失われ、このデータは、データ分析アプリケーションでの処理または使用が困難になる。
【発明の概要】
【0010】
プロセスプラントからデータを安全かつ効率的に取得し、そのデータを1つ以上の外部アプリケーションまたはシステムで消費するために処理するシステムおよび方法は、プラント内のまたはプラントに関連付けられた様々なデータソースから、集中型サーバまたはゲートウェイにおける様々な異なるデータフォーマットおよびデータ通信構造を介してデータを受信することと、データパケットの通信フォーマット構造を取り除くことと、データに関連付けられたメタデータを含むデータをイベントストリームに配置することと、外部データマイニング、視覚化、および分析システムまたはアプリケーションによる簡単な消費のためにそのデータを処理する処理インフラストラクチャが、イベントストリーム内のデータを利用できるようにすることと、を含む。データ処理インフラストラクチャは、1つ以上のマイクロサービスを含み、各マイクロサービスは、イベントストリーム内のデータを分析して、特定のタイプのイベントの認識、イベントデータの処理、ならびに(時間ベースのテレメトリを用いた)1つ以上の時系列データベースおよび分散グラフデータベースへの処理済みデータの配置などの特定のサービスを実行するだけでなく、新しいデータまたは関連データを作成し、他のマイクロサービスで処理するための新しいイベントデータとして新しいデータをイベントストリームに配置する。データ処理インフラストラクチャはまた、データ視覚化アプリケーション、データマイニングアプリケーション、およびデータ分析アプリケーションなどの外部アプリケーションが時系列のデータおよび分散グラフデータベースを取得してそのデータを様々な目的に使用できるようにする様々なアプリケーションインターフェース(API)を含む場合がある。さらに、データ処理インフラストラクチャは、ユーザがイベントストリームにデータを提供するために使用される新しいデータソースを登録および定義できるようにするデータソースおよびセキュリティサービスのセット、ならびにシステムおよび着信データを保護するために使用されるセキュリティ手順を含む場合がある。同様に、データ処理インフラストラクチャは、分散グラフデータベースで分散グラフを作成する際に使用するプロセス内の様々なデバイス、論理、および他の要素の動作および相互接続を定義するグラフまたは他の形式でプロセス情報を定義するプロセスグラフコンテキストデータをユーザが提供できるようにするプロセスグラフビルダーサービスを含む場合がある。データ処理インフラストラクチャはまた、データまたはイベントストリームに対して1つ以上のサービスを実行して、ユーザがユーザ相互作用を必要とするイベントストリーム内のイベントを管理できるようにするタスクエンジンを含む場合がある。
【0011】
本明細書に記載のデータ収集および処理システムは、動きのあるデータを監視するためと、データが収集されてから何ヶ月も後にデータに対して広範なクエリを実行するための両方に使用することができる。このシステムは、既存のバッチおよび連続プロセス制御システムを、デバイス情報および資産監視データとともに効果的かつ効率的に統合する。さらに、本明細書に記載のシステムは、分析の実行、イベントの監視、リアルタイムダッシュボードの実行、およびデータが完全なコンテキストで利用可能なリアルタイムの意思決定支援のサポートのためのプラットフォームを提供する。これにより、このイベントおよびデータ記憶システムは、データおよびデータの完全なコンテキストの両方を使用した、産業運用のリアルタイム監視を可能にする。このシステムはまた、(新しいタイプのデータに簡単に適応できるという点で)安全で堅牢かつ(プラント内の他の情報との文脈でデータを認識して記憶するように)包括的である、プラントからのデータを受信、記憶、および処理するためのプラットフォームを提供し、同時にまた、個別にまたは別々に様々なデータソースからデータを取得する複数の異なるデータマイニングアプリケーションに関連する全体的な通信の問題を軽減する。
【図面の簡単な説明】
【0012】
図1】産業プロセスプラントの例示的なエッジゲートウェイシステムのブロック図である。
図2】例示的な産業プロセスプラントのブロック図であり、特に、プロセスプラントまたはプロセス制御システムの様々な例示的なコンポーネント間の相互接続、プロセス制御システム自体、および、プロセスプラントと同様のセキュリティレベルの、他の例示的な関連するシステムおよび/もしくはネットワークを示す。
図3】プロセスプラントまたはプロセス制御システム用のエッジゲートウェイシステムの例示的なフィールド向きコンポーネントのブロック図である。
図4A】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
図4B】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
図4C】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのフィールド向きコンポーネントによって生成された、例示的な公開可能なデータ型のシステムの例示的なデータ型を示す。
図5A】プロセスプラントまたはプロセス制御システムのためのエッジゲートウェイシステムのエッジ向きコンポーネントの第1の部分のブロック図である。
図5B図5Aのエッジ向きコンポーネントの第2の部分のブロック図である。
図6】プラント環境内で包括的なデータ分析、データ視覚化、およびデータマイニングを実行およびサポートするために使用できるデータ収集および処理システムのブロック図である。
【発明を実施するための形態】
【0013】
一般的に言って、プロセスプラントは、関与するプラントの特定の部分に応じて、様々な異なるレベルのセキュリティを組み込むように設定されている。特に、サイバー侵入および悪意のあるサイバー攻撃からプロセスプラントおよびプロセス制御システムを保護するには、通常、少なくとも一部の層またはレベルが、ファイアウォールおよび他のセキュリティ機構を使用して保護される、階層化またはレベル化されたセキュリティヒエラルキーを利用する。国際計測制御学会(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を上回る)企業またはビジネスの外部にあるネットワークおよびシステム上でも、プロセスプラントシステム、ネットワーク、およびデバイスが危険にさらされるのを防ぐためのより強力な技法が必要である。
【0014】
本明細書に記載のデータ収集および処理システム、コンポーネント、装置、方法、ならびに技術は、プロセスプラントおよびそれらのネットワークに関連するこれらおよび他のセキュリティ問題を念頭に置いて開発され、特に、プロセスプラント関連データのコンシューマである1つ以上の外部システムに、効率的で、非常に安全で、包括的で簡単に使用される方法でプロセスプラント関連データの安全な配信を可能にするように構成されている。ただし、データ収集および処理システムをより詳細に説明する前に、図1図3を使用して、図5および図6でより詳細に説明されるように、1つ以上のプラントシステムから非常に安全で効率的な方法でデータを収集し、そのデータをデータ収集および処理システムに提供することができるプラント向きシステムの1つの実装形態について説明する。
【0015】
基本的なプラントデータ収集を示すために、図1は、プロセスプラント5から、(例えば、セキュリティレベル3~5などのITレベルのセキュリティにおける)企業アプリケーションおよび/もしくはシステムならびに/またはサードパーティのアプリケーションおよび/もしくはシステムを含み得る1つ以上の外部のデータ消費アプリケーションおよび/もしくはシステムに、プロセスプラント関連データ(例えば、フィールドデータ)を安全に配信する、例示的なエッジゲートウェイシステム1のブロック図である。エッジゲートウェイシステム1は、データダイオード15を介してエッジ向きコンポーネント12(包括的なデータ収集および処理システムを実装し得る)に通信可能に接続されたフィールド向きコンポーネント10(プラント環境からデータを収集する)を含む。フィールド向きコンポーネント10は、1つ以上のプロセッサ18と、少なくとも1組のデータおよび少なくとも1組のコンピュータ実行可能命令を記憶する1つ以上の非一時的メモリまたはデータ記憶デバイス20とを含み、少なくとも一組のコンピュータ実行可能命令は、1つ以上のプロセッサ18によって実行可能である。例えば、図1に示すように、フィールド向きコンポーネント10の1つ以上のメモリ20は、1つ以上のインタレストリスト22、公開可能なデータ型のシステム24A、および任意選択で他のデータセット(図示せず)などのそれぞれのデータセットを記憶する。フィールド向きコンポーネント10の1つ以上のメモリ20は、データタイパ25のためのコンピュータ実行可能命令をさらに記憶し、また、コンピュータ実行可能命令の他のセット(図示せず)も記憶してもよい。フィールド向きコンポーネント10は、例えば、プロセスプラント5が産業プロセスを制御する動作中に、任意の数の有線および/もしくは無線通信ネットワーク、データネットワーク、および/もしくは様々なデバイスを通信可能に接続するリンク、および/他の、プロセスプラント5に関連付けられるとともにデータを生成する他のデータソース30を含み得る1つ以上のプロセスプラント通信ネットワーク、データネットワーク、および/もしくはリンク28に通信可能に接続される。エッジゲートウェイシステム1のフィールド向きコンポーネント10およびそのサブコンポーネントの実施形態のより詳細な説明は、本開示内の他の箇所で提供される。
【0016】
エッジゲートウェイシステム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およびそのサブコンポーネントの実施形態のより詳細な説明は、本開示内の他の箇所で提供される。
【0017】
図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の物理ポートは、遮断、無効化、および/もしくは省略してもよい。
【0018】
さらなるセキュリティのために、データダイオード15を通ってフィールド向きコンポーネント10からエッジ向きコンポーネント10に転送されるデータは、フィールド向きコンポーネント10によって暗号化してもよく、エッジ向きコンポーネント12によって復号化してもよい。さらに、効率のために、データダイオード15は、毎秒100K以上のパラメータのレートなどのような、高スループットのデータストリーミングをサポートするように構成される。実際に、いくつかの実施形態では、データダイオード15は、1ギガビット毎秒以上の速度で動作してもよい。例えば、データダイオード15は、高スループットのデータストリーミング機能をサポートするために、光ファイバリンクまたはケーブル、あるいは例えばイーサネットリンク、無線データダイオード、ソフトウェア定義のデータダイオードなどのような他の好適なタイプの高帯域幅ハードウェアおよび/もしくはソフトウェア伝送媒体を使用して実装されてもよい。そのような高帯域幅のハードウェアおよび/もしくはソフトウェアの伝送媒体は、フィールド向きコンポーネント10に関して、単方向の送信機能付きで受信機能なしでも実装することができ、それによって、フィールド向きコンポーネント10からエッジ向きコンポーネント12への一方向のみの、単方向データ伝送をさらに強化してもよい。さらに、データダイオード15は、システムの成長に対応するように容易にスケーラブルである。例えば、システムの成長、ならびにそれに対応する、フィールド向きコンポーネント10からエッジ向きコンポーネント12に転送されるデータの量および速度の増加をサポートするために、多数のコアおよび/もしくは多数のスレッドを追加および/もしくは利用してもよい。
【0019】
一般的に言って、エッジゲートウェイシステム1は、より低い数字のセキュリティレベルのプロセスプラント5および関連システムを、より高い数字のセキュリティレベルの1つ以上のデータ消費システム8と安全に接続および/もしくはブリッジする。例えば、パデューモデル(または他の同様のセキュリティヒエラルキー)を参照すると、エッジゲートウェイシステム1がプロセスプラント関連データを取得する際に経由するデータソース30およびネットワーク/リンク28は、より低い数字のセキュリティレベル(例えば、セキュリティレベル0からセキュリティレベル2)にあってもよく、例えば、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、仮想ローカルエリアネットワーク(VLAN)、仮想拡張可能ローカルエリアネットワーク(VXLAN)などの仮想ネットワーク、および他のシステム、ネットワーク、アプリケーション、および/もしくはプロセスプラント5に関連付けられたデバイスを含んでもよい。したがって、本明細書での考察を容易にするために、また、限定目的ではなく、「プロセスプラント5」という用語は、物理的プロセスプラント、ならびに、より低い数字のセキュリティレベルのデータを生成および/もしくは通信する物理的プロセスプラントに関連付けられ、それと通信接続する他のシステムを集合的に指すために使用する。
【0020】
図1のエッジゲートウェイシステム1では、プロセスプラント5によって生成されたプロセスプラント関連データ(例えば、フィールドデータ)を取得して最初に処理するフィールド向きコンポーネント10は、セキュリティレベル2からセキュリティレベル3にあってもよく、データダイオード15およびエッジ向きコンポーネント12は、セキュリティレベル3にあってもよい。1つ以上の外部のデータ消費システム8は、セキュリティレベル4以上にあってもよく、任意の数のパブリックおよび/もしくはプライベートシステム、およびその上で実行される、企業アプリケーションおよび/もしくはシステム、サードパーティのアプリケーションおよび/もしくはシステム、公的に入手可能なアプリケーションおよび/もしくはシステム、ウェブサイトなどのような、様々なアプリケーションを含んでもよい。このように、エッジゲートウェイシステム1は、プロセスプラントおよびその関連システム、ネットワーク、および/もしくはより低い数字のセキュリティレベルのアプリケーション5によって生成されたフィールドデータを、システム、ネットワーク、および/もしくはより高い数字のセキュリティレベルのアプリケーション8に安全に配信する。
【0021】
特に、図1に示すように、エッジゲートウェイシステム1のフィールド向きコンポーネント10は、フィールド向きコンポーネント10に記憶された1つ以上のインタレストリスト22に従ってデータソース30からフィールドデータを取得または収集する。インタレストリスト22は、産業プロセスを制御するように動作するプラント5に関連してプロセスプラント5によって生成される特定のプロセスプラント関連またはフィールドデータを示し、フィールドデータの示されたプロセスプラント関連は、外部システム、ネットワーク、および/もしくはアプリケーション8に公開することができる(例えば、公開可能である)。このように、エッジゲートウェイシステム1に含まれるインタレストリスト22は、保護されたフィールドデータがプロセスプラント5から外部のデータ消費システム8に誤って解放されないように、初期レベルフィールド向きセキュリティを提供する。インタレストリスト22は、特定のランタイムデータ、イベントデータ、履歴データ、構成データ、および/もしくはデバイス、コンポーネントおよび/もしくはより低い数字のセキュリティレベル(例えば、セキュリティレベル0~2)のプロセスプラント5のおよび/もしくはそれに関連するシステムによって生成される他のタイプのプロセスプラント関連データなど、特定のフィールドインタレストデータおよび/もしくはそれらの組み合わせを示してもよい。インタレストリスト22は、本開示内の他の箇所でより詳細に説明されるインタレストマネージャ(図1には示されていない)を介して構成および/もしくは定義してもよい。
【0022】
さらに、フィールド向きコンポーネント10において、データタイパ25は、公開可能なデータ型のシステム24Aに従って、取得されたインタレストリストデータコンテンツをそれぞれタイプする。一般的に言って、公開可能なデータ型のシステム24Aは、外部のデータ消費システム8に公開されるか、あるいは、利用可能になるデータ型(データ定義、名称、値、フィールド、構造、クラス、オブジェクトなどを含む)のシステムを定義または構成する。さらに、公開可能なデータシステム24Aは、プロセスプラント関連データコンテンツを利用することができるように、名称、マッピング、変換、グループ化、値の割り当て、および/もしくはプロセスプラント関連またはフィールドデータ型の他の配置を、公開可能なデータ型に定義するので、プロセスプラント関連データコンテンツは、外部のデータ消費システム8によって利用してもよく、かつ、理解されてもよい。本明細書で交換可能に利用される「プロセスプラント関連データ型」または「フィールドデータ型」という用語は、一般に、より低い数字のセキュリティレベルのプロセスプラント5とその関連システムのアプリケーション、デバイス、コンポーネント、システム、および/もしくはネットワークで使用するために定義および/もしくは構成されているデータ型(例えば、データ定義、名称、値、フィールド、構造、クラス、オブジェクトなど)を指す。一実施形態では、公開可能なデータ型のシステム24Aは、インタレストマネージャを介して(例えば、本開示内の他の場所で説明されるような様式で)定義または構成してもよい。いずれにせよ、公開可能なデータシステム24Aにより、外部システム8がプラント5のいかなる内部データ定義および/もしくは構成も認識する必要なく、また、プロセスプラント5を照会するおよび/もしくはそれと通信を開始する、および/もしくはそれに回答を送る必要なく、プロセスプラント5および関連する低セキュリティレベルシステムによって生成されるプロセスプラント関連/フィールドデータを外部システム8が解釈することを可能にする。このように、エッジゲートウェイシステム1の公開可能なデータ型のシステム24Aおよびデータタイパ25は、外部システム8からの起こり得るセキュリティ侵害からプロセスプラント5をさらに保護する。公開可能なデータ型のシステム24Aおよびデータタイパ25は、本開示の他の箇所でより詳細に説明される。
【0023】
少なくとも、公開可能なデータ型のシステム24Aおよびデータタイパ25の使用により、データダイオード15は、真に単方向データダイオードであってもよい。現在知られているデータダイオードは、コンテンツデータの単方向フローを提供するが、このように肯定応答および/もしくはエラー状態をデータ受信端からデータ送信端に通信可能とすることにより、シグナリング、制御、および/もしくは管理資料の双方向フローも可能とする。しかしながら、エッジゲートウェイシステム1のデータダイオード15は、そのデータ受信端からそのデータ送信端まで、いかなるタイプのデータフローも存在しないということから、真に単方向であってもよい。実際に、実施形態では、データダイオード15は、例えば、データダイオード15が光伝送媒体を介して実装される実施形態でそうであるように、いかなるタイプのデータ(例えば、シグナリング、制御、管理、コンテンツなど)がエッジ向きコンポーネント12からフィールド向きコンポーネント10に配信されるのを防ぐように、物理的に構成される。このように、少なくともデータダイオード15の真に単方向の性質により、エッジゲートウェイシステム1のデータダイオード15は、外部システム8からの起こり得るセキュリティ侵害からプロセスプラント5をさらに保護する。
【0024】
エッジゲートウェイシステム1のエッジ向きコンポーネント12において、データダイオード15を介してフィールド向きコンポーネント10から受信される、タイプ分けされたフィールドコンテンツデータは、データレイク40に記憶される。コンテキスト知識マイナ45は、データレイク40をマイニングして、データレイク40に記憶された様々なフィールドコンテンツデータ間の関係および関連を発見し、コンテキスト知識リポジトリ48を生成/修正/更新して、コンテキスト知識リポジトリ48が受信したフィールドコンテンツデータ、ならびに発見された関係および/もしくは関連付け(例えば、受信されたフィールドコンテンツデータのコンテキスト)の両方の指示を含むようにする。このように、コンテキスト知識リポジトリ48は、プロセスプラント関連またはフィールドコンテンツデータ(例えば、ランタイムデータ、イベントデータ、履歴データ、および/もしくはプロセスプラント5によって提供される他のタイプのデータ、ならびに、提供されたプロセスプラント関連/フィールドコンテンツデータの間の関係を示すコンテキスト情報、プロセスプラント5内のプロセスプラント関連/フィールドコンテンツデータの生成、配信、および/もしくは受信に対応する条件、および/もしくは他のタイプのプロセスプラント関連/フィールドコンテンツデータのコンテキストの両方を記憶する。コンテキスト知識リポジトリ48に記憶される知識(例えば、コンテンツデータおよび関連するコンテキスト情報、および任意選択で他のデータ)は、1つ以上の外部のデータ消費システム8に公開可能である(例えば、利用可能にされる)。
【0025】
実際、エッジ向きコンポーネント12は、外部のデータ消費システム8が、コンテキスト知識リポジトリ48に記憶された知識の少なくとも一部にアクセスし得る1つ以上のアクセスメカニズム48を提供する。各アクセスメカニズムには、外部システム8からのセキュリティ侵害の可能性に対抗する、さらに別の保護レベルをそれぞれ含んでもよい。例えば、アクセスメカニズム48は、外部システムが、コンテキスト知識リポジトリ48および/もしくはプロセスプラント5へ不正アクセスを防止するのに役立つように、アプリケーションプログラミングインターフェース(API)、コンテナなどを使用して実装してもよい。実施形態では、アクセスメカニズム48の少なくとも1つは、サーバまたはプライベートアプリケーション(例えば、サーバ固有またはアプリケーション固有のAPIなど)は、サーバまたはプライベートアプリケーションに対する固有のアクセスメカニズムが、それらの使用のために外部システム8に公開される、サーチエンジンなどのようなエッジ向きコンポーネント12において実行するそれぞれのサーバまたは保護されたプリケーションを含んでもよい。エッジゲートウェイシステム1のエッジ向きコンポーネント12およびそのサブコンポーネントは、本開示の他の箇所でより詳細に考察する。
【0026】
一般的に言って、エッジゲートウェイシステム1の機能、コンポーネント、およびアーキテクチャは、外部の、データ消費システム8から、非常に安全な様式で、また、プロセスプラント5のパフォーマンスに影響を与えずに、プロセスプラント関連データへのほぼ無制限のアクセスを提供する。さらに、エッジゲートウェイシステム1は、プロセスプラント関連データを状況に応じて外部システム8に提供すると、例えば、プロセスプラント5の構成のコンテキスト内でプロセスプラント関連のコンテンツデータを提供すると、外部システム8は、より迅速かつ簡単にプロセスプラント関連データを見つけて使用してもよい。さらに、エッジゲートウェイシステム1は、モバイル接続アプリケーション、高度な分析アプリケーション、オープンシステムテクノロジーアプリケーション(例えば、Node.JS、Docker、Linux(登録商標)など)、カスタムアプリケーション、IoTアプリケーション、IIoTアプリケーション、ビジネスおよび/もしくは企業アプリケーションや企業アプリケーション(例えば、Excel、Power BIなど)、および/もしくは他のタイプのアプリケーションなど、プロセスプラント5に対応するコンテキスト知識で安全かつ容易に操作するように、様々な異なるタイプのデータ消費アプリケーションを可能にする。さらに、エッジゲートウェイシステム1は、多数のプロセスプラントからのプロセスプラント関連データを集約して、そこから関連する集約された知識を発見するとともに、より高い数字のセキュリティレベルの(天気予報システム、サプライチェーンシステム、金融システム、在庫管理システムなど)で外部システムからのデータを集約して、そこから関連する集約された知識を発見するように、容易に適応可能である。
【0027】
図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構成は、企業全体の多数のプロセスプラントサイト、多数のプロセス制御システム、および/もしくは他の分散型構成にサービスを提供するのに等しく役立ち得る。
【0028】
プロセスプラントと関連データソース
図2は、オンラインまたはランタイム動作中に産業プロセスを制御するように構成され、そこからプロセスプラント関連がエッジゲートウェイシステム1の実施形態を介して安全に配信され得る例示的なプロセスプラント100のブロック図である。例えば、図1のプロセスプラント5は、図2のプロセスプラント100の少なくとも一部分を含んでもよい。図2に示されるように、プロセスプラント100は、例えば、図1のエッジゲートウェイシステム1の実施形態であり得るエッジゲートウェイシステム102に通信可能に接続される。
【0029】
プロセスプラント100(本明細書においては、同義でプロセス制御システム100またはプロセス制御環境100とも称される)は、フィールドデバイスによって行われたプロセスおよび/もしくは他のタイプの測定値を示す信号を受信し、この情報を処理して制御ルーチンを実装し、有線または無線プロセス制御通信リンクまたはネットワークによって他のフィールドデバイスに送信される制御信号を生成して、プラント100内の産業プロセスの動作を制御する1つ以上のプロセスコントローラを含む。典型的には、少なくとも1つのフィールドデバイスが物理的機能(例えば、バルブの開閉、温度の上昇または下降、測定、状況の検知など)を実行してプロセスの動作を制御する。フィールドデバイスのうちのいくつかのタイプは、I/Oデバイスおよび/もしくはI/O電子マーシャリングデバイス、ハブ、サービス、またはシステムを使用してコントローラと通信する。プロセスコントローラ、フィールドデバイスおよびI/Oデバイスは、有線または無線であってもよく、任意の数および組み合わせの有線および無線プロセスコントローラ、フィールドデバイスおよびI/Oデバイスが、プロセスプラント環境またはシステム100内に含まれてもよい。
【0030】
例えば、図2は、プロセスコントローラ111を示し、このプロセスコントローラは、入力/出力(I/O)カード126および128を介して、有線フィールドデバイス115~122と通信可能に接続され、無線ゲートウェイ135およびプロセス制御データハイウェイまたはバックボーン110を介して、無線フィールドデバイス140~146と通信可能に接続される。プロセス制御データハイウェイ110は、1つ以上の有線および/もしくは無線通信リンクを含んでもよく、例えば、イーサネットプロトコル、IPまたは他のパケットプロトコルなどのような、任意の所望の、または好適な、または通信プロトコルを使用して実装されてもよい。いくつかの構成(図示せず)では、コントローラ111は、1つ以上の通信プロトコル、データプロトコル、および/もしくは産業自動化プロトコル、例えば、Wi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTE、または他のITU-R互換プロトコル)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、HART-IP、他のパケットプロトコル、ストリーミングプロトコル、Profibus、FOUNDATION(登録商標)Fieldbusなどをサポートする任意の数の他の有線または無線通信リンクを使用することによってなど、バックボーン110以外、またはそれに加えて1つ以上の通信ネットワークを使用して、無線ゲートウェイ135に通信可能に接続されてもよい。
【0031】
コントローラ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は、任意の他の所望の規格またはプロトコル、例えば今後開発される任意の規格またはプロトコルを含む任意の有線または無線プロトコルに適合することができる。
【0032】
図2のプロセスコントローラ111は、1つ以上のプロセス制御ルーチン138(例えば、メモリ132内に記憶されている)を実装または監督するプロセッサ130を含む。この目的のために、プロセッサ130は、フィールドデバイス115~122および140~146と、そしてコントローラ111と通信可能に接続された他のノードと通信するように構成される。本明細書に記載される任意の制御ルーチンまたはモジュールは、そのように所望される場合は、その一部を異なるコントローラまたは他のデバイスによって実装または実行させてもよいことに留意されたい。同様に、プロセス制御システム100内で実装される本明細書に記載の制御ルーチンまたはモジュール138は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を取ってもよい。制御ルーチンは、オブジェクト指向プログラミング、ラダー論理、シーケンシャルファンクションチャート、ファンクションロックダイアグラム、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用したものなどの任意の所望のソフトウェアフォーマットにおいて実装されてもよい。制御ルーチン138は、ランダムアクセスメモリ(RAM)または読み取り専用メモリ(ROM)などの任意の所望のタイプのメモリ132に記憶され得る。同様に、制御ルーチン138は、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアまたはファームウェア要素にハードコードされ得る。したがって、コントローラ111は、任意の所望の様式で制御ストラテジまたは制御ルーチンを実装するように構成することができる。
【0033】
コントローラ111は、一般に機能ブロックと称されるものを使用して制御ストラテジを実装し、各機能ブロックは、全体の制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)であり、(リンクと呼ばれる通信を介して)他の機能ブロックとともに動作して、プロセス制御システム100内にプロセス制御ループを実装する。制御ベースの機能ブロックは、典型的には、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスに関連付けられている入力機能、PID、ファジー論理などの制御を行う制御ルーチンに関連付けられている制御機能、またはバルブなどのいくつかのデバイスの動作を、プロセス制御システム100内のいくつかの物理的機能を実施するように制御する出力機能のうちの1つを実施する。当然のことながら、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックはコントローラ111内に記憶され、それによって実行されてもよく、これは典型的には、これらの機能ブロックが標準4~20mAデバイスおよびHART(登録商標)デバイスなどのいくつかのタイプのスマートフィールドデバイス用に使用されるかもしくはそれと関連するときに成り立ち、または機能ブロックは、フィールドデバイスそのものの内部に記憶され、それによって実装されてもよく、これはFOUNDATION(登録商標)Fieldbusデバイスの場合に成り立ち得る。コントローラ111は、機能ブロックのうちの1つ以上を実行することによって行われる1つ以上の制御ループを実施し得る1つ以上の制御ルーチン138を含み得る。
【0034】
有線フィールドデバイス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と通信し得る。
【0035】
図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つ以上の他の通信ネットワークを使用することによって、通信可能な結合を提供する。
【0036】
有線フィールドデバイス115~122と同様に、無線ネットワーク170の無線フィールドデバイス140~146は、プロセスプラント100内の物理的制御機能、例えば、バルブの開閉、プロセスパラメータの測定値の取得などを行う。しかしながら、無線フィールドデバイス140~146は、ネットワーク170の無線プロトコルを使用して通信するように構成されている。このように、無線フィールドデバイス140~146、無線ゲートウェイ135、および無線ネットワーク170の他の無線ノード152~158は、無線通信パケットの生産者でありコンシューマである。
【0037】
プロセスプラント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と通信する。
【0038】
図2では、プロセス制御システム100は、データハイウェイ110に通信可能に接続された1つ以上のオペレータワークステーション171を含む。オペレータワークステーション171を介して、オペレータは、プロセスプラント100のランタイム動作を閲覧および監視することができ、そのほか、必要であり得る任意の診断、是正、保守、および/または他の処置を取り得る。オペレータワークステーション171のうちの少なくともいくつかは、例えば、プラント100のバックエンド環境など、プラント100の内部または近くの、様々な保護されたエリアに位置してもよく、場合によっては、オペレータワークステーション171のうちの少なくともいくつかは、遠隔地に位置してもよい、しかし、それにも関わらずプラント100と通信接続する。オペレータワークステーション171は、有線または無線コンピューティングデバイスであってもよい。
【0039】
例示的なプロセス制御システム100は、構成アプリケーション172Aおよび構成データベース172Bを含むものとしてさらに示され、それらの各々は、データハイウェイ110にも通信可能に接続される。上で考察されたように、構成アプリケーション172Aの様々なインスタンスは、ユーザによるプロセス制御モジュールおよび/もしくは他のタイプのモジュールの作成または変更、およびデータハイウェイ110を介した、コントローラ111および/もしくはプロセス制御システム100の他のデバイスへのダウンロードを可能にするとともに、ユーザによる、オペレータがプロセス制御ルーチン内でデータを閲覧し、データ設定を変更する際に経由するオペレータインターフェースの作成または変更を可能にするために、1つ以上のコンピューティングデバイス(図示せず)を実行してもよい。構成データベース172Bは、作成された(例えば、構成された)モジュールおよび/またはオペレータインターフェースを記憶する。概して、構成アプリケーション172Aおよび構成データベース172Bは、構成アプリケーション172Aのうちの多数のインスタンスが、プロセス制御システム100内で同時に実行され得るにも関わらず、集中化され、プロセス制御システム100に対して単一の論理的外観を有してもよく、構成データベース172Bは、多数の物理的データ記憶デバイスにまたがって実装され得る。したがって、構成アプリケーション172A、構成データベース172B、およびそれに対するユーザインターフェース(図示せず)は、制御および/または表示モジュール用の構成または開発システム172を含む。典型的には、構成システム172用のユーザインターフェースは、プラント100がリアルタイムで動作しているかどうかに関わらず、構成エンジニアおよび開発エンジニアによって利用されるので、構成システム172用のユーザインターフェースは、オペレータワークステーション171とは異なるが、必ずしもそうである必要はないのに対して、オペレータワークステーション171は、プロセスプラント100のリアルタイム動作(ここでは互換的にプロセスプラント100の「ランタイム」動作とも呼ばれる)中にオペレータによって利用される。
【0040】
また、例示のプロセス制御システム100は、データヒストリアンアプリケーション173Aおよびデータヒストリアンデータベース173Bを含み、それらの各々がまた、データハイウェイ110に通信可能に接続される。データヒストリアンアプリケーション173Aは、データハイウェイ110をわたって提供されたデータのいくつかまたはすべてを収集し、長期にわたる記憶のために、データを履歴化するか、またはヒストリアンデータベース173B内に記憶するように動作する。構成アプリケーション172Aおよび構成データベース172Bと同様に、データヒストリアンアプリケーション173Aおよびヒストリアンデータベース173Bは、データヒストリアンアプリケーション173Aのうちの多数のインスタンスが、プロセス制御システム100内で同時に実行され得るにも関わらず、集中化され、プロセス制御システム100に対して単一の論理的外観を有してもよく、データヒストリアン173Bは、多数の物理的データ記憶デバイスにまたがって実装されてもよい。
【0041】
いくつかの構成では、プロセス制御システム100は、他の無線プロトコル、例えばWi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル、例えばWiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)または他のITU-R(国際電気通信連合無線通信部門(International Telecommunication Union Radiocommunication Sector))互換性プロトコル、短波無線通信、例えば近距離無線通信(NFC)およびBluetooth、または他の無線通信プロトコルを用いて、他のデバイスと通信する1つ以上の他の無線アクセスポイント174を含む。典型的には、そのような無線アクセスポイント174は、無線ネットワーク170とは異なり、かつ無線ネットワーク170とは異なる無線プロトコルをサポートする、それぞれの無線プロセス制御通信ネットワークを経由して、ハンドヘルドまたは他の携帯用コンピューティングデバイス(例えば、ユーザインターフェースデバイス175)による通信を可能にする。例えば、無線またはポータブルユーザインターフェースデバイス175は、プロセスプラント100内のオペレータ(例えば、オペレータワークステーション171のうちの1つのインスタンス)によって利用される、モバイルワークステーションまたは診断試験機器であってもよい。いくつかのシナリオでは、携帯用コンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ111、フィールドデバイス115~122、または無線デバイス135、140~158)もまた、アクセスポイント174によってサポートされる無線プロトコルを使用して通信する。
【0042】
いくつかの構成では、プロセス制御システム100は、近接のプロセス制御システム100の外側にあるシステムへの1つ以上のゲートウェイ176、178を含む。典型的には、そのようなシステムは、プロセス制御システム100によって生成または操作される情報の顧客または供給者である。例えば、プロセス制御プラント100は、即時プロセスプラント100を別のプロセスプラントと通信可能に接続するためのゲートウェイノード176を含むことができる。追加的または代替的に、プロセス制御プラント100は、即時プロセスプラント100を、実験室システム(例えば、実験室情報管理システムまたはLIMS)、オペレータラウンド在庫管理システム、製品在庫管理システム、生産スケジューリングシステム、気象データシステム、出荷および処理システム、パッケージングシステム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムなどの外部の公私のシステムと通信可能に接続するためのゲートウェイノード178を含むことができる。
【0043】
図2は、プロセスプラント100の例に含まれる有限数のフィールドデバイス115~122および140~146、無線ゲートウェイ35、無線アダプタ152、アクセスポイント155、ルータ1158、および無線プロセス制御通信ネットワーク170を有する単一のコントローラ111のみを図示しているが、この例は、単なる例示であり、非限定的な実施形態であることに留意されたい。任意の数のコントローラ111がプロセス制御プラントまたはシステム100内に含まれてもよく、コントローラ111のうちのいずれが、任意の数の有線または無線デバイスおよびネットワーク115~122、140~146、135、152、155、158、および170と通信して、プラント100内でのプロセスを制御してもよい。
【0044】
図2に示されるように、かつ説明を明確にするためにおよび限定目的ではなく図1を同時に参照すると、プロセスプラント100は、図1のエッジゲートウェイシステム1の実施形態であり得るエッジゲートウェイシステム102に通信可能に接続される。例えば、プロセスプラント100は、1つ以上のプロセスプラント通信ネットワーク、データネットワーク、および/もしくはリンクを介して、直接および/もしくはプロセスプラント100のそれぞれのゲートウェイを介して、エッジゲートウェイシステム1のフィールド向きコンポーネント10に通信可能に接続されてもよい。例えば、エッジゲートウェイシステム1のフィールド向きコンポーネント10は、ネットワーク110、170を介して、ゲートウェイ135、176、178を介して、および/もしくは他のネットワーク、リンク、および/もしくはフィールド向きコンポーネント10は、プロセスプラント100に関連付けられた様々なデータソース30によって生成されたデータを受信または取得する際に経由するプロセスプラントに関連付けられたゲートウェイを介してプロセスプラント100に通信可能に接続されてもよい。
【0045】
一般的に言って、エッジゲートウェイシステム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であってもよい。
【0046】
フィールド向きコンポーネント
図3は、エッジゲートウェイシステム1またはエッジゲートウェイシステム102などのエッジゲートウェイシステムに含めることができるフィールド向きコンポーネント300のブロック図である。例えば、フィールド向きコンポーネント300は、図1に示されるフィールド向きコンポーネント10であってもよく、および/もしくは図2のプロセスプラント100と通信接続されてもよい。説明を簡単にするために、そして限定目的ではなく、図3は、図1および2を同時に参照して説明されるが、フィールド向きコンポーネント300は、エッジゲートウェイシステム以外のエッジゲートウェイシステム1または102に含まれてもよく、プロセスプラント5またはプロセスプラント100以外のプロセスプラントと通信接続してもよいことが理解される。
【0047】
図3に示されるように、フィールド向きコンポーネント300のフィールドデータレシーバ302は、プロセスプラント5または102などのプロセスプラントとの、また、任意選択で、ランタイム操作でプロセスプラントをサポートするおよび/もしくはそれに関連付けられている他のシステム、デバイス、および/もしくはアプリケーション、例えば、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLANおよび/もしくはVXLANなどの仮想ネットワーク、プロセスプラントに関連する他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスなどと通信接続されてもよい。一般的に言って、フィールド向きコンポーネント300が通信可能に接続されるプロセスプラントおよびそのサポートシステムは、セキュリティレベル0~2のパデューモデル(または類似のセキュリティヒエラルキー)で動作する。本明細書での考察を容易にするために、限定目的ではなく、「プロセスプラント5」という用語は、フィールド向きコンポーネント300が通信可能に物理的プロセスプラント、ならびにより低い数字のセキュリティレベルでデータを生成および/もしくは通信する物理的プロセスプラントと関連付けられ、通信接続される他のシステムを集合的に指すために使用される。
【0048】
フィールドデータレシーバ302は、本明細書ではまとめて「プロセスプラントネットワーク305」と呼ばれる、プロセスプラント5の1つ以上のリンク、通信ネットワーク、および/もしくはデータネットワーク305を介してプロセスプラント5に通信可能に接続される。プロセスプラントネットワーク305は、1つ以上の通信プロトコル、データプロトコル、および/もしくは産業オートメーションプロトコル、例えばイーサネット、IPまたは他のタイプのパケットプロトコル、Wi-Fiまたは他のIEEE802.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の構成に対応する別のタイプのネットワークを含んでもよい。
【0049】
フィールドデータレシーバ302は、プロセスプラント5から、プロセスプラントネットワーク305を介してプロセスプラント5の1つ以上のフィールド構成を取得する。例えば、プロセスプラント5にEmerson Automation Solutionsによって提供されるDeltaVプロセス制御システムが含まれる場合、フィールドデータレシーバ302は、プロセス制御システムとそのコンポーネント(例えば、物理的、論理的、およびデータコンポーネント)が、例えば、構成アプリケーション172Aを介して定義される、1つ以上のFHXファイルを取得する。インタレストマネージャ308は、プロセスプラント5の取得されたフィールド構成に基づいて、公開可能なデータ型の集合体またはシステム310を定義、作成、生成、および更新する。本開示内の他の箇所でより詳細に説明されるように、フィールド向きコンポーネント300は、公開可能なデータ型のシステムまたは集合体310を、それぞれのエッジ向きコンポーネント(例えば、エッジ向きコンポーネント12)に転送する。例示的な実施形態では、公開可能なデータ型のシステムまたは集合体310は、図1の公開可能なデータ型のシステム24Aである。
【0050】
一般的に言って、公開可能なデータ型のシステム310を定義、作成、生成、および更新するために、インタレストマネージャ308は、取得したフィールドデータ構成から情報を抽出し、その取得した情報は、外部の、データ消費システム8に公開することが可能になる(例えば、公開可能である)。取得されたフィールド構成に含まれる特定の情報が外部システム8に公開することを可能にするかどうかは、事前に定義することができる。例えば、先験的に、エッジゲートウェイシステム、フィールド向きコンポーネント300によって、および/もしくは1つ以上のインタレストリスト315を介したユーザによって、予め定義してもよく、さらに/もしくは、例えば、エッジゲートウェイシステム、フィールド向きコンポーネント300、および/もしくはユーザによって、抽出プロセス中にインラインで示されてもよい。いずれにせよ、インタレストマネージャ308は、例えば、一般的に理解される標準構文やオープンソース構文などの構文を使用して、抽出した情報に名称を付け、マッピングし、変換し、グループ分けし、値を割り振り、および/もしくは、そうでない場合には、アレンジして、対応するデータ型および、公開可能なデータ型のシステム310の構成にする。したがって、公開可能なデータ型のシステム310は、外部のデータ消費システム8で自然に理解される構文を使用して、フィールドコンテンツデータ(例えば、プロセスプラント関連データ型、パラメータ型、ブロック型、モジュール型、イベント型、履歴データ型、機器および機器コンポーネント型、表示および表示コンポーネント型、およびプロセスプラントによって生成される他のプロセスプラント関連データを含んでもよい)に含まれる公開可能プロセスプラント関連データの他のタイプの共通の理解を提供する。
【0051】
例えば、公開可能なデータ型のシステム310は、フロート、ステータス付きフロート、符号付き整数、符号なし整数などの基本データ型、および外部のデータ消費システム8によって自然に理解される他の基本データ型を含んでもよい。さらに、公開可能なデータ型のシステム310は、図4A~4Cに示される基本データ型に基づいて、少なくとも部分的に定義および構造化される、より複雑なデータ構成型定義を含んでもよい。公開可能なデータ型のシステム310のいくつかのデータ型は、タイプENUMの4つのフィールドを含むように定義された例示的なモードタイプ312aによって図4Aに示されるような、多数のフィールドを含んでもよい。実際、公開可能なデータ型のシステム310は、ユーザ定義またはシステム定義であり得る多数の列挙に基づくタイプを含んでもよい。例えば、図4Cに示されるように、公開可能なデータ型のシステム310に含まれる例示的な列挙セットの部分312bは、プロセスプラント5で利用される個別のHART状態を示すために命名され、定義される。図4Bは、さらに複雑な例の部分312cを示しており、プロセスプラント5の因果行列(CEM)機能ブロックが、ブロックタイプを使用することにより、公開可能なデータ型のシステム310内で定義される。もちろん、公開可能なデータ型のシステム310は、図4A図4Cに示される例以外の、より多くの公開可能なデータ型定義および/もしくは構成を含んでもよい。
【0052】
一般に、インタレストマネージャ308によって生成または定義された公開可能なデータ型310のシステムまたは集合体は、プロセスプラント5内で定義されるデータ型、構成、ヒエラルキー、およびアーキテクチャに適合する必要はない(ただし、必要に応じて、いくつかの公開可能なデータ型310は、定義されたプロセスプラントデータアーキテクチャおよび構成に少なくとも部分的に適合するように定義されてもよい)。さらに、公開可能なデータ型310のシステムまたは集合体の生成または定義は、通常、定義されたプロセスプラントデータ型のそれぞれの公開可能なデータ型への1対1の変換またはマッピングではないことが理解される。むしろ、外部のデータ消費システム8へ公開することを可能にするプロセスプラントデータ型のみが収集/システム310に含まれており、そのような公開可能なプロセスプラントデータ型は、再構成、再配置、再グループ化、統合、分散、抽象化、定義されており、また/もしくは、そうでなければ、構文だけでなく、コンテンツの構造と配置においても、外部システム8により有用および/もしくはより簡単に利用される包括的なデータ型のシステム310で表現される。
【0053】
特に、上記のように、いくつかの実施形態では、インタレストマネージャ308は、少なくとも部分的に1つ以上のインタレストリスト315に基づいて、プロセスプラント5の取得されたフィールド構成から公開可能なデータ型のシステム310を抽出する。インタレストリスト315は、どの型のプロセスプラント関連データのタイプが、フィールド向きコンポーネント300によって外部のデータ消費システム8に公開され得るかを示し、インタレストリスト315は、ユーザ、フィールド向きコンポーネント300、エッジゲートウェイシステム1、および/もしくは他のいくつかのコンピューティングシステムによって、例えば、フィールド向きコンポーネント300によって提供されるインタレストリスト構成アプリケーションを介して、定義してもよい。例えば、フィールド向きコンポーネント300は、例えばJSON(JavaScriptオブジェクト表記)または他のタイプのスクリプトまたは表記を使用することによって、ユーザが1つ以上のインタレストリスト315を手動で定義する際に経由し得るWebベースのユーザインターフェースを提供してもよい。追加または代替として、フィールド向きコンポーネント300、エッジゲートウェイシステム1、および/もしくは他のいくつかのコンピューティングシステムは、例えば、テンプレートおよびベストプラクティスを使用することによって、一般的に書かれたおよび/もしくは読み込んだデータポイントを含めることによって(例えば、オペレータインターフェースデータおよび/もしくは分析、ヒストリアンデータの処理、イベントヒストリアンデータなどのマイニングを介して)、および/もしくは他の好適な自動化技法を使用することによって、1つ以上のインタレストリスト315を自動的に判定または定義してもよい。一実施形態では、インタレストリストのセット315は、フィールド向きコンポーネント300において、フィールド向きコンポーネントによって消費のために1つ以上の外部システムに公開することを可能にするプロセスプラントからフィールド向きコンポーネントによって取得されたデータ全体のうちの唯一のデータを定義する。プロセスプラント5の異なるフィールド向きコンポーネント300は、必要に応じて、インタレストリスト315の異なるセットを記憶することができ、よって、ホスティングフィールド向きコンポーネントがそれぞれデータ消費システム8に公開することを可能にする特定のタイプのプロセスプラント関連データを示す。
【0054】
インタレストリストは、プロセスプラント5内では、多数の、そして、場合によっては異種の構成で構成されている、例えば、関連するモジュール、ノード、診断、アラーム、イベント、および/もしくは他のフィールドデータ情報の名称とそれぞれのグループ分けまたは配置を示してもよい。実際に、インタレストリスト315は、プロセスプラント5内で定義された構成ヒエラルキーおよび/もしくは構成コンテンツに適合する必要はない(ただし、必要に応じて、インタレストリスト315は、定義されたプロセスプラント構成ヒエラルキーおよび/もしくは構成コンテンツに少なくとも部分的に適合するように定義されてもよい)。一般的に言って、インタレストリスト315は、公開されたプロセスプラント関連データのコンシューマである外部システム8によって有用かつ/または容易に利用される任意の様式(例えば、組織的、ヒエラルキー的、および/もしくはコンテンツ的)で定義されてもよい。例えば、少なくともいくつかのインタレストリスト315は、特定のプラント機器および/もしくはデバイス(例えば、「ディーゼルハイドロトリータ1」、「アルキル化ユニット3」など)を反映するように命名されてもよく、プロセスプラント5内で定義され、特定のプラント機器/デバイスに関連する多数の異なる構成から取得されるいくつかの異なるモジュール、ノード、診断、アラームなどからのパラメータを使用して定義されてもよい。例えば、フィールドデータコンテンツインジェスタ320は、特定の名称のエンティティ(例えば、「ディーゼルハイドロトリータ1」、「アルキル化ユニット3」など)を表すものとして特定のインタレストリスト315によって集約的に識別された特定のフィールドコンテンツデータ(例えば、制御データ、I/Oデータ、診断データ、デバイスデータなど)を抽出するために、特定のインタレストリスト315を利用してもよく、キャッシュ322内の特定の名称がついたエンティティに対応する抽出されたデータを、例えば、そのまま、および/もしくは、例えば、公開可能なデータ型のシステム310Aを使用することによるなどの再編成された様式で、記憶してもよいので、特定のインタレスト315リストの特定の名称付きエンティティに対応する抽出されたデータが、エッジ向きコンポーネント12を介して外部システム8に公開される。
【0055】
例えば、「スプレータワー2」関係リストは、プロセスプラント5内の特定のスプレータワーを参照するように定義されてもよく、資産管理システム、プロセス制御システム、安全計装システム、診断ツール、ヒストリアンシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、VXLANなどの仮想ネットワークなどのフィールド構成に含まれる「スプレータワー2」に関連するすべてのパラメータを含んでもよい。例えば、「スプレータワー2」インタレストリストには、スプレータワー2が配置されるエリアを示すパラメータ、(例えば、フィールド構成内で、デバイスタグおよび他のタイプの物理コンポーネントタグまたは識別子によって参照されてもよい)スプレータワー2に含まれるパイプ、ポンプ、他の容器、ライン、および他の物理コンポーネントデバイスを示すパラメータ、制御ループやモジュールなどの論理プロセス要素、制御パラメータおよび/もしくは変数(例えば、設定値、測定値、制御信号、他の信号など)、アラーム、イベント、動作状態またはステータス、機器またはデバイスの状態または状況、タイムスタンプ、および他の論理および/もしくはデスプレータワー2に含まれおよび/もしくは利用されるータコンポーネントを含んでもよい。(例えば、制御タグ、デバイス信号タグ、または他のタイプの論理コンポーネントタグまたは識別子などによってフィールド構成内で参照されてもよい)。さらに、「スプレータワー-2」インタレストリストは、例えば、それぞれの測定単位、それぞれの範囲、それぞれの目標値または設定値など、パラメータを利用するそれぞれの制御ルーチンまたは他のアプリケーション、それぞれの使用法、それぞれの診断パラメータ、および/もしくは他のそれぞれの特性および/もしくは関連情報などのようなパラメータの他の特性および/もしくは側面を示してもよい。
【0056】
いくつかの実施形態では、インタレストリスト315の生成に基づいて、インタレストマネージャ308は、プロセスプラント5に記憶されている1つ以上のフィールド構成に対する1つ以上の変更を決定し、参照番号318で示されるように、決定された変更をプロセスプラントネットワーク305介して構成アプリケーション172Aまたは他のプロセスプラント関連の構成アプリケーションに通信することができる。
【0057】
フィールドデータレシーバ302に戻ると、フィールド構成に加えて、フィールドデータレシーバ302は、プロセスプラント5から、プロセスプラントネットワーク305を介して、産業プロセスを制御するように動作している間に、プロセスプラント5によって生成されるデータを含むフィールドコンテンツデータ、ならびに、産業プロセスに対して制御動作をするプロセスプラント5に関する他のデータも取得する。一般的に言って、フィールドコンテンツデータには、プロセスプラント5によって生成された、例えば、プロセス制御システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLANなどの仮想ネットワーク、および他のシステム、ネットワーク、アプリケーション、および/もしくはプロセスプラントに関連付けられたデバイスによって生成された、任意のタイプのデータが含まれる。例えば、フィールドコンテンツデータは、ランタイムプロセスデータ、連続プロセスデータ、バッチプロセスデータ、バッチ履歴データ、履歴データ、イベントデータ、アラームデータ、分析データ、診断データ、環境データ、ユーザインターフェースデータ、パフォーマンスデータ、および/もしくはデータソース30によって生成された他のタイプのペイロードデータを含んでもよい。フィールドデータレシーバ302は、プロセスプラントネットワーク305、例えば、イーサネット、無線HART、HART-IP、および/もしくは他のパケットプロトコル、ストリーミングプロトコルなどによって利用される任意のプロトコルにおいて、プロセスプラントネットワーク305を介してフィールドコンテンツデータを受信してもよい。
【0058】
フィールドコンテンツデータインジェスタ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に記憶されないように、また、およびエッジ向きコンポーネントに配信されないように、そのようなフィールドコンポーネントデータを停止、またはフィルタリングしてもよい。
【0059】
いくつかの実施形態では、インタレストリスト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コンテナおよび/もしくは他の好適なタイプのコンテナなど)を使用して定義および/もしくは構成されてもよい。
【0060】
計算エンジン325に加えて、フィールドコンテンツデータインジェスタ320は、データタイパ328を呼び出して、取得した、公開可能なフィールドコンテンツデータの少なくとも一部分を、公開可能なデータ型のシステム310に従ってそれぞれの公開可能なデータ型に変換してもよい。すなわち、データタイパ328は、公開可能なデータ型のシステム310によって定義された名称、構造、グループ化、値、配置などを使用して、公開可能なフィールドコンテンツデータを表す。フィールドコンテンツデータインジェスタ320は、タイプ分けされたフィールドコンテンツデータを、エッジ向きコンポーネントへの配信のためにプロセスプラント5に関連する公開フィールドコンテンツデータとしてデータキャッシュ322に記憶する。
【0061】
フィールド向きコンポーネント300の公開されたデータプロバイダ330は、例えば、データダイオード15を介して、または何らかの他の好適なデータ転送メカニズムを介して、フィールド向きコンポーネント300に対応するエッジ向きコンポーネントに公開可能なデータ構成および公開されたデータコンテンツを提供する。例えば、公開されたデータプロバイダ330は、例えば、フィールド向きコンポーネント300に代わって、公開可能なデータ型のシステム310の公開可能なデータ構成をエッジ向きコンポーネントに送信して、エッジ向きコンポーネントがフィールド向きコンポーネント300によって送信される公開されたデータコンテンツを解釈することができるようにしてもよい。その後、公開されたデータプロバイダ330は、キャッシュ322に記憶され、記憶された公開フィールドデータコンテンツを検索し、検索されたデータをエッジ向きコンポーネントに送信してもよい。公開されたデータプロバイダ330は、JSONや他の標準化されたおよび/もしくはオープンソースのデータフォーマットなど、ストリーミングプロトコルおよび/もしくは、パブリックまたは一般的に使用されているデータ交換フォーマットを使用して、公開可能なデータ構成と公開されたデータコンテンツを送信してもよい。例えば、フィールド向きコンポーネント300は、公開されたデータプロバイダ330が、例えばそれぞれの単方向データダイオード15を介して、対応するエッジ向きコンポーネントにデータをストリーミングするために利用するストリーミングサービスを提供してもよい。一実施形態では、公開されたデータプロバイダ330は、公開可能なデータ構成および公開されたデータコンテンツを、パブリックまたは一般的に使用されるデータ交換フォーマットを使用して実装されるストリーミングプロトコルにラップする。いくつかの実施形態では、公開されたデータプロバイダ330は、専用またはプライベートストリーミングプロトコルであり得る専用、またはプライベートプロトコルを使用して、公開可能なデータ構成および公開されたデータコンテンツをエッジ向きコンポーネントに送信する。いくつかの実施形態では、公開されたデータプロバイダ330は、エッジ向きコンポーネントに配信する前に、公開されたデータ構成および公開されたデータコンテンツを暗号化する。
【0062】
一実施形態では、公開されたデータプロバイダ330は、例えば、データダイオード15を介して、公開可能なデータ構成および公開されたデータコンテンツを発行する。エッジ向きコンポーネントは、フィールド向きコンポーネント300の公開されたデータプロバイダ330によって発行された情報にサブスクライブし、それによって、本開示内の他の箇所でより詳細に説明されるように、エッジ向きコンポーネントで外部のデータ消費システム8が利用可能であり得る、公開可能なデータ構成と公開されたデータコンテンツを取得する。
【0063】
図3では、フィールドデータレシーバ302、インタレストマネージャ308、フィールドコンテンツデータインジェスタ320、データタイパ328、および公開されたデータプロバイダ330は、フィールド向きコンポーネント300の別個の異なるコンポーネントとして示されているが、これは考察の目的を明確にするためだけであり、限定目的ではないことに留意されたい。実際、コンポーネント302、308、320、328、および330のうちの任意の2つ以上は、必要に応じて、フィールド向きコンポーネント300の一体型コンポーネントとして実装されてもよい。
【0064】
エッジ向きコンポーネント
図5A図5Bは、図1のエッジゲートウェイシステム1または図2のエッジゲートウェイシステム102などのエッジゲートウェイシステムに含めることができるエッジ向きコンポーネント400のブロック図を示している。例えば、エッジ向きコンポーネント400は、図1に示されるエッジ向きコンポーネント12であってもよく、および/もしくは、例えば、データダイオード15または別の接続リンク、ネットワーク、または媒体を介して、フィールド向きコンポーネント10または300と通信接続されてもよい。重要なことに、エッジ向きコンポーネント400は、プラント環境からリアルタイムデータを効果的かつ効率的に収集し、データをより使用および検索しやすくする独自の方法で他のアプリケーション(例えば、外部アプリケーション)で使用するためにそのデータを処理および記憶する、包括的なデータ収集および処理システムを実装することができる。限定目的ではなく、説明を簡単にするために、図5Aおよび5Bを、図1~3を同時に参照して説明するが、エッジ向きコンポーネント400は、エッジゲートウェイシステム1または102以外のエッジゲートウェイシステムに含まれてもよく、フィールド向きコンポーネント10または300以外のフィールド向きコンポーネントと通信接続することができることが理解できよう。
【0065】
図5Aに示すように、エッジ向きコンポーネント400の公開されたデータレシーバ402は、同様に、プロセスプラント5または102など、および、任意選択で、プロセス制御システム、安全計装システム、構成システム、分析システム、通信/ネットワーキングシステム資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想プライベートネットワーク、VLAN、および/もしくはVXLAN、などの仮想ネットワーク、およびプロセスプラントに関連付けられた他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスなど、ランタイム操作でプロセスプラントをサポートおよび/もしくはそれに関連付けられた他のシステム、デバイス、および/もしくはアプリケーション、のプロセスプラントと通信接続することができるフィールド向きコンポーネントと通信接続することができる。一般的に言って、エッジ向きコンポーネント400に対応するフィールド向きコンポーネントが通信可能に接続されるプロセスプラントおよびそのサポートシステムは、パデューモデル(または同様のセキュリティヒエラルキー)のセキュリティレベル0~2で動作する。
【0066】
エッジ向きコンポーネント400の公開されたデータレシーバ402は、1つ以上のリンク、通信ネットワーク、および/もしくはデータネットワークを介して、エッジ向きコンポーネント400および対応するフィールド向きコンポーネントを通信可能に接続する。好ましい実施形態では、公開されたデータレシーバ402は、図1に示される単方向データダイオード15などのデータダイオードを介して、エッジ向きコンポーネント400を対応するフィールド向きコンポーネントに通信可能に接続する。限定目的ではなく、考察を容易にするために、エッジ向きコンポーネント400は、データダイオード15を介したフィールド向きコンポーネントに通信可能に接続されているように説明されるが、データダイオード15以外の他の通信接続は、エッジ向きコンポーネント400とフィールド向きコンポーネントとを相互接続することができることが理解できよう。例えば、いくつかの実施形態では、エッジ向きコンポーネント400およびフィールド向きコンポーネントは、一体型のシステムまたはデバイスに含んでもよい。
【0067】
公開されたデータレシーバ402は、フィールド向きコンポーネントから公開されたデータ構成および公開されたデータコンテンツを受信してもよい。公開可能なデータ構成と公開されたデータコンテンツは、ストリーミングプロトコルを介して、および/もしくはJSONまたは他の標準化された、および/もしくはオープンソースのデータ交換フォーマットなどの、パブリックまたは一般的に使用されるデータ交換フォーマットを介して受信されてもよい。いくつかの実施形態では、公開されたデータ構成および公開されたデータコンテンツは、フィールド向きコンポーネントの端で、ストリーミングプロトコルでラップされている場合があり、公開されたデータレシーバ402は、公開データ構成および公開されたデータコンテンツをデータストリームからアンラップまたは抽出する。いくつかの実施形態では、公開されたデータ構成および公開されたデータコンテンツは、フィールド向きコンポーネントの端で暗号化されている場合があり、公開されたデータレシーバ402は、データストリームを介して受信した情報を解読する。いくつかの実施形態では、フィールド向きコンポーネントは、例えば、データダイオード15にわたって、公開可能なデータ構成および公開されたデータコンテンツを発行する。エッジ向きコンポーネント400は、フィールド向きコンポーネントによって発行された情報をサブスクライブし、それによってフィールド向きコンポーネントから公開可能なデータ構成および公開されたデータコンテンツを取得する。
【0068】
公開されたデータレシーバ402で受信された公開可能なデータ構成は、上記の様式などのようにして、プロセスプラント関連の構成に基づいてフィールド向きコンポーネントによって生成された公開可能なデータ型のシステム(例えば、公開可能なデータ型のシステム24Aまたは310)を集合的に定義する。公開されたデータレシーバ402は、フィールド向きコンポーネントの公開可能なデータ型のシステム24Aの少なくとも一部分のローカルコピー24Bとして、受信した公開可能なデータ構成を1つ以上のメモリにローカルに記憶する。
【0069】
公開されたデータレシーバ402で受信された公開されたデータコンテンツは、公開可能なデータ型のシステム24Bに含まれるそれぞれのデータ型を使用して表される。受信された公開されたデータコンテンツは、プロセスプラント5によって生成されたフィールドコンテンツデータ、例えば、プロセス制御システム、構成システム、分析システム、通信/ネットワーキングシステム、資産管理システム、診断および/もしくはテストツールおよび/もしくはシステム、試運転ツールおよび/もしくはシステム、ユーザデバイスおよび/もしくはオペレータインターフェース、ヒストリアンシステム、バッチシステム、ソフトウェア定義ネットワーク、仮想ネットワーク(例えば仮想プライベートネットワーク、VLAN、VXLANなど)、およびプロセスプラントに関連付けられた他のシステム、ネットワーク、アプリケーション、および/もしくはデバイスによって生成されたデータを含んでもよい。例えば、フィールドコンテンツデータは、ランタイムプロセスデータ、連続プロセスデータ、バッチプロセスデータ、バッチ履歴データ、履歴データ、イベントデータ、アラームデータ、分析データ、診断データ、環境データ、ユーザインターフェースデータ、パフォーマンスデータ、および/もしくはデータソース30によって生成された他のタイプのペイロードデータを含んでもよい。さらに、受信された公開されたデータコンテンツは、エッジ向きコンポーネント400に対応するフィールド向きコンポーネントによってフィールドコンテンツデータから、例えば、フィールド向きコンポーネントの1つ以上の計算エンジン325によって、導出または生成されたデータを含んでもよい。公開されたデータレシーバ402は、受信した、公開されたデータコンテンツをエッジ向きコンポーネント400の公開データインジェスタ405に提供し、解釈、可能な追加処理、およびでの記憶を行って、公開されたデータコンテンツ(および可能な追加コンテンツ)を、図5Bにブロック422によって表される、データ消費アプリケーションおよび/もしくはシステムによる利用のために利用可能とする。
【0070】
特に、公開されたデータインジェスタ405は、公開可能なデータ型のシステム24Bのローカルコピーを利用して、フィールド向きコンポーネントから受け取った公開されたデータコンテンツを解釈する。このように、公開されたデータインジェスタ405とエッジ向きコンポーネント400は、プロセスプラント5の内部またはネイティブのデータ定義および/もしくは構成を認識する必要はない(実際、認識していない)。すなわち、エッジ向きコンポーネント400は、フィールド向きコンポーネントに対応する公開可能なデータ型のシステム24Aに記憶されている受信された、公開可能なデータ構成に基づいて、受信された、公開されたデータコンテンツを解釈し、エッジ向きコンポーネント400は、データ構成を取得および/もしくは調整するために、フィールド向きコンポーネントに通信を送信する必要はない。この技法は、エッジ向きコンポーネントからプロセスプラント5に通信可能に接続されているフィールド向きコンポーネントに管理および/もしくは制御メッセージを送信する必要がなく、それによって、悪質な動作主体の侵入が起こりそうなポイントを排除するので、プロセスプラント5を起こり得るセキュリティ侵害から保護する。さらに、この技法により、プロセスプラント5での構成変更を、必要に応じて、インラインでリアルタイムに、かつ増分的に、エッジ向きコンポーネント400に伝達することが可能になる。さらに、この技法により、単一のエッジ向きコンポーネント400が、異なる公開可能なデータ型のシステムを利用する多数の異なるフィールド向きコンポーネントにサービスを提供することが可能になる。
【0071】
いくつかの実施形態では、エッジ向きコンポーネント400の公開されたデータインジェスタ405は、受信された公開されたデータコンテンツからさらに追加のデータを導出および/もしくは生成してもよい。例えば、公開されたデータレシーバ402は、1つ以上の計算エンジン408を呼び出して、受信した、公開されたデータコンテンツの少なくとも一部を操作し、それによって、データ消費アプリケーションおよび/もしくはシステム422が利用可能となる追加のデータコンテンツを生成することができる。計算エンジン408は、エッジ向きコンポーネント400に記憶されてもよく、データのペイロード値に対してインストリームデータ集約および/もしくは操作(例えば、平均、最大、最小など)などのような演算機能を実行してもよい。一部の計算エンジン408は、主成分分析(PCA)、部分最小二乗(PLS)予測、および/もしくは他のタイプの統計計算または分析、主要業績評価指標(KPI)の計算など、より複雑な計算またはアルゴリズムを実行するように構成することができ、いくつかの計算エンジン408は、イベントを駆動するように構成してもよい。少なくともいくつかの計算エンジン408は、スクリプトによって、および/もしくはウェブベースのユーザインターフェースまたはエッジ向きコンポーネント400によって提供される他のタイプの計算エンジン構成アプリケーション、および/もしくは少なくともいくつかの計算エンジンを介して定義および/もしくは構成されてもよく、少なくともいくつかの計算エンジン400は、エッジ向きコンポーネント400においてアクセス可能および/もしくはそこにインストールされるコンテナを使用することによって定義および/もしくは構成されてもよい。実際、いくつかの計算エンジン408は、本開示内の他の場所で説明されたような様式などで、データ消費アプリケーションおよび/もしくはシステム422による使用のために利用可能にされてもよい。
【0072】
公開されたデータインジェスタ405は、受信され、公開されたデータコンテンツと、例えば、図1のデータレイク40であり得る、データレイク410内の計算エンジン408によって生成された出力とを記憶する。データレイク40は、フィールド向きコンポーネントから受信されるフィールドコンテンツデータを記憶するので、データレイク40は、プロセスプラント5に関連するデータ全体の少なくとも一部をミラーリングし(例えば、ランタイムデータ、構成データ、イベントデータ、履歴データ、およびプロセスプラント5によって生成され、それに関連付けられた他のタイプのデータ)、データレイク40に記憶されたプロセスプラント関連データは、外部のデータ消費システム8に公開可能である(例えば、それによって使用するために利用可能とする)。一部のプロセスプラントでは、プロセスプラント5によって生成されたすべてのデータが、エッジ向きコンポーネント400でミラーリングされ、外部システム8に公開され、他のプロセスプラントでは、プロセスプラント5によって生成されたすべてのデータのサブセットのみが、エッジ向きコンポーネント400でミラーリングされ、データ消費アプリケーションおよび/もしくはシステム8に公開され、サブセットは、プロセスプラント5のフィールド向きコンポーネントのセット全体に存在する一連のインタレストリスト22、315の集合によって定義される。
【0073】
前に考察されたように、いくつかの実装形態では、ミラーリングされたプロセスプラント関連データに加えて、データレイク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が保護される。
【0074】
いずれにせよ、データレイク410は、フィールド向きコンポーネントを介してプロセスプラント5によって生成および受信されたコンテンツデータを記憶し、いくつかの実装形態では、1つ以上の外部のデータ提供システムによって生成および受信されたコンテンツデータを記憶する。いくつかの実施形態では、データレイク410は、1つ以上の計算エンジン408によって受信したコンテンツデータから計算および/もしくは導出された追加のデータ(プロセスプラント関連および/もしくは外部で生成されたか)を記憶してもよい。データレイク410に記憶されたデータは、公開可能なデータ型のシステム24Bに従って記憶されてもよいため、データコンテンツは、アプリケーションおよび/もしくはシステム422によって消費されやすくなる。
【0075】
エッジ向きコンポーネント400は、データレイク410のコンテンツを操作して、データレイク410の様々な異なるデータポイント間の関係および関連付けを発見するコンテキスト知識マイナ415を含む。すなわち、コンテキスト知識マイナ415は、データレイク410のデータポイントのそれぞれのコンテキストを発見する。例えば、コンテキスト知識マイナ415は、プロセスプラントの同じ領域にある、特定の時期の様々な異なるベンダのフィールドデバイス全体で同様の動作状態セットに対して特定のタイプのアラームが生成されたことを発見する場合があり、または、コンテキスト知識マイナ415は、プラント内の特定のラインの主要性能指標が、別の特定のバルブの変化率に対する特定のバルブの変化率に対応することを発見する場合がある。いずれにせよ、コンテキスト知識マイナ415は、発見されたコンテキストおよび関係を、データレイク415のコンテンツ(本明細書ではまとめて「知識」と呼ぶ)とともに、コンテキスト化されたプロセスプラント知識リポジトリ420、例えば接続されたドメインに記憶する。例えば、コンテキスト化されたプロセスプラント知識リポジトリ420は、コンテンツデータおよびそれらのそれぞれの相互接続が記憶されるグラフデータベースまたは他の好適なモデルを使用して実装されてもよい。例えば、グラフデータベースノードは、データレイク410に含まれる名称またはラベルに対応してもよく、ノードに記憶されたプロパティは、それぞれのパラメータ、値、状態などを含んでもよく、ノードと他のノードとの間のコネクタは、コンテキスト知識マイナ415によって発見された相互関係を示してもよい。一般的に言って、コンテキストプロセスプラント知識リポジトリ420に記憶された情報は、データコンシューマアプリケーションおよび/もしくはシステム422に公開可能である(例えば、消費用に利用可能である)。
【0076】
図5Aでは、公開されたデータレシーバ402、公開されたデータインジェスタ405、およびコンテキスト知識マイナ415は、エッジ向きコンポーネント400の別個の異なるコンポーネントとして示されているが、これは考察を明確にする目的のみのためであり、限定目的ではないことに留意されたい。実際、必要に応じて、コンポーネント402、405、および415のうちの任意の2つ以上が、エッジ向きコンポーネント400の一体型コンポーネントとして実装されてもよい。
【0077】
図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にインストールされてもよい。
【0078】
図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を利用してもよい。
【0079】
エッジ向きコンポーネント400によって提供される他のアクセスメカニズム425は、例えば、いくつかを挙げると、ユーティリティ430、サーバ432、サービス435、およびアプリケーション438を含む。一般に、アクセスメカニズム425は、要求/応答、公開/サブスクリプション、イベント駆動型アクセスなどのような、コンテキスト知識リポジトリ420に記憶されたプロセスプラント関連知識への様々なタイプのアクセスを集合的にサポートする。アクセスメカニズム425の各々は、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために1つ以上の直接アクセスAPI422を利用してもよい。一部のアクセスメカニズム425は外部アプリケーションおよび/もしくはサーバ422に公開されてもよく、一部のアクセスメカニズムはプロセスプラント5および関連する、より低い数字のセキュリティレベル(例えば、OTレベル)の関連する他のシステムにのみ公開されてもよく、かつ/もしくはアクセスメカニズムのいくつかは、エッジ向きコンポーネント400自体に公開されてもよい。例えば、少なくとも1つのアクセスメカニズム425は、例えばフォールトトレランス、バックアップ、および/もしくは冗長性の目的で、データレイク410および/もしくはコンテキスト知識リポジトリ420が複製される際に経由される1つ以上の複製メカニズムを含んでもよい。
【0080】
エッジ向きコンポーネント400によって提供され得るユーティリティ430は、例えば、クエリおよび/もしくはサーチエンジン、自然言語プロセッサ、および/もしくは他のタイプのコンテキストユーティリティを含む。追加または代替として、ユーティリティ430は、計算、分析、分析、スクリプトなどの計算ユーティリティを含んでもよい。ユーティリティ430は、例えば、機能、アルゴリズム、アプリケーションなどを使用して、エッジ向きコンポーネント400で実装することができる。
【0081】
エッジ向きコンポーネント400によって提供され得るサーバ432は、例えば、プロセスプラント関連の知識を、OPC UAデータモデルを通して、例えば、それぞれのサブスクリプションを介して、データ消費アプリケーション/システム422に公開するOPC UAサーバ、データ消費アプリケーションおよび/もしくはシステム422がエッジ向きコンポーネント400とインターフェースして、コンテキスト知識リポジトリ420に記憶されたプロセスプラント関連知識にアクセスする1つ以上のウェブサイトおよび/もしくはウェブアプリケーションをホストするウェブサーバ、および他のタイプのサーバを含む。いくつかの実施形態では、1つ以上のサーバ432は、外部アプリケーションおよびシステム422に公開されず、代わりに、プロセスプラント5および/もしくはプロセスプラント5に関連付けられた、より低い数字のセキュリティレベルのシステムによる使用のために提供される。例えば、エッジ向きコンポーネント400は、プロセスプラント5の様々なコンポーネント間でデータをルーティングするI/Oサーバを提供してもよい。
【0082】
エッジ向きコンポーネント400によって提供され得るサービス435は、例えば、AMQP(Advanced Message Queueing Protocol)キューイングサービス(例えば、JSONフォーマットで知識を公開する)、MQTT(Message Queuing Telemetry Transport)の発行およびサブスクリプションサービス、および/もしくは、プロセスプラント関連情報のクラウドコンピューティングアプリケーションおよび/もしくはシステムへの転送をサポートする他の同様の目的のサービス、システム、および/もしくはプロトコル、IoTおよび/もしくはIIoTアプリケーションおよび/もしくはシステム、イベントハブ、および/もしくは(例えば、発行/サブスクリプションメカニズムおよび/もしくはポイントツーポイントメカニズムを介した)他のデータ消費アプリケーションおよび/もしくはシステム422を含む。例えば、サービス435は、プロセスプラント関連の知識のコンシューマである、各外部OPCサーバ(プラント、企業、またはサードパーティOPCサーバであり得る)にそれぞれのデータソースを提供し得る、OPCランタイムサービスを含んでもよい。さらに、サービス435は、(例えば、OAuth2または他の好適な標準を利用することによる)認証および/もしくはデータ消費アプリケーションおよび/もしくはシステム422への認証および/もしくは許可サービスなどのほかのタイプのサービス、モバイルデバイス、ウェブサービス、知識または情報サブスクリプションマネージャと相互作用するサービス、ならびに/または少なくともいくつかのデータ消費アプリケーションおよび/もしくはシステム422によって公開され、および/もしくはそれらによって利用され得る他の任意の他のタイプのサービスを含んでもよい。
【0083】
さらに、エッジ向きコンポーネント400は、コンテキスト知識リポジトリ420に記憶された情報にアクセスし、アクセスされた情報を操作する1つ以上のアプリケーション438を提供してもよい。例えば、ユーティリティ430のいくつかは、アプリケーション438を使用して実装されてもよく、いくつかのウェブサービスは、アプリケーション438を使用して実装されてもよい。アプリケーション438のうちの少なくともいくつかは、クエリエンジンおよびサーチエンジンなどの企業によって提供されてもよい。アプリケーション438のいくつかは、サードパーティによって提供されてもよく、データ消費アプリケーションおよび/もしくはシステム422の少なくともいくつかによって公開および/もしくは利用されてもよい。
【0084】
実際に、エッジ向きコンポーネント400は、いくつかのアーキテクチャ構成、プラットフォーム、およびフレームワークをサポートまたは提供することができ、それによって、エッジ向きコンポーネント400が、プロセスプラント5に関連付けられた企業よって生成され、サードパーティによって生成されるユーティリティ430、サーバ432、サービス435および/もしくはアプリケーション438をサポートまたは提供することを可能にする。いくつかの構成では、企業が提供する、およびサードパーティが提供するユーティリティ430、サービス432、および/もしくはアプリケーション438の両方を、エッジ向きコンポーネント400にインストールしてもよい。例えば、エッジ向きコンポーネントは、OPC UAサーバ、AMQPゲートウェイ、および企業が提供する様々なアクセスメカニズム425がエッジ向きコンポーネント400において実装されてもよい、また、サードパーティ提供のアプリケーションが、エッジ向きコンポーネント400において実装する際に経由し得る、Docker、Linux(登録商標)、または、他のタイプのコンテナをサポートしてもよい。ドッカーおよび/もしくは他のタイプのコンテナは、例えば、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために、直接アクセスAPI428を利用してもよい。
【0085】
追加的に、または代替的に、エッジ向きコンポーネント400は、企業によって、および/もしくはサードパーティによって提供され、エッジ向きコンポーネント400にインストールされるウェブアプリケーションおよびサービスをサポートするNode.JSフレームワークを提供してもよい。Node.JSフレームワークは、コンテキスト知識リポジトリ420に記憶された情報にアクセスするために直接アクセスAPI428を利用してもよく、かつ/もしくは、Node.JSフレームワークは、コンテキスト知識リポジトリ420に記憶された情報にアクセスし、それを取得および/もしくは操作するために、様々なユーティリティ430(例えば、クエリ、検索、言語処理など)を呼び出してもよい。
【0086】
したがって、上記の考察を考慮して、エッジゲートウェイシステム1の実施形態は、プロセスプラント5および関連するネットワークを、クラウドおよび/もしくはリモートネットワークでホストされているものなど、プラントの敷地内で実行されるアプリケーション、ならびに遠隔で実行されているアプリケーションなどに安全に接続する。プロセスプラント5によって生成されたデータおよびそこに含まれる発見された関係および/もしくは知識を消費するアプリケーションおよび/もしくはシステムは、プロセスプラント5自体へのリスクが最小限から全くなしで、公開されたコンテキストプロセスプラント知識に安全で効率的にアクセスし、取得することができる。さらに、エッジゲートウェイシステム1は、恒久的なイントラネット接続を有する環境(例えば、セキュリティレベル3および4)、およびパブリックインターネット接続を有する環境で継続的に動作してもよい。エッジゲートウェイシステム5の様々なセキュリティメカニズムと機能(例えば、OTおよびITネットワークの物理的な分離、プロセスプラント5へのデータフローの物理的な防止、安全な起動と更新、署名済みファームウェアとパケットの実行、暗号化、カスタマイズ公開可能なデータ型のシステムなど)は、プロセスプラント5とそのデータを保護し、データの盗難やセキュリティ違反に対する保護を提供する。さらに、実施形態では、エッジゲートウェイシステム1および/もしくはそのコンポーネントは、共同所有の米国特許出願第15/332,622号、共同所有の米国特許出願第15/332,690号、共同所有の米国特許出願第15/332,751号に記載されているセキュリティ技法の1つ以上を利用または組み込んでおり、その開示全体は参照により本明細書に組み込まれ、それによって、プロセスプラント5およびそのデータをさらに保護し、データ盗難およびセキュリティ侵害に対するさらなる保護を提供する。
【0087】
図6は、プラントデータに対してデータ分析、データマイニング、およびデータ視覚化を実行するための単一または集中型プラットフォームを提供するために、図5Aおよび図5Bに関して説明した同じ要素またはインフラストラクチャの多くを使用し得るデータ収集、記憶および処理システムの別の実施形態を示す。特に、図6は、多くの異なるデータソースまたはプラットフォームからデータを収集し、リアルタイムでおよび/または将来の時間に処理するためにそのデータを記憶し、複数の異なるデータ分析、視覚化、およびマイニングアプリケーションでデータの使用および理解を容易にするフォーマットまたは方法で処理済みデータを記憶することができる、状態監視および決定支援のためのリアルタイム産業データイベントおよび記憶システム600を示す。
【0088】
より具体的には、システム600は、様々なデータソース602に接続され、データソース登録アプリケーション604、(データマイニングアプリケーション、データ分析アプリケーションなどを含み得る)リアルタイムデータ視覚化アプリケーション606、および(本明細書でより詳細に説明されるように、ユーザがプラントデータの処理に使用するためにシステム600にプロセスコンテキスト情報を提供することを可能にする他のアプリケーションを含み得る)プロセスグラフビルダーアプリケーション608を含む、様々なアプリケーション(例えば、ウェブアプリケーションであり得る)と相互作用する。一般的に言って、データ処理システム600は、プラントファイアウォール(またはプロセス制御システムファイアウォール)の外側にあり得、したがって、図1図3のフィールド向きコンポーネントに関して説明された方法を含む、任意の所望の方法で様々な異なるデータソース602からデータを受信するように構成され得る。より具体的には、システム600によって使用または収集されたデータは、1つ以上のプロセスプラントの連続および/またはバッチ操作にわたって多くの異なる場所で生成され得る。データソース602の各々は、制御システム、保守システム、サポートシステム、ビジネスシステム、ロギングシステムなどの1つ以上のプラント内の異なるシステムに関連付けられ得る。したがって、例えば、データソース602は、本明細書の図1図3に関して説明したように、エッジゲートウェイシステムによって提供される連続プロセスデータを提供する1つ以上のDeltaVエッジシステムを含むことができる。しかしながら、データソース602は、連続プロセス制御システムデータに限定されず、またおよび/またはその代わりに、(DeltaVバッチシステムなどの)1つ以上のバッチシステム、(ビジネスサポートシステムである)Syncadeワークフローシステム、(資産管理または保守システムである)AMSシステム、OPCUAデータソースなどの任意のOPCデータソースなどからのバッチプロセスデータを含み得る。したがって、データソース602は、Bio-Gスケジューリング、DeltaVバッチ、エッジゲートウェイ、(機器、在庫、レシピ、ワークフローシステム環境およびサポートプラットフォームである)OPCUAおよびSyncade、または任意の他のデータソースを含む、製品化されたデータソースを含み得る。さらに、システム600はまた、エンドユーザが、以下でより詳細に説明される方法で、システム600に接続される新しい(以前は未知の)データソースおよびデータソースタイプを定義することを可能にする。
【0089】
データソース602は、任意の所望または共通のフォーマットおよびデータ構造を使用して、ならびに任意の所望の通信フォーマットまたはプロトコルを使用して、システム600にデータを送信またはストリーミングすることができる。したがって、例えば、データソース602は、様々なプロトコルを使用して、テレメトリをプラットフォームにストリーミングすることができ、これには、gRPC、HTTPS、WebSocket、MQTT、またはAkka streamが含まれる。したがって、有利には、データソース602の各々は、データが対応するシステムで記憶または使用されるフォーマットでデータを送信することができ、データソース602に利用可能な任意の通信フォーマットを使用してそのデータを送信することができる。言い換えれば、データソース602の各々は、それ自体のインターフェースセマンティクスを使用してシステム600にデータを送信または転送し、例のみとして、Akka stream、REST API、MQTT、WebSocket、gRPC、または他の任意のデータフォーマットでデータを送信することができる。結果として、データソース602は、システム600に送信されるデータを前処理する必要がなく、これにより、データは容易に検索可能になり、データソース602での処理および通信アクティビティが低減する。
【0090】
図6に示されるように、システム600は、1つ以上の通信ネットワーク、回線、ポータルなどを介して様々な異なるデータソース602からデータを受信するゲートウェイデバイス610を含む。ゲートウェイデバイス610は、様々な異なるデータフォーマットで、必要に応じて異なる通信プロトコルでデータソース602からデータおよび情報を受信するための電子通信ゲートウェイとして動作する任意の所望のタイプのコンピュータまたはサーバシステムであり得る。ゲートウェイ610は、1つ以上のデータストリーム内で、バルクパケット内でなどの任意の方法でデータを受信することができる。一般的に言って、ゲートウェイ610は、データを受信し、データのソースが許可されていることを検証および認証し、検証された場合は、データソースから受信された各データメッセージを、時間順に、別個のイベントとしてイベントストリーム612に配置する。より具体的には、ゲートウェイ610は、様々な異なる通信プロトコルでデータメッセージを受信し、データパケットまたはメッセージをシステム600で許容可能または許可されているものとして認証し、通信プロトコル情報を取り除いて、(プロセスデータ、制御データ、保守データ、ユーザデータ、または任意の他のタイプのデータであり得る)基礎となるデータを検索し、次に、そのデータを個別のイベントとしてイベントストリーム612に配置する。重要なことに、ゲートウェイ610は、タイムスタンプ、データの発信元またはソース、データを送信したデータソース602、基礎となるデータの送信者および受信者、タイミング情報などを含む、基礎となるデータに関連付けられたメタデータを保持し、このメタデータを各イベントの一部としてイベントストリーム612に配置する。したがって、基本的に、ゲートウェイデバイス610は、プラント内の異なるイベントに関連するデータをシステム600に取り込み、通信フォーマット情報を削除し、次に、イベントストリーム612に個別のイベントを作成し、各イベントは、キャプチャされたイベントに関してデータソース602によって送信されたデータのすべてを含む。個別のイベントは、例えば、個々のプロセス変数の測定、ユーザログオン、ユーザ開始アクション、生成されたアラームまたはアラート、保守担当者が取った保守アクション、障害検出または故障、制御アクションなどであり得る。上記のように、各イベントは、イベントの基礎となるデータを含むだけではなくて、例えば、イベントに関連付けられた測定または通信を行うデバイスの指示、イベントに関連付けられたデータのキャプチャに関連付けられたタイムスタンプ、キャプチャされたデータに関連付けられたデバイスまたはユーザ識別などを含む、そのイベントのメタデータをも含む。さらに、ゲートウェイ610は、イベントデータを時間順にイベントストリーム612に配置し、それによって、イベントストリーム612内に異なるイベントの時間データを保持する。
【0091】
理解されるように、イベントストリーム612は、時間によって順序付けられた個々のイベントの終了のない連続を記憶するメモリデバイスであり、イベントストリーム612は、図5Aのデータレイク410と同様であり得、同様のハードウェアを使用して同様の方法で構築され得る。イベントストリーム612は、任意のタイプのコンピュータメモリ、または分散データベースを含む任意の所望のタイプの電子データベースを使用して構成することができ、イベントストリーム612は、イベントデータを記憶し、イベントデータを複数の異なるサービスで利用可能にするように動作し、これは以下でより詳細に説明される。一般的に言って、イベントストリーム612内のイベントデータのいずれも、1つ以上のサービスによって、任意の順序で、いつでもアクセスすることができる。さらに、イベントストリーム612は、サービスのうちの1つ以上がいつでも新しいイベントまたはイベントデータをイベントストリームメモリに挿入することを可能にし得、イベントデータを任意の所望の期間記憶することができる。例えば、イベントストリームの持続期間は30日であり得るが、代わりに他の時間枠または期間を使用することもできる。
【0092】
システム600はまた、イベントストリーム612に配置される、システム600によって受信されたデータソースおよびイベントデータを管理することを容易にするコンポーネントを含む。特に、システム600は、データソース登録コンポーネント614およびセキュリティ実施コンポーネント616を含む。特に、データソース登録コンポーネント614は、イベントストリーム612での処理および配置のためにゲートウェイ610にデータを送信することを許可されているデータソースについてのリストおよび情報を記憶する。データソース登録コンポーネント614は、許可されたデータソースの名称またはアイデンティティ、データソースによって送信されるデータのタイプ、データソースによって送信されるデータのデータフォーマット、データソースとの通信接続のための通信フォーマットまたはプロトコルおよびネットワーク情報、データソースによって送信されるデータのセキュリティレベルまたは他のセキュリティ情報、ならびにセキュリティ登録手順および情報(データソースで使用されるセキュリティ証明書、暗号化方法など)を記憶または指定することができる。さらに、セキュリティコンポーネント616は、データソース602をプラットフォーム600に登録し、データソース602を認証し、セキュリティ証明書およびTLS動作などを発行および検証して、データソース602の各々とゲートウェイ610との間の安全な通信を保証する。例えば、各データソースインスタンス602は、プラットフォーム600のセキュリティコンポーネント614に登録され得、ここで、データソースには、タイプ(すなわち、バッチ)、(例えば)アイデンティティおよび認証のためのX.509証明書、ならびに特定のタイプのデータをストリーミングするための許可のセットが割り当てられる。もちろん、セキュリティコンポーネント616は、任意の所望のタイプのセキュリティ認証および暗号化技術を実施することができる。さらに、ユーザは、データソース登録アプリケーション604のうちの1つ以上を使用して、新しいデータソース602をシステム600に追加または接続して、データフォーマット、データプロトコル、通信プロトコル、セキュリティレベル、ユーザ認証などの受信データを受信、復号化、および処理するためにゲートウェイ610によって必要とされるデータソース602に関する情報を指定または変更することができる。このようにして、データソース登録コンポーネント614は、データソース登録アプリケーション604と併せて、ユーザが、新しいデータソースを追加し、システム600にデータを提供するデータソースを削除し、各データソース602に関連付けられたタイプ、フォーマット、セキュリティレベルなどを変更し、および/またはシステム600に他のデータソース情報を提供することを可能にし得、それにより、システム600は、同じまたは異なるデータソース602から新しいおよび異なるデータまたはデータ型を取り込むことが可能になる。
【0093】
さらに、図6に示されるように、システム600は、イベントストリーム612内のイベントデータを処理するためにイベントストリーム612上で動作する1つ以上のマイクロサービス620を含む。各マイクロサービス620は、イベントストリーム612内のデータを、データマイニング、データ視覚化、およびデータ分析アプリケーションによってより容易に消費または使用できる異なるタイプのデータに変換し、ならびに/またはイベントデータを変換して新しいイベントを作成し、それらの新しいイベントを、他のマイクロサービス620による処理または使用のためにイベントストリーム612に配置する。特に、各マイクロサービス620は、イベントストリーム612内のイベントデータを使用して1つの特定の処理アクティビティまたはアクションを実行し、時系列データベース622もしくは分散グラフデータベース624の一方もしくは両方に記憶される新しいデータを生成するか、またはイベントストリーム612に配置される新しいデータを生成する。マイクロサービス620は、これらのマイクロサービス620が概して、イベントストリーム612内のデータを処理して、新しくかつより容易に理解または使用できるデータを生成するように互いに独立して動作または実行されるため、システム600の中心にある。各マイクロサービス620は、時間順に(例えば、先入れから後入れまで、または他の任意の時間順で)イベントストリーム612に記憶された各イベントのイベントデータを処理して、プラント内での特定の出来事(例えば、アラーム、イベント、状態の変化、ユーザ相互作用など)の存在など、イベントに関するより高いレベルの情報を決定することができる。さらに、次に、マイクロサービス620は、その新しいより高いレベルのデータを、時間指定イベントとして時系列データベース624に、および/または1つ以上のプロセスグラフのノードとして分散グラフデータベース624に記憶する。さらに、マイクロサービス620のうちの1つ以上は、新しいイベントを作成し、それらのイベントを、適切な時間順序の場所(新しいイベントが発生したとき、または新しいイベントがマイクロサービス620によって認識もしくは検出されたときのいずれか)においてイベントストリーム612に配置または記憶することができる。次に、これらの新しいイベントは、他のマイクロサービス620によって使用できるようになり得る。マイクロサービス620は、例のみとして、図5Aのコンテキスト知識マイナ415に関して説明された処理のいずれかを実行することができる。いずれにせよ、マイクロサービス620の各々は、イベントストリーム612内のイベントを消費し、イベントを、データベース622および/もしくは624に記憶されるかまたは追加のイベントを生成するより高いレベルのデータに変換し、それらのイベントをイベントストリーム612に配置する、ストリーム処理サービスである。
【0094】
マイクロサービス620は、事前に設定することができ、任意のソフトウェアを使用して任意の処理ハードウェア上で実行して、各マイクロサービス620が実行するように作成された特定のサービスを実行することができる。マイクロサービス620の各々は、任意の所望の速度で(例えば、リアルタイムでまたはリアルタイムよりも速く動作し得る)イベントストリーム612内のイベントデータを巡回して、イベントストリーム612内のイベントデータにアクセスし、それをレビューおよび処理することができ、異なるマイクロサービス620は、イベントストリーム612内で異なる速度または異なる場所で動作することができる。さらに、任意の数のマイクロサービス620が、任意の特定の時間に稼働中または実行中であり、イベントストリーム612の異なる部分にアクセスして処理してもよい。このようにして、システム600に接続する任意の数の異なるデータコンシューマ(例えば、データ視覚化、マイニング、および分析アプリケーション606)によって必要とされるイベントデータ処理を実行するために、任意の数の異なるマイクロサービス620を作成することができる。しかしながら、マイクロサービス620は、概して、イベントストリーム612内のデータに対して継続的に動作する、安定したまたは比較的固定されたサービスのセットであり、したがって、システム600の処理能力およびメモリ要件を効果的かつ効率的に管理することができる。それにもかかわらず、新しいデータ分析、データマイニング、およびデータ視覚化アプリケーション606がシステム600に接続するか、またはシステム600によってサポートされるように設計されると、新しいマイクロサービス620は、作成され、システム600に記憶され、システム600において実行され得る。一般的に言って、マイクロサービスは、図5Aのコンテキスト知識マイナ415の一部として実行されるアプリケーションまたはサービスと同様または同じであり得る。同様に、上記のように、マイクロサービス620は、変換されたイベントデータを、時系列データベース622および分散グラフデータベース624の一方または両方に記憶することができる。
【0095】
理解されるように、データベース622および624の両方は、時間的に、プラント領域、ユニット、デバイス、コントローラスキーム、論理要素もしくは他のプラント機器もしくは論理指定によって、プロセス変数によって、1つ以上のパラメータ、値、状態などによって、ユーザによって、製造元によって、プロパティによって、値によって、アラームもしくはアラームカテゴリによって、プロセスヒエラルキーによって、制御ヒエラルキーによって、またはプラントデータ内で識別されるかもしくはプラントデータに関連し得る任意の他のコンテキストカテゴリによってなど、何らかの方法で、異なるイベントが互いに関連することを可能にするイベント(または他のデータ)に関するコンテキスト知識を記憶する。一般的に言って、時系列データベース622は、主に時間相関(例えば、イベントに関連付けられた時間)を使用してデータを記憶し、グラフ系列データベース624は、プロセスまたはプロセスプラント内の様々な要素間の相互関係を定義したプロセスまたは他のグラフを使用してグラフデータとしてデータを記憶する。
【0096】
より具体的には、時系列データベース622は、マイクロサービス620によって決定および検出された時間ベースのテレメトリデータを記憶し、含むデータベースであり、一方、分散グラフデータベース624は、プロセスグラフコンポーネント626に記憶され、プロセスグラフコンポーネント626によって提供される1つ以上のグラフモデルによって定義された(ノード内の)データ間の関係を反映するグラフデータ(相互接続されたノードを有するグラフ)を記憶するデータベースである。一般的に言って、グラフデータベースは、データが様々な事前定義された関係によって編成または接続されているデータベースであり、したがって、グラフデータベース内の各ノードは、様々な事前決定された関係によってデータベース内の他の1つ以上のノードに含まれるか、それらを含むか、またはそれらに関連付けられる。これらの事前決定された関係は、プロセスグラフコンポーネント626によってまたはプロセスグラフコンポーネント626において提供される1つ以上のプロセスグラフに記憶または定義され得る。言い換えれば、データベース624内で作成される各グラフは、複雑なエンティティおよび関係をノードおよびエッジのセットに符号化することによって構築される知識グラフである。この知識グラフは、システム600がドメインの指示どおりにデータを接続できるような柔軟性を提供し、ファクトおよび高度に接続されたデータをトラバースするクエリがグラフに実装されると桁違いにより優れているためにパフォーマンスを提供し、高品質のソフトウェア更新を配信するのがより容易になるために俊敏性を提供し、分散グラフソリューションが水平方向にスケーリングできるためにスケーラビリティを提供する。
【0097】
上記のように、1つ以上のプロセスグラフモデルビルダーアプリケーション608を使用または提供して、ユーザは、1)プロセス内のコンポーネントとデータとの間の関係を定義し、2)グラフデータベース624内でグラフを構築するために使用されるプロセスグラフモデルを定義するために使用できる、様々な異なるプロセスグラフまたはプロセスモデルを定義することが可能になり得る。より具体的には、プロセスグラフビルダーサービス608は、ユーザが、グラフデータベース624に記憶されたデータを接続し、コンテキスト化するモデルを作成することを可能にする。したがって、プロセスグラフビルダー608は、エンドユーザが、プラットフォーム600を介して生データストリーミングを接続し、コンテキスト化する包括的なモデルを作成することを可能にするサービスである。例として、使用できるプロセスモデルは、1つ以上のプロセスハードウェアヒエラルキー、プロセスプラントレイアウト、プロセス制御ソフトウェアヒエラルキーなどを含み得る。これらの概念は、PLMソリューションと統合し、例えば、簡単なレシピ作成、企業レシピ管理、技術移転、および他のMESソリューションへの移行を促進することにより、プロセスデータへのコンテキストの追加を越えて拡張することができる。一例では、プロセスグラフビルダーサービス608を使用して、例えば、材料トランザクション、電子署名、機器洗浄、バッチ、プロセスデータ、アラームおよびイベント、スケジューリング変更など、システムを介してストリーミングするイベント間の関係を接続または提供する高レベルのプロセスフローチャートを作成して、プラントおよび制御環境において発生するイベント間の様々な関係を定義することができる。
【0098】
さらに、システム600は、外部ユーザが時系列データベース622および分散グラフデータベース624内のデータにアクセスして、任意の所望のデータ視覚化、データマイニング、またはデータ分析アプリケーションで使用することを可能にする、1つ以上のアプリケーションインターフェース(API)630を含む。もちろん、API630は、データベース622および624内の任意のレベルのアクセス、ならびにデータのいずれかまたはすべてへのアクセスを提供するように設計または構成され得、データベース622および624内のデータに対するセキュリティおよびアクセス権を強制し得る。API630は、任意の所望のタイプおよび数のデータ視覚化アプリケーション606をサポートする。特に、データ視覚化アプリケーション606は、API630を使用して、データベース622および624からのデータを照会し、そのデータを任意の数の目的に使用する。例えば、データ視覚化アプリケーション606は、ダッシュボードの形でリアルタイムデータを提示することができ、これらのダッシュボードは、ユーザによってカスタマイズ可能であり得る。さらなる例として、Power BIなどのレポートビルダーを提供して、REST APIを使用してシステム600に接続し、次いで、レポートの生成に使用されるデータにアクセスすることができる。ユーザは、システム600を通じて、またはPower BIおよびTableauなどのツールを使用して提供されるコンポーネントを使用して、ダッシュボードをカスタマイズすることができる。もちろん、データ視覚化アプリケーション606は、図5Bのデータ消費アプリケーションおよび/またはシステムに関して上記で論じたもののいずれかなど、任意の所望のタイプのデータ処理、マイニング、分析またはデータ視覚化サービスを実行することができる。
【0099】
さらに、システム600は、何らかのユーザ相互作用を必要とするイベントを管理するために使用され得るタスクエンジン640を含む。すなわち、イベントストリーム612に記憶または配置されたいくつかのイベントは、例えば、不完全なもしくは誤ったデータまたは他の何らかの理由でイベント内のデータを完成させるかまたは変更するために、何らかの理由でユーザ相互作用を要求するかまたは必要とする場合がある。概して、タスクエンジン640は、データマネージャなどのユーザに、イベントストリーム612内のデータに直接アクセスし、データを変更/追加/削除することを提供する。
【0100】
さらに、1つの実装形態では、デバイス600を使用して、外部データ処理アプリケーション(高度なデータ分析アプリケーションなど)が、プラントからのデータに対して分散データ処理およびデータマイニングを実行することを可能にすることができる。より具体的には、1つ以上の分散データ分析アプリケーション650は、イベントストリーム612を使用して、イベントストリーム612内の様々な異なるデータに対して、分析データ処理などの様々なタイプのデータ処理を実行し、処理済みデータ(または処理済みデータに関連付けられたイベントおよびアクション)を、他のデータ分析アプリケーション650による使用のためにイベントストリーム612に戻して配置することができる。一例として、参照により本明細書に明示的に組み込まれる、「Regional Big Data in Process Control Systems」と題する米国特許第9,823,626号、および「Data Pipeline for Process Control System Analytics」と題する米国特許第10,168,691号に記載されているような様々な異なるデータパイプラインアプリケーションは、何らかの事前決定された順序でイベントストリーム612にデータを配置し、イベントストリーム612からのデータにアクセスして、米国特許第9,823,626号および第10,168,691号に記載されている方法で分散データ分析を実行することができる。しかしながら、この場合、システム600内のイベントストリーム612は、適切なデータ分析アプリケーションによって実装される様々な異なる処理状態または段階において到着するデータを調整するために、米国特許第9,823,626号および第10,168,691号に記載されているアプリケーション間データ通信機能であるか、またはそれを提供する。図6に示されるように、1つ以上のデータ分析アプリケーション650は、処理済みデータをイベントストリーム612に提供し、イベントストリーム612からのデータを使用して、米国特許第9,823,626号および第10,168,691号に記載されている方法のいずれかで分散データ分析を実行することができる。
【0101】
特に、1つ以上の外部データ分析アプリケーション650Aは、任意の種類の1つ以上の外部データソースから直接取得されたデータに対して動作し、処理済みデータをイベントストリーム612に提供することができ、処理済みデータは、例えば、中間データ(何らかの中間形式における分析的に処理されたデータ)の形式であり、計算およびアクションが、データ処理パイプラインにおける次の関数(分析アプリケーション)によって中間データに対して実行される必要がある。アクションは、次のまたはダウンストリームの分析アプリケーションによってデータに対して実行される方法または機能、データのメタデータ、中間または処理済みデータまたは計算の記述などを含む場合がある。さらに、中間データは、イベントストリーム612の他のユーザによるデータの理解または解釈を可能にするために、イベントストリーム612に置かれているデータのモデルまたは他の記述を含む場合がある。(上記のデータソース602の特定の例である)データソース650Aは、登録されたデータソース602であり、処理済みデータ、機能、およびアクション(ならびに付随するメタデータ)をゲートウェイ610に提供し、次いで、ゲートウェイ610は、このデータまたは情報を別個のイベントとしてイベントストリーム612に配置する。もちろん、マイクロサービス520は、任意の所望の方法でこのデータ(イベントデータ)に対して動作することができる。しかしながら、さらに、1つ以上の他の外部データ分析アプリケーション650B~650Nは、システム600に、より具体的には、イベントストリーム612に接続して、イベントストリーム612からイベントデータを取得し、このイベントデータに対して追加の処理を実行し、新しいデータまたはより完全に処理されたデータを、再び中間データの形式で、計算およびアクションがそのデータに対して実行される必要がある形式で、新しいイベントとしてイベントストリーム612に配置することができる。このようにして、イベントストリーム612は、様々な異なるデータ分析アプリケーション650間の通信パスとして機能して、アプリケーション650が事前決定された順序および/または方法で分散データ分析を実行することを可能にする。
【0102】
重要なことに、データ分析アプリケーション650は、1つ以上の別個の外部通信ポートまたはパスまたは接続を介してイベントストリーム612へのアクセスを許可され得、その結果、これらのアプリケーション650は、新しいイベントを、(その新しいイベントデータを使用し得る次のデータ分析アプリケーション650のイベントデータを時間順に並べるために)任意の適切な場所でイベントストリーム612に配置することができる。必要に応じて、データ分析アプリケーション650A~650Nの各々は、1つ以上のデータソース登録アプリケーション604を使用して、データソース登録およびセキュリティコンポーネント614および616を用いて上記の方法で検証および登録され得る。さらに、データ分析アプリケーション650A~650Nは、任意のプラント内またはプラント外のコンピュータシステムを含む、任意の外部デバイスまたはシステムにおいて記憶および実行され得る。同様に、タスクエンジン640を使用して、データ分析アプリケーション650によってイベントストリーム612に配置されたイベントの順序付けを編成して、1つの分析アプリケーション650からのデータ(中間データ、計算およびアクション)が、適切な順序で別の分析アプリケーション650に提供される、効率的なイベント通信パイプラインを作成することができる。同様に、データ分析アプリケーション650の各々の出力は、別個のイベントとしてイベントストリーム612に配置され得、それにより、これらのイベント(およびそれらの基礎となるデータ)は、マイクロサービス620による分析または使用に利用可能になり、最終的には、データベース622および624に作成されて、記憶されたイベントデータとしての使用に利用可能になり、データベース622および624は、API630を介して他のデータマイニング、分析およびデータ視覚化アプリケーション606をサポートする。
【0103】
いずれにせよ、理解されるように、システム600、具体的には、システム600のイベントストリーム612を使用して、データ処理を実行して、データ視覚化、データマイニング、およびデータ分析の使用を容易にすることを可能にするだけでなく、分散データパイプラインベースのデータ分析プラットフォームで使用するためのデータ記憶および通信構造を提供することができる。
【0104】
理解されるように、特に、図6に関して説明されたシステム600は、包括的なデータ視覚化、データマイニング、およびデータ分析を実行するためのユニークで有益なプラットフォームである。特に、プラットフォームまたはシステム600は、クラウド対応アーキテクチャを提供し、ここで、「クラウド」という用語は、最小限の管理作業で迅速にプロビジョニングおよびリリースできる構成可能コンピューティングリソース(すなわち、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有プールへのオンデマンドネットワークアクセスを提供する環境を指す。さらに、このシステムは、オンプレミスで、サポートされるクラウドプロバイダ上に、またはハイブリッドソリューションとして展開可能であり得る。
【0105】
さらに、システム600は、データ収集、マイニング、視覚化、および分析のための応答性が高く、順応性があり、弾力性のあるソリューションを実装する。システム600は、一貫したサービス品質を与える迅速で一貫した応答時間を提供するので、概して、システム600は、応答性が高く、ユーザビリティの基礎である。さらに、システム600は、入力の変化に応じてリソースを増減することにより、変動するワークロードの下で応答性を維持する順応性のあるソリューションであり、システム600は、故障が発生した場合に応答性を維持するため、弾力性のあるソリューションである。
【0106】
さらに、システム600は、隣接するアプリケーションとの容易なリアルタイム統合を提供する。特に、システム600は、ネイティブの低遅延メカニズムを実装して、MES機能を、制御システム(連続およびバッチ制御)、ERPシステム、LIMSシステム、および他の隣接するアプリケーションなどの他の既存のプラントアプリケーションおよびシステムと統合する一方で、時間の経過とともに構成、変更、および保守を行うのが容易であり、また一方で、ソリューションの新しいバージョンを必要とせずに、コンテキスト内に新しいデータソースを導入することを可能にする。
【0107】
同様に、システム600は、製造プロセス、資産、および/または様々なユーザのための個別のタスクをモデル化することができるワークフロー実行エンジンを含む汎用ワークフローエンジンであり、その結果、エンドユーザエクスペリエンスは柔軟であるが、MES機能とのネイティブ統合を提供しながらネイティブであると感じられる。さらに、システム600は、データ視覚化、マイニング、および分析アプリケーションのすべてによって使用される真の単一バージョンを提供することによって(すなわち、真の本当の単一ソースを表すイベントのローリングウィンドウを保持することによって)、プロセスの「パルス」を表すイベントの連続ストリームをキャプチャすることによって、プロセス環境に対するより新鮮なまたはより最近の洞察を提供し、連続ストリームの自動的なほぼリアルタイムの処理を可能にし、それによってミリ秒単位の応答時間が可能になるために、かつ、今日存在する様々なトランザクションシステム間の特注のポイントツーポイント接続をなくすことによって、今日使用されている複雑なアーキテクチャを解決する、より単純なアーキテクチャを組み込むことにより、より高速な応答を提供する。
【0108】
さらに、システム600は、CI/CD用の最先端の開発(DevOps)パイプラインを提供する。特に、システム600は、小さいバッチ、自動テスト(ユニット、統合、ロード、およびセキュリティ)、データの継続的統合、および製造ライクな環境への継続的展開を実装またはサポートするように、DevOpsの原則を中心としてアーキテクチャ、プロセス、および文化を提供し、このシステムは、インフラストラクチャをコードとして提供する。さらに、システム600は、ソリューション全体の設置、セキュリティ保護、構成、保守、スケーリング、トラブルシューティング、およびアップグレードを簡素化する機能を含んでいるため、選択されたクラウド対応アーキテクチャおよびウェブベースのアプリケーションに対してセキュリティのベストプラクティスを採用または簡単に実装できるため、実行時の管理が安全で容易である。
【0109】
システム600を実装するために任意のプログラミングパラダイムを使用することができるが、プラットフォーム600を構成するすべてのソフトウェアコンポーネントを、コンテナ内でまたはコンテナとして稼働または実行するように構成することが好ましいことが分かるであろう。その場合、これらのコンテナは、システム600が安定し、効率的な方法で稼働され、高度に(例えば、水平方向に)スケーラブルであることを可能にする、オーケストレーションエンジンによって管理され得る。
【0110】
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、およびエンジンはいずれも、コンピュータもしくはプロセッサのRAMもしくはROMなどにおける磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体などの、任意の有形の非一時的コンピュータ可読メモリに記憶され得る。本明細書に開示される例示的システムは、コンポーネントの中でも、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェアコンポーネントのうちのいずれかまたはすべてが、ハードウェアにのみ、ソフトウェアにのみ、またはハードウェアおよびソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアに実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方式ではないことを、当業者は容易に認識するであろう。
【0111】
したがって、本発明は具体的な例に関して記載されてきたが、これらは例示であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。
図1
図2
図3
図4A
図4B
図4C
図5A
図5B
図6