System and method for conditionally updating an item with attribute granularity

US10387402B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10387402-B2
Application numberUS-201615362484-A
CountryUS
Kind codeB2
Filing dateNov 28, 2016
Priority dateJun 27, 2011
Publication dateAug 20, 2019
Grant dateAug 20, 2019

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: receiving a request to update an item stored in a table in a non-relational data store, wherein the item comprises a plurality of attributes, wherein the request comprises: a condition for the item to be evaluated prior to updating the item, and a key that uniquely identifies the item in the table, wherein the condition pertains to at least one attribute of the item, wherein the at least one attribute is separate from the key that uniquely identifies the item in the table, and wherein the request is formatted according to a non-SQL (Structured Query Language) interface for the non-relational data store to specify the condition and the key in one request to the non-relational data store; in response to said receiving: accessing the item according to the key in the one request, and evaluating the item according to the condition in the one request; and in response to determining that the condition is met, updating the item according to the one request, wherein the item is not updated if the condition is not met. 2. The method of claim 1 , wherein the condition for the item specifies a respective condition for each of two or more attributes of the item; and wherein determining that the condition for the item is met comprises determining that the respective conditions for the two or more attributes are met. 3. The method of claim 1 , wherein the condition for the item specifies a current value of a numeric attribute of the item; and wherein said updating the item according to the request comprises incrementing or decrementing the current value of the numeric attribute by an amount indicated in the request. 4. The method of claim 1 , wherein the condition for the item specifies a current value of an attribute of the item; and wherein said updating the item according to the request comprises replacing the current value of the attribute with a different value specified in the request. 5. The method of claim 1 , wherein the condition for the item specifies that an attribute of the item exists; and wherein said updating the item according to the request comprises deleting the attribute from the item. 6. The method of claim 1 , wherein the condition for the item specifies that an attribute of the item does not exist; and wherein said updating the item according to the request comprises adding the attribute to the item. 7. The method of claim 1 , wherein the condition for the item specifies that the item exists; and wherein said updating the item according to the request 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 a request to update an item stored in a table in a non-relational data store, wherein the item comprises a plurality of attributes, wherein the request comprises: a condition for the item to be evaluated prior to updating the item, and a key that uniquely identifies the item in the table, wherein the condition pertains to at least one attribute of the item, wherein the at least one attribute is separate from the key that uniquely identifies the item in the table, and wherein the request is formatted according to a non-SQL (Structured Query Language) interface for the non-relational data store to specify the condition and the key in one request to the non-relational data store; in response to receiving the request: access the item according to the key in the one request, and evaluate the item according to the condition in the one request; and in response to determining that the condition is met, update the item according to the one request, wherein the item is not updated if the condition is not met. 9. The system of claim 8 , wherein the condition for the item specifies a respective condition for each of two or more attributes of the item; and wherein determining that the condition for the item is met comprises determining that the respective conditions for the two or more attributes are met. 10. The system of claim 8 , wherein the condition for the item specifies a current value of a numeric attribute of the item; and wherein updating the item according to the request comprises incrementing or decrementing the current value of the numeric attribute by an amount indicated in the request. 11. The system of claim 8 , wherein the condition for the item specifies a current value of an attribute of the item; and wherein updating the item according to the request comprises replacing the current value of the attribute with a different value specified in the request. 12. The system of claim 8 , wherein the condition for the item specifies that an attribute of the item exists; and wherein updating the item according to the request comprises deleting the attribute from the item. 13. The system of claim 8 , wherein the condition for the item specifies that an attribute of the item does not exist; and wherein updating the item according to the request comprises adding the attribute to the item. 14. The system of claim 8 , wherein the condition for the item specifies that the item exists; and wherein updating the item according to the request comprises inserting the item into the table of the non-relational data store. 15. A non-transitory, computer-readable storage medium storing program instructions that if executed on one or more computers cause the one or more computers to: receive a request to update an item stored in a table in a non-relational data store, wherein the item comprises a plurality of attributes, wherein the request comprises: a condition for the item to be evaluated prior to updating the item, and a key that uniquely identifies the item in the table, wherein the condition pertains to at least one attribute of the item, wherein the at least one attribute is separate from the key that uniquely identifies the item in the table, and wherein the request is formatted according to a non-SQL (Structured Query Language) interface for the non-relational data store to specify the condition and the key in one request to the non-relational data store; in response to receiving the request: access the item according to the key in the one request, and evaluate the item according to the condition in the one request; and in response to determining that the condition is met, update the item according to the one request, wherein the item is not updated if the condition is not met. 16. The non-transitory, computer-readable storage medium of claim 15 , wherein the condition for the item specifies a respective condition for each of two or more attributes of the item; and wherein determining that the condition for the item is met comprises determining that the respective conditions for the two or more attributes are met. 17. The non-transitory, computer-readable storage medium of claim 15 , wherein the condition for the item specifies a current value of a numeric attribute of the item; and wherein updating the item according to the request comprises incrementing or decrementing the current value of the numeric attribute by an amount indicated in the request. 18. The non-transitory, computer-readable storage medium of claim 15 , wherein the condition for the item specifies a current value of an attribute of the item; and wherein updating the item according to the request comprises replacing the current value of the attrib

Assignees

Inventors

Classifications

  • Ensuring data consistency and integrity · CPC title

  • G06F16/235Primary

    Update request formulation · CPC title

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

  • Updating · 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 US10387402B2 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 Aug 20 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).