Patent Number: 6,253,212

Title: Method and system for maintaining checkpoint values

Abstract: A method and system are provided for maintaining a checkpoint value that indicates which records of a plurality of records associated with updates made before a failure have to be processed after the failure. According to one aspect of the invention, an ordered list of buffers is maintained in volatile memory. The ordered list of buffers has a head and a tail. The ordered list of buffers is maintained by writing a record that indicates the update to nonvolatile memory and adding the buffer to the tail of the ordered list whenever an update is made to a data item within a buffer in volatile memory. When a data item contained in a buffer within the ordered list is stored in nonvolatile memory, the buffer can be removed from the ordered list. A checkpoint value that identifies a record associated with a buffer located at the head of the ordered list is written to nonvolatile memory. According to another aspect, after a failure, the record associated with the checkpoint value is identified. If a particular record was stored to nonvolatile memory before the record associated with the checkpoint value, the particular record is not processed. If the particular record was not stored to nonvolatile memory before the record associated with the checkpoint value, the particular record is processed.

Inventors: Loaiza; Juan R. (San Carlos, CA), Bridge, Jr.; William H. (Alameda, CA), Joshi; Ashok (Nashua, NH)

Assignee: Oracle Corporation

International Classification: G06F 17/30 (20060101); G06F 017/30 ()

Expiration Date: 06/26/2018