System and method for resolving synchronization conflicts

US10540368B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10540368-B2
Application numberUS-201314042567-A
CountryUS
Kind codeB2
Filing dateSep 30, 2013
Priority dateOct 2, 2012
Publication dateJan 21, 2020
Grant dateJan 21, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. 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. 2. The computer-implemented method of claim 1 , wherein the step of sending an instruction comprises: sending, from the server to a computing device of the synchronization group, an instruction to present a user interface to prompt the user to decide the first ranking list, in response to a signal indicating that the synchronization group is created. 3. The computer-implemented method of claim 1 , further comprising: sending, from the server to the first computing device, a confirmation that the first update has been applied to the data set. 4. The computer-implemented method of claim 1 , further comprising: sending, from the server to the second computing device, an instruction including the first update to the data set to prompt the second computing device to override the second update with the first update applied to a local copy of the data set stored in the second computing device. 5. The computer-implemented method of claim 1 , wherein the synchronization group identifies computing devices for the user that have the same view for the data set. 6. The computer-implemented method of claim 1 , further comprising: receiving, at a server from a computing device of the synchronization group, a signal indicating that a user removes the computing device from the synchronization group; and updating, at a server, the first ranking list for the synchronization group to remove the computing device from the first ranking list. 7. The computer-implemented method of claim 1 wherein the signal indicating that the user adds the new computing device to the synchronization group is generated in response to an event of the user logging on the new computing device. 8. The computer-implemented method of claim 1 , further comprising: ignoring the second update to the data set. 9. The computer-implemented method of claim 1 , wherein the data set includes a file or a data structure of metadata. 10. The computer-implemented method of claim 1 , wherein the first ranking list defines priorities of the computing devices of the synchronization group for applying updates to the data set. 11. The computer-implemented method of claim 1 , wherein the first ranking list defines priorities of the computing devices of the synchronization group for applying updates to data of an application configured to run on one or more of the computing devices of the synchronization group. 12. The computer-implemented method of claim 1 , wherein the first ranking list defines priorities of the computing devices of the synchronization group for applying updates to data stored in the computing devices of the synchronization group. 13. The computer-implemented method of claim 1 , wherein the first and second updates to the data set includes a change of data in the data set, a change of metadata of the data set, a deletion of the data set, or a creation of the data set. 14. The computer-implemented method of claim 1 , wherein the concurrently receiving comprises: receiving, at the server from a second computing device of the synchronization group, a second update to the data set before the first update is applied to the data set. 15. The computer-implemented method of claim 1 , wherein the automatically applying comprises: if the second update has been applied already to the data set, undoing the application of the second update to the data set and applying the first update to the data set. 16. The computer-implemented method of claim 1 , wherein the second ranking list comprises two or more ranking lists, wherein each ranking list of the two or more ranking lists corresponds to a respective synchronization of application data for an application. 17. 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

Assignees

Inventors

Classifications

  • Asynchronous replication or reconciliation · CPC title

  • characterised by the use of retention policies (retention policies for HSM systems G06F16/185) · CPC title

  • G06F16/93Primary

    Document management systems · CPC title

  • specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10540368B2 cover?
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 ran…
Who is the assignee on this patent?
Razer Asia Pacific Pte Ltd
What technology area does this patent fall under?
Primary CPC classification G06F16/93. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 21 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).