Systems and methods for synchronizing data between communication devices in a networked environment
First Claim
Patent Images
1. A method for sharing and synchronizing data between a source device and a plurality of destination devices in a network communication system, the method comprising:
- determining performance similarities for a plurality of communication connections, each communication connection connecting the source device and at least one of the plurality of destination devices;
creating, dynamically, one or more performance clusters based on performance similarities;
assigning each of the plurality of communication connections into one of the performance clusters based on the determined performance similarities; and
assigning a synchronization mechanism to each of the performance clusters, wherein each synchronization mechanism is coupled with a source data buffer in the source device, the source data buffer containing the data to be shared with each destination device wherein a destination device that does not respond within a timeout threshold is removed from its performance cluster but when the removed destination device responds to the timeout threshold it receives full-buffer updates until such point as a recent average latency performance of the responding destination device is at a level that merits insertion back into one of the performance clusters.
9 Assignments
0 Petitions
Accused Products
Abstract
A source communication device comprises a cluster manager to group destination device connections into a plurality of performance clusters. The cluster manager then causes a synchronization mechanism to be generated for each performance cluster. Each synchronization cluster can then allow data to be optimally shared between the source device and destination devices within a given cluster.
-
Citations
72 Claims
-
1. A method for sharing and synchronizing data between a source device and a plurality of destination devices in a network communication system, the method comprising:
-
determining performance similarities for a plurality of communication connections, each communication connection connecting the source device and at least one of the plurality of destination devices; creating, dynamically, one or more performance clusters based on performance similarities; assigning each of the plurality of communication connections into one of the performance clusters based on the determined performance similarities; and assigning a synchronization mechanism to each of the performance clusters, wherein each synchronization mechanism is coupled with a source data buffer in the source device, the source data buffer containing the data to be shared with each destination device wherein a destination device that does not respond within a timeout threshold is removed from its performance cluster but when the removed destination device responds to the timeout threshold it receives full-buffer updates until such point as a recent average latency performance of the responding destination device is at a level that merits insertion back into one of the performance clusters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
15. A source device in communication with a plurality of destination devices in a collaborative communication session, each destination device in communication with the source device via an associated communication connections such that data in the source device can be shared with each destination device in a timely manner, the source device comprising:
-
a cluster manager configured to; determine connection characteristics for each of the plurality of destination devices and associated communication connections, dynamically create one or more performance clusters based on the determined connection characteristics, and assign each of the communication connections to one of the created performance clusters based on performance similarities of the determined connection characteristics of the destination devices and associated communication connections assigned to each performance cluster; a source data buffer containing the data to be shared with each of the plurality of destination devices; and a plurality of synchronization mechanisms coupled with the source data buffer, each of the plurality of synchronization mechanisms corresponding to one of the performance clusters, wherein each of said synchronization mechanisms is coupled with the source data buffer thereby synchronizing for each performance cluster the data sent to the destination devices associated with communication connections assigned to said performance cluster wherein a destination device that does not respond within a timeout threshold is removed from its performance cluster but when the removed destination device responds to the timeout threshold it receives full-buffer updates until such point as a recent average latency performance of the responding destination device is at a level that merits insertion back into one of the performance clusters. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
42. A network communication system for facilitating data synchronization in a collaborative web session, the system comprising:
a source device configured to communicate with a plurality of destination devices, each via one of a plurality of communication connections, wherein each destination device has a destination synchronization mechanism and a destination data buffer, the source device comprising; a cluster manager configured to determine performance similarities for the plurality of communication connections and to assign each of the plurality of communication connections into one of pre-defined performance clusters based on the determined performance similarities, and wherein the cluster manager is further configured to dynamically create performance clusters as system requirements dictate; a source data buffer containing data to be shared with each destination data buffer of each of the plurality of the destination devices; and a plurality of source synchronization mechanisms coupled with the source data buffer, further coupled with the plurality of communication connections, each of the plurality of source synchronization mechanisms corresponding to one of the performance clusters wherein a destination device that does not respond within a timeout threshold is removed from its performance cluster but when the removed destination device responds to the timeout threshold it receives full-buffer updates until such point as a recent average latency performance of the responding destination device is at a level that merits insertion back into one of the performance clusters. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71)
-
72. A source device in communication with a plurality of destination devices in a collaborative communication session, each destination device in communication with the source device via an associated communication connection such that data in the source device can be shared with each destination device in a timely manner, the source device comprising:
-
a cluster manager configured to determine connection characteristics for each of the plurality of destination devices and associated communication connections, further configured to create one or more performance clusters, and further configured to assign each of the plurality of communication connections into one of the created performance clusters based on performance similarities of the determined connection characteristics of the destination devices and associated communication connections assigned to each performance cluster; the cluster manager further configured to vary the number of performance clusters based on a service priority level of the destination device and a resource priority level of the source device; a source data buffer containing the data to be shared with each of the plurality of destination devices; and a plurality of synchronization mechanisms coupled with the source data buffer, each of the plurality of synchronization mechanisms corresponding to one of the performance clusters, wherein said synchronization mechanism is coupled with the source data buffer thereby synchronizing for each performance cluster the data sent to the destination devices associated with communication connections assigned to said performance cluster wherein a destination device that does not respond within a timeout threshold is removed from its performance cluster but when the removed destination device responds to the timeout threshold it receives full-buffer updates until such point as a recent average latency performance of the responding destination device is at a level that merits insertion back into one of the performance clusters.
-
Specification