Patent ID: 8639663

Claim:
A method comprising: setting a predetermined number of passes over which an already existing and previously created data object is to be deduplicated; setting a current pass number to one, by a computing device; for each pass, starting a transaction, by the computing device performing a process; where the current pass number is greater than one, retrieving an offset into the data object, by the computing device; where the current pass number is one, setting the offset into the data object to reference a beginning of the data object, by the computing device; deduplicating a portion of the data object beginning at the offset into the data object until one of a plurality of end-of-transaction criteria has been satisfied, by the computing device; ending the transaction to commit deduplication of the portion of the data object, by the computing device; incrementing the current pass number, by the computing device; where the current pass number is less than the predetermined number of passes, moving the offset into the data object just past where the data object has already been deduplicated, by the computing device.