IP Library Granted Patent US 12,373,313
Granted Patent B2
US 12,373,313 · App. 18/540,196 · Granted Jul 29, 2025

Virtual machine backup from computing environment to storage environment

Inventors: Abhishek Naidu (San Jose, CA); Jose Mathew (Santa Clara, CA); Ling Zheng (Saratoga, CA); Ravindra Kuramkote (San Jose, CA)
Assignee: NetApp, Inc.
G06F11/1469G06F3/0619G06F3/065G06F3/0664G06F3/0673G06F9/45558G06F11/1451G06F11/1458G06F11/1464G06F11/1484G06F2009/45562G06F2009/45575G06F2201/80G06F2201/815G06F2201/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,373,313
App. No.
18/540,196
Granted
Jul 29, 2025
Kind
B2
Abstract

Techniques are provided for backing up virtual machines from a computing environment to a storage environment. A virtual machine agent is utilized to generate a snapshot of the virtual machine. Metadata comprising a snapshot identifier of the snapshot and virtual disk information of virtual disks captured by snapshot is generated at the computing environment. The metadata is retrieved and used to create a metafile that is transferred to the storage environment within which snapshots of the virtual machine are to be stored. The snapshot is retrieved from the computing environment and is packaged into a snapshot package having a protocol format used by the storage environment. The snapshot package is transferred to the storage environment.

Claims (48)

1. A method comprising:

generating, by a first agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily storing the first snapshot and the metadata in the computing environment;

transforming, by the first agent, a metadata image received from the computing environment, into a metafile for storage in a storage environment, a second agent transferring the metafile to the storage environment, wherein the metafile is interpretable and usable by an agent or service hosted by the storage environment and the computing environment serializes the metadata into the metadata image;

generating, by the first agent, a snapshot package by converting the first snapshot from the first format to a storage format, the storage format utilized by the storage environment for storing the first snapshot; and

transferring the snapshot package to the storage environment, upon transfer of the metafile.

2. The method of claim 1 , comprising:

deleting the first snapshot from the computing environment, upon transfer of the metafile and the snapshot package to the storage environment.

3. The method of claim 1 , comprising:

load balancing incremental snapshot backup transfers from the computing environment to the storage environment between a plurality of agents.

4. The method of claim 1 , wherein the metadata comprises at least one of a disk layout of virtual disks captured by the first snapshot, disk attributes of the virtual disks, or file information of files within the virtual disks.

5. The method of claim 1 , wherein the snapshot identifier is a universal snapshot identifier mapped to an identifier used by the computing environment to refer to the first snapshot.

6. The method of claim 1 , comprising:

verifying that the metafile is accessible to the storage environment before transferring snapshot package to the storage environment.

7. The method of claim 1 , comprising:

restoring the virtual machine at the computing environment using one or more snapshots at the storage environment for the virtual machine.

8. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to perform operations comprising:

generating, by a first agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily storing the first snapshot and the metadata in the computing environment;

transforming, by the first agent, a metadata image received from the computing environment, into a metafile for storage in a storage environment, a second agent transferring the metafile to the storage environment, wherein the metafile is interpretable and usable by an agent or service hosted by the storage environment and the computing environment serializes the metadata into the metadata image;

generating, by the first agent, a snapshot package by converting the first snapshot from the first format to a storage format, the storage format utilized by the storage environment for storing the first snapshot; and

transferring the snapshot package to the storage environment, upon transfer of the metafile.

9. The non-transitory machine readable medium of claim 8 , wherein the operations comprise:

sending, by the first agent, the metafile to the computing environment to be deserialized into a stream by the computing environment for storage within a cache of the computing environment.

10. The non-transitory machine readable medium of claim 8 , wherein the operations comprise:

load balancing incremental snapshot backup transfers from the computing environment to the storage environment between a plurality of agents.

11. The non-transitory machine readable medium of claim 8 , wherein the metadata comprises at least one of a disk layout of virtual disks captured by the first snapshot, disk attributes of the virtual disks, or file information of files within the virtual disks.

12. The non-transitory machine readable medium of claim 8 , wherein the snapshot identifier is a universal snapshot identifier mapped to an identifier used by the computing environment to refer to the first snapshot.

13. The non-transitory machine readable medium of claim 8 , wherein the operations comprise:

verifying that the metafile is accessible to the storage environment before transferring snapshot package to the storage environment.

14. The non-transitory machine readable medium of claim 8 , wherein the operations comprise:

restoring the virtual machine at the computing environment using one or more snapshots at the storage environment for the virtual machine.

15. A computing device comprising:

a memory comprising machine executable code for performing a method; and

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

generating, by a first agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily storing the first snapshot and the metadata in the computing environment;

transforming, by the first agent, a metadata image received from the computing environment, into a metafile for storage in a storage environment, a second agent transferring the metafile to the storage environment, wherein the metafile is interpretable and usable by an agent or service hosted by the storage environment and the computing environment serializes the metadata into the metadata image;

