IP Library Granted Patent US 7,831,789
Granted Patent B1
US 7,831,789 · App. 11/686,454 · Granted Nov 9, 2010

Method and system for fast incremental backup using comparison of descriptors

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,831,789
App. No.
11/686,454
Granted
Nov 9, 2010
Kind
B1
Abstract

A method, system computer program product recorded on a computer readable medium, for fast incremental backup of a storage device includes selecting an area of the data storage device for backup; creating the bitmap of data storage device; reading the selected area of the data storage device; converting data read from the data storage device into a usable format for the comparison of descriptors; reading descriptors of logical storage units of the selected area; discarding selected data access attributes of the descriptors; generating hash values for the descriptors; comparing the hash values of the descriptors of the logical storage units of the selected area with the hash values of the descriptors of previously archived logical storage units; for physical storage units related to logical storage units of the selected area whose hash values of the descriptors are identical to the hash values of the descriptors of the archived logical storage units, checking if these physical storage units need to be backed up; updating the bitmap of data storage device; and backing up contents of the physical storage units marked in the backup. The logical storage units can be files. The descriptors can be compared on a physical storage unit basis.

Claims (60)

1. A method for combining file-level and block-level backups for a fast incremental backup of a storage device, the method comprising:

(a) creating a bitmap of blocks of the storage device with all blocks that require backing up being marked in the bitmap;

(b) extracting descriptors of the files and directories from a descriptors area of the storage device;

(c) discarding at least some of the descriptors from a set of descriptors associated with each file and then generating a common hash value of a resulting set of descriptors;

(d) recognizing identical hash values related to a prior backup of the storage device and to a current state of the storage device;

(e) checking coincidence of blocks that form a single file, wherein the descriptors of the files have identical hash values, and, for at least some of the blocks that form the single file, comparing contents of the blocks;

(f) unmarking, in the bitmap, the coincident blocks;

(g) backing up contents of the blocks that are marked in the bitmap; and

(h) storing pointers for coincident blocks, wherein the pointers point to blocks from the prior backup.

2. The method of claim 1 , wherein the prior backup is a backup of the storage device at a previous point in time.

3. The method of claim 1 , wherein the prior backup is a backup of a different storage device.

4. The method of claim 1 , wherein the prior backup includes multiple backups of the storage device.

5. The method of claim 1 , wherein the discarding includes resetting selected data access attributes of the descriptors.

6. The method of claim 1 , wherein the discarding includes resetting selected attributes of the descriptors.

7. The method of claim 1 , wherein the descriptors are MFT entries.

8. The method of claim 1 , wherein the descriptors are inodes entries.

9. The method of claim 1 , wherein the descriptors are directory entries and numbers of all clusters, according to which the directory entries are ordered.

10. The method of claim 1 , wherein step (c) further comprises generating hash values for blocks and comparing the hash values of the blocks of the storage device with the hash values of previously archived blocks, that have the same addresses.

11. The method of claim 1 , wherein step (e) further comprises bit-wise comparison of the content of the blocks.

12. The method of claim 1 , wherein step (b) further comprises reading the descriptors from a disk area of the data storage device.

13. The method of claim 1 , further comprising elimination of information unnecessary for the descriptors comparison from the descriptors area.

14. The method of claim 1 , wherein the descriptors include data access attributes of any of “Update sequence” in MFT file record header and time read in “$STANDARD_INFORMATION” from attributes of MFT file record.

15. The method of claim 1 , wherein MFT contents from a start of a file record to an end marker are converted into hash values.

16. The method of claim 1 , wherein the descriptors include data access attribute “last access date” in operating systems with FAT file system.

17. The method of claim 1 , wherein the descriptors include data access attribute “access time” in operating system with Ext2/Ext3 file system.

18. The method of claim 1 , wherein inodes contents, indirect blocks, double indirect blocks and triple indirect blocks with file data are converted into hash values.

19. A method for combining file-level and block-level backups for a fast incremental backup, the method comprising:

(a) creating a bitmap of blocks of a first storage device with all blocks that require backing up being marked in the bitmap;

(b) extracting descriptors of the files and directories corresponding to blocks of the first storage device and a second storage device;

(c) generating a common hash value of the descriptors;

(d) recognizing identical hash values related to a backup of the second storage device and to a current state of the first storage device;

(e) checking coincidence of blocks that form a single file, wherein the descriptors have identical hash values, and, for at least some of the blocks that form the single file, comparing contents of the blocks;

(f) unmarking, in the bitmap, the coincident blocks;

(g) backing up contents of the units blocks that are marked in the bitmap; and

