Changing concurrency control modes

US2018322158A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018322158-A1
Application numberUS-201715585153-A
CountryUS
Kind codeA1
Filing dateMay 2, 2017
Priority dateMay 2, 2017
Publication dateNov 8, 2018
Grant date

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.

Example implementations relate to changing concurrency control modes. An example implementation includes controlling a concurrency control mode of a data slot that stores a data value. A concurrency control mode of a data slot may be changed from an optimistic concurrency control mode to a multi-version concurrency control mode responsive to detecting a read-write conflict for the data slot. A concurrency control mode of a data slot may be changed from a multi-version concurrency control mode to an optimistic concurrency control mode responsive to detecting that the data slot satisfies a low contention criterion.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: controlling a concurrency control mode of a data slot that stores a data value, wherein the concurrency control mode determines how a transaction is handled responsive to a read-write conflict, and controlling the concurrency control mode comprises: responsive to detecting a read-write conflict for the data slot, changing the concurrency control mode from an optimistic concurrency control mode to a multi-version concurrency control mode; and changing the concurrency control mode from the multi-version concurrency control mode to the optimistic concurrency control mode responsive to detecting that the data slot satisfies a low contention criterion. 2 . The method of claim 1 , where the read-write conflict for the data slot is detected by: comparing a first version of the data value read at a first time with a second version of the data value read at a second time different than the first time; and determining that the first version and the second version are different. 3 . The method of claim 2 , wherein the data value read at the first time is read during an execution phase of the transaction and the data value read at the second time is read during a validation phase of the transaction. 4 . The method of claim 1 , wherein the read-write conflict for the data slot is detected by: assigning a transaction timestamp to the transaction; and determining that the transaction timestamp is earlier in time than a commit time of the stored data value. 5 . The method of claim 4 , wherein, when in the optimistic concurrency control mode, the transaction is aborted responsive to detecting that the transaction timestamp is earlier in time than a commit time of the stored data value. 6 . The method of claim 1 , wherein an additional version of the stored data value is stored within a transaction record and is assigned a commit time. 7 . The method of claim 6 , wherein any additional version of the stored data value stored within a transaction record is located by a version chain locator in the data slot. 8 . The method of claim 7 , wherein the transaction record is in a per-thread ring buffer and the additional version of the stored data value is ordered by commit time in a version chain located by the version chain locator. 9 . The method of claim 8 , wherein the low contention criterion is satisfied where the version chain locator in the data slot does not locate any created additional version of the stored data value. 10 . The method of claim 1 , wherein, when in the optimistic concurrency control mode, a write of the transaction is updated to an optimistic concurrency buffer in a transaction record of the transaction, and wherein the transaction record comprises the optimistic concurrency control buffer and a multi-version concurrency control buffer. 11 . The method of claim 10 , wherein the transaction record further comprises a transaction status field to indicate a transaction status of the transaction. 12 . The method of claim 10 , wherein the optimistic concurrency control buffer is stored within a per-thread ring buffer, and wherein the optimistic concurrency control buffer is reclaimed upon a commit of the transaction. 13 . The method of claim 1 , wherein, when in the multi-version concurrency control mode, a write of the transaction is updated to a multi-version concurrency control buffer in a transaction record of the transaction. 14 . A system comprising: a processor; and a set of memory resources storing: a data slot comprising: a committed in-place data value; and a mode indicator to indicate whether a concurrency control mode of the data slot is in an optimistic concurrency control mode that aborts a transaction upon detecting a read-write conflict, or a multi-version concurrency control mode that creates an additional version of the committed data value responsive to detecting the read-write conflict; and instructions in memory to be executed by a processor, the instructions when executed to: change the concurrency control mode from the optimistic concurrency control mode to the multi-version concurrency control mode responsive to detecting the read-write conflict for the data slot; and change the concurrency control mode from the multi-version concurrency control mode to the optimistic concurrency control mode responsive to detecting that the data slot satisfies a low contention criterion. 15 . The system of claim 14 , wherein the data slot further comprises a version chain locator to locate any created additional version of the committed data value. 16 . The system of claim 15 , wherein the data slot further comprises a priority indicator to indicate whether a read should first occur from the committed in-place data value of the data slot or the version chain locator of the data slot. 17 . The system of claim 15 , wherein the low contention criterion is satisfied where the version chain locator of the data slot does not locate any created additional version of the committed data value. 18 . The system of claim 15 , wherein the instructions in memory further comprise instructions to assign a commit timestamp to an additional version of the committed data value upon validation of the additional version, and wherein the validated additional version is ordered by commit time. 19 . A non-transitory computer-readable medium comprising instructions executable by a processor to: detect a read-write conflict for a data slot; responsive to detecting the read-write conflict, change a concurrency control mode of the data slot from an optimistic concurrency control mode that aborts a transaction upon detecting a read-write conflict, to a multi-version concurrency control mode that creates an additional version of the stored data value; detect that a version chain locator of the data slot does not point to any additional version of the stored data value; responsive to detecting that the version chain locator does not point to any additional version of the stored data value, change the concurrency control mode from the multi-version concurrency control mode to the optimistic concurrency control mode. 20 . The non-transitory computer-readable medium of claim 19 , wherein the read-write conflict is detected by: assigning a transaction timestamp to a received transaction; and determining that the transaction timestamp is earlier in time than a commit time of a stored data value in the data slot.

Assignees

Inventors

Classifications

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 US2018322158A1 cover?
Example implementations relate to changing concurrency control modes. An example implementation includes controlling a concurrency control mode of a data slot that stores a data value. A concurrency control mode of a data slot may be changed from an optimistic concurrency control mode to a multi-version concurrency control mode responsive to detecting a read-write conflict for the data slot. A …
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F17/30362. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 08 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).