Hash-Based ECMP Load Balancing for Non-Power-of-2 Port Groups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ECMP load balancing strategies are less effective when the number of equal cost next hop egress network links is not a power of two, making it difficult for network administrators to implement efficient load balancing across dynamic network traffic and complex routing configurations.

Innovation Solution

The solution involves programming network routing tables to distribute network data traffic evenly across equal cost next hop egress network links using a hash-based load balancing function, such as the bucketing function (H modulo N), and dynamically reprogramming these tables to optimize load balancing based on performance monitoring and traffic distribution analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional ECMP load balancing strategies are used, then network traffic can be distributed across multiple egress links, but the load balancing effectiveness deteriorates when the number of egress links is not a power of two

Engineering Contradiction:
Improveload balancing effectivenessVSAvoidadaptability to non-power-of-2 port group sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter of hash function implementation from conventional approaches to a specific hash function that generates hash values and uses modulo operation with the number of egress links. This parameter change enables effective load balancing regardless of whether the number of egress links is a power of two or not, resolving the adaptability issue while maintaining productivity

Inventive Principle:
Principle #35Parameter changes

2Productivity

If network routing tables are manually configured, then load balancing can be implemented, but the complexity of identifying and implementing effective strategies increases due to dynamic network traffic and complex routing configurations

Engineering Contradiction:
Improveload balancing implementationVSAvoidcomplexity of routing table programming
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the system to automatically monitor load balancing performance and reprogram routing tables without manual intervention. The system autonomously identifies when load balancing is unsatisfactory and triggers reprogramming of routing tables using the hash function, eliminating the need for manual configuration while reducing complexity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces feedback mechanisms where the system monitors load balancing performance and uses this information to determine when routing tables need reprogramming. This feedback loop allows the system to automatically adjust routing tables based on actual performance data, simplifying the implementation process while maintaining effective load balancing

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9544234B1Hash based ECMP load balancing with non-power-of-2 port group sizes
Publication Date: 2017.01.10 GOOGLE LLC
  • US9544234B1 patent drawing
  • US9544234B1 patent drawing
  • US9544234B1 patent drawing

AI summary

The invention is directed to optimizing load balancing for equal cost multiple path (ECMP) network routing by improving the load balancing of network data traffic across multiple equal cost next hop egress network links that have the same next hop routing cost. At least one of the various embodiments may enable improve load balancing of egress network links by programming network routing tables and conducting diagnostic processes and testing to determine if a programmed network routing table optimally load balances the outgoing the network data traffic among the equal cost next hop egress network links. If an embodiment determines that a programmed network routing table is load balancing less effectively than desired, it may re-program the network routing table(s).