Patent ID: 8839031

Claim:
A system, comprising: one or more processors; and memory, communicatively coupled to the one or more processors, storing one or more modules that are executable by the one or more processors to perform acts comprising: receiving one or more first data blocks from a primary virtual hard disk; sending the one or more first data blocks to a first buffer; receiving, after a time period has expired since the one or more first data blocks were sent to the first buffer, the one or more first data blocks from the first buffer; calculating a first data signature for at least a portion of a data block of the one or more first data blocks; sending the first data signature to a second buffer; receiving the first data signature from the second buffer after a time period has expired since the first data signature was sent to the second buffer; in response to receiving the first data signature from the second buffer, requesting a second data signature from a recovery virtual machine, the second data signature representing one or more second data blocks corresponding to the one or more first data blocks; receiving the second data signature from the recovery virtual machine; comparing the first data signature with the second data signature; determining that the one or more first data blocks and the one or more second data blocks are different based, at least in part, on the comparison; and causing, at least partly in response to the determining that the one or more first data blocks and the one or more second data blocks are different, the one or more first data blocks to be sent from the primary virtual hard disk to the recovery virtual machine.