Dataflow Pipeline for Packet Processor Specification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is difficult and time-consuming to specify the packet processing performed by intermediate devices in communication networks, particularly in terms of functionality, throughput, and latency, leading to complexity in designing packet processors.

Innovation Solution

A method is introduced to specify a processor by inputting cluster specifications for manipulating packet fields, constraining actions with dependencies, assigning clusters to stages of a dataflow pipeline, and scheduling actions based on these dependencies to ensure efficient performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional packet processing specification methods are used, then complete functionality and timing characteristics can be specified, but the design process becomes difficult and time-consuming

Engineering Contradiction:
Improvespecification completenessVSAvoiddesign complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the packet processing specification into separate modules: cluster specifications define groups of actions, dependency specifications define constraints between clusters, and timeframe specifications define timing requirements. This modular segmentation allows complete functionality to be specified while reducing design complexity through organized, reusable components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-defining cluster specifications that group related actions together, and pre-establishing dependency relationships between clusters. This preliminary organization of specifications reduces the complexity of the overall design process by preparing reusable specification templates before actual packet processor design begins.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If detailed timing characteristics are specified for packet processing, then throughput and latency requirements are met, but the specification process becomes more complex

Engineering Contradiction:
ImprovethroughputVSAvoidspecification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments timing specifications into discrete timeframe definitions associated with specific clusters and dependencies. Each cluster can have its own timeframe specifications, and dependencies between clusters can have associated timing constraints. This segmentation allows detailed throughput and latency control without overwhelming specification complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter changes by allowing timeframe specifications to be adjusted independently for different clusters and dependencies. Timing parameters such as execution time, start time, and duration can be modified to meet specific throughput and latency requirements without changing the underlying cluster specifications or dependency structure.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple dependencies between actions are enforced, then correct processing order is ensured, but scheduling becomes more complex

Engineering Contradiction:
Improveprocessing correctnessVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments dependencies into hierarchical levels: cluster-level dependencies define ordering between groups of actions, while action-level dependencies define specific ordering within and between clusters. This segmentation ensures processing correctness through multiple layers of constraint enforcement while managing scheduling complexity through organized dependency structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cluster specifications as intermediary structures that mediate between individual actions and the overall processing pipeline. By grouping actions into clusters and defining dependencies at the cluster level, the system simplifies scheduling complexity while maintaining processing correctness through the intermediary cluster abstraction layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7804844B1Dataflow pipeline implementing actions for manipulating packets of a communication protocol
Publication Date: 2010.09.28 XILINX INC
  • US7804844B1 patent drawing
  • US7804844B1 patent drawing
  • US7804844B1 patent drawing

AI summary

A processor is specified for implementing actions for manipulating the fields of the packets of a communication protocol. A cluster specification is input specifying clusters of independent actions. A constraint specification is input of dependencies constraining performance of the actions, including a dependency between a first action from a first cluster and a second action from a second cluster. Each cluster is assigned to a stage of a dataflow pipeline of the processor, and the dependencies are satisfied by performing each stage in an order of the dataflow pipeline. The first action is transferred between the stages of the first and second clusters. A timeframe is scheduled for performing each action in each stage of the dataflow pipeline. The timeframe is scheduled for performing of the first and second actions in the stage of the second cluster in accordance with the dependencies. A specification of the dataflow pipeline is output.