US7200671B1 - Method and apparatus for monitoring host to tool communications - Google Patents

Method and apparatus for monitoring host to tool communications Download PDF

Info

Publication number
US7200671B1
US7200671B1 US09/935,213 US93521301A US7200671B1 US 7200671 B1 US7200671 B1 US 7200671B1 US 93521301 A US93521301 A US 93521301A US 7200671 B1 US7200671 B1 US 7200671B1
Authority
US
United States
Prior art keywords
report
tool
message
format
tools
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, expires
Application number
US09/935,213
Inventor
Uzi Lev-Ami
Yossef Ilan Reich
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.)
Barclays Bank PLC
ESS Technologies International Inc
Original Assignee
MKS Instruments 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
Priority claimed from US09/847,937 external-priority patent/US7072985B1/en
Application filed by MKS Instruments Inc filed Critical MKS Instruments Inc
Priority to US09/935,213 priority Critical patent/US7200671B1/en
Assigned to EQUIPNET LTD. reassignment EQUIPNET LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEV-AMI, UZI, REICH, YOSSEF ILAN
Assigned to MKS INSTRUMENTS, INC. reassignment MKS INSTRUMENTS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EQUIPNET LTD.
Assigned to ESS TECHNOLOGIES INTERNATIONAL, INC. reassignment ESS TECHNOLOGIES INTERNATIONAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PICTOS TECHNOLOGIES, INC.
Priority to US11/565,209 priority patent/US7437204B2/en
Application granted granted Critical
Publication of US7200671B1 publication Critical patent/US7200671B1/en
Assigned to DEUTSCHE BANK AG NEW YORK BRANCH reassignment DEUTSCHE BANK AG NEW YORK BRANCH SECURITY AGREEMENT Assignors: MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to BARCLAYS BANK PLC reassignment BARCLAYS BANK PLC SECURITY AGREEMENT Assignors: MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to NEWPORT CORPORATION, MKS INSTRUMENTS, INC. reassignment NEWPORT CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: DEUTSCHE BANK AG NEW YORK BRANCH
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT (ABL) Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO.7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0312. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (ABL). Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to MKS INSTRUMENTS, INC., NEWPORT CORPORATION, ELECTRO SCIENTIFIC INDUSTRIES, INC. reassignment MKS INSTRUMENTS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BARCLAYS BANK PLC
Assigned to ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION reassignment ELECTRO SCIENTIFIC INDUSTRIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BARCLAYS BANK PLC
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • 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], 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], computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total 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], computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • 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/31369Translation, conversion of protocol between two layers, networks
    • 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/32403Supervisory control, monitor and control system, by operator or automatic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • 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]

