Packet Processing Pipeline for Dynamic Flow Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current communication networks face challenges in accurately classifying and measuring traffic flows, particularly in identifying new flows and dynamically reconfiguring processes to handle them efficiently, which affects network optimization, security, and quality of service.
Innovation Solution
A method and apparatus that utilize a packet processing pipeline to classify packets based on identified flows, with a separate processing unit operating at a slower speed to analyze packets not belonging to existing flows, defining new flows and configuring the pipeline to recognize and process them accordingly, enabling dynamic flow classification and measurement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single processing unit is used to classify all packets, then device complexity is reduced, but processing speed and productivity are limited by the slower unit
Solution Approach 1:
The processing system is divided into two distinct units: a fast packet processing pipeline for classifying known flows and a slower processing unit for analyzing new flows. This segmentation allows each unit to be optimized for its specific function, with the fast pipeline handling the majority of packets at wire speed while the slower unit handles only the minority of new flow packets that require detailed analysis.
Solution Approach 2:
A flow classification table acts as an intermediary data structure between the fast packet processing pipeline and the slower processing unit. The table stores flow identification information and is used by the fast pipeline to quickly classify packets without needing to consult the slower processing unit for each classification decision, thereby reducing the impact of the slower unit on overall system performance.
2Measurement precision
If all packets are analyzed by the slower processing unit, then measurement precision is improved, but productivity and processing time increase
Solution Approach 1:
Instead of analyzing all packets with the slower processing unit, the system applies partial action by using the fast pipeline to handle the majority of packets (known flows) that can be classified without detailed analysis. The slower processing unit is applied only to the partial subset of packets (new flows) that require thorough analysis, achieving sufficient measurement precision for new flows while maintaining high overall productivity.
Solution Approach 2:
The fast packet processing pipeline performs preliminary classification action by quickly identifying packets that belong to known flows using the flow classification table. This preliminary action filters out the majority of packets before they reach the slower processing unit, allowing the slower unit to focus its resources only on packets that require detailed analysis, thus maintaining both precision and productivity.
3Productivity
If the processing unit operates at wire speed, then productivity is maximized, but adaptability to new flows is reduced due to inability to perform detailed analysis
Solution Approach 1:
The processing system is segmented into a fast pipeline for handling known flows and a slower processing unit for detecting new flows. The fast pipeline operates at wire speed and uses a flow classification table to quickly route packets, while the slower processing unit performs detailed analysis to detect and characterize new flows. This segmentation allows the system to maintain high productivity for known flows while preserving adaptability for new flow detection.
Solution Approach 2:
The slower processing unit provides feedback about newly detected flows back to the fast packet processing pipeline. Once the slower unit identifies a new flow and characterizes it, this information is fed back to update the flow classification table, enabling the fast pipeline to recognize and handle the new flow in the future at wire speed. This feedback mechanism ensures the system adapts to new flows while maintaining high processing speed.
Data Source
AI summary
A packet processing pipeline is configured to classify packets received via a network based on information in the received packets: (1) as belonging to one of a plurality of identified flows, or (2) as not belonging to any of the plurality of identified flows. For each received packet determined not to belong to one of the previously identified flows, the pipeline sends at least a portion of the packet or a corresponding packet descriptor to a processing unit. For each received packet determined not to belong to one of the previously identified flows, the processing unit defines a new flow corresponding to the packet based on an analysis of the portion corresponding packet descriptor, and configures the packet processing pipeline to handle the new flow.


