IP Library › Granted Patent US 12,474,947
Granted Patent B2
US 12,474,947 · App. 17/783,417 · Granted Nov 18, 2025

Virtual machine deployment and hot-migration methods, VMM upgrade method, and server

Inventors: Min Zhang (Shenzhen, CN); Yi Liu (Shenzhen, CN); Yi Li (Shenzhen, CN)
Assignee: ZTE CORPORATION
G06F9/45558G06F12/10G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,474,947
App. No.
17/783,417
Granted
Nov 18, 2025
Kind
B2
Abstract

A virtual machine deployment method, a virtual machine live migration method, a VMM upgrading method, a server, and a computer-readable storage medium are disclosed. The virtual machine deployment method includes: establishing mapping between a host virtual address (HVA) space for a post-upgrading virtual machine and a host physical address (HPA) space for a pre-upgrading virtual machine according to a mapping relationship between a HVA space for the pre-upgrading virtual machine and the HPA space for the pre-upgrading virtual machine. The post-upgrading virtual machine is deployed on a post-upgrading virtual machine monitor (VMM), and the post-upgrading virtual machine is identical in memory configuration with the pre-upgrading virtual machine running on a pre-upgrading VMM (S 110 ).

Claims (52)

1 . A virtual machine deployment method, comprising:

establishing mapping between a host virtual address (HVA) space for a post-upgrading virtual machine and a host physical address (HPA) space for a pre-upgrading virtual machine according to a mapping relationship between a HVA space for the pre-upgrading virtual machine and the HPA space for the pre-upgrading virtual machine, wherein

the post-upgrading virtual machine is deployed on a post-upgrading virtual machine monitor (VMM), and

the post-upgrading virtual machine is identical in memory configuration with the pre-upgrading virtual machine running on a pre-upgrading VMM;

wherein establishing mapping between a host virtual address (HVA) space for a post-upgrading virtual machine and a host physical address (HPA) space for a pre-upgrading virtual machine according to a mapping relationship between a HVA space for the pre-upgrading virtual machine and the HPA space for the pre-upgrading virtual machine comprises:

determining a sequence and a sequence number of a page table entry of each of physical memory pages in the HPA space for the pre-upgrading virtual machine; and

reversely mapping each of the physical memory pages to a corresponding virtual memory page of the HVA space for the post-upgrading virtual machine according to a corresponding relationship between the page table entry of each of the physical memory pages and the sequence number;

wherein determining a sequence and a sequence number of a page table entry of each of physical memory pages in the HPA space for the pre-upgrading virtual machine comprises:

obtaining a first entry address of the HVA space for the post-updating virtual machine;

determining a page address offset of the virtual memory page of the HVA space for the pre-upgrading virtual machine corresponding to each of the physical memory pages relative to the first entry address; and

determining a magnitude sequence of the page address offset as the sequence of the page table entry of each of the physical memory pages, and determining the page address offset as the sequence number of the page table entry of the corresponding physical memory page;

wherein reversely mapping each of the physical memory pages to a corresponding virtual memory page of the HVA space for the post-upgrading virtual machine according to a corresponding relationship between the page table entry of each of the physical memory pages and the sequence number comprises:

obtaining a third entry address of the HVA space for the post-updating the virtual machine;

sending signaling to the post-upgrading VMM, so as to set a VCPU of the post-upgrading virtual machine into a running state; and

reversely mapping the physical memory pages to target virtual memory pages according to page-fault address offsets generated by a page fault interrupt, wherein the target virtual memory pages are the virtual memory pages of the HVA space for the post-upgrading virtual machine, the sequence numbers of the page table entries of the physical memory pages are equal to the page-fault address offsets, and page address offsets of the target virtual memory pages relative to the third entry address are equal to the page-fault address offsets.

2 . The virtual machine deployment method of claim 1 , wherein reversely mapping each of the physical memory pages to a corresponding virtual memory page of the HVA space for the post-upgrading virtual machine according to a corresponding relationship between the page table entry of each of the physical memory pages and the sequence number comprises:

obtaining a second entry address of the HVA space for the post-updating the virtual machine; and

