Dynamic Network Traffic Throttling via Queue Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant network environments, conventional systems face challenges in managing shared resources like network interface cards (NICs), leading to unfair resource allocation and increased latency due to the inability to accurately track and manage network traffic from virtual machines, resulting in performance degradation for peers.
Innovation Solution
Intelligent network traffic control software that monitors packet transmission and behavior across virtual machines, dynamically adjusts queue allocation, and throttles resource usage to ensure fairness and minimize latency by tracking pending packets and their sources, even without explicit acknowledgments from the NIC.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If conventional fairness approaches are used to manage shared network resources, then resource allocation is simplified, but network latency increases due to inability to track and manage individual virtual machine traffic
Solution Approach 1:
The system implements feedback mechanisms by monitoring packet transmission from virtual machines and using this information to dynamically adjust queue allocation. The network traffic control software tracks pending packets and their sources, providing feedback loops that enable dynamic resource management to reduce latency while maintaining fairness.
Solution Approach 2:
The patent applies dynamics by making queue allocation adjustable rather than fixed. The system dynamically adjusts queue depth and resource allocation based on real-time traffic patterns and virtual machine behavior, allowing the system to adapt to changing conditions and optimize latency performance.
2Reliability
If throughput is throttled to constrain misbehaving peers, then resource fairness is improved, but system performance slows down increasing latency for all peers
Solution Approach 1:
The system applies local quality by treating different virtual machines differently based on their individual traffic patterns and behavior. Rather than applying uniform throttling, the system monitors and manages each peer's queue allocation individually, allowing fair resource distribution while maintaining overall system performance and throughput.
Solution Approach 2:
The patent uses dynamics to enable adjustable queue depth and resource allocation for each virtual machine. This dynamic management allows the system to optimize fairness by monitoring actual traffic patterns and adjusting allocations in real-time, preventing both over-constraint and under-constraint of resources.
3Productivity
If queue depth is increased to maintain throughput, then data transmission capacity is improved, but cross-VM latency impact increases due to larger buffers
Solution Approach 1:
The system dynamically adjusts queue depth based on real-time monitoring of virtual machine traffic patterns. By making queue depth adjustable rather than fixed, the system can optimize the balance between maintaining throughput and minimizing cross-VM latency impact, adapting queue sizes to actual workload conditions.
Solution Approach 2:
The patent applies parameter changes by monitoring packet transmission and using this information to adjust queue depth as a variable parameter. The system changes queue depth based on observed virtual machine behavior, allowing optimization of both throughput and latency performance by adapting this critical parameter to real-time conditions.
Data Source
AI summary
Information about the transmission of packets or other information can be inferred based at least in part upon the state of one or more queues used to transmit that information. In a networking example, a hook can be added to a free buffer API call from a queue of a NIC driver. When a packet is transmitted and a buffer freed, the hook can cause information for that packet to be transmitted to an appropriate location, such as a network traffic control component or control plane component, whereby that information can be compared with packet, source, and other such information to infer which packets have been transmitted, which packets are pending, and other such information. This information can be used for various purposes, such as to dynamically adjust the allocation of a resource (e.g., a NIC) to various sources based at least in part upon the monitored behavior.


