Priority-Based Flow Control for Hardware Forwarding Elements

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network forwarding elements lack efficient configuration options for buffer usage, particularly in managing packet data storage and flow control across different priority levels, leading to inefficiencies in packet processing and potential congestion.

Innovation Solution

A hardware forwarding element with configurable ingress and egress pipelines and a traffic management unit that allocates buffer space based on packet classes and priority values, using coefficients to ensure adequate space for higher priority packets and implementing priority-specific flow control thresholds to manage congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If buffer space is allocated equally to all packet classes, then simplicity of buffer management is maintained, but high-priority packets may not receive sufficient buffer space during congestion

Engineering Contradiction:
Improvebuffer space guarantee for high-priority packetsVSAvoidbuffer allocation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by allocating different buffer space proportions to different packet classes based on their priority levels. High-priority packets are guaranteed a larger proportion of buffer space (e.g., 70-90%) compared to low-priority packets, ensuring that critical traffic receives adequate buffering during congestion while maintaining a structured allocation mechanism through priority-based coefficients.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses parameter changes by introducing priority-based coefficients that dynamically adjust the buffer space allocation ratio for different packet classes. These coefficients can be configured to change the proportion of buffer space available to each priority level, allowing flexible adjustment of buffer distribution without changing the underlying buffer structure or allocation logic.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If flow control thresholds are applied to all packets uniformly, then ease of flow control implementation is maintained, but differentiated service quality for different priority packets cannot be achieved

Engineering Contradiction:
Improveservice quality differentiationVSAvoidflow control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing different flow control thresholds for different packet classes based on their priority levels. High-priority packets can have higher thresholds allowing them to utilize more buffer space before flow control is triggered, while low-priority packets have lower thresholds. This enables differentiated service quality where critical traffic experiences less flow control intervention while maintaining a unified flow control framework.

Inventive Principle:
Principle #3Local quality

3Reliability

If buffer space is allocated to ensure high-priority packet storage, then packet drop reduction for critical traffic is achieved, but overall buffer utilization efficiency may decrease

Engineering Contradiction:
Improvepacket drop rate for high-priority trafficVSAvoidbuffer utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial or excessive action by allocating more than equal share of buffer space to high-priority packets (excessive allocation to critical traffic). This ensures that high-priority packets have sufficient buffer space to avoid drops, while the system accepts that overall buffer utilization may not be maximized. The priority-based coefficient system allows this intentional over-allocation to important traffic classes.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent applies dynamics by making buffer space allocation dynamic and adjustable through configurable priority coefficients. The system can adapt buffer distribution based on changing traffic patterns and requirements, allowing optimization between reliability and efficiency under different operating conditions. The traffic management unit can adjust allocation ratios dynamically without reconfiguring the entire buffer structure.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10708189B1Priority-based flow control
Publication Date: 2020.07.07 BAREFOOT NETWORKS INC
  • US10708189B1 patent drawing
  • US10708189B1 patent drawing
  • US10708189B1 patent drawing

AI summary

Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.