IP Library Granted Patent US 9,819,736
Granted Patent B1
US 9,819,736 · App. 15/194,032 · Granted Nov 14, 2017

Systems and methods for synchronizing data between communication devices in a networked environment

Inventors: Dan Jones (Niwot, CO); Todd Vernon (Lafayette, CO); Jeffrey Kriese (Castle Rock, CO)
Assignee: Open Invention Network, LLC
H04L67/1095H04L67/1004H04L67/322
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,819,736
App. No.
15/194,032
Granted
Nov 14, 2017
Kind
B1
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.

Claims (39)

1. A device, comprising:

a processor and a memory unit;

a plurality of connection interfaces; and

a cluster manager structured to:

remove one or more destination devices, that do not respond within a timeout threshold, from their performance clusters;

insert the removed one or more destination devices when the removed one or more destination devices respond to the timeout threshold, until such point as a recent average latency performance merits insertion back into their performance clusters;

determine subsets of connections from a set of connections, wherein each connection in each subset has similar performance capabilities with the other connections in the same subset; and

detect a change in performance capabilities for one of the plurality of connections and to assign a connection for the one of the plurality of connections to another performance cluster based on the change in performance capabilities.

2. The device of claim 1 , wherein each of a plurality of synchronization mechanisms is configured to determine at least one of client service and resource priorities, determine performance similarities for a plurality of connections made via the plurality of connection interfaces, and group the plurality of connections into performance clusters based on the determined performance similarities and the determined client service and resource priorities.

3. The device of claim 2 wherein the plurality of synchronization mechanisms is coupled with the plurality of connection interfaces, and wherein the cluster manager is configured to assign a synchronization mechanism to each of the performance clusters.

4. The device of claim 3 , wherein each of the plurality of synchronization mechanisms is configured to provide computations and protocols needed to communicate data over the plurality of connections.

5. The device of claim 4 , further comprising a source data buffer configured to store data, and wherein the source device is structured to share the data stored in the source data buffer with the plurality of destination devices interfaced with the source device via the plurality of connection interfaces.

6. The device of claim 2 wherein the cluster manager is configured to assign a synchronization mechanism to each of the performance clusters.

7. The device of claim 6 , wherein each of the plurality of synchronization mechanisms is configured to provide computations and protocols needed to communicate data over the set of connections.

8. The device of claim 1 , wherein the cluster manager is configured to create at least one of:

fewer performance clusters when it is determined that resource priorities are a priority; and

more performance clusters, when it is determined that client service is a priority.

9. The device of claim 1 , wherein the cluster manager is further configured to detect a new connection, determine a performance of the new connection, and add the new connection to a performance cluster based on the performance of the new connection.

10. The device of claim 1 wherein each of the subsets are grouped in a distinct performance cluster.

11. A system, comprising:

a processor and a memory unit;

an intermediate source device;

remove, from their performance clusters, one or more destination devices that do not respond within a timeout threshold;

insert the removed one or more destination devices, back into their performance clusters, when the removed one or more destination devices respond to the timeout threshold, until such point as a recent average latency performance merits insertion; and

a cluster manager configured to determine subsets of connections from a set of connections, wherein each connection in each subset has similar performance capabilities with the other connections in the same subset;

wherein the cluster manager is further configured to assign the connection to another performance cluster based on the change in performance capabilities.

12. The system of claim 11 , further comprising a plurality of synchronization mechanisms, wherein the cluster manager is configured to assign a synchronization mechanism to each of the performance clusters.

13. The system of claim 12 wherein each of the plurality of synchronization mechanisms is configured to provide computations and protocols needed to communicate data over the set of connections.

14. The system of claim 11 wherein each of the subsets are grouped in a distinct performance cluster.

15. The system of claim 14 , further comprising an intermediate source data buffer configured to store data, and wherein the intermediate source device is configured to share the data stored in the source data buffer with the plurality of destination devices.

16. The system of claim 11 , wherein the performance clusters include at least one of:

a high performance cluster;

an intermediate performance cluster; and

a low performance cluster.

17. The system of claim 11 , wherein similarity in the performance capabilities for each subset of connections is determined by at least one of:

similarity in connection bandwidth;

similarity in connection security; and

similarity in connection error rate.

18. The system of claim 11 , wherein the cluster manager is further configured to detect a change in performance capabilities for a connection in one performance cluster.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062401/0512 →
Continuity (4)
Continuation 14074214 · Nov 7, 2013
Continuation 12635271 · Dec 10, 2009
Continuation 12189267 · Aug 11, 2008
Continuation 10735590 · Dec 12, 2003