System and method for conditionally updating an item with attribute granularity

US11789925B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11789925-B2
Application numberUS-201916543116-A
CountryUS
Kind codeB2
Filing dateAug 16, 2019
Priority dateJun 27, 2011
Publication dateOct 17, 2023
Grant dateOct 17, 2023

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 system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. Attribute values may be scalars or sets of numbers or strings. The system may provide an API usable to request that values of one or more of an item's attributes be updated. An update request may be conditional on expected values of one or more item attributes (e.g., the same or different item attributes). In response to a request to update the values of one or more item attributes, the previous values and/or updated values may be optionally returned for the updated item attributes or for all attributes of an item targeted by an update request. Items stored in tables may be indexed using a simple or composite primary key.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: performing, by one or more computing devices implementing a non-relational data store, comprising: receiving an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receiving, replacing the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replacing comprises evaluating a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replacing is performed in response to determining that the expected value matches a stored value of the attribute; and wherein determining that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 2. The method of claim 1 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replacing is performed in response to determining that the expected values matches stored value of the two or more attributes. 3. The method of claim 1 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replacing comprises incrementing or decrementing the current value of the numeric attribute by an amount indicated in the API call. 4. The method of claim 1 , wherein the expected value for the item specifies a current value of an attribute of the item; and wherein said replacing comprises replacing the current value of the attribute with a different value specified in the API call. 5. The method of claim 1 , wherein the expected value for the item specifies that the attribute of the item exists; and wherein said replacing comprises deleting the attribute from the item. 6. The method of claim 1 , wherein the expected value for the item specifies that the attribute of the item does not exist; and wherein said replacing comprises adding the attribute to the item. 7. The method of claim 1 , wherein the expected value for the item specifies that the item exists; and wherein said replacing comprises inserting the item into the table of the non-relational data store. 8. A system, comprising: a plurality of computing nodes, each comprising at least one processor and memory comprising program instructions executable to: receive an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receive, replace the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replace comprises an evaluation of a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replace is performed responsive to a determination that the expected value matches a stored value of the attribute; and wherein a determination that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 9. The system of claim 8 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replace is performed responsive to a determination that the expected values matches stored value of the two or more attributes. 10. The system of claim 8 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replace comprises to increment or decrement the current value of the numeric attribute by an amount indicated in the API call. 11. The system of claim 8 , wherein the expected value for the item specifies a current value of an attribute of the item; and wherein said replace comprises replacement of the current value of the attribute with a different value specified in the API call. 12. The system of claim 8 , wherein the expected value for the item specifies that the attribute of the item exists; and wherein said replace comprises deletion of the attribute from the item. 13. The system of claim 8 , wherein the expected value for the item specifies that the attribute of the item does not exist; and wherein said replace comprises to add the attribute to the item. 14. The system of claim 8 , wherein the expected value for the item specifies that the item exists; and wherein said replace comprises insertion of the item into the table of the non-relational data store. 15. One or more non-transitory, computer-readable storage media storing program instructions that if executed on or across one or more computers cause the one or more computers to: receive an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and in response to said receive, replace the set of name and value pairs of the item with name and value pairs specified in the API call; wherein the replace comprises an evaluation of a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item; wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item; wherein the replace is performed responsive to a determination that the expected value matches a stored value of the attribute; and wherein a determination that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item. 16. The one or more non-transitory, computer-readable storage media of claim 15 , wherein the item comprises a plurality of attributes; wherein the API call specifies an expected value of each of two or more attributes of the item; and wherein said replace is performed responsive to a determination that the expected values matches stored value of the two or more attributes. 17. The one or more non-transitory, computer-readable storage media of claim 5 , wherein the expected value for the item specifies a current value of a numeric attribute of the item; and wherein said replace comprises to increment or decrement the current value of the numer

Assignees

Inventors

Classifications

  • G06F16/235Primary

    Update request formulation · CPC title

  • Updating · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Integrating or interfacing systems involving database management systems · 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 US11789925B2 cover?
A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. Attribute values may be scalars or sets of numbers or strings. The system may provide an API usable to request that values of one or more of an it…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/235. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 17 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).