(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-16
(45)【発行日】2022-08-24
(54)【発明の名称】産業用アプリケーション機械を監視及び制御するためのシステム、装置、及び方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20220817BHJP
G05B 19/418 20060101ALI20220817BHJP
G06Q 50/04 20120101ALI20220817BHJP
【FI】
G05B23/02 Z
G05B19/418 Z
G06Q50/04
(21)【出願番号】P 2020170537
(22)【出願日】2020-10-08
(62)【分割の表示】P 2018552045の分割
【原出願日】2018-03-01
【審査請求日】2020-10-08
(32)【優先日】2017-03-01
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】520392074
【氏名又は名称】アイングラ アイアイオーティー ソシエダッド リミターダ
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100122563
【氏名又は名称】越柴 絵里
(72)【発明者】
【氏名】ディアス ハビエル
(72)【発明者】
【氏名】ガビロンド ホセ フアン
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2015-146183(JP,A)
【文献】特開2016-095586(JP,A)
【文献】特表2013-501297(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 19/418
G06Q 50/04
(57)【特許請求の範囲】
【請求項1】
1以上の産業用アプリケーション機械(121~125、500)を監視し及び制御するためのシステムであって、
コンピューティングクラスタを形成するサーバ(10~12)と複数の装置(20~27)とを含むネットワーク(100~102)と、
前記複数の装置における各装置であって、
少なくとも1つのメモリと、
1以上の他の装置(20~27)との接続のための1以上の入力/出力ポート(28)と、
データを受信し且つ指令を送信するために、前記1以上の機械(121~125、500)のうちの少なくとも1つの機械との接続のための1以上のインタフェース(29)と、
前記少なくとも1つの機械からの前記データを受信し、当該データを用いて前記少なくとも1つの機械又はそのコンポーネントの動作に関連する第1のクエリ(1500)を解決するための第1の処理タスク(1501)をリアルタイムで計算するように構成された第1のプロセッサ(61)と、
少なくとも1つのメモリと少なくとも1つのプロセッサを含むサーバ(10~12)であって、第2の処理タスク(1501)を複数のスレッド(1510a~1510n)に分割し且つ当該複数のスレッドを前記第2の処理タスクの計算と協働するために前記コンピューティングクラスタのうちの幾つかの装置に割り当て、前記第2の処理タスクは、前記1以上の機械(121~125、500)の少なくとも1つの機械の動作又は前記システムの動作に関連する第2のクエリを解決する、前記サーバと、
を備え、
前記複数の装置における各装置(20~27)は、前記コンピューティングクラスタとの間で自機の処理能力を共有し、前記サーバ(10~12)によって割り当てられた少なくとも1つのスレッド(1510a~1510n)を計算し、前記第2のクエリ(1500)を解決するため前記サーバにその解を提供するように構成された第2のプロセッサ(62)を更に含み、
前記各装置(20~27)の前記第1のプロセッサ(61)が、更に、
前記第1のクエリ(1500)の解を同じ装置の前記第2のプロセッサ(62)に提供し、
前記第1のクエリ(1500)の解から第1の命令を導出し、且つ当該第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記第2のプロセッサ(62)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成され、
前記各装置(20~27)の前記第2のプロセッサ(62)が、更に、
前記第1のプロセッサ(61)から受信した前記第1のクエリ(1500)の解を前記サーバ(10~12)に提供し、
前記第1のプロセッサ(61)からの前記第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記サーバ(10~12)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成されることを特徴とするシステム。
【請求項2】
前記コンピューティングクラスタの2以上の装置のインタフェース(29)は、前記1以上の機械(121~125、500)の同様の機械と接続されている、請求項1に記載のシステム。
【請求項3】
前記サーバ(10~12)の少なくとも1つのプロセッサは、前記第2のクエリの解から第2の命令を導出し、機械(121~125、500)に接続される装置を介して、前記第2の命令を前記機械に提供する、請求項1又は2に記載のシステム。
【請求項4】
前記第1の処理タスク(1501)は、
前記データを前処理してデータセットを形成し、該データセットから前記第1のクエリ(1500)を解決するためのデータの一部を選択すること、又は、
前記データを前処理して、前記第1のクエリ(1500)を解決するためのデータセットを形成すること、
を含む、請求項1から3のいずれかに記載のシステム。
【請求項5】
前記サーバの少なくとも1つのプロセッサは、前記コンピューティングクラスタの装置(20~27)から前記複数のスレッド(1510a~1510n)の出力を受信し、前記出力を処理して再構築された第2の処理タスク(1501)を提供し、前記第2のクエリ(1500)を解決するため前記再構築された第2の処理タスクを計算する、請求項1から4のいずれかに記載のシステム。
【請求項6】
前記コンピューティングクラスタの各装置は、前記機械(121~125、500)のうちの各機械からのデータ取得を実行し、前記各装置が前記コンピューティングクラスタの他の装置によって実行される前記各機械からのデータ取得と同期して接続されることを特徴とする請求項1から5のいずれかに記載のシステム。
【請求項7】
前記コンピューティングクラスタ内でデータを前記ネットワーク(100~102)の外部のコンピュータ装置に送信するためのネットワーキング装置(200)を更に含み、前記コンピュータ装置がフォグコンピューティング又はクラウドコンピューティングを実行することを含む、請求項1から6のいずれかに記載のシステム。
【請求項8】
前記サーバの少なくとも1つのプロセッサは、前記コンピューティングクラスタの各装置(20~27)の第2のプロセッサ(62)により実行される第2の命令セットアーキテクチャとは異なる第1の命令セットアーキテクチャを実行し、
前記サーバは、前記複数の装置の一つの装置に接続できるネットワークインターフェイス(19)を更に含み、前記ネットワークインターフェイスは、前記第1の命令セットアーキテクチャから第2の命令セットアーキテクチャへ及び第2の命令セットアーキテクチャから前記第1の命令セットアーキテクチャへと命令を変換するように構成されている、請求項1から7のいずれかに記載のシステム。
【請求項9】
1以上の産業用アプリケーション機械(121~125、500)を監視し及び制御するための装置であって、
少なくとも1つのメモリと、
コンピューティングクラスタネットワーク(100~102)内の1以上の他の装置(20~27)との接続のための複数の入力/出力ポート(28)と、
データを受信し且つ指令を送信するために、前記1以上の機械(121~125、500)のうちの少なくとも1つの機械との接続のための1以上のインタフェース(29)と、
前記少なくとも1つの機械からの前記データを受信し、当該データを用いて前記少なくとも1つの機械又はそのコンポーネントの動作に関連する第1のクエリ(1500)を解決するための第1の処理タスク(1501)をリアルタイムで計算するように構成された第1のプロセッサ(61)と、
前記コンピューティングクラスタネットワーク(100~102)との間で自機の処理能力を共有し、前記コンピューティングクラスタネットワークのサーバ(10~12)による割り当て時に第2のクエリ(1500)を解決するため少なくとも1つのスレッド(1510a~1510n)を計算し、前記第2のクエリ(1500)を解決するため前記サーバに解を提供するように構成された第2のプロセッサ(62)であって、前記第2のクエリは、前記1以上の機械(121~125、500)の少なくとも1つの機械の動作又は前記1以上の機械を含む産業設備の動作に関連する、ように構成された第2のプロセッサ(62)と、
を備え、
前記第1のプロセッサ(61)が、更に、
前記第1のクエリ(1500)の解を前記第2のプロセッサ(62)に提供し、
前記第1のクエリ(1500)の解から第1の命令を導出し、且つ当該第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記第2のプロセッサ(62)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成され、
前記第2のプロセッサ(62)が、更に、
前記第1のプロセッサ(61)から受信した前記第1のクエリ(1500)の解を前記サーバ(10~12)に提供し、
前記第1のプロセッサ(61)からの前記第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記前記サーバ(10~12)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成されることを特徴とする装置。
【請求項10】
前記第1のプロセッサ及び前記第2のプロセッサの少なくとも1つは、前記第2のクエリの解から導出された第2の命令を前記サーバから受信し、前記第2の命令を前記1以上の機械の少なくとも1つの機械に提供する、請求項9に記載の装置。
【請求項11】
前記第1の処理タスク(1501)は、
前記少なくとも1つの機械の前記データを前処理してデータセットを形成し、該データセットから前記第1のクエリ(1500)を解決するためのデータの一部を選択すること、又は、
前記少なくとも1つの機械の前記データを前処理して、前記第1のクエリ(1500)を解決するためのデータセットを形成すること、
を含む、請求項9又は10に記載の装置。
【請求項12】
前記第2のプロセッサ(62)は、第3のクエリ(1500)を解決するため第3の処理タスク(1501)をローカルに計算するように構成されている、請求項9から11のいずれかに記載の装置。
【請求項13】
前記第3の処理タスク(1501)は、前記コンピューティングクラスタネットワーク(100~102)から取得できるデータを処理して、前記第3のクエリ(1500)を解決するためのデータセットを形成することを含む、請求項12に記載の装置。
【請求項14】
前記第3の処理タスク(1501)は、前記第1のプロセッサ又は前記装置のデータ記憶装置から取得できるデータを処理して、前記第3のクエリ(1500)を解決するためのデータセットを形成することを含む、請求項12に記載の装置。
【請求項15】
前記第2のプロセッサ(62)は、前記サーバ及び前記第1のプロセッサの少なくとも何れかに前記第3のクエリ(1500)の解を提供するように更に構成されている、請求項12から14のいずれかに記載の装置。
【請求項16】
前記第2のプロセッサ(62)は、前記サーバから前記第2のクエリ(1500)を解決するために再構築された第2の処理タスク(1501)を受信し、前記第2のクエリ(1500)を解決し、前記第2のクエリ(1500)の解を前記サーバに提供するように更に構成されている、請求項9から15のいずれかに記載の装置。
【請求項17】
産業設備であって、
複数の機械(121~125、500)と、
前記複数の機械の少なくとも1つを監視し及び制御するためにコンピューティングクラスタを形成するサーバ(10~12)及び複数の装置(20~27)を含むネットワーク(100~102)と、
前記複数の装置における各装置(20~27)は、
少なくとも1つのメモリと、
1以上の他の装置(20~27)との接続のための複数の入力/出力ポート(28)と、
データを受信し且つ指令を送信するために、前記複数の機械(121~125、500)のうちの少なくとも1つの機械との接続のための1以上のインタフェース(29)と、
前記少なくとも1つの機械からの前記データを受信し、当該データを用いて前記少なくとも1つの機械又はそのコンポーネントの動作に関連する第1のクエリ(1500)を解決するための第1の処理タスク(1501)をリアルタイムで計算するように構成された第1のプロセッサ(61)と、
少なくとも1つのメモリと少なくとも1つのプロセッサを含むサーバ(10~12)であって、第2の処理タスク(1501)を複数のスレッド(1510a~1510n)に分割し且つ当該複数のスレッドを前記第2の処理タスクの計算と協働するために前記コンピューティングクラスタのうちの幾つかの装置に割り当て、前記第2の処理タスクは、前記1以上の機械(121~125、500)の少なくとも1つの機械の動作又はシステムの動作に関連する第2のクエリを解決する、前記サーバと、
を備え、
前記複数の装置における各装置(20~27)は、前記コンピューティングクラスタとの間で自機の処理能力を共有し、前記サーバ(10~12)によって割り当てられた少なくとも1つのスレッド(1510a~1510n)を計算し、前記第2のクエリ(1500)を解決するため前記サーバにその解を提供するように構成された第2のプロセッサ(62)を更に含み、
前記各装置(20~27)の前記第1のプロセッサ(61)が、更に、
前記第1のクエリ(1500)の解を同じ装置(20~27)の前記第2のプロセッサ(62)に提供し、
前記第1のクエリ(1500)の解から第1の命令を導出し、且つ当該第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記第2のプロセッサ(62)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成され、
前記各装置(20~27)の前記第2のプロセッサ(62)が、更に、
前記第1のプロセッサ(61)から受信した前記第1のクエリ(1500)の解を前記サーバ(10~12)に提供し、
前記第1のプロセッサ(61)からの前記第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記サーバ(10~12)の少なくとも何れかに提供する、
ことの少なくとも1つを実行するように構成され、
前記複数の装置(20~27)少なくとも幾つかの装置は、前記複数の機械(121~125、500)の1以上の機械と接続されている、
ことを特徴とする産業設備。
【請求項18】
前記サーバの少なくとも1つのプロセッサは、更に、前記機械(121~125、500)に接続される装置(20~27)を介して、第2の命令を前記機械に提供する、請求項17に記載の産業設備。
【請求項19】
コンピューティングクラスタを形成するサーバ(10~12)と複数の装置(20~27)とを含むネットワーク(100~102)手段によって、産業設備の1以上の機械(121~125、500)を監視し及び制御するための方法であって、前記複数の装置(20~27)の少なくとも幾つかの装置は、前記1以上の機械(121~125、500)と接続されており、
前記サーバの少なくとも1つのプロセッサにより、前記コンピューティングクラスタを制御し、
前記少なくとも幾つかの装置(20~27)の各装置により、前記装置が接続されている前記1以上の機械からデータを取得し、
前記少なくとも幾つかの装置(20~27)の第1のプロセッサ(61)により、前記装置が接続されている機械又はそのコンポーネントの動作に関連する第1のクエリ(1500)を前記取得したデータを用いて解決するための第1の処理タスク(1501)をリアルタイムで計算し、
前記サーバの少なくとも1つのプロセッサにより、第2のクエリ(1500)を解決するための第2の処理タスク(1501)を複数のスレッド(1510a~1510n)に分割し、前記第2のクエリは、前記1以上の機械(121~125、500)の少なくとも1つの機械の動作又は前記産業設備の動作に関連し、
前記サーバの少なくとも1つのプロセッサにより、前記複数のスレッドの1以上のスレッドを、前記複数の装置(20~27)の少なくとも幾つかの装置の第2のプロセッサ(62)に割り当て、
前記サーバにより1以上のスレッドが割り当てられた前記複数の装置の各装置の第2のプロセッサであって、前記ネットワークとの間で自機の処理能力を共有するよう構成されている前記第2のプロセッサにより、割り当てられた前記少なくとも1つのスレッドを計算する、ことを含む方法。
【請求項20】
前記少なくとも1つの幾つかの装置は、前記複数の装置(20~27)の各装置を含む、請求項19に記載の方法。
【請求項21】
前記サーバにより1以上のスレッドが割り当てられた前記複数の装置の各装置の第2のプロセッサにより、前記第2のクエリ(1500)を解決するため前記1以上のスレッド(1510a~1510n)の解を前記サーバに提供すること、
前記少なくとも幾つかの装置の各装置の前記第1のプロセッサ(61)により、
(1)前記第1のクエリの解を同じ装置(20~27)の前記第2のプロセッサ(62)に提供すること、
(2)前記第1のクエリ(1500)の解から第1の命令を導出し、且つ当該第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記第2のプロセッサ(62)の少なくとも何れかに提供する、
ことの少なくとも1つを実行すること、
前記少なくとも幾つかの装置の各装置の前記第2のプロセッサ(62)により、
(3)前記第1のプロセッサ(61)から受信した前記第1のクエリ(1500)の解を前記サーバ(10~12)に提供し、
(4)前記第1のプロセッサ(61)からの前記第1の命令を前記1以上の機械(121~125、500)の少なくとも1つの機械及び前記サーバ(10~12)の少なくとも何れかに提供する、
ことの少なくとも1つを実行すること、を更に含む請求項19又は20に記載の方法。
【請求項22】
前記サーバの前記少なくとも1つのプロセッサにより、
前記第2のクエリの解から第2の命令を導出し、機械(121~125、500)に接続される装置を介して、前記第2の命令を前記機械に提供する、ことを更に含む請求項19~21のいずれかに記載の方法。
【請求項23】
前記サーバの前記少なくとも1つのプロセッサにより、
前記コンピューティングクラスタの装置(20~27)から前記複数のスレッド(1510a~1510n)の出力を受信し、前記出力を処理して再構築された第2の処理タスク(1501)を提供し、前記第2のクエリ(1500)を解決するため前記再構築された第2の処理タスクを計算する、請求項21から22のいずれかに記載の方法。
【請求項24】
前記第1の処理タスクを計算することは、
前記データを前処理してデータセットを形成し、該データセットから前記第1のクエリ(1500)を解決するためのデータの一部を選択すること、又は、
前記データを前処理して、前記第1のクエリ(1500)を解決するためのデータセットを形成すること、
を含む、請求項19から23のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業設備における監視及び制御のための装置の分野に関する。具体的には、本発明は、大量のデータを生成する産業環境においてリアルタイムでデータを取り込んで処理するための高可用性装置に関する。これらの装置は、産業機械におけるエネルギー効率及び予知保全などのスマートサービスの実装にとって特に有利となり得る。本発明は、これらの装置を含むネットワーク、システム及び産業設備にも関する。
【背景技術】
【0002】
90年代(1990年代)には、スマートデバイスで構成されたネットワークの概念が発展し、このような概念を定義する「モノのインターネット(IoT)」という用語が作られた。IoTは、インターネットに接続可能な物体又は装置が、いわゆる機械間コミュニケーション又はM2Mコミュニケーションを用いて他の物体又は装置に結び付くことができることを意味する。IoTは、データの収集及び交換を可能にする電子機器、ソフトウェア、センサ及びネットワーク接続性を組み込んだ物体のネットワークとして定義することができる。IoTに属する物体は、既存のネットワークインフラを越えて遠隔的に検知して制御することができる。それぞれの「モノ」は、その埋め込みコンピュータシステムを通じて一意に識別可能であるとともに、既存のインターネットインフラを用いて動作することができる。今や、IoTは、無線及び有線の通信及びネットワーク、センサ、並びに埋め込みシステム及び微小電気機械システム(MEMS)を含む複数の技術を結集させている。IoTは、家庭(スマートホーム)、(例えば環境監視を含むスマートシティなどの)公共インフラ、及び産業(スマートグリッドなどの特定の意味での産業、又は知的輸送などのいくつかの公共インフラを含む広い意味での産業)を含む多くの異なる環境に適用することができる。
【0003】
IoTを(最も広い意味での)産業インフラに適用する際には、インダストリー4.0とも呼ばれる、産業界におけるモノのインターネット(Industrial Internet of Things:IIoT)という特定の用語が使用される。IIoTに産業機器を統合すると、機械が自機の作業状態を上位レベルの監視システムに通知することができ、従ってAcatech(ドイツ工学アカデミー)、Smart Service Welt(スマートサービスの世界)、2014年3月、に示されているリアルタイム(RT)品質管理などの予測的スマートサービスが可能になる。この結果、産業機器のメーカーが先進サービスの提供者になることができる。
【0004】
IIoTとIoTの主な違いは、装置及び機械がIIoTを採用すると、故障又は誤動作した場合に設備/資産の損失又は重大な損傷、環境被害、及び/又は重大な生産損失のうちの少なくとも1つを招く恐れがあるシステム(又はその一部)になり得る点である。このような意味で、産業設備のシステムは、上述した事象のいずれかを招く恐れがある誤動作の可能性がある時に作動するように、異なる機械間のリアルタイムな応答及び同期を考慮した解決策を必要とする。このようなシステムの非限定的な例には、原子力発電所などの発電所、送電及び電力輸送、石油精製所、天然ガス処理工場、化学処理工場、並びに製造業の生産組み立てラインがある。
【0005】
製造業の生産ラインの例を具体的に参照すると、危機的な事象を招く例示的な誤動作としては、機械加工において使用される機械に含まれている多くの軸受けのうちの1つの軸受けにおける転動体の不具合を挙げることができる。機械は、複雑度の高い要素及び/又は機械的アセンブリを大量に含んでいることがあるが、1つの軸受けにおいて転動体が不具合を起こすと(すなわち、転動体が損傷すると)、機械が動作不能になることによって生産ライン全体が停止してしまう恐れがある。このような意味で、1つの磨耗した転動体が、最終的には機械全体を破壊してしまう一連の事象を引き起こす可能性がある。他のいくつかの事例では、転動体の損傷後にも依然として機械が動いているにも関わらず、この事象によって同じ機械内のさらなる要素の不具合が生じ、これによって最終的に機械が破損する可能性がある。これらの状況では、構成部品(例えば、転動体)に不具合が生じた正確な瞬間から機械を停止させる命令が与えられて停止するまでに要する時間が、不具合又は惨事を避ける上で最も重要な側面である。機械加工の分野における別の重大な事象の例では、工具の1つの刃先の破損(又は同じ転動体の損傷)が重大な品質問題を引き起こして生産損失を招き、この機械によって加工される製品が正しく加工されずに欠陥品となって最低限の品質要件を満たさず、商品が欠陥品であることを誰も検出しないことや、或いは検出されたのが既に販売業者又は最終顧客への配送後であったといったことが起きる可能性もある。従って、このような障害はリアルタイムで検出されなければならず、従って産業環境では構成部品の不具合の素早い検出及びそれに対する反応(この反応は、機械及び障害の性質次第で数ミリ秒になり得る)が必要不可欠である。さらに、産業システムは、機械内の構成部品がまさに故障しようとしている時点を何らかの形で予測して故障の前に交換できることが好ましい。
【0006】
産業設備の機械は、IIoTを採用している時には大量のデータを生成し(単一の機械が何十個又は何百個、さらには何千個ものセンサを含むこともある)、従って新たなやりがいのあるビジネスチャンスをもたらす傾向にある。このようなデータ量の結果、生成されたデータが無意味なものになってしまう可能性があるため、素早いデータ処理時間が必要になるとともに、このようなデータを素早くインデックス化し、記憶して処理する必要性が高まる。一例として、ある工作機械が、その動作を制御するセンサ及び/又は装置によって提供される何千個もの変数、すなわち何千もの異なる潜在的な情報を出力できるとすると、これらの変数(又はこれらの変数の一部)が高速で処理されてこれらの変数の一部又は全部の組み合わせから意味が抽出された場合、この工作機械は不具合の前又は不具合が生じた直後に停止することができる。ある工作機械が3つのサーボモータと機械加工スピンドルとを有し、出力変数の量が78である特定の事例について検討する。サンプル当たりのスループットが2.8MB/サイクルである場合、年間に取り込まれるデータの量は約1TBである。不具合が効果的に防がれるか否か、防がれない場合に生じてしまった不具合のコストがどれほどであるかは、これらの変数の処理の遅延、及び後続するこれらの変数からの知識抽出時における反応の遅延によって決まる。上記の例で説明したように、不具合の検出が遅れれば遅れるほど、結果として生じる問題の解決に掛かるコストも高くなる。
【0007】
現在の大量データの処理方法は、
図1に示すようなピラミッド型計算スタック190に基づく。第1のレベルでは、監視/品質管理下にある産業設備(一般に、クリティカルシステム)の装置又は機械からのデータをセンサが連続して取り込む。第2のレベルは、例えばPLC(プログラマブルロジックコントローラ)又はコンピュータ数値制御(CNC)ツールを用いて実装されるローカル制御レベルであり、ここでセンサ信号がデジタルデータに変換される。センサから取得されたデータは、PLC/CNCレベルを介してSCADA(監視制御及びデータ取得)などの産業用制御システム(ICS)に伝えられる。SCADAは、とりわけ製造、発電、インフラプロセス、送電及び電力輸送などの(さらに広範囲に広がることもできる)産業プロセスの遠隔モニタリング及び制御を行う集中型コンピュータベースシステムである。PLC/CNCが局所的制御動作を実行するのに対し、SCADAは、システム全体に影響を与える包括的制御動作を担当する。
【0008】
SCADAレイヤが情報を処理するのに対し、下位レイヤ(PLC/CNC)は直接データを処理する。この文脈では、「データ」という用語は、対応するソース(例えば、一般にセンサ、PLC/CNC又は装置)によって提供される(例えば、電圧値又はその他などの)未加工の値を意味し、「情報」という用語も、文脈に応じた形ではあるがデータを意味する。例えば、サーミスタによって生じる電圧はデータ(具体的には、未加工データ)であり、この電圧に意味(すなわち、この特定の電圧の温度はどれほどであるか)が与えられると情報でもある。
【0009】
ピラミッドの上位レベルは、MES(製造実行システム)及びERP(企業資源計画)である。MESは、とりわけ、製品定義の管理、リソースの管理、製造指図書の計画、発送及び実行、生産データの収集、並びに生産分析の実行を担当するコンピュータシステムであるのに対し、ERPは、コアビジネスプロセスの統合ビューを提供するビジネス管理ソフトウェアを意味する。ERPは、例えば商品企画、マーケティング及び販売、在庫管理及び出荷、並びに支払いなどの、異なるビジネス活動からのデータの収集、記憶、管理及び解釈に使用される。これらの上位レイヤ(MES及びERP)は、情報自体をそれ以上処理するものではなく、情報を処理した時点で情報自体から抽出できる(「知識」とも呼ばれる)ビジネス関連情報を取り扱う。
【先行技術文献】
【非特許文献】
【0010】
【文献】Acatech(ドイツ工学アカデミー)、Smart Service Welt(スマートサービスの世界)、2014年3月
【文献】Pranali More著、「フォグコンピューティングの実装レビュー(Review of implementing Fog computing)」、IIJ:International Journal of Research in Engineering and Technology、第4巻、第6号、2015年6月
【文献】Armando Astarloa他著、「1588を意識した高可用性サイバーフィジカル生産システム(1588-aware High-Availability Cyber-Physical Production Systems)」、Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS)、2015年IEEE国際シンポジウム、北京、2015年、25~30頁
【発明の概要】
【発明が解決しようとする課題】
【0011】
先行技術のSCADAシステムは、監視下の機械の現在の状態(例えば、一般にアクティブ/非アクティブな装置、バルブの開閉状態、タンク内の圧力レベルなど)を反映する少量の情報を管理する必要があり、これらの状態値は、例えばPLC/CNCから取り出すことができる。単なる監視以外のタスク(例えば、予知保全の実行、或いは全体的性能が明らかに正しいにも関わらず装置又は機械が正常に動作しているかどうかの評価)を意図する場合には、産業機械のセンサ及び関連装置によって提供されるデータの全部又は大部分を考慮する必要がある。単一の機械は、それぞれが複数の変数を提供できる何百個又は何千個ものセンサを含むことができる(例えば、デジタルカメラの写真は、その画素と同じ数の変数を有する)。従って、大量のデータ(すなわち、後で情報及び知識を提供できるデータ)が提供される。先行技術では、データをクラウドに記憶する必要があり、ここでいわゆるクラウドコンピューティングを用いて処理することができる。クラウドコンピューティングは、通常はインターネットを介した、サーバ、ネットワーク及びデータベースなどの構成可能な計算/処理リソースの共有プールへの遍在的なオンデマンドでのネットワークアクセスを可能にするモデルである。クラウドシステムには、インターネットの性質に起因して、ネットワーク待ち時間、セキュリティ及びプライバシーなどの争点が内在する。一般に、セキュリティ及びプライバシーは、機密情報及び機密データをクラウドに記憶する際に問題となる争点である。
【0012】
しかしながら、たとえこれらの2つの争点が問題にならない場合でも、クラウドコンピューティングは、産業環境を制御するという厳しい条件に正しく対応することができない。第一に、一般に単なるデータの記憶は全く実現不可能であり、つまり産業設備の各機械によって生じるデータスループットが大きいため、一般にクラウドにデータを転送するのに必要な帯域幅が不十分であり、さらにシステムは、通信チャネルだけでなく、例えばスイッチ、ルータなどの、クラウドへのデータ送信を可能にする全ての装置によっても制限される。このことは、機械自体によって提供される未加工データを用いて極端に短い期間で検出を実行することによってしか検出されない場合がある異常な挙動に応答して制御しなければならない上記に例示したようなシステムでは特に問題である。第二に、このような異常な挙動を検出するには、記憶されている全てのデータを処理する必要があり、クラウドコンピューティングではその計算能力にも関わらず応答を提供するのに不十分な場合があり、ましてや短期間ではなおさらだからである。
【0013】
これらの欠点を緩和するために、クラウドを産業設備にとって身近なものとする意図で、一般にフォグコンピューティング又はエッジコンピューティングと呼ばれる新たなパラダイムが開発された。例えば、Pranali Moreが「フォグコンピューティングの実装レビュー(Review of implementing Fog computing)」、IIJ:International Journal of Research in Engineering and Technology、第4巻、第6号、2015年6月、において報告しているように、フォグ/エッジコンピューティングは、クラウドコンピューティングをネットワークに属する機械の物理的位置まで拡大してエンドユーザへの近接性とローカルリソースのプーリングとを保証し、従ってネットワーク待ち時間を短縮する。フォグ/エッジコンピューティングは、データ又は情報をクラウドに記憶しなくてもよい限りにおいて、クラウドコンピューティングに関連するセキュリティ及びプライバシーの問題又は懸念の一部に対処する。それにも関わらず、フォグ/エッジコンピューティングは、どのみちクラウドコンピューティングの全ての問題を解決するわけではない、極めて高価となり得る大規模インフラの展開を必要とする。とりわけ、フォグ/エッジコンピューティングにも帯域幅及び計算についての同じ争点が存在する。現在では、確かにネットワーク待ち時間はクラウドコンピューティングよりも短いかもしれないが、通信チャネルの帯域幅は、産業設備において生じるスループットにとって不十分であると判明している。産業設備全体によって生じるデータ量をネットワークによってなんとか処理できる場合でも、やはり機械のあらゆる異常な挙動を検出するようにこのデータ量を時間内に処理する必要がある。
【0014】
一例として、
図2に、産業用ネットワークとクラウドとを接続する最近のアーキテクチャのスキームを示す。一例として、風力発電施設、機関車、工作機械、及びロボットを用いて加工物に構成部品を挿入するためのセルという、それぞれが異なる産業用ネットワークの例を表す4つのエンドポイントを示す。各エンドポイントは、これらのエンドポイントからのデータの取り込みと取り込んだデータのローカルな前処理の実行とを担当するサイバーフィジカル生産システム(CPPS)に接続される。従来のCPPSによって行われる前処理の例は、誤ったデータを除去して空間の節約と単純なサンプル変換(例えば、平均値、中央値、標準偏差、例えば高速フーリエ変換(FFT)を用いた時間領域から周波数領域への変換のような領域変換を適用する信号処理)とを行うことである。CPPSとクラウドとの間には、前処理データをクラウドに送信し、記憶して処理するためにセキュアな通信が提供される。多くの用途では、例えばイーサネット(登録商標)ネットワークを介して複数のCPPSを互いに接続することが必要である。現在では、図示のCPPSとして動作して近隣の装置に接続できる装置を複数の企業が提供している。このような装置の例には、TTTech社によって開発されたDESwitch Akro 6/0 TSN、SoCe社によって開発されたCPPS-Gate40、及びeWON社によって開発されたeWON Flexyがある。
【0015】
Armando Astarloa他は、サブマイクロ秒同期をサポートできる高可用性リングネットワーク内の、マルチセンサデータを取り込んで処理できるスマートノードによって構成された、IEEE 1588高可用性プロトコルを特徴とするCPPSを提案している(「1588を意識した高可用性サイバーフィジカル生産システム(1588-aware High-Availability Cyber-Physical Production Systems)」、Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS)、2015年IEEE国際シンポジウム、北京、2015年、25~30頁)。このネットワークは、極めて厳しい同期要件を満たす。各スマートノードは、そのタイムスタンプ値と組み合わせた膨大な量のセンサデータをクラウド内のサーバに送信し、ここでこれらのデータが処理され管理される。
【0016】
このようなシステムの問題点は、各スマートノード(CPPS)内で生成されるデータの量によってスマートノードとサーバとの間の通信リンクが予想通りに実行できなくなり得る点である。毎秒何千個もの変数(サブミリ秒当たりのサンプル)によって表される産業機械の例を再び参照すると、たとえこれらの変数に関連するデータをCPPSにおいて前処理した後であっても、サーバはこの厳しい産業環境の時間前提内にこれらのデータを処理することができず、従って全体的な設備効率及び予知保全を改善するサービスなどのいくつかのスマートサービスが実現不可能になることがある。
【0017】
この問題は、クラウドに配信すべき(
図1に示すセンサから取得できるデータを含む)膨大な量のデータを処理するのに十分な容量を提供する通信チャネル及びスイッチの広大なインフラを展開し、データを処理してそこから知識を抽出するための短い時間を確保することによって対処できることもある(すなわち、常に十分な計算リソースが利用可能であり、ネットワーク待ち時間が短く安定していなければならない)。しかしながら、この方法は、装置及び保全への大規模な経済投資が必要になることに加えて、産業設備に新たな産業機械が加わるにつれてチャネル帯域幅及び処理能力の要件も継続的に上昇するためコスト効率も高くない短期的な解決策にすぎず、従ってシステムに拡張性がない。
【課題を解決するための手段】
【0018】
本開示において説明する装置、ネットワーク及びシステムは、先行技術のスマートデバイス及びそのネットワークの欠点を解決することを目的とする。これらの装置、ネットワーク及びシステムは、産業設備における少なくとも1つの機械の動作を監視するための装置、ネットワーク及びシステムである。本発明の装置、ネットワーク及びシステムは、例えば検出又は診断された可能性があるあらゆる誤動作に反応するために、少なくとも1つの機械又はその構成部品に命令又はコマンドを与えることによって少なくとも1つの機械の挙動を予測し、又は少なくとも1つの機械を作動させることもできる。装置、ネットワーク及びシステムの各々は、とりわけ全体的な設備効率及び予知保全を改善するサービスなどのスマートサービスを必要とする産業環境での使用に、本明細書から明らかになるコスト効果の高い方法で応用することができる。
【0019】
本開示の文脈では、「監視動作(supervising operation)」という表現は、産業設備における1又は2以上の機械の受動的監視だけでなく、1又は2以上の機械に対する能動的反応、作動、予測、指示、制御又は管理も含む広い意味で解釈されたい。
【0020】
本開示の文脈では、「機械(machine)」という用語は、産業環境の機械、機構、ステーション又はセルに接続されたあらゆる機械、機構、ステーション、セル、構成部品又は周辺機器を意味する。本明細書では、「センサ(sensor)」という用語は、文字通りの意味のセンサだけでなく、センサを統合するための装置が取り込むことができたセンサデータを含む、これらの機械が出力できるあらゆるデータを提供するPLC及びCNCなどの、複数のセンサを統合するための装置も含むように意図される。換言すれば、「センサ」は、フィールドデータ取得段階に属し、あらゆるフィールドデータ取得手段を含む。本開示の文脈では、「データ(data)」という用語は、対応するソース(例えば、一般にセンサ、PLC/CNC又は装置)によって提供される(例えば、電圧値又はその他などの)未加工の値を意味し、「情報(information)」という用語も、文脈に応じた形ではあるがデータを意味する。例えば、サーミスタによって生じる電圧はデータ(具体的には、未加工データ)であり、この電圧に意味(すなわち、この特定の電圧の温度はどれほどであるか)が与えられると情報でもある。言うまでもなく、「データ」という用語は、例えばビット又はバイト形式のデジタル化された情報について言及する時には、センサから取得できる1又は複数のサンプルも含む。
【0021】
本発明の第1の態様は、産業設備の少なくとも1つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるための装置に関する。装置は、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサを含む。装置は、装置が接続できるネットワークとの間で自機の処理能力を共有し、第2のクエリを解決するための第2の処理タスクの少なくとも1つのスレッドがネットワークの(本開示ではサーバ又はマスタとも呼ぶ)別の装置によって割り当てられた時に、このような少なくとも1つのスレッドを計算するように構成された第2のプロセッサをさらに含む。
【0022】
装置は、少なくとも1つの機械又は機械の少なくとも1つの構成部品の動作に関連するクエリを解決することができる。好ましい実施形態では、装置が接続できる機械が、少なくとも1つの装置である。高性能コンピューティングの文脈では、装置が接続できるネットワークはコンピューティングクラスタネットワークであることが好ましい。
【0023】
本発明の第2の態様は、産業設備の少なくとも1つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるためのシステムに関する。システムは、コンピューティングクラスタを形成するサーバと複数の装置とを含むネットワークを含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第1の態様による装置である。この意味において、複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサと、ネットワークとの間で自機の処理能力を共有し、第2のクエリを解決するための第2の処理タスクの少なくとも1つのスレッドがサーバによって割り当てられた時に、このような少なくとも1つのスレッドを計算するように構成された第2のプロセッサとを含む。ネットワークのサーバは、コンピューティングクラスタを制御し、第2の処理タスクを複数のスレッドに分割し、少なくとも1つのスレッドを複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに割り当てるように構成される。これに関連して、サーバは、コンピューティングクラスタを管理し、第2の処理タスクを複数のスレッドに分割し、複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに少なくとも1つのスレッドを割り当てて送信するように構成されたプロセッサを含む。サーバに含まれるプロセッサは、複数の装置のうちの少なくともいくつかの装置からスレッドの出力を受け取り、スレッドの出力を処理して第2の処理タスクを計算し、第2のクエリの解を提供するように構成することもできる。
【0024】
本発明の第3の態様は、複数の機械と、複数の機械のうちの少なくとも1つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるための、コンピューティングクラスタを形成するサーバ及び複数の装置を含むネットワークとを含む産業設備に関する。複数の装置のうちの少なくともいくつかの装置は、複数の機械のうちの機械に接続することができ、少なくともいくつかの装置の各装置は、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサと、ネットワークとの間で自機の処理能力を共有し、第2のクエリを解決するための第2の処理タスクの少なくとも1つのスレッドがサーバによって割り当てられた時に、このような少なくとも1つのスレッドを計算するように構成された第2のプロセッサとを含む。ネットワークのサーバは、コンピューティングクラスタを制御し、第2の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの1又は2以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに割り当てるように構成される。サーバは、複数の装置のうちの少なくともいくつかの装置からスレッドの出力を受け取り、スレッドの出力を処理して第2の処理タスクを計算し、第2のクエリの解を提供するように構成することもできる。
【0025】
好ましい実施形態では、少なくともいくつかの装置が、複数の装置の各装置を含む。さらに、これらの好ましい実施形態のいくつかでは、ネットワークの(システム又は産業設備の)複数の装置の各装置が、本発明の第1の態様による装置である。
【0026】
装置は、機械からリアルタイムでデータを取得しながらリアルタイムでクエリを解決することなどにより、例えば危機的事象が発生するのを防ぐための、又は既に発生した危機的事象が産業設備又は産業設備内のオペレータに損傷を与えるのを防ぐためのリアルタイム又は近リアルタイムでの反応を可能にすることができ、この意味において、このようなクエリから(例えば、構成部品のパラメータを調整すること、機械をオフにすることなどの)機械のための命令を導出することができる。装置は、複雑性又は計算負荷に起因してリアルタイムで解決されないこともあるがコンピューティングクラスタネットワークによってプロセス内時間で、すなわち産業プロセス(産業設備の機械のプロセス)が行われている間に解決されることもあるクエリの解決に寄与するように、コンピューティングクラスタネットワーク内に組み込むことによってプロセス内反応を可能にすることもできる。これらのクエリは、産業設備内の少なくとも1つの機械(又は機械の少なくとも1つの構成部品)の動作を監視するためのクエリ、少なくとも1つの機械/構成部品の挙動を予測するための、又は少なくとも1つの機械/構成部品を作動させるためのクエリ、或いは装置、又は装置を制御するサーバが、検出又は診断された可能性のあるあらゆる誤動作に反応し、機械/構成部品に作用し、又は機械/構成部品へのあらゆる作用を指示するために回答を使用するクエリとすることができる。さらに、産業設備からのデータは、コンピューティングクラスタネットワーク内に記憶することができるので、装置は、リアルタイム又はプロセス内時間で解を必要とせずに、劣化、起こり得る故障又は特定の計画対象期間に行うべき潜在的な改善についての情報を提供できるクエリの解決に寄与することもできる。
【0027】
本開示の文脈では、「リアルタイム」という用語は、最小値Vminと50ms(ミリ秒)の上限値との間で変動する範囲、最小値Vminと5msの上限値との間で変動する範囲、又は最小値Vminと1msの上限値との間で変動する範囲などの、最小値Vminと100msの上限値との間で変動する範囲内に含まれる時間を意味する。現在の技術を考慮すると、限定するわけではないが、例えば最小値Vminは1μs(マイクロ秒)とすることができる。しかしながら、当業者であれば、範囲の最小値Vminは、技術の発展によって500nsの最小値、100nsの最小値、20nsの最小値又は1nsの最小値などの、1μsよりも小さな最小値に低下することもあると理解するであろう。
【0028】
本開示の文脈では、単一の装置(好ましくは、装置に接続できる機械からクエリの解決に必要なデータを取得する装置)によってリアルタイムで解決できるクエリを第1のクエリと呼び、プロセス内時間で解決できるクエリを第2のクエリと呼ぶ。
【0029】
第2のクエリは、1又は2以上の部分(すなわち、スレッド)に分割することによって並列化できる関連するタスクを有し、すなわち第2のクエリを解決するタスクの1又は2以上のスレッドを提供してコンピューティングクラスタネットワークの異なる装置に割り当てることができる。これらの各スレッドは、(例えば、異なる装置において)分散方式で計算することができる。装置の第2のプロセッサがスレッドを計算する際には、クエリを解決できるように(例えば、コンピューティングクラスタネットワークの装置又はサーバにおいて)スレッドの結果を同じタスクの他のスレッドと統合することができる。タスクの計算を並列化することによってクエリを解決するのに掛かる時間は、並列化を行わずにクエリを解決するよりも短くなり得る。
【0030】
装置の第2のプロセッサは、(装置が接続できる及び/又は接続されたネットワークの)サーバが第2の処理タスクの少なくとも1つのスレッドを装置に割り当てた時に、このようなスレッドを計算するように構成される。サーバによるスレッドの割り当ては、ネットワークを形成する装置の利用可能な計算能力を考慮して行われる。第2のプロセッサは、対応する第2の処理タスクの一部を計算することによって第2のクエリを解決することに寄与するので、装置が接続できる及び/又は接続されたコンピューティングクラスタネットワークとの間で自機の処理能力を共有するように構成される。コンピューティングクラスタネットワークが、例えば本発明の第1の態様の装置の形態のノードを有する場合には、第2のプロセッサの処理能力をコンピューティングクラスタネットワーク内の同様の装置の第2のプロセッサと共有することができる。コンピューティングクラスタネットワークは、存在する装置及びサーバと同数のノードを含むことが好ましいものの、例えば、以下に限定するわけではないが、イーサネット(登録商標)スイッチ、ルータ、データ記憶装置、コンピューティングクラスタネットワークと共有されない処理能力を有する装置などの形態のさらなるノードを含むこともできる。
【0031】
マルチセンサデータの取得、(第1のプロセッサにおける)ローカルな処理能力及び(第2のプロセッサにおける)分散処理能力を同じ装置に統合することにより、従来のピラミッドに取って代わる高可用性データ処理のための新たなピラミッド型計算の概念がもたらされ、すなわち大量のビジネス上の決定(知識)をクラウドに記憶して処理し続け、及び/又は(例えば、品質管理下にある産業設備の全体的なビューを生成するために機械インターフェイスから収集された未加工のデータを処理する結果としての)特定の情報をフォグ/エッジに記憶して処理し続けながら、グランドコンピューティングという新たな計算レイヤを開発して規定することができる。
【0032】
システムのサーバは、ネットワークに接続する手段(例えば、入力/出力ポート又はネットワークインターフェイスコントローラ)をさらに含み、この手段を介してネットワークに接続することができ及び/又は接続される。サーバ及びそのプロセッサは、コンピューティングクラスタ内の装置の負荷バランスを取ることによってコンピューティングクラスタの性能を最適化するようにさらに構成することができる。このような意味で、各装置は、サーバのプロセッサが各装置の計算負荷を分かった上で装置の計算負荷に応じていずれかのスレッドを装置に割り当てるように、自機の計算負荷に関する情報をサーバに送信することができる。従って、ほとんどアイドル状態の装置が存在する一方で、計算能力すれすれでタスクを実行している装置も存在するといったことが生じ得るため、コンピューティングクラスタの計算能力が最適化される。ネットワークの処理能力又は計算能力は、産業設備内に新たな装置及び機械が展開される形でさらなる装置がネットワークに組み込まれると高くなる。この結果、ネットワークからデータを取り除く必要がなくなる(データがグランドレベルに留まる)ため、より複雑なクエリを解決できるようになる。
【0033】
本開示の装置及びシステムは、(センサについては既に特定した広い意味で、データについてはサンプルを含むものとして理解する)センサデータを最初に取得した後に1又は2以上の第1のクエリをローカルに解決するローカル計算レベルと、1又は2以上の第2のクエリを分散して解決する分散型計算レベルとによって形成される新たな計算スキームを提供することができる。この新たな計算スキームは、あらゆるクエリに対する応答時間と、ネットワークに関連する産業設備内のクエリを解決するための(及びこのクエリから命令を導出するための)反応時間とを短縮することができる。換言すれば、これらの装置、及びコンピューティングクラスタネットワーク内で動作する装置によって実行される(高性能コンピューティング(HPC)と見なされる)分散コンピューティングは、産業用設備に適用される予測制御/監視から導出される全体的な計算性能を高める。従って、
図1の現在のピラミッド型計算スタック190に新たな計算レイヤが加わる。この新たな計算レイヤはグランドコンピューティングと呼ばれ、ネットワーク内の各装置の第2のプロセッサの処理を含む。換言すれば、グランドコンピューティングは、ネットワークに含まれる装置がグランドコンピューティングレイヤ内で第2のクエリを解決するように実行する高性能コンピューティングを含む。グランドコンピューティングレイヤは、ネットワーク内の各装置の第1のプロセッサの処理を含む、本明細書ではリキッドコンピューティングレイヤと呼ぶ最下位レイヤ上に構築される。リキッドコンピューティングレイヤは、装置が接続できる機械から取得可能なデータを用いて第1のクエリをリアルタイムで解決するためのタスクを計算する。第1のクエリをリアルタイムで解決する要件を満たすには、プログラム可能なハードウェア/電子機器を有する第1のプロセッサを使用できることが有利である。例えば、限定するわけではないが、FPGA(すなわち、フィールドプログラマブルゲートアレイ)などのフィールドプログラマブル集積回路をハードウェアアクセラレータとして使用することができる。これにより、1/1.5GHz~1/0.8GHzの、すなわち0.67ns(ナノ秒)~1.25nsなどの処理サイクル時間での第1のクエリに関連するタスクの計算が可能になる。従って、機械又はその構成部品の監視をリアルタイムで行うことができる。
【0034】
また、複雑な産業設備において生成される大量のデータは、(クラウド/フォグコンピューティングよりも機械に近い)コンピューティングクラスタ内で2つの異なるレイヤ(リアルタイム処理を必要とする、従ってほぼミリ秒程度などの近リアルタイムでの事象への反応を可能にするクエリを解決するリキッドコンピューティングと、パラレルコンピューティングを使用しなければ素早い反応に不十分な時間で解決されるクエリを解決するとともに、いくつかの例では、必要であればそれほど厳しくない時間応答でクエリを解決してプロセス内反応、すなわち処理の実行に掛かる時間中の反応を可能にするグランドコンピューティング)において処理されるので、(プロセス外反応のためにオフラインで、すなわち処理の実行に掛かる時間よりも長い時間で処理すべき)エッジ/フォグ/クラウドコンピューティングを実行する設備に配信されるデータ量を低減することができる。実際に、未加工のデータをクラウド/フォグ/エッジに送信して処理する必要がなく、従って異なるレイヤ間の通信インフラの容量を抑え、及び/又は待ち時間を長くすることができる。一方で、実質的に文脈に応じた情報のみがコンピューティングクラスタ(グランドコンピューティング)から離れ、エッジ/フォグ/クラウドにおいてさらに処理又は計算される。従って、説明する新たな計算スキームは、クラウドコンピューティング及びフォグ/エッジコンピューティングなどの既存のパラダイムと共存することもできるが、これらのパラダイムは高度な処理(すなわち、分析中の産業設備の知識を獲得するための高度な情報処理)に専念する。
【0035】
本発明のいくつかの実施形態では、第1の処理タスクが、第1のデータを前処理して、第1のクエリを解決するためのデータセットを形成するステップを含む。すなわち、装置の第1のプロセッサは、第1のデータを前処理して、第1のクエリを解決するためのデータセットを形成するようにさらに構成される。
【0036】
本発明のいくつかの実施形態では、第1の処理タスクが、第1のデータを前処理してデータセットを形成するステップと、データセットから第1のクエリを解決するためのデータの一部を選択するステップとを含む。すなわち、装置の第1のプロセッサは、第1のデータを前処理してデータセットを形成し、データセットから第1のクエリを解決するためのデータの一部を選択するようにさらに構成される。
【0037】
装置は、必要なデータ(一般にセンサデータ)を取得し、取得したデータを前処理することによってデータのサイズを縮小し、前処理されたデータ(すなわち、縮小サイズのデータ)を用いてクエリを解決する。さらに、フォグ及び/又はクラウドコンピューティングを用いてビジネス関連のクエリ又は動作などのためのさらなる処理を行えるるように、前処理されたデータの一部又は全部をフォグ/クラウドコンピュータ装置に配信することもできる。
【0038】
本発明のいくつかの実施形態では、装置の第2のプロセッサが、クエリ(本開示では第3のクエリとも呼ぶ、パラレルコンピューティングにリンクされていないクエリ)を解決するための第3の処理タスクをローカルに計算するようにさらに構成され、すなわち第2のプロセッサは、並列化可能な性質の第2のクエリに関連するタスクを解決することに限定されるものではない。
【0039】
これらの実施形態のいくつかでは、第3の処理タスクが、ネットワークの(サーバ又は同じ装置を含む)いずれかの装置から取得可能なデータを処理して、クエリ(パラレルコンピューティングにリンクされていない、すなわち第3のクエリ)を解決するためのデータセットを形成するステップを含み、すなわち装置の第2のプロセッサは、ネットワークのいずれかの装置から取得可能なデータを処理して、パラレルコンピューティングにリンクされていないクエリを解決するためのデータセットを形成するようにさらに構成することができる。
【0040】
本発明のいくつかの実施形態では、装置の第1のプロセッサが、第1のクエリを解決した後に命令を導出するようにさらに構成される。装置の第1のプロセッサは、装置に接続できる機械、ネットワーク、又は(ネットワークの)複数の装置のうちの別の装置に接続できる機械のいずれかに命令を送信するようにさらに構成される。いくつかの例では、第1のプロセッサが最初に第2のプロセッサに命令を送信し、この第2のプロセッサを、装置、及び/又は複数の装置のうちの別の装置に接続できる機械に命令を送信するようにさらに構成することができる。
【0041】
本発明のいくつかの実施形態では、装置の第2のプロセッサが、同じ装置の第1のプロセッサから受け取ることができる第1のクエリの解をネットワーク又はそのサーバに提供するようにさらに構成される。
【0042】
本発明のいくつかの実施形態では、装置が、ハードディスクドライブ(HDD)、又は好ましくはソリッドステートドライブ(SSD)などの少なくとも1つの不揮発性メモリを含むデータ記憶装置をさらに含む。装置の第2のプロセッサは、不揮発性メモリとの間でデータの記憶及びデータの読み出しを行うことができ、一例として、通信チャネルが利用可能な空き帯域幅を有していない時に、ネットワークに送信する必要があるあらゆるデータをバッファリングし、データを処理する前に、ネットワークから受け取ったあらゆるデータをバッファリングすることができる。
【0043】
本発明のいくつかの実施形態では、第2のプロセッサが、第2の処理タスクを生成できるようにサーバにデータを送信するようにさらに構成され、サーバに送信されるデータは、装置が接続できる機械から取得可能なデータ、及び/又は第1のクエリの解である。
【0044】
本発明のいくつかの実施形態では、システムのサーバが、少なくとも1つの不揮発性メモリを含むデータ記憶装置を含み、又はこのようなデータ記憶装置に接続される。これらの実施形態では、ネットワークの装置内で生成されたあらゆるデータをサーバの不揮発性メモリに記憶することができる。
【0045】
本発明のいくつかの実施形態では、ネットワークの各装置が、(装置が接続できる機械からの)データ取得を、複数の装置のうちの他の装置が実行する(他の装置の各々が接続できる機械からの)データ取得と同期して実行するように構成される。ネットワークの各装置は、同期して動作するために、各装置がネットワークの他の装置と同じ瞬間に機械からデータを取得するように、ネットワーク全体を通じてクロックを同期させてデータを同時に取得するためのプロトコルを(例えば、第2のプロセッサに、又はネットワークへの接続手段に)実装する。例えば、このプロトコルは、Precision Time Protocol(PTP)(IEEE 1588)、White Rabbit、又はTime Sensitive Network(TSN)とすることができる。特定の実施形態では、各装置が、サーバと及びネットワーク内の他の装置と好ましくはサブマイクロ秒の精度で同期するための同期タイマを含む。
【0046】
本発明のいくつかの実施形態では、サーバが、第1のプロセッサ及び第2のプロセッサを含む。いくつかの実施形態では、サーバが、本発明の第1の態様による装置である。
【0047】
いくつかの実施形態では、サーバが、複数の装置のうちの少なくともいくつかの装置又は全ての装置の各装置の第2のプロセッサが実行する第2の命令セットアーキテクチャとは異なる第1の命令セットアーキテクチャを実行するように構成されたプロセッサを含む。サーバは、ネットワークに接続できるネットワークインターフェイス(例えば、コンピューティングクラスタ内の装置)をさらに含み、このネットワークインターフェイスは、第1の命令セットアーキテクチャから第2の命令セットアーキテクチャに、及びその逆に命令を変換するように構成される。ネットワークインターフェイスは、サーバの命令セットアーキテクチャとは異なる命令セットアーキテクチャをネットワークの複数の装置が実行できるようにし、このようにすると、サーバがx86などの(遍在的な)命令セットアーキテクチャを実行する他の装置(例えば、フォグコンピューティング及び/又はクラウドコンピューティングのための装置)と相互接続できるので有利である。従って、サーバは、ネットワーク内で実行される命令セットアーキテクチャに関わらず、(ネットワークインターフェイスを用いて)命令を対応する命令セットアーキテクチャに変換することによって、ネットワーク内で生成されたあらゆるデータをネットワーク外の他の装置に通信することができる。考えられる命令セットアーキテクチャの非限定的な例には、ARM、Arduino、Raspberry PI、x86、PowerPC、SoC装置などがある。
【0048】
本発明のいくつかの実施形態では、装置の第1のプロセッサが、中央処理装置又はその少なくとも1つのコア、グラフィック処理装置、ハードウェアアクセラレータ、又は例えばXilinx社によるZynq、MPSoCなどの埋め込み回路(例えば、システムオンチップ、マルチプロセッサシステムオンチップ)としてのFPGA(すなわち、フィールドプログラマブルゲートアレイ)などのフィールドプログラマブル集積回路など、及びこれらの組み合わせのうちの1つを含む。本発明のいくつかの実施形態では、装置の第2のプロセッサが、中央処理装置又はその少なくとも1つのコア、グラフィック処理装置、又は埋め込み回路(例えば、システムオンチップ、マルチプロセッサシステムオンチップ)としてのFPGAなどのフィールドプログラマブル集積回路など、及びこれらの組み合わせのうちの1つを含む。本発明のいくつかの実施形態では、装置がマルチコア中央処理装置をさらに含み、第1のプロセッサがマルチコア中央処理装置の少なくとも1つのコアを含み、第2のプロセッサがマルチコア中央処理装置の少なくとも別の1つのコアを含む。
【0049】
本発明のいくつかの実施形態では、システムのネットワークが、(ネットワークの)1又は複数の装置の第1のプロセッサ(リキッドコンピューティング)及び第2のプロセッサ(グランドコンピューティング)において上述したタスクを実行した結果として取得可能なデータを外部ネットワーク又はそのサーバに送信するためのネットワーク装置(例えば、ルータ、スイッチなど)を含む。このような意味で、ネットワーク内に存在するデータは、例えばフォグコンピューティング又はクラウドコンピューティングを実行するように構成されたコンピュータ装置などのネットワーク外のコンピュータ装置に送信することができる。従って、リキッドコンピューティングレイヤ及びグランドコンピューティングレイヤは、フォグ/クラウドコンピューティングと共存し、このようなフォグ/クラウドコンピューティングとの相乗効果を高めて利用することができる。外部ネットワークは、クラウド内及び/又はフォグ内に存在することができる。ネットワーク装置は、システムのネットワークのサーバに接続することができ、この場合、サーバはネットワーク装置を介して外部ネットワークにデータを送信する。
【0050】
本発明のいくつかの実施形態では、装置の第2のプロセッサが、第2の処理タスクの少なくとも1つのスレッドを計算するために処理能力の一部をささげるようにさらに構成され、すなわち第2のプロセッサの処理能力の一部はHPCに専念する。これらの実施形態では、HPCに専念しない第2のプロセッサの部分が、(パラレルコンピューティングにリンクされていない)クエリを解決することを含む第3の処理タスクをローカルに計算すること、又は装置が取得可能なデータ及び/又はサンプルを第1のプロセッサと共に前処理することに専念することができる。このような前処理は、装置が非常に短期間に非常に大量のデータを受け取り、従ってデータを取り込んで前処理するのに比較的大量のローカルリソースが必要なクリティカルシステムに適用することができる。
【0051】
ネットワークは、決定論的とすることができ、すなわちネットワーク内で生成される全てのデータは、データの正確な発生時点の識別を可能にするタイムスタンプを含む。特定の実施形態では、ネットワークを、White Rabbitなどのイーサネット(登録商標)型リアルタイム決定論的ネットワークとすることができる。別の実施形態では、ネットワークを、通常は産業用イーサネット(登録商標)ネットワークに実装されるTSNネットワークとすることができる。
【0052】
ネットワークのコンピューティングクラスタを形成する各装置の第2のプロセッサは、非同期的に動作する。しかしながら、本発明のいくつかの実施形態では、第2のプロセッサが、コンピューティングクラスタネットワークを形成する他の装置の第2のプロセッサに対して同期してデータを処理する。
【0053】
装置は、IIoTに適しているとは言いながらも、IPを備えていない機械及び/又はセンサ、すなわちIPパケットを生成しない機械及び/又はセンサの接続をサポートすることもできる。従って、装置は、IP、又はModbus、PROFINET又はIO-Link通信のような他のプロトコルを用いて機械及び/又はセンサに接続することができる。この特徴は、例えば、原子力発電所、風力発電所、石油精製所、天然ガス処理工場、化学処理工場及び製造業の生産ラインなどの、製造、化学、並びに発電、送電及び電力輸送のような幅広い産業設備における装置の展開を可能にする。
【0054】
本発明の第4の態様は、産業設備の少なくとも1つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるための装置に関する。装置は、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサを含む。装置は、別のクエリを解決するための第2の処理タスクをローカルに計算するように構成された第2のプロセッサをさらに含む。
【0055】
装置は、第1のプロセッサ及び第2のプロセッサを用いて第1のクエリ及び別のクエリをそれぞれローカルに解決することができ、すなわちプロセッサによって計算される第1のタスクも第2のタスクもパラレルコンピューティングにリンクされない。
【0056】
本発明の第4の態様の装置は、ネットワークを形成するように(他の)同様の装置に接続することもできる。これらの装置は、ネットワークを介してデータを交換するように構成することができる。ネットワークは、サーバを含むことができる。サーバ、及び装置の少なくとも一部は、コンピューティングクラスタを形成することができる。
【0057】
いくつかの実施形態では、第1の処理タスク及び/又は第2の処理タスクが、ネットワークの(サーバ又は同じ装置を含む)いずれかの装置から取得可能なデータを処理して、第1のクエリ及び/又は別のクエリを解決するためのデータセットを形成することを含む。すなわち、第1のプロセッサ及び第2のプロセッサは、いずれもネットワークのいずれかの装置から取得可能なデータを処理して、(パラレルコンピューティングにリンクされていない)クエリを解決するためのデータセットを形成するように構成される。
【0058】
装置は、少なくとも1つの機械又は機械の少なくとも1つの構成部品の動作に関連するクエリを解決することができ、この意味において、第1のクエリ及び別のクエリは、少なくとも1つの機械又は機械の少なくとも1つの構成部品の動作に関連することができる。
【0059】
本発明の第5の態様は、産業設備の少なくとも1つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるためのシステムに関する。システムは、複数の装置を含むネットワークを含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第5の態様による装置である。複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサと、別のクエリを解決するための第2の処理タスクをローカルに計算するように構成された第2のプロセッサとを含む(すなわち、第2の処理タスクは、パラレルコンピューティングにリンクされない)。
【0060】
本発明の第6の態様は、複数の機械と、複数の機械のうちの少なくとも1つの機械の動作を監視するための、又はこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるためのネットワークとを含む産業設備に関する。ネットワークは、複数の装置を含む。複数の装置のうちの少なくともいくつかの装置は、本発明の第4の態様による装置である。複数の装置のうちの少なくともいくつかの装置の各装置は、産業設備の機械に接続できるとともに、装置が接続できる機械から取得可能なデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するように構成された第1のプロセッサと、別のクエリを解決するための第2の処理タスクをローカルに計算するように構成された第2のプロセッサとを含む(すなわち、第2の処理タスクは、パラレルコンピューティングにリンクされない)。
【0061】
本発明のいくつかの実施形態では、装置の第2のプロセッサが、装置が接続できるネットワークとの間で自機の処理能力を共有して、第2のクエリを解決するための第3の処理タスクの少なくとも1つのスレッドがネットワークの別の装置(すなわち、サーバ)によって割り当てられた時に、このようなスレッドを計算するようにさらに構成される。これらの実施形態では、ネットワークが、複数の装置のうちの少なくともいくつかの装置を含むコンピュータクラスタを形成する。ネットワークは、コンピューティングクラスタを制御し、第3の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの1又は2以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに割り当てるように構成されたサーバをさらに含む。これに関連して、サーバは、コンピューティングクラスタを管理し、第3の処理タスクを複数のスレッドに分割し、複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに少なくとも1つのスレッドを割り当てて送信するように構成されたプロセッサを含む。
【0062】
本発明の第7の態様は、センサを有する1又は2以上の産業用機械を監視して制御するための装置であって、他の同様の装置に接続するための入力/出力ポートと、産業用機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを含むデータ取得ブロックと、少なくとも1つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第1のクエリを解決するための第1の処理タスクをリアルタイムで計算する第1のプロセッサと、装置が接続された、同様の装置で構成されたコンピューティングクラスタネットワークとの間で自機の処理能力を共有し、第2のクエリを解決するための第2の処理タスクの少なくとも1つのスレッドがネットワークの装置によって割り当てられた時に、このようなスレッドを計算する第2のプロセッサとを含む装置に関する。
【0063】
本発明のいくつかの実施形態では、第2のプロセッサが、第2のクエリを解決するための第2の処理タスクの解をネットワークの装置に送信する。
【0064】
本発明のいくつかの実施形態では、第1のプロセッサが、第1のクエリの解を第2のプロセッサに提供し、及び/又は第1のクエリの解から第1の命令を導出して第1のプロセッサの接続先の機械に提供する。
【0065】
本発明のいくつかの実施形態では、第1のプロセッサが、コンピューティングクラスタネットワーク又は第2のプロセッサから第2の命令をさらに受け取って第1のプロセッサの接続先の機械に提供する。
【0066】
本発明の第8の態様は、センサを有する1又は2以上の産業用機械を、複数の別個のコンピュータ装置を用いて監視して制御するためのシステムであって、コンピューティングクラスタを形成する複数の装置と通信するように接続されて装置の動作を制御するサーバを含み、このサーバが、少なくとも1つのメモリと、第2のクエリを解決するための第2の処理タスクをスレッドに分割し、第2の処理タスクの協調計算のために装置にスレッドを割り当てることによって第2のクエリを解決するための少なくとも1つのプロセッサとを有し、各装置が、他の同様の装置に接続するための入力/出力ポートと、機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを有するデータ取得ブロックと、少なくとも1つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第1のクエリを解決するための第1の処理タスクをリアルタイムで計算する第1のプロセッサと、自機の処理能力をコンピューティングクラスタネットワークと共有し、サーバによって割り当てられた少なくとも1つのスレッドを計算し、第2のクエリを解決するためのスレッドの解をサーバに送信する第2のプロセッサとを有するシステムに関する。
【0067】
本発明のいくつかの実施形態では、各装置の第1のプロセッサが、同じ装置の第2のプロセッサに第1のクエリの解を提供し、及び/又は第1のクエリの解から第1の命令を導出して第1のプロセッサの接続先の機械に提供する。
【0068】
本発明のいくつかの実施形態では、サーバの少なくとも1つのプロセッサが、第2のクエリの解から第2の命令を導出し、機械に接続された装置を介して機械に提供する。
【0069】
本発明のいくつかの実施形態では、サーバの少なくとも1つのプロセッサが、装置からスレッドの出力をさらに受け取り、出力を処理して第2の処理タスクを計算し、第2のクエリの解を提供する。
【0070】
本発明の第9の態様は、センサを有する1又は2以上の産業用機械を、複数の別個のコンピュータ装置を用いて監視して制御するためのシステムであって、コンピューティングクラスタを形成する複数の装置と通信するように接続されて装置の動作を制御するサーバを含み、このサーバが、少なくとも1つのメモリと、第2のクエリを解決するための第2の処理タスクをスレッドに分割し、第2の処理タスクの協調計算のために複数の装置のうちのいくつかの装置にスレッドを割り当てることによって第2のクエリを解決するための少なくとも1つのプロセッサとを有し、各装置が、他の同様の装置に接続するための入力/出力ポートと、機械に接続されて機械からマルチセンサデータを受け取るセンサインターフェイスを有するデータ取得ブロックと、少なくとも1つのメモリと、マルチセンサデータを受け取り、このデータを使用して、装置が接続された機械の動作に関連する第1のクエリを解決するための第1の処理タスクをリアルタイムで計算する第1のプロセッサと、自機の処理能力をコンピューティングクラスタネットワークと共有し、サーバによって割り当てられた少なくとも1つのスレッドを計算し、第2のクエリを解決するためのスレッドの解をサーバに送信する第2のプロセッサとを有するシステムに関する。
【0071】
本発明のいくつかの実施形態では、各装置の第1のプロセッサが、第1のクエリの解から第1の命令を導出して第1のプロセッサの接続先の機械に提供する。
【0072】
本発明のいくつかの実施形態では、サーバの少なくとも1つのプロセッサが、第2のクエリの解から第2の命令を導出し、機械に接続された装置を介して機械に提供する。
【0073】
本発明のいくつかの実施形態では、サーバの少なくとも1つのプロセッサが、装置から1又は2以上のスレッドの出力をさらに受け取り、出力を処理して第2の処理タスクを計算し、第2のクエリの解を提供する。
【0074】
本発明の第10の態様は、コンピューティングクラスタを形成するサーバと複数の装置とを含むネットワークを用いて産業設備の少なくとも1つの機械の動作を監視するための、或いはこのような動作を監視し、このような監視に基づいて少なくとも1つの機械を作動させるための方法であって、複数の装置のうちの少なくともいくつかの装置は産業設備の機械に接続することができ、少なくともいくつかの装置の各装置において、装置が接続できる機械からセンサデータを取得するステップと、少なくともいくつかの装置の各装置の第1のプロセッサにおいて、取得したデータを用いて、第1のクエリを解決するための第1の処理タスクをリアルタイムで計算するステップと、少なくともいくつかの装置の各装置において、第2のクエリを解決するための第2の処理タスクの少なくとも1つのスレッドがサーバによって割り当てられた時に、このような少なくとも1つのスレッドを受け取るステップと、少なくともいくつかの装置の各装置の、ネットワークとの間で自機の処理能力を共有するように構成された第2のプロセッサにおいて、受け取った少なくとも1つのスレッドを計算するステップと、サーバにおいて、コンピューティングクラスタを制御し、第2の処理タスクを複数のスレッドに分割し、複数のスレッドのうちの1又は2以上のスレッドを複数の装置のうちの少なくともいくつかの装置の第2のプロセッサに割り当てるステップとを含む方法に関する。
【0075】
本発明のいくつかの実施形態では、少なくともいくつかの装置が、複数の装置の各装置を含む。
【0076】
本発明のいくつかの実施形態では、第1の処理タスクを計算するステップが、データを前処理してデータセットを形成し、データセットから第1のクエリを解決するためのデータの一部を選択するステップ、又はデータを前処理して第1のクエリを解決するためのデータセットを形成するステップを含む。
【0077】
本発明のいくつかの実施形態では、方法が、第1のプロセッサにおいて、第1のクエリを解決した後に命令を導出し、命令を同じ装置の第2のプロセッサ、又は装置に接続できる機械に送信するステップをさらに含む。
【0078】
本発明のいくつかの実施形態では、方法が、第2のプロセッサにおいて、クエリを解決するための第3の処理タスクをローカルに計算するステップをさらに含む。本発明のいくつかの実施形態では、第3の処理タスクを計算するステップが、サーバ又は複数の装置のうちのいずれかの装置から取得可能なデータを処理して、クエリを解決するためのデータセットを形成するステップを含む。
【0079】
本発明のいくつかの実施形態では、方法が、サーバにおいて、複数の装置のうちの少なくともいくつかの装置から1又は2以上のスレッドの出力を受け取るステップと、出力を処理して第2の処理タスクを計算するステップと、第2のクエリの解を提供するステップとをさらに含む。
【0080】
本発明のいくつかの実施形態では、少なくともいくつかの装置の各装置が、装置が接続できる機械からのデータ取得を、少なくともいくつかの装置のうちの他の装置が実行する、他の装置の各々が接続できる機械からのデータ取得と同期して実行する。
【0081】
本発明のいくつかの実施形態では、方法が、ネットワーク装置を用いて、ネットワーク内のデータをネットワーク外のコンピュータ装置に送信するステップをさらに含む。
【0082】
さらに、本発明の第1、第2及び第3の態様について説明したものと同様の利点は、本発明の第4、第5及び第6の態様にも適用することができる。
【0083】
本発明の説明を完全なものにしてより良く理解できるようにするために一連の図面を提供する。これらの図面は、説明の不可欠な部分を形成して本発明の実施形態を示すものであり、本発明の範囲を限定するものではなく、本発明をいかにして実施できるかについてのほんの一例として解釈すべきである。図面は、以下の図を含む。
【図面の簡単な説明】
【0084】
【
図1】先行技術による、IoT及び/又はIIoTベースの産業用ネットワークにおけるデータ処理方法のパラダイムを示すピラミッド型モデルを示す図である。
【
図2】産業設備を監視する先行技術のアーキテクチャのスキームを示す図である。
【
図3】本発明の実施形態による、複数のノードによって形成されたシステムを概略的に示す図である。
【
図4】本発明の異なる実施形態による、それぞれのネットワークを形成するノードが接続された機械と、それぞれのネットワークとクラウド/フォグとの相互接続部とを含む、複数のノードによって形成されたシステムを概略的に示す図である。
【
図5】本発明の異なる実施形態による、それぞれのネットワークを形成するノードが接続された機械と、それぞれのネットワークとクラウド/フォグとの相互接続部とを含む、複数のノードによって形成されたシステムを概略的に示す図である。
【
図6A】本開示の装置が接続できる産業設備の機械のスキームを示す図である。
【
図6B】本開示の装置及びシステムが既存のクラウド/フォグ設備と連携して制御できる、企業の世界的産業インフラのスキームを示す図である。
【
図7A】本発明の実施形態による装置のインターフェイス及びプロセッサを概略的に示す図である。
【
図7B】このような装置の動作のために装置に提供できる複数の機能を概略的に示す図である。
【
図8】本発明の実施形態による装置がローカルに又は他の装置と並行して解決できるクエリを図式的に示す図である。
【
図9A】
図1のものと同様の、ただし本発明の実施形態によるシステムを用いてデータを処理する方法のパラダイムを示すピラミッド型モデルを示す図である。
【
図9B】リキッドコンピューティング、グランドコンピューティング、フォグコンピューティング及びクラウドコンピューティングを含む計算ピラミッドを示す図である。
【
図10】システムが産業設備の機械の動作をどのように監視できるかについての例を図式的に示す図である。
【
図11】システムが産業設備の機械の動作をどのように監視できるかについての別の例を図式的に示す図である。
【
図12】本発明の実施形態による装置及び/又はシステムを用いて動作を監視できる回転部品を示す図である。
【発明を実施するための形態】
【0085】
図3~
図5に、本発明による、産業設備の1又は2以上の機械の挙動、動作及び/又は性能を監視して分析し、最終的に1又は2以上の機械を作動させ、その挙動、動作及び/又は性能を予測し、このような挙動、動作及び/又は性能に対する反応を指示することに特に適することができる、ネットワークを形成するシステムの異なる実施形態を示す。
【0086】
このネットワークは、複数の装置と、ネットワーク及びその装置を制御するサーバとを含む。本開示によれば、これらの装置及びサーバは、ネットワークのノードとも呼ばれる。とりわけ、産業設備は、限定するわけではないが、自動車産業、海運業及び航空宇宙産業を含む運送業、航空管制産業、エネルギー産業、医療機器産業、サイバー防御産業及びその他の目的の製造業といった分野のうちの1つに属することができる。本開示の文脈では、産業設備の機械は、産業プロセスを実行するために使用されるあらゆる装置又は機械を意味する。
【0087】
図3では、システムが、コンピューティングクラスタとして構成されたサーバ10と複数の装置21~26とを含むネットワーク100を含む。各装置21~26は、後述するような第1のプロセッサ及び第2のプロセッサを有し、(インターフェイス又は入力/出力ポート29を介して)産業設備の機械(又はその構成部品)と、(インターフェイス又は入力/出力ポート28を介して)ネットワーク100などのネットワークとに接続することができる。図示のネットワーク100は、リングトポロジーで実装されているが、スタートポロジーなどの、コンピューティングクラスタ構成を可能にする他のあらゆるトポロジーも可能である。しかしながら、産業設備の性質に起因して、たとえ2つの隣接するノード間の通信リンクが不具合を起こした後でもネットワークが完全に動作できる状態を保つという理由でリングトポロジーの使用は非常に都合が良く、また同じ理由から、産業設備に新たな機械が加わると2つの隣接するノードが互いに切断されて間にさらなる装置を追加できるようになるので、このトポロジーではネットワークのケーブル敷設も容易である。同様に、このシステムには拡張性があり、その処理能力はネットワーク内の装置の数に依存するので、たとえ産業設備に新たな機械が組み込まれない場合でも、ネットワークに装置の形でさらなるノードを追加することが好都合となり得る。装置21~26は、リンク110によって相互接続されるので、サーバ10によって管理されるコンピューティングクラスタを形成する。後述するように、サーバ10は、高性能コンピューティングのために、計算すべきタスクのスレッドを少なくともいくつかの装置21~26に割り当てるように構成される。リンク110は、光ファイバを含むことが好ましい。サーバ10は、装置21~26のような装置を含むことも、或いは、例えば強化された又はより強力な処理リソースを有する異なる装置を含むこともできる。
【0088】
図4では、装置21~26の各々が、1又は2以上のインターフェイス29を介して(例えば、
図4に示すような)1又は2以上の機械121~125に接続することができる。装置と機械との間の接続は、直接接続又は間接接続(すなわち、イーサネット(登録商標)スイッチなどの相互接続装置を用いた)とすることができ、さらにこの接続は有線又は無線とすることができる。装置は、機械に接続することにより、例えばセンサ、及び/又は機械に作用できるPLC又はCNCなどの制御装置(すなわち、コントローラ)を通じて機械からマルチセンサデータを取得又は受信することができる。このような意味で、装置は、直接的又は間接的に機械に接続できるので、機械に接続されている時には、(例えば、構成部品のパラメータを調整するため、機械をオフにするためなどの)データを必要時に機械に送信することもできる。
【0089】
各機械は、(サンプルを含むものとして理解される)異なる量のデータを生成できるので、いくつかの実施形態では、機械が生成するデータの量に対処するために複数の装置を機械に接続できることが必要となり得る。このことを
図4及び
図5に示しており、これらの図では、それぞれのネットワーク101、102の装置25、26が機械125に接続される一方で、ネットワーク101、102の残りの装置21~24の各々が機械121~124のうちの1つにそれぞれ接続されている。装置21~26とネットワーク100、同様に装置21~27とそれぞれのネットワーク101、102は、ネットワーク100~102に関連する機械におけるあらゆる問い合わせ又は潜在的な/実際の誤動作に対する反応時間を短縮するように管理を行うので、ネットワーク100~102は、機械の障害が例えば大きな経済的損失をもたらし得る産業用途において特に有用である。
【0090】
図4及び
図5の実施形態に示すように、ネットワーク101、102は、クラウド及び/又はフォグ/エッジ150との通信を可能にするシステムのネットワーク装置200(例えば、イーサネット(登録商標)モデム/ルータ)を介してクラウド及び/又はフォグ/エッジ150に接続することができる。このようなクラウド及び/又はフォグとの接続は、
図3のシステムにおいて実装することもできる(本明細書には図示せず)。とりわけ、
図4では、サーバ11が通信リンク18を介して装置27に接続されるとともに、ネットワーク装置200にも接続される。装置27は、ネットワーク101の一部も形成する。従って、サーバ11は、ネットワーク101と、クラウド又はフォグ/エッジコンピューティングのためのネットワーク150などの、ネットワーク101の外部の他のネットワークとの接続を可能にするゲートウェイとしても機能する。
【0091】
或いは、
図5に示すように、サーバ12がネットワークインターフェイス19を含み、これを介して装置27に、従ってネットワーク102に接続することもできる。サーバ12の処理能力は、ネットワーク102の高性能コンピューティング機能に加わることができる。装置21~27のプロセッサ(例えば、装置の第2のプロセッサ)は、サーバ12によって実行される命令セットアーキテクチャとは異なる命令セットアーキテクチャを実行することができる。この場合、ネットワークインターフェイス19は、第1の命令セットアーキテクチャから第2の命令セットアーキテクチャに、及びこの逆に命令を変換するように構成することができる。サーバ12は、ネットワーク102がクラウド及び/又はフォグ/エッジ150と通信できるようにネットワーク装置200に接続される。
【0092】
図3~
図5に示す実施形態では、いずれもサーバ10、11、12がデータ記憶手段15を含むことができる。データ記憶手段15は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性記憶手段であることが好ましい。データ記憶手段15は、クエリ、タスク及びスレッドに関連するデータを含むあらゆるデータを記憶することができる。
【0093】
図6Aに、部品を機械加工する例示的な機械500の異なるユニット/サブシステムがどのように相関し、これらのサブシステム/ユニットにおいて生成されたデータ/サンプル/情報を共有するためにどのように装置に接続できるかについてのスキームを機能ブロックの形で示す。概説する機械500は、自動車産業の分野における典型的な機械であるが、同様の機能ブロックは、異なる分野における他の機械を表すこともできる。
【0094】
この例の機械500は、以下のユニット、サブシステム及び/又は構成部品で構成される。
【0095】
機械加工ユニット511:その機能は、加工工具が正確であって、要求性能(品質、生産率など)で加工作業を行うのに十分な力及びトルクを有することを保証することである。この目的のために、機械加工ユニット511は、空間内における工具の線形運動のためのX軸、Y軸及びZ軸、並びに工具の回転を制御するためのS軸という4つのサーボ制御軸を有する。各軸は、モータによって駆動されて(一般にPLC/CNCブロック516に含まれる)CNC581によって制御される。モータは、CNCバス501によってCNC581と通信し、モータの状態に関する大量の情報(消費電力、温度、命令軌道など)と、高精度で動きを制御する(各軸に1つの)センサ561~564(エンコーダ、温度センサなど)の読み取り値とを共有する。また、フィールドバス502に接続されたI/Oモジュール521が、さらなるセンサ531(加速度計、誘導スイッチ、圧力スイッチなど)のネットへの接続、及び機械加工ユニット511の他のアクチュエータ541(カウンタウェイトシリンダなど)への命令を可能にする。
【0096】
クランプユニット512:このユニット512は、機械加工される予定の部品をクランプする。このユニットは、部品を正確に配置して、機械加工において生じる切削力を吸収できなければならない。部品をクランプする機構が使用するアクチュエータは、センサ532(リミットスイッチ、アナログ位置制御スイッチなど)による命令及び制御を受けなければならない。センサ532及びアクチュエータ542は、フィールドバス502に接続されたI/Oモジュール522に接続される。
【0097】
油圧/空気圧ユニット513:機械500の機構の多くは、油圧シリンダ又は空気圧シリンダによって駆動される。このユニット513は、これらの機構に適した流れ及び圧力を提供する。いくつかのセンサ533(圧力、流量、温度、レベルなど)は、ソレノイドバルブ543が回路を管理している間にこの機能が正しく実行されているように制御する。センサ543及びバルブ543は、フィールドバス502に接続されたI/Oモジュール523に接続される。
【0098】
冷却ユニット514:冷却ユニット514は、冷却する必要がある機械500のシステムに冷却液を供給する。この機能が正しく実行されているように制御するいくつかのセンサ534が存在する。油圧ユニット513と同様に、いくつかのバルブ544が回路を管理する。センサ534及びバルブ544は、フィールドバス502に接続されたI/Oモジュール524に接続される。
【0099】
装荷/除荷ユニット515:このユニットは、機械500における加工すべき部品の装荷及び除荷を自動的に行うシステムである。この目的のために、ユニット515は、機械加工ユニット511のものと同様の、CNC581に接続された2つのサーボ制御軸565及び566を有する。これらの軸565~566は、ユニット515の動きを実行する必要がある。また、フィールドバス502に接続されたI/Oモジュール525が、さらなるセンサ535(誘導スイッチ、圧力スイッチなど)のネットへの接続、及び装荷/除荷ユニット515の他のアクチュエータ545(グリッパなど)への命令を可能にする。
【0100】
品質管理ユニット517:自動車産業におけるこれらの種類の生産ラインの高生産率を考慮すると、生産部品の品質が規格下にあるように制御することは必須である。この例では、この機能がカメラ583と測定用タッチプローブ584とによって実行され、これらはいずれもスイッチ570に接続される。
【0101】
ワットメータ518:このメータは、消費電力を最適化するために、機械500が電力消費の点でどのように機能しているかが分かるようにする。ワットメータ518は、別のスイッチ571に接続される。
【0102】
ヒューマンマシンインターフェイス(HMI)519:このインターフェイスは、ユーザが機械500と相互作用できるようにするインターフェイスを提供する。HMI519も、スイッチ571に接続される。
【0103】
スイッチ570は、フィールドバス502を入力部として有し、PLC/CNC516のPLC582に接続される。CNC581はPLC582にも接続され、PLC582はスイッチ571にも接続される。本開示において説明する装置は、例えばスイッチ571を介して
図6Aの機械500に接続することができ、すなわち機械500のデータを取得するためにスイッチ571に接続することができる。
【0104】
図6Aのスキームでは、スイッチ571が、このスイッチに接続できる装置とIP(インターネットプロトコル)を用いて通信することができ、データは、TCP(伝送制御プロトコル)などの信頼できる送信プロトコルを用いて転送することができ、この通信は、物理的接続又は無線によって確立することができる。別の実装では、装置が、その対応するインターフェイス/ポートを用いて機械のI/Oモジュールに直接接続することができる。この目的のために、装置は、物理的インターフェイスの接続を可能にするI/Oポートを備え、このポートは、例えば限定するわけではないがRJ-45のような異なる物理的インターフェイスの接続に適することができる。要するに、各装置(
図3~
図5の装置)は、センサに、及び/又は機械のコントローラ(例えば、PLC、CNCなど)などの他の処理及び通信手段のソースに直接的又は間接的に接続できるインターフェイスを通じて、機械の異なる要素又は構成部品に設けられた複数のセンサからデータ及び/又はサンプルを受け取る。センサの非限定的な例には、とりわけ温度センサ、振動センサ、圧力センサ、位置センサ、速度センサ、CCD及び/又はCMOSカメラ、マイクがある。I/Oモジュールを制御ユニットに接続又は相互接続する別の方法を実装することもできる。
【0105】
産業設備の機械には、1又は2以上の測定値が閾値を上回った時に警報を鳴らす警報システムを備えているものもあるが、これらのシステムは、機械、そのコントローラ及び/又はそのセンサによって出力されたデータを全て分析できるわけではなく、たとえ測定値が正常な動作に対応する間隔内にある時でも出力データが潜在的な不具合を示すことがある。従って、本開示において後程詳細に説明するように、例えば不具合を予想するために機械の動作をチェックしてこれに反応し、或いは機械の性能又は動作(例えば、不具合の可能性、効率又は生産性の低下、品質保証など)を予測するには、機械及びその関連装置(例えば、センサ、アクチュエータ、コントローラなど)によって提供されるデータについてのクエリを解決することが必要となり得る。
【0106】
図6Bを参照して、本開示の装置、ネットワーク及びシステムがどのように産業環境の制御を可能にして、産業環境を制御するという厳しい条件に対して正しい反応を行うことができるかについて説明する。また、ネットワークがどのようにフォグ/クラウドコンピューティングと共存し、その相乗効果を高めて利用するかについても説明する。
【0107】
図6Bには、企業の世界的産業インフラを分割できるレベルを概略的に示す。上位レベル2000には、最終的なクライアント又は企業を示す。この企業は、例えば自動車産業において活動することができる。企業管理2000は、
図6Bの第2のレベルに示す、世界中に広がる異なる工場2100、2200を有することができる。例えば、第1の工場はヨーロッパに位置し、第2の工場は米国に位置し、第3の工場はアジアに位置することができる。各工場は、第3のレベルを形成する複数の工業ラインで構成される。一例として、
図6Bには、第1の工場2100の3つのライン2110、2120及び2130と、第2の工場2200の1つのライン2210とを示す。第4の展開レベルは、各工業ラインの一部を形成する機械で構成される。例えば、
図6Bには、ライン2110に属する2つの機械2111及び2112を示す。これらの機械の一方は、例えば
図6Aに示す機械500とすることができる。
図6Aと同様に、ライン2110に属する2つの機械2111及び2112も複数の構成部品を含む。機械2111は、機械加工ユニット2111a、クランプユニット2111bなどを含む工作機械とすることができる。各構成部品は、さらに複数の要素を有することができ、例えば機械加工ユニットは、3つの軸(X軸、Y軸及びZ軸)及びスピンドルに沿って機械加工ユニットを動かすサーボモータを含むことができる。スピンドルは、モータ、前部軸受け及び後部軸受けなどの、制御すべき異なる下位要素をさらに含む。機械の多くの下位要素を制御するには、
図6Bに示す加速度計などのセンサを使用することができる。
図3~
図5に開示するような産業設備の挙動、動作及び/又は性能を分析するシステムは、例えば
図6Bに示す各ライン2110、2120、2130及び2210の動作を、例えば少なくとも1つの装置(
図7A及び
図7Bの装置20など)を各ラインの各機械に接続することによって制御するために使用することができる。
【0108】
ところで、
図6Bに概略的に示す事業を管理するには、異なるレベルの管理又は監視が伴う。企業経営の世界では、この管理が、企業全体又はその一部の運営及び/又は業績を反映する回答のためのクエリを提出することによって適用される。例えば、不具合を予想するために構成部品の挙動をチェックしてこれに反応し、或いは設備の性能(例えば、不具合の可能性、効率又は生産性の低下、品質保証など)を予測するには、機械及びその関連装置(例えば、センサ、アクチュエータ、コントローラなど)によって提供されるデータについての/からのクエリを解決することが必要となり得る。例えば、クエリは、機械の構成部品の動作又は状態、或いは機械の動作又は状態、さらには工業ライン又は設備全体の動作又は状態、或いは世界的な企業全体の発展に関連することができる。クエリは、ネットワークの装置又はサーバにおいて、或いは例えばクラウド/フォグ/エッジ内に位置するサーバなどの、装置によって形成されたネットワークの外部において定義することができ、後者の場合には、通信リンクを介してノード及びそのプロセッサにクエリを送信することができる。
【0109】
図8を参照して説明するように、クエリを解決するには、クエリに関連するタスクを計算しなければならない。換言すれば、タスクは、クエリに対する回答を提供するために必要な全ての処理を含み又は伴う。ある業界企業の異なるレベルを監視するためのいくつかの非限定的なクエリの例は以下の通りである。高速熱画像カメラを用いて処理過程を制御する熱処理では(このようなカメラは、例えば
図6Aに示す機械に含まれており、583として参照している)、「熱処理が開始されたか?」、「熱源が機能しているか?」、「必要な表面処理を取得するために温度分布が適しているか?」、「溶融温度に達するリスクのある表面が存在しないか?」、「温度分布が作業成果毎に一定であるか?」といった異なるクエリを提出することができる。玉軸受けを有する回転部品では、「転動体内輪通過周波数が最大限度未満であるか?」、「転動体損傷周波数の瞬間的加速度振幅はどれだけであるか?」、「玉軸受け部品の残存耐用年数はどれだけであるか?」、「玉軸受けが異常な劣化をしていないか?」、「玉軸受けを交換又は修理する必要があるか?」といった異なるクエリを提出することができる。前者のクエリは、機械又はその構成部品の動作に関するクエリである。
図7A及び
図7Bを参照しながら説明したように、これらのクエリは第1のクエリ及び第2のクエリとも呼ばれる。一例として、別の第2のクエリは、同じタイプの他の機械の動作と比べた機械の動作の判定とすることができる。すなわち、同じタイプの全ての機械の動作に従って、同じタイプの機械の中のあらゆるわずかな変動を含む正常な機能モデルを形成する。この結果、機械の状態を安定的に計算して正常モデルと比較することができる。
【0110】
ビジネス関連クエリなどの産業設備(すなわち、工業ライン、1つの工場、又は一群の工場)の知識(文脈的情報)に関するクエリなどの、高水準の抽象化を参照する他のクエリは、コンピューティングクラスタネットワークの外部で処理されるクエリである。これらのクエリは、クラウド及び/又はフォグ/エッジにおいて処理されることが好ましい。これらのクエリの非限定的な例は、「90%の全体的設備効率を保証するために何人の人材が産業設備に必要であるか?」、又は「全体的設備効率が90%の場合にこの産業設備がどれだけの部品を製造できるか?」である。通常、これらのクエリは、グランドコンピューティングレベル(すなわち、コンピューティングクラスタ内)で処理されるクエリの解を入力として有しており、この結果、フォグ/クラウド/エッジコンピューティングに送信されそこで処理されるデータ量は、グランドコンピューティング内で処理されるデータ量に対して減少する。グランドコンピューティングレベルについては、
図7A及び
図7Bを参照しながら詳細に説明する。
図7Aに、本発明の実施形態による装置20をブロック図形式で示す。装置20は、例えば、
図3に示す装置21~26のいずれか、又は
図4~
図5に示す装置21~27のいずれかとすることができる。
【0111】
装置20は、マルチセンサデータ取得ブロック60を含み、これを通じて機械(例えば、機械500)に接続することができる。マルチセンサデータ取得ブロック60は、データ取得ソフトウェア及びセンサインターフェイスを含む。換言すれば、マルチセンサデータ取得ブロックは、制御下の産業システム、産業設備又は産業インフラに属する機械の1又は2以上のポートとのインターフェイスとして機能する。このインターフェイスは、
図3及び
図4にポート29としても示しており、従ってポート29は、センサとのインターフェイスを直接的又は間接的に提供することができる。センサのいくつかの非限定的な例には、とりわけ温度センサ、振動センサ、画像取り込みセンサがある。
【0112】
機械とそれぞれの装置との間の接続は、有線又は無線とすることができ、装置は、機械を制御するためのコントローラ(例えば、PLC、CNC)、又は特定の機械に属する異なるセンサにおいて生じたデータを送信できるようにするフィールドバスに接続することができる。この接続は、直接的なもの(装置と機械との間の直接接続)とすることも、又は(例えば、階層的チェーンを介した)間接的なものとすることもできる。
【0113】
装置20は、リキッドコンピューティング71を実行するように構成された第1のプロセッサ61をさらに含む。とりわけ、リキッドコンピューティング71は、クエリを解決するための処理タスクを計算することに関連する。処理タスクの計算では、第1のプロセッサ61が、マルチセンサデータ取得ブロック60を通じて(機械から)取得したマルチセンサデータをリキッドコンピューティング71において処理し、この処理は、データの前処理及び/又はマルチセンサデータからの変数の選択を含むことができる。第1のプロセッサ61は、リキッドコンピューティング71を実行する際に、システムが機械の突然の異常挙動又は動作を検出してこれに反応できるように、データの処理及びクエリの解決(第1のクエリとも呼ばれる)をローカルにリアルタイムで実行する。
【0114】
いくつかの実施形態では、第1のプロセッサ61が、限定するわけではないが、FPGA(すなわち、フィールドプログラマブルゲートアレイ)などのフィールドプログラマブル集積回路などのプログラマブルハードウェア/電子機器を有する中央処理装置をさらに含むことができ、従って、フィールドプログラマブル集積回路又はSoC及びリキッドコンピューティング71を管理するリアルタイムオペレーティングシステムを実行するように構成される。これにより、1/1.5GHz~1/0.8GHzの、すなわち0.67ns(ナノ秒)~1.25nsなどの処理サイクル時間での第1のクエリに関連するタスクの計算が可能になる。従って、機械又はその構成部品の監視をリアルタイムで行うことができる。また、第1のプロセッサ61がフィールドプログラマブル集積回路を含む実施形態は、これらの回路がクエリの素早いプログラミング/再プログラミングを可能にするので、このような素早いプログラミング/再プログラミングが望ましい用途では特に有利である。
【0115】
例えば、再び
図6Bを参照すると、オペレータは、いずれかの工場2100、2200内のいずれかの機械又は構成部品に関するクエリをオフラインで遠隔的に再プログラムすることができる。換言すれば、第1のクエリ、第2のクエリ又は高抽象化レベルのクエリのいずれかのクエリは、ネットワーク100、101、102の装置20において定義することも、これらのネットワークのサーバ10、11、12において定義することも、或いはクラウド/フォグに位置するサーバなどの、装置によって形成されたネットワークの外部で定義することもできる。これにより、クラウド/フォグへのアクセスが利用可能である限り、あらゆる遠隔の物理的位置からクエリを遠隔的に再プログラムできるようになる。
【0116】
また、装置20は、グランドコンピューティング72を実行するように構成された第2のプロセッサ62も含む。第2のプロセッサ62は、グランドコンピューティング72を実行すると、装置20が、コンピューティングクラスタ構成の、すなわち(
図3~
図5のネットワーク100、101、102などの)HPC構成のネットワークの一部を形成した時に、
図8を参照して後述するような、クエリに関連するタスクが分割されたスレッドを解決することができる。従って、この場合、分散方式でタスクを計算することによってこれらのクエリに対する回答又は解を取得することができる。従って、装置20の第2のプロセッサ62は、同じネットワーク内の他の装置の第2のプロセッサと協働して(第2のクエリとも呼ばれる)クエリを解決する。第2のプロセッサは、グランドコンピューティング72を実行する際にスレッド(クエリに関連するタスクの一部)を解決するように意図される。スレッドは、ネットワークのサーバがネットワークの装置にわたって分散させる、解決すべきクエリに関連する並列化可能なタスク部分である。従って、第2のクエリは、並列化可能な性質のタスク、すなわちHPCを用いて解決されるタスクに関連するクエリである。装置20の第2のプロセッサ62は、ネットワークのサーバによって割り当てられたスレッドをローカルに解決する。また、第2のプロセッサ62は、HPCとは無関係なタスクを計算することもでき、すなわちネットワークの他の装置との協働を必要としないデータ処理を実行することもできる。
【0117】
図8に、クエリ1500を図式的に示す。本発明の実施形態による装置の第1のプロセッサ61又は第2のプロセッサ62は、クエリ1500を解決することによって、例えば産業設備の機械(又はその構成部品)の挙動、動作又は状態に関する情報を提供することができる。クエリ1500を解決するには、クエリ1500に関連するタスク1501を計算しなければならない。タスク1501は、クエリ1500を解決するために必要な全ての処理を含む。いくつかの例では、第1のプロセッサ61が、タスク1501をローカルに計算することによってクエリ1500を解決することができる。とりわけ、これらの例のいくつかでは、タスク1501が、データを処理することによってクエリ1500を解決することを含み、データの処理は、データを前処理し、及び/又は前処理された時点で特定のデータ変数を選択し、その後に前処理された時点で及び/又は特定の変数が選択された時点でデータを処理することを伴うことができる。いくつかの他の例では、クエリ1500が複数の装置によって、すなわち分散方式で解決される。従って、ネットワークの(例えば、
図3~
図5に示す)サーバは、HPCを実行するように、タスク1501を(例示のみを目的として破線矢印で示す)複数のスレッド1510a~1510nに分割することによって、これらのタスクの計算を並列化することができる。各スレッド1510a~1510nは、1又は2以上の装置の第2のプロセッサが計算できるようにこれらの装置に送信することができる。次に、クエリ1500を解決するように、全てのスレッド1510a~1510nを計算することによってタスク1501を計算することができる。さらに、いくつかの例では、全てのスレッド1510a~1510nが計算されると、クエリ1500を解決するために、クエリ1500を解決する前にタスク1501の結果をさらに処理することが必要な場合もある。タスクをスレッドに分割することにより、タスクを解決するための時間は、グランドコンピューティング72の実行に利用できる装置の数(及びその第2のプロセッサの処理能力)に応じて大幅に又はわずかに短縮することができる。
【0118】
グランドコンピューティング72では、装置20の第2のプロセッサ62が、ネットワーク接続性ブロック63を通じてネットワークのいずれかの装置又はサーバ自体から、及び/又は同じ装置の第1のプロセッサ61から取得されたあらゆるデータ又は情報を使用することができる。グランドコンピューティング72において使用すべきデータ又は情報を他の装置又はサーバから取得する場合、ネットワークがリングトポロジーを有している時には、隣接する2つのノードの一方から(又は両ノードから、この場合、1つのパケットの組は廃棄される)装置20にパケットが到着するが、このことは、隣接するノード間の通信にシステムが限定されていることを意味するものではなく、これらのノードは、宛先ノードに到着するまでノードからノードに進むようにパケットを再送信する。
【0119】
ネットワーク接続性ブロック63は、装置20がネットワークに接続できるようにする1又は2以上のインターフェイスを含む。ネットワークがリングトポロジーを特徴とする好ましい実施形態では、ネットワーク接続性ブロック63が少なくとも2つのインターフェイスを含み、好ましくは3ポートスイッチなどのフレーム転送のための低遅延ネットワークスイッチを含み、これらのポートのうちの2つがリング接続に専念し、1つがマルチセンサデータ取得ブロック60と通信するためのイーサネット(登録商標)内部ポートに専念する。
【0120】
図7Bに、本発明の実施形態における、装置20に提供される複数の機能をブロック図で示す。装置20は、リキッドコンピューティング71に専念する、すなわちローカルにデータを処理し、処理したデータを用いてタスクを解決する(例えば、第1のクエリに反応する)こと(81)に専念する第1の部分(
図7Bに例示のみを目的として示す装置20の下半分)と、グランドコンピューティング72に専念する第2の部分(
図7Bに例示のみを目的として示す装置20の上半分)という2つの部分に階層的に編成される。
【0121】
装置20は、その下半分については、接続できる1又は2以上の機械からデータを取得する。データ取得(80)段階の後には、装置20の第1のプロセッサ61がデータを処理する(81)。データ処理81は、マルチセンサデータを処理して元々のデータよりも小さなサイズの第1のデータセットを形成する前処理を含むことができる。この段階で実行される前処理の例としては、例えば無意味なデータ(すなわち、センサの動作範囲外のデータ)の削除、データ収集精度の規定(例えば、切り捨てた小数を無視できる場合、数値データ型の変数を低ビットの別のデータ型に変換するように小数を切り捨てること)、データ変換(例えば、平均値、中央値、標準偏差、エントロピ、例えば高速フーリエ変換を用いた時間領域から周波数領域への変換などの領域変更を計算すること)、及びデータ送信帯域幅節約のためのトレーニング済み変数選択モデルの適用(例えば、高解像度デジタル画像の関心点又は関心画素の選択、又はデジタル画像からの背景情報の抽出)を挙げることができる。処理すべきまま残っているデータの量が減少することにより、全体的なさらなる計算及び消費電力が最小化される。データ処理81は、変数の選択を含むこともできる。従って、装置20の第1のプロセッサ61は、クエリを解決するために実行すべきさらなる処理に従って、冗長な又は重要度の低い変数の数を低減するように(例えば、前処理段階で生成された)第1のデータセットから変数を選択できる一方で、他のいくつかの変数は、第1の1又は複数のクエリにとって(又は、例えば他の第1の1又は複数のクエリを解決する目的、これらのクエリを必要とし得るコンピューティングクラスタネットワーク内の他の装置と共有する目的、フォグ/クラウドコンピューティングの目的、及び/又はロギング目的などの他の目的で)意味のある情報を含むことができる。変数の選択は、後で行われる計算内における過剰適合の低減を助長又は可能にする。なお、いくつかの実施形態では、単一の装置が何百個ものセンサからデータを受け取って高スループットを招くことがあり、またクエリの解決にはこれらの処理される大量のデータからの一部のデータで十分な場合もあり、従って変数の選択により、タスク計算の結果に影響を与えることなく、すなわち計算中のタスクに関連するクエリの解を偏らせることなく、タスク計算に使用されるデータの量を削減することができる。換言すれば、変数選択段階は、タスクの計算負荷を低減することによって効率を高めることができる。ある変数選択の例は、ほんのわずかな画素のみが前処理段階で抽出された何千個もの画素を含むデジタル画像を参照することができ、決定されたタスクを計算するには、既に抽出されているわずかな画素のうちの一部の画素と、この特定のデジタル画像とは異なる変数とで十分と考えられるため、変数選択段階ではこれらの一部の画素が選択される。別の例は、装置内の決定された構成部品の、ローカルデータ処理81が周波数スペクトルを生成できる振動を参照することができ、このスペクトルの一部を、有用な情報を含んでいないという理由で破棄することができる。この時、変数選択は、リキッドコンピューティング71のデータ処理81においていくつかのクエリを解決することに関連する残りのスペクトル部分の特定の値のみを抽出することができる。
【0122】
第1のプロセッサ61は、変数選択段階の後に取得されたデータセットを用いて(第1のクエリに関連する)タスクを解決する。このタスクは、前処理及び変数の選択を適用することによって元々のデータセットを低減できているので(第1のプロセッサ61において)ローカルに解決することができる。従って、第1のプロセッサ61は、少ない量のデータを用いて動作し、このデータを用いてタスクを計算し、利用できる計算能力の一部又は全部を用いて計算を実行することができる。
【0123】
装置20の上半分は、グランドコンピューティング72に専念する。グランドコンピューティング72では、装置20が、高処理能力を必要とするクエリ(第2のクエリ)、すなわち計算するのに高処理能力が必要なタスクに関連するクエリが関連する並列化可能なタスクのスレッドによって複数の装置間に分散している時に、これらのクエリをさらに高速に解決できるようにHPC93を実行する。第2のプロセッサ62は、ローカルデータ処理91、すなわちネットワークの装置の他の第2のプロセッサとの協働を必要としないデータ処理を実行することによって、HPCとは無関係なタスクを計算することもできる。この処理91は、前処理及び/又は変数選択を含むことができる。
【0124】
たとえ第2のプロセッサ62がコンピューティングクラスタ構成で動作するように構成されているとしても、並列化可能なタスク(クエリへの回答のために計算すべき計算作業を表すタスク)のスレッドを解決するための第2のプロセッサ62の動作方法は第1のプロセッサ61の動作に類似することができる。第2のプロセッサ62は、装置20自体又はネットワークから取得したデータ(一般にリキッドコンピューティング部分において取得したデータとは異なるデータ)を処理することができる。
【0125】
第2のプロセッサ62は、HPCモードでの動作時には、サーバから計算するように要求されたスレッドの解を提供する。一般に、スレッドの出力はネットワークのサーバに送信され、ネットワーク内で(すなわち、ネットワークの他の装置から)生成された全ての異なる出力がここで収集されてタスクに統合される。クエリを解決するには、(サーバ自体が、又はサーバによって割り当てられた装置が)全てのスレッドを計算することによってタスクを計算することができる。いくつかの例では、タスクが計算されると、クエリへの回答を提供するために、クエリの解決前にタスクの結果をさらに処理することが必要になる場合もある。データ通信ブロック94は、第2のプロセッサ62が、決定論的データ伝送プロトコル(このプロトコルは、非合法的にネットワークにアクセスできた団体よって変更されることなくデータが宛先に届くことを保証しなければならない時に特に好都合となり得る。このようなプロトコルの例には、Data Distribution Service(DDS) for Real-time Systems及びTime Sensitive Network(TSN)がある)、又は非決定論的データ伝送プロトコル(このプロトコルは、利用可能な空き帯域幅が存在しない場合には通信チャネルにアクセスしないので、例えばロギング目的又は非緊急動作などの、送信すべきデータが重要でない時に特に好都合となり得る。このようなプロトコルの例には、Open Platform Communications Unified Architecture)(OPC-UA)がある)のいずれかを用いてスレッドの解及び/又はその他のデータを送信できるとともに、同様に接続可能なネットワークから決定論的データ伝送プロトコル又は非決定論的データ伝送プロトコルのいずれかを用いて送信されたデータを受け取ることができることを表す。この通信は、第2のプロセッサ62、及び/又はネットワークへの接続手段が管理することができる。
【0126】
図3~
図5又は
図7Aには示していないが、装置20は、第2のプロセッサ62がアクセスできるデータ記憶手段(図示せず)をさらに含むことができる。データ記憶手段は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性記憶手段であることが好ましい。データ記憶手段は、装置20が受け取ることができるデータ(例えば、サンプル、スレッドの解、タスクの解、クエリ及びクエリの解など)を記憶することができ、第2のプロセッサ62は、スレッド、タスク及び/又はクエリを解決するためにこれを処理及び/又は使用することができる。データ記憶手段は、通信チャネルが利用可能な帯域幅を有した時点で第2のプロセッサ62がネットワーク100、101、102の別の装置及び/又はサーバ10、11、12に送信できるようにデータ(例えば、サンプル、スレッドの解、タスクの解、クエリ及びクエリの解など)を記憶又はバッファリングすることにより、帯域幅全体が使用中であるという理由で装置20が送信を行えない時にデータを失わないようにすることもできる。装置20は、第1及び第2のプロセッサ61、62間でデータ又はタスクの解を転送できるようにするRAM(ランダムアクセスメモリ)などの揮発性記憶手段を含むこともできる。装置20の第1のプロセッサ61は、この揮発性記憶手段との間でデータの記憶及びデータの読み出しを行うことができ、一例として、前処理する前のセンサデータをバッファリングするとともに、前処理済みデータ及び/又は処理タスクの計算から得られたデータを装置の第2のプロセッサ又はネットワークのいずれかに送信する前にバッファリングすることもできる。
【0127】
引き続き
図7Bを参照すると、装置20の上半部には、ネットワーク外部からのハッキング攻撃を防ぐとともに、無許可の人物又は団体によってデータパケットが取り込まれた場合に、ネットワークを横切って転送されるあらゆるデータがこのような人物又は団体によって読み取られるのを防ぐためのサイバーセキュリティ機構(図示せず)を設けることもできる。従って、装置20は、装置20との通信を確立するために必要な権限又は許可を有していないと思われるネットワーク外部からのあらゆる通信を遮断することを目的とする、ソフトウェアで実装できるファイアウォールを含むことができ、このファイアウォールは、第2のプロセッサ62において動作することができる。また、さらなるセキュリティレイヤを提供するように装置20に実装できる別のサイバーセキュリティ機構には、ネットワークとの間で送受信すべきデータパケット内のデータの暗号化及び解読がある。
【0128】
装置20は、ネットワークの各装置が同じ時点でデータを取得できるように、例えばPrecision Time Protocol(PTP)を使用する装置同期90のための機構をさらに含む。
【0129】
これらの2つのコンピューティングレベル(第1のプロセッサ61におけるリキッドコンピューティング、及び第2のプロセッサ62におけるグランドコンピューティング)は、例えば
図6Bに図式化するような異なる態様又はレベルの業界企業に関与するクエリなどの異なるタイプのクエリの回答を提供するために、クラウド/フォグ/エッジコンピューティングのような他の既存のコンピューティングパラダイムと共存することができる。装置20又は装置20を含むネットワークによって解決すべきクエリは、産業設備の状態及び性能をモニタする、すなわち産業設備内の機械の正しい動作を制御するオペレータが定義することができる。これらのクエリは、装置20において、サーバ10、11、12において、又はネットワーク100、101、102を含むシステム以外の、例えばクラウド/フォグ/エッジにおいて定義することができる。部品を機械加工するための機械に関連する割と単純なクエリの例としては、軸受けが受ける振動が(例えば、周波数及び/又は振幅に関して)正常又は適切と見なされる特定の範囲内にあるかどうかをチェックすることが考えられる。このクエリは、装置の第1のプロセッサにおいてリアルタイムで解決されることが好ましい。この種の情報は、例えばこのような軸受けに連結された加速度計などの、動作中の軸受けを検知するセンサからのみ抽出することができる。さらに複雑なクエリの例としては、ロボットアームの全ての機構が予想通りに機能しているかどうか、及びこれらの機構の1つ1つの残存耐用年数が少なくとも2週間であるかどうかをチェックすることが考えられる。この場合、この機構に関連するセンサは最大で数十個又は数百個存在することができ、そのセンサデータ及び/又はサンプルは、データが正しく処理されて組み合わせられた場合にのみクエリに対する回答を提供することができる。このクエリは、リアルタイムで解決する必要はなく、複数の装置の第2のプロセッサの処理能力(すなわち、HPC)を必要とし得る。この意味において、データ収集は、構成部品又は機械に生じるあらゆる問題をデータによって識別して解決できるように同期的に実行されて同じタイムスタンプを提供する必要がある(異なる時点でデータが取得された場合、問題の原因を追跡することが不可能になることもある)が、これは全てのセンサが同じ速度でデータを生成しなければならないということではなく、センサは、特定の時点に対応するセンサデータをその処理のために識別できる限り、振幅の時間的発展に応じてそれよりも高い又は低い周波数で検知を行うことができる(例えば、室温は毎秒大幅に変化するものではないと予想されるのに対し、レーザーの出力は1秒で何度も大きく変化することがある)。
【0130】
センサは非常に様々な性質を有することができ、例えば外気温センサは毎秒数バイトの速度でデータを出力できるのに対し、軸受け内の加速度計は毎秒数キロバイトの速度(例えば、20~30kB/s)でデータを出力することができ、或いはデジタルカメラは毎秒数メガバイトの速度でデータを出力することができる。これらのデータは素早く加算され、単一の装置の総スループットが毎秒ほぼ数十メガバイト程度の単位になり得ることは明らかである。タスクを計算することによってクエリを解決するには、まずデータを処理してタスクの解を抽出しなければならない。
【0131】
一例として、仮に工作機械の単一のスピンドルをモニタする場合、スピンドルをモニタするためのデータは、軸、軸受け、ケージ及び軌道の各々の振動などの、20キロヘルツで検知できる変数と、スピンドルの電力、トルク、温度及び角速度などの、例えば10ヘルツで検知されるデータである変数とを含むことができる。これらのデータを全て集約すると、スループットは毎秒0.5メガバイトになり得る。これらのデータに関連するクエリの解を産業設備の外部(すなわち、クラウド又はフォグ内)で提供するのに掛かり得る時間は、通信チャネルが十分な帯域幅を有する場合にはほぼ数秒又は数分程度と考えられ、待ち時間が短い上に直ぐに利用できる十分なコンピューティングリソースが存在する。さらに、データが転送されてフォグ/エッジ又はクラウドのいずれかで処理されている間には、スピンドルの挙動が既に変化している可能性があるため、同じセンサ及びコントローラによってさらなるデータが生成され、これらも分析すべきである点を考慮しなければならない。装置の第1のプロセッサ(リキッドレイヤ)は、関連するデータを取得して、例えば高速フーリエ変換(FFT)を実行することができる。この時、例えば(FFTに含まれる)関心周波数の振幅が閾値を上回っていれば、さらなる対応のために監視システムに警報が送信される。
【0132】
上述したように、2つのコンピューティングレベル(第1プロセッサ61におけるリキッドコンピューティング、及び第2プロセッサ62におけるグランドコンピューティング)は、クラウド/フォグ/エッジコンピューティングのような他の既存のコンピューティングパラダイムと共存することができる。例えば、各機械の瞬間的消費電力を分析することによって設備全体の改善を計画することができる。このクエリはビジネス界に属し、通常はクラウド/フォグ/エッジで処理される。この種の別の例示的なクエリは、「90%の全体的設備効率を保証するために何人の人材が産業設備に必要であるか?」である。
【0133】
例えば、
図3~
図5の実施形態に示すように新たな装置(装置20などの)がネットワークに組み込まれる度に、これらの新たな装置によって収集されたマルチセンサデータがネットワークに追加されることにより、ネットワーク内における処理/計算リソースの需要が高まる可能性がある。一方で、新たな装置の第1及び第2のプロセッサが、特にHPCの分散処理に加わるという理由で第2のプロセッサがネットワークに組み込まれることにより、ネットワークの処理/計算リソースも同時に増加する。ネットワークのサーバは、特定のタスク又はタスクの一部(すなわち、スレッド)を解決する負荷及び進展の観点からネットワークの各装置の状態をモニタする。サーバは、これを行うために、例えばMPI(メッセージパッシングインターフェース:Message Passing Interface)などのメッセージパッシングプロトコルを用いて装置と通信する。ネットワークは、ネットワークに新たな装置が追加されることによる量的拡張を可能にするように構成することができ、サーバは、この新たな装置に新規の又は既存の処理タスクを割り当てるように構成することができる。例えば、新たな装置の接続時に同期処理を実行して、ネットワーク内の全ての装置の第2のプロセッサの処理を同期させることができる。分散処理(HPC)は、ネットワークの同期要件を維持しながら実行される。従って、複数の装置にわたって作業負荷が分散する。
【0134】
ネットワーク100、101、102の装置の第1のプロセッサは、機械121~125から受け取った全てのデータを処理してタスクを計算するように同期的に動作するのに対し、各装置に含まれる第2のプロセッサは、コンピューティングクラスタ内の対応する装置の第2のプロセッサがタスク又はタスクの分割先であるスレッドを計算している時に、これらの第2のプロセッサに対して同期的又は非同期的に動作することができる。
【0135】
ネットワーク100、101、102の装置及びサーバは、正しい分散コンピューティングを可能にする異なるプロトコル及び処理を実行するように構成することができる。装置の第2のプロセッサは、メッセージパッシング通信プロトコル(例えば、MPI)を介して他の装置及びその第2のプロセッサと通信することができ、装置及びサーバは、分散コンピューティングを実行するようにこの種のプロトコルを用いてメッセージを送受信する。メッセージパッシングプロトコルは、非同期的な異種パラレルコンピューティングを対象とすることができる、すなわち異なる性質のプロセッサ(例えば、中央処理装置の1又は複数のコア、並列構成の1又は複数のグラフィック処理装置、フィールドプログラマブル集積回路など)によってスレッドを非同期的に解決することをサポートするフレームワーク又はプログラミングモデルを対象とすることができるフレームワーク内又はプログラミングモデル内で使用することができる。
【0136】
サーバ10、11、12は、コンピューティングクラスタ内でHPCを管理する。具体的には、これらのサーバは、高性能コンピューティングのために、並行して解決すべきタスクを分割してタスクの複数のスレッドを形成する。また、これらのサーバは、このようなタスクの一部(スレッド)をHPCのためにいくつかの装置に送信し、各装置の負荷状態も分かっているので、タスクのスレッドを計算するのに十分な未使用の処理能力を有する選択されたネットワークの装置にこれらのスレッドを送信することができる。サーバ10、11、12は、対応する装置からスレッドの解を受け取り、これらを再構築してタスクを計算し、最終的にクエリに対する回答を提供する。
【0137】
サーバ内のクラスタワークロードマネージャは、解決すべきスレッドと、各装置の(利用可能な)処理能力に関する情報と、場合によってはタスクを分散方式で解決することを求める装置からの要求とを一元管理することによって、ネットワーク100、101、102にわたってスレッドを分散させる。クラスタワークロードマネージャは、装置の状態に基づいて、(スレッドの解決にはネットワークの装置の一部しか使用できないため、ネットワークのほんのいくつかの装置又はネットワークの全ての装置とすることができる)各装置にどのスレッドを割り当てるかを決定し、その後にメッセージパッシングプロトコルを用いてスレッドを送信する。この点に関し、モニタリングモジュール又はライブラリは、各装置の作業負荷及びHPCに利用可能な関連する容量を動的に決定することができる。別のモジュール又はライブラリ(例えば、動的負荷分散又はDLB)は、決定処理において使用される(装置の第2のプロセッサの)アクティブなスレッドの数を調整することによって装置の負荷のバランスを動的に調整することができる。サーバ10、11、12は、HPCに関与する異なるモジュール及びプロセス間の協働によってネットワーク100、101、102及びその装置の状態がどうであるかが常に分かることにより、例えばクラスタワークロードマネージャは、クエリを解決するためのタスクを解決しなければならなかったり、又は新たな緊急のクエリが宣言されたりして緊急性が変化した際に各装置の動作を調整できるようになり、これによって特定のクエリの解決を高速化することができる。
【0138】
第1のプロセッサ61及び第2のプロセッサ62は、一般にランダムアクセスメモリ(RAM)を通じてデータを共有するように通信可能に結合される。共有すべきデータは、タスクの出力(例えば、第1のプロセッサ61によって解決されたタスクの出力は、第2のプロセッサ62に送信することができる)、処理済みのマルチセンサデータ(例えば、第1のプロセッサ61は、HPCを実行するために第2のプロセッサ62に送信されるさらに小さなデータセットを形成するようにマルチセンサデータを処理することができる)、機械のための命令、及び/又はロギング目的で機械に提出される命令に関するデータなどとすることができる。
【0139】
図9A及び
図9Bに、本発明による装置及びシステムを用いてデータを処理する方法のパラダイムを示すピラミッド型モデル600及び610を示す。
【0140】
システムのネットワーク内に制約されるローカル計算レベルは、従来のピラミッド190の従来のセンサ、PLCレイヤ及びSCADAレイヤに関連して共に
図9Aに概略的に示す上述したグランドレイヤ及びリキッドレイヤを含む。新たな装置及びシステムは、ネットワークに関連するシステム内のあらゆる問い合わせ、必要性又は潜在的な/実際の誤動作に対する反応時間を短縮することができる。このため、これらの装置及びシステムは、とりわけこの態様が重要となる産業設備に適用することができる。また、データがコンピューティングクラスタ(グランドレイヤ及びリキッドレイヤ)内でローカルに処理されるので、エッジ/フォグ/クラウドコンピュータ装置に配信されるデータの量を低減することができる。実際に、エッジ/フォグ/クラウドコンピューティングに配信されるデータは、主に設備のビジネス/知識に関連する情報まで減少させるべきである。さらに、コンピューティングクラスタとして機能する装置は、コンピューティングクラスタの計算能力を最適化するために自機の性能のバランス調整を可能にする。最後に、ネットワークに新たな装置が追加されるにも関わらずネットワークの処理/計算能力が高まる。
【0141】
次に、フォグ/クラウドコンピューティングに配信されるデータの処理時間の効率性及び短縮の両方の観点から本発明の実施形態によるシステムの利点を示すためにいくつかの例を説明する。
【0142】
図10に、開示するシステムを用いた産業設備の機械の動作制御例を示す。サーバ910に加え、複数の装置によって形成されるネットワークの3つの装置921、922、923を示している。機械内でレーザーによって適用される熱処理をモニタするために、高速熱画像カメラ901を使用する。装置921は、このカメラ901からのデータを収集する。カメラ901は、フレーム当たり1024画素の解像度を有し、すなわちこのカメラは1024個の変数を含む(1画素が1変数に相当する)。各変数は、10ビットのワード長を有する。サンプリングレートは、毎秒1000フレーム(1kHz)である。従って、このカメラは、1280000バイト/s(1.28MB/s、すなわち毎秒1.28メガバイト)の速度でデータを生成する。
【0143】
機械において適用される処理に関連して、例えば「熱処理が開始されたか?(又は同様に、熱源が(レーザー)機能しているか?)」などの第1のクエリを要求することができる。このクエリを解決するために、このクエリに関連する、このクエリに基づくタスクを生成する。このタスクを計算することで、クエリに対する回答が提供される。この場合、計算すべきタスクは、関心領域(ROI)の取得及びその処理である。
【0144】
従って、カメラ901から1.28MB/sの速度で取得されたデータを、装置921の第1のプロセッサ921aに送信し、そこで関心領域(ROI)アルゴリズムを適用して各フレーム画像から背景画素を除去し、情報を含む画素のみと連動することによってこのタスクを計算する。特定の例では、ROIが70%よりもわずかに大きく、911,000バイト/s(911Kバイト/s)に対応するフレーム当たり729画素が選択される。
図10には、ROIアルゴリズムの適用後に取得される関心領域の例を示す。ROIが適切なサイズを有する場合には、熱処理が開始されたと結論付ける(すなわち、第1のクエリに対する回答を行う)ことができる。次に、第1のプロセッサ921aにおいて、ROIに由来するデータを用いて、この例では729×729の寸法のマトリクスである、所与のデータ構造に従う隣接画素を画素毎に定める接続性マトリクスを生成する。この接続性マトリクスの計算結果から66.4kB/sの出力がもたらされ、これを911kB/sに加えた結果、977.4kB/sがリキッドコンピューティング(第1のプロセッサ921a)の出力になる。この接続性マトリクスは、画素の空間構造を検出するのに有用である。換言すれば、ROIの結果は、リキッドコンピューティングにおいてさらに処理される。
【0145】
これに加えて第2のクエリを構築することができる。第2のクエリは、例えば「必要な表面処理を取得するために温度分布が適しているか?」、「溶融温度に達するリスクのある表面が存在しないか?」、又は「温度分布が作業成果毎に一定であるか?」である。このクエリを解決するために、このクエリに関連する、このクエリに基づくタスクを生成する。このタスクを計算することで、クエリに対する回答が提供される。この場合、計算すべきタスクは、表面の温度分布の取得である。このタスクを解決することは、カメラ901によって1000フレーム/sの速度で取り込まれたフレームを分析することを意味する。
【0146】
この処理を実行するために、ROI及び接続性マトリクスを、第1のタスクが計算された装置921の第2のプロセッサ921bの一時メモリバッファ921cに送信する。バッファ921cに記憶されたデータは、サーバ910に送信される。次に、サーバ910は、対応する装置921、922、923の異なる第2のプロセッサ921b、922b、923bに送信されるように(スケジューラ910aにおいて)タスクをスレッドに分割する。具体的に言えば、各スレッドは、異なる画像フレームに関連するデータを処理するアルゴリズムを実行する。各スレッドは、取得されたROIと、接続性マトリックスに起因する時間及び空間(時空間)とに関して共通の特性を有する画像フレームの画素に対して凝集クラスタリングアルゴリズムを実行することができる。サーバ910は、複数の装置921、922、923に、とりわけ装置の第2のプロセッサ921b、922b、923bにスレッドを割り当てる。換言すれば、カメラからの大量のデータ(1000フレーム/秒)に対処できるようにタスクを並列化する。従って、第2のプロセッサ921b、922b、923bは、異なる画像フレームを処理する。
【0147】
各スレッドの結果は、各クラスタリングされたフレームの中央温度、最低温度及び最高温度、並びに標準偏差である。この特定の例では、クラスタの数が9である。出力データ送信は、144kB/s(144000バイト/秒)である。これらのデータ(全てのスレッドの解)は、熱処理過程サイクル時間に従って値を一般化するためにサーバに(スケジューラ910bに)送信される。サーバ910は、この集合体を装置921の第2のプロセッサ921bに割り当る。タスクによってもたらされる表面の温度分布は、第2のクエリに対する回答を与える。
【0148】
図11に、開示するシステムを用いた産業設備の機械の別の動作制御例を示す。サーバ910に加え、複数の装置によって形成されるネットワークの3つの装置921、922、923を示している。回転部品130の状態モニタリングを実行するために、1つの加速度計1201を使用する。
【0149】
図12に、回転部品130の2つのビューを(左側に側面図を、右側に3Dの断面図を)示す。加速度計1201は、24ビットのワード長を有する。最大でも10kHzの現象をモニタするために、サンプリングレートは30kHzである。従って、加速度計1201は、90kB/s(90000バイト/秒)の速度でデータを生成する。加速度計1201からは、装置921の第1のプロセッサ921aにデータが送信され、そこで高速フーリエ変換(FFT)を適用して時間領域から周波数領域に移行させる。この変換によって送信されるデータの量を半減させ、45kB/s(45000バイト/秒)にする。FFTから、
図12(右側)に示すような保持器周波数FTF、転動体内輪通過周波数BPFI、転動体外輪通過周波数BPFO、転動体損傷周波数BSP及び軸回転周波数SPFといった玉軸受けからの関心周波数を選択する。これらの周波数を用いて、例えば「転動体内輪通過周波数が最大限度未満であるか?」、「転動体損傷周波数の瞬間的加速度振幅はどれだけであるか?」などの第1のクエリを求めることができる。
【0150】
次に、5つの各関心周波数の振幅を装置921の第2のプロセッサ921bの一時メモリバッファ921cに送信する。5つの周波数及びその対応する振幅は、それぞれが4バイトを必要とする10個の変数を示唆する。この例では、毎秒2回のFFTが行われるため、リキッド段階の出力は80B/sでデータを提供する。バッファ921cに記憶されたデータはサーバ910に(スケジューラ910aに)送信され、サーバ910はそれぞれの装置921、922、923の他の第2のプロセッサ921b、922b、923bにスレッドを割り当てる。この場合、並列化が必要な理由は、(
図10に示す例のカメラによって収集されるデータのように)処理すべきデータ量が多いからではなく、逆に(局所的最小値をもたらし得るランダム点からアルゴリズムが開始するという理由で)局所的最小値に落ち込むのを防ぐためにk平均クラスタリングアルゴリズムを複数回初期化する必要があるからである。従って、この場合、他の第2のプロセッサに送信される各スレッドは、k平均クラスタリングアルゴリズムを実行して、時間的に共通の特性を有する振幅をグループ化することを含む。従って、後で最良の結果(最も離れた重心)を選択するために、同じ入力データ(バッファ921cに記憶された履歴データ)を用いてアルゴリズムを複数回(スレッド毎に1回)初期化する。各スレッドの結果は、各クラスタの重心(周波数当たり1つの5つの変数)と1つの直径(すなわち、6つの変数)である。4つのバイト/変数が存在する。この特定の例では、クラスタの数が3である。従って、各k平均法によって72バイトがもたらされる。この例では、k平均クラスタリングアルゴリズムに10000回のFFTを使用し、毎秒2回のFFTを行うと定められているので、各k平均法によって72バイトがもたらされることを考慮すると、結果として得られる出力データ伝送は、この段階で約0.0144バイト/秒である。各k平均クラスタリングアルゴリズムの実行を並列化することが必要な理由は、各実行に数秒掛かる可能性があるからである。これらの各スレッドに由来するデータは、クラスタが発展しているかどうか(コンセプトドリフト)を検出する統計的検定を実行するために、再びサーバ910に(スケジューラ910bに)送信される。サーバは、この検定の計算を他の第2のプロセッサ921bに割り当てる。コンセプトドリフト値(新たな重心位置)が得られると、第2のクエリを解決するためのタスクが完了する。このような第2のクエリの例は、「玉軸受け部品の残存耐用年数はどれだけであるか?」、「玉軸受けが異常な劣化をしていないか?」、「玉軸受けを交換又は修理する必要があるか?」である。
【0151】
見て分かるように、装置923の第2のプロセッサ923bが、装置921の接続先である機械の回転要素に関連するタスクを解決するためにk平均クラスタリングアルゴリズムの実行基準となるスレッドを計算している間に、装置923の第1のプロセッサ923aは、装置923の接続先である機械の回転要素に関連するクエリを解決するための別のタスクをリキッドコンピューティングにおいて計算している。
【0152】
前者の例から推論できるように、リキッドコンピューティング(装置の第1のプロセッサ)の出力では、取得されるデータの量が、第1のプロセッサによって処理されるデータに対して(すなわち、リキッドコンピューティングの入力におけるデータに対して)減少する。第1の例では、おおよそ1280/977.4倍の減少が得られる。第2の例では、リキッドコンピューティングにおいて90,000/80倍の減少が得られる。グランドコンピューティングに関して言えば、第1の例では977.4/144倍の減少が得られ、第2の例では80/0.0144倍の減少が得られる。このことは、フォグ/クラウドコンピューティングにおけるさらなる処理のために提供されるデータの量も減少することを意味する。本発明の実施形態では、エッジ/フォグ/クラウドコンピューティングにおけるさらなる処理のために提供されるデータの量が、グランドコンピューティングに到来するデータの量よりも好ましくは10倍小さく、より好ましくは20倍小さく、さらに好ましくは100倍小さく、いくつかの例では最大106倍も小さくなる。何倍小さくなるかは、処理するクエリに依存する。
【0153】
本開示で説明した第1、第2及び第3のクエリは、産業設備における少なくとも1つの機械(又は機械の少なくとも1つの構成部品)の動作を監視すること、少なくとも1つの機械/構成部品の挙動を予測すること、少なくとも1つの機械/構成部品を作動させること、検出又は診断された可能性のあるあらゆる誤動作に反応するように(ネットワークの装置又はサーバがクエリに対する回答を用いて)装置を制御すること、機械/構成部品へのあらゆる作用を指示すること、のうちの少なくとも1つのためのクエリとすることができる。
【0154】
本明細書では、「含む、備える(comprises及びincludes)という用語、並びにその(「comprising」及び「including」などの)派生語を排他的な意味で理解すべきではなく、すなわちこれらの用語を、記載して定義したものがさらなる要素、ステップなどを含むことができる可能性を排除するものとして解釈すべきではない。本明細書では、「多数(multiplicity)」という用語と「複数(plurality)」という用語とを同義的に使用している。
【0155】
当然ながら、本発明は、本明細書で説明した特定の実施形態に限定されるものではなく、(例えば、材料、寸法、構成部品、構成などの選択に関して)特許請求の範囲に定められる本発明の一般的範囲内で当業者が検討し得るあらゆる変形を含む。
【符号の説明】
【0156】
71 リキッドコンピューティング
72 グランドコンピューティング
80 データ取得
81 データ処理
84 データ通信
90 装置同期
91 データ処理
93 高性能コンピューティング
94 データ通信