KR20020055579A - 멀티-프로토콜 환경에서의 자동화된 툴 관리 - Google Patents

멀티-프로토콜 환경에서의 자동화된 툴 관리 Download PDF

Info

Publication number
KR20020055579A
KR20020055579A KR1020027003021A KR20027003021A KR20020055579A KR 20020055579 A KR20020055579 A KR 20020055579A KR 1020027003021 A KR1020027003021 A KR 1020027003021A KR 20027003021 A KR20027003021 A KR 20027003021A KR 20020055579 A KR20020055579 A KR 20020055579A
Authority
KR
South Korea
Prior art keywords
tool
user
message
value
equipment model
Prior art date
Application number
KR1020027003021A
Other languages
English (en)
Other versions
KR100798565B1 (ko
Inventor
레이몬드 월터 엘리스
마크 테오도어 펜들턴
찰스 메리트 베이리스
Original Assignee
도메인 로직스 코포레이션
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 도메인 로직스 코포레이션 filed Critical 도메인 로직스 코포레이션
Publication of KR20020055579A publication Critical patent/KR20020055579A/ko
Application granted granted Critical
Publication of KR100798565B1 publication Critical patent/KR100798565B1/ko

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
    • 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/418Total 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/41865Total 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
    • 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/418Total 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/4185Total 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
    • 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/31174Load, use different protocols, formats, emulators for different systems
    • 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/31175Message comprises identification of sender, receiver, command and parameter
    • 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/31186TCP-IP internet protocol
    • 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/31196SOAP, describes available services and how to call them remotely
    • 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/32Operator till task planning
    • G05B2219/32126Hyperlink, access to program modules and to hardware modules in www, web server, browser
    • 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/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet 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/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Communication Control (AREA)
  • Sewing Machines And Sewing (AREA)
  • Automatic Tape Cassette Changers (AREA)

Abstract

멀티-프로토콜 환경에서 자동화된 툴 관리를 위한 시스템, 컴퓨터 프로그램 제품 및 메소드이다. 사용자는 대응하는 애플리케이션 인터페이스 유닛으로 객체-지향적 상호응용 통신에 따라 메시지를 발한다. 메시지는 선택된 툴에 대한 특정 동작을 수행할 것의 요구이다. 메시지의 콘텐츠는 요구된 동작에 의해 요구된 데이터 및 툴을 표현하는 객체로의 포인터를 포함하는 대응하는 애플리케이션 인터페이스 유닛에 의해 추출된다. 애플리케이션 인터페이스 유닛은 메시지의 포인터에 의해 지시된 객체의 메소드에 호소한다. 툴에 관한 메시지에서 요구된 특정 정보 또는 사용자에게 어떤 이벤트가 발생하였음을 알려주는 통보에서 요구된 값은 장비 모델에 의해 획득된다. 장비 모델은 그 값을 적절한 사용자에게 전달한다.

Description

멀티-프로토콜 환경에서의 자동화된 툴 관리{AUTOMATED TOOL MANAGEMENT IN A MULTI-PROTOCOL ENVIRONMENT}
현대의 제조 설비는 제조 공정을 구현하기 위해 매우 자동화된 툴에 의존한다. 예를 들어, 반도체 제조 설비는 반도체 웨이퍼의 처리를 위한 매우 자동화된 툴 셋을 통합한다. 공정 제어 및 모니터링은 수행될 프로세스 및 모니터링을 구현하기 위해 호출되는 소프웨어 메소드들(methods)의 집합을 통해 조정된다. 제어 및 모니터링 소프트웨어는 다수의 포트를 통해 툴에 연결되는 툴 서버 상에서 실행되고, 다수의 포트 각각은 점대점 형태로 특정 툴을 갖는 툴 서버와 인터페이스 된다. 선택적으로, 툴 서버의 툴은 근거리 통신망에 속한다. 제조 공정을 제어하기 위해, 사용자는 LAN에 속하는 사용자 시스템을 통해 서버와 통신할 수 있거나, 그렇지 않으면 툴 서버와 통신 중이어야 한다. 특히, 툴 상태의 제어 및 모니터링을 위한 툴 서버로의 원격 액세스는, 조금이라도 존재하는 정도까지, 원격 액세스가 제공되는 각 플랫폼 상에 구현된 전문화된 코드의 개발을 필요로 한다. 그러나, 현대의 데이터 처리 시스템은 통상적으로 객체-지향상호애플리케이션(interapplication) 또는 상호프로세스(interproccess) 통신을 위한 설비들을 포함하는 브라우저 및 스프레드시트 소프트웨어와 같이 다수의 이미 존재하는 소프트웨어 애플리케이션을 제공한다. 이러한 설비들은 서로 다른 플랫폼 및 소프트웨어 환경을 통한 통신을 상호처리(interprocess)한다. 따라서, 다수의 객체-지향 상호처리 통신 프로토콜을 사용하는 애플리케이션 소프트웨어를 제조 장비에 적용시키기 위한 시스템 및 방법이 요구된다. 추가적으로, 그러한 인터페이싱 시스템 및 방법은 보안 정책의 시행 뿐만 아니라 레거시(legacy) 툴 제어 및 애플리케이션의 모니터링을 수용하여야 한다.
본 발명은 제조 공정에 관한 것이며, 보다 구체적으로는 멀티-프로토콜 환경에서 생산 장비를 제어하기 위한 메카니즘의 제공에 관한 것이다.
도1은 본 발명에 따라 구성된 시스템의 실시예.
도2는 본 발명의 툴 서버의 실시예.
도3은 멀티-프로토콜 환경에서 자동화된 툴 관리를 제공하도록 구성된 본 발명의 프로그램의 소프트웨어 구조에 대한 실시예.
도4는 본 발명에 따라 구성된 장비 모델에 대한 UML(Unified Modeling Language) 다이어그램.
도5는 본 발명에 따라 구성된 예시적인 장비 모델에 대한 그래픽 사용자 인터페이스(GUI) 설명.
도6은 본 발명에 따라 구성된 또다른 예시적인 GUI의 일부.
도7은 정보의 검색 및/또는 장비 모델을 거쳐 툴로 및/또는 툴로부터 서비스 요구의 발행을 위한 방법에 대한 흐름도.
도8은 툴 액세스 제어를 위한 방법에 대한 흐름도.
도9는 보안 래퍼(wrapper) 구조에 대한 본 발명의 실시예.
위에서 약술된 문제점들은 몇가지 실시예에서 다수의 객체-지향 상호처리 통신 프로토콜을 사용하여 서로 다른 플랫폼 및 소프트웨어 환경을 통한 제조 장비로의 상호처리 통신을 촉진 하므로써 적어도 부분적으로는 해결될 수 있다.
한 실시예에서, 툴 관리를 자동화하기 위한 프로세스는, WAN, LAN과 같은 다양한 방식으로, 객체-지향 상호애플리케이션 통신 프로토콜, (또는 동등하게는 객체-대-객체 프로토콜), 예컨대 COM(Component Object Model), JavaTMRMI(Remote Method Invocation), SOAP(Simple Object Access Protocol), 또는 HTTP(Hypertext Transfer Protocol)과 같은 네트워크 전송 프로토콜에 따라 메시지를 발한다. 메시지는 예컨대, 툴로부터 특정 정보를 추출한다거나, 툴의 객체와 관련된 변수 또는 파라미터를 특정값으로 설정하는 동작을 수행하려는 요구일 수 있다. 툴과 관련된 개체는 툴의 상태를 정의한다.
메시지는 대응하는 애플리케이션 인터페이스 유닛에 의해 수신된다. 애플리케이션 인터페이스 유닛은 장비 모델, 예컨대 OBEM과 사용자 사이를 인터페이스 하도록 구성된다. 애플리케이션 인터페이스 유닛은 요구된 동작에 의해 요구되는 데이터를 포함하는 수신된 메시지의 콘텐츠를 추출하도록 더 구성될 수 있다. 동작이 수행될 툴을 표현하는 장비 모델의 객체로의 포인터가 메시지에 포함된다. 애플리케이션 인터페이스 유닛은 메시지의 포인터에 의해 지시되는 객체로 향하는 메소드를 동원하여 메시지 콘텐츠를 구성하는 데이터를 상기 메소드로 전달한다. 메소드는 원격 진단 및 수리를 가능케 하는 원격 객체 액세스를 제공한다.
값은 그 값이 메시지의 요구된 동작 및 데이터와 관련되어 있는 장비 모델에 의해 획득된다. 즉, 그 값은 툴에 대한 메시지에서 요구된 특정 정보, 예컨대 온도, 압력, 상태 또는 사용자에게 경보가 꺼졌다는 등의 이벤트를 알려주는 통보와 관련되어 있다. 장비 모델은 사용자의 애플리케이션에 의해 제공된 어드레스를 기초로 적절한 사용자에게 그 값을 전달한다.
이상 본 발명의 특징 및 장점에 대해 다소 넓게 살펴보았고, 이하 상세히 설명하고자 한다. 이하 본 발명의 추가적인 특징 및 효과를 설명한다.
이하에서, 본 발명의 완전한 이해를 위한 다수의 특정 실시예들이 제시된다. 예를 들어, 특정 메시지 포맷 및 상호애플리케이션 통신 프로토콜이 참조되지만, 본 발명이 그러한 특정 설명 없이도 실시될 수 있음은 당업자는 이해할 것이다. 다른 예에서, 잘 알려진 회로들이 불필요하게 본 발명을 모호하게 하지 않기 위해 블록도 형태로 제시되어 있다.
도면을 참조하는데, 여기서 설명된 엘리먼트들은 반드시 스케일될 필요는 없고, 도면 전체에 걸쳐 동일한 참조번호는 동일한 엘리먼트를 지시한다.
도1은 하나 이상의 사용자들(101A-C)이 툴 서버(102)를 통해 하나 이상의 툴들(103A-C)과 통신할 수 있도록 하기 위한 메카니즘을 제공하도록 구성된시스템(100)에 대한 본 발명의 실시예를 나타낸다. 사용자들(101A-C)은 집합적으로 또는 개별적으로 각각 사용자들(101) 또는 사용자(101)라 칭하기로 한다. 툴들(103A-C)은 집합적으로 또는 개별적으로 각각 툴들(103) 또는 툴(103)이라 칭하기로 한다. 시스템(100)이 임의의 수의 사용자들(101) 및 툴들(103)을 포함할 수 있다는 점과 도1이 설명적이라는 점이 주목된다. 또한, 사용자들(101) 및 툴 서버(102) 간의 연결 및 툴 서버(102) 및 툴들(103) 간의 연결이 예컨대, 무선이나 유선과 같은 임의의 매체 타입일 수 있음도 주목된다. 또한, 사용자(101)는 예컨대, 무선, PDA, 무선 전화, 개인 컴퓨터 시스템, 워크 스테이션, 인터넷 장비와 같은 임의의 타입의 사용자일 수 있으며, 이들은 툴 서버(102)로의 연결 능력을 가지고 있으며, 따라서 툴(103)과 통신할 수 있다.
툴 서버(102)는 툴들(103)로부터 예컨대, 온도와 같은 특정 정보를 추출하도록 구성되어 있다. 정보는 툴 서버를 통해 툴로의 요구 메시지 및 응답 메시지에서 툴에 의해 반환된 정보를 툴 서버를 통해 전송하므로써 얻을 수 있다. 또한, 툴은 툴 서버를 통해 사용자에게 통보 메시지를 전송한다. 통보 메시지는, 예컨대 사용자에게 툴에서 미리 선택된 조건이 발생하였음을 경고한다. 메시지 콘텐츠는 특정 통신 프로토콜에 따라 포맷화된다. 예를 들어, 반도체 제조 툴들에서, 그러한 통신 프로토콜은 SECS(SEMI Communication Standard), 보다 구체적으로는 SECS-II(SECS는 SEMI에 의해 공표된 SEMI 장비 표준에 의해 공표된다)이다. (당업자들은 본 발명이 반도체 제조 산업에 한정되지 않으며, 본 발명의 원리는 자동차 공업과 같은 다른 제조 영역의 툴 자동화 시스템에 적용될 수 있으며, 그러한 실시예들은 본 발명의 범위에 포함된다는 점을 이해할 것이다.) 이하에 더 설명될 본 발명의 원리에 따라, 사용자들(101)은 COM(Component Object Model), JavaTM RMI(Remote Method Invocation), CORBA(Common Object Request Broker Architecture), SOAP(Simple Object Access Protocol) 또는 HTTP(Hypertext Transfer Protocol)등의 네트워크 전달 프로토콜과 같은 객체-지향 상호애플리케이션 통신 프로토콜을 사용하여 스프레드시트, 브라우저 또는 툴 제어 레거시 애플리케이션과 같은 다수의 애플리케이션들로부터의 메시지를 발하므로써, 툴들(103)을 제어하고 툴들(103)로부터 특정 정보를 추출할 수 있다. (당업자라면 이해할 바와 같이, 그러한 프로토콜은 예컨대, SOAP가 HTTP에 따라 전달된 XML 문서의 메시지를 포함하는 상호애플리케이션 메시지 프로토콜을 정의하기 때문에, 층으로 분리될 수 있다.) 메시지는 반도체 제조 설비에서 사용되는 장비와 같은 하나 이상의 툴들(103)로부터 온도, 상태, 압력 같은 특정 정보의 추출 요구하는 것이거나, 툴 동작의 개시/정지를 요구하는 것일 수 있다. 예를 들어, 사용자(101)는, 특정 챔버가 반도체 공정과 같은 제조 공정의 툴(103)을 나타내는 경우에, 특정 챔버의 온도를 요구하는 메시지를 발한다. 툴 서버(102)를 통해 툴(103)에 대한 정보를 획득하는 사용자들(101)에 대한 더 상세한 논의가 도5에 제공된다. 툴 서버(102)에 대한 상세한 설명이 이하에 제공된다.
도2를 참조하면, 도2는 툴 서버(102)에 대한 본 발명의 실시예를 나타낸다. 도2에서, 툴 서버(102)는 시스템 버스(212)에 의해 다양한 다른 컴포넌트들에 연결된 중앙 처리 장치(CPU)를 포함한다. 운영 체제(240)는 CPU(210) 상에서 실행되고제어 기능을 제공하며 도2의 다양한 컴포넌트들에 대한 기능을 조절한다. 도5에 설명된 하나 이상의 툴들(103)과 제어 및 데이터 제어를 통신하기 위한 프로그램 및, 도7에 설명된 툴 서버(102)에 액세스하는 사용자들(101)의 보안을 제공하기 위한 프로그램과 같은 애플리케이션(250)은 애플리케이션(250)에 의해 수행될 다양한 기능들을 구현하는 운영체제(240)와 함께 실행된다. ROM(216)은 시스템 버스(212)에 연결되고, 툴 서버(102)의 임의의 기본 기능들을 제어하는 BIOS(basic input/output system)를 포함한다. RAM(214), 디스크 어댑터(218) 및 통신 어댑터(234)는 또한 시스템 버스(212)에 연결된다: 운영 체제(240) 및 애플리케이션(250)을 포함하는 소프트웨어 컴포넌트들은 컴퓨터 시스템의 주메모리인 RAM(214)에 로드됨이 주목된다. 디스크 어댑터(218)는 디스크 드라이브와 같은 디스크 유닛(220)과 통신하는 SCSI(small computer system interface) 어댑터이다. 도5에 설명된 바와 같이, 하나 이상의 툴들(103)로부터 정보를 검색하는 본 발명의 프로그램은 디스크 유닛(220)에 저장되고 그로부터 검색되며, 시작되거나 필요한 경우에 운영 체제에 의해 RAM에 로드된다는 점을 주목할 것. 또한, 도7에 설명된 바와 같이, 툴 서버(102)에 액세스하는 사용자들(101)에게 보안을 제공하는 본 발명의 프로그램은 디스크 유닛(220)에 저장되고, 그로부터 검색되며 시작 되거나 필요한 경우에 운영체제에 의해 RAM에 로드된다는 점도 주목할 것.
통신 어댑터(234)는 버스(212)를, 툴 서버(102)가 이더넷, 토큰 링, ARCnet과 같은 근거리 통신망이나 인터넷과 같은 광대역 통신망을 통해, 그러한 다른 시스템들과 통신할 수 있도록 해주는 외부 네트워크와 상호연결 시킨다.
본 발명의 구현은 여기에 설명된 방법 또는 방법들을 실행하도록 프로그램된 컴퓨터 시스템 및 컴퓨터 프로그램 제품의 구현을 포함한다. 컴퓨터 시스템 구현에 따라, 방법 또는 방법들을 수행하기 위한 명령어들의 집합은 일반적으로 위해 설명된 대로 구성된 하나 이상의 컴퓨터 시스템의 RAM(214)에 존재한다. 툴 서버(102)에 의해 요구될 때까지, 명령어들의 집합은 다른 장치, 예컨대 디스크 드라이브(220)(디스크 드라이브(220)의 궁극적 사용을 위한 광디스크 또는 플로피 디스크를 포함)에 컴퓨터 프로그램 제품으로서 저장된다. 또한, 컴퓨터 프로그램 제품은 또한 또다른 컴퓨터에 저장되고 원하는 경우에는 네트워크나 인터넷과 같은 외부 네트워크에 의해 사용자의 워크스테이션으로 전송될 수 있다. 당업자는 명령어들 집합이 매체가 컴퓨터 판독가능 정보를 포함하게 되도록 그것이 저장되는 매체를 물리적으로 변화시킨다는 점을 인정할 것이다. 그 변화는 전기적, 자기적, 화학적 또는 다른 물리적 변화일 수 있다.
도3은 도5에 설명된 바와 같은 하나 이상의 툴들(103)로부터 정보를 검색하도록 구성된 본 발명의 프로그램에 대한 소프트웨어 구조(300)로 제시된 본 발명의 실시예이다. 소프트웨어 구조(300)는 하나 이상의 애플리케이션 인터페이스 유닛(301A-C), 장비 모델(302) 및 하나 이상의 툴 인터페이스 유닛들(303A-C)을 포함한다. 애플리케이션 인터페이스 유닛(301A-C)은 집합적으로 또는 개별적으로 각각 애플리케이션 인터페이스 유닛들(301) 또는 애플리케이션 인터페이스 유닛(301)으로 참조된다. 툴 인터페이스 유닛들(303A-C)은 집합적으로 또는 개별적으로 각각 툴 인터페이스 유닛들(303) 또는 툴 인터페이스 유닛(303)으로 참조된다. 소프트웨어 구조(300)가 임의의 수의 애플리케이션 인터페이스 유닛들(301) 및 툴 인터페이스 유닛들(303)을 포함한다는 점과 도3이 설명적이라는 점이 주목된다.
애플리케이션 인터페이스 유닛들(301)은 애플리케이션 모델(302)을 사용자들(101)로 인터페이스 하도록 구성된다. 장비 모델(302)은 툴들(103)의 논리적 표현을 제공하여, 사용자들(101)이 툴들(103)과 통신하게 할 수 있도록 구성된다. 즉, 장비 모델(302)은 툴들로 구성되는 물리적 장비에 툴들(103)의 논리적 매핑을 제공한다. 툴 제공자는 장비를, 장비 모델(302)과 같은 장비 모델의 객체들로 분해하여, 물리적 장비를 장비 모델의 객체의 특성들로 매핑한다. 그러한 장비 모델의 하나로는, SEMI 임시 스펙 SEMI E98-1000로서 SEMI에 의해 공표된 OBEM(Object-Based Equipment Model)을 들 수 있으며, 본 명세서에 참고문헌으로 일체화된다. 다른 장비 모델들은 본 발명과 함께 사용된다는 점과, 그러한 실시예들은 본 발명의 범위 내에 속한다는 점은 당업자들에 의해 이해될 것이다. 장비 모델(302)을 예시하는데 사용되는 모델 구성에 대한 설명은 도4에 제공된다. 예시적인 장비 모델은 도5와 함께 설명된다.
도4는 본 발명과 함께 사용되는 장비 모델 구성(402)에 대한 UML(Unified Modeling Language)을 나타낸다. 장비 객체 모델 구성(402)은 다수의 객체들을 포함하는 객체-지향 모델이다. 객체-지향 소프트웨어 구조에 따라, 객체들은 하위객체들로 구성되며, 이것은 상위객체들의 속성 및 메소드들을 상속한다. 장비 모델 구성(402)은 집단 계층(404) 및 인터페이스 상속 계층(406)을 포함한다. 집단 계층(404)의 객체들은 구체적인 객체인 반면에, 상속 계층의 객체들은 구체적인 객체들의 속성 및 메소드들을 정의하는 추상적인 객체일 수 있다. (JavaTM프로그래밍 언어로 본 발명을 구현할때, 상속 계층(406)의 추상적 객체 타입이 인터페이스일 수 있다.)
집단 계층(404)은 사용자 객체(408)를 포함한다. 장치 객체(410)는 0 (개방 다이아몬드로 표시됨) 또는 그 이상(원으로 표시됨)의 장비 모듈들을 포함한다. 또한, 장비 객체(410)는 0 또는 그 이상의 장비 하위시스템 객체(414) 및 장비 I/O 장치 객체들(416)을 포함한다. 장비 모듈 객체(412) 그 자체는 0개 이상의 장비 모듈 객체(412), 장비 하위시스템 객체(414) 및 장비 I/O 장치(416)를 포함한다. 마찬가지로, 장비 하위시스템 객체(414)는 0개 이상의 장비 하위시스템 객체(414) 및 0개 이상의 장비 I/O 객체(416)를 포함한다. 집단 계층(406)은 계층의 상부에서 하부까지 객체 타입의 복잡성의 감소를 나타낸다.
도5는 도4의 구성에 따른 예시적인 장비 모델(502)에 대한 그래픽 사용자 인터페이스(GUI)(500)를 설명한다. 모델(502)은 본 발명과 함께 사용되는 장비 모델을 설명하고, 당업자는 툴의 모델이 제조 설비의 실시예에 해당하는 객체들의 번호 및 타입들을 갖는다는 점을 이해할 것이다.
모델(502)은 GUI(500)에 계층적 형태로 표현되고, 루트점(504)을 포함한다. 장비 객체(506)는 예시적인 모델(502)의 주입기이다.
GUI(500)의 하위 윈도우(508)는 속성들(510)의 집합 및 장비 객체(504)와 관련된 해당 값들(512)을 나타낸다. 집합(508)에서 objTYPE(514) 속성은 그 값이"Equipment"(516)이다. 또다른 속성 objID(518)는 그 값이 "Implanter"(520)이다. 하위 윈도우(508)는 속성 집합(510)을 설명하고, 값(512)은 (모델(502)의 객체 식별기 "Implanter"를 강조하므로써 제시되는 바와 같이) 장비 객체(506)를 선택하므로써 GUI(500)에 디스플레이된다. GUI에서 예컨대, "마우스-클릭"에 의한 객체의 선택은 당업자에게 공지된 기술이다.
장비 모델 객체(522)는 모델(502)에서 이온 주입기이고, 장비 객체(506)의 자식 객체이다. 장비 모듈 객체의 속성에 해당하는 속성 리스트 및 관련 값들(도5에 미도시)은 장비 객체(506)와 함께 위에 설명된 것과 같은 방식으로 장비 모듈 객체(522)를 선택하므로써 디스플레이된다.
모델(502)의 다른 객체들은 하위시스템 객체(524) 및 장비 I/O 객체(526)를 포함한다. 하위시스템 객체(524), endstation은 이온 주입기, 장비 모듈 객체(522)의 자식 객체이고, I/O 객체(526), Faraday Cup은 하위시스템 객체(524)의 자식 객체이다.
객체-지향 소프트웨어 원리에 따라, 모델(502)과 같은 장비 모델은 데이터 및 데이터에 대해 동작하는 메소드를 포함하는 클래스의 인스턴스들이다.(위에서 논의된 속성들의 집합은 그러한 데이터의 예시이다.) 따라서, 객체는 데이터에 대한 연산을 위한 데이터 및 코드를 포함하는 데이터 구조이다. 특히, 다시 상기(recall)해보면, 생산 설비의 논리적 표현인 장비 모델의 객체는 특정 객체의 자식 객체를 반환하기 위한 메소드를 포함한다. 즉, 장비 모델에 액세스하는 사용자는 데이터 처리 분야의 당업자에게 공지된 바와 같이, 디렉토리 및 파일들의 계층들 통해 드릴 다운하는 것에 유사하게, 예컨대 모델(502)의 계층을 통해 "드릴 다운"하므로써 모델을 탐색할 수 있다. 이런 식으로, 사용자의 클라이언트 애플리케이션은 모델의 객체로의 포인터들을 획득한다. 이것들은 사용자의 클라이언트 애플리케이션에 의해, 툴로부터 툴 또는 툴의 컴포넌트의 논리 표현에 해당하는 객체의 중재를 통해, 툴로부터 툴 또는 툴의 컴포넌트에 메시지를 전송하는데 사용된다. 그러한 메시징을 도7을 참조하여 이하 설명한다.
도6은 본 발명의 실시예에 사용되는 또다른 예시적 GUI(600)의 일부를 설명한다. GUI(600)는 사용자의 클라이언트 스프레드시트 애플리케이션과 함께 사용된다. 셀 집합(602A-C)은 주입기 객체의 속성들 집합, 셀(604)을 포함한다. 대응하는 값들이 셀 집합들(606A-C)에 디스플레이된다. 셀 집합(602A)에 도시된 속성 ObjType의 값은 "Equipment"이고, 셀 집합(606A)에 디스플레이되며, 속성 ObjID는 값이 도5의 장비 객체(506)에 대응하는 "Implanter"임을 주목할 것. 셀 집합(602A-C)의 속성들 집합 및 셀 집합(606A-C)의 값들이 도5의 속성 집합(510) 및 값 집합(512)의 속성들을 반영한다는 점을 주목할 것.
또한, GUI(600)는 제어 버튼(608)을 포함한다. 사용자에 의한 마우스 클릭 또는 다른 유사한 동작에 의해 이루어지는 제어 버튼(608)의 선택은, 장비 객체 모델을 통해 툴로부터, 예컨대 선택된 속성값에 대한 스프레드시트 애플리케이션으로부터의 요구 메시지를 전송하는데, 이 메시지는 소정의 객체-지향 상호처리 통신 프로토콜, 예컨대 COM을 사용하여 장비 모델로 전달된다.
흐름도 형태로 도시된, 도7을 참조하면, 장비 모델을 통한 예컨대, 도1의 툴들(103) 간의 메시지 통신을 위한 방법을 설명한다.
다시 도3을 참조하면, 애플리케이션 인터페이스 유닛(301)은 사용자들(101) 및 툴들(103) 중 하나 사이에서 메시지를 통신하도록 구성된다. 각 애플리케이션 인터페이스 유닛(301)은 하나 이상의 상호애플리케이션 프로토콜, 예컨대, COM, RMI, CORBA, SOAP, HTTP 또는 SECS 메시지 같은 레거시 네이티브 메시지를 통신하는 사용자 애플리케이션을 통해 사용자(101)로부터 메시지를 수신하도록 구성된다. 또한, 각 애플리케이션 인터페이스 유닛(301)은 특정 방식, 예컨대 WAN, LAN, 공장 시스템에서 사용자들(101)로부터 메시지를 수신하도록 구성된다. 예를 들어, 애플리케이션 인터페이스 유닛(301A)은 LAN을 통해 COM, RMI, CORBA, SOAP 및 XML과 같은 프로토콜로 사용자들(101A)로부터 메시지를 수신하도록 구성된다. 애플리케이션 인터페이스 유닛(301B)은 공장 시스템 네트워크 또는 다른 통신 링크를 통해 SECS와 같은 프로토콜로, 레거시 애플리케이션, 예컨대 MES를 통해 사용자들(101B)로부터 메시지를 수신하도록 구성된다. 애플리케이션 인터페이스 유닛(301C)은 WAN 또는 인터넷을 통해 HTTP 요구와 같은 프로토콜로 사용자들(101C)로부터 메시지를 통신하고, HTML 또는 XML 문서와 같은 문서로 랩된(wrapped) 메시지를 수신하도록 구성된다. 그러한 애플리케이션 인터페이스 유닛에서 사용되는 방법들 및 장치들에 대한 상세한 설명은 출원 계속 중이며 공동 소유된 미국특허 출원 번호 09/496,009, 발명의 명칭 "웹-기반 툴 관리를 위한 장치 및 방법"에 개시되어 있으며, 상기 발명은 본 명세서에 참고문헌으로 일체화 되어 있다.
도7은 본 발명의 실시예인 온도, 압력과 같은 정보 검색 및/또는 OBEMTM과 같은 장비 모델(302)을 통해 하나 이상의 툴들(103)에 제어 메시지와 같은 서비스 요구를 발하기 위한 방법(700)을 설명하는 흐름도이다. 위에 설명된 바와 같이, 툴 서버(102)의 소프트웨어는, 도1의 툴들(103)과 같은 툴 또는 툴들의 논리적 표현을 구현하는, OBEM과 같은 장비 모델을 구성하는 소프트웨어 구조를 구현한다.
스텝(702)에서, 사용자들(101-101C) 중의 하나와 같은 사용자(101)는 특정 애플리케이션 인터페이스 유닛(301), 예컨대 애플리케이션 인터페이스 유닛(301A)에 메시지를 발하여, 온도, 압력, 상태와 같은 정보를 요구하고 및/또는 특정 툴(103)로 및/또는 툴(103)로부터 제어 메시지 같은 서비스 요구를 발한다. 메시지는 멀티태스킹 또는 멀티프로세싱 환경에서의 연결에 의해 특정 사용자(101)와 관련된다.
스텝(704)에서, 메시지는 대응하는 애플리케이션 인터페이스 유닛(301) 중 하나에 의해 수신된다. 위에 언급된 바와 같이, 사용자들(101)은 객체-지향 상호애플리케이션 통신 프로토콜, 또는(동등하게는 객체-대-객체 프로토콜) 예컨대, COM, RMI, CORBA, SOAP, HTTP 등에 따라 메시지를 통신하는 애플리케이션을 사용하여 특정 애플리케이션 인터페이스 유닛들(301)에 액세스 할 수 있다. 예를 들어, 애플리케이션 인터페이스 유닛(301A)은 LAN을 통해 COM, RMI, CORBA, SOAP 및 HTTP와 같은 프로토콜로 사용자들(101A)로부터 메시지를 수신하도록 구성된다. 애플리케이션 인터페이스 유닛(301B)은 공장 시스템 네트워크를 통해 SECS와 같은 네이티브 프로토콜로 사용자들(101B)로부터 메시지를 수신하도록 구성된다. 애플리케이션 인터페이스 유닛(301C)은 WAN 또는 인터넷을 통해 HTTP와 같은 프로토콜을 사용하여 사용자들(101C)로부터 메시지를 수신하도록 구성된다.
앞서 설명한 바와 같이, 툴 및 사용자 사이에서, 장비 모델의 의해 중재되는, 다수의 애플리케이션 메시지들을 사용하는 서로 다른 데이터 처리 플랫폼을 통한 툴 및 사용자 간의 통신을 촉진하기 위해, 메시지는 객체-지향 상호처리 통신 또는 데이터 교환 프로토콜을 통해 교환된다. 예로서, CORBA, RMI, COM 및 SOAP를 들 수 있다. 또한, 애플리케이션은 SECS와 같은 네이티브 통신 프로토콜, 또는 HTTP 요구나 XML/HTML 페이지의 메시지를 사용한다.
스텝(706)에서, 스텝(704)에서 메시지를 수신한 애플리케이션 인터페이스 유닛(301)은 수신된 메시지의 데이터, 예컨대 요구된 동작에 필요한 데이터를 추출한다. 위에 언급된 바와 같이, 수신된 메시지의 콘텐츠는 하나 이상의 툴들(103)로부터의 온도, 압력, 상태와 같은 특정 정보를 요구하거나; 또는 제어 설정-포인트와 같은 특정 파라미터를 설정할 것을 요구하거나; 또는 파라미터 값의 변화와 같은 통보를 요구할 수 있다. 동작이 수행될 툴(103) 또는 그 컴포넌트 및 영향을 받는 특정 변수 또는 파라미터를 표현하는 장비 모델의 객체로의 포인터가 메시지에 포함된다.
요구가 데이터를 얻거나(get) 데이터를 설정(set)하는 것이 아니고, 통보 요구도 아닌 경우에, 이하에 논의될 바와 같이, 스텝(710, 741 및 763)은 그 "No" 브랜치에 떨어지고, 방법(700)은 적절한 툴 인터페이스를 통해 스텝(708)에서 요구,예컨대 툴의 시작 또는 정지와 같은 서비스 요구를 처리한다.
그렇지 않으면, 요구가 데이터 얻기, 데이터 설정 또는 통보 요구 중 하나인 경우에, 수행되는 동작들은 툴(103) 또는 그 컴포넌트의 특성에 따라 달라진다.
툴(103)은 이하에 설명될 바와 같이 스텝(706)에서 요구된 데이터의 동기 소스, 변할 수 있는 동기 소스 및/또는 비동기 소스로서 특성화된다. 동기 소스는 온도, 압력, 상태와 같은 특정 정보에 대한 사용자(101)의 요구에 값을 제공하는 툴을 가리킨다. 변할 수 있는 동기 소스는 사용자(101)에 의해 설정되는 툴(103) 설정을 가리킨다. 설정은 특정 툴(103)과 관련된 특정 변수 또는 파라미터를 특정 값으로 설정하는 사용자(101)를 가리킨다. 비동기 소스는 사용자(101)에게 이벤트가 발생하였을때, 예컨대 값이 변화할 때를 알려주는 특정 툴(103)을 가리킨다. 툴 인터페이스 유닛들(303)은 이벤트가 발생하였을 때에 대해 그와 관련된 툴들(103)을 계속 모니터링 하도록 구성된다. 이벤트가 발생하였을때, 툴 인터페이스 유닛(303)은 장비 모델(302)에 이벤트가 발생하였음을 통보한다. 장비 모델(302)은 그 사용자(들)(101)로의 포인터(들)을 기초로 중요한 사용자(들)에게 통보하기 위한 방법을 호출하도록 구성된다.
스텝(712)에서, 상기 방법에 의해 스텝(708)에서 결정된 객체의 파라미터가 비동기 소스에 의해 제공된 값이 존재하는 비동기 소스를 갖는가에 관한 결정이 행해진다. 객체의 파라미터가 비동기 소스에 의해 제공된 값이 존재하는 비동기 소스를 갖는 경우에, 그 존재하는 값은 스텝(713)에서 지역 객체로부터 검색되고, 스텝(728)에서 적절한 애플리케이션 인터페이스로 전달된다. 스텝(730)에서, 적절한애플리케이션 인터페이스 유닛(301)은 적절한 프로토콜에 따라 사용자(101)에게로의 반환 메시지로 수신된 데이터 값을 통합하도록 구성된다. 스텝(732)에서, 메시지는 사용자의 클라이언트 애플리케이션에 의해 앞서 제공된 어드레스를 기초로 적절한 사용자(101)에게 전달된다.
스텝(710)을 참조하면, 특정 툴(103)이 비동기 소스에 현재 유효한 데이터를 제공하지 않는 경우에, 스텝(734)에서 특정 툴(103)이 동기 소스를 제공하는 가에 관한 결정이 행해진다. 특정 툴(103)이 동기 소스를 제공하는 경우에, 스텝(736)에서 적절한 툴 인터페이스 유닛(303)은 특정 툴(103)로부터 데이터 값을 검색한다. 적절한 툴 인터페이스 유닛(303)은 장비 모델의 네이티브 통신 프로토콜, 예컨대 SECS에 따라 장비 모델(302)의 방법에 의해 데이터 값을 검색하도록 인에이블된다. 스텝(728)에서, 적절한 툴 인터페이스 유닛(303)은 데이터 값을 장비 모델(302)로 전달한다. 스텝(728)에서, 상기 값은 위에서 논의된 바와 같이 사용자에게 전달된다.
특정 툴(103)이 동기 소스가 아닌 경우에, 스텝(737)에서, 특정 툴(103)이 현재 유효한 데이터가 없는 비동기 소스를 제공하는 가에 관한 결정이 행해진다. 그런 경우에, 요구는 스텝(739)에서 실패하고, 스텝(728-739)에서 사용실패 요구는 앞서 설명된 바와 같이 사용자에게로 반환된다.
다른 경우에, 스텝(737)은 "No" 브랜드에 의해 스텝(740)으로 진행하여 지역 객체로부터 데이터 값을 검색한다. 값은 위에서 논의된 대로 스텝(728-732)에서 사용자에게 전달된다.
스텝(710)으로 돌아가서, 요구가 데이터에 대한 요구가 아닌 경우에, 스텝(741)에서, 요구가 데이터 엘리먼트를 변형하고자 하는 요구인가에 관한 결정이 행해진다. 그렇게 결정된 경우에, 다시 행해진 동작들은 툴(103)의 특성에 따라 달라진다. 스텝(751)에서, 앞서 논의된 바와 같이, 툴이 영향을 받은 파라미터에 변형가능한 동기 써포트를 제공하는 가에 관한 결정이 행해진다. 그렇게 결정된 경우에, 스텝(753)은 적절한 툴 인터페이스를 통해 파라미터를 설정한다. 이 동작을 완료한 후에, 스텝(755)은 스텝(765)과 함께 다음에 더 설명될 바와 같이, 통보를 요구한 모든 사용자들에게 영향 받은 파라미터가 설정된 때를 통보한다. 앞서 설명된 바와 같이, 요구는 스텝들(728-732)의 사용자에게 반환된다.
스텝(751)으로 돌아가서, 툴이 중요한 속성에 변화할 수 있는 동기 소스를 제공하지 않는다는 결정이 행해지면, 스텝(757)에서 툴이 그 속성에 동기 또는 비동기 써포트를 제공하는 가에 관한 결정이 행해진다. 그렇게 결정된 경우에, 스텝(759)에서, 요구는 실패하고, 이 상태는 앞서 설명된 바와 같이 스텝들(728-732)에서 사용자에게 반환된다.
스텝(757)으로 돌아가서, 툴이 중요한 속성에 동기 또는 비동기 써포트를 제공하지 않는가에 대한 결정이 행해지면, 스텝(761)은 지역 객체의 속성을 요구된 값을 설정하고, 스텝(755)은 사용자들에게 속성 변화를 통보하며, 다음 스텝들이 앞서 설명된 바와 같이 실행된다.
스텝(741)으로 돌아가서, 요구가 데이터값을 얻으려는 요구가 아닌가에 대한 결정이 행해지면, 스텝(763)에서 요구가 속성 변화와 같은 이벤트가 발생하였때 통보되는 요구인가에 관한 결정이 행해진다. 그렇게 결정된 경우에, 스텝(765)은 객체 및 거기에 속하는 파라미터와 함께 그 요구를 하는 사용자에 관한 참조를 저장한다. 요구의 수신 응답은 앞서 논의된 스텝들(728-732)에서 사용자에게 반환된다.
도8은 본 발명의 실시예에 따른 툴 액세스 제어용 방법(800)의 흐름도를 나타낸다. 즉, 방법(800)은 사용자 또는 사용자 그룹이 특정 툴에 관해 취하는 동작을 제어하는데 사용된다.
스텝(802)에서, 요구 메시지는, 도1의 예컨대 사용자들(101A-C) 중 한 사용자로부터 수신된다. 메시지는 툴 또는 그 툴의 컴포넌트에 관한 데이터를 요구하거나, 그 툴로부터의 서비스를 요구하고, 따라서 그 메시지는 앞서 설명된 바와 같이, 툴 또는 컴포넌트에 액세스한다.
스텝(803)에서, 방법(800)은 도9의 사용자 객체(950)에 의해 설명된 바와 같이, 특정 사용자(101), 예컨대 사용자(101A)와 관련된 객체를 발생할 수 있다. 객체(950)는 관련된 사용자, 예컨대 사용자(101A)의 식별기를 포함한다.
도9는 본 발명의 원리에 따른 보안 래퍼 구조(900)를 도시한다. 소프트웨어 구조(900)는 또한 루트 객체(912A), 장비 객체(912B), 모듈 객체(912C), 하위 시스템 객체(912D) 및 I/O 객체(912E)와 각각 관련된 래퍼 층(901) 내의 하나 이상의 보안 래퍼 객체(911A-915E)를 더 포함하고, 각 보안 래퍼 객체(911A-915E)는 논리적으로 앞서 설명된 바와 같은 툴 엘리먼트들을 표현한다. 보안 래퍼 객체들(911A-E)은 집합적으로 또는 개별적으로 각각 보안 래퍼 객체(911) 또는 보안 래퍼 객체들(911)이라 칭한다. 보안 래퍼들(911)에 대한 상세한 설명이 이하에 더 제공된다. 소프트웨어 구조(900)는 임의의 수의 보안 래퍼(911)를 포함한다는 점 및 다수의 보안 래퍼(911)는 장비 모델(302)의 특정 계층 상의 다수의 객체들과 관련된다는 점이 주목된다. 예를 들어, 소프트웨어 구조(900)는 다수의 장비 객체들(912B)과 관련된 다수의 보안 래퍼들(911)을 포함한다.
도8을 도9와 함께 더 설명한다.
도8로 돌아가서, 스텝(804)에서, 액세스 제어 정보를 포함하는 구성 파일이 액세스된다. 특히, 구성 파일은 도9의 사용자 객체(950) 또는 선택적으로 사용에게 개별적으로 대응하는 사용자를 포함하는 사용자 그룹에 관한 액세스 제어 정보를 포함한다. 또한, 툴 그 자체, 또는 그 컴포넌트는 사용자로 여겨질 수 있으며, 사용자 객체(950)는 그러한 툴 또는 컴포넌트에 대응한다. 도9의 래퍼층(901)은 사용자 객체(950)와 관련된 사용자에 대응하는 액세스 정보에 응답하여 발생된다.
도9의 래퍼 층(901)과 같은 보안 래퍼 층은 스텝들(806-816)의 방법(800)에 의해 발생될 수 있다. 스텝들(806-816)에서, 보안 래퍼층(901)은 반복적으로 발생된다. 장비 모델 객체들 하나하나에 병렬적으로 대응하는, 발생된 보안 래퍼 객체들은 액세스되는 장비 객체의 장비 모델 계층의 깊이에 따라 달라진다. 즉, 보안 래퍼들은 사요아로부터의 요구 메시지에 따라 요구되는 대로 발생된다. 스텝(806)에서, 래퍼 객체, 예컨대 보안 래퍼 객체들(911A-E)들 중 하나가 발생된다. 스텝(808)에서, 대응하는 장비 모델 객체, 예컨대 객체들(912A-912E) 중 하나로의 포인터는 스텝(806)에서 발생된 보안 래퍼 객체에 저장된다. 또한, 스텝(810)에서, 특정 사용자 및 툴 객체 모델에 의해 액세스되는 툴 또는 툴 컴포넌트가 보안 래퍼 객체에 저장된다. 스텝(812)에서, 현재 장비 모델 객체가 초과 요구가 행해지는 객체에 해당하는 지가 결정된다. 해당하지 않는 경우에, 스텝(814)에서, 프로세스(800)는 현재 장비 모델 객체의 자식으로 진행하고, 스텝(806)으로 돌아가서 자식에 대한 보안 래퍼 객체를 발생시킨다. 즉, 스텝(806-814)은 스텝(816)에서 액세스 요구가 행해지는 객체에 도달할 때까지 장비 모델 계층을 통해 드릴 다운한다. 스텝(816)에서, 해당하는 래퍼 객체로의 리포인터(repointer)는 사용자, 액세스 요구가 발생한 사용자의 클라이언트 애플리케이션으로 반환된다. 스텝(818)에서는, 스텝(810)에서 객체에 저장된 액세스 규칙들을 기초로, 사용자가 데이터에 액세스 하거나 수신된 메시지에 대응하는 이 서비스를 요구할 수 있는지가 결정된다. 그렇게 결정된 경우에, 스텝(820)에서, 보안 래퍼 객체는 요구된 동작을 수행하기 위해 대응하는 장비 모델 객체의 방법을 호출한다. 그렇지 않으면, 스텝(822)에서 액세스는 거부된다.
스텝(805)으로 돌아가서, 액세스되는 장비 모델 객체에 대한 보안 래퍼가 존재하는 경우에, 스텝(807)에서 래퍼 객체로의 포인터가 반환되고, 스텝(818)에서 보안 래퍼 객체로의 포인터가 요구된 장비 객체에 대한 특정 동작을 수행하기 위한 방법으로 전달된다. 스텝(820)에서, 이러한 해당하는 보안 래퍼 객체에 저장된 액세스 제어 정보에 따라 액세스가 허가되는지가 결정된다. 특정 동작에 대해 액세스가 허가되는 경우에, 스텝(822)에서 장비 모델 객체의 해당하는 방법이 호출되고, 그렇지 않으면, 스텝(824)에서 액세스가 거부된다.
이런 식으로, 도9의 보안 래퍼 객체들(911A-911E)과 같은 보안 래퍼 객체들은 툴 및 툴의 컴포넌트로의 액세스를 제어하기 위한 "필터"로서 동작한다. 도9의 층(901)과 같은 추가적인 보안 래퍼 층들은 추가적인 "필터링"을 제공하기 위한 구성 리스트의 제어 정보에 따라 구성된다는 점을 주목할 것. 당업자들은 이런 식으로 구성된 제2 보안 래퍼층은 도9의 객체들(911A-911E)에 유사한 보안 래퍼 객체들을 포함하고, 여기에 제1층의 해당 보안 래퍼 객체들로의 포인터들이 저장될 것임을 이해할 것이다. 이런 식으로, 특정 장비 모델 객체로의 액세스 요구는 직렬로 필터링되고, 스텝(820)에 관해 설명된 바와 같이, 액세스 요구는 제2층의 보안 래퍼 객체로의 포인터를 메소드로 전달할 것이고, 상기 메소드는 스텝(820)과 관련하여 설명된 바와 같이 액세스를 허가할 것인지에 관한 결정을 한 후에, 제1 보안 래퍼 층의 해당하는 보안 래퍼 객체에 포함된 포인터를 전달할 것이고, 메소드 호출에서 포인터 전달에 의해 포인트된 제1층의 해당하는 보안 래퍼 객체는 거기에 포함된 액세스 제어 정보를 기초로 보안 허가 결정을 하여, 액세스가 허가된 경우에, 그 포인터를 장비 객체 메소드의 툴의 호출로 전달한다.
방법, 컴퓨터 프로그램 제품 및 시스템이 몇가지 실시예와 함께 설명되었지만, 본 발명의 범위는 여기에 제시된 몇가지 실시예에 한정되지 않고, 첨부된 청구범위에 의해 한정되는 범위로 해석된다.

Claims (42)

  1. 자동화된 툴 관리용 프로세스로서,
    사용자에 의해 선택된 프로토콜의 메시지를 발하는(issue) 단계로서, 상기 메시지는 상기 툴에 대한 선택된 동작의 수행 요구를 포함하고, 상기 메시지는 하나 이상의 데이터 및 상기 툴의 장비 모델의 객체를 포인팅하는 포인터를 포함하며, 상기 장비 모델은 상기 툴에 대한 논리 표현을 포함하는 단계;
    객체-지향 상호프로세스를 통해 상기 메시지를 수신하는 단계;
    상기 포인터 및 상기 선택된 동작에 응답하여 상기 객체의 메소드(method)를 호출하는 단계로서, 상기 메시지가 데이터를 포함하는 경우에는, 상기 데이터를 상기 메소드로 전달하는 단계; 및
    상기 사용자에게 값을 전달하는 단계로서, 상기 값은 상기 요구된 동작 및 상기 데이터와 관련된 단계를 포함하는 자동화된 툴 관리용 프로세스.
  2. 제1항의 메소드는, 상기 수신된 메시지에서 상기 데이터 및 상기 포인터 중 하나 이상을 추출하는 단계를 더 포함하는 메소드.
  3. 제1항에 있어서, 상기 툴이 비동기 소스인 경우 및 상기 요구된 동작과 관련된 상기 값이 존재하는 경우에는,
    상기 장비 모델에 의해 상기 값을 애플리케이션 인터페이스로 전달하는 단계로서, 상기 애플리케이션 인터페이스 유닛은 상기 사용자를 상기 장비 모델과 인터페이스시키는 단계;
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여, 상기 반환 메시지를 상기 객체-지향 상호프로세스 통신을 통해 상기 사용자에게 전달하는 단계를 더 포함하는 자동화된 툴 관리용 프로세스.
  4. 제1항에 있어서, 상기 툴이 동기 소스인 경우에, 상기 메소드는,
    상기 툴 인터페이스 유닛에 의해 상기 툴로부터 상기 값을 검색하는 단계로서, 상기 툴 인터페이스 유닛은 상기 툴을 상기 장비 모델과 인터페이스 시키는 단계; 및
    상기 값을 상기 장비 모델로 전달하는 단계를 더 포함하는 자동화된 툴 관리용 프로세스.
  5. 제4항에 있어서,
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여, 상기 반환 메시지를 상기 사용자에게 전달하는 단계를 더 포함하는 자동화된 툴 관리용 프로세스.
  6. 제1항에 있어서, 상기 툴이 비동기 소스 및 동기 소스 중 하나가 아닌 경우또는 상기 툴이 상기 요구된 동작과 관련된 현재 값을 제공하지 않는 비동기 소스인 경우에, 상기 메소드는,
    상기 장비 모델의 데이터베이스로부터 상기 값을 검색하는 단계를 더 포함하는 자동화된 툴 관리용 프로세스.
  7. 제6항에 있어서,
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 반환 메시지를 상기 사용자에게 전달하는 단계를 더 포함하는 자동화된 툴 관리용 프로세스.
  8. 제1항에 있어서, 상기 상호프로세스 통신은,
    COM(Component Object Model), RMI(Remote Method Invocation), CORBA, SOAP, SECS, GEM, HTML(HyperText Markup Language), XML(Extensible Markup Language) 중에서 선택된 프로토콜을 포함하는 자동화된 툴 관리용 프로세스.
  9. 제1항에 있어서, 상기 객체의 상기 메소드는 상기 툴을 원격으로 액세스하고 전자적으로 진단하기 위해 호출되는 자동화된 툴 관리용 프로세스.
  10. 제1항에 있어서, 상기 메시지의 상기 데이터는 통보 데이터인 자동화된 툴 관리용 프로세스.
  11. 자동화된 툴 관리를 위한 컴퓨터 프로그램 로직을 저장하는 컴퓨터 판독가능 매체를 갖는 컴퓨터 프로그램 제품으로서,
    사용자에 의해 선택된 프로토로 메시지를 발하도록 동작하는 프로그램으로서, 상기 메시지는 상기 툴에 대해 선택된 동작의 수행 요구를 포함하고, 상기 메시지는 상기 툴의 장비 모델에 하나 이상의 데이터 및 객체를 포인팅하는 포인터를 포함하며, 상기 장비 모델은 상기 툴에 대한 논리 표현을 포함하는 프로그램;
    객체-지향 상호프로세스 통신을 통해 상기 메시지를 수신하도록 동작하는 프로그램;
    상기 포인터 및 상기 선택된 동작에 응답하여 상기 객체의 메소드를 호출하도록 동작하는 프로그램으로서, 상기 메시지가 데이터를 포함하는 경우에는, 상기 데이터를 상기 메소드로 전달하는 프로그램; 및
    상기 사용자에게 값을 전달하도록 동작하는 프로그램으로서, 상기 값은 상기 요구된 동작 및 상기 데이터와 관련되어 있는 프로그램을 포함하는 컴퓨터 프로그램 제품.
  12. 제11항에 있어서,
    상기 수신된 메시지 중 하나 이상의 상기 데이터 및 상기 포인터를 추출하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  13. 제11항에 있어서, 상기 툴이 비동기 소스인 경우 및 상기 요구된 동작과 관련된 상기 값이 존재하는 경우에는,
    상기 장비 모델에 의해 상기 값을 애플리케이션 인터페이스 유닛으로 전달하도록 동작하는 프로그램으로서, 상기 애플리케이션 인터페이스 유닛은 상기 사용자를 상기 장비 모델과 인터페이스 시키는 프로그램;
    상기 값을 상기 사용자로의 반환 메시지로 통합하도록 동작하는 프로그램; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 객체-지향 상호프로세스 통신을 통해 상기 반환 메시지를 전달하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  14. 제11항에 있어서, 상기 툴이 동기 소스인 경우에, 상기 메소드는,
    툴 인터페이스 유닛에 의해 상기 툴로부터 상기 값을 검색하도록 동작하는 프로그램으로서, 상기 툴 인터페이스 유닛은 상기 툴을 상기 장비 모델과 인터페이스시키는 프로그램; 및
    상기 값을 상기 장비 모델로 전달하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  15. 제14항에 있어서,
    상기 값을 상기 사용자로의 반환 메시지로 통합하도록 동작하는 프로그램;및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 반환 메시지를 상기 사용자에게 전달하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  16. 제11항에 있어서, 상기 툴이 비동기 소스 및 동기 소스 중 하나가 아닌 경우 또는 상기 툴이 상기 요구된 동작과 관련된 현재 값을 제공하지 않는 비동기 소스인 경우에는,
    상기 장비 모델의 데이터베이스로부터 상기 값을 검색하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  17. 제16항에 있어서,
    상기 값을 상기 사용자로의 반환 메시지로 통합하도록 동작하는 프로그램; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 반환 메시지를 상기 사용자에게 전달하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  18. 제11항에 있어서,
    상기 상호프로세스 통신은, COM(Component Object Model), RMI(Remote Method Invocation), CORBA, SOAP(Simple Object Access Protocol), SECS, GEM, HTML(HyperText Markup Language), XML(Extensible Markup Language) 중에서 선택된 프로토콜을 포함하는 컴퓨터 프로그램 제품.
  19. 제11항에 있어서, 상기 객체의 상기 메소드는 상기 툴을 원격에서 액세스하고 전자적으로 진단하기 위해 호출되는 컴퓨터 프로그램 제품.
  20. 제11항에 있어서, 상기 메시지의 상기 데이터는 통보 데이터인 컴퓨터 프로그램 제품.
  21. 처리기;
    자동화된 툴 관리용 컴퓨터 프로그램을 저장하도록 동작하는 컴퓨터 프로그램을 저장하는 메모리 유닛; 및
    상기 처리기를 상기 메모리에 연결하는 버스 시스템을 포함하며,
    상기 컴퓨터 프로그램은,
    사용자에 의해 선택된 프로토콜의 메시지를 발하는 프로그래밍 단계로서, 상기 메시지는 상기 툴에 대한 선택된 동작의 수행을 요구하고, 상기 메시지는 상기 툴의 장비 모델의 하나 이상의 데이터 및 객체를 포인팅하는 포인터를 포함하며, 상기 장비 모델은 상기 툴에 대한 논리 표현을 포함하는 프로그래밍 단계;
    객체-지향 상호프로세스를 통해 상기 메시지를 수신하는 프로그래밍 단계;
    상기 포인터 및 상기 선택된 동작에 응답하여 상기 객체의 메소드를 호출하는 프로그래밍 단계; 및
    값을 사용자에게 전달하는 프로그래밍 단계로서, 상기 값은 상기 요구된 동작 및 상기 데이터와 관련된 프로그래밍 단계들을 수행하도록 동작하는 시스템.
  22. 제21항에 있어서, 상기 컴퓨터 프로그램은,
    상기 수신된 메시지 중 하나 이상의 상기 데이터 및 상기 포인터를 추출하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  23. 제21항에 있어서, 상기 툴이 비동기 소스인 경우 및 상기 요구된 동작과 관련된 상기 값이 존재하는 경우에는, 상기 컴퓨터 프로그램은,
    상기 장비 모델에 의해 상기 값을 애플리케이션 인터페이스 유닛으로 전달하는 프로그래밍 단계로서, 상기 애플리케이션 인터페이스 유닛은 상기 사용자를 상기 장비 모델과 인터페이스 시키는 프로그래밍 단계;
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 프로그래밍 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 객체-지향 상호프로세스 통신을 통해 상기 반환 메시지를 상기 사용자에게 전달하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  24. 제21항에 있어서, 상기 툴이 동기 소스인 경우에는, 상기 컴퓨터 프로그램은,
    툴 인터페이스 유닛에 의해 상기 툴로부터 상기 값을 검색하는 프로그래밍단계로서, 상기 툴 인터페이스 유닛은 상기 툴을 상기 장비 모델과 인터페이스시키는 프로그래밍 단계; 및
    상기 값을 상기 장비 모델로 전달하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  25. 제24항에 있어서, 상기 컴퓨터 프로그램은
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 프로그래밍 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 반환 메시지를 상기 사용자에게 전달하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  26. 제21항에 있어서, 상기 툴이 비동기 소스 및 동기 소스 중 하나가 아닌 경우 또는 상기 툴이 상기 요구된 동작과 관련된 현재 값을 제공하지 않는 비동기 소스인 경우에, 상기 컴퓨터 프로그램은,
    상기 장비 모델의 데이터베이스로부터 상기 값을 검색하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  27. 제26항에 있어서, 상기 컴퓨터 프로그램은,
    상기 값을 상기 사용자로의 반환 메시지로 통합하는 프로그래밍 단계; 및
    상기 사용자에 의해 제공된 어드레스에 응답하여 상기 반환 메시지를 상기 사용자에게 전달하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  28. 제21항에 있어서, 상기 상호프로세스 통신은, COM(Component Object Model), RMI(Remote Method Invocation), CORBA, SOAP(Simple Object Access Protocol), SECS, GEM, HTML(HyperText Markup Language), XML(Extensible Markup Language) 중에서 선택된 프로토콜을 포함하는 시스템.
  29. 제21항에 있어서, 상기 객체의 상기 메소드는 상기 툴에 원격으로 액세스하고 전자적으로 진단하기 위해 호출되는 시스템.
  30. 제21항에 있어서, 상기 메시지의 상기 데이터는 통보 데이터인 시스템.
  31. 툴 액세스 제어 방법으로서,
    객체-지향 상호프로세스를 거쳐 사용자에 의해 전송된 메시지를 수신하는 단계로서, 상기 메시지는 툴에 대한 선택된 동작의 수행 요구를 포함하고, 상기 메시지는 상기 툴의 장비 모델의 객체를 포인팅하는 포인터를 포함하는 단계;
    보안 래퍼 층을 발생하는 단계로서, 상기 보안 래퍼 층은 상기 장비 모델에 보호층을 제공하는 단계; 및
    상기 보안 래퍼 층에 보안 래퍼 객체를 발생하는 단계로서, 대응하는 장비 모델 객체로의 포인터가 상기 보안 래퍼 객체에 저장되는 단계를 포함하는 툴 액세스 제어 방법.
  32. 제31항에 있어서, 상기 대응하는 장비 모델 객체가 상기 요구에 해당하는 상기 객체인 경우에, 상기 해당하는 보안 래퍼 객체로의 포인터가 상기 사용자에게 전달되는 툴 액세스 제어 방법.
  33. 제32항에 있어서,
    상기 툴에 대한 상기 선택된 동작이 상기 해당하는 보안 래퍼 객체에 저장된 액세스 룰들에 응답하여 수행될 수 있는지를 결정하는 단계를 더 포함하는 툴 액세스 제어 방법.
  34. 제33항에 있어서, 상기 툴에 대한 상기 선택된 동작이 수행될 수 있는 경우에, 상기 방법은,
    상기 선택된 동작을 수행하기 위해 해당하는 보안 래퍼 객체에 의해 메소드를 호출하는 단계를 더 포함하는 툴 액세스 제어 방법.
  35. 툴 액세스 제어용 컴퓨터 프로그램 로직을 기록한 컴퓨터 판독가능 매체를 갖는 컴퓨터 프로그램 제품으로서,
    객체-지향 상호프로세스를 통해 사용자에 의해 전송된 메시지를 수신하도록 동작하는 프로그램으로서, 상기 메시지는 툴에 대한 선택된 동작의 수행 요구를 포함하고, 상기 메시지는 상기 툴의 장비 모델의 객체를 포인팅하는 포인터를 포함하는 프로그램;
    보안 래퍼층을 발생하도록 동작하는 프로그램으로서, 상기 보안 래퍼 층은 상기 장비 모델에 보안층을 제공하는 프로그램; 및
    상기 보안 래퍼 층에 보안 래퍼 객체를 발생하는 프로그램으로서, 해당하는 장비 모델 객체로의 포인터는 상기 보안 래퍼 객체에 저장되는 프로그램을 포함하는 컴퓨터 프로그램 제품.
  36. 제35항에 있어서, 상기 해당하는 장비 모델 객체가 상기 요구에 해당하는 상기 객체인 경우에는, 상기 해당하는 보안 래퍼 객체로의 포인터는 상기 사용자에게 전달되는 컴퓨터 프로그램 제품.
  37. 제36항에 있어서, 상기 툴에 대한 선택된 동작이 상기 해당하는 보안 래퍼 객체에 저장된 액세스 규칙들에 응답하여 수행될 수 있는지를 결정하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  38. 제37항에 있어서, 상기 툴에 대한 상기 선택된 동작이 수행될 수 있는 경우에는,
    상기 요구된 동작을 수행하기 위해 상기 해당하는 보안 래퍼 객체에 의해 메소드를 호출하도록 동작하는 프로그램을 더 포함하는 컴퓨터 프로그램 제품.
  39. 처리기;
    툴 액세스 제어를 위한 컴퓨터 프로그램을 저장하도록 동작하는 컴퓨터 프로그램을 저장하는 메모리 유닛; 및
    상기 처리기를 상기 메모리에 연결하는 버스 시스템을 포함하며,
    상기 컴퓨터 프로그램은,
    객체-지향 상호프로세스를 통해 사용자에 의해 전송된 메시지를 수신하는 프로그래밍 단계로서, 상기 메시지는 툴에 대한 선택된 동작의 수행 요구를 포함하고, 상기 메시지는 상기 툴의 장비 모델에 객체를 포인팅하는 포인터를 포함하며;
    보안 래퍼 층을 발생하는 프로그래밍 단계로서, 상기 보안 래퍼 층은 상기 장비 모델에 보호층을 제공하는 프로그래밍 단계; 및
    상기 보안 래퍼 층에 보안 래퍼 객체를 발생하는 프로그래밍 단계로서, 해당하는 장비 모델 객체로의 포인터는 상기 보안 래퍼 객체에 저장되는 프로그래밍 단계를 수행하도록 동작하는 시스템.
  40. 제39항에 있어서, 상기 해당하는 장비 모델 객체가 상기 요구에 해당하는 상기 객체인 경우에, 상기 해당하는 보안 객체 객체로의 포인터는 상기 사용자에게 전달되는 시스템.
  41. 제40항에 있어서, 상기 컴퓨터 프로그램은,
    상기 툴에 대한 상기 선택된 동작이 상기 해당하는 보안 래퍼 객체에 저장된액세스 규칙들에 응답하여 수행될 수 있는지를 결정하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
  42. 제41항에 있어서, 상기 툴에 대한 상기 선택된 동작이 수행될 수 있는 경우에, 상기 컴퓨터 프로그램은,
    상기 선택된 동작을 수행하기 위해 상기 해당하는 보안 래퍼 객체에 의해 메소드를 호출하는 프로그래밍 단계를 더 수행하도록 동작하는 시스템.
KR1020027003021A 2000-07-07 2001-07-06 자동화된 툴 관리 방법, 컴퓨터 판독가능한 저장 매체 및 시스템 KR100798565B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21681900P 2000-07-07 2000-07-07
US60/216,819 2000-07-07
US09/899,833 US7403984B2 (en) 2000-02-01 2001-07-05 Automated tool management in a multi-protocol environment
US09/899,833 2001-07-05

Publications (2)

Publication Number Publication Date
KR20020055579A true KR20020055579A (ko) 2002-07-09
KR100798565B1 KR100798565B1 (ko) 2008-01-28

Family

ID=26911367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027003021A KR100798565B1 (ko) 2000-07-07 2001-07-06 자동화된 툴 관리 방법, 컴퓨터 판독가능한 저장 매체 및 시스템

Country Status (10)

Country Link
US (1) US7403984B2 (ko)
EP (1) EP1299780B1 (ko)
KR (1) KR100798565B1 (ko)
CN (1) CN1386220B (ko)
AT (1) ATE310979T1 (ko)
AU (1) AU2001271852A1 (ko)
CA (1) CA2383968A1 (ko)
DE (1) DE60115240T2 (ko)
MX (1) MXPA02002445A (ko)
WO (1) WO2002005043A2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403984B2 (en) 2000-02-01 2008-07-22 Asyst Technologies, Inc. Automated tool management in a multi-protocol environment
US8028049B1 (en) 2000-02-01 2011-09-27 Peer Intellectual Property Inc. Apparatus and method for web-based tool management
US9785140B2 (en) 2000-02-01 2017-10-10 Peer Intellectual Property Inc. Multi-protocol multi-client equipment server
US7873428B2 (en) * 2005-04-15 2011-01-18 PEER Intellectual Property, Inc. Automated job management
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
AU2001285480A1 (en) * 2000-08-23 2002-03-04 Pri Automation, Inc. Web based tool control in a semiconductor fabrication facility
US8108543B2 (en) * 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) * 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7194544B2 (en) * 2000-12-14 2007-03-20 Borland Software Corporation Method and system for dynamic protocol selection among object-handled specified protocols
US7756963B2 (en) * 2001-07-05 2010-07-13 PEER Intellectual Property, Inc. Automated tool management in a multi-protocol environment
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US20030055593A1 (en) * 2001-09-18 2003-03-20 Schlotzhauer Ed O. Method for user variation of a measurement process
GB0127552D0 (en) * 2001-11-16 2002-01-09 Abb Ab Analysing events
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7024459B2 (en) * 2002-02-28 2006-04-04 Microsoft Corporation Scalable notification delivery service
US7242991B2 (en) * 2002-04-15 2007-07-10 Invensys Systems, Inc. Workflow control configurator for use with process, factory-floor, environmental, computer aided manufacturing-based or other control system
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
CN1317868C (zh) * 2002-05-28 2007-05-23 中兴通讯股份有限公司 一种基于类模板管理器的通讯报文处理设备和方法
FR2841999B1 (fr) * 2002-07-05 2004-09-10 Thales Sa Systeme de mise en reseau oriente objet d'equipements aeronautiques embarques
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7006882B2 (en) * 2003-05-06 2006-02-28 Macronix International Co., Ltd. Machine control system
US7596803B1 (en) * 2004-07-12 2009-09-29 Advanced Micro Devices, Inc. Method and system for generating access policies
EP1810160A4 (en) * 2004-09-22 2008-05-21 Xyratex Tech Ltd INTERCONTROLLER INTERPROCESSOR COMMUNICATION IN XML / SOAP PROTOCOL
KR20070110319A (ko) * 2005-02-02 2007-11-16 어사이스트 테크놀로지스, 인코포레이티드 멀티-프로토콜 멀티-클라이언트 장비 서버
US8677319B2 (en) * 2006-07-25 2014-03-18 International Business Machines Corporation Computer method and system for composite state management of software change requests
JP2008078630A (ja) * 2006-08-24 2008-04-03 Hitachi Kokusai Electric Inc 基板処理システム
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) * 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
CN101999146A (zh) 2008-04-11 2011-03-30 汤姆森许可贸易公司 自动化电视制作的方法
US9141105B2 (en) * 2008-07-23 2015-09-22 Hurco Companies, Inc. Method and apparatus for monitoring or controlling a machine tool system
US20130166424A1 (en) * 2011-12-27 2013-06-27 Infosys Limited System and method for system integration
US20130310950A1 (en) * 2012-05-15 2013-11-21 Precision Machinery Research & Development Center Method of simultaneously connecting controllers of different branded manufacturing machines
CN103607340B (zh) * 2013-10-23 2017-05-17 上海华力微电子有限公司 Secs/gem消息交换设备和方法
US10210722B2 (en) * 2015-06-15 2019-02-19 Immersion Corporation Haptic notification communication system
US10380883B2 (en) * 2015-06-16 2019-08-13 Milwaukee Electric Tool Corporation Power tool profile sharing and permissions
CN106557030B (zh) * 2015-09-25 2019-08-20 华为技术有限公司 基于实体的操作指示方法及装置
CN105373021B (zh) * 2015-11-13 2018-01-26 苏州博众精工科技有限公司 智能制造接口程序系统的控制方法
US11327471B2 (en) * 2017-10-26 2022-05-10 Siemens Aktiengesellschaft Building and tracking of an automation engineering environment
US11928228B2 (en) * 2020-09-25 2024-03-12 EMC IP Holding Company LLC Facilitating an object protocol based access of data within a multiprotocol environment

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3581000D1 (de) * 1984-05-19 1991-02-07 British Aerospace Industrielle verarbeitungs- und herstellungsverfahren.
US5291416A (en) * 1991-03-08 1994-03-01 Software Algoritms Incorporated Event feedback for numerically controlled machine tool and network implementation thereof
JP2926282B2 (ja) * 1991-06-06 1999-07-28 株式会社日立製作所 空気調和機及びその運転制御プログラムを記録した媒体
US5586021A (en) * 1992-03-24 1996-12-17 Texas Instruments Incorporated Method and system for production planning
US5719761A (en) 1993-01-15 1998-02-17 Alaris Medical Systems, Inc. Configuration control system for configuring multiple biomedical devices
IT1268517B1 (it) 1993-04-15 1997-03-04 Zeltron Spa Sistema per la gestione di carichi elettrici domestici
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
AU2759595A (en) 1994-06-14 1996-01-05 Telefonaktiebolaget Lm Ericsson (Publ) A method and system for manipulating intelligent representations of real equipment within a graphical computer system
US5432702A (en) * 1994-06-17 1995-07-11 Advanced Micro Devices Inc. Bar code recipe selection system using workstation controllers
US5592600A (en) * 1994-09-27 1997-01-07 International Business Machines Corporation Animated display showing execution of object-oriented programs
GB2301754B (en) * 1995-06-02 1999-12-29 Dsc Communications A protocol converter for a telecommunications system
GB2301746B (en) * 1995-06-02 1999-09-08 Dsc Communications Remote control of wireless telecommunications systems
US5696893A (en) 1995-06-07 1997-12-09 Xerox Corporation System for generically describing and scheduling operation of modular printing machine
US5961588A (en) * 1996-02-22 1999-10-05 Alcatel Usa Sourcing, L.P. Handling of commands passed between the server and client stations of a telecommunications system
BR9707698A (pt) * 1996-02-22 2001-07-24 Dsc Telecom Lp Sistema de controle para um sistema de telecomunicações
BR9710644A (pt) * 1996-02-22 1999-08-17 Dsc Telecom Lp Sistema de controle para um sistema de telecomunica-{es
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US6681145B1 (en) * 1996-06-06 2004-01-20 The Boeing Company Method for improving the accuracy of machines
TWI249760B (en) 1996-07-31 2006-02-21 Canon Kk Remote maintenance system
US6016516A (en) * 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US6418214B1 (en) * 1996-09-25 2002-07-09 British Telecommunications Public Limited Company Network-based conference system
US5847957A (en) * 1997-06-16 1998-12-08 Base Ten Systems, Inc. Web access for a manufacturing execution system
US5987135A (en) * 1997-07-25 1999-11-16 Prc Inc. System and method for controlling and monitoring remote distributed processing system
CA2306767C (en) * 1997-10-13 2007-05-01 Rosemount Inc. Communication technique for field devices in industrial processes
US6470227B1 (en) * 1997-12-02 2002-10-22 Murali D. Rangachari Method and apparatus for automating a microelectric manufacturing process
US6418352B1 (en) * 1997-12-12 2002-07-09 Brooks Automation Gmbh Integrated material management module
US6167451A (en) * 1998-01-20 2000-12-26 Netscape Communications Corporation Multiple push protocol unifying system
US6535779B1 (en) * 1998-03-06 2003-03-18 Applied Materials, Inc. Apparatus and method for endpoint control and plasma monitoring
US6832120B1 (en) * 1998-05-15 2004-12-14 Tridium, Inc. System and methods for object-oriented control of diverse electromechanical systems using a computer network
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
US6553403B1 (en) * 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
US6437692B1 (en) * 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6615091B1 (en) * 1998-06-26 2003-09-02 Eveready Battery Company, Inc. Control system and method therefor
US6349341B1 (en) * 1998-07-30 2002-02-19 Advanced Micro Devices, Inc. Method and system for providing inter-tier application control in a multi-tiered computing environment
JP2000059459A (ja) * 1998-08-11 2000-02-25 Canon Inc データ通信装置、データ通信システム、データ通信方法、及び記憶媒体
US6198480B1 (en) * 1998-10-07 2001-03-06 Wonderware Corporation Object-oriented tag browser
WO2000034883A2 (en) * 1998-12-11 2000-06-15 Microsoft Corporation Accelerating a distributed component architecture over a network using an implicit flow control
US6463352B1 (en) * 1999-01-21 2002-10-08 Amada Cutting Technologies, Inc. System for management of cutting machines
US6658571B1 (en) * 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
US6549199B1 (en) * 1999-03-19 2003-04-15 Corel Inc. System and method for adjusting a graphical object
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
US6549937B1 (en) * 1999-07-21 2003-04-15 Microsoft Corporation System and method for multi-protocol communication in a computer network
US6421682B1 (en) * 1999-07-26 2002-07-16 Microsoft Corporation Catalog management system architecture having data table objects and logic table objects
US7069101B1 (en) * 1999-07-29 2006-06-27 Applied Materials, Inc. Computer integrated manufacturing techniques
US6332163B1 (en) * 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US6618425B1 (en) * 1999-11-17 2003-09-09 Cymer, Inc. Virtual laser operator
US6640151B1 (en) * 1999-12-22 2003-10-28 Applied Materials, Inc. Multi-tool control system, method and medium
US8028049B1 (en) 2000-02-01 2011-09-27 Peer Intellectual Property Inc. Apparatus and method for web-based tool management
US7403984B2 (en) 2000-02-01 2008-07-22 Asyst Technologies, Inc. Automated tool management in a multi-protocol environment
US6826439B1 (en) * 2000-05-23 2004-11-30 Advanced Micro Devices, Inc. Broadband distribution of SECS-II data
US7031783B2 (en) * 2001-06-29 2006-04-18 Agilent Technologies, Inc. Virtualized generic equipment model data and control router for factory automation
US6842660B2 (en) * 2001-10-31 2005-01-11 Brooks Automation, Inc. Device and method for communicating data in a process control system

Also Published As

Publication number Publication date
DE60115240D1 (de) 2005-12-29
KR100798565B1 (ko) 2008-01-28
ATE310979T1 (de) 2005-12-15
US20020026514A1 (en) 2002-02-28
US7403984B2 (en) 2008-07-22
CA2383968A1 (en) 2002-01-17
MXPA02002445A (es) 2004-09-10
EP1299780A2 (en) 2003-04-09
WO2002005043A3 (en) 2002-05-30
DE60115240T2 (de) 2006-08-03
CN1386220B (zh) 2010-05-05
AU2001271852A1 (en) 2002-01-21
WO2002005043A2 (en) 2002-01-17
EP1299780B1 (en) 2005-11-23
CN1386220A (zh) 2002-12-18

Similar Documents

Publication Publication Date Title
KR100798565B1 (ko) 자동화된 툴 관리 방법, 컴퓨터 판독가능한 저장 매체 및 시스템
AU2001292691B2 (en) A method and system for remote configuration of process data access servers
US10007256B2 (en) Multi-protocol multi-client equipment server
JP4903291B2 (ja) コンフィギュレーション・データベース・システム、分散型のコンフィギュレーション・データベース・システム、コンフィギュレーション・データを格納および使用する方法、データベース・サーバ、データベース・コンポーネントへのアクセスを提供する方法、データベースに格納されたコンポーネントへの並列アクセスを提供するためにデータベース・サーバを使用する方法、およびプロセス制御システム
JP4739496B2 (ja) プロセス制御システム、コンフィギュレーション・データベース・システム、プロセス制御システムでコンフィギュレーション・データを使用する方法、およびプロセス制御システムでコンフィギュレーション動作を行う方法
US6098116A (en) Process control system including a method and apparatus for automatically sensing the connection of devices to a network
AU2001292809B2 (en) An extensible manufacturing/process control information portal server
US20040021679A1 (en) Human machine interface
US20040254648A1 (en) Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
AU2001292691A1 (en) A method and system for remote configuration of process data access servers
AU2001292809A1 (en) An extensible manufacturing/process control information portal server
US7756963B2 (en) Automated tool management in a multi-protocol environment
EP1849275B1 (en) Multi-protocol multi-client equipment server
JP4806513B2 (ja) 複数プロトコル環境における自動ツール管理
AU2006201207B2 (en) Human machine interface

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130109

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150107

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160111

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170113

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 13