Patent ID: 8341117

Claim:
A system for managing data, said system comprising: a processor, said processor configured to perform: a) receiving data from a data source; b) generating a data block from the data; c) generating a data block checksum of the data block; d) comparing the data block checksum to a collection of stored data block checksums of a collection of stored data blocks, wherein the data source comprises a plurality of files and a stored data block is shared by more than one file of the plurality of files; e) determining if the data block checksum is the same as a stored data block checksum of the collection of stored data block checksums; f) if the data block checksum is the same as the stored data block checksum, generating a data block message digest; g) comparing the data block message digest to a collection of stored data block message digests of the collection of stored data blocks; h) determining if the data block message digest is the same as a stored data block message digest of the collection of stored data block message digests; i) if the data block message digest is the same as the stored data block message digest, storing in a backup file a pointer to a stored data block of the collection of stored data blocks without adding the data block to the collection of stored data blocks; and j) if the data block checksum is not the same as any stored data block checksum or if the data block message digest is not the same as any stored data block message digest, storing the data block in the collection of stored data blocks and storing in a backup file a pointer to the data block and a data block fingerprint of the data block, wherein the collection of stored data blocks comprises a data block that was not generated from a previous version of the data received in step a.