IP Library Granted Patent US 10,133,564
Granted Patent B2
US 10,133,564 · App. 15/385,216 · Granted Nov 20, 2018

Application wrapping system and method

Inventors: Adam Charles Cooper (Vancouver, CA); George Thucydides (North Vancouver, CA); Geoffrey Ross Mair (Vancouver, CA); Caleb Peter Buxton (Vancouver, CA)
Assignee: BMC Software, Inc.
G06F8/60G06F8/61G06F8/65G06F9/541
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 10,133,564
App. No.
15/385,216
Granted
Nov 20, 2018
Kind
B2
Abstract

A method of administering a computing system, including a plurality of computing devices. The method includes selecting an application for inclusion in a menu of applications downloadable to a computing device and interposing a wrapper on the application before the computing device downloads the application, the wrapper being configured to control an operation of the application. Interposing the wrapper on the application includes decompiling the application, searching for string patterns, and replacing the string patterns with another string pattern, the another string pattern being configured to intercept at least one of a system event or an Application Programming Interface (API) call and associating logic with the application. The logic is configured to interact with the application via the at least one system event or API call, the logic is configured to provide additional functions to the application, and the logic is stored separate from the application.

Claims (55)

1. A method of administering a computing system, including a plurality of computing devices, the method comprising:

selecting an application for inclusion in a menu of applications downloadable to a computing device; and

interposing a wrapper on the application before the computing device downloads the application, the wrapper being configured to control an operation of the application, wherein interposing the wrapper on the application includes:

decompiling the application, searching for string patterns, and replacing the string patterns with another string pattern, the another string pattern being configured to intercept at least one of a system event or an Application Programming Interface (API) call; and

associating logic with the application, wherein

the logic is configured to interact with the application via the at least one system event or API call,

the logic is configured to provide additional functions to the application,

the logic is configured to be shared between the application and at least one other application via at least one other wrapper, and

the logic is stored separate from the application.

2. The method of claim 1 , wherein the application is downloaded from the menu of applications.

3. The method of claim 2 , wherein the downloading is performed indirectly via an intermediate server.

4. The method of claim 1 , wherein the wrapper is configured to control distribution and use of the application.

5. The method of claim 1 , wherein the wrapper is configured to verify that the computing device is authorized to download the application.

6. The method of claim 1 , wherein the wrapper is configured to control storage of data associated with the application in the computing device.

7. The method of claim 6 , wherein the data is fetched by the application.

8. The method of claim 6 , wherein the data is generated by the application.

9. The method of claim 6 , wherein the controlling of the storage of data includes prohibiting storage of data associated with the application in the computing device.

10. The method of claim 1 , wherein the wrapper is configured to control access to the API.

11. The method of claim 10 , wherein

the API is configured to at least one of cut, copy and paste data between or within applications, and

the wrapper is configured to interact with the API in order to control one of the cut, copy and paste data between or within applications.

12. The method of claim 10 , wherein

the API is configured to control file sharing between or within applications, and

the wrapper is configured to interact with the API in order to control file sharing between or within applications.

13. The method of claim 1 , wherein the wrapper is configured to impose at least one of day and time-of-day restrictions on operating the application.

14. The method of claim 1 , wherein the wrapper is configured to impose location-of-use restrictions on operating the application.

15. A computing system including a plurality of computing devices, the system comprising:

a processor;

a menu of applications downloadable to a computing device;

code segments, that when executed by the processor, enable the computing device to download an application; and

code segments, that when executed by the processor, administer a wrapper configured to control operation of the application, wherein administering the wrapper includes:

decompiling the application,

searching for string patterns,

replacing the string patterns with another string pattern, the another string pattern being configured to intercept at least one of a system event or an Application Programming Interface (API) call, and

associating logic with the application, wherein

the logic is configured to interact with the application via the at least one system event or API call,

the logic is configured to provide additional functions to the application,

the logic is configured to be shared between the application and at least one other application via at least one other wrapper, and

the logic is stored separate from the application.

16. The system of claim 15 , wherein the application is downloaded from the menu of applications.

17. The system of claim 16 , wherein the downloading is performed indirectly via an intermediate server.

18. The system of claim 15 , wherein the code segments that administer the wrapper are configured to verify that the computing device is authorized to download the application.

19. The system of claim 15 , wherein the code segments that administer the wrapper are configured to control storage of data associated with the application in the computing device.

20. The system of claim 19 , wherein the data is fetched by the application.

21. The system of claim 19 , wherein the data is generated by the application.

22. The system of claim 19 , wherein the code segments that administer the wrapper are configured to prohibit storage of data associated with the application in the computing device.

23. The system of claim 15 , wherein the code segments that administer the wrapper are configured to control access to the API.

24. The system of claim 23 , wherein

the API is configured to at least one of cut, copy and paste data between or within applications, and

the wrapper is configured to interact with the API in order to control one of the cut, copy and paste data between or within applications.

25. The system of claim 23 , wherein

the API is configured to control file sharing between or within applications, and

the wrapper is configured to interact with the API in order to control file sharing between or within applications.

26. The system of claim 15 , wherein the code segments that administer the wrapper are configured to impose at least one of day and time-of-day restrictions on operating the application.

27. The system of claim 15 , wherein the code segments that administer the wrapper are configured to impose location-of-use restrictions on operating the application.

Assignments (18)
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 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 →
SECURITY INTEREST Recorded Sep 10, 2019
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 050327/0634 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: BMC SOFTWARE ACQUISITION, L.L.C.
To: BMC SOFTWARE, INC.
Reel/Frame 042154/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: BMC PARIS ACQUISITION ULC
To: BMC SOFTWARE ACQUISITION, L.L.C.
Reel/Frame 042154/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: PARTNERPEDIA SOLUTIONS INC.
To: BMC PARIS ACQUISITION ULC
Reel/Frame 042153/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: COOPER, ADAM CHARLES; THUCYDIDES, GEORGE; MAIR, GEOFF ROSS; BUXTON, CALEB PETER
To: PARTNERPEDIA SOLUTIONS INC.
Reel/Frame 042153/0696 →
Continuity (3)
Continuation 14136879 · Dec 20, 2013
Provisional Application 61745511 · Dec 21, 2012
Related Publication 20170102928A1 · Apr 13, 2017