IP Library Granted Patent US 11,061,705
Granted Patent B2
US 11,061,705 · App. 14/659,337 · Granted Jul 13, 2021

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,061,705
App. No.
14/659,337
Granted
Jul 13, 2021
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 (41)

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 health status server to at least:

in response to a change to a script to address at least one of a security threat or a regulatory requirement created by a third party, launch multiple virtual machines from the multiple virtual machine templates;

run the changed script against the multiple virtual machines;

generate, for each of the multiple virtual machines, an output report indicating success or failure for the virtual machine against the changed script;

modify, based on the output report indicating failure for at least one of the virtual machines, at least one of the multiple virtual machine templates, the modification being performed during runtime of the at least one virtual machine; and

decommission, based on a subsequent output report indicating success for at least one of the virtual machines after the modification performed during runtime, the at least one modified launched virtual machine for which the template was modified.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the changed script runs concurrently against each of the multiple virtual machines.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the changed script runs as background processes against the multiple virtual machines while other applications are running on the multiple virtual machines.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the instructions are further configured to cause the health server to run different sets of scripts for different customers.

5. The non-transitory computer-readable storage medium of claim 1 , further comprising, based on at least one of the virtual machines failing a test based on the changed script, receiving modifications to the virtual machines and propagating the modifications from the virtual machines to the virtual machine templates.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the changed script further determines whether the multiple virtual machines have corrupted or missing dynamic link library (DLL) files.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the changed script further determines whether the multiple virtual machines have corrupted system files.

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

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

10. The non-transitory computer-readable storage medium of claim 1 , wherein the at least one of the security threat or the regulatory requirement comprises the security threat.

11. The non-transitory computer-readable storage medium of claim 1 , wherein the at least one of the security threat or the regulatory requirement comprises the regulatory requirement.

12. 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 health status server to at least:

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, launch a virtual machine from a virtual machine template;

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

determine 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;

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

modify 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;

determine, 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, decommission the modified launched virtual machine.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the first script prompts the launched virtual machine to execute a boot file and the second script prompts the launched virtual machine to execute an operating system file.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the first script prompts the launched virtual machine to read data from a third-party database and the second script prompts the launched virtual machine to write data to the third-party database.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the first script prompts the launched virtual machine to launch a third-party application and the second script prompts the launched virtual machine to call a third-party application programming interface (API).

16. The non-transitory computer-readable storage medium of claim 12 , wherein the first script compares execution of a file included in the launched virtual machine to a governmental regulation requirement and the second script implements a security threat against the launched virtual machine.

17. The non-transitory computer-readable storage medium of claim 12 , wherein the launching, running, determining whether the first job passes the first script and the second job passes the second script, and outputting are performed on multiple virtual machine templates in response to an administrator adding a new script.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions are further configured to cause the health status server to implement modifications to the launched virtual machine template based on the modifications to the launched virtual machine.

19. The non-transitory computer-readable storage medium of claim 12 , wherein, after decommissioning the virtual machine, the instructions are further configured to propagate in the virtual machine template the modification to the launched virtual machine to address the failure to pass the first script.

20. 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 health status server to at least:

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, launch a virtual machine from a virtual machine template, the first script being associated with a first customer and the second script being associated with a second customer;

concurrently run at least the first script and the second script against the virtual machine as background jobs;

determine that a first job does not pass the first script and that a second job passes the second script;

output a report indicating that the first job did not pass and that the second job passed;

receive modification input to resolve a problem indicated by the report based on the report indicating that the first job did not pass;

modify the virtual machine to resolve the problem indicated by the report based on the received modification input;

implement modifications to the virtual machine template to resolve the problem indicated by the report based on the modifications to the virtual machine;

run at least the first script against the modified virtual machine; and

decommission the modified virtual machine in response to determining that the first job passed the first script.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
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 →
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
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 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2015
From: SAVANT, PRAVIN
To: BMC SOFTWARE, INC.
Reel/Frame 035175/0787 →