← Back to Patent Explorer
US5864849A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for restoring a multiple checkpointed database in view of loss of volatile memory

Assignee: Nokia of America Corp
•
Filing: 1996-12-16
•
Granted: 1999-01-26
•
Expires: 2016-12-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract For use with an active database stored in volatile memory for direct revision thereof, the active database having multiple checkpoints and a stable log, having a tail stored in the volatile memory, for tracking revisions to the active database to allow corresponding revisions to be made to the multiple checkpoints, the active database subject to corruption, a system for, and method of, restoring the active database and a computer system containing the same. The system includes: (1) a checkpoint determination controller that determines which of the multiple checkpoints is a most recently completed checkpoint and copies the most recently completed checkpoint to the volatile memory to serve as an unrevised database for reconstructing the active database and (2) a revision application controller that retrieves selected ones of the revisions from the stable log and the tail and applies the revisions to the unrevised database thereby to restore the active database. In an advantageous embodiment, the applied revisions include log records at an operation level (lower level of abstration than transactions), and the revision application controller, using memory locks while restoring the active database, releases ones of the memory locks as a function of applying ones of the log records.

Inventors

  • 👤 Philip Lewis Bohannon
  • 👤 Rajeev Rastogi
  • 👤 Abraham Silberschatz
  • 👤 Sundararajarao Sudarshan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 23:16
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1446; G06F11/1458; G06F11/1469; G06F11/1471; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99937; Y10S707/99938; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 136 words
For use with an active database stored in volatile memory for direct revision thereof, said active database having multiple checkpoints and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple checkpoints, said active database subject to corruption, a system for restoring said active database, comprising: a checkpoint determination controller that determines which of said multiple checkpoints is a most recently completed checkpoint and copies said most recently completed checkpoint to said volatile memory to serve as an unrevised database for reconstructing said active database; and a revision application controller that retrieves selected ones of said revisions from said stable log and said tail and applies said revisions to said unrevised database thereby to restore said active database.
Claim 2
Dependent Claim 136 words
For use with an active database stored in volatile memory for direct revision thereof, said active database having multiple checkpoints and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple checkpoints, said active database subject to corruption, a system for restoring said active database, comprising: a checkpoint determination controller that determines which of said multiple checkpoints is a most recently completed checkpoint and copies said most recently completed checkpoint to said volatile memory to serve as an unrevised database for reconstructing said active database; and a revision application controller that retrieves selected ones of said revisions from said stable log and said tail and applies said revisions to said unrevised database thereby to restore said active database.
Claim 3
Dependent Claim 47 words
The system as recited in claim 1 wherein said applied revisions include log records at an operation level, and said revision application controller, using memory locks while restoring said active database, releases ones of said memory locks as a function of applying ones of said log records.
Claim 4
Dependent Claim 22 words
The system as recited in claim 1 wherein said database is associated with each of a redo log and an undo log.
Claim 5
Dependent Claim 21 words
The system as recited in claim 3 wherein at least a portion of said redo log is appended to said tail.
Claim 6
Dependent Claim 14 words
The system as recited in claim 1 wherein said multiple checkpoints are checkpointed alternately.
Claim 7
Dependent Claim 40 words
The system as recited in claim 1 wherein said active database and said multiple checkpoints each contain an active transaction table, said checkpoint determination controller copying said active transaction table from said most recently completed checkpoint to said volatile memory.
Claim 8
Dependent Claim 39 words
The system as recited in claim 1 wherein said stable log and said tail cooperate to form a global log, said revision application controller applying said revisions as a function of a temporal pointer associated with said global log.
Claim 9
Dependent Claim 31 words
The system as recited in claim 1 wherein said revision application controller retrieves revisions from said stable log and said tail that were not made to said most recently completed checkpoint.
Claim 10
Dependent Claim 22 words
The system as recited in claim 1 wherein said multiple checkpoints and said stable log are stored on a nonvolatile storage device.
Claim 11
Dependent Claim 47 words
The system as recited in claim 1 wherein said active database further has an undo log for tracking revisions to be undone in said active database, said revision application controller retrieving said selected ones of said revisions as a function of a content of said undo log.
Claim 12
Dependent Claim 127 words
For use with an active database stored in volatile memory for direct revision thereof, said active database having multiple checkpoints and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple checkpoints, said active database subject to corruption, a method of restoring said active database, comprising the steps of: determining which of said multiple checkpoints is a most recently completed checkpoint; copying said most recently completed checkpoint to said volatile memory to serve as an unrevised database for reconstructing said active database; retrieving selected ones of said revisions from said stable log and said tail; and applying said revisions to said unrevised database thereby to restore said active database.
Claim 13
Dependent Claim 127 words
For use with an active database stored in volatile memory for direct revision thereof, said active database having multiple checkpoints and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple checkpoints, said active database subject to corruption, a method of restoring said active database, comprising the steps of: determining which of said multiple checkpoints is a most recently completed checkpoint; copying said most recently completed checkpoint to said volatile memory to serve as an unrevised database for reconstructing said active database; retrieving selected ones of said revisions from said stable log and said tail; and applying said revisions to said unrevised database thereby to restore said active database.
Claim 14
Dependent Claim 50 words
The method as recited in claim 9 wherein said applied revisions include log records at an operation level, said method further including the steps of: using memory locks while restoring said active database, and releasing ones of said memory locks as a function of applying ones of said log records.
Claim 15
Dependent Claim 22 words
The method as recited in claim 11 wherein said database is associated with each of a redo log and an undo log.
Claim 16
Dependent Claim 21 words
The method as recited in claim 13 wherein at least a portion of said redo log is appended to said tail.
Claim 17
Dependent Claim 17 words
The method as recited in claim 11 further comprising the step of alternately checkpointing said multiple checkpoints.
Claim 18
Dependent Claim 43 words
The method as recited in claim 11 wherein said active database and said multiple checkpoints each contain an active transaction table, said method further comprising the step of copying said active transaction table from said most recently completed checkpoint to said volatile memory.
Claim 19
Dependent Claim 39 words
The method as recited in claim 11 wherein said stable log and said tail cooperate to form a global log, said revision application controller applying said revisions as a function of a temporal pointer associated with said global log.
Claim 20
Dependent Claim 31 words
The method as recited in claim 11 further comprising the step of retrieving revisions from said stable log and said tail that were not made to said most recently completed checkpoint.
Claim 21
Dependent Claim 22 words
The method as recited in claim 11 wherein said multiple checkpoints and said stable log are stored on a nonvolatile storage device.
Claim 22
Dependent Claim 50 words
The method as recited in claim 11 wherein said active database further has an undo log for tracking revisions to be undone in said active database, said method further comprising the step of retrieving said selected ones of said revisions as a function of a content of said undo log.
Claim 23
Dependent Claim 212 words
A computer system, comprising: volatile memory that is capable of containing an active database therein to allow said active database to be directly revised, said active database subject to corruption; at least one nonvolatile storage unit, coupled to said volatile memory, that is capable of containing multiple alternative checkpoints of said active database and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple alternative checkpoints; and a processor, coupled to said volatile memory and said at least one nonvolatile storage device, that is operable to execute routines for revising said active database and for restoring said active database if said active database is corrupted, said routines for restoring said active database comprising: a checkpoint determination routine that determines which of said multiple alternative checkpoints is a most recently completed checkpoint and copies said most recently completed checkpoint from said at least one nonvolatile storage device to said volatile memory to serve as an unrevised database for reconstructing said active database, and a revision application routine that retrieves selected ones of said revisions from said stable log and said tail and applies said revisions to said unrevised database thereby to restore said active database.
Claim 24
Dependent Claim 212 words
A computer system, comprising: volatile memory that is capable of containing an active database therein to allow said active database to be directly revised, said active database subject to corruption; at least one nonvolatile storage unit, coupled to said volatile memory, that is capable of containing multiple alternative checkpoints of said active database and a stable log, having a tail stored in said volatile memory, for tracking revisions to said active database to allow corresponding revisions to be made to said multiple alternative checkpoints; and a processor, coupled to said volatile memory and said at least one nonvolatile storage device, that is operable to execute routines for revising said active database and for restoring said active database if said active database is corrupted, said routines for restoring said active database comprising: a checkpoint determination routine that determines which of said multiple alternative checkpoints is a most recently completed checkpoint and copies said most recently completed checkpoint from said at least one nonvolatile storage device to said volatile memory to serve as an unrevised database for reconstructing said active database, and a revision application routine that retrieves selected ones of said revisions from said stable log and said tail and applies said revisions to said unrevised database thereby to restore said active database.
Claim 25
Dependent Claim 48 words
The computer system as recited in claim 21 wherein said applied revisions include log records at an operation level, and said revision application controller, using memory locks while restoring said active database, releases ones of said memory locks as a function of applying ones of said log records.
Claim 26
Dependent Claim 23 words
The computer system as recited in claim 21 wherein said database is associated with each of a redo log and an undo log.
Claim 27
Dependent Claim 21 words
The system as recited in claim 23 wherein at least a portion of said redo log is appended to said tail.
Claim 28
Dependent Claim 42 words
The computer system as recited in claim 21 wherein said active database and said multiple alternative checkpoints each contain an active transaction table, said checkpoint determination routine copying said active transaction table from said most recently completed checkpoint to said volatile memory.
Claim 29
Dependent Claim 40 words
The computer system as recited in claim 21 wherein said stable log and said tail cooperate to form a global log, said revision application controller applying said revisions as a function of a temporal pointer associated with said global log.
Claim 30
Dependent Claim 32 words
The computer system as recited in claim 21 wherein said revision application routine retrieves revisions from said stable log and said tail that were not made to said most recently completed checkpoint.
Claim 31
Dependent Claim 48 words
The computer system as recited in claim 21 wherein said active database further has an undo log for tracking revisions to be undone in said active database, said revision application routine retrieving said selected ones of said revisions as a function of a content of said undo log.
Claim 32
Dependent Claim 29 words
The computer system as recited in claim 21 wherein said stable log contains an indication of an extent to which said revisions are committed to said multiple alternative checkpoints.

References Cited (Backward Citations)

US5469562A Cited
US5481699A Cited
US5592661A Cited
US5465328A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-25 2002-07-27 2003-01-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-25 2006-07-27 2007-01-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-25 2010-07-27 2011-01-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag