IP Library Granted Patent US 9,288,119
Granted Patent B2
US 9,288,119 · App. 14/659,357 · Granted Mar 15, 2016

Applying policies to subnets

Inventor: Paul Michael Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L41/50H04L41/0893H04L45/06H04L45/22
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,288,119
App. No.
14/659,357
Granted
Mar 15, 2016
Kind
B2
Abstract

Associations are maintained among a plurality of subnets, policies, and client types. Each subnet has an associated client type and policy. For a particular client device, (i) a client type of the particular client device, and (ii) a client type associated with the subnet on which the particular client device is hosted is determined. For the particular client device, (i) the determined client type of the particular client device with (ii) the determined client type associated with the subnet on which the particular client device is hosted is compared. Responsive to a determination that the client type of the particular client device matches the client type associated with the subnet that hosts the particular client device, a policy is applied to the particular client device.

Claims (72)

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

maintaining associations among a plurality of subnets of a network, a plurality of policies, and a plurality of client types, wherein each subnet has an associated client type and an associated policy;

determining, for a particular client device that is not hosted on the network, a client type of the particular client device;

identifying a subnet having an associated client type that matches the determined client type of the particular client device;

hosting the particular client device on the identified subnet;

determining, for the particular client device after the particular client device has been hosted on the subnet, (i) a client type of the particular client device, and (ii) a client type associated with the subnet on which the particular client device is hosted;

ensuring the particular client device is on the correct subnet by comparing, for the particular client device after the particular client device has been hosted on the subnet, (i) the determined client type of the particular client device with (ii) the determined client type associated with the subnet on which the particular client device is hosted; and

responsive to a determination that the client type of the particular client device matches the client type associated with the subnet that hosts the particular client device, applying, to the particular client device, the policy associated with the subnet that hosts the particular client device.

2. The method of claim 1 , wherein maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types comprises maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types and the plurality of parameters, wherein each client type has an associated parameter; and

wherein determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

passively monitoring network traffic of the client devices;

examining a parameter of the passively monitored network traffic; and

comparing the parameter of the passively monitored network traffic with the associated parameters of the client types of the maintained associations.

3. The method of claim 2 , wherein the parameter of the passively monitored network traffic is a User-Agent header.

4. The method of claim 1 , wherein determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

redirecting at least some network traffic of the client devices to a server on the network;

receiving, at the server on the network, the redirected traffic; and

examining a parameter of the redirected traffic.

5. The method of claim 4 , wherein the parameter of the redirected traffic is a cookie.

6. The method of claim 4 , wherein the server is a transparent proxy configured to transparently route the redirected traffic to the redirected traffic's original destination.

7. The method of claim 1 , wherein:

the network includes a first subnet and a second subnet;

stationary clients are associated with the first subnet;

bring-your-own-device clients are associated with the second subnet; and

a more restrictive policy is associated with the second subnet and a less restrictive policy is associated with the first subnet.

8. The method of claim 1 wherein the data processing apparatus comprises a plurality of hardware devices, each hardware device include a separate processor and memory unit;

wherein a first hardware devices is configured to route traffic to and from the client devices into and out of the network; and

wherein a second hardware device is configured to perform the steps of:

maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types, wherein each subnet has an associated client type and an associated policy;

determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted;

comparing, for the particular client device, (i) the determined client type of the particular client device with (ii) the determined client type associated with the subnet on which the particular client device is hosted; and

responsive to a determination that the client type of the particular client device matches the client type associated with the subnet that hosts the particular client device, applying, to the particular client device, the policy associated with the subnet that hosts the particular client device.

9. A non-transitory computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operation comprising:

maintaining associations among a plurality of subnets of a network, a plurality of policies, and a plurality of client types, wherein each subnet has an associated client type and an associated policy;

determining, for a particular client device that is not hosted on the network, a client type of the particular client device;

identifying a subnet having an associated client type that matches the determined client type of the particular client device;

