Group-Specific Load Balancing in Network Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In communication networks, existing load balancing techniques often result in uneven distribution of packet flows across multiple network links, leading to underutilization of some links while others are overloaded, especially in scenarios with equal-cost multi-path routing and link aggregation, where hash functions fail to maintain packet order and efficiently distribute traffic.
Innovation Solution
A network device implements configurable group-specific load balancing by generating a general load balancing value for packets and deriving a group-specific value based on per-group configuration, allowing independent control of load balancing within each network interface group, thereby redistributing traffic within affected groups without impacting others, using a single hash function for efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a hash function is applied to packet flow key to distribute packets across multiple network links, then load balancing is achieved, but packet order is not maintained and some links become overloaded while others are underutilized
Solution Approach 1:
The patent segments the load balancing process into two distinct stages: first selecting a network interface group using a general hash value, then selecting a specific network interface within that group using a group-specific hash value. This segmentation allows different hash functions to be applied at different levels, improving both load distribution and packet order maintenance within groups.
Solution Approach 2:
The patent applies different hash function characteristics to different levels of the network interface selection process. The general hash function operates at the group level while group-specific hash functions operate at the individual interface level within each group, allowing optimized properties (such as packet order preservation) to be applied locally where needed.
2Reliability
If multiple packet flows are routed through the same network link based on hash values, then packet order per flow is maintained, but other network links remain underutilized
Solution Approach 1:
The patent divides the network interface selection into two hierarchical levels: network interface group selection and specific network interface selection within the group. This segmentation enables broader distribution of packet flows across multiple groups while maintaining packet order within each group, thereby improving overall link utilization without sacrificing reliability.
Solution Approach 2:
The patent introduces an additional dimension to the load balancing process by adding the group selection layer before interface selection. This two-dimensional approach (group dimension + interface dimension) expands the distribution space for packet flows, allowing better utilization of available network resources while preserving packet order within each dimension.
3Device complexity
If a single hash function is used for load balancing across all network interfaces, then implementation is simple, but fine-grained control over specific interface groups is not possible
Solution Approach 1:
The patent creates a universal load balancing framework that can operate with a single hash function for group selection while allowing optional group-specific hash functions for interface selection within groups. This multi-functional design provides both simplicity (when using only general hash) and fine-grained control (when group-specific hashes are enabled), adapting to different operational requirements.
Solution Approach 2:
The patent implements a dynamic load balancing system where the use of group-specific hash functions can be selectively enabled or disabled based on configuration. This allows the system to adapt between a simple single-hash implementation and a more complex multi-hash implementation with per-group control, optimizing the balance between complexity and versatility based on specific needs.
Data Source
AI summary
A general load balancing value for a packet received by a network device is generated based at least in part on information in a header of the packet. The packet is directed to a network interface group comprising a set of network interfaces via which the packet can be transmitted towards a destination of the packet. A group-specific load balancing value for the packet is then determined based on group-specific load balancing configuration corresponding to the network interface group and is used to select a network interface, from among the set of network interfaces, and the packet is transmitted towards the destination of the packet via the selected network interface. The group-specific load balancing configuration corresponding to the network interface group is subsequently reconfigured to redistribute selection of network interfaces, among the set of network interfaces, for transmission of packets subsequently directed to the network interface group.


