IP Library Granted Patent US 12,554,597
Granted Patent B2
US 12,554,597 · App. 18/779,567 · Granted Feb 17, 2026

Orchestrator for orchestrating operations between a computing environment hosting virtual machines and a storage environment

Inventors: Jose Mathew (Santa Clara, CA); Ling Zheng (Saratoga, 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,554,597
App. No.
18/779,567
Granted
Feb 17, 2026
Kind
B2
Abstract

Techniques are provided for orchestrating operations between a storage environment and a computing environment hosting virtual machines. A virtual machine proxy, associated with a computing environment hosting a virtual machine, is accessed by an orchestrator to identify the virtual machine and properties of the virtual machine. A storage proxy, associated with a storage environment comprising a volume within which snapshots of the virtual machine are to be stored, is accessed by the orchestrator to initialize a backup procedure. The orchestrator utilizes the virtual machine proxy to create a snapshot of the virtual machine. The orchestrator utilizes the storage proxy to back up the snapshot to the volume using the backup procedure.

Claims (42)

1 . A method comprising:

in response to a restore command to restore data of a snapshot, reformatting the restore command into a first format supported by a storage service of a storage environment where the snapshot is stored to create a first reformatted restore command; and

providing the first reformatted restore command to the storage service to transfer data of the snapshot within the storage environment to a computing environment hosting a virtual machine management platform for restoring a virtual machine to a state captured by the snapshot, wherein the first format is different than a second format supported by the virtual machine management platform for hosting the virtual machine.

2 . The method of claim 1 , comprising:

reformatting the restore command into the second format to create a second reformatted restore command; and

providing the second reformatted restore command to the virtual machine management platform for utilizing the transferred data of the snapshot received from the storage environment to restore the virtual machine.

3 . The method of claim 2 , comprising:

modifying the restore command from a format not natively supported by the virtual machine management platform into the second reformatted restore command according to the second format supported by the virtual machine management platform.

4 . The method of claim 1 , wherein the first format is incompatible with the virtual machine management platform.

5 . The method of claim 1 , wherein the second format is incompatible with the storage service.

6 . The method of claim 1 , comprising:

modifying the restore command from a format not natively supported by the storage service into the first reformatted restore command according to the first format supported by storage service.

7 . The method of claim 1 , comprising:

replacing the restore command with the first reformatted restore command based upon the first reformatted restore command being mapped to the restore command.

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:

in response to a restore command to restore data of a snapshot, reformatting the restore command into a first format supported by a storage service of a storage environment where the snapshot is stored to create a first reformatted restore command; and

providing the first reformatted restore command to the storage service to transfer data of the snapshot within the storage environment to a computing environment hosting a virtual machine management platform for restoring a virtual machine to a state captured by the snapshot, wherein the first format is different than a second format supported by the virtual machine management platform for hosting the virtual machine.

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

reformatting the restore command into the second format to create a second reformatted restore command; and

providing the second reformatted restore command to the virtual machine management platform for utilizing the transferred data of the snapshot received from the storage environment to restore the virtual machine.

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

modifying the restore command from a format not natively supported by the virtual machine management platform into the second reformatted restore command according to the second format supported by the virtual machine management platform.

11 . The non-transitory machine readable medium of claim 8 , wherein the first format is incompatible with the virtual machine management platform.

12 . The non-transitory machine readable medium of claim 8 , wherein the second format is incompatible with the storage service.

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

modifying the restore command from a format not natively supported by the storage service into the first reformatted restore command according to the first format supported by storage service.

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

replacing the restore command with the first reformatted restore command based upon the first reformatted restore command being mapped to the restore command.

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:

in response to a restore command to restore data of a snapshot, reformatting the restore command into a first format supported by a storage service of a storage environment where the snapshot is stored to create a first reformatted restore command; and

providing the first reformatted restore command to the storage service to transfer data of the snapshot within the storage environment to a computing environment hosting a virtual machine management platform for restoring a virtual machine to a state captured by the snapshot, wherein the first format is different than a second format supported by the virtual machine management platform for hosting the virtual machine.

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

reformatting the restore command into the second format to create a second reformatted restore command; and

providing the second reformatted restore command to the virtual machine management platform for utilizing the transferred data of the snapshot received from the storage environment to restore the virtual machine.

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

modifying the restore command from a format not natively supported by the virtual machine management platform into the second reformatted restore command according to the second format supported by the virtual machine management platform.

18 . The computing device of claim 15 , wherein the first format is incompatible with the virtual machine management platform.

19 . The computing device of claim 15 , wherein the second format is incompatible with the storage service.

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

modifying the restore command from a format not natively supported by the storage service into the first reformatted restore command according to the first format supported by storage service.

Continuity (4)
Continuation 18317298 · May 15, 2023
Continuation 16856249 · Apr 23, 2020
Provisional Application 62867504 · Jun 27, 2019
Related Publication 20240378121A1 · Nov 14, 2024
References Cited (108)
US 5515499A · Allen et al. · 1996 [cited by applicant]
US 5907672A · Matze et al. · 1999 [cited by applicant]
US 6268924B1 · Koppolu et al. · 2001 [cited by applicant]
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 · 2016 [cited by examiner]
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 10296422B1 · Sarda · 2019 [cited by examiner]
US 10754741B1 · Sethuramalingam et al. · 2020 [cited by applicant]
US 10796473B1 · Lim et al. · 2020 [cited by applicant]
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 et al. · 2021 [cited by applicant]
US 11188422B2 · Cisler et al. · 2021 [cited by applicant]
US 11275599B1 · Duong · 2022 [cited by examiner]
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 · 2024 [cited by examiner]
US 11977461B2 · Naidu · 2024 [cited by applicant]
US 12045144B2 · Mathew et al. · 2024 [cited by applicant]
US 12373313B2 · Naidu et al. · 2025 [cited by applicant]
US 20020124077A1 · Hill et al. · 2002 [cited by applicant]
US 20090147302A1 · Yang · 2009 [cited by applicant]
US 20100077160A1 · Liu et al. · 2010 [cited by applicant]
US 20120089814A1 · Gupta et al. · 2012 [cited by applicant]
US 20120089862A1 · Lumpp · 2012 [cited by examiner]
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 20130205292A1 · Levijarvi · 2013 [cited by examiner]
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 20170116219A1 · Shetty · 2017 [cited by applicant]
US 20170171311A1 · Tennie et al. · 2017 [cited by applicant]
US 20170171340A1 · Kurita · 2017 [cited by applicant]
US 20170255528A1 · Kedia · 2017 [cited by examiner]
US 20170255529A1 · Kedia · 2017 [cited by examiner]
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 20210035012A1 · Beaty 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 20220398173A1 · Rodriguez Bravo · 2022 [cited by examiner]
US 20230012869A1 · Suarez et al. · 2023 [cited by applicant]
US 20230041301A1 · Nadaf · 2023 [cited by examiner]
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 · 2023 [cited by examiner]
US 20230222041A1 · Muniraju et al. · 2023 [cited by applicant]
US 20230244466A1 · Shah · 2023 [cited by examiner]
US 20230342252A1 · Tillman · 2023 [cited by examiner]
US 20230401088A1 · Poddar et al. · 2023 [cited by applicant]
US 20230409381A1 · Poddar et al. · 2023 [cited by applicant]
US 20240134759A1 · Naidu · 2024 [cited by examiner]
US 20240160465A1 · An · 2024 [cited by examiner]
US 20240362054A1 · Pawar · 2024 [cited by examiner]
US 20250355774A1 · Naidu et al. · 2025 [cited by applicant]
CN 105094948A · 2015 [cited by applicant]
WO 2016099116A1 · 2016 [cited by applicant]
Notice of Allowance mailed on Apr. 3, 2025 for U.S. Appl. No. 18/540,196, filed Dec. 14, 2023, 14 pages. [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]
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]
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 Apr. 2, 2024 for U.S. Appl. No. 18/190,172, filed Mar. 27, 2023, 02 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 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. 1, 2022 for U.S. Appl. No. 16/856,322, filed Apr. 23, 2020, 5 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 Jan. 11, 2023 for U.S. Appl. No. 16/856,249, filed Apr. 23, 2020, 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 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 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 Sep. 25, 2023 for U.S. Appl. No. 16/856,367, filed Apr. 23, 2020, 02 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 10, 2024 for U.S. Appl. No. 18/540,196, filed Dec. 14, 2023, 26 pages. [cited by applicant]