IP Library Granted Patent US 10,931,768
Granted Patent B2
US 10,931,768 · App. 16/440,996 · Granted Feb 23, 2021

Determining active application usage through a network traffic hub

Inventors: Leonid Kuperman (Los Angeles, CA); Attila Egri (El Segundo, CA); Gabor Takacs (Gyor, HU); Paulius Ulozas (El Segundo, CA)
Assignee: Cujo LLC
H04L67/22H04L43/0876H04L43/0894H04L63/0428H04L67/10
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,931,768
App. No.
16/440,996
Granted
Feb 23, 2021
Kind
B2
Abstract

A network traffic hub receives network traffic from a user device running an application. The network traffic hub aggregates the network traffic into augmented netflows. Based on netflow parameters extracted by the network traffic hub, one or more augmented netflows are associated with the application. The network traffic hub determines whether an augmented netflow is a result of the application being in an active state or a passive state based on, for example, the quantity of data within the netflow. If the quantity of data within the augmented netflow is larger than a data threshold, the augmented netflow can be classified as an active usage, and if the data is less than the data threshold, the augmented netflow can be classified as a passive usage. Thus, by classifying network traffic of an application as active or passive, a record of a user's active usage of the application can be recorded.

Claims (43)

1. A method, comprising:

identifying, by a network traffic hub, a user device on a local network, the user device including a client application;

receiving, by the network traffic hub, network traffic to and from the user device;

aggregating, by the network traffic hub, the network traffic into a netflow;

determining, by a behavior analysis engine of the network traffic hub, if the augmented netflow is associated with the client application based on parameters of the network traffic;

in response to the augmented netflow being associated with the client application, classifying, by the behavior analysis engine of the network traffic hub, the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application; and

in response to the augmented netflow being classified as an active usage of the client application and in response to the augmented netflow causing an active usage threshold associated with the client application being exceeded, performing, by the network traffic hub, a network traffic management action in response to receiving subsequent network traffic associated with the client application.

2. The method of claim 1 , wherein classifying the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application comprises:

comparing the quantity of data within the augmented netflow to a data threshold associated with the client application.

3. The method of claim 2 , wherein the data threshold associated with the client application is at least based on an operating system of the user device.

4. The method of claim 1 , wherein the network traffic management action includes at least one of blocking subsequent network traffic associated with the client application, providing a notification to another user device, providing a notification to the user device, and conditionally allowing subsequent network traffic associated with the client application to be transmitted to and from the user device.

5. The method of claim 1 , wherein the behavior analysis engine has a plurality of active usage thresholds, wherein each of the active usage thresholds are associated with one of a plurality of client applications on the user device.

6. The method of claim 1 , wherein the active usage threshold is set by a user of another user device.

7. The method of claim 1 , wherein the parameters of the network traffic are extracted from packets exchanged while implementing a network traffic encryption protocol handshake.

8. The method of claim 1 , wherein the parameters of the network traffic comprise at least one of a server name indication (SNI), a user agent, and a communication protocol of the network traffic.

9. The method of claim 1 , wherein receiving network traffic to and from the user device comprises intercepting the network traffic.

10. A non-transitory computer-readable medium comprising stored program code, the program code comprised of computer-executable instructions that, when executed by a processor, causes the processor to:

identify, by a network traffic hub, a user device on a local network, the user device including a client application;

receive, by the network traffic hub, network traffic to and from the user device;

aggregate, by the network traffic hub, the network traffic into a netflow;

determine, by a behavior analysis engine of the network traffic hub, if the augmented netflow is associated with the client application based on parameters of the network traffic;

in response to the augmented netflow being associated with the client application, classify, by the behavior analysis engine of the network traffic hub, the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application; and

in response to the augmented netflow being classified as an active usage of the client application and in response to the augmented netflow causing an active usage threshold associated with the client application being exceeded, perform, by the network traffic hub, a network traffic management action in response to receiving subsequent network traffic associated with the client application.

11. The non-transitory computer-readable medium of claim 10 , wherein the instructions to classify the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application further cause the processor to:

compare the quantity of data within the augmented netflow to a data threshold associated with the client application.

12. The non-transitory computer-readable medium of claim 11 , wherein the data threshold associated with the client application is at least based on an operating system of the user device.

13. The non-transitory computer-readable medium of claim 10 , wherein the network traffic management action includes at least one of blocking subsequent network traffic associated with the client application, providing a notification to another user device, providing a notification to the user device, and conditionally allowing subsequent network traffic associated with the client application to be transmitted to and from the user device.

14. The non-transitory computer-readable medium of claim 10 , wherein the behavior analysis engine has a plurality of active usage thresholds, wherein each of the active usage thresholds are associated with one of a plurality of client applications on the user device.

15. The non-transitory computer-readable medium of claim 10 , wherein the active usage threshold is set by a user of another user device.

16. The non-transitory computer-readable medium of claim 10 , wherein the parameters of the network traffic are extracted from packets exchanged while implementing a network traffic encryption protocol handshake.

17. The non-transitory computer-readable medium of claim 10 , wherein the parameters of the network traffic comprise at least one of a server name indication (SNI), a user agent, and a communication protocol of the network traffic.

18. The non-transitory computer-readable medium of claim 10 , wherein receiving network traffic to and from the user device comprises intercepting the network traffic.

19. A computer system comprising:

a processor; and

a non-transitory computer-readable medium comprising stored program code, the program code comprised of computer-executable instructions that, when executed by the processor, causes the processor to:

identify, by a network traffic hub, a user device on a local network, the user device including a client application;

receive, by the network traffic hub, network traffic to and from the user device;

aggregate, by the network traffic hub, the network traffic into a netflow;

determine, by a behavior analysis engine of the network traffic hub, if the augmented netflow is associated with the client application based on parameters of the network traffic;

in response to the augmented netflow being associated with the client application, classify, by the behavior analysis engine of the network traffic hub, the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application; and

in response to the augmented netflow being classified as an active usage of the client application and in response to the augmented netflow causing an active usage threshold associated with the client application being exceeded, perform, by the network traffic hub, a network traffic management action in response to receiving subsequent network traffic associated with the client application.

20. The system of claim 19 , wherein the instructions to classify the augmented netflow as an active usage of the client application or a passive usage of the client application based on a quantity of data within the augmented netflow associated with the client application further cause the processor to:

comparing the quantity of data within the augmented netflow to a data threshold associated with the client application.

Assignments (2)
SECURITY INTEREST Recorded Jun 20, 2019
From: CUJO LLC
To: CHARTER COMMUNICATONS HOLDING COMPANY, LLC
Reel/Frame 049537/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2019
From: KUPERMAN, LEONID; EGRI, ATTILA; TAKACS, GABOR; ULOZAS, PAULIUS
To: CUJO LLC
Reel/Frame 049472/0371 →
Continuity (2)
Provisional Application 62723484 · Aug 28, 2018
Related Publication 20200076909A1 · Mar 5, 2020