Definitions

  • the communication infrastructure may utilize serial communications or a bus structure, compliant with SECS or CAN+. Hosts are centralized, monolithic programs that are difficult to modify.
  • An aspect of the present invention includes a method and device for listening to communications between processes and tools, recording report and report trigger definitions, matching reports from tools with the recorded definitions, and translating messages into a context-insensitive format.
  • Other aspects of the present invention include dynamically enhancing tool status reports, migrating processes form tool control hosts to distributed processors, and screening requests for tool status information from hosts and distributed processors. More detailed descriptions of aspects of the present invention are described in the claims, specification and drawings.
  • FIG. 1 is a block diagram of a system used to demonstrate aspects of the present invention.
  • FIGS. 2A–2D are block diagrams of configurations and modes for listening to communications among devices.
  • FIG. 3 is an interface block diagram.
  • FIG. 4 is a block diagram including a device for listening to and translating communications between devices.
  • FIG. 5 is a block diagram of the second phase of a two-phase translation process.
  • FIG. 6 is block diagram of a system with multiple removable listening devices, each communicating with a separate tool.
  • FIG. 7 is block diagram of a system with a removable listening device acting as a web server, database server, and application server.
  • FIG. 1 is a block diagram of a general-purpose computer 100 which may be used to practice aspects in the present invention.
  • the computer includes a CPU 102 , which can read from a read only memory 104 , which can read from and write to a random access memory 106 , which can read from or write to a disk storage system 108 , which can communicate across a network connection 112 , and which can receive and send data via input output ports 110 .
  • Programs and routines may be stored on the disk storage, not depicted, either a fixed or removable disk, be read into random access memory 106 and be executed on the CPU 102 .
  • the output of a routine running on the CPU may be input to a subsequent routine.
  • the output of a routine may be data stored in random access memory, data stored on the disk storage system, data communicated via network connection, or data communicated across the output port. Similarly, the output of one part of a routine running on the CPU may be input to a subsequent part of same routine.
  • FIGS. 2A–2D Some arrangements for practicing the present invention are illustrated in FIGS. 2A–2D .
  • the host may be a controller or a management system for one or more machines.
  • the host may be centralized, distributed among processors, or centralized with some functions distributed among processors.
  • Software implementing aspects of the present invention may run 202 on the host ( FIG. 2B ), on other equipment that listens to communications between the host and the machine ( FIG. 2A ), or on other equipment that has protocol translation capabilities ( FIG. 2C ).
  • the equipment with translation capabilities may translate messages from a serial protocol to a network protocol or among other types of communication or transport protocols. For instance, it may translate from a CAN+ or IEC 62026 bus protocol to an Ethernet protocol.
  • SAB protocols which may be used with the present invention include WorldFIP fieldbus, DeviceNet protocol, SDS, J-1939, LONWorks protocol, Seriplex protocol, ISP Fieldbus, and BITBUS, and the later, derivative or updated implementations of these protocols.
  • Software implementing aspects of the present invention also may run on equipment that listens to communications between the host and the machine (FIG. 2 D,) tapping into communications lines.
  • the listening device is removable and distinct from either the host or tool. It can be added near the host or tool, or remote from either the host or tool. It functions independently of either the host or tool. When removed, it is reusable with another tool without physical alteration, with reprogramming or resetting.
  • configuration 2 D several types of couplings can be used to tap into the communication lines.
  • a connector may be inserted into the lines. The tap lines leading out of the connector may be physically coupled to the communications lines, may be magnetically coupled or in any other way effective to split or replicate the signal in the communication lines.
  • a hub with an extra port can supply access.
  • Magnetic sensors may be placed proximate to the communications line to sense signals in the lines to provide magnetic coupling without inserting a connector or hub in the communications lines.
  • the communications between the host and machine include a series of structured messages, for instance untagged messages constructed according to a standard or protocol. These messages may include both context-setting and context-sensitive messages, which sometimes are inquiries and responses. Context-sensitive response messages may omit the inquiries to which they respond. For instance, a context-setting message may ask for read-outs of four variables that the machine monitors. The context-sensitive message may respond with read-out values for the four variables, without identifying the variables being reported. Alternatively, one or more context-setting messages may define at least one report and at least one report triggering event. The triggering event may be logical, such as when a process step is completed or an operating condition reaches a threshold, or it may be time-based, such as every two seconds during an etching process. When the machine senses occurrence of the triggering event or when the report is specifically requested, it may issue the report. The report may take the form of read-out values for a plurality of variables, without identifying the variables being reported.
  • the machines may be semiconductor manufacturing equipment in a clean room, numerically controlled equipment in a machine shop, or any other automated or semi-automated equipment.
  • the machines may be standalones, machines connected by robot work piece handlers, or fully integrated multi-station work cells. Each machine may have its own controller or a plurality of machines may share a controller.
  • devices used for or in the business of healthcare may benefit from the present invention. These devices may be connected to patients or may store information regarding patients.
  • Communications may involve RS-232 serial communications, CAN or other bus communications, Ethernet connections or any other suitable communications or message transport layer.
  • This invention may most benefit structured message protocols that were designed for slower, RS-232 serial communications or SAB communications, as such legacy protocols may often employ context-setting and context-sensitive messages.
  • This invention also may apply to protocols that utilize context-insensitive messages.
  • Devices that can be used to implement aspects of the present invention include a variety of general-purpose computer systems.
  • PRI Automation, Inc. produced one such eQonnector hardware.
  • PRI's eQonnector was a fully functional x86 based computer running Windows NT without a keyboard or monitor.
  • the system includes a variety of input output ports: 2 Ethernet connections for 10/100 base T connection; 2 isolated RS 232-c ports using DB-9 connectors; and one DeviceNet (CAN-compatible) interface using a DIN jack.
  • the eQonnector further includes 128 MB of RAM, a 4 GB hard disk and a universal power supply. Its size is approximately 200 mm diameter (generally round) and 50 mm high.
  • FIG. 3 Another eQonnector is a generic computer system, a portion of which is depicted in an interface block diagram, FIG. 3 .
  • Two alternative Advantech single board computers (“SBC”) that may be suitable are Advantech PCM-9550F and PCM-9572F.
  • the latter SBC provides more capability to support advanced functions.
  • An interface PCB provides functions not included on the SBC.
  • the SBC and interface PCB are housed in a rectangular aluminum enclosure, constructed from standard extrusions provided by Parvus Corporation, with sheet metal end caps. The overall dimensions are 3.5′′ H ⁇ 6.6′′ W ⁇ 9′′ D.
  • the hard disk is an IBM Travelstar DJSA-210 with a 10 GB capacity or larger.
  • FIG. 3 depicts components of the interface PCB.
  • a digital input output connector 301 provides eight bits of digital input output, connected to the SBC.
  • the digital input output connector 301 may be compatible with OPTO-22I/O module racks.
  • the eight bits are allocated by the header 304 .
  • Bit seven is connected to the shutdown switch, for signaling the SBC to shut down.
  • Bit 6 indicates whether the system is operating in eavesdrop or pass-through mode.
  • This bit controls the connection relay 307 .
  • the default power off condition is for the device to be in eavesdrop mode.
  • the connection relay 307 controls the configuration of the COM 1 and COM 2 port connectors, 311 A & 311 B. These ports are optically isolated from each other ( 306 A & 306 B) and from the monitored communications channel.
  • the pin assignments in the eavesdrop and pass-through modes are:
  • the front panel connector 302 connects a reset switch 305 and a watchdog component 312 .
  • the serial connector 303 connects two to four COM ports 311 A– 311 D to the SBC, through isolation devices 306 A– 306 D, such as optical isolation devices or high impedance amplifiers.
  • a parallel port connection from the SBC 321 is coupled to an iButton circuit 322 .
  • the iButton circuit supports a particular format of user mountable memory provided by Dallas Semiconductor, known as an iButton 323 . In alternative embodiments, an EEPROM, EPROM or other non-volatile memory component could be used.
  • the connections to the SBC for power 332 and ATX 335 supply and control power.
  • An LED 331 indicates the power on status.
  • a relay circuit 333 is responsive to the ATX signal from the SBC 335 and to the power switch 336 . It controls the feed of power from an external power source 334 to the power connector 332 .
  • Other interfaces mounted on the interface PCB board and connected to the SBC support a keyboard 341 , 342 , a mouse 343 , 344 , an Ethernet connection 345 , 346 and a USB connection 349 , 350 .
  • a second LAN Ethernet connection 347 , 348 may be supported by a Versalogic EPM-NET-100 PC/104-plus board. This board should be installed first in the PC/104 stack when it is used.
  • An analog input board, Advantech PCM-3718H-A also may be used in some embodiments of the present invention.
  • Analog support may provide 16 single-ended or 8 differential analog inputs. Analog inputs may have 12 bits of resolution or more.
  • An expansion digital I/O board the Advantech PCM-3724-A2 PC/104 board, may be used in conjunction with the present invention.
  • SECS SEMI Equipment Communications Standard
  • the SECS-I standard includes the description of the physical connector, signal levels, data rate and logical protocols required to exchange messages between the host and equipment over a serial point-to-point data path. This standard does not define the data contained within a message. The meaning of messages must be determined through some message content standard such as SEMI Equipment Communications Standard E5 (SECS-II). These standards provide a means for independent manufacturers to produce equipment and/or hosts, which can be connected without requiring specific knowledge of each other.
  • HSMS is intended as an alternative to SEMI E4 (SECS-I) for applications where higher speed communication is needed or when a simple point-to-point topology is insufficient. SEMI E4 (SECS-I) can still be used in applications where these and other attributes of HSMS are not required.
  • HSMS is also intended as an alternative to SEMI E13 (SECS Message Services) for applications where TCP/IP is preferred over OSI. It is intended that HSMS be supplemented by subsidiary standards that further specify details of its use or impose restrictions on its use in particular application domains.
  • High-Speed SECS Message Services defines a communication interface suitable for the exchange of messages between computers in a semiconductor factory.
  • SECS-II SEMI Equipment Communications Standard Part 2
  • SECS-II SEMI Equipment Communications Standard Part 2
  • SECS-II gives form and meaning to messages exchanged between equipment and host using a message transfer protocol, such as SECS-I or HSMS.
  • SECS-II defines the method of conveying information between equipment and host in the form of messages. These messages are organized into categories of activities, called streams, which contain specific messages, called functions. A request for information and the corresponding data transmission is an example of such an activity.
  • SECS-II defines the structure of messages into entities called items and lists of items. This structure allows for a self-describing data format to guarantee proper interpretation of the message. The interchange of messages is governed by a set of rules for handling messages called the transaction protocol.
  • SECS-II applies to equipment and hosts used in the manufacturing of semiconductor devices. Examples of the activities supported by the standard are: transfer of control programs, material movement information, measurement data, summarized test data, and alarms. A given piece of equipment will require only a subset of the functions described in this standard. The number of functions and the selection of functions will depend upon the equipment capabilities and requirements. The equipment typically will define the messages used in a particular implementation of SECS-II.
  • the structure of the SECS messages is detailed in standards documents sometimes referred to as E4-0699 and E5-0600.
  • the following example illustrates at least part of the structure.
  • the header structure is adapted from E4-0699 and the data structure from E5-0600. Additional structure may be provided, for instance by a transport layer.
  • S1, F4 or S1F4
  • SSD Selected Equipment Status Data
  • the equipment reports the status variable value (SV) corresponding to each status variable ID (SVID) requested in the order requested, for instance, requested by sending a S1, F3 Selected Equipment Status Request (SSR).
  • SSR S1, F3 Selected Equipment Status Request
  • An SVID may include any parameter that can be sampled in time such as temperature or quantity of a consumable.
  • the host needs to remember the SVIDs requested, because they are not identified in the S1F4 response message.
  • the SECS I/II structure specified in the standards resembles the binary portion of the following:
  • the entire message includes 17 bytes of data, 1-byte length (not shown), 10 bytes of header and 2 bytes checksum (not shown) for a total of 30 bytes. This short a message is quickly transmitted, even at a slow serial transmission rate such as 9600 baud.
  • a time stamp indicates when the message was received.
  • This time stamp can be extracted from the transport layer, can be included by the sender at the application layer, or added by the receiving or logging facility.
  • “L [3]” indicates a list of three elements. The ⁇ elements> include a data format followed by a value. This message representation is closed with a “>” and a final “.” This message is context-sensitive. It cannot be understood without knowing the inquiry that prompted the response, because it does not identify the SVIDs for which SVs are being reported.
  • the S2F37 message may be included to flag, on a time-out or other basis, when a report has been defined but not enabled.
  • the S2F37 message also illustrates reporting the message exactly, without eliminating unused fields.
  • the S2F37 message structure specifies a list of two second level lists. One of the second level lists has no elements. This detail of the original S2F37 message is represented without modification. For some structured messages, the translation from structured to structure tagged message could include simplification of messages such as this S2F37 message.
  • an XML message may include a header with: a name field in the SECS II stream and function (“SxFy”) format; a wait bit, indicating whether the recipient of the message is expected to acknowledge receipt (0 for off, 1 for on); a source ID, identifying the port that received the incoming message, or, alternatively, identifying the device that sent the message; transaction ID, identifying an open communication transaction, used for matching a response to an inquiry; and an optional header only flag, used if there is no data other than the header.
  • the XML message further may include data, in a tree-type structure. Data nodes include a format conforming to one of the SECS-II format types, a length, and a data value.
  • the following structure tagged messages are generated by processing the structured messages.
  • Information from the messages themselves, both the context-setting and the context-sensitive messages, can be combined with information retrieved from a dictionary or other reference external to the translation code.
  • a tool compliant with the SECS standards should maintain a dictionary for providing information about system variables, equipment constants, data variables, collected event IDs and alarm IDs supported by the tool.
  • system variables describe the status of the machine.
  • Equipment constants are user modifiable operating parameters.
  • Data variables are measurements of process conditions at the tool or machine.
  • Collected event IDs describe triggers for reporting conditions.
  • Alarm IDs describe triggers for alarms. Part of the information that may be maintained in the dictionary for these items is summarized in the table below.
  • variable classes system variable, equipment constant or data variable.
  • the format or type is one of a set of standard formats for reporting a value. Data type and field length are part of a standard format.
  • a standard format also may include the number of values associated with the variable, as some variables may have more than one value. For some variables, minimum values, maximum values, default values, units and extended description may be provided.
  • the potential categories of information for events and alarms include an ID, a name and an optional description. The ID may be a sequential number. (In a broader context, variable may refer to any type of data regarding the status of a tool or any type of stored data, such as an inventory of patent MRI scans.)
  • a further aspect of the present invention includes a desired format for context tagged messages.
  • This embodiment uses XML rules for tagging messages to represent their structure.
  • Each tagged message includes the two branches described in the table below:
  • Branch Name Field Name Explanation Header FormType One of the forms: Data Form, Definition Form, Only Log Form and Time Form SECSMsg Stream and function of the message Descriptor Subtype of specific Form Type Descriptor Status related to specific descriptor Status ID Identification related to specific descriptor IsError Indication (true/false) whether the message contains an error indication. Messages containing an error indication (true) are only logged and their data is ignored DBLogInfo Identifier A unique tag for database data insertion and retrieval Timestamp The time at which the primary message related to the transaction was received.
  • TimeFoldin A time folding indication gInd Duration The duration (in seconds) between the primary and secondary messages related to a transaction Parameter For future use Status type The type of the status related to the message Status One of the values acceptable for the specific value status type Description Free text used in several messages for additional indications
  • messages of a data or definition form can have additional branches, as described below:
  • the “Time Folding Ind” is used to flag a discontinuity in time, such as a shift out of daylight savings time, which could make a response appear to precede a query.
  • the “#” symbol is a filler or null value.
  • Context can come from context-setting messages or from context tables, which may be constructed from context-setting messages or the results of context-setting messages, e.g., values received by the machines in context-setting messages, stored by the machines and revealed in response to inquires. Additional useful information can come from dictionaries.
  • FIGS. 3 and 4 illustrate converting structured messages into structure tagged messages.
  • FIG. 4 depicts a host 401 and a machine 403 in communication across media 405 .
  • the media may support serial communications, an Ethernet link or any other suitable method for communicating between host and machine.
  • the communications protocol across the media may be SECS I, HSMS, CAN or any other suitable transport protocol, including those listed above.
  • the system 402 taps into the communication media 405 , for instance, in one out of the ways depicted in FIGS. 2A–2D .
  • FIG. 2C When the mode depicted in FIG. 2C is used, for instance, both an HSMS and SECS I session will be open.
  • Logic and resources are provided for mapping messages from one transport format to another and, optionally, to keep two sessions open at the same time.
  • FIG. 5 depicts the second phase of translation to and from context tagged message format.
  • Structure tagged messages 561 are processed by the system 520 to produce context tagged messages 565 .
  • context tagged messages 566 are translated by module 522 into structure tagged messages 562 .
  • One or more common logic modules 540 process an incoming structure tagged message. (Not illustrated in the figure is the first phase of translation, in which a structured message is translated into structure tagged message.)
  • the resources available for processing incoming messages include the dictionary 531 , a dynamic mapper 532 , and various tables 533 .
  • the dictionary is described above.
  • the dynamic mapper records definitions of reports (links to variables), of traces (links to variables) and of events (links to reports or to datasets.)
  • Reports and EventLinks provide 1 to many connections, between reports and variables and between events and reports, respectively.
  • report 7 is linked to variable 1 and event 1 is linked to reports 7 and 2.
  • Event 1 is set to trigger report 7 including variable 1 and report 2 which is not defined in the excerpt shown.
  • the tables include a primary/secondary table, a name cross reference table and a message format table.
  • One of the tables can be used to relate primary and secondary messages as illustrated by the following primary/secondary table excerpt:
  • the acknowledgment column marks the existence of an acknowledgment value that can be either a success or failure acknowledgment.
  • the empty list column indicates a session that can include an empty variable list.
  • a column can be provided which indicates that certain fields in the tagged message may be different from one session to another. Examples are provided for both data form sessions and definition form sessions.
  • the data form sessions include an inquiry, which sets a context, and a response.
  • the definition form sessions set contexts for later reporting, such as defining a report, an event, a trace or a data set.
  • Additional session types include log only form sessions and time form sessions.
  • the log only form sessions include messages that are not processed as data or definitions, but are only logged.
  • the time form sessions include special messages which reflect resetting of the clock running on a machine. These messages are useful when the clock needs to be set back to be accurate or when hours are gained or lost due to daylight savings time.
  • the name cross-reference table can be used to differentiate between message types that validly can originate with either a host or a machine.
  • a combination of source, which is associated with either a host or machine, and message type can be translated into a differentiated message type.
  • the entries below include one of our examples and an instance in which the handling of a message type (its mapper name or differentiated message type) depends on where it originated.
  • mapping of the S7F3 message in this example depends on whether it originated with the host (S7F3_H) or the equipment (S7F3_E).
  • a third useful table is the message format table.
  • DOM document object model
  • STL C++ standard template library
  • XML XML
  • XML XML
  • the DOM interface enables those practicing aspects of the present invention to build documents, navigate their structure, and add, modify, or delete elements and content. Tools for practicing DOM are provided by Microsoft and others.
  • the Standard Template Library is a C++ library of container classes, algorithms, and iterators; it provides many of the basic algorithms and data structures of computer science.
  • the STL is a generic library, having components that are heavily parameterized: almost every component in the STL is a template.
  • Other data manipulation libraries will be equivalent to STL; many of them are extensions of STL provided by various vendors.
  • DOM and STL can be mixed and matched. For instance, the dictionary and message format table could be implemented using DOM, leaving the name cross reference table and the dynamic mapper to be implemented using STL.
  • the second phase translation steps may be traced from when an input buffer is filled with a structure tagged message 561 . (Not all of these steps will be needed to practice the present invention.) Some steps are followed regardless of the so-called “form” of the structure tagged message 540 .
  • the incoming message is identified as a primary or secondary message, using the primary/secondary table or some other data structure. A primary message is given a timestamp and unique identifier, both of which are useful if the context tagged messages are stored in a database.
  • a secondary message is associated with a previously received primary message. A transaction ID or similar matching field can be used to match the secondary message with its primary message.
  • the incoming structure tagged message is translated from XML into a DOM tree.
  • the SECS-II message name is retrieved from the tree. This message name and the source of the message are used to access the name cross-reference table, to find a differentiated message name.
  • the differentiated message name is used to locate the appropriate message format entry in the message format table.
  • the appropriate message format entry includes a form type, such as data form or definition form, which can be used to control processing in addition to the steps common to all form types.
  • a primary message structure is stored for the session closing secondary message.
  • the message format entry is used to parse the incoming structure tagged message. The structures of these two data structures can be matched.
  • the incoming message may be classified as a publishable context tagged message. For instance, a primary message with no wait bit (requesting an acknowledgement) or a primary message with a meaningless acknowledgement (e.g., S6F11) or with a secondary message may be a candidate for publication.
  • Processing beyond the common steps 540 proceeds according to the form type of the incoming message.
  • Separate modules or segments of logic may process data forms 551 , definition forms 552 , log only forms 553 and time forms 554 , before publishing a context tagged message 565 .
  • a removable listening device is provided to monitor a wired communications channel between one or more tool hosts and one or more tools.
  • the listening device is passive. It optionally may have a standard isolation device to protect the communications channel from noise generated by the listening device. This isolation device may be an optical isolator, a high impedance amplifier or any other components that effectively isolate the wired communications channel from the listening device.
  • the wired communications channel may be an RS 232 or CAN-compliant channel, or it may be any of the communications channels previously mentioned. It alternatively may be a less commonly used communications channel such as RS422, USB, Firewire, Apple APB, Appletalk, or Ethernet.
  • the listening device records report definitions and report trigger definitions sent by the tool hosts to the tools.
  • This recording of report and report trigger definitions may take advantage of the data structures process steps described in detail above.
  • the report definitions may be compliant with a SECS, HL7 or DIACOM standard. Structured messages in integrated circuit manufacturing fabs, metal cutting shops, general manufacturing, automotive manufacturing, health-care facilities and many other environments can be processed in accordance with the present invention.
  • the report trigger definitions similarly may be adapted to a variety of environments. Report trigger definitions may be based on or more process conditions or the passage of time.
  • FIG. 6 depicts a system with multiple removable listening devices, each communicating with a separate tool.
  • Removable listening devices 620 , 630 , and 640 communicate data with a host 610 .
  • the removable listening device 620 has a SECS-XML part 621 , a tool data server 622 , a hardware interface 623 , and a web interface 624 , which communicate data with each other.
  • the removable listening device 630 has a SECS-XML part 631 , a tool data server 632 , a hardware interface 633 , and a web interface 634 , which communicate data with each other; and the removable listening device 640 has a SECS-XML part 641 , a tool data server 642 , a hardware interface 643 , and a web interface 644 , which communicate data with each other.
  • the SECS-XML parts 621 , 631 , and 641 gather and translate data transferred between host 610 and the tool 625 , the tool 635 , and the tool 645 , respectively.
  • the data is stored in a database server 650 , which is in communication with SECS-XML parts 621 , 631 , and 641 .
  • the data is published through the COM based tool data servers 622 , 632 , and 642 .
  • the tool data servers 622 , 632 , and 642 collect data from miscellaneous other hardware 626 , 636 , and 646 respectively, via hardware interface 623 , 633 , and 643 , respectively.
  • the SECS-XML parts 621 , 631 , and 641 convert the SECS II data into XML.
  • SECS II uses an untagged data format. Therefore, the data is usable by transmitting and receiving devices that possess additional required and/or have established the “meaning” of the data in context of the current communication session.
  • This data is converted into tagged XML format, rendering it accessible to a wide variety of clients, such as browser based client 671 , which for example uses some combination of HTML pages, XML, and Java Beans.
  • the SECS-XML parts 621 , 631 , and 641 convert data in the opposite direction, from XML to SECS II, for communication either with the host 610 , or the tool 625 , 635 , or 645 respectively.
  • the conversion is a multi-step process, in which the actual conversion is based upon a previously created, expandable infrastructure of dictionary/mappers.
  • This infrastructure is created in a semi-automatic process, and enables quick and accurate acquisition of a new tool, such as tool 625 , 635 , or 645 .
  • the database server 650 stores a database of the XML data.
  • the database is commercial off-the-shelf software such as Oracle 8i that allows storage of data received from the various tools, and retrieval of information by interested clients. Data can be filtered and analyzed to provide trends and various statistics.
  • the database is designed to provide the capabilities of reliability, scalability, archiving, replication, and web connectivity.
  • the tool data servers 622 , 632 , and 642 provide real-time data for tools and applications to complement the database's capabilities of massive data storage and relatively slow response time.
  • a tool data server uses dynamic software structures to maintain current system state data. Using a publish/subscribe data distribution model and well-documented public interfaces, the tool data server provides updates on specified variable changes to registered clients.
  • the hardware interface 623 , 633 , and 643 enable the removable listening device 620 , 630 , and 640 respectively to receive data from tools or tool components that are not monitored by SECS.
  • a dedicated interface is created, using standard drivers (serial, parallel, DeviceNet).
  • the data received from hardware 626 , 636 , and 646 is then manipulated like the data transmitted via SECS communication.
  • the web interface 624 , 634 , and 644 plugs into a COTS web server to enable external browser-based clients to selectively access and modify online data in the removable listening device's tool data server.
  • the web interface provides tool data server access to HTML, XML, and beans browser-based clients. HTML pages are displayed on a standard browser or thin GUI, enabling quick and painless interfacing of any deployed tool.
  • XML requires use of XSL to enable and control the display of XML on the client's browser.
  • Beans, or Java applets downloaded to the client enable presentation and animation of data from the tool. Beans can be extended to support any further manipulation of data on a specific tool, a group of tools, or data exchanged between tools for interoperability.
  • the removable listening device is an equipment web server.
  • External clients access removable listening device data by means of generic tools, such as SQL, HTML, DCOM, XML, and Java.
  • External client types that can be used have: database interfaces such as software applications using SQL or HTML, for example database interface 651 communicating via database server 650 with the SECS-XML parts 621 , 631 , and 641 ; application interfaces using DCOM such as application interface client 660 in communication with tool data server 622 , 632 , and 642 ; and browser-based clients such as browser-based clients 671 communicating via firewall 670 with web interface 624 , 634 , and 644 .
  • External clients use standard protocols to access the removable listening device, so standard commercial security solutions, such as firewalls, can be used.
  • the removable listening device supports fine granularity definition of access control lists to achieve maximum security.
  • FIG. 7 depicts a system with a removable listening device acting as a web server, database server, and application server.
  • Removable listening device 720 is similar to removable listening devices 620 , 630 , and 640 of FIG. 6 .
  • Removable listening device 720 communicates data with a host 710 .
  • the removable listening device 720 has a SECS-XML part 721 , a tool data server 722 , a hardware interface 723 , a web interface 724 , and a database 750 , which communicate data with each other.
  • the SECS-XML part 721 communicates with tool 725 .
  • the hardware interface 723 communicates with miscellaneous hardware 726 .
  • the database 750 communicates with a database interface client 751 .
  • the tool data server 722 communicates with an application interface client 760 .
  • the web interface 724 communicates with a browser-based client 771 .
  • tool host is used in a broad sense to include both tool control hosts and more limited or flexible distributed processors.
  • Tool hosts include both hosts with comprehensive, integrated tool control functions and hosts that run on distributed processors with more limited, task-specific functions.
  • Tool hosts include products such as Consilium's FAB300 (TM) software, which is described as providing a single comprehensive factory management system driven by a centralized definition of customer-specific business processes. This category of tool hosts is designed to replace traditional manufacturing execution systems, which are designed to control tools provided by different vendors. At the opposite end of the tool host spectrum from traditional manufacturing execution systems, component processes may be run on distributed processors to handle a variety of specific functions, without claiming to be comprehensive management systems.
  • a product such as Consilium's FAB300 (TM) software may be considered a tool control host for some purposes and a process running on a distributed processor, for other purposes.
  • the listening device includes logic to match the first triggered report from the tools with the report and report trigger definitions in real-time.
  • the listening device may finish generating a context-insensitive report based on the first triggered report before it assesses a second triggered report.
  • there may or may not be overlap between the beginning of processing a second triggered report and completion of processing a first triggered report.
  • the generation of a context-insensitive report based on the first triggered report proceeds promptly.
  • several reports could be queued for processing as a group within 1, 2, 5, 10, 15, 30 or any time less than or equal to 60 minutes.
  • the outside time for batch processing should be 60 minutes, due to urgent data needs of most facilities utilizing the present invention.
  • the first context-insensitive report is output.
  • the output may be on a display terminal, to hardcopy, or to persistent memory such as a disk drive, an optical drive, a non-volatile memory, or a computer-output microfilm or microfiche.
  • the output of the process may be in a field tagged format.
  • This field tagged format may be XML, HTML, comma-separated values, or a standard or custom field tagged format.
  • the context-insensitive report may be in a tabular format or a textual format.
  • a removable listening device is provided to monitor wired communications between one or more tool hosts and one or more tools.
  • the wired communication may take place on a channel using any of a wide variety of protocols.
  • the listening device records report definitions and report trigger definitions sent by the tool hosts to the tools. Aspects of the report and report trigger definitions are described in the prior embodiment.
  • the listening device matches a first triggered report from the tools with the report and report trigger definitions to generate a first context-insensitive report.
  • the first and second triggered reports in this embodiment, are not accompanied by report definitions or report trigger definitions, either in the form sent by the tool hosts or any other form.
  • the triggered reports may identify the event or other cause of being triggered, without including report definitions or report trigger definitions.
  • the listening device may match the first triggered report from the tools with the report and report trigger definitions in real-time.
  • the listening device may finish generating a context-insensitive report based on the first triggered report before it assesses a second triggered report.
  • there may or may not be overlap between the beginning of processing a second triggered report and completion of processing a first triggered report.
  • the generation of a context-insensitive report based on the first triggered report proceeds promptly, rather than been queued for batch processing of several reports as a group.
  • the report and report trigger definitions may be compliant with a SECS protocol, a HL-7 protocol, a DIACOM protocol, a CANS-compliant protocol or any standard or custom protocol.
  • the report trigger definitions may be based upon equipment status or on time periods that trigger reporting.
  • This embodiment may further include outputting the first context insensitive report in a field tagged format. More generally, the output of this process may be to a machine or human-perceptible output media.
  • the format may be as a report or data file, data file formats including structured formats and field tagged formats.
  • a further embodiment is a method of migrating one or more processes from a tool control host in communication with one or more tools to one or more distributed processors.
  • an intercept device is provided which screens requests for information from tools.
  • the tool control host is the legacy controller.
  • the distributed processors handle updated, most likely more flexible processes.
  • the migration process allows the tool control host to remain in communication with the tools even as the distributed processors begin communication with the tools.
  • the intercept device includes logic to retain tool status information from the tools and to retain pending requests for tool status from the tool control hosts.
  • the tool status information may include state information, as well as values of variables.
  • the requests for tool status information may be requests for specific variables, request for reports, or report and report trigger definitions which periodically generate triggered reports.
  • the logic would only need to retain tool status information and not pending requests.
  • This embodiment involves moving one or more processes from the tool control hosts to one or more distributed processors.
  • Another aspect of this embodiment is activating one or more processes on distributed processors which were not supported by the tool control hosts. These processes are activated on the distributed processors as an alternative to integrating them into the logic of the tool control hosts.
  • Request from both the tool control hosts and the distributed processors are routed to the intercept device, instead of the tool. Intercept device satisfies request for tool status information using either retained information or by generating new requests to the tool.
  • the retained information may be tool status information or it may be a pending request.
  • the intercept device includes logic to avoid making duplicate requests for tool status information, if an incoming request duplicates a pending request.
  • the output of this process may be to a machine or human-perceptible output media.
  • the format may be as a report or data file, data file formats including structured formats and field tagged formats.
  • a further aspect of the present invention is that a listening or intercept device may monitor one or more events reported by the tools and identify retained tool status information that is rendered stale by the reported events.
  • the device may include logic to expire the stale tool status information, such as by setting a flag or by erasing stale information.
  • a further aspect of the present invention is that the intercept device may monitor one or more events reported by the tools and determine when or whether collection of tool status information should be modified. For instance, when an event changes the state of the tool, sampling of variables may be increased or decreased. For instance, collection of data regarding the tool status may be reduced in between processing of work pieces. If a tool is operating a multi-step process, the intercept device may include logic request collection of values of different variables during different process steps.
  • Either the listening or intercept device may be programmed to modify tool status information, in certain circumstances.
  • rules or translation tables may be supplied to modify reported values.
  • the values of reported variables may be modified as a matter of calibrating the tool or as an external means of fixing bugs in the tool.
  • a semiconductor manufacturing fab uses a plurality of the same tool type, the listening or intercept devices may be programmed to modify reported results without having to attempt any modification of the tools themselves.
  • the listening or intercept devices further may be programmed to derive values calculated from values reported by the tool, without any need to extend the capabilities of the tool itself.
  • the tool control host may include comprehensive factory management processes and the distributed processors may include more limited processes, not as extensive as comprehensive factory management processes. That is, the tool control host may run software such as FAB300TM. Alternatively, the tool control hosts may include legacy programs to control the tools and the distributed processors may include updated comprehensive factory management process logic, such as FAB300TM.
  • the migration process involves intelligent assistance in supplementing or supplanting an incumbent system.
  • a further aspect of the intercept devices is that they may receive communications from both the tool control host and the distributed processor and may be programmable to select the instructions of either the incumbent or new controllers for forwarding to the tools.
  • the intercept device may receive communications from both the tool control host and the distributed processor and report similarities and differences between the communications.
  • the distributed processors may include logic to schedule tools, logic to manage yield from tools, logic to manage the logistics of moving materials among tools or logic to modify production steps based on deviations from plan in prior process steps.
  • Logic to schedule tools may include detection of the load and operational status of the tool and time to completion of a process step.
  • Logic to manage yield from tools may include monitoring of process conditions for later comparison to yields.
  • Logic to manage yield from tools also may include monitoring of process conditions and modification of those conditions based on prior analyses of yields.
  • Logic to manage logistics of moving materials among tools may include reporting of events on one tool which require readiness of a tool or work piece transport process that supplies material or work pieces to the tool or uses the work piece produced by the tool.
  • Logic to modify process steps based on deviations from plan in prior process steps may support advanced process control. In advanced process control, subsequent process steps are modified to take into account prior process steps. Deviations from plan are monitored and compensated for.
  • Another embodiment of the present invention includes a method of screening requests for tool status information, when requests are received from a variety of sources.
  • the variety of sources may include a plurality of tool hosts, using tool host in a broad sense.
  • An intercept device is provided which includes logic to retain tool status information and pending requests to tools for status information.
  • the intercept device is positioned logically or physically in between the tool host and the tools, in communication with both. It receives a request for tool status and satisfies the request using the retained tool status information, the retained pending request for tool status information or by making one or more new requests, in much the fashion of the prior embodiment.
  • the new requests optionally may be directed to either the tool or external sensors monitoring the tool.
  • the external sensors may determine environmental conditions surrounding the tool or conditions of the tool itself, such as temperature, spectral emission of radiation from processes, exhaust gases, or other externally observable process parameters. Either digital or analog external sensors may be used in conjunction with the intercept device.
  • This embodiment need not include moving processes from tool control host distributed processors. It may be useful, for instance, when one or more new hosts supplement an existing host.
  • the tool host may include both tool control hosts and distributed processors, as those terms have been used above.
  • the tool control host may include comprehensive factory management processes and the distributed processors may include limited processes for less than comprehensive factory management.
  • the tool control host may include legacy programs to control tools and the distributed processors may include updated logic for comprehensive factory management processes.
  • the distributed processors may include logic to schedule tools, manage yields, manage logistics or modify production steps based on deviations from plan in prior process steps.
  • the process of this embodiment may further include: monitoring one or more events reported by the tool and determining which tool status information is stale due to the events; expiring tool status information which is rendered stale by events reported to the intercept device by the tool; receiving one or more events reported by the tool and determining whether collection of tool status information should be modified, for instance when the tool status advances from one process step to another; determining appropriate modifications to the tool status information received from the tool and substituting modified tool status information when satisfying requests for tool status information; and determining whether a request for tool status information would be satisfied by the tool or by external sensors coupled with the tool.

