IP Library Granted Patent US 7,661,016
Granted Patent B2
US 7,661,016 · App. 11/562,587 · Granted Feb 9, 2010

Method for a checkpoint library to detect corruption by an application

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 7,661,016
App. No.
11/562,587
Granted
Feb 9, 2010
Kind
B2
Abstract

A method of identifying the source of a memory corruption error during operation of a checkpoint library includes receiving an error detection request and, in response to the request, write protecting all memory regions allocated to a checkpoint library. The method further includes detecting when a memory region is accessed for modification during operation of the checkpoint library and, in response to the detection, identifying the source of a memory corruption error affecting the memory region.

Claims (55)

1. A computer readable storage medium containing a set of program instructions executable by a processor within a system, comprising:

a routine to receive an error detection request;

a routine to write protect all memory regions allocated to a checkpoint library in response to the request, detect when a memory region is accessed for modification during operation of the checkpoint library, and identify the source of a memory corruption error affecting the memory region; and

a routine to notify a user of the checkpoint library about the identified source of the memory corruption error.

2. The computer readable storage medium of claim 1 wherein the routine to identify the source of the memory corruption error further comprises a routine to determine that the accessed memory region is allocated to the checkpoint library.

3. A computer readable storage medium containing a set of program instructions executable by a processor within a system, comprising:

a routine to receive an error detection request; and

a routine to write protect all memory regions allocated to a checkpoint library in response to the request, detect when a memory region is accessed for modification during operation of the checkpoint library, and identify the source of a memory corruption error affecting the memory region,

wherein the routine to identify the source of the memory corruption error further comprises a routine to determine that the accessed memory region is allocated to the checkpoint library, and

wherein the routine to identify the source of the memory corruption error further comprises a routine to identify the address of an instruction that caused the accessed memory region to be accessed and, based on the address, determine that the instruction is not included in the checkpoint library.

4. The computer readable storage medium of claim 3 , further comprising a routine to notify a user of the checkpoint library that the memory corruption error was not caused by the checkpoint library.

5. A computer readable storage medium containing a set of program instructions executable by a processor within a system, comprising:

a routine to receive an error detection request; and

a routine to write protect all memory regions allocated to a checkpoint library in response to the request, detect when a memory region is accessed for modification during operation of the checkpoint library, and identify the source of a memory corruption error affecting the memory region,

wherein the routine to identify the source of the memory corruption error further comprises a routine to determine that the accessed memory region is allocated to the checkpoint library, and

wherein the routine to identify the source of the memory corruption error further comprises a routine to identify the address of an instruction that caused the accessed memory region to be accessed and, based on the address, determine that the instruction is included in the checkpoint library.

6. The computer readable storage medium of claim 5 , further comprising a routine to remove write protection from the accessed memory region, allow the accessed memory region to be modified, and reinstate write protection to the accessed memory region.

7. A computer system, comprising:

a memory component; and

a processor operatively connected to the memory component and configured to receive an error detection request and, in response to the request, write protect all memory regions in the memory component allocated to a checkpoint library, detect when a memory region is accessed for modification during operation of the checkpoint library and identify the source of a memory corruption error affecting the memory region,

wherein the processor is further configured to notify a user of the checkpoint library about the identified source of the memory corruption error.

8. The computer system of claim 7 wherein the processor is further configured to determine that the accessed memory region is allocated to the checkpoint library.

9. A computer system, comprising:

a memory component; and

a processor operatively connected to the memory component and configured to receive an error detection request and, in response to the request, write protect all memory regions in the memory component allocated to a checkpoint library, detect when a memory region is accessed for modification during operation of the checkpoint library and identify the source of a memory corruption error affecting the memory region,

wherein the processor is further configured to determine that the accessed memory region is allocated to the checkpoint library,

wherein the processor is further configured to identify the address of an instruction that caused the accessed memory region to be accessed and, based on the address, determine that the instruction is not included in the checkpoint library.

