IP Library Granted Patent US 9,389,901
Granted Patent B2
US 9,389,901 · App. 14/481,832 · Granted Jul 12, 2016

Load balancing of cloned virtual machines

Inventors: Kalyan Saladi (Sunnyvale, CA); Ganesha Shanmuganathan (Mountain View, CA)
Assignee: VMware, Inc.
G06F9/45558G06F9/45533G06F9/505G06F2009/4557G06F2009/45583
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 9,389,901
App. No.
14/481,832
Granted
Jul 12, 2016
Kind
B2
Abstract

A method, a non-transitory computer-readable storage medium, and a computer system for managing the placement of virtual machines in a virtual machine network are disclosed. In an embodiment, a method involves determining if at least one virtual machine in a set of virtual machines supporting a process and running on a first host computer needs to be separated from other virtual machines in the set. If at least one virtual machine needs to be separated, then at least one virtual machine is selected to be separated based on the number of memory pages changed. The selected VM is then separated from the other virtual machines in the set.

Claims (36)

1. A method for managing the placement of a set of virtual machines in a virtual machine network, the method comprising:

determining, by a processor, if instantiated virtual machines in a set of virtual machines supporting a process and running on a first host computer can be supported by the first host computer; and

if at least one instantiated virtual machine cannot be supported by the first host computer, selecting at least one of the virtual machines from the set of virtual machines that has copied a number of pages to dedicated memory in excess of a pre-defined threshold; and

separating the at least one virtual machine from the other virtual machines in the set of virtual machines.

2. The method of claim 1 , wherein separating the at least one virtual machine comprises migrating the at least one virtual machine to a second host computer.

3. The method of claim 1 , wherein separating the at least one virtual machine comprises migrating the other virtual machines in the set of virtual machines to a second host computer and leaving the at least one virtual machine on the first host computer.

4. The method of claim 1 , wherein the set of virtual machines supporting a process comprises a parent virtual machine and at least one child virtual machine cloned from the parent virtual machine.

5. The method of claim 1 , wherein the at least one virtual machine in the set of virtual machines is initialized to use pages of shared memory and to copy a page from the shared memory over to dedicated memory when the at least one virtual machine needs to write to the page.

6. The method of claim 1 , wherein the at least one virtual machine separated from the other virtual machines in the set of virtual machines has changed the highest number of memory pages.

7. The method of claim 1 , wherein the at least one virtual machine in the set of virtual machines supporting a process and running on a first host computer needs to be migrated when the first host computer cannot support all the virtual machines in the set of virtual machines.

8. The method of claim 1 , wherein the pre-defined threshold is defined as a percentage of pages copied from shared memory to dedicated memory.

9. A non-transitory computer-readable storage medium containing program instructions, wherein execution of the program instructions by one or more processors causes the one or more processors to perform steps comprising:

determining if instantiated virtual machines in a set of virtual machines supporting a process and running on a first host computer can be supported by the first host computer;

if at least one instantiated virtual machine cannot be supported by the first host computer,

selecting at least one of the virtual machines from the set of virtual machines that has copied a number of pages to dedicated memory in excess of a pre-defined threshold; and

separating the at least one virtual machine from the other virtual machines in the set of virtual machines.

10. The non-transitory computer-readable storage medium of claim 9 , wherein separating the at least one virtual machine comprises migrating the at least one virtual machine to a second host computer.

11. The non-transitory computer-readable storage medium of claim 9 , wherein separating the at least one virtual machine comprises migrating the other virtual machines in the set of virtual machines to a second host computer and leaving the at least one virtual machine on the first host computer.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the set of virtual machines supporting a process comprises a parent virtual machine and at least one child virtual machine cloned from the parent virtual machine.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the at least one virtual machine in the set of virtual machines is initialized to use pages of shared memory and to copy a page from the shared memory over to dedicated memory when the at least one virtual machine needs to write to the page.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the at least one virtual machine separated from the other virtual machines in the set of virtual machines has changed the highest number of memory pages.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the at least one virtual machine in the set of virtual machines supporting a process and running on a first host computer needs to be migrated when the first host computer cannot support all the virtual machines in the set of virtual machines.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the pre-defined threshold is defined as a percentage of pages copied from shared memory to dedicated memory.

17. A computer system comprising:

at least one host computing device, the host computing device including a processor and memory for running instantiated virtual machines; and

the at least one host computing device being configured to:

determine if instantiated virtual machines in a set of virtual machines supporting a process and running on a first host computer can be supported by the first host computer; and

if at least one instantiated virtual machine in the set of virtual machines cannot be supported by the first host computer, select at least one of the virtual machines from the set of virtual machines that has copied a number of pages to dedicated memory in excess of a pre-defined threshold; and

separate the at least one virtual machine from the other virtual machines in the set of virtual machines.

18. The computer system of claim 17 , wherein separating the at least one virtual machine comprises migrating the at least one virtual machine to a second host computer.

19. The computer system of claim 17 , wherein separating the at least one virtual machine comprises migrating the other virtual machines in the set of virtual machines to a second host computer and leaving the at least one virtual machine on the first host computer.

20. The computer system of claim 17 , wherein the set of virtual machines supporting a process comprises a parent virtual machine and at least one child virtual machine cloned from the parent virtual machine.

21. The computer system of claim 17 , wherein the at least one virtual machine in the set of virtual machines is initialized to use pages of shared memory and to copy a page from the shared memory over to dedicated memory when the at least one virtual machine needs to write to the page.

22. The computer system of claim 17 , wherein the at least one virtual machine separated from the other virtual machines in the set of virtual machines has changed the highest number of memory pages.

23. The computer system of claim 17 , wherein the at least one virtual machine in the set of virtual machines supporting a process and running on a first host computer needs to be migrated when the first host computer cannot support all the virtual machines in the set of virtual machines.

24. The computer system of claim 17 , wherein the pre-defined threshold is defined as a percentage of pages copied from shared memory to dedicated memory.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: SALADI, KALYAN; SHANMUGANATHAN, GANESHA
To: VMWARE, INC.
Reel/Frame 033704/0458 →
Continuity (1)
Related Publication 20160070587A1 · Mar 10, 2016