Abstract

An aspect of the present invention includes a method and device for listening to communications between processes and tools, recording report and report trigger definitions, matching reports from tools with the recorded definitions, and translating messages into a context-insensitive format. Other aspects of the present invention include dynamically enhancing tool status reports, migrating processes form tool control hosts to distributed processors, and screening requests for tool status information from hosts and distributed processors. More detailed descriptions of aspects of the present invention are described in the claims, specification and drawings.

Description

RELATED APPLICATION DATA
The present application is a continuation-in-part of U.S. patent application Ser. No. 09/847,937, entitled METHOD AND APPARATUS FOR TWO PHASE STRUCTURED MESSAGE TO TAGGED MESSAGE TRANSLATION, filed 2 May 2001, now U.S. Pat. No. 7,072,985 invented by Uzi Lev-Ami, Tal Lev-Ami, Ezra Shabi and Yoav Sherf; and claims the benefit of U.S. Provisional Patent Application No. 60/227,408, entitled WEB BASED TOOL CONTROL, filed 23 Aug. 2000, invented by Mitchell Weiss, Uzi Levi-Ami, and Yossi Reich. Such applications are incorporated by reference as if fully set forth herein.
BACKGROUND OF THE INVENTION
The protocols, communication infrastructure and hosting modes used by tools and other automated or semi-automated equipment in semi conductor fabs and foundries, metal cutting shops, healthcare and other domains developed over the years, when communication and processor speeds were relatively limited. Message protocols for foundry, shop floor and healthcare applications were designed to utilize low-speed, serial communications. These message protocols included structured messages, which could be transmitted quickly even with low-speed communications. Structured messages were and remain difficult to translate and understand. The difficulty is exacerbated when a first message sets a context for a response and a second, responsive message does not repeat the context; that is, the context-sensitive response is only meaningful when paired with the corresponding context-setting message. Matching context-setting and context-sensitive messages can be a very tedious task, especially when the context-setting-messages precede the context-setting messages by hours, days or weeks, instead of immediately preceding the responsive messages. The communication infrastructure may utilize serial communications or a bus structure, compliant with SECS or CAN+. Hosts are centralized, monolithic programs that are difficult to modify.
Therefore, it is desirable to introduce methods and devices for improved communications between tools and processes requiring information from tools and other automated or semi-automated equipment.
SUMMARY OF THE INVENTION
An aspect of the present invention includes a method and device for listening to communications between processes and tools, recording report and report trigger definitions, matching reports from tools with the recorded definitions, and translating messages into a context-insensitive format. Other aspects of the present invention include dynamically enhancing tool status reports, migrating processes form tool control hosts to distributed processors, and screening requests for tool status information from hosts and distributed processors. More detailed descriptions of aspects of the present invention are described in the claims, specification and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system used to demonstrate aspects of the present invention.
FIGS. 2A–2D are block diagrams of configurations and modes for listening to communications among devices.
FIG. 3 is an interface block diagram.
FIG. 4 is a block diagram including a device for listening to and translating communications between devices.
FIG. 5 is a block diagram of the second phase of a two-phase translation process.
FIG. 6 is block diagram of a system with multiple removable listening devices, each communicating with a separate tool.
FIG. 7 is block diagram of a system with a removable listening device acting as a web server, database server, and application server.
DETAILED DESCRIPTION
The following detailed description is made with reference to the figures. Preferred embodiments are described to illustrate the present invention, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows.
FIG. 1 is a block diagram of a general-purpose computer 100 which may be used to practice aspects in the present invention. The computer includes a CPU 102, which can read from a read only memory 104, which can read from and write to a random access memory 106, which can read from or write to a disk storage system 108, which can communicate across a network connection 112, and which can receive and send data via input output ports 110. Programs and routines may be stored on the disk storage, not depicted, either a fixed or removable disk, be read into random access memory 106 and be executed on the CPU 102. The output of a routine running on the CPU may be input to a subsequent routine. The output of a routine may be data stored in random access memory, data stored on the disk storage system, data communicated via network connection, or data communicated across the output port. Similarly, the output of one part of a routine running on the CPU may be input to a subsequent part of same routine.
Some arrangements for practicing the present invention are illustrated in FIGS. 2A–2D. At least one machine 203 communicates with at least one host 201. The host may be a controller or a management system for one or more machines. The host may be centralized, distributed among processors, or centralized with some functions distributed among processors. Software implementing aspects of the present invention may run 202 on the host (FIG. 2B), on other equipment that listens to communications between the host and the machine (FIG. 2A), or on other equipment that has protocol translation capabilities (FIG. 2C). The equipment with translation capabilities may translate messages from a serial protocol to a network protocol or among other types of communication or transport protocols. For instance, it may translate from a CAN+ or IEC 62026 bus protocol to an Ethernet protocol. One description of CAN+ bus and other sensor/actuator bus (SAB) protocols appears in James R. Moyne, Nader Najafi, Daniel Judd and Allen Stock, “Analysis of Sensor Actuator Bus Interoperability Standard Alternatives for Semiconductor Manufacturing”, Sensor Expo Conference Proceedings (September 1994). SAB protocols which may be used with the present invention include WorldFIP fieldbus, DeviceNet protocol, SDS, J-1939, LONWorks protocol, Seriplex protocol, ISP Fieldbus, and BITBUS, and the later, derivative or updated implementations of these protocols. Software implementing aspects of the present invention also may run on equipment that listens to communications between the host and the machine (FIG. 2D,) tapping into communications lines. In configurations 2A, 2C and 2D, the listening device is removable and distinct from either the host or tool. It can be added near the host or tool, or remote from either the host or tool. It functions independently of either the host or tool. When removed, it is reusable with another tool without physical alteration, with reprogramming or resetting. In configuration 2D, several types of couplings can be used to tap into the communication lines. A connector may be inserted into the lines. The tap lines leading out of the connector may be physically coupled to the communications lines, may be magnetically coupled or in any other way effective to split or replicate the signal in the communication lines. A hub with an extra port can supply access. Magnetic sensors may be placed proximate to the communications line to sense signals in the lines to provide magnetic coupling without inserting a connector or hub in the communications lines.
The communications between the host and machine include a series of structured messages, for instance untagged messages constructed according to a standard or protocol. These messages may include both context-setting and context-sensitive messages, which sometimes are inquiries and responses. Context-sensitive response messages may omit the inquiries to which they respond. For instance, a context-setting message may ask for read-outs of four variables that the machine monitors. The context-sensitive message may respond with read-out values for the four variables, without identifying the variables being reported. Alternatively, one or more context-setting messages may define at least one report and at least one report triggering event. The triggering event may be logical, such as when a process step is completed or an operating condition reaches a threshold, or it may be time-based, such as every two seconds during an etching process. When the machine senses occurrence of the triggering event or when the report is specifically requested, it may issue the report. The report may take the form of read-out values for a plurality of variables, without identifying the variables being reported.
The machines may be semiconductor manufacturing equipment in a clean room, numerically controlled equipment in a machine shop, or any other automated or semi-automated equipment. The machines may be standalones, machines connected by robot work piece handlers, or fully integrated multi-station work cells. Each machine may have its own controller or a plurality of machines may share a controller. Similarly, devices used for or in the business of healthcare may benefit from the present invention. These devices may be connected to patients or may store information regarding patients.
Communications may involve RS-232 serial communications, CAN or other bus communications, Ethernet connections or any other suitable communications or message transport layer. This invention may most benefit structured message protocols that were designed for slower, RS-232 serial communications or SAB communications, as such legacy protocols may often employ context-setting and context-sensitive messages. This invention also may apply to protocols that utilize context-insensitive messages.
Devices that can be used to implement aspects of the present invention include a variety of general-purpose computer systems. PRI Automation, Inc. produced one such eQonnector hardware. PRI's eQonnector was a fully functional x86 based computer running Windows NT without a keyboard or monitor. The system includes a variety of input output ports: 2 Ethernet connections for 10/100 base T connection; 2 isolated RS 232-c ports using DB-9 connectors; and one DeviceNet (CAN-compatible) interface using a DIN jack. The eQonnector further includes 128 MB of RAM, a 4 GB hard disk and a universal power supply. Its size is approximately 200 mm diameter (generally round) and 50 mm high. Another eQonnector is a generic computer system, a portion of which is depicted in an interface block diagram, FIG. 3. Two alternative Advantech single board computers (“SBC”) that may be suitable are Advantech PCM-9550F and PCM-9572F. The latter SBC provides more capability to support advanced functions. An interface PCB provides functions not included on the SBC. The SBC and interface PCB are housed in a rectangular aluminum enclosure, constructed from standard extrusions provided by Parvus Corporation, with sheet metal end caps. The overall dimensions are 3.5″ H×6.6″ W×9″ D. The hard disk is an IBM Travelstar DJSA-210 with a 10 GB capacity or larger. FIG. 3 depicts components of the interface PCB. Several connectors are provided for linking the interface PCB and the SBC. A digital input output connector 301 provides eight bits of digital input output, connected to the SBC. The digital input output connector 301 may be compatible with OPTO-22I/O module racks. The eight bits are allocated by the header 304. Bit seven is connected to the shutdown switch, for signaling the SBC to shut down. Bit 6 indicates whether the system is operating in eavesdrop or pass-through mode. This bit controls the connection relay 307. The default power off condition is for the device to be in eavesdrop mode. The connection relay 307 controls the configuration of the COM 1 and COM 2 port connectors, 311A & 311B. These ports are optically isolated from each other (306A & 306B) and from the monitored communications channel. The pin assignments in the eavesdrop and pass-through modes are:
SBC Signal Eavesdrop Pass-Thru
COM1-Tx N/c DB9a-pin 3
COM1-Rx DB9a-pin 2, DB9b-pin 3 DB9a-pin 2
COM1-Gnd DB9a-pin 5, DB9b-pin 5 DB9a-pin 5
COM2-Tx N/c DB9b-pin 3
COM2-Rx DB9b-pin 2, BD9a-pin 3 DB9b-pin 2
COM2-Gnd DB9b-pin 5, DB9a-pin 5 DB9a-pin 5

