Consistent Hashing for ECMP Routing
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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.
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)
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.
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.
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
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.
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.
Data Source
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.


