SYSTEM AND METHOD FOR SYNCHRONIZING TRANSIENT RESOURCE USAGE BETWEEN VIRTUAL MACHINES IN A HYPERVISOR ENVIRONMENT
First Claim
1. A system for synchronizing transient resource usage between virtual servers in a hypervisor environment, comprising:
- a computer which includesa hypervisor running thereon, for executing virtual servers, anda communication channel, that enables synchronization between the virtual servers;
a plurality of virtual servers executing on the hypervisor, each of which virtual servers includesa 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
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for synchronizing transient resource usage between virtual machines, e.g. Java Virtual Machines (JVMs), running within a hypervisor. In accordance with an embodiment, the system allows for synchronizing garbage collection and code optimization to reduce transient processor (cpu) and memory usage. In accordance with an embodiment, the system comprises a computer; a hypervisor for executing virtual servers running JVMs; a communication channel between the virtual servers; wherein each virtual server further comprises non-transient and transient memory and a synchronization module. In accordance with an embodiment the synchronization modules schedule garbage collects and code optimizations to minimize overlaps, thereby reducing the peak transient memory and cpu usage and the resulting volatility of transient resource usage within a computer. In accordance with another embodiment, a cloud manager can move virtual servers between computers to optimize computer volatility within a cloud.
36 Citations
19 Claims
-
1. 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, each of which virtual servers 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 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18)
-
-
16. A method of synchronizing transient resource usage between virtual servers running in a hypervisor environment, comprising the steps of:
-
providing a computer which includes a hypervisor running thereon, for executing virtual servers, and a communication channel, that enables synchronization between the virtual servers; providing a plurality of virtual servers executing on the hypervisor, each of which virtual servers 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 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.
-
-
19. A computer readable medium, including instructions stored thereon which, when read and executed by one or more computers, causes the one or more computers to perform the method comprising the steps of:
-
providing a computer which includes a hypervisor running thereon, for executing virtual servers, and a communication channel, that enables synchronization between the virtual servers; providing a plurality of virtual servers executing on the hypervisor, each of which virtual servers 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 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.
-
Specification