IP Library Granted Patent US 10,972,468
Granted Patent B2
US 10,972,468 · App. 15/818,795 · Granted Apr 6, 2021

Adaptive device enrollment

Inventors: Nicholas Brouillette (Smyrna, GA); Harit Patel (Atlanta, GA); Ujwal Naik (Atlanta, GA); Vinay Jain (Fremont, CA); Sridevi Ravuri (Sunnyvale, CA); Adarsh Jain (Atlanta, GA); Nischit Shetty (Cumming, GA)
Assignee: VMware, Inc.
H04L63/101G06F21/44G06Q50/18H04L63/102G06F8/61
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,972,468
App. No.
15/818,795
Granted
Apr 6, 2021
Kind
B2
Abstract

Examples described herein include systems and methods for dynamically determining enrollment requirements and enrolling a user device into a management system. The systems and methods can differ based on the type and version of operating system executing on the user device. With some operating systems, enrollment can be completed through a single application that performs other functionality, such providing single-sign-on access to enterprise resources. With other operating systems, enrollment can be completed by pausing the first application and requiring installation of an agent application to complete enrollment. The determination of how and when to enroll a user device can be done automatically and can be based on an organizational group to which the user belongs.

Claims (65)

1. A method for dynamically determining enrollment requirements and enrolling a user device into a management system, comprising:

receiving user credentials at an application installed on the user device, the application not being an agent application dedicated to performing device enrollment;

receiving, at the application, an access token based on the user credentials;

receiving, at the application, an identification of an organizational group to which the user belongs;

receiving a determination as to whether the identified organizational group enables the user device to directly enroll with the management system or requires a dedicated agent application be downloaded to the device to enroll with the management system without using the application for enrollment;

if the identified organizational group enables the user device to directly enroll with the management system, requesting an assessment by a management server that the user device is allowed to enroll at the management server, wherein the assessment is based, at least in part, on restrictions stored at the management server;

receiving the assessment that the user device is allowed to enroll directly with the management server without the use of the dedicated agent application;

displaying, at the user device, a prompt for the user to proceed with enrollment;

enrolling, by the application, the user device with the management server, including sending policies from the management server to the application for enforcement at the user device by the application;

displaying, at the user device, a prompt for the user to select one or more managed applications to install on the user device; and

downloading the managed applications selected by the user.

2. The method of claim 1 , further comprising receiving a determination as to whether the operating system of the user device requires an enterprise feature to be enabled in order to perform direct enrollment, and if so, confirming that the enterprise feature has been enabled for the user device.

3. The method of claim 1 , wherein receiving an identification of an organizational group to which the user device belongs comprises requesting a lookup of the organizational group, based on the user's email address, and receiving a result of the lookup.

4. The method of claim 1 , wherein if the identified organizational group does not enable the user device to directly enroll with the management system, performing stages comprising:

requesting a list of child organizational groups available for the identified organizational group;

receiving, from the user, an indication of at least one of the child organizational groups to which the user belongs;

receiving a determination as to whether the at least one indicated child organizational group enables the user device to directly enroll with the management system; and

if the at least one indicated child organizational group enables the user device to directly enroll with the management system, requesting the assessment by the management server that the user device is allowed to enroll at the management server.

5. The method of claim 4 , wherein receiving the indication of the at least one of the child organizational groups to which the user belongs comprises receiving a manual selection, from the user at the UI of the application, of the child organizational group to which the user belongs.

6. The method of claim 4 , wherein receiving a determination as to whether the indicated child organizational group enables the user device to directly enroll with the management system comprises requesting the management server to determine whether the indicated child organizational group enables the user device to directly enroll with the management system.

7. The method of claim 1 , further comprising prompting the user, by the application, to provide a selection indicating whether the user device is corporate owned, and presenting a terms-of-use agreement to the user based on the selection.

8. A non-transitory, computer-readable medium comprising instructions that, when executed by a processor of a user device, perform stages for dynamically determining enrollment requirements and enrolling the user device into a management system, the stages comprising:

receiving user credentials at an application installed on the user device, the application not being an agent application dedicated to performing device enrollment;

receiving, at the application, an access token based on the user credentials;

receiving, at the application, an identification of an organizational group to which the user belongs;

receiving a determination as to whether the identified organizational group enables the user device to directly enroll with the management system or requires a dedicated agent application be downloaded to the device to enroll with the management system without using the application for enrollment;

if the identified organizational group enables the user device to directly enroll with the management system, requesting an assessment by a management server that the user device is allowed to enroll at the management server, wherein the assessment is based, at least in part, on restrictions stored at the management server;

receiving the assessment that the user device is allowed to enroll directly with the management server without the use of the dedicated agent application;

displaying, at the user device, a prompt for the user to proceed with enrollment;

