IP Library › Granted Patent US 11,307,888
Granted Patent B2
US 11,307,888 · App. 16/801,761 · Granted Apr 19, 2022

Managing host hardware configuration for virtual machine migration

Inventor: Michael Tsirkin (Lexington, MA)
Assignee: Red Hat, Inc.
G06F9/45558G06F9/44505G06F9/5027G06F9/54G06F2009/4557G06F2009/45575G06F2009/45595
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 11,307,888
App. No.
16/801,761
Granted
Apr 19, 2022
Kind
B2
Abstract

Systems and methods of the disclosure include: receiving, by a destination host computer system, a source hardware configuration data structure describing a hardware configuration of a source host computer system; receiving at least a part of a state of a virtual machine being migrated from the source host computer system to the destination host computer system; generating a destination hardware configuration data structure describing a hardware configuration of the destination host computer system; starting the virtual machine on the destination host computer system; comparing the source host configuration data structure and the destination host configuration data structure; responsive to detecting a difference between the source host configuration data structure and the destination host configuration data structure, notifying the virtual machine of a hardware configuration change; receiving, from the virtual machine, a hardware configuration request; and providing the destination hardware configuration data structure to a memory accessible by the virtual machine.

Claims (57)

1. A method comprising:

receiving, by a destination host computer system, a source hardware configuration data structure describing a hardware configuration of a source host computer system for a virtual machine;

receiving at least a part of a state of the virtual machine being migrated from the source host computer system to the destination host computer system;

generating a destination hardware configuration data structure describing a hardware configuration of the destination host computer system for the virtual machine;

starting the virtual machine on the destination host computer system;

comparing the source configuration data structure and the destination configuration data structure;

responsive to detecting a difference between the source configuration data structure and the destination configuration data structure, notifying the virtual machine of a hardware configuration change;

receiving, from the virtual machine, a hardware configuration request; and

providing the destination hardware configuration data structure to the virtual machine.

2. The method of claim 1 , wherein providing the destination hardware configuration data structure to the virtual machine comprises:

storing at least a part of the destination hardware configuration data structure in a memory mapped into an address space of the virtual machine.

3. The method of claim 1 , wherein the hardware configuration of the destination host computer system includes at least one of: a power state supported by a central processing unit (CPU) allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

4. The method of claim 1 , wherein the hardware configuration of the source host computer system includes at least one of: a power state supported by a CPU allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

5. The method of claim 1 , wherein the destination hardware configuration data structure corresponds to an advanced configuration and power interface (ACPI) data structure.

6. The method of claim 1 , wherein the destination hardware configuration data structure comprises at least one of: an extended system description table (XSDT), a differentiated system description table (DSDT), or a secondary system description table (SSDT).

7. The method of claim 1 , wherein:

the source hardware configuration data structure corresponds to an ACPI data structure; and

the source hardware configuration data structure comprises at least one of: an XSDT, a DSDT, or a SSDT.

8. A system comprising:

a memory; and

a processor, operatively coupled to the memory, the processor to:

receive, by the system, a source hardware configuration data structure describing a hardware configuration of a source host computer system for a virtual machine;

receive at least a part of a state of the virtual machine being migrated from the source host computer system;

generate a destination hardware configuration data structure describing a hardware configuration of the system;

start the virtual machine on the system;

compare the source virtual machine configuration data structure and the destination virtual machine configuration data structure;

responsive to detecting a difference between the source virtual machine configuration data structure and the destination virtual machine configuration data structure, notify the virtual machine of a hardware configuration change;

receive, from the virtual machine, a hardware configuration request; and

provide the destination hardware configuration data structure to another memory accessible by the virtual machine.

9. The system of claim 8 , wherein to provide the destination hardware configuration data structure to the virtual machine further comprises:

store at least a part of the destination hardware configuration data structure in a memory mapped into an address space of the virtual machine.

10. The system of claim 8 , wherein the hardware configuration of the system includes at least one of: a power state supported by a central processing unit (CPU) allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

11. The system of claim 8 , wherein the hardware configuration of the source host computer system includes at least one of: a power state supported by a CPU allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

12. The system of claim 8 , wherein the destination hardware configuration data structure corresponds to an advanced configuration and power interface (ACPI) data structures.

13. The system of claim 8 , wherein the destination hardware configuration data structure comprises at least one of: an extended system description table (XSDT), a differentiated system description table (DSDT), or a secondary system description table (SSDT).

14. The system of claim 8 , wherein:

the source hardware configuration data structure corresponds to an ACPI data structure; and

the source hardware configuration data structure comprises at least one of: an XSDT, a DSDT, or a SSDT.

15. A non-transitory computer readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving, by a source host computer system, a destination hardware configuration data structure describing a hardware configuration of a destination host computer system for a virtual machine;

transmitting, to the destination host computer system, at least a part of a state of the virtual machine being migrated from the source host computer system to the destination host computer system;

comparing a source virtual machine configuration data structure and the destination virtual machine configuration data structure, the source virtual machine configuration data structure describing a hardware configuration of the source host computer system; and

notifying the destination host computer system of a difference between the destination virtual machine configuration data structure and the source virtual machine configuration data structure.

16. The non-transitory computer readable storage medium of claim 15 , wherein the part of the state of the virtual machine includes at least one of an indication of an amount of the virtual machine's memory that has been copied over to the destination host computer system, or an estimated time left to transfer remaining memory of the virtual machine to the destination host computer system.

17. The non-transitory computer readable storage medium of claim 15 , wherein the hardware configuration of the destination computer system includes at least one of: a power state supported by a central processing unit (CPU) allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

18. The non-transitory computer readable storage medium of claim 15 , wherein the hardware configuration of the source computer system includes at least one of: a power state supported by a CPU of the source host computer system allocated to the virtual machine, or a number of CPUs allocated to the virtual machine.

19. The non-transitory computer readable storage medium of claim 15 , wherein:

the destination hardware configuration data structure corresponds to an advanced configuration and power interface (ACPI) data structure;

the destination hardware configuration data structure comprises at least one of: an extended system description table (XSDT), a differentiated system description table (DSDT), or a secondary system description table (SSDT);

the source hardware configuration data structure corresponds to an ACPI data structure; and

the source hardware configuration data structure comprises at least one of: an XSDT, a DSDT, or a SSDT.

20. The non-transitory computer readable storage medium of claim 15 , wherein the operations further comprises:

generating instructions:

to detect notification of the difference between the destination virtual machine configuration data structure and the source virtual machine configuration data structure,

to unload the source virtual machine configuration data structure from a memory accessible by the virtual machine,

to request the destination virtual machine configuration data structure to the destination host computer system, and

to load the destination virtual machine configuration data structure from the memory accessible by the virtual machine, the memory migrated from the source host computer system to the destination host computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: TSIRKIN, MICHAEL
To: RED HAT, INC.
Reel/Frame 051939/0562 →
Continuity (1)
Related Publication 20210263761A1 · Aug 26, 2021
Cited By (1)
US 12,639,090