IP Library › Granted Patent US 10,740,145
Granted Patent B2
US 10,740,145 · App. 15/094,219 · Granted Aug 11, 2020

Method and system for migration of virtual machines and virtual applications between cloud-computing facilities

Inventors: Jagannath N. Raghu (Palo Alto, CA); Manjunath Bandi (Bangalore, IN); Anirudh Agarwal (Bangalore, IN)
Assignee: VMware, Inc.
G06F9/4856G06F9/45558H04L12/4641H04L67/10G06F2009/4557G06F2009/45595
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 10,740,145
App. No.
15/094,219
Granted
Aug 11, 2020
Kind
B2
Abstract

The current document discloses methods and systems for extending an internal network within a first cloud-computing facility to a second cloud-computing facility and deploying a virtual machine or virtual application previously running on a first cloud-computing facility within the context of the extended internal network in the second cloud-computing facility. The currently disclosed methods and systems which provide internal-network extension and redeployment of virtual machines and virtual applications, referred to as “stretch deploy,” allow a virtual machine or virtual application formerly executing on a first cloud-computing facility to resume execution on a second cloud-computing facility, using the computational and storage facilities of the second cloud-computing facility but depending on network support from the first cloud-computing facility, without changing IP and local network addresses and the network connectivity, based on those addresses, between the virtual machines and virtual applications and other local and remote computational entities with which the virtual machines and virtual applications communicate.

Claims (82)

1. A method that relocates one or more virtual execution environments connected to a first local virtual network within a source cloud-computing facility to a target cloud-computing facility, the method comprising:

extending, using a stretch deploy operation carried out by a cloud-connector server and by cloud-connector nodes associated with each of the source and target cloud-computing facilities, the first local virtual network to the target cloud-computing facility; and

moving one or more virtual execution environments, executing on the source cloud-computing facility and communicating with other computational entities through the extended first local virtual network using local and global network addresses, to the target cloud-computing facility where the one or more virtual execution environments execute and communicate with other computational entities through the extended first local virtual network using the same local and global network addresses,

wherein moving the one or more virtual execution environments further comprises

verifying the source-cloud computing facility, target cloud-computing facility, and one or more virtual execution environments to be moved, and

determining that those components of the cloud-computing facility used in the stretch-deploy operation are present and configured.

2. The method of claim 1 wherein the one or more virtual execution environments comprises one of:

a single virtual machine;

two or more virtual machines;

a single virtual application including a single virtual machine; and

a single virtual application including two or more virtual machines.

3. The method of claim 1

wherein the first local virtual network is connected through a first edge appliance to a first organization virtual network within the source cloud computing facility;

wherein a second local virtual network is connected through a second edge appliance to a second organization virtual network within the target cloud computing facility; and

wherein extending the first local virtual network to the target cloud-computing facility further comprises interconnecting the first edge appliance and the second edge appliance with a secure tunnel, joining the first and second local networks together to form the extended first local virtual network.

4. The method of claim 3 wherein the secure tunnel is one of:

an SSL VPN tunnel; and

an IPsec tunnel.

5. The method of claim 1 wherein moving the one or more virtual execution environments from the source cloud-computing facility to the target cloud-computing facility further comprises:

executing an infrastructure phase, copy phase, and deployment phase.

6. The method of claim 5 wherein verifying a cloud-computing facility further comprises:

determining that those components of the cloud-computing facility used in the stretch-deploy operation are licensed; and

determining that the cloud-computing facility has sufficient storage capacity for instantiating a temporary virtual application.

7. The method of claim 5 wherein executing the infrastructure phase further comprises:

creating a routed virtual application with a second local virtual network in the target cloud-computing facility;

launching execution of the routed virtual application within the target cloud-computing facility; and

creating, from a first edge appliance through which the one or more virtual machines are connected to a first virtual organization network that is, in turn, connected to an external network, a secure communications tunnel to a second edge appliance through which the second local virtual network in the routed virtual application is connected to a second virtual organization network, in turn connected to the external network.

8. The method of claim 5 wherein executing the copy phase further comprises:

creating a first temporary virtual application in the source cloud-computing facility;

moving the one or more virtual execution environments to the first temporary virtual application;

generating a virtual application template corresponding to the temporary virtual application; and

copying the virtual application template to the target cloud-computing facility.

9. The method of claim 8 wherein executing the deployment phase further comprises:

creating a second temporary virtual application in the target cloud-computing facility from the virtual application template copied to the target cloud-computing facility; and

moving the one or more virtual execution environments from the second temporary virtual application to the routed virtual application in the target cloud-computing facility.

10. A memory device storing computer instructions that, when executed on one or more processors within a cloud-connector subsystem, control the cloud-connector subsystem to relocate one or more virtual execution environments connected to a first local virtual network within a source cloud-computing facility to a target cloud-computing facility by:

extending, using a stretch deploy operation carried out by a cloud-connector server and by cloud-connector nodes associated with each of the source and target cloud-computing facilities, the first local virtual network to the target cloud-computing facility; and

