The present invention relates to message services in a distributed object system in which one or more message service servers interact with a number of publishers and subscribers. More specifically, the present invention relates to a system, method and medium for providing one or more message servers which communicate with one or more publishers configured to create and publish messages having changeable or selectable subject information, the published subject information being of potential interest to one or more of the subscribers.
Distributed object systems are designed to increase the efficiency of computer program development by enabling object reuse and simplifying system maintenance through clear separation of functions. Each object in a distributed object system encapsulates the data for that object and the procedures or methods for operating on that data. Encapsulation means that the data for an object can be manipulated only by that object using the defined methods. These features of distributed object systems allow the objects to be reused and portable. Exemplary distributed object systems include: COM (Common Object Model), COM+, DCOM (Distributed Component Object Model) and CORBA (Common Object Request Broker Architecture).
One of the features of the distributed object system is a message service. A conventional message service system includes one or more publishers, subscribers and message servers. A publisher is a program (object or method) that makes calls that initiate sending messages that contain data, and a subscriber is another program (object or method) that receives the messages from a publisher. A subscriber indicates to (e.g., registers with) its message server that it wishes to receive messages from a publisher.
An exemplary conventional message service server is Message Queuing Services (MSMQ) developed by Microsoft may be used. MSMQ implements asynchronous message service by enabling applications (e.g., data providers) to send messages to other applications (e.g., data receivers). While the messages are being forwarded from senders to receivers, MSMQ keeps the messages in queues. The MSMQ queues may protect messages from being lost in transit and provide a place for receivers to look for messages when they are ready. MSMQ is configured to support IPX (Internet Packet exchange) and TCP/IP (Transmission Control Protocol/Internet Protocol) networking protocols. In the distributed object system parlance, a publisher is a data provider (e.g., the method sending the message) and a subscriber is a data receiver (e.g., the method receiving the message).
The conventional distributed systems fall short when messages are to be exchanged between a large number of publishers and subscribers, because in such a case the conventional message service system is required to predefine the relation between the data providers and data receivers (e.g., certain types of messages are predefined to be received by certain subscribers). In particular, the conventional system may provide adequate message services when all the relations are predefined and do not change. However, the conventional message system fails when the relations are to be dynamic. For example, assume a subset of the data providers are to send messages to one subset of the data receivers under one condition while the same subset of the data providers are required to send messages to another subset of the data receivers under another condition. Under such a scenario, the connections between data providers and data receivers are required to be updated dynamically (e.g., as the conditions change and/or as the messages are created).
Accordingly, embodiments of the present invention provides an improved system, method and medium of sending messages in a distributed object system. More specifically, embodiments of the present invention contemplate receiving a message that includes subject information that is generated based on one or more pre-selected portions as the message is generated. The message is then delivered based on the subject information. Embodiments of the present invention also contemplates a message delivery system in a client-server environment. The message delivery system may include a server configured to receive a message that includes subject information that is generated based on one or more pre-selected portions as the message is created and configured to forward the message based on the subject information.
The detailed description of a preferred embodiment of the present invention showing various distinctive features over prior art message servers may be best understood when the detailed description is read in reference to the appended drawing in which:
In
Publishers 102, 104, subscribers 106, 108 and ES servers 110, 114 typically reside in one or more computers. For example, the publishers may reside within a first group of computers, while the subscribers may reside within a second group of computers. Further, the ES servers may reside in a third group of computers. In an alternative embodiment, one or more publishers and subscribers may reside in one computer. In general, it should be understood that embodiments of the present invention envision that any number of computers may be utilized to include any combination of the publishers, subscribers and ES servers. The communication link among the publishers, subscribers and ES servers may include local area networks (LAN), wide area networks (WAN), the Internet (TCP/IP protocol), cable, optical, wireless or the like (or any combination thereof).
Each of messages to be serviced by the present invention preferably includes subject information (subject) and content information (content). The subject of a message characterizes and/or identifies it. The content is the substantive information of the message. In the parlance of the distributed object systems, the publishing of messages may be viewed as events.
A method of operation envisioned by embodiments of the present invention is described in conjunction with the flow chart of
When a subscriber is registered with an ES server, the ES server makes an entry into a registration database (e.g., a registration database 112 of
In embodiments of the present invention, an ES server is allowed to be instantiated many times. In addition, each ES server notifies its registered subscribers to other instantiated ES servers. This feature allows a direct routing of published messages.
For instance, assume Publisher 1 is configured to fire (e.g., send) its messages to ES Server 1 and Subscriber N is registered with ES Server M. In embodiments of the present invention, ES Server M notifies ES Server 1 that Subscriber N is registered to receive messages having certain subject information. Accordingly, when a message having subject information identical to the subject information registered by Subscribe N is published by Publisher 1, the message is delivered directly from ES Server 1 to Subscriber N. The efficiency is gained by preventing the message being routed from ES Server 1 to ES Server M before it can be delivered to Subscriber N.
It follows that embodiments of the present invention may be configured to increase the capacity of its messaging services (e.g., be linearly scalable). In other words, when more messaging services are required, more ES servers are instantiated to handle the increased capacity. In embodiments of the present invention, there is no bottle neck that prevents the ES server to be linearly scalable.
A registration database may be stored and maintained in a memory bank at a remote location (117 of
The next step as contemplated by embodiments of the present invention is for a publisher to create a message (e.g., an event) having a subject that is selectable as the message is generated (step 206). Step 206 is described in greater detail by referring to
First, in step 302, GC may include one or more context elements (e.g., possible subject elements). In an example contemplated herein, each context element may include a name, type, value and size thereof. Each context element could be of type integer, float, string, or a generic context (e.g., nested generic context), or an array of integers, an array float, an array of string, or an array of generic context. Table 1 below illustrates an exemplary nested GC. More specifically, the exemplary GC includes elements such as “LotNo,” “Weight,” “Loc,” and “LotId” while it also includes arrays of GC elements designated as “GC1” and “GC2.” Although not shown in Table 1, the size is also defined for each element.
The above described GC or nested GC forms exemplary content of a message to be created. In addition, embodiments of the present invention contemplate that for a message to be created, its “subject” is also generated. The subject can include two portions: a design time subject and a run-time subject. The design time subject (e.g., a fixed portion) is a portion of the subject that is specific to the publisher that created the message. Thus, each of the publishers has associated with it a design time subject, which becomes a part of the overall subject of a message generated by a publisher. In addition, as each message is created by a publisher, a run-time subject (e.g., a changeable portion) is appended to the design time subject of the publisher. Unlike the design time subject, the run-time subject is selectable by a user (e.g., an operator or automated entity). The subject, as it includes both the design time subject portion and the run-time subject portion, describes the format or the information relating to content (e.g., the values of each element).
As an example of the design time subject,
As an example of the run-time subject,
A user may also select the position of the “bstrDSNameSpace” element to be 2 and the position of the “bstrDSName” element to be 1. In this example, the subject information may be:
The above described feature of selecting run-time subject is preferably performed by a meta-data server which may be a part of an ES server. In particular, the meta-data server allows a user to select any combination of all available run-time subject elements and also allows the user to arrange the selected elements in any order using the position options. Once the user selects and arranges the run-time subject for a particular publisher, that information is stored in the meta-data server. Subsequently, when the publisher is creating a message, based on its design time subject, the publisher retrieves the user selection and arrangement information from the meta-data server. The publisher then creates the message with subject information, the run-time subject of which is generated according to the retrieved information. Embodiments of the present invention contemplate that the user selection and arrangement information can be retrieved from the meta-data server and stored in the publisher's cache memory. In this scenario, unless the information in the cache memory is lost, it is envisioned that the meta-data server is not accessed again to retrieve the user selection and arrangement information.
Although not shown in
Referring back to
Referring back to
Referring back to
Embodiments of the present invention contemplate that a guarantee message delivery (GMD) mechanism can be provided. GMD can be used when hardware (e.g., computers) and network connections may be unstable.
In operation of the GMD feature, the ES servers keep messages for the subscriber when the subscriber is off-line. At the same time, a system-wide timeout period is set for each message. If a timeout happens before the subscriber retrieves its message, the message is preferably re-routed to an ES server where a predefined action may be taken. For instance, if a subscriber designated to receive a message is off-line for longer than a predetermined period (e.g., 5 minutes, a day, etc.), the ES server preferably sends a notice (e.g., a pager, an e-mail message, etc.) to an operator to take appropriate action.
Referring to
The messaging service of the present invention is described below in a pair of practical exemplary applications. Although only two applications are illustrated below, other applications in which messaging service utilizing publisher/subscriber configuration (e.g., a weather monitoring system, medical monitoring system or the like) are also contemplated within this invention and may be obvious variations of the present the exemplary applications described below.
The first exemplary illustration is described in conjunction with
For instance, an etcher is a manufacturing apparatus configured to etch a layer or layers of a substrate during manufacture of an electronic device. Similarly a layer depositor is an apparatus configured to deposit a layer or layers on a substrate during manufacture of an electronic device. Preferably, assembly line devices (e.g., etchers, depositors) and controllers include a computer or computer-like device that includes a processor, a read-only memory device and a random access memory. Each of the assembly line devices and controller are also preferably configured to include at least one subscriber and one publisher operating in their respective computer or computer-like devices. In an alternative embodiment, one or more assembly line devices may include only a subscriber or a publisher operating in their respective computer or computer-like devices. In another alternative embodiment, one or more assembly line device may include no subscriber or publisher operating in their respective computer or computer-like devices. In yet another embodiment, one or more assembly line device may not include any computer or computer like devices.
One or more ES servers can reside in one or more server computers (not shown in
Embodiments of the present invention contemplate that, the manufacturing system depicted in
Now referring to
Subsequently, one or more subscribers located among the assembly line devices may create one or more messages (step 806). Such messages may include content information relating to, for example, the operating temperature of the devices, status of processes (e.g., etching or deposition) and/or maintenance information. Depending upon the character of the content information, the run-time subject is generated, which is appended to corresponding design time subjects.
Table 2 above illustrates a detailed example of information relating to generating a run-time subject. In particular, the exemplary run-time subject may include five possible elements: “EntityNamespace,” “EntityID” . . . “Quantity.” Each element is defined by its name (i.e., metadata name), data type, and a publish flag and subject position definition. In this example, assume that the “EntityNamespace” element is defined as “Assembly line Q,” and the EntityID element is defined as “Etcher—1.” The “pub_flag” specifies whether particular element is to be published as part of the run-time subject: “1” designates that the element is to be published, “0” designates that the element is not to be published, and “−1” designates that the element is not to be included as a part of the runtime subject. If the element is to be published, then the “sub_pos” element specifies where the element is to be placed in the run-time subject. Assuming the design time subject is a string “Design_Time_Subject—1,” then the subject specified in the above example may appear as the following:
A user, by means of a graphical user interface similar to the one depicted in
Upon receiving the messages, the one or more ES servers refer to their corresponding registration databases to identify which one or more of registered subscribers registered interest in receiving messages having subjects that include the subjects of the received messages. The messages are forward to the identified subscribers (step 807).
In continuing with the above example described in connection with Table 2, assume two subscribers registered to receive messages having the following subjects:
Depending upon a selection made in the option field, messages are delivered to various registered subscribers. The option field is configured to provide flexibility in matching subject information registered by the registered subscribers and the subject information provided by the published messages.
Examples of the use of the option field as contemplated by embodiments of the present invention will now be described. First, for the sake of this example, assume that the existence of a given uniquely identifiable character (e.g., “>”), means that any message that includes the subject elements previous to the character or any other elements appended thereto would be delivered to a subscriber registered with such an option. Thus, for example, assume further that the registered subject of the first subscriber is as follows:
In this example, any message that includes “Design_Time_Subject.Assembly_Line_Q” or any other elements appended thereto (e.g., Design_Time_Subject.Assmbly_Line_Q.Etcher—1, Design_Time_Subject.Assembly_Line_Q.Etcher—2.Quantiy—1, etc.) as its subject would be delivered to the first subscriber.
It also follows that if the second subscriber has registered its subject as “Design_Time_Subject.Assembly_Line_Q.Etcher—1.>”, then any message that includes “Design_Time_Subject.Assembly_Line_Q.Etcher—1” or any other elements appended thereto as their subject would be delivered to the second subscriber.
In another example, assume that the existence of another uniquely identifiable character (“*”), means that any message that includes the subject elements previous to the character or one element appended thereto would be delivered to a subscriber registered with such an option. Thus, for example, assume further that the registered subject of the first subscriber is as follows:
In this example, any message that includes “Design_Time_Subject.Assembly_Line_Q” or one other element appended thereto (e.g., Design_Time_Subject.Assembly_Line_Q.Etcher—1, Design_Time_Subject.Assembly_Line_Q.Etcher—2, etc.) as its subject would be delivered to the first subscriber. The second subscriber functions similarly.
The above relationship between subjects of a message to be delivered and the subscribers is also applicable without regard to the number of elements specified. It should be noted that the above provided examples of option field characters (e.g., “*” and “>”) are provided only as sample examples. Other conventions available in the art are contemplated by embodiments of the present invention.
In this example, it is envisioned that, the subscribers residing in the controllers register with the ES servers to receive messages from the publishers residing in the assembly line devices. Alternatively and/or in addition, one or more subscribers located in one or more assembly line devices may register to receive messages published by one or more publishers residing in other assembly line devices. In any event, and referring back to
For instance, assume a controller is configured to monitor temperatures of one or more etchers to prevent them from overheating, then such a controller may receive messages that include temperature information created by the one or more etchers. When a message received from one of the etchers indicate an overheating condition, the controller may decide to send a message (e.g., create a command, as indicated by step 808) to the etcher or to every manufacturing device on that assembly line to shut down.
After determining that one or more messages are desired to be forwarded to one or more assembly line devices, (which, in this example, are envisioned to contain certain commands) messages with corresponding contents and subjects are created (step 809). The created messages are then fired (step 810) to the ES servers which forwards messages to appropriate subscribers based on corresponding registration databases (step 811). When the message is delivered to one or more subscribers (and/or controllers) they are unpacked (step 812). The unpacked message (and any commands therein) is processed to take further action, if any.
Continuing with the above example of an overheated etcher, when the etcher receives the message which contains a command to shut down, the etcher preferably shuts itself down. If messages are sent to each of the assembly line devices in that assembly line, then the whole assembly line may shut itself down.
It should be noted that sending and receiving messages among different assembly line devices and controllers are not required to occur in the sequence describe above. More specifically, one or more of the assembly line devices may be receiving messages from one or more controllers while one or more of the assembly line devices may be creating and firing a message to one or more controllers. In addition, one or more assembly line devices and controllers may be receiving, creating and firing messages simultaneously—a multithreaded processing feature of embodiments of the present invention.
The second exemplary illustration is now described with regard to
For instance, subscriber 1 registers to receive stock price quotes of companies named from AA to BB and subscriber 2 registers to receive stock price quotes of companies named from CC to DD.
Subsequently, the publisher creates messages containing stock quotes of the stock trading companies. Then, the messages are fired to the ES servers. Upon receiving the message, ES servers then forward the message to appropriate subscribers. For instance, if the message includes a stock quote of company AB, then it would be sent to Subscriber 1, and so on.
A display interface 1172 interfaces display 1148 and permits information from the bus 1156 to be displayed on display 1148. Display 1148 is also an optional accessory. For example, display 1148 could be substituted or omitted. Display 1148 may be used in displaying graphical user interface as shown in
Although system 1111 in
In general, it should be emphasized that the various components of embodiments of the present invention can be implemented in hardware, software or a combination thereof. In such embodiments, the various components and steps would be implemented in hardware and/or software to perform the functions of embodiments of the present invention. Any presently available or future developed computer software language and/or hardware components can be employed in such embodiments of the present invention. For example, at least some of the functionality mentioned above could be implemented using Visual Basic, C, C++, or any assembly language appropriate in view of the processor(s) being used. It could also be written in an interpretive environment such as Java and transported to multiple destinations to various users.
The many features and advantages of embodiments of the present invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
3205485 | Noltingk | Sep 1965 | A |
3229198 | Libby | Jan 1966 | A |
3767900 | Chao et al. | Oct 1973 | A |
3920965 | Sohrwardy | Nov 1975 | A |
4000458 | Miller et al. | Dec 1976 | A |
4207520 | Flora et al. | Jun 1980 | A |
4209744 | Gerasimov et al. | Jun 1980 | A |
4302721 | Urbanek et al. | Nov 1981 | A |
4368510 | Anderson | Jan 1983 | A |
4609870 | Lale et al. | Sep 1986 | A |
4616308 | Morshedi et al. | Oct 1986 | A |
4663703 | Axelby et al. | May 1987 | A |
4698766 | Entwistle et al. | Oct 1987 | A |
4750141 | Judell et al. | Jun 1988 | A |
4755753 | Chern | Jul 1988 | A |
4757259 | Charpentier | Jul 1988 | A |
4796194 | Atherton | Jan 1989 | A |
4901218 | Cornwell | Feb 1990 | A |
4938600 | Into | Jul 1990 | A |
4957605 | Hurwitt et al. | Sep 1990 | A |
4967381 | Lane et al. | Oct 1990 | A |
5089970 | Lee et al. | Feb 1992 | A |
5108570 | Wang | Apr 1992 | A |
5200028 | Tatsumi | Apr 1993 | A |
5208765 | Turnbull | May 1993 | A |
5220517 | Sierk et al. | Jun 1993 | A |
5226118 | Baker et al. | Jul 1993 | A |
5231585 | Kobayashi et al. | Jul 1993 | A |
5236868 | Nulman | Aug 1993 | A |
5240552 | Yu et al. | Aug 1993 | A |
5260868 | Gupta et al. | Nov 1993 | A |
5270222 | Moslehi | Dec 1993 | A |
5283141 | Yoon et al. | Feb 1994 | A |
5295242 | Mashruwala et al. | Mar 1994 | A |
5309221 | Fischer et al. | May 1994 | A |
5329463 | Sierk et al. | Jul 1994 | A |
5338630 | Yoon et al. | Aug 1994 | A |
5347446 | Iino et al. | Sep 1994 | A |
5367624 | Cooper | Nov 1994 | A |
5369544 | Mastrangelo | Nov 1994 | A |
5375064 | Bollinger | Dec 1994 | A |
5398336 | Tantry et al. | Mar 1995 | A |
5402367 | Sullivan et al. | Mar 1995 | A |
5408405 | Mozumder et al. | Apr 1995 | A |
5410473 | Kaneko et al. | Apr 1995 | A |
5420796 | Weling et al. | May 1995 | A |
5427878 | Corliss | Jun 1995 | A |
5444837 | Bomans et al. | Aug 1995 | A |
5469361 | Moyne | Nov 1995 | A |
5485082 | Wisspeintner et al. | Jan 1996 | A |
5490097 | Swenson et al. | Feb 1996 | A |
5495417 | Fuduka et al. | Feb 1996 | A |
5497316 | Sierk et al. | Mar 1996 | A |
5497381 | O'Donoghue et al. | Mar 1996 | A |
5503707 | Maung et al. | Apr 1996 | A |
5508947 | Sierk et al. | Apr 1996 | A |
5511005 | Abbe et al. | Apr 1996 | A |
5519605 | Cawlfield | May 1996 | A |
5525808 | Irie et al. | Jun 1996 | A |
5526293 | Mozumder et al. | Jun 1996 | A |
5534289 | Bilder et al. | Jul 1996 | A |
5541510 | Danielson | Jul 1996 | A |
5546312 | Mozumder et al. | Aug 1996 | A |
5553195 | Meijer | Sep 1996 | A |
5586039 | Hirsch et al. | Dec 1996 | A |
5599423 | Parker et al. | Feb 1997 | A |
5602492 | Cresswell et al. | Feb 1997 | A |
5603707 | Trombetta et al. | Feb 1997 | A |
5617023 | Skalski | Apr 1997 | A |
5627083 | Tounai | May 1997 | A |
5629216 | Wijaranakula et al. | May 1997 | A |
5642296 | Saxena | Jun 1997 | A |
5646870 | Krivokapic et al. | Jul 1997 | A |
5649169 | Berezin et al. | Jul 1997 | A |
5654903 | Reitman et al. | Aug 1997 | A |
5655951 | Meikle et al. | Aug 1997 | A |
5657254 | Sierk et al. | Aug 1997 | A |
5661669 | Mozumder et al. | Aug 1997 | A |
5663797 | Sandhu | Sep 1997 | A |
5664987 | Renteln | Sep 1997 | A |
5665199 | Sahota et al. | Sep 1997 | A |
5665214 | Iturralde | Sep 1997 | A |
5666297 | Britt et al. | Sep 1997 | A |
5667424 | Pan | Sep 1997 | A |
5674787 | Zhao et al. | Oct 1997 | A |
5694325 | Fukuda et al. | Dec 1997 | A |
5695810 | Dubin et al. | Dec 1997 | A |
5698989 | Nulman | Dec 1997 | A |
5706452 | Ivanov | Jan 1998 | A |
5719495 | Moslehi | Feb 1998 | A |
5719796 | Chen | Feb 1998 | A |
5735055 | Hochbein et al. | Apr 1998 | A |
5740429 | Wang et al. | Apr 1998 | A |
5751582 | Saxena et al. | May 1998 | A |
5754297 | Nulman | May 1998 | A |
5761064 | La et al. | Jun 1998 | A |
5761065 | Kittler et al. | Jun 1998 | A |
5764543 | Kennedy | Jun 1998 | A |
5777901 | Berezin et al. | Jul 1998 | A |
5787021 | Samaha | Jul 1998 | A |
5787269 | Hyodo | Jul 1998 | A |
5808303 | Schlagheck et al. | Sep 1998 | A |
5812407 | Sato et al. | Sep 1998 | A |
5823854 | Chen | Oct 1998 | A |
5824599 | Schacham-Diamand et al. | Oct 1998 | A |
5825356 | Habib et al. | Oct 1998 | A |
5825913 | Rostami et al. | Oct 1998 | A |
5828778 | Hagi et al. | Oct 1998 | A |
5831851 | Eastburn et al. | Nov 1998 | A |
5832224 | Fehskens et al. | Nov 1998 | A |
5835922 | Shima et al. | Nov 1998 | A |
5838595 | Sullivan et al. | Nov 1998 | A |
5838951 | Song | Nov 1998 | A |
5844554 | Geller et al. | Dec 1998 | A |
5857258 | Penzes et al. | Jan 1999 | A |
5859777 | Yokoyama et al. | Jan 1999 | A |
5859964 | Wang et al. | Jan 1999 | A |
5859975 | Brewer et al. | Jan 1999 | A |
5862054 | Li | Jan 1999 | A |
5863807 | Jang et al. | Jan 1999 | A |
5867389 | Hamada et al. | Feb 1999 | A |
5870306 | Harada | Feb 1999 | A |
5871805 | Lemelson | Feb 1999 | A |
5883437 | Maruyama et al. | Mar 1999 | A |
5889991 | Consolatti et al. | Mar 1999 | A |
5901313 | Wolf et al. | May 1999 | A |
5903455 | Sharpe, Jr. et al. | May 1999 | A |
5910011 | Cruse | Jun 1999 | A |
5910846 | Sandhu | Jun 1999 | A |
5912678 | Saxena et al. | Jun 1999 | A |
5916016 | Bothra | Jun 1999 | A |
5923553 | Yi | Jul 1999 | A |
5926690 | Toprac et al. | Jul 1999 | A |
5930138 | Lin et al. | Jul 1999 | A |
5940300 | Ozaki | Aug 1999 | A |
5943237 | Van Boxem | Aug 1999 | A |
5943550 | Fulford, Jr. et al. | Aug 1999 | A |
5960185 | Nguyen | Sep 1999 | A |
5960214 | Sharpe, Jr. et al. | Sep 1999 | A |
5961369 | Bartels et al. | Oct 1999 | A |
5963881 | Kahn et al. | Oct 1999 | A |
5975994 | Sandhu et al. | Nov 1999 | A |
5978751 | Pence et al. | Nov 1999 | A |
5982920 | Tobin, Jr. et al. | Nov 1999 | A |
6002989 | Shiba et al. | Dec 1999 | A |
6012048 | Gustin et al. | Jan 2000 | A |
6017771 | Yang et al. | Jan 2000 | A |
6036349 | Gombar | Mar 2000 | A |
6037664 | Zhao et al. | Mar 2000 | A |
6041263 | Boston et al. | Mar 2000 | A |
6041270 | Steffan et al. | Mar 2000 | A |
6052563 | Macko | Apr 2000 | A |
6054379 | Yau et al. | Apr 2000 | A |
6059636 | Inaba et al. | May 2000 | A |
6064759 | Buckley et al. | May 2000 | A |
6072313 | Li et al. | Jun 2000 | A |
6074443 | Venkatesh et al. | Jun 2000 | A |
6077412 | Ting et al. | Jun 2000 | A |
6078845 | Friedman | Jun 2000 | A |
6094688 | Mellen-Garnett et al. | Jul 2000 | A |
6096649 | Jang | Aug 2000 | A |
6097887 | Hardikar et al. | Aug 2000 | A |
6100195 | Chan et al. | Aug 2000 | A |
6108092 | Sandhu | Aug 2000 | A |
6111634 | Pecen et al. | Aug 2000 | A |
6112130 | Fukuda et al. | Aug 2000 | A |
6113462 | Yang | Sep 2000 | A |
6114238 | Liao | Sep 2000 | A |
6127263 | Parikh | Oct 2000 | A |
6128016 | Coelho et al. | Oct 2000 | A |
6136163 | Cheung et al. | Oct 2000 | A |
6141660 | Bach et al. | Oct 2000 | A |
6143646 | Wetzel | Nov 2000 | A |
6148099 | Lee et al. | Nov 2000 | A |
6148239 | Funk et al. | Nov 2000 | A |
6148246 | Kawazome | Nov 2000 | A |
6150270 | Matsuda et al. | Nov 2000 | A |
6157864 | Schwenke et al. | Dec 2000 | A |
6159075 | Zhang | Dec 2000 | A |
6159644 | Satoh et al. | Dec 2000 | A |
6161054 | Rosenthal et al. | Dec 2000 | A |
6169931 | Runnels | Jan 2001 | B1 |
6172756 | Chalmers et al. | Jan 2001 | B1 |
6173240 | Sepulveda et al. | Jan 2001 | B1 |
6175777 | Kim | Jan 2001 | B1 |
6178390 | Jun | Jan 2001 | B1 |
6181013 | Liu et al. | Jan 2001 | B1 |
6183345 | Kamono et al. | Feb 2001 | B1 |
6185324 | Ishihara et al. | Feb 2001 | B1 |
6191864 | Sandhu | Feb 2001 | B1 |
6192291 | Kwon | Feb 2001 | B1 |
6197604 | Miller et al. | Mar 2001 | B1 |
6204165 | Ghoshal | Mar 2001 | B1 |
6210983 | Atchison et al. | Apr 2001 | B1 |
6211094 | Jun et al. | Apr 2001 | B1 |
6212961 | Dvir | Apr 2001 | B1 |
6214734 | Bothra et al. | Apr 2001 | B1 |
6217412 | Campbell et al. | Apr 2001 | B1 |
6219711 | Chari | Apr 2001 | B1 |
6222936 | Phan et al. | Apr 2001 | B1 |
6226563 | Lim | May 2001 | B1 |
6226792 | Goiffon et al. | May 2001 | B1 |
6228280 | Li et al. | May 2001 | B1 |
6230069 | Campbell et al. | May 2001 | B1 |
6236903 | Kim et al. | May 2001 | B1 |
6237050 | Kim et al. | May 2001 | B1 |
6240330 | Kurtzberg et al. | May 2001 | B1 |
6240331 | Yun | May 2001 | B1 |
6245581 | Bonser et al. | Jun 2001 | B1 |
6246972 | Klimasauskas | Jun 2001 | B1 |
6248602 | Bode et al. | Jun 2001 | B1 |
6249712 | Boiquaye | Jun 2001 | B1 |
6252412 | Talbot et al. | Jun 2001 | B1 |
6253366 | Mutschler, III | Jun 2001 | B1 |
6259160 | Lopatin et al. | Jul 2001 | B1 |
6263255 | Tan et al. | Jul 2001 | B1 |
6268270 | Scheid et al. | Jul 2001 | B1 |
6271670 | Caffey | Aug 2001 | B1 |
6276989 | Campbell et al. | Aug 2001 | B1 |
6277014 | Chen et al. | Aug 2001 | B1 |
6278899 | Piche et al. | Aug 2001 | B1 |
6280289 | Wiswesser et al. | Aug 2001 | B1 |
6281127 | Shue | Aug 2001 | B1 |
6284622 | Campbell et al. | Sep 2001 | B1 |
6287879 | Gonzales et al. | Sep 2001 | B1 |
6290572 | Hofmann | Sep 2001 | B1 |
6291367 | Kelkar | Sep 2001 | B1 |
6292708 | Allen et al. | Sep 2001 | B1 |
6298274 | Inoue | Oct 2001 | B1 |
6298470 | Breiner et al. | Oct 2001 | B1 |
6303395 | Nulman | Oct 2001 | B1 |
6304999 | Toprac et al. | Oct 2001 | B1 |
6307628 | Lu et al. | Oct 2001 | B1 |
6314379 | Hu et al. | Nov 2001 | B1 |
6317643 | Dmochowski | Nov 2001 | B1 |
6320655 | Matsushita et al. | Nov 2001 | B1 |
6324481 | Atchison et al. | Nov 2001 | B1 |
6334807 | Lebel et al. | Jan 2002 | B1 |
6336841 | Chang | Jan 2002 | B1 |
6339727 | Ladd | Jan 2002 | B1 |
6340602 | Johnson et al. | Jan 2002 | B1 |
6345288 | Reed et al. | Feb 2002 | B1 |
6345315 | Mishra | Feb 2002 | B1 |
6346426 | Toprac et al. | Feb 2002 | B1 |
6355559 | Havemann et al. | Mar 2002 | B1 |
6360133 | Campbell et al. | Mar 2002 | B1 |
6360184 | Jacquez | Mar 2002 | B1 |
6363294 | Coronel et al. | Mar 2002 | B1 |
6366934 | Cheng et al. | Apr 2002 | B1 |
6368879 | Toprac | Apr 2002 | B1 |
6368883 | Bode et al. | Apr 2002 | B1 |
6368884 | Goodwin et al. | Apr 2002 | B1 |
6379980 | Toprac | Apr 2002 | B1 |
6381564 | David et al. | Apr 2002 | B1 |
6388253 | Su | May 2002 | B1 |
6389475 | Speakman et al. | May 2002 | B1 |
6389491 | Jacobson et al. | May 2002 | B1 |
6391780 | Shih et al. | May 2002 | B1 |
6395152 | Wang | May 2002 | B1 |
6397114 | Eryurek et al. | May 2002 | B1 |
6400162 | Mallory et al. | Jun 2002 | B1 |
6405096 | Toprac et al. | Jun 2002 | B1 |
6405144 | Toprac et al. | Jun 2002 | B1 |
6416938 | Kubacki | Jul 2002 | B1 |
6417014 | Lam et al. | Jul 2002 | B1 |
6427093 | Toprac | Jul 2002 | B1 |
6432728 | Tai et al. | Aug 2002 | B1 |
6435952 | Boyd et al. | Aug 2002 | B1 |
6438438 | Takagi et al. | Aug 2002 | B1 |
6440295 | Wang | Aug 2002 | B1 |
6442496 | Pasadyn et al. | Aug 2002 | B1 |
6449524 | Miller et al. | Sep 2002 | B1 |
6455415 | Lopatin et al. | Sep 2002 | B1 |
6455937 | Cunningham | Sep 2002 | B1 |
6465263 | Coss, Jr. et al. | Oct 2002 | B1 |
6466956 | Cho et al. | Oct 2002 | B1 |
6470230 | Toprac et al. | Oct 2002 | B1 |
6479902 | Lopatin et al. | Nov 2002 | B1 |
6479990 | Mednikov et al. | Nov 2002 | B2 |
6482660 | Conchieri et al. | Nov 2002 | B2 |
6484064 | Campbell | Nov 2002 | B1 |
6486492 | Su | Nov 2002 | B1 |
6492281 | Song et al. | Dec 2002 | B1 |
6495452 | Shih | Dec 2002 | B1 |
6503839 | Gonzales et al. | Jan 2003 | B2 |
6515368 | Lopatin et al. | Feb 2003 | B1 |
6517413 | Hu et al. | Feb 2003 | B1 |
6517414 | Tobin et al. | Feb 2003 | B1 |
6528409 | Lopatin et al. | Mar 2003 | B1 |
6529789 | Campbell et al. | Mar 2003 | B1 |
6532555 | Miller et al. | Mar 2003 | B1 |
6535783 | Miller et al. | Mar 2003 | B1 |
6537912 | Agarwal | Mar 2003 | B1 |
6540591 | Pasadyn et al. | Apr 2003 | B1 |
6541401 | Herner et al. | Apr 2003 | B1 |
6546508 | Sonderman et al. | Apr 2003 | B1 |
6556881 | Miller | Apr 2003 | B1 |
6560504 | Goodwin et al. | May 2003 | B1 |
6563308 | Nagano et al. | May 2003 | B2 |
6567717 | Krivokapic et al. | May 2003 | B2 |
6580958 | Takano | Jun 2003 | B1 |
6587744 | Stoddard et al. | Jul 2003 | B1 |
6590179 | Tanaka et al. | Jul 2003 | B2 |
6604012 | Cho et al. | Aug 2003 | B1 |
6605549 | Leu et al. | Aug 2003 | B2 |
6606652 | Cohn et al. | Aug 2003 | B1 |
6607976 | Chen et al. | Aug 2003 | B2 |
6609946 | Tran | Aug 2003 | B1 |
6616513 | Osterheld | Sep 2003 | B1 |
6618692 | Takahashi et al. | Sep 2003 | B2 |
6624075 | Lopatin et al. | Sep 2003 | B1 |
6625497 | Fairbairn et al. | Sep 2003 | B2 |
6630741 | Lopatin et al. | Oct 2003 | B1 |
6640151 | Somekh et al. | Oct 2003 | B1 |
6643682 | Todd et al. | Nov 2003 | B1 |
6652355 | Wiswesser et al. | Nov 2003 | B2 |
6660633 | Lopatin et al. | Dec 2003 | B1 |
6678570 | Pasadyn et al. | Jan 2004 | B1 |
6708074 | Chi et al. | Mar 2004 | B1 |
6708075 | Sonderman et al. | Mar 2004 | B2 |
6721748 | Knight et al. | Apr 2004 | B1 |
6725402 | Coss, Jr. et al. | Apr 2004 | B1 |
6728587 | Goldman et al. | Apr 2004 | B2 |
6735492 | Conrad et al. | May 2004 | B2 |
6735623 | Prust | May 2004 | B1 |
6751518 | Sonderman et al. | Jun 2004 | B1 |
6772196 | Kirsch et al. | Aug 2004 | B1 |
6774998 | Wright et al. | Aug 2004 | B1 |
6775689 | Raghunandan | Aug 2004 | B1 |
20010001755 | Sandhu et al. | May 2001 | A1 |
20010003084 | Finarov | Jun 2001 | A1 |
20010006873 | Moore | Jul 2001 | A1 |
20010030366 | Nakano et al. | Oct 2001 | A1 |
20010039462 | Mendez et al. | Nov 2001 | A1 |
20010040997 | Tsap et al. | Nov 2001 | A1 |
20010042690 | Talieh | Nov 2001 | A1 |
20010044667 | Nokano et al. | Nov 2001 | A1 |
20010049721 | Blair et al. | Dec 2001 | A1 |
20020032499 | Wilson et al. | Mar 2002 | A1 |
20020058460 | Lee et al. | May 2002 | A1 |
20020070126 | Sato et al. | Jun 2002 | A1 |
20020077031 | Johansson et al. | Jun 2002 | A1 |
20020081951 | Boyd et al. | Jun 2002 | A1 |
20020089676 | Pecen et al. | Jul 2002 | A1 |
20020102853 | Li et al. | Aug 2002 | A1 |
20020107599 | Patel et al. | Aug 2002 | A1 |
20020107604 | Riley et al. | Aug 2002 | A1 |
20020113039 | Mok et al. | Aug 2002 | A1 |
20020127950 | Hirose et al. | Sep 2002 | A1 |
20020128805 | Goldman et al. | Sep 2002 | A1 |
20020149359 | Crouzen et al. | Oct 2002 | A1 |
20020165636 | Hasan | Nov 2002 | A1 |
20020183986 | Stewart et al. | Dec 2002 | A1 |
20020185658 | Inoue et al. | Dec 2002 | A1 |
20020193899 | Shanmugasundram et al. | Dec 2002 | A1 |
20020193902 | Shanmugasundram et al. | Dec 2002 | A1 |
20020197745 | Shanmugasundram et al | Dec 2002 | A1 |
20020197934 | Paik | Dec 2002 | A1 |
20020199082 | Shanmugasundram et al. | Dec 2002 | A1 |
20030017256 | Shimane | Jan 2003 | A1 |
20030020909 | Adams et al. | Jan 2003 | A1 |
20030020928 | Ritzdorf et al. | Jan 2003 | A1 |
20030154062 | Daft et al. | Aug 2003 | A1 |
Number | Date | Country |
---|---|---|
2050247 | Aug 1991 | CA |
2165847 | Aug 1991 | CA |
2194855 | Aug 1991 | CA |
0 397 924 | Nov 1990 | EP |
0 621 522 | Oct 1994 | EP |
0 747 795 | Dec 1996 | EP |
0 869 652 | Oct 1998 | EP |
0877308 | Nov 1998 | EP |
0 881 040 | Dec 1998 | EP |
0 895 145 | Feb 1999 | EP |
0 910 123 | Apr 1999 | EP |
0 932 194 | Jul 1999 | EP |
0 932 195 | Jul 1999 | EP |
1 066 925 | Jan 2001 | EP |
1 067 757 | Jan 2001 | EP |
1 071 128 | Jan 2001 | EP |
1 083 470 | Mar 2001 | EP |
1 092 505 | Apr 2001 | EP |
1072967 | Nov 2001 | EP |
1 182 526 | Feb 2002 | EP |
2 347 885 | Sep 2000 | GB |
2 365 215 | Feb 2002 | GB |
61-66104 | Apr 1986 | JP |
61-171147 | Aug 1986 | JP |
HEI 1-283934 | Nov 1989 | JP |
3-202710 | Sep 1991 | JP |
05-151231 | Jun 1993 | JP |
05-216896 | Aug 1993 | JP |
05-266029 | Oct 1993 | JP |
06-110894 | Apr 1994 | JP |
06-176994 | Jun 1994 | JP |
6-184434 | Jul 1994 | JP |
06-252236 | Sep 1994 | JP |
06-260380 | Sep 1994 | JP |
8-23166 | Jan 1996 | JP |
8-50161 | Feb 1996 | JP |
HEI 8-149583 | Jun 1996 | JP |
8-304023 | Nov 1996 | JP |
HEI 9-34535 | Feb 1997 | JP |
9-246547 | Sep 1997 | JP |
10-34522 | Feb 1998 | JP |
10-173029 | Jun 1998 | JP |
HEI 11-67853 | Mar 1999 | JP |
11-126816 | May 1999 | JP |
11-135601 | May 1999 | JP |
2000-183001 | Jun 2000 | JP |
2001-76982 | Mar 2001 | JP |
2001-284299 | Oct 2001 | JP |
2001-305108 | Oct 2001 | JP |
2002-9030 | Jan 2002 | JP |
2002-343754 | Nov 2002 | JP |
434103 | May 2001 | TW |
436383 | May 2001 | TW |
455938 | Sep 2001 | TW |
455976 | Sep 2001 | TW |
WO 9534866 | Dec 1995 | WO |
WO 9805066 | Feb 1998 | WO |
WO 9845090 | Oct 1998 | WO |
WO 9909371 | Feb 1999 | WO |
WO 9925520 | May 1999 | WO |
WO 9959200 | Nov 1999 | WO |
WO 0000874 | Jan 2000 | WO |
WO 0005759 | Feb 2000 | WO |
WO 0035063 | Jun 2000 | WO |
WO 0054325 | Sep 2000 | WO |
WO 0079355 | Dec 2000 | WO |
WO 0111679 | Feb 2001 | WO |
WO 0115865 | Mar 2001 | WO |
WO 0118623 | Mar 2001 | WO |
WO 0125865 | Apr 2001 | WO |
WO 0133277 | May 2001 | WO |
WO 0133501 | May 2001 | WO |
WO 0152055 | Jul 2001 | WO |
WO 0152319 | Jul 2001 | WO |
WO 0157823 | Aug 2001 | WO |
WO 01080306 | Oct 2001 | WO |
WO 0217150 | Feb 2002 | WO |
WO 0231613 | Apr 2002 | WO |
WO 0231613 | Apr 2002 | WO |
WO 0233737 | Apr 2002 | WO |
WO 02074491 | Sep 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20020103866 A1 | Aug 2002 | US |