IP Library Granted Patent US 9,507,670
Granted Patent B2
US 9,507,670 · App. 13/159,229 · Granted Nov 29, 2016

Selective processing of file system objects for image level backups

Inventors: Ratmir Timashev (Baar, CH); Anton Gostev (Saint-Petersburg, RU)
Assignee: Veeam Software AG
G06F11/1451
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 9,507,670
App. No.
13/159,229
Granted
Nov 29, 2016
Kind
B2
Abstract

Systems, methods, and computer program products are provided for reducing the size of image level backups. An example method receives backup parameters identifying a physical or Virtual Machine (VM) to backup and at least one file system object to include in the backup. The method connects to production storage corresponding to the selected physical or virtual machine and obtains access to data stored in disk corresponding to the selected file system object(s). The method fetches file allocation table (FAT) blocks from the disk and parses contents of the FAT blocks to determine if the disk blocks correspond to the selected file system object(s). The method creates a backup disk image FAT comprising blocks corresponding to the selected file system object(s). The method creates a reconstructed disk image FAT blocks corresponding to the backup FAT and disk image data blocks belonging to the selected file system object(s) and all other disk image data blocks are saved as zero blocks. A reconstructed disc image is compressed and stored in a backup file on backup storage, or replicated (copied) to another storage intact.

Claims (56)

1. A system for selective processing of file system objects for an image level backup, comprising:

a backup engine including:

a receiving module configured to receive backup parameters for the image level backup, wherein the backup parameters include a selection of a machine to backup, and a selection of at least one file system object to include in the image level backup, wherein the selection of the at least one file system object is a directory name, a file name or a file mask;

a connection module configured to attach to a source disk corresponding to the selected at least one file system object;

a file allocation table (FAT) processing module configured to:

fetch a FAT for the source disk;

search the fetched FAT to determine a selected set of data blocks of the source disk such that the fetched FAT indicates that the selected set of data blocks correspond to the selected at least one file system object; and

before completing the image level backup, create a backup FAT from the fetched FAT, wherein the backup FAT is different from the fetched FAT such that the backup FAT comprises only records corresponding to the selected at least one file system object; and

a block processing module configured to:

read the determined selected set of data blocks from the source disk, wherein the source disk includes at least one file system object not selected to include in the image level backup; and

save the backup FAT and the determined selected set of data blocks to a reconstructed disk image.

2. The system of claim 1 , wherein the backup parameters include a selection of at least one file system object to exclude from the image level backup, and wherein the FAT processing module is further configured to determine one or more data blocks corresponding to the excluded at least one file system object.

3. The system of claim 2 , wherein the block processing module is further configured to skip processing of the data blocks corresponding to the excluded at least one file system object.

4. The system of claim 2 , wherein the block processing module is further configured to write zeroed out data blocks to the reconstructed disk image instead of the data blocks corresponding to the excluded at least one file system object.

5. The system of claim 1 , wherein the block processing module is further configured to exclude file system objects from the image level backup which have been marked for deletion.

6. The system of claim 1 , further comprising a storage module configured to save the reconstructed disk image as the image level backup in a backup file storage.

7. The system of claim 6 , wherein the storage module is further configured to:

perform content translation of blocks of the reconstructed disk image; and

save the content translated blocks of the reconstructed disk image as the image level backup.

8. The system of claim 1 , wherein the connection module is further configured to attach to the source disk directly in the selected machine.

9. The system of claim 1 , wherein the connection module is further configured to attach to the source disk through an agent in the selected machine.

10. The system of claim 1 , wherein the receiving module is further configured to programmatically determine, based upon a selection of one or more file system objects to exclude from the image level backup, the selection of the at least one file system object to include in the image level backup.

11. A method for object-selective processing of file system objects for an image level backup, comprising:

receiving backup parameters for an image level backup, wherein the backup parameters include a selection of a machine to backup and a selection of at least one file system object to include in the image level backup, wherein the selection of the at least one file system object is a directory name, a file name or a file mask;

attaching to a source disk corresponding to the selected at least one file system object;

fetching a file allocation table (FAT) for the source disk;

