Dataflow Pipeline for Packet Processor Specification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If detailed timing characteristics are specified for packet processing, then throughput and latency requirements are met, but the specification process becomes more complex
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.
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.
3Reliability
If multiple dependencies between actions are enforced, then correct processing order is ensured, but scheduling becomes more complex
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.
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.
Data Source
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.


