IP Library Granted Patent US 11,188,577
Granted Patent B2
US 11,188,577 · App. 16/212,915 · Granted Nov 30, 2021

Distributed transaction management with tokens

Inventors: Frank Renkes (Rauenberg, DE); Juchang Lee (Seoul, KR)
Assignee: SAP SE
G06F16/332G06F16/2228G06F16/2343G06F16/2365G06F16/345G06F16/35
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 11,188,577
App. No.
16/212,915
Granted
Nov 30, 2021
Kind
B2
Abstract

A system, method and computer product for managing distributed transactions of a database. A transaction manager is provided for each of a plurality of transactions of the database. Each transaction manager is configured to perform functions that include generating a transaction token that specifies data to be visible for a transaction on the database. The database contains both row and column storage engines, and the transaction token includes a transaction identifier (TID) for identifying committed transactions and uncommitted transactions. A last computed transaction is designated with a computed identifier (CID), record-level locking of records of the database is performed using the TID and CID to execute the transaction, and the plurality of transactions of the database are executed with each transaction manager.

Claims (29)

1. A method comprising:

generating, by a transaction manager, a transaction token specifying that changes to a database by one or more of a plurality of transactions are visible to a transaction of the plurality of transactions associated with the transaction manager and that changes to the database by others of the plurality of transactions are not visible to the transaction associated with the transaction manager; and

performing record-level locking of a first record in a plurality of records of the database using the transaction token to execute the transaction by at least:

generating an index of the plurality of records in the database as a persistent data structure, the index having a column for computed identifiers, the transaction token including a maximum visible computed identifier for identifying a plurality of committed transactions and a plurality of uncommitted transactions,

generating a delta index having a at least one row and at least one column including a transaction identifier (TID) in the at least one column, and

replacing the TID in the at least one column of the delta index with a computed identifier (CID) for an uncommitted transaction of the plurality of uncommitted transactions that become committed.

2. The method in accordance with claim 1 , wherein performing record-level locking of the first record further comprises storing the TID associated with one or more records in the plurality of records in the database in every row of the at least one row and in the at least one column of the delta index.

3. The method in accordance with claim 1 , wherein the transactions of the database are distributed transactions.

4. A system comprising:

at least one data processor;

memory storing instructions which, when executed by the at least one data processor, causes the at least one data processor to perform operations comprising:

generating, by a transaction manager, a transaction token specifying that changes to a database by one or more of a plurality of transactions are visible to a transaction of the plurality of transactions associated with the transaction manager and that changes to the database by others of the plurality of transactions are not visible to the transaction associated with the transaction manager; and

performing record-level locking of a first record in a plurality of records of the database using the transaction token to execute the transaction by at least:

generating an index of the plurality of records in the database as a persistent data structure, the index having a column for computed identifiers, the transaction token including a maximum visible computed identifier for identifying a plurality of committed transactions and a plurality of uncommitted transactions,

generating a delta index having a at least one row and at least one column including a transaction identifier (TID) in the at least one column, and

replacing the TID in the at least one column of the delta index with a computed identifier (CID) for an uncommitted transaction of the plurality of uncommitted transactions that become committed.

5. The system of claim 4 , wherein performing record-level locking of the first record further comprises storing the TID associated with one or more records in the plurality of records in the database in every row of the at least one row and in the at least one column of the delta index.

6. The system of claim 4 , wherein the transactions of the database are distributed transactions.

7. A non-transitory computer program product storing instructions, which when executed by at least one data processor of at least one computing system, implement operations comprising:

generating, by a transaction manager, a transaction token specifying that changes to a database by one or more of a plurality of transactions are visible to a transaction of the plurality of transactions associated with the transaction manager and that changes to the database by others of the plurality of transactions are not visible to the transaction associated with the transaction manager; and

performing record-level locking of a first record in a plurality of records of the database using the transaction token to execute the transaction by at least:

generating an index of the plurality of records in the database as a persistent data structure, the index having a column for computed identifiers, the transaction token including a maximum visible computed identifier for identifying a plurality of committed transactions and a plurality of uncommitted transactions,

generating a delta index having a at least one row and at least one column including a transaction identifier (TID) in the at least one column, and

replacing the TID in the at least one column of the delta index with a computed identifier (CID) for an uncommitted transaction of the plurality of uncommitted transactions that become committed.

8. The computer program product of claim 7 , wherein performing record-level locking of the first record further comprises storing the TID associated with one or more records in the plurality of records in the database in every row of the at least one row and in the at least one column of the delta index.

9. The computer program product of claim 7 , wherein the transactions of the database are distributed transactions.

10. The method of claim 1 , wherein the index includes at least one of a main index or a history index.

11. The system of claim 4 , wherein the index includes at least one of a main index or a history index.

12. The computer program product of claim 7 , wherein the index includes at least one of a main index or a history index.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2018
From: RENKES, FRANK; LEE, JUCHANG
To: SAP AG
Reel/Frame 047707/0470 →
CHANGE OF NAME Recorded Dec 7, 2018
From: SAP AG
To: SAP SE
Reel/Frame 047749/0796 →
Continuity (3)
Continuation 14642941 · Mar 10, 2015
Continuation 12898633 · Oct 5, 2010
Related Publication 20190108182A1 · Apr 11, 2019