US6349341B1 - Method and system for providing inter-tier application control in a multi-tiered computing environment - Google Patents

Method and system for providing inter-tier application control in a multi-tiered computing environment Download PDF

Info

Publication number
US6349341B1
US6349341B1 US09/126,262 US12626298A US6349341B1 US 6349341 B1 US6349341 B1 US 6349341B1 US 12626298 A US12626298 A US 12626298A US 6349341 B1 US6349341 B1 US 6349341B1
Authority
US
United States
Prior art keywords
tier
application program
tier application
connections
control elements
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
Application number
US09/126,262
Inventor
Donald Craig Likes
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to US09/126,262 priority Critical patent/US6349341B1/en
Assigned to ADVANCED MICRO DEVICES, INC. reassignment ADVANCED MICRO DEVICES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIKES, DONALD CRAIG
Application granted granted Critical
Publication of US6349341B1 publication Critical patent/US6349341B1/en
Anticipated 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention is generally directed to computer controlled manufacturing systems, and more particularly to control of application programs in a multi-tiered computing arrangement.
  • Modern computer controlled manufacturing arrangements for example, those for manufacturing semiconductors, generally included a central computer system for controlling the overall factory floor. Coupled to the central computer system, via a network for example, were satellite computers programmed for respectively controlling selected tools. The tools were often directly coupled to serial or parallel ports or special adapter cards of the satellite computers.
  • the early systems generally controlled a single tool with a single satellite computer.
  • a single process running on the single computer provided communication between the central computer system and the single tool.
  • additional tools were coupled to the satellite computers.
  • replicated processes were used. Specifically, for each tool coupled to a satellite computer, a respective process executing on the satellite computer provided the necessary communication interface between the central computer system and the tool.
  • a method for inter-tier application control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program.
  • the method comprises associating connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers.
  • third tier control element identifiers are indicated for the messages.
  • the second tier application program performs application specific processing on the messages, and connections are selected for transmitting control messages to the third tier control elements based on the indicated third tier control element identifiers and the associated connection identifiers.
  • a method comprises associating connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers and receiving a message from the first tier application program.
  • a third tier control element identifier based on the message is indicated to the second tier application program, and the second tier application generates a control message.
  • the control message is transmitted to a third tier control element via a selected connection that is based on the indicated third tier control element identifier and associated connection identifier.
  • An apparatus for inter-tier application control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program.
  • the apparatus comprises means for receiving messages from the first tier application by the second tier application; means for mapping messages received from the first tier application to respective connections between the second tier application and the third tier control elements) and means for transmitting control messages generated from the received messages to the third tier control elements via the respectively mapped connections.
  • a multi-tier computing arrangement comprises: a first tier computer system arranged to host a first tier application program; a plurality of third tier control elements; and a second tier computer system coupled to the first tier computer system and to the third tier control elements and arranged to host a second tier application program.
  • the second tier application program includes: a first connection layer arranged to receive messages from the first tier application program; a first mapping layer arranged to indicate to the second tier application program a third tier control element identifier based on the message and associate connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers; a core logic layer arranged to generate a control message; a second is mapping layer arranged to select a connection to a third tier control element based on the indicated third tier control element identifier and associated connection identifier; and a second connection layer arranged to transmit the control message via the selected connections.
  • FIG. 1 illustrates a computer controlled manufacturing arrangement in which multiple levels of application programs control the manufacturing process
  • FIG. 2 is a block diagram of a prior art computer controlled manufacturing arrangement in which an instance of a first tier application executing on computer system interacts with multiple instances of a second tier application executing on computer system to control a manufacturing process;
  • FIG. 3 is a block diagram of a computer controlled manufacturing arrangement according to an example embodiment of the invention.
  • FIG. 4 is a block diagram of layers of software with which the core logic of the second tier application interacts in communicating with the first tier application and the tool is control element;
  • FIG. 5 is a flowchart of processing performed for initialization of mappings of sockets used by the second tier application for communication with the first tier application and with the tool control elements according to an example embodiment of the invention
  • FIG. 6 is a flowchart that shows the processing performed when the second tier application receives a message from the first tier application, according to an example embodiment of the invention.
  • FIG. 7 is a flowchart that shows the processing performed when the second tier application receives a message from one of the tool control elements, according to an example embodiment of the invention.
  • the present invention is believed to be applicable to a variety of multi-tiered computing arrangements.
  • the invention has been found to be particularly advantageous in a computer controlled semiconductor manufacturing arrangement in which multiple levels of application programs executing on various computer systems interact in the manufacturing process. While the present invention is not so limited, an appreciation of various aspects of the invention is beat gained through a discussion of various example applications described below.
  • a computer controlled manufacturing arrangement 100 is shown in which multiple levels of application programs control the manufacturing process.
  • a first tier application 102 executes on a computer system 104
  • a second tier application 106 executes on a computer 108
  • tool control elements 110 a-d control operation of the respective manufacturing tools 112 a-d .
  • the first tier application 102 is manufacturing control software such as Workstream software that is commercially available from Consilium.
  • the second tier application 106 is tailored to the specific needs of the manufacturing arrangement 100 and the particular tools 112 a-d to be controlled.
  • the tools 112 a-d are TEL-ALPHA-VII vertical furnaces that are available from Tokyo Electron Limited.
  • the second tier application generally makes decisions based on selected business rules and then directs the tool to perform certain tasks in a specified order.
  • An example computer controlled manufacturing arrangement in which the present invention may be embodied is described in U.S. Pat. No. 5,751,581 to Tau et al., entitled, “MATERIAL MOVEMENT SERVER,” and herein incorporated by reference.
  • the tool control elements 110 a-d of tools 112 a-d may be viewed as third tier application programs and may be embodied in various forms depending on the particular tool.
  • a tool control element may be a programmed microprocessor that is coupled to the second tier application 106 via a network 114 , wherein the second tier application 106 and tool control elements 110 a-d communicate according to the TCP/IP.
  • the second tier application 106 and tool control elements 110 a-d may communicate via RS-232 using the SECS protocol.
  • the manufacturing arrangement 100 may include additional machines, tools, control programs, and computer systems according to particular manufacturing requirements.
  • the arrangement 100 may include a track system for transporting material and work-pieces between tools.
  • the arrangement may also include additional tools for performing other functions such as for etching, testing, and inspecting semiconductors.
  • FIG. 2 is a block diagram of a prior art computer controlled manufacturing arrangement 200 in which an instance of a first tier application 102 executing on computer system 104 interacts with multiple instances 106 a-d of a second tier application executing on computer system 108 to control a manufacturing process. Interaction between the first tier application 102 and the tool control elements 110 a-d occurs via respective instances 106 a-d of the second tier application.
  • the instances 106 a-d of the second tier application are processes that execute on the system 108 , each operating out of its own memory space. Example “processes” are those supported by the UNIX operating system.
  • the tool control elements 110 a-d are generally identical and control generally identical tools (not shown).
  • the core logic 201 a-d of the instances 106 a-d of the second tier application are essentially identical, wherein the core logic refers to the manufacturing control functions performed by the application.
  • Each of the instances 106 a-d of the second tier application manages two sockets, one for communicating with the first tier application 102 and one for communicating with one of tool control elements 110 a-d .
  • Such sockets can be TCP/IP sockets to support two-way communication, for example.
  • instance 106 b manages a socket 202 to communicate with the first tier application 102 via socket 204 of the first tier application.
  • Bi-directional line 206 illustrates the two-way communication.
  • instance 106 b manages socket 208 to communicate with tool 110 b .
  • the tool control elements 110 a-d include compatible software and circuitry for socket-based communication with the instances 106 a-d of the second tier application.
  • the first tier application 102 For the first tier application 102 to interact with one of the tool control elements, e.g., 110 b , the first tier application 102 selects the socket, i.e., 204 , to communicate with the instance 106 b of the second tier application that is dedicated to interacting with the tool control element 110 b . The first tier application 102 then sends a message via socket 204 to the instance 106 b of the second tier application. For the purpose of communicating with tool control element 110 b , the instance 106 b , being dedicated to tool control element 110 b , does not need tool identification information in the message from the first tier application 102 .
  • the multiple instances 106 a-d of the second tier application can create problems in administering the computer system 108 . Specifically, memory demands of the multiple instances may necessitate a system that is prohibitively expensive. In addition, secondary storage needs (for example, hard disk space) for respective files used by the instances 106 a-d may require excessive operator support for tracking the files.
  • FIG. 3 is a block diagram of a computer controlled manufacturing arrangement according to an example embodiment of the invention.
  • a single instance 302 of the second tier application 106 manages communications with the first tier application 102 and the tool control elements 110 a-d
  • the single instance 302 reduces memory requirements and avoids unnecessary duplication of files.
  • the embodiment of FIG. 3 includes multiple corresponding sockets between the first tier application 102 and the second tier application 302 .
  • sockets 310 of the first tier application 102 correspond to sockets 306 of the second tier application 302 , respectively.
  • a single socket is used for communication between the first and second tier applications, and message identifiers and task entry points are used for routing messages.
  • FIG. 4 is a block diagram of layers of software with which the core logic 352 of the second cite application 106 interacts in communicating with the first tier application 102 and the tool control element 110 .
  • a socket layer 354 provides a socket based interface for the second tier application 106 to the first tier application 102 .
  • the socket layer is comprised of an application embodied in Smalltalk software from Object Share.
  • the socket layer 356 provides a socket based interface for the second tier application to the tool control element 110 .
  • mapping logic 358 maps sockets used by the second tier application 106 to communicate with the first tier application 102 to respective tools.
  • FIG. 2 recall that socket 202 is used by the first tier application 102 to communicate with tool control element 110 b for controlling tool 112 b .
  • mapping logic 360 maps tools to sockets that are used to communicate with the tool control elements 110 a-d .
  • the socket 208 of FIG. 2 for example, would be mapped to the tool controlled by tool control element 110 b .
  • FIG. 5 is a flowchart of processing performed for initialization of mappings of sockets used by the second tier application 302 for communication with the first tier application 102 and with the tool control elements 110 a-d according to an example embodiment of the invention.
  • socket connections are established between the second tier application 302 and the first tier application 102 . Because the first tier application 102 uses respective dedicated sockets for controlling the tools 112 a-d , the second tier application 302 establishes corresponding sockets 306 .
  • the first and second tier application each create a single socket for communication, and no first tier mappings are required.
  • socket connections are “mapped” to or “associated” with respective tool control identifiers, as shown below, for example:
  • the notation “socket first tier ” refers to the sockets 306 of the second tier application that are used for communication with the first tier application 102 .
  • the mapping is used by the mapping logic layer 358 to identify the one of tools A-X for which a message from the first tier application 102 is intended. In the ISIS implementation, respective entry points are created for the different tools.
  • Respective socket connections 308 are established at block 506 for providing communication between the second tier application 302 and the tool control elements 110 a-d .
  • the tool identifiers are respectively mapped to the sockets 308 used for communication with the tools as shown below, for example:
  • This map is used by the second tier application 302 select a socket tool for communication with one of tool control elements 110 a-d after having received and processed a message from the first tier application 102 .
  • FIG. 6 is a flowchart that shows the processing performed when the second tier application 302 receives a message from the first tier application 102 , according to an example embodiment of the invention.
  • a message is received via conventional socket layer 354 processing.
  • Blocks 534 and 536 comprise actions performed by the mapping logic layer 358 .
  • the tool identifier that is mapped to the one of sockets 306 over which a message was received is obtained from the map and added to the message.
  • the identifier can be inserted in an unused portion of a packet containing the message or appended to the end of the message so as to be ignored by the second tier application core logic 352 .
  • tasks are associated with entry points in the second tier application core logic 352 for the respective tools.
  • the associated tool identifier is inserted in the message.
  • Blocks 540 and 542 comprise actions performed by the mapping logic layer 360 . Specifically, the tool identifier that was added to the message at block 536 is obtained, and the one of sockets 308 that is mapped to the tool identifier is selected. At block 544 , the socket layer 356 processing is performed to send the message to one of the tool control elements 110 a-d.
  • FIG. 7 is a flowchart that shows the processing performed when the second tier application 302 receives a message from one of the tool control elements 110 a-d , according to an example embodiment of the invention.
  • a message is received via conventional socket layer 356 processing.
  • Blocks 574 and 576 comprise actions performed by the mapping logic layer 360 .
  • the tool identifier that is mapped to the one of sockets 308 over which a message was received is obtained from the map and added to the message.
  • the identifier can be inserted in an unused portion of a packet containing the message or appended to the end of the message so as to be ignored by the second tier application core logic 352 .
  • the processing of the core logic 352 is performed at block 578 . It will be appreciated that in most circumstances a message from one of the tool control elements 110 a-d will not result in a message being sent outside the second tier application core logic 352 . In these cases, no further processing occurs relative to the invention. However, some messages from the tool control elements 110 a-d will result in further messages sent from the second tier application 302 to the first tier application 102 , in which case the processing shown by blocks 580 and 582 occurs.
  • Blocks 580 and 582 comprise actions performed by the mapping logic layer 358 . Specifically, the tool identifier that was added to the message at block 576 is obtained, and the one of sockets 306 that is mapped to the tool identifier is selected. At block 584 , the socket layer 354 processing is performed to send the message to one of the tool control elements 110 a-d
  • the tool identifier is used to identify a task identifier, which in turn is used as input to a process group look-up function.
  • the process group look-up function returns the address of the first tier application 102 .
  • a message originates at the first tier application, for example a Workstream session, and is encoded into a Reliable Distributed Object (RDO) format message.
  • RDO Reliable Distributed Object
  • This message contains the process information for a particular lot or batch of lots of semiconductor wafers.
  • the message is then broadcast using ISIS to a waiting second tier application, for example an equipment interface computer, for the particular tool being controlled.
  • the second tier application receives and decodes the RDO message and creates an application specific Smalltalk object.
  • the Smalltalk object is then accessed to gather the necessary information that governs how the tool is to process the next lot or batch of wafers.
  • SECS semiconductor equipment communication standard
  • the present invention is applicable to a number of different multi-tier computing arrangements. Accordingly, the present invention should not be considered limited to the particular examples described above, but rather should be understood to cover all aspects of the invention as fairly set out in the attached claims. Various modifications, equivalent structures, as well as numerous structures to which the present invention may be applicable will be readily apparent to those of skill in the art upon review of the present specification. The claims are intended to cover such modifications and devices.

