Packet Classifier State Machine Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveflexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all layers examine every packet, then comprehensive processing is ensured, but CPU cycles are wasted on unnecessary checks

Engineering Contradiction:
Improvecomprehensive processingVSAvoidCPU cycles
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a strict layered approach is used, then protocol compliance is maintained, but processing efficiency decreases due to sequential examination

Engineering Contradiction:
Improveprotocol complianceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If redundant checks are performed at each layer, then processing accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7363383B2Running a communication protocol state machine through a packet classifier
Publication Date: 2008.04.22 ORACLE AMERICAN INC
  • US7363383B2 patent drawing
  • US7363383B2 patent drawing
  • US7363383B2 patent drawing

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.