US 11,809,913 B2
Load balancing of cloned virtual machines
Kalyan Saladi, Sunnyvale, CA (US); and Ganesha Shanmuganathan, Mountain View, CA (US)
Assigned to VMWare, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Sep. 24, 2021, as Appl. No. 17/484,432.
Application 17/484,432 is a continuation of application No. 15/509,426, granted, now 11,132,234, previously published as PCT/US2015/048997, filed on Sep. 8, 2015.
Application 15/509,426 is a continuation of application No. 14/481,832, filed on Sep. 9, 2014, granted, now 9,389,901, issued on Jul. 12, 2016.
Prior Publication US 2022/0019468 A1, Jan. 20, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/50 (2006.01); G06F 9/455 (2018.01)
CPC G06F 9/505 (2013.01) [G06F 9/45533 (2013.01); G06F 9/45558 (2013.01); G06F 9/5066 (2013.01); G06F 9/5088 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45583 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method for managing placement of a set of virtual machines in a virtual machine network, comprising:
creating a parent virtual machine on a first host computing device;
creating a plurality of cloned virtual machines from the parent virtual machine, the cloned virtual machines and the parent virtual machine using a shared memory,
concurrently executing the plurality of cloned virtual machines, wherein a subset of the plurality of cloned executing virtual machines, independently, perform 1) creating a copy of a page of the shared memory as a dedicated memory page associated with the respective individual cloned virtual machine and 2) writing to the associated dedicated memory page;
subsequent to the concurrent execution, determining a capability of the first host computing device to support an additional virtual machine;
in response to determining that the first host computing device is not capable of supporting the additional virtual machine, selecting from the plurality of cloned virtual machines a cloned virtual machine that has the highest number of dedicated memory pages of the shared memory;
migrating the cloned virtual machine that has the highest number of dedicated memory pages of the shared memory from the first host computing device to a second host computing device and leaving at least one remaining cloned virtual machine from the plurality of cloned virtual machines on the first host computing device; and
reclaiming the dedicated memory pages of the migrated cloned virtual machine to allow the placement of the additional virtual machine.