# US 11,307,888 B2 · Managing host hardware configuration for virtual machine migration

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,888 B2
- Document ID: US11307888B2
- Status: Granted
- Kind: B2
- Application number: 16/801,761
- Filed: 2020-02-26
- Published: 2021-08-26
- Granted: 2022-04-19
- Earliest claimed: 2020-02-26
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Michael Tsirkin
- Web page: https://patentgrep.com/patent/US11307888B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/54: Interprogram communication
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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).

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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

### Claim 13 (depends on 8)

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).

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.
