Control system methods that transfer control apparatus information over IP networks in web page-less transfers

Abstract
A system for process control comprises a server digital data processor and a client digital data processor that are coupled by a network, such as the Internet or an Intranet. The server digital data processor, which is additionally coupled to a control/sensing device and any associated interface equipment (collectively, referred to as “process control apparatus”), includes a command processor that transfers information between the network and the process control apparatus. The client digital data processor includes an information client (e.g., a so-called Internet web browser) capable of requesting and receiving an applet from the server digital data processor. The information client, further, defines a hardware-independent and operating system-independent virtual machine environment within the client digital data processor. The client digital data processor executes, within that virtual machine environment, an applet for configuring the client digital data processor as a “process controller” that establishes communications over the network with the command processor and that monitors and/or controls the process control apparatus via those communications.
Description
BACKGROUND OF THE INVENTION

The invention pertains to process control and has application to remote process control.


Process control refers to the control of the operational parameters of a system by monitoring one or more of its characteristics over time. It is used to insure that the quality and efficiency of the system remain within desired parameters over the course of time. While process control is typically employed in the manufacturing sector for process, repetitive and discrete manufactures, it also has wide application in service industries, such as environmental control.


Process control equipment typically utilizes control/sensing devices that are physically integrated into the systems being controlled. For example, a thermostat is typically used in environmental control to insure that building temperatures remain within specified parameters. Likewise, flow control sensors and automated valves are typically used in process manufacturing to insure proper fluid flow volumes.


Though in early process control systems, control/sensing devices were typically stand-alone units, modern process control systems provide central workstations for monitoring and controlling the control sensing devices. Particularly robust systems are the I/A Series industrial automation systems designed, manufactured and marketed by the assignee hereof, The Foxboro Company, of Foxboro, Mass., USA. In these systems, multiple control/sensing devices are coupled by way of buses to control stations which, in turn, are coupled by way of a local area network (LAN) to one or more operator workstations.


The I/A Series systems are built around the client/server model. Client applications software executing on the workstations exchange information with the control/sensing devices via a server, referred to as the “object manager,” executing in distributed fashion in the control stations. Upon request by a client application, the server creates, locates, accesses and updates data structures (“objects”) storing information on the status of at least selected control/sensing devices. For example, a client application that displays temperatures sensed by a thermocouple requests that the server create an object storing a temperature reading from the thermocouple and that the server notify the client each time the temperature changes.


Although modern process control systems, such as the I/A Series systems, have proven quite successful, to date they have provided only limited remote access capabilities. Thus, while numerous operator workstations may reside within the factory or facility in which the control/sensing devices are disposed, it has traditionally proven difficult to access and control those devices outside those areas.


Remote access and control of processes is desirable for a number of purposes. A plant manager who is “on the road,” for example, may wish to monitor the plant processes while travelling. By way of further example, the manufacturer of process control equipment may require remote access to a plant's control/sensing devices in order to provide technical support.


An object of this invention is to provide improved methods and apparatus for process control.


Another object of the invention is to provide such methods and apparatus as permit monitoring and control of remote processes.


Still another object of the invention is to provide such methods and apparatus as can be readily adapted to existing automated process control systems.


Yet still another object of the invention is to provide such methods and apparatus as can be implemented without undue expense and without undue consumption of resources.


SUMMARY OF THE INVENTION

The aforementioned objects are among those attained by the invention, which provides, in one aspect, a system for process control comprising a server digital data processor and a client digital data processor that are coupled by a network, such as the Internet or an Intranet. The server digital data processor, which is additionally coupled to a control/sensing device and associated interface equipment (collectively, referred to as “process control apparatus”), includes a command processor that transfers information between the network and the process control apparatus.


The client digital data processor includes an information client (e.g., an Internet web browser) capable of requesting and receiving an applet from the server digital data processor. That information client, further, defines a hardware-independent and operating system-independent virtual machine environment within the client digital data processor.


The client digital data processor executes, within that virtual machine environment, an applet that configures the client digital data processor as a “process controller” that establishes communications over the network with the command processor and that monitors and/or controls the process control apparatus via those communications. The applet is intermediate or executable code that is suitable for interpretation or execution within the virtual machine environment and that is hardware-independent, operating system-independent and windows system-independent


In further related aspects, the aforementioned applet can be, for example, JAVA programming language bytecode, and the virtual machine environment can be that created by a JAVA-enabled web browser.


According to other aspects of the invention, the command processor in a system for process control as defined above provides services (i.e., “software services”) for access and modification of information regarding the process control apparatus. These services can permit, for example, the creation of a data structure object that stores information about the process control apparatus and that associates a name with that object; the destruction of such an object; the accessing of information in such an object; the updating of information in such an object; the determination, from an object name, of the physical address of the object; and the notification of changes in information stored by the object. The process controller generates and transmits over the network to the command processor requests for such services in order to monitor and/or control the process control apparatus.


A further aspect of the invention provides a system as described above in which the process controller generates and transfers commands (e.g., requests for service) over the network to the command processor in order to effect a transfer from the command processor of information regarding a status of the process control apparatus. The command processor responds to those requests by generating information on the status of the process control apparatus and transferring it back to the process controller over the network. The process controller can, for example, generate a user display based on that information.


In a related aspect, the command processor responds to selected commands (i.e., requests for event-driving access) by notifying the process controller of changes in the status of at least selected aspects of the process control apparatus. By way of example, where the process control apparatus includes a thermocouple, this aspect of the invention permits notification of the command processor whenever the thermocouple senses a change in temperature that exceeds a predetermined delta value.


Still further aspects of the invention provide process control systems as described above in which the server digital data processor includes an information server (e.g., a hypertext transfer protocol server). An information client (e.g., web browser) in the client digital data processor establishes communications with the information server over the network and receives therefrom a hypertext markup language (HTML) document referencing the applet. The web browser generates a user display of that document and, in response to a user command, transfers to the information server a request for the applet.


Yet still further aspects of the invention provide systems for process control in which a first digital data processor executes a JAVA applet within a virtual machine environment defined on the digital data processor. The applet configures the digital data processor to generate a message to invoke a method in connection with monitoring and/or controlling a process control apparatus. An object manager, which is in communication with the JAVA applet, responds to the message for invoking the method.


Other aspects of the invention provide methods for process control paralleling the operations of the systems described above.


These and other aspects of the invention are evident in the drawings and in the detailed description that follows.





BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the invention may be attained by reference to the drawings, in which



FIG. 1 depicts a system for process control according to the invention; and



FIG. 2 is an event trace diagram depicting messages that flow among the components of the system of FIG. 1 in an embodiment for graphing tends in process control apparatus data values.





DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT


FIG. 1 depicts a system 10 for process control according to the invention. The system includes client digital data processors 12, 14 and server digital data processor 16. The digital data processors 12, 14, 16 are connected to one another via network 18.


