IP Library Granted Patent US 8,909,604
Granted Patent B1
US 8,909,604 · App. 14/199,546 · Granted Dec 9, 2014

Methods for returning a corrupted database to a known, correct state by selectively using redo and undo operations

Inventors: Bruce D. Holenstein (Media, PA); Paul J. Holenstein (Downingtown, PA); John R. Hoffmann (Kennett Square, PA); Wilbur H. Highleyman (Blairstown, NJ)
Assignee: Gravic, Inc.
G06F11/1469G06F17/30368
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 8,909,604
App. No.
14/199,546
Granted
Dec 9, 2014
Kind
B1
Abstract

Both redo operations and undo operations are provided for returning a database that is corrupted to a correct state. When corruption of the database is detected, an automatic selection is made of one or more operations from the redo operations and undo operations for returning the database that is corrupted to a correct state. The selected one or more redo and undo operations are then performed on the database, thereby returning the database that is corrupted to a correct state.

Claims (22)

1. A method of returning a database that is corrupted to a correct state, the database allowing for a plurality of transactions which operate upon the database, at least some of the transactions including a plurality of operations, the method comprising:

(a) providing both redo operations and undo operations for returning a database that is corrupted to a correct state;

(b) detecting corruption of the database;

(c) automatically selecting for each operation in a transaction that includes a plurality of operations at least one redo operation and at least one undo operation for returning the database that is corrupted to a correct state; and

(d) performing the selected at least one redo operation and at least one undo operation on the operations in the transaction, thereby returning the database that is corrupted to a correct state, wherein the at least one redo operation and at least one undo operation are performed on operations of the same transaction.

2. The method of claim 1 wherein the database is replicated from a source to a target database and the corruption of the database is detected at the target database.

3. The method of claim 2 wherein the selected one or more redo operations and undo operations are performed on transactions in the source database.

4. The method of claim 1 further comprising: (e) iteratively performing steps (b)-(d) using a redo operation if an undo operation was previously performed, and iteratively performing steps (b)-(d) using an undo operation if a redo operation was previously performed.

5. The method of claim 1 further comprising: (e) iteratively performing steps (b)-(d) using a plurality of redo and undo operations.

6. The method of claim 1 wherein the corruption of the database is caused by one or more of split transactions, distributed transactions, precommitted transactions, hung transactions, and misbehaving applications.

7. The method of claim 1 wherein one or more of steps (b), (c) and (d) are performed by user exits.

8. A tangible computer program product for returning a database that is corrupted to a correct state, the database allowing for a plurality of transactions which operate upon the database, at least some of the transactions including a plurality of operations, the computer program product comprising non-transitory computer-readable media encoded with instructions for execution by a processor to perform a method comprising:

(a) providing both redo operations and undo operations for returning a database that is corrupted to a correct state;

(b) detecting corruption of the database;

(c) automatically selecting for each operation in a transaction that includes a plurality of operations at least one redo operation and at least one undo operation for returning the database that is corrupted to a correct state; and

(d) performing the selected at least one redo operation and at least one undo operation on the operations in the transaction, thereby returning the database that is corrupted to a correct state, wherein the at least one redo operation and at least one undo operation are performed on operations of the same transaction.

9. The tangible computer program product of claim 8 wherein the database is replicated from a source to a target database and the corruption of the database is detected at the target database.

10. The tangible computer program product of claim 9 wherein the selected one or more redo operations and undo operations are performed on transactions in the source database.

11. The tangible computer program product of claim 8 wherein the instructions for execution by the processor perform a method further comprising: (e) iteratively performing steps (b)-(d) using a redo operation if an undo operation was previously performed, and iteratively performing steps (b)-(d) using an undo operation if a redo operation was previously performed.

12. The tangible computer program product of claim 8 wherein the instructions for execution by the processor perform a method further comprising: (e) iteratively performing steps (b)-(d) using a plurality of redo and undo operations.

13. The tangible computer program product of claim 8 wherein the corruption of the database is caused by one or more of split transactions, distributed transactions, precommitted transactions, hung transactions, and misbehaving applications.

14. The tangible computer program product of claim 8 wherein one or more of steps (b), (c) and (d) are performed by user exits.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: GRAVIC, INC.
To: INTEL CORPORATION
Reel/Frame 036487/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2014
From: HOLENSTEIN, BRUCE D.; HOLENSTEIN, PAUL J.; HOFFMANN, JOHN R.; HIGHLEYMAN, WILBUR H.
To: GRAVIC, INC.
Reel/Frame 032592/0088 →
Continuity (1)
Provisional Application 61773331 · Mar 6, 2013