System for processing modifications to data records

US10831744B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10831744-B1
Application numberUS-201815923673-A
CountryUS
Kind codeB1
Filing dateMar 16, 2018
Priority dateMar 16, 2018
Publication dateNov 10, 2020
Grant dateNov 10, 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.

Techniques for controlling the synchronization of data records between servers and client devices include use of configuration data for each client device to control the times at which the current version of server data records is sent to each client device. The configuration data also controls the times at which modified versions of local data records on the client device are sent to the server. The configuration data additionally indicates one or more control actions that are performed if the data record version associated with user input modifying a data record does not match the current version of the server data record. Control actions may include preventing modification of data records, providing notifications to client devices, and providing the current version of server data records to client devices. In some cases, control actions may include permitting certain types of modifications while preventing other types of modifications.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more memories storing computer-executable instructions; one or more hardware processors to execute the computer-executable instructions to: provide a first version of a plurality of data records to a first client device; provide the first version of the plurality of data records to a second client device; determine, based on first configuration data associated with the first client device, a first update time; in response to passage of the first update time, access first user input received from the first client device, wherein the first user input includes a first stateless operation for modifying a first data record of the plurality of data records and indicates the first version; determine a second version of the plurality of data records based on the first version of the plurality of data records and the first user input; determine, based on second configuration data associated with the second client device, a second update time; in response to passage of the second update time, access second user input received from the second client device, wherein the second user input includes a second stateless operation for performing a first modification and a second modification to the first data record and indicates the first version; determine a mismatch between the second version of the plurality of data records and the first version indicated in the second user input; in response to the mismatch, determine, based on the second configuration data, a control action that corresponds to the mismatch; and based on the control action, prevent the first modification to the second version of the plurality of data records; and based on the control action, determine a third version of the plurality of data records based on the second version and the second modification of the second user input. 2. The system of claim 1 , further comprising computer-executable instructions to: determine, based on the first configuration data, a first refresh time associated with the first client device; in response to passage of the first refresh time, provide the third version of the plurality of data records to the first client device; determine, based on the second configuration data, a second refresh time associated with the second client device; and in response to passage of the second refresh time, provide the third version of the plurality of data records to the second client device. 3. The system of claim 1 , further comprising computer-executable instructions to: determine, based on the second configuration data, a staleness time associated with the second client device; determine storage of the first version of the plurality of data records in association with the second client device for a length of time greater than the staleness time, wherein the first modification is prevented further in response to the staleness time; and provide the third version of the plurality of data records to the second client device. 4. The system of claim 1 , further comprising computer-executable instructions to: determine a characteristic of the first data record; determine the first update time based on correspondence between the characteristic and the first configuration data associated with the first client device; and determine the second update time based on correspondence between the characteristic and the second configuration data associated with the second client device. 5. A method comprising: providing first configuration data to a first device to cause the first device to one or more of receive data records or provide user input modifying data records at one or more first times; providing second configuration data to a second device to cause the second device to one or more of receive data records or provide user input modifying data records at one or more second times; accessing, at a third time, first user input received from the first device, wherein the first user input indicates a first version of a data record; determining correspondence between the first version of the data record indicated by the first user input and the first version of the data record stored in association with a server; in response to the correspondence, determining a second version of the data record based on the first version of the data record and the first user input; accessing, at a fourth time subsequent to the third time, second user input received from the second device, wherein the second user input includes a first modification and a second modification and indicates the first version of the data record; determining a mismatch between the first version indicated by the second user input and the second version stored in association with the server; in response to the mismatch, determining that the second configuration data indicates a control action that corresponds to the mismatch; based on the control action, preventing the first modification to the second version of the data record; and based on the control action, determining a third version of the data record based on the second version of the data record and the second modification of the second user input. 6. The method of claim 5 , further comprising: determining a first type associated with the first modification and a second type associated with the second modification; wherein the first modification is prevented based on correspondence between the control action and the first type; and wherein the third version is determined using the second modification based on a lack of correspondence between the control action and the second type. 7. The method of claim 5 , further comprising: determining, based on the first configuration data, a first update time associated with the first device; determining passage of the first update time, wherein the first user input is received from the first device in response to passage of the first update time; determining, based on the second configuration data, a second update time associated with the second device; and determining passage of the second update time, wherein the second user input is received from the second device in response to passage of the second update time. 8. The method of claim 5 , further comprising: determining, based on the first configuration data, a first refresh time associated with the first device; determining passage of the first refresh time; in response to the passage of the first refresh time, providing the third version of the data record to the first device; determining, based on the second configuration data, a second refresh time associated with the second device; determining passage of the second refresh time; and in response to the passage of the second refresh time, providing the third version of the data record to the second device. 9. The method of claim 5 , further comprising: determining disassociation of the first device from a network associated with a server storing the third version of the data record; determining, based on the first configuration data, a first staleness time associated with the first device; determining passage of the first staleness time; receiving third user input to modify the third version of the data record subsequent to the passage of the first staleness time; and in response to the passage of the first staleness time, prevent modification of the third version of the data record based on the third user input. 10. The method of claim 5 , further comprising: in response to determining the second version of the data record based on the first user input, providing the second version of the data record to the first device; and based on the control action, providing t

Assignees

Inventors

Classifications

  • G06F16/178Primary

    Techniques for file synchronisation in file systems · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · 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 US10831744B1 cover?
Techniques for controlling the synchronization of data records between servers and client devices include use of configuration data for each client device to control the times at which the current version of server data records is sent to each client device. The configuration data also controls the times at which modified versions of local data records on the client device are sent to the serve…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/178. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 10 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).