Server digital data processor 16 is, additionally, coupled to process control apparatus 19a-19e via bus/network structure 30 and control stations 23a-23e, as shown. The process control apparatus include conventional control/sensing devices, which are shown in the illustration as flow control valves, and associated interface equipment, which are marked “FBM” in the illustration. The process control apparatus 19a-19e are intended to represent any conventional control/sensing devices and interface equipment of the type conventionally used to monitor and control processes—including, by way of non-limiting example, continuous, repetitive and discrete processes, and environmental control processes, among others.


As discussed below, control stations 23a-23e include objects storing information that control, and reflect the status of, their associated process control apparatus 19a-19e. The control stations 23a-23e also execute object management software (marked “OM”) that manage and oversee access to those objects. The control stations 23a-23e are of the type conventionally used in a distributed process control architecture. Preferred such control stations are commercially available from the assignee hereof, The Foxboro Company, as part of its I/A Series industrial automation systems.


The digital data processors 12, 14, 16 comprise conventional digital data processing systems of the type commercially available in the marketplace. Though client digital data processors 12, 14 are illustrated as a portable computer and a personal digital assistant, respectively, those skilled in the art will appreciate that these may comprise other computing systems, such as desktop computers and workstations, as well. The digital data processors 12, 14, 16 may be coupled to the network 18 directly, as shown, or other networks (e.g., LANs and WANs), routers, or interface servers (not shown).


The network 18 comprises any conventional digital data processing network (e.g., LAN or WAN), cable television-based network, wireless network and/or any telecommunications-based network capable of supporting communications between server digital data processor 16 and client digital data processors 12, 14. The network 18 preferably comprises the global Internet and/or an enterprise-based Intranet supporting communications via the TCP/IP protocol (i.e., the current standard protocol of the Internet). Utilization of networks supporting this protocol is advantageous insofar as it permits the use of commercially available products (such as web browsers, discussed below) in components of the illustrated embodiment. Those skilled in the art will appreciate that the invention is applicable to networks supporting other protocols, as well.


The digital data processors 12, 14, 16 execute software that respectively configure them for communication over the network 18. For example, they execute protocol stacks and other software that permit them to establish and carry out communications utilizing the TCP/IP network protocol. In addition, they execute information client/server software that configures them to carry on high-level communications, particularly, over the Internet.


More particularly, in the illustrated embodiment, server digital data processor 16 includes information server 20 responsible for establishing communications over network 18 with information clients executing on the client digital data processors 12, 14.


The information server 20 is preferably a hypertext transfer protocol (HTTP) server capable of transferring markup language information and, particularly, hypertext markup language (HTML) documents, to the client digital data processors 12, 14. In alternative embodiments of the invention, information server 20 can comprise any other such server capable of supplying an applet to the client digital data processors 12, 14 in response to requests by them.


The information server 20 establishes communications with the client digital data processors 12, 14 and, particularly, their respective information clients in the conventional manner known in the art. Once communications are established, the information server transfers to the information client an applet that executes within the virtual machine environment and that monitors and/or controls the process control apparatus via communications with a command processor in the server digital data processor 16, as discussed below.


The client digital data processors 12, 14 include information clients 22, 24, respectively, that are responsible for initiating and conducting at least preliminary communications with the server digital data processor 16 over the network 18. The information clients 22, 24, particularly, (1) initiate communications with the information server 20 over the network, (2) request and receive from the information server 20 an applet, and (3) define a platform-independent (i.e., a hardware-independent, operating system-independent and window system-independent) virtual machine environment within the respective client digital data processor 12, 14. Such information clients are, in one embodiment, JAVA-compliant web browsers including the HotJava browser from Sun MicroSystems, Inc., NetScape Navigator from Netscape Communications Corporation, and the Internet Explorer from Microsoft Corporation.


As used herein, an applet is intermediate or executable code suitable for interpretation or execution within the virtual machine environment and that is hardware-independent, operating system-independent and windows system-independent. Preferred applets are in the form of Java bytecode of the type generated by the Java language compiler available from Sun Microsystems, Inc.


The aforementioned preferred web browsers define a preferred virtual machine environment comprising the Java programming language run-time platform and Java interpreter.


Although a preferred information client is a web browser, the invention can be practiced with other information clients capable of (1) initiating communications with the information server 20, (2) requesting and receiving from the information server 20 an applet, and (3) defining a platform-independent (i.e., a hardware-independent, operating system-independent and windows system independent) virtual machine environment within the respective client digital data processor 12, 14 for execution of such an applet.


In addition to information server 20, server digital data processor 16 includes command processor 25, comprising front end 25a, interface section 25b, and an object manager 25c. Together, these transfer information between the network 18 and process control apparatus 19a-19e. As shown in the illustration, the object manager functionality is distributed among the control stations 23a-23e. Each object manager maintains the data structures—to with, objects—that control and reflect the status of its associated process control apparatus 19a-19e.


The object manager 25c provides software services for access that permit the creation of named objects; destruction of such objects; accessing and updating of information in the objects; the locating of objects within the distributed process control architecture; and notification of changes in the information stored in objects (i.e., event-driven notification).


As noted, the object manager 25c allows uniquely named objects to be distributed over the control stations 23a-23e in a location-independent way. Using the object manager 25c (via front end 25a), applets 26, 28 may create, read, write, and destroy instances of objects, which are subtyped into four categories: variaible—used to contain an instance of any scalar data type (e.g., int, float, etc.) or a string; alias—used to contain a string which refers to the name of another object; device—used to identify a station or device in the system. An instance of a device type object contains no explicit state—the name of the object is itself the state; and process—used to identify an executing process in the system. A process object is identical to a device object in that there is no explicit state.


As indicated above, in order to manipulate instances of objects, the object manager 25c provides life cycle services, access services and connection services. Life cycle services are used to create, name, and destroy shared objects; to register the name of process-control objects; and to find the location of any object. Access Services are used to get and set the value of one or more process-control and/or shared objects. Typically, access services are suitable for situations where a single transfer of data is sufficient.


Connection services are also used to get and set the value of one or more process-control and/or shared objects. However, these services are more suited for situations where multiple transfers of data are expected. In addition, connection services provide the ability for a client to be continuously updated with the value of an object when it exceeds a specified delta.


The object manager 25c relies upon the use of broadcasts over bus stricture 30 in order to perform the above services. For example, when an applet 26, 28 makes an access request on an object by name, the object manager 25c will broadcast the access request to all stations 23a-23e, if the object manager 25c does not know the location of object. Each station 23a-23e then determines if it is the one that hosts the requested object. Only the station that hosts the named object responds to the request.


A preferred object manager 25c is that commercially available from the assignee hereof, The Foxboro Company, as part of its I/A Series of industrial automation systems. A software interface, or “API,” of that preferred object manager is described in publicly available documentation, including the document entitled “Object Manager Calls,” a copy of which is filed as an appendix herewith.


