Action Machine Assembling Response Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network processors face inefficiencies in processing data packets due to the need for high computational power and increased clock frequency, leading to higher costs and power dissipation, especially in managing Internet traffic for data-intensive applications like video streaming and Voice-over-IP.

Innovation Solution

An action machine within a network processor is designed with a first register array for fixed-length fields and a second register array for variable-length fields, allowing for the assembly of response packets by combining data from both arrays without requiring more powerful hardware or increased clock frequency, thereby enhancing parsing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the clock frequency of the logic storing and/or executing a parsing instruction is increased to improve parsing performance, then parsing speed is improved, but power dissipation increases

Engineering Contradiction:
Improveparsing speedVSAvoidpower dissipation
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The parsing and packet assembly process is segmented into distinct functional units: a parser that extracts data from incoming packets, a first register array for fixed-length fields, a second register array for variable-length fields, and an action machine that assembles response packets. This segmentation allows each component to operate efficiently at lower clock frequencies while maintaining high overall processing throughput.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If general-purpose processors are used to provide high flexibility in network processing, then adaptability is improved, but processing speed deteriorates

Engineering Contradiction:
ImproveflexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The action machine is designed with universal functionality to handle multiple packet types and protocols through a standardized interface. The register arrays can store data for different packet formats, and the action machine can assemble various response packets (ACK, RST, SYN, etc.) using the same hardware structure, providing both flexibility and high-speed processing.

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

3Productivity

If ASICs are used to achieve fast and efficient data packet processing, then processing speed is improved, but cost and flexibility worsen

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The network processor employs dynamic, reconfigurable logic structures that can be programmed to handle different packet protocols and processing requirements. The register arrays and action machine can be dynamically configured through software control to optimize processing for specific applications, providing ASIC-like speed with GPP-like flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9979802B2Assembling response packets
Publication Date: 2018.05.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9979802B2 patent drawing
  • US9979802B2 patent drawing
  • US9979802B2 patent drawing

AI summary

Proposed is an action machine for assembling response packets in a network processor. The action machine comprises: a first register array adapted to store data for entry into fixed-length fields of differing response packets, a fixed-length field having the same length in the differing response packets; and a second register array adapted to store data for entry into variable-length fields of differing response packets, a variable-length field having different values or lengths in the differing response packets. The action machine is adapted to assemble a response packet by combining data stored in the first register array with data stored in the second register array.