IP Library Granted Patent US 9,712,592
Granted Patent B2
US 9,712,592 · App. 13/451,566 · Granted Jul 18, 2017

Classification of HTTP multimedia traffic per session

Inventors: Alon Shafrir (Kfar Saba, IL); Amit Eshet (Tivon, IL); Jay Chambers (Huntsville, AR)
Assignee: ARRIS Enterprises, Inc.
H04L67/02H04L12/66H04L43/18H04L67/146H04L69/16H04L69/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,712,592
App. No.
13/451,566
Granted
Jul 18, 2017
Kind
B2
Abstract

A non-transitory computer readable medium and a method for session based classification. The method may include detecting an initialization of a certain TCP connection; defining the certain TCP connection as an active TCP connection; receiving, by a classifier, an incoming packet that belongs to a session that involves conveying a media asset using a HTTP as an application layer protocol; determining, by the classifier, whether the incoming packet belongs to the certain active TCP connection or not; and if it is determined that the incoming packet belongs to the certain active TCP connection then classifying the incoming to a session that is associated with the certain active TCP connection based upon a mapping between sessions and active TCP connections.

Claims (59)

1. A method for session based classification, the method comprising:

detecting an initialization of a certain transmission communication protocol (TCP) connection;

maintaining a connection table comprising one or more TCP connection descriptors for TCP connections detected in traffic;

maintaining, by a classifier, a set of session descriptors for open sessions;

defining the certain TCP connection as an active TCP connection in the connection table;

receiving, by the classifier, an incoming packet that belongs to a session for transfer of a media asset that comprises at least one of audio content and video content, the transfer comprising conveying the media asset using a HyperText Transfer Protocol (HTTP) as an application layer protocol;

determining, by the classifier, whether the incoming packet belongs to the certain active TCP connection based upon its presence in the connection table;

generating and iteratively updating, by the classifier, a plurality of mappings wherein each mapping is between a session and an active TCP connection in the connection table, the plurality of mappings comprising data for maintaining an association graph, wherein the updating of the plurality of mappings is based upon calculating estimations of likelihood of an association corresponding to a respective mapping, the calculating comprising considering a plurality of traffic properties for each TCP connection and checking for each of the traffic properties how well the traffic property matches a corresponding property of each session;

if it is determined that the incoming packet belongs to the certain active TCP connection then classifying the incoming packet to a session that is associated with the certain active TCP connection based upon the mapping between sessions and active TCP connections maintained by the connection table; and

processing the incoming packet using a first logic for performing work per packet, the first logic comprising matching the incoming packet to a corresponding session included in a corresponding mapping of the plurality of mappings, wherein the matching of the incoming packet is based upon the active TCP connection of the corresponding mapping;

wherein the step of iteratively updating comprises:

processing an incoming notification message, the incoming notification message indicative of an initiation or a termination of a TCP connection, using a second logic for performing work per TCP connection being initiated or terminated, the second logic comprising performing an iteration of the updating step.

2. The method according to claim 1 , comprising determining, by the classifier, whether the incoming packet belongs to the certain active TCP connection, to another active TCP connection, or not to any active TCP connection;

if it is determined that the incoming packet belongs to the certain active TCP connection then classifying the incoming packet to a session that is associated with the certain active TCP connection based upon the plurality of mappings between sessions and active TCP connections; and

if it is determined that the incoming packet belongs to the other active TCP connection then classifying the incoming packet to another session that is associated with the other active TCP connection, based upon the plurality of mappings between sessions and active TCP connections.

3. The method according to claim 2 , wherein if it is determined that the incoming packet does not belong to any active TCP connection then delaying a classification of the incoming packet.

4. The method according to claim 3 , wherein if it is determined that the incoming packet does not belong to any active TCP connection then tagging the incoming packet as belonging to an unclassified session.

5. The method according to claim 1 , comprising estimating a mapping between the certain TCP connection and a certain session, if the plurality of mappings lacks a fully resolved mapping between the certain TCP connection and any session.

6. The method according to claim 1 , comprising maintaining by a first circuit of the classifier a data structure indicative of active TCP connections and performing the classifying by a second circuit of the classifier.

7. The method according to claim 1 , comprising generating the plurality of mappings between sessions and active TCP connections in response to HTTP attributes of an incoming packet and information about a user that is either a destination of the incoming packet or a source of the incoming packet.

8. The method according to claim 1 , comprising detecting an initialization of a certain TCP connection only in one direction out of upstream and downstream.

9. A method for session based classification, the method comprising:

maintaining a connection table comprising one or more TCP connection descriptors for TCP connections detected in traffic;

maintaining, by a classifier, a set of session descriptors for open sessions;

receiving, by the classifier, a session identification message that is indicative of a certain session for transfer of a media asset that comprises at least one of audio content and video content, the certain session comprising conveying the media asset over a certain transmission communication protocol (TCP) connection, using a protocol family that comprises Internet Protocol (IP), TCP and HyperText Transfer Protocol (HTTP); and

associating each incoming packet that is conveyed over the certain TCP connection as belonging to the certain session by including the incoming packet in a connection table;

generating and iteratively updating, by the classifier, a plurality of mappings wherein each mapping is between a session and an active TCP connection in the connection table, the plurality of mappings comprising data for maintaining an association graph, wherein the updating of the plurality of mappings is based upon calculating estimations of likelihood of an association corresponding to a respective mapping, the calculating comprising considering a plurality of traffic properties for each TCP connection and checking for each of the traffic properties how well the traffic property matches a corresponding property of each session; and

