Patent ID: 8438283

Claim:
A method for dynamically allocating hardware resources across multiple virtual machines, the method comprising the steps of: monitoring activities of applications in each given one of the virtual machines running on a hosting server, via a virtual machine activity monitor running in each given one of the virtual machines; determining priorities of a set of the applications having an active status in each given one of the virtual machines, based on the monitored activities of the applications, by accessing an application weight table, stored in an application priority module of the hosting server, and containing preset priorities for the applications; prioritizing each given one of the virtual machines based on the determined priorities of the applications having the active status in each given one of the virtual machines, by updating a virtual machine priority real-time weight table of a virtual machine priority module in the hosting server, wherein applications having an inactive status do not affect the prioritization; and dynamically adjusting those of the hardware resources allocated to each given one of the virtual machines by the hosting server, based on the priority of each virtual machine, by accessing the virtual machine priority real-time weight table with a resource arbiter module in the hosting server, said resource arbiter module being in communication with the virtual machine priority module.