searching the fetched FAT to determine a selected set of data blocks of the source disk such that the fetched FAT indicates that the selected set of data blocks correspond to the selected at least one file system object;

before completing the image level backup, creating a backup FAT from the fetched FAT, wherein the backup FAT is different from the fetched FAT such that the backup FAT comprises only records corresponding to the selected at least one file system object;

reading the determined selected set of data blocks from the source disk, wherein the source disk includes at least one file system object not selected to include in the image level backup; and

saving the backup FAT and the determined selected set of data blocks to a reconstructed disk image.

12. The method of claim 11 , further comprising saving the reconstructed disk image as the image level backup in a backup file storage.

13. The method of claim 11 , further comprising replicating the reconstructed disk image to a replica machine.

14. The method of claim 11 , further comprising copying the reconstructed disk image to a remote backup file storage device or appliance.

15. The method of claim 11 , further comprising programmatically determining, based upon a selection of one or more file system objects to exclude from the image level backup, the selection of the at least one file system object to include in the image level backup.

16. A non-transitory computer-readable medium having instructions stored thereon for selective processing of file system objects for an image level backup, the instructions comprising:

instructions for receiving backup parameters for an image level backup, wherein the backup parameters include a selection of a machine to backup and a selection of at least one file system object to include in the image level backup, wherein the selection of the at least one file system object is a directory name, a file name or a file mask;

instructions for attaching to a source disk corresponding to the selected at least one file system object;

instructions for fetching a file allocation table (FAT) for the source disk;

instructions for searching the fetched FAT to determine a selected set of data blocks of the source disk such that the fetched FAT indicates that the selected set of data blocks correspond to the selected at least one file system object;

instructions for creating a backup FAT from the fetched FAT before completing the image level backup, wherein the backup FAT is different from the fetched FAT such that the backup FAT comprises only records corresponding to the selected at least one file system object;

instructions for reading the determined selected set of data blocks from the source disk, wherein the source disk includes at least one file system object not selected to include in the image level backup; and

instructions for saving the backup FAT and the determined selected set of data blocks to a reconstructed virtual disk image.

17. The non-transitory computer-readable medium of claim 16 , further comprising instructions to exclude file system objects from the image level backup which have been marked for deletion.

18. The non-transitory computer-readable medium of claim 17 , further comprising instructions to exclude data blocks from the image level backup which correspond to deleted data.

19. The non-transitory computer-readable medium of claim 16 , further comprising:

instructions to save the reconstructed disk image as the image level backup on a backup storage; and

instructions to compress the image level backup.

20. The non-transitory computer-readable medium of claim 16 , wherein the instructions for receiving backup parameters comprise:

instructions to receive the backup parameters from a user interface; and

instructions to save the received backup parameters as machine processing settings.

21. The non-transitory computer-readable medium of claim 16 , wherein the backup parameters include a selection of at least one file system object to exclude from the image level backup, and wherein the instructions further comprise: instructions to determine one or more data blocks corresponding to the excluded at least one file system object.

22. The non-transitory computer-readable medium of claim 16 , further comprising instructions for programmatically determining, based upon a selection of one or more file system objects to exclude from the image level backup, the selection of the at least one file system object to include in the image level backup.

23. The system of claim 1 , wherein the FAT processing module is configured to create the backup FAT from the fetched FAT by:

before completing the image level backup;

making a copy of the fetched FAT into the backup FAT; and

modifying the backup FAT to remove pointers to file system objects not included in the backup parameters.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2020
From: VEEAM SOFTWARE GROUP GMBH
To: JPMORGAN CHASE N.A.
Reel/Frame 052790/0483 →
CHANGE OF NAME Recorded May 18, 2020
From: VEEAM SOFTWARE AG
To: VEEAM SOFTWARE GROUP GMBH
Reel/Frame 052690/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2012
From: TIMASHEV, RATMIR; GOSTEV, ANTON
To: VEEAM SOFTWARE AG
Reel/Frame 028194/0015 →
Continuity (2)
Provisional Application 61354529 · Jun 14, 2010
Related Publication 20110307657A1 · Dec 15, 2011