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