JP2001184327A - コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム - Google Patents

コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム

Info

Publication number
JP2001184327A
JP2001184327A JP2000317826A JP2000317826A JP2001184327A JP 2001184327 A JP2001184327 A JP 2001184327A JP 2000317826 A JP2000317826 A JP 2000317826A JP 2000317826 A JP2000317826 A JP 2000317826A JP 2001184327 A JP2001184327 A JP 2001184327A
Authority
JP
Japan
Prior art keywords
database
configuration
component
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000317826A
Other languages
English (en)
Other versions
JP4731669B2 (ja
Inventor
Mark Nixon
マーク ニクソン,
Teresa Chatkoff
テレサ チャットコフ,
Steven Gilbert
スティーヴン ギルバート,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of JP2001184327A publication Critical patent/JP2001184327A/ja
Application granted granted Critical
Publication of JP4731669B2 publication Critical patent/JP4731669B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31324Distributed real time knowledge, database
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31418NC program management, support, storage, distribution, version, update
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31422Upload, download programs, parameters from, to station to, from server
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33125System configuration, reconfiguration, customization, automatic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36103Adapt, update machining parameters automatically as function of state of processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】異なる位置の各々におけるユーザに、タイムリ
ーで、安全で且つ非矛盾したコンフィギュレーションデ
ータベースの変更を可能とする。 【解決手段】プロセス制御システム内の複数の物理的な
位置に分散された複数のデータベースを備え、各データ
ベースは、コンフィギュレーション・データのサブセッ
トを格納する。該サブセットには、前記システム内の任
意のサイトでのユーザからアクセスすることができる。
前記システム内で予約者によって見られているコンフィ
ギュレーション・データが古くなることを防止すべく、
前記データベース・サーバは、前記データベース内の各
項目への変更を自動的に検出し、なされた変更の通知を
予約者の各々に送信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本願発明は、プロセス制御シ
ステムに関し、より詳しくは、プロセス制御システム内
で地理的に分散された物理的な位置からアクセスおよび
更新が可能なコンフィギュレーション・データベースを
有するプロセス制御コンフィギュレーション・システム
としての、コンフィギュレーション・データベース・シ
ステム、分散型のコンフィギュレーション・データベー
ス・システム、およびプロセス制御システム、並びに、
本システムに用いるデータベース・サーバ、更には、コ
ンフィギュレーション・データを格納および使用する方
法、データベース・コンポーネントへのアクセスを提供
する方法、およびデータベースに格納されたコンポーネ
ントへの並列アクセスを提供するためにデータベース・
サーバを使用する方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】本願
は、1999年10月18日に出願された仮出願第60/160,104号
の「プロセス制御システム内で分散された物理的な位置
からのコンフィギュレーション・データベースに対する
アクセスおよび更新」に基づく出願である。
【0003】プロセス制御システムは、化学,石油,又
はその他のプロセスに利用されるもののように、概し
て、アナログおよび/若しくはデジタル・バス又はその
他の通信線又はチャネルを介して、少なくとも1つのホ
スト・デバイス又はオペレータ・ワークステーションと
一又は複数のフィールド・デバイスとに通信可能に結合
される少なくとも1つのプロセス・コントローラを備え
ている。前記フィールド・デバイス、即ち、例えば、バ
ルブ,バルブポジショナー,スイッチ,および送信機
(例えば、温度,圧力,および流量センサ)等は、バル
ブの開閉、およびプロセス・パラメータの測定の如きプ
ロセスにおける機能を実行する。プロセスのランタイム
中にあっては、前記プロセス・コントローラは、フィー
ルド・デバイスおよび/又は入力/出力(I/O)装置を
介した該フィールド・デバイスに関するその他の情報に
よってなされたプロセス計測を示す信号を受信し、制御
ルーチンを実行するためにこの情報を使用して、当該プ
ロセスの動作を制御すべく、前記入力/出力装置を介し
てバス又はその他の通信チャネルを通じて前記フィール
ド・デバイスへ送信される制御信号を生成する。前記フ
ィールド・デバイスおよび前記コントローラからの情報
は、プロセスの現在の状態を見ること等のプロセスに関
するどの様な要求機能でもオペレータが行えるように、
前記オペレータ・ワークステーションにより実行される
一又は複数のアプリケーションについて、概してランタ
イム中に利用できるようになされている。加えて、ホス
ト・デバイス,ワークステーション,およびラップトッ
プ・コンピュータ等の如きユーザ・インタフェースで実
行されるコンフィギュレーション・アプリケーション
は、プロセスの操作を修正するため、プロセスを設定す
るため、プロセスのコンフィギュレーションを見るた
め、およびプロセス・コンフィギュレーションを記録す
るため等に利用される可能性がある。
【0004】概括して言えば、プロセス制御システム
は、該プロセス制御システム内でハードウェアおよびソ
フトウェア・コンポーネントの各々に関連するコンフィ
ギュレーション情報を格納するコンフィギュレーション
・データベースを用いるように構成されており、プロセ
スにおける異なるデバイスおよびコントローラの如きハ
ードウェア・コンポーネントが、物理的に相互接続さ
れ、また、制御モジュールおよび通信モジュール等の如
き異なるソフトウェア・コンポーネントが、プロセス制
御を実行するために、プロセス制御システム内における
異なるデバイスによって連携および実行される。場合に
よっては、前記コンフィギュレーション・データベース
は、オブジェクトとしてプロセス制御システムの各々異
なる論理的なコンポーネントのためにコンフィギュレー
ション・オブジェクト又はコンフィギュレーション・コ
ンポーネントを格納するオブジェクト指向データベース
である。前記コンフィギュレーション・データベース
は、例えば、幾つか又は全てのハードウェアおよびソフ
トウェア・コンポーネントのためのオブジェクト・テン
プレートを格納するライブラリを備えることが可能であ
る。そして、これらのテンプレートは、プロセス制御シ
ステム内で実際に用いられている例えばハードウェア又
はソフトウェア・コンポーネントのためのコンフィギュ
レーション・オブジェクトを生成するために使用され
る。前記コンフィギュレーション・データベースは、ま
た、プロセス制御システムの物理的なコンポーネントが
セットアップされ、分配され、そして相互接続されるよ
うな、セットアップ又は物理ネットワーク・セクション
を備えることが可能である。場合によっては、前記コン
フィギュレーション・データベースは、また、コントロ
ーラ,フィールド・デバイス,および該コントローラお
よび/又はフィールド・デバイスにおいて実行される制
御モジュール又は制御ルーチンを用いてどの様に制御が
なされるかを定義する制御セクションを備える。前記プ
ロセス制御システムのコンフィギュレーションにおい
て、例えばユーザ・インタフェース又はワークステーシ
ョンで実行されたコンフィギュレーション・ルーチン又
はアプリケーションは、前記プロセス制御システムの実
際のコンフィギュレーションを反映してコンフィギュレ
ーション・データベースを生成又は修正するために使用
される。このコンフィギュレーション・アプリケーショ
ンは、概して、前記プロセス制御システムに関連するデ
バイスおよびコントローラ等を設定すべく前記コンフィ
ギュレーション・データベース内の情報を使用し、ま
た、デバイス又はソフトウェア・コンポーネントが前記
システムに加えられる時等のような如何なるコンフィギ
ュレーション動作が行われた後であっても、新しいコン
フィギュレーション情報を前記コンフィギュレーション
・データベースに格納するようになっている。
【0005】また、前記コンフィギュレーション・デー
タベースは、前記プロセス制御システムに接続されたユ
ーザ・インタフェースを介して、ユーザに前記プロセス
制御システムの現在のコンフィギュレーションを表示す
るために一般に用いられる。過去においては、プロセス
制御システムのユーザ・インタフェース,コンフィギュ
レーション・データベース,およびコントローラの幾つ
かは、ローカル・エリア・ネットワーク(LAN)を形成
すべく、イーサネット(登録商標)・バスの如き専用バ
スによって通信可能に相互接続されていた。専用のイー
サネット・バスが大きい帯域幅を有し、また、該イーサ
ネット・バス上を送信される任意の特定の信号又はデー
タ要求をLAN内であまり長い距離に亘って往来させる必
要がないので、前記ユーザ・インタフェースのうちの1
つによる前記コンフィギュレーション・データベースと
の通信は、これらのシステムにおいて相当容易且つ高速
である。その結果、前記ユーザ・インタフェースにおい
て実行されるコンフィギュレーション表示ルーチンは、
ユーザが前記プロセス制御システムのコンフィギュレー
ションに関連する情報を示すか又は要求する都度、概し
て、前記コンフィギュレーション・データベースにアク
セスして、コンフィギュレーション情報を取り出す。こ
の取り出された情報は、それから、イーサネット・バス
を通じて送出されて、前記ユーザ・インタフェース上に
てユーザに表示される。前記専用のイーサネット・バス
の速度(又は大きい帯域幅)のため、複数のユーザが、
前記コンフィギュレーション・データベースに比較的同
時にアクセスすることができ、また、前記プロセス制御
システムのコンフィギュレーションに関連する同一の又
は異なるコンフィギュレーション・データを見ることが
できる。同様に、異なるユーザが、プロセス制御システ
ムの異なる部分を再設定することができる。なぜなら、
生成された如何なる新しいコンフィギュレーション・デ
ータであっても、前記専用のイーサネット・バスを介し
て比較的短い時間で、前記コンフィギュレーション・デ
ータベースに直接的に提供され得るからである。さら
に、前記LANに接続されたこれらのデバイスだけが前記
コンフィギュレーション・データベースにアクセスする
ことができるので、また、前記LANが単一のプロセスの
位置に概して限られるので、多数のユーザ・インタフェ
ースがコンフィギュレーション・データベースに同時に
アクセスすることを可能にする必要は余りない。
【0006】近年、しかしながら、幾つかのプロセス制
御システムのサイズに対する一般的な増加があり、ま
た、より大きい又は離隔された地理的なエリアに亘って
拡散又は分配されたプロセス制御ネットワーク用に、コ
ンフィギュレーション情報を統合したいという要望があ
った。例えば、或るユーザは、異なるプロセス・サイト
に関連するコンフィギュレーション・データを結合する
ことを望み、当該プロセス・サイトは、異なる郡,州,
又は更には異なる国に存在する可能性がある。それによ
って、第1のサイトにおけるオペレータに対して、第2の
サイトについてのコンフィギュレーション情報へのアク
セスおよび該コンフィギュレーション情報の閲覧を許容
し、更には、第1のサイトから第2のサイトに影響を与え
るコンフィギュレーション動作を行うことさえ許容する
ことも可能である。別の例では、ユーザが、海洋を遠く
離れ、精油プロセス制御システムを備えたプラットフォ
ーム上での油井を、本土に存在する多数のコントローラ
およびユーザ・インタフェース等を用いて統合したいと
要望するかも知れない。この場合、精油サイトにおける
ユーザに対して、前記プラットホームまで実際に飛んで
行くことなしに、油井プラットホームでのデバイスの再
設定又は設定(コンフィギュレーション)に影響を与え
ることを可能とすることが望ましい。つまり、現在一般
的に必要であるように、油井プラットホームのターミナ
ルにユーザ・インタフェースを接続し、油井コントロー
ラを再設定するのである。さらに、複数のプロセス制御
サイトの統合にあっては、これらのサイトのコンフィギ
ュレーション・データベースに同時にアクセスすべく用
いられ得るユーザ・インタフェースの数はかなり増加す
る。
【0007】複数の地理的に離隔したサイトを統合する
際には、しかしながら、それは、距離に起因して、イー
サネット・バスの如き共通の専用バスを使用する異なる
サイトを接続することが、実際には不可能である。しか
しながら、衛星,セルラー,若しくはその他の種類の無
線接続、又はインターネット若しくはT1回線の如き広域
ネットワーク接続を使用すること、プロセス制御システ
ムの異なるサイト間の通信接続を確立することは可能で
あり、それによって、プロセス制御ネットワークの地理
的に離隔した部分の統合を可能にする。しかし、衛星,
セルラー,およびその他の広域無線通信接続は、概し
て、その使用に際して非常に高価であり、これらが、イ
ーサネット・バスの如き専用バスと比較して限られた帯
域幅のみを提供することができるように一般に共有され
る。同様に、インターネット,T1回線,およびその他の
共有広域ネットワークは、限られた帯域幅又はスループ
ットだけを提供するので、専用のイーサネット・ローカ
ル・エリア・ネットワーク・バスと比較して、概してデ
ータ転送が非常に遅い。また、異なるサイト間の地理的
な距離と、例えばデータ・パケットの認証を用いるサイ
ト間の安全な保証された通信を提供するために必要なこ
ととは、IF,TCP,およびUDP通信プロトコルにおいて提
供されるように、サイト間の通信の遅れを更に増大す
る。
【0008】プロセス制御システムの地理的に多様なサ
イト間の通信における遅れと、コンフィギュレーション
・データベースにアクセスするユーザ・インタフェース
又はその他のデバイスの数の増加との結果として、異な
るサイトの全てにおけるユーザによるアクセスのよう
な、また、現状のコンフィギュレーション・データベー
スのアクセス手順を用いて異なるサイトにおけるユーザ
による変更のような、地理的に多様なサイトの各々での
デバイスを含むプロセス制御システム全体のためのデー
タを格納するコンフィギュレーション・データベースを
提供することは難しい。特に、コンフィギュレーション
・データベースがメイン・サイトにあるならば、リモー
ト・サイトにおけるユーザが、遅いリンク又はリモート
・リンクを通じてリフレッシュ単位でコンフィギュレー
ション・データの全てをダウンロードしなければならな
ず、甚大な時間をとられることになる。また、コンフィ
ギュレーション・データベースにアクセスしているユー
ザの数の顕著な増加は、コンフィギュレーション・デー
タベース内の如何なる情報へのアクセス時間をも容認で
きないレベルにまで増大することになる。同様に、プロ
セス制御システムを再設定する際、メイン・サイトおよ
びリモート・サイト間の通信の遅れは、2人の異なるユ
ーザに対して、混乱およびエラーに導く、プロセス制御
システムの同一のコンポーネントの再設定を行わせる。
このように、例えば、リモート・サイトにおけるユーザ
は、メイン・サイトでのコンフィギュレーション・デー
タベースからのプロセスの現在のコンフィギュレーショ
ンを要求し、得ることが可能であり、リモート・サイト
でのプロセス制御システムの部分を再設定し、それか
ら、メイン・サイトでのコンフィギュレーション・デー
タベースに新しいコンフィギュレーション・データを送
信することが可能である。一方、しかしながら、メイン
・サイトにおけるユーザは、プロセス制御システムの同
一部分を再設定することが可能である。なぜなら、メイ
ン・サイトでの通信に比較的遅れがないからであって、
リモート・サイトにおけるユーザは、エラーを導く、格
納のためにコンフィギュレーション・データベースへリ
モート・サイトで生成された新しいコンフィギュレーシ
ョン・データを送ろうとする前に、この新しいコンフィ
ギュレーションをコンフィギュレーション・データベー
スに格納することが可能である。
【0009】場合によっては、異なるサイト間での遅く
小さい帯域幅の通信リンクを提供することでさえ、不可
能であるか又は実用的ではないかも知れない。この場
合、リモート・サイトのコンフィギュレーションは、リ
モート・サイトでなされなくてはならず、従ってメイン
・サイトでコンフィギュレーション・データベースにア
ップロードされなければならない。しかし、このオフラ
インのコンフィギュレーションは、異なるユーザが同時
又は略同時にリモート・サイトを再設定しようとする場
合に、又はリモート・サイトを既に再設定した別のユー
ザが該リモート・サイトに既になされた変更を反映する
ためにコンフィギュレーション・データベースを更新す
る前に、最初ののユーザが再設定しようとした場合に、
問題を引き起こすことがあり得る。
【0010】本願発明は、プロセス制御システムの異な
る位置が、小さい帯域幅若しくは遅い(即ち、遅延され
た)通信回線を介して通信可能に接続されるか、又は例
えばモデム接続を介して間欠的に通信可能に接続される
ときであっても、異なる位置の各々におけるユーザに、
タイムリーで、安全で、且つ非矛盾したコンフィギュレ
ーション・データベースの変更を可能とするように、共
通のコンフィギュレーション・データベースを用い、プ
ロセス制御システムの多数の地理的に離隔した位置を統
合することを可能にするための、コンフィギュレーショ
ン・データを格納および使用する方法、データベース・
コンポーネントへのアクセスを提供する方法、およびデ
ータベースに格納されたコンポーネントへの並列アクセ
スを提供するためにデータベース・サーバを使用する方
法、並びにコンフィギュレーション・データベース・シ
ステム、分散型のコンフィギュレーション・データベー
ス・システム、およびプロセス制御システム、並びに、
本システムに用いるデータベース・サーバを提供するこ
とを目的とする。
【0011】
【課題を解決するための手段】本願発明の1つの観点に
よれば、共有されたコンフィギュレーション・データ、
例えば、複数の位置に関連する又は複数の位置に適用可
能なコンフィギュレーション・データが、遅い又は小さ
い帯域幅の一又は複数の通信回線を介してその他の位置
の各々によって評価可能なデータベースに格納されるよ
うに、また、特定の位置だけに関連するデータが、その
位置でコンフィギュレーション・データベースに格納さ
れるように、プロセス制御システムの異なる地理的な部
分上又は部分を介して分散されたコンポーネントを備え
る分散型のコンフィギュレーション・データベースを提
供する。このように、特定の位置で最もアクセスされる
と思われるコンフィギュレーション情報(例えば、その
位置に関連するコンフィギュレーション情報)は、その
他の位置に関連するコンフィギュレーション情報が遅い
又は小さい帯域幅の通信回線を通じてアクセスされ得る
一方、ローカル・エリア・ネットワークを通じてアクセ
ス可能である。その結果、共有通信データと異なる位置
に関連するデータだけは、遅い又は小さい帯域幅の通信
回線を通じて送信される必要がある。
【0012】プロセス制御システム内でユーザによって
見られているコンフィギュレーション・データが古くな
ることを防ぐ目的から、各位置でのコンフィギュレーシ
ョン・データベース・アクセス・システムは、そのデー
タを現在見ているユーザの各々に、コンフィギュレーシ
ョン・データベースになされた変更を自動的に送信する
ことが可能であって、あたかもコンフィギュレーション
・データベース内にそのデータが存在するかのように、
ユーザがコンフィギュレーションの状態を見ることがで
きる。1つの実施形態において、コンフィギュレーショ
ン・データベースの各部分は、コンフィギュレーション
・データベースへの読み出し回数を低減するように、コ
ンフィギュレーション・コンポーネントの伝達をそのデ
ータを現在見ているユーザの各々に又は予約者に調整す
る共有キャッシュを使用するデータ・アクセス・ルーチ
ンを有しており、コンフィギュレーション・データベー
スからデータにアクセスする速度を増大する。この共有
キャッシュは、コンフィギュレーション・データベース
内でコンポーネントのロックと予約とを可能にするロッ
ク・メカニズムを組み込むことが可能である。望むなら
ば、たとえ、その情報のマスター・コピーを格納するコ
ンフィギュレーション・データベースへの通信回線が、
切断されるか、又は利用できなくなるとしても、各々の
ユーザによって得られたコンフィギュレーション情報
は、ユーザがコンフィギュレーション情報を見ることが
できるように、ローカルに格納されることが可能であ
る。
【0013】
【発明の実施の形態】以下、本願発明の実施形態を図面
を参照しながら説明する。図1において、プロセス制御
システム10は、双方向チャネルからなる第1の上り回線
/下り回線チャネル20と第2の上り回線/下り回線チャ
ネル22とを有する衛星18によって構成された衛星通信回
線16を介して通信可能に接続された地理的に離隔した第
1および第2のサイト(又は位置)12,14を備えている。
第1のサイト12(ここでは、ローカル又はメイン・サイ
ト12と称す)は、例えば、イーサネット又はその他の任
意の好ましいバス又は通信線である専用のローカル・エ
リア・ネットワーク・バス(LANバス)34を介してユー
ザ・インタフェース28に接続された、2つのプロセス・
コントローラ24,26と、コンフィギュレーション・デー
タベース30と、データ・サーバ32とを備えている。ユー
ザ・インタフェース28は、任意の好ましい種類のホスト
・ワークステーション又はコンピュータであり、例え
ば、任意の種類のパーソナル・コンピュータ,ラップト
ップ・コンピュータ等である。この際、コンフィギュレ
ーション・データベース30は、スタンド・アローン型の
データベース装置、又は例えばユーザ・インタフェース
28若しくはデータ・サーバ32の如きその他の任意のデバ
イスに統合されていてもよい。データ・サーバ32は、デ
ータ・サーバ32が第2のプロセス制御サイト14へ遅い又
は小さい帯域幅の通信回線16を通じて通信するために使
用するアンテナ39を備える。なお、ここでは、第2のプ
ロセス制御サイト14をリモート・サイト14と称す。
【0014】前記プロセス・コントローラ24,26の各々
は、一又は複数の入力/出力(I/O)装置36に接続され
ている一方、該I/O装置36は、従来の4~20ミリアンペア
のデバイス38又は任意の好ましい種類のフィールド・デ
バイス(F.D)(例えば、「HART(商標)」,「PROFIBU
S(商標)」,「アクチュエータ・センサ・インタフェ
ース(AS-Interface)」,「WORLDFIP(商標)」,「De
vice-Net(商標)」,「CAN」,「FOUNDATION(登録商
標)Fieldbus(以下に「Fieldbus」と称す)等のような
高性能フィールド・デバイス)40に接続され得る。勿
論、前記デバイス38,40は、プロセス制御システム10内
で任意の制御,測定,又はその他の機能を行い得る任意
の好ましい種類のデバイス(例えば、センサ,送信機,
バルブ,ファン,ミキサー,ポジショナー等)とするこ
とが可能である。前記プロセス・コントローラ24,26
は、任意の公知の又は好ましい種類のI/O装置36と、前
述した何れかに関連する通信プロトコルとを用いるフィ
ールド・デバイス38,40と通信することが可能である。
概括して言えば、プロセス・コントローラ24,26は、そ
の一例として、本願出願人であるフィッシャー・ローズ
マウント・システムズ・インコーポレイテッド社から販
売されている「DeltaV(登録商標)」コントローラとす
ることが可能であり、各々は、プロセッサと、データを
格納するメモリと、プログラムと、メイン・サイト12で
プロセス(プロセス制御システム)10の制御を実行すべ
く用いられる制御ルーチン(例えば、プロセス制御モジ
ュール)とを備えている。概括して言えば、前記プロセ
ス・コントローラ24,26は、フィールド・デバイス38,
40から信号を受信し、プロセス制御ルーチンを実行し
て、それによってプロセス(プロセス制御システム)10
の制御を実行するために前記デバイス38,40に制御信号
を与える。
【0015】同様に、前記リモート・サイト14は、専用
のローカル・エリア・ネットワーク・バス(LANバス)5
8(例えば、イーサネット又はその他の好ましいバス又
は通信線)を介してユーザ・インタフェース52,53に接
続された、プロセス・コントローラ(コントローラ)50
と、コンフィギュレーション・データベース54と、デー
タ・サーバ56とを備えている。前記コントローラ50は、
2つの高性能フィールド・デバイス(F.D)62にI/O装置6
0を介して接続されているように図示してあるが、その
他の任意の個数又は種類のフィールド・デバイスに接続
され得るものである。前記データ・サーバ56は、遅い又
は小さい帯域幅の回線16を介してデータ・サーバ32と通
信するためにアンテナ64を利用し、これによって、ロー
カル・サイト12とリモート・サイト14との間における通
信を達成する。リモート・サイト14内の各デバイスは、
ローカル・サイト12内の対応する各デバイスと同一又は
同様のものであり得、リモート・サイト14においてプロ
セス制御および報告動作を行う。同様に、任意の好まし
い方法でプロセス制御およびコンフィギュレーション動
作を行うために、サイト12,14の何れか一方又は両方に
おいて、その他のデバイス又は更にその他の個数のデバ
イスが接続できるということである。実際、前記サイト
のうちの1つ(例えば、リモート・サイト14)は、望む
ならば、ユーザ・インタフェースのような単一のデバイ
スであり得る。前記データ・サーバ32は、直接コンフィ
ギュレーション・データベース30に接続され得、また、
同様に、前記データ・サーバ56は、イーサネット・バス
を介して接続される代わりに、直接コンフィギュレーシ
ョン・データベース54に接続され得る。
【0016】このように、前記データ・サーバ32,56
は、2つのLANバス34,58間の通信接続を提供するために
動作するものであって、これによって、ローカル・サイ
ト12およびリモート・サイト14内のデバイス間の通信を
可能にする。前記通信回線16が衛星回線として図示され
ているが、代わりに、例えば、セルラー回線,モデム,
電話回線、インターネット回線,その他の任意の無線回
線,又は広域若しくは共有ローカル・エリア・ネットワ
ーク回線等のその他の任意の通信回線が用いられ得る。
勿論、任意の好ましい通信方法が、前記回線16を介した
データ通信を提供すべく、通信回線16内で使用されるこ
とが可能である。従って、任意の通信プロトコル(例え
ば、IP,TCP,又はUDPプロトコル)が使用されることが
可能であり、例えば、任意の変調技術,エラー符号化技
術等が、例えばスペクトル拡散技術を含む回線16を介し
て通信を行うことに使われ得る。好ましくは、或る種の
データ認証方法が、雑音又はその他の干渉が存在する中
で安全で信頼できる通信を保証するために通信回線16で
使用される。望むならば、本願発明の譲受人に譲渡さ
れ、また、ここで参照することによってここに明白に取
り込まれる、1999年10月15日に出願された「遅延認証通
信および警報管理」という米国特許出願No. 09/418747
号に記述されたデータ認証方法又は技術を、通信回線16
を介した通信を達成することに使用することも可能であ
る。概括して言えば、前記通信回線16の使用は、互いに
統合されるべき地理的に離隔したプロセス制御サイト又
はシステムを、1つのプロセス制御ネットワークとして
構成することを可能する。ここで、1つのサイト内のデ
バイスは、制御動作およびとコンフィギュレーション動
作を行うべく、他のサイトにおけるデバイスと通信する
ことができる。
【0017】残念なことに、前記通信回線16を通じた通
信は、概して、前記サイト12,14間の距離のために、LA
Nバス34,58を通じた通信よりも非常に遅いものであ
る。さらに、前記通信回線16は、専用のLANバス34,58
と比較して小さい帯域幅を有するかもしれなくて、該LA
Nバス34,58を通じた通信よりも一般に雑音およびその
他のエラーに影響され易い。これらの要因は、一般に、
プロセス制御システム10内に通信のボトルネックの原因
を、通信回線16に作ることに繋がる。
【0018】本願発明によれば、プロセス制御システム
10が設定される方法に関連するコンフィギュレーション
・データは、コンフィギュレーション・データベース3
0,54の一方又は両方に格納される。また、一又は複数
のユーザ・インタフェース28,52,53、又はその他のデ
バイスは、コンフィギュレーション・アプリケーション
を格納し、また、オペレータの要求によって、該アプリ
ケーションを実行することが可能である。このコンフィ
ギュレーション・アプリケーションは、コンフィギュレ
ーション情報(例えば、プロセス制御ネットワーク10内
のデバイスのコンフィギュレーション,ソフトウェア・
モジュール等に関連する情報)を得るコンフィギュレー
ション・データベース30,54のうちの1つ以上にアクセ
スすることが可能であり、ユーザは、得られたコンフィ
ギュレーション情報を画面上に表示させることが可能で
ある。前記コンフィギュレーション・アプリケーション
は、また、ユーザに対して、新しいデバイス,ソフトウ
ェア・コンポーネント,又はその他のコンポーネントを
前記システムへ付加し、前記システム内のデバイス間の
新しい通信を提供し、前記システム内の既存のコンポー
ネントを変更する等して、前記プロセス制御システム10
の再設定を可能とする。別の例では、第1のデータベー
ス・サーバ(例えば、データ・サーバ32)において実行
されたコンフィギュレーション・アプリケーションは、
更に異なるリモート位置(図1においては図示せず)に
この情報を提供するために、前記遅い回線16を介しても
う1つのデータベース・サーバ(例えば、データ・サー
バ56)から情報にアクセスすることが可能である。勿
論、本願出願人であるフィッシャー・ローズマウント・
システムズ・インコーポレイテッド社から販売されてい
る製品「DeltaV」を備えた前記コンフィギュレーション
・アプリケーションのような、任意の好ましいプロセス
制御コンフィギュレーション・アプリケーション又はル
ーチンを使用することが可能である。特に、前記「Delt
aV」のコンフィギュレーション・アプリケーションは、
プロセス制御のコンフィギュレーション情報をウィンド
ウズ(登録商標)・エクスプローラー式のツリー構造で
表示し、ユーザ又はオペレータがコンポーネントをコン
フィギュレーション・ツリー内で一方から他方へドラッ
グ・アンド・ドロップすることによって、前記システム
10を再設定することが可能であって、これにより、異な
るデバイス内のこれらのコンポーネントをロードする
か、プロセスの異なるエリアでプロセス制御コンポーネ
ントの配置を示すか、異なるコントローラ,バス,若し
くはI/Oデバイス等へデバイスの接続を示すか、又は異
なるデバイス内でソフトウェア・コンポーネントをロー
ドする。ドーブ(Dove)らの米国特許出願第5,838,563
号(プロセス制御環境を最設定するシステム)、ニクソ
ン(Nixon)らの米国特許出願第5,828,851号(標準デバ
イスおよび非標準デバイスの標準プロトコル制御を用い
たプロセス制御システム)、1996年4月12日に出願され
たニクソンらの米国特許出願第08/631519号(ネットワ
ークへのデバイスの接続を自動的に検出する方法および
装置を有するプロセス制御システム)、および1996年4
月12日に出願されたドーブの米国特許出願第08/631458
号(プロセス制御環境の設定を支援するシステム)は、
全て本願発明の譲受人に譲渡されており、また、ここで
参照することによってここに明白に取り込まれる。これ
らは、ユーザに対して、プロセス制御ルーチンおよびコ
ンポーネントを視覚的に作成すること、プロセス制御シ
ステム内のデバイスの制御を自動検出すること、および
プロセス制御システム内のデバイスの制御を提供するこ
とを可能にするプロセス制御コンフィギュレーション・
アプリケーションについて記述したものである。勿論、
その他の任意のグラフィック・コンフィギュレーション
・アプリケーションおよび非グラフィック・コンフィギ
ュレーション・アプリケーションを含むその他の任意の
コンフィギュレーション・アプリケーションが、前記コ
ンフィギュレーション・データベース30,54にアクセス
するために、ユーザ・インタフェースにおいて又はサー
バ・データベース又はその他のデバイスにおいて実行さ
れ得る。
【0019】図2は、プロセス制御システムのコンフィ
ギュレーションを表示するために用いられることが可能
であり、また、プロセス制御システムのコンフィギュレ
ーションへの変更を視覚的に特定するための用いられる
ことが可能である、プロセス制御のコンフィギュレーシ
ョン・ツリー65の一例を示している。概括して言えば、
図2のコンフィギュレーション・ツリー65は、「トレイ
シー・アイランド」と名付けられたプラントのコンフィ
ギュレーションに関連する情報を図示および提供してい
る。前記トレイシー・アイランドのコンフィギュレーシ
ョン・システムは、例えば、異なるデバイスの設定,デ
バイスの定義,ソフトウェア・コンポーネント等のテン
プレート(例えば、制御モジュール)、又は前記トレイ
シー・アイランドのプラントで使用されるその他のオブ
ジェクトを有することが可能であるライブラリ・セクシ
ョン66を有している。これらのテンプレートは、前記ツ
リー65において示されていないが、ライブラリ・アイコ
ン66を選択する(例えば、ダブル・クリックする)こと
によって、これらを表示することが可能である。前記コ
ンフィギュレーション・ツリー65は、また、前記デバイ
ス(例えば、コントローラ,I/O装置,フィールド・デ
バイス,ユーザ・インタフェース等)が前記プロセス内
で物理的に配置されるようなシステム・コンフィギュレ
ーション・セクション67を有することが可能である。前
記トレイシー・アイランドのプラントのための図示のシ
ステム・コンフィギュレーションは、レシピ(例えば、
異なる製品を製造するプラントにおいて行われるプロセ
ス),セットアップ情報,および制御方法を有してい
る。図示の如く、前記制御方法のアイコン又はコンポー
ネントは、未割当のI/Oリファレンス,設備,および「A
rea A」および「Areal」と名付けられた2つのエリア
(物理的なエリア)を含む多数の子コンポーネントを有
している。前記「Area A」は、「Module1」制御モジュ
ールがトレイシー・アイランドのプラントの「Area A」
の部分内でロードされたことを図示する「Module1」子
コンポーネントを有している。前記システム・コンフィ
ギュレーションは、また、非稼動中のコントローラと制
御ネットワークのアイコンとのリストを有する物理ネッ
トワークを備えている。前記制御ネットワークのアイコ
ン又はコンポーネントは、一又は複数の稼動中のコント
ローラ(コントローラ「CTLR1」のみを図示)と、該コ
ントローラ「CTRL1」の操作に関連付けられたユーザ・
インタフェース(「Governmint」と名付けられている)
とを有している。各コントローラは、これに取り付けら
れた一又は複数のI/O装置を備えることが可能であり、
また、各I/O装置は、これに取り付けられ、前記ツリー6
5内で前記コントローラに通信可能に結合されるべき一
又は複数のフィールド・デバイスを備えることが可能で
ある。しかし、これらのコンポーネントは、図2には示
されていないが、例えば、「CTRL1」のアイコンがユー
ザによって選択された場合に表示されるようになってい
る。
【0020】なお、図2に図示されたコンフィギュレー
ション・コンポーネントは、親子関係を有し、ここで、
例えば、前記システム・コンフィギュレーション・セク
ション67は、レシピ,セットアップ,制御方法,および
物理ネットワークの子供を示すことを注記しておく。同
様に、前記制御方法は、非割当のI/Oリファレンス,設
備,「Area A」,および「Areal」の親である。また、
「Area A」は、「Module1」コンポーネントの親であ
る。勿論、子コンポーネントの各々は、更なる子供を有
することが可能であり、そのため、前記ユーザは、オブ
ジェクトがどのデバイスに格納されているか、どのデバ
イスがどの物理的なゾーンに配置されているか、また、
異なるデバイスがどの様に通信可能に相互接続されてい
るかについて見るために、コンフィギュレーション・ツ
リー65の如何なるレベルでも見ることが可能である。通
常、図2の階層は、親コンフィギュレーション・コンポ
ーネントの次にプラス(+)のシンボルを配置すること
によって、非表示の子コンポーネントの存在を示してい
る。また、その子供を含む選択されたコンポーネントに
関する情報は、図2の制御方法コンポーネントで図示さ
れるように、画面の右側に表示される。勿論、これらの
コンポーネントに関する更なる情報は、図2の階層内で
これらのコンポーネントを選択することによって得られ
る。
【0021】図2にコンフィギュレーション階層の一例
を示すように、プロセス制御ネットワークのための前記
コンフィギュレーション階層は、その他のデバイスおよ
びモジュールを示すことができ、また、その他の従属関
係をとることができると言える。また、プロセスは、多
数の物理サイト、および/又はゾーンに分割されること
が可能である。そして、これらのサイト又はゾーンの各
々は、前記階層において示されるような、自体に関連す
るコントローラ,ユーザ・インタフェース等を有するこ
とが可能である。勿論、ユーザは、初めに図2のツリー
65の一部を見るかもしれないが、それからコンフィギュ
レーション・ツリー65(例えば、「Area A」)内のコン
ポーネントを選択して、コンフィギュレーション・ツリ
ー(階層ツリー)65内へ更に掘り下げていくことが可能
である。この選択によって、階層ツリー65を提供してい
るコンフィギュレーション・アプリケーションに対し
て、選択されたオブジェクトの子供にアクセスして、表
示画面上にこれらの子供を表示させる。場合によって
は、前記コンフィギュレーション情報は、オブジェクト
指向データベース内にオブジェクトとして格納されるこ
とが可能であり、また、前記データベース内のオブジェ
クトは、前記コンフィギュレーション・アプリケーショ
ンによって表示された前記コンフィギュレーション・ツ
リー内に示されるものと同様の関係を有することが可能
である。
【0022】図2の階層ツリー65において図示されるコ
ンフィギュレーション・オブジェクト又はコンポーネン
トは、図1のコンフィギュレーション・データベース3
0,54に格納されることが可能であり、また、コンフィ
ギュレーション・データベース30,54からアクセスされ
ることが可能であると言える。前記コンフィギュレーシ
ョン・データベース30,54(例えば、任意の好ましい種
類のオブジェクト指向データベース)に格納される情報
は、任意の好ましい方法で格納されるかもしれなくて、
また、図2に示した関係に関連して又は該関係と同様の
関係を有している。
【0023】従来技術のプロセス制御ネットワークに
は、概して、離隔されたサイト(例えば、遅い又はリモ
ート通信回線を介して接続されたサイト)がない。この
ように、各プロセス制御システムは、概して、コンフィ
ギュレーション・データをそのシステム内のデバイスの
コンフィギュレーションだけに関連するそれ自身のコン
フィギュレーション・データベースを備えている。さら
に、このコンフィギュレーション・データベースは、概
して、ユーザ・インタフェース又は前記プロセス制御シ
ステムのLANに接続されたその他のデバイスの全てによ
ってアクセスされることができ、LANバスの大きい帯域
幅と、LAN内のユーザ・インタフェースおよびコンフィ
ギュレーション・データベースの間の比較的短い距離の
ために、非常に速くアクセスされ得る。このように、例
えば、従来技術のシステムにおいて、前記サイト12,14
の各々は、前記サイト(即ち、サイト12又はサイト14、
但し、両方ではない)のうちの1つ内のデバイスだけに
関連する情報を格納するそれ自身のコンフィギュレーシ
ョン・データベースを備えている。これらの場合、前記
サイト12,14間の通信回線16を提供することは、これら
のサイト間の通信を可能にすることであって、1つのサ
イトのためのコンフィギュレーション・データベース
は、その他のサイト内のデバイスのコンフィギュレーシ
ョンを反映せず、図2のそれのような、コンフィギュレ
ーション・アプリケーションが、別々のコンフィギュレ
ーション・データベースに格納されたコンフィギュレー
ション・コンポーネントを信号のコンフィギュレーショ
ン階層又はツリーに統合することはない。
【0024】また、従来技術のコンフィギュレーション
・アプリケーションは、ユーザが前記コンフィギュレー
ション階層内で更なる情報のために掘り下げる操作又は
その他の要求を行う都度、ユーザによって要求されてい
る情報を得るためにコンフィギュレーション・データベ
ースに概してアクセスするものである。残念なことに、
実際のデータをコンフィギュレーション・データベース
から読むことは、データを引き出すプロセスの最も遅い
部分である。従って、多数のユーザの各々がコンフィギ
ュレーション階層を見て、前記コンフィギュレーション
・データベースに読み書きすることは、単一のデータベ
ースからこの情報にアクセスすることができることを過
度に遅れさせることになる。このことは、より多くのユ
ーザが一又は複数のリモート通信回線を介して前記シス
テムに加えられるときに悪化し、前記コンフィギュレー
ション・データベースにアクセスすることができるユー
ザの数を増大する。同様に、データをこれらの離れて配
置されたユーザのために引き出すことは、リモート回線
(例えば、図1の通信回線16)に関連する通信における
ボトルネックによって、更に遅らせられる。
【0025】前記データベース30,54および前記プロセ
ス制御システム10内の通信は、前記プロセス制御システ
ム10についてのコンフィギュレーション情報を前記ロー
カル・サイト12およびリモート・サイト14の一方又は両
方における多数のコンフィギュレーション・アプリケー
ションに提供するための多くの方法によって、また、前
記リモート回線16を通じた通信量を低減する方法によっ
て、構成され得、前記プロセス制御システム10の全て又
は任意の部分の統合図を提供し、また、前記コンフィギ
ュレーション情報をプロセス制御システム10内の任意の
位置から変更することを許容する。最初のケースでは、
コンフィギュレーション・データベース(例えば、図1
のコンフィギュレーション・データベース30)のうちの
1つは、全てのコンフィギュレーション項目のマスター
・コピー又はその中のコンポーネントを格納するマスタ
ー・コンフィギュレーション・データベースに指定され
る。その他のコンフィギュレーション・データベース54
は、ブリーフケース・データベースと称され、該ブリー
フケース・データベースは、必要に応じて、マスター・
コンフィギュレーション・データベース30内の情報の幾
つか又は全てにアクセスし、このデータを前記通信回線
16を介してダウンロードし、また、リモート・サイト14
におけるユーザ・インタフェース又はその他のデバイス
にそのデータを見て、変更することを可能にする。変更
されたデータは、その他のユーザが前記マスター・コン
フィギュレーション・データベース30を介して当該デー
タにアクセスをすることを保証する通信回線16を介して
前記マスター・コンフィギュレーション・データベース
30にアップロードされ得る。この場合、必要とされたコ
ンフィギュレーション・データの全てが前記ブリーフケ
ース・データベース54にダウンロードされることがで
き、また、リモート・サイト14においてこのデータベー
ス54からアクセスされ得るので、前記遅い又は小さい帯
域幅の通信回線16を介した前記マスター・コンフィギュ
レーション・データベース30への個々のユーザ・インタ
フェースによる呼び出しは低減される。さらに、ブリー
フケース・データベース52に多数のコンフィギュレーシ
ョン・コンポーネントを一度にダウンロードするプロセ
スは、通信回線16の使用に関しては、少しずつこの情報
をダウンロードしようとすることよりも効率的である。
【0026】別のケースでは、コンフィギュレーション
・データベース54は、マスター・コンフィギュレーショ
ン・データベース30の状態を反映するミラー・データベ
ースであることが可能である。ミラー・データベース54
は、それが生成されるとき、マスター・コンフィギュレ
ーション・データベース30の状態を反映するためにマス
ター・コンフィギュレーション・データベース30からデ
ータの全てをコピーする。この方法によれば、例えばミ
ラー・データベース54内のルーチンは、遅い通信回線16
を介してマスター・コンフィギュレーション・データベ
ース30に定期的にアクセスし、ミラー・コンフィギュレ
ーション・データベース54においてなされた変更をマス
ター・コンフィギュレーション・データベース30に提供
することによって、また、マスター・コンフィギュレー
ション・データベース30になされた変更をミラー・コン
フィギュレーション・データベース54にコピーすること
によって、マスター・コンフィギュレーション・データ
ベース30と整合させる。ここでは、リモート・サイト14
におけるユーザが、遅い回線16を通じた個々のユーザに
よってなされたデータの呼び出しの回数を減らすか又は
該呼び出しを無くすミラー・コンフィギュレーション・
データベース54にアクセスする一方、メイン・サイト12
におけるユーザは、マスター・コンフィギュレーション
・データベース30にアクセスする。
【0027】更に別のケースでは、コンフィギュレーシ
ョン・データの異なる部分は、分散型のコンフィギュレ
ーション・データベースを構築するために、コンフィギ
ュレーション・データベース30,54に格納される。ユー
ザ・インタフェース又はその他のデバイスにおいて実行
されるコンフィギュレーション・アプリケーションは、
ユーザが、見ること、又はこのデータが元々格納され
て、これらのコンポーネントへの変更を予約するデータ
ベースから、操作することを望むコンフィギュレーショ
ン・コンポーネントにアクセスする。1つの実施形態に
おいて、予約(subscription)回線又はスレッドは、各
々のユーザ又はクライアントと、ユーザ又はクライアン
トがコンフィギュレーション・データを引き出すために
アクセスしているデータベースの各々との間で確立され
る。コンフィギュレーション・データベース54に格納さ
れ、ユーザ・インタフェース53(これらの両方ともリモ
ート・サイト14にある)によって予約されたコンフィギ
ュレーション・データに対しては、前記スレッドは、通
信回線16を介した通信を必要としない。しかし、コンフ
ィギュレーション・データベース30に格納され、ユーザ
・インタフェース53(これらは異なるサイトにある)に
よって予約されたデータに対しては、前記スレッドは、
通信回線16を介した通信を必要とする。その結果、前記
サイトにある又はこのデータが最もアクセスされそうで
あるその他の位置にあるコンフィギュレーション・デー
タベース内のコンフィギュレーション・データの各部分
を格納することが望ましい。この方法の詳細は後で更に
説明する。
【0028】ここに記述された技術は、多くの雑音が存
在する中(多数のリトライを引き起し得る)で、遅い又
はリモート通信回線を通じてリモート・システムにコン
フィギュレーションの変更をユーザにさせるための方法
を提供するものである。これらの技術は、また、メイン
・ネットワークから切り離されたプロセス制御システム
の一部を設定するか、又は同一の設定機器から複数のプ
ロセス制御システムを設定するための機構をユーザに提
供するものである。これらの技術は、また、複数のユー
ザに、リモートでシステムの異なる部分のコンフィギュ
レーションについて作業することを可能にし、プロセス
制御システムの開発の全体的な並列性を改善することが
できる。
【0029】プロセス制御システムに用いられるブリー
フケース・データベースの概念について、図3〜図5に
基づいて説明する。概括して言えば、この構成を用いる
プロセス制御システムは、メイン・サイトおよび異なる
リモート・サイトを含む、プロセス制御システムの全て
のサイトのために、コンフィギュレーション・データの
全てを格納するマスター・コンフィギュレーション・デ
ータベースを備えるようになされてある。前記メイン・
サイトおよびリモート・サイトは、衛星又はセルラー回
線のような遅い又は小さい帯域幅の通信回線を介して通
信可能に接続されても、モデム又は電話回線を介して間
欠的に接続されても、又は全く接続されなくてもよい
が、コンフィギュレーション・データを1つのサイトか
ら別のサイトへ転送するために、携帯型コンピュータ又
はその他の携帯型メモリに依存している。一般的に、メ
イン・サイトをリモート・サイトに接続する各リモート
・サイト又はラップトップ若しくはその他のコンピュー
タは、リモート・サイトで使用されるべきマスター・コ
ンフィギュレーション・データベース内の幾つか又は全
てのコンフィギュレーション・データのコピーを格納す
るブリーフケース・データベースを備えており、メイン
・サイトは、マスター・コンフィギュレーション・デー
タベースを備えている。
【0030】前記ブリーフケース・コンフィギュレーシ
ョン・データベースは、ダウンロードおよび格納操作を
用いてユーザによってマスター・コンフィギュレーショ
ン・データベースから初期化される。ダウンロード操作
において、前記ブリーフケース・データベースは、リモ
ート・サイトで作業するために、また、リモート・サイ
トを再設定、変更、デバッグ等するために必要であるマ
スター・コンフィギュレーション・データベース内のデ
ータの一部のダウンロードをコピー又は受信する。前記
ダウンロード操作では、リモート・サイトの状態を見る
こと等、リモート・サイトでの要求操作を実行するため
にユーザによって必要とされるコンフィギュレーション
情報の全てを自動的にダウンロードすることができる。
任意の操作のために必要とされるコンフィギュレーショ
ン・コンポーネントの全てのリストは、生成され、格納
され、また、前記ダウンロードを実行するために使用さ
れることが可能である。これに代えて、ユーザが、リモ
ート・サイトでの動作に必要とされる重要なコンフィギ
ュレーション・オブジェクトを選択するようにしてもよ
く、また、これらの選択されたコンポーネントの親およ
び/又は子供の幾つか又は全部が、ブリーフケース・デ
ータベースに自動的にダウンロードされるようにしても
よい。望むならば、しかしながら、ユーザは、特定のコ
ンポーネントをダウンロードすべく選択することも可能
である。
【0031】このデータがブリーフケース・データベー
スによって使用されている一方、コンフィギュレーショ
ン・データがマスター・コンフィギュレーション・デー
タベース内で変更されることを防ぐために予約操作を使
用する。ブリーフケース・データベースによってマスタ
ー・コンフィギュレーション・データベース内で予約さ
れた項目だけは、リモート・サイトで変更することがで
きる。項目を予約するために、コンフィギュレーション
・アプリケーションは、マスター・コンフィギュレーシ
ョン・データベースに予約メッセージを送信することが
可能であり、そして、予約済であるとしてマスター・コ
ンフィギュレーション・データベース内のこの項目に目
印を付け、他のユーザがマスター・コンフィギュレーシ
ョン・データベース内の該当する項目に変更を行うこと
から防ぐようにしてある。この項目の読み込みの防止を
予約したときには、前記項目を任意にロックすることが
可能である。このようなロック状態は、他人がこの項目
を編集又は予約することを防止する。勿論、要求に応じ
て、前記ダウンロードおよび予約操作を、遅いか、小さ
い帯域幅であるか、又は間欠的な回線を介して実行する
ことも可能である。しかし、コンフィギュレーション・
データの全てが一緒に又は同時にダウンロードされるの
で、このようなダウンロードは、必要に応じて、個々に
基づく遅い又は小さい帯域幅の回線を介してマスター・
コンフィギュレーション・データベースから前記データ
のコピーを得ることよりも効率的である。
【0032】コンフィギュレーション項目をダウンロー
および予約した後に、ブリーフケース・データベース
が、リモート・サイト(ブリーフケース・データベース
が既にリモート・サイトにない場合)へ持っていかれ
て、コンフィギュレーション動作を実行するためにリモ
ート・サイトでコンフィギュレーション・アプリケーシ
ョンによって使用される。特定の操作を実行するのに必
要なコンフィギュレーション情報の全てがブリーフケー
ス・データベースに提供されたので、ブリーフケース・
データベースが直接的にリモート・サイトで使用され得
るか、リモート・サイトでローカル・データベースを構
築するために使用され得る。そして、このローカル・デ
ータベースがリモート・サイトで実行される任意のコン
フィギュレーション・アプリケーションによって使用さ
れ得る。
【0033】一般的に、ブリーフケース・データベース
を使用するコンフィギュレーション・アプリケーション
は、そのブリーフケース・データベースによってマスタ
ー・コンフィギュレーション・データベースから予約さ
れている項目を編集することのみができる。例えば、ユ
ーザが、接続された複合体(linked composite)でモジ
ュールを予約したならば、マスター・コンフィギュレー
ション・データベースは、ブリーフケース・データベー
スへ、モジュールと、そのモジュールの従属物又は子供
の全部とを転送し、前記モジュールを予約するだけであ
る。勿論、前記接続された複合体を、モジュールとして
同様を予約することもできる。ユーザがダウンロード能
力を必要とするならば、システムは、また、ユーザに特
定のノード上でのダウンロード権利を予約させ、ブリー
フケース・データベースで、それらのノードのためのダ
ウンロード記録と状態情報とを含むコンフィギュレーシ
ョン情報を交換させることができる。望むならば、ブリ
ーフケース・データベースを使用するコンフィギュレー
ション・アプリケーションは、ユーザが編集することが
できる項目を明らかに示すように、ブリーフケース・デ
ータベースに格納されるコンフィギュレーション・デー
タを表示することが可能である。例えば、編集可能な項
目は、ソリッド・タイプ(solid type)においてコンフ
ィギュレーション階層ツリー上で確認されることが可能
であり、ユーザが変えることができない全ての項目は、
灰色にされて表示され得る。勿論、どの項目又はコンポ
ーネントが予約されているかについてのその他の方法も
また、同様に使用され得る。上述のように、予約されて
いるマスター・コンフィギュレーション・データベース
の項目は、マスター・コンフィギュレーション・データ
ベースにおいてロックされており、それらの項目を予約
したブリーフケース・データベースによって発生した起
用操作(promote operation、下記)以外には、それに
対しては全く変更がなされないようにすることが可能で
ある。
【0034】ユーザがブリーフケース・データベース内
で予約された項目に変更をした後で、ブリーフケース・
データベースは、それから、起用操作を通じて、マスタ
ー・コンフィギュレーション・データベースと整合させ
ることができ、予約されたコンフィギュレーション・コ
ンポーネントになされる変更は、マスター・コンフィギ
ュレーション・データベースへリリースされて戻され
る。特に、起用操作は、これらの変更が反映されるか又
はマスター・コンフィギュレーション・データベースに
格納されるマスター・コンフィギュレーション・データ
ベースへ、該マスター・コンフィギュレーション・デー
タベースから予約されているコンフィギュレーション項
目を起用する。望むならば、このような操作は、マスタ
ー・コンフィギュレーション・データベース内の項目の
予約解除をする。コンフィギュレーション・アプリケー
ションは、遅い通信回線でのロードを低減するために、
起用されている項目への値又は変更と共にマスター・コ
ンフィギュレーション・データベースに起用メッセージ
を一度に送信することが可能である。勿論、予約および
起用する操作は、コンフィギュレーション・データの単
一の項目(例えば、ライブラリ項目,モジュール、ノー
ド,カード等)についてなされることができる。又はツ
リーの全部のセクションについて(例えば、親の、およ
び、その子供および孫の全部について)なされることが
できる。
【0035】望むならば、コンフィギュレーション・ア
プリケーションは、例えば、ブリーフケース・データベ
ースから予約された項目をエクスポートする、当該エク
スポート・ファイルをジップで圧縮(zip)する、ま
た、マスター・データベース内のノード(即ち、遅い又
は小さい帯域幅の通信回線を介して)へジップで圧縮さ
れたエクスポート・ファイルを転送する等によって、マ
スター・コンフィギュレーション・データベースにブリ
ーフケース・データベースの全体と整合させることが可
能である。マスター・データベースでは、アプリケーシ
ョンは、エクスポート・ファイルをジップで解凍し、任
意の公知の方法によってマスター・データベース内へこ
のファイルをインポートし、マスター・データベースに
おいて使用されるテキスト又はデータ形式のフォーマッ
トへマスター・データベースのための現在の設定を取り
出し、エクスポート・ファイルをジップで圧縮し、ま
た、ブリーフケース・データベースを備えるノードへジ
ップで圧縮されたエクスポート・ファイルを転送し返す
ことが可能である。ブリーフケース・データベースでの
アプリケーションは、それから、エクスポート・ファイ
ルをジップで解凍して、このジップで解凍されたファイ
ルをブリーフケース・データベースへインポートし戻
す。この処理は、マスター・コンフィギュレーション・
データベースおよびブリーフケース・コンフィギュレー
ション・データベース内の項目の全てが同一であること
を保証する。
【0036】さて、図3には、上述の如くブリーフケー
ス・データベースを使用するプロセス制御システム100
のコンフィギュレーション動作を図示してある。プロセ
ス制御システム100は、制御動作を行うコントローラ
(プロセス制御システム)10に接続されたユーザ・イン
タフェース102,104を有するメイン・サイト101を備え
ている。また、ユーザ・インタフェース102,104は、ラ
ンタイム・データ・サーバ(ランタイム・サーバ)108
に接続され、更に、遅い通信回線(例えば、衛星回線,
モデム回線(接続),セルラー回線等)を介して、リモ
ート・サイト111と通信するコンフィギュレーション・
データベース・サーバ(データベース・サーバ)110に
接続されている。また、メイン・サイト101は、データ
ベース・サーバ110によってアクセス可能なマスター・
コンフィギュレーション・データベース112を備えてい
る。同様に、リモート・サイト111は、ランタイム・サ
ーバ118に、また、前記遅い回線を介してメイン・サイ
ト101と通信するコンフィギュレーション・データベー
ス・サーバ120に接続されたユーザ・インタフェース11
4,116を備えている。また、リモート・サイト111は、
ブリーフケース・コンフィギュレーション・データベー
ス122を備えている。ブリーフケース・コンフィギュレ
ーション・データベース112は、リモート・サイト111の
ためのローカル・データベースとして使用されることが
でき、メイン・サイト101でマスター・コンフィギュレ
ーション・データベース112から遅い回線を通じてコン
フィギュレーション情報を得ることが可能である。
【0037】ユーザ・インタフェース114, 116のうち
の1つからのリモート,閲覧,予約,および整合操作を
提供するコンフィギュレーション・アプリケーションを
使用することにより、エンジニアは、マスター・コンフ
ィギュレーション・データベース112からブリーフケー
ス・データベース122へコンフィギュレーション情報を
ダウンロードすることができる。この手順の一部とし
て、ユーザは、マスター・データベース112をコピー
し、マスター・データベース112のためのツリー構造を
コピーし、マスター・データベース112から如何なる構
造をもコピーすることなくローカル又はブリーフケース
・データベースを構築する機会を与えられる。この際
に、マスター・コンフィギュレーション・データベース
112内で、リモート・サイト111におけるユーザは、ま
た、ダウンロードされた情報の幾つか又は全てを予約す
ることができ、これによって、その情報が変更されるこ
と、また、他人がマスター・データベース112内のその
情報を変更しようとすることを防止することができる。
好ましくは、前記ダウンロード操作は、遅い通信回線を
通じて直ぐに必要なコンフィギュレーション情報の全て
を提供する。そして、それは遅い回線を通じて少しずつ
このデータを得ることよりも効率的である。
【0038】その後で、ユーザは、コンフィギュレーシ
ョン・アプリケーションを使用しているリモート・サイ
ト111又はそのコンポーネントと、リモート・サイト111
でのブリーフケース・データベース122とを設定するこ
とができる。望むならば、これに加えて又はこれに代え
て、ユーザがリモート・サイト111からメイン・サイト1
01の一部を設定することもできる。この際に、例えばユ
ーザ・インタフェース116において実行されるコンフィ
ギュレーション・アプリケーションは、ブリーフケース
・データベース122にアクセスすることが可能であり、
ブリーフケース・データベース122内に格納されたコン
フィギュレーション階層若しくはツリーの一部を表示又
は使用することが可能である。ユーザがマスター・デー
タベース112において構造を見たいならば、ユーザは、
整合操作を実行させることができる。遅い回線を介して
マスター・データベース112に、その中の情報の全てに
ついて、ツリー構造について、又はマスター・データベ
ース112内のコンフィギュレーション情報のその他の要
求された部分について照会し、この情報でブリーフケー
ス・データベース122を更新する。予約された項目につ
いてのコンフィギュレーション動作が終了すると、ユー
ザは、変更がマスター・コンフィギュレーション・デー
タベース112に格納されるようにするために、遅い回線
を介してマスター・データベース112へ前記予約された
項目になされた変更を起用することが可能である。
【0039】さて、図4においては、一又は複数のブリ
ーフケース・データベースが、非接続のワークステーシ
ョンからコンフィギュレーション動作を実行するために
使用されることが可能である。特に、図4は、マスター
・コンフィギュレーション・データベース(マスター・
データベース)132,コンフィギュレーション・データ
ベース・サーバ(データベース・サーバ)133,および
これに関連付けられたユーザ・インタフェース134を備
えたメイン・サイト131を含むプロセス制御システム130
を示している。リモート・サイト135,136の各々は、デ
ータベース・サーバ138と、一又は複数のユーザ・イン
タフェースと、コンフィギュレーション・アプリケーシ
ョンを実行することが可能であるワークステーション14
0と、マスター・コンフィギュレーション・データベー
ス132において任意の項目についてのコンフィギュレー
ション動作を実行することが可能である一又は複数のブ
リーフケース・コンフィギュレーション・データベース
142とを同様に備えている。望むならば、ブリーフケー
ス・データベース142は、ユーザ・インタフェース装置1
40のうちの1つ内に存在することが可能である。図3の
システムと同様に、ワークステーション140におけるユ
ーザは、マスター・データベース132に接続するため
に、そこからコンフィギュレーション情報をダウンロー
ドするために、そして、変更されるべき項目の全てにつ
いてマスター・コンフィギュレーション・データベース
132内で予約するために、例えば、インタフェース140の
うちの1つにおいて実行されるコンフィギュレーション
・アプリケーションを使用することが可能である。この
ようなダウンロードは、例えば、ダイアルアップ接続又
は携帯型の取り外し可能な物理的な接続(例えば、ラッ
プトップ・コンピュータ)のような、遅い回線を通じて
又は間欠的な接続を介して実行され得る。何れにして
も、異なるサイト135,136は、マスター・コンフィギュ
レーション・データベース132からブリーフケース・デ
ータベース142へ、同一のコンフィギュレーション情報
の幾つか又は全てをダウンロードする。しかし、異なる
リモート・サイト135,136におけるユーザは、変更すべ
き別々の項目を予約することが可能である。
【0040】ダウンロード手順が実行された後で、コン
フィギュレーション・アプリケーションは、各ブリーフ
ケース・データベース142内で予約されている項目を変
更又は修正するために、ワークステーション140上で実
行されることが可能であり、若干の点で、これらの予約
された項目への変更は、起用手順を使用するマスター・
コンフィギュレーション・データベース132内へアップ
ロードし戻されることが可能である。このように、例え
ば、エンジニアが、どこか他で働くために項目をワーク
ステーション140内へ引き入れ、これらの項目を変更
し、これらの項目のより新しいバージョンをマスター・
データベース132内へ後日起用するために、ブリーフケ
ース・データベース142は、メイン・ネットワーク131か
ら完全に非接続とされた又は遅い通信回線を介して接続
されたワークステーション140上で使用されることが可
能である。同時に構築されるべき多数の異なるブリーフ
ケース・データベース142を可能にすることによって、
コンカレント・エンジニアリングを向上することができ
る。特に、コンフィギュレーション操作が論理的に分け
られ、また、異なるエンジニアによって割り当ておよび
完了されるように、各ブリーフケース・データベース14
2は、マスター・コンフィギュレーション・データベー
ス132内のコンフィギュレーションのサブセットを含む
ことが可能である。
【0041】望むならば、新しいコンフィギュレーショ
ン・データを、異なるブリーフケース・データベース14
2間でデータが流れるのを可能にするために、マスター
・データベース132へ定期的に起用し戻すことができ
る。例えば、実際には、1人のエンジニアが1つの設備に
取り組み、他の人がその設備を作動している制御モジュ
ールに取り組むことが可能である。後者は、制御モジュ
ールのコンフィギュレーション・コンポーネントを完了
する前に、設備のコンフィギュレーション・コンポーネ
ントの最終的なバージョンを必要とする。しかし、最終
的な設備定義については、前者のエンジニアが、前記設
備定義を完了し、マスター・データベース132内へこの
定義の内容を起用した後で、マスター・データベース13
2から引き出すことができる。
【0042】図5は、ブリーフケース・データベースが
有利に使用されることが可能であるプロセス制御システ
ム145の別の例を示す。該プロセス制御システム145は、
データベース・サーバ148,ユーザ・ワークステーショ
ン149,およびランタイム・サーバ150に接続されたマス
ター・コンフィギュレーション・データベース(マスタ
ー・データベース)147を有する制御室を備えている。
また、前記システム145は、LAN接続(共有LANを含む任
意の種類のLAN接続であることが可能である)により制
御室に接続され、データベース・サーバ152およびラン
タイム・サーバ154を有するプラント・フロアを備えて
いる。また、前記プラント・フロアは、これに接続され
た又はこれが備えるブリーフケース・データベース156
(例えば、ラップトップ・コンピュータ158又はその他
のコンピュータ,ユーザ・インタフェース,又は例えば
プラント技術者又はエンジニアがプラント・フロアで変
更を行うことによって使用されるワークステーション)
を備えている。プラント・フロアにおけるユーザは、LA
Nを介してマスター・データベース147に格納されたコン
フィギュレーション・データの項目を得るために、ま
た、これらの項目の少なくとも幾つかを予約するため
に、コンピュータ158からコンフィギュレーション・ア
プリケーションを実行させることができる。その後で、
プラント・フロアでコンフィギュレーションの変更をす
るためにコンフィギュレーション・アプリケーションで
必要とされるその他の任意の項目と共に、予約された項
目が、ブリーフケース・データベース156に一旦ダウン
ロードされたときに、前記プラント・フロアにおけるユ
ーザは、予約された項目に変更をするためにローカル又
はブリーフケース・データベース156を使用してコンフ
ィギュレーション・アプリケーションを実行させること
ができ、また、LANを介してマスター・データベース147
へこれらの変更を起用することができる。この処理は、
マスター・データベース147に共有LANを通じて多数の呼
び出しをする必要性を排除するが、能率が悪い。
【0043】同時に、家庭におけるユーザは、データベ
ース・サーバ164を介してマスター・データベース147に
接続されたコンピュータ160およびブリーフケース・デ
ータベース162を備えることが可能であって、例えば、
ダイアルップ・モデムであり得る。このユーザは、モデ
ム164を介してマスター・データベース147からコンフィ
ギュレーション・データを得ることができ、この情報を
ブリーフケース・データベース162に格納することがで
き、また、このユーザが変更を要望する項目を予約する
ことができる。完了すると、家庭におけるユーザは、暇
なときに、ブリーフケース・データベース162内でコン
フィギュレーション情報を操作するコンフィギュレーシ
ョン・アプリケーションを実行し、ダイアルップ・モデ
ムを介してマスター・データベース147へ変更を起用す
ることができる。
【0044】望むならば、例えば、ユーザは、2つの異
なるプロセス制御システムに変更をしたいと要望すれ
ば、同一のブリーフケース・データベースにおける異な
るプロセス制御システム,サイト等に関連する情報をダ
ウンロード又は配置することができる。このような状況
においては、複数のブリーフケース・データベースは、
1つのコンピュータに格納されることが可能であり、こ
の1つのコンピュータが同じプロセスの異なるサイトを
設定するか、異なるプロセスに関連する異なるサイトを
設定するために使用され得る。一般的に、このようなコ
ンピュータは、コンフィギュレーション・アプリケーシ
ョンを格納および実行し、コンフィギュレーション・デ
ータベースを有するラップトップ又はその他の携帯型コ
ンピュータであって、アプリケーションにロードおよび
アクセスするデータベースを伴っている。
【0045】望むならば、図1および図3〜図5の任意
のシステムのマスター・データベースは、コンフィギュ
レーション項目への変更に対するソース制御を提供する
ために、そこにコンフィギュレーション項目の改訂履歴
を自動的に格納することが可能である。同様に、ブリー
フケースのバージョンが変更され、起用動作が実行され
る必要があることを示すために、修正されているブリー
フケース・データベース内の項目は、それに付けられた
視覚的なチェックマークを有するように表示されること
が可能である。
【0046】ブリーフケース・データベースを提供する
代わりに、ミラー・データベースは、プロセス制御シス
テムのリモート・サイトに保持されることが可能であ
る。前記ミラー・データベースは、2つのデータベース
(即ち、整合されたリモート・データベースおよびマス
ター・データベース)を保持することによってブリーフ
ケースのモデルを拡張するものであって、例えば、遅い
回線を通じてデータベースを編集することが実現可能で
はない陸上/沖合でのプロセス制御構成においては、望
ましいことである。また、前記ミラー・データベース
は、冗長性をサポートするために使用されることが可能
である。ミラー・データベースにおいて、例えば、ライ
ブラリ,セットアップ,および制御データを含む全ての
コンフィギュレーション項目は、マスター・データベー
スからミラー・データベースによって予約される。この
ような予約は、望むならば、ここで図7〜図15に関連
して記述される方法において実行されることが可能であ
る。さらに、コンフィギュレーション項目がミラー・デ
ータベースにおいて編集される際、当該コンフィギュレ
ーション項目は、マスター・データベースから自動的に
予約される。このように、前記ミラー・データベースに
おける編集は、その項目を予約するために、遅い通信回
線を通じて、メッセージをマスター・コンフィギュレー
ション・データベースへ自動的に送信する。予約操作が
マスター・コンフィギュレーション・データベース内の
その項目のロックのために失敗した場合、前記ミラー・
データベース内の編集は防止される。その後の適当な時
間で、変更がミラー・データベースにおいてなされた後
で、コンフィギュレーション項目は、ミラー・データベ
ースからマスター・コンフィギュレーション・データベ
ースへ起用し戻される。このような起用動作は、変更が
なされるとき、定期的な時間単位で(例えば、10分毎
に、又は起用動作を実行するためのユーザ・コマンドに
応じて手動で)、自動的に達成されることが可能であ
る。
【0047】逆に、マスター・データベースへのミラー
・データベースによる予約のために、マスター・コンフ
ィギュレーション・データベースへの変更は、直ちに強
制されるか、又は前記遅い通信回線を通じてミラー・デ
ータベースに送信される。ミラー・データベースととも
に、通信回線がダウンしているときには、両方のデータ
ベースは独立して動作することができる。しかし、前記
通信回線が回復されたときには、前記データベースへの
変更は手動で統合されなければならない。一般に、複数
のミラー・データベースは、同一のマスター・データベ
ースの予約者として存在することができる。ミラー・デ
ータベースおよびマスター・データベース間の接続の予
約特性のために、ミラー・データベースが一旦確立され
た場合、ミラー・データベースおよびマスター・データ
ベース内のデータへの変更だけが、遅い又は小さい帯域
幅の通信回線を通じて送信される必要がある。そして、
それは、ミラー・データベースのユーザの各々によって
必要に応じて少しずつコンフィギュレーション・データ
をダウンロードしようとすることよりも効率的である。
【0048】マスター・コンフィギュレーション・デー
タベースと、又はこのセットアップに加えて、定期的に
整合させることが可能である単一のマスター・コンフィ
ギュレーション・データベースおよび一又は複数のブリ
ーフケース又はミラー・データベースを有する代わり
に、コンフィギュレーション・データの異なるコンポー
ネントがプロセス制御システムの異なる物理サイトに存
在する異なる物理データベースに格納されるように、コ
ンフィギュレーション・データベースは、プロセス制御
システムの異なる部分に亘って分散されることが可能で
ある。この分散型のコンフィギュレーション・データベ
ースが、2つ以上の地理的に離隔したサイト又は位置に
関連するコンフィギュレーション情報を一つに統合する
ことに使用されることが可能であり、また、プロセス制
御システム全体の継ぎ目の無い表示を提供することが可
能である。ここで、この継ぎ目の無い表示とは、異なる
サイト又は位置の各々におけるプロセス制御コンフィギ
ュレーションのコンポーネントの幾つか又は全部を含む
ことが可能である。
【0049】図6は、異なる論理的なおよび/又は物理
的な位置に関連付けられたコンフィギュレーション・デ
ータベースの階層を有するプロセス制御システム170を
示す。該プロセス制御システム170は、Zone A 172,Zon
e B 174,およびZone C 176と名付けられた3つのゾーン
と、Site 1 180およびSite 2 182と名付けられた2つの
サイトと、企業ネットワーク(企業システム)184とを
備えている。ゾーン172,174は、コンフィギュレーショ
ン・データベース172a,174aをそれぞれ備えており、こ
れらのゾーン172,174は、例えば、衛星,モデム,その
他の遅く小さい帯域幅であるか、又は間欠的な通信回線
を介して、サイト180に通信可能に接続されている(ゾ
ーン172,174とサイト180との間で実線により示す)。
同様に、ゾーン176は、コンフィギュレーション・デー
タベース176aを備え、任意の好ましい通信回線を介して
サイト182に通信可能に接続されている。さらに、サイ
ト180,182は、コンフィギュレーション・データベース
180a,182aをそれぞれ備え、任意の好ましい通信回線を
介して企業システム184に接続されている。また、該企
業システム184は、コンフィギュレーション・データベ
ース184aを備えている。
【0050】ゾーン172,174,176の何れかのように、
ゾーンは、概して論理的であり、多くの場合に大きい制
御システムの物理的な区域であることが可能である。こ
のように、ゾーンは、一般に外界との繋がり無しで機能
することができる。ゾーンは、例えば、特定の地理的な
位置での相互接続されたデバイスを有する任意の従来の
プロセス制御システムであることが可能である。サイト
(サイト180,182の何れか)は、エリア,範囲等の論理
的な定義であって、これとともに関連付けられる任意の
数のゾーンを有することが可能である。企業システム18
4は、プロセス制御システム170内のコンフィギュレーシ
ョン・データベースの階層内の最も高水準のシステムで
あって、前記サイトの各々に、また、それによって、プ
ロセス制御システム170内のゾーンの各々に通信可能に
接続されている。勿論、その他のサイト,ゾーン,およ
びエリア、又はその他の論理的な単位は、遅い又はその
他の通信回線を介して、プロセス制御システム170の階
層に相互接続されることができる。そして、任意のゾー
ン,サイト,エリア等のコンフィギュレーション・デー
タベースがその他の任意のゾーン,サイト,エリア等か
ら、2つ以上の通信回線の一又は一連のものを介してア
クセスできる限り、プロセス制御システムの異なる地理
的な位置は、その他の方法で相互接続されることが可能
である。また、図6の分散型のコンフィギュレーション
・データベースの階層が3つのレベル(ゾーン,サイ
ト,および企業)を含んでいるが、2つのレベル又は4つ
以上のレベルを代わりに使用することもできる。
【0051】図6に示す如く、プロセス制御システム17
0の各部分は、これに関連付けられたコンフィギュレー
ション・データベースを有し、プロセス制御システム17
0全体のためのコンフィギュレーション情報又はそれの
異なる要素(コンポーネント)は、データベース172a,
174a,176a,180a,182a,184aを介して分散される。好
ましい実施形態において、前記コンフィギュレーション
・データ又はコンフィギュレーション・コンポーネント
は、そのデータがユニークな名前を付けられている企
業,サイト,およびゾーンによって形成される階層にお
いて最も低いレベルで、コンフィギュレーション・デー
タベースに格納される。このように、例えば、プロセス
制御システム170において、何処にでも使用され得るデ
バイスとソフトウェア・コンポーネントとのテンプレー
トを格納することが可能であるライブラリ・データは、
概して、階層において(例えば、企業システム184のコ
ンフィギュレーション・データベース184aにおいて)最
も高いレベルに格納され、また、最も高いレベルからア
クセスできる。同様に、ライブラリ・コンフィギュレー
ション・コンポーネントとサイトのシステム・コンフィ
ギュレーションとに関連する情報は、ゾーンにおける特
定のデバイス,制御モジュール等に関連するコンフィギ
ュレーション情報が、そのゾーンのコンフィギュレーシ
ョン・データベースに格納される一方、前記サイトのコ
ンフィギュレーション・データベースに格納されること
が可能である。さらに、このコンフィギュレーション情
報がそのゾーン内の物理的なデバイスに直接関連がある
ので、制御のコンフィギュレーション情報は、ゾーン・
コンフィギュレーション・データベースに概して格納さ
れる。概括して言えば、目標は、このコンフィギュレー
ション・データが最もアクセスされそうであるように、
又はコンフィギュレーション・データの任意の特定の部
分がプロセス制御システム170のその他の位置における
ユーザによって容易に見つけられるように、データベー
スの階層のコンフィギュレーション・データベース内の
任意の特定の部分を格納することにある。
【0052】図6に示した分散型のコンフィギュレーシ
ョン・データベースの方法によれば、プロセス制御シス
テム170のゾーン,サイト,エリア等のうちの任意の1つ
内で動作するコンフィギュレーション・アプリケーショ
ンは、同一のサイト,ゾーン等、および/又はその他の
サイト,ゾーン等に配置されることが可能である一又は
複数のコンフィギュレーション・データベースから、コ
ンフィギュレーション・データにアクセスし、また、プ
ロセス制御システム170の現在の状態を示すために、又
はその他の何らかのコンフィギュレーション操作を実行
するために必要であるとして、そのデータにアクセスす
る。このように、図6のゾーン,サイト,又は企業シス
テムのうちの何れから実行されるコンフィギュレーショ
ン・アプリケーションは、プロセス制御システム170の
任意の部分又は全部の現在のコンフィギュレーションの
表示を生成するために、異なるコンフィギュレーション
・データベースの何れかに格納されたコンフィギュレー
ション・データにアクセスすることができ、また、プロ
セス制御システム170のサイト,ゾーン等の何れかの要
素(コンポーネント)の何れかを再設定可能にすること
もできる。分散型のコンフィギュレーション・データベ
ース(例えば、図6に示したもの)は、遅い通信回線を
通じて発生する必要がある通信量を減少させる傾向があ
る。それは、概して言って、サイト又はゾーンにおける
ユーザは、異なるサイト又はゾーンのそれよりもむしろ
そのサイト又はゾーンのコンフィギュレーション・デー
タを見て、使用して、また、変更しそうであるからであ
る。即ち、より少ない読み書きが一又は複数の遅い通信
回線を介してその他のゾーン又はサイトからやって来る
が、サイト又はゾーン内のコンフィギュレーション・デ
ータベースへの読み書きの殆どは、そのサイト又はゾー
ン内のユーザ・インタフェースからやって来るのであ
る。しかし、プロセス制御システム170の任意の部分の
コンフィギュレーション情報の全てに対しては、プロセ
ス制御システム170のその他の任意の部分におけるユー
ザ・インタフェース又はその他のデバイスが依然として
利用可能である。
【0053】異なるゾーン,サイト等の間での通信を可
能にするために、前記システム内の各データベースは、
コンフィギュレーション階層の一般的なセットアップに
関連する情報を格納することが可能である。例えば、各
データベースは、全ての位置でのコンフィギュレーショ
ンに共通である幾つかのオブジェクト・ルーツ(object
root)を格納することが可能であり、これらのルーツ
に関する更なるコンフィギュレーション情報を有する特
定のデータベースを示す、又はこの情報を求めるために
次のデータベースを示す、ポインタを格納することが可
能である。このように、Zone A 172におけるユーザは、
ルーツ・オブジェクトにアクセスし、そのルーツの子供
を要求しようとすることが可能である。これに応じて、
コンフィギュレーション・データベース172aは、選択さ
れたルーツのためのポインタを見ることによって、子供
が格納されているデータベースを見つけることが可能で
ある。そして、このポインタは、そのルーツのためのデ
ータが企業システム・データベース184aからアクセスさ
れなければならない、又は「Site 1」データベース180a
がそのデータへ更なるポインタのためにアクセスされな
ければならないことを示すことが可能である。データベ
ース172aは、遅い回線を介したデータベース180aの読み
出しをさせ、データベース180aに企業システム・データ
ベース184aの読み出しを実行させることが可能なであ
る。勿論、企業システム・データベース184aは、「Site
2」データベース182aにアクセスする必要がでてくる可
能性があり。そのデータのために「Zone C」データベー
ス176aにアクセスする必要がでてくる可能性がある。代
わりに、ブラウザ又はスニッフ・アプリケーション(sn
iffing application)は、例えば、「Zone A」データベ
ース172aを、分散型のコンフィギュレーション・システ
ム170内のコンフィギュレーション・データの任意の特
定の部分の位置を見つけるために「Site 1」データベー
ス又はその他のデータベースを閲覧することが可能なよ
うにするために、各データベースに提供されることが可
能である。
【0054】望むならば、システム170内の各データベ
ースは、元々異なるサイト,ゾーン等に格納されたデー
タのローカル・コピーを格納することが可能である。特
に、特定のデータベースに格納されないデータに対する
要求が受信された場合、該データベースは、そのデータ
を異なるデータベースから引き出すことが可能であり、
このデータを取り戻すことに際して、直接、データベー
ス(例えば、同じサイト又はゾーンにおけるユーザ)に
接続されたユーザによって使用されるように、又はデー
タベースの階層内の他のデータベースによる要求に応じ
て送信されるように、それをローカルに格納することが
可能である。このように、上の例では、データベース18
0a,184a,182aの各々は、「Zone C」データベース176a
に元々格納されたコンフィギュレーション・データのロ
ーカル・コピーを格納することが可能であり、これは、
そのデータがZone Aで「Zone A」データベース172a又は
ユーザによって要求されたからである。
【0055】任意のユーザ・インタフェースで表示され
た特定のコンフィギュレーション表示のためのコンフィ
ギュレーション・データの幾つか又は全部が、一又は複
数の遅い通信回線を介してアクセスされなければならな
いかも知れないので、同一のサイト若しくはゾーン又は
異なるものの何れかにおいて、別のユーザによってコン
フィギュレーション情報になされた変更を基準として、
特定のユーザ・インタフェースで表示されたコンフィギ
ュレーション・データが新鮮ではないか又は古くなる状
況に出くわすことがある。各コンフィギュレーション・
アプリケーションが画面上に提示されているコンフィギ
ュレーション情報をリフレッシュ(refresh)するため
に適当なコンフィギュレーション・データベースに定期
的にアクセスすることができる。この周期的なリフレッ
シュは、遅い通信回線を通じて発生する筈の、また、コ
ンフィギュレーション・データベースからの読み出しを
増加する、通信量を実質的に増大し、プロセス制御シス
テム170内の通信を遅くし、そのコンフィギュレーショ
ン・データベースの各々へのロードを増加する。
【0056】この問題を解決するために、コンフィギュ
レーション・データにアクセスしている各コンフィギュ
レーション・アプリケーションは、画面上に表示されて
いる(又は使用されている)各コンフィギュレーション
・コンポーネントのために、適当なコンフィギュレーシ
ョン・データベースを予約することが可能である。そし
て、このデータを格納するコンフィギュレーション・デ
ータベースは、コンフィギュレーション・データベース
内で前記情報になされた如何なる変更をも各予約のコン
フィギュレーション・アプリケーション(クライアン
ト)に自動的に通知する。それから、これらの変更は、
例えばユーザ画面上に表示されるべきクライアントに自
動的に送信されることが可能であるか、又はユーザによ
って要求されることが可能である。このように、たとえ
何処にこの情報を使用するクライアント・アプリケーシ
ョンがプロセス制御システム170内で位置しようとも、
各コンフィギュレーション・アプリケーション(例え
ば、各画面上に示されている情報の各部分)によって使
用されているコンフィギュレーション情報は最新であ
る。
【0057】勿論、クライアント・アプリケーションが
コンフィギュレーション情報の特定の部分をもはや必要
としないとき、即ち、例えば、ユーザがもはやコンフィ
ギュレーション階層におけるコンフィギュレーション情
報の特定の部分を見たくないときには、コンフィギュレ
ーション・アプリケーションは、変更通知および更新が
予約中のコンフィギュレーション・アプリケーションに
もはや送り返されないように、その情報の部分を格納す
るコンフィギュレーション・データベースから予約解除
する。このように、コンフィギュレーション・アプリケ
ーションは、例えば、図2のツリー65内におけるコンフ
ィギュレーション情報の各部分を格納するコンフィギュ
レーション・データベースを見つけ、必要に応じて一又
は複数の遅い通信回線を通じてその情報を取り出し、こ
の情報が格納されるコンフィギュレーション・データベ
ース内における該情報になされた更新を受信するために
その中の情報の各部分を予約し、受信に際しては、表示
された情報(見られているシステムのコンフィギュレー
ションへの変更をしている別のユーザによるものである
ことが可能)を更新し、新しい又は更新された情報を表
示する。ユーザ又はオペレータが、表示されているコン
フィギュレーション・ツリーのセクションを掘り下げて
いくならば、コンフィギュレーション・アプリケーショ
ンは、同様に、新しい情報にアクセスし、この情報を予
約し、そして、この情報を表示する。表示された情報の
幾つかがユーザ画面から落とされるならば、コンフィギ
ュレーション・アプリケーションは、落とされたデータ
からの予約を解除する。
【0058】望むならば、得られる(例えば、特定のユ
ーザ・インタフェースの画面上で見られる)コンフィギ
ュレーション情報の全ては、ローカル・キャッシュ又は
実行されているコンフィギュレーション・アプリケーシ
ョンに関連したメモリに格納されることが可能である
か、前記アプリケーションが実行されているゾーン,サ
イト等内のコンフィギュレーション・データベースに格
納されることが可能である。そして、適当なデータベー
スとの接続を失った場合には、そのサイト,ゾーン等に
おけるユーザは、ローカル・キャッシュからこのコンフ
ィギュレーション情報をまだ引き上げることが可能であ
る。しかし、ユーザがこの情報が最新ではないことを知
るように、この情報は、ローカル・キャッシュ(例え
ば、灰色表示のような)から来たこの情報を示すように
表示されることが可能である。一又は複数の遅い回線を
介して既に得られたコンフィギュレーション・データを
格納するためのこのようなローカル・キャッシュを使用
することは、通信線又は回線がダウンした場合に、ユー
ザに対して、該ユーザによって既に見られるた又はアク
セスされた任意のコンフィギュレーション情報を見るこ
とを可能にする。また、ユーザがその画面から落とされ
た情報を見たいならば、この情報は、該情報のために適
当なコンフィギュレーション・データベースとの接続が
その情報を更新するために再確立されている間、それを
より速く表示させるためにローカル・キャッシュから引
き出されることが可能である。
【0059】図6が遅い回線を介して相互接続されるよ
うなサイトおよびゾーンの各々を示しているが、このよ
うな構成は必須ではない。例えば、サイトのためのコン
フィギュレーション・データベースは、ゾーンにあるか
も知れず、遅い通信回線を介してそのサイトに関連した
その他のゾーンへアクセスできれば、そのゾーンから直
接アクセスできるかも知れない。例えば、図6で図示さ
れるような分散型のコンフィギュレーション・データベ
ースを確立するために、Zone A 172におけるユーザは、
「Zone A」データベース172aと同じマシン上で又は直接
の高速接続を通じて「Zone A」データベース172aに接続
している異なるマシン上でサイト・データベース(即
ち、「Site 1」データベース180a)を構築することが可
能である。代わりに、「Site 1」データベース180aは、
遅い回線を介して「Zone A」データベース172aに接続し
ていることが可能である。ユーザは、「Site 1」データ
ベース180aにおよび/又は企業システム・データベース
184aにZone Aでライブラリおよびセットアップデータの
幾つか又は全てを公開する。その後で、Zone A 172での
データベース172aは、ユーザ又はZone A 172内のアプリ
ケーションがそれらの項目を必要とするか、又はそれら
の項目にアクセスしたいときに、「Site 1」データベー
ス180a,企業システム・データベース184a等内でコンフ
ィギュレーション項目のうちの1つ以上に自動的に予約
することが可能である。望むならば、システム170の如
何なるコンフィギュレーション・データベースであって
も、そのシステムのその他のコンフィギュレーション・
データベースのうちの1つ以上内で、コンフィギュレー
ション情報の幾つか又は全てに常を予約することができ
る。
【0060】次に、Zone B 174におけるユーザは、Zone
B 174のためのサイト・データベースとしてZone Aにお
けるユーザによって構築される「Site 1」データベース
180aを選択することが可能である。それから、同一の名
前の項目が「Site 1」データベース180aおよび「Zone
B」データベース174a内に存在するような衝突に終わり
得る「Site 1」データベース180aにおいて、Zone B 174
におけるユーザは、ライブラリおよびセットアップデー
タの幾つか又は全てを予約する。コンフィギュレーショ
ン・アプリケーションは、Zone B 174におけるユーザへ
この問題について通知することが可能であり、Zone B 1
74のユーザは、「Site 1」データベース180aにおける項
目を予約する前に、ローカルの項目の名前を変えるオプ
ションを与えられることが可能であるか、ローカルの項
目に上書きすることが可能である。加えて、Zone B 174
におけるユーザは、「Site 1」データベース180aに項目
を公開することが可能であり、そして、その後で、Zone
A 172は、「Zone A」が予約する「Site 1」データベー
ス180aへの追加を知らせられ、それから、これらの追加
のコンフィギュレーション項目を予約することが可能で
ある。勿論、企業/サイト階層は、サイト180,182の間
と、ゾーン172,174,176の間とでの通信を可能にする
ために、同様の方法で設定される。
【0061】Zone A 172およびZone C 176間の接続を確
立するために、例えば、Zone A 172におけるユーザがZo
ne C 176のデータベース176aに格納されたコンフィギュ
レーション・コンポーネントを見たいとき、この情報を
予約し、Site 2 182からこの情報を予約する企業システ
ム・データベース184aにこの情報を公開する「Site 2」
データベース182に、「Zone C」データベース176aはこ
のデータを公開する。Zone A 172が「Site 1」データベ
ース180からこの情報を予約する一方、Site 1 180は、
企業システム・データベース184aからこの情報を予約す
る。確立された予約者関係は、それから、「Zone C」デ
ータベース176aに格納されたコンフィギュレーション・
コンポーネントへの変更について、Zone A 172における
クライアント又はユーザに通知するために使用されるこ
とが可能である。上述のように、ゾーン,サイト等は、
項目について個々に、又は親および関連する子供の全て
を含むオブジェクトのサブ・ツリー全体を予約すること
ができる。また、予約は、これらの項目をローカル・ゾ
ーンのコンフィギュレーション・データベースに加え、
公開された項目とローカル・コピーとの間の進行中の通
信関係を確立して、項目のコピーをとることを課すこと
が可能である。本来の情報がどこに格納されたかについ
て、予約中のデータベースがトラッキングする一方、公
開者のデータベースは、予約者についてトラッキングす
ることが可能である。このソース/デスティネイション
(source/destination)情報が、コンフィギュレーショ
ン・データベース内の項目の予約を指示して、リモート
位置から変更をなすために使用され得る。同様に、デー
タベースがバックアップから回復しなければならないな
らば、この情報は、公開/予約関係を再確立するために
使用されることが可能である。
【0062】勿論、ゾーン間の通信は、該ゾーン間の遅
い通信回線の存在のために必ずしも保証されることがで
きないので、通信回線がダウンしているときには、ゾー
ンは独立して機能し続ける。しかし、通信が再確立され
るとき、如何なる衝突であっても手動で解決されなけれ
ばならない。
【0063】ゾーン,サイト,および企業の間の通信
が、公開又は予約単位で実行されると言える。ここで、
一又は複数の予約者がその項目を予約するときに、コン
フィギュレーション項目のマスター・コピーを有するコ
ンフィギュレーション・データベースが、その項目を公
開する。予約者は、例えば、異なるサイト又はゾーン内
のユーザ・インタフェース(例えば、ワークステーショ
ン又はその他のコンピュータ)において実行されるコン
フィギュレーション・アプリケーションであることが可
能であり、これらのサイト又はゾーン内のデータベース
(それらのゾーンにおいて実行されるコンフィギュレー
ション・アプリケーションによって使用される)である
ことが可能であり、又はコンフィギュレーション・デー
タを使用するその他の任意のデバイス又はアプリケーシ
ョンであることが可能である。その他のサイト又はゾー
ンによって予約され得るデータベース内の項目は、共有
オブジェクトと呼ばれる。勿論、次のような異なる種類
の操作が共有オブジェクトについて行われることが可能
である。1)閲覧:予約者のコンフィギュレーション・
アプリケーションが、公開者から入手可能な共有オブジ
ェクトのリストを見ること。2)予約:予約者のコンフ
ィギュレーション・アプリケーションが、予約者の位置
でのコンフィギュレーション動作に使用される前記共有
オブジェクトのローカル・コピーを要求すること。3)
ローカル・オブジェクトへのコピー:予約者のコンフィ
ギュレーション・アプリケーションが、項目を非共有ロ
ーカル・オブジェクト又はデータベースへコピーするこ
と。4)削除:予約者のコンフィギュレーション・アプ
リケーションが、公開者において共有例を削除するこ
と。5)予約解除:予約者のコンフィギュレーション・
アプリケーションが、予約者でのコンフィギュレーショ
ン項目のローカル・コピーと、公開者のコピーとの間の
予約リンクを切断すること。6)変更の取り出し:予約
者のコンフィギュレーション・アプリケーションが、公
開者から共有項目の最新のバージョンを取り出すこと。
7)予約:予約者のコンフィギュレーション・アプリケ
ーションが、このオブジェクトが別のユーザによって変
更されるのを防止するために、共有オブジェクトを公開
者のデータベースにロックすること。8)起用:予約者
のコンフィギュレーション・アプリケーションが、予約
された項目になされた変更を公開者のデータベースに戻
すこと。これらの操作は、予約者と公開者との間でメッ
セージを送信することによって、また、メッセージを扱
い、上記定義のような適切な動作をとるために、予約者
の位置と公開者の位置とでソフトウェアを実行すること
によって行われ得る。
【0064】コンフィギュレーションの観点からは、セ
ットアップおよびライブラリ・データを共有すること、
別のゾーンからセットアップ,ライブラリ,およびコン
フィギュレーション・データを閲覧又は見ること、ゾー
ン間において、ゾーン間関係およびネーム空間調整を設
定することとを含む、幾つかのゾーン間動作がある。1
つの実施形態において、コンフィギュレーション・オブ
ジェクト又は項目は、階層内の直近の親から共有され
る。例えば、ゾーン172,174は、サイト180から合成定
義(composite definition)を共有し、全てのゾーン
は、企業システム184から設定される共通の一覧表を共
有する。ゾーン176がサイト182で定義を予約する一方、
ゾーン172,174は、サイト180で定義を予約する。同様
に、両サイト180,182は、企業システム184において共
通の定義を予約する。
【0065】閲覧サービスは、企業/サイト/ゾーン階
層においてサーバを見つけるために、また、それらの位
置のうちの1つに関連付けられたコンフィギュレーショ
ン・データベースを閲覧するために、コンフィギュレー
ション・アプリケーション内に提供される。閲覧サービ
スは、共有オブジェクトへの予約をセットアップし、ゾ
ーン間リファレンスを設定するために利用される。特
に、閲覧情報は、ユーザ要求に応じてリモート・サーバ
から照会され、ローカルにキャッシュされる。閲覧ルー
ツ(browse root)は、ネットワークをスニッフィング
(sniffing)することによって検出可能であるか、又は
その他の任意の好ましい若しくは公知の閲覧技術を利用
して検出可能である。検出された又は設定された閲覧ル
ーツについての知識は、持続的であってもよく、電源ス
イッチを切って直ぐに入れなおすこと(power cycle)
を通じてもキャッシュされたままでいる。これらのコン
フィギュレーション・オブジェクトのルーツの存在は、
ユーザに対して、分散型のコンフィギュレーション階層
内のこの情報の位置又はこの情報への経路を見つけるた
めに、前記ルーツに関連付けられたその他の情報を閲覧
することを可能にする。
【0066】ゾーン間リファレンスは、直接的にリファ
レンスを入力することによって、又はリモート・データ
ベースにおける属性を閲覧することによって、設定され
ることが可能である。リファレンスは、例えば、「//Zo
neName/Taggedltem/…/AttributeName」のような形式又
はその他の任意の好ましい形式をとることが可能であ
る。ゾーン名は、ゾーン間リファレンスを解決するため
に企業階層内でユニークでなければならないと言える。
各ゾーン内には、タグを付けられた項目のためのネーム
空間があり、コンフィギュレーション・システムは、ゾ
ーン内でタグのユニーク性を強要され得る。このよう
に、各コンフィギュレーション・アプリケーションは、
分散型のコンフィギュレーション・データベース内の名
前付けにおいて、ユニーク性を強要されるのに合わせ
て、タグがサイトか企業内でユニークかどうかについて
判断するツールを有することが可能である。
【0067】望むならば、ゾーン間の安全は、任意の好
ましい方法で提供されることが可能であり、ゾーン管理
者は、ユーザ,グループ等のための共有オブジェクトへ
アクセスする権限が与えられ得る。このような権限は、
閲覧して共有オブジェクトを予約する能力と、オブジェ
クト又はコンフィギュレーション項目のための変更を公
開者から引き出す能力と、変更を予約,修正,および起
用する能力とを含むことが可能である。
【0068】また、望むならば、異なるゾーンは、異な
る言語を使用することが可能である。これは、会社が多
くの異なる言語を使用している地域、例えば、ヨーロッ
パにおいて有益である。この場合、一覧化された値は、
数値として、又は異なる言語で同一の単語又はフレーズ
のためにプロセス制御システムを通じて共通である数値
とともに表示されることが可能であるローカル・データ
の文字列(例えば、単語)として、ゾーン間を通過する
ことが可能である。このように、ユーザは、1つの言語
から他の言語への変換の容易性を可能にする、それに応
じた数値によって、一覧化された値,コマンド等を特定
することが可能である。何れにしても、異なる言語を使
用するデータベースを閲覧するためには、関連するフォ
ントが閲覧マシン又はゾーン上にインストールされるこ
とが必要である。1つの実施形態において、ゾーン間リ
ファレンスは、リモート・ゾーンの言語で設定される。
そして、ユニコード・ストリング(Unicode)は、ユニ
コードによってサポートされた任意のキャラクタについ
ての検出又は変換を可能にするために排他的にシステム
を通じて使用される。この場合、単一のデータベース
は、複数の言語のストリングを格納することが可能であ
り、データベースのエクスポート・ファイルは、ユニコ
ード・フォーマットに交換される。言い換えれば、異な
るローカルからのファイルは、ユニコード・フォーマッ
トを使用して各データベースにインポートされる。
【0069】修正が干渉無しに実行され得ることを保証
するために、共有データへの修正が上述した予約/起用
手順の対象となることが可能である。この場合、項目が
修正され得る前に、修正するユーザは、該ユーザのゾー
ンへこの項目を予約しなければならない。1人のユーザ
又はゾーンだけが、任意の特定の時間にでも項目を予約
することができる。項目が予約された後で、この項目を
予約したローカル・データベースにおいて、変更が当該
項目になされる。そして、この項目を予約したユーザに
よって、このような変更が新しいコンフィギュレーショ
ン動作の結果としてなされる。その後で、予約され、修
正された項目又は項目のグループは、このデータがデー
タのマスターセットとして格納されているコンフィギュ
レーション・データベースへ起用される。このような予
約/起用手順は、それに2人のユーザが同時に、同一の
項目を変更しようとすることができないことを保証す
る。その代わりに、項目を予約しようとする第2のユー
ザは、その項目を予約する第1のユーザが該項目のマス
ター・バージョンを格納するコンフィギュレーション・
データベースへこの項目の変更を起用するまで、如何な
る修正であっても、なすことも防止される。
【0070】通常、予約については2つのモードが使用
される。最初のモード(ここでは、「安全予約モード」
と称す)において、既に存在する項目への修正および該
項目の削除が手動で引き入れられる一方、新しい共有項
目は、予約しているゾーン又はサイトに自動的に引き入
れられる(例えば、ユーザからの直接コマンドが前記変
更又は削除情報の引き入れを実行するのに要求され
る)。この場合、ユーザは、ユーザ・システムが予約し
ているコンフィギュレーションの変更又は削除について
通知されることが可能であり、また、コンフィギュレー
ション・アプリケーションがその変更をローカル・デー
タベースへ引っ張ていくことになっているかどうかを尋
ねられることが可能である。代わりに、共有データベー
スへの如何なる変更に対しても、ユーザの干渉無しで予
約中のデータベースにインポートされるように、全ての
修正は、自動的に引かれる(pull)ことができる。安全
予約モードには、変更通知が全階層を通じて移行しない
点に留意する必要がある。このように、例えば、企業の
項目が修正されれば、依存しているサイトに通知され
る。しかし、その変更がサイトに実際に引き下げられる
まで、そのサイトに関連付けられたゾーンがその変更に
ついて通知されることはない。その結果、公開者(即
ち、そのコンフィギュレーション項目のマスター・コピ
ーを格納するデータベース)は、予約者が項目の最新バ
ージョンをとったかどうかについてトラッキングするこ
とが可能である。そして、どちらかのデータベースをバ
ックアップから回復しなければならないならば、この情
報は、公開者/予約者関係を再整合するために使用され
ることが可能である。
【0071】さらに、変更を引く予約者の失敗が、コン
フィギュレーション・データベースの階層における下位
のレベルでのコンフィギュレーション階層の違いにつな
がると言える。例えば、企業システム184が図6のサイ
ト180,182に変更について通知し、Site 1 180がこの変
更を引かないで、Site 2 182がこの変更を引くならば、
サイト180,182で見られるコンフィギュレーション階層
は異なる。さらに、変更を引いているSite 2 182につい
て、この変更を引くことができるか、又は変更が発生し
たということを少なくとも知ることができるZone C 176
における予約者に変更通知が送信される。しかし、Site
1 180が変更を引かなかったので、Zone A 172とZone B
174とにおける予約者は変更について知らず、従って、Z
one A 172とZone B 174とは変更を引くことができな
い。この場合、ゾーン172,174で利用できるコンフィギ
ュレーション階層は、ゾーン176で利用できるものとは
異なっている。望むならば、ユーザが変更に関して何が
起こっているかについてわかるのを手伝うために、上流
および下流の従属リストを表示するコンフィギュレーシ
ョン・アプリケーションを提供してもよい。ユーザが項
目を引こうとするとき、コンフィギュレーション・アプ
リケーションは、如何なる上流の改訂の不一致でも見つ
けることができ、また、これらの項目が引かれなければ
ならないか否かをユーザに尋ねることができる。
【0072】さて、図7〜図15を参照して、プロセス
制御システム内のデータベースから効率的にアクセスお
よび分散するためのシステムについて説明する。概括し
て言えば、データベース・アクセス・システムは、その
データの一又は複数の予約者(クライアントとも称され
る)へ、データベースに格納されたデータを公開するた
めに、また、データへの変更がデータベース内で発生す
るときに、予約者又はクライアントへ更新又は変更通知
を提供するために共有キャッシュを使用する。ここに記
述されているデータベース・アクセス・システムは、プ
ロセス制御システム(例えば、図1のコンフィギュレー
ション・データベース30,54のうちの何れか,図3〜図
5のマスター・コンフィギュレーション・データベース
の何れか,又は図6のコンフィギュレーション・データ
ベースの何れか)内で、データベースの何れかに使用さ
れることが可能であると言える。同様に、アクセスされ
ているデータベース内のデータの予約者又はクライアン
トは、その他の任意のコンフィギュレーション・データ
ベースであることができ、また、システム内の任意のユ
ーザ・インタフェース又はコンフィギュレーション・デ
ータを使用する任意のコンフィギュレーション・アプリ
ケーションにおいて実行される任意のアプリケーション
であることができる。そして、これらのクライアント
は、例えば直接又は高い速度の通信回線,遅い又は小さ
い帯域幅の通信回線,又は間欠的な通信回線を使用して
アクセスされるデータベースに通信可能に接続されるこ
とが可能である。このように、例えば、図7〜図15に
おいて記述されるクライアントは、図1および図3〜図
6のゾーン又はサイトの何れかに配置され得る。
【0073】概括して言えば、各クライアントは、該ク
ライアントが予約するコンフィギュレーション・コンポ
ーネントを格納するコンフィギュレーション・データベ
ースに関連するデータベース・サーバと通信する。前記
予約プロセスの起動において、コンフィギュレーション
・データベースに接続する各々の異なるクライアントの
ために、クライアント・スレッドが、データベース・サ
ーバ内で確立される。そして、このスレッドは、コンフ
ィギュレーション・データベース内で一又は複数の特定
のコンポーネントへのアクセスを提供する。その後で、
コンフィギュレーション・データベース内のコンポーネ
ントへの変更が認識され、これらの変更の通知と、望む
ならば、この変更自体とが、そのコンフィギュレーショ
ン・コンポーネントを予約している各々のクライアント
に送り返される。コンフィギュレーション・コンポーネ
ントからクライアントが予約解除するならば、変更通知
は、そのコンポーネントのためにクライアントへ提供さ
れない。また、クライアントは、ロックし、予約し、起
用するクライアント・スレッドを使用することが可能で
ある一方、コンポーネントに変更をなすことが可能であ
る。
【0074】用語「スレッド(thread)」は、データベ
ース・サーバ内のプロセッサによって実行される処理パ
ス又は処理手順を参照するものであり、並列処理を実行
する公知の技術であると言える。概括して言えば、プロ
セッサは、実行されている異なるスレッドに関連するタ
スクをインターリーブ(interleaving)することによっ
て、同時に複数のスレッドを実行することが可能であ
る。例えば、前記プロセッサは、順に、第1のスレッド
に関連付ける第1のステップ、第2のスレッドに関連付け
る第1のステップ、第3のスレッドに関連付ける第1のス
テップ、それから、第1のスレッドに関連付けられた第2
のステップは、第2のスレッドに関連付けられた第2のス
テップ、第3のスレッドに関連付けられた第2のステップ
等を実行することが可能である。スレッドは、実行中の
他のスレッドに影響を与えることなく、付加又は削除さ
れることが可能である。スレッドは、スレッド間通知又
はメッセージを使用している各々のその他のスレッドと
通信することが可能である。また、格納され、異なるス
レッドによって使用されるデータは、データを生成又は
格納するスレッドによってアクセスされることが単に知
られているか、又はアクセスされることができる、例え
ば、ローカルのスレッドであり得る。
【0075】さて、図7において、複数のクライアント
とコンフィギュレーション・データベースとの予約者関
係を実現するコンフィギュレーション・データベースの
通信システム200のブロック図は、コンフィギュレーシ
ョン・データベース203と複数のクライアント206〜208
との間で通信可能に結合されたデータベース・サーバ20
2を含んでいる。コンフィギュレーション・データベー
ス203は、2つのデータ・ストア210,212を備えるように
図示してあり、各々は、クライアント206〜208のうちの
一又は複数によって予約されているコンフィギュレーシ
ョン・コンポーネントを格納する。データベース203
は、図示の明確化のために、2つのデータ・ストア210,
212を有するように示してあるが、より多くの又はその
他のデータ・ストアをその中に備えることができる。さ
らに、任意の数のクライアントがサーバ202を使用して
データベース203にアクセスすることが可能である。ま
た、各データ・ストア210,212は、1つのサーバが1つ以
上の異なるデータベースにアクセスするために使用され
得るように、異なる物理データベースに関連付けられ得
る。
【0076】クライアント206〜208は、イーサネット回
線のような、直接の、高い速度回線であることが可能で
ある、又は、例えば、衛星回線,セルラー回線,モデム
回線(接続)等のような、遅く小さい帯域幅の又は間欠
的な回線であることが可能である通信回線213を介し
て、サーバ202と通信する。クライアント206〜208によ
るコンフィギュレーション・コンポーネントのための各
々の最初の要求は、サーバ202内にクライアント・スレ
ッドを生成する。そして、以下に更に詳細に記述される
ように、このクライアント・スレッドは、サーバ202内
の共有キャッシュ214を使用している適切なデータ・ス
トア210および/又は212から、クライアント206〜208に
要求されたコンポーネントを提供するために使用され
る。また、クライアント・スレッドは、データ・ストア
210,212に変更を書き込むために、データベース203へ
コンポーネント・データを加えるか又はデータベース20
3からコンポーネント・データを削除するために、ま
た、データ・ストア210,212内のコンポーネント・デー
タのロックを実行するために、使用され得る。
【0077】概括して言えば、共有キャッシュ214は、
クライアント206〜208の何れかによって任意の特定の時
間に予約されているデータベース203内の異なるデータ
項目の各々のための、「ライトウェイト(lightweigh
t)」と呼ばれるデータ・メモリ・オブジェクトをセッ
トアップする。1つのライトウェイトは、データベース2
03内の任意のコンフィギュレーション・コンポーネント
のために確立されることを必要とする。そして、そのコ
ンフィギュレーション・コンポーネントを予約している
全てのクライアントのためのクライアント・スレッド
は、同一のライトウェイトにアクセスする。このよう
に、図7のシステムのために、クライアント206〜208の
うちの少なくとも1つがデータ・ストア210で前記コンポ
ーネントを予約するときに、ライトウェイトは、データ
・ストア210,212の中でコンフィギュレーション・コン
ポーネントの各々のために共有キャッシュ214内に確立
される。そして、クライアント206〜208のうちの少なく
とも1つは、データ・ストア212で前記コンポーネントを
予約する。クライアント206〜208の各々が異なるコンフ
ィギュレーション・コンポーネントを予約するならば、
各クライアントのためのスレッドは、コンフィギュレー
ション・データベース203内で異なるデータ・ストアに
連結された異なるライトウェイトを含んでいる。しか
し、1つ以上のクライアントがデータベース203内で同一
のコンポーネントを予約するときには、これらのクライ
アントのためのスレッドは、共有キャッシュ214内で同
一のライトウェイトを使用する。この理由のため、共有
キャッシュ内のライトウェイトは、ローカルのスレッド
ではない。
【0078】通常、第1のクライアントがデータベース2
03内で最初にコンフィギュレーション・コンポーネント
を予約するときはいつでも、ライトウェイトは、共有キ
ャッシュ214内でそのコンフィギュレーション・コンポ
ーネントのために確立される。そして、このライトウェ
イトは、データベース203からコンフィギュレーション
・コンポーネントのコピーを読み込み、格納する。その
後で、同一のコンフィギュレーション・コンポーネント
を予約するその他の全てのクライアントは、同一のライ
トウェイトに接続されたそのクライアント・スレッドを
有する。これは、このコンフィギュレーション・コンポ
ーネントに予約する第2,第3等のクライアントがコンフ
ィギュレーション・データベース203からでなく、前記
ライトウェイトからコンポーネントを読み込むことがで
きる。つまり、コンフィギュレーション・データベース
203からの読み込み回数を低減する。
【0079】図7に示すデータベース・サーバ202は、
クライアント206,207,208のそれぞれのために、異な
る読み書き動作を実行する3つのクライアント・スレッ
ド216,217,218と、クライアント・スレッド216,21
7,218に対して、通知動作を実行する2つの通知スレッ
ド220,222とを備える。概括して言えば、各クライアン
ト・スレッド216,217,218は、通信回線230を通じて前
記クライアントと通信するために、サーバ・コンポーネ
ント・オブジェクト226,227,228をそれぞれ使用す
る。特定のクライアント・スレッド内のサーバ・コンポ
ーネント・オブジェクトは、前記クライアントによって
アクセスされている異なるコンポーネントの各々のため
の共有キャッシュ214内の異なるライトウェイトと通信
し、このような各ライトウェイトに関連付けられたコン
ポーネント・データ・ラッパー(component data wrapp
er)を使用してこの通信を実行する。各コンポーネント
・データ・ラッパーは、関連付けられたライトウェイト
へのアクセスを制御し、1つ以上のクライアント・スレ
ッドによってアクセスされ得る。
【0080】図7のシステムにおいては、クライアント
206は、データ・ストア210,212内のコンポーネントを
予約し、クライアント207は、データ・ストア210内のコ
ンポーネントを予約し、クライアント208は、データ・
ストア212内のコンポーネントを予約している。図7に
示すように、クライアント206のためのクライアント・
スレッド216は、データ・ストア210と通信するライトウ
ェイト234に順に接続された第1のコンポーネント・デー
タ・ラッパー232と通信するために、サーバ・コンポー
ネント・オブジェクト226のうちの1つを使用する。確立
の際、ライトウェイト234は、データ・ストア210内の前
記データをコピーし、このデータを、該データを予約し
ている各クライアントがアクセスできるようにする。ク
ライアント・スレッド216のサーバ・コンポーネント・
オブジェクト226のうちの1つは、データ・ストア212と
通信するライトウェイト242に順に接続するコンポーネ
ント・データ・ラッパー240と通信する。同様に、確立
の際、ライトウェイト242は、前記データをデータ・ス
トア212からコピーし、このデータを、該データを予約
している各クライアントがアクセスできるようにする。
【0081】クライアント207のためのクライアント・
スレッド217は、コンポーネント・データ・ラッパー232
と、従って、ライトウェイト234内の前記データ(即
ち、データ・ストア210内の前記データ)にアクセスす
るために、ライトウェイト234と通信するためにサーバ
・コンポーネント・オブジェクト227を使用する。一
方、クライアント208のためのクライアント・スレッド2
18は、データ・ストア212に関連付けられたライトウェ
イト242内のデータにアクセスするためにコンポーネン
ト・データ・ラッパー240と通信すべく、サーバ・コン
ポーネント228を使用する。このように、このコンフィ
ギュレーションにおいて、クライアント206,207は、同
一のコンフィギュレーション・コンポーネントを予約
し、その結果、クライアント206,207の両方が、このコ
ンポーネントのためにライトウェイト234にアクセスす
る。同様に、クライアント206,208は、同一のコンフィ
ギュレーション・コンポーネントを予約し、両者が、こ
のコンポーネントのためにライトウェイト242にアクセ
スする。その結果、ライトウェイト234,242は、2つの
クライアント・スレッドによってそれぞれ共有され、異
なるクライアントによって共有キャッシュ214内のデー
タの共有を可能にする。
【0082】更に詳細に説明するように、クライアント
がデータベース203内のコンフィギュレーション・コン
ポーネントを予約するときに、サーバ202は、クライア
ント・スレッドを生成又は拡張するために、サーバ・コ
ンポーネント・オブジェクト,コンポーネント・データ
・ラッパー・オブジェクト,およびライトウェイトを確
立する。生成の際、クライアント・スレッド216,217,
218は、サーバ・コンポーネント・オブジェクト226,22
7,228からの読み出しおよびサーバ・コンポーネント・
オブジェクト226,227,228への書き込みをなすべく、
つまり、そこに生成された前記コンポーネント・データ
・ラッパーとライトウェイトとを介して共有キャッシュ
214へ読み込み、および共有キャッシュ214から読み出す
べく、前記クライアントによって使用される。共有キャ
ッシュ214は、必要があれば、コンフィギュレーション
・データベース203からの読み出しおよびコンフィギュ
レーション・データベース203への書き込みを行う。異
なるクライアント・スレッドが各クライアントのために
生成されるていれば、各クライアント・スレッドは、ク
ライアントのためにコンポーネント・データの一又は複
数の予約を扱うことが可能である。通常、異なるサーバ
・コンポーネント・オブジェクトは、クライアントによ
ってコンポーネントの各予約のために生成される。
【0083】通知スレッド220は、データベース203にな
された変更を検出し、そして、特に、データベース203
内で保たれる変更リスト244の状態をチェックすること
によってライトウェイトが生成しているデータ・ストア
210,212になされた変更を検出する。変更がなされたと
き、通知スレッド220は、変更が発生した変更コンポー
ネントを予約する前記クライアント・スレッドの各々へ
メッセージを送信させる。このような各クライアント・
スレッドは、それから、適当なサーバ・コンポーネント
・オブジェクトを使用して、そのクライアント・スレッ
ドをクライアントに通知することが可能である。クライ
アントに送信された通知メッセージは、新しいコンポー
ネント・データを含むことが可能であるか、又は、単に
新しいデータが存在すること、また、変更されたコンフ
ィギュレーション・コンポーネントのために確立された
クライアント・スレッドを介してこのデータをクライア
ントが引くか又は読むかをしなければならないことを、
クライアントに通知することが可能である。同様に、ラ
ンタイム・スレッド222は、如何なるランタイム・サー
ビス246によって実行されるプロセス制御システムへな
される特定の変更をも検出し、該変更のデータに関連付
けられたコンポーネントを予約しているクライアント・
スレッドを通知する。
【0084】概括して言えば、コンフィギュレーション
・データベース203内のデータへのアクセスは、コンポ
ーネントに対してコンポーネント単位で実行される。各
コンポーネントは、エリア,コントローラ,デバイス,
制御モジュール等のようなコンフィギュレーション・デ
ータベース内の単一の項目であることが可能であり、望
むならば、複数の項目の単一のツリーであることが可能
である。さらに、任意のコンポーネントが親コンポーネ
ントであることが可能であり、該親コンポーネントは、
これに関連付けられた一又は複数の子コンポーネントを
有すること、および/又は任意のコンフィギュレーショ
ン・コンポーネントが親コンポーネントの子コンポーネ
ントであることが可能である。このように、エリアは、
特定のエリアを示す多数の子コンポーネントを伴った親
コンポーネントであることが可能である。各特定のエリ
アは、特定のエリアの中のコントローラ,ユーザ・イン
タフェース,制御モジュール等を示す子コンポーネント
を伴った親コンポーネントであることが可能である。
【0085】さて、図8には、図7の共有キャッシュ通
信システムを実現すべく使用されるオブジェクトのため
のオブジェクト・マップが図示されている。特に、クラ
イアント300(任意のクライアントであることが可能)
は、例えば、図2のようなコンフィギュレーション階層
でユーザに表示させる如き、クライアントによる任意の
目的でアクセス又は予約されるコンフィギュレーション
・データの任意の部分であるクライアント・コンポーネ
ント・オブジェクト301を有することが可能である。子
供側にてドットを有し、また、親側にてドットを欠如し
ているクライアント・コンポーネント301とフィードバ
ック・パスによって示すように、クライアント・コンポ
ーネント301は、それに関連付けられた一又は複数の子
コンポーネントを有する親オブジェクトであることが可
能である。図8において、ドットの欠如が1対1関係を示
す一方、ドットの使用は1対1又は1対多の関係を示して
いる。このように、クライアント・コンポーネント・オ
ブジェクト301を図示するように、各子クライアント・
コンポーネントが1つの直接の親コンポーネントだけを
持つことができる一方、各親クライアント・コンポーネ
ントは一又は複数の子クライアント・コンポーネントを
持つことが可能である。
【0086】各クライアント・コンポーネント301は、
クライアント300でのそのクライアント・コンポーネン
トに関連付けられたスマート・プロキシ302に結合され
ている。該スマート・プロキシ302は、クライアント・
コンポーネント301に代わり、通信回線304を通じた通信
を担っている。特に、前記スマート・プロキシは、コン
ポーネントに関連するクライアント要求を受ける分散オ
ブジェクトであって、それらの要求を通信するサーバ30
6への通信回線304を通じてサーバ306を呼び出し、更新
イベントを受信し、サーバ306から送信されるキャッシ
ュ・データとメッセージとを格納し、このデータをクラ
イアント・コンポーネント・オブジェクト301に渡す。
勿論、スマート・プロキシ302は、任意の好ましい方法
によって、又は任意の好ましい通信技術を使用する
(「遅延認証通信および警報管理」というタイトルの米
国特許出願に記述された遅延認証ルーチンを使用する)
ことによって、通信回線304を通じて通信するために必
要な操作を実行する。通信回線304は、遅い又は小さい
帯域幅の回線(例えば、衛星,セルラー,インターネッ
ト,又はその他の共有広域ネットワーク回線)を含む任
意の好ましい通信回線であることが可能であり、また、
望ならば、間欠的な接続(例えば、モデム回線(接
続))であり得るか、直接接続又は高速接続(例えば、
専用のイーサネット回線)であり得る。
【0087】サーバ306は、通信回線304を通じたクライ
アントのスマート・プロキシ302との通信を担うサーバ
・コンポーネント・オブジェクト308を含んでいる。各
サーバ・コンポーネント308は、コンフィギュレーショ
ン・データベース内のコンフィギュレーション・コンポ
ーネントの特性にアクセスするインタフェースを提供す
るために、また、クライアントに対して、イベントの更
新を受け、これらのイベントをスマート・プロキシ302
に転送するために、特定のクライアントによってアクセ
ス又は予約される少なくともコンフィギュレーション階
層の一部を記録又は保持することを担う。図8に示すよ
うに、サーバ・コンポーネント308は、親子関係を通じ
てその他のサーバ・コンポーネントに関連付けられるこ
とが可能である。そして、この親子関係は、関連付けら
れたクライアント・コンポーネント301のために確立さ
れた親子関係を反映する。特に、この関係は、クライア
ント階層(即ち、クライアントにより予約されているコ
ンフィギュレーション階層)を反映する。各サーバ・コ
ンポーネント308は、サーバ306の共有キャッシュ部分内
でセットアップされたオブジェクトである唯一のコンポ
ーネント・データ・ラッパー310に、着目され、また、
通信可能に結合され得る。しかし、図8によって示され
るように、コンポーネント・データ・ラッパー310は、
異なるクライアント又はクライアント・スレッドのため
の多数のサーバ・コンポーネントに接続されることが可
能である。コンポーネント・データ・ラッパー310は、
共有データ(即ち、複数のクライアント又はクライアン
ト・スレッドによって、図7の共有キャッシュ214内で
共有されるデータ)へのインタフェースである。コンポ
ーネント・データ・ラッパー310は、階層関係(全ての
予約中のクライアントによって見られている全てのクラ
イアント階層の上位集合(superset)である)を記録す
ることが可能であり、サーバ・コンポーネントへのリフ
ァレンスを登録することが可能であり、変更イベントが
検出されたときにサーバ・コンポーネントに通知するこ
とが可能であり、最後に修正された日付(コンフィギュ
レーション・データベースからのイベントを受け入れる
か又は拒絶するために使用される)を記録することが可
能であり、また、共有データをロックすることが可能で
ある。サーバ・コンポーネント308と同様に、サーバ・
コンポーネント308の全てとクライアント・コンポーネ
ント301の全てとのために確立された関係を反映する関
係をもって、コンポーネント・データ・ラッパー310
は、親子関係において、その他のコンポーネント・デー
タ・ラッパーに関連付けられる又は関連することが可能
である。特定のコンフィギュレーション・コンポーネン
トにアクセスしている全てのクライアント・スレッドが
同一のコンポーネント・データ・ラッパー310を通過す
るので、各コンポーネント・データ・ラッパー310は、
多数のサーバ・コンポーネント308に接続され得ると言
える。第1のクライアントがコンフィギュレーション・
データベース内で最初に項目を予約するときに、コンポ
ーネント・データ・ラッパー・ファクトリ(component
data wrapper factory)312によって生成されるコンポ
ーネント・データ・ラッパー310は、どのサーバ・コン
ポーネント308がコンフィギュレーション・データベー
ス内の特定のコンポーネントを予約しているかをトラッ
キングし、予約中のサーバ・コンポーネント308の各々
にこのデータへの変更について通知するように動作す
る。
【0088】各コンポーネント・データ・ラッパー310
は、一又は複数のサーバ・コンポーネント308が予約し
ているコンフィギュレーション・データベース内で、コ
ンポーネント・データのコピーを格納する唯一のライト
ウェイト・オブジェクト314に接続されるか、又は該ラ
イトウェイト・オブジェクト314を含む。言い換える
と、コンポーネント・データ・ラッパー310は、複数の
サーバ・コンポーネント308の各々によるライトウェイ
ト314のアクセスを取り扱うために、一又は複数のサー
バ・コンポーネント308と、単一のライトウェイト314と
の間に挿入される。概括して言えば、ライトウェイト31
4は、サーバ・コンポーネント308間で供給されるデータ
のための貯蔵所であって、図7のコンフィギュレーショ
ン・データベース203になされた変更に関連する更新通
知のために、図7の通知スレッド220とともに登録する
ことに使用される。
【0089】コンポーネント・データ・ラッパー・ファ
クトリ312は、コンポーネント・データ・ラッパー310と
ライトウェイト314との取得/生成を担う。クライアン
トがそれがコンフィギュレーション・データベース203
内でコンポーネントを予約したいことを示すとき、コン
ポーネント・データ・ラッパー・ファクトリ312は、こ
のコンポーネントのためのコンポーネント・データ・ラ
ッパー310が既に生成されているか否かを確認すべく最
初にチェックする。もしそうならば、コンポーネント・
データ・ラッパー・ファクトリ312は、このコンフィギ
ュレーション・コンポーネントのためにクライアント・
スレッドをコンポーネント・データ・ラッパー310に接
続する。もしそうでなければ、コンポーネント・データ
・ラッパー・ファクトリ312は、コンフィギュレーショ
ン・データベース203からの要求情報をライトウェイト3
14へロードさせるように、新しいコンポーネント・デー
タ・ラッパー310とライトウェイト314とを生成し、この
新しいコンポーネント・データ・ラッパー310と、関連
付けられたライトウェイト314とを使用するクライアン
トのためのスレッドを生成又は拡張する。コンポーネン
ト・データ・ラッパー・ファクトリ312が新しいラッパ
ー310を生成するときに、コンポーネント・データ・ラ
ッパー・ファクトリ312は、ラッパー310にユニークな不
変の識別子を割り当てる。この識別子は、リファレンス
しているサーバ・コンポーネント308と、これらの対応
するクライアント・コンポーネント301とへ渡されるも
のであって、グループの又は個々のコンポーネントをユ
ニークに識別し、また、これに代えて、多くの煩雑な名
前変更の問題を回避し、遅い通信回線(例えば、ツリー
の全てのツリー又はブランチ(枝)がクライアントで要
求される時)を通じてIDのリストのより効率的な整列を
提供する。
【0090】ロック・マネージャ316は、各コンポーネ
ント・データ・ラッパー310に対して、異なるクライア
ントによってその関連付けられたライトウェイト314へ
のアクセスを制御させることを可能にする。ライトウェ
イト314をロックすることで、一又は複数の他のライト
ウェイトをロックすることを引き起こすことが可能であ
るので、例えば、親コンポーネント・データを格納する
ライトウェイトをロックすることで、その親コンポーネ
ントのために子コンポーネントを保持するライトウェイ
トをロックすることを自動的に引き起こすことが可能で
ある。同様に、各ライトウェイト314は、別のライトウ
ェイトをロックする際に自動的にロックされることが可
能であるので、その子コンポーネントのために親コンポ
ーネントを保持するライトウェイトがロックされるとき
に、子コンポーネントを保持するライトウェイトがロッ
クされることが可能である。このように、そのライトウ
ェイトからの読み出し又は該ライトウェイトへの書き込
みが任意の特定のクライアント・スレッド内で実行され
るときに、ロック・マネージャ316によって、コンポー
ネント・データ・ラッパー310がそれに関連付けられた
ライトウェイト314をロックさせることが可能であり、
このライトウェイトをロックすることで、他のライトウ
ェイト(例えば、ロックされているライトウェイトに関
連付けられた子コンポーネントを保持するライトウェイ
ト)をロックすることを自動的に引き起こすことが可能
である。
【0091】さらに、各ライトウェイト314は、コンテ
キスト・メモリ(context memory)を使用する図7のコ
ンフィギュレーション・データベース203からの又は該
コンフィギュレーション・データベース203へのコンポ
ーネント特性の読み書きのための、一又は複数のトラン
ザクショナル・メモリ・オブジェクト(XM:transactio
nal memory object)318を使用する。ライトウェイト31
4がコンフィギュレーション・データベース203に対して
読み書きする必要がある都度、XM 318が始動される。該
XM 318は、この読み書きをなすために使用するポインタ
を、前記コンテキスト・メモリ(ローカルのクライアン
ト・スレッドである)に提供し、前記コンテキスト・メ
モリを使用するコンフィギュレーション・データベース
203への読み込み又は書き出しをさせる。また、前記XM
318は、データベース203内のデータベース・オブジェク
トを生成/削除するために、そして、コンフィギュレー
ション・データベース203に関係を持たせた通知を登録
解除するために使用され得る。適当な読み書きがライト
ウェイト314に一旦実行されると、XM 318は開放され
る。しかし、前記コンテキスト・メモリに格納されたデ
ータは、未だ存在し、必要ならば、このメモリへのポイ
ンタは、後で使用されるスレッド・ローカル記憶装置に
格納される。XMの使用については、オブジェクト・デー
タベース・マネージャにおいては標準であって、ここで
は更なる説明はしない。
【0092】通知エンジン320は、各XM 318に登録し、X
M 318によってに示されるコンフィギュレーション・デ
ータベース203内のデータ記憶装置の位置におけるデー
タ値の何れかへの変更を検出する。このような変更は、
例えば、クライアントがコンフィギュレーション・デー
タベース203への読み込みを引き起こすこと(ランタイ
ム・プロセス又はその他の何らかの外部の処理等)によ
って、なされることが可能である。通知エンジン320
は、これが、XM 318の何れかによって示されたデータベ
ースの項目への変更を検出したときに、このXM 318と関
連付けられたライトウェイト314を有するコンポーネン
ト・データ・ラッパー310に通知し、変更がなされ、そ
して、コンポーネントのためのその新しい値が利用可能
なコンポーネントを予約しているクライアントの全てに
通知する。この操作を実行するために、通知エンジン32
0は、コンポーネント・データ・レジスタ(「ラッパー
・マップ」とも呼ばれる)322を使用する。これは、XM
318によって示されたデータベース位置に、各コンポー
ネント・データ・ラッパー310をマッピングするマップ
である。より詳しくは、コンポーネント・データ・レジ
スタ322は、データベース203にアクセスしているXM 318
の操作の結果として生成された通知クッキー又はIDにコ
ンポーネント・データ・ラッパー310を関係付けるルッ
クアップ・テーブルである。時々、これらのIDは、「マ
ジック・ナンバー」とも呼ばれ、概括して言えば、これ
らのIDは、データベース203内に格納されたコンポーネ
ントの位置又はそのものについて識別する。通知エンジ
ン320は、マジック・ナンバーに関連付けられたデータ
ベース位置の各々に関係する更新イベントのリストを得
て、変更が発生した各コンポーネントに関連付けられた
コンポーネント・データ・ラッパー310を見つけるため
にコンポーネント・データ・レジスタ322を使用する。
その結果として、通知エンジン320は、コンフィギュレ
ーション・データベース203から定期的に変更リストを
得て、変更が発生したコンポーネント・データ・ラッパ
ー310への変更イベントを始動するイベント・ジェネレ
ータである。
【0093】概括して言えば、クライアント・スレッド
は、それによって変更通知を得るために生成されるの
で、各コンポーネント・データ・ラッパー310は、コン
ポーネント・データ・レジスタ322で、そのライトウェ
イトに関連付けられたXMの全てを登録する。代わりに、
コンポーネント・データ・ラッパー310は、ユニークな
クッキーを登録毎に受け、これらのクッキーは、コンポ
ーネント・データ・レジスタ又はラッパー・マップ322
に格納される。変更通知に応じて、コンポーネント・デ
ータ・ラッパー310は、その関連付けられ得たライトウ
ェイト314に対して、前記データベースから再ロードす
ることを、また、必要ならば、コンフィギュレーション
階層を更新することを強制する。さらに、コンポーネン
ト・データ・ラッパー310は、該コンポーネント・デー
タ・ラッパー310に関係がある又はアクセスしているサ
ーバ・コンポーネント308の各々へ更新メッセージを送
信する。そして、サーバ・コンポーネント308は、それ
から、共有キャッシュ(即ち、ライトウェイト314)と
再整合させる。最後に、サーバ・コンポーネント308
は、クライアント・コンポーネント301に更新メッセー
ジを送り、サーバ・コンポーネント308と再整合させ
る。
【0094】さて、図9を参照して、データベース・サ
ーバ306(例えば、図7のデータベース・サーバ202、又
は図1,図3〜図6のデータベース・サーバの何れかで
あることが可能である)の状態は、例えば、任意のクラ
イアントがコンフィギュレーション・データベース325
(例えば、図7のデータベース203又は図1および図3
〜図6のコンフィギュレーション・データベースの何れ
かであることが可能である)内のデータの何れかを予約
する前の、プレスタート(起動)時を示している。サー
バ306は、その中にサーバ・コンポーネント・オブジェ
クトを有していないプレスタート・クライアント・スレ
ッド326を含んでいる。つまり、共有キャッシュ327は、
コンポーネント・データ・ラッパー又はライトウェイト
および空のデータベース・コンテキスト・メモリ部分32
8を有していない。サーバ306の共有キャッシュ327は、
データベース325から読まれているコンポーネントをロ
ックすることを調整するコンポーネント・データ・ラッ
パー・ファクトリ312とロック・マネージャ316とを備え
ている。図9に示すように、通知スレッドは、上述した
如きデータベース325内のデータになされた変更を検出
する通知エンジン320、およびコンポーネント・データ
・レジスタ、又はコンフィギュレーション・データベー
ス325内の位置で共有キャッシュ327内のコンポーネント
・データ・ラッパーをマッピングするラッパー・マップ
322を備えている。勿論、データ・ラッパーは、共有キ
ャッシュ327内に存在しないので、ラッパー・マップ322
は、空である。
【0095】同様に、ランタイム・スレッドは、任意の
サービス(例えば、自動検出サービス)であり得るラン
タイム・サービス338によって、又はランタイム動作若
しくはコンフィギュレーション動作の間に実行するその
他のアプリケーションによって、コンフィギュレーショ
ン・データの或る部分になされた変更を検出する通知エ
ンジン336と、ランタイム通知エンジン336に、サーバ30
6で実行しているクライアント・スレッド内の適当なコ
ンポーネント・データ・ラッパーへ変更メッセージを送
らせることを可能にするマップ340とを備える。起動時
に、ランタイム通知エンジン336は、プロセス制御ネッ
トワークのコンフィギュレーション内の特定の変更(例
えば、新しいノードの追加又はシステム内の新しいデバ
イス(非稼動中のコントローラのような)の追加)を検
出することを実行するオブジェクトの一例を生成する。
1つの実施形態において、通知エンジン336は、非稼動中
のコントローラと「Fieldbus」デバイスとのリストのた
めのランタイム・サービス338(それは、任意のランタ
イム・サービス又はアプリケーションであり得る)をポ
ーリングする。マップ340は、一般に、適当なデータ・
ラッパー(生成の際)がプロセス制御システム内の新し
いノード,デバイス等の生成に関連する情報を受けるた
めに登録する記憶位置又は記憶領域を指し示している。
勿論、全てのデータ・ラッパーがランタイム・スレッド
に登録する必要があるというわけではないが、新しく加
えられたデバイス(例えば、図2に図示された非稼動中
のコントローラのコンポーネント)に関係するコンポー
ネントに関連付けられたそれらのラッパーだけは登録す
る必要がある。起動時に、マップ340は、どのラッパー
も登録されていない記憶位置を指し示している。
【0096】さて、図10においては、第1のクライア
ント342がコンフィギュレーション・データベース325内
のコンポーネントに接続し、予約するときの、サーバ30
6の操作が図示されている。特に、クライアント・アプ
リケーションが、起動し、コンフィギュレーション階層
内のコンポーネント348を要求するためにスマート・プ
ロキシ346を使用している通信回線344を介してサーバ30
6に接続する。この際に、サーバ306は、プレスタート・
クライアント・スレッド326をクライアント342に割り当
て、サーバ306に接続する次のクライアントによって使
用される新しいプレスタート・クライアント・スレッド
(図示せず)を生成する。一般的に、クライアント342
は、ルーツ・オブジェクト(例えば、エリア・コンポー
ネント)を要求することから始める。この時点で、エリ
ア・サーバ・コンポーネント350は、サーバ306において
生成され、エリア・サーバ・コンポーネント350は、ラ
ッパー・ファクトリ312からエリア・コンポーネントを
要求する。ラッパー・ファクトリ312は、コンポーネン
ト・データ・ラッパー(以下、「ラッパー」と称す)が
共有キャッシュ327内のエリア・コンポーネントのため
に生成されず、このようなラッパー354(エリア・ラッ
パー)を生成することを認識する。そして、ラッパー35
4をクライアント・スレッド326内のエリア・サーバ・コ
ンポーネント350と結び付ける。ラッパー・ファクトリ3
12は、新しく生成されたラッパー354にユニークに関連
付けられ、前記クライアント・スレッドのためにデータ
ベース・「サイト」・コンテキスト362に結び付けられ
たライトウェイト360を生成する。前記ルーツ・エリア
・コンポーネントが要求されたので、前記サイト・コン
テキストが使用される。そして、このコンポーネント
は、データベース325内のサイト・オブジェクトに関連
付けられる。この際に、ライトウェイト360は、XM(図
示せず)を生成することによって前記エリア・コンポー
ネントのためにデータベース325に呼び出しを行う。前
記XMは、クライアント・スレッド326によって使用され
るべきコンテキスト・メモリ328内の記憶位置を指し示
しており、前記データベース・マネージャに、前記エリ
ア・コンポーネントを読み出させ、前記コンポーネント
・データをサイト・コンテキスト・メモリ362に格納さ
せる。次に、このデータが、ライトウェイト360にロー
ドされ、前記XMが、開放される。
【0097】この処理の間、変更がそのデータベースの
対応するもの(この場合、データベース325のエリア・
コンポーネント内のもの)に発生するとき、ラッパー・
ファクトリ312又は前記XMは、変更通知のためにラッパ
ー・マップ322で新しく生成されたエリア・ラッパー354
を登録する。この登録は、線363で図示されている。こ
の登録を実行するために、ユニークな識別子(ID)がラ
ッパー/データベース・サイトの組合せのために生成さ
れ、このIDが、通知スレッドに送信される登録メッセー
ジ内に掲示される。登録メッセージの処理に際して、前
記通知スレッドは、前記IDによってロックされたエリア
・ラッパー354のために、エントリをラッパー・マップ3
22に加える。このエントリは、ラッパー354とともに、X
M(データベース325内のオブジェクト又は位置を指し示
す)に関連付けられたマジック・ナンバーに関係してい
る。
【0098】次に、前記エリア・コンポーネントは、ラ
ッパー354から、エリア・コンポーネント・データで更
新されるサーバ・コンポーネント350へ送信される。サ
ーバ・コンポーネント350は、それから、コンポーネン
ト・データがクライアント・コンポーネント348に提供
されるクライアント342のスマート・プロキシ346へエリ
ア・コンポーネント・データを送信する。
【0099】その後で、前記通知スレッドは、データベ
ース325内のエリア・コンポーネントへの変更を監視
し、そして、変更がなされれば、ラッパー・マップ322
によって定義されているように、データベース325内の
このコンポーネントに関連付けられたラッパーのために
IDを参照する。前記通知スレッドは、それから、変更に
ついて前記ラッパー(この場合、ラッパー354)に通知
する。必要ならば、ラッパー354は、データベース325の
読み出しを引き起こすことによって変更を反映するため
にライトウェイト360を更新する。その後で、ラッパー3
54は、変更についてサーバ・コンポーネント350に指示
し、サーバ・コンポーネント350は、前記エリア・コン
ポーネントのために新しいデータを要求することができ
る、そして、新しいデータは、ライトウェイト360から
読み出され得る。次に、サーバ・コンポーネント350
は、変更についてクライアント342に通知し、該クライ
アント342は、エリア・コンポーネントのための新しい
データをサーバ・コンポーネント350から要求するの
で、前記エリア・コンポーネントにおける変更は、自動
的に、又は変更についてクライアントへ通知し、クライ
アントが新しいコンポーネント・データを要求するのを
待機することによって、クライアント・コンポーネント
348に反映される。クライアント342は、サーバ・コンポ
ーネント350から新しいコンポーネント・データの手動
で引き出すことができるが、変更が検出されたときに、
新しいデータ又は変更されたデータがクライアントに自
動的に送信されることについては、議論のために以下の
ように想定する。
【0100】同様に、前記ランタイム通知スレッドは、
ランタイム・サービス338の操作に基づくプロセス制御
システムのコンフィギュレーションにおいてなされた特
定の変更を検出する通知エンジン336を使用する。特定
の変更が発生した(例えば、ノード又はデバイスが加え
られた)ならば、通知エンジン336は、検出された変更
の表示を何れかのラッパーが受けるために登録したかど
うか見るために、マップ340によってその変更のために
指定された記憶位置を参照する。もしそうならば、通知
エンジン336は、通知エンジン320によって生成されたイ
ベント・メッセージが処理される方法と同様に、そのメ
ッセージを処理することができる、登録したラッパー
に、イベント・メッセージを送信する。ランタイム通知
スレッドによって検出された変更の通知を受けたいデー
タ・ラッパーが、マップ340によって、即ち、例えば、
データ・ラッパーが生成されたときに、その記憶位置で
の変更通知を受けるために前記ラッパーのIDを格納する
ことによって、その変更のために指定された記憶位置で
登録すると言える。
【0101】さて、図11において、クライアント342
は、次に、エリア・クライアント・コンポーネント348
のために子供をロードすることを要求し得る。この場
合、クライアント342は、子供コマンドおよびエリア・
ルーツ・コンポーネントのロードを呼び出し、このコマ
ンドは、プロキシ346を介してサーバ・コンポーネント3
50へ渡され、そこから、エリア・ライトウェイト360へ
渡される。エリア・ライトウェイト360は、前記エリア
・子コンポーネントについての情報を得るためにクライ
アント・スレッド326に対するコンテキスト・メモリ362
を使用するコンフィギュレーション・データベース325
へ問い合わせる。このデータは、返され、そして、ライ
トウェイトと関連付けられたデータ・ラッパーとは、そ
れから、エリア・コンポーネントに関連付けられた各子
コンポーネントのために生成される。図11において、
前記エリア・コンポーネントは、「Area A」と名付けら
れた「Fred」という説明付きの1つの子コンポーネント
だけを含むように示されている。そして、この新しい子
コンポーネント・データは、新しいライトウェイト370
に格納される。しかし、その他のエリア・子コンポーネ
ントは、また、エリア・コンポーネントに関連付けられ
ることができ、そして、この場合には、新しいライトウ
ェイトは、下記のその他のオブジェクトとともに、これ
らの子供の各々のために生成される。
【0102】新しいライトウェイト370の作成の際、エ
リア・ラッパー354(又はラッパー・ファクトリ312)
は、子ラッパーとしてエリア・ラッパー354に関連付け
られた別々のラッパー372内の新しいエリア・ライトウ
ェイト370をラップ(wrap)する。また、エリア・ラッ
パー354は、サーバ・コンポーネント350に前記新しいエ
リア・コンポーネントを返す。新しいライトウェイト37
0は、エリア・子コンポーネントに関連する特定のデー
タを得るためにコンテキスト・メモリ376を介してデー
タベース325で登録すべくXMを生成する。また、ラッパ
ー372又はライトウェイト370は、新しいラッパーID(こ
の場合、1つのラッパーID)と、これに関連付けられた
データベース・マジック・ナンバー(この場合、1つの
新しいマジック・ナンバー)とのリストとともに、登録
メッセージを前記通知スレッドに送信する。前記新しい
IDは、線378によって示するように、新しいラッパー372
を示すために前記ラッパー・マップに格納される。ま
た、データベース325における新しい子エリア・コンポ
ーネントの位置を示すマジック・ナンバーは、ラッパー
・マップ322に提供され、このIDのために格納される。
【0103】一方、エリア・サーバ・コンポーネント35
0は、新しい子エリア・コンポーネントのための子エリ
ア・サーバ・コンポーネント380を生成し、そうする際
に、子サーバ・コンポーネント380のために生成された
ラッパー372へ、新しい子エリア・サーバ・コンポーネ
ント380内でポインタを埋め込む。また、サーバ・コン
ポーネント350は、前記通信回線とプロキシ346とを介し
てクライアント・エリア・コンポーネント348へ子コン
ポーネント(この場合、1つ)のリストを送信する。そ
して、エリア・クライアント・コンポーネント348は、
子エリア・クライアント・コンポーネントを生成し、新
しい子クライアント・コンポーネント382と新しい子サ
ーバ・コンポーネント380との間での通信を可能にする
ために子エリア・クライアント・コンポーネント382に
おいて、サーバ・コンポーネント・リファレンスを(サ
ーバ・コンポーネント380に)埋め込む。クライアント
・コンポーネント382のためのスマート・プロキシ384
は、それから、生成され、データベース325内で新しい
子コンポーネントのための予約を含むためにクライアン
ト・スレッド326を拡張する処理を完了する。勿論、同
じ手順は、特定のコンポーネントのその他の子コンポー
ネントのために発生する。そして、複数の子供が存在す
るならば、クライアント・スレッド326は、複数の子コ
ンポーネントを予約するために拡張され得る。同様に、
クライアント・スレッド326は、新しく予約された子コ
ンポーネント382に関連付けられた子コンポーネントを
得ることによって、又は別のルーツコンポーネントを要
求することによって、更に拡張され得る。
【0104】さて、図12を参照して、第2のクライア
ント386が、第1のクライアント342により予約された同
一のコンポーネントを予約する際の処理について、詳述
する。ここでは、サーバ306の通知スレッドは、明確化
のために図示していない。特に、第2のクライアント386
は、第1のクライアントと同様の方法でサーバ306に接続
し、前記エリア・コンポーネントを予約する。サーバ30
6への接続に際しては、第2のクライアント386は、第2の
プレスタート・スレッド387に割り当てられる。この例
では、クライアント386は、第2のクライアント・スレッ
ドでエリア・サーバ・コンポーネント388を生成するエ
リア・ルーツ・コンポーネントを求める。サーバ・コン
ポーネント388は、エリア・ルーツ・コンポーネントの
ためのラッパーをラッパー・ファクトリ312に求める。
なぜなら、ラッパー354は、前記エリア・ルーツ・コン
ポーネントのための共有キャッシュ327内で既に存在す
るからであり、ラッパー・ファクトリ312は、ラッパー3
54にポインタを返す。この時点で、エリア・サーバ・コ
ンポーネント388は、第1のクライアント342のために既
に確立されたライトウェイト360から読み出されるエリ
ア・ルーツ・コンポーネント・データについてラッパー
354に問い合わせる。ライトウェイト360に格納されたエ
リア・ルーツ・コンポーネント・データは、エリア・ル
ーツ・サーバ・コンポーネント388に返され、そして、
そこから、クライアント・エリア・コンポーネント389
に返される。
【0105】エリア・ルーツ・コンポーネント389の子
供のための第2のクライアント386による要求に際して、
エリア・ルーツ・サーバ・コンポーネント388は、ラッ
パー・ファクトリ312に子ラッパーを要求する。そし
て、これらのラッパー(この場合、1つのラッパー)が
既に存在するので、ラッパー372へのポインタは、エリ
ア・ルーツ・サーバ・コンポーネント388にラッパー・
ファクトリ312によって提供される。それから、サーバ
・コンポーネント388は、ラッパー372へのポインタを有
する子エリア・サーバ・コンポーネント390を生成す
る。エリア・ルーツ・サーバ・コンポーネント388は、
適当なクライアント・コンポーネント392を生成する第2
のクライアント386とサーバ・コンポーネント390と通信
するスマート・プロキシ393とに子供の情報を送信す
る。また、子エリア・サーバ・コンポーネント390は、
ラッパー372を介してライトウェイト370を読み出し、プ
ロキシ393を介してクライアント・コンポーネント392に
このデータを送信する。この処理においてはデータベー
ス325への呼び出しがなされなかったので、第2のクライ
アントのデータベース・コンテキストは空である。つま
り、全ての情報が、そのデータを得るために第1のクラ
イアント・スレッド326のデータベース・コンテキスト
を使用したライトウェイト360,370を介してやって来た
のである。しかし、ライトウェイトが生成されなかった
というデータを第2のクライアント386が要求するなら
ば、ラッパー・ファクトリ312は、そのコンポーネント
のためのラッパーおよびライトウェイトを生成し、デー
タベース325からそのデータを得るために第2のクライア
ント・スレッド387のためのデータベース・コンテキス
トを介してデータベース325に接続する。
【0106】エリアルーツ又は子エリア・コンポーネン
トを現在予約するその他の任意のクライアントは、デー
タベース325に如何なる呼び出しもすることなく、共有
キャッシュ327からこのデータにアクセスすることがで
き、これは、データベース325上でのロードを低減する
と言える。同様に、イベント通知を通知スレッドから受
けるのに際して、データ・ラッパー354は、クライアン
トの両方ともに変更を通知するために、第2のクライア
ント386のためのサーバ・コンポーネント350に、また、
第1のクライアント342のためのサーバ・コンポーネント
388に通知する。
【0107】さて、図13を参照して、コンフィギュレ
ーション・データ項目への変更を検出する通知スレッド
に関連付けられた動作と、この変更通知が各々の予約中
のクライアントへ自動的に返される方法とについて説明
する。この場合、第2のクライアント386は、「Area A」
の名前を「Fred」から「Wilma」に変更し、サーバ306へ
この変更とともに、書き込み又は起用メッセージを提示
する。サーバ・コンポーネント390は、新しい名前をロ
ードし、ライトウェイト370において新しい名前をロー
ドするラッパー372に、この名前を付与する。ライトウ
ェイト370は、第2のクライアント386のためのデータベ
ース・コンテキスト394に自動的に新しい名前をロード
する。ここから、前記新しい名前は、データベース325
に格納される。しかし、「Area A」コンポーネントの第
1のクライアントのバージョンには、何も発生しなかっ
た。過去に、第1のクライアント342は、変更のためにデ
ータベース325に定期的にポーリングする必要があっ
て、データベース325からの遅い通信回線を通じた多く
の読み出しと多くのダウンロードという結果となる。
【0108】しかし、この場合、通知エンジン320は、
ラッパー・マップ322においてマジック・ナンバーに関
連付けられたデータベースの項目の各々のために、更新
イベントのリストのためにデータベース325に定期的に
ポーリングする。各イベントは、どのオブジェクトが変
更されたかについて示す情報と、変更の種類(名前の変
更,削除,特性の変更,子供の追加/削除等)のような
前記変更についての幾つかの情報と、多分、名前の変更
操作の場合の新しいおよび古い名前のような幾つかの手
掛かり(hint)とを含んでいる。通知エンジン320は、
ラッパーIDとともに変更されたオブジェクトのマジック
・ナンバーに一致するラッパー・マップ322を使用し、
前記関連付けられたラッパー(この場合、ラッパー37
2)に更新イベントを処理するように求める。この処理
は、このオブジェクトの新しい値又は変更された値を得
るためにデータベース325からライトウェイト370を再ロ
ードすることを含むことが可能である。このような再ロ
ードは、ライトウェイト370がデータベース325への変更
に関与していなかったときに必要となる。ラッパー372
は、例えば、検出された変更が古いか若しくは期限切れ
の変更であるか、又はその他の任意の好ましい理由であ
るならば、ライトウェイト370を再ロードすることを拒
否することが可能である。また、ラッパー372は、前記
変更についてサーバ・コンポーネント380,390の各々に
通知するか、これに代えて、メッセージ(例えば、ウイ
ンドウ・メッセージ)を(このコンポーネントを予約す
る)クライアント342,386の各々へ送信する。ラッパー
372からイベント・メッセージを処理するときに、サー
バ・コンポーネント380,390は、イベントおよび任意の
新しいデータを、対応するクライアント342,386のスマ
ート・プロキシへ転送する。第1のクライアント342のプ
ロキシ384は、第1のクライアント342におけるユーザ・
インタフェース上での再表示を引き起こさせるクライア
ント・コンポーネント382に再表示メッセージを掲示す
る。この場合、ユーザ・インタフェースが再表示すると
きに、プロキシ384が新しいデータをクライアント・コ
ンポーネント382に譲り渡し、更新が完了する。第2のク
ライアント386は、前記変更を既に持つので、前記メッ
セージを無視することが可能である。
【0109】この予約システムで、第1のクライアント3
42は、如何なるデータベースの呼び出しもする必要もな
く、第1のクライアント342での前記変更された項目の完
全な再表示を早めるために、唯1回の呼び出しが(例え
ば、遅い通信回線を介して)サーバ306から第1のクライ
アント342へなされただけである。勿論、この処理は、
全てのライトウェイトについて、また、任意のライトウ
ェイトを予約している全てのクライアントについて発生
する。従って、データベース325への如何なる変更を
も、最小のデータベースの読み出しと、遅い通信回線を
介した最小の通信とを伴って、その項目を予約する各ク
ライアントへ自動的に送信することができる。
【0110】さて、図14を参照して、キャッシュ327
への並列アクセスの仲介について、ロック・マネージャ
316の操作を更に詳細に記述する。前述の説明によって
よく理解されるように、共有キャッシュ327におけるラ
イトウェイトの各々は、一又は複数のクライアント・ス
レッドによって共有され得る。その結果、多くのクライ
アントが、同一のライトウェイトから同時に読み出しを
行うことができる。ロックについては、これらの読み出
しには一般に必要ではない。しかし、2つのクライアン
トが、ライトウェイトに、つまりデータベース325に同
時に書き込みを行おうとする状況に出くわすことがあり
得、これは、デッドロック(deadlock)のような問題を
引き起こす。
【0111】これらの問題を防ぐために、ロック・マネ
ージャ316は、ロックを渡して、ロックテーブルを保守
することによって、前記ライトウェイトの各々へのアク
セスを管理する。概括して言えば、ロック・マネージャ
316は、ラッパー上でのロック要求を与えることによっ
て動作する。クライアント・スレッドがライトウェイト
にアクセスしたいときには、前記スレッドは、前記ラッ
パー上でのロックの読み書きを最初に取得しなければな
らない。例えば、別のクライアント・スレッドがそのラ
イトウェイトにアクセスするプロセスにおいて存在する
ために、前記ロックが利用できないならば、ロック・マ
ネージャ316は、前記ロックが自由になるまで追い詰め
られて、要求しているスレッドを保持する。
【0112】図14の例においては、第1および第2のク
ライアント342,386は、「Area A」の説明を書き込もう
としている。ここで、第2のクライアント386は、ライト
ウェイト370への書き込みを実行しようとし、この処理
においては、ロック・マネージャ316からのラッパー372
上でロックを要求し、これを取得する。第1のクライア
ント342が、それから、ライトウェイト370の特性からの
読み出し又は該特性への書き込みをしようとするなら
ば、ロック・マネージャ316は、このスレッドがデータ
・ラッパー372上での読み出しロック又は書き込みロッ
クを取得しようとしたときに、第1のクライアント・ス
レッド326の実行を待機する。一方、第2のクライアント
・スレッド387は、「Area A」の名前を「Wilma」に変更
するために、それ自身のデータベース・コンテキスト39
4を介してライトウェイト370へ書き込む。この書き込み
操作が完了したときに、ロック・マネージャ316は、第1
のクライアント・スレッド326に対して、ライトウェイ
ト370の、つまり、データベース325の読み書きを進めさ
せる。読み出しロックが開放されるまで、書き込みロッ
クは拒否又は保留され得ることに注意する。しかし、読
み出しロックが別のクライアント・スレッドに与えられ
ているならば、読み出し要求を保留する理由は通常な
い。また、ロック・マネージャ316が上述した予約操作
を確立するために使用され得る点に注意する。特に、予
約ロックは、例えば、ライトウェイト370によって要求
され、また、ライトウェイト370上のクライアントへ与
えられることが可能である。これ以後においては、任意
のクライアントが、ライトウェイト370の読み出しを行
うことが可能であるが、該ライトウェイト370への書き
込みはできない。予約ロックが与えられたならば、ロッ
ク・マネージャ316は、ラッパー372に対して、書き込み
ロックを要求しているクライアントへメッセージを送信
するようにさせ、異なるクライアントによって予約中で
あるように、このデータへの書き込みは許容されない。
勿論、ロック・マネージャ316は、また、前記予約ロッ
クを与えられたクライアントの識別を提供又は格納する
ことが可能であり、また、起用操作の間、このクライア
ントによるライトウェイト370への書き込みを可能とす
る。
【0113】ロックがあれば、何処であってもデッドロ
ックの可能性がある。例えば、第1のクライアントが、
コンポーネントAのロックを取り出し、同時に、第2のク
ライアントが、コンポーネントAのロックを取り出す。
次に、第1のクライアントが、コンポーネントBのロック
を取り出そうとするが、第2のクライアントによってコ
ンポーネントBのロックが開放されるまで停止する。し
かし、コンポーネントBのロックが開放される前に、第2
のクライアントが、コンポーネントAのロックを取り出
そうとするならば、両方のコンポーネントAおよびコン
ポーネントBのロックは開放されることがなく、従っ
て、デッドロックとなる。共有キャッシュ327における
デッドロックを回避するために、ロック・マネージャ31
6には、如何なる特定のクライアントであっても、ロッ
クを順々に取り出し、開放しなければならないような制
約を持たせることが可能である。しかし、この場合、2
つのクライアントは、他方によってなされた変更を上書
きすることが可能であり、この結果、後者の書き込みが
勝つ。例えば、第1のクライアントが、コンポーネントA
を修正し、第2のクライアントがコンポーネントBを修正
する。第1のクライアントが、それから、コンポーネン
トBを修正し、第2のクライアントがコンポーネントAを
修正する。デッドロックが回避される一方、コンポーネ
ントAは、第2のクライアントの変更を有し、コンポーネ
ントBは、第1のクライアントの変更を有する。
【0114】ライトウェイトは階層を持たないが、幾つ
かのライトウェイト間リファレンスが存在することが可
能である。もしそうならば、この事実は、例えば、更新
操作が同時にロックすべき両方のライトウェイトを要求
するならば、デッドロックの潜在的な要因である。この
問題を回避するために、ロック・マネージャ316は、関
連したライトウェイトに関してロック注文を実行するこ
とができる。例えば、第1のライトウェイトが第2のライ
トウェイトに関連付けられるならば、第1のライトウェ
イトは、第2のライトウェイトのロック・リストに加え
られる。クライアントが第2のライトウェイトをロック
したいならば、前記クライアントは、最初に第1のライ
トウェイトをロックしなければならない。ロック・マネ
ージャ316は、この注文のリストを保持し、ロック手順
の注文を実施することが可能である。この従属ロックを
実施するために、関与したオブジェクトが従属ツリーを
形成しない限り、ロック・マネージャ316は、クライア
ントにつき1つのロックのみを一度に許容することが可
能である。
【0115】データベース325において一連のコンポー
ネントを修正することは、1つのデータベース処理につ
いて発生する。それは、処理が失敗する可能性があり、
従って、変更がデータベース325においてなされる前
に、データベースの状態をロールバック(rollback)
し、キャッシュされたコンポーネント(例えば、ライト
ウェイト)がデータベース325に格納されたものと矛盾
する結果となる。ロールバック・メカニズムを提供する
ために、クライアント・スレッドは、データベース修正
処理が稼動している間、前記コンポーネントを加えた、
修正されたコンポーネントのリストを保持することが可
能である。複数ステップのデータベース処理が中止され
るか、又は失敗と見なされたならば、前記リストが横渡
しされ、各コンポーネントが再ロードされる。これは、
コンポーネントの特性を再ロードし、新しい/削除され
た子供についてチェックすることである。このような修
正されたコンポーネントのリストが既知の順序(例え
ば、ラッパーIDに応じて)に保たれるならば、ロックテ
ーブルを生成し、クライアント操作につき複数のロック
を引き出すことが可能である。
【0116】ライトウェイトがロックされる時間を減ら
すために、ライトウェイトは、データベース325へ特性
を書き戻すとき、ライトウェイトに格納されたコンポー
ネント・データ・オブジェクトのクローンを最初に生成
することが可能である。該クローンは、新しい特性の値
を供給され、該値をデータベース325に格納するために
使用される。この操作が一旦完了したならば、第1のコ
ンポーネント・データ・オブジェクトは、変化される
か、又は前記クローンを優先して差し替えられる。前記
クローンが作られた後で、前記ライトウェイトをロック
解除することができるので、このようなクローン技術を
使用することは、キャッシュ327又は前記ライトウェイ
トがロックされる時間を減じ、前記キャッシュへのアク
セスの並列性を改善する。しかし、この状況には、2つ
のクライアントが、同時に、同一のライトウェイトへの
書き込みをしようとする点で、競争条件が存在すること
になる。特に、第1のクライアントが、第2のクライアン
トの前に、データベース325へのコンポーネントのその
バージョンを保存するが、第2のクライアントの後で、
前記キャッシュ(即ち、ライトウェイト)を変化させる
ならば、前記キャッシュは、データベースで矛盾するこ
とになる。ここで、前記データベースは、第2のクライ
アントの変更を有するが、前記ライトウェイトは、第1
のクライアントの変更を有する。この状況は、ロックを
調整することによって、又はいつでも任意のライトウェ
イトの1つのクローンだけを許容することによって、回
避され得る。これらの手順の全ては、ロック・マネージ
ャ316によって仲介され得る。
【0117】上述のように、新しい子ライトウェイト
は、クライアント要求に応じて、又はクライアントが新
しい子供を加える時に、データベース325からこれらの
子供をロードすることによって生じる。望むならば、ク
ライアントは、親をロックする前に、新しい子コンポー
ネント・データ・オブジェクトを生成/ロードする時点
で、キャッシュ327を操作することを許容し得る。従っ
て、前記親ライトウェイトが、子供が前記階層に実際に
接続されているときか、又は前記親に関連付けられたと
きにだけ、ロックされる必要がある。言い換えると、全
ての子供について完了するまで、生成されている子コン
ポーネントに関連付けられたオブジェクトの全てが、非
共有方式において又はローカル・メモリにおいて生成さ
れることが可能である。それから、前記親は、これらの
子供へのポインタを含み、これによって、これらの子オ
ブジェクトを前記共有メモリへ移すために、ロックおよ
び修正されることが可能である。その結果、新しい子コ
ンポーネントに関連付けられるために変えられるとき、
且つ子オブジェクトの作成の間でないときにのみ、前記
親ライトウェイトはロックされる。
【0118】さて、図15には、ランタイム操作によっ
てなされたプロセス制御システムのコンフィギュレーシ
ョンへの変更について、クライアントに通知するために
動作するランタイム通知スレッドの操作を示している。
この場合、クライアント400が非稼動中のデバイス・コ
ンポーネントを予約し、クライアント・コンポーネント
402,プロキシ404,前記非稼動中のデバイス・サーバ・
コンポーネント406,ラッパー408,およびライトウェイ
ト410が、クライアント400およびサーバ306内に既にセ
ットアップされているものと仮定する。また、ラッパー
408が生成されたとき、該ラッパー408が、新しいコント
ローラのシステムへの追加の指示を受けるためにマップ
340に登録されているものと仮定する。この例では、前
記ランタイム通知スレッドの通知エンジン336が、ラン
タイム・サービス(例えば、自動検出アプリケーショ
ン)を介して加えられた新しいコントローラ(「CTLR00
1」と名付けられている)の追加を検出し、この新しい
コントローラの存在を示す非稼動中のデバイス・ラッパ
ー408に更新イベントを送信する。非稼動中のデバイス
・ラッパー408は、前記検出されたコントローラのため
に子ラッパー412を生成することによって、新しいコン
トローラのためにライトウェイト414を生成することに
よって、そして、もし可能であれば、ライトウェイト41
4にランタイム・サービスによって届けられるようなコ
ントローラ・データを格納することによって、前記更新
イベントに応答する。また、ライトウェイト414は、デ
ータベース325のこのデータを格納することが可能であ
り、望むならば、このデータを、データ・ラッパー412
に、および新しいコントローラ情報が前記通知スレッド
のためにラッパー・マップ322を格納するデータベース
位置のマジック・ナンバーに、登録することが可能であ
る。また、ラッパー412は、マップ340に更新を登録する
ことが可能である。共有キャッシュ327に新しい子供と
しての新しいコントローラをロードすることに際して、
イベントが、新しい子データ・ラッパー412にポインタ
を埋め込み、新しいコントローラ・データをクライアン
ト400へ押す、新しい子コントローラ・サーバ・コンポ
ーネント416を生成することによって応答する、前記非
稼動中のデバイス・サーバ・コンポーネント406に掲示
される。クライアント・プロキシ404は、新しい子イベ
ントを受けて、新しい子供の情報を格納し、クライアン
ト400でのユーザ・インタフェースに再表示メッセージ
を提示する。非稼動中のデバイス・クライアント・コン
ポーネント402が新しい子供をロードするときに、該非
稼動中のデバイス・クライアント・コンポーネント402
は、新しい子コントローラ・コンポーネント418を生成
し、非稼動中のデバイス・サーバ・コンポーネント406
によってクライアント400に送信されたサーバ・コンポ
ーネントの識別情報を使用するコントローラ・コンポー
ネント418のために、サーバ・コンポーネント416への接
続を確立する。コントローラ・クライアント・コンポー
ネント418のプロキシ420は、生成され、また、コントロ
ーラ・クライアント・コンポーネント418に代わって、
サーバ・コンポーネント416との通信を想定する。この
ように、通知エンジン336によって検出された前記コン
トローラの追加およびその変更は、ライトウェイトに格
納されたデータを変更することが可能であり、また、ラ
イトウェイトおよび関連付けられたラッパーの生成又は
削除を引き起こす、関連付けられたデータ・ラッパー40
8に送信される。新しいラッパーおよびライトウェイト
の作成が、親のオブジェクトを予約している各クライア
ント・スレッドを拡張する結果となる。
【0119】上述した操作の他に、その他の動作又は操
作は、サーバ306によって実行されることが可能であ
る。例えば、クライアントは、該クライアントがデータ
ベース325に格納すべきコンポーネントを生成する生成
操作を、実行することが可能である。この生成動作に関
連付けられた操作は、データベース325からこのオブジ
ェクトをロードする代わりに、データベース325の根底
にあるデータベース・オブジェクトを生成する特別なス
テップとともに、子供をロードすることと非常に似てい
る。ここで、前記クライアントは、コンポーネントを生
成し、生成したコンポーネントの親に関連付けられたサ
ーバ・コンポーネントに、このコンポーネントを送信す
る。この動作によって、ラッパー・ファクトリ312が、
前記関連付けられた親のラッパーとライトウェイトとの
子供として、ラッパーとライトウェイトとを生成し、新
しいライトウェイトが、新しいコンポーネントをロード
する。前記ライトウェイトは、それから、通知スレッド
におけるラッパー・マップ322でのデータベース位置と
ラッパーとを登録するのと同じように、新しいコンポー
ネントをデータベース325に書き込む。新しいサーバ・
コンポーネントは、それから、ラッパーのために生成さ
れ、この新しいコンポーネントのためにクライアントと
の通信を仮定する。
【0120】データベース325からコンポーネントを削
除するために、クライアントは、関連付けられたサーバ
・コンポーネントを最初に削除し、それから、開放す
る。サーバ・コンポーネントの削除は、削除された状態
で、前記関連付けられたデータ・ラッパーとライトウェ
イトとを置き、それは、それから、データベース325か
らコンポーネントを削除する。前記ラッパーは、その他
の参照しているサーバ・コンポーネント(その他のクラ
イアント・スレッド内の)の各々に削除メッセージを送
り、予約中のクライアントに前記削除動作を通知する。
前記削除上のとき、前記ラッパーは、コンフィギュレー
ション階層から除去され、更なる任意のデータベース操
作も実行することができない。しかし、全ての参照して
いるサーバ・コンポーネントがそれを開放するまで、前
記ラッパーは、残ることが可能である。勿論、前記参照
しているサーバ・コンポーネントは、前記サーバ・コン
ポーネントが前記削除動作のクライアントに通知した後
で、発生する、前記関連付けられたクライアントの開放
まで、開放されない。勿論、データベース・イベント・
メカニズムは、前記通知スレッドの通知エンジンによっ
てラッパーに1箇所に集められる削除メッセージを最終
的に生産することが可能である。前記ラッパーは、削除
された状態にあるので、それはこのメッセージを無視す
る。
【0121】コンフィギュレーション・コンポーネント
の幾つかの操作によってそのコンポーネントの種類が変
化するようになるので、該コンポーネントの変化を生じ
させることが可能である。この変化は、前記コンポーネ
ントとサブ・ツリーとをデータベース325から再ロード
することを必要とする。この操作を生じさせるために、
前記変化されたコンポーネントのための全てのライトウ
ェイトの親/子階層は、既存のライトウェイトへデータ
ベース325から再ロードされる。その後で、前記サーバ
・コンポーネントは、再確立され、これらのサーバ・コ
ンポーネント内の新しい値は、それから、前記クライア
ント・コンポーネントと整合される。このような整合
は、子コンポーネントを通じて繰り返すこと、その種類
が変更され、もはや存在しないものを除去することを含
む。新しい子供は、ロードされて、必要に応じて加えら
れる。
【0122】勿論、クライアントは、単に開放され、又
はデータベース325内のコンポーネントを予約解除する
ことが可能である。この場合、前記クライアントは、前
記関連付けられたサーバ・コンポーネントを開放し、そ
れによって、前記関連付けられたラッパーがラッパーの
参照回数を減少させるようになる。前記ラッパーのため
のラッパーのリファレンス(参照)回数が零になると
き、サーバ・コンポーネントは、このラッパーを参照せ
ず、従って、このラッパーを予約しない。この場合、前
記ラッパーはアンロード(unload)する。望むならば、
前記ラッパーは、該ラッパーが直ちに再ロードされる必
要がある場合に備えて、アンロードする前にタイムアウ
ト時間を待つことが可能である。アンロードするとき、
前記ラッパーは、その関連付けられたライトウェイトを
破壊する(データベース325内の更新通知の登録を取り
消し、前記ラッパー・マップからの登録を取り消す)。
さらに、コンポーネントが開放されるとき、それは、そ
のライトウェイトと全ての子ライトウェイト/子ラッパ
ーを開放し、子ライトウェイト/子ラッパーのバック・
ポインタを零にする。
【0123】ここでは、サーバ306の操作が、1つ又は2
つのコンポーネントにアクセスする2つのクライアント
のために記述されている一方、同様の技術が、拡張され
ることができて、データベース内の任意の数のコンフィ
ギュレーション・オブジェクトから読み出し、また、該
任意の数のコンフィギュレーション・オブジェクトへの
書き込みを行う任意の数のクライアントおよびクライア
ント・スレッドに使用され得ると言える。さらに、複数
のクライアントの予約者関係を確立するために共有キャ
ッシュを使用する技術は、プロセス制御システム内でコ
ンフィギュレーション・データにアクセスするものとし
てここに記述されている一方、この技術は、コンフィギ
ュレーション・データベースと関係がないもの、また、
プロセス制御データベースと関係がないものを含むその
他のどの様なデータベース・アクセス・システムにおい
ても使用されることが可能であると言える。
【0124】また、ここに記述されているデータベース
・アクセス技術は、クライアントがコンポーネント単位
でサーバと通信すると仮定している一方、コンフィギュ
レーション・ツリーの整列は、クライアントとサーバと
の間の、より最適な通信を提供するために使用されるこ
とが可能である。特に、クライアントがツリー又はサブ
・ツリーの全体を引き出さなければならないということ
を知っているときには、1つのサーバがツリー全体を得
るために呼び出しをすることは、むしろ、ツリーの各レ
ベルで子ルーチンのロードの呼び出しを再帰的に行うこ
とよりも効率的である。クライアントがツリー全体をサ
ーバに書き込みたいときには、前記ツリー全体が信号メ
ッセージで送信されることが可能であるように、逆もま
た真実である。勿論、これらのメッセージはクライアン
トとサーバとによって横取りされることが可能である。
そして、予約関係を確立するために必要なオブジェクト
(先に述べた)は、前記ツリー又はサブ・ツリーの全体
を予約するために、また、ツリー又はサブ・ツリーの全
体に書き込むために、前記クライアント又は該クライア
ントに必要なサーバ内のオブジェクトの全てを直ぐに生
成することが可能である。
【0125】また、前記サーバおよびクライアントによ
って作成又は実行されるべく、ここに記述されているオ
ブジェクト,その他の要素,およびステップは、任意の
好ましいプログラミング技術又はプログラミング言語を
使用して実行されることが可能であると言える。そし
て、これらのプログラムは、メモリに格納され、ここに
記述されている前記クライアント,サーバ,およびデー
タベース内において任意の方法でプロセッサに実行され
ることが可能であると言える。さらに、ここに記述され
ているデータ・アクセス技術は、ソフトウェアにおいて
実現することが好ましいが、ハードウェア,ファームウ
ェア等により実現されされても、また、プロセス制御シ
ステム10に関連付けられた任意のプロセッサにより実現
してもよい。このように、望むならば、この技術は、標
準的な多目的CPU又は特別に設計されたハードウェア又
はファームウェアにより実現することも可能である。ソ
フトウェアにより実現するときには、前記ソフトウェア
・ルーチンは、磁気ディスク,レーザー・ディスク,光
ディスク,又はその他の記録媒体、更には、コンピュー
タ又はプロセッサのRAM,ROM等のような任意のコンピュ
ータが読み取り可能なメモリに格納されることが可能で
ある。同様に、例えば、コンピュータが読み取り可能な
ディスク若しくはその他の可搬型のコンピュータの記憶
メカニズムを介したもの、又は電話線,インターネット
等のような通信チャネルを通じたもの(可搬型の記録媒
体を介してこのようなソフトウェアを提供することと同
一視又は置き換え可能である)を含む任意の公知の又は
好ましいデータの移動方法を利用して、このソフトウェ
アをユーザ又はプロセス制御システムに届けることも可
能である。
【0126】このように、本願発明は、説明する目的か
ら、特定の例に関して記述されているものであって、本
願発明を限定するものではない。また、本願発明におい
ては、その目的および範囲から逸脱することなく、開示
されている実施形態の変更、追加、又は削除がなされ得
ることは、当業者にとっては明らかである。
【0127】
【発明の効果】本願発明に係るコンフィギュレーション
・データベース・システム、分散型のコンフィギュレー
ション・データベース・システム、コンフィギュレーシ
ョン・データを格納および使用する方法、データベース
・サーバ、データベース・コンポーネントへのアクセス
を提供する方法、データベースに格納されたコンポーネ
ントへの並列アクセスを提供するためにデータベース・
サーバを使用する方法、およびプロセス制御システムに
おいては、以上に詳述したように、コンフィギュレーシ
ョン・データベースが、プロセス制御システム内の複数
の物理的な位置に分散された複数のデータベースを備
え、各データベースが、コンフィギュレーション・デー
タのサブセットを格納する。該サブセットには、前記シ
ステム内の任意のサイトでのユーザからアクセスするこ
とができる。共有キャッシュを有するデータベース・サ
ーバは、前記データベースからの最小回数の読み込みの
みで、複数の予約者にコンフィギュレーション・データ
を読み込ませるようにアクセスする。前記システム内で
予約者によって見られているコンフィギュレーション・
データが古くなることを防止すべく、前記データベース
・サーバは、前記データベース内の各項目への変更を自
動的に検出し、なされた変更の通知を予約者の各々に送
信する。これにより、それがコンフィギュレーション・
データベース内に実際に存在するかのように、ユーザが
コンフィギュレーションの状態を常に見ることができ
る。
【図面の簡単な説明】
【図1】 衛星通信回線を介して通信可能に接続された
2つの地理的に離隔したサイトを備えるプロセス制御シ
ステムのブロック図である。
【図2】 コンフィギュレーション・アプリケーション
で示される典型的なプロセス制御システム階層の図であ
る。
【図3】 遅い通信回線を介して接続され、共通のマス
ター・コンフィギュレーション・データベースを共有す
るメイン・サイトおよびリモート・サイトを備えるプロ
セス制御システムのブロック図である。
【図4】 共通のマスター・コンフィギュレーション・
データベースを共有するメイン・サイトと2つのオフラ
イン・サイトとを備えるプロセス制御システムのブロッ
ク図である。
【図5】 共通のマスター・コンフィギュレーション・
データベースを共有する、ローカル・エリア・ネットワ
ークを介してプラント・サイトに接続され、間欠的な通
信接続を介してユーザ・インタフェースに接続された制
御室を備えるプロセス制御システムのブロック図であ
る。
【図6】 地理的に離隔した異なる部分を遅い又は小さ
い帯域幅の通信回線を介して通信可能に接続されたプロ
セス制御システムにおいて使用される分散型のコンフィ
ギュレーション・データベース・システムのブロック図
である。
【図7】 複数のクライアントとコンフィギュレーショ
ン・コンポーネントとの間でコンフィギュレーション・
データベース内に格納される予約者/公開者通信を行う
コンフィギュレーション・データベース・サーバ内で、
共有キャッシュを用いるコンフィギュレーション・デー
タベースのクライアント/サーバ・システムのブロック
図である。
【図8】 図7のコンフィギュレーション・データベー
ス内に格納されたコンフィギュレーション・コンポーネ
ントへアクセスする複数のクライアントを提供するため
に、図7のクライアント/サーバ・システム内で用いら
れるオブジェクト・モデルを示す図である。
【図9】 プレスタート(起動)時における図7のデー
タベース・サーバ内のオブジェクトの状態を示すブロッ
ク図である。
【図10】 第1のクライアントがコンフィギュレーシ
ョン・データベースから第1のコンフィギュレーション
・コンポーネントにアクセスすべくサーバに接続する際
の、図7のデータベース・サーバ内のオブジェクトの操
作を示すブロック図である。
【図11】 第1のクライアントがコンフィギュレーシ
ョン・データベースからコンポーネントの子供をロード
する際の、図7のデータベース・サーバ内のオブジェク
トの操作を示すブロック図である。
【図12】 第2のクライアントが、既にデータベース
・サーバの共有キャッシュに格納されたコンフィギュレ
ーション・データベースから、第1および第2のコンフィ
ギュレーション・コンポーネントにアクセスすべくデー
タベース・サーバに接続する際の、図7のデータベース
・サーバ内のオブジェクトの操作を示すブロック図であ
る。
【図13】 データベース・サーバの通知スレッドによ
って生成されたイベント通知に応じた、図7のデータベ
ース・サーバ内のオブジェクトの操作を示すブロック図
である。
【図14】 データベース・サーバ内で共有キャッシュ
への並列アクセスの仲介をする図7のデータベース・サ
ーバ内のロック・マネージャの操作を示すブロック図で
ある。
【図15】 ランタイム・サービスの通知スレッドによ
って生成されたイベント通知に応じた、図7のデータベ
ース・サーバ内のオブジェクトの操作を示すブロック図
である。
【符号の説明】
10,130,145,170 プロセス制御システム 12,131 メイン・サイト(第1のサイト,ローカル・サ
イト) 14,135,136 リモート・サイト(第2のプロセス制御
サイト) 16,213,230,304,344 通信回線 24,26,50 プロセス・コントローラ 30,132,147 マスター・データベース 54,142,156,162 ブリーフケース・データベース
(ミラー・データベース) 65 ツリー 133,138,148,152,164,202,306 データベース・
サーバ 150,154 ランタイム・サーバ 210,212 データ・ストア 214 共有キャッシュ 220 通知スレッド 222 ランタイム・スレッド 316 ロック・マネージャ 320,336 通知エンジン 327 共有キャッシュ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャットコフ, テレサ アメリカ合衆国 78759 テキサス オー スティン コードラ ドライブ 4002 (72)発明者 ギルバート, スティーヴン アメリカ合衆国 78758 テキサス オー スティン マウンテン クウェイル ロー ド 10109 (54)【発明の名称】 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データ ベース・システム、コンフィギュレーション・データを格納および使用する方法、データベー ス・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納 されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方 法、およびプロセス制御システム

