IP Library Granted Patent US 10,430,204
Granted Patent B2
US 10,430,204 · App. 15/054,710 · Granted Oct 1, 2019

System and method for cloud provisioning and application deployment

Inventors: Robert E. Reeves (Austin, TX); Daniel P. Nelson (Austin, TX)
Assignee: BladeLogic Inc.
G06F9/445G06F8/61G06F8/63G06F8/65G06F9/44526G06F9/5027G06F9/5077H04L67/02H04L67/10H04L67/34G06F9/44505
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 10,430,204
App. No.
15/054,710
Granted
Oct 1, 2019
Kind
B2
Abstract

Embodiments described herein provide systems and methods for installing or otherwise supporting applications in a cloud environment and systems and methods for provisioning a cloud environment. One embodiment includes abstracting a set of configuration information associated with a first environment into a set of environment independent attributes and a set of environment dependent attributes. A second environment may then be configured using the mapped environment independent attributes and the values for the set of environment dependent attributes. If the second environment is a cloud environment, embodiments described herein can include provisioning the cloud environment by mapping hardware and/or software characteristics of the first environment and/or user selected characteristics to abstractions of the characteristics and sending API calls to a cloud environment interface based on the abstractions of the characteristics to provision a selected target environment in the cloud environment.

Claims (50)

1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to implement:

a snapshot engine to capture hardware characteristics and software characteristics from a user-selected physical environment and to create abstractions from the hardware characteristics and the software characteristics, wherein the abstractions include classes of hardware and classes of software;

a provisioning engine to provision a cloud environment, wherein:

the provisioning engine interacts with an application programming interface (API) of the cloud environment using configuration information,

the configuration information includes the abstractions created by the snapshot engine and user changes to the abstractions through a user interface,

the provisioning engine maps the configuration information to calls to the API of the cloud environment, and

the provisioning engine is separate from a provider of the cloud environment and is separate from a runtime engine; and

the runtime engine to receive application configuration information and to deploy an application in the cloud environment using the application configuration information.

2. The computer program product of claim 1 , wherein the provider of the cloud environment is selected from Amazon Web Services and VMWare.

3. The computer program product of claim 1 , wherein the configuration information provisions a modified machine image for the cloud environment.

4. The computer program product of claim 1 , wherein the configuration information provisions a new machine image for the cloud environment.

5. The computer program product of claim 1 , wherein once a machine image is established, any number of instances of the machine image may be invoked in the cloud environment.

6. The computer program product of claim 1 , wherein the provisioning engine further provides information to the runtime engine.

7. The computer program product of claim 6 , wherein the information provided to the runtime engine by the provisioning engine is dynamic information.

8. The computer program product of claim 7 , wherein the dynamic information is used for one or more of installing, updating, uninstalling, rolling back or otherwise changing an application in the cloud environment.

9. The computer program product of claim 1 , wherein the provisioning engine further provides information to components other than the runtime engine.

10. A computer-implemented method for provisioning a cloud environment including executing instructions stored on a non-transitory computer-readable storage medium, the method comprising:

capturing, by a snapshot engine, hardware characteristics and software characteristics from a user-selected physical environment;

creating, by the snapshot engine, abstractions from the hardware characteristics and the software characteristics, wherein the abstractions include classes of hardware and classes of software;

provisioning, by a provisioning engine, a cloud environment, the provisioning including:

interacting, by the provisioning engine, with an application programming interface (API) of the cloud environment using configuration information, wherein the configuration information includes the abstractions created by the snapshot engine and user changes to the abstractions through a user interface, and

mapping, by the provisioning engine, the configuration information to calls to the API of the cloud environment, wherein the provisioning engine is separate from a provider of the cloud environment and is separate from a runtime engine;

receiving, from the runtime engine, application configuration information; and

deploying, by the runtime engine, an application in the cloud environment using the application configuration information.

11. The computer-implemented method of claim 10 , wherein the provider of the cloud environment is selected from Amazon Web Services and VMWare.

12. The computer-implemented method of claim 10 , wherein the configuration information provisions a modified machine image for the cloud environment.

13. The computer-implemented method of claim 10 , wherein the configuration information provisions a new machine image for the cloud environment.

14. The computer-implemented method of claim 10 , wherein once a machine image is established, any number of instances of the machine image may be invoked in the cloud environment.

15. The computer-implemented method of claim 10 , further comprising providing, by the provisioning engine, information to the runtime engine.

16. The computer-implemented method of claim 15 , wherein the information provided to the runtime engine by the provisioning engine is dynamic information.

17. The computer-implemented method of claim 16 , wherein the dynamic information is used for one or more of installing, updating, uninstalling, rolling back or otherwise changing an application in the cloud environment.

18. The computer-implemented method of claim 10 , further comprising providing, by the provisioning engine, information to components other than the runtime engine.

19. A system for provisioning a cloud environment, the system comprising:

at least one memory including instructions on a computing device; and

at least one processor on the computing device, wherein the processor is operably coupled to the at least one memory and is arranged and configured to execute the instructions that, when executed, cause the processor to implement:

a snapshot engine to capture hardware characteristics and software characteristics from a user-selected physical environment and to create abstractions from the hardware characteristics and the software characteristics, wherein the abstractions include classes of hardware and classes of software;

a provisioning engine to provision a cloud environment, wherein:

the provisioning engine interacts with an application programming interface (API) of a cloud environment using configuration information,

the configuration information includes the abstractions created by the snapshot engine and user changes to the abstractions through a user interface,

the provisioning engine maps the configuration information to calls to the API of the cloud environment, and

the provisioning engine is separate from a provider of the cloud environment and is separate from a runtime engine; and

the runtime engine to receive application configuration information and to deploy an application in the cloud environment using the application configuration information.

20. The system of claim 19 , wherein the provider of the cloud environment is selected from Amazon Web Services and VMWare.

21. The system of claim 19 , wherein the configuration information provisions a modified machine image for the cloud environment.

22. The system of claim 19 , wherein the configuration information provisions a new machine image for the cloud environment.

23. The system of claim 19 , wherein once a machine image is established, any number of instances of the machine image may be invoked in the cloud environment.

24. The system of claim 19 , wherein the provisioning engine further provides information to the runtime engine.

25. The system of claim 24 , wherein the information provided to the runtime engine by the provisioning engine is dynamic information.

26. The system of claim 25 , wherein the dynamic information is used for one or more of installing, updating, uninstalling, rolling back or otherwise changing an application in the cloud environment.

27. The system of claim 19 , wherein the provisioning engine further provides information to components other than the runtime engine.

Assignments (16)
CHANGE OF NAME Recorded Jan 10, 2025
From: BLADELOGIC, INC.
To: BMC HELIX, INC.
Reel/Frame 069870/0796 →
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 052844/0646 →
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 →
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/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: REEVES, ROBERT E.
To: PHURNACE SOFTWARE, INC.
Reel/Frame 039934/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: NELSON, DANIEL P.
To: BLADELOGIC, INC.
Reel/Frame 039934/0417 →
MERGER Recorded Oct 4, 2016
From: PHURNACE SOFTWARE, INC.
To: BLADELOGIC, INC.
Reel/Frame 039934/0541 →
Cited By (3)
US 12,199,818 US 12,314,774 US 12,363,140