Bits 4 and 5 control a two-bit display 309. Bits 03 control a four-bit display 310. The front panel connector 302 connects a reset switch 305 and a watchdog component 312. The serial connector 303 connects two to four COM ports 311A–311D to the SBC, through isolation devices 306A–306D, such as optical isolation devices or high impedance amplifiers. A parallel port connection from the SBC 321 is coupled to an iButton circuit 322. The iButton circuit supports a particular format of user mountable memory provided by Dallas Semiconductor, known as an iButton 323. In alternative embodiments, an EEPROM, EPROM or other non-volatile memory component could be used. The connections to the SBC for power 332 and ATX 335 supply and control power. An LED 331 indicates the power on status. A relay circuit 333 is responsive to the ATX signal from the SBC 335 and to the power switch 336. It controls the feed of power from an external power source 334 to the power connector 332. Other interfaces mounted on the interface PCB board and connected to the SBC support a keyboard 341, 342, a mouse 343, 344, an Ethernet connection 345, 346 and a USB connection 349, 350. A second LAN Ethernet connection 347, 348, may be supported by a Versalogic EPM-NET-100 PC/104-plus board. This board should be installed first in the PC/104 stack when it is used. An analog input board, Advantech PCM-3718H-A also may be used in some embodiments of the present invention. Analog support may provide 16 single-ended or 8 differential analog inputs. Analog inputs may have 12 bits of resolution or more. An expansion digital I/O board, the Advantech PCM-3724-A2 PC/104 board, may be used in conjunction with the present invention.
One communications protocol utilizing structured messages, including context-setting and context-sensitive messages, is a SEMI Equipment Communications Standard (SECS). Two aspects of this standard, SECS-I or HSMS for message transfer and SECS-II for message content are detailed in SEMI documents E4-0699, E37-0298, and E5-0600. The SECS-I standard defines a communication interface suitable for the exchange of messages between semiconductor processing equipment and a host. Semiconductor processing equipment includes equipment intended for wafer manufacturing, wafer processing, process measuring, assembly and packaging. A host is a computer or network of computers, which exchange information with the equipment to accomplish manufacturing. The SECS-I standard includes the description of the physical connector, signal levels, data rate and logical protocols required to exchange messages between the host and equipment over a serial point-to-point data path. This standard does not define the data contained within a message. The meaning of messages must be determined through some message content standard such as SEMI Equipment Communications Standard E5 (SECS-II). These standards provide a means for independent manufacturers to produce equipment and/or hosts, which can be connected without requiring specific knowledge of each other.
HSMS is intended as an alternative to SEMI E4 (SECS-I) for applications where higher speed communication is needed or when a simple point-to-point topology is insufficient. SEMI E4 (SECS-I) can still be used in applications where these and other attributes of HSMS are not required. HSMS is also intended as an alternative to SEMI E13 (SECS Message Services) for applications where TCP/IP is preferred over OSI. It is intended that HSMS be supplemented by subsidiary standards that further specify details of its use or impose restrictions on its use in particular application domains. High-Speed SECS Message Services (HSMS) defines a communication interface suitable for the exchange of messages between computers in a semiconductor factory.
The SEMI Equipment Communications Standard Part 2 (SECS-II) defines the details of the interpretation of messages exchanged between intelligent equipment and a host. This specification was developed in cooperation with the Japan Electronic Industry Development Association Committee 12 on Equipment Communications. It was indeed to be fully compatible with SEMI Equipment Communications Standard E4 (SECS-I). It is was intended to allow for compatibility with alternative message transfer protocols. This standard defines messages to such a level of detail that some consistent host software may be constructed with only minimal knowledge of individual equipment. The equipment, in turn, may be constructed with only minimal knowledge of the host. The messages defined in the standard support the most typical activities required for integrated circuit manufacturing. The standard also provides for the definition of equipment-specific messages to support those activities not covered by the standard messages. While certain activities can be handled by common software in the host, it is expected that equipment-specific host software may be required to support the full capabilities of the equipment. SECS-II gives form and meaning to messages exchanged between equipment and host using a message transfer protocol, such as SECS-I or HSMS. SECS-II defines the method of conveying information between equipment and host in the form of messages. These messages are organized into categories of activities, called streams, which contain specific messages, called functions. A request for information and the corresponding data transmission is an example of such an activity. SECS-II defines the structure of messages into entities called items and lists of items. This structure allows for a self-describing data format to guarantee proper interpretation of the message. The interchange of messages is governed by a set of rules for handling messages called the transaction protocol. The transaction protocol places some minimum requirements on any SECS-II implementation. SECS-II applies to equipment and hosts used in the manufacturing of semiconductor devices. Examples of the activities supported by the standard are: transfer of control programs, material movement information, measurement data, summarized test data, and alarms. A given piece of equipment will require only a subset of the functions described in this standard. The number of functions and the selection of functions will depend upon the equipment capabilities and requirements. The equipment typically will define the messages used in a particular implementation of SECS-II.
The structure of the SECS messages is detailed in standards documents sometimes referred to as E4-0699 and E5-0600. The following example illustrates at least part of the structure. The header structure is adapted from E4-0699 and the data structure from E5-0600. Additional structure may be provided, for instance by a transport layer. The processing of this structured message from binary through structure-tagged format to context-insensitive tagged format follows. Consider a so-called S1, F4 (or S1F4) message. This is the Selected Equipment Status Data (SSD) message. In this message, the equipment reports the status variable value (SV) corresponding to each status variable ID (SVID) requested in the order requested, for instance, requested by sending a S1, F3 Selected Equipment Status Request (SSR). An SVID may include any parameter that can be sampled in time such as temperature or quantity of a consumable. The host needs to remember the SVIDs requested, because they are not identified in the S1F4 response message. The SECS I/II structure specified in the standards resembles the binary portion of the following:
10000000 “Reverse bit”=1 (equipment to host)
00000000 Device ID, e.g. ID=0
00000001 Wait bit=0 (no response required), Stream=1
00000100 Function 4
10000000 End bit=1 (no blocks to follow)
00000000 Block 0 (only one block this message)
00000000 Four System Bytes, including source and transaction IDs
00000010 E.g., Source ID=2
00000000
10000001 Transaction ID=129
00000001 List format
00000011 3 Elements
10110001 Unsigned 4-byte integer next
00000100 Length 4 bytes
00000000 Most significant byte first
00000000
00000001 Value=500
11110100
01110001 Signed 4-byte integer next
00000100 Length 4 bytes
11111111 Twos complement format
11111111
11111111 Value=−7
11111001
00100001 Binary unspecified value 1-byte next
00000001 Length 1 byte
00000010 Value=02
The entire message includes 17 bytes of data, 1-byte length (not shown), 10 bytes of header and 2 bytes checksum (not shown) for a total of 30 bytes. This short a message is quickly transmitted, even at a slow serial transmission rate such as 9600 baud.
One way of representing the data section of the binary message above, consistent with the list orientation of SECS-II, follows.
16:40:54 Received S1F4
 <L [3]
 <U4  500>
 <14  −7>
 <B  02>
 >
.
Parsing this representation, a time stamp indicates when the message was received. This time stamp can be extracted from the transport layer, can be included by the sender at the application layer, or added by the receiving or logging facility. “L [3]” indicates a list of three elements. The <elements> include a data format followed by a value. This message representation is closed with a “>” and a final “.” This message is context-sensitive. It cannot be understood without knowing the inquiry that prompted the response, because it does not identify the SVIDs for which SVs are being reported.
The data portion of a context-setting messaging, which could be used to prompt the response above, can be represented as:
16:40:53 Received S1F3
 <L [3]
 <U4  61>
 <U4  62>
 <U4  63>
 >
.

