Alleviation of Index Hot Spots in Datasharing Environment with Remote Update and Provisional Keys

US2016196290A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016196290-A1
Application numberUS-201514590993-A
CountryUS
Kind codeA1
Filing dateJan 7, 2015
Priority dateJan 7, 2015
Publication dateJul 7, 2016
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.

In a remote index operation, a first system in a datasharing group performs an operation on a data object in a database, determines a second system in the datasharing group has exclusive access to an index page to be updated according to the operation, and sends to the second system a remote request to change the index page according to the operation. In response, the second system changes the index page with an index entry referencing the data object and marks a key in the index entry as a provisional key. When a third system in the datasharing group reads the index entry, it determines that the key in the index entry is the provisional key. In response, the third system determines whether the data object exists in the database and a committed state of the transaction, and accordingly determines a current state of the data object.

First claim

Opening claim text (preview).

1 .- 7 . (canceled) 8 . A computer program product for performing a remote index operation in a datasharing system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising: performing an operation on a data object in a database by a first computer system of a plurality of computer systems in a datasharing group, wherein the plurality of computer systems share a storage storing the database, wherein the plurality of computer systems does not share memory or logs; determining, by the first computer system, that a second system of the plurality of computer systems in the datasharing group currently has exclusive access to an index page to be updated according to the operation; sending, by the first computer system to the second computer system, a remote request to change the index page according to the operation; in response to the remote request, changing, by the second computer system, the index page with an index entry referencing the data object; and marking, by the second computer system, a key in the index entry as a provisional key. 9 . The computer program product of claim 8 , wherein the method further comprises: reading the index entry by a third computer system of the plurality of computer systems in the datasharing group; determining, by the third computer system, that the key in the index entry is the provisional key; in response to determining that the key in the index entry is the provisional key, determining, by the third computer system, whether the data object exists in the database and a committed state of a transaction associated with the index entry; and determining, by the third computer system, a current state of the data object based on whether the data object exists in the database and the committed state of the transaction. 10 . The computer program product of claim 9 , wherein the key in the index entry is determined to be a provisional insert key, wherein the determining the current state of the provisional key based on whether the data object exists in the database comprises: when the data object is determined to exist in the database and the transaction has committed, determining, by the third computer system, that the current state of the data object is permanent; when the data object is determined to exist in the database and the transaction has not committed, determining, by the third computer system, that the data object is inserted but uncommitted; and when the data object is determined to not exist in the database, determining, by the third computer system, that the current state of the data object is expired. 11 . The computer program product of claim 9 , wherein the key in the index entry is determined to be a provisional delete key, wherein the determining the current state of the provisional key based on whether the data object exists in the database comprises: when the data object is determined to not exist in the database and the transaction has committed, determining, by the third computer system, that the current state of the data object is permanent; when the data object is determined to not exist in the database and the transaction has not committed, determining, by the third computer system, that the data object is deleted but uncommitted; and when the data object is determined to exist in the database, determining, by the third computer system, that the current state of the data object is expired. 12 . The computer program product of claim 8 , wherein the performing of the operation on the data object in the database by the first computer system comprises writing a log record for the operation into a local log of the first computer system, wherein the changing of the index page with the index entry referencing the data object by the second computer system comprises, writing a log record for the changing of the index page into a local log of the second computer system. 13 . The computer program product of claim 8 , wherein the method further comprises: after the operation commits at the first computer system, removing the marking of the key in the index entry as the provisional key; and when the operation is rolled back at the first computer system, removing the key and the marking in the index entry. 14 . The computer program product of claim 8 , wherein the marking of the key in the index entry as the provisional key comprises: setting one or more bits stored with a record identifier in the index entry. 15 . A datasharing system, comprising: a shared storage storing a database; a datasharing group comprising a plurality of computer systems coupled to the shared storage, wherein the plurality of computer systems does not share memory or logs, wherein a first computer system of the plurality of computer systems: performs an operation on a data object in a database of a plurality of computer systems in a datasharing group; determines that a second system of the plurality of computer systems currently has exclusive access to an index page to be updated according to the operation; sending to the second computer system a remote request to change the index page according to the operation, wherein the second computer system: in response to the remote request, changing the index page with an index entry referencing the data object; and marking a key in the index entry as a provisional key. 16 . The system of claim 15 , wherein a third computer system of the plurality of computer system: reads the index entry; determines that the key in the index entry is the provisional key; in response to determining that the key in the index entry is the provisional key, determines whether the data object exists in the database and a committed state of a transaction associated with the index entry; and determines a current state of the data object based on whether the data object exists in the database and the committed state of the transaction. 17 . The system of claim 16 , wherein the key in the index entry is determined to be a provisional insert key, wherein in determining the current state of the provisional key based on whether the data object exists in the database, the third computer system: when the data object is determined to exist in the database and the transaction has committed, determines that the current state of the data object is permanent; when the data object is determined to exist in the database and the transaction has not committed, determining, by the third computer system, that the data object is inserted but uncommitted; and when the data object is determined to not exist in the database, determines that the current state of the data object is expired. 18 . The system method of claim 16 , wherein the key in the index entry is determined to be a provisional delete key, wherein in determining the current state of the provisional key based on whether the data object exists in the database, the third computer system: when the data object is determined to not exist in the database and the transaction has committed, determines that the current state of the data object is permanent; when the data object is determined to not exist in the database and the transaction has not committed, determining, by the third computer system, that the data object is deleted but uncommitted; and when the data object is determined to exist in the database, determines that the current state of the data object is expired. 19 . The system of claim 15 , the first computer system writes a log record for the

Assignees

Inventors

Classifications

  • Indexing structures · CPC title

  • Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Physics · mapped topic

  • 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 US2016196290A1 cover?
In a remote index operation, a first system in a datasharing group performs an operation on a data object in a database, determines a second system in the datasharing group has exclusive access to an index page to be updated according to the operation, and sends to the second system a remote request to change the index page according to the operation. In response, the second system changes the …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/2228. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 07 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).