A system comprising a source network node and a remote network node, each node having a processor and a memory storing instructions which, when executed by the processor, cause the processor to perform operations for generating a remote backup copy on the remote network node of a dataset located on the source network node, comprising: receiving a command to duplicate the dataset, located on the source network node, to the remote network node, the dataset comprising signatures of data and metadata in a tree structured file system, wherein the file system data and metadata are stored as objects in an object store, each object having a globally unique content-derived signature; in response to the command, accessing, on the source network node, signatures of a previously stored snapshot of the dataset and signatures of a current snapshot of the dataset, wherein the previous snapshot comprises a tree of the signatures of the data and metadata objects of a tree structured file system, and wherein the previous snapshot stored on the source network node corresponds to a previous remote snapshot stored at the remote network node; performing, at the source network node, a local signature comparison between the previous snapshot and the current snapshot to identify one or more signatures that do not match between the previous snapshot and the current snapshot, wherein the local signature comparison is an iterative top-down comparison beginning at the root of the tree, and wherein the signatures that do not match have at least one of different content or different placement in the tree; sending the signatures that do not match to the remote network node; performing, on the remote network node, a search for the signatures that do not match; receiving, from the remote network node, a response of whether the signatures that do not match exist at the remote network node; and if the signatures that do not match do not exist at the remote network node, sending data associated with the signatures that do not match to the remote network node for incorporation within a current remote snapshot. receiving a command to duplicate the dataset, located on the source network node, to the remote network node, the dataset comprising signatures of data and metadata in a tree structured file system, wherein the file system data and metadata are stored as objects in an object store, each object having a globally unique content-derived signature; in response to the command, accessing, on the source network node, signatures of a previously stored snapshot of the dataset and signatures of a current snapshot of the dataset, wherein the previous snapshot comprises a tree of the signatures of the data and metadata objects of a tree structured file system, and wherein the previous snapshot stored on the source network node corresponds to a previous remote snapshot stored at the remote network node; performing, at the source network node, a local signature comparison between the previous snapshot and the current snapshot to identify one or more signatures that do not match between the previous snapshot and the current snapshot, wherein the local signature comparison is an iterative top-down comparison beginning at the root of the tree, and wherein the signatures that do not match have at least one of different content or different placement in the tree; sending the signatures that do not match to the remote network node; performing, on the remote network node, a search for the signatures that do not match; receiving, from the remote network node, a response of whether the signatures that do not match exist at the remote network node; and if the signatures that do not match do not exist at the remote network node, sending data associated with the signatures that do not match to the remote network node for incorporation within a current remote snapshot.