moving one or more virtual execution environments, executing on the source cloud-computing facility and communicating with other computational entities through the extended first local virtual network using local and global network addresses, to the target cloud-computing facility where the one or more virtual execution environments execute and communicate with other computational entities through the extended local virtual network using the same local and global network addresses,

wherein moving the one or more virtual execution environments further comprises

verifying the source-cloud computing facility, target cloud-computing facility, and one or more virtual execution environments to be moved, and

determining that those components of the cloud-computing facility used in the stretch-deploy operation are present and configured.

11. The computer instructions of claim 10

wherein the first local virtual network is connected through a first edge appliance to a first organization virtual network within the source cloud computing facility;

wherein a second local virtual network is connected through a second edge appliance to a second organization virtual network within the target cloud computing facility; and

wherein extending the virtual network to the target cloud-computing facility further comprises interconnecting the first edge appliance and the second edge appliance with a secure tunnel, joining the first and second local networks together to form the extended first local virtual network.

12. A cloud-connector subsystem that provides a stretch-deploy operation that moves one or more virtual execution environments between cloud-computing facilities, the cloud-connector subsystem comprising:

cloud-connector nodes associated with each of a source and a target cloud-computing facility; and

a cloud-connector server that includes one or more processors, one or more memories, one or more data-storage devices, and computer instructions that, when executed on the one or more processors, control the cloud-connector server to provide, in cooperation with the cloud-connector nodes, a stretch-deploy operation that

extends a first local virtual network within the source cloud-computing facility to the target cloud-computing facility, forming an extended first local virtual network; and

moves one or more virtual execution environments, executing on the source cloud-computing facility and communicating with other computational entities through the extended first local virtual network using local and global network addresses, to the target cloud-computing facility where the one or more virtual execution environments execute and communicate with other computational entities through the extended first local virtual network using the same local and global network addresses,

wherein moving the one or more virtual execution environments further comprises

verifying the source-cloud computing facility, target cloud-computing facility, and one or more virtual execution environments to be moved, and

determining that those components of the cloud-computing facility used in the stretch-deploy operation are present and configured.

13. The cloud-connector subsystem of claim 12 wherein the one or more virtual execution environments comprises one of:

a single virtual machine;

two or more virtual machines;

a single virtual application including a single virtual machine; and

a single virtual application including two or more virtual machines.

14. The cloud-connector subsystem of claim 12

wherein the first local virtual network is connected through a first edge appliance to a first organization virtual network within the source cloud computing facility;

wherein a second local virtual network is connected through a second edge appliance to a second organization virtual network within the target cloud computing facility; and

wherein the stretch-deploy operation extends the first local virtual network within the source cloud-computing facility to the target cloud-computing facility by interconnecting the first edge appliance and the second edge appliance with a secure tunnel, joining the first and second local networks together to form the extended first local virtual network.

15. The cloud-connector subsystem of claim 14 wherein the secure tunnel is an SSL VPN tunnel.

16. The cloud-connector subsystem of claim 12 wherein the stretch-deploy operation moves one or more virtual execution environments from the source cloud-computing facility to the target cloud-computing facility by:

verifying the source cloud-computing facility and one or more virtual execution environments to be moved;

verifying the target cloud-computing facility; and

executing an infrastructure phase, copy phase, and deployment phase.

17. The cloud-connector subsystem of claim 12 wherein the cloud-connector subsystem verifies a cloud-computing facility by:

determining that those components of the cloud-computing facility used in the stretch-deploy operation are present, configured, and licensed; and

determining that the cloud-computing facility has sufficient storage capacity for instantiating a temporary virtual application.

18. The cloud-connector subsystem of claim 17 wherein the cloud-connector subsystem executes the infrastructure phase by:

creating a routed virtual application with a second local virtual network in the target cloud-computing facility;

launching execution of the routed virtual application within the target cloud-computing facility; and

creating, from a first edge appliance through which the one or more virtual machines are connected to a first virtual organization network that is, in turn, connected to an external network, a secure communications tunnel to a second edge appliance through which the second local virtual network in the routed virtual application is connected to a second virtual organization network, in turn connected to the external network.

19. The cloud-connector subsystem of claim 18 wherein the cloud-connector subsystem executes the copy phase by:

creating a first temporary virtual application in the source cloud-computing facility;

moving the one or more virtual execution environments to the first temporary virtual application;

generating a virtual application template corresponding to the temporary virtual application; and

copying the virtual application template to the target cloud-computing facility.

20. The cloud-connector subsystem of claim 19 wherein the cloud-connector subsystem executes deployment phase by:

creating a second temporary virtual application in the target cloud-computing facility from the virtual application template copied to the target cloud-computing facility; and

moving the one or more virtual machines from the second temporary virtual application to the routed virtual application in the target cloud-computing facility.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 13966094 · Aug 13, 2013
Related Publication 20160224367A1 · Aug 4, 2016