Flowlet-Based Network Congestion Control via Centralized Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network congestion control methods operate at the packet level, leading to slow convergence to optimal network resource allocation in datacenter networks due to distributed decision-making among endpoints, resulting in suboptimal resource utilization and increased latency.

Innovation Solution

Implementing a flowlet-based congestion control approach that computes optimal rates for active flowlets and updates them dynamically as flowlets enter or leave the network, using a logically centralized allocator that receives notifications of flowlet start and end events, and applies a modified Newton-like method for network utility maximization to optimize flow rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If packet-level congestion control is used with distributed decision-making among endpoints, then network resource allocation can be implemented, but convergence to optimal allocation is slow and rate fluctuations occur continuously

Engineering Contradiction:
Improveconvergence speed to optimal allocationVSAvoiddistributed decision-making complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a centralized network resource allocator as an intermediary between endpoints and network resources. This allocator receives flowlet notifications from endpoints, computes optimal rates using network utility maximization, and sends rate update notifications back to endpoints. This intermediary structure replaces the complex distributed decision-making at packet level with centralized flowlet-level control, achieving faster convergence and reduced rate fluctuations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If packet-by-packet rate adjustment is implemented at endpoints, then network feedback can be responded to, but tail packet delays increase due to continuous rate fluctuations

Engineering Contradiction:
Improvenetwork feedback responseVSAvoidtail packet delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the continuous stream of packets into discrete flowlet units for congestion control purposes. Each flowlet is treated as a single controllable entity rather than individual packets. The allocator computes a single rate for each flowlet based on network conditions, and this rate is applied to the entire flowlet. This segmentation approach maintains network feedback responsiveness while eliminating the harmful continuous rate fluctuations that cause tail packet delays.

Inventive Principle:
Principle #1Segmentation

3Productivity

If flowlet-based congestion control with centralized allocation is used, then convergence to optimal rates is fast, but system complexity increases due to centralized allocator

Engineering Contradiction:
Improvenetwork resource utilization efficiencyVSAvoidcentralized allocator complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the fundamental parameters of congestion control from packet-level to flowlet-level operations. By defining flowlets as sequences of packets bounded by idle periods or inter-arrival time thresholds, the system transforms the granularity of control. This parameter change enables the centralized allocator to compute rates less frequently (at flowlet boundaries rather than every packet), reducing computational complexity while maintaining fast convergence and high resource utilization efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10348600B2Controlling flow rates of traffic among endpoints in a network
Publication Date: 2019.07.09 CISCO TECHNOLOGY INC
  • US10348600B2 patent drawing
  • US10348600B2 patent drawing
  • US10348600B2 patent drawing

AI summary

Among other things, flow rates of traffic among endpoints in a network are controlled. Notifications are received about flowlets originating or received at the endpoints. Each of the flowlets includes one or more packets that are in a queue associated with a corresponding flowlet. In response to the received notifications, updated flow rates are computed for the flowlets. The updated flow rates are sent to devices for use in controlling flow rates for the flowlets in accordance with the computed updated flow rates.