IP Library Granted Patent US 10,157,103
Granted Patent B2
US 10,157,103 · App. 14/918,453 · Granted Dec 18, 2018

Efficient processing of file system objects for image level backups

Inventors: Anton Gostev (Saint-Petersburg, RU); Alexander Baranov (Saint-Petersburg, RU)
Assignee: Veeam Software AG
G06F11/1451G06F11/1435G06F2201/80
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 10,157,103
App. No.
14/918,453
Granted
Dec 18, 2018
Kind
B2
Abstract

Systems, methods, and computer program products are provided for selective processing of file system objects for an image level backup. An example method receives backup parameters for an image level backup. The backup parameters include a selection of at least one file system object to include. The method attaches to a source disk as a block device. The source disk corresponds to the selected at least one file system object, and a file system includes a file allocation table (FAT). The method determines file system objects of the source disk to be excluded from the image level backup. The method issues file deletion API calls to initiate deletion of the determined file system objects. The method stores FAT content change caused by the issued file deletion API calls. The method creates a reconstructed disk image from the source disk based on the stored FAT content change.

Claims (66)

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

receiving, by at least one processor, a backup parameter for an image level backup, wherein the backup parameter comprises a selection of a file system object to be included in the image level backup;

by the at least one processor, attaching to a source disk using block level access, wherein the source disk comprises the selected file system object and a file system that comprises a file allocation table (FAT);

determining, by the at least one processor, another file system object of the source disk is to be excluded for the image level backup based on the selected file system object;

issuing, by the at least one processor, a file deletion application programming interface (API) call to the source disk to initiate deletion of the determined another file system object from the source disk;

intercepting, by the at least one processor, a write request to the FAT on the source disk based on the file deletion API call;

storing, by the at least one processor, a FAT content change based on the intercepted write request; and

creating, by the at least one processor, a reconstructed disk image from the source disk based on the stored FAT content change.

2. The method of claim 1 , further comprising initializing an input/output (I/O) interception module, and wherein the storing the FAT content change comprises:

storing the FAT content change in a random access memory based on the intercepted write request.

3. The method of claim 1 , wherein the determining comprises:

determining that the another file system object of the source disk is different than the selected file system object.

4. The method of claim 3 , further comprising:

after completing; the file deletion API call, identifying unused disk blocks of the source disk by analyzing the FAT in the source disk and the FAT content change.

5. The method of claim 4 , further comprising:

reading an unchanged portion of the FAT in the source disk and a changed portion from the FAT content change.

6. The method of claim 4 , wherein the creating comprises:

determining a disk block is tracked as a modified disk block based on the FAT content change; and

storing block content from the FAT content change associated with the disk block to a corresponding disk block in the reconstructed disk image.

7. The method of claim 4 , wherein the creating comprises:

determining a disk block is an unused disk block in the identified unused disk blocks; and

storing zeros to a corresponding disk block in the reconstructed disk image.

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

a memory; and

at least one processor coupled to the memory and configured to:

receive a backup parameter for an image level backup, wherein the backup parameter comprises a selection of a file system object to be included in the image level backup;

attach to a source disk using block level access, wherein the source disk comprises the selected file system object and a file system that comprises a file allocation table (FAT);

determine another file system object of the source disk is to be excluded for the image level backup based on the selected file system object;

issue a file deletion application programming interface (API) call to the attached source disk to initiate deletion of the determined another file system object from the source disk;

intercept a write request to the FAT on the attached source disk based on the file deletion API call;

store a FAT content change based on the intercepted write request; and

create a reconstructed disk image from the source disk based on the stored FAT content change.

9. The system of claim 8 , wherein the at least one processor is further configured to initialize an input/output (I/O) interception module, and to store the FAT content change, the at least one processor is further configured to:

store the FAT content change in the memory based on the intercepted write request.

10. The system of claim 8 , wherein, to determine the another file system object of the source disk is to be excluded from the image level backup, the at least one processor is further configured to:

determine that the another file system object of the source disk is different than the selected file system object.

11. The system of claim 10 , wherein the at least one processor is further configured to:

after completing the file deletion API call, identify unused disk blocks of the source disk by analyzing the FAT in the source disk and the FAT content change.

12. The system of claim 11 , wherein the at least one processor is further configured to:

read an unchanged portion of the FAT in the source disk and a changed portion from the FAT content change.

13. The system of claim 11 , wherein, to create the reconstructed disk image, the at least one processor is further configured to:

determine a disk block is tracked as a modified disk block based on the FAT content change: and

store block content from the FAT content change associated with the disk block to a corresponding disk block in the reconstructed disk image.

14. The system of claim 13 , wherein, to create the reconstructed disk image, the at least one processor is further configured to:

determine a disk block is an unused disk block in the identified unused disk blocks; and store zeros to a corresponding disk block in the reconstructed disk image.

15. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations for selective processing of file system objects for an image level backup, comprising:

receiving a backup parameter for an image level backup, wherein the backup parameter comprises a selection of a file system object to be included in the image level backup;

attaching to a source disk using block level access, wherein the source disk comprises the selected file system object and a file system that comprises a file allocation table (FAT);

determining another file system object of the source disk is to be excluded for the image level backup based on the selected file system object;

issuing a file deletion application programming interface (API) to the attached source disk to initiate deletion of the determined another file system object from the source disk;

intercepting a write request to the FAT on the source disk based on the file deletion API call;

storing a FAT content change based on the intercepted write request; and

creating a reconstructed disk image from the source disk based on the stored FAT content change.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise initializing an input/output (I/O) interception module, and the storing the FAT content change comprises:

storing the FAT content change in a random access memory based on the intercepted write request.

17. The non-transitory computer-readable medium of claim 15 , wherein the determining comprises:

determining that the another file system object of the source disk is different than the selected file system object.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise:

after completing the file deletion API call, identifying unused disk blocks of the source disk by analyzing the FAT in the source disk and the FAT content change.

19. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

reading an unchanged portion of the FAT in the source disk and a changed portion from the FAT content change.

20. The non-transitory computer-readable medium of claim 18 , wherein the creating comprises:

determining a disk block is tracked as a modified disk block based on the FAT content change; and

storing, block content from the FAT content change associated with the disk block to a corresponding disk block in the reconstructed disk image.

21. The non-transitory computer-readable medium of claim 18 , wherein the creating comprises:

determining a disk block is an unused disk block in the identified unused disk blocks; and storing zeros to a corresponding disk block in the reconstructed disk image.

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 Jun 9, 2017
From: GOSTEV, ANTON; BARANOV, ALEXANDER
To: VEEAM SOFTWARE AG
Reel/Frame 042755/0575 →
Continuity (1)
Related Publication 20170109239A1 · Apr 20, 2017