IP Library Granted Patent US 8,874,704
Granted Patent B2
US 8,874,704 · App. 13/546,765 · Granted Oct 28, 2014

Semi-automatic discovery and generation of useful service blueprints

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 8,874,704
App. No.
13/546,765
Granted
Oct 28, 2014
Kind
B2
Abstract

According to one general aspect, a method of semi-automatically discovering and generating useful service blueprints may include collecting, by an apparatus, a plurality of configuration information sets regarding a plurality of network service applications. The method may also include converting, by the apparatus, the plurality of configuration information sets into one or more normalized application instance graphs. The method may further include generating, by the apparatus, one or more application blueprint files based, at least in part, upon the one or more normalized application instance graphs.

Claims (75)

1. A method comprising:

collecting, by an apparatus, a plurality of configuration information sets regarding a plurality of network service applications;

converting, by the apparatus, the plurality of configuration information sets into a number of normalized application instance graphs;

identifying, by the apparatus, at least one sub-graph that is sufficiently common, based on a pre-defined criteria, to the number of the normalized application instance graphs; and

generating, by the apparatus, one or more application blueprint files based, at least in part, upon the number of normalized application instance graphs including the at least one identified sub-graph.

2. The method of claim 1 , wherein converting the plurality of configuration information sets into the number of normalized application instance graphs includes:

mapping the plurality of configuration information sets into at least one canonical application graph.

3. The method of claim 2 , wherein mapping the plurality of configuration information sets into at least one canonical application graph includes:

reconciling multiple configuration information sets regarding the same network service into a single canonical application graph.

4. The method of claim 1 , wherein converting the plurality of configuration information sets into the number of normalized application instance graphs includes:

receiving a set of user specified equivalence rules; and

modifying the canonical application graph based, at least in part, upon the user specified equivalence rules.

5. The method of claim 1 , wherein converting the plurality of configuration information sets into the number of normalized application instance graphs includes:

normalizing a configuration information set by converting a node included by the configuration information set into an equivalent node included by a normalized application instance graph,

wherein the equivalence between the node included by the configuration information set and the node included by the normalized application instance graph is specified by a domain model.

6. The method of claim 1 , wherein each configuration information set includes a first number of nodes representing either software or hardware components associated with a respective network service application;

wherein each normalized application instance graphs includes a second number of nodes representing either software or hardware components associated with the respective network service application;

wherein the first number is greater than the second number; and

wherein converting the plurality of configuration information sets into a number of normalized application instance graphs includes: removing nodes from each configuration information set based upon the set of pre-defined criteria.

7. A method comprising:

collecting, by an apparatus, a plurality of configuration information sets regarding a plurality of network service applications;

converting, by the apparatus, the plurality of configuration information sets into one or more normalized application instance graphs; and

generating, by the apparatus, one or more application blueprint files based, at least in part, upon the one or more normalized application instance graphs,

wherein each configuration information set includes a first number of nodes representing either software or hardware components associated with a respective network service application,

wherein each normalized application instance graph includes a second number of nodes representing either software or hardware components associated with the respective network service application,

wherein the first number is greater than the second number,

wherein converting a configuration information set into a normalized application instance graph includes removing nodes from the configuration information set based upon a set of pre-defined criteria,

wherein each node of the configuration information set includes a node type, and

wherein removing nodes from the configuration information set based upon a set of pre-defined criteria includes removing nodes that are of a hardware node type.

8. The method of claim 1 , further comprising:

receiving a request, from a user of a second apparatus, for at least one blueprint file,

wherein each blueprint file represents a template of a configuration of a network service application;

receiving a set of equivalence rules, from the user, that includes one or more software components that the user considers to be functionally equivalent; and

providing, to the user, at least one blueprint file that was generated based, at least in part, upon the one or more normalized application instance graphs.

9. An apparatus comprising:

a memory configured to store a plurality of configuration information sets regarding a plurality of network service applications; and