Claims (79)

    【特許請求の範囲】
  1. 【請求項1】 複数の地理的に分散された物理的な位置
    を備えたプロセス制御システムに関連するコンフィギュ
    レーション・データを格納すべく使用されるコンフィギ
    ュレーション・データベース・システムにおいて、 前記複数の物理的な位置の各々に配置され、各々が前記
    コンフィギュレーション・データの異なる部分を元々格
    納するために構成されたコンフィギュレーション・デー
    タベースと、 前記複数の地理的に分散された物理的な位置を相互に通
    信可能に結合する通信ネットワークと、 該通信ネットワークを介して前記コンフィギュレーショ
    ン・データベースの各々と通信し、コンフィギュレーシ
    ョン動作を行うべく、前記コンフィギュレーション・デ
    ータベースのうちの2つ以上からのデータを使用すべく
    構成されたコンフィギュレーション・アプリケーション
    とを備えることを特徴とするコンフィギュレーション・
    データベース・システム。
  2. 【請求項2】 前記コンフィギュレーション・アプリケ
    ーションは、第1のコンフィギュレーション・データベ
    ースのうちの1つ内で前記コンフィギュレーション・デ
    ータのサブセットを予約すべく構成され、前記第1のコ
    ンフィギュレーション・データベースのうちの1つは、
    前記コンフィギュレーション・アプリケーションが予約
    する該第1のコンフィギュレーション・データベースに
    格納された前記コンフィギュレーション・データのサブ
    セットへの変更を自動的に認識する第1のルーチンと、
    前記コンフィギュレーション・アプリケーションに前記
    コンフィギュレーション・データのサブセットの変更を
    自動的に通知する第2のルーチンとを有するデータベー
    ス・サーバとを備えることを特徴とする請求項1記載の
    コンフィギュレーション・データベース・システム。
  3. 【請求項3】 前記第2のルーチンは、前記第1のルーチ
    ンが前記コンフィギュレーション・データのサブセット
    への変更を検出した際、前記コンフィギュレーション・
    アプリケーションに、前記第1のコンフィギュレーショ
    ン・データベースに格納された前記コンフィギュレーシ
    ョン・データのサブセットになされた変更を自動的に伝
    えることを特徴とする請求項2記載のコンフィギュレー
    ション・データベース・システム。
  4. 【請求項4】 前記コンフィギュレーション・アプリケ
    ーションは、前記第1のコンフィギュレーション・デー
    タベース内のコンフィギュレーション・データの項目を
    ロックするためのロック・コマンドを送信するロック部
    分を有し、前記データベース・サーバは、前記ロック・
    コマンドを送信した前記コンフィギュレーション・アプ
    リケーション以外の如何なるコンフィギュレーション・
    アプリケーションによって前記コンフィギュレーション
    ・データの項目が変更されることからも防ぐために、前
    記第1のコンフィギュレーション・データベース内の前
    記コンフィギュレーション・データの項目をロックする
    ロック・ルーチンを更に有することを特徴とする請求項
    2記載のコンフィギュレーション・データベース・シス
    テム。
  5. 【請求項5】 第2のコンフィギュレーション・アプリ
    ケーションを更に備え、前記データベース・サーバは、 第1および第2のコンフィギュレーション・アプリケーシ
    ョンに、前記第1のコンフィギュレーション・データベ
    ース内のコンフィギュレーション・データの特定の項目
    への並列アクセスを提供する第2のルーチンと、 前記第1のコンフィギュレーション・アプリケーション
    が前記第1のコンフィギュレーション・データベース内
    のコンフィギュレーション・データの特定の項目に書き
    込むときに、前記コンフィギュレーション・データの特
    定の項目をロックし、それによって、前記第2のコンフ
    ィギュレーション・アプリケーションによって、前記コ
    ンフィギュレーション・データの特定の項目が変更され
    ることを防止するロック・ルーチンとを有することを特
    徴とする請求項2記載のコンフィギュレーション・デー
    タベース・システム。
  6. 【請求項6】 前記コンフィギュレーション・データベ
    ースは、下位レベルにおいて少なくとも2つのコンフィ
    ギュレーション・データベースを有し、上位レベルにお
    いて少なくとも1つのコンフィギュレーション・データ
    ベースを有する階層を確立され、前記下位レベルにおけ
    るコンフィギュレーション・データベースの各々が、前
    記上位レベルにおけるコンフィギュレーション・データ
    ベースに通信可能に結合されることを特徴とする請求項
    1記載のコンフィギュレーション・データベース・シス
    テム。
  7. 【請求項7】 前記下位レベルは、前記物理的な位置の
    異なるものに関連するゾーンを含み、第1のゾーンに関
    連するコンフィギュレーション・データは、該第1のゾ
    ーンでコンフィギュレーション・データベースに格納さ
    れ、第1および第2のゾーンに関連するコンフィギュレー
    ション・データは、該第1および第2のゾーンに通信可能
    に結合された階層における前記上位レベルでのコンフィ
    ギュレーション・データベースに格納されることを特徴
    とする請求項6記載のコンフィギュレーション・データ
    ベース・システム。
  8. 【請求項8】 前記下位レベルにおけるコンフィギュレ
    ーション・データベースと、前記上位レベルにおけるコ
    ンフィギュレーション・データベースとのうちの1つに
    おいて、同一の名前の使用を検出するソフトウェアを更
    に有していることを特徴とする請求項6記載のコンフィ
    ギュレーション・データベース・システム。
  9. 【請求項9】 前記コンフィギュレーション・アプリケ
    ーションは、前記コンフィギュレーション・データベー
    スの第1のものを閲覧し、且つ前記コンフィギュレーシ
    ョン・データベースの第2のものを閲覧するように構成
    されたブラウザを含むことを特徴とする請求項1記載の
    コンフィギュレーション・データベース・システム。
  10. 【請求項10】 前記コンフィギュレーション・データ
    ベースのうちの1つは、前記コンフィギュレーション・
    データベースの別の1つに元々格納された項目のローカ
    ル・コピーを格納することを特徴とする請求項1記載の
    コンフィギュレーション・データベース・システム。
  11. 【請求項11】 前記通信ネットワークは、前記コンフ
    ィギュレーション・データベースのうちの2つの間に、
    遅い通信回線を備えることを特徴とする請求項1のコン
    フィギュレーション・データベース・システム。
  12. 【請求項12】 複数の物理的な位置を有するプロセス
    制御システムで使用されるべく構成された分散型のコン
    フィギュレーション・データベース・システムにおい
    て、 前記プロセス制御システムのためのコンフィギュレーシ
    ョン・データの第1の部分を格納する物理的な位置の第1
    のものに位置する第1のコンフィギュレーション・デー
    タベースと、 前記プロセス制御システムのためのコンフィギュレーシ
    ョン・データの前記第1の部分とは異なる第2の部分を格
    納する物理的な位置の第2のものに位置する第2のコンフ
    ィギュレーション・データベースと、 遅い通信回線を使用して第1の物理的な位置と第2の物理
    的な位置とを相互接続する通信ネットワークとを備え、 前記第1および第2のコンフィギュレーション・データベ
    ースは、前記第1および第2の物理的な位置でのユーザと
    通信すべく構成されることを特徴とする分散型のコンフ
    ィギュレーション・データベース・システム。
  13. 【請求項13】 前記第2のコンフィギュレーション・
    データベースは、前記第1のコンフィギュレーション・
    データベース内のコンフィギュレーション・データを予
    約すべく構成され、前記第1のコンフィギュレーション
    ・データベースは、前記第2のコンフィギュレーション
    ・データベースが予約する前記第1のコンフィギュレー
    ション・データベースに格納された前記コンフィギュレ
    ーション・データへの変更を自動的に検出する第1のル
    ーチンと、前記第2のコンフィギュレーション・データ
    ベースが予約する前記第1のコンフィギュレーション・
    データベースに格納された前記コンフィギュレーション
    ・データへの変更を前記第2のコンフィギュレーション
    ・データベースに自動的に通知する第2のルーチンと有
    するデータベース・サーバを備えることを特徴とする請
    求項12記載の分散型のコンフィギュレーション・デー
    タベース・システム。
  14. 【請求項14】 前記第1のルーチンが、前記第2のコン
    フィギュレーション・データベースが予約する前記第1
    のコンフィギュレーション・データベースに格納された
    前記コンフィギュレーション・データへの変更を検出し
    たときに、前記第2のルーチンは、前記第1のコンフィギ
    ュレーション・データベースに格納された前記コンフィ
    ギュレーション・データになされた変更を前記第2のコ
    ンフィギュレーション・データベースへ自動的に伝える
    ことを特徴とする請求項13記載の分散型のコンフィギ
    ュレーション・データベース・システム。
  15. 【請求項15】 前記第1のコンフィギュレーション・
    データベースに関連付けられた第1および第2のコンフィ
    ギュレーション・アプリケーション並びにデータベース
    ・サーバを更に備え、該データベース・サーバは、 前記第1および第2のコンフィギュレーション・アプリケ
    ーションに、前記第1のデータベース内のコンフィギュ
    レーション・データの任意の特定の項目への並列アクセ
    スを提供する共有キャッシュと、 前記第1のコンフィギュレーション・アプリケーション
    がコンフィギュレーション・データの前記特定の項目に
    書き込むときに、前記第1のコンフィギュレーション・
    データベース内のコンフィギュレーション・データの前
    記特定の項目をロックすることによって、前記第2のコ
    ンフィギュレーション・アプリケーションがコンフィギ
    ュレーション・データの前記特定の項目を変更すること
    を防止するロック・ルーチンと備えることを特徴とする
    請求項12記載の分散型のコンフィギュレーション・デ
    ータベース・システム。
  16. 【請求項16】 第3の物理的な位置に配置された第3の
    コンフィギュレーション・データベースを更に備え、 前記第1,第2,および第3のコンフィギュレーション・
    データベースは、前記第1および第2のコンフィギュレー
    ション・データベースが下位レベルにあり、前記第3の
    コンフィギュレーション・データベースが上位レベルに
    ある階層に構築され、 前記下位レベルにおける第1および第2のコンフィギュレ
    ーション・データベースの各々が、通信ネットワークを
    介して、前記第3のコンフィギュレーション・データベ
    ースに前記上位レベル内で通信可能に結合されることを
    特徴とする請求項12記載の分散型のコンフィギュレー
    ション・データベース・システム。
  17. 【請求項17】 前記下位レベルは、第1および第2のゾ
    ーンを含み、該第1のゾーンに関連するコンフィギュレ
    ーション・データは、前記第1のコンフィギュレーショ
    ン・データベースに格納され、前記第2のゾーンに関連
    するコンフィギュレーション・データは、前記第2のコ
    ンフィギュレーション・データベースに格納され、前記
    第1および第2のゾーンに関連するコンフィギュレーショ
    ン・データが、前記第3のコンフィギュレーション・デ
    ータベースに格納されることを特徴とする請求項16記
    載の分散型のコンフィギュレーション・データベース・
    システム。
  18. 【請求項18】 前記第1および第3のコンフィギュレー
    ション・データベース内で、又は前記第2および第3のコ
    ンフィギュレーション・データベース内で、同一の名前
    の使用を検出するルーチンを更に備えることを特徴とす
    る請求項16記載の分散型のコンフィギュレーション・
    データベース・システム。
  19. 【請求項19】 プロセス制御システムが、地理的に離
    隔した2つ以上の物理的な位置を有する場合、前記プロ
    セス制御システムに関連するコンフィギュレーション・
    データを格納および使用する方法において、 複数のコンフィギュレーション・データベースの各々に
    前記コンフィギュレーション・データの異なる部分を格
    納し、前記複数のコンフィギュレーション・データベー
    スのうちの2つが、異なる物理的な位置に配置されるス
    テップと、 前記複数のコンフィギュレーション・データベースの各
    々の間の通信回線を提供するステップと、 コンフィギュレーション動作を行うために、前記複数の
    コンフィギュレーション・データベースのうちの2つ以
    上から、異なるコンフィギュレーション・データに同時
    にアクセスするステップとを有することを特徴とする方
    法。
  20. 【請求項20】 前記異なるコンフィギュレーション・
    データに同時にアクセスするステップは、 アクセスされたコンフィギュレーション・データに前記
    複数のコンフィギュレーション・データベースのうちの
    2つ以上から予約するアプリケーションを使用し、 前記アクセスされたコンフィギュレーション・データに
    なされた任意の変更を前記複数のコンフィギュレーショ
    ン・データベースのうちの2つ以上から前記アプリケー
    ションに自動的に送信することを特徴とする請求項19
    記載の方法。
  21. 【請求項21】 前記コンフィギュレーション・データ
    ベース内に、下位レベルに2つのコンフィギュレーショ
    ン・データベースを含み、上位レベルに1つのコンフィ
    ギュレーション・データベースを含む階層を確立するス
    テップと、 前記下位レベルの2つのコンフィギュレーション・デー
    タベースの各々と前記上位レベルの1つのコンフィギュ
    レーション・データベースとの間の通信を構築するステ
    ップとを更に有することを特徴とする請求項19記載の
    方法。
  22. 【請求項22】 前記階層の上位レベルでの前記1つの
    コンフィギュレーション・データベース内で、および前
    記階層の下位レベルでの前記2つのコンフィギュレーシ
    ョン・データベース内で、コンフィギュレーション・デ
    ータのためのユニークな名前を使用するステップを更に
    含み、 同一の名前が、前記階層の下位レベルでの前記2つのコ
    ンフィギュレーション・データベースにおいて使用され
    ることを特徴とする請求項21記載の方法。
  23. 【請求項23】 複数のクライアントに、データベース
    に格納されたデータベース・コンポーネントへの並列ア
    クセスを提供すべく構成されたデータベース・サーバに
    おいて、 前記データベース・コンポーネントのコピーを保持す
    る、前記データベースに通信可能に結合されたメモリ・
    ストアを含む共有キャッシュと、 前記メモリ・ストアに関連付けられ、該メモリ・ストア
    へのアクセスを制御するメモリ・ストア・ゲートと、 各々が、前記メモリ・ストアへのアクセスを得るために
    前記メモリ・ストア・ゲートと通信し、前記メモリ・ス
    トアに格納されたデータベース・コンポーネントに関し
    て前記複数のクライアントのうちの1つと通信するサー
    バ・コンポーネントを含む、前記複数のクライアントの
    ためのクライアント・スレッドとを備え、 前記複数のクライアントのうちの1つだけが前記データ
    ベース・コンポーネントにアクセスしているときに、前
    記メモリ・ストア・ゲートが単一のサーバ・コンポーネ
    ントと通信し、2つ以上のクライアントが前記データベ
    ース・コンポーネントにアクセスしているときに、前記
    メモリ・ストア・ゲートが2つ以上のサーバ・コンポー
    ネントと通信することを特徴とするデータベース・サー
    バ。
  24. 【請求項24】 前記データベース内のデータベース・
    コンポーネントになされた変更を検出し、検出された変
    更を前記メモリ・ストア・ゲートに通知する通知エンジ
    ンを有する通知スレッドを更に備えることを特徴とする
    請求項23記載のデータベース・サーバ。
  25. 【請求項25】 前記メモリ・ストア・ゲートは、前記
    検出された変更について、前記メモリ・ストア・ゲート
    と通信するサーバ・コンポーネントに通知し、通知され
    たサーバ・コンポーネントは、該サーバ・コンポーネン
    トが通信するクライアントに前記検出された変更につい
    て通知することを特徴とする請求項24記載のデータベ
    ース・サーバ。
  26. 【請求項26】 前記通知スレッドは、前記データベー
    スに格納された前記データベース・コンポーネントを前
    記メモリ・ストア・ゲートにマッピングするマップを更
    に含み、前記通知エンジンは、前記検出された変更につ
    いて前記メモリ・ストア・ゲートに通知するために前記
    マップを使用することを特徴とする請求項24記載のデ
    ータベース・サーバ。
  27. 【請求項27】 前記メモリ・ストア・ゲートは、ユニ
    ークな識別子を含むとともに、該ユニークな識別子を前
    記マップに登録し、前記メモリ・ストアは、前記データ
    ベースから前記データベース・コンポーネントを読み出
    すために、又は前記データベースへ前記データベース・
    コンポーネントを書き込むために、処理オブジェクトを
    使用し、該処理オブジェクトは、前記ユニークな識別子
    に関連付けられた前記マップ内の前記データベース・コ
    ンポーネントのためのデータベース・コンポーネント位
    置を登録することを特徴とする請求項26記載のデータ
    ベース・サーバ。
  28. 【請求項28】 前記データベースの外で実行されるア
    プリケーションによって作られたデータベース・コンポ
    ーネントに関してなされた変更を検出し、前記データベ
    ース・コンポーネントでの検出された変更について前記
    メモリ・ストア・ゲートに通知するランタイム通知エン
    ジンを含むランタイム・スレッドを更に有することを特
    徴とする請求項24記載のデータベース・サーバ。
  29. 【請求項29】 前記クライアント・スレッドの各々の
    サーバ・コンポーネントは、前記メモリ・ストアから読
    み出すこと、および書き込むことができることを特徴と
    する請求項23記載のデータベース・サーバ。
  30. 【請求項30】 前記サーバ・コンポーネントのうちの
    1つは、遅い通信回線を介して前記複数のクライアント
    のうちの1つと通信することを特徴とする請求項23記
    載のデータベース・サーバ。
  31. 【請求項31】 前記遅い通信回線は、衛星通信回線で
    あることを特徴とする請求項23記載のデータベース・
    サーバ。
  32. 【請求項32】 前記メモリ・ストア・ゲートが前記メ
    モリ・ストアに書き込むことを防止させるロック・マネ
    ージャを更に備えることを特徴とする請求項23記載の
    データベース・サーバ。
  33. 【請求項33】 前記ロック・マネージャは、前記メモ
    リ・ストア・ゲートに、前記複数のクライアントのうち
    の1つが前記メモリ・ストアに書き込んでいるときに、
    前記複数のクライアントのうちの1つを除く前記複数の
    クライアントの各々によって前記メモリ・ストアに書き
    込むことを防止させること特徴とする請求項32記載の
    データベース・サーバ。
  34. 【請求項34】 前記データベースは、コンフィギュレ
    ーション・データベースであり、前記データベース・コ
    ンポーネントは、プロセス制御ネットワークのコンフィ
    ギュレーションに関連するコンフィギュレーション・コ
    ンポーネントであることを特徴とする請求項23記載の
    データベース・サーバ。
  35. 【請求項35】 複数のクライアントに、データベース
    に格納された複数のデータベース・コンポーネントへの
    並列アクセスを提供すべく構成されたデータベース・サ
    ーバにおいて、 各々が前記複数のデータベース・コンポーネントの異な
    る1つのコピーを保持する、前記データベースに通信可
    能に結合された複数のメモリ・ストアを含む共有キャッ
    シュと、 前記複数のメモリ・ストアの各々に関連付けられ、各々
    が、関連付けられたメモリ・ストアへのアクセスを制御
    するメモリ・ストア・ゲートと、 各々が、前記メモリ・ストア・ゲートのうちの1つに関
    連付けられたメモリ・ストアへのアクセスを得るために
    前記メモリ・ストア・ゲートのうちの1つと通信し、前
    記メモリ・ストア・ゲートのうちの1つに関連付けられ
    た前記メモリ・ストアに格納されたデータベース・コン
    ポーネントに関して前記複数のクライアントのうちの1
    つと通信するサーバ・コンポーネントを含む、複数のク
    ライアントの各々のためのクライアント・スレッドとを
    備え、 前記複数のクライアントのうちの1つだけが前記メモリ
    ・ストア・ゲートに関連付けられたメモリ・ストアに格
    納されたデータベース・コンポーネントにアクセスして
    いるときに、前記メモリ・ストア・ゲートの各々が単一
    のサーバ・コンポーネントと通信し、前記複数のクライ
    アントのうちの2つ以上が前記メモリ・ストア・ゲート
    に関連付けられたメモリ・ストアに格納されたデータベ
    ース・コンポーネントにアクセスしているときに、前記
    メモリ・ストア・ゲートの各々が2つ以上のサーバ・コ
    ンポーネントと通信することを特徴とするデータベース
    ・サーバ。
  36. 【請求項36】 前記複数のデータベース・コンポーネ
    ントのうちの1つになされた変更を検出し、検出された
    変更を前記メモリ・ストア・ゲートのうちの1つに通知
    する通知エンジンを有する通知スレッドを更に備えるこ
    とを特徴とする請求項35記載のデータベース・サー
    バ。
  37. 【請求項37】 前記メモリ・ストア・ゲートのうち1
    つは、該メモリ・ストア・ゲートのうちの1つと通信す
    る前記サーバ・コンポーネントに前記検出された変更に
    ついて通知し、通知されたサーバ・コンポーネントは、
    該サーバ・コンポーネントが通信するクライアントに前
    記検出された変更について通知することを特徴とする請
    求項36記載のデータベース・サーバ。
  38. 【請求項38】 前記通知されたサーバ・コンポーネン
    トは、該サーバ・コンポーネントが通信するクライアン
    トに、前記検出された変更を提供することを特徴とする
    請求項37記載のデータベース・サーバ。
  39. 【請求項39】 前記メモリ・ストア・ゲートの各々が
    前記関連付けられたメモリ・ストアに書き込むことを防
    止するロック・マネージャを更に備えることを特徴とす
    る請求項35記載のデータベース・サーバ。
  40. 【請求項40】 一方が親メモリ・ストア・ゲートであ
    り、他方が子メモリ・ストア・ゲートであるように、前
    記メモリ・ストア・ゲートのうちの2つが親子関係を有
    し、前記ロック・マネージャが前記親メモリ・ストア・
    ゲートをロックさせるときに、前記ロック・マネージャ
    が前記子メモリ・ストア・ゲートをロックさせることを
    特徴とする請求項39記載のデータベース・サーバ。
  41. 【請求項41】 複数のクライアントに、データベース
    に格納されたデータベース・コンポーネントへの並列ア
    クセスを提供するために、プロセス制御システムにおい
    て使用されるべく構成されたデータベース・サーバにお
    いて、 共有キャッシュと、 前記データベース・コンポーネントが複数のクライアン
    トのうちの1つ以上によってアクセスされているとき
    に、前記共有キャッシュ内で、前記データベース・コン
    ポーネントのためのメモリ・ストアを確立する第1の要
    素と、 前記複数のクライアントの各々のためのクライアント・
    スレッドを確立するクライアント・スレッド・ルーチン
    とを備え、 前記クライアント・スレッドの各々は、前記クライアン
    トのうちの1つと通信するサーバ・コンポーネントを含
    み、 前記クライアント・スレッド・ルーチンは、前記メモリ
    ・ストアと通信し、これによって、前記複数のクライア
    ントのうちの1つによって前記メモリ・ストアに格納さ
    れたデータベース・コンポーネントへのアクセスを提供
    し、 前記複数のクライアントのうちの1つだけがデータベー
    ス・コンポーネントにアクセスしているときに、単一の
    サーバ・コンポーネントと通信すべく構成され、前記複
    数のクライアントのうちの2つ以上がデータベース・コ
    ンポーネントにアクセスしているときに、前記メモリ・
    ストアが2つ以上のサーバ・コンポーネントと通信すべ
    く構成されていることを特徴とするデータベース・サー
    バ。
  42. 【請求項42】 前記第1の要素は、前記メモリ・スト
    アに関連付けられたメモリ・ストア・ゲートを確立し、
    該メモリ・ストア・ゲートは、2つ以上のクライアント
    が前記データベース・コンポーネントにアクセスしてい
    るときに、前記2つ以上のクライアント・スレッドにお
    ける前記サーバ・コンポーネントの各々によって前記関
    連付けられたメモリ・ストアへのアクセスを提供するた
    めに、前記クライアント・スレッドのうちの2つ以上に
    おける前記サーバ・コンポーネントと通信すべく構成さ
    れることを特徴とする請求項41記載のデータベース・
    サーバ。
  43. 【請求項43】 前記メモリ・ストアは、前記データベ
    ース内のデータベース・コンポーネントにアクセスする
    ための処理オブジェクトを使用することを特徴とする請
    求項42記載のデータベース・サーバ。
  44. 【請求項44】 通知エンジンおよびマップを有する通
    知スレッドを更に備え、前記通知エンジンは、前記デー
    タベース内のデータベース・コンポーネントへの変更を
    検出し、検出された変更について前記メモリ・ストア・
    ゲートに通知すべくマップを使用することを特徴とする
    請求項42記載のデータベース・サーバ。
  45. 【請求項45】 前記メモリ・ストア・ゲートは、該メ
    モリ・ストア・ゲートが通信する前記サーバ・コンポー
    ネントの全てに前記データベース・コンポーネントの前
    記検出された変更について通知し、通知されたサーバ・
    コンポーネントは、該サーバ・コンポーネントが通信す
    るクライアントに前記検出された変更について通知する
    ことを特徴とする請求項44記載のデータベース・サー
    バ。
  46. 【請求項46】 前記通知エンジンが前記データベース
    内のデータベース・コンポーネントの前記検出された変
    更について前記メモリ・ストア・ゲートに通知するとき
    に、該メモリ・ストア・ゲートが前記メモリ・ストアに
    前記データベースから前記データベース・コンポーネン
    トを読み込ませることを特徴とする請求項44記載のデ
    ータベース・サーバ。
  47. 【請求項47】 前記通知スレッドは、前記データベー
    ス内のデータベース・コンポーネントへの変更を検出す
    るために、前記データベースによって生成された変更リ
    ストを使用することを特徴とする請求項44記載のデー
    タベース・サーバ。
  48. 【請求項48】 前記プロセス制御システム内で実行さ
    れるランタイム・アプリケーションの操作に基づいて前
    記データベース・コンポーネントへの変更を検出し、検
    出された変更について前記メモリ・ストア・ゲートに通
    知するランタイム・サービス通知スレッドを更に含むこ
    とを特徴とする請求項44記載のデータベース・サー
    バ。
  49. 【請求項49】 前記サーバ・コンポーネントのうちの
    少なくとも1つは、衛星通信回線を介して前記複数のク
    ライアントのうちの1つと通信すべく構成されることを
    特徴とする請求項41記載のデータベース・サーバ。
  50. 【請求項50】 前記サーバ・コンポーネントのうちの
    少なくとも1つは、セルラー通信回線を介して前記複数
    のクライアントのうちの1つと通信すべく構成されるこ
    とを特徴とする請求項41記載のデータベース・サー
    バ。
  51. 【請求項51】 前記サーバ・コンポーネントのうちの
    少なくとも1つは、無線通信回線を介して前記複数のク
    ライアントのうちの1つと通信すべく構成されることを
    特徴とする請求項41記載のデータベース・サーバ。
  52. 【請求項52】 前記サーバ・コンポーネントのうちの
    少なくとも1つは、電話通信回線を介して前記複数のク
    ライアントのうちの1つと通信すべく構成されることを
    特徴とする請求項41記載のデータベース・サーバ。
  53. 【請求項53】 前記複数のクライアントのうちの1つ
    が前記複数のクライアントのうちの別のものによる前記
    メモリ・ストアへのアクセスを防止すべく前記メモリ・
    ストアにアクセスしているときに、前記メモリ・ストア
    をロックするロック・マネージャを更に備えることを特
    徴とする請求項41記載のデータベース・サーバ。
  54. 【請求項54】 コンテキスト・メモリを更に備え、前
    記メモリ・ストアが、前記クライアントのうちの第1の
    ものに代わって前記データベースと通信するときに、前
    記コンテキスト・メモリの第1の部分を使用し、前記ク
    ライアントのうちの第2のものに代わって前記コンフィ
    ギュレーション・データベースと通信するときに、前記
    コンテキスト・メモリの前記第1の部分とは異なる第2の
    部分を使用することを特徴とする請求項41記載のデー
    タベース・サーバ。
  55. 【請求項55】 複数のクライアントに、データベース
    に格納されたデータベース・コンポーネントへのアクセ
    スを提供する方法において、 前記データベース・コンポーネントに関して前記データ
    ベースからの読み出し又は前記データベースへの書き込
    みを行うべく、共有キャッシュ内に前記データベースと
    通信する格納オブジェクトを生成するステップと、 前記複数のクライアントの第1のものと前記データベー
    ス・コンポーネントとの間の通信を提供するために第1
    のクライアント・スレッドを使用するステップと、 前記複数のクライアントの第2のものと前記データベー
    ス・コンポーネントとの間の通信を提供するために第2
    のクライアント・スレッドを使用するステップとを有
    し、 前記第1のクライアント・スレッドを使用するステップ
    は、 前記データベース・コンポーネントに関して前記第1の
    クライアントと通信する第1の通信コンポーネントを生
    成するステップと、 該第1の通信コンポーネントと前記格納オブジェクトと
    の間のリンクを提供するステップとを有し、 前記第2のクライアント・スレッドを使用するステップ
    は、 前記データベース・コンポーネントに関して前記第2の
    クライアントと通信する第2の通信コンポーネントを生
    成するステップと、 該第2の通信コンポーネントと前記格納オブジェクトと
    の間のリンクを提供するステップとを有することを特徴
    とする方法。
  56. 【請求項56】 前記格納オブジェクトを生成するステ
    ップは、前記格納オブジェクトに関連付けられた格納オ
    ブジェクト・ゲートを生成するステップを含み、該格納
    オブジェクト・ゲートは、前記第1および第2のクライア
    ント・スレッドにおける前記サーバ・コンポーネントの
    各々によって前記格納オブジェクトへのアクセスを提供
    するために、前記第1および第2のクライアント・スレッ
    ドにおける前記サーバ・コンポーネントと通信すべく構
    成されることを特徴とする請求項55記載の方法。
  57. 【請求項57】 前記データベース内のデータベース・
    コンポーネントにアクセスし、前記格納オブジェクトと
    前記データベースとの間の通信を提供するための処理オ
    ブジェクトを使用するステップを更に有することを特徴
    とする請求項56記載の方法。
  58. 【請求項58】 前記データベース内のデータベース・
    コンポーネントへの変更を検出し、前記格納オブジェク
    ト・ゲートに前記変更について通知するステップを更に
    有することを特徴とする請求項56記載の方法。
  59. 【請求項59】 前記格納オブジェクト・ゲートが通信
    する前記サーバ・コンポーネントの全てに、前記データ
    ベース・コンポーネントで検出された変更について通知
    する前記格納オブジェクト・ゲートを使用するステップ
    と、通知されたサーバ・コンポーネントから該通知され
    たサーバ・コンポーネントが通信するクライアントへ、
    前記データベース・コンポーネントに検出された変更を
    伝えるステップとを更に有することを特徴とする請求項
    58記載の方法。
  60. 【請求項60】 前記データベース・コンポーネントへ
    の変更が検出されたときに、前記格納オブジェクトに、
    前記データベースから前記データベース・コンポーネン
    トを読み出させるステップを更に有することを特徴とす
    る請求項59記載の方法。
  61. 【請求項61】 前記通知されたサーバ・コンポーネン
    トから前記クライアントへ前記検出された変更を伝える
    ステップは、前記サーバ・コンポーネントのうちの1つ
    と前記クライアントのうちの1つとの間で通信するため
    に衛星通信回線を使用するステップを含むことを特徴と
    する請求項59記載の方法。
  62. 【請求項62】 前記通知されたサーバ・コンポーネン
    トから前記クライアントへ前記検出された変更を伝える
    ステップは、前記サーバ・コンポーネントのうちの1つ
    と前記クライアントのうちの1つとの間で通信するため
    に無線通信回線を使用するステップを有することを特徴
    とする請求項59記載の方法。
  63. 【請求項63】 前記通知されたサーバ・コンポーネン
    トから前記クライアントへ前記検出された変更を伝える
    ステップは、前記サーバ・コンポーネントのうちの1つ
    と前記クライアントのうちの1つとの間で通信するため
    に電話回線を使用するステップを更に有することを特徴
    とする請求項59記載の方法。
  64. 【請求項64】 前記複数のクライアントのうちの1つ
    が前記複数のクライアントのその他ものによる前記メモ
    リ・オブジェクトへのアクセスを防止するために前記格
    納オブジェクトにアクセスしているときに、前記格納オ
    ブジェクトをロックするステップを更に有することを特
    徴とする請求項59記載の方法。
  65. 【請求項65】 複数のクライアントに、共有キャッシ
    ュを有するデータベースに格納されたコンポーネントへ
    の並列アクセスを提供するためにデータベース・サーバ
    を使用する方法において、 クライアントが前記データベース内のコンポーネントへ
    のアクセスを要求するときに、 (1) 前記コンポーネントに関してクライアントと通信す
    るデータベース・サーバ内に通信コンポーネント・オブ
    ジェクトを生成し、 (2) 共有メモリ・オブジェクトが前記共有キャッシュ内
    で確立されなかったか否かを判断し、前記共有メモリ・
    オブジェクトが、前記共有キャッシュ内で確立されなか
    った場合に、前記共有キャッシュ内の前記コンポーネン
    トのために前記共有メモリを生成し、 (3) 前記共有メモリ・オブジェクトと前記通信コンポー
    ネントと間に通信回線を提供するステップと、 前記データベースから読み出し、該データベースへ書き
    込むための前記共有メモリ・オブジェクトを使用し、こ
    れによって、前記データベースから前記コンポーネント
    を読み出し、前記データベース内へ前記コンポーネント
    を書き込むステップとを有し、 2つ以上のクライアントが同一のコンポーネントにアク
    セスするときに、2つ以上の通信コンポーネント・オブ
    ジェクトは、同一の共有メモリ・オブジェクトに通信可
    能に結合されることを特徴とする方法。
  66. 【請求項66】 前記コンポーネントのうちの1つへの
    変更を検出し、前記コンポーネントのうちの1つにアク
    セスする前記クライアントの各々に、前記検出された変
    更について通知するステップを更に有することを特徴と
    する請求項65記載の方法。
  67. 【請求項67】 前記コンポーネントのうちの1つのた
    めの共有メモリ・オブジェクトに、前記データベースか
    ら前記変更されたコンポーネントを読み出させるステッ
    プを更に有することを特徴とする請求項66記載の方
    法。
  68. 【請求項68】 前記通信コンポーネントのうちの1つ
    が前記共有メモリ・オブジェクトのうちの1つにアクセ
    スするときに、前記共有メモリ・オブジェクトのうちの
    1つをロックし、これによって、前記通信オブジェクト
    のうちの1つが前記共有メモリ・オブジェクトにアクセ
    スするときに、前記通信オブジェクトのその他のものが
    前記共有メモリ・コンポーネントにアクセスすることを
    防止するステップを更に有することを特徴とする請求項
    66記載の方法。
  69. 【請求項69】 第1の物理的な位置に配置され、デー
    タベース・コンポーネントを格納するデータベースと、 そのうちの1つが前記第1の物理的な位置から実質的に地
    理的に離隔した第2の物理的な位置に配置された複数の
    クライアント・アプリケーションと、 前記第1の物理的な位置および前記第2の物理的な位置の
    通信回線と、 前記複数のクライアント・アプリケーションによる前記
    データベース内の前記データベース・コンポーネントへ
    のアクセスを提供するデータベース・サーバとを備え、 該データベース・サーバは、 複数のメモリ・オブジェクトを有し、該複数のメモリ・
    オブジェクトの各々がデータベースと通信して、前記複
    数のクライアントのうちの少なくとも1つによってアク
    セスされているデータベース・コンポーネントのうちの
    1つのコピーを格納する共有キャッシュと、 前記クライアント・アプリケーションの各々に関連付け
    られ、各々が、対応するクライアント・アプリケーショ
    ンのうちの1つおよび前記メモリ・オブジェクトのうち
    の1つと通信する一又は複数の通信オブジェクトとを備
    え、2つ以上のクライアント・アプリケーションによっ
    てアクセスされているメモリ・オブジェクトが、2つ以
    上の通信オブジェクトに通信可能に結合されていること
    を特徴とするプロセス制御システム。
  70. 【請求項70】 前記データベース・サーバは、前記デ
    ータベース・コンポーネントのうちの1つへの変更を検
    出し、前記データベース・コンポーネントのうちの1つ
    への変更の存在を、該データベース・コンポーネントの
    うちの1つにアクセスしているクライアントの各々に自
    動的に通知する通知ルーチンを更に備えることを特徴と
    する請求項69記載のプロセス制御システム。
  71. 【請求項71】 前記通知ルーチンは、前記変更の後、
    前記データベース・コンポーネントのうちの1つの状態
    を、該データベース・コンポーネントのうちの1つにア
    クセスしているクライアントの各々に通知することを特
    徴とする請求項70記載のプロセス制御システム。
  72. 【請求項72】 前記データベースは、コンフィギュレ
    ーション・データベースであり、前記データベース・コ
    ンポーネントは、コンフィギュレーション・コンポーネ
    ントであることを特徴とする請求項70記載のプロセス
    制御システム。
  73. 【請求項73】 前記通信オブジェクトの各々は、対応
    するメモリ・オブジェクトのうちの1つに読み書きすべ
    く構成されることを特徴とする請求項70記載のプロセ
    ス制御システム。
  74. 【請求項74】 前記データベース・サーバは、第2の
    通信コンポーネントのうちの1つがメモリ・オブジェク
    トのうちの1つにアクセスしているときに、第1の通信コ
    ンポーネントのうちの1つが前記メモリ・オブジェクト
    のうちの1つにアクセスすることを防ぐロック・マネー
    ジャを更に備えることを特徴とする請求項70記載のプ
    ロセス制御システム。
  75. 【請求項75】 前記通信回線は、衛星通信回線である
    ことを特徴とする請求項69記載のプロセス制御システ
    ム。
  76. 【請求項76】 前記通信回線は、セルラー通信回線で
    あることを特徴とする請求項69記載のプロセス制御シ
    ステム。
  77. 【請求項77】 前記通信回線は、電話回線であること
    を特徴とする請求項69記載のプロセス制御システム。
  78. 【請求項78】 前記通信回線は、無線通信回線である
    ことを特徴とする請求項69記載のプロセス制御システ
    ム。
  79. 【請求項79】 前記通信回線は、広域ネットワーク回
    線であることを特徴とする請求項69記載のプロセス制
    御システム。
