Flowlet-Based Network Fabric Load Balancing Against Packet Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network architectures face issues with load balancing due to randomized path selection using ECMP, leading to potential bottlenecks, asymmetry, and packet reordering, which negatively impact network performance and user experience.

Innovation Solution

Implement load balancing by selecting paths for packet transmission based on flowlets, which are groups of packets within a flow, allowing them to be transmitted via multiple paths to reduce bottlenecks and reordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If ECMP randomized path selection is used, then network path utilization is improved, but packet reordering and bottlenecks occur

Engineering Contradiction:
Improvenetwork path utilizationVSAvoidpacket delivery order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments a network flow into multiple flowlets, where each flowlet can be transmitted via different paths. This segmentation allows the system to utilize multiple paths simultaneously while maintaining packet order within each flowlet, thereby improving overall network utilization without causing packet reordering issues.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically selects paths for each flowlet based on current network conditions, source-destination pairs, and flowlet characteristics. This dynamic approach enables the system to adapt to changing network states, optimizing path utilization while preventing bottlenecks and maintaining reliable packet delivery.

Inventive Principle:
Principle #15Dynamics

2Reliability

If single path selection based on flow is used, then packet order is maintained, but network bottlenecks occur

Engineering Contradiction:
Improvepacket delivery orderVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By dividing a flow into multiple flowlets that can be transmitted on different paths, the system maintains packet order within each flowlet while enabling parallel transmission across multiple paths. This segmentation resolves the contradiction by allowing both ordered delivery and improved throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of granularity by operating at the flowlet level rather than the flow level. This dimensional change enables the system to exploit multiple paths simultaneously while preserving packet order, thereby increasing network throughput without sacrificing reliability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If ECMP load balancing is implemented, then network capacity is improved, but asymmetry and reordering are introduced

Engineering Contradiction:
Improvenetwork capacityVSAvoidnetwork traffic symmetry
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent segments traffic into flowlets that can be asymmetrically routed across different paths. This segmentation allows the system to improve network capacity through asymmetric routing while maintaining stability by ensuring proper reassembly and ordering at the destination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different routing qualities to different flowlets based on local network conditions, source-destination pairs, and flowlet characteristics. This local quality approach enables asymmetric routing that optimizes network capacity while maintaining overall traffic stability through context-aware path selection.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12388755B2System and method for multi-path load balancing in network fabrics
Publication Date: 2025.08.12 CISCO TECHNOLOGY INC
  • US12388755B2 patent drawing
  • US12388755B2 patent drawing
  • US12388755B2 patent drawing

AI summary

In accordance with one embodiment, a source leaf device receives a packet. The source leaf device identifies a flowlet associated with the packet and a destination leaf device to which the packet is to be transmitted. The source leaf device may determine whether the flowlet is a new flowlet. The source leaf device may select an uplink of the source leaf device via which to transmit the flowlet to the destination leaf device according to whether the flowlet is a new flowlet. The source leaf device may then transmit the packet to the destination leaf device via the uplink.