Abstract

A system and method for providing inter-tier application control in a multi-tiered computer computing environment. In an example embodiment for a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements, connection identifiers that respectively reference connections between the second tier application program and the third tier control elements are associated with respective third tier control element identifiers. When the second tier application program receives a message from the first tier application program, mapping software indicates to the second tier application program a third tier control element identifier based on the message. A control message generated by the second tier application program is transmitted to a third tier control element based on the indicated third tier control element identifier and the associated connection.

Description

FIELD OF THE INVENTION
The present invention is generally directed to computer controlled manufacturing systems, and more particularly to control of application programs in a multi-tiered computing arrangement.
BACKGROUND OF THE INVENTION
Early computer controlled manufacturing arrangements, for example, those for manufacturing semiconductors, generally included a central computer system for controlling the overall factory floor. Coupled to the central computer system, via a network for example, were satellite computers programmed for respectively controlling selected tools. The tools were often directly coupled to serial or parallel ports or special adapter cards of the satellite computers.
The early systems generally controlled a single tool with a single satellite computer. Thus, a single process running on the single computer provided communication between the central computer system and the single tool. As manufacturing output requirements increased, additional tools were coupled to the satellite computers. To establish the required communications between the central computer system and the newly added tools without incurring undesirable delays associated with developing new software, replicated processes were used. Specifically, for each tool coupled to a satellite computer, a respective process executing on the satellite computer provided the necessary communication interface between the central computer system and the tool.
The total commuter and human resources consumed by adding new processes each time new tools are coupled to satellite computers has become significant. Generally, the resource requirements are some function of the number of satellite computers and the number of tools. Thus, in a large manufacturing arrangement, the resource requirements can be considerable. Therefore, a system and method that addresses the above identified problems is desirable.
SUMMARY OF THE INVENTION
In one embodiment, a method is provided for inter-tier application control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program. The method comprises associating connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers. For messages that are sent from the first tier application program to the second tier application program to initiate processing sequences by the third tier control elements, respective third tier control element identifiers are indicated for the messages, The second tier application program performs application specific processing on the messages, and connections are selected for transmitting control messages to the third tier control elements based on the indicated third tier control element identifiers and the associated connection identifiers.
In another embodiment, a method comprises associating connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers and receiving a message from the first tier application program. A third tier control element identifier based on the message is indicated to the second tier application program, and the second tier application generates a control message. The control message is transmitted to a third tier control element via a selected connection that is based on the indicated third tier control element identifier and associated connection identifier.
An apparatus is provided for inter-tier application control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program. The apparatus comprises means for receiving messages from the first tier application by the second tier application; means for mapping messages received from the first tier application to respective connections between the second tier application and the third tier control elements) and means for transmitting control messages generated from the received messages to the third tier control elements via the respectively mapped connections.
In another embodiment, a multi-tier computing arrangement is provided that comprises: a first tier computer system arranged to host a first tier application program; a plurality of third tier control elements; and a second tier computer system coupled to the first tier computer system and to the third tier control elements and arranged to host a second tier application program. The second tier application program includes: a first connection layer arranged to receive messages from the first tier application program; a first mapping layer arranged to indicate to the second tier application program a third tier control element identifier based on the message and associate connection identifiers that respectively reference connections between the second tier application program and the third tier control elements with respective third tier control element identifiers; a core logic layer arranged to generate a control message; a second is mapping layer arranged to select a connection to a third tier control element based on the indicated third tier control element identifier and associated connection identifier; and a second connection layer arranged to transmit the control message via the selected connections.
The above summary of the present invention is not intended to describe each illustrated embodiment or every implementation of the present invention. The figures and the detailed description which follow more particularly exemplify these embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention may be more completely understood upon consideration of the following detailed description of various embodiments of the invention in connection with the accompanying drawings, in which:
FIG. 1 illustrates a computer controlled manufacturing arrangement in which multiple levels of application programs control the manufacturing process;
FIG. 2 is a block diagram of a prior art computer controlled manufacturing arrangement in which an instance of a first tier application executing on computer system interacts with multiple instances of a second tier application executing on computer system to control a manufacturing process;
FIG. 3 is a block diagram of a computer controlled manufacturing arrangement according to an example embodiment of the invention;
FIG. 4 is a block diagram of layers of software with which the core logic of the second tier application interacts in communicating with the first tier application and the tool is control element;
FIG. 5 is a flowchart of processing performed for initialization of mappings of sockets used by the second tier application for communication with the first tier application and with the tool control elements according to an example embodiment of the invention;
FIG. 6 is a flowchart that shows the processing performed when the second tier application receives a message from the first tier application, according to an example embodiment of the invention; and
FIG. 7 is a flowchart that shows the processing performed when the second tier application receives a message from one of the tool control elements, according to an example embodiment of the invention.
While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
DETAILED DESCRIPTION
The present invention is believed to be applicable to a variety of multi-tiered computing arrangements. The invention has been found to be particularly advantageous in a computer controlled semiconductor manufacturing arrangement in which multiple levels of application programs executing on various computer systems interact in the manufacturing process. While the present invention is not so limited, an appreciation of various aspects of the invention is beat gained through a discussion of various example applications described below.
Referring first to FIG. 1, a computer controlled manufacturing arrangement 100 is shown in which multiple levels of application programs control the manufacturing process. A first tier application 102 executes on a computer system 104, a second tier application 106 executes on a computer 108, and tool control elements 110 a-d control operation of the respective manufacturing tools 112 a-d. In an example embodiment, the first tier application 102 is manufacturing control software such as Workstream software that is commercially available from Consilium. The second tier application 106 is tailored to the specific needs of the manufacturing arrangement 100 and the particular tools 112 a-d to be controlled. For example, the tools 112 a-d are TEL-ALPHA-VII vertical furnaces that are available from Tokyo Electron Limited. The second tier application generally makes decisions based on selected business rules and then directs the tool to perform certain tasks in a specified order. An example computer controlled manufacturing arrangement in which the present invention may be embodied is described in U.S. Pat. No. 5,751,581 to Tau et al., entitled, “MATERIAL MOVEMENT SERVER,” and herein incorporated by reference.
The tool control elements 110 a-d of tools 112 a-d may be viewed as third tier application programs and may be embodied in various forms depending on the particular tool. For example, a tool control element may be a programmed microprocessor that is coupled to the second tier application 106 via a network 114, wherein the second tier application 106 and tool control elements 110 a-d communicate according to the TCP/IP. Alternatively, the second tier application 106 and tool control elements 110 a-d may communicate via RS-232 using the SECS protocol.
While not shown, it will be appreciated that the manufacturing arrangement 100 may include additional machines, tools, control programs, and computer systems according to particular manufacturing requirements. For example, the arrangement 100 may include a track system for transporting material and work-pieces between tools. The arrangement may also include additional tools for performing other functions such as for etching, testing, and inspecting semiconductors.
FIG. 2 is a block diagram of a prior art computer controlled manufacturing arrangement 200 in which an instance of a first tier application 102 executing on computer system 104 interacts with multiple instances 106 a-d of a second tier application executing on computer system 108 to control a manufacturing process. Interaction between the first tier application 102 and the tool control elements 110 a-d occurs via respective instances 106 a-d of the second tier application. The instances 106 a-d of the second tier application are processes that execute on the system 108, each operating out of its own memory space. Example “processes” are those supported by the UNIX operating system.
In the example arrangement 200, the tool control elements 110 a-d are generally identical and control generally identical tools (not shown). Thus, the core logic 201 a-d of the instances 106 a-d of the second tier application are essentially identical, wherein the core logic refers to the manufacturing control functions performed by the application.
Each of the instances 106 a-d of the second tier application manages two sockets, one for communicating with the first tier application 102 and one for communicating with one of tool control elements 110 a-d. Such sockets can be TCP/IP sockets to support two-way communication, for example. To illustrate, instance 106 b manages a socket 202 to communicate with the first tier application 102 via socket 204 of the first tier application. Bi-directional line 206 illustrates the two-way communication. Similarly, instance 106 b manages socket 208 to communicate with tool 110 b. While not shown, it will be appreciated that the tool control elements 110 a-d include compatible software and circuitry for socket-based communication with the instances 106 a-d of the second tier application.
For the first tier application 102 to interact with one of the tool control elements, e.g., 110 b, the first tier application 102 selects the socket, i.e., 204, to communicate with the instance 106 b of the second tier application that is dedicated to interacting with the tool control element 110 b. The first tier application 102 then sends a message via socket 204 to the instance 106 b of the second tier application. For the purpose of communicating with tool control element 110 b, the instance 106 b, being dedicated to tool control element 110 b, does not need tool identification information in the message from the first tier application 102.
The multiple instances 106 a-d of the second tier application can create problems in administering the computer system 108. Specifically, memory demands of the multiple instances may necessitate a system that is prohibitively expensive. In addition, secondary storage needs (for example, hard disk space) for respective files used by the instances 106 a-d may require excessive operator support for tracking the files.
FIG. 3 is a block diagram of a computer controlled manufacturing arrangement according to an example embodiment of the invention. A single instance 302 of the second tier application 106 manages communications with the first tier application 102 and the tool control elements 110 a-d The single instance 302 reduces memory requirements and avoids unnecessary duplication of files.
In the arrangement 300 where there is a single instance 302 of the second tier application, for a message from the first tier application 102 to be processed and sent to one of the tool control elements, e.g., 110 b, there must be an association between the sockets 306 and the respective tool control elements 110 a-d, as well as an association between the sockets 308 and the respective tool control elements 110 a-d. The association of sockets to tools is required because the core logic of the second tier application does not require nor does it provide an indication of a desired tool control element for a particular message from the first tier application 102.
The embodiment of FIG. 3 includes multiple corresponding sockets between the first tier application 102 and the second tier application 302. Specifically, sockets 310 of the first tier application 102 correspond to sockets 306 of the second tier application 302, respectively. In an alternate embodiment where the first tier application 102 and the second tier application 302 communicate via the ISIS message bus, a single socket is used for communication between the first and second tier applications, and message identifiers and task entry points are used for routing messages.
FIG. 4 is a block diagram of layers of software with which the core logic 352 of the second cite application 106 interacts in communicating with the first tier application 102 and the tool control element 110. A socket layer 354 provides a socket based interface for the second tier application 106 to the first tier application 102. In an example embodiment, the socket layer is comprised of an application embodied in Smalltalk software from Object Share. Similarly, the socket layer 356 provides a socket based interface for the second tier application to the tool control element 110.
To achieve the single instance of the second tier application 302 as shown in FIG. 3, two layers of mapping logic 358 and 360 are provided between the core logic 352 and the socket layers 354 and 356, respectively. Mapping logic 358 maps sockets used by the second tier application 106 to communicate with the first tier application 102 to respective tools. To illustrate, reference is made back to FIG. 2. In FIG. 2, recall that socket 202 is used by the first tier application 102 to communicate with tool control element 110 b for controlling tool 112 b. Relative to the present invention, mapping logic 360 maps tools to sockets that are used to communicate with the tool control elements 110 a-d. The socket 208 of FIG. 2, for example, would be mapped to the tool controlled by tool control element 110 b.
FIG. 5 is a flowchart of processing performed for initialization of mappings of sockets used by the second tier application 302 for communication with the first tier application 102 and with the tool control elements 110 a-d according to an example embodiment of the invention. At block 502, socket connections are established between the second tier application 302 and the first tier application 102. Because the first tier application 102 uses respective dedicated sockets for controlling the tools 112 a-d, the second tier application 302 establishes corresponding sockets 306 . In the ISIS embodiment, the first and second tier application each create a single socket for communication, and no first tier mappings are required.
At block 504, the socket connections are “mapped” to or “associated” with respective tool control identifiers, as shown below, for example:
socketfirst tier 1 --> tool A
socketfirst tier 2 --> tool B
socketfirst tier 3 --> tool C
.
.
.
socketfirst tier n --> tool X
The notation “socketfirst tier” refers to the sockets 306 of the second tier application that are used for communication with the first tier application 102, The mapping is used by the mapping logic layer 358 to identify the one of tools A-X for which a message from the first tier application 102 is intended. In the ISIS implementation, respective entry points are created for the different tools.
Respective socket connections 308 are established at block 506 for providing communication between the second tier application 302 and the tool control elements 110 a-d. At block 508, the tool identifiers are respectively mapped to the sockets 308 used for communication with the tools as shown below, for example:
tool A --> sockettool 1
tool B --> sockettool 2
tool C --> sockettool 3
.
.
.
tool X --> sockettool n
This map is used by the second tier application 302 select a sockettool for communication with one of tool control elements 110 a-d after having received and processed a message from the first tier application 102.
FIG. 6 is a flowchart that shows the processing performed when the second tier application 302 receives a message from the first tier application 102, according to an example embodiment of the invention. At block 532 a message is received via conventional socket layer 354 processing. Blocks 534 and 536 comprise actions performed by the mapping logic layer 358. Specifically, the tool identifier that is mapped to the one of sockets 306 over which a message was received is obtained from the map and added to the message. The identifier can be inserted in an unused portion of a packet containing the message or appended to the end of the message so as to be ignored by the second tier application core logic 352.
In the ISIS embodiment, tasks are associated with entry points in the second tier application core logic 352 for the respective tools. Thus, based on the task referenced in the message, the associated tool identifier is inserted in the message.
The processing of the core logic 352 is performed at block 538. Blocks 540 and 542 comprise actions performed by the mapping logic layer 360. Specifically, the tool identifier that was added to the message at block 536 is obtained, and the one of sockets 308 that is mapped to the tool identifier is selected. At block 544, the socket layer 356 processing is performed to send the message to one of the tool control elements 110 a-d.
FIG. 7 is a flowchart that shows the processing performed when the second tier application 302 receives a message from one of the tool control elements 110 a-d, according to an example embodiment of the invention. At block 572 a message is received via conventional socket layer 356 processing. Blocks 574 and 576 comprise actions performed by the mapping logic layer 360. Specifically, the tool identifier that is mapped to the one of sockets 308 over which a message was received is obtained from the map and added to the message. The identifier can be inserted in an unused portion of a packet containing the message or appended to the end of the message so as to be ignored by the second tier application core logic 352.
The processing of the core logic 352 is performed at block 578. It will be appreciated that in most circumstances a message from one of the tool control elements 110 a-d will not result in a message being sent outside the second tier application core logic 352. In these cases, no further processing occurs relative to the invention. However, some messages from the tool control elements 110 a-d will result in further messages sent from the second tier application 302 to the first tier application 102, in which case the processing shown by blocks 580 and 582 occurs.
Blocks 580 and 582 comprise actions performed by the mapping logic layer 358. Specifically, the tool identifier that was added to the message at block 576 is obtained, and the one of sockets 306 that is mapped to the tool identifier is selected. At block 584, the socket layer 354 processing is performed to send the message to one of the tool control elements 110 a-d
In the ISIS embodiment, the tool identifier is used to identify a task identifier, which in turn is used as input to a process group look-up function. The process group look-up function returns the address of the first tier application 102.
In a particular example ISIS embodiment, a message originates at the first tier application, for example a Workstream session, and is encoded into a Reliable Distributed Object (RDO) format message. This message contains the process information for a particular lot or batch of lots of semiconductor wafers. The message is then broadcast using ISIS to a waiting second tier application, for example an equipment interface computer, for the particular tool being controlled.
The second tier application receives and decodes the RDO message and creates an application specific Smalltalk object. The Smalltalk object is then accessed to gather the necessary information that governs how the tool is to process the next lot or batch of wafers. Once the application specific rules of the second tier application have been applied to determine what action to perform, the appropriate information is sent to a tool control element in a semiconductor equipment communication standard (SECS) message. The message is streamed to the tool control element via an RS-232 communication link.
As noted above, the present invention is applicable to a number of different multi-tier computing arrangements. Accordingly, the present invention should not be considered limited to the particular examples described above, but rather should be understood to cover all aspects of the invention as fairly set out in the attached claims. Various modifications, equivalent structures, as well as numerous structures to which the present invention may be applicable will be readily apparent to those of skill in the art upon review of the present specification. The claims are intended to cover such modifications and devices.

