Weighted ECMP Routing for Load-Balanced Packet Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network routing, when multiple paths between a source and a destination device have equal costs, existing technologies randomly select one path for routing network traffic, leading to inefficiencies in traffic distribution and potential packet reordering.

Innovation Solution

Implementing weighted equal cost multipath routing, where weights are assigned to uplinks along equal cost paths, allowing network devices to generate keys that select specific uplinks based on user-defined weights, ensuring consistent and load-balanced traffic distribution across multiple paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If random path selection is used among equal cost paths, then simplicity of routing decision is improved, but traffic distribution efficiency deteriorates

Engineering Contradiction:
Improverouting decision simplicityVSAvoidtraffic distribution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces weight parameters assigned to different uplinks, transforming the routing decision from purely random selection to weight-based probabilistic selection. This allows administrators to control traffic distribution by adjusting weight values, thereby improving traffic distribution efficiency while maintaining operational simplicity through a configurable parameter system.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If random path selection is used among equal cost paths, then implementation complexity is reduced, but packet delivery consistency deteriorates

Engineering Contradiction:
Improveimplementation complexityVSAvoidpacket delivery consistency
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

By introducing weight parameters and using hash-based key generation, the system achieves consistent packet delivery while maintaining manageable implementation complexity. The hash function provides deterministic path selection based on packet characteristics, ensuring consistency without requiring complex state tracking or session management.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces random mechanical selection with a deterministic hash-based selection mechanism. This substitution ensures that packets with the same characteristics always follow the same path, improving delivery consistency while keeping the implementation relatively simple through standard hashing operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If equal weight distribution is used among uplinks, then fairness among paths is improved, but ability to optimize specific paths deteriorates

Engineering Contradiction:
Improvefairness among pathsVSAvoidpath optimization capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic weight assignment that can be adjusted based on network conditions and requirements. Administrators can modify uplink weights to optimize specific paths for particular traffic types or destinations, while maintaining the ability to revert to equal distribution for fairness when needed, thus providing both fairness and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9502111B2Weighted equal cost multipath routing
Publication Date: 2016.11.22 CISCO TECHNOLOGY INC
  • US9502111B2 patent drawing
  • US9502111B2 patent drawing
  • US9502111B2 patent drawing

AI summary

In some implementations, network traffic can be routed along equal cost paths based on weights assigned to each path. For example, weighted equal cost multipath routing can be implemented by assigning weights to each equal cost path (e.g., uplink, next hop node) to a destination device. When the network device receives a packet, the network device can generate a key (e.g., a random value, a hash value based on packet data, a value between 0 and n, etc.). The key can be used to select an uplink or path upon which to forward the packet. A key can be generated for a packet flow or flowlet. Each flow can be associated with the same key so that each packet in a flow will be forwarded along the same path. Each flowlet can be forwarded along a different uplink.