IP Library › Granted Patent US 12,204,420
Granted Patent B1
US 12,204,420 · App. 18/478,151 · Granted Jan 21, 2025

Managing new data generated during application instant access

Inventors: Sunil Yadav (Bangalore, IN); Shelesh Chopra (Bangalore, IN)
Assignee: Dell Products L.P.
G06F11/1469G06F2201/84
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 12,204,420
App. No.
18/478,151
Filed
Sep 29, 2023
Granted
Jan 21, 2025
Kind
B1
Art Unit
2168
USPC
707/654
Abstract

Techniques described herein relate to a method for performing restorations of file system data on a host. The method includes identifying a backup access event associated with a backup of a file system of the host obtaining backup metadata associated with the backup; generating a virtual hard disk file; generating a placeholder file system using the backup metadata and storing the placeholder file system in the virtual hard disk file; generating a hidden copy of the placeholder file system using block cloning; loading the virtual hard disk file on the host; performing backup access services using the placeholder file system and the backup metadata; making a determination that the placeholder file system and the hidden copy indicate updated data blocks have been generated during the backup access services; identifying the modified data blocks; and storing the updated blocks.

Claims (92)

1. A method for performing restorations of file system data on a host, comprising:

identifying, by a data protection agent of a host, a backup access event associated with a backup of a file system of the host;

in response to identifying the backup access event:

obtaining backup metadata associated with the backup;

generating a virtual hard disk file;

generating a placeholder file system using the backup metadata and storing the placeholder file system in the virtual hard disk file;

generating a hidden copy of the placeholder file system using block cloning;

saving initial block cloning reference counts (BCRCs) associated with the placeholder file system and the hidden copy;

loading, after the saving, the virtual hard disk file on the host;

performing, after the loading, backup access services using the placeholder file system and the backup metadata, wherein an application generates updated data blocks using backup data obtained from a backup storage comprising the backup;

obtaining, after performing the backup access services, updated BCRCs associated with the placeholder file system and the hidden copy;

making a determination that the updated BCRCs do not match the initial BCRCs; and

in response to the determination:

identifying the updated data blocks using the updated BCRCs; and

storing the updated blocks, wherein the updated blocks are used for subsequent data protection operations associated with the file system or subsequent backup access event associated with the file system.

2. The method of claim 1 , wherein the initial BCRCs specify:

the data blocks of the backup are referenced by both the placeholder file system and the hidden copy; and

storage locations of the data blocks in the backup storage.

3. The method of claim 1 , wherein the updated BCRCs specify:

unmodified data blocks of the data blocks that are referenced by both the placeholder file system and the hidden copy;

storage locations of the unmodified data blocks in the backup storage;

the updated data blocks that are referenced by the hidden copy;

storage locations of the updated data blocks on storage the host; and

old versions of the updated data blocks that are referenced by the placeholder file system.

4. A method for performing restorations of file system data on a host, comprising:

identifying, by a data protection agent of a host, a backup access event associated with a backup of a file system of the host;

in response to identifying the backup access event:

obtaining backup metadata associated with the backup;

generating a virtual hard disk file;

generating a placeholder file system using the backup metadata and storing the placeholder file system in the virtual hard disk file;

generating a hidden copy of the placeholder file system using block cloning;

loading the virtual hard disk file on the host;

performing, after the loading, backup access services using the placeholder file system and the backup metadata, wherein an application generates updated data blocks using backup data obtained from a backup storage comprising the backup;

making a determination that the placeholder file system and the hidden copy indicate the updated data blocks have been generated during the backup access services; and

in response to the determination:

identifying the updated data blocks; and

storing the updated blocks, wherein the updated blocks are used for subsequent data protection operations associated with the file system or subsequent backup access event associated with the file system.

5. The method of claim 4 , wherein generating a hidden copy of the placeholder file system comprises saving initial block cloning reference counts (BCRCs) associated with the placeholder file system and the hidden copy.

6. The method of claim 5 , wherein the initial BCRCs specify:

the data blocks of the backup are referenced by both the placeholder file system and the hidden copy; and

storage locations of the data blocks in the backup storage.

7. The method of claim 6 , wherein making the determination that the placeholder file system and the hidden copy indicate the updated data blocks have been generated during the backup access services comprises:

obtaining, after performing the backup access services, updated BCRCs associated with the placeholder file system and the hidden copy; and

making a determination that the updated BCRCs do not match the initial BCRCs.

8. The method of claim 7 , wherein the updated BCRCs specify:

unmodified data blocks of the data blocks that are referenced by both the placeholder file system and the hidden copy;

storage locations of the unmodified data blocks in the backup storage;

the updated data blocks that are referenced by the hidden copy;

storage locations of the updated data blocks on storage the host; and

old versions of the updated data blocks that are referenced by the placeholder file system.

9. The method of claim 8 , wherein the updated data blocks comprise at least one selected from a group consisting of:

