Virtual Switch Congestion Control for TCP Flows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current congestion control methods in datacenter networks are inadequate for managing congestion across multiple TCP flows, as they are localized to individual virtual machines and lack the ability to perform datacenter-level congestion control, leading to inefficiencies and potential network bottlenecks.

Innovation Solution

Implementing a virtual switch-based congestion control system that detects congestion in one flow and throttles other flows sharing the same network path or link, using a congestion window adjustment to distribute the throttling value across multiple flows, thereby reducing network congestion without requiring changes to individual virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If congestion control is implemented at the individual virtual machine level using traditional TCP/IP stack methods, then each flow can independently manage its own congestion, but the overall datacenter network congestion cannot be effectively controlled and network bottlenecks occur

Engineering Contradiction:
Improvecongestion control effectivenessVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a virtual switch as an intermediary component between virtual machines and the physical network. The virtual switch monitors network traffic and implements congestion control by adjusting congestion windows of multiple flows simultaneously, enabling datacenter-level congestion management without requiring changes to individual virtual machine operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtual switch performs multiple functions including traditional packet forwarding, flow management, and now congestion control across multiple TCP flows. This multi-functional approach allows a single component to manage network traffic at the datacenter level, improving overall network reliability without sacrificing productivity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If multiple flows share a common network link, then network resource utilization increases, but congestion and packet loss occur when the link capacity is exceeded

Engineering Contradiction:
Improvenetwork resource utilizationVSAvoidpacket loss
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The virtual switch implements feedback-based congestion control by monitoring network conditions and dynamically adjusting the congestion windows of active flows. When congestion is detected on a shared link, the virtual switch reduces the congestion window of affected flows, thereby reducing traffic load and preventing packet loss while maintaining high network resource utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The congestion window values are dynamically adjusted based on real-time network conditions rather than being fixed. The virtual switch continuously monitors link utilization and modifies flow parameters accordingly, enabling the system to adapt to changing traffic patterns and maintain optimal performance without causing congestion-induced packet loss.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If congestion control algorithms are implemented in the operating system TCP/IP stack, then individual flows can be controlled, but datacenter-level congestion control cannot be achieved and different operating systems implement different algorithms

Engineering Contradiction:
Improvecongestion control algorithm flexibilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The virtual switch serves as a centralized intermediary that implements a unified congestion control algorithm for all flows passing through it, regardless of the operating system of the virtual machines. This eliminates the need for each OS to implement its own congestion control algorithm while still providing adaptive congestion management at the datacenter level.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges the congestion control function from the distributed OS level into a centralized virtual switch. By combining multiple flow control operations into a single management point, the system achieves datacenter-level congestion control with a unified algorithm, reducing architectural complexity while maintaining adaptability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10531332B2Virtual switch-based congestion control for multiple TCP flows
Publication Date: 2020.01.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10531332B2 patent drawing
  • US10531332B2 patent drawing
  • US10531332B2 patent drawing

AI summary

At an application executing in conjunction with a vSwitch a determination is made that a first flow from a first VM is experiencing congestion. The first flow is selected for throttling. a second flow is also selected for throttling, the second flow using a portion of a network path used by the first flow in a data network. At the application, a total CWND adjustment is distributed between the first flow and the second flow. A first CWND value associated with the first flow is adjusted by a first portion of the total CWND window, and a second CWND value associated with the second flow is adjusted by a second portion of the total CWND window.