IP Library Granted Patent US 9,122,552
Granted Patent B2
US 9,122,552 · App. 13/538,591 · Granted Sep 1, 2015

Hybrid cloud infrastructures

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,122,552
App. No.
13/538,591
Granted
Sep 1, 2015
Kind
B2
Abstract

Methods and apparatus for implementing hybrid-cloud computing networks are disclosed. An example computer-implemented method includes receiving, at a computing device, a request to provision a user application. The method further includes identifying an application blueprint corresponding with the request and identifying at least one computing resource corresponding with the request. The method still further includes identifying a network blueprint that includes the at least one computing resource, provisioning a computing network in accordance with the identified network blueprint and provisioning the at least one computing resource in the provisioned computing network. The method also includes, installing the user application in the provisioned at least one computing resource in accordance with the application blueprint.

Claims (89)

1. A computer-implemented method including executing, by at least one processor of a computing device, instructions recorded on a non-transitory computer-readable storage medium, the method comprising:

receiving, at the computing device, a request to provision a user application, the request specifying at least one tier for implementing a specific functionality of the user application;

identifying an application blueprint corresponding with the request, the application blueprint specifying a configuration of the at least one tier;

identifying at least one computing resource corresponding with the request;

identifying a network blueprint that includes the at least one computing resource, the network blueprint specifying at least one component included in the at least one computing resource for use in implementing the configuration of the at least one tier;

provisioning a computing network in accordance with the identified network blueprint;

provisioning the at least one computing resource in the provisioned computing network; and

installing the user application in the provisioned at least one computing resource in accordance with the application blueprint.

2. The computer-implemented method of claim 1 , wherein identifying the at least one computing resource and identifying the network blueprint are performed iteratively based on a library of computing resource images.

3. The computer-implemented method of claim 2 , wherein iteratively identifying the at least one computing resource and the network blueprint is further based on a library of application installation packages.

4. The computer-implemented method of claim 3 , wherein the library of computing resource images and the library of application installation packages are included in a unified installation package library.

5. The computer-implemented method of claim 1 , wherein identifying the network blueprint includes identifying a hybrid network blueprint.

6. The computer-implemented method of claim 5 , wherein the hybrid network blueprint defines a hybrid computing network including two or more of:

an on-premise computing resource;

a private-cloud computing resource; and

a public-cloud computing resource.

7. The computer-implemented method of claim 6 , wherein the hybrid computing network further includes a secure data communication tunnel operably coupling two computing resources of the hybrid computing network.

8. The computer-implemented method of claim 1 , wherein the request to provision the user application includes at least one of:

computing resource criteria; and

network topology criteria.

9. The computer-implemented method of claim 8 , wherein the computing resource criteria includes one or more of:

an indication of an operating system;

an indication of a computing resource platform type; and

an indication of a computing resource location.

10. The computer-implemented method of claim 8 , wherein the network topology criteria includes one or more of:

an indication of a number of application tiers;

an indication of a private-cloud computing resource;

an indication of a public-cloud computing resource; and

an indication of an on-premise computing resource.

11. The computer-implemented method of claim 1 , wherein the application blueprint includes a respective definition of the at least one computing resource, the definition including one or more of:

an indication of an operating system;

an indication of a computing resource platform type; and

an indication of a computing resource location.

12. The computer-implemented method of claim 1 , wherein the application blueprint includes network topology criteria including one or more of:

an indication of a number of application tiers;

an indication of a private-cloud computing resource;

an indication of a public-cloud computing resource; and

an indication of an on-premise computing resource.

13. The computer-implemented method of claim 1 , wherein the network blueprint includes network topology criteria including one or more of:

an indication of a private-cloud computing resource;

an indication of a public-cloud computing resource; and

an indication of an on-premise computing resource.

14. The computer-implemented method of claim 1 , wherein identifying at the least one computing resource corresponding with the request includes identifying two or more computing resources corresponding with the request.

15. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium storing instructions that when executed cause a processor to perform a process, the instructions comprising instructions to:

receive a request to provision a user application, the request specifying at least one tier for implementing a specific functionality of the user application;

identify an application blueprint corresponding with the request, the application blueprint specifying a configuration of the at least one tier;

identify at least one computing resource corresponding with the request;

identify a network blueprint that includes the at least one computing resource, the network blueprint specifying at least one component included in the at least one computing resource for use in implementing the configuration of the at least one tier;

provision a computing network in accordance with the identified network blueprint;

provision the at least one computing resource in the computing resource network; and

install the user application in the provisioned at least one computing resource in accordance with the application blueprint.

16. The computer program product of claim 15 , wherein the instructions to identify the at least one computing resource and to identify the network blueprint include instructions to iteratively identify the at least one computing resource and the network blueprint based on an installation package library including:

at least one machine installation package corresponding with the at least one computing resource; and

at least one application installation package corresponding with the user application.

17. The computer program product of claim 15 , wherein the instructions to provision the computing network include instructions to provision a hybrid computing network including two or more of:

a private-cloud computing resource;

a public-cloud computing resource; and

an on-premise computing resource.

18. The computer program product of claim 15 , wherein the instructions to identify the at least one computing resource corresponding with the request include instructions to identify two or more computing resources corresponding with the request.

19. A computing device including instructions recorded on a computer-readable medium and executable by at least one processor, the instructions, when executed by the at least one processor, cause the computing device to implement:

an installation package library including:

a first installation package configured to provision a first computing resource having a first machine image;

a second installation package configured to provision a second computing resource having a second machine image; and

a third installation package configured to install a user application on the first computing resource and the second computing resource;

an application blueprint library including an application blueprint corresponding with the user application, the application blueprint including application metadata defining configuration information for the user application;

a network blueprint library including a network blueprint, the network blueprint including network metadata defining a computing network including the first computing resource and the second computing resource; and

a provisioner configured to:

receive a request to provision the user application;

identify, in response to the request, the application blueprint;

identify, in response to the request, the network blueprint;

provision the computing network in accordance with the network metadata;

provision the first computing resource in accordance with the first installation package;

provision the second computing resource in accordance with the second installation package; and

install the user application in accordance with the third installation package and the application blueprint.

20. The computing device of claim 19 , wherein the instructions, when executed by the at least one processor, cause the computing device to implement:

an installation package library administrator configured to:

receive the first, second and third installation packages;

store the first, second and third installation packages in the installation package library; and

catalog the first, second and third installation packages in the installation package library.

21. The computing device of claim 19 , wherein the instructions, when executed by the at least one processor, cause the computing device to implement:

a blueprint library administrator configured to:

receive the application blueprint and the network blueprint;

store the application blueprint in the application blueprint library;

catalog the application blueprint in the application blueprint library;

store the network blueprint in the network blueprint library; and

catalog the network blueprint in the network blueprint library.

22. The computing device of claim 19 , wherein at least one of the first, second and third installation packages includes a respective plurality of installation packages.

23. The computing device of claim 19 , wherein at least one of the first and second computing resources includes a virtual computing resource.

24. The computer-implemented method of claim 1 , wherein the at least one tier is a Web-tier or a data-tier, and wherein application logic included in the user application operates on the Web-tier and data logic included in the user application operates in the data-tier.

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 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/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: BMC SOFTWARE, INC.
To: BLADELOGIC, INC.
Reel/Frame 042749/0439 →
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 Oct 31, 2012
From: WHITNEY, JONATHAN N.; VUL, ALEXANDER; CONNORS, MATTHEW D.; ERIKSSON, JOHAN; NEOGI, ATANU
To: BMC SOFTWARE, INC.
Reel/Frame 029216/0708 →