Dynamic Link Load Balancing via Bloom Filter Hash Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer network technologies face inefficiencies in distributing traffic across parallel data paths, leading to packet reordering and uneven bandwidth usage, which results in congestion and increased latency.

Innovation Solution

The implementation of a dynamic load balancing technique that uses a set of hash functions to distribute new packet flows across parallel data paths while ensuring in-order delivery of packets by applying the same hash function to each packet of a flow, utilizing a Bloom filter to select the appropriate hash function and avoid congested paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If per-packet flow distribution methods are used to prevent packet reordering, then packet delivery order is maintained, but processing power and memory requirements increase significantly

Engineering Contradiction:
Improvepacket delivery orderVSAvoidprocessing power and memory
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the packet flow distribution problem by separating the hash function selection from the flow distribution tracking. Instead of maintaining a complete flow-to-link map for all packets, the system uses a Bloom filter to probabilistically determine which hash function to apply, reducing the data structure size while maintaining distribution accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of hash function selection dynamically based on Bloom filter results. Different hash functions are selected based on the packet flow characteristics identified by the Bloom filter, allowing the system to adapt to varying traffic patterns without increasing overall system complexity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If per-packet flow distribution methods are used to track packet flows, then packets of the same flow traverse the same links, but a massive data structure is required to track flows in real time

Engineering Contradiction:
Improveflow path consistencyVSAvoiddata structure size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses a Bloom filter, which is a space-efficient, probabilistic data structure that uses minimal memory compared to traditional flow-to-link maps. The Bloom filter provides a compact representation that can track multiple flows simultaneously without requiring large amounts of memory, effectively replacing the massive data structure with a much smaller alternative.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If per-packet distribution methods are used to balance bandwidth, then load is distributed across links, but packets of the same flow arrive out of order

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidpacket delivery order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic load balancing by selecting different hash functions based on current network conditions and flow characteristics. The system dynamically adjusts which hash function to apply for each packet flow, allowing it to optimize for both load balancing and packet order maintenance depending on the specific flow and network state.

Inventive Principle:
Principle #15Dynamics

4Productivity

If per-packet flow methods are used to assign flows to links, then packet flows are distributed across links, but congested links receive new packet flows while other links remain unused

Engineering Contradiction:
Improveflow distributionVSAvoidcongestion response
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent incorporates feedback mechanisms where the Bloom filter tracks the distribution patterns and network conditions. This feedback allows the system to identify when certain links are congested and adjust the hash function selection accordingly, redirecting new packet flows to underutilized links and preventing the congestion problems seen in static distribution methods.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8259585B1Dynamic link load balancing
Publication Date: 2012.09.04 JUNIPER NETWORKS INC
  • US8259585B1 patent drawing
  • US8259585B1 patent drawing
  • US8259585B1 patent drawing

AI summary

Techniques are described for load balancing packet flows across parallel data paths. For example, a network device includes a plurality of parallel network interfaces and a control unit that applies each of a first set of hash functions to a packet and one of a second set of hash functions to the packet. Bins of each of the first set of hash functions are mapped to bits of a bit vector. Bins of each of the second set of hash functions are mapped to the plurality of parallel network interfaces. The control unit selects the one of the second set of hash functions to apply to the packet based on values of the bits of the bit vector. The control unit forwards the packet through the network interface that is identified by applying the selected one of the second set of hash functions to the packet.