hosting the particular client device on the identified subnet;

determining, for the particular client device after the particular client device has been hosted on the subnet, (i) a client type of the particular client device, and (ii) a client type associated with the subnet on which the particular client device is hosted;

ensuring the particular client device is on the correct subnet by comparing, for the particular client device after the particular client device has been hosted on the subnet, (i) the determined client type of the particular client device with (ii) the determined client type associated with the subnet on which the particular client device is hosted; and

responsive to a determination that the client type of the particular client device matches the client type associated with the subnet that hosts the particular client device, applying, to the particular client device, the policy associated with the subnet that hosts the particular client device.

10. The computer storage media of claim 9 , the operations further comprising, responsive to a determination that the client type of the particular client device does not match the client type associated with the subnet that hosts the particular client device, apply a corrective action to the particular client device.

11. The computer storage media of claim 9 , wherein maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types comprises maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types and the plurality of parameters, wherein each client type has an associated parameter; and

wherein determining, for a particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

passively monitoring network traffic of the client devices;

examining a parameter of the passively monitored network traffic; and

comparing the parameter of the passively monitored network traffic with the associated parameters of the client types of the maintained associations.

12. The computer storage media of claim 9 , wherein determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

redirecting at least some network traffic of the client devices to a server on the network;

receiving, at the server on the network, the redirected traffic; and

examining a parameter of the redirected traffic.

13. The computer storage media of claim 12 , wherein the server is a transparent proxy configured to transparently route the redirected traffic to the redirected traffic's original destination.

14. A system comprising:

one or more processors configured to execute computer program instructions; and

computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operation comprising:

maintaining associations among a plurality of subnets of a network, a plurality of policies, and a plurality of client types, wherein each subnet has an associated client type and an associated policy;

determining, for a particular client device that is not hosted on the network, a client type of the particular client device;

identifying a subnet having an associated client type that matches the determined client type of the particular client device;

hosting the particular client device on the identified subnet;

determining, for the particular client device after the particular client device has been hosted on the subnet, (i) a client type of the particular client device, and (ii) a client type associated with the subnet on which the particular client device is hosted;

ensuring the particular client device is on the correct subnet by comparing, for the particular client device after the particular client device has been hosted on the subnet, (i) the determined client type of the particular client device with (ii) the determined client type associated with the subnet on which the particular client device is hosted; and

responsive to a determination that the client type of the particular client device matches the client type associated with the subnet that hosts the particular client device, applying, to the particular client device, the policy associated with the subnet that hosts the particular client device.

15. The system of claim 14 , the operations further comprising, responsive to a determination that the client type of the particular client device does not match the client type associated with the subnet that hosts the particular client device, apply a corrective action to the particular client device.

16. The system of claim 14 , wherein maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types comprises maintaining associations among the plurality of subnets of the network, the plurality of policies, and the plurality of client types and the plurality of parameters, wherein each client type has an associated parameter; and

wherein determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

passively monitoring network traffic of the client devices;

examining a parameter of the passively monitored network traffic; and

comparing the parameter of the passively monitored network traffic with the associated parameters of the client types of the maintained associations.

17. The system of claim 14 , wherein determining, for the particular client device, (i) the client type of the particular client device, and (ii) the client type associated with the subnet on which the particular client device is hosted comprises:

redirecting at least some network traffic of the client devices to a server on the network;

receiving, at the server on the network, the redirected traffic; and

examining a parameter of the redirected traffic.

18. The system of claim 17 , wherein the server is a transparent proxy configured to transparently route the redirected traffic to the redirected traffic's original destination.

Assignments (6)
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
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 Jun 3, 2015
From: MARTINI, PAUL MICHAEL
To: IBOSS, INC.
Reel/Frame 035780/0730 →
Continuity (2)
Continuation 14199616 · Mar 6, 2014
Related Publication 20150256416A1 · Sep 10, 2015