System and method for backing up data
First Claim
1. A method for backing up a data block having a data block location, the method comprising:
- comparing a digital fingerprint of a data block in a data block location in a first storage device to digital fingerprints stored in a database in a second storage separate from the first storage device, by at least one processing device; and
if the digital fingerprint does not match one of the stored digital fingerprints, backing up the data block in a third storage separate from the first storage device and adding to the database the digital fingerprint and the data block location, by the at least one processing device.
0 Assignments
0 Petitions
Accused Products
Abstract
A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints and, if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be backed up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
-
Citations
30 Claims
-
1. A method for backing up a data block having a data block location, the method comprising:
-
comparing a digital fingerprint of a data block in a data block location in a first storage device to digital fingerprints stored in a database in a second storage separate from the first storage device, by at least one processing device; and if the digital fingerprint does not match one of the stored digital fingerprints, backing up the data block in a third storage separate from the first storage device and adding to the database the digital fingerprint and the data block location, by the at least one processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for backing up a data block having a data block location in a first storage device, the system comprising:
-
a backup server; second storage separate from the first storage device, the second storage defining a digital fingerprint database; the backup server being configured to; compare a digital fingerprint of a data block in the first storage device to digital fingerprints in the digital fingerprint database; back up the data block in third storage, if the digital fingerprint of the data block does not match any digital fingerprint stored in the database; and add to the database the digital fingerprint and the data block location in the first storage device, if the digital fingerprint does not match any digital fingerprint stored in the database. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system for backing up a data block having a data block location, the system comprising:
-
means for comparing a digital fingerprint of a data block in a first storage device to digital fingerprints of backed up data blocks stored in a database in a second storage device; and means for backing up the data block and adding to the database the digital fingerprint and the data block location in a third storage separate from the first storage device, if the digital fingerprint does not match one of the stored digital fingerprints.
-
-
23. A system for backing up a data block, comprising
first storage to store a digital fingerprint database; -
at least one processing device having access to the digital fingerprint database, the at least one processing device being configured to; compare a digital fingerprint of a data block stored in second storage separate from the first storage, to digital fingerprints stored in the digital fingerprint database; back up the data block to third storage separate from the second storage; and if the digital fingerprint of the data block does not match a digital fingerprint in the digital fingerprint database; add the fingerprint to the digital fingerprint database; and add a location of the data block in the second storage to the digital fingerprint database. - View Dependent Claims (24, 25, 26, 30)
-
-
27. The system of 23, further comprising:
-
a backup server; wherein at least one first processing device is part of the backup server. - View Dependent Claims (28, 29)
-
Specification