SERVER SYSTEM AND METHOD FOR NETWORKING CONTROL NETWORKS AND DIRECT INPUT/OUTPUT DEVICES WITH THE WORLD WIDE WEB

Abstract: A scalable control data networking system which has an open ended architecture and which is platform and protocol independent. The server of this system accesses control data via a web browser over a network which receives data from a control network or direct I/O sources, translates the data to and from a generic control protocol, and manages communication of the generic control protocol with multiple clients. The server acts as a physical and network interface to the control network or direct I/O sources and translates the native control data or direct I/O data to and from a genericcontrol protocol format. The server also performs the function of managing communication with a plurality of clients using open standards such as the TCP/IP protocol. One or more embedded applets graphically display the control data and permit the user to monitor and regulate the control data.

Description: SERVER SYSTEM AND METHOD FOR NETWORKING CONTROL NETWORKS AND DIRECT INPUT/OUTPUT DEVICES WITH THE WORLD WIDE WEB BACKGROUND OF THE INVENTION This invention pertains generally to data communications, data processing and information retrieval in networked computer systems. More specifically, the present invention is a server system for accessing control data via web browsers over a network which receives data from a control network or direct I/O sources, translates the data to and from a generic control protocol, and manages communication of the generic control protocol with multiple clients. Vertically integrated, proprietary control data networking systems such as SCADA (Supervisory Control and Data Acquisition) systems are widely used in industry for numerous operations or procedures, including building security, temperature control, and control of pressure or fluid levels in reactors and reservoirs. Figure 4 is a functional block diagram of a conventional vertically integrated control data networking system 400. This system 400 comprises a plurality of client work stations 14a, 14b, 14c associated with a control network 18 by a network connection 420. The control network has a plurality of devices shown generally as camera 20, air conditioner 22, motion sensor 24, temperature sensor 26 and door lock 28. A variety of device types may be associated with the control network 18. The workstations 14a, 14b, 14c communicate with the control network 18 through an application 440 on the workstations which is specifically written for interfacing with the control network 18. These vertically integrated control data networking systems are generally based on proprietary technologies and are not designed with open-ended architectures, and often are site- specific and device-specific. Thus, the systems lack scalability, are highly platform dependent, and are limited to specialized network architectures and protocols. As a result, these systems are not adaptable to rapidly changing computer networking technologies, and the selection of software and hardware which can be used with the systems is severely limited. Control networks such as LONWORKS™ and DEVICENET™ have more recently been employed in control data networking systems. These control networks are somewhat more flexible than vertically integrated proprietary control data networking systems because LONWORKS™ and DEVICENET™ have established standards that reduce protocol conflicts and permit limited open-ended architecture. However, in order to implement these control networks a substantial investment in networking infrastructure, such as transmission media, routers and gateways is required. Further, existing control networks still lack scalability, are generally platform dependent, and are not readily adaptable to different protocols. Thus, it is currently difficult to link control network subsystems into larger networks, connect control systems into wide area networks, implement supervisory control from one network to another, or provide generally for information flow between lower-level systems and higher level information networks. In both information and control networks generally, it is more cost-effective to leverage existing standards and technologies. Accordingly, there is a need for a scaleable control data networking system which has open ended architecture and which is platform and protocol independent. The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found in existing control data networking systems. SUMMARY OF THE INVENTION The present invention is a server system and method for networking control networks and direct input and output from devices to allow accessing of control data via the World Wide Web. In its most general terms, the system of the invention comprises a server and a plurality of embedded client applets. The server includes programming which carries out the operations of receiving control data from one or more direct I/O sources and/or control networks, translating the received control data into a generic control protocol, and managing communication of the generic control protocol between the server and a plurality of clients. The plurality of client applets, which are embedded in a corresponding plurality of Web pages, communicate control data to the server using the generic control protocol, and present control data to client users in the form of graphical displays on the Web pages. The "World Wide Web" or "Web" is a client-server hypertext information and communication system popularly used on the Internet and intranet computer networks. The "Internet" is a cooperatively run, globally distributed collection of computer networks which exchange information through the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite. "Hypertext" is text which is not constrained to a single linear sequence. The Web and Internet have made possible the sharing of information between computers all over the world through use of Web "browser" programs such as NETSCAPE NAVIGATOR™ and MICROSOFT EXPLORER™, which allow users to access the Web. An important feature of hypertext documents is that they can contain special embedded "links" that enable users to connect with other related hypertext documents. Hypertext Transfer Protocol (HTTP) is the native protocol of the Web, and is used to transfer hypertext documents between computers networked through the Internet and Web. Hypertext documents are generally in the form of Hypertext Media Language (HTML) pages or Web pages. The development of the World Wide Web has been facilitated by the development of object oriented programming (OOP) languages for computers. OOP is a relatively new programming paradigm which allows computer programs to be broken down into component parts. Commonly used OOP languages include C++, JAVA and Smalltalk. OOP provides an implementation method wherein computer programs are organized as cooperative collections of software objects, each of which represents an instance of some class, with the classes being members or a hierarchy of classes united by inheritance relationships. Software objects generally comprise data fields in the form of instance variables that are encapsulated by one or more methods. Interconnected objects within a program communicate via messages. The encapsulated nature of OOP allows OOP applications existing on a Web server to be downloaded to Web clients having varying types of machines and operating systems. The OOP JAVA is designed to be machine independent and function within different operating systems. JAVA permits scaled-down applications called "applets" which can be incorporated into Web sites and run off of individual HTML pages. JAVA applets require a JAVA-enabled browser such as the widely used NETSCAPE NAVIGATOR™ and MICROSOFT EXPLORER™ browsers. Internet working systems are typically built around a set of discrete systems which may be highly integrated, yet operate as functionally separate parts. The encapsulated nature of OOP lends itself well to network and communication systems in that data from one protocol can be encapsulated within methods of another protocol. The encapsulating protocols must be open ended to allow data to be translated between different protocols. Many low level devices such as air conditioners, motion sensors, temperature sensors, cameras, and door locks have recently evolved to incorporate intelligence through increasingly inexpensive microprocessors which are embedded into the devices. This trend has created the potential for remotely accessing information associated with these devices, such as temperature, real time images, and device status. The present invention utilizes the World Wide Web and advantages of OOP to access such data via direct I/O of remote devices or from control networks associated with an array of devices, and to provide the data to Web clients independent of particular platforms, protocols or network architectures. By way of example, and not of limitation, the server of the invention is embodied in a conventional programmed data processor such as a PC containing encoded executable instructions for carrying out program operations in accordance with the invention. The server includes a plurality of interfaces, with an information network interface such as an ETHERNET TCP/IP interface, a control network interface which may be based on LONWORKS ™or DEVICENET™ standards, and a direct I/O interface. The web client programs are embodied in machines or workstations such as PC, APPLE MACINTOSH™, UNIX™, or like programmed data processors which can support client or web browser programs such as NETSCAPE NAVIGATOR™ and MICROSOFT EXPLORER™ as well as a plurality of HTML pages. By way of example, and not of limitation, a single static JAVA client object is included per each of the plurality of HTML page. One or more separate input and output JAVA applets on the HTML page provide graphical user interface (GUI) applet devices or widgets which access the static JAVA client object for accessing control data. The server is networked to the static JAVA client applets via conventional TCP/IP sockets. Other alternative networking means may be used as alternatives to TCP IP sockets, including distributed object method invocations, such as CORBA calls managed by an external Object Request Broker or OLE. Since the GUI applets are JAVA based and run off the HTML pages rather than being server-pushed, the applets provide for real time client user interaction. The programming associated with the server includes conventional software applications for providing information and/or services to client programs according to client program requests. The server of the invention also comprises programming means for carrying out the operations of: (a) managing communications with a plurality of clients; (b) performing control data translations or exchanges between a generic control protocol and native control data formats; and (c) interfacing to control networks and/or direct I/O. (d) intelligent management of control data including data aggregation, event monitoring, and data logging. In performing control data translations between the generic control protocol and native control data formats, the programming preferably also provides means for carrying out the operations of identifying I/O points, identifying data points, and data formatting. The translating operates in both directions, and the server architecture and programming handles control data requests and assignments from the GUI applets and control data updates and results from the control network and/or direct I/O points. The server system of the invention preferably incorporates both polling and event driven methods of control data exchange. The generic control protocol of the invention preferably comprises: (a) means for providing node identification; (b) means for providing I/O point identification; (c) means for providing data types; (d) means for providing data units; and (e) means for providing data values. In using the invention, a user at a client workstation runs the web browser program and establishes a network connection with the server via modem and dial-up serial connection or other standard manner. The user identifies the location or address for the desired HTML page(s) corresponding to the particular control data which the user wants to access by URL (Uniform Resource Locator) address or other standard means. The embedded applets on the selected HTML page(s) graphically display the control data from the remote devices and provide selectable options to the user, such as setting or parameter changes for the remote devices. The user can select particular desired control data by "clicking" on the appropriate applet using a mouse, tracking ball or other conventional means. After viewing the selected control data, the user can change a setting or control on the remote device by clicking on the appropriate applet. An object of the invention is to provide a server system and method for networking control networks and direct input and output which allows remote accessing of control data via the World Wide Web. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which has an open-ended architecture and is scalable. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which is platform and protocol independent. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which utilizes embedded applets networked to a server for communicating control data. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which translates native control data formats to a generic control protocol which accommodates data and I/O point identification schemes of multiple different control network protocols without losing information from any protocols. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which manages communication of control data with multiple clients. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which allows the linking of control network subsystems into large networks. Another object of the invention is to provide a server system and method for networking control networks and direct input and output which allows information flow from low level systems to higher level systems. Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon. BRIEF DESCRIPTION OF THE DRAWINGS The invention will be more fully understood by reference to the following drawings, which are for illustrative purposes. • FIG. 1 is a functional block diagram of a server system for networking control networks and direct input and output in accordance with the present invention which illustrates generally the architectural components of the invention. FIG. 2 is a functional block diagram of a server system for networking control networks and direct input and output in accordance with the present invention which illustrates the logical operation of the invention. FIG. 3 is a functional block diagram of a server system for networking control networks and direct input and output in accordance with the present invention which illustrates a specific preferred implementation architecture for the invention. FIG. 4 is a functional block diagram of a conventional vertically integrated networking system. FIG. 5 is a flow chart diagram of the translation of messages from the GCP to control data format in accordance with the present invention. FIG. 6 is a flow chart diagram of the translation of messages from the control data format to the general control protocol in accordance with the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring more specifically to the drawings, for illustrative purposes the present invention is embodied in the server system generally shown in FIG. 1 through FIG. 3. It will be appreciated that the server system may vary as to configuration and as to details of the components and architecture, and that the method may vary as to details and the order of the steps without departing from the basic concepts as disclosed herein. Referring now to FIG. 1, a server system 10 in accordance with the invention is generally shown. System 10 includes a server 12 and a plurality of client work stations 14a, 14b, 14c associated with server 12 by a corresponding plurality of wide area network connections 16a, 16b, 16c. Server 12 is also networked with a control network 18 having a plurality of devices shown generally as camera 20, air conditioner 22, motion sensor 24, temperature sensor 26 and door lock 28. The particular nature of devices 20-28 is exemplary, and a variety of device types which perform monitoring and/or control functions may be associated with control network 18. Network connection 30 links server 12 with control network 18. Network connection 30 could alternatively link with an array of direct I/O from separate devices instead of, or in addition to control network 18. Server 12 is preferably a conventional programmed data processor or computer having logic circuits implemented in hardware and/or software which perform various operations, described more fully below, according to computer programming based on executable instructions encoded in a computer memory of server 12. Work stations 14a- c likewise are preferably conventional programmed data processors having logic circuits implemented in hardware and/or software which support standard client applications operating with standard commercial platforms or operating systems such as WINDOWS ™ MACINTOSH™, UNIX™, or the like. Control network 18 is a local area network (LAN) based on LONWORKS™, DEVICENET™ or like control network standards. The devices 20-28 associated with control network 18 are "smart" and include a microprocessor or computer (not shown) embedded in or otherwise associated with each device 20-28. The embedded microprocessors include conventional means for monitoring and communicating status and other control data of devices 20-28 to control network 18. Devices 20-28 are linked within control network 18 by standard means. Network connections 16a-c and 30 are standard connections which, at the physical layer, preferably comprise modems and dial-up serial connections. Client workstations 14a-c each support a browser program 32 such as NETSCAPE NAVIGATOR™, MICROSOFT EXPLORER™ or like client application. Each work station 14a-c may support multiple browsers 32, although only one is shown for reasons of clarity. Each browser 32 supports a plurality of HTML pages 34, of which only one is shown for clarity. Each HTML page 34 in turn supports a plurality of embedded applets 36a-c. As noted above, applets 36a-c are preferably JAVA GUI applets which graphically provide user interfaces for displaying data and allowing client users to change settings or parameters of devices 20-28 from remote locations via the Web. Embedded applets 36a-c and HTML page 34 are platform independent, and any browser 32 (which can support applets) as well as any type of client workstation 14a-c may be used with system 10. Likewise, the nature and configuration of control network 18 may be varied depending upon particular situations wherein system 10 is employed. Thus, multiple applets 36a-c on each HTML page 32, multiple HTML pages 34 on each web browser 32, multiple web browsers 32 on each workstation 14a-c, and multiple workstations 14a-c all communicate with a single server 12 over a network. Server 12 manages the client applets 36a-c on one side of system 10, and communicates with control network 18 on the other side of system 10. The server 12 in accordance with the present invention translates the data from the workstations 14a-c from the platform independent form to a platform dependent form which the control network 18 can understand. Likewise, the server 12 translates the data from the control network 18 from a platform dependent form to a platform independent form which is understood by the workstations 14a-c. The logical operation of the invention will be more fully understood by reference to FIG. 2 as well as FIG. 1, wherein the logical architecture 33 of the system 10 of the invention is shown. Generally, multiple applets 36a-c run on each HTML page 34a-c, as described above. HTML version 3.2 supports applet tags which allow applets 36a-c to run when HTML pages 34a-c are loaded to a web browser(s). The applet tags also allow applets 36a-c to draw to a particular desired section of the screen area of HTML page 34a-c. Each applet 36a-c generally performs two functions: the display of control data in graphical form to users, and communication of control data with server. The display of control data to users, shown as Control Data Display program operation 38, is preferably provided in the form of a graphical user interface or GUI devices (not shown). The GUI devices may be in the form of a gauge, graph, button, dial, meter, slider, text or like conventional GUI devices. Means for transforming control data into various desired formats or units are included with applets 36a-c, and preferably comprise suitable input and output GUI devices such as buttons, text, sliders, dials, lights, gauges, graphs (bar and/or plot) or like icons which suitably positioned on HTML pages 34a-c and which can be selected and actuated by a user via "clicking" on the GUI device with a mouse, tracking ball or like user interface device. Each applet 36a-c also includes means for communicating control data with server 12 using a Generic Control Protocol (GCP). The GCP, which is described further below, is non-specific as to forms of control networking or I/O types. The means for sending and receiving or otherwise communicating control data with server 12 in GCP is shown generally as Send/Receive Control Data in GCP program operation 40. Server 12 is connected to applets 36a-c at the physical level by network connections 16a-c, and to control network 18 or other source of control data by network connection 30. Server 12 includes programming means for carrying out the operations of: (a) managing communications with a plurality of clients; (b) performing translations between a Generic Control Protocol and native control data formats of devices 20-28 and/or control network 18; and (c) interfacing to control networks 18 and/or direct I/Os of non-networked devices. (d) intelligent management of control data including data aggregation, event monitoring, and data logging. The communication managing means of server 12, shown as communication management program operation 42, allows communication between server 12 and multiple client workstations 14a-c, and thus multiple applets 36a-c, which may be on the same or different HTML pages 34a-c, browsers 32 or workstations 14a-c, can communicate with server 12 simultaneously. The translation performing means of server 12, shown as GCP/control data translation program operation 44, performs control data translations between the Generic Control Protocol and native control data formats. The translation performing means also preferably comprises programming means for carrying out the operations of identifying I/O points, identifying data points, and data formatting. The translation performing means operates in both directions (GCP to native control data format and native control data format to GCP), and handles control data requests and assignments from the GUI applets and control data updates and results from the control network and/or direct I/O points. The translation performing means are illustrated in Figures 5 and 6. Figure 5 is a flow chart diagram of the translation of messages from the GCP to control data format in accordance with the present invention. The server 12 begins at an idle status, via step 502. When a message arrives from a workstation 14a-14c, via step 504, it is first parsed out into data units which correspond to data units on the control network, via step 506. Then the data units are each translated from the GCP to the control protocol format, via step 508. The translated data units are then transmitted to the control network, setting the corresponding control network data units to the appropriate values, via step 510. From these values, control network messages are initiated, via step 512. The messages prompts the actions which are appropriate for the values of the data units. Figure 6 is a flow chart diagram of the translation of messages from the control data format to the GCP in accordance with the present invention. Again, the server 12 begins at an idle status, via step 602. When the time comes to send updates for the values of the data units on the control network, via step 604, the server 12 fetches the control network data unit values to be updated, via step 606. Conditions prompting a sending of updates include a request for updates from a client, updates which are periodically sent and updates sent based on a condition, such as the changing of a temperature past a threshold. It packs the data units into a single message via step 608, encodes the message from the control protocol format to the GCP via step 610, and then transmits the message to the proper workstations 14a-14c, via step 612. The interfacing means of server 12, shown generally as control data interface program operation 46, provides a logical interface with control network 18 or other control data sources such as an array of direct I/O points. The server architecture 33 comprises primarily server 12 and its program operations, and embedded applets 36a-c and their program operations. The hardware supporting architecture 33 is preferably as generic and interchangeable as possible to allow open-endedness, scalability and adaptability to changing technologies. The architecture 33 permits sufficient flexibility so that at least one applet 36a-c, on at least one HTML page 34a-c, on at least one browser 32, on at least one work station 14a-c can be utilized. Referring now to FIG. 3, as well as FIG. 1 and FIG. 2, a preferred implementation of the invention is generally shown as architecture 48, wherein like reference numbers denote like components. Preferably, a single static JAVA Client Object 50 is used per HTML page 34a-c. Applets 36a-c are preferably JAVA GUI applets, each of which makes calls to JAVA Client Object 50 by messages 52a-c. Each JAVA GUI applet 36a-c has an associated GUI device 54, of which only one is shown for clarity. Generally, the server system of the invention will incorporate both polling and event-driven methods of control data exchange. In the preferred architecture 48, one JAVA Client Object 50 exists per HTML page 34a-c. JAVA Client Objects 50 are static, and each include an init() initialization method called by each JAVA GUI applet 36a-c which creates JAVA Client Object 50 if it not already present. Each JAVA Client Object 50 also includes update() methods that register JAVA GUI applets 36a-c for proper updates, which are preferably polling or event-driven, as related above. JAVA Client Object 50 manages control data updates with server 12 and manages communications with each of the multiple JAVA GUI applets 36a-c. Each JAVA Client Object 50 sends and receives control data in Generic Control Protocol, shown as Send/Receive Control Data in GCP operation 40. Each JAVA Client Object 50 registers as a client of server 12, accepts registration from multiple JAVA GUI applets 36a-c, and establishes a set of polling or event-driven updates to be routed between JAVA GUI applets 36a-c and server 12. JAVA Client Objects 50 preferably communicate with server 12 via a plurality of TCP/TP sockets 56a-c over corresponding physical layer connections 16a-c (FIG. 1). TCP/IP sockets 56a-c may be modified to utilize distributed object invocation methods such as CORBA (Common Object Request Broker Architecture) calls managed by an external object broker. CORBA provides an open object infrastructure wherein object interfaces are described in IDL (Interface Definition Language). Alternatively, TCP/IP sockets may be modified to utilize OLE (Object Linking and Embedding) standards for distributed objects. However, OLE is currently supported only by MICROSOFT™, and does not provide connectivity between different platforms as does CORBA. Other distributed object standards, such as DCE (Distributed Computing Environment), may alternatively be used in association with TCP/IP sockets, depending upon particular uses of the invention. JAVA GUI applets 36a-c support methods to display changing control data from devices 20-28 in control network 18 according to client user specifications. JAVA GUI applets 36a-c display control data on HTML pages 34a-c via GUI devices 54. GUI devices 54 are preferably familiar or common graphical items such as gauges, graphs, buttons, dials, meters, sliders, text or like conventional icons. GUI devices 54 include both input GUI devices and output GUI devices. Parameters that JAVA GUI applets 36 accept as arguments when called from an HTML page 34a-c preferably include: (a) size of GUI devices 54; (b) screen position of GUI devices 54; (c) polling frequency or event threshold value; (d) control data identifier (control network node or direct I/O point); (e) specific GUI parameters (labels, colors, options and the like). When called from an HTML page 34a-c, each JAVA GUI applet 36a-c registers with the JAVA Client Object 50 for that particular HTML page and passes the relevant parameters to the JAVA Client Object 50. These parameters preferably include polling frequencies, event threshold values, and control data identifiers. As the JAVA Client Object 50 updates, JAVA GUI applets show changes in control data via GUI devices 54 on the HTML page 34a-c. Server 12 preferably comprises an embedded PC with an interface to information network and an interface to control network 18 and/or direct device I/Os. As noted above, network connections 16a-c are preferably ETHERNET using the TCP/IP protocol suite. Server 12 includes programming means for managing communications with a plurality of JAVA Client Objects 50, which is shown generally as communication management operation 42. Server 12 manages JAVA client objects 50, and preferably handles multiple JAVA Client Objects 50 via multiple open TCP/IP sockets 56a-c. Registration and data requests are handled by the JAVA Client Objects 50, and events and data from control network 18 are propagated to all registered JAVA Client Objects 50. Server 12 also includes programming means for performing translations of control data and control data requests between a Generic Control Protocol and the native control data formats of devices 20-28 and/or control network 18, shown generally as GCP control data translation operation 44. This operation includes I/O point identification, data types, and data formatting. The translating operates in both directions, handling control data requests and assignments from JAVA GUI applets 36a- c, as well as control data updates and results from control network 18 and/or direct I/O points. Server 12 also includes programming means for interfacing with control network 18 and or direct I/Os of non-networked devices. In the case of the preferred architecture 48 shown in FIG. 3 wherein control network 18 is a LONWORKS™ control network. The Generic Control Protocol of the invention can accommodate data and I/O point identification schemes of various different control network protocols without losing any information from any particular protocol. The Generic Control Protocol preferably includes (a) means for providing node identification; (b) means for providing I/O point identification; (c) means for providing data types; (d) means for providing data units; and (e) means for providing data values.