JP2000317826A 1999-10-18 2000-10-18 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム Expired - Fee Related JP4731669B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16010499P 1999-10-18 1999-10-18
US60/160104 1999-10-18
US09/560,199 US6687698B1 (en) 1999-10-18 2000-04-28 Accessing and updating a configuration database from distributed physical locations within a process control system
US09/560199 2000-04-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011049324A Division JP4768085B2 (ja) 1999-10-18 2011-03-07 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム

Publications (2)

Publication Number Publication Date
JP2001184327A true JP2001184327A (ja) 2001-07-06
JP4731669B2 JP4731669B2 (ja) 2011-07-27

Family

ID=26856604

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2000317826A Expired - Fee Related JP4731669B2 (ja) 1999-10-18 2000-10-18 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP2011049324A Expired - Fee Related JP4768085B2 (ja) 1999-10-18 2011-03-07 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP2011084781A Expired - Lifetime JP4903291B2 (ja) 1999-10-18 2011-04-06 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP2011084780A Expired - Lifetime JP4903290B2 (ja) 1999-10-18 2011-04-06 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2011049324A Expired - Fee Related JP4768085B2 (ja) 1999-10-18 2011-03-07 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP2011084781A Expired - Lifetime JP4903291B2 (ja) 1999-10-18 2011-04-06 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP2011084780A Expired - Lifetime JP4903290B2 (ja) 1999-10-18 2011-04-06 コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム

