Microkernel architecture with enhanced reliability and security

US11442873B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11442873-B2
Application numberUS-201916563666-A
CountryUS
Kind codeB2
Filing dateSep 6, 2019
Priority dateSep 6, 2019
Publication dateSep 13, 2022
Grant dateSep 13, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F13/102Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11442873B2 cover?
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 …
Who is the assignee on this patent?
Meta Platforms Tech Llc
What technology area does this patent fall under?
Primary CPC classification G06F13/102. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 13 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).