processing each incoming packet associated with the certain session using a first logic for performing work per packet, the first logic comprising matching the incoming packet to a corresponding session included in a corresponding mapping of the plurality of mappings, wherein the matching of the incoming packet is based upon the active TCP connection of the corresponding mapping;

wherein the step of iteratively updating comprises:

processing an incoming notification message, the incoming notification message indicative of an initiation or a termination of a TCP connection, using a second logic for performing work per TCP connection being initiated or terminated, the second logic comprising performing an iteration of the updating step.

10. The method according to claim 9 , wherein the session identification message is generated by a user that is either a destination of the incoming packet or a source of the incoming packet.

11. The method according to claim 9 , wherein the session identification message is generated by a content preparation device that is coupled to an HTTP server that is either a destination of the incoming packet or a source of the incoming packet.

12. The method according to claim 9 , wherein the session identification message is embedded in a HTTP entity tag.

13. A non-transitory computer readable medium that stores instructions for:

detecting an initialization of a certain transmission communication protocol (TCP) connection;

maintaining a connection table comprising one or more TCP connection descriptors for TCP connections detected in traffic;

maintaining, by a classifier, a set of session descriptors for open sessions;

defining the certain TCP connection as an active TCP connection in the connection table;

receiving, by the classifier, an incoming packet that belongs to a session for transfer of a media asset that comprises at least one of audio content and video content, the session comprising conveying the media asset using a HyperText Transfer Protocol (HTTP) as an application layer protocol;

generating and iteratively updating, by the classifier, a plurality of mappings wherein each mapping is between a session and an active TCP connection in the connection table, the plurality of mappings comprising data for maintaining an association graph, wherein the updating of the plurality of mappings is based upon calculating estimations of likelihood of an association corresponding to a respective mapping, the calculating comprising considering a plurality of traffic properties for each TCP connection and checking for each of the traffic properties how well the traffic property matches a corresponding property of each session;

determining whether the incoming packet belongs to the certain active TCP connection based upon its inclusion in the connection table;

if it is determined that the incoming packet belongs to the certain active TCP connection then classifying the incoming packet to a session that is associated with the certain active TCP connection based upon the mapping between sessions and active TCP connections maintained by the connection table; and

processing the incoming packet using a first logic for performing work per packet, the first logic comprising matching the incoming packet to a corresponding session included in a corresponding mapping of the plurality of mappings, wherein the matching of the incoming packet is based upon the active TCP connection of the corresponding mapping;

wherein the instructions for iteratively updating comprise instructions for:

processing an incoming notification message, the incoming notification message indicative of an initiation or a termination of a TCP connection, using a second logic for performing work per TCP connection being initiated or terminated, the second logic comprising performing an iteration of the updating.

14. The non-transitory computer readable medium according to claim 13 , storing instructions for determining whether the incoming packet belongs to the certain active TCP connection, to another active TCP connection or not to any active TCP connection;

if it is determined that the incoming packet belongs to the certain active TCP connection then classifying the incoming packet to a session that is associated with the certain active TCP connection based upon the plurality of mappings between sessions and active TCP connections; and

if it is determined that the incoming packet belongs to the other active TCP connection then classifying the incoming packet to another session that is associated with the other active TCP connection, based upon the plurality of mappings between sessions and active TCP connections.

15. The non-transitory computer readable medium according to claim 14 , storing instructions for delaying a classification of the incoming packet if it is determined that the incoming packet does not belong to any active TCP connection.

16. The non-transitory computer readable medium according to claim 13 , storing instructions for estimating a mapping between the certain TCP connection and a certain session, if the plurality of mappings lacks a fully resolved mapping between the certain TCP connection and any session.

17. A non-transitory computer readable medium that stores instructions for:

maintaining a connection table comprising one or more TCP connection descriptors for TCP connections detected in traffic;

maintaining, by a classifier, a set of session descriptors for open sessions;

receiving a session identification message that is indicative of a certain session for transfer of a media asset that comprises at least one of audio content and video content, the certain session comprising conveying the media asset over a certain transmission communication protocol (TCP) connection, using a protocol family that comprises Internet Protocol (IP), TCP and HyperText Transfer Protocol (HTTP);

generating and iteratively updating, by the classifier, a plurality of mappings wherein each mapping is between a session and an active TCP connection in the connection table, the plurality of mappings comprising data for maintaining an association graph, wherein the updating of the plurality of mappings is based upon calculating estimations of likelihood of an association corresponding to a respective mapping, the calculating comprising considering a plurality of traffic properties for each TCP connection and checking for each of the traffic properties how well the traffic property matches a corresponding property of each session;

associating each incoming packet that is conveyed over the certain TCP connection as belonging to the certain session; and

processing each incoming packet associated with the certain session using a first logic for performing work per packet, the first logic comprising matching the incoming packet to a corresponding session included in a corresponding mapping of the plurality of mappings, wherein the matching of the incoming packet is based upon the active TCP connection of the corresponding mapping;

wherein the instructions for iteratively updating comprise instructions for:

processing an incoming notification message, the incoming notification message indicative of an initiation or a termination of a TCP connection, using a second logic for performing work per TCP connection being initiated or terminated, the second logic comprising performing an iteration of the updating.

Assignments (11)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
CHANGE OF NAME Recorded Feb 4, 2020
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 051797/0858 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2015
From: ARRIS SOLUTIONS, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 036601/0162 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2012
From: CHAMBERS, JAY; ESHET, AMIT; SHAFRIR, ALON
To: ARRIS SOLUTIONS, INC.
Reel/Frame 028856/0577 →
Continuity (2)
Provisional Application 61477617 · Apr 21, 2011
Related Publication 20120311121A1 · Dec 6, 2012