IP Library Granted Patent US 12699586
Granted Patent B2
US 12699586 · App. 18/308,718 · Granted Aug 4, 2026

Virtual machine hosting and serverless disaster recovery

Inventors: Dnyaneshwar Nagorao Pawar (Bangalore, IN); Sumith Makam (Kundanahalli, IN); Roopesh Chuggani (Jaipur, IN); Vineeth Kumar Chalil Karinta (Apex, NC); Tijin George (San Jose, CA)
Assignee: NetApp, Inc.
G06F9/45558G06F8/63G06F11/1451G06F2009/45562
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 12699586
App. No.
18/308,718
Granted
Aug 4, 2026
Kind
B2
Abstract

Techniques are provided for virtual machine hosting and serverless disaster recovery. A virtual machine is hosted by a first hypervisor that may be located on-premise. Snapshots of virtual machine disks of the virtual machine are backed up to a cloud storage environment. The snapshots are used to on-demand host a new instance of the virtual machine within a destination environment such as within the cloud storage environment through a second hypervisor. The new instance of the virtual machine is hosted for various reasons such as part of a disaster recovery operation if the virtual machine fails, load balancing of I/O operations, migration to a different hosting environment (e.g., a cheaper or more performant environment), development testing, etc.

Claims (62)

1 . A method comprising:

backing up snapshots, of a primary virtual machine hosted on-premise, to a storage bucket of a cloud storage environment as backup snapshots capturing states of a boot virtual machine disk and a data virtual machine disk of the primary virtual machine; and

in response to a failure of the primary virtual machine, executing a disaster recovery orchestration process that includes:

creating a destination boot virtual machine disk from a backup snapshot of the primary virtual machine;

dynamically generating an instance of a destination virtual machine within the cloud storage environment using the destination boot virtual machine disk to boot the destination virtual machine; and

implementing a restore operation, selected from a set of restore operations, to create a destination data virtual machine disk for the destination virtual machine using the backup snapshot, wherein during the restore operation, data is on-demand restored from the backup snapshot to the data virtual machine disk for access by an operation based upon a determination that the operation targets the data not yet restored to the data virtual machine disk.

2 . The method of claim 1 , comprising:

converting the destination data virtual machine disk into a logical unit number (LUN); and

connecting the LUN to the destination virtual machine using an iSCSI session.

3 . The method of claim 1 , comprising:

mounting the destination data virtual machine disk from a cloud volume hosted within the cloud storage environment for access by the destination virtual machine.

4 . The method of claim 1 , comprising:

initializing the destination virtual machine for providing access to data within the destination data virtual machine disk and for hosting applications previously hosted by the primary virtual machine.

5 . The method of claim 1 , comprising:

during failover operation of the destination virtual machine, storing incremental snapshots of the destination virtual machine into the storage bucket, wherein the incremental snapshots capture changes made to the destination data virtual disk by the destination virtual machine.

6 . The method of claim 1 , comprising:

in response to determining that the primary virtual machine has recovered, executing a failback operation that includes:

utilizing an incremental snapshot, capturing changes made to the destination data virtual machine disk, to restore the data virtual machine disk and the boot virtual machine disk for use the primary virtual machine; and

initializing the primary virtual machine using the restored boot virtual machine disk for providing access to the restored data virtual machine disk.

7 . The method of claim 1 , comprising:

in response to executing a failback operation for hosting the primary virtual machine using a restored boot virtual machine disk for providing access to a restore data virtual machine disk, deleting the destination virtual machine to free resources consumed by the destination virtual machine.

8 . The method of claim 1 , comprising:

in response to implementing a failback operation for rehosting the primary virtual machine using a restored boot virtual machine disk for providing access to a restore data virtual machine disk, establishing a backup relationship from the primary virtual machine to the storage bucket for creating and backing up snapshots of the primary virtual machine to the storage bucket.

