Patent ID: 6941328

Claim:
A method of copying data, comprising operations of: receiving a request to copy a body of source data specified target storage; reviewing contents of the source data to identify data objects therein; for each identified data object, performing copy operations comprising; consulting prescribed metadata records to determine whether a copy of the identified data object already exists in the target storage; only if a copy does not already exist, performing operations comprising; applying prescribed criteria to determine whether the identified data object qualifies for copying; forming a copy of the identified data object in target storage, comprising; if the data object qualifies for copying, writing the data object to the target storage; if the data object does not qualify for copying, instead of writing the data object writing a predetermined bit pattern to the specified target storage; responsive to completion of the forming operation, updating the metadata records to indicate that the data object exists in the specified target storage regardless of whether the data object was replaced with a predetermined bit pattern rather than being physically written to the specified target storage; the reviewing operation comprising reviewing contents of the source data to identify individual data objects therein, and also reviewing any aggregate data objects in the source, data to identify all constituent data objects thereof; where the applying and forming operations are performed separately for each data object whether in individual or aggregated form; where the operation of updating the metadata records comprises, for each data object comprising an individual data object, preparing a record indicating that the data object exists in the specified target storage regardless of whether the data object was replaced with the predetermined bit pattern rather than being written to the specified target storage; for each data object comprising an aggregated data object, preparing a record indicating that the data object exists in the specified target storage regardless of whether any constituent data objects were replaced with the predetermined bit pattern rather than being written to the specified target storage.