Hot-plugging Virtual Functions in Virtualized Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, the virtualization manager often faces challenges when there are no available SR-IOV virtual functions for virtual machines, leading to errors and adverse effects on client applications due to the inability to identify or allocate virtual functions for network interfaces.

Innovation Solution

The system implements techniques to hot-plug SR-IOV virtual functions by creating new virtual functions, migrating virtual machines to hosts with available resources, or utilizing virtual bridges to provide network connectivity, allowing for dynamic allocation and management of virtual functions without disrupting the virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the virtualization manager allocates SR-IOV virtual functions to virtual machines, then network performance and CPU utilization are improved, but the system becomes unable to accommodate new virtual machines when all virtual functions are exhausted

Engineering Contradiction:
Improvenetwork performanceVSAvoidability to allocate virtual functions
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic virtual function allocation by enabling hot-plug capability that allows virtual functions to be allocated to virtual machines during runtime without system shutdown. The virtualization manager dynamically monitors virtual function availability and performs reallocation operations, transforming the static allocation model into a dynamic one that adapts to changing system conditions and resource availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by pre-configuring virtual function pools and establishing hot-plug readiness before virtual machines need resources. The virtualization manager maintains a pool of available virtual functions and prepares allocation mechanisms in advance, so when virtual machines require network resources, the allocation can occur immediately without disruption to system operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system creates new virtual functions dynamically, then virtual machine continuity is maintained, but system complexity increases due to hot-plug management

Engineering Contradiction:
Improvevirtual machine continuityVSAvoidhot-plug management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization manager as an intermediary layer between the physical network resources and virtual machines. This manager handles the complexity of hot-plug operations, virtual function creation, and allocation decisions, shielding individual virtual machines from the underlying complexity. The intermediary coordinates resource allocation, manages state transitions, and ensures system consistency during dynamic reconfiguration events.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service capabilities where the virtualization manager autonomously monitors virtual function availability, detects when allocation is needed, and performs hot-plug operations without manual intervention. The system automatically manages the lifecycle of virtual functions including creation, assignment, and deallocation, reducing operational complexity through automation while maintaining virtual machine continuity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11061712B2Hot-plugging of virtual functions in a virtualized environment
Publication Date: 2021.07.13 RED HAT ISRAEL
  • US11061712B2 patent drawing
  • US11061712B2 patent drawing
  • US11061712B2 patent drawing

AI summary

Implementations of the disclosure provide for hot-plugging of virtual functions in a virtualized environment. In one implementation, a computer system determines that virtual functions associated with a logical network for a virtual machine hosted on a first host system are unavailable on the first host system, identifies a logical network device on a second host system that is communicably accessible from the first host system, and determines that the logical network device on the second host system has a number of available virtual functions associated with the logical network. The computer system then migrates the virtual machine from the first host computer system to the second host computer system to allow the virtual machine to access the number of available virtual functions associated with the logical network on the second host system and associates a virtual device of the virtual machine with the number of available virtual functions.