Patent ID: 9208167
Filing Date: 2015-12-08
Classification: G06F,H04L

Abstract:
1. A computerized method for data synchronization and conflict resolution in a distributed data storage system, wherein the distributed data storage system comprises a plurality of data access nodes connected to each other and one or more data centers coupled to at least some of the data access nodes, the method comprising: receiving, at a first data access node, a first request to modify a data element stored in a data center; transmitting, by the first data access node, a first lock event associated with the data element to each of the other data access nodes; receiving, at a second data access node, a second request to modify the data element at the same time as the first request to modify is received; transmitting, by the second data access node, a second lock event associated with the data element to each of the other data access nodes; determining that the first data access node has priority to modify the data element, wherein the priority is based upon an indication that the second data access node initiated establishment of the connection between the first data access node and the second data access node at a time when the second data access node joined the plurality of data access nodes; modifying, by the first data access node, the data element based upon the first request to modify; transmitting, by the first data access node, a first unlock event associated with the data element to each of the other data access nodes, wherein the first unlock event includes an indication of the modification made to the data element by the first data access node; determining, by the second data access node, whether the second request to modify the data element conflicts with the modification made to the data element by the first data access node; and modifying, by the second data access node, the data element based upon the second request to modify if the second request to modify does not conflict with the modification made to the data element by the first data access node.