Egress Queue Buffering for Small-Flow Packet Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network forwarding devices experience degraded performance due to packet drops and congestion in egress queues, particularly affecting small data flows and new data flows when egress queues are congested, leading to inefficiencies in packet forwarding.

Innovation Solution

The method involves determining if a packet belongs to a new data flow by checking if a previous packet of the same flow is buffered, and if not, scheduling it directly to the egress queue, while buffering packets in separate buffers based on flow size to prioritize small flows during congestion relief.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packets are buffered in a single buffer queue during egress queue congestion, then packet loss is reduced, but forwarding performance deteriorates due to congestion spreading to new data flows

Engineering Contradiction:
Improvepacket loss reductionVSAvoidforwarding performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the single buffer queue into multiple buffer queues, with each buffer queue associated with a specific egress queue. This segmentation isolates congestion to specific buffer-egress pairs, preventing congestion from spreading to other data flows. When one egress queue is congested, only packets destined for that egress queue are buffered, while other egress queues continue normal operation, thus maintaining overall forwarding performance while still reducing packet loss for affected flows.

Inventive Principle:
Principle #1Segmentation

2Reliability

If packets wait in buffer queue during congestion, then packet drop is avoided, but transmission performance degrades due to extended wait time

Engineering Contradiction:
Improvepacket drop avoidanceVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent establishes buffer queues in advance, associating each buffer queue with a specific egress queue before congestion occurs. This preliminary organization allows packets to be quickly routed to the appropriate buffer queue during congestion without requiring complex runtime decisions. The pre-established associations enable faster packet retrieval and forwarding when congestion is relieved, reducing the overall wait time compared to a single shared buffer queue where packets must be sequentially processed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all packets are sent to buffer queue during congestion, then egress queue congestion is relieved, but new data flows are affected and congestion spreads

Engineering Contradiction:
Improveegress queue stabilityVSAvoidnew data flow handling
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the buffering function so that each buffer queue handles only packets destined for its associated egress queue. When congestion is detected on a specific egress queue, only packets for that egress queue are diverted to its corresponding buffer queue. Packets for other egress queues, including new data flows, continue to be forwarded normally without being affected by the congestion. This segmentation prevents congestion from spreading to new data flows while still providing buffering protection for the congested flow.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4057579B1Data forwarding method, device, and computer storage medium
Publication Date: 2026.01.28 HUAWEI TECH CO LTD
  • EP4057579B1 patent drawingFigure 1~2
  • EP4057579B1 patent drawingFigure 3~4
  • EP4057579B1 patent drawingFigure 5

AI summary

This application provides a data forwarding method, a data buffering method, an apparatus, and a related device. After congestion of an egress queue is relieved, a network device receives a packet sent by an upstream node, and determines whether a storage device associated with the egress queue buffers a previous packet that belongs to a same data flow as the packet. When the storage device does not buffer the previous packet, the network device schedules the packet to the egress queue, to forward the packet to a downstream node, where the storage device includes a first buffer and a second buffer, and is configured to receive, during congestion of the egress queue, a packet sent by the network device. The storage device obtains a flowsize of all received packets that belong to the same data flow as the packet. When the flowsize is less than or equal to a preset threshold, the storage device buffers the packet in the first buffer. After congestion is relieved, the storage device preferentially sends the packet in the first buffer to the network device. In this way, a new data flow and a small data flow are first scheduled, and forwarding performance of the device is improved.