(57)【要約】【課題】プロセスプラント及びプロセス制御システムにおけるビッグデータの格納および管理を目的とする。【解決手段】プロセス制御システム又はプラント用のビッグデータネットワーク又はシステムが、プロセス制御データを制御システム装置から受信し、そのプロセス制御データを格納するデータ記憶装置を含む。ビッグデータネットワーク又はシステムは、プロセス制御データからの様々なパラメータ又は属性を識別し、タイムスタンプを使用する組合せなどの様々な組合せに従ってパラメータを格納するために行キーを作成して使用する。ビッグデータネットワーク又はシステムは、タイムスタンプによって指定された期間に関連付けられた集計データ分析も格納し得る。ビッグデータネットワーク又はシステムは、測定値を有するリアルタイムデータをデータベーススキーマ内に効率的に格納し、ユーザー又は管理者は、ある期間に関連付けられたデータを分析するために集計データを利用できる。【選択図】図１
2020064674.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データを前記複数の装置から受信するように構成されたデータ受信装置であって、前記プロセス制御データが、各々がそれぞれのプロセス変数と関連付けられた複数の部分を含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ前記データの各それぞれの部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの部分と関連付けられたタイムスタンプであって、前記タイムスタンプが第１のタイムスタンプ部分および第２のタイムスタンプ部分を含む、タイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた測定値、を識別することと、
前記データ記憶装置内に格納されて、前記それぞれのプロセス変数および前記第１のタイムスタンプ部分に基づく行キーを識別することと、
前記行キーと関連付けられた前記データ記憶装置の部分内に、前記第２のタイムスタンプ部分および前記測定値を格納することと
を行うように構成された、プロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステム。
【請求項２】
前記プロセッサが前記行キーを、
前記それぞれのプロセス変数および前記第１のタイムスタンプ部分を連結することにより前記行キーを生成すること、および
前記行キーを前記データ記憶装置内に格納すること
により識別する、請求項１に記載のシステム。
【請求項３】
前記タイムスタンプが、ＵＮＩＸエポック値として表され、前記第１のタイムスタンプ部分が、ある段階によって切り下げられた前記タイムスタンプであり、かつ、前記第２のタイムスタンプ部分が、前記ある段階によって切り下げられた前記タイムスタンプの残りである、請求項１に記載のシステム。
【請求項４】
前記プロセッサが、前記データの各それぞれの部分に対して、
前記測定値の状態を識別することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記測定値の前記状態を格納することと
を行うようにさらに構成されている、請求項１に記載のシステム。
【請求項５】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項１に記載のシステム。
【請求項６】
前記データ受信装置が、追加のプロセス制御データを前記複数の装置から受信するようにさらに構成され、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含み、かつ、前記プロセッサが、前記データの各それぞれの追加の部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの追加の部分と関連付けられた追加のタイムスタンプであって、前記追加のタイムスタンプが第１の追加のタイムスタンプ部分および第２の追加のタイムスタンプ部分を含む、追加のタイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた追加の測定値、を識別することと、
前記第１の追加のタイムスタンプ部分が、前記行キーに対応する前記第１のタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第２の追加のタイムスタンプ部分および前記追加の測定値を格納することと
を行うようにさらに構成されている、
請求項１に記載のシステム。
【請求項７】
プロセス制御プラントと関連付けられたプロセス制御データを格納する方法であって、前記方法が、
前記プロセス制御プラント内の少なくとも１つのプロセスを制御するように構成された複数の装置からプロセス制御データを受信することであって、前記プロセス制御データが、各々がそれぞれのプロセス変数と関連付けられた複数の部分を含む、プロセス制御データを受信することと、
前記データの各それぞれの部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの部分と関連付けられたタイムスタンプであって、前記タイムスタンプが第１のタイムスタンプ部分および第２のタイムスタンプ部分を含む、タイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた測定値、を識別することと、
データ記憶装置内に格納されて、前記それぞれのプロセス変数および前記第１のタイムスタンプ部分に基づく行キーを、プロセッサによって、識別することと、
前記行キーと関連付けられた前記データ記憶装置の部分内に、前記第２のタイムスタンプ部分および前記測定値を格納することと
を含む、
プロセス制御プラントと関連付けられたプロセス制御データを格納する方法。
【請求項８】
前記行キーを識別することが、
前記それぞれのプロセス変数および前記第１のタイムスタンプ部分を連結することにより前記行キーを生成することと、
前記行キーを前記データ記憶装置内に格納することと
を含む、請求項７に記載の方法。
【請求項９】
前記タイムスタンプが、ＵＮＩＸエポック値として表され、前記第１のタイムスタンプ部分が、ある段階によって切り下げられた前記タイムスタンプであり、かつ、前記第２のタイムスタンプ部分が、前記ある段階によって切り下げられた前記タイムスタンプの残りである、請求項７に記載の方法。
【請求項１０】
前記データの各それぞれの部分に対して、
前記測定値の状態を識別することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記測定値の前記状態を格納することと
をさらに含む、請求項７に記載の方法。
【請求項１１】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項７に記載の方法。
【請求項１２】
追加のプロセス制御データを前記複数の装置から受信することであって、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含む、追加のプロセス制御データを受信することと、
前記データの各それぞれの部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの追加の部分と関連付けられた追加のタイムスタンプであって、前記追加のタイムスタンプが第１の追加のタイムスタンプ部分および第２の追加のタイムスタンプ部分を含む、追加のタイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた追加の測定値、を識別することと、
前記第１の追加のタイムスタンプ部分が、前記行キーに対応する前記第１のタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第２の追加のタイムスタンプ部分および前記追加の測定値を格納することと
をさらに含む、請求項７に記載の方法。
【請求項１３】
プロセス制御システムであって、
前記プロセス制御システム内のプロセスを制御するように構成されたコントローラと、
前記コントローラに通信可能に接続されたフィールド装置であって、前記フィールド装置が前記プロセス制御システム内の前記プロセスを制御するために物理的な機能を実行するように構成され、かつ前記フィールド装置が、前記物理的な機能に対応するリアルタイムデータを、前記コントローラに送信するか、または前記コントローラから受信するように構成された、フィールド装置と、
プロセス制御システムビッグデータ装置であって、前記プロセス制御システムビッグデータ装置が、
前記リアルタイムデータを格納するように構成されたデータ記憶装置と、
前記リアルタイムデータを前記フィールド装置から受信するように構成されたデータ受信装置であって、前記リアルタイムデータが、各々がそれぞれのプロセス変数と関連付けられた複数の部分を含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ前記データの各それぞれの部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの部分と関連付けられたタイムスタンプであって、前記タイムスタンプが第１のタイムスタンプ部分および第２のタイムスタンプ部分を含む、タイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた測定値、を識別することと、
前記データ記憶装置内に格納されて、前記それぞれのプロセス変数および前記第１のタイムスタンプ部分に基づく、行キーを識別することと、
前記行キーと関連付けられた前記データ記憶装置の部分内に、前記第２のタイムスタンプ部分および前記測定値を格納することと
を行うように構成された、プロセッサと
を含む、プロセス制御システムビッグデータ装置と
を備え、
前記コントローラが、プロセス制御システムビッグデータネットワークの第１のノードであり、前記プロセス制御システムビッグデータ装置が前記プロセス制御システムビッグデータネットワークの第２のノードである、
プロセス制御システム。
【請求項１４】
前記プロセッサが前記行キーを、
前記それぞれのプロセス変数および前記第１のタイムスタンプ部分を連結することにより前記行キーを生成すること、および
前記行キーを前記データ記憶装置内に格納すること
により識別する、請求項１３に記載のプロセス制御システム。
【請求項１５】
前記タイムスタンプが、ＵＮＩＸエポック値として表され、前記第１のタイムスタンプ部分が、ある段階によって切り下げられた前記タイムスタンプであり、かつ、前記第２のタイムスタンプ部分が、前記ある段階によって切り下げられた前記タイムスタンプの残りである、請求項１３に記載のプロセス制御システム。
【請求項１６】
前記プロセッサが、前記データの各それぞれの部分に対して、
前記測定値の状態を識別することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記測定値の前記状態を格納することと
を行うようにさらに構成されている、
請求項１３に記載のプロセス制御システム。
【請求項１７】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項１３に記載のプロセス制御システム。
【請求項１８】
前記データ受信装置が、追加のプロセス制御データを複数の装置から受信するようにさらに構成され、前記追加のプロセス制御データが、各々が前記それぞれのプロセス変数と関連付けられた複数の追加の部分を含み、かつ、前記プロセッサが、前記データの各それぞれの追加の部分に対して、
（１）前記それぞれのプロセス変数、（２）前記データの前記それぞれの追加の部分と関連付けられた追加のタイムスタンプであって、前記追加のタイムスタンプが第１の追加のタイムスタンプ部分および第２の追加のタイムスタンプ部分を含む、追加のタイムスタンプ、ならびに（３）前記それぞれのプロセス変数と関連付けられた追加の測定値、を識別することと、
前記第１の追加のタイムスタンプ部分が、前記行キーに対応する前記第１のタイムスタンプ部分と一致すると判断することと、
前記行キーと関連付けられた前記データ記憶装置の前記部分内に、前記第２の追加のタイムスタンプ部分および前記追加の測定値を格納することと
を行うようにさらに構成されている、
請求項１３に記載のプロセス制御システム。
【請求項１９】
プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データを前記複数の装置から受信するように構成されたデータ受信装置であって、前記プロセス制御データが、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、ならびに（３）第１のタイムスタンプ部分および第２のタイムスタンプ部分を含むタイムスタンプを有する複数のレコードを含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ、
前記第１のタイムスタンプ部分に基づく設定期間が経過していると判断することと、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの１つ以上から少なくとも１つの統計的パラメータを識別することと、
前記少なくとも１つの統計的パラメータを前記設定期間および前記それぞれのプロセス変数と関連付けられた期間データレコード内に格納することと
を行うように構成されたプロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステム。
【請求項２０】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項１９に記載のシステム。
【請求項２１】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の高値および前記それぞれ１つ以上の測定値の低値のうちの少なくとも１つを識別することにより、識別する、請求項１９に記載のシステム。
【請求項２２】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の最新値、前記それぞれ１つ以上の測定値の標準偏差、前記それぞれ１つ以上の測定値の平均値、および前記それぞれ１つ以上の測定値の中央値、のうちの少なくとも１つを識別することにより、識別する、請求項１９に記載のシステム。
【請求項２３】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記少なくとも１つの統計的パラメータを識別すること、および
前記識別された少なくとも１つの統計的パラメータを、前記複数のレコードのうちの前記１つ以上の前記それぞれのプロセス変数に従ってフィルタ処理すること
により識別する、請求項１９に記載のシステム。
【請求項２４】
前記プロセッサが、
現在の時刻を識別すること、および
前記現在の時刻を前記第１のタイムスタンプ部分に基づく前記設定期間と比較すること
により、前記第１のタイムスタンプ部分に基づく前記設定期間が経過していると判断する、
請求項１９に記載のシステム。
【請求項２５】
プロセス制御プラントと関連付けられたプロセス制御データを格納する方法であって、前記方法が、
前記プロセス制御プラント内の少なくとも１つのプロセスを制御するように構成された複数の装置からプロセス制御データを受信することであって、前記プロセス制御データが、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、ならびに（３）第１のタイムスタンプ部分および第２のタイムスタンプ部分を含むタイムスタンプを有する複数のレコードを含む、プロセス制御データを受信することと、
前記第１のタイムスタンプ部分に基づく設定期間が経過していると、プロセッサにより、判断することと、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの１つ以上から少なくとも１つの統計的パラメータを識別することと、
データ記憶装置内に、前記設定期間および前記それぞれのプロセス変数と関連付けられた期間データレコード内の前記少なくとも１つの統計的パラメータを格納することと
を含む、
プロセス制御プラントと関連付けられたプロセス制御データを格納する方法。
【請求項２６】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項２５に記載の方法。
【請求項２７】
前記少なくとも１つの統計的パラメータを識別することが、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の高値および前記それぞれ１つ以上の測定値の低値のうちの少なくとも１つを識別することを含む、請求項２５に記載の方法。
【請求項２８】
前記少なくとも１つの統計的パラメータを識別することが、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の最新値、前記それぞれ１つ以上の測定値の標準偏差、前記それぞれ１つ以上の測定値の平均値、および前記それぞれ１つ以上の測定値の中央値、のうちの少なくとも１つを識別することを含む、請求項２５に記載の方法。
【請求項２９】
前記少なくとも１つの統計的パラメータを識別することが、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記少なくとも１つの統計的パラメータを識別することと、
前記識別された少なくとも１つの統計的パラメータを、前記複数のレコードのうちの前記１つ以上の前記それぞれのプロセス変数に従ってフィルタ処理することと
を含む、請求項２５に記載の方法。
【請求項３０】
前記第１のタイムスタンプ部分に基づく前記設定期間が経過していると判断することが、
現在の時刻を識別することと、
前記現在の時刻を前記第１のタイムスタンプ部分に基づく前記設定期間と比較することと
を含む、請求項２５に記載の方法。
【請求項３１】
プロセス制御システムであって、
前記プロセス制御システム内のプロセスを制御するように構成されたコントローラと、
前記コントローラに通信可能に接続されたフィールド装置であって、前記フィールド装置が前記プロセス制御システム内の前記プロセスを制御するために物理的な機能を実行するように構成され、かつ前記フィールド装置が、前記物理的な機能に対応するリアルタイムデータを、前記コントローラに送信するか、または前記コントローラから受信するように構成された、フィールド装置と、
プロセス制御システムビッグデータ装置であって、前記プロセス制御システムビッグデータ装置が、
前記リアルタイムデータを格納するように構成されたデータ記憶装置と、
前記リアルタイムデータを前記フィールド装置から受信するように構成されたデータ受信装置であって、前記リアルタイムデータが、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、ならびに（３）第１のタイムスタンプ部分および第２のタイムスタンプ部分を含むタイムスタンプを有する複数のレコードを含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ、
前記第１のタイムスタンプ部分に基づく設定期間が経過していると判断することと、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの１つ以上から少なくとも１つの統計的パラメータを識別することと、
前記少なくとも１つの統計的パラメータを、前記設定期間および前記それぞれのプロセス変数と関連付けられた期間データレコード内に格納することと
を行うように構成された、プロセッサと
を含む、プロセス制御システムビッグデータ装置と
を備え、
前記コントローラが、プロセス制御システムビッグデータネットワークの第１のノードであり、かつ、前記プロセス制御システムビッグデータ装置が前記プロセス制御システムビッグデータネットワークの第２のノードである、
プロセス制御システム。
【請求項３２】
前記第１のタイムスタンプ部分が前記タイムスタンプの上位タイムスタンプに対応し、かつ、前記第２のタイムスタンプ部分が前記タイムスタンプの下位タイムスタンプに対応する、請求項３１に記載のプロセス制御システム。
【請求項３３】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の高値および前記それぞれ１つ以上の測定値の低値のうちの少なくとも１つを識別することにより、識別する、請求項３１に記載のプロセス制御システム。
【請求項３４】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記それぞれ１つ以上の測定値の最新値、前記それぞれ１つ以上の測定値の標準偏差、前記それぞれ１つ以上の測定値の平均値、および前記それぞれ１つ以上の測定値の中央値、のうちの少なくとも１つを識別することにより、識別する、請求項３１に記載のプロセス制御システム。
【請求項３５】
前記プロセッサが、前記少なくとも１つの統計的パラメータを、
前記設定期間内のタイムスタンプを有する前記複数のレコードのうちの前記１つ以上から、前記少なくとも１つの統計的パラメータを識別すること、および
前記識別された少なくとも１つの統計的パラメータを、前記複数のレコードのうちの前記１つ以上の前記それぞれのプロセス変数に従ってフィルタ処理すること
により識別する、請求項３１に記載のプロセス制御システム。
【請求項３６】
前記プロセッサが、
現在の時刻を識別すること、および
前記現在の時刻を前記第１のタイムスタンプ部分に基づく前記設定期間と比較すること
により、
前記第１のタイムスタンプ部分に基づく前記設定期間が経過していると判断する、
請求項３１に記載のプロセス制御システム。
【請求項３７】
プロセス制御プラントと関連付けられたプロセス制御データにアクセスする方法であって、前記方法が、
データ記憶装置内に格納されたプロセス制御データの一部を取得する要求をユーザーから受信することであって、前記プロセス制御データが、前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応し、前記要求が設定期間を示す、プロセス制御データの一部を取得する要求をユーザーから受信することと、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの前記一部を取得することであって、前記プロセス制御データの前記一部が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記一部を取得することと、
プロセッサにより、集計プロセス制御データを前記複数のレコードから生成することと、
前記集計プロセス制御データを前記ユーザーに提示することと
を含む、プロセス制御プラントと関連付けられたプロセス制御データにアクセスする方法。
【請求項３８】
前記集計プロセス制御データを生成することが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
を含む、請求項３７に記載の方法。
【請求項３９】
前記集計プロセス制御データを生成することが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算することを含み、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項３７に記載の方法。
【請求項４０】
前記集計プロセス制御データを生成することが、
少なくとも１つの統計的パラメータの選択を前記ユーザーから受信することと、
前記少なくとも１つの統計的パラメータを示すために前記集計プロセス制御データを生成することと
を含む、請求項３７に記載の方法。
【請求項４１】
前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信することであって、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示す、追加の要求を前記ユーザーから受信することと、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記修正された集計プロセス制御データを前記ユーザーに提示することと
をさらに含む、請求項３７に記載の方法。
【請求項４２】
前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信することであって、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示す、追加の要求を前記ユーザーから受信することと、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの追加部分を取得することであって、前記プロセス制御データの前記追加部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記修正された集計プロセス制御データを前記ユーザーに提示することと
をさらに含む、請求項３７に記載の方法。
【請求項４３】
前記集計プロセス制御データを生成することが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから、集計プロセス制御データを生成すること
を含む、請求項３７に記載の方法。
【請求項４４】
プロセス制御プラントと関連付けられたプロセス制御データにアクセスするシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データの一部を取得するための要求をユーザーから受信するように適合されたユーザーインタフェースであって、前記要求が設定期間を示す、要求をユーザーから受信するように適合されたユーザーインタフェースと、
前記データ記憶装置および前記ユーザーインタフェースとインタフェースをとるように適合され、かつ、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの前記一部を取得することであって、前記プロセス制御データの前記一部が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記一部を取得することと、
前記複数のレコードから集計プロセス制御データを生成することと、
前記ユーザーインタフェースに前記集計プロセス制御データを前記ユーザーに対して提示させることと
を行うように構成された、プロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データにアクセスするシステム。
【請求項４５】
前記プロセッサが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
により、前記集計プロセス制御データを生成する、
請求項４４に記載のシステム。
【請求項４６】
前記プロセッサが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算すること
により、前記集計プロセス制御データを生成し、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項４４に記載のシステム。
【請求項４７】
前記プロセッサが、
前記ユーザーから前記ユーザーインタフェースを介して、少なくとも１つの所望の統計的パラメータに対する選択を受信すること、および
前記少なくとも１つの統計的パラメータを示すために前記集計プロセス制御データを生成すること
により、前記集計プロセス制御データを生成する、
請求項４４に記載のシステム。
【請求項４８】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示し、かつ、前記プロセッサが、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項４４に記載のシステム。
【請求項４９】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示し、かつ、前記プロセッサが、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することであって、前記プロセス制御データの前記追加の部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項４４に記載のシステム。
【請求項５０】
前記プロセッサが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから集計プロセス制御データを生成することにより、
前記集計プロセス制御データを生成する、
請求項４４に記載のシステム。
【請求項５１】
プロセス制御システムであって、
前記プロセス制御システム内のプロセスを制御するように構成されたコントローラと、
前記コントローラに通信可能に接続されたフィールド装置であって、前記フィールド装置が前記プロセス制御システム内の前記プロセスを制御するために物理的な機能を実行するように構成され、かつ前記フィールド装置が、前記物理的な機能に対応するリアルタイムデータを、前記コントローラに送信するか、または前記コントローラから受信するように構成された、フィールド装置と、
プロセス制御システムビッグデータ装置であって、前記プロセス制御システムビッグデータ装置が、
前記リアルタイムデータを格納するように構成されたデータ記憶装置と、
前記リアルタイムデータの一部を取得するための要求をユーザーから受信するように適合されたユーザーインタフェースであって、前記要求が設定期間を示す、要求をユーザーから受信するように適合されたユーザーインタフェースと、
前記データ記憶装置および前記ユーザーインタフェースとインタフェースをとるように適合され、かつ、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの部分を取得することであって、前記プロセス制御データの前記部分が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記部分を取得することと、
前記複数のレコードから集計プロセス制御データを生成することと、
前記ユーザーインタフェースに前記集計プロセス制御データを前記ユーザーに対して提示させることと
を行うように構成されたプロセッサと
を含む、プロセス制御システムビッグデータ装置と
を備え、
前記コントローラが、プロセス制御システムビッグデータネットワークの第１のノードであり、かつ、前記プロセス制御システムビッグデータ装置が前記プロセス制御システムビッグデータネットワークの第２のノードである、
プロセス制御システム。
【請求項５２】
前記プロセッサが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
により、前記集計プロセス制御データを生成する、
請求項５１に記載のプロセス制御システム。
【請求項５３】
前記プロセッサが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算すること
により、前記集計プロセス制御データを生成し、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項５１に記載のプロセス制御システム。
【請求項５４】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示し、かつ、前記プロセッサが、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項５１に記載のプロセス制御システム。
【請求項５５】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示し、かつ、前記プロセッサが、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することであって、前記プロセス制御データの前記追加の部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項５１に記載のプロセス制御システム。
【請求項５６】
前記プロセッサが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから集計プロセス制御データを生成すること
により、前記集計プロセス制御データを生成する、
請求項５１に記載のプロセス制御システム。
【請求項５７】
プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データを前記複数の装置から受信するように構成されたデータ受信装置であって、前記プロセス制御データが、各々がそれぞれのプロセス変数と関連付けられた複数の部分を含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ前記データの各それぞれの部分に対して、
前記データの前記それぞれの部分の少なくとも第１の属性および第２の属性を識別することと、
前記データ記憶装置内に格納されて、前記第１の属性に基づく、行キーを識別することと、
前記行キーと関連付けられた前記データ記憶装置の部分内に、前記第２の属性を格納することと
を行うように構成されたプロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステム。
【請求項５８】
前記第１の属性が前記それぞれのプロセス変数の識別であり、前記第２の属性が測定値であり、かつ、前記プロセッサが、前記データの各それぞれの部分に対して、前記データの前記それぞれの部分と関連付けられたタイムスタンプを識別するようにさらに構成されている、請求項５７に記載のシステム。
【請求項５９】
前記プロセッサが、前記行キーと関連付けられた前記データ記憶装置の前記一部内に、前記測定値および前記タイムスタンプの少なくとも一部を格納することにより、前記第２の属性を格納する、請求項５８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許は、一般に、プロセスプラントおよびプロセス制御システムに関し、より詳細には、プロセスプラントおよびプロセス制御システムにおけるビッグデータの格納および管理に関する。
【背景技術】
【０００２】
化学、石油または他のプロセスプラントにおいて使用されるような、分散型プロセス制御システムは、通常、アナログ、デジタルもしくはアナログ／デジタル結合バスを経由して、または無線通信リンクもしくはネットワークを経由して、１つ以上のフィールド装置に通信可能に結合された１つ以上のプロセスコントローラを含む。フィールド装置は、例えば、弁、バルブポジショナ、スイッチおよび送信器（例えば、温度、圧力、高度および流量センサー）であり得、プロセス環境内に配置されて、一般に、プロセスプラントまたはシステム内で実行している１つ以上のプロセスを制御するために、弁の開放または閉鎖、プロセスパラメータの測定などの物理的またはプロセス制御機能を実行する。公知のフィールドバスプロトコルに準拠するフィールド装置などの、スマートフィールド装置は、制御計算、アラーム機能、およびコントローラ内で一般に実装される他の制御機能も実行し得る。プロセスコントローラは、同様に通常プラント環境内に配置されるが、フィールド装置によって行われるプロセス測定を示す信号および／またはフィールド装置に関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を生成して、ＨＡＲＴ（登録商標）、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）、およびＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールド装置などの、フィールド装置内で実行されている制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、制御信号を通信回線またはリンクを通じてフィールド装置に送信し、それにより、プロセスプラントまたはシステムの少なくとも一部の動作を制御する。
【０００３】
フィールド装置およびコントローラからの情報は、典型的には、制御室もしくはより厳しいプラント環境から離れた他の位置に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティング装置、データヒストリアン、レポートジェネレータ、集中型データベース、または他の集中型管理コンピューティング装置などの、１つ以上の他のハードウェア装置に対して、通常、データハイウェイを経由して利用可能にされる。これらハードウェア装置の各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部にわたって集中化される。これらのハードウェア装置は、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールド装置内の制御モジュールの動作の修正、プロセスの現在の状態の表示、フィールド装置およびコントローラによって生成されたアラームの表示、担当者の訓練もしくはプロセス制御ソフトウェアのテストを目的としたプロセスの動作のシミュレーション、構成データベースの保守および更新などの、プロセスの制御ならびに／またはプロセスプラントの動作に関する機能を実行することを可能にし得るアプリケーションを実行する。ハードウェア装置、コントローラおよびフィールド装置によって利用されるデータハイウェイは、有線通信パス、無線通信パス、または有線および無線通信パスの組合せを含み得る。
【０００４】
一例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な場所に配置された異なる装置内に格納され、それら異なる装置によって実行される複数のアプリケーションを含む。１つ以上のワークステーションまたはコンピューティング装置内に常駐する、構成アプリケーションは、ユーザーが、プロセス制御モジュールを作成または変更し、データハイウェイを経由してこれらのプロセス制御モジュールを専用分散コントローラにダウンロードすることを可能にする。通常、これらの制御モジュールは、通信可能に相互接続された機能ブロックから構成され、それらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実行し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、構成設計者が、表示アプリケーションによってデータをオペレータに表示するために使用されるオペレータインタフェースを作成または変更することを可能にし、かつオペレータが、プロセス制御ルーチン内の、設定点などの、設定を変更することも可能にし得る。各専用コントローラおよび、いくつかの場合には、１つ以上のフィールド装置は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを格納および実行する。１つ以上のオペレータワークステーション（またはオペレータワークステーションおよびデータハイウェイと通信可能に接続した１つ以上のリモートコンピューティング装置）上で実行され得る、表示アプリケーションは、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、このデータをユーザーインタフェースを使用して、プロセス制御システム設計者、オペレータ、またはユーザーに表示して、例えば、オペレータの表示、エンジニアの表示、技術者の表示などの、いくつかの異なる表示のいずれかを提供し得る。データヒストリアンアプリケーションは、通常、データハイウェイにわたって提供されたデータの一部または全部を収集および格納するデータヒストリアン装置によって格納されて実行され、他方、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成およびそれらに関連したデータを格納するためにデータハイウェイに接続されたさらなるコンピュータで実行される。代替として、構成データベースは、構成アプリケーションと同じワークステーション内に配置され得る。
【０００５】
現在公知のプロセス制御プラントおよびプロセス制御システムのアーキテクチャは、限られたコントローラおよび装置のメモリ、通信帯域幅ならびにコントローラおよび装置のプロセッサ機能によって大きく影響される。例えば、現在公知のプロセス制御システムアーキテクチャでは、コントローラ内のダイナミックおよびスタティック不揮発性メモリの使用が、通常、最小限にされるか、または少なくとも注意深く管理される。結果として、システム構成中（例えば、事前の）、ユーザーは通常、コントローラ内のどのデータをアーカイブまたは保存すべきか、それらが保存される頻度、および圧縮が使用されるか否かを選択する必要があり、コントローラは、それに応じて、この制限されたデータ規則のセットで構成される。その結果として、トラブルシューティングおよびプロセス分析で有用であり得るデータは、多くの場合、アーカイブされず、それが収集される場合、有用な情報は、データ圧縮に起因して失われている可能性がある。
【０００６】
追加として、現在公知のプロセス制御システムにおいてコントローラメモリ使用を最小限にするために、（コントローラの構成によって示されるように）アーカイブまたは保存されるべき選択されたデータが、適切なデータヒストリアンまたはデータサイロでの格納のためにワークステーションまたはコンピューティング装置に報告される。データを報告するために使用される現在の技術は、通信資源を有効に利用せず、過度のコントローラ負荷を引き起こす。追加として、ヒストリアンまたはサイロでの通信またはサンプリングにおける時間遅延に起因して、データ収集およびタイムスタンプが多くの場合、実際のプロセスと同期していない。
【０００７】
同様に、バッチプロセス制御システムでは、コントローラメモリ使用を最小限にするために、コントローラ構成のバッチレシピおよびスナップショットは、通常、集中管理コンピューティング装置または位置に（例えば、データサイロまたはヒストリアンに）格納されたままであり、必要な場合にコントローラに転送されるだけである。かかる方式は、コントローラ内に、およびワークステーションまたは集中管理コンピューティング装置とコントローラとの間の通信に、著しいバースト負荷を取り込む。
【０００８】
さらに、現在公知のプロセス制御システムのリレーショナルデータベースの機能および性能限界は、ディスク記憶の以前のコスト高と相まって、特定用途の目的を満足するために、データを独立エンティティまたはサイロ内に構築する際に大きな役割を果たす。例えば、ＤｅｌｔａＶ（商標）システム内で、プロセスモデルのアーカイブ、連続的な履歴データ、ならびにバッチおよび事象データが、３つの異なるアプリケーションデータベースまたはデータのサイロ内に保存される。各サイロは、その中に格納されたデータにアクセスするための異なるインタフェースを有する。
【０００９】
このようにデータを構築することは、履歴化されたデータが、アクセスおよび使用される方法に障壁をもたらす。例えば、製品品質における変動の根本原因は、これらのデータサイロの複数内のデータと関連し得る。しかし、サイロの異なるファイル構造のため、このデータが、分析のために、迅速かつ容易にアクセスされることを可能にするツールを提供することは、可能ではない。さらに、監査または同期機能が、異なるサイロにわたるデータが一貫していることを確実にするために実行される必要がある。
【００１０】
前述した現在公知のプロセスプラントおよびプロセス制御システムの制限ならびに他の制限は、プロセスプラントまたはプロセス制御システムの動作および最適化において、例えば、プラント動作、トラブルシューティング、および／または予測モデル化中に、望ましくない状態で現れ得る。例えば、かかる制限は、トラブルシューティングおよび更新されたモデルの生成のためのデータを取得するために実行される必要がある、煩わしく、かつ冗長なワークフローを強制する。追加として、取得されたデータは、データ圧縮、不十分な帯域幅、またはシフトされたタイムスタンプに起因して、不正確であり得る。
【００１１】
「ビッグデータ」は、一般に、従来のデータベース管理ツールおよび／またはデータ処理アプリケーション（例えば、リレーショナルデータベースおよびデスクトップ統計パッケージ）が、容認可能な時間内でデータセットを管理することが可能でない、非常に大規模または複雑な１つ以上のデータセットの集合を指す。典型的には、ビッグデータを使用するアプリケーションは、トランザクションおよびエンドユーザー指向であるか、またはそれに焦点を絞っている。例えば、ウェブ検索エンジン、ソーシャルメディアアプリケーション、マーケティングアプリケーション、および小売アプリケーションは、ビッグデータを使用および操作し得る。ビッグデータは、現代のマルチプロセス、マルチコアサーバーの並列処理能力が、完全に利用されることを可能にする、分散型データベースによってサポートされ得る。
【００１２】
ビッグデータ、特に、プロセスプラントおよびプロセス制御システムに関連したビッグデータを、格納、アクセス、および処理するための現在の技術は非効率的である。例えば、様々な既存のプロセスプラントは、プロセス制御データを格納するように構成されたリレーショナルデータベースを使用し、それは、いくつかの場合には、多くを割り当てられ過ぎた記憶装置および長い検索時間という結果になる。さらに、連続的な履歴データの格納は、ユーザーまたは管理者が、効率的もしくは効果的に、傾向を処理するか、またはパラメータ、もしくはパラメータの組合せを、複数のデータエントリから識別することを可能にしない。その結果、プロセスプラントおよびプロセス制御システムに関連したビッグデータをさらに効率的かつ効果的に、編成、処理、および管理するための技術を開発する機会がある。
【発明の概要】
【課題を解決するための手段】
【００１３】
プロセス制御システムまたはプラントは、プロセス制御データの大規模なデータマイニングおよびデータ分析をサポートするためのインフラストラクチャを提供する。プロセス制御データネットワークは、軽量の非リレーショナルデータベース格納技術を使用して、プロセス制御データおよびその属性を格納するビッグデータスキーマを組み込む。これらの技術を使用すると、ビッグデータスキーマは、プロセス制御データ内に存在していない様々なプロセス制御属性に対して記憶域を割り当てる必要がない。さらに、ビッグデータスキーマは、ユーザーおよび管理者が格納されたデータを効率的に検索、アクセス、および分析するのを可能にするために、プロセス制御データを、行キーおよび列ファミリーを有するテーブルに編成する。
【００１４】
ビッグデータスキーマは、プロセス制御データおよびその属性の様々な組合せを使用して、行キーおよび列ファミリーを作成し得る。一般に、行キーは、ビッグデータスキーマ内のデータを編成し、かつ、ユーザーが特定のデータを問い合わせて取得するために使用し得る、一意のキー値である。例えば、いくつかの行キーは、プロセス制御データが記録される時間に対応するタイムスタンプ（またはその部分）を包含する。各列ファミリーは、ビッグデータスキーマがプロセス制御データ属性を使用して作成する１つ以上の列修飾子を含む。ビッグデータスキーマは、対応する行キーおよび列修飾子に基づき関連付けられた測定値または値を格納する。いくつかの行キーは、複数の関連付けられた測定値（および関連付けられた列修飾子）を有し得、従って３次元記憶スキーマという結果となる。
【００１５】
ビッグデータスキーマは、基礎となる格納されたデータに対応する「スナップショット」データを定期的に作成および格納するための技術も含む。例えば、あらゆる経過した分（ｍｉｎｕｔｅ）について、ビッグデータスキーマは、その分内のタイムスタンプを有する基礎となるデータに対して、最小値、最大値、平均値、および標準偏差を計算および格納し得る。ビッグデータスキーマは、このようにして、ユーザーが、指定された期間（例えば、時間毎、週毎、月毎）にわたって指定されたデータ（例えば、特定のプロセス変数）にアクセスするのを可能にする。ビッグデータスキーマは、次いで、データをインタフェース内でユーザーに提示して、ユーザーがスナップショットデータに効率的かつ効果的にアクセスして、所望のデータ分析を実行することを可能にする。
【図面の簡単な説明】
【００１６】
【図１】プロセスプラントまたはプロセス制御システムのためのビッグデータネットワーク例のブロック図である。
【図２】図１のプロセス制御システムビッグデータネットワーク内に含まれるプロバイダノードの配置例を示すブロック図である。
【図３】図１のプロセス制御システムビッグデータアプライアンスにおいてデータを格納および履歴化する（ｈｉｓｔｏｒｉｚｅ）ためのアプライアンスデータ受信装置の使用例を示すブロック図である。
【図４】図１のプロセス制御システムビッグデータアプライアンスにおいて格納された履歴化されたデータにアクセスするためのアプライアンス要求サービサーの使用例を示すブロック図である。
【図５Ａ】ビッグデータを編成および格納するためのテーブル例である。
【図５Ｂ】ビッグデータを編成および格納するためのテーブル例の構成例である。
【図５Ｃ】ビッグデータスキーマに従って格納するように構成されたビッグデータレコード例である。
【図５Ｄ】ビッグデータスキーマ内に「スナップショット」データを格納するための構造例である。
【図６】プロセス制御データスナップショットの取得およびアクセスに関連付けられたユーザーインタフェース例を示す。
【図７】ビッグデータに対する編成技術を示すブロック図である。
【図８】行キーを使用してビッグデータを格納する方法例の流れ図である。
【図９】複数のデータレコードからプロセス制御データを格納する方法例の流れ図である。
【図１０】複数のデータレコードからプロセス制御データを取得し、それらから計算を実行する方法例の流れ図である。
【発明を実施するための形態】
【００１７】
図１は、プロセスプラントまたはプロセス制御システム１０内またはそれらに関連付けられたビッグデータネットワーク例１００のブロック図である。プロセス制御システムビッグデータネットワーク例１００は、プロセス制御システムビッグデータ装置またはアプライアンス１０２、プロセス制御システムビッグデータネットワークバックボーン１０５、およびバックボーン１０５に通信可能に接続されている複数のノード１０８を含む。複数のノード１０８は、プロセス関連データ、プラント関連データ、および他のタイプのデータを収集およびキャッシュし得、ネットワークバックボーン１０５は、そのデータを長期格納（例えば、「履歴化」）および処理のために、プロセス制御システムビッグデータ装置またはアプライアンス１０２に配信し得る。一実施態様では、データの少なくとも一部が、例えば、プロセスをリアルタイムで制御するために、ネットワーク１００のノード間で配信され得る。
【００１８】
プロセス制御システムビッグデータネットワーク１００は、プロセス制御システム１０に関連した任意のタイプのデータを収集および格納し得る。例えば、プロセス制御システムビッグデータネットワーク１００は、プロセスがプロセスプラント１０内で制御されている間に生成される（および、いくつかの場合には、プロセスのリアルタイム実行の影響を示す）、連続的、バッチ、測定および事象データなどの、リアルタイムプロセスデータを収集および格納する。構成データおよび／もしくはバッチレシピデータなどの、プロセス定義、配置または設定データ、ならびにプロセス診断の構成、実行および結果に対応するデータも収集および格納され得る。言うまでもなく、他のタイプのプロセスデータも収集および格納され得る。
【００１９】
加えて、プロセス制御システムビッグデータネットワーク１００は、バックボーン１０５およびプロセスプラント１０の様々な他の通信ネットワークのデータハイウェイトラフィックおよびネットワーク管理データを収集および格納し得る。さらに、プロセス制御システムビッグデータネットワーク１００は、ユーザートラフィック、ログイン試行、クエリーおよび命令に関連したデータなどのユーザー関連データ、ならびにテキストデータ（例えば、ログ、操作手順、マニュアルなど）、空間データ（例えば、位置ベースのデータ）、およびマルチメディアデータ（例えば、閉回路ＴＶ、ビデオクリップなど）を収集および格納し得る。
【００２０】
加えて、プロセス制御システムビッグデータネットワーク１００は、プロセスプラント１０に（例えば、機械および装置などのプロセスプラント１０内に含まれる物理的機器に）関連しているが、プロセスを直接構成、制御、または診断するアプリケーションによって生成されない可能性がある、データを収集および格納し得る。例えば、プロセス制御システムビッグデータネットワーク１００は、振動データ、蒸気トラップデータ、プラントの安全性に対応するパラメータの値を示すデータ（例えば、腐食データ、ガス検出データなど）、および／またはプラントの安全性に対応する事象を示すデータを収集および格納し得る。いくつかの場合には、プロセス制御システムビッグデータネットワーク１００は、機械の正常性、プラント機器および／または装置に対応するデータを収集および格納し得る。例えば、機器データ（例えば、振動データおよび他のデータに基づき判断されたポンプ正常性データ）が収集され得る。いくつかの場合には、プロセス制御システムビッグデータネットワーク１００は、機器、機械、および／または装置診断の構成、実行および結果に対応するデータを収集および格納し得る。
【００２１】
その上、プロセス制御システムビッグデータネットワーク１００は、原料のコストに関連したデータ、部品または機器の予期される到着時刻、気象データ、および他の外部データなどの、プロセスプラント１０の外部のエンティティによって生成されるか、またはそれらに伝送されるデータを収集および格納し得る。所望であれば、ネットワークバックボーン１０５に通信可能に接続されている全てのノード１０８によって生成、受信、または観察される全てのデータが、収集されて、プロセス制御システムビッグデータアプライアンス１０２で格納させられ得る。
【００２２】
図１に示すように、プロセス制御システムビッグデータネットワーク１００は、構成およびデータ探索のための、プロセス制御システムビッグデータネットワーク１００への主要なインタフェース、例えば、ユーザーインタフェースまたは他のアプリケーションによる使用のためのインタフェース、を提供するように構成された、プロセス制御システムビッグデータスタジオ１０９を含む。プロセス制御システムビッグデータスタジオ１０９は、プロセス制御システムビッグデータネットワークバックボーン１０５を経由してビッグデータアプライアンス１０２に接続し得るか、またはプロセス制御システムビッグデータアプライアンス１０２に直接接続し得る。
【００２３】
プロセス制御ビッグデータネットワークノード
【００２４】
図１に示すように、プロセス制御ビッグデータネットワーク１００の複数のノード１０８は、いくつかの異なるノードのグループ１１０、１１２、１１５を含み得る。第１のノードグループ１１０は、本明細書では「プロバイダノード１１０」または「プロバイダ装置１１０」と呼ばれるが、プロセスがプロセスプラント環境１０内でリアルタイムに制御されるのを可能にするために、プロセス制御データを生成、ルーティング、および／または受信する１つ以上のノードまたは装置を含み得る。プロバイダ装置またはノード１１０の例は、その主要な機能が、プロセスを制御するためにプロセス制御データを生成することおよび／またはプロセス制御データを操作することを対象とする装置、例えば、有線および無線フィールド装置、コントローラ、または入力／出力（Ｉ／Ｏ装置）を含み得る。プロバイダ装置１１０の他の例は、その主要な機能が、プロセス制御システムの１つ以上の通信ネットワーク（プロセス制御ビッグネットワーク１００がその１つである）へのアクセスまたはそれらを通る経路を提供することである装置、例えば、アクセスポイント、ルーター、有線制御バスへのインタフェース、無線通信ネットワークへのゲートウェイ、外部ネットワークもしくはシステムへのゲートウェイ、ならびに他のかかるルーティングおよびネットワーキング装置を含み得る。プロバイダ装置１１０のさらに他の例は、その主要な機能が、プロセス制御システム１０全体にわたって累積されるプロセスデータおよび他の関連データを一時的に格納して、その一時的に格納されたデータをプロセス制御システムビッグデータアプライアンス１０２での履歴化のために送信させることである、装置を含み得る。
【００２５】
プロバイダ装置１１０の少なくとも１つは、直接的な方法で、プロセス制御ビッグデータネットワークバックボーン１０５に通信可能に接続し得る。加えて、プロバイダ装置１１０の少なくとも１つは、間接的な方法で、バックボーン１０５に通信可能に接続し得る。例えば、無線フィールド装置は、ルーター、およびアクセスポイント、および無線ゲートウェイを経由して、バックボーン１０５に通信可能に接続し得る。典型的には、プロバイダ装置１１０は統合ユーザーインタフェースを有していないが、プロバイダ装置１0０のいくつかは、例えば、有線もしくは無線通信リンクを経由した通信により、またはユーザーインタフェース装置をプロバイダ装置１１０のポートに差し込むことにより、ユーザーコンピューティング装置またはユーザーインタフェースと通信可能に接続する機能を有し得る。
【００２６】
図１に示すように、第２のノードグループ１１２は、本明細書では「ユーザーインタフェースノード１１２」または「ユーザーインタフェース装置１１２」と呼ばれるが、各々が、プロセスプラント１０に関連した活動（例えば、構成、表示、監視、テスト、分析、診断、順序付け（ｏｒｄｅｒ）、計画、スケジューリング、注釈付け、および／または他の活動）を実行するためにそれを経由してユーザーまたはオペレータがプロセス制御システムまたはプロセスプラント１０とやりとりし得る、統合ユーザーインタフェースを有する、１つ以上のノードまたは装置を含み得る。これらのユーザーインタフェースノードまたは装置１１２の例は、可動式または固定式コンピューティング装置、ワークステーション、ハンドヘルド装置、タブレット、サーフェスコンピューティング装置、ならびにプロセッサ、メモリ、および統合ユーザーインタフェースを有する任意の他のコンピューティング装置を含み得る。統合ユーザーインタフェースは、画面、キーボード、キーパッド、マウス、ボタン、タッチスクリーン、タッチパッド、生体認証インタフェース、スピーカおよびマイクロホン、カメラ、ならびに／または任意の他のユーザーインタフェース技術を含み得る。各ユーザーインタフェースノード１１２は、１つ以上の統合ユーザーインタフェースを含み得る。ユーザーインタフェースノード１１２は、プロセス制御ビッグデータネットワークバックボーン１０５への直接接続を含み得るか、またはバックボーン１０５への、例えば、アクセスポイントもしくはゲートウェイを経由した、間接接続を含み得る。ユーザーインタフェースノード１１２はプロセス制御システムビッグデータネットワークバックボーン１０５に、有線方法で、および／または無線方法で、通信可能に接続し得る。
【００２７】
言うまでもなく、プロセス制御ビッグデータネットワーク１００の複数のノード１０８は、プロバイダノード１１０およびユーザーインタフェースノード１１２のみに限定されない。１つ以上の他のタイプのノード１１５が、任意選択で、複数のノード１０８内に含まれ得る。例えば、プロセスプラント１０の外部であるシステム（例えば、研究室システムまたは運搬管理システム）のノードが、システム１００のネットワークバックボーン１０５に通信可能に接続し得る。ノードまたは装置１１５は、バックボーン１０５に、直接または間接接続を経由して、通信可能に接続し得る。加えて、ノードまたは装置１１５は、バックボーン１０５に、有線または無線接続を経由して、通信可能に接続し得る。
【００２８】
プロセス制御システムビッグデータネットワーク１００のノード１０８の少なくともいくつかは、統合ファイアウォールを含み得る。さらに、任意の数のノード１０８（例えば、ゼロ個のノード、１つのノード、または２つ以上のノード）が各々、タスク、測定、事象、および他のデータをリアルタイムで格納またはキャッシュするために、それぞれメモリ記憶（図１にアイコンＭＸによって示す）を含み得る。メモリ記憶ＭＸは、高密度メモリ記憶技術、例えば、ソリッドステートドライブメモリ、半導体メモリ、光メモリ、分子メモリ、生物学的メモリ、または任意の他の適切な高密度メモリ技術、ならびにフラッシュメモリを含み得る。メモリ記憶ＭＸ（および、いくつかの場合には、フラッシュメモリ）は、そのそれぞれのノード１０８によって生成、受信、またはそうでなければ観察されるデータを一時的に格納またはキャッシュするように構成され得る。ノード１０８の少なくともいくつか（例えば、コントローラ装置）のフラッシュメモリＭＸは、ノード構成のスナップショット、バッチレシピ、および／または他のデータも格納して、通常動作中、または停電もしくはノードをオフラインにさせる他の事象後に、この情報を使用する際の遅延を最小限にし得る。所望であれば、ノード１１０、１１２の全ておよび任意の数のノード１１５は、高密度メモリ記憶ＭＸを含み得る。異なるタイプまたは技術の高密度メモリ記憶ＭＸが、ノード１０８のセットにわたって、またはノード１０８のセットに含まれるノードのサブセットにわたって、利用され得ることを理解されたい。
【００２９】
任意の数のノード１０８（例えば、ゼロ個のノード、１つのノード、または２つ以上のノード）は各々、図１にアイコンＰＭＣＸによって示すように、それぞれマルチコアハードウェア（例えば、マルチコアプロセッサまたは別のタイプの並列プロセッサ）を含み得る。ノード１０８の少なくともいくつかは、そのそれぞれのプロセッサＰＭＣＸのコアの１つを、リアルタイムデータをそのノードでキャッシュするため、およびそのキャッシュされたデータをプロセス制御システムビッグデータアプライアンス１０２での格納のために伝送させるために指定し得る。追加または代替として、ノード１０８の少なくともいくつかは、そのそれぞれのマルチコアプロセッサＰＭＣＸの複数のコアの２つ以上を、リアルタイムデータをキャッシュするために指定し得る。リアルタイムデータをキャッシュするため（および、いくつかの場合には、キャッシュされたデータをビッグデータアプライアンス１０２で格納させるため）の１つ以上の指定されたコアは、そのようなものとして排他的に指定され得る（例えば、１つ以上の指定されたコアは、ビッグデータのキャッシュおよび伝送に関連した処理を除いて他の処理を実行しない可能性がある）。具体的には、ノード１０８の少なくともいくつかは、プロセスプラント１０内のプロセスを制御するための操作を実行するためにそのコアの１つを指定し得る。追加または代替として、１つ以上のコアは、プロセスを制御するための操作を実行するために排他的に指定され得、ビッグデータをキャッシュおよび伝送するために使用されない可能性がある。異なるタイプまたは技術のマルチコアプロセッサＰＭＣＸが、ノード１０８のセットにわたって、またはノード１０８のセットのノードのサブセットにわたって、利用され得ることを理解されたい。ノード１１０、１１２の全ておよび任意の数のノード１１５は、何らかのタイプのマルチコアプロセッサＰＭＣＸを含み得る。
【００３０】
図１はノード１０８を各々がマルチコアプロセッサＰＭＣＸおよび高密度メモリＭＸの両方を含むとして示しているが、ノード１０８の各々は、マルチコアプロセッサＰＭＣＸおよび高密度メモリＭＸの両方を含む必要はないことに留意されたい。例えば、ノード１０８のいくつかは、マルチコアプロセッサＰＭＣＸのみを含んで高密度メモリＭＸを含まない可能性があり、ノード１０８のいくつかは、高密度メモリＭＸのみを含んでマルチコアプロセッサＰＭＣＸを含まない可能性があり、ノード１０８のいくつかは、マルチコアプロセッサＰＭＣＸおよび高密度メモリＭＸの両方を含む可能性があり、かつ／またはノード１０８のいくつかは、マルチコアプロセッサＰＭＣＸおよび高密度メモリＭＸのいずれも含まない可能性がある。
【００３１】
プロバイダノードまたは装置１１０によってキャッシュまたは収集され得るリアルタイムデータの例は、測定データ、構成データ、バッチデータ、事象データ、保守データ、および／または連続データを含み得る。例えば、構成、バッチレシピ、設定点、出力、レート、制御動作、診断、アラーム、事象および／またはそれらに対する変更に対応するリアルタイムデータが収集され得る。リアルタイムデータの他の例は、プロセスモデル、統計値、状態データ、ならびにネットワークおよびプラント管理データを含み得る。
【００３２】
ユーザーインタフェースノードまたは装置１１２がキャッシュまたは収集し得るリアルタイムデータの例は、例えば、ユーザーログイン、ユーザークエリー、ユーザーによって（例えば、カメラ、音声、またはビデオ記録装置によって）捕捉されたデータ、ユーザー命令、ファイルの作成、修正または削除、ユーザーインタフェースノードまたは装置の物理的または空間的位置、ユーザーインタフェース装置１１２によって実行された診断またはテストの結果、およびユーザーインタフェースノード１１２とやりとりしているユーザーによって開始されたか、またはユーザーに関連した他の動作もしくは活動を含み得る。
【００３３】
収集されたデータは、動的または静的データであり得る。収集されたデータは、例えば、データベースデータ、ストリーミングデータ、および／またはトランザクションデータを含み得る。一般に、ノード１０８が生成、受信、または観察する任意のデータは、対応するタイムスタンプまたは収集／キャッシュの時刻の表示と共に収集またはキャッシュされ得る。いくつかの場合には、ノード１０８が生成、受信、または観察する全てのデータは、各データの収集／キャッシュの時刻のそれぞれの表示（例えば、タイムスタンプ）と共にそのメモリ記憶（例えば、高密度メモリ記憶ＭＸ）内に収集またはキャッシュされる。
【００３４】
ノード１１０、１１２の各々（および、任意選択で、他のノード１１５の少なくとも１つ）は、リアルタイムデータを自動的に収集またはキャッシュして、損失の多いデータ圧縮、データサブサンプリング、またはデータ収集を目的としたノードの構成を要求することなく、その収集／キャッシュしたデータをビッグデータアプライアンス１０２に、および／または他のノード１０８に、配信させるように構成され得る。従来技術のプロセス制御システムとは異なり、プロセス制御システムビッグデータネットワーク１００のノードまたは装置１０８で収集されるデータの識別は、事前に装置１０８内に構成される必要がない。さらに、データがノード１０８で収集されて、ノード１０８から配信されるレートも、構成、選択、または定義される必要がない。代わりに、プロセス制御ビッグデータシステム１００のノード１１０、１１２（および、任意選択で、他のノード１１５の少なくとも１つ）は、そのノードによって生成されるか、そのノードで受信されるか、またはそのノードによって取得される全てのデータを、そのデータが生成、受信または取得されるレートで、自動的に収集し得、その収集したデータを高忠実度で（例えば、損失の多いデータ圧縮または元の情報の損失を生じ得る任意の他の技術を使用することなく）プロセス制御ビッグデータアプライアンス１０２に、および、任意選択で、ネットワーク１００の他のノード１０８に配信させ得る。
【００３５】
プロセス制御ビッグデータネットワークバックボーン１０５に接続されたプロバイダノード例１１０を示す詳細なブロック図を図２に示す。前述のように、プロバイダノード１１０は、その主要な機能が、プロセスプラント環境１０内のプロセスをリアルタイムで制御する機能を実行するために使用されるプロセス制御データを自動的に生成および／または受信することである装置、例えば、プロセスコントローラ、フィールド装置およびＩ／Ｏ装置など、を含み得る。プロセスプラント環境１０では、プロセスコントローラは、フィールド装置によって行われたプロセス測定を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プラント１０内のプロセスの動作を制御するために、有線または無線通信リンクを経由して他のフィールド装置に送信される制御信号を生成する。典型的には、少なくとも１つのフィールド装置は、プロセスの動作を制御するために、物理的な機能（例えば、弁の開放または閉鎖、温度の上昇または低下など）を実行し、いくつかのタイプのフィールド装置は、Ｉ／Ｏ装置を使用してコントローラと通信し得る。プロセスコントローラ、フィールド装置、およびＩ／Ｏ装置は、有線または無線であり得、任意の数および組合せの有線および無線のプロセスコントローラ、フィールド装置およびＩ／Ｏ装置が、プロセス制御ビッグデータネットワーク１００のノード１１０であり得る。
【００３６】
図２は、有線フィールド装置１５〜２２に入力／出力（Ｉ／Ｏ）カード２６および２８を経由して通信可能に接続され、かつ無線フィールド装置４０、４２、４４、４６に無線ゲートウェイ３５およびネットワークバックボーン１０５を経由して通信可能に接続されている、コントローラ１１を示す。（いくつかの場合には、コントローラ１１は、別の有線または無線通信リンクを使用してなど、バックボーン１０５以外の通信ネットワークを使用して無線ゲートウェイ３５に通信可能に接続し得る）。図２では、コントローラ１１は、プロセス制御システムビッグデータネットワーク１００のノード１１０であるとして示され、プロセス制御ビッグデータネットワークバックボーン１０５に直接接続される。
【００３７】
コントローラ１１は、例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されているＤｅｌｔａＶ（商標）コントローラであり得るが、フィールド装置１５〜２２および４０〜４６の少なくともいくつかを使用して、バッチプロセスまたは連続プロセスを実装するために動作し得る。コントローラ１１は、例えば、標準的な４〜２０ｍＡ装置、Ｉ／Ｏカード２６、２８、および／または、ＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスプロトコル、ＨＡＲＴ（登録商標）プロトコル、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）プロトコルなどの任意のスマート通信プロトコルと関連した任意の所望のハードウェアおよびソフトウェアを使用して、フィールド装置１５〜２２および４０〜４６に通信可能に接続し得る。コントローラ１１は、追加または代替として、ビッグデータネットワークバックボーン１０５を使用して、フィールド装置１５〜２２および４０〜４６の少なくともいくつかと通信可能に接続し得る。図２に示すシステムでは、コントローラ１１、フィールド装置１５〜２２およびＩ／Ｏカード２６、２８は有線装置であり、フィールド装置４０〜４６は無線フィールド装置である。言うまでもなく、有線フィールド装置１５〜２２および無線フィールド装置４０〜４６は、将来開発される任意の規格またはプロトコルを含む、任意の有線または無線のプロトコルなどの、任意の他の所望の規格（複数可）またはプロトコルに準拠するであろう。
【００３８】
図２のコントローラ１１は、（メモリ３２内に格納された）１つ以上のプロセス制御ルーチンを実装または監督するプロセッサ３０を含み、１つ以上のプロセス制御ルーチンは、制御ループを含み得る。プロセッサ３０は、フィールド装置１５〜２２および４０〜４６と、ならびにバックボーン１０５に通信可能に接続されている他のノード（例えば、ノード１１０、１１２、１１５）と通信し得る。本明細書で説明する任意の制御ルーチンまたはモジュール（品質予測および故障検出モジュールまたは機能ブロックを含む）は、そのように所望であれば、異なるコントローラまたは他の装置によって実装または実行される部分を有し得ることに留意すべきである。同様に、プロセス制御システム１０内で実装される、本明細書で説明する制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアなどを含む、任意の形式を取り得る。制御ルーチンは、例えば、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図を使用して、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用してなど、任意の所望のソフトウェアフォーマットで実装され得る。制御ルーチンは、ランダムアクセスメモリ（ＲＡＭ）、または読取り専用メモリ（ＲＯＭ）などの、任意の所望のタイプのメモリに格納され得る。同様に、制御ルーチンは、例えば、１つ以上のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、または任意の他のハードウェアもしくはファームウェア要素にハードコード化され得る。このようにして、コントローラ１１は、制御ストラテジまたは制御ルーチンを任意の所望の方法で実装するように構成され得る。
【００３９】
コントローラ１１はまた、一般に機能ブロックと呼ばれるものを使用して制御ストラテジを実装し得、各機能ブロックは制御ルーチン全体のオブジェクトまたは他の部分（例えば、サブルーチン）であって、プロセス制御システム１０内のプロセス制御ループを実装するために（リンクと称される通信を介して）他の機能ブロックと連動して動作する。制御ベースの機能ブロックは、通常、（送信器、センサーまたは他のプロセスパラメータ測定装置と関連付けられるような）入力機能、（ＰＩＤ、ファジー論理などの制御を実行する制御ルーチンと関連付けられるような）制御機能、またはプロセス制御システム１０内の何らかの物理的な機能を実行するために、弁などの何らかの装置の動作を制御する出力機能のうちの１つを実行する。言うまでもなく、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ１１によって格納および実行され得、それは、典型的には、これらの機能ブロックが、標準的な４〜２０ｍＡ装置およびＨＡＲＴ装置などのいくつかのタイプのスマートフィールド装置に対して使用されるか、もしくはそれらと関連付けられる場合の事例であり、または、機能ブロックは、フィールド装置自体によって格納および実装され得、それは、フィールドバス装置の場合に当てはまり得る。コントローラ１１は、１つ以上の制御ループを実装し得る１つ以上の制御ルーチン３８を含み得る。各制御ループは、通常、制御モジュールと呼ばれて、機能ブロックの１つ以上を実行することにより実行され得る。
【００４０】
有線フィールド装置１５〜２２は、センサー、弁、送信器、ポジショナなどの任意のタイプの装置であり得、他方、Ｉ／Ｏカード２６および２８は、任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのＩ／Ｏ装置であり得る。図２に示すように、フィールド装置１５〜１８は、Ｉ／Ｏカード２６へのアナログ回線またはアナログとデジタル回線の組合せを介して通信する、標準的な４〜２０ｍＡ装置またはＨＡＲＴ装置であるが、他方、フィールド装置１９〜２２は、フィールドバス通信プロトコルを使用し、Ｉ／Ｏカード２８へのデジタルバスを介して通信する、ＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールド装置などのスマート装置である。しかし、他の実施態様では、有線フィールド装置１５〜２２の少なくともいくつか、および／またはＩ／Ｏカード２６、２８の少なくともいくつかは、ビッグデータネットワークバックボーン１０５を使用して、コントローラ１１と通信し得る。さらに、有線フィールド装置１５〜２２の少なくともいくつか、および／またはＩ／Ｏカード２６、２８の少なくともいくつかは、プロセス制御システムビッグデータネットワーク１００のノードであり得る。
【００４１】
図２に示すシステムでは、無線フィールド装置４０〜４６は、ＷｉｒｅｌｅｓｓＨＡＲＴプロトコルなどの、無線プロトコルを使用して、無線ネットワーク７０内で通信する。かかる無線フィールド装置４０〜４６は、（例えば、無線プロトコルを使用して）無線で通信するようにも構成されるプロセス制御ビッグデータネットワーク１００の１つ以上の他のノード１０８と直接通信し得る。無線で通信するように構成されていない１つ以上の他のノード１０８と通信するために、無線フィールド装置４０〜４６は、バックボーン１０５に、または別のプロセス制御通信ネットワークに接続された無線ゲートウェイ３５を利用し得る。いくつかの場合には、無線フィールド装置４０〜４６の少なくともいくつかは、プロセス制御システムビッグデータネットワーク１００のノードであり得る。
【００４２】
無線ゲートウェイ３５は、無線通信ネットワーク７０の様々な無線装置４０〜５８へのアクセスを提供し得るプロバイダ装置１１０の一例である。具体的には、無線ゲートウェイ３５は、無線装置４０〜５８、有線装置１１〜２８、および／またはプロセス制御ビッグデータネットワーク１００の他のノード１０８（図２のコントローラ１１を含む）の間に通信結合を提供する。例えば、無線ゲートウェイ３５は、ビッグデータネットワークバックボーン１０５を使用することにより、および／またはプロセスプラント１０の１つ以上の他の通信ネットワークを使用することにより、通信結合を提供し得る。
【００４３】
無線ゲートウェイ３５は、いくつかの場合には、有線および無線プロトコルスタックの１つの共有層または複数の層にトンネリングしながら、有線および無線プロトコルスタックの下位層へのルーティング、バッファリング、およびタイミングサービス（例えば、アドレス変換、ルーティング、パケット分割、優先順位付けなど）により通信結合を提供する。他の場合には、無線ゲートウェイ３５は、どのプロトコル層も共有しない、有線プロトコルと無線プロトコルとの間でコマンドを翻訳し得る。プロトコルおよびコマンド変換に加え、無線ゲートウェイ３５は、無線ネットワーク７０内に実装された無線プロトコルと関連付けられたスケジューリングスキームのタイムスロットおよびスーパーフレーム（時間的に等離間された通信タイムスロットのセット）によって使用される、同期クロックを提供し得る。さらに、無線ゲートウェイ３５は、資源管理、性能調節、ネットワーク障害緩和、トラフィック監視、セキュリティ、および同様のものなどの、無線ネットワーク７０のためのネットワーク管理および管理機能を提供し得る。無線ゲートウェイ３５は、プロセス制御システムビッグデータネットワーク１００のノード１１０であり得る。
【００４４】
有線フィールド装置１５〜２２と同様に、無線ネットワーク７０の無線フィールド装置４０〜４６は、プロセスプラント１０内の物理的な制御機能、例えば、弁の開放もしくは閉鎖、またはプロセスパラメータの測定を実行し得る。しかし、無線フィールド装置４０〜４６は、ネットワーク７０の無線プロトコルを使用して通信するように設定される。そのため、無線フィールド装置４０〜４６、無線ゲートウェイ３５、および無線ネットワーク７０の他の無線ノード５２〜５８は、無線通信パケットの生産者および消費者である。
【００４５】
いくつかのシナリオでは、無線ネットワーク７０は、非無線装置を含み得る。例えば、図２のフィールド装置４８は、レガシーの４〜２０ｍＡ装置であり得、フィールド装置５０は、従来の有線ＨＡＲＴ装置であり得る。ネットワーク７０内で通信するために、フィールド装置４８および５０は、無線アダプタ（ＷＡ）５２ａまたは５２ｂを介して、無線通信ネットワーク７０に接続され得る。追加として、無線アダプタ５２ａ、５２ｂは、例えば、Ｆｏｕｎｄａｔｉｏｎ（登録商標）Ｆｉｅｌｄｂｕｓ、ＰＲＯＦＩＢＵＳ、ＤｅｖｉｃｅＮｅｔなどの他の通信プロトコルをサポートし得る。さらに、無線ネットワーク７０は、１つ以上のネットワークアクセスポイント５５ａ、５５ｂを含み得、それらは、無線ゲートウェイ３５と有線通信する別個の物理装置であり得るか、または一体型装置として無線ゲートウェイ３５とともに提供され得る。無線ネットワーク７０は、無線通信ネットワーク７０内のある無線装置から別の無線装置にパケットを転送するために、１つ以上のルーター５８も含み得る。無線装置３２〜４６および５２〜５８は、無線通信ネットワーク７０の無線リンク６０を経由して、相互に、および無線ゲートウェイ３５と通信し得る。
【００４６】
それに応じて、図２は、主に、ネットワークルーティング機能および管理をプロセス制御システムの様々なネットワークに提供する働きをする、プロバイダ装置１１０のいくつかの例を含む。例えば、無線ゲートウェイ３５、アクセスポイント５５ａ、５５ｂ、およびルーター５８は、無線通信ネットワーク７０内で無線パケットをルーティングする機能を含む。無線ゲートウェイ３５は、無線ネットワーク７０に対するトラフィック管理および管理機能を実行し、かつ、無線ネットワーク７０と通信可能に接続する、有線ネットワークへの、および有線ネットワークからの、トラフィックをルーティングする。無線ネットワーク７０は、ＷｉｒｅｌｅｓｓＨＡＲＴなどの、プロセス制御メッセージおよび機能を特にサポートする、無線プロセス制御プロトコルを利用し得る。
【００４７】
しかし、プロセス制御ビッグデータネットワーク１００のプロバイダノード１１０は、他の無線プロトコルを使用して通信する、他のノードも含み得る。例えば、プロバイダノード１１０は、ＷｉＦｉまたは他のＩＥＥＥ  ８０２．１１準拠の無線ローカルエリアネットワークプロトコルなどの他の無線プロトコル、ＷｉＭＡＸ（ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス）、ＬＴＥ（ロング・ターム・エボリューション）、もしくは他のＩＴＵ−Ｒ（国際電気通信連合無線通信部門）準拠プロトコルなどのモバイル通信プロトコル、近距離無線通信（ＮＦＣ）およびＢｌｕｅｔｏｏｔｈなどの短波無線通信、または他の無線通信プロトコルを利用する、１つ以上の無線アクセスポイント７２を含み得る。典型的には、かかる無線アクセスポイント７２は、ハンドヘルドまたは他の携帯用コンピューティング装置（例えば、ユーザーインタフェース装置１１２）が、無線ネットワーク７０とは異なっていて、無線ネットワーク７０と異なる無線プロトコルをサポートする、それぞれの無線ネットワークを経由して、通信することを可能にする。いくつかのシナリオでは、携帯用コンピューティング装置に加えて、１つ以上のプロセス制御装置（例えば、コントローラ１１、フィールド装置１５〜２２、または無線装置３５、４０〜５８）も、アクセスポイント７２によってサポートされる無線プロトコルを使用して通信し得る。
【００４８】
追加または代替として、プロバイダノード１１０は、接近したプロセス制御システム１０の外部のシステムへの１つ以上のゲートウェイ７５、７８を含み得る。典型的には、かかるシステムは、プロセス制御システム１０によって生成または操作される情報の顧客または供給者である。例えば、プラントゲートウェイノード７５は、近接したプロセスプラント１０（それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーン１０５を有する）を、それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーンを有する別のプロセスプラントと通信可能に接続し得る。所望であれば、単一のプロセス制御ビッグデータネットワークバックボーン１０５が、複数のプロセスプラントまたはプロセス制御環境に対応し得る。
【００４９】
別の例では、プラントゲートウェイノード７５は、近接したプロセスプラント１０を、プロセス制御ビッグデータネットワーク１００またはバックボーン１０５を含まないレガシーのまたは従来技術のプロセスプラントに通信可能に接続し得る。この例では、プラントゲートウェイノード７５は、プラント１０のプロセス制御ビッグデータバックボーン１０５によって利用されるプロトコルと、レガシーシステムによって利用される異なるプロトコル（例えば、イーサネット、Ｐｒｏｆｉｂｕｓ、Ｆｉｅｌｄｂｕｓ、ＤｅｖｉｃｅＮｅｔなど）との間のメッセージを変換または翻訳し得る。
【００５０】
プロバイダノード１１０は、１つ以上の外部システムゲートウェイノード７８を含み、プロセス制御ビッグデータネットワーク１００を、例えば、実験室システム（例えば、実験室情報管理システムまたはＬＩＭＳ）、オペレータ巡回データベース、運搬管理システム、保守管理システム、製品在庫制御システム、生産スケジューリングシステム、気象データシステム、出荷および取扱システム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムなどの、外部の公共またはプライベートシステムのネットワークと通信可能に接続し得る。
【００５１】
図２は、有限数のフィールド装置１５〜２２および４０〜４６を有する、単一のコントローラ１１を示す。所望であれば、プロセス制御ビッグデータネットワーク１１０のプロバイダノード１１０は、任意の数のコントローラ１１を含み得、コントローラ１１のいずれも、プラント１０内のプロセスを制御するために、任意の数の有線または無線フィールド装置１５〜２２、４０〜４６と通信し得る。さらに、プロセスプラント１０は、任意の数の無線ゲートウェイ３５、ルーター５８、ネットワークアクセスポイント５５、無線プロセス制御通信ネットワーク７０、無線アクセスポイント７２、および／またはゲートウェイ７５、７８も含み得る。
【００５２】
前述のように、プロバイダノード１１０のうちの１つ以上は、それぞれのマルチコアプロセッサＰＭＣＸ、それぞれの高密度メモリ記憶ＭＸ、またはそれぞれのマルチコアプロセッサＰＭＣＸおよびそれぞれの高密度メモリ記憶ＭＸの両方（図２にアイコンＢＤによって示す）を含み得る。各プロバイダノード１００は、データを収集およびキャッシュするために、そのメモリ記憶ＭＸ（および、任意選択で、そのフラッシュメモリ）を利用し得る。ノード１１０の各々は、そのキャッシュしたデータをプロセス制御システムビッグデータアプライアンス１０２に伝送させ得る。例えば、ノード１１０は、そのキャッシュ内のデータの少なくとも一部をビッグデータアプライアンス１０２に定期的に伝送させ得る。代替または追加として、ノード１１０は、そのキャッシュ内のデータの少なくとも一部をビッグデータアプライアンス１０２にストリームさせ得る。例えば、プロセス制御システムビッグデータアプライアンス１０２は、キャッシュまたは収集されたデータをノード１１０から配信するストリーミングサービスの加入者であり得、プロバイダノード１１０は、ストリーミングサービスをホストし得る。
【００５３】
バックボーン１０５との直接接続を有するノード１１０（例えば、コントローラ１１、プラントゲートウェイ７５、無線ゲートウェイ３５）に対して、それぞれのキャッシュまたは収集されたデータが、バックボーン１０５を介して、ノード１１０からプロセス制御ビッグデータアプライアンス１０２に直接伝送され得る。しかし、ノード１１０の少なくともいくつかに対して、収集および／またはキャッシングがレベル化または層化されて、プロセス制御ビッグデータアプライアンス１０２からさらに下流の（例えば、さらに遠い）ノードでキャッシュまたは収集されたデータが、さらに上流の（例えば、ビッグデータアプライアンス１０２により近い）ノードで中間的にキャッシュされるようになる。
【００５４】
層化またはレベル化されたデータキャッシングを示すために、シナリオ例を提供する。このシナリオ例では、図２を参照すると、フィールド装置２２は、それが生成または受信するプロセス制御データをキャッシュして、そのキャッシュの内容を、フィールド装置２２と、Ｉ／Ｏ装置２８またはコントローラ１１などの、プロセス制御ビッグデータアプライアンス１０２との間の通信経路内に含まれる「上流の」装置に配信させる。例えば、フィールド装置２２は、そのキャッシュの内容をＩ／Ｏ装置２８にストリームし得るか、またはフィールド装置２２は、そのキャッシュの内容をＩ／Ｏ装置２８に定期的に伝送し得る。Ｉ／Ｏ装置２８は、フィールド装置２２から受信した情報を、Ｉ／Ｏ装置２８が直接生成、受信および観察する他のデータと共に、そのメモリＭ５内にキャッシュする（および、いくつかの場合には、他の下流のフィールド装置１９〜２１から受信したデータもそのメモリＭ５内にキャッシュし得る）。Ｉ／Ｏ装置２８が収集およびキャッシュするデータは（フィールド装置２２のキャッシュの内容を含め）、次いで、上流のコントローラ１１に定期的に伝送および／またはストリームされ得る。同様に、コントローラ１１のレベルで、コントローラ１１は、下流の装置（例えば、Ｉ／Ｏカード２６、２８、および／またはフィールド装置１５〜２２のいずれか）から受信した情報をそのメモリＭ６内にキャッシュし、下流のデータを、コントローラ１１自体が直接生成、受信および観察するデータと共に、そのメモリＭ６内に、集計する。コントローラ１１は、次いで、その集計された収集またはキャッシュしたデータをプロセス制御ビッグデータアプライアンス１０２に定期的に配信および／またはストリームし得る。
【００５５】
層化またはレベル化されたキャッシングの第２のシナリオ例では、コントローラ１１は、有線フィールド装置（例えば、装置１５〜２２の１つ以上）および少なくとも１つの無線フィールド装置（例えば、無線フィールド装置４４）を使用してプロセスを制御する。この第２のシナリオ例の第１の実施態様では、無線装置４４でキャッシュまたは収集されたデータは、無線装置４４からコントローラ１１に（例えば、ビッグデータネットワーク１０５を介して）直接配信および／またはストリームされて、コントローラキャッシュＭ６で、コントローラ１１から下流にある他の装置またはノードからのデータと共に、格納される。コントローラ１１は、そのキャッシュＭ６内に格納されたデータをプロセス制御ビッグデータアプライアンス１０２に定期的に配信またはストリームし得る。
【００５６】
この第２のシナリオ例の別の実施態様では、無線装置４４でキャッシュまたは収集されたデータは、代替のレベル化または層化経路を経由して、例えば、装置４２ａ、ルーター５２ａ、アクセスポイント５５ａ、および無線ゲートウェイ３５を経由して、プロセス制御ビッグデータアプライアンス１０２に最終的に配信され得る。この場合、代替経路のノード４１ａ、５２ａ、５５ａまたは３５のうちの少なくともいくつかが、下流のノードからのデータをキャッシュし得、そのキャッシュしたデータをさらに上流にあるノードに定期的に配信またはストリームし得る。
【００５７】
その結果、プロセス制御システムビッグデータネットワーク１００は、異なる層化またはレベル化構成を使用して、異なるノードで異なるタイプのデータをキャッシュし得る。例えば、プロセスの制御に対応するデータは、その主要な機能が制御であるプロバイダ装置１１０（例えば、フィールド装置、Ｉ／Ｏカード、コントローラ）を使用して、層化された方法でキャッシュおよび配信され得、一方、ネットワークトラフィック測定に対応するデータは、その主要な機能がトラフィック管理であるプロバイダ装置１１０（例えば、ルーター、アクセスポイント、およびゲートウェイ）を使用して、レベル化された方法でキャッシュおよび配信され得る。いくつかの場合には、データは、その主要な機能（および、いくつかのシナリオでは、唯一の機能）が下流の装置からのデータを収集およびキャッシュすることであるプロバイダノードまたは装置１１０（本明細書では「ヒストリアンノード」と呼ぶ）を介して配信され得る。例えば、ヒストリアンノードまたはコンピューティング装置のレベル化システムがネットワーク１００全体に配置され得、各ノード１１０は、キャッシュされたデータを同様のレベルのヒストリアンノードに、例えば、バックボーン１０５を使用して、定期的に配信またはストリームし得る。下流のヒストリアンノードは、キャッシュされたデータを上流のヒストリアンノードに配信またはストリームし得、最終的に、プロセス制御ビッグデータアプライアンス１０２のすぐ下流にあるヒストリアンノードがそれぞれのキャッシュされたデータを、プロセス制御ビッグデータアプライアンス１０２での格納のために、配信またはストリームし得る。
【００５８】
所望であれば、相互に通信するノード１１０は、プロセス制御システムビッグデータネットワークバックボーン１０５を使用して、層化されたキャッシングを実行し得、ノード１１０の少なくともいくつかは、キャッシュしたデータを異なるレベルの他のノード１１０に、別の通信ネットワークおよび／または他のプロトコル、例えば、ＨＡＲＴ、ＷｉｒｅｌｅｓｓＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、ＤｅｖｉｃｅＮｅｔ、ＷｉＦｉ、イーサネット、または他のプロトコルなどを使用して、伝達し得る。
【００５９】
レベル化または層化されたキャッシングを、プロバイダノード１１０に関して説明してきたが、言うまでもなく、その概念および技術は、プロセス制御システムビッグデータネットワーク１００のユーザーインタフェースノード１１２および／または他のタイプのノード１１５に等しく適用し得る。さらに、ノード１０８のあるサブセットは、レベル化または層化されたキャッシングを実行し得るが、ノード１０８の別のサブセットは、それらのキャッシュ／収集したデータを、中間ノードでキャッシュまたは一時的に格納させることなく、プロセス制御ビッグデータアプライアンス１０２に直接配信させ得る。所望であれば、ヒストリアンノードは、複数の異なるタイプのノードから、例えば、プロバイダノード１１０から、およびユーザーインタフェースノード１１２から、データをキャッシュし得る。
【００６０】
プロセス制御システムビッグデータネットワークバックボーン
【００６１】
図１を再度参照すると、プロセス制御システムビッグデータネットワークバックボーン１０５は、パケットを、プロセス制御システムビッグデータネットワーク１００の様々なノード１０８へ／から、および（それ自体がプロセス制御システムビッグデータネットワーク１００のノードである）プロセス制御ビッグデータアプライアンス１０２へ／から、ルーティングするように構成されている、複数のネットワーク化されたコンピューティング装置またはスイッチを含み得る。バックボーン１０５の複数のネットワーク化されたコンピューティング装置は、任意の数の無線および／または有線リンクによって相互接続され得る。プロセス制御システムビッグデータネットワークバックボーン１０５は、追加として、１つ以上のファイアウォール装置を含み得る。
【００６２】
ビッグデータネットワークバックボーン１０５は、１つ以上の適切なルーティングプロトコル、例えば、インターネットプロトコル（ＩＰ）スイートに含まれるプロトコル（例えば、ＵＤＰ（ユーザーデータグラムプロトコル）、ＴＣＰ（伝送制御プロトコル）、イーサネットなど）、または他の適切なルーティングプロトコル、をサポートし得る。ノード１０８の少なくともいくつかは、キャッシュされたデータをノードからプロセス制御ビッグデータアプライアンス１０２へネットワークバックボーン１０５を介してストリームするために、ストリームコントロールトランスミッションプロトコル（ＳＣＴＰ）などのストリーミングプロトコルを利用し得る。典型的には、プロセスデータビッグデータネットワーク１００内に含まれる各ノード１０８は、バックボーン１０５によってサポートされるルーティングプロトコル（複数可）の少なくともアプリケーション層（および、いくつかのノードに対して、追加の層）をサポートし得る。各ノード１０８は、プロセス制御システムビッグデータネットワーク１００内で、例えば、一意のネットワークアドレスにより、一意に識別され得る。
【００６３】
プロセス制御システムビッグデータネットワーク１００の少なくとも一部は、アドホックネットワークであり得る。そのため、ノード１０８の少なくともいくつかは、アドホックな方法でネットワークバックボーン１０５に（または、ネットワーク１００の別のノードに）接続し得る。通常、ネットワーク１００に加わることを要求する各ノードは、認証される必要があり、認証については後の節でさらに詳細に説明する。
【００６４】
プロセス制御システムビッグデータアプライアンス
【００６５】
引き続き図１を参照すると、ビッグデータプロセス制御ネットワーク例１００では、プロセス制御ビッグデータ装置またはアプライアンス１０２は、ネットワーク１００内に集中されて、ネットワーク１００のノード１０８から（例えば、ストリーミングを介して、および／または何らかの他のプロトコルを介して）データを受信し、その受信したデータを格納するように構成される。そのため、プロセス制御ビッグデータ装置またはアプライアンス１０２は、ノード１０８、複数のアプライアンスデータ受信装置１２２、および複数のアプライアンス要求サービサー１２５から受信されるデータを履歴化または格納するためのデータ記憶領域１２０を含み得る。プロセス制御ビッグデータアプライアンス１０２のこれらの構成要素１２０、１２２、１２５の各々については、以下でさらに詳細に説明する。
【００６６】
プロセス制御システムビッグデータ記憶領域１２０は、例えば、ＲＡＩＤ（独立ディスクの冗長アレイ）記憶、クラウド記憶、またはデータバンクもしくはデータセンター記憶に適した任意の他の適切なデータ記憶技術などの、複数の物理的データドライブまたは記憶エンティティを含み得る。しかし、データ記憶領域１２０は、ネットワーク１００のノード１０８に対して、単一もしくは一体型論理データ記憶領域またはエンティティの外観を有する。そのため、データ記憶１２０は、プロセス制御ビッグデータネットワーク１００のための、またはプロセスプラント１０のための集中型ビッグデータ記憶領域１２０として見なされ得る。いくつかの場合には、単一の論理集中型データ記憶領域１２０は、複数のプロセスプラント（例えば、プロセスプラント１０および別のプロセスプラント）に対応し得る。例えば、集中型データ記憶領域１２０は、エネルギー企業のいくつかの精製所に対応し得る。所望であれば、集中型データ記憶領域１２０は、直接、バックボーン１０５に、例えば、少なくとも１つの高帯域幅通信リンクを介して、接続され得る。追加として、集中型データ記憶領域１２０は、統合ファイアウォールを含み得る。
【００６７】
一体型論理データ記憶領域１２０の構造は、全てのプロセス制御システム関連データの格納をサポートし得る。例えば、データ記憶エンティティの各エントリ、データ点、または観察値は、データの識別の表示（例えば、供給源、装置、タグ、位置など）、データの内容（例えば、測定値、値など）、およびデータが収集、生成、作成、受信、または観察された時間を示すタイムスタンプを含み得る。そのため、これらのエントリ、データ点、または観察値は、本明細書では、「時系列データ」と呼ばれる。データは、例えば、拡張性のある記憶、ストリーム化されたデータ、および低遅延クエリーをサポートするスキーマを含む、共通フォーマットを使用して、データ記憶領域１２０内に格納され得る。
【００６８】
所望であれば、スキーマは、複数の観察値を各行内に格納し、カスタムハッシュを備えた行キーを使用して、行内のデータをフィルタ処理することを含み得る。ハッシュは、タイムスタンプおよびタグに基づき得る。例えば、ハッシュは、タイムスタンプの丸められた値であり得、タグは、プロセス制御システムの、またはそれに関連する事象またはエンティティに対応し得る。追加として、データ記憶領域１２０は、各行または行のグループに対応するメタデータも、時系列データと一体的に、または時系列データとは別個に、のいずれかで、格納し得る。例えば、メタデータは、時系列データとは別個に、スキーマレス方式で格納され得る。
【００６９】
データをアプライアンスデータ記憶１２０で格納するために使用されるスキーマは、ノード１０８の少なくとも１つのキャッシュＭＸ内にデータを格納するためにも利用され得る。それに応じて、スキーマは、データが、ノード１０８のローカル記憶領域ＭＸから、バックボーン１０５を渡って、プロセス制御システムビッグデータアプライアンスデータ記憶１２０に伝送される場合に、維持され得る。
【００７０】
データ記憶１２０に加えて、プロセス制御システムビッグデータアプライアンス１０２はさらに、１つ以上のアプライアンスデータ受信装置１２２を含み得、その各々は、データパケットをバックボーン１０５から受信し、データパケットを処理して、その中に含まれる実質的データおよびタイムスタンプを取得し、その実質的データおよびタイムスタンプをデータ記憶領域１２０内に格納するように構成される。アプライアンスデータ受信装置１２２は、例えば、複数のコンピューティング装置またはスイッチ上に常駐し得る。複数のアプライアンスデータ受信装置１２２（および／または少なくとも１つのデータ受信装置１２２の複数のインスタンス）は、複数のデータパケットについて並行して動作し得る。
【００７１】
受信されたデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０によって利用されるスキーマを含む場合、アプライアンスデータ受信装置１２２は、データ記憶領域１２０の追加のエントリまたは観察値をスキーマ情報と共に取り込み得る（および、所望であれば、対応するメタデータを任意選択で格納し得る）。対照的に、受信されたデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０によって利用されるスキーマを含まない場合、アプライアンスデータ受信装置１２２は、パケットを復号して、プロセス制御ビッグデータアプライアンスデータ記憶領域１２０の時系列データ観察値またはデータ点（および、任意選択で、対応するメタデータ）を取り込み得る。
【００７２】
追加として、プロセス制御システムビッグデータアプライアンス１０２は、１つ以上のアプライアンス要求サービサー１２５を含み得、その各々は、例えば、要求しているエンティティまたはアプリケーションの要求毎に、プロセス制御システムビッグデータアプライアンス記憶１２０内に格納された時系列データおよび／またはメタデータにアクセスするように構成される。アプライアンス要求サービサー１２５は、例えば、複数のコンピューティング装置またはスイッチ上に常駐し得る。アプライアンス要求サービサー１２５およびアプライアンスデータ受信装置１２２の少なくともいくつかは、（例えば、一体型装置上の）同一のコンピューティング装置もしくは複数の装置上に常駐し得るか、または統合アプリケーション内に含まれる。
【００７３】
複数のアプライアンス要求サービサー１２５（および／または少なくとも１つのアプライアンス要求サービサー１２５の複数のインスタンス）は、複数の要求しているエンティティまたはアプリケーションからの複数の要求に関して、並行して動作し得る。そのため、単一のアプライアンス要求サービサー１２５は、単一のエンティティもしくはアプリケーションからの複数の要求、またはアプリケーションの異なるインスタンスからの複数の要求などの、複数の要求に対応し得る。
【００７４】
図３および図４は、プロセス制御システムビッグデータアプライアンス１０２のアプライアンスデータ受信装置１２２およびアプライアンス要求サービサー１２５が実装し得るさらなる技術を示すブロック図例である。
【００７５】
図３は、データ（例えば、ストリーム化されたデータ）を、格納および履歴化のために、プロセス制御ビッグデータネットワーク１００のノード１０８から、ビッグデータアプライアンス１０２に転送するために、アプライアンスデータ受信装置１２２の使用を示すブロック図例である。図３は、図１の４つのノード例１０８、すなわち、コントローラ１１、ユーザーインタフェース装置１２、無線ゲートウェイ３５、および第三者の機械またはネットワーク７８へのゲートウェイを示す。しかし、図３に関して説明する技術および概念は、任意のタイプおよび任意の数のノード１０８に適用され得る。追加として、図３は、３つのアプライアンスデータ受信装置１２２ａ、１２２ｂおよび１２２ｃのみを示しているが、図３に対応する技術および概念は、任意のタイプおよび任意の数のアプライアンスデータ受信装置１２２に適用され得る。
【００７６】
図３に示すように、ノード１１、１２、３５および７８の各々は、ノード１１、１２、３５および７８によって生成、受信またはそうでなければ観察されるデータを捕捉するために、スキャナーＳ１１、Ｓ１２、Ｓ３５、Ｓ７８を含む。それぞれのノード１１、１２、３５、７８のそれぞれのプロセッサＰＭＣＸは、各スキャナーＳ１１、Ｓ１２、Ｓ３５、Ｓ７８の機能を実行し得る。スキャナーＳ１１、Ｓ１２、Ｓ３５、Ｓ７８は、捕捉したデータおよび対応するタイムスタンプを、例えば、前述のような方法で、それぞれのローカルメモリＭ１１、Ｍ１２、Ｍ３５、Ｍ７８内に一時的に格納またはキャッシュさせ得る。そのため、捕捉したデータは、時系列データまたはリアルタイムデータを含む。メモリＭ１１、Ｍ１２、Ｍ３５、およびＭ７８の各々は、プロセス制御ビッグデータ記憶領域１２０によって利用されるスキーマを使用して、捕捉したデータを格納およびキャッシュし得る。
【００７７】
各ノード１１、１２、３５および７８は、キャッシュしたデータの少なくとも一部を１つ以上のアプライアンスデータ受信装置１２２ａ〜１２２ｃに（例えば、ネットワークバックボーン１０５を使用して）伝送し得る。例えば、少なくとも１つのノード１１、１２、３５、７８は、キャッシュが特定の閾値まで満たされると、データの少なくとも一部をそのそれぞれのメモリＭＸからプッシュ型配信し得る。キャッシュの閾値は、調整可能であり得、少なくとも１つのノード１１、１２、３５、７８は、資源（例えば、ネットワーク１０５の帯域幅、プロセッサＰＭＣＸ、または何らかの他の資源）が十分に利用可能である場合、データの少なくとも一部をそのそれぞれのメモリＭＸからプッシュ型配信し得る。特定の資源の可用性閾値は調整可能であり得る。
【００７８】
さらに、少なくとも１つのノード１１、１２、３５、７８は、メモリＭＸ内に格納されたデータの少なくとも一部を定期的な間隔でプッシュ型配信し得る。データがプッシュ型配信される特定の時間間隔の周期性は、データのタイプ、プッシュ型配信しているノードのタイプ、プッシュ型配信しているノードの位置、および／または他の基準に基づき得る。特定の時間間隔の周期性は、調整可能であり得、少なくとも１つのノード１１、１２、３５、７８は、（例えば、プロセス制御ビッグデータアプライアンス１０２からの）要求に応答してデータを提供し得る。
【００７９】
ノード１１、１２、３５、７８のうちの少なくとも１つは、データが各ノード１１、１２、３５、７８によって生成、受信またはそうでなければ観察されると、データの少なくとも一部をリアルタイムでストリームし得る（例えば、ノードは、データを一時的に格納もしくはキャッシュしない可能性があるか、または、ノードがストリーミングのためにデータを処理するのに必要な限り、データを格納し得る）。例えば、ノード１１、１２、３５、７８のうちの少なくとも１つは、データの少なくとも一部を、ストリーミングプロトコルを使用して、１つ以上のアプライアンスデータ受信装置１２２にストリームし得る。従って、ノード１１、１２、３５、７８は、ストリーミングサービスをホストし得、データ受信装置１２２の少なくとも１つおよび／またはデータ記憶領域１２０は、ストリーミングサービスに加入し得る。
【００８０】
その結果、伝送されたデータは、１つ以上のアプライアンスデータ受信装置１２２ａ〜１２２ｃによって、例えば、ネットワークバックボーン１０５を介して受信され得る。特定のアプライアンスデータ受信装置１２２は、１つ以上の特定のノードからデータを受信するように指定され得るか、または特定のアプライアンスデータ受信装置１２２は、１つ以上の特定タイプの装置（例えば、コントローラ、ルーター、またはユーザーインタフェース装置）のみからデータを受信するように指定され得る。さらに、特定のアプライアンスデータ受信装置１２２は、１つ以上の特定タイプのデータのみ（例えば、ネットワーク管理データのみ、またはセキュリティ関連データのみ）を受信するように指定され得る。
【００８１】
アプライアンスデータ受信装置１２２ａ〜１２２ｃは、ビッグデータアプライアンス記憶領域１２０にデータを格納または履歴化させ得る。例えば、データ記憶領域１２０は、アプライアンスデータ受信装置１２２ａ〜１２２ｃの各々によって受信されたデータをプロセス制御ビッグデータスキーマを使用して格納し得る。図３に示すように、時系列データ１２０ａは、対応するメタデータ１２０ｂとは別に格納されるが、いくつかの実施態様では、メタデータ１２０ｂの少なくとも一部は、時系列データ１２０ａと共に一体的に格納され得る。
【００８２】
データ記憶領域１２０は、複数の供給源からのデータが（例えば、データ記憶領域１２０の同じ行のグループに）結合され得るように、複数のアプライアンスデータ受信装置１２２ａ〜１２２ｃを介して受信されるデータを統合し得る。複数のアプライアンスデータ受信装置１２２ａ〜１２２ｃを介して受信されるデータは、雑音および一貫性のないデータを除去するためにクリーニングされ得る。アプライアンスデータ受信装置１２２は、受信したデータが格納される前に、受信したデータの少なくとも一部について、データクリーニングおよび／もしくはデータ統合を実行し得、かつ／またはプロセス制御システムビッグデータアプライアンス１０２は、受信したデータが記憶領域１０２に格納された後に、受信したデータの一部または全部をクリーニングし得る。装置またはノード１１０、１１２、１１５は、データ内容に関連した追加のデータを伝送させ得、アプライアンスデータ受信装置１２２および／またはビッグデータアプライアンス記憶領域１２０は、この追加のデータを利用してデータクリーニングを実行し得る。ノード１１０、１１２、１１５がデータをビッグデータアプライアンス記憶領域１２０に格納のために伝送させる前に、ノード１１０、１１２、１１５は、少なくとも一部のデータを（少なくとも部分的に）クリーニングし得る。
【００８３】
図４は、ビッグデータアプライアンス１０２のデータ記憶領域１２０に格納された履歴化されたデータにアクセスするためのアプライアンス要求サービサー１２５の使用を図示するブロック図を示す。図４は、データリクエスタ１３０ａ〜１３０ｃまたはデータ分析エンジン１３２ａ〜１３２ｂなどの、要求しているエンティティまたはアプリケーションの要求毎に、各々が、時系列データ１２０ａおよび／またはメタデータ１２０ｂにアクセスするように構成されている、アプライアンス要求サービサーまたはサービス１２５ａ〜１２５ｅのセットを含む。図４は、５つのアプライアンス要求サービサー１２５ａ〜１２５ｅ、３つのデータリクエスタ１３０ａ〜１３０ｃ、および２つのデータ分析エンジン１３２ａ、１３２ｂを図示しているが、本明細書で図４に関して説明する技術および概念は、任意の数および任意のタイプのアプライアンス要求サービサー１２５、データリクエスタ１３０、および／またはデータ分析エンジン１３２に適用され得る。
【００８４】
アプライアンス要求サービサー１２５の少なくともいくつかは、各々、プロセス制御ビッグデータ記憶領域１２０に格納されたデータの少なくとも一部へのアクセスを要求する特定のサービスまたはアプリケーションを提供し得る。例えば、アプライアンス要求サービサー１２５ａは、データ分析サポートサービスであり得、アプライアンス要求サービサー１２５ｂは、データ傾向サポートサービスであり得る。プロセス制御システムビッグデータアプライアンス１０２によって提供され得るサービス１２５の他の例は、構成アプリケーションサービス１２５ｃ、診断アプリケーションサービス１２５ｄ、および拡張制御アプリケーションサービス１２５ｅを含み得る。拡張制御アプリケーションサービス１２５ｅは、例えば、モデル構築および他の目的のために履歴化されたデータを要求する、モデル予測制御、バッチデータ解析、連続データ解析または他のアプリケーションを含み得る。プロセス制御システムビッグデータアプライアンス１０２は、他のサービスまたはアプリケーション、例えば、通信サービス、管理サービス、設備管理サービス、プランニングサービス、および他のサービス、をサポートするために他の要求サービサー１２５を含み得る。
【００８５】
データリクエスタ１３０は、プロセス制御システムビッグデータアプライアンス記憶領域１２０内に格納されているデータへのアクセスを要求するアプリケーションであり得る。データリクエスタ１３０の要求に基づき、対応するデータがプロセス制御ビッグデータ記憶領域１２０から取得され得、リクエスタ１３０によって使用可能なデータ形式に変換および／または統合され得る。１つ以上のアプライアンス要求サービサー１２５は、要求されたデータの少なくとも一部について、データ取得および／またはデータ変換を実行し得る。ビッグデータアプライアンス１０２は、臨時に、および異なって繰り返しデータアクセスを要求するユーザーを介してなど、適宜データアクセス（ｃａｓｕａｌ  ｄａｔａ  ａｃｃｅｓｓ）をさらにサポートする。特に、ビッグデータアプライアンス１０２は、プロセス制御ビッグデータ記憶領域１２０へのより細かい粒度で多用途のアクセスを可能にする特権のあるＡＰＩをサポートし得る。
【００８６】
データリクエスタ１３０の少なくともいくつか、および／または要求サービサー１２５の少なくともいくつかは、プロセス制御システムビッグデータアプライアンス１０２によってホストされて、プロセス制御システムビッグデータネットワーク１００のノード（例えば、ユーザーインタフェース装置１１２またはプロバイダ装置１１０）によってアクセス可能である、ウェブサービスまたはウェブアプリケーションであり得る。それに応じて、装置またはノード１０８の少なくともいくつかは、データリクエスタ１３０に、または要求サービサー１２５に対応する、ウェブブラウザ、ウェブクライアントインタフェース、またはプラグインをサポートするためのそれぞれのウェブサーバーを含み得る。特にユーザーインタフェース装置１１２に対して、データリクエスタ１３０または要求サービサー１２５は、表示および格納されたデータを、ユーザーインタフェース（ＵＩ）サービス層１３５を通して引き出し得る。ＵＩサービス層１３５は、様々なプロセス制御データの表示を容易にするデータ可視化サービス１３６を含む。具体的には、データ可視化サービス１３６は、プロセス制御データの様々な部分を絵、図表、地図、レポート、プレゼンテーション、および／または同様のもので表現し得る。その結果、データ可視化チャネルのいずれかにアクセスしているユーザーは、プロセス制御データに関連した、あるデータ、傾向、関係、または結論を迅速に解明することが可能であり得る。データ可視化サービス１３６は、動的更新をサポートし、それにより、データ可視化サービス１３６は、ユーザー入力、追加もしくは削除されたデータ、および／または他の要因に基づき、対応する図表または可視化を更新し得る。
【００８７】
データ分析エンジン１３２は、知識または観察値を生成するために、アプライアンス記憶領域１２０内に格納された時系列データ点の少なくともいくつかに関して計算分析を実行するアプリケーションであり得る。そのため、データ分析エンジン１３２は、データ点または観察値の新しいセットを生成し得る。新しい知識、新しい観察値、または新しいデータ点は、プロセスプラント１０の態様の事後分析（例えば、診断またはトラブルシューティング）を提供し得、かつ／またはプロセスプラント１０に対応する事前予測（例えば、予知診断）を提供し得る。ある場合には、データ分析エンジン１３２は、格納されたデータ１２０の選択されたサブセットについてデータマイニングを実行し得、その引き出されたデータについてパターン評価を実行して、新しい知識またはデータ点もしくは観察値の新しいセットを生成し得る。言うまでもなく、複数のデータ分析エンジン１３２またはそのインスタンスは、新しい知識またはデータ点の新しいセットを生成するために協働し得る。
【００８８】
新しい知識またはデータ点のセットは、例えば、アプライアンス記憶領域１２０に格納（例えば、追加）され得、追加または代替として、１つ以上のユーザーインタフェース装置１１２で提示され得る。新しい知識は、所望であれば、プロセスプラント１０内で動作している１つ以上の制御ストラテジにも組み込まれ得る。特定のデータ分析エンジン１３２は、ユーザーにより（例えば、ユーザーインタフェース装置１１２を介して）指示される場合に実行され得、かつ／または特定のデータ分析エンジン１３２は、プロセス制御システムビッグデータアプライアンス１０２により自動的に実行され得る。
【００８９】
一般に、プロセス制御システムビッグデータアプライアンス１０２のデータ分析エンジン１３２は、プロセスプラント１０内およびその外部の様々なエンティティおよびプロバイダ間の時間ベースの関係を判断するために、格納されたデータに関して動作し得、その判断された時間ベースの関係を利用して、プラント１０の１つ以上のプロセスをそれに応じて制御し得る。そのため、プロセス制御システムビッグデータアプライアンス１０２は、１つ以上のプロセスが他のプロセスと連携され、かつ／または条件および要因の変化に応答して経時的に調整されることを可能にする。プロセス制御システムビッグデータアプライアンス１０２は、条件および事象が生じると連携および／または調整を自動的に判断および実行し得、このようにして、公知の従来技術の制御システムに対し、効率性を大幅に向上させて生産性を最適化する。
【００９０】
データ分析エンジン１３２の知識発見技術が豊富な考えられるシナリオの例。１つのシナリオ例では、事象のある組合せが、製品が後で（例えば、事象の組合せの発生の数時間後に）最終的に生成される時に、低製品品質につながる。オペレータは、通常、事象の発生と製品品質との間の関係に気付かない。（公知のプロセス制御システムで現在行われているように）低製品品質を何時間か後に検出および判断して、低製品品質の根本的原因を判断するためにトラブルシューティングするのではなく、プロセス制御システムビッグデータアプライアンス１０２（および、具体的には、その中のデータ分析エンジン１３２の１つ以上）は、事象の組合せをそれらの発生時に、または発生直後に、例えば、事象の発生に対応するデータがアプライアンス１０２に伝送される時に、自動的に検出し得る。データ分析エンジン１３２は、これらの事象の発生に基づき、低製品品質を予測し得、オペレータにその予測を警告し得、かつ／または事象の組合せの影響を緩和するために、１つ以上のパラメータまたはプロセスをリアルタイムで自動的に調整または変更し得る。例えば、データ分析エンジン１３２は、改訂された設定点または改訂されたパラメータ値を判断して、その改訂された値をプロセスプラント１０のプロバイダ装置１１０によって使用させ得る。このように、プロセス制御システムビッグデータアプライアンス１０２は、現在公知のプロセス制御システムに比べてはるかに迅速で効率的に、問題が発見されて、潜在的に緩和されるのを可能にする。
【００９１】
別のシナリオ例では、データ分析エンジン１３２の少なくともいくつかが、製品動作における変化を検出するために利用され得る。例えば、データ分析エンジン１３２は、ある通信速度における変化を、および／またはシステムダイナミクスが変化している可能性があることを示し得る、１つのセンサーから、もしくは複数のセンサーから受信されたパラメータ値の経時的な変化もしくはパターンから、検出し得る。さらに別のシナリオ例では、データ分析エンジン１３２は、弁または他の供給者機器の特定のバッチが、プラント１０にわたり、かつ時間にわたり、プロセスの挙動およびその特定のバッチに関連したアラーム発生に基づき欠陥があることを診断および判断するために利用され得る。
【００９２】
別のシナリオ例では、データ分析エンジン１３２の少なくともいくつかは、ワクチン効力などの、製品機能を予測し得る。さらに別のシナリオ例では、データ分析エンジン１３２は、ログインパターン、再試行における増加、およびそれらそれぞれの位置などの、プロセスプラント１０に関連した潜在的なセキュリティ問題を監視および検出し得る。さらなる別のシナリオ例では、データ分析エンジン１３２は、プロセスプラント１０および１つ以上の他のプロセスプラントにわたって集計または格納されたデータを分析し得る。このように、プロセス制御システムビッグデータアプライアンス１０２は、複数のプロセスプラントを所有するか、運用する会社が、地域、産業、または会社全体ベースで診断および／または予知診断情報を収集することを可能にする。
【００９３】
プロセス制御データのためのビッグデータスキーマ
【００９４】
ビッグデータアプライアンス１０２は、プロセス制御データを格納するためにビッグデータスキーマのための非リレーショナルデータベース機構を使用するように構成される。非リレーショナルデータベース機構は、設計の簡潔さ、水平スケーリング、およびデータ可用性に対するさらに細かい調整を可能にする。一般に、ビッグデータスキーマの非リレーショナル構造は、様々な制御システム構成要素またはモジュールから受信したプロセス制御データを格納するために１つ以上のテーブルを利用する。ビッグデータスキーマの構造は、テーブルが実際の測定値または値のみを格納する（すなわち、テーブルは空のセルを持たない）結果として効率的な格納を可能にし、それにより、テーブルによって要求される総記憶容量を削減する。さらに、テーブルの編成は、複数のタイプのクエリーの使用を可能にして、格納されたデータを効率的に検索してアクセスする。
【００９５】
一般に、各テーブルは、１つ以上の行キー、列ファミリー、および列修飾子を含む。各行キーは、対応するテーブル用の主キーとして機能する。ビッグデータアプライアンス１０２は、受信したプロセス変数の１つ以上のフィールドを検査して、プロセス変数が関連付けられるべき行キーを判断する。列ファミリーは、プロセス変数がどのように行キーと関連付けられるべきかを指定する１つ以上の関連した列をグループ化する。具体的には、列ファミリーの各列は、受信したプロセス変数のフィールドまたは属性に対応する１つ以上の列修飾子を指定する。管理者またはユーザーは、様々な列ファミリーおよびそれらの列修飾子を指定し得る。列修飾子は、同一の行キーに対する複数のエントリとなり得る１つ以上の値を有し、従って、３次元格納スキームとなる。いくつかの場合には、列修飾子は、受信したプロセス制御データ内に既に含まれているフィールドまたは属性に対応できる。他の場合には、ビッグデータアプライアンス１０２が、プロセス制御データを受信すると、列修飾子を判断または識別できる。
【００９６】
行キーおよび列修飾子は、タイムスタンプ（またはその一部）、プロセス変数の識別、プロセス制御データの測定値もしくは値、データのタイプ（例えば、ブール、整数、など）、プロセス変数の状態（例えば、「良い」、「悪い」、「なし」など）、および／またはその他の１つ以上などの、プロセス制御データの１つ以上のフィールドもしくは属性、またはそれらの組合せを含むことができる。例えば、テーブルの各行キーは、プロセス変数の識別と、そのプロセス変数が記録された時間に対応するタイムスタンプの一部の連結であり得、テーブルの列修飾子は、プロセス変数のタイプ、プロセス変数の状態、およびタイムスタンプの追加の部分の連結であり得、それにより、テーブルはプロセス変数の測定値を適切なデータフィールドに格納する。さらなる例として、テーブルの各行キーは、プロセス変数のタイプと、そのプロセス変数の測定値の連結であり得、列修飾子は、プロセス変数の識別とタイムスタンプの連結であり得、それにより、テーブルはプロセス変数の状態を適切なデータフィールドに格納する。
【００９７】
一般に、ビッグデータアプライアンス１０２は、多数のタイプのデータ（例えば、連続、バッチ、事象、オペレータ入力値など）を、プロセス制御プラントから、ならびに研究室システムおよび運搬管理システムなどの他の供給源から、収集する。例えば、ビッグデータアプライアンス１０２は、プロセス変数値、設定点、離散入力および出力、プロセスアラーム、保守アラーム、オペレータ動作、バッチ動作、バッチデータの終了、洞察モデルおよび統計値、ならびに／または同様のものなどのデータを収集する。ビッグデータアプライアンス１０２は、いかなるユーザー入力または構成をも要求することなく、収集したデータを、ローカルメモリまたは記憶に自動的にバッファリングして、定期的にそのデータをリアルタイムデータベースに転送する。ビッグデータアプライアンス１０２は、プロセス制御プラントの関連モジュールが実行されるレートでデータを収集するので、ビッグデータアプライアンス１０２は、プロセス制御プラント動作の完全な履歴が、様々な分析をサポートするために利用できるようにする。
【００９８】
ビッグデータアプライアンス１０２は、プロセス制御データおよび様々な制御システム構成要素（例えば、制御ストラテジ、制御システム機器、装置、研究室システム、アプリケーションなど）から収集された他の関連データを大規模に格納、インデックス付け、および供給するため、およびデータの効率的な取得を可能にするために、データ記憶領域１２０の時系列データベースサーバー（ＴＳＤＳ）をさらに利用する。ＴＳＤＳは、動作ヒストリアンなどの従来のアプリケーションのためのデータを提供すること、ならびにプロセス制御装置および機器に関連したインフラストラクチャデータを収集および提供することが可能である。
【００９９】
時系列データは、データ点またはタプル（ｔｕｐｌｅ）の集合と考えられ得、それにより、各データ点はタイムスタンプおよび測定値を有し得る。ＴＳＤＳは、測定値を定期的または不定期な間隔で、例えば、関連した制御モジュールの実行レートで、収集し得る。例えば、ＴＳＤＳは、プロセス変数および全てのアナログ入力点に対する関連状態を収集し得る。いくつかの場合には、データ点は、時系列を生成している完全に修飾されたタグ、データに関する範囲、および他のデータなどの、測定値を示すメタデータを含み得る。タイムスタンプを値に、または測定値およびその状態に付加することにより、測定値の間の長時間にわたるパターンおよび差異がより良く確認できる。例えば、特定の場所における現在の温度が毎時測定される場合、将来の温度が、測定された温度の１つ以上に基づきさらに容易に予測できる。さらに、タイムスタンプ、場所、および測定情報を制御階層の一部として保持することにより、ＴＳＤＳは、これらの関係をデータベース内にメタデータとして格納し、階層が更新されると、関係を更新し得る。
【０１００】
本明細書で説明するように、ビッグデータアプライアンス１０２は、１つ以上のテーブルを使用して、ビッグデータ記憶スキーマを実装する。図５Ａは、プロセス制御データを格納するように構成されたテーブル例５００の構造を示す。ビッグデータアプライアンス１０２は、テーブル例５００をプロセス制御システムビッグデータ記憶１２０に格納する。テーブル例５００は、第１の行キー５０５（「行キー１」）および第２の行キー５１０（「行キー２」）を含む。第１の行キー５０５および第２の行キー５１０の各々は、関連付けられた第１の列ファミリー５０６（「ＣＦ１」）および第２の列ファミリー５０７（「ＣＦ２」）を有する。第１の列ファミリー５０６は、３つの関連付けられた列修飾子（「ＣＱ１」、「ＣＱ２」、および「ＣＱ３」）を有し、第２の列ファミリー５０７は、２つの関連付けられた列修飾子（「ＣＱ４」および「ＣＱ５」）を有する。行キー５０５、５１０の各々は複数の潜在的な値を有する複数の列修飾子を有するので、各行キー５０５、５１０は、図５Ａに示すように、複数のエントリを連続して格納し得る。
【０１０１】
ビッグデータアプライアンス１０２は、受信したプロセス制御データを検査して、データをどのように格納するかを判断する。いくつかの場合には、ビッグデータアプライアンス１０２は、プロセス制御データを検査して、行キー（またはその一部）に、または１つ以上の列修飾子に対応する属性を識別する。例えば、プロセス制御データは、プロセス変数の識別およびプロセス変数の状態を含み得る。他の場合には、ビッグデータアプライアンス１０２は、データを、受信したプロセス制御データに付加し、付加されたデータは、行キー（またはその一部）に、または１つ以上の列修飾子に対応する。例えば、ビッグデータアプライアンス１０２は、ビッグデータアプライアンス１０２がプロセス制御データを受信した時間に対応するタイムスタンプを生成し得る。それに応じて、ビッグデータアプライアンス１０２は、プロセス制御データの識別または生成された属性を使用して、行キーおよび／または列修飾子を構築し得る。さらに、ビッグデータアプライアンス１０２は、構築した行キーおよび列修飾子に従って、プロセス制御データ（または測定値もしくはその値）を格納し得る。
【０１０２】
一般に、ビッグデータアプライアンス１０２は、データをテーブル５００に格納する前に、テーブル５００のメモリセグメントを割り当てない。代わりに、ビッグデータアプライアンス１０２は、対応する行キー、列ファミリー、および列修飾子に従って、プロセス変数と関連付けられたデータ（例えば、測定値または値）をテーブル５００に格納するように構成される。さらに、ビッグデータアプライアンス１０２は、プロセス制御データが受信および処理される時、そのデータを格納する。例えば、ビッグデータアプライアンス１０２は、データ５０９を、第１の行キー５０５、第１の列ファミリー５０６、およびある値のＣＱ１に対応するメモリセグメント内に格納し、ビッグデータアプライアンス１０２は、データ５１１を、第２の行キー５０１、第２の列ファミリー５０７、およびある値のＣＱ５に対応するメモリセグメント内に格納する。テーブルの残りのフィールドは、空白であるか、そうでなければ割り当てられず、このようにして、ビッグデータスキーマ内のメモリ空間を節約する。
【０１０３】
一実施態様例では、ビッグデータアプライアンス１０２は、対応するプロセス制御データのタイムスタンプおよびそのプロセス変数に従って、行キーを順序付ける。タイムスタンプは、装置がプロセス制御データを記録した時間、装置がプロセス制御データを伝送した時間、ビッグデータアプライアンス１０２がプロセス制御データを受信した時間、または他の時間に対応し得る。さらに、ビッグデータアプライアンス１０２は、タイムスタンプを、所定の段階によって、切り捨てまたは切り上げ得る。例えば、タイムスタンプは、最も近い分、時間、日、または同様のものに、切り捨てまたは切り上げられ得る。結果として、ビッグデータアプライアンス１０２は、対応する行キーの丸められたタイムスタンプ内に含まれているタイムスタンプを有する複数の列を格納し得る。行キー毎に複数の列を格納することにより、プロセス制御システムビッグデータ記憶１２０を検索することがより効率的かつ効果的になる。具体的には、この構造は、より多くのデータが単一の除外で不適格にされて、行キーによって追跡される行の総数を減らすことを可能にする。さらに、丸められた時間をハッシュの一部として使用することにより、管理者はビッグデータスキーマをより効果的に分割し得る。
【０１０４】
図５Ｂは、テーブル例に対する行キーおよび列修飾子の例、ならびにそれらに関連付けられたプロセス制御データ例を図示する。図５Ｂに示すように、行キー構造例５１０は、識別５１１および第１のタイムスタンプ部分５１２を含む。識別５１１は、ある量のバイト（例えば、３バイト）であり、受信したプロセス変数を一意に識別する。いくつかの場合には、ビッグデータアプライアンス１０２は、識別５１１を生成し、その識別５１１をルックアップテーブルに格納し得る。第１のタイムスタンプ部分５１２は、ある量のバイト（例えば、４バイト）であり、所定の段階によって丸められるタイムスタンプに対応する。例えば、第１のタイムスタンプ部分５１２は、タイムスタンプを最も近い時間に切り捨てることから生じる「上位（ｈｉｇｈ  ｏｒｄｅｒ）」タイムスタンプであり得る。ビッグデータアプライアンス１０２は、同一の識別を有する特定のプロセス変数を複数の時に受信し得るので、ビッグデータアプライアンス１０２は、特定の識別に対する行のグループを格納し、行をタイムスタンプに従って順序付け得る。それに応じて、単一の行は、測定値の「バケツ」を格納できる（例えば、第１のタイムスタンプ部分８１２が時間に対応する場合、関連付けられた行キー８１０はその時間内に収集された測定値を格納できる）。
【０１０５】
図５Ｂは、１つの列ファミリー５１６および３つの列修飾子：タイプ５１７、状態５１８および第２のタイムスタンプ部分５１９を有する列構造例５１５をさらに含む。前述のように、列ファミリー５１６は、列修飾子を識別または分類する。さらに、列修飾子（すなわち、タイプ５１７、状態５１８、および第２のタイムスタンプ部分５１９）は、対応するプロセス制御データと関連付けられた属性である。具体的には、タイプ５１７は、プロセス変数のデータタイプ（例えば、整数、文字列、数字、ブールなど）を識別し、状態５１８は、プロセス変数の状態（例えば、良い、悪い、なし、など）、第２のタイムスタンプ部分５１９は、丸められた第１のタイムスタンプ部分５１２から生じるタイムスタンプの残りである。列ファミリー５１６、タイプ５１７、状態５１８、および第２のタイムスタンプ部分５１９は、様々なサイズであり得る。例えば、列ファミリー５１６、タイプ５１７、および状態５１８は各々１バイトであり得、第２のタイムスタンプ部分５１９は、４バイトであり得る。
【０１０６】
図５Ｂは、データ例を投入された、追加の行キー例５２０および列例５２５も図示する。図５Ｂに示すように、行キー５２０の識別５２１は「００１」であり、列８２５の列ファミリー５２６は「Ｔｉｍｅ」であり、列５２５のタイプ５２７は「ＩＮＴ」であり、列５２５の状態５２８は「ＧＯＯＤ」である。行キー５２０および列５２５は、２０１３年７月１日１０：０２：０３ＧＭＴのタイムスタンプに対応するタイムスタンプデータ（対応するＵＮＩＸエポック値の１３７２６７２９２３を生成する）も格納する。タイムスタンプが最も近い時間に切り下げられる（すなわち、１０：００：００に丸められる）場合、タイムスタンプは、ＵＮＩＸエポック値の１３７２６７２８００を有する上位タイムスタンプ５２２、および切下げからの「残り」を表す１２３の下位タイムスタンプ５２９に分割できる。それに応じて、２０１３年７月１日の１０：００：００ＧＭＴと１０：５９：５９ＧＭＴとの間であるか、またはそれらを含む、タイムスタンプを有する任意のデータ（すなわち、１３７２６７２８００の上位タイムスタンプを有する任意のデータ）が、行キー５２０と関連付けられた列に格納できる。図５Ｂは、列５２５と関連付けられた測定値および対応するプロセス変数を格納するセル値例５３０をさらに図示する。図５Ｂに示すように、「４７６」の測定値は、プロセスプラント１０内で収集されるようなプロセス変数の値を表し得る。
【０１０７】
図５Ｃは、列ファミリー例「Ｔｉｍｅ」に対する行キー例５２０および列修飾子例５３５を含む、記憶テーブル例５３１を示す。図５Ｃに示すように、行キー例５２０は、プロセス変数識別と上位タイムスタンプの連結（例えば、「０９８．１３７２６７２８００」）を含む。記憶テーブル例５３１では、上位タイムスタンプは６０分に丸められる。列修飾子例５３５の各々は、値のタイプ、プロセス変数の状態、および下位タイムスタンプの連結である。例えば、列修飾子ＲＥＡＬ．ＧＯＯＤ．＋２０は、タイプＲＥＡＬ、状態ＧＯＯＤ、および２０の時間オフセット（すなわち、丸められた上位タイムスタンプ１３７２６７２８００の２０秒後）を有する。さらに、記憶テーブル５３１のセルは、所与の行キーおよび列修飾子に対応する測定値を格納する。例えば、行キー０５７．１３７２６７２８００および列修飾子ＲＥＡＬ．ＧＯＯＤ．＋４０と関連付けられた測定値は４５．４である。テーブル５３１は、同一の行キーおよび列ファミリーに対応する任意のデータを連続して格納し得る。例えば、テーブル５３１は、特定のプロセス変数識別（例えば、０９８または０５７）に対応するデータを６０分間にわたり連続して格納する。
【０１０８】
一般に、測定値を書き込むために、ビッグデータアプライアンス１０２は、一意のデータを有する適切な行キーを構築し、関連付けられた列ファミリーおよび列修飾子（複数可）を判断する。さらに、ビッグデータアプライアンス１０２は、どのバイトを列ファミリーおよび列修飾子（複数可）に対応するセルに格納するかを識別して、関連付けられたレコードを書き込む。例えば、テーブル５３１は、プロセス変数の値を関連付けられたレコードに書き込む。プロセス制御システム１０に関連したユーザーまたは管理者は、格納されたデータについてビッグデータアプライアンス１０２に問い合わせ得る。具体的には、クエリーは、行キー範囲を指定し得、ならびに上位タイムスタンプ範囲などの、適切なフィルタ基準を定義し得る。ビッグデータアプライアンス１０２は、クエリーを実行して、識別された結果を問い合わせているユーザーに返し得る。
【０１０９】
ビッグデータアプライアンス１０２は、依然としてデータのより詳細な表示を可能にしながら、ユーザーがデータの長期的視野およびコンテキスト全体を評価することを可能にするために、「スナップショット」または「ズーム」機能を採用し得る。スナップショットまたはズーム機能はさらに、ユーザーが、様々なタイムスタンプ範囲に対応するデータのスナップショットを識別することを可能にする。様々な機能を使用すると、ビッグデータアプライアンス１０２は、特定の期間に対するデータの集合を作成および格納できる。例えば、ビッグデータアプライアンス１０２は、各時間のデータに対する（すなわち、共通の上位タイムスタンプに対応する測定値から）最小値、最大値、および最終測定値を格納できる。
【０１１０】
ビッグデータアプライアンス１０２は、関連データの格納および大規模処理のために、Ａｐａｃｈｅ  Ｈａｄｏｏｐをサポートし得る。いくつかの場合には、ビッグデータアプライアンス１０２は、Ａｐａｃｈｅ  ＨＢａｓｅデータベースに関連したＭａｐＲｅｄｕｃｅフレームワークを実装し得、それは、ユーザーまたは管理者が、データを削減することを可能にしながら、同時に、ＨＢａｓｅインフラストラクチャが並列分散プログラムを利用することを可能にする。ＭａｐＲｅｄｕｃｅフレームワークは、データセットの分割、およびそれを複数のノードにわたって並行して実行することを可能にする。具体的には、ユーザーまたは管理者が格納問題を、フィルタ処理、ソート、および要約操作のために、より単純なＭａｐ（）およびＲｅｄｕｃｅ（）関数に分割し、他方、ＭａｐＲｅｄｕｃｅフレームワークは分散サーバーを自動的に準備して、様々なタスクを並行して実行し、システムの様々な部分間での通信およびデータ転送を管理し、冗長および故障を提供して、プロセス全体を管理する。
【０１１１】
図５Ｄは、本明細書で説明するように「スナップショット」技術を使用して作成されたデータレコード例を図示する。例えば、ビッグデータアプライアンス１０２は、ＭａｐＲｅｄｕｃｅフレームワークを使用してデータレコードを作成し得る。図５Ｄに示すように、行キー例５３４および列例５３５の各々は、プロセス制御データの様々なフィールドまたは属性を含む。具体的には、行キー例５３４は、プロセス変数の識別および年の基準での上位タイムスタンプを含み、列例５３５は、列ファミリー、タイプ、状態、および日の基準での下位タイムスタンプを含む。言い換えれば、上位タイムスタンプによって指定された年内の日に対応する下位タイムスタンプを有する任意の列は、その対応する行キーと関連付けられる。図５Ｄは、ビッグデータアプライアンス１０２が、対応する行キーおよび列のペアに従って格納し得るセル値例５４０も示す。セル値例５４０は、集計された高値５４１、集計された低値５４２、および集計された最終値５４３を含む。集計された高値５４１および集計された低値５４２はそれぞれ、行キー５３４の上位タイムスタンプに対応するタイムスタンプを有するデータレコードの間で、最高および最低の測定値を表す。さらに、集計された最終値５４３は、行キー５３４の上位タイムスタンプに対応するタイムスタンプを有するデータレコードの間で、（時間による）最後の測定値を表す。集計された高値５４１、集計された低値５４２、および集計された最終値５４３を図５Ｄに示しているが、例えば、平均値、モード値、中央値、標準偏差、および／または他の値などの、他のスナップショット値が想定されることが理解されるべきである。
【０１１２】
図６は、ユーザーがプロセス制御データの様々なスナップショットを表示することを可能にすることに関連したインタフェース例を示す。ビッグデータアプライアンス１０２は、ユーザーまたは管理者が、スナップショット表示に対するパラメータを選択し、次いで、対応するスナップショット表示を見ることを可能にするために、データエクスプローラモジュール（または類似のモジュール）を採用し得る。第１のインタフェース６８０は、ユーザーがスナップショット表示のためのパラメータを選択するのを可能にする選択画面に対応する。第１のインタフェース６８０は、ユーザーが表示または分析することを欲するデータを有する１つ以上のプロセス変数をユーザーが選択するのを可能にするプロセス変数選択オプション６８１を含む。第１のインタフェース６８０は、ユーザーが、選択されたプロセス変数データに対する１つ以上の期間を選択するのを可能にする期間選択オプション６８２をさらに含む。さらに、第１のインタフェース６８０は、ユーザーが、選択された期間に対する所望の「ズーム」値に対応する１つ以上の様々なパラメータを選択するのを可能にする測定基準選択オプション６８３を含む。第１のインタフェース６０８は、プロセス変数「ＰＶ００８」および「ＰＶ０５９」、時間および月に対する期間、ならびに最小、最大、および平均の測定基準の選択を示す。
【０１１３】
第２のインタフェース６８５は、第１のインタフェース６８０の選択から生じる図表を示す。具体的には、第２のインタフェース６８５は、プロセス変数「ＰＶ００８」に対する時間毎および月毎の図表６８６、６８７、ならびにプロセス変数「ＰＶ０５９」に対する時間毎および月毎の図表６８８、６８９を示す。それぞれの時間毎の図表６８６、６８８は、６時間にわたる、「ＰＶ００８」および「ＰＶ０５９」に対する時間毎の最小値、最大値、および平均値を示す。それぞれの月毎の図表６８７、６８９は、５か月間にわたる、「ＰＶ００８」および「ＰＶ０５９」に対する月毎の最小値、最大値、および平均値を示す。第１のインタフェース６８０および第２のインタフェース６８５を使用すると、ユーザーまたは管理者は、記録されたデータの全部をフィルタ処理する必要なく、プロセス制御データおよびそれらのパラメータのスナップショットを効果的かつ効率的に評価および分析し得る。
【０１１４】
図７は、生データを集計するために、「スナップショット」技術（例えば、ＭａｐＲｅｄｕｃｅ技術）を採用するビッグデータアプライアンス１０２に関連したフロー図７００を示す。７０５では、ビッグデータアプライアンス１０２は、各関連付けられたタイムスタンプに対する識別に従って入力データをマッピングし、次いで、マッピングしたデータを識別に従ってソートして、各識別に対応する編集された測定データを生成する。７１０では、ビッグデータアプライアンスは、データをターゲットの出力データに、シャッフル、統合、および削減する。例えば、ビッグデータアプライアンスは、識別の各々に対して、特定の期間に対する高、低、および最終の測定値を出力できる。このように、ビッグデータアプライアンスは、スナップショットを効果的に生成し、そのスナップショットを要求しているユーザーまたは管理者に提供できる。
【０１１５】
図８〜図１０は、本明細書で説明するように、ビッグデータスキーマに従い、プロセス制御システムまたはプロセスプラント内でビッグデータを取得、提示、またはそうでなければ格納するための方法例８００、９００、１０００の流れ図を示す。ビッグデータアプライアンス（例えば、図１のビッグデータアプライアンス１０２）は、図１のプロセス制御システムビッグデータネットワーク１００内で、またはビッグデータをプロセス制御システムもしくはプロセスプラント内でサポートする任意の他の適切なネットワークもしくはシステム内で、方法８００、９００、１０００を実装できる。例示の（および、限定されない）目的のため、方法８００、９００、１０００は、図１〜図７を同時に参照して、以下で説明される。
【０１１６】
図８を参照すると、方法８００は、プロセス制御データのデータ記憶装置への格納に関する。具体的には、方法８００は、プロセス制御データを、プロセス制御データと関連付けられたタイムスタンプに従って生成された行キーを利用して、プロセス制御データを格納する。方法８００のブロック８０５で、ビッグデータアプライアンスは、プロセス制御データを、例えば、１つ以上のデータ受信装置１２２を介して、受信する。データは、プロセスプラントに、および／またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分またはセグメントを含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【０１１７】
ブロック８１０で、ビッグデータアプライアンスは、受信したデータの各それぞれの部分から、様々なデータ測定値、指示、および他の属性を識別する。例えば、ビッグデータアプライアンスは、データの各それぞれの部分に対して、それぞれのプロセス変数の識別、データのそれぞれの部分と関連付けられたタイムスタンプ、それぞれのプロセス変数と関連付けられた測定値、測定値のデータタイプ、および／または測定値と関連付けられた状態を識別し得る。タイムスタンプは、ＵＮＩＸエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第１のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第２のタイムスタンプ部分を含み得る。それに応じて、第１のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第２のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【０１１８】
ブロック８１５で、ビッグデータアプライアンスは、受信したデータの各それぞれの部分に対して、それぞれのプロセス変数および第１のタイムスタンプ部分に基づき行キーを識別する。いくつかの場合には、ビッグデータアプライアンスは（例えば、特定の行キーが存在しない場合）、それぞれのプロセス変数の識別と第１のタイムスタンプ部分を連結することにより、行キーを生成し、その行キーをデータ記憶装置に格納し得る。他の場合には、ビッグデータアプライアンスは、それぞれのプロセス変数および第１のタイムスタンプ部分に対応する、データ記憶装置内に既に格納されている行キーを識別し得る。
【０１１９】
ブロック８２０で、ビッグデータアプライアンスは、データの各それぞれの部分に対して、様々なデータを、行キーと関連付けられたデータ記憶装置の部分内に格納する。いくつかの場合には、ビッグデータアプライアンスは、第２のタイムスタンプ部分、測定値、任意選択で測定値のタイプ、および任意選択で測定値の状態を格納し得る。これに関して、行キーは、行キーの上位タイムスタンプに対応するタイムスタンプを有する記録されたプロセス制御データ（すなわち、行キーによって示される期間内に記録されたデータ）を含み得、このようにしてプロセス制御データを格納するために必要な記憶容量を削減し、データにアクセスして取得するために必要な時間を削減する。
【０１２０】
ブロック８２５で、ビッグデータアプライアンスは、追加のプロセス制御データが受信されるかを判断する。例えば、追加のプロセス制御データは、プロセス制御システムによって記録された追加のプロセス制御データであり得る。追加のプロセス制御データが受信される場合（「ＹＥＳ」）、処理は８１０に戻るか、または任意の他の機能に進み得る。追加のプロセス制御データが受信されない場合（「ＮＯ」）、処理は終了するか、繰り返すか、または任意の他の機能に進み得る。
【０１２１】
図９を参照すると、方法９００は、ユーザーがプロセス制御データと関連付けられたスナップショットを取得するのを可能にするスナップショット規約に従って、プロセス制御データを格納することに関する。方法９００のブロック９０５で、ビッグデータアプライアンスは、プロセス制御データを、例えば、１つ以上のデータ受信装置１２２を介して、受信する。データは、プロセスプラントに、および／またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分を含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【０１２２】
ブロック９１０で、ビッグデータアプライアンスは、各レコードに対して、データを検査して、（１）それぞれのプロセス変数、（２）それぞれのプロセス変数と関連付けられた測定値、ならびに（３）第１のタイムスタンプ部分および第２のタイムスタンプ部分を含むタイムスタンプを識別する。タイムスタンプは、ＵＮＩＸエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第１のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第２のタイムスタンプ部分を含み得る。それに応じて、第１のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第２のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【０１２３】
ブロック９１５で、ビッグデータアプライアンスは、第１のタイムスタンプ部分に基づき、設定期間が経過していることを判断する。例えば、第１のタイムスタンプ部分が１０：００：００ＡＭを指定して、最も近い時間に丸められる場合、設定期間は、１１：００：００ＡＭに経過する。ある場合には、ビッグデータアプライアンスは、現在の時間を第１のタイムスタンプ部分と比較することにより設定期間が経過していることを判断できる。
【０１２４】
ブロック９２０で設定期間が経過している場合、ビッグデータアプライアンスは、設定期間内のタイムスタンプを有する複数のレコードのうちの１つ以上から少なくとも１つの統計的パラメータを識別する。少なくとも１つの統計的パラメータは、それぞれ１つ以上の測定値の高値、それぞれ１つ以上の測定値の低値、それぞれ１つ以上の測定値の最新値、それぞれ１つ以上の測定値の標準偏差、それぞれ１つ以上の測定値の平均値、およびそれぞれ１つ以上の測定値の中央値、のうちの１つ以上であり得る。複数のレコードと関連付けられた他の統計的パラメータが想定されることが理解されるべきである。
【０１２５】
ブロック９２５で、ビッグデータアプライアンスは、それぞれのプロセス変数に従って、少なくとも１つの統計的パラメータをフィルタ処理する。具体的には、ビッグデータアプライアンスは、ユーザーが指定されたプロセス変数に従って統計的パラメータデータにアクセスまたはこれを取得できるように、それぞれのプロセス変数に従って識別された統計的パラメータ（複数可）を分離できる。
【０１２６】
ブロック９３０で、ビッグデータアプライアンスは、少なくとも１つの統計的パラメータを、設定期間およびそれぞれのプロセス変数と関連付けられた期間データレコードに格納する。それ故、期間データレコードは、特定の期間に対応する任意の関連データを格納でき、ユーザーは、集計プロセス制御データを分析するために、個々の行キーまたはレコードを表示またはこれにアクセスする必要がない。
【０１２７】
図１０を参照すると、方法１０００は、ユーザーが、プロセス制御データを指定された期間にわたって分析することを可能にするプロセス制御データの「スナップショット」を取得することに関する。方法１０００のブロック１００５で、ビッグデータアプライアンスは、プロセス制御データの一部を取得するための要求をユーザーから受信し、要求は、設定期間を示す。プロセス制御データは、プロセスプラントに、および／またはプロセスプラントによって制御されているプロセスに対応し得、複数の部分を含み得る。例えば、データは、プロセスプラント内のプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラント内に含まれる様々なネットワークのネットワーク管理およびトラフィックデータ、ユーザーまたはオペレータの動作を示すデータ、プラント内に含まれる機器および装置の動作および状態に対応するデータ、プロセスプラントの外部のエンティティによって生成されるか、またはそれらに送信されるデータ、および他のデータを含み得る。
【０１２８】
ブロック１０１０で、ビッグデータアプライアンスは、設定期間に対応するプロセス制御データの一部を取得し、プロセス制御データの一部は複数のレコードを含む。設定期間は、複数のレコードと関連付けられた上位タイムスタンプによって定義され得、複数のレコードの各々は、上位タイムスタンプによって定義された設定期間に含まれる下位タイムスタンプを示す。
【０１２９】
ブロック１０１５で、ビッグデータアプライアンスは、複数のレコードの各々に対して、（１）それぞれのプロセス変数、（２）それぞれのプロセス変数と関連付けられた測定値、および（３）設定期間に含まれるタイムスタンプ、を識別する。タイムスタンプは、ＵＮＩＸエポック値として表され得、ある段階によって切り下げられたタイムスタンプを反映する第１のタイムスタンプ部分、およびある段階によって切り下げられたタイムスタンプの残りを反映する第２のタイムスタンプ部分を含み得る。それに応じて、第１のタイムスタンプ部分はタイムスタンプの上位タイムスタンプに対応し得、第２のタイムスタンプ部分はタイムスタンプの下位タイムスタンプに対応し得る。
【０１３０】
ブロック１０２０で、ビッグデータアプライアンスは、複数のレコードから集計プロセス制御データを生成する。ビッグデータアプライアンスは、複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、複数のレコードを集計し得る。例えば、少なくとも１つの統計的パラメータは、それぞれ１つ以上の測定値の高値、それぞれ１つ以上の測定値の低値、それぞれ１つ以上の測定値の最新値、それぞれ１つ以上の測定値の標準偏差、それぞれ１つ以上の測定値の平均値、およびそれぞれ１つ以上の測定値の中央値、のうちの１つ以上であり得る。ビッグデータアプライアンスは、少なくとも１つの統計的パラメータが集計プロセス制御データ内に明示的に示されていない場合など、少なくとも１つの統計的パラメータを複数のレコードから計算もし得る。例えば、ビッグデータアプライアンスは、集計プロセス制御データを生成するために、平均値、標準偏差、高値、低値、および／または他の測定基準を計算し得る。いくつかの場合には、ユーザーは、所望の統計的パラメータを、例えば、要求またはコマンドの一部として、指定し得、それにより、ビッグデータアプライアンスは、複数のレコードから適切な統計的パラメータを計算する。
【０１３１】
ブロック１０２５で、ビッグデータアプライアンスは、集計プロセス制御データをユーザーに提示する。例えば、ビッグデータアプライアンスは、集計プロセス制御データを、数値データ、図表、グラフ、または任意の他のタイプの数値データもしくはグラフィカル表示として提示し得る。さらに、集計プロセス制御データは、複数のレコードから、識別または計算される任意の統計的パラメータを示し得る。
【０１３２】
ブロック１０３０で、ビッグデータアプライアンスは、追加の要求が受信されるかを判断する。例えば、ユーザーは、集計プロセス制御データを狭めるか、もしくは拡張することを欲し得るか、またはプロセス制御データについて他の計算を実行することを欲し得る。追加の要求が受信される場合（「ＹＥＳ」）、処理は１０１０に戻るか、または任意の他の機能に進み得る。追加の要求が受信されない場合（「ＮＯ」）、処理は終了するか、繰り返すか、または任意の他の機能に進み得る。
【０１３３】
ソフトウェアで実装される場合、本明細書で説明するアプリケーション、サービス、およびエンジンのいずれかが、磁気ディスク、レーザーディスク、ソリッドステートメモリ装置、分子メモリ記憶装置、または他の記憶媒体上、コンピュータもしくはプロセッサのＲＡＭもしくはＲＯＭ内など、任意の有形的持続性コンピュータ可読メモリ内に格納され得る。本明細書で説明するシステム例は、他の構成要素の中で、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含むとして開示されているが、かかるシステムは例示に過ぎず、制限として考えられるべきではないことに留意すべきである。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のいずれかまたは全部が、専らハードウェアのみで、専らソフトウェアのみで、またはハードウェアとソフトウェアの任意の組合せで、具現化され得ると考えられる。それに応じて、本明細書で説明するシステム例は、１つ以上のコンピュータ装置のプロセッサ上で実行されるソフトウェアで実装されていると説明されるが、当業者は、提供される例はかかるシステムを実装する唯一の方法ではないことを容易に理解するであろう。
【０１３４】
従って、本発明は、例示のみを意図し、本発明を制限しない、特定の例を参照して説明されてきたが、本発明の精神および範囲から逸脱することなく、変更、追加または削除が、開示する実施形態に対して行われ得ることが、当業者には明らかであろう。
【図１】
2020064674.tif 000003
【図２】
2020064674.tif 000004
【図３】
2020064674.tif 000005
【図４】
2020064674.tif 000006
【図５Ａ】
2020064674.tif 000007
【図５Ｂ】
2020064674.tif 000008
【図５Ｃ】
2020064674.tif 000009
【図５Ｄ】
2020064674.tif 000010
【図６】
2020064674.tif 000011
【図７】
2020064674.tif 000012
【図８】
2020064674.tif 000013
【図９】
2020064674.tif 000014
【図１０】
2020064674.tif 000015
【手続補正書】
【提出日】令和2年1月9日(2020.1.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセス制御プラントと関連付けられたプロセス制御データにアクセスする方法であって、前記方法が、
データ記憶装置内に格納されたプロセス制御データの一部を取得する要求をユーザーから受信することであって、前記プロセス制御データが、前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応し、前記要求が設定期間を示す、プロセス制御データの一部を取得する要求をユーザーから受信することと、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの前記一部を取得することであって、前記プロセス制御データの前記一部が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記一部を取得することと、
プロセッサにより、集計プロセス制御データを前記複数のレコードから生成することと、
前記集計プロセス制御データを前記ユーザーに提示することと
を含む、プロセス制御プラントと関連付けられたプロセス制御データにアクセスする方法。
【請求項２】
前記集計プロセス制御データを生成することが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
を含む、請求項１に記載の方法。
【請求項３】
前記集計プロセス制御データを生成することが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算することを含み、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項１に記載の方法。
【請求項４】
前記集計プロセス制御データを生成することが、
少なくとも１つの統計的パラメータの選択を前記ユーザーから受信することと、
前記少なくとも１つの統計的パラメータを示すために前記集計プロセス制御データを生成することと
を含む、請求項１に記載の方法。
【請求項５】
前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信することであって、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示す、追加の要求を前記ユーザーから受信することと、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記修正された集計プロセス制御データを前記ユーザーに提示することと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信することであって、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示す、追加の要求を前記ユーザーから受信することと、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの追加部分を取得することであって、前記プロセス制御データの前記追加部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記修正された集計プロセス制御データを前記ユーザーに提示することと
をさらに含む、請求項１に記載の方法。
【請求項７】
前記集計プロセス制御データを生成することが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから、集計プロセス制御データを生成すること
を含む、請求項１に記載の方法。
【請求項８】
プロセス制御プラントと関連付けられたプロセス制御データにアクセスするシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データの一部を取得するための要求をユーザーから受信するように適合されたユーザーインタフェースであって、前記要求が設定期間を示す、要求をユーザーから受信するように適合されたユーザーインタフェースと、
前記データ記憶装置および前記ユーザーインタフェースとインタフェースをとるように適合され、かつ、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの前記一部を取得することであって、前記プロセス制御データの前記一部が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記一部を取得することと、
前記複数のレコードから集計プロセス制御データを生成することと、
前記ユーザーインタフェースに前記集計プロセス制御データを前記ユーザーに対して提示させることと
を行うように構成された、プロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データにアクセスするシステム。
【請求項９】
前記プロセッサが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
により、前記集計プロセス制御データを生成する、
請求項８に記載のシステム。
【請求項１０】
前記プロセッサが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算すること
により、前記集計プロセス制御データを生成し、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項８に記載のシステム。
【請求項１１】
前記プロセッサが、
前記ユーザーから前記ユーザーインタフェースを介して、少なくとも１つの所望の統計的パラメータに対する選択を受信すること、および
前記少なくとも１つの統計的パラメータを示すために前記集計プロセス制御データを生成すること
により、前記集計プロセス制御データを生成する、
請求項８に記載のシステム。
【請求項１２】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示し、かつ、前記プロセッサが、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項８に記載のシステム。
【請求項１３】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示し、かつ、前記プロセッサが、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することであって、前記プロセス制御データの前記追加の部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項８に記載のシステム。
【請求項１４】
前記プロセッサが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから集計プロセス制御データを生成することにより、
前記集計プロセス制御データを生成する、
請求項８に記載のシステム。
【請求項１５】
プロセス制御システムであって、
前記プロセス制御システム内のプロセスを制御するように構成されたコントローラと、
前記コントローラに通信可能に接続されたフィールド装置であって、前記フィールド装置が前記プロセス制御システム内の前記プロセスを制御するために物理的な機能を実行するように構成され、かつ前記フィールド装置が、前記物理的な機能に対応するリアルタイムデータを、前記コントローラに送信するか、または前記コントローラから受信するように構成された、フィールド装置と、
プロセス制御システムビッグデータ装置であって、前記プロセス制御システムビッグデータ装置が、
前記リアルタイムデータを格納するように構成されたデータ記憶装置と、
前記リアルタイムデータの一部を取得するための要求をユーザーから受信するように適合されたユーザーインタフェースであって、前記要求が設定期間を示す、要求をユーザーから受信するように適合されたユーザーインタフェースと、
前記データ記憶装置および前記ユーザーインタフェースとインタフェースをとるように適合され、かつ、
前記データ記憶装置から、前記設定期間に対応する前記プロセス制御データの部分を取得することであって、前記プロセス制御データの前記部分が、各々が（１）それぞれのプロセス変数、（２）前記それぞれのプロセス変数と関連付けられた測定値、および（３）前記設定期間に含まれるタイムスタンプを有する複数のレコードを含む、前記設定期間に対応する前記プロセス制御データの前記部分を取得することと、
前記複数のレコードから集計プロセス制御データを生成することと、
前記ユーザーインタフェースに前記集計プロセス制御データを前記ユーザーに対して提示させることと
を行うように構成されたプロセッサと
を含む、プロセス制御システムビッグデータ装置と
を備え、
前記コントローラが、プロセス制御システムビッグデータネットワークの第１のノードであり、かつ、前記プロセス制御システムビッグデータ装置が前記プロセス制御システムビッグデータネットワークの第２のノードである、
プロセス制御システム。
【請求項１６】
前記プロセッサが、
前記複数のレコードの各々と関連付けられた少なくとも１つの統計的パラメータに従って、前記複数のレコードを配置すること
により、前記集計プロセス制御データを生成する、
請求項１５に記載のプロセス制御システム。
【請求項１７】
前記プロセッサが、
少なくとも１つの統計的パラメータを前記複数のレコードから計算すること
により、前記集計プロセス制御データを生成し、前記集計プロセス制御データが、前記少なくとも１つの統計的パラメータを示す、
請求項１５に記載のプロセス制御システム。
【請求項１８】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間内に存在する追加の設定期間を示し、かつ、前記プロセッサが、
前記追加の設定期間の範囲外である、前記複数のレコードの一部を識別することと、
前記集計プロセス制御データを、前記追加の設定期間の範囲外である前記複数のレコードの前記一部を除去することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項１５に記載のプロセス制御システム。
【請求項１９】
前記ユーザーインタフェースが、前記集計プロセス制御データを修正するための追加の要求を前記ユーザーから受信するようにさらに適合され、前記追加の要求が、前記設定期間外に少なくとも一部、存在する、追加の設定期間を示し、かつ、前記プロセッサが、
前記データ記憶装置から、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することであって、前記プロセス制御データの前記追加の部分が、複数の追加のレコードを含む、前記追加の設定期間に対応する前記プロセス制御データの前記追加の部分を取得することと、
前記集計プロセス制御データを、前記複数の追加のレコードを追加することにより、修正することと、
前記ユーザーインタフェースに前記修正された集計プロセス制御データを前記ユーザーに対して提示させることと
を行うようにさらに構成されている、
請求項１５に記載のプロセス制御システム。
【請求項２０】
前記プロセッサが、
同一の前記それぞれのプロセス変数を有する前記複数のレコードから集計プロセス制御データを生成すること
により、前記集計プロセス制御データを生成する、
請求項１５に記載のプロセス制御システム。
【請求項２１】
プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステムであって、
前記プロセス制御プラント内の複数の装置によって制御される少なくとも１つのプロセスに対応するプロセス制御データを格納するように構成されたデータ記憶装置と、
前記プロセス制御データを前記複数の装置から受信するように構成されたデータ受信装置であって、前記プロセス制御データが、各々がそれぞれのプロセス変数と関連付けられた複数の部分を含む、データ受信装置と、
前記データ記憶装置および前記データ受信装置とインタフェースをとるように適合され、かつ前記データの各それぞれの部分に対して、
前記データの前記それぞれの部分の少なくとも第１の属性および第２の属性を識別することと、
前記データ記憶装置内に格納されて、前記第１の属性に基づく、行キーを識別することと、
前記行キーと関連付けられた前記データ記憶装置の部分内に、前記第２の属性を格納することと
を行うように構成されたプロセッサと
を備える、プロセス制御プラントと関連付けられたプロセス制御データを格納するためのシステム。
【請求項２２】
前記第１の属性が前記それぞれのプロセス変数の識別であり、前記第２の属性が測定値であり、かつ、前記プロセッサが、前記データの各それぞれの部分に対して、前記データの前記それぞれの部分と関連付けられたタイムスタンプを識別するようにさらに構成されている、請求項２１に記載のシステム。
【請求項２３】
前記プロセッサが、前記行キーと関連付けられた前記データ記憶装置の前記一部内に、前記測定値および前記タイムスタンプの少なくとも一部を格納することにより、前記第２の属性を格納する、請求項２２に記載のシステム。