"プロセス制御システム内のデバイスと通信するための方法であって、前記方法は、前記プロセス制御システム内の前記デバイスと通信するためのサービスであって、前記プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを有する、サービスを呼び出すことと、前記サービスを実装するために、1つ以上のネットワーク動作を前記サービスに変換することであって、前記ネットワーク動作が前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化している、前記サービスを変換することと、前記1つ以上のネットワーク動作に従って前記デバイスと通信するために、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することと、を含む、方法。前記サービスは、複数のサービスを提供するサービスレイヤによって、サービス契約として明らかになりexposed、前記複数のサービスのそれぞれは、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係であり、前記複数のサービスのそれぞれは、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数の異なるプロセス制御システム内のデバイスとの通信をサポートする、請求項1に記載の方法。前記サービスを呼び出すことは、前記サービスを呼び出すために、メッセージベースのサービスインターフェースを定義する複数のメッセージのうちの1つ以上を使用することを含み、前記複数のメッセージは、複数のサービスメッセージタイプおよび複数のサービスデータタイプを含み、前記複数のサービスメッセージタイプおよび前記複数のサービスデータタイプは、いかなるプロセス制御ネットワークプロトコルとも無関係である、請求項1に記載の方法。前記サービスを実装するために、1つ以上のネットワーク動作へ前記サービスを変換することは、前記プロセス制御ネットワークプロトコルに特化したネットワーク動作のシーケンスへ、前記サービスを変換することと、ネットワーク動作の前記シーケンスのどれが、前記サービスを実装するために実行されたかを追跡するために、ネットワーク動作の前記シーケンスの状態を維持することと、を含む、請求項1に記載の方法。前記サービスを実装するために、1つ以上のネットワーク動作へ前記サービスを変換することは、前記1つ以上のネットワーク動作を作成するために、前記デバイスのデバイス記述を読み込むことを含む、請求項1に記載の方法。前記デバイス記述は、電子デバイス記述言語または共通のファイルフォーマットのうちの少なくとも1つで格納される、請求項5に記載の方法。前記ネットワークに特化したインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプ、または前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したオブジェクト辞書のうちの少なくとも1つを含むネットワークアプリケーションプログラミングインターフェースを含む、請求項1に記載の方法。前記デバイスからの応答を受信することであって、前記応答は、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化した第1のフォーマットである、応答を受信することと、前記応答を、前記第1のフォーマットから、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係な第2のフォーマットへ変換することと、前記応答を、前記第2のフォーマットから、前記応答を受信するためのアプリケーションに特化した第3のフォーマットへ転換するために、アダプタを呼び出すことと、をさらに含む、請求項1に記載の方法。前記サービスを呼び出すことの前に、アプリケーションを認証することをさらに含む、請求項1に記載の方法。前記サービスを呼び出す際に実行されたユーザ承認に基づき、前記デバイスとの通信を制限することをさらに含む、請求項1に記載の方法。前記サービスは、メッセージをデバイスに送信し、前記デバイスから対応する応答を受信するための第1のサービス、前記デバイスによって返された発行されたデータを購読するsubscribetoための第2のサービス、前記デバイスによって返された受信されたイベントへの第3のサービス、前記プロセス制御システムと、前記プロセス制御システムを実装する、前記デバイスを含む複数のデバイスとを記述する情報を取得するための第4のサービス、制御パラメータ値を前記デバイスへ書き込むための第5のサービス、のうちの少なくとも1つに対応する、請求項1に記載の方法。前記サービスは、非同期的に送信された1つ以上のメッセージを使用して呼び出され、前記ネットワークインターフェースは、データを前記デバイスから取得するために同期ポーリングを実装する、請求項1に記載の方法。実行された場合に、機械に、少なくとも、プロセス制御システム内のデバイスと通信するためのサービスであって、前記プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを有するサービスを呼び出すことと、前記サービスを実装するための、1つ以上のネットワーク動作であって、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化しているネットワーク動作に、前記サービスを変換することと、前記1つ以上のネットワーク動作に従って、前記デバイスと通信するために、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することと、を行わせる、機械可読命令を格納する、有形の製品。前記サービスは、複数のサービスを提供するサービスレイヤによって、サービス契約として明らかになり、前記複数のサービスのそれぞれは、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係であり、前記複数のサービスのそれぞれは、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数の異なるプロセス制御システム内のデバイスとの通信をサポートし、前記機械可読命令は、実行された場合に、さらに、前記機械に、前記サービスを呼び出すために、メッセージベースのサービスインターフェースを定義する複数のメッセージのうちの1つ以上を使用して前記サービスを呼び出させ、前記複数のメッセージは、複数のサービスメッセージタイプおよび複数のサービスデータタイプを含み、前記複数のサービスメッセージタイプおよび前記複数のサービスデータタイプは、いかなるプロセス制御ネットワークプロトコルとも無関係である、請求項13に記載の有形の製品。前記機械可読命令は、実行される場合に、さらに、前記サービスを、前記プロセス制御ネットワークプロトコルに特化したネットワーク動作のシーケンスに変換することと、ネットワーク動作の前記シーケンスを作成するために、前記デバイスのデバイス記述を読み込むことと、前記サービスを実装するために、ネットワーク動作の前記シーケンスのどれを実行したかを追跡するために、ネットワーク動作の前記シーケンスの状態を維持することと、によって、前記サービスを実装するために、前記機械に、前記サービスを1つ以上のネットワーク動作へ変換させる、請求項13に記載の有形の製品。前記ネットワークに特化したインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプまたは前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したオブジェクト辞書のうちの少なくとも1つを含む、ネットワークアプリケーションプログラミングインターフェースを含む、請求項13に記載の有形の製品。プロセス制御システム内のフィールドデバイスと通信するための装置であって、前記装置は、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数のプロセス制御システム内の複数のフィールドデバイスと通信するためのサービス指向フレームワークを実装するためのプロセッサであって、前記サービス指向フレームワークは、前記複数のフィールドデバイスと通信するための複数のサービスを実装するサービスレイヤであって、それぞれのサービスは、前記複数のプロセス制御システムを実装するために使用された前記複数のプロセス制御ネットワークプロトコルのいずれとも無関係である各汎用インターフェースを有する、サービスレイヤと、複数の変換レイヤであって、各変換レイヤは、前記各サービスを実装するために、ネットワーク動作の各シーケンスへ、前記複数のサービス内の各サービスを変換し、ネットワーク動作の前記各シーケンスは、前記各変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している、変換レイヤと、前記複数のプロセス制御システムを実装するために使用された前記複数のプロセス制御ネットワークプロトコルのそれぞれに特化した複数のネットワークインターフェースを提供するために、前記複数の変換レイヤとそれぞれ関連付けられた複数のネットワークレイヤと、を備えるサービス指向フレームワークである、プロセッサと、クライアントデバイスによって実装されたアプリケーションを、前記プロセッサによって実装された前記サービスレイヤと通信可能に結合するためのインターフェースと、を含む、装置。各サービスは、前記サービスレイヤによって、各サービス契約として明らかになり、各サービスは、前記複数の異なるプロセス制御ネットワークプロトコルを使用して実装された前記複数の異なるプロセス制御システム内の前記複数のフィールドデバイスとの通信をサポートし、各サービスは、前記複数のサービスのそれぞれを呼び出すために、メッセージベースのサービスインターフェースを定義する複数のメッセージのうちの1つ以上を使用して呼び出され、前記複数のメッセージは、複数のサービスメッセージタイプおよび複数のサービスデータタイプを含み、前記複数のサービスメッセージタイプおよび前記複数のサービスデータタイプは、いかなるプロセス制御ネットワークプロトコルとも無関係である、請求項16に記載の装置。第1の変換レイヤは、それによって前記第1のサービスが、ネットワーク動作の前記第1のシーケンスを作成するために通信する、第1のフィールドデバイスのためのデバイス記述を読み込むことと、前記第1のサービスを実装するために、ネットワーク動作の前記第1のシーケンスのどれが実装されたかを追跡するために、ネットワーク動作の前記第1のシーケンスの状態を維持することと、によって、第1のサービスをネットワーク動作の第1のシーケンスに変換する、請求項16に記載の装置。第1のネットワークレイヤによって提供された第1のネットワークに特化したインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプ、または第1のプロセス制御システムを実装するために使用された第1のプロセス制御ネットワークプロトコルに特化したオブジェクト辞書のうちの少なくとも1つを含むネットワークアプリケーションプログラミングインターフェースを含む、請求項16に記載の装置。本明細書に記載される例示的な方法、装置、および製品は、概して、プロセス制御システムに関し、より詳細には、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークに関する。本明細書に開示される例において、プロセス制御システム内のデバイスと通信するための方法は、プロセス制御システム内のデバイスと通信するためのサービスを呼び出すことを含み、サービスは、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを提供する。例示的な方法は、さらに、サービスを実装するために、サービスを1つ以上のネットワーク動作へ変換することを含み、ネットワーク動作は、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化している。さらに、例示的な方法は、1つ以上のネットワーク動作に従ってデバイスと通信するために、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することを含む。本明細書に開示される別の例において、有形の製品は、実行された場合に、機械に、少なくとも、プロセス制御システム内のデバイスと通信するために、サービスを呼び出させる機械可読命令を格納し、サービスは、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに無関係な汎用インターフェースを提供する。機械可読命令は、実行された場合に、さらに、機械に、少なくとも、サービスを実装するために、1つ以上のネットワーク動作へサービスを変換させ、ネットワーク動作は、プロセス制御システムを実装するために使用されたプロセス制御ネット枠プロトコルに特化している。機械可読命令は、実行された場合に、さらに、機械に、少なくとも、1つ以上のネットワーク動作に従ってデバイスと通信するために、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用させる。本明細書に開示されるさらに別の例において、プロセス制御システム内のフィールドデバイスと通信するための装置は、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数のプロセス制御システム内の複数のフィールドデバイスと通信するためのサービス指向フレームワークを実装するためのプロセッサを含む。いくつかの例において、サービス指向フレームワークは、複数のフィールドデバイスと通信するための複数のサービスを実装するサービスレイヤを含み、それぞれのサービスは、複数のプロセス制御システムを実装するために使用された複数のプロセス制御ネットワークプロトコルのいずれとも無関係である各汎用インターフェースを提供する。いくつかの例において、サービス指向フレームワークは、さらに、複数の変換レイヤを含み、各変換レイヤは、各サービスを実装するために、ネットワーク動作の各シーケンスへ、複数のサービス内の各サービスを変換するためのものであり、ネットワーク動作の各シーケンスは、各変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している。いくつかの例において、サービス指向フレームワークは、さらに、複数のプロセス制御システムを実装するために使用された複数のプロセス制御ネットワークプロトコルのそれぞれに特化した複数のネットワークインターフェースを提供するために、複数の変換レイヤとそれぞれ関連付けられた複数のネットワークレイヤを含む。例示的な装置は、さらに、プロセッサによって実装されたサービスレイヤと共に、クライアントデバイスによって実装されたアプリケーションを通信可能に結合するためのインターフェースも含む。以下において、他のコンポーネントの中でも、ハードウェアで実行されるソフトウェアおよび/またはファームウェアを含む、例示的な方法、装置、および製品を記載するが、これらの例は例示的なものにすぎず、制限的なものとして考えられるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのいずれかまたは全てを、ハードウェアのみ、ソフトウェアのみ、またはハードウェアおよびソフトウェアの任意の組み合わせにおいて実現できる可能性があることが意図される。従って、以下において、例示的な方法、装置、および製品を説明するが、当業者は、示されている例が、かかる方法、装置、および製品を実装する唯一の方法ではないことを容易に理解するであろう。例えば、例示的な方法、装置、および製品が、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークの実装に関連して記載されているが、例示的な方法、装置、および製品は、より一般的に適用可能であり、いずれかの自動化システム、バッチ処理システム、製造システム、工業制御システム、安全計装システム等の利用のために実装されてもよい。多くの異なる種類のプロセス制御ネットワークプロトコルを、プロセス制御システムの実装のために使用できる。かかるプロセス制御ネットワークプロトコルの例には、FoundationFieldbusプロトコル、Profibusプロトコル、HARTプロトコル等を含むが、これらに制限されない。上記のように、プロセス制御システムは、情報を処理するために1つ以上のクライアントワークステーション上で実行する1つ以上のクライアントアプリケーションを利用でき、プロセス制御システム内のフィールドデバイスと相互作用できる。しかしながら、以前のプロセス制御システムにおいて、かかるクライアントアプリケーションは、一般的には、特定のプロセス制御システムを実装するために使用される特定のプロセス制御ネットワークプロトコルを対象としている。このため、以前のプロセス制御システムで使用されるクライアントアプリケーションは、改訂する必要がある場合があり、また、異なる例えば新しいプロセス制御ネットワークプロトコルがプロセス制御制御システムで利用される場合には、再書き込みされる必要がある場合があり、こうした以前のクライアントアプリケーションは、異なるプロセス制御ネットワークプロトコルを利用する異なるプロセス制御システムにわたって移動が可能ではない場合がある。対照的に、本明細書に記載される例示的な方法、装置、および製品は、クライアントアプリケーション例えばプロセス制御アプリケーションが、クライアントアプリケーションが利用されるプロセス制御システムを実装するために使用されたいかなる特定のプロセス制御ネットワークプロトコルとも無関係にできるようにする、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークを実装する。いくつかの例において、サービス指向フレームワークは、フィールドデバイス統合FDI規格に照らして実装される。本明細書に記載される例示的なサービス指向フレームワークは、サービスレイヤ、1つ以上の変換レイヤ、および1つ以上の変換レイヤにそれぞれ関連付けられた1つ以上のネットワークレイヤを含む。かかる例において、サービスレイヤは、1つ以上のプロセス制御システム内の1つ以上のフィールドデバイスと通信するために、1つ以上のプロセス制御サービスを実装する。各サービスは、フィールドデバイスが常駐できる任意のプロセス制御システムを実装するために使用されたいかなるプロセス制御ネットワークプロトコルとも無関係な汎用インターフェースを提供する。言い換えると、サービスレイヤによって実装されたサービスは、ネットワークプロトコルにとらわれることがない。サービス指向フレームワークによって実装されたプロセス制御サービスの例は、1フィールドデバイスにメッセージを送信し、デバイスからの対応する応答を受信するためのサービス、2フィールドデバイスによって返された発行されたデータを購読するためのサービス、3フィールドデバイスによって返されたイベントを受信するためのサービス、4プロセス制御システムおよびプロセス制御システムを実装するフィールドデバイスのグループを記述する情報を取得するためのサービス、5フィールドデバイスへ制御パラメータ値を書き込むためのサービス、等を含むが、これらに制限されない。例示的なサービス指向フレームワークに含まれる1つ以上の変換レイヤは、それぞれ、各プロセス制御ネットワークプロトコルを対象としている。このため、特定の変換レイヤは、サービスレイヤによって提供される各サービスを、各サービスを実装するためのネットワーク動作の各シーケンスへと変換し、ここで、ネットワーク動作の各シーケンスは、特定の変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している。いくつかの例では、変換レイヤは、フィールドデバイスに対するデバイス記述を読み、そのフィールドデバイスにより、サービスは、サービスを実装するために使用されるネットワーク動作の特定のシーケンスを作成するために通信することである。いくつかの例において、変換レイヤは、さらに、または、代替的に、サービスを実装するために実行される際に、ネットワーク動作のシーケンスを追跡するために特定のサービスを実装するために使用されたネットワーク動作の特定のシーケンスの状態を維持する。例示的なサービス指向フレームワークに含まれる1つ以上のネットワークレイヤは、さらに、各プロセス制御ネットワークプロトコルを対象としている。例えば、特定のネットワークレイヤは、変換レイヤによってサポートされる特定のプロセス制御ネットワークプロトコルに特化した関連付けられた変換レイヤのためのネットワークインターフェースを提供する。ネットワークインターフェースは、通信トランザクション例えばコマンド、応答等が、特定のサービスを実装するために変換レイヤによって決定される特定のネットワーク動作シーケンス例えばこれを実行すること、実装すること、等に従って、特定のプロセス制御ネットワークプロトコルをサポートする1つ以上のフィールドデバイスで置き換えることを可能にする。図を参照すると、図1は、例示的なプロセス制御システム102内のフィールドデバイスと通信するためのサービス指向フレームワークを実装するために、FDIサーバ106を含む例示的なプロセス制御環境100を示す、ブロック図である。例示的な制御環境100は、プロセス制御システム102および/または他の制御システム図示せずに通信可能に結合されてもよいさらなるクライアント図示せずを含んでもよい。クライアント104例えば、ターミナル、ワークステーション、パーソナルコンピュータ等、例示的な制御システム102、および/またはフィールドデバイス統合FDIサーバ106は、FDI規格を使用して通信する。FDIサーバ106は、HART、FoundationFieldbus、および/またはProfibusを含む異なる規格を使用して動作する、異なるネットワーク上のデバイスとインターフェースを取る。概して、FDIは、デバイスの製造者および/またはサプライヤが、デバイスが本来意図されたおよび/または構築された規格に関係なく、均一にデバイスを管理するために、顧客によって使用可能なツールセットを構築できるようにするための仕様を提供する。FDIは、標準的な電子デバイス記述言語EDDLのテキストベースのファイル例えば、XMLファイルが、デバイス、デバイスによって提供された方法、デバイスによってサポートされる測定およびデバイスパラメータ、デバイスのための構成情報、および/またはユーザがデバイスと行うことができる相互作用を記述できるようにする、テキストによるデバイス記述方法を含む。以下により詳細に記載されるように、FDIサーバ106は、メッセージバスアーキテクチャおよびサービス指向アーキテクチャに基づいて、サービス指向フレームワークを実装する。メッセージバスアーキテクチャは、サービス指向フレームワークと通信するために、以下に詳細に記載されているように、クライアント104で実行されるアプリケーション120等のアプリケーションの標準的な方法を提供する。メッセージバスアーキテクチャは、通信チャネルを介してメッセージを送受信するメッセージバスと類似している。メッセージバスアーキテクチャは、アプリケーションが、コントローラ、サーバ、デバイス、および/またはその他のアプリケーションの内部動作についての具体的な詳細の全てを必ずしも知らなくても、プロセス制御コントローラ、サーバ、デバイス、および/またはその他のアプリケーションと通信できるようにする。メッセージバスアーキテクチャに加えて、サービス指向アーキテクチャは、一組のサービスとして、プロセス制御機能を提供する。こうしたサービス指向アーキテクチャにおいては、特定のデバイスがサポートするネットワークサービスは、デバイスに関連付けられたデバイス記述において要約される。サービスは、FDI規格の一部として定義されるメッセージベースの相互作用によって実装されるインターフェースを介して呼び出される。メッセージベースの相互作用によってサービスが呼び出されるため、サービスの要求者およびサービス提供者の位置は別々とすることができ、このため、プロセス制御環境100内に分散できる。メッセージバスアーキテクチャとサービス指向アーキテクチャを、サービス指向フレームワークに組み合わせることで、少なくともいくつかの状況において、いくつかの利点を提供できる。例えば、アプリケーションを異なる環境で実行できる例えばMicrosoftWindows登録商標のホストで実行しているアプリケーションは、いくつかのプロセス制御ネットワークプロトコルのうちの1つを使用してプロセス制御埋め込みデバイスとのインターフェースを取ってもよい。別の考えられる利点として、全てのデバイスが全てのサービスをサポートする必要がない。さらに別の考えられる利点として、サービスは、より高いレベルのアプリケーションを、実際のプロセス制御ネットワーク例えばバスプロトコルとは関係なく実装することができる。例示的なクライアント104および例示的なFDIサーバ106は、第1の通信バス108を介して通信される。FDIサーバ106は、通信バス108と同じまたは異なるタイプであってもよい、他の通信バス110、112へ、通信バス108を接続する。FDIサーバ106は、さらに、通信バス112を介して制御システム102とも通信する。このため、クライアント104は、FDIサーバ106ならびに適切な通信バス108および112を介して、制御システム102内のデバイスのいずれかと通信してもよい。いくつかの例において、通信バス108~110は、ローカルエリアネットワークLANプロトコルイーサネット登録商標等、ワイヤレスフィディリティWi-Fiプロトコル例えば米国電気電子技術者協会IEEE802.11ファミリー規格に基づく、セルラ通信ネットワーク、インターネット等を使用して実装してもよく、通信バス112は、FoundationFieldbusプロトコル、Profibusプロトコル、および/またはHARTプロトコルに準拠するように実装されてもよい。さらにまたは代替的に、通信バス108~110のうちの1つ以上を、FoundationFieldbusプロトコル、Profibusプロトコル、および/またはHARTプロトコルに準拠するように実装してもよい。さらにまたは代替的に、通信バス112は、LANプロトコルイーサネット登録商標等、Wi-Fiプロトコル例えばIEEE802.11ファミリー規格に基づく、セルラ通信ネットワーク、インターネット等に準拠するように実装されてもよい。例示的な制御システム102は、製造施設、処理施設、自動化施設、および/または任意の他の種類のプロセス制御構造またはシステムのいずれかの種類を含んでもよい。いくつかの例において、制御システム102は、異なる位置に配置される複数の施設を含んでもよい。さらに、例示的な制御システム102がプロセス制御サブシステム114に関連付けられていても、制御システム102は、さらなるプロセス制御サブシステムを含んでもよい。例示的なプロセス制御サブシステム114は、データバス118を介して、コントローラ116へ通信可能に結合される。プロセス制御サブシステム114は、示されるように、いずれかの数のフィールドデバイス119例えば入力および/または出力デバイスを含んでもよい。フィールドデバイス119は、入力の受信、出力の生成、および/またはプロセスの制御が可能であるプロセス制御コンポーネントの任意の種類を含んでもよい。例えば、フィールドデバイス119は、プロセスを制御するために、例えば、バルブ、ポンプ、ファン、ヒーター、クーラー、および/またはミキサー等の入力デバイスを含んでもよい。さらに、フィールドデバイス119は、プロセスの一部を計測するために、例えば、温度計、圧力計、濃度計、油面計、流量計測装置、および/または蒸気センサ等の出力デバイスを含んでもよい。入力デバイスは、指定されたコマンドを実行し、プロセスに変更を生じさせるために、コントローラ116から命令を受信してもよい。さらに、出力デバイスは、プロセスデータ、環境データ、および/または入力デバイスデータを計測してもよく、プロセス制御情報例えばプロセスデータとして、コントローラ116へ計測したデータを送信してもよい。このプロセスデータは、各フィールドデバイス119からの計測された出力に対応する、変数値例えば、計測されたプロセス変数および/または計測されたクオリティ変数を含んでもよい。図1の図示された例において、例示的なコントローラ116は、データバス118を介して、プロセス制御サブシステム114内のフィールドデバイス119と通信してもよい。データバス118は、プロセス制御サブシステム114内の通信コンポーネントに結合されてもよい。通信コンポーネントは、フィールドデバイス119からデータを受信し、例示的なコントローラ116によって受信できる通信媒体へデータを転換するための入出力カードを含んでもよい。さらに、これらの入出力カードは、データを、コントローラ116から、対応するフィールドデバイス119によって処理できるデータフォーマットへ転換してもよい。一例において、データバス118は、Fieldbusプロトコルまたは他の種類の有線および/もしくはワイヤレス通信プロトコル例えばProfibusプロトコル、HARTプロトコル等を使用して実装されてもよい。コントローラ116は、任意の有線および/またはワイヤレス接続を介して、FDIサーバ106と通信可能に結合される。いくつかの例において、接続は、コントローラ116へのアクセスを制限するために、ファイアウォールおよび/または他のセキュリティ機構を含んでもよい。コントローラ116は、コントローラ116がプロセス制御サブシステム114からプロセスデータを受信すると、FDIサーバ106へプロセスデータを送信してもよい。他の例において、コントローラ116は、定期的な間隔で例えば毎分、毎時間、毎日等、FDIサーバ106へプロセスデータを送信してもよい。あるいは、FDIサーバ106は、コントローラ116からプロセスデータを要求してもよい。プロセスデータを受信すると、図1の例示的なFDIサーバ106は、ファイルシステム図示せず内にプロセスデータを格納する。ファイルシステムは、プロセス制御サブシステム114内のデバイス119に基づいて、および/または、プロセス制御サブシステム114を管理するために、コントローラ116内で動作するルーチン例えばアプリケーションおよび/またはアルゴリズムに基づいて、ディレクトリおよび/またはサブディレクトリを用いて階層的に配設されてもよい。他の例では、ファイルシステムは、制御システム102のオペレータによって配設されてもよい。プロセスデータは、関連付けられたディレクトリおよび/またはサブディレクトリ内のパラメータに格納されてもよい。いくつかの例において、パラメータは、コントローラ116上で動作するルーチンと関連付けられる、またはプロセス制御環境100内のフィールドデバイス出力と関連付けられる変数であってもよい。パラメータは、パラメータに関連付けられたプロセスデータの種類を記述するメタデータを含んでもよい。例示的なクライアント104は、プロセス制御環境100に関連付けられプロセスデータを読み込み、書き出し、および/または購読することが承認されている場合がある個人に関連付けられてもよい。クライアント104は、さらに、遠隔位置からプロセス制御環境100にアクセスする場合がある制御システム102に関連付けられた人員に関連付けられてもよい。クライアント104は、任意の有線および/またはワイヤレス通信媒体例えばインターネットを使用して、FDIサーバ106を介してプロセス制御環境100にアクセスしてもよい。例示的なFDIサーバ106は、プロセスデータが、クライアント104上で動作するクライアントアプリケーション120のユーザによって視認可能になるように、プロセスデータをフォーマットすることができる。図1の例は、インターフェース122内のプロセスデータを示すクライアントアプリケーション120を示す。例えば、クライアントアプリケーション120は、ウェブクライアントディスプレイアプリケーションを含んでもよい。FDIサーバ106は、ウェブページを作成し、かつ/またはテンプレートウェブページにアクセスし、ウェブページ内にデータフィールドを配置または埋め込むことにより、ウェブサーバアプリケーションのためのプロセスデータをフォーマットしてもよい。その後、インターフェース122は、ウェブブラウザを介して、ハイパーテキストマークアップ言語HTML要求および応答を使用してFDIサーバ106内でホストされるウェブページにアクセスすることにより、プロセスデータを表示してもよい。あるいは、FDIサーバ106は、ウェブブラウザ例えばインターフェース122内で実行可能であってもよい、またはクライアント104例えばWindows登録商標オペレーティングシステムアプリケーション、アプリケーションプラグインにネイティブであってもよい、クライアントアプリケーション120において、ウェブアプリケーション例えばActiveX,AdobeFlash商標および/またはSilverlight商標を初期化することにより、クライアントディスプレイアプリケーションのために、プロセスデータをフォーマットしてもよい。いくつかの例において、FDIサーバ106は、クライアントアプリケーション120へプロセスデータを送信する前に、対応するデータフィールドに、プロセスデータを関連付ける。プロセスデータを受信すると、クライアントアプリケーション120は、対応するデータフィールド内のプロセスデータを表示するために、ウェブブラウザ例えばインターフェース122内のディスプレイを作成レンダリングする。図2は、図1の例示的なFDIサーバ106によって、少なくとも部分的に実装されてもよい例示的なサービス指向フレームワーク200のブロック図である。図2に示されるように、サービス指向フレームワーク200は、クライアントアプリケーション202、デバイス記述208、および1つ以上のデバイスネットワーク210と通信する。サービス指向フレームワーク200は、サービスレイヤ212、変換レイヤ214、ネットワークレイヤ216、およびセキュリティレイヤ218を含む。図2の例示的なクライアントアプリケーション202は、デバイスを設定するためのアプリケーション、デバイスの較正および診断を実行するためのアプリケーション、および/または1つ以上のデバイスネットワークに配置されたデバイスから測定値およびイベントを読み込むためのアプリケーションである。クライアントアプリケーション202は、リッチクライアントモデルまたはリッチインターネットモデルに従って実装されるユーザインターフェースUIを含むことができる。例えば、リッチクライアントモデルにおいて、UIは、MicrosoftWindows登録商標または同様のアプリケーションスタイルを利用する。リッチインターネットモデルにおいて、UIは、ウェブブラウザインターフェースまたはウェブブラウザプラグインインターフェース等のウェブスタイルクライアントを利用する。図2に示されるように、クライアントアプリケーション202は、サービスレイヤ212からサービスを要求および利用してもよいサービス顧客206を含む。図1のアプリケーション120に対応する場合がある、クライアントアプリケーション202は、例えば、図1の例示的なクライアント104および/または図11の例示的な処理システム1100上で実行されるコンピュータ可読命令を使用して実装されてもよい。クライアントアプリケーション202は、サービス指向フレームワーク200を介して、プロセス制御サブシステム114に対応する場合がある、デバイスネットワーク210と通信する。サービス指向フレームワーク200は、FDIサーバ106によって実装されたものとして記載されているが、例示的なサービス指向フレームワーク200および/またはフレームワーク200の選択された部分は、代替的に、ネットワーク108、110、および112上のクライアント104、サーバ106、コントローラ116、および/またはデバイス128~136のうちの1つ以上、または任意の組み合わせで実装されてもよいサービスレイヤ212は、サービスインターフェース220、サービスメッセージタイプ222、サービスデータタイプ224、アダプタ226、およびサービス228を含む。サービスレイヤ212によって提供された例示的なサービス228は、デバイス記述208およびデバイスネットワーク210へのアクセスをサポートする。サービス228は、アプリケーションおよび/またはデバイスが、所望の能力または機能を実行するために必要な特定のサービス228を要求できるようにするサービス契約として明らかにされている。いくつかの例において、サービスによって実装された新しい機能を含み、かつ/または新しいメッセージおよびデータタイプを含むためのサービス契約の変更は、既存のサービス契約と下位互換性がなくてもよい。図示される例において、サービスレイヤ212は、サービス228へメッセージベースのインターフェースを提供する、サービスインターフェース220を介してアクセスされる。サービスレイヤ212は、アプリケーションおよび/またはデバイスからのサービス要求を管理し、かつ、クライアントアプリケーション202によって使用するためのサービス契約を変換する。サービスとサービス顧客との間のメッセージを渡すときに、メッセージを各サービス顧客が理解できるフォーマットに変換するために、1つ以上のアダプタ226が使用されてもよい。サービスレイヤ212へのアクセスは、ポリシーによって定義される。ポリシーは、サービス顧客が、サービス、および/またはサービスの要求に関する任意の他の詳細にアクセスするための何らかの接続および/またはセキュリティ要件を決定する方法を提供する。例示的な変換レイヤ214は、通信が望ましいデバイスを含むデバイスネットワーク210または、より一般的には、プロセス制御システムを実装するために使用された特定のプロセス制御ネットワークプロトコルデバイスネットワークプロトコルとして本明細書で称されることもある、HART、Fieldbus、Profibus等をサポートするために、サービスレイヤによって提供されたネットワークに無関係なサービスを変換する。変換レイヤ214は、各サービスを実装するために、サービスレイヤ212によって提供された各ネットワークに無関係なサービス228をネットワーク動作230の各シーケンスへ変換するために、アプリケーションファサード229を含む。特定のサービス228のためのアプリケーションファサード229によって決定されたネットワーク動作230のシーケンスは、変換レイヤ214に関連付けられた特定のプロセス制御ネットワークプロトコル236、および、さらに、サービス228が通信する特定のネットワークコンポーネント231例えばフィールドデバイスにも特化している。変換レイヤ214は、さらに、サービス228の実装のために実行される際に、ネットワークオペレーション230のシーケンスを追跡するために、特定のサービスを実装するために使用されたネットワーク動作230のシーケンスの実行の状態例えば、順序、時間等を維持する。変換レイヤ214は、例えば、開始時において読み込まれるデバイス記述ファイル208からデバイス例えばネットワークコンポーネント231についての情報を受信する。デバイス記述ファイル208は、電子デバイス記述言語EDDL232および/または共通のファイルフォーマット234のデバイスについての情報を含む。例えば、EDDLファイル232は、図1のプロセス制御システム102に含まれるフィールドデバイスの各製造者によって生成されるデバイス挙動を定義するテキストによる記述および論理を表す。EDDLファイル232は、図1のプロセス制御システム102上に含まれるデバイスのデジタルデータシートに類似する可能性がある。従来のプログラミング言語と比較して、EDDLエレメントの柔軟性は、制限されており、また、デバイス記述に特化している。しかしながら、EDD言語の簡略性により、EDDデバイス記述の容易かつ効率的な開発が可能になり、ハードウェアおよびオペレーティングシステムプラットフォームへの独立性が提供され、デバイス動作のための均一的な理念が生じ、解釈による高いロバスト性がもたらされる。概して、EDDL技術は、低程度から平均的な複雑さのデバイスで使用される。共通ファイルフォーマット234は、デバイスおよび/またはアプリケーションについての情報を格納し、ファイルは、システム、ツールセット、アプリケーション、および/または他のデバイスの間で交換されてもよい。いくつかの例において、共通ファイルフォーマット234は、柔軟性があり、タグを使用して事実上無制限の記述を可能にする拡張マークアップ言語XMLを含むスキーマを使用する。ネットワークレイヤ216は、図1のプロセス制御システム102を実装するために使用されたデバイスネットワークのうちの1つ以上と相互作用するためのデータアクセス機能性を含む。図示された例において、ネットワークレイヤ216は、種々のネットワークメッセージタイプ242、ネットワークデータタイプ244、および、おそらくは、特定のプロセス制御ネットワークプロトコル236に特化した1つ以上のオブジェクト辞書246をサポートするネットワークアプリケーションプログラミングインターフェースAPI240を含む。例示的なフレームワーク200は、複数のネットワークレイヤ216および関連付けられた変換レイヤ214を含み、ここで、各変換レイヤ214および関連付けられたネットワークレイヤ216は、特定のデバイスネットワーク210またはより一般的には、特定のプロセス制御システムを実装する特定のデバイスネットワークプロトコル236HART、Fieldbus、およびProfibus等のプロセス制御システムプロトコルとも称されるに特化している。従って、例示的なフレームワーク200およびネットワークアプリケーションレイヤ216は、これらのプロトコルへのいかなる変化をも必要としない。デバイスネットワーク210は、例示的なフレームワーク200に、プロセス制御フィールドデバイスを構成する、デバイス診断にアクセスする、測定値を転送する、アラームおよびイベントを転送する能力、ならびに/またはその他の通信および制御能力を提供するために、それぞれのネットワークプロトコル236およびネットワークサービス238に従って、プロセス制御システム例えば図2のプロセス制御システム102を実装するフィールドデバイスとのインターフェースを取る。サービス指向フレームワーク200によってサポートされるいくつかの例示的な能力は、要求および/または応答、イベントの発行および/または購読、イベントの送信、アプリケーションおよび/またはデバイスのディレクトリの保守、ならびに/またはデバイスへのコマンドの書き込みを含む。サービス指向フレームワーク200は、クライアントアプリケーション202に、サービスレイヤ212を介したこれらの能力へのアクセスを提供する。例えば、サービス指向フレームワーク200は、要求/応答、発行/購読、イベント、ディレクトリ、および書き込み能力について定義されたサービスを有してもよい。いくつかの例において、サービス指向フレームワーク200は、サービスの呼び出しのための非同期コールモデルを利用する。非同期コールの使用は、クライアントプロセスのブロックを回避する。いくつかの例において、バックグラウンド動作の実行のための1つ以上の個別の処理スレッドは、さらに、フィールドデバイスからのデータのポーリングに使用される。このため、フィールドデバイスからのデータの読み込み等のより長く実行される動作は、例えば先行技術のアプリケーションで起こる可能性があるようにUIアプリケーションを実装するプロセススレッドがブロックされることを防ぐために、バックグラウンドのスレッドおよび非同期実行と共に処理できる。いくつかの例において、サービスコールは、クライアントサーバ接続が認証できるように、セキュリティ情報を含むバインディングを使用する。機密情報および通信チャネルを保護するために、インターネットプロトコルセキュリティIPSecおよびセキュアソケットレイヤSSLを、クライアントデバイス104とFDIサーバ106との間のチャネル等の通信チャネルを安全にするために使用できる。データタンパリングを検出するためにデータおよびデジタル署名を保護するための暗号化も利用でき、これらの能力はオンおよびオフにすることを選択できる。例示的な動作において、クライアントアプリケーション202は、圧力トランスミッタ等のデバイスからの圧力の読み取りを要求するために、FDI規格を使用し、汎用例えばネットワークに無関係なインターフェース220を有するサービス228を呼び出す。要求を受信すると、サービスレイヤ212は、変換レイヤ214へ要求を転送する。変換レイヤ214は、圧力トランスミッタが接続されているデバイスネットワークに特化したコマンドを生成し、ネットワークアプリケーションレイヤ216を介してコマンドを送信する。例えば、デバイスネットワークがHARTネットワークである場合、クライアントアプリケーション202は、圧力トランスミッタへコマンドを送信する。これに対し、デバイスネットワークがFieldbusネットワークである場合、クライアントアプリケーション202は、オブジェクト辞書入力を読み込む、または要求する。デバイスネットワークは、圧力トランスミッタへ要求を送信し、ネットワークアプリケーションレイヤ216を介して、デバイスから変換レイヤ214へ応答を返す。変換レイヤ214は、次に、クライアントアプリケーション202によって理解可能である汎用応答フォーマットへ、応答を転換する。いくつかの他の例において、クライアントアプリケーション202は、応答のための特定のフォーマットを必要とする。これらの場合において、クライアントアプリケーション202は、応答がクライアントアプリケーション202に戻される際に、特定のアダプタ226を呼び出すように要求してもよい。いくつかの場合において、デバイスネットワークへのアクセスを制限する必要があってもよい。この要件をサポートするために、サービス指向フレームワーク200は、1つ以上の認証モジュール248および/または承認モジュール250を提供するために、セキュリティレイヤ218を含む。フレームワーク200によってアプリケーション202を認証するための認証モジュール248の実装は、使用されるサービスホストの種類に依存してもよい。このため、サービス指向フレームワーク200は、1つ以上のセキュリティレイヤ218が、フレームワーク200に組み込まれることを可能にする。例えば、サービス指向フレームワーク200がインターネット情報サービスIISにおいてホストされる場合、IISによって提供された認証サポートを使用できる。サービスがWindows登録商標サービスによってホストされる場合、メッセージベースまたはトランスポートベースの認証を使用できる。いくつかの例において、サービス指向フレームワーク200は、ユーザアクセスの承認を提供する。これらの場合、承認モジュール250は、ユーザ、グループ、および役割について、リソース上のアクセス許可を提供するために使用できる。いくつかの例において、例えばプロセス制御アプリケーション202のパフォーマンスを向上させるために、変換レイヤ214の実装は、FDIサーバ106およびクライアントデバイス104にわたって分割される。かかる例において、クライアントデバイス104は、機密情報を含まない変換レイヤ214の部分を実装できるが、FDIサーバ106は、機密情報を含む変換レイヤ214の部分を実装できる。いくつかの例において、FDIサーバ106および/またはクライアントデバイス104は、例えば、プロセス制御アプリケーション202のパフォーマンスを向上させるために、キャッシュを利用する。例えば、クライアントデバイス104は、FDIサーバ106から取得したサービス指向フレームワーク例えばサービス228のコンポーネントをキャッシュできる。さらに、または代替的に、FDIサーバ106は、例えば、外部メモリ、フィールドデバイス自体等から読み出された後で、デバイス記述208をキャッシュできる。さらに、または代替的に、FDIサーバ106は、フィールドデバイスから戻ったデータおよび/またはフィールドデバイスへ書き込まれるデータを、こうしたデータがアプリケーション202に戻る、またはフィールドデバイスに書き込まれるまで、適宜キャッシュできる。いくつかの例において、プログラム構成は、アプリケーションを、アプリケーション全体の再実装または再配備をせずに、より容易に拡張できるように、サービス指向フレームワーク200で利用される。これは、多数のモジュールからアプリケーションを実装し、柔軟に結合されるようにコンポーネントを設計することで、達成できる。いくつかの例において、サービス指向フレームワーク200は、例外管理およびロギングをサポートする。例えば、検証メッセージ等のエラーを、運営スタッフおよびモニタリングシステムによる使用のために、FDIサーバ106上にログオンできる。例外管理はまた、非同期例外、ならびにクライアントとサーバコードとの間の例外連携の両方をカバーできる。ロギングに関して、クライアントファイルシステムへのアクセスは、Silverlightアプリケーションにおいて利用可能ではなく、クライアントおよびサーバの実行は、しばしば、非同期で進行する。このため、以下の情報のうちの一部または全てが、クライアント側からサーバ側へ転送されるログファイルに含まれる。1それぞれのログされた入力に関連付けられたユーザ、2ログ入力に関連付けられた機械、3関連するクライアントおよびサーバログファイルを組み合わせるための機構、4重大なエラーおよび例外、等々。いくつかの例において、プロセス制御アプリケーション202は、クライアントデバイス104等のプラットフォームの組み込みメディア能力を利用するために実装される。例えば、以下のガイドラインに従うことができる。1サービス指向フレームワーク200のインターフェースは、いかなるプロセス制御ネットワークプロトコルとも無関係であるため、プロセス制御アプリケーション202は、クライアントデバイス104によって既に提供されたグラフィック能力を利用するように設計されている、および2本来のグラフィックおよび/またはベクトルグラフィックは、例えば、アプリケーションパフォーマンスを向上させるために利用された。いくつかの例において、クライアントデバイス104上で実行されるアプリケーション202とFDIサーバ106上で実行されるサービス指向フレームワーク200との間のインターフェースを提供するサービスインターフェース220は、リッチデスクトップ、スマートハンドヘルド、より機能性の低いハンドヘルド等のように、固定されているまたはモバイルであるクライアントデバイス104をサポートする。このため、サービスインターフェース220は、例えば、モバイルインターフェースの一部として使用されるナビゲーションを、リッチUIと同様にすることができるようにする、リッチおよびモバイルの両方のインターフェースのためのUI記述をサポートするように実装されてもよい。いくつかの例において、サービス指向フレームワーク200は、ウェブスタイルのインターフェースを利用するアプリケーション202をサポートする。これらの例において、データバインディングは、例えば、テーブル状および複数列のデータ表現でデータを表示するために使用される。このため、開発を簡略化し、符号化エラーを低下できる、デバイスの日付の表現を実装するために必要なコードを低減できる。データバインディングは、さらに、異なる視認またはフォームのデータの自動的な同期化も可能にする。双方向バインディングの使用は、さらに、ユーザによる表示データの更新を可能にする。さらに、ナビゲーションボタンイベントは、アプリケーションまたはウェブページから外れた意図しないナビゲーションを回避するために、トラップすることができる。上記のように、変換レイヤ214は、クライアントアプリケーション202によって呼び出された特定のサービス228を実装するために決定されたネットワークオペレーション230のシーケンスの状態を格納する。1つ以上のアプリケーション202は、同時に複数のサービス228を呼び出すことができるため、変換レイヤ214は、1つのシーケンスの状態が別のシーケンスによって乱されないように、隔離されたストレージ図示せずで同時に実行している異なるサービス228のためのネットワーク動作230の異なるシーケンスのための状態の情報を格納するように構成される。上記のように、サービス指向フレームワーク200は、1つ以上の認証モジュール248および/または承認モジュール250を提供するために、セキュリティレイヤ218を含む。いくつかの例において、認証モジュール248は、これらのコンポーネントが適切に相互動作することを確実にするために、アプリケーション202、サービス指向フレームワーク200、デバイス記述ファイル208等の検証をサポートする。例えば、アプリケーション202のクライアント側の検証は、適切なUIがユーザに示されることを確実にするために使用される。サーバ側の検証を、アプリケーション202および/またはフィールドデバイスによって提供されたデータ等のデータソースからの入力を検証するために使用できる。例えば、サーバ側の検証機構は、データを制限、拒否、および/または削除するために使用でき、入力データは長さ、範囲、フォーマット、タイプ等についてチェックされる。いくつかの例において、隔離されたストレージ図示せずは、特定のアプリケーション202および/またはクライアントデバイス104に特化した検証ルールを格納するために使用される。図3は、図2の例示的なサービス指向フレームワークによって提供されてもよい例示的なサービス228を示すブロック図である。図3の例示的なサービス228は、フィールドデバイスへメッセージを送信し、デバイスからの対応する応答を受信するために、アプリケーション例えば、クライアントアプリケーション202のための例示的な要求応答サービス304を含む。図3の例示的なサービス228は、さらに、フィールドデバイスによって返された発行されたデータを購読するために、アプリケーション例えばクライアントアプリケーション202のための例示的な発行購読サービス308も含む。図3の例示的なサービス228は、フィールドデバイスによって返されたイベントを受信するために、アプリケーション例えばクライアントアプリケーション202のための例示的なイベントサービス312もさらに含む。さらに、図3の例示的なサービス228は、1つ以上のデバイスネットワーク210例えば、または一般的に、1つ以上の関連付けられたプロセス制御システム102および1つ以上のデバイスネットワーク210によって相互接続された例えば、および、このため、1つ以上の関連付けられたプロセス制御システム102を実装するフィールドデバイスのグループを記述する情報を取得するために、アプリケーション例えばクライアントアプリケーション202のための例示的なディレクトリサービス316を含む。図3の例示的なサービス228は、さらに、制御パラメータ値をフィールドデバイスへ書き込むために、アプリケーション例えばクライアントアプリケーション202のための例示的な書き込みサービス320も含む。いくつかの例において、書き込みサービス320は、種々のアクセス制限例えば、承認ユーザのみに書き込みを制限する等をサポートできる。図4は、図1のFDIサーバ106の例示的な実装のブロック図である。図示された例のFDIサーバ106は、アプリケーション図2のクライアントアプリケーション202および/または図1のクライアントアプリケーション120とインターフェースを取るために、例示的なアプリケーションインターフェース404を含む。例えば、アプリケーションインターフェース404は、プロセス制御ネットワークプロトコルとは無関係である、サービスメッセージタイプ222およびサービスデータタイプ224によって定義されるメッセージベースのサービスインターフェース220を実装できる。さらに、アプリケーションインターフェース404は、FDIサーバ106自体および/または他のクライアントデバイス例えば図1のクライアント104等で実行するアプリケーションと通信可能に結合するために実装できる。図4のFDIサーバ106は、図2のサービス指向フレームワーク200の一部または全てを実装するために、機械可読命令を実行するために、例示的なプロセッサ408をさらに含む。プロセッサ408は、以下により詳述される、図11の処理システム1100に含まれる1つ以上のプロセッサ1102等のいずれかのタイプのプロセッサを使用して実装されてもよい。図4のFDIサーバ106は、さらに、1つ以上のプロセス制御システムを実装する1つ以上のデバイスネットワークとインターフェースを取るために、例示的なネットワークインターフェース412を含む。このため、ネットワークインターフェース412は、上記のプロセス制御ネットワークプロトコル236のうちの1つ以上をサポートできる。図5は、図1のクライアントデバイス104の例示的な実装のブロック図である。図示された例のクライアントデバイス104は、他のプロセス制御アプリケーション例えば、図2の他のクライアントアプリケーション202および/または図1の他のクライアントアプリケーション120で実行している他のクライアントとインターフェースを取るために、例示的なクライアントインターフェース504を含む。例えば、クライアントインターフェース404は、同じまたは異なるデバイス上で実行するアプリケーションの間の通信のために、通信プロトコルおよび/またはプロセス間メッセージングの任意のタイプにすることができる。図5のクライアントデバイス104は、さらに、図2のサービス指向フレームワーク200とインターフェースを取るための1つ以上のアプリケーション202を実装するために、機械可読命令を実行するために、例示的なプロセッサ508も含む。プロセッサ508は、以下により詳述される、図11の処理システム1100に含まれる1つ以上のプロセッサ1102等の任意のタイプのプロセッサを使用して実装されてもよい。図5のFDIサーバ104は、サービス指向フレームワーク200を実装する図1および/または図4のFDIサーバ106とインターフェースを取るために、例示的なサービスインターフェース512をさらに含む。このため、サービスインターフェース512は、図4のアプリケーションインターフェース404の相手側であり、いかなるプロセス制御ネットワークプロトコルとも無関係である、サービス指向フレームワーク200のサービスメッセージタイプ222およびサービスデータタイプ224によって定義されるメッセージベースのサービスインターフェース220を実装できる。図1のFDIサーバ106およびクライアントデバイス104を実装する例示的な方法が、図4~図5に示されているが、それぞれ、図4~図5に示されるエレメント、プロセスおよび/またはデバイスのうちの1つ以上は、任意の他の方法で、組み合わされる、分割される、再構成される、省略される、削除される、および/または、実装されてもよい。さらに、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512、および/または、より一般的には、図4の例示的なFDIサーバ106、および/または図5の例示的なクライアントデバイスは、ハードウェア、ソフトウェア、ファームウェア、および/またはハードウェア、ソフトウェアおよび/またはファームウェアの任意の組み合わせによって実装されてもよい。このため、例えば、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512、および/または、より一般的には、例示的なFDIサーバ106、および/または例示的なクライアントデバイス104のいずれかを、1つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路ASIC、プログラム可能な論理デバイスPLD、および/またはフィールドプログラマブル論理デバイスFPLD等によって実装できる可能性がある。添付の装置請求項のいずれかが、純粋に、ソフトウェアおよび/またはファームウェア実装を網羅するように読まれる場合、例示的なFDIサーバ106、例示的なクライアントデバイス104、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、および/または例示的なサービスインターフェース512のうちの少なくとも1つが、かかるソフトウェアおよび/またはファームウェアを格納する、メモリ、デジタル多用途ディスクDVD、コンパクトディスクCD等の有形のコンピュータ可読媒体を含むように、本明細書によって、明示的に定義される。またさらに、図4の例示的なFDIサーバ106および/または図5の例示的なクライアントデバイス104は、図4~図5に示されるものに加えて、またはその代わりに、1つ以上のエレメント、プロセスおよび/またはデバイスを含んでもよく、かつ/または、図示されたエレメント、プロセスおよびデバイスのうちのいずれか2つ以上または全てを含んでもよい。例示的なプロセス制御環境100、例示的なFDIサーバ106、例示的なクライアントデバイス104、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512および/または、より一般的には、サービス指向フレームワーク200を実装するために実行してもよい、例示的なプロセスを示すフローチャートが、図6~図10に示される。これらの例において、各フローチャートによって表されるプロセスは、図11に関して以下に記載された例示的なプロセッシングシステム1100に示されたプロセッサ1102等のプロセッサによって実行するための機械可読命令を含む1つ以上のプログラムによって実装されてもよい。あるいは、図6~図10のフローチャートによって表されるプロセスのうちの1つ以上を実装するプログラムの全体、および/またはその一部は、プロセッサ1102例えば、コントローラおよび/または任意の他の適したデバイス等以外のデバイスによって実行できる可能性があり、かつ/または例えばASIC、PLD、FPLD、個別論理等によって実装されるファームウェアまたは専用のハードウェアによって具体化できる可能性がある。さらに、図6~図10のフローチャートまたはその1つ以上の部分によって現されるプロセスのうちの1つ以上は、手動で実装してもよい。さらに、例示的なプロセスは、図6~図10に示されるフローチャートを参照して記載されるが、あるいは、本明細書に記載された例示的な方法および装置を実装するための多くの他の技術が代替的に使用されてもよい。例えば、図6~図10に示されるフローチャートを参照して、ブロックの実行の順序を変えてもよく、および/または、記載されるブロックのうちのいくつかを、変更、除去、組み合わせおよび/または複数ブロックに下位分割してもよい。上記のように、図6~図10の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み込み専用メモリROM、CD、DVD、キャッシュ、ランダムアクセスメモリRAMおよび/または、任意の持続時間例えばより長い期間、永久に、短い瞬間、一時的なバッファリングのため、および/または情報のキャッシュのため情報を格納する、任意の他の格納媒体等の有形のコンピュータ可読媒体に格納される符号化命令例えばコンピュータ可読命令を使用して実装されてもよい。本明細書に使用されている場合、有形のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読ストレージを含み、伝播する信号を除外するように、明示的に定義されている。さらに、または代替的に、図6~図10の例示的なプロセスは、フラッシュメモリ、ROM、CD、DVD、キャッシュ、ランダムアクセスメモリRAMおよび/または、任意の持続時間例えばより長い期間、永久に、短い瞬間、一時的なバッファリングのため、および/または情報のキャッシュのため情報を格納する任意の他のストレージメディア等の非一時的なコンピュータ可読媒体に格納される符号化命令例えばコンピュータ可読命令を使用して実装してもよい。本明細書に使用される場合、非一時的なコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読媒体を含み、伝播する信号を除外するように、明示的に定義されている。さらに、本明細書で使用される場合、コンピュータ可読および機械可読という用語は、別途示されていない限り、同等であると考えられる。図2の例示的なサービス指向フレームワーク200を実装するために実行されてもよい例示的なプロセス600を、図6に示す。例示的なプロセス600は、所定のイベント等の発生時に基づいて、所定の間隔で、またはその組み合わせで実行されてもよい。図6のプロセス600は、図1およびまたは図5のクライアントデバイス104によって実行されるものとしてプロセス制御アプリケーション202をサポートするために、それぞれ、図1および/または図4のFDIサーバ106によって実行されるという観点から記載されている。このため、前掲の図を参照して、図6のプロセス600は、クライアントデバイス104が、サービス指向フレームワーク200によって提供される1つ以上のネットワークに無関係のサービス228ネットワークにとらわれないサービス、デバイスに無関係のサービス、デバイスにとらわれないサービス等とも称されるを使用して、1つ以上のプロセス制御システムにおいて1つ以上のフィールドデバイスと通信するためのものである、プロセス制御アプリケーション202を実行する、ブロック605において実行を開始する。例えば、ブロック605において、プロセス制御アプリケーションは、1つ以上のフィールドデバイスと通信するために、全て図3の、要求応答サービス304、発行購読サービス308、イベントサービス312、ディレクトリサービス316、および/または書き込みサービス320のうちの1つ以上を使用できる。ブロック610において、FDIサーバ106で実行されるサービス指向フレームワーク200は、アクセスポリシーが利用されているかどうかを決定する。アクセスポリシーが利用される場合ブロック610、ブロック615において、サービス指向フレームワーク200の認証モジュール248は、サービス指向フレームワーク200で使用するためのプロセス制御アプリケーション202を認証する。さらに、ブロック620において、サービス指向フレームワーク200の承認モジュール250は、サービス指向フレームワーク200によって提供されたサービス228へ、アクセスのユーザに特化したレベル例えば、読み込み専用、読み込み書き出し、アクセスなし、管理者アクセス等を提供するために、プロセス制御アプリケーション202のユーザを承認する。ブロック625において、プロセス制御アプリケーション202は、サービス指向フレームワーク200のネットワークに無関係なサービスレイヤ212とインターフェースとインターフェースを取る。サービスレイヤ212は、サービスがいかなる特定のプロセス制御ネットワークプロトコルに依存しない場合に、プロセス制御システム内のフィールドデバイスと通信するためのサービス228を提供するため、ネットワークに無関係であると称される。ブロック625における処理の実装に使用されてもよい例示的なプロセスを、以下により詳細に記載する、図7に示す。ブロック630において、サービス指向ネットワーク200のネットワークに無関係なサービスレイヤ212は、サービス指向フレームワーク200のネットワーク依存変換レイヤ214とのインターフェースを取る。変換レイヤ214は、サービス指向フレームワーク200に含まれる各変換レイヤ214が、特定のプロセス制御ネットワークプロトコルに特化した例えば依存するネットワーク動作の各シーケンスに、サービスレイヤ212によって提供されたネットワークに無関係のサービス228を変換するため、ネットワーク依存するものと称される。ブロック630において処理を実装するために使用されてもよい例示的なプロセスは図8に示され、以下により詳細に記載される。ブロック635において、サービス指向フレームワーク200のネットワーク依存変換レイヤ214は、サービス指向フレームワーク200の対応するネットワーク依存ネットワークレイヤ216とインターフェースを取る。ネットワークレイヤ216は、サービス指向フレームワーク200に含まれる各ネットワークレイヤ216が、変換レイヤ214によってサポートされた特定のプロセス制御ネットワークプロトコルを対象とするネットワークインターフェースを、その各変換レイヤ214によって決定されたネットワーク動作のシーケンスに提供するため、ネットワーク依存するものと称される。ブロック635において処理を実装するために使用されてもよい例示的なプロセスが図9に示され、以下により詳細に記載される。ブロック640において、サービス指向フレームワーク200の1つ以上のネットワークレイヤ216は、プロセス制御アプリケーション202が通信する1つ以上のフィールドデバイスを含む1つ以上のプロセス制御システムを実装する、1つ以上の特定のデバイスネットワーク210とのインターフェースを取るために使用される。その後、例示的なプロセス600の実行が終了する。図6のブロック625において例示的なサービスレイヤ処理を実装するために実行されてもよい例示的なプロセス625を、図7に示す。前掲の図を参照すると、図7のプロセス625は、サービス指向フレームワーク200のサービスレイヤ212が、プロセス制御アプリケーション202によってアクセス可能なサービス契約の形態の、利用可能なネットワークに無関係なサービス228を明らかにする、ブロック705において、実行を開始する。ブロック710において、プロセス制御アプリケーション202は、サービスインターフェース220のうちの1つ以上を使用して、サービス228のうちの1つ以上を呼び出し、各サービスインターフェース220は、各サービス228に関連付けられる。例えば、各サービスインターフェース220は、サービス指向フレームワーク200によって指定されるサービスメッセージタイプ222およびサービスデータタイプ224を使用して定義されるネットワークに無関係なメッセージを利用する、メッセージベースのサービスインターフェースである。ブロック715において、サービスレイヤ212は、ブロック710において特定のサービス228を呼び出すプロセス制御アプリケーション202に応答して、フィールドデバイスによってプロセス制御アプリケーション202に返される応答例えばデバイスデータ、イベント等が、アプリケーションに特化したフォーマットに適合する必要があるかどうかを決定する。アプリケーションに特化した応答適合が必要な場合ブロック715、サービスレイヤ212は、応答データを、プロセス制御アプリケーション202に特化したフォーマットに適合させるために、選択されたアダプタ226を呼び出す。その後、例示的なプロセス625の実行が終了する。図6のブロック630において例示的な変換レイヤ処理630を実装するために実行されてもよい例示的なプロセス630を、図8に示す。前掲の図を参照すると、図8のプロセス630は、特定のフィールドデバイスと通信するために使用されたプロセス制御ネットワークプロトコルをサポートするサービス指向フレームワーク200の特定の変換レイヤが、サービス指向フレームワーク200のサービスレイヤ212によって呼び出される、ブロック805において、実行を開始する。さらに、ブロック805において、特定の変換レイヤ214に含まれるアプリケーションファサード229は、サービス228を実装するための1つ以上のネットワーク動作230のそれぞれのシーケンスへ、サービスレイヤ212によって提供された特定のサービス228を実装するサービス動作を変換するために使用される。上記のように、特定のサービス228を実装するサービス動作は、いかなるプロセス制御ネットワークプロトコルとも無関係であり、一方で、ネットワーク動作230のシーケンスは、サービス228が通信する特定のフィールドデバイスを含むデバイスネットワーク210例えば、および、より一般的には、プロセス制御システムを実装するために使用された特定のプロセス制御ネットワークプロトコルに特化している。ブロック810において、変換レイヤ214は、サービス228が通信する1つ以上の特定のフィールドデバイスと相互作用するためのネットワーク動作230のシーケンスを作成するために、デバイス記述ファイル208例えば、EDDLフォーマット232および/または共通ファイルフォーマット234を使用する。ブロック815において、変換レイヤ214は、例えば対応するネットワークレイヤ216を呼び出すことによってネットワーク動作230のシーケンスを実行し、実行される際に、ネットワーク動作230のシーケンスの状態を維持する。ブロック810において変換レイヤ214によって維持される状態は、ネットワーク動作のシーケンス230のどれが実行されてきたか、および、サービス228を実装するための所与の時間において実行するためにどれが残っているかを追跡するために使用できる。ネットワーク動作のシーケンス230が実行された後、例示的なプロセス630の実行が終了する。図6のブロック635において例示的なネットワークレイヤ処理を実装するために実行されてもよい例示的なプロセス635を、図9に示す。前掲の図を参照すると、図9のプロセス635は、対応する変換レイヤ214によって決定されたネットワーク動作のシーケンスが、ネットワーク動作230のシーケンスが実行されるフィールドデバイスを含むデバイスネットワーク210について定義された適切なネットワークAPI240とインターフェースを取ることを可能にするために、特定のネットワークレイヤ216が呼び出されるブロック905において、実行を開始する。例えば、ブロック905において使用されるネットワークAPI240は、種々のネットワークメッセージタイプ242、ネットワークデータタイプ244、および、おそらくは、ネットワーク動作230のシーケンスが実行されるフィールドデバイスを含むデバイスネットワーク210によって利用される、特定のプロセス制御ネットワークプロトコル236に特化した1つ以上のオブジェクト辞書246をサポートする。ブロック905においてプロセスが完了後、例示的なプロセス635の実行が終了する。クライアントアプリケーション202がプロセス制御システム102内のフィールドデバイスと通信できるようにするために、図2のサービスフレームワーク200の例示的な動作を示す例示的なプロセス1000が、図10に示される。先行する図を参照すると、ブロック1005において、クライアントアプリケーションは、サービスレイヤ212によって明らかにされ、フィールドデバイス例えば圧力トランスミッタから読み込みデータ例えばモニタリングされた圧力を要求するために、汎用例えばネットワークに無関係のインターフェース220を有する、ネットワークに無関係のサービス228を呼び出す。ブロック1010において、変換レイヤ214は、フィールドデバイスを含む特定のデバイスネットワーク210内のサービス228を実装するために、ネットワークに依存するネットワーク動作230のシーケンスへ、ネットワークに無関係なサービス228を変換する。例えば、ブロック1010において、変換レイヤ214のアプリケーションファサード229は、ネットワーク動作230のシーケンスを作成するために、デバイス記述ファイル208から取得したネットワークコンポーネント情報を使用する。例えば、デバイス記述ファイル208は、EDDL記述232または圧力トランスミッタの共通ファイルフォーマット記述234にすることができる。ブロック1015において、変換レイヤ214は、ブロック1010において決定されるネットワーク動作230のシーケンスに従って、フィールドデバイス例えば圧力トランスミッタへ、ネットワーク依存トランザクション例えば、ネットワークメッセージタイプ242、ネットワークデータタイプ244、および/またはオブジェクト辞書246に従ってフォーマットされたコマンドを送信するために、変換レイヤ214に関連付けられたネットワークレイヤ216によって提供されたネットワークAPI240を呼び出す。その後しばらくして、ブロック1020において、ネットワークAPI240は、フィールドデバイス例えば、圧力トランスミッタから応答例えば計測された圧力データを含むを受信する。ブロック1025において、変換レイヤ214は、サービスレイヤ212に提供される、汎用の、ネットワークに無関係な応答フォーマットへと、ブロック1015で受信した応答のネットワーク依存のフォーマットを変換する。ブロック1030において、サービスレイヤ212は、必要な場合には、ブロック1025で生成された応答の汎用のネットワークに無関係のフォーマットを、ネットワークにはやはり関係ないが、アプリケーション202に特化しているフォーマットへ転換するために、アダプタを呼び出す。ブロック1035において、サービスレイヤは、アプリケーション202へ、例えば、ブロック1005において呼び出されたサービス220のサービスインターフェース220を使って応答を返す。その後、例示的なプロセス1000の実行が終了する。図11は、図2のFDIサーバ106およびサービス指向フレームワーク200を実装することができる例示的な処理システム1100のブロック図である。例示的な処理システム1100は、さらに、または代替的に、クライアントアプリケーション120、202等を実行するために、クライアント104を実装するために使用されてもよい。コンピュータ1100は、例えば、サーバ、パーソナルコンピュータ、携帯電話例えば、セルフォン、携帯情報端末PDA、インターネット機器、または任意の他の種類のコンピューティングデバイスとすることができる。例示的なプロセッサシステム1100は、ランダムアクセスメモリRAM1104、読み込み専用メモリROM1106およびフラッシュメモリ1108等の関連付けられたメモリを有するプロセッサ1102を含む。プロセッサ1102は、図6~図10に示されるプロセスを実装するために、他のものの中でもとりわけ、機械可読命令を実行してもよい。プロセッサ1102は、Pentium登録商標ファミリー、Itanium登録商標ファミリー、および/またはXScale登録商標ファミリーからの1つ以上のIntel登録商標マイクロプロセッサ、ARM登録商標および/またはマイクロコントローラのPIC登録商標ファミリー等からの1つ以上のマイクロコントローラ等の、任意のタイプのプロセスユニットであってもよい。当然ながら、他のファミリーからの他のプロセッサも適している。RAM1104、ROM1106、および/またはフラッシュメモリ1108は、図9のプロセス900を実装する機械可読命令を格納してもよい。RAM1104は、同期ダイナミックランダムアクセスメモリSDRAM、ダイナミックランダムアクセスメモリDRAM、RAMBUSダイナミックランダムアクセスメモリRDRAM、および/または任意の他のタイプのランダムアクセスメモリデバイスによって実装されてもよい。図示された例のフラッシュメモリ1108は、ブートブロック1110を含む。RAM1104、ROM1106、およびフラッシュメモリ1108へのアクセスは、典型的には、メモリコントローラ図示せずによって制御される。プロセッサ1102は、他のコンポーネントがインターフェースを取ってもよいバス1112等のインターフェースに結合される。図示された例において、バス1112へのインターフェースを取るコンポーネントは、入力デバイス1114、ディスプレイデバイス1116、大容量格納デバイス1118、およびリムーバブルストレージデバイスドライブ1120を含む。リムーバブルストレージデバイスドライブ1120は、磁気または光学メディア等の関連付けられたリムーバブルストレージメディアを含んでもよい。入力デバイス1114は、ユーザがデータおよびコマンドをプロセッサ1102へ入力することを可能にする。入力デバイス1114は、キーボード、マウス、タッチスクリーン、トラックパッド、バーコードスキャナ、またはユーザがプロセッサ1102へ情報を提供することを可能にする任意の他のデバイスのうちのいずれか1つ以上を使用して実装してもよい。ディスプレイデバイス1116は、例えば、液晶ディスプレイLCDモニタ、ブラウン管CRTモニタ、またはプロセッサ1102とユーザとの間のインターフェースとして作用する任意の他の適切なデバイスにしてもよい。図11に示されるようなディスプレイデバイス1116は、プロセッサ1102へディスプレイ画面がインターフェースを取ることが必要な任意の追加的なハードウェアを含む。大容量ストレージデバイス1118は、例えば、従来のハードディスク、またはプロセッサ1102によって読み込み可能な任意の他の磁気または光学メディアであってもよい。リムーバブルストレージデバイスドライブ1120は、例えば、コンパクトディスク記録可能CD-Rドライブ、コンパクトディスク再書き込み可能CD-RWドライブ、デジタル多用途ディスクDVDドライブ等の光学ドライブ、または任意の他の光学ドライブであってもよい。あるいは、例えば、磁気メディアドライブであってもよい。リムーバブルストレージメディア1122は、ドライブ1120と共に動作するためにメディア1122が選択されるため、リムーバブルストレージデバイスドライブ1120に対して補完的である。例えば、リムーバブルストレージデバイスドライブ1120が光ドライブである場合、リムーバブルストレージメディア1122は、CD-Rディスク、CD-RWディスク、DVDディスクまたは任意の他の適した光ディスクであってもよい。一方で、リムーバブルストレージデバイスドライブ1120が磁気メディアデバイスである場合、リムーバブルストレージメディア1122は、例えば、ディスケットまたは任意の他の適した磁気ストレージメディアであってもよい。図6~図10のプロセスのうちの1つ以上を実装するための符号化された命令は、RAM1104、ROM1106、フラッシュメモリ1108、大容量ストレージデバイス1188および/またはCDまたはDVD等のリムーバブルストレージメディア1122に格納されてもよい。図11のプロセスシステム等のシステムにおいて、本明細書に記載されている方法および/または装置を実装する代わりに、本明細書に記載されている方法および/または装置は、プロセッサおよび/またはASIC特定用途向け集積回路等の構造に埋め込まれてもよい。上記の開示から、本明細書に記載された例示的な方法、装置、および製品を、プロセス制御ネットワーク内のデバイスと通信するためのサービス指向フレームワークを実装するために使用できることが理解されよう。本明細書に開示される例示的なサービス指向フレームワークは、少なくともいくつかの状況において、先行のプロセス制御ソリューションを超える利点を提供できる。例えば、本明細書に開示されるサービス指向フレームワークにおいて、既存のアプリケーションに影響を与えることなく、ベンダーにより、システムに機能、特徴、および柔軟性を追加することが可能である場合がある。別の例として、本明細書に開示されるサービス指向フレームワークは、各プロセス制御アプリケーションはサービスを介して通信する方法を知る必要があるのみであるため、全体的なシステムの複雑性を低減する場合があり、一方で、デバイスと通信するために使用される特定のプロセス制御ネットワーク/デバイスプロトコルは、フレームワーク内のより低いレベルにおいて提供される。さらに別の例として、本明細書に開示されるサービス指向フレームワークが、アプリケーションの変更、更新、および、交換が、この同じネットワークに無関係なインターフェースにのみ基づくことを可能にする、デバイスネットワークと通信するための、汎用のネットワークに無関係なインターフェースを明らかにするため、プロセス制御アプリケーションは、基幹的なデバイスネットワークとは無関係に変更できる。さらに別の例として、本明細書に開示されるサービス指向フレームワークは、各プロセス制御アプリケーションが、各ネットワークタイプをサポートするために、複数の接続の代わりに、フレームワークへ単一の接続のみをサポートすることを可能にする。別の例として、本明細書に開示されるサービス指向フレームワークは、プロセス制御デバイスネットワークによって提供された能力をサポートするためにサービスを追加することを可能にし、EDDL記述は、特定のデバイスによってどのサービスが提供されるかを定義できる。さらに別の例として、本明細書に開示されるサービス指向フレームワークは、プロセス制御システムの実装を検証するために、適合性試験ポイントとして使用可能なレイヤ間の明確に定義されたインターフェースを含む。さらに別の例として、本明細書に開示されるサービス指向フレームワークのネットワークに無関係なサービスインターフェースは、プロセス制御アプリケーションが異なるデバイスとの通信を継続することを予想して、顧客が、任意のサプライヤからデバイスを購入し、アーキテクチャにこれらをプラグインすることを可能にする。最後に、製造者の特定の例示的な方法、装置、および製品を本明細書に記載しているが、本発明の網羅する範囲はこれに制限されない。逆に、本発明は、添付の請求項の範囲の範囲内に、文字通り、または、均等論の下で正当に相当する全ての方法、装置および製品を包含する。"