Claims: CLAIMS What is claimed is: L A method for providing computer network connectivity, the computer network including a control network and a plurality of workstations coupled to the control network, the control network including a specific control protocol, and the plurality of workstations including a generic control protocol, the method comprising: (a) communicating control data in the generic control protocol format between the plurality of workstations and the server; (b) translating control data from the generic control protocol format to the specific control protocol format and from the specific control protocol format to the generic control protocol format; and (c) communicating control data in the specific control protocol format between the server and the control network. 2. The method of claim 1 , wherein the translating step (b) comprises: (bl) parsing out a plurality of data units in the generic control protocol format; (b2) translating each of the plurality of parsed out data units from the generic control protocol format to the specific control protocol format; (b3) setting the values of a plurality of control network data units which correspond to the plurality of parsed out translated data units; and (b4) means for initiating control network messages according to the values of the plurality of control network data units. 3. The method of claim 1, wherein the translating step (b) comprises: (bl) fetching the values of a plurality of control network data units in the specific control protocol format; (b2) packing the plurality of control network data units into a single message; and (b3) encoding the single message into the generic control protocol format. 4. The method of claim 1 , wherein each of the plurality of workstations comprise: (a) at least one web browser program; (b) a plurality of Hypertext Media Language pages supported by the web browser programs; and (c) a plurality of embedded applets supported by the Hypertext Media Language pages. 5. The method of claim 4, wherein the embedded applets function as the means for communicating control data in the generic control protocol format between the server and the plurality of workstations. 6. The method of claim 1, wherein the translating step (b) further comprises: (b 1 ) identifying input/output points; (b2) identifying data points; and (b3) identifying data formatting. 7. The method of claim 1 , wherein the generic control protocol of the translating step (b) comprises: (a) providing node identification; (b) providing input/output point identification; (c) providing data types; (d) providing data units; and (e) providing data values. 8. A system for computer network connectivity, the computer network including a control network and a plurality of workstations coupled to the control network, the control network including a specific control protocol, and the plurality of workstations including a generic control protocol, the system comprising: means for communicating control data in the generic control protocol format between the server and the plurality of workstations; means for translating control data from the generic control protocol format to the specific control protocol format and from the specific control protocol format to the generic control protocol format; and means for communicating control data in the specific control protocol format between the server and the control network. 9. The system of claim 8, wherein the translating means comprises: means for parsing out a plurality of data units in the generic control protocol format; means for translating each of the plurality of parsed out data units from the generic control protocol format to the specific control protocol format; means for setting the values for a plurality of control network data units which correspond to the plurality of parsed out translated data units; and means for initiating control network messages according to the values of the plurality of control network data units. 10. The system of claim 8, wherein the translating means comprises: means for fetching the values of a plurality of control network data units in the specific control protocol format; means for packing the plurality of control network data units into a single message; and means for encoding the single message into the generic control protocol format. 11. The system of claim 8, wherein each of the plurality of workstations comprise: (a) at least one web browser program; (b) a plurality of Hypertext Media Language pages supported by the web browser programs; and (c) a plurality of embedded applets supported by the Hypertext Media Language pages. 12. The system of claim 11, wherein the embedded applets function as the means for communicating control data in the generic control protocol format between the server and the plurality of workstations. 13. The system of claim 8, wherein the translating means further comprises: means of identifying input/output points; means for identifying data points; and means for identifying data formatting. 14. The system of claim 8, wherein the generic control protocol comprises: means for providing node identification; means for providing input/output point identification; means for providing data types; means for providing data units; and means for providing data values. 15. A server for a computer network system, the computer network system including a control network and a plurality of workstations, the control network including a specific control protocol, and the plurality of workstations including a generic control protocol, the server comprising: (a) means for communicating control data in the generic control protocol format with the plurality of workstations; (b) means for translating control data in the generic control protocol format to the specific control protocol format and from the specific control protocol format to the generic control protocol format; and (c) means for communicating control data in the specific control protocol format with the control network. 16. The method of claim 15, wherein the translating step (b) comprises: (bl) parsing out a plurality of data units in the generic control protocol format; (b2) translating each of the plurality of parsed out data units from the generic control protocol format to the specific control protocol format; (b3) setting the values of a plurality of control network data units which correspond to the plurality of parsed out translated data units; and (b4) means for initiating control network messages according to the values of the plurality of control network data units. 17. The method of claim 15, wherein the translating step (b) comprises: (b 1 ) fetching the values of a plurality of control network data units in the specific control protocol format; (b2) packing the plurality of control network data units into a single message; and (b3) encoding the single message into the generic control protocol format. 18. The system of claim 15, wherein each of the plurality of workstations comprise: (a) at least one web browser program; (b) a plurality of Hypertext Media Language pages supported by the web browser programs; and (c) a plurality of embedded applets supported by the Hypertext Media Language pages. 19. The system of claim 18, wherein the embedded applets function as the means for communicating control data in the generic control protocol format between the server and the plurality of workstations. 20. The system of claim 15, wherein the translating means further comprises: means of identifying input/output points; means for identifying data points; and means for identifying data formatting. 21. The system of claim 15, wherein the generic control protocol comprises: means for providing node identification; means for providing input/output point identification; means for providing data types; means for providing data units; and means for providing data values. 22. A computer readable medium with computer instructions for providing computer network connectivity, the computer network including a control network and a plurality of workstations, the instructions for: a) communicating control data in the generic control protocol format between the plurality of workstations and the server; b) translating control data from the generic control protocol format to the specific control protocol format and from the specific control protocol format to the generic confrol protocol format; and c) communicating control data in the specific control protocol format between the server and the control network. 23. The computer readable medium of claim 22, wherein the instructions for the translating means comprises: means for parsing out a plurality of data units in the generic control protocol format; means for translating each of the plurality of parsed out translated data units from the generic control protocol format to the specific control protocol format; means for setting the values of a plurality of control network data units which coπespond to the plurality of parsed out data units; and means for initiating control network messages according to the values of the plurality of control network data units. 24. The computer readable medium of claim 22, wherein the instructions for the translating means comprises: means for fetching values of a plurality of control network data units in the specific control protocol format; means for packing the plurality of control network data units into a single message; and means for encoding the single message into the generic control protocol format.

Inventors: GAW DAVID, HENNAGE DAN, KOCH ED, MARSH ADAM, GAW, DAVID, HENNAGE, DAN, KOCH, ED, MARSH, ADAM
Applicants: COACTIVE NETWORKS INC, COACTIVE NETWORKS, INC.
Application year: 1998
Main classification: H04L29
IPC codes: G05B19, G06F13, H04L12, H04L29