Prioritization of network connections through advanced traffic categorization
An embodiment includes a network connected device comprising a transceiver configured to receive network traffic from the network, a memory coupled to the transceiver, a processor coupled to the memory and the transceiver, the processor configured to: decompose the network traffic into a plurality of data flows based on source information and destination information, store the plurality of data flows in a traffic map, each entry of the traffic map includes a data flow identification and traffic information of the data flow in an observation time window, determine a service type for each of the data flows using machine learning; and prioritize a first data flow over a second data flow in the plurality of data flows based on the service type.
1 . A network connected device comprising:
a transceiver configured to receive network traffic from a network;
a memory coupled to the transceiver; and
a processor coupled to the memory and the transceiver, the processor configured to:
decompose the network traffic into a plurality of data flows based on source information and destination information;
store the plurality of data flows in a traffic map, each entry of the traffic map includes a data flow identification and traffic information of the data flow in an observation time window, wherein the data flow identification information includes a set of conversations, each conversation is a tuple defined by combining the source information and the destination information, and wherein each conversation is a link between the memory and a host;
determine a service type for each of the data flows using machine learning; and
prioritize a first data flow over a second data flow in the plurality of data flows based on the service type.
2 . The network connected device of claim 1 , wherein the first data flow is a real-time (RT) data flow and the second data flow is a non-RT (NRT) data flow.
3 . The network connected device of claim 1 , wherein the processor is further configured to, during a different observation time window, determine that prioritization is not needed based on determining that all data flows in the plurality of data flows have a same service type.
4 . The network connected device of claim 1 , wherein the processor is further configured to determine quality of service requirements of the plurality of data flows to prioritize the plurality of data flows.
5 . The network connected device of claim 1 , wherein the processor is further configured to determine latency requirements of the plurality of data flows to prioritize the plurality of data flows.
6 . The network connected device of claim 1 , wherein the processor is further configured to determine application types associated with the plurality of data flows to prioritize the plurality of data flows.
7 . The network connected device of claim 1 , wherein the processor is further configured to reserve an amount of bandwidth for the first data flow.
8 . The network connected device of claim 1 , wherein the source information is a source Internet Protocol (IP) address or a source port, and the destination information is a destination IP address or a destination port.
9 . The network connected device of claim 1 , wherein the processor is configured to filter the stored data flows based on a number of packets or a number of bytes in each of the stored data flows.
10 . The network connected device of claim 1 , wherein the processor is configured to use a multi-layer machine learning model having a first layer and a second layer, wherein the first layer of the multi-layer machine learning model determines the service type and the second layer of the multi-layer machine learning model further divides the service type into sub-categories.
11 . A method for detecting network service types, the method comprising:
receiving network traffic from a transceiver;
decomposing the network traffic into a plurality of data flows based on source information and destination information;
storing the plurality of data flows in a traffic map in a memory, each entry of the traffic map includes a data flow identification and traffic information of the data flow in an observation time window, wherein the data flow identification information includes a set of conversations, each conversation is a tuple defined by combining the source information and the destination information, and wherein each conversation is a link between the memory and a host;
determining a service type for each of the data flows using machine learning; and
prioritizing a first data flow over a second data flow in the plurality of data flows based on the service type.
12 . The method of claim 11 , wherein the first data flow is a real-time (RT) data flow and the second data flow is a non-RT (NRT) data flow.
13 . The method of claim 11 , further comprising, during a different observation time window, determining that prioritization is not needed based on determining that all data flows in the plurality of data flows have a same service type.
14 . The method of claim 11 , further comprising determining quality of service requirements of the plurality of data flows to prioritize the plurality of data flows.
15 . The method of claim 11 , further comprising determining latency requirements of the plurality of data flows to prioritize the plurality of data flows.
16 . The method of claim 11 , further comprising determining application types associated with the plurality of data flows to prioritize the plurality of data flows.
17 . The method of claim 11 , further comprising reserving an amount of bandwidth for the first data flow.
18 . The method of claim 11 , wherein the source information is a source Internet Protocol (IP) address or a source port, and the destination information is a destination IP address or a destination port.
19 . The method of claim 11 , further comprising filtering the stored data flows based on a number of packets or a number of bytes in each of the stored data flows.
20 . The method of claim 11 , further comprising using a multi-layer machine learning model having a first layer and a second layer, wherein the first layer of the multi-layer machine learning model determines the service type and the second layer of the multi-layer machine learning model further divides the service type into sub-categories.