Patent ID: 8261269

Claim:
A system for synchronizing transient resource usage between virtual servers in a hypervisor environment, comprising: a computer which includes a hypervisor running thereon, for executing virtual servers, and a communication channel, that enables synchronization between the virtual servers; a plurality of virtual servers executing on the hypervisor and including a plurality of synchronization modules, wherein each virtual server includes a non-transient memory space or heap, for storage and execution of relatively longer-lived processes, a transient memory space or heap, for storage and execution of relatively shorter-lived processes, and a synchronization module that uses the communication channel to communicate with synchronization modules at others of the virtual servers; wherein a master synchronization module is selected within the plurality of synchronization modules; and wherein the virtual servers can advance or postpone execution of those processes that make use of the transient memory space or heap, to synchronize transient resource usage between the plurality of virtual servers, including wherein the master synchronization module uses the communication channel to pass tokens to the virtual servers, wherein each token provides a receiving virtual server a right to perform a garbage collection or code optimization task within a certain period of time specified by the token, and wherein if the task is not completed by the receiving virtual server within that period of time, the receiving virtual server aborts the task.