9 . The method of claim 1 , wherein the set of restore operations include a directory restore operation, a full volume restore operation, and an on-demand restore operation.

10 . The method of claim 1 , wherein the implementing the restore operation comprises:

creating an on-demand volume into which data of the data virtual machine disk captured by the backup snapshot is to be restored; and

providing the destination virtual machine with access to the on-demand volume before the data of the data virtual machine disk has been fully restored, wherein the providing comprises:

in response to receiving a first operation targeting first data already restored to the data virtual machine disk, executing the first operation upon the first data; and

in response to receiving a second operation targeting second data not yet restored to the data virtual machine disk:

on-demand restoring the second data from the backup snapshot to the data virtual machine disk; and

executing the second operation upon the second data restored to the data virtual machine disk.

11 . The method of claim 1 , wherein the disaster recovery orchestration process comprises:

converting the backup snapshot from a backup format, used by a cloud backup process to back up the backup snapshot to the storage bucket, to a virtual machine disk format.

12 . The method of claim 1 , wherein the selecting comprises:

selecting, based upon a destination performance profile, the restore operation from the set of restore operations to create the destination data virtual machine disk.

13 . The method of claim 1 , wherein the selecting comprises:

selecting the restore operation from the set of restore operations to perform based upon an acceptable client delay.

14 . A computing device comprising:

a memory comprising instructions; and

a processor coupled to the memory, the processor configured to execute the instructions to cause the processor to perform operations comprising:

backup snapshots, of a primary virtual machine hosted on-premise, to a storage bucket of a cloud storage environment as backup snapshots capturing states of a boot virtual machine disk and a data virtual machine disk of the primary virtual machine; and

in response to a request to host a new instance of the primary virtual machine within the cloud storage environment, triggering an orchestration process that includes:

creating a destination boot virtual machine disk from a backup snapshot of the primary virtual machine;

dynamically generating an instance of a destination virtual machine on-demand within the cloud storage environment using the destination boot virtual machine disk to boot the destination virtual machine; and

implementing a restore operation, selected from a set of restore operations, to create a destination data virtual machine disk for use by the destination virtual machine using the backup snapshot, wherein during the restore operation, data is on-demand restored from the backup snapshot to the data virtual machine disk for access by an operation based upon a determination that the operation targets the data not yet restored to the data virtual machine disk.

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

providing development testing access to the destination virtual machine hosted within the cloud storage environment, wherein the development testing access does not modify the primary virtual machine.

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

performing read load distribution to distribute read operations amongst the primary virtual machine and the destination virtual machine.

17 . The computing device of claim 15 , comprising:

a scale-out data access layer configured to deploy a plurality of scale-up onto systems over scale-out cloud storage of the cloud storage environment, wherein the plurality of scale-up onto systems host instances of the destination virtual machine.

18 . 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:

creating

backing up snapshots, of a primary virtual machine hosted on-premise, to a storage bucket of a cloud storage environment as backup snapshots capturing states of a boot virtual machine disk and a data virtual machine disk of the primary virtual machine; and

in response to a request to host a new instance of the primary virtual machine within the cloud storage environment, triggering an orchestration process that includes:

creating a destination boot virtual machine disk from a backup snapshot of the primary virtual machine;

dynamically generating an instance of a destination virtual machine within the cloud storage environment using the destination boot virtual machine disk to boot the destination virtual machine; and

implementing a restore operation, selected from a set of restore operations, to create a destination data virtual machine disk for the destination virtual machine using the backup snapshot, wherein during the restore operation, data is on-demand restored from the backup snapshot to the data virtual machine disk for access by an operation based upon a determination that the operation targets the data not yet restored to the data virtual machine disk.

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

providing development testing access to the destination virtual machine hosted within the cloud storage environment, wherein the development testing access does not modify the primary virtual machine.

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

performing read load distribution to distribute read operations amongst the primary virtual machine and the destination virtual machine.