10. The computer system of claim 9 wherein the processor is further configured to notify a user of the checkpoint library that the memory corruption error was not caused by the checkpoint library.

11. A computer system, comprising:

a memory component; and

a processor operatively connected to the memory component and configured to receive an error detection request and, in response to the request, write protect all memory regions in the memory component allocated to a checkpoint library, detect when a memory region is accessed for modification during operation of the checkpoint library and identify the source of a memory corruption error affecting the memory region,

wherein the processor is further configured to determine that the accessed memory region is allocated to the checkpoint library,

wherein the processor is further configured to identify the address of an instruction that caused the accessed memory region to be accessed and, based on the address, determine that the instruction is included in the checkpoint library.

12. The computer system of claim 11 wherein the processor is further configured to remove write protection from the accessed memory region, allow the accessed memory region to be modified, and reinstate write protection to the accessed memory region.

13. A method of identifying the source of a memory corruption error, comprising:

receiving an error detection request;

write protecting all memory regions allocated to a checkpoint library in response to the request;

detecting when a memory region is accessed for modification during operation of the checkpoint library; and

identifying the source of a memory corruption error affecting the memory region in response to the detection,

wherein identifying the source of the memory corruption error includes determining that the accessed memory region is allocated to the checkpoint library,

wherein identifying the source of the memory corruption error includes identifying the address of an instruction that caused the accessed memory region to be accessed and, based on the address, determining that the instruction is not included in the checkpoint library.

14. The method of claim 13 further comprising a notifying a user of the checkpoint library that the memory corruption error was not caused by the checkpoint library.

15. A computer system, comprising:

means for receiving an error detection request;

means for write protecting all memory regions allocated to a checkpoint library in response to the request;

means for detecting when a memory region is accessed for modification during operation of the checkpoint library; and

means for identifying the source of a memory corruption error affecting the memory region in response to the detection,

wherein the means for identifying the source of the memory corruption error is configured to determine that the accessed memory region is allocated to the checkpoint library, and

wherein the means for identifying the source of the memory corruption error is configured to identify the address of an instruction that caused the accessed memory region to be accessed and, based on the address, to determine that the instruction is not included in the checkpoint library.

16. A computer system, comprising:

means for receiving an error detection request;

means for write protecting all memory regions allocated to a checkpoint library in response to the request;

means for detecting when a memory region is accessed for modification during operation of the checkpoint library;

means for identifying the source of a memory corruption error affecting the memory region in response to the detection, and

means for notifying a user of the checkpoint library about the identified source of the memory corruption error.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
RELEASE OF COLLATERAL UNDER SECURITY AGREEMENT Recorded Aug 29, 2012
From: TRIPLEPOINT CAPITAL LLC
To: LIBRATO, INC.
Reel/Frame 028884/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2012
From: LIBRATO, INC.
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 028677/0154 →
CHANGE OF NAME Recorded Aug 12, 2010
From: EVERGRID, INC.
To: LIBRATO, INC.
Reel/Frame 024831/0872 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORDING TO REMOVE INCORRECT APPLICATIONS. PLEASE REMOVE 12/420,015; 7,536,591 AND PCT US04/38853 FROM PROPERTY LIST. PREVIOUSLY RECORDED ON REEL 023538 FRAME 0248. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME SHOULD BE - ASSIGNOR: CALIFORNIA DIGITAL CORPORATION; ASSIGNEE: EVERGRID, INC.. Recorded Jul 22, 2010
From: CALIFORNIA DIGITAL CORPORATION
To: EVERGRID, INC.
Reel/Frame 024726/0876 →
CHANGE OF NAME Recorded Nov 18, 2009
From: CALIFORNIA DIGITAL CORPORATION; EVERGRID, INC.
To: LIBRATO, INC.
Reel/Frame 023538/0248 →
SECURITY AGREEMENT Recorded Jul 29, 2008
From: EVERGRID, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 021308/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2007
From: RUSCIO, JOSEPH F; HEFFNER, MICHAEL
To: EVERGRID, INC.
Reel/Frame 018932/0744 →