Country Status (5)

Country Link
US (2) US6687698B1 (ja)
JP (4) JP4731669B2 (ja)
DE (1) DE10049569B4 (ja)
GB (1) GB2363872B (ja)
HK (1) HK1061901A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234658A (ja) * 2003-01-28 2004-08-19 Fisher Rosemount Syst Inc プロセス制御システムおよび安全システムを備えるプロセスプラントにおける統合型コンフィギュレーション
US6934356B1 (en) 2003-07-22 2005-08-23 General Electric Company System and method for dynamic generation of a single user interface for displaying and entry of medical imaging configuration data
JP2009232398A (ja) * 2008-03-25 2009-10-08 Canon Inc 放送受信装置及びその制御方法
JP2010505159A (ja) * 2006-09-22 2010-02-18 センサーマティック・エレクトロニクス・コーポレーション イベント管理用のシステムおよび方法
JP2015109106A (ja) * 2004-05-04 2015-06-11 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセスコントロールデータアクセスシステム、及びプロセスコントロールデータ修正方法

Families Citing this family (237)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6911987B1 (en) * 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070417A1 (en) * 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6978294B1 (en) * 2000-03-20 2005-12-20 Invensys Systems, Inc. Peer-to-peer hosting of intelligent field devices
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US7289994B2 (en) * 1999-10-18 2007-10-30 Fisher-Rosemount Systems, Inc. Interconnected zones within a process control system
GB2394334B (en) * 1999-10-18 2004-07-21 Fisher Rosemount Systems Inc Accessing and updating a configuration database from distributed physical locations within a process control system
US6671825B1 (en) 1999-11-19 2003-12-30 Oracle International Corporation Method and apparatus for debugging a software program
US6839894B1 (en) * 1999-11-19 2005-01-04 Oracle International Corporation Method and apparatus for debugging a software program using dynamic debug patches and copy on write views
DE10048942B4 (de) * 1999-12-01 2008-07-03 International Business Machines Corp. Verfahren und System zur Wartung von Software über ein Netz
WO2001067225A2 (en) * 2000-03-06 2001-09-13 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
US20010032257A1 (en) * 2000-04-12 2001-10-18 Wells Ronald B. Method and system for managing information on a network
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US20030202645A1 (en) * 2000-05-25 2003-10-30 Fujitsu Network Communications, Inc., A California Corporation Element management system with adaptive interface based on autodiscovery from element identifier
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
US7181507B1 (en) * 2000-07-18 2007-02-20 Harrow Products Llc Internet based access point management system
EP1309924A2 (en) * 2000-08-03 2003-05-14 Prelude Systems, Inc. System and method for client-server communications and enterprise resource management
US7120935B2 (en) * 2000-08-10 2006-10-10 Shield Security Systems, Llc Interactive key control system and method of managing access to secured locations
US7216132B1 (en) * 2000-08-16 2007-05-08 Sparta Systems, Inc. System and method for automated process control
US7089335B2 (en) * 2000-10-30 2006-08-08 Microsoft Corporation Bridging multiple network segments and exposing the multiple network segments as a single network to a higher level networking software on a bridging computing device
US7383355B1 (en) * 2000-11-01 2008-06-03 Sun Microsystems, Inc. Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects
US7085824B2 (en) * 2001-02-23 2006-08-01 Power Measurement Ltd. Systems for in the field configuration of intelligent electronic devices
US6883172B1 (en) * 2001-03-29 2005-04-19 Microsoft Corporation System and method for bridging managed and unmanaged object systems by utilizing an interface wrapper to facilitate transparent communications
US7139793B2 (en) * 2001-05-01 2006-11-21 International Business Machines Corporation Method for conveniently enabling a web server to provide commercial promotions using compiled code
US7139817B1 (en) * 2001-06-12 2006-11-21 Network Appliance, Inc. Managing configuration information for multiple devices
WO2003001378A2 (en) * 2001-06-21 2003-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for secure file transfer to multiple destinations with integrity check
EP1407388A4 (en) * 2001-06-27 2005-05-04 Compumedics Ltd DISTRIBUTED EVENT IDENTIFICATION SYSTEM
US6950832B2 (en) * 2001-07-31 2005-09-27 International Business Machines Corporation Method for dynamically allocating a device in an LPAR system
DE10144427A1 (de) * 2001-09-10 2003-04-03 Siemens Ag Verfahren zur Verschaltung von Automatisierungsfunktionen in einer Anlage und Verfahren zur Abfrage und Änderung von Verschaltungsinformationen
JP2003108412A (ja) * 2001-10-02 2003-04-11 Hitachi Ltd ストレージ管理方式
US6748470B2 (en) * 2001-11-13 2004-06-08 Microsoft Corporation Method and system for locking multiple resources in a distributed environment
US7028300B2 (en) * 2001-11-13 2006-04-11 Microsoft Corporation Method and system for managing resources in a distributed environment that has an associated object
US20030105871A1 (en) * 2001-11-13 2003-06-05 Microsoft Corporation, Method and system for modifying lock properties in a distributed environment
US7406519B2 (en) * 2001-11-13 2008-07-29 Microsoft Corporation Method and system for locking resources in a distributed environment
DE10200165A1 (de) * 2002-01-04 2003-07-10 Klaus Rock Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation über ein Satellitennetzwerk
US7991849B1 (en) * 2002-01-31 2011-08-02 Ciena Corporation System for managing configuration memory with transaction and redundancy support in an optical network element
DE10208013A1 (de) * 2002-02-26 2003-09-04 Endress & Hauser Process Solut Verfahren zur Übertragung von Feldgerätedaten an eine externe Datenbank
US20030177210A1 (en) * 2002-03-12 2003-09-18 Stringham Gary G. Method and device for specifying initialization tasks for a peripheral device
US20040139089A1 (en) * 2002-03-29 2004-07-15 Wells Ronald B. Method and system for managing information on a network
US7418664B2 (en) * 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7028266B2 (en) 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US8756513B1 (en) 2002-04-23 2014-06-17 Microsoft Corporation Document viewing mechanism for document sharing environment
US20030204714A1 (en) * 2002-04-24 2003-10-30 Rothman Michael A. Methods and apparatuses for uniform configuration for a computer system
US7319921B2 (en) * 2002-05-22 2008-01-15 Underwood Fred R Water treatment control system
US7293243B1 (en) 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
US7433915B2 (en) * 2002-08-01 2008-10-07 Xerox Corporation System and method for controlling communication
CA2406079C (en) * 2002-09-30 2010-03-30 Ibm Canada Limited-Ibm Canada Limitee System and method for synchronizing data repositories
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
US9983559B2 (en) 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US7257705B2 (en) * 2002-11-18 2007-08-14 Sparta Systems, Inc. Method for preserving changes made during a migration of a system's configuration to a second configuration
US7797404B1 (en) * 2002-11-27 2010-09-14 Symantec Operting Corporation Automatic server configuration using a storage configuration database
US7361249B2 (en) * 2002-12-05 2008-04-22 Multimedia Games, Inc. Apparatus for applying a removable cover to a ticket substrate
US20040225730A1 (en) * 2003-01-17 2004-11-11 Brown Albert C. Content manager integration
US20040216084A1 (en) * 2003-01-17 2004-10-28 Brown Albert C. System and method of managing web content
US7865251B2 (en) * 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US7809679B2 (en) 2003-03-03 2010-10-05 Fisher-Rosemount Systems, Inc. Distributed data access methods and apparatus for process control systems
US7275062B2 (en) * 2003-03-10 2007-09-25 Fisher-Rosemount Systems, Inc. Automatic linkage of process event data to a data historian
US9448860B2 (en) * 2003-03-21 2016-09-20 Oracle America, Inc. Method and architecture for providing data-change alerts to external applications via a push service
US20040199727A1 (en) * 2003-04-02 2004-10-07 Narad Charles E. Cache allocation
TW200509604A (en) * 2003-05-08 2005-03-01 Matsushita Electric Ind Co Ltd Message processor, apparatus controlling device, home electrical appliance, program for message processor, microcomputer system, program for microcomputer system, and program product
US7634555B1 (en) 2003-05-16 2009-12-15 Johnson Controls Technology Company Building automation system devices
FR2855621B1 (fr) * 2003-05-28 2005-07-01 Schneider Electric Ind Sas Systeme de controle d'acces a un equipement d'automatisme
US7502323B2 (en) 2003-05-28 2009-03-10 Schneider Electric Industries Sas Access control system for automation equipment
US7577960B2 (en) * 2003-06-19 2009-08-18 Microsoft Corporation System and method for managing cached objects using notifications bonds
US20050010462A1 (en) * 2003-07-07 2005-01-13 Mark Dausch Knowledge management system and methods for crude oil refining
WO2005008440A2 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. System and method for common storage object model
US7191021B2 (en) * 2003-12-04 2007-03-13 Honeywell International Remote management of field devices in a manufacturing plant
US20050138068A1 (en) * 2003-12-17 2005-06-23 Greg Wilbur Configuration editing
US20050198255A1 (en) * 2003-12-23 2005-09-08 Johnson Controls Technology Company Value reporting using web services
US20050165884A1 (en) * 2003-12-29 2005-07-28 Masek William J. System and method for automated distributed account maintenance
US20080046306A1 (en) * 2004-01-06 2008-02-21 Egner Will A System And Method For analyzing Strategic Network Investments In Wireless Networks
DE102004007231B4 (de) * 2004-02-13 2011-07-28 Siemens AG, 80333 Verfahren zum Konfigurieren einer Automatisierungskomponente eines Automatisierungssystems und entsprechendes Automatisierungssystem
US7437551B2 (en) * 2004-04-02 2008-10-14 Microsoft Corporation Public key infrastructure scalability certificate revocation status validation
US7590669B2 (en) * 2004-04-06 2009-09-15 Microsoft Corporation Managing client configuration data
US7383271B2 (en) * 2004-04-06 2008-06-03 Microsoft Corporation Centralized configuration data management for distributed clients
CA2563422C (en) * 2004-04-15 2013-06-04 Clearpath Networks, Inc. Systems and methods for managing a network
US7729789B2 (en) 2004-05-04 2010-06-01 Fisher-Rosemount Systems, Inc. Process plant monitoring based on multivariate statistical analysis and on-line process simulation
US20060004875A1 (en) * 2004-05-11 2006-01-05 Microsoft Corporation CMDB schema
US20050278279A1 (en) * 2004-05-28 2005-12-15 Petev Petio G Native libraries descriptor with reference counting
US7581204B2 (en) * 2004-06-01 2009-08-25 Sap Ag Dynamic contexts
US7406678B2 (en) * 2004-06-14 2008-07-29 Lucent Technologies Inc. Manager component resource addition and/or resource removal on behalf of distributed software application
US20050278386A1 (en) * 2004-06-15 2005-12-15 Geographic Data Technology, Inc. Geospatial information system and method for updating same
US7587594B1 (en) * 2004-08-30 2009-09-08 Microsoft Corporation Dynamic out-of-process software components isolation for trustworthiness execution
US20060064468A1 (en) * 2004-09-20 2006-03-23 Brown K R Web services interface and object access framework
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7644107B2 (en) * 2004-09-30 2010-01-05 Microsoft Corporation System and method for batched indexing of network documents
US20060100980A1 (en) * 2004-10-27 2006-05-11 Bellsouth Intellectual Property Corporation Methods and systems for delivering yellow pages content to a media delivery device
US20060088145A1 (en) * 2004-10-27 2006-04-27 Bellsouth Intellectual Property Corporation Methods and systems for an interactive communications directory and directory channel
US7933868B2 (en) * 2004-11-04 2011-04-26 Microsoft Corporation Method and system for partition level cleanup of replication conflict metadata
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
JP4622474B2 (ja) * 2004-11-17 2011-02-02 横河電機株式会社 フィールド機器及びこれを用いたシステム
JP2006253376A (ja) * 2005-03-10 2006-09-21 Oki Electric Ind Co Ltd 半導体装置及びその製造方法
US7665098B2 (en) * 2005-04-29 2010-02-16 Microsoft Corporation System and method for monitoring interactions between application programs and data stores
US20060259466A1 (en) * 2005-05-10 2006-11-16 Sbc Knowledge Ventures Lp Updating configuration specifications in a historical database
US20060282830A1 (en) * 2005-06-13 2006-12-14 Microsoft Corporation Analysis of the impact of application programs on resources stored in data stores
US8655757B1 (en) * 2005-06-30 2014-02-18 Oracle International Corporation System and method for assigning a unique asset identity
US8200563B2 (en) * 2005-09-23 2012-06-12 Chicago Mercantile Exchange Inc. Publish and subscribe system including buffer
US7526794B2 (en) 2005-09-30 2009-04-28 Rockwell Automation Technologies, Inc. Data perspectives in controller system and production management systems
US20070260628A1 (en) * 2006-05-02 2007-11-08 Tele Atlas North America, Inc. System and method for providing a virtual database environment and generating digital map information
US20070130376A1 (en) * 2005-12-02 2007-06-07 Samsung Electronics Co., Ltd. Method and apparatus for setting configuration information
WO2007067645A2 (en) 2005-12-05 2007-06-14 Fisher-Rosemount Systems, Inc. Multi-objective predictive process optimization with concurrent process simulation
US8375122B2 (en) * 2005-12-15 2013-02-12 International Business Machines Corporation Web service information management in service-oriented architecture applications
US7856455B2 (en) * 2006-03-01 2010-12-21 International Business Machines Corporation System, method and program product for generating triggers for a relational database
FR2898200B1 (fr) * 2006-03-06 2008-05-30 Essilor Int Appareil de traitement de lentilles adapte a lister et a traiter les donnees de commande des lentilles
WO2007114606A1 (en) * 2006-03-30 2007-10-11 Nhn Corporation Server mirroring method and system therefor
US8458725B2 (en) 2006-04-10 2013-06-04 Oracle International Corporation Computer implemented method for removing an event registration within an event notification infrastructure
US9390118B2 (en) * 2006-04-19 2016-07-12 Oracle International Corporation Computer implemented method for transforming an event notification within a database notification infrastructure
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20080282181A1 (en) * 2006-05-02 2008-11-13 Siemens Medical Solutions Usa, Inc. Executable Application Configuration Information Processing System
US20070258459A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US7565341B2 (en) * 2006-05-10 2009-07-21 Intuit Inc. Automatically configuring a server to support different types of file accesses
US8464275B2 (en) * 2006-05-10 2013-06-11 Oracle International Corporation Method of using a plurality of subscriber types in managing a message queue of a database management system
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
WO2007136325A1 (en) * 2006-05-18 2007-11-29 Astrazeneca Ab 1- [ (4- [benzoyl (methyl) amino] -3- (phenyl) butyl] azetidine derivatives for the treatment of gastrointestinal disorders 2
US8185618B2 (en) * 2006-06-06 2012-05-22 Cisco Technology, Inc. Dynamically responding to non-network events at a network device in a computer network
US20070294237A1 (en) * 2006-06-13 2007-12-20 Mariam John Enterprise-Wide Configuration Management Database Searches
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US20070291767A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US20070291765A1 (en) * 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US9726392B2 (en) * 2006-06-29 2017-08-08 Honeywell International Inc. Generic user interface system
US20080013559A1 (en) * 2006-07-14 2008-01-17 Smith Donald L Systems and methods for applying back-pressure for sequencing in quality of service
US20080025318A1 (en) * 2006-07-31 2008-01-31 Harris Corporation Systems and methods for dynamically customizable quality of service on the edge of a network
US20100238801A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Method and system for stale data detection based quality of service
US8300653B2 (en) * 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20090037302A1 (en) * 2006-09-27 2009-02-05 Rockwell Automation Technologies, Inc. Programmatically scheduled verification
US20110214050A1 (en) 2006-09-29 2011-09-01 Stambaugh Thomas M Virtual systems for spatial organization, navigation, and presentation of information
DK2082537T3 (en) * 2006-10-02 2014-02-17 Cerion Optimization Services Inc SYSTEM AND PROCEDURE FOR RE-HOME SEQUENCING OPTIMIZATION
US9697253B2 (en) * 2006-10-20 2017-07-04 Oracle International Corporation Consistent client-side cache
US10296629B2 (en) * 2006-10-20 2019-05-21 Oracle International Corporation Server supporting a consistent client-side cache
US8149133B2 (en) * 2006-10-20 2012-04-03 Hydril Usa Manufacturing Llc MUX BOP database mirroring
JP5092374B2 (ja) * 2006-12-01 2012-12-05 富士通株式会社 データセンタ及びデータ転送方法
US20080163197A1 (en) * 2006-12-30 2008-07-03 Sap Ag Multi-product installation tool database architecture
US8365165B2 (en) * 2006-12-30 2013-01-29 Sap Ag Dynamic addition of products and removal of software products on a distribution server
US8515573B2 (en) * 2007-02-08 2013-08-20 Glory Ltd. Sort pattern creating device, sort pattern creating method, and sort pattern creating system
RU2457325C2 (ru) * 2007-02-25 2012-07-27 Нетворк Текнолоджиз Лимитед Буровая инфраструктура для совместной работы
US7769789B2 (en) * 2007-05-11 2010-08-03 Oracle International Corporation High performant row-level data manipulation using a data layer interface
US8032548B2 (en) * 2007-07-31 2011-10-04 Oracle International Corporation Efficient network data transfer
DE102008046896A1 (de) * 2007-09-13 2009-04-16 Continental Teves Ag & Co. Ohg Sicherheitskritische Kartenaktualisierung über einen Datenkanal eines Satellitennavigationssystems
US8656410B1 (en) 2007-09-28 2014-02-18 Emc Corporation Conversion of lightweight object to a heavyweight object
US7987470B1 (en) 2007-09-28 2011-07-26 Emc Corporation Converting heavyweight objects to lightwight objects
US7987210B1 (en) * 2007-09-28 2011-07-26 Emc Corporation System for lightweight objects
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US9756004B2 (en) 2007-11-08 2017-09-05 Skype Message delivery system and method
US8260821B2 (en) * 2008-02-05 2012-09-04 International Business Machines Corporation Global, dynamic, remote and central system for database driver configuration
US9032295B1 (en) 2008-03-19 2015-05-12 Dropbox, Inc. Method for displaying files from a plurality of devices in a multi-view interface and for enabling operations to be performed on such files through such interface
US8019900B1 (en) 2008-03-25 2011-09-13 SugarSync, Inc. Opportunistic peer-to-peer synchronization in a synchronization system
US9141483B1 (en) 2008-03-27 2015-09-22 Dropbox, Inc. System and method for multi-tier synchronization
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20090319316A1 (en) * 2008-06-19 2009-12-24 Kurt Westerfeld Method and System of Using Structured Social Networks and Communities to Create and Maintain Business Service Models
US20090319537A1 (en) * 2008-06-19 2009-12-24 Kurt Westerfeld Method And System of Using Structured Social Networks and Communities to Create And Maintain Relationships Between Configuration Items in a Configuration Management Database
US20090319559A1 (en) * 2008-06-19 2009-12-24 Kurt Westerfeld Method And System of Using Social Networks and Communities to Ensure Data Quality of Configuration Items in a Configuration Management Database
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US20090327292A1 (en) * 2008-06-27 2009-12-31 Motorola, Inc. Ensuring consistency among shared copies of a data element
US8407205B2 (en) * 2008-09-11 2013-03-26 Salesforce.Com, Inc. Automating sharing data between users of a multi-tenant database service
US8301994B1 (en) * 2008-09-12 2012-10-30 Adobe Systems Incorporated Synchronizing multiple hierarchal data structures
US20100082701A1 (en) * 2008-09-24 2010-04-01 Computer Associates Think, Inc. System and Method for Using a Configuration Management Database
US8095520B2 (en) * 2008-11-03 2012-01-10 Oracle International Corporation Event recording with local event record locking
WO2010060977A1 (de) * 2008-11-27 2010-06-03 Siemens Aktiengesellschaft Verfahren zum erstellen einer leittechnischen einrichtung für eine industrieanlage
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US8214389B2 (en) * 2009-04-03 2012-07-03 International Business Machines Corporation Common architecture for administration of client side property settings in a distributed and heterogeneous environment
US8463884B2 (en) * 2009-04-08 2013-06-11 Microsoft Corporation Synchronization of mobile device with application server
US8650498B1 (en) 2009-05-04 2014-02-11 SugarSync, Inc. User interface for managing and viewing synchronization settings in a synchronization system
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8655830B2 (en) 2009-10-06 2014-02-18 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US9475359B2 (en) * 2009-10-06 2016-10-25 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US20110087650A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Creation and use of causal relationship models in building management systems and applications
US8516202B2 (en) * 2009-11-16 2013-08-20 International Business Machines Corporation Hybrid transactional memory system (HybridTM) and method
US8204908B2 (en) * 2009-11-24 2012-06-19 Sap Ag Team support in change recording and versioning systems
US20110172887A1 (en) * 2009-11-30 2011-07-14 Reeve David R Vehicle assembly control method for collaborative behavior
US9020522B2 (en) * 2010-02-12 2015-04-28 Broadcom Corporation Method and system for optimizing uploading of location data for location based services
US8825183B2 (en) * 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
US8352641B2 (en) * 2010-04-21 2013-01-08 General Electric Company Systems and methods for identifying fieldbus devices in a control system
US8473515B2 (en) * 2010-05-10 2013-06-25 International Business Machines Corporation Multi-tenancy in database namespace
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8832236B2 (en) * 2010-06-21 2014-09-09 Fisher-Rosemount Systems, Inc. Methods, apparatus and articles of manufacture to replace field devices in process control systems
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
US8516016B2 (en) 2010-07-07 2013-08-20 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US20120016999A1 (en) * 2010-07-14 2012-01-19 Sap Ag Context for Sharing Data Objects
US9240965B2 (en) 2010-08-31 2016-01-19 Sap Se Methods and systems for business interaction monitoring for networked business process
US10169484B2 (en) * 2010-09-23 2019-01-01 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage process control search results
US8538588B2 (en) 2011-02-28 2013-09-17 Honeywell International Inc. Method and apparatus for configuring scheduling on a wall module
US9230358B2 (en) * 2011-03-31 2016-01-05 International Business Machines Corporation Visual connectivity of widgets using event propagation
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
EP2547140A1 (en) * 2011-07-11 2013-01-16 Koninklijke Philips Electronics N.V. Method for configuring a node
US9009410B2 (en) * 2011-08-23 2015-04-14 Ceva D.S.P. Ltd. System and method for locking data in a cache memory
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
US9411844B2 (en) * 2012-03-29 2016-08-09 Tracelink, Inc. Methods and systems for managing distributed concurrent data updates of business objects
US9633125B1 (en) 2012-08-10 2017-04-25 Dropbox, Inc. System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
DK2811173T4 (da) * 2013-06-04 2022-01-10 Danfoss Power Solutions Aps Hydraulisk system og fremgangsmåde til drift af hydraulisk system
US9116766B2 (en) 2013-07-31 2015-08-25 Sap Se Extensible applications using a mobile application framework
US10789136B1 (en) * 2013-08-23 2020-09-29 Acronis International Gmbh Granular recovery using hot-plug virtual disks
KR101970813B1 (ko) * 2014-02-24 2019-04-19 주식회사 엘지화학 홀을 포함하고 있는 전지셀
WO2015134130A1 (en) * 2014-03-03 2015-09-11 Life Technologies Corporation A graphical user interface system and method for transferring data acquisition and analysis settings
US9933946B2 (en) 2014-09-15 2018-04-03 Hewlett Packard Enterprise Development Lp Fibre channel storage array methods for port management
JP6248901B2 (ja) * 2014-11-13 2017-12-20 横河電機株式会社 入出力装置
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US9920944B2 (en) 2015-03-19 2018-03-20 Honeywell International Inc. Wall module display modification and sharing
WO2016183564A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Data store access permission system with interleaved application of deferred access control filters
CN105260163A (zh) * 2015-09-18 2016-01-20 浪潮软件股份有限公司 一种烟草云平台下高并发逻辑控制的方法
US10261782B2 (en) * 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10878140B2 (en) 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
CN106249628B (zh) * 2016-08-30 2019-07-26 深圳市欧瑞博电子有限公司 一种智能设备安装位置自动识别系统和方法
US11611445B2 (en) 2017-02-17 2023-03-21 Nokia Technologies Oy Changing smart contracts recorded in block chains
US10967303B2 (en) 2018-03-08 2021-04-06 Mark W. Romers Filter backwash control system for a water or wastewater treatment system to conserve water during the filter backwash process
CN110832473B (zh) * 2017-06-21 2023-01-13 华为技术有限公司 日志结构管理系统及方法
US10592414B2 (en) * 2017-07-14 2020-03-17 International Business Machines Corporation Filtering of redundantly scheduled write passes
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US11567934B2 (en) 2018-04-20 2023-01-31 Oracle International Corporation Consistent client-side caching for fine grained invalidations
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11175802B2 (en) * 2018-09-21 2021-11-16 Sap Se Configuration object deletion manager
JP6962345B2 (ja) * 2019-03-22 2021-11-05 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
CN110430110B (zh) * 2019-08-12 2021-12-07 北京和利时系统工程有限公司 一种现场总线网关及其协议转换方法
CN110457395B (zh) * 2019-08-15 2023-05-23 中国银行股份有限公司 假日数据的同步方法及装置
US11137913B2 (en) 2019-10-04 2021-10-05 Hewlett Packard Enterprise Development Lp Generation of a packaged version of an IO request
US11092939B2 (en) 2019-10-07 2021-08-17 Fisher-Rosemount Systems, Inc. Preview mode for configuration logic
US11038750B2 (en) * 2019-10-23 2021-06-15 Toshiba Global Commerce Solutions Holdings Corporation Management of configuration modifications in distributed data systems
US10939235B1 (en) 2020-02-28 2021-03-02 Intuit, Inc. Dynamic geofence radius
US11314216B2 (en) * 2020-04-30 2022-04-26 Fisher-Rosemount Systems, Inc. Remote deployment and commissioning of workstations within a distributed control system
US11424865B2 (en) 2020-12-10 2022-08-23 Fisher-Rosemount Systems, Inc. Variable-level integrity checks for communications in process control environments
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204342A (ja) * 1996-01-26 1997-08-05 Nec Corp 監視制御システムのデータベース整合方式
JPH10320257A (ja) * 1997-05-15 1998-12-04 Casio Comput Co Ltd データ処理システム及びデータ処理プログラムを記録した記録媒体

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007450A (en) 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
US4888726A (en) 1987-04-22 1989-12-19 Allen-Bradley Company. Inc. Distributed processing in a cluster of industrial controls linked by a communications network
US6345288B1 (en) 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
AU647086B2 (en) 1990-01-30 1994-03-17 Johnson Service Company Networked facilities management system
US5261069A (en) 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
US5523946A (en) 1992-02-11 1996-06-04 Xerox Corporation Compact encoding of multi-lingual translation dictionaries
US5412806A (en) * 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US5635940A (en) * 1994-02-02 1997-06-03 Hickman; Paul L. Communication configurator and method for implementing same
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
US5835601A (en) 1994-03-15 1998-11-10 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
GB2301717B (en) * 1995-06-02 1999-08-11 Dsc Communications Network controller for monitoring the status of a network
US5826253A (en) 1995-07-26 1998-10-20 Borland International, Inc. Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients
PL327615A1 (en) 1996-01-17 1998-12-21 Siemens Ag Automation apparatus
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5838563A (en) 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US6098116A (en) 1996-04-12 2000-08-01 Fisher-Rosemont Systems, Inc. Process control system including a method and apparatus for automatically sensing the connection of devices to a network
US5828851A (en) 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US5940294A (en) 1996-04-12 1999-08-17 Fisher-Rosemont Systems, Inc. System for assisting configuring a process control environment
US5758071A (en) 1996-07-12 1998-05-26 Electronic Data Systems Corporation Method and system for tracking the configuration of a computer coupled to a computer network
US5878429A (en) * 1996-07-18 1999-03-02 Ipivot, Inc. System and method of governing delivery of files from object databases
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US6026413A (en) 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US6393526B1 (en) 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6704737B1 (en) 1999-10-18 2004-03-09 Fisher-Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6343290B1 (en) * 1999-12-22 2002-01-29 Celeritas Technologies, L.L.C. Geographic network management system
WO2001052118A2 (en) * 2000-01-14 2001-07-19 Saba Software, Inc. Information server
US6792436B1 (en) * 2000-02-11 2004-09-14 Persistence Software, Inc. Method for synchronizing multiple software caches in a memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204342A (ja) * 1996-01-26 1997-08-05 Nec Corp 監視制御システムのデータベース整合方式
JPH10320257A (ja) * 1997-05-15 1998-12-04 Casio Comput Co Ltd データ処理システム及びデータ処理プログラムを記録した記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234658A (ja) * 2003-01-28 2004-08-19 Fisher Rosemount Syst Inc プロセス制御システムおよび安全システムを備えるプロセスプラントにおける統合型コンフィギュレーション
US6934356B1 (en) 2003-07-22 2005-08-23 General Electric Company System and method for dynamic generation of a single user interface for displaying and entry of medical imaging configuration data
JP2015109106A (ja) * 2004-05-04 2015-06-11 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセスコントロールデータアクセスシステム、及びプロセスコントロールデータ修正方法
JP2010505159A (ja) * 2006-09-22 2010-02-18 センサーマティック・エレクトロニクス・コーポレーション イベント管理用のシステムおよび方法
JP2013145572A (ja) * 2006-09-22 2013-07-25 Sensormatic Electron Corp イベント管理用のシステムおよび方法
JP2009232398A (ja) * 2008-03-25 2009-10-08 Canon Inc 放送受信装置及びその制御方法
JP4590464B2 (ja) * 2008-03-25 2010-12-01 キヤノン株式会社 放送受信装置及びその制御方法

Also Published As

Publication number Publication date
JP4903291B2 (ja) 2012-03-28
JP2011108287A (ja) 2011-06-02
GB0025371D0 (en) 2000-11-29
US7127460B2 (en) 2006-10-24
DE10049569B4 (de) 2012-03-01
JP4768085B2 (ja) 2011-09-07
GB2363872A (en) 2002-01-09
GB2363872B (en) 2004-08-25
JP4903290B2 (ja) 2012-03-28
JP2011159315A (ja) 2011-08-18
US20030004952A1 (en) 2003-01-02
DE10049569A1 (de) 2001-04-19
JP4731669B2 (ja) 2011-07-27
HK1061901A1 (en) 2004-10-08
US6687698B1 (en) 2004-02-03
JP2011134358A (ja) 2011-07-07

Similar Documents

Publication Publication Date Title
JP4731669B2 (ja) コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP4739496B2 (ja) プロセス制御システム、コンフィギュレーション・データベース・システム、プロセス制御システムでコンフィギュレーション・データを使用する方法、およびプロセス制御システムでコンフィギュレーション動作を行う方法
CA2353845C (en) Integrated data bank combining system
AU2001292691B2 (en) A method and system for remote configuration of process data access servers
US8214409B2 (en) Adapter architecture for mobile data system
US20070156774A1 (en) Multi-Tier Document Management System
US7596611B1 (en) Method and apparatus for maintaining information for use in the configuration of a client
JP2010518490A (ja) 不定期接続されるアプリケーションのための同期フレームワーク
US6711592B2 (en) Information processing system
JP2002041465A (ja) 通信システム、データベースサーバ、制御装置、処理端末、リレーサーバ、および半導体装置の製造方法。
GB2394816A (en) Database server to provide concurrent access for multiple clients to the database uses a shared cache for holding copy of the data being accessed
GB2394334A (en) Configuration database for a process control system distributed between separate locations connected by a slow network
ESPRIT Consortium CCE-CNMA Application Services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110420

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees