Consistent Hashing for ECMP Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hashing schemes for Equal Cost Multi-Path (ECMP) and Link Aggregation Group (LAG) in data switching networks face challenges in maintaining consistency and fairness when members are added or removed, often requiring large indirection tables and inefficient time complexity.

Innovation Solution

A consistent hashing scheme that uses permutation of the member list and an unequal selection probability scheme to reduce information needed per member to O(Nmembers) while maintaining O(Nmembers) time complexity, ensuring consistent member selection and fairness by pseudo-randomly masking and redistributing packet flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large number of hash values (Nhash=O(Nstream2)) are used to avoid hash collisions in ECMP routing, then collision resistance is improved, but memory complexity increases to O(Nhash)

Engineering Contradiction:
Improvehash collision resistanceVSAvoidmemory complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter relationship from Nhash=O(Nstream2) to using a circular buffer of size O(Nmembers) with consistent hashing. This parameter transformation maintains collision resistance while reducing memory complexity from quadratic to linear scale.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent extracts the collision avoidance mechanism from the large hash table approach and implements it through a circular buffer with consistent hashing. Only the essential elements (circular buffer of size O(Nmembers)) are retained, eliminating the need for large Nhash values.

Inventive Principle:
Principle #2Taking out (Extraction)

2Stability of the object's composition

If consistent hashing is implemented using traditional methods with large indirection tables, then member selection consistency is improved, but time complexity increases to O(Nmembers2)

Engineering Contradiction:
Improvemember selection consistencyVSAvoidcomputation time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent changes the time complexity parameter from O(Nmembers2) to O(Nmembers) by implementing consistent hashing on a circular buffer. This parameter optimization maintains selection consistency while dramatically reducing computation time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the member selection process into discrete slots in a circular buffer, where each slot corresponds to a member. This segmentation enables efficient O(Nmembers) lookup by directly accessing the computed slot position rather than searching through all members.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If ECMP members are added or removed, then network flexibility and adaptability are improved, but packet stream consistency deteriorates due to out-of-order packets

Engineering Contradiction:
Improvenetwork flexibilityVSAvoidpacket stream consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent establishes consistent hashing mappings before ECMP operations begin. When members are added or removed, the pre-established hashing structure allows packets to be redirected to new members while maintaining stream consistency, preventing out-of-order delivery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The circular buffer acts as an intermediary between packet streams and ECMP members. It absorbs the changes from member additions or removals and provides stable, consistent mapping to packets, ensuring stream order is preserved even as the underlying member set changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10298500B2Using consistent hashing for ECMP routing
Publication Date: 2019.05.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US10298500B2 patent drawing
  • US10298500B2 patent drawing
  • US10298500B2 patent drawing

AI summary

ECMP routing is carried out in fabric of network entities by representing valid destinations and invalid destinations in a group of the entities by a member vector. The order of the elements in the member vector is permuted. A portion of the elements in the permuted vector is pseudo-randomly masked. A flow of packets is transmitted to the first valid destination in the masked member vector.