IP Library Granted Patent US 7,681,076
Granted Patent B1
US 7,681,076 · App. 12/150,863 · Granted Mar 16, 2010

Method and an apparatus to perform fast log replay

Assignee: Network Appliance, Inc.
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,681,076
App. No.
12/150,863
Granted
Mar 16, 2010
Kind
B1
Abstract

A method and an apparatus to perform fast log replay have been disclosed. In one embodiment, the method includes preloading a buffer with data based on a catalog in response to a failure of a storage server and replaying a log as the buffer is being preloaded, wherein replaying the log comprises re-executing a set of modifying operations previously logged in a local non-volatile storage device in the storage server using the data preloaded.

Claims (37)

1. A computerized method comprising:

sending, from a storage server to a partner storage server, a catalog indicating which buffers of the storage server are used in a transaction;

preloading, on the partner storage server, a buffer according to the catalog;

sending, from the storage server to the partner storage server, a log containing a plurality of modifying operations associated with the transaction; and

replaying, on the partner storage server, the log using data in the preloaded buffer to maintain a state in the partner storage server that is substantially identical to a state in the storage server, wherein preloading a buffer according to the catalog and replaying the log are executed substantially in parallel.

2. The method of claim 1 , further comprising:

determining that data in a buffer of the storage server will be changed due to the transaction; and

cataloging the buffer to be changed.

3. The method of claim 1 , wherein the catalog is divided into a plurality of sections, each section to contain a plurality of buffers cataloged at a distinct time interval.

4. A storage server comprising:

a processor; and

a memory coupled with the processor and storing instructions which, when executed by the processor, cause the processor to

send, from the storage server to a partner storage server,

a catalog indicating which buffers of the storage server are used in a transaction, the catalog to be used by the partner storage sever to preload, on the partner storage server, a buffer according to the catalog, and

a log containing a plurality of modifying operations associated with the transaction, the log to be used by the partner storage server to replay, on the partner storage server, the modifying operations using data in the preloaded buffer, to maintain a state in the partner storage server that is substantially identical to a state in the storage server, wherein preloading a buffer according to the catalog and replaying the log are to be executed substantially in parallel.

5. The storage server of claim 4 , wherein the processor further:

determines that data in a buffer of the storage server will be changed due to the transaction; and

catalogs the buffer to be changed.

6. The storage server of claim 4 , wherein the catalog is divided into a plurality of sections, each section to contain a plurality of buffers cataloged at a distinct time interval.

7. A partner storage server comprising:

a processor; and

a memory coupled with the processor and storing instructions which, when executed by the processor, cause the processor to

preload, on the partner storage server, a buffer according to a catalog received from a storage server, the catalog indicating which buffers of the storage server are used in a transaction, and

replay, on the partner storage server, a log using data in the preloaded buffer to maintain a state in the partner storage server that is substantially identical to a state in the storage server, the log received from the storage server and containing a plurality of modifying operations associated with the transaction, wherein preloading a buffer according to the catalog and replaying the log are executed substantially in parallel.

8. A system comprising:

a storage server comprising a first processor and a first memory, the first memory coupled with the first processor and storing a first set of instructions; and

a partner storage server, coupled with the storage server, and comprising a second processor and a second memory, the second memory coupled with the second processor and storing a second set of instructions,

wherein the first set of instructions causing the storage server to send to the partner storage server

a catalog indicating which buffers of the storage server are used in a transaction, and

a log containing a plurality of modifying operations associated with the transaction,

and wherein the second set of instructions causing the partner storage server to

preload a buffer according to the catalog, and

replay the log using data in the preloaded buffer to maintain a state in the partner storage server that is substantially identical to a state in the storage server, wherein preloading a buffer according to the catalog and replaying the log are executed substantially in parallel.

9. The system of claim 8 , wherein the storage server further:

determines that data in a buffer of the storage server will be changed due to the transaction; and

catalogs the buffer to be changed.

10. The system of claim 8 , wherein the catalog is divided into a plurality of sections, each section to contain a plurality of buffers cataloged at a distinct time interval.

Assignments (2)
CHANGE OF NAME Recorded Nov 13, 2015
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 037030/0140 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: SARMA, JOYDEEP SEN
To: NETWORK APPLIANCE, INC.
Reel/Frame 036863/0656 →
Continuity (1)
Continuation 1097120900 · Oct 22, 2004