Virtual Switch Datacenter Congestion Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current congestion control methods in datacenter networks are challenging to implement at a datacenter-level due to their localized nature, often requiring coordination with individual virtual machines (VMs) and lacking visibility into the congestion control mechanisms employed by VMs, which can lead to inefficient traffic management and network congestion.
Innovation Solution
A virtual switch-based congestion control system that computes a congestion window value (CWND) for each flow, allowing for datacenter-level congestion control by modifying response packets to enforce packet limits and using Explicit Congestion Notification (ECN) features, even if VMs do not implement them, thereby managing congestion without altering the VMs' operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If congestion control is implemented at the VM level using TCP/IP stack, then each VM can control its own traffic, but the datacenter lacks centralized visibility and coordination leading to inefficient traffic management
Solution Approach 1:
The virtual switch acts as an intermediary between VMs and the network, intercepting packets before they reach the physical network. It inspects packet headers to identify flow characteristics and implements congestion control at the datacenter level without requiring VMs to be aware of the mechanism. The virtual switch mediates between individual VM congestion control and datacenter-wide congestion management.
Solution Approach 2:
The patent transitions from local (VM-level) congestion control to a global (datacenter-level) perspective by introducing a virtual switch layer that operates above the VM level. This dimensional shift enables centralized visibility into all flows passing through the datacenter while preserving VM-level operation through transparent packet inspection and modification.
2Reliability
If the virtual switch modifies response packets to enforce packet limits, then datacenter-level congestion control is achieved, but packet transmission is restricted
Solution Approach 1:
The virtual switch dynamically adjusts congestion window values and packet transmission parameters based on real-time network conditions. By modifying the congestion window parameter in response packets, it controls the number of packets a VM can transmit without causing congestion, thereby balancing reliability and productivity through adaptive parameter adjustment rather than fixed restrictions.
Solution Approach 2:
The system implements feedback mechanisms where the virtual switch monitors network conditions and adjusts packet transmission limits accordingly. Response packets containing congestion window information provide feedback to VMs, enabling them to automatically adjust their transmission behavior. This closed-loop feedback ensures congestion control effectiveness while maintaining optimal packet transmission efficiency under varying network conditions.
3Reliability
If Explicit Congestion Notification features are used, then network management is improved, but compatibility issues arise when VMs do not implement these features
Solution Approach 1:
The virtual switch serves as an intermediary that implements ECN functionality even when VMs do not support it. It inspects packets, sets congestion bits when necessary, and modifies response packets to convey congestion information back to senders. This mediator approach enables ECN-based congestion control at the datacenter level while maintaining compatibility with VMs that lack native ECN support.
Solution Approach 2:
The patent segments the congestion control functionality into two parts: ECN implementation at the virtual switch level and optional ECN support at the VM level. By separating these functions, the system can leverage ECN features for improved network management where available while falling back to alternative congestion control mechanisms where VMs do not implement ECN, thus maintaining versatility across different VM configurations.
Data Source
AI summary
At an application executing in conjunction with a vSwitch in a host system, a CWND value is computed corresponding to a flow from a VM using a period measured by a timer and a number of packets of the flow received and acknowledged in response packets, the number being counted by a counter, the timer being associated with a packet of the flow. The CWND value is stored in a field in a response packet received from a receiver of the flow, the field being designated for carrying a RWND value, the response packet corresponding to a packet in the flow. The storing forms a modified response packet.


