JP4806513B2 - 複数プロトコル環境における自動ツール管理 - Google Patents
複数プロトコル環境における自動ツール管理 Download PDFInfo
- Publication number
- JP4806513B2 JP4806513B2 JP2002509841A JP2002509841A JP4806513B2 JP 4806513 B2 JP4806513 B2 JP 4806513B2 JP 2002509841 A JP2002509841 A JP 2002509841A JP 2002509841 A JP2002509841 A JP 2002509841A JP 4806513 B2 JP4806513 B2 JP 4806513B2
- Authority
- JP
- Japan
- Prior art keywords
- tool
- user
- message
- programming
- operable
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 89
- 230000009471 action Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 4
- 239000010410 layer Substances 0.000 claims 7
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 239000011241 protective layer Substances 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 description 17
- 239000004065 semiconductor Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000001802 infusion Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001404 mediated effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 235000002020 sage Nutrition 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31174—Load, use different protocols, formats, emulators for different systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31175—Message comprises identification of sender, receiver, command and parameter
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31186—TCP-IP internet protocol
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31196—SOAP, describes available services and how to call them remotely
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31422—Upload, download programs, parameters from, to station to, from server
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32126—Hyperlink, access to program modules and to hardware modules in www, web server, browser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34038—Web, http, ftp, internet, intranet server
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45031—Manufacturing semiconductor wafers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Small-Scale Networks (AREA)
- Stored Programmes (AREA)
Description
(関連出願の相互参照)
本出願は、本出願の所有者が所有する、以下の同時係属の米国特許出願に関連する。
2000年7月7日に出願され、米国特許法第119条第(e)項に基づいてより早い出願日の利益を請求する仮出願第60/216819号、および、
2000年2月1日に出願され、本出願がその一部継続である出願第09/496009号「Apparatus and Method for Web−based Tool Management」(弁理士整理番号21183−P001US)。
【0002】
(技術分野)
本発明は製造処理に関し、より詳細には、複数プロトコル環境で製造装置を制御する機構を提供することに関する。
【0003】
(背景情報)
今日の製造設備は、高度に自動化されたツールに依拠して製造プロセスを実施する。例えば、半導体ファブリケーション(「ファブ」)設備は、半導体ウェハーを加工するために高度に自動化されたツール・セットを組み入れている。プロセス制御および監視はソフトウェア・メソッドのセットによって媒介され、このセットを呼び出して、実施すべきプロセスおよび監視を行うことができる。制御監視ソフトウェアはツール・サーバ上で実行され、ツール・サーバは、ツール・サーバを特定のツールとポイント・ツー・ポイント方式でそれぞれインタフェースする複数のポートを介して、ツールに結合させることができる。別法として、ツール・サーバ中のツールは、ローカル・エリア・ネットワーク(LAN)上にある場合もある。製造プロセスを制御するには、ユーザは、LAN上にあるユーザ・システムを介して、または他の方法によるツール・サーバとの通信において、ツール・サーバと通信できなければならない。具体的には、ツールの状況を制御および監視するためにツール・サーバにリモート・アクセスすることが仮にあったとすると、これには、リモート・アクセスを提供すべき各プラットフォーム上に実装する専用コードの開発が必要である。しかし、今日のデータ処理システムは通常、ブラウザや表計算ソフトウェアなど、オブジェクト指向アプリケーション間通信またはプロセス間通信のための機能を備えた複数の既存ソフトウェアを提供する。これらの機能は、異なるプラットフォームおよびソフトウェア環境にまたがる通信を相互処理する。したがって、製造装置に対して複数のオブジェクト指向プロセス間通信プロトコルを使用することのできるインタフェース用アプリケーション・ソフトウェアを適合させるシステムおよび方法が当技術分野で必要とされている。加えて、このようなインタフェースのためのシステムおよび方法は、レガシー・ツール制御監視アプリケーションならびに施行するセキュリティ・ポリシーに適応すべきである。
【0004】
(概要)
以上に概説した問題は、いくつかの実施形態で、製造装置に対する複数のオブジェクト指向プロセス間通信プロトコルを使用して異なるプラットフォームおよびソフトウェア環境にまたがるプロセス間通信を容易にすることによって、少なくとも部分的に解決することができる。
【0005】
一実施形態では、ツール管理を自動化する方法は、オブジェクト指向アプリケーション間通信プロトコル(言い換えればオブジェクト・ツー・オブジェクト・プロトコル)、例えばCOM(Component Object Model)、Java(登録商標)RMI(Remote Method Invocation)、CORBA(Common Object Request Broker Architecture)、SOAP(Simple Object Access Protocol)や、HTTP(Hypertext Transfer Protocol)などのネットワーク転送プロトコルに従って、例えばワイド・エリア・ネットワーク(WAN)やローカル・エリア・ネットワーク(LAN)など様々な方式でメッセージを発行することのできるアプリケーションを、ユーザが使用するステップを含むことができる。メッセージは、例えば特定の情報をツールから抽出したり、ツールのオブジェクトに関連する変数またはパラメータを特定の値に設定したりする特定の動作を行うことを求める要求とすることができる。ツールに関連するオブジェクトがツールの状態を定義することができる。
【0006】
メッセージは、対応するアプリケーション・インタフェース・ユニットが受信することができる。アプリケーション・インタフェース・ユニットは、例えばOBEMなどの装置モデルとユーザとの間をインタフェースするように構成することができる。アプリケーション・インタフェース・ユニットはさらに、要求された動作に必要なデータを含む場合のある受領メッセージの内容を抽出するように構成することができる。メッセージには、動作を行う対象となるツールを表す装置モデル中のオブジェクトへのポインタが含まれる場合がある。アプリケーション・インタフェース・ユニットは、メッセージ中のポインタが指すオブジェクトのメソッドを呼び出し、メッセージ内容を構成するデータをメソッドに渡すことができる。次いでメソッドは、リモート診断および修理を可能にすることのできるリモート・オブジェクト・アクセスを提供することができる。
【0007】
次いで、装置モデルは、要求された動作およびメッセージ中のデータに関連する値を獲得することができる。すなわちこの値は、メッセージ中で要求された、ツールに関する特定の情報、例えば温度、圧力、状況に関連するものとすることができ、あるいは例えば警報が鳴るなどのイベントが発生したことをユーザに知らせる通知に関連するものとすることができる。装置モデルは、ユーザのアプリケーションから提供されるアドレスに基づいて、この値を適切なユーザに転送することができる。
【0008】
以上、後続の本発明の詳細な説明がよりよく理解できるように、本発明の特徴および技術的利点をいくぶん大まかに概説した。以下に、本発明の特許請求の範囲の主題を形成する、本発明の追加の特徴および利点を述べる。
【0009】
本発明は、後続の詳細な説明を後続の図面と共に考察すればよりよい理解を得ることができる。
【0010】
(詳細な説明)
以下の記述では、本発明の完全な理解を実現するために、多くの具体的な詳細を述べる。例えば、特定のメッセージ・フォーマットおよびアプリケーション間通信プロトコルに言及する。ただし、このような具体的な詳細がなくても本発明を実施できることは、当業者には理解されるであろう。他の例では、本発明を必要以上の詳細で不明瞭にしないために、周知の回路はブロック図の形で示してある。
【0011】
これから図面を参照するが、図示の要素は必ずしも一定の縮尺で示してあるわけではなく、また、いくつかの図を通して同じまたは同様の要素は同じ参照番号で示してある。
【0012】
図1に、1人または複数のユーザ101A〜Cがツール・サーバ102を介して1つまたは複数のツール103A〜Cと通信できるようにする機構を提供するように構成された、本発明の一実施形態によるシステム100を示す。ユーザ101A〜Cは、総称的にまたは個別にユーザ101と呼ぶ場合がある。ツール103A〜Cは、総称的にまたは個別にツール103と呼ぶ場合がある。システム100は任意の数のユーザ101およびツール103を含むことができ、図1は例示的なものであることに留意されたい。さらに、ユーザ101とツール・サーバ102との間の接続、およびツール・サーバ102とツール103との間の接続は、例えば無線や有線など任意の媒体タイプとすることができることにも留意されたい。さらに、ユーザ101は、ツール・サーバ102に接続してそれによりツール103と通信する能力を伴って構成された任意のタイプのデバイス、例えば無線、パーソナル・ディジタル・アシスタント(PDA)、セル・ホン、パーソナル・コンピュータ・システム、ワークステーション、インターネット・アプライアンスのユーザとすることができることにも留意されたい。
【0013】
ツール・サーバ102は、特定の情報、例えば温度をツール103から抽出するように構成することができる。情報は、ツール・サーバを介してツールに要求メッセージを送信し、ツール・サーバを介して情報がツールから返信メッセージ中で返されることによって得られる。ツールはさらに、ツール・サーバを介してユーザに通知メッセージを送信することもできる。通知メッセージは、例えば、ツール中で事前選択済みの条件が発生したことをユーザに警告することができる。メッセージ内容は、特定の通信プロトコルに従ってフォーマットすることができる。例えば半導体ファブリケーション・ツールの場合、このような通信プロトコルは、SEMI通信規格(SECS)、特にSECS−IIとすることができる(SECSは、国際半導体製造装置材料協会(SEMI)によって発布されたSEMI装置規格によって広められている)。(本発明は半導体ファブリケーション産業に限定したものではなく、本発明の原理は他の製造分野、例えば自動車産業のツール自動化システムにも適用することができ、このような実施形態も本発明の趣旨および範囲に含まれることを当業者なら理解するであろう。)以下にさらに述べる本発明の原理によれば、ユーザ101は、オブジェクト指向のアプリケーション間通信プロトコル、例えばCOM(Component Object Model)、Java(登録商標)RMI(Remote Method Invocation)、CORBA(Common Object Request Broker Archtecture)、SOAP(Simple Object Access Protocol)や、HTTP(Hypertext Transfer Protocol)などのネットワーク転送プロトコルを使用して、例えば表計算、ブラウザ、ツール制御レガシー・アプリケーションなど複数のアプリケーションからツール・サーバ102にメッセージを発行することにより、ツール103を制御してツール103から特定の情報を抽出することができる。(当業者には理解されるであろうが、このようなプロトコルは階層型であることに留意されたい。例えば、SOAPはHTTPに従って転送されるXMLドキュメント中にメッセージをラッピングするためのアプリケーション間メッセージング・プロトコルを定義する点で階層型である。)メッセージは、例えば半導体ファブリケーション設備で使用される装置など1つまたは複数のツール103に対して、例えば温度、状況、圧力など特定の情報を抽出することを求める要求とすることができ、あるいは例えばツール動作の開始/停止などのサービスを要求することができる。例えば、ユーザ101は、特定のチャンバ中の温度を要求するメッセージを発行することができ、この特定のチャンバは、例えば半導体プロセスなどの製造プロセス中のツール103を表す。ユーザ101がツール・サーバ102を介してツール103に関する情報を獲得することに関するより詳細な考察は、図5で提供する。以下、ツール・サーバ102に関する詳細な考察を提供する。
【0014】
ここで、本発明の一実施形態によるツール・サーバ102を示す図2を参照する。図2を参照すると、ツール・サーバ102は、システム・バス212によって他の様々なコンポーネントに結合された中央処理装置(CPU)210を備えることができる。CPU210上では、オペレーティング・システム240が稼働し、制御を提供し、図2の様々なコンポーネントの機能を調整する。アプリケーション250、例えば、1つまたは複数のツール103と制御およびデータ管理を通信するためのプログラム(図5で述べる)や、ユーザ101がツール・サーバ102にアクセスする際のセキュリティを提供するためのプログラム(図7で述べる)が、オペレーティング・システム240と共に稼働し、オペレーティング・システム240は、アプリケーション250によって実施される様々な機能を実現する。システム・バス212には読出し専用メモリ(ROM)216が結合され、これは、ツール・サーバ102のいくつかの基本機能を制御するBIOS(basic input/output system)を含む。システム・バス212には、ランダム・アクセス・メモリ(RAM)214、ディスク・アダプタ218、および通信アダプタ234もまた結合されている。オペレーティング・システム240およびアプリケーション250を含めたソフトウェア・コンポーネントは、コンピュータ・システムのメイン・メモリであるRAM214にロードされることに留意されたい。ディスク・アダプタ218は、例えばディスク・ドライブなどのディスク・ユニット220と通信するSCSI(small computer system interface)アダプタとすることができる。図5で述べる、1つまたは複数のツール103から情報を取り出す本発明のプログラムは、ディスク・ユニット220に記憶し、起動されたときまたは他の方法で必要とされたときにオペレーティング・システムによってそこから取り出してRAMにロードすることができることに留意されたい。さらに、図7で述べる、ツール・サーバ102にアクセスするユーザ101にセキュリティを提供する本発明のプログラムも、ディスク・ユニット220に記憶し、起動されたときまたは他の方法で必要とされたときにオペレーティング・システムによってそこから取り出してRAMにロードすることができることに留意されたい。
【0015】
通信アダプタ234は、バス212を外部ネットワークと相互接続し、ツール・サーバ102が例えばイーサネット(登録商標)、トークン・リング、ARCnetなどのローカル・エリア・ネットワーク(LAN)や、例えばインターネットなどのワイド・エリア・ネットワーク(WAN)を介して他のこのようなシステムと通信できるようにする。
【0016】
本発明の実装形態は、本明細書に述べる方法を実行するようにプログラムされたコンピュータ・システム、およびコンピュータ・プログラム製品としての実装形態を含む。コンピュータ・システムの実装形態によれば、この方法を実行するための命令のセットが、前述のように一般に構成された1つまたは複数のコンピュータ・システムのランダム・アクセス・メモリ214中にある。命令セットは、ツール・サーバ102によって必要とされるまで、コンピュータ・プログラム製品として別のデバイス、例えばディスク・ドライブ220(最終的にディスク・ドライブ220中で使用するための光学ディスクやフロッピー(登録商標)・ディスクなど取外し可能メモリを含めることができる)に記憶することができる。さらに、コンピュータ・プログラム製品はまた、別のコンピュータに記憶し、望まれるときにネットワークによって、またはインターネットなどの外部ネットワークによってユーザのワークステーションに送信することもできる。記憶媒体がコンピュータ可読情報を搬送するように、命令セットの物理記憶域は媒体を物理的に変更することを、当業者なら理解するであろう。変更は、電気的、磁気的、化学的、またはその他の何らかの物理的変更である場合がある。
【0017】
図3に、本発明の一実施形態による、図5で述べる1つまたは複数のツール103から情報を取り出すように構成された本発明のプログラムのソフトウェア・アーキテクチャ300を示す。ソフトウェア・アーキテクチャ300は、1つまたは複数のアプリケーション・インタフェース・ユニット301A〜C、装置モデル302、および1つまたは複数のツール・インタフェース・ユニット303A〜Cを備えることができる。アプリケーション・インタフェース・ユニット301A〜Cは、総称的にまたは個別にアプリケーション・インタフェース・ユニット301と呼ぶ場合がある。ツール・インタフェース・ユニット303A〜Cは、総称的にまたは個別にツール・インタフェース・ユニット303と呼ぶ場合がある。ソフトウェア・アーキテクチャ300は、任意の数のアプリケーション・インタフェース・ユニット301およびツール・インタフェース・ユニット303を備えることができ、図3は例示的なものであることに留意されたい。
【0018】
アプリケーション・インタフェース・ユニット301は、アプリケーション・モデル302をユーザ101にインタフェースするように構成することができる。装置モデル302は、ツール103の論理表現を提供するように構成することができ、それによりユーザ101はツール103と通信することができる。すなわち、装置モデル302は、ツール103と、ツールを構成する物理装置との論理マッピングを提供することができる。ツール供給側は、装置を装置モデルのオブジェクトに分解して、装置モデル302などの装置モデルのオブジェクト特性に物理装置をマッピングすることができる。このような装置モデルの1つは、参照により本明細書に組み込むSEMI Provisional Specification SEMI E98−1000としてSEMIによって広められているOBEM(Object−Based Equipment Model)である。その他の装置モデルを本発明と共に使用することもできることに留意されたい。また、そのような実施形態が本発明の趣旨および範囲に含まれることは、当業者には理解されるであろう。図4に、装置モデル302をインスタンス化するのに使用できるモデル・スキーマに関する記述を提供する。例示的な装置モデルについては、図5に関連して述べる。
【0019】
図4に、本発明と共に使用できる装置モデル・スキーマ402のUML(Unified Modeling Language)の図を示す。装置オブジェクト・モデル・スキーマ402は、複数のオブジェクトを含むオブジェクト指向モデルとすることができる。オブジェクト指向ソフトウェア・アーキテクチャによれば、オブジェクトはサブオブジェクトで構成することができ、サブオブジェクトはスーパーオブジェクトの属性およびメソッドを継承することができる。装置モデル・スキーマ402は、集約階層404およびインタフェース継承階層406を含む。集約階層404中のオブジェクトは具象的なオブジェクトとすることができ、継承階層406のオブジェクトは、具象的なオブジェクトの属性および方法を定義する抽象的なオブジェクトとすることができる。(Java(登録商標)プログラミング言語における本発明の一実装形態では、継承階層406中の抽象的なオブジェクトのタイプはインタフェースとすることができる。)
【0020】
集約階層404は、ユーザ・オブジェクト408を含む。装置オブジェクト410は、0個またはそれ以上の装置モジュール・オブジェクト412(円で示す)を含む(開いた菱形で示す)ことができる。加えて、装置オブジェクト410は、0個またはそれ以上の装置サブシステム・オブジェクト414および装置入出力デバイス・オブジェクト416を含むこともできる。装置モジュール・オブジェクト412自体は、0個またはそれ以上の装置モジュール・オブジェクト412、装置サブシステム・オブジェクト414、および装置入出力デバイス416を含むことができる。同様に、装置サブシステム・オブジェクト414も、0個またはそれ以上の装置サブシステム・オブジェクト414、および0個またはそれ以上の装置入出力オブジェクト416を含むことができる。集約階層406は、階層の上から下にいくにつれてオブジェクト・タイプが複雑でなくなるのを示すことができる。
【0021】
次に図5を参照するが、この図は、図4のスキーマに従った例示的な装置モデル502のグラフィカル・ユーザ・インタフェース(GUI)表現500を示している。モデル502は、本発明と共に使用できる装置モデルの例であり、ツールのモデルは製造設備の実施形態に対応して他の数およびタイプのオブジェクトを有する場合もあることは、当業者なら理解するであろう。
【0022】
モデル502は、GUI500中に階層型で提示されており、ルート・ノード504を含む。装置オブジェクト506は、例示的なモデル502では注入装置である。GUI500の枠508は、装置オブジェクト504に関連する属性セット510および対応する値512を示す。セット508中の属性の1つはobjType(514)であり、これは値「Equipment」(516)を有することに留意されたい。別の属性はobjID(518)であり、これは値「implanter」(520)を有する。属性セット510および値512を示す枠508は、装置オブジェクト506を選択することによってGUI500中に表示することができる(モデル502中のオブジェクト識別子「implanter」を「ハイライト表示」することで示すように)。例えば「マウス・クリック」によってGUI中のオブジェクトを選択することは、当業者には知られている。
【0023】
装置モジュール・オブジェクト522は、モデル502ではイオン注入装置であり、装置オブジェクト506の子オブジェクトである。装置オブジェクト506に関して先に論じたのと同じ方式で装置モジュール・オブジェクト522を選択することにより、装置モジュール・オブジェクトの属性に対応する属性リストおよび関連する値(図5には示さず)を表示することができる。
【0024】
モデル502中のその他のオブジェクトには、サブシステム・オブジェクト524および装置入出力オブジェクト526が含まれる。サブシステム・オブジェクト524すなわちエンドステーションは、装置モジュール・オブジェクト522すなわちイオン注入装置の子オブジェクトであり、入出力オブジェクト526すなわちファラデー・カップは、サブシステム・オブジェクト524の子オブジェクトである。
【0025】
オブジェクト指向ソフトウェア原理によれば、モデル502などの装置モデルのオブジェクトは、データとデータに作用するメソッドとを含むクラスのインスタンスである。(上で論じた属性セットは、このようなデータの例である。)したがって、オブジェクトは、データとデータに作用するためのコードとのデータ構造である。具体的には、装置モデルのオブジェクト(製造設備の論理表現であることを想起されたい)は、特定のオブジェクトの子オブジェクトを返すメソッドを含む。言い換えれば、装置モデルにアクセスするユーザは、データ処理技術の当業者にはよく知られているように例えばディレクトリおよびファイルの階層の中を掘り下げるのと同様の仕方でモデル502の階層の中を「掘り下げる」ことによって、モデルを展開することができる。このようにして、ユーザのクライアント・アプリケーションは、モデルのオブジェクトへのポインタを得る。次いで、ユーザのクライアント・アプリケーションはこれらを使用して、ツールまたはツールのコンポーネントの論理表現に対応するオブジェクトを媒介としてツールまたはそのコンポーネントにデータまたはサービスを要求するためのメッセージをツールに送信することができる。このようなメッセージングについては、後で図7に関連して述べる。
【0026】
図6に、本発明の一実施形態で使用できる別の例示的なGUI600の一部を示す。GUI600は、ユーザのクライアント表計算アプリケーションと共に使用することができる。セル・セット602A〜Cは、注入装置オブジェクトであるセル604に関する属性のセットを含む。対応する値がセル・セット606A〜Cに表示されている。セル・セット602A中に示す属性ObjTypeの値は、セル・セット606A中に表示された値「equipment」を有し、属性ObjIDは、図5の装置属性506に対応する値「implanter」を有することに留意されたい。セル・セット602A〜C中の属性およびセル・セット606A〜C中の値は、図5の属性セット510および値セット512を反映していることに留意されたい。
【0027】
さらに、GUI600は制御ボタン608も備える。ユーザが「マウス・クリック」や同様の動作で制御ボタン608を選択すると、例えば選択した属性値をツールから装置オブジェクト・モデルを介して送信するように求める要求メッセージを、表計算アプリケーションから開始することができる。このメッセージは、所定のオブジェクト指向プロセス間通信プロトコル、例えばCOMを使用して、装置モデルに渡すことができる。
【0028】
次に図7を参照するが、この図には、図1のツール103などツールとの間で装置モデルを介してメッセージを通信する方法700を、フローチャートの形で示してある。
【0029】
図3を再び参照すると、アプリケーション・インタフェース・ユニット301は、ユーザのうちの1人101とツール103との間でメッセージを通信するように構成することができる。各アプリケーション・インタフェース・ユニット301は、1つまたは複数のオブジェクト指向アプリケーション間プロトコル、例えばCOM、RMI、CORBA、SOAP、HTTPや、SECSメッセージなどのレガシー・ネイティブ・メッセージで通信するユーザ・アプリケーションを介して、ユーザ101からメッセージを受信するように構成することができる。さらに、各アプリケーション・インタフェース・ユニット301は、特定の方式、例えばWAN、LAN、ファクトリー・システムで、ユーザ101からメッセージを受信するように構成することもできる。例えば、アプリケーション・インタフェース・ユニット301Aは、COM、RMI、CORBA、SOAP、XMLなどのプロトコルで、LANを介してユーザ101Aからメッセージを受信するように構成することができる。アプリケーション・インタフェース・ユニット301Bは、レガシー・アプリケーション、例えばMESによって、SECSなどのプロトコルで、ファクトリー・システム・ネットワークまたは他の通信リンクを介してユーザ101Bからメッセージを受信するように構成することができる。アプリケーション・インタフェース・ユニット301Cは、ユーザ101CからのメッセージをHTTP要求などのプロトコルで、WANまたはインターネットを介して通信し、HTMLやXMLドキュメントなどのドキュメント中にラッピングされたメッセージを受信するように構成することができる。このようなアプリケーション・インタフェース・ユニット中で使用できる方法および装置の詳細な記述は、「Apparatus and Method for Web−based Tool Management」という名称の、本出願の所有者が所有する同時係属の米国特許出願第09/496009号に出ており、この全体を本明細書に組み込む。
【0030】
図7に、本発明の一実施形態による、例えば温度や圧力などの情報を取り出す方法、および/または例えばOBEM(登録商標)などの装置モデル302を介して例えば制御メッセージなどのサービス要求を1つまたは複数のツール103に発行する方法700のフローチャートを示す。先に論じたように、ツール・サーバ102中のソフトウェアは、図1のツール103などのツールの論理表現を実装する装置モデル(例えばOBEM)を構成するソフトウェア・アーキテクチャを具体化することができる。
【0031】
ステップ702で、ユーザ101〜101Cのうちの1人などユーザ101が、特定のアプリケーション・インタフェース・ユニット301、例えばアプリケーション・インタフェース・ユニット301Aにメッセージを発行して、例えば温度、圧力、状況などの情報を要求することができ、かつ/あるいは、例えば制御メッセージなどのサービス要求を特定のツール103から、および/または特定のツール103に発行するように要求することができる。メッセージは、マルチタスキングまたはマルチプロセッシング環境で、スレッドによって特定のユーザ101に関連付けることができる。
【0032】
ステップ704で、アプリケーション・インタフェース・ユニット301のうちの対応する1つがメッセージを受信することができる。前述のように、ユーザ101は、オブジェクト指向アプリケーション間通信プロトコル(言い換えればオブジェクト・ツー・オブジェクト・プロトコル)、例えばCOM、RMI、CORBA、SOAP、HTTPなどに従ってWANやLANなど様々な方式でメッセージを通信できるアプリケーションを使用して、特定のアプリケーション・インタフェース・ユニット301にアクセスすることができる。例えば、アプリケーション・インタフェース・ユニット301Aは、COM、RMI、CORBA、SOAP、HTTPなどのプロトコルで、LANを介してユーザ101Aからメッセージを受信するように構成することができる。アプリケーション・インタフェース・ユニット301Bは、SECSなどのネイティブ・プロトコルで、ファクトリー・システム・ネットワークを介してユーザ101Bからメッセージを受信するように構成することができる。アプリケーション・インタフェース・ユニット301Cは、HTTPなどのプロトコルを使用して、WANまたはインターネットを介してユーザ101Cからメッセージを受信するように構成することができる。
【0033】
前述のように、装置モデルを媒介とするツールとユーザの間で複数のアプリケーション・メッセージを使用して、異なるデータ処理プラットフォームを介したツールとユーザの間の通信を容易にするために、オブジェクト指向プロセス間通信またはデータ交換プロトコルを介してメッセージを交換することができる。例として、CORBA、RMI、COM、およびSOAPが挙げられる。加えて、アプリケーションは、SECSなどのネイティブ通信プロトコル、あるいはHTTP要求またはXML/HTMLページのメッセージを使用することもできる。
【0034】
ステップ704でメッセージを受信したアプリケーション・インタフェース・ユニット301は、ステップ706で、受信したメッセージの内容、例えば要求された動作に必要なデータを抽出することができる。前述のように、受信したメッセージの内容は、特定の情報、例えば温度、圧力、状況を、1つまたは複数のツール103に求める要求とすることができる。あるいは、特定のパラメータ、例えば制御設定値を設定するように要求することもできる。あるいは、例えばパラメータの値の変化を通知するように要求することもできる。メッセージには、動作を行う対象となるツール103またはそのコンポーネントを表す装置モデル中のオブジェクトへのポインタと、影響を受ける特定の変数またはパラメータが含まれる。
【0035】
要求が、データを得る要求でもなく、データを設定する要求でもなく、通知要求でもない場合は、後でさらに述べるステップ710、741、および763は「No」の枝を下り、方法700はステップ708で、例えばツールを始動させたり停止したりするサービス要求などの要求を、適切なツール・インタフェースを介して処理する。
【0036】
そうではなく、要求が、データを得る要求、データを設定する要求、通知要求のうちの1つである場合は、実施される動作はツール103またはそのコンポーネントの特性によって決まる。
【0037】
ツール103は、後で述べるように、ステップ706で要求されたデータの同期ソース、可変同期ソース、および/または非同期ソースとして特徴付けることができる。同期ソースは、例えば温度、圧力、状況などの特定情報を求めるユーザ101の要求に対して値を供給するツールを指すことができる。可変同期ソースは、ユーザ101によって設定できるツール103の設定を指すことができる。設定は、ユーザ101が特定のツール103に関連する特定の変数またはパラメータを特定の値に設定することを指すことができる。非同期ソースは、例えば値の変化など特定のイベントが発生したときにユーザ101に通知する特定のツール103を指すことができる。ツール・インタフェース・ユニット303は、イベントが発生するときがあるかどうか、それに関連するツール103を絶えず監視するように構成することができる。イベントが発生したときは、ツール・インタフェース・ユニット303は、イベントが発生したことを装置モデル302に通知することができる。次いで装置モデル302は、当該ユーザ101へのポインタに基づいて当該ユーザ101に通知するメソッドを呼び出すように構成することができる。
【0038】
ステップ712では、ステップ708で決定されたオブジェクトのパラメータが非同期ソースを有し、かつ非同期ソースから供給される値が現在であるかどうかをそのメソッドによって判定することができる。オブジェクトのパラメータが非同期ソースを有し、かつ非同期ソースから供給される値が現在である場合は、ステップ713でこの現在の値をローカル・オブジェクトから取り出し、ステップ728で適切なアプリケーション・インタフェースに転送する。次いでステップ730で、適切なアプリケーション・インタフェース・ユニット301が、受信したデータ値を適切なプロトコルに従ってユーザ101への返信メッセージに組み込むように構成することができる。ステップ732で、メッセージは、前にユーザのクライアント・アプリケーションから提供されたアドレスに基づいて、適切なユーザ101に転送することができる。
【0039】
ステップ710を参照すると、特定のツール103が、現在有効なデータを有する非同期ソースを供給しない場合は、ステップ734で、特定のツール103が同期ソースを供給するかどうかを判定することができる。特定のツール103が同期ソースを供給する場合は、ステップ736で、適切なツール・インタフェース・ユニット303が特定のツール103からデータ値を取り出すことができる。適切なツール・インタフェース・ユニット303は、装置モデル302のネイティブ通信プロトコル、例えばSECSに従って、装置モデル302のメソッドによってデータ値を取り出せるものとすることができる。次いでステップ728で、適切なツール・インタフェース・ユニット303は、データ値を装置モデル302に転送することができる。この値は、先に論じたようにステップ728でユーザに通信することができる。
【0040】
特定のツール103が同期ソースでない場合は、ステップ737で、特定のツール103が、現在有効なデータのない非同期ソースを供給するかどうかを判定することができる。そうである場合は、ステップ739で要求は失敗し、ステップ728〜739で前述のように失敗応答がユーザに返される。
【0041】
そうでない場合は、ステップ737は、「No」の印によってステップ740に進み、ローカル・オブジェクトからデータ値を取り出す。この値は、ステップ728〜732で前述のようにユーザに通信することができる。
【0042】
ステップ710に戻り、要求がデータを求める要求でない場合は、ステップ741で、要求がデータ要素を変更する要求かどうかを判定する。そうである場合は、実施される動作は、やはりツール103の特性によって決まる。ステップ751で、先に論じたように、影響を受けるパラメータに対する可変同期サポートをツールが供給するかどうかを判定する。そうである場合は、ステップ753で、適切なツール・インタフェースを介してパラメータを設定する。この動作の完了時には、ステップ755で、影響を受けるパラメータが設定されたときに、通知を要求したすべてのユーザに通知する。これについては後で、ステップ765でさらに述べる。次いで、ステップ728〜732で前述のように要求をユーザに返す。
【0043】
ステップ751に戻り、ツールが当該のプロパティに対する可変同期ソースを供給しないと判定された場合は、ステップ757で、ツールがこのプロパティに対する同期または非同期サポートを供給するかどうかを判定する。そうである場合は、ステップ759で要求は失敗し、前述のようにステップ728〜732でこの状況がユーザに返される。
【0044】
ステップ757に戻り、ツールが当該のプロパティに対する同期または非同期サポートを供給しないと決定された場合は、ステップ761で、ローカル・オブジェクト中のプロパティを要求された値に設定し、ステップ755で、プロパティ変更をユーザに通知し、ついで前述のように後続のステップを実行する。
【0045】
ステップ741に戻り、要求がデータ値を得る要求ではないと判定された場合は、ステップ763で、要求が、プロパティ変化などのイベントが発生したときに通知を受ける要求であるかどうかを判定する。そうである場合は、次いでステップ765で、要求を出したユーザへの参照を、それに関係するオブジェクトおよびパラメータと共に記憶する。次いで、先に論じたステップ728〜732で、要求の確認をユーザに返す。
【0046】
図8に、本発明の一実施形態によるツール・アクセス制御方法800のフローチャートを示す。すなわち、方法800を用いて、特定のツールに関してユーザまたはユーザのクラスが行うことのできる動作を制御することができる。
【0047】
ステップ802で、ユーザ、例えば図1のユーザ101A〜Cのうちの1人から、要求メッセージを受信する。メッセージは、ツールまたはツールのコンポーネントに関するデータを要求することもあり、ツールにサービスを要求することもあり、したがってこのメッセージは、前述のようにツールまたはコンポーネントにアクセスする。
【0048】
ステップ803で、方法800は、図9のユーザ・オブジェクト950で示すように、特定のユーザ101、例えばユーザ101Aに関連するオブジェクトを生み出すことができる。オブジェクト950は、関連するユーザ、例えばユーザ101Aの識別子を含むことができる。
【0049】
図9に、本発明の原理によるセキュリティ・ラッパ・アーキテクチャ900を示す。このソフトウェア・アーキテクチャ900はさらに、1つまたは複数のセキュリティ・ラッパ・オブジェクト911〜915Aをラッパ層901に含むことができ、これらはそれぞれ、前述のようにツール要素を論理的に表すルート・オブジェクト912A、装置オブジェクト912B、モジュール・オブジェクト912C、サブシステム・オブジェクト912D、および入出力オブジェクト912Eに関連する。セキュリティ・ラッパ・オブジェクト911A〜Eは、総称的にまたは個別にセキュリティ・ラッパ・オブジェクト911と呼ぶ場合がある。以下、セキュリティ・ラッパ911に関する詳細な考察をさらに提供する。ソフトウェア・アーキテクチャ900は、任意の数のセキュリティ・ラッパ911を含むことができ、複数のセキュリティ・ラッパ911が装置モデル302の特定の階層上にある複数のオブジェクトに関連することもできることに留意されたい。例えば、ソフトウェア・アーキテクチャ900は、複数の装置オブジェクト912Bに関連する複数のセキュリティ・ラッパ911を含むこともできる。図8を、図9との関連でさらに述べる。
【0050】
図8に戻ると、ステップ804で、アクセス制御情報を含むことのできる構成ファイルにアクセスする。具体的には、構成ファイルは、図9のユーザ・オブジェクト950に対応するユーザを含むユーザ・グループあるいはユーザ個人に関するアクセス制御情報を含むことができる。さらに、ツール自体またはそのコンポーネントをユーザと見なすこともでき、ユーザ・オブジェクト950は、このようなツールまたはコンポーネントに対応することもできる。図9のラッパ層901は、ユーザ・オブジェクト950に関連するユーザに対応するアクセス情報に応答して生成することができる。
【0051】
方法800により、図9のラッパ層901などのセキュリティ・ラッパ層をステップ806〜816で生成することができる。ステップ806〜816では、セキュリティ・ラッパ層901を再帰的に生成することができる。生み出されたセキュリティ・ラッパ・オブジェクトは、装置モデル・オブジェクトの1つ1つと並列に対応し、アクセスされる装置オブジェクトの、装置モデル階層における深さに依存する。言い換えれば、セキュリティ・ラッパは、ユーザからの要求メッセージに従って必要に応じて生み出される。ステップ806で、ラッパ・オブジェクト、例えばセキュリティ・ラッパ・オブジェクト911A〜Eのうちの1つを生み出す。ステップ808で、対応する装置モデル・オブジェクト、例えばオブジェクト912A〜912Eのうちの1つへのポインタを、ステップ806で生み出したセキュリティ・ラッパ・オブジェクトに記憶する。さらにステップ810で、対応する特定のユーザ、およびツール・オブジェクト・モデルからアクセスされているツールまたはツール・コンポーネントを、セキュリティ・ラッパ・オブジェクトに記憶する。ステップ812で、過度の要求が出されているオブジェクトに現在の装置モデル・オブジェクトが対応するかどうかを判定する。対応しない場合は、ステップ814で、プロセス800は現在の装置モデル・オブジェクトの子に進み、ステップ806に戻って、子に対するセキュリティ・ラッパ・オブジェクトを生み出す。言い換えれば、ステップ806〜814では、ステップ816でアクセス要求が出されているオブジェクトに達するまで装置モデル階層の中を掘り下げる。次いでステップ816で、対応するラッパ・オブジェクトへのリポインタを、ユーザに、すなわちアクセス要求の出所であるユーザのクライアント・アプリケーションに返す。ステップ818では、ステップ810でオブジェクトに記憶したアクセス規則に基づいて、ユーザがデータにアクセスできるか、または受信したメッセージに対応するこのサービスを要求できるかどうかを判定する。できる場合は、ステップ820で、セキュリティ・ラッパ・オブジェクトは、対応する装置モデル・オブジェクト中のメソッドを呼び出して、要求された動作を行う。そうでない場合は、ステップ822でアクセスを拒否する。
【0052】
ステップ805に戻ると、アクセスされている装置モデル・オブジェクトに対するセキュリティ・ラッパが存在する場合は、ステップ807で、ラッパ・オブジェクトへのポインタを返し、ステップ818で、セキュリティ・ラッパ・オブジェクトへのポインタを、要求された装置オブジェクトに関する特定の動作を行うメソッドに渡す。ステップ820で、この対応セキュリティ・ラッパ・オブジェクトに記憶されたアクセス制御情報に従って、アクセスが許可されるかどうかを決定する。特定の動作のためにアクセスが許可される場合は、ステップ822で装置モデル・オブジェクトの対応メソッドを呼び出し、そうでない場合は、ステップ824でアクセスを拒否する。
【0053】
このようにして、図9のセキュリティ・ラッパ・オブジェクト911A〜911Eなどのセキュリティ・ラッパ・オブジェクトは、ツールおよびそのコンポーネントへのアクセスを制御するための「フィルタ」として働く。図9の層901などの追加セキュリティ・ラッパ層を構成リスト中の制御情報に従って構築して、追加の「フィルタリング」を実現することもできることに留意されたい。このようにして構築された第2のセキュリティ・ラッパ層は、図9のオブジェクト911A〜911Eに類似するセキュリティ・ラッパ・オブジェクトを含み、これらの中に、第1の層中の対応するセキュリティ・ラッパ・オブジェクトへのポインタが記憶されることは、当業者には理解されるであろう。このようにして、特定の装置モデル・オブジェクトへのアクセス要求が順次フィルタリングされ、ステップ820に関して述べたようにアクセス要求は第2の層中のセキュリティ・ラッパ・オブジェクトへのポインタをメソッドに渡し、次いでメソッドは、ステップ820に関して述べたようにアクセス許可決定を行った後で、第1のセキュリティ・ラッパ層中の対応するセキュリティ・ラッパ・オブジェクト中に含まれるポインタを渡す。次いで、メソッド呼出しにおけるポインタ・パスによって指された第1の層中の対応するセキュリティ・ラッパ・オブジェクトが、それに含まれるアクセス制御情報に基づいてセキュリティ許可決定を行い、アクセス許可時に、そのポインタを装置オブジェクト・メソッドのツールの呼び出しに渡す。
【0054】
方法、コンピュータ・プログラム製品、およびシステムをいくつかの実施形態に関連して述べたが、本明細書に述べる特定の形に限定するものではなく、反対に、添付の特許請求の範囲によって定義する本発明の趣旨および範囲に無理なく収まるこのような代替、修正、および均等物を包含するものである。各見出しは、構成上の目的で使用したに過ぎず、記述または特許請求の範囲を限定するものではないことに留意されたい。
【図面の簡単な説明】
【図1】 本発明によって構成されたシステムの一実施形態を示す図である。
【図2】 本発明の一実施形態によるツール・サーバを示す図である。
【図3】 複数プロトコル環境で自動化されたツール管理を実現するように構成された、本発明のプログラムのソフトウェア・アーキテクチャの一実施形態を示す図である。
【図4】 本発明によって構成された装置モデルのUML(Unified Modeling Language)図である。
【図5】 本発明によって構成された例示的な装置モデルのグラフィカル・ユーザ・インタフェース(GUI)表現を示す図である。
【図6】 本発明によって構成された別の例示的なGUIの一部を示す図である。
【図7】 装置モデルを介して、情報を取り出し、かつ/あるいは、サービス要求をツールから、および/またはツールに発行する方法のフローチャートである。
【図8】 ツール・アクセス制御の方法のフローチャートである。
【図9】 本発明の一実施形態によるセキュリティ・ラッパ・アーキテクチャを示す図である。
Claims (42)
- 自動ツール管理の方法であって、
選択されたプロトコルでユーザからメッセージを発行するステップであって、前記メッセージが、前記ツールに対する選択された動作を行う要求を含み、前記メッセージが、データと前記ツールの装置モデル中のオブジェクトを指すポインタとのうちの1つまたは複数を含み、前記装置モデルが前記ツールの論理表現を含むステップと、
オブジェクト指向プロセス間を介して前記メッセージを受信するステップと、
前記ポインタおよび前記選択された動作に応答して前記オブジェクトのメソッドを呼び出すステップであって、前記メッセージがデータを含む場合は前記データを前記メソッドに渡すステップと、
前記要求された動作および前記データに関連する値を前記ユーザに転送するステップとを含む方法。 - 前記受信したメッセージの前記データおよび前記ポインタを1つまたは複数抽出するステップをさらに含む、請求項1に記載の方法。
- 前記ツールが非同期ソースであり、かつ前記要求された動作に関連する前記値が現在である場合は、
前記値を前記装置モデルからアプリケーション・インタフェース・ユニットに転送するステップであって、前記アプリケーション・インタフェース・ユニットが前記ユーザを前記装置モデルとインタフェースするステップと、
前記値を前記ユーザへの返信メッセージに組み込むステップと、
前記ユーザから提供されたアドレスに応答して、前記オブジェクト指向プロセス間通信を介して前記返信メッセージを前記ユーザに転送するステップとをさらに含む、請求項1に記載の方法。 - 前記ツールが同期ソースである場合は、
ツール・インタフェース・ユニットによって前記ツールから前記値を取り出すステップであって、前記ツール・インタフェース・ユニットが前記ツールを前記装置モデルとインタフェースするステップと、
前記値を前記装置モデルに転送するステップとをさらに含む、請求項1に記載の方法。 - 前記値を前記ユーザへの返信メッセージに組み込むステップと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するステップとをさらに含む、請求項4に記載の方法。 - 前記ツールが、非同期ソースと同期ソースのうちの一方でない場合、または、前記要求された動作に関連する現在の値を供給しない非同期ソースである場合は、
前記装置モデルのデータベースから前記値を取り出すステップをさらに含む、請求項1に記載の方法。 - 前記値を前記ユーザへの返信メッセージに組み込むステップと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するステップとをさらに含む、請求項6に記載の方法。 - 前記プロセス間通信が、COM(Component Object Model)、RMI(Remote Method Invocation)、CORBA、SOAP(Simple Object Access Protocol)、SECS、GEM、HTML(HyperText Markup Language)、XML(Extensible Markup Language)のうちから選択されるプロトコルを含む、請求項1に記載の方法。
- 前記ツールにリモート・アクセスして前記ツールを電子的に診断するために前記オブジェクトの前記メソッドを呼び出す、請求項1に記載の方法。
- 前記メッセージ中の前記データが通知データである、請求項1に記載の方法。
- 自動ツール管理のためのコンピュータ・プログラム論理を記録したコンピュータ可読媒体であって、
選択されたプロトコルでユーザからメッセージを発行するように動作可能なプログラミングであって、前記メッセージが、前記ツールに対する選択された動作を行う要求を含み、前記メッセージが、データと前記ツールの装置モデル中のオブジェクトを指すポインタとのうちの1つまたは複数を含み、前記装置モデルが前記ツールの論理表現を含むプログラミングと、
オブジェクト指向プロセス間通信を介して前記メッセージを受信するように動作可能なプログラミングと、
前記ポインタおよび前記選択された動作に応答して前記オブジェクトのメソッドを呼び出すように動作可能なプログラミングであって、前記メッセージがデータを含む場合は前記データを前記メソッドに渡すプログラミングと、
前記要求された動作および前記データに関連する値を前記ユーザに転送するように動作可能なプログラミングとを含む、コンピュータ可読媒体。 - 前記受信したメッセージの前記データおよび前記ポインタを1つまたは複数抽出するように動作可能なプログラミングをさらに含む、請求項11に記載のコンピュータ可読媒体。
- 前記ツールが非同期ソースであり、かつ前記要求された動作に関連する前記値が現在である場合は、
前記値を前記装置モデルからアプリケーション・インタフェース・ユニットに転送するように動作可能なプログラミングであって、前記アプリケーション・インタフェース・ユニットが前記ユーザを前記装置モデルとインタフェースするプログラミングと、
前記値を前記ユーザへの返信メッセージに組み込むように動作可能なプログラミングと、
前記ユーザから提供されたアドレスに応答して、前記オブジェクト指向プロセス間通信を介して前記返信メッセージを前記ユーザに転送するように動作可能なプログラミングとをさらに含む、請求項11に記載のコンピュータ可読媒体。 - 前記ツールが同期ソースである場合は、方法はさらに、
ツール・インタフェース・ユニットによって前記ツールから前記値を取り出すように動作可能なプログラミングであって、前記ツール・インタフェース・ユニットが前記ツールを前記装置モデルとインタフェースするプログラミングと、
前記値を前記装置モデルに転送するように動作可能なプログラミングとのステップを含む、請求項11に記載のコンピュータ可読媒体。 - 前記値を前記ユーザへの返信メッセージに組み込むように動作可能なプログラミングと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するように動作可能なプログラミングとをさらに含む、請求項14に記載のコンピュータ可読媒体。 - 前記ツールが、非同期ソースと同期ソースのうちの一方でない場合、または前記要求された動作に関連する現在の値を供給しない非同期ソースである場合は、
前記装置モデルのデータベースから前記値を取り出すように動作可能なプログラミングをさらに含む、請求項11に記載のコンピュータ可読媒体。 - 前記値を前記ユーザへの返信メッセージに組み込むように動作可能なプログラミングと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するように動作可能なプログラミングとをさらに含む、請求項16に記載のコンピュータ可読媒体。 - 前記プロセス間通信が、COM(Component Object Model)、RMI(Remote Method Invocation)、CORBA、SOAP(Simple Object Access Protocol)、SECS、GEM、HTML(HyperText Markup Language)、XML(Extensible Markup Language)のうちから選択されるプロトコルを含む、請求項11に記載のコンピュータ可読媒体。
- 前記ツールにリモート・アクセスして前記ツールを電子的に診断するために前記オブジェクトの前記メソッドを呼び出す、請求項11に記載のコンピュータ可読媒体。
- 前記メッセージ中の前記データが通知データである、請求項11に記載のコンピュータ可読媒体。
- プロセッサと、
自動ツール管理のために動作可能なコンピュータ・プログラムを記憶するように動作可能なコンピュータ・プログラムを記憶するメモリ・ユニットと、
プロセッサをメモリに結合するバス・システムとを備えるシステムであって、コンピュータ・プログラムが、
選択されたプロトコルでユーザからメッセージを発行するプログラミング・ステップであって、前記メッセージが、前記ツールに対する選択された動作を行う要求を含み、前記メッセージが、データと前記ツールの装置モデル中のオブジェクトを指すポインタとのうちの1つまたは複数を含み、前記装置モデルが前記ツールの論理表現を含むプログラミング・ステップと、
オブジェクト指向プロセス間を介して前記メッセージを受信するプログラミング・ステップと、
前記ポインタおよび前記選択された動作に応答して前記オブジェクトのメソッドを呼び出すプログラミング・ステップであって、前記メッセージがデータを含む場合は前記データを前記メソッドに渡すプログラミング・ステップと、
前記要求された動作および前記データに関連する値を前記ユーザに転送するプログラミング・ステップとを実施するように動作可能であるシステム。 - コンピュータ・プログラムがさらに、
前記受信したメッセージの前記データおよび前記ポインタを1つまたは複数抽出するプログラミング・ステップを実施するように動作可能である、請求項21に記載のシステム。 - 前記ツールが非同期ソースであり、かつ前記要求された動作に関連する前記値が現在である場合は、コンピュータ・プログラムはさらに、
前記値を前記装置モデルからアプリケーション・インタフェース・ユニットに転送するプログラミング・ステップであって、前記アプリケーション・インタフェース・ユニットが前記ユーザを前記装置モデルとインタフェースするプログラミング・ステップと、
前記値を前記ユーザへの返信メッセージに組み込むプログラミング・ステップと、
前記ユーザから提供されたアドレスに応答して、前記オブジェクト指向プロセス間通信を介して前記返信メッセージを前記ユーザに転送するプログラミング・ステップとを実施するように動作可能である、請求項21に記載のシステム。 - 前記ツールが同期ソースである場合は、コンピュータ・プログラムはさらに、
ツール・インタフェース・ユニットによって前記ツールから前記値を取り出すプログラミング・ステップであって、前記ツール・インタフェース・ユニットが前記ツールを前記装置モデルとインタフェースするプログラミング・ステップと、
前記値を前記装置モデルに転送するプログラミング・ステップとを実施するように動作可能である、請求項21に記載のシステム。 - コンピュータ・プログラムがさらに、
前記値を前記ユーザへの返信メッセージに組み込むプログラミング・ステップと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するプログラミング・ステップとを実施するように動作可能である、請求項24に記載のシステム。 - 前記ツールが、非同期ソースと同期ソースのうちの一方でない場合、または前記要求された動作に関連する現在の値を供給しない非同期ソースである場合は、コンピュータ・プログラムがさらに、
前記装置モデルのデータベースから前記値を取り出すプログラミング・ステップを実施するように動作可能である、請求項21に記載のシステム。 - コンピュータ・プログラムがさらに、
前記値を前記ユーザへの返信メッセージに組み込むプログラミング・ステップと、
前記ユーザから提供されたアドレスに応答して、前記返信メッセージを前記ユーザに転送するプログラミング・ステップとを実施するように動作可能である、請求項26に記載のシステム。 - 前記プロセス間通信が、COM(Component Object Model)、RMI(Remote Method Invocation)、CORBA、SOAP(Simple Object Access Protocol)、SECS、GEM、HTML(HyperText Markup Language)、XML(Extensible Markup Language)のうちから選択されるプロトコルを含む、請求項21に記載のシステム。
- 前記ツールにリモート・アクセスして前記ツールを電子的に診断するために前記オブジェクトの前記メソッドを呼び出す、請求項21に記載のシステム。
- 前記メッセージ中の前記データが通知データである、請求項21に記載のシステム。
- ツール・アクセス制御の方法であって、
オブジェクト指向プロセス間を介してユーザから送信されたメッセージを受信するステップであって、前記メッセージが、ツールに対する選択された動作を行う要求を含み、前記メッセージが、前記ツールの装置モデル中のオブジェクトを指すポインタを含むステップと、
セキュリティ・ラッパ層を生成するステップと、
前記セキュリティ・ラッパ層中にセキュリティ・ラッパ・オブジェクトを生み出すステップであって、対応する装置モデル・オブジェクトへのポインタが前記セキュリティ・ラッパ・オブジェクトに記憶されるステップとを含む方法。 - 前記対応する装置モデル・オブジェクトが、前記要求に対応する前記オブジェクトである場合は、前記対応するセキュリティ・ラッパ・オブジェクトへのポインタが前記ユーザに転送される、請求項31に記載の方法。
- 前記ツールに対する前記選択された動作を、前記対応するセキュリティ・ラッパ・オブジェクトに記憶されたアクセス規則に応じて行うことができるかどうか判定するステップをさらに含む、請求項32に記載の方法。
- 前記ツールに対する前記選択された動作を行うことができる場合は、
前記対応するセキュリティ・ラッパ・オブジェクトからメソッドを呼び出して、前記選択された動作を行うステップをさらに含む、請求項33に記載の方法。 - ツール・アクセス制御のためのコンピュータ・プログラム論理を記録したコンピュータ可読媒体であって、
オブジェクト指向プロセス間を介してユーザから送信されたメッセージを受信するように動作可能なプログラミングであって、前記メッセージが、ツールに対する選択された動作を行う要求を含み、前記メッセージが、前記ツールの装置モデル中のオブジェクトを指すポインタを含むプログラミングと、
セキュリティ・ラッパ層を生成するように動作可能なプログラミングであって、前記セキュリティ・ラッパ層が前記装置モデルに対する保護層を提供するプログラミングと、
前記セキュリティ・ラッパ層中にセキュリティ・ラッパ・オブジェクトを生み出すように動作可能なプログラミングであって、対応する装置モデル・オブジェクトへのポインタが前記セキュリティ・ラッパ・オブジェクトに記憶されるプログラミングとを含むコンピュータ可読媒体。 - 前記対応する装置モデル・オブジェクトが、前記要求に対応する前記オブジェクトである場合は、前記対応するセキュリティ・ラッパ・オブジェクトへのポインタが前記ユーザに転送される、請求項35に記載のコンピュータ可読媒体。
- 前記ツールに対する前記選択された動作を、前記対応するセキュリティ・ラッパ・オブジェクトに記憶されたアクセス規則に応じて行うことができるかどうか判定するように動作可能なプログラミングをさらに含む、請求項36に記載のコンピュータ可読媒体。
- 前記ツールに対する前記選択された動作を行うことができる場合は、
前記対応するセキュリティ・ラッパ・オブジェクトからメソッドを呼び出して、前記選択された動作を行うように動作可能なプログラミングをさらに含む、請求項37に記載のコンピュータ可読媒体。 - プロセッサと、
ツール・アクセス制御のために動作可能なコンピュータ・プログラムを記憶するように動作可能なコンピュータ・プログラムを記憶するメモリ・ユニットと、
プロセッサをメモリに結合するバス・システムとを備えるシステムであって、コンピュータ・プログラムは、
オブジェクト指向プロセス間を介してユーザから送信されたメッセージを受信するプログラミング・ステップであって、前記メッセージが、ツールに対する選択された動作を行う要求を含み、前記メッセージが、前記ツールの装置モデル中のオブジェクトを指すポインタを含むプログラミング・ステップと、
セキュリティ・ラッパ層を生成するプログラミング・ステップと、
前記セキュリティ・ラッパ層中にセキュリティ・ラッパ・オブジェクトを生み出すプログラミング・ステップであって、対応する装置モデル・オブジェクトへのポインタが前記セキュリティ・ラッパ・オブジェクトに記憶されるプログラミング・ステップとを実施するように動作可能であるシステム。 - 前記対応する装置モデル・オブジェクトが、前記要求に対応する前記オブジェクトである場合は、前記対応するセキュリティ・ラッパ・オブジェクトへのポインタが前記ユーザに転送される、請求項39に記載のシステム。
- コンピュータ・プログラムがさらに、
前記ツールに対する前記選択された動作を、前記対応するセキュリティ・ラッパ・オブジェクトに記憶されたアクセス規則に応答して行うことができるかどうか判定するプログラミング・ステップを実施するように動作可能である、請求項40に記載のシステム。 - 前記ツールに対する前記選択された動作を行うことができる場合は、コンピュータ・プログラムがさらに、
前記対応するセキュリティ・ラッパ・オブジェクトからメソッドを呼び出して、前記選択された動作を行うプログラミング・ステップを実施するように動作可能である、請求項41に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21681900P | 2000-07-07 | 2000-07-07 | |
US60/216,819 | 2000-07-07 | ||
US09/899,833 | 2001-07-05 | ||
US09/899,833 US7403984B2 (en) | 2000-02-01 | 2001-07-05 | Automated tool management in a multi-protocol environment |
PCT/US2001/021318 WO2002005043A2 (en) | 2000-07-07 | 2001-07-06 | Automated tool management in a multi-protocol environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004503955A JP2004503955A (ja) | 2004-02-05 |
JP4806513B2 true JP4806513B2 (ja) | 2011-11-02 |
Family
ID=45044210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002509841A Expired - Lifetime JP4806513B2 (ja) | 2000-07-07 | 2001-07-06 | 複数プロトコル環境における自動ツール管理 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4806513B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998053581A1 (en) * | 1997-05-19 | 1998-11-26 | Coactive Networks, Inc. | Server system and method for networking control networks and direct input/output devices with the world wide web |
-
2001
- 2001-07-06 JP JP2002509841A patent/JP4806513B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998053581A1 (en) * | 1997-05-19 | 1998-11-26 | Coactive Networks, Inc. | Server system and method for networking control networks and direct input/output devices with the world wide web |
Also Published As
Publication number | Publication date |
---|---|
JP2004503955A (ja) | 2004-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100798565B1 (ko) | 자동화된 툴 관리 방법, 컴퓨터 판독가능한 저장 매체 및 시스템 | |
AU2001292691B2 (en) | A method and system for remote configuration of process data access servers | |
US9785140B2 (en) | Multi-protocol multi-client equipment server | |
AU2001292809B2 (en) | An extensible manufacturing/process control information portal server | |
JP4731669B2 (ja) | コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム | |
JP4739496B2 (ja) | プロセス制御システム、コンフィギュレーション・データベース・システム、プロセス制御システムでコンフィギュレーション・データを使用する方法、およびプロセス制御システムでコンフィギュレーション動作を行う方法 | |
US7840293B2 (en) | Caching identifications and associated production database guids for expedited acquisition of linking information contained within multiple distinct production database tables | |
US7555706B2 (en) | Human machine interface | |
AU2001292809A1 (en) | An extensible manufacturing/process control information portal server | |
US7756963B2 (en) | Automated tool management in a multi-protocol environment | |
CN101151865B (zh) | 多协议多客户端设备服务器 | |
EP1849275A2 (en) | Multi-protocol multi-client equipment server | |
JP4806513B2 (ja) | 複数プロトコル環境における自動ツール管理 | |
AU2006201207B2 (en) | Human machine interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080602 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20101012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20101012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110704 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110725 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4806513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |