Match-Action Pipeline Key Construction for Network Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network appliances face challenges in generating specialized keys for various network applications, leading to key overload and increased processing time due to the need for longer keys that contain information for multiple applications, which limits flexibility and efficiency in packet processing.

Innovation Solution

Implementing a network appliance with a match-action pipeline that uses key specifications to construct application-specific keys, including a key specification fetch and construction circuit, and a caching mechanism to reduce delays and adapt to new applications by storing new key specifications, resulting in shorter keys and faster processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If longer keys are used to support multiple network applications, then application versatility is improved, but processing time increases

Engineering Contradiction:
Improveapplication versatilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the key construction process by creating separate key specifications for different network applications (e.g., TCP, UDP, SCTP). Each application has its own key specification that defines which header fields to use, allowing the system to generate application-specific keys rather than using a single long key for all applications. This segmentation enables the system to select and use only the relevant key specification for each packet, reducing processing time while maintaining support for multiple applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic key specification selection based on the application identifier extracted from each network packet. The system dynamically determines which key specification to use by matching the application identifier against stored specifications, allowing the key construction process to adapt to each packet's specific application requirements. This dynamic approach enables the system to use shorter, application-specific keys rather than always using longer universal keys.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If specialized key specifications are stored for each network application, then adaptability to new applications is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to new applicationsVSAvoidcircuitry requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-storing key specifications for known network applications in the network appliance. These key specifications are prepared in advance and organized by application identifier, allowing the system to quickly retrieve and use the appropriate specification when processing packets. This preliminary preparation enables the system to handle new applications efficiently by having the infrastructure ready to store and retrieve specifications as needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a universal key specification storage structure that can accommodate multiple network applications through a common framework. The key specification format is designed to be application-agnostic, using standardized field identifiers and construction rules that can be applied to any network protocol. This universal structure allows the system to support multiple applications with a single, unified storage mechanism rather than requiring separate specialized circuitry for each application.

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

Data Source

PatentUS20240080279A1Methods and systems for specifying and generating keys for searching key value tables
Publication Date: 2024.03.07 PENSANDO SYSTEMS INC
  • US20240080279A1 patent drawing
  • US20240080279A1 patent drawing
  • US20240080279A1 patent drawing

AI summary

A network appliance receives a network packet and determines an application identifier for the network packet. Key specification fetching circuits in the processing stages of the network appliance's match-action pipelines can use the application identifiers to read key specifications. The key specifications are stored in memory and may be cached near the processing stages. Key construction circuits in the processing stages can use the key specifications to construct keys. The processing stages can process the network based on the keys because the keys may be used to obtain action indicators from match-action tables. As such, the processing stages can construct and use keys that may be dynamically defined by storing their key specifications in memory.