Dynamic NIC Load Balancing via Network Path Cost Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network systems with multiple NICs, traffic load is not balanced across NICs, leading to inefficient system performance due to network bandwidth bottlenecks and other issues, as existing solutions fail to dynamically adjust transmission allocations based on changing network conditions.

Innovation Solution

The proposed solution involves using network information, such as Spanning Tree Bridge Protocol Data Unit (BPDU) frames, to dynamically adjust the allocation of transmission packets across teaming NICs by assigning different weights based on path costs, allowing for efficient load balancing and fault tolerance without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple NICs are used to improve network throughput and reliability, then fault tolerance and aggregated throughput are enhanced, but traffic load becomes unbalanced across NICs leading to degraded system performance

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic load balancing by continuously monitoring network conditions (bandwidth availability, latency, packet loss) and adjusting traffic distribution across NICs in real-time. The system transitions from static load balancing to dynamic adaptation, where traffic allocation changes based on current network state, resolving the contradiction between maintaining reliability through multiple NICs and optimizing performance by preventing any single NIC from becoming a bottleneck

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring network performance metrics from each NIC and using this information to adjust traffic allocation. The load balancer receives feedback about network conditions (bandwidth bottlenecks, packet loss, latency) and dynamically modifies routing decisions, enabling the system to maintain optimal performance while preserving the fault tolerance benefits of multiple NICs

Inventive Principle:
Principle #23Feedback

2Device complexity

If static load balancing is used to distribute traffic across NICs, then implementation is simple, but the system cannot adapt to changing network conditions such as bandwidth bottlenecks and packet loss

Engineering Contradiction:
Improveload balancing mechanismVSAvoidresponse to network conditions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transforms static load balancing into a dynamic system that continuously adapts to changing network conditions. By implementing real-time monitoring of bandwidth availability, latency, and packet loss, and automatically adjusting traffic distribution based on these metrics, the system gains the adaptability needed to respond to network bottlenecks and failures without requiring complex manual reconfiguration

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The load balancing system performs self-service by automatically detecting network conditions and adjusting its own behavior without external intervention. The system monitors its own performance metrics and autonomously redistributes traffic to optimize performance, eliminating the need for manual configuration while maintaining simplicity in operation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7876689B2Method and apparatus for load balancing network interface adapters based on network information
Publication Date: 2011.01.25 VALTRUS INNOVATIONS LTD
  • US7876689B2 patent drawing
  • US7876689B2 patent drawing
  • US7876689B2 patent drawing

AI summary

A method and system for load balancing transmission allocations from a computer system based on network conditions. The system includes at least two network interface adapters that couple to a network and receive network information packets. The system also includes a teaming driver that monitors network information packets for each of the network interface adapters, calculates weights for each of the network interface adapters based on the network information packets and generates a transmission allocation for distributing outgoing packets between the network interface adapters based on the calculated weights.