Fabric Adapter Multipathing for Congestion-Aware Path Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Equal Cost Multi-Pathing (ECMP) implementations struggle with optimal load balancing across multiple paths, leading to path overloading, underutilization, hash collisions, incomplete information, and inefficient recovery from link failures, resulting in network congestion and temporary packet mis-ordering.

Innovation Solution

A system and method that utilizes a fabric adapter to receive packet headers and control information from controlling hosts, enabling intelligent load balancing based on network and application states, with real-time congestion awareness and alternate failover routes, using scatter gather lists and routing tables to optimize path selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Equal Cost Multi-Pathing (ECMP) protocol is used to increase bandwidth between communicating compute nodes, then network bandwidth is improved, but path overloading and underutilization occur leading to network congestion

Engineering Contradiction:
Improvenetwork bandwidthVSAvoidload balancing
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic path selection by continuously monitoring network conditions and adjusting path weights accordingly. The system transitions from static ECMP hashing to dynamic routing where paths are selected based on real-time congestion levels, link utilization, and network state, preventing both overloading and underutilization of network paths

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by monitoring network congestion, link failures, and packet delivery status. This feedback is used to adjust path selection decisions in real-time, allowing the system to respond to changing network conditions and maintain optimal load balancing across multiple paths

Inventive Principle:
Principle #23Feedback

2Ease of operation

If ECMP uses hash-based path selection, then path selection is simplified, but hash collisions occur leading to suboptimal path selection

Engineering Contradiction:
Improvepath selectionVSAvoidpath selection accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent changes the parameters used for path selection from simple hash values to multi-dimensional parameters including link utilization, congestion levels, packet loss rates, and latency measurements. This allows for more precise path selection that avoids hash collisions while maintaining computational efficiency through structured parameter evaluation

Inventive Principle:
Principle #35Parameter changes

3Productivity

If ECMP distributes packets across multiple paths, then bandwidth utilization increases, but packet mis-ordering occurs during link failures

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidpacket ordering
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by pre-establishing alternative paths and pre-calculating rerouting decisions before link failures occur. When a failure is detected, packets are immediately redirected along pre-prepared alternative paths, maintaining both bandwidth utilization and packet ordering without the mis-ordering problems that occur with reactive ECMP failover

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12542735B1System and method for optimally balanced network multipathing
Publication Date: 2026.02.03 ENFABRICA CORP
  • US12542735B1 patent drawing
  • US12542735B1 patent drawing
  • US12542735B1 patent drawing

AI summary

In general, the subject matter of this disclosure relates to a system for optimally balanced network multipathing. An example system includes a fabric adapter communicatively coupled to a plurality of network ports, a plurality of controlling hosts, and a plurality of application hosts. The fabric adapter is configured to: receive contents of one or more headers of a network packet; receive control information for the network packet, the control information describing at least one of a state of a network or a state of an application running on at least one application host from the plurality of application hosts; receive a payload of a network packet; select a network path in the network; and forward the network packet to a network port of the plurality of network ports, the network packet including the one or more headers and the payload.