IP Library Granted Patent US 9,207,928
Granted Patent B2
US 9,207,928 · App. 13/007,992 · Granted Dec 8, 2015

Computer-readable medium, apparatus, and methods of automatic capability installation

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,207,928
App. No.
13/007,992
Granted
Dec 8, 2015
Kind
B2
Abstract

A computer-readable medium includes instructions that, when executed by a processor, cause the processor to receive an installation request from a remote device through a communication channel to update a software component associated with the processor. The processor identifies a capability library component that will be used to perform at least a portion of the installation request and retrieves and uses the capability library component from a local data store to perform the portion of the installation request if the local data store includes the capability library component. The processor requests the capability library component from the remote device if the local data store does not include the capability library component.

Claims (67)

1. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to:

execute a bridge application, the bridge application being configured to:

receive an installation request from a remote device through a communication channel to update a software component associated with the processor;

identify a capability library component that will be used to perform at least a portion of the installation request to update the software component, wherein the capability library component is a separate component from the software component and is a separate component from the installation request and the capability library component includes processor-executable code and is non-independently executable as a separate application;

retrieve and execute the capability library component from a local data store to perform the portion of the installation request and execute the bridge application, the bridge application being further configured to send an acknowledgment to the remote device, the acknowledgment indicating a version of the capability library component retrieved from the local data store if the local data store includes the capability library component; and

request the capability library component from the remote device if the local data store does not include the capability library component.

2. The computer-readable medium of claim 1 , wherein, if the local data store does not include the capability library component, the computer-readable medium further comprises instructions that, when executed by the processor, cause the processor to:

execute the bridge application, the bridge application being further configured to:

receive the capability library component from the remote device;

store the capability library component in the local data store; and

retrieve and execute the capability library component from the local data store to perform the portion of the installation request.

3. The computer-readable medium of claim 1 , wherein the installation request comprises one or more instructions to perform at least one of an installation operation, an upgrade operation, a modification operation, and a removal operation associated with one of an application, a service, or a configuration.

4. The computer-readable medium of claim 1 , wherein the installation request comprises a request to roll back installation from a current state to a prior state.

5. The computer-readable medium of claim 1 , further comprising instructions that, when executed by the processor, cause the processor to: execute the bridge application, the bridge application being further configured to: wait for a response from the remote device; and process the installation request based on the response.

6. The computer-readable medium of claim 5 , wherein the response comprises a newer version of the capability library component.

7. The computer-readable medium of claim 6 , further comprising instructions that, when executed by the processor, cause the processor to:

execute the bridge application, the bridge application being further configured to:

install the newer version of the capability library component in the local data store;

load the newer version of the capability library component; and

process the installation request using the newer version of the capability library component.

8. A method comprising:

receiving an installation request at a bridge application running on a computing system from a remote device through a communication channel, wherein the installation request is related to a software component;

automatically identifying, by the bridge application, a capability library component that will be used to perform at least a portion of the installation request related to the software component, wherein the capability library component is a separate component from the software component associated with the installation request and is a separate component from the installation request and the capability library component includes processor-executable code and is non-independently executable as a separate application;

sending data, by the bridge application, indicating an acknowledgment to the remote device, the acknowledgment indicating a version of the capability library component retrieved from the local data store if the capability library component is in a local data store;

receiving, by the bridge application, a signal from the remote device; and

selectively processing the installation request by the bridge application in response to the signal.

9. The method of claim 8 , wherein the signal comprises a newer version of the capability library component.

10. The method of claim 9 , wherein selectively processing the installation request by the bridge application further comprises:

extracting the newer version of the capability library component from the signal;

storing the newer version of the capability library component in the local data store; and

processing the installation request using the newer version in response to receiving the signal.

11. The method of claim 8 , wherein, if the local data store does not include the capability library component, the method further comprises:

requesting, by the bridge application, the capability library component from the remote device;

receiving, by the bridge application, the capability library component from the remote device through the communication channel in response to requesting the capability library component; and

processing the installation request by the bridge application using the capability library component in response to receiving the capability library component.

12. The method of claim 8 , wherein receiving the installation request comprises an instructions to install at least one of a new service, a new application, and an update to provide a new capability.

13. The method of claim 8 , further comprising:

receiving, by the bridge application, a second request from the remote device;

identifying, by the bridge application, a second capability library component to perform at least a portion of the second request;

retrieving, by the bridge application, the second capability library component from the local data store if the local data store includes the second capability library component;

requesting, by the bridge application, the second capability library component from the remote device if the local data store does not include the capability library component; and

processing the second request by the bridge application using the second capability library component to remove a previous installation and to restore the computing system to a previous state.

14. An apparatus comprising:

an interface adapted to couple to a network;

a processing system coupled to the interface; and

a memory coupled to the processing system, wherein the memory stores a plurality of capability library components and at least one of an application and a set of instructions for providing a service, wherein the application comprises a bridge application, the memory embodying instructions that, when executed by the processing system, cause the processing system to execute the bridge application to:

receive an installation request to install at least one of a second application from a remote device via the interface, a second set of instructions, an updated version of the second application, and an updated version of the second set of instructions;

determine a capability library component for processing the installation request, wherein the capability library component is a separate component from the second application and the second set of instructions and is a separate component from the installation request and the capability library component includes processor-executable code and is non-independently executable as a separate application;

retrieve the capability library component from one of the remote device and the plurality of capability library components;

if a local data store includes the capability library component the bridge application being further configured to send an acknowledgment to the remote device, the acknowledgment indicating a version of the capability library component retrieved from the local data store; and

process the installation request using the capability library component.

15. The apparatus of claim 14 , wherein the instructions that, when executed, cause the processing system to retrieve the capability library component, comprise instructions that cause the processing system to execute the bridge application to:

search the plurality of capability library components to identify the capability library component for processing the installation request; and

load and execute the capability library component to process the installation request when the capability library component is within the plurality of capability library components.

16. The apparatus of claim 15 , wherein the instructions that, when executed, cause the processing system to retrieve the capability library component, further comprise instructions that cause the processing system to execute the bridge application to:

request the capability library component from the remote device if the capability library component is not within the plurality of capability library components;

receive the capability library component from the remote device; and

store the capability library component in the plurality of capability library components.

17. The apparatus of claim 16 , wherein the instructions that, when executed, cause the processing system to retrieve the capability library component further comprise instructions that cause the processing system to execute the bridge application to:

load the capability library component; and

process the installation request using the capability library component.

18. The apparatus of claim 14 , wherein the instructions that, when executed, cause the processing system to retrieve the capability library component, comprise instructions that cause the processing system to execute the bridge application to:

receive a second request to remove a previous installation to restore the processing system to previous known state;

determine a second capability library component for processing the second request;

retrieve the second capability library component from one of the remote device and the plurality of capability library components; and

process the second request using the second capability library component to remove the previous installation.

19. The apparatus of claim 14 , wherein the instructions that, when executed, cause the processing system to receive the installation request cause the processing system to execute the bridge application to receive the installation request through a secure communication channel.

Assignments (17)
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 Jan 23, 2015
From: BMC SOFTWARE, INC.
To: BLADELOGIC, INC.
Reel/Frame 034800/0027 →
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 →
MERGER Recorded Dec 7, 2012
From: VARALOGIX, INC.
To: BMC SOFTWARE, INC.
Reel/Frame 029425/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2012
From: FULLER, ROBIN N.; SENNER, JOE; WALL, TIMOTHY
To: VARALOGIX, INC.
Reel/Frame 028545/0593 →