IP Library Granted Patent US 11,513,828
Granted Patent B1
US 11,513,828 · App. 15/477,209 · Granted Nov 29, 2022

System and method for rapid cloning of virtual machines under load balancing

Inventors: Anton Zelenov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Costa Del Sol, SG)
Assignee: Parallels International GmbH
G06F9/45558G06F9/5077G06F2009/45562G06F2009/45575G06F2009/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 11,513,828
App. No.
15/477,209
Granted
Nov 29, 2022
Kind
B1
Abstract

A system and method is provided for managing virtualized computing resources. An exemplary method includes executing a computing service comprised of virtualized computing resources including a first virtual machine and a network address mapping module. The method further includes, responsive to receiving an indication that additional virtualized computing resources are needed to handle one or more requests from a client and directed to the computing service, generating a second virtual machine that can handle requests for the computing service by performing a linked cloning operation of the first virtual machine. The method includes, configuring the network address mapping module to modify requests for the second virtual machine, such that the second virtual machine has the same network address as the first virtual machine.

Claims (62)

1. A method for managing computing resources, the method comprising:

providing a computing service comprising a load balancer, one or more physical servers and one or more storage devices which provides virtualized computing resources to one or more client devices which are connected to the computing service via a network where the virtualized computing resources comprising virtual machines (VMs);

determining by the computing service that a variation in the virtualized computing resources is required to handle client requests directed to the computing server by the one or more client devices; and

upon determining that the variation is for an increase in the virtualized computing resources a virtual machine (VM) manager of the computing service executes a first process, wherein

the determination by the computing service that the variation in the virtualized computing resources is required is performed by the load balancer;

the load balancer makes the determination in dependence upon an incoming flow of client requests and current workloads of the existing virtualized computing resources;

the first process executed by the VM manager comprises generating a linked clone VM of an existing VM; and

the linked clone VM has:

the same configuration as the existing VM;

a guest operating system (OS) the same as the guest OS of the existing VM;

a common set of installed applications and data as the existing VM;

a common private Internet Protocol (IP) address with the existing VM;

a different public IP address to the public address of the existing VM; and

a common media access control (MAC) address of a virtual network adapter of the linked clone VM as the MAC address of another virtual media network adapter of the existing VM.

2. The method according to claim 1 , wherein

the computing service further comprises a network address mapping module (NAT); and

the NAT is configured to map the common private IP address to both the different public IP address of the linked clone VM and the public IP address of the existing VM such that the linked clone VM and existing VM receive traffic at their respective public IP addresses whilst internally sharing a single private IP address.

3. A method for managing computing resources, the method comprising:

providing a computing service comprising a load balancer, one or more physical servers and one or more storage devices which provides virtualized computing resources to one or more client devices which are connected to the computing service via a network where the virtualized computing resources comprising virtual machines (VMs);

determining by the computing service that a variation in the virtualized computing resources is required to handle client requests directed to the computing server by the one or more client devices; and

upon determining that the variation is for an increase in the virtualized computing resources a virtual machine (VM) manager of the computing service executes a first process; wherein

the determination by the computing service that the variation in the virtualized computing resources is required is performed by the load balancer or the VM manager in dependence upon at least one of an incoming flow of client requests, current workloads of the existing virtualized computing resources, and a rate of incoming client requests; and

the first process comprises:

establishing a clone VM;

pausing with the VM manager an existing VM;

copying state data of the existing VM to the clone VM;

modifying a copy-on write setting associated with a guest memory of the existing VM;

creating a linked virtual disk for the state data of the cloned VM;

resuming execution of the existing VM; and

executing the cloned VM as a linked clone VM of the existing VM.

4. The method according to claim 3 , wherein the first process further comprises:

establishing a different public Internet Protocol (IP) address for the linked clone VM to the public IP address of the existing VM; and

establishing a private IP address for the linked clone VM as an existing private IP address for the existing VM.

5. A method for managing computing resources, the method comprising:

providing a computing service comprising a load balancer, one or more physical servers and one or more storage devices which provides virtualized computing resources to one or more client devices which are connected to the computing service via a network where the virtualized computing resources comprising virtual machines (VMs);

determining by the computing service that a variation in the virtualized computing resources is required to handle client requests directed to the computing server by the one or more client devices; and

upon determining that the variation is for an increase in the virtualized computing resources a virtual machine (VM) manager of the computing service executes a first process; wherein

the determination by the computing service that the variation in the virtualized computing resources is required is performed by the load balancer or the VM manager in dependence upon at least one of an incoming flow of client requests, current workloads of the existing virtualized computing resources, and a rate of incoming client requests; and

the first process comprises:

generating a snapshot of an existing VM in execution;

generating a linked clone VM using the snapshot;

executing the linked clone VM;

establishing a different public Internet Protocol (IP) address for the linked clone VM to the public IP address of the existing VM;

establishing a private IP address for the linked clone VM as an existing private IP address for the existing VM; and

one of:

updating a network address mapping module of the computing service to map the now common private IP address of the linked clone VM and the existing VM to both the different public IP address of the linked clone VM and the public IP address of the existing VM such that the linked clone VM and existing VM receive traffic at their respective public IP addresses whilst internally sharing a single private IP address, and

establishing a new instance of a network address mapping module of the computing service to map the now common private IP address of the linked clone VM and the existing VM to both the different public IP address of the linked clone VM and the public IP address of the existing VM such that the linked clone VM and existing VM receive traffic at their respective public IP addresses whilst internally sharing a single private IP address.

6. A method for managing computing resources, the method comprising:

providing a computing service comprising a load balancer, one or more physical servers and one or more storage devices which provides virtualized computing resources to one or more client devices which are connected to the computing service via a network where the virtualized computing resources comprising virtual machines (VMs);

determining by the computing service that a variation in the virtualized computing resources is required to handle client requests directed to the computing server by the one or more client devices; and

upon determining that the variation is for an increase in the virtualized computing resources a virtual machine (VM) manager of the computing service executes a first process; wherein

the determination by the computing service that the variation in the virtualized computing resources is required is performed by the load balancer or the VM manager in dependence upon at least one of an incoming flow of client requests, current workloads of the existing virtualized computing resources, and a rate of incoming client requests; and

the first process comprises:

generating a snapshot of an existing VM in execution;

generating a linked clone VM using the snapshot;

executing the linked clone VM;

establishing a different public Internet Protocol (IP) address for the linked clone VM to the public IP address of the existing VM;

establishing a private IP address for the linked clone VM as an existing private IP address for the existing VM; and

updating a network address mapping module of the computing service to map the now common private IP address of the linked clone VM and the existing VM to both the different public IP address of the linked clone VM and the public IP address of the existing VM such that the linked clone VM and existing VM receive traffic at their respective public IP addresses whilst internally sharing a single private IP address; and

one of:

the first process further comprises notifying the load balancer with the VM manager that the linked clone VM is now a newly available virtualized computing resource, and

the linked clone VM once established self-advertises to the load balancer that it is now a newly available virtualized computing resource.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2017
From: ZELENOV, ANTON; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 041823/0994 →
Cited By (2)
US 12,363,062 US 12,695,701