Guest code emulation by virtual machine function
US-2018060103-A1 · Mar 1, 2018 · US
US11093402B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11093402-B2 |
| Application number | US-201916552895-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 27, 2019 |
| Priority date | Aug 27, 2012 |
| Publication date | Aug 17, 2021 |
| Grant date | Aug 17, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for using a cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The host system can then process the I/O request by accessing a cache that resides on one or more cache devices directly attached to the host system, where the accessing of the cache is transparent to the VM.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving an Input/Output (I/O) request from a virtual machine (VM) running on a host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM; identifying, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and processing the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing a host-side cache that includes one or more cache devices directly attached to the host system. 2. The method of claim 1 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor. 3. The method of claim 2 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device. 4. The method of claim 1 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk. 5. The method of claim 1 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM. 6. The method of claim 1 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing. 7. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor of a host system, the method comprising: receiving an Input/Output (I/O) request from a virtual machine (VM) running on the host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM; identifying, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and processing the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing a host-side cache that includes one or more cache devices directly attached to the host system. 8. The non-transitory computer readable storage medium of claim 7 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor. 9. The non-transitory computer readable storage medium of claim 8 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device. 10. The non-transitory computer readable storage medium of claim 7 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk. 11. The non-transitory computer readable storage medium of claim 7 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM. 12. The non-transitory computer readable storage medium of claim 7 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing. 13. A host system comprising: a processor; a host-side cache comprising one or more directly attached cache devices; and a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to: receive an Input/Output (I/O) request from a virtual machine (VM) running on the host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM; identify, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and process the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing the host-side cache. 14. The host system of claim 13 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor. 15. The host system of claim 14 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device. 16. The host system of claim 13 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk. 17. The host system of claim 13 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM. 18. The host system of claim 13 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing.
I/O management, e.g. providing access to device drivers or storage · CPC title
Hybrid disk, e.g. using both magnetic and solid state storage devices · CPC title
Hypervisor-specific management and integration aspects · CPC title
Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.