IP Library Granted Patent US 10,402,181
Granted Patent B2
US 10,402,181 · App. 15/334,315 · Granted Sep 3, 2019

Generating and optimizing deployment configurations for enrolled devices

Inventors: Christopher Burns (Atlanta, GA); Joshua Grey Pelkey (Atlanta, GA); Mandy Cornwell (Atlanta, GA); Colleen Caporal (Atlanta, GA); Drew Malcolm (Atlanta, GA); Subhashish Pattajoshi (Bangalore, IN); Devdutt Rajaram (Bangalore, IN); Pavan Gonagur (Bangalore, IN); Navendu Roy (Bangalore, IN)
Assignee: AIRWATCH LLC
G06F8/61G06F3/0484G06F8/71H04L67/34G06F3/0482
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,402,181
App. No.
15/334,315
Granted
Sep 3, 2019
Kind
B2
Abstract

Disclosed are various examples generating and optimizing deployment configurations for devices enrolled with a management service. A computing environment can be employed to receive information pertaining to a desired configuration of enrolled devices during an ingestion process where at least one user interface is generated, where the information received includes a specification of a client application, a resource, and a policy for implementation on a plurality of client devices enrolled with a management service. The enrolled devices can have different operating system installed thereon. The computing environment can generate a deployment configuration using the information received during the ingestion process, where the deployment configuration is universal across the client devices independent of the different operating systems. The deployment configuration can be published for at least one user group that causes the client devices to automatically install the client application and the resource, and implement the policy.

Claims (52)

1. A non-transitory computer-readable medium embodying program instructions executable in at least one computing device that, when executed, cause the at least one computing device to:

receive information pertaining to a desired configuration provided during an ingestion process where at least one user interface is generated, wherein the information received comprises:

a selection of a client application and a resource to be installed on a plurality of client devices enrolled with a management service having different operating systems installed thereon; and

a selection of a policy to implement on the client devices, the policy comprising a restriction on a hardware function or a software function of the client devices, wherein the selection of the policy is made in association with at least one of a plurality of user groups maintained by a management service, and the information further comprises selections of different policies corresponding to different ones of the user groups;

generate a deployment configuration using the information received during the ingestion process, wherein the deployment configuration is universal across the client devices independent of the different operating systems, the deployment configuration comprising different deployment profiles corresponding to the different operating systems; and

publish the deployment configuration for at least the at least one of the user groups, wherein a publication of the deployment configuration causes an agent application executable on individual ones of the client devices associated with the at least one of the one user groups to automatically install the client application and the resource on the client devices, and implement the policy on the client devices, the agent application being configured to determine that a respective one of the client devices is associated with conflicting policies existing in the deployment configuration based on the respective one of the client devices being specified in more than one of the user groups, and apply a most restrictive policy of the conflicting policies.

2. The non-transitory computer-readable medium of claim 1 , wherein the deployment configuration comprises an extensible markup language (XML) document programmatically generated by the at least one computing device.

3. The non-transitory computer-readable medium of claim 1 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a plurality of different versions of the client application compatible with each of the different operating systems; and

adding the different versions of the client application to the different deployment profiles of the deployment configuration.

4. The non-transitory computer-readable medium of claim 1 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a suggested alternative application identified based at least in part on data associated with the client application in response to the client application not being compatible with one of the different operating systems; and

adding the suggested alternative application to a particular deployment profile of the deployment configuration, wherein the particular deployment profile corresponds to one of the different operating systems.

5. The non-transitory computer-readable medium of claim 1 , wherein the resource comprises authentication credentials for at least one of: a wireless network or an email service.

6. The non-transitory computer-readable medium of claim 1 , wherein the resource comprises a wildcard that is replaced on each of the client devices by the agent application that configures the respective one of the client devices in accordance with the deployment configuration, wherein the agent application replaces the wildcard with a user-specific parameter.

7. A system, comprising:

at least one computing device; and

program instructions executable in the at least one computing device that, when executed, cause the at least one computing device to:

receive information pertaining to a desired configuration provided during an ingestion process where at least one user interface is generated, wherein the information received comprises:

a selection of a client application and a resource to be installed on a plurality of client devices enrolled with a management service having different operating systems installed thereon; and

