Hierarchical Buffer Management for Differentiated Packet Discarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing router and switch management systems discard packets without differentiation across different priority levels and buffer levels, leading to bandwidth allocation errors and unfair allocation.

Innovation Solution

A packet processing method that dynamically determines the processing of packets based on the upper limit value of the lowest-level buffer, occupation value, and packet size, ensuring differentiated packet discarding and adaptive hierarchical waterline management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a shared buffer is managed at multiple levels (queue buffer, port buffer, global buffer), then buffer capacity and packet storage ability are improved, but undifferentiated packet discarding occurs when congestion happens in high-level buffers

Engineering Contradiction:
Improvebuffer capacityVSAvoidbandwidth allocation reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies local quality by differentiating packet discarding based on local buffer status at each hierarchy level. Each queue buffer independently determines whether to discard packets based on its own available space and the buffer status of its parent port buffer, rather than uniformly discarding all packets when high-level buffers are congested. This ensures that only packets destined for congested lower-level buffers are discarded, while packets for non-congested buffers are preserved.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the buffer management process into independent decisions at each hierarchy level. The queue buffer management decision is separated from the port buffer management decision, allowing each level to make independent discarding decisions based on its own congestion state. This segmentation prevents the propagation of discarding decisions from high-level to low-level buffers, resolving the undifferentiated discarding problem.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If packets are discarded without differentiation based on priority or buffer level, then processing complexity is reduced, but bandwidth allocation fairness deteriorates

Engineering Contradiction:
Improvepacket processing complexityVSAvoidbandwidth allocation fairness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces dynamic buffer status indication information that changes based on real-time buffer availability at each hierarchy level. The queue buffer status indication reflects whether the queue buffer has sufficient space, while the port buffer status indication reflects the overall port buffer availability. These dynamic indicators enable differentiated discarding decisions without requiring complex manual configuration, maintaining processing simplicity while achieving fairness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where buffer status information flows from lower-level buffers to higher-level buffers. The queue buffer provides status information about its availability to the port buffer, which then uses this information to make informed discarding decisions. This feedback loop ensures that discarding decisions are based on actual buffer conditions, preventing unfair bandwidth allocation while keeping the processing logic straightforward.

Inventive Principle:
Principle #23Feedback

3Productivity

If low-priority queue buffers preempt bandwidth from high-priority queue buffers during congestion, then buffer utilization is improved, but bandwidth allocation accuracy deteriorates

Engineering Contradiction:
Improvebuffer utilizationVSAvoidbandwidth allocation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by allowing each queue buffer to independently manage its own packets based on local buffer status. The high-priority queue buffer and low-priority queue buffer both have independent discarding decisions based on their respective availability and the port buffer status. This prevents the low-priority buffer from preempting bandwidth from the high-priority buffer, as each buffer makes decisions based on its own state rather than collectively depleting shared buffer resources.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the bandwidth allocation process into independent queue buffer decisions. Instead of a single centralized decision-making process that could allow preemption, each queue buffer independently determines whether to accept or discard packets based on its own buffer status and the port buffer status. This segmentation eliminates the preemption mechanism while maintaining efficient buffer utilization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12224952B2Packet processing method and apparatus, communications device, and switching circuit
Publication Date: 2025.02.11 HUAWEI TECH CO LTD
  • US12224952B2 patent drawing
  • US12224952B2 patent drawing
  • US12224952B2 patent drawing

AI summary

A packet processing method includes: a first device receives a packet from a second device; the first device determines a first queue buffer used to store the packet, and determines a first upper limit value of the first queue buffer based on an available value of a first port buffer and an available value of a global buffer, where the global buffer includes at least one port buffer, the first port buffer is one of the at least one port buffer, the first port buffer includes at least one queue buffer, and the first queue buffer is one of the at least one queue buffer. The first device processes the packet based on the first upper limit value of the first queue buffer, an occupation value of the first queue buffer, and a size of the packet.