IP Library Granted Patent US 9,535,674
Granted Patent B2
US 9,535,674 · App. 14/136,879 · Granted Jan 3, 2017

Application wrapping system and method

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,535,674
App. No.
14/136,879
Granted
Jan 3, 2017
Kind
B2
Abstract

The method administers an enterprise computing system that includes a plurality of user mobile computing devices. The method includes selecting a pre-written application for inclusion in a menu of enterprise applications downloadable to a user computing device, allowing the user computing device to download the pre-written application, and interposing an application wrapper on the pre-written application before allowing the user computing device to download the pre-written application, the application wrapper being configured to control an operation of the pre-written application.

Claims (58)

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

selecting a pre-written application for inclusion in a menu of enterprise applications downloadable to a user computing device;

allowing the user computing device to download the pre-written application;

interposing an application wrapper on the pre-written application before allowing the user computing device to download the pre-written application, the application wrapper being configured to control an operation of the pre-written application, wherein interposing the application wrapper on the pre-written application includes:

decompiling the pre-written 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 and an Application Programming Interface (API) call; and

associating logic with the pre-written application, wherein

the logic is configured to interact with the pre-written application via the at least one system event and API call,

the logic is configured to provide additional functions to the pre-written application,

the logic is independent of the pre-written application, and

the logic is implemented as code segments.

2. The method of claim 1 , wherein the pre-written application is downloaded from the menu of enterprise 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 application wrapper is configured to control distribution and use of the pre-written application.

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

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

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

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

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

10. The method of claim 1 , wherein the application wrapper is configured to control access to an application program interface (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 application 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 application 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 application wrapper is configured to impose at least one of day and time-of-day restrictions on operating the pre-written application.

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

15. An enterprise computing system including a plurality of user computing devices, the enterprise computing system comprising:

a processor;

a menu of enterprise applications downloadable to a user computing device;

code segments, that when executed by a processor of the user computing device, enable the user computing device to download a pre-written application; and

code segments, that when executed by the processor of the enterprise computing system, administer an application wrapper configured to control operation of the pre-written application, wherein administering the application wrapper includes:

decompiling the pre-written 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 and an Application Programming Interface (API) call,

associating logic with the pre-written application, wherein

the logic is configured to interact with the pre-written application via the at least one system event and API call,

the logic is configured to provide additional functions to the pre-written application,

the logic is independent of the pre-written application, and

the logic is implemented as code segments.

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

17. The method 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 application wrapper are configured to verify that the user computing device is authorized to download the pre-written application.

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

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

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

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

23. The system of claim 15 , wherein the code segments that administer the application wrapper are configured to control access to an application program interface (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 application 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 application 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 application wrapper are configured to impose at least one of day and time-of-day restrictions on operating the pre-written application.

27. The system of claim 15 , wherein the code segments that administer the application wrapper are configured to impose location-of-use restrictions on operating the pre-written 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 (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 →
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 →
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 Aug 10, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043514/0845 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC SOFTWARE ACQUISITION, L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2016
From: COOPER, ADAM CHARLES; THUCYDIDES, GEORGE; MAIR, GEOFF ROSS; BUXTON, CALEB PETER
To: PARTNERPEDIA SOLUTIONS INC.
Reel/Frame 039544/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2016
From: PARTNERPEDIA SOLUTIONS INC.
To: BMC PARIS ACQUISITION ULC
Reel/Frame 039544/0608 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2016
From: BMC PARIS ACQUISITION ULC
To: BMC SOFTWARE ACQUISITION, L.L.C.
Reel/Frame 039544/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: BMC SOFTWARE ACQUISITION, L.L.C.
To: BMC SOFTWARE, INC.
Reel/Frame 039086/0463 →