reversely mapping each of the physical memory pages to a virtual memory page of the HVA space for the post-upgrading virtual machine with the second entry address as a starting point according to the sequence of increment of the sequence numbers, wherein the page address offset of the virtual memory page corresponding to each of the physical memory pages relative to the second entry address is equal to the sequence number corresponding to the page table entry of the physical memory page.

3 . The virtual machine deployment method of claim 2 , wherein before reversely mapping each of the physical memory pages to a virtual memory page of the HVA space for the post-upgrading virtual machine with the second entry address as a starting point according to the sequence of increment of the sequence numbers, the virtual machine deployment method further comprises:

sending signaling to the post-upgrading VMM, so as to set a Virtual Central Processing Unit (VCPU) of the post-upgrading virtual machine into a suspended state.

4 . The virtual machine deployment method of claim 1 , wherein after reversely mapping the physical memory pages to target virtual memory pages according to page-fault address offsets generated by a page fault interrupt, the virtual machine deployment method further comprises:

judging whether a number of the physical memory pages to be reversely mapped to the virtual memory pages of the HVA space for the post-upgrading virtual machine is less than a predetermined threshold;

in response to that the number of the physical memory pages to be reversely mapped to the virtual memory pages of the HVA space for the post-upgrading virtual machine is less than the predetermined threshold, sending signaling to the post-upgrading VMM, so as to set the VCPU of the post-upgrading virtual machine into the suspended state; and

reversely mapping the physical memory pages to be reversely mapped to the virtual memory pages of the HVA space for the post-upgrading virtual machine to the virtual memory pages of the HVA space for the post-upgrading virtual machine, wherein the page address offset of the virtual memory page corresponding to each of the physical memory pages relative to the third entry address is equal to the sequence number corresponding to the page table entry of the physical memory page.

5 . The virtual machine deployment method of claim 1 , wherein determining the sequence of the page table entry of each of the physical memory pages comprises:

obtaining the sequence number of the virtual memory page of the HVA space for the pre-upgrading virtual machine corresponding to each of the physical memory pages in a memory slot (MS) of the pre-upgrading virtual machine; and

determining a magnitude sequence of the sequence number as the sequence of the page table entry of each of the physical memory pages, and determining the sequence number as the sequence number of the page table entry of the corresponding physical memory page.

6 . The virtual machine deployment method of claim 1 , wherein after reversely mapping each of the physical memory pages to a corresponding virtual memory page of the HVA space for the post-upgrading virtual machine according to a corresponding relationship between the page table entry of each of the physical memory pages and the sequence number, the virtual machine deployment method further comprises:

creating a multi-level page table for the physical memory pages reversely mapped to the virtual memory pages of the HVA space for the post-upgrading virtual machine.

7 . The virtual machine deployment method of claim 1 , wherein before establishing mapping between a host virtual address (HVA) space for a post-upgrading virtual machine and a host physical address (HPA) space for a pre-upgrading virtual machine according to a mapping relationship between a HVA space for the pre-upgrading virtual machine and the HPA space for the pre-upgrading virtual machine, the virtual machine deployment method further comprises:

judging whether a memory slot (MS) for the post-upgrading virtual machine is consistent with a MS for the pre-upgrading virtual machine; and

in response to being not consistent, copying the MS for the pre-upgrading virtual machine to the post-upgrading virtual machine.

8 . A virtual machine live migration method, comprising:

executing the virtual machine deployment method of claim 1 , so as to map the HPA space for the pre-upgrading virtual machine to the HVA space for the post-upgrading virtual machine; and

sending signaling to the post-upgrading VMM, so as to set a VCPU of the post-upgrading virtual machine into a running state, wherein an HPA space for the post-upgrading virtual machine is the HPA space for the pre-upgrading virtual machine.

9 . A VMM upgrading method, comprising:

deploying a post-upgrading VMM onto a host;

starting a pre-upgrading VMM and a post-upgrading VMM on the host at the same time;

executing the virtual machine live migration method of claim 8 , so as to migrate the pre-upgrading virtual machine running on the pre-upgrading VMM to the post-upgrading virtual machine running on the post-upgrading VMM; and

