Patent ID: 7415708

Claim:
A method comprising: gathering information relating to a processor, wherein the information comprises processor state information having one or more of characteristics of the processor, history of the processor, characteristics of a first virtual machine and a second virtual machine, history of the first and second virtual machines, and event monitoring data; evaluating the information relating to the processor; and managing the first virtual machine and the second virtual machine via the information, the managing of the first and second virtual machines including managing a predetermined processing time allocated to each of the first virtual machine and the second virtual machine, the managing further including dynamically allocating resources including extending, suspending, increasing, or decreasing the predetermined processing time allocated to the first virtual machine and/or the second virtual machine, wherein the dynamically allocating resources further includes switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine based on the information, suspending the predetermined processing time allocated to the first virtual machine and extending a predetermined processing time allocated to the second virtual machine by granting the suspended predetermined processing time allocated to the first virtual machine to the second virtual machine, wherein the predetermined processing time is allocated by a central processing unit to perform the tasks.