Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
First Claim
1. A method for conveying hardware resources from a host operating system (OS) executing on a host computer system, comprising:
- obtaining, by the host OS, host hardware information, wherein the host hardware information comprises an enumeration of a plurality of hardware components representing the entire host computer system and identifies at least one hardware component in the plurality of hardware components initially allocated to a guest OS executing within the host OS;
determining, by the host OS and based on changes to the host hardware information, that an update to the initial allocation of hardware components to the guest OS is required;
in response to determining that the update to the initial allocation is required, changing, by the host OS, the initial allocation of hardware components to the guest OS;
generating, by the host OS and based on the changed allocation of hardware components to the guest OS, a first update to the host hardware information;
sending, by the host OS and using a messaging interface, a resource message comprising the first updated host hardware information to the guest OS;
making a first determination, by the guest OS and based on a comparison of the received first updated host hardware information with the guest OS'"'"'s stored host hardware information, that hardware components allocated to the guest OS have changed;
making, after the first determination, a second determination that an additional requirement for a local hardware component of the host computer system is required by the guest OS, wherein the second determination is based on a comparison of the received first updated host hardware information and a projected workload requirement of the guest OS;
generating, by the guest OS, a resource request for the local hardware component;
sending, by the guest OS and using the messaging interface, the resource request to the host OS; and
in response to receiving the resource request, allocating, by the host OS, the local hardware component; and
generating, by the host OS and based on the additional allocation of the local hardware component to the guest OS, a second update to the host hardware information.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, embodiments of the invention relates to a method for conveying hardware resources from a host (OS) executing on a computer system. The method includes obtaining host hardware information by the host OS, wherein the host hardware information specifies a plurality of physical hardware components of the computer system, sending the host hardware information to a guest OS executing within the host OS, generating, by the guest OS, a resource request using the host hardware information, sending, by the guest OS, the resource request to the host OS, and in response to receiving the resource request, allocating, by the host OS, guest hardware resources, where the guest hardware resources include at least one of the physical hardware components in the resource request.
48 Citations
20 Claims
-
1. A method for conveying hardware resources from a host operating system (OS) executing on a host computer system, comprising:
-
obtaining, by the host OS, host hardware information, wherein the host hardware information comprises an enumeration of a plurality of hardware components representing the entire host computer system and identifies at least one hardware component in the plurality of hardware components initially allocated to a guest OS executing within the host OS; determining, by the host OS and based on changes to the host hardware information, that an update to the initial allocation of hardware components to the guest OS is required; in response to determining that the update to the initial allocation is required, changing, by the host OS, the initial allocation of hardware components to the guest OS; generating, by the host OS and based on the changed allocation of hardware components to the guest OS, a first update to the host hardware information; sending, by the host OS and using a messaging interface, a resource message comprising the first updated host hardware information to the guest OS; making a first determination, by the guest OS and based on a comparison of the received first updated host hardware information with the guest OS'"'"'s stored host hardware information, that hardware components allocated to the guest OS have changed; making, after the first determination, a second determination that an additional requirement for a local hardware component of the host computer system is required by the guest OS, wherein the second determination is based on a comparison of the received first updated host hardware information and a projected workload requirement of the guest OS; generating, by the guest OS, a resource request for the local hardware component; sending, by the guest OS and using the messaging interface, the resource request to the host OS; and in response to receiving the resource request, allocating, by the host OS, the local hardware component; and generating, by the host OS and based on the additional allocation of the local hardware component to the guest OS, a second update to the host hardware information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium comprising computer readable program code embodied therein, when executed by a processor, causes a computer system to:
-
obtain, by a host operating system (OS) executing on the computer system, host hardware information, wherein the host hardware information comprises an enumeration of a plurality of hardware components representing the entire computer system and identifies at least one hardware component in the plurality of hardware components initially allocated to a guest OS executing within the host OS; determine, by the host OS and based on changes to the host hardware information, that an update to the initial allocation of hardware components to the guest OS is required; in response to determining that the update to the initial allocation is required, changing, by the host OS, the initial allocation of hardware components to the guest OS; generate, by the host OS and based on the changed allocation of hardware components to the guest OS, a first update to the host hardware information; send, by the host OS and using a messaging interface, a resource message comprising the first updated host hardware information to the guest OS; make a first determination, by the guest OS and based on a comparison of the received first updated host hardware information with the guest OS'"'"'s stored host hardware information, that hardware components allocated to the guest OS have changed; make, after the first determination, a second determination, that an additional requirement for a local hardware component of the computer system is required by the guest OS, wherein the second determination is based on a comparison of the received first updated host hardware information and a projected workload requirement of the guest OS; generate, by the guest OS, a resource request for the local hardware component; send, by the guest OS and using the messaging interface, the resource request to the host OS; and in response to receiving the resource request, allocating, by the host OS, the local hardware component; and generating, by the host OS and based on the additional allocation of the local hardware component to the guest OS, a second update to the host hardware information. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer system, comprising:
-
a plurality of hardware components, including a processor; a host operating system (OS), executing on the processor; and a first guest OS and a second guest OS executing in the host OS, wherein the host OS is configured to; obtain host hardware information, wherein the host hardware information comprises an enumeration of a plurality of hardware components representing the entire computer system and identifies at least one hardware component in the plurality of hardware components initially allocated to the first guest OS, determine, based on changes to the host hardware information, that an update to the initial allocation of hardware components to the first guest OS is required, in response to determining that the update to the initial allocation is required, change the initial allocation of hardware components to the first quest OS, generate, based on the changed allocation of hardware components to the first guest OS, a first update to the host hardware information, send, using a messaging interface, a resource message comprising the first updated host hardware information to the first guest OS, in response to receiving a resource request from the first guest OS, allocate a local hardware component requested by the first guest OS, and generating, based on the additional allocation of the local hardware component to the guest OS, a second update to the host hardware information, and wherein the first guest OS is configured to; receive the first updated host hardware information from the host OS, make a first determination, based on a comparison of the received first updated host hardware information with its stored host hardware information, that hardware components allocated to the first guest OS have changed, make, after the first determination, a second determination, that an additional requirement for a local hardware component of the computer system is required, wherein the second determination is based on a comparison of the received first updated host hardware information and a projected workload requirement of the first guest OS, generate the resource request for the local hardware component, and send, using the messaging interface, the resource request to the host OS. - View Dependent Claims (17, 18, 19, 20)
-
Specification