Stateful Packet Processing Engine for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network devices are limited in their packet processing capabilities as they are often preconfigured to perform only specific operations based on dedicated processing engines, failing to consider state information for various packet processing tasks, such as policing, forwarding, and quality-of-service decisions.

Innovation Solution

A network device is designed to classify received packets into flows and assign state values using a state table, allowing for flexible packet processing operations based on these state values, including forwarding, mirroring, and quality-of-service adjustments, enabling more comprehensive and dynamic handling of packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional network devices use dedicated processing engines for specific operations, then the device can perform specialized packet processing tasks, but the device lacks the ability to perform multiple different packet processing operations based on state information

Engineering Contradiction:
Improvepacket processing operation versatilityVSAvoidprocessing engine complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal packet processing engine that can perform multiple different packet processing operations (policing, forwarding, quality-of-service, mirroring, remarking) based on state information, replacing the need for multiple dedicated processing engines. This single engine dynamically adapts its behavior based on the state table, achieving multi-functionality without proportionally increasing hardware complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically updates state values in the state table based on packet flow characteristics and uses these state values to determine which packet processing operations to perform. This dynamic behavior allows the network device to adapt its packet processing capabilities in real-time without requiring static, dedicated hardware for each operation type.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If a dedicated policer engine maintains state information for policing operations, then policing decisions can be made accurately, but the state information cannot be utilized for other packet processing operations

Engineering Contradiction:
Improvestate information utilizationVSAvoidstate information availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The state table, originally designed for policing operations, is enhanced to serve multiple packet processing operations including forwarding, quality-of-service, mirroring, and remarking. The same state values are reused across different operations, eliminating information loss and maximizing the utility of maintained state data.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the state information maintenance function with multiple packet processing operations. Instead of having separate state tables for policing, forwarding, and QoS, the system combines these into a unified state table that serves all operations, reducing redundancy and improving state information utilization.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If packets are processed based on header information only, then processing is simple and fast, but processing decisions lack context from packet flow history

Engineering Contradiction:
Improvepacket processing decision accuracyVSAvoidstate lookup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining state information in the state table about packet flows before processing individual packets. This pre-computed state information (such as flow identifiers, packet counts, and other contextual data) is readily available when a packet arrives, eliminating the need for complex real-time analysis and reducing processing time while improving decision accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The state table acts as an intermediary between the packet header information and the packet processing decisions. It stores and manages flow state information that bridges the gap between simple header-based routing and complex context-aware processing, providing efficient access to historical flow data without adding significant processing overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11916795B2Systems and methods for stateful packet processing
Publication Date: 2024.02.27 MARVELL ISRAEL (M L S L) LTD
  • US11916795B2 patent drawing
  • US11916795B2 patent drawing
  • US11916795B2 patent drawing

AI summary

Methods and systems are provided for processing a received packet based on associated state information. A packet processor of a network device receives a packet from a network. The received packet is classified as belonging to at least one respective identified flow from among a plurality of identified flows. For a respective received packet that belongs to an identified flow a current state value for the identified flow is ascertained based on a state table. The current state value is assigned to the respective received packet based on the current state value using the state table for the identified flow. A packet processing operation is subsequently performed on the respective received packet based in part on the state value of the identified flow to which the respective packet belongs.