IP Library Granted Patent US 11,789,823
Granted Patent B2
US 11,789,823 · App. 17/380,523 · Granted Oct 17, 2023

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/1451G06F11/1464G06F16/148G06F16/1844G06F2201/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 11,789,823
App. No.
17/380,523
Granted
Oct 17, 2023
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 (58)

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 a first file system object to include in and a second file system object to exclude from the image level backup, wherein the second file system object is marked for deletion; and

a connection module configured to connect to production storage corresponding to the selected machine, wherein a connection module is further configured to obtain data from a source disk corresponding to a selected at least one file system object, and wherein the source disk is in the production storage;

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

fetch a selected set of data blocks from the source disk, wherein the selected set of data blocks correspond to the first file system object;

prevent fetching a set of data blocks corresponding to the second file system object;

generate empty content corresponding to the set of blocks corresponding to the second file system object; and

write the selected set of data blocks and a plurality of zeroed data blocks corresponding to the empty content to a backup FAT; and

a block processing module configured to:

create a reconstructed disk image based on the selected set of data blocks in the backup FAT and by skipping the plurality of zeroed data blocks; and

store a compressed version of the reconstructed disk image as the image level backup.

2. The system of claim 1 , wherein the backup engine is further configured to:

replicate the reconstructed disk image to a replica virtual machine, wherein the reconstructed disk image is configured to perform a restoration of the replica virtual machine.

3. The system of claim 1 , wherein the second file system object is a directory and the second file system object further includes any file system objects within the directory.

4. The system of claim 1 , the block processing module is further configured to:

determine a previously processed FAT block in the selected set of data blocks; and

determine whether the previously processed FAT block is a last block of the source disk.

5. The system of claim 4 , wherein to determine whether the previously processed FAT block is the last block of the source disk, the block processing module is further configured to compare a current block number of the previously processed FAT block to a number of blocks in the source disk.

6. The system of claim 1 , the backup engine is further configured to:

perform a look-up of a current data block in a FAT to obtain block contents on a corresponding file system object in the source disk.

7. The system of claim 6 , the block processing module is further configured to:

correlate actual block locations of the block contents to block locations of the FAT.

8. The system of claim 6 , the block processing module is further configured to:

read the current data block from the source disk.

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

receiving backup parameters for the image level backup, wherein the backup parameters include a selection of a machine to backup and a selection of a first file system object to include in and a second file system object to exclude from the image level backup, wherein the second file system object is marked for deletion from a file system;

connecting to production storage corresponding to the selected machine;

obtaining data from a source disk corresponding to a selected at least one file system object, and wherein the source disk is in the production storage;

fetching a selected set of data blocks from the source disk, wherein the selected set of data blocks correspond to the first file system object;

preventing fetching a set of data blocks corresponding to the second file system object;

generating empty content corresponding to the set of data blocks corresponding to the second file system object;

creating a backup FAT from the selected set of data blocks and the empty content;

writing the selected set of data blocks and a plurality of zeroed data blocks corresponding to the empty content from the backup FAT to a reconstructed disk image; and

storing a compressed version of the reconstructed disk image as the image level backup.

10. The method of claim 9 , further comprising:

replicating the reconstructed disk image to a replica virtual machine, wherein the reconstructed disk image is configured to perform a restoration of the replica virtual machine.

11. The method of claim 9 , wherein the second file system object is a directory and the second file system object further includes any file system objects within the directory.

12. The method of claim 9 , further comprising:

determining a previously processed FAT block in the selected set of data blocks; and

determining whether the previously processed FAT block is a last block of the source disk.

13. The method of claim 12 , wherein the determining whether the previously processed FAT block is the last block of the source disk further comprises comparing a current block number of the previously processed FAT block to a number of blocks in the source disk.

14. The method of claim 9 , further comprising:

performing a look-up of a current data block in a FAT to obtain block contents on a corresponding file system object in the source disk.

15. A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions when executed by one or more processors cause the one or more processors to perform operations, the operations 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 a first file system object to include in and a second file system object to exclude from the image level backup, wherein the second file system object is marked for deletion;

connecting to production storage corresponding to a selected machine;

obtaining data from a source disk corresponding to a selected at least one file system object, and wherein the source disk is in the production storage;

fetching a selected set of data blocks from the source disk, wherein the selected set of data blocks correspond to the first file system object;

preventing fetching a set of data blocks corresponding to the second file system object;

generating empty content corresponding to the set of data blocks corresponding to the second file system object;

writing the selected set of data blocks and a plurality of zeroed data blocks corresponding to the empty content to a backup FAT;

creating a reconstructed disk image based on the selected set of data blocks in the backup FAT and by skipping the plurality of zeroed data blocks; and

storing a compressed version of the reconstructed disk image as the image level backup.

16. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

replicating the reconstructed disk image to a replica virtual machine, wherein the reconstructed disk image is configured to perform a restoration of the replica virtual machine.

17. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

replicating the reconstructed disk image to a replica virtual machine, wherein the reconstructed disk image is configured to perform a restoration of the replica virtual machine.

Assignments (4)
CHANGE OF NAME Recorded May 21, 2026
From: VEEAM SOFTWARE GMBH
To: VEEAM SOFTWARE GROUP GMBH
Reel/Frame 075623/0835 →
ENTITY CONVERSION Recorded May 20, 2026
From: VEEAM SOFTWARE AG
To: VEEAM SOFTWARE GMBH
Reel/Frame 075583/0744 →
PATENT SECURITY AGREEMENT Recorded May 3, 2024
From: VEEAM SOFTWARE GROUP GMBH (F/K/A VEEAM SOFTWARE AG)
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 067309/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: TIMASHEV, RATMIR; GOSTEV, ANTON
To: VEEAM SOFTWARE AG
Reel/Frame 063945/0944 →
Continuity (5)
Continuation 16197644 · Nov 21, 2018
Continuation 15359128 · Nov 22, 2016
Continuation 13159229 · Jun 13, 2011
Provisional Application 61354529 · Jun 14, 2010
Related Publication 20220156155A1 · May 19, 2022