Patent ID: 9110964
Filing Date: 2015-08-18
Classification: G06F

Abstract:
1. A computer-implemented method for replicating data from a source storage system to a target storage system over a network, the method comprising: in response to a list of a plurality of data chunks of a first batch for replication from the source storage system to the target storage system over the network, generating a list of a plurality of fingerprints each corresponding to one of the plurality of data chunks; identifying a second batch of a plurality of data chunks that have been previously transmitted to the target storage system based on at least a portion of the fingerprints of the first batch; generating differential encoding information representing a difference between fingerprints of the first batch and fingerprints of the second batch, the differential encoding information including a batch identifier (ID) identifying the second batch and one or more fingerprints of the first batch that are absent in the second batch, wherein the differential encoding information further includes a bit vector having a plurality of bits, each corresponding to one of the plurality of fingerprints of the first batch and indicating whether the corresponding fingerprint is present within the differential encoding information; transmitting the differential encoding information to the target storage system, without transmitting all full fingerprints of the first batch, to allow the target storage system to determine which of the data chunks of the first batch are missing at the target storage system, such that a network bandwidth required to transmit the fingerprints of the first batch from the source storage system to the target storage system over the network is reduced; and in response to information received from the target storage system indicating one or more data chunks of the first batch that are missing at the target storage system, transmitting the missing data chunks to the target storage system, wherein the target storage system is to reconstruct the data chunks of the first batch based on the missing data chunks and the second batch.