deleting the pre-upgrading VMM.

10 . A server, configured as a host for a virtual machine, comprising:

a memory module, storing an application program; and

one or more processors, wherein the application program, when executed by the one or more processors, causes the one or more processors to carry out the virtual machine deployment method of claim 1 .

11 . A non-transitory computer-readable storage medium storing an executable program which, when executed, carries out the virtual machine deployment method of claim 1 .

12 . A server, configured as a host for a virtual machine, comprising:

a memory module, storing an application program; and

one or more processors, wherein the application program, when executed by the one or more processors, causes the one or more processors to carry out the virtual machine live migration method of claim 8 .

13 . A server, configured as a host for a virtual machine, comprising:

a memory module, storing an application program; and

one or more processors, wherein the application program, when executed by the one or more processors, causes the one or more processors to carry out the VMM upgrading method of claim 9 .

14 . A non-transitory computer-readable storage medium storing an executable program which, when executed, carries out the virtual machine live migration method of claim 8 .

15 . A non-transitory computer-readable storage medium storing an executable program which, when executed, carries out the VMM upgrading method of claim 9 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2022
From: ZHANG, MIN; LIU, YI; LI, YI
To: ZTE CORPORATION
Reel/Frame 060138/0123 →
Priority Claims (1)
CN 201911355638.6 · Dec 25, 2019 · national
Continuity (1)
Related Publication 20230009596A1 · Jan 12, 2023
References Cited (24)
US 20110276741A1 · Subrahmanyam et al. · 2011 [cited by applicant]
US 20110314203A1 · Chen et al. · 2011 [cited by applicant]
US 20170371691A1 · Gunti et al. · 2017 [cited by applicant]
US 20180060117A1 · Maskalik et al. · 2018 [cited by applicant]
US 20190057040A1 · Jiang · 2019 [cited by examiner]
US 20190114197A1 · Gong · 2019 [cited by applicant]
US 20190370049A1 · Gopalan · 2019 [cited by applicant]
US 20200174814A1 · Saxena · 2020 [cited by examiner]
US 20220156106A1 · Zhang · 2022 [cited by examiner]
CN 103942087A · 2014 [cited by applicant]
CN 104598303A · 2015 [cited by applicant]
CN 104636181A · 2015 [cited by applicant]
CN 106354543A · 2017 [cited by applicant]
CN 107168769A · 2017 [cited by applicant]
CN 107278292A · 2017 [cited by applicant]
CN 108037980A · 2018 [cited by applicant]
International Searching Authority. International Search Report and Written Opinion for PCT Application No. PCT/CN2020/133341 and English translation, mailed Mar. 3, 2021, pp. 1-10. [cited by applicant]
Hao, J., “Research on Embedded Hypervisor Memory Virtualization Method,” Aeronautical Computing Technique, vol. 47, No. 2, Mar. 2017, pp. 125-130. [cited by applicant]
Liu, H., et al. “Live Virtual Machine Migration via Asynchronous Replication and State Synchronization,” IEEE Transactions on Parallel and Distributed Systems, vol. 22, 1999, pp. 1-15. [cited by applicant]
The State Intellectual Property Office of People's Republic of China. First Office Action for CN Application No. 201911355638.6 and English translation, mailed Aug. 8, 2024, pp. 1-12. [cited by applicant]
The State Intellectual Property Office of People's Republic of China. Search Report for CN Application No. 201911355638.6 and English translation, mailed Aug. 7, 2024, pp. 1-6. [cited by applicant]
Zhang, S., et al. “A Security Protection Model for Virtualization Based on Memory Introspection,” Journal of Beijing University of Posts and Telecommunications, vol. 40, Jun. 2017, pp. 44-47. [cited by applicant]
Anonymous. “The x86 kvm shadow mmu,” Nov. 25, 2012, https://web.archive.org/web/2012112508 5511/http://kernel.org:80/doc/Documentation/virtual/kvm/nunu.txt. [cited by applicant]
European Patent Office. Extended European Search Report for EP Application No. 20905775.1, mailed Jan. 2, 2023, pp. 1-9. [cited by applicant]