generating, by the first agent, a snapshot package by converting the first snapshot from the first format to a storage format, the storage format utilized by the storage environment for storing the first snapshot; and

transferring the snapshot package to the storage environment, upon transfer of the metafile.

16. The computing device of claim 15 , wherein the operations comprise:

deleting the first snapshot from the computing environment, upon transfer of the metafile and the snapshot package to the storage environment.

17. The computing device of claim 15 , wherein the operations comprise:

load balancing incremental snapshot backup transfers from the computing environment to the storage environment between a plurality of agents.

18. The computing device of claim 15 , wherein the metadata comprises at least one of a disk layout of virtual disks captured by the first snapshot, disk attributes of the virtual disks, or file information of files within the virtual disks.

19. The computing device of claim 15 , wherein the snapshot identifier is a universal snapshot identifier mapped to an identifier used by the computing environment to refer to the first snapshot.

20. The computing device of claim 15 , wherein the operations comprise:

verifying that the metafile is accessible to the storage environment before transferring snapshot package to the storage environment.

Continuity (3)
Continuation 16856367 · Apr 23, 2020
Provisional Application 62867504 · Jun 27, 2019
Related Publication 20240134759A1 · Apr 25, 2024
References Cited (102)
US 5515499A · Allen et al. · 1996 [cited by applicant]
US 5907672A · Matze et al. · 1999 [cited by applicant]
US 6268924B1 · Koppolu · 2001 [cited by examiner]
US 8060474B2 · Beatty et al. · 2011 [cited by applicant]
US 8255650B1 · Gruttadauria et al. · 2012 [cited by applicant]
US 8719286B1 · Xing et al. · 2014 [cited by applicant]
US 8983961B2 · Chan et al. · 2015 [cited by applicant]
US 9292327B1 · Von et al. · 2016 [cited by applicant]
US 9483485B1 · Chockalingam et al. · 2016 [cited by applicant]
US 9665437B2 · Bhargava et al. · 2017 [cited by applicant]
US 9740520B1 · Sarda et al. · 2017 [cited by applicant]
US 9740577B1 · Chakraborty et al. · 2017 [cited by applicant]
US 9898371B2 · Kumarasamy et al. · 2018 [cited by applicant]
US 9940203B1 · Ghatnekar et al. · 2018 [cited by applicant]
US 10146634B1 · Bishop et al. · 2018 [cited by applicant]
US 10152387B1 · Chakraborty et al. · 2018 [cited by applicant]
US 10169067B2 · Dornemann · 2019 [cited by applicant]
US 10754741B1 · Sethuramalingam et al. · 2020 [cited by applicant]
US 10796473B1 · Lim · 2020 [cited by examiner]
US 10810035B2 · Guturi et al. · 2020 [cited by applicant]
US 10824455B2 · Arikatla et al. · 2020 [cited by applicant]
US 11023329B1 · Per et al. · 2021 [cited by applicant]
US 11025717B2 · Liu et al. · 2021 [cited by applicant]
US 11099956B1 · Polimera et al. · 2021 [cited by applicant]
US 11169835B1 · Duong · 2021 [cited by examiner]
US 11188422B2 · Cisler et al. · 2021 [cited by applicant]
US 11323259B2 · Maximov et al. · 2022 [cited by applicant]
US 11567792B2 · Guturi et al. · 2023 [cited by applicant]
US 11615001B2 · Naidu et al. · 2023 [cited by applicant]
US 11650886B2 · Mathew et al. · 2023 [cited by applicant]
US 11853104B2 · Naidu et al. · 2023 [cited by applicant]
US 11868213B2 · Zheng et al. · 2024 [cited by applicant]
US 11977461B2 · Naidu · 2024 [cited by applicant]
US 12045144B2 · Mathew et al. · 2024 [cited by applicant]
US 20020124077A1 · Hill · 2002 [cited by examiner]
US 20090147302A1 · Yang · 2009 [cited by examiner]
US 20100077160A1 · Liu et al. · 2010 [cited by applicant]
US 20120089814A1 · Gupta et al. · 2012 [cited by applicant]
US 20120117311A1 · Hong · 2012 [cited by applicant]
US 20130061293A1 · Mao · 2013 [cited by applicant]
US 20130080397A1 · Payne et al. · 2013 [cited by applicant]
US 20130159359A1 · Kumar et al. · 2013 [cited by applicant]
US 20130166511A1 · Ghatty et al. · 2013 [cited by applicant]
US 20130238562A1 · Kumarasamy et al. · 2013 [cited by applicant]
US 20140032838A1 · Takeuchi et al. · 2014 [cited by applicant]
US 20140074790A1 · Berman et al. · 2014 [cited by applicant]
US 20140195503A1 · Kao et al. · 2014 [cited by applicant]
US 20140196056A1 · Kottomtharayil et al. · 2014 [cited by applicant]
US 20140244818A1 · Taine et al. · 2014 [cited by applicant]
US 20150127618A1 · Alberti et al. · 2015 [cited by applicant]
US 20160154707A1 · Kumarasamy et al. · 2016 [cited by applicant]
US 20170116219A1 · Shetty · 2017 [cited by applicant]
US 20170171311A1 · Tennie et al. · 2017 [cited by applicant]
US 20170171340A1 · Kurita · 2017 [cited by applicant]
US 20180113622A1 · Sancheti · 2018 [cited by applicant]
US 20180129567A1 · Kumarasamy · 2018 [cited by applicant]
US 20180157538A1 · Raikov et al. · 2018 [cited by applicant]
US 20190104196A1 · Li et al. · 2019 [cited by applicant]
US 20190235971A1 · Botelho et al. · 2019 [cited by applicant]
US 20200042344A1 · Ao et al. · 2020 [cited by applicant]
US 20200125386A1 · Busick et al. · 2020 [cited by applicant]
US 20200133502A1 · Yang et al. · 2020 [cited by applicant]
US 20200183731A1 · Dornemann · 2020 [cited by applicant]
US 20200272492A1 · Guturi · 2020 [cited by examiner]
US 20200409738A1 · Naidu et al. · 2020 [cited by applicant]
US 20200409797A1 · Mathew et al. · 2020 [cited by applicant]
US 20200409803A1 · Naidu et al. · 2020 [cited by applicant]
US 20210035012A1 · Beaty · 2021 [cited by examiner]
US 20210064413A1 · Guturi et al. · 2021 [cited by applicant]
US 20210406129A1 · Zheng et al. · 2021 [cited by applicant]
US 20220318188A1 · Subramanian et al. · 2022 [cited by applicant]
US 20220350642A1 · Poddar et al. · 2022 [cited by applicant]
US 20230012869A1 · Suarez et al. · 2023 [cited by applicant]
US 20230087493A1 · Busick et al. · 2023 [cited by applicant]
US 20230088202A1 · Myers et al. · 2023 [cited by applicant]
US 20230115438A1 · DeGraaf et al. · 2023 [cited by applicant]
US 20230221980A1 · Guturi et al. · 2023 [cited by applicant]
US 20230222041A1 · Muniraju et al. · 2023 [cited by applicant]
US 20230229568A1 · Naidu et al. · 2023 [cited by applicant]
US 20230244466A1 · Shah et al. · 2023 [cited by applicant]
US 20230281088A1 · Mathew et al. · 2023 [cited by applicant]
US 20230401088A1 · Poddar et al. · 2023 [cited by applicant]
US 20230409381A1 · Poddar et al. · 2023 [cited by applicant]
US 20240378121A1 · Mathew et al. · 2024 [cited by applicant]
CN 105094948A · 2015 [cited by applicant]
WO 2016099116A1 · 2016 [cited by applicant]
Final Office Action mailed on Mar. 24, 2023 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 26 pages. [cited by applicant]
Non-Final Office Action mailed on Sep. 6, 2022 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 24 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 9, 2023 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 08 pages. [cited by applicant]
Notice of Allowance mailed on Dec. 22, 2023 for U.S. Appl. No. 18/190,172, filed Mar. 27, 2023, 8 pages. [cited by applicant]
Notice of Allowance mailed on Jul. 3, 2023 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 17 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 25, 2023 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 02 pages. [cited by applicant]
Notice of Allowance mailed on May 3, 2024 for U.S. Appl. No. 18/317,298, filed May 15, 2023, 02 pages. [cited by applicant]
Notice of Allowance mailed on Mar. 11, 2024 for U.S. Appl. No. 18/317,298, filed May 15, 2023, 09 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 2, 2024 for U.S. Appl. No. 18/190,172, filed Mar. 27, 2023, 02 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2020/039038, mailed on Sep. 25, 2020, 10 pages. [cited by applicant]
Non-Final Office Action mailed on Aug. 2, 2022 for U.S. Appl. No. 16/856,322, filed Apr. 23, 2020, 13 pages. [cited by applicant]
Non-Final Office Action mailed on Aug. 31, 2023 for U.S. Appl. No. 18/190,172, filed Mar. 27, 2023, 12 pages. [cited by applicant]
Non-Final Office Action mailed on Jul. 21, 2022 for U.S. Appl. No. 16/856,249, filed Apr. 23, 2020, 13 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 14, 2023 for U.S. Appl. No. 16/856,249, filed Apr. 23, 2020, 2 pages. [cited by applicant]
Notice of Allowance mailed on Dec. 1, 2022 for U.S. Appl. No. 16/856,322, filed Apr. 23, 2020, 5 pages. [cited by applicant]
Notice of Allowance mailed on Jan. 11, 2023 for U.S. Appl. No. 16/856,249, filed Apr. 23, 2020, 8 pages. [cited by applicant]
Cited By (1)
US 12,554,597