FILE SYSTEM INDEPENDENT CONTENT AWARE CACHE
First Claim
Patent Images
1. A method for obtaining data for a virtual machine in a server supporting a hypervisor for running virtual machines, the method comprising:
- receiving a read request from the virtual machine intended for transmission to a virtual drive that is accessed through a root virtual machine running in the server;
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 includes (i) information that matches (a) an address offset in the read request and (b) an identity associated with the virtual machine, and (ii) a reference to data stored in a cache maintained in a local memory in the server;
circumventing a standard I/O stack of the root virtual machine used to access the virtual drive by requesting the data directly from the local memory by providing address information corresponding to the reference to a driver for the local memory;
receiving the data from the driver for the local memory; and
transmitting the data to the virtual machine in response to the read request.
1 Assignment
0 Petitions
Accused Products
Abstract
A server supporting the implementation of virtual machines includes a local memory used for caching, such as a solid state device drive. During I/O intensive processes, such as a boot storm, a “content aware” cache filter component of the server first accesses a cache structure in a content cache device to determine whether data blocks have been stored in the cache structure prior to requesting the data blocks from a networked disk array via a standard I/O stack of the hypervisor.
-
Citations
20 Claims
-
1. A method for obtaining data for a virtual machine in a server supporting a hypervisor for running virtual machines, the method comprising:
-
receiving a read request from the virtual machine intended for transmission to a virtual drive that is accessed through a root virtual machine running in the server; 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 includes (i) information that matches (a) an address offset in the read request and (b) an identity associated with the virtual machine, and (ii) a reference to data stored in a cache maintained in a local memory in the server; circumventing a standard I/O stack of the root virtual machine used to access the virtual drive by requesting the data directly from the local memory by providing address information corresponding to the reference to a driver for the local memory; receiving the data from the driver for the local memory; and transmitting the data to the virtual machine in response to the read request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium including instructions that, when executed by a computer processor of a server supporting a hypervisor for running virtual machines, causes the computer processor obtain data for a virtual machine by performing the steps of:
-
receiving a read request from the virtual machine intended for transmission to a virtual drive that is accessed through a root virtual machine running in the server; 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 includes (i) information that matches (a) an address offset in the read request and (b) an identity associated with the virtual machine, and (ii) a reference to data stored in a cache maintained in a local memory in the server; circumventing a standard I/O stack of the root virtual machine used to access the virtual drive by requesting the data directly from the local memory by providing address information corresponding to the reference to a driver for the local memory; receiving the data from the driver for the local memory; and transmitting the data to the virtual machine in response to the read request. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A server supporting a hypervisor for running virtual machines and configured to obtain data for a virtual machine running in the server, the server comprising a processor configured to perform the steps of:
-
receiving a read request from the virtual machine intended for transmission to a virtual drive that is accessed through a root virtual machine running in the server; 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 includes (i) information that matches (a) an address offset in the read request and (b) an identity associated with the virtual machine, and (ii) a reference to data stored in a cache maintained in a local memory in the server; circumventing a standard I/O stack of the root virtual machine used to access the virtual drive by requesting the data directly from the local memory by providing address information corresponding to the reference to a driver for the local memory; receiving the data from the driver for the local memory; and transmitting the data to the virtual machine in response to the read request. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification