IP Library Granted Patent US 9,274,811
Granted Patent B1
US 9,274,811 · App. 12/904,785 · Granted Mar 1, 2016

System and method for cloud provisioning and application deployment

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 9,274,811
App. No.
12/904,785
Granted
Mar 1, 2016
Kind
B1
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 (64)

1. A method comprising:

querying a first sever program for a first set of configuration information for an application installed in a first environment;

identifying a set of environment independent attributes from the first set of configuration information;

identifying a set of environment dependent attributes from the first set of configuration information;

mapping the set of environment independent attributes to a selected format for the set of environment independent attributes;

receiving attribute values for one or more the environment dependent attributes for a selected target environment and mapping the one or more environment dependent attributes to a selected format for environment dependent variables;

prior to installing the application in a cloud environment, provisioning a selected target environment within the cloud environment on which to install the application; and

installing the application in the selected target environment in the cloud environment using the environment independent attributes and the received attribute values for the environment dependent attributes, wherein provisioning the selected target environment includes:

presenting a user with a wizard that allows the user to enter user-selected environment characteristics without requiring knowledge of a cloud environment application programming interface (API),

determining a first set of environment characteristics for the first environment, wherein the first set of environment characteristics comprise hardware characteristics,

receiving a set of user-selected environment characteristics through the wizard,

mapping the first set of environment characteristics and the set of user-selected environment characteristics to a set of abstracted characteristics,

mapping the set of abstracted characteristics API calls for the cloud environment, the API calls selected to provision the selected target environment in the cloud environment, and

interacting with the cloud environment API using the API calls to configure the cloud environment to provide the selected target environment.

2. The method of claim 1 , wherein at least one of the first set of environment characteristics and user-selected environment characteristics comprise software characteristics.

3. The method of claim 1 , further comprising applying one or more rules to select one or more API calls based on an abstracted environment characteristic.

4. The method of claim 3 , further comprising treating hardware information in the set of abstracted characteristics as minimum hardware requirements; and

selecting API calls to provision a selected machine image supported by the cloud environment having at least the minimum hardware requirements.

5. A computer program product comprising a non-transitory computer readable medium storing a set of computer instructions comprising instructions executable to:

provide a system comprising an export engine, a provisioning engine and an install engine;

query a first sever program for a first set of configuration information for an application installed in a first environment, wherein the querying is performed by the export engine;

identify a set of environment independent attributes from the first set of configuration information, wherein the identifying is performed by the export engine;

identify a set of environment dependent attributes from the first set of configuration information, wherein the identifying is performed by the export engine;

map the set of environment independent attributes to a selected format for the set of environment independent attributes, wherein the mapping is performed by the export engine;

receive attribute values for one or more the environment dependent attributes for a selected target environment and mapping the one or more environment dependent attributes to a selected format for environment dependent variables, wherein the receiving and mapping are performed by the export engine;

prior to installing the application in a cloud environment, provision the selected target environment within the cloud environment on which to install the application, wherein the provisioning is performed by the provisioning engine; and

install the application in the selected target environment in the cloud environment according to the set of target environment configuration information and using the environment independent attributes and the received attribute values for the environment dependent attributes, wherein the installing is performed by the install engine, wherein the set of computer executable instructions executable to provision the selected target environment within the cloud environment further comprise instructions executable to:

provide a snapshot engine, a user interface and the provisioning engine,

present a user with a wizard that allows the user to enter user-selected environment characteristics without requiring knowledge of the cloud environment application programming interface (API),

determine a first set of environment characteristics for the first environment, wherein the first set of environment characteristics comprise hardware characteristics, wherein the first set of environment characteristics are determined by the snapshot engine,

receive a set of user-selected environment characteristics, wherein the set of user-selected environment characteristics are received through the wizard using the user interface;

map the first set of environment characteristics and the set of user-selected environment characteristics to a set of abstracted characteristics;

map the set of abstracted characteristics to API calls for the cloud environment, the API calls selected to provision the selected target environment in the cloud environment, wherein the set of abstracted characteristics are mapped to API calls by the provisioning engine, and

interact with the cloud environment API using the API calls to configure the cloud environment to provide the selected target environment, wherein the interacting is performed by the provisioning engine.

6. The computer program product of claim 5 , wherein at least one of the first set of environment characteristics or user-selected environment characteristics comprise software characteristics.

7. The computer program product of claim 5 , further comprising instructions executable to apply one or more rules to select one or more API calls based on an abstracted environment characteristic.

8. The computer program product of claim 7 , further comprising instructions executable to:

treat hardware information in the set of abstracted characteristics as minimum hardware requirements; and

select API calls to provision a selected machine image supported by the cloud environment having at least the minimum hardware requirements.

9. A system comprising:

a network;

a deployment system coupled to the network, the deployment system configured to:

interface with a development environment;

interface with a cloud environment over a network;

query a first sever program for a first set of configuration information for an application installed in a first environment;

identify a set of environment independent attributes from the first set of configuration information for the development environment;

identify a set of environment dependent attributes from the first set of configuration information for the development environment;

map the set of environment independent attributes to a selected format for the set of environment independent attributes;

receive attribute values for one or more the environment dependent attributes for a selected target environment and mapping the one or more environment dependent attributes to a selected format for environment dependent variables;

prior to installing the application in the cloud environment, provision the selected target environment within the cloud environment on which to install the application; and

install the application in the selected target environment in the cloud environment using the environment independent attributes and the received attribute values for the environment dependent attributes, wherein provisioning the selected target environment within the cloud environment by the deployment system includes the deployment system being further configured to:

present a user with a wizard that allows the user to enter user-selected environment characteristics without requiring knowledge of a cloud environment application programming interface (API),

determine a first set of environment characteristics for the first environment, wherein the first set of environment characteristics comprise hardware characteristics,

receive a set of user-selected environment characteristics through the wizard,

map the first set of environment characteristics and the set of user-selected environment characteristics to a set of abstracted characteristics,

map the set of abstracted characteristics to API calls for the cloud environment, the API calls selected to provision the selected target environment in the cloud environment, and

interact with the cloud environment API using the API calls to configure the cloud environment to provide the selected target environment.

10. The system of claim 9 , wherein at least one of the first set of environment characteristics and user-selected environment characteristics comprise software characteristics.

11. The system of claim 9 , wherein the deployment system is further configured to apply one or more rules to select one or more API calls based on an abstracted environment characteristic.

12. The system of claim 11 , wherein the deployment system is further configured to:

treat hardware information in the set of abstracted characteristics as minimum hardware requirements; and

select API calls to provision a selected machine image supported by the cloud environment having at least the minimum hardware requirements.

13. The system of claim 9 , wherein the deployment system is further configured to store the first set of environment characteristics and set of user-selected characteristics in one or more XML files.

14. The system of claim 9 , wherein the deployment system is further configured to provide attribute values for one or more environment dependent attributes based on at least one environment characteristic from the first set of characteristics or set of user-selected characteristics.

Assignments (18)
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 (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 →
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 →
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 Nov 20, 2015
From: NELSON, DANIEL PRESTON
To: BLADELOGIC, INC.
Reel/Frame 037104/0226 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2012
From: NELSON, DANIEL
To: BLADELOGIC INC.
Reel/Frame 028455/0159 →
MERGER Recorded Dec 7, 2010
From: PHURNACE SOFTWARE, INC.
To: BLADELOGIC, INC.
Reel/Frame 025641/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2010
From: REEVES, ROBERT E.
To: PHURNACE SOFTWARE, INC.
Reel/Frame 025391/0892 →