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

Database computer system with application recovery

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-03-10
•
Granted: 1999-08-31
•
Expires: 2017-03-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This invention concerns a database computer system and method for making applications recoverable from system crashes. The application state (i.e., address space) is treated as a single object which can be atomically flushed in a manner akin to flushing individual pages in database recovery techniques. To enable this monolithic treatment of the application, executions performed by the application are mapped to logical loggable operations which can be posted to the stable log. Any modifications to the application state are accumulated and the application state is flushed from time to time to stable storage using an atomic procedure. Applications are recovered by replaying the logged state transition operations, in the same manner that most database systems replay state transformation operations to recover database pages. This application recovery integrates with database recovery, and effectively eliminates or at least substantially reduces the need for check pointing applications. In addition, optimization techniques are described to make the read, write, and recovery phases more efficient.

Inventors

  • 👤 David B. Lomet

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 04:15
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1438; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 69 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application executing from the main memory, and persistent objects stored on the non-volatile memory, a computer-implemented method comprising the following steps: defining an application object as encompassing an address space of the application; and atomically flushing the object to the non-volatile memory to enable recovery of the application address space following a system crash.
Claim 2
Dependent Claim 69 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application executing from the main memory, and persistent objects stored on the non-volatile memory, a computer-implemented method comprising the following steps: defining an application object as encompassing an address space of the application; and atomically flushing the object to the non-volatile memory to enable recovery of the application address space following a system crash.
Claim 3
Dependent Claim 23 words
A computer-implemented method as recited in claim 1, further comprising the step of assigning a state identifier to the application state being logged.
Claim 4
Dependent Claim 34 words
A computer-implemented method as recited in claim 1, further comprising the step of recovering the application address space, following a system crash, by retrieving the object from the non-volatile memory and replaying logged operations.
Claim 5
Dependent Claim 20 words
A storage record created in a storage medium as a result of the computer-implemented method as recited in claim 1.
Claim 6
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 1.
Claim 7
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 1.
Claim 8
Dependent Claim 78 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method comprising the following steps: intermittently exposing an application state of the application to the resource manager during interaction through the resource manager; characterizing application execution resulting in the application state as a logical operation; and logging the operation when the application interacts with the resource manager.
Claim 9
Dependent Claim 78 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method comprising the following steps: intermittently exposing an application state of the application to the resource manager during interaction through the resource manager; characterizing application execution resulting in the application state as a logical operation; and logging the operation when the application interacts with the resource manager.
Claim 10
Dependent Claim 22 words
A computer-implemented method as recited in claim 7, further comprising the step of atomically installing the application state on the non-volatile memory.
Claim 11
Dependent Claim 31 words
A computer-implemented method as recited in claim 8, further comprising the step of retrieving the installed application state from the non-volatile memory, following a system crash, for recovery of the application.
Claim 12
Dependent Claim 23 words
A computer-implemented method as recited in claim 7, further comprising the step of assigning a state identifier to the application state being logged.
Claim 13
Dependent Claim 19 words
A record created in a storage medium as a result of the computer-implemented method as recited in claim 7.
Claim 14
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 7.
Claim 15
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 7.
Claim 16
Dependent Claim 90 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and communicates through a resource manager to perform tasks external to the application, a computer-implemented method for establishing loggable operations comprising the following steps: internally executing the application without interacting with the resource manager; intermittently having the application interact with the resource manager; and mapping application execution between interactions of the application and the resource manager to a logical operation which can be logged in the non-volatile memory.
Claim 17
Dependent Claim 90 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and communicates through a resource manager to perform tasks external to the application, a computer-implemented method for establishing loggable operations comprising the following steps: internally executing the application without interacting with the resource manager; intermittently having the application interact with the resource manager; and mapping application execution between interactions of the application and the resource manager to a logical operation which can be logged in the non-volatile memory.
Claim 18
Dependent Claim 42 words
A computer-implemented method as recited in claim 14, wherein the mapping step comprises the step of mapping the particular interaction to one of five logical operations: an initiate operation, an execute operation, a read operation, a write operation, and a terminate operation.
Claim 19
Dependent Claim 40 words
A computer-implemented method as recited in claim 14, further comprising the step of forcing an interaction between the application and the resource manager intermediate of the intermittent interactions of the application and the resource manager to create a loggable operation.
Claim 20
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 14.
Claim 21
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 14.
Claim 22
Dependent Claim 108 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of application execution comprising the following steps: returning control from the resource manager to the application following an external interaction; internally executing the application to transform an application state of the application from a first application state to a second application state; calling to the resource manager, said calling step exposing the second application state; and logging a logical operation representative of the application state resulting from the application execution.
Claim 23
Dependent Claim 108 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of application execution comprising the following steps: returning control from the resource manager to the application following an external interaction; internally executing the application to transform an application state of the application from a first application state to a second application state; calling to the resource manager, said calling step exposing the second application state; and logging a logical operation representative of the application state resulting from the application execution.
Claim 24
Dependent Claim 22 words
A computer-implemented method as recited in claim 19, further comprising the step of atomically installing the application state on the non-volatile memory.
Claim 25
Dependent Claim 38 words
A computer-implemented method as recited in claim 19, further comprising the step of interrupting the internal execution prior to transformation to the second application state to define an intermediate operation which can be logged in the non-volatile memory.
Claim 26
Dependent Claim 20 words
A log record created in a storage medium as a result of the computer-implemented method as recited in claim 19.
Claim 27
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 19.
Claim 28
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 19.
Claim 29
Dependent Claim 103 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of a read task comprising the following steps: calling from the application to the resource manager to read an object; performing a read operation at the resource manager on behalf of the application; returning the read object to the application, said returning step exposing an application state of the application; and logging a logical operation representative of the application state resulting from the application execution.
Claim 30
Dependent Claim 103 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of a read task comprising the following steps: calling from the application to the resource manager to read an object; performing a read operation at the resource manager on behalf of the application; returning the read object to the application, said returning step exposing an application state of the application; and logging a logical operation representative of the application state resulting from the application execution.
Claim 31
Dependent Claim 22 words
A computer-implemented method as recited in claim 25, further comprising the step of atomically installing the application state on the non-volatile memory.
Claim 32
Dependent Claim 21 words
A computer-implemented method as recited in claim 25, further comprising the step of logging the object read by the resource manager.
Claim 33
Dependent Claim 20 words
A log record created in a storage medium as a result of the computer-implemented method as recited in claim 25.
Claim 34
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 25.
Claim 35
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 25.
Claim 36
Dependent Claim 98 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of a write task comprising the following steps: calling from the application to the resource manager to write an object; performing a write operation at the resource manager on behalf of the application; returning from the resource manager to the application, said returning step exposing an application state of the application; and logging the object written by the resource manager.
Claim 37
Dependent Claim 98 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application which executes from the main memory and interacts externally through a resource manager, a computer-implemented method for establishing a loggable operation indicative of a write task comprising the following steps: calling from the application to the resource manager to write an object; performing a write operation at the resource manager on behalf of the application; returning from the resource manager to the application, said returning step exposing an application state of the application; and logging the object written by the resource manager.
Claim 38
Dependent Claim 22 words
A computer-implemented method as recited in claim 31, further comprising the step of atomically installing the application state on the non-volatile memory.
Claim 39
Dependent Claim 20 words
A log record created in a storage medium as a result of the computer-implemented method as recited in claim 31.
Claim 40
Dependent Claim 16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 31.
Claim 41
Dependent Claim 19 words
A computer-readable memory which directs a computer to perform the steps in the method as recited in claim 31.
Claim 42
Dependent Claim 110 words
A database computer system comprising: a volatile main memory; a non-volatile memory that persists across a system crash; a processing unit coupled to the main memory and the non-volatile memory; an application stored in the volatile main memory and executing on the processing unit; a resource manager which interacts with the application to mediate communication directed to and originating from the application, the application having an application state which is exposed to the resource manager during interactions with the resource manager; and the resource manager being configured to map application execution resulting in the application state as a logical operation and log the operation during interaction with the resource manager.
Claim 43
Dependent Claim 110 words
A database computer system comprising: a volatile main memory; a non-volatile memory that persists across a system crash; a processing unit coupled to the main memory and the non-volatile memory; an application stored in the volatile main memory and executing on the processing unit; a resource manager which interacts with the application to mediate communication directed to and originating from the application, the application having an application state which is exposed to the resource manager during interactions with the resource manager; and the resource manager being configured to map application execution resulting in the application state as a logical operation and log the operation during interaction with the resource manager.
Claim 44
Dependent Claim 29 words
A database computer system as recited in claim 36, wherein the resource manager is configured to log the application operation every time the application interacts with the resource manager.
Claim 45
Dependent Claim 25 words
A database computer system as recited in claim 36, wherein the resource manager installs the application state on the non-volatile memory in an atomic operation.
Claim 46
Dependent Claim 63 words
For use on a database computer system having a non-volatile memory, a volatile main memory, a processing unit, and an application which executes on the processing unit, a resource manager executing on the processor to mediate all interactions between the application and components external to the application, the resource manager logging an application operation characterizing application execution at each interaction with the application.
Claim 47
Dependent Claim 63 words
For use on a database computer system having a non-volatile memory, a volatile main memory, a processing unit, and an application which executes on the processing unit, a resource manager executing on the processor to mediate all interactions between the application and components external to the application, the resource manager logging an application operation characterizing application execution at each interaction with the application.

References Cited (Backward Citations)

US5257369A Cited
US5701480A Cited
US5325528A Cited
US5371889A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag