Kernel bus system with a hyberbus and method therefor
First Claim
1. A kernel bus system for building at least one virtual machine monitor, the kernel bus system is based on a kernel-based virtual machine, the kernel bus system being stored at one or more non-transitory memory storage modules and being configured to run on one or more processors of a host computer, the host computer comprising one or more hardware devices and memory comprising the one or more non-transitory memory storage modules, the kernel bus system comprising:
- a hyperbus;
one or more user space components;
one or more guest space components configured to interact with the one or more user space components via the hyperbus;
one or more virtual machine monitor components configured to interact with the one or more user space components and the one or more guest space components via the hyperbus, the one or more virtual machine monitor components comprising;
one or more frontend devices configured to perform one or more first input/output operations with the one or more hardware devices of the host computer using at least one of a zero-copy method or a non-pass-thru method; and
one or more para-virtualization components comprising;
a virtual interrupt module configured to use VTx/SVM interrupt handling and one or more processor instructions to swap the one or more processors of the host computer between a kernel space and a guest space; and
a virtual input/output driver configured to enable synchronous input/output signaling, asynchronous input/output signaling, payload delivery, and pass-through delivery substantially independent of an QEMU process emulation,wherein;
the one or more frontend devices are further configured such that when the one or more frontend devices perform one or more first input/output operations with the one or more hardware devices of the host computer using the zero-copy method, the one or more frontend devices handle synchronous and asynchronous file input/outputs and finding missed physical pages; and
the hyperbus, the one or more user space components, the one or more guest space components, the one or more virtual machine monitor components, and the one or more para-virtualization components are configured to run on the one or more processors of the host computer;
the one or more guest space components comprise one or more virtual machines;
the one or more user space components comprise a device manager, a policy rule base, and a rule base user interface;
the hyperbus comprises;
a shadow ISA/ABI; and
one or more policy decision function modules; and
the shadow ISA/ABI of the hyperbus is configured to broadcast one or more device management functions to the one or more virtual machines of the one or more guest space components.
0 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments concern a kernel bus system for building at least one virtual machine monitor. The kernel bus system can include: (a) a hyperbus; (b) user space components; (c) guest space components configured to interact with the user space components via the hyperbus; (d) VMM components having frontend devices configure to perform I/O operations with the hardware devices of the host computer using a zero-copy method or non-pass-thru method; (e) para-virtualization components having (1) a virtual interrupt module configured to use processor instructions to swap the processors of the host computer between a kernel space and a guest space; and (2) a virtual I/O driver configured to enable synchronous I/O signaling, asynchronous I/O signaling and payload delivery, and pass-through delivery independent an QEMU emulation; and (f) KVM components. Other embodiments are disclosed.
67 Citations
18 Claims
-
1. A kernel bus system for building at least one virtual machine monitor, the kernel bus system is based on a kernel-based virtual machine, the kernel bus system being stored at one or more non-transitory memory storage modules and being configured to run on one or more processors of a host computer, the host computer comprising one or more hardware devices and memory comprising the one or more non-transitory memory storage modules, the kernel bus system comprising:
-
a hyperbus; one or more user space components; one or more guest space components configured to interact with the one or more user space components via the hyperbus; one or more virtual machine monitor components configured to interact with the one or more user space components and the one or more guest space components via the hyperbus, the one or more virtual machine monitor components comprising; one or more frontend devices configured to perform one or more first input/output operations with the one or more hardware devices of the host computer using at least one of a zero-copy method or a non-pass-thru method; and one or more para-virtualization components comprising; a virtual interrupt module configured to use VTx/SVM interrupt handling and one or more processor instructions to swap the one or more processors of the host computer between a kernel space and a guest space; and a virtual input/output driver configured to enable synchronous input/output signaling, asynchronous input/output signaling, payload delivery, and pass-through delivery substantially independent of an QEMU process emulation, wherein; the one or more frontend devices are further configured such that when the one or more frontend devices perform one or more first input/output operations with the one or more hardware devices of the host computer using the zero-copy method, the one or more frontend devices handle synchronous and asynchronous file input/outputs and finding missed physical pages; and the hyperbus, the one or more user space components, the one or more guest space components, the one or more virtual machine monitor components, and the one or more para-virtualization components are configured to run on the one or more processors of the host computer; the one or more guest space components comprise one or more virtual machines; the one or more user space components comprise a device manager, a policy rule base, and a rule base user interface; the hyperbus comprises;
a shadow ISA/ABI; and
one or more policy decision function modules; andthe shadow ISA/ABI of the hyperbus is configured to broadcast one or more device management functions to the one or more virtual machines of the one or more guest space components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of building at least one virtual machine monitor via a kernel bus system on a host computer, the method comprising:
-
providing a hyperbus configured to run on the host computer; providing one or more user space components configured to run on the host computer; providing one or more guest space components configured to run on the host computer and further configured to interact with the one or more user space components via the hyperbus; providing one or more virtual machine monitor components configured to interact with the one or more user space components and the one or more guest components via the hyperbus, the one or more virtual machine monitor components configured to run on the host computer and comprising; one or more frontend devices configured to perform one or more input/output operations with one or more hardware devices of the host computer using a zero-copy procedure or a non-pass-thru procedure, the one or more frontend devices are further configured such that when the one or more frontend devices perform one or more first input/output operations with the one or more hardware devices of the host computer using the zero-copy method procedure, the one or more frontend devices handle synchronous and asynchronous file input/outputs and finding missed physical pages; and providing one or more para-virtualization components configured to run on the host computer and comprising; a virtual interrupt module that uses VTx/SVM interrupt handling and is configured to use one or more processor instructions to swap one or more processors of the host computer between a kernel space and a guest space; and a virtual input/output driver configured to enable synchronous input/output signaling, asynchronous input/output signaling and payload delivery, and pass-through delivery substantially independent of a QEMU process emulation, wherein; the one or more guest space components comprise one or more virtual machines; the one or more user space components comprise a device manager, a policy rule base, and a rule base user interface; the hyperbus comprises;
a shadow ISA/ABI; and
one or more policy decision function modules; andthe shadow ISA/ABI of the hyperbus is configured to broadcast one or more device management functions to the one or more virtual machines of the one or more guest space components.
-
-
16. A computer system being stored at one or more non-transitory memory storage modules and being configured to run on one or more processors of a host computer, the host computer comprising one or more hardware devices and memory comprising the one or more non-transitory memory storage modules, the computer system comprising:
-
one or more hyperbus service modules configured to run on the host computer; and one or more hyperbus backend components configured to run on the host computer; one or more user space components; one or more kernel space components; and one or more guest space components configured to run on the host computer and comprising; one or more virtual machines configured to interact with the one or more guest space components via the hyperbus and comprising one or more virtual machine applications, the one or more virtual machine applications configured to perform one or more input/output operations; one or more virtual machine operating system kernels comprising one or more drivers, the one or more drivers are configured to interact with the one or more hyperbus service modules to facilitate the one or more virtual machines performing the one or more input/output operations; and one or more VIRTIO devices comprising; a VM-QEMU-KVM para-virtualization mechanism configured to facilitate task switching between the one or more guest space components, the one or more user space components, and the one or more kernel space components; and an AIO service agent configured to facilitate read and write to the memory; wherein; the one or more virtual machine operating system kernels of the one or more guest space components are configured to enter the one or more hyperbus backend components using at least one trap instruction; and the one or more hyperbus backend components are configured to choose a code path from one or more code paths to interact with the one or more VIRTIO devices; the one or more user space components comprise a device manager, a policy rule base, and a rule base user interface; the hyperbus comprises;
a shadow ISA/ABI; and
one or more policy decision function modules;the shadow ISA/ABI of the hyperbus is configured to broadcast one or more device management functions to the one or more virtual machines of the one or more guest space components; the one or more hyperbus service modules comprise an AIO service agent; the VM-QEMU-KVM para-virtualization mechanism comprises a QEMU module; and a QEMU module comprises the one or more VIRTIO devices. - View Dependent Claims (17, 18)
-
Specification