Multi-Port Traffic Scheduling Using Congestion-Aware Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional congestion control algorithms focus on managing traffic flow between endpoints without considering local load on output ports, while load balancing algorithms on switches do not control when packets arrive, leading to inefficient network utilization and potential congestion.
Innovation Solution
A combined congestion control and load balancing mechanism that optimally spreads traffic across multiple local output ports by considering both local load and end-to-end load, using E2E congestion rates to select less congested routes and adjust egress ports, enabling hardware to send packets with different routing parameters without software intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional congestion control algorithms are used to manage traffic flow between endpoints, then traffic flow management is achieved, but local load on output ports is not considered leading to inefficient network utilization
Solution Approach 1:
The patent combines congestion control and load balancing into a single unified mechanism at the sender device. The congestion control algorithm determines both the transmission rate and the selection of egress ports, merging two previously separate functions (congestion control at endpoints and load balancing at switches) into one integrated system that simultaneously manages traffic flow and distributes load across multiple paths.
Solution Approach 2:
The sender device's congestion control mechanism performs multiple functions: it controls transmission rate to prevent congestion, selects optimal egress ports for load balancing, and adapts to both local port conditions and end-to-end network conditions. This multi-functional approach replaces the need for separate congestion control and load balancing mechanisms.
2Productivity
If load balancing algorithms on switches are used to spread traffic across multiple routes, then traffic distribution is achieved, but control over packet arrival timing is lost
Solution Approach 1:
The sender device performs preliminary actions by pre-calculating and selecting both the transmission timing and the egress port for each packet or packet batch. By determining the optimal send time and port in advance, the mechanism maintains control over packet arrival timing while simultaneously achieving load balancing across multiple routes, rather than letting switches independently decide routing after packets arrive.
3Reliability
If congestion control manages traffic flow at endpoint devices, then traffic rate control is achieved, but local load on output ports is not optimized
Solution Approach 1:
The congestion control mechanism incorporates local quality awareness by monitoring and responding to the load conditions of specific local output ports. The sender device assesses the state of each egress port and adjusts traffic distribution accordingly, giving different treatment to different ports based on their current load conditions, thereby optimizing local port utilization while maintaining reliable traffic flow management.
Data Source
AI summary
Technologies for optimizing the spreading of traffic across multiple local output ports while considering both local load and end-to-end (E2E) load are described. One device has multiple outgoing ports and a network adapter that determines, for a first flow of packets, a first end-to-end (E2E) congestion rate of at least some of the outgoing ports. The network adapter determines a port state of at least some of the outgoing ports. The network adapter receives a first packet associated with the first flow of packets. The network adapter determines, using a first desired rate for the first flow, the first E2E congestion rates, and the port states, i) a first time at which the first packet is to be transmitted and ii) a first outgoing port on which the first packet is to be transmitted. The first packet is sent on the first outgoing port at the first time.