a processor configured to:

convert the plurality of configuration information sets into a number of normalized application instance graphs,

identify at least one sub-graph that is sufficiently common, based on a pre-defined criteria, to the number of the normalized application instance graphs, and

generate one or more application blueprint files based, at least in part, upon the number of normalized application instance graphs including the at least one identified sub-graph.

10. The apparatus of claim 9 , wherein the processor is configured to map the plurality of configuration information sets into at least one canonical application graph.

11. The apparatus of claim 10 , wherein the processor is configured to reconcile multiple configuration information sets regarding the same network service into a single canonical application graph.

12. The apparatus of claim 9 , further including a network communications port configured to receive a set of user specified equivalence rules; and

wherein the processor is configured to modify the canonical application graph based, at least in part, upon the user specified equivalence rules.

13. The apparatus of claim 9 , wherein the processor is configured to:

normalize a configuration information set by converting a node included by the configuration information set into an equivalent node included by a normalized application instance graph,

wherein the equivalence between the node included by the configuration information set and the node included by the normalized application instance graph is specified by a domain model.

14. The apparatus of claim 9 , wherein each configuration information set includes a first number of nodes representing either software or hardware components associated with a respective network service application;

wherein each normalized application instance graphs includes a second number of nodes representing either software or hardware components associated with the respective network service application;

wherein the first number is greater than the second number; and

wherein the processor is configured to remove nodes from each configuration information set based upon the set of pre-defined criteria.

15. An apparatus comprising:

a memory configured to store a plurality of configuration information sets regarding a plurality of network service applications; and

a processor configured to:

convert the plurality of configuration information sets into one or more normalized application instance graphs, and

generate one or more application blueprint files based, at least in part, upon the one or more normalized application instance graphs,

wherein each configuration information set includes a first number of nodes representing either software or hardware components associated with a respective network service application,

wherein each normalized application instance graphs includes a second number of nodes representing either software or hardware components associated with the respective network service application,

wherein the first number is greater than the second number,

wherein the processor is configured to remove nodes from the configuration information set based upon a set of pre-defined criteria,

wherein each node of the configuration information set includes a node type, and

wherein the processor is configured to remove nodes that are of a hardware node type.

16. The apparatus of claim 9 , further including a network communications port configured to:

receive a request, from a user of a second apparatus, for at least one blueprint file, wherein each blueprint file represents a template of a configuration of a network service application;

receive a set of equivalence rules, from the user, that includes one or more software components that the user considers to be functionally equivalent; and

provide, to the user, at least one blueprint file that was generated based, at least in part, upon the the number of normalized application instance graphs.

17. A computer program product for semi-automatically generating a blueprint file, the computer program product being tangibly and non-transitorily embodied on a computer-readable medium and including executable code that, when executed, is configured to cause a data processing apparatus to:

collect a plurality of configuration information sets regarding a plurality of network service applications;

convert the plurality of configuration information sets into a number of normalized application instance graphs;

identify at least one sub-graph that is sufficiently common, based on a pre-defined criteria, to the number of the normalized application instance graphs; and

generate one or more application blueprint files based, at least in part, upon the number of normalized application instance graphs including the at least one identified sub-graph.

18. The computer-readable medium of claim 17 , wherein the executable code is configured to, when executed, cause the apparatus to:

receive a request, from a user of a second apparatus, for at least one blueprint file, wherein each blueprint file represents a template of a configuration of a network service application;

receive a set of equivalence rules, from the user, that includes one or more software components that the user considers to be functionally equivalent; and

provide, to the user, at least one blueprint file that was generated based, at least in part, upon the the number of normalized application instance graphs.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
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 →
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 →
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 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 Apr 17, 2013
From: NATH, MANIKANTAN N.; SHAH, KOMAL K.; SHARMA, ABHIJIT
To: BMC SOFTWARE, INC.
Reel/Frame 030233/0198 →