Network Packet Processing via Multi-Context Parallel Engines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional packet processing in high-speed networks is inefficient due to processing engines idling while waiting for data from previous stages, leading to reduced throughput and increased complexity with additional hardware.

Innovation Solution

A network processing device with multiple processing engines divided into independent sub-processing units, called context processing components, allowing for multi-context parallel processing to handle multiple packets simultaneously, thereby improving efficiency and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If additional processing engines are added to improve processing speed, then packet processing throughput is improved, but hardware complexity and die size increase

Engineering Contradiction:
Improvepacket processing throughputVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides each processing engine into multiple independent context processing components (e.g., first context, second context, third context, fourth context), allowing parallel processing of multiple packets simultaneously. This segmentation enables a single processing engine to handle multiple packet streams in parallel, improving throughput without adding separate processing engines for each packet type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a multi-dimensional processing architecture where processing engines operate across multiple contexts simultaneously. Instead of sequentially processing packets through single-stage pipelines, the system creates parallel processing paths by dividing processing engines into multiple contexts, effectively adding a dimensional aspect to packet processing that increases throughput without linearly increasing hardware complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If processing engines work sequentially through packet processing stages, then data integrity is maintained, but processing speed becomes slower than incoming packet rate

Engineering Contradiction:
Improvedata integrityVSAvoidpacket processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the packet processing pipeline into multiple independent contexts within each processing engine. Each context can process packets independently while maintaining data integrity through proper context isolation. This allows multiple packets to be processed simultaneously at different stages, achieving processing speeds that exceed the incoming packet rate while preserving data integrity through structured context management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements continuous packet processing by enabling multiple contexts to operate simultaneously. Instead of sequential processing where engines must wait for previous stages to complete, the multi-context architecture allows overlapping processing operations. Packets are continuously processed across different contexts without idle waiting, maintaining both high speed and data integrity through parallel execution.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If processing engines idle while waiting for data from previous stages, then data dependency is respected, but processing efficiency decreases

Engineering Contradiction:
Improvedata dependency managementVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides processing engines into multiple independent contexts that can operate simultaneously. Each context maintains its own data dependencies and processing state, eliminating the need for idle waiting between stages. By segmenting the processing pipeline, the system respects data dependencies within each context while avoiding the inefficiency of sequential waiting, thereby improving overall processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-dividing processing engines into multiple contexts that can begin processing packets at different times. Instead of waiting for previous stages to complete before starting new processing, the system prepares and executes processing operations in advance across multiple contexts, reducing idle time and improving efficiency while maintaining proper data dependency management through context isolation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9083641B2Method and apparatus for improving packet processing performance using multiple contexts
Publication Date: 2015.07.14 TELLABS OPERATIONS
  • US9083641B2 patent drawing
  • US9083641B2 patent drawing
  • US9083641B2 patent drawing

AI summary

A network processing device having multiple processing engines capable of providing multi-context parallel processing is disclosed. The device includes a receiver and a packet processor, wherein the receiver is capable of receiving packets at a predefined packet flow rate. The packet processor, in one embodiment, includes multiple processing engines, wherein each processing engine is further configured to include multiple context processing components. The context processing components are used to provide multi-context parallel processing to increase throughput.