IP Library Granted Patent US 12,277,433
Granted Patent B2
US 12,277,433 · App. 17/533,666 · Granted Apr 15, 2025

Desired state configuration for virtual machines

Inventors: Daniel Beveridge (Palo Alto, CA); Ed Shmookler (Palo Alto, CA); Heath Reynolds (Palo Alto, CA); Mike O'Reilly (Palo Alto, CA); Pascal Laroche (Palo Alto, CA); Sean Lambert (Palo Alto, CA); Pranay Pareek (Palo Alto, CA); Amarnath Raghunathan (Palo Alto, CA); Steve Tilkens (Palo Alto, CA); Mark Peek (Palo Alto, CA); Yuriy Georgiev (Sofia, BG)
Assignee: VMware LLC
G06F9/45558G06F9/4401G06F9/4411G06F9/44505G06F2009/45575
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 12,277,433
App. No.
17/533,666
Granted
Apr 15, 2025
Kind
B2
Abstract

Systems and methods for setting virtual machines (“VMs”) to desired configurations while the virtual machines are running. In some systems, a user can select a VM and a desired configuration. An agent can then set an attribute of the virtual machine to indicate that on guest operation system (“OS”) reboot of the VM, the VM will enter BIOS mode. The agent can also store the desired configuration in the database based on authenticating the user. When the VM reboots at a future time, the attribute can cause the VM to enter BIOS setup. The agent can be notified and can retrieve the desired configuration from a database using an identifier for the VM. Then the agent can apply the desired configuration to the VM during BIOS setup with a system process that does not require further user authentication.

Claims (34)

1. A method for virtual machine state configuration, comprising:

receiving a desired configuration for future application to a virtual machine (“VM);

setting a flag of the VM to indicate the VM should enter BIOS setup on next boot, wherein an agent responsible for applying the desired configuration subscribes for notification of the VM entering BIOS mode;

based on a determination that the agent has not applied the desired configuration to the VM after the VM has entered the BIOS setup on the next boot, reapplying the flag setting of the VM; and

based on the agent receiving a notification that the VM has entered the BIOS setup on a subsequent boot, applying the desired configuration to the VM.

2. The method of claim 1 , wherein applying the desired configuration includes powering off the VM, modifying a definition file for the VM, and powering on the VM.

3. The method of claim 1 , wherein the agent fails to apply the desired configuration based on missing the notification as part of scheduled downtime to a desired state change service that utilizes the agent.

4. The method of claim 1 , wherein the agent fails to apply the desired configuration based on the agent crashing, and wherein the agent executes again prior to receiving the notification on the subsequent boot.

5. The method of claim 1 , wherein the agent fails to apply the desired configuration based on trigger criteria for the desired configuration being unmet.

6. The method of claim 5 , wherein the trigger criteria includes a date requirement for when the desired configuration can be applied.

7. The method of claim 1 , wherein the desired configuration includes changes to amounts of computer processing units and memory utilized by the VM.

8. A non-transitory, computer-readable medium including instructions for virtual machine state configuration, wherein the instructions are executed by a processor, causing the processor to perform stages comprising:

receiving a desired configuration for future application to a virtual machine (“VM”);

setting a flag of the VM to indicate the VM should enter BIOS setup on next boot, wherein an agent responsible for applying the desired configuration subscribes for notification of the VM entering BIOS mode;

based on a time expiring for the agent to apply the desired configuration, resetting the flag of the VM to cause the VM to enter the BIOS setup on a subsequent boot; and

when the VM enters the BIOS setup on the subsequent boot, powering off the VM, applying the desired configuration, and powering on the VM.

9. The non-transitory, computer-readable medium of claim 8 , wherein the agent is paused for a scheduled period, during which the time expires.

10. The non-transitory, computer-readable medium of claim 8 , the stages further comprising deleting the desired configuration after an expiration period.

11. The non-transitory, computer-readable medium of claim 8 , the stages further comprising rolling back the VM from the desired configuration to a prior configuration based on the time expiring.

