(57)【要約】【課題】プロセスデータを表示するための例示的方法および装置について開示する。【解決手段】開示された例示的方法は、ウェブブラウザを介してプロセスデータを視認する要求を受信することと、プロセスデータを格納するサーバを識別することであって、サーバは、プロセス制御システムからプロセスデータを受信することと、サーバからプロセスデータを取り出すことと、プロセスデータのプロパティに基づいて、拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートを選択することと、ＸＳＬＴテンプレート、プロパティ、およびプロセスデータに基づいて、ウェブ閲覧フォーマットに適合する表示ファイルを生成することであって、表示ファイルは、ウェブブラウザを介してプロセスデータをどのように表示するかについて特定することを含む。【選択図】図１
2018081731.tif 000002
【特許請求の範囲】
【請求項１】
クライアントのウェブブラウザで、プロパティ及びオブジェクト型の少なくとも１つを含むプロセスデータを表示するための方法であって、
前記クライアントが、前記クライアントの前記ウェブブラウザを介して前記プロセスデータを視認する要求を、前記クライアントのユーザから受信することと、
前記クライアントが、前記要求に基づいて、プロセス制御システムから前記プロセスデータを受信し且つ前記プロセスデータを格納するサーバを識別することと、
前記クライアントが、前記識別されたサーバから前記プロセスデータを取り出すことと、
前記クライアントが、前記識別されたサーバから取り出された前記プロセスデータの前記プロパティ又は前記オブジェクト型に基づいて、拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートを選択することと、
前記クライアントが、前記ＸＳＬＴテンプレート、前記プロパティ又は前記オブジェクト型、および前記プロセスデータに基づいて、ウェブ閲覧フォーマットに適合し且つ前記クライアントの前記ウェブブラウザを介して前記プロセスデータをディスプレイにどのように埋め込むかについて特定する表示ファイルを生成することと、
を含む、方法。
【請求項２】
前記クライアントが、前記プロセスデータの前記プロパティに基づいて前記表示ファイルをレンダリングすることと、
前記クライアントが、前記表示ファイルを前記ウェブブラウザに伝送することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ウェブ閲覧フォーマットは、ハイパーテキストマークアップ言語（ＨＴＭＬ）に適合する、
請求項１又は請求項２に記載の方法。
【請求項４】
前記クライアントが、前記要求を送信した機器の種類に基づいて、前記ＸＳＬＴテンプレートを選択することと、
前記クライアントが、前記機器の表示領域に適合するように、前記表示ファイルを生成することと、
をさらに含む、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
前記クライアントが、前記表示ファイルにアクセスし且つ前記表示ファイルを表示することをクライアント表示アプリケーションに実行させる命令を、前記ウェブブラウザに送信することをさらに含む、
請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
前記ＸＳＬＴテンプレートは、前記プロセスデータをどのように表示するかについて定義する電子デバイス記述言語（ＥＤＤＬ）ファイルに基づいて生成される、
請求項１〜請求項５の何れか１項に記載の方法。
【請求項７】
クライアントのウェブブラウザで、プロパティ及びオブジェクト型の少なくとも１つを含むプロセスデータを表示するための装置であって、
プロセス制御システムから前記プロセスデータを受信し且つ前記クライアントのユーザによって要求された前記プロセスデータを格納するサーバを識別し、前記要求に基づいて、前記識別されたサーバの前記プロセスデータにアクセスするアダプタと、
前記プロセスデータの前記プロパティ又は前記オブジェクト型に基づいてテンプレートを選択するためのデータプロセッサと、
前記テンプレート、前記プロパティ又は前記オブジェクト型、および前記プロセスデータに基づいて、ウェブ閲覧フォーマットに適合し且つクライアントアプリケーションを介して前記クライアントの前記ウェブブラウザで前記プロセスデータをディスプレイにどのように埋め込むかについて特定する表示ファイルを生成するためのウェブベースインターフェースと、
を備える、装置。
【請求項８】
前記ウェブベースインターフェースは、
前記テンプレートを前記プロセスデータと組み合わせることと、
前記組み合わせられた前記テンプレートおよび前記プロセスデータを、前記クライアントアプリケーションに関連付けられたフォーマットに変換することと、
によって、前記表示ファイルを生成する、
請求項７に記載の装置。
【請求項９】
前記ウェブベースインターフェースは、
前記プロセスデータの前記プロパティに基づいて前記表示ファイルをレンダリングし、
前記表示ファイルを前記クライアントアプリケーションに伝送する、
請求項７又は請求項８に記載の装置。
【請求項１０】
前記データプロセッサは、前記要求を送信した機器の種類に基づいて、前記テンプレートを選択し、
前記ウェブベースインターフェースは、前記選択されたテンプレートに基づいて、前記機器の表示領域に適合するように、前記表示ファイルを生成する、
請求項７〜請求項９の何れか１項に記載の装置。
【請求項１１】
前記ウェブベースインターフェースは、前記クライアントアプリケーションに、前記表示ファイルにアクセスおよび前記表示ファイルを表示させる命令を、前記クライアントアプリケーションに送信する、
請求項７〜請求項１０の何れか１項に記載の装置。
【請求項１２】
前記データプロセッサは、
前記プロパティに基づいて、拡張マークアップ言語（ＸＭＬ）テンプレートを選択することと、
前記ＸＭＬテンプレートを拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートに変換することと、
によって、前記ＸＳＬＴテンプレートを選択する、
請求項７〜請求項１１の何れか１項に記載の装置。
【請求項１３】
少なくとも、
ウェブブラウザを介して、プロパティ及びオブジェクト型の少なくとも１つを含むプロセスデータを視認する要求を、クライアントのユーザから受信することと、
プロセス制御システムから前記プロセスデータを受信し且つ前記プロセスデータを格納すると共に相互運用性データパッキングフォーマットを介して前記プロセスデータを通信するサーバを、前記要求に基づいて識別することと、
前記識別されたサーバから前記プロセスデータを取り出すことと、
前記プロセスデータの前記プロパティ又は前記オブジェクト型に基づいて、拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートを選択することと、
前記ＸＳＬＴテンプレート、前記プロパティ又は前記オブジェクト型、および前記プロセスデータに基づいて、ウェブ閲覧フォーマットに適合し且つ前記ウェブブラウザを介して前記プロセスデータをディスプレイにどのように埋め込むかについて特定する表示ファイルを生成することと、
を、実行時に前記クライアントに実行させる命令が格納される機械アクセス可能媒体。
【請求項１４】
前記命令は、実行時に、
前記ＸＳＬＴテンプレートを前記プロセスデータと組み合わせることと、
前記組み合わせられた前記ＸＳＬＴテンプレートおよび前記プロセスデータを、前記ウェブ閲覧フォーマットに変換することと、
によって、前記表示ファイルを生成することを前記クライアントに実行させる、
請求項１３に記載の機械アクセス可能媒体。
【請求項１５】
前記命令は、実行時に、
前記ＸＳＬＴテンプレート内のパラメータを識別することと、
前記パラメータに対応する前記プロセスデータの部分を識別することと、
前記パラメータを、前記プロセスデータの前記対応する部分に参照することと、
によって、前記ＸＳＬＴテンプレートを前記プロセスデータと組み合わることを前記クライアントに実行させる、
請求項１４に記載の機械アクセス可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、プロセス制御システムに関し、より具体的には、プロセスデータを表示するための方法および装置に関する。
【背景技術】
【０００２】
制御システム、製造自動化システム、および化学プロセス、石油プロセス、または他のプロセスに使用されるシステムのような他の産業システム等のデータシステムは、認可されたユーザが任意の位置からデータにアクセスすることを可能にするように、データをサーバに格納し得る。典型的には、データは、例えば、ＯＰＣ等の相互運用性データパッキングフォーマットに適合するサーバに格納され得る。ＯＰＣは、産業プロセスデータ、自動化データ、製造データ、および／またはバッチデータへのアクセスを提供するサーバのためのプロトコルベースのインターフェースを定義する一連の規格である。
【０００３】
現在、クライアントは、サーバまたはサーバに格納されるデータ型に特有のアプリケーションを作成することによって、相互運用性データパッキングフォーマットに関連付けられたサーバに接続し得る。例えば、アプリケーションは、特有のオペレーティングプラットフォームに適合し、かつサーバにより用いられる対応する相互運用性データパッキングフォーマットの通信プロトコルに適合する手続きプログラミング言語で実行可能なプログラムとして書き込まれ得る。アプリケーションは、具体的には特定のサーバのためのアプリケーションを構成するサーバベンダまたはクライアントベンダによって作成され得る。クライアントが複数のサーバに格納されるデータにアクセスする必要があり得る例では、サーバの特有のインターフェース要件に適合するように、サーバ毎に別々のアプリケーションを作成する必要があり得る。さらに、これらのアプリケーションの各々は、対応するサーバ上に格納されたデータが別のサーバに移動する場合、および／またはサーバのインターフェース要件が変更される場合に、修正される必要があり得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
プロセスデータを表示するための例示的方法および装置について説明する。一例では、方法は、ウェブブラウザを介してプロセスデータを視認する要求を受信することと、プロセスデータを格納するサーバを識別することであって、サーバは、プロセス制御システムからプロセスデータを受信する、こととを含む。また、例示的方法は、サーバからプロセスデータを取り出すことと、プロセスデータのプロパティに基づいて、拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートを選択することとも含む。例示的方法は、ＸＳＬＴテンプレート、プロパティ、およびプロセスデータに基づいて、ウェブ閲覧フォーマットに適合する表示ファイルを生成することであって、表示ファイルが、ウェブブラウザを介してプロセスデータをどのように表示するかについて特定することをさらに含む。
【０００５】
例示的装置は、要求されたプロセスデータを格納するサーバを識別するためのアダプタを含み、サーバは、プロセス制御システムからプロセスデータを受信する。また、例示的アダプタは、サーバからのプロセスデータにアクセスもする。また、例示的装置は、プロセスデータのプロパティに基づいてテンプレートを選択するためのデータプロセッサも含む。例示的装置は、テンプレート、プロパティ、およびプロセスデータに基づいて、ウェブ閲覧フォーマットに適合する表示ファイルを生成するためのウェブベースインターフェースをさらに含み、表示ファイルは、クライアントアプリケーションを介してプロセスデータをどのように表示するかについて特定する。
【図面の簡単な説明】
【０００６】
【図１】ラッパーを含むウェブページサーバを介して、クライアントによりアクセス可能な外部サーバに通信可能に連結される例示的制御システムを含む制御環境を図示するブロック図である。
【図２】図１の例示的ラッパーの機能図である。
【図３】図１および図２の例示的ラッパーを実装するために使用され得る例示的サービス指向フレームワークのブロック図である。
【図４】ウェブブラウザに表示されたサーバ識別プロセスデータのための例示的インターフェースを示す。
【図５】ウェブブラウザに表示されたサーバプロセスデータのための例示的インターフェースを示す。
【図６】プロセスデータをウェブブラウザに表示するために、図１および／または図２の例示的ラッパーと通信する例示的インターフェースを示す。
【図７】（Ａ）、（Ｂ）は、プロセスデータをクライアントアプリケーションに表示するために、図１および／または図２の例示的ラッパーと通信する無線機器上に表示された例示的インターフェースを示す。
【図８】プロセスデータをウェブブラウザに表示する例示的インターフェースを示す。
【図９Ａ】図１および図２の例示的ラッパーを実装するために使用され得る例示的方法のフローチャートである。
【図９Ｂ】図１および図２の例示的ラッパーを実装するために使用され得る例示的方法のフローチャートである。
【図９Ｃ】図１および図２の例示的ラッパーを実装するために使用され得る例示的方法のフローチャートである。
【図１０】本明細書に説明する例示的方法および装置を実装するために使用され得る例示的プロセッサシステムのブロック図である。
【発明を実施するための形態】
【０００７】
他の構成要素の中でも特に、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含む例示的方法および装置について以下に説明するが、これらの例が、単に例証的であるだけであり、限定するものとして解釈されるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにおいてのみ、ソフトウェアにおいてのみ、またはハードウェアおよびソフトウェアの任意の組み合わせにおいて具体化され得ることが想定される。したがって、例示的方法および装置について以下に説明するが、当業者は、提供される例が、このような方法および装置を実装する唯一の方式ではないことを容易に理解する。例えば、例示的方法および装置は、拡張スタイルシート言語変換（ＸＳＬＴ）テンプレートに関連して説明されるが、例示的方法および装置は、産業アプリケーション、製造アプリケーション、プロセス制御アプリケーション、自動化アプリケーション等において使用され得る任意の他のテンプレートフォーマット（例えば、拡張マークアップ言語（ＸＭＬ）テンプレート、電子デバイス記述言語（ＥＤＤＬ）テンプレート等）によって実装されてもよい。
【０００８】
プロセス制御システムは、概して、制御システムに位置するフィールド機器を管理するルーティン、制御ストラテジ、および／またはアルゴリズムを実行するために、制御器を含む。フィールド機器は、例えば、バルブ、バルブポジショナ、スイッチ、および送信機であってもよく、バルブの開放または閉鎖およびプロセス制御パラメータの測定等のプロセス制御機能を実行してもよい。フィールド機器の管理に加えて、制御器は、フィールド機器から受信したデータに基づいて、プロセスデータを生成してもよい。プロセスデータには、プロセス統計、アラーム、監視情報、プロセス傾向情報、診断情報、フィールド機器状態情報、および／またはフィールド機器からのメッセージが含まれてもよい。
【０００９】
制御器は、オペレータがプロセス制御システムを管理し得るように、ワークステーション上で動作するアプリケーションに、プロセス制御情報を伝送する。典型的には、アプリケーションは、少なくとも１つのグラフィカルデータ表現として、プロセス制御情報を、ユーザインターフェースに表示する。これらのデータ表示は、典型的には、チャート、グラフ、データ表、リストボックス、グラフィカルな記号、テキスト等の形式でプロセス制御情報をグラフィカルに表示するため、データ表現は、オペレータの役に立つ。
【００１０】
プロセス制御システムの外部のユーザが、プロセスデータを視認することを可能にするために、いくつかのプロセス制御システムは、１つ以上の外部制御システムサーバを利用して、プロセスデータを格納し得る。プロセス制御システム（例えば、制御器を介する）は、定期的に、または代替としてプロセスデータの生成時に、プロセスデータを外部サーバに書き込む。プロセス制御システムの外部のユーザは、外部サーバにアクセスしてプロセスデータを視認し得る。いくつかの例では、ユーザは、プロセスデータを修正することによって、プロセス制御システムの動作に変更を引き起こし得る。
【００１１】
現在、プロセスデータは、相互運用性データパッキングフォーマットで外部サーバに格納される。多くの異なる種類の相互運用性データパッキングフォーマットによって、プロセス制御管理者は、かなりの量のプロセス制御データ（例えば、テラバイト単位のプロセス制御データ）を圧縮フォーマットで効率的に格納することが可能になる。これらの相互運用性データパッキングフォーマットによって、ユーザからの要求時に、比較的迅速に、圧縮されたプロセスデータにアクセスすることが可能になる。また、相互運用性データパッキングフォーマットによって、プロセス、プロセス制御範囲、フィールド機器の種類、および／またはプロセス管理者により特定された任意の他の体系化方法に基づいて、プロセスデータを体系化することも可能になる。
【００１２】
このような相互運用性データパッキングフォーマットの１つとして、ＯＰＣが挙げられる。ＯＰＣ  Ｆｏｕｎｄａｔｉｏｎは、プロセスデータをホストする外部サーバにアクセスするために、ウェブブラウザおよび／またはクライアントプログラムアプリケーション（例えば、Ａｄｏｂｅ（登録商標）Ｆｌａｓｈ（登録商標）プレーヤ）によって使用され得るプログラムインターフェースを定義する一連のＯＰＣ仕様をパブリッシュする。これらのインターフェースは、サーバ内で始動され得る方法および／またはインスタンスに関連して定義される。さらに、ＯＰＣ仕様は、ＯＰＣ関連サーバから、要求するクライアントのアプリケーションに送られ得るパラメータを特定する。ＯＰＣ仕様は、例えば、Ｃ＋＋、ビジュアルベーシック、および／またはＣ＃等の手続きプログラミング言語で書かれた異なるプロトコルを使用し得るインターフェースを定義する。
【００１３】
プロセスデータを格納するサーバにアクセスするために、クライアントは、現在、これらのサーバの相互運用性データパッキングインターフェースのプロトコルに適合するように、手続きプログラミング言語で書かれた実行可能なプログラムであるアプリケーションを作成する。アプリケーションは、ユーザの位置にかかわらず、プロセスデータおよび／またはサーバ内に格納され得る任意の他の種類のデータを読み取り、書き込み、および／またはサブスクライブするように、１つ以上のユーザにアクセスを提供するように作成される。アプリケーションは、ユーザが任意の位置においてプロセスデータにアクセスし得るように、任意のコンピューティング機器（例えば、パーソナルコンピュータ、ラップトップ、スマートフォン、ネットパッド等）上で動作され得る。他の例では、アプリケーションは、ランタイムフレームワーク、データベース、および／または他のデータソースにアクセスするカスタマイズされたウェブページとして、関連付けられたサーバ内にホストされ得る。認可されたユーザは、インターネットに接続可能な任意の機器を介して、このアプリケーションにアクセスし得る。
【００１４】
クライアントアプリケーションは、相互運用性データパッキングフォーマットに適合するサーバ内のディレクトリ位置を相互参照する所定のデータフィールドを有し得る。アプリケーションは、プロセスデータの種類（例えば、オブジェクト型）に基づいて、特定の表示（例えば、テキストフィールド、グラフ、チャート、スプレッドシート等）のためのデータフィールドを事前にフォーマットし得る。さらに、クライアントアプリケーションは、サーバに特有のプラットフォームおよび／または通信プロトコルのために作成され得る。例えば、クライアントアプリケーションは、典型的には、所望の外部サーバに対応するアドレスで符号化される。これらの符号化された特徴と、サーバ内のディレクトリ位置の参照とにより、クライアントアプリケーションは、典型的には、静的であり、１つの特有のサーバとのみ通信し得る。
【００１５】
サーバ毎に１つの特異的なクライアントアプリケーション、および／またはサーバからのデータの部分毎に１つのアプリケーションを有することによって、クライアント（例えば、プロセス工場オペレータまたは技術者）は、１つ以上の外部サーバ上のデータにアクセスするために、多数のアプリケーションを開発する必要があり得る。加えて、サーバに対するインターフェースが修正される場合、サーバ上のデータディレクトリが修正される場合、および／またはプロセスデータが異なるサーバに移動する場合、対応するクライアントアプリケーションは、変更を反映または変更に対応するように修正されなければならない。サーバ上のプロセスデータにアクセスするために、クライアントアプリケーションを定期的に更新しなければならないことによって、いくつかのクライアントが、プロセスデータにアクセス不可能であり得る事例がもたらされ得る。加えて、プロセスデータ位置の変更によって、クライアントアプリケーションと、サーバ上にホストされるプロセスデータとの間のリンク切れがもたらされ得る。
【００１６】
本明細書に説明する例示的方法および装置によって、クライアント位置におけるクライアントアプリケーションは、ラッパーを介して任意のサーバにアクセスすることが可能になる。例示的ラッパーは、クライアントにより要求されたプロセスデータに基づいて、データフィールドおよび／またはデータ表示を作成することによって、クライアントとサーバとの間のインターフェースとして機能する。例示的ラッパーは、要求されたプロセスデータに関連付けられたオブジェクト型（例えば、プロセスデータの種類）情報を使用して、ＸＳＬＴテンプレートを選択し得る。
【００１７】
また、例示的ラッパーは、プロセスデータを要求している機器の種類にも基づいて、ＸＳＬＴテンプレートを選択し得る。例えば、プロセスデータの要求を、比較的大型の画面面積を有する機器（例えば、パーソナルコンピュータ）から受信する場合、ラッパーは、より大型の画面のために構成された一連のテンプレートを選択し得る。同様に、例えば、ハンドヘルド機器（例えば、スマートフォン）から要求を受信する場合、例示的ラッパーは、比較的小型の画面のために構成された一連のテンプレートを選択し得る。例示的ラッパーは、例えば、要求内に含まれる媒体アクセス制御（ＭＡＣ）アドレスに基づいて、機器の種類を識別し得る。
【００１８】
いくつかの例では、ラッパーは、外部サーバ内に含まれ、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションを介して、クライアントにアクセス可能であってもよい。他の例では、ラッパーは、クライアントサイトに（例えば、クライアントおよび／またはユーザに関連付けられたコンピューティング機器上に）インストールされてもよい。さらに他の例では、ラッパーは、クライアントとサーバとの間に通信可能に連結されるコンピューティング機器（例えば、サーバ）内に含まれてもよい。
【００１９】
例示的ラッパーは、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションとして実装され得る。ウェブサーバアプリケーションは、クライアントがウェブブラウザを使用してアクセスし得るデータフィールド、グラフ、チャート、スプレッドシート等に埋め込まれるプロセスデータを含むウェブページを作成するフレームワーク（例えば、ＡＳＰ．ＮＥＴフレームワークアプリケーション）である。ウェブサーバアプリケーション例では、ラッパーは、ウェブページ内のプロセスデータ（例えば、オブジェクト）を管理する。対照的に、クライアント表示アプリケーション（例えば、ＡｃｔｉｖｅＸ制御および／またはＳｉｌｖｅｒｌｉｇｈｔ（登録商標）アプリケーション）は、ウェブブラウザ内においてランタイムアプリケーション（例えば、プラグインアプリケーション）として表示可能であるフレームワークである。これらの例では、クライアント表示アプリケーションは、クライアント位置におけるコンピューティング機器にインストールされ得る。クライアント表示アプリケーションは、ウェブブラウザが、外部サーバに位置するラッパーにアクセスする場合、および／またはそのラッパーと通信する場合に、ウェブブラウザ内において始動され得る。加えて、クライアント表示アプリケーションは、データが、ウェブブラウザ内におけるデータフィールド、グラフ、チャート、スプレッドシート等内に表示されるように、ラッパーから受信したデータおよび／データフィールド情報を構成し得る。
【００２０】
本明細書に説明する例示的ラッパーは、相互運用性データパッキングフォーマットに関連付けられた１つ以上の外部制御システムサーバと通信するために、アダプタを含み得る。アダプタは、例えば、伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、および／または拡張マークアップ言語（ＸＭＬ）を使用して、クライアントにより要求されたプロセスデータにアクセスするために、サーバと通信し得る。また、例示的ラッパーは、サーバから受信した相互運用性データパッキングフォーマットにフォーマットされたプロセスデータを、ウェブページフォーマットに変換するための、変換器も含む。ウェブページフォーマットには、クライアント表示アプリケーション内に表示するため、および／またはウェブページ内に表示するための、ハイパーテキストマークアップ言語（ＨＴＭＬ）および／または任意の他のフォーマットが含まれ得る。さらに、ラッパーは、ウェブページおよび／またはクライアント表示アプリケーションを介してクライアントに視認可能なウェブブラウザに、プロセスデータを通信するウェブベースのインターフェースを含む。
【００２１】
例示的ラッパーは、１つ以上の種類の要求されたプロセスデータを判断することによって、要求されたプロセスデータ（例えば、オブジェクト）のためのデータフィールドを自動的に作成、構成、および／またはフォーマットし得る。プロセスデータの種類には、例えば、サーバ識別情報、パラメータ、プロパティ、ファイルディレクトリ体系化情報、数値データ、文字列データ、制御機器の状態データ、アラームデータ、および／またはプロセス制御システム、製造システム等に関連付けられ得る任意の他のデータが含まれ得る。いくつかの例では、ラッパーは、プロセスデータに埋め込まれ、および／または関連付けられたメタデータによって、データ型を判断し得る。他の例では、ラッパーは、プロセスデータのコンテンツに基づいて、データ型を判断し得る。データ型を判断することによって、例示的ラッパーは、ウェブブラウザ内に表示するために、対応するプロセスデータを含む適切なデータフィールドを作成することができる。プロセスデータを表示するためのデータフィールドには、スプレッドシート、テキストフィールド、数値フィールド、グラフ、チャート、アニメーション等が含まれ得る。
【００２２】
データフィールドを自動的に作成し、要求されたプロセスデータをこれらのデータフィールドに投入する（例えば、埋め込む）ことによって、例示的ラッパーは、外部制御システムサーバ上のデータにアクセスするための、要求に特有のアプリケーションをクライアントが作成する必要性を排除する。例示的ラッパーは、データ型に基づいて、データフィールドを動的にフォーマットすることから、サーバおよび／またはサーバ内のプロセスデータ位置のいかなる変更も、プロセスデータにアクセスするクライアントの能力に影響を及ぼさない。言い換えると、クライアントは、サーバの管理法、サーバ内におけるプロセスデータの割り当て法、プロセスデータの移動法、および／またはプロセスデータの種類を把握することを必要とせずに、プロセスデータにアクセスすることができる。さらに、プロセスデータは、ラッパーを介してウェブブラウザによってアクセスされ得ることから、クライアントは、通信プロトコル、インターフェースプロトコル、相互運用性データパッキングプロトコル、および／または特定のサーバのオペレーティングプロトコルに明示的に拘束されるアプリケーションを作成する必要がない。加えて、例示的ラッパーは、サーバに関連付けられたプロトコルにかかわらず、任意のサーバのために実装され得る。さらに、例示的ラッパーは、特有のサーバプロトコルのために構成されないことから、ラッパーは、相互運用性データパッキングサーバに特有のアプリケーションよりも、効率的にインストールおよび／または保守され得る。
【００２３】
図１は、ラッパー１１０を使用するウェブページサーバ１０８を介して、クライアント１０６によりアクセス可能な外部サーバ１０４に通信可能に連結される例示的制御システム１０２を含む制御環境１００を図示するブロック図である。外部サーバ１０４は、例えば、ＯＰＣ仕様または規格に準拠するプロトコルを含む、相互運用性データパッキングプロトコルに適合するフォーマットでプロセスデータを格納し得る。ウェブページサーバ１０８および／またはラッパー１１０は、制御システム１０２からプロセスデータを受信する外部サーバ１０４に通信可能に連結されるように示されるが、ウェブページサーバ１０８および／またはラッパー１１０は、他のシステム、製造施設、自動化施設、産業システム等からプロセスデータを受信する他の外部サーバに連結されてもよい。加えて、例示的外部サーバ１０４は、制御システム１０２に通信可能に連結されるように示されるが、外部サーバ１０４は、他の制御システムに通信可能に連結されてもよい。さらに、例示的制御環境１００は、ウェブページサーバ１０８および／または他のウェブページサーバ（図示せず）を介して外部サーバ１０４と通信可能に連結され得る追加のクライアント（図示せず）を含んでもよい。
【００２４】
例示的制御システム１０２には、任意の種類の製造施設、プロセス施設、自動化施設、および／または任意の他の種類のプロセス制御構造もしくはシステムが含まれ得る。いくつかの例では、制御システム１０２は、異なる位置に位置する複数の施設を含んでもよい。加えて、例示的制御システム１０２は、プロセス制御システム１１２を示すが、該制御システム１０２は、追加のプロセス制御システムを含んでもよい。
【００２５】
例示的プロセス制御システム１１２は、データバス１１６を介して、制御器１１４に通信可能に連結される。プロセス制御システム１１２は、任意の数のフィールド機器（例えば、入力機器および／または出力機器）を含んでもよい。フィールド機器は、入力を受信可能であり、出力を生成可能であり、および／またはプロセスを制御可能である任意の種類のプロセス制御構成要素を含んでもよい。例えば、フィールド機器は、プロセスを制御するために、例えば、バルブ、ポンプ、ファン、加熱器、冷却器、および／または混合器等の入力機器を含み得る。加えて、フィールド機器は、プロセスの部分を測定するために、例えば、温度計、圧力計、濃度計、液面計、流量計、および／または蒸気センサ等の出力機器を含み得る。入力機器は、制御器１１４から命令を受信して、特定のコマンドを実行し、プロセスの変更を引き起こし得る。さらに、出力機器は、プロセスデータ、環境データ、および／または入力機器データを測定し、測定されたデータを、プロセス制御情報（例えば、プロセスデータ）として、制御器１１４に伝送し得る。このプロセスデータは、各フィールド機器からの測定された出力に対応する変数および／またはパラメータ（例えば、測定されたプロセス変数および／または測定された品質変数）の値を含み得る。
【００２６】
図１に図示する例では、例示的制御器１１４は、データバス１１６を介して、プロセス制御システム１０６内のフィールド機器と通信し得る。このデータバス１１６は、プロセス制御システム１１２内の通信構成要素と連結され得る。通信構成要素は、フィールド機器からデータを受信するためにＩ／Ｏカードを含み、例示的制御器１１４が受信可能な通信媒体にデータを変換し得る。加えて、これらのＩ／Ｏカードは、制御器１１４からのデータを、対応するフィールド機器が処理可能なデータフォーマットに変換し得る。ある例では、データバス１１６は、Ｆｉｅｌｄｂｕｓプロトコルまたは他の種類の有線および／もしくは無線通信プロトコル（例えば、Ｐｒｏｆｉｂｕｓプロトコル、ＨＡＲＴプロトコル等）を使用して実装され得る。
【００２７】
制御器１１４は、任意の有線および／または無線接続を介して、外部サーバ１０４に通信可能に連結される。いくつかの例では、この接続は、制御器１１４へのアクセスを制限するために、ファイアウォールおよび／または他のセキュリティ機構を含み得る。制御器１１４は、制御器１１４が、プロセス制御システム１１２からプロセスデータを受信すると、プロセスデータを外部サーバ１０４に伝送し得る。他の例では、制御器１１４は、定期的な時間間隔で（例えば、毎分、毎時間、毎日等）プロセスデータを外部サーバ１０４に伝送し得る。代替として、外部サーバ１０４は、制御器１１４からのプロセスデータを要求してもよい。
【００２８】
プロセスデータを受信すると、図示する例の例示的外部サーバ１０４は、プロセスデータをファイルシステム内に格納する。ファイルシステムは、プロセス制御システム１１２内の機器に基づく、および／またはプロセス制御システム１１２を管理するために制御器１１４内で動作するルーティン（例えば、アプリケーションおよび／またはアルゴリズム）に基づく、ディレクトリおよび／またはサブディレクトリによって、階層的に配設され得る。他の例では、ファイルシステムは、制御システム１０２のオペレータによって配設され得る。プロセスデータは、関連付けられたディレクトリおよび／またはサブディレクトリ内のパラメータに格納され得る。いくつかの例では、パラメータは、制御器１１４上で動作するルーティンに関連付けられるか、またはプロセス制御システム１１２内におけるフィールド機器出力に関連付けられる変数であり得る。パラメータは、パラメータに関連付けられたプロセスデータ型を記述するメタデータおよび／またはプロパティを含み得る。また、外部サーバ１０４は、プロセス制御システム１１２内のフィールド機器毎に、プロセスデータの表示法を特定するＥＤＤＬファイルを格納し得る。
【００２９】
ディレクトリ、サブディレクトリ、ファイル、および／またはパラメータの各々には、エンドポイントが割り当てられ得る。また、外部サーバ１０４にも、エンドポイントが割り当てられ得る。これらのエンドポイントは、セキュリティアクセス、読み取りアクセス、サブスクライブアクセス、および／または書き込みアクセスによってグループ化され得る。エンドポイントは、外部サーバ１０４に格納されたプロセスデータおよび／またはＥＤＤＬファイルにアクセスするためにラッパー１１０が使用し得るアドレス、拘束要素、および／または縮約要素を含み得る。
【００３０】
図１の例示的ラッパー１１０は、ウェブページサーバ１０８内に含まれ、および／またはウェブページサーバ１０８によって使用される。ウェブページサーバ１０８は、外部サーバ１０４とクライアント１０６との間のインターフェースとして機能する機器および／またはアプリケーションである。いくつかの例では、ウェブページサーバ１０８は、外部サーバ１０４内にインターフェースとして含まれてもよい。他の例では、ウェブページサーバ１０８は、クライアント１０６におけるコンピューティング機器内にインストールされてもよい。さらに他の例では、ウェブページサーバ１０８は、クライアント１０６を外部サーバ１０４に通信可能に連結するサーバまたは他のコンピューティング機器上に実装されてもよい。例示的ラッパー１１０は、プロセスデータ（例えば、オブジェクト）にアクセスするために、クライアント１０６から要求を受信し、外部サーバ１０４からプロセスデータを要求し、プロセスデータを、クライアントにより視認可能なフォーマットに変換し、ウェブブラウザ内に表示するためにプロセスデータを埋め込むように、データフィールドを作成および／またはフォーマットする。
【００３１】
例示的ラッパー１１０は、クライアント１０６により視認可能であり得る一連のテンプレートを選択することによって、データフィールドをフォーマットする。言い換えると、例示的ラッパー１１０は、比較的大型または小型の画面サイズ上に表示されるように、どのテンプレートを構成するかを判断する。また、例示的ラッパー１１０は、要求されたプロセスデータに関連付けられた少なくとも１つのプロパティおよび／またはオブジェクト型に一致するテンプレートを、一連のテンプレートの中から選択することによっても、データフィールドをフォーマットする。例えば、ＸＳＬＴテンプレートは、フィールド機器の識別情報を表示するための文字列変数として定義されるデータフィールドを含み得る。プロセスデータの要求は、フィールド機器の識別情報を含み得る。例示的ラッパー１１０は、プロセスデータ内のメタデータおよび／またはプロパティ記述を使用して、フィールド機器の識別情報が表示されることを判断する。次いで、例示的ラッパー１１０は、識別情報プロセスデータを表示するように構成されるデータフィールドを含むＸＳＬＴテンプレートを識別する。次いで、例示的ラッパー１１０は、識別情報プロセスデータを、選択されたＸＳＬＴテンプレート内の適切なデータフィールドと組み合わせ、および／またはそのデータフィールドに挿入し得る。次いで、例示的ラッパー１１０は、クライアント１０６において表示するためのＸＳＬＴテンプレートをレンダリングする。
【００３２】
クライアント１０６は、プロセスデータを読み取り、書き込み、および／またはサブスクライブするために、外部サーバ１０４にアクセスし得る。プロセスデータをサブスクライブすることは、プロセスデータが制御器１１４によって伝送される際に、要求されたプロセスデータの定期的および／または連続的な更新を受信するために、例示的ラッパー１１０および／または外部サーバ１０４から認可を受信することを含み得る。プロセスデータを読み取ることは、外部サーバ１０４に格納されたプロセスデータの現在値を読み取ることを含み得る。プロセスデータを書き込むことは、外部サーバ１０４内にプロセスデータとして格納されたパラメータを修正または変更するために、クライアント１０６から値を受信することを含み得る。また、データを書き込むことは、プロセスデータに関連付けられた状態、アラーム、および／またはフラグを修正することも含み得る。書き込まれた値を受信すると、例示的外部サーバ１０４は、プロセス制御システム１１２の動作を変更および／または修正するために、書き込まれた値を制御器１１４に伝送し得る。クライアント１０６がプロセスデータにアクセスすることを可能にするために、例示的ラッパー１１０は、暗号化、認証、完全性コード、および／またはユーザ特有のアクセス制御リストを含むセキュリティ特徴を実装し得る。ユーザおよび／またはクライアント１０６が、プロセスデータのアクセスを認可されていない例では、例示的ラッパー１１０は、プロセスデータへの読み取りアクセスのみを提供し得るか、または代替として、プロセスデータへのいかなるアクセスも提供し得ない。
【００３３】
外部サーバ１０４にアクセスするために、例示的ラッパー１１０は、アダプタ１１８を含む。例示的アダプタ１１８は、ＴＣＰ、ＨＴＴＰ、および／またはＸＭＬベースの通信を使用して、任意の有線および／または無線接続を介して外部サーバ１０４と通信し得る。ラッパー１１０は、アダプタ１２０により受信されたプロセスデータを、ウェブブラウザを介して視認可能であるフォーマットに変換（組み合わせおよび／または挿入）するために、変換器１２０をさらに含む。また、例示的ラッパー１１０は、プロセスデータを表示するための１つ以上のテンプレートを選択するために、ウェブベースのインターフェースも含む。また、例示的ウェブベースインターフェース１２２は、選択されたテンプレート内にプロセスデータをフォーマット、レンダリング、埋め込み、および／または表示することによって、インターフェースをクライアント１０６に提供する。
【００３４】
例示的クライアント１０６は、外部サーバ１０４上に格納されたプロセスデータを読み取り、書き込み、および／またはサブスクライブすることを認可され得る個人に関連付けられ得る。また、クライアント１０６は、遠隔位置から外部サーバ１０４にアクセスし得る制御システム１０２に関連付けられた人にも関連付けられ得る。クライアント１０６は、任意の有線および／または無線通信媒体（例えば、インターネット）を使用して、ウェブページサーバ１０８を介して外部サーバ１０４にアクセスし得る。
【００３５】
プロセスデータ（例えば、オブジェクト）にアクセスする要求をクライアント１０６が生成する例では、ラッパー１１０は、クライアント１０６から要求メッセージを受信する。具体的には、ウェブベースインターフェース１２２が、要求を受信し得る。要求を受信すると、ウェブベースインターフェース１２２は、要求をアダプタ１１８に転送する。アダプタ１１８は、要求内の情報（例えば、統一資源位置指定子（ＵＲＬ）宛先アドレス）を使用して、要求されたプロセスデータを格納する外部サーバ（例えば、外部サーバ１０４）を識別する。次いで、アダプタ１１８は、プロセスデータを取り出すために、外部サーバ１０４にアクセスする。アダプタ１１８は、プロセスデータに関連付けられたエンドポイントを使用して、プロセスデータにアクセスし、および／またはプロセスデータを読み取り得る。次いで、アダプタ１１８は、外部サーバ１０４から受信したプロセスデータを変換器１２０に転送し、変換器１０２は、相互運用性データパッキングフォーマットに関連付けられたフォーマットから、ウェブ閲覧フォーマットに、プロセスデータを変換する。次いで、変換器１２０は、プロセスデータをウェブベースインターフェース１２２に転送する。次いで、ウェブベースインターフェース１２２は、１つ以上のテンプレートを選択して、変換されたプロセスデータの少なくとも一部分を、クライアント１０６により視認可能なウェブページにおいてウェブブラウザを介して表示するための１つ以上の対応するテンプレートデータフィールドに埋め込み、組み合わせ、および／または配置する。
【００３６】
ウェブベースインターフェース１２２は、データ型および／またはプロパティによりプロセスデータを分割し、どのデータ型および／またはプロパティがデータフィールドに関連付けられるかを判断し、各データ型に関連付けられたデータを、関連付けられたデータフィールド内に配置することによって、プロセスデータを、テンプレートの１つ以上のデータフィールドと組み合わせ得る。いくつかの例では、ウェブベースインターフェース１２２は、テンプレート内にデータフィールドを作成し得る。ウェブベースインターフェース１２２は、プロセスデータの各部分に関連付けられたメタデータをロケートし、メタデータを、関連付けられたデータフィールドと相互参照することによって、プロセスデータ内におけるデータ型および／またはプロパティを識別し得る。
【００３７】
例示的ウェブベースインターフェース１２２は、プロセスデータが、クライアントアプリケーション１２４を使用してクライアント１０６により視認可能であるように、プロセスデータを１つ以上のテンプレートと組み合わせる。図１の例は、ウェブブラウザを含み得るインターフェース１２６にプロセスデータを表示するクライアントアプリケーション１２４を示す。クライアントアプリケーション１２４は、ウェブサーバアプリケーションおよび／またはクライアント表示アプリケーションを含み得る。ラッパー１１０は、ウェブページを作成し、および／またはＸＳＬＴウェブページテンプレートにアクセスし、ならびにデータフィールドをテンプレート内に配置もしくは埋め込むことによって、ウェブサーバアプリケーションのためにプロセスデータをフォーマットし得る。次いで、インターフェース１２６は、ＨＴＭＬ要求および応答を使用してラッパー１１０および／またはウェブページサーバ１０８によりホストされたウェブページにアクセスすることによって、ウェブブラウザを介して、プロセスデータを表示し得る。
【００３８】
代替として、ラッパー１１０は、ウェブブラウザ（例えば、インターフェース１２６）内で実行可能なクライアントアプリケーション１２４において、ウェブアプリケーション（例えば、ＡｃｔｉｖｅＸ、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）、および／またはＳｉｌｖｅｒｌｉｇｈｔ（登録商標））を初期化することによって、クライアント表示アプリケーションのためにプロセスデータをフォーマットしてもよい。いくつかの例では、クライアント１０６は、プロセスデータを視認する前に、クライアント表示アプリケーションをダウンロードおよび／またはインストールし得る。ラッパー１１０は、プロセスデータ、テンプレート、および／またはデータフィールドをクライアント表示アプリケーションに伝送する。いくつかの例では、ラッパー１１０は、プロセスデータをクライアント表示アプリケーションに伝送する前に、プロセスデータを、対応するテンプレートおよび／またはデータフィールドに関連付ける。プロセスデータを受信すると、クライアント表示アプリケーションは、対応するテンプレートおよび／またはデータフィールド内でプロセスデータを視認するために、ウェブブラウザ（例えば、インターフェース１２６）内に表示を作成（例えば、レンダリング）する。
【００３９】
さらに、クライアント１０６は、テンプレートおよび／またはデータフィールドを修正することによって、クライアントアプリケーション１２４をカスタマイズし得る。例えば、クライアント１０６は、データフィールドを表示するために、ウェブブラウザ内の位置を特定し得る。さらに、クライアント１０６は、データフィールドとともに、プロセスデータの色、テキストサイズ、数値的表現法、および／または任意の他のグラフ表現を修正し得る。
【００４０】
図２は、図１の例示的ラッパー１１０の機能ブロック図である。ラッパー１１０は、図１のアダプタ１１８、変換器１２０、およびウェブベースインターフェース１２２を含む。図２のラッパー１１０内の機能ブロックの各々は、複数のクライアントおよび／または外部サーバを促進し得るか、または代替として、ラッパー１１０は、通信可能に連結される外部サーバ毎にそれぞれの機能ブロックを含み、および／またはクライアント（例えば、クライアント１０６）毎に機能ブロックを含んでもよい。
【００４１】
クライアント１０６および／またはクライアントアプリケーション１２４と通信するための暗号化および／またはエンドポイントアクセス制御等のセキュリティ対策を提供するために、図２の例示的ラッパー１１０は、セキュリティプロセッサ２０２を含む。例示的セキュリティプロセッサ２０２は、非認可の第３者から発信通信を保護するために、例えば、暗号化プロセッサおよび／またはデジタル署名発生器を含み得る。暗号化プロセッサは、任意の種類の暗号化符号器を使用して、非認可ユーザが読むことのできないフォーマットで、クライアントアプリケーション１２４向けの通信をフォーマットし得る。デジタル署名発生器は、クライアントアプリケーション１２４の通信を、非認可の第３者による改ざんから保護する。デジタル署名発生器は、任意の種類の暗号化されてセキュアな署名発生器（例えば、ハッシュコード）であって、クライアントアプリケーション１２４とラッパー１１０との間で非認可の第３者により修正された値の検出を可能にする署名発生器を使用してもよい。加えて、セキュリティプロセッサ２０２は、認証機構および／またはアクセス制御を含む他の形式の通信セキュリティを含んでもよい。例示的セキュリティプロセッサ２０２は、クライアントアプリケーション１２４および／またはクライアント１０６から生じる暗号化および／または署名された通信を復号し得る。通信を復号すると、セキュリティプロセッサ２０２は、通信を、ラッパー内の意図された宛先に伝送する。
【００４２】
図２の例では、セキュリティプロセッサ２０２は、クライアント１０６を含む１つ以上のクライアントに通信可能に連結される。セキュリティプロセッサ２０２は、認可されたクライアントのみが所望のサーバ内のプロセスデータにアクセスし得るように、クライアントおよび／または他のユーザから生じる要求メッセージを識別情報によってフィルタリングし得る。さらに、セキュリティプロセッサ２０２は、プロセスデータおよび／またはテンプレートを、クライアントアプリケーション１２４内に実装されるクライアント表示アプリケーションに転送し得る。他の例では、セキュリティプロセッサ２０２は、クライアント１０６と、テンプレートを介してプロセスデータを表示するウェブページをホストし得るウェブベースインターフェース１２２との間のセキュアな通信を可能にする。
【００４３】
１つ以上のクライアントと例示的ウェブベースインターフェース１２２との間のデータ通信を管理するために、図２の例示的ラッパー１１０は、セッション制御器２０４を含む。例示的セッション制御器２０４は、ラッパー１１０と通信するクライアント（例えば、図１のクライアント１０６）のアクセスセッションを管理する。アクセスセッションは、ウェブベースインターフェース１２２とクライアントとの間の開放通信路を表わす。異なるデータソースおよび／または異なる外部制御システムサーバからのデータ型へのアクセスを各クライアントが要求し得ることから、アクセスセッションは、ウェブベースインターフェース１２２にアクセスするクライアント毎に作成され得る。したがって、例示的セッション制御器２０４は、ウェブベースインターフェース１２２が、クライアントにより要求されたプロセスデータのみをクライアントに提供することを確実にする。
【００４４】
セッション制御器２０４は、プロセスデータにアクセスする要求メッセージをクライアントから受信した後に、セッションを始動する。この要求は、ウェブブラウザおよび／またはクライアントアプリケーション１２４からのものであり得る。セッションがセッション制御器２０４によって開放されるまで、セッション制御器２０４は、クライアントからの任意の他の要求を拒否し得る。セッションが開放している間、セッション制御器２０４は、各要求メッセージを、クライアントからウェブベースインターフェース１２２にルーティングする。加えて、セッション制御器２０４は、ウェブページにおいて視認可能なデータフィールドおよび／またはプロセスデータに関連付けられ得る、選択されたプロセスデータの参照、およびその関連付けられた読み取りまたは書き込みエンドポイントを格納し得る。
【００４５】
図２のラッパー１１０内に含まれる例示的ウェブベースインターフェース１２２は、プロセスデータを管理、フォーマット、および／または構成することによって、インターフェースをクライアントに提供する。ウェブベースインターフェース１２２は、ウェブブラウザにおいて視認可能であるフォーマットで、変換器１２０からプロセスデータ（例えば、オブジェクト）を受信する。また、例示的ウェブベースインターフェース１２２は、プロセスデータにアクセスするためのクライアントからの要求を処理する。クライアントから要求を受信すると、ウェブベースインターフェース１２２は、命令をセッション制御器２０４に送信し、要求をアダプタ１１８に転送することによって、アクセスセッションを始動する。いくつかの例では、ウェブベースインターフェース１２２は、認可されたクライアントに要求が関連付けられることをセキュリティプロセッサ２０２が判断した後に、要求を受信する。加えて、ウェブベースインターフェース１２２は、クライアントがウェブブラウザを閉鎖および／もしくは終了させる場合、ならびに／またはクライアントアプリケーションが命令を送信してセッションを終了させる場合に、アクセスセッションを閉鎖し得る。
【００４６】
ウェブベースインターフェース１２２が、要求に関連付けられたプロセスデータを受信すると、ウェブベースインターフェース１２２は、プロセスデータをデータプロセッサ２０６に転送することによって、プロセスデータに関連付けられた１つ以上のデータ型および／またはプロパティを判断する。例示的データプロセッサ２０６は、プロセスデータの部分内に含まれ得るメタデータおよび／またはプロパティを識別する。加えて、データプロセッサ２０６は、テンプレートデータベース２０８にアクセスして、プロセスデータに関連付けられ得る値の種類、プロパティ、変数型、および／または任意の他の識別子に基づいて、プロセスデータを、対応するテンプレートおよび／またはデータフィールドと相互参照する。例示的テンプレートデータベース２０８は、電気的消去可能プログラム可能読み取り専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／または任意の他の種類のメモリによって実装され得る。
【００４７】
図２の例示的データプロセッサ２０６は、プロセスデータに関連付けられたデータ型を判断し、テンプレートデータベース２０８内で一致するテンプレートを検索すると、プロセスデータをデータフィールドと関連付けるおよび／または組み合わせる。テンプレートは、例えば、ＸＳＬＴプロトコルに適合し得る。代替として、データプロセッサ２０６は、取り出されたプロセスデータに関連付けられた１つ以上のＥＤＤＬファイルからＸＳＬＴテンプレートを生成し得る。これらの例では、ＥＤＤＬファイルは、プロセスデータの表示法を定義し得る。例示的データプロセッサ２０６は、プロセスデータを、データ型および／またはプロパティと相互参照され得るテンプレート内のデータフィールドの１つ以上のデータ表示変数（例えば、パラメータ）に割り当てる。また、データプロセッサ２０６および／またはウェブベースインターフェース１２２は、プロセスデータの数値、英数字、および／またはフラグ値を、テンプレート内の適切なデータフィールドに格納、埋め込み、および／または参照し得る。
【００４８】
データプロセッサ２０６は、プロセスデータを表示するテンプレートを選択するために、テンプレートデータベース２０６にアクセスする。テンプレートは、ＸＭＬ情報（例えば、プロセスデータ）を、ウェブブラウザ内に表示するためのＨＴＭＬに変換するＸＳＬＴテンプレートを含み得る。データプロセッサ２０６は、プロセスデータの種類、プロセスデータの値、プロセスデータのプロパティ、および／または標的表示情報に基づいて、テンプレートを選択し得る。標的表示情報は、プロセスデータを表示するウェブブラウザおよび／または機器の種類を識別し得る。例えば、標的表示情報は、プロセスデータが、スマートフォンウェブブラウザまたはワークステーション上のウェブブラウザに表示されるかを示し得る。スマートフォン用のテンプレートは、ワークステーションのウェブブラウザ用のテンプレートに比べて、比較的小型の画面上にプロセスデータを表示するように構成され得る。
【００４９】
図２の例示的ウェブベースインターフェース１２２は、プロセスデータのデータ型および／またはプロパティをデータプロセッサ２０６から受信し、一致するテンプレートをコンパイルする。次いで、ウェブベースインターフェース１２２は、プロセスデータ（例えば、それぞれのデータフィールドに関連付けられたプロセスデータのコンパイルされた部分）を、テンプレートの適切なデータフィールドに埋め込み、組み合わせ、および／または、そうでなければ配置し得る。ウェブベースインターフェース１２２は、データ型によりプロセスデータを分割し、データプロセッサ２０６からの情報および／またはテンプレートを使用して、どのデータ型がテンプレートのデータフィールドに関連付けられるかを判断し、各データ型に関連付けられたプロセスデータを、テンプレートの関連付けられたデータフィールドに配置することによって、プロセスデータの部分をデータフィールドに埋め込む。いくつかの例では、データフィールドは、２つ以上のデータ型に関連付けられてもよい。次いで、ウェブベースインターフェース１２２は、プロセスデータを、データフィールドを含むテンプレートウェブページに埋め込み得る。
【００５０】
クライアントが、クライアントアプリケーション（例えば、クライアントアプリケーション１２４）を使用してプロセスデータを要求し得る例では、例示的ウェブベースインターフェース１２２は、アプリケーションの種類を判断する。ウェブベースインターフェース１２２は、要求メッセージおよび／または要求メッセージ内のクライアントアプリケーションに関連付けられた任意のメタデータに関連付けられたプロトコルおよび／またはアプリケーション言語を識別することによって、クライアントアプリケーションの種類を判断し得る。例えば、ウェブサーバアプリケーションを使用するクライアントは、ＡＳＰ．ＮＥＴアプリケーションに関連付けられたプロトコルを含み得るが、クライアント表示アプリケーションを使用するクライアントは、Ｓｉｌｖｅｒｌｉｇｈｔ（登録商標）またはＡｃｔｉｖｅＸアプリケーションに関連付けられたプロトコルおよび／またはメッセージを含み得る。クライアントアプリケーションの種類に基づいて、例示的ウェブベースインターフェース１２２は、適切なテンプレート内にプロセスデータを表示するために、適切なウェブブラウザおよび／またはプログラムインターフェースを作成および／または構成する。例えば、ウェブベースインターフェース１２２は、一定の種類のクライアント表示アプリケーションに対応するテンプレートを検索するように、データプロセッサ２０６に命令し得る。
【００５１】
クライアントアプリケーションの種類を判断すると、ウェブベースインターフェース１２２および／またはデータプロセッサ２０６は、プロセスデータ、および／または表示するためのテンプレートを、表示ファイルを生成することによってフォーマットする。表示ファイルは、クライアントアプリケーションの種類に適合し得る。このように、表示ファイルは、テンプレートおよび／またはＥＤＤＬファイルにより特定されたレイアウトでプロセスデータを表示するために、クライアントに伝送され得る。クライアントアプリケーション１２４がウェブサーバアプリケーションに関連付けられる例では、ウェブベースインターフェース１２２は、ウェブブラウザを介してクライアント１０６から要求を受信し、プロセスデータおよび／または対応するＥＤＤＬファイルにアクセスするために、要求をアダプタ１１８に転送し、変換器１０２からプロセスデータを受信する。ウェブブラウザを介するクライアント１０６からの要求は、ＨＴＭＬ文書の形式であり得る。さらに、ウェブベースインターフェース１２２は、クライアント１０６のウェブブラウザを、新しく作成されたセッションに関連付けるように、命令をセッション制御器２０４に送信し得る。次いで、ウェブベースインターフェース１２２は、埋め込まれたプロセスデータを含むテンプレートでウェブページ（例えば、表示ファイル）を作成する。テンプレートには、例えば、リスト、スプレッドシート、グラフ、チャート、グラフィカル表示、アニメーション等が含まれ得る。さらに、データフィールドの位置は、テンプレートによって特定され得る。また、テンプレート内に挿入されるプロセスデータも、ＥＤＤＬファイルによって特定され得る。ウェブベースインターフェース１２２は、クライアント位置においてウェブページを表示するために、ウェブページテンプレートのコンテンツを表示ファイルとして、クライアント１０６のウェブブラウザに伝送する。ウェブページテンプレート内のプロセスデータは、任意のＨＴＴＰ、ＸＭＬ、ＸＳＬＴ、および／または任意の他のインターネットウェブページ伝送フォーマットを介してフォーマットされたコンテクストで、ウェブブラウザによってクライアント１０６に伝送される。
【００５２】
ウェブブラウザがクライアント表示アプリケーションを含む例では、例示的ウェブベースインターフェース１２２は、ウェブブラウザを介してクライアント１０６から要求を受信し、プロセスデータにアクセスするために要求をアダプタ１１８に転送し、変換器１０２からプロセスデータを受信し、ウェブブラウザ内のクライアント表示アプリケーションを始動する。ウェブベースインターフェース１２２は、プロセスデータのプロパティに基づくクライアント表示アプリケーションのテンプレートについて、データプロセッサ２０６に命令を送信し得る。次いで、ウェブベースインターフェース１２２は、クライアント表示アプリケーション内のプロセスデータを表示ファイルとして、ウェブブラウザを介して表示し得る。ウェブブラウザを介するクライアント１０６からの要求は、メソッド呼び出しの形式であり得る。表示ファイルを生成するために、テンプレート内に表示するためのプロセスデータをフォーマットおよび／または構成すると、ウェブベースインターフェース１２２は、クライアント表示アプリケーションのプロトコルに関連付けられたフォーマットで、表示ファイルをクライアントに伝送する。次いで、クライアント表示アプリケーションは、テンプレートの関連付けられたデータフィールド内にプロセスデータを示す表示を、クライアントにおけるウェブブラウザに作成する。
【００５３】
クライアント表示アプリケーションは、任意のプログラムクライアントを含んでもよく、任意のプログラムクライアントは、いくつかの例では、ウェブブラウザを使用せずに、ウェブベースインターフェース１２２にアクセスし得る。これらの例では、ウェブベースインターフェース１２２は、プログラムクライアントを、新しく作成されたアクセスセッションに関連付け、テンプレート内に表示するためにフォーマットされたプロセスデータを、プログラムクライアントに関連付けられた任意のプロトコルを介して、表示ファイルとしてクライアントに転送する。次いで、プログラムクライアントは、関連付けられたデータフィールド内にプロセスデータを表示する表示ファイルを介して、表示を作成する。
【００５４】
例示的ウェブベースインターフェース１２２は、読み取りアクセス、書き込みアクセス、および／またはサブスクライブアクセスをクライアントに提供する。読み取りアクセスを要求するクライアントに対しては、ウェブベースインターフェース１２２は、現在のプロセスデータおよび／または対応するＥＤＤＬファイルに関する単一の要求を、アダプタ１１８に転送する。プロセスデータを受信およびフォーマットすると、ウェブベースインターフェース１２２は、クライアントアプリケーションに、要求されたプロセスデータを提供する。
【００５５】
代替として、クライアントがサブスクライブアクセスを要求する場合、ウェブベースインターフェース１２２は、時間間隔でプロセスデータを受信するために、定期的なメッセージをアダプタ１１８に送信し得る。いくつかの例では、クライアントは、プロセスデータを受信する時間間隔を特定し得る。さらに、ウェブベースインターフェース１２２が、ウェブページおよび／またはプログラムアプリケーション用の表示テンプレートを作成した後、ウェブベースインターフェース１２２は、テンプレート内のデータフィールドに対する定期的および／または連続的な更新に、より最近のプロセスデータを提供する。ウェブベースインターフェース１２２は、要求するクライアントとの通信を維持する既にアクティブなアクセスセッションを介して、更新を提供する。データフィールドに対する更新は、対応する外部制御システムサーバに格納された最新のプロセスデータで、傾向グラフ、プロセス状態アラート、および／またはフラグを更新することを含み得る。したがって、ウェブベースインターフェース１２２は、クライアントが、ウェブブラウザをリフレッシュすることを必要とせずに、および／またはプロセスデータを定期的に要求することを必要とせずに、最新のプロセスデータにアクセスすることを可能にする。
【００５６】
クライアントが書き込みアクセスを要求し得るさらに他の例では、例示的ウェブベースインターフェース１２２は、ＨＴＭＬ文書または方法要求を介して、ウェブページおよび／またはプログラムアプリケーションから、書き込まれたプロセスデータ値を受信する。次いで、ウェブベースインターフェース１２２は、書き込まれたデータ値に関連付けられた変数および／またはパラメータを識別する。他の例では、ウェブベースインターフェース１２２は、データプロセッサ２０６にアクセスして、テンプレートデータベース２０８内で特定されるデータ型とデータ値を相互参照し得る。次いで、ウェブベースインターフェース１２２は、データ値を適切な変数および／または外部サーバの部分に転送するために、命令を変換器１２０および／またはアダプタ１１８に送信する。次いで、外部サーバは、書き込まれたデータ値を格納し、および／または書き込まれたデータ値を、制御器内の適切な位置に転送し得る。
【００５７】
例示的ウェブベースインターフェース１２２は、クライアントカスタマイズ情報をデータベース（図示せず）に格納し、次に同一のクライアントが同一の種類のプロセスデータを要求する際に、ウェブベースインターフェース１２２が、クライアントの前のカスタマイズに部分的に基づいて、テンプレート内のプロセスデータをフォーマットし得るようにする。ウェブベースインターフェース１２２は、データフィールド内のプロセスデータの出現および／またはデータ表示を変更するために、ウェブブラウザおよび／またはプログラムアプリケーションを通して、クライアントにより実行された任意の修正によって、クライアントカスタマイズを識別し得る。クライアントは、プロセスデータの色、テキストサイズ、数値的表現法、および／または任意の他のグラフィカル表現を修正し得る。
【００５８】
外部制御システムサーバ（例えば、外部サーバ１０４）にアクセスするために、図２の例示的ラッパー１１０は、アダプタ１１８を含む。例示的アダプタ１１８は、ＴＣＰ、ＨＴＴＰ、ＸＭＬ、および／または任意の他の伝送プロトコルを使用して、任意の有線および／または無線接続を介して外部サーバと通信し得る。アダプタ１１８は、外部サーバにアクセスする要求を、ウェブベースインターフェース１２２から受信する。要求を受信すると、アダプタ１１８は、クライアント要求を特定の外部サーバに相互参照するために、サーバ参照データベース２１０にアクセスすることによって、プロセスデータを格納する外部サーバを識別する。例示的サーバ参照データベース２１０は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ、および／または任意の他の種類のメモリによって実装され得る。
【００５９】
いくつかの例では、クライアント要求は、外部サーバのウェブアドレスおよび／または識別子を含み得る。アダプタ１１８は、要求された外部サーバの位置を判断するために、サーバ参照データベース２１０を参照し得る。いくつかの例では、アダプタ１１８は、要求されたプロセスデータおよび／または対応するＥＤＤＬファイルにアクセスするために、２つ以上の外部サーバにアクセスし得る。外部サーバの位置を判断すると、アダプタ１１８は、プロセスデータの要求を外部サーバに送信する。アダプタ１１８は、サーバ上に格納されたプロセスデータのディレクトリおよび／またはファイル構造を判断することによって、外部サーバ上のプロセスデータにアクセスし得る。アダプタ１１８は、このディレクトリおよび／またはファイル構造を、ウェブベースインターフェース１２２に中継して、クライアントが、ウェブブラウザおよび／またはプログラムアプリケーションを介して、１つ以上のディレクトリおよび／またはサブディレクトリを選択することを可能にし得る。ディレクトリおよび／またはサブディレクトリを選択することによって、クライアントは、視認および／またはアクセスすることを所望されるプロセスデータを特定する。他の例では、クライアントは、所望のプロセスデータのディレクトリおよび／またはサブディレクトリ位置を含み得る。さらに他の例では、クライアントは、要求されたプロセスデータにアクセスするために外部サーバをナビゲートするのにアダプタ１１８が使用し得る変数名、プロセスデータ識別子、および／または任意の他のデータ識別情報を特定し得る。
【００６０】
例示的アダプタ１１８は、割り当てられたエンドポイントを使用して、外部サーバのディレクトリ、サブディレクトリ、および／またはファイルをナビゲートし得る。例えば、アダプタ１１８は、外部サーバに対応するエンドポイントを識別するために、外部サーバ参照データベース２１０にアクセスし得る。次いで、外部サーバは、階層、読み取りアクセス、書き込みアクセス、および／またはサブスクライブアクセスに基づいて、エンドポイントをプロセスデータに関連付けられたアダプタ１１８に返送し得る。次いで、アダプタ１１８は、どのエンドポイントが、要求されたプロセスデータに関連付けられるかを判断し得、そのエンドポイントを使用して、プロセスデータを格納する外部サーバ内の位置を閲覧および／または位置をロケートする。
【００６１】
アダプタ１１８が、ウェブベースインターフェース１２２から読み取りおよび／またはサブスクライブ命令を受信する例では、アダプタ１１８は、要求されたプロセスデータに関連付けられた対応する読み取りおよび／またはサブスクライブエンドポイントにアクセスし得る。さらに、クライアントが、プロセスデータを受信する（例えば、プロセスデータをサブスクライブする）定期的な間隔を特定し得る例では、アダプタ１１８は、所望のプロセスデータについて、定期的な間隔で外部サーバをポーリングし得る。
【００６２】
クライアントがプロセスデータ値をデータフィールドに書き込み得るさらに他の例では、アダプタ１１８は、ウェブベースインターフェース１２２から、その値および／または関連付けられた値識別子を受信する。次いで、アダプタ１１８は、書き込まれたデータ値に関連付けられたファイルおよび／またはディレクトリ位置をロケートするために、外部サーバをナビゲートする（例えば、書き込みエンドポイントを使用してナビゲートする）。次いで、アダプタ１１８は、書き込まれた値を、外部サーバ内の適切な位置に格納する。クライアントが値を書き込み得るいくつかの例では、アダプタ１１８は、変換器１２０が、ウェブページおよび／またはプログラムアプリケーションフォーマットから相互運用性データパッキングフォーマットに値を変換した後に、値を受信し得る。
【００６３】
図２の例示的アダプタ１１８は、アダプタ１１８が、異なるプロトコル、インターフェース、オペレーティングシステム、および／またはファイルシステムで動作し得る異なる外部サーバとインターフェース接続および／または通信することを可能にする機能性を含む。サーバ参照データベース２１０は、各外部サーバに関連付けられたプロトコル、インターフェース、オペレーティングシステム、および／またはファイルシステムの参照を含み得る。次いで、アダプタ１１８が、アクセスする外部サーバを識別すると、アダプタ１１８は、外部サーバに関連付けられたプロトコル、インターフェース、オペレーティングシステム、および／またはファイルシステム情報を使用して、外部サーバと適切に通信および／またはインターフェース接続し得る。
【００６４】
外部サーバから、要求されたプロセスデータを受信および／またはアクセスすると、例示的アダプタ１１８は、プロセスデータを変換器１２０に転送する。図２の例示的変換器１２０は、プロセスデータおよび／またはＥＤＤＬファイルを、任意の相互運用性データパッケージ化関連フォーマットから、ウェブブラウザおよび／または任意の他のプログラムアプリケーション内で視認可能なフォーマットに変換する。プロセスデータをウェブ閲覧フォーマットおよび／または任意の他のプログラムアプリケーションフォーマットに変換すると、変換器１２０は、変換されたプロセスデータをウェブベースインターフェース１２２に転送する。また、例示的変換器１２０は、圧縮されたＥＤＤＬファイルを、テンプレート内にプロセスデータを表示するためにデータプロセッサ２０６により利用され得るフォーマット（例えば、ＸＭＬおよび／またはＸＳＬＴ）にも変換し得る。さらに、変換器１２０は、書き込まれた値および／またはプロセスデータを、ウェブベースインターフェース１２２から受信し得る。これらの例では、変換器１２０は、書き込まれたデータのウェブ閲覧および／またはプログラムアプリケーションフォーマットを、書き込まれたデータを外部サーバに格納するためにアダプタ１１８が使用し得るフォーマットに変換する。変換器１２０は、任意のデータパッケージ化規約により特定され得る任意のアプリケーション、フレームワーク、データ変換アルゴリズム等を使用し得る。
【００６５】
例示的ラッパー１１０について図２に図示しているが、図２に図示するサーバ、プラットフォーム、インターフェース、データ構造、要素、プロセス、および／または機器のうちの１つ以上を、任意の方式で組み合わせ、分割、再配設、省略、排除、および／または実装してもよい。さらに、例示的セキュリティプロセッサ２０２、例示的セッション制御器２０４、ウェブベースインターフェース１２２、例示的変換器１２０、例示的アダプタ１１８、例示的データプロセッサ２０６、例示的テンプレートデータベース２０８、例示的サーバ参照データベース２１０、および／または、より一般的には、例示的ラッパー１１０を、ハードウェア、ソフトウェア、ファームウェアならびに／またはハードウェア、ソフトウェア、および／もしくはファームウェア任意の組み合わせによって実装してもよい。したがって、例えば、例示的セキュリティプロセッサ２０２、例示的セッション制御器２０４、ウェブベースインターフェース１２２、例示的変換器１２０、例示的アダプタ１１８、例示的データプロセッサ２０６、例示的テンプレートデータベース２０８、例示的サーバ参照データベース２１０のいずれか、および／または、より一般的には、例示的ラッパー１１０は、１つ以上の回路、プログラム可能プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理デバイス（ＰＬＤ）、および／またはフィールドプログラム可能論理デバイス（ＦＰＬＤ）等によって実装される可能性がある。
【００６６】
本特許の任意の装置請求項が、単にソフトウェアおよび／またはファームウェア実装を包含するように読み取られる場合、例示的セキュリティプロセッサ２０２、例示的セッション制御器２０４、ウェブベースインターフェース１２２、例示的変換器１２０、例示的アダプタ１１８、例示的データプロセッサ２０６、例示的テンプレートデータベース２０８、および／または例示的サーバ参照データベース２１０のうちの少なくとも１つは、ソフトウェアおよび／またはファームウェアを格納するメモリ、ＤＶＤ、ＣＤ等のコンピュータ可読媒体を含むように、本明細書によって明示的に定義される。またさらに、例示的ラッパー１１０は、図２に図示するものに加えて、またはその代わりに、１つ以上の要素、プロセス、および／または機器を含んでもよく、および／または図示する要素、プロセス、および機器のうちのいずれかまたは全てのうちの２つ以上を含んでもよい。
【００６７】
図３は、図１および図２の例示的ラッパー１１０を実装するために使用され得る例示的サービス指向フレームワーク３００のブロック図である。例示的サービス指向フレームワーク３００は、制御システム（例えば、図１の制御システム１０２）の柔軟性を改善するために、サービス指向アーキテクチャを提供する。図３に図示するように、サービス指向フレームワーク３００は、クライアント１０６、機器記述層３０２、および１つ以上の機器ネットワーク３０４と通信している。クライアントは、プロセスデータの要求をサービス指向フレームワーク３００に伝送するクライアントアプリケーション１２４を含む。サービス指向フレームワーク３００は、サービス層３０６、変換層３０８、ネットワークアプリケーション層３１０、およびセキュリティ層３１２を含む。
【００６８】
例示的ラッパー１１０は、例示的サービス層３０６、変換層３０８、およびセキュリティ層３１２によって実装され得る。サービス層３０６は、サービスインターフェース３２０、サービスメッセージ型３２２、サービスデータ型３２４、アダプタ３２６、およびサービス３２８を含む。サービス層３０６により提供された例示的サービス３２８は、表示するために、プロセスデータおよびテンプレートを、クライアント１０６に伝送することを含む。また、サービスは、プロセスデータをサブスクライブすること、および／またはプロセスデータを機器ネットワーク３０４に書き込むことも含み得る。サービス３２８は、サービス契約として露呈され、サービス契約によって、アプリケーションおよび／または機器は、サービス３２８に所望の能力または機能を実行するように要求することが可能になる。
【００６９】
サービス層３０６は、サービスインターフェース３２０を通してクライアント３０６によってアクセスされる。サービス層３０６は、クライアントアプリケーション１２４からのサービス要求を管理し、クライアント１０６により使用するために、サービス契約を変換する。サービスとクライアント１０６との間でメッセージを送る場合、１つ以上のアダプタ３２６を使用して、クライアント１０６が理解可能なフォーマットに、メッセージを変換し得る。サービス層３０６へのアクセスは、方針によって定義される。方針は、クライアント１０６が、接続の種類、サービスにアクセスするためのセキュリティ要件、および／または要求するサービスに関連する任意の他の詳細を判断する方式を提供する。
【００７０】
変換層３０８は、プロトコル間で変換する。例えば、変換層３０８は、変換器１２０を実装し、相互運用性データパッキングフォーマットからウェブ閲覧フォーマットにプロセスデータを変換し得る。他の例では、変換層３０８は、機器ネットワーク特有プロトコル（例えば、ＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、Ｐｒｏｆｉｂｕｓ）からフィールド機器統合（ＦＤＩ）フォーマットに、プロセスデータを変換し得る。例示的変換層３０８は、機器記述層３０２から、プロセスデータに関する情報を受信する。機器記述層３０２は、ＥＤＤＬデータベース３３０および／または共通ファイルフォーマットデータベース３３２に格納されたフィールド機器ＥＤＤＬファイルを含む。データベース３３０および３３２は、制御システム１０２内に実装され得る。加えて、データベース３３０および３３２のコピーは、例えば、外部サーバ１０４内に含まれ得る。このように、ラッパー１１０は、テンプレート内にプロセスデータを表示する方法に関する記述について、ＥＤＤＬデータベース３３０および／または共通ファイルフォーマットデータベース３３２にアクセスし得る。共通ファイルフォーマットデータベース３３２は、デバイスおよび／またはアプリケーションに関する情報を格納する。いくつかの例では、共通ファイルフォーマットデータベース３３２は、ＸＭＬファイルを含むスキーマを使用して、フィールド機器の機能性について記述する。
【００７１】
例示的機器記述層３０２は、ＸＳＬＴテンプレートデータベース３３４（例えば、テンプレートデータベース２０８）を含む。変換層３０８は、表示されるプロセスデータに適合するＸＳＬＴテンプレートについて、ＸＳＬＴテンプレートデータベース３３４にアクセスし得る。また、変換層３０８は、ＥＤＤＬデータベース３００からのＥＤＤＬファイルを使用して、ＸＳＬＴテンプレート内にプロセスデータを埋め込みおよび／または組み合わせる方法をも判断し得る。例示的変換層３０８は、ＸＳＬＴテンプレート内においてプロセスデータを使用して、サービスインターフェース３２０を介してクライアントアプリケーション１２４にプロセスデータを提供するためにサービス層３０６によって使用される表示ファイルを生成する。変換層３０８は、表示するためのテンプレートを処理するアプリケーションファサードを含み得る。
【００７２】
場合によっては、クライアント１０６から機器ネットワーク３０４へのアクセスを制限する必要があり得る。この要件に対応するために、サービス指向フレームワーク３００は、認証および／または認可を提供するために（例えば、ラッパー１１０のセキュリティプロセッサ２０２を介する）、セキュリティ層３１２を含む。認証の実装は、使用されているサービスホストの種類に依存し得る。したがって、サービス指向フレームワーク３００によって、１つ以上のセキュリティ層の利用が可能になる。例えば、サービス指向フレームワーク３００が、インターネット情報サービス（ＩＩＳ）においてホストされる場合、ＩＳＳにより提供される認証サポートが使用される。代替として、サービスがウィンドウズ（登録商標）サービスによりホストされる場合、メッセージベースまたはトランスポートベースの認証が使用される。
【００７３】
例示的サービス指向フレームワーク３００は、機器ネットワーク３０４からプロセスデータを受信するために、ネットワークアプリケーション層３１０を含む。ネットワークアプリケーション層３１０は、機器ネットワーク３０４のうちの１つ以上とインタラクトするために、データアクセス機能性を含む。例示的フレームワーク３００は、複数のネットワークアプリケーション層３１０を含んでもよく、その各々は、ＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、および／またはＰｒｏｆｉｂｕｓ等の特定の機器ネットワークに特有であり得る。いくつかの例では、ネットワークアプリケーション層３１０は、制御システム１０２からプロセスデータのトランスポート層を提供することによって、外部サーバ１０６を実装し得る。また、ネットワークアプリケーション層３１０は、外部サーバ１０６内のプロセスデータを体系化および分類するネットワークメッセージ型、ネットワークデータ型、および／またはオブジェクトディレクトリ（例えば、プロセス制御ディレクトリ）も含み得る。例えば、ネットワークデータ型は、対応するプロセスデータを埋め込むように、一致するテンプレートおよび／またはデータフィールドを識別するために、ラッパー１１０により使用されるプロパティ情報を提供し得る。加えて、ラッパー１１０は、オブジェクトディレクトリを使用して、比較的迅速に、要求されたプロセスデータをロケートし得る。
【００７４】
機器ネットワーク３０４は、機器を構成する能力、機器診断にアクセスする能力、測定値を転送する能力、アラームおよびイベントを転送する能力、ならびに／または他の通信および制御能力を、例示的フレームワーク３００に提供する。サービス指向フレームワーク３００によりサポートされるいくつかの例示的能力には、要求および／または応答、発行および／またはサブスクライブ、イベントの伝送、アプリケーションおよび／もしくは機器のディレクトリの維持、ならびに／または機器へのコマンドの書き込みが含まれる。サービス指向フレームワーク３００は、サービス層３０６を介して、これらの能力へのアクセスをクライアント３０６に提供する。例えば、サービス指向フレームワーク３００は、要求／応答、発行／サブスクライブ、イベント、ディレクトリ、および書き込みの能力について定義されるサービスを有し得る。
【００７５】
機器ネットワーク３０４は、プロセス制御システム１１２内のフィールド機器と通信するために、ネットワークプロトコルおよびネットワークサービスを含む。また、機器ネットワーク３０４は、制御器１１４および／または制御器１１４と外部サーバ１０４との間の通信媒体も含み得る。このように、フィールド機器により生成されたプロセスデータは、機器ネットワーク３０４を介して、処理され、外部サーバ３０４に格納される。また、機器ネットワーク３０４は、クライアント１０６により適切なフィールド機器に書き込まれたデータを伝送し得る。
【００７６】
図４は、ウェブブラウザに表示されたサーバ識別プロセスデータのための例示的インターフェース４００を示す。インターフェース４００は、アプリケーションウィンドウとして示される。しかしながら、他の例では、インターフェース４００は、ウェブブラウザおよび／または任意の他のプログラムクライアントに関連付けられたナビゲーション機能を含んでもよい。さらに、例示的インターフェース４００は、データフィールドにプロセスデータを示す１つの方式として示されるが、プロセスデータを表示するために他の例示的インターフェースを作成してもよい。
【００７７】
図４の例は、サーバプロパティタブ４０２に関連付けられたサーバ識別情報を表示するインターフェース４００を示す。インターフェース４００は、ナビゲーションパネル４０４およびデータパネル４０６を含む。パネル４０４および４０６は、プロセスデータを表示するための１つ以上のテンプレート（例えば、ＸＳＬＴテンプレート）および／またはスタイルシートによって事前構成および／または特定され得る。図１および／または図２の例示的ラッパー１１０は、データフィールドおよび関連付けられたプロセスデータを配設および／または埋め込むために、テンプレートまたはスタイルシートを使用し得る。例えば、データパネル４０６は、プロセスデータに関連付けられた変数および／またはパラメータ名（例えば、属性）と、データ値（例えば、値）とを表示するように事前構成され得る。次いで、例示的ラッパー１１０は、サービス識別に関連付けられたデータフィールドを属性列および／または値列に埋め込むおよび／または配置し得る。例えば、外部サーバ名について記述するプロセスデータは、「ＯＰＣ  ＤＡ  Ｓｅｒｖｅｒ」の値とともに「サーバ名」プロパティによって識別され得る。
【００７８】
クライアントは、ウェブアドレスおよび／またはインターネットプロトコル（ＩＰ）アドレスをウェブブラウザに入力することによって、インターフェース４００に示されたプロセスデータにアクセスし得る。次いで、ウェブブラウザは、図１のラッパー１１０および／またはウェブページサーバ１０８にナビゲートし得る。ラッパー１１０は、ウェブアドレスおよび／またはＩＰアドレスを、インターフェース４００に示される外部サーバ（例えば、ＯＰＣ  ＤＡ  Ｓｅｒｖｅｒ）に転換する。次いで、ラッパー１１０は、外部サーバに関連付けられたプロセスデータを取り出し、プロセスデータをウェブ閲覧フォーマットに変換し、プロセスデータのデータ型（例えば、プロパティ）を識別し、識別された型に基づいて少なくとも１つのテンプレートを選択し、プロセスデータをテンプレートに埋め込み、テンプレートにプロセスデータをレンダリングすることによって、インターフェース４００を、ウェブブラウザを介してクライアントに表示する。テンプレートにプロセスデータをレンダリングすることは、インターフェース４００内にプロセスデータを表示するために、ウェブブラウザに送信する表示ファイルを作成することを含み得る。本例では、ラッパー１１０は、データ値に関連付けられるメタデータ内のプロパティを識別することによって、プロセスデータの種類を判断する。次いで、ラッパー１１０は、プロパティを使用して、プロセスデータの対応する値を、テンプレート内の対応するデータフィールドに埋め込みおよび／または挿入し得る。
【００７９】
図示する例では、ナビゲーションパネル４０４は、外部サーバに関連付けられたＯＰＣサーバ識別情報のディレクトリおよび／またはファイル構造を示す。クライアントは、データパネル４０６内に表示されるＯＰＣサーバ情報に関連付けられたプロセスデータを選択するために、ナビゲーションパネル４０４におけるディレクトリ構造をナビゲートし得る。クライアントは、ナビゲーションパネル４０４内の他のディレクトリを選択することによって、他の外部サーバデータを選択的に視認し得る。例示的ラッパー１１０は、このディレクトリ構造（例えば、プロセスデータ）を外部サーバから取り出し、ナビゲーションパネル４０４のテンプレートを使用して、データフィールド内にディレクトリ構造を構成し得る。
【００８０】
図５は、ウェブブラウザに表示されたプロセスデータのための例示的インターフェース５００を示す。プロセスデータは、データリストタブ５０２を選択することによって、ウェブブラウザに示される。クライアントがデータリストタブ５０２を選択すると、図１および／または図２の例示的ラッパー１１０は、プロセスデータを取り出す。インターフェース５００は、サブスクライブパネル５０４およびデータパネル５０６を含む。パネル５０４および／または５０６のレイアウトは、データリストタブ５０２に関連付けられるプロセスデータの種類に基づいて、１つ以上のテンプレート内において特定され得る。
【００８１】
サブスクライブパネル５０４は、クライアントが、データパネル５０６に表示されるプロセスデータのリフレッシュ速度を特定することを可能にする。本例では、クライアントは、５０００ミリ秒（ｍｓｅｃ）の更新速度を特定する。また、サブスクライブパネル５０４は、クライアント識別子（例えば、クライアントＩＤ）、サーバ識別子（サーバＩＤ）、および選択されたリフレッシュ速度（例えば、更新速度）も含む。
【００８２】
例示的データパネル５０６は、外部サーバ内のプロセスデータのディレクト位置（例えば、インスタンスＩＤ）、データ値（例えば、データ値）、プロセスデータの状態（例えば、状態コード）、およびプロセスデータが作成された時間（例えば、時間スタンプ）を含む、選択されたプロセスデータを示す。データパネル５０６は、プロセスデータを表示に追加または表示から削除するためのボタンを含む。また、データパネル５０６は、プロセスデータを読み取りまたは書き込むためのボタンも含む。
【００８３】
図５の例では、ラッパー１１０は、表示されるプロセスデータが、リスト型数値のデータ型および／またはプロパティに関連付けられることを判断する。例示的ラッパー１１０は、リスト型スプレッドシートに数値プロセスデータを表示するためのデータフィールドを含む１つ以上のテンプレートを検索する。次いで、例示的ラッパー１１０は、プロセスデータをデータフィールドに埋め込み、組み合わせたプロセスデータおよびテンプレートで表示ファイルを生成し、インターフェース５００を介して表示するための表示ファイルを伝送（および／またはレンダリング）する。
【００８４】
図６は、プロセスデータをウェブブラウザに表示するために、例示的ラッパー１１０と通信する例示的インターフェース６００を示す。例示的インターフェース６００は、フィールド機器に関連付けられたプロセスデータを視認するためにオペレータがフィールド機器名（例えば、ＴＴ１０１）を入力するのに使用し得るナビゲーションバー６０２を含む。また、インターフェース６００は、ＴＴ１０１フィールド機器とインターフェース接続するための選択肢を含むメニューバー６０４も含む。本例では、手動設定選択肢が選択される。
【００８５】
図６の例示的インターフェース６００は、ＴＴ１０１フィールド機器に関連付けられたプロセスデータがワークステーションまたはラップトップ上のウェブラウザ内に表示されることを標示する標的表示情報をラッパー１１０に提供し得る。加えて、フィールド機器（例えば、オブジェクト）を選択または入力すると、例示的ラッパー１１０は、フィールド機器名（例えば、ＴＴ１０１）を受信する。ラッパー１１０は、フィールド機器識別子を使用して、フィールド機器の種類（例えば、オブジェクト型）、フィールド機器に関連付けられたプロパティ、および／またはフィールド機器に関連付けられたプロセスデータ（例えば、値）を識別する。ラッパー１１０は、この情報を標的表示情報とともに使用して、データフィールド内にプロセスデータを表示するためにテンプレートを選択する。また、ラッパー１１０は、この情報を使用して、外部制御システムサーバからのプロセスデータにアクセスする。ラッパー１１０は、テンプレートデータベース２０８にアクセスし、ワークステーション上で動作するウェブブラウザのためのテンプレートをロケートすることによって、テンプレートを選択し得る。次いで、ラッパー１１０は、ＴＴ１０１フィールド機器の種類に基づいて、テンプレートを絞り込み得る。次いで、ラッパー１１０は、プロセスデータに対応するテンプレート内におけるデータフィールドを選択し得る。
【００８６】
図６の例では、ラッパー１１０は、テンプレート６０６およびテンプレート６０８をインターフェース６００に提供し得る。テンプレート６０６および６０８は、ＴＴ１０１フィールド機器に関連付けられたプロセスデータを含むデータフィールド（例えば、アナログ入力（ＡＩ）、％範囲、単位、下部範囲、上部範囲、タグ、日付、および記述子）を含む。例示的ラッパー１１０は、プロセスデータ内のメタデータに基づいて、プロセスデータを適切なデータフィールドに一致させて挿入することによって、テンプレート６０６および６０８に示されるプロセスデータをレンダリングし得る。他の例では、テンプレートは、グラフ、チャート、グラフィック、および／または任意の他のデータ表現を含んでもよい。
【００８７】
図７（Ａ）および（Ｂ）は、プロセスデータをクライアントアプリケーションに表示するために、図１および／または図２の例示的ラッパー１１０と通信する無線機器７０２上に表示された例示的インターフェース７００を示す。無線機器７０２には、例えば、スマートフォン、携帯情報端末（ＰＤＡ）、ウェブフォン、ネットパッド等を含む、任意の携帯用コンピューティング機器が含まれ得る。図７（Ａ）および（Ｂ）の例は、無線機器７０２の比較的小型の画面のために構成されたテンプレートにプロセスデータをレンダリングする例示的ラッパー１１０を示す。
【００８８】
図７（Ａ）では、ユーザインターフェース７００は、オブジェクト検索フィールド７０４およびキーボード７０６を含む。オブジェクト検索フィールド７０４は、ユーザが、キーボード７０６を介してフィールド機器識別子（例えば、ＯＰＣ  ＤＡ／ＤＥＶＩＣＥ／ＴＴ１０１）を入力することを可能にする。オブジェクト検索フィールド７０４は、入力されたＴＴ１０１フィールド機器をラッパー１１０に提供する。加えて、無線機器７０２は、標的表示情報をラッパー１００に送信し得る。ラッパー１１０は、ＴＴ１０１フィールド機器識別子（例えば、オブジェクト型）を使用して、ＴＴ１０１フィールド機器に関連付けられたプロセスデータおよび／またはプロパティをロケートする。また、例示的ラッパー１１０は、標的表示情報を使用して、無線機器７０２の比較的小型の画面上に表示するためにフォーマットされたテンプレート７０８を選択する。
【００８９】
ラッパー１１０は、図７（Ｂ）に示すように、テンプレート７０８の対応するデータフィールドにプロセスデータを一致、挿入、およびレンダリングし得る。加えて、ラッパー１１０は、異なるテンプレートをナビゲートするためのメニューバー７１０を表示し得る。メニューバー７１０は、テンプレート７０８内に含まれてもよく、かつ／またはＯＰＣ
ＤＡ／ＤＥＶＩＣＥ／ＴＴ１０１ディレクトリ位置に関連付けられたナビゲーションプロセスデータによって特定されてもよい。代替として、メニューバー７１０の表示は、クライアントアプリケーションによって管理されてもよい。図７（Ｂ）の例は、無線機器７０２のためにフォーマットされたテンプレート７０８をラッパー１１０が選択することを表示するが、図６では、ラッパー１１０は、ワークステーション上のウェブブラウザのためにフォーマットされたテンプレート６０６および６０８を選択する。
【００９０】
図８は、プロセスデータをウェブブラウザに表示する例示的インターフェース８００を示す。インターフェース８０２は、プロセスデータのファイル位置またはパスを入力するためにユーザが使用し得るナビゲーションバー８０２を含む。ＸＳＬＴテンプレート８０４は、データフィールド内に表示されたプロセスデータの表を示す。ＸＳＬＴテンプレート８０４は、製造業者、機器の種類、およびバージョンのデータフィールドを含む。ユーザは、ＨＴＴＰ：／／ＯＰＣＤＡＳＥＲＶＥＲ／ＤＥＶＩＣＥ／ＤＥＶＩＣＥＣＯＬＬＥＣＴＩＯＮパスを提供して、グループ内に体系化された機器に関連付けられたプロセスデータにアクセスするか、またはプロセスデータをトラックし得る。テンプレート８０４内のプロセスデータは、外部サーバから以下のＸＭＬファイルとしてアクセスされ得る。
【００９１】
【数１】
2018081731.tif 000003
【００９２】
上記に示す例示的ＸＭＬファイルは、＜ｃａｔａｌｏｇ＞行の下に、製造業者、機器の種類、および３つのフィールド機器のバージョンを列挙する。本例では、プロセスデータは、フィールド機器の製造業者名およびフィールド機器のバージョンを含む（例えば、Ｒｏｓｅｍｏｕｎｔ（登録商標）社の３０５１ＭＶフィールド機器バージョン５）。例示的ラッパー１１０は、ユーザにより要求されたパスを使用して、対応する外部サーバにアクセスし、パスにより特定されたプロセスデータを検索し得る。本例では、プロセスデータは、ＸＭＬファイル内に特定される。
【００９３】
インターフェース８００を介してプロセスデータを表示するために、例示的ラッパー１１０は、ＸＭＬファイル内のプロパティ（例えば、変数）に対応するデータフィールドを含むＸＳＬＴテンプレート（例えば、テンプレート８０４）を検索する。ＸＳＬＴテンプレート８０４は、以下の命令によって定義され得る。
【００９４】
【数２】
2018081731.tif 000004
【００９５】
行＜ｘｓｌ：ｓｔｙｌｅｓｈｅｅｔ  ｖｅｒｓｉｏｎ＝″１．０″  ｘｍｌｎｓ：ｘｓｌ＝″ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／１９９９／ＸＳＬ／Ｔｒａｎｓｆｏｒｍ″＞は、テンプレート８０４がインターフェース８００に表示されることを特定する。例示的ラッパー１１０は、インターフェース８００から受信した情報（例えば、標的表示情報、オブジェクト型等）に基づいて、テンプレート８０４を選択し得る。例えば、ラッパー１１０は、ＸＭＬファイル内の＜ｍａｎｕｆａｃｔｕｒｅｒ＞プロパティを、ＸＳＬＴテンプレート８０４内の＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝″ｍａｎｕｆａｃｔｕｒｅｒ″／＞データフィールドと一致させ得る。また、ＸＳＬＴテンプレート８０４は、プロセスデータをデータフィールド内にフォーマットするために、列のヘッダ（例えば、製造業者、機器の種類、およびバージョン）ならびに命令（例えば、＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝″ｍａｎｕｆａｃｔｕｒｅｒ″／＞、＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝″ｔｙｐｅ″／＞、および＜ｘｓｌ：ｖａｌｕｅ−ｏｆ  ｓｅｌｅｃｔ＝″ｖｅｒｓｉｏｎ″／＞）も特定する。
【００９６】
図８のインターフェース８００内にＸＳＬＴテンプレート８０４の表示バージョンを生成するために、ラッパー１１０は、ＸＳＬＴテンプレート８０４の命令を実行し、ＸＭＬファイルにおけるプロセスデータを参照することによって、表示ファイルを作成し得る。言い換えると、ラッパー１１０は、ＸＭＬファイル内のプロセスデータを、ＸＳＬＴテンプレート８０４の命令における変数と組み合わせて、表示ファイルを生成する。次いで、ラッパー１１０は、表示ファイルをレンダリングして、プロセスデータを含むＸＳＬＴテンプレート８０４を、インターフェース８００を介して表示し得る。
【００９７】
図１および図２の例示的ラッパー１１０を実装するための例示的プロセス９００を表わすフローチャートが図９Ａ、図９Ｂ、および図９Ｃに示される。本例では、プロセス９００は、図１０に関連して後述する例示的プロセッサシステムＰ１０に示されるプロセッサＰ１２等のプロセッサによる実行のためのプログラム形式の機械可読命令を使用して実装され得る。プログラムは、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、またはプロセッサＰ１２に関連付けられたメモリ等のコンピュータ可読媒体上に格納されたソフトウェアにおいて具体化され得るが、プログラムの全体および／またはその部分は、代替として、プロセッサＰ１２以外の機器によって実行される可能性があり、および／またはファームウェアまたは専用のハードウェアにおいて具体化されてもよい。さらに、例示的プログラムは、図９Ａ、図９Ｂ、および図９Ｃに図示するフローチャートに関連して説明されるが、例示的ラッパー１１０を実装する多くの他の方法を代替として使用してもよい。例えば、ブロックの実行順を変更してもよく、および／または説明するブロックのいくつかは変更、排除、または組み合わされてもよい。
【００９８】
前述のように、図９Ａ、図９Ｂ、および図９Ｃの例示的プロセスは、情報が任意の期間の間（例えば、長期間にわたって、永久的に、短期間、一時的にバッファリングするために、および／または情報をキャッシングするために）格納されるハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、および／または任意の他の記憶媒体等の、有形のコンピュータ可読媒体上に格納された符号化命令（例えば、コンピュータ可読命令）を使用して実装されてもよい。本明細書で使用する際、「有形のコンピュータ可読媒体」という用語は、任意の種類のコンピュータ可読記憶装置を含み、かつ伝播信号を除外するように明示的に定義される。付加的または代替的に、図９Ａ、図９Ｂ、および図９Ｃの例示的プロセスは、情報が任意の期間の間（例えば、長期間にわたって、永久的に、短期間、一時的にバッファリングするために、および／または情報をキャッシングするために）格納されるハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または任意の他の記憶媒体等の、非一過性コンピュータ可読媒体上に格納された符号化命令（例えば、コンピュータ可読命令）を使用して実装されてもよい。本明細書で使用する際、「非一過性コンピュータ可読媒体」という用語は、任意の種類のコンピュータ可読記憶装置を含み、かつ伝播信号を除外するように明示的に定義される。
【００９９】
図９Ａ、図９Ｂ、および図９Ｃの例示的プロセス９００は、クライアントが、外部サーバ上に格納されたプロセスデータにアクセスすることを可能にする。複数の例示的プロセス９００は、複数のクライアントのためにプロセスデータにアクセスするために、並行して、または順番に実行され得る。加えて、要求されたプロセスデータが２つ以上の外部サーバ上に格納され得る例では、例示的プロセス９００は、外部サーバ毎に実装されてもよく、または代替として、単一の例示的プロセス９００は、外部サーバのために実装されてもよい。
【０１００】
図９Ａの例示的プロセス９００は、プロセスデータにアクセスするために要求を受信すること（例えば、図２のセキュリティプロセッサ２００および／またはウェブベースインターフェース１２２を介する）（ブロック９０２）によって開始する。次いで、例示的プロセス９００は、プロセスデータにアクセスするために、セキュリティ証明書を要求する（例えば、セキュリティプロセッサ２０２を介する）（ブロック９０４）。セキュリティ証明書には、ユーザ名およびパスワード、アクセスコード、一意的識別子等が含まれ得る。いくつかの例では、セキュリティ証明書は、要求内に含まれてもよい。次に、例示的プロセス９００は、受信したセキュリティ証明書が認証に合格するかを判断する（例えば、セキュリティプロセッサ２０２を介する）（ブロック９０６）。セキュリティ証明書が適切であり、認証に合格する場合、例示的プロセス９００は、クライアントからの要求に応じて、読み取り、書き込み、および／またはサブスクライブアクセスを含むアクセスセッションを作成する（例えば、セッション制御器２０４を介する）（ブロック９０８）。次いで、例示的プロセス９００は、要求に関連付けられた外部サーバを識別する（例えば、図２のサーバ参照データベース２１０にアクセスするアダプタ１１８を介する）（ブロック９１０）。
【０１０１】
しかしながら、例示的プロセス９００が、セキュリティ証明書を検証できない場合（ブロック９０６）、例示的プロセス９００は、読み取りアクセスのみを含むアクセスセッションを作成し得る（例えば、セッション制御器２０４を介する）（ブロック９１２）。次いで、例示的プロセス９００は、要求に関連付けられた外部サーバを識別する（ブロック９１０）。代替として、例示的プロセス９００が、セキュリティ証明書を検証できない場合（ブロック９０６）、例示的プロセス９００は、要求されたプロセスデータへのクライアントアクセスを否認してもよい。
【０１０２】
図９Ａの例示的プロセス９００は、識別された外部サーバにアクセスし（ブロック９１４）、要求に関連付けられた１つ以上のディレクトリにアクセスすることによって継続する（例えば、アダプタ１１８を介する）（ブロック９１６）。加えて、要求されたプロセスデータが２つ以上の外部サーバに位置する例では、例示的プロセス９００は、１つ以上の外部サーバ内に位置するディレクトリおよび／またはファイルをロケートし得る（ブロック９１６）。例示的プロセス９００は、エンドポイントを使用して、手動クライアントナビゲーションを介して、および／またはクライアントからの要求内に提供された情報によって、要求されたプロセスデータをロケートし得る。要求されたプロセスデータの位置にアクセスした後、次いで、例示的プロセス９００は、要求されたプロセスデータを読み取り、書き込み、および／またはサブスクライブする要求を受信する。いくつかの例では、プロセスデータにアクセスする要求には、プロセスデータを読み取り、書き込み、および／またはサブスクライブする要求が含まれ得る。他の例では、クライアントは、読み取り、書き込み、および／またはサブスクライブ機能を介してプロセスデータにアクセスする別の要求を送信し得る。
【０１０３】
図９Ｂの例示的プロセス９００は、要求が、読み取り、書き込み、および／またはサブスクライブ機能に関連付けられるかを判断する（例えば、アダプタ１１８を介する）（ブロック９１８）。要求が、プロセスデータを読み取るものである場合（ブロック９１８）、例示的プロセス９００は、要求されたプロセスデータを、関連付けられた外部サーバから取り出すことによって継続する（例えば、アダプタ１１８を介する）（ブロック９２０）。次いで、例示的プロセス９００は、外部サーバに関連付けられたフォーマット（例えば、相互運用性データパッキングフォーマット）からウェブ閲覧フォーマットおよび／またはプログラムアプリケーションフォーマットに、プロセスデータを変換する（例えば、変換器１２０を介する）（ブロック９２２）。
【０１０４】
しかしながら、要求が、プロセスデータをサブスクライブするものである場合（ブロック９１８）、例示的プロセス９００は、外部サーバにおける要求されたプロセスデータをサブスクライブすることによって継続する（例えば、アダプタ１１８を介する）（ブロック９２４）。例示的プロセス９００は、最新のプロセスデータを要求する要求メッセージが外部サーバに送信される時間間隔を設定することによって、プロセスデータをサブスクライブし得る。プロセスデータをサブスクライブすると、例示的プロセス９００は、要求されたプロセスデータを外部サーバから取り出す（例えば、アダプタ１１８を介する）（ブロック９２０）。さらに、例示的プロセス９００は、特定の間隔で、要求されたプロセスデータを外部サーバから取り出すことを継続し得る。次いで、プロセスデータの取り出し毎に、例示的プロセス９００は、プロセスデータを、ウェブ閲覧フォーマットおよび／またはプログラムアプリケーションフォーマットに変換する（例えば、変換器１２０を介する）（ブロック９２２）。
【０１０５】
要求が、プロセスデータを書き込むものである場合（ブロック９１８）、例示的プロセス９００は、クライアントにより提供された書き込まれたデータ値を受信し、そのデータ値を、外部サーバに格納するためのフォーマット値に変換することによって継続する（例えば、変換器１２０を介する）（ブロック９２６）。次いで、例示的プロセス９００は、プロセスデータ値を、外部サーバ内の適切なデータ位置に書き込む（例えば、アダプタ１１８を介する）（ブロック９２８）。次いで、例示的プロセス９００は、外部サーバにおいて書き込まれたプロセスデータを読み取り、プロセスデータをウェブ閲覧フォーマットに変換し得る（例えば、変換器１２０を介する）（ブロック９２２）。例示的プロセス９００は、書き込まれた値が外部サーバに適切に書き込まれたという証拠をクライアントに提供するために、書き込まれた値を読み直し得る。
【０１０６】
プロセスデータを変換すると、例示的プロセス９００は、プロセスデータに関連付けられたデータ型および／またはプロパティを判断することによって継続する（例えば、データプロセッサ２０６を介する）（ブロック９２９）。例示的プロセス９００は、プロセスデータのプロパティに基づいて、１つ以上のテンプレートを選択する（例えば、データプロセッサ２０６を介する）（ブロック９３０）。また、例示的プロセス９００は、プロセスデータの要求を伝送した機器の種類に基づいて、テンプレートを選択し得る。次に、例示的プロセス９００は、プロセスデータと、選択されたテンプレートとを組み合わせる（例えば、データプロセッサ２０６および／またはウェブベースインターフェース１２２を介する）（ブロック９３１）。例示的プロセス９００は、プロセスデータを、対応するテンプレートのデータフィールドに挿入および／または埋め込むことによって、プロセスデータをテンプレートと組み合わせ得る。
【０１０７】
次いで、図９Ｃの例示的プロセス９００は、クライアントからの要求が、ウェブサーバアプリケーションまたはクライアント表示アプリケーション（例えば、プログラムアプリケーション）に関連付けられるかを判断する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９３２）。クライアント要求が、ウェブサーバアプリケーションに関連付けられる場合、例示的プロセス９００は、プロセスデータを利用したテンプレートに関連付けられた命令を実行することによって、表示ファイルを作成および／または生成する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９３４）。次いで、例示的プロセス９００は、表示ファイルをコンパイルおよび／またはレンダリングする（例えば、ウェブベースインターフェース１２２を介する）（ブロック９３６）。次に、例示的プロセス９００は、クライアントが動作させるウェブブラウザによりアクセスされるウェブページにプロセスデータを含むテンプレートの表示を可能にする（例えば、ウェブベースインターフェース１２２を介する）（ブロック９３８）。
【０１０８】
代替として、クライアントからの要求が、クライアント表示アプリケーションに関連付けられる場合（ブロック９３２）、図９Ｃの例示的プロセス９００は、クライアントサイトにおけるクライアント表示アプリケーションを呼び出す（例えば、ウェブベースインターフェース１２２を介する）（ブロック９４４）。クライアント表示アプリケーションを呼び出すことは、プロセスデータにアクセスするために、クライアントが使用するウェブブラウザ内のアプリケーション（例えば、ＡｃｔｉｖｅＸまたはＳｉｌｖｅｒｌｉｇｈｔ（登録商標）アプリケーション）を開くことを含み得る。また、クライアント表示アプリケーションを呼び出すことは、フォーマットされたプロセスデータおよび／またはデータフィールドを受信するために、プログラムアプリケーションを初期化することも含み得る。次いで、例示的プロセス９００は、アプリケーションが呼び出され、プロセスデータを受信する準備が整っていることを表示する要求を、クライアント表示アプリケーションから受信し得る（例えば、ウェブベースインターフェース１２２を介する）（ブロック９４６）。次いで、例示的プロセス９００は、プロセスデータを利用したテンプレートに関連付けられた命令を実行することによって、クライアント表示アプリケーションに適合するフォーマットで表示ファイルを生成する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９４８）。例示的プロセス９００は、表示ファイルをクライアント表示アプリケーションに伝送する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９５０）。次いで、例示的プロセス９００は、クライアント表示アプリケーションを介して、テンプレートにより命令されたように、プロセスデータを表示し得る（例えば、ウェブベースインターフェース１２２を介する）（ブロック９５２）。
【０１０９】
図９Ｃの例示的プロセス９００は、クライアントが、プロセスデータおよび／またはテンプレートのいずれかの部分をカスタマイズしたかを判断することによって継続する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９４０）。例示的プロセス９００が、クライアントがプロセスデータおよび／またはテンプレートをカスタマイズしなかったと判断する場合、例示的プロセス９００は、同一のおよび／または異なるクライアントから、プロセスデータにアクセスする要求を受信することに戻る（図９Ａのブロック９０２）。しかしながら、例示的プロセス９００が、クライアントがプロセスデータおよび／またはデータフィールドをカスタマイズしたことを判断する場合、例示的プロセス９００は、カスタマイズデータを格納する（例えば、ウェブベースインターフェース１２２を介する）（ブロック９４２）。例示的プロセス９００は、同一のクライアントが異なる時に同一のプロセスデータにアクセスする際に、プロセスデータをカスタマイズされたフォーマットに表示できるように、カスタマイズ情報を格納する。次いで、例示的プロセス９００は、同一のおよび／または異なるクライアントから、プロセスデータにアクセスする要求を受信することに戻る（図９Ａのブロック９０２）。
【０１１０】
図１０は、本明細書に説明する例示的方法および装置を実装するために使用され得る例示的プロセッサシステムＰ１０のブロック図である。例えば、例示的プロセッサシステムＰ１０に類似するまたは同一のプロセッサシステムを使用して、図１および／または図２の例示的セキュリティプロセッサ２０２、例示的セッション制御器２０４、例示的ウェブベースインターフェース１２２、例示的データプロセッサ２０６、例示的テンプレートデータベース２０８、例示的変換器１２０、例示的アダプタ１１８、例示的サーバ参照データベース２１０、および／または、より一般的にはラッパー１１０を実装してもよい。例示的プロセッサシステムＰ１０は、複数の周辺機器、インターフェース、チップ、メモリ等を含むものとして下記に説明されるが、これらの要素のうちの１つ以上は、例示的セキュリティプロセッサ２０２、例示的セッション制御器２０４、例示的ウェブベースインターフェース１２２、例示的データプロセッサ２０６、例示的データ型データベース２０８、例示的変換器１２０、例示的アダプタ１１８、例示的サーバ参照データベース２１０、および／または、より一般的には、ラッパー１１０のうちの１つ以上を実装するために使用される他の例示的プロセッサシステムから、省略されてもよい。
【０１１１】
図１０に示すように、プロセッサシステムＰ１０は、相互接続バスＰ１４に連結されるプロセッサＰ１２を含む。プロセッサＰ１２は、レジスタセットまたはレジスタ空間Ｐ１６を含み、レジスタセットまたはレジスタ空間Ｐ１６は、図１０において、全体的にオンチップであるものとして示されるが、代替として、全体的または部分的にオフチップで配置されてもよく、専用電気接続を介して、および／または相互接続バスＰ１４を介してプロセッサＰ１２に直接連結されてもよい。プロセッサＰ１２は、任意の適切なプロセッサ、処理ユニット、またはマイクロプロセッサであってもよい。図１０に図示しないが、システムＰ１０は、マルチプロセッサシステムであってもよく、したがって、相互接続バスＰ１４に通信可能に連結されるプロセッサＰ１２と同一または類似する１つ以上の追加のプロセッサを含んでもよい。
【０１１２】
図１０のプロセッサＰ１２は、チップセットＰ１８に連結され、チップセットＰ１８は、メモリ制御器Ｐ２０および周辺入力／出力（Ｉ／Ｏ）制御器Ｐ２２を含む。周知であるように、チップセットは、典型的には、Ｉ／Ｏおよびメモリ管理機能、ならびにチップセットＰ１８に連結される１つ以上のプロセッサによりアクセス可能または使用される複数の汎用および／または特殊用途レジスタ、タイマ等を提供する。メモリ制御器Ｐ２０は、プロセッサＰ１２（または、複数のプロセッサが存在する場合は、複数のプロセッサ）が、システムメモリＰ２４および大容量記憶メモリＰ２５にアクセスすることを可能にする機能を実行する。
【０１１３】
システムメモリＰ２４は、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）等の、任意の所望の種類の揮発性および／または不揮発性メモリを含み得る。大容量記憶メモリＰ２５は、任意の所望の種類の大容量記憶装置を含み得る。例えば、例示的プロセッサシステムＰ１０を使用して、ラッパー１１０（図２）を実装する場合、大容量記憶メモリＰ２５は、ハードディスクドライブ、光学ドライブ、テープ記憶装置等を含み得る。代替として、例示的プロセッサシステムＰ１０を使用して、例示的テンプレートデータベース２１０および／または例示的サーバ参照データベース２１０を実装する場合、大容量記憶メモリＰ２５は、ソリッドステートメモリ（例えば、フラッシュメモリ、ＲＡＭメモリ等）、磁気メモリ（例えば、ハードドライブ）、または例示的テンプレートデータベース２１０および／もしくは例示的サーバ参照データベース２１０における大容量記憶に適切な任意の他のメモリを含み得る。
【０１１４】
周辺Ｉ／Ｏ制御器Ｐ２２は、プロセッサＰ１２が、周辺入力／出力（Ｉ／Ｏ）機器Ｐ２６およびＰ２８ならびにネットワークインターフェースＰ３０と周辺Ｉ／ＯバスＰ３２を介して通信することを可能にする機能を実行する。Ｉ／Ｏ機器Ｐ２６およびＰ２８は、例えば、キーボード、ディスプレイ（例えば、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイ等）、ナビゲーション機器（例えば、マウス、トラックボール、容量式タッチパッド、ジョイスティック等）等の任意の所望の種類のＩ／Ｏ機器であり得る。ネットワークインターフェースＰ３０は、例えば、プロセッサシステムＰ１０が別のプロセッサシステムと通信することを可能にするイーサネット（登録商標）機器、非同期転送モード（ＡＴＭ）機器、８０２．１１機器、ＤＳＬモデム、ケーブルモデム、セルラモデム等であり得る。
【０１１５】
メモリ制御器Ｐ２０およびＩ／Ｏ制御器Ｐ２２は、チップセットＰ１８内において別々の機能ブロックとして図１０に示されるが、これらのブロックにより実行される機能は、単一の半導体回路内に一体化されてもよく、または２つ以上の別々の集積回路を使用して実装されてもよい。
【０１１６】
上述の例示的方法および／または装置のうちの少なくともいくつかは、コンピュータプロセッサ上で実行する１つ以上のソフトウェアおよび／またはファームウェアプログラムによって実装される。しかしながら、特定用途向け集積回路、プログラム可能論理アレイ、および他のハードウェア機器を含むがこれらに限定されない、専用のハードウェア実装は、同様に、本明細書に説明する例示的方法および／または装置のうちの一部または全部を、全体的または部分的に、実装するように構築され得る。さらに、分散処理または構成要素／オブジェクト分散処理、並行処理、または仮想マシン処理を含むがこれらに限定されない、代替ソフトウェア実装もまた、本明細書に説明する例示的方法および／またはシステムを実装するために構築され得る。
【０１１７】
また、本明細書に説明する例示的ソフトウェアおよび／またはファームウェア実装が、磁気媒体（例えば、磁気ディスクもしくはテープ）、光ディスク等の磁気光学媒体もしくは光媒体、あるいは、１つ以上の読み取り専用（不揮発性）メモリ、ランダムアクセスメモリ、もしくは他の書き換え可能（揮発性）メモリを収容する、メモリカードもしくは他のパッケージ等のソリッドステート媒体等の、有形の記憶媒体上に格納されることに留意されたい。したがって、本明細書に説明する例示的ソフトウェアおよび／またはファームウェアは、上述のものまたは後継の記憶媒体等の有形の記憶媒体上に格納され得る。上記明細書が、例示的構成要素および機能について特定の規格およびプロトコルに関連して説明する範囲で、本特許の範囲が、このような規格およびプロトコルに限定されないことを理解されたい。例えば、インターネットおよび他のパケット交換型ネットワーク伝送の規格（例えば、伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）／ＩＰ、ハイパーテキストマークアップ言語（ＨＴＭＬ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ））の各々は、現在の水準の技術における例を表わす。このような規格は、同一の一般的な機能性を有する、より高速またはより効率的な均等物によって、定期的に取って代わる。したがって、同一の機能を有する交換規格およびプロトコルは、本特許により想定された均等物であり、添付の請求項の範囲内に含まれるように意図される。
【０１１８】
加えて、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む例示的方法および装置について開示するが、このようなシステムが、単に例証的であるだけであり、限定するものとして考えられるべきではないことに留意されたい。例えば、これらのハードウェアおよびソフトウェア構成要素のうちのいずれかまたは全てが、ハードウェアにおいてのみ、ソフトウェアにおいてのみ、ファームウェアにおいてのみ、またはハードウェア、ファームウェア、および／もしくはソフトウェアの何らかの組み合わせにおいて具体化され得ることが想定される。したがって、上記明細書は、例示的方法、システム、および機械アクセス可能媒体について説明したが、例は、このようなシステム、方法、および機械アクセス可能媒体を実装する唯一の方式ではない。ゆえに、一定の例示的方法、システム、および機械アクセス可能媒体について本明細書に説明しているが、本特許の対象の範囲は、それらに限定されない。これに反し、本特許は、文字通りに、または均等論に基づいて、添付の請求項の範囲内に公平に入る全ての方法、システム、および機械アクセス可能媒体を対象とする。
【０１１９】
関連出願
本出願は、その全体が参照により組み込まれる２０１０年３月２４日に出願された米国特許出願第１２／７３０，８９５号の一部継続出願である。
【図１】
2018081731.tif 000005
【図２】
2018081731.tif 000006
【図３】
2018081731.tif 000007
【図４】
2018081731.tif 000008
【図５】
2018081731.tif 000009
【図６】
2018081731.tif 000010
【図７】
2018081731.tif 000011
【図８】
2018081731.tif 000012
【図９Ａ】
2018081731.tif 000013
【図９Ｂ】
2018081731.tif 000014
【図９Ｃ】
2018081731.tif 000015
【図１０】
2018081731.tif 000016