new data blocks generated during the performing of the backup access services; and

modified data blocks generated from the old versions during the performing of the backup access services.

10. The method of claim 4 , wherein the hidden copy is inaccessible by the application.

11. The method of claim 4 , wherein, for each file corresponding to the placeholder files in the placeholder file system, the backup metadata comprises:

a file identifier associated with the file;

a file size associated with the file;

an application identifier associated with the file;

a parent file identifier associated with the file; and

storage location information associated with the file.

12. The method of claim 4 , wherein the placeholder file system is stored in the virtual hard disk file in a hierarchy of placeholder files that specifies file identifiers and file sizes of the files included in the file system.

13. The method of claim 4 , wherein prior to performing the backup access services, the placeholder file system does not comprise file system data.

14. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for performing restorations of file system data on a host, the method comprising:

identifying, by a data protection agent of a host, a backup access event associated with a backup of a file system of the host;

in response to identifying the backup access event:

obtaining backup metadata associated with the backup;

generating a virtual hard disk file;

generating a placeholder file system using the backup metadata and storing the placeholder file system in the virtual hard disk file;

generating a hidden copy of the placeholder file system using block cloning;

loading the virtual hard disk file on the host;

performing, after the loading, backup access services using the placeholder file system and the backup metadata, wherein an application generates updated data blocks using backup data obtained from a backup storage comprising the backup;

making a determination that the placeholder file system and the hidden copy indicate the updated data blocks have been generated during the backup access services; and

in response to the determination:

identifying the updated data blocks; and

storing the updated blocks, wherein the updated blocks are used for subsequent data protection operations associated with the file system or subsequent backup access event associated with the file system.

15. The non-transitory computer readable medium of claim 14 , wherein generating a hidden copy of the placeholder file system comprises saving initial block cloning reference counts (BCRCs) associated with the placeholder file system and the hidden copy.

16. The non-transitory computer readable medium of claim 15 , wherein the initial BCRCs specify:

the data blocks of the backup are referenced by both the placeholder file system and the hidden copy; and

storage locations of the data blocks in the backup storage.

17. The non-transitory computer readable medium of claim 16 , wherein making the determination that the placeholder file system and the hidden copy indicate the updated data blocks have been generated during the backup access services comprises:

obtaining, after performing the backup access services, updated BCRCs associated with the placeholder file system and the hidden copy; and

making a determination that the updated BCRCs do not match the initial BCRCs.

18. The non-transitory computer readable medium of claim 17 , wherein the updated BCRCs specify:

unmodified data blocks of the data blocks that are referenced by both the placeholder file system and the hidden copy;

storage locations of the unmodified data blocks in the backup storage;

the updated data blocks that are referenced by the hidden copy;

storage locations of the updated data blocks on storage the host; and

old versions of the updated data blocks that are referenced by the placeholder file system.

19. The non-transitory computer readable medium of claim 18 , wherein the updated data blocks comprise at least one selected from a group consisting of:

new data blocks generated during the performing of the backup access services; and

modified data blocks generated from the old versions during the performing of the backup access services.

20. The non-transitory computer readable medium of claim 14 , wherein the hidden copy is inaccessible by the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: YADAV, SUNIL; CHOPRA, SHELESH
To: DELL PRODUCTS L.P.
Reel/Frame 065077/0358 →
References Cited (21)
US 9354907B1 · Teli · 2016 [cited by applicant]
US 9424136B1 · Teater et al. · 2016 [cited by applicant]
US 9569446B1 · Feathergill et al. · 2017 [cited by applicant]
US 10310949B1 · Chakraborty · 2019 [cited by applicant]
US 10387381B1 · Patwardhan · 2019 [cited by applicant]
US 10417099B1 · Yadav · 2019 [cited by applicant]
US 11042450B2 · Kang · 2021 [cited by applicant]
US 11397650B1 · Palaiah · 2022 [cited by examiner]
US 20140214899A1 · Ganapathy · 2014 [cited by applicant]
US 20150293817A1 · Subramanian · 2015 [cited by applicant]
US 20160019317A1 · Pawar · 2016 [cited by applicant]
US 20160292047A1 · Bender · 2016 [cited by examiner]
US 20170185488A1 · Kumarasamy et al. · 2017 [cited by applicant]
US 20180349407A1 · Cisler · 2018 [cited by examiner]
US 20220043717A1 · Yadav · 2022 [cited by applicant]
US 20220342770A1 · Jagannatha · 2022 [cited by applicant]
US 20220382641A1 · Chopra et al. · 2022 [cited by applicant]
US 20220398160A1 · Zou · 2022 [cited by applicant]
US 20220398221A1 · Zou · 2022 [cited by applicant]
US 20230168970A1 · Pradhan · 2023 [cited by applicant]
US 20230297477A1 · Yadav et al. · 2023 [cited by applicant]