Patent ID: 9185165
Filing Date: 2015-11-10
Classification: G06F,H04L

Abstract:
1. An article of manufacture for use in operating a computer to synchronize data, comprising a non-transitory machine-readable medium on which there has been recorded instructions comprising: routines to connect, with the computer, to a peer computer via a network connection; routines to receive, with the computer, a remote table from the peer computer, wherein the remote table comprises an object comprising a vector, said object further comprising a conflict flag; routines to determine, with the computer, whether the object is present in a local table; routines to determine, with the computer, whether the vector in the remote table and the vector in the local table match when the object is present in the local table; routines to determine, with the computer, whether a record of a change to the object is present in a local transaction log when the vectors do not match; routines to receive, with the computer, data from the peer computer indicating whether a record of a change to the object is present in a remote transaction log when the vectors do not match; routines to replace, with the computer, the vector in the local table with the vector in the remote table and recording, with the computer, a change to the object in the local transaction log when the record of the change to the object in the local transaction log is less recent than the record of the change to the object in the remote transaction log; routines to flag, with the computer, the conflict flag in the local table to indicate a conflict when the vectors do not match; routines to generate, with the computer, an alarm when the vectors do not match; routines to change, with the computer, the vector in the local table; and to record, with the computer, the change to the vector in the local transaction log; routines to record, with the computer, the record of the change to the object in the remote transaction log into the local transaction log when the vectors do not match, wherein the record of the change to the object in the remote transaction log comprises peer conflict data indicating a conflict when a change to the vector in the remote table has been made and a different change to the vector in a table associated with a third computer has been made; routines to record, with the computer, object data from the local table in the local transaction log when the vectors do not match; routines to determine, with the computer, a plurality of peer computers with which to synchronize; and selecting, with the computer, one of the plurality of peer computers to which to connect; routines to set, with the computer, a mutex flag when the connection to the peer computer is made; and routines to receive, with the computer, a ready message from the peer computer.