Hypervisor Component Online Upgrade via Instruction Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for upgrading Hypervisor components in communication devices require significant device resources and disrupt services, as they often necessitate live migration and system restarts, which are not suitable for carrier-class virtualization products that demand high reliability.
Innovation Solution
A method that utilizes a hypercall interface to load an upgrade file into the Hypervisor's address space, replacing instructions in the target function with an interrupt instruction, and upon a breakpoint exception, swaps it with a jump instruction to direct execution to the upgrade function, allowing online upgrades without service migration and resource-intensive processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If live migration technology is used to upgrade Hypervisor components, then system reliability is improved, but device resource occupation increases and service continuity is affected
Solution Approach 1:
The patent extracts the upgrade process from the traditional live migration framework, allowing the Hypervisor component to be upgraded in-place by directly replacing instructions in the running Hypervisor's address space, thereby eliminating the need to migrate services to another device during upgrade
Solution Approach 2:
The patent uses an intermediary mechanism (exception handling and instruction replacement) to facilitate the upgrade process. By inserting interrupt instructions that trigger exceptions, the system can safely replace Hypervisor instructions without causing service disruption, acting as a mediator between the upgrade process and running services
2Reliability
If system restart is performed to upgrade Hypervisor components, then system security is improved, but service continuity deteriorates and upgrade time increases
Solution Approach 1:
The patent performs preliminary actions by loading the upgrade file and replacing instructions with interrupt instructions before actually executing the upgrade logic. This allows the system to prepare the upgrade in advance and execute it atomically, avoiding service interruption
Solution Approach 2:
The patent ensures continuity of useful action by maintaining service operation throughout the upgrade process. The Hypervisor continues to manage virtual machines and handle requests while instructions are being replaced, ensuring no gap in service delivery
3Stability of the object's composition
If component replacement and system restart are used to repair system functions, then system stability is improved, but resource occupation increases and service impact worsens
Solution Approach 1:
The patent introduces dynamics into the upgrade process by using runtime instruction replacement rather than static component replacement. The Hypervisor can be upgraded while dynamically running, with instructions being swapped out and activated on-the-fly through exception mechanisms
Solution Approach 2:
The patent substitutes the mechanical system of physical component replacement and system restart with a software-based instruction replacement mechanism. Instead of physically replacing components or restarting the system, the upgrade is achieved by modifying instruction sequences in memory
Data Source
Figure 1
Figure 2
Figure 3-a
AI summary
A method for upgrading a Hypervisor component and a computer system are disclosed. The method for upgrading a Hypervisor component includes: calling, by a kernel of a virtual machine, a hypercall interface of a Hypervisor, and loading an upgrade file to an address space of the Hypervisor, where the upgrade file is used for upgrading a target function in a Hypervisor component; calling, by the kernel of the virtual machine, the hypercall interface of the Hypervisor, and replacing an instruction at a starting position of the target function in the Hypervisor component that needs to be upgraded with a first interrupt instruction; and if it is judged by an interrupt processing program included in the kernel of the virtual machine that a breakpoint exception is caused by the first interrupt instruction, calling, by the kernel of the virtual machine, the hypercall interface of the Hypervisor, and replacing the first interrupt instruction with a jump instruction that is required for the upgrade, so as to upgrade the target function in the Hypervisor component that needs to be upgraded to the upgrade function. With the technical solutions in the embodiments of the present invention, a device resource that upgrading the Hypervisor component needs to occupy can be reduced, and an impact caused by the upgrade on a service can be mitigated.