US7490157B2 - System and method for defining interface of manufacture execution system - Google Patents

System and method for defining interface of manufacture execution system Download PDF

Info

Publication number
US7490157B2
US7490157B2 US10/666,715 US66671503A US7490157B2 US 7490157 B2 US7490157 B2 US 7490157B2 US 66671503 A US66671503 A US 66671503A US 7490157 B2 US7490157 B2 US 7490157B2
Authority
US
United States
Prior art keywords
file
xml
mes
server
idl
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 - Fee Related, expires
Application number
US10/666,715
Other versions
US20040187137A1 (en
Inventor
Hwa Shin Huang
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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
Assigned to TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD. reassignment TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HUANG, HWA SHIN
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of US20040187137A1 publication Critical patent/US20040187137A1/en
Application granted granted Critical
Publication of US7490157B2 publication Critical patent/US7490157B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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/03Protocol definition or specification 
    • 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/328Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • This invention relates to Manufacturing Executing Systems (MES) and, more particularly, to a protocol used to communicate between servers and clients operating in a MES environment.
  • MES Manufacturing Executing Systems
  • IDL Interface Definition Language Generally refers to the OMG/CORBA IDL. Used to define interfaces to objects. Defines the types of objects according to the operations that may be performed on them and the parameters to those operations. This is similar to a C++ header file.
  • an IDL compiler generates “stubs” that can be called by client code and skeletons for implementing server code. IDL compilers exist to map the IDL definitions into various languages: C, C++, Smalltalk, Java.
  • MES Manufacturing Execution Systems OMG Object Management Group
  • SEMATECH SEmiconductor MAnufacturing TECHnology an international research consortium in which member companies cooperate precompetitively in key areas of semiconductor technology, sharing expenses and risk with the common aim of accelerating development of advanced manufacturing technologies.
  • MES integrated Manufacturing Execution System
  • OMG Object Management Group
  • XML eXtensible Markup Language a W3C proposed recommendation. Like HTML, XML is a simplified profile of SGML, for creating markup languages.
  • HTML Hyper Text Markup Language uses a single SGML document type, with a fixed set of element type names, i.e., “tag names,” such as “html”, “body”, “h1”, “o1”.
  • tag names such as “html”, “body”, “h1”, “o1”.
  • SGML An International Standard (ISO 8879)
  • the overall control of the tools in the foundry is by a central computer or server having a Manufacturing Execution System (MES) tool control system.
  • the central server has the information regarding each customer job that is currently being processed and ensures that each tool is performing the correct operation and in the appropriate sequence.
  • This server communicates with users that monitor and control the production flow and operations on individual client workstations.
  • a MES of the type suitable for this purpose is sold under the model name SiView and is published by International Business Machine Corp. (IBM) of Armonk, N.Y. SiView and IBM are registered trademarks of the IBM Corporation.
  • CORBA Common Object Request Broker Architecture
  • IDL files 115 , 115 a , 115 b , etc. adds complexity and additional overhead to the communication pathway.
  • a server may initially provide for the monitoring of two functions, such as “lot track in” and “lot track out,” wherein “lot track in” may be representative of a monitoring function that monitors the input of a product lot and “lot track out” may be representative of a monitoring function that monitors the output of the production lot.
  • the IDL file contains two methods.
  • functions such as “lot information inquiry,” “operation history inquiry,” “tool information inquiry,” “lot running hold” may be functions that are desired and added.
  • One method of organizing these new functions may be to develop categories of operations that include one IDL file per category.
  • categories may be represented as:
  • an IDL file associated with Category 1 may monitor or track the input and output of material, for example.
  • Category 2 may include an IDL file for a “query of lot information” or a “lot operation history.”
  • Category 3 may include an IDL file for setting or resetting the operation mode of a tool or for requesting a “tool operational status.”
  • Category 4 may include an IDL file for flow management or route settings and
  • Category 5 may include an IDL file for modeling individual recipes.
  • an IDL file may become diverse and complex as new functions are added to the file.
  • an IDL file entitled “File A” associated with category 1: (version 1.0)
  • IDL file File A
  • File A may be modified as:
  • the IDL file entitled “File A1,” may be represented as:
  • a system and method for defining the interface of a manufacturing execution (MES).
  • MES Manufacturing execution
  • XML Extensible Markup Language
  • IDL Interface Definition Language
  • SiView MES SiView MES
  • IFR Interface Repositories
  • an XML schema file is used for validating the contents of the XML output file.
  • the system for defining the MES interface to process a transaction between a server, having an MES, and a client through an XML file based on a communication protocol comprises an IDL file for executing a plurality of service objects of the MES, an XML tag set file, wherein the XML tag set file uses XML for defining interfaces of the plurality of service objects and an XML schema file, wherein the XML schema file is within a web server for validating an output content generated by executing IDL file and the XML tag set file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file.
  • an XML object is made more portable and not limited to a single communication pathway.
  • FIG. 1 is a system diagram of a conventional communication pathway
  • FIG. 2 a is a system diagram of a communication pathway according to the present invention.
  • FIG. 2 b is an alternate system diagram of a communication pathway according to the present invention.
  • FIG. 3 is an example of an IDL envelope expressed in “C” programming language source code
  • FIG. 4 is an exemplary structure for an XML schema in accordance with the principles of the invention.
  • FIG. 5 a is an example of a transaction structure within an XML schema disclosed in FIG. 4 ;
  • FIG. 5 b is an example of a header structure within an XML schema disclosed in FIG. 4 ;
  • FIG. 5 c is an example of a content structure within an XML schema disclosed in FIG. 4 .
  • FIG. 6 illustrates an exemplary XML schema for requesting information from a server in accordance with the principles of the invention.
  • FIG. 7 illustrates an exemplary XML schema for replying to the request for information shown in FIG. 6 .
  • FIG. 2 a illustrates an overview 200 of the use of XML in accordance with the principles of the present invention.
  • server 205 includes capability to use XML and IDL 115 .
  • XML information is passed through Web for XML schema validation 210 to client 220 .
  • Client 220 also includes capability to use XML to unwrap the transferred information.
  • FIG. 2 b illustrates an alternative MES communication system 250 in accordance with the principles of the present invention.
  • MES configuration 250 is shown including a server 205 and client 220 connected by a communication pathway 120 as previously discussed.
  • Server 205 and client 220 are adapted to generate objects using an XML protocol layer 207 and 227 while the communication pathway 120 transmits objects using an IDL protocol layer.
  • Protocol gateways 25 , 270 are provided between the communication pathway 120 and the client 205 and server 220 wherein XML object 260 , defined by the XML protocol, 207 for example, are stored in an IDL envelope 265 for transmission across the CORBA communication pathway 120 .
  • XML a world wide standard
  • IT vendors such as IBM, MICROSOFT and SUN MICROSYSTEMS
  • objects 260 can be defined a pure text, self-described form.
  • XML protocol layer 255 , 270 XML objects 260 can be shared using many other communication pathways such as TCP/IP 50 , TIBCO RV 52 and SOAP 54 without the need for conversion.
  • TCP/IP is well known in the networking art and is composed of layers, wherein “IP” is responsible for moving a packet of data from network node to network node by forwarding each packet based on a four byte destination address (e.g., the IP number) and “TCP” is responsible for verifying the correct delivery of data from client to server.
  • IP is responsible for moving a packet of data from network node to network node by forwarding each packet based on a four byte destination address (e.g., the IP number)
  • TCP is responsible for verifying the correct delivery of data from client to server.
  • the IDL file may be made invariant by describing one service that is to be provided by server 205 .
  • FIG. 3 illustrates XML object, entitled SiView_Transaction, expressed in “C” programming language, which includes a single text input and a single text output.
  • the input is an ASCII typed argument and the output is a string of ASCII characters.
  • the input and output are described in XML format.
  • a well-defined XML file is useful as the XML file infers the existence of a schema file that can perform content validation.
  • several IDL files used in an MES such as SiView, may be folded into a single well-defined XML file.
  • SiView there may be transactional based MES with almost all text content.
  • the objects may be more easily transformed or converted IDL to XML formats and gateways 255 , 270 , which may be performed by software routines on server 210 and the clients 220 , respectively, operating as separate units, can encapsulate the XML defined object into an IDL envelope.
  • FIG. 4 illustrates a schema structure 400 having a transaction region 410 that includes a header region 430 and a content region 450 .
  • the transaction region 410 includes information common to the transaction performed.
  • transaction region 410 may include information associated with identification 412 , an action 414 to be performed or a function identification 416 .
  • the transaction region 410 further includes information with regard to header region 430 and content region 450 .
  • Header region 430 includes information regarding a source, e.g., system 432 and node 434 , and information regarding any message, i.e., rc 436 or message identification 438 , that is required. Header 430 may further include information regarding a user, e.g. pwd 440 .
  • Content region 450 includes information regarding a particular production lot 452 .
  • lot 452 may include information regarding whether there is a hold status 454 request or a lot identification 456 .
  • other information referred to as any 2 , 452 , and any 3 , 454 may be defined.
  • FIG. 5 a illustrates an example of a transaction region 410 of a sample XML schema in accordance with the principles of the invention.
  • three attributes are identified, “id name” 510 , “action” 512 and “function id” 514 , that enables a user to provide input.
  • attribute “id name” is identified or typed as requiring a “string,” of conventional alphanumeric values that may be entered by a user or may be read from a file.
  • attributes “action” 512 and “function id” 514 are typed as requiring similar “string” inputs.
  • the element “transaction” 516 is identified as including the attributes “id name,” “action” and “function id”, which are represented as 510 ′, 512 ′ and 514 ′, respectively.
  • Transaction region 410 further defines the elements “Header” 520 and “Content” 540 , which are more fully explained with regard to FIG. 5 b and 5 c , respectively.
  • transaction region 410 may contain more than one transaction region, which is illustrated as 410 ′. Each transaction region may define different attribute types and header and content elements.
  • FIG. 5 b illustrates an example of a header element 430 of a sample XML schema in accordance with the principles of the invention.
  • the element “msg” 436 is identified and typed as including two attributes, “rc” and “msg_id,” which are represented as 432 ′ and 434 ′, respectively.
  • Attributes “rc” and “msg_id” are identified and typed, at 432 and 434 , respectively, as being “string” values.
  • the element “from” 438 is identified and typed as including two attributes, “node” and “sys”, represented as 440 ′ and 442 ′, respectively.
  • header element 410 further includes a user element 444 containing a single attribute “pwd”, represented as 446 ′. Attribute “pwd” is identified and typed as a “string” data type, represented as 446 .
  • the header element 430 ′ is next identified and typed as containing three elements, “from” 438 , “msg” 436 and “user” 444 , and one attribute “sno” 448 ′. Attribute “sno”, i.e., serial number, is identified and typed as a “string” data type 448 .
  • FIG. 5 b illustrates a similar structure for content element 450 .
  • content element 450 illustrated as 450 ′, includes a single element 452 ′, referred to as “lot”.
  • Element “lot” 452 is then identified and typed as including three elements, “any 3 ” 454 ′, any 2 , 456 ′ and “holdstate” 458 ′ and one attribute, “lot_id” 460 ′.
  • attribute “lot_id” 460 is used to provide information to the user and is identified and typed as a “string” data type.
  • elements “any 3 ” 454 , “any 2 ” 456 and “holdstate” 468 include a single attribute “txt”, shown as 460 ′. Attribute “txt” is identified as a “string” data type 460 .
  • FIG. 6 illustrates a schema 600 requesting a server to provide information regarding a specific “lot.”
  • transaction 610 includes three attributes, Transaction Id, Action and Func Id that are defined as “lotInfoInq”, “Inquery” and “0001”, respectively, at line 615 .
  • a Header section 620 includes a single attribute “sno” equal to “00100” at line 622 , and two elements From Node and sys equal to “MyPC” and “OMI” at line 624 .
  • a user password identified as ABC and set to “123” is illustrated as an example.
  • a content section 630 is shown having a Lot_id set to ABC100.00.00 at line 632 . Additional textual information, presented as Any 2 and Any 3 may be included in the header section.
  • FIG. 7 illustrates an exemplary schema 700 for a server replying to the request schema shown in FIG. 6 .
  • transaction region 710 includes three attributes: Transaction Id, Action and Func Id, which are set to “LotInfoInqReply”, “ResultReply” and “0005,” respectively.
  • Header section 720 includes a single attribute “sno” that identifies the header at line 722 . It further includes two elements, From and Msg.
  • a content section 730 includes one attribute Lot_id at line 732 for returning the results to the client.
  • Content section 730 may include additional information, shown as any 2 and any 3 , at lines 734 and 736 respectively.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A system and method for defining MES interface to process a transaction between a server and a client from an XML base, the transaction between the server and the client based on a communication protocol, the server having an MES, the system for defining the MES interface comprising an IDL file for executing a plurality of service objects of the MES, an XML tag set file, wherein the XML tag set file uses XML for defining interfaces of the plurality of service objects and an XML schema file, wherein the XML schema file is within a web server for validating an output content generated by executing IDL file and the XML tag set file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file.

Description

CLAIM OF PRIORITY
This application claims the benefit, pursuant of 35 U.S.C. §119, of the earlier filing date of commonly owned patent application Ser. No. 92106107, filed on Mar. 19, 2003 in the Patent Office of the ROC, Taiwan.
BACKGROUND
1. Field of the Invention
This invention relates to Manufacturing Executing Systems (MES) and, more particularly, to a protocol used to communicate between servers and clients operating in a MES environment.
2. Glossary of Terms
The following terms and definitions are offered in order to facilitate understanding of the invention:
CIM Computer Integrated Manufacturing
CORBA Common Object Request Broker Architecture is the
OMG platform-independent technique for programs
running on different machines to communicate
with each other.
IDL Interface Definition Language. Generally refers
to the OMG/CORBA IDL. Used to define interfaces to
objects. Defines the types of objects according
to the operations that may be performed on them
and the parameters to those operations. This
is similar to a C++ header file. For example, in the
CORBA context, an IDL compiler generates “stubs”
that can be called by client code and skeletons for
implementing server code. IDL compilers exist
to map the IDL definitions into various languages:
C, C++, Smalltalk, Java.
MES Manufacturing Execution Systems
OMG Object Management Group
SEMATECH SEmiconductor MAnufacturing TECHnology: an
international research consortium in which
member companies cooperate precompetitively in key
areas of semiconductor technology, sharing expenses
and risk with the common aim of accelerating
development of advanced manufacturing technologies.
SiView Standard An integrated Manufacturing Execution System
(MES) and equipment automation offering from IBM
that is compatible with the SEMY/SEMATECH
CIM Framework and Object Management Group
(OMG) standards. It uses object-oriented technology
with plug-and-play flexibility to permit fine tuning
of operational performance as needed.
XML eXtensible Markup Language: a W3C proposed
recommendation. Like HTML, XML is a simplified
profile of SGML, for creating markup languages.
XML: may be used to define many different
document types, each of which uses its own element
type names.
HTML Hyper Text Markup Language uses a single SGML
document type, with a fixed set of element type names,
i.e., “tag names,” such as “html”, “body”, “h1”, “o1”.
SGML An International Standard (ISO 8879)
3. Background of the Art
In large manufacturing facilities, such as a semiconductor foundry in which many tools are required to build the wafer and chip product, there exist many complex software programs or packages that are used to run and monitor the performance of the tools. Many of these monitoring and control software packages are written to standards defined by the semiconductor equipment consortium SEMATEC. SEMATEC standards are typically used as they guide manufacturers in the way these programs should be implemented. The main framework for this system of software programs is known as the Computer Implemented Manufacturing (CIM) framework.
The overall control of the tools in the foundry is by a central computer or server having a Manufacturing Execution System (MES) tool control system. The central server has the information regarding each customer job that is currently being processed and ensures that each tool is performing the correct operation and in the appropriate sequence. This server communicates with users that monitor and control the production flow and operations on individual client workstations. A MES of the type suitable for this purpose is sold under the model name SiView and is published by International Business Machine Corp. (IBM) of Armonk, N.Y. SiView and IBM are registered trademarks of the IBM Corporation.
Currently, one of the goals of SEMATECH is to adopt a distributed communications pathway and protocol that is referred to as Common Object Request Broker Architecture (CORBA). This system allows for the development of distributed systems to operate seamlessly in an integrated architecture while functioning on various independent platforms. MES architectures, such as SiView, are following the recommendations of SEMATECH and are transitioning over to CORBA. With reference to FIG. 1, an example of a communication pathway 100 using CORBA 120 connects server 110 and client device 130. Communication files are initiated through the CORBA communication pathway 120 using objects stored for use in a CORBA communication pathway using IDL files 115, 125.
While suitable for its intended purpose one drawback to the use of IDL is that complex monitoring and control tasks can result in the use of many objects or software modules resulting in a large collection of IDL files to accomplish a specific task. This build-up of IDL files 115, 115 a, 115 b, etc., over time, adds complexity and additional overhead to the communication pathway. For example, a server may initially provide for the monitoring of two functions, such as “lot track in” and “lot track out,” wherein “lot track in” may be representative of a monitoring function that monitors the input of a product lot and “lot track out” may be representative of a monitoring function that monitors the output of the production lot. In this case the IDL file contains two methods. Over time, as the desire to monitor more features grows and the capability to monitor more features increases, more functions may be added to enhance the server's capability. For example, functions such as “lot information inquiry,” “operation history inquiry,” “tool information inquiry,” “lot running hold” may be functions that are desired and added.
One method of organizing these new functions may be to develop categories of operations that include one IDL file per category. For example categories may be represented as:
    • Category 1-Action applied on lot;
    • Category 2-Information inquiry on lot;
    • Category 3-Action applied on tool;
    • Category 4-flow/routing setting; and
    • Category 5-modeling recipe manipulation
Thus, an IDL file associated with Category 1 may monitor or track the input and output of material, for example. Category 2 may include an IDL file for a “query of lot information” or a “lot operation history.” Category 3 may include an IDL file for setting or resetting the operation mode of a tool or for requesting a “tool operational status.” Category 4 may include an IDL file for flow management or route settings and Category 5 may include an IDL file for modeling individual recipes.
However, an IDL file may become diverse and complex as new functions are added to the file. For example, an IDL file, entitled “File A” associated with category 1: (version 1.0), may monitor input and output using the following instructions shown here in the well known IDL programming language as:
File A: “basic_result_structure”
Interface ActionOnLot {
TrackInResult = Trackin( );
TrackOutResult = TrackOut( )
However, a user may need or desire additional actions such as “hold/release.”In this case, IDL file, File A, may be modified as:
File A: “basic_result_structure”
Interface ActionOnLot {
TrackInResult = TrackIn( );
TrackOutResult = TrackOut( );
HoldResult=hold( );
ReleaseResult=release( );
Users may desire to enhance the hold function with functions such as “future hold,” “hold right now,” and “hold after current operation complete.” In this case, the IDL file, entitled “File A1,” may be represented as:
File A1 include “file A”
include “Enhanced_Result_Structure”
interface enhancedActionOnLot : basicActionOnLot {
future_hold_result = future_hold( );
enhanced_hold_result_1 = hold(in string
Flag_HoldRightNow?);
hold_next_result = hold_next( );
enhanced_release_result = release(in string user_id);
//check user id.
In this case “File A,” which has many of the desired features, is included in the new process, “File A1.” Thus, as new functions are added to the monitoring process, an increase in the complexity and number of the IDL statements naturally occurs. However, changes to basic IDL functions, such as File A, may cause operations of more complex functions to operate in an unexpected and undesired manner.
Accordingly, there is a need for a method and system that allows for improved monitoring and tracking capability without significant increase in the complexity of the programming instructions performing the monitoring operations.
SUMMARY
A system and method is disclosed for defining the interface of a manufacturing execution (MES). XML (Extensible Markup Language) is used to form an interface definition file and a XML tag-set file for simplifying the IDL (Interface Definition Language) files used by SiView MES that allows for the removal of Interface Repositories (IFR) so that each the server and clients need only maintain an XML tag-set file and Interface Definition File. Furthermore, an XML schema file is used for validating the contents of the XML output file. The system for defining the MES interface to process a transaction between a server, having an MES, and a client through an XML file based on a communication protocol, comprises an IDL file for executing a plurality of service objects of the MES, an XML tag set file, wherein the XML tag set file uses XML for defining interfaces of the plurality of service objects and an XML schema file, wherein the XML schema file is within a web server for validating an output content generated by executing IDL file and the XML tag set file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file.
It will be appreciated by those skilled in the art that with this new mechanism introduced above, the following benefits may be achieved:
message content of a transactional based MES utilized with a protocol suitable to that format can be projected onto a standard, well-organized XML format;
using XML as a remedy to eliminate or reduce handling of diverse IDL content as there is one single ASCII text typed IDL file composed and described by XML;
an XML object is made more portable and not limited to a single communication pathway.
BRIEF DESCRIPTION OF THE DRAWINGS
In the drawings:
FIG. 1 is a system diagram of a conventional communication pathway;
FIG. 2 a is a system diagram of a communication pathway according to the present invention;
FIG. 2 b is an alternate system diagram of a communication pathway according to the present invention;
FIG. 3 is an example of an IDL envelope expressed in “C” programming language source code;
FIG. 4 is an exemplary structure for an XML schema in accordance with the principles of the invention;
FIG. 5 a is an example of a transaction structure within an XML schema disclosed in FIG. 4;
FIG. 5 b is an example of a header structure within an XML schema disclosed in FIG. 4;
FIG. 5 c is an example of a content structure within an XML schema disclosed in FIG. 4.
FIG. 6 illustrates an exemplary XML schema for requesting information from a server in accordance with the principles of the invention; and
FIG. 7 illustrates an exemplary XML schema for replying to the request for information shown in FIG. 6.
It is to be understood that these drawings are solely for purposes of illustrating the concepts of the invention and are not intended as a definition of the limits of the invention. The embodiments shown in the figures and described in the accompanying detailed description are to be used as illustrative embodiments, and should not be construed as the only manner of practicing the invention. It is to be understood that these drawings are for purposes of illustrating the concepts of the invention and are not to scale. Also, the same reference numerals, possibly supplemented with reference characters where appropriate, have been used to identify similar elements.
DETAILED DESCRIPTION
FIG. 2 a illustrates an overview 200 of the use of XML in accordance with the principles of the present invention. In this overview, server 205 includes capability to use XML and IDL 115. In this case XML information is passed through Web for XML schema validation 210 to client 220. Client 220 also includes capability to use XML to unwrap the transferred information.
FIG. 2 b illustrates an alternative MES communication system 250 in accordance with the principles of the present invention. In this case, MES configuration 250 is shown including a server 205 and client 220 connected by a communication pathway 120 as previously discussed. Server 205 and client 220 are adapted to generate objects using an XML protocol layer 207 and 227 while the communication pathway 120 transmits objects using an IDL protocol layer. Protocol gateways 25, 270 are provided between the communication pathway 120 and the client 205 and server 220 wherein XML object 260, defined by the XML protocol, 207 for example, are stored in an IDL envelope 265 for transmission across the CORBA communication pathway 120. It will be appreciated by those skilled in the art that XML, a world wide standard, is supported by many IT vendors, such as IBM, MICROSOFT and SUN MICROSYSTEMS, and allows for objects 260 to be defined a pure text, self-described form. By using XML protocol layer 255, 270, XML objects 260 can be shared using many other communication pathways such as TCP/IP 50, TIBCO RV 52 and SOAP 54 without the need for conversion. TCP/IP is well known in the networking art and is composed of layers, wherein “IP” is responsible for moving a packet of data from network node to network node by forwarding each packet based on a four byte destination address (e.g., the IP number) and “TCP” is responsible for verifying the correct delivery of data from client to server.
In accordance with the principles of the invention, the IDL file may be made invariant by describing one service that is to be provided by server 205. For example, FIG. 3 illustrates XML object, entitled SiView_Transaction, expressed in “C” programming language, which includes a single text input and a single text output. In this exemplary example, the input is an ASCII typed argument and the output is a string of ASCII characters. The input and output are described in XML format.
As one skilled in the art would recognize, a well-defined XML file is useful as the XML file infers the existence of a schema file that can perform content validation. By using this feature, several IDL files used in an MES, such as SiView, may be folded into a single well-defined XML file. For example, in a system, such as SiView, there may be transactional based MES with almost all text content. In this case, the objects may be more easily transformed or converted IDL to XML formats and gateways 255, 270, which may be performed by software routines on server 210 and the clients 220, respectively, operating as separate units, can encapsulate the XML defined object into an IDL envelope.
FIG. 4 illustrates a schema structure 400 having a transaction region 410 that includes a header region 430 and a content region 450. The transaction region 410 includes information common to the transaction performed. For example, transaction region 410 may include information associated with identification 412, an action 414 to be performed or a function identification 416. The transaction region 410 further includes information with regard to header region 430 and content region 450.
Header region 430 includes information regarding a source, e.g., system 432 and node 434, and information regarding any message, i.e., rc 436 or message identification 438, that is required. Header 430 may further include information regarding a user, e.g. pwd 440.
Content region 450 includes information regarding a particular production lot 452. For example, lot 452 may include information regarding whether there is a hold status 454 request or a lot identification 456. Similarly, other information, referred to as any2, 452, and any3, 454 may be defined.
FIG. 5 a illustrates an example of a transaction region 410 of a sample XML schema in accordance with the principles of the invention. In this exemplary transaction region 410, three attributes are identified, “id name” 510, “action” 512 and “function id” 514, that enables a user to provide input. For example, attribute “id name”, is identified or typed as requiring a “string,” of conventional alphanumeric values that may be entered by a user or may be read from a file. Similarly, attributes “action” 512 and “function id” 514 are typed as requiring similar “string” inputs. The element “transaction” 516 is identified as including the attributes “id name,” “action” and “function id”, which are represented as 510′, 512′ and 514′, respectively.
Transaction region 410 further defines the elements “Header” 520 and “Content” 540, which are more fully explained with regard to FIG. 5 b and 5 c, respectively. As one skilled in the art would appreciate, transaction region 410 may contain more than one transaction region, which is illustrated as 410′. Each transaction region may define different attribute types and header and content elements.
FIG. 5 b illustrates an example of a header element 430 of a sample XML schema in accordance with the principles of the invention. In this exemplary header element 430, the element “msg” 436 is identified and typed as including two attributes, “rc” and “msg_id,” which are represented as 432′ and 434′, respectively. Attributes “rc” and “msg_id” are identified and typed, at 432 and 434, respectively, as being “string” values. Similarly, the element “from” 438 is identified and typed as including two attributes, “node” and “sys”, represented as 440′ and 442′, respectively. In this illustrated example, header element 410 further includes a user element 444 containing a single attribute “pwd”, represented as 446′. Attribute “pwd” is identified and typed as a “string” data type, represented as 446.
The header element 430′ is next identified and typed as containing three elements, “from” 438, “msg” 436 and “user” 444, and one attribute “sno” 448′. Attribute “sno”, i.e., serial number, is identified and typed as a “string” data type 448.
FIG. 5 b illustrates a similar structure for content element 450. In this case, content element 450, illustrated as 450′, includes a single element 452′, referred to as “lot”. Element “lot” 452 is then identified and typed as including three elements, “any3454′, any2, 456′ and “holdstate” 458′ and one attribute, “lot_id” 460′. In this case, attribute “lot_id” 460 is used to provide information to the user and is identified and typed as a “string” data type. Furthermore, elements “any3454, “any2456 and “holdstate” 468 include a single attribute “txt”, shown as 460′. Attribute “txt” is identified as a “string” data type 460.
FIG. 6 illustrates a schema 600 requesting a server to provide information regarding a specific “lot.” In this exemplary schema, transaction 610 includes three attributes, Transaction Id, Action and Func Id that are defined as “lotInfoInq”, “Inquery” and “0001”, respectively, at line 615. A Header section 620 includes a single attribute “sno” equal to “00100” at line 622, and two elements From Node and sys equal to “MyPC” and “OMI” at line 624. At line 626, a user password, identified as ABC and set to “123” is illustrated as an example.
A content section 630 is shown having a Lot_id set to ABC100.00.00 at line 632. Additional textual information, presented as Any2 and Any3 may be included in the header section.
FIG. 7 illustrates an exemplary schema 700 for a server replying to the request schema shown in FIG. 6. In this exemplary schema, transaction region 710 includes three attributes: Transaction Id, Action and Func Id, which are set to “LotInfoInqReply”, “ResultReply” and “0005,” respectively. Header section 720 includes a single attribute “sno” that identifies the header at line 722. It further includes two elements, From and Msg. A content section 730 includes one attribute Lot_id at line 732 for returning the results to the client. Content section 730 may include additional information, shown as any2 and any3, at lines 734 and 736 respectively.
While the invention has been described with reference to the preferred embodiments thereof, it will be appreciated by those of ordinary skill in the art that modifications can be made to the parts that comprise the invention without departing from the spirit and scope thereof, as defined by the claims.

Claims (13)

1. A system for defining an MES interface to process a transaction between a server and a client from an XML base, the transaction between the server and the client based on a communication protocol, the server having a MES, said system comprising:
an IDL file for executing a plurality of service objects of the MES;
an XML tag set file, wherein the XML tag set file uses XML for defining interfaces of the plurality of service objects; and
an XML schema file, wherein the XML schema file is within a web server for validating an output content generated by executing IDL file and the XML tag set file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file.
2. The system of claim 1, wherein the MES is SiView MES provided by IBM.
3. The system of claim 1, wherein the communication protocol is CORBA.
4. The system of claim 1, wherein the communication protocol is TCP/IP.
5. The system of claim 1, wherein the communication protocol is TIBCO RV.
6. The system of claim 1, wherein the communication protocol is SOAP.
7. A system for defining MES interface in order to process a transaction between a server and a client from an XML base, the transaction between the server and the client based on CORBA, the server having a SiView MES provided by IBM, the system for defining MES interface comprising:
an IDL file for executing a plurality of service objects of the SiView MES;
an XML tag set file, wherein the XML tag set file uses XML for defining interfaces of the plurality of service objects; and
an XML schema file, wherein the XML schema file is within a web server for validating an output content generated by executing IDL file and the XML tag set file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file.
8. A method for defining an MES interface to process a transaction between a server and a client from an XML base, the transaction between the server and the client based on a communication protocol, the server having a MES, the method for defining MES interface comprising:
providing an IDL file and an XML tag set file within the server and client, wherein the IDL file serves for executing a plurality of service objects of the MES and the XML tag set file uses XML for defining interfaces of the plurality of service objects;
executing the IDL file and an XML tag set file for generating an XML output file, wherein the XML tag set file is adapted to serve at least one argument of the plurality of service objects within the IDL file;
providing an XML schema file within a web server; and
executing the XML schema file for validating a content of the XML output file.
9. The method of claim 1, wherein the MES is SiView MES provided by IBM.
10. The method of claim 1, wherein the communication protocol is CORBA.
11. The method of claim 1, wherein the communication protocol is TCP/IP.
12. The method of claim 1, wherein the communication protocol is TIBCO RV.
13. The method of claim 1, wherein the communication protocol is SOAP.
US10/666,715 2003-03-19 2003-09-15 System and method for defining interface of manufacture execution system Expired - Fee Related US7490157B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW092106107 2003-03-19
TW092106107A TWI222576B (en) 2003-03-19 2003-03-19 System and method for defining interface of manufacture execution system

Publications (2)

Publication Number Publication Date
US20040187137A1 US20040187137A1 (en) 2004-09-23
US7490157B2 true US7490157B2 (en) 2009-02-10

Family

ID=32986165

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/666,715 Expired - Fee Related US7490157B2 (en) 2003-03-19 2003-09-15 System and method for defining interface of manufacture execution system

Country Status (2)

Country Link
US (1) US7490157B2 (en)
TW (1) TWI222576B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070261028A1 (en) * 2004-02-05 2007-11-08 Rene Schenk Method for Configuring a Computer Program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976033B2 (en) * 2002-04-10 2005-12-13 Charming Systems Corpration Production cell information system based on activity costs and an architecture therefor
TWI222576B (en) * 2003-03-19 2004-10-21 Taiwan Semiconductor Mfg System and method for defining interface of manufacture execution system
US7031784B1 (en) * 2004-12-23 2006-04-18 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for manufacturing execution system integration
US8495657B1 (en) * 2009-06-12 2013-07-23 American Megatrends, Inc. Virtualized management objects

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848273A (en) * 1995-10-27 1998-12-08 Unisys Corp. Method for generating OLE automation and IDL interfaces from metadata information
US20020099738A1 (en) * 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US6631519B1 (en) * 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
US20040064820A1 (en) * 2002-09-27 2004-04-01 Bussiere Gregory A. Universal client and consumer
US20040078788A1 (en) * 2002-10-17 2004-04-22 Wong Candy Wai-See Metamodel for IDL to XML parsing and translation
US20040187137A1 (en) * 2003-03-19 2004-09-23 Huang Hwa Shin System and method for defining interface of manufacture execution system
US20040210914A1 (en) * 2003-04-17 2004-10-21 Kinner Jason A. Method of generating a remote communication interface for resource description framework (RDF) based information
US20050022208A1 (en) * 2003-07-24 2005-01-27 Bolar Daniel Roy Corba gateway
US6868454B1 (en) * 1999-05-06 2005-03-15 Fujitsu Limited Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US7010586B1 (en) * 2000-04-21 2006-03-07 Sun Microsystems, Inc. System and method for event subscriptions for CORBA gateway

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848273A (en) * 1995-10-27 1998-12-08 Unisys Corp. Method for generating OLE automation and IDL interfaces from metadata information
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6868454B1 (en) * 1999-05-06 2005-03-15 Fujitsu Limited Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US6631519B1 (en) * 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
US7010586B1 (en) * 2000-04-21 2006-03-07 Sun Microsystems, Inc. System and method for event subscriptions for CORBA gateway
US20020099738A1 (en) * 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US20040064820A1 (en) * 2002-09-27 2004-04-01 Bussiere Gregory A. Universal client and consumer
US20040078788A1 (en) * 2002-10-17 2004-04-22 Wong Candy Wai-See Metamodel for IDL to XML parsing and translation
US20040187137A1 (en) * 2003-03-19 2004-09-23 Huang Hwa Shin System and method for defining interface of manufacture execution system
US20040210914A1 (en) * 2003-04-17 2004-10-21 Kinner Jason A. Method of generating a remote communication interface for resource description framework (RDF) based information
US20050022208A1 (en) * 2003-07-24 2005-01-27 Bolar Daniel Roy Corba gateway

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070261028A1 (en) * 2004-02-05 2007-11-08 Rene Schenk Method for Configuring a Computer Program
US8365163B2 (en) * 2004-02-05 2013-01-29 Robert Bosch Gmbh Method for configuring a computer program

Also Published As

Publication number Publication date
TW200419383A (en) 2004-10-01
TWI222576B (en) 2004-10-21
US20040187137A1 (en) 2004-09-23

Similar Documents

Publication Publication Date Title
US8849892B2 (en) Method and system for brokering messages in a distributed system
US6636855B2 (en) Method, system, and program for accessing stored procedures in a message broker
US7870295B2 (en) Parsing messages with multiple data formats
US8205007B2 (en) Native format tunneling
US9185082B2 (en) Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US5751581A (en) Material movement server
US6289501B1 (en) Method for generating simple document type definitions
US5790809A (en) Registry communications middleware
US7111077B1 (en) Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems
JP3965185B2 (en) Scheduler that supports web service calls
EP0956687B1 (en) Web request broker controlling multiple processes
US7346893B2 (en) Exchange infrastructure system and method
US20060109857A1 (en) System, method and computer program product for dynamically changing message priority or message sequence number in a message queuing system based on processing conditions
US6993585B1 (en) Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway
WO2002013010A2 (en) Method, system, and program for invoking stored procedures and accessing stored procedure data
CN101341724A (en) System and method for history driven optimization of web services communication
KR20060042393A (en) System and method for building wireless applications with intelligent mapping between user interface and data components
US20020147962A1 (en) Method and system for incorporating legacy applications into a distributed data processing environment
US6721776B1 (en) Generic DCOM server
CN101382893A (en) On-line assembling method for component based on Web service
WO2003065238A1 (en) Device monitoring via generalized markup language
KR20040015722A (en) Method and apparatus for integrated multi-channel retailing
US7490157B2 (en) System and method for defining interface of manufacture execution system
US20050188201A1 (en) Technique for reliable message confirmation
US20040243693A1 (en) Inbound connector

Legal Events

Date Code Title Description
AS Assignment

Owner name: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD., TAIW

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HUANG, HWA SHIN;REEL/FRAME:014536/0083

Effective date: 20030908

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

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20210210