(54)【発明の名称】プロセスプラントの操作モードに基づいて、プロセス制御システム内の複数のアプリケーションへのアクセスを可能にする方法、システム、及び、命令が記憶された機械読取可能な記憶媒体
(58)【調査した分野】(Int.Cl.,DB名)
前記実行時作業空間アプリケーションを介して、前記オペレータステーションへの特定のユーザ入力が前記オペレーティングシステムに影響を及ぼさないようにすることは、前記オペレーティングシステムのコマンドに関連する1つ以上のキーストロークを阻止することを含む、請求項1から請求項4のいずれか1項に記載の方法。
前記実行時作業空間アプリケーションは、傾向分析アプリケーション、バッチ処理アプリケーション、高度制御アプリケーション、アラームアプリケーション、又はプロセスグラフィックスアプリケーションのうちの少なくとも1つを含む、請求項1から請求項5のいずれか1項に記載の方法。
前記プロセッサは、前記オペレーティングシステムのコマンドに関連する1つ以上のキーストロークを阻止することにより、前記実行時作業空間アプリケーションを介して前記オペレータステーションへの特定のユーザ入力が前記オペレーティングシステムに影響を及ぼさないよう、プログラムされている、請求項7に記載のシステム。
前記実行時作業空間アプリケーションは、傾向分析アプリケーション、バッチ処理アプリケーション、高度制御アプリケーション、アラームアプリケーション、又はプロセスグラフィックスアプリケーションのうちの少なくとも1つを含む、請求項7又は請求項8に記載のシステム。
前記命令実行時、前記機械は、前記オペレーティングシステムのコマンドに関連する1つ以上のキーストロークを阻止することにより、前記実行時作業空間アプリケーションを介して前記オペレータステーションへの特定のユーザ入力が前記オペレーティングシステムに影響を及ぼさないようにする、請求項10に記載の機械読取可能な記憶媒体。
前記実行時作業空間アプリケーションは、傾向分析アプリケーション、バッチ処理アプリケーション、高度制御アプリケーション、アラームアプリケーション、又はプロセスグラフィックスアプリケーションのうちの少なくとも1つを含む、請求項10又は請求項11に記載の機械読取可能な記憶媒体。
前記第2操作モードのアプリケーションは、前記第1操作モードのアプリケーションよりも多い数のアプリケーションを含む、請求項10から請求項13のいずれか1項に記載の機械読取可能な記憶媒体。
【発明を実施するための形態】
【0013】
一般的には、本書記載の実施例の装置、方法および製品は、プロセス制御システムの構成および/または動作と関連する種々の人員が使用するための高度に統合されたグラフィックユーザインタフェース環境を提供するためにプロセス制御システム内で使用されてよい。さらに具体的には、本書記載の実施例の統合グラフィックユーザインタフェースは、例えばプロセス監視アプリケーション、アラーム管理アプリケーション、プロセス傾向分析および/または履歴アプリケーション、バッチ処理アプリケーションおよび/またはキャンペーン管理アプリケーション、ビデオストリーミングアプリケーション、高度制御アプリケーション等の1つ以上のプロセス制御アプリケーションのホストをつとめるために使用される。さらに一般的には、本書記載の実施例の統合グラフィックユーザインタフェースは、プロセス制御システムの開発、配備、構成、設計、カスタム化、動作、保守、および/またはサポートと関連するアプリケーションのホストをつとめるために使用されてよい。例えば、情報技術人員、構成エンジニア、システムオペレータ、技術サポートエンジニア、ソフトウェア開発エンジニア、テストエンジニア等の人員が、自分たちの職務を履行するために本書記載の実施例の統合グラフィックユーザインタフェースの多様な態様を活用してもよい。
【0014】
プロセス制御のため周知のグラフィックユーザインタフェースとは対照的に、本書記載の実施例の統合グラフィックユーザインタフェースはグラフィックユーザインタフェース機能性または複数のアプリケーションの動作を集約し、調整するために使用されてよい。特により詳細に後述されるように、例のグラフィックユーザインタフェースは1つ以上の表示パネルまたは領域を有する表示域から構成される所定のディスプレイレイアウトまたはテンプレートを提供する。表示パネルのいくつかは、全体的な表示域を基準にして適所に固定されてよく、いくつかのパネルは他のパネル上に積み重ねられてよく、さらに他のパネルは1つ以上の他のパネルの上で一時的に表示される浮動の、つまりポップアップパネルであってもよい(つまり前記1つ以上のパネルを部分的にまたは完全に隠す)。特定のパネルが、1つ以上の特定のアプリケーションからの描画または表示のための情報を受信するために割り当てられてよい。代わりに、またはさらに、1つ以上のアプリケーションは、どのパネル(複数の場合がある)で情報が表示されてもよいか、あるいは表示されなければならないかを指定する情報とともに、例の統合グラフィックインタフェースに描画され、あるいは表示されるプロセス制御関連情報を送信してもよい。このように、例の統合グラフィックユーザインタフェースは、統一された表示空間または作業空間内で1つ以上のプロセス制御関連のアプリケーションから情報の表示(例えば、レイアウト、スケーリング等)を自動的に管理し、それによってプロセス制御システムに関連するシステムオペレータおよび/または他の人員のディスプレイ管理職務を削減する、または最小限に抑える。ディスプレイ情報の自動管理は、ある特定のディスプレイ装置サイズ、構成、機能等を有する特定のハードウェア/ソフトウェアプラットホーム上に情報を最も適した描画または表示する方法で表示された情報の自動的な調整または適応を含んでよい。
【0015】
システムオペレータおよび/またはプロセス制御システムに関連する他の人員のディスプレイ管理職務を最小限に抑えることに加えて、本書記載の実施例の統合グラフィックユーザインタフェースによって実行される自動ディスプレイ管理機能は、さらに一貫したディスプレイシナリオを生じさせ、したがってディスプレイの直感性を改善し、訓練を簡略化し、(特に高ストレスなプロセス制御状況または環境における)オペレータのエラーを削減すること等ができる。例えば、本書に説明される統合グラフィックユーザインタフェースは、統合グラフィックユーザインタフェースによって管理される実行時アプリケーションの一つ以上にとって実質的に一貫性のある視覚的な要素(例えば表示パネルジオメトリ、配置、サイズ、使用割り当て、または規約等)を提供するように構成される。
【0016】
さらにプロセス制御システムのための周知のグラフィック実行時インタフェースとは対照的に、本書記載の実施例の統合グラフィック実行時インタフェースは、それが管理する実行時アプリケーションとオペレータワークステーションの基本的なオペレーションシステムの間に動作可能に介在するよう構成されてよい。より詳細には、本書記載の実施例のグラフィック実行時インタフェースは、例のグラフィック実行時インタフェースがユーザ(例えばシステムオペレータおよびまたは他の人員)と基本的なオペレーティングシステムの間に動作可能に介在する実行時作業空間アプリケーションを活用するという点で、周知のウィンドウズ(登録商標)タイプのアプリケーションとは異なる。言い換えると、実行時作業空間アプリケーションは、ユーザが基本的なオペレーティングシステムおよび/または他のアプリケーションと直接的に対話しないように隔離され、実行時アプリケーション(複数の場合がある)をカプセル化し動作してもよい。例えば、本書記載の実施例の統合グラフィックユーザインタフェースによって利用される実行時作業空間アプリケーションは、ユーザから入力される特定のキーシーケンス、コマンド等
を阻止してもよい。
【0017】
したがって、本書記載の実施例の統合グラフィック実行時インタフェースによって使用される実行時作業空間アプリケーションは、ユーザが不注意に(または意図的に)アプリケーションまたはデータに損傷を与える、ユーザが対話することを許可されていないアプリケーションに対するアクセスを獲得する、あるいはプロセス制御システムの動作を場合によっては危険性のある他の動作を実行されないように利用されてもよい。例えば、本書記載の実施例の統合グラフィック実行時インタフェースは、ユーザがアプリケーションの内の1つ以上を閉じるなど、実行時アプリケーションを構成するオペレーティングシステムに向けられたコマンドを介してアプリケーションの実行を妨害する、あるいはそれ以外の方法で混乱を防ぐために、ユーザが対話する実行時アプリケーションをカプセル化してもよい。
【0018】
より詳細に後述されるように、本書記載の実施例の統合グラフィック実行時インタフェースにより使用される実行時作業空間は、実行時アプリケーション(例えば、ユーザインタフェースアプリケーションおよび/または他のアプリケーション)に信頼できる堅牢な環境を提供し、ユーザが実行時アプリケーションの動作を危うくし、あるいはそれと関連するデータに損傷を与えないように、実行時アプリケーションを実行するための安全な環境を提供する。
【0019】
ここで
図1を見ると、本書記載の実施例の統合グラフィック実行時インタフェースを使用する例のプロセス制御システム10のブロック図が示されている。
図1に描かれているように、プロセス制御システムはコントローラ16、オペレータステーション18、アクティブアプリケーションステーション20、およびスタンバイアプリケーションステーション22を含み、そのすべては、バス、または一般的にアプリケーション制御ネットワーク(ACN)と呼ばれているローカルエリアネットワーク(LAN)を介して通信可能に結合されてよい。オペレータステーション18とアプリケーションステーション20と22は、1つ以上のワークステーション、あるいは他の適切なコンピュータシステムまたは
処理装置を使用して実現されてもよい。例えば、アプリケーションステーション20と22は、単一のプロセッサワークステーションまたはマルチプロセッサワークステーション等の、以下の
図11に示される例のプロセッサシステム1102と同様に単一のプロセッサパーソナルコンピュータを使用して実現できるであろう。さらに、LAN24は、所望の通信媒体およびプロトコルを使用して実現されてよい。例えば、LAN24は、周知であり、本書ではさらに詳しく説明しない、ハードワイヤードの、または無線イーサネット(登録商標)通信スキームに基づいてよい。しかしながら、当業者により容易に理解されるように、任意の他の適切な通信媒体およびプロトコルを使用できる。さらに、単一のLANが示されているが、複数のLANおよびアプリケーションステーション20と22の中の適切な通信ハードウェアが、オペレータステーション18、アプリケーションステーション20と22、およびコントローラ16の間に冗長化された通信経路を提供するよう使用してもよい。
【0020】
コントローラ16は、デジタルデータバス32および入力/出力(I/O)デバイス34を介して複数のスマートフィールドデバイス26、28および30に結合されてもよい。スマートフィールドデバイス26から30は、Fieldbusに準拠するバルブ、アクチュエータ、センサ等であり、そのケースではスマートフィールドデバイス26から30は周知のFieldbusプロトコルを使用してデジタルデータバス32を介して通信する。言うまでもなく、他のタイプのスマートフィールドデバイスと通信プロトコルが代わりに使用されてもよい。例えば、スマートフィールドデバイス26から30は、代わりに周知のProf
ibus(登録商標)通信プロトコルおよびHART(登録商標)通信プロトコルを使用して、データバス32を介して通信するProf
ibus(登録商標)またはHART(登録商標)に準拠するデバイスとなるであろう。(I/Oデバイス34に類似するまたは同一の)追加のI/Oデバイスは、Fieldbusデバイス、HART(登録商標)デバイス等のスマートフィールドデバイスの追加のグループがコントローラ16と通信可能にできるようコントローラ16に結合されてよい。
【0021】
スマートフィールドデバイス26から30に加えて、1台以上の非スマートフィールドデバイス36と38は、各々のハードワイヤードリンク40と42を介してコントローラ16と通信する、例えば従来の4から20ミリアンペア(mA)または0から10ボルト直流(VDC)デバイスであってもよい。
【0022】
コントローラ16は、例えば、エマーソンプロセスマネジメント、LLLPより販売されているDeltaV(登録商標)コントローラであってよい。しかしながら、他のコントローラも代わりに使用できるであろう。さらに、
図1には1台のコントローラしか図示されていないが、所望のタイプのまたはタイプの組み合せで追加のコントローラがLAN24に結合できる。コントローラ16は、プロセス制御システム10と関連する1つ以上のプロセス制御ルーチンを実行してよい。このようなプロセス制御ルーチンは、オペレータステーション18を使用してシステムエンジニアまたは他のシステムオペレータによって生成され、コントローラ16にダウンロードされ、コントローラ16内でインスタンス化されてもよい。
【0023】
図1に描かれているように、実施例のプロセス制御システム10は、通信リンク46とLAN48を介してアプリケーションステーション20と22に通信可能に結合されるリモートオペレータステーション44も含んでもよい。リモートオペレータステーション44は地理的に遠く離れて配置されてよく、このケースにおける通信リンクは、好ましくは無線通信リンク、インターネットベースまたは他のパケット交換通信のネットワーク、電話回線(例えば、デジタル加入者回線)またはその任意の組み合わせである。
【0024】
図1の例に描かれているように、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22はLAN24を介して、および冗長リンク50を介して通信可能に結合されている。冗長リンク50は、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22との間の個別な専用の(つまり共用されていない)通信リンクであってもよい。冗長リンク50は、例えば専用のイーサネット(登録商標)リンク(例えば、互いに結合されているアプリケーションステーション20と22各々の専用のイーサネット(登録商標)カード)を使用して実現されてもよい。しかしながら、他の例では、冗長リンク50は、アプリケーションステーション20と22に通信可能に結合される、必ずしも両方とも専用ではないが、LAN24または冗長化されたLAN(図示されていない)を使用して実現できるであろう。
【0025】
一般的に言って、アプリケーションステーション20と22は、冗長コンテキストを構築し、維持するために冗長リンク50を介して連続的に、または周期的に情報を交換する。冗長コンテキストによって、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22間の制御の円滑なまたはバンプレスなハンドオフまたは切り替えが可能になる。例えば、冗長コンテキストは、アクティブアプリケーションステーション20の中のハードウェア故障またはソフトウェア故障に応答して、あるいはプロセス制御システム10のシステムオペレータまたはユーザまたはクライアントアプリケーションからの命令に応答して、アクティブアプリケーションステーション20からスタンバイアプリケーションステーション22への制御ハンドオフまたは切り替えを実行できる。
【0026】
図2は、本書に説明される統合グラフィック実行時インタフェースを実現するために
図1の例のプロセス制御システム10の中で使用されてよい例のサービス指向型アーキテクチャまたは構造200を描くブロック図である。したがって、例の統合グラフィック実行時インタフェースをさらに説明するために、例のサービス指向型アーキテクチャ200の説明が以下に示される。
【0027】
図2をさらに詳しく見ると、例のサービス指向型アーキテクチャ200は、サーバ202とクライアント204を含んでいる。サーバ202は複数のサービス206、208、および210またはサービス206、208および210の集合体を含み、その内のいくつかまたはすべてが関連機能を実行してもよい。サービス206、208、および210は、通信ポート218を介したクライアント204との通信を可能にする各々のインタフェース(例えば、公開されているパラメータの1つ以上のセット)212、214、および216を提供する。サービスインタフェース212,214および216は、実質的には本質的に汎用であるため、実質的には
図1の例のプロセス制御システム10と関連する構成および/または実行時データベースに含まれるデータのために使用されるスキーマ(つまり、データフォーマット、プロトコル等)とは無関係である。結果として、サービスインタフェース212、214、および216は、新規サービス能力(例えば機能)がサービス206、208および210の内の1つ以上に追加される場合、修正(例えば更新)だけを必要とする。したがって、サービスインタフェース212、214および216は、新しいデータオブジェクトがプロセス制御システム10内での使用のために追加される場合(
図1)変更される必要はない。
【0028】
サーバ202は、例えば、
図1の例のシステムに示されているアプリケーションステーション20と22および/またはオペレータステーション18と44の内の1つ以上のプロセッサベースのシステムで実行されるソフトウェアとして実現されてもよい。言うまでもなく、サーバ202は、例のプロセス制御システム10(
図1)に結合されている他のプロセッサベースのシステムまたはワークステーションを使用して実現されてもよい。
【0029】
クライアント204は、各々がサービス206、208および210の内の1つに対応する複数のサービスインタフェースプロキシ220、222および224を含む。クライアント204によって使用されるサービスインタフェースプロキシの数は、サーバ202によって提供されるサービスの数より少ない場合がある。言い換えると、クライアント204は好ましくは、それがアクセスを必要とするサービスのためにのみプロキシを作成する。したがって、クライアント204は、サーバ202によって提供されるサービス206、208、および210の内の1つ以上にアクセスする、あるいはそれらと対話するために必要に応じて1つ以上のプロキシを生成してもよい。
【0030】
サーバ202と同様に、クライアント204は、例えば、アプリケーションステーション20と22の内の1つ以上、および/またはオペレータステーション18と44の内の1つ以上のプロセッサベースのシステムで実行されるソフトウェアとして実現されてもよい。1つの実施例では、クライアント204は、サーバ202によって提供されるサービス206、208および210にアクセスするために、1つ以上のウェブブラウザフレームワーク(例えばインターネットエクスプローラ(登録商標)(Internet Explorer))等を活用してもよい。しかしながら、他の所望のソフトウェアフレームワークは、このようなウェブブラウザフレームワークの代わりに、もしくはこのようなウェブブラウザフレームワークに加えて使用されてもよい。さらに一般的に、クライアント204は例のプロセス制御システム10(
図1)内の所望のアプリケーションを表してもよい。したがって、クライアント204は、例えば構成アプリケーション、保守アプリケーション、監視アプリケーション、プロセス制御アプリケーション、および/または任意の他のアプリケーションまたはアプリケーションの組み合わせであってよい。
図3および
図4に関連してさらに詳しく後述されるように、クライアント204(つまり、クライアントアプリケーション(複数の場合がある))は、一人以上のシステムオペレータ、エンジニアおよび/または任意の他のユーザが構成動作、実行時等の間にプロセス制御データを見るおよび/または変更することが可能となるように表示機能(例えばグラフィックユーザインタフェース機能)を含んでもよい。
【0031】
図2の例のアーキテクチャ200は単一のクライアントと通信して単一のサーバを描いているが、所望の場合追加のサーバおよびクライアントが使用されてよい。例えば、いくつかの実施例では、クライアント204は、2台以上のサーバと通信し、2台以上のサーバと相互運用し、および/または2台以上のサーバの中でサービスにアクセスしてよい。同様に、これらの実施例または他の実施例では、例のサーバ202(または他の個々のサーバ)は、複数のクライアントと通信してよい、および/または相互運用してもよい。
【0032】
このように、
図2の例のサービス指向型アプリケーション200を用いると、サービス206、208および210は、相互から、およびサービス206、208および210を利用する(例えば呼び出す)アプリケーションから実質的(例えばデータ依存性に関して)に切り離される。有利なことに、このような切り離しによりサービス206、208および210の各々と関連するソフトウェアは、クライアント204によって活用され、サービス206,208および210にアクセスするアプリケーション(複数の場合があ
る)を修正またはバージョン化(版管理)する必要なく、独立して修正またはバージョン化することができ、現場での使用のためにリリースできる。同様に、クライアント204に関連するアプリケーション(複数の場合がある)が各々のサービス206、208および210のインタフェース212、214および216を順守するまたは適合しないかぎり、クライアント204と関連するアプリケーション(複数の場合がある)は、サービス206、208、および210を修正またはバージョン化する必要なく、独立して修正またはバージョン化してよい。したがって、アプリケーションおよび/またはサービス206、208、210と関連するソフトウェアが生成される時点でこのような関係性を固定する(つまりデータ依存性を生じさせる)ことにより、クライアント204とサービス206、208および210の内の1つ以上との間の関係性を統計的に定義する代わりに、
図2の例のアーキテクチャ200はこのような関係性を実行時に動的に構築できるようにする。前記に参照される例のサービス指向型アーキテクチャに関する追加の詳細は、開示全体参照することにより本書に組み込まれる、2005年5月4日に出願された「プロセスコントロールシステムと共に使用するためのサービス指向型アーキテクチャ(Service−Oriented Architecture for use with Process Control Systems)」と題される国際公開第WO/2005/107410(PCT/US2005/015394)に見出すことができる。
【0033】
図3は、例のグラフィック実行時インタフェース300を描くブロック図である。
図3に示されるように、複数の実行時アプリケーション302は、実行時作業空間304およびサービス306の集合体に通信可能に、または動作可能に結合されている。さらに具体的には、実行時アプリケーション302およびサービス306は例のサービス指向型アーキテクチャ200(
図2)を使用して動作可能にまたは通信可能に結合されてよい。その事例では、サービス306(例えば、サービス206、208、および210)は、1台以上のサーバまたは他の処理システム(複数の場合がある)(例えばサーバ202)によって提供されてもよい。さらに、サービス306はプロセス制御関連情報を提供するデータベースサービス、プロセス制御システム10(
図1)に関連する履歴情報を提供する履歴サービス、アラームおよび/またはイベントサービス、および/またはプロセス制御システム10(
図1)によってアクセスまたは使用される任意の他のサービスを含んでよい。さらに、実行時アプリケーション302は、一人以上のクライアント(例えば、
図2のクライアント204)を介して提供されてもよいため、プロキシ(例えば、プロキシ220、222および224)を介してサービス306に通信可能にまたは動作可能に結合されもてよい。
図3の例では、実行時アプリケーション302は、傾向分析アプリケーション308、高度制御アプリケーション310、および、バッチアプリケーション316および/またはアラーム(および/またはイベント)アプリケーション314から情報を受信するプロセスグラフィックスアプリケーション312を含む。しかしながら、1つ以上の追加のまたは特に
図3に描かれているアプリケーションとは異なるアプリケーションが代わりに使用されてもよい。例えば、キャンペーン管理アプリケーション、ストリーミングビデオアプリケーション、および/またはプロセス制御システムの開発、配備、構成、設計、カスタム化、動作、保守および/またはサポートと関連するあらゆる他のアプリケーションが使用されてもよい。
【0034】
一般的には、実行時アプリケーション302により提供されるグラフィックディスプレイは、既定の時刻にアプリケーション302の内の1つ以上からの情報を含んでもよい、統合実行時ディスプレイを提供するために実行時作業空間304に配置される、あるいはカプセル化される。特に実行時作業空間304は、複数のパネルを自動的に整列、拡大縮小等するように構成されてもよく、その各々がシステムオペレータおよび/または他の人員に対して課されるディスプレイ(またはウィンドウズ(登録商標))管理職務を最小限に抑えるためにディスプレイの中にサービス306の別のサービスに関する情報を含んでよい。表示パネルのこのような自動的な設置、レイアウト等はさらに一貫性のあるディスプレイシナリオを生じさせ、それによりディスプレイの直感性を改善し、訓練を簡略化し、オペレータのエラーを削減する。
【0035】
また、一般的には、実行時作業空間304によりシステムオペレータ、エンジニア等の人員が、安全に、堅牢に、および確実に、実行時作業空間304により提供されるグラフィックユーザインタフェースを介して実行時アプリケーション302と対話できるようになる。より詳細には、実行時作業空間304は、実行時アプリケーション302と、例えばウィンドウズ(登録商標)(Windows(登録商標))オペレーティングシステムまたは他の任意の適切なオペレーティングシステム等の基本的なオペレーティングシステムの間に動作可能に介在するソフトウェアまたは他の機械読取可能および実行可能な命令またはコードとして実現されてもよい。このように、実行時作業空間304は、ユーザが基本的なオペレーティングシステムを含む、基本的なアプリケーションと直接的に対話しないようにするために構成されてよい。例えば、いくつかの実施例では、実行時作業空間304は、ユーザによって発行される特定のキーシーケンス、コマンド等
を阻止してもよい。
【0036】
実行時作業空間304は、複数の操作モードを提供するように構成されてよい。1つの例の操作モードは、システム管理者、システムオペレータ、および/または他の人員が不注意にまたは意図的にアプリケーションおよび/またはそれらのアプリケーションと関連するデータに損傷を与えるまたは危うくすることが無いようにする専用の、または制御されたデスクトップ(例えば、キオスクタイプ)のインタフェースを提供する。実行時作業空間304のための別の例の操作モードにより、特定の指定されたユーザまたは許可されたユーザは、前述された制御デスクトップモードによって提供される実質的により制限的ではない条件下で、例えばウィンドウズ(登録商標)(Windows(登録商標))ベースのアプリケーション等の他のアプリケーションと連動して実行時作業空間を使用できる。
【0037】
いくつかの例では、実行時作業空間304は、例えば専用の、ブート時に制御されたデスクトップモードで自動的に起動するように構成されているサーバ(例えばサーバ202)を使用して実現してもよい。このような例では、実行時作業空間304は、実行時作業空間304のただ1つのインスタンスがサーバ内で作成されることを許可してもよい。特定のユーザは、その後実行時作業空間304を前述されたより制限的ではない運転モードに切り替わらせるための許可または承認を有してよい。
【0038】
実行時作業空間304は、実行時作業空間が常駐し、動作しているサーバを終了し、再起動することを必要とせずに初期の起動状態または構成に戻るために実行時作業空間304の動作中に使用されてよいリセット機構も提供してよい。このリセット機構は、実行時作業空間304が誤動作している場合に実行時作業空間304の適切な動作を復元するためにシステムオペレータにより呼び出されてよい。リセットが実行時作業空間304を復元する初期状態は、初期の、および/またはデフォルトのディスプレイフレームワークコンテンツ(例えばビュー、パネル配列等)を含んでよい。
【0039】
専用の制御された、または制限された操作モードで動作中、実行時作業空間304は、ユーザが許可されないプログラムまたはアプリケーションをインスタンス化し、対話しないように構成されてよい。このような許可されないプログラムまたはアプリケーションは、実行時アプリケーション302および/または実行時作業空間304の動作を危うくすることがあるプログラムまたはアプリケーションを含んでよい。実行時アプリケーション302および/または実行時作業空間304がウィンドウズ(登録商標)(Windows(登録商標))ベースのオペレーティングシステム(例えば、マイクロソフトウィンドウズ(登録商標)(Microsoft Windows(登録商標))を活用する例では、実行時作業空間304はStart(開始)ダイアログ(例えば、ウィンドウズ(登録商標)(Windows(登録商標))キーとCntrl−Esc)、ウィンドウズ(登録商標)(Windows(登録商標))タスクバーおよびウィンドウズ(登録商標)(Windows(登録商標))デスクトップショートカットへのアクセスを無効にしてよい。さらに、実行時作業空間304は、例えばRun(実行)ダイアログ(WinKey+R)、Minimize all(すべて最小化)(WinKey+M)等を含むWindows(登録商標)キーボードショートカットへのアクセス、別の(非実行時作業空間)アプリケーション(Alt−タブ)への切り替え、OS Explorer(WinKey+E)等を無効にしてもよい。
【0040】
実行時作業空間304の制御された、専用の操作モードは、(例えば、システム構成専門家によって)ユーザに、制限的な制御された専用の操作モードにある間に起動できるアプリケーションのリストを提示するように構成されてよい。アプリケーションのこのようなリストは、オペレータがファイルを改変または削除、追加の制約されていないアプリケーションを起動すること等を許可していない非実行時作業空間アプリケーションを含んでよく、あるいはそれらに制限されてよい。
【0041】
また、実行時作業空間304は、ユーザが制限的な専用制御操作モードにいるときに実行時作業空間304を動作不能にするのを妨げるように構成される。ユーザが実行時作業空間304を動作不能にしないようにするために、実行時作業空間304は、例えばAlt−F4またはExit(終了)メニュー項目による実行時作業空間アプリケーションの終了を可能にしない。さらに、(例えば、ウィンドウズ(登録商標)(Windows(登録商標))が基本的なオペレーティングシステムである場合の)ウィンドウズ(登録商標)(Windows(登録商標))セキュリティダイアログへのアクセスは無効にされ、ウィンドウズ(登録商標)キーボードショートカットへのアクセスは無効にされ(例えば、すべて最小化(WinKey+M)、ワークステーションをロック(WinKey+L)が無効にされ)、例えばディスプレイの色、奥行きおよび解像度の設定値、外観の優先順位、テーマ、壁紙等に対する変更を妨ぐためにウィンドウズ(登録商標)ディスプレイ特性ダイアログへのアクセスを無効にする。またさらに、実行時作業空間304は、スクリーンセーバー、およびそれ以外の方法で実行時作業空間304を介したグラフィックプロセス制御情報の連続ディスプレイを危うくする可能性のある他の同様なアプリケーションを無効にしてもよい。
【0042】
ウェブブラウザまたはウェブブラウザへのアクセスが実行時作業空間304により提供されるケースでは、このようなウェブブラウザは制約されたブラウジングを可能にしてもよい。例えば、所定の許可されたユニフォームリソースロケータ(URL)と関連するウェブページだけが実行時作業空間304を介して表示されてもよく、あるいは描画されてもよい。このようなURLは、イントラネットサーバに記憶されているウェブページおよび/または他の文書と関連付けられたURLを含んでもよく、あるいはそれらに制限されてよい。
【0043】
実行時アプリケーション302が実行時作業空間の動作または互いを危うくしないことを確実にするために、実行時アプリケーション302は(例えば、ファイルブラウジング動作の実行中に)オペレーティングシステム(例えばウィンドウズ(登録商標)(Windows(登録商標)))フォルダとファイル特性へのアクセスを妨ぐ構成にされている。そのワークステーションにインストールされているソフトウェアまたはデータに損傷を与える、あるいはそれ以外の方法で危うくする可能性がない限り、実行時アプリケーション302は、ファイルの特性またはセキュリティ要件を変更できないようにする。
【0044】
前記に注記されたように、より制限的ではない操作モードで動作中、実行時作業空間304は特定の許可された人員によって他のウィンドウズ(登録商標)(Windows(登録商標))アプリケーションと連動して使用できる。このより制限的ではない操作モードは、システム構成人員が作業空間構成、ディスプレイ構成、および/または他の構成アプリケーションと対話できるように使用されてもよい。さらに、このより制限的ではない操作モードは、ユーザが許可された人員によってのみ適切にアクセスされてよいデバッグ機能にアクセスできるようにするために使用されてもよい。またさらに、このより制限的ではない操作モードは、ユーザが実行時作業空間304をトラブルシューティングできるようにするために使用されてもよい。
【0045】
前記のより制限的ではない操作モードで動作中、実行時作業空間304により、許可されたユーザは、例えば、タスクバー、Start(スタート)ボタン、Run(実行)ダイアログ等を含むオペレーティングシステム機能(例えばウィンドウズ(登録商標)(Windows(登録商標))機能)を活用できる。さらにウィンドウズ(登録商標)(Windows(登録商標))キーとウィンドウズ(登録商標)(Windows(登録商標))キーショートカットが、アプリケーション最小化機能およびアプリケーション切り替え機能(Alt−タブ)が使用できるように使用されてよい。またさらに、ユーザは表示特性を変更する、および実行時アプリケーション302の内の1つ以上を終了する自由な能力を与えられている。ユーザは、セキュリティキーまたは任意の他の許可を与える必要なく、前記のより制限的ではない操作モードからより制限的な専用制御操作モードへ切り替えることもできる。操作モードのこのような切り替えを実行すると、実行時作業空間304は、前記制限的な操作モードで提供されるディスプレイにおける描画のために作業空間コンテキスト(例えば、パネルコンテキスト、最近使用された履歴等)の実質的にすべてまたは大部分を保持する。
【0046】
また、前記のより制限的ではない操作モードは、許可されたユーザがオペレーティングシステムデスクトップ(例えばウィンドウズ(登録商標)(Windows(登録商標))デスクトップ)で別のオペレーティングシステム(例えばウィンドウズ(登録商標)(Windows(登録商標)))アプリケーションウィンドウを作成できるようにする。前記追加のアプリケーションウィンドウによりユーザはユーザによって管理される可能性のあるコンテンツを含む新しいディスプレイを作成できるようにする。例えば、前記追加アプリケーションウィンドウは実行時作業空間304を構成するあらゆるフレームワークパネルからのコンテンツを含んでよく、そのコンテンツはユーザによって所望のように位置決めされ、サイズ変更され、スクロールされ、最小化され、最大化され、閉じられる等してもよい。また、例えば、追加アプリケーションは複数の異なるディスプレイフレームワーク(例えば、パネルレイアウト、コンテンツ構成、異なる言語等)を試験または比較するために使用されてもよい。
【0047】
前記に注記されたように、実行時作業空間304により提供される前記より制限的ではない操作モードはウィンドウズ(登録商標)(Windows(登録商標))デスクトップへの相対的に無制限なアクセスを提供し、それによりユーザは実行時作業空間アプリケーション(例えば、実行時作業空間304)の新しいインスタンスまたは追加のインスタンスを実行できるようになる。実行時作業空間アプリケーション304の新しいまたは追加のインスタンスは、専用の制御的(つまり制限された)操作モードで、あるいは代わりに前述された前記より制限的ではない操作モードで起動されてよい。新しいインスタンスまたは追加のインスタンスが専用の制御された操作モードで起動されるケースでは、他のアプリケーション(つまり非実行時アプリケーション)はアクセスできない可能性がある。他方、新しいインスタンスまたは追加のインスタンスが前記より制限的ではない操作モードで起動されるケースでは、ユーザ(複数の場合がある)は、実行時作業空間304の複数のインスタンスを実行することを許可されてもよい。
【0048】
例の実行時作業空間304は、代わりの言語機能性を提供するように構成されてもよい。例えば、実行時作業空間304は、すべての作業空間動作および対話(例えば、メッセージ、メニューアイテム等)がそのデフォルト言語を使用するように、デフォルトで選択されてよい優勢な言語(例えば、英語)を活用するためにインスタンス化されてもよい。所望の場合、ユーザは実行時作業空間304の動作中、代替言語(つまりデフォルト言語以外の言語)を選択することを許可されてもよい。
【0049】
再び実行時アプリケーション302を見ると、前記に注記されたように、実行時アプリケーション302は、実行時作業空間304に通信可能に結合され、それによって実質的に制御される。さらに、実行時アプリケーション302は、実行時作業空間304によって定義されるインタフェース規約と準拠するように構成されてよい。例えば、実行時アプリケーション302は、拡大縮小機能、スクロール機能、選択機能、および他のユーザインタフェース機能が実行時作業空間ディスプレイを介して統合された外観およびユーザ経験を提供するために一貫して実現される。さらに、より詳細に後述されるように、アプリケーション302の各々は、実行時作業空間ディスプレイを構成する特定の1つの表示パネルまたは表示パネルのセットで表示するように割り当てられてもよい。アプリケーション302は、必ずしもではないが好ましくは、表示情報が描画される表示パネルのための実行時作業空間304に提供されるディスプレイ情報を自動的に調整するように構成されている。例えば、アプリケーションが、そのコンテンツが浮動パネル(他のパネルに重なる、および/または隠す可能性がある表示パネル)に表示されることを認識しているケースでは、アプリケーションは初期サイズ、または浮動パネルの構成の中で情報を描画する上で使用するのに適したグラフィックレイアウト情報を提供する。表示パネルに関する追加の説明は
図5から
図10に関連して以下に提供される。
【0050】
図4は、本書記載の実施例の統合グラフィック実行時インタフェースが1つ以上のサービスにプロセス制御グラフィックを動作可能に結合するために使用されてよい1つの方法のより詳細なブロック図である。
図4に示されるように、実行時作業空間304は、実行時作業空間アプリケーションドメイン402を含む。
図4には図示されていないが、実行時作業空間304は、その各々が別の実行時アプリケーションおよび/またはサービスと関連付けられてもよい追加のアプリケーションドメインのホストをつとめてよい。例えば、
図3の傾向分析アプリケーション308と高度制御アプリケーション310は、実行時作業空間304内の別の追加アプリケーションドメインを使用して実現されてもよい。
【0051】
実行時作業空間304は、各々が実行時作業空間304によって提供される各々の表示パネルと関連付けられてよい1つ以上のディスプレイサービス406と408の動作を管理するプロセスグラフィックディスプレイマネージャ404を提供する。プロセスグラフィックディスプレイマネージャ404は、(例えば、
図5に関連して後述される浮動パネル等のポップアップパネルを介して)フェースプレートまたは実行時作業空間304内の別のディスプレイを表示するための要求を実行時作業空間304から受け入れるように構成されてよく、ディスプレイサービス406と408の内の1つまたは両方を呼び出すことによりそれらの要求を実施する。
図4に描かれているように、ディスプレイサービス406と408の各々のインスタンスは各々のアプリケーションドメインで生成される。2つのディスプレイサービス406と408が
図4に示されているが、3つ以上、または1つのディスプレイサービスが代わりに使用されてよい。
【0052】
ディスプレイサービス406と408は、各々の描画エンジン410と412を含む。この例では、描画エンジン410と412は、プロセス制御関連グラフィックスを描画するように構成される。より詳細には、描画エンジン410と412は、作成されるあるいはインスタンスが作成され、次にパネルまたはペインを表示するために描画されるディスプレイアセンブリおよびサポートディスプレイ制御アセンブリをロードする。描画エンジン410と412は、各々のデータソース414と416を含む。データソース414は、プロキシ418を介して他のサービスの中で変更通知サービスを提供してよい実行時サーバ420に通信可能に結合される。同様に、データソース416はプロキシ422を介して実行時サーバ420に通信可能に結合されてよく、プロキシ426を介して、他のサービスの中でアラーム要約サービスを提供するアラームサーバ424にも通信可能に結合されもてよい。
【0053】
動作中、ディスプレイサービス406と408は、プロセスグラフィックディスプレイマネージャ404によって作成される、あるいはインスタンスが生成され、次に各々サーバ420と424と登録される。プロセスグラフィックディスプレイマネージャ404は、次に、ディスプレイサービス406と408がそれらの各々のディスプレイを描画しなければならない表示パネル(複数の場合がある)と関連するコンテキストまたはハンドルを取得するために、実行時作業空間304の一部である実行時ペイン構成要素428と通信してよい。このため、実行時ペイン構成要素428はディスプレイが描画される前記パネルを生成するように構成されてよい。
【0054】
図4に示されるように、プロセスグラフィックディスプレイマネージャ404はプロキシ432を介してローカルディスプレイレポジトリサービス430に通信可能に結合される。ローカルディスプレイレポジトリサービス430は、ローカルディスプレイキャッシュ434から、あるいは必要とされるディスプレイ情報がローカルディスプレイキャッシュ434に記憶されていない場合には、グローバルディスプレイレポジトリサービス438およびプロキシ440を介してグローバルディスプレイキャッシュ436からディスプレイ情報を取り出すように構成される。ローカルディスプレイレポジトリサービス430はローカルオペレータのステーション(例えば、実行時作業空間304のホストを務める同じステーションまたはサーバ)内でインスタンスを生成されてよく、グローバルディスプレイレポジトリサービス438は別のノード(例えば、実行時作業空間304がインスタンスを生成されるステーションまたはサーバとは別のワークステーションまたはサーバ)でインスタンスを生成されてよい。
【0055】
図5は、本書記載の実施例の統合グラフィック実行時インタフェースによって使用されるディスプレイフレームワーク500である。一般的には、作業空間フレームワーク500は、各々が別の実行時アプリケーションに関するグラフィック情報を含んでもよい、複数の表示パネルから構成されるユーザ構成可能なディスプレイレイアウトを提供する。このように、ディスプレイフレームワーク500は、システムオペレータおよび/またはプロセス制御システムと関連する他の人員が、プロセス制御関連情報を見るおよび/または変更するために対話できる高度に統合されたグラフィックユーザインタフェースを提供する。いったん構成されると、ディスプレイレイアウト(つまり、パネルの配列、パネルのタイプの選択、実行時アプリケーションの特定のパネルに対する関連または割り当て等)は、ユーザインタフェースとのユーザの対話の直感性を高めるためにプロセス制御システム全体で拡散され、より訓練時間を短縮し、誤りまたはオペレータエラー等を最小限に抑える。
【0056】
また、一般的には、フレームワーク500を構成する表示パネルは固定パネルまたは浮動パネルであってもよい。固定パネルは、それらがコンテンツを有するか、フレームワーク500の中で実質的に固定された位置を有するか、および他のパネルと重ならないかに関係なく、つねに可視可能である。したがって、フレームワーク500の中の固定パネルは、実行時作業空間304のインスタンス化された背景面を効果的に形成する。しかしながら、さらに詳しく後述されるように、いくつかの固定パネルは他の固定パネルによって占有される位置に移動可能であってもよい(つまりそのコンテンツがコピーされてもよい)。
【0057】
対照的に浮動パネルは1つ以上の固定パネルまたは他の浮動パネルの上に浮かぶ、重なる、完全にまたは部分的に隠す、またはそれ以外の方法でその表示と干渉する一時的なコンテンツウィンドウを提供する。浮動パネルは例えばプロセス制御関連フェースプレート、実行時アプリケーションユーザ特殊インタフェース構成要素等を表示するために使用されてもよい。加えて、さらに詳説されるように、浮動パネルは、システムオペレータが浮動パネルにより隠されていることがあるパネルまたはその部分を見ることができるようにするためにフレームワーク500内で可動となるように構成されてもよい。固定パネルとは異なり、浮動パネルは、浮動パネルのコンテンツの表示がもはや必要とされない、あるいは所望されないときにシステムオペレータによって閉じることができる。
【0058】
図5の作業空間フレームワーク500を詳しく見ると、フレームワーク500の上部と下部には固定パネル502と504が隣接している。固定パネル502と504は細長い矩形形状を有するため、アラーム情報(例えば、アラームバナー)、
操作等を選択するための選択領域、ステータス情報バナー(例えば、プロセス制御領域ステータスバナー)または任意の他のプロセス制御関連情報を表示するために適切である。作業空間500は、積み重ね可能なパネル506と508が固定パネル502と504上で層化されている点を除き、固定パネル502と504に類似している積み重ね可能なパネル506と508も含む。固定パネル502と504のように、積み重ね可能なパネル506と508は、アラーム情報、ステータス情報、ツールバー等を表示するために使用されてもよい。
【0059】
作業空間500は、複数の表示パネル512、514、516、518および520から構成される中心表示領域510も含む。パネル512〜520の各々は、異なる実行時時間アプリケーションからのコンテンツを含んでよい。代わりに、または加えて、パネル512〜520のいくつかまたはすべては、単一の実行時アプリケーションによって提供される異なる種類の情報に関する情報を含んでもよい。例えば、パネル512〜520の各々は単一のプロセス制御プラントの異なる領域または部分に関するプロセス制御情報を含んでよい。さらに、パネル512〜520のいくつかまたはすべては、ライブプロセス制御情報に関する情報を含んでよく、ユーザがプロセスパラメータ等を操作できるようにしてよい。代わりにまたは加えて、パネル512〜520の内の1つ以上は、ライブプロセス制御情報で注釈されてよいプロセス制御プラント関連の文書を含んでもよい。
【0060】
例の作業空間500も、この例ではパネル508、512、514および518に重なる浮動パネル522を含む。浮動パネル522は、例えば、ポップアップダイアログ、フェースプレート等のコンテンツを含んでよい。
【0061】
図5の例の作業空間500を構成するパネルの数、タイプ、および配列は1つの例にすぎないため、パネルの任意の他の組み合わせおよび/または配列が代わりに使用できるであろう。さらに、例の実行時作業空間500と、作業空間500を構成するパネル502〜522は、矩形形状を有するとして描かれているが、
図5の例に描かれているものの代わりに、あるいはそれらに加えて任意の他の形状または形状の組み合わせが使用できるであろう。
【0062】
図6および
図7は、1つ以上の表示パネルが、本書記載の実施例の統合グラフィック実行時インタフェースによって生成されるディスプレイ内に移動されてよい。より詳細には、
図6は、各々の表示パネルDP1、DP0、DP2、DP3およびDP4に対応する表示域601、602、603、604および605から構成される(
図5の表示域510に類似する)表示域600を描いている。所望される場合、システムオペレータまたは他のユーザは(例えば、マウスまたは他のポインティングデバイスを使用して)選択肢、表示パネルDP3を表示域605の中の位置に常駐するために移動してもよい。表示パネルDP3が位置605に移動された後、表示域604により占有される過去の位置は空白つまり空であってよい。言うまでもなく、パネルDP0、DP1、DP2、DP3、およびDP4のいずれかは、任意の他のパネルの位置に常駐するように移動できるであろう。
【0063】
図8および
図9は、1つ以上の表示パネルが本書記載の実施例の統合グラフィック実行時インタフェースによって生成されるディスプレイ内にコピーされる方法を描く。
図8に示されるように、システムオペレータまたは他のユーザは表示パネルDP2に表示パネルDP1をコピーすることを選んでよい。
図9に示されているようなコピー動作に続いて、表示パネルDP1とDP2は、表示パネル位置603を共用し、表示パネルDP1はその元の位置にも留まる。
【0064】
図10は、本書記載の実施例の統合グラフィック実行時インタフェースにより使用される例の表示パネル割り当てプロセス1000である。例のプロセス1000を詳細に説明する前に、作業空間表示定義は、パネル割り当てプロセス1000の動作を可能にするように構成されてよい方法に関する簡略な説明が後述する。
【0065】
一般的には、作業空間フレームワーク(例えば
図5の作業空間フレームワーク500)の中で使用されるパネルの各々は、1つ以上のディスプレイカテゴリ名(例えば、コンテンツカテゴリ)と関連するように構成されてもよい。例えば、
図5の例では、表示パネル512は、ライブプロセス制御データと履歴プロセス制御データと関連付けられるように構成され、表示パネル502はアラームまたはイベントデータと関連付けられるように構成されてもよい。同様に残りのパネル504、506、508、514、516、518、520および522の各々も1つ以上のディスプレイカテゴリまたはコンテンツカテゴリと関連付けられるように構成されてもよい。さらに、
図5の例のフレームワーク500に示されているパネル502〜522の内の1つは、後述されるように、他の宛先識別情報が使用できないディスプレイ情報を描画するために使用されるデフォルトパネルとして指定されてもよい。
【0066】
加えて、パネル502〜522の各々は、識別宛先または位置情報と使用優先順位と関連付けられる。宛先または位置の情報は、そのパネルのための情報が描画されなければならない作業空間ディスプレイの中の物理位置に対応する。浮動パネルのケースでは、位置情報は作業空間ディスプレイ内の初期の位置またはデフォルトの物理位置に対応する。さらに詳しく後述されるように、使用優先順位情報は、複数の使用可能なパネルの内のいずれで、コンテンツが特定のパネルで描画されるべきことを示す不在命令(複数の場合がある)が描画されるべきかを解決する(resolve)ために使用される。
【0067】
作業空間500内の浮動パネル(例えば、浮動パネル522)の初期の表示位置は、各浮動パネルに、パネルの所定の部分(例えば、角)が設置されなければならないアンカーポイント(例えば、作業空間500内の物理位置)を設定することにより構成されてよい。代わりにまたは加えて、作業空間500と関連する物理ディスプレイ表面の上で分散される選択された位置またはアンカーポイントは異なるコンテンツカテゴリと関連付けられてもよい。それらのケースでは、第1のタイプまたはコンテンツのカテゴリを含む浮動パネルのインスタンス化は、前記浮動パネル内のコンテンツのタイプまたはカテゴリと関連するアンカーポイントに1つ(または複数の内の1つ)であってよい。
【0068】
各浮動パネルの好ましい初期サイズ(複数の場合がある)または寸法も構成されてもよい。例えば、浮動パネルは、浮動パネルが描画されるべきディスプレイ装置のネイティブサイズに基づいてその初期サイズを構築するように構成されてよい。別の例では、浮動パネルはユーザ定義の好ましいサイズに基づいてその初期サイズを構築するように構成されてもよい。代わりにまたは加えて、各浮動パネルは、ユーザがパネルのサイズを変更できるように、あるいはユーザがパネルのサイズを変更できないように構成されてもよい。浮動パネルがサイズ変更可能となるように構成される事例では、浮動パネルはウィンドウズ(登録商標)のサイズ変更動作で使用するのに適した境界線で描画されてもよい。
【0069】
ここで
図10を詳しく見ると、例のプロセス1000は、それが新しいディスプレイを描画する要求を受け取ったかどうかを判断する(ブロック1002)。新しいディスプレイを描画する要求がブロック1002で受け取られていた場合、プロセスは、ディスプレイのための宛先パネルが指定されていたかどうかを判断する(ブロック1004)。宛先パネルがブロック1004で指定されていない場合には、例のプロセス1000は、ディスプレイと関連する1つ以上のカテゴリを、使用可能な表示パネルの各々と関連するカテゴリに描画されるディスプレイに比較する。例のプロセス1000は、次に、ディスプレイと関連するカテゴリが使用可能な表示パネルと関連するカテゴリのいずれかに一致するかどうかを判断する(ブロック1008)。プロセス1000がブロック1008で、描画されるディスプレイと関連するカテゴリのいずれも使用可能な表示パネルに一致しないと判断する場合、あるいは描画されるディスプレイがカテゴリ情報を含まない場合には、ディスプレイはデフォルトパネルで描画されるために割り当てられる(ブロック1010)。
【0070】
他方、例示のプロセス1000がブロック1008で、一致があると判断すると、プロセス1000は複数のカテゴリ一致があるかどうかを判断する(ブロック1012)。プロセス1000がブロック1012で複数のカテゴリ一致がない(つまり1つしか一致がない)と判断すると、プロセス1000は、固定パネルまたは浮動パネルのいずれか一致するパネルで描画されるディスプレイを割り当てる(ブロック1014)。
【0071】
プロセス1000がブロック1012で、ディスプレイと関連する少なくとも1つのカテゴリと一致する少なくとも1つのカテゴリを有する複数の使用可能な表示パネルがあると判断する場合、プロセス1000は一致するパネルと関連する所定の使用順序に基づいて一致パネルの内の1つで描画されるディスプレイを割り当てる(ブロック1016)。
【0072】
ブロック1016でパネルを割り当てる1つの方法は以下に概略される選択シーケンスに従ってよい。第1に、可能ならばプロセス1000は、一致する現在はコンテンツの無い、固定パネル(例えば、空白または未使用である固定パネル)にディスプレイを割り当てる。このような一致する複数の固定パネルが存在する場合には、プロセスはパネルの使用順序に基づいてパネルの内の1つを選択する。第2に、現在コンテンツのない一致する固定パネルがない場合には、プロセス1000は、現在閉じられている一致する浮動パネルに表示を割り当てる。いったん割り当てられると、割り当てられた浮動パネルが開かれ、ディスプレイコンテンツがその中で描画される。複数のこのような浮動パネルが使用できる場合には、プロセス1000はプロセスの使用順序に基づいてパネルの内の1つを選択する。第3に、現在閉じられている一致する浮動パネルがない場合、プロセス1000は、一致する現在開いている浮動パネルがあるか判断する。複数の現在開いている浮動パネルが一致する場合には、プロセス1000は最も旧いコンテンツを含む、開いている浮動パネルを識別し、そのパネルのコンテンツを新しいディスプレイコンテンツで置換する。第4に、プロセス1000が一致する現在開いている浮動パネルがないと判断する場合、プロセス1000は一致する現在使用されている固定パネルがあるか否かを判断し、新しいディスプレイコンテンツを一致する現在使用されている固定パネルに割り当てる。複数の一致する現在使用される固定パネルがある場合には、プロセス1000は、それらのパネルの使用順に基づいて新しいディスプレイコンテンツを一致する現在使用されている固定パネルの内の1つに割り当てる。代わりにまたは加えて、プロセス1000はユーザが手動でどのパネルで新しいディスプレイが描画されるべきかを選択できる。
【0073】
本書に説明される機能ブロックまたは動作は、ソフトウェア、ファームウェアおよびハードウェアの任意の所望の組み合わせを使用して実現されてよい。例えば、1台以上のマイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)等が方法を実行するために、あるいは本書に説明される装置を実現するために機械またはプロセッサがアクセス可能な記憶媒体上に記憶される命令またはデータにアクセスしてよい。記憶媒体は、例えばランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能RAM(EEPROM)等を含むソリッドステート記憶媒体、光記憶媒体、磁気記憶媒体等のデバイスおよび/または媒体の任意の組み合わせを含んでよい。加えて、機能ブロックを実現するために使用されるソフトウェアは、加えてまたは代わりに、インターネット、電話回線、衛星通信等を介してソフトウェアを実行する1台以上のプロセッサまたは他のデバイスに送達され、それらによってアクセスされてよい。
【0074】
図11は、本書に説明される装置および方法を実現するために使用されてよい例のプロセッサシステム1102を描いている。例のプロセッサベースのシステム1102は、例えば、サーバ、パーソナルコンピュータ、または任意の他のタイプのコンピューティング装置であってよい。
【0075】
プロセッサ1100は、例えば、ペンティアム(登録商標)(Pentium(登録商標))ファミリ、アイテニアム(Itanium(登録商標))ファミリ、またはXScale(登録商標)ファミリの1台以上のインテル(Intel(登録商標))マイクロプロセッサを使用して実現されてよい。言うまでもなく、他のファミリの他のプロセッサも適切である。プロセッサ1100は、バス1108を介して揮発性メモリ1104と不揮発性メモリ1106を含むメインメモリと通信している。揮発性メモリ1104は、同期型DRAM(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスによって実現されてよい
。不揮発性メモリ1106は、フラッシュメモリおよび/または任意の他の所望のタイプの不揮発性メモリデバイスによって実現されてよい。メモリ1104に対するアクセスは通常従来のようにメモリコントローラ(不図示)によって制御される。
【0076】
システム1102はインタフェース回路1110も含む。インタフェース回路は、例えば、
図1のリンク24、32、40、42、46および48の内の1つ以上を介してシステム1102が通信可能にするために任意のタイプの周知のインタフェース規格によって実現されてよい。
【0077】
システム1102は、ソフトウェアおよび/またはデータを記憶するための1台以上の大量記憶装置1118も含む。このような大量記憶装置の例は、フロッピー(登録商標)ディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、およびデジタル多用途ディスク(DVD)ドライブを含む。
【0078】
特定の方法および装置および製品が本書に説明されてきたが、本特許の対象範囲はそれに限定されない。逆に、本特許は文字通りに、または均等論の元でのいずれかにより添付請求項の範囲内に適正に該当するすべての方法、装置および製品をカバーする。