IP Library Granted Patent US 9,020,888
Granted Patent B1
US 9,020,888 · App. 13/844,320 · Granted Apr 28, 2015

Data replicating systems and data replication methods

Inventors: Matthew R. Kiefer (Seaford, NY); Daniel P. Martin (Williamsville, NY); Edmond Baydian (Massapequa, NY)
Assignee: Nectar Services Corp.
G06F17/30575
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,020,888
App. No.
13/844,320
Granted
Apr 28, 2015
Kind
B1
Abstract

Methods and systems for synchronizing data may enable a computer to synchronize data by connecting to a peer computer via a network connection. The computer may receive a remote table from the peer computer, wherein the remote table comprises an object comprising a vector. The computer may determine whether the object is present in a local table. When the object is present in the local table, the computer may determine whether the vector in the remote table and the vector in the local table match. When the vectors do not match, the computer may determine whether a record of a change to the object is present in a local transaction log. The computer may receive 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. The computer may replace the vector in the local table with the vector in the remote table and record 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.

Claims (18)

1. A method for synchronizing data comprising:

connecting, with a computer, to a peer computer via a network connection;

receiving, 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;

determining, with the computer, whether the object is present in a local table;

determining, 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;

determining, 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;

receiving, 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;

replacing, 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;

flagging, with the computer, the conflict flag in the local table to indicate a conflict when the vectors do not match;

generating, with the computer, an alarm when the vectors do not match;

changing, with the computer, the vector in the local table; and recording, with the computer, the change to the vector in the local transaction log;

recording, 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;

recording, with the computer, object data from the local table in the local transaction log when the vectors do not match;

determining, 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;

setting, with the computer, a mutex flag when the connection to the peer computer is made; and receiving, with the computer, a ready message from the peer computer.

2. The method of claim 1 , further comprising

adding, with the computer, the object, comprising a key and a delete flag, to the local table when the object is not present in the local table; and

replacing, with the computer, a delete flag in the local table with a delete flag in the list.

Assignments (2)
SECURITY INTEREST Recorded Apr 27, 2018
From: NECTAR SERVICES CORP.; NECTAR HOLDINGS, INC.
To: INGWE CAPITAL NECTAR LLC
Reel/Frame 045652/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: NECTAR SERVICES CORP.
To: NECTAR HOLDINGS, INC.
Reel/Frame 045566/0032 →
Continuity (3)
Provisional Application 61620243 · Apr 4, 2012
Provisional Application 61620231 · Apr 4, 2012
Provisional Application 61620238 · Apr 4, 2012