The command processor front end 25a executes on server digital data processor 16, configuring it to respond to requests from applets 26, 28 to establish communications with them over the network 18. Once communications are established, the front end 25a responds to requests received from applets 26, 28 over network 18 to transfer information to and from process control apparatus 19a-19e via the object manager 25c.


Particularly, the front end 25a responds to requests received over the network in TCP/IP protocol to generate calls to object manager 25c in accord with its aforementioned API. Moreover, the front end 25a responds to information generated by the object manager 25c in response to those calls by transmitting that information back over the network 18, in accord with the TCP/IP protocol, to the applets 26, 28. In a preferred embodiment, the front end 25a presents a simplified interface to the object manager 25c, e.g., permitting applets 26, 28 to make requests and receive responses in the form of text strings, as discussed below.


Software implementing a preferred front end 25a as a Java programming language application is filed as appendix hereto. Those skilled in the art will appreciate that alternate embodiments may implement the front end in other programming languages suitable for, or that can be adapted to, provide an interface between the network 18 protocol and the object manager 25c.


Interface section 25b provides a software interface between the front end 25a and the object manager 25c. As noted above, in a preferred embodiment, the front end 25a is implemented as a Java programming language application. The object manager 25c, on the other hand, is implemented as a C programming language application and, accordingly, its API includes pointer-based parameters. The interface section 25b compensates for the inability of the Java front end 25a to utilize pointer-based parameters, e.g., by converting them to arrays as discussed further below.


Software implementing a preferred interface section 25b in the C programming language is filed as appendix hereto. Those skilled in the art will appreciate that interface section 25b is optional and may be excluded in embodiments where the front end 25a can make calls directly to the object manager 25c.


The client digital data processors 12, 14 execute applets 26, 28 within the virtual machine environments defined by the information clients 22, 24. Each applet 26, 28 configures its respective client digital data processors as a process controller that establishes communications over the network 18 with the command processor front end 25a and that monitors and/or controls the process control apparatus 19a-19e via those communications. More particularly, the process controllers generate and transfer requests for service over the network 18 to the command processor 25 so as to effect the transfer of information controlling, and reflecting the status of, the process control apparatus 19a-19e. The process controllers also receive information from the command processor 25, e.g., for display to an operator.


As noted above, the applets 26, 28 comprise intermediate or executable code that is interpreted or executed with in the virtual machine environment defined by the information clients and that is hardware-independent, operating system-independent and windows system-independent. Source code for preferred applets, in the Sun MicroSystems Java programming language, is provided in the appendix filed herewith.


A process control system constructed and operated in accord with system 10 of FIG. 1 can be employed in a wide variety of process control embodiments. One such embodiment is shown in FIG. 2 and described below. That embodiment provides for generation, by an applet executing on the client digital data processor, of graphs showing trends in data values of process control apparatus coupled to a server digital data processor.



FIG. 2 is an event trace diagram depicting messages that flow among the components of the system 10 of FIG. 1 in the above-mentioned embodiment. The components of the system 10 are shown in the event trace diagram as vertical lines with the name of the component at the bottom of the line. Messages are represented by arrows. Each message flows in the direction of the arrow from component to component. Messages that happen earlier in time are toward the top of the diagram.


Referring to FIG. 2, communication begins with the operator signalling the information client 22 to establish communications with the server digital data processor 16 over the network 18. The operator can signal the information client, e.g., a keyboard stroke or “mouse” click on the operator console (not shown). In the illustrated embodiment, the information client 22 is the Netscape web browser.


In response the operator's request, the information client 22 generates and transmits over network 18 a request for connection with information server 20, e.g., an HTTP server, executing on server digital data processor 16. Once the connection is established, the HTTP server 20 sends to the web browser 22 an HTML page that references (i.e., provides an address for) a trend-graphing applet. The HTML page also optionally includes text and graphics describing the applet.


The web browser 22 displays the HTML on the operator console. If the operator signals the web browser 22 that he or she wishes to access the applet, the web browser 22 transmits to the HTTP server 20 over the network 18 a request for the applet. It will be appreciated that the applet may be transmitted to the web browser 22, along with an initial HTML document.


The HTTP server 20 responds to such a request for forwarding Java bytecode for the applet over the network 18 to the web browser 22. On receipt of the applet, the JAVA-compatible web browser 22 executes the applet 26 in the virtual machine environment defined in the web browser 22.


Once executing, the applet 26 sends a request to establish a separate communications link over the network 18 with the command processor front end 25a, e.g., a Java application executing on the server digital data processor 16. This separate connection is used by the applet 26 and the front end 25a to permit the exchange messages over the network and, particularly, to permit the applet 26 to make requests of the command processor 25 for process control apparatus data to be graphed.


Once communications are established, the applet 26, 28 generates a display on the operator console of the client digital data processor 12 and permits the operator to enter the names of process control apparatus data values (i.e., “points”) that are to be graphed. On the operator's command, the applet 26 sends a request over the network 18 to the front end 25a specifying the OMOPEN service and listing the names of operator-specified points. The request is in text or ASCII format, e.g., “OMOPEN name1; name2; name3; etc.”


On receipt of the OMOPEN request, the front end 25a creates a data structure required by object manager 25c, to with an OM list, and includes in that data structure the names of the specified points. The front end 25a then makes an “omopen list” call to the object manager 25c utilizing the aforementioned API. A further understanding of the OM list data structure and of the “omopen list” call, as well as the other data strictures and calls to the object manager 25c, may be attained by reference to the appendix filed herewith.


The object manager 25c responds to the omopen list call by querying the respective process control apparatus 19a-19e for current data values for the points. The object manager 25c returns those data values to the front end 25a which, in turn, generates and transmits to the applet 26, 28 a text message listing the initial data points. That message includes the keyword OMUPDATE, followed by the names and values of each of the points, e.g., “OMUPDATE point1=value; point2=value; etc.” The applet 26, 28 graphs those initial data points on the operator console.


The object manager 25c then begins looping, while awaiting further requests from the client applet 26 and while awaiting updates on the data values from the object manager 25c. When such an update is received, the front end 25a generates and transmits to the applet 26 a further text message in the form “OMUPDATE point1=value; point2=value; etc.” listing the updated data values points. The applet 26 graphs those initial data points on the operator console at the end of the graph time interval.


The front end 25a continues looping and forwarding updates until the operator signals the applet 26 to stop trend graphing. In that event, the applet 26 sends a close request over the network to the front end 25a in the form of a text message “OMCLOSE.” On receipt of that request, the front end 25a, in turn, makes an omclose list call to the object manager 25c in accord with the aforementioned API. When that call returns, front end 25a sends an “OMCLOSEOK” text message to the applet, 26 causing it to clear the trend graph.


