Flexible Network Packet Processing via Metadata-Driven Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data center networks face inefficiencies in parsing and processing multiple types of network packets, particularly in high-speed environments, where existing systems struggle to handle flexibility and speed simultaneously.

Innovation Solution

The system employs parallel parsing devices that share hardware resources to generate metadata for packet modification and forwarding, utilizing flexible forwarding engines to update and rewrite packets based on parsed result vectors, enabling efficient and high-speed processing of various packet types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fixed function functional blocks and state machines are used for packet processing, then processing speed is improved, but flexibility to handle multiple packet types deteriorates

Engineering Contradiction:
Improvepacket processing speedVSAvoidflexibility to handle multiple packet types
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making the forwarding engine configurable and adaptable through metadata-driven instructions. The system transitions from static fixed-function blocks to a dynamic architecture where the same hardware can be reconfigured via metadata to handle different packet types and processing requirements, achieving both high speed and flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes by employing metadata that describes various attributes and processing requirements of different packet types. By changing the metadata parameters rather than the hardware structure, the system can adapt to handle multiple packet types while maintaining high-speed processing capabilities.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple parsing devices are used in parallel, then parsing rate is improved, but device complexity increases

Engineering Contradiction:
Improveparsing rateVSAvoidcomplexity of parallel parsing devices
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a metadata-driven forwarding engine that can perform multiple parsing and processing functions. Instead of requiring separate specialized devices for each packet type, a single universal engine configured through metadata can handle diverse packet types, increasing parsing rate while controlling complexity.

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

Solution Approach 2:

The patent uses copying by replicating metadata structures and processing rules rather than replicating entire parsing devices. The metadata can be copied and adapted for different packet types, allowing parallel processing capabilities while avoiding the complexity of duplicating full parsing hardware for each device.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11038993B2Flexible processing of network packets
Publication Date: 2021.06.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11038993B2 patent drawing
  • US11038993B2 patent drawing
  • US11038993B2 patent drawing

AI summary

Aspects of this disclosure describes techniques for parsing network packets, processing network packets, and modifying network packets before forwarding the modified network packets over a network. The present disclosure describes a system that, in some examples, parses network packets, generates data describing or specifying attributes of the network packet, identifies operations to be performed when processing a network packet, performs the identified operations, generates data describing or specifying how to modify and/or forward the network packet, modifies the network packet, and outputs the modified packet to another device or system, such as a switch.