Patent ID: 7475002
Filing Date: 2009-01-06
Classification: G06F

Abstract:
1. A method for emulating a plurality of virtual timers in a virtual computer system operating on a physical computer, the physical computer having a timer for keeping track of a real time for the physical computer, the virtual timers being programmable by guest software to generate a plurality of timer events, the method comprising: receiving programming information from the guest software for programming a first virtual timer; receiving programming information from the guest software for programming a second virtual timer; determining when the first virtual timer is set to generate timer events according to the real time, based on the programming information received from the guest software; determining when the second virtual timer is set to generate timer events according to the real time, based on the programming information received from the guest software; wherein the generation of timer events falls behind the real time, so that a first plurality of timer events, including one or more timer events of the first virtual timer and one or more timer events of the second virtual timer, are set to have already occurred according to the real time, but the first plurality of timer events have not yet occurred in the virtual computer system; and generating the first plurality of timer events in the same combined sequence as the timer events are set to occur according to the real time, wherein a catch-up mode is used when the generation of timer events in the virtual computer system is behind the real time, wherein a normal mode is used when the generation of timer events in the virtual computer system is caught up to the real time, wherein, when the catch-up mode is used, the average rate of timer events in the virtual computer system exceeds the average rate at which timer events are set to occur according to the real time, wherein, when the normal mode is used, the average rate of timer events in the virtual computer system is substantially the same as the average rate at which timer events are set to occur according to the real time, and wherein the real time being tracked by a timer in the physical computer.