Accelerated transactions with precommit-time early lock release

US9336262B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9336262-B2
Application numberUS-89861710-A
CountryUS
Kind codeB2
Filing dateOct 5, 2010
Priority dateOct 5, 2010
Publication dateMay 10, 2016
Grant dateMay 10, 2016

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, method and computer product for accelerating parallel database transactions. One or more data processors execute a first transaction on a database. The first transaction includes a transactional lock associated with each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the first transaction. The one or more data processors execute a second transaction on the database in parallel with the first transaction. The second transaction includes a transactional lock associated with each of one or more records to update the one or more records during the second transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the second transaction. The transactional locks of the first and second transactions are released before flushing log records associated with the first and second transactions.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for accelerating parallel database transactions, the method comprising: executing, by one or more data processors, a first transaction on a database, the first transaction including a transactional lock for each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the first transaction; executing, by the one or more data processors, a second transaction on the database in parallel with the first transaction, the second transaction including a transactional lock for each of one or more records to update the one or more records during the second transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the second transaction; waiting, by the one or more data processors, to execute an update of a record during the second transaction until a transactional lock of the first transaction is released; and releasing the transactional locks of the first and second transactions before flushing log records for the first and second transactions; wherein each pre-commit command for the first transaction and the second transaction is automatically generated based on a commit-dependent log sequence number (LSN); wherein each version of an update to the one or more records is assigned a precommit timestamp at transaction precommit time and a postcommit timestamp at transaction postcommit time and a commit dependency of each version of the update to the one or more records is checked based on the assigned precommit timestamp when the commit-dependent LSN becomes larger than a current tail LSN; wherein each LSN is associated with a lock table that associates time slots with lock information, and a transaction token that stores runtime context information of a transaction. 2. The method in accordance with claim 1 , further comprising: receiving, by the one or more processors, a request to execute the first transaction from a client computer. 3. The method in accordance with claim 2 , further comprising: sending, by the one or more processors, an acknowledgement of updating the one or more records to commit execution of the first transaction. 4. The method in accordance with claim 2 , further comprising: receiving, by the one or more processors, a second request to execute the second transaction from a second client computer. 5. A method for accelerating parallel database transactions, the method comprising: receiving, by one or more data processors, a request from a client network to execute a first transaction on a database; executing, by one or more data processors, the first transaction on a database, the first transaction including a transactional lock for each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the first transaction; receiving, by the one or more data processors, a request from the client network to execute a second transaction on the database in parallel with the first transaction; executing, by the one or more data processors, a second transaction on the database in parallel with the first transaction, the second transaction including a transactional for each of one or more records to update the one or more records during the second transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the second transaction; waiting, by the one or more data processors, to execute an update of a record during the second transaction until a transactional lock of the first transaction is released; and releasing the transactional locks of the first and second transactions before flushing log records for the first and second transactions; wherein each pre-commit command for the first transaction and the second transaction is automatically generated based on a commit-dependent log sequence number (LSN); wherein each version of an update to the one or more records is assigned a precommit timestamp at transaction precommit time and a postcommit timestamp at transaction postcommit time and a commit dependency of each version of the update to the one or more records is checked based on the assigned precommit timestamp when the commit-dependent LSN becomes larger than a current tail LSN; wherein each LSN is associated with a lock table that associates time slots with lock information, and a transaction token that stores runtime context information of a transaction. 6. The method in accordance with claim 5 , further comprising sending, by the one or more processors, an acknowledgement of updating the one or more records to commit execution of the first transaction. 7. A non-transitory computer program product for accelerating parallel database transactions, the product comprising a storage medium readable by at least one processor and storing instructions for execution by the at least one processor for: executing, by one or more data processors, a first transaction on a database, the first transaction including a transactional lock for each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the first transaction; executing, by the one or more data processors, a second transaction on the database in parallel with the first transaction, the second transaction including a transactional lock for each of one or more records to update the one or more records during the second transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the second transaction; waiting, by the one or more data processors, to execute an update of a record during the second transaction until a transactional lock of the first transaction is released; and releasing the transactional locks of the first and second transactions before flushing log records for the first and second transactions; wherein each pre-commit command for the first transaction and the second transaction is automatically generated based on a commit-dependent log sequence number (LSN); wherein each version of an update to the one or more records is assigned a precommit timestamp at transaction precommit time and a postcommit timestamp at transaction postcommit time and a commit dependency of each version of the update to the one or more records is checked based on the assigned precommit timestamp when the commit-dependent LSN becomes larger than a current tail LSN; wherein each LSN is associated with a lock table that associates time slots with lock information, and a transaction token that stores runtime context information of a transaction. 8. The computer program product in accordance with claim 7 , wherein instructions for execution by the at least one processor further comprises: receiving, by the one or more processors, a request to execute the first transaction from a client computer. 9. The computer program product in accordance with claim 8 , wherein instructions for execution by the at least one processor further comprises: sending, by the one or more processors, an acknowledgement of updating the one or more records to commit execution of the first transaction. 10. The computer program product in accordance with claim 8 , wherein instructions for execution by the at least one processor further comprises: receiving, by the one or more processors, a second request to execute the second tr

Assignees

Inventors

Classifications

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

  • of parallel queries · CPC title

  • Locking methods, e.g. distributed locking or locking implementation details · CPC title

  • Optimistic concurrency control · CPC title

  • Physics · mapped topic

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 US9336262B2 cover?
A system, method and computer product for accelerating parallel database transactions. One or more data processors execute a first transaction on a database. The first transaction includes a transactional lock associated with each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating …
Who is the assignee on this patent?
Lee Juchang, Renkes Frank, Hwang Sangyong, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2379. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 10 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).