IP Library Granted Patent US 10,182,130
Granted Patent B2
US 10,182,130 · App. 14/840,895 · Granted Jan 15, 2019

Per-application network content filtering

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,182,130
App. No.
14/840,895
Granted
Jan 15, 2019
Kind
B2
Abstract

Disclosed are various examples for providing network content filtering to client devices on a per-application basis. A network stack receives a request from an application to connect to a network service. The network stack then determines the identity of the application. Based at least in part on the identity of the application, the network stack initiates a network connection between the application and the network service using or without using a managed network tunnel.

Claims (57)

1. A non-transitory computer-readable medium embodying instructions executable in a client computing device, the instructions, when executed by the client computing device, being configured to cause the client computing device to at least:

receive a request from an application to connect to a network service;

determine an identity of the application;

based at least in part on the identity of the application, determine that a network connection between the application and the network service is to use a managed network tunnel;

send a request specifying an identifier of the application to a network content filtering service to open the managed network tunnel, wherein:

the request is sent in response to a determination that the network connection and the application is to use the managed network tunnel, and

the network content filtering service is configured to selectively provide network access between the client computing device and the network service based on the identity of the application and an identity of the network service; and

initiate the network connection between the application and the network service using the managed network tunnel in response to the managed network tunnel being opened.

2. The non-transitory computer-readable medium of claim 1 , wherein the request is a first request, the identity is a first identity, and the instructions, when executed by the client computing device, are further configured to cause the client computing device to at least:

receive a second request from another application to connect to the network service;

determine a second identity of the other application; and

based at least in part on the second identity of the other application, initiate a separate network connection between the other application and the network service without using a managed network tunnel.

3. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed by the client computing device, are further configured to cause the client computing device to at least:

receive configuration profile data from a management service, wherein the configuration profile data indicates one or more applications for which network connections are routed through managed network tunnels.

4. The non-transitory computer-readable medium of claim 1 , wherein the managed network tunnel is configured to filter network access between the application and the network service.

5. The non-transitory computer-readable medium of claim 1 , wherein the managed network tunnel is configured not to filter network access between the application and another network service.

6. The non-transitory computer-readable medium of claim 1 , wherein the managed network tunnel is a virtual private network tunnel.

7. A system, comprising:

a client computing device comprising a processor and a memory; and

machine readable instructions stored in the memory and executable by the processor of the client computing device to cause the client computing device to at least:

receive a request from an application to connect to a network service determine an identity of the application;

determine, based at least in part on the identity of the application, that a network connection between the application and the network service is to use a managed network tunnel;

send a request specifying an identifier of the application to a network content filtering service to open the managed network tunnel between the client computing device and the network content filtering service, wherein the request is sent in response to a determination that the network connection between the application and the network service to use the managed network tunnel, and the network content filtering service is configured to selectively provide network access between the client computing device and the network service based on the identity of the application and an identify of the network service; and

route all network traffic of the application to the network content filtering service through the managed network tunnel in response to creation of the managed network tunnel.

8. The system of claim 7 , wherein the machine readable instructions are further configured to cause the client computing device to at least:

send an identifier of the application to the network content filtering service; and

wherein the network content filtering service is configured to filter the network traffic routed through the managed network tunnel based at least in part on at least one filtering rule associated with the application.

9. The system of claim 7 , wherein the network content filtering service is executed in another computing device that is located remotely from the client computing device.

10. A method, comprising:

receiving, by a client device, a request from an application to connect to a network service;

determining, by the client device, an identity of the application;

determining, by the client device, that a network connection between the application and the network service is to use a managed network tunnel based at least in part on the identity of the application; and

in response to determining that the network connection between the application and the network service is to use the managed network tunnel, opening, by the client device, the managed network tunnel by sending a request specifying an identifier of the application to a network content filtering service configured to selectively provide network access between the client device and the network service based on the identity of the application and an identity of the network service; and

initiating, by the client device, a network connection between the application and the network service using managed network tunnel.

11. The system of claim 7 , wherein the managed network tunnel is a virtual private network tunnel.

12. The system of claim 7 , wherein the request is a first request, the identity is a first identity, and the machine readable instructions, when executed by the processor of the client computing device, are further cause the client computing device to at least:

receive a second request from another application to connect to the network service;

determine a second identity of the other application; and

based on the second identity of the other application, initiate a separate network connection between the other application and the network service without using a managed network tunnel.

13. The system of claim 7 , wherein the machine readable instructions, when executed by the client computing device, are further configured to cause the client computing device to at least:

receive configuration profile data from a management service, wherein the configuration profile data indicates one or more applications for which network connections are routed through managed network tunnels.

14. The system of claim 7 , wherein the managed network tunnel is configured to filter network access between the application and the network service.

15. A method, comprising:

receiving, by a client device, a request from an application to connect to a network service;

determining, by the client device, an identity of the application;

determining, by the client device, that a network connection between the application and the network service is to use a managed network tunnel based at least in part on the identity of the application; and

in response to determining that the network connection between the application and the network service is to use the managed network tunnel, creating, by the client device, the managed network tunnel; and

initiating, by the client device, a network connection between the application and the network service using managed network tunnel.

16. The method of claim 15 , wherein the request is a first request, the identity is a first identity, and the method further comprises:

receiving, by the client device, a second request from another application to connect to the network service;

determining, by the client device, a second identity of the other application; and

based at least in part on the second identity of the other application, initiating a separate network connection between the other application and the network service by the client device without using a managed network tunnel.

17. The method of claim 15 , wherein the network content filtering service is executed in a server device that is located remotely from the client device.

18. The method of claim 15 , further comprising:

receiving, by the client device, configuration profile data from a management service, wherein the configuration profile data indicates one or more applications for which network connections are routed through managed network tunnels.

19. The method of claim 15 , wherein the managed network tunnel is configured to filter network access between the application and the network service.

20. The method of claim 15 , wherein the managed network tunnel is configured not to filter network access between the application and another network service.

Assignments (2)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: AIRWATCH LLC
To: OMNISSA, LLC
Reel/Frame 068327/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: RYKOWSKI, ADAM
To: AIRWATCH LLC
Reel/Frame 036868/0521 →