Patent ID: 9323470
Filing Date: 2016-04-26
CPC Classification: G06F

Claim Text:
1. A method, comprising: computing, in a local storage system having a local volume with a plurality of local regions, respective local checksum signatures over the local regions; creating, in the local storage system, a local bitmap having local bitmap entries, each local bitmap entry indicating a local realization status for an associated local region in a current snapshot, wherein the local realization status is one of a realized status or an unrealized status; transferring the local bitmap to a remote storage system; computing, in the remote storage system having the remote volume with remote regions in a one-to-one correspondence with the local regions, respective remote checksum signatures over the remote regions; creating, in the remote storage system, a remote bitmap having remote bitmap entries, each remote bitmap entry indicating a remote realization status for an associated remote region, wherein the remote realization status is one of a realized status or an unrealized status; retrieving, in the remote storage system, entries of the local bitmap and entries of the remote bitmap; determining from the retrieved entries of the local bitmap and the retrieved entries of the remote bitmap, in the remote storage system, whether the local realization status of a corresponding local region and the remote realization status of a corresponding remote region to the corresponding local region are both the realized status, and if so, transmitting a request to compute the respective local signatures over the corresponding local region; computing, by the local storage system, the respective local signatures over the corresponding local region and sending the respective local signatures to the remote storage system; computing, in the remote storage system, in response to receiving the respective local signatures, the corresponding remote signatures over the corresponding remote region having the corresponding remote realized status; identifying for a given remote region having a given remote signature and a corresponding local region having a given local signature that the given remote signature does not match the given local signature; replacing data in the given remote region with data from the corresponding local region; and using the remote bitmap to identify a realized remote region and using the local bitmap to identify a non-realized local region corresponding to the realized remote region, and releasing the identified realized remote region.