IP Library Granted Patent US 9,160,751
Granted Patent B2
US 9,160,751 · App. 14/563,767 · Granted Oct 13, 2015

Mobile device management profile distribution

Inventor: Paul Michael Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L63/102H04L63/104H04W12/08
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,160,751
App. No.
14/563,767
Granted
Oct 13, 2015
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for automated mobile device management profile distribution. One of the methods includes receiving a first request for access to a first network resource from a client device, the first network resource corresponding to one of a plurality of restricted resources accessible only by devices enrolled with a mobile device management system, determining that the client device is not enrolled with the mobile device management system, preventing the client device access to the first network resource, providing to the client device a redirect to a mobile device management resource that is different from the first network resource, providing instructions for presentation of a user interface to the client device, and enrolling the client device with the mobile device management system, the enrolling comprising providing a copy of the mobile device management profile to the client device.

Claims (103)

1. A method performed by data processing apparatus, the method comprising:

receiving, from each of a plurality of client devices, a respective first request for access to a respective first network resource, the first network resource corresponding to one of a plurality of restricted resources accessible only by devices enrolled with a mobile device management system, which enrollment occurs when each of the devices receives a mobile device management profile from the device management system, and the device management profile configures a proxy setting of the corresponding device;

determining, for each of the client devices, whether the respective first request to access the respective first network resource includes an address of a predetermined proxy server;

for each client device in a first subset of the client devices:

determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

determining that the client device is not enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

preventing, based on determining that the client device is not enrolled with the mobile device management system, the client device from accessing the respective first network resource;

providing to the client device, based on determining that the client device is not enrolled with the mobile device management system, a redirect to a mobile device management resource that is different from the respective first network resource;

providing instructions for presentation of a user interface to the client device, the provided instructions relating to the mobile device management resource and comprising a user notification regarding the mobile device management profile; and

enrolling the client device with the mobile device management system, the enrolling comprising providing the mobile device management profile to the client device; and

for each client device in a second subset of the client devices different than the first subset:

determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server;

determining that the client device is enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server; and

allowing the client device access to the first network resource based on determining that the client device is enrolled with the mobile device management system.

2. The method of claim 1 , comprising:

receiving, for at least one of the client devices, a second request for access to a second network resource from the client device, the second request received prior to the first request and the second network resource corresponding to one of a plurality of unrestricted resources accessible by devices not enrolled with the mobile device management system; and

allowing, for the at least one of the client devices, the client device access to the second network resource.

3. The method of claim 1 , comprising:

determining, for at least one client device in the second subset of the client devices, whether the mobile device management profile has been deactivated on the client device; and

un-enrolling, for the at least one client device in the second subset of the client devices, the client device from the mobile device management system based on determining that the mobile device management profile has been deactivated from the client device, the un-enrolling preventing the client device from accessing the plurality of restricted resources by removing the proxy setting of the client device.

4. The method of claim 1 , wherein the plurality of restricted resources comprises resources managed by an organization that uses the mobile device management system.

5. The method of claim 1 , wherein the plurality of restricted resources comprises public network resources.

6. The method of claim 1 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a heartbeat signal has been received within a predetermined period of time; and

determining that the client device is not enrolled with the mobile device management system based on determining that the heartbeat signal has not been received within the predetermined period of time.

7. The method of claim 1 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a device identifier associated with the client device is categorized as being enrolled with the mobile device management system; and

determining that the client device is not enrolled with the mobile device management system based on determining that the device identifier associated with the client device is not categorized as being enrolled with the mobile device management system.

8. The method of claim 1 , wherein:

the instructions comprise instructions for presentation of an agreement to enroll the client device with the mobile device management system; and

enrolling the client device with the mobile device management system comprises receiving input from the client device indicating acceptance of the agreement, wherein the client device is enrolled with the mobile device management system in response to receiving the input from the client device.

