Synchronization of controlled device state using state table and eventing in data-driven remote device control model
7 Assignments
0 Petitions
Accused Products
Abstract
Controlled devices according to a device control model maintain a state table representative of their operational state. Devices providing a user control point interface for the controlled device obtain the state table of the controlled device, and may also obtain presentation data defining a remoted user interface of the controlled device and device control protocol data defining commands and data messaging protocol to effect control of the controlled device. These user control devices also subscribe to notifications of state table changes, which are distributed from the controlled device according to an eventing model. Accordingly, upon any change to the controlled device'"'"'s operational state, the eventing model synchronizes the device'"'"'s state as represented in the state table across all user control devices.
-
Citations
22 Claims
-
1-6. -6. (Canceled)
-
7. In a distributed computing network having at least one controller computing device and a controlled computing device, the controller computing device communicating with the controlled computing device via a device control protocol to effect remote operational control of the controlled computing device, a method of maintaining data representing a current state of the controlled computing device at the controller computing device, the method comprising:
-
responsive to a controlled device state subscription request of the controller computing device per a subscription eventing model, distributing an initial controlled computing device state event having a predefined initial sequence number and data defining a present state of the controlled computing device to the controller computing device;
upon changes in the controlled device state, distributing controlled computing device state update events having sequence numbers assigned according to a sequential order following the predefined initial sequence number and data defining said changes to the controller computing device; and
in response to a renewed controlled device state subscription request, recommencing distributing the initial controlled computing device state event and controlled computing device state update events to the controller computing device so as to permit the controller computing device to reinitialize to the controlled computing device'"'"'s present state upon failure to receive the controlled computing device state update events in sequential order of their assigned sequence numbers. - View Dependent Claims (8, 9, 10)
-
-
11. In a distributed computing network having at least one controller computing device and a controlled computing device, a method of maintaining data representing a current state of the controlled computing device at the controller computing device, the method comprising:
-
sending from the controller computing device a state subscription request conforming to a subscription eventing model by which the controlled computing device distributes sequentially numbered state events to subscribing devices commencing with an initial state event that conveys a full data representation of a state of the controlled computing device and continuing with state update events that convey partial updates of the controlled computing device state;
upon receiving the initial state event, initializing storage at the controller computing device of a representation of the controlled computing device'"'"'s state with the full data representation in the initial state event;
upon receiving state update events, updating the storage with the partial updates; and
upon a failure to receive a state update event in accordance with their sequential numbering, repeating the actions of sending the state subscription request, initializing the storage and updating the storage. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer readable software carrying medium having computer software carried thereon for implementing a peer networking control protocol for a plurality of control point computing devices in a data communications network to effect control of a controlled computing device, the computer software comprising:
-
a subscription registration program module operative when executed on the controlled computing device to register, in response to a subscription request of a control point computing device, such device as a subscribing control point computing device to receive state events from the controlled computing device;
a state eventing program module operative when executed on the controlled computing device to distribute state events to the subscribing control point computing device, and further operative to assign sequence numbers to the state events in sequential order, the state events commencing with an initial state event having data for initializing a controlled computing device state table stored at the subscribing control point computing device to reflect a then present state of the controlled computing device, the state events continuing with state update events having data for updating the controlled computing device state table to reflect a changed state of the controlled computing device; and
the subscription registration program module further operative in response to a renewed subscription request of the subscribing control point device to cause the state eventing program module to recommence distributing a further sequence of initial state event and state update events to the subscribing control point computing device so as to permit the subscribing computing device to reinitialize its stored controlled computing device state table after failure to receive the state update events in sequence.
-
-
18. A computer readable software carrying medium having computer software carried thereon for implementing a peer networking control protocol for a plurality of control point computing devices in a data communications network to effect control of a controlled computing device, the computer software comprising:
-
a state subscriber program module operative when executed on a control point computing device to communicate from the control point computing device a state subscription request conforming to a subscription eventing model of the peer networking control protocol by which the controlled computing device distributes sequentially numbered state events to subscribing devices commencing with an initial state event that conveys a full data representation of a state of the controlled computing device and continuing with state update events that convey partial updates of the controlled computing device state;
a controlled device state storage initialization program module operative when executed on the control point computing device to in response to the initial state event to initialize storage at the control point computing device of a data structure representation of the controlled computing device'"'"'s state according to the full data representation in the initial state event;
a controlled device state update program module operative when executed on the control point computing device to in response to the state update events to update the data structure representation in the storage according to the partial updates in the state update events; and
a sequence validation program module operative when executed on the control point computing device to detect a failure to receive any of the state events as per their sequential numbering, and operative upon detecting such failure to cause the state subscriber program module to communicate a renewal state subscription request from the control point computing device so as to re-commence distribution of sequentially numbered state events with a renewed initial state event from the controlled computing device in conformance with the subscription eventing model and thereby effect re-initialization of the data structure representation by the controlled device state storage initialization program module. - View Dependent Claims (19)
-
-
20. A peer networking state eventing and control protocol method for effecting state-concurrent multi-master control of a controlled computing device by a plurality of control point computing devices communicating on a data communications network, the method comprising:
-
from a plurality of the control point computing devices, receiving state eventing subscription requests;
responsive to the state eventing subscription requests, registering subscriptions of the respective control point computing devices to state events from the controlled computing device;
communicating state events having information descriptive of a state of the controlled computing device to the respective control point computing devices of the registered subscriptions;
receiving a control command from a control point computing device instructing the controlled computing device to perform a specified operation affecting the state of the controlled computing device;
responsive to the control command, performing the specified operation; and
communicating further state events having information descriptive of the state of the controlled computing device after the specified operation is performed to the respective control point computing devices of the registered subscriptions, whereby the plurality of control point computing devices having registered subscriptions can maintain concurrent storage of data representing the state of the controlled computing device. - View Dependent Claims (21, 22)
-
Specification