Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US-2019370049-A1 · Dec 5, 2019 · US
US11442873B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11442873-B2 |
| Application number | US-201916563666-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 6, 2019 |
| Priority date | Sep 6, 2019 |
| Publication date | Sep 13, 2022 |
| Grant date | Sep 13, 2022 |
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.
In one embodiment, a microkernel of an operating system executing on a computing system receives, from an application, a first system call requesting to communicate with a service registry. The first system call being associated with an operation request. The microkernel sends a first instruction to the service registry. The microkernel receives, from the service registry, a second system call requesting to communicate with at least one of an application service or a protocol service. The second system call being associated with the operation request. The microkernel sends a second instruction to at least one of the application service or the protocol service. The microkernel receives, from at least one of the application service or the protocol service, a third system call requesting to communicate with a driver service. The third system call being associated with the operation request. The microkernel sends a third instruction to the driver service.
Opening claim text (preview).
What is claimed is: 1. A method, by a microkernel executing on a computing system, comprising: receiving, by the microkernel from an application, a first system call requesting to communicate with a service registry, the first system call being associated with an operation request, wherein the service registry is located in a user space separate from a kernel space, and wherein the microkernel is located in the kernel space separate from the user space; sending, by the microkernel in response to the first system call, a first instruction to the service registry; receiving, by the microkernel from the service registry in response to sending the first instruction to the service registry, a second system call requesting to communicate with at least one of an application service or a protocol service, the second system call being associated with the operation request, wherein the application service and the protocol service are both located in the user space; sending, by the microkernel in response to the second system call, a second instruction to at least one of the application service or the protocol service; receiving, by the microkernel from at least one of the application service or the protocol service in response to sending the second instruction to the at least one of the application service or the protocol service, a third system call requesting to communicate with a driver service, the third system call being associated with the operation request, wherein the driver service is located in the user space; and sending, by the microkernel in response to the third system call, a third instruction to the driver service. 2. The method of claim 1 , wherein the operation request is a request for a hardware resource to perform an operation. 3. The method of claim 1 , wherein the service registry determines whether the application has permission to access at least one of the application service or the protocol service, and wherein the service registry sends the second system call in response to determining the application has permission to access at least one of the application service or the protocol service. 4. The method of claim 3 , wherein the operation request is associated with an operation to be performed, and wherein the application identifies the application service or the protocol service to send the second instruction based on the operation to be performed. 5. The method of claim 3 , further comprising: receiving, from the service registry in response to the service registry determining the application has permission to access at least one of the application service or the protocol service, a fourth system call to establish a connection between at least one of the application service or the protocol service to the application. 6. The method of claim 1 , wherein the application service comprises one of a key-value store, a motion service or an event service. 7. The method of claim 1 , wherein the protocol service comprises one of a volume service, a network service, a dynamic host configuration protocol, or a wifi service. 8. The method of claim 1 , wherein the third system call identifies the driver service of a plurality of driver services to send the third instruction. 9. The method of claim 8 , wherein the application service or the protocol service identifies the driver service to send the third instruction based on the second instruction, wherein the first instruction is associated with an operation to be performed by the driver service. 10. The method of claim 1 , wherein the driver service comprises one of a drivers block, a driver for a universal serial bus (USB), a driver for a peripheral component interconnect (PCI), a driver for a display, or a driver for an inertial measurement unit (IMU). 11. The method of claim 1 , wherein the service registry is one of a plurality of privileged services, and wherein the plurality of privileged services further comprises one of, a launcher, a loader, a device manager, or a permission broker. 12. The method of claim 11 , wherein each of the application service or the protocol service, the driver service, and the privileged service are running on separate processes. 13. The method of claim 11 , wherein the privileged service is associated with a first privilege level, wherein the first privilege level is associated with a first level of access to data and resources not accessible to the application service, protocol service, or the driver service. 14. The method of claim 11 , wherein the application service or the protocol service has permission to establish inter-process communication (IPC) calls with the driver service, and wherein the driver service has permission to establish IPC calls with the privileged service. 15. The method of claim 1 , further comprising: receiving a first response to the third instruction from the driver service, wherein the first response is associated with the operation request; and sending the first response to the application service or the protocol service. 16. The method of claim 15 , further comprising: receiving a second response to the second instruction from the application service or the protocol service, wherein the second response is associated with the operation request; and sending the second response to the application. 17. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: receive, by a microkernel from an application, a first system call requesting to communicate with a service registry, the first system call being associated with an operation request, wherein the service registry is located in a user space separate from a kernel space, and wherein the microkernel is located in the kernel space separate from the user space; send, by the microkernel in response to the first system call, a first instruction to the service registry; receive, by the microkernel from the service registry in response to sending the first instruction to the service registry, a second system call requesting to communicate with at least one of an application service or a protocol service, the second system call being associated with the operation request, wherein the application service and the protocol service are both located in the user space; send, by the microkernel in response to the second system call, a second instruction to at least one of the application service or the protocol service; receive, by the microkernel from at least one of the application service or the protocol service in response to sending the second instruction to the at least one of the application service or the protocol service, a third system call requesting to communicate with a driver service, the third system call being associated with the operation request, wherein the driver service is located in the user space; and send, by the microkernel in response to the third system call, a third instruction to the driver service. 18. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to: receive, by a microkernel from an application, a first system call requesting to communicate with a service registry, the first system call being associated with an operation request, wherein the service registry is located in a user space separate from a kernel space, and wherein the microkernel is located in the kernel space separate from the user space; send, by the microkernel in response to the
where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title
via adapters, e.g. between incompatible applications · CPC title
USB port controller · CPC title
where tasks reside in different layers, e.g. user- and kernel-space · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.