Libvirt Hot Upgrade via Process State Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for updating libvirt software require restarting the libvirtd process, leading to temporary unavailability of virtual machine management functions and interruptions during the updating process.

Innovation Solution

A method involving the installation of a new libvirt software version, where virtual machine status information from a first process running on an old version is imported into a second process running on the new version, and the second process is started while maintaining a connection with a machine emulator, allowing the first process to exit without interrupting service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the libvirtd process is restarted after installing the new version of software, then the libvirt software can be updated to the new version, but the relevant functions of the libvirt software become unavailable during the restart period

Engineering Contradiction:
Improveavailability of virtual machine management functionsVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a new libvirtd process running on the new software version before stopping the old process. The new process is prepared in advance with all necessary configurations and connections, so that when it becomes active, the transition is seamless and no functional time is lost.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic transition where multiple libvirtd processes (old and new versions) can coexist temporarily. The system dynamically switches from the old process to the new process, allowing the update to occur without complete service interruption by maintaining process flexibility during the transition period.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the libvirtd process is restarted to update the software version, then the new version can be applied, but the virtual machine creation and management functions are interrupted

Engineering Contradiction:
Improvesoftware version update capabilityVSAvoidvirtual machine management efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system prepares the new libvirtd process in advance with all necessary virtual machine status information and connections established before the old process is stopped. This preliminary preparation ensures that virtual machine management functions remain available throughout the update process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary mechanism where the new libvirtd process acts as a bridge during the version transition. The new process imports virtual machine status information from the old process and maintains connections with machine emulators, serving as a seamless intermediary that preserves productivity during the software update.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the libvirtd process is stopped and restarted for software updating, then the software version is updated, but the service availability is reduced

Engineering Contradiction:
Improveservice continuityVSAvoidprocess running time
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The new libvirtd process is created and configured in advance while the old process continues to run. All necessary preparations including importing virtual machine status and establishing emulator connections are completed before the old process is stopped, ensuring continuous service availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuous useful action by maintaining the libvirtd service throughout the update process. The new process is prepared in parallel with the old process running, and the transition is made smoothly so that the service function continues without interruption, preserving both reliability and running time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10466999B2Software hot upgrading method and device
Publication Date: 2019.11.05 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US10466999B2 patent drawing
  • US10466999B2 patent drawing
  • US10466999B2 patent drawing

AI summary

After installation of new version of application such as a program that manages virtualization host is completed; virtual machine status information of a currently running first process of the application is imported to a second process of the application. The second process is initialized to establish a connection between the second process and a process of a machine emulator such as QEMU and the first process exits. Compared with the conventional techniques, since installation of the new version of the application has been completed after the new second process is initialized, the second process already runs based on the new version of software codes. Meanwhile, the virtual machine status information of the second process has been updated to conform to the first process before initiation, so that application-related functions are realized through the correct second process and thus interruption of the application-related functions is avoided during an upgrading process.