(h) storing pointers for coincident blocks, wherein the pointers point to blocks from the backup of the second storage device.

20. The method of claim 19 , further comprising discarding at least some of the descriptors prior to the generating step.

21. A system for combining file-level and block-level backups for a fast incremental backup of a storage device, the system comprising:

(a) a bitmap of blocks of the storage device with all blocks that require backing up being marked in the bitmap;

(b) a plurality of descriptors of the files and directories stored in a descriptors area of the storage device;

(c) wherein at least some of the descriptors from a set of descriptors associated with each file are discarded and then a common hash value of a resulting set of descriptors is generated;

(d) a set of identical hash values related to a prior backup of the storage device and to a current state of the storage device;

(e) means for checking coincidence of blocks that form a single file, wherein the descriptors have identical hash values, and, for at least some of the blocks that form the single file, comparing contents of the blocks;

(f) wherein, in the bitmap, the coincident blocks are unmarked;

(g) a backup of contents of the blocks that are marked in the bitmap; and

(h) a plurality of pointers for coincident blocks, wherein the pointers point to blocks from the prior backup.

22. The system of claim 21 , wherein the discarding comprises resetting selected data access attributes of the descriptors.

23. The system of claim 21 , wherein the discarding includes resetting selected attributes of the descriptors.

24. The system of claim 21 , wherein the common hash value comprises hash values for blocks and comparing the hash values of the blocks of the storage device with the hash values of previously archived blocks, that have the same addresses.

25. The system of claim 21 , wherein the descriptors include data access attributes, including any of the “Update sequence” in MFT file record header and time read in “$STANDARD_INFORMATION” from attributes of MFT file record.

26. The system of claim 21 , wherein MFT contents from a start of a file record to an end marker are converted into hash values.

27. The system of claim 21 , wherein inodes contents, indirect blocks, double indirect blocks and triple indirect blocks with file data are converted into hash values.

28. A system for combining file-level and block-level backups for a fast incremental backup, comprising:

a main storage that includes blocks and files;

a bitmap of the blocks with all blocks that require backing up being marked in the bitmap;

a block-based archive of a previous state of the main storage; and

a plurality of descriptors of the files,

wherein for those files whose control sum values of the descriptors are not identical to control sum values of the descriptors of the previously archived files, an incremental block-based backup of corresponding blocks is performed, wherein for at least some of the blocks that form the single file, contents of the blocks are compared to determine if these blocks need to be backed up and unmarking, in the bitmap, coincident blocks that correspond to the archived logical storage units with coincident descriptors and backing up contents of the blocks that are marked in the bitmap.

29. The method of claim 1 , wherein, for those files that contain additional blocks, the bitmap only resets those bits that correspond to the additional blocks.

30. The method of claim 1 , wherein, for those files that contain additional metadata, but no new contents, the bitmap only resets those bits that correspond to the new metadata.

31. The method of claim 1 , further comprising, for those blocks whose hashes are not identical, comparing the blocks on a cluster by cluster basis, a cluster being a group of blocks.

Assignments (12)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
PATENT SECURITY AGREEMENT Recorded Feb 27, 2014
From: ACRONIS INTERNATIONAL GMBH
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 032366/0328 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2014
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: ACRONIS INC.; ACRONIS, INC.; ACRONIS INTERNATIONAL GMBH
Reel/Frame 032296/0397 →
SECURITY AGREEMENT Recorded Apr 20, 2012
From: ACRONIS INTERNATIONAL GMBH
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 028081/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC.
To: ACRONIS INC. LTD.
Reel/Frame 027898/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC. LTD.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 027898/0795 →
SECURITY AGREEMENT Recorded Jun 20, 2011
From: ACRONIS INC.
To: SILICON VALLEY BANK
Reel/Frame 026465/0559 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL LIEN Recorded Mar 15, 2011
From: CAPITALSOURCE FINANCE LLC
To: ACRONIS, INC.; ACRONIS INC.; ACRONIS INTERNATIONAL GMBH
Reel/Frame 025956/0576 →
SECURITY AGREEMENT Recorded Nov 13, 2007
From: ACRONIS, INC.; ACRONIS INTERNATIONAL GMBH; ACRONIS INC.
To: CAPITALSOURCE FINANCE LLC
Reel/Frame 020105/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2007
From: TSYPLIAEV, MAXIM V.; LYADVINSKY, MAXIM V.; TORMASOV, ALEXANDER G.; BELOUSSOV, SERGUEI M.; PER, YURI S.
To: ACRONIS INC.
Reel/Frame 019016/0242 →