(57)【要約】【課題】プロセスプラント環境でデータモデルをグラフィカルに作成し、実行するための頑健で効率的なアーキテクチャの提供。【解決手段】データモデリングスタジオは、モデルのグラフィカルな構築を容易にするために、ユーザインターフェース要素を生成するための構成エンジンと、例えばオフラインまたはオンライン環境で、データモデルを実行するためのランタイムエンジンとを含む。構成エンジンは、ユーザインターフェース要素を生成するインターフェースルーチンと、モデルのビルディングブロックとしての役割を果たす、メモリに記憶した複数のテンプレートと、グラフィカルモデルをランタイムエンジンによって実行可能なデータフォーマットに変換するモデルコンパイラとを含む。ランタイムエンジンは、メモリからテンプレートに対応するデータを取り出すための取り出しルーチンと、実行可能なモデルを実行するためのモデリングルーチンとを含む。【選択図】図１
2019091513.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントデータベースに記憶したプロセスプラントからのプロセス制御データを分析して前記プロセス制御データに関する関係及び傾向を発見するコンピュータで実装される方法であって、
出力を生成するために１つ以上のデータソースに対して行われる第１の処理ルーチンを定義するデータモデルのユーザ選択を、ユーザインターフェースデバイスを介して受信するステップと、
前記プロセスプラントのビッグデータアプライアンスに記憶されたプロセス制御データを表示するデータ探索インターフェースを生成するステップと、
ユーザインターフェースルーチンを介して、前記データモデルによって処理される入力を定義するプロセス制御データの選択を受信するステップと、
前記選択したプロセス制御データに対して前記データモデルを実行して前記出力を生成するステップと、
ユーザが、ユーザインターフェースデバイスを介して、前記データモデルの出力を閲覧することを可能にする出力探索インターフェースを生成するステップと、
を有し、
前記ビッグデータアプライアンスに記憶されたプロセス制御データに関連する発見された関係または傾向の少なくとも１つを表示する前記出力されたデータモデルは、
前記プロセスプラントで使用するハードウェア及びソフトウェアモジュールを定義する構成データ、
前記プロセスプラントの前記ハードウェア及びソフトウェアモジュール間の１つ以上の階層関係を定義する階層データ、
前記プロセスプラントの前記ハードウェア及びソフトウェアモジュール間の１つ以上の相互接続を定義する接続データ、及び
前記ハードウェア及びソフトウェアモジュールから記録される値に対応するプロセス測定データを含む、
前記コンピュータで実装される方法。
【請求項２】
前記ユーザインターフェースデバイスを介して、プロセスプラントで測定または生成されるオンラインまたは履歴プロセスパラメータデータを提供するデータソースを定義する、前記プロセス制御データのユーザ選択を受信することをさらに含む、請求項１に記載の前記コンピュータで実装される方法。
【請求項３】
前記１つ以上のプロセッサによって、前記データモデルの第２の実行への入力として前記データモデルの第１の実行の出力を使用して、前記データモデルを反復的に実行することをさらに含む、請求項１または２に記載の前記コンピュータで実装される方法。
【請求項４】
前記１つ以上のプロセッサによって、ユーザ対話を伴わずに、知識発見方法の反復の少なくとも１つを実行することをさらに含む、請求項１〜３のいずれか１項に記載の前記コンピュータで実装される方法。
【請求項５】
前記データモデルによって２回目の実行の間に処理される第２の入力であって前記データモデルによって１回目の実行の間に出力された出力に基づく第２の入力を定義するプロセス制御データの第２のユーザ選択を受信すること、及び２回目の実行の間に前記データモデルを実行して前記第２の入力に基づいた第２の出力を生成することをさらに含む、請求項１〜４のいずれか１項に記載の前記コンピュータで実装される方法。
【請求項６】
前記ユーザインターフェースデバイスを介して、データマイニングルーチン、データ前処理ルーチン、データマージングルーチン、または前記データモデルの前記出力に対して行われる機能、のうちの少なくとも１つを指定するデータモデルのユーザ選択を受信することをさらに含む、請求項１〜５のいずれか１項に記載の前記コンピュータで実装される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許は、全般的に、プロセスプラント及びプロセス制御システムに関し、より具体的には、プロセスプラント及び／またはプロセス制御システムで、特に、ビッグデータアーキテクチャを実装するプロセス制御システムで、データ処理モデルを作成し、実行するためのデータモデリングスタジオの使用に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスプラントで使用されるような分散型プロセス制御システムは、一般的に、アナログバス、デジタルバス、もしくは組み合わせたアナログ／デジタルバスを介して、または無線通信リンクもしくはネットワークを介して、１つ以上のフィールドデバイスに通信可能に連結された１つ以上のプロセスコントローラを含む。例えば弁、弁ポジショナ、スイッチ、及び送信機（例えば、温度、圧力、レベル、及び流速センサ）であり得るフィールドデバイスは、プロセス環境内に位置し、全般的に、弁の開放または閉鎖、プロセスパラメータの測定等の、物理的機能またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行する１つ以上のプロセスを制御する。よく知られているフィールドバスプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスはまた、制御計算、警報機能、及び一般的にプロセスコントローラ内に実装される他の制御機能も行い得る。同じく一般的にプラント環境内に配置されるプロセスコントローラは、フィールドデバイスによって行われるプロセス測定値及び／またはフィールドデバイスに関する他の情報を示す信号を受信し、そして、例えばプロセス制御の決定を行い、受信した情報に基づいて制御信号を生成し、ＨＡＲＴ（登録商標）、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）、及びＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスフィールドデバイス等のフィールドデバイスで行われている制御モジュールまたはブロックと協調する異なる制御モジュールを動作させる、コントローラアプリケーションを実行する。コントローラの制御モジュールは、通信ラインまたはリンクを通じて、制御信号をフィールドデバイスに送り、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
【０００３】
フィールドデバイス及びコントローラからの情報は、通常、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または一般的により厳しいプラント環境から離れた制御室または他の場所に配置される他の集中管理コンピューティングデバイス等の１つ以上の他のハードウェアデバイスに、データハイウェイを通じて利用できるようにされる。これらのハードウェアデバイスのそれぞれは、一般的に、プロセスプラント全体にわたって、または、プロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、プロセス制御ルーチンの設定変更、コントローラまたはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の確認、フィールドデバイス及びコントローラによって生成される警報の確認、人員の訓練またはプロセス制御ソフトウェアの試験の目的でのプロセスの動作のシミュレーション、構成データベースの維持及び更新等の、プロセスの制御及び／またはプロセスプラントの動作に関する機能を、オペレータが行うことを可能にし得る、アプリケーションを動作させる。ハードウェアデバイス、コントローラ、及びフィールドデバイスによって利用されるデータハイウェイは、有線通信経路、無線通信経路、または有線及び無線通信経路の組み合わせを含み得る。
【０００４】
一例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な場所に位置する異なるデバイス内に記憶され、それによって実行される複数のアプリケーションを含む。１つ以上のワークステーションまたはコンピューティングデバイスに常駐する構成アプリケーションは、ユーザが、プロセス制御モジュールを作成及び変更し、データハイウェイを介して、これらのプロセス制御モジュールを専用の分散型コントローラにダウンロードすることを可能にする。一般的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、該機能ブロックは、それに対する入力に基づいて、制御スキーム内で機能を行い、制御スキーム内の他の機能ブロックに出力を提供する、オブジェクト指向プログラミングプロトコルにおけるオブジェクトである。構成アプリケーションはまた、構成の設計者が、視聴アプリケーションによって、データをオペレータに表示し、オペレータがプロセス制御ルーチン内の設定点等の設定を変更することを可能にするために使用される、オペレータインターフェースを作成または変更することも可能にし得る。各専用のコントローラ、及びいくつかの事例では１つ以上のフィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを動作させて、実際のプロセス制御機能性を実装する、それぞれのコントローラアプリケーションを記憶し、実行する。１つ以上のオペレータワークステーション上（または、オペレータワークステーション及びデータハイウェイと通信接続している１つ以上のリモートコンピューティングデバイス上）で実行され得る視聴アプリケーションは、データハイウェイを介して、コントローラアプリケーションからデータを受信し、そして、ユーザインターフェースを使用して、このデータをプロセス制御システム設計者、オペレータ、またはユーザに表示し、また、オペレータの見解、エンジニアの見解、技術者の見解等の、いくつかの異なる見解のいずれかを提供し得る。データヒストリアンアプリケーションは、一般的に、データハイウェイ全体にわたって提供されるデータの一部または全部を収集し、記憶する、データヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、データハイウェイに取り付けられたなおさらなるコンピュータで動作して、現在のプロセス制御ルーチンの構成及びそれと関連付けられるデータを記憶し得る。あるいは、構成データベースは、構成アプリケーションと同じワークステーションに位置し得る。
【０００５】
現在知られているプロセス制御プラント及びプロセス制御システムのアーキテクチャは、限定されたコントローラ及びデバイスメモリ、通信帯域幅、ならびにコントローラ及びデバイスプロセッサの能力に強く影響を受ける。例えば、現在知られているプロセス制御システムアーキテクチャにおいて、コントローラにおける動的及び静的不揮発性メモリの使用は、通常、最小にされるか、または少なくとも慎重に管理される。その結果、システム構成中に（例えば、演繹的に）、ユーザは、一般的に、コントローラのどのデータをアーカイブまたは保存するか、保存する際の頻度、及び圧縮が使用されるかどうか、を選択しなければならない。その後に、コントローラは、それに応じてこの限られた１組のデータルールで構成される。結果的に、トラブルシューティング及びプロセス分析に有用であり得るデータは、しばしばアーカイブされず、該データが収集される場合、データ圧縮のため、有用な情報が失われている場合がある。
【０００６】
追加的に、現在知られているプロセス制御システムのコントローラのメモリ使用量を最小にするために、（コントローラの構成によって示されるように）アーカイブまたは保存される選択データが、適切なデータヒストリアンまたはデータサイロでの記憶のために、ワークステーションまたはコンピューティングデバイスに報告される。データを報告するために使用される現在の技法は、通信リソースを十分に使用しておらず、過剰なコントローラ負荷を生じさせる。追加的に、ヒストリアンまたはサイロでの通信及びサンプリングにおける時間遅延のため、データ収集及びタイムスタンピングは、しばしば、実際のプロセスと同期しない。
【０００７】
同様に、バッチプロセス制御システムでは、コントローラメモリ使用を最小にするために、コントローラ構成のバッチレシピ及びスナップショットは、一般的に、集中管理コンピューティングデバイスまたはある場所（例えば、データサイロまたはヒストリアン）に記憶されたままであり、必要なときにだけコントローラに転送される。そのようなストラテジは、コントローラに、及びワークステーションまたは集中管理コンピューティングデバイスとコントローラとの間の通信に、多大なバースト負荷を導入する。
【０００８】
さらに、以前のディスク記憶装置の高いコストと組み合わせた、現在知られているプロセス制御システムのリレーショナルデータベースの能力及び性能の限度は、特定のアプリケーションの目的に合わせるために、データの取り出し及び記憶を独立したエンティティまたはサイロに構造化する際に大きな役割を果たす。例えば、いくつかの現在のシステム内での、プロセスモデル、連続する履歴データ、ならびにバッチデータ及びイベントデータのアーカイビングは、３つの異なるアプリケーションデータベースまたはデータのサイロに保存される。各サイロは、そこに記憶されたデータにアクセスするために、異なるインターフェースを有する。
【０００９】
このようにしてデータを構造化することは、履歴化したデータにアクセスし、使用する様式に障壁を生じさせる。例えば、製品品質のばらつきの根本的原因は、これらのデータサイロのうちの１つ以上に記憶されたデータと関連付けられ得るか、または該データによって決定され得る。しかしながら、サイロの異なるファイル構造のため、分析のためにこのデータに迅速かつ容易にアクセスすることを可能にするツールを提供することは、不可能であるか、または少なくともそれほど容易ではない。さらに、異なるサイロにわたるデータが整合していることを確実にするために、監査機能または同期機能を行わなければならない。
【００１０】
上で論じられる現在知られているプロセスプラント及びプロセス制御システムの限度、及び他の限度は、データモデルの構成または作成のためのデータの収集において、それら自体を不所望に呈し得、該データモデルは、プロセスの動作をモデル化もしくは推定する、または収集したプロセスデータを使用して、もしくは実際のもしくはシミュレーションしたプロセスからのプロセスデータに基づいて、プロセスのいくつかの態様の分析を行う、任意のルーチンを含み得る。現在知られているシステムは、ユーザが望むデータを収集すること、及び所望のデータを収集するためにプラント装置を構成することをユーザに要求する。ユーザが、その後に追加的なデータが必要であると判断した場合、ユーザは、新しいデータを収集するためにプラントを再構成し、また、新しいデータを収集するためにプラントを運営しなければならず、これは、数週間〜数カ月程度かかり得るプロセスである。ユーザが、モデルを作成し始めるときに、ましてプラントを構成し始めるときに、プロセスに対するモデルを作成するために必要とされ得るデータの全てを知ることは滅多にないので、現在知られているシステムは、しばしば、実際のプロセスの中で非効率的または非実用的な、複雑なプロセスモデリングを作成する。プラントが必要なデータの全てを収集できる場合であっても、現在知られているシステムのメモリ及び帯域上の制約は、通常、収集したデータを高度に圧縮すること、低頻度で収集すること、及び／またはシフトされたもしくは不正確なタイムスタンプを有することを必要とする。故に、データは、しばしば、プラントの運営に関して複雑な予測及び判断を行うには不正確で、不完全で、かつ使用不可能であり得る。
【００１１】
「ビッグデータ」は、一般に、大き過ぎるまたは複雑過ぎるため、従来のデータベース管理ツール及び／またはデータ処理アプリケーション（例えば、リレーショナルデータベース及びデスクトップ統計パッケージ）が、許容できる時間内でデータセットを管理することができない、一群の１つ以上のデータセットの集合体を指す。一般的に、ビッグデータを使用するアプリケーションは、トランザクション及びエンドユーザー指向であるか、またはそれに重点を置いている。例えば、ウェブ検索エンジン、ソーシャルメディアアプリケーション、マーケティングアプリケーション、及び小売アプリケーションは、ビッグデータを使用し、操作し得る。ビッグデータは、現代のマルチプロセス、マルチコアサーバの並列処理能力を完全に利用することを可能にする、分散型データベースによってサポートされ得る。近年、これまで利用できなかったレベルでプロセス制御データをアーカイブするために、プロセス制御システム内にビッグデータまたはビッグデータマシンを取り込む方向で、いくつかの開発がなされてきた。しかしながら、現在は、プラント動作の包括的または系統的分析を行う、傾向を検出できる、予測分析を行う、プラント動作の異常を検出する、より経済的に運営するようにプラントを再調整または再構成する、等のために、プロセスプラントまたはプロセスから収集されるこのデータを分析または使用する能力が全くないか、または非常に限られている。特に、ユーザは、依然として、特定の様式でデータを処理するために、データモデルまたはモデリングルーチンを手動で作成し、試験しなければならず、これは、非常に時間がかかり、行うことが困難である。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
データモデリングスタジオは、データモデルをグラフィカルに作成またはプログラミングするための構造化環境を提供し、該データモデルは、例えば、プロセスプラント内の関係のより系統的または包括的な診断、予知、分析、識別等を行う目的で、ビッグデータマシンからのデータを使用または分析するように構成され得る。データモデリングスタジオは、データモデルのグラフィカルな構築またはプログラミングを容易にするために、ユーザインターフェース要素を生成するための構成ルーチンまたはエンジンと、プロセスのまたはそれに関する分析を行うために、モデルを実行するためのランタイムエンジンとを含む。構成エンジンは、ユーザインターフェース要素を生成するインターフェースルーチンと、モデルのビルディングブロックとしての役割を果たす、メモリに記憶した複数のモデルテンプレートと、作成したモデルをランタイムエンジンによって実行可能なソフトウェアフォーマットに変換するモデルコンパイラとを含み得る。ランタイムエンジンは、モデルを実行する際に使用されるデータを取り出すためのデータ取り出しルーチンと、実行可能なモデルを動作させる、または実行するモデル実行ルーチンとを含み得る。
【００１３】
インターフェースルーチンは、メモリに記憶した命令を含み得、該命令は、プロセッサで実行したときに、データモデルを作成する際に使用するために利用可能な複数群のモデルテンプレートを表示するユーザディスプレイ上のライブラリ領域、及びデータモデルをグラフィカルに作成するための主提示ウィンドウとしての役割を果たすキャンバス領域を生成する。より具体的には、ライブラリ領域は、モデルテンプレートを表示し得、該モデルテンプレートは、データ入力インジケータテンプレート、データ出力インジケータテンプレート、数学的演算もしくは他の機能動作、またはデータ処理テンプレート等の形態で、モデルを構築するために使用される要素である。したがって、モデルテンプレートは、プラントから収集されるデータのデータソース、プロセスプラントの中のデバイス、プラントからのデータに対して行われる数学的演算、データモデルの出力を受信するためのデータ受信機（例えば、デバイス、インターフェース等）を示し得る、メモリに記憶した一般的なモデル要素である。いくつかの実施形態において、データモデルに使用されるデータは、ビッグデータマシンに記憶される包括的な高忠実度のデータであり得、ビッグデータアーキテクチャを実装するプロセスプラントの種々のパラメータのいずれかまたは全てを定義する。
【００１４】
全般的に、ユーザは、データモデリングスタジオの構成ルーチンを使用して、（構築されているときにデータモデルをグラフィカルに表示する提示ウィンドウをユーザに提供する）キャンバス領域内にモデルテンプレートをグラフィカルに配設し、モデル内で実行したときにテンプレートが互いに通信する様式を定義するためにモデルテンプレートをグラフィカルに相互接続し、テンプレートのパラメータを構成し、データモデルへの入力としてデータソースを選択し、そのデータに対して行われる機能を選択し、そして、データモデルによって生成される出力がプラントに提示される、またはそこで使用される１つ以上の様式を選択し得る。例えば、ユーザは、１つ以上のモデルテンプレートまたはモデルテンプレートのインジケータをライブラリから選択し、それらをキャンバス領域にドラッグし、そして、それらをそこにドロップし得る。ユーザは、次いで、データをテンプレート間で渡す等のために、テンプレートがどのように互いに相互作用するのかを定義するために、キャンバス領域内の種々のテンプレートをグラフィカルに相互接続し得る。ユーザはまた、ある特定の様式で、またはある特定のデータに対してテンプレートを行わせる、テンプレートに名前を付ける、等のために、種々の様式で各テンプレートの修正または構成も行い得る。モデルコンパイラは、ユーザインターフェースルーチンを使用してユーザによって作成されるデータモデルのグラフィカルな表現を、ランタイムエンジンによってサポートされる実行可能なフォーマットで、コンパイル済みモデルに変換するための、メモリに記憶したコンパイラルーチンを含み得る。データモデルはまた、新しいテンプレートとしてメモリに保存され得、コンパイル済みモデルは、実行可能なモデルとしてメモリに保存され得る。その後に、データモデルは、ビッグデータマシン（または他のデータベース）に記憶したプロセスプラントデータを分析するため、プラントからのリアルタイムデータを分析するため等の、プラントからのデータを分析するために、プラント環境内のランタイムエンジンによって動作または実行され得る。
【００１５】
いくつかの事例において、ユーザは、データモデルを作成し、ビッグデータマシン（または他の履歴データベース）内に記憶される履歴データに対してこのモデルを動作させて、データモデルがその意図する目的に対して適切に動作するかどうかを確認し得る。適切に動作しない場合、ユーザは、例えばデータモデル内の追加的なプロセスパラメータまたはプロセスデータを取り込むことによって、データモデルを変更または変化させ得、次いで、変更したデータモデルを同じ組の履歴データ（または同じ期間からのデータ）に返して、それによって、変更したモデルを試験し得る。データモデリングスタジオが、プロセス内で生成または検出されたデータの全部または大部分を収集するビッグデータマシンを有する、プロセスプラントに接続されたとき、このデータは、プロセスのビッグデータアーキテクチャの一部として収集されているので、変更されたモデルで使用される新しいパラメータと関連付けられるデータは、ビッグデータ履歴データベースで直ちに利用可能である。このようにして、モデル作成者は、プラントのオンライン環境内、プラントのシミュレーション環境内、プラントの知識発見環境内、等でこれらのモデルを動作させる前に、履歴データに対するモデルを迅速にまたはより容易に設計、試験、変更、及び再試験することができる。
【００１６】
したがって、ユーザは、構成エンジンを使用して、プラントによって作成される製品の特性を決定する、プラント装置による障害を検出する、プラントの動作内の障害を検出する、プラントの動作を分析する、プラントの動作をモデリングする、プラント内の現在の問題を診断する、プラント内の潜在的な将来の問題を予測する、プラントデータ及びプラント装置内の関係を識別する、等のためのモデルをグラフィカルに作成し、コンパイルし得る。
【００１７】
全般的に、ランタイムエンジンは、所望の出力を生成するために、１つ以上のコンパイルされたデータモデルを実行する。ランタイムエンジンは、メモリからの（ビッグデータマシンからの、等）またはプラント自体からのモデルのデータ入力テンプレートに対応するデータを取り出すための取り出しルーチンを含み得、また、実行可能なモデルを実行するモデル実行ルーチンを含み得る。より具体的には、プロセッサは、モデルで使用されるグラフィカルなデータ入力テンプレートに対応するデータソースからデータを取り出すために、メモリから、取り出しルーチンを実行し得る。いくつかの実施形態において、取り出しルーチンは、プロセス制御システムの中の１つ以上のデバイスから取り出したデータを記憶するために使用されるビッグデータアプライアンスからデータを取り出し得る一方で、モデル実行ルーチンは、取り出したデータを使用して出力を生成するために、（メモリから取り出されるテンプレートを使用して作成される）コンパイル済みモデルを実行する、メモリに記憶した命令を含む。モデル実行ルーチンは、構成エンジンを使用して作成されたモデル、またはデータモデリングスタジオとともに含まれる予め構成されたモデルを実行し得る。いくつかの実施形態において、プラントの１つ以上のデバイスは、モデル実行ルーチンを自動的に実行して、データモデルを動作させ得る一方で、いくつかの他の実施形態において、ユーザは、モデル実行ルーチンを実行してモデルを動作させることに決定し得る。さらに、モデル実行ルーチンは、メモリに記憶した履歴データに対してモデルが動作され得るプラントの動作から分離されたオフライン環境で、データモデルを実行し得る。モデル実行ルーチンはまた、オンライン環境でモデルを動作させ得、取り出しモデルは、プラントの中の１つ以上のデバイスから、及び／またはビッグデータアプライアンスから、リアルタイムまたはほぼリアルタイムのデータストリームを取り出して、プラントの動作に影響を及ぼす出力を生成し得る。さらに、プロセッサは、バックグラウンドで（すなわち、ユーザ対話を伴わずに、プロセス制御システムのデバイスによって動作される）で、またはフォアグラウンド（ユーザ対話を伴う）で、モデル実行ルーチンを実行し得る。
【課題を解決するための手段】
【００１８】
本明細書で説明されるデータモデリングスタジオは、プロセスプラント環境でデータモデルをグラフィカルに作成し、実行するための頑健で効率的なアーキテクチャを提供し、また、ビッグデータマシンに記憶したデータを分析する際に特に有用である。データモデリングスタジオが、収集される全ての（またはほぼ全ての）プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンスを含むビッグデータアーキテクチャを利用して、プロセスプラントで実装されたときに、データモデリングスタジオは、そのデータを使用して、モデルの効率的な作成、試験、及び動作を可能にする。例えば、ユーザは、データモデリングスタジオを使用して、追加的なデータを収集するためにプラントの動作を再構成することを必要とすることなく、データモデルをグラフィカルかつ反復的に作成し、編集し得、これは、はるかに速いモデル開発環境を生じさせる。さらに、いくつかの事例において、プラントデータの全てがビッグデータマシンで利用可能であるので、種々の様式でモデル自体を反復または変更して、モデリングルーチン内で新しい、さらなる、または異なるデータを追加するために、またはモデリングルーチンの一部として新しいまたは異なるデータを分析するために、モデルが作成され得、モデル自体を試験し、モデル自体を反復的に変更することで、より良好なまたはより正確な予測、傾向分析、障害、もしくは異常な状況の検出等を提供する、より良好なまたはより正確なモデルを開発する。さらに別の事例において、ユーザは、そのデータに関して、したがって、プラントに関して、ビッグデータマシン内のデータを分析して関係、傾向等を発見するために知識発見環境で使用することができる、１つ以上のデータモデルを作成し得る。
【図面の簡単な説明】
【００１９】
【図１】プラントからのデータを収集し、記憶するビッグデータマシンと、プラントから収集したデータを使用または分析するデータモデルを作成し、実行するために使用され得るデータモデリングスタジオとを含む、プロセスプラントまたはプロセス制御システムの実施例のブロック図である。
【図２】一般的なプラント環境内で接続されたときの、図１のデータモデリングスタジオの例示的な実施形態のブロック図である。
【図３】図１及び図２のデータモデリングスタジオのグラフィカルなユーザインターフェースの画面提示の図である。
【図４】図１及び図２のデータモデリングスタジオを使用してデータモデルを作成する例示的な方法のフロー図である。
【図５】モデルを作成または実行するために使用され得るデータエクスプローラの画面提示の図である。
【図６】プロセスプラントまたはプロセス制御システムのための、例示的なビッグデータネットワークの中の複数群のノードの例示的な配設を例示するブロック図である。
【図７】データモデリングスタジオを使用して作成し、実行するモデルによって使用するためのデータを収集するプロバイダノードの例示的な配設を例示するブロック図である。
【図８】データモデリングスタジオを使用して作成し、実行するモデルによって使用するためのデータを記憶または履歴化するためのアプライアンスデータ受信機の例示的な使用を例示するブロック図である。
【図９】プロセス制御システムまたはプロセスプラントで実行される例示的な知識発見方法１１００のフロー図である。
【００２０】
図面は、単に例示の目的で本発明の実施形態を描写する。当業者は、本明細書で例示される構造及び方法の代替の実施形態が、本明細書で説明される本発明の原理を逸脱することなく用いられ得る、以下の議論から容易に認識するであろう。
【発明を実施するための形態】
【００２１】
図１は、プロセスプラント内のデータを収集するビッグデータネットワーク１００を含む、プロセスプラントの例示的なプロセス制御システム１０のブロック図である。図１のプロセス制御システムは追加的に、データモデリングスタジオ１０９を実行して、ユーザが、ビッグデータネットワークによって収集されるデータに対して種々のデータモデルを作成し、動作させること可能にする、例えばプロセスプラント環境内に提供される、ユーザインターフェースステーション１０３を含む。ユーザインターフェースステーション１０３はまた、プロセスプラントから取り出されるデータを発見し、評価するために、系統的または包括的な関係の診断、予知、分析、識別等を行うモデルを実行する、データ知識アプリケーション１１４も実行する。図１は、単一のユーザインターフェースステーション１０３だけがデータモデリングスタジオ１０９及びデータ知識アプリケーション１１４をホストすることを描写しているが、いくつかの実施形態において、データモデリングスタジオ１０９及びデータ知識アプリケーション１１４は、異なるユーザインターフェースステーション１０３、複数のユーザインターフェースステーション１０３上でホストされ得るか、またはプロセスプラント１０９の１つ以上のデバイスの間で分散され得る。より具体的には、プラントまたはプロセス制御システム１０内に実装されるデータモデリングスタジオ１０９は、データモデル（モデリングルーチン）を系統的かつ効率的に定義または作成する際に支援するツールをユーザまたはモデル開発者に提供し、該データモデルは、プラントから以前に収集した履歴データ、プラント内で現在収集しているリアルタイムデータ、または双方に対して、プラント環境内で動作する。データモデリングスタジオ１０９及びデータ知識アプリケーション１１４は、ビッグデータネットワーク１００が、プラントまたはプロセス制御システム１０内で生成される、または収集されるデータの全部または大部分を収集し、記憶し、そして、該データに対する効率的なアクセスを提供する、という事実を利用する。さらに、データモデリングスタジオ１０９は、このデータを使用して、プラントまたはプロセス制御システム１０内でモデルを設計し、試験し、そして実装する、より効率的な様式をモデル開発者に提供する。データ知識アプリケーション１１４は、プラントまたはプロセス制御システム１０にモデルを移植するための、ならびに、データと実行したモデルの結果との間の関係を調査及び探索するための追加的な環境を提供する。図１で例示されるように、データモデリングスタジオ１０９は、ユーザインターフェースステーション１０３上等の、１つ以上のデバイスの１つ以上のプロセッサによって実行される、１組の命令であり得る。当然、データモデリングスタジオ１０９は、当該のタブレット、モバイル電話、ラップトップコンピュータ、デスクトップコンピュータ、サーバ等の様々なコンピューティングデバイスのいずれかで実行され得、また、１つのデバイス内で実行するか、または任意の数のそのようなデバイスの間で分散され得る。同様に、データ知識アプリケーション１１４は、１つ以上のデバイスの１つ以上のプロセッサによって実行され、様々なコンピューティングデバイスのうちのいずれかで実行される、１組の命令であり得る。
【００２２】
一般的な意味において、例示的なプロセス制御システムビッグデータネットワーク１００は、プロセス制御システムビッグデータ装置またはアプライアンス１０２と、プロセス制御システムビッグデータネットワークバックボーン１０５と、バックボーン１０５に通信可能に接続される複数のノード１０８とを含む。ノード１０８は追加的に、コントローラ、フィールドデバイス、プラント装置等のようなプロセスプラント装置に接続される。プロセス関連のデータ、プラント関連のデータ、通信関連のデータ、及び他のタイプのデータは、複数のノード１０８で収集され、キャッシュされ得、そのデータは、長期間の記憶（例えば、「履歴化」）及び処理のために、ネットワークバックボーン１０５を介して、プロセス制御システムビッグデータ装置またはアプライアンス１０２に送達され得る。データの少なくとも一部は、例えばリアルタイムでプロセスを制御するために、ネットワーク１００のノード１０８間で送達され得る。
【００２３】
プロセス制御システム１０に関連する任意のタイプのデータは、プロセス制御システムビッグデータアプライアンス１０２で収集され、記憶され得る。例えば、プロセスがプロセスプラント１０で制御されている間に生成される（及びいくつかの事例では、プロセスのリアルタイムの実行の効果を示す）連続データ、バッチデータ、測定データ、及びイベントデータ等のリアルタイムプロセスデータが収集され、記憶され得る。さらに、プロセスプラント構成データ及び／またはバッチレシピデータ等の、プロセスの定義、配設、または設定のデータが収集され、記憶され得る。追加的に、プロセス診断の構成、実行、及び結果に対応するデータが収集され、記憶され得る。当然、警報または警告等の他のタイプのプロセスデータも収集され、記憶され得る。類似する様式で、バックボーン１０５の、及びプロセスプラント１０の種々の他の通信ネットワークのデータハイウェイトラフィックデータ及びネットワーク管理データが収集され、記憶され得る。同様に、ユーザトラフィック、ログイン試行、クエリ、及び命令に関連するデータ等の、ユーザ関連のデータが収集され、記憶され得る。なおさらに、テキストデータ（例えば、ログ、操作手順、マニュアル等）、空間データ（例えば、場所に基づくデータ）、及びマルチメディアデータ（例えば、閉回路ＴＶ、ビデオクリップ等）が収集され、記憶され得る。
【００２４】
プロセス制御システムビッグデータネットワークバックボーン１０５は、（データモデリングスタジオ１０９及び知識発見アプリケーション１１４をホストする）ユーザインターフェースデバイス１０３等の、複数のネットワーク化されたコンピューティングデバイスを含み得るか、またはパケットを、プロセス制御システムビッグデータネットワーク１００の種々のノード１０８に／から、及び（それ自体がプロセス制御システムビッグデータネットワーク１００のノードである）プロセス制御ビッグデータアプライアンス１０２に／からルーティングするように構成されるスイッチを含み得る。バックボーン１０５の複数のネットワーク化されたコンピューティングデバイスは、任意の数の無線及び／または有線リンクによって相互接続され得る。さらに、プロセス制御システムビッグデータネットワークバックボーン１０５は、１つ以上のファイアウォールデバイスを含み得る。
【００２５】
一例として、ビッグデータネットワークバックボーン１０５は、１つ以上の適切なルーティングプロトコル、例えばインターネットプロトコル（ＩＰ）スイート（例えば、ＵＰＤ（ユーザデータグラムプロトコル）、ＴＣＰ（伝送制御プロトコル）、イーサネット（登録商標）等）に含まれるプロトコル、または他の適切なルーティングプロトコルをサポートし得る。所望であれば、ノード１０８の少なくともいくつかは、キャッシュしたデータを、ネットワークバックボーン１０５を介して、ノード１０８からプロセス制御ビッグデータアプライアンス１０２にストリームするために、ストリーム制御伝送プロトコル（ＳＣＴＰ）等の、ストリーミングプロトコルを利用し得る。一般的に、プロセスデータビッグデータネットワーク１００に含まれる各ノード１０８は、バックボーン１０５によってサポートされるルーティングプロトコル（複数可）の少なくともアプリケーション層（そして、いくつかのノードについては、追加的な層）をサポートすることができる。各ノード１０８は、例えば一意のネットワークアドレスによって、プロセス制御システムビッグデータネットワーク１００内で一意的に識別され得る。追加的に、プロセス制御システムビッグデータネットワーク１００の少なくとも一部分は、アドホックネットワークであり得る。このように、ノード１０８の少なくともいくつかは、アドホック様式でネットワークバックボーン１０５に（またはネットワーク１００の別のノードに）接続し得る。
【００２６】
さらに、プロセスプラント１０（例えば、プロセスプラント１０に含まれる、マシン及びデバイス等の物理装置）に関連するが、プロセスを直接構成、制御、または診断するアプリケーションによって生成されない場合があるデータも、ビッグデータマシン１０２で収集され、記憶され得る。例えば、振動データ及び蒸気トラップデータ、プラント安全性データ、及びプラントの安全性に対応するパラメータの値を示すデータ（例えば、腐食データ、ガス検出データ等）が記憶され得る。同様に、プラント安全性に対応するイベントを示すデータが、ビッグデータマシン１０２で収集され、記憶され得る。同様に、マシン、プラント装置、及び／またはデバイスの健全性に対応するデータ、装置データ（例えば、振動データ及び他のデータに基づいて決定されるポンプの健全性データ）、装置、マシン、及び／またはデバイスの診断の構成、実行、及び結果に関連するデータが収集され、記憶され得る。
【００２７】
いくつかの事例において、原材料のコストに関連するデータ、部品または装置の予想到着時刻、気象データ、及び他の外部データ等の、プロセスプラント１０の外部にあるエンティティによって生成される、またはそれに伝送されるデータは、ビッグデータマシン１０２に収集され、記憶され得る。当然、ネットワークバックボーン１０５に通信可能に接続されるノード１０８のいずれかによって生成、受信、または観察される全てのデータが収集され、プロセス制御システムビッグデータアプライアンス１０２で記憶され得る。
【００２８】
図１で例示されるように、プロセス制御システムデータモデリングスタジオ１０９は、例えばユーザまたは他のアプリケーションが使用するユーザインターフェースまたは他のインターフェースデバイス上での、構成及びデータ探索のために、プロセス制御システムビッグデータネットワーク１００への主インターフェースを提供するように構成され得る。プロセス制御システムデータモデリングスタジオ１０９は、プロセス制御システムビッグデータネットワークバックボーン１０５を介して、ビッグデータアプライアンス１０２に接続され得るか、またはプロセス制御システムビッグデータアプライアンス１０２に直接接続され得るか、または任意の他の様式でビッグデータアプライアンス１０２に連結され得る。
【００２９】
図１の例示的なプロセス制御システムビッグデータプロセス制御ネットワーク１００において、プロセス制御ビッグデータ装置またはアプライアンス１０２は、ネットワーク１００内に集中化され、また、ネットワーク１００のノード１０８から（例えば、ストリーミングを介して、及び／またはいくつかの他のプロトコルを介して）データを受信し、そして、受信したデータを記憶するように構成される。このように、プロセス制御ビッグデータ装置またはアプライアンス１０２は、ノード１０８から受信したデータを履歴化または記憶するためのデータ記憶領域１２０と、ビッグデータマシン１０２に記憶するためのデータを収集し得る複数のアプライアンスデータ受信機１２２と、ビッグデータ記憶装置１２０からデータを要求しそれにアクセスする複数のアプライアンス要求サービサー１３５とを含み得る。いずれにしても、それは、プロセス制御ネットワークに収集され、データ記憶領域１２０に記憶されるデータの全部または大部分が、データモデリングスタジオ１０９及び知識発見アプリケーション１１４のユーザに利用可能である場合に有用である。
【００３０】
プロセス制御システムビッグデータ記憶領域１２０は、ＲＡＩＤ（独立したディスクの冗長アレイ）記憶装置、クラウド記憶装置、またはデータバンクもしくはデータセンター記憶装置に適切である任意の他の適切なデータ記憶装置技術等の、複数の物理データドライブまたは記憶装置エンティティを含み得る。しかしながら、ネットワーク１００のノード１０８に対して、データ記憶領域１２０は、単一のまたは一体的な論理データ記憶領域またはエンティティの体裁を有する。このように、データ記憶装置１２０は、プロセス制御ビッグデータネットワーク１００のための、またはプロセスプラント１０のための集中ビッグデータ記憶領域１２０とみなされ得る。所望であれば、単一の論理集中データ記憶領域１２０は、複数のプロセスプラント（例えば、プロセスプラント１０及び別のプロセスプラント）にサービスを提供し得る。例えば、集中データ記憶領域１２０は、エネルギー会社の複数の精製装置にサービスを提供し得る。加えて、集中データ記憶領域１２０は、例えば少なくとも１つの高帯域幅通信リンクを介して、バックボーン１０５に直接接続され得る。さらに、集中データ記憶領域１２０は、統合型ファイアウォールを含み得る。
【００３１】
一体的論理データ記憶領域１２０の構造は、全部または大部分のプロセス制御システム関連データの記憶をサポートし得る。例えば、データ記憶エンティティの各エントリ、データ点、または観察値は、データの識別情報（例えば、ソース、デバイス、タグ、場所等）の指示、データの内容（例えば、測定値、値等）、及びデータが収集、生成、受信、または観察された時間を示すタイムスタンプを含み得る。このように、これらのエントリ、データ点、または観察値は、本明細書で「時系列データ」と称される。データは、例えば、拡張可能な記憶装置、ストリームデータ、及び低遅延クエリをサポートするスキーマを含む、共通フォーマットを使用して、データ記憶領域１２０に記憶され得る。
【００３２】
１つの事例において、スキーマは、複数の観察値を各行に記憶すること、及びカスタムハッシュを有する行キーを使用して、行のデータをフィルタリングすることを含み得る。ハッシュは、タイムスタンプ及びタグに基づき得る。例えば、ハッシュは、タイムスタンプの丸めた値であり得、タグは、プロセス制御システムの、またはそれに関連するイベントまたはエンティティに対応し得る。各行または一群の行に対応するメタデータも、時系列データと一体的に、または時系列データとは別に、データ記憶領域１２０に記憶され得る。例えば、メタデータは、時系列データとは別に、スキーマレス様式で記憶され得る。
【００３３】
所望であれば、データをアプライアンスデータ記憶装置１２０で記憶するために使用されるスキーマはまた、ノード１０８の少なくとも１つのキャッシュにデータを記憶するためにも利用され得る。故に、この場合、スキーマは、データがノード１０８のローカル記憶領域から、バックボーン１０５を越えて、プロセス制御システムビッグデータアプライアンスデータ記憶装置１２０に伝送されるときに、維持され得る。
【００３４】
データ記憶装置１２０に加えて、プロセス制御システムビッグデータアプライアンス１０２はさらに、１つ以上のアプライアンスデータ受信機１２２を含み得、そのそれぞれは、バックボーン１０５からデータパケットを受信し、データパケットを処理して、該データパケットで搬送される実質的なデータ及びタイムスタンプを取り出し、そして、その実質的なデータ及びタイムスタンプをデータ記憶領域１２０に記憶するように構成される。アプライアンスデータ受信機１２２は、例えば、複数のコンピューティングデバイスまたはスイッチ上に存在し得る。複数のアプライアンスデータ受信機１２２（及び／または少なくとも１つのデータ受信機１２２の複数のインスタンス）は、複数のデータパケットに対して並列に動作し得る。
【００３５】
受信したデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０によって利用されるスキーマを含む場合、アプライアンスデータ受信機１２２は、単に、データ記憶領域１２０の追加的なエントリまたは観察値をスキーマ情報とともにポピュレートするだけである（及び、所望であれば、対応するメタデータを随意に記憶し得る）。受信したデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０によって利用されるスキーマを含まない場合は、それに応じて、アプライアンスデータ受信機１２２が、パケットを復号化し、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０の時系列データ観察値またはデータ点（及び、随意に、対応するメタデータ）をポピュレートし得る。
【００３６】
追加的に、プロセス制御システムビッグデータアプライアンス１０２は、１つ以上のアプライアンス要求サービサー１３５を含み得、そのそれぞれは、例えば要求元エンティティまたはアプリケーションの要求毎に、プロセス制御システムビッグデータアプライアンス記憶装置１２０に記憶した時系列データ及び／またはメタデータにアクセスするように構成される。アプライアンス要求サービサー１３５は、例えば、複数のコンピューティングデバイスまたはスイッチ上に存在し得る。アプライアンス要求サービサー１３５及びアプライアンスデータ受信機１２２の少なくともいくつかは、同じ１つまたは複数のコンピューティングデバイス上（例えば、統合型デバイス上）に存在し得るか、または統合型アプリケーションに含まれる。
【００３７】
いくつかの事例において、複数のアプライアンス要求サービサー１３５（及び／または少なくとも１つのアプライアンス要求サービサー１３５の複数のインスタンス）は、複数の要求元エンティティまたはアプリケーションからの複数の要求に対して並列に動作し得る。当然、単一のアプライアンス要求サービサー１３５は、単一のエンティティもしくはアプリケーションからの複数の要求、またはアプリケーションの異なるインスタンスからの複数の要求等の、複数の要求にサービスを提供し得る。いずれにしても、図１のデータモデリングスタジオ１０９及び知識発見アプリケーション１１４は、１つ以上の要求サービサー１３５を介して、データ記憶領域１２０に記憶したデータにアクセスし得る。
【００３８】
図２は、図１のプロセス制御ビッグデータバックボーン１０５を介してビッグデータアプライアンス１０２及びプロセスプラント１０に連結される、データモデリングスタジオ１０９の例示的な実施形態のブロック図である。図２でさらに例示されるように、もう１つの追加的なユーザインターフェースデバイス１１３が、プロセス制御ビッグデータバックボーン１０５を介して、データモデリングスタジオ１０９にアクセスし得る。追加的に、知識発見アプリケーション１１４がプロセス制御ビッグデータバックボーン１０５に連結される。全般的に、データモデリングスタジオ１０９は、ビッグデータマシンから収集されるデータに対して動作を行うように構成されるモデルをグラフィカルに作成し、プログラミングするための構造化環境を提供する。この文脈において、モデルは、プロセスプラント（プロセスプラント１０等）の動作に関するいくらかの知識を与える出力を生成するために、データに対して行われる数学的ルーチンである。モデルは、１つ以上のデータ入力、データ入力に対して行われる１つ以上の機能、及び機能の結果である１つ以上の出力で構築される。
【００３９】
図２で例示されるように、データモデリングスタジオ１０９は、グラフィカルなモデル作成を容易にするために構造化環境を生成するための構成エンジン１２３と、作成したモデルを実行するためのランタイムエンジン１２４とを含む。より具体的には、構成エンジン１２３は、構造化環境のためのグラフィックユーザインターフェースの要素を生成するためのインターフェースルーチン１２５と、モデルのビルディングブロックとしての役割を果たす複数のテンプレート１２９と、ランタイムエンジン１２４によってモデルを実行可能なデータフォーマットに変換するモデルコンパイラ１２７とを含む。ランタイムエンジン１２４は、モデルを実行する際にデータを取り出すためのデータ取り出しルーチン１２６と、実行可能なモデルを動作させるためのモデル実行ルーチン１２８とを含む。
【００４０】
インターフェースルーチン１２５は、メモリに記憶した１組の命令を含み、該命令は、プロセッサによって実行されたときに、テンプレート１２９を表示するライブラリ領域１２５ａ及びモデルを作成するための主提示ウィンドウとしての役割を果たすキャンバス領域１２５ｂを含むモデルの作成を容易にするために、ドラッグアンドドロップグラフィカルユーザインターフェースの１組のユーザインターフェース要素を生成する。テンプレート１２９は、モデルのビルディングブロックとしての役割を果たし、また、モデルを作成するために選択し、キャンバス領域１２５ｂに移動させることができる。データモデリングスタジオ１０９の構成エンジン１２３に含まれるテンプレート１２９は、（モデルで使用されるデータのソースを指定する）データソーステンプレート１２９ａと、（データソーステンプレート１２９ａによって表されるデータに対して行われるルーチンを指定する）機能テンプレート１２９ｂと、（モデルによって生成されるデータをどのように提示または送信するのかを指定する）出力テンプレート１２９ｃと、（モデルを形成するテンプレート１２９の入力及び出力を指定する）データフローテンプレート１２９ｄとを含む。
【００４１】
データソーステンプレート１２９ａは、種々のデータタイプ（構造化及び／または非構造化）、プロセスプラント１０内で通信、生成、受信、及び／または観察されるデータのコンテキスト及び／または境界条件を収集する、データソースを示す。データソーステンプレート１２９ａは、データベースデータ、ストリームデータ、トランザクショナルデータ、及び／またはプロセス制御システムビッグデータネットワーク１００を介して通信され、プロセス制御システムビッグデータ記憶装置１２０に記憶または履歴化される任意の他のタイプのデータに関連し得る。データソーステンプレート１２９ａはまた、プロセスプラント１０のビッグデータアーキテクチャの一部として収集される全ての（またはほぼ全ての）プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス１０２に記憶される、データソースを含み得る。データソース１２９ａは、ビッグデータアプライアンス１０２に記憶される包括的な高忠実度のデータを定義し得、ビッグデータアーキテクチャを実装するプロセスプラント１０の種々のパラメータのいずれかまたは全てを定義する。
【００４２】
例示的なデータソーステンプレート１２９ａは、圧力示度、弁示度、温度示度、振動示度を含む。ユーザは、データのサブセットだけが選択されるように、履歴データまたはリアルタイムデータのパラメータを設定し得る。例えば、データソーステンプレート１２９ａは、一般的に温度Ａ〜温度Ｂの範囲であると予想される温度データを摂氏で収集する、データソースを示し得る。データソーステンプレート１２９ａはまた、気象または環境データベース等の、外部プラントサイトまたは外部データベース等の、プロセスプラント１０の外部のデータソースも表し得る。
【００４３】
機能テンプレート１２９ｂは、データに対して行われる任意の基本機能または一体的機能とすることができる。例えば、機能テンプレート１２９ｂは、ニューラルネットワークルーチン、相関ルーチン、閾値ルーチン等の数学的機能、または平均化ルーチン、最大ルーチン、最小ルーチン、フィルタルーチン等の閾値ルーチンもしくは統計的プロセス等を含み得る。機能テンプレート１２９ｂはまた、ランダムフォレストアルゴリズムまたは部分最小二乗回帰等の分類技法も含み得る。なおさらに、機能テンプレート１２９ｂは、ある特定の閾値レベルよりも高いデータを除去するフィルタリングルーチンまたは外れ値データを除去するためのクリッピングルーチン等の、分析のためにデータを準備するためのデータ処理技法を含み得る。ユーザはまた、機能テンプレート１２９ｂの１つ以上のパラメータを変更することが可能であり得る。例えば、ユーザは、フィルタルーチンを選択し、低点フィルタ（特定の勾配）、クリッピングフィルタ（閾値レベル）等の特性を定義し得る。
【００４４】
出力テンプレート１２９ｃは、完成したモデルによってデータに対して行われた機能の結果を、どのように翻訳及び／または提示するのかを定義する。例えば、モデルの出力をユーザにグラフィカルに提示する場合、出力テンプレート１２９ｃは、グラフ、チャート、または表示インターフェースを示し得る。出力テンプレートはさらに、出力テンプレートによって指定されるグラフィカルな提示のためのデータを準備するために、１つ以上のデータマッサージング技法を定義し得る。例えば、バーグラフは、有効数字２ケタに丸めた数値を必要とし得、出力テンプレートはまた、データを準備するために丸めルーチンも含み得る。出力テンプレート１２９ｃはまた、モデルの出力が送信されるべき特定の場所も示し得る。例えば、出力テンプレート１２９ｃは、モデルによって生成される１組の値をプロセスプラント（プロセスプラント１０等）の中の１つ以上のコントローラに送信するよう示し得る。例示的な値としては、設定点値、制御ルーチン等が挙げられる。しかしながら、出力は、関係を表すバインディング、特定の値、データ出力が閾値を満たすかどうかを示す２進値、効力に対応するパーセンテージ等の、任意の値とすることができる。
【００４５】
データフローテンプレート１２９ｄは、テンプレート１２９の入力及び出力を指定するために使用される。例えば、データフローテンプレート１２９ｄは、（出力テンプレート１２９ｃによってグラフィカルに表される）ある特定の出力を生成するために、ある特定のデータソーステンプレート１２９ａがある特定の機能テンプレート１２９ｂへの入力であることを示し得る。
【００４６】
しかしながら、ユーザは、データモデリングスタジオ１０９に含まれる所定のテンプレートを使用することに限定されない。ユーザは、将来の使用のために、既存のテンプレートを編集し、新しいテンプレートを追加し、及び／または編集した／新しいテンプレートをデータモデリングスタジオ１０９に保存し得る。例えば、（機能テンプレート１２９ｂによってグラフィカルに表される）既存の平均化ルーチンが、２つのデータソース入力を受け付ける場合、ユーザは、３つの入力を受け付けるように平均化ルーチンテンプレートを編集し得る。ユーザはまた、追加的な機能をデータモデリングスタジオ１０９に追加するために、ゼロから新しいテンプレートを作成し得る。ユーザはまた、将来の使用のためのテンプレートとして、データモデリングスタジオによって作成したモデル、またはモデルの一部分を保存し得る。
【００４７】
モデルコンパイラ１２７は、メモリに記憶したコンパイラルーチン１２７ａを含み得、該コンパイラルーチンは、プロセッサ上で実行して、ユーザインターフェースを使用して作成したグラフィカルモデルを、ランタイムエンジン１２４によってサポートされる実行可能なデータフォーマットで、コンパイル済みモデルに変換する。
【００４８】
ランタイムエンジン１２４は、コンパイル済みモデルを実行して（モデルによって定義される）所望の出力を生成し、メモリ１２０から及び／またはプラントデバイスからデータを取り出すためのデータ取り出しルーチン１２６と、実行可能なモデルを動作させる及び／または実行するためのモデル実行ルーチン１２８とを含む。より具体的には、プロセッサは、取り出しルーチン１２６を実行して、データソースからデータを取り出し得、メモリから、モデルで使用されるグラフィカルテンプレート１２９に対応する機能を取り出し得る。いくつかの実施形態において、取り出しルーチン１２６は、ビッグデータネットワークバックボーン１０５を介してビッグデータアプライアンス１２０から、及び／またはプラント自体からデータを取り出し得る。モデル実行ルーチン１２８は、出力を生成するためにプロセッサ上でコンパイル済みモデルを実行する、メモリに記憶した１組の命令を含み得る。
【００４９】
モデル実行ルーチン１２８は、メモリに記憶した履歴データに対してモデルが動作され得るプラントの動作から分離された、オフライン環境でモデルを動作させ得るか、または取り出しルーチン１２６がプラントまたはビッグデータアプライアンスの中の１つ以上のデバイスからリアルタイムまたはほぼリアルタイムのデータストリームを取り出し、出力を生成し得るオンライン環境でモデルを動作させ得、該出力は、ユーザに提供され、及び／またはプラントの動作に影響を及ぼすために使用され得る。
【００５０】
より具体的な例として、（モデルに入力されるデータを定義する）データソーステンプレート１２９ａは、フィルタリング機能（例えば、低域通過、高域通過、平滑化フィルタ等）を定義する第１の機能テンプレート１２９ｂに接続され得る。フィルタリング機能テンプレート１２９ｂは、クリッピングルーチンを定義する第２の機能テンプレート１２９ｂに接続することができ、これは、ニューラルネットワーク技法を定義する第３の機能テンプレート１２９ｂに接続することができ、次いで、これは、別のフィルタリング技法を定義する第４の機能テンプレート１２９ｂに接続することができ、これは、平均化技法を定義する第５の機能テンプレート１２９ｂに接続することができ、これは、閾値検出ルーチンを定義する第６の機能テンプレート１２９ｂに接続することができ、これは、表示テンプレート（例えば、出力テンプレート）に接続することができる。
【００５１】
図３は、モデルのグラフィカルな作成を容易にするためのデータモデリングスタジオ１０９の例示的なグラフィカルなユーザインターフェース３００を例示する。上で論じられるように、構成エンジン１２３のインターフェースルーチン１２５は、テンプレート１２９を表示するライブラリ領域１２５ａ、及びモデルを作成するための主提示ウィンドウとしての役割を果たすキャンバス領域１２５ｂを含む、ドラッグアンドドロップグラフィカルユーザインターフェース３００を生成する。図３で例示されるように、ライブラリ領域１２５ａは、モデルのグラフィカルなビルディングブロックとしての役割を果たす、複数のテンプレート１２９を表示する。テンプレート１２９は、プロセスプラントの中のデバイスによって収集されるデータを示すデータソーステンプレート１２９ａ、データに対して行われる基本的または一体的機能をグラフィカルに描写する機能テンプレート１２９ｂ、モデルの出力を定義する出力テンプレート１２９ｃ、及びデータに対して行われる入力、バインディング、相互接続、及び操作等のモデル内のデータフローを表すデータフローテンプレート１２９ｄ、出力を受信し得るモデルデータ受信機を含み得る。
【００５２】
ユーザは、ライブラリ領域１２５ａから異なるテンプレート１２９を選択し、それらをキャンバス領域１２５ｂにドラッグすることによって、モデルを構築し得る。ユーザは、モデル内のデータフローをシミュレーションするために、テンプレート１２９をキャンバス領域１２６ｂに配設し、データフローテンプレート１２９ｄを使用し得る。図３は、ドラッグアンドドロップグラフィカルユーザインターフェースを例示しているが、データモデリングスタジオ１０９の他の実施形態は、他のグラフィカルまたは非グラフィカルインターフェースを含み得る。
【００５３】
構成エンジンはさらに、ユーザが、データモデルを形成する相互接続されたモデルブロックを作成するために、テンプレート１２９で使用される特定のパラメータ、及びデータモデルテンプレート間の相互接続を定義することによって、キャンバス領域１２５ｂに描写されるデータモデルテンプレート１２９ａを修正することを可能にする。データモデルは、例えば、データモデルのために取り出されるデータの特定のデータソースを定義するモデル入力ブロックと、特定のデータソースからのデータに対して行われるデータ処理手順を定義する１つ以上のモデル機能ブロックと、１つ以上の機能ブロックの出力と関連付けられる動作を定義するモデル出力ブロックとを含み得る。
【００５４】
図４は、プロセス制御環境でモデルを作成するために、インターフェースルーチン１２５によって生成されるグラフィックユーザインターフェース３００を使用するための、例示的な方法４００のフロー図を例示する。方法４００はまた、図１のプロセス制御システムビッグデータネットワーク１００でも実装され得る。例示的な（及び限定しない）目的で、方法４００は、図１〜図３を同時に参照しながら、下で論じられる。
【００５５】
ブロック４０２で、プロセスプラントの中のデバイスによって収集されるデータのデータソースを示すデータソーステンプレート１２９ａ等の、第１のテンプレートがライブラリ領域１２５ａから選択され得る。ユーザは、第１のテンプレートを選択するために、マウスクリック、キーボードの押下、音声コマンド、タッチ画面の押下等の入力を入力することができる。ユーザは、選択したデータソーステンプレート１２９ａを、ライブラリ領域１２５ａからキャンバス領域１２９ｂ内の所望の場所までドラッグし得る。データテンプレート１２９ａはまた、定義及び変更することができる（異なるテンプレート１２９間の接続及びパラメータを定義する）パラメータ及び相互接続も有する。データモデリングスタジオはさらに、データモデルのために取り出されるデータの特定のデータソースを定義するモデル入力ブロックを作成するために、受信したデータソーステンプレート１２９ａならびに任意の指定されたパラメータ及び／または相互接続を修正し得る。方法４００は、モデルに含めるための１つのデータソーステンプレート１２９ａだけを描写しているが、これは、例示の目的のためだけのものであり、１つ以上のデータソーステンプレート１２９ａが含まれ得る。
【００５６】
ブロック４０４で、機能テンプレート１２９ｂ等の第２のテンプレートがライブラリ領域から選択され得る。上で説明されるように、機能テンプレート１２９ｂは、出力を生成するためにそこに提供されるデータに対して行われる、一般的なまたは予め定義された数学的演算である。機能テンプレート１２９ｂは、定義及び変更することができる、パラメータ（例えば、ゲイン、フィルタ設定、閾値等）及び（異なるテンプレート１２９間の相互接続及びパラメータを定義する）相互接続を有し得る。ライブラリ領域１２５ａから機能テンプレート１２９ｂを選択した後に、ユーザは、選択したテンプレートをキャンバス領域１２５ｂ内の所望の場所にドラッグし得る。ユーザはまた、機能テンプレート１２５ｂの１つ以上のパラメータも調整し得る。データモデリングスタジオはさらに、特定のデータソースからのデータに対して行われるデータ処理手順を定義するモデル機能ブロックを作成するために、受信した機能テンプレート１２９ｂならびに任意の指定したパラメータ及び／または相互接続を修正し得る。例えば、機能テンプレート１２５ｂがフィルタルーチンである場合、ユーザは、特定の勾配特性を有する低点フィルタを作成するために、フィルタの特性またはパラメータを定義し得る。方法４００は、１つの機能テンプレート１２５ｂだけが選択されていることを描写しているが、これは、例示の目的のためだけのものであり、１つ以上の機能テンプレート１２５ｂがモデルに含まれ得る。
【００５７】
ブロック４０６で、ユーザは、モデルに追加するために、１つ以上のデータ出力テンプレート１２９ｃ及び／または１つ以上のデータフローテンプレート１２９ｄ等の、第３のテンプレートを選択し得る。データ出力テンプレート１２９ｃ及びデータフローテンプレート１２９はまた、定義及び変更することができる（異なるテンプレート１２９間の相互接続及びパラメータを定義する）パラメータ及び相互接続も有し得る。例えば、ユーザは、入力テンプレートを選択して、データソーステンプレート１２９ａの出力が特定の機能テンプレート１２９ｂへの入力であることをグラフィカルに示し得る。ユーザは、ダッシュボードビューを通して機能テンプレート１２９ｂの結果をユーザにグラフィカルに提示することをグラフィカルに示すように、出力テンプレートを選択し得る。データモデリングスタジオはさらに、１つ以上の機能ブロックの出力と関連付けられる動作を定義する、モデル出力ブロック及び／またはモデルデータフローブロックをそれぞれ作成するために、受信したデータ出力テンプレート１２９ｃ及び／またはデータフローテンプレート１２９ｄを修正し得る。
【００５８】
データモデルを形成する相互接続されたモデルブロック。例えば、データモデルは、特定のデータソースからのデータに対して行われるデータ処理手順を定義する１つ以上のモデル機能ブロックと、１つ以上の機能ブロックの出力と関連付けられる動作を定義するモデル出力ブロックとを含み得る。
【００５９】
ブロック４０８で、ユーザは、モデルをコンパイルするために、入力選択を行い得る。それに応じて、構成エンジン１２３を使用して作成されるグラフィカルなモデルが、ランタイムエンジン１２４によって読み出し可能なデータフォーマットでコンパイル済みモデルに変換される。コンパイルされると、ユーザは、モデル及び／またはコンパイル済みモデルをメモリに保存し得る。コンパイル済みモデルは、後ほどデータモデリングスタジオ１０９のユーザによって取り出され得、及び／または知識探索アプリケーション１１４のユーザによって取り出され得る。
【００６０】
ブロック４１０で、ランタイムエンジン１２４の取り出しルーチン１２６が、テンプレート１２９に対応するデータを取り出し得る。例えば、取り出しルーチン１２６は、データソーステンプレート１２９ａによって示されるデータソースからデータを取り出し得、また、メモリから機能テンプレート１２９ｂに対応する命令を取り出し得る。例えば、取り出しルーチン１２４は、例えば１つ以上のデータ受信機１２２によって、プロセス制御システムビッグデータネットワーク１００のビッグデータアプライアンス１０２からデータを取り出し得る。データソーステンプレート１２９ａは、プロセス制御データ及びプロセスプラントデータに対応し得る。データとしては、プロセスプラントでプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラントに含まれる種々のネットワークのネットワーク管理及びトラフィックデータ、ユーザまたはオペレータのアクションを示すデータ、プラントに含まれる装置及びデバイスの動作及び状態に対応するデータ、プロセスプラントの外部にあるエンティティによって生成される、またはそれに伝送されるデータ、ならびに他のデータが挙げられる。データはまた、ビッグデータバックボーン１０５を通してアクセスされる気象データベースまたは別のプロセスプラント等の、サードパーティデータベースからも取り出され得る。
【００６１】
ブロック４１２で、モデル実行ルーチン１２８によってモデルが実行され得る。モデル実行ルーチン１２８は、メモリに記憶した履歴データに対してモデルが動作され得るプロセスプラントの動作から分離されたオフライン環境で、モデルを動作させ得る。モデル実行ルーチン１２８はまた、オンライン環境でもモデルを動作させ得、データ取り出しルーチン１２６は、プラントまたはビッグデータアプライアンスの中の１つ以上のデバイスから、リアルタイムまたはほぼリアルタイムのデータストリームを取り出し得る。
【００６２】
ブロック４１４で、モデルの動作の結果として、モデル実行ルーチン１２８が１つ以上の出力を生成し得る。いくつかの実施形態において、出力は、データの関係、バインディング、モデル、パラメータ、パラメータ値等のうちの１つ以上を含み得る。モデルはまた、例えば製品の品質を確保するようバットの温度を調整するために、ユーザがプロセス制御システム及び／またはプロセスプラントに取り込むための１つ以上の潜在的なアクションの形態で、出力も生成し得る。モデルは、制御ルーチンまたは制御ルーチンに対する調整の形態で、出力を生成し得る。データモデリングスタジオ１０９はまた、１人以上のユーザに送信される警告の形態で、出力を提示し得る。警告はさらに、プラントでのそれらの役割及び責任に基づき得る。例えば、ボイラーの維持管理に対して責任を負うオペレータは、ボイラーに関連する警告を受信し得る。警告は、モデルが発見した潜在的な問題、ならびにユーザが行い得る１つ以上の可能な解決策またはアクションを含み得る。データモデリングスタジオ１０９は、１つ以上のアプリケーションの結果を表示し得る。例えば、結果は、別のデータテンプレートへの入力として使用することができる、または別のデータモデルの一部として使用することができる、１組の生データ点として結果を表示し得る。
【００６３】
ブロック４１６で、モデルの出力テンプレート１２９ｃによって定義される出力が記憶され得る。例えば、出力は、一体的論理ビッグデータ記憶領域に記憶され得る。いくつかの実施形態において、出力は、処理プラントの中の１つ以上のデバイスにアップロードされ得るルーチンであり得る。例えば、データモデリングスタジオは、処理プラントの中の１つ以上のコントローラに伝送され得る、またはビッグデータバックボーン１０５を通して別の処理プラントに伝送され得る、制御ルーチンを出力し得る。さらに、モデルは、将来の使用またはアクセスのために、ビッグデータアプライアンス１０２に記憶され得る。
【００６４】
モデルの出力はまた、チャート、グラフ等のグラフィカルな様式でも提示され得る。有用であり得る１つの表示のタイプは、他のプラント等の他のデータソースから、及び／または気象データベース等のサードパーティデータベースから、データアイテムを有するプラントデータを取り込むことである。一実施形態において、データモデリングスタジオ１０９は、ＰＨＶチャートを生成し、非プラントデータソースからイベントクロニクルデータならびにイベントデータを表示し得る。他のデータソースからの項目は、警報が発せられる等のプロセスプラントのイベントが起こると同時に、時間順にチャートに配置され得る。いくつかの実施形態において、これらの項目はまた、ユーザを他のデータソース及び／または他の情報表示に誘導し、また、ユーザがプラントと外部データとの関係を決定することを可能にするために、これらの他のデータソースの探索ならびにモデリング及び分析記録を可能にし得る、ライブリンクされた項目でもあり得る。追加的に、データモデリングスタジオ１０９は、現問題点に遭遇した際の１つ以上のクエリに基づいて、情報表示を生成し得る。現問題点は、現問題点の手動選択、または最近の警報に基づく等の、様々な技法によって決定され得る。
【００６５】
ユーザは、引き続き、テンプレート１２９を選択し、配設し、そして、１つ以上のデータフローテンプレート１２９ｄを選択して、テンプレート１２９間の接続を表し得る。再度図３を参照すると、ユーザは、様々なセンサからの温度示度が閾値レベルを満たしているかどうかを判定するために、モデルをグラフィカルに構築し得る。図３で例示されるように、キャンバス領域１２５ｂには、センサＤ１（３０２）、Ｄ２（３０４）、及びＤ３（３０６）、Ｄ４（３０８）に対応する４つのデータテンプレートが配置される。さらに、キャンバス領域１２５ｂにはまた、クリッピングルーチン３１０、フィルタリングルーチン３１２、及び閾値ルーチン３１４に対応する３つの機能テンプレートも配置される。ユーザはさらに、データソースＤ１（３０２）、Ｄ２（３０４）、及びＤ３（３０６）が、それぞれ、クリッピングルーチン機能テンプレート３１０への入力としての役割を果たすことを示す、データフローテンプレート３０２ａ、３０４ａ、及び３０６ａを選択している。データフローテンプレート３１０ａは、クリッピングルーチン３１０の出力がフィルタリングルーチン機能テンプレート３１２に入力されたことをグラフィカルに示す。データフローテンプレート３０８ａは、データソースＤ４（３０８）もフィルタリングルーチン機能テンプレート３１２に入力されたことをグラフィカルに示す。データフローテンプレート３１２ａは、フィルタリングルーチン３１２の出力が、閾値ルーチン３１４に対応する機能テンプレートに入力されることを示す。本実施例において、閾値ルーチン３１４は、フィルタリングルーチン３１２からデータを取り出し、そして、閾値ルーチン３１４を使用して、任意の値が閾値を満たすかどうかを判定し得る。データフローインジケータ３１４ａは、（例えば、閾値を満たしたかどうかを示す２進値であり得る）閾値ルーチン３１４の出力が、ダッシュボードテンプレート３１６によってモデルにおいてグラフィカルに表される、ダッシュボードビューに出力されることを示す。追加的に、データフローインジケータ３１４ｂは、閾値ルーチンの出力が、警報テンプレート３１８によってモデルにおいてグラフィカルに表される、警報への出力でもあることを示す。警報テンプレート３１８は、閾値を満たしていないことをユーザに（グラフィカルに、音声で、等）警告するように設定され得る。
【００６６】
いくつかの実施形態において、ユーザは、機能テンプレート１２９ｂへの入力を表すために、１つ以上のデータフローテンプレート１２９ｄを選択し得る。ユーザは、第２の機能テンプレート１２９ｂの入力としての役割を果たすように、第１の機能テンプレート１２９ｂの出力を選択し得る。例えば、ユーザは、データソースを使用してプラントの動作をモデル化するために、モデリング構造ルーチンへの入力として、２つのデータソーステンプレート１２９ａを選択し得る。ユーザは、回帰分析等の分析ルーチンを定義する機能テンプレート１２９ｂへの入力として、このモデルの出力を選択し得る。いくつかの実施形態において、ユーザは、関係を示すために、２つのデータテンプレート１２９ａをともに「バインドする」ことを望み得る。例えば、ユーザは、インターフェースを使用して、バットの温度出力を、プロセスプラント１０等のプロセスプラントの中の特定のコントローラと関連付けられる警報にバインドし得る。
【００６７】
ユーザはまた、プロセスプラント１０の動作をシミュレーションし、出力テンプレート１２９ｄを設定して、プロセスプラント１０によって製造される１つ以上の製品の動作品質に影響を及ぼす１つ以上の予測を含むために、モデルも作成し得る。シミュレーションモデルを実行することによって、ユーザは、製品の特性を試験するために、プロセスプラント１０が製品を製造し終わるまで待つ必要がない。例えば、ワクチンを生成する処理プラントは、ワクチンの効力を予測するために、リアルタイムデータに基づいてプロセスプラント１０の動作をモデル化し、リアルタイムまたはほぼリアルタイムのデータ及び履歴データに対して分析及び／またはモデリングを行うことができる。データモデリングスタジオ１０９を使用してグラフィカルに作成されるモデルは、現在のプラント条件及びプロセス制御示度に基づいてウイルスの効力を予測し、そして、それらを履歴理由と比較して、ワクチンの効力を決定し得るか、またはプロセスプラント１０の動作を調整、例えばバットの温度を調整し得る。
【００６８】
しかしながら、データモデリングスタジオ１０９のユーザは、プロセスプラントの動作をモデル化するが、プラント装置自体に関する分析を行うために使用され得るモデルを作成することだけに限定されない。データソーステンプレート１２９ａはまた、プロセスプラント１０のビッグデータアーキテクチャの一部として収集される全ての（またはほぼ全ての）プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス１０２に記憶される、データソースを含み得る。データソース１２９ａは、ビッグデータアプライアンス１０２に記憶される包括的な高忠実度のデータを定義し得、ビッグデータアーキテクチャを実装するプロセスプラント１０の種々のパラメータのいずれかまたは全てを定義する。データモデリングスタジオ１０９は、プラント全体及び外部ソースからデータを取り出すデータソースを示す、様々なデータソーステンプレート１２９ａへのアクセスを提供するので、データモデリングスタジオ１０９は、ユーザが、より正確なモデルを作成し、より正確な分析を行うことを可能にする。
【００６９】
いくつかの実施形態において、データモデリングスタジオ１０９を使用して作成されるモデルは、警報に関連する１つ以上の潜在的な問題点を出力し、潜在的な問題点を解決するためにプロセスプラントにおいて実装することができる１つ以上のアクション、例えば弁の圧力を調整することをユーザに提示し得る。 
【００７０】
いくつかの実施形態において、データモデリングスタジオ１０９は、プラント装置の健全性及び状態に関する動作を行うために使用され得る。ユーザは、データモデリングスタジオ１０９のグラフィックユーザインターフェース３００を使用して、プラント装置の状態に関するデータ、例えば圧力フロー、値圧力、振動データ等を収集するデータソースを示す、１つ以上のデータソーステンプレート１２９ａを選択し得る。データソーステンプレート１２９ａは、警報、維持管理の報告、プラント装置が過去にいつ故障したか、等に関連する履歴データを含み得る。モデルはまた、装置の振動示度等のリアルタイムデータを収集するデータソースを示す、１つ以上のデータソーステンプレート１２９ａも含み得る。データストリームは、１つ以上のプラントエンティティからリアルタイムまたはほぼリアルタイムで受け取られ得、履歴データ、別のプロセスプラントからのデータ等であり得る。ユーザはまた、１つ以上のモデリング及び／または分析テンプレートを選択し、そして、モデリング及び／または分析テンプレートへの入力として、データソーステンプレート１２９ａに入力し得る。
【００７１】
１つの例示的なシナリオにおいて、プロセスプラントにおけるある特定のイベントの組み合わせは、製品が後ほど（例えば、イベントの組み合わせの発生から数時間後に）最終的に生成されたときに、不十分な製品品質に通じる。オペレータは、イベントの発生と製品品質との関係に気付かない。不十分な製品品質を（既知のプロセス制御システムで現在行われているように）数時間検出及び決定し、したがって、トラブルシューティングを行って、不十分な製品品質の根本的原因を決定するのではなく、ユーザは、モデルを作成し、実行して、不十分な製品品質の発生時またはその直後に、例えばイベントの発生に対応するデータがアプライアンス１０２に伝送されたときに、イベントの組み合わせを検出し得る。モデルのモデル出力は、これらのイベントの発生に基づく不十分な製品品質の予測、オペレータへの予測の警告であり得、及び／または、１つ以上のパラメータまたはプロセスをリアルタイムで調整または変更して、イベントの組み合わせの影響を軽減するためのプロセスデータであり得る。例えば、モデルの出力は、修正された設定点または修正されたパラメータ値であり得る。ユーザは、モデルの出力を使用して、モデルをさらに精緻化する、新しいモデルを作成する、異なるデータに対して同じモデルを動作させる、等を行い得る。データモデリングスタジオ１０９は、ビッグデータマシン１０２に記憶した包括的な高忠実度のデータへのアクセスを有するので、本方法を動作させる前に、知識発見方法１１０において収集され、使用されるプロセスプラントの種々のパラメータのいずれかまたは全てを定義する必要はない。したがって、データモデリングスタジオ１０９は、ユーザが、最初に自分が望むデータを選択し、そして、データを処理する前にその所望のデータを収集するようにプラント装置を構成することを必要としない。このようにして、データモデリングスタジオ１０９によって構成され、実行されるモデルは、現在知られているプロセス制御システムと比較して、はるかに迅速かつ効率的に問題を発見し、潜在的に軽減することを可能にする。
【００７２】
別の例示的なシナリオでは、製品動作の変化を検出するために、モデルが利用され得る。例えば、モデルは、ある特定の通信速度の検出した変化、及び／またはシステムダイナミクスが変化している場合があることを示し得る、１つのセンサからまたは複数のセンサから経時的受信したパラメータ値の変化またはパターンからの検出した変化を出力し得る。さらに別の例示的なシナリオにおいて、モデルは、プロセスプラントの動作中のプロセスの挙動及び警報の発生に基づいて、特定の一群の値または他の供給者装置が故障であると診断し、決定するために利用され得る。
【００７３】
別の例示的なシナリオにおいて、モデルは、プロセスプラントの動作をシミュレーションし、そして、ワクチンの効力等の製品機能を予測し得る。モデルはさらに、複数のプラント及び／またはプラントサイトにわたるログインパターン、再試行の増加、及びそれらのそれぞれの場所等の、プロセスプラント１０と関連付けられる潜在的なセキュリティ問題を監視し、検出するために作成され得る。このようにして、領域、産業、または全社単位で、診断及び／または予知情報を収集するために、複数のプロセスプラントを保有または運営する企業。
【００７４】
図２〜図４を参照して上で論じられるように、ユーザは、データソーステンプレート１２９ａを選択して、データモデリングスタジオ１０９を使用して作成されるモデルに含まれるデータをグラフィカルに描写し得る。しかしながら、いくつかの実施形態において、ユーザは、データエクスプローラ１５５を使用して、モデルに含まれるデータソースを選択し得る。データモデリングスタジオ１０９に関して論じられているが、データエクスプローラ１５５はまた、データの探索、探索等のために、データ知識アプリケーション１１４によってアクセスされ得ることも認識されるであろう。
【００７５】
以下、図５を参照すると、データエクスプローラ１５５のユーザインターフェース１０００が例示される。データエクスプローラ１５５のユーザインターフェース１０００は、（プロセスプラント１０等の）プロセスプラントの中の種々のハードウェア及びソフトウェアコンポーネント間の階層関係のグラフィカルビューを提供する。データエクスプローラ１５５は、特定のプロセスプラントで使用されるプラント装置の特定の部分、ならびに特定のプロセスプラント中のプラント装置の特定の部分を動作させるために使用される、制御ルーチン等の種々のソフトウェアコンポーネントを表示する。
【００７６】
このようにして、データエクスプローラ１５５は、プロセス制御システムビッグデータ記憶領域１０２に記憶したデータへのアクセスを提供する。データは、プロセス制御システム１０のランタイム中に収集され、（任意の対応するメタデータ１２０ｂとともに）プロセス制御システムビッグデータ記憶領域１２０に記憶した時系列データ点１２０ａを含む、履歴化されたデータであり得る。例えば、履歴化されたデータは、プロセスプラント１０の動作中に使用される、制御ルーチン、パラメータ及びパラメータ値、バッチレシピ、構成等の指示を含み得、履歴化されたデータは、プロセスプラント１０の動作または関連する活動中に起こったユーザアクションの指示を含み得る。
【００７７】
データモデリングスタジオ１０９のユーザは、ある特定の定義を探索することを望み得、また、データエクスプローラを実行するために、データエクスプローラツールボタン７１４を選択する入力を入力し得る。データエクスプローラツールが実行されると、図５のユーザインターフェース１０００が表示され得る。ユーザインターフェース１０００は、テキストプルダウンメニュー、絵文字メニュー、及び他のオプションを含み得る、主制御ウィンドウ１００２を含み得る。ユーザインターフェース１００２はまた、ユーザが階層関係に関する定義を閲覧することを可能にする、サイドバー１００４も含み得る。例示的な階層システムは、制御システムと、動作と、物理プラントとを含む。制御システム階層は、プラントで使用される種々の制御ルーチンに対応する定義を表示する。動作階層は、プロセスプラントによって行うことができる、またはモデリング及び／もしくは分析定義を使用してデータモデリングスタジオによって行われ得る動作に対応する定義を表示し得る。物理プラント階層は、プロセスプラントにおいて展開される物理デバイスを示し得る。当然、これらの階層システムは、単なる例に過ぎず、他のシステム及び／またはシステムの組み合わせが使用され得る。さらに、各階層は、１つ以上の副階層を有し得る。ある特定のデータソースはまた、２つ以上の階層システムにも属し得る。例えば、コントローラは、制御システム階層ならびに物理プラント階層に含まれ得る。
【００７８】
データエクスプローラ１５５は、ユーザが、全体にわたる階層（すなわち、物理プラント）を選択し、視覚インジケータ１００６を選択して、その階層に関連するまたは属するデータオブジェクトを見るために「ドリルダウン」することを可能にする。ユーザはまた、階層構造のデータを閲覧するために、データエクスプローラツールを実行することによって、ある特定のデータソースを探索することも望み得る。データエクスプローラ１５５は、ユーザが、プロセスプラント１０のビッグデータアーキテクチャの一部として収集される全ての（またはほぼ全ての）プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス１０２に記憶されるデータソースを探索することを可能にする。データは、ビッグデータアプライアンス１０２に記憶される包括的な高忠実度のデータを含み得、ビッグデータアーキテクチャを実装するプロセスプラント１０の種々のパラメータのいずれかまたは全てを定義する。ユーザは、データエクスプローラ１５５を使用して、履歴化または記憶されたデータ１２０を探索し得る。データエクスプローラ１５５は、ユーザが、データストリーム定義１７０に基づいて（及びいくつかの事例では、分析定義１７２の少なくともいくつかに基づいて）、記憶したデータ１２０の少なくとも一部分を閲覧または視覚化することを可能にし得る。例えば、データエクスプローラ１５５によって、ユーザが、特定の期間から特定のバットの温度データをプルし、その期間中の温度の変化を閲覧するためにトレンディング分析を適用することを可能にし得る。別の実施例では、データエクスプローラ１５５によって、ユーザが、バット温度に影響を及ぼす独立または従属変数を決定するために、回帰分析を行うことを可能にし得る。ユーザはまた、主画面提示１００８の中にさらに詳細に表示されるデータも選択し得る。例えば、ユーザは、物理プラント階層を「ドリルダウン」し、ハードウェア警報階層をドリルダウンし得る。
【００７９】
本明細書で説明されるデータモデリングスタジオは、モデルをグラフィカルに作成し、実行するための頑健で効率的なアーキテクチャを提供する。データモデリングスタジオ１０９が、収集される全ての（またはほぼ全ての）プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンスを含むビッグデータアーキテクチャを利用して、プロセスプラントで実装される実施形態において、ユーザは、データモデリングスタジオ１０９のインターフェースルーチン３００を使用して、追加的なデータを収集するためにプラントの動作を再構成することを必要とすることなく、モデルをグラフィカルに編集し、反復し得、これは、はるかに速いモデル開発環境を生じさせる。
【００８０】
一例として、ユーザは、プロセスプラント（プロセスプラント１０９等）によって生成される製品の品質に、温度示度が相関すると考え得る。故に、ユーザは、データモデリングスタジオ１０９のグラフィカルなユーザインターフェース３００を使用して、製品品質データ及び温度データに対して相関ルーチンを行うモデルを作成し得る。それに応じて、ユーザは、温度示度に対応する第１のデータソーステンプレート１２９ａ、製品の品質に対応する第２のデータソーステンプレート１２９ｂ、及び相関ルーチンに対応する機能テンプレート１２９ｂを選択し得る。ユーザはさらに、データフローテンプレート１２９ｄを使用して、第１及び第２のデータソーステンプレート１２９ａが相関ルーチンに入力されることを示し得る。ユーザはまた、相関ルーチンの結果（例えば、相関パーセンテージ）がダッシュボードへの出力であることを示す、出力テンプレート１２９ｃも選択し得る。ユーザは、次いで、ランタイムエンジン１２４を使用して、モデルを実行し得る。しかしながら、実行されるモデルの出力は、温度示度が製品の品質に相関しないことを示し得る。ユーザは、今度は、異なるデータ入力、例えば弁圧力データに対して相関モデルを再動作させることを望み得る。
【００８１】
従来、ユーザは、次いで、動作中に弁圧力データを収集するようにプロセスプラントを構成しなければならない。以前のプロセス制御システムの限度のため、弁圧力データを収集することは、製品を生成するためにプロセスプラントを動作させることと、モデルに必要とされる速度で弁圧力データを収集することとを含み得る。弁圧力データを収集するためにプロセスプラントを再動作させるプロセスは、正確なモデルを実行するための十分なデータを収集するために、数時間、数日、さらには数か月かかる可能性がある。さらに、プロセスプラントを再実行させて、データを収集している間、ユーザは、該当する場合に、どのプロセス制御データが製品品質と相関しているか決定していないので、プラントは、次善的に動作している場合がある。
【００８２】
データモデリングスタジオ１０９は、ビッグデータマシンで利用可能なプラントデータの全てに対するアクセスを有し、弁圧力データが既に記録されているので、ユーザがモデルを調整するために行わなければないことは、単に、（データモデリングスタジオ１０９のグラフィックユーザインターフェース３００のライブラリ領域１２５ａから）弁圧力データに対応するデータソーステンプレート１２９ａを選択することだけである。実際に、ユーザは、データモデリングスタジオ１０９を使用して、該当する場合に、どの値が製品品質に対応するのかを決定するために、プロセスプラント内の異なるデータソースに対して相関機能を自動的に再動作させるモデルを作成し得る。ユーザはさらに、データエクスプローラ１５５のインターフェース１０００に提示される階層システムを使用し、特定のプロセスプラントで使用されるプラント装置の特定の部分からプロセス制御データを選択することによって、データモデリングスタジオ１０９を使用して作成されるモデルの精度を向上させ得る。
【００８３】
当然、これは、データモデリングスタジオ１０９によって行うことができる単なる１つの簡単な例に過ぎない。当業者は、モデルの作成がより複雑になり、正確なモデルのためのデータ要件がより厳しくなるにつれて、データモデリングスタジオ１０９の使い易さ、及びビッグデータアプライアンス１０２からの高忠実度データの頑健さが、より包括的で正確なモデルの作成を可能にすることを認識することができる。
【００８４】
以下、図６を参照して、（図１で例示される）複数のノード１０８がさらに詳細に論じられる。プロセス制御ビッグデータネットワーク１００の複数のノート１０８は、複数の異なる群のノード１１０〜１１５を含み得、データモデリングスタジオ１０９及び／またはデータ知識アプリケーション１１４は、（図１で例示される）プロセス制御システムビッグデータネットワーク１００との通信可能な接続で、１つ以上のノード１０８からデータを取り出し得る。さらに、（図１で例示される）データモデリングスタジオ１０９のランタイムエンジンによって実行されるモデルは、１つ以上のノード１０８で実行するために、下で詳細に説明されるように、データ（例えば、プロセス制御データ）を該ノードに出力し得る。第１の群のノード１１０は、本明細書で「プロバイダノード１１０」または「プロバイダデバイス１１０」と称され、プロセス制御データを生成し、ルーティングし、及び／または受信して、プロセスプラント環境（プロセスプラント１０等）において、プロセスをリアルタイムで制御することを可能にする１つ以上のノードまたはデバイスを含み得る。プロバイダデバイスまたはノード１１０の例としては、その主要機能が、プロセスを制御するためにプロセス制御データに対して生成及び／または動作させることを目的とするデバイス、例えば、無線及び有線フィールドデバイス（センサ及び弁等）、コントローラ、または入力／出力（Ｉ／Ｏ）デバイスが挙げられる。プロバイダデバイス１１０の他の例としては、その主要機能が、プロセス制御システムの１つ以上の通信ネットワーク（その中の１つが、プロセス制御ビッグデータネットワーク１００）へのアクセスまたはそれを通る経路を提供することであるデバイス、例えば、アクセスポイント、ルータ、有線制御バスへのインターフェース、無線通信ネットワークへのゲートウェイ、外部ネットワークまたはシステムへのゲートウェイ、ならびに他のそのようなルーティング及びネットワーキングデバイスが挙げられ得る。プロバイダデバイス１１０のさらに他の例としては、その主要機能が、プロセス制御システム１０の全体を通して蓄積されるプロセスデータ及び他の関連するデータを一時的に記憶すること、ならびに（図１で例示される）プロセス制御システムビッグデータアプライアンス１０２での履歴化のために、一時的に記憶したデータを伝送させることであるデバイスが挙げられ得る。
【００８５】
プロバイダデバイス１１０の少なくとも１つは、直接様式または間接様式で、プロセス制御ビッグデータネットワークバックボーン１０５に通信可能に接続され得る。例えば、無線フィールドデバイスは、ルータ、アクセスポイント、及び／または無線ゲートウェイを介して、バックボーン１０５に通信可能に接続され得る。一般的に、プロバイダデバイス１１０は、統合型ユーザインターフェースを有しないが、プロバイダデバイス１００のいくつかは、例えば、有線または無線通信リンクを通じて通信することによって、またはユーザインターフェースデバイスをプロバイダデバイス１１０のポートに差し込むことによって、ユーザコンピューティングデバイスまたはユーザインターフェースと通信可能に接続する能力を有し得る。
【００８６】
第２の群のノード１１２は、本明細書で「ユーザインターフェースノード１１２」または「ユーザインターフェースデバイス１１３」と称され、それぞれが統合型ユーザインターフェースを有し、それを介して、ユーザまたはオペレータが、データモデリングスタジオ１０９及び／またはデータ知識アプリケーション１１４と相互作用し得る１以上のノードまたはデバイスを含み得る。これらのユーザインターフェースノードまたはデバイス１１２の例としては、モバイルまたは固定コンピューティングデバイス、ワークステーション、ハンドヘルドデバイス、タブレット、サーフェスコンピューティングデバイス、スマートフォン、ならびにプロセッサ、メモリ、及び統合型ユーザインターフェースを有する任意の他のコンピューティングデバイスが挙げられ得る。統合型ユーザインターフェースとしては、画面、キーボード、キーパッド、マウス、ボタン、タッチ画面、タッチパッド、生体認証インターフェース、スピーカ及びマイクロホン、カメラ、ならびに／または任意の他のユーザインターフェース技術が挙げられる。各ユーザインターフェースノード１１２は、１つ以上の統合型ユーザインターフェースを含み得る。さらに、ユーザインターフェースノード１１２は、プロセス制御ビッグデータネットワークバックボーン１０５への直接接続を含み得、または、例えばアクセスポイントまたはゲートウェイを介した、バックボーン１０５への間接接続を含み得る。ユーザインターフェースノード１１２は、有線様式及び／または無線様式で、プロセス制御システムビッグデータネットワークバックボーン１０５に通信可能に接続し得る。いくつかの実施形態において、ユーザインターフェースノード１１２は、アドホック様式で、ネットワークバックボーン１０５に接続し得る。
【００８７】
当然、プロセス制御ビッグデータネットワーク１００の複数のノード１０８は、プロバイダノード１１０及びユーザインターフェースノード１１２だけに限定されない。１つ以上の他のタイプのノード１１５も、複数のノード１０８に含まれ得る。例えば、プロセスプラント１０の外部にあるシステム（例えば、実験室システムまたは運搬システム）のノードが、システム１００のネットワークバックボーン１０５に通信可能に接続され得る。ノードまたはデバイス１１５は、直接接続または間接接続を介して、バックボーン１０５に通信可能に接続され得、及び／または有線接続または無線接続を介して、バックボーン１０５に通信可能に接続され得る。いくつかの実施形態において、一群の他のノード１１５は、プロセス制御システムビッグデータネットワーク１００から省略され得る。
【００８８】
ノード１０８の少なくともいくつかは、それぞれが、タスク、測定値、イベント、及び他のデータをリアルタイムで記憶またはキャッシュするために、それぞれのメモリ記憶装置（図１においてアイコンＭＸで示される）を含み得る。メモリ記憶ＭＸは、高密度メモリ記憶技術、例えば、固体ドライブメモリ、半導体メモリ、光メモリ、分子メモリ、生物学的メモリ、または任意の他の好適な高密度メモリ技術を含み得る。しかしながら、メモリ記憶装置ＭＸはまた、フラッシュメモリ、ハードドライブ、または任意の他のタイプのメモリも含み得る。メモリ記憶装置ＭＸ（及びいくつかの事例では、フラッシュメモリ）は、そのそれぞれのノード１０８によって生成、受信、または別様には観察されるデータを一時的に記憶またはキャッシュするように構成され得る。ノード１０８（例えば、コントローラデバイス）の少なくともいくつかのフラッシュメモリＭＸはまた、通常動作中に、または停電もしくはノードをオフラインにさせる他のイベントの後に、この情報を使用する際の遅延を最小にするために、ノード構成、バッチレシピ、及び／または他のデータのスナップショットも記憶し得る。当然、ノード１１０、１１２、及び任意の数のノード１１５のいずれかまたは全ては、高密度メモリ記憶装置ＭＸを含み得る。異なるタイプまたは技術の高密度メモリ記憶装置ＭＸが、１組のノード１０８全体にわたって、または１組のノード１０８に含まれるノードのサブセット全体にわたって利用され得ることを理解されたい。
【００８９】
プロバイダノードまたはデバイス１１０によってキャッシュまたは収集され得るリアルタイムデータの例（しかし、包括的なリストではない）としては、測定データ、制御信号データ、構成データ、バッチデータ、イベントデータ、及び／または連続データが挙げられ得る。例えば、構成、バッチレシピ、設定点、出力、速度、制御アクション、診断、警報、イベント、及び／またはそれらに対する変更に対応するリアルタイムデータが収集され得る。リアルタイムデータの他の例としては、プロセスモデル、統計、状態データ、ならびにネットワーク及びプラント管理データが挙げられる。
【００９０】
ユーザインターフェースノードまたはデバイス１１２によってキャッシュまたは収集され得るリアルタイムデータの例としては、例えば、ユーザログイン、ユーザクエリ、ユーザによって（例えば、カメラ、オーディオ、またはビデオ記録デバイスによって）捕捉されたデータ、ユーザコマンド、ファイルの作成、修正、もしくは削除、ユーザインターフェースノードまたはデバイスの物理的または空間的場所、ユーザインターフェースデバイス１１３によって行われた診断または試験の結果、及びユーザインターフェースノード１１２と相互作用するユーザによって開始される、または該ユーザに関連する他のアクションまたは活動が挙げられ得る。
【００９１】
収集したデータは、動的または静的データであり得、例えば、データベースデータ、ストリーミングデータ、及び／またはトランザクショナルデータが挙げられ得る。全般的に、ノード１０８が生成、受信、または観察する任意のデータは、対応するタイムスタンプまたは収集／キャッシュの時間の指示とともに収集またはキャッシュされ得る。好ましい実施形態において、ノード１０８が生成、受信、または観察する全てのデータは、各データの収集／キャッシュの時間（例えば、タイムスタンプ）のそれぞれの指示とともに、そのメモリ記憶装置（例えば、高密度メモリ記憶装置ＭＸ）に収集またはキャッシュされる。
【００９２】
ノード１１０、１１２（及び随意に、他のノード１１５の少なくとも１つ）は、データの不可逆圧縮、データのサブサンプリング、またはデータを収集する目的でノードを構成することを必要とすることなく、リアルタイムデータを自動的に収集またはキャッシュするように、及び収集／キャッシュしたデータをビッグデータアプライアンス１０２及び／または他のノード１０８に送達させるように構成され得る。従来技術のプロセス制御システムとは異なり、プロセス制御システムビッグデータネットワーク１００のノードまたはデバイス１０８で収集されるデータの識別情報は、デバイス１０８に演繹的に構成する必要はない。さらに、データがノード１０８で収集され、そこから送達される速度も、構成、選択、または定義する必要がない。代わりに、プロセス制御ビッグデータシステム１００のノード１１０、１１２（及び随意に、他のノード１１５の少なくとも１つ）は、データが生成、受信、または取得される速度でノードによって生成、受信、または取得される全てのデータを自動的に収集し得、また、収集したデータを高忠実度で（例えば、データの不可逆圧縮、または元々の情報の損失を引き起こし得る任意の他の技法を使用することなく）プロセス制御ビッグデータアプライアンス１０２に、及び随意に、ネットワーク１００の他のノード１０８に送達させ得る。
【００９３】
図７では、プロセス制御ビッグデータネットワークバックボーン１０５に接続される例示的なプロバイダノード１１０を例示する詳細なブロック図が例示される。より具体的には、プロセスプラント１０から収集され、データ記憶領域１２０に記憶されるデータを収集し、キャッシュするために、プロバイダノードが使用され得る。データソーステンプレート１２９ａ（データモデリングスタジオ１０９のグラフィックユーザインターフェース３００においてモデルを構築するために使用される）は、データ記憶領域１２０に記憶されるデータに対するグラフィカルな表現またはポインタである。このようにして、ビッグデータプロセス制御ネットワーク１００で収集され、データ記憶領域１２０に記憶されるデータの全てが、データモデリングスタジオ１０９及びデータ知識アプリケーション１１４のユーザに利用可能である。
【００９４】
上で論じられるように、プロバイダノード１１０は、その主要機能が、プロセスコントローラ、フィールドデバイス、及びＩ／Ｏデバイス等の、プロセスプラント環境１０においてリアルタイムでプロセスを制御する機能を行うために使用されるプロセス制御データを自動的に生成及び／または受信することである、１つ以上のデバイスを含み得る。プロセスプラント環境１０において、プロセスコントローラは、一般的に、フィールドデバイスによって行われるプロセス測定値を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、そして、プラント１０においてプロセスの動作を制御するために、他のフィールドデバイスへの有線または無線通信リンクを通じて送信される制御信号を生成する。一般的に、少なくとも１つのフィールドデバイスは、プロセスの動作を制御するために、物理的機能（例えば、弁を開くまたは閉じる、温度、バーナーの炎、ファンの速度を上昇または下降させる等）を行い、いくつかのタイプのフィールドデバイスは、Ｉ／Ｏデバイスを使用してコントローラと通信し得る。プロセスコントローラ、フィールドデバイス、及びＩ／Ｏデバイスは、有線または無線であり得、任意の数及び組み合わせの有線及び無線プロセスコントローラ、フィールドデバイス、及びＩ／Ｏデバイスは、プロセス制御ビッグデータネットワーク１００のノード１１０内に含まれ得る。
【００９５】
図７で例示されるように、コントローラ１１は、入力／出力（Ｉ／Ｏ）カード２６及び２８を介して、有線フィールドデバイス１５〜２２に通信可能に接続され、また、無線ゲートウェイ３５及びネットワークバックボーン１０５を介して、無線フィールドデバイス４０〜４６に通信可能に接続される（しかしながら、別の実施形態において、コントローラ１１は、別の有線または無線の通信リンクを使用すること等によって、バックボーン１０５以外の通信ネットワークを使用して、無線ゲートウェイ３５に通信可能に接続され得る。）。図７において、コントローラ１１は、プロセス制御システムビッグデータネットワーク１００のノード１１０であるように示され、また、プロセス制御ビッグデータネットワークバックボーン１０５に直接接続される。
【００９６】
一例としてＥｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されているＤｅｌｔａＶ（商標）コントローラであり得るコントローラ１１は、フィールドデバイス１５〜２２及び４０〜４６のうちの少なくともいくつかを使用して、バッチプロセスまたは連続プロセスを実装するために動作し得る。コントローラ１１は、例えば標準的な４〜２０ｍＡデバイス、Ｉ／Ｏカード２６、２８、及び／またはＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバス通信プロトコル、ＨＡＲＴ（登録商標）プロトコル、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）プロトコル等の任意のスマート通信プロトコルと関連付けられる任意の所望のハードウェア及びソフトウェアを使用して、フィールドデバイス１５〜２２及び４０〜４６に通信可能に接続され得る。コントローラ１１は、追加的にまたは代替的に、ビッグデータネットワークバックボーン１０５を使用して、フィールドデバイス１５〜２２及び４０〜４６のうちの少なくともいくつかと通信可能に接続され得る。図７で例示される実施形態において、コントローラ１１、フィールドデバイス１５〜２２、及びＩ／Ｏカード２６、２８は、有線デバイスであり、フィールドデバイス４０〜４６は、無線フィールドデバイスである。当然、有線フィールドデバイス１５〜２２、及び無線フィールドデバイス４０〜４６は、将来開発される任意の標準規格またはプロトコルを含む、任意の他の所望の標準規格（複数可）または任意の有線もしくは無線プロトコル等のプロトコルに準拠することができる。
【００９７】
図７のコントローラ１１は、制御ループを含み得る（メモリ３２に記憶された）１つ以上のプロセス制御ルーチンを実装または監督する、プロセッサ３０を含む。プロセッサ３０は、制御活動を行うために、フィールドデバイス１５〜２２及び４０〜４６と通信し得、また、バックボーン１０５に通信可能に接続される他のノード（例えば、ノード１１０、１１２、１１５）と通信し得る。本明細書で説明される制御ルーチンまたはモジュール（品質予測及び障害検出モジュールまたは機能ブロックを含む）のいずれかは、所望に応じて異なるコントローラまたは他のデバイスによって実装または実行されるその一部を有し得ることに留意されたい。同様に、プロセス制御システム１０内で実装されるように本明細書で説明される制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェア等を含む、任意の形態をとり得る。制御ルーチンは、オブジェクト指向のプログラミング、ラダー論理、シーケンシャルファンクションチャート、機能ブロック図等の任意の所望のソフトウェア形式で、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用して実装され得る。制御ルーチンは、ランダムアクセスメモリ（ＲＡＭ）またはリードオンリーメモリ（ＲＯＭ）等の任意の所望のタイプのメモリ（例えば）に記憶され得る。同様に、制御ルーチンは、例えば、１つ以上のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、または任意の他のハードウェアもしくはファームウェア要素にハードコードされ得る。したがって、コントローラ１１は、任意の所望の様式で、制御ストラテジまたは制御ルーチンを実装するように構成され得る。
【００９８】
いくつかの実施形態において、コントローラ１１は、一般に機能ブロックと称されるものを使用して制御ストラテジを実装し、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分（例えば、サブルーチン）であり、また、プロセス制御システム１０内のプロセス制御ループを実装するために、（リンクと呼ばれる通信を介して）他の機能ブロックと併せて動作する。制御に基づく機能ブロックは、一般的に、プロセス制御システム１０内のいくつかの物理的機能を行うために、送信機、センサ、または他のプロセスパラメータ測定デバイスと関連付けられるような入力機能、ＰＩＤ、ファジー論理等、制御を行う制御ルーチンと関連付けられるような制御機能、または弁等のいくつかのデバイスの動作を制御する出力機能、のうちの１つを行う。当然、ハイブリッド及び他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ１１に記憶され、それによって実行され得、それは一般的に、これらの機能ブロックが標準４〜２０ｍＡデバイス及びＨＡＲＴデバイス等のいくつかのタイプのスマートフィールドデバイスのために使用され、またはそれらと関連付けられるときに当てはまり、またはフィールドデバイス自体に記憶され、それによって実装され得、それは、フィールドバスデバイスに当てはまり得る。コントローラ１１は、１つ以上の制御ループを実装し得る１つ以上の制御ルーチン３８を含み得る。各制御ループは、一般的に、制御モジュールと称され、また、機能ブロックの１つ以上を実行することによって行われ得る。
【００９９】
有線フィールドデバイス１５〜２２は、センサ、弁、送信機、ポジショナ等の任意のタイプのデバイスであり得る一方で、Ｉ／Ｏカード２６及び２８は、任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのＩ／Ｏデバイスであり得る。図７で例示される実施形態において、フィールドデバイス１５〜１８は、アナログ線または組み合わせたアナログ及びデジタル線を通じてＩ／Ｏカード２６に通信する標準的な４〜２０ｍＡデバイスまたはＨＡＲＴデバイスである一方で、フィールドデバイス１９〜２２は、フィールドバス通信プロトコルを使用して、デジタルバスを通じてＩ／Ｏカード２８に通信するＦＯＵＮＤＡＴＩＯＮ（登録情報）フィールドバスフィールドデバイス等のスマートデバイスである。しかしながら、いくつかの実施形態において、有線フィールドデバイス１５〜２２の少なくともいくつか、及び／またはＩ／Ｏカード２６、２８の少なくともいくつかは、ビッグデータネットワークバックボーン１０５を使用して、コントローラ１１と通信し得る。いくつかの実施形態において、有線フィールドデバイス１５〜２２の少なくともいくつか、及び／またはＩ／Ｏカード２６、２８の少なくともいくつかは、プロセス制御システムビッグデータネットワーク１００のノードであり得る。
【０１００】
図７で示される実施形態において、無線フィールドデバイス４０〜４６は、ＷｉｒｅｌｅｓｓＨＡＲＴプロトコル等の無線プロトコルを使用して、無線ネットワーク７０の中で通信する。そのような無線フィールドデバイス４０〜４６は、（例えば、無線プロトコルを使用して）無線通信するようにも設定される、プロセス制御ビッグデータネットワーク１００の１つ以上の他のノード１０８と直接通信し得る。無線で通信するように構成されない１つ以上の他のノード１０８と通信するために、無線フィールドデバイス４０〜４６は、バックボーン１０５または別のプロセス制御通信ネットワークに接続される、無線ゲートウェイ３５を利用し得る。いくつかの実施形態において、無線フィールドデバイス４０〜４６の少なくともいくつかは、プロセス制御システムビッグデータネットワーク１００のノードであり得る。
【０１０１】
無線ゲートウェイ３５は、無線通信ネットワーク７０の種々の無線デバイス４０〜５８へのアクセスを提供し得る、プロバイダデバイス１１０の一例である。特に、無線ゲートウェイ３５は、無線デバイス４０〜５８、有線デバイス１１〜２８、及び／または（図７のコントローラ１１を含む）プロセス制御ビッグデータネットワーク１００の他のノード１０８の間に通信可能な連結を提供する。例えば、無線ゲートウェイ３５は、ビッグデータネットワークバックボーン１０５を使用することによって、及び／またはプロセスプラント１０の１つ以上の他の通信ネットワークを使用することによって、通信可能な連結を提供し得る。
【０１０２】
無線ゲートウェイ３５は、いくつかの事例において、有線及び無線プロトコルスタックの１つまたは複数の共有層をトンネリングしながら、有線及び無線プロトコルスタックの下位層へのルーティング、バッファリング、及びタイミングサービス（例えば、アドレス変換、ルーティング、パケットセグメント化、優先順位付け等）によって、通信可能な連結を提供する。他の事例において、無線ゲートウェイ３５は、任意のプロトコル層を共有しない、有線プロトコルと無線プロトコルとの間でコマンドを翻訳し得る。プロトコル及びコマンド変換に加え、無線ゲートウェイ３５は、無線ネットワーク７０の中で実装される無線プロトコルと関連付けられるスケジューリングスキームのタイムスロット及びスーパーフレーム（時間的に均等に離間された複数組の通信タイムスロット）によって使用される、同期クロッキングを提供し得る。さらに、無線ゲートウェイ３５は、リソース管理、性能調整、ネットワーク障害緩和、トラフィックの監視、セキュリティ、及び同類のもの等の、無線ネットワーク７０のためのネットワーク管理及び管理機能を提供し得る。無線ゲートウェイ３５は、プロセス制御システムビッグデータネットワーク１００のノード１１０であり得る。
【０１０３】
有線フィールドデバイス１５〜２２と同様に、無線ネットワーク７０の無線フィールドデバイス４０〜４６は、プロセスプラント１０内の物理的制御機能、例えば、弁の開放もしくは閉鎖、またはプロセスパラメータの測定値をとり得る。しかしながら、無線フィールドデバイス４０〜４６は、ネットワーク７０の無線プロトコルを使用して通信するように設定される。このように、無線フィールドデバイス４０〜４６、無線ゲートウェイ３５、及び無線ネットワーク７０の他の無線ノード５２〜５８は、無線通信パケットの製作者及び消費者である。
【０１０４】
いくつかのシナリオにおいて、無線ネットワーク７０は、非無線デバイスを含み得る。例えば、図７のフィールドデバイス４８は、旧来の４〜２０ｍＡデバイスであり得、フィールドデバイス５０は、従来の有線ＨＡＲＴデバイスであり得る。ネットワーク７０内で通信するために、フィールドデバイス４８及び５０は、無線アダプタ（ＷＡ）５２ａまたは５２ｂを介して、無線通信ネットワーク７０に接続され得る。加えて、無線アダプタ５２ａ、５２ｂは、Ｆｏｕｎｄａｔｉｏｎ（登録商標）フィールドバス、ＰＲＯＦＩＢＵＳ、ＤｅｖｉｃｅＮｅｔ等の他の通信プロトコルをサポートし得る。さらに、無線ネットワーク７０は、無線ゲートウェイ３５と有線通信している別個の物理的デバイスであり得るか、または統合型デバイスとして無線ゲートウェイ３５が提供され得る、１つ以上のネットワークアクセスポイント５５ａ、５５ｂを含み得る。無線ネットワーク７０はまた、無線通信ネットワーク７０内で一方の無線デバイスからもう一方の無線デバイスにパケットを転送するために、１つ以上のルータ５８も含み得る。無線デバイス３２〜４６及び５２〜５８は、無線通信ネットワーク７０の無線リンク６０を通じて、互いに及び無線ゲートウェイ３５と通信し得る。
【０１０５】
故に、図７は、主に、ネットワークルーティング機能及び管理をプロセス制御システムの種々のネットワークに提供する役割を果たす、プロバイダデバイス１１０のいくつかの実施例を含む。例えば、無線ゲートウェイ３５、アクセスポイント５５ａ、５５ｂ、及びルータ５８は、無線通信ネットワーク７０の中で無線パケットをルーティングする機能を含む。無線ゲートウェイ３５は、無線ネットワーク７０のためのトラフィックの運用及び管理機能を行い、ならびに、無線ネットワーク７０と通信接続している有線ネットワークに及びそこからトラフィックをルーティングする。無線ネットワーク７０は、ＷｉｒｅｌｅｓｓＨＡＲＴ等の、プロセス制御メッセージ及び機能を具体的にサポートする、無線プロセス制御プロトコルを利用し得る。
【０１０６】
しかしながら、プロセス制御ビッグデータネットワーク１００のプロバイダノード１１０はまた、他の無線プロトコルを使用して通信する、他のノードも含み得る。例えば、プロバイダノード１１０は、１つ以上の無線アクセスポイント７２を含み得、該無線アクセスポイントは、ＷｉＦｉまたは他のＩＥＥＥ８０２．１１準拠の無線ローカルエリアネットワークプロトコル等の他の無線プロトコル、ＷｉＭＡＸ（ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス）、ＬＴＥ（ロングタームエボリューション）、もしくは他のＩＴＵ−Ｒ（国際電気通信連合無線通信部門）準拠のプロトコル等のモバイル通信プロトコル、近距離無線通信（ＮＦＣ）及びＢｌｕｅｔｏｏｔｈ（登録商標）等の短波無線通信、または他の無線通信プロトコルを利用し得る。一般的に、そのような無線アクセスポイント７２は、ハンドヘルドまたは他のポータブルコンピューティングデバイス（例えば、ユーザインターフェースデバイス１１３）が、無線ネットワーク７０と異なり、かつ無線ネットワーク７０と異なる無線プロトコルをサポートする、それぞれの無線ネットワークを通じて通信することを可能にする。いくつかのシナリオでは、ポータブルコンピューティングデバイスに加え、１つ以上のプロセス制御デバイス（例えば、コントローラ１１、フィールドデバイス１５〜２２、または無線デバイス３５、４０〜５８）もまた、アクセスポイント７２によってサポートされる無線を使用して通信し得る。
【０１０７】
追加的にまたは代替的に、プロバイダノード１１０は、近接したプロセス制御システム１０の外部にあるシステムに対する１つ以上のゲートウェイ７５、７８を含み得る。一般的に、そのようなシステムは、プロセス制御システム１０によって生成または操作される情報の顧客または供給者である。例えば、プラントゲートウェイノード７５は、（それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーン１０５を有する）近接したプロセスプラント１０を、それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーンを有する別のプロセスプラントと通信可能に接続し得る。所望であれば、単一のプロセス制御ビッグデータネットワークバックボーン１０５が、複数のプロセスプラントまたはプロセス制御環境にサービスを提供し得る。
【０１０８】
別の実施例において、プラントゲートウェイノード７５は、近接したプロセスプラント１０を、プロセス制御ビッグデータネットワーク１００またはバックボーン１０５を含まない、旧来のまたは従来技術のプロセスプラントに通信可能に接続し得る。本実施例において、プラントゲートウェイノード７５は、プラント１０のプロセス制御ビッグデータバックボーン１０５によって利用されるプロトコルと、旧来のシステムによって利用される異なるプロトコル（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｐｒｏｆｉｂｕｓ、フィールドバス、ＤｅｖｉｃｅＮｅｔ等）との間でメッセージを変換または翻訳し得る。
【０１０９】
プロバイダノード１１０は、プロセス制御ビッグデータネットワーク１００を、実験室システム（例えば、実験室情報管理システムまたはＬＩＭＳ）、オペレータ巡回データベース、運搬システム、維持管理システム、製品在庫管理システム、生産スケジューリングシステム、気象データシステム、出荷及び運搬システム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システム等の、外部のパブリックまたはプライベートシステムのネットワークと通信可能に接続するために、１つ以上の外部システムゲートウェイノード７８を含み得る。
【０１１０】
図７は、有限数のフィールドデバイス１５〜２２及び４０〜４６を伴う単一コントローラ１１だけを例示するが、これは、例示的かつ非限定的な実施形態に過ぎない。任意の数のコントローラ１１が、プロセス制御ビッグデータネットワーク１００のプロバイダノード１１０に含まれ得、コントローラ１１のいずれかが、任意の数の有線または無線フィールドデバイス１５〜２２、４０〜４６と通信して、プラント１０のプロセスを制御し得る。さらに、プロセスプラント１０はまた、任意の数の無線ゲートウェイ３５、ルータ５８、アクセスポイント５５、無線プロセス制御通信ネットワーク７０、アクセスポイント７２、及び／またはゲートウェイ７５、７８も含み得る。
【０１１１】
上で論じられるように、プロバイダノード１１０の１つ以上は、それぞれのマルチコアプロセッサＰＭＣＸ、それぞれの高密度メモリ記憶装置ＭＸ、またはそれぞれのマルチコアプロセッサＰＭＣＸ及びそれぞれの高密度メモリ記憶装置ＭＸ（図７において、アイコンＢＤによって示される）の双方を含み得る。各プロバイダノード１００は、そのメモリ記憶装置ＭＸ（及び、いくつかの実施形態では、そのフラッシュメモリ）を利用して、データを収集し、キャッシュし得る。ノード１１０のそれぞれは、そのキャッシュしたデータを、プロセス制御システムビッグデータアプライアンス１０２に伝送させ得る。例えば、ノード１１０は、そのキャッシュの中のデータの少なくとも一部分を、ビッグデータアプライアンス１０２に定期的に伝送させ得る。代替的にまたは追加的に、ノード１１０は、そのキャッシュの中のデータの少なくとも一部分を、ビッグデータアプライアンス１０２にストリームさせ得る。１つの事例において、プロセス制御システムビッグデータアプライアンス１０２は、ノード１１０からキャッシュまたは収集したデータを送達するストリーミングサービスの加入者であり得る。別の事例において、プロバイダノード１１０は、ストリーミングサービスをホストし得る。
【０１１２】
バックボーン１０５との直接接続を有するノード１１０（例えば、コントローラ１１、プラントゲートウェイ７５、無線ゲートウェイ３５）について、それぞれのキャッシュまたは収集したデータは、一実施形態において、バックボーン１０５を介して、ノード１１０からプロセス制御ビッグデータアプライアンス１０２に直接伝送され得る。しかしながら、ノード１１０の少なくともいくつかについて、収集及び／またはキャッシングは、レベル化または階層化され得、よって、プロセス制御ビッグデータアプライアンス１０２からさらに下流にある（例えば、から遠く離れた）ノードでキャッシュまたは収集したデータは、さらに上流にある（例えば、ビッグデータアプライアンス１０２により近い）ノードで中間的にキャッシュされる。
【０１１３】
階層化またはレベル化したデータキャッシングの実施例を例示するために、フィールドデバイス２２は、それが生成または受信するプロセス制御データをキャッシュし、そして、Ｉ／Ｏデバイス２８またはコントローラ１１等の、フィールドデバイス２２とプロセス制御ビッグデータアプライアンス１０２との間の通信経路に含まれる「上流の」デバイスにそのキャッシュのコンテンツを送達させる。例えば、フィールドデバイス２２は、そのキャッシュのコンテンツをＩ／Ｏデバイス２８にストリームし得、またはフィールドデバイス２２は、そのキャッシュのコンテンツをＩ／Ｏデバイス２８に定期的に伝送し得る。Ｉ／Ｏデバイス２８は、Ｉ／Ｏデバイス２８が直接生成、受信、及び観察する他のデータとともに、フィールドデバイス２２から受信した情報をそのメモリＭ５にキャッシュする（及び、いくつかの実施形態ではまた、他の下流のフィールドデバイス１９〜２１から受信したデータも、そのメモリＭ５にキャッシュし得る）。次いで、Ｉ／Ｏデバイス２８で収集し、キャッシュした（フィールドデバイス２２のキャッシュのコンテンツを含む）データが、上流のコントローラ１１に定期的に伝送され得、及び／またはストリームされ得る。同様に、コントローラ１１のレベルで、コントローラ１１は、下流のデバイス（例えば、Ｉ／Ｏカード２６、２８及び／またはフィールドデバイス１５〜２２のいずれか）から受信した情報をそのメモリＭ６にキャッシュし、そして、そのメモリＭ６において、下流のデータをコントローラ１１自体が直接生成、受信、及び観察するデータと集約する。次いで、コントローラ１１が、集約した収集またはキャッシュしたデータをプロセス制御ビッグデータアプライアンス１０２に定期的に送達及び／またはストリームし得る。このようにして、フィールドデバイス２２は、データモデリングスタジオ１０９及び／またはデータ知識アプリケーション１１４のユーザに、リアルタイムまたはほぼリアルタイムのデータへのアクセスを提供する。
【０１１４】
階層化またはレベル化したキャッシングの第２の例示的なシナリオにおいて、コントローラ１１は、有線フィールドデバイス（例えば、デバイス１５〜２２のうちの１つ以上）及び少なくとも１つの無線フィールドデバイス（例えば、無線フィールドデバイス４４）を使用して、プロセスを制御する。この第２の例示的なシナリオの第１の実施形態において、無線デバイス４４でキャッシュまたは収集したデータは、（例えば、ビッグデータネットワーク１０５を介して）無線デバイス４４からコントローラ１１に直接送達及び／またはストリームされ、そして、コントローラ１１の下流にある他のデバイスまたはノードからのデータとともに、コントローラキャッシュＭ６で記憶される。コントローラ１１は、そのキャッシュＭ６に記憶したデータを、プロセス制御ビッグデータアプライアンス１０２に定期的に送達またはストリームし得る。
【０１１５】
この第２の例示的なシナリオの別の実施形態において、無線デバイス４４でキャッシュまたは収集したデータは、代替のレベル化または階層化した経路を介して、例えば、デバイス４２ａ、ルータ５２ａ、アクセスポイント５５ａ、及び無線ゲートウェイ３５を介して、最終的に、プロセス制御ビッグデータアプライアンス１０２に送達され得る。この実施形態において、代替の経路のノード４１ａ、５２ａ、５５ａ、または３５のうちの少なくともいくつかは、下流のノードからのデータをキャッシュし得、また、キャッシュしたデータを、さらに上流にあるノードに定期的に送達またはストリームし得る。
【０１１６】
それに応じて、異なるタイプのデータは、異なる階層化またはレベル化配設を使用して、プロセス制御システムビッグデータネットワーク１００の異なるノードでキャッシュされ得る。いくつかの事例において、プロセスの制御に対応するデータは、その主要機能が制御することであるプロバイダデバイス１１０（例えば、フィールドデバイス、Ｉ／Ｏカード、コントローラ）を使用した、階層化した様式でキャッシュされ、送達され得る一方で、ネットワークトラフィックの測定に対応するデータは、その主要機能がトラフィック管理であるプロバイダデバイス１１０（例えば、ルータ、アクセスポイント、及びゲートウェイ）を使用した、階層化した様式でキャッシュされ、送達され得る。所望であれば、データは、その主要機能（及び、いくつかのシナリオでは、唯一の機能）が下流のデバイス（本明細書では、「ヒストリアンノード」と称される）からデータを収集し、キャッシュすることであるプロバイダノードまたはデバイス１１０を介して送達され得る。例えば、ヒストリアンノードまたはコンピューティングデバイスのレベル化したシステムは、ネットワーク１００の全体を通して位置付けられ、各ノード１１０は、例えばバックボーン１０５を使用して、キャッシュしたデータを類似するレベルのヒストリアンノードに定期的に送達またはストリームし得る。下流のヒストリアンノードは、キャッシュしたデータを上流のヒストリアンノードに送達またはストリームし得、最終的には、プロセス制御ビッグデータアプライアンス１０２のすぐ下流にあるヒストリアンノードが、プロセス制御ビッグデータアプライアンス１０２で記憶するために、それぞれのキャッシュしたデータを送達またはストリームし得る。
【０１１７】
階層化したキャッシングも、または追加的に、プロセス制御システムビッグデータネットワークバックボーン１０５を使用して互いに通信する、ノード１１０によって行われ得る。同様に、ノード１１０の少なくともいくつかは、別の通信ネットワーク及び／またはＨＡＲＴ、ＷｉｒｅｌｅｓｓＨＡＲＴ、フィールドバス、ＤｅｖｉｃｅＮｅｔ、ＷｉＦｉ、イーサネット（登録商標）、または他のプロトコル等の他のプロトコルを使用して、キャッシュしたデータを異なるレベルの他のノード１１０に通信し得る。
【０１１８】
当然、レベル化または階層化したキャッシングが、プロバイダノード１１０に関して論じられているが、この概念及び技法は、プロセス制御システムビッグデータネットワーク１００のユーザインターフェースノード１１２に、及び／または他のタイプのノード１１５に、均等に適用する。例えば、ノード１０８のサブセットは、レベル化または階層化したキャッシングを行い得る一方で、別のノード１０８のサブセットは、中間ノードでキャッシュまたは一時的に記憶することなく、該サブセットのキャッシュした／収集したデータを、プロセス制御ビッグデータアプライアンス１０２に直接送達させ得る。追加的に、ヒストリアンノードは、複数の異なるタイプのノードから、例えばプロバイダノード１１０から、及びユーザインターフェースノード１１２から、データをキャッシュし得る。
【０１１９】
図８は、プロセス制御システムビッグデータアプライアンス１０２のアプライアンスデータ受信機１２２及びアプライアンス要求サービサー１３５を使用して達成され得る、より詳細な概念及び技法を例示する、例示的なブロック図である。より具体的には、図８は、記憶及び履歴化のために、プロセス制御ビッグデータネットワーク１００のノード１０８からビッグデータアプライアンス１０２にデータ（例えば、ストリーミングされるデータ）を転送するためのアプライアンスデータ受信機１２２の使用を例示する、例示的なブロック図である。図８は、図１の４つの例示的なノード１０８、すなわち、コントローラ１１、ユーザインターフェースデバイス１２、無線ゲートウェイ３５、及びサードパーティマシンまたはネットワーク７０に対するゲートウェイを示す。しかしながら、図８に関して論じられる技法及び概念は、任意のタイプ及び任意の数のノード１０８に適用され得る。追加的に、図８は、３つのアプライアンスデータ受信機１２２ａ、１２２ｂ、及び１２２ｃだけを例示しているが、図８に対応する技法及び概念は、任意のタイプ及び任意の数のアプライアンスデータ受信機１２２に適用され得る。
【０１２０】
図８で例示される実施形態において、ノード１１、１２、３５、及び７８のそれぞれは、ノード１１、１２、３５、及び７８によって生成、受信、または別様には観察されるデータを捕捉するために、それぞれのスキャナＳ１１、Ｓ１２、Ｓ３５、Ｓ７８を含む。各スキャナＳ１１、Ｓ１２、Ｓ３５、Ｓ７８の機能は、それぞれのノードの１１、１２、３５、７８のそれぞれのプロセッサＰＭＣＸによって実行され得る。スキャナＳ１１、Ｓ１２、Ｓ３５、Ｓ７８は、例えば上で説明したような様式で、捕捉したデータ及び対応するタイムスタンプを、それぞれのローカルメモリＭ１１、Ｍ１２、Ｍ３５、Ｍ７８に一時的に記憶またはキャッシュさせ得る。このように、補足したデータは、時系列データまたはリアルタイムデータを含む。補足したデータは、プロセス制御ビッグデータ記憶領域１２０によって利用されるスキーマを使用して、メモリＭ１１、Ｍ１２、Ｍ３５、及びＭ７８のそれぞれに記憶またはキャッシュされ得る。
【０１２１】
各ノードの１１、１２、３５、及び７８は、例えばネットワークバックボーン１０５を使用することによって、キャッシュしたデータの少なくとも一部を、１つ以上のアプライアンスデータ受信機１２２ａ〜１２２ｃに伝送し得る。例えば、少なくとも１つのノード１１、１２、３５、７８は、キャッシュが特定の閾値まで満たされたときに、そのそれぞれのメモリＭＸからのデータの少なくとも一部をプッシュし得る。キャッシュの閾値は、調整可能であり得、少なくとも１つのノード１１、１２、３５、７８は、リソース（例えば、ネットワーク１０５、プロセッサＰＭＣＸ、またはいくつかの他のリソースの帯域幅）が十分に利用可能であるときに、そのそれぞれのメモリＭＸからデータの少なくとも一部をプッシュし得る。特定のリソースの可用性閾値は、調整可能であり得る。
【０１２２】
いくつかの事例において、少なくとも１つのノード１１、１２、３５、７８は、周期的な間隔でメモリＭＸに記憶されるデータの少なくとも一部をプッシュし得る。データがプッシュされる特定の時間間隔の周期性は、データのタイプ、プッシュするノードのタイプ、プッシュするノードの場所、及び／または他の基準に基づき得る。特定の時間間隔の周期性は、調整可能であり得る。一方では、少なくとも１つのノード１１、１２、３５、７８は、（例えば、プロセス制御ビッグデータアプライアンス１０２からの）要求に応答して、データを提供し得る。
【０１２３】
いくつかの事例において、少なくとも１つのノード１１、１２、３５、７８は、各ノード１１、１２、３５、７８によってデータが生成、受信、または別様には観察されたときに、データの少なくとも一部をリアルタイムでストリームし得る（例えば、ノードは、データを一時的に記憶またはキャッシュしないか、またはノードがストリーミングのためにノードにデータを処理させている間に限って、データを記憶し得る）。例えば、データの少なくとも一部は、ストリーミングプロトコルを使用することによって、１つ以上のアプライアンスデータ受信機１２２にストリームされ得る。ノード１１、１２、３５、７８は、ストリーミングサービスをホストし得、データ受信機１２２及び／またはデータ記憶領域１２０のうちの少なくとも１つは、ストリーミングサービスに加入し得る。
【０１２４】
それに応じて、伝送データは、例えばネットワークバックボーン１０５を介して、１つ以上のアプライアンスデータ受信機１２２ａ〜１２２ｃによって受信され得る。特定のアプライアンスデータ受信機１２２が、１つ以上の特定のノードからデータを受信するように指定され得、及び／または特定のアプライアンスデータ受信機１２２が、１つ以上の特定の種類のデバイス（例えば、コントローラ、ルータ、またはユーザインターフェースデバイス）だけからデータを受信するように指定され得る。追加的に、特定のアプライアンスデータ受信機１２２が、１つ以上の特定の種類のデータだけ（例えば、ネットワーク管理データだけ、またはセキュリティ関連のデータだけ）を受信するように指定され得る。
【０１２５】
アプライアンスデータ受信機１２２ａ〜１２２ｃは、データをビッグデータアプライアンス記憶領域１２０に記憶または履歴化させ得る。例えば、アプライアンスデータ受信機１２２ａ〜１２２ｃのそれぞれによって受信されるデータは、プロセス制御ビッグデータスキーマを使用して、データ記憶領域１２０に記憶され得る。図８で示される実施形態において、時系列データ１２０ａは、対応するメタデータ１２０ｂとは別に記憶されるように例示されているが、いくつかの事例において、メタデータ１２０ｂの少なくとも一部は、時系列データ１２０ａとともに統合的に記憶され得る。
【０１２６】
複数のアプライアンスデータ受信機１２２ａ〜１２２ｃを介して受信されるデータは、複数のソースからのデータが（例えば、データ記憶領域１２０の同じ一群の行に）組み合わせられ得るように統合され得る。いくつかの事例において、複数のアプライアンスデータ受信機１２２ａ〜１２２ｃを介して受信されるデータは、ノイズ及び不整合データを除去するためにクリーニングされる。アプライアンスデータ受信機１２２は、受信したデータが記憶される前に、受信したデータの少なくとも一部に対してデータクリーニング及び／またはデータ統合化を行い得、ならびに／またはプロセス制御システムビッグデータアプライアンス１０２は、受信したデータが記憶領域１０２に記憶された後に、受信したデータの一部または全部をクリーニングし得る。デバイスまたはノード（ノード１１０、１１２、１１５等）は、データのコンテンツに関連する追加的なデータを伝送させ、アプライアンスデータ受信機１２２及び／またはビッグデータアプライアンス記憶領域１２０は、この追加的なデータを利用して、データクリーニングを行い得る。ノード１１０、１１２、１１５が、記憶のために、データをビッグデータアプライアンス記憶領域１２０に伝送させる前に、ノード１１０、１１２、１１５によって少なくとも一部のデータが（少なくとも部分的に）クリーニングされ得る。
【０１２７】
図９は、データモデリングスタジオ１０９によって作成されるモデルを利用した知識発見のための方法１１００を例示する。全般的に、知識発見のための方法１１００は、知識発見アプリケーション１１４によって実行され得、該知識発見アプリケーションは、例えばユーザが関心を示すプロセス制御データの指示を受信し、そして、ユーザがプロセスプラントから受信したデータを発見し、評価することを可能にするために、そのデータに対して、系統的及び／または包括的な関係の診断、予知、分析、識別等を行うモデルを実行する。一般的な意味において、知識発見アプリケーション１１４によって実行される知識発見方法は、ユーザが、ビッグデータアプライアンス１０２に記憶したデータを閲覧し、探索し、ビッグデータアプライアンス１０２からデータを選択し、そして（例えば、上で説明される様式で作成されるデータモデルの１つ以上を使用して）そのデータに対して種々の動作を行って、プラント１０をより効率的に動作させる、プラント１０における誤りまたはダウンタイムを最小にする、プラント出力の品質を最高にする、等の際に有用であり得る、関係または他の情報を発見することを可能にする。さらに、データ知識発見アプリケーション１１４は、出力探索インターフェースを生成し得、該出力探索インターフェースは、ユーザが、モデルの出力のグラフィカルな描写、例えばデータ値、チャート、グラフ、警報等の形態をとり得るこの情報を閲覧すること、ならびに、データモデルの出力と、プロセスプラントで動作する種々のソフトウェア及びハードウェアモジュールとの関係を閲覧することを可能にする。
【０１２８】
一般的な意味において、知識発見方法は、知識発見アプリケーション１１４をホストするインターフェースステーション１０３の１つ以上のプロセッサによって実行され得る。いくつかの実施形態において、方法１１００のステップの１つ以上は、１つ以上のクライアントデバイス１１３、１つ以上のコントローラ１１、１つ以上のノード１０８等の、プロセスプラント１０の中の異なるデバイスの間で分散され得る。さらに、方法１１００の１つのステップの出力は、次のステップを行うエンティティに伝送され得る。
【０１２９】
ユーザインターフェースステーション１０３等の１つ以上のデバイスのプロセッサは、知識発見方法を自動的に実行し得る。プロセッサは、プラントの動作中、またはプラントが動作し、プラントデータを例えばビッグデータアプライアンス１０２に記憶した後、のいずれかで、ビッグデータネットワークまたはバックボーン１０５を介して、知識発見アプリケーション１１４及びそこで使用されるデータにアクセスし得、また、いくつかの事例において、知識発見プロセスの一部として１つまたはデータモデルを定期的に実行し得、知識発見プロセスの一部として１つ以上のデータモデルを反復的に実行し得、（ユーザの介入を伴わずに、バックグラウンドまたは自動的に、等で）知識発見プロセスの一部として１つ以上のデータモデルを連続的に実行し得る。さらに、プロセッサは、バックグラウンドで（すなわち、ユーザ対話を伴わずに、プロセス制御システムのデバイスによって動作される）で、またはフォアグラウンド（ユーザ対話を伴う）で、知識発見アプリケーション１１４を実行し得る。バックグラウンドプロセスは、プロセスプラント１０からデータを受信したときに、継続的なデータマイニング、データモデリング、及び他のデータ解析技法を提供するために使用され得る。いくつかの実施形態において、データは、リアルタイムまたはほぼリアルタイムで受信され得る。
【０１３０】
所望であれば、知識発見方法は、反復的であり得、よって、本方法の各ステップの後に、本方法を実行する１つ以上のプロセッサは、次のステップへの入力として、及び／または以前の出力に基づいて調整を行うために、プロセスの１つの実行の出力、または該プロセス内で使用されるデータモデルを使用し得る。知識発見方法１１００は、自動化され得るか、または例えばデータモデリングスタジオ１０９の１人以上のユーザによって行われる１つ以上の手動のステップを含み得る。ユーザはまた、知識発見アプリケーション１１４を使用して、知識発見方法の１つ以上の態様も構成し得る。方法１１００は、例えば、出力に基づいて提案される修正アクションを方法１１００の実行中に１回以上ユーザに警告するための命令の形態で、１つ以上の出力を提供し得、該出力は、自動的に取り出され得るか、またはさらなるアクション等のために、ユーザに提示され得る。
【０１３１】
さらに、所望であれば、方法１１００を実装する知識発見アプリケーション１１４は、必要に応じてデータエクスプローラ１５５、ビッグデータアプライアンス１０２、及びデータモデリングスタジオ１０９にアクセスして、データモデルを獲得もしくは使用し得るか、または知識発見方法１１００のデータモデルもしくは他のコンポーネントによって使用されるデータにアクセスし得る。例えば、データ知識アプリケーション１１４は、プラント１０からの及び／またはビッグデータアプライアンス１０２からのデータを使用して１つ以上のそのようなデータモデルを実行するために、データモデリングスタジオ１０９を使用して作成される１つ以上のデータモデルにアクセスし得、ならびにデータモデリングスタジオ１０９のランタイムエンジン１２４にアクセスし得る。
【０１３２】
動作中に、データ知識アプリケーション１１４は、データモデルの複数のグラフィカル描写を生成し、表示し得、該データモデルは、ユーザが、どのデータを処理するのか、及びどの１つまたは複数のデータモデルを使用してそのデータを処理するのかを閲覧、指定、または選択することを可能にするために、データに対して行うことができ、また、（例えば、ビッグデータアプライアンス１０２に記憶した）プラント内で利用可能なデータへのインターフェースを提供し得る。当然、上で述べられるように、データモデルは、収集したプロセスデータを使用して、または実際のまたはシミュレーションしたプロセスからのプロセスデータに基づいて、プロセスプラント１０の動作をモデル化もしくは推定する、またはプロセスプラント１０内で動作されるプロセスのいくつかの態様の分析を行う、任意のルーチンを含み得る。発見方法で使用されるデータモデルは、上で説明されるように、予め構成されたモデルであり得るか、またはテンプレート１２９で構築され、１つ以上のデータソーステンプレート１２９ａ、機能テンプレート１２９ｂ、データフローテンプレート１２９ｄ、及び／またはデータ出力テンプレート１２９ｃを含む、データモデリングスタジオ１０９を使用して作成されるモデルであり得る。データモデルは、コンピュータネットワーク（プロセス制御システムビッグデータネットワークバックボーン１０５等）を介して記憶装置から取り出され得るか、または知識発見方法１１００の一部として作成され得る。
【０１３３】
再度図９を参照すると、ブロック１１０２で、知識発見方法１１００を実行するプロセッサが、ユーザインターフェースをユーザに提示して、ユーザが、ビッグデータアプライアンス１０２に記憶した、プラント１０から利用可能である、等の１つ以上のタイプのプロセスデータを閲覧し、ドリルダウンし、そして、選択することを可能する命令を実行し得る。このインターフェースは、記憶した、またはプラント構成データによって提供されるデータの関係を例示し得る、ユーザが実際のデータを閲覧すること、またはデータの要約統計量を閲覧することを可能にし得る、等である。インターフェースは、ユーザが、複数の異なるタイプのデータまたはデータストリームを同時に閲覧すること、または知識発見プロセスで使用するために、プラントから異なるデータストリームを選択することを可能にし得る。例えば、本方法は、ユーザが、上で説明されるデータエクスプローラ１５５を使用することを可能にし得る。
【０１３４】
したがって、ブロック１１０２で、方法１１００を実行するプロセッサが、ビッグデータアプライアンスに記憶したプロセス制御データを表示するデータ探索インターフェースを生成する命令を実行し得る。プロセス制御データは、プロセスプラントで使用されるハードウェア及びソフトウェアを定義する構成データと、これらの要素の構成された関係とを含み得る。ハードウェアモジュールとしては、ユーザインターフェース、サーバ、データベース、コントローラ、フィールドデバイス、ユニット、ユニットモジュール、装置、装置モジュール、及びプロセスプラント１０で使用される任意の他のデバイスが挙げられ得る。ソフトウェアモジュールとしては、ハードウェアを制御する、ハードウェアモジュールとソフトウェアモジュールとの間のデータフローを方向付ける、等の制御ソフトウェアが挙げられ得、また、制御ルーチン、データ収集ルーチン、データ取り出しルーチン、等が挙げられ得る。ソフトウェアモジュールとしてはまた、プラント１０内の通信を制御または方向付ける通信ソフトウェア、維持管理の目的でデータを収集し、処理する維持管理ソフトウェア、ビジネス機能を行うためにデータを処理するビジネスモジュール、等も挙げられる。当然、プロセス制御データとしては、ハードウェア及びソフトウェアモジュールによって生成されるか、またはそれらに記録される値、例えば温度値、圧力値等に対応するプロセス測定データ、制御信号等のコントローラデータ、等が挙げられる。プロセス制御データはまた、複数のノード１０８及び／またはビッグデータアプライアンス１０２のうちの１つ以上からもストリームされ得る。
【０１３５】
データ知識アプリケーション１１４はさらに、プロセス制御データを統合して、このデータを、複数の他のプロセスプラントソース、非プロセスプラントソース、外部データソース、サードパーティデータソース等からのデータとともに閲覧することを可能にし得る。例えば、第１のプラントのビッグデータアプライアンス１０２からのデータは、１つ以上の他のプラントのビッグデータアプライアンス１０２からのデータと統合され得る。いくつかの実施形態において、プロセス制御データは、プロセスプラントで使用される旧来のスキーマ等の他のデータスキーマを使用して、１つ以上のプロセスプラントからのデータと統合され得る。データはさらに、サードパーティデータ、例えば環境データと統合され得る。環境データとしては、温度、気象条件等の気象データが挙げられ得る。
【０１３６】
データ探索インターフェースは、プロセスプラントの中のハードウェアモジュールとソフトウェアモジュールとの１つ以上の階層関係を定義する、階層構成データを含み得る。例えば、データ探索インターフェースは、特定のプロセスプラント、ならびにそのプロセスプラントで使用されるハードウェア及び特定のソフトウェアルーチンの特定の部分を定義することができる。プロセス制御データはまた、データ収集、データ取り出し等の、プロセスプラントの中のハードウェアモジュールとソフトウェアモジュールとの間の１つ以上の相互接続、どの制御ルーチンをどのコントローラに配置するか、等を定義する接続データも含む。
【０１３７】
さらに、ブロック１１０４は、選択したデータまたはデータストリームに適用される１つ以上のデータモデルのユーザ選択を受信するように動作し得る。選択したデータモデルは、データ前処理ルーチン（クリッピングルーチン、外れ値除去ルーチン等）、出力を生成するために選択したデータストリームに対して行われる１つ以上の機能（相関ルーチン、平均化ルーチン等）、及び／またはグラフィカルな提示、警報等のデータモデルの出力に対して行われる１つ以上の機能、等の、選択したデータソースの１つ以上に対して行われる処理ルーチンを定義し得る。
【０１３８】
例えば、データ処理技法は、ノイズ、不整合データ、外れ値等を除去し得る。データ処理技法はまた、前処理したデータを、データモデルの機能ルーチンまたはブロックと互換性のあるデータフォーマットに変換する、変換ルーチンも含み得る。データモデルによって行われる機能は、１つ以上のデータパターンを決定または発見する、データマイニング技法または他の知的方法を含み得る。
【０１３９】
いずれにしても、ブロック１１０６で例示されるように、知識発見アプリケーション１１４は、選択したデータモデル（複数可）によって処理される１つ以上のプロセスデータ入力を定義する、プロセス制御データの選択を受信し得る。ブロック１１０８で、データモデル（複数可）は、データモデルによって定義される出力を生成するために、選択したプロセス制御データに対して実行される。知識発見アプリケーション１１４は、データモデルを実行するために、データモデリングスタジオ１０９のランタイムエンジン１２４にアクセスし、そして、ランタイムエンジン１２４のモデル実行ルーチン１２８を使用し得る。ブロック１１１０で、データ知識アプリケーション１１４が、ユーザがデータモデルによって生成される出力を閲覧することを可能にする、出力探索インターフェースを生成し得る。より具体的には、出力探索インターフェースは、モデルによって生成される出力のグラフィック表現、プロセスプラントにおける出力とハードウェアモジュールとソフトウェアモジュールとの関係、他の潜在的に関連するデータ等を表示し得る。
【０１４０】
出力探索インターフェースは、ユーザが、パターンを評価し、所望のまたは意味のあるデータパターン、関係等を識別することを可能にする。いくつかの実施形態において、ユーザは、所望のデータパターンの選択を示す入力を行い得、知識発見アプリケーション１１４は、１つ以上のデータモデルを実行して、その関係を呈する複数対または複数群のデータを検索し得る。例えば、ユーザは、製品の品質に関連するデータパターン、または警報と温度との間のパターンを識別するための選択を示す入力を行い得る。結果及び／または視覚化したデータに基づいて、１つ以上の予測が行われ得る。
【０１４１】
知識発見方法１１００はまた、図９のステップ１１０２〜１１１０を反復的にも実行し得る。例えば、モデルの第１の実行の出力に基づいて、ユーザは、モデルの第１の実行の後に追加的なプロセス制御データに対して選択したデータモデルを動作させること、同じプロセス制御データに対して異なるモデルを実行すること、等を望み得る。このようにして、方法１１００は、反復され、ユーザが、迅速かつ効率的にモデルを実行するために、ビッグデータアプライアンス１０２のプロセス制御データを活用することを可能にし得る。
【０１４２】
知識発見アプリケーション１１４は、ビッグデータマシン１０２に記憶した包括的な高忠実度のデータへのアクセスを有するので、本方法を動作させる前に、知識発見方法１１０で収集され、使用されるプロセスプラントの種々のパラメータのいずれかまたは全てを定義する必要はない。したがって、知識発見アプリケーション１１４は、ユーザが最初に必要とするデータを選択し、データを処理する前にその所望のデータを収集するようにプラント装置を構成することをユーザに要求しない。代わりに、本明細書で説明される知識発見方法を動作させているユーザが、いくつかのモデル上で動作させるデータを選択し、後に、追加的なデータが必要であると決定した場合、新しいデータがビッグデータマシン１０２で直ちに利用可能であるので、ユーザは、新しいデータを収集するようにプラントを再構成し、新しいデータを収集する（数週間〜数カ月程度かかる可能性があるプロセス）ようにプラントを運営する必要はない。ユーザは、プロセスに対するモデルを作成する必要があり得るデータの全てをモデルの作成開始時に知っていることは滅多になく、プラントの構成開始時には殆どないので、知識発見アプリケーション１１４は、迅速で効率的な、複雑なプロセスモデリング及び分析を容易にする。
【０１４３】
所望であれば、知識発見アプリケーション１１４を動作させるプロセッサはまた、ビッグデータネットワークバックボーン１０５を介して、１つ以上のデバイスに自動的にアクセスする１つ以上の命令を実行し、また、知識発見アプリケーション１１４の出力に基づいて、プロセスプラントの実際の動作に影響を及ぼすコマンドを実行し得る。しかしながら、知識発見アプリケーション１１４の変更を自動的に実装することを可能にすることは危険であり得る。それに応じて、アプリケーション１１４と関連付けられるかまたはその一部として提供される自動システムは、オペレータ、エンジニア、または別のユーザに、パターン評価の結果及び／または予測、ならびにパターン評価に基づいてユーザが行うことができる１つ以上の潜在的な解決策または構成の変更を警告し得る。
【０１４４】
ブロック１１１２で、知識発見の結果が、プロセス制御システムに記憶または統合され得る。例えば、パターン評価によって提示されるデータは、プラントに戻して入力され、プラント内で実行している１つ以上の制御ストラテジに戻して自動的に結び付けられ得る。プロセスによって決定される１つ以上のパターンは、将来の使用またはアクセスのためのテンプレートとして、ビッグデータアプライアンス１０２またはデータモデリングスタジオ１０９に保存され得る。知識発見プロセスの出力は、解放され得、及び／またはコントローラ、データ分析エンジン等のプラントの別の部分に保存され得る。データモデルは、オンラインプラントの１つ以上の部分に読み込まれ得、オンラインランタイム環境でプラントにおいて実行され得る。
【０１４５】
以下の追加的な考慮事項を上記の議論に適用する。本明細書の全体を通して、複数のインスタンスは、単一のインスタンスとして説明されるコンポーネント、動作、または構造を実装し得る。１つ以上のルーチンまたは方法の個々の動作が別個の動作として例示され、説明されているが、個々の動作の１つ以上が同時に行われ得、また、動作を例示される順序で行う必要はない。例示的な構成の別個のコンポーネントとして提示される構造及び機能は、組み合わせた構造またはコンポーネントとして実装され得る。同様に、単一のコンポーネントとして提示される構造及び機能は、別個のコンポーネントとして実装され得る。これらの及び他の変更、修正、追加、及び改良は、本開示の主題の範囲内である。
【０１４６】
追加的に、ある特定の実施形態は、本明細書で説明される。論理またはいくつかのコンポーネント、モジュール、または機構もしくはユニットを含むように本明細書で説明される。モジュール及びユニットは、ソフトウェアモジュール（例えば、非一時的な機械読み出し可能な媒体に記憶されるコード）またはハードウェアモジュールのいずれかを構成し得る。ハードウェアモジュールは、ある特定の動作を行うことができる有形のユニットであり、また、ある特定の様式で構成または配設され得る。例示的な実施形態において、１つ以上のコンピュータシステム（例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム）またはコンピュータシステムの１つ以上のハードウェアモジュール（例えば、１つまたは一群のプロセッサ）は、本明細書で説明されるある特定の動作を行うように動作するハードウェアモジュールとして、ソフトウェア（例えば、アプリケーションまたはアプリケーション部分）によって構成され得る。
【０１４７】
ハードウェアモジュールは、ある特定の動作を行うように（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）等の、特殊用途プロセッサとして）永続的に構成される、専用の回路または論理を備え得る。ハードウェアモジュールはまた、ある特定の動作を行うようにソフトウェアによって一時的に構成される、（例えば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に包含される）プログラム可能な論理または回路も含み得る。専用の永続的に構成した回路において、または（例えば、ソフトウェアによって構成される）一時的に構成した回路において、ハードウェアモジュールを実装するという決定は、コスト及び時間の考慮によってなされ得ることが認識されるであろう。
【０１４８】
故に、本明細書で使用されるハードウェアという用語は、有形のエンティティを包含するものとして、ある特定の手法で動作するように、または本明細書で説明されるある特定の動作を行うように物理的に構成された、永続的に構成された（例えば、配線で接続された）、または一時的に構成された（例えば、プログラムされた）エンティティであるものとして理解されるべきである。ハードウェアモジュールが一時的に構成される（例えば、プログラムされる）実施形態を考慮すると、ハードウェアモジュールのそれぞれは、時間的に任意の１つのインスタンスにおいて構成またはインスタンス化する必要がない。例えば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成され得る。ソフトウェアは、それに応じて、例えば、１つの時間のインスタンスにおいて特定のハードウェアモジュールを構成し、異なる時間のインスタンスにおいて異なるハードウェアモジュールを構成するようにプロセッサを構成し得る。
【０１４９】
ハードウェア及びソフトウェアモジュールは、他のハードウェア及び／またはソフトウェアモジュールに情報を提供し、及びそれらから情報を受信することができる。故に、説明されるハードウェアモジュールは、通信可能に連結されているものとみなされ得る。複数のそのようなハードウェアまたはソフトウェアモジュールが同時に存在する場合、通信は、ハードウェアまたはソフトウェアモジュールを接続する信号伝送を通して（例えば、適当な回路、回線、及びバスを通じて）達成され得る。複数のハードウェアモジュールまたはソフトウェアが異なる時間に構成またはインスタンス化される実施形態において、そのようなハードウェアまたはソフトウェアモジュール間の通信は、例えば、複数のハードウェアまたはソフトウェアモジュールがアクセスを有するメモリ構造における情報の記憶及び取り出しを通して達成され得る。例えば、１つのハードウェアまたはソフトウェアモジュールが動作を行い、その動作の出力を、該１つのハードウェアまたはソフトウェアモジュールに通信可能に連結されたメモリデバイスに記憶し得る。次いで、さらなるハードウェアまたはソフトウェアモジュールが、その後に、このメモリデバイスにアクセスして、記憶した出力を取り出し、処理し得る。ハードウェア及びソフトウェアモジュールはまた、入力または出力デバイスとの通信を開始し得、また、リソース（例えば、一群の情報）に対して動作することができる。
【０１５０】
本明細書で説明される例示的な方法の種々の動作は、関連する動作を行うように（例えば、ソフトウェアによって）一時的に構成される、または永続的に構成される１つ以上のプロセッサによって、少なくとも部分的に行われ得る。一時的に構成されたか、永続的に構成されたかにかかわらず、そのようなプロセッサは、１つ以上の動作または機能を行うように動作する、プロセッサ実装モジュールを構成し得る。本明細書で参照されるモジュールは、いくつかの例示的な実施形態において、プロセッサ実装モジュールを含み得る。
【０１５１】
同様に、本明細書で説明される方法またはルーチンは、少なくとも部分的にプロセッサ実装され得る。例えば、方法の動作のうちの少なくともいくつかは、１つ以上のプロセッサまたはプロセッサ実装ハードウェアモジュールによって行われ得る。ある特定の動作を行うことは、単一のマシン内に存在するものだけでなく、いくつかのマシンにわたって展開される、１つ以上のプロセッサの間で分散され得る。いくつかの例示的な実施形態において、１つまたは複数のプロセッサは、単一の場所に（例えば、家庭環境内に、職場環境内に、またはサーバファームとして）位置し得るが、他の実施形態では、複数のプロセッサがいくつかの場所にわたって分散され得る。
【０１５２】
本明細書のいくつかの部分は、マシンメモリ（例えば、コンピュータメモリ）内にビットまたは２値デジタル信号として記憶されるデータに対する動作のアルゴリズムまたは記号的表現の観点で提示される。これらのアルゴリズムまたは記号的表現は、データ処理技術の当業者によって、作業の要旨を他の当業者に伝えるために使用される技術の例である。本明細書で使用されるとき、「アプリケーション」、「アルゴリズム」、または「ルーチン」とは、首尾一貫した一連の動作、または所望の結果に通じる類似の処理である。この文脈において、アプリケーション、アルゴリズム、ルーチン、及び動作は、物理的な量の物理的な操作を伴う。一般的に、必ずではないが、そのような量は、マシンによって記憶する、アクセスする、転送する、組み合わせる、比較する、または別様には操作することができる電気的、磁気的、または光学的信号の形態をとり得る。主に一般的な使用の理由で、そのような信号を、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」、及び同類のもの等の語句を使用して称することが、時には好都合である。しかしながら、これらの語句は、単に好都合な標識であり、適当な物理的な量と関連付けられる。
【０１５３】
別途具体的に提示されない限り、「処理する」、「演算する」、「計算する」、「決定する」、「提示する」、「表示する」、または同類のもの等の語句を使用した本明細書での議論は、１つ以上のメモリ（例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ）、レジスタ、または情報を受信し、記憶し、伝送し、もしくは表示する他のマシンコンポーネント内で、物理的（例えば、電子的、磁気的、または光学的）な量として表されるデータを操作または変換するマシン（例えば、コンピュータ）のアクションまたは処理を指し得る。
【０１５４】
本明細書で使用される場合、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」または「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」に対する任意の参照は、その実施形態と関連して説明される特定の要素、機能、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な箇所に現れる「一実施形態において」という語句は、必ずしも全てが同じ実施形態を参照しているとは限らない。
【０１５５】
いくつかの実施形態は、それらの派生語とともに「連結される」及び「接続される」という表現を使用して説明され得る。例えば、いくつかの実施形態は、２つ以上の要素が物理的または電気的に直接接触していることを示す「連結される」という用語を使用して説明され得る。しかしながら、「連結される」という用語は、２つ以上の要素が互いに直接接触していないが、それでも互いに協働または相互に作用することも意味し得る。本実施形態は、この文脈に限定されない。
【０１５６】
本明細書で使用される「備える（ｃｏｍｐｒｉｓｅｓ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有している（ｈａｖｉｎｇ）」、またはその任意の他の変形は、非排他的な包含を対象とすることを意図する。例えば、要素の一覧を含む過程、方法、項目、または装置は、必ずしもこれらの要素だけに限定されず、そのような過程、方法、項目、または装置に明示的に列挙または内在されない他の要素を含み得る。さらに、別途明確に逆の意味で述べられていない限り、「または（ｏｒ）」は、排他的な「ｏｒ」ではなく、包含的な「ｏｒ」を指す。例えば、ＡまたはＢという条件は、Ａが真（または存在する）かつＢが偽（または存在しない）である、Ａが偽（または存在しない）かつＢが真（または存在する）である、ならびにＡ及びＢの両方が真（または存在する）である、という条件のうちのいずれか１つによって満たされる。
【０１５７】
加えて、「１つの（ａ）」または「１つの（ａｎ）」の使用は、本明細書の実施形態の要素及びコンポーネントを説明するために用いられる。これは、単に便宜のために、及び説明の一般的な意味を提供するために行われる。この説明は、１つまたは少なくとも１つを含むものと読み取られるべきであり、単数形は、他の意味になることが明らかでない限り、複数形も含む。
【０１５８】
本開示を一読すれば、当業者は、本明細書で開示されるモデルを構成し、実行するためのデータモデリングスタジオを実装するためのさらに追加的な代替の構造的及び機能的設計を認識するであろう。したがって、特定の実施形態及びアプリケーションが本明細書で例示され、説明されているが、開示される実施形態は、本明細書で開示される正確な構造及びコンポーネントに限定されないことを理解されたい。当業者には明白である種々の修正、変更、及び変形が、特許請求の範囲で定義される趣旨及び範囲を逸脱することなく、本明細書で開示される方法及び構造の配設、動作、及び詳細において行われ得る。
【図１】
2019091513.tif 000003
【図２】
2019091513.tif 000004
【図３】
2019091513.tif 000005
【図４】
2019091513.tif 000006
【図５】
2019091513.tif 000007
【図６】
2019091513.tif 000008
【図７】
2019091513.tif 000009
【図８】
2019091513.tif 000010
【図９】
2019091513.tif 000011