Claims (13)

What is claimed is:
1. A multi-tier computing arrangement, comprising:
a first tier computer system arranged to host a first tier application program;
a plurality of third tier control elements for controlling manufacturing tools; and
a second tier computer system coupled to the first tier computer system and to the third tier control elements and arranged to host a second tier application program, wherein the second tier application program includes
a first connection layer arranged to receive messages from the first tier application program;
a first mapping layer arranged to associate tool identifiers that respectively identify the manufacturing tools with connections between the first tier application program and the second tier application program and store the tool identifiers in portions of the messages unused by the second tier application;
a core logic layer arranged to process the messages;
a second mapping layer arranged to select connections for transmitting the messages to the third tier control elements based on the tool identifiers in the messages and associated connections with the third tier control elements; and
a second connection layer arranged to transmit the messages to the third tier control elements via the selected connections.
2. The system of claim 1, wherein the first tier application program is coupled to the second tier application program via a TCP/IP socket connection.
3. The system of claim 2, wherein the second tier application program is coupled to the third tier control elements via respective SECS interface connections.
4. The system of claim 1, wherein the first tier application program is a manufacturing execution system application.
5. The system of claim 4, wherein the second tier application program is an object oriented application.
6. An apparatus for inter-tier application control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements coupled to manufacturing tools, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program, comprising:
means for associating tool identifiers that respectively identify the manufacturing tools with connections between the first tier application program and the second tier application program;
means for associating the tool identifiers with connections between the second tier application program and the third tier control elements;
means for receiving messages from the first tier application by the second tier application;
means for obtaining tool identifiers by reference to the associated connections over which messages are received and storing the tool identifiers in portions of the messages unused by the second tier application;
means for selecting connections for transmitting the messages to the third tier control element based on the tool identifiers in the messages and associated connections with the third tier control elements; and
means for transmitting the messages to the third tier control elements.
7. A method for inter-tier control in a multi-tier computing environment that includes a first tier application program, a second tier application program, and a plurality of third tier control elements coupled to manufacturing tools, wherein the second tier application program initiates processing of the third tier control element in response to messages from the first tier application program, comprising:
associating tool identifiers that respectively identify the manufacturing tools with connections between the first tier application program and the second tier application program;
associating the tool identifiers with connections between the second tier application program and the third tier control elements; and
for a message sent from the first tier application program to the second tier application program to initiate a processing sequence by a third tier control element, obtaining a tool identifier by reference to the associated connection over which the message was received, storing the tool identifier in a portion of the message unused by the second tier application, performing second tier application processing on the message, and selecting a connection for transmitting the message to the third tier control element based on the tool identifier in the message and an associated connection with one of the third tier control elements.
8. The method claim 7, further comprising, for a message sent from the third tier control elements to the second tier application program to be acted upon by the first tier application program, obtaining a tool identifier by reference to the associated connection over which the message was received, storing the tool identifier in a portion of the message unused by the second tier application, performing second tier application processing on the message, and selecting a connection for transmitting the message to the first tier application program based on the tool identifier in the message and an associated connection with the first tier application program.
9. The method claim 8, wherein the connections between the first tier application program and the second tier application program are TCP/IP socket connections.
10. The method claim 9, wherein the connections between the second tier application program and the third tier control elements are SECS interface connections.
11. The method claim 9, wherein the connections between the second tier application program and the third tier control elements are TCP/IP socket connections.
12. The method claim 7, wherein the connections between the second tier application program and the third tier control elements are SECS interface connections.
13. The method claim 7, further comprising:
instantiating on a first computer system a process for the first tier application program; and
instantiating on a second computer system a single process for the second tier application program.
US09/126,262 1998-07-30 1998-07-30 Method and system for providing inter-tier application control in a multi-tiered computing environment Expired - Lifetime US6349341B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/126,262 US6349341B1 (en) 1998-07-30 1998-07-30 Method and system for providing inter-tier application control in a multi-tiered computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/126,262 US6349341B1 (en) 1998-07-30 1998-07-30 Method and system for providing inter-tier application control in a multi-tiered computing environment

