Packet Classifier State Machine Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional communication frameworks, particularly those using a layered approach, inefficiently process data packets as they examine each layer even if not applicable, leading to redundant checks and increased CPU usage.
Innovation Solution
A communication system that assigns communication packets to a unique data structure with an event list selected based on the protocol layers necessary, allowing packets to be processed through specific modules in a predetermined order, enabling modules to enter operational states without redundant checks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a layered approach is used to process communication packets, then flexibility and modularity are improved, but processing time and CPU usage increase due to redundant checks
Solution Approach 1:
The patent applies preliminary action by pre-determining the processing path for communication packets based on their type and destination before actual processing occurs. The system classifies packets into different queues and pre-assigns them to specific processing threads or modules, eliminating the need for runtime decisions and redundant layer-by-layer checks. This upfront classification and assignment significantly reduces processing time while maintaining the modular layered structure.
2Reliability
If all layers examine every packet, then comprehensive processing is ensured, but CPU cycles are wasted on unnecessary checks
Solution Approach 1:
The patent applies segmentation by dividing the communication packet processing system into distinct segments or modules, each responsible for specific packet types or processing tasks. Instead of having all layers examine every packet, the system segments packets into different queues based on their characteristics and routes them to specialized processing modules. This segmentation ensures that each packet is processed comprehensively by the appropriate modules without requiring all layers to examine every packet, thereby reducing CPU cycle consumption while maintaining processing reliability.
3Reliability
If a strict layered approach is used, then protocol compliance is maintained, but processing efficiency decreases due to sequential examination
Solution Approach 1:
The patent applies dynamics by introducing flexibility into the processing architecture while maintaining protocol compliance. The system dynamically selects processing paths based on packet characteristics, allowing different packets to follow different processing routes simultaneously. This dynamic approach enables parallel processing where applicable and skips unnecessary layers for certain packet types, thereby improving processing efficiency while ensuring that protocol compliance is maintained through appropriate validation at each stage.
4Measurement precision
If redundant checks are performed at each layer, then processing accuracy is improved, but processing speed decreases
Solution Approach 1:
The patent applies copying by creating simplified copies or representations of packet information at the classification stage, rather than having each layer re-examine the original packet data. The system generates processing instructions or metadata that capture the essential information needed for accurate processing, and these copies are passed through the processing pipeline. This approach maintains processing accuracy by preserving all necessary information while significantly reducing the time required for each layer to examine the packet, thereby improving processing speed without sacrificing accuracy.
Data Source
AI summary
One embodiment of the invention relates to processing communication packets. A communication packet belongs to a communication data structure (called “conn”) which is unique to a connection including the communication packet. The conn also contains an event list which is a sequential list of functions necessary to process the packet. An event list is selected from a database based on the protocol layers necessary to process the packet and typically contains as many functions as there are layers in between. Therefore, each layer has a functional entry point as an event in the event list. The event list identifies a plurality of communication modules specific for the connection and an ordering thereof. The packet is processed through the plurality of modules based on the ordering. The event list is manipulated to enable a module of the plurality of communication modules to enter one of a plurality of its operational states.


