(57)【特許請求の範囲】
【請求項１】
プロセス制御システムのユーザに検索サービスを提供するためのシステムであって、
プロセス制御システムに関連付けられた一連の検索可能なアイテムを格納するための検索データベースと、
各々１つ以上のフィルタ条件を含む一連の検索プロファイルを格納するための検索プロファイルデータベースと、
前記プロセス制御システムから前記検索可能なアイテムに関連付けられた情報を収集し、前記収集された情報を前記検索データベースへ発行するためのパブリッシャと、
前記検索プロファイルと前記検索可能なアイテムの検索クエリとの選択を含むリクエストを受信し、前記選択された検索プロファイルに基づいて前記検索クエリを変更し、前記変更された前記検索クエリに基づいて前記検索可能なアイテムを検索し、前記選択された検索プロファイルに基づいて前記収集された情報のうちの少なくとも一部を返すための、サーチャと、
を備え、
前記１つ以上のフィルタ条件は、プロセスプラントの中でのユーザの職務を示す、
システム。
【請求項２】
前記収集された情報は、動作データ、デバイスの測定値、警告、注意、またはデバイスの場所のうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記検索データベースは、オフラインおよびオンラインのプロセス制御デバイスに関連付けられた情報を格納する、請求項１〜請求項２の何れか１項に記載のシステム。
【請求項４】
前記サーチャは、前記検索クエリに基づいて、前記検索プロファイルを変更するためのものである、請求項１〜請求項３の何れか１項に記載のシステム。
【請求項５】
前記検索プロファイルのフィルタ条件の１つ以上は、ユーザに関連付けられた制御の範囲、前記ユーザのセキュリティアクセス、前記ユーザに寄与された権限、および前記ユーザに関連付けられた識別子の少なくとも１つである、請求項１〜請求項４の何れか１項に記載のシステム。
【請求項６】
前記サーチャは、前記収集された情報に基づいて、前記検索可能なアイテムをインデックスするためのインデクサを備える、請求項１〜請求項５の何れか１項に記載のシステム。
【請求項７】
前記検索クエリは、アプリケーションコンテキストを含み、前記サーチャは、前記アプリケーションコンテキストに基づいて、前記検索可能なアイテムを検索するためのものである、請求項１〜請求項６の何れか１項に記載のシステム。
【請求項８】
前記サーチャは、前記検索クエリの受信に応答して、前記パブリッシャからの更新サービスをリクエストするためのものである、請求項１に記載のシステム。
【請求項９】
プロセス制御システムのユーザに検索サービスを提供するための、コンピュータにより実行される方法であって、
前記コンピュータが、複数の検索可能なアイテムに関連付けられた第１の情報に対してプロセス制御システムを監視することと、
前記コンピュータが、前記第１の情報を検索データベースに発行することと、
前記コンピュータが、前記検索可能なアイテムの検索クエリを含む、リクエストをリクエスト者から受信し、一連の検索プロファイルの１つの検索プロファイルを特定することと、
前記コンピュータが、前記特定された検索プロファイルに基づいて前記検索クエリを変更することと、
前記コンピュータが、前記変更された検索クエリおよび前記特定された検索プロファイルに基づいて、前記検索可能なアイテムに関連付けられた第２の情報を含む応答を生成することと、
前記コンピュータが、前記応答を前記リクエスト者に送信することと、
を含み、
前記一連の検索プロファイルの各々は、１つ以上のフィルタ条件を含み、
前記１つ以上のフィルタ条件は、プロセスプラントの中でのユーザの職務を示す、
コンピュータにより実行される方法。
【請求項１０】
前記検索可能なアイテムは、プロセス制御デバイス、プロセス制御デバイスに関連付けられた動作データ、またはプロセス制御デバイスに関連付けられた製造データのうちの少なくとも１つを含む、請求項９に記載のコンピュータにより実行される方法。
【請求項１１】
前記コンピュータが、前記検索クエリに基づいて、前記検索プロファイルを変更することをさらに含む、請求項９又は請求項１０に記載のコンピュータにより実行される方法。
【請求項１２】
前記検索プロファイルを変更することは、前記検索クエリに基づいて、前記検索プロファイルに関連付けられた以前の検索クエリを加重することを含む、請求項１１に記載のコンピュータにより実行される方法。
【請求項１３】
前記検索プロファイルは、前記検索プロファイルに関連付けられた、所望の検索結果、追加の検索クエリデータ、または過去の検索クエリのうちの少なくとも１つを含む、請求項９〜請求項１２の何れか１項に記載のコンピュータにより実行される方法。
【請求項１４】
前記コンピュータが、前記検索クエリを絞り込むように前記リクエスト者にリクエストすることをさらに含む、請求項９〜請求項１３の何れか１項に記載のコンピュータにより実行される方法。
【請求項１５】
実行された場合に、機械に、
複数の検索可能なアイテムに関連付けられた第１の情報に対してプロセス制御システムを監視することと、
前記第１の情報を検索データベースに発行することと、
前記検索可能なアイテムの検索クエリを含む、リクエストをリクエスト者から受信し、一連の検索プロファイルの１つの検索プロファイルを特定することと、
前記特定された検索プロファイルに基づいて前記検索クエリを変更することと、
前記変更された検索クエリおよび前記特定された検索プロファイルに基づいて、前記検索可能なアイテムに関連付けられた第２の情報を含む応答を生成することと、
前記応答を前記リクエスト者に送信することと、
を行わせる、機械可読命令を備える、プログラムであって、
前記一連の検索プロファイルの各々は、１つ以上のフィルタ条件を含み、
前記１つ以上のフィルタ条件は、プロセスプラントの中でのユーザの職務を示す、
プログラム。
【請求項１６】
前記検索可能なアイテムは、プロセス制御デバイス、プロセス制御デバイスに関連付けられた動作データ、またはプロセス制御デバイスに関連付けられた製造データのうちの少なくとも１つを含む、請求項１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、プロセス制御システムに関し、より具体的には、プロセス制御システムに検索サービスを提供するためのシステム、方法、および製品に関する。
【背景技術】
【０００２】
化学処理、石油処理、または他のプロセスで使用されるもの等のプロセス制御システムは、典型的には、アナログ、デジタル、またはアナログ／デジタルを組み合わせたバスを介して、少なくとも１つのホストまたはオペレータワークステーションおよび１つ以上のフィールドデバイスに通信可能に結合された１つ以上のプロセスコントローラおよび入力／出力（Ｉ／Ｏ）デバイスを含む。例えば、バルブ、バルブ位置決め装置、スイッチ、およびトランスミッタ（例えば、温度、圧力、および流量センサ）であってもよいフィールドデバイスは、バルブの開閉およびプロセス制御パラメータの測定等のプロセス内のプロセス制御機能を実行する。コントローラは、フィールドデバイスによって行われるプロセス測定を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プロセスの動作を制御するためにフィールドデバイスにバスまたは他の通信回線上で送信される制御信号を発生させる。このように、コントローラは、フィールドデバイスを通信可能に結合するバスおよび／または他の通信リンクを介してフィールドデバイスを使用して制御戦略またはルーチンを実行し、連携調整する。
【０００３】
フィールドデバイスおよびコントローラからの情報は、オペレータが、プロセスに関して所望の機能を実行可能となるように、（つまり、プロセッサベースのシステム等の）オペレータワークステーションによって実行されるランタイムデータとして、１つ以上のアプリケーション（すなわち、ルーチン、プログラム等）に利用できるものであってもよい。これらの機能のいくつかは、（例えば、グラフィカルユーザインターフェースを介した）プロセスの現在の状態を表示し、プロセスを評価し、（例えば、視覚的オブジェクト図を介した）プロセスの動作を修正すること等を含んでもよい。多くのプロセス制御システムはまた、１つ以上のアプリケーションステーションを含む。通常、これらのアプリケーションステーションは、コントローラ、オペレータワークステーション、およびローカルエリアネットワーク（ＬＡＮ）を介してプロセス制御システム内の他のシステムに通信可能に結合されるパーソナルコンピュータ、ワークステーション等を使用して実装される。各アプリケーションステーションは、プロセス制御システムの中でキャンペーン管理機能、保守管理機能、仮想制御機能、診断機能、リアルタイム監視機能、安全性関連機能、構成機能等を実行する１つ以上の戦略、ルーチン、またはアプリケーションを実行することができる。
【０００４】
加えて、アプリケーションステーションおよび／またはオペレータワークステーションは、プロセス制御システムの多様な態様を記述する、プロセス文書、イベント情報、警告情報、および／またはヘルプファイルにアクセスする場合がある。これらの異なるタイプの情報の各々は、個別のデータベースに格納されている場合がある。いくつかの事例においては、データベースで所望の文書および／または情報を検索するために、検索機能がオペレータによって使用される場合がある。しかしながら、異なるタイプの文書はプロセス制御システム内の異なる場所および／またはデータベースに格納されているために、オペレータは、複数のデータベースでトピック、フィールドデバイス、および／または情報のタイプに関する情報を検索しなければならない可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
プロセス制御システムに検索サービスを提供するためのシステム、方法、および製品を以下に記載する。プロセス制御システムのユーザに検索サービスを提供するための例示的なシステムは、プロセス制御システムに関連付けられた一連の検索可能なアイテムを格納し、選択されたクエリ結果に関連付けられた検索プロファイルを格納するための検索データベースを含む。本システムはまた、プロセス制御システムからの検索可能なアイテムに関連付けられた情報を収集し、収集された情報を検索データベースに発行するためのパブリッシャと、データベース内の検索プロファイルおよび検索可能なアイテムのクエリを含むリクエストを受信し、クエリに基づいて検索可能なアイテムを検索し、検索プロファイルに基づいて収集された情報のうちの少なくとも一部を返すためのサーチャと、を含む。
【０００６】
プロセス制御システムのユーザに検索サービスを提供するための例示的な方法は、複数の検索可能なアイテムに関連付けられた第１の情報に対してプロセス制御システムを監視することと、第１の情報を検索データベースに発行することと、リクエスト者から、検索可能なアイテムのクエリを含むリクエストを受信し、検索プロファイルを特定することと、クエリおよび検索プロファイルに基づいて、検索可能なアイテムに関連付けられた第２の情報を含む応答を生成することと、応答をリクエスト者に送信することと、を含む。
【図面の簡単な説明】
【０００７】
【図１】検索サービス提供するためのフィールドデバイス統合サーバを含む例示的なプロセス制御システムを示す、ブロック図である。
【図２】図１の例示的なフィールドデバイス統合サーバを実装するために使用することができる、例示的なフィールドデバイス統合フレームワークのブロック図である。
【図３】図２の例示的な検索エンジンおよび例示的な検索インターフェースの詳細ブロック図である。
【図４】プロセス制御システムに検索サービスを提供するための検索インターフェースを含む、例示的なユーザインターフェースである。
【図５】検索クエリ、高度検索パネル、および選択可能な検索プロファイルを備える検索インターフェースを含む、別の例示的なユーザインターフェースである。
【図６】例示的な検索クエリからの検索結果、および例示的な検索プロファイルを備える検索インターフェースを含む、さらに別の例示的なユーザインターフェースである。
【図７】検索プロファイル構成インターフェースを含む、例示的なユーザインターフェースである。
【図８】統合検索インターフェースを含む、別の例示的なユーザインターフェースである。
【図９】図３の例示的な検索エンジンおよび例示的な検索インターフェースを実装するように実施されてもよい、例示的な方法のフローチャートである。
【図１０】図１の例示的なクライアント、図３の例示的な検索エンジンおよび／または例示的な検索インターフェースを実装するために、図９の方法を実行することが可能である、例示的なコンピュータのブロック図である。
【発明を実施するための形態】
【０００８】
以下において、他のコンポーネントの中でも、ハードウェアで実行されるソフトウェアおよび／またはファームウェアを含む、例示的な方法および装置を記載するが、これらの例は例示的なものにすぎず、制限的なものとして考えられるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのいずれかまたは全てを、ハードウェアのみ、ソフトウェアのみ、またはハードウェアおよびソフトウェアの任意の組み合わせにおいて実現できることが検討される。したがって、以下において、例示的な方法および装置を説明するが、当業者は、示されている例が、かかる方法および装置を実装する唯一の方法ではないことを容易に理解するだろう。例えば、例示的な方法および装置が、プロセス制御検索結果の管理に関連して記載されているが、例示的な方法および装置は、より一般的に適用可能であり、任意の自動化システム、バッチ処理システム、製造システム、工業制御システム、安全装置システム等のための検索結果を管理するために実装されてもよい。
【０００９】
本明細書に記載される例示的なシステム、方法、および製品は、プロセス制御システムのユーザに検索サービスを提供するために使用することができる。いくつかの例において、プロセス制御システムは、フィールドデバイス統合（ＦＤＩ）規格を使用する。いくつかの例示的な検索サービスは、パブリッシャと、検索エンジンと、を含む。いくつかの例において、パブリッシャは、プロセス制御システムから一連の検索可能なアイテムに関連付けられた情報を収集し、収集された情報を検索データベースに発行する。いくつかの例示的な検索エンジンは、例示的な検索データベース内の検索可能なアイテムのクエリを含むリクエストを受信し、クエリに基づいて、検索データベース内で一連の検索可能なアイテムを検索し、検索プロファイルに基づいて、収集された情報のうちの少なくとも一部を返す。
【００１０】
発行および／または検索されてもよい、いくつかの例示的な検索アイテムは、製造データ、プロセス制御システムの一部の表示、プロセス制御システム内のデバイスおよび／またはアプリケーションのデータトレンド、プロセス制御システム内のデバイスおよび／またはアプリケーションに関するオペレータの注記、デバイスのデータシート、プロセス制御システム内のデバイスによって生成される警告および／または注意、プロセス制御システム内のデバイスおよび／またはアプリケーションのための文書、プロセス制御システム内のデバイスからの診断、プロセス制御システム内のデバイスおよび／またはアプリケーションによって生成されるログ、ならびに／あるいはプロセス制御システム内の任意の他のタイプの検索可能なアイテムを含む。
【００１１】
以下に記載されるいくつかの例示的なシステム、方法、および製品は、ユーザが検索結果をカスタマイズおよび向上することを可能にするように検索プロファイルを使用する。いくつかの例において、プロセス制御システムのユーザは、１つ以上のタイプの検索結果を選択することを含めて、検索プロファイルを作成、編集、および／または削除し、検索クエリに検索条件を付加し、過去の検索クエリに基づいて検索結果を加重し、ならびに／あるいは検索プロファイルから過去の検索クエリを削除することができる。ユーザが検索プロファイルを使用して検索を実行する場合、ユーザによって入力された検索クエリは、検索プロファイルに応じて修正されてもよく、および／または例示的な検索エンジンは、検索プロファイルに特定された所望の検索結果に基づいて、特定のタイプの検索結果を返す。いくつかの例において、検索エンジンは、ユーザによって入力された検索クエリおよび／またはユーザによって選択された検索結果に基づいて、検索プロファイルを更新する。検索プロファイルを更新することは、例えば、ユーザの選択に基づいて検索結果を加重すること、および／または過去の検索クエリに基づいて検索条件を加重すること、を含んでもよい。
【００１２】
図１は、プロセス制御システム１００に検索サービスを提供するための、ＦＤＩサーバ１０６を含む例示的プロセス制御システム１００を示すブロック図である。例示的な制御環境１００は、制御システム１０２および／または他の制御システム（図示せず）に通信可能に結合されてもよいさらなるクライアント（図示せず）を含んでもよい。
【００１３】
クライアント１０４（例えば、ターミナル、ワークステーション、パーソナルコンピュータ）、例示的な制御システム１０２、および／またはフィールドデバイス統合（ＦＤＩ）サーバ１０６は、ＦＤＩ規格を使用して通信する。ＦＤＩサーバ１０６は、ＨＡＲＴ（登録商標）、Ｆｏｕｎｄａｔｉｏｎ  Ｆｉｅｌｄｂｕｓ、および／またはＰｒｏｆｉｂｕｓを含む異なる規格を使用して動作する、異なるネットワーク上のデバイスとインターフェースを取る。概して、ＦＤＩは、デバイスの製造者および／またはサプライヤが、デバイスが本来意図されたおよび／または構築された規格に関係なく、均一にデバイスを管理するために、顧客によって使用可能なツールセットを構築できるようにするための仕様を提供する。ＦＤＩは、標準的なＥｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ（ＥＤＤＬ）のテキストベースのファイル（例えば、ＸＭＬファイル）が、デバイス、デバイスによって提供された方法、デバイスによってサポートされる測定およびデバイスパラメータ、デバイスのための構成情報、および／またはユーザがデバイスと行うことができる相互作用を記述できるようにする、テキストによるデバイス記述方法を含む。
【００１４】
ＦＤＩはさらに、アプリケーションおよび／またはデバイスが通信するための標準方法を提供する。通信方法は、通信チャネルを介してメッセージを送信および受信する、メッセージバスの方法に類似する。メッセージバスの方法は、アプリケーション、コントローラ、サーバおよび／またはデバイスが、受信するアプリケーションまたはデバイスの内部動作に関する特定詳細のすべてを必ずしも認識することなく、相互作用することを可能にする。メッセージバスの手法に加えて、ＦＤＩは、アプリケーション、コントローラ、サーバ、および／またはデバイスからサービスをリクエストする、サービス指向方法のための機能を提供する。このようなサービス指向方法の下では、アプリケーション、コントローラ、サーバ、および／またはデバイスは、契約およびメッセージを使用して、機能性を明らかにし、利用する。サービス方法は、システムリソースおよび／または作用を交渉、割り当て、割り当てを解除、制限、管理、診断するためにアプリケーション、コントローラ、サーバおよび／またはデバイスによって使用されてもよい。
【００１５】
例示的なクライアント１０４および例示的なＦＤＩサーバ１０６は、第１の通信バス１０８を介して通信される。ＦＤＩサーバ１０６は、通信バス１０８と同じまたは異なるタイプであってもよい、他の通信バス１１０、１１２へ、通信バス１０８を接続する。ＦＤＩサーバ１０６は、さらに、通信バス１１２を介して制御システム１０２と通信する。このため、クライアント１０４は、ＦＤＩサーバ１０６ならびに適切な通信バス１０８および１１２を介して、制御システム１０２内の任意のデバイスと通信してもよい。
【００１６】
いくつかの例において、通信バス１０８〜１１２は、Ｆｏｕｎｄａｔｉｏｎ  Ｆｉｅｌｄｂｕｓプロトコル、Ｐｒｏｆｉｂｕｓプロトコル、および／またはＨＡＲＴプロトコルに準拠するように実装されてもよい。
【００１７】
例示的な制御システム１０２は、製造施設、処理施設、自動化施設、および／または任意の他の種類のプロセス制御構造またはシステムの任意の種類を含んでもよい。いくつかの例において、制御システム１０２は、異なる位置に配置される複数の施設を含んでもよい。さらに、例示的な制御システム１０２がプロセス制御サブシステム１１４に関連付けられていても、制御システム１０２は、さらなるプロセス制御システムを含んでもよい。
【００１８】
例示的なプロセス制御サブシステム１１４は、データバス１１８を介して、コントローラ１１６へ通信可能に結合される。プロセス制御サブシステム１１４は、任意の数のフィールドデバイス（例えば入力および／または出力デバイス）を含んでもよい。フィールドデバイス１１９は、入力の受信、出力の生成、および／またはプロセスの制御が可能であるプロセス制御コンポーネントの任意の種類を含んでもよい。例えば、フィールドデバイスは、プロセスを制御するために、例えば、バルブ、ポンプ、ファン、ヒーター、クーラー、および／またはミキサー等の入力デバイスを含んでもよい。さらに、フィールドデバイスは、プロセスの一部を測定するために、例えば、温度計、圧力計、濃度計、流面計測装置、流量計測装置、および／または蒸気センサ等の出力デバイスを含んでもよい。入力デバイスは、指定されたコマンドを実行し、プロセスに変更を生じさせるために、コントローラ１１６から命令を受信してもよい。さらに、出力デバイスは、プロセスデータ、環境データ、および／または入力デバイスデータを測定してもよく、プロセス制御情報（例えばプロセスデータ）として、コントローラ１１８へ測定したデータを送信してもよい。このプロセスデータは、各フィールドデバイスからの測定された出力に対応する、変数値（例えば、測定されたプロセス変数および／または測定されたクオリティ変数）を含んでもよい。
【００１９】
図１の図示された例において、例示的なコントローラ１１６は、データバス１１８を介して、プロセス制御サブシステム１１４内のフィールドデバイスと通信してもよい。データバス１１８は、プロセス制御サブシステム１１４内の通信コンポーネントに結合されてもよい。通信コンポーネントは、フィールドデバイスからデータを受信し、例示的なコントローラ１１６によって受信できる通信媒体へデータを転換するための入出力カードを含んでもよい。さらに、これらの入出力カードは、データを、コントローラ１１６から、対応するフィールドデバイスによって処理できるデータフォーマットへ転換してもよい。一例において、データバス１１８は、Ｆｉｅｌｄｂｕｓプロトコルまたは他の種類の有線および／もしくは無線の通信プロトコル（例えばＰｒｏｆｉｂｕｓプロトコル、ＨＡＲＴプロトコル等）を使用して実装されてもよい。
【００２０】
コントローラ１１６は、任意の有線および／または無線接続によって、ＦＤＩサーバ１０６と通信可能に結合される。いくつかの例において、接続は、コントローラ１１６へのアクセスを制限するために、ファイアウォールおよび／または他のセキュリティメカニズムを含んでもよい。コントローラ１１６は、コントローラ１１６がプロセス制御サブシステム１１４からプロセスデータを受信すると、ＦＤＩサーバ１０６へプロセスデータを送信してもよい。他の例において、コントローラ１１６は、定期的な間隔で（例えば毎分、毎時間、毎日等）、ＦＤＩサーバ１０６へプロセスデータを送信してもよい。あるいは、ＦＤＩサーバ１０６は、コントローラ１１６からプロセスデータをリクエストしてもよい。
【００２１】
プロセスデータを受信すると、図１の例示的なＦＤＩサーバ１０６は、ファイルシステム（図示せず）内のプロセスデータを格納する。ファイルシステムは、プロセス制御サブシステム１１４内のデバイスに基づいて、および／または、プロセス制御サブシステム１１４を管理するために、コントローラ１１６内で動作するルーチン（例えばアプリケーションおよび／またはアルゴリズム）に基づいて、ディレクトリおよび／またはサブディレクトリと階層的に編成されてもよい。他の例では、ファイルシステムは、制御システム１０２のオペレータによって編成されてもよい。プロセスデータは、関連付けられたディレクトリおよび／またはサブディレクトリ内のパラメータに格納されてもよい。いくつかの例において、パラメータは、コントローラ１１６上で動作するルーチンと関連付けられる、またはプロセス制御システム１００内のフィールドデバイス出力と関連付けられる変数にしてもよい。パラメータは、パラメータに関連付けられたプロセスデータの種類を記述するメタデータを含んでもよい。
【００２２】
例示的なクライアント１０４は、プロセス制御システム１００に関連付けられプロセスデータを読み込み、書き出し、および／または登録することが承認されてもよい個人に関連付けられてもよい。クライアント１０４は、さらに、リモート位置からプロセス制御システム１００にアクセスしてもよい制御システム１０２に関連付けられた人員に関連付けられてもよい。クライアント１０４は、任意の有線および／または無線通信媒体（例えばインターネット）を使用して、ＦＤＩサーバ１０６を介してプロセス制御システム１００にアクセスしてもよい。
【００２３】
相互動作機能を提供することに加えて、ＦＤＩサーバ１０６は、クライアント１０４に、クライアント１０４のユーザのために所望のデータを迅速に呼び出すために使用されてもよい、検索サービスを提供する。以下に詳細を記載するように、ＦＤＩサーバ１０６は、コンテキスト検索結果を提供し、ユーザまたはクライアント１０４に関連付けられた検索プロファイルに基づいて検索結果を提供し、検索クエリに基づいてユーザまたはクライアント１０４の検索プロファイルを更新し、過去の検索に基づいて検索クエリおよび／または検索結果を修正し、および／または検索サービスの利用性を強化するための他の検索機能をクライアント１０４のユーザに提供することができる。
【００２４】
例示的なＦＤＩサーバ１０６は、プロセスデータが、クライアント１０４で動作するクライアントアプリケーション１２０のユーザによって表示可能になるように、プロセスデータをフォーマットすることができる。図１の例は、インターフェース１２２内のプロセスデータを示すクライアントアプリケーション１２０を示す。例えば、クライアントアプリケーション１２０は、ウェブクライアントディスプレイアプリケーションを含んでもよい。ＦＤＩサーバ１０６は、ウェブページを作成し、および／またはテンプレートウェブページにアクセスし、ウェブページ内にデータフィールドを配置または埋め込むことにより、ウェブサーバアプリケーションのためのプロセスデータをフォーマットしてもよい。インターフェース１２２は、ウェブブラウザを介して、次いでＨＴＭＬリクエストおよび応答を使用して、ＦＤＩサーバ１０６内でホストされるウェブページにアクセスすることにより、プロセスデータを表示してもよい。あるいは、ＦＤＩサーバ１０６は、ウェブブラウザ（例えばインターフェース１２２）内で実行可能であってもよい、またはクライアント１０４（例えばＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムアプリケーション、アプリケーションプラグイン）に本来のものであってもよい、クライアントアプリケーション１２０において、ウェブアプリケーション（例えばＡｃｔｉｖｅＸ，Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）および／またはＳｉｌｖｅｒｌｉｇｈｔ（登録商標）を初期化することにより、クライアントディスプレイアプリケーションのために、プロセスデータをフォーマットしてもよい。
【００２５】
いくつかの例において、クライアント１０４は、検索を実施する前に、クライアントアプリケーション１２０をダウンロードおよび／またはインストールすることができる。ＦＤＩサーバ１０６は、検索結果をクライアントアプリケーション１２０へ送信する。いくつかの例において、ＦＤＩサーバ１０６は、クライアントアプリケーション１２０へプロセスデータを送信する前に、対応するデータフィールドに、プロセスデータを関連付ける。プロセスデータの受信時において、クライアントアプリケーション１２０は、対応するデータフィールド内のプロセスデータを表示するために、ウェブブラウザ（例えばインターフェース１２２）内のディスプレイを作成（たとえば、レンダリング）する。
【００２６】
クライアント１０４は、好ましい検索パターンに合うように、後で特定される検索クエリを使用して検索される結果のタイプ、検索クエリへの自動的追加、検索結果のリターンフォーマット、および／または検索結果への任意の他の修正を特定することによって、検索プロファイルをカスタマイズすることができる。例えば、クライアント１０４は、データフィールドを表示するために、ウェブブラウザ内の場所を特定することができる。検索プロファイルは、クライアント１０４および／またはクライアント１０４のユーザに特化していてもよい。例えば、オペレータは、技術者またはエンジニアとは異なる検索プロファイルを使用することができるが、クライアント１０４は、プロセス制御システム内のユーザの役割に関わらず、クライアント１０４のユーザのための異なる検索プロファイルを有することができる。
【００２７】
ＦＤＩサーバ１０６はさらに、通信バス１０８〜１１２上の他のデバイス１２８、１３０、１３２、１３４、１３６から受信されるデータに基づいて、検索結果を更新することができる。例示的なデバイス１２８〜１３６は、ワークステーション、端末、コントローラ、通信ネットワークドロップノード、通信デバイス（例えば、モデム、ネットワークゲートウェイ）、ならびに／あるいは任意の他のタイプの入力、出力、および／または制御デバイスを含んでもよい。
【００２８】
図２は、図１の例示的なＦＤＩサーバ１０６を実装するために使用されてもよい、例示的なサービス指向フレームワーク２００のブロック図である。例示的なサービス指向フレームワーク２００は、プロセス制御システム（例えば、図１のプロセス制御システム１００）の柔軟性を向上するために、サービス指向アーキテクチャを提供する。図２に示されるように、サービス指向フレームワーク２００は、ホストアプリケーション２０２、検索エンジン２０４、デバイス記述２０８、および１つ以上のデバイスネットワーク２１０と通信する。サービス指向フレームワーク２００は、サービスレイヤ２１２、変換レイヤ２１４、ネットワークアプリケーションレイヤ２１６、およびセキュリティレイヤ２１８を含む。
【００２９】
図２の例示的なホストアプリケーション２０２は、デバイスを設定するためのアプリケーション、デバイスの較正および診断を実行するためのアプリケーション、および／または１つ以上のデバイスネットワークに配置されたデバイスから測定値およびイベントを読み込むためのアプリケーションである。図２に示されるように、ホストアプリケーション２０２は、サービスレイヤ２１２からサービスをリクエストおよび利用してもよいサービス顧客２０６を含む。ホストアプリケーション２０２は、例えば、図１の例示的なクライアント１０４および／または図１０の例示的なコンピュータ１０００上で実行されるコンピュータ可読命令を使用して実装されてもよい。ホストアプリケーション２０２は、サービス指向フレームワーク２００を介して、デバイスネットワーク２１０と通信する。したがって、例示的なサービス指向フレームワーク２００および／またはフレームワーク２００の選択された部分は、デバイスネットワーク１０８、１１０、および１１２上のクライアント１０４、サーバ１０６、コントローラ１１６、および／またはデバイス１２８〜１３６のそれぞれの上で実装されてもよい。
【００３０】
サービスレイヤ２１２は、サービスインターフェース２２０、サービスメッセージタイプ２２２、サービスデータタイプ２２４、アダプタ２２６、および検索インターフェース２３０を含むサービス２２８を含む。検索インターフェース２３０に加えて、サービスレイヤ２１２によって提供された例示的なサービス２２８は、デバイス記述２０８およびデバイスネットワーク２１０へのアクセスを含む。サービス２２８は、アプリケーションおよび／またはデバイスが、所望の能力または機能を実行するようにサービス２２８にリクエストできるようにするサービス契約として明らかになっている。サービスによって実装された新しい機能、ならびに新しいメッセージおよびデータタイプを含むためのサービス契約の変更は、既存の契約と上位互換性がない。
【００３１】
サービスレイヤ２１２は、サービスインターフェース２２０を介してアクセスされる。サービスレイヤ２１２は、アプリケーションおよび／またはデバイスからのサービスリクエストを管理し、ホストアプリケーションによって使用するためのサービス契約を変換する。サービスとサービス顧客との間のメッセージのやりとりの際に、メッセージを各サービス顧客が理解できるフォーマットに変えるために、１つ以上のアダプタ２２６を使用してもよい。
【００３２】
サービスレイヤ２１２へのアクセスは、ポリシーによって定義される。ポリシーは、サービス顧客が、接続の種類、サービスにアクセスするための任意のセキュリティ要件、および／またはサービスのリクエストに関する任意の他の詳細を決定する方法を提供する。
【００３３】
変換レイヤ２１４は、ＦＤＩベースのプロトコルとデバイスネットワークに特化したプロトコル（例えば、ＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、Ｐｒｏｆｉｂｕｓ）との間を変換する。例示的な変換レイヤ２１４は、デバイス記述ファイル２０８からデバイスについての情報を受信する。デバイス記述ファイル２０８は、電子デバイス記述言語（ＥＤＤＬ）２３２および／または共通ファイルフォーマット２３４のデバイスについての情報を含む。ＥＤＤＬファイル２３２は、図１のデバイス１２８〜１３６の各製造者によって生成されるテキストによる記述を表す。ＥＤＤＬファイル２３２は、デバイス１２８〜１３６のデジタルデータシートに類似する。従来のプログラミング言語と比較して、ＥＤＤＬエレメントの柔軟性は、制限されており、また、デバイス記述に特化している。一方で、ＥＤＤ言語の簡潔性により、ＥＤＤデバイス記述の容易かつ効率的な開発が可能になり、ハードウェアおよびオペレーティングシステムプラットフォームへの依存がなくなり、デバイス動作のための均一的な理念が生じ、翻訳を経て高いロバスト性がもたらされる。ＥＤＤＬ技術は、低程度から平均的な複雑さのデバイスで有利に使用することができる。
【００３４】
共通ファイルフォーマット２３４は、デバイスおよび／またはアプリケーションについての情報を格納し、ファイルは、システム、ツールセット、アプリケーション、および／または他のデバイスの間で交換されてもよい。いくつかの例において、共通ファイルフォーマット２３４は、柔軟性があり、タグを使用して仮想的に制限されていない記述を可能にする拡張マークアップ言語（ＸＭＬ）を含むスキーマを使用する。
【００３５】
ネットワークアプリケーションレイヤ２１６は、図１のデバイスネットワーク１０８〜１１２のうちの１つ以上と相互作用するためのデータアクセス機能を含む。例示的なフレームワーク２００は、複数のネットワークアプリケーションレイヤ２１６を含んでもよく、これらのそれぞれが、ＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、およびＰｒｏｆｉｂｕｓ等の特定のデバイスネットワークに特化している。したがって、例示的なフレームワーク２００およびネットワークアプリケーションレイヤ２１６は、これらのプロトコルへのいかなる変更も必要としない。
【００３６】
デバイスネットワーク２１０は、デバイスを構成し、デバイス診断にアクセスし、測定値、アラームおよびイベントを送信する能力、ならびに／またはその他の通信および制御能力を有する例示的なフレームワーク２００を提供する。サービス指向フレームワーク２００によってサポートされるいくつかの例示的な能力は、リクエストおよび／または応答、発行および／または登録、イベントの送信、アプリケーションおよび／またはデバイスのディレクトリの保守、ならびに／またはデバイスへのコマンドの書き込みを含む。サービス指向フレームワーク２００は、ホストアプリケーション２０２に、サービスレイヤ２１２を介したこれらの能力へのアクセスを提供する。例えば、サービス指向フレームワーク２００は、リクエスト／応答、発行／登録、イベント、ディレクトリ、および書き込み能力について定義されたサービスを有してもよい。
【００３７】
動作の例において、ホストアプリケーション２０２は、デバイスネットワーク上の圧力トランスミッタデバイスからの圧力測定値等、デバイスパラメータを読み込むために、リクエストを生成する。デバイスネットワークがＨＡＲＴネットワークの場合、ホストアプリケーション２０２は、圧力トランスミッタデバイスにコマンドを送信する。これに対して、デバイスネットワークがフィールドバスネットワークの場合、ホストアプリケーション２０２は、オブジェクト辞書エントリを読み込みまたはリクエストを行う。ＦＤＩ規格を使用して、例示的なホストアプリケーション２０２は、圧力トランスミッタデバイスから圧力を読み込むために、汎用（例えば、標準）フォーマットでリクストを作成する。リクエストを受信すると、サービスレイヤ２１２は、変換レイヤ２１４へリクエストを送信する。変換レイヤ２１４は、圧力トランスミッタデバイスが接続されているデバイスネットワークに特化したコマンドを生成し、ネットワークアプリケーションレイヤ２１６を介してコマンドを送信する。デバイスネットワークは、圧力トランスミッタデバイスへリクエストを送信し、ネットワークアプリケーションレイヤ２１６を介して、デバイスから変換レイヤ２１４へ応答を返す。変換レイヤ２１４は、次に、ホストアプリケーション２０２によって理解可能である標準応答フォーマットへ、応答を転換する。いくつかの他の例において、ホストアプリケーション２０２は、応答のための特定のフォーマットを必要とする。これらの場合において、ホストアプリケーション２０２は、応答がホストアプリケーション２０２に戻される際に、特定のアダプタ２２６を呼び出すようにリクエストしてもよい。
【００３８】
いくつかの場合において、デバイスネットワークへのアクセスを制限する必要があるかもしれない。この要件をサポートするために、サービス指向フレームワーク２００は、認証および／または承認を提供するために、セキュリティレイヤ２１８を含む。認証の実装は、使用されるサービスホストの種類に依存してもよい。このため、サービス指向フレームワーク２００は、１つ以上のセキュリティレイヤのプラグインを可能にする。例えば、サービス指向フレームワーク２００がインターネット情報サービス（ＩＩＳ）においてホストされる場合、ＩＩＳによって提供された認証サポートが使用される。サービスがＷｉｎｄｏｗｓ（登録商標）サービスによってホストされる場合、メッセージベースまたはトランスポートベースの認証が使用される。
【００３９】
いくつかの例において、サービス指向フレームワーク２００は、ユーザアクセスの承認を提供する。これらの場合、承認モジュールは、ユーザ、グループ、および役割について、リソース上のアクセス許可を提供するためにプラグインできる。
【００４０】
図３は、図２の例示的な検索エンジン２０４および例示的な検索インターフェース２３０の詳細ブロック図である。例示的な検索エンジン２０４および／または例示的な検索インターフェース２３０は、図１の例示的なＦＤＩサーバ１０６、任意の通信バス１０８〜１１２に結合された１つ以上の他のサーバ、および／または図１０のコンピュータシステム１０００を使用して実装されてもよい。
【００４１】
図２の例示的な検索エンジン２０４は、検索フレームワーク３０２と、検索データベース３０４と、クエリおよびナレッジデータベース３０６と、検索プロファイルデータベース３０８と、を含む。例示的な検索フレームワーク３０２は、サーチャ３１０と、インデクサ３１１と、サブスクライバ（例えば、リスナ）３１２と、を含む。例示的な検索エンジン２０４はまた、デバイスパブリッシャ３１４と、アセット管理パブリッシャ３１６と、制御システムパブリッシャ３１８と、を含む。しかしながら、検索エンジン２０４は、図示されたパブリッシャ３１４〜３１８に追加および／または代替のパブリッシャを含むことができる。いくつかの例において、パブリッシャ３１４〜３１８は、検索プロファイルの作成に基づいて作成および／または排除されてもよい。検索結果で返されるデバイスを特定する検索プロファイルが作成される時、検索プロファイル内で選択された検索結果のタイプを発行する、新しいパブリッシャが作成される。いくつかの例において、検索プロファイルが検索中に特定される時、検索プロファイルは、デバイスパブリッシャ３１４を有効にすることができる。これに応答して、いくつかの他の例において、パブリッシャ３１４〜３１８は、任意の検索プロファイルに対して検索エンジン２０４によってアクセスされる、ユニバーサルパブリッシャに統合されてもよい。
【００４２】
パブリッシャ３１４〜３１８は、収集された情報を関連データベース３０４〜３０８に発行する。例えば、制御システムパブリッシャ３１８は、プロセス制御デバイスから収集されたデータを、検索データベース３０４に発行することができる。同様に、デバイスパブリッシャ３１４は、製造元が提供した文書およびサービスのリストを、クエリおよびナレッジデータベース３０６に発行することができる。
【００４３】
例示的なパブリッシャ３１４〜３１８各々は、デバイスパブリッシャ３１４に含まれるデータ変更リスナ３２０等のデータ変更リスナを含む。データ変更リスナ３２０は、パブリッシャ３１４〜３１８のうちのどれがデータ変更リスナ３２０を実装しているかに応じて、データ、デバイス情報、制御情報、または他のデータ変更に対する変更をリッスンまたは監視する。例えば、デバイスパブリッシャ３１４内のデータ変更リスナ３２０は、新しいデバイスに対して、既存のデバイスに対する更新に対して、および／またはデバイス記述２０８からの既存デバイスの削除に対して、デバイス記述２０８（例えば、共通ファイルフォーマット２３２の記述ファイル、電子デバイス記述言語２３４の記述ファイル）を監視することができる。他の例において、制御システムパブリッシャ３１８内のデータ変更リスナ３２０は、デバイス（例えば、図１のデバイス１２８〜１３６）によって、および／またはアプリケーション（例えば、クライアントアプリケーション１２０）によって送信されるデータおよび／またはコマンドをリッスンまたは監視する。
【００４４】
データおよび／または情報を収集するために、例示的なパブリッシャ３１４〜３１８は、デバイス１２８〜１３６、クライアントアプリケーション１２０、および／またはコントローラ１０２の間で渡されるメッセージに対して、通信バス１０８〜１１２をリッスンすることができる。図１の例示的なプロセス制御システム１００によって使用されるメッセージバス構造のために、ＦＤＩサーバ１０６（および／または検索サーバ（図示せず））は、ＦＤＩサーバ１０６が接続されるそれぞれの通信バス１０８〜１１２に沿って渡される、どのようなメッセージも読み込むことができる。このように、ＦＤＩサーバ１０６は、（例えば、パブリッシャ３１４〜３１８を介して）メッセージバス上のデータおよび／またはデバイス情報をスヌープするように構成されてもよい。加えてまたは代替として、デバイス１２８〜１３６、クライアントアプリケーション１２０、制御システム１０２、および／またはＦＤＩサーバ１０６は、動作データ、制御データ、警告および／または注意データ、トレンドデータ、デバイス診断、および／または任意のタイプのデバイスおよび／またはアプリケーション情報を定期的および／または非定期的に提供するように構成されてもよい。
【００４５】
クライアント１０４のユーザによって（例えば、インターフェース１２２を介して）入力される検索パラメータに基づいて検索を実行するために、サービス指向フレームワーク２００は、（例えば、検索インターフェース２３０を介して）サーチャ３１０にアクセスする。例示的なサーチャ３１０は、アプリケーションインターフェース３２２を介してプロセッサ３２４から１つ以上の検索パラメータおよび／または検索プロファイルを受信する。アプリケーションインターフェース３２２は、ここを通じて図１のクライアントアプリケーション１２０および／または図２のホストアプリケーション２０２がサービス指向フレームワーク２００によって提供される、検索サービスにアクセスすることができる、インターフェースである。検索エンジン３０２はまた、プロセッサ３２４から、検索パラメータに関連付けられた表示コンテキスト情報を受信する。
【００４６】
サーチャ３１０は、検索データベース３０４にアクセスし、検索パラメータをインデックスされたプロセス制御情報に一致させる。例えば、サーチャ３１０は、検索パラメータのうちのどれがプロセス制御情報のインデックス内に含まれるかを決定することによって、検索パラメータを一致させる。サーチャ３１０はまた、追加の検索パラメータとして表示コンテキスト情報を使用して、検索パラメータを一致させることができる。例えば、表示コンテキストが、検索パラメータが概略図内で生成されたことを示す場合、サーチャ３１０は、検索パラメータに一致するインデックスされたプロセス制御情報を検索することに加えて、概略図に関連付けられたインデックスされたプロセス制御情報を検索する。
【００４７】
例示的サーチャ３１０は、ユーザによって提供される検索パラメータに基づいて、検索パラメータをインデックスされたプロセス制御情報に一致させることができる。例えば、ユーザは、検索パラメータを語句全体として一致させるように特定することができる。その場合、サーチャ３１０は、検索データベース３０４で、語句全体に一致する、インデックスされたプロセス制御情報を検索する。他の例において、検索パラメータは、検索から除外される語句を列挙することができる。例示的なサーチャ３１０は次いで、除外された語句を含まない、インデックスされたプロセス制御情報を一致させる。例示的なサーチャ３１０はまた、例えば、数式および／または論理結合子を含む検索を実行するように、他の検索パラメータを使用することができる。
【００４８】
サーチャ３１０が制御パラメータをインデックスされたプロセス制御情報に一致させる時、サーチャ３１０は、一致したプロセス制御情報を検索結果として検索結果リストに格納する。一致したプロセス制御情報は、検索データベース３０４内の対応するソース情報および／または実行時データへのリンクを含む。一致したプロセス制御情報はまた、インデックスされたプロセス制御情報を含むことができる。サーチャ３１０は、サーチャ３１０が検索データベース３０４内のインデックスの検索を完了するまで、検索結果を検索結果リストに追加する。
【００４９】
例示的なサーチャ３１０は、検索パラメータがインデックスされたプロセス制御情報に一致する程度の計算（例えば、関連性計算）に基づいて、検索結果の各々に対してパーセント一致値を決定する。サーチャ３１０は、最も関連性の高い検索結果が１番目に表示されるように、検索結果を格付けおよび／または順位付けるためにパーセント一致値を使用する。他の例において、サーチャ３１０は、最もアクセスの多い検索結果を１番目に表示してもよく、および／または最もアクセスが多い検索結果および最も関連性の高い検索結果の組み合わせを１番目に表示することができる。いくつかの例において、サーチャ３１０は、これらが一致させられるにつれて、検索結果を格付けおよび／または順位付けする。他の例において、サーチャ３１０は、検索データベース３０４の検索完了時に、検索結果を格付けおよび／または順位付けする。
【００５０】
検索結果を格付けおよび／または順位付けると、サーチャ３１０は、検索結果を検索フィルタ３３２へ送信する。例示的検索フィルタ３３２は、プロセッサ３２４から受信されるフィルタ条件に基づいて、検索結果をフィルタ（および／またはパース）する。例示的フィルタ条件は、ユーザの職務、ユーザに関連付けられた制御の範囲、ユーザのセキュリティアクセス、ユーザに寄与された権限、および／またはユーザに関連付けられた識別子に関連付けられる。フィルタ条件は、ユーザがユーザに関連しない情報および／またはユーザが視認することを承認されていない情報を視認することがないことを確実にするために、検索フィルタ３３２によって使用される。
【００５１】
インデクサ３１１は、データベース３０４〜３１８内のデータおよび／またはデバイス情報をインデックスする。実行時データのうちのどれがインデックスされるかを決定するために、例示的なインデクサ３１１は、プロセス制御担当者によって提供されてもよい、ルールセットを使用する。インデクサ３１１は、受信された実行時データに関連付けられた制御パラメータのうちのどれがインデックスされるかを識別するために、ルールセット内で特定された制御パラメータを使用する。例えば、ルールセットは、ＰＵＭＰ０１制御パラメータがインデックスされることを示すことができる。サブスクライバ３１２は、メッセージ内にＰＵＭＰ０１制御パラメータを含む実行時データを受信するので、インデクサ３１１は、ＰＵＭＰ０１制御パラメータがインデックスされることを決定することが可能である。ＰＵＭＰ０１に関連付けられた実行時データをインデックスするために、インデクサ３１１は、メッセージから実行時データをパースし、ＰＵＭＰ０１制御パラメータおよび関連付けられた実行時データを検索データベース３０４に転送する。
【００５２】
いくつかの例において、プロセス制御担当者は、全てのプロセス制御データをインデックスするように決定する場合がある。これらの例において、サブスクライバ３１２は、全ての受信した実行時データをインデクサ３１１へ転送する。他の例において、プロセス制御担当者は、フィールドデバイス出力に関連付けられたプロセス制御データだけをインデックスするように決定することができる。これらの他の例において、プロセス制御担当者は、フィールドデバイス出力に関連付けられた制御パラメータのリストを含むように、ルールセットを定義する場合がある。サブスクライバ３１２は次いで、受信した実行時データに関連付けられた制御パラメータをルールセット内で特定された制御パラメータに一致させるために、このルールセットにアクセスする。サブスクライバ３１２は、一致する制御パラメータおよび関連付けられた実行時データをインデクサ３１１へ転送する。また他の例において、サブスクライバ３１２は、検索インターフェース２３０から、どの制御パラメータが検索結果内に含まれていたかを示す更新を受信することができる。サブスクライバ３１２は次いで、制御パラメータおよび関連付けられた実行時データに対する比較的最近の検索だけがインデックスされるように、ルールセットを更新する。さらに、最近アクセスされた制御パラメータをインデックスするための時間制限は、プロセス制御担当者によって特定されてもよい。
【００５３】
実行時データをインデックスするために、検索フレームワーク３０２は、インデクサ３１１を含む。例示的インデクサ３１１は、サブスクライバ３１２から、実行時データおよび対応する制御パラメータを受信し、検索データベース３０４内に格納されたインデックスを介して、検索レコードを更新する。検索データベース３０４内で、制御パラメータは記述として使用されてもよく、これによって、実行時データをアクセス可能にする。実行時データをインデックスするために、インデクサ３１１は、実行時データに関連付けられた制御パラメータを識別し、制御パラメータを検索データベース３０４内に格納された検索可能インデックスに格納する。加えて、インデクサ３１１は、格納された制御パラメータに関連付けられた実行時データをインデックスに格納する。インデクサ３１１は、実行時データおよび／または対応する制御パラメータをインデックスするために、語境界明確化、タグ付け、テキスト分割、コンテンツ分析、テキスト分析、テキストマイニング、コンコーダンス生成、会話分割、字句解析、および／または字句分析）と称されることがしばしばある、任意のタイプのデータ圧縮および／または文書パース（例えば、トークン化）を使用してもよい。
【００５４】
実行時データおよび制御パラメータをインデックスに格納することによって、サーチャ３１０は、検索結果内に制御パラメータを含めることができる。サーチャ３１０はまた、表示された制御パラメータに対応する、インデックス内に格納された実行時データを表示することができる。この様式において、サーチャ３１０によって返された検索結果は、インデックスされた実行時データを含む。インデクサ３１１は、サブスクライバ３１２が実行時データを受信するにつれて実行時データをインデックスするため、検索結果として表示される実行時データは、実質的に最新の生成された実行時データである。このように、検索結果を視認するユーザは、検索結果および／または最初の検索コンテキストとは別にプロセス制御情報を視認するために、別のアプリケーションを開くことを必要とせず、検索結果内で最新のプロセス制御情報を視認することができる。
【００５５】
例示的なインデクサ３１１はまた、実行時データがインデックスに格納される例において、インデックス内の比較的より最近の実行時データで実行時データを上書きすることができる。この様式において、インデクサ３１１は、最新の実行時データでインデックスを更新する。インデクサ３１１はまた、実行時データが変更および／または更新されたことを示すメッセージをサーチャ３１０に送信することができる。この結果、インデクサ３１１が実行時データをインデックスに格納するにつれて、検索結果内に表示されるいずれの実行時データも、最新の実行時データで更新することができる。
【００５６】
実行時データをインデックスすることに加えて、例示的なインデクサ３１１は、ソース情報をインデックスする。例示的なインデクサ３１１は、プロセス制御環境１００全体に格納される可能性がある、ソース情報をインデックスする。この様式において、インデクサ３１１は、プロセス制御環境１００の異なる場所（例えば、デバイス記述２０８）に格納されたソース情報に対して、検索データベース３０４内に格納される検索可能なインデックスを作成する。他の例において、インデクサ３１１は、プロセス制御担当者の好みに基づいて、デバイス記述２０８および／またはソース情報のタイプの各々に対してインデックスを作成することができる。これらの例において、インデクサ３１１は、複数のインデックスを検索データベース３０４に格納するので、検索インターフェース２３０は、検索を実行するために検索データベース３０４にアクセスすることだけが必要である。さらに、インデクサ３１１は、プロセス制御担当者の要件に基づいて、定期的に（例えば、毎時、毎日、毎週等）ソース情報をインデックスする。
【００５７】
図３のインデクサ３１１は、加えてまたは代替として、デバイス記述２０８内のデバイス情報を特定し、デバイス情報の一部および／または全てをインデックスに格納するために、クローラおよび／または検索スパイダを使用して、デバイス情報をインデックスすることができる。インデクサ３１１は、デバイス情報をインデックスするために任意のタイプのデータ圧縮および／または文書パースを使用することができる。デバイス情報のインデックスされた部分は、検索インターフェース２３０によって、検索結果アイテムとして表示される。デバイス情報の一部は、例えば、文書および／または情報のタイトル、文書および／または情報に関連付けられたおよび／あるいは埋め込まれたキーワードまたは語句、文書および／または情報によって参照される図１のデバイス１２８〜１３６および／または制御パラメータ、文書および／または情報の承認された視聴者、ならびに／あるいは文書および／または情報に関連付けられたプロセス制御システム１００の領域を含むことができる。さらに、インデクサ３１１は、文書および／または情報のタイプを決定し、タイプをインデックスに格納することができる。ソース情報の一部および／または完全なコピーを検索データベース３０４内のインデックスに格納することによって、サーチャ３１０は、検索パラメータをソース情報の一部に一致させることができる。さらに、文書および／または情報のタイプをインデックスに格納することによって、サーチャ３１０は、特定のタイプの文書および／または情報に対するコンテキストベースの検索を実行するために、タイプを使用することができる。
【００５８】
図３はさらに、例示的な検索インターフェース２３０の詳細ブロック図を示す。例示的な検索インターフェース２３０は、ユーザから検索パラメータを受信し、検索パラメータに少なくとも部分的に一致する検索結果を提供する。例示的な検索インターフェース２３０はまた、保存された（例えば、オフラインの）検索結果を管理し、条件に基づいて検索結果をフィルタし、および／または検索のコンテキストに基づいて、検索結果の表示を管理する。
【００５９】
ユーザから検索パラメータを受信するために、例示的検索インターフェース２３０は、アプリケーションインターフェース３２２を含む。例示的なアプリケーションインターフェース３２２は、図１のクライアント１０４に通信可能に結合および／または図１のクライアント１０４内（例えば、クライアントアプリケーション１２０の中）に含まれる。アプリケーションインターフェース３２２はまた、図１のユーザインターフェース１２２に通信可能に結合される。いくつかの例において、アプリケーションインターフェース３２２は、ユーザインターフェース１２２内に含まれる検索ボックスおよび／または機能に動作可能に結合される。検索パラメータが、ユーザによって、ユーザインターフェース１２２内の検索機能を介して検索ボックスに入力および／または選択される時、例示的なアプリケーションインターフェース３２２は、検索パラメータを受信する。いくつかの例において、検索パラメータは、ユーザインターフェース１２２内で動作しているアプリケーションによって提供されてもよい。
【００６０】
加えて、アプリケーションインターフェース３２２は、ユーザインターフェース１２２を介してユーザによって提供されるフィルタ条件を受信する。いくつかの例において、フィルタ条件は、選択された検索プロファイルに含まれる。フィルタ条件は、検索インターフェース２３０によって、検索結果をフィルタおよびパースするために使用される。いくつかの例において、検索結果は、ユーザにアクセス可能なユーザ情報および／またはプロセス制御システム１００の領域に基づいて、フィルタされてもよい。フィルタ条件はまた、ユーザの職務、ユーザに関連付けられた制御の範囲、ユーザのセキュリティアクセス、ユーザに寄与された権限、および／またはユーザに関連付けられた識別子を含むことができる。アプリケーションインターフェース３２２によって受信されたフィルタ条件は、ユーザがユーザに関連しない情報および／またはユーザが視認することを承認されていない情報を視認しないことを確実にする。ユーザインターフェース１２２および／またはユーザインターフェース１２２によって表示されるアプリケーションから、検索パラメータおよび／またはフィルタ条件を受信すると、例示的アプリケーションインターフェース３２２は、検索パラメータおよび／またはフィルタ条件をプロセッサ３２４へ転送する。いくつかの例において、アプリケーションインターフェース３２２は、プロセッサ３２４が検索パラメータおよび／またはフィルタ条件を受信するために利用可能になるまで、検索パラメータおよび／またはフィルタ条件を待ち行列に入れることができる。
【００６１】
アプリケーションインターフェース３２２によって受信される検索パラメータは、例えば、テキストおよび／またはコンテキスト情報を含む。テキストは、ユーザによってユーザインターフェース１２２の検索フィールド（例えば、テキストボックス）内へ入力される単語または語句、図１のフィールドデバイス１２８〜１３６の識別子（例えば、タグ）、オペレータおよび／またはユーザ情報、日付範囲、ならびに／あるいはプロセス制御情報を検索するためにユーザが特定することができる、任意の他の情報を含むことができる。コンテキスト情報は、ユーザインターフェース１２２内に表示されたプロセス制御情報のグラフ表示を選択するユーザによって生成されてもよい。例えば、ユーザは、プロセス制御サブシステム１１４の図表内に表示されたＶＡＬＶＥ０１フィールドデバイスの選択されたグラフ表示に関連付けられたプロセス制御情報を検索することができる。この例において、アプリケーションインターフェース３２２によって受信されたインコンテキスト情報は、ＶＡＬＶＥ０１フィールドデバイスの名前を含む検索パラメータと、ＶＡＬＶＥ０１フィールドデバイスの選択が図表アプリケーション内であったことを示す検索パラメータとを含むことができる。検索パラメータはまた、ユーザがＶＡＬＶＥ０１フィールドデバイスに関連付けられた文書の検索結果を視認するように選択したことを示すインコンテキスト情報を含むことができる。アプリケーションインターフェース３２２によって受信されたこれらの検索パラメータに基づいて、サーチャ３１０は、ＶＡＬＶＥ０１フィールドデバイスに関連付けられた文書および／または図表に関連付けられた文書に対し、検索データベース３０４の検索を集中する。
【００６２】
別の例において、ユーザは、機能ブロック図内の機能ブロックを選択することができる。例示的なアプリケーションインターフェース３２２は、ユーザインターフェース１２２から、機能ブロック図内で発生した選択、機能ブロックの名前、および／または機能ブロックに関連付けられた制御パラメータを示す、検索パラメータを受信する。これらの検索パラメータは、サーチャ３１０によって、選択された制御パラメータに関連付けられた実行時データおよび／または機能ブロックを記述する文書を検索するために使用されてもよい。他の検索例は、図４〜８を参照して説明する。
【００６３】
加えて、例示的アプリケーションインターフェース３２２は、サーチャ３１０をユーザインターフェース１２２および／またはユーザインターフェース１２２によって表示されるアプリケーションに通信可能に結合するので、アプリケーションインターフェース３２２は、ユーザインターフェース１２２内で表示するための検索結果を送信する。検索結果は、例えば、プロセス制御情報、プロセス制御アイテム、および／あるいは一部のまたはインデックスされたプロセス制御情報のリストを含む。他の例において、検索結果は、プロセス制御情報のグラフ表示および／または対応する実行時データを含む制御パラメータを含む。インデックスされたソース情報および／または実行時データは、ユーザインターフェース１２２によって、プレビューパネル内および／または検索結果パネル内に検索結果としてグラフに表示されてもよい。
【００６４】
図示された例の例示的プロセッサ３２４は、受信された検索パラメータから、インコンテキスト情報の表示コンテキストを決定する。プロセッサ３２４は、検索結果が、ユーザが検索を開始したコンテキストに対応するグラフ表示でユーザに表示され得るように、表示コンテキストを決定する。プロセッサ３２４は、例えば、検索が開始されたアプリケーションのタイプ、アプリケーション内から検索されるように選択されたデータタイプ、および／または検索されるように選択された制御パラメータのデータタイプに表示コンテキストを一致させることによって、表示コンテキストを決定する。プロセッサ３２４はまた、検索パラメータおよび／またはフィルタ条件内に含まれたインコンテキスト情報に基づいて、表示コンテキストを決定することができる。
【００６５】
検索結果の表示コンテキストを決定すると、プロセッサ３２４は、決定された表示コンテキストをレンダラ３２６へ送信する。例示的なレンダラ３２６は、ユーザインターフェース１２２内に表示するための対応する検索結果のグラフ表示を生成するために、表示コンテキストを使用する。プロセッサ３２４はまた、表示コンテキストをサーチャ３１０へ送信する。プロセッサ３２４は、メッセージおよび／または命令の中に表示コンテキストを送信する。加えて、プロセッサ３２４は、検索パラメータ、フィルタ条件、および／またはインコンテキスト情報をサーチャ３１０へ送信する。加えて、例示的プロセッサ３２４は、ユーザインターフェース１２２の検索フィールド内に表示するために、代替のスペルを送信および／またはアプリケーションインターフェース３２２に最近入力された検索パラメータを提供することができる。
【００６６】
図３の図示された例において、アプリケーションインターフェース３２２は、表示された検索結果を格納するように、ユーザインターフェース１２２から命令を受信する。命令は、検索結果を格納するためにユーザによって割り当てられた識別子（例えば、名前）を含むことができる。検索結果格納命令を受信すると、アプリケーションインターフェース３２２は、命令をプロセッサ３２４へ転送し、次いで、プロセッサ３２４は検索結果に対してサーチャ３１０にアクセスする。プロセッサ３２４は、検索結果および／または検索の識別子を検索結果データベース３３０へ格納する、保存検索マネージャ３２８へ命令を転送する。例示的な検索結果データベース３３０は、関連付けられた識別子の下に検索結果を格納する。例示的な検索結果データベース３３０および検索データベース３０４、クエリおよびナレッジデータベース３０６、ならびに／あるいは検索プロファイルデータベース３０８は、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、および／または任意の他のタイプのメモリによって実装されてもよい。
【００６７】
検索結果を格納することによって、クライアント１０４および／またはクライアントアプリケーション１２０のユーザは、格納された検索結果内にリストされるプロセス制御情報にアクセスすることができる。ユーザは、特定のプロセス制御アイテムに関連付けられた一群のリンクを格納するために、検索結果を格納することができる。例えば、ユーザは、ＰＵＭＰ０１フィールドデバイスに関連付けられた文書を検索することができる。表示された検索結果は、検索データベース３０４内のソース情報および実行時データメモリ内の実行時データへのリンクを含む。文書および実行時情報の各々をクライアント１０４のローカルに格納する代わりに、ユーザは、検索結果を格納することができ、これによって、ソース情報および／実行時データへのリンクを格納する。ユーザは次いで、同じプロセス制御情報の別の検索を実行する代わりに、ローカル（例えば、オフライン）で格納された検索結果にアクセスすることができる。
【００６８】
図３の例示的な保存検索マネージャ３２８はまた、検索データベース３０４内のインデックスのコピーを検索結果データベース３３０へ格納する。検索データベース３０４からインデックスのコピーを保存するために、プロセッサ３２４は、ユーザインターフェース１２２を介して、クライアント１２０のユーザから命令を受信する。他の例において、プロセッサ３２４は、定期的に（例えば、毎時、毎日、毎月等）検索データベース３０４にアクセスすることができる。検索データベース３０４にアクセスすることによって、プロセッサ３２４は、インデックスをコピーし、コピーを保存検索マネージャ３２８へ転送することができる。保存検索マネージャ３２８は次いで、コピーを検索結果データベース３３０に格納する。インデックスのコピーを格納することによって、例示的な保存検索マネージャ３２８は、検索データベース３０４が利用可能でない場合に、ユーザが検索を実施することを可能にする。検索データベース３０４が利用可能でない場合、例示的なプロセッサ３２４は、保存検索マネージャ３２８を介して、検索結果データベース３３０内のバックアップインデックスのコピーにアクセスする。
【００６９】
例えば、クライアント１０４のユーザは、クライアント１０４にログインするための識別子を提供する。ユーザが検索を実行する時、識別子は、検索パラメータとしてアプリケーションインターフェース３２２へ送信されてもよく、および／またはメタデータとして検索パラメータおよび／または表示コンテキスト情報内に埋め込まれてもよい。プロセッサ３２４は、メタデータから識別子を抽出し、識別子を検索フィルタ３３２へ転送することができる。検索フィルタ３３２は次いで、例えば、識別子に関連付けられた制御のゾーンおよび／または識別子に関連付けられた職務を決定する。検索フィルタ３２２は次いで、検索結果から、職務および／または制御のゾーンに関連付けられていない一切の検索結果を削除する。さらに、検索フィルタ３２２は、識別子がアクセスしてもよい検索結果を決定するために、（例えば、図２のセキュリティレイヤ２１８を介して）セキュリティ認証情報にアクセスすることができる。検索フィルタ３２２は次いで、削除されなかった検索結果を表示データマネージャ３３４へ転送する。
【００７０】
例示的な表示データマネージャ３３４は、ユーザインターフェース１２２によって表示されるアプリケーション内に検索結果として表示されるプロセス制御情報を管理する。表示データマネージャ３３４は、ローカルキャッシュに検索結果内に含まれた実行時データに関連付けられた制御パラメータを格納、および／または検索結果内に含まれたソース情報へのリンクを格納する。表示データマネージャ３３４は次いで、検索結果をレンダラ３２６へ転送する。さらに、表示データマネージャ３３４は、検索結果として表示されたインデックスされた実行時データおよび／またはソース情報のうちのいずれかが、変更しているかどうかを決定するために、定期的に（例えば、毎秒、毎分、５分毎、１０分毎等）および／または非定期的に（例えば、オンデマンド）検索データベース３０４にアクセスする。インデックスされたプロセス制御情報のうちのいずれかが変更している場合、表示データマネージャ３３４は、変更された情報で検索結果を更新し、変更された情報をレンダラ３２６へ送信する。他の例において、表示データマネージャ３３４は、パブリッシャ３１４〜３１８から、実行時データが変更していることを示すメッセージを受信する。この様式において、表示データマネージャ３３４は、プロセス制御情報がプロセス制御システム１００内で変更するにつれて、表示された検索結果を更新する。プロセス制御情報を更新する結果として、表示データマネージャ３３４は、ユーザが検索結果コンテキスト内で最新のプロセス制御情報を視認することを可能にする。
【００７１】
例示的な表示データマネージャ３３４はまた、検索データベース３０４にアクセスすることによって、検索結果内に表示された実行時データにアクセスすることができる。表示データマネージャ３３４は、検索データベース３０４内で実行時データを発見するために、実行時データに関連付けられた制御パラメータを使用することができる。表示データマネージャ３３４が、実行時データのうちの少なくともいくつかが変更していると決定する場合、表示データマネージャ３３４は、対応する検索結果を更新し、更新された検索結果をレンダラ３２６へ送信する。 
【００７２】
さらに、例示的な表示データマネージャ３３４は、検索結果内にリストされたソース情報の新しいバージョンが格納されているかどうかを決定するために、検索データベース３０４にアクセスすることができる。表示データマネージャ３３４が、新しいバージョンが格納された、および／またはそうではなく、ソース情報が変更していると決定する場合、表示データマネージャ３３４は、検索結果を変更されたソース情報で更新し、変更されたソース情報をレンダラ３２６へ転送する。レンダラ３２６は次いで、表示された検索結果を変更されたソース情報で更新することができる。
【００７３】
加えてまたは代替として、図３の例示的な表示データマネージャ３３４は、検索結果内に表示された実行時データおよび／またはソース情報のうちのいずれかが変更しているかどうかを決定するために、サーチャ３１０に命令を送信する。命令を受信すると、サーチャ３１０は、インデックスされたプロセス制御情報のうちのいずれかが変更しているかどうかを決定するために、検索データベース３０４にアクセスする。インデックスされたプロセス制御情報が変更している場合、検索エンジン２０４は、変更された情報を表示データマネージャ３３４へ転送する。
【００７４】
例示的なレンダラ３２６は、表示データマネージャ３３４から受信された表示可能なバージョン（例えば、レンダラ）の検索結果を作成する。レンダラ３２６は、プロセッサ３２４から受信された表示コンテキスト情報を使用して、および／または検索結果内にリストされたプロセス制御情報のタイプに基づいて、表示可能な検索結果を作成する。レンダラ３２６は、検索結果のための表示テンプレートを選択するために、表示コンテキスト情報を使用する。例えば、表示コンテキストが機能ブロック図に関連付けられる場合（例えば、検索が、機能ブロック図から開始された場合）、レンダラ３２６は、検索結果を機能ブロックとして表示することが可能である埋め込み型アプリケーションを含むテンプレートを選択することができる。別の例において、レンダラ３２６がフィールドデバイスに関連付けられた表示コンテキスト情報を受信する場合（例えば、フィールドデバイスがプロセス制御システム１００の図表またはレイアウト内で選択された）、レンダラ３２６は、実行時データのグラフ表示を表示することが可能なテンプレート（例えば、値、チャート、グラフ等）を選択することができる。
【００７５】
例示的なレンダラ３２６はまた、検索結果をどのように表示するかを決定するために、検索結果内に含まれたプロセス制御情報のタイプを使用することができる。例えば、レンダラ３２６は、図表ファイルを表示することができるアプリケーションで検索結果内にリストされた図表ファイルフォーマットに関連付けられたプロセス制御情報を表示することができる。他の例において、レンダラ３２６は、検索結果をリストとして表示するために、クライアント１０４のユーザから命令を受信することができる。この様式において、検索結果は、リストされたプロセス制御情報のコンテキスト内に表示される。類似の様式において、文書ファイルフォーマットに関連付けられたプロセス制御情報は、レンダラ３２６によって、ワード処理アプリケーションに表示されてもよい。
【００７６】
代替として、レンダラ３２６は、表示コンテキスト情報に基づいて、および／または検索結果のタイプに基づいて、検索結果をリストとして表示することができる。例えば、検索結果がプロセス制御情報の異なるタイプに関連付けられる場合、レンダラ３２６は、検索結果をリストとして表示することができる。レンダラ３２６はまた、ファイルタイプのコンテキストに選択された検索結果を示すプレビューパネルを生成することができる。
【００７７】
さらに、例示的なレンダラ３２６は、関連付けられたアプリケーションの中に選択されたプロセス制御情報を表示する。例えば、ユーザは、検索データベース３０４に格納されたワード処理文書に対応する、検索結果を選択することができる。この例において、例示的なアプリケーションインターフェース３２２は、選択をプロセッサ３２４に転送し、プロセッサ３２４は、検索結果内のリンクを使用して、選択されたワード処理文書のために検索データベース３０４にアクセスする。プロセッサ３２４は次いで、文書をレンダラ３２６へ送信する。レンダラ３２６は、文書がワード処理文書であることを決定し、ユーザインターフェース１２２内にワード処理アプリケーションを開き、ワード処理アプリケーション内に文書を表示する。表示データマネージャ３３４はまた、開いた文書の変更バージョンが検索データベース３０４に格納される時、ユーザに指標を提供することができる。
【００７８】
さらに、レンダラ３２６は、検索結果をどのように表示するかを決定するために、フィルタ条件を使用することができる。例えば、レンダラ３２６は、クライアント１０４のユーザの識別子がオペレータとして分類されている場合、オペレータインターフェーステンプレートを選択することができる。類似の様式において、レンダラ３２６は、識別子がデザイナおよび／またはエンジニアとして分類されている場合、エンタープライズアプリケーションに検索結果を表示することができる。レンダラ３２６は、プロセッサ３２４および／または検索フィルタ３３２からフィルタ条件を受信する。フィルタ条件および／または表示コンテキストに基づいて検索結果を表示する追加の例は、図４〜８を参照して説明する。
【００７９】
図示された例の例示的なレンダラ３２６は、生成された表示可能な検索結果をユーザインターフェース１２２へ送信する。ユーザインターフェース１２２は、ユーザによって視認可能なクライアント１０４内に検索結果を表示する。いくつかの例において、ユーザは、表示される検索結果をプレビューすることを選択することができる。これらの例において、アプリケーションインターフェース３２２は、選択された検索結果のユーザインターフェース１２２から命令を受信し、命令をレンダラ３２６へ転送する。例示的なレンダラ３２６は次いで、検索結果に関連付けられたプロセス制御情報のタイプに基づいて、および／または表示される検索結果のコンテキストタイプに基づいて、選択された検索結果のための表示を生成する。いくつかの例において、レンダラ３２６は、プレビューパネルにプロセス制御情報を表示するために、検索結果内に含まれたインデックスされたプロセス制御情報を使用することができる。他の例において、検索結果内に含まれたインデックスされたプロセス制御情報が表示を生成するために不十分である場合、レンダラ３２６は、選択された検索結果の対応するプロセス制御情報のために検索データベース３０４にアクセスすることができる。レンダラ３２６は次いで、ユーザインターフェース１２２内で表示するために、選択された検索結果のグラフ表示をアプリケーションインターフェース３２２へ送信する。
【００８０】
検索データベース３０４を検索することに加えて、図２の例示的な検索インターフェース２３０は、図１のプロセス制御環境１００内の他のクライアントを検索するためのクライアントインターフェース３３６を含む。例示的なクライアントインターフェース３３６は、クライアント内のメモリのファイルおよび／またはフォルダ検索を実施することによって、他のクライアントを検索する。クライアントインターフェース３３６はまた、検索を開始したユーザインターフェース１２６を含むクライアント１０４を検索する。この様式において、ユーザは、ユーザのクライアント１０４を含む、プロセス制御環境１００内の実質的にあらゆる場所にあるプロセス制御情報を検索することができる。
【００８１】
図示した例の例示的なクライアントインターフェース３３６は、検索エンジン２０４から検索パラメータを受信し、通信可能に結合されたクライアントで制御パラメータに一致するプロセス制御情報を検索する。クライアントインターフェース３３６は、検索パラメータに一致する実行時データおよび／またはソース情報に関連付けられた制御パラメータを検索する。クライアントインターフェース３３６は、ユーザが、クライアントにはローカルに格納されている可能性があるが、検索データベース３０４にはまだ格納されていない、プロセス制御情報を検索することを可能にする。クライアントインターフェース３３６はまた、検索エンジン２０４に、最近アクセスされた検索結果のリストを提供することができる。検索エンジン２０４は、検索結果のうちのどれが最近アクセスされたかに基づいて、検索結果を格付けるおよび／または順序付けるために、クライアントインターフェース３３６からのリストを使用する。加えてまたは代替として、クライアントインターフェース３３６は、他のクライアントを検索するために、検索エンジン２０４に対してインターフェースとして機能することができる。
【００８２】
他のクライアントを検索すると、図３の例示的なクライアントインターフェース３３６は、一致する検索結果を検索エンジン２０４へ送信する。例示的な検索エンジン２０４は次いで、クライアントインターフェース３３６からの検索結果を、検索データベース３０４からの検索結果に組み込む。さらに、検索エンジン２０４は、他のワークステーション上に格納されている検索結果に隣接して指標を配置することができる。ユーザは、検索結果の指標を視認し、対応する検索結果が別のワークステーション上に格納されていることを知ることができる。
【００８３】
図４は、プロセス制御システム（例えば、図１のプロセス制御システム１００）に検索サービスを提供するための検索インターフェース４０２を含む、例示的なユーザインターフェース４００である。例示的なユーザインターフェース４００は、ナビゲーションバー４０４と、検索テキストフィールド４０６と、検索プロファイル選択バー４０８とを含むアプリケーション（例えば、クライアントアプリケーション１２０）を表示する。例示的なユーザインターフェース４００はまた、プロセス制御システム１００の一部の表示を選択するために使用されてもよい表示選択バー４１０、および表示選択バー４１０を使用して選択されたプロセス制御システム１００の一部を表示する表示領域４１２を表示する。例示的なクライアントアプリケーション１２０は、例えば、ユーザが図１のプロセス制御システム１００に関連付けられたプロセス制御情報を視認することを可能にする、エンタープライズアプリケーションであってもよい。ナビゲーションバー４０４は、ユーザがクライアントアプリケーション１２０および／またはプロセス制御システム１００と異なる方式で相互作用することを選択する場合がある、クライアントアプリケーション１２０内のいくつかの相互作用ビューを示す。
【００８４】
図示された例において、ナビゲーションバー４０４の検索タブは、検索インターフェース４０２を表示するために選択されている。上述のように、例示的な検索インターフェース４０２は、ユーザが１つ以上の検索パラメータを含む検索クエリを入力することを可能にするための検索テキストフィールド４０６を含む。
【００８５】
いくつかの例において、ユーザは、検索パラメータの名前を記述するテキストを用いて、検索パラメータのタイプおよび／またはカテゴリを入力することができる。例えば、ユーザは、検索テキストフィールド４０６に、検索カテゴリ「ｂｌｏｃｋ＿ｔｙｐｅ＝ＰＩＤ」およびブロック名「ｂｌｏｃｋ＿ｎａｍｅ＝ＦＩＣ＿１０１」を入力することができる。これらの検索パラメータの各々は、検索エンジン２０４によって、検索データベース３０４でブロックタイプＰＩＤおよびブロック名ＦＩＣ＿１０１を含むインデックスされたプロセス制御情報を検索するために使用される。検索テキストフィールド４０６はまた、ユーザがワイルドカード値（例えば、ＦＩＣ＊）を入力することをサポートすることができ、および／またはユーザが入力を開始した内容に基づいて、テキストを自動入力することができる。検索クエリは、ブール結合子を使用して、結合子を使用して、検索フィールドを使用して、および／または検索クエリの任意の他のタイプおよび／または機能を使用して、単純な言語フォーマットで入力されてもよい。さらに、検索テキストフィールド４０６は、それ以前の検索のために入力された最近のテキストをユーザに表示することができる。
【００８６】
図４の例示的検索インターフェース４０２はさらに、ユーザが検索プロファイルを選択して検索に関連付けることを可能にするための、検索プロファイル選択バー４０８を含む。検索プロファイルは、ユーザによって特定および／またはそれ以前の検索クエリおよび／または結果選択から適合されるにつれて、検索クエリを修正および／または検索から表示された結果を修正することができる。ユーザが検索プロファイルを選択しない、いくつかの例において、検索インターフェース４０２は、デフォルトの検索プロファイルを特定することができる。例示的な検索インターフェース４０２はさらに、検索プロファイル作成ボタン４１４と、検索プロファイル修正ボタン４１６とを含む。検索プロファイル作成ボタン４１４は、ユーザが今後の検索中に選択するための新しい検索プロファイルを作成することを可能にする。検索プロファイル修正ボタン４１６は、ユーザが選択した既存の検索プロファイルを修正することを可能にする。検索プロファイルを作成および／または修正するための例示的なユーザインターフェース７００は、図７を参照して以下に説明する。
【００８７】
例示的な検索インターフェース４０２はさらに、検索カテゴリバー４１８を含む。例示的な検索カテゴリバー４１８は、検索インターフェース２３０が、一致するプロセス制御情報を発見するために、特定された検索クエリおよび／または検索プロファイルと共に使用することができる、選択可能な検索パラメータを含む。この例においては、表示検索パラメータ４２０が選択される。表示検索パラメータ４２０を選択することによって、図３のサーチャ３１０は、グラフ表示の表示タイプに関連付けられたプロセス制御情報を検索する。他の例において、トレンド検索パラメータの選択は、サーチャ３１０に、例えば、実行時データ、グラフ、および／またはチャートを含む、プロセスのトレンドおよび／または履歴に関連付けられたプロセス制御情報を検索することを行わせる。ドキュメント検索パラメータの選択は、サーチャ３１０に、特定された検索クエリおよび／または検索プロファイルに関連付けられたソース情報文書を検索することを行わせる。
【００８８】
図５は、検索クエリ５０４、高度検索パネル５０６、および選択された検索プロファイル５０８を備える検索インターフェース５０２を含む、別の例示的なユーザインターフェース５００である。加えて、図５は、例示的な検索カテゴリバー４１８を示し、ここで、ユーザは、図１のクライアントアプリケーション１２０に、高度検索パネル５０６を表示させる高度検索ボタン５１０を選択している。
【００８９】
例示的な高度検索パネル５０６は、ユーザが、検索パラメータをより正確におよび／またはより具体的に提供することを可能にする。図示された例の高度検索パネル５０６は、検索を実施するためのプロセス制御システム１０４内の場所（例えば、ＰＬＡＮＴ＿９９）を特定するために使用されてもよい、場所フィールド５１２を含む。高度検索パネル５０６は、ユーザが特定された日付範囲内で修正および／または作成されたプロセス制御情報を検索することを可能にする、日付フィールド５１４を含む。高度検索パネル５０６はまた、特定されたファイルサイズを下回る、または上回るプロセス制御情報を検索するためのファイルサイズフィールド５１６を含む。加えて、高度検索パネル５０６は、他のワークステーションおよび／または他のプロセス制御コンポーネントで、検索データベース３０４内でインデックスされていないプロセス制御情報を検索するように、検索エンジン３０２に命令するためにユーザが選択することができる、包含選択機能５１８を含む。
【００９０】
さらに、高度検索パネル５０６は、ユーザがインデックスされたプロセス制御情報の名前を検索パラメータとして入力することを可能にする名前フィールド５２０と、ユーザがインデックスされたプロセス制御情報の識別子を検索パラメータとして入力することを可能にするタグフィールド５２２と、を含む。高度検索フィールド５０６はまた、ユーザがソース情報の作成者を検索パラメータとして特定することを可能にする作成者フィールド５２４を含む。いくつかの例において、ユーザは、高度検索パネル５０６にフィールドを追加および／または削除することができる。例えば、ユーザがフィールドデバイス名で検索パラメータを特定することが必要な場合、ユーザは、フィールドデバイス名のフィールドを追加することができる。さらに、フィールド５１２〜５１６は、選択可能な検索パラメータを包含するドロップダウンボックスを示す矢印を示す。フィールド５１２〜５１６は制限された数の可能値を有するので、フィールド５１２〜５１６は、ドロップダウンボックスを含む。例えば、日付フィールド５１４内で選択するために、一定の数の可能な日付だけが存在する。別の例において、コントローラに関連付けられたフィールドは、プロセス制御システム１００内に含まれたコントローラ（例えば、図１のコントローラ１１６）の名前を含むドロップダウンボックスを含むことができる。いくつかの他の例において、ユーザは、検索クエリ５０４を介して所望のフィールド指定子（例えば、場所）を、続いて、区切り文字（例えば、コロン、セミコロン、ハイフォン、等号）および所望のフィールド値（例えば、Ｐｌａｎｔ＿９９）を入力することができる。
【００９１】
フィールド５０４、５１２〜５２４内にテキストを入力および／または情報を選択することによって、ユーザは、検索エンジン３０２が検索データベース３０４で一致するインデックスされたプロセス制御情報を検索するために使用する検索パラメータを特定する。クライアント１０４は、検索結果のグラフ表示のためのテンプレートを決定するために、フィールド５０４、５１２〜５２４および／または検索カテゴリバー４１８内の選択されたカテゴリに関連付けられた表示コンテキスト情報を使用することができる。さらに、検索エンジン３０２は、フィールド５０４、５１２〜５２４の検索パラメータがクライアントアプリケーション１２０から送信されたことを決定し、検索結果パネル５２６内に示された検索結果の対応するグラフ表示を生成することができる。
【００９２】
図５の例はまた、ユーザが、選択インジケータ５２８によって示されるようにＰＬＡＮＴ＿９９のフィード準備の検索結果を選択したことを示す。クライアントアプリケーション１２０は、ＰＬＡＮＴ＿９９フィード準備の検索結果に関連付けられたプロセス制御情報が図表に対応するデータタイプを有することを決定する。ＰＬＡＮＴ＿９９のフィード準備の検索結果を選択することに応答して、クライアントアプリケーション１２０は、ＰＬＡＮＴ＿９９のフィード準備の検索結果に連結されたプロセス制御情報のグラフ表示５３０を生成する。検索インターフェースは次いで、プレビューパネル５２６内の図表としてグラフ表示５３０を表示する。この例において、グラフ表示５３０は、場所ＰＬＡＮＴ＿９９内のデバイスおよび相互接続の図表表示を示す。
【００９３】
図６は、ナビゲーションバー４０４と、例示的な検索クエリ６０６に基づいた検索結果６０４を含む検索インターフェース６０２と、例示的な検索プロファイル６０８とを含む、例示的なユーザインターフェース６００である。例示的な検索インターフェース６０２はまた、例示的検索プロファイル作成および検索プロファイル修正ボタン４１４および４１６を含む。
【００９４】
例示的な検索インターフェース６０２はまた、検索ヒントまたは検索明確化６１０および６１２を含み、これらは、検索を絞り込むようにシステムのユーザに問い合わせるために、ユーザインターフェース６００上に表示されるプロンプトである。例えば、検索クエリ６０６をパースする一方で、サーチャ３１０は、検索インターフェース６０２に、ユーザが「最後の７日間」によって何を意味したかを特定するために、検索明確化６１０を用いてユーザへの問い合わせを行わせる。例示的クエリが、２０１０年７月１５日の東部夏時間（ＥＤＴ）午後１：０５：００に実行される場合、サーチャ３１０は、検索用語「最後の７日間」は、２０１０年７月８日のＥＤＴ午後１：０５：００から２０１０年７月１５日のＥＤＴ午後１：０５：００または２０１０年７月８日のＥＤＴ午前１２：００：００から２０１０年７月１５日のＥＤＴ午前１２：００：００までの時間を表す可能性があると決定する。同様に、サーチャ３１０は、検索用語「貯蔵タンク」が燃料貯蔵タンク１Ａ〜１０Ｃまたは水貯蔵タンク２０Ｄ〜２１Ｄを表しているかどうかを決定するために、検索インターフェース６０２に、検索明確化６１２を用いてユーザへの問い合わせを行わせることができる。加えて、サーチャ３１０は、選択された検索プロファイル６０８に基づいて、検索クエリ６０６に用語「場所：Ｐｌａｎｔ＿９９」を追加した。
【００９５】
検索明確化６１０、６１２の選択の前に、サーチャ３１０はまた、検索クエリ６０６および検索プロファイル６０８に基づいて、仮検索結果６１４を提供する。仮検索結果６１４は、例えば、用語「貯蔵タンク」が、例示的検索結果６１４に示された燃料貯蔵タンクおよび／または特定の貯蔵タンクを表す可能性がより大きいことを反映することができる。仮検索結果６１４はまた、選択された検索プロファイル６０８内の検索クエリ用語「場所：Ｐｌａｎｔ＿９９」の追加に基づいて、Ｐｌａｎｔ＿９９に位置したタンクに制限される。
【００９６】
図７は、検索プロファイル構成インターフェース７０２を含む、例示的なユーザインターフェース７００である。検索プロファイル構成インターフェース７０２は、ナビゲーションバー４０４を介して選択可能であり、後でプロセス制御システム１００の検索の際に使用するために、検索プロファイルを作成、修正、または削除するために、図１のプロセス制御システム１００のユーザによってアクセスされてもよい。上述のように、検索プロファイルは、ユーザが、好ましい検索結果および／または検索クエリへの修正を特定することを可能にする。検索プロファイルは、加えてまたは代替として、ユーザによって送信された以前のクエリを加重するために、および／または以前のクエリに基づいてユーザによって選択された結果に基づいて結果を加重するために、図３のインデクサ３１１によって維持されてもよい。以前のクエリを加重することは、例えば、以前のクエリの実行の頻度、以前のクエリで使用された検索用語の頻度、以前のクエリの特殊性および／または普遍性（例えば、以前のクエリで使用された検索用語の狭い／または広い範囲）等に基づくことができる。
【００９７】
例示的な検索プロファイル構成インターフェース７０２は、検索プロファイル選択バー７０４と、検索結果選択肢７０６と、追加の検索用語７０８と、検索クエリ履歴７１０とを含む。検索プロファイル選択バー７０４は、プロファイル削除ボタン７１２を介して修正または削除するための検索プロファイルを選択するために使用されてもよい。選択された検索プロファイルの修正は、プロファイル名変更ボタン７１４を介してプロファイル名を変更すること、好ましい検索結果を選択すること、含まれる検索クエリ用語を追加、修正、および／または削除すること、ならびに／あるいは過去の検索クエリを修正することを含むことができる。
【００９８】
ユーザは、表示７１６、トレンド７１８、オペレータ注記７２０、データシート７２２、警告／注意７２４、文書７２６、診断７２８、ログ７３０、および／またはカスタム検索結果７３２を含む可能性がある、検索結果選択肢７０６を使用して、好ましい検索結果を選択することができる。図７の検索結果選択肢７０６は、図示された選択肢７１６〜７３２を含む一方で、検索結果選択肢７０６は、加えてまたは代替として、デバイス場所、現在のデータ測定値、特定の時間期間の過去のデータ測定値、製造元特定情報、設置特定情報（例えば、デバイスの測定内容、構成データ等）、および／または検索データベースに格納されてもよい任意の他のタイプのプロセス制御情報等の他の選択肢を含むことができる。
【００９９】
ユーザはまた、検索プロファイルを使用して実施された検索クエリに追加されるための検索用語を特定することによって、選択された検索プロファイルを修正することができる。例示的な追加の検索用語７０８は、ブール演算子７３４および７３６ならびにクエリ用語７３８および７４０を使用して特定されてもよい。ブール演算子７３４および７３６は、ＡＮＤ、ＡＮＤＮＯＴ（つまり、ＮＡＮＤ、ＮＯＴ）、ＯＲ、ＮＯＴＯＲ（つまりＮＯＲ）、Ｘ−ＯＲ（つまりＸＯＲ）および／または任意の他のブール演算子等の任意のブール演算子を含むことができる。検索プロファイルがそれぞれのクエリ用語７３８および７４０をクエリに付加するために選択される場合、ブール演算子７３４および７３６は、検索に関連付けられたクエリを修正する。２つの例示的なクエリ用語７３８および７４０が例示的な検索プロファイルに含まれる一方で、追加のクエリ用語は、クエリ用語追加ボタン７４２を選択することによって、選択された検索プロファイルに追加されてもよく、クエリ用語７３８および７４０は、それぞれのクエリ用語削除ボタン７４４および７４６を選択することによって、選択された検索プロファイルから削除されてもよい。
【０１００】
ユーザはさらに、検索クエリ履歴７１０を修正することによって、図７の例示的な検索プロファイルを修正することができる。例示的な検索クエリ履歴７１０は、ユーザが、選択された検索プロファイルを使用して以前に実行した過去の検索クエリのうちのいずれかを選択することが可能であるように、履歴クエリ選択バー７４８を含む。例示的な履歴クエリ選択バー７４８は、最初に入力されたように、および／または実行時に検索クエリによって修正されたようにクエリを表示することができる。上述のように、検索プロファイルは、ユーザがクエリを入力後にクエリ用語および／または検索結果の相対的加重を修正および／または変更することが可能であるので、履歴クエリ選択バー７４８は、過去の検索結果につながる実際のクエリをユーザに通知するために、過去のクエリを修正されたように有利に表示することができる。過去の検索クエリを選択後、ユーザは、履歴クエリ削除ボタン７５０を選択することによって、検索クエリ履歴７１０からクエリを削除する、および／またはお気に入りクエリボタン７５２を選択することによって、クエリの加重および／またはステータスを上げることができる。
【０１０１】
選択された検索プロファイルを修正後、ユーザは、検索プロファイルに任意の変更を保存するために、検索プロファイル保存ボタン７５４を選択することができる。ユーザが変更を受容する意思がない場合、ユーザは、変更解除ボタン７５６を選択することによって、検索プロファイルへの変更を解除することができる。検索プロファイル保存ボタン７５４および／または変更解除ボタン７５６は、加えて、検索プロファイル構成インターフェース７０２を閉じ、図４〜６の例示的な検索インターフェース４０２、５０２、６０２等の以前の検索インターフェースにユーザを戻す。
【０１０２】
例示的な検索プロファイル構成インターフェース７０２はさらにプレビュー表示７５８を含むことができる。プレビュー表示７５８は、例えば、検索プロファイル構成インターフェース７０２を開く前にユーザが相互作用していた以前のインターフェース、検索クエリ履歴７１０で選択された過去のクエリの結果のプレビュー、および／または検索プロファイルを構成中にユーザに表示されてもよい、任意の他の補足および／またはコンテキスト情報を表示することができる。
【０１０３】
図８は、統合検索インターフェース８０２を含む、別の例示的なユーザインターフェース８００である。図８の統合検索インターフェース８０２は、図８に図示されたようなプロセス制御システム図表８０４の表示、またはナビゲーションバー４０４を介して使用可能な任意の他のユーザインターフェース表示等、任意の他のユーザインターフェース表示を含むことができる。このように、統合検索インターフェース８０２は、プロセス制御システム１００のユーザが、ナビゲーションバー４０４を介して検索インターフェースをナビゲートおよび検索クエリを手動で入力する必要なく、コンテキストの関連のプロセス制御情報を迅速に検索することを可能にする。
【０１０４】
図８に示されるように、ユーザは、カーソル８０８を介して、プロセス制御システム図表８０４のデバイス表示（例えば、デバイス８０６の図表表示）を選択する。いくつかの例において、ユーザは、コンテキストメニュー８１０をユーザインターフェース８００上に表示させるために、２次マウスクリック（例えば、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステム環境の右利きユーザの右クリック）を使用して、デバイス表示を選択する。例示的なコンテキストメニュー８１０は、コンテキスト（例えば、プロセス制御システム図表８０４）内の選択されたデバイス８０６に関連する、ユーザによって選択されるためのオプションを含む。例えば、選択されたデバイス８０６のコンテキストメニュー８１０は、選択されたデバイス８０６からの測定値のトレンドを開くため、選択されたデバイス８０６に関連付けられた警告および／またはイベントを視認するため、デバイスの健全度情報にアクセスするため、オペレータ注記を追加するため、ユーザインターフェース８００から他のインターフェース（例えば、お気に入り）に迅速にアクセスするため、および／またはクイック検索８１２を実施するためのオプションを含むことができる。
【０１０５】
例示的なクイック検索８１２のコンテキストオプションは、クイック検索８１６、８１８、８２０、８２２の追加メニュー８１４およびカスタム検索８２４を開く。例示的なクイック検索８１６〜８２２は、ユーザが、選択されたデバイス８０６（８１６）に接続されたデバイスの場所、選択されたデバイス８０６（８１８）に類似のデバイス、選択されたデバイス８０６（８２０）に関する履歴情報、および／または選択されたデバイス８０６（８２２）のデータシート等、選択されたデバイス８０６に関する関連情報に迅速にアクセスすることを可能にする。カスタム検索８２４は、例えば、ユーザインターフェース８００に、図４〜６の例示的な検索インターフェース４０２、５０２、６０２等の検索インターフェースを表示することを行わせることができる。他のクイック検索８１６〜８２２は、加えてまたは代替として、ユーザがクイック検索８１２のコンテキストオプションを選択する時、オプションとして例示的なメニュー８１４に含まれていてもよい。
【０１０６】
図２の検索エンジン２０４および検索インターフェース２３０を実装する例示的な様式は図３に示されているが、図３に示された要素、プロセスおよび／またはデバイスのうちの１つ以上は、任意の他の方式において、組み合わせ、分割、再配列、省略、排除および／または実装されてもよい。さらに、図３の例示的な検索フレームワーク３０２、例示的な検索データベース３０４、例示的なクエリおよびナレッジデータベース３０６、例示的な検索プロファイルデータベース３０８、例示的なサーチャ３１０、例示的なインデクサ３１１、例示的なサブスクライバ３１２、例示的なパブリッシャ３１４〜３１８、例示的なデータ変更リスナ３２０、例示的なアプリケーションインターフェース３２２、例示的なプロセッサ３２４、例示的なレンダラ３２６、例示的な保存検索マネージャ３２８、例示的な検索結果データベース３３０、例示的な検索フィルタ３３２、例示的な表示データマネージャ３３４、例示的なクライアントインターフェース３３６、および／またはより一般的に、例示的な検索エンジン２０４および／または例示的な検索インターフェース２３０は、ハードウェア、ソフトウェア、ファームウェア、および／またはハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせを使用して実装されてもよい。したがって、例えば、例示的な検索フレームワーク３０２、例示的な検索データベース３０４、例示的なクエリおよびナレッジデータベース３０６、例示的な検索プロファイルデータベース３０８、例示的なサーチャ３１０、例示的なインデクサ３１１、例示的なサブスクライバ３１２、例示的なパブリッシャ３１４〜３１８、例示的なデータ変更リスナ３２０、例示的なアプリケーションインターフェース３２２、例示的なプロセッサ３２４、例示的なレンダラ３２６、例示的な保存検索マネージャ３２８、例示的な検索結果データベース３３０、例示的な検索フィルタ３３２、例示的な表示データマネージャ３３４、例示的なクライアントインターフェース３３６、および／またはより一般的に、例示的な検索エンジン２０４および／または例示的な検索インターフェース２３０は、１つ以上の回路、プログラム可能プロセッサ、用途特定集積回路（ＡＳＩＣ）、プログラム可能ロジックデバイス（ＰＬＤ）および／またはフィールドプログラム可能ロジックデバイス（ＦＰＬＤ）等によって実装されてもよい。任意の添付の装置の請求項が、純粋にソフトウェアおよび／またはファームウェアの実装に及ぶように読解される時、例示的な検索フレームワーク３０２、例示的な検索データベース３０４、例示的なクエリおよびナレッジデータベース３０６、例示的な検索プロファイルデータベース３０８、例示的なサーチャ３１０、例示的なインデクサ３１１、例示的なサブスクライバ３１２、例示的なパブリッシャ３１４〜３１８、例示的なデータ変更リスナ３２０、例示的なアプリケーションインターフェース３２２、例示的なプロセッサ３２４、例示的なレンダラ３２６、例示的な保存検索マネージャ３２８、例示的な検索結果データベース３３０、例示的な検索フィルタ３３２、例示的な表示データマネージャ３３４、および／または例示的なクライアントインターフェース３３６のうちの少なくとも一つは、ここに明示的に、ソフトウェアおよび／またはファームウェアを格納する、メモリ、ＤＶＤ、ＣＤ等のコンピュータ可読媒体を含むように定義される。またさらに、図３の例示的な検索エンジン２０４および／または例示的な検索インターフェース２３０は、図３に示されたもの加えて、または代わりに１つ以上の要素、プロセス、および／またはデバイスを含むことができ、および／または図示された要素、プロセス、およびデバイスのうちの任意の２つ以上または全てを含むことができる。
【０１０７】
図３の検索エンジンを実装するための例示的なプロセス９００のフローチャート表現は、図９に示される。例示的なプロセス９００は、図１０を参照して以下に説明される例示的なコンピュータ１０００の中に示されるプロセッサ１００２等のプロセッサによって実行するためのプログラムの形の機械可読命令を備えることができる。プログラムは、プロセッサ１００２に関連付けられたＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）またはメモリ等のコンピュータ可読媒体上に格納されるソフトウェアに実現されてもよいが、プログラム全体および／またはその部分は、代替として、プロセッサ１００２以外のデバイスによって実行され得て、および／またはファームウェアまたは専用ハードウェアに実現され得る。さらに、例示的なプログラムは、図９に図示されたフローチャートを参照して説明されるが、例示的な検索エンジン２０４を実装する多数の他の方法が代替として使用されてもよい。例えば、ブロックの実行の順序は変更されてもよく、および／または説明されるブロックのうちのいくつかは、変更、排除、または組み合わされてもよい。
【０１０８】
上述のように、図９の例示的な動作は、ハードディスクドライブ、フラッシュメモリ、読み込み専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、および／または任意の持続時間（例えばより長い期間、永久に、短いインスタンス、一時的なバッファリングのため、および／または情報のキャッシュのため）情報を格納する、任意の他のストレージメディア等の有形のコンピュータ可読媒体に格納される符号化命令（例えばコンピュータ可読命令）を使用して実装してもよい。本明細書に使用されているように、有形のコンピュータ可読媒体という用語は、コンピュータ可読ストレージのいかなる種類も含み、伝播する信号を除外するように、明示的に定義されている。さらに、またはあるいは、図９の例示的な動作は、ハードディスクドライブ、フラッシュメモリ、読み込み専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または任意の持続時間（例えばより長い期間、永久に、短いインスタンス、一時的なバッファリングのため、および／または情報のキャッシュのため）情報を格納する、任意の他のストレージメディア等の持続的なコンピュータ可読媒体に格納される符号化命令（例えばコンピュータ可読命令）を使用して実装してもよい。本明細書に使用されているように、持続的なコンピュータ可読媒体という用語は、いかなる種類のコンピュータ可読媒体も含み、伝播する信号を除外するように、明示的に定義されている。
【０１０９】
図９の例示的なプロセス９００は、図３の例示的な検索エンジン２０４を実装するために実施されてもよい。例示的なプロセス９００は、図１の例示的なＦＤＩサーバ１０６、例示的なクライアント１０４、および／または図１０の例示的なコンピュータ１０００上で実行される機械可読命令を使用して実装されてもよい。
【０１１０】
例示的なプロセス９００は、新しいプロセス制御デバイス（例えば、図１のデバイス１２８〜１３６）がプロセス制御システム（例えば、プロセス制御システム１００）に存在しているかどうかを（例えば、図３のサブスクライバ３１２を介して）決定することによって開始する（ブロック９０２）。本明細書に使用される「新しい」プロセス制御デバイスとは、以前の時点に比較すると、プロセス制御システム１００に新しく存在するプロセス制御デバイス（例えば、システムに接続されたデバイス、オフライン状態からシステムに再接続されたデバイス、初めてシステムに接続されたデバイス等）を言う。新しいプロセス制御デバイスが存在する場合（ブロック９０２）、パブリッシャ（例えば、図３のデバイスパブリッシャ３１４）は、新しいデバイスの製造元によって提供されたデータを図３の検索データベース３０４へ発行する（ブロック９０４）。
【０１１１】
新しいデバイスが存在しない場合（ブロック９０２）、またはデバイスパブリッシャ３１４が新しいデバイスのためのデータを検索データベース３１４に発行した場合（ブロック９０４）、例示的なサブスクライバ３１２は、新しいデータに対してプロセス制御システム１００を監視する（ブロック９０６）。データを監視することは、例えば、図２のデバイスネットワーク２１０上でメッセージをリッスンすること、図３のパブリッシャ３１４〜３１８でデータをリッスンすること等を含むことができる。インデクサ３１１は次いで、新しいデータが使用可能であるかどうかを決定することができる（ブロック９０８）。本明細書に使用されている「新しい」データとは、プロセス制御デバイス、アプリケーション、コントローラ、および／またはサブスクライバ３１２によって以前に認識されたことがない任意の他のプロセス制御データに対応する、サブスクライバ３１２によって受信されたプロセス制御データを言う。サブスクライバ３１２によって受信されたデータは、インデックスするためにインデクサ３１１へ提供される。新しいデータが使用可能である場合（ブロック９０８）、例示的なインデクサ３１１は、データを検索データベース３１４へ、および／または任意の他の適切なデータベースへ発行する（ブロック９１０）。
【０１１２】
新しいプロセス制御データが存在しない場合（ブロック９０８）、またはインデクサ３１１が新しいプロセス制御データを検索データベース３１４へ発行する時（ブロック９１０）、例示的なインデクサ３１１は、検索データベース３１４のインデックスデータを更新する（ブロック９１２）。例えば、インデクサ３１１は、新しいプロセス制御デバイスに対して発行されたデータに基づいて、および／または新しく発行されたプロセス制御データに基づいて、インデックスデータを更新することができる。
【０１１３】
ブロック９１４で、例示的なサーチャ３１０は、検索リクエストが（例えば、図３の検索インターフェース２３０から、プロセッサ３２４から、図１のクライアントアプリケーション１２０から）受信されたかどうかを決定する。検索リクエストは、検索クエリ、キーワード、特定された検索プロファイル、アプリケーションコンテキスト、および／またはプロセス制御システム１００の検索に関する任意の他の情報を含むことができる。検索リクエストが受信された場合（ブロック９１４）、サーチャ３１０は、検索プロファイルデータベース３１８から検索リクエストに関連付けられた検索プロファイルを呼び出す（ブロック９１６）。特定された検索プロファイルに基づいて、サーチャ３１０は、検索クエリを更新する（ブロック９１８）。例えば、サーチャ３１０は、特定のタイプの検索結果を特定するため、および／または用語を検索クエリに追加するために、受信された検索クエリを変更することができる。
【０１１４】
サーチャ３１０は次いで、更新された検索クエリに基づいて、検索データベース３１４からデータを呼び出す（ブロック９２０）。例えば、サーチャ３１０は、検索プロファイルによって修正されたような検索クエリに対応する、検索データベース３１４からの検索結果を取得するために、Ｗｏｌｆｒａｍ  Ａｌｐｈａ検索エンジンを使用して検索を実行することができる。サーチャ３１０は、プロセス制御システム１００のユーザへの表示のための検索プロファイルに応じて、呼び出された検索データをリクエスト者（例えば、図３の検索インターフェース２３０、プロセッサ３２４、図１のクライアントアプリケーション１２０）に返す（ブロック９２２）。例えば、サーチャ３１０は、検索クエリに基づいて検索結果を呼び出し、検索プロファイルに選択されている検索結果のタイプだけを返すことができる。サーチャ３１０が結果を返した後（ブロック９２２）またはサーチャ３１０が検索リクエストを受信しない場合（ブロック９１４）、例示的プロセス９００は終了する。代替として、例示的プロセス９００は、新しいデバイスの監視、プロセス制御データの監視、および／または検索リクエストをサービスすることを継続するために、ブロック９０２を反復することができる。
【０１１５】
図１０は、図９のプロセス９００に図３の検索エンジン２０４、検索インターフェース２３０を実装するように実行することができる、例示的なコンピュータ１０００のブロック図である。例示的なコンピュータ１０００は、さらに、またはあるいは、クライアントアプリケーション１２０を実行するために、図１のクライアント１０４を実装するために使用されてもよい。コンピュータ１０００は、例えば、サーバ、パーソナルコンピュータ、携帯電話（セルフォン）、携帯情報端末（ＰＤＡ）、インターネット機器、または任意の他の種類のコンピューティングデバイスにすることができる。
【０１１６】
例示的なプロセッサシステム１１００は、ランダムアクセスメモリ（ＲＡＭ）１００４、読み込み専用メモリ（ＲＯＭ）１００６、およびフラッシュメモリ１００８等の関連付けられたメモリを有するプロセッサ１００２を含む。例えば、プロセッサ１００２は、Ｐｅｎｔｉｕｍ（登録商標）ファミリー、Ｉｔａｎｉｕｍ（登録商標）ファミリー、またはＸＳｃａｌｅ（登録商標）ファミリーからの１つ以上のＩｎｔｅｌ（登録商標）マイクロプロセッサによって実装されてもよい。当然ながら、他のファミリーからの他のプロセッサも適している。
【０１１７】
ＲＡＭ１００４、ＲＯＭ１００６、および／またはフラッシュメモリ１００８は、図９のプロセス９００を実装する機械可読命令を格納してもよい。ＲＡＭ１００４は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、および／または任意の他のタイプのランダムアクセスメモリデバイスによって実装されてもよい。図示された例のフラッシュメモリ１００８は、ブートブロック１０１０を含む。ＲＡＭ１００４、ＲＯＭ１００６、およびフラッシュメモリ１００８へのアクセスは、典型的には、メモリコントローラ（図示せず）によって制御される。
【０１１８】
プロセッサ１００２は、他のコンポーネントがインターフェースを取ってもよいバス１０１２等のインターフェースに結合される。図示された例において、バス１０１２へのインターフェースを取るコンポーネントは、入力デバイス１０１４、ディスプレイデバイス１０１６、大容量ストレージデバイス１０１８、およびリムーバブルストレージデバイスドライブ１０２０を含む。リムーバブルストレージデバイスドライブ１０２０は、磁気または光学メディア等の関連付けられたリムーバブルストレージメディア１０２２を含んでもよい。
【０１１９】
入力デバイス１０１４は、ユーザがデータおよびコマンドをプロセッサ１００２へ入力することを可能にする。入力デバイス１０１４は、キーボード、マウス、タッチスクリーン、トラックパッド、バーコードスキャナ、またはユーザがプロセッサ１００２へ情報を提供することを可能にする任意の他のデバイスのうちの任意の１つ以上を使用して実装してもよい。
【０１２０】
ディスプレイデバイス１０１６は、例えば、液晶ディスプレイ（ＬＣＤ）モニタ、ブラウン管（ＣＲＴ）モニタ、またはプロセッサ１００２とユーザとの間のインターフェースとして作用する任意の他の適切なデバイスであってもよい。図１０に示されるようなディスプレイデバイス１０１６は、プロセッサ１００２へディスプレイ画面がインターフェースを取ることが必要な任意のさらなるハードウェアを含む。
【０１２１】
大容量ストレージデバイス１０１８は、例えば、従来のハードドライブ、またはプロセッサ１００２によって読み込み可能な任意の他の磁気または光学メディアにしてもよい。
【０１２２】
リムーバブルストレージデバイスドライブ１０２０は、例えば、コンパクトディスク記録可能（ＣＤ−Ｒ）ドライブ、コンパクトディスク再書き込み可能（ＣＤ−ＲＷ）ドライブ、デジタル多用途ディスク（ＤＶＤ）ドライブ等の光学ドライブまたは任意の他の光学ドライブにしてもよい。あるいは、例えば、磁気メディアドライブにしてもよい。リムーバブルストレージメディア１０２２は、ドライブ１０２０と共に動作するためにメディア１０２２が選択されるため、リムーバブルストレージデバイスドライブ１０２０に対して補完的である。例えば、リムーバブルストレージデバイスドライブ１０２０が光学ドライブである場合、リムーバブルストレージメディア１０２２は、ＣＤ−Ｒディスク、ＣＤ−ＲＷディスク、ＤＶＤディスクまたは任意の他の適した光学ディスクにしてもよい。一方で、リムーバブルストレージデバイスドライブ１０２０が磁気メディアデバイスである場合、リムーバブルストレージメディア１０２２は、例えば、ディスケットまたは任意の他の適した磁気ストレージメディアにしてもよい。
【０１２３】
図９のプロセス９００を実装するための符号化命令は、ＲＡＭ１００４、ＲＯＭ１００６、フラッシュメモリ１００８、大容量ストレージデバイス１０１８、および／またはＣＤまたはＤＶＤ等のリムーバブルストレージメディア１０２２に格納してもよい。
【０１２４】
前述から、上述の開示されたシステム、方法、および製品は、プロセス制御システムに検索サービスを提供するために使用されてもよいことが理解されるであろう。上述の例示的なシステム、方法、および製品は、プロセス制御システムのユーザに、異なるコンテキストからプロセス制御システムに関連付けられた所望のデバイス、アプリケーション、および／または情報を迅速に検索かつ発見することを提供する。加えて、例示的なシステム、方法、および製品は、プロセス制御システムのユーザに、検索プロファイルを使用しないものよりも高速な結果の検索および呼び出しのために所望のタイプの検索結果を指定するための構成可能な検索プロファイルを提供する。
【０１２５】
特定の例示的な方法、装置、および製品を本明細書に記載しているが、本特許の網羅する範囲はこれに制限されない。逆に、本特許は、本特許の特許請求の範囲内に十分相当する全ての方法、装置、および製品を網羅する。
【図１】
0006527197.tif 000002
【図２】
0006527197.tif 000003
【図３】
0006527197.tif 000004
【図４】
0006527197.tif 000005
【図５】
0006527197.tif 000006
【図６】
0006527197.tif 000007
【図７】
0006527197.tif 000008
【図８】
0006527197.tif 000009
【図９】
0006527197.tif 000010
【図１０】
0006527197.tif 000011