Programmable Metadata Fields for Network Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing demand for high-performance networking devices to handle high workloads efficiently is hindered by physical limitations such as heat generation and resource constraints, limiting their ability to sustainably process network packets without sacrificing performance.

Innovation Solution

The implementation of programmatically defined metadata fields in network packets allows for flexible extraction and utilization of data from packet headers, enabling efficient forwarding decisions and resource management, which can adapt to different protocols and operations by specifying instructions for data extraction and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If networking devices are powered to handle high workloads at great speed, then processing capacity and speed are improved, but heat generation and power consumption increase beyond sustainable limits

Engineering Contradiction:
Improvenetwork packet processing capacityVSAvoidheat generation
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The packet processing function is segmented into multiple specialized stages (parsing stage, metadata generation stage, forwarding decision stage, packet modification stage) that operate in parallel pipelines. Each stage handles specific tasks independently, allowing the system to process multiple packets simultaneously through different processing paths, thereby increasing throughput without proportionally increasing power consumption per packet.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The packet processor implements dynamic resource allocation where processing resources are allocated based on actual workload demands. The system can adaptively adjust the number of active processing pipelines and stages according to traffic patterns, ensuring high performance when needed while reducing power consumption during lower workload periods.

Inventive Principle:
Principle #15Dynamics

2Speed

If more resources are allocated to increase network processing capacity, then processing speed is improved, but chip area and device complexity increase

Engineering Contradiction:
Improvenetwork packet processing speedVSAvoidchip area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The packet processor is designed as a universal processing platform that can handle multiple protocol types (Ethernet, MPLS, IP versions) and processing operations through a single integrated architecture. The programmable metadata generation and configurable forwarding stages allow the same hardware resources to serve multiple functions, reducing the need for dedicated hardware for each protocol or operation type.

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

Solution Approach 2:

A centralized control plane acts as an intermediary between the data plane processing stages and the external configuration/management systems. This mediator coordinates resource allocation, manages processing pipelines, and optimizes the use of available chip resources, enabling efficient utilization of limited hardware resources to achieve high processing speeds.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If traditional fixed-function processing is used, then device simplicity is maintained, but adaptability to different protocols and operations is limited

Engineering Contradiction:
Improveprotocol and operation adaptabilityVSAvoidprocessing architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The packet processor implements dynamic reconfigurability where processing stages, metadata fields, and forwarding rules can be programmatically adjusted to adapt to different protocol requirements and operational modes. This dynamic adaptation allows the system to handle diverse protocols and operations without requiring separate dedicated hardware for each function.

Inventive Principle:
Principle #15Dynamics

4Reliability

If comprehensive metadata extraction from all packet headers is performed, then forwarding decision accuracy is improved, but processing time and resource utilization increase

Engineering Contradiction:
Improveforwarding decision accuracyVSAvoidpacket processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system selectively extracts only the specific metadata fields and header portions that are relevant for making forwarding decisions, rather than processing or storing all packet header data. The programmable metadata generation stage identifies and extracts only the necessary information (such as destination addresses, protocol types, or specific header fields) needed for accurate forwarding, thereby reducing processing time while maintaining decision accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11729300B2Generating programmatically defined fields of metadata for network packets
Publication Date: 2023.08.15 AMAZON TECH INC
  • US11729300B2 patent drawing
  • US11729300B2 patent drawing
  • US11729300B2 patent drawing

AI summary

Programmatically defined fields of metadata for a network packet may be generated. Instructions indicating different portions of data from different headers of a network packet may be stored at a packet processor. When a network packet is received, the different portions of the data may be extracted from the different headers of the packet according to the instructions and provided to other stages of the packet processor for processing. Different portions of the same programmatically defined field may be utilized at different stages in the packet processor. The programmatically defined field may be used to generate a hash value that selects an entry in a lookup table describing a forwarding decision for a network packet.