enrolling, by the application, the user device with the management server, including sending policies from the management server to the application for enforcement at the user device by the application;

displaying, at the user device, a prompt for the user to select one or more managed applications to install on the user device; and

downloading the managed applications selected by the user.

9. The non-transitory, computer-readable medium of claim 8 , the stages further comprising receiving a determination as to whether the operating system of the user device requires an enterprise feature to be enabled in order to perform direct enrollment, and if so, confirming that the enterprise feature has been enabled for the user device.

10. The non-transitory, computer-readable medium of claim 8 , wherein receiving an identification of an organizational group to which the user device belongs comprises requesting a lookup of the organizational group, based on the user's email address, and receiving a result of the lookup.

11. The non-transitory, computer-readable medium of claim 8 , wherein if the identified organizational group does not enable the user device to directly enroll with the management system, performing stages comprising:

requesting a list of child organizational groups available for the identified organizational group;

receiving an indication of at least one of the child organizational groups to which the user belongs;

receiving a determination as to whether the at least one indicated child organizational group enables the user device to directly enroll with the management system; and

if the at least one indicated child organizational group enables the user device to directly enroll with the management system, requesting the assessment by the management server that the user device is allowed to enroll at the management server.

12. The non-transitory, computer-readable medium of claim 11 , wherein receiving the indication of the at least one of the child organizational groups to which the user belongs comprises receiving a manual selection from the user, through the application, of the child organizational group to which the user belongs.

13. The non-transitory, computer-readable medium of claim 11 , wherein receiving a determination as to whether the indicated child organizational group enables the user device to directly enroll with the management system comprises requesting the management server to determine whether the indicated child organizational group enables the user device to directly enroll with the management system.

14. The non-transitory, computer-readable medium of claim 8 , the stages further comprising prompting the user, by the application, to provide a selection indicating whether the user device is corporate owned, and presenting a terms-of-use agreement to the user based on the selection.

15. A system for dynamically determining enrollment requirements and enrolling a user device into a management system, comprising:

a user device having a processor, display, and memory storage;

wherein the memory storage contains a non-transitory, computer-readable medium comprising instructions that, when executed by the process, carry out stages comprising:

receiving user credentials at an application installed on the user device, the application not being an agent application dedicated to performing device enrollment;

receiving, at the application, an access token based on the user credentials;

receiving, at the application, an identification of an organizational group to which the user belongs;

receiving a determination as to whether the identified organizational group enables the user device to directly enroll with the management system or requires a dedicated agent application be downloaded to the device to enroll with the management system without using the application for enrollment;

if the identified organizational group enables the user device to directly enroll with the management system, requesting an assessment by a management server that the user device is allowed to enroll at the management server, wherein the assessment is based, at least in part, on restrictions stored at the management server;

receiving the assessment that the user device is allowed to enroll directly with the management server without the use of the dedicated agent application;

displaying, at the user device, a prompt for the user to proceed with enrollment;

enrolling, by the application, the user device with the management server, including sending policies from the management server to the application for enforcement at the user device by the application;

displaying, at the user device, a prompt for the user to select one or more managed applications to install on the user device; and

downloading the managed applications selected by the user.

16. The system of claim 15 , the stages further comprising receiving a determination as to whether the operating system of the user device requires an enterprise feature to be enabled in order to perform direct enrollment, and if so, confirming that the enterprise feature has been enabled for the user device.

17. The system of claim 15 , wherein receiving an identification of an organizational group to which the user device belongs comprises requesting a lookup of the organizational group, based on the user's email address, and receiving a result of the lookup.

18. The system of claim 15 , wherein if the identified organizational group does not enable the user device to directly enroll with the management system, carrying out stages comprising:

requesting a list of child organizational groups available for the identified organizational group;

receiving an indication of at least one of the child organizational groups to which the user belongs;

receiving a determination as to whether the at least one indicated child organizational group enables the user device to directly enroll with the management system; and

if the at least one indicated child organizational group enables the user device to directly enroll with the management system, requesting the assessment by the management server that the user device is allowed to enroll at the management server.

19. The system of claim 18 , wherein receiving a determination as to whether the indicated child organizational group enables the user device to directly enroll with the management system comprises requesting the management server to determine whether the indicated child organizational group enables the user device to directly enroll with the management system.

20. The system of claim 15 , the stages further comprising prompting the user, by the application, to provide a selection indicating whether the user device is corporate owned, and

presenting a terms-of-use agreement to the user based on the selection.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: BROUILLETTE, NICHOLAS; PATEL, HARIT; NAIK, UJWAL; JAIN, VINAY; RAVURI, SRIDEVI; JAIN, ADARSH; SHETTY, NISCHIT
To: VMWARE, INC.
Reel/Frame 044186/0967 →