Programmable Packet Data Modification Processor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet processing technologies are inflexible and inefficient, as they can only perform limited types of packet modifications, such as VLAN insertion/deletion, MAC address replacement, and TTL decrementing, which are not sufficient for the diverse operations required in modern packet switching environments.

Innovation Solution

A programmable processor with a pipelined core that can selectively shift, mask, and perform arithmetic operations on packet data, allowing for a wide range of modifications through the execution of commands, enabling flexible and efficient packet processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If dedicated hardware is used for packet modification, then processing speed is improved, but adaptability deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidadaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal packet modification engine that can perform multiple types of modifications (VLAN insertion/deletion, MAC address replacement, TTL decrementing, TC field incrementing, and other custom operations) through a single reconfigurable hardware structure. This allows the system to maintain high processing speeds while adapting to diverse modification requirements by loading different configuration parameters into the same hardware engine.

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

2Adaptability or versatility

If software-based approaches are used for packet modification, then adaptability is improved, but processing efficiency deteriorates

Engineering Contradiction:
ImproveadaptabilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based packet modification with a dedicated hardware engine implemented in ASIC or FPGA. This substitution of mechanical/software systems with hardwired logic circuits enables the system to achieve both high processing efficiency (through parallel hardware operations) and adaptability (through reconfigurable logic and parameter loading mechanisms).

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Device complexity

If fixed-category modifications are implemented, then device complexity is reduced, but versatility deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidversatility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic packet modification engine where the modification category and parameters can be changed on-the-fly through configuration loading. The hardware engine transitions from static fixed-category modifications to dynamic reconfigurable modifications by accepting control signals and parameter sets that define the current modification operation, allowing the same hardware to adapt to different modification types without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8161270B1Packet data modification processor
Publication Date: 2012.04.17 EXTREME NETWORKS INC
  • US8161270B1 patent drawing
  • US8161270B1 patent drawing
  • US8161270B1 patent drawing

AI summary

A programmable processor configured to perform one or more packet modifications through execution of one or more commands. A pipelined processor core comprises a first stage configured to selectively shift and mask data in each of a plurality of categories in response to one or more decoded commands, and combine the selectively shifted and masked data in each of the categories. The pipelined processor core further comprises a second stage configured to selectively perform one or more operations on the combined data from the first stage and other data responsive to the one or more decoded commands. In one implementation, the processor is implemented as an application specific integrated circuit (ASIC).