IP Library Granted Patent US 10,572,287
Granted Patent B2
US 10,572,287 · App. 15/499,047 · Granted Feb 25, 2020

Configuring virtual machines on cores based on priority

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 10,572,287
App. No.
15/499,047
Granted
Feb 25, 2020
Kind
B2
Abstract

Measures, including methods, systems and computer-readable storage mediums, for use in configuring virtual machines on a host device including a plurality of processing cores. A first virtual machine is configured to run on a subset of cores of the plurality. The first virtual machine is of a first type. A second virtual machine is configured to run on any of the cores in the plurality. The second virtual machine is of a second, different type. The first virtual machine is configured to have a first priority which is higher than a second priority of the second virtual machine such that processing resources are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine.

Claims (49)

1. A method of configuring virtual machines on a host device comprising a plurality of physical processing cores, in which processing resources of each physical processing core can be made available to one or more virtual machines, the method comprising:

configuring a first virtual machine, comprising pinning the first virtual machine to run only on a subset of cores of the plurality of physical processing cores, the subset of cores comprising specific cores of the plurality of physical processing cores, the first virtual machine being of a first type;

configuring a second virtual machine to run on any of the cores in the plurality of physical processing cores, the second virtual machine being of a second, different type;

configuring the first virtual machine to have a first priority which is higher than a second priority of the second virtual machine such that processing resources of the subset of cores are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine; and

prohibiting pinning of any other virtual machine of the first type on the subset of cores of the plurality of physical processing cores,

wherein the method is performed by a scheduler component responsible for allocating virtual resources to physical resources for a plurality of host devices in a cloud computing environment.

2. The method of claim 1 , wherein configuring the second virtual machine to run on any of the cores in the plurality of processing cores comprises configuring the second virtual machine to run on any of the cores in the plurality of processing cores including at least one core in the subset such that the processing resource of the at least one core is available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine.

3. The method of claim 2 , wherein the at least one core is at least partially required by the first virtual machine during a period of relatively high processing demand for the first virtual machine.

4. The method of claim 3 , wherein the at least one core is fully utilised by the first virtual machine during the period of relatively high processing demand for the first virtual machine.

5. The method of claim 2 , wherein the at least one core is not fully required by the first virtual machine during a period of relatively low processing demand for the first virtual machine, and

wherein configuring the first virtual machine to have the first priority which is higher than the second priority of the second virtual machine is such that the processing resource of the at least one core is at least partially available to the second virtual machine during the period of relatively low processing demand for the first virtual machine.

6. The method of claim 1 , wherein the first type comprises a type of virtual machine responsible for providing one or more time critical services.

7. The method of claim 1 , wherein the second type comprises a type of virtual machine responsible for providing one or more non-time critical services.

8. The method of claim 1 , wherein the first priority comprises a maximum priority and the second priority comprises a default priority.

9. The method of claim 1 , comprising configuring a third virtual machine to run on a further subset of cores of the plurality of processing cores, the further subset of cores comprising specific cores of the plurality of cores such that there is no overlap between the cores and the further subset of cores of the plurality of processing cores, the third virtual machine being of the first type,

wherein configuring of the second virtual machine comprises configuring the second virtual machine to run on any of the cores of the plurality of processing cores including at least one further core in the further subset; and

configuring the third virtual machine to have a third priority which is higher than the second priority such that the processing resource of the at least one further core is available to the third virtual machine when required by the third virtual machine instead of being available to the second virtual machine.

10. The method of claim 1 ,

wherein there is no overlap between the subset of cores and the further subset of cores of the plurality of processing cores,

wherein the host comprises a first non-uniform memory access node and a second non-uniform memory access node,

wherein the subset of cores is comprised on the first non-uniform memory access node, and

wherein the further subset of cores is comprised on the second non-uniform memory access node.

11. The method of claim 1 , wherein the first type comprises a type of virtual machine responsible for performing media packet forwarding.

12. The method of claim 1 , wherein the second virtual machine acquires the second priority according to a default setting.

