← Back to Patent Explorer
EP0097239A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for restoring data in a computing system

Assignee: International Business Machines Corp
•
Filing: 1983-05-06
•
Granted: —
•
Expires: 2003-05-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and apparatus for assuring atomicity of user requested multi-row update operations to tables such as in a relation database (24), guaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation that fails the system state as perceived by the user remains unchaged. This is accomplished by establishing, in response to a multi-row update operation request, an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of the execution module. For each set of instruction in or called by the execution module which modified the user perceived system state, undo information is logged to a soft log (20). Upon completing the execution module, the savepoint is dropped, causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request. Responsive to the detection of an error during execution of the module, the soft logged undo information is used to restore the user perceived state to that existing at the time of the savepoint request.

Inventors

  • 👤 Jerry Wayne Baker
  • 👤 Richard Anthony Crus
  • 👤 Donald James Haderle

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-04 18:35
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/461; G06F9/463; G06F11/00; G06F11/07; G06F11/14; G06F11/1474; G06F16/00

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 122 words
A method for restoring data in a computing system including a database management system which provides for multi-row operations with respect to data objects, characterized by the steps of: logging selectively to a soft log (20) in main storage and to a hard log (22) in non-volatile storage changes made to said data objects; responsive to an error (42) not involving loss of information in the soft log, restoring said data objects to their state at the beginning (40) of the current multi-row operation (38); and responsive to an error (42) involving loss of information in the soft log, restoring said data objects to their state at the beginning (32) of the unit of recovery (30) including the current multi-row operation (38).
Claim 2
Independent Claim 122 words
A method for restoring data in a computing system including a database management system which provides for multi-row operations with respect to data objects, characterized by the steps of: logging selectively to a soft log (20) in main storage and to a hard log (22) in non-volatile storage changes made to said data objects; responsive to an error (42) not involving loss of information in the soft log, restoring said data objects to their state at the beginning (40) of the current multi-row operation (38); and responsive to an error (42) involving loss of information in the soft log, restoring said data objects to their state at the beginning (32) of the unit of recovery (30) including the current multi-row operation (38).
Claim 3
Dependent Claim 99 words
The method of claim 1 wherein the step of logging to the hard log (22) changes made to the data objects includes the steps of: recording in a hard log record an identifier of the data object being changed and an identifier of the resource manager making the change; recording in the hard log record selectively UNDO, or REDO, or both UNDO and REDO information; and responsive to an error involving loss of information in said soft log, restoring said data objects to their state at the beginning of the unit of recovery by reference to said UNDO information.
Claim 4
Dependent Claim 30 words
The method of claim 2 wherein said UNDO information contains either before and after images of the data object being changed or the information necessary to conduct a reversing operation.
Claim 5
Independent Claim 54 words
The method of claims 1 and 2 wherein the step of logging to the soft log changes made to the data objects includes the steps of: recording in a soft log record a pointer to the previous soft log record and the log record type; and recording in the soft log record UNDO information.
Claim 6
Dependent Claim 113 words
The method of claim 1 wherein data objects stored in multi-row tables are updated, deleted and inserted, in- cludin g the steps of: selectively operating on a data object by performing an update, delete or insert operation; recording in a hard log a record of the operation if made to a data object where the data object is recoverable and the data object operated on may have been copied to non-volatile storage; and recording in a soft log a record of the operation if made to a data object where the data object is not recoverable or if the data object operated on is guaranteed not to have been copied to non-volatile storage.
Claim 7
Dependent Claim 97 words
The method of claim 5 comprising the further steps: recording a hard log savepoint record including a savepoint name at the beginning of a multi-row operation; recording a soft log savepoint record at the beginning of the multi-row operation, the soft log savepoint record including the savepoint name, a pointer to the hard log savepoint record written for this multirow operation, and a list of identifiers of cursor blocks positions to be saved; and responsive to a failure occuring during the multi-row operation, restoring the table to its state at the time of recording the savepoint record.
Claim 8
Dependent Claim 71 words
The method of claim 6 comprising the further steps: obtaining from the soft log savepoint record the location of the hard log savepoint record and identifiers of cursor blocks to be saved; processing hard log UNDO records from the point of the failure back to the hard log savepoint record; and restoring the cursor blocks identified by the soft log savepoint record to their positions at the time of the savepoint.
Claim 9
Dependent Claim 24 words
The method of claim 6 comprising the further step of stacking a plurality of savepoint records with respect to a plurality of multi-row operations.
Claim 10
Dependent Claim 24 words
The method of claim 6 comprising the further step of dropping savepoint records with respect to a multi-row operation which successfully concludes without failure.
Claim 11
Independent Claim 165 words
The method according to any of the claims 1-9 wherein user requested multi-row update operations to tables of the type including UPDATE, INSERT, and DELETE that fails, are generating the operation steps of: in response to an update operation request, establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; for each set of instructions in or called by the execution module which modifies the user perceived system state, selectively recording undo information in a soft or hard log; upon completing an execution module, dropping the savepoint, causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; upon detecting an error and responsive to undo information recorded in the soft and/or hard log, restoring the user perceived state to that at the time of the savepoint request.
Claim 12
Dependent Claim 204 words
Apparatus for restoring data in a computing system executing user requested multi-row update operations of the type including UPDATE, DELETE, and INSERT . to tables in a relational database, characterized by: means (16) responsive to an update operation request for establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; means for recording undo information in a soft log (20) for each set of instructions in or called by the execution module which modifies the user perceived system state; means for dropping the savepoint upon completing an execution module, thereby causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; and means responsive to undo information recorded in the soft log and operative upon detecting an error for restoring the user perceived state to that at the time of the savepoint request; said means quaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation that fails the system state as perceived by the usor remains unchanged.
Claim 13
Dependent Claim 204 words
Apparatus for restoring data in a computing system executing user requested multi-row update operations of the type including UPDATE, DELETE, and INSERT . to tables in a relational database, characterized by: means (16) responsive to an update operation request for establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; means for recording undo information in a soft log (20) for each set of instructions in or called by the execution module which modifies the user perceived system state; means for dropping the savepoint upon completing an execution module, thereby causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; and means responsive to undo information recorded in the soft log and operative upon detecting an error for restoring the user perceived state to that at the time of the savepoint request; said means quaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation that fails the system state as perceived by the usor remains unchanged.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag