IP Library › Granted Patent US 11,385,972
Granted Patent B2
US 11,385,972 · App. 16/453,348 · Granted Jul 12, 2022

Virtual-machine-specific failover protection

Inventors: Charan Singh K (Sunnyvale, CA); Fei Guo (San Jose, CA)
Assignee: VMware, Inc.
G06F11/1484G06F9/45533G06F9/505G06F11/2033G06F2009/4557
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,385,972
App. No.
16/453,348
Granted
Jul 12, 2022
Kind
B2
Abstract

Disclosed are various examples for virtual-machine-specific failover protection. In some examples, a power-on request is received for a protected virtual machine. Virtual-machine-specific failover protection is enabled for the protected virtual machine. The protected virtual machine is executed on a first host of a cluster, and a dynamic virtual machine slot for the protected virtual machine is created on a second host of the cluster. The dynamic virtual machine slot is created to match a hardware resource configuration of the protected virtual machine. An anti-affinity rule is maintained between the protected virtual machine and the dynamic virtual machine slot.

Claims (50)

1. A system, comprising:

a cluster comprising a plurality of hosts;

a plurality of virtual machines executing in the cluster; and

a data store comprising executable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

receive a power-on request associated with a protected virtual machine of the plurality of virtual machines, a configuration of the protected virtual machine indicating that virtual-machine-specific failover protection is enabled;

execute the protected virtual machine on a first host of the cluster;

create, on a second host of the cluster, a dynamic virtual machine slot for the protected virtual machine, the dynamic virtual machine slot being created to match a hardware resource configuration of the protected virtual machine;

maintain an anti-affinity rule between the protected virtual machine and the dynamic virtual machine slot, the anti-affinity rule prohibiting the dynamic virtual machine slot and the protected virtual machine from residing on a same host;

create, on a third host of the cluster, a second dynamic virtual machine slot for the protected virtual machine matching the hardware resource configuration of the protected virtual machine based on a number of failures to tolerate being greater than one, wherein the second dynamic virtual machine slot is created on the third host of the cluster in response to the anti-affinity rule;

identify a provisioning operation that modifies the protected virtual machine to require an updated hardware resource configuration, the updated hardware resource configuration comprising a memory or a CPU configuration; and

update the dynamic virtual machine slot and the second dynamic virtual machine slot to match the updated hardware resource configuration.

2. The system of claim 1 , wherein the dynamic virtual machine slot is moved from the second host to a fourth host in order to match the updated hardware resource configuration.

3. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

identify a failure of the first host; and

in response to the failure of the first host, execute the protected virtual machine in the dynamic virtual machine slot on the second host.

4. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

determine that the protected virtual machine is powered off; and

destroy the dynamic virtual machine slot based on the protected virtual machine being powered off.

5. The system of claim 1 , wherein the hardware resource configuration comprises a central processing unit (CPU) configuration and a memory configuration.

6. A non-transitory computer-readable medium comprising executable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

receive a power-on request associated with a protected virtual machine, a configuration of the protected virtual machine indicating that virtual-machine-specific failover protection is enabled;

execute the protected virtual machine on a first host of a cluster;

create, on a second host of the cluster, a dynamic virtual machine slot for the protected virtual machine, the dynamic virtual machine slot being created to match a hardware resource configuration of the protected virtual machine;

maintain an anti-affinity rule between the protected virtual machine and the dynamic virtual machine slot, the anti-affinity rule prohibiting the dynamic virtual machine slot and the protected virtual machine from residing on a same host;

create, on a third host of the cluster, a second dynamic virtual machine slot for the protected virtual machine matching the hardware resource configuration of the protected virtual machine based on a number of failures to tolerate being greater than one, wherein the second dynamic virtual machine slot is created on the third host of the cluster in response to the anti-affinity rule;

identify a provisioning operation that modifies the protected virtual machine to require an updated hardware resource configuration, the updated hardware resource configuration comprising a memory or a CPU configuration; and

update the dynamic virtual machine slot and the second dynamic virtual machine slot to match the updated hardware resource configuration.

7. The non-transitory computer-readable medium of claim 6 , wherein the dynamic virtual machine slot is moved from the second host to a fourth host in order to match the updated hardware resource configuration.

8. The non-transitory computer-readable medium of claim 6 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

identify a failure of the first host; and

in response to the failure of the first host, execute the protected virtual machine in the dynamic virtual machine slot on the second host.

9. The non-transitory computer-readable medium of claim 6 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

determine that the protected virtual machine is powered off; and

destroy the dynamic virtual machine slot based on the protected virtual machine being powered off.

10. The non-transitory computer-readable medium of claim 6 , wherein the hardware resource configuration comprises a central processing unit (CPU) configuration and a memory configuration.

11. A method comprising:

receiving a power-on request associated with a protected virtual machine, a configuration of the protected virtual machine indicating that virtual-machine-specific failover protection is enabled;

executing the protected virtual machine on a first host of a cluster;

creating, on a second host of the cluster, a dynamic virtual machine slot for the protected virtual machine, the dynamic virtual machine slot being created to match a hardware resource configuration of the protected virtual machine;

maintaining an anti-affinity rule between the protected virtual machine and the dynamic virtual machine slot, the anti-affinity rule prohibiting the dynamic virtual machine slot and the protected virtual machine from residing on a same host;

create, on a third host of the cluster, a second dynamic virtual machine slot for the protected virtual machine matching the hardware resource configuration of the protected virtual machine based on a number of failures to tolerate being greater than one, wherein the second dynamic virtual machine slot is created on the third host of the cluster in response to the anti-affinity rule;

identify a provisioning operation that modifies the protected virtual machine to require an updated hardware resource configuration, the updated hardware resource configuration comprising a memory or a CPU configuration; and

update the dynamic virtual machine slot and the second dynamic virtual machine slot to match the updated hardware resource configuration.

12. The method of claim 11 , wherein the dynamic virtual machine slot is moved from the second host to a fourth host in order to match the updated hardware resource configuration.

13. The method of claim 11 , further comprising:

identifying a failure of the first host; and

in response to the failure of the first host, executing the protected virtual machine in the dynamic virtual machine slot on the second host.

14. The method of claim 11 , further comprising:

determining that the protected virtual machine is powered off; and

destroying the dynamic virtual machine slot based on the protected virtual machine being powered off.

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 Jul 29, 2019
From: K, CHARAN SINGH; GUO, FEI
To: VMWARE, INC.
Reel/Frame 049885/0537 →
Continuity (1)
Related Publication 20200409806A1 · Dec 31, 2020
Cited By (1)
US 12,645,481