CPC G06F 16/275 (2019.01) [G06F 7/14 (2013.01)] | 25 Claims |
1. A method, comprising:
accessing, at a first client device, a first changeset that is representative of an operation performed on a data object in a database by the first client device;
transmitting, from the first client device and to a server, a synchronization request for synchronizing the database with one or more changesets generated by a second client device;
receiving, at the first client device and from the server in response to synchronization request, a second changeset that is representative of an operation performed by the second client device on the data object, wherein the data object is shared between the first client device and the second client device; and
merging, at the first client device, the first changeset and the second changeset to update the data object, wherein the merging is performed based one or more rules that are specific to a type of the operation in the first changeset and the second changeset, the merging comprising:
determining a type of operation to which the first changeset corresponds and a type of operation to which the second changeset corresponds;
responsive to determining that at least one of the first changeset or the second change set corresponds to a first type of operation, applying one of the first changeset or the second changeset based on a comparison of a first timestamp associated with the first changeset and a second timestamp associated with the second changeset; and
responsive to determining that at least one of the first changeset or the second change set corresponds to a second type of operation, applying one of the first changeset or the second changeset irrespective of the first timestamp associated with the first changeset and the second timestamp associated with the second changeset.
|