IP Library › Granted Patent US 11,106,653
Granted Patent B2
US 11,106,653 · App. 15/970,715 · Granted Aug 31, 2021

Optimization of exclusive access database consistent change locks

Inventors: Dirk Thomsen (Berlin, DE); Thorsten Glebe (Leimen, DE)
Assignee: SAP SE
G06F16/2343G06F16/2358
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,106,653
App. No.
15/970,715
Granted
Aug 31, 2021
Kind
B2
Abstract

Execution of an exclusive lock of a page in a database is initiated. Thereafter, subsequent to the initiation of the execution of the exclusive lock, at least one non-exclusive lock for the page in the database is received. The execution of the exclusive lock is selectively timed out based on at least one savepoint statistic. While the exclusive lock is timed out, at least one of the received non-exclusive locks is executed. Further, the exclusive lock can be restarted after the execution of the at least one of the received non-exclusive locks.

Claims (40)

1. A computer-implemented method comprising:

initiating execution of an exclusive lock of a page in a database;

receiving, subsequent to the initiation of the execution of the exclusive lock and prior to the completion of the exclusive lock, at least one non-exclusive lock for the page in the database;

determining that at least one savepoint statistic is above a pre-defined threshold;

selectively timing out the execution of the exclusive lock based on the determining;

executing, while the exclusive lock is timed out, at least one of the received non-exclusive locks; and

restarting the exclusive lock after the execution of the at least one of the received non-exclusive locks.

2. The method of claim 1 , wherein the at least one statistic is based on an amount of time since a last savepoint.

3. The method of claim 1 , wherein the at least one statistic is based on an amount of redo log written.

4. The method of claim 1 , wherein the at least one statistic is based on an amount of log segments blocked by not being savepointed.

5. The method of claim 1 , wherein the at least one statistic is based on a filling level of the log partition.

6. The method of claim 1 , wherein the database is an in-memory database.

7. The method of claim 1 , wherein the at least one statistic is based on a number of pages marked as being modified and an amount of estimated time to flush them from memory to physical disk.

8. The method of claim 1 , wherein the at least one statistic is based on a number of threads currently blocked waiting for a consistent change.

9. The method of claim 1 , wherein multiple statistics are analyzed and are considered in sequence.

10. The method of claim 1 , wherein multiple statistics are analyzed and are considered in parallel.

11. A system comprising:

at least one data processor; and

memory storing instructions which, when executed by the at least one data processor, resulting in operations comprising:

initiating execution of an exclusive lock of a page in a database;

receiving, subsequent to the initiation of the execution of the exclusive lock and prior to the completion of the exclusive lock, at least one non-exclusive lock for the page in the database;

determining that at least one savepoint statistic is above a pre-defined threshold;

selectively timing out the execution of the exclusive lock based on the determining;

executing, while the exclusive lock is timed out, at least one of the received non-exclusive locks; and

restarting the exclusive lock after the execution of the at least one of the received non-exclusive locks.

12. The system of claim 11 , wherein the at least one statistic is based on an amount of time since a last savepoint.

13. The system of claim 11 , wherein the at least one statistic is based on an amount of redo log written.

14. The system of claim 11 , wherein the at least one statistic is based on an amount of log segments blocked by not being savepointed.

15. The system of claim 11 , wherein the at least one statistic is based on a filling level of the log partition.

16. The system of claim 11 , wherein the database is an in-memory database; and wherein the at least one statistic is based on a number of pages marked as being modified and an amount of estimated time to flush them from memory to physical disk.

17. The system of claim 11 , wherein the at least one statistic is based on a number of threads currently blocked waiting for a consistent change.

18. The system of claim 11 , wherein multiple statistics are analyzed and are considered in sequence.

19. The system of claim 11 , wherein multiple statistics are analyzed and are considered in parallel.

20. A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing device, resulting in operations comprising:

initiating execution of an exclusive lock of a page in a database;

receiving, subsequent to the initiation of the execution of the exclusive lock and prior to the completion of the exclusive lock, at least one non-exclusive lock for the page in the database;

determining that at least one savepoint statistic is above a pre-defined threshold;

selectively timing out the execution of the exclusive lock based on the determining;

executing, while the exclusive lock is timed out, at least one of the received non-exclusive locks; and

restarting the exclusive lock after the execution of the at least one of the received non-exclusive locks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2018
From: THOMSEN, DIRK; GLEBE, THORSTEN
To: SAP SE
Reel/Frame 045711/0988 →
Continuity (1)
Related Publication 20190340275A1 · Nov 7, 2019
Cited By (1)
US 12,360,981