Patent ID: 8312471

Claim:
A method for obtaining data for a virtual machine in a server supporting a hypervisor for running virtual machines, the method comprising: intercepting a read request from the virtual machine intended for transmission to a virtual drive provided by the hypervisor; confirming that the read request corresponds to a specific content type in the virtual drive; identifying an entry in a cache index, wherein the entry comprises a virtual machine identifier corresponding to the virtual machine, a virtual drive offset value corresponding to an offset in the read request, and a reference to a data block stored in a cache maintained in a local memory in the server; circumventing a standard I/O stack of the hypervisor to request the data block directly from the local memory by providing address information corresponding to the reference to a driver for the local memory; receiving the data block from the driver for the local memory; and transmitting the data block to the virtual machine in response to the read request, wherein the steps are performed by a content aware cache filter component in an I/O virtualization layer of the standard I/O stack.