At this point, the operator can either specify new points to the applet 26 or can tell the web browser 22, 24 to connect to a different information server. If the operator signals that he or she wishes to connect to another server, the client applet 26 breaks the connection with the server by sending an “OMBREAK” message to the front end 25a over the network. The front end 25a than resets, and waits for the next connection.


In a preferred embodiment, the method illustrated in FIG. 2 is implemented in the Java programming language. As those skilled in the art will appreciate and as discussed above, all Java applets and Java applications run inside of a Java Virtual Machine. All implementations of the Java Virtual Machine are guarantied to be identical regardless of the many hardware platforms on which they run.


The above-described trend-graphing client Java applet preferably runs in the Java Virtual Machine that is implemented by Netscape Navigator version 2.02. The trend client applet 26 is intended to be portable. So it only uses those classes that are present in all implementations of the Java systems. The trend-graphing applet 26 uses Java system classes to manage the screen, and connect to the trend server, and provide timing intervals.


The trend-graphing applet 26 implements classes that conduct all operator interaction. For example, it accept the names of the points to be graphed. It also defines the GUI buttons used by the operator to signal when graphing is to start or stop. Further, the trend-graphing applet 26 plots X-Y axes, graph the points, and parses messages from the front end 25a.


The applet 26 also processes the following messages from the server: “OMUPDATE name2=value; name3=value; . . . ”; OMCLOSEOK.


The illustrated front end 25 (or “trend-graphing server”) is not portable to just any Java Virtual Machine because it must call outside of the Java environment to the object manager 25c. To do this, the trend server class is defined to have “native methods”. A “native method” is any member function of a class that is implemented in a language other than Java. A native method can enable access to functions and data that are “native” to a particular hardware platform operating system or a running application (like the object manager 25c).


Native member functions are declared in the class as native. They are implemented in a library that is loaded by the Java environment at runtime. On Solaris this is a libfile.so file. On Windows NT this would be a library.dbl file. The native methods, which constitute the interface 25b, are defined to create a new OM list, add a named point to the list, open the list, check the list for updates (using dqchange), and close the list. Source code for a preferred implementation of native methods is supplied in the appendix filed herewith.


The command processor front end 25a runs in a Solaris implementation of the Java Virtual Machine. The front end 25a processes the following messages from the applet 26: “OMOPEN name1; name2; name3; . . . ” (in response to which it creates a list with the specified points and opens the list): “OMCLOSE” (in response to which it closes the list); and “OMBREAK” (in response to which reset and wait to accept a new connection).


Described above and illustrated in the drawings are improved methods and apparatus for process control. Those skilled in the art will appreciate that the embodiments discussed above and shown in the claims are merely illustrative and that other embodiments incorporating modifications within the reach of one of ordinary skill in the art fall within the scope of the invention, of which we claim:

Claims
  • 1. A method of operating a control system of the type having a control apparatus comprising one or more control/sensing devices, the method comprising the steps of: A. transferring a program to a digital data processor via an internet protocol (IP) network, wherein that IP network supports communications in a plurality of formats including at least a first format and a second format, wherein said first format comprises an HTML page format,B. executing the program on the digital data processor, the program configuring the digital data processor to generate at least one request for a process variable associated with the control apparatus and to transfer the at least one request via the IP network in the second format, wherein that second format is different from the first format,C. the program further configuring the digital data processor to receive, via the IP network, information associated with the control apparatus in response to the at least one transferred request; wherein the second format comprises naming one or more software services that include any of a first service that creates and/or opens a list of points in the control system, a second service that lists data values for those points, and a third service that closes the list of points in the control system.
  • 2. The method of claim 1, comprising transferring response information between the digital data processor and the interface by way of the IP network.
  • 3. The method of claim 2, wherein the second format comprises text strings.
  • 4. The method of claim 1, wherein the program configures the digital data processor as a process controller for monitoring and/or controlling the control apparatus.
  • 5. The method of claim 1, wherein the program comprises a JAVA applet.
  • 6. The method of claim 1, wherein the program comprises an intermediate language program.
  • 7. The method of claim 1, wherein the program comprises a byte code program.
  • 8. The method of claim 1, wherein the program comprises a downloaded program that executes in a virtual machine environment.
  • 9. The method of claim 1, wherein the program comprises a program that executes in a web browser.
  • 10. The method of claim 1, wherein the first format comprises HTML pages transmitted in accordance with a hypertext transfer protocol.
  • 11. The method of claim 1, wherein the program configures the digital data processor to open a connection over the IP network to a command processor that transfers information between the IP network and the control apparatus.
  • 12. A method of operating a control system of the type having a control apparatus comprising one or more control/sensing devices, the method comprising the steps of: A. transferring a program from a server to a digital data processor via an internet protocol (IP) network wherein that IP network supports communications in a plurality of formats including at least a first format and a second format, wherein said first format comprises an HTML page format,B. executing the program on the digital data processor, the program configuring the digital data processor to receive information associated with the control apparatus via the IP network and in the second format, wherein that second format is different from the first format; wherein the second format comprises naming one or more software services that include any of a first service that creates and/or opens a list of points in the control system, a second service that lists data values for those points, and a third service that closes the list of points in the control system.
  • 13. The method of claim 12, wherein the second format comprises text strings.
  • 14. The method of claim 12, comprising generating, with an interface that is coupled to the control apparatus and to the digital data processor, said information associated with the control apparatus, where that information is generated in response to a request generated by the program.
  • 15. The method of claim 14, comprising generating and transmitting the information on the IP network in a text form.
  • 16. The method of claim 14, comprising executing the interface at least in part on the server.
  • 17. The method of claim 16, wherein the program configures the digital data processor to send the requests over the IP network in a text form.
  • 18. The method of claim 12, wherein the program comprises a JAVA applet.
  • 19. The method of claim 12, wherein the program comprises an intermediate language program.
  • 20. The method of claim 12, wherein the program comprises a byte code program.
  • 21. The method of claim 12, wherein the program comprises a downloaded program that executes in a virtual machine environment.
  • 22. The method of claim 12, wherein the program comprises a program that executes in a web browser.
  • 23. The method of claim 12, wherein the program configures the digital data processor to generate, as at least one of the requests, a request for a process variable associated with the control apparatus.
  • 24. The method of claim 12, wherein the first format comprises HTML pages transmitted in accordance with a hypertext transfer protocol.
  • 25. The method of claim 12, wherein the program configures the digital data processor to open a connection over the IP network to a command processor that transfers information between the IP network and the control apparatus.
  • 26. A method of operating a control system of the type having a control apparatus comprising one or more control/sensing devices, the method comprising the steps of: A. executing a program within a web browser of a digital data processor, the web browser being configured to receive information from a network that supports communications in a plurality of formats including at least a first format and a second format, wherein said first format comprises an HTML page format, and the program (i) configuring the digital data processor for monitoring the control apparatus, and(ii) generating a request for information associated with the control apparatus in accordance with a second format, wherein that second format is different from the first format,B. with an interface that is in communication with the control apparatus and the digital data processor, responding to the request for transmitting information associated with the control apparatus; wherein the second format comprises naming one or more software services that include any of a first service that creates and/or opens a list of points in the control system, a second service that lists data values for those points, and a third service that closes the list of points in the control system.
  • 27. The method of claim 26, wherein the second format comprises text strings.
  • 28. The method of claim 26, comprising communicating between the digital data processor and the interface via an internet protocol (IP) network.
  • 29. The method of claim 26, wherein the first format comprises HTML pages transmitted in accordance with a hypertext transfer protocol.
  • 30. The method of claim 26, wherein the program configures the digital data processor to open a connection over the IP network to a command processor that transfers information between the IP network and the control apparatus.
