System and method for resolving synchronization conflicts
AssigneeRazer (Asia-Pacific) Pte. Ltd.
InventorsMichael A. Chan, Linda Tong
Life of this patent
Estimating the term…
Abstract
Technology is disclosed herein for resolving synchronization conflicts. According to at least one embodiment, multiple computing devices in a synchronization group can communicate with a cloud storage service for data synchronization. The cloud storage service determines a ranking list for the synchronization group based on a user input indicating the priority of a new computing device in a ranking list. When two conflicting updates to a data set are received from two computing devices, the cloud storage service determines a winning update from the two conflicting updates based on priorities of the first and second computing devices in a ranking list, and distributes the winning update to the computing devices to override the other conflicting update.
Claims24
A computer-implemented method comprising:
- receiving, at a server from a new computing device, a signal indicating that a user adds the new computing device to a synchronization group including computing devices for the user;
- sending, from the server to the new computing device, an instruction to present a user interface to prompt the user to decide a priority of the new computing device in a first ranking list for the synchronization group, wherein the first ranking list defines an order determining which computing device of the synchronization group of the computing devices wins in an event of data conflict;
- determining, at the server, the first ranking list for the synchronization group based on user inputs in response to the user interface, wherein the synchronization group of the computing devices has a plurality of ranking lists including the first ranking list, a second ranking list, and a third ranking list, wherein the second ranking list is defined for synchronization of application data for a particular application, wherein the third ranking list is defined for synchronization for one or more particular files stored in the computing devices of the synchronization group;
- receiving, at the server from a first computing device of the synchronization group, a first update to a data set;
- concurrently receiving, at the server from a second computing device of the synchronization group, a second update to the data set;
- determining from the first ranking list that the first computing device has a priority higher than a priority of the second computing device;
- automatically applying the first update to the data set without user intervention;
- and
- removing a priority of any given computing device of the synchronization group from the first ranking list after the given computing device has not interacted with the server for a predetermined time period, wherein removing the priority of the given computing device comprises at least one of removing the given computing device from the first ranking list or removing a rank of the given computing device from the first ranking list.
A computing device comprising:
- a memory configured to store a data set;
- a display configured to present a user interface to prompt a user to decide a priority of the computing device in a first ranking list for a synchronization group, wherein the synchronization group includes computing devices for the user, wherein the first ranking list defines an order determining which computing device of the synchronization group of the computing devices wins in an event of data conflict, wherein the synchronization group of the computing devices has a plurality of ranking lists including the first ranking list, a second ranking list, and a third ranking list, wherein the second ranking list is defined for synchronization of application data for a particular application, wherein the third ranking list is defined for synchronization for one or more particular files stored in the computing devices of the synchronization group;
- a network adapter configured to send a message indicating the user's decision to the server;
- the network adapter further configured to send a first update of the data set to the server;
- the network adapter further configured to receive from the server a second update of the data set, wherein the second update has been generated by a second computing device having a priority higher than the priority of the computing device based on the first ranking list;
- a programmable general-purpose processor configured to apply the second update to the data set stored in the storage component;
- and
- the programmable general-purpose processor configured to remove a priority of any given computing device of the synchronization group from the first ranking list after the given computing device has not interacted with the server for a predetermined time period, by at least one of removing the given computing device from the first ranking list or removing a rank of the given computing device from the first ranking list.
A system for resolving synchronization conflicts, the system comprising:
- a network adapter configured to communicate with computing devices belonging to a synchronization group;
- a programmable general-purpose processor;
- and
- a memory storing instructions which, when executed by the processor, cause the system to perform a process including:
- determining a first ranking list for the synchronization group based on a user input indicating a priority of a new computing device in the first ranking list, wherein the first ranking list defines an order determining which computing device of the synchronization group of the computing devices wins in an event of data conflict, wherein the synchronization group of the computing devices has a plurality of ranking lists including the first ranking list, a second ranking list, and a third ranking list, wherein the second ranking list is defined for synchronization of application data for a particular application, wherein the third ranking list is defined for synchronization for one or more particular files stored in the computing devices of the synchronization group;
- receiving two conflicting updates to a data set from a first computing device and a second computing device respectively, wherein the first computing device and the second computing device belong to the synchronization group;
- determining a winning update from the two conflicting updates based on the priorities of the first and second computing devices in the first ranking list;
- applying the winning update by sending the winning update to at least one of the computing devices of the synchronization group;
- and
- removing a priority of any given computing device of the synchronization group from the first ranking list after the given computing device has not interacted with the server for a predetermined time period, wherein removing the priority of the given computing device comprises at least one of removing the given computing device from the first ranking list or removing a rank of the given computing device from the first ranking list.
Dependencies are inferred from the claim text.