IP Library Granted Patent US 9,832,186
Granted Patent B2
US 9,832,186 · App. 15/492,631 · Granted Nov 28, 2017

Policy enforcement of client devices

Inventors: Li Yin (Redmond, WA); Param Reddappagari (Redmond, WA); Mayur Kamat (Bothell, WA); Zhengping Zuo (Sammamish, WA); Hong Zhang (Redmond, WA)
Assignee: Google LLC
H04L63/083G06F8/61H04L63/06H04L63/0853H04L63/20
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,832,186
App. No.
15/492,631
Filed
Apr 20, 2017
Granted
Nov 28, 2017
Kind
B2
Art Unit
2435
USPC
726/6
Abstract

A method may include sending, by a client device, an access request to an authentication server device. The access request may include a request to access an administered resource. The method may include in response to the client device not complying with an administrative policy associated with the administered resource, receiving, from the authentication server device, one or more instructions regarding installation of a client application, receiving, by the client device, a client application in accordance with the instructions, and installing the client application on the client device.

Claims (81)

1. A method comprising:

receiving, from a client device, a first access request for an administered resource that is subject to an administrative policy which governs access the administered resource, the first access request including a unique identifier of the client device;

determining, based at least in part on the unique identifier and a client registry, whether the client device is compliant with the administrative policy;

in response to determining that the client device is not compliant with the administrative policy, causing the client device to install a client application, the client application configured to apply the administrative policy to the client device;

receiving, from the client application executing at the client device, a second access request for the administered resource, the second access request including the unique identifier of the client device, and login information;

determining, based on the unique identifier, and the login information included in the second access request, and the client registry, whether the client device is compliant with the administrative policy; and

in response to determining that the client device is compliant with the administrative policy, sending, to the client device, a token that provides access to the administered resource.

2. The method of claim 1 , wherein causing the client device to install the client application comprises:

sending, to the client device, one or more instructions include instructions to install the client application at the client device;

receiving, from the client device, a request to obtain the client application; and

sending, to the client device, the client application.

3. The method of claim 1 , further comprising:

sending, to the client device, one or more instructions include instructions to install a client application at the client device; and

receiving, from the client application executing at the client device, registration information for the client device, the registration information including one or more of the unique identifier of the client device, a telephone number of the client device, a name of the user of the client device, or an address of the user of the client device.

4. The method of claim 1 , wherein the client application is configured to apply one or more data security policies to the client device, the one or more data security policies including one or more of:

requiring a password to access the client device;

requiring the password to meet one or more format requirements;

forcing a password reset for the client device;

automatically locking the client device in response to the client device operating in idle mode for a period of time; or

preventing the client device from operating in idle mode.

5. The method of claim 1 , wherein determining whether the client device is complaint with the administrative policy comprises:

determining whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is stored in the client registry, determining, based on a status associated with the unique identifier stored in the client registry, whether the client device is compliant with the administrative policy.

6. The method of claim 1 , wherein determining whether the client device is complaint with the administrative policy comprises:

determining whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is not stored in the client registry, determining that the client device is not compliant with the administrative policy.

7. The method of claim 1 , further comprising:

responsive to determining that the client device is compliant with the administrative policy, updating the client registry to indicate that the client device is compliant with the administrative policy.

8. A computing system comprising:

one or more processors;

one or more communication ports;

a memory storing a client registry and instructions, the instructions, when executed, cause the one or more processors to:

receive, via the one or more communication ports and from a client device, a first access request for an administered resource that is subject to an administrative policy which governs access the administered resource, the first access request including a unique identifier of the client device;

determine, based at least in part on the unique identifier and the client registry, whether the client device is compliant with the administrative policy;

in response to determining that the client device is not compliant with the administrative policy, cause the client device to install a client application, the client application configured to apply the administrative policy to the client device;

receive, via the one or more communication ports and from the client application executing at the client device, a second access request for the administered resource, the second access request including the unique identifier of the client device, and login information;