Publications (1)

Publication Number Publication Date
US6349341B1 true US6349341B1 (en) 2002-02-19

Family

ID=22423881

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/126,262 Expired - Lifetime US6349341B1 (en) 1998-07-30 1998-07-30 Method and system for providing inter-tier application control in a multi-tiered computing environment

Country Status (1)

Country Link
US (1) US6349341B1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026514A1 (en) * 2000-02-01 2002-02-28 Ellis Raymond Walter Automated tool management in a multi-protocol environment
US20030061335A1 (en) * 1999-09-16 2003-03-27 Thomas Robert P. Virtual modular relay device
US20030097488A1 (en) * 2001-11-21 2003-05-22 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
US20030144987A1 (en) * 2002-01-14 2003-07-31 Richard Marejka System and method for database design
US20040205769A1 (en) * 2003-02-05 2004-10-14 Ruutu Jussi Pekka System and method for identifying applications targeted for message receipt in devices utilizing message queues
US6846684B1 (en) 2002-12-11 2005-01-25 Advanced Micro Devices, Inc. Integrated enterprise resource planning and manufacturing system
US20050114640A1 (en) * 2003-11-17 2005-05-26 International Business Machines Corporation Method and system for efficiently binding a customer order with a processing system assembly in a manufacturing environment
US6940813B2 (en) 2003-02-05 2005-09-06 Nokia Corporation System and method for facilitating end-to-end quality of service in message transmissions employing message queues
US7051336B1 (en) 2002-02-28 2006-05-23 Advanced Micro Devices Use of inheritance to allow concurrent programming
US20060235554A1 (en) * 2005-04-15 2006-10-19 Ray Ellis Automated job management
US20060277289A1 (en) * 2000-02-01 2006-12-07 Charles Bayliss Multi-protocol multi-client equipment server
US20070168728A1 (en) * 2005-11-21 2007-07-19 Blouin Eric E Automated context-sensitive operating system switch
US7284120B2 (en) 2003-11-17 2007-10-16 Lenovo (Singapore) Pte. Ltd. Method and system for allowing a system under test (SUT) to boot a plurality of operating systems without a need for local media
US20070245005A1 (en) * 2006-04-18 2007-10-18 Banerjee Dwip N Method and data processing system for managing a plurality of interfaces
US20080034376A1 (en) * 2001-07-05 2008-02-07 Asyst Technologies, Inc. Automated Tool Management in a Multi-Protocol Environment
US7506358B1 (en) * 1999-12-09 2009-03-17 Cisco Technology, Inc. Method and apparatus supporting network communications through a firewall
US20090199159A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Declarative execution context splitting
US7870275B1 (en) 2002-02-28 2011-01-11 Globalfoundries Inc. Communication scheme-independent infrastructure
US8028049B1 (en) 2000-02-01 2011-09-27 Peer Intellectual Property Inc. Apparatus and method for web-based tool management

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01273108A (en) * 1988-04-26 1989-11-01 Fanuc Ltd Connecting device for nc machine tool
US4972367A (en) * 1987-10-23 1990-11-20 Allen-Bradley Company, Inc. System for generating unsolicited messages on high-tier communication link in response to changed states at station-level computers
WO1992007331A1 (en) * 1990-10-16 1992-04-30 Consilium, Inc. Object-oriented architecture for factory floor management
JPH0766096A (en) * 1993-08-26 1995-03-10 Toshiba Corp Apparatus for managing manufacture of semiconductor
US5432702A (en) * 1994-06-17 1995-07-11 Advanced Micro Devices Inc. Bar code recipe selection system using workstation controllers
US5475601A (en) * 1994-02-15 1995-12-12 Emhart Glass Machinery Investments Inc. Control for glassware forming system including bidirectional network gateway
US5548535A (en) * 1994-11-08 1996-08-20 Advanced Micro Devices, Inc. Monitor utility for use in manufacturing environment
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
US5790977A (en) * 1997-02-06 1998-08-04 Hewlett-Packard Company Data acquisition from a remote instrument via the internet
US5805823A (en) * 1996-01-30 1998-09-08 Wayfarer Communications, Inc. System and method for optimal multiplexed message aggregation between client applications in client-server networks
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system
US5886896A (en) * 1996-11-19 1999-03-23 Advanced Micro Devices, Inc. Method and apparatus for integrated control of a sensor in a manufacturing processing station
US5978578A (en) * 1997-01-30 1999-11-02 Azarya; Arnon Openbus system for control automation networks
US6070196A (en) * 1994-02-02 2000-05-30 Mitsubishi Semiconductor America, Inc. Protocol converter controller having distributed architecture
US6112246A (en) * 1998-10-22 2000-08-29 Horbal; Mark T. System and method for accessing information from a remote device and providing the information to a client workstation
US6163801A (en) * 1998-10-30 2000-12-19 Advanced Micro Devices, Inc. Dynamic communication between computer processes
US6208904B1 (en) * 1994-02-02 2001-03-27 Mitsubishi Electric & Electronics Usa, Inc General purpose data communications protocol converter
US6233203B1 (en) * 1998-07-09 2001-05-15 Seiko Instruments Inc. Electronic timepiece
US6240331B1 (en) * 1998-02-03 2001-05-29 Samsung Electronics Co., Ltd. Integrated management of semiconductor process data

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972367A (en) * 1987-10-23 1990-11-20 Allen-Bradley Company, Inc. System for generating unsolicited messages on high-tier communication link in response to changed states at station-level computers
JPH01273108A (en) * 1988-04-26 1989-11-01 Fanuc Ltd Connecting device for nc machine tool
WO1992007331A1 (en) * 1990-10-16 1992-04-30 Consilium, Inc. Object-oriented architecture for factory floor management
JPH0766096A (en) * 1993-08-26 1995-03-10 Toshiba Corp Apparatus for managing manufacture of semiconductor
US6208904B1 (en) * 1994-02-02 2001-03-27 Mitsubishi Electric & Electronics Usa, Inc General purpose data communications protocol converter
US6070196A (en) * 1994-02-02 2000-05-30 Mitsubishi Semiconductor America, Inc. Protocol converter controller having distributed architecture
US5475601A (en) * 1994-02-15 1995-12-12 Emhart Glass Machinery Investments Inc. Control for glassware forming system including bidirectional network gateway
US5432702A (en) * 1994-06-17 1995-07-11 Advanced Micro Devices Inc. Bar code recipe selection system using workstation controllers
US5548535A (en) * 1994-11-08 1996-08-20 Advanced Micro Devices, Inc. Monitor utility for use in manufacturing environment
US5805823A (en) * 1996-01-30 1998-09-08 Wayfarer Communications, Inc. System and method for optimal multiplexed message aggregation between client applications in client-server networks
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system
US5886896A (en) * 1996-11-19 1999-03-23 Advanced Micro Devices, Inc. Method and apparatus for integrated control of a sensor in a manufacturing processing station
US5978578A (en) * 1997-01-30 1999-11-02 Azarya; Arnon Openbus system for control automation networks
US5790977A (en) * 1997-02-06 1998-08-04 Hewlett-Packard Company Data acquisition from a remote instrument via the internet
US6240331B1 (en) * 1998-02-03 2001-05-29 Samsung Electronics Co., Ltd. Integrated management of semiconductor process data
US6233203B1 (en) * 1998-07-09 2001-05-15 Seiko Instruments Inc. Electronic timepiece
US6112246A (en) * 1998-10-22 2000-08-29 Horbal; Mark T. System and method for accessing information from a remote device and providing the information to a client workstation
US6163801A (en) * 1998-10-30 2000-12-19 Advanced Micro Devices, Inc. Dynamic communication between computer processes

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061335A1 (en) * 1999-09-16 2003-03-27 Thomas Robert P. Virtual modular relay device
US7047274B2 (en) * 1999-09-16 2006-05-16 General Electric Company Virtual modular relay device
US7506358B1 (en) * 1999-12-09 2009-03-17 Cisco Technology, Inc. Method and apparatus supporting network communications through a firewall
US10007256B2 (en) 2000-02-01 2018-06-26 Peer Intellectual Property Inc. Multi-protocol multi-client equipment server
US20020026514A1 (en) * 2000-02-01 2002-02-28 Ellis Raymond Walter Automated tool management in a multi-protocol environment
US7403984B2 (en) * 2000-02-01 2008-07-22 Asyst Technologies, Inc. Automated tool management in a multi-protocol environment
US20060277289A1 (en) * 2000-02-01 2006-12-07 Charles Bayliss Multi-protocol multi-client equipment server
US9785140B2 (en) 2000-02-01 2017-10-10 Peer Intellectual Property Inc. Multi-protocol multi-client equipment server
US8028049B1 (en) 2000-02-01 2011-09-27 Peer Intellectual Property Inc. Apparatus and method for web-based tool management
US7756963B2 (en) 2001-07-05 2010-07-13 PEER Intellectual Property, Inc. Automated tool management in a multi-protocol environment
US20080034376A1 (en) * 2001-07-05 2008-02-07 Asyst Technologies, Inc. Automated Tool Management in a Multi-Protocol Environment
US7822814B2 (en) 2001-11-21 2010-10-26 International Business Machines Corporation Determining on demand right size buffering within a socket server implementation
US20080177973A1 (en) * 2001-11-21 2008-07-24 Mark Linus Bauman Determining on demand right size buffering within a socket server implementation
US20030097488A1 (en) * 2001-11-21 2003-05-22 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
US7054925B2 (en) * 2001-11-21 2006-05-30 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
US20030144987A1 (en) * 2002-01-14 2003-07-31 Richard Marejka System and method for database design
US7051336B1 (en) 2002-02-28 2006-05-23 Advanced Micro Devices Use of inheritance to allow concurrent programming
US7870275B1 (en) 2002-02-28 2011-01-11 Globalfoundries Inc. Communication scheme-independent infrastructure
US6846684B1 (en) 2002-12-11 2005-01-25 Advanced Micro Devices, Inc. Integrated enterprise resource planning and manufacturing system
US6940813B2 (en) 2003-02-05 2005-09-06 Nokia Corporation System and method for facilitating end-to-end quality of service in message transmissions employing message queues
WO2004070504A3 (en) * 2003-02-05 2005-04-21 Nokia Corp System and method for identifying applications targeted form message receipt in devices utilizing message queues
US7493623B2 (en) 2003-02-05 2009-02-17 Nokia Corporation System and method for identifying applications targeted for message receipt in devices utilizing message queues
US20040205769A1 (en) * 2003-02-05 2004-10-14 Ruutu Jussi Pekka System and method for identifying applications targeted for message receipt in devices utilizing message queues
US20050114640A1 (en) * 2003-11-17 2005-05-26 International Business Machines Corporation Method and system for efficiently binding a customer order with a processing system assembly in a manufacturing environment
US7284120B2 (en) 2003-11-17 2007-10-16 Lenovo (Singapore) Pte. Ltd. Method and system for allowing a system under test (SUT) to boot a plurality of operating systems without a need for local media
US7873428B2 (en) 2005-04-15 2011-01-18 PEER Intellectual Property, Inc. Automated job management
US20060235554A1 (en) * 2005-04-15 2006-10-19 Ray Ellis Automated job management
US7853926B2 (en) 2005-11-21 2010-12-14 International Business Machines Corporation Automated context-sensitive operating system switch
US20070168728A1 (en) * 2005-11-21 2007-07-19 Blouin Eric E Automated context-sensitive operating system switch
US20070245005A1 (en) * 2006-04-18 2007-10-18 Banerjee Dwip N Method and data processing system for managing a plurality of interfaces
US20090199159A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Declarative execution context splitting

