(57)【要約】      （修正有）【課題】プロセスプラント内の問題または課題を検出することができるルールを作成する。【解決手段】分析ルール生成アプリケーションは、電子顧客テクニカルサポートシステムに統合されて、顧客テクニカルサポートセンターシステムを使用する人々が、開発者に要求を提出し、１つ以上の新しいルールが顧客テクニカルサポートシステムの将来のリリースにおいて提供されるのを待つことを必要とすることなく、顧客のプロセスプラントサイトで課題を診断し、検出する際に使用するための、カスタム分析ルールをオンデマンドで構築することを可能にする。分析ルールビルダーは、必要に応じて、ローカルオフィス及びローカル技術グループによって使用することができ、または顧客サイトで要員によって使用することができる。【選択図】図３
2017142800.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントからのデータを分析する際に使用するための分析ルールのグラフィカルな構築を容易にするためのコンピュータシステムであって、前記コンピュータシステムが、
前記プロセスプラント内のデータソースを定義する１つ以上のデータソーステンプレート、前記プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶する、非一時的なコンピュータ読み出し可能なメモリと、
コンピュータ処理デバイス上で動作する構成エンジンであって、
ユーザインターフェースデバイスを介して、
１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含む、前記ルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域、並びに
１つ以上のルールコンポーネントテンプレートの前記グラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域であって、前記ルールコンポーネントが、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む、ワークフロー領域を生成する、インターフェースルーチンを含む、構成エンジンと、を備え、
前記構成エンジンが、グラフィカル入力ルーチンを実行して、前記ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを表示するように動作し、前記ルールコンポーネントの各々のための前記対話型ウィンドウが、ユーザが前記ルールコンポーネントの各々の特定のパラメータを定義することを可能にし、よって、前記グラフィカル入力ルーチンが、前記データソースコンポーネントについて、前記分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを表示し、よって、前記グラフィカル入力ルーチンが、前記機能コンポーネントについて、前記特定のデータソースからの前記特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能対話型ウィンドウを表示し、よって、前記グラフィカル入力ルーチンが、前記出力コンポーネントについて、前記１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを表示し、また、
プロセッサ上で実行して、前記ルールコンポーネントの各々のユーザ定義のパラメータを含む前記ルールコンポーネントを、実行可能な分析ルールにコンパイルする、コンパイラと、
コンピュータ処理デバイス上で実行して、前記実行可能な分析ルールを実行する、ランタイムエンジンと、
を備える、コンピュータシステム。
【請求項２】
前記非一時的なコンピュータ読み出し可能なメモリが、前記複数のデータソーステンプレートの各々のための１組のメタデータを記憶し、前記データソーステンプレートの各々のための前記メタデータが、データソースからのデータの構造を定義する、請求項１に記載のコンピュータシステム。
【請求項３】
前記メタデータが、データソーステンプレートと関連付けられる前記データソースから取得されるデータファイルに記憶されるように前記データの構造を定義する、請求項２に記載のコンピュータシステム。
【請求項４】
入力データコンポーネントの前記ユーザ定義可能なパラメータが、データソースのための前記メタデータにおいて定義される１つ以上のパラメータの指示を含む、請求項２に記載のコンピュータシステム。
【請求項５】
入力データコンポーネントの前記ユーザ定義可能なパラメータが、横列及びキーの指示を含む、請求項２に記載のコンピュータシステム。
【請求項６】
入力データコンポーネントの前記ユーザ定義可能なパラメータが、前記データソースコンポーネントによって参照されるデータのデータ値の変数名を含む、請求項２に記載のコンピュータシステム。
【請求項７】
前記データソースコンポーネントの前記ユーザ定義可能なパラメータが、前記データソースコンポーネントによって参照されるデータ値に適用されるべき数学動作を含む、請求項２に記載のコンピュータシステム。
【請求項８】
前記機能コンポーネントの前記ユーザ定義可能なパラメータが、前記１つ以上の論理動作のうちの１つにおいて使用されるべきデータの変数名の指示を含む、請求項１に記載のコンピュータシステム。
【請求項９】
前記機能コンポーネントの前記ユーザ定義可能なパラメータが、前記変数名によって指定されるデータに関して試験されるべき論理条件の指示を含む、請求項８に記載のコンピュータシステム。
【請求項１０】
前記機能コンポーネントの前記ユーザ定義可能なパラメータが、１つ以上の論理動作の実行順序の指示を含む、請求項１に記載のコンピュータシステム。
【請求項１１】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、出力表示の一部として提供されるべき情報の指示を含む、請求項１に記載のコンピュータシステム。
【請求項１２】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、データベースに記憶された知識ベース記事の指示を含み、該知識ベース記事が、検出した課題の修正に関する情報を記憶する、請求項１に記載のコンピュータシステム。
【請求項１３】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、機能コンポーネントによって指定される論理動作によって行われる判定に応じて開始するための、電子通信の指示を含む、請求項１に記載のコンピュータシステム。
【請求項１４】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、プロセスプラント内の、または該プロセスプラントと関連付けられるユーザインターフェースに提供されるべきメッセージの指示を含む、請求項１に記載のコンピュータシステム。
【請求項１５】
前記データソーステンプレートが、サーバ／ワークステーションハードウェアデータソース、オペレーティングシステムデータソース、プロセスコントローラデータソース、バッチデータソース、ネットワーク通信／インフラストラクチャデータソース、オペレータインターフェースデータソース、データベースデータソース、ソフトウェア及びアプリケーションデータソース、安全計装データソース、ＯＰＣシンプレックス若しくは冗長／ミラー化セバーデータソース、ログブックデータソース、または仮想化データソースのうちの１つを定義する、請求項１に記載のコンピュータシステム。
【請求項１６】
前記ランタイムエンジンが、前記実行可能な分析ルールを実行する実行エンジン、及び前記データソースコンポーネントによって指定されるように特定のプロセスプラントサイトのためのデータベースに記憶されたデータファイルからデータを取り出すデータレトリーバーを含む、請求項１に記載のコンピュータシステム。
【請求項１７】
複数組の顧客データファイルを記憶するデータベースを更に含み、前記複数組の顧客データファイルの各々が、異なる顧客プロセスプラントサイトと、または同じ顧客プロセスプラントサイトの異なる収集時間と関連付けられ、前記ランタイムエンジンが、前記複数組の顧客データファイルのうちの指定された１つからのデータを使用して、前記実行可能な分析ルールを実行する、請求項１に記載のコンピュータシステム。
【請求項１８】
前記ランタイムエンジンが、ユーザが、使用する前記複数組の顧客データファイルのうちの１つを指定することを可能にする、ユーザ対話型コンポーネントを含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記実行可能な分析ルールを、他のユーザが使用するためのルールデータベースに発行するためにプロセッサ上で実行する、発行者ルーチンを更に含む、請求項１に記載のコンピュータシステム。
【請求項２０】
前記インターフェースルーチンが、前記ユーザインターフェースデバイスを介して、前記ワークフロー領域に表示される前記分析ルールの概要を表示する概略領域を更に生成する、請求項１に記載のコンピュータシステム。
【請求項２１】
分析ルールのグラフィカルな構築を容易にするコンピュータ実装の方法であって、
非一時的なコンピュータ読み出し可能なメモリに、プロセスプラント内のデータソースを定義する１つ以上のデータソーステンプレート、前記プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶することと、
ユーザインターフェース上で、コンピュータ処理デバイスを使用して、
１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含む前記ルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域、並びに
前記１つ以上のルールコンポーネントテンプレートのグラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域であって、前記ルールコンポーネントが、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む、ワークフロー領域を生成することと、
ユーザインターフェースデバイス上の前記ワークフロー領域において、コンピュータ処理デバイスを使用して、１組のルールコンポーネントテンプレートの各々のユーザによる選択に応じて、前記ルールコンポーネントテンプレートから導出される前記１組のルールコンポーネントの各々のための対話型ウィンドウを生成することと、
ユーザが前記ルールコンポーネントの各々の特定のパラメータを定義することを可能にするために、前記ルールコンポーネントの各々のための前記対話型ウィンドウを使用することであって、前記データソースコンポーネントについて、前記分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを使用すること、前記機能コンポーネントについて、前記特定のデータソースからの前記特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを使用すること、及び前記出力コンポーネントについて、前記１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを使用すること、を含む、使用することと、
コンピュータプロセッサデバイス上で、前記ルールコンポーネントの各々のユーザ定義のパラメータを含む前記ルールコンポーネントを、実行可能な分析ルールにコンパイルすることと、
コンピュータ処理デバイス上で、前記実行可能な分析ルールを実行することと、
を含む、方法。
【請求項２２】
非一時的なコンピュータ読み出し可能なメモリに、前記複数のデータソーステンプレートの各々ための１組のメタデータを記憶することであって、前記複数のデータソーステンプレートの各々ための前記メタデータが、データソースからのデータの構造を定義する、記憶することを更に含む、請求項２１に記載の方法。
【請求項２３】
前記メタデータを記憶することが、データソーステンプレートと関連付けられる前記データソースから取得されるデータファイルに記憶されるようにデータの構造を定義するメタデータを記憶することを含む、請求項２２に記載の方法。
【請求項２４】
前記データ入力対話型ウィンドウを使用することが、前記ユーザ定義可能なパラメータの一部としてデータソースのための前記メタデータに定義される１つ以上のパラメータの１つ以上の値の指示を提供することを含む、請求項２２に記載の方法。
【請求項２５】
前記データ入力対話型ウィンドウを使用することが、ユーザが、前記データソースコンポーネントによって参照されるデータのデータ値の変数名を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項２６】
前記データ入力対話型ウィンドウを使用することが、ユーザが、前記データソースコンポーネントによって参照されるデータ値に適用されるべき数学動作を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項２７】
前記機能的対話型ウィンドウを使用することが、ユーザが、前記１つ以上の論理動作のうちの１つにおいて使用されるべきデータの変数名の指示を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項２８】
前記機能的対話型ウィンドウを使用することが、ユーザが、変数名によって指定されるデータに関して試験されるべき論理条件の指示を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項２９】
前記機能的対話型ウィンドウを使用することが、ユーザが、１つ以上の論理動作の実行順序の指示を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項３０】
前記出力対話型ウィンドウを使用することが、ユーザが、出力表示の一部として提供されるべき情報の指示を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項３１】
前記出力対話型ウィンドウを使用することが、ユーザが、データベースに記憶された知識ベース記事の指示を提供することを可能にすることを含み、該知識ベース記事が、検出した課題の修正に関する情報を記憶する、請求項３０に記載の方法。
【請求項３２】
前記出力対話型ウィンドウを使用することが、ユーザが、機能コンポーネントによって指定される論理動作によって行われる判定に応じて開始するための、電子通信の指示を提供することを可能にすることを含む、請求項２２に記載の方法。
【請求項３３】
前記データソーステンプレートを記憶することが、サーバ／ワークステーションハードウェアデータソース、オペレーティングシステムデータソース、プロセスコントローラデータソース、バッチデータソース、ネットワーク通信／インフラストラクチャデータソース、オペレータインターフェースデータソース、データベースデータソース、ソフトウェア及びアプリケーションデータソース、安全計装データソース、ＯＰＣシンプレックス若しくは冗長／ミラー化セバーデータソース、ログブックデータソース、または仮想化データソースのうちの１つを定義する、データソーステンプレートを記憶することを含む、請求項２２に記載の方法。
【請求項３４】
データベースに、複数組の顧客データファイルを記憶することを更に含み、前記複数組の顧客データファイルの各々が、異なる顧客プロセスプラントサイトと、または同じ顧客プロセスプラントサイトの異なる収集時間と関連付けられ、前記実行可能な分析ルールを実行することが、前記複数組の顧客データファイルのうちの指定された１つからのデータを使用することを含む、請求項２１に記載の方法。
【請求項３５】
電子ディスプレイ入力デバイスを介して、ユーザが、使用する前記複数組の顧客データファイルのうちの前記指定された１つを指定することを可能にすることを更に含む、請求個３４に記載の方法。
【請求項３６】
前記ユーザインターフェースデバイスを介して、前記ワークフロー領域に表示される前記分析ルールの概要を示す概略領域を生成することを更に含む、請求項２１に記載の方法。
【請求項３７】
データをオンラインで生成または記憶するプロセスプラント装置を有するプロセスプラントにおいてデータをオンラインで分析する際に使用するための分析ルールのグラフィカルな構築を容易にするためのコンピュータシステムであって、前記コンピュータシステムは、
前記プロセスプラント内の前記プロセスプラント装置と関連付けられるデータソースを定義する１つ以上のデータソーステンプレート、前記プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶する、非一時的なコンピュータ読み出し可能なメモリと、
コンピュータ処理デバイス上で動作する構成エンジンであって、
ユーザインターフェースデバイスを介して、
１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含む、前記ルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域、並びに
１つ以上のルールコンポーネントテンプレートの前記グラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域であって、前記ルールコンポーネントが、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む、ワークフロー領域を生成する、インターフェースルーチンを含む、構成エンジンと、を備え、
前記構成エンジンが、グラフィカル入力ルーチンを実行して、前記ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを表示するように動作し、前記ルールコンポーネントの各々のための前記対話型ウィンドウが、ユーザが、前記ルールコンポーネントの各々の特定のパラメータを定義することを可能にし、よって、前記グラフィカル入力ルーチンが、前記データソースコンポーネントについて、前記分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを表示し、よって、前記グラフィカル入力ルーチンが、前記機能コンポーネントについて、前記特定のデータソースからの前記特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを表示し、よって、前記グラフィカル入力ルーチンが、前記出力コンポーネントについて、前記１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを表示し、また、
プロセッサ上で実行して、前記ルールコンポーネントの各々のユーザ定義のパラメータを含む前記ルールコンポーネントを、実行可能な分析ルールにコンパイルする、コンパイラと、
前記プロセスプラントからのデータをオンラインで分析するために、コンピュータ処理デバイス上で実行して、前記実行可能な分析ルールを実行する、前記プロセスプラント装置に結合されるランタイムエンジンと、
を備える、コンピュータシステム。
【請求項３８】
前記非一時的なコンピュータ読み出し可能なメモリが、前記複数のデータソーステンプレートの各々のための１組のメタデータを記憶し、前記データソーステンプレートの各々のための前記メタデータが、前記プロセスプラント内のデータソースからのデータの構造を定義する、請求項３７に記載のコンピュータシステム。
【請求項３９】
入力データコンポーネントの前記ユーザ定義可能なパラメータが、データソースのための前記メタデータにおいて定義される１つ以上のパラメータの指示を含む、請求項３８に記載のコンピュータシステム。
【請求項４０】
入力データコンポーネントの前記ユーザ定義可能なパラメータが、前記データソースコンポーネントによって参照されるデータのデータ値の変数名を含む、請求項３８に記載のコンピュータシステム。
【請求項４１】
前記データソースコンポーネントの前記ユーザ定義可能なパラメータが、前記データソースコンポーネントによって参照されるデータ値に適用されるべき数学動作を含む、請求項３７に記載のコンピュータシステム。
【請求項４２】
前記機能コンポーネントの前記ユーザ定義可能なパラメータが、変数名によって指定されるデータに関して試験されるべき論理条件の指示を含む、請求項３７に記載のコンピュータシステム。
【請求項４３】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、出力表示の一部として提供されるべき情報の指示を含む、請求項３７に記載のコンピュータシステム。
【請求項４４】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、データベースに記憶された知識ベース記事の指示を含み、該知識ベース記事が、検出した課題の修正に関する情報を記憶する、請求項３７に記載のコンピュータシステム。
【請求項４５】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、機能コンポーネントによって指定される論理動作によって行われる判定に応じて開始するための、プロセスプラント制御システム内の電子通信の指示を含む、請求項３７に記載のコンピュータシステム。
【請求項４６】
前記出力コンポーネントの前記ユーザ定義可能なパラメータが、前記プロセスプラントと関連付けられるプロセス制御オペレータに提供されるべきメッセージの指示を含む、請求項３７に記載のコンピュータシステム。
【請求項４７】
前記データソーステンプレートの１つが、前記プロセスプラントのプロセス制御システムからのデータストリームを参照する、請求項３７に記載のコンピュータシステム。
【請求項４８】
前記データソーステンプレートの前記１つが、前記プロセスプラント内のプロセスコントローライベントに関するデータを参照する、請求項４７に記載のコンピュータシステム。
【請求項４９】
前記データソーステンプレートの前記１つが、前記プロセスプラント内のユーザワークステーションイベントに関するデータを参照する、請求項４７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許は、全般的に、プロセスプラントのためのサポートシステム及びプロセスプラント内で使用されるプロセス制御システムに関し、より具体的には、プロセスプラント及び／またはプロセス制御システム内のまたはそこからの様々な異なるタイプのデータに対して実行して、プロセスプラント制御機能を実装するコンピュータ及び通信システム内の課題などの、プロセスプラント内の問題または課題を検出することができるルールを作成するための、プロセスプラントサポートシステム内の診断ルールビルダープラットフォームの使用に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスプラントで使用されるような分散型プロセス制御システムは、一般的に、アナログバス、デジタルバス、若しくは組み合わせたアナログ／デジタルバスを介して、または無線通信リンク若しくはネットワークを介して、１つ以上のフィールドデバイスに通信可能に結合された１つ以上のプロセスコントローラを含む。例えば弁、弁ポジショナ、スイッチ、及び送信機（例えば、温度、圧力、レベル、及び流速センサ）であり得るフィールドデバイスは、プロセス環境内に位置し、全般的に、弁の開放または閉鎖、プロセスパラメータの測定などの、物理的機能またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行する１つ以上のプロセスを制御する。よく知られているＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスプロトコルに準拠するフィールドデバイスなどのスマートフィールドデバイスはまた、制御計算、アラーム機能、及び一般的にプロセスコントローラ内に実装される他の制御機能も行うことができる。同じく一般的にプラント環境内に配置されるプロセスコントローラは、フィールドデバイスによって行われるプロセス測定値及び／またはフィールドデバイスに関する他の情報を示す信号を受信し、そして、例えばプロセス制御の決定を行い、受信した情報に基づいて制御信号を生成し、ＨＡＲＴ（登録商標）、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）、及びＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスフィールドデバイスなどのフィールドデバイスで行われている制御モジュールまたはブロックと協調する異なる制御モジュールを動作させる、コントローラアプリケーションを実行する。コントローラの制御モジュールは、通信ラインまたはリンクを通じて、制御信号をフィールドデバイスに送り、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
【０００３】
フィールドデバイス及びコントローラからの情報は、通常、オペレータワークステーション、パーソナルコンピュータ若しくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または典型的により厳しいプラント環境から離れた制御室または他の場所に配置される他の集中管理コンピューティングデバイスなどの１つ以上の他のハードウェアデバイスに、データハイウェイを通じて利用できるようにされる。これらのハードウェアデバイスの各々は、典型的に、プロセスプラント全体にわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、プロセス制御ルーチンの設定変更、コントローラまたはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の確認、フィールドデバイス及びコントローラによって生成されるアラームの確認、人員の訓練またはプロセス制御ソフトウェアの試験の目的でのプロセスの動作のシミュレーション、構成データベースの維持及び更新などの、プロセスの制御及び／またはプロセスプラントの動作に関する機能を、オペレータが行うことを可能にすることができる、様々な異なるアプリケーションを動作または実行させる。ハードウェアデバイス、コントローラ、及びフィールドデバイスによって利用されるデータハイウェイは、有線通信経路、無線通信経路、または有線及び無線通信経路の組み合わせを含むことができる。
【０００４】
一例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な、または分散した場所に位置する異なるデバイス内に記憶され、それによって実行される複数の異なるアプリケーションを含む。１つ以上のワークステーションまたはコンピューティングデバイスに存在する構成アプリケーションは、ユーザが、プロセス制御モジュールを作成または変更し、データハイウェイを介して、これらのプロセス制御モジュールを専用の分散型コントローラにダウンロードすることを可能にする。典型的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、該機能ブロックは、それに対する入力に基づいて、制御スキーム内で機能を行い、制御スキーム内の他の機能ブロックに出力を提供する、オブジェクト指向プログラミングプロトコルにおけるオブジェクトである。構成アプリケーションはまた、構成の設計者が、視聴アプリケーションによって、データをオペレータに表示し、オペレータがプロセス制御ルーチン内の設定点などの設定を変更することを可能にするために使用される、オペレータインターフェースを作成または変更することも可能にすることができる。各専用のコントローラ、及びいくつかの事例において、１つ以上のフィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを動作させて、実際のプロセス制御機能を実装する、それぞれのコントローラアプリケーションを記憶し、実行する。１つ以上のオペレータワークステーション上（またはオペレータワークステーション及びデータハイウェイと通信接続している１つ以上のリモートコンピューティングデバイス上）で実行することができる視聴アプリケーションは、データハイウェイを介して、コントローラアプリケーションからデータを受信し、そして、ユーザインターフェースを使用して、このデータをプロセス制御システム設計者、オペレータ、またはユーザに表示し、また、オペレータの見解、エンジニアの見解、技術者の見解などの、いくつかの異なる見解のいずれかを提供することができる。データヒストリアンアプリケーションは、典型的に、データハイウェイ全体にわたって提供されるデータの一部または全部を収集し、記憶する、データヒストリアンデバイスに記憶され、それによって実行され、一方で、構成データベースアプリケーションは、データハイウェイに取り付けられたなお更なるコンピュータで実行して、現在のプロセス制御ルーチンの構成及びそれと関連付けられるデータを記憶することができる。代替的に、構成データベースは、構成アプリケーションと同じワークステーションに位置させることができる。
【０００５】
いずれにしても、上の考察から明らかなように、様々なハードウェア及びソフトウェア診断アプリケーション、制御アプリケーション、構成アプリケーション、コンピュータオペレーティングシステムソフトウェア及びファームウェアアプリケーション、通信デバイス、ネットワークセキュリティデバイスなどの、プロセスプラント及びプロセスプラント制御システム内の様々なコンピュータデバイスに、またはそれらの全体にわたって実装される数多くのサポートアプリケーション及びシステムがある。プロセスプラント制御システムのこれらの様々なアプリケーションまたはコンポーネントの各々は、様々な異なるフォーマットの様々な異なるタイプのデータを、プラント内の様々な異なる場所またはデータベースで収集し、生成し、そして、記憶することができる。アプリケーションは、例えば、プラント内の様々なコンピュータハードウェアデバイス、及びプラント内の様々なコンピュータで使用されるオペレーティングシステムソフトウェアまたはファームウェアパラメータと関連付けられるものなどの、基本的なまたは基礎となるコンピュータ設定または構成設定を記憶することができる。加えて、アプリケーションは、プラント内で使用される異なる通信プロトコルに従って実装される様々な異なるタイプの通信ハードウェア及びソフトウェアを使用してプラントにおいて電子通信がセットアップされる様式に関する、基本的な通信及び通信ネットワーク設定、構成データ、または他のデータを記憶することができる。なお更に、他のアプリケーションは、プラント内で様々な制御、表示、通信、較正、診断、セキュリティ、及び他のアクションを行うために、様々なプロセス制御ソフトウェア並びにプロセスプラントハードウェア及びソフトウェア診断アプリケーションがプラント内でセットアップまたは構成される様式に関するデータを生成し、記憶することができる。言うまでもなく、非常に多くのアプリケーションまたはシステムがプラント環境内にあり、プラント環境内で実行することができ、これらのアプリケーションまたはシステムの各々は、それらと関連付けられる様々な異なるタイプのデータ、構成設定などを有することができる。
【０００６】
更に、いくつかのより新しいプロセスプラントシステムは、プロセスプラント内で生成される、またはプロセスプラントに関するデータ、及びプラント内の様々なシステムによって生成されるデータの一部または全部を収集する、「ビッグデータ」マシンを含むことができる。「ビッグデータ」は、全般的に、大き過ぎるまたは複雑過ぎるので、従来のデータベース管理ツール及び／またはデータ処理アプリケーション（例えば、リレーショナルデータベース及びデスクトップ統計パッケージ）が、許容できる時間量の範囲内でデータセットを管理することができない、一群の１つ以上のデータセットを指す。典型的に、ビッグデータを使用するアプリケーションは、トランザクショナルであり、エンドユーザに向けたもの、またはそれに焦点を絞ったものである。例えば、ウェブ検索エンジン、ソーシャルメディアアプリケーション、マーケティングアプリケーション、及び小売アプリケーションは、ビッグデータを使用し、操作することができる。ビッグデータは、最新のマルチプロセス、マルチコアサーバの並列処理能力を十分に利用することを可能にする、分散型データベースによってサポートすることができる。上で述べたように、これまで利用できなかったレベルでプロセス制御データをアーカイブする目的で、プロセス制御システム内にビッグデータまたはビッグデータマシンを組み込む方向で、近年、いくつかの開発がなされてきた。しかしながら、現在は、プラント動作の包括的または系統的分析を行う、傾向を検出できる、予測分析を行う、プラント動作内の異常を検出する、より経済的に動作するようにプラントを再調整または再構成する、などのために、プロセスプラントまたはプロセスから収集されるような、このデータを分析または使用する能力が全くないか、または非常に限られている。
【０００７】
したがって、理解されるように、異なるプロセスプラントまたはプロセスの場所と関連付けられる様々な異なるプロセスプラントまたはプロセス制御システムは、同じ基本的なコンピュータハードウェア、通信ネットワーク、プロセス制御及び診断ソフトウェアシステム、並びに他のサポートアプリケーションを使用することができるが、各プラントは、動作中に異なってセットアップし、構成することができ、それによって、本質的には、各プラント更には同じプラントのサブ部分を、一意的な様式で構成され、動作する一意的なコンピュータシステムにする。制御設定、構成設定、ハードウェア接続、コンピュータオペレーティングシステムソフトウェア及びそのバージョン、プラントにインストールすることができた、またはできなかったコンピュータハードウェア及びソフトウェアの更新、プラント内のデータベース及び他のハードウェアの識別情報及び場所、ファイアウォールまたは他のセキュリティ設定などを含む、プラント制御及び通信ネットワークのセットアップまたは構成に含まれる、極めて数多くの因子がある。更に、プラントオペレータは、プラントのハードウェア及びソフトウェアシステムをセットアップまたは構成する際にミスをする場合がある。大部分の場合ではプラントオペレータが、また、いくつかの場合ではプラント情報技術（ＩＴ）要員さえも、（例えば、プラントコンピュータ及び通信ネットワークを含む）プラントネットワークの基礎となる構成及び構造を十分に理解しておらず、したがって、こうした個人は、全般的に、プラントシステム内で起こり得る全てのエラーまたは問題源を検出することができず、プラントネットワークまたはシステムを動作させるときに、エラーを殆ど修復することができない。プラント内のこれらの複雑なプロセス制御システムを維持し、動作させる際にプラント要員を支援するために、プロセス制御システムソフトプロバイダは、全般的に、プロセス制御システムソフトのユーザに技術支援を提供して、コンピュータ及びネットワークの課題のトラブルシューティングを行う際に、及び検出した問題に修正を適用する際に、ユーザ（顧客）を支援する。
【０００８】
しかしながら、このトラブルシューティングは、通常、顧客のコンピュータシステムから診断データを収集し、次いで、収集したデータを手動の様式で分析して、異常、不適切な設定などを検出することを含むので、顧客の課題のトラブルシューティングを行うことは、時間のかかる作業になる場合がある。いくつかの課題は、トラブルシューティングを行うことが困難であり、こうした課題は、実際に制御及びネットワークソフトウェアのソースコードを徹底的に調べて、課題の根本的な原因を決定する技術エキスパートにまで課題が拡大することを伴う場合がある。一方で、いくつかの課題は、それらが過去に異なる顧客のシステムで起こった既知の課題であるため、トラブルシューティングを行うことが非常に容易であり、これらの課題に関するこれらの情報は、後にトラブルシューティングを行い、問題を解決する際に使用するために、文書化され、既知の場所に、または既知の様式で記憶されている場合がある。全般的に、いくつかのシステムにおいて、検出された課題及び該課題に対する解決策は、知識ベース記事（ＫＢＡ）に記憶され、次いで、該ＫＢＡには、顧客のシステムにおいて同じまたは類似する課題に遭遇したＩＴ要員がアクセスすることができる。
【０００９】
全般的に、トラブルシューティングのプロセス及び現在のトラブルシューティングサポートシステムを使用して顧客の課題に対する解決策を提供することは、グローバルサービスセンター（ＧＳＣ）においてローカルエンジニア、プロダクトエンジニア（ＰＥ）、または他の誰かによって指定されるように顧客のサイトからデータを収集することと、次いで、グローバルサービスセンター（ＧＳＣ）の要員（例えば、プロダクトエンジニアエンジニアまたはローカルエンジニアなど）に収集したデータをレビューさせて、顧客の症状／課題が既知であり、以前に記憶したＫＢＡに列記されているかどうかを判定することとを含む。経験豊かな、または上級エンジニアの場合、これらの経験豊かなエンジニアがこの分析を何回も行っているので、このプロセスは、容易な作業になり得る。例えば、経験豊かなエンジニアは、問題または課題の源を解決または検出するために、（顧客のサイトから収集したいくつかのデータファイルのうちの）どのログファイルを開くべきか、該ログファイルにおいてどのようなキーワード／トークンを探すべきか、などを正確に知ることができる。
【００１０】
しかしながら、それとは逆に、新しく雇われた、または下級レベルのエンジニアは、課題が既知の課題である場合であっても、また特に、該課題が新しいもの（すなわち、いかなる記憶されたＫＢＡとも関連付けられないもの）である場合には、データを分析して課題を修正するのを支援するために、より長い時間を必要とする場合がある。経験豊かなまたは上級エンジニアの数が、必ずしも新しいまたは下級エンジニアの数と比例するとは限らないので、この手動の手法はまた、拡張することもできない。
【００１１】
これをより簡単にするために、顧客サイトサポートの課題を検出し、解決する際に支援するために、より自動化されたプロセスが開発されてきた。具体的には、この自動化されたプロセスは、以前に作成された分析ルールを顧客のサイトから収集したデータに適用し、これらのルールを使用して、問題を理解または解決する際に支援することができる１つ以上のＫＢＡを示す、または識別する、分析ルールを生成する。これらのルールは、新しい任意の１組の顧客データに対して自動的に動作させて、顧客サイトのネットワーク及びプロセス制御システムの課題を診断する際に、サポートセンターのエンジニアを支援することができる。しかしながら、この自動化されたプロセスは、より多くの課題を解決するためにより多くの分析ルールを加えることを必要とする、常に新しいプロセスである。残念なことに、この自動化されたプロセス内で新しい分析ルールを生成することは、全般的に、自動化されたプロセスと関連付けられる分析エンジンによって使用することができる様式で、どのように新しい分析ルールを作成し、コード化するのかを理解している開発チームの介入を必要とする。
【００１２】
具体的には、使用している現在の分析サポートシステムは、サービスセンターのエンジニアが、顧客プラントから収集した分析データを１つ以上の分析エンジンに提出することを含み、次いで、該分析エンジンは、１組の有限分析ルールをデータに適用し、既知の課題を探すことによって、収集したデータを分析する。分析ルールを動作させた後に、分析エンジンは、分析エンジンで使用される分析ルールに基づいて、見つかった任意の課題を示す分析結果のリストを生成し、問題に対する１つ以上の可能な解決策を提供し、この解決策は、分析エンジン内で動作する分析ルールによって指定される。しかしながら、このシステムでは、開発者だけしか、より多くの分析ルールを分析エンジンに加えることができない。具体的には、分析ルールを開発するために、サポートシステムのエンジニアは、該エンジニアが通常行う手動のトラブルシューティングの工程を記録し、次いで、このログを書面で開発チームに提出する。次いで、ルール開発者は、この手動のトラブルシューティング工程を使用して、１つ以上の新しい分析ルールを形成するためにローカルエンジニアによって行われるように、手動のトラブルシューティング工程を自動化するコンピュータコードを記録する。次いで、開発者は、新しい分析ルールを試験し、分析エンジンに発行し、その後に、これらの新しいルールを使用して、顧客データを分析する。しかしながら、新しいルールは、分析エンジンの知識を有し、かつ該分析エンジン内で機能する言語及びフォーマットで新しいルールをプログラムすることができる、高度に専門化した、またはエキスパート開発者によって手動で作成しなければならない。更に、新しいルールを開発するプロセスは、時間がかかり、また、特定の課題が（初めて）起こった時間と、後に他の顧客の場所において同じ課題を検出するために、その課題について解決策を検出し、提供するルールが作成され、分析エンジンに提供される時間との間に大幅な遅延をもたらし得る。
【発明の概要】
【００１３】
分析ルールビルダーシステムまたはアプリケーションは、電子顧客テクニカルサポートシステムに提供され、そこに統合され、該電子顧客テクニカルサポートシステムは、顧客テクニカルサポートシステムを使用する人々が、開発者に要求を提出し、１つ以上の新しいルールが顧客テクニカルサポートシステムの将来のリリースにおいて提供されるのを待つことを必要とすることなく、顧客のプロセスプラントサイトで課題を診断し、検出する際に使用するための、顧客自体のカスタム分析ルールをオンデマンドで構築することを可能にする。分析ルールビルダーはまた、必要に応じて、ローカルオフィス及びローカル技術グループによって使用することもでき、または顧客サイトで要員によって使用することができる。カスタム分析ルールは、ローカルエンジニアまたはユーザに新しいルールを生成し、直ちに使用する権限を与えるために、電子顧客テクニカルサポートシステムを使用するエンジニアの間で共有することができる。更に、ローカルグループまたはユーザによって分散様式で作成されたルールは、他のユーザに分散するための集中システムに提供することができ、また、開発者が、どのような分析ルールがローカルユーザによって作成されているのかを理解することを可能にするために使用することができる。なお更に、分析ルールビルダーは、オンラインサポートシステムにおいて使用することができ、該オンラインサポートシステムにおいて、オンサイトエンジニアは、１つ以上のカスタム分析ルールを構築して、プラント制御システム内のある特定のデータストリームまたはイベントを監視し、該ルールを使用して、イベントの検出に応じて、アラームの設定、追加的なデータの収集及び分析などの、プラント内のいくつかのアクションをトリガーする。
【００１４】
一実施形態において、ルールビルダーアプリケーションは、新しい分析ルールをグラフィカルに作成またはプログラミングするための構造化環境を提供し、該構造化環境は、例えば、コンピュータハードウェア及びネットワーク構成アプリケーション、プラントの資産構成及び制御アプリケーション、プロセスプラント制御または診断システム、などが含まれる、例えば、プロセスプラント内の数多くの異なるコンピュータシステム及びアプリケーションのいずれかからのデータを使用または分析するように構成することができる。更に、ルールにおいて使用されるデータは、プラント内に位置するような、データヒストリアン、ユーザインターフェース、ワークステーション、コントローラ、入力／出力デバイス、フィールドデバイス、ビッグデータマシンなどによって、任意の様式で収集されるデータを含むことができ、これらは全て、分析ルールが、プロセスプラントを監視するときに、より多くの系統的または包括的な診断、予測、分析などを行うことを可能にすることを目的とする。
【００１５】
ルールビルダーアプリケーションは、ユーザインターフェース要素を生成して、新しい分析ルールのグラフィカルな構築またはプログラミングを容易にするための、構成ルーチンまたはエンジンを含むことができ、また、分析ルールを実行して、例えば、プロセスプラントコンピュータ及び通信ネットワークデータ、ハードウェア構成データなどを含む、プロセスまたはプロセスプラント内のデータの、または該データに関する分析を行うための、ランタイムエンジンを含むことができる。いくつかの事例において、構成エンジンは、インターフェースルーチンを含むことができ、該インターフェースルーチンは、例えば、データソース（例えば、ルールで使用されるべき入力データのソース）の指示、ルールで使用されるべき論理またはフロー制御動作、及びルールの実装またはルールによる課題の検出の結果として起こり得る出力アクションを含む、分析ルールを構築する際に使用されるべき様々なコンポーネントまたはツールを表示デバイス上に表示する。構成エンジンはまた、表示されたルールを、ランタイムエンジン（例えば、分析エンジン）によって実行可能なソフトウェアフォーマットに変換する、ルールまたは論理コンパイラも含むことができる。ランタイムエンジンは、ルールを実行する際に使用されるデータを取り出すためのデータ取り出しルーチン、及び実行可能な分析ルールを動作させる、または実行するルール実行ルーチンを含むことができる。
【００１６】
いくつかの事例において、インターフェースルーチンは、メモリに記憶された命令を含むことができ、該命令は、プロセッサ上で実行したときに、様々なデータの１つ以上のソース、１組以上の制御フローまたは論理動作、及び１つ以上の出力アクションを表示するツールボックス領域をユーザディスプレイ上に生成し、また、ワークフロー領域をユーザディスプレイ上に生成する。使用中に、ユーザは、ツールボックス領域に表示されるデータソース（またはデータソース階層）を通してナビゲートして、分析ルールにおいて使用されるべき特定の入力データの場所を指定または定義することができ、また、１つ以上の入力データソースをワークフロー領域にドラッグすることができる。より具体的には、データ階層領域は、プラント内の様々な異なるコンピュータシステムまたはアプリケーションから入手可能なデータの入力データインジケータまたは他の指示を表示することができる。このようなデータソース階層は、プラント内で生成されるデータのタイプを定義するデータを記憶するプラント構成システムまたはプラント構成データベース、プラント内のデータを生成または記憶するアプリケーション、並びにプラント内に記憶されたときのそのデータのフォーマット及び／または構造に由来し得るか、またはそれらによってポピュレートされ得る。なお更に、ツールボックス領域は、様々な論理の指示を含むこと、または分析ルールにおいて使用することができるフロー動作を制御することができる。この場合、ユーザは、１組の制御フローまたは論理動作のうちの１つを使用または選択し、これらの動作をワークフロー領域にドラッグして、選択したデータに提供されるべき１つ以上の論理動作を１つ以上のルールにおいて定義し、そして、これらの動作の順序またはシーケンスを定義することができる。同様に、ツールボックス領域は、１つ以上の出力アクションの指示を含むことができ、ユーザは、表示画面のツールボックス領域内のこれらの出力動作のうちの１つ以上を選択し、これらの出力アクションをワークフロー領域にドロップして、分析ルールの論理または制御フロー動作によって行われる論理的判定に応じて、ルールがとるアクションを定義することができる。このような出力動作は、論理動作または判定が行われたときにとるべき１つ以上のアクションを指定することができ、出力動作は、表示アクション、アラームアクション、プラントにおける物理的動作または物理的アクションなどのアクションを含むことができる。
【００１７】
したがって、一実施形態において、ユーザがグラフィカルにルールを作成することを可能にするために、ユーザインターフェースルーチンは、ルールをグラフィカルに作成し、作成されているルールを示すための主提示ウィンドウとしての役割を果たすキャンバスまたはワークフロー領域をユーザインターフェースまたはディスプレイ上に作成することができ、インターフェースルーチンはまた、作成されているルールの概略または概要を表示する概略領域も生成することができる。全般的に、任意のユーザは、ルールビルダーアプリケーションの構成ルーチンを使用して、ワークフロー領域内の分析ルールのサブ要素（データ入力、制御フロー論理、及び出力アクション）をグラフィカルに配設し、それによって、プラント内のいくつかのアクションに対する必要性を表すまたは示す出力アクションを作成するために、ルールの論理が（ルールに指定されるように）入力データに対して動作する様式を定義することができる。
【００１８】
ルール構成エンジンはまた、ユーザインターフェースルーチンを使用するユーザによって作成されるときに、ルールのグラフィカル表現を、コンパイルされたルールに、すなわち、分析エンジンによってサポートされる実行可能なフォーマットに変換するために、メモリに記憶され、プロセッサ上で実行可能なコンパイラルーチンも含むことができる。コンパイルされたルールは、ルールが正しくまたは要望どおりに動作しているかどうかを判定するために、指定されたデータファイルに対してオンライン分析エンジンにおいて試験することができる。終了したときに、ユーザは、コンパイルされたルールを新しいルールとしてメモリに保存することができ、その後に、該ルールは、オフライン分析エンジンによって、またはプラント環境内のランタイム分析エンジンによって動作させて、または実行して、プラントからのデータを分析し、それによって、プラントの課題を検出し、診断することができる。
【００１９】
いくつかの事例において、ユーザは、ルールを作成することができ、次いで、ビッグデータマシン（または他の履歴データベース）内に記憶された履歴データに対してこのルールを動作させて、該ルールがその意図する目的に対して適切に動作するかどうかを判定することができる。適切に動作しない場合、ユーザは、例えばルール内に追加的な論理または入力／出力データを組み込むことによって、ルールを変更する、または変化させることができ、次いで、変更したルールを同じ組の履歴データ（または同じ１つまたは複数のソースからのデータ）に対して再度動作させ、それによって、変更したルールを試験することができる。ルールビルダーアプリケーションが、プロセス内で生成または検出されたデータの全部または大部分を収集するビッグデータマシンを有するプロセスプラントに接続された場合は、このデータがプロセスのビッグデータアーキテクチャの一部として収集されているので、変更したルールにおいて使用される新しいパラメータと関連付けられるデータを、ビッグデータビッグデータ履歴データベースにおいて直ちに利用できる。この様式で、ルール作成者は、これらのルールがオンラインのプラント環境内またはオフラインの顧客テクニカルサポートシステム内の動作の中へ配置される前に、履歴データに対するルールを素早くまたはより容易に設計し、試験し、変更し、そして再試験することができる。
【００２０】
したがって、ユーザは、構成エンジンを使用して、不適切なコンピュータまたは通信ネットワークの設定、構成などのための、プラント装置による障害を検出するための、プラントの動作内の障害を検出するための、プラントの動作を分析するための、プラント内の現在の問題を診断するための、プラント内の潜在的な将来の問題を予測するための、プラントデータ及びプラント装置内の関係を識別するための、などのルールをグラフィカルに作成し、コンパイルすることができる。したがって、本明細書で説明されるようなルールビルダーアプリケーションは、プロセスプラントサポートシステムにおいて、並びにプロセスプラントコンピュータ及び通信ネットワーク環境内で、論理ルールをグラフィカルに作成し、実行するための、ロバストかつ効率的なアーキテクチャを提供する。
【００２１】
別の実施形態において、プロセスプラントからのデータを分析する際に使用するための分析ルールのグラフィカルな構築を容易にするためのコンピュータシステムは、非一時的なコンピュータ読み出し可能なメモリを含み、該メモリは、プロセスプラント内のデータソースを定義する１つ以上のデータソーステンプレート、プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶する。コンピュータシステムはまた、構成エンジンも含み、該構成エンジンは、コンピュータ処理デバイス上で動作し、インターフェースルーチンを更に含み、該インターフェースルーチンは、ユーザインターフェースデバイスを介して、１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含む、ルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域、並びに１つ以上のルールコンポーネントテンプレートのグラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域を生成し、該ルールコンポーネントは、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む。構成エンジンは、グラフィカル入力ルーチンを実行して、ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを表示するように動作し、該ルールコンポーネントの各々のための対話型ウィンドウは、ユーザがルールコンポーネントの各々の１つ以上の特定のパラメータを定義することを可能にする。具体的には、グラフィカル入力ルーチンは、データソースコンポーネントについて、分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを表示する。更に、グラフィカル入力ルーチンは、機能コンポーネントについて、特定のデータソースからの特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを表示する。なお更に、グラフィカル入力ルーチンは、出力コンポーネントについて、１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを表示する。
【００２２】
コンピュータシステムはまた、プロセッサ上で実行して、ルールコンポーネントの各々のユーザ定義のパラメータを含むルールコンポーネントを、実行可能な分析ルールにコンパイルする、コンパイラ、及びコンピュータ処理デバイス上で実行して、実行可能な分析ルールを実行する、ランタイムエンジンも含む。
【００２３】
所望であれば、非一時的なコンピュータ読み出し可能なメモリは、複数のデータソーステンプレートの各々のための１組のメタデータを記憶することができ、データソーステンプレートの各々のためのメタデータは、データソースからのデータの構造を定義する。メタデータは、例えば、データソーステンプレートと関連付けられるデータソースから取得されるデータファイルに記憶されるようにデータの構造を定義することができる。入力データコンポーネントのユーザ定義可能なパラメータは、データベースフォーマットで記憶されるようにデータの横列及びキーの指示などのデータソースのためのメタデータにおいて定義される１つ以上のパラメータの指示、データソースコンポーネントによって参照されるデータのデータ値、及び／またはデータソースコンポーネントによって参照されるデータ値に適用されるべき数学動作を含むことができる。
【００２４】
なお更に、機能コンポーネントのユーザ定義可能なパラメータは、１つ以上の論理動作のうちの１つにおいて使用されるべきデータの変数名の指示、変数名によって指定されるデータに関して試験されるべき論理条件の指示、及び／または１つ以上の論理動作の実行順序の指示を含むことができる。
【００２５】
出力コンポーネントのユーザ定義可能なパラメータは、検出された課題の修正に関する情報を知識ベース記事が記憶する、データベースに記憶された知識ベース記事の指示などの、出力表示の一部として提供されるべき情報の指示、機能コンポーネントによって指定される論理動作によって行われる判定に応じて開始するための、電子通信（例えば、電子メール、アラーム、制御信号など）の指示、及び／またはプロセスプラント内の、または該プロセスプラントと関連付けられるユーザインターフェースに提供されるべきメッセージの指示を含むことができる。
【００２６】
なお更に、データソーステンプレートは、全般的に、サーバ／ワークステーションハードウェアデータソース、オペレーティングシステムデータソース、プロセスコントローラデータソース、バッチデータソース、ネットワーク通信／インフラストラクチャデータソース、オペレータインターフェースデータソース、データベースデータソース、ソフトウェア及びアプリケーションデータソース、安全計装データソース、ＯＰＣシンプレックス若しくは冗長／ミラー化セバーデータソース、ログブックデータソース、または仮想化データソースのうちの任意の１つ以上を定義することができ、全てが、プロセスプラントの様々なプロセス制御システム及びサポートシステムにおいて生成または記憶される。
【００２７】
ランタイムエンジンは、実行可能な分析ルールを実行する実行エンジン、及びデータソースコンポーネントによって指定されるように特定のプロセスプラントサイトのためのデータベースに記憶されたデータファイルからデータを取り出すデータレトリーバーを含むことができる。コンピュータシステムは、複数組の顧客データファイルを記憶するデータベースを更に含むことができ、該複数組の顧客データファイルの各々は、異なる顧客プロセスプラントサイトと、または同じ顧客プロセスプラントサイトの異なる収集時間と関連付けられ、ランタイムエンジンは、複数組の顧客データファイルのうちの指定された１つからのデータを使用して、実行可能な分析ルールを実行することができる。いくつかの事例において、ランタイムエンジンは、ユーザが、使用する複数組の顧客データファイルのうちの１つを指定することを可能にする、ポップアップウィンドウなどのユーザ対話型コンポーネントを含むことができる。
【００２８】
なお更に、コンピュータシステムは、実行可能な分析ルールを、他のユーザが使用するためのルールデータベースに発行するためにプロセッサ上で実行する、発行者ルーチンを含むことができる。インターフェースルーチンは、ユーザインターフェースデバイスを介して、ワークフロー領域に表示される分析ルールの概要を表示する概略領域を更に生成することができる。
【００２９】
別の実施形態において、分析ルールのグラフィカルな構築を容易にするコンピュータ実装の方法は、非一時的なコンピュータ読み出し可能なメモリに、プロセスプラント内のデータソースを定義する１つ以上のデータソーステンプレート、プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶することを含む。本方法はまた、ユーザインターフェース上で、コンピュータ処理デバイスを使用して、１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含むルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域を生成すること、並びに１つ以上のルールコンポーネントテンプレートのグラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域を生成することであって、該ルールコンポーネントが、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む、ワークフロー領域を生成することを含む。なお更に、本方法は、ユーザインターフェースデバイス上のワークフロー領域において、コンピュータ処理デバイスを使用して、１組のルールコンポーネントテンプレートの各々のユーザによる選択に応じて、ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを生成すること、及びユーザがルールコンポーネントの各々の特定のパラメータを定義することを可能にするために、ルールコンポーネントの各々のための対話型ウィンドウを使用することを含む。具体的には、本方法は、データソースコンポーネントについて、分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを使用することができる。同様に、本方法は、機能コンポーネントについて、特定のデータソースからの特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを使用することができる。なお更に、本方法は、出力コンポーネントについて、１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを使用することができる。
【００３０】
同様に、本方法は、コンピュータプロセッサデバイス上で、ルールコンポーネントの各々のユーザ定義のパラメータを含むルールコンポーネントを、実行可能な分析ルールにコンパイルすること、及びコンピュータ処理デバイス上で、実行可能な分析ルールを実行することを含む。
【００３１】
更に別の実施形態において、データをオンラインで生成または記憶するプロセスプラント装置を有するプロセスプラントにおいてデータをオンラインで分析する際に使用するための分析ルールのグラフィカルな構築を容易にするためのコンピュータシステムは、プロセスプラント内のプロセスプラント装置と関連付けられるデータソースを定義する１つ以上のデータソーステンプレート、プロセスプラントからのデータを使用して行われるべき論理判定動作を定義する１つ以上の機能テンプレート、及び論理判定動作に応じて行われるべきアクションを示す１つ以上の出力テンプレートを含む、複数のルールコンポーネントテンプレートを記憶する、非一時的なコンピュータ読み出し可能なメモリを含む。コンピュータシステムはまた、構成エンジンも含み、該構成エンジンは、コンピュータ処理デバイス上で動作し、インターフェースルーチンを更に含み、該インターフェースルーチンは、ユーザインターフェースデバイスを介して、１つ以上のデータソーステンプレート、１つ以上の機能テンプレート、及び１つ以上の出力テンプレートを含む、ルールコンポーネントテンプレートのグラフィカルな描写を表示するライブラリ領域、並びにルールコンポーネントテンプレートの１つ以上のグラフィカルな描写のユーザ選択に基づいて、ルールコンポーネントを受信し、表示するワークフロー領域を生成し、該ルールコンポーネントは、少なくとも１つのデータソースコンポーネント、１つの機能コンポーネント、及び１つの出力コンポーネントを含む。
【００３２】
ここで、構成エンジンは、グラフィカル入力ルーチンを実行して、ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを表示するように動作させることができ、該ルールコンポーネントの各々のための対話型ウィンドウは、ユーザがルールコンポーネントの各々の特定のパラメータを定義することを可能にする。例えば、グラフィカル入力ルーチンは、データソースコンポーネントについて、分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを表示することができる。同様に、グラフィカル入力ルーチンは、機能コンポーネントについて、特定のデータソースからの特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを表示することができる。更に、グラフィカル入力ルーチンは、出力コンポーネントについて、１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを表示することができる。
【００３３】
なお更に、本コンピュータシステムは、プロセッサ上で実行して、ルールコンポーネントの各々のユーザ定義のパラメータを含む分析コンポーネントを、実行可能な分析ルールにコンパイルするコンパイラを含むことができ、また、コンピュータ処理デバイス上で実行し、実行可能な分析ルールを実行して、プロセスプラントからのデータをオンラインで分析する、プロセスプラント装置に結合されるランタイムエンジンを含むことができる。いくつかの事例において、出力コンポーネントのユーザ定義可能なパラメータは、機能コンポーネントによって指定される論理動作によって行われる判定に応じて（アラーム、制御信号、安全シャットダウン信号など）開始するために、プロセスプラント制御システム内に１つ以上の電子通信の指示を含むことができ、及び／またはプロセスプラントと関連付けられるプロセス制御オペレータに提供されるべきメッセージの指示を含むことができる。更に、データソーステンプレートの１つは、プロセス制御システムからのデータストリーム、プロセスプラント内のプロセスコントローライベントに関するデータ、またはプロセスプラント内のユーザワークステーションイベントに関するデータを参照することができる。
【図面の簡単な説明】
【００３４】
【図１】多数の顧客プロセスプラントサイトに通信可能に接続している、例示的なプロセスプラントテクニカルサポートシステムのブロック図である。
【図２】その中に統合されたルールビルダーアプリケーションを有する、例示的なプロセスプラントテクニカルサポートシステムのブロック図である。
【図３】図２のルールビルダーアプリケーションの一実施形態のブロック図である。
【図４】新しい分析ルールを構築する、試験する、及び発行することに関して様々なアクションをとるために、図３のルールビルダーアプリケーションによって作成することができる例示的な画面提示を示す図である。
【図５】新しい分析ルールの態様を定義するためにルールビルダーアプリケーションによって生成することができる、例示的な画面提示を示す図である。
【図６】ユーザが新しい分析ルールをグラフィカルに定義すること、確認すること、及び編集することを可能にするために、ルールビルダーアプリケーションによって作成することができる、例示的な画面提示を示す図である。
【図７】作成されている新しい分析ルールの一部として使用するためのデータ入力ソースのユーザによる指定を例示する、例示的な画面提示を示す図である。
【図８】新しい分析ルールを作成するときに、図７において指定されたデータソースに適用するために、論理動作を指定するユーザを例示する、例示的な画面提示を示す図である。
【図９】新しい分析ルールを作成するときに、図８において指定された論理動作の異なる論理フロー状況に応じて使用するための２つの出力アクションのユーザによる指定を例示する、例示的な画面提示を示す図である。
【図１０】ルールビルダーアプリケーションを使用して定義されるルールの出力として生成される例示的な表示を示す図である。
【図１１】プラントの課題をリアルタイムに検出するために、オンラインプラント環境においてルールビルダーアプリケーションを使用する例示的なシステム及び使用方法の線図である。
【００３５】
図面は、単に例示の目的で本発明の実施形態を描写する。当業者は、本明細書で例示される構造及び方法の代替の実施形態が、本明細書で説明される本発明の原理を逸脱することなく用いられ得る、以下の議論から容易に認識するであろう。
【発明を実施するための形態】
【００３６】
図１は、例えばインターネット接続、ローカルエリアネットワーク（ＬＡＮ）ライン、ワイドエリアネットワーク（ＷＡＮ）ライン、ハードワイヤード若しくは無線通信接続、及び／または任意の他のタイプのデータ若しくは通信接続とすることができる、データネットワーク通信接続を介して、様々な顧客サイトまたは場所１２、１４、１６、及び１８に接続された顧客テクニカルサービスまたはサポートセンター１０を例示する。顧客サイト１２〜１８の各々は、異なるプロセスプラントまたはプロセスプラントの異なる領域または部分を含むか、またはそれらと関連付けられ、各サイト１２〜１８は、プラント装置を制御し、監視するために使用される、コントローラ、入力／出力デバイス、フィールドデバイス、データヒストリアン、ユーザワークステーション、及びインターフェースなどの、様々なプロセス制御デバイスを有するプロセス制御ネットワーク２０を該サイトの中に含むように例示される。顧客サイト１２〜１８のプロセスプラントは、任意の数のオペレータワークステーション、ホストワークステーション、データベース、及び典型的なプロセス制御ネットワーク、またはプロセス制御システムと関連付けられる他のプロセスプラント装置を含むことができ、これらのデバイスは、任意の数の異なるプロセスプラント制御、監視、及びサポートアプリケーションを記憶し、実行することができる。
【００３７】
当然、顧客サイト１２〜１８のプラント内のプロセス制御ネットワーク２０の各々は、異なる装置によって構成すること、異なる数及びタイプのコントローラ、フィールドデバイス、及び他のプラント装置を有すること、異なるタイプのプロセスまたはプラント装置を制御するようにセットアップすること、異なる制御及びサポートアプリケーションを動作させること、異なるオペレーティングシステムまたは異なるバージョンのオペレーティングシステムを使用すること、などができる。なお更に、顧客サイト１２〜１８の各々は、様々なプロセス制御デバイスをともに接続する１つ以上のコンピュータ及び通信ネットワークデバイスを含むことができ、顧客サイト１２〜１８のプラントは、同じまたは異なるタイプのユーザ及びオペレータサポートハードウェア、ファームウェア、ソフトウェアアプリケーションを提供することができる。理解されるように、プロセス制御ネットワーク２０及びそうしたプロセス制御ネットワーク２０をサポートするコンピュータシステムは、様々なプロセス制御ネットワーク及びオペレーティングシステムソフトウェア、並びにそれらと関連付けられる様々なデータを有する他のコンピュータ実装のアプリケーションを動作させる。具体的には、数多くの事例において、プロセス制御ネットワーク２０は、プラント内で生成される、構成データ、ランタイムデータ、コンピュータネットワーク設定データ、通信ネットワークデータ、エラーデータ、サポートアプリケーションデータなどを含む、プラントと関連付けられるデータを収集し、記憶するデータヒストリアンまたは他のデータベースを有する。同様に、これらのプラント内のコンピュータシステムは、オペレーティングシステムソフトウェア、通信ネットワーク構成ソフトウェアなどを含み、これらは、任意の数の異なる様式及び／またはフォーマットのデータを生成し、記憶する。
【００３８】
一方で、顧客テクニカルサポートセンター１０は、様々なコンピュータ及び処理デバイスを含み、これらは、顧客サイト１２〜１８の課題のトラブルシューティングを行うための、または顧客を支援するためのサポートを提供して、顧客サイト１２〜１８のプロセスプラント２０と関連付けられる課題または問題を診断するために使用される。一例として、顧客テクニカルサポートセンター１０は、１つ以上のコンピュータサポートシステム（コンピュータシステム）３０、並びに１つ以上のデータベース３２を含むことができ、これらは、顧客サイト１２〜１８のプラントまたはプロセス制御システムにおける課題を検出し、診断する際に支援を提供する目的で、顧客サイト１２〜１８の各々からデータを取得し、分析するように動作する。全般的に言えば、コンピュータサポートシステム３０は、任意の数のコンピュータ、またはワークステーション、サーバ、分析エンジンなどを含む、他の処理デバイスを含むことができ、これらは、様々な顧客サイト１２〜１８から収集されるデータを使用する（該データは、本明細書では顧客データファイルとも称され、データベース３２に記憶される、様々なデータファイルに記憶することができる）。データコレクタアプリケーション３４は、顧客サイト１２〜１８の各々に位置させることができること、具体的には、顧客サイト１２〜１８の１つ以上の処理デバイス内に存在させることができること、顧客サイト１２〜１８で動作している様々なアプリケーションからデータを収集するために顧客サイト１２〜１８のプロセッサ上で実行することができること、及びこのデータを顧客テクニカルサポートセンター１０に送信するように動作させることができることに気が付くであろう。いくつかの事例において、顧客は、顧客サイトの様々なアプリケーション、オペレーティングシステム、ハードウェアシステムなどから様々なデータファイルを収集するために、所望の時間に、サポートセンター１０による要求に応じて、更には定期的に、データコレクタアプリケーション３４を実行することができる。顧客は、次いで、セキュリティの目的でサードパーティのウェブサイトを使用して、データコレクタアプリケーション３４の出力をｚｉｐファイルとしてアップロードすることができる。次いで、サービスセンター１０の要員は、サードパーティウェブサイトからｚｉｐファイルをダウンロードすることができ、（特定の収集について様々な顧客データファイルを取得するために）ダウンロードしたｚｉｐファイルをアンパックすることができ、そして、特定の時間またはダウンロード時に、特定の顧客と関連付けられているようなデータベース３２にこれらのデータを記憶することができる。他の事例において、コンピュータサポートシステム３０は、通信及び制御アプリケーションを含むことができ、該アプリケーションは、定期的にまたはオンデマンドで実行して、データコレクタアプリケーション３４と直接、またはサードパーティを介して、またはデータコレクタアプリケーション３４を有する他のウェブサイトと通信し、データコレクタアプリケーション３４に、顧客サイト１２〜１８のプラント２０から新しいデータを収集させる。収集したデータは、プラント２０内の異なるアプリケーション及び他のデータソースと関連付けられる様々な異なるデータファイルの中へ配置することができ、これらのデータファイルは、（特定の時間に）特定の顧客サイトからの１組の顧客データとしてともに記憶することができる。このデータは、動作制御ネットワーク及びアプリケーションによって生成されるか、またはそれらと関連付けられ、並びに顧客サイト１２〜１８においてプラントネットワークと関連付けられるか、またはそれによって使用されるコンピュータ及びオペレーティングシステムと関連付けられる。
【００３９】
全般的に言えば、データコレクタ３４の各々は、顧客サイト１２〜１８のコンピュータに記憶され、そこで実行され、更にいくつかの事例では、顧客テクニカルサポートセンター１０のコンピュータ（例えば、サーバ）に記憶し、実行することもできる。更に、データコレクタ３４は、顧客サイト１２〜１８内の他のコンピュータまたは電子デバイスと接続して、特定のタイプのデータを収集し、このデータを予め定義されたファイルの中へ配置するように動作し、次いで、該データは、顧客テクニカルサポートセンター１０のデータベース３２に送信され、及び／またはそこに記憶される。データコレクタ３４は、定期的に、オンデマンドで、及び／または所定の時間にデータを収集するようにセットアップすることができ、また、顧客サイト１２〜１８の各々について、顧客サイト１２〜１８に存在するハードウェア及びソフトウェアアプリケーションと関連付けられる異なるデータを収集するように異なって構成することができる。データコレクタ３４は、顧客サイト、そうした顧客サイトの資産、及びソフトウェアアプリケーションなどに応じて、特に構成されたデータにアクセスし、収集して、様々な異なるタイプのデータを収集するように動作させることができ、また、異なるフォーマット、ファイル構造、データベース構造などのデータを収集することができる。したがって、異なるデータコレクタ３４は、顧客サイト１２〜１８の各々について、異なるユーザまたは顧客アプリケーション及び資産と関連付けられる、異なるタイプのデータを収集することができる。全般的に言えば、データコレクタ３４は、プロセス制御タイプデータ（例えば、構成及び動作データを含む）、ワークステーション及びサーバ構成データを含むコンピュータハードウェアデータ、通信ネットワーク構成データ、ユーザインターフェースデータ、オペレーティングシステムデータ、または顧客サイト１２〜１８のコンピュータまたは他のデバイスに関して、またはそれらについて記憶されたメタデータなどの、任意の他のタイプのデータを収集する。このようなデータは、例えば、顧客サイト１２〜１８のコンピュータまたはネットワークの設定（表示解像度設定、ディスプレイ設定、ネットワーク設定、ポート設定など）の説明または指示を含むことができる。更に、異なるタイプのデータの各々は、同じまたは異なるデータフォーマットで異なるデータファイルに記憶することができ、該フォーマットは、全般的に、データのタイプ、データを生成するアプリケーションまたはシステムなどに依存する。
【００４０】
いずれにしても、データコレクタ３４は、顧客テクニカルサポートセンター１０のコンピュータシステム３０によって実装される１つ以上の分析エンジンによって使用するために、定期的に、または顧客サイト１２〜１８のユーザによって構成されるような様々な時間に、または他の方法で、顧客データを有するデータファイルを収集し、データベース３２に提供する。より具体的には、コンピュータシステム３０は、１つ以上の分析エンジンを記憶し、実行することができ、該分析エンジンは、顧客データファイルの収集したデータを分析して、顧客サイト１２〜１８の顧客システムまたはプラント２０と関連付けられる課題を検出するために、予め記憶された分析ルールを使用する。所望であれば、センター１０の分析エンジンは、既知の課題または問題について顧客サイトを自動的かつ定期的にレビューするように、各新しい顧客データファイルまたは１組の顧客データファイルの受信に応じて、顧客データを自動的に分析するために、記憶された分析ルールを使用することができる。加えて、顧客サービスセンター１０は、１つ以上のスタンドアロンコンピュータまたはエンジニアインターフェース（例えば、ワークステーション）を含むことができ、これらは、顧客サイト１２〜１８の様々なものと関連付けられる特定の問題を解決するのを補助するようにセットアップすることができる。具体的には、これらのワークステーションは、１組の予め記憶された分析ルールを使用した分析エンジンの動作によって検出されなかった新しい問題または課題を解決するのを補助するために、特定の問題を有する顧客と接触することができるローカルエンジニアが使用することができる。これらの事例において、エンジニアは、データコレクタ３４に、１つ以上の特定のタイプのデータを収集させるか、または顧客サイトからの新しい１組のデータを収集させることができ、ローカルエンジニアは、そのデータを分析するために、このデータの手動のレビューを実施することができる。いくつかの事例において、ローカルエンジニアは、データを分析するために、１つ以上の分析ルールを使用することができ、これらのルールは、分析エンジンによって記憶し、使用することができ、またはローカルエンジニアによって作成される、または該ローカルエンジニアが利用可能な新しいルールとすることができる。
【００４１】
顧客テクニカルサポートセンター１０のコンピュータ内で利用可能である、または該コンピュータによって実行される、分析ルールの生成、作成、及び使用をより透明かつ容易にするために、顧客テクニカルサポートセンター３０は、１つ以上のルールビルダーアプリケーションを含むことができ、これらは、ローカルエンジニアまたは他のユーザが、新しい顧客サポート状況または課題が生じたときに、新しい分析ルールをグラフィカルに作成し、試験することを可能にする。更に、ルールビルダーアプリケーションは、（同じ顧客テクニカルサポートセンター１０の、または他のテクニカルサポートセンターのいずれかの）他のエンジニアが使用するために、ローカルエンジニアが、所望であれば、新しく作成した分析ルールをアップロードまたはプロモートすることを可能にする。ルールビルダーアプリケーションはまた、様々な顧客データファイルがセンター３０で収集されるか、または利用可能になったときに、該顧客データファイルに自動的に提供されるように、新しい分析ルールを、同じまたは異なる顧客テクニカルサポートセンターの分析サーバが使用することを可能にすることもできる。
【００４２】
図２は、図１にあるような、例示的な顧客テクニカルサポートセンター１０のより詳細なブロック図を例示する。具体的には、図２の顧客テクニカルサポートセンター１０は、図１の顧客サイト１２〜１８から収集されるような様々な顧客データファイル（例えば、様々な組の顧客データファイル）を受信し、記憶する、１つ以上のデータベース３２を含む。更に、顧客テクニカルサポートセンター１０は、分析エンジン５０と、ルールデータベース５２に記憶される１組の分析ルールと、ユーザインターフェース５４とを含む。これらのコンポーネント５０、５２、及び５４は、例えば、１つ以上のワークステーション、またはセンター１０の他のコンピュータ処理デバイスに実装することができる。更に、ユーザインターフェースデバイス５４は、分析エンジン５０の動作を管理するためにエンジニアまたは他の要員が使用して、例えば、ルールデータベース５２において分析ルールを使用して様々な顧客データファイルに対して分析エンジン５０を動作させること、及び分析エンジン５０が（データベース３２に記憶される、またはそこから入手できるような）顧客データファイルを分析するためにルールデータベース５２に記憶された分析ルールを使用するときに、分析エンジン５０の出力をレビューすることができる。１つの実施例において、分析エンジン５０は、新しい１組の顧客データファイルが入ってくる度に、またはデータベース３２に記憶される度に動作させることができ、その際に、既知の問題または課題を検出するために、分析ルールの各々、またはルールデータベース５２内に記憶された分析ルールの特に構成されたサブセットを適用して、顧客データファイル内のデータを分析することができる。次いで、分析エンジン５０は、ユーザインターフェース５４に関する、または該ユーザインターフェースの検出された課題または問題を示すことができる。
【００４３】
全般的に言えば、ルールデータベース５２の分析ルールは、顧客サイトの特定の課題または問題を指摘するために、及びテクニカルサポートセンター１０のローカルエンジニアまたは他のサポート要員が顧客サイトの特定の問題を診断または検出するのを支援するために、顧客データファイルを分析するために使用されるように作成され、記憶された論理ルールである。このような問題は、ユーザインターフェース５４を介して、１組の警告、検出された課題などとして表示することができ、そうした検出された課題の各々は、知識ベース記事（ＫＢＡ）データベース５６に記憶された知識ベース記事と関連付けることができる。各ＫＢＡは、問題または課題を定義すること、またはそれと関連付けることができ、また、検出された問題と関連付けられる潜在的な解決策、修繕策、または次善策を提供することができる。このようなＫＢＡは、データベース５６に、またはユーザインターフェース５４を介してアクセス可能な任意の他の場所に記憶することができる。データベース５６のＫＢＡは、顧客のプラントのデータに基づいて、顧客のプラントで検出された課題をどのように修繕または是正するのかを顧客に知らせるように、ローカルエンジニア及び顧客に情報を提供するために使用することができる。
【００４４】
なお更に、顧客テクニカルサポートセンター１０は、ローカルエンジニアリングステーション６０を含むことができ、該ローカルエンジニアリングステーションは、例えば、データベース３２に記憶されたような顧客データファイルのより詳細かつ複雑な分析を行うために、または顧客データファイル内のデータに基づいていかなる分析ルールも検出するように作成されていなかった特定の課題を解決する際に支援するために、ローカルエンジニアまたは任意の他のサポート要員によって使用することができる。ローカルエンジニアリングステーション６０は、ワークステーションまたは他のコンピュータ処理デバイスとすることができ、また、ユーザインターフェース６２に接続されたコンピュータプロセッサ及びメモリを含むことができる。ローカルステーション６０は、データベースまたはファイルサーバ３２内の顧客データファイル３２に、及びルールデータベース５２内の様々な分析ルールにアクセスすることができる。動作中に、ローカルエンジニアまたは他のユーザは、ステーション６０を使用して、分析するデータを取得するために、データファイル３２からデータを収集すること、及び／または顧客サイト１２〜１８内のファイルサーバ３２及び１つまたは複数のデータコレクタ（図２では図示せず）を介して、顧客サイトから新しいデータを実際に取得することができる。ローカルステーション６０のローカルエンジニアは、そのデータを手動で分析して、新しい課題と、またはルールデータベース５２に記憶された分析ルールを使用して分析エンジン５０によって以前に識別されなかった課題と関連付けられる問題を検出することができる。更に、ステーション６０のローカルエンジニアは、ルールデータベース５２に記憶された様々な分析ルールのうちの１つ、または例えば所望によりステーション６０にローカルに記憶された他の分析ルールを動作させて、顧客サイトに関する新しい問題または新しい課題を診断し、検出するために、ローカル分析エンジンを実行することができる。このプロセスの一部として、ローカルエンジニアは、将来に特定の課題を検出するために新しい分析ルールを作成することができる、または作成するべきであると実際に検出または判断することができ、これらの状況では、そのような分析ルールを作成するために、図２に例示されるようにルールビルダーアプリケーション６４を使用することができる。
【００４５】
全般的に言えば、ローカルエンジニアは、ルールビルダーアプリケーション６４を使用して、ルールにおいて使用されるべき１組の顧客データファイル３２と関連付けられるデータ、分析ルールにおいて使用されるべきフロー論理または論理ステートメント（動作）、並びにＫＢＡデータベース５６に記憶されたＫＢＡのうちの１つへのポインタの表示などの、分析ルールと関連付けられる１つ以上の出力アクション、または新しい分析ルールに基づく課題の検出に応じてとるべきいくつかの他のアクションを決定または指定することによって、新しい分析ルールをグラフィカルに作成することができる。いくつかの事例において、ローカルエンジニアは、新しいＫＢＡを作成し、このような新しい分析ルールと関連付けられるＫＢＡデータベース５６に記憶することができる。理解されるように、ルールビルダーアプリケーション６４は、新しい分析ルールの動作を試験し、新しい分析ルールがその所望の、または意図する目的で機能することを確認するために、ユーザが、対話的かつグラフィカルに新しい分析ルールを作成すること、及びデータベース３２の顧客データファイルのうちの１つ以上からのデータを使用して分析ルールをオンラインで試験することを可能にすることができる。
【００４６】
新しい分析ルールを作成し、他のサポート要員による使用のために、または他の顧客データを分析するための分析エンジン５０での使用のために有益であり得ると判定した後に、ローカルエンジニアは、ルールビルダーアプリケーション６４に、新しい分析ルールを発行者アプリケーション６６に提供させることができ、次いで、該発行者アプリケーションは、必要に応じて、分析エンジン５０または他のサポート要員による使用のために、該ルールをルールデータベース５２に発行するように動作する。新しく発行された分析ルールは、例えば任意の所望の様式で他の顧客に関する課題を診断する際に使用するために、一般のルールデータベース５２を介して、他のローカルエンジニアが利用できるようにすることができる。更に、発行された分析ルールを他のユーザに提供することは、有線及び／または無線通信ネットワークを介して、そうした分析ルールを他のサポートセンターのユーザに提供すること、または新しい分析ルールを顧客サイトのユーザに提供することを含むことができる。
【００４７】
図３は、図２のルールビルダーアプリケーション６４の例示的な一実施形態のブロック図を例示する。この実施例において、ルールビルダーアプリケーション６４は、新しいルールを試験する際に使用するためのルール構成エンジン６８、及び新しいルールが作成されているときに該新しいルールを試験する際に使用するためのランタイムエンジン６９を含む。全般的に言えば、構成エンジン６８は、グラフィカルな表示及びプログラミング環境をユーザディスプレイ（図２のユーザディスプレイ６２として例示される）を介してユーザに提供して、ユーザが１つ以上の分析ルールを容易に作成することを可能にするために実行する、コンピュータのプロセッサ上で実行するための、コンピュータのメモリに記憶されるアプリケーションである。構成エンジン６８はまた、顧客データファイルを記憶する顧客データファイルデータベース３２にも結合することができ、また、新しい分析ルールを作成する際に、そうしたデータファイル及びそうしたデータファイルと関連付けられるファイルフォーマットまたはファイル構造情報を使用して動作させることができる。より具体的には、図３の構成エンジン６８は、インターフェースルーチン７０及びルールコンパイラエンジン７２、並びに新しい分析ルールを作成する際に使用するための様々なテンプレートまたは既知のルール要素を記憶する１組のテンプレートファイルまたはライブラリファイル７３〜７５を含む。具体的には、ライブラリファイル７３〜７５は、１組のデータソースポインタ及び構造ファイル７３、１組の論理またはフロー制御動作７４、並びに１組の出力アクション７５を含むことができる。
【００４８】
インターフェースルーチン７０は、対話的でグラフィカルな表示環境を、図２のローカルエンジニアステーション６０のローカルエンジニアなどのユーザに提供して、ユーザが新しい分析ルールを容易にグラフィカルに作成することを可能にするために、ディスプレイ６２に実装されるユーザインターフェース（マウス、キーボード、タッチ画面入力、オーディオまたはサウンド作成装置のような他のユーザインターフェースコンポーネントを含む）の動作と対話し、該動作を制御する。全般的に言えば、インターフェースルーチン７０は、ルール構築プログラミング環境をユーザディスプレイに表示し、ユーザが、ルールを作成するために、ディスプレイ上で、または該ディスプレイを介して、アクション（様々な場所においてディスプレイ上でコンポーネントをドラッグアンドドロップすること、ディスプレイ上でアイテムを選択すること、ディスプレイ上で情報をタイプする、または別様には記入することなど）をとることを可能にする。ユーザインターフェースルーチン７０は、作成されている新しい分析ルールの様々なコンポーネントを認識し、識別するために、表示デバイスを介してユーザによって入力された情報を認識し、追跡する。
【００４９】
このプロセスの一部として、インターフェースルーチンコンポーネント７０は、ユーザが分析ルールの様々なコンポーネントを指定することを可能にするために、ルールコンポーネント７３〜７５のライブラリを使用する。具体的には、データソースライブラリ７３は、新しいルールへの入力として、アクセス及び分析されるべき特定のデータ及び／またはデータのタイプを確認、閲覧、及び指定するために（例えば、１つ以上の顧客データファイル３２内の特定のデータに対する１つ以上のポインタを指定するために）使用することができる。全般的に言えば、別個のデータツールコンポーネントまたはテンプレートを、データのタイプまたはソース毎に、例えば、データが顧客のサイトで収集される、様々な異なるアプリケーション、ネットワーク、コンピュータ、コンピュータシステム、オペレーティングシステムについて、データソースポインタライブラリ７３内に存在させることができる。更に、各データポインタと関連付けられるライブラリテンプレート７３は、各データソースについて、メタデータを記憶することができ（または顧客データファイルから取得することができ）、該メタデータは、データタイプ、データ名称、データフォーマット、または収集したデータの全般的なコンテンツまたは構造を定義するデータ構造、データが記憶される様式、データの変数名及び識別子などの、データの特徴を定義する。したがって、データライブラリ７３のデータソーステンプレートは、ユーザが、データと関連付けられる、異なるフォーマットまたはファイル構造で記憶され、異なる命名規則、プロパティなどを有する、非常に異なるタイプのデータを選択することを可能にすることができる。更に、データポインタライブラリ７３のデータポインタは、単一値データ、またはデータのアレイなどの複数値データを指すことができる。１つの事例では、ライブラリ７３に記憶された様々な異なる入力データポインタと関連付けられるデータの構造、フォーマット、及び他のパラメータ（本明細書では、入力データソースメタデータと称される）を、データベース７３Ａに記憶し、該データベースからアクセスすることができる。単なる例として、データソース入力定義ツールは、単純なデータ（例えば、単一値データ）及び複雑なデータ（例えば、データアレイなどの複数値データ）を含む、任意のタイプのデータまたはデータのソースに対する指示を含むことができる。このような入力データ定義としては、例えば、ＤｃｏｍＡｃｃｅｓｓＰｅｒｍｉｓｓｉｏｎｓ、ＤｃｏｍＡｐｐｌｉｃａｔｉｏｎ、ＤｃｏｍＥｎｄＰｏｉｎｔ、ＤｃｏｍＬａｕｎｃｈＡｎｄＡｃｔｉｖａｔｉｏｎＰｅｒｍｉｓｓｉｏｎ、ＤＤＣ、ＥＪｏｕｒｎａｌ、ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓ、ＩｍｐｏｒｔＥｘｐｏｒｔＰｒｏｇｒｅｓｓＬｏｇ、ＩＰＣｏｎｆｉｇ、ＭＳＩｎｆｏ３２、ＮｅｔＳｔａｔ、ＯＰＣ、Ｒｅｇｉｓｔｒｙ、ＳｙｓｔｅｍＩｎｆｏ、Ｗｉｎｄｏｗｓ（登録商標）ＥｖｅｎｔＬｏｇ、ＷｉｎｄｏｗｓＴａｓｋ、ＤＣＯＭ、ＤｅｌｔａＶＳｅｔｔｉｎｇｓ、ＤＴ．ＳＣＲ、ＬｏｇｉｃＳｏｌｖｅｒｓ、Ｒｅｐｅａｔｅｒｓ、ＳｅｒｖｅｒＲｏｌｅｓ、ＳｙｓｔｅｍＩｎｆｏ、ＷｉｎｄｏｗｓＥｒｒｏｒＲｅｐｏｒｔｉｎｇ、ＷｉｎｄｏｗｓＴａｓｋなどの、データソースを挙げることができる。他のデータソースとしては、コントローライベント情報、ピングの結果、Ｄｏｗｎｌｏａｄｐｒｏｇｒｅｓｓ．ｌｏｇ、ＰｏｗｅｒＦａｉｌＩｎｆｏ、ＬｏｃａｌＷｉｎ３２Ｓｅｒｖｉｃｅ、ファイアウォール設定、イーサネット（登録商標）ログ、ＰＷＵファイル、ジャーナルファイル、ＳｗｉｔｃｈＳｙｓｔｅｍＩｎｆｏ、ＳｗｉｔｃｈＥｖｅｎｔＬｏｇ、ＵｐｇｒａｄｅＰｏｗｅｒＵｐＴｅｓｔ、ＭｏｎｉｔｏｒＭｅｔｒｉｃｓ、ＱＮＸクラッシュログ、ＤＶＢＯＰＣＳＶＲ、ＤＶＢＡｃｃｅｓｓ、ＦｒｓＯｐｃＭｒ、ＳＱＬＣｏｎｆｉｇｕｒａｔｉｏｎｓ、ＳＱＬＭａｓｔｅｒＦｉｌｅｓ、Ｂｏｏｔ．ｉｎｉ、ＢＣＤＥｄｉｔなどを挙げることができる。全般的に言えば、顧客サイトから収集されるデータファイルは、ほんの少し例を挙げれば、オペレーティングシステムデータファイル（例えば、ＤｃｏｍＡｃｃｅｓｓＰｅｒｍｉｓｓｉｏｎｓ、ＤｃｏｍＡｐｐｌｉｃａｔｉｏｎ、ＤｃｏｍＥｎｄＰｏｉｎｔ、ＤｃｏｍＬａｕｎｃｈＡｎｄＡｃｔｉｖａｔｉｏｎＰｅｒｍｉｓｓｉｏｎ、ＭＳＩｎｆｏ３２、Ｒｅｇｉｓｔｒｙ、ＳｙｓｔｅｍＩｎｆｏ、ＷｉｎｄｏｗｓＥｖｅｎｔＬｏｇ、ＷｉｎｄｏｗｓＴａｓｋ、ＤＣＯＭ、ＳｅｒｖｅｒＲｏｌｅｓ、ＳｙｓｔｅｍＩｎｆｏ、ＷｉｎｄｏｗｓＥｒｒｏｒＲｅｐｏｒｔｉｎｇ、ＷｉｎｄｏｗｓＴａｓｋ、ＬｏｃａｌＷｉｎ３２Ｓｅｒｖｉｃｅ、ＳＱＬＣｏｎｆｉｇｕｒａｔｉｏｎｓ、ＳＱＬＭａｓｔｅｒＦｉｌｅｓ、Ｂｏｏｔ．ｉｎｉ、ＢＣＤＥｄｉｔ）、プロセス制御システムデータファイル（例えば、ＤＤＣ、ＥＪｏｕｒｎａｌ、ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓ、ＩｍｐｏｒｔＥｘｐｏｒｔＰｒｏｇｒｅｓｓＬｏｇ、ＤｅｌｔａＶＳｅｔｔｉｎｇｓ、ＤＴ．ＳＣＲ、ＬｏｇｉｃＳｏｌｖｅｒｓ、Ｒｅｐｅａｔｅｒｓ、コントローライベント情報、Ｄｏｗｎｌｏａｄｐｒｏｇｒｅｓｓ．ｌｏｇ、ＰｏｗｅｒＦａｉｌＩｎｆｏ、ＰＷＵファイル、ジャーナルファイル、ＳｗｉｔｃｈＳｙｓｔｅｍＩｎｆｏ、ＳｗｉｔｃｈＥｖｅｎｔＬｏｇ、ＵｐｇｒａｄｅＰｏｗｅｒＵｐＴｅｓｔ、ＭｏｎｉｔｏｒＭｅｔｒｉｃｓ、ＱＮＸ衝突ログ、ＤＶＢＯＰＣＳＶＲ、ＤＶＢＡｃｃｅｓｓ、ＦｒｓＯｐｃＭｒ）、通信データファイル（例えば、ＩＰＣｏｎｆｉｇ、ＮｅｔＳｔａｔ、ピングの結果、ファイアウォール設定、イーサネットログ）などの、異なるアプリケーション及び他のソースからのデータを含むことができる。別の例として、データソーステンプレートは、ほんの少し例を挙げれば、様々なタイプのコンピュータハートウェア及びソフトウェアアプリケーション、ファームウェアなど、データソースのいずれかを参照すること、または示すことができ、該データソースとしては、例えば、サーバ／ワークステーションハードウェアデータソース、オペレーティングシステムデータソース、コントローラデータソース、バッチデータソース、ネットワーク通信／インフラストラクチャデータソース（一次、そして、二次ネットワーク）、オペレータインターフェースデータソース、データベースデータソース、ＳＷＡＴ（ソフトウェア及びアプリケーション）データソース、ＳＩＳ（安全計装システム）データソース、ＯＰＣシンプレックス及び冗長／ミラー化セバーデータソース、ログブックデータソース、及び仮想化データソースが挙げられる。
【００５０】
当然、新しいデータタイプが作成または使用されたときには、そのデータに対するポインタまたはテンプレートを提供するために、新しい入力データソースツールをツールボックス領域１０２に加えることができる。例えば、新しいデータタイプまたはデータソースが識別されたときに、更新プロセスは、１）顧客のシステムから、データタイプまたはソースのデータ構造を定義するメタデータを含む新しいデータタイプを収集すること、２）新しいデータタイプを、解析されるべき既存の分析エンジンに送信すること、並びに３）新しいデータタイプと関連付けられるフォーマット、パラメータ、及びメタデータに基づいて、新しいデータタイプ毎に新しいデータ入力ツールを作成することができ、次いで、新しいツールを更新としてルールビルダーアプリケーション６４に提供することができる。
【００５１】
なお更に、論理またはフロー要素ライブラリ７４は、Ｉｆ−Ｔｈｅｎ論理ステートメント、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ論理ステートメント、シーケンスステートメント、Ｄｏ−Ｗｈｉｌｅステートメント、ループステートメント、またはルールへの入力データとして指定されるデータを試験するために、若しくはルールによって定義される他の中間データを試験するために使用されるべきルールのフロー論理を定義するために使用することができる、様々な他のタイプの論理またはフロー制御動作などの、１組の論理リールまたは他のプログラミングフロー制御動作テンプレートを含む。ライブラリ７４に記憶された論理またはフロー制御動作は、任意の既知または所望の論理またはプログラミングフロー制御動作を含むことができ、本明細書では、このような動作のほんのいくつかだけが説明される。単なる例として、論理／フロー制御ツールまたはテンプレートは、（例えば、値を変数に割り当てるための）Ａｓｓｉｇｎ、Ｄｏ−Ｗｈｉｌｅ、Ｆｏｒ−Ｅａｃｈ、Ｉｆ、Ｓｅｑｕｅｎｃｅ、Ｓｗｉｔｃｈ、及びＷｈｉｌｅ動作などの、任意のタイプの論理またはプログラムフロー動作を含むことができる。これらの動作は、全てがよく知られているプログラムフロー制御ステートメントまたは論理動作であり、本明細書では更に説明されない。更に、任意の他のタイプのプログラム制御動作または論理動作は、これらのツールまたはテンプレートに含むことができる。
【００５２】
同様に、出力アクションライブラリ７６は、課題の検出に応じてとるべきアクションを定義するために使用することができる、１組のテンプレート出力アクションまたは出力アクションテンプレートを記憶することができる。出力アクションは、例えば、入力データなどのルールの特定のデータに適用されたときに論理動作によって行われる論理「真」または論理「偽」の判定などの、作成されているルールのフロー論理によって行われる論理判定に応じて、実装することができる。
【００５３】
したがって、全般的に言えば、インターフェースルーチン７０は、ユーザがグラフィカルに分析ルールを作成することを可能にするために、ディスプレイ６２を介してグラフィカルな表示をユーザに提供するように動作する。１つの事例において、インターフェースルーチン７０は、ユーザが、（１）分析ルールで使用されるべき１つ以上のデータ入力ソーステンプレート、（２）分析ルールにおいて使用されるべき１つ以上の論理またはフロー制御動作テンプレート、（３）分析ルールによってとるべき１つ以上の出力アクションテンプレートの組み合わせを選択することによって、分析ルールを作成することを可能にする。ユーザは、ワークフロー領域内の分析ルールの１つ以上のデータソースコンポーネント、１つ以上の機能コンポーネント、及び１つ以上の出力コンポーネントを作成するために、またはシステムに作成させるために、ユーザインターフェース画面のライブラリまたはツールボックス領域のテンプレートの指示を選択することによって、及び選択したテンプレートをユーザインターフェース画面のワークフローまたはキャンバス領域の中へドラッグアンドドロップすることによって、または別様にはいくつかの様式で使用するためにテンプレートを指定することによって、テンプレートを選択することができる。次いで、選択したテンプレートの各々についてワークフロー領域内にウィンドウまたはボックスなどのグラフィカルな対話型コンポーネントをユーザに提示することができ、該ユーザが、ワークフロー領域のコンポーネントの各々と関連付けられるユーザ定義可能なパラメータを提供すること、または該パラメータを記入することを可能にすることができる。ユーザが分析ルールの作成を完了したときに、ユーザは、該分析ルールを論理コンパイラ７１に提供することができ、該論理コンパイラは、分析ルールの情報を、ユーザによってグラフィカルに指定されるように、実行可能コードコンパイルする。次いで、コンパイラ７１は、実行可能な分析ルールを、例えばローカルメモリとすることができるルールメモリ７６内に記憶することができる。
【００５４】
更に、図３に示されるように、ルールビルダーアプリケーション６４が、作成されている新しいルールを（例えば、ローカルシステム６０の）メモリ７６に記憶した後に、ランタイムエンジン６９は、ユーザが、作成されている分析ルールを試験することを可能にするために、例えばデバッギングモードで、この分析ルールを動作または実行させることができる。具体的には、図３に例示されるように、ランタイムエンジン６９は、データレトリーバーアプリケーション７７及び実行エンジン７８を含む。実行エンジン７８は、例えば、分析ルールへの入力データとして必要とされるデータの指示を決定するために、実行されている分析ルールを解析し、データベース３２の１つ以上の顧客データファイルから指定されたデータを取り出すようにプロセッサ上で実行するデータレトリーバーアプリケーションまたはインターフェース７７と通信する。実行エンジン７８は、次いで、１つ以上のローカル変数としてローカルメモリ７９の中へ取り出されるように入力データを記憶し、そして、１つ以上の論理結果（真または偽、及び／または論理ステートメントの判定など）を決定するために、分析ルールによって指定されるように論理またはフロー制御動作（複数可）を入力データに適用する。なお更に、実行エンジン７８は、例えば分析ルールの結果及びルールの結果と関連付けられる１つ以上のＫＢＡに対するリンクまたは参照を表示するなどの、分析ルールによって指定される出力アクション（複数可）を提供するか、またはとることができる。当然、実行エンジン７８は、デバッグモードで動作させることができ、また、分析ルールの潜在的エラーを決定するために、ユーザが論理の特定の工程を実行するときに該工程を確認することを可能にする。
【００５５】
ユーザが新しい分析ルールを作成し、試験して、該新しい分析ルールに満足した後に、ユーザは、他のユーザへの潜在的な発行のために、及び／または顧客データファイルを自動的に分析するときに分析エンジン５０（図２）によって使用するために、ルールビルダーアプリケーション６４に、該新しい分析ルールを発行者アプリケーション６６（図２）に提供させることができる。
【００５６】
図４は、ステーション６０（図２）のローカルエンジニアなどのユーザが１つ以上の分析ルールの作成に関して様々なアクションをとることを可能にするために、ルールビルダーアプリケーション６４のインターフェースルーチン７０によって作成することができる例示的な画面表示８０を例示する。図４の例示的な画面表示８０は、画面の左側に、ダウンロードアクション８１、ルールアクション８２、発行アクション８３、ルール実行アクション８４、及び管理アクション８５を含む、１組のアクションメニューを含む。更に、画面表示８０は、表示の右側に、ユーザによって作成されている、または作成されたルール８６のリストを含む。ユーザは、例えば、ルールを確認または編集するために、リスト８６のルールのうちの１つ以上を選択することができる。更に、ユーザは、リスト８６の選択されたルールに関するアクションをとるために、様々なメニュー８１〜８５の選択対象を使用することができる。より具体的には、ユーザは、「新しいルールを作成する」リンクを選択することによって新しいルールを作成するプロセスを開始するためにメニュー８２を使用することができ、「ルールプロパティを編集する」リンクを選択することによって既存のルールのプロパティを編集することができ、「ルール論理を開く」リンクを選択することによってルールの論理を開いて編集することができ、「ルールを削除する」リンクを選択することによってルールを削除することができ、また、「ルールとして保存する」リンクを選択することによってルールを保存することができる。なお更に、ユーザは、例えばルール発行状態を変更する（例えば、発行を要求するなど）ために、または特定のルールの発行進捗を確認するために、例えば、特定のルールの発行プロセスの現在の段階または状態を確認するために、メニュー８３を使用して、ルールの公開と関連付けられるアクションをとることができる。同様に、ユーザは、（表示リスト８６の選択したルールのいずれかを実行するためにランタイムエンジン６９に提供する）「ルールを動作させる」アイコンまたはリンクを選択することによってローカルまたは他の分析エンジン上でルールを実行するために、ルール実行メニュー８４を使用することができ、また、このようなルールの状態または結果を確認するために、「ルールの状態／結果を確認する」リンクまたはアイコンを使用することができる。この選択対象は、ルールにおける所定のまたは予め識別されたブレークポイントに基づいて、命令単位で、または工程単位でルールの動作を確認することを可能にするために、ユーザがデバッギングモードでルールを進めることを可能にすることを含むことができる。このようなブレークポイントは、ルールを作成するときにユーザによって指定することができ、またはルールの論理に基づいて自動的に決定することができる。
【００５７】
図５は、新しい分析ルールを作成するユーザの一部として、ルールビルダーアプリケーション６４のインターフェースルーチン７０によって生成することができる、例示的な画面表示９０を例示する。この場合、画面表示９０は、ルール及び作成されているルールのパラメータを定義するために、ユーザが記入することができる、１組のボックスまたはフィールドを含む。例えば、第１のフィールド９１は、ユーザが、ルールが向けられる、またはルールが関連付けられるドメインまたは一般のハードウェア／ソフトウェアを指定することを可能にするために提供することができる。ユーザは、このようなドメインを入力することができ、またはこのようなドメインの予め設定された、または所定のリストからドメインを選択することができる。ドメインのこれらのリストまたは識別情報は、収集される顧客データファイルに基づくことができ、また、ソフトウェアアプリケーション顧客データが顧客サイトで収集されるハードウェア、ファームウェア、またはソフトウェアアプリケーションエンティティの様々な異なるものを指定することができる。これらのドメインは、データベース７３Ａのデータソースメタデータの一部とすることができる。所望であれば、ユーザは、顧客サイトから収集されるべき新しいタイプのデータの新しいドメインを作成することが可能であり得る。
【００５８】
同様に、フィールド９２は、ユーザが、ルールが向けられる顧客ハードウェア／ファームウェア／ソフトウェアの動作と関連付けられる１つ以上の症状を指定することを可能にする。例えば、ユーザは、図５の画面９０において、症状（作成されている分析ルールによって検出されるべき問題または課題の出現）が、ドメインにおいて定義されるエンティティ（この場合、顧客サイトの特定のオペレータインターフェースデバイス）の遅さであることを示している。
【００５９】
なお更に、フィールド９３は、新しいルールの名称を提供するために使用することができ、一方で、フィールド９４は、作成されている分析ルールの説明または概要を提供するために使用することができる。重要なことに、フィールド９５は、ルール開発者または作成者が、ルールによってとられる、またはルールによって行われる１つ以上の論理判定の結果として起こる、１つ以上のルールアクションを定義することを可能にするために使用することができる。いくつかの事例において、アクションセクションまたはフィールド９５は、分析ルールの動作の結果として提供されるべき表示メッセージを定義することができる。他の事例において、アクションは、分析ルールの動作の結果として動作または実行させる必要がある他のアプリケーションへのリンク、この分析ルールの結果に基づいて動作または実行させるべき別の分析ルールへのリンク、いくつかの他の場所またはコンピュータの別のユーザに送信する必要があるアラームまたは警告、いくつかの他の電子またはコンピュータベースのアクションの実行または開始、などとすることができる。所望であれば、様々な潜在的アクションを、図３のライブラリ７５の一部として提供することができる。
【００６０】
なお更に、フィールド９６は、このルールと関連付けられる、及び分析ルールの動作によって検出される課題に関するより多くの情報を提供するために、または課題を解決するためにとるべき１つ以上の解決策またはアクションを提供するために、ディスプレイにおいて分析ルールのユーザに提供することができる、１つ以上のＫＢＡを識別するために使用または提供することができる。当然、１組のラジオボタン９７は、例えば、画面９０において指定されるようなルールパラメータを保存するために、ルール論理を開いてルールの論理または動作を定義するために、またはルールをキャンセルするために使用することができる。
【００６１】
図６は、ユーザが新しい分析ルールと関連付けられる論理またはプログラミングを作成または定義することを可能にするために、例えばルールビルダーアプリケーション６４のインターフェースルーチン７０によって、図３のディスプレイ６２に表示することができる、グラフィカルな画面表示１００の一実施例を例示する。具体的には、グラフィカルな画面表示１００は、ツールボックス領域１０２（表示１００の左側に例示される）と、ワークフロー領域１０４（表示１００の中央に例示される）と、概略領域１０６（表示１００の右側に例示される）とを含む。全般的に言えば、ツールボックス領域１０２は、図３の、データソーステンプレートまたはライブラリ要素７３、論理／フロー制御動作テンプレートまたはライブラリ要素７４、及び出力アクションテンプレートまたはライブラリ要素７５の様々なものと関連付けられる異なるセクションまたは領域を含む。したがって、ツールボックス領域１０２は、ワークフロー領域１０４において新しい分析ルールをグラフィカルに作成するためにユーザが使用することができる、テンプレートまたは基本的なグラフィカル要素を提供する。
【００６２】
更に、ワークフロー領域１０４は、分析ルールの動作をともに定義するデータソースコンポーネント、機能コンポーネント、及び出力コンポーネントなどの実際のルールコンポーネントを作成するために、ツールボックス１０２からの様々な要素（ツールとも称される）を特定の順序またはシーケンスでドラッグアンドドロップするか、または別様には配置することができる、画面１００のセクションである。次いで、これらのコンポーネントは、グラフィカルな様式で新しい分析ルールの動作を定義するために、特定のルールパラメータ情報に加えるか、またはポピュレートすることができる。具体的には、構成エンジン６８（図３）は、グラフィカル入力ルーチンを実行して、ルールコンポーネントテンプレートから導出される１組のルールコンポーネントの各々のための対話型ウィンドウを表示するように動作し、該ルールコンポーネントの各々のための対話型ウィンドウは、ユーザがルールコンポーネントの各々の特定のパラメータを定義することを可能にする。例えば、グラフィカル入力ルーチンは、データソースコンポーネントについて、分析ルールのために取り出されるべき特定のデータソースからの特定の１組のデータを指定する１つ以上のユーザ定義可能なパラメータを含む、データ入力対話型ウィンドウを表示する。更に、グラフィカル入力ルーチンは、機能コンポーネントについて、特定のデータソースからの特定の１組のデータを使用して行われるべき１つ以上の論理動作を指定する１つ以上のユーザ定義可能なパラメータを含む、１つ以上の機能的対話型ウィンドウを表示する。なお更に、グラフィカル入力ルーチンは、出力コンポーネントについて、１つ以上の論理動作によって行われる判定と関連付けられる、とるべきアクションを指定するユーザ定義可能なパラメータを含む、出力対話型ウィンドウを表示する。
【００６３】
一般的な意味において、概略領域１０６は、分析ルールの入力と関連付けられるデータの指示、分析ルールと関連付けられる論理またはフロー制御命令、及び様々な分析ルールの動作に応じてとるべき出力アクションを含む、新しい分析ルールが作成されるときにこの分析ルールの概略を提供する。概略領域１０６はまた、ユーザが、分析ルールを作成、編集、または確認するときに、ワークフロー領域１０４内の分析ルールのグラフィカルな描写の特定のセクションを容易に見出すことを可能にするために、ワークフロー領域１０４内に示されるような分析ルールの要素の様々な異なるグラフィカルな描写へのリンクも提供することができる。したがって、概略領域１０６は、作成されている分析ルールの様々なコンポーネントの異なるグラフィカルな描写を通して容易にナビゲートするために使用することができ、これは、長い、または複雑なルールにおいて特に有用であり得る。
【００６４】
図６の例示的なグラフィカルな画面では、ワークフロー領域１０４において特定のルールが作成の途中であり、このルールは、全般的に、入力データの特定のタイプまたはソースに適用される論理Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ動作に基づいており、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ判定は、第１の論理判定が行われたときに（例えば、Ｉｆステートメントが論理的に真であったときに）ルール状態が「ＯＫ」と定義される、第１の出力アクションを生成し、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ判定は、第２の論理判定が行われたときに（例えば、Ｉｆステートメントが論理的に偽であったときに）ルール状態が「警告」と定義される、第２の出力アクションを生成する。より具体的には、図６に例示されるように、ワークフロー領域１０４は、ルール論理への入力として使用されるべき入力データを指定する入力データ仕様要素またはボックスを表す、データソースのグラフィカルな描写１１０を含む。データソースのグラフィカルな描写１１０は、ユーザが（ツールボックス領域１０２の入力データライブラリまたはテンプレートセクションから）データツールのうちの１つをドラッグして、このデータツールをワークフロー領域１０４の中へドロップすることによって、ワークフロー領域１０４に作成することができる。図３のインターフェースルーチン７０は、このアクションを、分析ルールのデータソースまたはデータ入力コンポーネントを作成するためのユーザによる要求として認識し、この要求に応じて、ワークフロー領域１０４においてボックスまたはデータ仕様要素１１０を作成する。図６のデータ仕様要素１１０（データソースコンポーネント）は、使用される、またはワークフロー領域１０４にドラッグされる特定の入力データツールと関連付けられる１組のパラメータを含む。パラメータは、ユーザによって記入することができるユーザ定義可能なパラメータとすることができ、これらのパラメータは、例えば、特定の顧客データファイルまたはあるタイプの顧客データファイル内のデータなどのデータの特定のソース、データのタイプ、データのフォーマットなどを示すことができる。ユーザは、ルールにおいて入力データとして使用されるべきデータをより具体的に指定するために、これらのパラメータを記入することができる。ユーザはまた、データ値を整数値に変更する、データ値を四捨五入するなどのデータ値に対する変換を行うためにも、パラメータを記入することができる。なお更に、ユーザは、分析ルールにおいて入力データパラメータの１つとして使用されるべきデータの変数名を提供するために、パラメータを記入することができる。
【００６５】
加えて、図６に例示されるように、ワークフロー領域１０４は、作成されている分析ルールのいくつかの論理を指定する、ルール論理仕様要素またはボックス１１２（機能コンポーネント）を含む。ルール論理仕様ボックス１１２は、ユーザが、ツールボックス領域１０２から１組の論理／フロー制御テンプレートのうちの１つ以上を選択し、ドラッグして、この指示またはテンプレートを、分析ルールによって実行される論理シーケンスのある地点で、ワークフロー領域１０４の上へドロップすることによって作成することができる。図３のインターフェースルーチン７０は、このアクションを、分析ルールの制御論理要素を作成するためのユーザによる要求として認識し、この要求に応じて、ワークフロー領域１０４においてボックスまたはルール論理仕様要素１１２を作成する。ツールボックス領域１０２のフロー制御セクションは、分析ルールにおいて適用または使用されるべきテンプレート論理機能及びフロー制御機能と関連付けられる論理／フロー制御指示を含む。図６の画面において作成されている特定のルールは、試験されるべき（例えば、入力データボックス１１０によって指定されるような）特定の入力の条件を定義するＩｆステートメントと関連付けられる、またはそれを指定するために使用される第１のセクション１１３を有する、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ論理ルールである。ブロック１１３の条件ステートメントは、分析ルールの実行中に分析され、そして、分析の結果、例えば論理表現が真であるか、または偽であるかに基づいて、更なる出力アクション定義ボックス１１４及び１１６に提供される１組の出力アクションのうちの１つが実装される。具体的には、第１の出力アクション定義ボックスまたは要素１１４は、ブロック１１３内の論理表現が真であるインスタンスにおいて適用されるべき出力アクションを示し、ブロック１１３内の論理表現が偽であると判定されるインスタンスにおいて適用されるべき第２の出力アクション定義ボックスまたは要素１１６。ここでも、ボックスまたは要素１１４及び１１６は、ユーザが、ツールボックス領域１０２の出力アクションセクションに例示される出力アクション指示またはテンプレートの様々なものを選択し、ドラッグし、そして、実際のルールのための編集可能なルールコンポーネントを作成するために、これらの指示をワークフロー領域１０４内の適切な場所にドロップすることによって指定することができる。図３のインターフェースルーチン７０は、このアクションを、分析ルールの出力アクション要素を作成するためのユーザによる要求として認識し、この要求に応じて、ワークフロー領域１０４において出力アクション仕様要素１１４及び１１６を作成する。インターフェースルーチン７０はまた、作成されている分析ルールの論理またはフローを示すために、画面１００の概略セクション１０６を更新することもできる。
【００６６】
図７〜図９は、分析ルールの作成の更なる一実施例と関連付けられる画面表示を示し、より具体的には、特定のルールを作成する際に使用される個々の工程をより詳細に例示する。この実施例において、ユーザは、分析ルールの作成を開始するために、グラフィカルなユーザディスプレイ１００及び、具体的には、このような表示のツールボックス領域１０２と対話する。ここで、ユーザは、最初に、ツールボックス領域１０６内のシーケンスフロー制御要素または指示を選択し、そして、この要素をワークフロー領域１０４の上へドロップして、シーケンスボックスまたは論理要素１３０を作成する。シーケンス要素１３０は、シーケンス要素１３０内に配置される様々なブロックの動作または実行の順序を定義する。次に、図７で矢印によって例示されるように、ユーザは、分析ルールにおいて使用されるべき入力データの指示を作成するために、ツールボックス領域１０２の基本ツールセクションから入力データソース指示を選択し、その指示を、作成されている分析ルールのシーケンスを定義するシーケンスボックス１３０の中へドロップする。この実施例において、ユーザは、ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓデータソース指示を選択し、そして、この指示をワークフロー領域１０４のシーケンスボックス１３０の上部の中へドロップする。ユーザインターフェースルーチン７０は、分析ルールにおいて使用されるべき入力データを定義する際にユーザを支援するために、このアクションに対応するデータ入力要素１３２を作成する。この事例において、ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓデータソースは、プロセスプラントの制御システム内で既知であり、かつ定義されたデータファイルである。このデータファイルは、１つ以上のセクション、キー、縦列、横列、メタデータ、組織データ、またはそのデータソースと関連付けられる他のデータ構造情報によって定義される特定かつ既知のフォーマット（複数可）で記憶された１つまたは複数の特定のタイプの特定のデータを有する。例えば、このデータ構造情報またはデータソースメタデータは、図３のデータベース７３Ａに記憶することができ、また、該データベースから取得することができる。データ入力ボックス１３２に提供される情報は、選択されたデータソースから入手可能な特定のデータまたはデータのセクションを定義するために使用することができる。したがって、この事例において、ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓデータソースは、セクション及びキーによって定義される（またはセクション及びキーを使用する、またはそれらを使用してアドレス指定可能であるフォーマットで記憶される）データを含むことができる。ユーザは、使用されるべきデータと関連付けられるセクション及びキーを入力することができ、また、その際に、この特定のデータソースにおいて、または該データソースを介して利用可能なセクション及びキーを定義する列挙されたリストを例示または提供する、ドロップダウンメニューを使用することができる。ここで、ユーザは、「ＰｉｃｔｕｒｅＰｒｅｆｅｒｅｎｃｅｓ」セクション及び「ＰｉｃｔｕｒｅＣａｃｈｉｎｇ」キーによって定義されるデータを選択している。当然、データソース入力ボックス１３２の入力選択ボックスを介して指定されるべきパラメータは、メモリに記憶することができ、また、選択される特定のデータソース指示に依存することができる。したがって、他のデータフォーマット及び記憶指示、またはデータソース内のデータのパラメータ、態様、または特徴を示す他のメタデータを含む、他のデータソースパラメータを、他の入力データソース判定ボックスまたは要素における選択可能なパラメータとして使用または参照することができる。更に、ユーザは、選択されている入力データを定義するために使用されるべき入力データソースのパラメータを指定するために、ボックス１３２のデータパラメータボックスをスクロールすることができる。当然、様々な異なるタイプのデータソースまたは入力データツールが、異なる様式で編成される異なるタイプのデータ及びそのデータの編成を有し、そのデータの特徴またはパラメータ（本明細書ではメタデータと称する）は、データ入力指示１３２の入力ボックスのプロパティまたはサブボックスを定義して、ユーザが、選択したデータファイルからユーザが望む特定のデータを容易に見つけて、指定することを可能にするために使用することができる。同様に、ユーザインターフェースルーチン７０（図３）は、ユーザが、選択した入力データツールに関する特定の顧客データ入力ファイルを選択し、そのデータを確認してそのデータの構造及びそのデータと関連付けられるパラメータを確認することを可能にする、ポップアップウィンドウまたは他のウィンドウを提供することができ、全てが、選択されたデータファイルの正しいデータフィールドをユーザが選択するのを支援する。
【００６７】
更に、データ入力選択ボックス１３２の最下部において、ユーザは、選択したデータの値に対して行われるべき任意の数学演算（例えば、データ値を整数に変換する、データ値を四捨五入するなど）を識別または定義することができる。なお更に、ユーザは、分析ルールにおいて使用されるべき変数の名称（したがって、選択したデータのローカル変数名）を指定することができる。図７の実施例において、ユーザは、選択したデータを、（Ｉｎｔｅｇｅｒｓ（ｘ）数学関数を使用して）変数名「ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓ」を有する整数値に変換するように、分析ルールの入力ボックス１３２をプログラムしている。当然、ユーザは、入力データに対して行われるべき他の変数名及び他の数学的動作を指定することができる。
【００６８】
次に、使用されるべきデータ、データに対して行われるべき任意の数学的動作または他のフォーマッティング動作、及びデータに使用されるべき変数名（変数名は、基本的に、作成されたときに分析ルールを動作させる分析エンジンまたは他のエンジンにおけるローカル変数である）を指定した後に、ユーザは、次のステップを行って、図８に例示されるように、分析ルール内のデータに適用されるべき論理動作を定義することができる。この事例において、ユーザは、分析ルールにおいて使用されるべきプログラミングまたはフロー論理の少なくとも一部を定義する機能ルールコンポーネントを定義するために、ツールボックス領域１０２からシーケンスボックス１３０の中へフロー制御指示をドラッグアンドドロップすることができる。この事例において、図８で矢印によって例示されるように、ユーザは、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ論理指示をツールボックス領域１０２から選択し、その指示をボックス１３２の下側の場所においてシーケンスボックス１３０の中へドロップしている。それに応じて、ユーザインターフェースルーチン７０は、Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ論理ステートメントテンプレートと関連付けられる、またはそれによって定義されるように論理定義ボックス１３４を作成する。作成した論理定義ボックス（ボックス１３４など）及びこのようなボックスと関連付けられる定義可能なパラメータのフォーマットは、適用されるべき論理表現またはフロー制御動作に依存する。この事例において、ボックス１３４は、１つの条件定義ボックスまたは領域１３６、及び２つの代替のルール出力ボックス１３８及び１４０を含む。
【００６９】
ユーザ定義可能なパラメータを含むボックス１３６、１３８、１４０の各々は、次いで、作成されている分析ルールのＩＦ−ＴＨＥＮ−ＥＬＳＥステートメントの論理の動作を定義するために、ユーザによってポピュレートすることができる。具体的には、ユーザは、試験されるべき論理条件を条件ボックス１３６に入力することができる。例えば、この事例において、ユーザは、試験されるべき条件が、変数名ＦｉｘＵｓｅｒＰｒｅｆｅｒｅｎｃｅｓ（ボックス１３２において定義される）が「１」に等しいかどうかを指定している。
【００７０】
次に、図９に例示されるように、ユーザは、ボックス１３６において定義される論理または条件ステートメントに基づいて生成されるべき出力コンポーネントまたはアクションを記入または指定することができる。具体的には、ユーザは、論理ステートメントによって判定されるような入力データの条件に基づいて、作成されている分析ルールの論理ステートメント（Ｉｆ−Ｔｈｅｎ−Ｅｌｓｅ論理ステートメント）のアクションを定義するために、ツールボックス領域１０２の出力アクション領域から別個の出力ルールを選択し、図８のボックス１３８及び１４０の中へドラッグすることができる。この事例において、出力ボックス１３８は、ユーザが、ボックス１３６の条件ステートメントが真である場合に「ＯＫ」であるようなルール状態を定義した出力ルールを含み、出力ボックス１４０は、ユーザが、ボックス１３６の条件ステートメントが偽である場合に「警告」であるようなルール状態を定義した出力ルールを含む。出力ボックス１３８及び１４０はまた、例えば、データが収集され、分析ルールが実行されたプラントノードの指示、データの検出値、及びデータの期待値を含む、分析ルール自体の出力の一部として、ユーザに提供されるべき他の情報も含む。当然、出力ボックス１３８及び１４０は、分析ルールの出力の一部として提供されるべき他の情報を、変更可能な変数として、または固定値若しくは情報として定義または指定することができる、他のパラメータを有することができる。更に、インターフェースルーチン７０は、データをタイプすること、列挙されたリストを有するドロップダウンメニューを使用することなどを含む、ボックス１３６〜１４０などのボックスのパラメータに記入する任意の所望の方法をユーザが使用することを可能にする構造を提供することができる。例えば、ルール状態ボックスは、ＯＫ、警告、情報、危険などの特定のサービスセンターまたはアプリケーションについて定義されるような、可能な値の有限集合を有することができ、この事例において、ルール状態は、ルール判定の深刻度を示す。当然、ツールボックスセクション１０２の他の出力アクションテンプレートは、他のタイプの情報を提供すること、または他の情報を指定すること、または分析ルールの論理に基づいてとるべき他のアクションを示すことができる。
【００７１】
出力アクションの一実施例として、図１０は、（例えば、図５のフィールド９５及び９６において定義されるような）ルールのアクション及びＫＢＡフィールドによって定義されるような情報、及び（例えば、図９にあるような画面の出力ルールボックス１３８及び１４０において定義されるような）ルールの論理表現の出力論理ボックスによって定義される他の情報を提供する、分析ルールによって作成される視覚的出力メッセージ１５０を例示する。したがって、メッセージ１５０は、全てが分析ルールについて図５にあるようなルール定義画面において定義されるように、ルールを動作させたまたは症状が検出されたノード、図５にあるようなグラフィカル画面において定義されるような症状及びルール名称、並びにルール及びルールに関するＫＢＡによってとられるべきアクションを示す。当然、分析ルールは、他のタイプの出力アクションを提供するために使用することができ、または代わりに、アラーム、通知などを送信または設定する、生じさせた顧客または要員に電子メールまたは他の通信を送信する、セキュリティまたはオペレーティングシステムファイルを更新する、マシンをオフにする、通信ポートをブロックするなどの電子的または物理的アクションを顧客サイトにおいて生じさせる、といった類の電子的アクションを含む。
【００７２】
ユーザが、作成されているルールのルールコンポーネントと関連付けられる全てのパラメータボックスに記入し、グラフィカルに作成されたような分析ルールを満たしているときに、ユーザは、次いで、例えば、分析ルールを（例えば、コンパイラ７１を使用して）実行可能なコードにコンパイルし、分析ルールをローカルメモリに保存し、そして、例えば、図４の画面コマンドを使用して、コンパイルしたまたは実行可能な分析ルールをランタイムエンジン７９に提供することによって、分析ルールを試験することができる。実行エンジン及びデバッガアプリケーション６９は、例えば、コンパイルした分析ルールをロードし、ユーザがルールを試験する際に使用するために特定の顧客データを指定することを可能にし、そのようなデータファイルが（例えば、ユーザインターフェースウィンドウを使用して）特定の時間に収集した特定の顧客と関連付けられ、次いで、その選択したデータファイルに対して分析ルールを動作させるか、または実行して、次いでユーザに提供される分析ルールの出力を生成することができる。ユーザが分析ルールをデバッグし、分析ルールが満足に機能することが分かったときに、ユーザは、次いで、分析ルールを記憶させ、任意の所望の時間に、ローカルシステムにおいて該分析ルールを使用することができる。なお更に、ユーザは、分析ルールが様々な他の場所、他のエンジニアなどで使用されるようにするために、分析ルールを図２の発行者アプリケーション６６に提供することによって、分析ルールを発行することができる。
【００７３】
なお更に、発行者アプリケーション６６は、発行されるべき潜在的な分析ルールである１つ以上の分析ルールを受信するように動作させることができ、また、プロシージャを実施することができ、該プロシージャは、他の人による使用のために、または図２のエンジン５０などの分析エンジンによって動作される自動データ分析プロシージャで、新しい分析ルールを図２のルールデータベース５２に対して実際に発行させることを必要とする。具体的には、発行者６６は、保留状態のパラメータフィールドを介してルールプロバイダまたはルール作成者に発行されている分析ルールの状態を記憶すること、更新すること、及び示すことができる。この状態は、例えば、レビュー保留、レビュー中、発行済み、レビュー失敗などとすることができ、発行者アプリケーション６６は、ルール発行プロセスを通して分析ルールが進行するにつれてこの状態を更新することができる。１つの実施例において、発行者アプリケーション６６は、新しいルールを取り入れ、該ルールを、潜在的な発行についてエキスパートルールメーカーによって考慮されるべきリストに、または調査されるべきキューに入れることができる。発行者アプリケーション６６は、分析ルールの論理がレビューされることを確実にするために、サポートシステム１０のマネージャなどのより経験豊かな人物が、分析ルールを実際に確認する（該分析ルールを開き、そのコンテンツを確認する）ことを必要とし得る。なお更に、発行者アプリケーション６６は、レビュアーが提案した分析ルールを試験データに対して動作させる必要があり得、また、レビュアーが分析ルールを動作させるいくつかの顧客データファイルを選択し、次いで、分析ルールを実行エンジン６９に提供することを確実にすることができる。発行者アプリケーション６６は、次いで、分析ルールを発行するべきかどうか、及びレビュアーが分析ルールを発行するべきである旨の指示を提供するかどうかといった指示をレビュアーが提供することを可能にすることができ、分析ルールを発行し、この分析ルールをルールデータベース５２に記憶することができ、並びに同じ顧客テクニカルサポートセンター１０または他のセンターで、分析エンジン５０及び他のユーザが使用するための分析ルールを提供することができる。
【００７４】
このアプリケーションを使用するルールビルダーアプリケーション及び分析システムは、図１及び図２に例示されるような顧客サポートセンターにおいて使用するように説明されているが、本明細書で説明されるルールビルダーアプリケーション及びルールビルダーアプリケーションによって作成される分析ルールを実行する分析エンジンは、オンラインで分析を行って、オンラインまたはリアルタイムでプラントの課題または好適でない、若しくは望ましくない状況を検出するために、プロセスプラント内で接続される１つ以上のワークステーションまたは他のコンピュータデバイスなどの、オンラインプラント環境において使用することができる。例えば、分析ルールは、コントローラの切り替えを監視するために、プロセス制御プラントにおいてオンラインで作成し、動作させることができる。より具体的には、コントローラの切り替えイベントが生じたときに（例えば、一次コントローラが故障し、バックアップコントローラが引き継ぐときに）、分析ルールは、コントローラのイベントログ、クラッシュダンプ、並びにアラーム及びイベントファイルを収集するために、データ収集をトリガーすることができる。分析ルールは、次いで、切り替えが起こった潜在的な根本原因についてデータを分析し、オンサイトエンジニアに通知することができる。別の例として、コンピュータの空きディスク容量またはプラントのヒストリアンを監視するために、分析ルールを作成することができる。空きディスク容量が少ない、すなわち、特定の数／閾値未満である場合、分析ルールは、どの殆ど使用されなかった古いデータをバックアップするかを分析することができ、次いで、識別されたデータをバックアップドライブにバックアップするために、１つ以上のバックアップアプリケーションをトリガーすることができる。分析ルールはまた、または代わりに、オンサイトエンジニアに通知することができる。なお更なる一実施例として、データのストリームを監視する／調べる、分析ルールを作成することができる。ルールが、何かを意味するデータのある特定のパターンを見つけた場合、該ルールは、オンラインのプロセス制御システムの潜在的なダウンタイムを防止するために、ある特定のアクションをトリガーすることができる。当然、これらは、プラントサイトでルールビルダーアプリケーションを使用してプラント要員によって作成することができる、及び有益なデータ分析を行うために（プロセスプラントが動作しているときに）プラントサイトにおいてオンラインで動作させるまたは実行することができる、様々な分析ルールのほんの数例である。
【００７５】
図１１は、プロセスプラント環境内で分析ルールをオンラインで開発し、実行するために使用することができるルールビルダーアプリケーションを含む、例示的なプラントシステム２００を例示する。具体的には、図１１のプラントシステム２００は、オンラインプラント環境２０２、並びにルール開発及び実行環境２０４を含む。オンラインプラント環境は、製品を製造する、精油するなどのいくつかのプロセスを行うように動作するプラント（プロセス装置及びプロセス制御装置を有する）２１０を含む。プラントのプラント及びプロセス制御装置は、任意の数及びタイプの、コントローラ、フィールドデバイス、入力／出力デバイス、通信デバイスなどのプロセス制御デバイス、オペレータ及び制御ワークステーションなどのワークステーション、データヒストリアン、構成データベース、などを含むことができる。プラントは、オンラインで動作中に、例えば、コントローライベント２１２（例えば、アラーム、警報など）、ワークステーションイベント２１４、及びプラント２１０内の１つ以上のビッグデータ機器によって収集されるビッグデータストリーム２１６を含む、様々なタイプのデータまたはデータストリームを生成することができる。当然、これらは、プラント２１０及びプラント装置から、またはそれらの中で収集することができる、可能なタイプのデータのほんの数例である。
【００７６】
プラント環境２０２内の、及び任意の通信ネットワークを介して該プラント環境に接続される１つ以上のコンピュータデバイスにおいて実行することができる、ルール開発及び実行環境２０４は、ローカルエンジニアワークステーション２２４若しくは他のワークステーションまたは処理デバイスに結合される、それらで実行される、または別様にはそれらからアクセス可能である、分析エンジン２２０及びルールビルダーアプリケーション２２２を含む。分析エンジン２２０は、プラント２１０のオンライン動作中にプラント２１０からのデータストリーム２１２、２１４、２１６のいずれかまたは全てを分析するために、ルールデータベース２２６に記憶された１つ以上のルールを記憶し、実行することができる。分析エンジン２２０は、確認のために、及びオンサイトエンジニアまたは他のプラント要員に表示するために、出力分析結果２３０をステーション２２４（または任意の他のユーザまたはプラント要員）に提供することができる。出力された分析結果は、１つ以上のアラームまたは警報２３４を設定すること、若しくは生じさせることができ、またはデバイスの始動若しくは停止、パラメータの設定、追加的なデータの収集などの、プラント環境内の他のアクションをとることができる。これらの事例において、分析ルールによって定義される出力アクションは、プラント２１０においてこれらのまたは他のアクションを開始することができる。
【００７７】
なお更に、ルールビルダーアプリケーション２２２は、プラントデータまたはデータストリームを分析する際に使用するための１つ以上の新しい分析ルールを作成するために、オンサイトエンジニア（または、他のユーザ）によって使用することができる。ここで、ステーション２２４のエンジニアは、ルールビルダーアプリケーション２２２を開始し、上で説明される様式で１つ以上の新しい分析ルールを作成することができる。そのプロセス中に、エンジニアは、データストリーム２１２、２１４、２１６、記憶した履歴データ、または任意の他のデータなどを使用して、プラント２１０から収集されるようなプラントデータに対して、デバッギングまたは試験環境においてルールを試験することができる。ルールビルダーアプリケーションは、例えば分析及びルールの試験の目的で、試験環境において動作させることができ、また、分析結果２３０をステーション２２４のエンジニアに返すことができる。更に、ルールが完成したときに、ステーション２２４のエンジニアは、分析エンジン２２０によって行われるオンライン分析に使用するために、該ルールをデータベース２２６に発行することができる。ここで、データベース２２６のルールは、プラント２１０からのデータストリーム２１２、２１４、２１６のイベントまたは他のデータを監視するように、及びこられのデータストリームのある特定のイベントまたは他のデータに基づいて分析を生成するように動作させることができる。
【００７８】
以下の追加的な考慮事項を上記の議論に適用する。本明細書の全体を通して、複数のインスタンスは、単一のインスタンスとして説明されるコンポーネント、動作、または構造を実装することができる。１つ以上のルーチンまたは方法の個々の動作が別個の動作として例示され、説明されているが、個々の動作の１つ以上を同時に行うことができ、また、動作を例示される順序で行う必要はない。例示的な構成の別個のコンポーネントとして提示される構造及び機能は、組み合わせた構造またはコンポーネントとして実装することができる。同様に、単一のコンポーネントとして提示される構造及び機能は、別個のコンポーネントとして実装することができる。これらの及び他の変更、修正、追加、及び改良は、本開示の主題の範囲内である。
【００７９】
追加的に、ある特定の実施形態は、本明細書で説明される。論理またはいくつかのコンポーネント、モジュール、または機構若しくはユニットを含むように本明細書で説明される。これらのモジュール、ユニット、コンポーネントなどのいずれかは、ソフトウェアモジュール（例えば、非一時的な機械読み出し可能な媒体に記憶されるコード）またはハードウェアモジュールのいずれかを構成することができる。ハードウェアモジュールは、ある特定の動作を行うことができる有形のユニットであり、また、ある特定の様式で構成または配設することができる。例示的な実施形態において、１つ以上のコンピュータシステム（例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム）またはコンピュータシステムの１つ以上のハードウェアモジュール（例えば、１つまたは一群のプロセッサ）は、本明細書で説明されるある特定の動作を行うように動作するハードウェアモジュールとして、ソフトウェア（例えば、アプリケーションまたはアプリケーション部分）によって構成することができる。
【００８０】
ハードウェアモジュールは、ある特定の動作を行うように（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）などの、特殊用途プロセッサとして）永続的に構成される、専用の回路または論理を備えることができる。ハードウェアモジュールはまた、ある特定の動作を行うようにソフトウェアによって一時的に構成される、（例えば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に包含される）プログラム可能な論理または回路も含むことができる。専用の永続的に構成した回路において、または（例えば、ソフトウェアによって構成される）一時的に構成した回路において、ハードウェアモジュールを実装するという決定は、コスト及び時間の考慮によってもたらすことができることが認識されるであろう。
【００８１】
故に、本明細書で使用されるハードウェアという用語は、有形のエンティティを包含するものとして、ある特定の手法で動作するように、または本明細書で説明されるある特定の動作を行うように物理的に構成された、永続的に構成された（例えば、配線で接続された）、または一時的に構成された（例えば、プログラムされた）エンティティであるものとして理解されるべきである。ハードウェアモジュールが一時的に構成される（例えば、プログラムされる）実施形態を考慮すると、ハードウェアモジュールのそれぞれは、時間的に任意の１つのインスタンスにおいて構成またはインスタンス化する必要がない。例えば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成することができる。ソフトウェアは、それに応じて、例えば、１つの時間のインスタンスにおいて特定のハードウェアモジュールを構成し、異なる時間のインスタンスにおいて異なるハードウェアモジュールを構成するようにプロセッサを構成することができる。
【００８２】
ハードウェア及びソフトウェアモジュールまたはルーチンは、他のハードウェア及び／またはソフトウェアモジュール及びルーチンに情報を提供し、及びそれらから情報を受信することができる。故に、説明されるハードウェアモジュールは、通信可能に結合されているものとみなすことができる。複数のそのようなハードウェアまたはソフトウェアモジュールが同時に存在する場合、通信は、ハードウェアまたはソフトウェアモジュールを接続する信号伝送を通して（例えば、適当な回路、回線、及びバスを通じて）達成することができる。複数のハードウェアモジュールまたはソフトウェアが異なる時間に構成またはインスタンス化される実施形態において、そのようなハードウェアまたはソフトウェアモジュール間の通信は、例えば、複数のハードウェアまたはソフトウェアモジュールがアクセスを有するメモリ構造における情報の記憶及び取り出しを通して達成することができる。例えば、１つのハードウェアまたはソフトウェアモジュールが動作を行い、その動作の出力を、該１つのハードウェアまたはソフトウェアモジュールに通信可能に結合されたメモリデバイスに記憶することができる。次いで、更なるハードウェアまたはソフトウェアモジュールが、その後に、このメモリデバイスにアクセスして、記憶した出力を取り出し、処理することができる。ハードウェア及びソフトウェアモジュールはまた、入力または出力デバイスとの通信も開始することができ、また、リソース（例えば、一群の情報）に対して動作することができる。
【００８３】
本明細書で説明される例示的な方法の種々の動作は、関連する動作を行うように（例えば、ソフトウェアによって）一時的に構成される、または永続的に構成される１つ以上のプロセッサによって、少なくとも部分的に行うことができる。一時的に構成されたか、永続的に構成されたかにかかわらず、そのようなプロセッサは、１つ以上の動作または機能を行うように動作する、プロセッサ実装モジュールを構成することができる。本明細書で参照されるモジュールは、いくつかの例示的な実施形態において、プロセッサ実装モジュールを含むことができる。
【００８４】
同様に、本明細書で説明される方法またはルーチンは、少なくとも部分的にプロセッサ実装することができる。例えば、方法の動作のうちの少なくともいくつかは、１つ以上のプロセッサまたはプロセッサ実装ハードウェアモジュールによって行うことができる。ある特定の動作を行うことは、単一のマシン内に存在するものだけでなく、いくつかのマシンにわたって展開される、１つ以上のプロセッサの間で分散させることができる。いくつかの例示的な実施形態において、１つまたは複数のプロセッサは、単一の場所に（例えば、プラント環境内に、職場環境内に、またはサーバファームとして）位置させることができるが、他の実施形態では、複数のプロセッサがいくつかの場所にわたって分散させることができる。
【００８５】
本明細書のいくつかの部分は、マシンメモリ（例えば、コンピュータメモリ）内にビットまたは２値デジタル信号として記憶されるデータに対する動作のアルゴリズムまたは記号的表現の観点で提示される。これらのアルゴリズムまたは記号的表現は、データ処理技術の当業者によって、作業の要旨を他の当業者に伝えるために使用される技術の例である。本明細書で使用されるとき、「アプリケーション」、「アルゴリズム」、または「ルーチン」とは、首尾一貫した一連の動作、または所望の結果に通じる類似の処理である。この文脈において、アプリケーション、アルゴリズム、ルーチン、及び動作は、物理的な量の物理的な操作を伴う。一般的に、必ずではないが、そのような量は、マシンによって記憶する、アクセスする、転送する、組み合わせる、比較する、または別様には操作することができる電気的、磁気的、または光学的信号の形態をとることができる。主に一般的な使用の理由で、そのような信号を、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」、及び同類のものなどの語句を使用して称することが、時には好都合である。しかしながら、これらの語句は、単に好都合な標識であり、適当な物理的な量と関連付けられる。
【００８６】
別途具体的に提示されない限り、「処理する」、「計算する」、「算出する」、「決定する」、「提示する」、「表示する」、または同類のものなどの語句を使用した本明細書での議論は、１つ以上のメモリ（例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ）、レジスタ、または情報を受信し、記憶し、伝送し、若しくは表示する他のマシンコンポーネント内で、物理的（例えば、電子的、磁気的、または光学的）な量として表されるデータを操作または変換するマシン（例えば、コンピュータ）のアクションまたは処理を指すことができる。
【００８７】
本明細書で使用される場合、「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」または「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」に対する任意の参照は、その実施形態と関連して説明される特定の要素、機能、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な箇所に現れる「１つの実施形態において」という語句は、必ずしも全てが同じ実施形態を参照しているとは限らない。
【００８８】
いくつかの実施形態は、それらの派生語とともに「結合される」及び「接続される」という表現を使用して説明することができる。例えば、いくつかの実施形態は、２つ以上の要素が物理的または電気的に直接接触していることを示す「結合される」という用語を使用して説明することができる。しかしながら、「結合される」という用語は、２つ以上の要素が互いに直接接触していないが、それでも互いに協働または相互に作用することも意味することができる。本実施形態は、この文脈に限定されない。
【００８９】
本明細書で使用される「備える（ｃｏｍｐｒｉｓｅｓ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有している（ｈａｖｉｎｇ）」、またはその任意の他の変形は、非排他的な包含を対象とすることを意図する。例えば、要素の一覧を含む過程、方法、項目、または装置は、必ずしもこれらの要素だけに限定されず、そのような過程、方法、項目、または装置に明示的に列挙または内在されない他の要素を含むことができる。更に、別途明確に逆の意味で述べられていない限り、「または（ｏｒ）」は、排他的な「ｏｒ」ではなく、包含的な「ｏｒ」を指す。例えば、ＡまたはＢという条件は、Ａが真（または存在する）かつＢが偽（または存在しない）である、Ａが偽（または存在しない）かつＢが真（または存在する）である、並びにＡ及びＢの両方が真（または存在する）である、という条件のうちのいずれか１つによって満たされる。
【００９０】
加えて、「１つの（ａ）」または「１つの（ａｎ）」の使用は、本明細書の実施形態の要素及びコンポーネントを説明するために用いられる。これは、単に便宜のために、及び説明の一般的な意味を提供するために行われる。この説明は、１つまたは少なくとも１つを含むものと読み取られるべきであり、単数形は、他の意味になることが明らかでない限り、複数形も含む。
【００９１】
本開示を一読すれば、当業者は、本明細書で開示されるように分析ルールを構成し、実行するためのルールビルダーアプリケーション及びシステムを実装するために、更に追加的な代替の構造的及び機能的設計を使用することができることを認識するであろう。したがって、特定の実施形態及びアプリケーションが本明細書で例示され、説明されているが、開示される実施形態は、本明細書で開示される正確な構造及びコンポーネントに限定されないことを理解されたい。当業者には明白である種々の修正、変更、及び変形が、特許請求の範囲で定義される趣旨及び範囲を逸脱することなく、本明細書で開示される方法及び構造の配設、動作、及び詳細において行うことができる。
【図１】
2017142800.tif 000003
【図２】
2017142800.tif 000004
【図３】
2017142800.tif 000005
【図４】
2017142800.tif 000006
【図５】
2017142800.tif 000007
【図６】
2017142800.tif 000008
【図７】
2017142800.tif 000009
【図８】
2017142800.tif 000010
【図９】
2017142800.tif 000011
【図１０】
2017142800.tif 000012
【図１１】
2017142800.tif 000013
【外国語明細書】
2017142800000001.pdf