以下で、数あるコンポーネントの中でとりわけ、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含めて、方法および装置の例について説明するが、これらの例は単に事例に過ぎず、限定として見なされるべきものでないことに注意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのいずれかまたは全ては、ハードウェアのみ、ソフトウェアのみ、またはハードウェアとソフトウェアの任意の組み合わせで実施され得ると考えられる。従って、以下で方法および装置の例について説明するが、当業者は、提供される例はかかる方法および装置を実装するための唯一の方法ではないことを容易に理解されるであろう。例えば、方法および装置の例は、プロセス制御の検索結果の管理に関連して説明されるが、その方法および装置の例はより広く適用可能であり、任意の自動化システム、バッチ処理システム、製造システム、産業用制御システム、安全計装システムなどに対して、検索結果を管理するために実施され得る。
プロセス制御システムは、一般に、制御システム内に設置されているフィールド機器を管理するルーチン、制御ストラテジ、および/またはアルゴリズムを操作するコントローラを含む。フィールド機器は、例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタであり得、バルブの開閉およびプロセス制御パラメータの計測などのプロセス制御機能を実行し得る。フィールド機器の管理に加えて、コントローラは、そのフィールド機器から受信したデータに基づき実行時データを生成する。いくつかの例では、コントローラは、フィールド機器から受信したデータに基づき、ルーチンおよび/もしくはアルゴリズムを介して、実行時データを計算するか、ならびに/またはそうでない場合は、実行時データを決定する。その実行時データは、プロセス値、統計値、アラーム、モニタリング情報、プロセス動向情報、診断情報、フィールド機器状態情報、および/またはフィールド機器からのメッセージを含み得る。
コントローラは、オペレータがプロセス制御システムを管理できるように、実行時データをワークステーション上で稼働しているアプリケーションに送信する。実行時データを管理するために、既存のプロセス制御システムは制御パラメータ(例えば、制御変数)を定義して、実行時データの定義を提供する。このようにして、アプリケーションは、対応する実行時データを表示するために、1つ以上のグラフィック表現された制御パラメータを参照し得る。例えば、PUMP01制御パラメータは、ポンプの出力に対して定義され得る。コントローラは、ポンプからの出力を値の形(例えば、データ)で受信し、その値を実行時データを生成するためにルーチンで処理して、その実行時データをPUMP01制御パラメータに格納する。グラフ、チャート、および/または他のグラフィック表現は、PUMP01制御パラメータを参照して、そのポンプの出力値を表示し得る。
実行時データの管理に加えて、プロセス制御システムは、ソース情報(例えば、制御ドキュメンテーション)を管理する。ソース情報は、例えば、プロセス制御システムの態様、フィールド機器命令、コントローラの操作、ベストプラクティス、履歴アーカイブ情報、トラブルシューティング手順、安全プラクティス、アプリケーション操作命令、アラーム情報、イベント情報、および/またはヘルプファイルを記述する。ソース情報および実行時データは、まとめてプロセス制御情報として参照される。
プロセス制御情報は、プロセス制御システムにローカルなデータベースに格納され得る。プロセス制御情報は、情報のタイプに基づいて、異なるデータベースにも格納され得る。例えば、安全プラクティスのソース情報は、安全関連のデータベースに格納され得るが、一方、フィールド機器の実行時データは、デバイス実行時データのデータベースに格納され得る。同様のタイプのドキュメントおよび情報を同一データベースに整理して格納することにより、プロセス制御システムの設計者は、そのドキュメントアクセスおよび管理を最適化しておよび/または、ドキュメント管理の指針および/または手順に従うことが可能になる。
様々なデータベースを検索するため、ドキュメントアナライザ(例えば、クローラおよび/またはスパイダ)は、データベースを定期的にアクセスして、例えば、ドキュメント内のキーワード、ドキュメントのタイトル、および/またはドキュメント内の他の指定されたパラメータに基づき、各ドキュメントのインデックスを作成し得る。インデックス作成には、例えば、検索エンジンによって検索可能なリストへの完全な情報および/または一部の情報の格納を含む。インデックス作成は、検索エンジンが、多数の異なる電子的位置および/または地理的位置に在り得る情報を単一位置で検索できるようにすることにより、検索時間を節約する。このインデックス作成されたプロセス制御情報を使用すると、検索エンジンは、オペレータによって提供された検索パラメータをインデックス作成されたドキュメントと照合する。しかし、様々なタイプのドキュメントが様々な位置および/またはデータベースに格納されているため、複数のデータベースで参照されている特定の項目に関する情報を検索しているユーザは、各データベースで検索を実行する必要がある。例えば、あるユーザがポンプに関するドキュメンテーションを必要としている場合、そのユーザは、ポンプに関する製品仕様書を含むデータベース、ポンプに関する安全手順を含むデータベース、ポンプのベストプラクティスのためのデータベース、ポンプの動作状態のイベントデータベース、および/または関連情報を含み得る他のデータベースにアクセスする必要があり得る。
あるいは、いくつかのインデックスは、単一の検索可能位置にある複数のデータベースへの参照を含み得る。しかし、既存の検索エンジンの多くは、検索結果をリンクのリストとして、そのリンクのいくらかのテキスト記述と共に返すだけである。また、ローカルのデータベース用に構成された多くの既存の検索エンジンは、検索結果を、ユーザによって提供された検索パラメータに一致するリンクのリストとして表示する。いくつかの例では、検索結果は、提供されたリンクに関連する内容のサムネイル画像も含み得る。しかし、検索結果として表示された情報は、一般的に、定期的(例えば、毎週、毎月、など)にインデックス作成され、最新情報を反映していない可能性がある。プロセス制御システムでは、ユーザ、オペレータ、および/またはエンジニアは、プロセスおよび/またはフィールド機器の操作に関して評価および判断するため、時々、最新データを必要とする。
既存の検索エンジンの多くは、コントローラから生成されたプロセス制御の実行時データを検索できない可能性がある。多くの場合、コントローラは、毎秒、何百〜何千もの実行時データの値を生成し得る。さらに、制御パラメータに関連する値は、数ミリ秒毎に変わり得るため、それによって以前に生成されたデータを書き換える。実行時データは比較的頻繁に生成および/または更新されるため、既存の検索エンジンの多くは、実行時データのインデックスを作成するように構成されていない。
本明細書で説明する方法および装置の例は、様々な場所にある様々なデータベースに渡り得るソース情報および/または実行時データ(例えば、プロセス制御情報)のインデックスの検索、ならびにその検索に関連するコンテキストでの検索結果の表示により、プロセス制御の検索結果を管理し表示する。インデックスは、完全なソース情報および/または実行時データを含み得る。また、あるインデックスは、ソース情報および/または実行時データの検索可能な代表的な部分を含み得る。検索のコンテキストは、検索を実行するユーザの職務権限、そのユーザのアクセスレベル、そのユーザの識別、および/またはそのユーザによって提供される認証を含み得る。検索のコンテキストはまた、アプリケーションのコンテキスト、ユーザインタフェースのコンテキスト、および/または検索を開始するために選択されたプロセス制御情報のコンテキストにも基づき得る。
さらに、本明細書で説明する方法および装置の例は、検索を要求するために使用されたコンテキストに基づき検索結果の表示を構成することにより、検索結果の表示を管理する。例えば、検索パラメータをオペレータインタフェースから検索フィールドに手作業で入力するユーザは、プロセス制御システムの一部を示すプレビューパネル内で、各検索結果に関連する更新された実行時データと共に、検索結果のリストを受け取り得る。別の例では、ユーザは、概略図上にグラフィック表現されたフィールド機器を選択することにより、検索を開始し得る。この例では、方法および装置が、選択されたフィールド機器に基づいて検索パラメータを決定し、その概略図(例えば、レイアウト情報、フィールド機器に関連する実行時データ、履歴の動向グラフなど)に関連するグラフィックの検索結果を返し得る。
本明細書で説明する方法および装置の例は、データベースまたはドキュメントに格納されていない可能性のある実行時データのインデックスを管理する。実行時データは、一般に、動的であるため、方法および装置は、その実行時データに関連する制御パラメータのインデックスを作成することにより、実行時データのインデックスを作成する。多くの場合、制御パラメータ名は静的である。方法および装置の例は、制御パラメータにアクセスする任意のアプリケーションまたはグラフィック表現が検索結果として最新の実行時データと共に表示され得るように、プロセス制御システム内で、通常および/または頻繁に使用される制御パラメータのリストのインデックスを作成する。このため、方法および装置の例は、実行時データに関連する制御パラメータのインデックスを作成し、実行時データの変更を表示された検索結果に伝播することにより、実行時データのインデックスを効果的に作成する。
本明細書で説明する方法および装置の例はまた、制御パラメータおよび/もしくは実行時データがコントローラから読み取られる周期、ならびに/または制御パラメータおよび/もしくは実行時データがインデックス内に格納される期間も指定し得る。いくつかの例では、方法および装置の例は、制御パラメータが関連しているか、および/または制御システム内でユーザによって比較的頻繁にアクセスされる限り、実行時データの制御パラメータのインデックス作成のみを行い得る。他の例では、方法および装置は、全ての制御パラメータのインデックスを作成して、頻繁にアクセスされる制御パラメータのみを更新し得る。
本明細書で説明する方法および装置の例は、プロセス制御のユーザ、オペレータ、および/またはエンジニアが、検索パラメータ(例えば、検索基準)および/または検索結果をローカルのデータベースに保存できるようにする。その方法および装置は、定期的に、通常および/または頻繁に保存される検索を識別し、これらの良く保存される検索を、他のプロセス制御の担当者が利用可能な公開データベースに昇格する。さらに、本明細書で説明する方法および装置の例は、プロセス制御システム内の各ワークステーションおよび/またはコンピュータに格納され得るバックアップのインデックスを管理する。そのバックアップインデックスは、一次プロセス制御インデックスほど頻繁に更新されない可能性があるが、一次インデックスがオフラインの場合に、検索機能を提供し得る。
図1は、本明細書で説明する方法および装置の例の実施に使用され得る検索インタフェース例102およびインデックスマネージャ例103を含むプロセス制御環境例100のブロック図を示す。検索インタフェース例102およびインデックスマネージャ例103は、プロセス制御システム104内に含まれる。また、検索インタフェース102は、ワークステーション106によって実施されるか、および/またはその中に含まれ得る。他の例では、検索インタフェース102は、サーバー、分散コンピューティングネットワーク、および/またはワークステーション106に通信で結合され得る他のコンピューティング装置内に含み得る。
図1のワークステーション例106は、パーソナルコンピュータ、ラップトップコンピュータ、サーバー、コントローラ、携帯端末(PDA)、コンピューティングパッド、マイクロコンピュータなどの任意のコンピューティング装置を含み得る。ワークステーション106は、任意の適切なコンピュータシステムまたは処理システム(例えば、図12のプロセッサシステムP10)を使用して実施し得る。例えば、ワークステーション106は、単一プロセッサのパーソナルコンピュータ、単一またはマルチプロセッサのワークステーションなどを使用して実施し得る。
プロセス制御システム例104は、任意の種類の製造施設、プロセス施設、自動化施設、安全計装対応施設、および/または他の種類のプロセス制御構造もしくはシステムを含み得る。いくつかの例では、プロセス制御システム104は、プロセス制御環境100内の様々な位置にある複数の施設を含み得る。さらに、プロセス制御環境例100は、同一施設内に含まれるか、および/または異なる施設に設置され得る他のプロセス制御システム(図示せず)を含み得る。
プロセス制御システム例104は、ローカル・エリア・ネットワーク(LAN)110を経由してワークステーション106と通信で結合されているコントローラ108を含む。LAN 110は、任意の通信媒体および/またはプロトコルを用いて実装され得る。例えば、LAN 110は、有線または無線のイーサネット(登録商標)通信スキームに基づき得る。しかし、他の適切な通信媒体およびプロトコルも使用され得る。さらに、単一のLAN 110が示されているが、ワークステーション106とそれぞれ同様のワークステーション(図示せず)との間に冗長通信パスを提供するために、2つ以上のLANおよびワークステーション106内の適切な通信ハードウェアが使用され得る。
また、プロセス制御環境100は、他のワークステーション(図示せず)をコントローラ108と通信で結合するため、および/またはワークステーション106を他のプロセス制御システム内のコントローラ(図示せず)に通信で結合するため、ルーター(図示せず)を含み得る。さらに、プロセス制御環境100は、リモートワークステーション(例えば、プロセス制御環境100の外部にあるワークステーション)に、プロセス制御環境100内のリソースへのアクセスを提供するために、ファイアウォール(図示せず)を含み得る。
プロセス制御システム104は、フィールド機器112(例えば、入力および/または出力装置)を含む。フィールド機器112は、入力の受信、出力の生成、および/またはプロセスの制御が可能な任意の種類のプロセス制御コンポーネントを含む。フィールド機器112は、例えば、プロセスを制御するための、バルブ、ポンプ、ファン、加熱器、冷却器、および/または混合器などの制御装置を含み得る。さらに、フィールド機器112は、例えば、プロセスの一部を測定するための温度センサ、圧力計、濃度計、液面計測器、流量計、および/または蒸気センサなどの測定またはモニタリング装置を含み得る。フィールド機器112は、指定されたコマンドを実行するため、入力114を経由してコントローラ108から命令を受信し、そのフィールド機器112で実装および/または制御されるプロセスを変更する。さらに、そのフィールド機器112は、プロセスデータ、環境データ、および/または入力装置データを測定し、その測定したデータを出力116経由でコントローラ108に送信する。このデータは、各フィールド機器からの測定出力に対応する変数値を含み得る。
プロセス制御システム104は、フィールド機器112からデータを受信し、そのデータをコントローラ例108で処理可能な情報に変換するための入出力装置118(たとえば、1つ以上の入出力カード)も含む。同様に、入出力装置118は、コントローラ108からのデータまたは情報を、対応するフィールド機器で処理可能なフォーマットに変換する。
図1のコントローラ例108は、プロセス制御システム104内のフィールド機器112を管理するために、1つ以上の制御ルーチン(例えば、プロセス制御アルゴリズム、関数、および/または命令)を操作する。制御ルーチンは、例えば、プロセス・モニタリング・アプリケーション、アラーム管理アプリケーション、プロセス動向および/または履歴アプリケーション、診断アプリケーション、バッチ処理および/またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミングビデオアプリケーション、高度制御アプリケーション、安全計装アプリケーション、イベントアプリケーション、などを含む。コントローラ108は、フィールド機器112から受信したデータから、実行時データを計算および/または決定する。また、コントローラ108は、その実行時データを、対応する制御パラメータに対して、書き込みおよび/または関連付けを行う。コントローラ108はその後、その実行時データを、制御パラメータを介してインデックスマネージャ例103および/またはワークステーション106に送信する。さらに、コントローラ108は、実行時データを、ワークステーション106および/またはプロセス制御環境100内の他のワークステーションによってアクセス可能な1つ以上のデータベース(例えば、実行時データメモリ120)に格納し得る。あるいは、実行時データは、コントローラ108および/またはプロセス制御システム104内の実行時データキャッシュ内に格納され得る。コントローラ108によって送信された実行時データは、例えば、プロセス制御値、データ値、アラーム情報、テキスト、状態情報、診断情報、エラーメッセージ、パラメータ、イベント、および/または装置識別子を含む。
制御パラメータは、コントローラ108によって生成された実行時データを割り当てられたプロセス変数名および/またはデータフィールドである。いくつかの例では、コントローラ108のルーチンは、制御パラメータを定義して、データ値を対応する制御パラメータに関連付け得る。例えば、ある制御パラメータ(例えば、PS PUMP01)は、ポンプの出力速度に対応し得る。フィールド機器112内のポンプによって報告される値は、コントローラ108によりPM PUMP01制御パラメータと関連付けられる。コントローラ108は、その値を実行時データメモリ120内のPS PUMP01制御パラメータに書き込み、かつ/またはこの値を、PS PUMP01制御パラメータを含む任意のアプリケーション、概略図および/または機能図に伝播し得る。いくつかの例では、ポンプ(多くのフィールド機器112と同様に)は、新しい出力値を1秒に数回送信し得、それにより、PS PUMP01制御パラメータに関連して格納されている値が変わる。
インデックスマネージャ例103は、定期的に実行時データメモリ120にアクセスして、実行時データのインデックスを作成することにより、実行時データのインデックスを管理する。いくつかの例では、インデックスマネージャ103は、どの制御パラメータが関連し、かつ/または検索結果を要求するワークステーションによって頻繁にアクセスされるかを判断することにより、実行時データのインデックスを作成し得る。他の例では、インデックスマネージャ103は、実行時データメモリ120内にリストされている制御パラメータの大部分および/または全てのインデックスを作成する。さらに、インデックスマネージャ103は、実行時データメモリ120内に現在格納されている実行時データおよび/またはコントローラ108によって生成された実行時データを読み取り、かつインデックス内の対応する制御パラメータを更新することにより、インデックスを定期的に更新する。あるいは、インデックスマネージャ103は、インデックス内にリストされている制御パラメータと、実行時データメモリ120に格納されている実行時データおよび/またはコントローラ108によって生成された実行時データとの間のリンクを管理し得る。このようにして、制御パラメータが検索結果に表示される時、制御パラメータのコンテキスト内で更新された実行時データを表示するため、インデックス内のリンクが、実行時データを表示された制御パラメータに結び付ける。
インデックスマネージャ例103は、インデックスを検索インデックスデータベース122に格納する。検索インデックスデータベース122は、検索可能な方法で編成されている、インデックスマネージャ103によってインデックス作成された制御パラメータおよび関連する実行時データのリストを含む。いくつかの例では、検索インデックスデータベース122内の制御パラメータは、例えば、プロセス制御領域、フィールド機器、パラメータタイプ、および/または他のプロセス制御カテゴリによって編成される。
さらに、インデックスマネージャ103は、ソース情報のインデックスを作成するために、ソース情報データベース124を受信および/またはアクセスし得る。ソース情報データベース124は、プロセス制御システム104内のドキュメント、ファイル、および/またはプロセス制御情報を格納する少なくとも1つのデータベースを含む。ソース情報データベース124が複数のデータベースを含むいくつかの例では、インデックスマネージャ103は、各データベース124のインデックスを作成し、そのインデックス情報を、検索インデックスデータベース122内の単一の検索可能インデックスに混ぜ合わせる。例えば、ソース情報データベース124は単一データベースとして示されるが、ソース情報データベース124は、プロセス制御環境100内の様々な位置にあるプロセス制御ドキュメンテーションを格納し得る、複数のデータベース、メモリ、サーバー、および/またはワークステーションを含み得る。他の例では、インデックスマネージャ103は、各データベース124についてインデックスを作成し、そのインデックスを検索インデックスデータベース122に格納し得る。これら他の例では、検索インタフェース102は、複数の検索インデックスを検索した検索結果を統合し得る。
データベース124内に格納されているソース情報は、プロセス制御システム104の態様を記録するため、プロセス制御のユーザ、オペレータ、エンジニア、マネージャ、設計者などによって作成され得る。ソース情報は、例えば、フィールド機器112の操作を説明する操作マニュアル、トラブルシュート用ドキュメンテーション、プロセス制御システム104で実施されるプロセスを説明するドキュメント、ヘルプファイル、履歴アーカイブ情報、構成情報、ベスト・プラクティス・ドキュメント、安全手順などを含む。インデックスマネージャ例103は、ワークステーション106のユーザが、1組の検索パラメータを使用して、プロセス制御環境100内にあるデータベース124の単一の検索を実行できるようにする。このようにして、ユーザは、様々な種類のドキュメントおよび/またはファイルについて、データベースの別個の検索を行う必要なく、実質的に全ての関連するプロセス制御ドキュメンテーションおよび/または検索パラメータに関連するデータを比較的迅速かつ効果的に検索し得る。
検索インデックスデータベース例122は、LAN 110を経由して、ワークステーション106(およびプロセス制御システム104内の他のワークステーション)からアクセス可能である。ワークステーション106は、検索インタフェース102を使用して、インデックスマネージャ103でインデックス作成された制御パラメータおよびソース情報を検索インデックスデータベース122内で検索する。他の例では、インデックスマネージャ103は、検索インデックスのローカルコピーをワークステーション106内に格納する。検索インデックスのローカルコピーは、検索インデックスデータベース122がオフラインおよび/またはアクセス不能な場合に、ソース情報データベース124および/または実行時データメモリ120内に格納されているプロセス制御情報を検索するため、ワークステーション106によって使用され得る。
プロセス制御アプリケーションからコンテキストベースの検索を提供するため、プロセス制御システム例104は、ユーザインタフェース126を含む。ユーザインタフェース例126は、ワークステーション106のユーザが、例えば、プロセス制御情報の表示、プロセス制御情報の変更、プロセス制御システム104の管理、および/またはプロセス制御情報の入力を行うことができるようにする任意のアプリケーションインタフェースであり得る。アプリケーションには、エンタープライズ・ビュー(enterprise view)アプリケーション、グラフィックススタジオ(graphics studio)アプリケーション、制御ストラテジスタジオ(control strategy studio)、システム構成エクスプローラ(system configuration explorer)アプリケーション、および/または他の種類のプロセス制御ベースのアプリケーションを含み得る。これらのアプリケーションは、1つ以上のユーザインタフェース126を介して、ワークステーション106内に情報を表示する。ユーザインタフェース126は、グラフィック表現(例えば、機能ブロック図および/または概略図)として表示されるプロセス制御情報を表示するために、ワークステーション106内で表示されるグラフィックウィンドウを含み得る。ワークステーション106は、2つ以上のユーザインタフェース126を表示することが可能であり得る。いくつかの例では、ユーザインタフェース126は、プロセス制御情報の1つ以上のグラフィック表現を含み得、かつ、情報を入力するための1つ以上のフィールドを含み得る。ユーザは、ユーザインタフェース126を介してユーザに示される様々なアプリケーションおよび/または表示にアクセスし得る。
図示例の検索インタフェース102は、要求されたプロセス制御情報を探す検索機能を提供し、関連があり、かつ/またはユーザの職務権限、ユーザの制御領域、および/もしくはユーザの識別に基づき、ユーザによって表示する権限が付与されている検索結果を表示するために、プロセス制御情報をフィルタリングし得る。この検索機能は、検索結果のフィルタリングと組み合わさって、検索インタフェース例102が、ワークステーション106のユーザによる比較的少ない努力で、検索結果を提供できるようにする。検索機能を提供するため、検索インタフェース例102は、検索インデックスデータベース122にアクセスして、ユーザ指定の検索パラメータをインデックス作成されたプロセス制御情報と照合する。検索インタフェース102はその後、一致するプロセス制御情報を検索結果として表示する。
検索インタフェース102は、プロセス制御情報のタイプに基づいて検索結果を表示し得る。いくつかの例では、検索結果は、実行時データ、グラフ、チャート、ドキュメントのタイトル、流れ図、機能図などを備えた概略図の画像として表示され得る。検索インタフェース102は、検索結果をプレビューパネル内にも表示し得る。いくつかの例では、プレビューパネルは、ユーザが、リストされた検索結果項目に関連するソースドキュメントおよび/または実行時データへのアクセスを選択する前に、選択された検索結果項目(例えば、プロセス制御情報)をグラフィック表示し得る。プレビューパネルは、検索結果項目によってサポートされているアプリケーションを開くことにより、選択された検索結果項目を表示する。そのアプリケーションは、ユーザインタフェース126内に埋め込まれ得るか、かつ/またはユーザが選択された検索結果項目を表示するために別個のユーザインタフェースを開始し得る。
検索結果としてリストされたプロセス制御情報の選択を受信すると、検索インタフェース102は、ソース情報データベース124および/または実行時データメモリ120にアクセスして、選択されたプロセス制御情報を検索する。検索インタフェース例102はその後、検索のコンテキストおよび/または情報のコンテキストに基づき、選択されたプロセス制御情報102を表示する。例えば、選択された概略図は概略図表示アプリケーション内に表示され、ドキュメントは文書処理アプリケーション内に表示され、および/または実行時データはグラフィック実行時データアプリケーション内に表示される。
検索インタフェース102によって提供される検索機能は、例えば、システム構成データベース、知識管理データベース、資産管理データベース、アラームおよびイベントデータベース、バッチ履歴データベース、ヘルプファイルデータベース、および/またはユーザ提供ドキュメントデータベースを含む複数のデータベース(例えば、ソースデータベース124)に及ぶ。検索インタフェース102は、様々なプラットフォーム上で実装され得る複数システムに渡る統合検索を含め、プロセス制御環境100内の複数のプロセス制御システム(図示せず)に対する検索サポートを提供し得る。検索インタフェース例102はまた、以前のイベント、プロセス制御履歴、および/または以前の実行時データに関連する情報を提供することにより、ワークステーション106に対する検索ナビゲーション機能も提供し得る。
また、ワークステーション106のユーザは、ユーザインタフェース126によって表示されている選択されたグラフィカルプロセス制御情報に基づくコンテキスト内のプロセス制御情報を検索し得る。例えば、ユーザは、あるタグを選択し、その選択された同一のタグを含む他のグラフィック表現および/または情報を検索し得る。いくつかの例では、インタフェース126内に示されているプロセス制御項目のコンテキスト内検索は、いかなるテキスト入力も必要としない。つまり、ユーザは、インタフェース126内に表示されている項目をクリックすることにより、その項目の検索パラメータを検索インタフェース102に提供し得る。別の例では、ユーザは、検索テキストボックスを使用して、入力されたテキスト文字列(例えば、検索パラメータ)に一致する属性を持つ表示されたソース情報および/または実行時データを検索し得る。検索基準の一部である表示されたソース情報および/または実行時データの属性には、例えば、表示名、記述、参照されるフィールド機器、および/または割り当てられた表示位置を含む。
いくつかの例では、検索インタフェース例102は、ユーザが、リストされたソース情報および/または実行時データを選択することにより、検索結果にリストされている任意のソース情報および/または実行時データをオープン(例えば、そこに移動)できるようにする。ソース情報および/または実行時データの検索結果では、まず、ワークステーション106のユーザの制御範囲(最も高い関連性)内のソース情報および/または実行時データをリストし、次に、他の操作可能領域に関連するソース情報および/または実行時データをリストする。さらに、検索インタフェース102は、ユーザが、プロセス制御情報の特定のカテゴリ(例えば、バッチ情報、アラームおよびイベント情報、オペレータメモ、フィールド機器情報、手順など)を検索できるようにし得る。
ユーザは、検索テキストボックスを利用して、例えば、テキスト文字列を含む検索パラメータを含む名前および/または記述を持つフィールド機器112を検索し得る。テキスト文字列には、ワイルドカード文字を含めて、フィールド機器112の名前の全体および/または一部を含み得る。さらに、検索インタフェース例102は、ユーザが、例えば、フィールド機器112の一般情報表示、フィールド機器112の詳細表示、および/またはフィールド機器112の一次表示を含む、特定のフィールド機器関連の表示へと移動できるようにする。例えば、ユーザは、フィールド機器112を検索し、その後、選択した情報をオープンおよび/または表示するために、フィールド機器112に関連する所望のプロセス制御情報を選択し得る。
図1の例では、ユーザは、フィールド機器のタグ識別値を使用してフィールド機器を検索するために、ユーザインタフェース126の一部として検索インタフェース102を使用し得る。検索インタフェース102は、そのユーザの制御範囲の領域内にあるフィールド機器112に基づき最も高い関連性を持つ(例えば、最初にリストする)結果をリストすることにより、インデックスマネージャ103によって提供される検索結果を表示し得る。いくつかの例では、ユーザは、ソース情報および/またはプロセス制御情報を識別するいくつかの検索結果に対してキーワードを追加し得る。検索インタフェース102は、ユーザインタフェース126からキーワードを受信して、対応するソース情報および/またはプロセス制御情報と共に、キーワードのインデックスを作成する。キーワードは、検索インタフェース102が、対応するインデックス作成されたソース情報および/またはプロセス制御情報をより正確かつ/または迅速に検索できるようにし得る。
また、検索インタフェース例102は、ユーザが、エンタープライズアプリケーションおよび/またはプロセス履歴アプリケーション内からチャート(例えば、実行時データおよび/またはソース情報)を検索できるようにする。検索インタフェース102は、ユーザが、現在表示されているプロセス制御情報上で選択されたタグに基づくコンテキスト内でチャートを検索できるようにする。例えば、ユーザは、ユーザインタフェース126内に表示されているプロセス制御項目上のタグを選択して、検索インタフェース102に、選択された同一タグを含むインデックス作成されたチャートを検索させ得る。ユーザはまた、検索テキストボックスにテキスト文字列を入力するために検索インタフェース102を使用して、その入力したテキスト文字列に一致する属性を持つインデックス作成されたチャートを検索し得る。検索基準(例えば、検索パラメータ)の一部であるチャート属性は、例えば、チャート名、チャート記述、および/またはフィールド機器112の名前を含む。
さらに、検索インタフェース102は、ユーザが、プロセス関連のアラームおよびイベント(例えば、実行時データおよび/またはソース情報)を検索できるようにする。いくつかの例では、アラームとイベントは、イベント・クロニクル・データベース(例えば、ソース情報データベース124)内に格納され得、そして、ユーザがエンタープライズ・ビュー・アプリケーションおよび/またはプロセス履歴ビューアプリケーションを使用することにより、ユーザインタフェース126内に表示され得る。検索インタフェース例102は、ユーザが、表示されているプロセス制御情報に基づくコンテキスト内でアラームおよび/またはイベントを検索できるようにする。例えば、ユーザは、フィールド機器112のグラフィック表現を選択し、その選択されたフィールド機器に関連し、過去24時間に記録された、全てのアラームおよび/またはイベントを表示し得る。ユーザはまた、検索テキストボックスを使用して、検索インタフェース102に、その入力したテキスト文字列に一致する属性を持つアラームおよび/またはイベントの検索もさせ得る。いくつかの例では、アラームおよび/またはイベントについて検索インタフェース102で提供される検索結果は、最新のアラームおよび/またはイベントを最初にリストして、時系列でリストされ得る。ユーザは、特定の検索基準に合致するレコードを表示するため、検索インタフェース102を利用して、検索結果をフィルタリングし得る。その上、ユーザは、どのアラームおよび/またはイベント属性が検索結果に表示されているかを指定し得る。
図示例の検索インタフェース例102はまた、ユーザが、プロセス制御システム104に関連するバッチイベント(例えば、実行時データおよび/またはソース情報)も検索できるようにする。例えば、検索インタフェース102は、ユーザが、ユーザインタフェース126によって表示されるエンタープライズアプリケーションおよび/またはバッチ履歴アプリケーション内から、バッチ履歴データベース(例えば、ソース情報データベース124)に記録され得るバッチイベントを検索できるようにする。さらに、検索インタフェース102は、ユーザが、表示されているプロセス制御情報を選択することにより、コンテキスト内のバッチイベントを検索できるようにする。例えば、ユーザは、表示されているバッチリスト(例えば、プロセス制御情報)からバッチIDを選択して、検索インタフェース102にその選択したバッチIDに関連するバッチ履歴イベントを表示させ得る。別の例では、ユーザは、ユーザインタフェース126内に表示されているバッチステップ(例えば、プロセス制御情報)を選択して、検索インタフェース102に、その選択したステップに関連するバッチイベントを表示させ得る。さらにまた、ユーザは、検索インタフェース102によって提供される検索テキストボックスを使用して、入力されたテキスト文字列に一致する属性を持つバッチイベントを検索し得る。検索インタフェース例102はまた、ユーザが、特定の検索基準に基づき検索結果をフィルタリングし得、かつ/またはどのバッチイベント属性が検索結果に表示されているかを指定できるようにする。
バッチイベントに加え、検索インタフェース例102は、ユーザが、オペレータのログブック(logbook)のエントリ(例えば、ソース情報)を検索できるようにする。ユーザは、検索インタフェース102を使用して、選択されたプロセス制御情報に基づくコンテキスト内でログブックのエントリを検索し得る。例えば、ユーザは、装置モジュールおよび/またはログエントリの検索カテゴリを選択して、検索インタフェース102にその装置名を参照するいかなるログエントリも検索させ得る。検索インタフェース例102は、ユーザが、検索結果にリストされているログブックのエントリを表示できるようにし得る。
図1の図示例では、検索インタフェース102は、ユーザが、例えば、標準操作手順、操作マニュアルおよび/または他の参考資料を含む、プロセス制御情報のドキュメント(例えば、ソース情報)も検索できるようにする。検索インタフェース102は、検索インデックスデータベース122を用いて、プロセス制御環境100に関連する個人ならびに/またはプロセス制御システム104に対してサポートおよび/もしくは機器を提供する第三者の個人によって生成された関係ドキュメントに対する1つのインデックスおよび/または複数のインデックスを検索できる。検索インタフェース102は、ユーザが、外部システム(例えば、プロセス制御環境100の外部)からインデックス作成されているプロセス制御情報を検索できるようにする。例えば、インデックスマネージャ103は、ソース情報データベース124がプロセス制御環境100の外部(例えば、SharePointサーバー内)に置かれていると判断し得る。この外部ソース情報データベース124がプロセス制御システム104でアクセス可能な場合、インデックスマネージャ103は、データベース124内に格納されているドキュメントおよび/または情報のインデックス作成を行う。他の例では、検索インタフェース102は、外部データベースにアクセスして、プロセス制御情報を検索し、任意の検索結果を、プロセス制御環境100内のソース情報データベース124からの検索結果と統合し得る。このようにして、検索インタフェース102は、ユーザに対して、内部および外部の両方に置かれているプロセス制御情報を含む1組の検索結果を提供する。
また、検索インタフェース例102は、ユーザが、ユーザインタフェース126内に表示されている選択されたプロセス制御情報に基づくコンテキスト内のドキュメントを検索できるようにする。例えば、ユーザは、フィールド機器112のグラフィック概略図表現を選択して、検索インタフェース102に、検索インデックスデータベース122で、選択されたフィールド機器112の名前を参照する任意のドキュメントを検索させ得る。検索インタフェース例102はまた、ユーザが、検索テキストボックスを使用して、入力したテキスト文字列に一致するテキストまたはプロパティを含むドキュメントを検索できるようにする。検索インタフェース102はさらに、ユーザが、ユーザインタフェース126内に表示されているコンテキスト内プロセス制御情報を選択することにより、オペレータメモ(note)および/または他のプロセス制御ノートブック(notebook)エントリを検索できるようにする。例えば、ユーザは、フィールド機器112のグラフィック概略図表現および/またはメモの検索カテゴリを選択して、検索インタフェース102に、フィールド機器112を参照する任意のメモを検索させ得る。
図1の検索インタフェース例102は、ユーザ(例えば、エンジニアおよび/またはシステム管理者)が、例えば、ユーザインタフェース126によって表示される、システム構成エクスプローラアプリケーション、制御ストラテジ・スタジオ・アプリケーション、および/またはグラフィック・スタジオ・アプリケーションを利用して、構成情報を検索できるようにする。さらに、検索インタフェース102は、ユーザ(例えば、オペレータおよび/または保守要員)が、例えば、システム構成エクスプローラアプリケーション、エンタープライズ・ビュー・アプリケーション、および/またはデバイス・マネージャ・アプリケーションから、フィールド機器112に関連する情報(例えば、デバイス構成情報、デバイス・オーディット・トレール・レコード、および/またはデバイスドキュメント)を検索できるようにする。検索インタフェース102によって提供される構成検索結果は、ユーザの職務権限および/または職務内容(例えば、フィルタ条件)に基づいて順序付けられ得る。
その上、図1の検索インタフェース例102は、別の綴り、および/またはユーザインタフェース126内に表示されている検索フィールド内に以前に入力された同一または同様な綴りを持つ検索エントリを提案し得る。検索インタフェース102は、ユーザが、例えば、日時の範囲、数字のキーワード(例えば、「<」、「>」、「=」、など)を用いた範囲、論理式(例えば、AND、OR、NOTなど)、全文一致検索、語および/もしくはフレーズに一致する検索、語および/もしくはフレーズを除外する検索、ならびに/またはプロセス制御情報の検索カテゴリ(例えば、タイプ)を含むおよび/もしくは除外する検索を利用して、検索できるようにし得る。さらに、検索インタフェース例102は、ユーザが、1組の検索結果内で検索できるようにする。
図2は、図1の検索インタフェース例102およびインデックスマネージャ例103の機能ブロック図を示す。図2の例は、様々なプロセッサ、サーバー、および/またはコンピューティングプラットフォーム内で実装されている検索インタフェース102およびインデックスマネージャ103を示す。他の例では、検索インタフェース102およびインデックスマネージャ103は、同一のプロセッサ、サーバー、および/またはコンピューティングプラットフォーム内で実装され得る。
図1の実行時データメモリ120および/またはコントローラ108から実行時データを受信するため、図2のインデックスマネージャ例103は、実行時データ受信機202を含む。実行時データ受信機例202は、インデックスマネージャ103を実行時データメモリ120に、LAN 110を介して通信で結合する。コントローラ108は、実行時データを、その実行時データに関連する制御パラメータ(複数可)を含むメッセージの形式で、実行時データメモリ120に送信する。ある例では、実行時データメモリ120は、単一の制御パラメータおよび対応するデータ値を含むメッセージを受信する。別の例では、実行時データメモリ120は、複数の制御パラメータおよび対応する実行時データを持つメッセージを受信し得る。実行時データメモリ120は、定期的に、コントローラ108からメッセージを受信する。他の例では、実行時データメモリ120は、制御ルーチンおよび/またはアルゴリズム内で実行時データを生成または/処理するコントローラ108上でメッセージを受信し得る。実行時データ受信機202はその後、実行時データを実行時データメモリ120から要求する。
実行時データを受信すると、受信機202は、実行時データの処理にデータパーサ204が利用可能であるかどうかを判断する。データパーサ204が利用不可能な場合、受信機202は、データパーサ204が実行時データの受信に利用可能になるまで、実行時データを待ち行列に入れる。どの実行時データをインデックス作成するかを判断するため、インデックスマネージャ103はデータパーサ204を含む。データパーサ例204は、受信機202から実行時データを受信して、データマネージャ206でインデックス作成する実行時データを区別する。
どの実行時データがインデックス作成されるのかを判断するため、データパーサ例204は、ルールセット207を使用するが、これはプロセス制御担当者によって提供され得る。データパーサ204は、ルールセット207内で指定された制御パラメータを使用して、受信した実行時データに関連するどの制御パラメータがインデックス作成されるかを識別する。例えば、ルールセット207は、PUMP01制御パラメータがインデックス作成されることを示し得る。データパーサ204は、PUMP01制御パラメータを含むメッセージ内で実行時データを受信するため、データパーサ204は、PUMP01制御パラメータがインデックス作成されると判断できる。PUMP01制御パラメータに関連する実行時データのインデックスを作成するため、データパーサ204は、メッセージから実行時データを解析して、PUMP01制御パラメータおよび関連する実行時データをデータマネージャ206に転送する。
別の例では、各制御パラメータは、ルールセット207に格納されている重要度係数と関連付けられ得る。データパーサ204は、その重要度係数を使用して、制御パラメータ(複数可)に関連する実行時データがインデックス作成のためにデータマネージャ206に転送されるかどうかを判断する。例えば、比較的高い重要度係数を持つ制御パラメータに関連する実行時データは、データパーサ204によってデータマネージャ206に転送され得る。重要度係数は、プロセス制御担当者によって決定され、ルールセット207に格納され得る。あるいは、重要度係数は、制御パラメータが検索に含まれる頻度および/またはユーザによってアクセスされる頻度に基づき、データパーサ204によって決定され得る。
いくつかの例では、プロセス制御担当者は、全てのプロセス制御データのインデックス作成することを決定し得る。これらの例では、データパーサ204は、受信した全ての実行時データをデータマネージャ206に転送する。他の例では、プロセス制御担当者は、フィールド機器出力(例えば、出力116)に関連するプロセス制御データのみインデックス作成することを決定し得る。これら他の例では、プロセス制御担当者は、そのフィールド機器出力に関連する制御パラメータのリストを含めるために、ルールセット207を定義し得る。データパーサ204はその後、このルールセット207にアクセスして、受信した実行時データに関連する制御パラメータを、ルールセット207内で指定された制御パラメータと照合する。データパーサ204は、一致した制御パラメータおよび関連する実行時データを、データマネージャ206に転送する。さらに別の例では、データパーサ204は、検索インタフェース102から、どの制御パラメータが検索結果に含まれているかを示す更新を受信し得る。データパーサ204はその後、制御パラメータおよび関連する実行時データに対する比較的最近の検索のみがインデックス作成されるように、ルールセット207を更新する。さらに、最近アクセスされた制御パラメータのインデックス作成に対する制限時間が、プロセス制御担当者によって指定され得る。
実行時データのインデックス作成を行うために、インデックスマネージャ103は、データマネージャ206を含む。データマネージャ例206は、実行時データおよび対応する制御パラメータ(複数可)をデータパーサ204から受信し、検索インデックスデータベース122に格納されているインデックスを用いて検索レコードを更新する。実行時データメモリ120内で、制御パラメータ(複数可)は記述子として使用され得、それによって実行時データをアクセス可能にする。実行時データのインデックスを作成するため、データマネージャ206は、その実行時データに関連する制御パラメータ(複数可)を識別し、その制御パラメータ(複数可)を、検索インデックスデータベース122内に格納されている検索可能インデックスに格納する。さらに、データマネージャ206は、格納されている制御パラメータに関連する実行時データをインデックスに格納する。データマネージャ206は、実行時データおよび/または対応する制御パラメータのインデックス作成を行うために、いかなるタイプのデータ圧縮および/またはドキュメント解析(例えば、トークン化)を使用し得、それは語境界の曖昧性解消、タグ付け、テキスト分割、内容分析、テキスト分析、テキストマイニング、コンコーダンス生成、音声分割、レキシング(lexing)、および/または字句解析とも呼ばれる。
実行時データおよび制御パラメータをインデックスに格納することにより、インデックスマネージャ103は、検索インタフェース102が、検索結果に制御パラメータを表示できるようにする。検索インタフェース102は、表示されている制御パラメータに対応するインデックス内に格納されている実行時データも表示し得る。このようにして、検索インタフェース102によって表示される検索結果は、インデックス作成された実行時データを含む。データマネージャ206は、コントローラ108が実行時データを送信すると、実行時データのインデックスを作成するため、検索結果として表示される実行時データは、実質的に一番新しく生成された実行時データである。従って、検索結果を参照するユーザは、プロセス制御情報を個々に表示するために別のアプリケーションをオープンする必要なく、検索結果に最新のプロセス制御情報を表示できる。データマネージャ例206はまた、実行時データがインデックスに格納される例では、実行時データを、インデックス内の比較的新しい実行時データで上書きし得る。このようにして、データマネージャ206は、インデックスを最新の実行時データで更新する。データマネージャ206はまた、検索インタフェース102に、実行時データが変わっているか、かつ/または更新されていることを示すメッセージも送信し得る。この結果、検索結果に表示されているいかなる実行時データも、データマネージャ206が実行時データをインデックスに格納するときに、より新しい実行時データで更新され得る。
他の例では、データマネージャ206は、検索インデックスデータベース122内で検索可能な制御パラメータのインデックス作成を行う。データマネージャ206はその後、それらの制御パラメータを、実行時データメモリ120内の対応する制御パラメータにリンクさせる。このように、制御パラメータを含む検索結果は、そのリンクを使用して、検索結果に表示するため、実行時データにアクセスし得る。例えば、検索インデックスデータベース122内のインデックス内にあるPUMP01制御パラメータは、実行時データメモリ120内のPUMP01制御パラメータへの記憶位置(例えば、C:\\SYSTEMS\PROCESS02\RUNTIME MEMORY\CACHE2\PUMP01)を含み得る。検索インタフェース102および/またはユーザインタフェース126は、この記憶位置を使用して、PUMP01制御パラメータにアクセスし、その実行時データの格納されている値を検索する。この例では、データマネージャ206は制御パラメータのインデックス作成のみを行い、一方、コントローラ108は、実行時データを実行時データメモリ120に格納する。実行時データメモリ120内の実行時データへのリンクの結果として、検索インタフェース102は、そのリンクを利用して、実行時データメモリ120に格納されている実行時データを検索結果に表示する。
実行時データのインデックス作成に加え、図2のインデックスマネージャ例103は、ソース情報のインデックス作成を行うために、ソース情報マネージャ208を含む。ソース情報マネージャ例208は、図1のLAN 110を介して、ソース情報データベース124と通信で結合されている。ソース情報マネージャ例208は、プロセス制御環境100全体に渡る1つ以上のソース情報データベース124に格納され得る、図1に関連して説明された種類のソース情報のインデックス作成を行う。このように、ソース情報マネージャ208は、プロセス制御環境100の様々な位置に格納されているソース情報に対して、検索インデックスデータベース122に格納される少なくとも1つの検索可能インデックスを作成する。他の例では、ソース情報マネージャ208は、ソース情報データベース124(複数可)の各々に対し、かつ/またはプロセス制御担当者の好みに基づくソース情報のタイプのインデックスを作成し得る。これらの例では、ソース情報マネージャ208は、複数のインデックスを検索インデックスデータベース122に格納して、検索を実行するために、検索インタフェース102だけが検索インデックスデータベース122にアクセスする必要があるようにする。また、ソース情報マネージャ208は、プロセス制御担当者の要求に基づき、定期的に(例えば、毎時、毎日、毎週、など)ソース情報のインデックス作成を行う。
図2のソース情報マネージャ208は、ソース情報データベース124(複数可)内のソース情報を識別するために、任意の種類のデスクトップおよび/またはエンタープライズ検索アルゴリズムを用いてソース情報のインデックスを作成し、そのソース情報の一部および/または全部を少なくとも1つのインデックスに格納する。他の例では、ソース情報マネージャ208は、ソース情報データベース124(複数可)内のソース情報を識別するために、クローラおよび/または検索スパイダを使用し得る。ソース情報マネージャ208は、ソース情報のインデックスを作成するために、任意のタイプのデータ圧縮および/またはドキュメント解析を使用し得る。ソース情報のインデックス作成された部分は、検索インタフェース102により、検索結果項目として表示される。ソース情報のその部分には、例えば、ドキュメントおよび/もしくは情報のタイトル、ドキュメントおよび/もしくは情報に関連および/もしくは埋め込まれているキーワードもしくはフレーズ、ドキュメントおよび/もしくは情報によって参照されるフィールド機器112および/もしくは制御パラメータ(複数可)、ドキュメントおよび/もしくは情報の許可されたビューア、ならびに/またはドキュメントおよび/もしくは情報に関連するプロセス制御システム104の領域を含み得る。さらに、ソース情報マネージャ208は、ドキュメントおよび/または情報のタイプを判断して、そのタイプをインデックスに格納し得る。ソース情報の部分および/または完全なコピーを検索インデックスデータベース122内のインデックスに格納することにより、検索インタフェース102は、検索パラメータをソース情報の部分と照合し得る。また、ドキュメントおよび/または情報のタイプをインデックスに格納することにより、検索インタフェース102は、そのタイプを使用して、特定のタイプのドキュメントおよび/または情報について、コンテキスト内ベースの検索を実行する。
その上、ソース情報マネージャ208は、ソース情報のインデックス作成された部分を、ソース情報データベース124内の対応するソース情報の位置にリンクする。このようにして、検索インタフェース102は、ユーザが検索結果にリストされたソース情報を選択すると、ソース情報をオープンし得る。例えば、検索結果には、製品仕様書を含み得る。検索結果は、ドキュメント(例えば、検索結果項目)へのリンクを表示する。そのリンクには、製品仕様書のタイトルおよびその製品仕様書(例えば、ソース情報の一部)に関連するフィールド機器112のリストを含む。ユーザは、そのリンク上をクリックすることによりドキュメントを選択して、検索インタフェース102に、ソース情報データベース124内のドキュメントの位置を得るため、検索インデックスデータベース122をアクセスさせ得る。検索インタフェース102は、そのドキュメント位置を使用してドキュメントおよびドキュメントのタイプにアクセスし、ユーザインタフェース126内のドキュメントを表示するために、ドキュメントのタイプに関連したアプリケーションを開く。
図2はまた、検索インタフェース102の機能ブロック図も示す。検索インタフェース例102は、ユーザから検索パラメータを受信して、少なくとも部分的には検索パラメータに一致する検索結果を提供する。検索インタフェース例102は、保存された検索結果の管理、条件に基づく検索結果のフィルタリング、および/または検索のコンテキストに基づく検索結果の表示の管理も行う。
ユーザから検索パラメータを受信するため、検索インタフェース例102は、アプリケーションインタフェース220を含む。アプリケーションインタフェース例220は、図1のワークステーション106に通信で結合されているか、および/またはその内部に含まれている。アプリケーションインタフェース220はまた、図1のユーザインタフェース126にも通信で結合されている。いくつかの例では、アプリケーションインタフェース220は、ユーザインタフェース126に含まれる検索ボックスおよび/または機能に動作可能なように結合されている。ユーザによって、検索パラメータが検索ボックスに入力されたか、かつ/またはユーザインタフェース126の検索機能を用いて選択されると、アプリケーションインタフェース例220は、その検索パラメータを受信する。いくつかの例では、検索パラメータは、ユーザインタフェース126内で動作するアプリケーションによって提供され得る。
さらに、アプリケーションインタフェース220は、ユーザによりユーザインタフェース126を介して提供されるフィルタ条件を受け取る。フィルタ条件は、検索結果のフィルタリングおよび/または解析を行うために、検索インタフェース102によって使用される。いくつかの例では、検索結果は、ユーザ情報および/またはユーザがアクセス可能なプロセス制御システム104の領域に基づきフィルタリングされ得る。フィルタ条件には、ユーザの職務権限、ユーザに関連する制御の範囲、ユーザのセキュリティアクセス、ユーザに付与された特権、および/またはユーザに関連する識別子も含む。アプリケーションインタフェース220で受信されるフィルタ条件は、そのユーザに関連しない、かつ/またはユーザが参照する権限を付与されていない情報を、ユーザが参照し得ないことを確実にする。ユーザインタフェース126および/またはユーザインタフェース126によって表示されたアプリケーションから検索パラメータおよび/またはフィルタ条件を受信すると、アプリケーションインタフェース例220は、その検索パラメータおよび/またはフィルタ条件をプロセッサ222に転送する。いくつかの例では、アプリケーションインタフェース220は、プロセッサ222が検索パラメータおよび/またはフィルタ条件を受信可能になるまで、検索パラメータおよび/またはフィルタ条件を待ち行列に入れ得る。
アプリケーションインタフェース220によって受信された検索パラメータには、例えば、テキストおよび/またはコンテキスト情報を含む。テキストには、ユーザによってユーザインタフェース126の検索フィールド(例えば、テキストボックス)に入力された語またはフレーズ、フィールド機器112の識別子(例えば、タグ)、オペレータおよび/もしくはユーザ情報、日付範囲、ならびに/またはプロセス制御情報を検索するためにユーザが指定し得る他の情報を含み得る。コンテキスト情報は、ユーザインタフェース126に表示されたプロセス制御情報のグラフィック表現をユーザが選択することにより生成され得る。例えば、ユーザは、フィールド機器112の概略図に表示されている、選択したVALVE01フィールド機器のグラフィック表現に関連するプロセス制御情報を検索し得る。この例では、アプリケーションインタフェース220によって受信されたコンテキスト内情報には、VALVE01フィールド機器の名前を持つ検索パラメータ、およびVALVE01フィールド機器の選択が概略図アプリケーション内であったことを示す検索パラメータを含み得る。検索パラメータはまた、ユーザがVALVE01フィールド機器に関連するドキュメントの検索結果を表示するために選択したことを示すコンテキスト内情報も含み得る。アプリケーションインタフェース220によって受信されたこれらの検索パラメータに基づいて、検索インタフェース102は、VALVE01フィールド機器に関連するドキュメントおよび/またはその概略図に関連するドキュメントに関する検索インデックスデータベース122の検索に集中し得る。
別の例では、ユーザは、機能ブロック図の機能ブロックを選択し得る。アプリケーションインタフェース例220は、ユーザインタフェース126から、機能ブロック図で行われた選択、機能ブロック名、および/またはその機能ブロックに関連する制御パラメータを示す検索パラメータを受信し得る。これらの検索パラメータは、選択された制御パラメータに関連する実行時データおよび/または機能ブロックを説明するドキュメントを検索するために、検索インタフェース102によって使用され得る。コンテキスト内ベース検索の他の例については、図5〜図8に関連して説明する。
さらに、アプリケーションインタフェース例220は、検索インタフェース102を、ユーザインタフェース126および/またはユーザインタフェース126によって表示されるアプリケーションに通信で結合するため、アプリケーションインタフェース220は、検索結果をユーザインタフェース126で表示するために送信する。検索結果には、例えば、プロセス制御情報のリスト、プロセス制御項目、および/またはインデックス作成されたプロセス制御情報の一部を含む。他の例では、検索結果には、プロセス制御情報のグラフィック表現および/または対応する実行時データを持つ制御パラメータを含む。インデックス作成されたソース情報および/または実行時データは、ユーザインタフェース126によってプレビューパネルおよび/または検索結果パネル内に、検索結果としてグラフィック表示され得る。
図示例のプロセッサ例222は、受信した検索パラメータからコンテキスト内情報の表示コンテキストを決定する。プロセッサ222は、検索結果が、ユーザが検索を開始したコンテキストに対応するグラフィック表現で、ユーザに対して表示され得るように、表示コンテキストを決定する。プロセッサ222は、例えば、表示コンテキストを、検索が開始されたアプリケーションのタイプ、アプリケーション内から検索するように選択されたデータタイプ、および/または検索するように選択された制御パラメータのデータタイプに合致させることによって、表示コンテキストを決定する。プロセッサ222はまた、検索パラメータ内に含まれるコンテキスト内情報および/またはフィルタ条件にも基づいて表示コンテキストを決定する。
検索結果の表示コンテキストを決定すると、プロセッサ222は、決定された表示コンテキストをレンダラ223に送信する。レンダラ例223は、対応する検索結果のグラフィック表現をユーザインタフェース126での表示用に生成するために、表示コンテキストを使用する。プロセッサ222は、表示コンテキストを検索エンジン224にも送信する。プロセッサ222は、表示コンテキストをメッセージおよび/または命令に含めて送信する。さらに、プロセッサ222は、検索パラメータ、フィルタ条件、および/またはコンテキスト内情報を検索エンジン224に送信する。その上、プロセッサ例222は、ユーザインタフェース126の検索フィールドに表示するため、アプリケーションインタフェース220に対して、別の綴りの送信および/または最近入力された検索パラメータの提供を行い得る。
図2の図示例では、アプリケーションインタフェース220は、ユーザインタフェース126から、表示されている検索結果に関連する検索基準(例えば、検索パラメータ)を保存する命令を受信する。追加または代替として、アプリケーションインタフェース220は、検索結果を保存する命令を受信し得る。その命令は、検索基準および/または検索結果を保存するために、ユーザによって割り当てられた識別子(例えば、名前)を含み得る。検索基準の保存命令を受信すると、アプリケーションインタフェース220は、その命令をプロセッサ222に転送し、そのプロセッサがその後、検索結果を得るために検索エンジン224にアクセスする。プロセッサ222は次に、検索基準、検索結果、および/または検索識別子を検索結果データベース228に格納する保存検索マネージャ(saved search manager)226に、その命令を転送する。検索結果データベース例228は、検索基準および/または検索結果を関連する識別子で格納する。検索結果データベース例228のほか、ソース情報データベース124、検索インデックスデータベース122、および/または実行時データメモリ120もまた、電気的消去プログラム可能ROM(EEPROM)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/または他の種類のメモリによって実施され得る。
検索パラメータおよび/または検索結果を保存することにより、ワークステーション106のユーザは、保存された検索結果内にリストされているプロセス制御情報にアクセスし得る。ユーザは、検索結果のリストの生成に使用された検索パラメータを保存するために、検索基準を保存し得る。このようにして、ユーザは、保存されている検索パラメータにアクセスすることにより、以前に表示された検索結果のリストを表示できる。例えば、ユーザは、「ドキュメント」検索パラメータおよび「FIC_101」検索パラメータを、FIC_101フィールド機器用のドキュメンテーションに関連する検索結果に対応する検索基準として保存し得る。後でドキュメントのリストを表示するために、ユーザが、保存されている検索基準にアクセスすると、それによって、検索エンジン224が保存されている検索パラメータに基づき、新しい検索を行う。他の例では、ユーザは、後で同様の検索を行って、新しく追加および/または更新されたソース情報および/またはプロセス制御情報があるかどうかを判断するために、検索パラメータを保存し得る。
ユーザはまた、特定のプロセス制御項目に関連するリンクの集合を保存するためにも、検索結果を保存し得る。例えば、ユーザは、PUMP01フィールド機器に関連するドキュメントを検索し得る。表示された検索結果は、ソース情報データベース124内のソース情報および実行時データメモリ内の実行時データへのリンクを含む。ドキュメントおよび実行時情報の各々をワークステーション106にローカルに保存する代わりに、ユーザは検索結果を保存し、それにより、ソース情報および/または実行時データへのリンクを保存し得る。ユーザはその後、同一のプロセス制御情報に対してまた別の検索を実行する代わりに、その保存されている検索結果にアクセスし得る。
図2の保存検索マネージャ例226は、検索インデックスデータベース122内のインデックスのコピーを、検索結果データベース228にも格納する。インデックスのコピーを検索インデックスデータベース122から保存するため、プロセッサ222は、ワークステーション106のユーザからユーザインタフェース126を介して、命令を受信する。別の例では、プロセッサ222は、定期的に(例えば、毎時、毎日、毎月、など)検索インデックスデータベース122にアクセスし得る。検索インデックスデータベース122にアクセスすることにより、プロセッサ222は、インデックス(複数可)をコピーし、そのコピーを保存検索マネージャ226に転送し得る。保存検索マネージャ226はその後、そのコピーを検索結果データベース228に格納する。インデックス(複数可)のコピーを保存することにより、保存検索マネージャ例226は、検索インデックスデータベース122がアクセス不可能な場合に、ユーザが検索を実行できるようにする。検索インデックスデータベース122が利用できない場合、検索エンジン例224は、保存検索マネージャ226を経由して、検索結果データベース228内のバックアップ用インデックス(複数可)のコピーにアクセスする。
ワークステーション106のユーザによって入力された検索パラメータに基づき検索を実行するため、図2の検索インタフェース102は検索エンジン224を含む。検索エンジン例224は、プロセッサ222から1つ以上の検索パラメータを受信する。検索エンジンは、プロセッサ222から、検索パラメータに関連する表示コンテキスト情報も受信する。検索エンジン224は、検索インデックスデータベース122にアクセスして、検索パラメータをインデックス作成されたプロセス制御情報と照合する。検索エンジン224は、どの検索パラメータがプロセス制御情報のインデックスに含まれているかを判断することにより、検索パラメータを照合する。検索エンジン224はまた、追加の検索パラメータとして表示コンテキスト情報も使用して、検索パラメータの照合を行う。例えば、表示コンテキストが、検索パラメータが概略図内で生成されたことを示している場合、検索エンジン224は、検索パラメータに一致するインデックス作成されたプロセス制御情報の検索に加えて、概略図に関連するインデックス作成されたプロセス制御情報も検索する。
検索エンジン例224は、ユーザによって提供された検索パラメータに基づき、検索パラメータをインデックス作成されたプロセス制御情報と照合し得る。例えば、ユーザは、フレーズ全体として検索パラメータを照合するよう指定し得る。その場合、検索エンジン224は、検索インデックスデータベース122で、フレーズ全体に一致するインデックス作成されたプロセス制御情報を検索する。他の例では、検索パラメータは、検索から除外される語をリストし得る。検索エンジン例224はその後、除外された語を含まないインデックス作成されたプロセス制御情報を照合するであろう。検索エンジン例224はまた、他の検索パラメータを使用して、例えば、数式および/または論理結合子を含む検索も実行し得る。
検索エンジン224が制御パラメータをインデックス作成されたプロセス制御情報と照合する時、検索エンジン224は、一致したプロセス制御情報を検索結果として検索結果リストに格納する。一致したプロセス制御情報は、検索情報データベース124内の対応するソース情報および/または実行時データメモリ120内の実行時データへのリンクを含む。一致したプロセス制御情報は、インデックス作成されたプロセス制御情報も含み得る。検索エンジン224は、検索エンジン224が検索インデックスデータベース122内でインデックス(複数可)の検索を完了するまで、検索結果を検索結果リストに追加する。
検索エンジン224はその後、検索パラメータがどの程度インデックス作成されたプロセス制御情報と一致するかの計算(例えば、関連度計算)に基づき、各検索結果の一致率値を決定する。検索エンジン224は、その一致率値を使用して、最も関連のある検索結果が最初に表示されるよう、検索結果のランク付けおよび/または順序付けを行う。他の例では、検索エンジン224は、最もアクセスされた検索結果を最初に表示し得、および/または最もアクセスされ、かつ最も関連のある検索結果の組み合わせを最初に表示し得る。いくつかの例では、検索エンジン224は、検索結果を、それらが照合されるときに、ランク付けおよび/または順序付けを行う。他の例では、検索エンジン224は、検索インデックスデータベース122の検索が完了すると、検索結果のランク付けおよび/または順序付けを行う。
検索結果のランク付けおよび/または順序付けを行うと、検索エンジン224は、検索結果を検索フィルタ230に送信する。検索フィルタ例230は、プロセッサ222から受信されたフィルタ条件に基づき検索結果のフィルタリング(および/または解析)を行う。フィルタ条件例は、ユーザの職務権限、ユーザに関連する制御の範囲、ユーザのセキュリティアクセス、ユーザに付与されている権限、および/またはユーザに関連する識別子と関連する。フィルタ条件は、ユーザに関連しない情報および/またはユーザが参照する権限のない情報を、ユーザが表示し得ないことを確実にするために、検索フィルタ230によって使用される。
例えば、ワークステーション106のユーザは、ワークステーション106にログインするための識別子を提供する。ユーザが検索を実行する時、その識別子は、検索パラメータとしてアプリケーションインタフェース220に送信され得る、かつ/または検索パラメータおよび/もしくは表示コンテキスト情報内にメタデータとして埋め込まれ得る。プロセッサ222は、メタデータから識別子を抽出し、その識別子を検索フィルタ230に転送し得る。検索フィルタ230はその後、例えば、識別子に関連する制御範囲および/または識別子に関連する職務権限を決定する。検索フィルタ230は次に、職務権限および/または制御範囲に関連しない検索結果はどれも検索結果から除去する。さらに、検索フィルタ230は、その識別子がどの検索結果にアクセスし得るかを判断するため、セキュリティ証明書にアクセスし得る。検索フィルタ230はその後、除去されなかった検索結果を表示データマネージャ232に転送する。
表示データマネージャ例232は、ユーザインタフェース126によって表示されるアプリケーション内に検索結果として表示されるプロセス制御情報を管理する。表示データマネージャ232は、検索結果に含まれる実行時データに関連する制御パラメータをローカルキャッシュに格納し、かつ/または検索結果に含まれるソース情報へのリンクを保存する。表示データマネージャ232はその後、検索結果をレンダラ223に転送する。さらに、表示データマネージャ232は、検索結果として表示されているインデックス作成された実行時データおよび/またはソース情報のいずれかが変わっているかどうかを判断するため、定期的に(例えば、毎秒、毎分、5分おき、10分おき、など)検索インデックスデータベース122にアクセスする。インデックス作成されたプロセス制御情報のいずれかが変わっている場合、表示データマネージャ232は、変更された情報で検索結果を更新し、その変更された情報をレンダラ223に転送する。他の例では、表示データマネージャ232は、データマネージャ206から、実行時データが変わっていることを示すメッセージを受信する。このように、表示データマネージャ232は、プロセス制御情報がプロセス制御システム104内で変わると、表示されている検索結果を更新する。プロセス制御情報の更新の結果、表示データマネージャ232は、ユーザが、検索結果コンテキスト内で最新のプロセス制御情報を参照できるようにする。
表示データマネージャ例232はまた、実行時データメモリ120にアクセスすることにより、検索結果に表示されている実行時データもアクセスし得る。表示データマネージャ232は、実行時データに関連する制御パラメータを使用して、実行時データメモリ120内の実行時データを検索し得る。表示データマネージャ232が、少なくともいくつかの実行時データが変わっていると判断した場合、表示データマネージャ232は、対応する検索結果(複数可)を更新して、その更新された検索結果(複数可)をレンダラ223に転送する。
さらに、表示データマネージャ例232は、検索結果にリストされているソース情報の新しいバージョンが保存されているかどうかを判断するため、ソース情報データベース124にアクセスし得る。表示データマネージャ232が、新バージョンが保存されているか、かつ/またはソース情報が別の方法で変わっていると判断した場合、表示データマネージャ232は、変更されたソース情報で検索結果を更新し、その変更されたソース情報をレンダラ223に転送する。レンダラ223はその後、その変更されたソース情報で表示されている検索結果を更新し得る。
追加または代替として、図2の表示データマネージャ例232は、検索結果に表示されている実行時データおよび/またはソース情報のいずれかが変わっているかどうかを判断するため、命令を検索エンジン224に送信する。命令を受信すると、検索エンジン224は、インデックス作成されたプロセス制御情報のいずれかが変わっているかどうかを判断するため、検索インデックスデータベース122にアクセスする。インデックス作成されたプロセス制御情報が変わっている場合、検索エンジン224は、変更された情報を表示データマネージャ232に転送する。
レンダラ例223は、表示データマネージャ232から受信した検索結果の表示可能バージョンを作成(例えば、レンダリング)する。レンダラ223は、プロセッサ222から受信された表示コンテキスト情報を用いて、かつ/または検索結果にリストされているプロセス制御情報のタイプに基づいて、表示可能な検索結果を作成する。レンダラ223は、表示コンテキスト情報を使用して、検索結果のための表示テンプレートを選択する。例えば、表示コンテキストが機能ブロック図に関連する(例えば、検索が機能ブロック図から開始された)場合、レンダラ223は、検索結果を機能ブロックとして表示可能な埋め込みアプリケーションを備えたテンプレートを選択し得る。別の例では、レンダラ223が、フィールド機器に関連する表示コンテキスト情報を受信する(例えば、フィールド機器がプロセス制御システム104の概略図またはレイアウト内で選択された)場合、レンダラ223は、実行時データのグラフィック表現(例えば、値、チャート、グラフ、など)を表示可能なテンプレートを選択し得る。
レンダラ例223はまた、検索結果の表示方法を決定するためにも、検索結果に含まれるプロセス制御情報のタイプを使用する。例えば、レンダラ223は、検索結果にリストされている概略図ファイル形式に関連するプロセス制御情報を、概略図ファイルを表示可能なアプリケーションに表示し得る。他の例では、レンダラ223は、検索結果をリストとして表示するために、ワークステーション106のユーザから命令を受信し得る。このように、検索結果は、リストされているプロセス制御情報のコンテキスト内で表示される。同様の方法で、ドキュメントファイル形式に関連するプロセス制御情報は、レンダラ223によって文書処理アプリケーションに表示され得る。
代替として、レンダラ223は、表示コンテキスト情報および/または検索結果のタイプに基づき、検索結果をリストとして表示し得る。例えば、検索結果が様々なタイプのプロセス制御情報に関連する場合、レンダラ223は、検索結果をリストとして表示し得る。レンダラ223はまた、ファイルタイプのコンテキスト内で、選択された検索結果を表示するプレビューパネルも生成し得る。
さらに、レンダラ例223は、選択されたプロセス制御情報を、関連するアプリケーションに表示する。例えば、ユーザは、ソース情報データベース124に格納されている文書処理ドキュメントに対応する検索結果を選択し得る。この例では、アプリケーションインタフェース例220は、その選択をプロセッサ222に転送し、そのプロセッサは、検索結果内のリンクを使用して、ソース情報データベース124にアクセスし、選択された文書処理ドキュメントを取得する。プロセッサ222はその後、そのドキュメントをレンダラ223に転送する。レンダラ223は、そのドキュメントが文書処理ドキュメントであると判断して、ユーザインタフェース126内で文書処理アプリーションを開き、そのドキュメントを文書処理アプリケーション内で表示する。表示データマネージャ232はまた、オープンされたドキュメントの変更バージョンがソース情報データベース124に格納されている時、ユーザに対して指示を提供し得る。
その上、レンダラ223は、フィルタ条件を使用して、検索結果の表示方法を決定し得る。例えば、レンダラ223は、ワークステーション106のユーザの識別子がオペレータとして分類されている場合、オペレータインタフェースのテンプレートを選択し得る。同様の方法で、レンダラ223は、識別子が設計者および/またはエンジニアとして分類されている場合には、検索結果をエンタープライズアプリケーション内で表示し得る。レンダラ223は、プロセッサ222および/または検索フィルタ230からフィルタ条件を受信する。フィルタ条件および/または表示コンテキストに基づき検索結果を表示する追加の例については、図3〜図8に関連して説明する。
図示例のレンダラ例223は、生成された表示可能検索結果をユーザインタフェース126に送信する。ユーザインタフェース126は、ユーザによって閲覧可能なワークステーション106内に検索結果を表示する。いくつかの例では、ユーザは表示された検索結果をプレビューすることを選択し得る。これらの例では、アプリケーションインタフェース220は、ユーザインタフェース126から選択された検索結果の命令を受信して、その命令をレンダラ223に転送する。レンダラ例223はその後、検索結果に関連するプロセス制御情報のタイプおよび/または表示される検索結果のコンテキスタイプに基づき、選択された検索結果のための表示を生成する。いくつかの例では、レンダラ223は、検索結果に含まれるインデックス作成されたプロセス制御情報を使用して、プレビューパネルにプロセス制御情報を表示し得る。他の例では、レンダラ223は、検索結果に含まれるインデックス作成されたプロセス制御情報が表示の生成に不十分な場合、選択された検索結果の対応するプロセス制御情報を得るため、ソース情報データベース124および/または実行時データメモリ120にアクセスし得る。レンダラ223はその後、選択された検索結果のグラフィック表示を、ユーザインタフェース126に表示するために、アプリケーションインタフェース220に送信する。
検索インデックスデータベース122の検索に加えて、図2の検索インタフェース例102は、図1のプロセス制御環境100内にある他のワークステーションを検索するために、ワークステーションインタフェース234を含む。ワークステーションインタフェース例234は、ワークステーション内のメモリのファイル検索および/またはフォルダ検索を実行することにより、他のワークステーションを検索する。ワークステーションインタフェース234はまた、その検索を開始したユーザインタフェース126を含むワークステーション106も検索する。このようにして、ユーザは、そのユーザのワークステーション106を含め、実質的にプロセス制御環境100内の範囲にあるプロセス制御情報を検索し得る。
図示例のワークステーションインタフェース例234は、検索エンジン224から検索パラメータを受信し、その制御パラメータに一致するプロセス制御情報を、通信で結合されているワークステーションで検索する。ワークステーションインタフェース234は、検索パラメータに一致する実行時データおよび/またはソース情報に関連する制御パラメータを検索する。ワークステーションインタフェース234は、ユーザが、ワークステーションにローカルに保存されている可能性はあるが、ソース情報データベース124および/または実行時データメモリ120にはまだ格納されていないプロセス制御情報を検索できるようにする。ワークステーションインタフェース234はまた、検索エンジン224に、最近アクセスされた検索結果のリストも提供し得る。検索エンジン224は、ワークステーションインタフェース234からのそのリストを使用し、どの検索結果が最近アクセスされたかに基づいて、検索結果のランク付けおよび/または順序付けを行う。追加または代替として、ワークステーションインタフェース234は、検索エンジン224が他のワークステーションを検索するためのインタフェースとして機能し得る。
他のワークステーションを検索すると、図2のワークステーションインタフェース例234は、一致した検索結果を検索エンジン224に送信する。検索エンジン例224はその後、ワークステーションインタフェース234からの検索結果を、検索インデックスデータベース122および/または検索結果データベース228からの検索結果に組み込む。さらに、検索エンジン224は、他のワークステーションに保存されている検索結果に隣接して指示を置き得る。ユーザは、検索結果内のその指示を参照して、対応する検索結果が別のワークステーションに格納されていることを知り得る。
検索インタフェース例102およびインデックスマネージャ103が図2に示されているが、図2に示されているサーバー、プラットフォーム、インタフェース、データ構造、要素、プロセスおよび/または装置の1つまたは複数は、任意の方法で、結合、分割、再配置、削除、除外、および/または実装され得る。さらに、実行時データ受信機例202、データパーサ例204、データマネージャ例206、ソース情報マネージャ例208、実行時データメモリ例120、検索インデックスデータベース例122、ソース情報データベース例124、アプリケーションインタフェース例220、プロセッサ例222、レンダラ例223、検索エンジン例224、保存検索マネージャ例226、検索結果データベース例228、検索フィルタ例230、表示データマネージャ例232、ワークステーションインタフェース例234、ならびに/またはより一般的には、検索インタフェース例102および/もしくはインデックスマネージャ103は、ハードウェア、ソフトウェア、ファームウェア、ならびに/またはハードウェア、ソフトウェアおよび/もしくはファームウェアの任意の組み合わせによって実装され得る。それ故、例えば、実行時データ受信機例202、データパーサ例204、データマネージャ例206、ソース情報マネージャ例208、実行時データメモリ例120、検索インデックスデータベース例122、ソース情報データベース例124、アプリケーションインタフェース例220、プロセッサ例222、レンダラ例223、検索エンジン例224、保存検索マネージャ例226、検索結果データベース例228、検索フィルタ例230、表示データマネージャ例232、ワークステーションインタフェース例234、ならびに/またはより一般的には、検索インタフェース例102および/もしくはインデックスマネージャ103のいずれも、1つ以上の回路、プログラム可能プロセッサ(複数可)、特定用途向け集積回路(ASIC)(複数可)、プログラム可能論理回路(PLD)(複数可)および/またはフィールドプログラム可能論理回路(FPLD)(複数可)などによって実装され得る。
本特許のいずれかの装置クレームが単にソフトウェアおよび/またはファームウェアの実装を対象とすると理解される場合、実行時データ受信機例202、データパーサ例204、データマネージャ例206、ソース情報マネージャ例208、実行時データメモリ例120、検索インデックスデータベース例122、ソース情報データベース例124、アプリケーションインタフェース例220、プロセッサ例222、レンダラ例223、検索エンジン例224、保存検索マネージャ例226、検索結果データベース例228、検索フィルタ例230、表示データマネージャ例232、および/またはワークステーションインタフェース例234の少なくとも1つは、本明細書により、ソフトウェアおよび/またはファームウェアを格納する、メモリ、DVD、CD、などのコンピュータ可読媒体を含むように明示的に定義される。さらにまた、検索インタフェース例102および/またはインデックスマネージャ例103は、1つ以上の要素、プロセスおよび/または装置を、図2に示されているそれらに加え、またはそれらの代わりに含み得、かつ/または図示されている要素、プロセスおよび装置のいずれか2つ以上もしくは全てを含み得る。
図3は、図1および図2の検索インタフェース例によって管理される検索結果を表示するユーザインタフェース例126を示す。ユーザインタフェース例126は、ナビゲーションバー302、検索テキストフィールド304、および検索カテゴリバー306を含むアプリケーション300を表示する。アプリケーション例300は、例えば、ユーザが、図1のプロセス制御システム104に関連するプロセス制御情報を表示できるようにするエンタープライズアプリケーションであり得る。ナビゲーションバー302は、アプリケーション300で表示されるプロセス制御情報のファイルディレクトリ内の位置を示す。ユーザは、フォルダパネル307を用いてディレクトリ位置を閲覧し得る、かつ/またはファイルディレクトリ位置をナビゲーションバー302に入力し得る。この例では、Plant Web/DeltaV/Search Results/Displaysディレクトリ位置が、ユーザによりフォルダパネル307を用いて選択されている。他の例では、ナビゲーションバー302は、論理制御階層(たとえば、S88階層)内での位置を示し得る。
検索テキストフィールド例304は、ユーザが、プロセス制御情報を検索するために、図1および図2の検索インタフェースによって使用される検索パラメータを入力できるようにする。図3の例では、FIC_101検索パラメータが検索テキストフィールド304に入力されている。他の例では、ユーザは、条件式および/または数字の範囲を検索テキストフィールド304に入力し得る。さらに、ユーザは、検索パラメータ名を記述するテキストを持つ検索パラメータのタイプおよび/またはカテゴリを入力し得る。例えば、ユーザは、「block type=PID」の検索カテゴリおよび「block name=FIC_101.」のブロック名を入力し得る。これらの検索パラメータの各々は、検索インデックスデータベース122で、ブロックタイプPIDおよびブロック名FIC_101を含むインデックス作成されたプロセス制御情報を検索するために、検索インタフェース102によって使用される。検索テキストフィールド304は、ワイルドカード値(例えば、FIC*)を入力するユーザもサポートし得、かつ/またはユーザが何を入力し始めたかに基づくテキストの自動入力もサポートし得る。また、検索テキストフィールド304は、以前の検索で入力された最近のテキストをユーザに示し得る。
検索カテゴリバー例306は、検索インタフェース102が、一致するプロセス制御情報を検索するために、FIC_101検索パラメータと共に使用し得る選択可能検索パラメータを含む。この例では、表示検索パラメータ308が選択されている。表示検索パラメータ308を選択することにより、図2の検索エンジン224は、グラフィック表現の表示タイプに関連するプロセス制御情報を検索する。他の例では、動向検索パラメータを選択すると、検索エンジン224が、例えば、実行時データ、グラフ、および/またはチャートを含む、プロセス動向および/または履歴に関連するプロセス制御情報を検索する。ドキュメント検索パラメータを選択すると、検索エンジン224が、FIC_101検索パラメータに関連するソース情報ドキュメントを検索する。
図3のアプリケーション例300は、検索結果パネル312に表示されている検索結果に対して実行する選択可能な機能を含むツールバー310も含む。例えば、ユーザは、検索結果を検索結果データベース228に保存するために、検索の保存ツール項目を選択し得る。検索結果パネル312は、検索インタフェース102によって生成された検索結果を表示する。図示例では、検索結果パネル312は、検索テキストフィールド304内のFIC_101検索パラメータおよび表示検索パラメータ308に一致する検索結果を含む。この例では、検索結果は、名前、プロセス制御システム104内の領域、プロセス制御情報が最後に変更された変更日時、およびプロセス制御情報の識別子に対応するタグ値を含む、インデックス作成されたプロセス制御情報を含む。インデックス作成されたプロセス制御情報は、ソース情報データベース124に格納されているソースドキュメント(複数可)および実行時データメモリ120に格納されている実行時データに基づき、インデックスマネージャ103によってインデックス作成される。他の例では、検索結果は、様々なタイプのインデックス作成されたプロセス制御情報を含み得る。
また、ユーザは、インデックス作成されたプロセス制御情報のどのカテゴリが検索結果パネル312に表示されるかを選択し得る。例えば、ユーザは、領域カテゴリを削除し、かつ/またはファイルタイプカテゴリを追加し得る。いくつかの例では、検索インタフェース102は、検索パラメータおよび/またはインデックス作成されたプロセス制御情報のタイプに基づき、インデックス作成されたプロセス制御情報のどのカテゴリを検索結果パネル312に表示するかを決定し得る。
さらに、検索結果パネル312の検索結果は、Area_40に関連するフィルタ条件に基づいてフィルタリングされる。この例では、検索インタフェース102は、検索を要求するユーザの識別子を受信する。検索フィルタ230は、その識別子に関連する制御範囲(例えば、Area_40)を判断するために、識別子をフィルタ条件として使用する。識別子のフィルタ条件に基づいて、検索フィルタ230は、Area_40制御範囲に関連する検索結果のみを送信する。
検索結果パネル例312は、ユーザがArea_40_FCCU Feed Prep検索結果を選択したことを示す選択標識314も含む。検索結果を選択した結果、検索インタフェース102は、検索結果内のリンクを使用して、Area_40_FCCU Feed Prep検索結果に関連する、実行時データメモリ120に保存されている実行時データおよび/またはソース情報データベース124内のソース情報にアクセスし、プレビューパネル316にグラフィック表現を生成する。プレビューパネル例316は、フィールド機器112を、Area_40_FCCU Feed Prep検索結果に対応する概略図に表示する。つまり、ユーザによるArea_40_FCCU Feed Prep検索結果の選択に応じて、検索インタフェース102は、一部は「表示」検索パラメータ308の選択に基づき、一部はArea_40_FCCU Feed Prep検索結果に関連するデータタイプに基づいて、Area_40_FCCU Feed Prep検索結果が概略図コンテキスト表示に関連すると判断する。いくつかの例では、プレビューパネル316に表示されるフィールド機器112は、図1および図2のコントローラ1108が新しい実行時データを計算すると変わる実行時データを示し得る。
検索結果パネル312にリストされている検索結果は、ユーザが、任意の検索結果を選択して、その選択した検索結果の概略図のグラフィック表現を表示できるようにする。このようにして、ユーザは、検索結果をプレビューパネル316に表示するために選択することにより、Area_40内のプロセス制御システム104の様々な部分を比較的迅速に参照し得る。ユーザはその後、選択された検索結果を表示および/または変更するための追加の機能概略図にアクセスするため、概略図アプリケーション内にリストされた検索結果の1つを表示することを決定し得る。検索結果の1つを選択することにより、検索インタフェース102は、選択された検索結果内のリンクを使用して、ソース情報データベース124内のソース情報および/または実行時データメモリ120内の実行時データにアクセスする。検索インタフェースはその後、プロセス制御システムの選択された部分で、概略図キャプチャアプリケーション(図示せず)を開始し得る。
図4は、図1および図2の検索インタフェース例102によって提供される図3のアプリケーション300に検索結果を表示する図1のユーザインタフェース例126を示す。アプリケーション300は、図3のナビゲーションバー302、検索テキストフィールド304、検索カテゴリバー306、フォルダパネル307、ツールバー310、検索結果パネル312、およびプレビューパネル316を含む。さらに、図4は、アプリケーション300が詳細検索パネル404を表示するようになる詳細検索ボタン402をユーザが選択したことを示す。
詳細検索パネル例404は、ユーザがより的確にかつ/またはより具体的に検索パラメータを提供できるようにする。図示例の詳細検索パネル404は、検索を実施するプロセス制御システム104内の位置を指定するためユーザによって使用される得る領域フィールド406を含む。いくつかの例では、領域フィールド406は、デフォルトでは、ユーザの制御範囲に設定され得る。詳細検索パネル404は、ユーザが、ドキュメントのタイプ、ソース情報のタイプ、および/またはプロセス制御情報のタイプに関連するプロセス制御情報を検索できるようにするタイプフィールド408を含む。さらに、詳細検索パネル404は、ユーザが検索エンジン224に、検索インデックスデータベース122にインデックス作成されていないプロセス制御情報を他のワークステーションおよび/または他のプロセス制御コンポーネントで検索するよう指示することを選択し得る包含セレクタ(inclusion selector)410を含む。
詳細検索パネル404は、ユーザが、検索を実行する検索パラメータのタイプを選択できるようにする基準フィールド412も含む。いくつかの例では、ユーザは、基準フィールド412を使用して、詳細検索パネル404に対してフィールドの追加および/または除去を行い得る。図4の例では、ユーザは、装置名、モジュール名、キーワード、領域、およびタイプを含む検索基準を選択する。他の例では、ユーザは、オブジェクトタイプ、表示名、記述、日付、および/または作者を含む基準を選択し得る。ユーザが装置名検索基準を選択したため、詳細検索パネル404は、ユーザが、検索パラメータとしてプロセス制御のフィールド機器名を入力できる装置名フィールド414を含む。さらに、ユーザがモジュール名検索パラメータを選択したため、詳細検索パネル404は、ユーザが、プロセス制御システム104内のコンポーネントおよび/またはモジュールの識別子を検索パラメータとして入力できるようにするモジュール名フィールド416を含む。その上、詳細検索フィールド404は、ユーザが、プロセス制御情報に含まれるテキストおよび/またはプロセス制御情報に関連するメタデータを検索パラメータとして指定できるようにするキーワードフィールド418を含む。また、フィールド406、408、および412は、選択可能な検索パラメータを含むドロップダウンボックスを示す矢印を含む。フィールド406、408、および412は、指定可能な値の数が限られているため、ドロップダウンボックスを含む。例えば、基準フィールド412には、あるタイプの検索基準しか存在しない。別の例では、入出力カードに関連するフィールド機器は、プロセス制御環境100に含まれる入出力カードの名前(例えば、入出力装置118)を持つドロップダウンボックスを含み得る。
フィールド406〜418内にテキストを入力するか、かつ/または情報を選択することにより、ユーザは、検索エンジン224が、検索インデックスデータベース122で一致するインデックス作成されたプロセス制御情報を検索するために使用する検索パラメータを指定する。レンダラ223は、フィールド406〜418に関連する表示コンテキスト情報および/または検索カテゴリバー306で選択されたカテゴリを使用して、検索結果のグラフィック表現のためのテンプレートを決定し得る。さらに、レンダラ223は、フィールド406および418からの検索パラメータがアプリケーション300から送信されると判断して、検索結果パネル312に表示される検索結果の対応するグラフィック表現を生成し得る。
図4の例はまた、選択標識314で示されるとおり、ユーザがArea_40_FCCU Overview検索結果を選択したことも示す。検索インタフェース102は、Area_40_FCCU Overview検索結果に関連するプロセス制御情報がマイクロチャートに対応するデータタイプを持つと判断する。Area_40_FCCU Overview検索結果が選択されると、検索インタフェース102は、Area_40_FCCU Overview検索結果にリンクされているプロセス制御情報のグラフィック表現422を生成する。検索インタフェースはその後、グラフィック表現422をマイクロチャートとしてプレビューパネル316に表示する。この例では、グラフィック表現422は、生じたイベントおよびArea_40_FCCUの操作の進捗を表示する。
図5は、図1および図2の検索インタフェース例102によって提供されるコンテキスト内検索結果を表示する図1のユーザインタフェース例126を示す。ユーザインタフェース126は、制御パネル502を含むオペレータ制御アプリケーション500を含む。ユーザは、制御パネル502を使用して、プロセス制御システム104に関連する条件、イベント、値、動向、および/またはアラームを表示し得る。この例では、ユーザは、機能ボックス506を開くフィールド機器のグラフィック表現504を選択することにより、コンテキスト内検索を実行する。ユーザは、その後、機能ボックス506内のクイック検索オプションを選択することにより、FIC_101フィールド機器504に関連する検索を実行する。クイック検索機能を選択すると、検索パラメータのカテゴリおよび/またはタイプを表示する第2の機能ボックス508が開く。この例では、ユーザは、第2機能ボックス508内のドキュメント検索パラメータを選択する。
他の例では、ユーザは、制御パネル502に表示されている他のフィールド機器、アラーム、イベント、グラフ、値、および/または制御パラメータのいずれかに関連するプロセス制御情報を検索し得る。ユーザはまた、検索パラメータとして複数の選択を使用した検索を実行するために、制御パネル502に表示されている複数の装置、アラーム、イベント、グラフ、値、および/または制御パラメータも選択し得る。例えば、FIC_101フィールド機器504および隣接したPV−919制御パラメータを選択すると、検索インタフェース102が、対応する検索パラメータを使用して検索を実行する。
ユーザインタフェース例126は、FIC_101フィールド機器504に関連する名前および/または識別子ならびにドキュメントデータタイプを検索パラメータとして検索インタフェース102に送信する。また、ユーザインタフェース126は、検索がアプリケーション500から開始された、かつ/または制御パネル502から開始されたことを示すコンテキスト内情報を送信する。レンダラ223は、このコンテキスト内情報を表示コンテキスト情報として使用して、検索結果を表示するための検索結果ボックス510を生成する。この例では、表示コンテキスト情報が、検索がFIC_101フィールド機器504に関するものであって、制御パネル502から開始されたことを示しているため、検索結果は、検索結果パネル(例えば、図3および図4の検索結果パネル312)ではなく、分割された検索結果ボックス内に表示される。さらに、検索エンジン224は、コンテキスト内情報を使用して、FIC_101フィールド機器504および/または制御パネル502に対応するソース情報を検索し得る。
図示例では、検索インタフェース102は、FIC_101フィールド機器504に関連するドキュメントに対応する検索結果を返す。これらの検索結果は、検索結果ボックス510に表示される。検索インタフェース102は、ドキュメントに含まれるメタデータに基づき、Area 40 Safety PracticesドキュメントおよびRefinery Flow Transmittersドキュメントをお気に入りドキュメントのセクションに表示し得る。メタデータは、これらのドキュメントが、FIC_101フィールド機器504に関連するお気に入りであることを示し得る。お気に入りメタデータは、ワークステーション106のユーザおよび/または他のプロセス制御担当者によってドキュメントに追加され得る。
検索結果ボックス510内の検索結果は、検索パラメータに対する関連性の一致に基づいて順序付けされ得る。他の例では、検索結果は、ユーザの役割および/もしくは職務権限の関連性、ならびに/またはオペレータアプリケーション500および/もしくは制御パネル502に対する関連性に基づいてリストされ得る。ユーザは、検索結果ボックス510内の任意の検索結果を選択することにより、検索インタフェースに、その選択された検索結果に関連するリンクを使用して、ソース情報データベース124内のドキュメントにアクセスさせ得る。検索結果インタフェース102は、文書処理アプリケーションでドキュメントのレンダリングも行い得る。
代替として、ユーザは、いずれかの検索結果を選択し、選択された検索結果を検索パラメータとして使用することにより、コンテキスト内検索を実行し得る。図5の例では、ユーザは、Area 40 SOP−FCC Unit Shutdownドキュメントを参照する制御パネル502内の他のフィールド機器についてコンテキスト内検索を実行することを選択し得る。検索インタフェース102は、表示されているArea 40 SOP−FCC Unit Shutdown検索結果に関連する追加のインデックス作成されたプロセス制御情報、アプリケーション500に関連するコンテキスト内情報、フィールド機器504に関連するコンテキスト内情報、および/または制御パネル502に関連するコンテキスト内情報に加え、ドキュメント名を検索パラメータとして使用し得る。
図6および図7は、ユーザのタイプに基づきコンテキスト内検索結果を表示する図1のユーザインタフェース例126を示す。ユーザインタフェース例126は、概略図パネル602を持つエンタープライズアプリケーション600を表示する。概略図パネル602は、図1のフィールド機器112のグラフィック表現を示す。フィールド機器112には、そのフィールド機器112に対する入力および/または出力である識別子(例えば、通気孔)および制御パラメータ(例えば、TC 207)を示すラベルが付けられている。例えば、制御パラメータPT 208およびPC 208は、通信で結合されている通気孔に対する入力である。他の例では、概略図パネル602に表示されているフィールド機器112に関連する実行時データが表示され得る。
図6では、例えば、プロセスエンジニアなどのユーザは、TC 207制御パラメータに関連するプロセス制御情報を探して、コンテキスト内検索を実行する。そのエンジニアは、マウスの右クリックおよび/または他のユーザ入力装置で機能ボックスを開いて検索機能を選択することにより、コンテキスト内検索を実行し得る。検索機能に応じて、アプリケーション600は、ユーザインタフェース126を介して、検索パラメータを検索インタフェース102に送信する。検索パラメータは、アプリケーション600のタイプ、概略図パネル602に関連するコンテキスト内情報、およびTC 207制御パラメータの識別子を含む。検索インタフェース102は、検索インデックスデータベース122の検索を実行して、一致するインデックス作成されたプロセス制御情報を探す。検索インタフェース102は、検索結果ボックス604に表示されている検索結果として、一致するインデックス作成されたプロセス制御情報のレンダリングも行う。検索インタフェース102は、検索がTC 207制御パラメータを選択しているエンジニアから開始されたことを示すコンテキスト内情報、および検索が概略図パネル602から開始されたことを示すコンテキスト内情報に基づいて、検索結果ボックス604内の検索結果のレンダリングを行う。
図示例の検索インタフェース例102は、検索を開始したエンジニアに関連するフィルタ条件に基づいて、検索結果のフィルタリングも行う。検索結果ボックス604は、関連があり、かつ/またはそのエンジニアによって表示する権限が付与されている検索結果を表示する。また、検索結果ボックス604は、検索インタフェース102が、プロセス制御情報のカテゴリおよび/またはタイプに基づいて検索結果を要求したことを示す。例えば、表示タイプに関連する検索結果がグループにまとめられ、動向タイプ情報に関連する検索結果がグループにまとめられ、そして、ドキュメントタイプ情報に関連する検索結果がグループにまとめられている。検索結果ボックス604内に表示可能なスペースよりも多くの検索結果があるので、検索インタフェース102は、各カテゴリに対し、最も関連する検索結果を表示して、各カテゴリ内の総ドキュメント数を示す。エンジニアは、カテゴリ名(例えば、表示(4))を選択することにより、各カテゴリの他の検索結果を表示し得る。
図7は、エンタープライズアプリケーション600および、概略図パネル602にグラフィック表示されたフィールド機器112を示す。この図示例では、例えば、プロセスオペレータなどのユーザが、TC 207制御パラメータのコンテキスト内検索を実行する。検索インタフェース102による検索の結果が、検索結果ボックス702に表示される。図7のユーザのタイプが図6のユーザのタイプと異なっているため、検索結果ボックス702に表示されている検索結果が、図6の検索結果ボックス604に表示されている検索結果と異なる。さらに具体的には、図6のプロセスエンジニアは、図7のプロセスオペレータよりも多くの検索結果を表示することができる。
図7の例では、ユーザタイプがプロセスオペレータであるため、例えば、検索インタフェース102は(例えば、検索フィルタ230を用いて)プロセスオペレータが参照する権限を付与されていない、かつ/またはプロセスオペレータに関連しないプロセス制御情報の検索結果を削除する。例えば、図6の検索結果ボックス604に表示されているいくつかのドキュメントに関連する検索結果は、図7の検索結果ボックス702には表示されていない。この例では、プロセス制御管理は、プロセスオペレータはいくつかのプロセスドキュメントを参照する権限を付与されていないと判断し得る。
図8は、図1および図2の検索インタフェース例102で提供される機能ブロックの検索結果を表示する図1のユーザインタフェース例126を示す。ユーザインタフェース例126は、プロセス制御情報の表示に利用されるエンタープライズアプリケーション800を示す。この例では、ユーザは、図2の検索結果データベース228に保存されている検索基準に関連する検索結果を表示することを選択する。フォルダパネル804は、選択標識806で示されるように、FIC_101 Block検索基準(例えば、検索パラメータ)を選択するため、ユーザに対してファイルディレクトリ内を移動して示す。FIC_101 Blockは、検索基準の名前および/または識別子である。他の例では、フォルダパネル804は、保存されている追加の検索結果を含み得る。
ユーザがFIC_101 block検索基準を選択すると、検索インタフェース102は(例えば、保存検索マネージャ226を用いて)検索結果データベース228から検索基準を検索し、ソース情報および/またはプロセス制御情報の検索を(例えば、検索エンジン224を用いて)実行し、インデックス作成されたプロセス制御情報のデータタイプに基づき検索結果を(例えば、レンダラ223を用いて)レンダリングして、その検索結果を検索結果パネル808に表示する。他の例では、検索インタフェース102は、検索結果パネル808に示された検索結果を保存し得る。ユーザはまた、検索結果パネル808に表示された検索結果を印刷し得る。
ユーザが、保存されている検索基準を特定の方法(例えば、グラフィック概略図形式)で表示されるように構成する例では、検索インタフェース102は、保存されている検索基準に関連する検索結果を、元はユーザによって構成された形式で表示する。さらに、いくつかの例では、検索インタフェース102は、保存されている検索基準を、他のワークステーションに対して利用可能にし得る。このようにして、ユーザは、任意のワークステーションに保存されている検索基準にアクセスし得る。追加または代替として、検索インタフェース102は、検索基準および/または検索パラメータを、プロセス制御環境100内の任意のワークステーションによってアクセス可能なグローバルデータベースに格納し得る。検索基準をプロセス制御環境100内にグローバルに保存することにより、いかなるユーザも保存されているどの検索基準および/または検索結果にもアクセスし得る。
検索結果パネル808に表示されている保存検索基準に関連する検索結果は、第1機能ブロック810、第2機能ブロック812、および第3機能ブロック814を含む機能ブロック図のリストを含む。リストされた機能ブロック810〜814は、機能ブロック名(例えば、名前)、機能ブロックのプロセス制御環境100内の位置(例えば、領域)、および機能ブロックの説明(例えば、説明)を含む。また、機能ブロック810〜814の各々は、FIC_101検索パラメータに対応するFIC_101機能ブロックを含む。この例では、図2のレンダラ223は、検索結果の機能ブロックのファイルタイプに基づくリストとして検索結果を表示する。他の例では、ユーザは、機能ブロック検索結果を機能ブロック810〜814の図として表示することを指定し得る。図示例は、ユーザが機能ブロック810をプレビューすることを選択したことを示し、これは、選択標識816で示されている。
プレビューパネル820は、制御パラメータに対応する入力および出力で実行時データを持つ機能ブロック810を示す。例えば、FIC_101機能ブロックは、BKCAL_IN、INおよびOUT制御パラメータを含む。ユーザが、機能ブロック810をプレビューすることを選択した場合、検索インタフェース102は、実行時データメモリ120および/または検索インデックスデータベース122にアクセスして、FIC_101機能ブロックの制御パラメータに関連する実行時データを探す。検索インタフェース例102はその後、実行時データを含めることにより、プレビューパネル820に表示するため、(例えば、レンダラ223を用いて)機能ブロック810のレンダリングを行う。BKCAL_IN、INおよびOUT制御パラメータに関連する実行時データが、図1および図2のコントローラ108内で変わると、検索インタフェース102は、プレビューパネル820に表示されている実行時データを更新する。
ユーザは、プレビューパネル820内で機能ブロック810を選択することにより、機能ブロックアプリケーションを開くことを選択し得る。機能ブロック810を選択すると、検索インタフェース102が機能ブロック810の検索結果内のリンクを使用して、機能ブロック810に関連するプロセス制御情報の検索、機能ブロックアプリケーションのオープン、および機能ブロックアプリケーション内で機能ブロック810の表示を行う。ユーザはその後、機能ブロック810に関連する追加情報の変更および/または表示を行い得る。
図1〜図2の検索インタフェース102およびインデックスマネージャ103を実装するためのプロセス例900、1000、および1100の代表的な流れ図を、図9A、図9B、図10、図11Aおよび図11Bに示す。この例で、プロセス900、1000、および1100は、機械可読命令を使用し、以下で図12に関連して説明するプロセッサシステム例P10に示されるプロセッサP12などのプロセッサで実行するためのプログラムの形式で実装され得る。そのプログラムは、CD−ROM、フロッピィディスク、ハードドライブ、デジタル多用途ディスク(DVD)、またはプロセッサP12に関連するメモリなどのコンピュータ可読媒体に保存されているソフトウェア内に取り入れられ得るが、プログラム全体および/もしくはその部分は、代替としてプロセッサP12以外の装置によって実行され、および/またはファームウェアまたは専用ハードウェアに取り入れられ得る。また、図9A、図9B、図10、図11A、および図11Bに示される流れ図を参照してプログラム例が説明されるが、検索インタフェース例102およびインデックスマネージャ例103を実施する他の多くの方法が代わりに使用され得る。例えば、ブロックの実行順を変更し得、かつ/または記述されているブロックのいくつかを変更、除去、または結合を行い得る。
上記のように、図9A、図9B、図10、図11A、および図11Bのプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)および/または情報が任意の期間(例えば、長期間、永久的、短時間の場合、一時的なバッファリング用、および/または情報のキャッシング用)保存される他の記憶媒体など、有形のコンピュータ可読媒体上に保存されているコード化命令(例えば、コンピュータ可読命令)を用いて実装され得る。本明細書で使用される場合、有形のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読記憶装置を含み、かつ、伝搬信号を除くことを明示的に定義する。追加または代替として、図9A、図9B、図10、図11A、および図11Bのプロセス例は、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリおよび/または情報が任意の期間(例えば、長期間、永久的、短時間の場合、一時的なバッファリング用、および/または情報のキャッシング用)保存される他の記憶媒体など、非一時的なコンピュータ可読媒体上に保存されているコード化命令(例えば、コンピュータ可読命令)を用いて実装され得る。本明細書で使用される場合、非一時的なコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読媒体を含み、かつ、伝搬信号を除くことを明示的に定義する。
図9Aおよび図9Bのプロセス例900は、ユーザによって提供される少なくとも1つの検索パラメータに基づいて検索結果を表示する。図9Aのプロセス例900は、ユーザインタフェース126内で動作するアプリケーションから少なくとも1つの検索パラメータを受信することにより始まる(例えば、図2のアプリケーションインタフェース220を使用)(ブロック902)。プロセス例900はその後、アプリケーションからフィルタ条件を受信する(例えば、図2のアプリケーションインタフェース220を使用)(ブロック904)。いくつかの例では、フィルタ条件は、少なくとも1つの検索パラメータより前に、および/またはそれと一緒に、送信され得る。プロセス例900は次に、検索パラメータおよび/またはその検索パラメータを送信したアプリケーションに基づいて、表示コンテキストを決定する(例えば、プロセッサ222を使用)(ブロック906)。表示コンテキストは、アプリケーションおよび/またはユーザインタフェース126で送信された任意のコンテキスト内情報に基づいても決定され得る。
プロセス例900はさらに、少なくとも1つの検索パラメータに基づいて、プロセス制御情報の少なくとも1つのデータタイプおよび/またはカテゴリを決定する(例えば、プロセッサ222を使用)(ブロック908)。プロセス例900はその後、検索インデックスデータベース122にアクセスして、少なくとも1つのインデックスで、少なくとも1つの検索パラメータに一致する制御パラメータを検索する(例えば、検索エンジン224を使用)(ブロック910)。プロセス例900は、少なくとも1つの一致する制御パラメータがあるかどうかを判断する(例えば、検索エンジン224を使用)(ブロック912)。少なくとも1つの制御パラメータが少なくとも1つの検索パラメータに一致する場合、プロセス例900は、少なくとも1つの制御パラメータおよび/または対応する実行時データを検索結果のリストに追加する(例えば、検索エンジン224の使用)(ブロック914)。プロセス例900はその後、検索インデックスデータベース122にアクセスして、少なくとも1つの検索パラメータに一致するソース情報をインデックス(複数可)で検索する(例えば、検索エンジン224を使用)(ブロック916)。さらに、少なくとも1つの制御パラメータが少なくとも1つの検索パラメータに一致しない場合(ブロック912)、プロセス例900は検索インデックスデータベース122にアクセスし、インデックス(複数可)でソース情報を検索する(ブロック916)。
図示例のプロセス例900はその後、任意のインデックス作成されたソース情報が少なくとも1つの検索パラメータに一致するかどうかを判断する(例えば、検索エンジン224を使用)(ブロック918)。プロセス例900が、インデックス作成されたソース情報と一致すると判断した場合、プロセス例900はその一致したソース情報を検索結果に追加する(例えば、検索エンジン224を使用)(ブロック920)。他の例では、プロセス900は、ソース情報および実行時データを、制御パラメータを用いて同時に検索し得る。さらに、プロセス例900が、少なくとも1つの検索パラメータに一致するいかなるソース情報および/または制御パラメータも見つけなかった場合、プロセス例900は、検索を開始したユーザに対して検索エラーメッセージを返し得る。
図9Bのプロセス例900は、フィルタ条件に基づき、検索結果からの項目(例えば、個々の検索結果)を解析することで、(例えば、フィルタリングおよび/または除去)実行を継続する(例えば、検索フィルタ230を使用)(ブロック922)。プロセス900は、どの項目が関連性がなく、かつ/または検索を開始したユーザに参照する権限が付与されていないかを判断することにより、項目を解析する。プロセス例900はその後、ブロック906で決定された表示コンテキストに基づき、アプリケーション内で表示するため、検索結果のレンダリングを行う(例えば、レンダラ223を使用)(ブロック924)。いくつかの例では、プロセス900はまた、表示されている検索結果に対して何らかの変更が生じているかどうかを判断するため、検索結果のキャッシュへの格納も行い得る(例えば、表示データマネージャ232を使用)。
プロセス例900はその後、レンダリングした検索結果を、アプリケーションで表示するため、ユーザインタフェース126に送信する(例えば、アプリケーションインタフェース220を使用)(ブロック926)。プロセス例900は、検索結果をアプリケーションに表示する(例えば、ユーザインタフェース126を使用)(ブロック928)。プロセス例900は次に、表示されている検索結果の少なくとも1つがユーザによって選択されているかどうかを判断する(例えば、アプリケーションインタフェース220を使用)(ブロック930)。少なくとも1つの検索結果の選択が受信されると、プロセス例900は、選択された検索結果内のリンクを使用して、ソース情報データベース124および/または実行時データメモリ120にアクセスし、制御パラメータに対応する実行時データおよび/またはソース情報を取得する(例えば、表示データマネージャ232を使用)(ブロック932)。プロセス例900はその後、選択された検索結果に関連する実行時データおよび/またはソース情報を、アプリケーションのプレビューパネルに表示する(例えば、レンダラ223を使用)(ブロック932)。他の例では、プロセス900は、実行時データおよび/またはソース情報を、実行時データおよび/またはソース情報のタイプに関連する異なるアプリケーションに表示し得る。
図9Bのプロセス例900は、ユーザが、検索基準および/または検索結果の保存を選択しているかどうかを判断することで、実行を継続する(例えば、保存検索マネージャ226を使用)(ブロック934)。また、プロセス例が、ユーザが少なくとも1つの検索結果のプレビューを選択していないと判断した場合(ブロック930)、プロセス例900は、ユーザが検索基準の保存を選択しているかどうかを判断する(ブロック934)。プロセス例900が、ユーザが検索基準の保存を選択していないと判断した場合(ブロック934)、図9Aのプロセス900例は、新しい検索を実行するための少なくとも1つの新しい検索パラメータを受信する(ブロック902)。他の例では、ユーザが、検索結果が表示されているアプリケーションを閉じると、プロセス900は終了し得る。
プロセス例900が、ユーザが検索基準の保存を選択していると判断した場合、プロセス900は検索パラメータおよび/または検索結果を検索結果データベース228に格納する(例えば、保存検索マネージャ226を使用)(ブロック936)。プロセス例900はその後、保存されている検索基準を公開の検索結果データベースに昇格すべきかどうかを判断する(例えば、保存検索マネージャ226を使用)(ブロック938)。公開の検索結果データベースは、プロセス制御環境100内の任意のユーザがアクセス可能なデータベースを含む。プロセス例900は、ユーザがその検索結果をアクセスする頻度、検索結果の範囲、および/または期間に基づき、その検索基準が昇格されるべきかどうかを判断する。例えば、プロセス900は、保存されている検索基準を公開データベースに毎日昇格し得る。
プロセス例900が検索基準を昇格しない場合、プロセス900は、新しい検索を実行するため、少なくとも1つの新しい検索パラメータの受信に戻る(ブロック902)。しかし、プロセス例900が検索基準を公開の検索結果データベースに格納する予定の場合、プロセス例900は、少なくとも1つの検索パラメータを含む検索基準を公開の検索結果データベースに格納する(例えば、保存検索マネージャ226を使用)(ブロック940)。プロセス例900はその後、新しい検索を実行するため、少なくとも1つの新しい検索パラメータの受信に戻る(ブロック902)。他の例では、ユーザが、検索結果が表示されているアプリケーションを閉じると、プロセス900は終了し得る。
図10のプロセス例1000は、ユーザが対応する検索結果を選択すると、プロセス制御情報をレンダリングする。例えば、プロセス1000は、図9Aおよび図9Bのプロセス例900がブロック932を実行する時に実行され得る。プロセス例1000は、ユーザによる少なくとも1つの検索結果の選択を受信することにより始まる(例えば、アプリケーションインタフェース220を使用)(ブロック1002)。プロセス例1000はその後、検索インデックスデータベース122にアクセスして、選択された検索結果と、ソース情報データベース124内の対応するソース情報および/または実行時データメモリ120内の1つ以上の制御パラメータに関連する実行時データとの間のリンクを識別する(例えば、表示データマネージャ232を使用)(ブロック1004)。他の例では、保存されているプロセス制御情報へのリンクは、選択された検索結果に含まれ得る。
プロセス例1000は次に、選択された検索結果がソース情報および/または制御パラメータに関連するかどうかを判断する(例えば、表示データマネージャ232を使用)(ブロック1006)。選択された検索結果が少なくとも1つの制御パラメータに関連する場合、プロセス例1000は、実行時データメモリ120にアクセスして、少なくとも1つの制御パラメータに関連する実行時データを取得する(例えば、表示データマネージャを使用)(ブロック1008)。他の例では、プロセス1000は、検索インデックスデータベース122にアクセスして、少なくとも1つの制御パラメータに関連するインデックス作成された実行時データを取得する。図示例のプロセス例1000はその後、少なくとも1つの制御パラメータに関連する実行時データをレンダリングする(例えば、レンダラ223を使用)(ブロック1010)。実行時データのレンダリングには、実行時データを表示するためのテンプレート(例えば、チャート、グラフ、データフィールドなど)の選択および/または実行時データを表示するためのアプリケーションのオープンを含み得る。プロセス例1000は次に、そのレンダリングされた実行時データを、検索が開始されたアプリケーションのプレビューペインに表示する(例えば、ユーザインタフェース126を使用)(ブロック1012)。他の例では、プロセス1000は、実行時データを表示するために別のアプリケーションを開き得る。プロセス例1000はその後、終了し得る。そうでない場合、プロセス例1000は、別の検索結果の選択の受信に戻り得る(ブロック1002)。
プロセス例1000が、選択された検索結果がソース情報に関連すると判断した場合(ブロック1006)、プロセス1000はソース情報データベース124にアクセスして、選択された検索結果に関連するドキュメントおよび/または情報を取得する(例えば、表示データマネージャ232を使用)(ブロック1014)。いくつかの例では、選択された検索結果は、ソース情報および少なくとも1つの制御パラメータの両方を含み得る。これらの例では、プロセス1000は、制御パラメータ(複数可)についてブロック1008〜1012を実行し、一方、ソース情報についてはブロック1014〜1018を実行する。プロセス例1000は次に、ドキュメントおよび/または情報をレンダリングする(例えば、レンダラ223を使用)(ブロック1016)。ドキュメントおよび/または情報をレンダリングするには、そのドキュメントおよび/または情報を表示するためのアプリケーションのオープンを含み得る。そのアプリケーションは、プレビューパネル内に、および/またはユーザインタフェース126内に別のアプリケーションとして開かれ得る。プロセス例1000はその後、レンダリングされたドキュメントおよび/または情報を表示する(例えば、ユーザインタフェース126を使用)(ブロック1018)。プロセス例1000はその後、終了し得る。そうでない場合、プロセス例1000は、別の検索結果の選択の受信に戻り得る(ブロック1002)。
図11Aおよび図11Bのプロセス例1100は、図1および図2のコントローラ108によって生成された実行時データのインデックスを作成する。プロセス例1100は、まず、実行時データの生成を行う(例えば、コントローラ108を使用)(ブロック1102)。プロセス例1100はその後、実行時データを制御パラメータに関連付ける(例えば、コントローラ108を使用)(ブロック1104)。プロセス例1100はまた、実行時データを実行時データメモリ120に格納する(例えば、インデックスマネージャ103を使用)(ブロック1106)。プロセス例1100は次に、実行時データのインデックス作成を行うために所定の条件が存在するかどうかを判断する(例えば、実行時データ受信機202を使用)(ブロック1108)。所定の条件は、コントローラ108からの実行時データおよび関連する制御パラメータの受信を含み得る。所定の条件はまた、例えば、実行時データをアクセスするための、コントローラ108および/または実行時データメモリ120の定期的なアクセスも含み得る。所定の条件が満足されない場合、プロセス例1100は、実行時データの生成に戻る(ブロック1102)。いくつかの例では、プロセス1100は、図11Aおよび図11Bに示す他の機能ブロックを実行しながら、実行時データの生成、制御パラメータと実行時データの関連付け、および実行時データの保存(ブロック1102〜1106)を同時に行う。
所定の条件が満足される場合(ブロック1108)、プロセス例1100は、重要度係数に基づき、実行時データに関連する制御パラメータを解析する(例えば、データパーサ204を使用)(ブロック1110)。プロセス例1100は、例えば、重要度係数に基づき、重要度係数によって指定される条件に合致しない制御パラメータを除去および/またはインデックス作成しないことにより、制御パラメータを解析する。例えば、重要度係数は、プロセス制御情報の表示に関連する制御パラメータを含み得る。プロセス制御情報の表示に関連しない制御パラメータは、プロセス例1100によって無視および/または除去され得る。他の例では、重要度係数は、ユーザによって頻繁にアクセスされる制御パラメータを含み得る。
図示例のプロセス例1100はその後、実行時データが以前のインデックス作成された実行時データを置き換えるかどうかを判断する(例えば、データマネージャ206を使用)(ブロック1112)。いくつかの例では、以前インデックス作成された実行時データが表示され得る。実行時データが以前インデックス作成された実行時データを置き換えない場合、プロセス例1100は、対応する制御パラメータを使用して実行時データ用のインデックスエントリを作成し、その実行時データをインデックスエントリに保存して、そのインデックスエントリを検索インデックスデータベース122内のインデックスに保存する(例えば、データマネージャ206を使用)(ブロック1114)。これは、保存される特定のインデックス実行時データの最初のインスタンスであるため(例えば、制御パラメータのインデックスを作成する最初のインスタンス)、プロセス例1100は、制御パラメータが検索結果に表示されているかどうかを判断する必要がない。それ故、プロセス例1100は、実行時データの生成に戻る(ブロック1102)。
しかし、対応する制御パラメータが既にインデックス作成されたことを示して、実行時データが以前にインデックス作成された実行時データを置き換える場合、プロセス例1100は、検索インタフェース102(例えば、データ表示マネージャ232)に、実行時データが置き換えおよび/または変更されていることを示す命令を送信する(例えば、データマネージャ206を使用)(ブロック116)。別の例では、検索インタフェース102は、実行時データが変わっているかどうかを判断するために、検索インデックスデータベース122にアクセスし得る。プロセス例1100はその後、変更された実行時データで検索インデックスデータベース122を更新する(例えば、データマネージャ206を使用)(ブロック1118)。
図11Bのプロセス例1100は、制御パラメータが、ユーザインタフェース126に検索結果として表示されるかどうかを判断することで、実行を継続する(例えば、表示データマネージャ232を使用)(ブロック1120)。変更された実行時データに関連する制御パラメータが検索結果として表示されない場合、プロセス例1100は、実行時データの生成に戻る(ブロック1102)。しかし、制御パラメータが検索結果として表示される場合、プロセス例1100は、ユーザインタフェース126で表示されるアプリケーションに表示された検索結果を更新するため、変更された実行時データを持つ制御パラメータをレンダリングする(例えば、レンダラ223を使用)(ブロック1122)。プロセス例1100は次に、アプリケーションに表示されている検索結果を更新する(例えば、レンダラ223および/またはアプリケーションインタフェース220を使用)(ブロック1124)。プロセス例1100はその後、実行時データの生成に戻る(ブロック1102)。
図12は、本明細書で説明する方法および装置の例を実施するために使用され得るプロセッサシステム例P10のブロック図である。例えば、プロセッサシステム例P10と同様または等しいプロセッサシステムが、実行時データ受信機例202、データパーサ例204、データマネージャ例206、ソース情報マネージャ例208、実行時データメモリ例120、検索インデックスデータベース例122、ソース情報データベース例124、アプリケーションインタフェース例220、プロセッサ例222、レンダラ例223、検索エンジン例224、保存検索マネージャ例226、検索結果データベース例228、検索フィルタ例230、表示データマネージャ例232、ワークステーションインタフェース例234、ならびに/またはより一般的に、図1および/もしくは図2の検索インタフェース例102および/もしくはインデックスマネージャ103の実施に使用され得る。プロセッサシステム例P10は、複数の周辺機器、インタフェース、チップ、メモリなどを含むとして後述されているが、1つ以上のそれらの要素は、1つ以上の実行時データ受信機例202、データパーサ例204、データマネージャ例206、ソース情報マネージャ例208、実行時データメモリ例120、検索インデックスデータベース例122、ソース情報データベース例124、アプリケーションインタフェース例220、プロセッサ例222、レンダラ例223、検索エンジン例224、保存検索マネージャ例226、検索結果データベース例228、検索フィルタ例230、表示データマネージャ例232、ワークステーションインタフェース例234、ならびに/またはより一般的に、検索インタフェース例102および/もしくはインデックスマネージャ103の実施に使用される他のプロセッサシステム例から削除され得る。
図12に示すとおり、プロセッサシステムP10は、相互接続バスP14に結合されているプロセッサP12を含む。プロセッサP12は、レジスタセットまたはレジスタスペースP16を含み、それは、図12では完全にオンチップとして描かれているが、代わりに、完全にまたは部分的にオフチップとして配置し、専用の電気接続および/または相互接続バスP14を経由してプロセッサP12に直接結合し得る。プロセッサP12は、任意の適切なプロセッサ、プロセス装置またはマイクロプロセッサであり得る。図12には示していないが、システムP10は、マルチプロセッサシステムでもよく、それ故、プロセッサP12と同一または同様であって、相互接続バスP14に通信で結合されている1つ以上の追加のプロセッサを含み得る。
図12のプロセッサP12は、チップセットP18に結合されており、そのチップセットはメモリコントローラP20および周辺機器の入出力(I/O)コントローラP22を含む。周知のとおり、チップセットは、通常、入出力およびメモリ管理機能のほかに、チップセットP18に結合されている1つ以上のプロセッサによってアクセス可能であるか、または使用される複数の汎用および/または専用レジスタ、タイマー、などを提供する。メモリコントローラP20は、プロセッサP12(または複数のプロセッサがある場合は複数のプロセッサ)がシステムメモリP24および大容量記憶装置P25にアクセスできるようにする機能を実行する。
システムメモリP24は、例えば、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、フラッシュメモリ、読み取り専用メモリ(ROM)などの、所望の任意のタイプの揮発性および/または不揮発性メモリを含み得る。大容量記憶装置P25は、所望のタイプの大容量記憶装置を含み得る。例えば、プロセッサシステム例P10が、言語ファイルデータベース206および/またはリソースメモリ119(図2)の実装に使用される場合、大容量記憶装置P25は、ハード・ディスク・ドライブ、光学式ドライブ、テープ記憶装置などを含み得る。あるいは、プロセッサシステム例P10が、実行時データメモリ120、検索インデックスデータベース122、ソース情報データベース124、および/または検索結果データベース228の実装に使用される場合、大容量記憶装置P25は、ソリッドステートメモリ(例えば、フラッシュメモリ、RAMメモリなど)、磁気メモリ(例えば、ハードドライブ)、または実行時データメモリ120、検索インデックスデータベース122、ソース情報データベース124、および/または検索結果データベース228内の大容量記憶に適した他のメモリを含み得る。
周辺機器の入出力コントローラP22は、プロセッサP12が、周辺機器の入出力バスP32経由で、周辺機器の入出力(I/O)装置P26およびP28ならびにネットワークインタフェースP30と通信できるようにする機能を実行する。入出力装置P26およびP28は、例えば、キーボード、ディスプレイ(例えば、液晶ディスプレイ(LCD)、ブラウン管(CRT)ディスプレイなど)、ナビゲーション機器(例えば、マウス、トラックボール、容量性タッチパッド、ジョイスティックなど)などの所望の任意のタイプの入出力装置であり得る。ネットワークインタフェースP30は、例えば、プロセッサシステムP10が別のプロセッサシステムと通信できるようにするイーサネット(登録商標)装置、非同期転送モード(ATM)装置、802.11装置、DSLモデム、ケーブルモデム、セルラーモデムなどであり得る。
図12では、メモリコントローラP20および入出力コントローラP22は、チップセットP18内にある別の機能ブロックとして表されているが、これらのブロックで実行される機能は、単一の半導体回路に統合し得るか、または2つ以上の別個の集積回路を用いて実装し得る。
前述した方法例および/または装置例の少なくともいくつかは、コンピュータプロセッサ上で実行する1つ以上のソフトウェアおよび/またはファームウェアプログラムで実装される。しかし、特定用途向け集積回路、プログラマブル・ロジック・アレイおよび他のハードウェア装置を含むがこれらに限定されない専用ハードウェアの実装は、同様に、全体または一部のいずれかにおいて、本明細書で説明する方法例および/または装置例の一部または全てを実装するように構成可能である。さらに、分散処理またはコンポーネント/オブジェクト分散処理、並列処理、または仮想マシン処理を含むがこれらに限定されない代替ソフトウェアの実装も、本明細書で説明する方法例および/または装置例を実装するように構成可能である。
本明細書で説明するソフトウェア例および/またはファームウェア例の実装は、例えば、磁気媒体(例えば、磁気ディスクまたはテープ)、光ディスクなどの光磁気または光媒体、または、メモリカードもしくは1つもしくは複数の読み取り専用(不揮発性)メモリ、ランダムアクセスメモリ、もしくは他の書き換え可能(揮発性)メモリを内蔵する他のパッケージなどのソリッドステートメディア、などの有形の記憶媒体に保存されることも留意されたい。それ故、本明細書で説明するソフトウェアおよび/またはファームウェアの例も、前述のような有形の記憶媒体または後継の記憶媒体に保存可能である。特定の規格およびプロトコルに関連して、前述の明細書でコンポーネントおよび機能の例を説明する範囲内で、本特許の範囲がかかる規格およびプロトコルに限定されないことを理解されたい。
さらに、本特許は、ハードウェア上で実行されるソフトウェアまたはハードウェアを含む方法および装置の例を開示するが、かかるシステムは例示に過ぎず、制限するものと見なすべきでないことに留意されたい。例えば、これらハードウェアおよびソフトウェアコンポーネントの一部または全ては、ハードウェアのみ、ソフトウェアのみ、ファームウェアのみ、またはハードウェア、ファームウェア、および/もしくはソフトウェアのいくつかの組み合わせで実施し得ると考えられる。したがって、前述の本明細書では、方法例、システム例、および機械アクセス可能媒体例を説明したが、それらの例は、かかるシステム、方法および機械アクセス可能媒体を実装するための唯一の方法ではない。それ故、ある方法、システム、および機械アクセス可能媒体の例が本明細書で説明されているが、本特許の対象とする範囲は、それらに限定されるものでない。それどころか、本特許は、文字通りまたは均等論のいずれかにより、添付の請求項の範囲に公正に含まれる全ての方法、システム、および機械アクセス可能媒体に及ぶ。