US2018349194A1PendingUtilityA1
Accelerated data operations
Est. expiryJul 12, 2033(~7 yrs left)· nominal 20-yr term from priority
G06F 9/5016G06F 9/45558G06F 2009/45583
55
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Systems, methods, and software described herein facilitate accelerated input and output operations with respect to virtualized environments. In an implementation, upon being notified of a guest read process initiated by a guest element running in a virtual machine to read data into a location in guest memory associated with the guest element, a computing system identifies a location in host memory associated with the location in the guest memory and initiates a host read process to read the data into the location in the host memory that corresponds to the location in the guest memory.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An apparatus comprising:
one or more non-transitory computer readable storage media; and program instructions stored on the one or more non-transitory computer readable media, wherein the program instructions comprise a kernel driver that, when executed by a processing system, directs the processing system to at least:
obtain a process identifier for a process running on a host;
identify host memory allocated to the process using the process identifier;
identify a portion of the host memory allocated to a virtual machine associated with the process;
map a portion of the host memory allocated to the virtual machine to a translation node running on the host.
2 . The apparatus of claim 1 wherein the program instructions further comprise the translations node, wherein the translation node, when executed by the processing system, directs the processing system to at least:
upon being notified of a guest read process initiated by a guest element running in the virtual machine to read data into a location in guest memory associated with the guest element, identify a location in the portion of the host memory mapped to the location in the guest memory; and
initiate a host read process to read the data into the location in the portion of the host memory mapped to the location in the guest memory.
3 . The apparatus of claim 2 wherein the process comprises a hypervisor process.
4 . The apparatus of claim 3 wherein the hypervisor process comprises a QEMU process.
5 . The apparatus of claim 4 wherein the virtual machine is launched by the QEMU process.
6 . The apparatus of claim 2 wherein the guest element comprises an operating system of the virtual machine.
7 . The apparatus of claim 2 wherein the guest element comprises a process executing within an operating system of the virtual machine.
8 . An apparatus comprising:
one or more storage devices; a processing system operatively coupled with the one or more storage devices; and program instructions stored on the one or more storage devices, wherein the program instructions comprise a kernel driver that, when executed by a processing system directs the processing system to at least:
obtain a process identifier for a process running on a host;
identify host memory allocated to the process using the process identifier;
identify a portion of the host memory allocated to a virtual machine associated with the process;
map a portion of the host memory allocated to the virtual machine to a translation node running on the host.
9 . The apparatus of claim 8 wherein the program instructions further comprise the translation node, wherein the translation node, when executed by the processing system, directs the processing system to at least:
upon being notified of a guest read process initiated by a guest element running in the virtual machine to read data into a location in guest memory associated with the guest element, identify a location in the portion of the host memory mapped to the location in the guest memory; and
initiate a host read process to read the data into the location in the portion of the host memory mapped to the location in the guest memory.
10 . The apparatus of claim 9 wherein the process comprises a hypervisor process;
11 . The apparatus of claim 10 wherein the hypervisor process comprises a QEMU process.
12 . The apparatus of claim 11 wherein the virtual machine is launched by the QEMU process.
13 . The apparatus of claim 9 wherein the guest element comprises an operating system of the virtual machine.
14 . The apparatus of claim 9 wherein the guest element comprises a process executing within an operating system of the virtual machine.
15 . A method comprising:
in a kernel driver:
obtaining a process identifier for a process running on a host;
identifying host memory allocated to the process using the process identifier;
identifying a portion of the host memory allocated to a virtual machine associated with the process;
mapping a portion of the host memory allocated to the virtual machine to a different process running on the host.
16 . The method of claim 15 further comprising the different process:
upon being notified of a guest read process initiated by a guest element running in the virtual machine to read data into a location in guest memory associated with the guest element, identifying a location in the portion of the host memory mapped to the location in the guest memory; and
initiating a host read process to read the data into the location in the portion of the host memory mapped to the location in the guest memory.
17 . The method of claim 16 wherein the process comprises a hypervisor process;
18 . The method of claim 17 wherein the hypervisor process comprises a QEMU process.
19 . The method of claim 16 wherein the guest element comprises an operating system of the virtual machine.
20 . The method of claim 16 wherein the guest element comprises a process executing within an operating system of the virtual machine.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.