9. The method of claim 1 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether the client device is connected to a non-compliant network, the non-compliant network providing access to a plurality of unrestricted resources and not providing access to any of the plurality of restricted resources; and

determining that the client device is not enrolled with the mobile device management system based on determining that the client device is connected to the non-compliant network.

10. A non-transitory computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving, from each of a plurality of client devices, a respective first request for access to a respective first network resource, the first network resource corresponding to one of a plurality of restricted resources accessible only by devices enrolled with a mobile device management system, which enrollment occurs when each of the devices receives a mobile device management profile from the device management system, and the device management profile configures a proxy setting of the corresponding device;

determining, for each of the client devices, whether the respective first request to access the respective first network resource includes an address of a predetermined proxy server;

for each client device in a first subset of the client devices:

determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

determining that the client device is not enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

preventing, based on determining that the client device is not enrolled with the mobile device management system, the client device from accessing the respective first network resource;

providing to the client device, based on determining that the client device is not enrolled with the mobile device management system, a redirect to a mobile device management resource that is different from the respective first network resource;

providing instructions for presentation of a user interface to the client device, the provided instructions relating to the mobile device management resource and comprising a user notification regarding the mobile device management profile; and

enrolling the client device with the mobile device management system, the enrolling comprising providing the mobile device management profile to the client device; and

for each client device in a second subset of the client devices different than the first subset:

determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server;

determining that the client device is enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server; and

allowing the client device access to the first network resource based on determining that the client device is enrolled with the mobile device management system.

11. The computer storage medium of claim 10 , the operations comprising:

receiving, for at least one of the client devices, a second request for access to a second network resource from the client device, the second request received prior to the first request and the second network resource corresponding to one of a plurality of unrestricted resources accessible by devices not enrolled with the mobile device management system; and

allowing, for the at least one of the client devices, the client device access to the second network resource.

12. The computer storage medium of claim 10 , the operations comprising:

determining, for at least one client device in the second subset of the client devices, whether the mobile device management profile has been deactivated on the client device; and

un-enrolling, for the at least one client device in the second subset of the client devices, the client device from the mobile device management system based on determining that the mobile device management profile has been deactivated from the client device, the un-enrolling preventing the client device from accessing the plurality of restricted resources by removing the proxy setting of the client device.

13. The computer storage medium of claim 10 , wherein the plurality of restricted resources comprises resources managed by an organization that uses the mobile device management system.

14. The computer storage medium of claim 10 , wherein the plurality of restricted resources comprises public network resources.

15. The computer storage medium of claim 10 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a heartbeat signal has been received within a predetermined period of time; and

determining that the client device is not enrolled with the mobile device management system based on determining that the heartbeat signal has not been received within the predetermined period of time.

16. The computer storage medium of claim 10 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a device identifier associated with the client device is categorized as being enrolled with the mobile device management system; and

determining that the client device is not enrolled with the mobile device management system based on determining that the device identifier associated with the client device is not categorized as being enrolled with the mobile device management system.

17. The computer storage medium of claim 10 , wherein:

the instructions comprise instructions for presentation of an agreement to enroll the client device with the mobile device management system; and

enrolling the client device with the mobile device management system comprises receiving input from the client device indicating acceptance of the agreement, wherein the client device is enrolled with the mobile device management system in response to receiving the input from the client device.

18. The computer storage medium of claim 10 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether the client device is connected to a non-compliant network, the non-compliant network providing access to a plurality of unrestricted resources and not providing access to any of the plurality of restricted resources; and

determining that the client device is not enrolled with the mobile device management system based on determining that the client device is connected to the non-compliant network.

19. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, from each of a plurality of client devices, a respective first request for access to a respective first network resource, the first network resource corresponding to one of a plurality of restricted resources accessible only by devices enrolled with a mobile device management system, which enrollment occurs when each of the devices receives a mobile device management profile from the device management system, and the device management profile configures a proxy setting of the corresponding device;

