Ethernet Flow Control Packet Prioritization for Egress Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network devices with Ethernet bus architecture, bandwidth mismatches between Ethernet data channels and interface data channels lead to frequent data packet congestion, making it difficult to accurately implement Quality of Service (QoS) in the egress direction.

Innovation Solution

The solution involves generating and transmitting Ethernet flow control packets with sending completion information to prioritize congestion detection, allowing the CPU to determine egress direction congestion and manage packet transmission effectively by configuring higher priority for flow control packets and using DMA mode to store and process flow control messages, thereby maintaining accurate QoS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If bandwidth matching between Ethernet data channels and interface data channels is not implemented, then device complexity is reduced, but data packet congestion occurs frequently in egress direction

Engineering Contradiction:
Improvebandwidth matching complexityVSAvoidcongestion control reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces flow control packets as intermediary messages to mediate between the Ethernet data channel and interface data channel. These packets carry sending completion information that enables the receiving end to detect congestion and send flow control feedback, thereby resolving the bandwidth mismatch issue without requiring complex bandwidth matching mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the receiving end monitors sending completion information in flow control packets and sends flow control feedback packets when congestion is detected. This feedback loop enables dynamic bandwidth adaptation and congestion control without requiring predetermined bandwidth matching between channels.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If flow control packets are transmitted with higher priority than data packets, then congestion detection accuracy is improved, but Ethernet data channel occupancy increases

Engineering Contradiction:
Improvecongestion detection accuracyVSAvoidEthernet data channel occupancy
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent uses partial action by transmitting flow control packets only when necessary (when sending completion information indicates potential congestion) rather than continuously. This reduces the quantity of control packets on the Ethernet data channel while maintaining adequate congestion detection capability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent extracts essential congestion detection information (sending completion information) from the data transmission process and copies it into dedicated flow control packets. This allows congestion detection to be performed using a simplified copy of the necessary information rather than analyzing all data packets, reducing channel occupancy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10419355B2Flow control of network device
Publication Date: 2019.09.17 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10419355B2 patent drawing
  • US10419355B2 patent drawing
  • US10419355B2 patent drawing

AI summary

In an example, a logic apparatus of an interface board in a network device may generate an Ethernet flow control packet including sending completion information according to Ethernet data packets sent from a sending buffering queue maintained in the interface board. The logic apparatus of the interface board may transmit the Ethernet flow control packet including sending completion information to an Ethernet data channel by taking priority over Ethernet data packets in a receiving buffering queue in an ingress direction. The sending completion information is used by a CPU of a mainboard to maintain a state of the sending buffering queue.