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

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

▶ コンプレッサー コントロールズ コーポレイションの特許一覧

特許7430808産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法
<>
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図1
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図2
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図3
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図4
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図5A
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図5B
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図6
  • 特許-産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-02
(45)【発行日】2024-02-13
(54)【発明の名称】産業用制御システム・データに関するコンテキスト適応型分解能を提供するためのシステム及び方法
(51)【国際特許分類】
   G06F 11/07 20060101AFI20240205BHJP
   G06F 11/34 20060101ALI20240205BHJP
   G05B 23/02 20060101ALI20240205BHJP
【FI】
G06F11/07 166
G06F11/34 176
G05B23/02 301V
【請求項の数】 12
(21)【出願番号】P 2022547992
(86)(22)【出願日】2021-02-02
(65)【公表番号】
(43)【公表日】2023-04-21
(86)【国際出願番号】 US2021016196
(87)【国際公開番号】W WO2021158536
(87)【国際公開日】2021-08-12
【審査請求日】2022-10-04
(31)【優先権主張番号】62/971,576
(32)【優先日】2020-02-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519373486
【氏名又は名称】コンプレッサー コントロールズ エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(72)【発明者】
【氏名】ヨシダ、シュン
(72)【発明者】
【氏名】トルマツキー、マイケル レフ
(72)【発明者】
【氏名】コレスニク、オレクシー オレゴヴィッチ
(72)【発明者】
【氏名】ワギーン、ドミトリー
【審査官】福西 章人
(56)【参考文献】
【文献】特開2000-066718(JP,A)
【文献】特開2019-079317(JP,A)
【文献】特開2011-003038(JP,A)
【文献】特開2003-015734(JP,A)
【文献】特開2005-049945(JP,A)
【文献】米国特許出願公開第2013/0090853(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/28-11/34
G05B 23/00-23/02
(57)【特許請求の範囲】
【請求項1】
データ・プロデューサから入力データを受信することと、
前記入力データに基づいて出力変数を算出することと、
メモリに、第1の分解能での前記入力データを格納することと、
ローカル・ヒストリアン・デバイスに、第2の分解能での前記出力変数の時系列データを発行することであって、前記第2の分解能が前記第1の分解能よりも低い、発行することと、
前記出力変数が一式の条件を満たしている場合にイベントを識別することと、
前記イベントを識別したことに応答して、第3の分解能での、前記出力変数のサブセットに関する、前記時系列データの一部分を発行することであって、前記第3の分解能が前記第2の分解能よりも高く、前記時系列データの前記部分が、前記イベントの時間よりも前に入手されたデータを含む、発行することと
を行うように構成されている内蔵ヒストリアン・デバイス
を含むシステム。
【請求項2】
前記時系列データの前記部分を発行する際に、前記内蔵ヒストリアン・デバイスがさらに、
中央ヒストリアン・デバイス又は前記ローカル・ヒストリアン・デバイスのうちの一方に発行するように構成されている、請求項1に記載のシステム。
【請求項3】
前記メモリが循環バッファを含み、キャパシティーに達すると、前記循環バッファの最も古いデータが上書きされる、請求項1に記載のシステム。
【請求項4】
前記イベントを識別した後に発行を行う際に、前記内蔵ヒストリアン・デバイスがさらに、
前記循環バッファから、前記イベントの前記時間に先行する前記時系列データの一部分を取り出すように構成されている、請求項3に記載のシステム。
【請求項5】
前記第3の分解能が前記第1の分解能に等しい、請求項1に記載のシステム。
【請求項6】
前記イベントを検知する際に、前記内蔵ヒストリアン・デバイスがさらに、
出力変数の前記サブセットを、前記イベントに対するそれらの相関関係に基づいて選択するように構成されている、請求項1に記載のシステム。
【請求項7】
前記第1の分解能での前記時系列データが、10ミリ秒以下のインターバルを伴う時系列データを含み、前記第2の分解能での前記時系列データが、少なくとも100ミリ秒のインターバルを伴う時系列データを含む、請求項1に記載のシステム。
【請求項8】
前記内蔵ヒストリアン・デバイスから、前記第2の分解能での前記時系列データを受信することと、
央ヒストリアン・デバイスに、第4の分解能での前記時系列データを発行することであって、前記第4の分解能が前記第2の分解能よりも低い、発行することと
を行うように構成されている前記ローカル・ヒストリアン・デバイス
をさらに含む、請求項1に記載のシステム。
【請求項9】
前記ローカル・ヒストリアン・デバイスがさらに、
前記イベントの表示を受信することと、
前記表示を受信した後に、前記第2の分解能での、前記出力変数の前記サブセットに関する、前記時系列データの異なる部分を再発行することであって、前記時系列データの前記異なる部分が、前記イベントの前記時間よりも前に入手されたデータを含む、再発行することとを行うように構成されている、請求項8に記載のシステム。
【請求項10】
前記第4の分解能での前記時系列データを受信することと、
前記イベントの後に、前記内蔵ヒストリアン・デバイスから前記時系列データの前記再発行された部分を受信することと、
前記イベントの後に、前記ローカル・ヒストリアン・デバイスから前記時系列データの前記再発行された異なる部分を受信することと、
前記再発行された部分及び前記再発行された異なる部分を前記第4の分解能での前記時系列データとマージすることであって、可変分解能時系列データを形成する、マージすることと
を行うように構成されている前記中央ヒストリアン・デバイス
をさらに含む、請求項9に記載のシステム。
【請求項11】
前記時系列データにおけるそれぞれのデータ・ポイントが、データ値及び対応するタイムスタンプを含む、請求項1に記載のシステム。
【請求項12】
制御システムの内蔵ヒストリアン・デバイスによって、データ・プロデューサから入力データを受信するステップと、
前記内蔵ヒストリアン・デバイスのメモリに、第1の分解能での前記入力データを格納するステップと、
前記内蔵ヒストリアン・デバイスによって、前記入力データに基づいて出力変数を算出するステップと、
前記内蔵ヒストリアン・デバイスによってローカル・ヒストリアン・デバイスに、第2の分解能での前記出力変数の時系列データを発行するステップであって、前記第2の分解能が前記第1の分解能よりも低い、発行するステップと、
前記内蔵ヒストリアン・デバイスによって、前記出力変数が一式の条件を満たしている場合にイベントを識別するステップと、
前記内蔵ヒストリアン・デバイスによって、前記イベントを識別したことに応答して、第3の分解能での前記入力データの第1の部分を発行するステップであって、前記第3の分解能が前記第2の分解能よりも高く、前記入力データの前記第1の部分が、前記イベントの時間よりも前に入手されたデータを含む、発行するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書において記述されているシステム及び方法は、全般には、産業用制御システムのためのデータ報告に関する。より詳細には、本明細書において記述されている実施態様は、コンテキスト適応型分解能を使用して重要な産業用制御システム・データのロスレス転送を達成する方法及びシステムに関する。本明細書において記述されている実施態様によれば、産業用制御システムによって生成又は収集され、ネットワークを通じてリモート・ヒストリアン・システムへ送信される時系列データに関する帯域幅及びストレージの最適化が達成される。
【背景技術】
【0002】
産業プロセスは、きわめて複雑であることがあり、そのようなプロセスをモニタすることは、膨大な量のデータを生成することがある。このデータは、履歴記録、トラブルシューティング、及びリアルタイムの意思決定にとって不可欠であることがある。それゆえに、産業プロセスにおいて発生するイベントからのデータは、高速で追跡及び格納されなければならない。それらのデータは、プロセス施設の全体を通じてその他のシステムにとってアクセス可能である必要がある場合もある。この複雑さに起因して、イベント・データをそれが発生した際に迅速に且つ正確に記録し、応答性の高い様式で、格納されているデータのクエリーに結果を提供することが可能であるイベント・ヒストリアン・システムを提供することは、困難ではあるが重要なタスクである。
【図面の簡単な説明】
【0003】
図1】本明細書において記述されているシステム及び方法が実施されることが可能である環境の概略図である。
図2図1の環境の一部分における例示的な通信を示す図である。
図3図1の内蔵ヒストリアン、ローカル・ヒストリアン、及び中央ヒストリアンによって提供されることが可能である別々のデータ・サンプルの図解である。
図4図1の環境に含まれることが可能であるデバイスの例示的なコンポーネントの図である。
図5A図1の内蔵ヒストリアンの論理コンポーネントのブロック図である。
図5B図1のローカル・ヒストリアンの論理コンポーネントのブロック図である。
図6】本明細書において記述されている実施態様による、制御システム・データの転送のためのコンテキスト適応型分解能を提供するためのプロセスの流れ図である。
図7】本明細書において記述されている実施態様による、制御システム・データの転送のためのコンテキスト適応型分解能を提供するためのプロセスの流れ図である。
【発明を実施するための形態】
【0004】
以降の詳細な記述は、添付の図面に言及している。別々の図面における同じ参照番号は、同じ又は同様の要素を識別することが可能である。
【0005】
さまざまな石油及びガス施設など、連続プロセス産業のために使用される産業用制御システムは、プロセスの異常を評価するための時系列データを取り込むためにデータ・ヒストリアン(たとえば、別個のヒューマンマシン・インターフェースで提供される内蔵ヒストリアン又はローカル・ヒストリアン)を伴う場合が多い。航空機のフライト・レコーダに類似していると考えられる場合もあるが、データ・ヒストリアンからの時系列データの可用性、インテグリティー、及び品質は、成功するイベント後分析を行うことにとって重要であり、イベント後分析では、その後の再発を防止するためにイベントの根本原因が識別される。時系列データのその他の一般的な使用事例は、周期的なプロセス分析、最適化、及び生産報告を含む。
【0006】
機器のタイプ、測定のタイプ、及び使用事例などのファクタが、記録される(又は「履歴化される」)ことになる変数の選択及び分解能(たとえば、データ・サンプルの周期的な頻度)を決定付ける。ターボ機械トレインなど、いくつかの機器は、イベント後分析のためにさらにいっそう高い分解能を要求する。利用可能なストレージ、帯域幅、及び計算リソースの量には限りがあるので、これらのリソースの制限と、高分解能データを履歴化することに対する必要性とのバランスを取ることを試みるために、さまざまな方法が導入されてきた。これらのさまざまな方法のいくつかは、以下で要約されているように、認識されている欠陥を有する。
【0007】
循環バッファの使用は、たとえば、揮発性メモリを使用して制御データをバッファリングし、事前定義された一式のトリガーに基づいてローカルにそれらのデータを選択的にアーカイブすることによって、ストレージスペース及び帯域幅を低減することを目的としている。このアプローチは、振動モニタ及び安全システムにおいて見られる場合が多い。循環バッファに関連付けられている制限は、トリガーの劣悪な選択及び構成が、潜在的に重要なデータの永久的な喪失をもたらすことがあるということである。
【0008】
別の例として、スイングドア圧縮技術が、宛先のヒストリアンにおいて、デッドバンド、変化率などのファクタに関して、受信された時系列データを分析する。この方法は、低周波数ドメインにおける分析にとっては十分である場合が多いが、本質的に高周波数データ成分の喪失をもたらすことになり、それらの高周波数データ成分は、電気ドメイン、機械ドメイン、その上、流体/熱力学ドメインにおけるイベントを分析する際に重要になる可能性がある。
【0009】
さらなる例として、リアルタイム・データ・アクセス・インターフェースが、イベントの検知に基づいてデータ分解能を動的に調整する。調整されたデータ分解能は、異常の検知に続くタイム・ピリオドに関してさらに高い品質のデータを提供するのに役立つが、リアルタイム・データ・アクセス・インターフェースは、何がそのイベントにつながったのかの理解を手助けするための先行するデータの転送を可能にしない。
【0010】
これらの欠陥に対処するために、本明細書において記述されているように、制御システムが、時系列データのパブリッシャーとして構成され、その時系列データは、サブスクライバーとして構成されているデータ・ストレージ・システムへ導かれる。制御システムは、1つ又は複数の内蔵ヒストリアン及びローカル・ヒストリアンを通じて実装されることが可能である。制御システムは、入力データを継続的に処理し、出力変数を算出し、事前定義された一式の条件を一式の変数が満たしている場合にイベントを生成する。イベントは、重要度及び動作状態などのユーザ定義のファクタに基づいてトリガーになるように構成されることが可能である。複数のイベント及び条件を組み合わせることによって、複雑なトリガーが作成されることが可能である。
【0011】
アクティブなイベント・トリガーがない場合には、制御システムは、帯域幅及びストレージを節約するために、より低い分解能での事前定義された一式の変数に関する時系列データを発行する。イベント・トリガーがアクティブ化された場合には、制御システムは、変数のサブセット(事前定義されたもの、又は現在のイベントに対するそれらの相関関係に基づいて動的に選択されたもののいずれか)に関する最近の及び現在の時系列データを、サブスクライブされているシステムにおいてさらに高い分解能でサブスクライバーに発行する。
【0012】
図1は、本明細書において記述されているシステム及び方法が実施されることが可能である環境100の概略図である。環境100は、1つ又は複数のデータ・プロデューサ105、内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130を含むことが可能である。一般に、データ・プロデューサ105、内蔵ヒストリアン110、及びローカル・ヒストリアン120は、制御システムとみなされることが可能であり、その一方で中央ヒストリアン130は、制御システムにとってのサブスクライバーとみなされることが可能である。内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130は、もう1つのリンク140-1及び140-2によって接続されることが可能である。
【0013】
データ・プロデューサ105は、内蔵ヒストリアン110のための入力データを生成するプロセス・コントローラ又は産業機器を含むことが可能である。データ・プロデューサ105は、たとえば、センサ(たとえば、圧力センサ、温度センサ、振動センサ、フロー・センサなど)、コントローラ、モニタリング・デバイス、トランスミッタ、又は、データを作成若しくは報告する別のタイプのデバイスを含むことが可能である。
【0014】
内蔵ヒストリアン110は、データ・プロデューサ105からのプロセス入力データを格納するイベント・ヒストリアンを含むことが可能である。ローカル・ヒストリアン120とは対照的に、内蔵ヒストリアンは、特殊な目的のヒストリアンとみなされることが可能であり、このヒストリアンは、バックプレーンに常駐し、データ・プロデューサ105(たとえば、コントローラ及び/又は関連付けられている産業ユニット)に対する直接のインターフェース(たとえば、遷移レイヤを伴わない)を供給する。内蔵ヒストリアン110は、データ・プロデューサ105に対する直接のインターフェースを有することが可能である。
【0015】
内蔵ヒストリアン110は、たとえば、ミリ秒(ms)レベルまでの最も高い(又はネイティブの)分解能でのデータ・プロデューサ105からの時系列データを記録することが可能である。内蔵ヒストリアン110は、制限された一時的な(たとえば、経時的な)ストレージを伴う循環バッファを含むことが可能である。一時的なストレージは、たとえば、スタティック及び/又はダイナミック・ランダム・アクセス・メモリなど、揮発性メモリを含むことが可能である。本明細書において記述されている一実施態様によれば、内蔵ヒストリアン110は、リンク140-1を介してローカル・ヒストリアン120へ時系列データを転送するように構成されることが可能である。加えて、内蔵ヒストリアン110は、特定のイベントに関連付けられている主要なパラメータに関する過去及び現在のネイティブ分解能データを転送することによって、その特定のイベントに応答するように構成されることが可能である。
【0016】
ローカル・ヒストリアン120は、内蔵ヒストリアン110及び/又はデータ・プロデューサ105からデータを受け入れる高速データ・レコーダを伴うコンピューティング・デバイスを含むことが可能である。ローカル・ヒストリアン120は、データ・レコードを提示するためのユーザ・インターフェース(提示インターフェースとも呼ばれる)を含むことが可能である。ローカル・ヒストリアン120は、たとえば、リンク140-1を介して連続データ・フィードを受信することが可能である。受信されたデータは、内蔵ヒストリアン110に最初に提供されているものよりも低い分解能(たとえば、「中」分解能)で記録される。たとえば、内蔵ヒストリアン110は、ミリ秒レベルでデータを記録することが可能であるが、ローカル・ヒストリアン120は、最初に100msレベルでデータを記録することが可能である。ローカル・ヒストリアン120は、たとえば不揮発性メモリを含む一時的なストレージを含むことが可能である。
【0017】
ローカル・ヒストリアン120は、一時的に記録されたデータ(たとえば、100msの分解能での)をよりいっそう低い分解能(たとえば、「低」分解能)へリサンプリングして、リンク140-2を介した中央ヒストリアン130への転送を容易にすることが可能である。たとえば、ローカル・ヒストリアンは、データを100msの分解能から1秒の分解能へリサンプリングして、帯域幅及びメモリ・リソースを節約することが可能である。本明細書において記述されている一実施態様によれば、ローカル・ヒストリアン120は、リンク140-2を介して中央ヒストリアン130へ時系列データを転送するように構成されることが可能である。加えて、ローカル・ヒストリアン120は、特定のイベントに関連付けられている主要なパラメータに関する過去及び現在の中分解能データを転送することによって、その特定のイベントに応答するように構成されることが可能である。
【0018】
中央ヒストリアン130は、ローカル・ヒストリアン120からのデータを格納、処理、及び提示するためのリモート・システムを含むことが可能である。いくつかの例においては、中央ヒストリアン130は、イベント後分析、システム・モニタリングなどにおいて使用するために複数のソース(たとえば、別々のローカル・ヒストリアン)からのデータを編集することが可能である。帯域幅及びストレージを節約するために、通常の条件のもとでは、中央ヒストリアン130は、低分解能での事前定義された一式の変数に関する時系列データを受信する。本明細書においてさらに記述されているように、イベントに応答して、中央ヒストリアン130は、より高い分解能の時系列データを受信することが可能である。一実施態様によれば、中央ヒストリアン130は、別々の分解能を有する時系列データどうしを、重複するピリオドに関して編集することが可能である。たとえば、中央ヒストリアン130は、内蔵ヒストリアン110から受信されたネイティブ分解能データと、ローカル・ヒストリアン120から受信された中分解能データと、ローカル・ヒストリアン120から受信された低分解能データとを、重複するタイム・ピリオドに関して編集することが可能である。
【0019】
さらに示されているように、環境100は、ヒストリアン・デバイスどうし(たとえば、内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130)の間における通信リンク140を含む。リンク140は、デバイスどうしの間における通信パスを形成するために使用されることが可能である。ヒストリアン・デバイスは、リンク140を介してデータを送信及び受信することが可能である。リンク140-1は、たとえば、ローカル・エリア・ネットワーク(LAN)接続を含むことが可能である。リンク140-2は、たとえば、ワイド・エリア・ネットワーク、ブロードバンド・セルラー・ネットワーク、インターネットなどを含むことが可能である。
【0020】
リンク140は、ワイヤレスの及び/又は有線の(たとえば、電気、光などの)接続として実装されることが可能である。ヒストリアン・デバイスどうしの間における通信接続は、直接的又は間接的であることが可能である。たとえば、間接的な通信接続は、中間デバイス若しくはネットワーク要素、及び/又は図1においては示されていない中間ネットワークを含むことが可能である。加えて、環境100において示されているリンク140の数、タイプ(たとえば、有線、ワイヤレスなど)、及びアレンジは、例示的なものである。
【0021】
図2は、環境100の一部分200における通信を示す図である。部分200は、内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130を含むことが可能である。
【0022】
図2を参照すると、通常の条件のもとでのデータ発行が、信号201から230に関連して示されている。内蔵ヒストリアン110は、(たとえば、データ・プロデューサ105からの)ネイティブ分解能時系列データ201の連続シーケンスを受信することが可能である。内蔵ヒストリアン110は、参照番号205において示されているように、ネイティブ分解能時系列データ201を循環バッファ(たとえば、揮発性メモリ)に格納することが可能である。内蔵ヒストリアン110は、参照番号210において示されているように、ネイティブ分解能データ201を圧縮/サンプリングし、中分解能データ215をローカル・ヒストリアン120へ送ることが可能である。中分解能データ215は、ネイティブ分解能データ201において提供されるよりも少ない変数及び/又は大きな時間増分を含むことが可能である。
【0023】
ローカル・ヒストリアン120は、内蔵ヒストリアン110から中分解能時系列データ215を受信することが可能である。ローカル・ヒストリアン120は、参照番号220において示されているように、中分解能時系列データを不揮発性メモリに格納することが可能である。ローカル・ヒストリアン120は、参照番号225において示されているように、中分解能データ215をさらに圧縮/リサンプリングし、結果として生じる低分解能データ230を中央ヒストリアン130へ送ることが可能である。低分解能データ230は、中分解能データ215において提供されるよりも少ない変数及び/又は大きな時間増分を伴う、中分解能データ215のリサンプリングを含むことが可能である。
【0024】
依然として図2を参照すると、イベントに応答したデータ発行が、信号231から250に関連して示されている。イベントが、たとえば、ローカル・ヒストリアン120によって検知されることが可能である。その他の実施態様においては、イベントが、内蔵ヒストリアン110又はデータ・ソース105によって検知されることが可能である。イベントを検知したことに応答して、ローカル・ヒストリアン120は、たとえば、イベント通知231を内蔵ヒストリアン110へ送ることが可能である。また、そのイベントを検知したことに応答して、ローカル・ヒストリアン120は、参照番号235によって示されているように、自分の不揮発性メモリから自分の格納されている中分解能データの一部分をアップロードすることが可能である。格納されている中分解能データ235のその部分は、たとえば、中分解能データ215のサブセットを含むことが可能である。たとえば、格納されている中分解能データ235の部分は、変数に関するデータを含むことが可能であり、それらの変数は、そのイベントにとって関連があるものとして事前定義されているか、又はその現在のイベントに対するそれらの相関関係に基づいて動的に選択されたものである。その他の実施態様においては、格納されている中解像度データ235のその部分は、定義されたタイム・ピリオド(たとえば、イベントの検知よりも前の事前設定された時間)中に入手された可能性がある。
【0025】
イベント通知231に応答して、内蔵ヒストリアン110は、関連があるネイティブ分解能データ240を自分の循環バッファからアップロードすることが可能である。一実施態様においては、ネイティブ分解能データ240の関連がある変数は、イベント通知231における命令に基づいて特定されることが可能である。その他の実施態様においては、関連があるネイティブ分解能データ240は、そのイベントにとって関連があるものとして事前定義されている変数に関するデータを含むことが可能である。別の実施態様によれば、関連があるネイティブ分解能データ240は、内蔵ヒストリアン110の循環バッファからのすべてのデータを含むことが可能である。いくつかの例においては、特定のイベントに関するデータ・ボリュームに応じて、ネイティブ分解能データ240は、ネイティブ分解能データ240よりもわずかに低い分解能を提供するようにサンプリングされることが可能である。すなわち、ネイティブ分解能データ240は、選択された変数に関する「中高」分解能を提供することが可能である。中高分解能は、中分解能データ215の分解能よりも高いが、ネイティブ分解能データ201の分解能よりも低い。一実施態様によれば、内蔵ヒストリアン110は、イベントの後に、設定されているタイム・ピリオドの間に高分解能データを引き続き転送することが可能である。ローカル・ヒストリアン120は、関連があるネイティブ分解能データ240を受信し、参照番号245によって示されているように、関連があるネイティブ分解能データ240を中央ヒストリアン130へ転送することが可能である。
【0026】
中央ヒストリアン130は、低分解能データ230と、格納されている中分解能データ235の部分と、転送された関連があるネイティブ分解能データ245とを受信することが可能である。中央ヒストリアン130は、参照番号250によって示されているように、別々の分解能を有するこの別々の時系列データどうしを、重複するタイム・ピリオドに関して編集することが可能である。過去に発生した重複するタイム・ピリオドに関して、より高い分解能のデータが利用可能である場合には、中央ヒストリアン130は、より高い分解能のデータ(たとえば、格納されている中分解能データ235及び/又は転送された関連があるネイティブ分解能データ245からの)を、以前に受信されたさらに低い分解能のデータとマージして、図3に関連してさらに記述されているように、可変分解能のデータを作成することが可能である。
【0027】
図2は、環境部分200における通信の簡略化された図解を提供しており、デバイス/機能の間においてやり取りされるあらゆる信号又は通信を反映することを意図されているものではない。たとえば、図2において示されている通信は、サブスクリプション通知モデル又は要求応答モデルを介して実施されることが可能である。さらに、図2において示されているプロセスに関しては、一連の信号が記述されているが、それらの信号の順序は、その他の実施例に従って修正されることが可能である。たとえば、いくつかの信号が並列に実行されることが可能である。
【0028】
図3は、内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130によって提供されることが可能である別々のデータ・サンプル310、320、及び330の例示的な図解である。データ・サンプル310、320、及び330のそれぞれは、時間Tにおけるイベント・トリガーによって定義されている時間ウィンドウに対応することが可能である。データ・サンプル310、320、及び330の時系列データにおけるそれぞれの個々のデータ・ポイントは、たとえば、データ値及び対応するタイムスタンプを含むことが可能である。内蔵ヒストリアン110、ローカル・ヒストリアン120、及び中央ヒストリアン130は、時間同期化されることが可能である。
【0029】
データ・サンプル310は、たとえば、イベントに先行する時間T0-xで開始してイベントの後の時間T0+xで終了するピリオドに関するネイティブ(又は高)分解能時系列データを含むことが可能であり、この場合、「x」は、Tの前後の時間ウィンドウを定義している。「x」の値は、内蔵ヒストリアン110のバッファ・サイズ又は検知されたイベントのタイプに基づくことが可能である。データ・サンプル310は、たとえば、10ミリ秒(たとえば、データ・ポイントどうしの間における10ms)以下のデータ分解能を含むことが可能である。データ・サンプル310は、転送された関連があるネイティブ分解能データ245に対応することが可能である。
【0030】
データ・サンプル320は、たとえば、イベントに先行する時間T0-yで開始してイベントの後の時間T0+yで終了するピリオドに関する中分解能時系列データを含むことが可能であり、この場合、「y」は、Tの前後の時間ウィンドウを定義している。データ・サンプル320に関するウィンドウは、データ・サンプル310に関する時間ウィンドウよりも大きいことが可能である。「y」の値は、ローカル・ヒストリアン110のメモリ・キャパシティー又は検知されたイベントのタイプに基づくタイム・ピリオドであることが可能である。データ・サンプル320は、たとえば、100ミリ秒(たとえば、データ・ポイントどうしの間における100ms)のデータ分解能を含むことが可能である。データ・サンプル320は、格納されている中分解能データ235の部分に対応することが可能である。
【0031】
データ・サンプル330は、たとえば、ローカル・ヒストリアン120によって継続的に又は定期的に発行される低分解能時系列データを含むことが可能である。データ・サンプル320は、たとえば、1秒(たとえば、データ・ポイントどうしの間における1秒)のデータ分解能を含むことが可能である。データ・サンプル330は、低分解能データ230に対応することが可能である。
【0032】
データ・サンプル340は、データ・サンプル310、320、及び330に基づいて、Tにおけるイベントに関して中央ヒストリアン130によって編集されることが可能である適応分解能サンプルを示している。たとえば、中央ヒストリアン130は、データ・サンプル310、320、及び330からのタイムスタンプを使用して、重複するピリオドにおける冗長データを排除することが可能である。
【0033】
図4は、本明細書において記述されているデバイスのうちの1つ又は複数に含まれることが可能であるデバイス400の例示的なコンポーネントを示す図である。たとえば、デバイス400は、本明細書において記述されている、内蔵ヒストリアン110、ローカル・ヒストリアン120、中央ヒストリアン130、及びその他のタイプのデバイスに相当することが可能である。図4において示されているように、デバイス400は、バス405と、プロセッサ410と、ソフトウェア420を格納しているメモリ/ストレージ415と、通信インターフェース425と、入力430と、出力435とを含む。その他の実施例によれば、デバイス400は、図4において示されているもの、及び本明細書において記述されているものと比べて、より少ないコンポーネント、追加のコンポーネント、異なるコンポーネント、及び/又は、コンポーネントどうしの異なるアレンジを含むことが可能である。
【0034】
バス405は、デバイス400のコンポーネントどうしの間における通信を可能にするパスを含む。たとえば、バス405は、システム・バス、アドレス・バス、データ・バス、及び/又は制御バスを含むことが可能である。バス405は、バス・ドライバ、バス・アービタ、バス・インターフェース、クロックなどを含むことも可能である。
【0035】
プロセッサ410は、1つ若しくは複数のプロセッサ、マイクロプロセッサ、データ・プロセッサ、コプロセッサ、グラフィックス・プロセッシング・ユニット(GPU)、特定用途向け集積回路(ASIC)、コントローラ、プログラマブル・ロジック・デバイス、チップセット、フィールドプログラマブル・ゲート・アレイ(FPGA)、アプリケーション固有命令セット・プロセッサ(ASIP)、システムオンチップ(SoC)、中央処理装置(CPU)(たとえば、1つ若しくは複数のコア)、マイクロコントローラ、ニューラル処理ユニット(NPU)、並びに/又は、命令及び/若しくはデータを解釈及び/若しくは実行する何らかのその他のタイプのコンポーネントを含む。プロセッサ410は、ハードウェア(たとえば、マイクロプロセッサなど)、ハードウェアとソフトウェアとの組合せ(たとえば、SoC、ASICなど)として実装されることが可能であり、1つ又は複数のメモリ(たとえば、キャッシュなど)を含むことが可能である、といった具合である。
【0036】
プロセッサ410は、デバイス400によって実行されるオペレーション全体又はオペレーションの一部分を制御することが可能である。プロセッサ410は、オペレーティング・システム及び/又はさまざまなアプリケーション若しくはコンピュータ・プログラム(たとえば、ソフトウェア420)に基づいて1つ又は複数のオペレーションを実行することが可能である。プロセッサ410は、メモリ/ストレージ415からの、デバイス400のその他のコンポーネントからの、及び/又はデバイス400の外部のソース(たとえば、ネットワーク、別のデバイスなど)からの命令にアクセスすることが可能である。プロセッサ410は、たとえば、マルチスレッディング、並列処理、パイプライン処理、インターリービングなどを含むさまざまな技術に基づいてオペレーション及び/又はプロセスを実行することが可能である。
【0037】
メモリ/ストレージ415は、1つ若しくは複数のメモリ及び/又は1つ若しくは複数のその他のタイプのストレージ・メディアを含む。たとえば、メモリ/ストレージ415は、ランダム・アクセス・メモリ(RAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、キャッシュ、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、シングル・インライン・メモリ・モジュール(SIMM)、デュアル・インライン・メモリ・モジュール(DIMM)、フラッシュ・メモリ(たとえば、2D、3D、NOR、NANDなど)、ソリッド・ステート・メモリ、及び/又は何らかのその他のタイプのメモリなど、1つ又は複数のタイプのメモリを含むことが可能である。メモリ/ストレージ415は、ハード・ディスク(たとえば、磁気ディスク、光ディスク、磁気光ディスク、ソリッド・ステート・ディスクなど)、微小電気機械システム(MEMS)ベースのストレージ・メディア、及び/又はナノテクノロジーベースのストレージ・メディアを含むことが可能である。いくつかの例においては、メモリ/ストレージ415は、ストレージ・メディアに対して読み取り及び書き込みを行うためのドライブを含むことが可能である。
【0038】
メモリ/ストレージ415は、たとえば、ユニバーサル・シリアル・バス(USB)メモリ・スティック、ドングル、ハード・ディスク、マス・ストレージ、オフライン・ストレージ、又は何らかのその他のタイプの記憶メディア(たとえば、コンパクト・ディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ・ディスク(BD)等)など、デバイス400の外部にあること、及び/又はデバイス400から取り外し可能であることが可能である。メモリ/ストレージ415は、デバイス400のオペレーションに関連したデータ、ソフトウェア、及び/又は命令を格納することが可能である。
【0039】
ソフトウェア420は、機能及び/又はプロセスを提供するアプリケーション又はプログラムを含む。一例として、ローカル・ヒストリアン120に関連して、ソフトウェア420は、アプリケーションを含むことが可能であり、そのアプリケーションは、プロセッサ410によって実行されたときに、ローカル・ディスプレイ上にデータ(たとえば、中分解能データ215)を提示する機能及び/又はプロセスを提供する。加えて、たとえば、中央ヒストリアン130に関連して、ソフトウェア420は、アプリケーションを含むことが可能であり、そのアプリケーションは、プロセッサ410によって実行されたときに、本明細書において記述されているように、別々の分解能のデータどうしをマージして、適応分解能データ・サンプル(たとえば、適応分解能データ・サンプル340)にする。ソフトウェア420は、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語(HDL)、及び/又はその他の形態の命令を含むことも可能である。ソフトウェア420は、仮想化されることも可能である。ソフトウェア420はさらに、オペレーティング・システム(OS)(たとえば、Windows(登録商標)、Linux、Android、独自仕様など)を含むことが可能である。
【0040】
通信インターフェース425は、デバイス400が、その他のデバイス、ネットワーク、システムなどと通信することを可能にする。通信インターフェース425は、1つ又は複数の有線の及び/又はワイヤレスのインターフェースを含む。たとえば、通信インターフェース425は、1つ又は複数のトランスミッタ及びレシーバ、又はトランシーバを含むことが可能である。通信インターフェース425は、プロトコル・スタック及び通信標準に従って動作することが可能である。いくつかの態様においては、通信インターフェース425は、アンテナを含むことが可能である。通信インターフェース425は、さまざまな処理ロジック又は回路(たとえば、多重化/逆多重化、フィルタリング、増幅、変換、エラー訂正、アプリケーション・プログラミング・インターフェース(API)など)を含むことが可能である。通信インターフェース425は、ポイントツーポイント・インターフェース、サービス・ベースのインターフェースなどとして実装されることが可能である。
【0041】
入力430は、デバイス400への入力を可能にする。たとえば、入力430は、キーボード、マウス、ディスプレイ、タッチスクリーン、タッチレス・スクリーン、ボタン、スイッチ、入力ポート、音声認識ロジック、及び/又は何らかのその他のタイプの視覚、聴覚、触覚などの入力コンポーネントを含むことが可能である。出力435は、デバイス400からの出力を可能にする。たとえば、出力435は、スピーカー、ディスプレイ、タッチスクリーン、タッチレス・スクリーン、ライト、出力ポート、及び/又は何らかのその他のタイプの視覚、聴覚、触覚などの出力コンポーネントを含むことが可能である。
【0042】
デバイス400は、メモリ/ストレージ415によって格納されているソフトウェア420をプロセッサ410が実行したことに応答して、本明細書において記述されているプロセス及び/又は機能を実行することが可能である。例として、命令は、別のメモリ/ストレージ415(図示せず)からメモリ/ストレージ415へと読み込まれること、又は通信インターフェース425を介して別のデバイス(図示せず)から読み取られることが可能である。メモリ/ストレージ415によって格納されている命令は、本明細書において記述されているプロセス及び/又は機能をプロセッサ410に実行させる。或いは、たとえば、その他の実施態様によれば、デバイス400は、ハードウェア(プロセッサ410など)の実行に基づいて、本明細書において記述されているプロセス及び/又は機能を実行する。
【0043】
図5Aは、内蔵ヒストリアン110の例示的な論理コンポーネントを示すブロック図であり、図5Bは、内蔵ヒストリアン120の例示的な論理コンポーネントを示すブロック図である。図5A及び図5Bに関連して記述されている機能は、デバイス400(図4)の1つ又は複数のコンポーネントによって実行されることが可能である。図5A及び図5Bの論理ブロックのうちのいくつか又はすべては、たとえば、アプリケーション(たとえば、ソフトウェア435)に含まれること、メモリ430に格納されること、及びプロセッサ420によって実行されることが可能である。図5A及び図5Bのその他の論理ブロックは、ハードウェア・コンポーネント(たとえば、プロセッサ410)として含まれることが可能である。
【0044】
図5Aにおいて示されているように、内蔵ヒストリアン110は、データ・レシーバ510、イベント検知アルゴリズム512、イベント通知ロジック514、データ・サンプリング/圧縮ロジック516、データ・ストレージ・マネージャー518、及びデータ・フォワーダ520を含むことが可能である。図5Bにおいて示されているように、ローカル・ヒストリアン120は、データ・レシーバ530、イベント検知アルゴリズム532、イベント通知ロジック534、データ・サンプリング/圧縮ロジック536、データ・ストレージ・マネージャー538、データ・フォワーダ540、及び提示インターフェース542を含むことが可能である。その他の構成が実装されることが可能である。そのため、内蔵ヒストリアン110及びローカル・ヒストリアン120は、図5A及び図5Bにおいて示されているものと比べて、追加の、より少ない、及び/又は異なる論理コンポーネントを含むことが可能である。
【0045】
図5Aを参照すると、データ・レシーバ510は、データ・プロデューサ105からデータを受信することが可能である。一実施態様によれば、データ・レシーバ510は、データ・プロデューサ105(たとえば、特定のコントローラ、コンポーネント、又はセンサ)からネイティブ分解能で直接のリンクを介してデータを受信することが可能である。
【0046】
イベント検知アルゴリズム512は、特定のデータ・プロデューサ105(たとえば、データ・レシーバ510にデータを提供する特定のコントローラ、コンポーネント、又はセンサ)に関連したイベントに関する定義及び応答を含むことが可能である。イベント検知アルゴリズム512は、ローカル・イベント又は異常を示すことが可能であるしきい値、ヒステリシス設定、又はその他の値を含むことが可能である。イベント検知アルゴリズム512は、ネイティブ分解能データが転送されることになる特定の変数を識別することなど、それぞれの定義されているイベントに対する応答を定義することも可能である。
【0047】
イベント通知ロジック514は、イベント検知アルゴリズム512における情報を適用して、イベントが発生したときにイベントを検知してローカル・ヒストリアン120にシグナリングすることが可能である。たとえば、イベント通知ロジック514は、事前設定されたしきい値を上回るデータ値を検知し、データ・フォワーダ520及びローカル・ヒストリアン120に通知することが可能である。別の実施態様においては、イベント通知ロジック514は、別のコンポーネント(たとえば、ローカル・ヒストリアン120)からイベント通知を受信し、データ・フォワーダ520に通知することが可能である。
【0048】
データ・サンプリング/圧縮ロジック516は、データ圧縮及び/又は変換技術を適用して、データ・プロデューサ105からの入力されたネイティブ分解能データ(たとえば、ネイティブ分解能データ201)を、ローカル・ヒストリアン120へ転送されることが可能である中分解能データ(たとえば、中分解能データ215)へ変換することが可能である。たとえば、データ・サンプリング/圧縮ロジック516は、ローカル・ヒストリアン120へ転送するためにネイティブ分解能時系列データからn番目ごとのデータ・ポイントを選択するように構成されることが可能である。別の実施態様においては、データ・サンプリング/圧縮ロジック516は、転送のためにネイティブ分解能データからいくつかの変数に関するデータのみを選択することが可能である。さらに別の実施態様においては、データ・サンプリング/圧縮ロジック516は、複数の入力変数からの情報どうしを、転送/発行のための出力変数に関するネイティブ分解能データにおいて組み合わせることが可能である。
【0049】
データ・ストレージ・マネージャー518は、データ・プロデューサ105から受信されたネイティブ分解能データのための循環バッファを管理することが可能である。たとえば、データ・ストレージ・マネージャー518は、ネイティブ分解能でのデータ・プロデューサ105からの時系列データを格納し、メモリ・キャパシティーに達したときに最も古いデータを上書きすることが可能である。
【0050】
データ・フォワーダ520は、ローカル・ヒストリアン120へデータを転送することが可能である。通常の条件のもとで、データ・フォワーダ520は、サンプリングされたデータ(たとえば、中分解能データ215)をデータ・サンプリング/圧縮ロジック516に基づいて転送することが可能である。(たとえば、イベント通知ロジック514からの)イベントの通知に応じて、データ・フォワーダ520は、(たとえば、イベント検知アルゴリズム512によって特定された)選択された変数に関する入ってくるネイティブ分解能データをローカル・ヒストリアン120へ転送することをすぐに開始し、それらの選択された変数に関する格納されているネイティブ分解能データを転送することが可能である。加えて、データ・フォワーダ520は、(たとえば、イベント検知アルゴリズム512によって指定されていない変数に関する)中分解能でのその他のデータを引き続き転送することが可能である。データ・フォワーダ520はまた、ネットワーク・リンク140-1のステータスをモニタし、待ち行列に入れられたデータを必要に応じてバッファリングして、成功するデータ配信を確実にすることが可能である。
【0051】
図5Bを参照すると、データ・レシーバ530は、内蔵ヒストリアン110からデータを受信することが可能である。一実施態様によれば、通常の条件のもとで、データ・レシーバ530は、中分解能(たとえば、中分解能データ215)でローカル・ネットワーク・リンク(たとえば、リンク140-1)を介してデータを受信することが可能である。イベントの通知又は検知に応じて、データ・レシーバ530は、内蔵ヒストリアン110からの関連があるネイティブ分解能データ(たとえば、関連があるネイティブ分解能データ240)をその他の中分解能データとともに受信することが可能である。
【0052】
イベント検知アルゴリズム532は、1つ又は複数のデータ・プロデューサ105に関連したイベントに関する定義及び応答を含むことが可能である。イベント検知アルゴリズム532は、ローカル又はシステム・イベントを示すことが可能であるしきい値、ヒステリシス設定、データの組合せ、又はその他の値を含むことが可能である。イベントは、重要度及び動作状態などのユーザ定義のファクタに基づいて「トリガー」として構成されることが可能である。複数のイベント及び条件を組み合わせることによって、複雑なトリガーが作成されることが可能である。イベント検知アルゴリズム532は、特定の内蔵ヒストリアン110によってネイティブ分解能データが転送されることになる特定の変数を識別することなど、それぞれのイベントに対する応答を定義することも可能である。
【0053】
イベント通知ロジック534は、イベント検知アルゴリズム532における情報を適用して、イベントが発生したときにイベントを検知して内蔵ヒストリアン110にシグナリングすることが可能である。たとえば、イベント通知ロジック534は、事前設定されたしきい値を上回るデータ値を検知し、データ・フォワーダ540及び関連がある内蔵ヒストリアン110に通知することが可能である。別の実施態様においては、イベント通知ロジック534は、別のコンポーネント(たとえば、内蔵ヒストリアン110、ユーザ入力など)からイベント通知を受信し、データ・フォワーダ540に通知することが可能である。以降でさらに記述されている別の実施態様においては、イベント通知ロジックは、提示インターフェース542への入力に基づいて特定のタイム・ピリオドに関してイベント基準を適用することが可能である。
【0054】
データ・サンプリング/圧縮ロジック536は、データ圧縮技術を適用して、内蔵ヒストリアン110からの中分解能データ(たとえば、中分解能データ215)を、中央ヒストリアン130へ転送されることが可能である低分解能データ(たとえば、低分解能データ230)へ変換することが可能である。たとえば、データ・サンプリング/圧縮536は、中央ヒストリアン130へ転送するために中分解能時系列データからn番目ごとのデータ・ポイントを選択するように構成されることが可能である。別の例として、データ・サンプリング/圧縮ロジック536は、中分解能データ215からの入力に基づいて別々の出力変数を算出することが可能である。データ・ストレージ・マネージャー538は、データ・プロデューサ105から受信された中分解能データのためのローカル・メモリを管理することが可能である。
【0055】
データ・フォワーダ540は、中央ヒストリアン130へデータを転送することが可能である。通常の条件のもとで、データ・フォワーダ540は、サンプリングされたデータ(たとえば、低分解能データ230)をデータ・サンプリング/圧縮ロジック536に基づいて転送することが可能である。(たとえば、イベント通知ロジック534からの)イベントの通知に応じて、データ・フォワーダ540は、内蔵ヒストリアン110から受信される入ってくるネイティブ分解能データを中央ヒストリアン130へ転送することをすぐに開始し、選択された変数に関する格納されている中分解能データを転送することが可能である。加えて、データ・フォワーダ540は、(たとえば、イベント検知アルゴリズム532によって指定されていない変数に関する)低分解能でのその他のデータを引き続き転送することが可能である。データ・フォワーダ540はまた、ネットワーク・リンク140-2のステータスをモニタし、待ち行列に入れられたデータを必要に応じてバッファリングして、成功するデータ配信を確実にすることが可能である。
【0056】
提示インターフェース542は、ローカル・ヒストリアン120及び内蔵ヒストリアン110の提示及び構成を可能にすることができる。たとえば、アクティブなイベント・トリガーの欠如にもかかわらず、より高い分解能のデータを共有したいとユーザが望む場合には、提示インターフェース542は、関心のある時間ウィンドウの選択と、注釈付きイベントの作成とを可能にすることになり、それは次いで、イベントベースの高分解能のデータ・オーバーライドをトリガーすることになる。提示インターフェース542は、内蔵ヒストリアン110から受信された選択されたデータを提示するためのグラフィカル・インターフェースを提供することも可能である。
【0057】
図5A及び図5Bは、内蔵ヒストリアン110及びローカル・ヒストリアン120の例示的な論理コンポーネントを示しているが、その他の実施態様においては、内蔵ヒストリアン110及びローカル・ヒストリアン120は、図5A及び図5Bにおいて示されているものと比べて、より少ない論理コンポーネント、異なる論理コンポーネント、又は追加の論理コンポーネントを含むことが可能である。たとえば、別の実施態様においては、内蔵ヒストリアン110は、イベント検知アルゴリズム512又はイベント通知ロジック514を含まないことが可能である。追加として、又は代替として、内蔵ヒストリアン110及びローカル・ヒストリアン120の1つ又は複数の論理コンポーネントは、1つ又は複数のその他の論理コンポーネントによって実行されるものとして記述されている機能を実行することが可能である。
【0058】
図6及び図7は、本明細書において記述されている実施態様による、制御システム・データの転送のためのコンテキスト適応型分解能を提供するためのプロセスの流れ図である。一実施態様によれば、図6のプロセス600は、内蔵ヒストリアン110によって実行されることが可能であり、そして図7のプロセス700は、ローカル・ヒストリアン120によって実行されることが可能である。別の実施態様においては、プロセス600/700は、中央ヒストリアン130とともに内蔵ヒストリアン110及びローカル・ヒストリアン120のうちの1つ又は複数によって実行されることが可能である。
【0059】
図6において示されているように、プロセス600は、1つ又は複数のデータ・プロデューサから時系列データを受信するステップ(ブロック610)と、ネイティブ分解能での時系列データを格納するステップ(ブロック620)とを含むことが可能である。たとえば、一実施態様によれば、内蔵ヒストリアン110は、データ・プロデューサ105からデータを受信することが可能である。内蔵ヒストリアン110(たとえば、データ・ストレージ・マネージャー518)は、ネイティブ分解能でのデータ・プロデューサ105からの時系列データを格納して、バッファ・キャパシティーに達したときに最も古いデータを上書きすることが可能である。
【0060】
プロセス600は、入力データから出力変数を特定するステップ(ブロック630)と、中分解能での出力変数に関するデータを発行するステップ(ブロック640)とを含むことも可能である。たとえば、内蔵ヒストリアン110(たとえば、データ・サンプリング/圧縮ロジック516)は、データ圧縮及び/又は変換技術を適用して、データ・プロデューサ105からのネイティブ分解能データ(たとえば、ネイティブ分解能データ201)を、ローカル・ヒストリアン120へ転送されることが可能である中分解能データ(たとえば、中分解能データ215)へ変換することが可能である。通常の条件のもとで、内蔵ヒストリアン110(たとえば、データ・フォワーダ520)は、サンプリングされたデータ(たとえば、中分解能データ215)をデータ・サンプリング/圧縮ロジック516に基づいて転送することが可能である。
【0061】
プロセス600はさらに、イベント・トリガーがあるかどうかを特定するステップ(ブロック650)を含むことが可能である。たとえば、内蔵ヒストリアン110(たとえば、イベント通知ロジック514)は、イベント検知アルゴリズム512における情報を適用して、イベントが発生したときにイベントを検知してローカル・ヒストリアン120にシグナリングすることが可能である。別の実施態様においては、内蔵ヒストリアン110は、別のコンポーネント(たとえば、ローカル・ヒストリアン120)からイベント通知を受信することが可能である。
【0062】
イベント・トリガーが検知された(ブロック650の「はい」である)場合には、プロセス600は、ネイティブ分解能での格納されている時系列データからの関連がある変数に関するデータを再発行するステップ(ブロック660)と、ネイティブ分解能での入ってくる時系列データからの関連がある変数を発行するステップ(ブロック670)とを含むことが可能である。たとえば、イベントの通知に応じて、内蔵ヒストリアン110(たとえば、データ・フォワーダ520)は、(たとえば、イベント検知アルゴリズム512に基づいて)そのイベントに関連があるとして識別されている選択された変数に関する格納されているネイティブ分解能データを転送することが可能である。また、内蔵ヒストリアン110(たとえば、データ・フォワーダ520)は、選択された変数に関する入ってくるネイティブ分解能データをローカル・ヒストリアン120へ転送することをすぐに開始することが可能である。たとえば、データ・フォワーダ520は、(たとえば、イベント検知アルゴリズム512において定義されている)イベント通知よりも後の設定されている時間のピリオドの間に最も高い利用可能な分解能のデータを転送することが可能である。
【0063】
イベント・トリガーが検知されなかった(ブロック650の「いいえ」である)場合には、プロセス600は、ブロック630へ戻って、時系列データを引き続き格納することが可能である。図6における流れ図のいくつかの部分は、一連の連続したブロックとして表されているが、その他の実施態様においては、別々のブロックが並列に又は連続して実行されることが可能である。たとえば、一実施態様においては、選択された変数に関してネイティブ分解能データが発行されている間に、中分解能での通常の出力が継続することが可能である。
【0064】
図7を参照すると、プロセス700は、内蔵ヒストリアンから中分解能時系列データを受信するステップ(ブロック710)と、中分解能での時系列データを格納するステップ(ブロック720)とを含むことが可能である。たとえば、一実施態様によれば、ローカル・ヒストリアン120は、内蔵ヒストリアン110からのデータを受信することが可能である。ローカル・ヒストリアン120(たとえば、データ・ストレージ・マネージャー538)は、中分解能での時系列データを格納することが可能である。
【0065】
プロセス700は、中分解能データから出力変数を特定するステップ(ブロック730)と、低分解能での出力変数に関するデータを発行するステップ(ブロック740)とを含むことも可能である。たとえば、ローカル・ヒストリアン120(たとえば、データ・サンプリング/圧縮ロジック536)は、データ圧縮及び/又は変換技術を適用して、内蔵ヒストリアン110からの中分解能データ(たとえば、中分解能データ215)を、中央ヒストリアン120へ転送されることが可能である低分解能データ(たとえば、低分解能データ230)へ変換することが可能である。通常の条件のもとで、ローカル・ヒストリアン120(たとえば、データ・フォワーダ540)は、サンプリングされたデータをデータ・サンプリング/圧縮ロジック536に基づいて転送することが可能である。
【0066】
プロセス700はさらに、イベント・トリガーがあるかどうかを特定するステップ(ブロック750)を含むことが可能である。たとえば、ローカル・ヒストリアン120(たとえば、イベント通知ロジック534)は、イベント検知アルゴリズム532における情報を適用して、イベントが発生したときにイベントを検知して内蔵ヒストリアン110にシグナリングすることが可能である。別の実施態様においては、ローカル・ヒストリアン120は、別のコンポーネント(たとえば、内蔵ヒストリアン110)からイベント通知を受信することが可能である。
【0067】
イベント・トリガーが検知された(ブロック750の「はい」である)場合には、プロセス700は、中分解能での格納されている時系列データからの関連がある変数に関するデータを再発行するステップ(ブロック760)と、ネイティブ分解能での内蔵ヒストリアンからの入ってくる時系列データを受信して転送するステップ(ブロック670)とを含むことが可能である。たとえば、イベントの通知に応じて、ローカル・ヒストリアン120(たとえば、データ・フォワーダ540)は、(たとえば、イベント検知アルゴリズム512に基づいて)そのイベントに関連があるとして識別されている選択された変数に関する格納されている中分解能データを転送することが可能である。データ・フォワーダ540は、(たとえば、イベント検知アルゴリズム532において定義されている)イベント通知よりも前の所定のピリオドの間に、格納されている中分解能データを転送することが可能である。また、ローカル・ヒストリアン120(たとえば、データ・フォワーダ540)は、イベント通知に応答して内蔵ヒストリアン110によって提供されている入ってくるネイティブ分解能データを受信して、中央ヒストリアン130へ転送することをすぐに開始することが可能である。
【0068】
イベント・トリガーが検知されなかった(ブロック750の「いいえ」である)場合には、プロセス700は、ブロック730へ戻って、時系列データを引き続き格納することが可能である。図7における流れ図のいくつかの部分は、一連の連続したブロックとして表されているが、その他の実施態様においては、別々のブロックが並列に又は連続して実行されることが可能である。たとえば、一実施態様においては、選択された変数に関して中及び/又はネイティブ分解能データが発行されている間に、低分解能での通常の出力が継続することが可能である。
【0069】
本明細書において記述されているシステム及び方法は、コンテキスト適応型分解能を使用して、重要な産業用制御システム・データのロスレス転送を達成する。産業用制御システムによって生成又は収集され、ネットワークを通じてリモート・ヒストリアン・システムへ送信される時系列データに関する帯域幅及びストレージの最適化が達成される。制御システムは、1つ又は複数の内蔵ヒストリアン及びローカル・ヒストリアンを通じて実装されることが可能である。制御システムは、入力データを継続的に処理し、出力変数を算出し、事前定義された一式の条件を一式の変数が満たしている場合にイベント・トリガーを生成する。アクティブなイベント・トリガーがない場合には、制御システムは、帯域幅及びストレージを節約するために、より低い分解能での事前定義された一式の変数に関する時系列データを発行する。イベント・トリガーがアクティブ化された場合には、制御システムは、変数のサブセットに関する最近の及び現在の時系列データをより高い分解能でサブスクライバーに発行する。
【0070】
例示的な実施態様についての前述の記述は、例示及び記述を提供しているが、網羅的であること、又は本明細書において記述されている実施例を、開示されている正確な形態に限定することを意図されているものではない。修正及び変形が、上記の教示に照らせば可能であり、又は実施例の実践から得られることが可能である。
【0071】
本発明が詳細に上述されているが、本発明の趣旨から逸脱することなく本発明が修正されることが可能であることは、関連がある技術分野における技術者にとって明らかであろうということは明確に理解される。本発明の趣旨及び範囲から逸脱することなく、形態、設計、又はアレンジ(たとえば、キャパシティー制御、スピード制御、又はその他の制御用途における使用)のさまざまな変更が本発明に対して行われることが可能である。
【0072】
本出願の記述において使用されているいかなる要素、行為、又は命令も、本発明にとって重要又は不可欠であると解釈されるべきではない。ただし、そのように明示的に記述されている場合は除く。また、本明細書において使用される際には、「a」という冠詞は、1つ又は複数のアイテムを含むことを意図されている。さらに、「~に基づいて」というフレーズは、「少なくとも部分的に、~に基づいて」を意味することを意図されている。ただし、そうではないと明示的に述べられている場合は除く。
【0073】
本明細書において記述されている実施例は、ハードウェアによって実行される多くの異なる形態のソフトウェアで実装されることが可能である。たとえば、プロセス又は機能は、「ロジック」、「コンポーネント」、又は「要素」として実装されることが可能である。ロジック、コンポーネント、又は要素は、たとえば、ハードウェア(たとえば、プロセッサ410など)、又はハードウェアとソフトウェア(たとえば、ソフトウェア420)との組合せを含むことが可能である。実施例は、特定のソフトウェア・コードに関連させることなく記述されてきた。なぜなら、ソフトウェア・コードは、本明細書における記述、並びに市販のソフトウェア設計環境及び/又は言語に基づいて実施例を実装するように設計されることが可能であるからである。たとえば、コンパイラ型言語、インタープリタ型言語、宣言型言語、又は手続き型言語を含むさまざまなタイプのプログラミング言語が実装されることが可能である。
【0074】
当技術分野における普通のスキルを有する者に知られている、又は後に知られるようになる、本開示において記載されているさまざまな態様の要素に対するすべての構造的な及び機能的な均等物は、参照によって本明細書に明示的に組み込まれており、特許請求の範囲によって包含されることを意図されている。クレームのいかなるクレーム要素も、35 U.S.C. §112(f)のもとで解釈されるべきではない。ただしクレーム要素が、「~のための手段」又は「~のためのステップ」というフレーズを明示的に含む場合は除く。
【0075】
クレーム要素を修飾するためにクレームにおいて「第1の」、「第2の」、「第3の」等などの序数の用語を使用することは、それ自体、あるクレーム要素の別のクレーム要素に対する何らかの優先度、優位、又は順序、方法の行為が行われる時間的な順序、デバイスによって実行される命令が行われる時間的な順序などを含意するものではなく、クレーム要素どうしを区別する目的で、特定の名前を有する1つのクレーム要素を、(序数の用語の使用を別にすれば)同じ名前を有する別の要素から区別するためのラベルとして使用されているにすぎない。
図1
図2
図3
図4
図5A
図5B
図6
図7