a selection of a policy to implement on the client devices, the policy comprising a restriction on a hardware function or a software function of the client devices, wherein the selection of the policy is made in association with a particular one of a plurality of user groups maintained by a management service, and the information further comprises selections of different policies corresponding to different ones of the user groups;

generate a deployment configuration using the information received during the ingestion process, wherein the deployment configuration is universal across the client devices independent of the different operating systems, the deployment configuration comprising different deployment profiles corresponding to the different operating systems; and

publish the deployment configuration for at least the particular one of the user groups, wherein a publication of the deployment configuration causes an agent application executable on individual ones of the client devices associated with the particular one of the one user groups to automatically install the client application and the resource on the client devices, and implement the policy on the client devices, the agent application being configured to determine that a respective one of the client devices is associated with conflicting policies existing in the deployment configuration based on the respective one of the client devices being specified in more than one of the user groups, and apply a most restrictive policy of the conflicting policies.

8. The system of claim 7 , wherein the deployment configuration comprises an extensible markup language (XML) document programmatically generated by the at least one computing device.

9. The system of claim 7 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a plurality of different versions of the client application compatible with each of the different operating systems; and

adding the different versions of the client application to the different deployment profiles of the deployment configuration.

10. The system of claim 7 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a suggested alternative application identified based at least in part on data associated with the client application in response to the client application not being compatible with one of the different operating systems; and

adding the suggested alternative application to a particular deployment profile of the deployment configuration, wherein the particular deployment profile corresponds to the one of the different operating systems.

11. The system of claim 7 , wherein the resource comprises authentication credentials for at least one of: a wireless network or an email service.

12. The system of claim 7 , wherein the resource comprises a wildcard that is replaced on each of the client devices by an agent application that configures a respective one of the client devices in accordance with the deployment configuration, wherein the agent application replaces the wildcard with a user-specific parameter.

13. A computer-implemented method, comprising:

receiving information pertaining to a desired configuration provided during an ingestion process where at least one user interface is generated, wherein the information received comprises:

a selection of a client application and a resource to be installed on a plurality of client devices enrolled with a management service; and

a selection of a policy to implement on the client devices, the policy comprising a restriction on a hardware function or a software function of the client devices, individual ones of the client devices having different operating systems installed thereon;

generating a deployment configuration using the information received during the ingestion process, wherein the deployment configuration is universal across the client devices independent of the different operating systems, the deployment configuration comprising different deployment profiles corresponding to the different operating systems; and

publishing the deployment configuration for at least the particular one of the user groups, wherein a publication of the deployment configuration causes an agent application executable on individual ones of the client devices associated with the particular one of the one user groups to automatically install the client application and the resource on the client devices, and implement the policy on the client devices, the agent application being configured to determine that a respective one of the client devices is associated with conflicting policies existing in the deployment configuration based on the respective one of the client devices being specified in more than one of the user groups, and apply a most restrictive policy of the conflicting policies.

14. The computer-implemented method of claim 13 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a plurality of different versions of the client application compatible with each of the different operating systems; and

adding the different versions of the client application to the different deployment profiles of the deployment configuration.

15. The computer-implemented method of claim 13 , wherein the ingestion process comprises:

identifying a specification of the client application made in the at least one user interface;

querying a service to identify a suggested alternative application identified based at least in part on data associated with the client application in response to the client application not being compatible with one of the different operating systems; and

adding the suggested alternative application to a particular deployment profile of the deployment configuration, wherein the particular deployment profile corresponds to the one of the different operating systems.

16. The computer-implemented method of claim 13 , wherein the resource comprises authentication credentials for at least one of: a wireless network or an email service.

17. The computer-implemented method of claim 13 , wherein the resource comprises a wildcard that is replaced on each of the client devices by an agent application that configures a respective one of the client devices in accordance with the deployment configuration, wherein the agent application replaces the wildcard with a user-specific parameter.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2016
From: BURNS, CHRISTOPHER; PELKEY, JOSHUA GREY; CORNWELL, MANDY; CAPORAL, COLLEEN; MALCOLM, DREW; PATTAJOSHI, SUBHASHISH; RAJARAM, DEVDUTT; GONAGUR, PAVAN; ROY, NAVENDU
To: AIRWATCH LLC
Reel/Frame 040127/0085 →
Priority Claims (1)
IN 201641024575 · Jul 18, 2016 · national
Continuity (1)
Related Publication 20180018154A1 · Jan 18, 2018