Virtual Switch Identifies VM Congestion Control Algorithm
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


