Virtual Switch Identifies VM Congestion Control Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current congestion control methods in datacenter networks are challenging to implement at a datacenter level due to the localized nature of congestion control within virtual machines (VMs), making it difficult to manage East-West traffic congestion effectively, especially since VMs may not implement consistent or optimal congestion control algorithms, and changes to the TCP/IP stack can affect congestion control functionality unpredictably.

Innovation Solution

A virtual switch-based congestion control system that computes congestion window values using various algorithms to match the number of packets in flows, allowing for datacenter-level congestion control by determining the type of congestion control algorithm used by VMs and enforcing datacenter-level policies without requiring changes to the VMs, using features like Explicit Congestion Notification (ECN) and flow parameter analysis to apply different congestion controls to different flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If congestion control is implemented locally within VMs using TCP/IP stack, then each VM can independently manage its own traffic, but datacenter-level congestion control becomes difficult to implement and manage

Engineering Contradiction:
Improvecongestion control adaptabilityVSAvoiddatacenter-level control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtual switch as an intermediary component between VMs and the physical network. The virtual switch monitors packet flows from multiple VMs, computes congestion window values using various algorithms, and enforces datacenter-level congestion control policies without requiring changes to the VMs themselves. This mediator approach resolves the contradiction by maintaining VM independence while enabling centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If different congestion control algorithms are used in different VMs, then each VM can optimize for its specific workload, but consistent and optimal congestion control across the datacenter cannot be ensured

Engineering Contradiction:
Improvecongestion control algorithm varietyVSAvoidcongestion control consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The virtual switch is designed to support multiple congestion control algorithms (e.g., TCP Reno, TCP Cubic, BBR) within a single system. It can compute congestion window values using different algorithms based on flow characteristics and enforce unified datacenter-level policies across all VMs. This multi-functional approach allows the system to adapt to different workloads while maintaining consistent control standards.

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

Solution Approach 2:

The patent applies different congestion control algorithms to different flows based on their specific characteristics. The virtual switch analyzes flow parameters and selects appropriate algorithms for each flow, enabling localized optimization while maintaining overall datacenter consistency through centralized policy enforcement.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If VMs implement their own congestion control, then individual flow management is possible, but East-West traffic congestion cannot be effectively managed at datacenter level

Engineering Contradiction:
Improveindividual flow managementVSAvoidEast-West traffic efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The virtual switch acts as a mediator that preserves individual flow management capabilities while enabling effective East-West traffic control. It monitors packet flows between VMs, computes appropriate congestion window values, and enforces datacenter-level policies on East-West traffic without interfering with VM autonomy or individual flow management.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If TCP/IP stack changes are made to improve congestion control, then congestion control functionality can be enhanced, but unpredictable effects on network behavior may occur

Engineering Contradiction:
Improvecongestion control functionalityVSAvoidTCP/IP stack modification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments congestion control functionality into two independent parts: the VM's TCP/IP stack handles local congestion control, while the virtual switch handles datacenter-level congestion control. This segmentation allows congestion control enhancement without modifying the TCP/IP stack, avoiding unpredictable effects while maintaining reliable congestion control through the virtual switch's algorithm-based approach.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10833996B2Identifying a local congestion control algorithm of a virtual machine
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10833996B2 patent drawing
  • US10833996B2 patent drawing
  • US10833996B2 patent drawing

AI summary

At an application executing in conjunction with a vSwitch in a host system, using a processor assigned to the vSwitch in the host system, a flow of a number of packets is received from a VM. At the application, a set of CWND values is computed using a corresponding set of congestion control algorithms. At the application, a determination is made whether any of the CWND values in the set of CWND values match the number of packets in the flow within a tolerance value. In response to a CWND value in the set of CWND matching the number of packets in the flow within the tolerance value, a conclusion is drawn that a type of the congestion control algorithm which computed the matching CWND value is the type of a local congestion control algorithm implemented within the VM.