IP Library Granted Patent US 9,557,969
Granted Patent B2
US 9,557,969 · App. 14/568,928 · Granted Jan 31, 2017

Automated blueprint assembly for assembling an application

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,557,969
App. No.
14/568,928
Granted
Jan 31, 2017
Kind
B2
Abstract

The embodiments provide a data processing apparatus for automated blueprint assembly. The data processing apparatus includes a micro-blueprint assembler configured to receive a request for automated blueprint assembly for assembling an application, where the request specifies at least one feature, and a model database configured to store model data. The model data includes a plurality of classes and class properties. The data processing apparatus further includes a micro-blueprint database configured to store a plurality of micro-blueprints. Each micro-blueprint corresponds to a functional component of a stack element or service tier, and the functional component is annotated with one or more classes of the plurality of classes and at least one required capability and available capability. The micro-blueprint assembler is configured to generate at least one application blueprint based on the model data and the plurality of micro-blueprints according to the request.

Claims (46)

1. A data processing apparatus for automated blueprint assembly, the data processing apparatus including:

at least one processor;

a non-transitory computer-readable medium storing instructions that when executed by the at least one processor are configured to implement:

a micro-blueprint assembler configured to receive a request for automated blueprint assembly for assembling an application, the request specifying at least one feature;

a model database configured to store model data, the model data including a plurality of classes arranged in a hierarchy with relational information specifying relationship links among the plurality of classes;

a micro-blueprint database configured to store a plurality of micro-blueprints, each micro-blueprint corresponding to a functional component, and respectively including service stack elements of at least one member of a web tier, an application tier, and a database tier, each micro-blueprint being annotated with one or more classes of the plurality of classes,

the micro-blueprint assembler configured to generate at least one application blueprint for the application by assembling micro-blueprints from the micro-blueprint database,

wherein, when generating the at least one application blueprint, the micro-blueprint assembler is configured to:

apply the at least one feature to the classes of the model data of the model database to obtain a class that is relevant to the at least one feature of the request, and

query the micro-blueprint database to obtain at least one micro-blueprint having the obtained class and at least one micro-blueprint linked to the obtained class by the relational information.

2. The data processing apparatus of claim 1 , wherein the request also specifies at least one constraint and environment.

3. The data processing apparatus of claim 1 , wherein the at least one feature is at least one non-functional feature, the at least one non-functional feature specifying a security feature or a scalability feature.

4. The data processing apparatus of claim 1 , wherein the plurality of classes of the model data are annotated with class properties, and the plurality of micro-blueprints are annotated with the class properties.

5. The data processing apparatus of claim 1 , wherein the plurality of classes include represent components of the application, the components including an operating system, database server, application server, execution environment, and deployment artifacts, the plurality of classes being annotated with abstracted domain knowledge information for the components.

6. The data processing apparatus of claim 1 , wherein the micro-blueprint assembler is configured to generate the at least one application blueprint by obtaining a subset of the plurality of micro-blueprints from the micro-blueprint database for each of the web tier, the application tier, and the database tier.

7. The data processing apparatus of claim 1 , wherein the micro-blueprint assembler includes:

an application blueprint assembler configured to obtain micro-blueprints from the micro-blueprint database corresponding to each of the web tier, the application tier, and the database tier; and

a functional component blueprint assembler configured to obtain micro-blueprints from the micro-blueprint database corresponding to the service stack elements for each of the web tier, the application tier, and the database tier.

8. The data processing apparatus of claim 7 , wherein the application blueprint assembler is configured to obtain the micro-blueprints by obtaining micro-blueprints based on a matching of the required and available capabilities of the micro-blueprints.

9. The data processing apparatus of claim 1 , wherein the micro-blueprint assembler is configured to obtain the at least one micro-blueprint linked to the obtained class using the relational information of the model data as a guide for determining which micro-blueprint is linked to the obtained class.

10. The data processing apparatus of claim 1 , wherein the micro-blueprint assembler is configured to obtain the micro-blueprints using an artificial intelligence (AI) search algorithm.

11. The data processing apparatus of claim 1 , wherein the micro-blueprint assembler is configured to generate multiple complete blueprints for the application including a first complete blueprint and a second complete blueprint, the micro-blueprint assembler being configured to provide the first and second complete blueprint according to a level of suitability that achieves the at least one feature of the request.

12. A method for automated blueprint assembly, the method being performed by at least one processor, the method comprising:

receiving a request for automated blueprint assembly for assembling an application, the request specifying at least one feature;

accessing a model database storing model data, the model data including a plurality of classes arranged in a hierarchy with relational information specifying relationship links among the plurality of classes;

accessing a micro-blueprint database configured to store a plurality of micro-blueprints, each micro-blueprint corresponding to a functional component, and respectively including service stack elements of at least one member of a web tier, an application tier, and a database tier, each micro-blueprint being annotated with one or more classes of the plurality of classes; and

generating at least one application blueprint for the application by assembling micro-blueprints from the micro-blueprint database, including:

applying the at least one feature to the classes of the model data of the model database to obtain a class that is relevant to the at least one feature of the request,

querying the micro-blueprint database to obtain at least one micro-blueprint having the obtained class and at least one micro-blueprint linked to the obtained class by the relational information.

13. The method of claim 12 , wherein the plurality of micro-blueprints are re-usable micro-blueprints such that the plurality of micro-blueprints are available for assembling a secondary application.

14. The method of claim 12 , wherein the plurality of classes represent different levels of stack elements and the relational information define relations between the plurality of classes.

15. The method of claim 12 , wherein the plurality of classes include core abstract classes of the application including an application, deployment, application server, platform runtime, operating system and database server, and each of the core abstract classes have sub-classes corresponding to at least some of the micro-blueprints stored in the micro-blueprint database.

16. The method of claim 12 , wherein generating the at least one application blueprint includes:

assembling first micro-blueprints for the web tier;

assembling second micro-blueprints for the application tier; and

assembling third micro-blueprints for database tier, wherein the at least one application blueprint includes the first, second, and third micro-blueprints.

17. The method of claim 12 , wherein generating the at least one application blueprint includes:

assembling the micro-blueprints using the model data as a guide to determine which micro-blueprint is linked to the obtained class.

18. A non-transitory computer-readable medium storing executable instructions that when executed cause at least one processor to:

receive a request for automated blueprint assembly for assembling an application, the request specifying at least one feature;

access a model database storing model data, the model data including a plurality of classes arranged in a hierarchy with relational information specifying relationship links among the plurality of classes;

access a micro-blueprint database configured to store a plurality of micro-blueprints, each micro-blueprint corresponding to a functional component, and respectively including service stack elements of at least one member of a web tier, an application tier, and a database tier, each micro-blueprint being annotated with one or more classes of the plurality of classes; and

generate at least one application blueprint for the application by assembling micro-blueprints from the micro-blueprint database, including:

apply the at least one feature to the classes of the model data of the model database to obtain a class that is relevant to the at least one feature of the request,

query the micro-blueprint database to obtain at least one micro-blueprint having the obtained class and at least one micro-blueprint linked to the obtained class by the relational information.

19. The non-transitory computer-readable medium of claim 18 , wherein the plurality of micro-blueprints are re-usable micro-blueprints such that the plurality of micro-blueprints are available for assembling a secondary application.

Assignments (15)
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 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 Aug 10, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043514/0845 →
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 Dec 12, 2014
From: KARNIK, NEERAN M.; GHAISAS, ABHAY; SHARMA, ABHIJIT
To: BMC SOFTWARE, INC.
Reel/Frame 034496/0868 →