IP Library Granted Patent US 9,122,719
Granted Patent B2
US 9,122,719 · App. 11/538,393 · Granted Sep 1, 2015

Database application federation

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,719
App. No.
11/538,393
Granted
Sep 1, 2015
Kind
B2
Abstract

A database federation mechanism permits one or more applications external to the database to be registered. Applications so registered may be automatically invoked in response to database queries—where such invocation utilizes data from specific database entries.

Claims (54)

1. A system for assisting a user with configuration management, comprising:

a configuration management database system having a plurality of configuration items; and

an external application that is external to the configuration management database system, wherein the configuration management database system is configured to cause at least one processor to associate an invocation string with a first configuration item and the external application based on a plurality of objects, the at least one processor being a hardware device, the plurality of objects including,

an interface object for interfacing with the external application, the interface object including information indicating a manner in which the external application is to be launched and indicating the invocation string providing information for launching the external application;

an application object for identifying the external application;

first relationship objects for linking configuration items with interface objects including a first relationship object for identifying the interface object associated with the first configuration item; and

second relationship objects for linking application objects to the interface objects including a second relationship object for identifying the interface object associated with the application object corresponding to the external application,

wherein the configuration management database system is configured to cause the at least one processor to obtain information from the first configuration item based on the plurality of objects,

wherein the configuration management database system is configured to cause the at least one processor to insert the information from the first configuration item into the invocation string to create an application execution command based on the interface object,

wherein the configuration management database system is configured to cause the at least one processor to cause the external application to execute independently of the configuration management database system based on the application execution command.

2. The system of claim 1 , wherein the information indicating a manner in which the external application is to be launched includes information indicating whether return data of the external application is interactive or information indicating whether the external application is executed as a stand-alone application.

3. The system of claim 1 , wherein the first configuration item is associated with a plurality of interface objects, and the application object is associated with the plurality of interface objects.

4. The system of claim 1 , wherein the configuration management database system is configured to cause the at least one processor to associate a foreign key with the first configuration item and the external application.

5. The system of claim 1 , wherein the configuration management database system is configured to cause the at least one processor to insert the foreign key into the invocation string.

6. The system of claim 1 , wherein the configuration management database system is configured to cause the at least one processor to receive information from the external application.

7. The system of claim 6 , wherein the configuration management database system is configured to cause the at least one processor to modify information associated with the configuration item based on the received information.

8. The system of claim 6 , wherein the configuration management database system is configured to cause the at least one processor to update information associated with a second configuration item stored in the configuration management database system based on the received information.

9. A non-transitory computer-readable medium storing executable instructions that when executed by at least one hardware processor are configured to:

store a plurality of configuration items in a configuration management database system;

associate an invocation string with a first configuration item and an external application based on a plurality of objects, wherein the external application is external to the configuration management database system, the plurality of objects including,

an interface object for interfacing with the external application, the interface object including information indicating a manner in which the external application is to be launched and indicating the invocation string providing information for launching the external application;

an application object for identifying the external application;

first relationship objects for linking configuration items with interface objects including a first relationship object for identifying the interface object associated with the first configuration item; and

second relationship objects for linking application objects to the interface objects including a second relationship object for identifying the interface object associated with the application object corresponding to the external application;

obtain information from the first configuration item based on the plurality of objects;

insert the information from the first configuration item into the invocation string to create an application execution command based on the interface object; and

cause the external application to execute independently of the configuration management database system based on the application execution command.

10. The non-transitory computer-readable medium of claim 9 , wherein the information indicating a manner in which the external application is to be launched includes information indicating whether return data of the external application is interactive or information indicating whether the external application is executed as a stand-alone application.

11. The non-transitory computer-readable medium of claim 9 , wherein the first configuration item includes an entry included by the configuration management database system.

12. The non-transitory computer-readable medium of claim 9 , wherein the executable instructions are configured to cause the at least one processor to associate a foreign key with the first configuration item and the external application.

13. The non-transitory computer-readable medium of claim 12 , wherein the executable instructions are configured to cause the at least one processor to substitute the foreign key into the invocation string prior to using the invocation string to cause the external application to be executed independently of the configuration management database.

14. The non-transitory computer-readable medium of claim 9 , wherein the executable instructions are configured to cause the at least one processor to receive information from the external application.

15. The non-transitory computer-readable medium of claim 14 , wherein the executable instructions are configured to cause the at least one processor to modify information associated with the first configuration item based on the received information.

16. The non-transitory computer-readable medium of claim 14 , wherein the executable instructions are configured to cause the at least one processor to update information associated with a second configuration item stored in the configuration management database based on the received information.

17. A method for configuration management, the method being performed by at least one processor, the at least one processor being a hardware device, the method comprising:

associating an invocation string with a first configuration item and an external application based on a plurality of objects, wherein the first configuration item is included by a configuration management database, and wherein the external application is external to the configuration management database, the plurality of objects including

an interface object for interfacing with the external application, the interface object including information indicating a manner in which the external application is to be launched and indicating the invocation string providing information for launching the external application;

an application object for identifying the external application;

first relationship objects for linking configuration items with interface objects including a first relationship object for identifying the interface object associated with the first configuration item; and

second relationship objects for linking application objects to the interface objects including a second relationship object for identifying the interface object associated with the application object;

obtaining information from the first configuration item based on the plurality of objects;

inserting the information from the first configuration item into the invocation string to create an application execution command based on the interface object; and

causing the external application to execute independently of the configuration management database based on the application execution command.

18. The method of claim 17 , wherein the information indicating a manner in which the external application is to be launched includes information indicating whether return data of the external application is interactive or information indicating whether the external application is executed as a stand-alone application.

19. The method of claim 17 , further comprising associating a foreign key with the first configuration item and the external application.

20. The method of claim 19 , further comprising substituting the foreign key into the invocation string prior to using the invocation string to cause the external application to be executed.

21. The method of claim 17 , further comprising receiving, by the configuration management database, information from the external application.

22. The method of claim 21 , further comprising modifying information associated with the first configuration item based on the received information.

23. The method of claim 21 , further comprising updating information associated with a second configuration item stored in the configuration management database based on the received information.

24. The method of claim 17 , further comprising:

determining if the external application is associated with a class of configuration items included by the configuration management database, and

comparing one or more values associated with the first configuration item with a specified filter pattern; and

wherein causing the external application to automatically execute includes:

causing the external application to automatically execute only if the act of comparing identifies a match between the one or more values associated with the first configuration item and the specified filter pattern.

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 Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0189 →
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 3, 2006
From: MUELLER, DOUG; CHEN, JIANI
To: BMC SOFTWARE, INC.
Reel/Frame 018342/0877 →