IP Library Granted Patent US 7,577,690
Granted Patent B2
US 7,577,690 · App. 11/405,805 · Granted Aug 18, 2009

Managing checkpoint queues in a multiple node system

Assignee: Oracle International Corporation
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 7,577,690
App. No.
11/405,805
Granted
Aug 18, 2009
Kind
B2
Abstract

Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.

Claims (28)

1. A method for coordinating writing of data items to persistent storage, the method comprising the steps of:

maintaining within a first node a first queue for dirty data items that need to be written to persistent storage;

maintaining within the first node a second queue for dirty data items that need to be written to persistent storage;

moving entries from said first queue to said second queue when the dirty data items corresponding to the entries need to be transferred for use by a second node;

when selecting which data items to write to persistent storage, assigning priority to data items that correspond to entries in said second queue over data items that correspond to entries in said first queue; and

after selecting which data items to write to persistent storage, writing the selected items to persistent storage.

2. The method of claim 1 wherein the step of moving entries includes moving an entry from said first queue to said second queue in response to a message received by said first node, wherein said message indicates that another node has requested the data item that corresponds to said entry.

3. A method for coordinating writing of data items to persistent storage, the method comprising the steps of:

maintaining a forced-write count for each of said data items;

incrementing the forced-write count of a data item whenever the data item is written to persistent storage by one node for transfer of the data item to another node;

selecting which dirty data items to write to persistent storage based on the write counts associated with the data items;

after selecting which dirty data items to write to persistent storage, writing the selected items to persistent storage;

storing dirty data items that have forced-write counts at or above a certain threshold in a particular queue; and

when selecting dirty data items to write to persistent storage, giving priority to data items stored in said particular queue.

4. A computer-readable storage medium carrying instructions for coordinating writing of data items to persistent storage, the instructions when executed cause the comprising computer to perform the steps of:

maintaining within a first node a first queue for dirty data items that need to be written to persistent storage;

maintaining within the first node a second queue for dirty data items that need to be written to persistent storage;

moving entries from said first queue to said second queue when the dirty data items corresponding to the entries need to be transferred for use by a second node;

when selecting which data items to write to persistent storage, assigning priority to data items that correspond to entries in said second queue over data items that correspond to entries in said first queue; and

after selecting which data items to write to persistent storage, writing the selected items to persistent storage.

5. The computer-readable storage medium of claim 4 wherein the step of moving entries includes moving an entry from said first queue to said second queue in response to a message received by said first node, wherein said message indicates that another node has requested the data item that corresponds to said entry.

6. A computer-readable storage medium carrying instructions for coordinating writing of data items to persistent storage, the instructions when executed cause the computer to perform the steps of:

maintaining a forced-write count for each of said data items;

incrementing the forced-write count of a data item whenever the data item is written to persistent storage by one node for transfer of the data item to another node;

selecting which dirty data items to write to persistent storage based on the write counts associated with the data items;

after selecting which dirty data items to write to persistent storage, writing the selected items to persistent storage;

storing dirty data items that have forced-write counts at or above a certain threshold in a particular queue; and

when selecting dirty data items to write to persistent storage, giving priority to data items stored in said particular queue.

Continuity (4)
Division 1009204700 · Mar 4, 2002
Continuation In Part 0919912000 · Nov 24, 1998
Provisional Application 6027427000 · Mar 7, 2001
Related Publication 20060195648A1 · Aug 31, 2006