IP Library › Granted Patent US 9,679,003
Granted Patent B2
US 9,679,003 · App. 14/591,053 · Granted Jun 13, 2017

Rendezvous-based optimistic concurrency control

Inventors: Bishwaranjan Bhattacharjee (Yorktown Heights, NY); Mustafa Canim (Ossining, NY); Mohammad Sadoghi Hamedani (Chappaqua, NY)
Assignee: International Business Machines Corporation
G06F17/30351G06F17/30377
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,679,003
App. No.
14/591,053
Granted
Jun 13, 2017
Kind
B2
Abstract

A concurrent transaction validate phase with the transaction operations read, compute, and write allows for a rendezvous-based optimistic concurrency control process.

Claims (43)

1. A method for processing a transaction, the method comprising:

decoupling a validation operation from one or more of a read operation, a write operation, and a compute operation of a transaction to establish a set of transaction operations;

responsive to a first transaction operation of a set of transaction operations reading a first record, issuing a read subscription;

responsive to a second transaction operation of the set of transaction operations modifying the first record, issuing a write publication;

notifying the read subscription when a third transaction operation of the set of transaction operations modifies the first record;

entering a commit phase of the transaction based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete;

committing the transaction based, at least in part, upon receiving a publication of a transaction commit timestamp before receiving a committed write publication; and

aborting the transaction based, at least in part, upon receiving a committed write publication for a transaction operation not within the set of transaction operations that modified the first record;

wherein:

at least the issuing a read subscription, issuing a write publication, and committing the transaction steps are performed by computer software running on computer hardware.

2. The method of claim 1 , wherein the transaction is divided into two queues, a message queue and an operation queue.

3. The method of claim 1 , wherein the validation operation is performed asynchronous to a performance of the one or more of a read operation, a write operation, and a compute operation of the transaction.

4. The method of claim 1 , further comprising:

requesting a transaction timestamp based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete.

5. A computer program product for processing a transaction, the computer program product comprising a computer readable storage medium having stored thereon:

first program instructions programmed to decouple a validation operation from one or more of a read operation, a write operation, and a compute operation of a transaction to establish a set of transaction operations;

second program instructions programmed to, responsive to a first transaction operation of a set of transaction operations reading a first record, issue a read subscription;

third program instructions programmed to, responsive to a second transaction operation of the set of transaction operations modifying the first record, issue a write publication;

fourth program instructions programmed to notify the read subscription when a third transaction operation of the set of transaction operations modifies the first record;

fifth program instructions programmed to enter a commit phase of the transaction based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete;

sixth program instructions programmed to commit the transaction based, at least in part, upon receiving a publication of a transaction commit timestamp before receiving a committed write publication; and

seventh program instructions programmed to abort the transaction based, at least in part, upon receiving a committed write publication for a transaction operation not within the set of transaction operations that modified the first record.

6. The computer program product of claim 5 , wherein the transaction is divided into two queues, a message queue and an operation queue.

7. The computer program product of claim 5 , wherein the validation operation performed asynchronous to a performance of the one or more of a read operation, a write operation, and a compute operation of the transaction.

8. The computer program product of claim 5 , further comprising:

fifth program instructions programmed to request a transaction timestamp based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete.

9. A computer system for processing a transaction, the computer system comprising:

a processor(s) set; and

a computer readable storage medium;

wherein:

the processor set is structured, located, connected, and/or programmed to run program instructions stored on the computer readable storage medium; and

the program instructions include:

first program instructions programmed to decouple a validation operation from one or more of a read operation, a write operation, and a compute operation of a transaction to establish a set of transaction operations;

second program instructions programmed to, responsive to a first transaction operation of a set of transaction operations reading a first record, issue a read subscription;

third program instructions programmed to, responsive to a second transaction operation of the set of transaction operations modifying the first record, issue a write publication;

fourth program instructions programmed to notify the read subscription when a third transaction operation of the set of transaction operations modifies the first record;

fifth program instructions programmed to enter a commit phase of the transaction based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete;

sixth program instructions programmed to commit the transaction based, at least in part, upon receiving a publication of a transaction commit timestamp before receiving a committed write publication; and

seventh program instructions programmed to abort the transaction based, at least in part, upon receiving a committed write publication for a transaction operation not within the set of transaction operations that modified the first record.

10. The computer system of claim 9 , wherein the transaction is divided into two queues, a message queue and an operation queue.

11. The computer system of claim 9 , wherein the validation operation is performed asynchronous to a performance of the one or more of a read operation, a write operation, and a compute operation of the transaction.

12. The computer system of claim 9 , the program instructions further include:

fifth program instructions programmed to request a transaction timestamp based upon the following conditions: (i) the read subscription and the write publication are both complete; and (ii) the set of transaction operations are complete.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: BHATTACHARJEE, BISHWARANJAN; CANIM, MUSTAFA; SADOGHI HAMEDANI, MOHAMMAD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034650/0709 →
Continuity (1)
Related Publication 20160196295A1 · Jul 7, 2016