Patent attributes
A method for dynamically allocating computing resources to virtual computing machines in a shared system. An initial allocation is made for each computing resource. Current demand for each computing resource for each of the virtual computing machines is determined to identify changes in current demand. The system identifies a virtual computing machine for which usage of a first computing resource is approaching a first predetermined threshold allotted to the first virtual computing machine. The system identifies a second virtual computing machine in the system for which usage of the first computing resource is less than a second predetermined threshold of the first computing resource allotted to the second virtual computing machine. The server dynamically allocates at least part of the first computing resource from the second virtual computing machine to the first virtual computing machine to meet current demand for the first computing resource in the first virtual computing machine.