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 g
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.
대표청구항▼
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
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; andif 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. 2. The method of claim 1, comprising: if the digital fingerprint matches one of the stored digital fingerprints, updating the database to associate the digital fingerprint with the data block location. 3. The method of claim 1, comprising: if the digital fingerprint matches one of the stored fingerprints, updating a set of recorded locations stored in association with the one stored digital fingerprint to include the data block location, each recorded location representing a respective location of the data block. 4. The method of claim 1, comprising: generating the digital fingerprint by the at least one processing device. 5. The method of claim 4, comprising: generating the digital fingerprint by a source computer including at least one processing device. 6. The method of claim 4, comprising: generating the digital fingerprint by a backup server. 7. The method of claim 6, comprising: generating the digital fingerprint by the backup server by a substantially collision free algorithm. 8. The method of claim 1, comprising generating the digital fingerprint by a substantially collision free algorithm. 9. The method of claim 8, wherein the algorithm comprises a hash function. 10. The method of claim 9, wherein the hash function is MD5 or SHA-1. 11. The method of claim 1, wherein the second storage and third storage are part of the same storage device. 12. The method of claim 1, wherein the processing device is part of a backup server. 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; andadd 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. 14. The system according to claim 13, wherein the data block has a location in the first storage device and if the digital fingerprint matches a digital fingerprint stored in the database, the backup server updates the database to associate the digital fingerprint with the data block location. 15. The system according to claim 13, wherein the second storage is connected to the backup server. 16. The system according to claim 13, wherein the third storage is connected to the backup server. 17. The system of claim 13, wherein the second storage and the third storage are on the same storage device. 18. The system of claim 13, wherein the backup server is configured to generate the digital fingerprint by a substantially collision free algorithm. 19. The system of claim 13, further comprising: a source computer coupled to the backup computer via a communication path, wherein the source computer is configured to generate the digital fingerprint of the data block by a substantially collision free algorithm. 20. The system according to claim 19, wherein: the communication path comprises a network. 21. The system according to claim 20, wherein the network comprises a local area network, a wide area network, or the Internet. 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; andmeans 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; andif 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; andadd a location of the data block in the second storage to the digital fingerprint database. 24. The system of claim 23, further comprising at least one second processing device configured to generate the digital fingerprint of the data block by a substantially collision free algorithm. 25. The system of claim 23, further comprising: a source computer coupled to at least one processing device via a communication path;wherein:the second storage is associated with the source computer; andthe second processing device is part of the source computer. 26. The system of claim 23, wherein the second storage comprises local storage of the source computer. 27. The system of 23, further comprising: a backup server;wherein at least one first processing device is part of the backup server. 28. The system of claim 27, wherein the at least one first processing device generates the digital fingerprint via an agent that accesses the second storage device via a communication path. 29. The system of claim 28, wherein the communication path comprises a network. 30. The system of claim 23, wherein the first storage device and the third storage device are the same.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (18)
Bitner Haim,ILX ; Ish-Shalom Ariel J.,ILX, Arrangement for filtering data item updates to reduce the number of updates to a data item to be stored on mass data storage facility.
Farber David A. ; Lachman Ronald D., Data processing system using substantially unique identifiers to identify data items, whereby identical data items hav.
Margolus,Norman H.; Knight, Jr.,Thomas F.; Floyd,Jered J.; Hartman,Sam; Homsy, II,George E., Data repository and method for promoting network storage of data.
Hubis Walter A. ; Otterness Noel S., Method and apparatus for providing a disc drive snapshot backup while allowing normal drive read, write, and buffering operations.
Kedem Nadav,ILX ; Bitner Haim,ILX, System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility.
Nadav Kedem IL; Haim Bitner IL, System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.