System and method for backing up data
First Claim
1. 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, the source computer being configured to generate a digital fingerprint of a data block in a data block location in storage associated with the computer, using a substantially collision-free algorithm;
wherein the backup server is configured to;
compare the digital fingerprint to digital fingerprints stored in the database; and
;
if the digital fingerprint does not match one of the stored digital fingerprints, back up the data block and add to the database the digital fingerprint and the data block location in association with the added digital fingerprint; and
if the digital fingerprint matches one of the stored digital fingerprint, add to the database the data block location in association with the stored digital fingerprint.
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.
26 Citations
15 Claims
-
1. 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, the source computer being configured to generate a digital fingerprint of a data block in a data block location in storage associated with the computer, using a substantially collision-free algorithm; wherein the backup server is configured to; compare the digital fingerprint to digital fingerprints stored in the database; and
;if the digital fingerprint does not match one of the stored digital fingerprints, back up the data block and add to the database the digital fingerprint and the data block location in association with the added digital fingerprint; and if the digital fingerprint matches one of the stored digital fingerprint, add to the database the data block location in association with the stored digital fingerprint. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for detecting file tampering on a computer, comprising:
-
generating, by a processing device, first digital fingerprints for each of a plurality of files on the computer using a substantially collision-free algorithm at a first time; generating, by the processing device, a second digital fingerprint for one of the plurality of files on the computer using the substantially collision-free algorithm at a second time after the first time; comparing, by the processing device, the second digital fingerprint with the first digital fingerprint of the one of the plurality of files generated at the first time; and determining, by the processing device, whether tampering exists on the one file based on the comparison. - View Dependent Claims (7, 8, 9)
-
-
10. A method for detecting a computer virus on a computer, comprising:
-
generating, by a first processing device, a first digital fingerprint of a computer virus using a substantially collision-free algorithm; generating, by a second processing device, second digital fingerprints for each of a plurality of files on the computer using the substantially collision-free algorithm; comparing, by the second processing device, the second digital fingerprints of the computer files with the first digital fingerprint of the computer virus; and determining, by the second processing device, whether the computer virus exists on the computer based on the comparison. - View Dependent Claims (11, 12)
-
-
13. A method for backing up data, comprising:
-
generating, by a computer using a substantially collision free algorithm, a digital fingerprint of a data block stored in a data block location in a storage associated with the computer; sending, by the computer across a communication path, the digital fingerprint to a backup server; comparing, by the backup server, the digital fingerprint to digital fingerprints stored in a database; backing up the data block and adding to the database the digital fingerprint and the data block location in association with the added digital fingerprint, if the digital fingerprint does not match one of the stored digital fingerprints; and adding to the database the data block location in association with the stored digital fingerprint, if the digital fingerprint matches one of the stored digital fingerprints. - View Dependent Claims (14, 15)
-
Specification