ECMP CRC Seeding via LBFV Reordering to Prevent Path Polarization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Equal-Cost Multi-Path (ECMP) routing in computer networks experiences polarization due to correlated routing decisions across stages, leading to suboptimal network utilization, especially in Massively Scalable Data Centers, where Cyclic Redundancy Check (CRC) functions exacerbate the issue by not affecting the distribution of routing decisions effectively.

Innovation Solution

The method involves generating a Load Balancing Flow Vector (LBFV) and partitioning it into blocks, which are then reordered at each network element using a unique reordering sequence different from others, followed by hashing to select a next hop link, thereby differentiating ECMP decisions across stages and preventing correlation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional CRC-based hashing is used for ECMP routing decisions, then the routing process is simple and fast, but routing decisions become correlated across stages leading to polarization and suboptimal network utilization

Engineering Contradiction:
Improvenetwork utilizationVSAvoidrouting decision complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the Load Balancing Flow Vector (LBFV) into multiple blocks and applies different reordering sequences to different stages. This segmentation allows each stage to independently manipulate its portion of the flow vector, breaking the correlation between stages while maintaining overall load balancing functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies reordering sequences to the LBFV blocks before the hashing operation. This preliminary action modifies the input to the CRC function in a way that prevents polarization from occurring in the first place, rather than trying to correct it afterward.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the same CRC function is used across all network stages, then implementation is consistent and simple, but routing decisions remain correlated causing polarization

Engineering Contradiction:
Improverouting decision independenceVSAvoidhashing process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different reordering sequences (local variations) to different network stages while keeping the underlying CRC hashing function the same. This allows each stage to have unique characteristics that prevent correlation, while maintaining the benefits of a consistent base algorithm across the network.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the reordering sequence parameter for each stage of the ECMP routing process. By modifying this specific parameter while keeping other aspects unchanged, the system achieves independent routing decisions without requiring a complete redesign of the hashing mechanism.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If LBFV blocks are reordered with unique sequences at each network element, then routing decisions are differentiated and polarization is prevented, but the processing complexity increases

Engineering Contradiction:
Improveload balancing effectivenessVSAvoidpacket processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the LBFV into blocks that can be independently reordered. This segmentation allows the reordering operation to be performed efficiently on smaller data units rather than the entire flow vector, reducing the time penalty associated with the additional processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11418214B1Effective seeding of CRC functions for flows' path polarization prevention in networks
Publication Date: 2022.08.16 CISCO TECHNOLOGY INC
  • US11418214B1 patent drawing
  • US11418214B1 patent drawing
  • US11418214B1 patent drawing

AI summary

A network element is configured to efficiently load balance packets through a computer network. The network element receives a packet associated with flow attributes and generates a Load Balancing Flow Vector (LBFV) from the flow attributes. The network element partitions the LBFV into a plurality of LBFV blocks and reorders the LBFV blocks to generate a reordered LBFV. The LBFV blocks are reordered based on a reordering sequence that is different from reordering sequences on other network elements in the computer network. The network element hashes the reordered LBFV to generate a hash key for the packet and selects a next hop link based on the hash key. The next hop link connects the network elements to a next hop network element in the computer network.