Gathering pages allocated to an application to include in checkpoint information
First Claim
Patent Images
1. A method, comprising:
- intercepting a call from an application to an operating system before the call is received by the operating system, the call including a request for the operating system to allocate a plurality of memory pages to the application to reserve the plurality of memory pages for use by the application;
in response to intercepting the call, processing the call such that the plurality of memory pages allocated to the application based on the call are allocated such that modifying data in a memory page from the plurality of memory pages includes indicating that the memory page includes modified data, wherein processing the call includes translating a first memory allocation function to a second memory allocation function such that a write watch parameter is set;
in response to data in the memory page being modified by the application, determining whether the modified memory page was allocated with the write watch parameter as set;
on a condition that the modified memory page is determined to have been allocated with the write watch parameter as set, indicating that the memory page includes modified data;
initiating an operation to create checkpoint information for the application after the call to allocate the memory pages is processed and after the memory page is modified;
obtaining the memory page allocated to the application indicated as having modified data in response to the operation to create the checkpoint information; and
saving the obtained memory page in the checkpoint information.
3 Assignments
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for gathering pages allocated to an application to include in checkpoint information. A call from an application is intercepted to allocate memory pages to cause indication of pages allocated to the application that have modified data. An operation is initiated to create checkpoint information for the application. Pages allocated to the application that have modified data are determined in response to the operation to create the checkpoint information. The determined pages are saved in the checkpoint information.
-
Citations
13 Claims
-
1. A method, comprising:
-
intercepting a call from an application to an operating system before the call is received by the operating system, the call including a request for the operating system to allocate a plurality of memory pages to the application to reserve the plurality of memory pages for use by the application; in response to intercepting the call, processing the call such that the plurality of memory pages allocated to the application based on the call are allocated such that modifying data in a memory page from the plurality of memory pages includes indicating that the memory page includes modified data, wherein processing the call includes translating a first memory allocation function to a second memory allocation function such that a write watch parameter is set; in response to data in the memory page being modified by the application, determining whether the modified memory page was allocated with the write watch parameter as set; on a condition that the modified memory page is determined to have been allocated with the write watch parameter as set, indicating that the memory page includes modified data; initiating an operation to create checkpoint information for the application after the call to allocate the memory pages is processed and after the memory page is modified; obtaining the memory page allocated to the application indicated as having modified data in response to the operation to create the checkpoint information; and saving the obtained memory page in the checkpoint information. - View Dependent Claims (2, 3, 4, 13)
-
-
5. A system, comprising:
-
a processor; a computer readable medium having an agent and an application, wherein the agent is executed by the processor to perform operations, the operations comprising; intercepting a call from the application to an operating system before the call is received by the operating system, the call including a request for the operating system to allocate a plurality of memory pages to the application to reserve the plurality of memory pages for use by the application; in response to intercepting the call, processing the call such that the plurality of memory pages allocated to the application based on the call are allocated such that modifying data in a memory page from the plurality of memory pages includes indicating that the memory page includes modified data, wherein processing the call includes translating a first memory allocation function to a second memory allocation function such that a write watch parameter is set; in response to data in the memory page being modified by the application, determining whether the modified memory page was allocated with the write watch parameter as set; on a condition that the modified memory page is determined to have been allocated with the write watch parameter as set, indicating that the memory page includes modified data; initiating an operation to create checkpoint information for the application after the call to allocate the memory pages is processed and after the memory page is modified; obtaining the memory page allocated to the application indicated as having modified data in response to the operation to create the checkpoint information; and saving the obtained memory page in the checkpoint information. - View Dependent Claims (6, 7, 8)
-
-
9. An article of manufacture comprising a computer readable storage medium having code executed to perform operations, the operations comprising:
-
intercepting a call from an application to an operating system before the call is received by the operating system, the call including a request for the operating system to allocate a plurality of memory pages to the application to reserve the plurality of memory pages for use by the application; in response to intercepting the call, processing the call such that the plurality of memory pages allocated to the application based on the call are allocated such that modifying data in a memory page from the plurality of memory pages includes indicating that the memory page includes modified data, wherein processing the call includes translating a first memory allocation function to a second memory allocation function such that a write watch parameter is set; in response to data in the memory page being modified by the application, determining whether the modified memory page was allocated with the write watch parameter as set; on a condition that the modified memory page is determined to have been allocated with the write watch parameter as set, indicating that the memory page includes modified data; initiating an operation to create checkpoint information for the application after the call to allocate the memory pages is processed and after the memory is modified; obtaining the memory page allocated to the application indicated as having modified data in response to the operation to create the checkpoint information; and saving the obtained memory page in the checkpoint information. - View Dependent Claims (10, 11, 12)
-
Specification