(57)【特許請求の範囲】
【請求項１】
産業設備の少なくとも１つの機械（１２１〜１２５、５００）の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて前記少なくとも１つの機械（１２１〜１２５、５００）を作動させるためのシステムであって、
コンピューティングクラスタを形成するサーバ（１０〜１２）と複数の装置（２０〜２７）とを含むネットワーク（１００〜１０２）を備え、前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置は、前記産業設備の機械（１２１〜１２５、５００）に接続して前記機械からセンサデータを受け取ることができ、前記少なくともいくつかの装置の各装置（２０〜２７）は、
前記装置（２０〜２７）が接続できる前記機械（１２１〜１２５、５００）から取得可能なデータを用いて、装置が接続できる機械又はその構成部品の前記動作に関連する第１のクエリ（１５００）を解決するための第１の処理タスク（１５０１）をリアルタイムで計算するように構成された第１のプロセッサ（６１）と、
前記ネットワーク（１００〜１０２）との間で自機の処理能力を共有し、少なくとも１つの装置が接続できる少なくとも１つの機械又はその構成部品の前記動作に関連する第２のクエリ（１５００）を解決するための第２の処理タスク（１５０１）の少なくとも１つのスレッド（１５１０ａ〜１５１０ｎ）が前記サーバ（１０〜１２）によって割り当てられた時に、前記少なくとも１つのスレッド（１５１０ａ〜１５１０ｎ）を計算するように構成された第２のプロセッサ（６２）と、
を備え、前記サーバ（１０〜１２）は、
前記コンピューティングクラスタを制御し、
前記第２の処理タスク（１５０１）を複数のスレッド（１５１０ａ〜１５１０ｎ）に分割し、
前記複数のスレッドのうちの１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）を前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置の前記第２のプロセッサ（６２）に割り当てる、
ように構成される、
ことを特徴とするシステム。
【請求項２】
前記少なくともいくつかの装置は、前記複数の装置（２０〜２７）の各装置（２０〜２７）を含む、請求項１に記載のシステム。
【請求項３】
前記第１の処理タスク（１５０１）は、
前記データを前処理してデータセットを形成し、該データセットから前記第１のクエリ（１５００）を解決するためのデータの一部を選択するステップ、又は、
前記データを前処理して、前記第１のクエリ（１５００）を解決するためのデータセットを形成するステップ、
を含む、請求項１又は２に記載のシステム。
【請求項４】
前記第１のプロセッサ（６１）は、前記第１のクエリ（１５００）を解決した後に命令を導出し、該命令を同じ装置の前記第２のプロセッサ（６２）、又は前記装置（２０〜２７）に接続できる前記機械（１２１〜１２５、５００）に送信するようにさらに構成される、請求項１から３のいずれかに記載のシステム。
【請求項５】
前記サーバ（１０〜１２）は、
前記複数の装置（２０〜２７）のうちの前記少なくともいくつかの装置から前記１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）の出力を受け取り、
前記出力を処理して前記第２の処理タスク（１５０１）を計算し、
前記第２のクエリ（１５００）の解を提供する、
ようにさらに構成される、請求項１から４のいずれかに記載のシステム。
【請求項６】
前記第２のプロセッサ（６２）は、前記第２の処理タスク（１５０１）を生成するデータを前記サーバ（１０〜１２）に送信するようにさらに構成され、前記サーバ（１０〜１２）に送信される前記データは、前記装置（２０〜２７）が接続できる前記機械（１２１〜１２５、５００）から取得可能なデータ（１５０１）及び／又は前記第１のクエリ（１５００）の解である、請求項１から５のいずれかに記載のシステム。
【請求項７】
前記少なくともいくつかの装置の各装置は、該装置が接続できる前記機械（１２１〜１２５、５００）からのデータ取得を、前記少なくともいくつかの装置のうちの他の装置が実行する、該他の装置の各々が接続できる前記機械（１２１〜１２５、５００）からのデータ取得と同期して実行するように構成される、請求項１から６のいずれかに記載のシステム。
【請求項８】
前記ネットワーク（１００〜１０２）内のデータを該ネットワーク（１００〜１０２）外のコンピュータ装置に送信するネットワーク装置（２００）をさらに備え、前記コンピュータ装置は、好ましくはフォグコンピューティング又はクラウドコンピューティングを実行するように構成される、請求項１から７のいずれかに記載のシステム。
【請求項９】
前記サーバ（１２）は、
前記少なくともいくつかの装置の各装置の前記第２のプロセッサ（６２）によって実行される第２の命令セットアーキテクチャとは異なる第１の命令セットアーキテクチャを実行するように構成されたプロセッサと、
前記複数の装置（２０〜２７）のうちの装置（２７）に接続できるネットワークインターフェイス（１９）と、
を備え、前記ネットワークインターフェイス（１９）は、前記第１の命令セットアーキテクチャから前記第２の命令セットアーキテクチャに、及びその逆に命令を変換するように構成される、請求項１から８のいずれかに記載のシステム。
【請求項１０】
産業設備の１以上の機械（１２１〜１２５、５００）の動作を監視し、及びこのような監視に基づいて作動させるための装置（２０〜２７）であって、
コンピューティングクラスタネットワーク（１００〜１０２）における１以上の他の装置（２０〜２７）との接続のための１以上の入力／出力ポート（２８）と、
データを受信し且つ指令を送信するために、前記１以上の機械（１２１〜１２５、５００）との接続のための１以上のインタフェース（２９）と、
前記１以上の機械（１２１〜１２５、５００）からのデータを受信し、当該データを用いて前記１以上の機械（１２１〜１２５、５００）の動作に関連する第１のクエリ（１５００）を解決するための第１の処理タスク（１５０１）をリアルタイムで計算するように構成された第１のプロセッサ（６１）と、
第２のプロセッサ（６２）であって、
前記コンピューティングクラスタネットワーク（１００〜１０２）との間で自機の処理能力を共有し、
前記コンピューティングクラスタネットワーク（１００〜１０２）のサーバ（１０〜１２）による割り当て時に、第２の処理タスク（１５０１）の少なくとも１つのスレッド（１５１０ａ〜１５１０ｎ）を計算し、
前記第２の処理タスクの前記割り当てられた少なくとも１つのスレッドに関する解を前記サーバ（１０〜１２）に送信し、前記第２の処理タスクは、前記１以上の機械（１２１〜１２５、５００）の少なくとも１つの機械の動作に関連する第２のクエリ（１５００）を解決する、ように構成された前記第２のプロセッサ（６２）と、
を備え、
前記第１のプロセッサ（６１）が、更に、
前記第１のクエリ（１５００）の解を前記第２のプロセッサ（６２）に提供し、
前記第１のクエリ（１５００）の解から第１の命令を導出し、且つ当該第１の命令を前記１以上の機械（１２１〜１２５、５００）の少なくとも１つの機械及び前記第２のプロセッサ（６２）の少なくとも何れかに提供する、
ことの少なくとも１つを実行するように構成され、
前記第２のプロセッサ（６２）が、更に、
前記第１のプロセッサ（６１）から受信した前記第１のクエリ（１５００）の解を前記サーバ（１０〜１２）に提供し、
前記第１のプロセッサ（６１）からの前記第１の命令を前記１以上の機械（１２１〜１２５、５００）の少なくとも１つの機械及び前記前記サーバ（１０〜１２）の少なくとも何れかに提供する、
ことの少なくとも１つを実行するように構成されることを特徴とする装置。
【請求項１１】
前記第１のプロセッサ（６１）は、更に、
前記第２のクエリ（１５００）の解から導出された第２の命令を前記コンピューティングクラスタネットワーク（１００〜１０２）又は前記第２のプロセッサ（６２）から受信し、及び前記１以上の機械（１２１〜１２５、５００）の少なくとも１つの機械に前記第２の命令を提供する、ように構成されている、請求項１０に記載の装置。
【請求項１２】
前記第１のプロセッサ（６１）及び／又は前記第２のプロセッサ（６２）は、マルチプロセッサシステムオンチップを含む、請求項１０又は１１に記載の装置。
【請求項１３】
前記第１の処理タスク（１５０１）は、
前記データを前処理してデータセットを形成し、該データセットから前記第１のクエリ（１５００）を解決するためのデータの一部を選択するステップ、又は、
前記データを前処理して、前記第１のクエリ（１５００）を解決するためのデータセットを形成するステップ、
を含む、請求項１０から１２のいずれかに記載の装置。
【請求項１４】
前記第１のプロセッサ（６１）は、前記第２のプロセッサ（６２）に前記データセットを提供するようにさらに構成される、請求項１３に記載の装置。
【請求項１５】
産業設備であって、
複数の機械（１２１〜１２５、５００）と、
前記複数の機械（１２１〜１２５、５００）のうちの少なくとも１つの機械（１２１〜１２５、５００）の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて前記少なくとも１つの機械（１２１〜１２５、５００）を作動させるためのネットワーク（１００〜１０２）と、
を備え、前記ネットワーク（１００〜１０２）は、コンピューティングクラスタを形成するサーバ（１０〜１２）と複数の装置（２０〜２７）とを含み、
前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置は、前記複数の機械のうちの機械（１２１〜１２５、５００）に接続して前記機械からセンサデータを受け取ることができ、前記少なくともいくつかの装置の各装置（２０〜２７）は、
前記装置（２０〜２７）が接続できる前記機械（１２１〜１２５、５００）から取得可能なデータを用いて、装置が接続できる機械又はその構成部品の前記動作に関連する第１のクエリ（１５００）を解決するための第１の処理タスク（１５０１）をリアルタイムで計算するように構成された第１のプロセッサ（６１）と、
前記ネットワーク（１００〜１０２）との間で自機の処理能力を共有し、少なくとも１つの装置が接続できる少なくとも１つの機械又はその構成部品の前記動作に関連する第２のクエリ（１５００）を解決するための第２の処理タスク（１５０１）の少なくとも１つのスレッド（１５１０ａ〜１５１０ｎ）が前記サーバ（１０〜１２）によって割り当てられた時に、前記少なくとも１つのスレッド（１５１０ａ〜１５１０ｎ）を計算するように構成された第２のプロセッサ（６２）と、
を含み、前記サーバ（１０〜１２）は、
前記コンピューティングクラスタを制御し、
前記第２の処理タスク（１５０１）を複数のスレッド（１５１０ａ〜１５１０ｎ）に分割し、
前記複数のスレッドのうちの１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）を前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置の前記第２のプロセッサ（６２）に割り当てる、
ように構成されることを特徴とする産業設備。
【請求項１６】
前記少なくともいくつかの装置は、前記複数の装置（２０〜２７）の各装置（２０〜２７）を含む、請求項１５に記載の産業設備。
【請求項１７】
前記サーバ（１０〜１２）は、
前記複数の装置（２０〜２７）のうちの前記少なくともいくつかの装置から前記１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）の出力を受け取り、
前記出力を処理して前記第２の処理タスク（１５０１）を計算し、
前記第２のクエリ（１５００）の解を提供する、
ようにさらに構成される、請求項１５又は１６に記載の産業設備。
【請求項１８】
コンピューティングクラスタを形成するサーバ（１０〜１２）と複数の装置（２０〜２７）とを含むネットワーク（１００〜１０２）を用いて産業設備の少なくとも１つの機械（１２１〜１２５、５００）の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて前記少なくとも１つの機械（１２１〜１２５、５００）を作動させるための方法であって、前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置は、前記産業設備の機械（１２１〜１２５、５００）に接続することができ、前記方法は、
前記少なくともいくつかの装置の各装置において、前記装置が接続できる前記機械からセンサデータを取得するステップと、
前記少なくともいくつかの装置の各装置（２０〜２７）の第１のプロセッサにおいて、前記取得したデータを用いて、第１のクエリ（１５００）を解決するための第１の処理タスクをリアルタイムで計算するステップと、
前記少なくともいくつかの装置の各装置において、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドが前記サーバによって割り当てられた時に、前記少なくとも１つのスレッドを受け取るステップと、
前記少なくともいくつかの装置の各装置の、前記ネットワークとの間で自機の処理能力を共有するように構成された第２のプロセッサにおいて、前記受け取った少なくとも１つのスレッドを計算するステップと、
前記サーバ（１０〜１２）において、前記コンピューティングクラスタを制御し、前記第２の処理タスク（１５０１）を複数のスレッド（１５１０ａ〜１５１０ｎ）に分割し、前記複数のスレッドのうちの１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）を前記複数の装置（２０〜２７）のうちの少なくともいくつかの装置の前記第２のプロセッサ（６２）に割り当てるステップと、
を含むことを特徴とする方法。
【請求項１９】
前記少なくともいくつかの装置は、前記複数の装置（２０〜２７）の各装置（２０〜２７）を含む、請求項１８に記載の方法。
【請求項２０】
前記第１の処理タスク（１５０１）を計算するステップは、前記データを前処理してデータセットを形成し、該データセットから前記第１のクエリ（１５００）を解決するためのデータの一部を選択するステップ、又は前記データを前処理して、前記第１のクエリ（１５００）を解決するためのデータセットを形成するステップを含む、請求項１８又は１９に記載の方法。
【請求項２１】
前記第１のプロセッサ（６１）において、前記第１のクエリ（１５００）を解決した後に命令を導出し、該命令を同じ装置の前記第２のプロセッサ（６２）、又は前記装置（２０〜２７）に接続できる前記機械（１２１〜１２５、５００）に送信するステップをさらに含む、請求項１８から２０のいずれかに記載の方法。
【請求項２２】
前記サーバ（１０〜１２）において、前記複数の装置（２０〜２７）のうちの前記少なくともいくつかの装置から前記１又は２以上のスレッド（１５１０ａ〜１５１０ｎ）の出力を受け取るステップと、前記出力を処理して前記第２の処理タスク（１５０１）を計算するステップと、前記第２のクエリ（１５００）の解を提供するステップとをさらに含む、請求項１８〜２１のいずれかに記載の方法。
【請求項２３】
前記少なくともいくつかの装置の各装置は、該装置が接続できる前記機械（１２１〜１２５、５００）からのデータ取得を、前記少なくともいくつかの装置のうちの他の装置が実行する、該他の装置の各々が接続できる前記機械（１２１〜１２５、５００）からのデータ取得と同期して実行する、請求項１８から２２のいずれかに記載の方法。
【請求項２４】
ネットワーク装置（２００）を用いて、前記ネットワーク（１００〜１０２）内のデータを該ネットワーク（１００〜１０２）外のコンピュータ装置に送信するステップをさらに含む、請求項１８から２３のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業設備における監視及び制御のための装置の分野に関する。具体的には、本発明は、大量のデータを生成する産業環境においてリアルタイムでデータを取り込んで処理するための高可用性装置に関する。これらの装置は、産業機械におけるエネルギー効率及び予知保全などのスマートサービスの実装にとって特に有利となり得る。本発明は、これらの装置を含むネットワーク、システム及び産業設備にも関する。
【背景技術】
【０００２】
９０年代（１９９０年代）には、スマートデバイスで構成されたネットワークの概念が発展し、このような概念を定義する「モノのインターネット（ＩｏＴ）」という用語が作られた。ＩｏＴは、インターネットに接続可能な物体又は装置が、いわゆる機械間コミュニケーション又はＭ２Ｍコミュニケーションを用いて他の物体又は装置に結び付くことができることを意味する。ＩｏＴは、データの収集及び交換を可能にする電子機器、ソフトウェア、センサ及びネットワーク接続性を組み込んだ物体のネットワークとして定義することができる。ＩｏＴに属する物体は、既存のネットワークインフラを越えて遠隔的に検知して制御することができる。それぞれの「モノ」は、その埋め込みコンピュータシステムを通じて一意に識別可能であるとともに、既存のインターネットインフラを用いて動作することができる。今や、ＩｏＴは、無線及び有線の通信及びネットワーク、センサ、並びに埋め込みシステム及び微小電気機械システム（ＭＥＭＳ）を含む複数の技術を結集させている。ＩｏＴは、家庭（スマートホーム）、（例えば環境監視を含むスマートシティなどの）公共インフラ、及び産業（スマートグリッドなどの特定の意味での産業、又は知的輸送などのいくつかの公共インフラを含む広い意味での産業）を含む多くの異なる環境に適用することができる。
【０００３】
ＩｏＴを（最も広い意味での）産業インフラに適用する際には、インダストリー４．０とも呼ばれる、産業界におけるモノのインターネット（Ｉｎｄｕｓｔｒｉａｌ  Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ：ＩＩｏＴ）という特定の用語が使用される。ＩＩｏＴに産業機器を統合すると、機械が自機の作業状態を上位レベルの監視システムに通知することができ、従ってＡｃａｔｅｃｈ（ドイツ工学アカデミー）、Ｓｍａｒｔ  Ｓｅｒｖｉｃｅ  Ｗｅｌｔ（スマートサービスの世界）、２０１４年３月、に示されているリアルタイム（ＲＴ）品質管理などの予測的スマートサービスが可能になる。この結果、産業機器のメーカーが先進サービスの提供者になることができる。
【０００４】
ＩＩｏＴとＩｏＴの主な違いは、装置及び機械がＩＩｏＴを採用すると、故障又は誤動作した場合に設備／資産の損失又は重大な損傷、環境被害、及び／又は重大な生産損失のうちの少なくとも１つを招く恐れがあるシステム（又はその一部）になり得る点である。このような意味で、産業設備のシステムは、上述した事象のいずれかを招く恐れがある誤動作の可能性がある時に作動するように、異なる機械間のリアルタイムな応答及び同期を考慮した解決策を必要とする。このようなシステムの非限定的な例には、原子力発電所などの発電所、送電及び電力輸送、石油精製所、天然ガス処理工場、化学処理工場、並びに製造業の生産組み立てラインがある。
【０００５】
製造業の生産ラインの例を具体的に参照すると、危機的な事象を招く例示的な誤動作としては、機械加工において使用される機械に含まれている多くの軸受けのうちの１つの軸受けにおける転動体の不具合を挙げることができる。機械は、複雑度の高い要素及び／又は機械的アセンブリを大量に含んでいることがあるが、１つの軸受けにおいて転動体が不具合を起こすと（すなわち、転動体が損傷すると）、機械が動作不能になることによって生産ライン全体が停止してしまう恐れがある。このような意味で、１つの磨耗した転動体が、最終的には機械全体を破壊してしまう一連の事象を引き起こす可能性がある。他のいくつかの事例では、転動体の損傷後にも依然として機械が動いているにも関わらず、この事象によって同じ機械内のさらなる要素の不具合が生じ、これによって最終的に機械が破損する可能性がある。これらの状況では、構成部品（例えば、転動体）に不具合が生じた正確な瞬間から機械を停止させる命令が与えられて停止するまでに要する時間が、不具合又は惨事を避ける上で最も重要な側面である。機械加工の分野における別の重大な事象の例では、工具の１つの刃先の破損（又は同じ転動体の損傷）が重大な品質問題を引き起こして生産損失を招き、この機械によって加工される製品が正しく加工されずに欠陥品となって最低限の品質要件を満たさず、商品が欠陥品であることを誰も検出しないことや、或いは検出されたのが既に販売業者又は最終顧客への配送後であったといったことが起きる可能性もある。従って、このような障害はリアルタイムで検出されなければならず、従って産業環境では構成部品の不具合の素早い検出及びそれに対する反応（この反応は、機械及び障害の性質次第で数ミリ秒になり得る）が必要不可欠である。さらに、産業システムは、機械内の構成部品がまさに故障しようとしている時点を何らかの形で予測して故障の前に交換できることが好ましい。
【０００６】
産業設備の機械は、ＩＩｏＴを採用している時には大量のデータを生成し（単一の機械が何十個又は何百個、さらには何千個ものセンサを含むこともある）、従って新たなやりがいのあるビジネスチャンスをもたらす傾向にある。このようなデータ量の結果、生成されたデータが無意味なものになってしまう可能性があるため、素早いデータ処理時間が必要になるとともに、このようなデータを素早くインデックス化し、記憶して処理する必要性が高まる。一例として、ある工作機械が、その動作を制御するセンサ及び／又は装置によって提供される何千個もの変数、すなわち何千もの異なる潜在的な情報を出力できるとすると、これらの変数（又はこれらの変数の一部）が高速で処理されてこれらの変数の一部又は全部の組み合わせから意味が抽出された場合、この工作機械は不具合の前又は不具合が生じた直後に停止することができる。ある工作機械が３つのサーボモータと機械加工スピンドルとを有し、出力変数の量が７８である特定の事例について検討する。サンプル当たりのスループットが２．８ＭＢ／サイクルである場合、年間に取り込まれるデータの量は約１ＴＢである。不具合が効果的に防がれるか否か、防がれない場合に生じてしまった不具合のコストがどれほどであるかは、これらの変数の処理の遅延、及び後続するこれらの変数からの知識抽出時における反応の遅延によって決まる。上記の例で説明したように、不具合の検出が遅れれば遅れるほど、結果として生じる問題の解決に掛かるコストも高くなる。
【０００７】
現在の大量データの処理方法は、図１に示すようなピラミッド型計算スタック１９０に基づく。第１のレベルでは、監視／品質管理下にある産業設備（一般に、クリティカルシステム）の装置又は機械からのデータをセンサが連続して取り込む。第２のレベルは、例えばＰＬＣ（プログラマブルロジックコントローラ）又はコンピュータ数値制御（ＣＮＣ）ツールを用いて実装されるローカル制御レベルであり、ここでセンサ信号がデジタルデータに変換される。センサから取得されたデータは、ＰＬＣ／ＣＮＣレベルを介してＳＣＡＤＡ（監視制御及びデータ取得）などの産業用制御システム（ＩＣＳ）に伝えられる。ＳＣＡＤＡは、とりわけ製造、発電、インフラプロセス、送電及び電力輸送などの（さらに広範囲に広がることもできる）産業プロセスの遠隔モニタリング及び制御を行う集中型コンピュータベースシステムである。ＰＬＣ／ＣＮＣが局所的制御動作を実行するのに対し、ＳＣＡＤＡは、システム全体に影響を与える包括的制御動作を担当する。
【０００８】
ＳＣＡＤＡレイヤが情報を処理するのに対し、下位レイヤ（ＰＬＣ／ＣＮＣ）は直接データを処理する。この文脈では、「データ」という用語は、対応するソース（例えば、一般にセンサ、ＰＬＣ／ＣＮＣ又は装置）によって提供される（例えば、電圧値又はその他などの）未加工の値を意味し、「情報」という用語も、文脈に応じた形ではあるがデータを意味する。例えば、サーミスタによって生じる電圧はデータ（具体的には、未加工データ）であり、この電圧に意味（すなわち、この特定の電圧の温度はどれほどであるか）が与えられると情報でもある。
【０００９】
ピラミッドの上位レベルは、ＭＥＳ（製造実行システム）及びＥＲＰ（企業資源計画）である。ＭＥＳは、とりわけ、製品定義の管理、リソースの管理、製造指図書の計画、発送及び実行、生産データの収集、並びに生産分析の実行を担当するコンピュータシステムであるのに対し、ＥＲＰは、コアビジネスプロセスの統合ビューを提供するビジネス管理ソフトウェアを意味する。ＥＲＰは、例えば商品企画、マーケティング及び販売、在庫管理及び出荷、並びに支払いなどの、異なるビジネス活動からのデータの収集、記憶、管理及び解釈に使用される。これらの上位レイヤ（ＭＥＳ及びＥＲＰ）は、情報自体をそれ以上処理するものではなく、情報を処理した時点で情報自体から抽出できる（「知識」とも呼ばれる）ビジネス関連情報を取り扱う。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Ａｃａｔｅｃｈ（ドイツ工学アカデミー）、Ｓｍａｒｔ  Ｓｅｒｖｉｃｅ  Ｗｅｌｔ（スマートサービスの世界）、２０１４年３月
【非特許文献２】Ｐｒａｎａｌｉ  Ｍｏｒｅ著、「フォグコンピューティングの実装レビュー（Ｒｅｖｉｅｗ  ｏｆ  ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｆｏｇ  ｃｏｍｐｕｔｉｎｇ）」、ＩＩＪ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｅｓｅａｒｃｈ  ｉｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ、第４巻、第６号、２０１５年６月
【非特許文献３】Ａｒｍａｎｄｏ  Ａｓｔａｒｌｏａ他著、「１５８８を意識した高可用性サイバーフィジカル生産システム（１５８８−ａｗａｒｅ  Ｈｉｇｈ−Ａｖａｉｌａｂｉｌｉｔｙ  Ｃｙｂｅｒ−Ｐｈｙｓｉｃａｌ  Ｐｒｏｄｕｃｔｉｏｎ  Ｓｙｓｔｅｍｓ）」、Ｐｒｅｃｉｓｉｏｎ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｆｏｒ  Ｍｅａｓｕｒｅｍｅｎｔ，  Ｃｏｎｔｒｏｌ，  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  （ＩＳＰＣＳ）、２０１５年ＩＥＥＥ国際シンポジウム、北京、２０１５年、２５〜３０頁
【発明の概要】
【発明が解決しようとする課題】
【００１１】
先行技術のＳＣＡＤＡシステムは、監視下の機械の現在の状態（例えば、一般にアクティブ／非アクティブな装置、バルブの開閉状態、タンク内の圧力レベルなど）を反映する少量の情報を管理する必要があり、これらの状態値は、例えばＰＬＣ／ＣＮＣから取り出すことができる。単なる監視以外のタスク（例えば、予知保全の実行、或いは全体的性能が明らかに正しいにも関わらず装置又は機械が正常に動作しているかどうかの評価）を意図する場合には、産業機械のセンサ及び関連装置によって提供されるデータの全部又は大部分を考慮する必要がある。単一の機械は、それぞれが複数の変数を提供できる何百個又は何千個ものセンサを含むことができる（例えば、デジタルカメラの写真は、その画素と同じ数の変数を有する）。従って、大量のデータ（すなわち、後で情報及び知識を提供できるデータ）が提供される。先行技術では、データをクラウドに記憶する必要があり、ここでいわゆるクラウドコンピューティングを用いて処理することができる。クラウドコンピューティングは、通常はインターネットを介した、サーバ、ネットワーク及びデータベースなどの構成可能な計算／処理リソースの共有プールへの遍在的なオンデマンドでのネットワークアクセスを可能にするモデルである。クラウドシステムには、インターネットの性質に起因して、ネットワーク待ち時間、セキュリティ及びプライバシーなどの争点が内在する。一般に、セキュリティ及びプライバシーは、機密情報及び機密データをクラウドに記憶する際に問題となる争点である。
【００１２】
しかしながら、たとえこれらの２つの争点が問題にならない場合でも、クラウドコンピューティングは、産業環境を制御するという厳しい条件に正しく対応することができない。第一に、一般に単なるデータの記憶は全く実現不可能であり、つまり産業設備の各機械によって生じるデータスループットが大きいため、一般にクラウドにデータを転送するのに必要な帯域幅が不十分であり、さらにシステムは、通信チャネルだけでなく、例えばスイッチ、ルータなどの、クラウドへのデータ送信を可能にする全ての装置によっても制限される。このことは、機械自体によって提供される未加工データを用いて極端に短い期間で検出を実行することによってしか検出されない場合がある異常な挙動に応答して制御しなければならない上記に例示したようなシステムでは特に問題である。第二に、このような異常な挙動を検出するには、記憶されている全てのデータを処理する必要があり、クラウドコンピューティングではその計算能力にも関わらず応答を提供するのに不十分な場合があり、ましてや短期間ではなおさらだからである。
【００１３】
これらの欠点を緩和するために、クラウドを産業設備にとって身近なものとする意図で、一般にフォグコンピューティング又はエッジコンピューティングと呼ばれる新たなパラダイムが開発された。例えば、Ｐｒａｎａｌｉ  Ｍｏｒｅが「フォグコンピューティングの実装レビュー（Ｒｅｖｉｅｗ  ｏｆ  ｉｍｐｌｅｍｅｎｔｉｎｇ  Ｆｏｇ  ｃｏｍｐｕｔｉｎｇ）」、ＩＩＪ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｅｓｅａｒｃｈ  ｉｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ、第４巻、第６号、２０１５年６月、において報告しているように、フォグ／エッジコンピューティングは、クラウドコンピューティングをネットワークに属する機械の物理的位置まで拡大してエンドユーザへの近接性とローカルリソースのプーリングとを保証し、従ってネットワーク待ち時間を短縮する。フォグ／エッジコンピューティングは、データ又は情報をクラウドに記憶しなくてもよい限りにおいて、クラウドコンピューティングに関連するセキュリティ及びプライバシーの問題又は懸念の一部に対処する。それにも関わらず、フォグ／エッジコンピューティングは、どのみちクラウドコンピューティングの全ての問題を解決するわけではない、極めて高価となり得る大規模インフラの展開を必要とする。とりわけ、フォグ／エッジコンピューティングにも帯域幅及び計算についての同じ争点が存在する。現在では、確かにネットワーク待ち時間はクラウドコンピューティングよりも短いかもしれないが、通信チャネルの帯域幅は、産業設備において生じるスループットにとって不十分であると判明している。産業設備全体によって生じるデータ量をネットワークによってなんとか処理できる場合でも、やはり機械のあらゆる異常な挙動を検出するようにこのデータ量を時間内に処理する必要がある。
【００１４】
一例として、図２に、産業用ネットワークとクラウドとを接続する最近のアーキテクチャのスキームを示す。一例として、風力発電施設、機関車、工作機械、及びロボットを用いて加工物に構成部品を挿入するためのセルという、それぞれが異なる産業用ネットワークの例を表す４つのエンドポイントを示す。各エンドポイントは、これらのエンドポイントからのデータの取り込みと取り込んだデータのローカルな前処理の実行とを担当するサイバーフィジカル生産システム（ＣＰＰＳ）に接続される。従来のＣＰＰＳによって行われる前処理の例は、誤ったデータを除去して空間の節約と単純なサンプル変換（例えば、平均値、中央値、標準偏差、例えば高速フーリエ変換（ＦＦＴ）を用いた時間領域から周波数領域への変換のような領域変換を適用する信号処理）とを行うことである。ＣＰＰＳとクラウドとの間には、前処理データをクラウドに送信し、記憶して処理するためにセキュアな通信が提供される。多くの用途では、例えばイーサネット（登録商標）ネットワークを介して複数のＣＰＰＳを互いに接続することが必要である。現在では、図示のＣＰＰＳとして動作して近隣の装置に接続できる装置を複数の企業が提供している。このような装置の例には、ＴＴＴｅｃｈ社によって開発されたＤＥＳｗｉｔｃｈ  Ａｋｒｏ  ６／０  ＴＳＮ、ＳｏＣｅ社によって開発されたＣＰＰＳ−Ｇａｔｅ４０、及びｅＷＯＮ社によって開発されたｅＷＯＮ  Ｆｌｅｘｙがある。
【００１５】
Ａｒｍａｎｄｏ  Ａｓｔａｒｌｏａ他は、サブマイクロ秒同期をサポートできる高可用性リングネットワーク内の、マルチセンサデータを取り込んで処理できるスマートノードによって構成された、ＩＥＥＥ  １５８８高可用性プロトコルを特徴とするＣＰＰＳを提案している（「１５８８を意識した高可用性サイバーフィジカル生産システム（１５８８−ａｗａｒｅ  Ｈｉｇｈ−Ａｖａｉｌａｂｉｌｉｔｙ  Ｃｙｂｅｒ−Ｐｈｙｓｉｃａｌ  Ｐｒｏｄｕｃｔｉｏｎ  Ｓｙｓｔｅｍｓ）」、Ｐｒｅｃｉｓｉｏｎ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｆｏｒ  Ｍｅａｓｕｒｅｍｅｎｔ，  Ｃｏｎｔｒｏｌ，  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  （ＩＳＰＣＳ）、２０１５年ＩＥＥＥ国際シンポジウム、北京、２０１５年、２５〜３０頁）。このネットワークは、極めて厳しい同期要件を満たす。各スマートノードは、そのタイムスタンプ値と組み合わせた膨大な量のセンサデータをクラウド内のサーバに送信し、ここでこれらのデータが処理され管理される。
【００１６】
このようなシステムの問題点は、各スマートノード（ＣＰＰＳ）内で生成されるデータの量によってスマートノードとサーバとの間の通信リンクが予想通りに実行できなくなり得る点である。毎秒何千個もの変数（サブミリ秒当たりのサンプル）によって表される産業機械の例を再び参照すると、たとえこれらの変数に関連するデータをＣＰＰＳにおいて前処理した後であっても、サーバはこの厳しい産業環境の時間前提内にこれらのデータを処理することができず、従って全体的な設備効率及び予知保全を改善するサービスなどのいくつかのスマートサービスが実現不可能になることがある。
【００１７】
この問題は、クラウドに配信すべき（図１に示すセンサから取得できるデータを含む）膨大な量のデータを処理するのに十分な容量を提供する通信チャネル及びスイッチの広大なインフラを展開し、データを処理してそこから知識を抽出するための短い時間を確保することによって対処できることもある（すなわち、常に十分な計算リソースが利用可能であり、ネットワーク待ち時間が短く安定していなければならない）。しかしながら、この方法は、装置及び保全への大規模な経済投資が必要になることに加えて、産業設備に新たな産業機械が加わるにつれてチャネル帯域幅及び処理能力の要件も継続的に上昇するためコスト効率も高くない短期的な解決策にすぎず、従ってシステムに拡張性がない。
【課題を解決するための手段】
【００１８】
本開示において説明する装置、ネットワーク及びシステムは、先行技術のスマートデバイス及びそのネットワークの欠点を解決することを目的とする。これらの装置、ネットワーク及びシステムは、産業設備における少なくとも１つの機械の動作を監視するための装置、ネットワーク及びシステムである。本発明の装置、ネットワーク及びシステムは、例えば検出又は診断された可能性があるあらゆる誤動作に反応するために、少なくとも１つの機械又はその構成部品に命令又はコマンドを与えることによって少なくとも１つの機械の挙動を予測し、又は少なくとも１つの機械を作動させることもできる。装置、ネットワーク及びシステムの各々は、とりわけ全体的な設備効率及び予知保全を改善するサービスなどのスマートサービスを必要とする産業環境での使用に、本明細書から明らかになるコスト効果の高い方法で応用することができる。
【００１９】
本開示の文脈では、「監視動作（ｓｕｐｅｒｖｉｓｉｎｇ  ｏｐｅｒａｔｉｏｎ）」という表現は、産業設備における１又は２以上の機械の受動的監視だけでなく、１又は２以上の機械に対する能動的反応、作動、予測、指示、制御又は管理も含む広い意味で解釈されたい。
【００２０】
本開示の文脈では、「機械（ｍａｃｈｉｎｅ）」という用語は、産業環境の機械、機構、ステーション又はセルに接続されたあらゆる機械、機構、ステーション、セル、構成部品又は周辺機器を意味する。本明細書では、「センサ（ｓｅｎｓｏｒ）」という用語は、文字通りの意味のセンサだけでなく、センサを統合するための装置が取り込むことができたセンサデータを含む、これらの機械が出力できるあらゆるデータを提供するＰＬＣ及びＣＮＣなどの、複数のセンサを統合するための装置も含むように意図される。換言すれば、「センサ」は、フィールドデータ取得段階に属し、あらゆるフィールドデータ取得手段を含む。本開示の文脈では、「データ（ｄａｔａ）」という用語は、対応するソース（例えば、一般にセンサ、ＰＬＣ／ＣＮＣ又は装置）によって提供される（例えば、電圧値又はその他などの）未加工の値を意味し、「情報（ｉｎｆｏｒｍａｔｉｏｎ）」という用語も、文脈に応じた形ではあるがデータを意味する。例えば、サーミスタによって生じる電圧はデータ（具体的には、未加工データ）であり、この電圧に意味（すなわち、この特定の電圧の温度はどれほどであるか）が与えられると情報でもある。言うまでもなく、「データ」という用語は、例えばビット又はバイト形式のデジタル化された情報について言及する時には、センサから取得できる１又は複数のサンプルも含む。
【００２１】
本発明の第１の態様は、産業設備の少なくとも１つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるための装置に関する。装置は、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサを含む。装置は、装置が接続できるネットワークとの間で自機の処理能力を共有し、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドがネットワークの（本開示ではサーバ又はマスタとも呼ぶ）別の装置によって割り当てられた時に、このような少なくとも１つのスレッドを計算するように構成された第２のプロセッサをさらに含む。
【００２２】
装置は、少なくとも１つの機械又は機械の少なくとも１つの構成部品の動作に関連するクエリを解決することができる。好ましい実施形態では、装置が接続できる機械が、少なくとも１つの装置である。高性能コンピューティングの文脈では、装置が接続できるネットワークはコンピューティングクラスタネットワークであることが好ましい。
【００２３】
本発明の第２の態様は、産業設備の少なくとも１つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるためのシステムに関する。システムは、コンピューティングクラスタを形成するサーバと複数の装置とを含むネットワークを含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第１の態様による装置である。この意味において、複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサと、ネットワークとの間で自機の処理能力を共有し、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドがサーバによって割り当てられた時に、このような少なくとも１つのスレッドを計算するように構成された第２のプロセッサとを含む。ネットワークのサーバは、コンピューティングクラスタを制御し、第２の処理タスクを複数のスレッドに分割し、少なくとも１つのスレッドを複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに割り当てるように構成される。これに関連して、サーバは、コンピューティングクラスタを管理し、第２の処理タスクを複数のスレッドに分割し、複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに少なくとも１つのスレッドを割り当てて送信するように構成されたプロセッサを含む。サーバに含まれるプロセッサは、複数の装置のうちの少なくともいくつかの装置からスレッドの出力を受け取り、スレッドの出力を処理して第２の処理タスクを計算し、第２のクエリの解を提供するように構成することもできる。
【００２４】
本発明の第３の態様は、複数の機械と、複数の機械のうちの少なくとも１つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるための、コンピューティングクラスタを形成するサーバ及び複数の装置を含むネットワークとを含む産業設備に関する。複数の装置のうちの少なくともいくつかの装置は、複数の機械のうちの機械に接続することができ、少なくともいくつかの装置の各装置は、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサと、ネットワークとの間で自機の処理能力を共有し、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドがサーバによって割り当てられた時に、このような少なくとも１つのスレッドを計算するように構成された第２のプロセッサとを含む。ネットワークのサーバは、コンピューティングクラスタを制御し、第２の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの１又は２以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに割り当てるように構成される。サーバは、複数の装置のうちの少なくともいくつかの装置からスレッドの出力を受け取り、スレッドの出力を処理して第２の処理タスクを計算し、第２のクエリの解を提供するように構成することもできる。
【００２５】
好ましい実施形態では、少なくともいくつかの装置が、複数の装置の各装置を含む。さらに、これらの好ましい実施形態のいくつかでは、ネットワークの（システム又は産業設備の）複数の装置の各装置が、本発明の第１の態様による装置である。
【００２６】
装置は、機械からリアルタイムでデータを取得しながらリアルタイムでクエリを解決することなどにより、例えば危機的事象が発生するのを防ぐための、又は既に発生した危機的事象が産業設備又は産業設備内のオペレータに損傷を与えるのを防ぐためのリアルタイム又は近リアルタイムでの反応を可能にすることができ、この意味において、このようなクエリから（例えば、構成部品のパラメータを調整すること、機械をオフにすることなどの）機械のための命令を導出することができる。装置は、複雑性又は計算負荷に起因してリアルタイムで解決されないこともあるがコンピューティングクラスタネットワークによってプロセス内時間で、すなわち産業プロセス（産業設備の機械のプロセス）が行われている間に解決されることもあるクエリの解決に寄与するように、コンピューティングクラスタネットワーク内に組み込むことによってプロセス内反応を可能にすることもできる。これらのクエリは、産業設備内の少なくとも１つの機械（又は機械の少なくとも１つの構成部品）の動作を監視するためのクエリ、少なくとも１つの機械／構成部品の挙動を予測するための、又は少なくとも１つの機械／構成部品を作動させるためのクエリ、或いは装置、又は装置を制御するサーバが、検出又は診断された可能性のあるあらゆる誤動作に反応し、機械／構成部品に作用し、又は機械／構成部品へのあらゆる作用を指示するために回答を使用するクエリとすることができる。さらに、産業設備からのデータは、コンピューティングクラスタネットワーク内に記憶することができるので、装置は、リアルタイム又はプロセス内時間で解を必要とせずに、劣化、起こり得る故障又は特定の計画対象期間に行うべき潜在的な改善についての情報を提供できるクエリの解決に寄与することもできる。
【００２７】
本開示の文脈では、「リアルタイム」という用語は、最小値Ｖminと５０ｍｓ（ミリ秒）の上限値との間で変動する範囲、最小値Ｖminと５ｍｓの上限値との間で変動する範囲、又は最小値Ｖminと１ｍｓの上限値との間で変動する範囲などの、最小値Ｖminと１００ｍｓの上限値との間で変動する範囲内に含まれる時間を意味する。現在の技術を考慮すると、限定するわけではないが、例えば最小値Ｖminは１μｓ（マイクロ秒）とすることができる。しかしながら、当業者であれば、範囲の最小値Ｖminは、技術の発展によって５００ｎｓの最小値、１００ｎｓの最小値、２０ｎｓの最小値又は１ｎｓの最小値などの、１μｓよりも小さな最小値に低下することもあると理解するであろう。
【００２８】
本開示の文脈では、単一の装置（好ましくは、装置に接続できる機械からクエリの解決に必要なデータを取得する装置）によってリアルタイムで解決できるクエリを第１のクエリと呼び、プロセス内時間で解決できるクエリを第２のクエリと呼ぶ。
【００２９】
第２のクエリは、１又は２以上の部分（すなわち、スレッド）に分割することによって並列化できる関連するタスクを有し、すなわち第２のクエリを解決するタスクの１又は２以上のスレッドを提供してコンピューティングクラスタネットワークの異なる装置に割り当てることができる。これらの各スレッドは、（例えば、異なる装置において）分散方式で計算することができる。装置の第２のプロセッサがスレッドを計算する際には、クエリを解決できるように（例えば、コンピューティングクラスタネットワークの装置又はサーバにおいて）スレッドの結果を同じタスクの他のスレッドと統合することができる。タスクの計算を並列化することによってクエリを解決するのに掛かる時間は、並列化を行わずにクエリを解決するよりも短くなり得る。
【００３０】
装置の第２のプロセッサは、（装置が接続できる及び／又は接続されたネットワークの）サーバが第２の処理タスクの少なくとも１つのスレッドを装置に割り当てた時に、このようなスレッドを計算するように構成される。サーバによるスレッドの割り当ては、ネットワークを形成する装置の利用可能な計算能力を考慮して行われる。第２のプロセッサは、対応する第２の処理タスクの一部を計算することによって第２のクエリを解決することに寄与するので、装置が接続できる及び／又は接続されたコンピューティングクラスタネットワークとの間で自機の処理能力を共有するように構成される。コンピューティングクラスタネットワークが、例えば本発明の第１の態様の装置の形態のノードを有する場合には、第２のプロセッサの処理能力をコンピューティングクラスタネットワーク内の同様の装置の第２のプロセッサと共有することができる。コンピューティングクラスタネットワークは、存在する装置及びサーバと同数のノードを含むことが好ましいものの、例えば、以下に限定するわけではないが、イーサネット（登録商標）スイッチ、ルータ、データ記憶装置、コンピューティングクラスタネットワークと共有されない処理能力を有する装置などの形態のさらなるノードを含むこともできる。
【００３１】
マルチセンサデータの取得、（第１のプロセッサにおける）ローカルな処理能力及び（第２のプロセッサにおける）分散処理能力を同じ装置に統合することにより、従来のピラミッドに取って代わる高可用性データ処理のための新たなピラミッド型計算の概念がもたらされ、すなわち大量のビジネス上の決定（知識）をクラウドに記憶して処理し続け、及び／又は（例えば、品質管理下にある産業設備の全体的なビューを生成するために機械インターフェイスから収集された未加工のデータを処理する結果としての）特定の情報をフォグ／エッジに記憶して処理し続けながら、グランドコンピューティングという新たな計算レイヤを開発して規定することができる。
【００３２】
システムのサーバは、ネットワークに接続する手段（例えば、入力／出力ポート又はネットワークインターフェイスコントローラ）をさらに含み、この手段を介してネットワークに接続することができ及び／又は接続される。サーバ及びそのプロセッサは、コンピューティングクラスタ内の装置の負荷バランスを取ることによってコンピューティングクラスタの性能を最適化するようにさらに構成することができる。このような意味で、各装置は、サーバのプロセッサが各装置の計算負荷を分かった上で装置の計算負荷に応じていずれかのスレッドを装置に割り当てるように、自機の計算負荷に関する情報をサーバに送信することができる。従って、ほとんどアイドル状態の装置が存在する一方で、計算能力すれすれでタスクを実行している装置も存在するといったことが生じ得るため、コンピューティングクラスタの計算能力が最適化される。ネットワークの処理能力又は計算能力は、産業設備内に新たな装置及び機械が展開される形でさらなる装置がネットワークに組み込まれると高くなる。この結果、ネットワークからデータを取り除く必要がなくなる（データがグランドレベルに留まる）ため、より複雑なクエリを解決できるようになる。
【００３３】
本開示の装置及びシステムは、（センサについては既に特定した広い意味で、データについてはサンプルを含むものとして理解する）センサデータを最初に取得した後に１又は２以上の第１のクエリをローカルに解決するローカル計算レベルと、１又は２以上の第２のクエリを分散して解決する分散型計算レベルとによって形成される新たな計算スキームを提供することができる。この新たな計算スキームは、あらゆるクエリに対する応答時間と、ネットワークに関連する産業設備内のクエリを解決するための（及びこのクエリから命令を導出するための）反応時間とを短縮することができる。換言すれば、これらの装置、及びコンピューティングクラスタネットワーク内で動作する装置によって実行される（高性能コンピューティング（ＨＰＣ）と見なされる）分散コンピューティングは、産業用設備に適用される予測制御／監視から導出される全体的な計算性能を高める。従って、図１の現在のピラミッド型計算スタック１９０に新たな計算レイヤが加わる。この新たな計算レイヤはグランドコンピューティングと呼ばれ、ネットワーク内の各装置の第２のプロセッサの処理を含む。換言すれば、グランドコンピューティングは、ネットワークに含まれる装置がグランドコンピューティングレイヤ内で第２のクエリを解決するように実行する高性能コンピューティングを含む。グランドコンピューティングレイヤは、ネットワーク内の各装置の第１のプロセッサの処理を含む、本明細書ではリキッドコンピューティングレイヤと呼ぶ最下位レイヤ上に構築される。リキッドコンピューティングレイヤは、装置が接続できる機械から取得可能なデータを用いて第１のクエリをリアルタイムで解決するためのタスクを計算する。第１のクエリをリアルタイムで解決する要件を満たすには、プログラム可能なハードウェア／電子機器を有する第１のプロセッサを使用できることが有利である。例えば、限定するわけではないが、ＦＰＧＡ（すなわち、フィールドプログラマブルゲートアレイ）などのフィールドプログラマブル集積回路をハードウェアアクセラレータとして使用することができる。これにより、１／１．５ＧＨｚ〜１／０．８ＧＨｚの、すなわち０．６７ｎｓ（ナノ秒）〜１．２５ｎｓなどの処理サイクル時間での第１のクエリに関連するタスクの計算が可能になる。従って、機械又はその構成部品の監視をリアルタイムで行うことができる。
【００３４】
また、複雑な産業設備において生成される大量のデータは、（クラウド／フォグコンピューティングよりも機械に近い）コンピューティングクラスタ内で２つの異なるレイヤ（リアルタイム処理を必要とする、従ってほぼミリ秒程度などの近リアルタイムでの事象への反応を可能にするクエリを解決するリキッドコンピューティングと、パラレルコンピューティングを使用しなければ素早い反応に不十分な時間で解決されるクエリを解決するとともに、いくつかの例では、必要であればそれほど厳しくない時間応答でクエリを解決してプロセス内反応、すなわち処理の実行に掛かる時間中の反応を可能にするグランドコンピューティング）において処理されるので、（プロセス外反応のためにオフラインで、すなわち処理の実行に掛かる時間よりも長い時間で処理すべき）エッジ／フォグ／クラウドコンピューティングを実行する設備に配信されるデータ量を低減することができる。実際に、未加工のデータをクラウド／フォグ／エッジに送信して処理する必要がなく、従って異なるレイヤ間の通信インフラの容量を抑え、及び／又は待ち時間を長くすることができる。一方で、実質的に文脈に応じた情報のみがコンピューティングクラスタ（グランドコンピューティング）から離れ、エッジ／フォグ／クラウドにおいてさらに処理又は計算される。従って、説明する新たな計算スキームは、クラウドコンピューティング及びフォグ／エッジコンピューティングなどの既存のパラダイムと共存することもできるが、これらのパラダイムは高度な処理（すなわち、分析中の産業設備の知識を獲得するための高度な情報処理）に専念する。
【００３５】
本発明のいくつかの実施形態では、第１の処理タスクが、第１のデータを前処理して、第１のクエリを解決するためのデータセットを形成するステップを含む。すなわち、装置の第１のプロセッサは、第１のデータを前処理して、第１のクエリを解決するためのデータセットを形成するようにさらに構成される。
【００３６】
本発明のいくつかの実施形態では、第１の処理タスクが、第１のデータを前処理してデータセットを形成するステップと、データセットから第１のクエリを解決するためのデータの一部を選択するステップとを含む。すなわち、装置の第１のプロセッサは、第１のデータを前処理してデータセットを形成し、データセットから第１のクエリを解決するためのデータの一部を選択するようにさらに構成される。
【００３７】
装置は、必要なデータ（一般にセンサデータ）を取得し、取得したデータを前処理することによってデータのサイズを縮小し、前処理されたデータ（すなわち、縮小サイズのデータ）を用いてクエリを解決する。さらに、フォグ及び／又はクラウドコンピューティングを用いてビジネス関連のクエリ又は動作などのためのさらなる処理を行えるるように、前処理されたデータの一部又は全部をフォグ／クラウドコンピュータ装置に配信することもできる。
【００３８】
本発明のいくつかの実施形態では、装置の第２のプロセッサが、クエリ（本開示では第３のクエリとも呼ぶ、パラレルコンピューティングにリンクされていないクエリ）を解決するための第３の処理タスクをローカルに計算するようにさらに構成され、すなわち第２のプロセッサは、並列化可能な性質の第２のクエリに関連するタスクを解決することに限定されるものではない。
【００３９】
これらの実施形態のいくつかでは、第３の処理タスクが、ネットワークの（サーバ又は同じ装置を含む）いずれかの装置から取得可能なデータを処理して、クエリ（パラレルコンピューティングにリンクされていない、すなわち第３のクエリ）を解決するためのデータセットを形成するステップを含み、すなわち装置の第２のプロセッサは、ネットワークのいずれかの装置から取得可能なデータを処理して、パラレルコンピューティングにリンクされていないクエリを解決するためのデータセットを形成するようにさらに構成することができる。
【００４０】
本発明のいくつかの実施形態では、装置の第１のプロセッサが、第１のクエリを解決した後に命令を導出するようにさらに構成される。装置の第１のプロセッサは、装置に接続できる機械、ネットワーク、又は（ネットワークの）複数の装置のうちの別の装置に接続できる機械のいずれかに命令を送信するようにさらに構成される。いくつかの例では、第１のプロセッサが最初に第２のプロセッサに命令を送信し、この第２のプロセッサを、装置、及び／又は複数の装置のうちの別の装置に接続できる機械に命令を送信するようにさらに構成することができる。
【００４１】
本発明のいくつかの実施形態では、装置の第２のプロセッサが、同じ装置の第１のプロセッサから受け取ることができる第１のクエリの解をネットワーク又はそのサーバに提供するようにさらに構成される。
【００４２】
本発明のいくつかの実施形態では、装置が、ハードディスクドライブ（ＨＤＤ）、又は好ましくはソリッドステートドライブ（ＳＳＤ）などの少なくとも１つの不揮発性メモリを含むデータ記憶装置をさらに含む。装置の第２のプロセッサは、不揮発性メモリとの間でデータの記憶及びデータの読み出しを行うことができ、一例として、通信チャネルが利用可能な空き帯域幅を有していない時に、ネットワークに送信する必要があるあらゆるデータをバッファリングし、データを処理する前に、ネットワークから受け取ったあらゆるデータをバッファリングすることができる。
【００４３】
本発明のいくつかの実施形態では、第２のプロセッサが、第２の処理タスクを生成できるようにサーバにデータを送信するようにさらに構成され、サーバに送信されるデータは、装置が接続できる機械から取得可能なデータ、及び／又は第１のクエリの解である。
【００４４】
本発明のいくつかの実施形態では、システムのサーバが、少なくとも１つの不揮発性メモリを含むデータ記憶装置を含み、又はこのようなデータ記憶装置に接続される。これらの実施形態では、ネットワークの装置内で生成されたあらゆるデータをサーバの不揮発性メモリに記憶することができる。
【００４５】
本発明のいくつかの実施形態では、ネットワークの各装置が、（装置が接続できる機械からの）データ取得を、複数の装置のうちの他の装置が実行する（他の装置の各々が接続できる機械からの）データ取得と同期して実行するように構成される。ネットワークの各装置は、同期して動作するために、各装置がネットワークの他の装置と同じ瞬間に機械からデータを取得するように、ネットワーク全体を通じてクロックを同期させてデータを同時に取得するためのプロトコルを（例えば、第２のプロセッサに、又はネットワークへの接続手段に）実装する。例えば、このプロトコルは、Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ（ＰＴＰ）（ＩＥＥＥ  １５８８）、Ｗｈｉｔｅ  Ｒａｂｂｉｔ、又はＴｉｍｅ  Ｓｅｎｓｉｔｉｖｅ  Ｎｅｔｗｏｒｋ（ＴＳＮ）とすることができる。特定の実施形態では、各装置が、サーバと及びネットワーク内の他の装置と好ましくはサブマイクロ秒の精度で同期するための同期タイマを含む。
【００４６】
本発明のいくつかの実施形態では、サーバが、第１のプロセッサ及び第２のプロセッサを含む。いくつかの実施形態では、サーバが、本発明の第１の態様による装置である。
【００４７】
いくつかの実施形態では、サーバが、複数の装置のうちの少なくともいくつかの装置又は全ての装置の各装置の第２のプロセッサが実行する第２の命令セットアーキテクチャとは異なる第１の命令セットアーキテクチャを実行するように構成されたプロセッサを含む。サーバは、ネットワークに接続できるネットワークインターフェイス（例えば、コンピューティングクラスタ内の装置）をさらに含み、このネットワークインターフェイスは、第１の命令セットアーキテクチャから第２の命令セットアーキテクチャに、及びその逆に命令を変換するように構成される。ネットワークインターフェイスは、サーバの命令セットアーキテクチャとは異なる命令セットアーキテクチャをネットワークの複数の装置が実行できるようにし、このようにすると、サーバがｘ８６などの（遍在的な）命令セットアーキテクチャを実行する他の装置（例えば、フォグコンピューティング及び／又はクラウドコンピューティングのための装置）と相互接続できるので有利である。従って、サーバは、ネットワーク内で実行される命令セットアーキテクチャに関わらず、（ネットワークインターフェイスを用いて）命令を対応する命令セットアーキテクチャに変換することによって、ネットワーク内で生成されたあらゆるデータをネットワーク外の他の装置に通信することができる。考えられる命令セットアーキテクチャの非限定的な例には、ＡＲＭ、Ａｒｄｕｉｎｏ、Ｒａｓｐｂｅｒｒｙ  ＰＩ、ｘ８６、ＰｏｗｅｒＰＣ、ＳｏＣ装置などがある。
【００４８】
本発明のいくつかの実施形態では、装置の第１のプロセッサが、中央処理装置又はその少なくとも１つのコア、グラフィック処理装置、ハードウェアアクセラレータ、又は例えばＸｉｌｉｎｘ社によるＺｙｎｑ、ＭＰＳｏＣなどの埋め込み回路（例えば、システムオンチップ、マルチプロセッサシステムオンチップ）としてのＦＰＧＡ（すなわち、フィールドプログラマブルゲートアレイ）などのフィールドプログラマブル集積回路など、及びこれらの組み合わせのうちの１つを含む。本発明のいくつかの実施形態では、装置の第２のプロセッサが、中央処理装置又はその少なくとも１つのコア、グラフィック処理装置、又は埋め込み回路（例えば、システムオンチップ、マルチプロセッサシステムオンチップ）としてのＦＰＧＡなどのフィールドプログラマブル集積回路など、及びこれらの組み合わせのうちの１つを含む。本発明のいくつかの実施形態では、装置がマルチコア中央処理装置をさらに含み、第１のプロセッサがマルチコア中央処理装置の少なくとも１つのコアを含み、第２のプロセッサがマルチコア中央処理装置の少なくとも別の１つのコアを含む。
【００４９】
本発明のいくつかの実施形態では、システムのネットワークが、（ネットワークの）１又は複数の装置の第１のプロセッサ（リキッドコンピューティング）及び第２のプロセッサ（グランドコンピューティング）において上述したタスクを実行した結果として取得可能なデータを外部ネットワーク又はそのサーバに送信するためのネットワーク装置（例えば、ルータ、スイッチなど）を含む。このような意味で、ネットワーク内に存在するデータは、例えばフォグコンピューティング又はクラウドコンピューティングを実行するように構成されたコンピュータ装置などのネットワーク外のコンピュータ装置に送信することができる。従って、リキッドコンピューティングレイヤ及びグランドコンピューティングレイヤは、フォグ／クラウドコンピューティングと共存し、このようなフォグ／クラウドコンピューティングとの相乗効果を高めて利用することができる。外部ネットワークは、クラウド内及び／又はフォグ内に存在することができる。ネットワーク装置は、システムのネットワークのサーバに接続することができ、この場合、サーバはネットワーク装置を介して外部ネットワークにデータを送信する。
【００５０】
本発明のいくつかの実施形態では、装置の第２のプロセッサが、第２の処理タスクの少なくとも１つのスレッドを計算するために処理能力の一部をささげるようにさらに構成され、すなわち第２のプロセッサの処理能力の一部はＨＰＣに専念する。これらの実施形態では、ＨＰＣに専念しない第２のプロセッサの部分が、（パラレルコンピューティングにリンクされていない）クエリを解決することを含む第３の処理タスクをローカルに計算すること、又は装置が取得可能なデータ及び／又はサンプルを第１のプロセッサと共に前処理することに専念することができる。このような前処理は、装置が非常に短期間に非常に大量のデータを受け取り、従ってデータを取り込んで前処理するのに比較的大量のローカルリソースが必要なクリティカルシステムに適用することができる。
【００５１】
ネットワークは、決定論的とすることができ、すなわちネットワーク内で生成される全てのデータは、データの正確な発生時点の識別を可能にするタイムスタンプを含む。特定の実施形態では、ネットワークを、Ｗｈｉｔｅ  Ｒａｂｂｉｔなどのイーサネット（登録商標）型リアルタイム決定論的ネットワークとすることができる。別の実施形態では、ネットワークを、通常は産業用イーサネット（登録商標）ネットワークに実装されるＴＳＮネットワークとすることができる。
【００５２】
ネットワークのコンピューティングクラスタを形成する各装置の第２のプロセッサは、非同期的に動作する。しかしながら、本発明のいくつかの実施形態では、第２のプロセッサが、コンピューティングクラスタネットワークを形成する他の装置の第２のプロセッサに対して同期してデータを処理する。
【００５３】
装置は、ＩＩｏＴに適しているとは言いながらも、ＩＰを備えていない機械及び／又はセンサ、すなわちＩＰパケットを生成しない機械及び／又はセンサの接続をサポートすることもできる。従って、装置は、ＩＰ、又はＭｏｄｂｕｓ、ＰＲＯＦＩＮＥＴ又はＩＯ−Ｌｉｎｋ通信のような他のプロトコルを用いて機械及び／又はセンサに接続することができる。この特徴は、例えば、原子力発電所、風力発電所、石油精製所、天然ガス処理工場、化学処理工場及び製造業の生産ラインなどの、製造、化学、並びに発電、送電及び電力輸送のような幅広い産業設備における装置の展開を可能にする。
【００５４】
本発明の第４の態様は、産業設備の少なくとも１つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるための装置に関する。装置は、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサを含む。装置は、別のクエリを解決するための第２の処理タスクをローカルに計算するように構成された第２のプロセッサをさらに含む。
【００５５】
装置は、第１のプロセッサ及び第２のプロセッサを用いて第１のクエリ及び別のクエリをそれぞれローカルに解決することができ、すなわちプロセッサによって計算される第１のタスクも第２のタスクもパラレルコンピューティングにリンクされない。
【００５６】
本発明の第４の態様の装置は、ネットワークを形成するように（他の）同様の装置に接続することもできる。これらの装置は、ネットワークを介してデータを交換するように構成することができる。ネットワークは、サーバを含むことができる。サーバ、及び装置の少なくとも一部は、コンピューティングクラスタを形成することができる。
【００５７】
いくつかの実施形態では、第１の処理タスク及び／又は第２の処理タスクが、ネットワークの（サーバ又は同じ装置を含む）いずれかの装置から取得可能なデータを処理して、第１のクエリ及び／又は別のクエリを解決するためのデータセットを形成することを含む。すなわち、第１のプロセッサ及び第２のプロセッサは、いずれもネットワークのいずれかの装置から取得可能なデータを処理して、（パラレルコンピューティングにリンクされていない）クエリを解決するためのデータセットを形成するように構成される。
【００５８】
装置は、少なくとも１つの機械又は機械の少なくとも１つの構成部品の動作に関連するクエリを解決することができ、この意味において、第１のクエリ及び別のクエリは、少なくとも１つの機械又は機械の少なくとも１つの構成部品の動作に関連することができる。
【００５９】
本発明の第５の態様は、産業設備の少なくとも１つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるためのシステムに関する。システムは、複数の装置を含むネットワークを含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第５の態様による装置である。複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサと、別のクエリを解決するための第２の処理タスクをローカルに計算するように構成された第２のプロセッサとを含む（すなわち、第２の処理タスクは、パラレルコンピューティングにリンクされない）。
【００６０】
本発明の第６の態様は、複数の機械と、複数の機械のうちの少なくとも１つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるためのネットワークとを含む産業設備に関する。ネットワークは、複数の装置を含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第４の態様による装置である。複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するように構成された第１のプロセッサと、別のクエリを解決するための第２の処理タスクをローカルに計算するように構成された第２のプロセッサとを含む（すなわち、第２の処理タスクは、パラレルコンピューティングにリンクされない）。
【００６１】
本発明のいくつかの実施形態では、装置の第２のプロセッサが、装置が接続できるネットワークとの間で自機の処理能力を共有して、第２のクエリを解決するための第３の処理タスクの少なくとも１つのスレッドがネットワークの別の装置（すなわち、サーバ）によって割り当てられた時に、このようなスレッドを計算するようにさらに構成される。これらの実施形態では、ネットワークが、複数の装置のうちの少なくともいくつかの装置を含むコンピュータクラスタを形成する。ネットワークは、コンピューティングクラスタを制御し、第３の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの１又は２以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに割り当てるように構成されたサーバをさらに含む。これに関連して、サーバは、コンピューティングクラスタを管理し、第３の処理タスクを複数のスレッドに分割し、複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに少なくとも１つのスレッドを割り当てて送信するように構成されたプロセッサを含む。
【００６２】
本発明の第７の態様は、センサを有する１又は２以上の産業用機械を監視して制御するための装置であって、他の同様の装置に接続するための入力／出力ポートと、産業用機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを含むデータ取得ブロックと、少なくとも１つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第１のクエリを解決するための第１の処理タスクをリアルタイムで計算する第１のプロセッサと、装置が接続された、同様の装置で構成されたコンピューティングクラスタネットワークとの間で自機の処理能力を共有し、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドがネットワークの装置によって割り当てられた時に、このようなスレッドを計算する第２のプロセッサとを含む装置に関する。
【００６３】
本発明のいくつかの実施形態では、第２のプロセッサが、第２のクエリを解決するための第２の処理タスクの解をネットワークの装置に送信する。
【００６４】
本発明のいくつかの実施形態では、第１のプロセッサが、第１のクエリの解を第２のプロセッサに提供し、及び／又は第１のクエリの解から第１の命令を導出して第１のプロセッサの接続先の機械に提供する。
【００６５】
本発明のいくつかの実施形態では、第１のプロセッサが、コンピューティングクラスタネットワーク又は第２のプロセッサから第２の命令をさらに受け取って第１のプロセッサの接続先の機械に提供する。
【００６６】
本発明の第８の態様は、センサを有する１又は２以上の産業用機械を、複数の別個のコンピュータ装置を用いて監視して制御するためのシステムであって、コンピューティングクラスタを形成する複数の装置と通信するように接続されて装置の動作を制御するサーバを含み、このサーバが、少なくとも１つのメモリと、第２のクエリを解決するための第２の処理タスクをスレッドに分割し、第２の処理タスクの協調計算のために装置にスレッドを割り当てることによって第２のクエリを解決するための少なくとも１つのプロセッサとを有し、各装置が、他の同様の装置に接続するための入力／出力ポートと、機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを有するデータ取得ブロックと、少なくとも１つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第１のクエリを解決するための第１の処理タスクをリアルタイムで計算する第１のプロセッサと、自機の処理能力をコンピューティングクラスタネットワークと共有し、サーバによって割り当てられた少なくとも１つのスレッドを計算し、第２のクエリを解決するためのスレッドの解をサーバに送信する第２のプロセッサとを有するシステムに関する。
【００６７】
本発明のいくつかの実施形態では、各装置の第１のプロセッサが、同じ装置の第２のプロセッサに第１のクエリの解を提供し、及び／又は第１のクエリの解から第１の命令を導出して第１のプロセッサの接続先の機械に提供する。
【００６８】
本発明のいくつかの実施形態では、サーバの少なくとも１つのプロセッサが、第２のクエリの解から第２の命令を導出し、機械に接続された装置を介して機械に提供する。
【００６９】
本発明のいくつかの実施形態では、サーバの少なくとも１つのプロセッサが、装置からスレッドの出力をさらに受け取り、出力を処理して第２の処理タスクを計算し、第２のクエリの解を提供する。
【００７０】
本発明の第９の態様は、センサを有する１又は２以上の産業用機械を、複数の別個のコンピュータ装置を用いて監視して制御するためのシステムであって、コンピューティングクラスタを形成する複数の装置と通信するように接続されて装置の動作を制御するサーバを含み、このサーバが、少なくとも１つのメモリと、第２のクエリを解決するための第２の処理タスクをスレッドに分割し、第２の処理タスクの協調計算のために複数の装置のうちのいくつかの装置にスレッドを割り当てることによって第２のクエリを解決するための少なくとも１つのプロセッサとを有し、各装置が、他の同様の装置に接続するための入力／出力ポートと、機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを有するデータ取得ブロックと、少なくとも１つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第１のクエリを解決するための第１の処理タスクをリアルタイムで計算する第１のプロセッサと、自機の処理能力をコンピューティングクラスタネットワークと共有し、サーバによって割り当てられた少なくとも１つのスレッドを計算し、第２のクエリを解決するためのスレッドの解をサーバに送信する第２のプロセッサとを有するシステムに関する。
【００７１】
本発明のいくつかの実施形態では、各装置の第１のプロセッサが、第１のクエリの解から第１の命令を導出して第１のプロセッサの接続先の機械に提供する。
【００７２】
本発明のいくつかの実施形態では、サーバの少なくとも１つのプロセッサが、第２のクエリの解から第２の命令を導出し、機械に接続された装置を介して機械に提供する。
【００７３】
本発明のいくつかの実施形態では、サーバの少なくとも１つのプロセッサが、装置から１又は２以上のスレッドの出力をさらに受け取り、出力を処理して第２の処理タスクを計算し、第２のクエリの解を提供する。
【００７４】
本発明の第１０の態様は、コンピューティングクラスタを形成するサーバと複数の装置とを含むネットワークを用いて産業設備の少なくとも１つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも１つの機械を作動させるための方法であって、複数の装置のうちの少なくともいくつかの装置は産業設備の機械に接続することができ、少なくともいくつかの装置の各装置において、装置が接続できる機械からセンサデータを取得するステップと、少なくともいくつかの装置の各装置の第１のプロセッサにおいて、取得したデータを用いて、第１のクエリを解決するための第１の処理タスクをリアルタイムで計算するステップと、少なくともいくつかの装置の各装置において、第２のクエリを解決するための第２の処理タスクの少なくとも１つのスレッドがサーバによって割り当てられた時に、このような少なくとも１つのスレッドを受け取るステップと、少なくともいくつかの装置の各装置の、ネットワークとの間で自機の処理能力を共有するように構成された第２のプロセッサにおいて、受け取った少なくとも１つのスレッドを計算するステップと、サーバにおいて、コンピューティングクラスタを制御し、第２の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの１又は２以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第２のプロセッサに割り当てるステップとを含む方法に関する。
【００７５】
本発明のいくつかの実施形態では、少なくともいくつかの装置が、複数の装置の各装置を含む。
【００７６】
本発明のいくつかの実施形態では、第１の処理タスクを計算するステップが、データを前処理してデータセットを形成し、データセットから第１のクエリを解決するためのデータの一部を選択するステップ、又はデータを前処理して第１のクエリを解決するためのデータセットを形成するステップを含む。
【００７７】
本発明のいくつかの実施形態では、方法が、第１のプロセッサにおいて、第１のクエリを解決した後に命令を導出し、命令を同じ装置の第２のプロセッサ、又は装置に接続できる機械に送信するステップをさらに含む。
【００７８】
本発明のいくつかの実施形態では、方法が、第２のプロセッサにおいて、クエリを解決するための第３の処理タスクをローカルに計算するステップをさらに含む。本発明のいくつかの実施形態では、第３の処理タスクを計算するステップが、サーバ又は複数の装置のうちのいずれかの装置から取得可能なデータを処理して、クエリを解決するためのデータセットを形成するステップを含む。
【００７９】
本発明のいくつかの実施形態では、方法が、サーバにおいて、複数の装置のうちの少なくともいくつかの装置から１又は２以上のスレッドの出力を受け取るステップと、出力を処理して第２の処理タスクを計算するステップと、第２のクエリの解を提供するステップとをさらに含む。
【００８０】
本発明のいくつかの実施形態では、少なくともいくつかの装置の各装置が、装置が接続できる機械からのデータ取得を、少なくともいくつかの装置のうちの他の装置が実行する、他の装置の各々が接続できる機械からのデータ取得と同期して実行する。
【００８１】
本発明のいくつかの実施形態では、方法が、ネットワーク装置を用いて、ネットワーク内のデータをネットワーク外のコンピュータ装置に送信するステップをさらに含む。
【００８２】
さらに、本発明の第１、第２及び第３の態様について説明したものと同様の利点は、本発明の第４、第５及び第６の態様にも適用することができる。
【００８３】
本発明の説明を完全なものにしてより良く理解できるようにするために一連の図面を提供する。これらの図面は、説明の不可欠な部分を形成して本発明の実施形態を示すものであり、本発明の範囲を限定するものではなく、本発明をいかにして実施できるかについてのほんの一例として解釈すべきである。図面は、以下の図を含む。
【図面の簡単な説明】
【００８４】
【図１】先行技術による、ＩｏＴ及び／又はＩＩｏＴベースの産業用ネットワークにおけるデータ処理方法のパラダイムを示すピラミッド型モデルを示す図である。
【図２】産業設備を監視する先行技術のアーキテクチャのスキームを示す図である。
【図３】本発明の実施形態による、複数のノードによって形成されたシステムを概略的に示す図である。
【図４】本発明の異なる実施形態による、それぞれのネットワークを形成するノードが接続された機械と、それぞれのネットワークとクラウド／フォグとの相互接続部とを含む、複数のノードによって形成されたシステムを概略的に示す図である。
【図５】本発明の異なる実施形態による、それぞれのネットワークを形成するノードが接続された機械と、それぞれのネットワークとクラウド／フォグとの相互接続部とを含む、複数のノードによって形成されたシステムを概略的に示す図である。
【図６Ａ】本開示の装置が接続できる産業設備の機械のスキームを示す図である。
【図６Ｂ】本開示の装置及びシステムが既存のクラウド／フォグ設備と連携して制御できる、企業の世界的産業インフラのスキームを示す図である。
【図７Ａ】本発明の実施形態による装置のインターフェイス及びプロセッサを概略的に示す図である。
【図７Ｂ】このような装置の動作のために装置に提供できる複数の機能を概略的に示す図である。
【図８】本発明の実施形態による装置がローカルに又は他の装置と並行して解決できるクエリを図式的に示す図である。
【図９Ａ】図１のものと同様の、ただし本発明の実施形態によるシステムを用いてデータを処理する方法のパラダイムを示すピラミッド型モデルを示す図である。
【図９Ｂ】リキッドコンピューティング、グランドコンピューティング、フォグコンピューティング及びクラウドコンピューティングを含む計算ピラミッドを示す図である。
【図１０】システムが産業設備の機械の動作をどのように監視できるかについての例を図式的に示す図である。
【図１１】システムが産業設備の機械の動作をどのように監視できるかについての別の例を図式的に示す図である。
【図１２】本発明の実施形態による装置及び／又はシステムを用いて動作を監視できる回転部品を示す図である。
【発明を実施するための形態】
【００８５】
図３〜図５に、本発明による、産業設備の１又は２以上の機械の挙動、動作及び／又は性能を監視して分析し、最終的に１又は２以上の機械を作動させ、その挙動、動作及び／又は性能を予測し、このような挙動、動作及び／又は性能に対する反応を指示することに特に適することができる、ネットワークを形成するシステムの異なる実施形態を示す。
【００８６】
このネットワークは、複数の装置と、ネットワーク及びその装置を制御するサーバとを含む。本開示によれば、これらの装置及びサーバは、ネットワークのノードとも呼ばれる。とりわけ、産業設備は、限定するわけではないが、自動車産業、海運業及び航空宇宙産業を含む運送業、航空管制産業、エネルギー産業、医療機器産業、サイバー防御産業及びその他の目的の製造業といった分野のうちの１つに属することができる。本開示の文脈では、産業設備の機械は、産業プロセスを実行するために使用されるあらゆる装置又は機械を意味する。
【００８７】
図３では、システムが、コンピューティングクラスタとして構成されたサーバ１０と複数の装置２１〜２６とを含むネットワーク１００を含む。各装置２１〜２６は、後述するような第１のプロセッサ及び第２のプロセッサを有し、（インターフェイス又は入力／出力ポート２９を介して）産業設備の機械（又はその構成部品）と、（インターフェイス又は入力／出力ポート２８を介して）ネットワーク１００などのネットワークとに接続することができる。図示のネットワーク１００は、リングトポロジーで実装されているが、スタートポロジーなどの、コンピューティングクラスタ構成を可能にする他のあらゆるトポロジーも可能である。しかしながら、産業設備の性質に起因して、たとえ２つの隣接するノード間の通信リンクが不具合を起こした後でもネットワークが完全に動作できる状態を保つという理由でリングトポロジーの使用は非常に都合が良く、また同じ理由から、産業設備に新たな機械が加わると２つの隣接するノードが互いに切断されて間にさらなる装置を追加できるようになるので、このトポロジーではネットワークのケーブル敷設も容易である。同様に、このシステムには拡張性があり、その処理能力はネットワーク内の装置の数に依存するので、たとえ産業設備に新たな機械が組み込まれない場合でも、ネットワークに装置の形でさらなるノードを追加することが好都合となり得る。装置２１〜２６は、リンク１１０によって相互接続されるので、サーバ１０によって管理されるコンピューティングクラスタを形成する。後述するように、サーバ１０は、高性能コンピューティングのために、計算すべきタスクのスレッドを少なくともいくつかの装置２１〜２６に割り当てるように構成される。リンク１１０は、光ファイバを含むことが好ましい。サーバ１０は、装置２１〜２６のような装置を含むことも、或いは、例えば強化された又はより強力な処理リソースを有する異なる装置を含むこともできる。
【００８８】
図４では、装置２１〜２６の各々が、１又は２以上のインターフェイス２９を介して（例えば、図４に示すような）１又は２以上の機械１２１〜１２５に接続することができる。装置と機械との間の接続は、直接接続又は間接接続（すなわち、イーサネット（登録商標）スイッチなどの相互接続装置を用いた）とすることができ、さらにこの接続は有線又は無線とすることができる。装置は、機械に接続することにより、例えばセンサ、及び／又は機械に作用できるＰＬＣ又はＣＮＣなどの制御装置（すなわち、コントローラ）を通じて機械からマルチセンサデータを取得又は受信することができる。このような意味で、装置は、直接的又は間接的に機械に接続できるので、機械に接続されている時には、（例えば、構成部品のパラメータを調整するため、機械をオフにするためなどの）データを必要時に機械に送信することもできる。
【００８９】
各機械は、（サンプルを含むものとして理解される）異なる量のデータを生成できるので、いくつかの実施形態では、機械が生成するデータの量に対処するために複数の装置を機械に接続できることが必要となり得る。このことを図４及び図５に示しており、これらの図では、それぞれのネットワーク１０１、１０２の装置２５、２６が機械１２５に接続される一方で、ネットワーク１０１、１０２の残りの装置２１〜２４の各々が機械１２１〜１２４のうちの１つにそれぞれ接続されている。装置２１〜２６とネットワーク１００、同様に装置２１〜２７とそれぞれのネットワーク１０１、１０２は、ネットワーク１００〜１０２に関連する機械におけるあらゆる問い合わせ又は潜在的な／実際の誤動作に対する反応時間を短縮するように管理を行うので、ネットワーク１００〜１０２は、機械の障害が例えば大きな経済的損失をもたらし得る産業用途において特に有用である。
【００９０】
図４及び図５の実施形態に示すように、ネットワーク１０１、１０２は、クラウド及び／又はフォグ／エッジ１５０との通信を可能にするシステムのネットワーク装置２００（例えば、イーサネット（登録商標）モデム／ルータ）を介してクラウド及び／又はフォグ／エッジ１５０に接続することができる。このようなクラウド及び／又はフォグとの接続は、図３のシステムにおいて実装することもできる（本明細書には図示せず）。とりわけ、図４では、サーバ１１が通信リンク１８を介して装置２７に接続されるとともに、ネットワーク装置２００にも接続される。装置２７は、ネットワーク１０１の一部も形成する。従って、サーバ１１は、ネットワーク１０１と、クラウド又はフォグ／エッジコンピューティングのためのネットワーク１５０などの、ネットワーク１０１の外部の他のネットワークとの接続を可能にするゲートウェイとしても機能する。
【００９１】
或いは、図５に示すように、サーバ１２がネットワークインターフェイス１９を含み、これを介して装置２７に、従ってネットワーク１０２に接続することもできる。サーバ１２の処理能力は、ネットワーク１０２の高性能コンピューティング機能に加わることができる。装置２１〜２７のプロセッサ（例えば、装置の第２のプロセッサ）は、サーバ１２によって実行される命令セットアーキテクチャとは異なる命令セットアーキテクチャを実行することができる。この場合、ネットワークインターフェイス１９は、第１の命令セットアーキテクチャから第２の命令セットアーキテクチャに、及びこの逆に命令を変換するように構成することができる。サーバ１２は、ネットワーク１０２がクラウド及び／又はフォグ／エッジ１５０と通信できるようにネットワーク装置２００に接続される。
【００９２】
図３〜図５に示す実施形態では、いずれもサーバ１０、１１、１２がデータ記憶手段１５を含むことができる。データ記憶手段１５は、ハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）などの不揮発性記憶手段であることが好ましい。データ記憶手段１５は、クエリ、タスク及びスレッドに関連するデータを含むあらゆるデータを記憶することができる。
【００９３】
図６Ａに、部品を機械加工する例示的な機械５００の異なるユニット／サブシステムがどのように相関し、これらのサブシステム／ユニットにおいて生成されたデータ／サンプル／情報を共有するためにどのように装置に接続できるかについてのスキームを機能ブロックの形で示す。概説する機械５００は、自動車産業の分野における典型的な機械であるが、同様の機能ブロックは、異なる分野における他の機械を表すこともできる。
【００９４】
この例の機械５００は、以下のユニット、サブシステム及び／又は構成部品で構成される。
【００９５】
機械加工ユニット５１１：その機能は、加工工具が正確であって、要求性能（品質、生産率など）で加工作業を行うのに十分な力及びトルクを有することを保証することである。この目的のために、機械加工ユニット５１１は、空間内における工具の線形運動のためのＸ軸、Ｙ軸及びＺ軸、並びに工具の回転を制御するためのＳ軸という４つのサーボ制御軸を有する。各軸は、モータによって駆動されて（一般にＰＬＣ／ＣＮＣブロック５１６に含まれる）ＣＮＣ５８１によって制御される。モータは、ＣＮＣバス５０１によってＣＮＣ５８１と通信し、モータの状態に関する大量の情報（消費電力、温度、命令軌道など）と、高精度で動きを制御する（各軸に１つの）センサ５６１〜５６４（エンコーダ、温度センサなど）の読み取り値とを共有する。また、フィールドバス５０２に接続されたＩ／Ｏモジュール５２１が、さらなるセンサ５３１（加速度計、誘導スイッチ、圧力スイッチなど）のネットへの接続、及び機械加工ユニット５１１の他のアクチュエータ５４１（カウンタウェイトシリンダなど）への命令を可能にする。
【００９６】
クランプユニット５１２：このユニット５１２は、機械加工される予定の部品をクランプする。このユニットは、部品を正確に配置して、機械加工において生じる切削力を吸収できなければならない。部品をクランプする機構が使用するアクチュエータは、センサ５３２（リミットスイッチ、アナログ位置制御スイッチなど）による命令及び制御を受けなければならない。センサ５３２及びアクチュエータ５４２は、フィールドバス５０２に接続されたＩ／Ｏモジュール５２２に接続される。
【００９７】
油圧／空気圧ユニット５１３：機械５００の機構の多くは、油圧シリンダ又は空気圧シリンダによって駆動される。このユニット５１３は、これらの機構に適した流れ及び圧力を提供する。いくつかのセンサ５３３（圧力、流量、温度、レベルなど）は、ソレノイドバルブ５４３が回路を管理している間にこの機能が正しく実行されているように制御する。センサ５４３及びバルブ５４３は、フィールドバス５０２に接続されたＩ／Ｏモジュール５２３に接続される。
【００９８】
冷却ユニット５１４：冷却ユニット５１４は、冷却する必要がある機械５００のシステムに冷却液を供給する。この機能が正しく実行されているように制御するいくつかのセンサ５３４が存在する。油圧ユニット５１３と同様に、いくつかのバルブ５４４が回路を管理する。センサ５３４及びバルブ５４４は、フィールドバス５０２に接続されたＩ／Ｏモジュール５２４に接続される。
【００９９】
装荷／除荷ユニット５１５：このユニットは、機械５００における加工すべき部品の装荷及び除荷を自動的に行うシステムである。この目的のために、ユニット５１５は、機械加工ユニット５１１のものと同様の、ＣＮＣ５８１に接続された２つのサーボ制御軸５６５及び５６６を有する。これらの軸５６５〜５６６は、ユニット５１５の動きを実行する必要がある。また、フィールドバス５０２に接続されたＩ／Ｏモジュール５２５が、さらなるセンサ５３５（誘導スイッチ、圧力スイッチなど）のネットへの接続、及び装荷／除荷ユニット５１５の他のアクチュエータ５４５（グリッパなど）への命令を可能にする。
【０１００】
品質管理ユニット５１７：自動車産業におけるこれらの種類の生産ラインの高生産率を考慮すると、生産部品の品質が規格下にあるように制御することは必須である。この例では、この機能がカメラ５８３と測定用タッチプローブ５８４とによって実行され、これらはいずれもスイッチ５７０に接続される。
【０１０１】
ワットメータ５１８：このメータは、消費電力を最適化するために、機械５００が電力消費の点でどのように機能しているかが分かるようにする。ワットメータ５１８は、別のスイッチ５７１に接続される。
【０１０２】
ヒューマンマシンインターフェイス（ＨＭＩ）５１９：このインターフェイスは、ユーザが機械５００と相互作用できるようにするインターフェイスを提供する。ＨＭＩ５１９も、スイッチ５７１に接続される。
【０１０３】
スイッチ５７０は、フィールドバス５０２を入力部として有し、ＰＬＣ／ＣＮＣ５１６のＰＬＣ５８２に接続される。ＣＮＣ５８１はＰＬＣ５８２にも接続され、ＰＬＣ５８２はスイッチ５７１にも接続される。本開示において説明する装置は、例えばスイッチ５７１を介して図６Ａの機械５００に接続することができ、すなわち機械５００のデータを取得するためにスイッチ５７１に接続することができる。
【０１０４】
図６Ａのスキームでは、スイッチ５７１が、このスイッチに接続できる装置とＩＰ（インターネットプロトコル）を用いて通信することができ、データは、ＴＣＰ（伝送制御プロトコル）などの信頼できる送信プロトコルを用いて転送することができ、この通信は、物理的接続又は無線によって確立することができる。別の実装では、装置が、その対応するインターフェイス／ポートを用いて機械のＩ／Ｏモジュールに直接接続することができる。この目的のために、装置は、物理的インターフェイスの接続を可能にするＩ／Ｏポートを備え、このポートは、例えば限定するわけではないがＲＪ−４５のような異なる物理的インターフェイスの接続に適することができる。要するに、各装置（図３〜図５の装置）は、センサに、及び／又は機械のコントローラ（例えば、ＰＬＣ、ＣＮＣなど）などの他の処理及び通信手段のソースに直接的又は間接的に接続できるインターフェイスを通じて、機械の異なる要素又は構成部品に設けられた複数のセンサからデータ及び／又はサンプルを受け取る。センサの非限定的な例には、とりわけ温度センサ、振動センサ、圧力センサ、位置センサ、速度センサ、ＣＣＤ及び／又はＣＭＯＳカメラ、マイクがある。Ｉ／Ｏモジュールを制御ユニットに接続又は相互接続する別の方法を実装することもできる。
【０１０５】
産業設備の機械には、１又は２以上の測定値が閾値を上回った時に警報を鳴らす警報システムを備えているものもあるが、これらのシステムは、機械、そのコントローラ及び／又はそのセンサによって出力されたデータを全て分析できるわけではなく、たとえ測定値が正常な動作に対応する間隔内にある時でも出力データが潜在的な不具合を示すことがある。従って、本開示において後程詳細に説明するように、例えば不具合を予想するために機械の動作をチェックしてこれに反応し、或いは機械の性能又は動作（例えば、不具合の可能性、効率又は生産性の低下、品質保証など）を予測するには、機械及びその関連装置（例えば、センサ、アクチュエータ、コントローラなど）によって提供されるデータについてのクエリを解決することが必要となり得る。
【０１０６】
図６Ｂを参照して、本開示の装置、ネットワーク及びシステムがどのように産業環境の制御を可能にして、産業環境を制御するという厳しい条件に対して正しい反応を行うことができるかについて説明する。また、ネットワークがどのようにフォグ／クラウドコンピューティングと共存し、その相乗効果を高めて利用するかについても説明する。
【０１０７】
図６Ｂには、企業の世界的産業インフラを分割できるレベルを概略的に示す。上位レベル２０００には、最終的なクライアント又は企業を示す。この企業は、例えば自動車産業において活動することができる。企業管理２０００は、図６Ｂの第２のレベルに示す、世界中に広がる異なる工場２１００、２２００を有することができる。例えば、第１の工場はヨーロッパに位置し、第２の工場は米国に位置し、第３の工場はアジアに位置することができる。各工場は、第３のレベルを形成する複数の工業ラインで構成される。一例として、図６Ｂには、第１の工場２１００の３つのライン２１１０、２１２０及び２１３０と、第２の工場２２００の１つのライン２２１０とを示す。第４の展開レベルは、各工業ラインの一部を形成する機械で構成される。例えば、図６Ｂには、ライン２１１０に属する２つの機械２１１１及び２１１２を示す。これらの機械の一方は、例えば図６Ａに示す機械５００とすることができる。図６Ａと同様に、ライン２１１０に属する２つの機械２１１１及び２１１２も複数の構成部品を含む。機械２１１１は、機械加工ユニット２１１１ａ、クランプユニット２１１１ｂなどを含む工作機械とすることができる。各構成部品は、さらに複数の要素を有することができ、例えば機械加工ユニットは、３つの軸（Ｘ軸、Ｙ軸及びＺ軸）及びスピンドルに沿って機械加工ユニットを動かすサーボモータを含むことができる。スピンドルは、モータ、前部軸受け及び後部軸受けなどの、制御すべき異なる下位要素をさらに含む。機械の多くの下位要素を制御するには、図６Ｂに示す加速度計などのセンサを使用することができる。図３〜図５に開示するような産業設備の挙動、動作及び／又は性能を分析するシステムは、例えば図６Ｂに示す各ライン２１１０、２１２０、２１３０及び２２１０の動作を、例えば少なくとも１つの装置（図７Ａ及び図７Ｂの装置２０など）を各ラインの各機械に接続することによって制御するために使用することができる。
【０１０８】
ところで、図６Ｂに概略的に示す事業を管理するには、異なるレベルの管理又は監視が伴う。企業経営の世界では、この管理が、企業全体又はその一部の運営及び／又は業績を反映する回答のためのクエリを提出することによって適用される。例えば、不具合を予想するために構成部品の挙動をチェックしてこれに反応し、或いは設備の性能（例えば、不具合の可能性、効率又は生産性の低下、品質保証など）を予測するには、機械及びその関連装置（例えば、センサ、アクチュエータ、コントローラなど）によって提供されるデータについての／からのクエリを解決することが必要となり得る。例えば、クエリは、機械の構成部品の動作又は状態、或いは機械の動作又は状態、さらには工業ライン又は設備全体の動作又は状態、或いは世界的な企業全体の発展に関連することができる。クエリは、ネットワークの装置又はサーバにおいて、或いは例えばクラウド／フォグ／エッジ内に位置するサーバなどの、装置によって形成されたネットワークの外部において定義することができ、後者の場合には、通信リンクを介してノード及びそのプロセッサにクエリを送信することができる。
【０１０９】
図８を参照して説明するように、クエリを解決するには、クエリに関連するタスクを計算しなければならない。換言すれば、タスクは、クエリに対する回答を提供するために必要な全ての処理を含み又は伴う。ある業界企業の異なるレベルを監視するためのいくつかの非限定的なクエリの例は以下の通りである。高速熱画像カメラを用いて処理過程を制御する熱処理では（このようなカメラは、例えば図６Ａに示す機械に含まれており、５８３として参照している）、「熱処理が開始されたか？」、「熱源が機能しているか？」、「必要な表面処理を取得するために温度分布が適しているか？」、「溶融温度に達するリスクのある表面が存在しないか？」、「温度分布が作業成果毎に一定であるか？」といった異なるクエリを提出することができる。玉軸受けを有する回転部品では、「転動体内輪通過周波数が最大限度未満であるか？」、「転動体損傷周波数の瞬間的加速度振幅はどれだけであるか？」、「玉軸受け部品の残存耐用年数はどれだけであるか？」、「玉軸受けが異常な劣化をしていないか？」、「玉軸受けを交換又は修理する必要があるか？」といった異なるクエリを提出することができる。前者のクエリは、機械又はその構成部品の動作に関するクエリである。図７Ａ及び図７Ｂを参照しながら説明したように、これらのクエリは第１のクエリ及び第２のクエリとも呼ばれる。一例として、別の第２のクエリは、同じタイプの他の機械の動作と比べた機械の動作の判定とすることができる。すなわち、同じタイプの全ての機械の動作に従って、同じタイプの機械の中のあらゆるわずかな変動を含む正常な機能モデルを形成する。この結果、機械の状態を安定的に計算して正常モデルと比較することができる。
【０１１０】
ビジネス関連クエリなどの産業設備（すなわち、工業ライン、１つの工場、又は一群の工場）の知識（文脈的情報）に関するクエリなどの、高水準の抽象化を参照する他のクエリは、コンピューティングクラスタネットワークの外部で処理されるクエリである。これらのクエリは、クラウド及び／又はフォグ／エッジにおいて処理されることが好ましい。これらのクエリの非限定的な例は、「９０％の全体的設備効率を保証するために何人の人材が産業設備に必要であるか？」、又は「全体的設備効率が９０％の場合にこの産業設備がどれだけの部品を製造できるか？」である。通常、これらのクエリは、グランドコンピューティングレベル（すなわち、コンピューティングクラスタ内）で処理されるクエリの解を入力として有しており、この結果、フォグ／クラウド／エッジコンピューティングに送信されそこで処理されるデータ量は、グランドコンピューティング内で処理されるデータ量に対して減少する。グランドコンピューティングレベルについては、図７Ａ及び図７Ｂを参照しながら詳細に説明する。図７Ａに、本発明の実施形態による装置２０をブロック図形式で示す。装置２０は、例えば、図３に示す装置２１〜２６のいずれか、又は図４〜図５に示す装置２１〜２７のいずれかとすることができる。
【０１１１】
装置２０は、マルチセンサデータ取得ブロック６０を含み、これを通じて機械（例えば、機械５００）に接続することができる。マルチセンサデータ取得ブロック６０は、データ取得ソフトウェア及びセンサインターフェイスを含む。換言すれば、マルチセンサデータ取得ブロックは、制御下の産業システム、産業設備又は産業インフラに属する機械の１又は２以上のポートとのインターフェイスとして機能する。このインターフェイスは、図３及び図４にポート２９としても示しており、従ってポート２９は、センサとのインターフェイスを直接的又は間接的に提供することができる。センサのいくつかの非限定的な例には、とりわけ温度センサ、振動センサ、画像取り込みセンサがある。
【０１１２】
機械とそれぞれの装置との間の接続は、有線又は無線とすることができ、装置は、機械を制御するためのコントローラ（例えば、ＰＬＣ、ＣＮＣ）、又は特定の機械に属する異なるセンサにおいて生じたデータを送信できるようにするフィールドバスに接続することができる。この接続は、直接的なもの（装置と機械との間の直接接続）とすることも、又は（例えば、階層的チェーンを介した）間接的なものとすることもできる。
【０１１３】
装置２０は、リキッドコンピューティング７１を実行するように構成された第１のプロセッサ６１をさらに含む。とりわけ、リキッドコンピューティング７１は、クエリを解決するための処理タスクを計算することに関連する。処理タスクの計算では、第１のプロセッサ６１が、マルチセンサデータ取得ブロック６０を通じて（機械から）取得したマルチセンサデータをリキッドコンピューティング７１において処理し、この処理は、データの前処理及び／又はマルチセンサデータからの変数の選択を含むことができる。第１のプロセッサ６１は、リキッドコンピューティング７１を実行する際に、システムが機械の突然の異常挙動又は動作を検出してこれに反応できるように、データの処理及びクエリの解決（第１のクエリとも呼ばれる）をローカルにリアルタイムで実行する。
【０１１４】
いくつかの実施形態では、第１のプロセッサ６１が、限定するわけではないが、ＦＰＧＡ（すなわち、フィールドプログラマブルゲートアレイ）などのフィールドプログラマブル集積回路などのプログラマブルハードウェア／電子機器を有する中央処理装置をさらに含むことができ、従って、フィールドプログラマブル集積回路又はＳｏＣ及びリキッドコンピューティング７１を管理するリアルタイムオペレーティングシステムを実行するように構成される。これにより、１／１．５ＧＨｚ〜１／０．８ＧＨｚの、すなわち０．６７ｎｓ（ナノ秒）〜１．２５ｎｓなどの処理サイクル時間での第１のクエリに関連するタスクの計算が可能になる。従って、機械又はその構成部品の監視をリアルタイムで行うことができる。また、第１のプロセッサ６１がフィールドプログラマブル集積回路を含む実施形態は、これらの回路がクエリの素早いプログラミング／再プログラミングを可能にするので、このような素早いプログラミング／再プログラミングが望ましい用途では特に有利である。
【０１１５】
例えば、再び図６Ｂを参照すると、オペレータは、いずれかの工場２１００、２２００内のいずれかの機械又は構成部品に関するクエリをオフラインで遠隔的に再プログラムすることができる。換言すれば、第１のクエリ、第２のクエリ又は高抽象化レベルのクエリのいずれかのクエリは、ネットワーク１００、１０１、１０２の装置２０において定義することも、これらのネットワークのサーバ１０、１１、１２において定義することも、或いはクラウド／フォグに位置するサーバなどの、装置によって形成されたネットワークの外部で定義することもできる。これにより、クラウド／フォグへのアクセスが利用可能である限り、あらゆる遠隔の物理的位置からクエリを遠隔的に再プログラムできるようになる。
【０１１６】
また、装置２０は、グランドコンピューティング７２を実行するように構成された第２のプロセッサ６２も含む。第２のプロセッサ６２は、グランドコンピューティング７２を実行すると、装置２０が、コンピューティングクラスタ構成の、すなわち（図３〜図５のネットワーク１００、１０１、１０２などの）ＨＰＣ構成のネットワークの一部を形成した時に、図８を参照して後述するような、クエリに関連するタスクが分割されたスレッドを解決することができる。従って、この場合、分散方式でタスクを計算することによってこれらのクエリに対する回答又は解を取得することができる。従って、装置２０の第２のプロセッサ６２は、同じネットワーク内の他の装置の第２のプロセッサと協働して（第２のクエリとも呼ばれる）クエリを解決する。第２のプロセッサは、グランドコンピューティング７２を実行する際にスレッド（クエリに関連するタスクの一部）を解決するように意図される。スレッドは、ネットワークのサーバがネットワークの装置にわたって分散させる、解決すべきクエリに関連する並列化可能なタスク部分である。従って、第２のクエリは、並列化可能な性質のタスク、すなわちＨＰＣを用いて解決されるタスクに関連するクエリである。装置２０の第２のプロセッサ６２は、ネットワークのサーバによって割り当てられたスレッドをローカルに解決する。また、第２のプロセッサ６２は、ＨＰＣとは無関係なタスクを計算することもでき、すなわちネットワークの他の装置との協働を必要としないデータ処理を実行することもできる。
【０１１７】
図８に、クエリ１５００を図式的に示す。本発明の実施形態による装置の第１のプロセッサ６１又は第２のプロセッサ６２は、クエリ１５００を解決することによって、例えば産業設備の機械（又はその構成部品）の挙動、動作又は状態に関する情報を提供することができる。クエリ１５００を解決するには、クエリ１５００に関連するタスク１５０１を計算しなければならない。タスク１５０１は、クエリ１５００を解決するために必要な全ての処理を含む。いくつかの例では、第１のプロセッサ６１が、タスク１５０１をローカルに計算することによってクエリ１５００を解決することができる。とりわけ、これらの例のいくつかでは、タスク１５０１が、データを処理することによってクエリ１５００を解決することを含み、データの処理は、データを前処理し、及び／又は前処理された時点で特定のデータ変数を選択し、その後に前処理された時点で及び／又は特定の変数が選択された時点でデータを処理することを伴うことができる。いくつかの他の例では、クエリ１５００が複数の装置によって、すなわち分散方式で解決される。従って、ネットワークの（例えば、図３〜図５に示す）サーバは、ＨＰＣを実行するように、タスク１５０１を（例示のみを目的として破線矢印で示す）複数のスレッド１５１０ａ〜１５１０ｎに分割することによって、これらのタスクの計算を並列化することができる。各スレッド１５１０ａ〜１５１０ｎは、１又は２以上の装置の第２のプロセッサが計算できるようにこれらの装置に送信することができる。次に、クエリ１５００を解決するように、全てのスレッド１５１０ａ〜１５１０ｎを計算することによってタスク１５０１を計算することができる。さらに、いくつかの例では、全てのスレッド１５１０ａ〜１５１０ｎが計算されると、クエリ１５００を解決するために、クエリ１５００を解決する前にタスク１５０１の結果をさらに処理することが必要な場合もある。タスクをスレッドに分割することにより、タスクを解決するための時間は、グランドコンピューティング７２の実行に利用できる装置の数（及びその第２のプロセッサの処理能力）に応じて大幅に又はわずかに短縮することができる。
【０１１８】
グランドコンピューティング７２では、装置２０の第２のプロセッサ６２が、ネットワーク接続性ブロック６３を通じてネットワークのいずれかの装置又はサーバ自体から、及び／又は同じ装置の第１のプロセッサ６１から取得されたあらゆるデータ又は情報を使用することができる。グランドコンピューティング７２において使用すべきデータ又は情報を他の装置又はサーバから取得する場合、ネットワークがリングトポロジーを有している時には、隣接する２つのノードの一方から（又は両ノードから、この場合、１つのパケットの組は廃棄される）装置２０にパケットが到着するが、このことは、隣接するノード間の通信にシステムが限定されていることを意味するものではなく、これらのノードは、宛先ノードに到着するまでノードからノードに進むようにパケットを再送信する。
【０１１９】
ネットワーク接続性ブロック６３は、装置２０がネットワークに接続できるようにする１又は２以上のインターフェイスを含む。ネットワークがリングトポロジーを特徴とする好ましい実施形態では、ネットワーク接続性ブロック６３が少なくとも２つのインターフェイスを含み、好ましくは３ポートスイッチなどのフレーム転送のための低遅延ネットワークスイッチを含み、これらのポートのうちの２つがリング接続に専念し、１つがマルチセンサデータ取得ブロック６０と通信するためのイーサネット（登録商標）内部ポートに専念する。
【０１２０】
図７Ｂに、本発明の実施形態における、装置２０に提供される複数の機能をブロック図で示す。装置２０は、リキッドコンピューティング７１に専念する、すなわちローカルにデータを処理し、処理したデータを用いてタスクを解決する（例えば、第１のクエリに反応する）こと（８１）に専念する第１の部分（図７Ｂに例示のみを目的として示す装置２０の下半分）と、グランドコンピューティング７２に専念する第２の部分（図７Ｂに例示のみを目的として示す装置２０の上半分）という２つの部分に階層的に編成される。
【０１２１】
装置２０は、その下半分については、接続できる１又は２以上の機械からデータを取得する。データ取得（８０）段階の後には、装置２０の第１のプロセッサ６１がデータを処理する（８１）。データ処理８１は、マルチセンサデータを処理して元々のデータよりも小さなサイズの第１のデータセットを形成する前処理を含むことができる。この段階で実行される前処理の例としては、例えば無意味なデータ（すなわち、センサの動作範囲外のデータ）の削除、データ収集精度の規定（例えば、切り捨てた小数を無視できる場合、数値データ型の変数を低ビットの別のデータ型に変換するように小数を切り捨てること）、データ変換（例えば、平均値、中央値、標準偏差、エントロピ、例えば高速フーリエ変換を用いた時間領域から周波数領域への変換などの領域変更を計算すること）、及びデータ送信帯域幅節約のためのトレーニング済み変数選択モデルの適用（例えば、高解像度デジタル画像の関心点又は関心画素の選択、又はデジタル画像からの背景情報の抽出）を挙げることができる。処理すべきまま残っているデータの量が減少することにより、全体的なさらなる計算及び消費電力が最小化される。データ処理８１は、変数の選択を含むこともできる。従って、装置２０の第１のプロセッサ６１は、クエリを解決するために実行すべきさらなる処理に従って、冗長な又は重要度の低い変数の数を低減するように（例えば、前処理段階で生成された）第１のデータセットから変数を選択できる一方で、他のいくつかの変数は、第１の１又は複数のクエリにとって（又は、例えば他の第１の１又は複数のクエリを解決する目的、これらのクエリを必要とし得るコンピューティングクラスタネットワーク内の他の装置と共有する目的、フォグ／クラウドコンピューティングの目的、及び／又はロギング目的などの他の目的で）意味のある情報を含むことができる。変数の選択は、後で行われる計算内における過剰適合の低減を助長又は可能にする。なお、いくつかの実施形態では、単一の装置が何百個ものセンサからデータを受け取って高スループットを招くことがあり、またクエリの解決にはこれらの処理される大量のデータからの一部のデータで十分な場合もあり、従って変数の選択により、タスク計算の結果に影響を与えることなく、すなわち計算中のタスクに関連するクエリの解を偏らせることなく、タスク計算に使用されるデータの量を削減することができる。換言すれば、変数選択段階は、タスクの計算負荷を低減することによって効率を高めることができる。ある変数選択の例は、ほんのわずかな画素のみが前処理段階で抽出された何千個もの画素を含むデジタル画像を参照することができ、決定されたタスクを計算するには、既に抽出されているわずかな画素のうちの一部の画素と、この特定のデジタル画像とは異なる変数とで十分と考えられるため、変数選択段階ではこれらの一部の画素が選択される。別の例は、装置内の決定された構成部品の、ローカルデータ処理８１が周波数スペクトルを生成できる振動を参照することができ、このスペクトルの一部を、有用な情報を含んでいないという理由で破棄することができる。この時、変数選択は、リキッドコンピューティング７１のデータ処理８１においていくつかのクエリを解決することに関連する残りのスペクトル部分の特定の値のみを抽出することができる。
【０１２２】
第１のプロセッサ６１は、変数選択段階の後に取得されたデータセットを用いて（第１のクエリに関連する）タスクを解決する。このタスクは、前処理及び変数の選択を適用することによって元々のデータセットを低減できているので（第１のプロセッサ６１において）ローカルに解決することができる。従って、第１のプロセッサ６１は、少ない量のデータを用いて動作し、このデータを用いてタスクを計算し、利用できる計算能力の一部又は全部を用いて計算を実行することができる。
【０１２３】
装置２０の上半分は、グランドコンピューティング７２に専念する。グランドコンピューティング７２では、装置２０が、高処理能力を必要とするクエリ（第２のクエリ）、すなわち計算するのに高処理能力が必要なタスクに関連するクエリが関連する並列化可能なタスクのスレッドによって複数の装置間に分散している時に、これらのクエリをさらに高速に解決できるようにＨＰＣ９３を実行する。第２のプロセッサ６２は、ローカルデータ処理９１、すなわちネットワークの装置の他の第２のプロセッサとの協働を必要としないデータ処理を実行することによって、ＨＰＣとは無関係なタスクを計算することもできる。この処理９１は、前処理及び／又は変数選択を含むことができる。
【０１２４】
たとえ第２のプロセッサ６２がコンピューティングクラスタ構成で動作するように構成されているとしても、並列化可能なタスク（クエリへの回答のために計算すべき計算作業を表すタスク）のスレッドを解決するための第２のプロセッサ６２の動作方法は第１のプロセッサ６１の動作に類似することができる。第２のプロセッサ６２は、装置２０自体又はネットワークから取得したデータ（一般にリキッドコンピューティング部分において取得したデータとは異なるデータ）を処理することができる。
【０１２５】
第２のプロセッサ６２は、ＨＰＣモードでの動作時には、サーバから計算するように要求されたスレッドの解を提供する。一般に、スレッドの出力はネットワークのサーバに送信され、ネットワーク内で（すなわち、ネットワークの他の装置から）生成された全ての異なる出力がここで収集されてタスクに統合される。クエリを解決するには、（サーバ自体が、又はサーバによって割り当てられた装置が）全てのスレッドを計算することによってタスクを計算することができる。いくつかの例では、タスクが計算されると、クエリへの回答を提供するために、クエリの解決前にタスクの結果をさらに処理することが必要になる場合もある。データ通信ブロック９４は、第２のプロセッサ６２が、決定論的データ伝送プロトコル（このプロトコルは、非合法的にネットワークにアクセスできた団体よって変更されることなくデータが宛先に届くことを保証しなければならない時に特に好都合となり得る。このようなプロトコルの例には、Ｄａｔａ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｉｃｅ（ＤＤＳ）  ｆｏｒ  Ｒｅａｌ−ｔｉｍｅ  Ｓｙｓｔｅｍｓ及びＴｉｍｅ  Ｓｅｎｓｉｔｉｖｅ  Ｎｅｔｗｏｒｋ（ＴＳＮ）がある）、又は非決定論的データ伝送プロトコル（このプロトコルは、利用可能な空き帯域幅が存在しない場合には通信チャネルにアクセスしないので、例えばロギング目的又は非緊急動作などの、送信すべきデータが重要でない時に特に好都合となり得る。このようなプロトコルの例には、Ｏｐｅｎ  Ｐｌａｔｆｏｒｍ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｕｎｉｆｉｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（ＯＰＣ−ＵＡ）がある）のいずれかを用いてスレッドの解及び／又はその他のデータを送信できるとともに、同様に接続可能なネットワークから決定論的データ伝送プロトコル又は非決定論的データ伝送プロトコルのいずれかを用いて送信されたデータを受け取ることができることを表す。この通信は、第２のプロセッサ６２、及び／又はネットワークへの接続手段が管理することができる。
【０１２６】
図３〜図５又は図７Ａには示していないが、装置２０は、第２のプロセッサ６２がアクセスできるデータ記憶手段（図示せず）をさらに含むことができる。データ記憶手段は、ハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）などの不揮発性記憶手段であることが好ましい。データ記憶手段は、装置２０が受け取ることができるデータ（例えば、サンプル、スレッドの解、タスクの解、クエリ及びクエリの解など）を記憶することができ、第２のプロセッサ６２は、スレッド、タスク及び／又はクエリを解決するためにこれを処理及び／又は使用することができる。データ記憶手段は、通信チャネルが利用可能な帯域幅を有した時点で第２のプロセッサ６２がネットワーク１００、１０１、１０２の別の装置及び／又はサーバ１０、１１、１２に送信できるようにデータ（例えば、サンプル、スレッドの解、タスクの解、クエリ及びクエリの解など）を記憶又はバッファリングすることにより、帯域幅全体が使用中であるという理由で装置２０が送信を行えない時にデータを失わないようにすることもできる。装置２０は、第１及び第２のプロセッサ６１、６２間でデータ又はタスクの解を転送できるようにするＲＡＭ（ランダムアクセスメモリ）などの揮発性記憶手段を含むこともできる。装置２０の第１のプロセッサ６１は、この揮発性記憶手段との間でデータの記憶及びデータの読み出しを行うことができ、一例として、前処理する前のセンサデータをバッファリングするとともに、前処理済みデータ及び／又は処理タスクの計算から得られたデータを装置の第２のプロセッサ又はネットワークのいずれかに送信する前にバッファリングすることもできる。
【０１２７】
引き続き図７Ｂを参照すると、装置２０の上半部には、ネットワーク外部からのハッキング攻撃を防ぐとともに、無許可の人物又は団体によってデータパケットが取り込まれた場合に、ネットワークを横切って転送されるあらゆるデータがこのような人物又は団体によって読み取られるのを防ぐためのサイバーセキュリティ機構（図示せず）を設けることもできる。従って、装置２０は、装置２０との通信を確立するために必要な権限又は許可を有していないと思われるネットワーク外部からのあらゆる通信を遮断することを目的とする、ソフトウェアで実装できるファイアウォールを含むことができ、このファイアウォールは、第２のプロセッサ６２において動作することができる。また、さらなるセキュリティレイヤを提供するように装置２０に実装できる別のサイバーセキュリティ機構には、ネットワークとの間で送受信すべきデータパケット内のデータの暗号化及び解読がある。
【０１２８】
装置２０は、ネットワークの各装置が同じ時点でデータを取得できるように、例えばＰｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ（ＰＴＰ）を使用する装置同期９０のための機構をさらに含む。
【０１２９】
これらの２つのコンピューティングレベル（第１のプロセッサ６１におけるリキッドコンピューティング、及び第２のプロセッサ６２におけるグランドコンピューティング）は、例えば図６Ｂに図式化するような異なる態様又はレベルの業界企業に関与するクエリなどの異なるタイプのクエリの回答を提供するために、クラウド／フォグ／エッジコンピューティングのような他の既存のコンピューティングパラダイムと共存することができる。装置２０又は装置２０を含むネットワークによって解決すべきクエリは、産業設備の状態及び性能をモニタする、すなわち産業設備内の機械の正しい動作を制御するオペレータが定義することができる。これらのクエリは、装置２０において、サーバ１０、１１、１２において、又はネットワーク１００、１０１、１０２を含むシステム以外の、例えばクラウド／フォグ／エッジにおいて定義することができる。部品を機械加工するための機械に関連する割と単純なクエリの例としては、軸受けが受ける振動が（例えば、周波数及び／又は振幅に関して）正常又は適切と見なされる特定の範囲内にあるかどうかをチェックすることが考えられる。このクエリは、装置の第１のプロセッサにおいてリアルタイムで解決されることが好ましい。この種の情報は、例えばこのような軸受けに連結された加速度計などの、動作中の軸受けを検知するセンサからのみ抽出することができる。さらに複雑なクエリの例としては、ロボットアームの全ての機構が予想通りに機能しているかどうか、及びこれらの機構の１つ１つの残存耐用年数が少なくとも２週間であるかどうかをチェックすることが考えられる。この場合、この機構に関連するセンサは最大で数十個又は数百個存在することができ、そのセンサデータ及び／又はサンプルは、データが正しく処理されて組み合わせられた場合にのみクエリに対する回答を提供することができる。このクエリは、リアルタイムで解決する必要はなく、複数の装置の第２のプロセッサの処理能力（すなわち、ＨＰＣ）を必要とし得る。この意味において、データ収集は、構成部品又は機械に生じるあらゆる問題をデータによって識別して解決できるように同期的に実行されて同じタイムスタンプを提供する必要がある（異なる時点でデータが取得された場合、問題の原因を追跡することが不可能になることもある）が、これは全てのセンサが同じ速度でデータを生成しなければならないということではなく、センサは、特定の時点に対応するセンサデータをその処理のために識別できる限り、振幅の時間的発展に応じてそれよりも高い又は低い周波数で検知を行うことができる（例えば、室温は毎秒大幅に変化するものではないと予想されるのに対し、レーザーの出力は１秒で何度も大きく変化することがある）。
【０１３０】
センサは非常に様々な性質を有することができ、例えば外気温センサは毎秒数バイトの速度でデータを出力できるのに対し、軸受け内の加速度計は毎秒数キロバイトの速度（例えば、２０〜３０ｋＢ／ｓ）でデータを出力することができ、或いはデジタルカメラは毎秒数メガバイトの速度でデータを出力することができる。これらのデータは素早く加算され、単一の装置の総スループットが毎秒ほぼ数十メガバイト程度の単位になり得ることは明らかである。タスクを計算することによってクエリを解決するには、まずデータを処理してタスクの解を抽出しなければならない。
【０１３１】
一例として、仮に工作機械の単一のスピンドルをモニタする場合、スピンドルをモニタするためのデータは、軸、軸受け、ケージ及び軌道の各々の振動などの、２０キロヘルツで検知できる変数と、スピンドルの電力、トルク、温度及び角速度などの、例えば１０ヘルツで検知されるデータである変数とを含むことができる。これらのデータを全て集約すると、スループットは毎秒０．５メガバイトになり得る。これらのデータに関連するクエリの解を産業設備の外部（すなわち、クラウド又はフォグ内）で提供するのに掛かり得る時間は、通信チャネルが十分な帯域幅を有する場合にはほぼ数秒又は数分程度と考えられ、待ち時間が短い上に直ぐに利用できる十分なコンピューティングリソースが存在する。さらに、データが転送されてフォグ／エッジ又はクラウドのいずれかで処理されている間には、スピンドルの挙動が既に変化している可能性があるため、同じセンサ及びコントローラによってさらなるデータが生成され、これらも分析すべきである点を考慮しなければならない。装置の第１のプロセッサ（リキッドレイヤ）は、関連するデータを取得して、例えば高速フーリエ変換（ＦＦＴ）を実行することができる。この時、例えば（ＦＦＴに含まれる）関心周波数の振幅が閾値を上回っていれば、さらなる対応のために監視システムに警報が送信される。
【０１３２】
上述したように、２つのコンピューティングレベル（第１プロセッサ６１におけるリキッドコンピューティング、及び第２プロセッサ６２におけるグランドコンピューティング）は、クラウド／フォグ／エッジコンピューティングのような他の既存のコンピューティングパラダイムと共存することができる。例えば、各機械の瞬間的消費電力を分析することによって設備全体の改善を計画することができる。このクエリはビジネス界に属し、通常はクラウド／フォグ／エッジで処理される。この種の別の例示的なクエリは、「９０％の全体的設備効率を保証するために何人の人材が産業設備に必要であるか？」である。
【０１３３】
例えば、図３〜図５の実施形態に示すように新たな装置（装置２０などの）がネットワークに組み込まれる度に、これらの新たな装置によって収集されたマルチセンサデータがネットワークに追加されることにより、ネットワーク内における処理／計算リソースの需要が高まる可能性がある。一方で、新たな装置の第１及び第２のプロセッサが、特にＨＰＣの分散処理に加わるという理由で第２のプロセッサがネットワークに組み込まれることにより、ネットワークの処理／計算リソースも同時に増加する。ネットワークのサーバは、特定のタスク又はタスクの一部（すなわち、スレッド）を解決する負荷及び進展の観点からネットワークの各装置の状態をモニタする。サーバは、これを行うために、例えばＭＰＩ（メッセージパッシングインターフェース：Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ）などのメッセージパッシングプロトコルを用いて装置と通信する。ネットワークは、ネットワークに新たな装置が追加されることによる量的拡張を可能にするように構成することができ、サーバは、この新たな装置に新規の又は既存の処理タスクを割り当てるように構成することができる。例えば、新たな装置の接続時に同期処理を実行して、ネットワーク内の全ての装置の第２のプロセッサの処理を同期させることができる。分散処理（ＨＰＣ）は、ネットワークの同期要件を維持しながら実行される。従って、複数の装置にわたって作業負荷が分散する。
【０１３４】
ネットワーク１００、１０１、１０２の装置の第１のプロセッサは、機械１２１〜１２５から受け取った全てのデータを処理してタスクを計算するように同期的に動作するのに対し、各装置に含まれる第２のプロセッサは、コンピューティングクラスタ内の対応する装置の第２のプロセッサがタスク又はタスクの分割先であるスレッドを計算している時に、これらの第２のプロセッサに対して同期的又は非同期的に動作することができる。
【０１３５】
ネットワーク１００、１０１、１０２の装置及びサーバは、正しい分散コンピューティングを可能にする異なるプロトコル及び処理を実行するように構成することができる。装置の第２のプロセッサは、メッセージパッシング通信プロトコル（例えば、ＭＰＩ）を介して他の装置及びその第２のプロセッサと通信することができ、装置及びサーバは、分散コンピューティングを実行するようにこの種のプロトコルを用いてメッセージを送受信する。メッセージパッシングプロトコルは、非同期的な異種パラレルコンピューティングを対象とすることができる、すなわち異なる性質のプロセッサ（例えば、中央処理装置の１又は複数のコア、並列構成の１又は複数のグラフィック処理装置、フィールドプログラマブル集積回路など）によってスレッドを非同期的に解決することをサポートするフレームワーク又はプログラミングモデルを対象とすることができるフレームワーク内又はプログラミングモデル内で使用することができる。
【０１３６】
サーバ１０、１１、１２は、コンピューティングクラスタ内でＨＰＣを管理する。具体的には、これらのサーバは、高性能コンピューティングのために、並行して解決すべきタスクを分割してタスクの複数のスレッドを形成する。また、これらのサーバは、このようなタスクの一部（スレッド）をＨＰＣのためにいくつかの装置に送信し、各装置の負荷状態も分かっているので、タスクのスレッドを計算するのに十分な未使用の処理能力を有する選択されたネットワークの装置にこれらのスレッドを送信することができる。サーバ１０、１１、１２は、対応する装置からスレッドの解を受け取り、これらを再構築してタスクを計算し、最終的にクエリに対する回答を提供する。
【０１３７】
サーバ内のクラスタワークロードマネージャは、解決すべきスレッドと、各装置の（利用可能な）処理能力に関する情報と、場合によってはタスクを分散方式で解決することを求める装置からの要求とを一元管理することによって、ネットワーク１００、１０１、１０２にわたってスレッドを分散させる。クラスタワークロードマネージャは、装置の状態に基づいて、（スレッドの解決にはネットワークの装置の一部しか使用できないため、ネットワークのほんのいくつかの装置又はネットワークの全ての装置とすることができる）各装置にどのスレッドを割り当てるかを決定し、その後にメッセージパッシングプロトコルを用いてスレッドを送信する。この点に関し、モニタリングモジュール又はライブラリは、各装置の作業負荷及びＨＰＣに利用可能な関連する容量を動的に決定することができる。別のモジュール又はライブラリ（例えば、動的負荷分散又はＤＬＢ）は、決定処理において使用される（装置の第２のプロセッサの）アクティブなスレッドの数を調整することによって装置の負荷のバランスを動的に調整することができる。サーバ１０、１１、１２は、ＨＰＣに関与する異なるモジュール及びプロセス間の協働によってネットワーク１００、１０１、１０２及びその装置の状態がどうであるかが常に分かることにより、例えばクラスタワークロードマネージャは、クエリを解決するためのタスクを解決しなければならなかったり、又は新たな緊急のクエリが宣言されたりして緊急性が変化した際に各装置の動作を調整できるようになり、これによって特定のクエリの解決を高速化することができる。
【０１３８】
第１のプロセッサ６１及び第２のプロセッサ６２は、一般にランダムアクセスメモリ（ＲＡＭ）を通じてデータを共有するように通信可能に結合される。共有すべきデータは、タスクの出力（例えば、第１のプロセッサ６１によって解決されたタスクの出力は、第２のプロセッサ６２に送信することができる）、処理済みのマルチセンサデータ（例えば、第１のプロセッサ６１は、ＨＰＣを実行するために第２のプロセッサ６２に送信されるさらに小さなデータセットを形成するようにマルチセンサデータを処理することができる）、機械のための命令、及び／又はロギング目的で機械に提出される命令に関するデータなどとすることができる。
【０１３９】
図９Ａ及び図９Ｂに、本発明による装置及びシステムを用いてデータを処理する方法のパラダイムを示すピラミッド型モデル６００及び６１０を示す。
【０１４０】
システムのネットワーク内に制約されるローカル計算レベルは、従来のピラミッド１９０の従来のセンサ、ＰＬＣレイヤ及びＳＣＡＤＡレイヤに関連して共に図９Ａに概略的に示す上述したグランドレイヤ及びリキッドレイヤを含む。新たな装置及びシステムは、ネットワークに関連するシステム内のあらゆる問い合わせ、必要性又は潜在的な／実際の誤動作に対する反応時間を短縮することができる。このため、これらの装置及びシステムは、とりわけこの態様が重要となる産業設備に適用することができる。また、データがコンピューティングクラスタ（グランドレイヤ及びリキッドレイヤ）内でローカルに処理されるので、エッジ／フォグ／クラウドコンピュータ装置に配信されるデータの量を低減することができる。実際に、エッジ／フォグ／クラウドコンピューティングに配信されるデータは、主に設備のビジネス／知識に関連する情報まで減少させるべきである。さらに、コンピューティングクラスタとして機能する装置は、コンピューティングクラスタの計算能力を最適化するために自機の性能のバランス調整を可能にする。最後に、ネットワークに新たな装置が追加されるにも関わらずネットワークの処理／計算能力が高まる。
【０１４１】
次に、フォグ／クラウドコンピューティングに配信されるデータの処理時間の効率性及び短縮の両方の観点から本発明の実施形態によるシステムの利点を示すためにいくつかの例を説明する。
【０１４２】
図１０に、開示するシステムを用いた産業設備の機械の動作制御例を示す。サーバ９１０に加え、複数の装置によって形成されるネットワークの３つの装置９２１、９２２、９２３を示している。機械内でレーザーによって適用される熱処理をモニタするために、高速熱画像カメラ９０１を使用する。装置９２１は、このカメラ９０１からのデータを収集する。カメラ９０１は、フレーム当たり１０２４画素の解像度を有し、すなわちこのカメラは１０２４個の変数を含む（１画素が１変数に相当する）。各変数は、１０ビットのワード長を有する。サンプリングレートは、毎秒１０００フレーム（１ｋＨｚ）である。従って、このカメラは、１２８００００バイト／ｓ（１．２８ＭＢ／ｓ、すなわち毎秒１．２８メガバイト）の速度でデータを生成する。
【０１４３】
機械において適用される処理に関連して、例えば「熱処理が開始されたか？（又は同様に、熱源が（レーザー）機能しているか？）」などの第１のクエリを要求することができる。このクエリを解決するために、このクエリに関連する、このクエリに基づくタスクを生成する。このタスクを計算することで、クエリに対する回答が提供される。この場合、計算すべきタスクは、関心領域（ＲＯＩ）の取得及びその処理である。
【０１４４】
従って、カメラ９０１から１．２８ＭＢ／ｓの速度で取得されたデータを、装置９２１の第１のプロセッサ９２１ａに送信し、そこで関心領域（ＲＯＩ）アルゴリズムを適用して各フレーム画像から背景画素を除去し、情報を含む画素のみと連動することによってこのタスクを計算する。特定の例では、ＲＯＩが７０％よりもわずかに大きく、９１１，０００バイト／ｓ（９１１Ｋバイト／ｓ）に対応するフレーム当たり７２９画素が選択される。図１０には、ＲＯＩアルゴリズムの適用後に取得される関心領域の例を示す。ＲＯＩが適切なサイズを有する場合には、熱処理が開始されたと結論付ける（すなわち、第１のクエリに対する回答を行う）ことができる。次に、第１のプロセッサ９２１ａにおいて、ＲＯＩに由来するデータを用いて、この例では７２９×７２９の寸法のマトリクスである、所与のデータ構造に従う隣接画素を画素毎に定める接続性マトリクスを生成する。この接続性マトリクスの計算結果から６６．４ｋＢ／ｓの出力がもたらされ、これを９１１ｋＢ／ｓに加えた結果、９７７．４ｋＢ／ｓがリキッドコンピューティング（第１のプロセッサ９２１ａ）の出力になる。この接続性マトリクスは、画素の空間構造を検出するのに有用である。換言すれば、ＲＯＩの結果は、リキッドコンピューティングにおいてさらに処理される。
【０１４５】
これに加えて第２のクエリを構築することができる。第２のクエリは、例えば「必要な表面処理を取得するために温度分布が適しているか？」、「溶融温度に達するリスクのある表面が存在しないか？」、又は「温度分布が作業成果毎に一定であるか？」である。このクエリを解決するために、このクエリに関連する、このクエリに基づくタスクを生成する。このタスクを計算することで、クエリに対する回答が提供される。この場合、計算すべきタスクは、表面の温度分布の取得である。このタスクを解決することは、カメラ９０１によって１０００フレーム／ｓの速度で取り込まれたフレームを分析することを意味する。
【０１４６】
この処理を実行するために、ＲＯＩ及び接続性マトリクスを、第１のタスクが計算された装置９２１の第２のプロセッサ９２１ｂの一時メモリバッファ９２１ｃに送信する。バッファ９２１ｃに記憶されたデータは、サーバ９１０に送信される。次に、サーバ９１０は、対応する装置９２１、９２２、９２３の異なる第２のプロセッサ９２１ｂ、９２２ｂ、９２３ｂに送信されるように（スケジューラ９１０ａにおいて）タスクをスレッドに分割する。具体的に言えば、各スレッドは、異なる画像フレームに関連するデータを処理するアルゴリズムを実行する。各スレッドは、取得されたＲＯＩと、接続性マトリックスに起因する時間及び空間（時空間）とに関して共通の特性を有する画像フレームの画素に対して凝集クラスタリングアルゴリズムを実行することができる。サーバ９１０は、複数の装置９２１、９２２、９２３に、とりわけ装置の第２のプロセッサ９２１ｂ、９２２ｂ、９２３ｂにスレッドを割り当てる。換言すれば、カメラからの大量のデータ（１０００フレーム／秒）に対処できるようにタスクを並列化する。従って、第２のプロセッサ９２１ｂ、９２２ｂ、９２３ｂは、異なる画像フレームを処理する。
【０１４７】
各スレッドの結果は、各クラスタリングされたフレームの中央温度、最低温度及び最高温度、並びに標準偏差である。この特定の例では、クラスタの数が９である。出力データ送信は、１４４ｋＢ／ｓ（１４４０００バイト／秒）である。これらのデータ（全てのスレッドの解）は、熱処理過程サイクル時間に従って値を一般化するためにサーバに（スケジューラ９１０ｂに）送信される。サーバ９１０は、この集合体を装置９２１の第２のプロセッサ９２１ｂに割り当る。タスクによってもたらされる表面の温度分布は、第２のクエリに対する回答を与える。
【０１４８】
図１１に、開示するシステムを用いた産業設備の機械の別の動作制御例を示す。サーバ９１０に加え、複数の装置によって形成されるネットワークの３つの装置９２１、９２２、９２３を示している。回転部品１３０の状態モニタリングを実行するために、１つの加速度計１２０１を使用する。
【０１４９】
図１２に、回転部品１３０の２つのビューを（左側に側面図を、右側に３Ｄの断面図を）示す。加速度計１２０１は、２４ビットのワード長を有する。最大でも１０ｋＨｚの現象をモニタするために、サンプリングレートは３０ｋＨｚである。従って、加速度計１２０１は、９０ｋＢ／ｓ（９００００バイト／秒）の速度でデータを生成する。加速度計１２０１からは、装置９２１の第１のプロセッサ９２１ａにデータが送信され、そこで高速フーリエ変換（ＦＦＴ）を適用して時間領域から周波数領域に移行させる。この変換によって送信されるデータの量を半減させ、４５ｋＢ／ｓ（４５０００バイト／秒）にする。ＦＦＴから、図１２（右側）に示すような保持器周波数ＦＴＦ、転動体内輪通過周波数ＢＰＦＩ、転動体外輪通過周波数ＢＰＦＯ、転動体損傷周波数ＢＳＰ及び軸回転周波数ＳＰＦといった玉軸受けからの関心周波数を選択する。これらの周波数を用いて、例えば「転動体内輪通過周波数が最大限度未満であるか？」、「転動体損傷周波数の瞬間的加速度振幅はどれだけであるか？」などの第１のクエリを求めることができる。
【０１５０】
次に、５つの各関心周波数の振幅を装置９２１の第２のプロセッサ９２１ｂの一時メモリバッファ９２１ｃに送信する。５つの周波数及びその対応する振幅は、それぞれが４バイトを必要とする１０個の変数を示唆する。この例では、毎秒２回のＦＦＴが行われるため、リキッド段階の出力は８０Ｂ／ｓでデータを提供する。バッファ９２１ｃに記憶されたデータはサーバ９１０に（スケジューラ９１０ａに）送信され、サーバ９１０はそれぞれの装置９２１、９２２、９２３の他の第２のプロセッサ９２１ｂ、９２２ｂ、９２３ｂにスレッドを割り当てる。この場合、並列化が必要な理由は、（図１０に示す例のカメラによって収集されるデータのように）処理すべきデータ量が多いからではなく、逆に（局所的最小値をもたらし得るランダム点からアルゴリズムが開始するという理由で）局所的最小値に落ち込むのを防ぐためにｋ平均クラスタリングアルゴリズムを複数回初期化する必要があるからである。従って、この場合、他の第２のプロセッサに送信される各スレッドは、ｋ平均クラスタリングアルゴリズムを実行して、時間的に共通の特性を有する振幅をグループ化することを含む。従って、後で最良の結果（最も離れた重心）を選択するために、同じ入力データ（バッファ９２１ｃに記憶された履歴データ）を用いてアルゴリズムを複数回（スレッド毎に１回）初期化する。各スレッドの結果は、各クラスタの重心（周波数当たり１つの５つの変数）と１つの直径（すなわち、６つの変数）である。４つのバイト／変数が存在する。この特定の例では、クラスタの数が３である。従って、各ｋ平均法によって７２バイトがもたらされる。この例では、ｋ平均クラスタリングアルゴリズムに１００００回のＦＦＴを使用し、毎秒２回のＦＦＴを行うと定められているので、各ｋ平均法によって７２バイトがもたらされることを考慮すると、結果として得られる出力データ伝送は、この段階で約０．０１４４バイト／秒である。各ｋ平均クラスタリングアルゴリズムの実行を並列化することが必要な理由は、各実行に数秒掛かる可能性があるからである。これらの各スレッドに由来するデータは、クラスタが発展しているかどうか（コンセプトドリフト）を検出する統計的検定を実行するために、再びサーバ９１０に（スケジューラ９１０ｂに）送信される。サーバは、この検定の計算を他の第２のプロセッサ９２１ｂに割り当てる。コンセプトドリフト値（新たな重心位置）が得られると、第２のクエリを解決するためのタスクが完了する。このような第２のクエリの例は、「玉軸受け部品の残存耐用年数はどれだけであるか？」、「玉軸受けが異常な劣化をしていないか？」、「玉軸受けを交換又は修理する必要があるか？」である。
【０１５１】
見て分かるように、装置９２３の第２のプロセッサ９２３ｂが、装置９２１の接続先である機械の回転要素に関連するタスクを解決するためにｋ平均クラスタリングアルゴリズムの実行基準となるスレッドを計算している間に、装置９２３の第１のプロセッサ９２３ａは、装置９２３の接続先である機械の回転要素に関連するクエリを解決するための別のタスクをリキッドコンピューティングにおいて計算している。
【０１５２】
前者の例から推論できるように、リキッドコンピューティング（装置の第１のプロセッサ）の出力では、取得されるデータの量が、第１のプロセッサによって処理されるデータに対して（すなわち、リキッドコンピューティングの入力におけるデータに対して）減少する。第１の例では、おおよそ１２８０／９７７．４倍の減少が得られる。第２の例では、リキッドコンピューティングにおいて９０，０００／８０倍の減少が得られる。グランドコンピューティングに関して言えば、第１の例では９７７．４／１４４倍の減少が得られ、第２の例では８０／０．０１４４倍の減少が得られる。このことは、フォグ／クラウドコンピューティングにおけるさらなる処理のために提供されるデータの量も減少することを意味する。本発明の実施形態では、エッジ／フォグ／クラウドコンピューティングにおけるさらなる処理のために提供されるデータの量が、グランドコンピューティングに到来するデータの量よりも好ましくは１０倍小さく、より好ましくは２０倍小さく、さらに好ましくは１００倍小さく、いくつかの例では最大１０６倍も小さくなる。何倍小さくなるかは、処理するクエリに依存する。
【０１５３】
本開示で説明した第１、第２及び第３のクエリは、産業設備における少なくとも１つの機械（又は機械の少なくとも１つの構成部品）の動作を監視すること、少なくとも１つの機械／構成部品の挙動を予測すること、少なくとも１つの機械／構成部品を作動させること、検出又は診断された可能性のあるあらゆる誤動作に反応するように（ネットワークの装置又はサーバがクエリに対する回答を用いて）装置を制御すること、機械／構成部品へのあらゆる作用を指示すること、のうちの少なくとも１つのためのクエリとすることができる。
【０１５４】
本明細書では、「含む、備える（ｃｏｍｐｒｉｓｅｓ及びｉｎｃｌｕｄｅｓ）という用語、並びにその（「ｃｏｍｐｒｉｓｉｎｇ」及び「ｉｎｃｌｕｄｉｎｇ」などの）派生語を排他的な意味で理解すべきではなく、すなわちこれらの用語を、記載して定義したものがさらなる要素、ステップなどを含むことができる可能性を排除するものとして解釈すべきではない。本明細書では、「多数（ｍｕｌｔｉｐｌｉｃｉｔｙ）」という用語と「複数（ｐｌｕｒａｌｉｔｙ）」という用語とを同義的に使用している。
【０１５５】
当然ながら、本発明は、本明細書で説明した特定の実施形態に限定されるものではなく、（例えば、材料、寸法、構成部品、構成などの選択に関して）特許請求の範囲に定められる本発明の一般的範囲内で当業者が検討し得るあらゆる変形を含む。
【符号の説明】
【０１５６】
７１  リキッドコンピューティング
７２  グランドコンピューティング
８０  データ取得
８１  データ処理
８４  データ通信
９０  装置同期
９１  データ処理
９３  高性能コンピューティング
９４  データ通信
【図１】
0006983805.tif 000002
【図２】
0006983805.tif 000003
【図３】
0006983805.tif 000004
【図４】
0006983805.tif 000005
【図５】
0006983805.tif 000006
【図６Ａ】
0006983805.tif 000007
【図６Ｂ】
0006983805.tif 000008
【図７Ａ】
0006983805.tif 000009
【図７Ｂ】
0006983805.tif 000010
【図８】
0006983805.tif 000011
【図９Ａ】
0006983805.tif 000012
【図９Ｂ】
0006983805.tif 000013
【図１０】
0006983805.tif 000014
【図１１】
0006983805.tif 000015
【図１２】
0006983805.tif 000016