(58)【調査した分野】(Int.Cl.,DB名)
前記データ受信装置が、追加のプロセス制御データを前記複数の装置から受信するようにさらに構成され、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含み、かつ、前記プロセッサが、前記追加のプロセス制御データのそれぞれの前記追加の部分の各々に対して、
(1)前記それぞれのプロセス変数、(2)前記それぞれのプロセス変数と関連付けられた追加のそれぞれの測定値、(3)前記追加のそれぞれの測定値が収集、生成、受信、または観察されたそれぞれの時間を示す追加のそれぞれのタイムスタンプ、及び(4)前記追加のそれぞれのタイムスタンプに基づいて決定される第1の追加のそれぞれのタイムスタンプ部分および第2の追加のそれぞれのタイムスタンプ部分、を識別することと、
前記第1の追加のそれぞれのタイムスタンプ部分が、前記行キーに対応する前記それぞれの丸められたタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第2の追加のそれぞれのタイムスタンプ部分および前記追加のそれぞれの測定値を格納することと
を行うようにさらに構成されている、
請求項1に記載のシステム。
追加のプロセス制御データを前記複数の装置から受信することであって、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含む、追加のプロセス制御データを受信することと、
前記追加のプロセス制御データのそれぞれの前記追加の部分の各々に対して、
(1)前記それぞれのプロセス変数、(2)前記それぞれのプロセス変数と関連付けられた追加のそれぞれの測定値、(3)前記追加のそれぞれの測定値が収集、生成、受信、または観察されたそれぞれの時間を示す追加のそれぞれのタイムスタンプ、及び(4)前記追加のそれぞれのタイムスタンプに基づいて決定される第1の追加のそれぞれのタイムスタンプ部分および第2の追加のそれぞれのタイムスタンプ部分、を識別することと、
前記第1の追加のそれぞれのタイムスタンプ部分が、前記行キーに対応する前記それぞれの丸められたタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第2の追加のそれぞれのタイムスタンプ部分および前記追加のそれぞれの測定値を格納することと
をさらに含む、請求項6に記載の方法。
前記データ受信装置が、追加のプロセス制御データを複数の装置から受信するようにさらに構成され、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含み、かつ、前記プロセッサが、前記追加のプロセス制御データのそれぞれの前記追加の部分の各々に対して、
(1)前記それぞれのプロセス変数、(2)前記それぞれのプロセス変数と関連付けられた追加のそれぞれの測定値、(3)前記追加のそれぞれの測定値が収集、生成、受信、または観察されたそれぞれの時間を示す追加のそれぞれのタイムスタンプ、及び(4)前記追加のそれぞれのタイムスタンプに基づいて決定される第1の追加のそれぞれのタイムスタンプ部分および第2の追加のそれぞれのタイムスタンプ部分、を識別することと、
前記第1の追加のそれぞれのタイムスタンプ部分が、前記行キーに対応する前記それぞれの丸められたタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第2の追加のそれぞれのタイムスタンプ部分および前記追加のそれぞれの測定値を格納することと
を行うようにさらに構成されている、
請求項11に記載のプロセス制御システム。
【発明を実施するための形態】
【0017】
図1は、プロセスプラントまたはプロセス制御システム10内またはそれらに関連付けられたビッグデータネットワーク例100のブロック図である。プロセス制御システムビッグデータネットワーク例100は、プロセス制御システムビッグデータ装置またはアプライアンス102、プロセス制御システムビッグデータネットワークバックボーン105、およびバックボーン105に通信可能に接続されている複数のノード108を含む。複数のノード108は、プロセス関連データ、プラント関連データ、および他のタイプのデータを収集およびキャッシュし得、ネットワークバックボーン105は、そのデータを長期格納(例えば、「履歴化」)および処理のために、プロセス制御システムビッグデータ装置またはアプライアンス102に配信し得る。一実施態様では、データの少なくとも一部が、例えば、プロセスをリアルタイムで制御するために、ネットワーク100のノード間で配信され得る。
【0018】
プロセス制御システムビッグデータネットワーク100は、プロセス制御システム10に関連した任意のタイプのデータを収集および格納し得る。例えば、プロセス制御システムビッグデータネットワーク100は、プロセスがプロセスプラント10内で制御されている間に生成される(および、いくつかの場合には、プロセスのリアルタイム実行の影響を示す)、連続的、バッチ、測定および事象データなどの、リアルタイムプロセスデータを収集および格納する。構成データおよび/もしくはバッチレシピデータなどの、プロセス定義、配置または設定データ、ならびにプロセス診断の構成、実行および結果に対応するデータも収集および格納され得る。言うまでもなく、他のタイプのプロセスデータも収集および格納され得る。
【0019】
加えて、プロセス制御システムビッグデータネットワーク100は、バックボーン105およびプロセスプラント10の様々な他の通信ネットワークのデータハイウェイトラフィックおよびネットワーク管理データを収集および格納し得る。さらに、プロセス制御システムビッグデータネットワーク100は、ユーザートラフィック、ログイン試行、クエリーおよび命令に関連したデータなどのユーザー関連データ、ならびにテキストデータ(例えば、ログ、操作手順、マニュアルなど)、空間データ(例えば、位置ベースのデータ)、およびマルチメディアデータ(例えば、閉回路TV、ビデオクリップなど)を収集および格納し得る。
【0020】
加えて、プロセス制御システムビッグデータネットワーク100は、プロセスプラント10に(例えば、機械および装置などのプロセスプラント10内に含まれる物理的機器に)関連しているが、プロセスを直接構成、制御、または診断するアプリケーションによって生成されない可能性がある、データを収集および格納し得る。例えば、プロセス制御システムビッグデータネットワーク100は、振動データ、蒸気トラップデータ、プラントの安全性に対応するパラメータの値を示すデータ(例えば、腐食データ、ガス検出データなど)、および/またはプラントの安全性に対応する事象を示すデータを収集および格納し得る。いくつかの場合には、プロセス制御システムビッグデータネットワーク100は、機械の正常性、プラント機器および/または装置に対応するデータを収集および格納し得る。例えば、機器データ(例えば、振動データおよび他のデータに基づき判断されたポンプ正常性データ)が収集され得る。いくつかの場合には、プロセス制御システムビッグデータネットワーク100は、機器、機械、および/または装置診断の構成、実行および結果に対応するデータを収集および格納し得る。
【0021】
その上、プロセス制御システムビッグデータネットワーク100は、原料のコストに関連したデータ、部品または機器の予期される到着時刻、気象データ、および他の外部データなどの、プロセスプラント10の外部のエンティティによって生成されるか、またはそれらに伝送されるデータを収集および格納し得る。所望であれば、ネットワークバックボーン105に通信可能に接続されている全てのノード108によって生成、受信、または観察される全てのデータが、収集されて、プロセス制御システムビッグデータアプライアンス102で格納させられ得る。
【0022】
図1に示すように、プロセス制御システムビッグデータネットワーク100は、構成およびデータ探索のための、プロセス制御システムビッグデータネットワーク100への主要なインタフェース、例えば、ユーザーインタフェースまたは他のアプリケーションによる使用のためのインタフェース、を提供するように構成された、プロセス制御システムビッグデータスタジオ109を含む。プロセス制御システムビッグデータスタジオ109は、プロセス制御システムビッグデータネットワークバックボーン105を経由してビッグデータアプライアンス102に接続し得るか、またはプロセス制御システムビッグデータアプライアンス102に直接接続し得る。
【0023】
プロセス制御ビッグデータネットワークノード
【0024】
図1に示すように、プロセス制御ビッグデータネットワーク100の複数のノード108は、いくつかの異なるノードのグループ110、112、115を含み得る。第1のノードグループ110は、本明細書では「プロバイダノード110」または「プロバイダ装置110」と呼ばれるが、プロセスがプロセスプラント環境10内でリアルタイムに制御されるのを可能にするために、プロセス制御データを生成、ルーティング、および/または受信する1つ以上のノードまたは装置を含み得る。プロバイダ装置またはノード110の例は、その主要な機能が、プロセスを制御するためにプロセス制御データを生成することおよび/またはプロセス制御データを操作することを対象とする装置、例えば、有線および無線フィールド装置、コントローラ、または入力/出力(I/O装置)を含み得る。プロバイダ装置110の他の例は、その主要な機能が、プロセス制御システムの1つ以上の通信ネットワーク(プロセス制御ビッグネットワーク100がその1つである)へのアクセスまたはそれらを通る経路を提供することである装置、例えば、アクセスポイント、ルーター、有線制御バスへのインタフェース、無線通信ネットワークへのゲートウェイ、外部ネットワークもしくはシステムへのゲートウェイ、ならびに他のかかるルーティングおよびネットワーキング装置を含み得る。プロバイダ装置110のさらに他の例は、その主要な機能が、プロセス制御システム10全体にわたって累積されるプロセスデータおよび他の関連データを一時的に格納して、その一時的に格納されたデータをプロセス制御システムビッグデータアプライアンス102での履歴化のために送信させることである、装置を含み得る。
【0025】
プロバイダ装置110の少なくとも1つは、直接的な方法で、プロセス制御ビッグデータネットワークバックボーン105に通信可能に接続し得る。加えて、プロバイダ装置110の少なくとも1つは、間接的な方法で、バックボーン105に通信可能に接続し得る。例えば、無線フィールド装置は、ルーター、およびアクセスポイント、および無線ゲートウェイを経由して、バックボーン105に通信可能に接続し得る。典型的には、プロバイダ装置110は統合ユーザーインタフェースを有していないが、プロバイダ装置100のいくつかは、例えば、有線もしくは無線通信リンクを経由した通信により、またはユーザーインタフェース装置をプロバイダ装置110のポートに差し込むことにより、ユーザーコンピューティング装置またはユーザーインタフェースと通信可能に接続する機能を有し得る。
【0026】
図1に示すように、第2のノードグループ112は、本明細書では「ユーザーインタフェースノード112」または「ユーザーインタフェース装置112」と呼ばれるが、各々が、プロセスプラント10に関連した活動(例えば、構成、表示、監視、テスト、分析、診断、順序付け(order)、計画、スケジューリング、注釈付け、および/または他の活動)を実行するためにそれを経由してユーザーまたはオペレータがプロセス制御システムまたはプロセスプラント10とやりとりし得る、統合ユーザーインタフェースを有する、1つ以上のノードまたは装置を含み得る。これらのユーザーインタフェースノードまたは装置112の例は、可動式または固定式コンピューティング装置、ワークステーション、ハンドヘルド装置、タブレット、サーフェスコンピューティング装置、ならびにプロセッサ、メモリ、および統合ユーザーインタフェースを有する任意の他のコンピューティング装置を含み得る。統合ユーザーインタフェースは、画面、キーボード、キーパッド、マウス、ボタン、タッチスクリーン、タッチパッド、生体認証インタフェース、スピーカおよびマイクロホン、カメラ、ならびに/または任意の他のユーザーインタフェース技術を含み得る。各ユーザーインタフェースノード112は、1つ以上の統合ユーザーインタフェースを含み得る。ユーザーインタフェースノード112は、プロセス制御ビッグデータネットワークバックボーン105への直接接続を含み得るか、またはバックボーン105への、例えば、アクセスポイントもしくはゲートウェイを経由した、間接接続を含み得る。ユーザーインタフェースノード112はプロセス制御システムビッグデータネットワークバックボーン105に、有線方法で、および/または無線方法で、通信可能に接続し得る。
【0027】
言うまでもなく、プロセス制御ビッグデータネットワーク100の複数のノード108は、プロバイダノード110およびユーザーインタフェースノード112のみに限定されない。1つ以上の他のタイプのノード115が、任意選択で、複数のノード108内に含まれ得る。例えば、プロセスプラント10の外部であるシステム(例えば、研究室システムまたは運搬管理システム)のノードが、システム100のネットワークバックボーン105に通信可能に接続し得る。ノードまたは装置115は、バックボーン105に、直接または間接接続を経由して、通信可能に接続し得る。加えて、ノードまたは装置115は、バックボーン105に、有線または無線接続を経由して、通信可能に接続し得る。
【0028】
プロセス制御システムビッグデータネットワーク100のノード108の少なくともいくつかは、統合ファイアウォールを含み得る。さらに、任意の数のノード108(例えば、ゼロ個のノード、1つのノード、または2つ以上のノード)が各々、タスク、測定、事象、および他のデータをリアルタイムで格納またはキャッシュするために、それぞれメモリ記憶(
図1にアイコンMXによって示す)を含み得る。メモリ記憶MXは、高密度メモリ記憶技術、例えば、ソリッドステートドライブメモリ、半導体メモリ、光メモリ、分子メモリ、生物学的メモリ、または任意の他の適切な高密度メモリ技術、ならびにフラッシュメモリを含み得る。メモリ記憶MX(および、いくつかの場合には、フラッシュメモリ)は、そのそれぞれのノード108によって生成、受信、またはそうでなければ観察されるデータを一時的に格納またはキャッシュするように構成され得る。ノード108の少なくともいくつか(例えば、コントローラ装置)のフラッシュメモリMXは、ノード構成のスナップショット、バッチレシピ、および/または他のデータも格納して、通常動作中、または停電もしくはノードをオフラインにさせる他の事象後に、この情報を使用する際の遅延を最小限にし得る。所望であれば、ノード110、112の全ておよび任意の数のノード115は、高密度メモリ記憶MXを含み得る。異なるタイプまたは技術の高密度メモリ記憶MXが、ノード108のセットにわたって、またはノード108のセットに含まれるノードのサブセットにわたって、利用され得ることを理解されたい。
【0029】
任意の数のノード108(例えば、ゼロ個のノード、1つのノード、または2つ以上のノード)は各々、
図1にアイコンPMCXによって示すように、それぞれマルチコアハードウェア(例えば、マルチコアプロセッサまたは別のタイプの並列プロセッサ)を含み得る。ノード108の少なくともいくつかは、そのそれぞれのプロセッサPMCXのコアの1つを、リアルタイムデータをそのノードでキャッシュするため、およびそのキャッシュされたデータをプロセス制御システムビッグデータアプライアンス102での格納のために伝送させるために指定し得る。追加または代替として、ノード108の少なくともいくつかは、そのそれぞれのマルチコアプロセッサPMCXの複数のコアの2つ以上を、リアルタイムデータをキャッシュするために指定し得る。リアルタイムデータをキャッシュするため(および、いくつかの場合には、キャッシュされたデータをビッグデータアプライアンス102で格納させるため)の1つ以上の指定されたコアは、そのようなものとして排他的に指定され得る(例えば、1つ以上の指定されたコアは、ビッグデータのキャッシュおよび伝送に関連した処理を除いて他の処理を実行しない可能性がある)。具体的には、ノード108の少なくともいくつかは、プロセスプラント10内のプロセスを制御するための操作を実行するためにそのコアの1つを指定し得る。追加または代替として、1つ以上のコアは、プロセスを制御するための操作を実行するために排他的に指定され得、ビッグデータをキャッシュおよび伝送するために使用されない可能性がある。異なるタイプまたは技術のマルチコアプロセッサPMCXが、ノード108のセットにわたって、またはノード108のセットのノードのサブセットにわたって、利用され得ることを理解されたい。ノード110、112の全ておよび任意の数のノード115は、何らかのタイプのマルチコアプロセッサPMCXを含み得る。
【0030】
図1はノード108を各々がマルチコアプロセッサPMCXおよび高密度メモリMXの両方を含むとして示しているが、ノード108の各々は、マルチコアプロセッサPMCXおよび高密度メモリMXの両方を含む必要はないことに留意されたい。例えば、ノード108のいくつかは、マルチコアプロセッサPMCXのみを含んで高密度メモリMXを含まない可能性があり、ノード108のいくつかは、高密度メモリMXのみを含んでマルチコアプロセッサPMCXを含まない可能性があり、ノード108のいくつかは、マルチコアプロセッサPMCXおよび高密度メモリMXの両方を含む可能性があり、かつ/またはノード108のいくつかは、マルチコアプロセッサPMCXおよび高密度メモリMXのいずれも含まない可能性がある。
【0031】
プロバイダノードまたは装置110によってキャッシュまたは収集され得るリアルタイムデータの例は、測定データ、構成データ、バッチデータ、事象データ、保守データ、および/または連続データを含み得る。例えば、構成、バッチレシピ、設定点、出力、レート、制御動作、診断、アラーム、事象および/またはそれらに対する変更に対応するリアルタイムデータが収集され得る。リアルタイムデータの他の例は、プロセスモデル、統計値、状態データ、ならびにネットワークおよびプラント管理データを含み得る。
【0032】
ユーザーインタフェースノードまたは装置112がキャッシュまたは収集し得るリアルタイムデータの例は、例えば、ユーザーログイン、ユーザークエリー、ユーザーによって(例えば、カメラ、音声、またはビデオ記録装置によって)捕捉されたデータ、ユーザー命令、ファイルの作成、修正または削除、ユーザーインタフェースノードまたは装置の物理的または空間的位置、ユーザーインタフェース装置112によって実行された診断またはテストの結果、およびユーザーインタフェースノード112とやりとりしているユーザーによって開始されたか、またはユーザーに関連した他の動作もしくは活動を含み得る。
【0033】
収集されたデータは、動的または静的データであり得る。収集されたデータは、例えば、データベースデータ、ストリーミングデータ、および/またはトランザクションデータを含み得る。一般に、ノード108が生成、受信、または観察する任意のデータは、対応するタイムスタンプまたは収集/キャッシュの時刻の表示と共に収集またはキャッシュされ得る。いくつかの場合には、ノード108が生成、受信、または観察する全てのデータは、各データの収集/キャッシュの時刻のそれぞれの表示(例えば、タイムスタンプ)と共にそのメモリ記憶(例えば、高密度メモリ記憶MX)内に収集またはキャッシュされる。
【0034】
ノード110、112の各々(および、任意選択で、他のノード115の少なくとも1つ)は、リアルタイムデータを自動的に収集またはキャッシュして、損失の多いデータ圧縮、データサブサンプリング、またはデータ収集を目的としたノードの構成を要求することなく、その収集/キャッシュしたデータをビッグデータアプライアンス102に、および/または他のノード108に、配信させるように構成され得る。従来技術のプロセス制御システムとは異なり、プロセス制御システムビッグデータネットワーク100のノードまたは装置108で収集されるデータの識別は、事前に装置108内に構成される必要がない。さらに、データがノード108で収集されて、ノード108から配信されるレートも、構成、選択、または定義される必要がない。代わりに、プロセス制御ビッグデータシステム100のノード110、112(および、任意選択で、他のノード115の少なくとも1つ)は、そのノードによって生成されるか、そのノードで受信されるか、またはそのノードによって取得される全てのデータを、そのデータが生成、受信または取得されるレートで、自動的に収集し得、その収集したデータを高忠実度で(例えば、損失の多いデータ圧縮または元の情報の損失を生じ得る任意の他の技術を使用することなく)プロセス制御ビッグデータアプライアンス102に、および、任意選択で、ネットワーク100の他のノード108に配信させ得る。
【0035】
プロセス制御ビッグデータネットワークバックボーン105に接続されたプロバイダノード例110を示す詳細なブロック図を
図2に示す。前述のように、プロバイダノード110は、その主要な機能が、プロセスプラント環境10内のプロセスをリアルタイムで制御する機能を実行するために使用されるプロセス制御データを自動的に生成および/または受信することである装置、例えば、プロセスコントローラ、フィールド装置およびI/O装置など、を含み得る。プロセスプラント環境10では、プロセスコントローラは、フィールド装置によって行われたプロセス測定を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プラント10内のプロセスの動作を制御するために、有線または無線通信リンクを経由して他のフィールド装置に送信される制御信号を生成する。典型的には、少なくとも1つのフィールド装置は、プロセスの動作を制御するために、物理的な機能(例えば、弁の開放または閉鎖、温度の上昇または低下など)を実行し、いくつかのタイプのフィールド装置は、I/O装置を使用してコントローラと通信し得る。プロセスコントローラ、フィールド装置、およびI/O装置は、有線または無線であり得、任意の数および組合せの有線および無線のプロセスコントローラ、フィールド装置およびI/O装置が、プロセス制御ビッグデータネットワーク100のノード110であり得る。
【0036】
図2は、有線フィールド装置15〜22に入力/出力(I/O)カード26および28を経由して通信可能に接続され、かつ無線フィールド装置40、42、44、46に無線ゲートウェイ35およびネットワークバックボーン105を経由して通信可能に接続されている、コントローラ11を示す。(いくつかの場合には、コントローラ11は、別の有線または無線通信リンクを使用してなど、バックボーン105以外の通信ネットワークを使用して無線ゲートウェイ35に通信可能に接続し得る)。
図2では、コントローラ11は、プロセス制御システムビッグデータネットワーク100のノード110であるとして示され、プロセス制御ビッグデータネットワークバックボーン105に直接接続される。
【0037】
コントローラ11は、例として、Emerson Process Managementによって販売されているDeltaV(商標)コントローラであり得るが、フィールド装置15〜22および40〜46の少なくともいくつかを使用して、バッチプロセスまたは連続プロセスを実装するために動作し得る。コントローラ11は、例えば、標準的な4〜20mA装置、I/Oカード26、28、および/または、FOUNDATION(登録商標)フィールドバスプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコルなどの任意のスマート通信プロトコルと関連した任意の所望のハードウェアおよびソフトウェアを使用して、フィールド装置15〜22および40〜46に通信可能に接続し得る。コントローラ11は、追加または代替として、ビッグデータネットワークバックボーン105を使用して、フィールド装置15〜22および40〜46の少なくともいくつかと通信可能に接続し得る。
図2に示すシステムでは、コントローラ11、フィールド装置15〜22およびI/Oカード26、28は有線装置であり、フィールド装置40〜46は無線フィールド装置である。言うまでもなく、有線フィールド装置15〜22および無線フィールド装置40〜46は、将来開発される任意の規格またはプロトコルを含む、任意の有線または無線のプロトコルなどの、任意の他の所望の規格(複数可)またはプロトコルに準拠するであろう。
【0038】
図2のコントローラ11は、(メモリ32内に格納された)1つ以上のプロセス制御ルーチンを実装または監督するプロセッサ30を含み、1つ以上のプロセス制御ルーチンは、制御ループを含み得る。プロセッサ30は、フィールド装置15〜22および40〜46と、ならびにバックボーン105に通信可能に接続されている他のノード(例えば、ノード110、112、115)と通信し得る。本明細書で説明する任意の制御ルーチンまたはモジュール(品質予測および故障検出モジュールまたは機能ブロックを含む)は、そのように所望であれば、異なるコントローラまたは他の装置によって実装または実行される部分を有し得ることに留意すべきである。同様に、プロセス制御システム10内で実装される、本明細書で説明する制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアなどを含む、任意の形式を取り得る。制御ルーチンは、例えば、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図を使用して、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用してなど、任意の所望のソフトウェアフォーマットで実装され得る。制御ルーチンは、ランダムアクセスメモリ(RAM)、または読取り専用メモリ(ROM)などの、任意の所望のタイプのメモリに格納され得る。同様に、制御ルーチンは、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコード化され得る。このようにして、コントローラ11は、制御ストラテジまたは制御ルーチンを任意の所望の方法で実装するように構成され得る。
【0039】
コントローラ11はまた、一般に機能ブロックと呼ばれるものを使用して制御ストラテジを実装し得、各機能ブロックは制御ルーチン全体のオブジェクトまたは他の部分(例えば、サブルーチン)であって、プロセス制御システム10内のプロセス制御ループを実装するために(リンクと称される通信を介して)他の機能ブロックと連動して動作する。制御ベースの機能ブロックは、通常、(送信器、センサーまたは他のプロセスパラメータ測定装置と関連付けられるような)入力機能、(PID、ファジー論理などの制御を実行する制御ルーチンと関連付けられるような)制御機能、またはプロセス制御システム10内の何らかの物理的な機能を実行するために、弁などの何らかの装置の動作を制御する出力機能のうちの1つを実行する。言うまでもなく、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ11によって格納および実行され得、それは、典型的には、これらの機能ブロックが、標準的な4〜20mA装置およびHART装置などのいくつかのタイプのスマートフィールド装置に対して使用されるか、もしくはそれらと関連付けられる場合の事例であり、または、機能ブロックは、フィールド装置自体によって格納および実装され得、それは、フィールドバス装置の場合に当てはまり得る。コントローラ11は、1つ以上の制御ループを実装し得る1つ以上の制御ルーチン38を含み得る。各制御ループは、通常、制御モジュールと呼ばれて、機能ブロックの1つ以上を実行することにより実行され得る。
【0040】
有線フィールド装置15〜22は、センサー、弁、送信器、ポジショナなどの任意のタイプの装置であり得、他方、I/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのI/O装置であり得る。
図2に示すように、フィールド装置15〜18は、I/Oカード26へのアナログ回線またはアナログとデジタル回線の組合せを介して通信する、標準的な4〜20mA装置またはHART装置であるが、他方、フィールド装置19〜22は、フィールドバス通信プロトコルを使用し、I/Oカード28へのデジタルバスを介して通信する、FOUNDATION(登録商標)Fieldbusフィールド装置などのスマート装置である。しかし、他の実施態様では、有線フィールド装置15〜22の少なくともいくつか、および/またはI/Oカード26、28の少なくともいくつかは、ビッグデータネットワークバックボーン105を使用して、コントローラ11と通信し得る。さらに、有線フィールド装置15〜22の少なくともいくつか、および/またはI/Oカード26、28の少なくともいくつかは、プロセス制御システムビッグデータネットワーク100のノードであり得る。
【0041】
図2に示すシステムでは、無線フィールド装置40〜46は、WirelessHARTプロトコルなどの、無線プロトコルを使用して、無線ネットワーク70内で通信する。かかる無線フィールド装置40〜46は、(例えば、無線プロトコルを使用して)無線で通信するようにも構成されるプロセス制御ビッグデータネットワーク100の1つ以上の他のノード108と直接通信し得る。無線で通信するように構成されていない1つ以上の他のノード108と通信するために、無線フィールド装置40〜46は、バックボーン105に、または別のプロセス制御通信ネットワークに接続された無線ゲートウェイ35を利用し得る。いくつかの場合には、無線フィールド装置40〜46の少なくともいくつかは、プロセス制御システムビッグデータネットワーク100のノードであり得る。
【0042】
無線ゲートウェイ35は、無線通信ネットワーク70の様々な無線装置40〜58へのアクセスを提供し得るプロバイダ装置110の一例である。具体的には、無線ゲートウェイ35は、無線装置40〜58、有線装置11〜28、および/またはプロセス制御ビッグデータネットワーク100の他のノード108(
図2のコントローラ11を含む)の間に通信結合を提供する。例えば、無線ゲートウェイ35は、ビッグデータネットワークバックボーン105を使用することにより、および/またはプロセスプラント10の1つ以上の他の通信ネットワークを使用することにより、通信結合を提供し得る。
【0043】
無線ゲートウェイ35は、いくつかの場合には、有線および無線プロトコルスタックの1つの共有層または複数の層にトンネリングしながら、有線および無線プロトコルスタックの下位層へのルーティング、バッファリング、およびタイミングサービス(例えば、アドレス変換、ルーティング、パケット分割、優先順位付けなど)により通信結合を提供する。他の場合には、無線ゲートウェイ35は、どのプロトコル層も共有しない、有線プロトコルと無線プロトコルとの間でコマンドを翻訳し得る。プロトコルおよびコマンド変換に加え、無線ゲートウェイ35は、無線ネットワーク70内に実装された無線プロトコルと関連付けられたスケジューリングスキームのタイムスロットおよびスーパーフレーム(時間的に等離間された通信タイムスロットのセット)によって使用される、同期クロックを提供し得る。さらに、無線ゲートウェイ35は、資源管理、性能調節、ネットワーク障害緩和、トラフィック監視、セキュリティ、および同様のものなどの、無線ネットワーク70のためのネットワーク管理および管理機能を提供し得る。無線ゲートウェイ35は、プロセス制御システムビッグデータネットワーク100のノード110であり得る。
【0044】
有線フィールド装置15〜22と同様に、無線ネットワーク70の無線フィールド装置40〜46は、プロセスプラント10内の物理的な制御機能、例えば、弁の開放もしくは閉鎖、またはプロセスパラメータの測定を実行し得る。しかし、無線フィールド装置40〜46は、ネットワーク70の無線プロトコルを使用して通信するように設定される。そのため、無線フィールド装置40〜46、無線ゲートウェイ35、および無線ネットワーク70の他の無線ノード52〜58は、無線通信パケットの生産者および消費者である。
【0045】
いくつかのシナリオでは、無線ネットワーク70は、非無線装置を含み得る。例えば、
図2のフィールド装置48は、レガシーの4〜20mA装置であり得、フィールド装置50は、従来の有線HART装置であり得る。ネットワーク70内で通信するために、フィールド装置48および50は、無線アダプタ(WA)52aまたは52bを介して、無線通信ネットワーク70に接続され得る。追加として、無線アダプタ52a、52bは、例えば、Foundation(登録商標)Fieldbus、PROFIBUS、DeviceNetなどの他の通信プロトコルをサポートし得る。さらに、無線ネットワーク70は、1つ以上のネットワークアクセスポイント55a、55bを含み得、それらは、無線ゲートウェイ35と有線通信する別個の物理装置であり得るか、または一体型装置として無線ゲートウェイ35とともに提供され得る。無線ネットワーク70は、無線通信ネットワーク70内のある無線装置から別の無線装置にパケットを転送するために、1つ以上のルーター58も含み得る。無線装置32〜46および52〜58は、無線通信ネットワーク70の無線リンク60を経由して、相互に、および無線ゲートウェイ35と通信し得る。
【0046】
それに応じて、
図2は、主に、ネットワークルーティング機能および管理をプロセス制御システムの様々なネットワークに提供する働きをする、プロバイダ装置110のいくつかの例を含む。例えば、無線ゲートウェイ35、アクセスポイント55a、55b、およびルーター58は、無線通信ネットワーク70内で無線パケットをルーティングする機能を含む。無線ゲートウェイ35は、無線ネットワーク70に対するトラフィック管理および管理機能を実行し、かつ、無線ネットワーク70と通信可能に接続する、有線ネットワークへの、および有線ネットワークからの、トラフィックをルーティングする。無線ネットワーク70は、WirelessHARTなどの、プロセス制御メッセージおよび機能を特にサポートする、無線プロセス制御プロトコルを利用し得る。
【0047】
しかし、プロセス制御ビッグデータネットワーク100のプロバイダノード110は、他の無線プロトコルを使用して通信する、他のノードも含み得る。例えば、プロバイダノード110は、WiFiまたは他のIEEE 802.11準拠の無線ローカルエリアネットワークプロトコルなどの他の無線プロトコル、WiMAX(ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス)、LTE(ロング・ターム・エボリューション)、もしくは他のITU−R(国際電気通信連合無線通信部門)準拠プロトコルなどのモバイル通信プロトコル、近距離無線通信(NFC)およびBluetoothなどの短波無線通信、または他の無線通信プロトコルを利用する、1つ以上の無線アクセスポイント72を含み得る。典型的には、かかる無線アクセスポイント72は、ハンドヘルドまたは他の携帯用コンピューティング装置(例えば、ユーザーインタフェース装置112)が、無線ネットワーク70とは異なっていて、無線ネットワーク70と異なる無線プロトコルをサポートする、それぞれの無線ネットワークを経由して、通信することを可能にする。いくつかのシナリオでは、携帯用コンピューティング装置に加えて、1つ以上のプロセス制御装置(例えば、コントローラ11、フィールド装置15〜22、または無線装置35、40〜58)も、アクセスポイント72によってサポートされる無線プロトコルを使用して通信し得る。
【0048】
追加または代替として、プロバイダノード110は、接近したプロセス制御システム10の外部のシステムへの1つ以上のゲートウェイ75、78を含み得る。典型的には、かかるシステムは、プロセス制御システム10によって生成または操作される情報の顧客または供給者である。例えば、プラントゲートウェイノード75は、近接したプロセスプラント10(それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーン105を有する)を、それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーンを有する別のプロセスプラントと通信可能に接続し得る。所望であれば、単一のプロセス制御ビッグデータネットワークバックボーン105が、複数のプロセスプラントまたはプロセス制御環境に対応し得る。
【0049】
別の例では、プラントゲートウェイノード75は、近接したプロセスプラント10を、プロセス制御ビッグデータネットワーク100またはバックボーン105を含まないレガシーのまたは従来技術のプロセスプラントに通信可能に接続し得る。この例では、プラントゲートウェイノード75は、プラント10のプロセス制御ビッグデータバックボーン105によって利用されるプロトコルと、レガシーシステムによって利用される異なるプロトコル(例えば、イーサネット、Profibus、Fieldbus、DeviceNetなど)との間のメッセージを変換または翻訳し得る。
【0050】
プロバイダノード110は、1つ以上の外部システムゲートウェイノード78を含み、プロセス制御ビッグデータネットワーク100を、例えば、実験室システム(例えば、実験室情報管理システムまたはLIMS)、オペレータ巡回データベース、運搬管理システム、保守管理システム、製品在庫制御システム、生産スケジューリングシステム、気象データシステム、出荷および取扱システム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムなどの、外部の公共またはプライベートシステムのネットワークと通信可能に接続し得る。
【0051】
図2は、有限数のフィールド装置15〜22および40〜46を有する、単一のコントローラ11を示す。所望であれば、プロセス制御ビッグデータネットワーク110のプロバイダノード110は、任意の数のコントローラ11を含み得、コントローラ11のいずれも、プラント10内のプロセスを制御するために、任意の数の有線または無線フィールド装置15〜22、40〜46と通信し得る。さらに、プロセスプラント10は、任意の数の無線ゲートウェイ35、ルーター58、ネットワークアクセスポイント55、無線プロセス制御通信ネットワーク70、無線アクセスポイント72、および/またはゲートウェイ75、78も含み得る。
【0052】
前述のように、プロバイダノード110のうちの1つ以上は、それぞれのマルチコアプロセッサPMCX、それぞれの高密度メモリ記憶MX、またはそれぞれのマルチコアプロセッサPMCXおよびそれぞれの高密度メモリ記憶MXの両方(
図2にアイコンBDによって示す)を含み得る。各プロバイダノード100は、データを収集およびキャッシュするために、そのメモリ記憶MX(および、任意選択で、そのフラッシュメモリ)を利用し得る。ノード110の各々は、そのキャッシュしたデータをプロセス制御システムビッグデータアプライアンス102に伝送させ得る。例えば、ノード110は、そのキャッシュ内のデータの少なくとも一部をビッグデータアプライアンス102に定期的に伝送させ得る。代替または追加として、ノード110は、そのキャッシュ内のデータの少なくとも一部をビッグデータアプライアンス102にストリームさせ得る。例えば、プロセス制御システムビッグデータアプライアンス102は、キャッシュまたは収集されたデータをノード110から配信するストリーミングサービスの加入者であり得、プロバイダノード110は、ストリーミングサービスをホストし得る。
【0053】
バックボーン105との直接接続を有するノード110(例えば、コントローラ11、プラントゲートウェイ75、無線ゲートウェイ35)に対して、それぞれのキャッシュまたは収集されたデータが、バックボーン105を介して、ノード110からプロセス制御ビッグデータアプライアンス102に直接伝送され得る。しかし、ノード110の少なくともいくつかに対して、収集および/またはキャッシングがレベル化または層化されて、プロセス制御ビッグデータアプライアンス102からさらに下流の(例えば、さらに遠い)ノードでキャッシュまたは収集されたデータが、さらに上流の(例えば、ビッグデータアプライアンス102により近い)ノードで中間的にキャッシュされるようになる。
【0054】
層化またはレベル化されたデータキャッシングを示すために、シナリオ例を提供する。このシナリオ例では、
図2を参照すると、フィールド装置22は、それが生成または受信するプロセス制御データをキャッシュして、そのキャッシュの内容を、フィールド装置22と、I/O装置28またはコントローラ11などの、プロセス制御ビッグデータアプライアンス102との間の通信経路内に含まれる「上流の」装置に配信させる。例えば、フィールド装置22は、そのキャッシュの内容をI/O装置28にストリームし得るか、またはフィールド装置22は、そのキャッシュの内容をI/O装置28に定期的に伝送し得る。I/O装置28は、フィールド装置22から受信した情報を、I/O装置28が直接生成、受信および観察する他のデータと共に、そのメモリM5内にキャッシュする(および、いくつかの場合には、他の下流のフィールド装置19〜21から受信したデータもそのメモリM5内にキャッシュし得る)。I/O装置28が収集およびキャッシュするデータは(フィールド装置22のキャッシュの内容を含め)、次いで、上流のコントローラ11に定期的に伝送および/またはストリームされ得る。同様に、コントローラ11のレベルで、コントローラ11は、下流の装置(例えば、I/Oカード26、28、および/またはフィールド装置15〜22のいずれか)から受信した情報をそのメモリM6内にキャッシュし、下流のデータを、コントローラ11自体が直接生成、受信および観察するデータと共に、そのメモリM6内に、集計する。コントローラ11は、次いで、その集計された収集またはキャッシュしたデータをプロセス制御ビッグデータアプライアンス102に定期的に配信および/またはストリームし得る。
【0055】
層化またはレベル化されたキャッシングの第2のシナリオ例では、コントローラ11は、有線フィールド装置(例えば、装置15〜22の1つ以上)および少なくとも1つの無線フィールド装置(例えば、無線フィールド装置44)を使用してプロセスを制御する。この第2のシナリオ例の第1の実施態様では、無線装置44でキャッシュまたは収集されたデータは、無線装置44からコントローラ11に(例えば、ビッグデータネットワーク105を介して)直接配信および/またはストリームされて、コントローラキャッシュM6で、コントローラ11から下流にある他の装置またはノードからのデータと共に、格納される。コントローラ11は、そのキャッシュM6内に格納されたデータをプロセス制御ビッグデータアプライアンス102に定期的に配信またはストリームし得る。
【0056】
この第2のシナリオ例の別の実施態様では、無線装置44でキャッシュまたは収集されたデータは、代替のレベル化または層化経路を経由して、例えば、装置42a、ルーター52a、アクセスポイント55a、および無線ゲートウェイ35を経由して、プロセス制御ビッグデータアプライアンス102に最終的に配信され得る。この場合、代替経路のノード41a、52a、55aまたは35のうちの少なくともいくつかが、下流のノードからのデータをキャッシュし得、そのキャッシュしたデータをさらに上流にあるノードに定期的に配信またはストリームし得る。
【0057】
その結果、プロセス制御システムビッグデータネットワーク100は、異なる層化またはレベル化構成を使用して、異なるノードで異なるタイプのデータをキャッシュし得る。例えば、プロセスの制御に対応するデータは、その主要な機能が制御であるプロバイダ装置110(例えば、フィールド装置、I/Oカード、コントローラ)を使用して、層化された方法でキャッシュおよび配信され得、一方、ネットワークトラフィック測定に対応するデータは、その主要な機能がトラフィック管理であるプロバイダ装置110(例えば、ルーター、アクセスポイント、およびゲートウェイ)を使用して、レベル化された方法でキャッシュおよび配信され得る。いくつかの場合には、データは、その主要な機能(および、いくつかのシナリオでは、唯一の機能)が下流の装置からのデータを収集およびキャッシュすることであるプロバイダノードまたは装置110(本明細書では「ヒストリアンノード」と呼ぶ)を介して配信され得る。例えば、ヒストリアンノードまたはコンピューティング装置のレベル化システムがネットワーク100全体に配置され得、各ノード110は、キャッシュされたデータを同様のレベルのヒストリアンノードに、例えば、バックボーン105を使用して、定期的に配信またはストリームし得る。下流のヒストリアンノードは、キャッシュされたデータを上流のヒストリアンノードに配信またはストリームし得、最終的に、プロセス制御ビッグデータアプライアンス102のすぐ下流にあるヒストリアンノードがそれぞれのキャッシュされたデータを、プロセス制御ビッグデータアプライアンス102での格納のために、配信またはストリームし得る。
【0058】
所望であれば、相互に通信するノード110は、プロセス制御システムビッグデータネットワークバックボーン105を使用して、層化されたキャッシングを実行し得、ノード110の少なくともいくつかは、キャッシュしたデータを異なるレベルの他のノード110に、別の通信ネットワークおよび/または他のプロトコル、例えば、HART、WirelessHART、Fieldbus、DeviceNet、WiFi、イーサネット、または他のプロトコルなどを使用して、伝達し得る。
【0059】
レベル化または層化されたキャッシングを、プロバイダノード110に関して説明してきたが、言うまでもなく、その概念および技術は、プロセス制御システムビッグデータネットワーク100のユーザーインタフェースノード112および/または他のタイプのノード115に等しく適用し得る。さらに、ノード108のあるサブセットは、レベル化または層化されたキャッシングを実行し得るが、ノード108の別のサブセットは、それらのキャッシュ/収集したデータを、中間ノードでキャッシュまたは一時的に格納させることなく、プロセス制御ビッグデータアプライアンス102に直接配信させ得る。所望であれば、ヒストリアンノードは、複数の異なるタイプのノードから、例えば、プロバイダノード110から、およびユーザーインタフェースノード112から、データをキャッシュし得る。
【0060】
プロセス制御システムビッグデータネットワークバックボーン
【0061】
図1を再度参照すると、プロセス制御システムビッグデータネットワークバックボーン105は、パケットを、プロセス制御システムビッグデータネットワーク100の様々なノード108へ/から、および(それ自体がプロセス制御システムビッグデータネットワーク100のノードである)プロセス制御ビッグデータアプライアンス102へ/から、ルーティングするように構成されている、複数のネットワーク化されたコンピューティング装置またはスイッチを含み得る。バックボーン105の複数のネットワーク化されたコンピューティング装置は、任意の数の無線および/または有線リンクによって相互接続され得る。プロセス制御システムビッグデータネットワークバックボーン105は、追加として、1つ以上のファイアウォール装置を含み得る。
【0062】
ビッグデータネットワークバックボーン105は、1つ以上の適切なルーティングプロトコル、例えば、インターネットプロトコル(IP)スイートに含まれるプロトコル(例えば、UDP(ユーザーデータグラムプロトコル)、TCP(伝送制御プロトコル)、イーサネットなど)、または他の適切なルーティングプロトコル、をサポートし得る。ノード108の少なくともいくつかは、キャッシュされたデータをノードからプロセス制御ビッグデータアプライアンス102へネットワークバックボーン105を介してストリームするために、ストリームコントロールトランスミッションプロトコル(SCTP)などのストリーミングプロトコルを利用し得る。典型的には、プロセスデータビッグデータネットワーク100内に含まれる各ノード108は、バックボーン105によってサポートされるルーティングプロトコル(複数可)の少なくともアプリケーション層(および、いくつかのノードに対して、追加の層)をサポートし得る。各ノード108は、プロセス制御システムビッグデータネットワーク100内で、例えば、一意のネットワークアドレスにより、一意に識別され得る。
【0063】
プロセス制御システムビッグデータネットワーク100の少なくとも一部は、アドホックネットワークであり得る。そのため、ノード108の少なくともいくつかは、アドホックな方法でネットワークバックボーン105に(または、ネットワーク100の別のノードに)接続し得る。通常、ネットワーク100に加わることを要求する各ノードは、認証される必要があり、認証については後の節でさらに詳細に説明する。
【0064】
プロセス制御システムビッグデータアプライアンス
【0065】
引き続き
図1を参照すると、ビッグデータプロセス制御ネットワーク例100では、プロセス制御ビッグデータ装置またはアプライアンス102は、ネットワーク100内に集中されて、ネットワーク100のノード108から(例えば、ストリーミングを介して、および/または何らかの他のプロトコルを介して)データを受信し、その受信したデータを格納するように構成される。そのため、プロセス制御ビッグデータ装置またはアプライアンス102は、ノード108、複数のアプライアンスデータ受信装置122、および複数のアプライアンス要求サービサー125から受信されるデータを履歴化または格納するためのデータ記憶領域120を含み得る。プロセス制御ビッグデータアプライアンス102のこれらの構成要素120、122、125の各々については、以下でさらに詳細に説明する。
【0066】
プロセス制御システムビッグデータ記憶領域120は、例えば、RAID(独立ディスクの冗長アレイ)記憶、クラウド記憶、またはデータバンクもしくはデータセンター記憶に適した任意の他の適切なデータ記憶技術などの、複数の物理的データドライブまたは記憶エンティティを含み得る。しかし、データ記憶領域120は、ネットワーク100のノード108に対して、単一もしくは一体型論理データ記憶領域またはエンティティの外観を有する。そのため、データ記憶120は、プロセス制御ビッグデータネットワーク100のための、またはプロセスプラント10のための集中型ビッグデータ記憶領域120として見なされ得る。いくつかの場合には、単一の論理集中型データ記憶領域120は、複数のプロセスプラント(例えば、プロセスプラント10および別のプロセスプラント)に対応し得る。例えば、集中型データ記憶領域120は、エネルギー企業のいくつかの精製所に対応し得る。所望であれば、集中型データ記憶領域120は、直接、バックボーン105に、例えば、少なくとも1つの高帯域幅通信リンクを介して、接続され得る。追加として、集中型データ記憶領域120は、統合ファイアウォールを含み得る。
【0067】
一体型論理データ記憶領域120の構造は、全てのプロセス制御システム関連データの格納をサポートし得る。例えば、データ記憶エンティティの各エントリ、データ点、または観察値は、データの識別の表示(例えば、供給源、装置、タグ、位置など)、データの内容(例えば、測定値、値など)、およびデータが収集、生成、作成、受信、または観察された時間を示すタイムスタンプを含み得る。そのため、これらのエントリ、データ点、または観察値は、本明細書では、「時系列データ」と呼ばれる。データは、例えば、拡張性のある記憶、ストリーム化されたデータ、および低遅延クエリーをサポートするスキーマを含む、共通フォーマットを使用して、データ記憶領域120内に格納され得る。
【0068】
所望であれば、スキーマは、複数の観察値を各行内に格納し、カスタムハッシュを備えた行キーを使用して、行内のデータをフィルタ処理することを含み得る。ハッシュは、タイムスタンプおよびタグに基づき得る。例えば、ハッシュは、タイムスタンプの丸められた値であり得、タグは、プロセス制御システムの、またはそれに関連する事象またはエンティティに対応し得る。追加として、データ記憶領域120は、各行または行のグループに対応するメタデータも、時系列データと一体的に、または時系列データとは別個に、のいずれかで、格納し得る。例えば、メタデータは、時系列データとは別個に、スキーマレス方式で格納され得る。
【0069】
データをアプライアンスデータ記憶120で格納するために使用されるスキーマは、ノード108の少なくとも1つのキャッシュMX内にデータを格納するためにも利用され得る。それに応じて、スキーマは、データが、ノード108のローカル記憶領域MXから、バックボーン105を渡って、プロセス制御システムビッグデータアプライアンスデータ記憶120に伝送される場合に、維持され得る。
【0070】
データ記憶120に加えて、プロセス制御システムビッグデータアプライアンス102はさらに、1つ以上のアプライアンスデータ受信装置122を含み得、その各々は、データパケットをバックボーン105から受信し、データパケットを処理して、その中に含まれる実質的データおよびタイムスタンプを取得し、その実質的データおよびタイムスタンプをデータ記憶領域120内に格納するように構成される。アプライアンスデータ受信装置122は、例えば、複数のコンピューティング装置またはスイッチ上に常駐し得る。複数のアプライアンスデータ受信装置122(および/または少なくとも1つのデータ受信装置122の複数のインスタンス)は、複数のデータパケットについて並行して動作し得る。
【0071】
受信されたデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域120によって利用されるスキーマを含む場合、アプライアンスデータ受信装置122は、データ記憶領域120の追加のエントリまたは観察値をスキーマ情報と共に取り込み得る(および、所望であれば、対応するメタデータを任意選択で格納し得る)。対照的に、受信されたデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域120によって利用されるスキーマを含まない場合、アプライアンスデータ受信装置122は、パケットを復号して、プロセス制御ビッグデータアプライアンスデータ記憶領域120の時系列データ観察値またはデータ点(および、任意選択で、対応するメタデータ)を取り込み得る。
【0072】
追加として、プロセス制御システムビッグデータアプライアンス102は、1つ以上のアプライアンス要求サービサー125を含み得、その各々は、例えば、要求しているエンティティまたはアプリケーションの要求毎に、プロセス制御システムビッグデータアプライアンス記憶120内に格納された時系列データおよび/またはメタデータにアクセスするように構成される。アプライアンス要求サービサー125は、例えば、複数のコンピューティング装置またはスイッチ上に常駐し得る。アプライアンス要求サービサー125およびアプライアンスデータ受信装置122の少なくともいくつかは、(例えば、一体型装置上の)同一のコンピューティング装置もしくは複数の装置上に常駐し得るか、または統合アプリケーション内に含まれる。
【0073】
複数のアプライアンス要求サービサー125(および/または少なくとも1つのアプライアンス要求サービサー125の複数のインスタンス)は、複数の要求しているエンティティまたはアプリケーションからの複数の要求に関して、並行して動作し得る。そのため、単一のアプライアンス要求サービサー125は、単一のエンティティもしくはアプリケーションからの複数の要求、またはアプリケーションの異なるインスタンスからの複数の要求などの、複数の要求に対応し得る。
【0074】
図3および
図4は、プロセス制御システムビッグデータアプライアンス102のアプライアンスデータ受信装置122およびアプライアンス要求サービサー125が実装し得るさらなる技術を示すブロック図例である。
【0075】
図3は、データ(例えば、ストリーム化されたデータ)を、格納および履歴化のために、プロセス制御ビッグデータネットワーク100のノード108から、ビッグデータアプライアンス102に転送するために、アプライアンスデータ受信装置122の使用を示すブロック図例である。
図3は、
図1の4つのノード例108、すなわち、コントローラ11、ユーザーインタフェース装置12、無線ゲートウェイ35、および第三者の機械またはネットワーク78へのゲートウェイを示す。しかし、
図3に関して説明する技術および概念は、任意のタイプおよび任意の数のノード108に適用され得る。追加として、
図3は、3つのアプライアンスデータ受信装置122a、122bおよび122cのみを示しているが、
図3に対応する技術および概念は、任意のタイプおよび任意の数のアプライアンスデータ受信装置122に適用され得る。
【0076】
図3に示すように、ノード11、12、35および78の各々は、ノード11、12、35および78によって生成、受信またはそうでなければ観察されるデータを捕捉するために、スキャナーS11、S12、S35、S78を含む。それぞれのノード11、12、35、78のそれぞれのプロセッサPMCXは、各スキャナーS11、S12、S35、S78の機能を実行し得る。スキャナーS11、S12、S35、S78は、捕捉したデータおよび対応するタイムスタンプを、例えば、前述のような方法で、それぞれのローカルメモリM11、M12、M35、M78内に一時的に格納またはキャッシュさせ得る。そのため、捕捉したデータは、時系列データまたはリアルタイムデータを含む。メモリM11、M12、M35、およびM78の各々は、プロセス制御ビッグデータ記憶領域120によって利用されるスキーマを使用して、捕捉したデータを格納およびキャッシュし得る。
【0077】
各ノード11、12、35および78は、キャッシュしたデータの少なくとも一部を1つ以上のアプライアンスデータ受信装置122a〜122cに(例えば、ネットワークバックボーン105を使用して)伝送し得る。例えば、少なくとも1つのノード11、12、35、78は、キャッシュが特定の閾値まで満たされると、データの少なくとも一部をそのそれぞれのメモリMXからプッシュ型配信し得る。キャッシュの閾値は、調整可能であり得、少なくとも1つのノード11、12、35、78は、資源(例えば、ネットワーク105の帯域幅、プロセッサPMCX、または何らかの他の資源)が十分に利用可能である場合、データの少なくとも一部をそのそれぞれのメモリMXからプッシュ型配信し得る。特定の資源の可用性閾値は調整可能であり得る。
【0078】
さらに、少なくとも1つのノード11、12、35、78は、メモリMX内に格納されたデータの少なくとも一部を定期的な間隔でプッシュ型配信し得る。データがプッシュ型配信される特定の時間間隔の周期性は、データのタイプ、プッシュ型配信しているノードのタイプ、プッシュ型配信しているノードの位置、および/または他の基準に基づき得る。特定の時間間隔の周期性は、調整可能であり得、少なくとも1つのノード11、12、35、78は、(例えば、プロセス制御ビッグデータアプライアンス102からの)要求に応答してデータを提供し得る。
【0079】
ノード11、12、35、78のうちの少なくとも1つは、データが各ノード11、12、35、78によって生成、受信またはそうでなければ観察されると、データの少なくとも一部をリアルタイムでストリームし得る(例えば、ノードは、データを一時的に格納もしくはキャッシュしない可能性があるか、または、ノードがストリーミングのためにデータを処理するのに必要な限り、データを格納し得る)。例えば、ノード11、12、35、78のうちの少なくとも1つは、データの少なくとも一部を、ストリーミングプロトコルを使用して、1つ以上のアプライアンスデータ受信装置122にストリームし得る。従って、ノード11、12、35、78は、ストリーミングサービスをホストし得、データ受信装置122の少なくとも1つおよび/またはデータ記憶領域120は、ストリーミングサービスに加入し得る。
【0080】
その結果、伝送されたデータは、1つ以上のアプライアンスデータ受信装置122a〜122cによって、例えば、ネットワークバックボーン105を介して受信され得る。特定のアプライアンスデータ受信装置122は、1つ以上の特定のノードからデータを受信するように指定され得るか、または特定のアプライアンスデータ受信装置122は、1つ以上の特定タイプの装置(例えば、コントローラ、ルーター、またはユーザーインタフェース装置)のみからデータを受信するように指定され得る。さらに、特定のアプライアンスデータ受信装置122は、1つ以上の特定タイプのデータのみ(例えば、ネットワーク管理データのみ、またはセキュリティ関連データのみ)を受信するように指定され得る。
【0081】
アプライアンスデータ受信装置122a〜122cは、ビッグデータアプライアンス記憶領域120にデータを格納または履歴化させ得る。例えば、データ記憶領域120は、アプライアンスデータ受信装置122a〜122cの各々によって受信されたデータをプロセス制御ビッグデータスキーマを使用して格納し得る。
図3に示すように、時系列データ120aは、対応するメタデータ120bとは別に格納されるが、いくつかの実施態様では、メタデータ120bの少なくとも一部は、時系列データ120aと共に一体的に格納され得る。
【0082】
データ記憶領域120は、複数の供給源からのデータが(例えば、データ記憶領域120の同じ行のグループに)結合され得るように、複数のアプライアンスデータ受信装置122a〜122cを介して受信されるデータを統合し得る。複数のアプライアンスデータ受信装置122a〜122cを介して受信されるデータは、雑音および一貫性のないデータを除去するためにクリーニングされ得る。アプライアンスデータ受信装置122は、受信したデータが格納される前に、受信したデータの少なくとも一部について、データクリーニングおよび/もしくはデータ統合を実行し得、かつ/またはプロセス制御システムビッグデータアプライアンス102は、受信したデータが記憶領域102に格納された後に、受信したデータの一部または全部をクリーニングし得る。装置またはノード110、112、115は、データ内容に関連した追加のデータを伝送させ得、アプライアンスデータ受信装置122および/またはビッグデータアプライアンス記憶領域120は、この追加のデータを利用してデータクリーニングを実行し得る。ノード110、112、115がデータをビッグデータアプライアンス記憶領域120に格納のために伝送させる前に、ノード110、112、115は、少なくとも一部のデータを(少なくとも部分的に)クリーニングし得る。
【0083】
図4は、ビッグデータアプライアンス102のデータ記憶領域120に格納された履歴化されたデータにアクセスするためのアプライアンス要求サービサー125の使用を図示するブロック図を示す。
図4は、データリクエスタ130a〜130cまたはデータ分析エンジン132a〜132bなどの、要求しているエンティティまたはアプリケーションの要求毎に、各々が、時系列データ120aおよび/またはメタデータ120bにアクセスするように構成されている、アプライアンス要求サービサーまたはサービス125a〜125eのセットを含む。
図4は、5つのアプライアンス要求サービサー125a〜125e、3つのデータリクエスタ130a〜130c、および2つのデータ分析エンジン132a、132bを図示しているが、本明細書で
図4に関して説明する技術および概念は、任意の数および任意のタイプのアプライアンス要求サービサー125、データリクエスタ130、および/またはデータ分析エンジン132に適用され得る。
【0084】
アプライアンス要求サービサー125の少なくともいくつかは、各々、プロセス制御ビッグデータ記憶領域120に格納されたデータの少なくとも一部へのアクセスを要求する特定のサービスまたはアプリケーションを提供し得る。例えば、アプライアンス要求サービサー125aは、データ分析サポートサービスであり得、アプライアンス要求サービサー125bは、データ傾向サポートサービスであり得る。プロセス制御システムビッグデータアプライアンス102によって提供され得るサービス125の他の例は、構成アプリケーションサービス125c、診断アプリケーションサービス125d、および拡張制御アプリケーションサービス125eを含み得る。拡張制御アプリケーションサービス125eは、例えば、モデル構築および他の目的のために履歴化されたデータを要求する、モデル予測制御、バッチデータ解析、連続データ解析または他のアプリケーションを含み得る。プロセス制御システムビッグデータアプライアンス102は、他のサービスまたはアプリケーション、例えば、通信サービス、管理サービス、設備管理サービス、プランニングサービス、および他のサービス、をサポートするために他の要求サービサー125を含み得る。
【0085】
データリクエスタ130は、プロセス制御システムビッグデータアプライアンス記憶領域120内に格納されているデータへのアクセスを要求するアプリケーションであり得る。データリクエスタ130の要求に基づき、対応するデータがプロセス制御ビッグデータ記憶領域120から取得され得、リクエスタ130によって使用可能なデータ形式に変換および/または統合され得る。1つ以上のアプライアンス要求サービサー125は、要求されたデータの少なくとも一部について、データ取得および/またはデータ変換を実行し得る。ビッグデータアプライアンス102は、臨時に、および異なって繰り返しデータアクセスを要求するユーザーを介してなど、適宜データアクセス(casual data access)をさらにサポートする。特に、ビッグデータアプライアンス102は、プロセス制御ビッグデータ記憶領域120へのより細かい粒度で多用途のアクセスを可能にする特権のあるAPIをサポートし得る。
【0086】
データリクエスタ130の少なくともいくつか、および/または要求サービサー125の少なくともいくつかは、プロセス制御システムビッグデータアプライアンス102によってホストされて、プロセス制御システムビッグデータネットワーク100のノード(例えば、ユーザーインタフェース装置112またはプロバイダ装置110)によってアクセス可能である、ウェブサービスまたはウェブアプリケーションであり得る。それに応じて、装置またはノード108の少なくともいくつかは、データリクエスタ130に、または要求サービサー125に対応する、ウェブブラウザ、ウェブクライアントインタフェース、またはプラグインをサポートするためのそれぞれのウェブサーバーを含み得る。特にユーザーインタフェース装置112に対して、データリクエスタ130または要求サービサー125は、表示および格納されたデータを、ユーザーインタフェース(UI)サービス層135を通して引き出し得る。UIサービス層135は、様々なプロセス制御データの表示を容易にするデータ可視化サービス136を含む。具体的には、データ可視化サービス136は、プロセス制御データの様々な部分を絵、図表、地図、レポート、プレゼンテーション、および/または同様のもので表現し得る。その結果、データ可視化チャネルのいずれかにアクセスしているユーザーは、プロセス制御データに関連した、あるデータ、傾向、関係、または結論を迅速に解明することが可能であり得る。データ可視化サービス136は、動的更新をサポートし、それにより、データ可視化サービス136は、ユーザー入力、追加もしくは削除されたデータ、および/または他の要因に基づき、対応する図表または可視化を更新し得る。
【0087】
データ分析エンジン132は、知識または観察値を生成するために、アプライアンス記憶領域120内に格納された時系列データ点の少なくともいくつかに関して計算分析を実行するアプリケーションであり得る。そのため、データ分析エンジン132は、データ点または観察値の新しいセットを生成し得る。新しい知識、新しい観察値、または新しいデータ点は、プロセスプラント10の態様の事後分析(例えば、診断またはトラブルシューティング)を提供し得、かつ/またはプロセスプラント10に対応する事前予測(例えば、予知診断)を提供し得る。ある場合には、データ分析エンジン132は、格納されたデータ120の選択されたサブセットについてデータマイニングを実行し得、その引き出されたデータについてパターン評価を実行して、新しい知識またはデータ点もしくは観察値の新しいセットを生成し得る。言うまでもなく、複数のデータ分析エンジン132またはそのインスタンスは、新しい知識またはデータ点の新しいセットを生成するために協働し得る。
【0088】
新しい知識またはデータ点のセットは、例えば、アプライアンス記憶領域120に格納(例えば、追加)され得、追加または代替として、1つ以上のユーザーインタフェース装置112で提示され得る。新しい知識は、所望であれば、プロセスプラント10内で動作している1つ以上の制御ストラテジにも組み込まれ得る。特定のデータ分析エンジン132は、ユーザーにより(例えば、ユーザーインタフェース装置112を介して)指示される場合に実行され得、かつ/または特定のデータ分析エンジン132は、プロセス制御システムビッグデータアプライアンス102により自動的に実行され得る。
【0089】
一般に、プロセス制御システムビッグデータアプライアンス102のデータ分析エンジン132は、プロセスプラント10内およびその外部の様々なエンティティおよびプロバイダ間の時間ベースの関係を判断するために、格納されたデータに関して動作し得、その判断された時間ベースの関係を利用して、プラント10の1つ以上のプロセスをそれに応じて制御し得る。そのため、プロセス制御システムビッグデータアプライアンス102は、1つ以上のプロセスが他のプロセスと連携され、かつ/または条件および要因の変化に応答して経時的に調整されることを可能にする。プロセス制御システムビッグデータアプライアンス102は、条件および事象が生じると連携および/または調整を自動的に判断および実行し得、このようにして、公知の従来技術の制御システムに対し、効率性を大幅に向上させて生産性を最適化する。
【0090】
データ分析エンジン132の知識発見技術が豊富な考えられるシナリオの例。1つのシナリオ例では、事象のある組合せが、製品が後で(例えば、事象の組合せの発生の数時間後に)最終的に生成される時に、低製品品質につながる。オペレータは、通常、事象の発生と製品品質との間の関係に気付かない。(公知のプロセス制御システムで現在行われているように)低製品品質を何時間か後に検出および判断して、低製品品質の根本的原因を判断するためにトラブルシューティングするのではなく、プロセス制御システムビッグデータアプライアンス102(および、具体的には、その中のデータ分析エンジン132の1つ以上)は、事象の組合せをそれらの発生時に、または発生直後に、例えば、事象の発生に対応するデータがアプライアンス102に伝送される時に、自動的に検出し得る。データ分析エンジン132は、これらの事象の発生に基づき、低製品品質を予測し得、オペレータにその予測を警告し得、かつ/または事象の組合せの影響を緩和するために、1つ以上のパラメータまたはプロセスをリアルタイムで自動的に調整または変更し得る。例えば、データ分析エンジン132は、改訂された設定点または改訂されたパラメータ値を判断して、その改訂された値をプロセスプラント10のプロバイダ装置110によって使用させ得る。このように、プロセス制御システムビッグデータアプライアンス102は、現在公知のプロセス制御システムに比べてはるかに迅速で効率的に、問題が発見されて、潜在的に緩和されるのを可能にする。
【0091】
別のシナリオ例では、データ分析エンジン132の少なくともいくつかが、製品動作における変化を検出するために利用され得る。例えば、データ分析エンジン132は、ある通信速度における変化を、および/またはシステムダイナミクスが変化している可能性があることを示し得る、1つのセンサーから、もしくは複数のセンサーから受信されたパラメータ値の経時的な変化もしくはパターンから、検出し得る。さらに別のシナリオ例では、データ分析エンジン132は、弁または他の供給者機器の特定のバッチが、プラント10にわたり、かつ時間にわたり、プロセスの挙動およびその特定のバッチに関連したアラーム発生に基づき欠陥があることを診断および判断するために利用され得る。
【0092】
別のシナリオ例では、データ分析エンジン132の少なくともいくつかは、ワクチン効力などの、製品機能を予測し得る。さらに別のシナリオ例では、データ分析エンジン132は、ログインパターン、再試行における増加、およびそれらそれぞれの位置などの、プロセスプラント10に関連した潜在的なセキュリティ問題を監視および検出し得る。さらなる別のシナリオ例では、データ分析エンジン132は、プロセスプラント10および1つ以上の他のプロセスプラントにわたって集計または格納されたデータを分析し得る。このように、プロセス制御システムビッグデータアプライアンス102は、複数のプロセスプラントを所有するか、運用する会社が、地域、産業、または会社全体ベースで診断および/または予知診断情報を収集することを可能にする。
【0093】
プロセス制御データのためのビッグデータスキーマ
【0094】
ビッグデータアプライアンス102は、プロセス制御データを格納するためにビッグデータスキーマのための非リレーショナルデータベース機構を使用するように構成される。非リレーショナルデータベース機構は、設計の簡潔さ、水平スケーリング、およびデータ可用性に対するさらに細かい調整を可能にする。一般に、ビッグデータスキーマの非リレーショナル構造は、様々な制御システム構成要素またはモジュールから受信したプロセス制御データを格納するために1つ以上のテーブルを利用する。ビッグデータスキーマの構造は、テーブルが実際の測定値または値のみを格納する(すなわち、テーブルは空のセルを持たない)結果として効率的な格納を可能にし、それにより、テーブルによって要求される総記憶容量を削減する。さらに、テーブルの編成は、複数のタイプのクエリーの使用を可能にして、格納されたデータを効率的に検索してアクセスする。
【0095】
一般に、各テーブルは、1つ以上の行キー、列ファミリー、および列修飾子を含む。各行キーは、対応するテーブル用の主キーとして機能する。ビッグデータアプライアンス102は、受信したプロセス変数の1つ以上のフィールドを検査して、プロセス変数が関連付けられるべき行キーを判断する。列ファミリーは、プロセス変数がどのように行キーと関連付けられるべきかを指定する1つ以上の関連した列をグループ化する。具体的には、列ファミリーの各列は、受信したプロセス変数のフィールドまたは属性に対応する1つ以上の列修飾子を指定する。管理者またはユーザーは、様々な列ファミリーおよびそれらの列修飾子を指定し得る。列修飾子は、同一の行キーに対する複数のエントリとなり得る1つ以上の値を有し、従って、3次元格納スキームとなる。いくつかの場合には、列修飾子は、受信したプロセス制御データ内に既に含まれているフィールドまたは属性に対応できる。他の場合には、ビッグデータアプライアンス102が、プロセス制御データを受信すると、列修飾子を判断または識別できる。
【0096】
行キーおよび列修飾子は、タイムスタンプ(またはその一部)、プロセス変数の識別、プロセス制御データの測定値もしくは値、データのタイプ(例えば、ブール、整数、など)、プロセス変数の状態(例えば、「良い」、「悪い」、「なし」など)、および/またはその他の1つ以上などの、プロセス制御データの1つ以上のフィールドもしくは属性、またはそれらの組合せを含むことができる。例えば、テーブルの各行キーは、プロセス変数の識別と、そのプロセス変数が記録された時間に対応するタイムスタンプの一部の連結であり得、テーブルの列修飾子は、プロセス変数のタイプ、プロセス変数の状態、およびタイムスタンプの追加の部分の連結であり得、それにより、テーブルはプロセス変数の測定値を適切なデータフィールドに格納する。さらなる例として、テーブルの各行キーは、プロセス変数のタイプと、そのプロセス変数の測定値の連結であり得、列修飾子は、プロセス変数の識別とタイムスタンプの連結であり得、それにより、テーブルはプロセス変数の状態を適切なデータフィールドに格納する。
【0097】
一般に、ビッグデータアプライアンス102は、多数のタイプのデータ(例えば、連続、バッチ、事象、オペレータ入力値など)を、プロセス制御プラントから、ならびに研究室システムおよび運搬管理システムなどの他の供給源から、収集する。例えば、ビッグデータアプライアンス102は、プロセス変数値、設定点、離散入力および出力、プロセスアラーム、保守アラーム、オペレータ動作、バッチ動作、バッチデータの終了、洞察モデルおよび統計値、ならびに/または同様のものなどのデータを収集する。ビッグデータアプライアンス102は、いかなるユーザー入力または構成をも要求することなく、収集したデータを、ローカルメモリまたは記憶に自動的にバッファリングして、定期的にそのデータをリアルタイムデータベースに転送する。ビッグデータアプライアンス102は、プロセス制御プラントの関連モジュールが実行されるレートでデータを収集するので、ビッグデータアプライアンス102は、プロセス制御プラント動作の完全な履歴が、様々な分析をサポートするために利用できるようにする。
【0098】
ビッグデータアプライアンス102は、プロセス制御データおよび様々な制御システム構成要素(例えば、制御ストラテジ、制御システム機器、装置、研究室システム、アプリケーションなど)から収集された他の関連データを大規模に格納、インデックス付け、および供給するため、およびデータの効率的な取得を可能にするために、データ記憶領域120の時系列データベースサーバー(TSDS)をさらに利用する。TSDSは、動作ヒストリアンなどの従来のアプリケーションのためのデータを提供すること、ならびにプロセス制御装置および機器に関連したインフラストラクチャデータを収集および提供することが可能である。
【0099】
時系列データは、データ点またはタプル(tuple)の集合と考えられ得、それにより、各データ点はタイムスタンプおよび測定値を有し得る。TSDSは、測定値を定期的または不定期な間隔で、例えば、関連した制御モジュールの実行レートで、収集し得る。例えば、TSDSは、プロセス変数および全てのアナログ入力点に対する関連状態を収集し得る。いくつかの場合には、データ点は、時系列を生成している完全に修飾されたタグ、データに関する範囲、および他のデータなどの、測定値を示すメタデータを含み得る。タイムスタンプを値に、または測定値およびその状態に付加することにより、測定値の間の長時間にわたるパターンおよび差異がより良く確認できる。例えば、特定の場所における現在の温度が毎時測定される場合、将来の温度が、測定された温度の1つ以上に基づきさらに容易に予測できる。さらに、タイムスタンプ、場所、および測定情報を制御階層の一部として保持することにより、TSDSは、これらの関係をデータベース内にメタデータとして格納し、階層が更新されると、関係を更新し得る。
【0100】
本明細書で説明するように、ビッグデータアプライアンス102は、1つ以上のテーブルを使用して、ビッグデータ記憶スキーマを実装する。
図5Aは、プロセス制御データを格納するように構成されたテーブル例500の構造を示す。ビッグデータアプライアンス102は、テーブル例500をプロセス制御システムビッグデータ記憶120に格納する。テーブル例500は、第1の行キー505(「行キー1」)および第2の行キー510(「行キー2」)を含む。第1の行キー505および第2の行キー510の各々は、関連付けられた第1の列ファミリー506(「CF1」)および第2の列ファミリー507(「CF2」)を有する。第1の列ファミリー506は、3つの関連付けられた列修飾子(「CQ1」、「CQ2」、および「CQ3」)を有し、第2の列ファミリー507は、2つの関連付けられた列修飾子(「CQ4」および「CQ5」)を有する。行キー505、510の各々は複数の潜在的な値を有する複数の列修飾子を有するので、各行キー505、510は、
図5Aに示すように、複数のエントリを連続して格納し得る。
【0101】
ビッグデータアプライアンス102は、受信したプロセス制御データを検査して、データをどのように格納するかを判断する。いくつかの場合には、ビッグデータアプライアンス102は、プロセス制御データを検査して、行キー(またはその一部)に、または1つ以上の列修飾子に対応する属性を識別する。例えば、プロセス制御データは、プロセス変数の識別およびプロセス変数の状態を含み得る。他の場合には、ビッグデータアプライアンス102は、データを、受信したプロセス制御データに付加し、付加されたデータは、行キー(またはその一部)に、または1つ以上の列修飾子に対応する。例えば、ビッグデータアプライアンス102は、ビッグデータアプライアンス102がプロセス制御データを受信した時間に対応するタイムスタンプを生成し得る。それに応じて、ビッグデータアプライアンス102は、プロセス制御データの識別または生成された属性を使用して、行キーおよび/または列修飾子を構築し得る。さらに、ビッグデータアプライアンス102は、構築した行キーおよび列修飾子に従って、プロセス制御データ(または測定値もしくはその値)を格納し得る。
【0102】
一般に、ビッグデータアプライアンス102は、データをテーブル500に格納する前に、テーブル500のメモリセグメントを割り当てない。代わりに、ビッグデータアプライアンス102は、対応する行キー、列ファミリー、および列修飾子に従って、プロセス変数と関連付けられたデータ(例えば、測定値または値)をテーブル500に格納するように構成される。さらに、ビッグデータアプライアンス102は、プロセス制御データが受信および処理される時、そのデータを格納する。例えば、ビッグデータアプライアンス102は、データ509を、第1の行キー505、第1の列ファミリー506、およびある値のCQ1に対応するメモリセグメント内に格納し、ビッグデータアプライアンス102は、データ511を、第2の行キー501、第2の列ファミリー507、およびある値のCQ5に対応するメモリセグメント内に格納する。テーブルの残りのフィールドは、空白であるか、そうでなければ割り当てられず、このようにして、ビッグデータスキーマ内のメモリ空間を節約する。
【0103】
一実施態様例では、ビッグデータアプライアンス102は、対応するプロセス制御データのタイムスタンプおよびそのプロセス変数に従って、行キーを順序付ける。タイムスタンプは、装置がプロセス制御データを記録した時間、装置がプロセス制御データを伝送した時間、ビッグデータアプライアンス102がプロセス制御データを受信した時間、または他の時間に対応し得る。さらに、ビッグデータアプライアンス102は、タイムスタンプを、所定の段階によって、切り捨てまたは切り上げ得る。例えば、タイムスタンプは、最も近い分、時間、日、または同様のものに、切り捨てまたは切り上げられ得る。結果として、ビッグデータアプライアンス102は、対応する行キーの丸められたタイムスタンプ内に含まれているタイムスタンプを有する複数の列を格納し得る。行キー毎に複数の列を格納することにより、プロセス制御システムビッグデータ記憶120を検索することがより効率的かつ効果的になる。具体的には、この構造は、より多くのデータが単一の除外で不適格にされて、行キーによって追跡される行の総数を減らすことを可能にする。さらに、丸められた時間をハッシュの一部として使用することにより、管理者はビッグデータスキーマをより効果的に分割し得る。
【0104】
図5Bは、テーブル例に対する行キーおよび列修飾子の例、ならびにそれらに関連付けられたプロセス制御データ例を図示する。
図5Bに示すように、行キー構造例510は、識別511および第1のタイムスタンプ部分512を含む。識別511は、ある量のバイト(例えば、3バイト)であり、受信したプロセス変数を一意に識別する。いくつかの場合には、ビッグデータアプライアンス102は、識別511を生成し、その識別511をルックアップテーブルに格納し得る。第1のタイムスタンプ部分512は、ある量のバイト(例えば、4バイト)であり、所定の段階によって丸められるタイムスタンプに対応する。例えば、第1のタイムスタンプ部分512は、タイムスタンプを最も近い時間に切り捨てることから生じる「上位(high order)」タイムスタンプであり得る。ビッグデータアプライアンス102は、同一の識別を有する特定のプロセス変数を複数の時に受信し得るので、ビッグデータアプライアンス102は、特定の識別に対する行のグループを格納し、行をタイムスタンプに従って順序付け得る。それに応じて、単一の行は、測定値の「バケツ」を格納できる(例えば、第1のタイムスタンプ部分812が時間に対応する場合、関連付けられた行キー810はその時間内に収集された測定値を格納できる)。
【0105】
図5Bは、1つの列ファミリー516および3つの列修飾子:タイプ517、状態518および第2のタイムスタンプ部分519を有する列構造例515をさらに含む。前述のように、列ファミリー516は、列修飾子を識別または分類する。さらに、列修飾子(すなわち、タイプ517、状態518、および第2のタイムスタンプ部分519)は、対応するプロセス制御データと関連付けられた属性である。具体的には、タイプ517は、プロセス変数のデータタイプ(例えば、整数、文字列、数字、ブールなど)を識別し、状態518は、プロセス変数の状態(例えば、良い、悪い、なし、など)、第2のタイムスタンプ部分519は、丸められた第1のタイムスタンプ部分512から生じるタイムスタンプの残りである。列ファミリー516、タイプ517、状態518、および第2のタイムスタンプ部分519は、様々なサイズであり得る。例えば、列ファミリー516、タイプ517、および状態518は各々1バイトであり得、第2のタイムスタンプ部分519は、4バイトであり得る。
【0106】
図5Bは、データ例を投入された、追加の行キー例520および列例525も図示する。
図5Bに示すように、行キー520の識別521は「001」であり、列825の列ファミリー526は「Time」であり、列525のタイプ527は「INT」であり、列525の状態528は「GOOD」である。行キー520および列525は、2013年7月1日10:02:03GMTのタイムスタンプに対応するタイムスタンプデータ(対応するUNIXエポック値の1372672923を生成する)も格納する。タイムスタンプが最も近い時間に切り下げられる(すなわち、10:00:00に丸められる)場合、タイムスタンプは、UNIXエポック値の1372672800を有する上位タイムスタンプ522、および切下げからの「残り」を表す123の下位タイムスタンプ529に分割できる。それに応じて、2013年7月1日の10:00:00GMTと10:59:59GMTとの間であるか、またはそれらを含む、タイムスタンプを有する任意のデータ(すなわち、1372672800の上位タイムスタンプを有する任意のデータ)が、行キー520と関連付けられた列に格納できる。
図5Bは、列525と関連付けられた測定値および対応するプロセス変数を格納するセル値例530をさらに図示する。
図5Bに示すように、「476」の測定値は、プロセスプラント10内で収集されるようなプロセス変数の値を表し得る。
【0107】
図5Cは、列ファミリー例「Time」に対する行キー例520および列修飾子例535を含む、記憶テーブル例531を示す。
図5Cに示すように、行キー例520は、プロセス変数識別と上位タイムスタンプの連結(例えば、「098.1372672800」)を含む。記憶テーブル例531では、上位タイムスタンプは60分に丸められる。列修飾子例535の各々は、値のタイプ、プロセス変数の状態、および下位タイムスタンプの連結である。例えば、列修飾子REAL.GOOD.+20は、タイプREAL、状態GOOD、および20の時間オフセット(すなわち、丸められた上位タイムスタンプ1372672800の20秒後)を有する。さらに、記憶テーブル531のセルは、所与の行キーおよび列修飾子に対応する測定値を格納する。例えば、行キー057.1372672800および列修飾子REAL.GOOD.+40と関連付けられた測定値は45.4である。テーブル531は、同一の行キーおよび列ファミリーに対応する任意のデータを連続して格納し得る。例えば、テーブル531は、特定のプロセス変数識別(例えば、098または057)に対応するデータを60分間にわたり連続して格納する。
【0108】
一般に、測定値を書き込むために、ビッグデータアプライアンス102は、一意のデータを有する適切な行キーを構築し、関連付けられた列ファミリーおよび列修飾子(複数可)を判断する。さらに、ビッグデータアプライアンス102は、どのバイトを列ファミリーおよび列修飾子(複数可)に対応するセルに格納するかを識別して、関連付けられたレコードを書き込む。例えば、テーブル531は、プロセス変数の値を関連付けられたレコードに書き込む。プロセス制御システム10に関連したユーザーまたは管理者は、格納されたデータについてビッグデータアプライアンス102に問い合わせ得る。具体的には、クエリーは、行キー範囲を指定し得、ならびに上位タイムスタンプ範囲などの、適切なフィルタ基準を定義し得る。ビッグデータアプライアンス102は、クエリーを実行して、識別された結果を問い合わせているユーザーに返し得る。
【0109】
ビッグデータアプライアンス102は、依然としてデータのより詳細な表示を可能にしながら、ユーザーがデータの長期的視野およびコンテキスト全体を評価することを可能にするために、「スナップショット」または「ズーム」機能を採用し得る。スナップショットまたはズーム機能はさらに、ユーザーが、様々なタイムスタンプ範囲に対応するデータのスナップショットを識別することを可能にする。様々な機能を使用すると、ビッグデータアプライアンス102は、特定の期間に対するデータの集合を作成および格納できる。例えば、ビッグデータアプライアンス102は、各時間のデータに対する(すなわち、共通の上位タイムスタンプに対応する測定値から)最小値、最大値、および最終測定値を格納できる。
【0110】
ビッグデータアプライアンス102は、関連データの格納および大規模処理のために、Apache Hadoopをサポートし得る。いくつかの場合には、ビッグデータアプライアンス102は、Apache HBaseデータベースに関連したMapReduceフレームワークを実装し得、それは、ユーザーまたは管理者が、データを削減することを可能にしながら、同時に、HBaseインフラストラクチャが並列分散プログラムを利用することを可能にする。MapReduceフレームワークは、データセットの分割、およびそれを複数のノードにわたって並行して実行することを可能にする。具体的には、ユーザーまたは管理者が格納問題を、フィルタ処理、ソート、および要約操作のために、より単純なMap()およびReduce()関数に分割し、他方、MapReduceフレームワークは分散サーバーを自動的に準備して、様々なタスクを並行して実行し、システムの様々な部分間での通信およびデータ転送を管理し、冗長および故障を提供して、プロセス全体を管理する。
【0111】
図5Dは、本明細書で説明するように「スナップショット」技術を使用して作成されたデータレコード例を図示する。例えば、ビッグデータアプライアンス102は、MapReduceフレームワークを使用してデータレコードを作成し得る。
図5Dに示すように、行キー例534および列例535の各々は、プロセス制御データの様々なフィールドまたは属性を含む。具体的には、行キー例534は、プロセス変数の識別および年の基準での上位タイムスタンプを含み、列例535は、列ファミリー、タイプ、状態、および日の基準での下位タイムスタンプを含む。言い換えれば、上位タイムスタンプによって指定された年内の日に対応する下位タイムスタンプを有する任意の列は、その対応する行キーと関連付けられる。
図5Dは、ビッグデータアプライアンス102が、対応する行キーおよび列のペアに従って格納し得るセル値例540も示す。セル値例540は、集計された高値541、集計された低値542、および集計された最終値543を含む。集計された高値541および集計された低値542はそれぞれ、行キー534の上位タイムスタンプに対応するタイムスタンプを有するデータレコードの間で、最高および最低の測定値を表す。さらに、集計された最終値543は、行キー534の上位タイムスタンプに対応するタイムスタンプを有するデータレコードの間で、(時間による)最後の測定値を表す。集計された高値541、集計された低値542、および集計された最終値543を
図5Dに示しているが、例えば、平均値、モード値、中央値、標準偏差、および/または他の値などの、他のスナップショット値が想定されることが理解されるべきである。
【0112】
図6は、ユーザーがプロセス制御データの様々なスナップショットを表示することを可能にすることに関連したインタフェース例を示す。ビッグデータアプライアンス102は、ユーザーまたは管理者が、スナップショット表示に対するパラメータを選択し、次いで、対応するスナップショット表示を見ることを可能にするために、データエクスプローラモジュール(または類似のモジュール)を採用し得る。第1のインタフェース680は、ユーザーがスナップショット表示のためのパラメータを選択するのを可能にする選択画面に対応する。第1のインタフェース680は、ユーザーが表示または分析することを欲するデータを有する1つ以上のプロセス変数をユーザーが選択するのを可能にするプロセス変数選択オプション681を含む。第1のインタフェース680は、ユーザーが、選択されたプロセス変数データに対する1つ以上の期間を選択するのを可能にする期間選択オプション682をさらに含む。さらに、第1のインタフェース680は、ユーザーが、選択された期間に対する所望の「ズーム」値に対応する1つ以上の様々なパラメータを選択するのを可能にする測定基準選択オプション683を含む。第1のインタフェース608は、プロセス変数「PV008」および「PV059」、時間および月に対する期間、ならびに最小、最大、および平均の測定基準の選択を示す。
【0113】
第2のインタフェース685は、第1のインタフェース680の選択から生じる図表を示す。具体的には、第2のインタフェース685は、プロセス変数「PV008」に対する時間毎および月毎の図表686、687、ならびにプロセス変数「PV059」に対する時間毎および月毎の図表688、689を示す。それぞれの時間毎の図表686、688は、6時間にわたる、「PV008」および「PV059」に対する時間毎の最小値、最大値、および平均値を示す。それぞれの月毎の図表687、689は、5か月間にわたる、「PV008」および「PV059」に対する月毎の最小値、最大値、および平均値を示す。第1のインタフェース680および第2のインタフェース685を使用すると、ユーザーまたは管理者は、記録されたデータの全部をフィルタ処理する必要なく、プロセス制御データおよびそれらのパラメータのスナップショットを効果的かつ効率的に評価および分析し得る。
【0114】
図7は、生データを集計するために、「スナップショット」技術(例えば、MapReduce技術)を採用するビッグデータアプライアンス102に関連したフロー
図700を示す。705では、ビッグデータアプライアンス102は、各関連付けられたタイムスタンプに対する識別に従って入力データをマッピングし、次いで、マッピングしたデータを識別に従ってソートして、各識別に対応する編集された測定データを生成する。710では、ビッグデータアプライアンスは、データをターゲットの出力データに、シャッフル、統合、および削減する。例えば、ビッグデータアプライアンスは、識別の各々に対して、特定の期間に対する高、低、および最終の測定値を出力できる。このように、ビッグデータアプライアンスは、スナップショットを効果的に生成し、そのスナップショットを要求しているユーザーまたは管理者に提供できる。
【0115】
図8〜
図10は、本明細書で説明するように、ビッグデータスキーマに従い、プロセス制御システムまたはプロセスプラント内でビッグデータを取得、提示、またはそうでなければ格納するための方法例800、900、1000の流れ図を示す。ビッグデータアプライアンス(例えば、
図1のビッグデータアプライアンス102)は、
図1のプロセス制御システムビッグデータネットワーク100内で、またはビッグデータをプロセス制御システムもしくはプロセスプラント内でサポートする任意の他の適切なネットワークもしくはシステム内で、方法800、900、1000を実装できる。例示の(および、限定されない)目的のため、方法800、900、1000は、
図1〜
図7を同時に参照して、以下で説明される。
【0116】
図8を参照すると、方法800は、プロセス制御データのデータ記憶装置への格納に関する。具体的には、方法800は、プロセス制御データを、プロセス制御データと関連付けられたタイムスタンプに従って生成された行キーを利用して、プロセス制御データを格納する。方法800のブロック805で、ビッグデータアプライアンスは、プロセス制御データを、例えば、1つ以上のデータ受信装置122を介して、受信する。データは、プロセスプラントに、および/またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分またはセグメントを含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【0117】
ブロック810で、ビッグデータアプライアンスは、受信したデータの各それぞれの部分から、様々なデータ測定値、指示、および他の属性を識別する。例えば、ビッグデータアプライアンスは、データの各それぞれの部分に対して、それぞれのプロセス変数の識別、データのそれぞれの部分と関連付けられたタイムスタンプ、それぞれのプロセス変数と関連付けられた測定値、測定値のデータタイプ、および/または測定値と関連付けられた状態を識別し得る。タイムスタンプは、UNIXエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第1のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第2のタイムスタンプ部分を含み得る。それに応じて、第1のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第2のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【0118】
ブロック815で、ビッグデータアプライアンスは、受信したデータの各それぞれの部分に対して、それぞれのプロセス変数および第1のタイムスタンプ部分に基づき行キーを識別する。いくつかの場合には、ビッグデータアプライアンスは(例えば、特定の行キーが存在しない場合)、それぞれのプロセス変数の識別と第1のタイムスタンプ部分を連結することにより、行キーを生成し、その行キーをデータ記憶装置に格納し得る。他の場合には、ビッグデータアプライアンスは、それぞれのプロセス変数および第1のタイムスタンプ部分に対応する、データ記憶装置内に既に格納されている行キーを識別し得る。
【0119】
ブロック820で、ビッグデータアプライアンスは、データの各それぞれの部分に対して、様々なデータを、行キーと関連付けられたデータ記憶装置の部分内に格納する。いくつかの場合には、ビッグデータアプライアンスは、第2のタイムスタンプ部分、測定値、任意選択で測定値のタイプ、および任意選択で測定値の状態を格納し得る。これに関して、行キーは、行キーの上位タイムスタンプに対応するタイムスタンプを有する記録されたプロセス制御データ(すなわち、行キーによって示される期間内に記録されたデータ)を含み得、このようにしてプロセス制御データを格納するために必要な記憶容量を削減し、データにアクセスして取得するために必要な時間を削減する。
【0120】
ブロック825で、ビッグデータアプライアンスは、追加のプロセス制御データが受信されるかを判断する。例えば、追加のプロセス制御データは、プロセス制御システムによって記録された追加のプロセス制御データであり得る。追加のプロセス制御データが受信される場合(「YES」)、処理は810に戻るか、または任意の他の機能に進み得る。追加のプロセス制御データが受信されない場合(「NO」)、処理は終了するか、繰り返すか、または任意の他の機能に進み得る。
【0121】
図9を参照すると、方法900は、ユーザーがプロセス制御データと関連付けられたスナップショットを取得するのを可能にするスナップショット規約に従って、プロセス制御データを格納することに関する。方法900のブロック905で、ビッグデータアプライアンスは、プロセス制御データを、例えば、1つ以上のデータ受信装置122を介して、受信する。データは、プロセスプラントに、および/またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分を含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【0122】
ブロック910で、ビッグデータアプライアンスは、各レコードに対して、データを検査して、(1)それぞれのプロセス変数、(2)それぞれのプロセス変数と関連付けられた測定値、ならびに(3)第1のタイムスタンプ部分および第2のタイムスタンプ部分を含むタイムスタンプを識別する。タイムスタンプは、UNIXエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第1のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第2のタイムスタンプ部分を含み得る。それに応じて、第1のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第2のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【0123】
ブロック915で、ビッグデータアプライアンスは、第1のタイムスタンプ部分に基づき、設定期間が経過していることを判断する。例えば、第1のタイムスタンプ部分が10:00:00AMを指定して、最も近い時間に丸められる場合、設定期間は、11:00:00AMに経過する。ある場合には、ビッグデータアプライアンスは、現在の時間を第1のタイムスタンプ部分と比較することにより設定期間が経過していることを判断できる。
【0124】
ブロック920で設定期間が経過している場合、ビッグデータアプライアンスは、設定期間内のタイムスタンプを有する複数のレコードのうちの1つ以上から少なくとも1つの統計的パラメータを識別する。少なくとも1つの統計的パラメータは、それぞれ1つ以上の測定値の高値、それぞれ1つ以上の測定値の低値、それぞれ1つ以上の測定値の最新値、それぞれ1つ以上の測定値の標準偏差、それぞれ1つ以上の測定値の平均値、およびそれぞれ1つ以上の測定値の中央値、のうちの1つ以上であり得る。複数のレコードと関連付けられた他の統計的パラメータが想定されることが理解されるべきである。
【0125】
ブロック925で、ビッグデータアプライアンスは、それぞれのプロセス変数に従って、少なくとも1つの統計的パラメータをフィルタ処理する。具体的には、ビッグデータアプライアンスは、ユーザーが指定されたプロセス変数に従って統計的パラメータデータにアクセスまたはこれを取得できるように、それぞれのプロセス変数に従って識別された統計的パラメータ(複数可)を分離できる。
【0126】
ブロック930で、ビッグデータアプライアンスは、少なくとも1つの統計的パラメータを、設定期間およびそれぞれのプロセス変数と関連付けられた期間データレコードに格納する。それ故、期間データレコードは、特定の期間に対応する任意の関連データを格納でき、ユーザーは、集計プロセス制御データを分析するために、個々の行キーまたはレコードを表示またはこれにアクセスする必要がない。
【0127】
図10を参照すると、方法1000は、ユーザーが、プロセス制御データを指定された期間にわたって分析することを可能にするプロセス制御データの「スナップショット」を取得することに関する。方法1000のブロック1005で、ビッグデータアプライアンスは、プロセス制御データの一部を取得するための要求をユーザーから受信し、要求は、設定期間を示す。プロセス制御データは、プロセスプラントに、および/またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分を含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【0128】
ブロック1010で、ビッグデータアプライアンスは、設定期間に対応するプロセス制御データの一部を取得し、プロセス制御データの一部は複数のレコードを含む。設定期間は、複数のレコードと関連付けられた上位タイムスタンプによって定義され得、複数のレコードの各々は、上位タイムスタンプによって定義された設定期間に含まれる下位タイムスタンプを示す。
【0129】
ブロック1015で、ビッグデータアプライアンスは、複数のレコードの各々に対して、(1)それぞれのプロセス変数、(2)それぞれのプロセス変数と関連付けられた測定値、および(3)設定期間に含まれるタイムスタンプ、を識別する。タイムスタンプは、UNIXエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第1のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第2のタイムスタンプ部分を含み得る。それに応じて、第1のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第2のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【0130】
ブロック1020で、ビッグデータアプライアンスは、複数のレコードから集計プロセス制御データを生成する。ビッグデータアプライアンスは、複数のレコードの各々と関連付けられた少なくとも1つの統計的パラメータに従って、複数のレコードを集計し得る。例えば、少なくとも1つの統計的パラメータは、それぞれ1つ以上の測定値の高値、それぞれ1つ以上の測定値の低値、それぞれ1つ以上の測定値の最新値、それぞれ1つ以上の測定値の標準偏差、それぞれ1つ以上の測定値の平均値、およびそれぞれ1つ以上の測定値の中央値、のうちの1つ以上であり得る。ビッグデータアプライアンスは、少なくとも1つの統計的パラメータが集計プロセス制御データ内に明示的に示されていない場合など、少なくとも1つの統計的パラメータを複数のレコードから計算もし得る。例えば、ビッグデータアプライアンスは、集計プロセス制御データを生成するために、平均値、標準偏差、高値、低値、および/または他の測定基準を計算し得る。いくつかの場合には、ユーザーは、所望の統計的パラメータを、例えば、要求またはコマンドの一部として、指定し得、それにより、ビッグデータアプライアンスは、複数のレコードから適切な統計的パラメータを計算する。
【0131】
ブロック1025で、ビッグデータアプライアンスは、集計プロセス制御データをユーザーに提示する。例えば、ビッグデータアプライアンスは、集計プロセス制御データを、数値データ、図表、グラフ、または任意の他のタイプの数値データもしくはグラフィカル表示として提示し得る。さらに、集計プロセス制御データは、複数のレコードから、識別または計算される任意の統計的パラメータを示し得る。
【0132】
ブロック1030で、ビッグデータアプライアンスは、追加の要求が受信されるかを判断する。例えば、ユーザーは、集計プロセス制御データを狭めるか、もしくは拡張することを欲し得るか、またはプロセス制御データについて他の計算を実行することを欲し得る。追加の要求が受信される場合(「YES」)、処理は1010に戻るか、または任意の他の機能に進み得る。追加の要求が受信されない場合(「NO」)、処理は終了するか、繰り返すか、または任意の他の機能に進み得る。
【0133】
ソフトウェアで実装される場合、本明細書で説明するアプリケーション、サービス、およびエンジンのいずれかが、磁気ディスク、レーザーディスク、ソリッドステートメモリ装置、分子メモリ記憶装置、または他の記憶媒体上、コンピュータもしくはプロセッサのRAMもしくはROM内など、任意の有形的持続性コンピュータ可読メモリ内に格納され得る。本明細書で説明するシステム例は、他の構成要素の中で、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含むとして開示されているが、かかるシステムは例示に過ぎず、制限として考えられるべきではないことに留意すべきである。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のいずれかまたは全部が、専らハードウェアのみで、専らソフトウェアのみで、またはハードウェアとソフトウェアの任意の組合せで、具現化され得ると考えられる。それに応じて、本明細書で説明するシステム例は、1つ以上のコンピュータ装置のプロセッサ上で実行されるソフトウェアで実装されていると説明されるが、当業者は、提供される例はかかるシステムを実装する唯一の方法ではないことを容易に理解するであろう。
【0134】
従って、本発明は、例示のみを意図し、本発明を制限しない、特定の例を参照して説明されてきたが、本発明の精神および範囲から逸脱することなく、変更、追加または削除が、開示する実施形態に対して行われ得ることが、当業者には明らかであろう。