Patent ID: 7039663

Claim:
A computer-implemented method for transferring data from a source to a destination, comprising: inserting checkpoint information into a data stream, a data flowing in the data stream; storing a checkpoint number, the checkpoint number corresponding to the checkpoint information inserted in the data stream, in a registry; storing other checkpoint information, the other checkpoint information relating to a state of a source process, in the registry; halting the data stream in response to an error in a path of the data stream; locating a point in the data stream in response to the last checkpoint information successfully transferred before halting the data stream; and storing a checkpoint in a registry, the checkpoint number corresponding to a checkpoint number inserted in the data stream; storing information relating to a next inode to be checked in the registry; and storing information relating to a status of each of a set of inode worker processes in the registry; the information relating to a status of each of a set of inode worker processes includes an inode currently being created by a particular inode worker process, and updating a block associated with the inode currently being operated upon restarting transfer of the data in response to the last checkpoint information.