Process Manager Shared Memory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern operating systems face performance issues due to hardware protection mechanisms that prevent processes from sharing data, leading to costly and time-consuming data copying, and existing multi-threading solutions are not compatible with existing applications.

Innovation Solution

A process manager that enables selected processes to be grouped as sub-processes within a shared memory space, allowing them to interact and share data without bypassing physical protections, using a processing unit and pooling function to manage incident processes and execute code in a super-process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware protection mechanisms are implemented to prevent processes from altering each other's critical data, then process security and reliability are improved, but data sharing capability deteriorates and performance worsens due to costly data copying

Engineering Contradiction:
Improveprocess securityVSAvoiddata sharing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the process memory model into two distinct parts: a protected code segment that maintains hardware-enforced isolation for security, and a shared data segment that allows controlled access for performance. This segmentation resolves the contradiction by allowing processes to maintain secure boundaries while enabling efficient data sharing through the shared segment, eliminating the need for costly data copying between protected process spaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different access control qualities to different parts of the process memory space. The code segment maintains strict protection with read-only access for all processes, while the data segment allows write access for the owning process and read access for child processes. This local differentiation of access rights enables both security and performance by allowing data sharing where needed while maintaining protection where required.

Inventive Principle:
Principle #3Local quality

2Productivity

If multi-threading solutions are implemented to accelerate process execution performance, then execution speed is improved, but compatibility with existing applications deteriorates due to required rewriting

Engineering Contradiction:
Improveexecution speedVSAvoidapplication compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a process manager as an intermediary layer between the operating system and existing applications. This manager transparently creates child processes, manages the shared memory space, and handles the complex memory mapping operations. Existing applications continue to execute as single-threaded programs without any modification, while the intermediary process manager provides multi-threading capabilities through its child process architecture, thus resolving the contradiction between performance improvement and compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The child processes created by the process manager serve multiple functions: they execute the parent process code, share the protected code segment, access the shared data segment, and can be managed independently for parallel execution. This multi-functionality allows the system to achieve acceleration benefits similar to multi-threading while maintaining compatibility with existing single-threaded applications through the universal child process model.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If separate address spaces are allocated to each process for hardware protection, then process isolation and security are improved, but memory efficiency deteriorates and startup time increases due to repeated copying

Engineering Contradiction:
Improveprocess isolationVSAvoidstartup processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the code segments of parent and child processes into a single shared protected segment, eliminating the need to copy code memory when creating child processes. The process manager sets up memory mappings that allow multiple processes to access the same code segment with appropriate protection bits, thus maintaining process isolation through virtual memory mechanisms while avoiding the time-consuming code copying operation that plagues traditional fork implementations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2031512B1Improved process manager
Publication Date: 2018.11.21 BULL SA
  • EP2031512B1 patent drawingFigure 1
  • EP2031512B1 patent drawingFigure 2
  • EP2031512B1 patent drawingFigure 3

AI summary

The manager (36) has a process processing unit (38) establishing a supper process associated to a designated part of a process data memory (44) e.g. RAM, storing data of incident process (34). The processing unit executes code of the incident process while distinctly interacting with the data. A mutual function (40) loads the incident process in an address space (42) of the super process in response to a process housing condition partially concerning the incident process.