Conflict resolution in a data proxy

US11126610B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11126610-B1
Application numberUS-201715821658-A
CountryUS
Kind codeB1
Filing dateNov 22, 2017
Priority dateNov 22, 2017
Publication dateSep 21, 2021
Grant dateSep 21, 2021

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.

A technology is provided for conflict resolution in a data proxy for a mutation. A mutation may be received at a data proxy from an application, and the data proxy is in a service provider environment. The mutation may be sent to be processed by a data store via a data access resolver. A conflict message may be received at the data proxy via the data access resolver for a conflict mutation at the data store for the mutation. The conflict may be resolved at the data proxy using a conflict resolution function in the data proxy.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory machine readable storage medium comprising instructions embodied thereon, the instructions when executed cause a processor to perform processing, comprising: receiving a mutation at a data proxy from an application executing at a client, wherein the data proxy is hosted by a service provider environment; sending the mutation to a data access resolver to enable the mutation to be processed by a data store; receiving a conflict message at the data proxy via the data access resolver for a conflict associated with the mutation at the data store; launching a conflict resolution function on a code function service, as initiated by the data proxy in response to receiving the conflict message, wherein the conflict resolution function is a segment of program code, and the conflict resolution function is one of a plurality of code blocks of pre-defined functions for resolving conflicts; resolving the conflict at the data proxy using the conflict resolution function initiated by the data proxy, wherein the conflict resolution function comprises three modes, the three modes including a no conflict detected mode, a conflict detected mode, and a custom handling logic mode; after resolving the conflict at the data proxy, determining whether to apply the mutation to the data store via the data access resolver associated with the data proxy; and after resolving the conflict at the data proxy, flushing the conflict resolution function from memory. 2. The non-transitory machine readable storage medium of claim 1 , wherein resolving the conflict comprises rejecting the mutation at the data proxy and notifying the client of the rejection. 3. The non-transitory machine readable storage medium of claim 1 comprising further instructions embodied thereon, the further instructions when executed cause the processor to perform further processing, comprising sending values associated with the conflict message to the client for presentation, and receiving a selection of a value to write to the data store. 4. The non-transitory machine readable storage medium of claim 1 comprising further instructions embodied thereon, the further instructions when executed cause the processor to perform further processing, comprising sending a message about the mutation, after the mutation is written to the data store, to devices having a subscription associated with the mutation. 5. A method, comprising: receiving a mutation at a data proxy from an application; sending the mutation via a data access resolver to be processed by a data source; receiving a conflict message at the data proxy via the data access resolver for a conflict at the data source for the mutation; launching a conflict resolution function on a code function service, as initiated by the data proxy in response to receiving the conflict message, wherein the conflict resolution function is a segment of program code, and the conflict resolution function is one of a plurality of code blocks of pre-defined functions for resolving conflicts; resolving the conflict at the data proxy using a resolution from the conflict resolution function, wherein the conflict resolution function comprises three modes, the three modes including a no conflict detected mode, a conflict detected mode, and a custom handling logic mode; and after resolving the conflict at the data proxy, flushing the conflict resolution function from memory. 6. The method of claim 5 , further comprising, after resolving the conflict at the data proxy, sending the mutation to the data source via a data access resolver associated with the data proxy. 7. The method of claim 5 , wherein resolving the conflict comprises rejecting the mutation at the data proxy. 8. The method of claim 5 , further comprising the conflict resolution function presenting values associated with the conflict message to a client and allowing a selection of a value to write to the data source. 9. The method of claim 5 , wherein resolving the conflict comprises ignoring the conflict message and applying the mutation at the data source to overwrite data already in the data source. 10. The method of claim 5 , further comprising sending a message about the mutation, after the mutation is written to the data source, to devices with a subscription associated with results of the mutation. 11. The method of claim 10 , further comprising using the subscription to send the message via a topic created using a subscription field name and subscription arguments. 12. The method of claim 5 , wherein the mutation is one of a plurality of mutations stored in a cache at a client while the client was offline, and the mutation is sent to the data proxy after the client connects to the data proxy. 13. The method of claim 5 , wherein the data source is a data store and is selected from a group of data stores consisting of: an object data store, a key-value data store, a relational database, and a search service. 14. The method of claim 5 , wherein the data source is a code function that is a segment of program code executing on the code function service. 15. The method of claim 5 , further comprising dividing fields of the mutation and sending the fields of the mutation to a plurality of data sources. 16. The method of claim 5 , wherein the data proxy includes more than one version of a data schema, and the mutation is handled by the data proxy using one of the versions of the data schema requested by a client. 17. The method of claim 5 , further comprising: using a per session identity and permission lists to manage multiple users accessing queries and mutations via the data proxy, wherein the multiple users are authorized to access the data proxy using the permission lists. 18. A system, comprising: a data proxy comprising: at least one processor; and a memory device including instructions that, when executed by the at least one processor, cause the data proxy to: receive a mutation at the data proxy from an application executing at a client, wherein the data proxy is associated with a service provider environment; send a mutation to a data access resolver to enable the mutation to be processed by a data store wherein the data access resolver is a code function that launches in a container on a computing instance in the service provider environment; receive a conflict message at the data proxy from the data access resolver for a conflict associated with the mutation at the data store; launch a conflict resolution function on a code function service, as initiated by the data proxy in response to receiving the conflict message, wherein the conflict resolution function is a segment of program code, the conflict resolution function is one of a plurality of code blocks of pre-defined functions for resolving conflicts, and the conflict resolution function comprises three modes, the three modes including a no conflict detected mode, a conflict detected mode, and a custom handling logic mode; send resolution options to the client using the conflict resolution function that presents values associated with the conflict message to the client; receive a selection of a value from the client; and apply a modified mutation to the data store based the selection of the value; and after applying the modified mutation to the data store, flush the conflict resolution function from memory. 19. The system of claim 18 , wherein the data source is a segment of program code executing on the code function service. 20. The system of claim 18 ,

Assignees

Inventors

Classifications

  • of access to content, e.g. by caching · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • Optimistic concurrency control · 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 US11126610B1 cover?
A technology is provided for conflict resolution in a data proxy for a mutation. A mutation may be received at a data proxy from an application, and the data proxy is in a service provider environment. The mutation may be sent to be processed by a data store via a data access resolver. A conflict message may be received at the data proxy via the data access resolver for a conflict mutation at t…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/9574. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 21 2021 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).