Flow Control Signal Definition for Transmit Queue Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing flow control protocols, such as Ethernet pause (IEEE 802.3x) and priority pause (IEEE 802.1qbb), are inadequate in managing congestion in multi-stage queues and handling data bursts, leading to potential buffer overflow and loss of data due to head-of-line blocking and congestion issues in hop-by-hop network links.

Innovation Solution

A processor-readable medium stores code that defines a suspension time value for a transmit queue based on the congestion level of a receive queue and its state, allowing for granular control of data flow through multiple flow control loops, including physical link control loops, first-stage control loops, and second-stage control loops, to prevent buffer overflow and manage congestion effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If known flow control protocols (Ethernet pause, priority pause, QCN) are used, then buffer overflow can be prevented in some applications, but they cannot adequately resolve congestion issues in multi-stage queues and handle data bursts effectively

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidcongestion management capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the flow control mechanism into multiple independent control loops (physical link control loop, first-stage control loop, second-stage control loop), each managing congestion at different stages of the multi-stage queue system. This allows targeted congestion management for each queue stage without affecting the entire system, resolving the limitation of conventional protocols that treat congestion uniformly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic suspension time values that are calculated based on real-time congestion levels and queue states. The suspension time is not fixed but adapts to current network conditions, allowing the system to respond dynamically to data bursts and congestion patterns, thereby improving both reliability and adaptability.

Inventive Principle:
Principle #15Dynamics

2Loss of substance

If flow control is implemented to manage congestion, then data loss due to buffer overflow is reduced, but head-of-line blocking and congestion issues persist in multi-stage queues

Engineering Contradiction:
Improvedata lossVSAvoidhead-of-line blocking
Core Design Contradiction:
Loss of substanceVSObject-generated harmful factors

Solution Approach 1:

By segmenting the flow control into multiple control loops that operate independently at different stages, the patent eliminates head-of-line blocking at each stage. The first-stage control loop manages congestion before data enters the multi-stage queue, while the second-stage control loop manages congestion within the queue, preventing HOL blocking from propagating through the system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs feedback mechanisms where each control loop continuously monitors congestion levels and queue states, adjusting suspension time values based on real-time conditions. This feedback allows the system to detect and respond to congestion patterns, preventing data loss and HOL blocking before they occur.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If suspension time value is defined based on congestion level and queue state, then granular control of data flow is achieved, but system complexity increases

Engineering Contradiction:
Improveflow control precisionVSAvoidcontrol loop structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent divides the complex flow control function into three separate control loops, each with a relatively simple structure. The physical link control loop handles basic pause/frame transmission, the first-stage control loop manages congestion before the multi-stage queue, and the second-stage control loop manages congestion within the queue. This segmentation makes each individual controller simpler while achieving granular control of the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each control loop in the patent is designed to be multi-functional, handling both flow control and congestion management tasks within a single loop structure. The control loops can operate independently or in coordination, providing universal functionality that reduces overall system complexity while maintaining precise flow control.

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

Data Source

PatentUS8213308B2Methods and apparatus for defining a flow control signal related to a transmit queue
Publication Date: 2012.07.03 JUNIPER NETWORKS INC
  • US8213308B2 patent drawing
  • US8213308B2 patent drawing
  • US8213308B2 patent drawing

AI summary

In one embodiment, a processor-readable medium can store code representing instructions that when executed by a processor cause the processor to receive a value representing a congestion level of a receive queue and a value representing a state of a transmit queue. At least a portion of the transmit queue can be defined by a plurality of packets addressed to the receive queue. A rate value for the transmit queue can be defined based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue. The processor-readable medium can store code representing instructions that when executed by the processor cause the processor to define a suspension time value for the transmit queue based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue.