Log-based transaction constraint management

US10282228B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10282228-B2
Application numberUS-201414316630-A
CountryUS
Kind codeB2
Filing dateJun 26, 2014
Priority dateJun 26, 2014
Publication dateMay 7, 2019
Grant dateMay 7, 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 transaction request is received at a log-based transaction manager, indicating a logical constraint to be satisfied before the corresponding transaction is committed. The transaction manager identifies a subset of transaction records stored in a persistent change log that are to be examined to evaluate the logical constraint. Based at least in part on the result of a comparison of one or more constraint-related data signatures included in the transaction request with corresponding data signatures in the subset of transaction records, a decision is made to commit the requested transaction.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: one or more computing devices to: receive, at a log-based transaction manager instantiated for one or more data stores, a requested transaction from a client, wherein the requested transaction includes a transaction descriptor that indicates a first logical constraint for the requested transaction specified by the client to be checked to determine whether the requested transaction is to be committed based at least in part on (a) a constraint type from a plurality of different supported constraint types, and (b) one or more data signatures; determine, by the log-based transaction manager using at least some transaction records corresponding to committed transactions stored in a particular persistent log, that the requested transaction is committable with respect to a set of concurrency control requirements distinct from the first client-specified logical constraint; identify, by the log-based transaction manager, a subset of transaction records stored in the particular persistent log to be examined for checking the first client-specified logical constraint, compare, by the log-based transaction manager, contents of the one or more data signatures with other data signatures stored in the subset of transaction records; determine, by the log-based transaction manager based at least in part on a result of one or more comparisons, that the first client-specified logical constraint is satisfied by the requested transaction; and commit, by the log-based transaction manager, the requested transaction in response to determining that the requested transaction is committable with respect to the set of concurrency requirements and the first client-specified logical constraint is satisfied by the requested transaction. 2. The system as recited in claim 1 , wherein the constraint type of the first client-specified logical constraint is de-duplication, and wherein, to determine that the first client-specified logical constraint is satisfied, the one or more computing devices are further configured to verify that a particular data signature of the one or more data signatures indicated in the transaction descriptor does not match a data signature stored in the subset of transaction records. 3. The system as recited in claim 1 , wherein the constraint type of the first client-specified logical constraint is commit sequencing, and wherein, to determine that the first client-specified logical constraint is satisfied, the one or more computing devices are further configured to verify that a particular data signature of the one or more data signatures indicated in the transaction descriptor matches a data signature stored in the subset of transaction records. 4. The system as recited in claim 1 , wherein the transaction descriptor indicates, corresponding to a second logical constraint specified by the client to be checked to determine whether the requested transaction is to be committed, a second constraint type that differs from the constraint type of the first client-specified logical constraint. 5. The system as recited in claim 1 , wherein the transaction descriptor includes at least a first delimiter to be used to identify the subset of transaction records to be examined to check the first client-specified logical constraint. 6. A method, comprising: performing, by one or more computing devices: receiving, at a log-based transaction manager, a requested transaction from a client, wherein the requested transaction includes a transaction descriptor indicating a first logical constraint for the requested transaction specified by the client that indicates one or more data signatures and a constrain type selected from a plurality of different supported constraint types, and the log-based transaction manager is configured to enforce one or more commit requirements for transactions distinct from the first client-specified logical constraint; identifying a subset of transaction records stored in a particular persistent log to be examined for checking the first client-specified logical constraint, comparing contents of the one or more data signatures indicated in the transaction descriptor with one or more data signatures stored in the subset of transaction records; determining, based at least in part on a result of said comparing, that the first client-specified logical constraint is met by the requested transaction; and in response to determining that one or more commit requirements of the requested transaction have been met, and that the first client-specified logical constraint is met, committing the requested transaction. 7. The method as recited in claim 6 , wherein the first client-specified logical constraint comprises a de-duplication constraint, wherein the one or more data signatures indicated in the transaction descriptor include a particular de-duplication signature representing a location to which a write operation of the requested transaction is directed, and wherein said determining that the first client-specified logical constraint is met by the requested transaction includes verifying that the particular de-duplication signature does not match another de-duplication signature stored in the subset of transaction records. 8. The method as recited in claim 6 , wherein the first client-specified logical constraint comprises a commit-sequencing constraint, wherein the one or more data signatures indicated in the transaction descriptor comprise a sequencing signature, and wherein said determining that the client-specified logical constraint is met by the requested transaction comprises verifying that the particular sequencing signature matches another sequencing signature stored in the subset of transaction records. 9. The method as recited in claim 6 , wherein the transaction descriptor indicates a second logical constraint specified by the client for the requested transaction. 10. The method as recited in claim 9 , wherein the first client-specified logical constraint comprises a de-duplication constraint and the second client-specified logical constraint comprises a commit sequencing constraint. 11. The method as recited in claim 6 , wherein the one or more commit requirements comprise a concurrency control requirement. 12. The method as recited in claim 6 , wherein the transaction descriptor includes at least a first delimiter to be used to identify the subset of transaction records to be examined to check the first client-specified logical constraint. 13. The method as recited in claim 12 , wherein the first delimiter comprises a client-specified logical timestamp corresponding to a commit of a particular transaction, wherein the particular transaction was committed prior to said receiving the transaction descriptor. 14. The method as recited in claim 12 , wherein the transaction descriptor indicates a second client-specified logical constraint, and wherein the transaction descriptor comprises a different delimiter to be used to identify a different subset of transaction records to be examined to check the second client-specified logical constraint. 15. The method as recited in claim 6 , wherein the transaction descriptor comprises a particular write signature indicative of a targeted write location of the requested transaction, wherein the one or more data signatures comprise a particular de-duplication signature corresponding to the targeted write location, wherein the particular de-duplication signature differs from the particular write signature. 16. The method as recited in claim 6 , wherein the requested transaction includes one or more reads from a data s

Assignees

Inventors

Classifications

  • G06F9/466Primary

    Transaction processing · CPC title

  • Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors · CPC title

  • De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641) · CPC title

  • Asynchronous replication or reconciliation · CPC title

  • Databases characterised by their database models, e.g. relational or object models · 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 US10282228B2 cover?
A transaction request is received at a log-based transaction manager, indicating a logical constraint to be satisfied before the corresponding transaction is committed. The transaction manager identifies a subset of transaction records stored in a persistent change log that are to be examined to evaluate the logical constraint. Based at least in part on the result of a comparison of one or more…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/466. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 07 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).