Microkernel IPC Channel Shared Memory Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional operating systems, including microkernel configurations, face inefficiencies and security vulnerabilities due to resource-intensive inter-process communication (IPC) methods that require numerous system calls and copying actions, and tight coupling between user-space processes can compromise security.

Innovation Solution

The implementation of an IPC channel with a message buffer mapped to both the kernel and user-space virtual address spaces, allowing one-way communication with reduced system calls and copy actions, while maintaining process isolation through controlled access rights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional IPC methods are used in microkernel configuration, then process isolation and security are improved, but communication efficiency deteriorates due to multiple system calls and copy actions

Engineering Contradiction:
Improveprocess isolationVSAvoidcommunication efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the kernel space message buffer with user space virtual address spaces through mapping, allowing producer and consumer processes to access the same physical memory region without requiring data copying. This eliminates multiple system calls and copy actions while maintaining process isolation through controlled access rights, directly resolving the contradiction between security and communication efficiency

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary mechanism where the kernel establishes virtual address space mappings that mediate between isolated user processes. The message buffer acts as an intermediary shared resource that enables direct communication without compromising process isolation, allowing efficient data transfer while maintaining security boundaries

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If shared memory regions are used for IPC, then communication efficiency is improved, but security deteriorates due to tight coupling between processes

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by implementing selective access rights for different processes to the same message buffer. The producer process has write access while the consumer process has read access, but neither process can compromise the other. This localized access control enables efficient shared memory communication while maintaining security through role-specific permissions

Inventive Principle:
Principle #3Local quality

3Reliability

If multiple copy actions are performed for IPC, then process isolation is maintained, but resource consumption increases

Engineering Contradiction:
Improveprocess isolationVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the virtual address spaces of the kernel, producer process, and consumer process to map to the same physical message buffer. This eliminates the need for multiple copy actions between separate memory regions while maintaining process isolation through virtual memory management and access control, directly reducing resource consumption

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11314566B1Inter-process communication for microkernel operating system
Publication Date: 2022.04.26 META PLATFORMS TECHNOLOGIES LLC
  • US11314566B1 patent drawing
  • US11314566B1 patent drawing
  • US11314566B1 patent drawing

AI summary

In one embodiment, a method includes creating, by a computing device, an inter process communication (IPC) channel for communication from a producer process to a consumer process. The IPC channel includes a message buffer mapped to a first virtual address space of a kernel of an operating system and to a second virtual address space of the consumer process in a user space of the operating system. A sender handle for the message buffer is sent to the producer process. The kernel receives a request, which includes the sender handle, to send a message from the producer process to the consumer process through the IPC channel. Responsive to a determination that the request is permitted, the kernel writes the message to the message buffer using the sender handle, such that message written in the message buffer is accessible to the consumer process through the second address space.