IP Library Granted Patent US 7,769,717
Granted Patent B2
US 7,769,717 · App. 11/400,912 · Granted Aug 3, 2010

System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot

Assignee: NetApp, 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,769,717
App. No.
11/400,912
Granted
Aug 3, 2010
Kind
B2
Abstract

A method for transferring data from a source computer to a destination computer, and restarting the source computer transmission after a halt of the transmission, has the following steps. The source computer inserts a checkpoint number into a data stream, the data flowing in the data stream. The checkpoint number is stored at the source computer. The data stream is halted in response to an error in a path of the data stream. The destination computer locates the last checkpoint number successfully received before halting the data stream. The last checkpoint number successfully received before halting the data stream is transferred to the source computer; and the source computer compares it with checkpoint numbers stored in the source computer to determine where in the data stream to resume transfer of the data. Transfer of the data is resumed in response to the last checkpoint number.

Claims (34)

1. A method for transferring data from a source server to a destination server, comprising:

inserting, by a processor executing on the source server, a checkpoint number into a data stream, the data flowing in the data stream;

storing, by a memory, the checkpoint number at the source server;

halting, by a processor, the data stream in response to an error in a path of the data stream;

locating, by a processor executing on the destination server, the last checkpoint number successfully received before halting the data stream;

comparing by the processor executing on the source server a last checkpoint number successfully received before halting the data stream with checkpoint numbers stored in the source server to determine where in the data stream to resume transfer of the data; and

resuming the transfer of the data in response to the last checkpoint number.

2. The method of claim 1 , further comprising:

transferring to the source server the last checkpoint number successfully received before halting the data stream.

3. An apparatus to transfer data from a source computer to a destination computer, comprising:

a processor executing on the source computer configured to insert a checkpoint number into a data stream, the data flowing in the data stream;

a memory means for storing the checkpoint number at the source computer;

a processor means for halting the data stream in response to an error in a path of the data stream;

the destination computer configured to locate the last checkpoint number successfully received before halting the data stream;

a processor means for comparing by the source computer a last checkpoint number successfully received before halting the data stream with checkpoint numbers stored in the source computer to determine where in the data stream to resume transfer of the data; and

resuming the transfer of the data in response to the last checkpoint number.

4. The apparatus of claim 3 , further comprising:

means for transferring to the source computer the last checkpoint number successfully received before halting the data stream.

5. An apparatus to transfer data from a source computer to a destination computer, comprising:

the source computer to insert a checkpoint number into a data stream flowing from the source computer to the destination computer, the data flowing in the data stream;

a memory to store the checkpoint number at the source computer;

a network adapter to halt the data stream in response to an error in a path of the data stream;

the destination computer to locate the last checkpoint number successfully received before halting the data stream;

a processor in the source computer to compare the last checkpoint number successfully received before halting the data stream with checkpoint numbers stored in the source computer to determine where in the data stream to resume transfer of the data; and

the source computer to resume the transfer of the data in response to the last checkpoint number.

6. The apparatus of claim 5 , further comprising:

a processor in the destination computer to transfer to the source computer the last checkpoint number successfully received before halting the data stream.

7. A computer readable storage medium containing executable program instructions executed by a processor, comprising:

program instructions that insert by a source computer a checkpoint number into a data stream, the data flowing in the data stream;

program instructions that store the checkpoint number at the source computer;

program instructions that halt the data stream in response to an error in a path of the data stream;

program instructions that locate by a destination computer the last checkpoint number successfully received before halting the data stream;

program instructions to compare in the source server a last checkpoint number successfully received before halting the data stream with checkpoint numbers stored in the source server to determine where in the data stream to resume transfer of the data; and

program instructions that resume the transfer of the data in response to the last checkpoint number.

Continuity (7)
Continuation 1012682200 · Apr 19, 2002
Continuation 1010096700 · Mar 19, 2002
Continuation 1010095000 · Mar 19, 2002
Continuation 1010094500 · Mar 19, 2002
Continuation 1010087900 · Mar 19, 2002
Continuation 1010043400 · Mar 19, 2002
Related Publication 20060184587A1 · Aug 17, 2006