IP Library Granted Patent US 10,592,259
Granted Patent B2
US 10,592,259 · App. 15/627,543 · Granted Mar 17, 2020

Managed application detection logic

Inventors: Lucas Chen (Atlanta, GA); Raghuram Rajan (Atlanta, GA); Jonathan Blake Brannon (Mableton, GA)
Assignee: AIRWATCH LLC
G06F9/448G06F9/445G06F9/44536
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,592,259
App. No.
15/627,543
Granted
Mar 17, 2020
Kind
B2
Abstract

Various examples for application management detection are described. In one example, depending upon whether an installation token includes a unique token value, a client device can determine whether an application is managed or unmanaged. Additionally, the client device can determine whether the application is managed or unmanaged based on whether a keychain installation token includes a unique token value, a value of a keychain installation token, and a value of a launched flag for the application. Using the concepts described herein, an unmanaged application can proceed to execute with limited functionality, present a notification that it should be reinstalled by the management service, stop executing, or take other measures.

Claims (45)

1. A system for managed application detection, comprising:

a client device comprising at least one hardware processor;

program instructions stored in memory and executable in the client device that, when executed by the client device, cause the client device to:

store an installation token in a data store in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the installation or the update of the client application; and

in response to an attempted execution of the client application on the client device, determine locally on the client device between executing the client application in a managed mode of operation and an unmanaged mode of operation based at least in part on the installation token and a presence or lack of a keychain installation token stored in the data store, the unmanaged mode of operation having less functionality than the managed mode of operation.

2. The system of claim 1 , wherein the installation token is generated by a mobile management service remotely located, the installation token being received by the client device from the mobile management service over a network.

3. The system of claim 2 , further comprising program instructions executable in the client device that, when executed by the client device, cause the client device to download the client application from an application host service at the direction of the mobile management service.

4. The system of claim 1 , further comprising program instructions executable in the client device that, when executed by the client device, cause the client device to copy the installation token from managed configuration data to keychain data as the keychain installation token in response to a first execution of the client application.

5. The system of claim 1 , wherein the installation token is stored in the data store by:

storing the installation token in managed configuration data; and

copying the installation token in keychain data as the keychain installation token.

6. The system of claim 5 , wherein the client application is executed in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token stored in the data store by:

determining that the keychain installation token is present in the keychain data;

determining a value of the keychain installation token; and

determining a value of a launched flag in user default data for the client application.

7. The system of claim 6 , wherein the value of the launched flag is set in response to a first execution of the client application on the client device.

8. A non-transitory computer-readable medium embodying program code for application management detection, the program code executable in a client device that, when executed by the client device, causes the client device to:

store an installation token in a data store in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the installation or the update of the client application; and

in response to an attempted execution of the client application on the client device, determine locally on the client device between executing the client application in a managed mode of operation and an unmanaged mode of operation based at least in part on the installation token and a presence or lack of a keychain installation token stored in the data store, the unmanaged mode of operation having less functionality than the managed mode of operation.

9. The non-transitory computer-readable medium of claim 8 , wherein the installation token is generated by a mobile management service remotely located, the installation token being received by the client device from the mobile management service over a network.

10. The non-transitory computer-readable medium of claim 9 , further comprising program code executable in the client device that, when executed by the client device, causes the client device to download the client application from an application host service at the direction of the mobile management service.

11. The non-transitory computer-readable medium of claim 8 , further comprising program code executable in the client device that, when executed by the client device, causes the client device to copy the installation token from managed configuration data to keychain data as the keychain installation token in response to a first execution of the client application.

12. The non-transitory computer-readable medium of claim 8 , wherein the installation token is stored in the data store by:

storing the installation token in managed configuration data; and

copying the installation token in keychain data as the keychain installation token.

13. The non-transitory computer-readable medium of claim 12 , wherein the client application is executed in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token by:

determining that the keychain installation token is present in the keychain data;

determining a value of the keychain installation token; and

determining a value of a launched flag in user default data for the client application.

14. The non-transitory computer-readable medium of claim 13 , wherein the value of the launched flag is set in response to a first execution of the client application on the client device.

15. A method for application management detection, comprising:

storing an installation token in a data store of a client device in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the installation or the update of the client application; and

in response to an attempted execution of the client application on the client device, determining locally on the client device between executing the client application in a managed mode of operation and an unmanaged mode of operation based at least in part on the installation token and a presence or lack of a keychain installation token stored in the data store, the unmanaged mode of operation having less functionality than the managed mode of operation.

16. The method of claim 15 , wherein the installation token is generated by a mobile management service remotely located, the installation token being received by the client device from the mobile management service over a network.

17. The method of claim 16 , further comprising downloading the client application from an application host service at the direction of the mobile management service.

18. The method of claim 15 , further comprising copying the installation token from managed configuration data to keychain data as the keychain installation token in response to a first execution of the client application.

19. The method of claim 15 , wherein storing the installation token in the data store comprises:

storing the installation token in managed configuration data; and

copying the installation token in keychain data as the keychain installation token.

20. The method of claim 19 , wherein:

executing the client application in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token stored in the data store comprises:

determining that the keychain installation token is present in the keychain data;

determining a value of the keychain installation token; and

determining a value of a launched flag in user default data for the client application; and

the value of the launched flag is set in response to a first execution of the client application on the client device.

Assignments (2)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: AIRWATCH LLC
To: OMNISSA, LLC
Reel/Frame 068327/0670 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
Continuity (2)
Continuation 14731772 · Jun 5, 2015
Related Publication 20170286129A1 · Oct 5, 2017