Techniques for workload balancing among a plurality of physical machines
First Claim
1. A method for workload balancing among a plurality of physical machines hosting a plurality of virtual machines (VMs), comprising:
- periodically measuring a utilization of each hardware resource in each of the plurality of physical machines that host VMs that can execute an application to be load balanced;
computing a resource utilization score for each hardware resource based on its type, respective measured utilization, weight factor and load threshold;
wherein the load threshold is a predefined threshold set for a specific hardware resource type;
wherein the weight factor is determined based on the relevancy of the measured resource utilization for a proper execution of the application;
computing a total physical machine utilization score for each physical machine based on the computed resource utilization scores of its respective resources;
upon reception of a client request corresponding to a software application, selecting one physical machine of the plurality of physical machines to serve the client request, wherein the selection is based on the computed total physical machine utilization; and
forwarding the client request to a VM hosted on the selected physical machine, wherein all of the plurality of VMs hosted on the plurality of physical machines run an instance of the software application.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for workload balancing among a plurality of physical machines hosting a plurality of virtual machines (VMs) is disclosed. The method comprises periodically measuring a utilization of each hardware resource in each of the plurality of physical machines; computing a resource utilization score for each hardware resource based on its respective measured utilization; computing a total physical machine utilization score for each physical machine based on the computed resource utilization scores of its respective resources; and upon reception of a client request corresponding to a software application, selecting one physical machine of the plurality of physical machines to serve the client request, wherein the selection is based on the computed total physical machine utilization.
-
Citations
21 Claims
-
1. A method for workload balancing among a plurality of physical machines hosting a plurality of virtual machines (VMs), comprising:
-
periodically measuring a utilization of each hardware resource in each of the plurality of physical machines that host VMs that can execute an application to be load balanced; computing a resource utilization score for each hardware resource based on its type, respective measured utilization, weight factor and load threshold; wherein the load threshold is a predefined threshold set for a specific hardware resource type; wherein the weight factor is determined based on the relevancy of the measured resource utilization for a proper execution of the application; computing a total physical machine utilization score for each physical machine based on the computed resource utilization scores of its respective resources; upon reception of a client request corresponding to a software application, selecting one physical machine of the plurality of physical machines to serve the client request, wherein the selection is based on the computed total physical machine utilization; and forwarding the client request to a VM hosted on the selected physical machine, wherein all of the plurality of VMs hosted on the plurality of physical machines run an instance of the software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for workload balancing among a plurality of physical machines hosting a plurality of virtual machines (VMs), comprising:
-
periodically measuring a utilization of each hardware resource in each of the plurality of physical machines that host VMs that can execute an application to be load balanced; computing a resource utilization score for each hardware resource based on its type, respective measured utilization, weight factor and load threshold; wherein the load threshold is a predefined threshold set for a specific hardware resource type; wherein the weight factor is determined based on the relevancy of the measured resource utilization for a proper execution of the application; computing a total physical machine utilization score for each physical machine based on the computed resource utilization scores of its respective resources; computing a load-balancing weight for each physical machine based on its computed total physical machine utilization score; and distributing client requests corresponding to a software application to the plurality of physical machines proportional to the load-balancing weight computed for each physical machine, wherein the client requests are served by the plurality of VMs hosted on the plurality of physical machines. - View Dependent Claims (15, 16, 17)
-
-
18. A system of workload balancing among a plurality of physical machines hosting a plurality of virtual machines (VMs), comprising:
-
a memory for storing executable instructions; a processor connected to a memory and operable to execute instructions in the memory to configure the system to; periodically measure a utilization of each hardware resource in each of the plurality of physical machines that host VMs that can execute an application to be load balanced; compute a resource utilization score for each hardware resource based on its type, respective measured utilization, weight factor and load threshold; wherein the load threshold is a predefined threshold set for a specific hardware resource type; wherein the weight factor is determined based on the relevancy of the measured resource utilization for a proper execution of the application; compute a total physical machine utilization score for each physical machine based on the computed resource utilization scores of its respective resources, wherein the total physical machine utilization score of a physical machine is a sum of utilization resource scores computed for the hardware resources of the physical machine divided by a sum of the weight factors of the hardware resources; select, based on the computed total physical machine utilization score, one physical machine from the plurality of physical machines to serve an incoming client request related to an execution of a software application; and forward the client request to a VM hosted on the selected physical machine, wherein all of the plurality of VMs hosted on the plurality of physical machines run an instance of the software application. - View Dependent Claims (19, 20, 21)
-
Specification