IP Library Granted Patent US 9,727,315
Granted Patent B2
US 9,727,315 · App. 14/568,958 · Granted Aug 8, 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,727,315
App. No.
14/568,958
Granted
Aug 8, 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 (39)

1. A system for automated blueprint assembly, the system 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:

an assembler configured to cause the at least one processor to receive a request for automated application assembly, the request for automated application assembly specifying a feature to be included within an application,

the assembler configured to cause the at least one processor to query a model database to obtain a model having class objects and relationships among the class objects,

the assembler configured to cause the at least one processor to select a plurality of micro-blueprints from a micro-blueprint database using the feature, and the model as a guide for identifying which micro-blueprints to select, each micro-blueprint being annotated with a reference to one or more of the class objects of the model, each micro-blueprint representing a functional component of a different software stack element,

the assembler configured to cause the at least one processor to combine the plurality of micro-blueprints to create a complete blueprint for the application such that the application includes the feature provided in the request for automated application assembly,

wherein the assembler is configured to cause the at least one processor to select the plurality of micro-blueprints using an artificial intelligence (AI) search algorithm,

wherein the plurality of micro-blueprints are re-usable templates that can be re-used to create complete blueprints for other applications.

2. The system of claim 1 , wherein the feature includes a non-functional feature specifying a security feature or a scalability feature.

3. The system of claim 1 , wherein the assembler is configured to decompose blueprints into smaller and re-usable micro-blueprints and store the micro-blueprints in the micro-blueprint database.

4. The system of claim 1 , wherein the class objects represent components of the application, the components including an operating system, database server, application server, execution environment, and deployment artifacts, the class objects being annotated with abstracted domain knowledge information.

5. The system of claim 1 , wherein the model captures domain knowledge in the class objects, class properties, the relationships between the class objects, and restrictions on the class properties.

6. The system of claim 1 , wherein the request for automated application assembly specifies a type of application by name and a constraint on a deployment environment of the application.

7. The system of claim 1 , wherein the assembler configured to cause the at least one processor to generate a plurality of complete blueprints for the application, each of the plurality of complete blueprints providing a different combination of the plurality of micro-blueprints.

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

receive a request for automated application assembly, the request for automated application assembly specifying a feature to be included within an application;

query a model database to obtain a model having class objects and relationships among the class objects;

select a plurality of micro-blueprints from a micro-blueprint database using the feature, and the model as a guide for identifying which micro-blueprints to select, each micro-blueprint being annotated with a reference to one or more of the class objects of the model, each micro-blueprint representing a functional component of a different software stack element; and

combine the plurality of micro-blueprints to create a complete blueprint for the application such that the application includes the feature provided in the request for automated application assembly,

wherein the plurality of micro-blueprints are selected using an artificial intelligence (AI) search algorithm,

wherein the plurality of micro-blueprints are re-usable templates that can be re-used to create complete blueprints for other applications.

9. The non-transitory computer-readable medium of claim 8 , wherein the feature includes a non-functional feature specifying a security feature or a scalability feature.

10. The non-transitory computer-readable medium of claim 8 , wherein the executable instructions include instructions to:

decompose blueprints into smaller and re-usable micro-blueprints and store the micro-blueprints in the micro-blueprint database.

11. The non-transitory computer-readable medium of claim 8 , wherein the complete blueprint is a framework for developing the application across all software stack elements of the application.

12. The non-transitory computer-readable medium of claim 8 , wherein the model captures domain knowledge in the class objects, class properties, the relationships between the class objects, and restrictions on the class properties.

13. The non-transitory computer-readable medium of claim 8 , wherein the request for automated application assembly specifies a type of application by name and a constraint on a deployment environment of the application.

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

receiving a request for automated application assembly, the request for automated application assembly specifying a feature to be included within an application;

querying a model database to obtain a model having class objects and relationships among the class objects;

selecting a plurality of micro-blueprints from a micro-blueprint database using the feature, and the model as a guide for identifying which micro-blueprints to select, each micro-blueprint being annotated with a reference to one or more of the class objects of the model, each micro-blueprint representing a functional component of a different software stack element; and

combining the plurality of micro-blueprints to create a complete blueprint for the application such that the application includes the feature provided in the request for automated application assembly,

wherein the plurality of micro-blueprints are selected using an artificial intelligence (AI) search algorithm,

wherein the plurality of micro-blueprints are re-usable templates that can be re-used to create complete blueprints for other applications.

15. The system of claim 1 , wherein the assembler is configured to:

apply the feature to the class objects of the model to obtain a class object that is relevant to the feature of the request;

select a first micro-blueprint having the obtained class object; and

select a second micro-blueprint that is linked to the obtained class object by one or more of the relationships of the model.

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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPLICATION NUMBER 14/569,958 PREVIOUSLY RECORDED AT REEL: 043351 FRAME: 0231. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Mar 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045514/0047 →
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/0962 →