12. The non-transitory, computer-readable medium of claim 8 , wherein the agent fails to apply the desired configuration based on trigger criteria for the desired configuration being unmet.

13. The non-transitory, computer-readable medium of claim 12 , wherein the trigger criteria includes a date requirement for when the desired configuration can be applied.

14. The non-transitory, computer-readable medium of claim 8 , wherein the desired configuration includes changing a number of computer processing units and memory size for the VM.

15. A system for virtual machine state configuration, comprising:

a non-transitory, computer-readable medium containing instructions; and

a processor that executes the instructions to perform stages comprising:

receiving a desired configuration for future application to a virtual machine (“VM”);

setting a flag of the VM to indicate the VM should enter BIOS setup on next boot, wherein an agent responsible for applying the desired configuration subscribes for notification of the VM entering BIOS mode;

when the agent fails to apply the desired configuration after the next boot, resetting the flag of the VM to cause the VM to enter the BIOS setup on a subsequent boot; and

when the VM enters the BIOS setup on the subsequent boot, powering off the VM, applying the desired configuration, and powering on the VM.

16. The system of claim 15 , wherein the agent is paused when the next boot occurs.

17. The system of claim 15 , the stages further comprising deleting the desired configuration after an expiration period.

18. The system of claim 15 , the stages further comprising rolling back the VM from the desired configuration to a prior configuration based on the time expiring.

19. The system of claim 15 , wherein the agent fails to apply the desired configuration based on trigger criteria for the desired configuration being unmet.

20. The system of claim 15 , wherein the desired configuration includes changing a number of computer processing units and memory size for the VM.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2021
From: TILKENS, STEVE; SHMOOKLER, ED; REYNOLDS, HEATH; O'REILLY, MIKE; LAROCHE, PASCAL; LAMBERT, SEAN; PAREEK, PRANAY; RAGHUNATHAN, AMARNATH; BEVERIDGE, DANIEL; PEEK, MARK; GEORGIEV, YURIY
To: VMWARE, INC.
Reel/Frame 058199/0643 →
Continuity (2)
Provisional Application 63248724 · Sep 27, 2021
Related Publication 20230101776A1 · Mar 30, 2023
References Cited (21)
US 9354896B1 · Yang · 2016 [cited by examiner]
US 9836330B2 · Chen · 2017 [cited by applicant]
US 10866895B2 · Ng · 2020 [cited by examiner]
US 11494217B1 · Krasilnikov · 2022 [cited by examiner]
US 20110179414A1 · Goggin · 2011 [cited by examiner]
US 20110258441A1 · Ashok · 2011 [cited by applicant]
US 20140010110A1 · Zeng et al. · 2014 [cited by applicant]
US 20160041837A1 · Rangayya · 2016 [cited by examiner]
US 20170220287A1 · Wei · 2017 [cited by applicant]
US 20180129524A1 · Bryant · 2018 [cited by applicant]
US 20190114199A1 · Aluvala · 2019 [cited by applicant]
US 20200092334A1 · Hiebert · 2020 [cited by examiner]
US 20200167176A1 · Arroyo · 2020 [cited by examiner]
US 20200218544A1 · Ganesan · 2020 [cited by applicant]
US 20210073035A1 · Duluk, Jr. · 2021 [cited by applicant]
US 20230096716A1 · Beveridge et al. · 2023 [cited by applicant]
U.S. Appl. No. 17/533,656 Non-Provisional Application filed Nov. 23, 2021, 65 pages. [cited by applicant]
U.S. Appl. No. 17/533,656 Non-Final Office Action dated May 3, 2023, 42 pages. [cited by applicant]
U.S. Appl. No. 17/533,656 Final Office Action dated Jul. 14, 2023, 45 pages. [cited by applicant]
U.S. Appl. No. 17/533,656 Non-Final Office Action dated Oct. 10, 2023, 44 pages. [cited by applicant]
U.S. Appl. No. 17/533,656 Final Office Action dated May 1, 2024, 49 pages. [cited by applicant]