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:
- generating a digital fingerprint for the data block using a substantially collision-free algorithm;
comparing the digital fingerprint to digital fingerprints stored in a database; and
if the digital fingerprint does not match one of the stored digital fingerprints, backing up the data block and adding to the database the digital fingerprint and the data block location.
4 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.
149 Citations
22 Claims
-
1. A method for backing up a data block having a data block location, the method comprising:
-
generating a digital fingerprint for the data block using a substantially collision-free algorithm;
comparing the digital fingerprint to digital fingerprints stored in a database; and
if the digital fingerprint does not match one of the stored digital fingerprints, backing up the data block and adding to the database the digital fingerprint and the data block location. - View Dependent Claims (2, 3, 4)
-
-
5. A system for backing up a data block comprising:
-
a backup server having access to a digital fingerprint database; and
a source computer connected to the backup server via a communication path, wherein the source computer generates a digital fingerprint of the data block using a substantially collision-free algorithm, and the backup server backs up the data block if the digital fingerprint does not match any digital fingerprint stored in the database. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for auditing license restrictions of a computer program in an enterprise computing environment, comprising:
-
generating a digital fingerprint of at least one file in the computer program using a substantially collision-free algorithm;
generating a digital fingerprint for each file on each computer in the enterprise using the substantially collision-free algorithm;
comparing the digital fingerprints from the enterprise files with the digital fingerprint of the computer program file; and
comparing the number of fingerprint matches to the number of licenses allowed for the computer program. - View Dependent Claims (15)
-
-
16. A method for inventorying a computer program in an enterprise computing environment, comprising:
-
generating a digital fingerprint of at least one file in the computer program using a substantially collision-free algorithm;
generating a digital fingerprint for each file on each computer in the enterprise using the substantially collision-free algorithm;
comparing the digital fingerprints from the enterprise files with the digital fingerprint of the computer program file; and
counting the number of fingerprint matches. - View Dependent Claims (17)
-
-
18. A method for detecting file tampering on a computer, comprising:
-
generating a digital fingerprint for each file on the computer using a substantially collision-free algorithm; and
comparing the digital fingerprints of the computer files with digital fingerprints of the computer files generated when the files were previously saved, wherein tampering exists on a file if the digital fingerprint of that file differs from the digital fingerprint generated when that file was previously saved. - View Dependent Claims (19, 20)
-
-
21. A method for detecting a computer virus on a computer, comprising:
-
generating a digital fingerprint of the computer virus using a substantially collision-free algorithm;
generating a digital fingerprint for each file on the computer using the substantially collision-free algorithm; and
comparing the digital fingerprints of the computer files with the digital fingerprint of the computer virus, wherein the computer virus exists on the computer if any digital fingerprint of the computer files matches the digital fingerprint of the computer virus. - View Dependent Claims (22)
-
Specification