Network Switch Hash Computation for Link Polarization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hashing techniques in network switches often lead to polarization, favoring specific links for certain types of packets, which can result in uneven data packet distribution and inefficient load balancing, especially when multiple network switches operate in a load-balancing network.

Innovation Solution

A method and apparatus for load balancing in communication networks that utilize a hashing function to generate distinct hash values for data units across multiple link aggregate groups, incorporating both fixed and user-configurable schemes to select input data, and applying masking based on ingress ports and packet types, thereby avoiding link polarization and improving distribution efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a hashing function is applied to data packets for load balancing across multiple link aggregate groups, then data packet distribution is improved, but link polarization occurs where certain links are favored for specific packet types

Engineering Contradiction:
Improvedata packet distribution efficiencyVSAvoidlink load balance uniformity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the hash input by selecting specific fields from different packet types (IP packets use IP header fields, Ethernet packets use Ethernet header fields) and applies different masking schemes for different ingress ports. This segmentation allows the hashing function to distribute packets more uniformly across links by preventing certain packet types from consistently mapping to the same links, thereby resolving link polarization while maintaining distribution efficiency.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If the same hashing function is used at multiple network switches in a load-balancing network, then routing consistency is improved, but polarization of particular paths occurs

Engineering Contradiction:
Improverouting decision consistencyVSAvoidpath distribution efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements local quality by configuring each network switch with ingress port-specific masking schemes. Each switch tailors its hash computation to its local ingress ports, applying different masks based on the specific ingress port receiving the packet. This allows each switch to maintain routing consistency for its local traffic while avoiding path polarization, as the localized masking ensures uniform distribution specific to each switch's traffic patterns.

Inventive Principle:
Principle #3Local quality

3Productivity

If hashing is applied to all data packets, then load balancing is achieved, but computational complexity increases

Engineering Contradiction:
Improveload balancing performanceVSAvoidhash computation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts only the necessary fields from packet headers for hash computation based on packet type and ingress port. Instead of hashing entire packets or all header fields, the system selectively extracts specific fields (such as source/destination addresses, port numbers) relevant to each packet type and applies masking to extract only the bits needed for link selection. This extraction approach achieves effective load balancing while minimizing computational complexity by processing only essential data.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10244047B1Hash computation for network switches
Publication Date: 2019.03.26 MARVELL ISRAEL (M L S L) LTD
  • US10244047B1 patent drawing
  • US10244047B1 patent drawing
  • US10244047B1 patent drawing

AI summary

A data unit is received at a first one of a plurality of network devices associated with a first one of the plurality of link aggregate groups. A hashing function is applied to the data unit to generate a first hash value, where the first hash value identifies a communication link in the first one of the plurality of link aggregate groups. The data unit is received at a second one of the plurality of network devices associated with a second one of the plurality of link aggregate groups. The hashing function is applied to the data unit to generate a second hash value that is distinct from the first value, where the second hash value identifies a communication link in a second one of the plurality of link aggregate groups along which the data unit is to be communicated.