Patent ID: 8769206
Filing Date: 2014-07-01
Classification: G06F

Abstract:
1. A computer implemented method of implementing transcendent page caching, the method comprising: establishing a plurality of virtual machines on a physical machine, wherein each of the plurality of virtual machines includes a private cache, and wherein a portion of each of the private caches is used to create a shared cache maintained by a hypervisor, wherein the hypervisor is configured to manage physical resources of the physical machine, divide and assign the physical resources to the plurality of virtual machines as specified by a system administrator, creates an illusion for an operating environment running in each of the plurality of virtual machines that each is running on a separate physical machine, and isolate the virtual machines from each other to ensure no one virtual machine interferes with another virtual machine; storing memory pages in the plurality of virtual machines' private caches; determining that at least one of the stored memory pages has been designated to be removed from one of the plurality of virtual machines' private caches; delaying the removal of the at least one of the stored memory pages; analyzing a plurality of factors to determine if the at least one of the stored memory pages in the shared cache should be removed or stored, wherein the plurality of factors includes a usage of the at least one of the stored memory pages, total memory space available in the shared cache, and load balancing between the plurality of virtual machine's use of the shared cache; based on the analysis of the plurality of factors by the hypervisor, storing the at least one of the stored memory pages in the shared cache; requesting, by one of the plurality of virtual machines, the at least one of the stored memory pages from the shared cache; determining that the at least one of the stored memory pages is stored in the shared cache; and transferring the at least one of the stored shared memory pages to the one of the plurality of virtual machines.