Real-time publish-subscribe system
First Claim
1. A method of operating a real-time protocol on a computer network having a plurality of nodes, wherein the nodes can include applications, a network stack, an operating system, and middleware capable of executing real-time operations, comprising:
- operating the nodes of the computer network to use group objects to model physical and logical devices connected to the network wherein each group object comprises at least one variable;
operating the nodes of the network to use communication objects to communicate information about the variables in the form of variable change messages,whereina variable is a data object that includes a plurality of parameters and a plurality of associated parameter values;
a variable includes parameters for a globally unique identifier and, implicitly or explicitly, for a type and a topic;
the communication objects include write communication objects and read communication objects;
the communication objects are associated with variables;
registering the read communication objects with the write communication objects whose associated variables have the same topic as the variable associated with the read communication objects; and
configuring each write communication object, in response to change information regarding the associated variable, to cause the change information regarding the variable to be provided to those read communication objects registered to receive information for that variable without the read communication objects otherwise requesting the change information.
1 Assignment
0 Petitions
Accused Products
Abstract
A real-time protocol for real-time network programming applications is disclosed. The protocol is executable on a computer network having a plurality of nodes that include applications, a network stack, an operating system, and middleware capable of executing real-time operations. The protocol can use group objects to model physical and logical devices connected to the network wherein each group object comprises at least one variable. Changes in these variables are encapsulated in variable change messages which are propagated in the network using communication objects. Also described is a real-time messaging format useful for implementing the protocol.
-
Citations
20 Claims
-
1. A method of operating a real-time protocol on a computer network having a plurality of nodes, wherein the nodes can include applications, a network stack, an operating system, and middleware capable of executing real-time operations, comprising:
-
operating the nodes of the computer network to use group objects to model physical and logical devices connected to the network wherein each group object comprises at least one variable; operating the nodes of the network to use communication objects to communicate information about the variables in the form of variable change messages, wherein a variable is a data object that includes a plurality of parameters and a plurality of associated parameter values; a variable includes parameters for a globally unique identifier and, implicitly or explicitly, for a type and a topic; the communication objects include write communication objects and read communication objects; the communication objects are associated with variables; registering the read communication objects with the write communication objects whose associated variables have the same topic as the variable associated with the read communication objects; and configuring each write communication object, in response to change information regarding the associated variable, to cause the change information regarding the variable to be provided to those read communication objects registered to receive information for that variable without the read communication objects otherwise requesting the change information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for writing a variable change message from a writer to a registered reader using a real-time protocol on a computer network having a plurality of nodes, wherein the nodes include at least one writer, at least one reader, and middleware capable of executing real-time operations,
wherein the writer and the reader of the computer network are associated with variables, a variable is a data object that includes a plurality of parameters and a plurality of associated parameter values, and a variable includes parameters for a globally unique identifier and, implicitly or explicitly, a type and a topic; - and
the reader of a node of the computer network is configured to register with a writer of another node of the computer network to receive information concerning topics for which write objects associated with the writer of the other node have variable information; and the method comprising; A. determining if there is a new reader; B. where there is no new reader; 1) determining if there has been a change to a variable; (a) if there are changes to the variable, (i) the changes are saved as a variable change message; (ii) a change sequence number is modified to reflect the addition of a new saved variable change message; (iii) return to Step A, determining if there is a new reader; (b) if there are no changes to the variable then return to Step A, determining if there is a new reader; and C. where there is a new reader, a remote reader process is activated to update a registered reader of the computer network to cause the variable change message to be provided to registered readers, without the registered readers otherwise requesting variable change information. - View Dependent Claims (18)
- and
-
19. A method for a registered reader to read variable change message sent by a writer to the registered reader using a real-time protocol on a computer network having a plurality of nodes, wherein the nodes include at least one writer and a registered reader, and the writer and the reader are associated with variables;
-
a variable is a data object that includes a plurality of parameters and a plurality of associated parameter values; a variable includes parameters for a globally unique identifier and, implicitly or explicitly, a type and a topic; and the nodes also include middleware capable of executing real-time operations in the computer network, the method comprising; A. determining if there is a writer for which the reader is registered to receive variable change messages; B. where there is no writer, returning to Step A, determining if there is a writer; and C. where there is a writer, a remote writer process is activated to update the registered reader in the computer network, without the registered reader otherwise requesting the updating. - View Dependent Claims (20)
-
Specification