IP Library Granted Patent US 11,392,404
Granted Patent B2
US 11,392,404 · App. 17/303,808 · Granted Jul 19, 2022

Maintaining virtual machine templates

Inventor: Pravin Savant (Pune, IN)
Assignee: BMC Software, Inc.
G06F9/45558G06F2009/45591
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,392,404
App. No.
17/303,808
Granted
Jul 19, 2022
Kind
B2
Abstract

A non-transitory computer-readable storage medium may comprise instructions for determining health statuses of multiple virtual machine templates stored thereon. When executed by at least one processor, the instructions may be configured to cause a health status server to at least run multiple scripts against multiple virtual machines, each of the multiple virtual machines being generated from one of the multiple virtual machine templates, and generate, for each of the multiple virtual machines, an output report indicating success or failure for each of the multiple scripts.

Claims (49)

1. A non-transitory computer-readable storage medium comprising instructions for determining health statuses of multiple virtual machine templates stored thereon that, when executed by at least one processor, are configured to cause a computing system to at least:

launch a virtual machine from a virtual machine template;

run a script against the virtual machine;

generate a first output report indicating failure for the virtual machine against the script;

modify, based on the first output report indicating failure for the virtual machine, the virtual machine template;

generate a second output report indicating success for the virtual machine after the virtual machine template was modified; and

decommission, based on the output report indicating success for the virtual machine after the modification, the launched virtual machine.

2. The non-transitory computer-readable storage medium of claim 1 , wherein:

the instructions are further configured to cause the computing system to relaunch the virtual machine from the virtual machine template after modifying the virtual machine template, and

the decommissioning the launched virtual machine comprises decommissioning the relaunched virtual machine based on the output report indicating success for the virtual machine after the modification.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the instructions are configured to cause the computing system to launch the virtual machine from the virtual machine template in response to the script changing.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the modification is performed during runtime of the virtual machine.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the script runs as a background process against the virtual machine while another application is running on the virtual machine.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the instructions are further configured to cause the computing system to:

receive a modification to the virtual machine based on the first output report indicating failure for the virtual machine; and

propagate the modification to the virtual machine template.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the script further determines whether the virtual machine has corrupted or missing dynamic link library (DLL) files.

8. The non-transitory computer-readable storage medium of claim 1 , wherein the script further determines whether the virtual machine has corrupted system files.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the script addresses a third-party application.

10. The non-transitory computer-readable storage medium of claim 1 , wherein the script addresses a third-party application programming interface (API).

11. A method performed by a computing system, the method comprising:

in response to a change to at least a first script addressing a first issue created by a first third party and a second script addressing a second issue created by a second third party, launching a virtual machine from a virtual machine template;

running at least the first script and the second script against the launched virtual machine;

determining whether a first job running on the launched virtual machine passes the first script and whether a second job running on the launched virtual machine passes the second script;

outputting a report indicating that the first job failed to pass the first script and the second job passed the second script;

modifying the launched virtual machine to address the failure to pass the first script based on the report indicating that the first job failed to pass the first script, the modification including adding code to the virtual machine template from which the virtual machine was launched;

determining, after the modification to the launched virtual machine, that the modified launched virtual machine passed both the first script and the second script; and

based on the determination that the modified launched virtual machine passed both the first script and the second script, decommissioning the modified launched virtual machine.

12. The method of claim 11 , further comprising:

relaunching the virtual machine from the virtual machine template after modifying the virtual machine template,

wherein the decommissioning the launched virtual machine comprises decommissioning the relaunched virtual machine based on the output report indicating success for the virtual machine after the modification.

13. The method of claim 11 , wherein the launching the virtual machine from the virtual machine template is performed in response to the script changing.

14. The method of claim 11 , further comprising, after decommissioning the virtual machine, propagating, to the virtual machine template, the modification to the launched virtual machine that addressed the failure to pass the first script.

15. A method performed by a computing system, the method comprising:

launching a virtual machine from a virtual machine template;

running a script against the virtual machine;

generating a first output report indicating failure for the virtual machine against the script;

modifying, based on the first output report indicating failure for the virtual machine, the virtual machine template;

generating a second output report indicating success for the virtual machine after the virtual machine template was modified; and

decommissioning, based on the output report indicating success for the virtual machine after the modification, the launched virtual machine.

16. The method of claim 15 , further comprising:

relaunching the virtual machine from the virtual machine template after modifying the virtual machine template,

wherein the decommissioning the launched virtual machine comprises decommissioning the relaunched virtual machine based on the output report indicating success for the virtual machine after the modification.

17. The method of claim 15 , further comprising launching the virtual machine from the virtual machine template in response to the script changing.

18. The method of claim 15 , wherein the modification is performed during runtime of the virtual machine.

19. The method of claim 15 , wherein the script runs as a background process against the virtual machine while another application is running on the virtual machine.

20. The method of claim 15 , further comprising:

receiving a modification to the virtual machine based on the first output report indicating failure for the virtual machine; and

propagating the modification to the virtual machine template.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2021
From: SAVANT, PRAVIN
To: BMC SOFTWARE, INC.
Reel/Frame 056581/0760 →