IP Library Granted Patent US 12,737,260
Granted Patent B2
US 12,737,260 · App. 19/030,358 · Granted Sep 15, 2026

Volume group restore from remote object store

Inventors: Rakesh Bhargava M.R. (Bengaluru, IN); Murali Subramanian (Bangalore, IN); Tijin George (Sunnyvale, CA); Ching-Yuk Paul Ngan (Redwood City, CA)
Assignee: NetApp, Inc.
G06F11/1448G06F2201/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,737,260
App. No.
19/030,358
Granted
Sep 15, 2026
Kind
B2
Abstract

Techniques are provided for volume group backup, volume group restore, and volume group garbage collection for volume groups backed up to an object store. A volume group workflow is implemented to orchestrate individual consistent volume workflows that are separately and individually implemented by nodes hosting constituent volumes of a volume group. The volume group workflow and the individual consistent volume workflows are performed to back up the volume group to the object store, restore a volume group backup from the object store to a restore destination, and/or perform garbage collection on slots of objects storing data unique to a volume group backup to delete.

Claims (65)

1 . A method comprising:

receiving a request to perform a restore operation for a subset of data of a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluating a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes, including a first constituent volume and a second constituent volume, backed up to the object store as the plurality of constituent volume backups;

generating a restore target based upon the geometry information, wherein geometry information is used to create a first restore target constituent volume and a second restore target constituent volume as the restore target;

utilizing the metafile generate a first constituent volume restore workflow for the first restore target constituent volume and a second constituent volume restore workflow for the second restore target constituent volume; and

implementing, by one or more nodes, the first constituent volume restore workflow and the second constituent volume restore workflow to restore the subset of data of the volume group to the restore target.

2 . The method of claim 1 , comprising:

evaluating the metafile to identify:

a group root info object representing a volume group endpoint within the object store;

a constituent volume root info object per constituent volume endpoint within the object store; and

a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup; and

utilizing the group root info object, the constituent volume root info objects, and the group snapinfo object to generate the one or more constituent volume restore workflows.

3 . The method of claim 1 , comprising:

restore a constituent volume or a single file of the volume group as the subset of data.

4 . The method of claim 1 , comprising:

incrementally restore the subset of data.

5 . The method of claim 1 , comprising:

restore a directory or qtree of the volume group as the subset of data.

6 . The method of claim 1 , comprising:

restore the subset of data on-demand.

7 . A non-transitory machine readable medium comprising instructions, which when executed by a machine, causes the machine to:

receive a request to perform a restore operation for a subset of data of a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluate a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes, including a first constituent volume and a second constituent volume, backed up to the object store as the plurality of constituent volume backups;

generate a restore target based upon the geometry information, wherein geometry information is used to create a first restore target constituent volume and a second restore target constituent volume as the restore target;

utilize the metafile generate a first constituent volume restore workflow for the first restore target constituent volume and a second constituent volume restore workflow for the second restore target constituent volume; and

implement, by one or more nodes, the first constituent volume restore workflow and the second constituent volume restore workflow to restore the subset of data of the volume group to the restore target.

8 . The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

evaluate the metafile to identify:

a group root info object representing a volume group endpoint within the object store;

a constituent volume root info object per constituent volume endpoint within the object store; and

a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup;

utilize the group root info object, the constituent volume root info objects, and the group snapinfo object to generate the one or more constituent volume restore workflows.

9 . The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

incrementally restore the subset of data.

10 . The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

restore a directory or qtree of the volume group as the subset of data.

11 . The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

restore the subset of data on-demand.

12 . A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

receive a request to perform a restore operation for a subset of data of a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluate a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes, including a first constituent volume and a second constituent volume, backed up to the object store as the plurality of constituent volume backups;

generate a restore target based upon the geometry information, wherein geometry information is used to create a first restore target constituent volume and a second restore target constituent volume as the restore target;

utilize the metafile generate a first constituent volume restore workflow for the first restore target constituent volume and a second constituent volume restore workflow for the second restore target constituent volume; and

implement, by one or more nodes, the first constituent volume restore workflow and the second constituent volume restore workflow to restore the subset of data of the volume group to the restore target.

13 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a group root info object representing a volume group endpoint within the object store; and

utilize the group root info object to generate the one or more constituent volume restore workflows.

14 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a constituent volume root info object per constituent volume endpoint within the object store; and

utilize the constituent volume root info object to generate the one or more constituent volume restore workflows.

15 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup; and

utilize the group snapinfo object to generate the one or more constituent volume restore workflows.

16 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

restore a constituent volume of the volume group as the subset of data using a group root info object.

17 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

restore a constituent volume of the volume group as the subset of data using a constituent volume root info object.

18 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

restore a constituent volume of the volume group as the subset of data using a group snapinfo object.

19 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

incrementally restore the subset of data.

20 . The computing device of claim 12 , wherein the machine executable code causes the processor to:

restore a directory or qtree of the volume group as the subset of data.

Continuity (2)
Division 17730899 · Apr 27, 2022
Related Publication 20250165349A1 · May 22, 2025
References Cited (25)
US 10409692B1 · Brenner et al. · 2019 [cited by applicant]
US 10852976B2 · George et al. · 2020 [cited by applicant]
US 11016943B2 · George et al. · 2021 [cited by applicant]
US 11144498B2 · George et al. · 2021 [cited by applicant]
US 11188500B2 · Kushwah et al. · 2021 [cited by applicant]
US 11907116B2 · Bhargava M. R. et al. · 2024 [cited by applicant]
US 12229010B2 · Bhargava M. R. et al. · 2025 [cited by applicant]
US 20130262800A1 · Goodman et al. · 2013 [cited by applicant]
US 20150278034A1 · Barnes · 2015 [cited by examiner]
US 20200019620A1 · Sarda et al. · 2020 [cited by applicant]
US 20200128024A1 · Kuramkote · 2020 [cited by examiner]
US 20200285410A1 · George · 2020 [cited by examiner]
US 20200285611A1 · George et al. · 2020 [cited by applicant]
US 20200285613A1 · George et al. · 2020 [cited by applicant]
US 20200285614A1 · George et al. · 2020 [cited by applicant]
US 20210406216A1 · Komatsu et al. · 2021 [cited by applicant]
US 20230350573A1 · Bhargava M.R. et al. · 2023 [cited by applicant]
US 20230350758A1 · Bhargava M.R. et al. · 2023 [cited by applicant]
US 20230350801A1 · Bhargava M.R. et al. · 2023 [cited by applicant]
Co-pending U.S. Appl. No. 17/730,938, inventors Rakesh; Bhargava M.R. et al., filed Apr. 27, 2022. [cited by applicant]
Final Office Action mailed Aug. 28, 2023 for U.S. Appl. No. 17/730,643, filed Apr. 27, 2022, 17 pages. [cited by applicant]
Non-Final Office Action mailed on Jun. 21, 2024 for U.S. Appl. No. 17/730,899, filed Apr. 27, 2022, 10 pages. [cited by applicant]
Non-Final Office Action mailed on May 3, 2023 for U.S. Appl. No. 17/730,643, filed Apr. 27, 2022, 15 pages. [cited by applicant]
Notice of Allowance mailed on Oct. 9, 2024 for U.S. Appl. No. 17/730,899, filed Apr. 27, 2022, 08 pages. [cited by applicant]
Notice of Allowance mailed on Oct. 12, 2023 for U.S. Appl. No. 17/733,078, filed Apr. 29, 2022, 9 pages. [cited by applicant]