13. A system for use in configuring virtual machines on a host device comprising a plurality of physical processing cores, in which the processing resources of each physical processing core can be made available to one or more virtual machines, the system comprising at least one memory including computer program code; and

at least one processor in data communication with the at least one memory, wherein the at least one processor is configured to:

configure a first virtual machine, comprising pinning the first virtual machine to run only on a subset of cores of the plurality of physical processing cores, the subset of cores comprising specific cores of the plurality of physical processing cores, the first virtual machine being of a first type;

configure a second virtual machine to run on any of the cores in the plurality of physical processing cores, the second virtual machine being of a second, different type;

configure the first virtual machine to have a first priority which is higher than a second priority of the second virtual machine such that processing resources are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine; and

prohibit pinning of any other virtual machine of the first type on the subset of cores of the plurality of physical processing cores;

wherein the method is performed by a scheduler component responsible for allocating virtual resources to physical resources for a plurality of host devices in a cloud computing environment.

14. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to perform a method of configuring virtual machines on a host device comprising a plurality of physical processing cores, in which processing resources of each physical processing core can be made available to one or more virtual machines, the method comprising:

configuring a first virtual machine, comprising pinning the first virtual machine to run only on a subset of cores of the plurality of physical processing cores, the subset of cores comprising specific cores of the plurality of physical processing cores, the first virtual machine being of a first type;

configuring a second virtual machine to run on any of the cores in the plurality of processing cores, the second virtual machine being of a second, different type;

configuring the first virtual machine to have a first priority which is higher than a second priority of the second virtual machine such that processing resources are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine; and

prohibiting pinning of any other virtual machine of the first type on the subset of cores of the plurality of physical processing cores,

wherein the method is performed by a scheduler component responsible for allocating virtual resources to physical resources for a plurality of host devices in a cloud computing environment.

15. A method of configuring virtual machines on a host device comprising a plurality of physical processing cores, in which processing resources of each physical processing core can be made available to one or more virtual machines, the method comprising:

configuring a first virtual machine, comprising pinning the first virtual machine to run only on a subset of cores of the plurality of physical processing cores, the subset of cores comprising specific cores of the plurality of physical processing cores, the first virtual machine being of a first type;

configuring a second virtual machine to run on any of the cores in the plurality of physical processing cores, the second virtual machine being of a second, different type;

configuring the first virtual machine to have a first priority which is higher than a second priority of the second virtual machine such that processing resources of the subset of cores are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine; and

prohibiting pinning of any other virtual machine of the first type on the subset of cores of the plurality of physical processing cores,

wherein the first priority comprises a maximum priority and the second priority comprises a default priority.

16. A method of configuring virtual machines on a host device comprising a plurality of physical processing cores, in which processing resources of each physical processing core can be made available to one or more virtual machines, the method comprising:

configuring a first virtual machine, comprising pinning the first virtual machine to run only on a subset of cores of the plurality of physical processing cores, the subset of cores comprising specific cores of the plurality of physical processing cores, the first virtual machine being of a first type;

configuring a second virtual machine to run on any of the cores in the plurality of physical processing cores, the second virtual machine being of a second, different type;

configuring the first virtual machine to have a first priority which is higher than a second priority of the second virtual machine such that processing resources of the subset of cores are available to the first virtual machine when required by the first virtual machine instead of being available to the second virtual machine; and

prohibiting pinning of any other virtual machine of the first type on the subset of cores of the plurality of physical processing cores,

wherein the first type comprises a type of virtual machine responsible for performing media packet forwarding.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ALIANZA, INC.
Reel/Frame 075645/0892 →
CHANGE OF NAME Recorded May 13, 2026
From: ALIANZA, INC.
To: ALIANZA, LLC
Reel/Frame 075646/0037 →
SECURITY INTEREST Recorded May 6, 2025
From: ALIANZA, INC.; METASWITCH NETWORKS LTD
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 071191/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: LOUDON, CALUM SUTHERLAND; WHITE, PETER LOUIS
To: METASWITCH NETWORKS LTD.
Reel/Frame 044528/0745 →