【手続補正書】
【提出日】令和1年10月7日(2019.10.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセス制御環境においてリアルタイム分析を実施するためのシステムであって、前記システムが、
プロセスプラント内で動作する複数のプロセス制御デバイスと、
制御ネットワークを介して前記複数のプロセス制御デバイスと通信可能に連結するコントローラと、
前記プロセス制御環境のオペレーションのデータを記憶する、有形の非一時的記憶媒体を備えるビッグデータストレージノードと、
前記ビッグデータストレージノードと通信可能に連結するプロセッサと、
前記プロセッサと通信可能に連結し、かつ命令を記憶する有形の非一時的記憶媒体を備える、プログラムメモリと、を備え、前記命令が、前記プロセッサによって実行されたとき、前記プロセッサに、
編集キャンバスを含むグラフィカルユーザインターフェイスを表示することと、
前記編集キャンバス上に配置して、前記ビッグデータストレージノードに記憶されたデータを前記プロセッサに操作させるように動作可能な、第１のプログラミング命令を表す第１のダイアグラムを作成するために、複数のグラフィカルプログラミング要素の選択を受信することと、
前記第１のダイアグラムによって表される前記第１のプログラミング命令をコンパイルすることと、
前記第１のダイアグラムによって表される前記コンパイルされた第１のプログラミング命令を実行して、結果として生じる第１の出力を作成することと、
前記結果として生じた第１の出力に基づいて予測的モデルを作成することと、
前記第１のダイアグラムから第２のダイアグラムを自動的に生成することであって、前記第２のダイアグラムが、前記プロセッサに、ライブデータソースにバインドさせ、少なくとも、前記結果として生じた第１の出力を作成するのに使用されたモデルを使用することで、前記ライブデータソースから受信したデータを評価させるように動作可能である、第２のプログラミング命令を表す、生成することと、
前記第２のダイアグラムによって表される前記第２のプログラミング命令をコンパイルすることと、
前記第２のダイアグラムによって表される前記コンパイルされた第２のプログラミング命令を実行して、前記プロセス制御環境のオペレーションの態様を予測することと、を行わせる、システム。
【請求項２】
前記プロセッサ及び前記プログラムメモリを備えるウェブサーバを更に備え、前記命令が、前記プロセッサに、前記グラフィカルユーザインターフェイスを、ワークステーションにおけるウェブアプリケーションとして表示させる、請求項１に記載のシステム。
【請求項３】
グラフィカルプログラミング要素のライブラリを更に備え、前記グラフィカルプログラミング要素の各々が、前記プロセッサに、前記ビッグデータストレージノードに記憶された前記データの特定の操作を実施させるように動作可能であるプログラミング命令を含む、請求項１又は請求項２に記載のシステム。
【請求項４】
前記第１のダイアグラムを作成することが、前記グラフィカルユーザインターフェイスの前記編集キャンバス上に、複数のグラフィカルプログラミング要素を配置することを含み、前記複数のグラフィカルプログラミング要素の各々が、グラフィカルプログラミング要素のライブラリから選択され、それぞれのプログラミング命令を各々表し、
前記グラフィカルプログラミング要素のうちの様々なものが、前記プロセッサに、データのロード、ロードされたデータのフィルタリング、ロードされたデータからの列の選択、ロードされたデータのスケーリング、ロードされたデータの正規化、ロードされたデータにおける変則の発見、前記データの時間的オフセットの実施、及び前記データに対する次元縮小の実施のうちの１つ以上を行わせるように動作可能であるプログラミング命令を表す、請求項１〜請求項３の何れか１項に記載のシステム。
【請求項５】
グラフィカルプログラミング要素のライブラリを更に備え、前記グラフィカルプログラミング要素の各々が、前記プロセッサに、前記ビッグデータストレージノードに記憶された前記データの特定の操作を実施させるように動作可能であるプログラミング命令を含み、
前記グラフィカルプログラミング要素のライブラリが、データローディング要素を含み、前記データローディング要素が、前記プロセッサに、前記ビッグデータストレージノードからデータをロードさせるように動作可能であるプログラミング命令を表し、
前記データローディング要素が、ロードされるべきデータ、または前記ビッグデータストレージノードにおける前記データのロケーションのうちの少なくとも１つを特定するように構成可能である、請求項１〜請求項４の何れか１項に記載のシステム。
【請求項６】
グラフィカルプログラミング要素のライブラリを更に備え、前記グラフィカルプログラミング要素の各々が、前記プロセッサに、前記ビッグデータストレージノードに記憶された前記データの特定の操作を実施させるように動作可能であるプログラミング命令を含み、
前記グラフィカルプログラミング要素の各々が、少なくとも１つの入力または少なくとも１つの出力のうちの１つ以上を備え、かつ
前記グラフィカルプログラミング要素の入力及び出力が、単一の値、アレイ、行列、またはプログラミング命令のセットの形態で出力から入力にデータを運搬するように動作可能である１本以上のワイヤによって互いに接続され得る、請求項１〜請求項４の何れか１項に記載のシステム。
【請求項７】
前記プログラムメモリに記憶される前記命令が、前記プロセッサに、前記第１のプログラミング命令のサブセットをコンパイルさせ、前記第１のプログラミング命令の前記コンパイルされたサブセットを実行させるように動作可能であり、前記グラフィカルユーザインターフェイスの前記編集キャンバス上の複数のグラフィカルプログラミング要素の要素毎の実行を達成する、請求項１〜請求項６の何れか１項に記載のシステム。
【請求項８】
前記グラフィカルプログラミング要素の各々が、前記編集キャンバス上に配置されるとき、前記グラフィカルプログラミング要素のステータスを、未実行、現在実行中、または実行完了として示すステータスインジケータを含む、請求項１に記載のシステム。
【請求項９】
前記プロセッサに、前記ライブデータソースにバインドさせるように動作可能である、前記プログラムメモリに記憶される前記命令が、前記プロセッサに、前記ビッグデータストレージノードに記憶された前記データに対応するデータのストリーミングされるソースを含むライブデータソースにバインドさせる命令を含む、請求項１〜請求項８の何れか１項に記載のシステム。
【請求項１０】
ジョブ管理モジュール及びジョブ実行モジュールを更に備え、
前記プロセッサに、前記第１のダイアグラムによって表される前記コンパイルされた第１のプログラミング命令を実行させる前記命令が、前記プロセッサに、前記コンパイルされた第１のプログラミング命令を前記ジョブ管理モジュールへとダウンロードさせる命令を含み、このジョブ管理モジュールが、前記コンパイルされた第１のプログラミング命令に対応する１つ以上のジョブをジョブ実行モジュールに送信する、請求項１〜請求項９の何れか１項に記載のシステム。
【請求項１１】
前記プロセッサに、前記第２のダイアグラムによって表される前記コンパイルされた第２のプログラミング命令を実行させる前記命令が、
前記プロセッサに、前記コンパイルされた第２のプログラミング命令をジョブ管理モジュールへとダウンロードさせ、前記コンパイルされた第２のプログラミング命令に対応する１つ以上のジョブを、前記プロセッサに送信させる命令を含む、請求項１〜請求項１０の何れか１項に記載のシステム。
【請求項１２】
プロセス制御環境においてリアルタイム分析を実施するための方法であって、
グラフィカルユーザインターフェイス上で第１のダイアグラムを作成することであって、前記第１のダイアグラムが、プロセッサに、前記プロセス制御環境によって前もって生成及び記憶されたデータを操作させるように動作可能である、第１のプログラミング命令を表す、作成することと、
前記第１のダイアグラムによって表される前記第１のプログラミング命令をコンパイルすることと、
前記第１のダイアグラムによって表される前記コンパイルされた第１のプログラミング命令を実行して、結果として生じる第１の出力を作成することと、
前記結果として生じた第１の出力を評価して、前記結果として生じた第１の出力を作成するのに使用されたモデルの予測値を決定することと、
前記第１のダイアグラムから第２のダイアグラムを自動的に生成することであって、前記第２のダイアグラムが、前記プロセッサに、ライブデータソースにバインドさせ、少なくとも、前記結果として生じた第１の出力を作成するのに使用された前記モデルを使用することで、前記ライブデータソースから受信したデータを評価させるように動作可能である、第２のプログラミング命令を表す、生成することと、
前記第２のダイアグラムによって表される前記第２のプログラミング命令をコンパイルすることと、
前記第２のダイアグラムによって表される前記コンパイルされた第２のプログラミング命令を実行して、前記プロセス制御環境のオペレーションの態様を予測することと、を含む、方法。
【請求項１３】
前記第１のダイアグラムを作成することが、前記グラフィカルユーザインターフェイスの編集キャンバス上に複数のブロックを配置することを含み、前記複数のブロックの各々が、それぞれのプログラミング命令を表し、前記それぞれのプログラミング命令が、前記プロセッサに、データのロード、ロードされたデータのフィルタリング、ロードされたデータからの列の選択、ロードされたデータのスケーリング、ロードされたデータの正規化、ロードされたデータにおける変則の発見、前記データの時間的オフセットの実施、及び前記データに対する次元縮小の実施のうちの１つ以上を行わせるように動作可能である、請求項１２に記載の方法。
【請求項１４】
前記第１のダイアグラムを作成することが、前記グラフィカルユーザインターフェイスの編集キャンバス上に複数のブロックを配置することを含み、前記複数のブロックの各々が、それぞれのプログラミング命令を表し、前記それぞれのプログラミング命令が、前記プロセッサに、データのロード、ロードされたデータのフィルタリング、ロードされたデータからの列の選択、ロードされたデータのスケーリング、ロードされたデータの正規化、ロードされたデータにおける変則の発見、前記データの時間的オフセットの実施、及び前記データに対する次元縮小の実施のうちの１つ以上を行わせるように動作可能であり、
前記複数のブロックの各々が、少なくとも１つの入力または少なくとも１つの出力のうちの１つ以上を備え、かつ
前記複数のブロックの入力及び出力が、出力から入力にデータを運搬するように動作可能である１本以上のワイヤによって互いに接続され得ると共に、
前記１本以上のワイヤの各々が、単一の値、アレイ、行列、またはプログラミング命令のセットの形態のデータを運搬するように動作可能である、請求項１２又は請求項１３に記載の方法。
【請求項１５】
前記プロセッサに、前記プロセス制御環境によって前もって生成及び記憶されたデータを操作させることが、前記プロセッサに、前記プロセス制御環境中の１つ以上のビッグデータノードに記憶されたデータを操作させることを含む、請求項１２〜請求項１４の何れか１項に記載の方法。
【請求項１６】
前記第１のプログラミング命令をコンパイルし、前記コンパイルした第１のプログラミング命令を実行することが、前記第１のプログラミング命令のサブセットをコンパイルし、前記第１のプログラミング命令の前記コンパイルしたサブセットを実行して、前記グラフィカルユーザインターフェイスの編集キャンバス上の複数のブロックのブロック毎の実行を達成することを含む、請求項１２〜請求項１５の何れか１項に記載の方法。
【請求項１７】
前記第１のダイアグラムを作成することが、前記グラフィカルユーザインターフェイスの編集キャンバス上に複数のブロックを配置することを含み、
前記複数のブロックの各々が、前記ブロックのステータスを、未実行、現在実行中、または実行完了として示すステータスインジケータを含む、請求項１２〜請求項１６の何れか１項に記載の方法。
【請求項１８】
前記プロセッサに、前記ライブデータソースにバインドさせることが、前記プロセッサに、前記プロセス制御環境によって前もって生成及び記憶された前記データに対応するデータのストリーミングされるソースを含むライブデータソースにバインドさせることを含む、請求項１２〜請求項１７の何れか１項に記載の方法。
【請求項１９】
前記第１のダイアグラムによって表される前記コンパイルされた第１のプログラミング命令を実行することが、
前記コンパイルされた第１のプログラミング命令をジョブマネージャにダウンロードすること、及び前記コンパイルされた第１のプログラミング命令に対応する１つ以上のジョブを、前記プロセッサに送信することを含む、請求項１２〜請求項１８の何れか１項に記載の方法。
【請求項２０】
前記第２のダイアグラムによって表される前記コンパイルされた第２のプログラミング命令を実行することが、
前記コンパイルされた第２のプログラミング命令をジョブマネージャにダウンロードすること、及び前記コンパイルされた第２のプログラミング命令に対応する１つ以上のジョブを、前記プロセッサに送信することを含む、請求項１２〜請求項１９の何れか１項に記載の方法。
【請求項２１】
プロセス制御環境においてデータ分析を実施するための分析サービスであって、前記分析サービスが、
ブロック定義のライブラリであって、前記ライブラリが有形の非一時的媒体に記憶され、各ブロック定義が、（ｉ）前記プロセス制御環境のデータに関するアクションを実施するためのターゲットアルゴリズムと、（ｉｉ）１つ以上のブロックプロパティとを含む、ブロック定義のライブラリと、
前記有形の非一時的媒体に記憶される機械可読命令のセットであって、プロセッサによって実行されたとき、
（１）ディスプレイを介してキャンバスをユーザに呈示し、
（２）前記ブロック定義のライブラリを前記ユーザに呈示し、
（３）１つ以上の対応するブロック定義のうちの１つ以上の選択を受信し、
（４）前記１つ以上のブロック定義に対応する１つ以上のブロックを前記キャンバス上に配置して、前記１つ以上のブロックを含むモジュールを作成し、
（５）（ｉ）前記１つ以上のブロック、（ｉｉ）前記モジュール、または（ｉｉｉ）前記１つ以上のブロック及び前記モジュールのいずれかに関して、１つ以上のプロパティの構成を促進し、かつ
（６）（ｉ）前記ブロックのうちの１つ以上、または（ｉｉ）前記モジュールの評価をもたらすように動作可能である、機械可読命令のセットと、
プロセッサ上で動作する実行サービスであって、
（１）前記１つ以上のブロックまたは前記モジュールを評価する要求を受信し、
（２）前記１つ以上のブロックまたは前記モジュールに対応する命令をコンパイルし、
（３）前記コンパイルされた命令を実行するために１つ以上のジョブプロセスを作成し、前記１つ以上のジョブプロセスに、前記コンパイルされた命令を実行させ、かつ
（４）前記１つ以上のジョブプロセスの結果を受信するように構成される、実行サービスと、
前記１つ以上のジョブプロセスを実行する１つ以上のプロセッサを、１つ以上の分散型データエンジンと連結する通信ネットワークであって、各分散型データエンジンが、前記プロセス制御環境内で生成されるデータを記憶する、有形の非一時的記憶媒体を備える、通信ネットワークと、を含む、分析サービス。
【請求項２２】
前記ブロック定義のライブラリが、前記分散型データエンジンのうちの１つからデータをロードするブロックを定義する、少なくとも１つのブロック定義を含む、請求項２１に記載の分析サービス。
【請求項２３】
前記ブロック定義のライブラリが、前記分散型データエンジンのうちの１つからのデータに対してデータ分析機能を実施するブロックを定義する、少なくとも１つのブロック定義を含む、請求項２１又は請求項２２に記載の分析サービス。
【請求項２４】
前記有形の非一時的媒体に記憶される機械可読支持のセットが、ウェブサーバ上に記憶され、かつ前記命令が、ウェブクライアントに送信され、前記キャンバスを前記ユーザに呈示するように、前記ウェブクライアントと関連付けられるプロセッサによって実行される、請求項２１〜請求項２３の何れか１項に記載の分析サービス。
【請求項２５】
前記分析サービスが、オフラインモード及びオンラインモードの各々において、１つ以上のブロックまたはモジュールを実行するように動作可能であり、
前記オフラインモードにおいて、前記１つ以上のジョブプロセスが、前記コンパイルされた命令を実行して、前記１つ以上の分散型データエンジンに記憶されるデータの分析を実施し、
前記オンラインモードにおいて、前記１つ以上のジョブプロセスが、前記コンパイルされた命令を実行して、前記プロセス制御環境において生成されるリアルタイム連続データの分析を実施する、請求項２１〜請求項２４の何れか１項に記載の分析サービス。
【請求項２６】
第１のダイアグラムによって前記キャンバス上に表され、前記オフラインモードにおいて、前記プロセス制御環境でヒストライズされたデータの分析を実施するように構成されるモジュールが、第２のダイアグラムによって前記キャンバス上に表され、前記オンラインモードにおいて評価されて、前記プロセス制御環境で生成されるリアルタイム連続データの分析を実施するように構成される、対応するモジュールを有する、請求項２５に記載の分析サービス。
【請求項２７】
前記第１のダイアグラムを前記第２のダイアグラムに転換するように動作可能である、ダイアグラムトランスフォーマを更に含む、請求項２６に記載の分析サービス。
【請求項２８】
前記第１のダイアグラムを前記第２のダイアグラムに転換することが、前記第１のダイアグラムにおいて特定される少なくとも１つのヒストライズされたデータソースを、前記プロセス制御環境において生成されているライブデータの少なくとも１つのソースで置き換えることを含む、請求項２７に記載の分析サービス。
【請求項２９】
前記第１のダイアグラムを前記第２のダイアグラムに転換することが、実行されるとき、前記プロセス制御環境において生成される前記リアルタイム連続データの前記分析の結果を、（ｉ）前記ユーザに表示させ、（ｉｉ）前記プロセス制御環境において制御機能を実施するプロセス制御アルゴリズムに対する入力として使用させ、かつ／あるいは（ｉｉｉ）前記分散型データエンジンのうちの１つにヒストライズさせることになるブロックを追加することを含む、請求項２７又は請求項２８に記載の分析サービス。
【請求項３０】
前記第１のダイアグラムを前記第２のダイアグラムに転換することが、前記第２のダイアグラムに、プロセスプラントの予測値を出力するブロックを実装することを含み、前記プロセスプラントの予測値を出力する前記ブロックが、前記第１のダイアグラムにおいて開発されたモデルに対応する、請求項２７〜請求項２９の何れか１項に記載の分析サービス。
【請求項３１】
前記ブロック定義の各々が、構成ファイルに対応し、
前記モジュールが、前記モジュールを構成するブロックに対応する複数のブロック構成ファイルの内容を含む、モジュール構成ファイルに対応する、請求項２１〜請求項３０の何れか１項に記載の分析サービス。
【請求項３２】
前記１つ以上のブロックまたは前記モジュールを評価する要求を受信することが、少なくともアルゴリズム及び前記アルゴリズムのパラメータを含む構成ファイルを受信することを含む、請求項３１に記載の分析サービス。
【請求項３３】
前記１つ以上のブロックまたは前記モジュールを評価する要求を受信することが、前記評価を実施するターゲット環境を特定する構成ファイルを受信することを含む、請求項２１〜請求項３２の何れか１項に記載の分析サービス。
【請求項３４】
前記評価を実施する前記ターゲット環境を特定する前記構成ファイルを受信し、前記特定されたターゲット環境において、プロセッサによって実行可能であるコンパイルされた出力を生成するように構成される１つ以上のコンパイラを更に含む、請求項３３に記載の分析サービス。
【請求項３５】
１つ以上のブロック定義の各々について、対応するデータプラグインを更に含み、前記データプラグインの各々が、呼び出されて特定のタスクを実施し得るインターフェイスに対して適合する、コンピュータが実行可能な命令のセットを含み、
前記データプラグインの各々が、前記分析サービスが動作しているコンピューティング環境に対して特異的なロジック、または分析サービスが実施されている前記プロセス制御環境に対して特異的なロジックを含む、請求項２１〜請求項３４の何れか１項に記載の分析サービス。
【請求項３６】
１つ以上のプロパティの構成を促進することが、
データプラグインを呼び出して、前記分析サービスが動作している前記プロセス制御環境に対して特異的な情報を回収することを含む、請求項２１〜請求項３５の何れか１項に記載の分析サービス。
【請求項３７】
１つ以上のプロパティの構成を促進することが、
前記１つ以上のブロックまたは前記モジュールの、ブロックまたはモジュールの前記プロパティを表示するコマンドを受信することを含み、
前記１つ以上のプロパティの各々について、
前記プロパティに関するメタデータを回収し、
前記プロパティに関する前記メタデータ内のプラグイン情報について確認し、
プラグイン情報が前記プロパティに関して存在する場合、
前記プロパティに関する前記メタデータによって特定されるプラグインを発見及びロードし、
前記プロパティに関する前記メタデータによって特定された前記プラグインを呼び出して、必要とされるプロパティ値を入手し、
別様に、プラグイン情報が前記プロパティに関して存在しない場合、前記プロパティに関する前記メタデータ内のデフォルト値を見つけ、
前記プロパティに関する前記メタデータにおいて、前記プロパティを表示する様式を示すＵＩ制御タイプを見つけ、
必要とされるプロパティ値または前記デフォルト値をプロパティダイアログに追加し、
前記ブロックまたはモジュールに関する追加的なプロパティが存在するかを判定し、
前記ブロックまたはモジュールに関する追加的なプロパティが存在しない場合、前記プロパティダイアログを表示する、請求項２１〜請求項３６の何れか１項に記載の分析サービス。