Packet Processor Comparator Engine for Low-Latency Flow Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication devices face significant latency due to resource- and time-intensive parsing operations when processing multiple data streams, as they often require applying multiple parsing rules to packet headers.
Innovation Solution
A packet processor with a comparator engine that compares a data unit's header to a header pattern associated with a previously analyzed unit, generating a match indication to enable efficient processing based on previous parsing and classification results, thereby reducing the need for repeated analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple parsing rules are applied to packet headers to ensure accurate classification, then classification accuracy is improved, but processing time and resource consumption increase significantly
Solution Approach 1:
The system performs preliminary parsing on the first packet of a flow to extract header fields and create a flow template. This preliminary action stores the parsed information in a flow table, enabling subsequent packets in the same flow to be classified rapidly by simple matching against the stored template, thus resolving the contradiction between accurate classification and processing speed
Solution Approach 2:
The system creates a copy of the parsed header information in the form of a flow template stored in the flow table. Instead of repeatedly applying multiple parsing rules to each packet, the system copies the classification result from the first packet and uses it for subsequent packets matching the same flow pattern, significantly reducing processing time while maintaining accuracy
2Reliability
If comprehensive parsing rules are applied to all data units to ensure proper routing decisions, then routing accuracy is improved, but device resource consumption and latency increase
Solution Approach 1:
The system segments packet processing into two distinct phases: flow establishment phase where comprehensive parsing is applied to the first packet to build a flow template, and flow matching phase where simplified pattern matching is applied to subsequent packets. This segmentation allows the system to maintain routing accuracy while reducing resource consumption for high-volume traffic
Solution Approach 2:
The system performs comprehensive parsing and routing decision-making in advance on the first packet of each flow, storing the results in a flow table. This preliminary action eliminates the need to repeat resource-intensive parsing operations for subsequent packets in the same flow, thereby reducing device resource consumption while maintaining routing accuracy
3Measurement precision
If multiple parsing rules are applied to each packet header to ensure correct data unit processing, then processing accuracy is improved, but system latency increases significantly
Solution Approach 1:
The system applies multiple parsing rules in advance to the first packet of each flow to extract header fields and determine routing information. This preliminary parsing action stores the results in a flow table, enabling subsequent packets to bypass repeated parsing and be processed with minimal latency while maintaining processing accuracy
Solution Approach 2:
The system copies the parsed header information and routing decisions from the first packet into a flow template. Subsequent packets are processed by matching against this copied template rather than applying multiple parsing rules again, thus reducing system latency while preserving processing accuracy
Data Source
AI summary
An apparatus includes a comparator engine having a comparison logic unit to compare at least a portion of a header of a data unit to a header pattern, where the header pattern corresponds to at least a portion of a header of a previously analyzed data unit, and a match indication generator to generate a match indication if the at least a portion of the header matches the header pattern; and a result generator to cause the data unit to be processed based on the previously analyzed data unit if the match indication is generated.


