Hierarchical Network Bandwidth Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional packet schedulers in virtual computing environments struggle to manage network bandwidth effectively, especially in scenarios where available bandwidth is low or fluctuates, due to increased resource consumption and saturation of physical NICs, leading to a need for improved scheduling techniques.

Innovation Solution

A Quality of Service (QoS) model with hierarchical allocation, minimum guarantees, maximum limits, and prioritized allocation of spare bandwidth based on weights or shares is implemented, using a node hierarchy to allocate network bandwidth to virtual machines or other consumers, ensuring efficient packet scheduling through queuing and tracking data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional packet schedulers use QoS model with weight-based allocation, then guaranteed throughput can be provided for each VM, but the weights need to be adjusted when available network bandwidth is low or fluctuates

Engineering Contradiction:
Improveguaranteed throughputVSAvoidbandwidth allocation management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments bandwidth allocation into hierarchical levels (root node, intermediate nodes, leaf nodes) where each level can independently manage bandwidth. This segmentation allows the system to provide guaranteed throughput at each level while automatically adapting to bandwidth fluctuations without requiring manual weight adjustments across the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic bandwidth allocation where the packet scheduler continuously monitors available network bandwidth and adjusts allocation in real-time. The system transitions from static weight-based allocation to dynamic allocation that automatically responds to bandwidth conditions, eliminating the need for manual weight adjustments while maintaining guaranteed throughput.

Inventive Principle:
Principle #15Dynamics

2Productivity

If consolidation ratios per server are increased, then cost is reduced and utilization is increased, but physical NIC saturation occurs more frequently

Engineering Contradiction:
Improveserver utilizationVSAvoidnetwork bandwidth availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a hierarchical dimension to bandwidth allocation, moving from flat weight-based allocation to a multi-level hierarchy. This dimensional change enables the system to manage increased consolidation ratios by providing structured bandwidth guarantees at each hierarchical level, preventing NIC saturation even as server utilization increases.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If network bandwidth is over-provisioned, then packet scheduling is simpler and latency guarantees are easier to meet, but resource utilization is lower and cost is higher

Engineering Contradiction:
Improvepacket scheduling simplicityVSAvoidunused network bandwidth
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent implements self-service bandwidth allocation where the hierarchical packet scheduler automatically monitors network conditions and adjusts bandwidth distribution without external intervention. The system serves itself by detecting bandwidth availability and reallocating resources dynamically, eliminating the need for over-provisioning while maintaining simple operation and meeting latency guarantees.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9019826B2Hierarchical allocation of network bandwidth for quality of service
Publication Date: 2015.04.28 VMWARE INC
  • US9019826B2 patent drawing
  • US9019826B2 patent drawing
  • US9019826B2 patent drawing

AI summary

Network bandwidth is allocated to virtual machines (VMs) according to a node hierarchy that includes a root node, intermediate nodes, and leaf nodes, wherein each leaf node represents a queue of packet transmission requests from a VM and each intermediate node represents a grouping of leaf queues. As VMs generate requests to transmit packets over the network, the network bandwidth is allocated by queuing packets for transmission in the leaf nodes, and selecting a leaf node from which a packet is to be transmitted based on tracking data that represent how much network bandwidth has been allocated to the nodes. Upon selecting the leaf node, the tracking data of the selected leaf node and the tracking data of an intermediate node that is a parent node of the selected leaf node are updated, and a command to transmit the packet of the selected leaf node is issued.