determine, based on the unique identifier, and the login information included in the second access request, and the client registry, whether the client device is compliant with the administrative policy; and

in response to determining that the client device is compliant with the administrative policy, send, via the one or more communication ports and to the client device, a token that provides access to the administered resource.

9. The computing system of claim 8 , wherein the instructions further cause the one or more processors to:

send, via the one or more communication ports and to the client device, one or more instructions include instructions to install the client application at the client device;

receive, via the one or more communication ports and from the client device, a request to obtain the client application; and

send, via the one or more communication ports and to the client device, the client application.

10. The computing system of claim 8 , wherein the instructions further cause the one or more processors to:

send, via the one or more communication ports and to the client device, one or more instructions include instructions to install a client application at the client device; and

receive, via the one or more communication ports and from the client application executing at the client device, registration information for the client device, the registration information including one or more of the unique identifier of the client device, a telephone number of the client device, a name of the user of the client device, or an address of the user of the client device.

11. The computing system of claim 8 , wherein the client application is configured to apply one or more data security policies to the client device, the one or more data security policies including one or more of:

requiring a password to access the client device;

requiring the password to meet one or more format requirements;

forcing a password reset for the client device;

automatically locking the client device in response to the client device operating in idle mode for a period of time; or

preventing the client device from operating in idle mode.

12. The computing system of claim 8 , wherein the instructions further cause the one or more processors to:

determine whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is stored in the client registry, determine, based on a status associated with the unique identifier stored in the client registry, whether the client device is compliant with the administrative policy.

13. The computing system of claim 8 , wherein the instructions further cause the one or more processors to:

determine whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is not stored in the client registry, determine that the client device is not compliant with the administrative policy.

14. The computing system of claim 8 , wherein the instructions further cause the one or more processors to:

responsive to determining that the client device is compliant with the administrative policy, update the client registry to indicate that the client device is compliant with the administrative policy.

15. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a computing system to:

receive, from a client device, a first access request for an administered resource that is subject to an administrative policy which governs access the administered resource, the first access request including a unique identifier of the client device;

determine, based at least in part on the unique identifier and the client registry, whether the client device is compliant with the administrative policy;

in response to determining that the client device is not compliant with the administrative policy, cause the client device to install a client application, the client application configured to apply the administrative policy to the client device;

receive, from the client application executing at the client device, a second access request for the administered resource, the second access request including the unique identifier of the client device, and login information;

determine, based on the unique identifier, and the login information included in the second access request, and the client registry, whether the client device is compliant with the administrative policy; and

in response to determining that the client device is compliant with the administrative policy, send, to the client device, a token that provides access to the administered resource.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

send, to the client device, one or more instructions include instructions to install the client application at the client device;

receive, from the client device, a request to obtain the client application; and

send, to the client device, the client application.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

send, to the client device, one or more instructions include instructions to install a client application at the client device; and

receive, from the client application executing at the client device, registration information for the client device, the registration information including one or more of the unique identifier of the client device, a telephone number of the client device, a name of the user of the client device, or an address of the user of the client device.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

determine whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is stored in the client registry, determine, based on a status associated with the unique identifier stored in the client registry, whether the client device is compliant with the administrative policy.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

determine whether the unique identifier is stored in the client registry; and

responsive to determining that the unique identifier is not stored in the client registry, determine that the client device is not compliant with the administrative policy.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

responsive to determining that the client device is compliant with the administrative policy, update the client registry to indicate that the client device is compliant with the administrative policy.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2017
From: YIN, LI; REDDAPPAGARI, PARAM; KAMAT, MAYUR; ZUO, ZHENGPING; ZHANG, HONG
To: GOOGLE INC.
Reel/Frame 042083/0174 →
Continuity (3)
Continuation 14622348 · Feb 13, 2015
Continuation 13284475 · Oct 28, 2011
Related Publication 20170223006A1 · Aug 3, 2017