Methods and systems for halting synchronization loops in a distributed system
First Claim
1. In a distributed computing system capable of synchronizing properties, a method of providing consistent resolution for synchronization conflicts in order to reduce infinite synchronization loops within the distributed system, the method comprising acts of:
- at a local machine connectable to a plurality of remote devices;
receiving remote device data that includes a remote property needing to be synchronized with a local property, the remote device data having been input at a first remote device, wherein the first remote device is a low fidelity device that is unable to maintain time date information and the remote device data being low fidelity data;
accessing local machine data that includes the local property needing to be synchronized with the remote property;
after receiving the remote device data and accessing the local machine data, determining that a conflict exists between the remote property and the local property;
after determining that the conflict exists at the local machine, and in response to determining that the conflict exists;
utilizing a conflict resolution algorithm to generate a remote value from the remote property;
utilizing the conflict resolution algorithm to generate a local value from the local property;
applying data selection criteria to a comparison of the remote value to the local value, and in a manner that reduces infinite synchronization loops among the local machine and two or more remote devices having corresponding properties for synchronization, wherein applying data selection criteria comprises;
at a binary bit level, summing bits of the remote value generated from the remote property to generate a first sum;
at a binary bit level, summing bits of the local value generated from the local property to generate a second sum; and
determining which of the first and second sums has a greater value or a lesser value; and
based at least on which of the first sum and second sum has a greater value or a lesser value, selecting the first sum or the second sum, and applying either the remote property or the local property associated with the selected of the first sum or the second sum for synchronization with the local machine or remote device, respectively.
2 Assignments
0 Petitions
Accused Products
Abstract
The present provides for consistent resolution of data conflicts when synchronizing data between two or more devices in order to reduce the likelihood of an infinite synchronization loop within a distributed computing system. More particularly, example embodiments provide for a conflict resolution algorithm capable of generating unique values for properties that are in conflict. Data selection criteria can then be used to determine which of the properties should be used to resolve the conflict. Such data selection criterion increases the likelihood of providing consistent resolution of similar data conflicts between other devices in the distributed system.
-
Citations
25 Claims
-
1. In a distributed computing system capable of synchronizing properties, a method of providing consistent resolution for synchronization conflicts in order to reduce infinite synchronization loops within the distributed system, the method comprising acts of:
at a local machine connectable to a plurality of remote devices; receiving remote device data that includes a remote property needing to be synchronized with a local property, the remote device data having been input at a first remote device, wherein the first remote device is a low fidelity device that is unable to maintain time date information and the remote device data being low fidelity data; accessing local machine data that includes the local property needing to be synchronized with the remote property; after receiving the remote device data and accessing the local machine data, determining that a conflict exists between the remote property and the local property; after determining that the conflict exists at the local machine, and in response to determining that the conflict exists; utilizing a conflict resolution algorithm to generate a remote value from the remote property; utilizing the conflict resolution algorithm to generate a local value from the local property; applying data selection criteria to a comparison of the remote value to the local value, and in a manner that reduces infinite synchronization loops among the local machine and two or more remote devices having corresponding properties for synchronization, wherein applying data selection criteria comprises; at a binary bit level, summing bits of the remote value generated from the remote property to generate a first sum; at a binary bit level, summing bits of the local value generated from the local property to generate a second sum; and determining which of the first and second sums has a greater value or a lesser value; and based at least on which of the first sum and second sum has a greater value or a lesser value, selecting the first sum or the second sum, and applying either the remote property or the local property associated with the selected of the first sum or the second sum for synchronization with the local machine or remote device, respectively. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. In a distributed computing system capable of synchronizing properties, a method of providing consistent resolution of synchronization and avoiding infinite synchronization loops within the distributed system, the method comprising:
at a local machine that is connectable to a plurality of remote devices and is in communication with at least one of the plurality of remote devices; an act of receiving remote device data from the at least one of the plurality of remote devices, the remote data being low fidelity data in that the at least one of the plurality of remote devices is unable to maintain time date information, and the remote data including a remote property needing to be synchronized with a local property; an act of accessing local machine data that includes the local property needing to be synchronized with the remote property; an act of determining that a conflict exists between the remote property and the local property, wherein the remote device is a low-fidelity that does not keep time/date information for the remote property, the local machine does not maintain data for the remote and local property for syncing, or both, and wherein determining that a conflict exists after receiving the remote data and after accessing the local machine data; and after determining that the conflict exists, and in response thereto, a step for appropriately selecting a default property value based on applying data selection criteria to a remote value generated from the remote property and a local value generated from the local property, wherein the remote value and local value are generated using a conflict resolution algorithm and applying at least a portion of the remote property and local property respectively thereto, wherein the data selection criteria of which portions of the remote and local properties to use comprises an evaluation of a binary bit representation for the remote value compared with the local value, and wherein application of the selection criteria for selecting the default property substantially avoids infinite synchronization loops among three or more devices having corresponding properties for synchronization, wherein evaluation of a binary bit representation for the remote value compared with the local value comprises; at a binary bit level, summing bits of the remote value generated from the remote property to generate a first sum; at a binary bit level, summing bits of the local value generated from the local property to generate a second sum; determining which of the first sum and the second sum has a greater value or a lesser value; and selecting either the remote property or the local property for synchronization with the local machine or remote device by selecting the first sum or the second sum, based on which has the greater or lesser value, and applying the property associated with the selected of the first sum or the second sum to both the local device and the remote device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
18. In a distributed computing system capable of synchronizing properties, a computer program product for implementing a method of providing consistent resolution synchronization conflicts in order to reduce infinite synchronization loops within the distributed system, the computer program product comprising:
one or more computer readable non-transmission type storage media having stored thereon computer executable instructions that, when executed by a processor, can cause the distributed computing system to perform the following; at a local machine connectable to a plurality of remote devices, and currently connected to at least one of the plurality of remote devices; receive remote device data that includes a remote property needing to be synchronized with a local property, the remote device data being received from one of the plurality of remote devices currently connected to the local machine, wherein the one of the plurality of remote devices is a low fidelity device that is unable to maintain time date information and the remote device data being low fidelity data; access local machine data that includes the local property needing to be synchronized with the remote property received from the one of the plurality of remote devices currently connected to the local machine; determine that a conflict exists between the remote property received from a remote device and the local property of the local machine; after the determination is made that the conflict exists, and in response to determining that the conflict exists; utilize a conflict resolution algorithm to generate a unique value from the remote property; utilize the conflict resolution algorithm to generate a local value from the local property; and apply data selection criteria to a comparison of the remote value to the local value, and in a manner that eliminates infinite synchronization loops among three or more devices having corresponding properties for synchronization, wherein applying data selection criteria includes; at a binary bit level, summing bits of the remote value generated from the remote property to generate a first sum; at a binary bit level, summing bits of the local value generated from the local property to generate a second sum; and determining which of the first and second sums has a greater value or a lesser value; and based at least on which of the first sum and second sum has a greater value or a lesser value, selecting the first sum or the second sum, and applying either the remote property or the local property associated with the selected of the first sum or the second sum for synchronization with the local machine or remote device, respectively. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
Specification