(57)【特許請求の範囲】
【請求項１】
サーバに格納されたプロセスデータに前記サーバに通信可能に接続されたクライアントがアクセスするための方法であって、
前記クライアントが、ウェブブラウザを介して前記プロセスデータにアクセスするために、リクエストを受信することと、
前記クライアントが、前記リクエストに基づいて、前記プロセスデータの少なくとも一部を格納すると共に相互運用データパッキングフォーマットで前記プロセスデータを通信するサーバを識別することと、
前記クライアントが、前記プロセスデータを受信するために、前記識別されたサーバにアクセスすることと、
前記クライアントが、前記相互運用データパッキングフォーマットから、ウェブ閲覧フォーマットへ、前記プロセスデータを変換することと、
前記クライアントが、前記変換されたプロセスデータの少なくとも第１の部分を、前記ウェブブラウザを介して表示するために、少なくとも１つのデータフィールドに埋め込むことと、を備える、方法。
【請求項２】
前記サーバを識別することは、前記クライアントが、前記リクエストに関連付けられた識別子を相互参照するリストにアクセスすることを含む、請求項１に記載の方法。
【請求項３】
前記相互運用データパッキングフォーマットは、オープンパッケージング規則に準拠する、請求項１又は請求項２に記載の方法。
【請求項４】
前記クライアントが、ターゲット表示情報を受信することと、
前記クライアントが、前記ターゲット表示情報および前記プロセスデータに対応する前記少なくとも１つのデータフィールドを含むテンプレートを決定することと、
をさらに含む、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
前記変換されたプロセスデータの少なくとも前記第１の部分を、前記少なくとも１つのデータフィールドに埋め込むことは、
前記クライアントが、少なくとも１つのデータタイプによって、前記変換されたプロセスデータをパーティション分割することと、
前記クライアントが、どのデータタイプが各データフィールドに関連付けられるかを決定することと、
前記クライアントが、各データタイプのためにデータフィールドを作成することと、
前記クライアントが、各データタイプに関連付けられた前記プロセスデータを、対応するデータフィールドに埋め込むことと、
を含む、請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
前記どのデータタイプが各データフィールドに関連付けられるかを決定することは、
前記クライアントが、前記プロセスデータの各部分に関連付けられたメタデータを決定することと、
前記クライアントが、前記対応するデータフィールドに、前記メタデータを相互参照することと、
を含む、請求項５に記載の方法。
【請求項７】
前記クライアントが、前記プロセスデータを格納する前記サーバの識別前に、前記リクエストを認証することをさらに含む、請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
前記リクエストは、前記ウェブブラウザを使用するクライアントからのものである、請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
前記クライアントが、前記変換されたプロセスデータの少なくとも前記第１の部分を含む前記少なくとも１つのデータフィールドを、ウェブページに埋め込むことと、
前記クライアントが、前記変換されたプロセスデータの少なくとも前記第１の部分を、前記ウェブページに表示するために、前記少なくとも１つのデータフィールド内に前記プロセスデータを含む前記ウェブページを、前記ウェブブラウザを使用する前記クライアントへ戻すことと、をさらに含む、請求項８に記載の方法。
【請求項１０】
前記リクエストは、前記ウェブブラウザ内で実行されるクライアント表示アプリケーションを使用するクライアントからのものである、請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
前記クライアントが、前記クライアント表示アプリケーションが、前記変換されたプロセスデータの少なくとも前記第１の部分を含む前記少なくとも１つのデータフィールドにアクセスし且つ前記少なくとも１つのデータフィールドを表示するようにさせる命令を前記ウェブブラウザに送信することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記サーバは、前記プロセスデータの前記第１の部分を格納する、請求項１〜請求項１１の何れか１項に記載の方法。
【請求項１３】
前記クライアントが、前記プロセスデータの第２の部分を格納すると共に前記相互運用データパッキングフォーマットに関連付けられる第２のサーバを識別することと、
前記クライアントが、前記プロセスデータの前記第２の部分を受信するために、前記第２のサーバにアクセスすることと、
前記クライアントが、前記相互運用データパッキングフォーマットから前記ウェブ閲覧フォーマットへ、前記プロセスデータの前記第２の部分を変換することと、
前記クライアントが、前記ウェブブラウザを介して、前記変換されたプロセスデータの前記第１の部分と共に表示するための前記少なくとも１つのデータフィールドに、前記変換されたプロセスデータの前記第２の部分を埋め込むことと、をさらに含む、請求項１２に記載の方法。
【請求項１４】
サーバに格納されるプロセスデータにアクセスするように前記サーバに通信可能に連続されかつクライアントのための装置であって、
前記装置は、
ウェブブラウザを介して前記プロセスデータにアクセスするために、前記クライアントのユーザによってリクエストされた前記プロセスデータの少なくとも一部を格納すると共に相互運用データパッキングフォーマットに関連付けられた前記サーバを識別し、且つ、前記リクエストに基づいて前記プロセスデータを受信するために前記識別されたサーバにアクセスするためのアダプタと、
前記プロセスデータを、前記相互運用データパッキングフォーマットから、ウェブ閲覧フォーマットに変換するためのコンバータと、
前記変換されたプロセスデータの少なくとも一部を、前記ウェブブラウザを介して表示する少なくとも１つのデータフィールドに埋め込むためのウェブベースのインターフェースと、
を備える、装置。
【請求項１５】
前記ウェブベースのインターフェースは、
前記変換されたプロセスデータの少なくとも前記一部を含む前記少なくとも１つのデータフィールドを、ウェブページに埋め込み、
前記変換されたプロセスデータの少なくとも前記一部を、前記ウェブページに表示するために、前記少なくとも１つのデータフィールド内の前記プロセスデータを含む前記ウェブページを、前記ウェブブラウザを使用する前記クライアントへ戻すためのものである、請求項１４に記載の装置。
【請求項１６】
少なくとも１つのデータタイプによって、前記変換されたプロセスデータをパーティション分割し、
どのデータタイプが各データフィールドに関連付けられるかを決定し、
各データタイプのためにデータフィールドを作成し、
各データタイプに関連付けられた前記プロセスデータを、対応するデータフィールドに埋め込むことによって、
前記ウェブベースのインターフェースは、前記変換されたプロセスデータの少なくとも前記一部を、前記少なくとも１つのデータフィールドへ埋め込むためのものである、請求項１４に記載の装置。
【請求項１７】
どのデータタイプが各データフィールドに関連付けられるかを決定することは、
前記プロセスデータの各部分に関連付けられたメタデータを決定し、
前記メタデータを、前記対応するデータフィールドと相互参照するために、
データプロセッサを含む、請求項１６に記載の装置。
【請求項１８】
実行される際、マシンに、
ウェブブラウザを介して、プロセスデータにアクセスするためのリクエストを受信させ、
前記プロセスデータの少なくとも一部を格納すると共に相互運用データパッキングフォーマットでプロセスデータを通信するサーバを識別させ、
前記プロセスデータを受信するために、前記識別されたサーバにアクセスさせ、
前記プロセスデータを、前記相互運用データパッキングフォーマットから、ウェブ閲覧フォーマットに変換させ、
前記変換されたプロセスデータの少なくとも第１の部分を、前記ウェブブラウザを介した表示のために、少なくとも１つのデータフィールドに埋め込ませる
命令が格納されると共にマシンでアクセス可能な媒体。
【請求項１９】
前記命令は、実行される際、
少なくとも１つのデータタイプによって、前記変換されたプロセスデータをパーティション分割し、
どのデータタイプが各データフィールドに関連付けられるかを決定し、
各データタイプのためにデータフィールドを作成し、
各データタイプに関連付けられた前記プロセスデータを、対応するデータフィールドに埋め込むことにより、
前記マシンに、前記変換されたプロセスデータの少なくとも前記第１の部分を、前記少なくとも１つのデータフィールドに埋め込ませる、請求項１８に記載のマシンでアクセス可能な媒体。
【請求項２０】
前記命令は、実行される際、
前記プロセスデータの各部分に関連付けられたメタデータを決定し、
前記対応するデータフィールドに、前記メタデータを相互参照することにより、
前記マシンに、どのデータタイプが各データフィールドに関連付けられるかを決定させる、請求項１９に記載のマシンでアクセス可能な媒体。
【請求項２１】
前記命令は、実行される際、前記マシンに、
前記変換されたプロセスデータの少なくとも前記第１の部分を含む前記少なくとも１つのデータフィールドを、ウェブページに埋め込ませ、
前記変換されたプロセスデータの少なくとも前記第１の部分を、前記ウェブページに表示させるために、前記少なくとも１つのデータフィールド内に前記プロセスデータを含む前記ウェブページを、前記ウェブブラウザを使用するクライアントへ戻させる、請求項１９又は請求項２０に記載のマシンでアクセス可能な媒体。
【請求項２２】
前記命令は、実行される際、前記マシンに、
クライアント表示アプリケーションが前記変換されたプロセスデータの少なくとも前記第１の部分を含む前記少なくとも１つのデータフィールドにアクセスし且つ前記少なくとも１つのデータフィールドを表示するようにさせる命令を前記ウェブブラウザへ送信させる、請求項１９〜請求項２１の何れか１項に記載のマシンでアクセス可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、プロセスの制御システムに関し、より詳細には、サーバに格納されるプロセスデータにアクセスするための方法および装置に関する。
【背景技術】
【０００２】
化学的、石油的または他のプロセスで使用されるもののような、制御システム、製造オートメーションシステム、および他の工業的システム等のデータシステムは、権限を有するユーザが、任意の位置からデータにアクセスできるようにするために、サーバにデータを格納し得る。典型的には、データは、ＯＰＣに準拠するサーバに格納されてもよい。ＯＰＣとは、工業プロセス制御データ、オートメーションデータ、製造データ、および／またはバッチデータへのアクセスを提供するために使用されるサーバのために、プロトコルベースのインターフェースを定義する規格セットである。ＯＰＣは、さらに、工業プロセスに関連付けられたサーバ内のデータパッケージングの相互運用のためのフォーマット規格（ｆｏｒｍａｔｔｉｎｇ  ｓｔａｎｄａｒｄｓ）を定義する。
【０００３】
現行では、クライアントは、ＯＰＣサーバに特有のアプリケーションまたはＯＰＣサーバに格納されたデータタイプを作成することにより、ＯＰＣサーバに接続し得る。例えば、アプリケーションは、対応するＯＰＣサーバの特定の動作プラットフォームおよび通信プロトコルに準拠する手続き型プログラミング言語で実行可能なプログラムとして、書き込まれてもよい。アプリケーションは、特定のＯＰＣサーバに特有のアプリケーションを構成するサーバベンダーまたはクライアントベンダーによって作成されてもよい。クライアントが、複数のＯＰＣサーバに格納されたデータにアクセスする必要があり得る例では、別々のアプリケーションが、ＯＰＣサーバの特定のインターフェース要件に準拠するように、各ＯＰＣサーバで作成する必要があり得る。さらに、こうした各アプリケーションは、対応するＯＰＣサーバに格納されたデータが別のサーバに移行された場合、またはＯＰＣサーバのインターフェース要件が変更された場合に、修正する必要があり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
サーバに格納されたプロセスデータにアクセスするための例示的な方法および装置について説明する。
【課題を解決するための手段】
【０００５】
一実施例において、方法は、ウェブブラウザを介した、プロセスデータにアクセスするためのリクエストの受信、プロセスデータの少なくとも一部を格納するサーバの識別（ここで、サーバは、相互運用データパッキングフォーマットに関連付けられている）、プロセスデータを受信するための、サーバのアクセスを含む。例示的な方法は、さらに、相互運用データパッキングフォーマットに関連付けられたフォーマットからウェブ閲覧フォーマットへの、プロセスデータの変換と、変換されたプロセスデータの少なくとも第１の部分を、ウェブブラウザを介して表示するための、少なくとも１つのデータフィールドへの埋め込みと、を含む。
【０００６】
例示的な装置は、ウェブブラウザを介してプロセスデータにアクセスするための、リクエストに関連付けられたプロセスデータの少なくとも一部を格納するサーバを識別するためのアダプタを含み（ここで、サーバは、相互運用データパッキングフォーマットに関連付けられている）、プロセスデータを受信するために、サーバにアクセスする。例示的な装置は、さらに、プロセスデータを、相互運用データパッキングフォーマットに関連付けられたフォーマットからウェブ閲覧フォーマットに、変換するためのコンバータと、変換されたプロセスデータの少なくとも一部を、ウェブブラウザを介して表示するための、少なくとも１つのデータフィールドに埋め込むためのウェブベースのインターフェースと、を含む。
【図面の簡単な説明】
【０００７】
【図１】ラッパーを含むウェブページサーバを介して、クライアントによってアクセス可能なＯＰＣサーバに通信可能に接続されるある例示的な制御システムによる、制御環境を図示するブロック図である。
【図２】図１の例示的なラッパーの機能図である。
【図３】ウェブブラウザに表示されたサーバ識別プロセスデータの例示的なインターフェースを示す。
【図４】ウェブブラウザ内に表示されたサーバ階層ディレクトリの例示的なインターフェースを示す。
【図５】ウェブブラウザに表示されたプロセスデータの例示的なインターフェースを示す。
【図６】ウェブブラウザにプロセスデータを表示するために、図１および／または図２の例示的なラッパーと通信する例示的なインターフェースを示す。
【図７】クライアントアプリケーション内にプロセスデータを表示するために、例示的なラッパーの図１および／または図２と通信する無線デバイス上に表示された、例示的なインターフェースを示す。
【図８】ウェブブラウザ内にプロセスデータを表示する、例示的なインターフェースを示す。
【図９Ａ】図１および／または図２の例示的なウェブページサーバ、例示的なＯＰＣサーバ、例示的なラッパー、ウェブベースのインターフェース、ＯＰＣコンバータ、および／またはアダプタを実装するために使用し得る例示的な方法のフローチャートである。
【図９Ｂ】図１および／または図２の例示的なウェブページサーバ、例示的なＯＰＣサーバ、例示的なラッパー、ウェブベースのインターフェース、ＯＰＣコンバータ、および／またはアダプタを実装するために使用し得る例示的な方法のフローチャートである。
【図９Ｃ】図１および／または図２の例示的なウェブページサーバ、例示的なＯＰＣサーバ、例示的なラッパー、ウェブベースのインターフェース、ＯＰＣコンバータ、および／またはアダプタを実装するために使用し得る例示的な方法のフローチャートである。
【図１０】図１および／または図２の例示的なウェブページサーバ、例示的なＯＰＣサーバ、例示的なラッパー、ウェブベースのインターフェース、ＯＰＣコンバータ、および／またはアダプタを実装するために使用し得る例示的な方法のフローチャートである。
【図１１】本明細書に記載される例示的な方法および装置を実装するために使用し得る例示的なプロセッサシステムのブロック図である。
【発明を実施するための形態】
【０００８】
以下は、他のコンポーネントのうち、ハードウェアで実行されるソフトウェアおよび／またはファームウェアを含む、例示的な方法および装置について記載するが、このような実施例は、例示的なものにすぎず、制限的に考えられるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアのコンポーネントのうちのいずれかまたは全てが、ハードウェアのみ、ソフトウェアのみ、または、ハードウェアおよびソフトウェアの任意の組み合わせで、実現できることが考えられる。従って、以下に、例示的な方法および装置を記載するが、当業者は、記載される実施例だけが、かかる方法および装置を実装するための方法ではないことを容易に理解されるであろう。例えば、ＯＰＣに関連しておよび／または準拠して、例示的な方法および装置が記載されているが、例示的な方法および装置を、工業アプリケーション、製造アプリケーション、プロセス制御アプリケーション、オートメーションアプリケーション等で使用してもよい任意の他の解釈可能な（ｉｎｔｅｒｐｒｅｔａｂｉｌｉｔｙ）データパッケージングフォーマットによって、埋め込んでも（ｉｍｐｌａｎｔｅｄ）よい。
【０００９】
現在、ＯＰＣ  Ｆｏｕｎｄａｔｉｏｎは、プロセスデータをホストするサーバにアクセスするために、ウェブブラウザおよび／またはクライアントのプログラムアプリケーションによって使用されてもよい、プログラム的なインターフェースを定義するＯＰＣの仕様セットを発行している。このようなインターフェースは、サーバ内で開始し得る方法および／またはインスタンスについて、定義されている。さらに、ＯＰＣの仕様は、ＯＰＣ関連のサーバから、リクエスト側のクライアントアプリケーションへ受け渡されてもよいパラメータを指定する。ＯＰＣの仕様は、例えば、Ｃ＋＋、Ｖｉｓｕａｌ  Ｂａｓｉｃ、および／またはＣ＃等の手続き型プログラミング言語で記述される異なるプロトコルを使用してもよいインターフェースを定義する。
【００１０】
このようなサーバにアクセスするために、クライアントは、現在、このようなサーバのＯＰＣインターフェースのプロトコルに準拠するために、手続き型プログラミング言語で記述された実行可能なプログラムであるアプリケーションを作成している。アプリケーションは、ＯＰＣサーバ内に格納されてもよいプロセスデータおよび／または任意の他のタイプのデータを読み出し、書き込み、および／または加入するために、ユーザの位置に関わらず、１つ以上のユーザにアクセスを提供するように作成される。アプリケーションは、ユーザが、任意の位置のプロセスデータ（例えばオブジェクト）にアクセスできるように、任意のコンピューティングデバイス（例えばパーソナルコンピュータ、ラップトップ、スマートフォン等）上で動作してもよい。他の実施例において、アプリケーションは、ランタイムフレームワーク、データベース、および／またはＯＰＣサーバ内の他のデータソースにアクセスするカスタマイズされたウェブページとして、関連付けられたＯＰＣサーバ内にホストされてもよい。権限を有するユーザは、インターネットに接続可能な任意のデバイスを介して、このアプリケーションにアクセスしてもよい。
【００１１】
アプリケーションは、ＯＰＣサーバ内のディレクトリ位置と相互参照する事前定義されたデータフィールドを有してもよい。アプリケーションは、プロセスデータのタイプ（例えばオブジェクトタイプ）に基づいて、特定の表示（例えばテキストフィールド、グラフ、表、スプレッドシート等）のために、データフィールドを事前フォーマットしてもよい。さらに、クライアントアプリケーションは、ＯＰＣサーバに特有のプラットフォームおよび／または通信プロトコルについて作成されてもよい。例えば、クライアントアプリケーションは、典型的には、所望のＯＰＣサーバに対応するアドレスでコード化される。このようなコード化された機能、およびＯＰＣサーバ内のディレクトリ位置への参照のために、クライアントアプリケーションは、典型的には静的であり、１つの特定のＯＰＣサーバとのみ通信し得る。
【００１２】
ＯＰＣサーバからの各データ部分のために、各ＯＰＣサーバおよび／または１つのアプリケーションで１つの専門化されたアプリケーションを有することにより、クライアント（例えばプロセスプラントオペレータまたはエンジニア）は、１つ以上のＯＰＣサーバのデータにアクセスするために、多数のアプリケーションを開発する必要があり得る。加えて、ＯＰＣサーバへのインターフェースを修正する場合、ＯＰＣサーバのデータディレクトリが修正され、および／または、プロセスデータは、異なるＯＰＣサーバへ移行され、対応するアプリケーションは、変更を反映または受け入れるために修正する必要がある。ＯＰＣサーバのプロセスデータにアクセスするために、アプリケーションを定期的に更新する必要があるため、いくつかのクライアントが、プロセスデータにアクセスすることができなくなるインスタンスが生じる可能性がある。加えて、プロセスデータ位置の変更により、ＯＰＣサーバでホストされるアプリケーションおよびプロセスデータの間のリンクが壊れる可能性がある。
【００１３】
本明細書に記載される例示的な方法および装置は、クライアント位置のクライアントアプリケーションが、ラッパーを介して任意のＯＰＣサーバにアクセスすることを可能にする。データフィールドおよび／またはデータを作成することによる、クライアントおよびＯＰＣサーバの間のインターフェースとしての例示的なラッパー機能は、クライアントによってリクエストされたプロセスデータに基づいて表示する。いくつかの実施例において、ラッパーは、ＯＰＣサーバ内に含まれてもよく、また、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションを介して、クライアントにアクセス可能にしてもよい。他の実施例において、ラッパーは、クライアントサイトにおいて（例えば、クライアントおよび／またはユーザに関連付けられたコンピューティングデバイス上で）インストールされてもよい。また、さらに別の実施例において、ラッパーは、クライアントおよびＯＰＣサーバの間で通信可能に接続されるコンピューティングデバイス（例えばサーバ）内に含まれてもよい。
【００１４】
例示的なラッパーは、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションとして実装されてもよい。ウェブサーバアプリケーションは、クライアントがウェブブラウザを使用してアクセスしてもよい、データフィールド、グラフ、表、スプレッドシート等に埋め込まれたプロセスデータによって、ウェブページを作成するフレームワーク（例えばＡＳＰ．ＮＥＴフレームワークアプリケーション）である。ウェブサーバアプリケーションの例において、ラッパーは、ウェブページ内のプロセスデータ（例えばオブジェクト）を管理する。対照的に、クライアント表示アプリケーション（例えばＡｃｔｉｖｅＸ制御および／またはＳｉｌｖｅｒｌｉｇｈｔ（商標）アプリケーション）は、ウェブブラウザ内のランタイムアプリケーション（例えばプラグインアプリケーション）として表示可能なフレームワークである。このような実施例では、クライアント表示アプリケーションは、クライアント位置においてコンピューティングデバイス内にインストールされてもよい。クライアント表示アプリケーションは、ウェブブラウザが、ＯＰＣサーバに配置されたラッパーにアクセスする、および／または、これと通信する場合に、ウェブブラウザ内で開始されてもよい。加えて、クライアント表示アプリケーションは、データが、ウェブブラウザ内のデータフィールド、グラフ、表、スプレッドシート等内で表示されるように、ラッパーから、受信されたデータおよび／またはデータフィールド情報を構成してもよい。
【００１５】
例示的なラッパーは、１つ以上のＯＰＣサーバと通信するためのアダプタを含んでもよい。アダプタは、クライアントによってリクエストされたプロセスデータにアクセスするために、ＯＰＣサーバと通信するために、伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト伝送プロトコル（ＨＴＴＰ）、および／または拡張可能マークアップ言語（ＸＭＬ）を使用してもよい。例示的なラッパーはさらに、ＯＰＣサーバから受信されたＯＰＣフォーマットされたプロセスデータを、ウェブページフォーマットへ変換するための、ＯＰＣコンバータを含む。ウェブページフォーマットは、クライアント表示アプリケーション内の表示、および／またはウェブページ内の表示のために、ハイパーテキストマークアップ言語（ＨＴＭＬ）および／または任意の他のフォーマットを含んでもよい。さらに、ラッパーは、ウェブページおよび／またはクライアント表示アプリケーションを介して、クライアントに表示可能なウェブブラウザへプロセスデータを伝達する、ウェブベースのインターフェースを含む。
【００１６】
例示的なラッパーは、リクエストされたプロセスデータの１つ以上のタイプを決定することにより、リクエストされたプロセスデータ（例えばオブジェクト）のデータフィールドを、自動的に作成、構成、および／またはフォーマットしてもよい。プロセスデータのタイプには、サーバ識別情報、ファイルディレクトリ構成情報、数値データ、ストリングデータ、制御デバイスのステータスデータ、アラームデータ、および／または、製造システム等のプロセス制御システムに関連付けられてもよい任意の他のデータを含んでもよい。いくつかの実施例において、ラッパーは、プロセスデータに埋め込みおよび／または関連付けられたメタデータによって、データタイプを決定してもよい。他の実施例において、ラッパーは、プロセスデータのコンテンツに基づいて、データタイプを決定してもよい。データタイプの決定により、例示的なラッパーは、ウェブブラウザ内の表示のために、対応するプロセスデータによって、適切なデータフィールドを作成できる。データの表示のためのデータフィールドは、スプレッドシート、テキストフィールド、数値フィールド、グラフ、表、アニメーション等を含んでもよい。一実施例において、ラッパーは、プロセス制御情報のプロセスデータおよび／または表示タイプ（例えばスマートフォンのウェブブラウザまたはワークステーションのウェブブラウザ）のタイプに基づいて、拡張可能スタイルシート言語変換（ＸＳＬＴ）ベースのテンプレートを選択してもよい。
【００１７】
リクエストされたプロセスデータを有するこうしたデータフィールドの自動作成および投入（例えば埋め込み）によって、例示的なラッパーは、クライアントがＯＰＣサーバのデータにアクセスするために、リクエストに特有のアプリケーションを作成する必要を排除する。例示的なラッパーは、データタイプに基づいて、データフィールドを動的にフォーマットするため、ＯＰＣサーバおよび／またはＯＰＣサーバ内のプロセスデータ位置の任意の変更は、プロセスデータにアクセスするためのクライアントの能力に影響しない。言い換えると、クライアントは、ＯＰＣサーバが管理される方法、ＯＰＣサーバ内にプロセスデータが割り当てられる方法、プロセスデータが移行される方法および／またはプロセスデータのタイプを知らずに、プロセスデータにアクセスできる。さらに、プロセスデータは、ラッパーを介して、ウェブブラウザによってアクセスしてもよいため、クライアントは、通信プロトコル、インターフェースプロトコル、および／または動作中のプロトコルまたは特定のＯＰＣサーバに明示的に接続するアプリケーションを作成する必要はない。加えて、例示的なラッパーは、ＯＰＣサーバに関連付けられたプロトコルに関係なく、任意のＯＰＣサーバのために実施してもよい。さらに、例示的なラッパーは、特定のＯＰＣサーバプロトコルに接続されないため、ラッパーは、インストールされてもよく、および／または、ＯＰＣサーバに特有のアプリケーションよりも効率的に保守されてもよい。
【００１８】
図１は、ラッパー１１０を含むウェブページサーバ１０８を介して、クライアント１０６によってアクセス可能なオープンパッケージング規則（ＯＰＣ）サーバ１０４に通信可能に接続される、例示的な制御システム１０２を有する、制御環境１００を図示するブロック図である。ウェブページサーバ１０８および／またはラッパー１１０は、制御システム１０２からプロセスデータを受信するＯＰＣサーバ１０４に通信可能に接続されて示されるが、ウェブページサーバ１０８および／またはラッパー１１０は、製造施設、オートメーション施設、工業システム等の他のシステムからプロセスデータを受信する他のＯＰＣサーバに接続されてもよい。加えて、例示的なＯＰＣサーバ１０４は、制御システム１０２に通信可能に接続されるものとして示されるが、ＯＰＣサーバ１０４は、他の制御システムに通信可能に接続されてもよい。さらに、例示的な制御環境１００は、ウェブページサーバ１０８および／または他のウェブページサーバ（図示せず）を介して、ＯＰＣサーバ１０４に通信可能に接続してもよいさらなるクライアント（図示せず）を含んでもよい。
【００１９】
例示的な制御システム１０２は、任意のタイプの製造設備、プロセス設備、オートメーション設備、および／または任意の他のタイプのプロセス制御構造またはシステムを含んでもよい。いくつかの実施例において、制御システム１０２は、異なる位置に配置される複数の設備を含んでもよい。加えて、例示的な制御システム１０２はプロセス制御システム１１２を示すが、制御システム１０２は、さらなるプロセス制御システムを含んでもよい。
【００２０】
例示的なプロセス制御システム１１２は、データバス１１６を介して、コントローラ１１４に通信可能に接続される。プロセス制御システム１１２は、任意の数のフィールドデバイス（例えば入力および／または出力デバイス）を含んでもよい。フィールドデバイスは、入力を受信し、出力を生成し、および／またはプロセスを制御できる、任意のタイプのプロセス制御コンポーネントを含んでもよい。例えば、フィールドデバイスは、プロセスを制御するための、例えば、バルブ、ポンプ、ファン、ヒーター、クーラー、および／またはミキサー等の入力デバイスを含んでもよい。加えて、フィールドデバイスは、プロセスの一部を計測するための、例えば、温度計、圧力計、濃度計、液面計測器、流量計、および／または蒸気センサ等の出力デバイスを含んでもよい。入力デバイスは、特定のコマンドを実行し、プロセスを変更するために、コントローラ１１４の命令を受信してもよい。さらに、出力デバイスは、プロセスデータ、環境データ、および／または入力デバイスデータを測定してもよく、プロセス制御情報（例えばプロセスデータ）として、測定されたデータをコントローラ１１４に伝送する。このプロセスデータは、各フィールドデバイスからの測定された出力に対応する、変数（例えば測定されたプロセス変数および／または測定された品質変数）の値を含んでもよい。
【００２１】
図１の図示された実施例において、例示的なコントローラ１１４は、データバス１１６を介して、プロセス制御システム１１２内のフィールドデバイスと通信してもよい。このデータバス１１６は、プロセス制御システム１１２内のコンポーネントと通信するように接続されてもよい。通信コンポーネントは、フィールドデバイスからのデータを受信し、例示的なコントローラ１１４によって受信できる通信媒体に、データを変換するために、Ｉ／Ｏカードを含んでもよい。加えて、このようなＩ／Ｏカードは、コントローラ１１４からのデータを、対応するフィールドデバイスによってプロセス可能なデータフォーマットに変換してもよい。一実施例において、データバス１１６は、Ｆｉｅｌｄｂｕｓプロトコルまたは他のタイプの有線および／または無線通信プロトコル（例えばＰｒｏｆｉｂｕｓプロトコル、ＨＡＲＴプロトコル等）を使用して、実装されてもよい。
【００２２】
コントローラ１１４は、任意の有線および／または無線接続を介して、ＯＰＣサーバ１０４に通信可能に接続される。いくつかの実施例において、接続は、ファイヤウォールおよび／またはコントローラ１１４へのアクセスを制限するための他のセキュリティメカニズムを含んでもよい。コントローラ１１４は、コントローラ１１４が、プロセス制御システム１１２からプロセスデータを受信する際に、ＯＰＣサーバ１０４にプロセスデータを伝送してもよい。他の実施例において、コントローラ１１４は、時間間隔（例えば毎秒、毎時間、毎日等）において、ＯＰＣサーバ１０４へプロセスデータを伝送してもよい。あるいは、ＯＰＣサーバ１０４は、コントローラ１１４からのプロセスデータをリクエストしてもよい。
【００２３】
プロセスデータを受信する際に、図１の例示的なＯＰＣサーバ１０４は、ファイルシステム内にプロセスデータを格納する。ファイルシステムは、プロセス制御システム１１２を管理するために、プロセス制御システム１１２内のデバイスに基づいて、および／または、コントローラ１１４内で動作するルーチン（例えばアプリケーションおよび／またはアルゴリズム）に基づいて、ディレクトリおよび／またはサブディレクトリにより、階層的に編成してもよい。他の実施例において、ファイルシステムは、制御システム１０２のオペレータによって編成されてもよい。プロセスデータは、関連付けられたディレクトリおよび／またはサブディレクトリ内のパラメータに格納されてもよい。いくつかの実施例において、パラメータは、コントローラ１１４上で動作するルーチンに関連付けられた、または、プロセス制御システム１１２内のフィールドデバイス出力に関連付けられた変数にしてもよい。パラメータは、パラメータに関連付けられたプロセスデータのタイプを記述するメタデータを含んでもよい。
【００２４】
ディレクトリ、サブディレクトリ、ファイルおよび／またはパラメータはそれぞれ、エンドポイントに指定されてもよい。ＯＰＣサーバ１０４も、エンドポイントに指定されてもよい。このようなエンドポイントは、セキュリティアクセス、読み出しアクセス、加入アクセス、および／または書き込みアクセスによってグループ化されてもよい。エンドポイントは、ＯＰＣサーバ１０４に格納されたプロセスデータにアクセスするために、ラッパー１１０が使用し得る、アドレス、接続要素（ｂｉｎｄｉｎｇ  ｅｌｅｍｅｎｔ）、および／または契約要素（ｃｏｎｔｒａｃｔ  ｅｌｅｍｅｎｔ）を含んでもよい。ラッパー１１０は、参照されることにより、その全体が本明細書に組み込まれる、米国特許出願番号第１２／６３７，４３９号に記載されるように、エンドポイントを使用して、プロセスデータにアクセスしてもよい。
【００２５】
図１の例示的なラッパー１１０は、ウェブページサーバ１０８内に含まれる。ウェブページサーバ１０８は、ＯＰＣサーバ１０４およびクライアント１０６の間のインターフェースとして機能するデバイスおよび／またはアプリケーションである。いくつかの実施例において、ウェブページサーバ１０８は、ＯＰＣサーバ１０４内のインターフェースとして含まれてもよい。他の実施例において、ウェブページサーバ１０８は、クライアント１０６のコンピューティングデバイス内にインストールされてもよい。さらに他の実施例において、ウェブページサーバ１０８は、サーバ、またはクライアント１０６をＯＰＣサーバ１０４に通信可能に接続する、他のコンピューティングデバイス上で実装されてもよい。ウェブページサーバ１０８内の例示的なラッパー１１０は、プロセスデータ（例えばオブジェクト）にアクセスするためのクライアント１０６からのリクエストを受信し、ＯＰＣサーバ１０４からプロセスデータをリクエストし、プロセスデータを、クライアントによって表示可能なフォーマットに変換し、ウェブブラウザ内で表示するためのプロセスデータを埋め込むために、データフィールドを作成および／またはフォーマットする。例示的なラッパー１１０は、さらに、権限を有するユーザのみがプロセスデータを表示および／またはアクセス可能にするように、例えば、ユーザ認証および／または暗号化等のセキュリティ機能を含んでもよい。
【００２６】
ＯＰＣサーバ１０４にアクセスするために、例示的なラッパー１１０は、アダプタ１１８を含む。例示的なアダプタ１１８は、任意の有線および／または無線接続を介して、ＯＰＣ１０４のサーバと通信するために、ＴＣＰ、ＨＴＴＰ、および／またはＸＭＬベースの通信を使用してもよい。ラッパー１１０は、さらに、アダプタ１１８によって受信されたプロセスデータを、ウェブブラウザを介して表示可能なフォーマット（例えばＸＳＬＴベースのテンプレート）に変換するために、ＯＰＣコンバータ１２０を含む。例示的なラッパー１１０は、さらに、プロセスデータのフォーマット、レンダリング、埋め込みおよび／または表示のために、クライアント１０６にインターフェースを提供するための、ウェブベースのインターフェース１２２を含む。
【００２７】
例示的なクライアント１０６は、ＯＰＣサーバ１０４に格納されたプロセスデータの読み出し、書き込み、および／または加入を行う権限を有する個人に関連付けられてもよい。クライアント１０６は、さらに、リモート位置からＯＰＣサーバ１０４にアクセスし得る制御システム１０２に関連付けられた個人に関連付けられてもよい。クライアント１０６は、任意の有線および／または無線の通信媒体（例えばインターネット）を使用して、ウェブページサーバ１０８を介して、ＯＰＣサーバ１０４にアクセスしてもよい。
【００２８】
クライアント１０６が、プロセスデータ（例えばオブジェクト）にアクセスするためのリクエストを生成する一実施例において、ラッパー１１０は、クライアント１０６から、リクエストメッセージを受信する。特に、ウェブベースのインターフェース１２２は、リクエストを受信してもよい。リクエストを受信すると、ウェブベースのインターフェース１２２は、アダプタ１１８に、リクエストを転送する。アダプタ１１８は、リクエストされたプロセスデータを格納するＯＰＣサーバ（例えばＯＰＣサーバ１０４）を識別するために、リクエスト（例えばＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）送信先アドレス）内の情報を使用する。アダプタ１１８は、次いで、プロセスデータを取り出すために、ＯＰＣサーバ１０４にアクセスする。プロセスデータは、ＯＰＣに相当する相互運用データパッキングフォーマットに従って、ＯＰＣサーバ１０４内に格納されてもよい。アダプタ１１８は、プロセスデータにアクセスおよび／または、プロセスデータを読み出すために、プロセスデータに関連付けられたエンドポイントを使用してもよい。アダプタ１１８は、次いで、相互運用データパッキングフォーマットに関連付けられたフォーマットから、ウェブ閲覧フォーマットに、プロセスデータを変換する、ＯＰＣサーバ１０４からＯＰＣコンバータ１２０へ受信されたプロセスデータを転送する。ＯＰＣコンバータ１２０は、次いで、変換されたプロセスデータを、ウェブベースのインターフェース１２２へ転送する。ウェブベースのインターフェース１２２は、次いで、クライアント１０６によって表示可能なウェブページ内のウェブブラウザを介した表示のために、変換されたプロセスデータの少なくとも一部を、１つ以上の対応するデータフィールド（またはテンプレート）に埋め込むおよび／または配置する。
【００２９】
ウェブベースのインターフェース１２２は、プロセスデータに関連付けられたデータタイプによって、変換されたプロセスデータをパーティション分割し、どのデータタイプがデータフィールドに関連付けられているかを決定し、各データタイプのためにデータフィールドを作成し、各データタイプに関連付けられたデータを、関連付けられたデータフィールドに配置することによって、プロセスデータを、１つ以上のデータフィールドに埋め込んでもよい。ウェブベースのインターフェース１２２は、プロセスデータの各部分に関連付けられたメタデータを決定し、メタデータを関連付けられたデータフィールドと相互参照することにより、プロセスデータからのデータタイプを決定してもよい。
【００３０】
例示的なウェブベースのインターフェース１２２は、プロセスデータが、クライアントアプリケーション１２４を使用して、クライアント１０６によって表示可能になるように、プロセスデータをフォーマットできる。図１の実施例は、ウェブブラウザに関連し得るインターフェース１２６に、プロセスデータを表示するクライアントアプリケーション１２４を示す。クライアントアプリケーション１２４は、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションを含んでもよい。ラッパー１１０は、ウェブページの作成および／またはテンプレートウェブページのアクセスおよび、ウェブページ内のデータフィールドの配置または埋め込みによって、ウェブサーバアプリケーションのためにプロセスデータをフォーマットしてもよい。インターフェース１２６は、次いで、ウェブブラウザを介して、ｈｔｍｌリクエストおよび応答を使用して、ラッパー１１０および／またはウェブページサーバ１０８でホストされるウェブページにアクセスすることにより、プロセスデータを表示してもよい。あるいは、ラッパー１１０は、ウェブブラウザ（例えばインターフェース１２６）内で実行可能なクライアントアプリケーション１２４において、ウェブアプリケーション（例えばＡｃｔｉｖｅＸ、Ａｄｏｂｅ  Ｆｌａｓｈ（商標）および／またはＳｉｌｖｅｒｌｉｇｈｔ（商標））を初期化することにより、クライアント表示アプリケーションのためにプロセスデータをフォーマットしてもよい。いくつかの実施例において、クライアント１０６は、プロセスデータの表示前に、クライアント表示アプリケーションをダウンロードおよび／またはインストールしてもよい。ラッパー１１０は、プロセスデータおよび／またはデータフィールドを、クライアント表示アプリケーションに伝送する。いくつかの実施例において、ラッパー１１０は、クライアント表示アプリケーションにプロセスデータを伝送する前に、対応するデータフィールドにプロセスデータを関連付ける。プロセスデータを受信すると、クライアント表示アプリケーションは、対応するデータフィールド内でプロセスデータを表示するために、ウェブブラウザ（例えばインターフェース１２６）内で表示を作成（例えばレンダリング）する。
【００３１】
さらに、クライアント１０６は、データフィールドの修正および／またはウェブブラウザ内のプロセスデータの表示によって、クライアントアプリケーション１２４をカスタマイズしてもよい。例えば、クライアント１０６は、データフィールドを表示するために、ウェブブラウザ内の位置を指定してもよい。さらに、クライアント１０６は、色、テキストサイズ、数値規則、および／または、データフィールドを有するプロセスデータの任意の他のグラフ表示を修正してもよい。
【００３２】
クライアント１０６は、プロセスデータの読み出し、書き込み、および／または加入のために、ＯＰＣサーバ１０４にアクセスしてもよい。プロセスデータへの加入は、プロセスデータが、コントローラ１１４によって伝送される際に、リクエストされたプロセスデータの定期的および／または継続的更新を受信するように、例示的なラッパー１１０および／またはＯＰＣサーバ１０４からの権限（ａｕｔｈｏｒｉｚａｔｉｏｎ）の受信を含んでもよい。プロセスデータの読み出しは、ＯＰＣサーバ１０４に格納されたプロセスデータの現在の値の読み出しを含んでもよい。プロセスデータの書き込みは、ＯＰＣサーバ１０４内にプロセスデータとして格納されたパラメータの修正または変更のために、クライアント１０６からの値の受信を含んでもよい。データの書き込みは、さらに、プロセスデータに関連付けられたステータス、アラームおよび／またはフラグの修正を含んでもよい。書き込まれた値を受信すると、例示的なＯＰＣサーバ１０４は、プロセス制御システム１１２の動作を変更および／または修正するために、コントローラ１１４に書き込まれた値を伝送してもよい。クライアント１０６が、プロセスデータにアクセスできるようにするために、例示的なラッパー１１０は、暗号化、認証、インテグリティコード、および／またはユーザに特有のアクセス制御リストを含む、セキュリティ機能を実装してもよい。ユーザおよび／またはクライアント１０６が、プロセスデータにアクセスする権限を有していない実施例において、例示的なラッパー１１０は、プロセスデータへの読み出しアクセスのみを提供してもよい、あるいは、プロセスデータへの任意のアクセスを提供しなくてもよい。
【００３３】
図２は、図１の例示的なラッパー１１０の機能ブロック図である。ラッパー１１０は、図１のアダプタ１１８、ＯＰＣコンバータ１２０、およびウェブベースのインターフェース１２２を含む。図２のラッパー１１０内の機能ブロックのそれぞれは、複数のクライアントおよび／またはＯＰＣサーバを円滑にしてもよく、あるいは、ラッパー１１０は、各通信可能に接続されるＯＰＣサーバの機能ブロック、および／または各クライアント（例えばクライアント１０６）の機能ブロックを含んでもよい。
【００３４】
クライアント１０６および／またはクライアントアプリケーション１２４との通信のための、暗号化および／またはエンドポイントアクセス制御等のセキュリティ対策を提供するために、図２の例示的なラッパー１１０は、セキュリティプロセッサ２０２を含む。例示的なセキュリティプロセッサ２０２は、権限を有していないサードパーティから発信される通信をプロテクトするために、例えば、暗号化プロセッサおよび／またはデジタル署名生成器を含んでもよい。暗号化プロセッサは、権限を有していないユーザに読み出し不可能なフォーマットでクライアントアプリケーション１２４に方向付けられた通信をフォーマットするために、任意のタイプの暗号化エンコーダを使用してもよい。デジタル署名発生器は、クライアントアプリケーション１２４のための通信が、権限を有していないサードパーティによって、改ざんされないよう（ｔａｍｐｅｒｅｄ  ｗｉｔｈ）にする。デジタル署名発生器は、クライアントアプリケーション１２４およびラッパー１１０の間で権限を有していないサードパーティによって修正された値の検出を可能にする、任意のタイプの暗号的に安全な署名発生器（例えばハッシュコード）を使用してもよい。加えて、セキュリティプロセッサ２０２は、認証メカニズムおよび／またはアクセス制御を含む他の形式の通信セキュリティを含んでもよい。例示的なセキュリティプロセッサ２０２は、クライアントアプリケーション１２４および／またはクライアント１０６から発信される、暗号化および／または署名された通信をデコードしてもよい。通信をデコードすると、セキュリティプロセッサ２０２は、ラッパー１１０内の意図された発信先へ、通信を伝送する。
【００３５】
図２の実施例において、セキュリティプロセッサ２０２は、クライアント１０６を含む１つ以上のクライアントに通信可能に接続される。セキュリティプロセッサ２０２は、権限を有するクライアントのみが、所望のＯＰＣサーバ内のプロセスデータにアクセスできるように、識別情報によって、クライアントおよび／または他の個人から発信されたリクエストメッセージをフィルタしてもよい。さらに、セキュリティプロセッサ２０２は、クライアントアプリケーション１２４内に実装されるクライアント表示アプリケーションへ、プロセスデータおよび／またはデータフィールドを転送してもよい。他の実施例において、セキュリティプロセッサ２０２は、プロセスデータを表示するウェブページをホストしてもよい、クライアント１０６およびウェブベースのインターフェース１２２の間の安全な通信を可能にする。
【００３６】
１つ以上のクライアントおよび例示的なウェブベースのインターフェース１２２の間のデータ通信を管理するために、図２の例示的なラッパー１１０は、セッションコントローラ２０４を含む。例示的なセッションコントローラ２０４は、ラッパー１１０と通信するクライアント（例えば図１のクライアント１０６）のために、アクセスセッションを管理する。アクセスセッションは、ウェブベースのインターフェース１２２およびクライアントの間のオープンな通信パスを表す。各クライアントは、異なるＯＰＣサーバから異なるデータソースおよび／またはデータタイプへのアクセスをリクエストしてもよいため、アクセスセッションは、ウェブベースのインターフェース１２２にアクセスする各クライアントで作成されてもよい。このため、例示的なセッションコントローラ２０４は、ウェブベースのインターフェース１２２が、クライアントに、クライアントによってリクエストされたプロセスデータのみを提供することを保証する。
【００３７】
セッションコントローラ２０４は、クライアントからプロセスデータにアクセスするための、リクエストメッセージを受信後に、セッションを開始する。リクエストは、ウェブブラウザおよび／またはクライアントアプリケーション１２４を介したリクエストの形態にしてもよい。セッションコントローラ２０４によってセッションが開かれるまで、セッションコントローラ２０４は、クライアントからの任意の他のリクエストを拒否してもよい。セッションがオープンである間、セッションコントローラ２０４は、クライアントから、ウェブベースのインターフェース１２２へ、各リクエストメッセージをルーティングする。加えて、セッションコントローラ２０４は、ウェブページで表示可能なデータフィールドおよび／またはプロセスデータに関連付けられてもよい、選択されたプロセスデータおよびその関連付けられた読み出しまたは書き込みエンドポイントへの参照を格納してもよい。
【００３８】
図２のラッパー１１０内に含まれる例示的なウェブベースのインターフェース１２２は、プロセスデータを管理、フォーマットおよび／または構成することによって、クライアントにインターフェースを提供する。ウェブベースのインターフェース１２２は、ＯＰＣコンバータ１２０から、ウェブブラウザ内で表示可能なフォーマットで、プロセスデータ（例えばオブジェクト）を受信する。例示的なウェブベースのインターフェース１２２は、さらに、プロセスデータにアクセスするために、クライアントからのリクエストを処理する。クライアントからのリクエストを受信すると、ウェブベースのインターフェース１２２は、セッションコントローラ２０４へ命令を送信し、リクエストをアダプタ１１８へ転送することにより、アクセスセッションを開始する。いくつかの実施例において、ウェブベースのインターフェース１２２は、セキュリティプロセッサ２０２が、そのリクエストが認証されたクライアントに関連付けられたことを決定した後で、リクエストを受信する。加えて、ウェブベースのインターフェース１２２は、クライアントがウェブブラウザを閉じるおよび／または終了し、および／または、クライアントアプリケーションが、セッションを終了するために命令を送信する場合に、アクセスセッションを閉じてもよい。
【００３９】
ウェブベースのインターフェース１２２が、リクエストに関連付けられたプロセスデータを受信する場合に、ウェブベースのインターフェース１２２は、プロセスデータをデータプロセッサ２０６に転送することにより、プロセスデータに関連付けられた１つ以上のデータタイプを決定する。例示的なデータプロセッサ２０６は、プロセスデータの一部内に含まれてもよいメタデータを識別する。あるいは、データプロセッサ２０６は、値タイプ、プロパティ、変数タイプ、および／またはプロセスデータに関連付けられてもよい任意の他の識別子に基づいて、プロセスデータを、対応するデータフィールドに相互参照するために、データタイプデータベース２０８にアクセスする。例示的なデータタイプデータベース２０８は、電子的に消去可能なプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、および／または任意の他のタイプのメモリによって実装されてもよい。
【００４０】
図２の例示的なデータプロセッサ２０６は、プロセスデータに関連付けられたデータタイプを決定する際に、データタイプと相互参照し得るデータフィールドの１つ以上のデータ表示変数に、プロセスデータを割り当てることで、データフィールドによって、プロセスデータを関連付けるおよび／または構成する。データプロセッサ２０６および／またはウェブベースのインターフェースは、さらに、プロセスデータの数値、英数字、および／またはフラグ値を、適切なデータフィールドに格納してもよい。
【００４１】
さらに、データプロセッサ２０６は、プロセスデータを表示するために、テンプレートのデータタイプデータベース２０８にアクセスしてもよい。テンプレートは、ＸＭＬ情報（例えばプロセスデータ）を、ウェブブラウザ内の表示のために、ＨＴＭＬに変換するＸＳＬＴテンプレートを含んでもよい。データプロセッサ２０６は、プロセスデータのタイプ、プロセスデータの値、プロセスデータのプロパティ、および／またはターゲット表示情報に基づいて、テンプレートを選択してもよい。ターゲット表示情報は、プロセスデータを表示するためのウェブブラウザおよび／またはデバイスのタイプを識別してもよい。例えば、ターゲット表示情報は、プロセスデータが、スマートフォンのウェブブラウザまたはワークステーション上のウェブブラウザに表示されるかどうかを指定してもよい。スマートフォンのテンプレートは、ワークステーションのウェブブラウザのテンプレートと比較して、比較的小さい画面に、プロセスデータを表示するように構成してもよい。
【００４２】
ウェブベースのインターフェース１２２は、データプロセッサ２０６からプロセスデータのデータタイプを受信し、プロセスデータでデータフィールドをコンパイルする。ウェブベースのインターフェース１２２は、次いで、プロセスデータ（例えば、各データフィールドに関連付けられたプロセスデータのコンパイル部分）を、テンプレートの適切なデータフィールドに埋め込むおよび／または配置してもよい。ウェブベースのインターフェース１２２は、データタイプによってプロセスデータをパーティション分割し、どのデータタイプがデータフィールドに関連付けられるかを決定するために、データプロセッサ２０６から情報および／またはテンプレートを使用し、各データタイプのためにデータフィールドを作成し、各データタイプに関連付けられたプロセスデータを、関連付けられたデータフィールドに配置することで、データフィールドに、プロセスデータの一部を埋め込む。いくつかの実施例において、データフィールドは、１つより多いデータタイプに関連付けられてもよい。ウェブベースのインターフェース１２２は、次いで、データフィールドを含むウェブページに、プロセスデータを埋め込んでもよい。
【００４３】
クライアントアプリケーション（例えばクライアントアプリケーション１２４）を使用して、クライアントがプロセスデータをリクエストし得る実施例において、例示的なウェブベースのインターフェース１２２は、アプリケーションのタイプを決定する。ウェブベースのインターフェース１２２は、リクエストメッセージに関連付けられたプロトコルおよび／またはアプリケーション言語および／または、リクエストメッセージ内のクライアントアプリケーションに関連付けられた任意のメタデータを識別することで、クライアントアプリケーションのタイプを決定してもよい。例えば、ウェブサーバアプリケーションを使用するクライアントは、ＡＳＰ．ＮＥＴアプリケーションで関連付けられたプロトコルを含んでもよく、一方で、クライアント表示アプリケーションを使用するクライアントは、Ｓｉｌｖｅｒｌｉｇｈｔ（商標）またはＡｃｔｉｖｅＸアプリケーションに関連付けられたプロトコルおよび／またはメッセージを含んでもよい。クライアントアプリケーションのタイプに基づいて、例示的なウェブベースのインターフェース１２２は、データフィールド内のプロセスデータを表示するために、適切なウェブブラウザおよび／またはプログラムのインターフェースを作成および／または構成する。
【００４４】
クライアントアプリケーションのタイプを決定すると、ウェブベースのインターフェース１２２および／またはデータプロセッサ２０６は、表示のために、プロセスデータ、および／またはデータフィールドをフォーマットする。クライアントアプリケーション１２４がウェブサーバアプリケーションに関連付けられる実施例において、ウェブベースのインターフェース１２２は、ウェブブラウザを介して、クライアント１０６からリクエストを受信し、プロセスデータにアクセスするためにアダプタ１１８にリクエストを転送し、ＯＰＣコンバータ１２０からプロセスデータを受信する。ウェブブラウザを介するクライアント１０６からのリクエストは、ＨＴＭＬ文書の形態にしてもよい。さらに、ウェブベースのインターフェース１２２は、クライアント１０６のウェブブラウザを、新しく作成されたアクセスセッションに関連付けるために、セッションコントローラ２０４に命令を送信してもよい。次いで、ウェブベースのインターフェース１２２は、プロセスデータを含むデータフィールドで、ウェブページを作成する。データフィールドは、例えば、リスト、スプレッドシート、グラフ、表、グラフ表示、アニメーション等を含んでもよい。さらに、データフィールドの位置は、テンプレートによって指定されてもよい。次いで、ウェブベースのインターフェース１２２は、クライアント位置にウェブページを表示するために、クライアント１０６のウェブブラウザに、ウェブページのコンテンツを伝送する。ウェブページ内のプロセスデータは、任意のＨＴＴＰ、ＸＭＬ、ＸＳＬＴ、および／または任意の他のインターネットウェブページ伝送フォーマットを介して、フォーマットされたコンテキストで、ウェブブラウザにより、クライアント１０６に伝送される。
【００４５】
ウェブブラウザがクライアント表示アプリケーションを含む実施例において、例示的なウェブベースのインターフェース１２２は、ウェブブラウザを介してクライアント１０６からリクエストを受信し、プロセスデータにアクセスするために、アダプタ１１８にリクエストを転送し、ＯＰＣコンバータ１２０からプロセスデータを受信し、ウェブブラウザ内のクライアント表示アプリケーションを開始する。ウェブブラウザを介したクライアント１０６からのリクエストは、通話の形態にしてもよい。プロセスデータのフォーマットおよび／または構成の際に、ウェブベースのインターフェース１２２は、クライアント表示アプリケーションのプロトコルに関連付けられたフォーマットで、クライアントにプロセスデータを伝送する。クライアント表示アプリケーションは、次いで、関連付けられたデータフィールド内にプロセスデータを示すクライアント位置でウェブブラウザ内の表示を作成する。
【００４６】
クライアント表示アプリケーションは、いくつかの実施例において、ウェブブラウザを用いることなくウェブベースのインターフェース１２２にアクセスしてもよい、任意のプログラム的なクライアントを含んでもよい。このような実施例では、ウェブベースのインターフェース１２２は、プログラムのクライアントを新しく作成されたアクセスセッションに関連付け、プログラム的なクライアントに関連付けられた任意のプロトコルを介して、クライアントに、リクエストプロセスデータおよび／またはデータフィールドを転送する。プログラム的なクライアントは、次いで、関連付けられたデータフィールド内にプロセスデータを示す表示を作成する。
【００４７】
例示的なウェブベースのインターフェース１２２は、クライアントに、読み出しアクセス、書き込みアクセス、および／または加入アクセスを提供する。読み出しアクセスをリクエストするクライアントに対し、ウェブベースのインターフェース１２２は、現在のプロセスデータに対して、アダプタ１１８に単一のリクエストを転送する。プロセスデータを受信およびフォーマットすると、ウェブベースのインターフェース１２２は、クライアントアプリケーションに、リクエストされたプロセスデータを提供する。
【００４８】
あるいは、クライアントが加入アクセスをリクエストする場合、ウェブベースのインターフェース１２２は、時間間隔を置いてプロセスデータを受信するために、アダプタ１１８に定期的メッセージを送信してもよい。いくつかの実施例において、クライアントは、プロセスデータを受信するために、時間間隔を指定してもよい。さらに、ウェブベースのインターフェース１２２が、ウェブページおよび／またはプログラム的なアプリケーションの表示構成を作成後、ウェブベースのインターフェース１２２は、より最近のプロセスデータによる、データフィールドの定期的および／または継続的更新を提供する。ウェブベースのインターフェース１２２は、リクエスト側のクライアントとの通信を維持する、既にアクティブなアクセスセッションを介して、更新を提供する。データフィールドの更新は、対応するＯＰＣサーバに格納された最も最近のプロセスデータによる、傾向グラフ、プロセスステータスアラート、および／またはフラグの更新を含んでもよい。このため、ウェブベースのインターフェース１２２は、ウェブブラウザをリフレッシュする必要および／または、プロセスデータを定期的にリクエストする必要なく、クライアントが、最も最近のプロセスデータにアクセスすることを可能にする。
【００４９】
クライアントが書き込みアクセスをリクエストできるさらに他の実施例において、例示的なウェブベースのインターフェース１２２は、ＨＴＭＬドキュメントまたは方法のリクエストによって、ウェブページおよび／またはプログラム的なアプリケーションから書き込まれたプロセスデータを受信する。次いで、ウェブベースのインターフェース１２２は、書き込まれたデータ値に関連付けられた変数を識別する。他の実施例において、ウェブベースのインターフェース１２２は、データタイプデータベース２０８内で指定されたデータタイプと、データ値を相互参照するために、データプロセッサ２０６にアクセスしてもよい。ウェブベースのインターフェース１２２は、次いで、適切な変数および／またはＯＰＣサーバの一部にデータ値を転送するために、ＯＰＣコンバータ１２０および／またはアダプタ１１８へ命令を送信する。ＯＰＣサーバは、次いで、書き込まれたデータ値を格納してもよく、および／または、書き込まれたデータ値を、コントローラ内の適切な位置に転送してもよい。
【００５０】
例示的なウェブベースのインターフェース１２２は、次に同一のクライアントが同一のタイプのプロセスデータをリクエストするときに、ウェブベースのインターフェース１２２が、クライアントの以前のカスタマイズに部分的に基づいて、データフィールド内のプロセスデータをフォーマットできるように、クライアントカスタマイズ情報を、データベース（図示せず）に格納してもよい。ウェブベースのインターフェース１２２は、データフィールド内のプロセスデータの外観および／またはデータ表示を変更するために、ウェブブラウザおよび／またはプログラム的なアプリケーションによって、クライアントにより実行される任意の修正によって、クライアントカスタマイズを識別してもよい。クライアントは、プロセスデータの色、テキストサイズ、数値規則、および／または任意の他のグラフ表示を修正してもよい。
【００５１】
ＯＰＣサーバ（例えばＯＰＣサーバ１０４）にアクセスするために、図２の例示的なラッパー１１０は、アダプタ１１８を含む。例示的なアダプタ１１８は、任意の有線および／または無線接続を介して、ＯＰＣサーバと通信するために、ＴＣＰ、ＨＴＴＰ、ＸＭＬ、および／または任意の他の伝送プロトコルを使用してもよい。アダプタ１１８は、ウェブベースのインターフェース１２２からＯＰＣサーバにアクセスするための、リクエストを受信する。リクエストを受信すると、アダプタ１１８は、クライアントリクエストを、特定のＯＰＣサーバと相互参照するために、ＯＰＣサーバ参照データベース２１０にアクセスすることにより、プロセスデータを格納するＯＰＣサーバを識別する。例示的なＯＰＣサーバ参照データベース２１０は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ、および／または任意の他のタイプのメモリによって実装されてもよい。
【００５２】
いくつかの実施例において、クライアントリクエストは、ＯＰＣサーバのウェブアドレスおよび／または識別子を含んでもよい。アダプタ１１８は、リクエストされたＯＰＣサーバの位置を決定するために、ＯＰＣサーバ参照データベース２１０を参照してもよい。いくつかの実施例において、アダプタ１１８は、リクエストされたプロセスデータにアクセスするために、２つ以上のＯＰＣサーバにアクセスしてもよい。ＯＰＣサーバの位置を決定すると、アダプタ１１８は、プロセスデータのＯＰＣサーバに、リクエストを送信する。アダプタ１１８は、サーバに格納されたＯＰＣデータのディレクトリおよび／またはファイル構造を決定することにより、ＯＰＣサーバのプロセスデータにアクセスしてもよい。アダプタ１１８は、ウェブブラウザおよび／またはプログラム的なアプリケーションを介して、クライアントが、１つ以上のディレクトリおよび／またはサブディレクトリを選択できるようにするために、このディレクトリおよび／またはファイル構造を、ウェブベースのインターフェース１２２に中継してもよい。ディレクトリおよび／またはサブディレクトリを選択することで、クライアントは、表示および／またはアクセスすることが望ましいプロセスデータを指定する。他の実施例において、クライアントは、所望のプロセスデータのディレクトリおよび／またはサブディレクトリ位置を含んでもよい。さらに他の例において、クライアントは、アダプタ１１８が、リクエストされたプロセスデータにアクセスするために、ＯＰＣサーバをナビゲートするために使用してもよい変数名、プロセスデータ識別子、および／または任意の他のデータ識別情報を指定してもよい。
【００５３】
例示的なアダプタ１１８は、指定されたエンドポイントを使用して、ＯＰＣサーバのディレクトリ、サブディレクトリ、および／またはファイルをナビゲートしてもよい。例えば、アダプタ１１８は、ＯＰＣサーバに対応するエンドポイントを識別するために、ＯＰＣサーバ参照データベース２１０にアクセスしてもよい。ＯＰＣサーバは、次いで、階層、読み出しアクセス、書き込みアクセス、および／または加入アクセスに基づいて、プロセスデータに関連付けられたアダプタ１１８にエンドポイントを返してもよい。次いで、アダプタ１１８は、どのエンドポイントがリクエストされたプロセスデータに関連付けられているかを決定してもよく、プロセスデータを格納するＯＰＣサーバ内の位置を閲覧および／または配置するために、エンドポイントを使用する。
【００５４】
アダプタ１１８が、ウェブベースのインターフェース１２２から読み出しおよび／または加入命令を受信する実施例では、アダプタ１１８は、リクエストされたプロセスデータに関連付けられた対応する読み出しおよび／または加入エンドポイントにアクセスしてもよい。さらに、プロセスデータ（例えばプロセスデータの加入）を受信するためにクライアントが定期的な間隔を指定し得る実施例において、アダプタ１１８は、所望のプロセスデータで、定期的な間隔を置いて、ＯＰＣサーバをポーリングしてもよい。
【００５５】
クライアントがプロセスデータをデータフィールドへ書き込み得るさらなる他の実施例において、アダプタ１１８は、値、および／またはウェブベースのインターフェース１２２からの識別子に関連付けられた値を受信する。アダプタ１１８は、次いで、書き込まれたデータ値に関連付けられたファイルおよび／またはディレクトリ位置を配置するために、（例えば、書き込みエンドポイントを使用して）ＯＰＣサーバをナビゲートする。次いで、アダプタ１１８は、書き込まれた値をＯＰＣサーバ内の適切な位置に格納する。クライアントが値を書き込み得る、いくつかの実施例において、アダプタ１１８は、ＯＰＣコンバータ１２０が、値をウェブページおよび／またはプログラムのアプリケーションフォーマットから、ＯＰＣフォーマットに変換した後、値を受信してもよい。
【００５６】
図２の例示的なアダプタ１１８は、アダプタ１１８が、異なるプロトコル、インターフェース、オペレーティングシステム、および／またはファイルシステムと共に動作してもよい異なるＯＰＣサーバと、インターフェース接続および／または通信することを可能にする機能を含む。ＯＰＣサーバ参照データベース２１０は、プロトコル、インターフェース、オペレーティングシステム、および／または各ＯＰＣサーバに関連付けられたファイルシステムへの参照を含んでもよい。次いで、アダプタ１１８が、アクセスするＯＰＣサーバを識別する場合、アダプタ１１８は、ＯＰＣサーバと適切に通信および／またはインターフェース接続するために、プロトコル、インターフェース、オペレーティングシステム、および／またはＯＰＣサーバに関連付けられたファイルシステム情報を使用してもよい。
【００５７】
ＯＰＣサーバからリクエストされたプロセスデータを受信および／またはアクセスする際に、例示的なアダプタ１１８は、プロセスデータをＯＰＣコンバータ１２０に転送する。図２の例示的なＯＰＣコンバータ１２０は、任意のＯＰＣおよび／またはパッケージに関連するフォーマットから、ウェブブラウザおよび／または任意の他のプログラムのアプリケーション内で表示可能なフォーマットに、プロセスデータを変換する。プロセスデータを、ウェブ閲覧フォーマットおよび／または任意の他のプログラムのアプリケーションフォーマットに変換すると、ＯＰＣコンバータ１２０は、変換されたプロセスデータを、ウェブベースのインターフェース１２２に転送する。さらに、ＯＰＣコンバータ１２０は、ウェブベースのインターフェース１２２から、書き込まれた値および／またはプロセスデータを受信してもよい。このような実施例では、ＯＰＣコンバータ１２０は、書き込まれたデータのウェブ閲覧および／またはプログラム的なアプリケーションフォーマットを、アダプタ１１８が書き込まれたデータをＯＰＣサーバに格納するために使用してもよい、ＯＰＣフォーマットに変換する。ＯＰＣコンバータ１２０は、ＯＰＣおよび／または任意の他のデータパッケージング規則に特有であってもよい任意のアプリケーション、フレームワーク、データ変換アルゴリズム等を使用してもよい。
【００５８】
ラッパー１１０を実施する一実施例の方法を、図２において示すが、図２に図示されたインターフェース、データ構造、要素、プロセスおよび／またはデバイスのうちの１つ以上を、任意の他の方法で組み合わせ、分割、再構成、省略、排除および／または実装してもよい。例えば、図２において図示された例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、および／または例示的なＯＰＣサーバ参照データベース２１０を、例えば、１つ以上のコンピューティングデバイスおよび／またはコンピューティングプラットフォーム（例えば図１１の例示的なプロセッシングプラットフォームＰ１０）によって実行される、マシンでアクセス可能なまたは読み出し可能な命令を使用して、個別におよび／または任意の組み合わせで実装してもよい。
【００５９】
さらに、例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、例示的なＯＰＣサーバ参照データベース２１０および／または、より一般的には、ラッパー１１０を、ハードウェア、ソフトウェア、ファームウェアおよび／またはハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合わせによって、実装してもよい。このため、例えば、例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、例示的なＯＰＣサーバ参照データベース２１０および／または、より一般的には、ラッパー１１０のうちのいずれかを、１つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能な論理デバイス（ＰＬＤ）および／またはフィールドプログラム可能な論理デバイス（ＦＰＬＤ）等によって実施できる。さらに、図２の例示的なラッパー１１０は、図２において図示されたものに加えて、またはその代わりに、１つ以上の要素、プロセスおよび／またはデバイスを含んでもよく、および／または、図示された要素、プロセスおよびデバイスのいずれかまたは全てのうちの１つより多くを含んでもよい。
【００６０】
図３は、ウェブブラウザに表示されたサーバ識別プロセスデータの例示的なインターフェース３００を示す。インターフェース３００は、スタイルシートおよび／またはテンプレートと称されてもよい。インターフェース３００は、アプリケーションウィンドウとして示される。しかしながら、他の実施例において、インターフェース３００は、ウェブブラウザおよび／または任意の他のプログラムのクライアントに関連付けられたナビゲーション機能を含んでもよい。さらに、例示的なインターフェース３００は、データフィールド内のプロセスデータを表示する１つの方法として示されるが、他の例示的なインターフェースは、プロセスデータを表示するために作成されてもよい。
【００６１】
図３の実施例は、Ｓｅｒｖｅｒ  Ｐｒｏｐｅｒｔｉｅｓタブ３０２に関連付けられたサーバ識別情報を表示するインターフェース３００を示す。インターフェース３００は、ナビゲーションパネル３０４およびデータパネル３０６を含む。パネル３０４および３０６は、プロセスデータを表示するために、一般的なテンプレートとして事前に構成されてもよい。図１および／または図２の例示的なラッパー１１０は、次いで、データフィールドおよび関連付けられたプロセスデータを構成する、および／または埋め込むためのテンプレートまたはスタイルシートを使用してもよい。例えば、データパネル３０６は、プロセスデータに関連付けられた変数および／またはパラメータ名（例えばＡｔｔｒｉｂｕｔｅ）、およびデータ値（例えばＶａｌｕｅ）を表示するように、事前構成されてもよい。次いで、ラッパー１１０は、サービス識別に関連付けられたデータフィールドを、Ａｔｔｒｉｂｕｔｅカラムおよび／またはＶａｌｕｅカラムに埋め込みおよび／または配置してもよい。例えば、ＯＰＣサーバ名を記述するプロセスデータは、「ＯＰＣ  ＤＡサーバ」のＶａｌｕｅによって、「ＳｅｒｖｅｒＮａｍｅ」Ａｔｔｒｉｂｕｔｅとして識別されてもよい。
【００６２】
クライアントは、ウェブアドレスおよび／またはインターネットプロトコル（ＩＰ）アドレスをウェブブラウザに入力することにより、インターフェース３００に示されるプロセスデータにアクセスしてもよい。次いで、ウェブブラウザは、図１のラッパー１１０および／またはウェブページサーバ１０８にナビゲートしてもよい。ラッパー１１０は、ウェブアドレスおよび／またはＩＰアドレスを、インターフェース３００に示されるＯＰＣサーバに、分解する（ｒｅｓｏｌｖｅｓ）。次いで、ラッパー１１０は、ＯＰＣサーバに関連付けられたプロセスデータを取り出し、プロセスデータをウェブ閲覧フォーマットに変換し、プロセスデータのデータタイプを識別し、インターフェース３００に関連付けられたテンプレートを選択し、プロセスデータをインターフェース３００に埋め込み、ウェブブラウザを介してクライアントにインターフェース３００を表示してもよい。この例において、ラッパー１１０は、データ値に関連付けられた属性のメタデータを識別することにより、プロセスデータのタイプを決定する。次いで、ラッパー１１０は、属性名に対応するデータ値のリストを作成してもよい。
【００６３】
例示的なナビゲーションパネル３０４は、ＯＰＣサーバに関連付けられたＯＰＣサーバ識別情報のディレクトリおよび／またはファイル構造を示す。クライアントは、データパネル３０６内に表示されたＯＰＣサーバ情報に関連付けられたプロセスデータを選択するために、ナビゲーションパネル３０４内のディレクトリ構造をナビゲートしてもよい。クライアントは、ナビゲーションパネル３０４内の他のディレクトリを選択することにより、他のＯＰＣサーバデータを選択的に表示してもよい。例示的なラッパー１１０は、ＯＰＣサーバからこのディレクトリ構造（例えばプロセスデータ）を取り出し、ナビゲーションパネル３０４のテンプレートを使用して、データフィールド内のディレクトリ構造を構成してもよい。
【００６４】
図４は、ウェブブラウザに表示されたサーバ階層ディレクトリの例示的なインターフェース４００（例えばスタイルシート）を示す。階層ディレクトリは、Ｏｂｊｅｃｔ  Ｔｒｅｅタブ４０２を選択することで示され、ＯＰＣサーバに格納されるプロセスデータのデータ構造を表してもよい。図１および／または図２の例示的なラッパー１１０は、ＯＰＣサーバに格納された階層ディレクトリ構造を取り出し、データをウェブ閲覧フォーマットに変換し、データ構造に関連付けられたデータタイプを決定する。次いで、ラッパー１１０は、ナビゲーションパネル４０４内のデータフィールドに階層ディレクトリを構成、編成、および配置する。クライアントは、所望のプロセスデータを含むディレクトリおよび／またはサブディレクトリを選択するために、ナビゲーションパネル４０４内のディレクトリをナビゲートしてもよい。階層ディレクトリは、制御システム内のデバイスの構造および／またはコントローラで動作される制御ルーチンの構造を反映するために組織してもよい。例示的なラッパー１１０は、ディレクトリ構造をナビゲートし、ウェブブラウザ内のクライアントに階層ディレクトリを提供するために、エンドポイントアドレスを使用してもよい。
【００６５】
例示的なインターフェース４００は、さらに、クライアントによって提供された入力に基づいて、任意のディレクトリをフィルタするためのフィルタパネル４０６を含む。インターフェース４００は、さらに、変数および／またはパラメータ名（例えばＡｔｔｒｉｂｕｔｅ）および選択されたディレクトリのための対応するプロセスデータ（例えばＶａｌｕｅ）を含むデータフィールドを示す、データパネル４０８を含む。図４の実施例において、クライアントは、ＰＩＤ１ディレクトリを選択する。従って、ラッパー１１０は、ＰＩＤ１ディレクトリに関連付けられたプロセスデータを取り出し、ウェブブラウザによって、データパネル４０８に表示するために、プロセスデータを埋め込む。
【００６６】
図５は、ウェブブラウザに表示されたプロセスデータの例示的なインターフェース５００を示す。プロセスデータは、Ｄａｔａ  Ｌｉｓｔｓタブ５０２を選択することにより、ウェブブラウザに表示される。クライアントがＤａｔａ  Ｌｉｓｔｓタブ５０２を選択する際に、図１および／または図２の例示的なラッパー１１０は、プロセスデータを取り出す。インターフェース５００は、加入パネル５０４およびデータパネル５０６を含む。パネル５０４および／または５０６のレイアウトは、Ｄａｔａ  Ｌｉｓｔｓタブ５０２内で取り出され得るプロセスデータタイプに基づいて、事前構成されてもよい。
【００６７】
加入パネル５０４は、クライアントが、データパネル５０６に表示されたプロセスデータのリフレッシュレートを指定することを可能にする。この例において、クライアントは、５０００ミリ秒の（ｍｓｅｃ）更新レートを指定する。加入パネル５０４はさらに、クライアント識別子（例えばＣｌｉｅｎｔ  Ｉｄ）、ＯＰＣサーバ識別子（Ｓｅｒｖｅｒ  Ｉｄ）、および選択されたリフレッシュレート（例えばＵｐｄａｔｅ  ｒａｔｅ）を含む。
【００６８】
例示的なデータパネル５０６は、ＯＰＣサーバ（例えばＩｎｓｔａｎｃｅ  ＩＤ）内のプロセスデータのディレクトリ位置、データ値（例えばＤａｔａ  Ｖａｌｕｅ）、プロセスデータのステータス（例えばＳｔａｔｕｓ  Ｃｏｄｅ）、プロセスデータが作成された時間（例えばＴｉｍｅ  Ｓｔａｍｐ）を含む選択されたプロセスデータを示す。データパネル５０６は、プロセスデータを追加する、または表示から削除するためのボタンを含む。データパネル５０６はさらに、は、プロセスデータを読み出しまたは書き込むためのボタンを含む。
【００６９】
図５の実施例において、ラッパー１１０は、表示されるプロセスデータが、スプレッドシートの値として表示されてもよいデータタイプに関連付けられることを決定する。他の実施例において、プロセスデータは、グラフ、表、アニメーション、グラフインジケータ等内に表示されてもよい。例えば、インターフェース５００内のデータパネル５０６は、いくつかのプロセスデータが、グラフ表示に関連付けられている場合に、ラッパー１１０が、適切なデータフィールド内のプロセスデータを示すように構成されたグラフ表示を呼び出せるように、事前構成されていてもよい。
【００７０】
図６は、ウェブブラウザにプロセスデータを表示するために、例示的なラッパー１１０と通信する例示的なインターフェース６００を示す。例示的なインターフェース６００は、フィールドデバイスに関連付けられたプロセスデータを表示するために、フィールドデバイス名を入力するためにオペレータが使用し得るナビゲーションバー６０２を含む。別の例において、ユーザは、フィールドデバイスを配置するために、図４に関連して記載されたディレクトリと類似の階層ディレクトリを使用してもよい。インターフェース６００は、さらに、ＴＴ１０１フィールドデバイスとインターフェース接続するためのオプションを含む、メニューバー６０４を含む。この例において、手動セットアップオプションが選択される。
【００７１】
図６の例示的なインターフェース６００は、ＴＴ１０１フィールドデバイスに関連付けられたプロセスデータが、ワークステーションまたはラップトップ上のウェブブラウザ内に表示されるものであることを示す、ラッパー１１０のターゲット表示情報を提供してもよい。加えて、フィールドデバイス（例えばオブジェクト）を選択または入力する際に、例示的なラッパー１１０は、フィールドデバイス名（例えばＴＴ１０１）を受信する。ラッパー１１０は、フィールドデバイスのタイプ（例えばオブジェクトタイプ）を識別するためのフィールドデバイス識別子、フィールドデバイスに関連付けられたプロパティ、および／またはフィールドデバイスに関連付けられたプロセスデータ（例えば値）を使用する。ラッパー１１０は、データフィールド内にプロセスデータを表示するために、テンプレートを選択するため、ターゲット表示情報を有するこの情報を使用する。ラッパー１１０は、さらに、ＯＰＣサーバからプロセスデータにアクセスするために、この情報を使用する。ラッパー１１０は、データタイプデータベース２０８にアクセスし、ワークステーションで動作するウェブブラウザのテンプレートを配置することにより、テンプレートを選択してもよい。次いで、ラッパー１１０は、ＴＴ１０１フィールドデバイスのデバイスタイプに基づいて、テンプレートの範囲を限定して（ｎａｒｒｏｗ）もよい。次いで、ラッパー１１０は、プロセスデータに対応するテンプレート内のデータフィールドを選択してもよい。
【００７２】
図６の実施例において、ラッパー１１０は、インターフェース６００に、テンプレート６０６およびテンプレート６０８を提供してもよい。テンプレート６０６および６０８は、ＴＴ１０１フィールドデバイスに関連付けられたプロセスデータ（例えばアナログ入力（ＡＩ）、％範囲、ユニット、下限、上限、タグ、日付、および記述子）を有するデータフィールドを含む。例示的なラッパー１１０は、プロセスデータ内のメタデータに基づいて、プロセスデータを一致させ、適切なデータフィールドに挿入することにより、テンプレート６０６および６０８に示されるプロセスデータをレンダリングしてもよい。他の実施例において、テンプレートは、グラフ、表、画像、および／または任意の他のデータ表示を含んでもよい。
【００７３】
図７（Ａ）および（Ｂ）は、クライアントアプリケーションのプロセスデータを表示するために、図１および／または図２の例示的なラッパー１１０と通信する無線デバイス７０２に表示された例示的なインターフェース７００を示す。無線デバイス７０２は、例えば、スマートフォン、携帯情報端末（ＰＤＡ）、インターネット電話等を含む、任意の可搬型コンピューティングデバイスを含んでもよい。図７（Ａ）および（Ｂ）の実施例は、無線デバイス７０２のために構成されるテンプレート内のプロセスデータをレンダリングする例示的なラッパー１１０を示す。
【００７４】
図７（Ａ）において、ユーザインターフェース７００は、オブジェクト検索フィールド７０４およびキーボード７０６を含む。オブジェクト検索フィールド７０４により、ユーザは、キーボード７０６によって、フィールドデバイス識別子（例えばＯＰＣ  ＤＡ／ＤＥＶＩＣＥ／ＴＴ１０１）を入力することができる。オブジェクト検索フィールド７０４は、入力されたＴＴ１０１フィールドデバイスをラッパー１１０に提供する。加えて、無線デバイス７０２は、ターゲット表示情報を、ラッパー１１０に送信してもよい。ラッパー１１０は、ＴＴ１０１フィールドデバイスに関連付けられたプロセスデータおよび／またはプロパティを配置するために、ＴＴ１０１フィールドデバイス識別子を使用する。さらに、例示的なラッパー１１０は、無線デバイス７０２の比較的小さい画面に表示するためにフォーマットされたテンプレート７０８を選択するために、ターゲット表示情報を使用する。
【００７５】
ラッパー１１０は、図７（Ｂ）において示されるように、テンプレート７０８の対応するデータフィールドにおいて、プロセスデータを一致、挿入およびレンダリングしてもよい。加えて、ラッパー１１０は、異なるテンプレートにナビゲートするためのメニューバー７１０を表示してもよい。メニューバー７１０はテンプレート７０８内に含んでもよく、および／または、ＯＰＣ  ＤＡ／ＤＥＶＩＣＥ／ＴＴ１０１ディレクトリ位置に関連付けられたナビゲーションプロセスデータによって指定されてもよい。あるいは、メニューバー７１０の表示は、クライアントアプリケーションによって管理してもよい。図７（Ｂ）の実施例は、ラッパー１１０が、無線デバイス７０２のためにフォーマットされたテンプレート７０８を選択することを示し、一方で、図６では、ラッパー１１０は、ワークステーションのウェブブラウザでフォーマットされたテンプレート６０６および６０８を選択する。
【００７６】
図８は、ウェブブラウザにプロセスデータを表示する例示的なインターフェース８００を示す。インターフェース８００は、ファイル位置またはプロセスデータのパスを入力するためにユーザが使用し得るナビゲーションバー８０２を含む。テンプレート８０４は、データフィールド内に表示されたプロセスデータの表を示す。テンプレート８０４は、製造者、デバイスタイプ、およびバージョンのデータフィールドを含む。ユーザは、グループ内に組織されたデバイスに関連付けられたプロセスデータにアクセスまたは追跡するための、ＨＴＴＰ：／／ＯＰＣＤＡＳＥＲＶＥＲ／ＤＥＶＩＣＥ／ＤＥＶＩＣＥＣＯＬＬＥＣＴＩＯＮパスを提供してもよい。テンプレート８０４内のプロセスデータは、ＸＭＬファイルとして、ＯＰＣサーバからアクセスしてもよい。
<?xml version=“1.0”encoding=“UTF-8”?>
<?xml-stylesheet type=“text/xsl” href=“file:///Ccd.xsl”?>
<catalog>
<device>
<manufacturer>Rosemount</manufacturer>
<type>3051MV</type>
<version>5</version>
</device>
<device>
<manufacturer>Micromotion</manufacturer>
<type>MM MV</type>
<version>2</version>
</device>
<device>
<manufacturer>Fisher</manufacturer>
<type>DVC6010F</type>
<version>3</version>
</device>
</catalog>
【００７７】
上記の例示的なＸＭＬファイルは、＜ｃａｔａｌｏｇ＞行の下に、３つのデバイスの製造者、デバイスタイプ、およびバージョンをリスト表示する。この情報をインターフェース８００に表示するには、例示的なラッパー１１０は、ＸＭＬファイルを、プロセスデータを表示するためのテンプレート８０４を指定するＸＳＬＴファイルに変換してもよい。変換されたＸＳＬＴファイルは、以下のものを含み得る。
<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!―― Edited by XMLSpy(R) ――>
<xsl:stylesheet version=“1.0” xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>
<xsl:template match=“/”>
<html>
<body>
<h2>My Device Collection</h2>
<table border=“1”>
<tr bgcolor=“#9acd32”>
<th>Manufacturer</th>
<th>Device Type</th>
<th>Version</th>
</tr>
<xsl:for-each select=“catalog/device”>
<tr>
<td>
<xsl:value-of select=“manufacturer”/>
</td>
<td>
<xsl:value-of select=“type”/>
</td>
<td>
<xsl:value-of select=“version”/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
【００７８】
＜ｘｓｌ：ｓｔｙｌｅｓｈｅｅｔ  ｖｅｒｓｉｏｎ＝“１．０”ｘｍｌｎｓ：ｘｓｌ＝“ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／１９９９／ＸＳＬ／Ｔｒａｎｓｆｏｒｍ“＞の行は、インターフェース８００に表示されるテンプレート８０４を指定する。例示的なラッパー１１０は、インターフェース８００から受信された情報（例えばターゲット表示情報、オブジェクトタイプ等）に基づいて、このテンプレートを決定してもよい。ＸＳＬＴファイルはさらに、プロセスデータをデータフィールドにフォーマットするためのテンプレート８０４および命令（例えば＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝“ｍａｎｕｆａｃｔｕｒｅｒ”／＞、＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝“ｔｙｐｅ”／＞、および＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝“ｖｅｒｓｉｏｎ”／＞）のカラムヘッダ（例えば、製造者、デバイスタイプ、およびバージョン）を指定する。
【００７９】
図９Ａ、９Ｂ、９Ｃ、および１０は、例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、例示的なＯＰＣサーバ参照データベース２１０および／または、より一般的には、図１および／または図２のラッパー１１０を実装するために実行可能な例示的な方法のフローチャートである。図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な方法は、プロセッサ、コントローラおよび／または任意の他の適した処理デバイスによって実行されてもよい。例えば、図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な方法は、フラッシュメモリ、ＣＤ、ＤＶＤ、フロッピーディスク、ＲＯＭ、ＲＡＭ、プログラム可能なＲＯＭ（ＰＲＯＭ）、電子的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電子的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、光ストレージディスク、光ストレージデバイス、磁気ストレージディスク、磁気ストレージデバイス、および／または、方法またはデータ構造の形態で、プログラムコードおよび／または命令を伝達または保存するために使用可能な、かつ、プロセッサ、汎用または特殊用途コンピュータ、または他のマシンによってプロセッサ（例えば、図１１に関連して以下に記載される例示的なプロセッサプラットフォームＰ１０）と共に、アクセス可能な任意の他の媒体等の、任意の実現可能なコンピュータで読み出し可能な媒体上に格納される、コード化された命令で実施されてもよい。さらに、上記の組み合わせはコンピュータで読み出し可能な媒体の範囲内に含まれる。
【００８０】
方法には、例えば、プロセッサ、汎用コンピュータ、特殊用途コンピュータ、または特殊用途処理マシンに、１つ以上の特定の方法を実施させる命令および／またはデータを含む。あるいは、図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な方法のいずれかまたは全ては、ＡＳＩＣ、ＰＬＤ、ＦＰＬＤ、個別論理、ハードウェア、ファームウェア等の任意の組み合わせを使用して、実装されてもよい。
【００８１】
さらに、図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な方法のいずれかまたは全ては、手動の動作または、前述の技術のいずれかの任意の組み合わせ、例えば、ファームウェア、ソフトウェア、個別論理および／またはハードウェアの任意の組み合わせを使用して、代わりに実装してもよい。さらに、図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な動作を実装する多くの他の方法を使用することができる。例えば、ブロックの実行順序を変更してもよい、および／または、記載されるブロックのうちの１つ以上を、変更、削除、再分割、または接続してもよい。加えて、図９Ａ、図９Ｂ、図９Ｃ、および／または図１０の例示的な方法のいずれかまたは全てを、順次、実行してもよく、および／または、例えば、スレッド、プロセッサ、デバイス、個別論理、回路等を別々に処理することにより、並列で実行してもよい。
【００８２】
図９Ａ、図９Ｂ、および図９Ｃの例示的な方法９００により、クライアントは、ＯＰＣサーバに格納されたプロセスデータにアクセスできる。複数の例示的な方法９００は、複数のクライアントがプロセスデータにアクセスするために、並列または順に、実行してもよい。加えて、リクエストされたプロセスデータを２つ以上のＯＰＣサーバに格納し得る実施例において、例示的な方法９００を各ＯＰＣサーバで実装してもよく、あるいは、単一の例示的な方法９００をＯＰＣサーバで実装してもよい。
【００８３】
図９Ａの例示的な方法９００は、プロセスデータにアクセスするためのリクエストを受信することにより、開始する（ブロック９０２）。リクエストは、例示的なセキュリティプロセッサ２０２および／または図２のウェブベースのインターフェース１２２によって受信されてもよい。次いで、例示的な方法９００は、プロセスデータにアクセスするために、セキュリティ証明書（例えばセキュリティプロセッサ）をリクエストする（ブロック９０４）。セキュリティ証明書は、ユーザ名およびパスワード、アクセスコード、一意の識別子等を含んでもよい。いくつかの実施例において、セキュリティ証明書は、リクエスト内に含まれてもよい。次に、例示的な方法９００は、受信されたセキュリティ証明書が認証をパスするかどうかを決定する（ブロック９０６）。セキュリティ証明書が適切であり、認証をパスする場合、例示的な方法９００は、クライアント（ブロック９０８）からのリクエストによって、読み出し、書き込みおよび／または加入アクセスを持つアクセスセッションを作成する。例示的な方法９００は、次いで、リクエスト（例えば、図２のＯＰＣサーバ参照データベース２１０にアクセスするアダプタ１１８）に関連付けられたＯＰＣサーバを識別する（ブロック９１０）。
【００８４】
しかしながら、例示的な方法９００がセキュリティ証明書を検証できない場合（ブロック９０６）、例示的な方法９００は、読み出しアクセスのみを有するアクセスセッションを作成してもよい（ブロック９１２）。例示的な方法９００は、次いで、リクエストに関連付けられたＯＰＣサーバを識別する（ブロック９１０）。あるいは、例示的な方法９００がセキュリティ証明書を検証することができない場合（ブロック９０６）、例示的な方法９００は、プロセスデータをリクエストするために、クライアントアクセスを拒否してもよい。
【００８５】
図９Ａの例示的な方法９００は、（例えばアダプタ１１８を介して）識別されたＯＰＣサーバにアクセスし（ブロック９１４）、リクエストに関連付けられた１つ以上のディレクトリにアクセスすることにより、継続する（ブロック９１６）。加えて、リクエストされたＯＰＣデータが１つより多いＯＰＣサーバに配置される実施例において、例示的な方法９００は、１つ以上のＯＰＣサーバ内に配置されるディレクトリおよび／またはファイルを配置してもよい（ブロック９１６）。例示的な方法９００は、手動のクライアントナビゲーションを介して、および／または、クライアントからのリクエスト内に提供された情報によって、エンドポイントを使用して、リクエストされたプロセスデータを配置してもよい。リクエストされたプロセスデータの位置にアクセスした後、例示的な方法９００は、次いで、リクエストされたプロセスデータの、読み出し、書き込み、および／または加入のリクエストを受信する。いくつかの実施例において、プロセスデータにアクセスするためのリクエストは、プロセスデータの読み出し、書き込み、および／または加入のリクエストを含んでもよい。他の実施例において、クライアントは、読み出し、書き込み、および／または加入の機能によって、プロセスデータにアクセスするための別のリクエストを送信してもよい。
【００８６】
図９Ｂの例示的な方法９００は、リクエストが、読み出し、書き込み、および／または加入機能に関連付けられたかどうかを決定する（ブロック９１８）。リクエストがプロセスデータ（ブロック９１８）の読み出しである場合、例示的な方法９００は、リクエストされたプロセスデータを、（例えばアダプタ１１８を介して）関連付けられたＯＰＣサーバから取り出すことで、継続する（ブロック９２０）。次いで、例示的な方法９００は、ＯＰＣフォーマットからのプロセスデータを、ウェブ閲覧および／またはプログラムのアプリケーションフォーマットに（例えばＯＰＣコンバータ１２０を介して）変換する（ブロック９２２）。
【００８７】
しかしながら、リクエストがプロセスデータ（ブロック９１８）の加入である場合、例示的な方法９００は、ＯＰＣサーバ内のリクエストされたプロセスデータに加入することで継続する（ブロック９２４）。例示的な方法９００は、リクエストメッセージが、最も最近のプロセスデータをリクエストするために、ＯＰＣサーバに送信される時間間隔を設定することにより、プロセスデータに加入してもよい。プロセスデータへの加入の際に、例示的な方法９００は、ＯＰＣサーバからリクエストされたプロセスデータを取り出す（ブロック９２０）。さらに、例示的な方法９００は、特定の間隔でＯＰＣサーバからリクエストされたプロセスデータを取り出すことを継続してもよい。プロセスデータの各取り出しのために、例示的な方法９００は、次いで、（例えばＯＰＣコンバータ１２０を介して）ウェブ閲覧および／またはプログラムのアプリケーションフォーマットにＯＰＣフォーマットからのプロセスデータを変換する（ブロック９２２）。
【００８８】
しかしながら、リクエストが、プロセスデータの書き込みである場合（ブロック９１８）、例示的な方法９００は、クライアントによって提供された書き込まれたデータ値を受信し、データ値をＯＰＣフォーマットされた値（例えばＯＰＣコンバータ１２０を介して）に変換することにより、継続する（ブロック９２６）。例示的な方法９００は、次いで、ＯＰＣサーバ内の適切なデータ位置に（例えばアダプタ１１８を介して）プロセスデータ値を書き込む（ブロック９２８）。例示的な方法９００は、次いで、プロセスデータをウェブ閲覧フォーマットに変換してもよい（ブロック９２２）。例示的な方法９００は、書き込まれた値が適切にＯＰＣサーバに書き込まれたという証拠をクライアントに提供するために、書き込まれた値を再び読み出してもよい。
【００８９】
プロセスデータをＯＰＣフォーマットに変換すると、例示的な方法９００は、プロセスデータに関連付けられたデータタイプ（例えばデータプロセッサ２０６を介して）を決定することにより、継続する（ブロック９３０）。図９Ｃの例示的な方法９００は、次いで、クライアントからのリクエストが、ウェブサーバアプリケーションまたはクライアント表示アプリケーション（例えばプログラム的なアプリケーション）に関連付けられているかどうかを決定する（ブロック９３２）。クライアントリクエストがウェブサーバアプリケーションに関連付けられている場合、例示的な方法９００は、各データタイプ（ブロック９３４）について、（例えばウェブベースのインターフェース１２２を介して）データフィールドを作成および／または構成する。例示的な方法９００は、次いで、対応するデータフィールド内にプロセスデータを埋め込みおよび／または配置し、データフィールド内のプロセスデータをコンパイルする（ブロック９３６）。次に、例示的な方法９００は、クライアントによって動作されるウェブブラウザによってアクセスされるウェブページ内のプロセスデータを含むデータフィールドの表示を可能にする（ブロック９３８）。
【００９０】
しかしながら、クライアントからのリクエストが、クライアント表示アプリケーション（ブロック９３２）に関連付けられている場合、図９Ｃの例示的な方法は、クライアントサイトでクライアント表示アプリケーションを呼び出す（ブロック９４４）。クライアント表示アプリケーションの呼び出しには、プロセスデータ（例えばＡｃｔｉｖｅＸまたはＳｉｌｖｅｒｌｉｇｈｔ（商標）アプリケーション）にアクセスするために、クライアントによって使用されたウェブブラウザ内のアプリケーションを開くことを含んでもよい。クライアント表示アプリケーションの呼び出しには、さらに、フォーマットされたプロセスデータおよび／またはデータフィールドを受信するために、プログラムのアプリケーションの初期化を含んでもよい。例示的な方法９００は、次いで、アプリケーションが、プロセスデータを受信するために、呼び出しされ、準備ができていることを示す、クライアント表示アプリケーションからのリクエストを受信してもよい（ブロック９４６）。次いで、例示的な方法９００は、プロセスデータを埋め込みおよび／または配置し、および／または、プロセスデータをデータフィールドに関連付け（ブロック９４８）、プロセスデータおよび／またはデータフィールドをクライアント表示アプリケーションに伝送する（ブロック９５０）。例示的な方法９００は、さらに、プロセスデータのタイプおよび／またはプロセスデータの表示タイプに基づいて、データフィールドのテンプレートを選択してもよい。プロセスデータを受信すると、例示的な方法９００は、次いで、クライアント表示アプリケーションが、インターフェース内の対応するプロセスデータおよび／またはクライアント表示アプリケーションの表示を示すために、データフィールドを構成することを保証する（ブロック９５２）。
【００９１】
図９Ｃの例示的な方法９００は、クライアントがプロセスデータおよび／またはデータフィールドの任意の部分をカスタマイズしたかどうかを決定することにより、継続する（ブロック９４０）。例示的な方法９００が、クライアントが、プロセスデータおよび／またはデータフィールドをカスタマイズしていないと決定する場合、例示的な方法９００は、同一のおよび／または異なるクライアントからプロセスデータにアクセスするための、リクエストの受信を再び行う（ブロック９０２）。しかしながら、例示的な方法９００によって、クライアントが、プロセスデータおよび／またはデータフィールドをカスタマイズしたことが決定されると、例示的な方法９００は、カスタマイズデータを格納する（ブロック９４２）。例示的な方法９００は、同一のクライアントが異なる時間に同一のプロセスデータにアクセスする場合に、プロセスデータがカスタマイズされたフォーマットで表示できるように、カスタマイズ情報を格納する。次いで、例示的な方法９００は、同一のおよび／または異なるクライアントからプロセスデータにアクセスするための、リクエストの受信を再び行う（ブロック９０２）。
【００９２】
図１０の例示的な方法１０００は、ＯＰＣサーバから受信されたプロセスデータを表示するために、テンプレートおよび／またはデータフィールドを決定する。複数の例示的な方法１０００は、複数のクライアントのためにテンプレートをレンダリングするために、並列で、または順に、実行されてもよい。加えて、リクエストされたプロセスデータが２つ以上のＯＰＣサーバに格納されてもよい実施例において、例示的な方法１０００は、各ＯＰＣサーバについて実施されてもよく、あるいは、単一の例示的な方法１０００を、ＯＰＣサーバについて実施してもよい。
【００９３】
図１０の例示的な方法１０００は、オブジェクト（例えばプロセスデータ）を表示するために、ラッパー１１０におけるリクエスト受信を開始する（ブロック１００２）。オブジェクトは、フィールドデバイスおよび／またはフィールドデバイスに関連付けられたプロセスデータを含んでもよい。例示的な方法１０００（例えばウェブベースのインターフェース１２２を介した）は、リクエストに関連付けられたターゲット表示情報を識別してもよい（ブロック１００４）。ターゲット表示情報は、リクエスト内に含まれてもよく、および／または、ウェブブラウザまたはクライアントアプリケーションによって個別に伝送されてもよい。次に、（例えば、ウェブベースのインターフェース１２２、アダプタ１１８、および／またはデータプロセッサ２０６を介した）例示的な方法１０００は、リクエストされたオブジェクトのタイプ（ブロック１００６）、オブジェクトに関連付けられたプロパティを決定し（ブロック１００８）、および／または、オブジェクトに関連付けられたプロセスデータ（例えば値）にアクセスする（ブロック１０１０）。プロセスデータのアクセスには、図９Ａ〜９Ｃに関連して説明されるように、ＯＰＣサーバへのアクセスを含む。
【００９４】
例示的な方法１０００は、オブジェクトタイプ、プロパティ、プロセスデータ、および／またはターゲット表示情報に基づいて、オブジェクトを表示するために、（例えばデータプロセッサ２０６を介して）テンプレートを決定することにより、継続する（ブロック１０１２）。例示的な方法１０００は、オブジェクト（例えばプロセスデータ）を、（例えばウェブベースのインターフェース１２２を介して）リンクおよび／または、テンプレート内の対応するデータフィールドに挿入してもよい。次に、例示的な方法１０００は、（例えばウェブベースのインターフェース１２２を介して）選択されたテンプレートのオブジェクトに関連付けられたオブジェクトおよび／またはプロセスデータをレンダリングする（ブロック１０１４）。例示的な方法１０００は、（例えばウェブベースのインターフェース１２２を介して）インターフェース内に表示されたテンプレート内のオブジェクトに関連付けられたオブジェクトおよび／またはプロセスデータを表示する（ブロック１０１６）。例示的な方法１０００は、（例えばウェブベースのインターフェース１２２を介して）さらなるオブジェクトが表示されるかどうかを決定してもよい（ブロック１０１８）。例示的な方法１０００が、さらなるオブジェクトがあると決定する場合、例示的な方法１０００は、さらなるオブジェクトを受信する（ブロック１００２）。例示的な方法１０００が、さらなるオブジェクトがないと決定する場合、例示的な方法１０００は終了する。
【００９５】
図１１は、本明細書に記載される例示的な方法および装置を実施するために使用し得る、例示的なプロセッサシステムＰ１０のブロック図である。例えば、例示的なプロセッサシステムＰ１０と類似または同一のプロセッサシステムは、例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、例示的なＯＰＣサーバ参照データベース２１０および／または、より一般的には、図１および／または図２のラッパー１１０を実装するために使用されてもよい。例示的なプロセッサシステムＰ１０は、複数の周辺機器、インターフェース、チップ、メモリ等を含むものとして以下に記載されているが、こうした要素のうちの１つ以上は、例示的なセキュリティプロセッサ２０２、例示的なセッションコントローラ２０４、例示的なウェブベースのインターフェース１２２、例示的なデータプロセッサ２０６、例示的なデータタイプデータベース２０８、例示的なＯＰＣコンバータ１２０、例示的なアダプタ１１８、例示的なＯＰＣサーバ参照データベース２１０および／または、より一般的には、ラッパー１１０のうちの１つ以上を実装するために使用される他の例示的なプロセッサシステムから省略されてもよい。
【００９６】
図１１に示されるように、プロセッサシステムＰ１０は、相互接続バスＰ１４に接続されるプロセッサＰ１２を含む。プロセッサＰ１２は、完全にチップ上にあるものとして、図１２に示されるが、あるいは、完全にまたは部分的にチップ外になっており、かつ、専用の電気接続および／または相互接続バスＰ１４を介して、プロセッサＰ１２に直接接続されてもよい、レジスタセットまたはレジスタスペースＰ１６を含む。プロセッサＰ１２は、任意の適したプロセッサ、処理ユニットまたはマイクロプロセッサにしてもよい。図１２には図示されないが、システムＰ１０は、マルチプロセッサシステムであってもよく、このため、プロセッサＰ１２と同一または類似しており、相互接続バスＰ１４に通信可能に接続される１つ以上のさらなるプロセッサを含んでもよい。
【００９７】
図１１のプロセッサＰ１２は、メモリコントローラＰ２０および周辺機器入力／出力（Ｉ／Ｏ）コントローラＰ２２を含む、チップセットＰ１８に接続される。公知のように、チップセットは、チップセットＰ１８に接続される１つ以上のプロセッサによってアクセス可能または使用される、複数の汎用および／または特殊目的のレジスタ、タイマ等と共に、典型的には、Ｉ／Ｏおよびメモリ管理機能を提供する。メモリコントローラＰ２０は、プロセッサＰ１２（または、複数のプロセッサがある場合には複数のプロセッサ）が、システムメモリＰ２４および大容量記憶メモリＰ２５にアクセスすることを可能にする、機能を実行する。
【００９８】
システムメモリＰ２４は、例えば、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）等の任意の所望のタイプの揮発および／または不揮発メモリを含んでもよい。大容量記憶メモリＰ２５は、任意の所望のタイプの大容量記憶デバイスを含んでもよい。例えば、例示的なプロセッサシステムＰ１０が、ラッパー１１０（図２）を実施するために使用される場合、大容量記憶メモリＰ２５は、ハードディスクドライブ、光ドライブ、テープストレージデバイス等を含んでもよい。あるいは、例示的なプロセッサシステムＰ１０が、例示的なデータタイプデータベース２０８および／または例示的なＯＰＣサーバ参照データベース２１０を実装するために使用される場合、大容量記憶メモリＰ２５は、固体メモリ（例えばフラッシュメモリ、ＲＡＭメモリ等）、磁気メモリ（例えばハードドライブ）、または例示的なデータタイプデータベース２０８および／または例示的なＯＰＣサーバ参照データベース２１０の大容量記憶装置に適した任意の他のメモリを含んでもよい。
【００９９】
周辺機器Ｉ／ＯコントローラＰ２２は、プロセッサＰ１２が、周辺機器Ｉ／ＯのバスＰ３２を介して、周辺機器入力／出力（Ｉ／Ｏ）デバイスＰ２６およびＰ２８ならびにネットワークインターフェースＰ３０と通信することを可能にする、機能を実行する。Ｉ／ＯデバイスＰ２６およびＰ２８は、例えば、キーボード、表示（例えば液晶表示（ＬＣＤ）、ブラウン管（ＣＲＴ）ディスプレイ等）、ナビゲーションデバイス（例えばマウス、トラックボール、容量性タッチパッド、ジョイスティック等）等の任意の所望のタイプのＩ／Ｏデバイスであってもよい。ネットワークインターフェースＰ３０は、例えば、プロセッサシステムＰ１０が、別のプロセッサシステムと通信できる、イーサネットデバイス、非同期伝送モード（ＡＴＭ）デバイス、８０２．１１デバイス、ＤＳＬモデム、ケーブルモデム、セルラーモデム等にしてもよい。
【０１００】
チップセットＰ１８内の別々の機能ブロックとして、メモリコントローラＰ２０およびＩ／ＯコントローラＰ２２が、図１１に図示されるが、こうしたブロックによって実行される機能は、単一の半導体回路内に統合されてもよく、または、２つ以上の別々の集積回路を使用して実装されてもよい。
【０１０１】
上記の例示的な方法および／または装置のうちの少なくともいくつかは、コンピュータプロセッサで実行される１つ以上のソフトウェアおよび／またはファームウェアプログラムによって実装される。しかしながら、特定用途向け集積回路、プログラム可能な論理アレイおよび他のハードウェアデバイスを含むが、これに制限されない専用のハードウェアの実装は、全体または一部が、本明細書に記載される、例示的な方法および／または装置のいずれかまたは全てを実装するために、同様に構成できる。さらに、分散された処理またはコンポーネント／オブジェクト分散処理、並列処理、または仮想マシン処理を含むがこれに制限されない、代替のソフトウェア実装を、さらに、本明細書に記載される例示的な方法および／またはシステムを実施するために、構成できる。
【０１０２】
さらに、本明細書に記載される例示的なソフトウェアおよび／またはファームウェアの実装は、磁気媒体（例えば磁気ディスクまたはテープ）等の実現可能なストレージ媒体、光学ディスク等の光磁気または光学媒体、またはメモリカードあるいは、１つ以上の読み出し専用（不揮発）メモリ、ランダムアクセスメモリ、または他の再書き込み可能（揮発）メモリを収容する他のパッケージ等の固体媒体に格納されることに留意されたい。従って、本明細書に記載される例示的なソフトウェアおよび／またはファームウェアは、上記のものまたは後続のストレージ媒体等の実現可能なストレージ媒体に格納できる。上記の仕様が、特定の規格およびプロトコルを参照して、例示的なコンポーネントおよび機能を記述する程度まで、本特許の範囲は、かかる規格およびプロトコルに制限されないことが理解される。例えば、インターネットおよび他のパケット切り替えネットワーク伝送（例えば伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）／ＩＰ、ハイパーテキストマークアップ言語（ＨＴＭＬ）、ハイパーテキスト伝送プロトコル（ＨＴＴＰ））の規格はそれぞれ、現在の最先端の技術の例を表す。かかる規格は、同一の一般的な機能を有する、より高速かつより効率的な同等物によって、定期的に取ってかわられる。従って、同一の機能を有する代替の規格およびプロトコルは、このような特許が考える均等物であり、添付の特許請求の範囲内に含まれるように意図される。
【０１０３】
加えて、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む例示的な方法および装置を開示するが、かかるシステムは、例示的なものにすぎず、制限的にみなすべきではないことに留意されたい。例えば、これらハードウェアおよびソフトウェアコンポーネントのいずれかまたは全ては、ハードウェアのみ、ソフトウェアのみ、ファームウェアのみ、または、ハードウェア、ファームウェアおよび／またはソフトウェアのいくつかの組み合わせにおいて、実施できると考えられる。従って、上記の仕様は、例示的な方法、システム、およびマシンでアクセス可能な媒体を記載したが、こうした例は、かかるシステム、方法およびマシンでアクセス可能な媒体を実施するための唯一の方法ではない。従って、特定の例示的な方法、システム、およびマシンでアクセス可能な媒体が、本明細書に記載されているが、本特許の対象範囲は、これに制限されない。そうではなく、本特許は、文字通り添付の特許請求の範囲内において、または均等物の法理において、確かに範囲とされる全ての方法、システム、およびマシンでアクセス可能な媒体を包括する。
【図１】
0005846748.tif 000002
【図２】
0005846748.tif 000003
【図３】
0005846748.tif 000004
【図４】
0005846748.tif 000005
【図５】
0005846748.tif 000006
【図６】
0005846748.tif 000007
【図７】
0005846748.tif 000008
【図８】
0005846748.tif 000009
【図９Ａ】
0005846748.tif 000010
【図９Ｂ】
0005846748.tif 000011
【図９Ｃ】
0005846748.tif 000012
【図１０】
0005846748.tif 000013
【図１１】
0005846748.tif 000014