The host sent or the listening equipment received this query message at the time indicated, shortly before the S1F4 response. The host requested reports on variables identified as 61, 62, and 63. The message header included an identifier, which is not shown here, to be repeated back with the S1F4 response, to facilitate matching of the inquiry and response. One potential matching field would be a source ID plus a time stamp. If the device ID in the header were unique, then a time stamp alone would suffice. Another potential matching field would be a host identifier plus a sequence or transaction ID number. Matching the S1F3 and S1F4 messages of this example permits construction of a context-insensitive message, which identifies the variables (SVIDs) requested and the responses (SVs), as further illustrated below. Another example of context-setting and context-sensitive messages is a sequence used to define a report, define report triggering events, and deliver a defined report after a triggering event has been sensed. Details of these messages are given in the E5-0600 document.
11:58:46 :Sending S2F33 [define a report]
<L [2]
<U4 1>
<L [1]
<L [2]
<U4 7> [report #7]
<L [1]
<U4 1> [reports one variable, #1]
>
>
>
>
.
11:58:46 :Received S2F34 [acknowledgement of S2F33]
<B 00>
.
12:01:12 :Sending S2F35 [define link event for triggering a report]
<L [2]
<U4 1>
<L [1] [one event trigger in this link definition]
<L [2]
<U4 1> [event #1 is the trigger]
<L [1]
<U4 7> [report #7 is triggered]
>
>
>
>
.
12:01:12 :Received S2F36 [acknowledgement of S2F35]
<B 00>
.
12:15:26 :Sending S2F37 [enabling event report]
<L [2]
<BOOL T>
<L [0]
>
>
.
12:15:27 :Received S2F38 [acknowledgement of S2F37]
<B 00>
.
12:02:36 :Sending S6F19 [individual report request, alternative to event
happening]
<U4 7> [report #7 requested]
.
12:02:37 :Received S6F20 [individual report data, responsive to S6F19]
<L [1]
<U4 2> [report #7 issued (it is the value of variable #1)]
>
.
12:15:39 :Received S6F11 [event report sent from tool, as defined
inS2F33/35]
<L [3]
<U4 1>
<U4 1> [event #1 occurred]
<L [1] [one report triggered]
<L [2]
<U4 7> [report #7 issued]
<L [1]
<U4 3> [reported value (of variable #1) is 3]
>
>
>
>
.
12:15:39 :Sending S6F12 [acknowledgement of S2F11]
<B 00>
.

In this sequence, it is useful to track the S2F37/38 pair. Logic may be included to flag, on a time-out or other basis, when a report has been defined but not enabled. The S2F37 message also illustrates reporting the message exactly, without eliminating unused fields. The S2F37 message structure specifies a list of two second level lists. One of the second level lists has no elements. This detail of the original S2F37 message is represented without modification. For some structured messages, the translation from structured to structure tagged message could include simplification of messages such as this S2F37 message.
One aspect of the present invention includes a desired format for structure tagged messages. This embodiment uses XML rules for tagging messages to represent their structure. Structure tagged messages compliant with XML can be processed using XML tools, which are available in variety. In this embodiment, an XML message may include a header with: a name field in the SECS II stream and function (“SxFy”) format; a wait bit, indicating whether the recipient of the message is expected to acknowledge receipt (0 for off, 1 for on); a source ID, identifying the port that received the incoming message, or, alternatively, identifying the device that sent the message; transaction ID, identifying an open communication transaction, used for matching a response to an inquiry; and an optional header only flag, used if there is no data other than the header. The XML message further may include data, in a tree-type structure. Data nodes include a format conforming to one of the SECS-II format types, a length, and a data value.
Continuing with our examples, the following structure tagged messages are generated by processing the structured messages.
<Message Name=“SI F4”Wbit=“0” SourceID=“2” TransactionID=“129”>
 <Structure Format=“L” Length=“3”>
  <Value Format=“U4” Length=“1”>500</Value>
  <Value Format=“I4” Length=“1”>−7</Value>
  <Value Format=“B” Length=“1”>02</Value>
 </Structure>
</Message>
<Message Name=“S1F3” Wbit=“1” SourceID=“l” TransactionID=“129”>
 <Structure Format=“L” Length=“3”>
  <Value Format=“U4” Length=“1”>61</Value>
  <Value Format=“U4” Length=“1”>62</Value>
  <Value Format=“U4” Length=“1”>63</Value>
 </Structure>
</Message>
<Message Name=“S2F33” Wbit=“1” SourceID=“1”
TransactionID=“257”>
 <Structure Format=“L” Length=“2”>
  <Value Format=“U4” Length=“1”>1</Value>
  <Value Format=“L” Length=“1”>
   <Value Format=“L” Length=“2”>
    <Value Format=“U4” Length=“1”>7</Value>
    <Value Format=“L” Length=“1”>
     <Value Format=“U4” Length=“1”>1</Value>
    </Value>
   </Value>
  </Value>
 </Structure>
</Message>
<Message Name=“S6F11” Wbit=“1” SourceID=“2”
TransactionID=“194”>
 <Structure Format=“L” Length=“3”>
  <Value Format=“U4” Length=“1”>1</Value>
  <Value Format=“U4” Length=“1”>1</Value>
  <Value Format=“L” Length=“1”>
   <Value Format=“L” Length=“2”>
    <Value Format=“U4” Length=“1”>7</Value>
    <Value Format=“L” Length=“1”>
     <Value Format=“U4” Length=“1”>3</Value>
    </Value>
   </Value>
  </Value>
 </Structure>
</Message>

As these tagged messages are in XML format, those skilled in the art will be able to understand the examples without a detailed explanation.
Information from the messages themselves, both the context-setting and the context-sensitive messages, can be combined with information retrieved from a dictionary or other reference external to the translation code. A tool compliant with the SECS standards should maintain a dictionary for providing information about system variables, equipment constants, data variables, collected event IDs and alarm IDs supported by the tool. In this context, system variables describe the status of the machine. Equipment constants are user modifiable operating parameters. Data variables are measurements of process conditions at the tool or machine. Collected event IDs describe triggers for reporting conditions. Alarm IDs describe triggers for alarms. Part of the information that may be maintained in the dictionary for these items is summarized in the table below.
Format/
Item ID Name Class Type Min Max Default Units Desc
SV N/A N/A N/A opt
EC opt
DV N/A N/A N/A opt
CEID opt N/A N/A N/A N/A N/A N/A opt
ALID N/A N/A N/A N/A N/A opt

The potential categories of information are similar for system variables, equipment constants and data variables. An ID is a unique number typically used to access any of these three types of variables. A unique name may be assigned. The class distinguishes among variable classes (system variable, equipment constant or data variable.) The format or type is one of a set of standard formats for reporting a value. Data type and field length are part of a standard format. A standard format also may include the number of values associated with the variable, as some variables may have more than one value. For some variables, minimum values, maximum values, default values, units and extended description may be provided. The potential categories of information for events and alarms include an ID, a name and an optional description. The ID may be a sequential number. (In a broader context, variable may refer to any type of data regarding the status of a tool or any type of stored data, such as an inventory of patent MRI scans.)
It is useful in creating a dictionary to verify the correct format, type and structure of information reported by a particular machine, as machines may be less than perfectly compliant with standards. It is also useful in creating a dictionary to combine automatic inquiries to the machine with manual insertion of data in the file, especially in instances where the machine does not provide a list of variables, the machine provides only a partial list of rebels, or list provided is not compliant with a standard.
Sample dictionary entries relevant to these examples are:
61: Name SV_1
Format U4
Length
1
Descriptor
 Min N/A
 Max N/A
 Def N/A
 Description  Describe this variable here
 Units N/A
 Class SV
62: Name SV_2
Format I4
Length
1
Descriptor
 Min N/A
 Max N/A
 Def N/A
 Description  Describe this variable here
 Units N/A
  Class SV
63:  Name SV_3
Format B
Length
1
Descriptor
  Min N/A
 Max N/A
  Def N/A
 Description   Describe this variable here
  Units N/A
 Class SV
A further aspect of the present invention includes a desired format for context tagged messages. This embodiment uses XML rules for tagging messages to represent their structure. Each tagged message includes the two branches described in the table below:
Branch
Name Field Name Explanation
Header FormType One of the forms: Data Form, Definition
Form, Only Log Form and Time Form
SECSMsg Stream and function of the message
Descriptor Subtype of specific Form Type
Descriptor Status related to specific descriptor
Status
ID Identification related to specific descriptor
IsError Indication (true/false) whether the message
contains an error indication. Messages
containing an error indication (true) are only
logged and their data is ignored
DBLogInfo Identifier A unique tag for database data insertion and
retrieval
Timestamp The time at which the primary message
related to the transaction was received.
TimeFoldin A time folding indication
gInd
Duration The duration (in seconds) between the
primary and secondary messages related
to a transaction
Parameter For future use
Status type The type of the status related to the message
Status One of the values acceptable for the specific
value status type
Description Free text used in several messages for
additional indications
In addition to the Header and DBLogInfo branches described above, messages of a data or definition form can have additional branches, as described below:
Form Branch Field
Name Name Name Explanation
Data Variable Name Variable name
Variable VID
ID
Report ID Report identification
Value (See following branch)
Value Name Name of the item
(sub- Format SECS format
branch Length Number of items
of length =1 means it's a leaf with data
Variable) length >1 means it's a branch itself
that contains array or a list of values
(in a recursive manner)
Definition Delete Report ID The identification of the deleted
Report report
Delete Trace ID The identification of the deleted
Trace trace
Delete Event ID The identification of the deleted
Event event
Link
Define Report ID The identification of the defined
Report report
Variable Actually a branch(es) that holds
a VID
Define Trace ID The identification of the defined trace
Trace Variable Actually a branch(es) that holds
a VID
Define Event ID The identification of the linked event
Event Variable Actually a branch(es) that holds
Link report ID
Delete No parameters
All
Reports
Delete No parameters
All
Traces
Delete No parameters
All Event
Links

Continuing with some of the examples above, the process of matching context-setting and context-sensitive messages and expanding them against the dictionary produces the following:
<SECSMessage>
 <Header ID=“#” IsError=“false” SECSMsg=“S1F3”
 FormType=“DataForm”
 Descriptor=“QuerySimple” DescriptorState=“#”/>
 <DBLogInfo Duration=“0” Parameter=“#” TimeStamp=“14-Feb-2001
 16:40:36” Identifier=“3726866688” StatusType=“#” Description=“#”
 StatusValue=“#” TimeFoldingInd=“false”/>
 <Variable Name=“SV_1” VariableID=“61”>
  <Value Name=“SV_1” Format=“U4” Length=“1”>500</Value>
 </Variable>
 <Variable Name=“SV_2” VariableID=“62”>
  <Value Name=“SV_2” Format=“I4” Length=“1”>−7</Value>
 </Variable>
 <Variable Name=“SV_3” VariableID=“63”>
  <Value Name=“SV_3” Format=“B” Length=“1”>02</Value>
 </Variable>
</SECSMessage>
<SECSMessage>
 <Header ID=“#” IsError=“false” SECSMsg=“S2F33”
 FormType=“Definition Form” Descriptor=“Change” DescriptorState=
 “#”/>
 <DBLogInfo Duration=“0” Parameter=“#” TimeStamp=“05-Mar-2001
 11:58:46” Identifier=“3889340592” StatusType=“DRACK”
 Description=“Ack: Accept” StatusValue=“00” TimeFoldingInd=
 “false”/>
 <DefineReport MapperID=“7”>
  <Link LinkID=“1”/>
 </DefineReport>
</SECSMessage>
<SECSMessage>
 <Header ID=“1” IsError=“false” SECSMsg=“S6F11”
 FormType=“DataForm” Descriptor=“GotEvent” DescriptorState=“#”/>
 <DBLogInfo Duration=“#” Parameter=“#” TimeStamp=“05-Mar-2001
 12:15:38” Identifier=“3889340598” StatusType=“#” Description=“#”
 StatusValue=“#” TimeFoldingInd=“false”/>
 <Variable Name=“V1” ReportID=“7” VariableID=“1”>
 <Value Name=“V1” Format=“U4” Length=“1”>3</Value>
 </Variable>
</SECSMessage>
In these examples, the “Time Folding Ind” is used to flag a discontinuity in time, such as a shift out of daylight savings time, which could make a response appear to precede a query. The “#” symbol is a filler or null value.
The process of converting structured messages into structure tagged messages is straight forward. A very short routine can accomplish the conversion. Optionally, error checking can be added to the conversion process and the routine expanded. However, standard tools can be applied to error checking, including format checking and data validation, if the checking is postponed until the structured messages are fully translated into context tagged XML messages.
The process of converting structure tagged messages into context tagged messages is more involved. Context can come from context-setting messages or from context tables, which may be constructed from context-setting messages or the results of context-setting messages, e.g., values received by the machines in context-setting messages, stored by the machines and revealed in response to inquires. Additional useful information can come from dictionaries. FIGS. 3 and 4 illustrate converting structured messages into structure tagged messages.
FIG. 4 depicts a host 401 and a machine 403 in communication across media 405. The media may support serial communications, an Ethernet link or any other suitable method for communicating between host and machine. The communications protocol across the media may be SECS I, HSMS, CAN or any other suitable transport protocol, including those listed above. The system 402 taps into the communication media 405, for instance, in one out of the ways depicted in FIGS. 2A–2D. When the mode depicted in FIG. 2C is used, for instance, both an HSMS and SECS I session will be open. Logic and resources are provided for mapping messages from one transport format to another and, optionally, to keep two sessions open at the same time. The system 402 includes physical ports 410, 411, 412 and logical ports 420, 425. The physical ports may handle different modes of communication. For instance, a pair of physical ports may handle serial communications and another may handle Ethernet communications. The physical ports 410, 411, 412 may be connected with logical ports, e.g., 420. There may be a plurality of logical ports 420, 425. A logical ports may support bi-directional translation from structured to structure tagged to context tagged messages, and back again. In this illustration, translation from structured to context tagged messages is illustrated by blocks 421 & 426. Reverse translation is illustrated by blocks 422 & 427. Alternatively, separate logical ports could be assigned for the different directions of translation. The system may usefully provide translation only from SECS to a context tagged format. Error checking capabilities may be provided, if desired. Failures in the communication layer may be reported to a logger. In addition, an error message may be sent to the receiver. Translations may be communicated to an observer 430, for instance, using SOAP (Simple Object Access Protocol.) The observer may have separate facilities for receiving context tagged messages 431, translated from a structured message by translator 421, and for sending a structure tagged message is 432 to be translated by translator 422. The translation process is illustrated in greater detail in the following figure.
FIG. 5 depicts the second phase of translation to and from context tagged message format. Structure tagged messages 561 are processed by the system 520 to produce context tagged messages 565. Conversely, context tagged messages 566 are translated by module 522 into structure tagged messages 562. One or more common logic modules 540 process an incoming structure tagged message. (Not illustrated in the figure is the first phase of translation, in which a structured message is translated into structure tagged message.)
In the second phase of translation, a number of steps may be carried out which do not depend on the form of message received. The resources available for processing incoming messages include the dictionary 531, a dynamic mapper 532, and various tables 533. The dictionary is described above.
The dynamic mapper records definitions of reports (links to variables), of traces (links to variables) and of events (links to reports or to datasets.)
<FormMappers>
 <Reports>
  . . .
  <Mapper MapperID=“7”>
   <Link LinkID=“1”/>
  </Mapper>
 </Reports>
 <EventLinks>
  <Mapper MapperID=“1”>
   <Link LinkID=“7”/>
   <Link LinkID=“2”/>
  </Mapper>
  <Mapper MapperID=“10”>
   <Link LinkID=“11”/>
  </Mapper>
  <Mapper MapperID=“11”>
   <Link LinkID=“12”/>
  </Mapper>
 </EventLinks>
 . . .
</FormMappers>
Reports and EventLinks provide 1 to many connections, between reports and variables and between events and reports, respectively. In this example, report 7 is linked to variable 1 and event 1 is linked to reports 7 and 2. Event 1 is set to trigger report 7 including variable 1 and report 2 which is not defined in the excerpt shown.
The tables include a primary/secondary table, a name cross reference table and a message format table. One of the tables can be used to relate primary and secondary messages as illustrated by the following primary/secondary table excerpt:
Session
Primary Secondary Ack Empty List
Data Form Sessions
S1F3 S1F4
S2F13 S2F14
S2F15 S2F16
Definition Form Sessions
S2F23 S2F24
S2F33 S2F34
S2F35 S2F36
In this table, primary and secondary messages are associated with each other. The acknowledgment column marks the existence of an acknowledgment value that can be either a success or failure acknowledgment. The empty list column indicates a session that can include an empty variable list. In addition, a column can be provided which indicates that certain fields in the tagged message may be different from one session to another. Examples are provided for both data form sessions and definition form sessions. The data form sessions include an inquiry, which sets a context, and a response. The definition form sessions set contexts for later reporting, such as defining a report, an event, a trace or a data set. Additional session types include log only form sessions and time form sessions. The log only form sessions include messages that are not processed as data or definitions, but are only logged. The time form sessions include special messages which reflect resetting of the clock running on a machine. These messages are useful when the clock needs to be set back to be accurate or when hours are gained or lost due to daylight savings time.
Another useful table is a name cross-reference table. The name cross-reference table can be used to differentiate between message types that validly can originate with either a host or a machine. A combination of source, which is associated with either a host or machine, and message type can be translated into a differentiated message type. The entries below include one of our examples and an instance in which the handling of a message type (its mapper name or differentiated message type) depends on where it originated.
<Port PortID=“1” PortType=“Host”>
. . .
 <Message Name=“S7F3” MapperName=“S7F3_H” MainDestPort=“2”>
  <DestPortID>0</DestPortID>
 </Message>
. . .
</Port>
<Port PortID=“2” PortType=“Equipment”>
. . .
 <Message Name=“S1F4” MapperName=“S1F4” ReturnToSender=
 “True”>
  <DestPortID>0</DestPortID>
 </Message>
. . .
 <Message Name=“S7F3” MapperName=“S7F3_E”
 MainDestPort=“1”>
  <DestPortID>0</DestPortID>
 </Message>
. . .
</Port>
The mapping of the S7F3 message in this example depends on whether it originated with the host (S7F3_H) or the equipment (S7F3_E).
A third useful table is the message format table.
<Mapper Name=“S1F4” Reply=“false” WaitForAck=“false”
FormType=“DataForm” Descriptor=“QuerySimpleReply”
TransactionInfo=“Reply”>
 <Structure Format=“L” Known Length=“false” ZeroAction=
 “CutMessage”>
  <Value Format=“Unknown” SpecialItem=“Variable”
  Duplicated=“true”/>
  </Structure>
</Mapper>
<Mapper Name=“S6F11” Reply=“Optional” WaitForAck=“false”
FormType=“DataForm” Descriptor=“GotEvent” TransactionInfo=
“CreateDoc”>
  <Structure Format=“L” Known Length=“true” Length=“3”>
   <Value IrrelevantItem=“true”/>
   <Value Format=“DataItem” Type=“CEID” SpecialItem=“EventID”
    TagID=“ID”/>
   Value Format=“L” KnownLength=“false” ZeroAction=
   “NoReportLink”
   SpecialItem=“Event”>
    <Value Format=“L” KnownLength=“true” Length=“2”
    Duplicated=“true”>
     <Value Format=“DataItem” Type=“RPTID”
     SpecialItem=“ReportID”/>
     <Value Format=“L” KnownLength=“false” SpecialItem=
     “Report”>
      <Value Format=“Unknown” Duplicated=“true”
      SpecialItem=“Variable”/>
     </Value>
    </Value>
   </Value>
  </Structure>
</Mapper>
Two useful tools for manipulating data structures used during the second phase of translation are with document object model (DOM) tools and the C++ standard template library (STL). Those of ordinary skill in the art will recognize that many other ways of manipulating data structures are substantially equivalent: for instance, SAX (Simple API for XML) has a different origin than DOM, but is substantially equivalent to DOM. DOM is a platform- and language-neutral interface that permits script to access and update the content, structure, and style of a document. It includes an application programming interface (API) for well-formed XML documents. It defines the logical structure of documents and ways that a document can be accessed and manipulated. In the DOM specification, the term “document” is used in a broad sense. Increasingly, XML is being used as a way of representing many different kinds of information that may be stored in diverse systems, and much of this would traditionally be seen as data rather than as documents. Nevertheless, XML presents this data as documents, and the DOM may be used to manage this data. The DOM interface enables those practicing aspects of the present invention to build documents, navigate their structure, and add, modify, or delete elements and content. Tools for practicing DOM are provided by Microsoft and others.
The Standard Template Library, or STL, is a C++ library of container classes, algorithms, and iterators; it provides many of the basic algorithms and data structures of computer science. The STL is a generic library, having components that are heavily parameterized: almost every component in the STL is a template. Other data manipulation libraries will be equivalent to STL; many of them are extensions of STL provided by various vendors. DOM and STL can be mixed and matched. For instance, the dictionary and message format table could be implemented using DOM, leaving the name cross reference table and the dynamic mapper to be implemented using STL.
The second phase translation steps may be traced from when an input buffer is filled with a structure tagged message 561. (Not all of these steps will be needed to practice the present invention.) Some steps are followed regardless of the so-called “form” of the structure tagged message 540. The incoming message is identified as a primary or secondary message, using the primary/secondary table or some other data structure. A primary message is given a timestamp and unique identifier, both of which are useful if the context tagged messages are stored in a database. A secondary message is associated with a previously received primary message. A transaction ID or similar matching field can be used to match the secondary message with its primary message. The incoming structure tagged message is translated from XML into a DOM tree. The SECS-II message name is retrieved from the tree. This message name and the source of the message are used to access the name cross-reference table, to find a differentiated message name. The differentiated message name is used to locate the appropriate message format entry in the message format table. The appropriate message format entry includes a form type, such as data form or definition form, which can be used to control processing in addition to the steps common to all form types. Again for a secondary message, a primary message structure is stored for the session closing secondary message. The message format entry is used to parse the incoming structure tagged message. The structures of these two data structures can be matched. At this stage, the incoming message may be classified as a publishable context tagged message. For instance, a primary message with no wait bit (requesting an acknowledgement) or a primary message with a meaningless acknowledgement (e.g., S6F11) or with a secondary message may be a candidate for publication.
Processing beyond the common steps 540 proceeds according to the form type of the incoming message. Separate modules or segments of logic may process data forms 551, definition forms 552, log only forms 553 and time forms 554, before publishing a context tagged message 565.
The equipment, data structures and program steps described above can be combined with other components in a variety of useful embodiments. In one embodiment, a removable listening device is provided to monitor a wired communications channel between one or more tool hosts and one or more tools. The listening device is passive. It optionally may have a standard isolation device to protect the communications channel from noise generated by the listening device. This isolation device may be an optical isolator, a high impedance amplifier or any other components that effectively isolate the wired communications channel from the listening device. The wired communications channel may be an RS 232 or CAN-compliant channel, or it may be any of the communications channels previously mentioned. It alternatively may be a less commonly used communications channel such as RS422, USB, Firewire, Apple APB, Appletalk, or Ethernet. The listening device records report definitions and report trigger definitions sent by the tool hosts to the tools. This recording of report and report trigger definitions may take advantage of the data structures process steps described in detail above. The report definitions may be compliant with a SECS, HL7 or DIACOM standard. Structured messages in integrated circuit manufacturing fabs, metal cutting shops, general manufacturing, automotive manufacturing, health-care facilities and many other environments can be processed in accordance with the present invention. The report trigger definitions similarly may be adapted to a variety of environments. Report trigger definitions may be based on or more process conditions or the passage of time.
FIG. 6 depicts a system with multiple removable listening devices, each communicating with a separate tool. Removable listening devices 620, 630, and 640 communicate data with a host 610. The removable listening device 620 has a SECS-XML part 621, a tool data server 622, a hardware interface 623, and a web interface 624, which communicate data with each other. Similarly, the removable listening device 630 has a SECS-XML part 631, a tool data server 632, a hardware interface 633, and a web interface 634, which communicate data with each other; and the removable listening device 640 has a SECS-XML part 641, a tool data server 642, a hardware interface 643, and a web interface 644, which communicate data with each other.
The SECS- XML parts 621, 631, and 641 gather and translate data transferred between host 610 and the tool 625, the tool 635, and the tool 645, respectively. The data is stored in a database server 650, which is in communication with SECS- XML parts 621, 631, and 641. The data is published through the COM based tool data servers 622, 632, and 642. The tool data servers 622, 632, and 642 collect data from miscellaneous other hardware 626, 636, and 646 respectively, via hardware interface 623, 633, and 643, respectively.
The SECS- XML parts 621, 631, and 641 convert the SECS II data into XML. SECS II uses an untagged data format. Therefore, the data is usable by transmitting and receiving devices that possess additional required and/or have established the “meaning” of the data in context of the current communication session. This data is converted into tagged XML format, rendering it accessible to a wide variety of clients, such as browser based client 671, which for example uses some combination of HTML pages, XML, and Java Beans. The SECS- XML parts 621, 631, and 641 convert data in the opposite direction, from XML to SECS II, for communication either with the host 610, or the tool 625, 635, or 645 respectively. The conversion is a multi-step process, in which the actual conversion is based upon a previously created, expandable infrastructure of dictionary/mappers. This infrastructure is created in a semi-automatic process, and enables quick and accurate acquisition of a new tool, such as tool 625, 635, or 645.
The database server 650 stores a database of the XML data. The database is commercial off-the-shelf software such as Oracle 8i that allows storage of data received from the various tools, and retrieval of information by interested clients. Data can be filtered and analyzed to provide trends and various statistics. The database is designed to provide the capabilities of reliability, scalability, archiving, replication, and web connectivity.
The tool data servers 622, 632, and 642 provide real-time data for tools and applications to complement the database's capabilities of massive data storage and relatively slow response time. A tool data server uses dynamic software structures to maintain current system state data. Using a publish/subscribe data distribution model and well-documented public interfaces, the tool data server provides updates on specified variable changes to registered clients.
The hardware interface 623, 633, and 643 enable the removable listening device 620, 630, and 640 respectively to receive data from tools or tool components that are not monitored by SECS. In such case, a dedicated interface is created, using standard drivers (serial, parallel, DeviceNet). The data received from hardware 626, 636, and 646 is then manipulated like the data transmitted via SECS communication.
The web interface 624, 634, and 644 plugs into a COTS web server to enable external browser-based clients to selectively access and modify online data in the removable listening device's tool data server. The web interface provides tool data server access to HTML, XML, and beans browser-based clients. HTML pages are displayed on a standard browser or thin GUI, enabling quick and painless interfacing of any deployed tool. XML requires use of XSL to enable and control the display of XML on the client's browser. Beans, or Java applets downloaded to the client, enable presentation and animation of data from the tool. Beans can be extended to support any further manipulation of data on a specific tool, a group of tools, or data exchanged between tools for interoperability. The removable listening device is an equipment web server.
External clients access removable listening device data by means of generic tools, such as SQL, HTML, DCOM, XML, and Java. External client types that can be used have: database interfaces such as software applications using SQL or HTML, for example database interface 651 communicating via database server 650 with the SECS- XML parts 621, 631, and 641; application interfaces using DCOM such as application interface client 660 in communication with tool data server 622, 632, and 642; and browser-based clients such as browser-based clients 671 communicating via firewall 670 with web interface 624, 634, and 644. External clients use standard protocols to access the removable listening device, so standard commercial security solutions, such as firewalls, can be used. In addition, the removable listening device supports fine granularity definition of access control lists to achieve maximum security.
FIG. 7 depicts a system with a removable listening device acting as a web server, database server, and application server. Removable listening device 720 is similar to removable listening devices 620, 630, and 640 of FIG. 6. Removable listening device 720 communicates data with a host 710. The removable listening device 720 has a SECS-XML part 721, a tool data server 722, a hardware interface 723, a web interface 724, and a database 750, which communicate data with each other. The SECS-XML part 721 communicates with tool 725. The hardware interface 723 communicates with miscellaneous hardware 726. The database 750 communicates with a database interface client 751. The tool data server 722 communicates with an application interface client 760. The web interface 724 communicates with a browser-based client 771.
The term tool host is used in a broad sense to include both tool control hosts and more limited or flexible distributed processors. Tool hosts include both hosts with comprehensive, integrated tool control functions and hosts that run on distributed processors with more limited, task-specific functions. Tool hosts include products such as Consilium's FAB300 (™) software, which is described as providing a single comprehensive factory management system driven by a centralized definition of customer-specific business processes. This category of tool hosts is designed to replace traditional manufacturing execution systems, which are designed to control tools provided by different vendors. At the opposite end of the tool host spectrum from traditional manufacturing execution systems, component processes may be run on distributed processors to handle a variety of specific functions, without claiming to be comprehensive management systems. Along the spectrum, a product such as Consilium's FAB300 (™) software may be considered a tool control host for some purposes and a process running on a distributed processor, for other purposes.
The listening device includes logic to match the first triggered report from the tools with the report and report trigger definitions in real-time. The listening device may finish generating a context-insensitive report based on the first triggered report before it assesses a second triggered report. Depending on the architecture of the processor and operating system included in the listening device, there may or may not be overlap between the beginning of processing a second triggered report and completion of processing a first triggered report. The generation of a context-insensitive report based on the first triggered report proceeds promptly. Alternatively, several reports could be queued for processing as a group within 1, 2, 5, 10, 15, 30 or any time less than or equal to 60 minutes. The outside time for batch processing should be 60 minutes, due to urgent data needs of most facilities utilizing the present invention. The first context-insensitive report is output. The output may be on a display terminal, to hardcopy, or to persistent memory such as a disk drive, an optical drive, a non-volatile memory, or a computer-output microfilm or microfiche. The output of the process may be in a field tagged format. This field tagged format may be XML, HTML, comma-separated values, or a standard or custom field tagged format. Alternatively, the context-insensitive report may be in a tabular format or a textual format.
Another embodiment of the present invention includes a method of dynamically annotating tool status reports. A removable listening device is provided to monitor wired communications between one or more tool hosts and one or more tools. The wired communication may take place on a channel using any of a wide variety of protocols. The listening device records report definitions and report trigger definitions sent by the tool hosts to the tools. Aspects of the report and report trigger definitions are described in the prior embodiment. The listening device matches a first triggered report from the tools with the report and report trigger definitions to generate a first context-insensitive report. The first and second triggered reports, in this embodiment, are not accompanied by report definitions or report trigger definitions, either in the form sent by the tool hosts or any other form. The triggered reports may identify the event or other cause of being triggered, without including report definitions or report trigger definitions. The listening device may match the first triggered report from the tools with the report and report trigger definitions in real-time. The listening device may finish generating a context-insensitive report based on the first triggered report before it assesses a second triggered report. Depending on the architecture of the processor and operating system included in the listening device, there may or may not be overlap between the beginning of processing a second triggered report and completion of processing a first triggered report. The generation of a context-insensitive report based on the first triggered report proceeds promptly, rather than been queued for batch processing of several reports as a group. The report and report trigger definitions may be compliant with a SECS protocol, a HL-7 protocol, a DIACOM protocol, a CANS-compliant protocol or any standard or custom protocol. The report trigger definitions may be based upon equipment status or on time periods that trigger reporting. This embodiment may further include outputting the first context insensitive report in a field tagged format. More generally, the output of this process may be to a machine or human-perceptible output media. The format may be as a report or data file, data file formats including structured formats and field tagged formats.
A further embodiment is a method of migrating one or more processes from a tool control host in communication with one or more tools to one or more distributed processors. In this embodiment, an intercept device is provided which screens requests for information from tools. The tool control host is the legacy controller. The distributed processors handle updated, most likely more flexible processes. The migration process allows the tool control host to remain in communication with the tools even as the distributed processors begin communication with the tools. The intercept device includes logic to retain tool status information from the tools and to retain pending requests for tool status from the tool control hosts. The tool status information may include state information, as well as values of variables. The requests for tool status information may be requests for specific variables, request for reports, or report and report trigger definitions which periodically generate triggered reports. In an alternative embodiment, for instance one adapted to quick response to requests, the logic would only need to retain tool status information and not pending requests. This embodiment involves moving one or more processes from the tool control hosts to one or more distributed processors. Another aspect of this embodiment is activating one or more processes on distributed processors which were not supported by the tool control hosts. These processes are activated on the distributed processors as an alternative to integrating them into the logic of the tool control hosts. Request from both the tool control hosts and the distributed processors are routed to the intercept device, instead of the tool. Intercept device satisfies request for tool status information using either retained information or by generating new requests to the tool. The retained information may be tool status information or it may be a pending request. The intercept device includes logic to avoid making duplicate requests for tool status information, if an incoming request duplicates a pending request. The output of this process may be to a machine or human-perceptible output media. The format may be as a report or data file, data file formats including structured formats and field tagged formats.
A further aspect of the present invention is that a listening or intercept device may monitor one or more events reported by the tools and identify retained tool status information that is rendered stale by the reported events. The device may include logic to expire the stale tool status information, such as by setting a flag or by erasing stale information.
A further aspect of the present invention is that the intercept device may monitor one or more events reported by the tools and determine when or whether collection of tool status information should be modified. For instance, when an event changes the state of the tool, sampling of variables may be increased or decreased. For instance, collection of data regarding the tool status may be reduced in between processing of work pieces. If a tool is operating a multi-step process, the intercept device may include logic request collection of values of different variables during different process steps.
Either the listening or intercept device may be programmed to modify tool status information, in certain circumstances. When tool status information is received from the tools, rules or translation tables may be supplied to modify reported values. The values of reported variables may be modified as a matter of calibrating the tool or as an external means of fixing bugs in the tool. Or a semiconductor manufacturing fab uses a plurality of the same tool type, the listening or intercept devices may be programmed to modify reported results without having to attempt any modification of the tools themselves. The listening or intercept devices further may be programmed to derive values calculated from values reported by the tool, without any need to extend the capabilities of the tool itself.
In a process of migration from tool control host to distributed processors, the tool control host may include comprehensive factory management processes and the distributed processors may include more limited processes, not as extensive as comprehensive factory management processes. That is, the tool control host may run software such as FAB300™. Alternatively, the tool control hosts may include legacy programs to control the tools and the distributed processors may include updated comprehensive factory management process logic, such as FAB300™. The migration process involves intelligent assistance in supplementing or supplanting an incumbent system. A further aspect of the intercept devices is that they may receive communications from both the tool control host and the distributed processor and may be programmable to select the instructions of either the incumbent or new controllers for forwarding to the tools. During a trial, the intercept device may receive communications from both the tool control host and the distributed processor and report similarities and differences between the communications. The distributed processors may include logic to schedule tools, logic to manage yield from tools, logic to manage the logistics of moving materials among tools or logic to modify production steps based on deviations from plan in prior process steps. Logic to schedule tools may include detection of the load and operational status of the tool and time to completion of a process step. Logic to manage yield from tools may include monitoring of process conditions for later comparison to yields. Logic to manage yield from tools also may include monitoring of process conditions and modification of those conditions based on prior analyses of yields. Logic to manage logistics of moving materials among tools may include reporting of events on one tool which require readiness of a tool or work piece transport process that supplies material or work pieces to the tool or uses the work piece produced by the tool. Logic to modify process steps based on deviations from plan in prior process steps may support advanced process control. In advanced process control, subsequent process steps are modified to take into account prior process steps. Deviations from plan are monitored and compensated for.
Another embodiment of the present invention includes a method of screening requests for tool status information, when requests are received from a variety of sources. The variety of sources may include a plurality of tool hosts, using tool host in a broad sense. An intercept device is provided which includes logic to retain tool status information and pending requests to tools for status information. The intercept device is positioned logically or physically in between the tool host and the tools, in communication with both. It receives a request for tool status and satisfies the request using the retained tool status information, the retained pending request for tool status information or by making one or more new requests, in much the fashion of the prior embodiment. The new requests optionally may be directed to either the tool or external sensors monitoring the tool. The external sensors may determine environmental conditions surrounding the tool or conditions of the tool itself, such as temperature, spectral emission of radiation from processes, exhaust gases, or other externally observable process parameters. Either digital or analog external sensors may be used in conjunction with the intercept device. This embodiment need not include moving processes from tool control host distributed processors. It may be useful, for instance, when one or more new hosts supplement an existing host.
One aspect of this embodiment is that the tool host may include both tool control hosts and distributed processors, as those terms have been used above. The tool control host may include comprehensive factory management processes and the distributed processors may include limited processes for less than comprehensive factory management. Alternatively the tool control host may include legacy programs to control tools and the distributed processors may include updated logic for comprehensive factory management processes. The distributed processors may include logic to schedule tools, manage yields, manage logistics or modify production steps based on deviations from plan in prior process steps.
The process of this embodiment may further include: monitoring one or more events reported by the tool and determining which tool status information is stale due to the events; expiring tool status information which is rendered stale by events reported to the intercept device by the tool; receiving one or more events reported by the tool and determining whether collection of tool status information should be modified, for instance when the tool status advances from one process step to another; determining appropriate modifications to the tool status information received from the tool and substituting modified tool status information when satisfying requests for tool status information; and determining whether a request for tool status information would be satisfied by the tool or by external sensors coupled with the tool.
The embodiments and aspects of the embodiments may be combined in permutations that are readily apparent from this description, but not enumerated with excessive particularity.
While the preceding examples are cast in terms of a method, devices and systems employing this method are easily understood. A magnetic memory containing a program capable of practicing the claimed method is one such device. A computer system having memory loaded with a program practicing the methods described is another such device.
While the present invention is disclosed by reference to the preferred embodiments and examples detailed above, it is understood that these examples are intended in an illustrative rather than in a limiting sense. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the invention and the scope of the following claims.

Claims (28)

1. A method of making accessible context-sensitive data reported by a tool to a tool host, the method including:
providing a removable listening device to monitor a wired communications channel between one or more tool hosts and one or more tools;
recording report and report trigger definitions sent by the tool hosts to the tools;
matching a first triggered report from the tools with the report and report trigger definitions to generate a first context-insensitive report before processing a second triggered report;
outputting the first context-insensitive report in a field tagged format.
2. The method of claim 1, wherein the report and report trigger definitions and the triggered report are compliant with a SECS protocol.
3. The method of claim 1, wherein the report and report trigger definitions and the triggered report are compliant with a HL-7 protocol.
4. The method of claim 1, wherein the report and report trigger definitions and the triggered report are compliant with a DIACOM protocol.
5. The method of claim 1, wherein the report and report trigger definitions and the triggered report are compliant with a CANS-compliant protocol.
6. The method of claim 1, wherein the report trigger definitions further include time periods that trigger reporting.
7. The method of claim 1, wherein the field tagged format is XML.
8. The method of claim 1, wherein the field tagged format is HTML.
9. The method of claim 1, wherein the field tagged format is comma separated values.
10. The method of claim 2, wherein the field tagged format is XML.
11. The method of claim 2, wherein the field tagged format is HTML.
12. The method of claim 2, wherein the field tagged format is comma separated values.
13. The method of claim 1, wherein the removable listening device is coupled to the wired communications channel by a connector inserted in the wired communications channel.
14. The method of claim 1, wherein the removable listening device is physically coupled to the wired communications channel.
15. The method of claim 1, wherein the removable listening device is magnetically coupled to the wired communications channel.
16. A method of dynamically annotating tool status reports, the method including:
providing a removable listening device to monitor wired communications between one or more tool hosts and one or more tools;
recording report definitions sent by the tool hosts to the tools, said report definitions defining tool status information to be reported upon happening of a trigger;
recording report trigger definitions sent by the tool hosts to the tools, said report trigger definitions defining events that trigger reporting; and
matching a first triggered report from the tools with the report and report trigger definitions to generate a first context-insensitive report before processing a second triggered report, the reports not being accompanied by the report or report trigger definitions.
17. The method of claim 16, wherein the report and report trigger definitions and the triggered report are compliant with a SECS protocol.
18. The method of claim 16, wherein the report and report trigger definitions and the triggered report are compliant with a HL-7 protocol.
19. The method of claim 16, wherein the report and report trigger definitions and the triggered report are compliant with a DIACOM protocol.
20. The method of claim 16, wherein the report and report trigger definitions and the triggered report are compliant with a CANS-compliant protocol.
21. The method of claim 16, wherein the report trigger definitions further include time periods that trigger reporting.
22. The method of claim 16, further including outputting the first context-insensitive report in a field tagged format.
23. The method of claim 22, wherein the field tagged format is XML.
24. The method of claim 22, wherein the field tagged format is HTML.
25. The method of claim 22, wherein the field tagged format is comma separated values.
26. The method of claim 16, wherein the removable listening device is coupled to the wired communications channel by a connector inserted in the wired communications channel.
27. The method of claim 16, wherein the removable listening device is physically coupled to the wired communications channel.
28. The method of claim 16, wherein the removable listening device is magnetically coupled to the wired communications channel.
US09/935,213 2000-08-23 2001-08-22 Method and apparatus for monitoring host to tool communications Expired - Lifetime US7200671B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/935,213 US7200671B1 (en) 2000-08-23 2001-08-22 Method and apparatus for monitoring host to tool communications
US11/565,209 US7437204B2 (en) 2000-08-23 2006-11-30 Method and apparatus for monitoring host to tool communications

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22740800P 2000-08-23 2000-08-23
US09/847,937 US7072985B1 (en) 2001-05-02 2001-05-02 Method and apparatus for two phase structured message to tagged message translation
US09/935,213 US7200671B1 (en) 2000-08-23 2001-08-22 Method and apparatus for monitoring host to tool communications

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/847,937 Continuation-In-Part US7072985B1 (en) 2000-08-23 2001-05-02 Method and apparatus for two phase structured message to tagged message translation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/565,209 Division US7437204B2 (en) 2000-08-23 2006-11-30 Method and apparatus for monitoring host to tool communications

Publications (1)

Publication Number Publication Date
US7200671B1 true US7200671B1 (en) 2007-04-03

Family

ID=37897702

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/935,213 Expired - Lifetime US7200671B1 (en) 2000-08-23 2001-08-22 Method and apparatus for monitoring host to tool communications
US11/565,209 Expired - Lifetime US7437204B2 (en) 2000-08-23 2006-11-30 Method and apparatus for monitoring host to tool communications

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/565,209 Expired - Lifetime US7437204B2 (en) 2000-08-23 2006-11-30 Method and apparatus for monitoring host to tool communications

Country Status (1)

Country Link
US (2) US7200671B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156837A1 (en) * 2001-04-20 2002-10-24 Batke Brian A. Web access for non-TCP/IP control devices of an industrial control system
US20050182497A1 (en) * 2004-02-18 2005-08-18 Mitsubishi Denki Kabushiki Kaisha Manufacturing system, gateway device, and computer product
US20050198392A1 (en) * 2003-12-31 2005-09-08 Wen-Chen Yu Message monitoring method and apparatus involving SECS-to-XML message conversion for application to a semiconductor equipment system
US20060168484A1 (en) * 2003-12-31 2006-07-27 Eng Keong Ho System and method for process degradation problematic tool identification
US20060259259A1 (en) * 2005-05-02 2006-11-16 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times
US20070094548A1 (en) * 2000-08-23 2007-04-26 Mks Instruments, Inc. Method and Apparatus for Monitoring Host to Tool Communications
US20070276950A1 (en) * 2006-05-26 2007-11-29 Rajesh Dadhia Firewall For Dynamically Activated Resources
US20080082683A1 (en) * 2005-03-30 2008-04-03 Welch Allyn, Inc. Communication of information between a plurality of network elements
US20080133699A1 (en) * 2006-03-30 2008-06-05 Craw Chad E Device Data Sheets and Data Dictionaries for a Dynamic Medical Object Information Base
US20080168192A1 (en) * 2007-01-10 2008-07-10 Samsung Electronics Co., Ltd. Apparatus and method of tracing descriptor in host controller
US20090024689A1 (en) * 2007-07-20 2009-01-22 Hoseo University Academic Cooperation Foundation Interface device for semiconductor equipment and monitoring system using it
US20140009792A1 (en) * 2012-07-09 2014-01-09 Canon Kabushiki Kaisha Information processing method and information processing apparatus
US20150058375A1 (en) * 2011-03-14 2015-02-26 Splunk Inc. Event field distributed search display
US9507653B2 (en) 2012-09-12 2016-11-29 Microsoft Technology Licensing, Llc Inter-process communication channel

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8102844B1 (en) * 2006-09-21 2012-01-24 Pivotal Systems Corporation High-speed SECS message services (HSMS) pass-through including bypass
TWI323016B (en) * 2006-12-25 2010-04-01 Ind Tech Res Inst Real-time fault detection and classification system in use with a semiconductor fabrication process
WO2009055296A1 (en) * 2007-10-22 2009-04-30 Honda Motor Co., Ltd. Design and evaluation of communication middleware in a distributed humanoid robot architecture
US9740182B2 (en) 2012-06-08 2017-08-22 Applied Materials, Inc. Integrated controller solution for monitoring and controlling manufacturing equipment
GB2519027B (en) 2012-07-17 2020-07-08 Milwaukee Electric Tool Corp Universal protocol for power tools
WO2015061370A1 (en) 2013-10-21 2015-04-30 Milwaukee Electric Tool Corporation Adapter for power tool devices
US10603770B2 (en) 2015-05-04 2020-03-31 Milwaukee Electric Tool Corporation Adaptive impact blow detection
AU2016257438B2 (en) 2015-05-04 2019-03-07 Milwaukee Electric Tool Corporation Power tool and method for wireless communication
US10295990B2 (en) 2015-05-18 2019-05-21 Milwaukee Electric Tool Corporation User interface for tool configuration and data capture
US10850380B2 (en) 2015-06-02 2020-12-01 Milwaukee Electric Tool Corporation Multi-speed power tool with electronic clutch
CN107921522B (en) 2015-06-15 2021-08-17 米沃奇电动工具公司 Hydraulic press-connection machine tool
US10339496B2 (en) 2015-06-15 2019-07-02 Milwaukee Electric Tool Corporation Power tool communication system
US10380883B2 (en) 2015-06-16 2019-08-13 Milwaukee Electric Tool Corporation Power tool profile sharing and permissions
US10345797B2 (en) 2015-09-18 2019-07-09 Milwaukee Electric Tool Corporation Power tool operation recording and playback
NZ742034A (en) 2015-10-30 2019-04-26 Milwaukee Electric Tool Corp Remote light control, configuration, and monitoring
US11424601B2 (en) 2015-11-02 2022-08-23 Milwaukee Electric Tool Corporation Externally configurable worksite power distribution box
CN106896763B (en) 2015-12-17 2020-09-08 米沃奇电动工具公司 System and method for configuring a power tool having an impact mechanism
US11014224B2 (en) 2016-01-05 2021-05-25 Milwaukee Electric Tool Corporation Vibration reduction system and method for power tools
AU2017213819B2 (en) 2016-02-03 2019-12-05 Milwaukee Electric Tool Corporation Systems and methods for configuring a reciprocating saw
TWI734749B (en) 2016-02-25 2021-08-01 美商米沃奇電子工具公司 Power tool including an output position sensor
US10614392B1 (en) * 2016-03-15 2020-04-07 Rockwell Collins, Inc. Graphical flight dashboard display and method
US11622392B2 (en) 2016-06-06 2023-04-04 Milwaukee Electric Tool Corporation System and method for establishing a wireless connection between power tool and mobile device
TWM555274U (en) 2016-06-06 2018-02-11 米沃奇電子工具公司 Mobile devices for connecting with power tool devices
CN111093452A (en) 2017-07-05 2020-05-01 米沃奇电动工具公司 Adapter for communication between power tools
US11011053B2 (en) 2018-07-31 2021-05-18 Tti (Macao Commercial Offshore) Limited Systems and methods for remote power tool device control

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307463A (en) * 1990-03-08 1994-04-26 Allen-Bradley Company, Inc. Programmable controller communication module
US5657252A (en) * 1995-09-29 1997-08-12 Motorola, Inc. Dynamically configurable equipment integration architecture
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US6233613B1 (en) * 1997-08-18 2001-05-15 3Com Corporation High impedance probe for monitoring fast ethernet LAN links
US6282576B1 (en) * 1998-09-21 2001-08-28 Unisys Corporation Method of transferring heterogeneous data with meaningful interrelationships between incompatible computers
US6300787B1 (en) * 2000-05-01 2001-10-09 Hewlett-Packard Company System and method for observing information transmitted between two integrated circuits
US20020002560A1 (en) * 2000-06-30 2002-01-03 Snehanshu Shah Method and system for collecting diverse data types within a manufacturing environment and accessing the diverse data types through a network portal
US20020174340A1 (en) * 2001-05-18 2002-11-21 Dick Kevin Stewart System, method and computer program product for auditing XML messages in a network-based message stream
US6505256B1 (en) * 1999-01-15 2003-01-07 Compaq Information Technologies Group, L.P. Automatic synchronization of state colors across a web-based system
US6591310B1 (en) * 2000-05-11 2003-07-08 Lsi Logic Corporation Method of responding to I/O request and associated reply descriptor
US6604010B2 (en) * 1998-04-11 2003-08-05 Samsung Electronics Co., Ltd. System for selectively managing workpieces and a method for controlling the same
US6650955B1 (en) * 2001-12-18 2003-11-18 Advanced Micro Devices, Inc. Method and apparatus for determining a sampling plan based on process and equipment fingerprinting
US6711731B2 (en) * 2000-08-23 2004-03-23 Pri Automation, Inc. Web based tool control in a semiconductor fabrication facility
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US6757681B1 (en) * 1998-06-02 2004-06-29 International Business Machines Corporation Method and system for providing performance data
US6826439B1 (en) * 2000-05-23 2004-11-30 Advanced Micro Devices, Inc. Broadband distribution of SECS-II data
US6871112B1 (en) * 2000-01-07 2005-03-22 Advanced Micro Devices, Inc. Method for requesting trace data reports from FDC semiconductor fabrication processes
US6907008B1 (en) * 1999-12-21 2005-06-14 Nortel Networks Limited Method for a network device inserted between point to point connected stations to automatically negotiate communication parameters between the stations
US6970758B1 (en) * 2001-07-12 2005-11-29 Advanced Micro Devices, Inc. System and software for data collection and process control in semiconductor manufacturing and method thereof
US7003367B2 (en) * 2001-12-26 2006-02-21 National Science Council Equipment management method
US7072985B1 (en) * 2001-05-02 2006-07-04 Mks Instruments, Inc. Method and apparatus for two phase structured message to tagged message translation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432702A (en) * 1994-06-17 1995-07-11 Advanced Micro Devices Inc. Bar code recipe selection system using workstation controllers
US7200671B1 (en) * 2000-08-23 2007-04-03 Mks Instruments, Inc. Method and apparatus for monitoring host to tool communications
US6950716B2 (en) * 2001-08-13 2005-09-27 Applied Materials, Inc. Dynamic control of wafer processing paths in semiconductor manufacturing processes
TWI328164B (en) * 2002-05-29 2010-08-01 Tokyo Electron Ltd Method and apparatus for monitoring tool performance
CN1666203A (en) * 2002-07-03 2005-09-07 东京电子株式会社 Method and apparatus for automatic sensor installation

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307463A (en) * 1990-03-08 1994-04-26 Allen-Bradley Company, Inc. Programmable controller communication module
US5657252A (en) * 1995-09-29 1997-08-12 Motorola, Inc. Dynamically configurable equipment integration architecture
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US6233613B1 (en) * 1997-08-18 2001-05-15 3Com Corporation High impedance probe for monitoring fast ethernet LAN links
US6604010B2 (en) * 1998-04-11 2003-08-05 Samsung Electronics Co., Ltd. System for selectively managing workpieces and a method for controlling the same
US6757681B1 (en) * 1998-06-02 2004-06-29 International Business Machines Corporation Method and system for providing performance data
US6282576B1 (en) * 1998-09-21 2001-08-28 Unisys Corporation Method of transferring heterogeneous data with meaningful interrelationships between incompatible computers
US6505256B1 (en) * 1999-01-15 2003-01-07 Compaq Information Technologies Group, L.P. Automatic synchronization of state colors across a web-based system
US6907008B1 (en) * 1999-12-21 2005-06-14 Nortel Networks Limited Method for a network device inserted between point to point connected stations to automatically negotiate communication parameters between the stations
US6871112B1 (en) * 2000-01-07 2005-03-22 Advanced Micro Devices, Inc. Method for requesting trace data reports from FDC semiconductor fabrication processes
US6300787B1 (en) * 2000-05-01 2001-10-09 Hewlett-Packard Company System and method for observing information transmitted between two integrated circuits
US6591310B1 (en) * 2000-05-11 2003-07-08 Lsi Logic Corporation Method of responding to I/O request and associated reply descriptor
US6826439B1 (en) * 2000-05-23 2004-11-30 Advanced Micro Devices, Inc. Broadband distribution of SECS-II data
US20020002560A1 (en) * 2000-06-30 2002-01-03 Snehanshu Shah Method and system for collecting diverse data types within a manufacturing environment and accessing the diverse data types through a network portal
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US6711731B2 (en) * 2000-08-23 2004-03-23 Pri Automation, Inc. Web based tool control in a semiconductor fabrication facility
US7072985B1 (en) * 2001-05-02 2006-07-04 Mks Instruments, Inc. Method and apparatus for two phase structured message to tagged message translation
US20020174340A1 (en) * 2001-05-18 2002-11-21 Dick Kevin Stewart System, method and computer program product for auditing XML messages in a network-based message stream
US6970758B1 (en) * 2001-07-12 2005-11-29 Advanced Micro Devices, Inc. System and software for data collection and process control in semiconductor manufacturing and method thereof
US6650955B1 (en) * 2001-12-18 2003-11-18 Advanced Micro Devices, Inc. Method and apparatus for determining a sampling plan based on process and equipment fingerprinting
US7003367B2 (en) * 2001-12-26 2006-02-21 National Science Council Equipment management method

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
"MyFab2k-tour," http://www.ipc-kallmuenz.de/tour1.htm, 6 pages.
Consilium, "White Paper: Overall Equipment Effectiveness," http://www.consilium.com/white<SUB>-</SUB>oee.html, 1998-2000, 12 pages, Consilium, Inc.
GW Associates, Inc., "GWconX300 Communications Software for 300mm Equipment Data Sheet," 2001, 3 pages, USA.
GW Associates, Inc., "SDR SECS Driver Software," http://www.gwainc.com/products/sdr.htm, 6 pages.
IPC, "MyFab2k.com," http://www.ipc-kallenz.de/, 3 pages.
J. Moyne, N. Najafi, D. Judd, and A. Stock, "Analysis of Sensor/Actuator Bus Interoperability Standard Alternatives for Semiconductor Manufacturing," Published in Sensors Expo Conference Proceedings, Sep. 1994, 13 pages.
P. Singer, "E-Diagnostics: Monitoring Tool Performance," Cahners Semiconductor International, http://www.semiconductor.net/semiconductor/issues/issues/2001/200103/six010301supp.asp, 2001, 9 pages.
Prof. Dr.-Ing. K. Etschberger, "Controller Area Network-Introduction," http://www.ixxat.de/english/knowhow/literatur/can.shtml, 2000, 10 pages, IXXAT Automation GmbH.
SEMI E37-0298, "High-Speed SECS Message Services (HSMS) Generic Services," 1995/1998, 24 pages, Semiconductor Equipment and Materials International (SEMI).
SEMI E4-0699, "SEMI Equipment Communications Standard 1 Message Transfer (SECS-I)," 1980/1999, 20 pages, Semiconductor Equipment and Materials International (SEMI).
SEMI E5-0600, "SEMI Equipment Communications Standard 2 Message Content (SECS-II)," 1982/2000, pp. 1-15, 92-93, Semiconductor Equipment and Materials International (SEMI).
SEMI E54-0997, "Sensor/Actuator Network Standard," 1997, 10 pages, Semiconductor Equipment and Materials International (SEMI).
SI Automation, "The SECS Pack-Product Summary/The Silverbox-Product Summary," http://www.siautomation.com/index1.html, 2000, 4 pages.
Symphony Systems, "Symphony Systems Effective Productivity Solutions (EPS)," http://www.symphony-systems.com/products/, 10 pages.

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437204B2 (en) * 2000-08-23 2008-10-14 Mks Instruments, Inc. Method and apparatus for monitoring host to tool communications
US20070094548A1 (en) * 2000-08-23 2007-04-26 Mks Instruments, Inc. Method and Apparatus for Monitoring Host to Tool Communications
US7747764B2 (en) * 2001-04-20 2010-06-29 Rockwell Automation Technologies, Inc. Web access for non-TCP/IP control devices of an industrial control system
US20020156837A1 (en) * 2001-04-20 2002-10-24 Batke Brian A. Web access for non-TCP/IP control devices of an industrial control system
US20050198392A1 (en) * 2003-12-31 2005-09-08 Wen-Chen Yu Message monitoring method and apparatus involving SECS-to-XML message conversion for application to a semiconductor equipment system
US20060168484A1 (en) * 2003-12-31 2006-07-27 Eng Keong Ho System and method for process degradation problematic tool identification
US20050182497A1 (en) * 2004-02-18 2005-08-18 Mitsubishi Denki Kabushiki Kaisha Manufacturing system, gateway device, and computer product
US8856380B2 (en) 2005-03-30 2014-10-07 Welch Allyn, Inc. Communication of information between a plurality of network elements
US20080082683A1 (en) * 2005-03-30 2008-04-03 Welch Allyn, Inc. Communication of information between a plurality of network elements
US8543999B2 (en) 2005-03-30 2013-09-24 Welch Allyn, Inc. Communication of information between a plurality of network elements
US20100005448A1 (en) * 2005-03-30 2010-01-07 Welch Allyn, Inc. Communication of information between a plurality of network elements
US9648090B2 (en) 2005-03-30 2017-05-09 Welch Allyn, Inc. Dynamic medical object information base
US8402161B2 (en) 2005-03-30 2013-03-19 Welch Allyn, Inc. Communication of information between a plurality of network elements
US20060259259A1 (en) * 2005-05-02 2006-11-16 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times
US7620516B2 (en) * 2005-05-02 2009-11-17 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times
US20100063614A1 (en) * 2005-05-02 2010-03-11 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times
US8108174B2 (en) * 2005-05-02 2012-01-31 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times
US20080133699A1 (en) * 2006-03-30 2008-06-05 Craw Chad E Device Data Sheets and Data Dictionaries for a Dynamic Medical Object Information Base
US8024421B2 (en) 2006-03-30 2011-09-20 Welch Allyn, Inc. Device data sheets and data dictionaries for a dynamic medical object information base
US20070276950A1 (en) * 2006-05-26 2007-11-29 Rajesh Dadhia Firewall For Dynamically Activated Resources
US11373737B2 (en) 2006-10-04 2022-06-28 Welch Allyn, Inc. Dynamic medical object information base
US8484612B2 (en) 2006-10-04 2013-07-09 Welch Allyn, Inc. Application generator for a dynamic medical object information base
US20080140770A1 (en) * 2006-10-04 2008-06-12 Dellostritto James J Dynamic medical object information base
US8788687B2 (en) * 2006-10-04 2014-07-22 Welch Allyn, Inc. Dynamic medical object information base
US20080168192A1 (en) * 2007-01-10 2008-07-10 Samsung Electronics Co., Ltd. Apparatus and method of tracing descriptor in host controller
US7945714B2 (en) * 2007-01-10 2011-05-17 Samsung Electronics Co., Ltd. Apparatus and method of tracing descriptors in host controller
US20090024689A1 (en) * 2007-07-20 2009-01-22 Hoseo University Academic Cooperation Foundation Interface device for semiconductor equipment and monitoring system using it
US10162863B2 (en) 2011-03-14 2018-12-25 Splunk Inc. Interactive display of aggregated search result information
US10318535B2 (en) 2011-03-14 2019-06-11 Splunk Inc. Displaying drill-down event information using event identifiers
US9430574B2 (en) 2011-03-14 2016-08-30 Splunk Inc. Display for a number of unique values for an event field
US11860881B1 (en) 2011-03-14 2024-01-02 Splunk Inc. Tracking event records across multiple search sessions
US9129028B2 (en) * 2011-03-14 2015-09-08 Splunk, Inc. Event field distributed search display
US10061821B2 (en) 2011-03-14 2018-08-28 Splunk Inc. Extracting unique field values from event fields
US20150058375A1 (en) * 2011-03-14 2015-02-26 Splunk Inc. Event field distributed search display
US11176146B2 (en) 2011-03-14 2021-11-16 Splunk Inc. Determining indications of unique values for fields
US10339149B2 (en) 2011-03-14 2019-07-02 Splunk Inc. Determining and providing quantity of unique values existing for a field
US10380122B2 (en) 2011-03-14 2019-08-13 Splunk Inc. Interactive display of search result information
US10860592B2 (en) 2011-03-14 2020-12-08 Splunk Inc. Providing interactive search results from a distributed search system
US10860591B2 (en) 2011-03-14 2020-12-08 Splunk Inc. Server-side interactive search results
US11003675B2 (en) 2011-03-14 2021-05-11 Splunk Inc. Interactive display of search result information
US9164719B2 (en) * 2012-07-09 2015-10-20 Canon Kabushiki Kaisha Method and apparatus for obtaining status information from a device
US20140009792A1 (en) * 2012-07-09 2014-01-09 Canon Kabushiki Kaisha Information processing method and information processing apparatus
US9507653B2 (en) 2012-09-12 2016-11-29 Microsoft Technology Licensing, Llc Inter-process communication channel

Also Published As

Publication number Publication date
US7437204B2 (en) 2008-10-14
US20070094548A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
US7437204B2 (en) Method and apparatus for monitoring host to tool communications
US7725606B2 (en) Method and apparatus for two phase structured message to tagged message translation
US8190284B1 (en) Auto discovery of embedded historians in network
US8782249B1 (en) Message engine
JP5468625B2 (en) Method and apparatus for generating web browser session history
US6370569B1 (en) Data socket system and method for accessing data sources using URLs
US20120173671A1 (en) Network communications in an industrial automation environment
KR20060125594A (en) Model for communication between manufacturing and enterprise levels
CN102867010A (en) Systems and methods of extracting, storing, and serving device definition file information
CA3035599C (en) Systems and methods for discovering configurations of legacy control systems
US6826439B1 (en) Broadband distribution of SECS-II data
US20220030090A1 (en) Selective address space aggregation
WO2014199472A1 (en) Control monitoring system and control monitoring method
EP3769319B1 (en) Methods, apparatus, and systems for integration of diagnostic laboratory devices
US20090089695A1 (en) Platform independent historian
Maldonado et al. Development of an industrial data server for modbus TCP protocol
Drath et al. Modeling and exchange of IO-Link configurations with AutomationML
Santos et al. Development of an Industrial Communication Driver for Profinet Devices
US20090083648A1 (en) Direct subscription to inelligent i/o module
CN109725587B (en) Operation record recording method based on human-computer interface
Eliwi et al. The tweeting machine–CNC-PLC interface
KR20200103312A (en) System and Method for processing an nonstandard XML file

Legal Events

Date Code Title Description
AS Assignment

Owner name: EQUIPNET LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEV-AMI, UZI;REICH, YOSSEF ILAN;REEL/FRAME:012408/0712

Effective date: 20010909

AS Assignment

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EQUIPNET LTD.;REEL/FRAME:014465/0855

Effective date: 20040316

AS Assignment

Owner name: ESS TECHNOLOGIES INTERNATIONAL, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PICTOS TECHNOLOGIES, INC.;REEL/FRAME:015494/0513

Effective date: 20040625

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:038663/0265

Effective date: 20160429

Owner name: BARCLAYS BANK PLC, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:038663/0139

Effective date: 20160429

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:048211/0312

Effective date: 20190201

Owner name: NEWPORT CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH;REEL/FRAME:048226/0095

Effective date: 20190201

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH;REEL/FRAME:048226/0095

Effective date: 20190201

AS Assignment

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO.7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0312. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:055668/0687

Effective date: 20190201

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNORS:MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;ELECTRO SCIENTIFIC INDUSTRIES, INC.;REEL/FRAME:061572/0069

Effective date: 20220817

AS Assignment

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: NEWPORT CORPORATION, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817

Owner name: NEWPORT CORPORATION, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817