(57)【要約】  産業製造環境においてデータを記憶するためのシステムは、複数のインテリジェントプログラマブルロジックコントローラ装置に記憶された分散データ管理システムを備えている。各インテリジェントプログラマブルロジックコントローラ装置は、プロセスイメージ領域を有する揮発性のコンピュータ可読記憶媒体と、不揮発性のコンピュータ可読記憶媒体と、製造ユニットへ動作指令を供給するように構成された制御プログラムと、各スキャン周期中に製造ユニットに関連するデータを用いてプロセスイメージ領域を更新するために構成された入力／出力構成要素と、分散データ管理システムのインスタンスを有する分散データ管理構成要素と、コンテキスト付与構成要素と、ヒストリアン構成要素と、データ解析構成要素とを備えている。
2019505886.tif 000002
【特許請求の範囲】
【請求項１】
産業製造環境においてデータを記憶するためのシステムであって、
複数のインテリジェントプログラマブルロジックコントローラ装置上に記憶された分散データ管理システムを備えており、
各インテリジェントプログラマブルロジックコントローラ装置は、
プロセスイメージ領域を有する揮発性のコンピュータ可読記憶媒体と、
不揮発性のコンピュータ可読記憶媒体と、
製造ユニットへ動作指令を供給するように構成された制御プログラムと、
各スキャン周期中に前記製造ユニットに関連するデータを用いて前記プロセスイメージ領域を更新するために構成された入力／出力構成要素と、
前記分散データ管理システムのインスタンスを有する分散データ管理構成要素と、
オートメーションシステムコンテキスト情報を用いて前記プロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成するように構成されたコンテキスト付与構成要素と、
前記プロセスイメージ領域の内容と前記コンテキスト付きデータとをローカルに記憶することにより、前記内容を前記分散データ管理システム全体にわたって前記分散データ管理構成要素が入手できるようにするように構成されたヒストリアン構成要素と、
前記分散データ管理構成要素を用いて、前記分散データ管理システム全体にわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行するように構成されたデータ解析構成要素と
を備えているシステム。
【請求項２】
各インテリジェントプログラマブルロジックコントローラ装置はさらに、
前記制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて前記１つまたは複数の推論アルゴリズムを動的に修正するように構成された知識管理構成要素
を備えている、請求項１記載のシステム。
【請求項３】
各インテリジェントプログラマブルロジックコントローラ装置の前記コンテキスト付与構成要素によって使用される前記１つまたは複数の宣言知識モデルは、ウェブオントロジー言語（ＯＷＬ）を用いて表現されるオントロジーを有する、
請求項２記載のシステム。
【請求項４】
各インテリジェントプログラマブルロジックコントローラ装置の前記コンテキスト付与構成要素によって使用される前記１つまたは複数の宣言知識モデルは、予測モデルマークアップ言語（ＰＭＭＬ）標準規格を用いて表現される予測モデルを有する、
請求項２記載のシステム。
【請求項５】
各インテリジェントプログラマブルロジックコントローラ装置の前記コンテキスト付与構成要素によって使用される前記１つまたは複数の宣言知識モデルは、ルール交換フォーマット（ＲＩＦ）標準規格を用いて表現される１つまたは複数のルールを有する、
請求項２記載のシステム。
【請求項６】
各インテリジェントプログラマブルロジックコントローラ装置の前記データ解析構成要素によって使用される前記１つまたは複数の推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている、
請求項１記載のシステム。
【請求項７】
前記納入者指定された１つまたは複数の知識モデルは、前記複数のインテリジェントプログラマブルロジックコントローラ装置の１つもしくは複数の能力に関する情報、前記複数のインテリジェントプログラマブルロジックコントローラ装置において入手可能な診断知識、および／または、前記複数のインテリジェントプログラマブルロジックコントローラ装置によって使用されるデータレイアウト情報を有する、
請求項６記載のシステム。
【請求項８】
各インテリジェントプログラマブルロジックコントローラ装置はさらに、
前記制御プログラムを実行し、当該制御プログラムの実行と並行して、前記１つまたは複数の推論アルゴリズムを前記制御プログラムの実行と並行して修正するように構成されている、１つまたは複数のプロセッサ
を備えている、
請求項１記載のシステム。
【請求項９】
各インテリジェントプログラマブルロジックコントローラ装置に備えられた前記不揮発性のコンピュータ可読記憶媒体は、表と等価のビューを有するＮｏＳＱＬデータベースを備えている、
請求項１記載のシステム。
【請求項１０】
産業製造環境においてデータを記憶するための方法であって、
第１のインテリジェントプログラマブルロジックコントローラによって、複数のスキャン周期にわたって製造ユニットへ動作指令を供給するように構成された制御プログラムを実行することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、前記複数の各スキャン周期中に、前記製造ユニットに関連するデータによってプロセスイメージ領域を更新することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、オートメーションシステムコンテキスト情報を用いて前記プロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、当該第１のインテリジェントプログラマブルロジックコントローラ上のローカルの不揮発性のコンピュータ可読媒体であって、当該第１のインテリジェントプログラマブルロジックコントローラと複数の第２のインテリジェントプログラマブルロジックコントローラとに記憶された分散記憶システムの一部である前記ローカルの不揮発性のコンピュータ可読媒体に、前記プロセスイメージ領域の内容および前記コンテキスト付きデータを入れることと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、前記分散記憶システムにわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行することと
を有する方法。
【請求項１１】
前記方法はさらに、前記第１のインテリジェントプログラマブルロジックコントローラによって、前記制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて前記１つまたは複数の推論アルゴリズムを動的に修正することを有する、
請求項１０記載の方法。
【請求項１２】
前記１つまたは複数の宣言知識モデルは、ウェブオントロジー言語（ＯＷＬ）を使用して表現されるオントロジーを有する、
請求項１１記載の方法。
【請求項１３】
前記１つまたは複数の宣言知識モデルは、予測モデルマークアップ言語（ＰＭＭＬ）標準規格を使用して表現される予測モデルを有する、
請求項１１記載の方法。
【請求項１４】
前記１つまたは複数の宣言知識モデルは、ルール交換フォーマット（ＲＩＦ）標準規格を使用して表現される１つまたは複数のルールを有する、
請求項１１記載の方法。
【請求項１５】
前記ローカルの不揮発性のコンピュータ可読媒体は、表と等価のビューを有するＮｏＳＱＬデータベースを備えている、
請求項１０記載の方法。
【請求項１６】
前記製造ユニットに関連するデータを前記ローカルの不揮発性のコンピュータ可読媒体に入れることを、当該製造ユニットに関連するデータおよび前記動作指令の変化に基づいてトリガする、
請求項１５記載の方法。
【請求項１７】
前記１つまたは複数の推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている、
請求項１０記載の方法。
【請求項１８】
前記納入者指定された１つまたは複数の知識モデルは、前記第１のインテリジェントプログラマブルロジックコントローラの１つもしくは複数の能力に関する情報、前記第１のインテリジェントプログラマブルロジックコントローラにおいて入手可能な診断知識、および／または、前記第１のインテリジェントプログラマブルロジックコントローラによって使用されるデータレイアウト情報を有する、
請求項１７記載の方法。
【請求項１９】
前記方法はさらに、
前記第１のインテリジェントプログラマブルロジックコントローラによって、当該第１のインテリジェントプログラマブルロジックコントローラに備えられたプロセッサの第１のコアを用いて前記制御プログラムを実行すること
を有し、
前記第１のインテリジェントプログラマブルロジックコントローラに備えられた前記プロセッサの第２のコアを用いて、前記１つまたは複数の推論アルゴリズムを動的に修正する、
請求項１０記載の方法。
【請求項２０】
産業製造環境においてデータを記憶するための製品であって、
複数のスキャン周期にわたって製造ユニットへ動作指令を供給するように構成された制御プログラムを実行することと、
前記複数の各スキャン周期中に、前記製造ユニットに関連するデータによってプロセスイメージ領域を更新することと、
オートメーションシステムコンテキスト情報を用いて前記プロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成することと、
分散記憶システムの一部である、ローカルの不揮発性のコンピュータ可読媒体に、前記プロセスイメージ領域の内容および前記コンテキスト付き情報を入れることと、
前記分散記憶システムにわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行することと
を有する方法を実施するためのコンピュータ実行可能な指令を保持する非一時的な有形のコンピュータ可読媒体を備えている、製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示内容は、インテリジェントＰＬＣのための分散データ管理システムに関するものである。これら種々のシステムおよび方法は、産業オートメーション用途にも、また、インテリジェントＰＬＣが使用される他の種々の用途にも、使用することができる。
【０００２】
背景技術
プログラマブルロジックコントローラ（ＰＬＣ）は、出力装置の状態を制御するために入力装置の状態についてのデータを連続的に収集するソフトウェアを実行するように構成された特殊なコンピュータ制御システムである。ＰＬＣは典型的には、プロセッサ（揮発性メモリを備え得る）、アプリケーションプログラムを有する揮発性メモリ、および、オートメーションシステムの他の装置に接続するための１つまたは複数の入／出力（Ｉ／Ｏ）ポートである３つの主要な構成要素を備えている。
【０００３】
従来のオートメーションシステムはピラミッド構造に従ったものであり、このピラミッド構造は、ＰＬＣから全ての原データ（数百万個のサンプル点）を上位層（たとえばＳＣＡＤＡまたはＭＥＳレベル）のヒストリアンへ伝送する必要がある。上位レベルへデータをプッシュ送信することによって、ＰＬＣ挙動からインサイトを抽出するための解析の有効性を制限して制御最適化のための制御プロセスへ介入する待ち時間を増大させるデータの分解能および準備が削減する。データを処理するためのＰＬＣの特権的アクセスとコントローラロジックとに基づいて深層データ解析をサポートするＰＬＣの能力は、従来のシステムでは十分に活用されていない。後者は、静的なコントローラロジック／構成に拠るものであり、かかるコントローラロジック／構成は現在のところ、制御ロジックの動的な適応変化またはコミッショニング後段階をサポートしておらず、また、他のＰＬＣのデータやコンテキストが必要な場合にこれらの認識もサポートしていない。
【０００４】
従来のオートメーションシステムの他の欠点として、フィールドレベルコントローラが知識データベースを保有および管理しないという欠点もある。たとえば、従来の大半のイーサネットベースのコントローラは、基本的に監視レベルシステムへ原データを伝送するために当該コントローラのマスタに接続されており、その際には、監視レベルシステムのピアデータ、知識および挙動認識することはなく、これによって上位層に意思決定プロセスを押し付けることになる。より深い解析インサイトを得るためにコントローラのコンテキストは使用されない。現在、解析データモデルは、コントローラのコンテキスト情報（たとえば、データリバースエンジニアリングのために使用できる機能ブロックメタデータの表現）を入手できない上位レベルで構成される。非効率的な意思決定。下位レベルの解析データモデル、および、ローカルに記憶された過去の入力／出力データおよび知識が入手できないことは、ローカルの装置を制御するための意思決定の効率に影響を及ぼす。
【０００５】
従来のオートメーションシステムは、ＰＬＣにローカルに保有されているヒストリアン知識の量でも極度に制限される。かかる制限により、ＰＬＣの機能性も制限される。たとえば現在のところ、最近の過去の情報（すなわち短期間データ）が必要な場合にサイクル内処理（in-cycle processing）を実行することができない。よって、外部で計算を行ってＰＬＣへプッシュ送信により返すことになる。その上、ＰＬＣのローカルのヒストリアンが不足していることにより、システム動作の最適化のための制御パラメータの動的適応をサポートするリアルタイムデータ解析の実行の可能性も制限される。
【０００６】
さらに、ＰＬＣおよび他の制御層装置のローカル情報が無いと、従来のオートメーションシステムにおいて有効かつロバストなインフィールド解析ソリューションを実現することは、不可能ではなくても困難である。現在、インフィールド解析の従来のソリューションはバッチ処理として実装され、過去の製造の回顧的な解析をサポートする（たとえば過去のバッチ）。製造のオンライン解析は、ある程度の遅延を伴わないと行うことができない。よって、解析に基づいて制御に直接介入することは、タイムクリティカルな処理にはしばしば非実用的であることが多い。
【０００７】
発明の概要
本発明の実施形態は、たとえばインテリジェントＰＬＣ等の制御層装置によって提供される分散記憶システムに関する方法、システムおよび装置を提供することにより、上記の問題および欠点のうちいずれか１つまたは複数に取り組み、これを解決するものである。たとえば、本願にて記載されている技術は、分散システムからインサイクル解析処理エンジンへデータおよび解析を分散することを可能にすることによって、分散データインフラストラクチャにおいてローカルのヒストリアンデータおよびコンテキスト付与知識を使用可能にするという課題に取り組むものである。本願にて記載されている技術は特に、種々の産業オートメーション用途に非常に適しているが、これに限定されない。
【０００８】
本発明の一部の実施形態である、産業製造環境においてデータを記憶するためのシステムでは、当該システムは、複数のインテリジェントプログラマブルロジックコントローラ装置に記憶された分散データ管理システムを備えている。各インテリジェントプログラマブルロジックコントローラ装置は、プロセスイメージ領域を有する揮発性のコンピュータ可読記憶媒体と、不揮発性のコンピュータ可読記憶媒体と、製造ユニットへ動作指令を供給するように構成された制御プログラムと、各スキャン周期中に製造ユニットに関連するデータを用いてプロセスイメージ領域を更新するために構成された入力／出力構成要素と、分散データ管理システムのインスタンスを有する分散データ管理構成要素と、コンテキスト付与構成要素と、ヒストリアン構成要素と、データ解析構成要素とを備えている。コンテキスト付与構成要素は、オートメーションシステムコンテキスト情報を用いてプロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成するように構成されている。ヒストリアン構成要素は、プロセスイメージ領域の内容とコンテキスト付きデータとをローカルに記憶するように構成されており、かかるローカルな記憶により、これらの内容を分散データ管理システム全体にわたって分散データ管理構成要素が入手することができる。データ解析構成要素は、分散データ管理構成要素を用いて、分散データ管理システム全体にわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行するように構成されている。
【０００９】
一部の実施形態では、上述のシステムはさらに、制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて１つまたは複数の推論アルゴリズムを動的に修正するように構成された知識管理構成要素も備えている。この宣言知識モデルは、たとえば、ウェブオントロジー言語（ＯＷＬ）を用いて表現されるオントロジー、予測モデルマークアップ言語（ＰＭＭＬ）標準規格を用いて表現される予測モデル、および／または、ルール交換フォーマット（ＲＩＦ）標準規格を用いて表現される１つもしくは複数のルールを含むことができる。
【００１０】
上述のシステムの一部の実施形態では、各対応するインテリジェントプログラマブルロジックコントローラ装置のデータ解析構成要素によって使用される推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている。この納入者指定された知識モデルは、たとえば、複数のインテリジェントプログラマブルロジックコントローラ装置の１つもしくは複数の能力に関する情報、複数のインテリジェントプログラマブルロジックコントローラ装置において使用可能な診断知識、および／または、複数のインテリジェントプログラマブルロジックコントローラ装置によって使用されるデータレイアウト情報を有することができる。
【００１１】
上述のシステムの種々の構成を、ホストハードウェアの処理能力に基づいて調整、強化または精巧化することができる。たとえば一部の実施形態では、各インテリジェントプログラマブルロジックコントローラ装置は、さらに１つまたは複数のプロセッサを備えており、このプロセッサは、制御プログラムを実行し、当該制御プログラムの実行と並行して、１つまたは複数の推論アルゴリズムを制御プログラムの実行と並行して修正するように構成されている。
【００１２】
本発明の他の実施形態では、産業製造環境においてデータを記憶する方法は、第１のインテリジェントプログラマブルロジックコントローラが、複数のスキャン周期にわたって製造ユニットへ動作指令を供給するように構成された制御プログラムを実行することと、複数の各スキャン周期中に、製造ユニットに関連するデータによってプロセスイメージ領域を更新することとを含む。本方法はさらに、第１のインテリジェントプログラマブルロジックコントローラが、オートメーションシステムコンテキスト情報を用いてプロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成することと、プロセスイメージ領域の内容およびコンテキスト付きデータを当該第１のインテリジェントプログラマブルロジックコントローラ上のローカルの不揮発性のコンピュータ可読媒体に入れることとを含む。このローカルの不揮発性のコンピュータ可読媒体は、第１のインテリジェントプログラマブルロジックコントローラと複数の第２のインテリジェントプログラマブルロジックコントローラとにわたって記憶された分散記憶システムの一部である。製造ユニットに関連するデータをローカルの不揮発性のコンピュータ可読媒体に入れることは、たとえば、当該製造ユニットに関連するデータおよび動作指令の変化に基づいてトリガすることができる。第１のインテリジェントプログラマブルロジックコントローラは、分散記憶システムにわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行する。
【００１３】
上述の方法は、本発明の異なる実施形態において付加的な構成、精巧化または他の変更を有することができる。たとえば一部の実施形態では、本方法はさらに、第１のインテリジェントプログラマブルロジックコントローラが、制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて１つまたは複数の推論アルゴリズムを動的に修正することも含む。上述の方法の一部の実施形態では、ローカルの不揮発性のコンピュータ可読媒体は、表と等価のビューを有するＮｏＳＱＬデータベースを有する。
【００１４】
上述の方法で使用される推論アルゴリズムは、たとえば、納入者指定された１つまたは複数の知識モデルに基づいて構成することができる。たとえば、これらの納入者指定された知識モデルは、第１のインテリジェントプログラマブルロジックコントローラの１つもしくは複数の能力に関する情報、第１のインテリジェントプログラマブルロジックコントローラに存在する診断知識、および／または、第１のインテリジェントプログラマブルロジックコントローラによって使用されるデータレイアウト情報を有することができる。
【００１５】
一部の実施形態では、上述の方法は並列計算環境で実行されることができる。たとえば一実施形態では、第１のインテリジェントプログラマブルロジックコントローラは、第１のインテリジェントプログラマブルロジックコントローラに備えられたプロセッサの第１のコアを用いて制御プログラムを実行する。推論アルゴリズムは、第１のインテリジェントプログラマブルロジックコントローラに備えられた当該プロセッサの第２のコアを用いて動的に修正されることができる。
【００１６】
本発明の他の実施形態では、産業製造環境においてデータを記憶するための製品は、上述の方法を実施するためのコンピュータ実行可能な指令を保持する非一時的な有形のコンピュータ可読媒体を備えており、当該コンピュータ可読媒体は、上述の付加的な構成を有し、または有しない。
【００１７】
以下の実施例の詳細な説明から、本発明の付加的な構成および利点が明らかであり、この実施例の詳細な説明は、添付の図面を参照して進める。
【００１８】
以下の詳細な説明を添付の図面と関連づけて読めば、本発明の上記または他の側面を最良に理解することができる。本発明を解説するため、図面には現時点で有利な実施形態を示しているが、本発明はこれらの開示されている特定の手段に限定されないと解されるものである。
【図面の簡単な説明】
【００１９】
【図１】インテリジェント装置がオートメーションシステムデータの分散データ管理システム（ＤＤＭＳ）を構成する、一部の実施形態の産業オートメーションシステムを示すアーキテクチャ図である。
【図２】一部の実施形態のインテリジェントＰＬＣの構想図である。
【図３】分散されたデータならびに知識管理および分散解析のための、一部の実施形態のＤＤＭＳアーキテクチャを示す図である。
【図４】一部の実施形態の、ＤＤＭＳノードへ情報を伝送できる態様およびＤＤＭＳノードから情報を伝送できる態様の構想図である。
【図５】一部の実施形態の、ＤＤＭＳノードインスタンスが分散データインフラストラクチャへ／からの大量のデータ伝送をサポートする態様の他の図である。
【図６】一部の実施形態の、外部の装置またはアプリケーションによってトリガされるインテリジェントＰＬＣ論理ルール更新の一例を示す図である。
【図７】一部の実施形態の、ＤＤＭＳインフラストラクチャにわたってシャーディングされたデータアクセスを実施できる態様を示す図である。
【図８】本発明の一部の実施形態の、分散データ管理システム内においてデータを検索および処理するための３ステッププロセスを示す図である。
【００２０】
詳細な説明
本願では、一般的に、複数のインテリジェントプログラマブルロジックコントローラ（「インテリジェントＰＬＣ」という）にわたって具現化される分散記憶システムに関するシステム、方法および装置を記載している。本願で記載されている複数の実施形態ではインテリジェントＰＬＣは、複数の異種ノードのクラスタの中のノードであって、複数の役割（たとえば制御、広帯域幅のデータ取得等）のうち１つを果たし、従来のＭＥＳシステムでは不可能なレベルでの組み込み解析を行うために必要に応じて他のノードからデータをプル受信するノードである。さらにインテリジェントＰＬＣは、ローカルの知識または他のノードからの知識を検索することができる。かかる能力は、ローカルのヒストリアンおよび知識モデルと推論能力とインフィールド解析と相俟って、クラスタについての強力な知識ドリブン型の分散解析を実現する道を開き、これにより、インテリジェントＰＬＣクラスタに対して強力なリアルタイムのデータ記憶、知識記憶、解析、および、オートメーションプロセス全体に係るインタフェースエンジンが可能になる。インテリジェントＰＬＣは、（１）真のインフィールド解析に基づく機能性の向上と、（２）構成要素のコンフィギュレーション、追加、カスタマイズ、変更および除去のフレキシビリティの向上と、（３）迅速なインストール、既存の機能の拡張および開発能力とを具備した制御システムを定義するために、分散データおよび解析技術を向上させることができる。上記の事項はいずれも、人員数を劇的に削減し、これらの機能をインストール、動作、最適化、監視、診断するために必要な人員の専門技術と、これらの機能を実行するために必要な訓練とを、劇的に削減することができる。本願で記載されている技術は、たとえば、産業オートメーションシステムにわたる時間のコヒーレントなイメージ、データ（たとえば時系列データ）、データ編成、およびデータ名を提供し、これらが作成されると直ちにデータを使用可能にするために使用することができる。
【００２１】
図１は、インテリジェント装置がオートメーションシステム用の分散データ管理システム（ＤＤＭＳ）を構成する、一部の実施形態の産業オートメーションシステム１００を示すアーキテクチャ図である。ＤＤＭＳは、プロセス情報を含む分散型のデータおよび知識ベースであって、その最上部にデータ解析層を有する分散型のデータおよび知識ベースとして定義することができる。分散は、ノードクラスタ全体に存在する。ＤＤＭＳの各インスタンスはクライアントおよびサーバの役割を果たし、特定の時期において、これらのうちいずれか１つをＤＤＭＳインスタンスの役割に従ってアクティベートすることができる。通常は、プロセスを開始するノードがクライアントとして動作し、データを処理または記憶する他の残りのノードはサーバとして動作する。しかし、１つのノードが同時にクライアントかつサーバとして動作し、一度に１つまたは複数のプロセスを実行することができる。これは、現在の処理要求と仕事負荷とに応じて変わり得る。
【００２２】
図１の実施例では、各ＤＤＭＳノードはインテリジェントＰＬＣである。簡単にいうと、インテリジェントＰＬＣは複数の技術的機能を提供するものであり、これらの技術的機能は、異なる実施形態では複数の異なる組合せで存在し得る。たとえばインテリジェントＰＬＣは、タイムスタンプが付された高分解能のデータを短期的／中期的にアーカイビングできる、時系列データの効率的な記憶メカニズム（すなわち「ヒストリアン」機能）を備えている。データの忠実性が高いことにより、失われるイベントがあっても、それは僅かである。効率的な圧縮アルゴリズム（たとえばスウィンギングドア（swinging door）の一バリエーション）を使用して、所要記憶量および所要通信量を削減することができる。インテリジェントＰＬＣについては、後で図２を参照して詳細に説明する。ここで留意すべき点は、図１は、本願で記載された技術と共に使用できるアーキテクチャの高度に簡素化された概観を示していることである。このアーキテクチャは、実世界の実装で存在し得る追加の装置、たとえばルータ装置、追加のデータネットワークとの接続部等を含むように改良することができる。
【００２３】
ここで、図１のＤＤＭＳノードはインテリジェントＰＬＣであるが、本発明にはかかる限定がなされないことに留意すべきである。他の実施形態のＤＤＭＳは、ＤＤＭＳのインスタンスの役割を果たすために何らかの最低限の計算要求を満たす他のインテリジェント装置（たとえば互換性のあるオペレーティングシステム、メモリおよびディスク）であるノードを有することができる。さらに、図１に示されているアーキテクチャは、いかなるマスタまたは中央ノードも有しないことにも留意すべきである。
【００２４】
分散データ管理は、種々の実施形態において異なる技術を用いて、産業オートメーションシステム１００にわたって実施することができる。一部の実施形態では、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃによって生成されたデータを複数の装置にわたって記憶するために、分散ファイルシステム（ＤＦＳ）が使用される。ＤＦＳによって、分散データベースシステムに係る非常に低い同等のコストで処理力および記憶の観点で迅速にスケーリングする能力が得られる。よって、多くの並列化可能な処理演算を有する用途では、ＤＦＳはデータの分散記憶を行うためのより効率的なソリューションを提供することができる。他の実施形態では、インテリジェントＰＬＣは、スケーラビリティおよび処理能力と共に使用できる、原子性、一貫性、独立性および永続性等の属性を提供するロバストな分散データベース管理システムを具現化するために使用される。これは、多くのノードでパーティショニングされたデータアクセスの抽象化として、ＳＱＬに類する手法でのクエリのサポートを行うデータ管理層を提供することができ、また、データが存在するノードにおいてローカルで行われるデータ処理の利点（すなわちデータローカル性）を活用できる機能も提供することができる。
【００２５】
図１の実施例では、産業オートメーションシステム１００によって使用される分散データ管理システムのノードは、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃを備えている。図１は６つのインテリジェントＰＬＣしか示していないが、もちろん、本願にて記載されている技術と共に使用するインテリジェントＰＬＣの数は任意数とすることができる。よって、図１で提示されているアーキテクチャによってサポートされる分散データ管理システムは、システム要求に依存して計算リソースを追加または除去することによって動的に拡張または縮小することができる。さらに、専用または汎用のハードウェアリソース（たとえばサーバラック、追加のコントローラ等）を追加することによって、分散データ管理システムの記憶容量を増加させることもできる。たとえば、後で図３を参照して詳細に説明するように一部の実施形態では、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃ上に記憶されたデータの長期間記憶を実現するために、分散データベース１１５サーバが分散データ管理システムのノードとして追加される。ノードは、当該分野において周知の任意の技術を用いて分散データ管理システムに追加することができる。たとえば一部の実施形態では、分散データ管理システムと通信するための機能を有する新規の装置を設置することができる。他の実施形態では、たとえばスクリプト実行によるプッシュ技術を用いて、かかる機能をリモートで新規または既存の装置にアップロードすることができる。
【００２６】
各インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃはそれぞれ分散データ管理構成要素を備えている。一部の実施形態では、各インテリジェントＰＬＣに備えられている分散データ管理構成要素は、同一のインタフェースを介してコントローラからのデータを共用メモリ内またはファイルシステム上に記憶することができる。たとえば、以下にて図３を参照して詳細に説明するように、各インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃは、ローカルにヒストライズ（historize）されたデータの名前、意味および編成のローカルビューを有する組み込まれたプロセスヒストリアンを備えている。分散データ管理構成要素を用いて、各ヒストリアンによって生成されたデータをシステム１００全体において共有することができる。
【００２７】
インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃに記憶されたデータは、コントローラ内部で実行されるクライアントアプリケーションによって使用することができ、または、図１に示されたシステム１００によって提供される分散データ管理システムへアクセス権限を有する全ての装置によって使用することができる。記憶の他にさらに、各インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃはクラスタ管理サービスおよび処理エンジンを備えることもでき、これは、たとえば分散記憶および通信等のタスクと分散処理および協調制御とを可能にするものである。
【００２８】
インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃにわたってデータの場所を特定してデータを管理するために使用される技術は、分散記憶がどのように実現されているかに応じて変わり得る。たとえば、分散記憶のためにHadoop（ハドゥープ）ＤＦＳ等のＤＦＳを使用する実施形態では、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃのうちいずれか１つまたは複数が「名前ノード」として機能する。各名前ノードがそれぞれ、ＤＦＳ内の全てのファイルのディレクトリツリーを管理し、システム１００全体のどこにファイルデータが記憶されているかを追跡する。クライアントアプリケーションは、ファイルの場所を特定するため、またはファイルに操作（追加、コピー、移動、削除等）を行うために名前ノードと通信することができる。名前ノードは、成功した要求に対して、当該データが記憶されている関連する装置のリストを返すことによって応答する。ここで留意すべき点は、名前ノードは、ＤＦＳに係る失敗の唯一のポイントであることである。よって一部の実施形態では、冗長性を得るために複数の名前ノードを使用するができる。
【００２９】
分散記憶を実現するために分散データ管理システムを使用する実施形態では、シャーディング技術を用いてインテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃ上にデータを記憶することができる。当該分野において周知であるように、シャーディングは、分散データベースがそのパーティショニングされたデータの場所を特定するために使用する手法である。このメカニズムはしばしば、分散と高スループットの演算とを必要とするデータセットによる配置をサポートするために使用されることが多い。このことは、コントローラ間でデータを分けるために使用される判断基準であるシャーディングキー定義によって行われる。このシャーディングマッピングは、専用のサーバインスタンスによって記憶され、または各コントローラ内に記憶されることができる。いずれの場合においても、シャーディング情報には全ての装置がアクセスすることができる。各シャーディングキー保有装置は、他のピアとのデータ伝送プロセスを協調制御することができる。というのも、シャーディングメタデータがデータ／コントローラ場所マッピングを保持しているからである。よって、分散データ管理システム（たとえばインテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃを用いて実装された分散データ管理システム）は、ネットワーク全体における並列化と低データトラフィックとを達成することができる。
【００３０】
インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃは、標準規格のネットワークプロトコル（たとえばＴＣＰ、ＲＰＣ等）を用いてネットワーク接続を介して互いに通信することができる。かかる通信はたとえば、分散データフェッチおよび分散処理タスクを実行するために使用することができる。いずれの場合においても、プロセスはどのコントローラからも開始することができ、後者は、必要なデータを記憶する他のコントローラとの新規の接続をトリガする。ここで、複数の異なるネットワークにわたってブロードキャストメッセージを送信する必要はないことに留意すべきである。というのも、要求されたデータを有するコントローラのみが協調制御装置（たとえば、データフェッチまたは分散処理タスク／マップ縮小（Map Reduce）ジョブを開始したコントローラ）のターゲットだからであり、不要なネットワークトラフィックが無くなる。さらに、処理が分散処理タスクである場合には、ネットワークを介して引渡されるデータは、処理の結果以外には無い。このことは、計算コードを送信して、関心対象のデータを保有するコントローラ上にてこの計算コードを実行させることにより達成される。
【００３１】
相互間通信の他、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃは他のあらゆるＴＣＰ、オープンデータベース接続（ＯＤＢＣ）および／またはＯＰＣ統一アーキテクチャ（ＵＡ）クライアントと通信することもでき、たとえば分散データベース１１５、データ解析／可視化ステーション１２０、１つまたは複数のヒューマンマシンインタフェース（ＨＭＩ）１２５、ＳＣＡＤＡサーバ１３０、ヒストリアン／ＰＩＭサーバ１４０、および、製造実行システム（ＭＥＳ）ならびに／もしくはラボラトリ情報管理システム（ＬＩＭＳ）と関連するサーバ１４５等と通信することもできる。アーキテクチャの各構成要素は、ローカルイントラネット（たとえばイーサネットによって実装されるもの）と１つまたは複数のインターネット１５０，１５５，１６０を用いて接続することができる。
【００３２】
分散データベース１１５は、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃ上に存在しなくなったデータを記憶する大容量の記憶サーバである。分散データ管理システムはかかるデータを未だ入手することができ、このデータは、当該システム内の他の分散ノードと全く同様に振舞う。分散データベース１１５はたとえば、リアルタイムの分散型の長期間データアクセスを提供できるスケーラブルかつ高速のデータ記憶装置であるＮｏＳＱＬを用いて実装することができる。これは、他のリレーショナルデータベース構成と同様に、ＯＤＢＣコネクタを備えることができる。
【００３３】
産業オートメーションシステム１００のクライアント局はいずれも、アルゴリズムストアからインテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃのうちいずれか１つまたは複数へアルゴリズムを導入することができる。インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃは、分散方式で（複数のコントローラ上で）このアルゴリズムを実行させ、その結果を集約してクライアント局へ送信することができる。図１の実施例では、データ解析／可視化ステーション１２０が、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃ上にアップロードして実行できるアプリケーション／アルゴリズムストアも保有している。さらに、一部の実施形態では、製造設備全体に配置されたヒューマンマシンインタフェース（ＨＭＩ）１２５を使用して、分散データ管理システムに直接アクセスし、またはデータ解析／可視化ステーション１２０を介してアクセスすることができる。一部の実施形態では、データ解析／可視化ステーション１２０はグラフィカルユーザインタフェース（ＧＵＩ）も備えることができ、これはたとえば、分散データ管理システムアプリケーションに記憶されたデータの要求を受信し、および／または、分散データベースシステム全体に記憶されたデータに関する可視化表現を表示するように構成されている。ＨＭＩ１２５およびシステムの他の構成要素にも、同様の機能を設けることができる。
【００３４】
インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃによって実現される分散データ管理システムは、既存のオートメーションインフラストラクチャ構成要素と相互運用可能である。たとえば監視制御・データ取得（ＳＣＡＤＡ）サーバ１３０は、ＯＰＣ ＵＡおよび／またはＯＤＢＣクライアントを使用して、インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃからのデータ、およびシステムの他の構成要素（たとえば分散データベース１１５）からの分散データを接続してプル受信することができる。ヒストリアンＰＩＭサーバ１４０、およびＭＥＳ／ＬＩＭＳに関連するサーバ１４５も同様に、分散データ管理システムの既存の動作をほとんどまたは全く変更させることなく、当該分散データ管理システム全体に及ぶデータにアクセスすることができる。時間およびリソースが許せば、より上位層の構成要素を、各インテリジェントＰＬＣ１０５Ａ，１０５Ｂ，１０５Ｃ，１１０Ａ，１１０Ｂおよび１１０Ｃに備えられた分散データ管理構成要素と共により効率的に動作するように変更することができる。
【００３５】
図１に示されているＤＤＭＳアーキテクチャは、多数のインテリジェントＰＬＣをサポートすることができる。上記のように、各インテリジェントＰＬＣ（または一般的にノード）はＤＤＭＳのインスタンスの役割を担う。かかるインスタンスによって、コントローラに分散記憶能力および処理能力が与えられ、コントローラはたとえば、データおよび知識の全体的なコヒーレンシーを維持して何処に何があるかを知るためにローカルのデータおよび知識を編成してこれにインデックス付与するため、各ＰＬＣのローカルのヒストリアンに基づいて解析タスク結果をヒストライズするため、キャッシュのためのローカル記憶または分散型の長期間記憶を更新するため、インテリジェントＰＬＣ知識およびコンフィギュレーション（ルール、パラメータ、クラスタ構成、閾値等）を更新するため、ローカル計算または分散計算であるデータ解析タスクを実行するため、および、分散されたまたはローカルのデータをフェッチして、クエリに応答するために必要な結果を検索するために、相互間で通信することができ、また、クライアント局またはエンジニアリング局と通信することができる。
【００３６】
図２は、一部の実施形態のインテリジェントＰＬＣ２００の構想図である。プロセスイメージ構成要素２２５は、コントローラのＣＰＵ揮発性システムメモリ内の記憶領域であって、各処理／スキャン周期中に製造装置に関連するデータ（たとえば、接続されたＩ／Ｏの入力および出力）に基づいて更新される記憶領域である。各処理ステップ中に、制御アプリケーション２３０がプロセスイメージ構成要素２２５を読み出し、展開されたアプリケーションロジックを実行し、結果をプロセスイメージ構成要素２２５に書き込んで返す。
【００３７】
引き続き図２を参照すると、各周期のプロセスイメージはヒストリアン構成要素２２０によって読み出されてローカルに不揮発性の物理的記憶媒体に永続的に記憶される。さらにヒストリアン構成要素２２０は、プロセスイメージデータ（以下で、コンテキスト付与構成要素２１５に関連して説明する）に関するコンテキスト情報を記憶することもできる。ヒストリアン構成要素２２０は、データ容量を削減してアプリケーションが過去のプロセスイメージにアクセスできるようにするため、データ圧縮アルゴリズムを展開するように構成することができる。データを固定の時間窓にわたって記憶することができ、または、オンラインアルゴリズムを使用してヒューリスティクスの動的なキャッシュを実現する。ヒストリアン構成要素２２０の一部として、インテリジェントデータ生成アルゴリズムがプロセスイメージおよびコンテキストを連続的に解析して、接続されたＩ／Ｏのデータ生成パラメータ（たとえばサンプリングレート）を調整することができる。たとえば、高速に変化するセンサ信号に対しては高いサンプリングレートを選択することができ、他方、低速で変化するセンサ信号に対しては、それより低いサンプリングレートで十分である。
【００３８】
分散データ管理構成要素２１２は、インテリジェントＰＬＣ２００が分散データ管理システムまたは分散ファイルシステム（たとえば図１を参照のこと）のインスタンスとして動作できるようにするものである。分散データ管理構成要素２１２を使用することによってインテリジェントＰＬＣは、ヒストリアン構成要素２２０によって生成されたデータを、産業オートメーションシステムにおいて動作する他の装置と共有することができる。このようにして、インテリジェントＰＬＣ２００の、システムの履歴、コンテキストおよび解析ビューを、並列分散処理アルゴリズムを使用する他の装置およびコントローラと共有することができる。たとえばヒストリアン構成要素２２０は、インテリジェントＰＬＣ２００によってローカルでヒストライズされたデータの名前、意味および編成のローカルビューを有する。分散データ管理構成要素２１２を用いて、オートメーションシステムのこのビューを共有することができる。
【００３９】
記憶のためにＤＦＳを使用する実施形態では、分散データ管理構成要素２１２は、適切なＤＦＳ機能を提供する組み込み型のプロセスとなる。たとえば、既に言及したHadoop DFSを使用する実施形態では、分散データ管理構成要素２１２は、インテリジェントＰＬＣ２００がクラスタ内でデータノードとして動作できるようにするためのソフトウェアとすることができる。それ自体では、分散データ管理構成要素２１２を使用して、ヒストリアンデータのブロックを、クラスタ全体において伝送、複製および処理できるデータチャンクにフォーマッティングして編成することができる。一部の実施形態では、新規に作成されたデータチャンクが記憶または計算のために変換を行わずに複製される他のデータノードのアドレスを、名前ノードから取得するために、分散データ管理構成要素２１２を使用することもできる。他の実施形態では、インテリジェントＰＬＣ２００がクラスタに対して名前ノードとして機能し、アドレスがローカルに記憶されるように、分散データ管理構成要素２１２を構成することができる。アドレスが取得された後は、分散データ管理構成要素２１２を使用して、クラスタ内の他のノードへのヒストリアンデータチャンクのデータ伝送を自律的に管理することができる。分散データ管理構成要素２１２を使用して、インテリジェントＰＬＣ２００とオートメーション環境内の他の同様の装置とが、並列分散処理アルゴリズムとしてのこのヒストリアンスタックを実行することができ、ノード上の組み込まれた各プロセスヒストリアンは上述の機能を有する。
【００４０】
記憶域をシステム全体に分散させるために分散データ管理システムを使用する実施形態では、当該分野において周知である種々のデータベースシステムを使用して分散データ管理構成要素２１２を実装することができる。たとえば一部の実施形態では、各コントローラに記憶されたデータが、表と等価の構造を有するＮｏＳＱＬデータベースに記憶される。当該分野において理解されているように、「ＮｏＳＱＬ」との用語は、その設計において非リレーショナルのデータストアのクラスを定義するために使用されるものである。一般的に基礎のデータモデルに従ってグループ分けできるＮｏＳＱＬデータベースの種類は、種々存在する。これらのグループ分けは、カラムベースのデータモデル（たとえばカサンドラ（Cassandra））、ドキュメントベースのデータモデル（たとえばＭｏｎｇｏＤＢ）、キーバリューベースのデータモデル（たとえばレディス（Redis））、および／または、グラフベースのデータモデル（たとえばAllego）を使用するデータベースを含むことができる。本願にて記載されている種々の実施形態を具現化するため、いかなる種類のＮｏＳＱＬデータベースを使用することも可能である。一部の実施形態では、ヒストリアンデータを分散データ管理システム全体にわたって、分散データファブリックのために最適化されたデータ固有データベース形式および編成のブロックで記憶する。各ブロックのサイズはたとえば、データの所望の時間粒度に基づいて、または、追跡すべき変数の最大数に基づいて指定することができる。
【００４１】
引き続き図２を参照すると、データ解析構成要素２０５は、分散データ管理構成要素２１２を用いて、分散データ管理システム全体にわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行するように構成されている。データ解析構成要素２０５には、種々のデータ推論アルゴリズムを備えることができる。たとえば一部の実施形態では、かかるアルゴリズムはクラスタリングアルゴリズム、分類アルゴリズム、論理ベース推論アルゴリズム、および統計解析アルゴリズムのうち１つまたは複数を含む。さらに、装置上での実行時間中に展開できるモデルを用いてアルゴリズムを指定することも可能である。データ解析構成要素２０５はまた、種々の解析モデルと、これらのモデルを解釈するための専用のアルゴリズムを備えることもできる。データ解析構成要素２０５によって生成された結果は、ヒストリアン構成要素２２０に記憶し、プロセスイメージ構成要素２２５に返して書き込み、および／または、データコネクタ構成要素２１０を介して外部構成要素へ供給することができる。よってインテリジェントＰＬＣは、分散解析をオートメーションシステム内の他の装置へ供給する装置として見ることができる。
【００４２】
データ解析構成要素２０５は、制御アプリケーション２３０の実行時間中に１つまたは複数の宣言知識モデルに基づいて、当該データ解析構成要素２０５によって使用される推論アルゴリズムを動的に修正するように構成された知識管理構成要素２３５を備えている。一部の実施形態では、インテリジェントＰＬＣ２００は１つまたは複数のプロセッサ（図２には示されていない）を備えており、このプロセッサは制御アプリケーション２３０を実行し、かつ制御アプリケーション２３０の実行と並行して、１つまたは複数の推論アルゴリズムを修正するように構成されている。並列化は、優先順位情報に基づいて複数のプロセッサ（またはプロセッサコア）にタスクを分散させることによって実現することができる。たとえば、１つまたは複数のプロセッサは、制御アプリケーション２３０等の高優先順位の処理専用とし、かつ、他のプロセッサは、推論アルゴリズム修正を含むより低い優先順位の処理専用とすることができる。
【００４３】
当該分野で周知である種々の種類の宣言知識モデルを、知識管理構成要素２３５と共に使用することができる。たとえば一部の実施形態では、宣言知識モデルは、ウェブオントロジー言語（ＯＷＬ）を使用して表現されるオントロジーを有する。宣言知識モデルはたとえば、予測モデルマークアップ言語（ＰＭＭＬ）標準規格を用いて、および／または、ルール交換フォーマット（ＲＩＦ）標準規格を用いて表現することができる。個々の知識モデルは、性質上独占権を有しないもの、独占権を有するもの、納入者固有、またはこれらの組合せとすることができる。
【００４４】
上記にて述べたようにインテリジェントＰＬＣ２００は、当該インテリジェントＰＬＣ２００が分散データ管理システムのインスタンスとして動作できるようにする分散データ管理構成要素２１２を備えている。システムの集まり型知識を向上させるため、一部の実施形態では、知識管理構成要素２３５と共に使用される上述の複数の知識モデルが、たとえば分散データ管理システム内で動作する装置の能力、分散データ管理システム内の各装置において入手可能な診断知識、および／または分散データ管理システムによって使用されるレイアウト情報等の情報を有することができる。
【００４５】
一部の実施形態では、知識管理構成要素２３５によって使用される推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている。納入者指定された各知識モデルは、たとえば、インテリジェントＰＬＣ２００の能力に関する情報、インテリジェントＰＬＣ２００において入手可能な診断知識、および／またはインテリジェントＰＬＣ２００によって使用されるデータレイアウト情報を有することができる。
【００４６】
コンテキスト付与構成要素２１５は、プロセスイメージ構成要素２２５の内容に、後のその解釈を容易にするためのオートメーションシステムコンテキスト情報を付与して注釈することにより、コンテキスト付きデータを生成するように構成されている。ここで使用される「コンテキスト情報」とは、データの意味を記述するあらゆる情報を含み得る。たとえば、オートメーションシステムにおけるデータのコンテキストは、当該データを生成した装置（たとえばセンサ等）に関する情報、オートメーションシステムの構造に関する情報（たとえばプラントのトポロジ）、システムの動作モードに関する情報（たとえばダウンタイムイベント）、オートメーションソフトウェアとその当該データが生成されていた間の状態とに関する情報、および／または、当該データが生成されていた間に製造された製品／バッチに関する情報を含み得る。コンテキスト付与構成要素２１５は、更なる特定の処理要請に応じて他の構成要素のいずれかへデータを供給するように構成されている。コンテキスト付与構成要素２１５によって生成されたコンテキスト情報は、アセット構造に限定されないことが可能であり、制御知識、製品固有情報、プロセス情報、イベント情報、および可能であれば、たとえば天候情報等の外部イベント等の他の観点も含み得る。一部のコンテキスト情報は、エンジニアリングツール（たとえばシーメンスの完全組み込み型オートメーションツール（Totally Integrated Automation tools））からインポートすることができる。さらに一部の実施形態では、コンテキスト付与構成要素２１５は意味論的コンテキスト付与を行う。コンテキストは、言語構造の意味を形式的に定義する標準規格のモデリング言語（たとえばウェブオントロジー言語、リソース記述フレームワーク等）によって表現することができる。かかる意味論的モデリング標準規格を用いてデータのコンテキスト付与を行うことにより、手動のコンフィギュレーション労力をかけることなく、オートメーションシステムから提供されたデータを業務解析アプリケーションが自動的に理解および解釈することができる。
【００４７】
インテリジェントＰＬＣ２００の構成要素によって取得または生成されたデータは全て、データコネクタ構成要素２１０を介して外部の構成要素へ供給することができる。これによってたとえば、インテリジェントＰＬＣは、ヒストリアンデータの新規に作成されたブロックを、記憶または計算のために変換を行わずに複製できる他のデータノードのアドレスを取得するために、名前ノードと通信することができる。さらに、ファブリックの基礎技術を用いて、装置が自己のデータ伝送を自律的に管理することもできる。一部の実施形態では、データコネクタ構成要素２１０はプッシュ技術を用いてデータを出力する（すなわち、能動的に外部の構成要素へデータを送信する）。他の実施形態では、外部の構成要素によってデータのクエリがなされるプル手法を使用することができる。さらに一部の実施形態では、インテリジェントＰＬＣが両形式のデータ伝送を扱う構成となるように、プッシュ手法とプル手法とを組み合わせることができる。
【００４８】
一部の実施形態ではインテリジェントＰＬＣ２００は、分散データ管理構成要素２１２を使用してプロセスおよびコントローラ情報を分散データベースに記憶するための監視機能を備えることができる。さらに、コンテキスト付与構成要素２１５からのコンテキスト情報を監視して、より深い解析インサイトを得るために使用することができる。これは、インテリジェントＰＬＣ２００ロジックに関するメタ情報を示すルーティンを通じてプロセス挙動の変化を検出することによって行うことができ、このメタ情報は、後続の制御ロジック向上の入力として使用することができる。インテリジェントＰＬＣ２００のロジックへのアクセスと、より低レベルのデータフローの監視とは、コントローラのコンフィギュレーション誤りを早い段階で検出するために役立つ。
【００４９】
種々の実施形態と共に使用できるインテリジェントＰＬＣ機能の他の例が、米国特許出願第１４／４６７，１２５号（出願日：２０１４年８月２５日、発明の名称：「INTELLIGENT PROGRAMMABLE LOGIC CONTROLLER（インテリジェントプログラマブルロジックコントローラ）」）、国際特許出願ＰＣＴ／ＵＳ１４／６３１０５（出願日：２０１４年１０月３０日、発明の名称：「USING SOFT-SENSORS IN A PROGRAMMABLE LOGIC CONTROLLER（プログラマブルロジックコントローラにおけるソフトセンサの使用）」）、国際特許出願ＰＣＴ／ＵＳ１４／６２７９６（出願日：２０１４年１０月２９日、発明の名称：「SYSTEM AND METHOD FOR AUTOMATIC COMPRESSION ALGORITHM SELECTION AND PARAMETER TUNING BASED ON CONTROL KNOWLEDGE（制御知識に基づく自動圧縮アルゴリズム選択およびパラメータ調整のためのシステムおよび方法）」）に記載されている。上掲の各出願の全部は、参照により本願の開示内容に含まれることとする。
【００５０】
図３は、分散されたデータならびに知識管理および分散解析のための、一部の実施形態のＤＤＭＳアーキテクチャ３００を示す図である。このＤＤＭＳアーキテクチャは機能を３つの構想的な層に分けており、これらの層はデータ管理層３０５、分散データ処理層３１０およびサービス層３１５である。図３に示されている機能は、たとえば、図２に示されたインテリジェントＰＬＣ２００の種々の構成要素によって実現することができる。
【００５１】
データ管理層３０５は、データおよび知識の編成ならびにインデックス付与、キャッシュおよびシャーディングのための機能を提供する、データおよび知識に係る記憶および動作能力を取り扱うものである。ヒストリアン３２０およびイベントデータベース３２５からのデータはリアルタイム関連であり、ＤＤＭＳ記憶のためのキャッシュと捉えることができる。ローカルデータのフォーマットはＤＤＭＳノードに登録され、当該ローカルデータに及ぶデータアクセスおよび処理を可能にする。知識モデル（アセット、製品、プロセス、制御等）は各ＤＤＭＳノード上で更新され、ローカルの知識アクセスを可能にする。関連する診断知識（ルールおよび解析記述）も、ＤＤＭＳノードにアップロードされる。変化は、ＤＤＭＳの分散記憶およびバージョニング能力を使用するクラスタ内の全てのインテリジェントＰＬＣへ自動的に伝播する。動作能力はＤＤＭＳの一部として提供することもでき、たとえば、複数のバージョンのデータが同一のデータベースインスタンス内に共存することができる。
【００５２】
データ管理層３０５は、ローカルの解析プロシージャ３３５からのインサイクル解析結果をＤＤＭＳシステムのローカルノードへ伝送できるように、ローカルのヒストリアン３２０に密に接続されている。それと同時に、解析プロシージャ３３５の外部（かつＰＬＣの外部）で生成された情報を当該解析プロシージャ３３５が入手できるようにし、これによりＰＬＣレベルでの豊富なコンテキスト付与を可能にすることができる。その上、解析プロシージャ３３５が近くのコントローラに係るコンテキストマッピングを理解できるようにすることもできる。解析プロシージャ３３５およびオートメーション環境に係る他のプロセスをカスタマイズするため、ローカルのルール３３０およびオントロジー３４０を使用することができる。
【００５３】
分散データ処理層３１０は、分散データ全体について実行できるインフィールド解析およびクエリツールを提供するものであり、たとえば、Ｒおよび／またはＪａｖａスクリプト等の解析エンジンの使用を含む。一部の実施形態では、かかるツールに外部からサービス層３１５を介してアクセスし、ローカル（１つのインテリジェントＰＬＣ）のデータまたは分散された（複数のインテリジェントＰＬＣの）データに対して当該ツールを実行させることができ、これにより、不所望のネットワークトラフィックを回避してよりスケーラブルなインフラストラクチャに寄与するローカル処理が可能になる。
【００５４】
サービス層３１５はＤＤＭＳプラットフォームに接続性、アクセス性およびセキュリティを付与することにより、外部のアプリケーションおよび装置が当該プラットフォームの処理およびデータ管理能力を活用できるように構成されている。プラットフォームへのアクセスは、たとえばＳＱＬ／ＳＰＡＲＱＬ等の標準的なクエリ言語によって直接行うことができ、または、たとえばＯＤＢＣ、ＯＰＣ ＵＡ、Ｍｏｎｇｏ ＡＰＩ等のクライアントツールを用いて直接行うことができる。かかるアクセスにより、インテリジェントＰＬＣにおける相互運用性が向上し、外部の装置およびアプリケーションからの分散データアクセスの権限が与えられる。ＤＤＭＳ内に存在するいかなる種類のデータも、暗号化された形式で記憶することができる。かかる手法によって、ＤＤＭＳプラットフォームにさらにもう１つセキュリティ層が追加され、これによって機密データが不正アクセスから適切に保護されることが保証される。さらに、パフォーマンスのために、記憶域使用率を最適化すべく記憶域圧縮を行えるようにすることもできる。
【００５５】
上記にて述べたように、図３のＤＤＭＳアーキテクチャ３００は、ローカルのヒストリアン３２０とＤＤＭＳとの間に、インサイクル環境の外部でほぼリアルタイムの解析を行える能力を可能にするものである接続を導入したものである。この接続は、ヒストリアンとＤＤＭＳとの間の単方向通信路として実装することができる。この通信路を介してヒストリアン３２０は、ＤＤＭＳによって決定されたロジックに基づいてＤＤＭＳ内へ（たとえば他のノードへ）データをプッシュ送信することができる。このロジックはたとえば、タイミング付きイベント、容量割り当て、またはインサイクルエンジンからのヒストライズされた結果を含むことができる。ＤＤＭＳとインフィールド解析エンジンとの接続も、一部の実施形態では単方向とすることができ、この接続は、ＤＤＭＳから解析結果およびコンテキスト情報をインサイクル解析エンジンへ移動させるために供することができる。さらに、ＤＤＭＳは新規のまたは更新された知識モデルへプッシュ送信することもできる。
【００５６】
インテリジェントＰＬＣインフラストラクチャ（すなわちＤＤＭＳクラスタ）を動的にリコンフィギュレーションすることにより、新規のＤＤＭＳノードを追加することができる。これにより、既存のフィールドレベルオートメーションのベースラインに影響を及ぼすことなく、インテリジェントＰＬＣを導入、置換または除去することができる。また、ＤＤＭＳアーキテクチャ３００は多数のインテリジェントＰＬＣに１個から数千個に及ぶコントローラに適用可能であるから、水平方向にスケーラブルであることにも留意すべきである。分散データベーススキームへのノードの追加は、パーティショニングされた１つの同一の表に複数のデータを追加することと等価である。この新規に追加されたデータは、ネットワーク上の他のコントローラ自体の（コントローラ）データベースにロードされると直ちに、当該他のコントローラに対して利用可能となる。
【００５７】
図４は、一部の実施形態の、ＤＤＭＳへ情報を伝送できる態様およびＤＤＭＳから情報を伝送できる態様の構想図４００である。ここで留意すべき点は、図４に示されている要素の多くが、図２おいてインテリジェントＰＬＣ２００と共に示されているものと類似することである。図４ではこれらの要素は、インテリジェントＰＬＣへのデータの伝送およびインテリジェントＰＬＣからのデータの伝送に関与するＤＤＭＳノードの主な構成を強調するように機能的に編成されている。ＤＤＭＳ４０５は分散データ記憶のためのデータおよび知識インデックス付与／バージョニングを担当し、インテリジェントＰＬＣを介して全ての情報（ローカルおよびグローバル）を複数の集まりに編成し、たとえば時間データ列集まり、各モデルに係る知識集まり（たとえばアセット、製品、イベント、制御等）、および他のデータ集まりに編成する。集まり構造および内容は時間的に変更することができ、たとえば、データがどのように使用されるかに基づいて動的に拡張し、または、いずれかのデータを記憶するための要件を放棄することによって縮小することができる。最も簡単な例は、（Ｉ／Ｏモジュールによって取得された）センサデータからＤＤＭＳへのデータフローである。最初に、入力および出力をＰＬＣによって処理する。その後、その時系列データに外部から分散方式でアクセスできるように、時系列データをローカルのノードデータベースインスタンスに記録する。場合によっては、データのサブセットを同一クラスタの他のＰＬＣの集まりにシャーディングする。シャーディングについては、以下において図７および図８を参照して詳細に説明する。
【００５８】
図４ではＤＤＭＳ４０５は、ローカルの未処理のまたは処理されたデータ、イベント、キャッシュされたデータ、知識へのデータノードインタフェースであり、また、これらの要素の上部におけるフレキシブルな解析を、分散システム内に存在する同様の要素との関連において定義するためのハブである。そのコア機能の定義は、たとえばノードへのデータまたは結果の伝送またはノードからのデータまたは結果の伝送、クエリ、および知識伝送等の典型的な使用事例を効率的に取り扱い、なおかつ、一貫性およびコヒーレンシーを保証するために分散システム内の組み込まれたデータおよび知識にインデックス付与してデータおよび知識にバージョニングすることであり、これらの使用事例は限定列挙ではない。
【００５９】
図４は、分散システム全体にわたって記憶されたデータを向上させる追加の機能を示している。分散システム全体に記憶された知識を使用してローカルデータにコンテキストを付与するために、コンテキスト付与機能４１０を使用する。同様に、分散システム全体に記憶されたデータに推論アルゴリズムを施すために、インフィールド解析推論機能４２０を使用することができる。
【００６０】
ヒストリアン機能４１５はデータの内部ソースとして使用されるのに対し、データおよび知識の外部ソースはＤＤＭＳクラスタノードである。ヒストリアン機能４１５は、中長期間のプロセスデータのためにローカルの記憶容量を使用する。（たとえばアーカイビング、多年データ解析および／または規制目的のための）データの長期間記憶をサポートするためには、大量のデータをサポートする専用のＤＤＭＳインスタンス（図４には示されていない）を設けることができ、また、ＤＤＭＳの他のインスタンスと全く同様に分散データインフラストラクチャの一部とすることもできる。
【００６１】
図４に示されているように、インフィールド解析推論機能４２０によって生成された解析の結果を、ヒストリアン機能４１５によってヒストライズすることもできる。データのヒストリアンローカルの中長期間記憶は、ＤＤＭＳノードインスタンスによってグローバルに分散データ記憶を行うために編成、インデックス付与およびシャーディングされる。インフィールド解析（たとえばソフトセンサ）の結果は、データの時系列を表すこともできる。対応する集まり構造および内容を時間的に変更することができ、それにかかわらず、データがヒストライズされた後は、ＤＤＭＳ４０５内のデータの記録が自動的に行われる。たとえば、計算（たとえば電力消費）を毎秒実行するインフィールド解析タスクの結果をＤＤＭＳインスタンスへ周期的に（たとえば毎時または毎日）送ることができ、これにより、他のインテリジェントＰＬＣおよび外部のオートメーションツール（たとえばＳＣＡＤＡ、エンジニアリングツール、ＭＥＳ等）が結果にアクセスできるようにすることができる。インフィールド解析推論機能４２０によってイベントが生成された場合、インテリジェントＰＬＣ上のイベント記憶機能４２５がこのイベントをローカルのデータベースに記憶するように構成することができる。ヒストリアンデータと全く同様に、イベントが記憶された後は、更なる解析のために（たとえば根本原因分析等のために）、このイベントのクエリを外部の構成要素が（たとえばＤＤＭＳ４０５を介して）インフィールド解析推論機能４２０によって行うことができる。
【００６２】
図５は、一部の実施形態の、ＤＤＭＳノードインスタンスが分散データインフラストラクチャへ／からの大量のデータ伝送をサポートする態様（たとえば長期間記憶ＤＤＭＳインスタンス等）の他の図５００である。ＤＤＭＳノード間の通信は基本的に、分散データフェッチおよび分散処理タスクを実行するために行うことができる。いずれの場合においても、プロセスはどのノードからも開始することができ、後者は、フェッチされたデータを記憶する他のノードとの新規の接続をトリガする。一部の実施形態では、データを供給するように要求されるノードのみが協調制御装置（すなわち、データフェッチまたは分散処理タスクを開始したコントローラ）によってトリガされ、これによって不要なネットワークトラフィックが無くなる。
【００６３】
図６は、一部の実施形態の、外部の装置またはアプリケーションによってトリガされるインテリジェントＰＬＣ論理ルール更新の一例６００を示す図である。ステップ６０５において開始して、プロセス専門家によって開始されたルール更新を受け取る。データは、たとえば、インテリジェントＰＬＣクラスタをサポートし当該インテリジェントＰＬＣクラスタに接続することが許可されているあらゆる装置上で実行されるクライアントアプリケーションおよびコントローラ等の外部ソースに由来するものとすることもできる。ステップ６１０において、１つまたは複数のデータ管理インタフェースを介して基づいて、コンテキスト知識にルールが更新される。次にステップ６１５において、組み込まれた解析によってインサイクルでルールを使用する。その後、ステップ６２０において、新規に作成／更新されたルールをＰＬＣロジックに従ってインテリジェントＰＬＣ Ｉ／Ｏに適用する。図６に示されている実施例６００は、インテリジェントＰＬＣへの変更を最小限にするように適合することができる。たとえば一実施形態では、外部のアプリケーションが、ＰＬＣインフィールド解析によって参照されるルールおよびパラメータの更新を開始し、その結果によって、ＰＬＣロジックを変更する必要なく、ＰＬＣ制御挙動を変化させることができる。
【００６４】
図７は、一部の実施形態の、ＤＤＭＳインフラストラクチャにわたってシャーディングされたデータアクセスを実施できる態様を示す図７００である。シャーディングまたは水平方向パーティショニングは、分散と高スループットの演算とを必要とするデータセットによる配置をサポートするために使用されることが多いメカニズムである。たとえば、図７では４つのコントローラ７０５Ａ，７１０Ａ，７１５Ａおよび７２０Ａが存在し、これらのコントローラはそれぞれデータサブセット７０５Ｂ，７１０Ｂ，７１５Ｂおよび７２０Ｂを記憶する。コントローラ７１０Ａが、他のコントローラ７０５Ａ，７１５Ａおよび７２０Ａに対して当該他のコントローラの各データサブセットを送信するように要求する動作を開始した。コントローラ７１０Ａは受信した情報を使用して、元のデータサブセットを再生してデータ演算を行うことができる。
【００６５】
パーティショニングは、コントローラ７０５Ａ，７１０Ａ，７１５Ａおよび７２０Ａ間でデータを分けるために使用される判断基準であるシャーディングキー定義を用いて行われる。このシャーディングマッピングは、専用のサーバインスタンスによって記憶され、または各コントローラ７０５Ａ，７１０Ａ，７１５Ａおよび７２０Ａ内に記憶されることができる。いずれの場合においても、シャーディング情報には各コントローラ７０５Ａ，７１０Ａ、７１５Ａおよび７２０Ａが等しくアクセスすることができる。 各シャーディングキー保有装置は、他のピアとのデータ伝送プロセスを協調制御することができる。というのも、シャーディングメタデータがデータ／コントローラ場所マッピングを保持しているからである。シャーディングによって、制御レベルでの分散された意思決定が可能になる。
【００６６】
ＤＤＭＳは、クラスタ内に何のデータがローカルまたは遠隔に記憶されるかを明示的に指定することを担当する。というのも、分散されたデータソースは、現在のコントローラ境界の内側または外側にあり得るからである。グローバルにアクセスされることを要する集まりごとにシャーディングインデックスを指定する。このシャーディングインデックスは、クラスタ内のシャーディングされたデータの場所を提示するものである。分散データにアクセスするために使用されるシャーディングされたメタデータは、各インテリジェントＰＬＣにローカルに記憶されるので、各ＰＬＣは、シャーディングされた情報の場所を効率的に特定することができる。シャーディングインデックスの他、各データベースの記憶ファイルシステムはさらに、特に時系列に対するクエリに応答するためのスキャン処理を高速化するインデックス付与の内部メカニズムを提供することができる。一貫性メカニズムとして、データベースは一意のキーを強制することができ、また、記録が既存のコントローラ、タグおよびタイムスタンプ値と一致する場合には、先の値をオーバーライドすることもできる。
【００６７】
図８は、本発明の一部の実施形態の、分散データ管理システム内においてデータを検索および処理するための３ステッププロセス８００を示す図である。本プロセス８００は、任意のコントローラ上で命令を実行するクエリまたはマップ／縮小（Map/Reduce）ジョブ８０５として開始する。データのクエリはどのコントローラによっても発することができ、これにより、アドホッククエリ実行、事前定義されたクエリ、およびコントローラタグに基づく数式計算を行うことができる。リレーショナルデータベースにおけるマップ／縮小ジョブは、シャーディングされたデータを有することができる分散データベース内で実行される。かかるジョブは、複数のノードの間にタスクを分散させることにより、並列処理をサポートするものである。その後、その集約された結果を更なる調査のために戻して保存する。さらに、クライアント側において他の処理を行うこともできる（たとえば、ノードの範囲から抽出された最終結果の集約）。全てのジョブおよびクエリの結果が、分かりやすく使用可能な状態のフォーマットで、たとえば表形式、ｃｓｖ形式、またはイメージ形式で、クライアントに対して入手可能となる。
【００６８】
図８の実施例では、この最初のステップは「１」と示されており、上述の任意のコントローラはコントローラ８１０Ａである。たとえば、クライアントマシンまたはシステム内の他の任意のコントローラによって、命令を実行するクエリまたはマップ／縮小ジョブ８０５を開始することができる。第２のステップ（図８において「２」と示されている）において、コントローラ８１０Ａが、（ローカルデータを使用して、または、シャーディング情報を記憶するサーバとの通信によって）データ場所の探索を実行する。この探索の結果に基づき、第３のステップ（図８において「３」と示されている）において、コントローラ８１０Ａはコントローラ８１５Ａおよび８２０Ａの各データサブセット８１５Ｂおよび８２０Ｂを収集するため、これらのコントローラと通信する。本実施例ではさらに、コントローラ８１０Ａは、自己のデータサブセット８０５Ｂ内に要求されたデータの一部を発見し、これにより当該データを検索する。ここで留意すべき点は、コントローラ８１０Ａに記憶されているデータサブセット８１０Ｂは元の要求に対して応答するために必要ではないので、コントローラ８０５Ａはコントローラ８１０Ａからいかなるデータも要求する必要がないことである。コントローラ８１０Ａが自己のデータストアおよび他のコントローラ８１５Ａおよび８２０Ａからデータをフェッチした後は、コントローラ８１０Ａは、本プロセス８００の第１のステップにおいて最初に受け取った命令を実行するため、収集したデータを処理する。
【００６９】
図８に示されているように、クエリおよび処理ジョブを上述の処理能力によってデータにより近づけることにより、データ待ち時間を自動的に低減することができる。本実施例では、結果または処理されたデータのみがネットワークを介して転送される。原データの転送は、一部の限られた状況下、たとえばデータ相関解析等でしか必要とされない。
【００７０】
本願で記載されている分散システムの価値を解説するため、オートメーションＯＥＭ動作環境下での当該分散システムの実装を考察する。この環境は、（振動センサを使用する）広帯域のスケーラブルなセンシング、データ記憶、スピンドル解析、および工場床面積のスケールでのスピンドル報告を提供する組み込みシステムを介して最適化することができる。新規の振動測定結果を取得するため、センサと通信するインテリジェントＰＬＣをシステムに追加し、そのデータをローカルで、または他のインテリジェントＰＬＣによって管理することができる。データおよび処理管理の視点からは、これは、故障しているマシンを既に制御および監視しているコントローラの拡張であるように見える。新規のセンサによって生成された出力を解析するために、システムからデータを抽出する必要はない。この抽出の代わりに、インテリジェントＰＬＣに組み込まれてプロセス、アセットおよび製品に関する知識によって駆動されるプロセスエキスパートアルゴリズムが、同一のプラットフォーム上において既に存在したプロセスを用いて、新規に収集されたセンサ測定結果を解析することができる。この診断結果は、あらゆるデータ可視化ツールまたは解析ツールを用いて見ることができる。その結果、新規に監視されているデータは分散マルチＰＬＣシステムに対して自動的に入手可能となるので、外部プロセッサ上にて故障解析を実行するためにＰＬＣからＭＥＳ／ＳＣＡＤＡレベルへプロセスデータを抽出する必要がなくなる。
【００７１】
組み込みコントローラによって使用される、ここで記載されているプロセッサは、１つまたは複数の中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、または、当該分野において知られている他のあらゆるプロセッサを備えることができる。より一般的には、ここで使用されているプロセッサは、コンピュータ可読媒体上に記憶された機械可読指令を実行するため、タスクを実行するための装置であり、ハードウェアおよびファームウェアのうちいずれか１つまたはこれらの組合せを含むことができる。プロセッサは、タスクを実行するために実行可能な機械可読指令を記憶するメモリを備えることもできる。プロセッサは情報に基づいて、実行可能なプロシージャまたは情報装置による使用のための情報を操作、解析、変更、変換または伝送することにより、および／または、出力装置へ当該情報をルーティングすることによって動作する。プロセッサはたとえば、コンピュータ、コントローラまたはマイクロプロセッサの能力を使用し、または備えることができ、また、実行可能な指令を用いて、汎用コンピュータによっては実行されない特殊用途の機能の実行をプロセッサにさせることができる。プロセッサは、相互間のインタラクションおよび／または通信を可能にするように、他のあらゆるプロセッサと（電気的に、および／または、実行可能な構成要素を含むものとして）結合することができる。ユーザインタフェースプロセッサまたはジェネレータは、ディスプレイイメージまたはその一部を生成するための電子回路またはソフトウェアまたは双方の組合せを備えた公知の要素である。ユーザインタフェースは、プロセッサまたは他の装置とのユーザインタラクションを行うための１つまたは複数のディスプレイイメージを有する。
【００７２】
組み込みコントローラおよび関連の計算インフラストラクチャを含み、これらに限定されない、本願で記載されている種々の装置は、本発明の実施形態に従ってプログラミングされた指令を保持し、本願で記載されたデータ構造、表、記録または他のデータを有するための、少なくとも１つのコンピュータ可読媒体またはメモリを備えることができる。本願で使用されている「コンピュータ可読媒体」との用語は、指令を実行のために１つまたは複数のプロセッサへ供給することに関与する全ての媒体をいう。コンピュータ可読媒体は、非一時的、不揮発性の媒体、揮発性の媒体、および伝送媒体を含む多くの形態をとることができるが、これらは限定列挙ではない。不揮発性媒体の非限定的な例には、光学ディスク、ソリッドステートドライブ、磁気ディスク、および磁気光学ディスクが含まれる。揮発性媒体の非限定的な例には、ダイナミックメモリが含まれる。伝送媒体の非限定的な例には、同軸ケーブル、銅線、および光ファイバが含まれており、システムバスを構成するワイヤが含まれる。伝送媒体は、音波または光波の形態をとることもでき、たとえば、無線波および赤外線データ通信中に生成される波等の形態をとることもできる。
【００７３】
本願で使用されている実行可能なアプリケーションは、たとえばユーザコマンドまたは入力に応答して、予め決まった機能の実現をプロセッサにさせるためのコードまたは機械可読指令、たとえばオペレーティングシステム、コンテキストデータ取得システム、または他の情報処理システム等のコードまたは指令を含む。実行可能なプロシージャは、コードもしくは機械可読指令のセグメント、サブルーティン、または、１つもしくは複数の特定のプロセスを実行するための実行可能なアプリケーションの一部もしくはコードの他の別個のセクションである。かかるプロセスは、入力されたデータならびに／もしくはパラメータの受信、受信した入力データについての演算の実行、および／または、受信した入力パラメータに応答する関数の実行と、その結果の出力データならびに／もしくはパラメータの出力とを含み得る。
【００７４】
本願で使用されるグラフィカルユーザインタフェース（ＧＵＩ）は、ディスプレイプロセッサによって生成された１つまたは複数のディスプレイイメージを有し、このディスプレイイメージは、プロセッサまたは他の装置とのユーザインタラクションと、関連のデータ取得および処理機能とを可能にするものである。ＧＵＩは、実行可能なプロシージャまたは実行可能なアプリケーションも備えている。実行可能なプロシージャまたは実行可能なアプリケーションは、ＧＵＩディスプレイイメージを表す信号の生成をディスプレイプロセッサにさせるものである。この信号はディスプレイ装置へ供給され、ディスプレイ装置は、ユーザが見るためにそのイメージを表示する。プロセッサは、実行可能なプロシージャまたは実行可能なアプリケーションの制御下で、入力装置から受信した信号に応答してＧＵＩディスプレイイメージを操作する。このようにしてユーザは、入力装置を用いてディスプレイイメージとインタラクションすることができ、これにより、プロセッサまたは他の装置とのユーザインタラクションを行うことができる。
【００７５】
本願の機能およびプロセスステップは自動的に実行することができ、その全部または一部はユーザコマンドに応答して実行することができる。自動的に実行される動作（ステップを含む）は、１つまたは複数の実行可能な指令または装置演算に応答して、ユーザによる動作の直接的な開始無しで実行される。
【００７６】
各図のシステムおよびプロセスは、排他的なものではない。本発明の原理に従って同一の目的を果たすために、他のシステム、プロセスおよびメニューを導き出すことができる。特定の実施形態を参照して本発明を説明したが、本願で図示および記載された実施形態および変形態様は、説明のためだけのものであると解すべきである。当業者であれば、本発明の範囲を逸脱することなく、現在の構成に改良を施すことが可能である。本願で記載されている種々のシステム、サブシステム、エージェント、管理部およびプロセスは、ハードウェア構成要素、ソフトウェア構成要素、および／またはその組合せを用いて実装することができる。本願クレームのいかなる要素も、当該要素が明示的に「・・・ための手段」との文言を用いて言及されていない限り、米国法律第３５号第１１２条第６項の規定を受けると解すべきものではない。
【図１】
2019505886.tif 000003
【図２】
2019505886.tif 000004
【図３】
2019505886.tif 000005
【図４】
2019505886.tif 000006
【図５】
2019505886.tif 000007
【図６】
2019505886.tif 000008
【図７】
2019505886.tif 000009
【図８】
2019505886.tif 000010
【手続補正書】
【提出日】平成30年6月8日(2018.6.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
産業製造環境においてデータを記憶するためのシステムであって、
複数のインテリジェントプログラマブルロジックコントローラ装置上に記憶された分散データ管理システムを備えており、
各インテリジェントプログラマブルロジックコントローラ装置は、
プロセスイメージ領域を有する揮発性のコンピュータ可読記憶媒体と、
不揮発性のコンピュータ可読記憶媒体と、
製造ユニットへ動作指令を供給するように構成された制御プログラムと、
各スキャン周期中に前記製造ユニットに関連するデータを用いて前記プロセスイメージ領域を更新するために構成された入力／出力構成要素と、
前記分散データ管理システムのインスタンスを有する分散データ管理構成要素と、
オートメーションシステムコンテキスト情報を用いて前記プロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成するように構成されたコンテキスト付与構成要素と、
前記プロセスイメージ領域の内容と前記コンテキスト付きデータとをローカルに記憶することにより、前記内容を前記分散データ管理システム全体にわたって前記分散データ管理構成要素が入手できるようにするように構成されたヒストリアン構成要素と、
前記分散データ管理構成要素を用いて、前記分散データ管理システム全体にわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行するように構成されたデータ解析構成要素と
を備えているシステム。
【請求項２】
各インテリジェントプログラマブルロジックコントローラ装置はさらに、
前記制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて前記１つまたは複数の推論アルゴリズムを動的に修正するように構成された知識管理構成要素
を備えている、請求項１記載のシステム。
【請求項３】
各インテリジェントプログラマブルロジックコントローラ装置の前記データ解析構成要素によって使用される前記１つまたは複数の推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている、
請求項１記載のシステム。
【請求項４】
前記納入者指定された１つまたは複数の知識モデルは、前記複数のインテリジェントプログラマブルロジックコントローラ装置の１つもしくは複数の能力に関する情報、前記複数のインテリジェントプログラマブルロジックコントローラ装置において入手可能な診断知識、および／または、前記複数のインテリジェントプログラマブルロジックコントローラ装置によって使用されるデータレイアウト情報を有する、
請求項３記載のシステム。
【請求項５】
各インテリジェントプログラマブルロジックコントローラ装置はさらに、
前記制御プログラムを実行し、当該制御プログラムの実行と並行して、前記１つまたは複数の推論アルゴリズムを前記制御プログラムの実行と並行して修正するように構成されている、１つまたは複数のプロセッサ
を備えている、
請求項１記載のシステム。
【請求項６】
産業製造環境においてデータを記憶するための方法であって、
第１のインテリジェントプログラマブルロジックコントローラによって、複数のスキャン周期にわたって製造ユニットへ動作指令を供給するように構成された制御プログラムを実行することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、前記複数の各スキャン周期中に、前記製造ユニットに関連するデータによってプロセスイメージ領域を更新することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、オートメーションシステムコンテキスト情報を用いて前記プロセスイメージ領域の内容を注釈することにより、コンテキスト付きデータを生成することと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、当該第１のインテリジェントプログラマブルロジックコントローラ上のローカルの不揮発性のコンピュータ可読媒体であって、当該第１のインテリジェントプログラマブルロジックコントローラと複数の第２のインテリジェントプログラマブルロジックコントローラとに記憶された分散記憶システムの一部である前記ローカルの不揮発性のコンピュータ可読媒体に、前記プロセスイメージ領域の内容および前記コンテキスト付きデータを入れることと、
前記第１のインテリジェントプログラマブルロジックコントローラによって、前記分散記憶システムにわたって記憶されたデータを解析するための１つまたは複数の推論アルゴリズムを実行することと
を有する方法。
【請求項７】
前記方法はさらに、前記第１のインテリジェントプログラマブルロジックコントローラによって、前記制御プログラムの実行時間中に１つまたは複数の宣言知識モデルに基づいて前記１つまたは複数の推論アルゴリズムを動的に修正することを有する、
請求項６記載の方法。
【請求項８】
前記１つまたは複数の推論アルゴリズムは、納入者指定された１つまたは複数の知識モデルに基づいて構成されている、
請求項６記載の方法。
【請求項９】
前記納入者指定された１つまたは複数の知識モデルは、前記第１のインテリジェントプログラマブルロジックコントローラの１つもしくは複数の能力に関する情報、前記第１のインテリジェントプログラマブルロジックコントローラにおいて入手可能な診断知識、および／または、前記第１のインテリジェントプログラマブルロジックコントローラによって使用されるデータレイアウト情報を有する、
請求項８記載の方法。
【請求項１０】
前記方法はさらに、
前記第１のインテリジェントプログラマブルロジックコントローラによって、当該第１のインテリジェントプログラマブルロジックコントローラに備えられたプロセッサの第１のコアを用いて前記制御プログラムを実行すること
を有し、
前記第１のインテリジェントプログラマブルロジックコントローラに備えられた前記プロセッサの第２のコアを用いて、前記１つまたは複数の推論アルゴリズムを動的に修正する、
請求項６記載の方法。
【国際調査報告】
2019505886.tif 000011
2019505886.tif 000012