Hot Plugging Virtual Bridges in vPCI Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing virtual machine systems are unable to dynamically add virtual buses during runtime due to a fixed virtual-bus maximum determined at startup, preventing hot plugging of virtual bridges and requiring frequent reboots to expand the PCI system.

Innovation Solution

A hypervisor sets a capability property in the vPCI configuration space to reserve additional virtual buses, allowing the virtual machine to increase subordinate-bus numbers and enable hot plugging of virtual bridges by assigning unused bus numbers to new bridges during runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the virtual-bus maximum is determined at startup time, then the system stability is improved, but the adaptability deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic adjustment of the virtual-bus maximum by introducing a reservation mechanism. The hypervisor reserves additional bus numbers that can be dynamically allocated to virtual bridges during runtime through hot plugging, transforming the static virtual-bus maximum into a dynamic value that can adapt to changing system requirements while maintaining overall system stability.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If the virtual-bus maximum is fixed, then the device complexity is reduced, but the adaptability deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidadaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by having the hypervisor pre-reserve additional bus numbers during system initialization. This reservation creates a pool of available bus numbers that can be quickly allocated to virtual bridges during runtime without requiring complex dynamic allocation algorithms, thus maintaining relatively simple device complexity while enabling hot plugging adaptability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If virtual bridges cannot be hot plugged, then the system reliability is improved, but the ease of operation deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism where the hypervisor acts as a mediator between the virtual machine and the PCI system. The hypervisor manages the reservation and allocation of bus numbers, handling the complexity of hot plugging operations while presenting a simplified interface to the virtual machine, thus improving ease of operation without compromising system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If virtual bridges cannot be hot plugged, then the loss of time is reduced, but the productivity deteriorates

Engineering Contradiction:
Improvereboot timeVSAvoidproductivity
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent enables dynamic expansion of the PCI system through hot plugging of virtual bridges during runtime. This eliminates the need for system reboots when adding virtual buses, reducing time loss while simultaneously improving productivity by allowing the system to adapt to changing computational requirements without interruption.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10467173B2Hot plugging of virtual bridges in a virtual PCI system
Publication Date: 2019.11.05 RED HAT ISRAEL
  • US10467173B2 patent drawing
  • US10467173B2 patent drawing
  • US10467173B2 patent drawing

AI summary

Some examples can enable virtual bridges to be hot plugged into a virtual Peripheral Component Interconnect (vPCI) system. For example, a number of subordinate buses that are connected to a vPCI bridge in the vPCI system can be determined. The vPCI system can be for a virtual machine. A parameter value can then be generated by adding an integer to the number of subordinate buses that are connected to the vPCI bridge. The integer can be a predefined number of additional subordinate buses to enable to be connected to the vPCI bridge. The parameter value can then be assigned to the vPCI bridge. This may enable additional virtual bridges to be hot plugged into the vPCI system at a later time. For example, a new virtual bridge can be added to the vPCI system using the parameter value for the vPCI bridge.