IP Library Patent Application 13687581
Patent Application
App. No. 13/687,581

Memory Pre-Allocation For Cleanup and Rollback Operations

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 None
App. No.
13/687,581
Abstract

A plurality of operations are executed using first memory (e.g., heap memory, etc.) in a data storage application. During execution, it is determined that one of the operations cannot be executed due to a lack of available first memory. In response, an emergency allocator assigns pre-allocated emergency memory that is separate and distinct from the first memory to the determined operation. The operation can then be completed using this pre-allocated emergency memory. Related apparatus, systems, techniques and articles are also described.

Claims (37)

1 . A method comprising:

executing a plurality of operations using first memory in a data storage application;

determining that one of the operations cannot be executed due to a lack of available first memory;

assigning, by an emergency allocator, pre-allocated emergency memory to the determined operation, the pre-allocated emergency memory being separate and distinct from the first memory; and

completing the determined operation using the pre-allocated emergency memory.

2 . A method as in claim 1 , wherein the operations comprise rollback operations.

3 . A method as in claim 1 , wherein the operations comprise cleanup operations.

4 . A method as in claim 1 , wherein it is determined that one of the operations cannot be executed due to a lack of available first memory based on a thrown exception.

5 . A method as in claim 1 , wherein each operation is performed by a separate thread, and wherein the pre-allocated emergency memory is assigned to the corresponding thread for the determined operation.

6 . A method as in claim 5 , wherein the emergency allocator only assigns the pre-allocated emergency memory to one thread at a time.

7 . A method as in claim 1 , wherein the data storage application uses shadow paging to write a transactionally-consistent savepoint.

8 . A method as in claim 7 , wherein a data backup corresponding to the plurality of executed transactions comprises a copy of all data pages contained with a particular savepoint.

9 . A method as in claim 1 , wherein the data storage application comprises an in-memory database.

10 . A method as in claim 1 , wherein the first memory is heap memory.

11 . A method as in claim 1 , further comprising:

freeing the pre-allocated emergency memory and releasing the emergency allocator after completion of the determined operation.

12 . A non-transitory computer program product storing instructions, which when executed by at least one data processor, result in operations comprising:

executing a plurality of operations using first memory in a data storage application;

determining that one of the operations cannot be executed due to a lack of available first memory;

assigning, by an emergency allocator, pre-allocated emergency memory to the determined operation, the pre-allocated emergency memory being separate and distinct from the first memory; and

completing the determined operation using the pre-allocated emergency memory.

13 . A computer program product as in claim 12 , wherein the operations comprise rollback operations and cleanup operations.

14 . A computer program product as in claim 12 , wherein it is determined that one of the operations cannot be executed due to a lack of available first memory based on a thrown exception.

15 . A computer program product as in claim 12 , wherein each operation is performed by a separate thread, and wherein the pre-allocated emergency memory is assigned to the corresponding thread for the determined operation.

16 . A computer program product as in claim 15 , wherein the emergency allocator only assigns the pre-allocated emergency memory to one thread at a time.

17 . A computer program product as in claim 12 , wherein the data storage application uses shadow paging to write a transactionally-consistent savepoint, wherein a data backup corresponding to the plurality of executed transactions comprises a copy of all data pages contained with a particular savepoint.

18 . A computer program product as in claim 12 , wherein the data storage application comprises an in-memory database.

19 . A computer program product as in claim 12 , wherein the operations further comprise:

freeing the pre-allocated emergency memory and releasing the emergency allocator after completion of the determined operation.

20 . A system comprising:

a data storage application comprising an in-memory database;

one or more data processors; and

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

executing a plurality of operations using first memory in the data storage application;

determining that one of the operations cannot be executed due to a lack of available first memory;

assigning, by an emergency allocator, pre-allocated emergency memory to the determined operation, the pre-allocated emergency memory being separate and distinct from the first memory; and

completing the determined operation using the pre-allocated emergency memory.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: THOMSEN, DIRK; SCHRETER, IVAN
To: SAP AG
Reel/Frame 029649/0744 →