Similar Documents

Publication Publication Date Title
US6349341B1 (en) Method and system for providing inter-tier application control in a multi-tiered computing environment
EP0880741B1 (en) Method and apparatus for connecting a client node to a server node based on load levels
US5727142A (en) Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US5517488A (en) Method of load distribution for message processing in host system in local area network
US7260599B2 (en) Supporting the exchange of data by distributed applications
US5802258A (en) Loosely coupled system environment designed to handle a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US7554992B2 (en) Mobile device communications system and method
US7711831B2 (en) Methods, systems and computer program products for source address selection
US7379419B2 (en) Apparatus and method for performing an online software upgrade of resource servers
US7401114B1 (en) Method and apparatus for making a computational service highly available
CN101350818B (en) Intelligent load balancing and failover of network traffic
US7567505B2 (en) VRRP technology keeping VR confidentiality
US7139805B2 (en) Scalable java servers for network server applications
US20010039593A1 (en) Concentrated system for controlling network interconnections
US6965911B1 (en) Efficiently exporting local device access onto a system area network using a direct-call interface
KR100854262B1 (en) Interprocessor communication protocol
CN112968965A (en) Metadata service method, server and storage medium for NFV network node
EP1258127B1 (en) Method and apparatus for making a computational service highly available
CN114553707B (en) Method and device for generating topology information of network and delimiting network faults
KR100498258B1 (en) Communication system of tree type structure and method of the same
JPH1027146A (en) Communication processor and its method
CN111240867A (en) Information communication system and method
JP2000029806A (en) Lan adaptor load distribution system for computer system
JPH07302237A (en) Server-client type system
JP3487430B2 (en) Server application multiplex communication system

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANCED MICRO DEVICES, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIKES, DONALD CRAIG;REEL/FRAME:009355/0937

Effective date: 19980729

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12