Method and system for synchronizing presentation of a dynamic data set to a plurality of nodes
First Claim
1. A method for synchronizing, in a system having a plurality of nodes, presentation of a dynamic data set to the plurality of nodes, the method comprising:
- generating, by a host node in a plurality of nodes, a dynamic data set that is shared with the plurality of nodes;
receiving, by the host node from a consumer node in the plurality of nodes, a plurality of data packets representing a change to the dynamic data set, the change to the dynamic data set being an annotation to the dynamic data set made by the consumer node;
transmitting, by the host node to a synchronization engine of a computing device separate from the host node, the plurality of data packets received from the consumer node;
generating, by the synchronization engine, metadata information representing a difference between the dynamic data set and the plurality of data packets, the metadata information identifying a first set of data packets from the plurality of data packets and a second, different set of data packets from the plurality of data packets;
transmitting, by the synchronization engine to the plurality of nodes, the metadata information and the first set of data packets to a first node in the plurality of nodes for use by the first node in synchronizing the presentation of the dynamic data set; and
transmitting, by the synchronization engine to the plurality of nodes, the metadata information and the second, different set of data packets to a second node in the plurality of nodes for use by the second node in synchronizing the presentation of the dynamic data set.
13 Assignments
0 Petitions
Accused Products
Abstract
A method for synchronizing presentation of a dynamic data set to a plurality of nodes. The method includes the step of generating, by a consumer node in a plurality of nodes, a plurality of data packets representing a change to a dynamic data set. A host node in the plurality of nodes receives the plurality of data packets. The host node transmits to a synchronization engine the plurality of data packets. The synchronization engine generates metadata information representing the difference between the dynamic data set and the plurality of data packets. The synchronization engine transmits to the plurality of nodes the metadata information and the plurality of data packets.
255 Citations
21 Claims
-
1. A method for synchronizing, in a system having a plurality of nodes, presentation of a dynamic data set to the plurality of nodes, the method comprising:
-
generating, by a host node in a plurality of nodes, a dynamic data set that is shared with the plurality of nodes; receiving, by the host node from a consumer node in the plurality of nodes, a plurality of data packets representing a change to the dynamic data set, the change to the dynamic data set being an annotation to the dynamic data set made by the consumer node; transmitting, by the host node to a synchronization engine of a computing device separate from the host node, the plurality of data packets received from the consumer node; generating, by the synchronization engine, metadata information representing a difference between the dynamic data set and the plurality of data packets, the metadata information identifying a first set of data packets from the plurality of data packets and a second, different set of data packets from the plurality of data packets; transmitting, by the synchronization engine to the plurality of nodes, the metadata information and the first set of data packets to a first node in the plurality of nodes for use by the first node in synchronizing the presentation of the dynamic data set; and transmitting, by the synchronization engine to the plurality of nodes, the metadata information and the second, different set of data packets to a second node in the plurality of nodes for use by the second node in synchronizing the presentation of the dynamic data set. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for synchronizing presentation of a dynamic data set to a plurality of nodes, the system comprising:
-
a host node for transmitting a plurality of metadata packets, each metadata packet identifying a plurality of data packets that represent a current state of a dynamic data set, and for separately transmitting at least one of the identified data packets, the host node comprising a processor; and a communications service in communication with the host node, the communications service for i) selecting one of the metadata packets, ii) selecting a first set and a second, different set of the data packets identified by the selected metadata packet, iii) transmitting the selected metadata packet and the first set of data packets identified thereby to a first consumer node in a plurality of nodes for use by the first consumer node in synchronizing presentation of the dynamic data set, the first consumer node having a first bandwidth connection with the communications service, and iv) transmitting the selected metadata packet and the second, different set of data packets identified thereby to a second consumer node in the plurality of nodes for use by the second consumer node in synchronizing presentation of the dynamic data set, the second consumer node having a second bandwidth connection with the communications service that is different from the first bandwidth connection that the first consumer node has with the communications service; wherein, in selecting the first set of data packets, the communications service selects all the data packets identified by the selected metadata packet less the data packets already transmitted to the first consumer node and, in selecting the second, different set of data packets, the communications service selects all the data packets identified by the selected metadata packet less the data packets already transmitted to the second consumer node. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A communications service for synchronizing presentation of a dynamic data set to a plurality of nodes, the service comprising:
-
a receiving subsystem for receiving a plurality of metadata packets, each metadata packet identifying a plurality of data packets representing a current state of a dynamic data set, and for separately receiving at least one data packet identified by the received metadata packets; a memory element for storing at least one of the metadata packets and the data packet; a synchronization engine for selecting i) one of the metadata packets and ii) a first set and a second, different set of the data packets identified by the selected metadata packet; and a transmission subsystem for transmitting i) the selected metadata packet and the first set of data packets identified thereby to a first consumer node in a plurality of nodes for use by the first consumer node in synchronizing presentation of the dynamic data set, the first consumer node having a first bandwidth connection with the communications service, and ii) the selected metadata packet and the second, different set of data packets identified thereby to a second consumer node in the plurality of nodes for use by the second consumer node in synchronizing presentation of the dynamic data set, the second consumer node having a second bandwidth connection with the communications service that is different from the first bandwidth connection that the first consumer node has with the communications service, wherein, in selecting the first set of data packets, the synchronization engine selects all the data packets identified by the selected metadata packet less the data packets already transmitted to the first consumer node and, in selecting the second, different set of data packets, the synchronization engine selects all the data packets identified by the selected metadata packet less the data packets already transmitted to the second consumer node. - View Dependent Claims (19, 20, 21)
-
Specification