Parent Case Info

This is a continuation of Ser. No. 10/765,006, filed Jan. 26, 2004, entitled METHODS AND APPARATUS FOR REMOTE PROCESS CONTROL, which is a continuation of Ser. No. 09/379,074, filed Aug. 23, 1999, entitled METHODS AND APPARATUS FOR REMOTE PROCESS CONTROL, which is a continuation of Ser. No. 08/700,199, filed Aug. 29, 1996, entitled METHODS AND APPARATUS FOR REMOTE PROCESS CONTROL, the teachings of all of which are incorporated herein by reference.

US Referenced Citations (513)
Number Name Date Kind
3096434 King Jul 1963 A
3404264 Kugler Oct 1968 A
3701280 Stroman Oct 1972 A
3810119 Zieve et al. May 1974 A
3825905 Allen, Jr. Jul 1974 A
RE29383 Gallatin et al. Sep 1977 E
4058975 Gilbert et al. Nov 1977 A
4096566 Borie et al. Jun 1978 A
4302820 Struger et al. Nov 1981 A
4312068 Goss et al. Jan 1982 A
4323966 Whiteside et al. Apr 1982 A
4347563 Paredes et al. Aug 1982 A
4351023 Richer Sep 1982 A
4377000 Staab Mar 1983 A
4410942 Milligan et al. Oct 1983 A
4423486 Berner Dec 1983 A
4428044 Liron Jan 1984 A
4435762 Milligan et al. Mar 1984 A
4456997 Spitza et al. Jun 1984 A
4466098 Southard Aug 1984 A
4471457 Videki, II Sep 1984 A
4488226 Wagner, Jr. et al. Dec 1984 A
4493027 Katz et al. Jan 1985 A
4530234 Cullick et al. Jul 1985 A
4609995 Hasebe et al. Sep 1986 A
4612620 Davis et al. Sep 1986 A
4615001 Hudgins, Jr. Sep 1986 A
4628437 Poschmann et al. Dec 1986 A
4641276 Dunki-Jacobs Feb 1987 A
4648064 Morley Mar 1987 A
4649479 Advani et al. Mar 1987 A
4663704 Jones et al. May 1987 A
4672530 Schuss Jun 1987 A
4675812 Capowski et al. Jun 1987 A
4682304 Tierney Jul 1987 A
4683530 Quatse Jul 1987 A
4692859 Ott Sep 1987 A
4692918 Elliott et al. Sep 1987 A
4703421 Abrant et al. Oct 1987 A
4709325 Yajima et al. Nov 1987 A
4719593 Threewitt et al. Jan 1988 A
4727477 Gavril Feb 1988 A
4733366 Deyesso et al. Mar 1988 A
4740955 Litterer et al. Apr 1988 A
4742349 Miesterfeld et al. May 1988 A
4750109 Kita et al. Jun 1988 A
4790762 Harms et al. Dec 1988 A
4800512 Busch Jan 1989 A
4805107 Kieckhafer et al. Feb 1989 A
4816996 Hill et al. Mar 1989 A
4817094 Lebizay et al. Mar 1989 A
4839854 Sakami et al. Jun 1989 A
4872106 Slater Oct 1989 A
4885707 Nichol et al. Dec 1989 A
4896290 Rhodes et al. Jan 1990 A
4897777 Janke et al. Jan 1990 A
4910658 Dudash et al. Mar 1990 A
4910691 Skeirik Mar 1990 A
4918690 Markkula, Jr. et al. Apr 1990 A
4924462 Sojka May 1990 A
4934196 Romano Jun 1990 A
4940974 Sojka Jul 1990 A
4958277 Hill et al. Sep 1990 A
4959774 Davis Sep 1990 A
4965717 Cutts, Jr. et al. Oct 1990 A
4965742 Skeirik Oct 1990 A
4965880 Petitjean et al. Oct 1990 A
4991076 Zifferer et al. Feb 1991 A
4991170 Kem Feb 1991 A
5008805 Fiebig et al. Apr 1991 A
5050165 Yoshioka et al. Sep 1991 A
5068778 Kosem et al. Nov 1991 A
5122948 Zapolin Jun 1992 A
5129087 Will Jul 1992 A
5131092 Sackmann et al. Jul 1992 A
5134574 Beaverstock et al. Jul 1992 A
5136704 Danielsen et al. Aug 1992 A
5138708 Vosbury Aug 1992 A
5146589 Peet, Jr. et al. Sep 1992 A
5150289 Badavas Sep 1992 A
5151930 Hagl Sep 1992 A
5151978 Bronikowski et al. Sep 1992 A
5151981 Westcott et al. Sep 1992 A
5159673 Sackmann et al. Oct 1992 A
5162986 Graber et al. Nov 1992 A
5163055 Lee et al. Nov 1992 A
5166685 Campbell, Jr. et al. Nov 1992 A
5168276 Huston et al. Dec 1992 A
5170340 Prokop et al. Dec 1992 A
5175698 Barbanell Dec 1992 A
5175829 Stumpf et al. Dec 1992 A
5193175 Cutts, Jr. et al. Mar 1993 A
5212784 Sparks May 1993 A
5218187 Koenck et al. Jun 1993 A
5233615 Goetz Aug 1993 A
5245704 Weber et al. Sep 1993 A
5251125 Karnowski et al. Oct 1993 A
5255367 Bruckert et al. Oct 1993 A
5257208 Brown et al. Oct 1993 A
5258999 Wernimont et al. Nov 1993 A
5271013 Gleeson Dec 1993 A
5283729 Lloyd Feb 1994 A
5289365 Caldwell et al. Feb 1994 A
5291390 Satou et al. Mar 1994 A
5295258 Jewett et al. Mar 1994 A
5295263 Kojima et al. Mar 1994 A
5297143 Fridrich et al. Mar 1994 A
5301346 Notarianni et al. Apr 1994 A
5302952 Campbell, Jr. et al. Apr 1994 A
5303227 Herold et al. Apr 1994 A
5303375 Collins et al. Apr 1994 A
5303392 Carney et al. Apr 1994 A
5307372 Sawyer et al. Apr 1994 A
5307463 Hyatt et al. Apr 1994 A
5310998 Okuno et al. May 1994 A
5317726 Horst May 1994 A
5325339 Yost et al. Jun 1994 A
5327144 Stilp et al. Jul 1994 A
5335186 Tarrant Aug 1994 A
5335221 Snowbarger et al. Aug 1994 A
5339362 Harris Aug 1994 A
5339680 Bronkal et al. Aug 1994 A
5347181 Ashby et al. Sep 1994 A
5349343 Oliver Sep 1994 A
5349678 Morris et al. Sep 1994 A
5352033 Gresham et al. Oct 1994 A
5359721 Kempf et al. Oct 1994 A
5361198 Harmon et al. Nov 1994 A
5371895 Bristol Dec 1994 A
5381529 Matsushima et al. Jan 1995 A
5384910 Torres Jan 1995 A
5386373 Keeler et al. Jan 1995 A
5386417 Daugherty et al. Jan 1995 A
5390321 Proesel Feb 1995 A
5392280 Zheng Feb 1995 A
5398331 Huang et al. Mar 1995 A
5400140 Johnston et al. Mar 1995 A
5410141 Koenck et al. Apr 1995 A
5410492 Gross et al. Apr 1995 A
5410717 Floro Apr 1995 A
5421017 Scholz et al. May 1995 A
5422816 Sprague et al. Jun 1995 A
5426732 Boies et al. Jun 1995 A
5428769 Glaser et al. Jun 1995 A
5428781 Duault et al. Jun 1995 A
5432705 Severt et al. Jul 1995 A
5434952 Yen et al. Jul 1995 A
5434997 Landry et al. Jul 1995 A
5437007 Bailey et al. Jul 1995 A
5440237 Brown et al. Aug 1995 A
5442791 Wrabetz et al. Aug 1995 A
5444851 Woest Aug 1995 A
5444861 Adamec et al. Aug 1995 A
5450403 Ichii et al. Sep 1995 A
5450425 Gunn et al. Sep 1995 A
5450764 Johnston et al. Sep 1995 A
5451939 Price et al. Sep 1995 A
5453933 Wright et al. Sep 1995 A
5457797 Butterworth et al. Oct 1995 A
5459825 Anderson et al. Oct 1995 A
5459839 Swarts et al. Oct 1995 A
5461611 Drake, Jr. et al. Oct 1995 A
5463735 Pascucci et al. Oct 1995 A
5467264 Rauch et al. Nov 1995 A
5469570 Shibata et al. Nov 1995 A
5475856 Kogge Dec 1995 A
5481715 Hamilton et al. Jan 1996 A
5481741 McKaskle et al. Jan 1996 A
5483660 Yishay et al. Jan 1996 A
5485617 Stutz et al. Jan 1996 A
5485620 Sadre et al. Jan 1996 A
5490276 Doli, Jr. et al. Feb 1996 A
5491625 Pressnall et al. Feb 1996 A
5491791 Glowny et al. Feb 1996 A
5493534 Mok Feb 1996 A
5499023 Goldschmidt Mar 1996 A
5499365 Anderson et al. Mar 1996 A
5500934 Austin et al. Mar 1996 A
5501608 Scheer et al. Mar 1996 A
5504895 Kurosawa et al. Apr 1996 A
5504902 McGrath et al. Apr 1996 A
5509811 Homic Apr 1996 A
5513095 Pajonk et al. Apr 1996 A
5513192 Janku et al. Apr 1996 A
5513354 Dwork et al. Apr 1996 A
5517645 Stutz et al. May 1996 A
5517655 Collins et al. May 1996 A
5519701 Colmant et al. May 1996 A
5522044 Pascucci et al. May 1996 A
5526287 French Jun 1996 A
5526353 Henley et al. Jun 1996 A
5530643 Hodorowski Jun 1996 A
5530868 Record et al. Jun 1996 A
5531328 Rochelo et al. Jul 1996 A
5534912 Kostreski Jul 1996 A
5535425 Watanabe Jul 1996 A
5539638 Keeler et al. Jul 1996 A
5539909 Tanaka et al. Jul 1996 A
5541810 Donhauser et al. Jul 1996 A
5544008 Dimmick et al. Aug 1996 A
5544073 Piety et al. Aug 1996 A
5544321 Theimer et al. Aug 1996 A
5548528 Keeler et al. Aug 1996 A
5550980 Pascucci et al. Aug 1996 A
5551047 Mori et al. Aug 1996 A
5555213 DeLong Sep 1996 A
5555437 Packer Sep 1996 A
5555510 Verseput et al. Sep 1996 A
5559963 Gregg et al. Sep 1996 A
5561770 de Bruijn et al. Oct 1996 A
5563400 Le Roux et al. Oct 1996 A
5564055 Asnaashari et al. Oct 1996 A
5568378 Wojsznis Oct 1996 A
5570300 Henry et al. Oct 1996 A
5572643 Judson Nov 1996 A
5572673 Shurts Nov 1996 A
5576946 Bender et al. Nov 1996 A
5579487 Meyerson et al. Nov 1996 A
5581760 Atkinson et al. Dec 1996 A
5586066 White et al. Dec 1996 A
5586112 Tabata et al. Dec 1996 A
5586156 Gaubatz Dec 1996 A
5586329 Knudsen et al. Dec 1996 A
5586330 Knudsen et al. Dec 1996 A
5587899 Ho et al. Dec 1996 A
5594899 Knudsen et al. Jan 1997 A
5596752 Knudsen et al. Jan 1997 A
5598536 Slaughter, III et al. Jan 1997 A
5600845 Gilson Feb 1997 A
5602749 Vosburgh Feb 1997 A
5604737 Iwami et al. Feb 1997 A
5604871 Pecone Feb 1997 A
5608607 Dittmer Mar 1997 A
5608608 Flint et al. Mar 1997 A
5611057 Pecone et al. Mar 1997 A
5613148 Bezviner et al. Mar 1997 A
5613164 DiAngelo et al. Mar 1997 A
5613190 Hylton Mar 1997 A
5617540 Civanlar et al. Apr 1997 A
5621890 Notarianni et al. Apr 1997 A
5623670 Bohannon et al. Apr 1997 A
5627979 Chang et al. May 1997 A
5629872 Gross et al. May 1997 A
5629949 Zook May 1997 A
5630056 Horvath et al. May 1997 A
5630152 DeLuca et al. May 1997 A
5633811 Canada et al. May 1997 A
5642259 Ma et al. Jun 1997 A
5642511 Chow et al. Jun 1997 A
5648768 Bouve Jul 1997 A
5649121 Budman et al. Jul 1997 A
5655092 Ojala et al. Aug 1997 A
5659680 Cunningham et al. Aug 1997 A
5664101 Picache Sep 1997 A
5664168 Yishay et al. Sep 1997 A
5671374 Postman et al. Sep 1997 A
5671436 Morris et al. Sep 1997 A
5676141 Hollub Oct 1997 A
5680404 Gray et al. Oct 1997 A
5680409 Qin et al. Oct 1997 A
5682317 Keeler et al. Oct 1997 A
5682476 Tapperson et al. Oct 1997 A
5687316 Graziano et al. Nov 1997 A
5691897 Brown et al. Nov 1997 A
5700090 Eryurek Dec 1997 A
5701414 Cheng et al. Dec 1997 A
5701484 Artsy Dec 1997 A
5704011 Hansen et al. Dec 1997 A
5706502 Foley et al. Jan 1998 A
5708709 Rose Jan 1998 A
5708779 Graziano et al. Jan 1998 A
5713045 Berdahl Jan 1998 A
5715178 Scarola et al. Feb 1998 A
5716221 Kantner Feb 1998 A
5717880 Imai et al. Feb 1998 A
5724025 Tavori Mar 1998 A
5726911 Canada et al. Mar 1998 A
5727128 Morrison Mar 1998 A
5732074 Spaur et al. Mar 1998 A
5732218 Bland et al. Mar 1998 A
5734902 Atkins et al. Mar 1998 A
5737529 Dolin, Jr. et al. Apr 1998 A
5740429 Wang et al. Apr 1998 A
5740441 Yellin et al. Apr 1998 A
5742596 Baratz et al. Apr 1998 A
5742762 Scholl et al. Apr 1998 A
5745049 Akiyama et al. Apr 1998 A
5746511 Eryurek et al. May 1998 A
5748467 Qin et al. May 1998 A
5748896 Daly et al. May 1998 A
5748912 Lee May 1998 A
5752007 Morrison May 1998 A
5752008 Bowling May 1998 A
5752246 Rogers et al. May 1998 A
5754772 Leaf May 1998 A
5754830 Butts et al. May 1998 A
5757925 Faybishenko May 1998 A
5758073 Liang et al. May 1998 A
5758075 Graziano et al. May 1998 A
5761033 Wilhelm Jun 1998 A
5761090 Gross et al. Jun 1998 A
5761405 Tadamura et al. Jun 1998 A
5761421 van Hoff et al. Jun 1998 A
5761477 Wahbe et al. Jun 1998 A
5761499 Sonderegger Jun 1998 A
5764906 Edelstein et al. Jun 1998 A
5768119 Havekost et al. Jun 1998 A
5768510 Gish Jun 1998 A
5774378 Yang et al. Jun 1998 A
5774670 Montulli Jun 1998 A
5777874 Flood et al. Jul 1998 A
5778368 Hogan et al. Jul 1998 A
5787247 Norin et al. Jul 1998 A
5787272 Gupta et al. Jul 1998 A
5787280 Joseph et al. Jul 1998 A
5790791 Chong et al. Aug 1998 A
5793963 Tapperson et al. Aug 1998 A
5794071 Watanabe et al. Aug 1998 A
5796602 Wellan et al. Aug 1998 A
5797038 Crawford et al. Aug 1998 A
5801770 Paff et al. Sep 1998 A
5801942 Nixon et al. Sep 1998 A
5802389 McNutt Sep 1998 A
5805153 Nielsen Sep 1998 A
5805442 Crater et al. Sep 1998 A
5805922 Sim et al. Sep 1998 A
5809247 Richardson et al. Sep 1998 A
5812394 Lewis et al. Sep 1998 A
5815659 Umetsu et al. Sep 1998 A
5822220 Baines Oct 1998 A
5828567 Eryurek et al. Oct 1998 A
5828851 Nixon et al. Oct 1998 A
5831669 Adrain Nov 1998 A
5832268 Anderson et al. Nov 1998 A
5835704 Li et al. Nov 1998 A
5835712 DuFresne Nov 1998 A
5835724 Smith Nov 1998 A
5835789 Ueda et al. Nov 1998 A
5838910 Domenikos et al. Nov 1998 A
5839094 French Nov 1998 A
5841360 Binder et al. Nov 1998 A
5841654 Verissimo et al. Nov 1998 A
5841963 Nakamikawa et al. Nov 1998 A
5841991 Russell Nov 1998 A
5844601 McPheely et al. Dec 1998 A
5844796 Araki et al. Dec 1998 A
5844804 Schussler et al. Dec 1998 A
5845230 Lamberson Dec 1998 A
5847957 Cohen et al. Dec 1998 A
5848274 Hamby et al. Dec 1998 A
5854750 Phillips et al. Dec 1998 A
5854944 Catherwood et al. Dec 1998 A
5862052 Nixon et al. Jan 1999 A
5864773 Barna et al. Jan 1999 A
5867704 Tanaka et al. Feb 1999 A
5872992 Tietjen et al. Feb 1999 A
5873089 Regache Feb 1999 A
5874990 Kato et al. Feb 1999 A
5875430 Koether Feb 1999 A
5876122 Eryurek Mar 1999 A
5880775 Ross Mar 1999 A
5884014 Huttenlocher et al. Mar 1999 A
5903455 Sharpe, Jr. et al. May 1999 A
5905248 Russell et al. May 1999 A
5905963 Lysejko et al. May 1999 A
5907675 Aahlad May 1999 A
5909586 Anderson Jun 1999 A
5917822 Lyles et al. Jun 1999 A
5917840 Cheney et al. Jun 1999 A
5919247 Van Hoff et al. Jul 1999 A
5922050 Madany Jul 1999 A
5928345 Tetzlaff et al. Jul 1999 A
5930768 Hooban Jul 1999 A
5940839 Chen et al. Aug 1999 A
5946487 Dangelo Aug 1999 A
5950172 Klingman Sep 1999 A
5956484 Rosenberg et al. Sep 1999 A
5956487 Venkatraman et al. Sep 1999 A
5956716 Kenner et al. Sep 1999 A
5960205 Mao et al. Sep 1999 A
5966304 Cook et al. Oct 1999 A
5969967 Aahlad et al. Oct 1999 A
5974497 Teshome Oct 1999 A
5975737 Crater et al. Nov 1999 A
5978578 Azarya et al. Nov 1999 A
5978933 Wyld et al. Nov 1999 A
5980090 Royal, Jr. et al. Nov 1999 A
5982362 Crater et al. Nov 1999 A
5982762 Anzai et al. Nov 1999 A
5988852 Nakanishi et al. Nov 1999 A
5991795 Howard et al. Nov 1999 A
5995916 Nixon et al. Nov 1999 A
6002104 Hsu Dec 1999 A
6006164 McCarty et al. Dec 1999 A
6008985 Lake et al. Dec 1999 A
6026336 Sakurai et al. Feb 2000 A
6033257 Lake et al. Mar 2000 A
6038271 Olaker et al. Mar 2000 A
6038486 Saitoh et al. Mar 2000 A
6049578 Senechal et al. Apr 2000 A
6052629 Leatherman et al. Apr 2000 A
6061603 Papadopoulos et al. May 2000 A
6070186 Nishio et al. May 2000 A
6070250 Yeager et al. May 2000 A
6075863 Krishnan et al. Jun 2000 A
6076124 Korowitz et al. Jun 2000 A
6078848 Bernstein et al. Jun 2000 A
6085120 Schwerdtfeger et al. Jul 2000 A
6094600 Sharpe, Jr. et al. Jul 2000 A
6094655 Rogers et al. Jul 2000 A
6095674 Verissimo et al. Aug 2000 A
6104875 Gallagher et al. Aug 2000 A
6108662 Hoskins et al. Aug 2000 A
6115744 Robins et al. Sep 2000 A
6129449 McCain et al. Oct 2000 A
6131067 Girerd et al. Oct 2000 A
6138140 Yokote Oct 2000 A
6138174 Keeley Oct 2000 A
6139177 Venkatraman et al. Oct 2000 A
6148346 Hanson Nov 2000 A
6148391 Petrick Nov 2000 A
6151625 Swales et al. Nov 2000 A
6160484 Spahl et al. Dec 2000 A
6167253 Farris et al. Dec 2000 A
6170007 Venkatraman et al. Jan 2001 B1
6173414 Zumkehr et al. Jan 2001 B1
6183289 Lake et al. Feb 2001 B1
6195694 Chen et al. Feb 2001 B1
6195774 Jacobson Feb 2001 B1
6201996 Crater et al. Mar 2001 B1
6212440 Suzuki et al. Apr 2001 B1
6212575 Cleron et al. Apr 2001 B1
6212608 Bak Apr 2001 B1
6216158 Luo et al. Apr 2001 B1
6219708 Martenson Apr 2001 B1
6260187 Cirne Jul 2001 B1
6266724 Harari et al. Jul 2001 B1
6269473 Freed et al. Jul 2001 B1
6272529 Lum Aug 2001 B1
6272556 Gish Aug 2001 B1
6282454 Papadopoulos et al. Aug 2001 B1
6311101 Kastner et al. Oct 2001 B1
6314464 Murata et al. Nov 2001 B1
6324607 Korowitz et al. Nov 2001 B1
6327511 Naismith et al. Dec 2001 B1
6345295 Beardsley et al. Feb 2002 B1
6345382 Hughes Feb 2002 B1
6353860 Hare et al. Mar 2002 B1
6360091 Schellinger et al. Mar 2002 B1
6377543 Grover et al. Apr 2002 B1
6405099 Nagai et al. Jun 2002 B1
6418499 Korowitz et al. Jul 2002 B1
6424883 Hosokawa et al. Jul 2002 B1
6430564 Judge et al. Aug 2002 B1
6438182 Olaker et al. Aug 2002 B1
6449624 Hammack et al. Sep 2002 B1
6480903 Voutaz et al. Nov 2002 B1
6493405 Olaker et al. Dec 2002 B1
6496892 Lake et al. Dec 2002 B1
6499048 Williams Dec 2002 B1
6532531 O'Connor et al. Mar 2003 B1
6557056 Lanteigne et al. Apr 2003 B1
6574515 Kirkpatrick et al. Jun 2003 B1
6574694 Chen et al. Jun 2003 B1
6594692 Reisman Jul 2003 B1
6612022 Gale et al. Sep 2003 B1
6618754 Gosling Sep 2003 B1
6640308 Keyghobad et al. Oct 2003 B1
6671763 Korowitz et al. Dec 2003 B1
6675193 Slavin et al. Jan 2004 B1
6700869 Falco et al. Mar 2004 B1
6701284 Huntley et al. Mar 2004 B1
6718533 Schneider et al. Apr 2004 B1
6760687 Apel et al. Jul 2004 B2
6788980 Johnson Sep 2004 B1
6792321 Sepe, Jr. Sep 2004 B2
6799148 Ling et al. Sep 2004 B2
6799195 Thibault et al. Sep 2004 B1
6806847 Nixon et al. Oct 2004 B2
6807558 Hassett et al. Oct 2004 B1
6850973 Larson et al. Feb 2005 B1
6853867 Klindt et al. Feb 2005 B1
6978194 McIlhany et al. Dec 2005 B2
7020532 Johnson et al. Mar 2006 B2
7089530 Dardinski et al. Aug 2006 B1
7142322 Lee Nov 2006 B2
7146231 Schleiss et al. Dec 2006 B2
7146408 Crater et al. Dec 2006 B1
7151966 Baier et al. Dec 2006 B1
7158513 Wada et al. Jan 2007 B2
7162510 Jammes Jan 2007 B2
7177052 Lapstun et al. Feb 2007 B2
7199784 Mathiowetz et al. Apr 2007 B2
7245271 Nixon et al. Jul 2007 B2
7272815 Eldridge et al. Sep 2007 B1
7275062 Deitz et al. Sep 2007 B2
7337256 Korowitz et al. Feb 2008 B2
20010025307 Venkatraman et al. Sep 2001 A1
20010034777 Venkatraman et al. Oct 2001 A1
20010034778 Venkatraman et al. Oct 2001 A1
20010034779 Venkatraman et al. Oct 2001 A1
20010034780 Venkatraman et al. Oct 2001 A1
20010034781 Venkatraman et al. Oct 2001 A1
20010044836 Venkatraman et al. Nov 2001 A1
20020067370 Forney et al. Jun 2002 A1
20020133636 Venkatraman et al. Sep 2002 A1
20030115238 O'Connor et al. Jun 2003 A1
20030200351 O'Connor et al. Oct 2003 A1
20030200369 Musumeci Oct 2003 A1
20030208558 Venkatraman et al. Nov 2003 A1
20040103165 Nixon et al. May 2004 A1
20040117534 Parry et al. Jun 2004 A1
20070019560 Brewer et al. Jan 2007 A1
Foreign Referenced Citations (8)
Number Date Country
0411869 Feb 1991 EP
02159526 Jun 1990 JP
09033647 Feb 1997 JP
10019655 Jan 1998 JP
WO-9631047 Oct 1996 WO
WO-9707486 Feb 1997 WO
WO-9726587 Jul 1997 WO
WO-9829804 Jul 1998 WO
Related Publications (1)
Number Date Country
20080126500 A1 May 2008 US
Continuations (3)
Number Date Country
Parent 10765006 Jan 2004 US
Child 11929661 US
Parent 09379074 Aug 1999 US
Child 10765006 US
Parent 08700199 Aug 1996 US
Child 09379074 US