determining, for each of the client devices, whether the respective first request to access the respective first network resource includes an address of a predetermined proxy server;

for each client device in a first subset of the client devices:

determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

determining that the client device is not enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource does not include the address of the predetermined proxy server;

preventing, based on determining that the client device is not enrolled with the mobile device management system, the client device from accessing the respective first network resource;

providing to the client device, based on determining that the client device is not enrolled with the mobile device management system, a redirect to a mobile device management resource that is different from the respective first network resource;

providing instructions for presentation of a user interface to the client device, the provided instructions relating to the mobile device management resource and comprising a user notification regarding the mobile device management profile; and

enrolling the client device with the mobile device management system, the enrolling comprising providing the mobile device management profile to the client device; and

for each client device in a second subset of the client devices different than the first subset:

determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server;

determining that the client device is enrolled with the mobile device management system based on determining that the respective first request to access the respective first network resource includes the address of the predetermined proxy server; and

allowing the client device access to the first network resource based on determining that the client device is enrolled with the mobile device management system.

20. The system of claim 19 , the operations comprising:

receiving, for at least one of the client devices, a second request for access to a second network resource from the client device, the second request received prior to the first request and the second network resource corresponding to one of a plurality of unrestricted resources accessible by devices not enrolled with the mobile device management system; and

allowing, for the at least one of the client devices, the client device access to the second network resource.

21. The system of claim 19 , the operations comprising:

determining, for at least one client device in the second subset of the client devices, whether the mobile device management profile has been deactivated on the client device; and

un-enrolling, for the at least one client device in the second subset of the client devices, the client device from the mobile device management system based on determining that the mobile device management profile has been deactivated from the client device, the un-enrolling preventing the client device from accessing the plurality of restricted resources by removing the proxy setting of the client device.

22. The system of claim 19 , wherein the plurality of restricted resources comprises resources managed by an organization that uses the mobile device management system.

23. The system of claim 19 , wherein the plurality of restricted resources comprises public network resources.

24. The system of claim 19 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a heartbeat signal has been received within a predetermined period of time; and

determining that the client device is not enrolled with the mobile device management system based on determining that the heartbeat signal has not been received within the predetermined period of time.

25. The system of claim 19 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether a device identifier associated with the client device is categorized as being enrolled with the mobile device management system; and

determining that the client device is not enrolled with the mobile device management system based on determining that the device identifier associated with the client device is not categorized as being enrolled with the mobile device management system.

26. The system of claim 19 , wherein:

the instructions comprise instructions for presentation of an agreement to enroll the client device with the mobile device management system; and

enrolling the client device with the mobile device management system comprises receiving input from the client device indicating acceptance of the agreement, wherein the client device is enrolled with the mobile device management system in response to receiving the input from the client device.

27. The system of claim 19 , wherein determining that the client device is not enrolled with the mobile device management system comprises:

determining whether the client device is connected to a non-compliant network, the non-compliant network providing access to a plurality of unrestricted resources and not providing access to any of the plurality of restricted resources; and

determining that the client device is not enrolled with the mobile device management system based on determining that the client device is connected to the non-compliant network.

Assignments (8)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Dec 12, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK TRUST COMPANY
To: IBOSS, INC.
Reel/Frame 066140/0480 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 061463/0331 →
SECURITY INTEREST Recorded Dec 16, 2020
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 054789/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2015
From: MARTINI, PAUL MICHAEL
To: PHANTOM TECHNOLOGIES, INC.
Reel/Frame 035611/0935 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: MARTINI, PAUL MICHAEL
To: IBOSS, INC.
Reel/Frame 035600/0523 →
CHANGE OF NAME Recorded May 8, 2015
From: PHANTOM TECHNOLOGIES, INC.
To: IBOSS, INC.
Reel/Frame 035638/0262 →
Continuity (2)
Continuation 14029639 · Sep 17, 2013
Related Publication 20150096005A1 · Apr 2, 2015