Network Element Shared Input Buffer Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network switches face inefficiencies due to unbalanced fill status of input buffers, leading to potential overflow and reduced throughput, as some buffers fill at different rates while others remain underutilized.

Innovation Solution

A method and system that evaluate conditions related to port fill status and interface utilization to move data packets from full input buffers to underutilized ones, balancing load and updating output queue entries to reflect new locations, thereby selecting output ports and sharing storage among input buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each port has its own dedicated input buffer, then packet buffering is simple and direct, but buffer overflow occurs more easily when some ports receive high traffic volume while others remain underutilized

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple dedicated input buffers into a shared buffer pool that can be dynamically allocated to any port. This allows traffic from any port to be buffered in any available buffer, distributing the load across all buffers and preventing overflow at any single port while maintaining high throughput capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic buffer allocation where buffers can be reassigned between ports based on real-time traffic conditions. The system dynamically tracks buffer fill status and interface utilization to make intelligent buffer allocation decisions, adapting to changing traffic patterns to prevent overflow while maximizing throughput.

Inventive Principle:
Principle #15Dynamics

2Productivity

If buffers are shared among multiple ports, then buffer utilization is improved and overflow is reduced, but the complexity of managing buffer allocation and tracking increases

Engineering Contradiction:
Improvebuffer utilizationVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service buffer management where the system automatically monitors buffer fill status and interface utilization metrics, making intelligent allocation decisions without external intervention. The control mechanism autonomously tracks which buffers are available and assigns them to appropriate ports based on real-time conditions, reducing manual management complexity while maintaining high utilization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the system continuously monitors buffer fill status and interface utilization metrics, using this information to dynamically adjust buffer allocation decisions. This closed-loop feedback allows the system to adapt to changing traffic patterns and prevent overflow while optimizing throughput, managing complexity through automated adaptive control.

Inventive Principle:
Principle #23Feedback

3Productivity

If data packets are moved between input buffers to balance load, then buffer overflow is prevented and throughput is improved, but additional processing steps are required to track and update packet locations

Engineering Contradiction:
ImprovethroughputVSAvoidpacket tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses a universal output queue structure that can store packets from any input buffer, regardless of their original source. This multi-functional output queue system handles packets uniformly whether they come from dedicated buffers or shared buffers, simplifying the tracking and forwarding process while maintaining high throughput capability.

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

Solution Approach 2:

The patent introduces output queues as intermediary structures between input buffers and the switching fabric. These output queues act as mediators that receive packets from any input buffer, manage their forwarding, and decouple the complexity of packet tracking in shared buffers from the forwarding process, simplifying overall system management while maintaining throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If the system continuously monitors buffer fill status and interface utilization, then intelligent buffer allocation is enabled, but processing overhead and latency increase

Engineering Contradiction:
Improvebuffer allocation adaptabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary monitoring and assessment of buffer fill status and interface utilization metrics continuously, so that when buffer allocation decisions are needed, the information is already ready. This advance preparation allows for rapid, informed buffer allocation decisions without requiring complex real-time calculations, reducing processing latency while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent monitors and tracks buffer status and interface utilization metrics, maintaining sufficient information to make intelligent allocation decisions without requiring complete real-time analysis of every possible scenario. This partial monitoring approach provides enough data for effective buffer management while minimizing processing overhead and latency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8699491B2Network element with shared buffers
Publication Date: 2014.04.15 MELLANOX TECH TLV
  • US8699491B2 patent drawing
  • US8699491B2 patent drawing
  • US8699491B2 patent drawing

AI summary

A method for communication, in a network element that includes multiple ports, includes buffering data packets entering the network element via the ports in input buffers that are respectively associated with the ports. Storage of the data packets is shared among the input buffers by evaluating a condition related to the ports, and, when the condition is met, moving at least one data packet from a first input buffer of a first port to a second input buffer of a second port, different from the first port. Respective output ports, via which the buffered data packets are to exit the network element, are selected from among the ports. The buffered data packets are forwarded to the selected output ports.