Multi-Process Architecture for Application Security and Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large monolithic applications face increased failure probabilities and security risks as they grow in size due to the cumulative failure of independent functional segments and increased attack surfaces, leading to nonlinearly rising engineering costs for achieving reliability and security.

Innovation Solution

A multi-process architecture is implemented, where a master process instantiates child processes and inter-process communication (IPC) channels, allowing direct peer-to-peer communication between child processes while managing security settings to minimize privileges and access, thereby isolating functions and reducing the attack surface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a monolithic application structure is used to simplify architecture, then device complexity is reduced, but reliability decreases as the number of functional segments increases

Engineering Contradiction:
Improveapplication architecture complexityVSAvoidapplication reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the monolithic application into multiple independent child processes, each handling specific functional segments. This segmentation isolates failures to individual processes while maintaining overall system functionality, thereby improving reliability without significantly increasing architectural complexity through the use of a master process coordinator.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a monolithic application structure is used to simplify architecture, then device complexity is reduced, but security risks increase due to increased attack surface and privilege requirements

Engineering Contradiction:
Improveapplication architecture complexityVSAvoidsecurity risks
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The application is segmented into multiple child processes with distinct security contexts and privilege levels. Each process has minimal necessary privileges for its specific function, reducing the overall attack surface. The master process acts as a security boundary, managing inter-process communication and preventing unauthorized access between segments.

Inventive Principle:
Principle #1Segmentation

3Reliability

If functional segments are divided amongst several processes to improve reliability, then reliability improves, but device complexity increases

Engineering Contradiction:
Improveapplication reliabilityVSAvoidapplication architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple child processes are merged under a single master process that provides centralized coordination, configuration management, and inter-process communication routing. This merging approach maintains reliability benefits of process separation while reducing architectural complexity through unified control, making the system easier to manage and deploy.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If functional segments are divided amongst several processes to improve reliability, then reliability improves, but engineering costs increase nonlinearly

Engineering Contradiction:
Improveapplication reliabilityVSAvoidengineering costs
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The master process provides universal functionality for managing all child processes, including process creation, configuration, communication coordination, and failure recovery. This multi-functional approach reduces engineering costs by reusing the same management infrastructure across all functional segments rather than implementing separate management systems for each process.

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

Data Source

PatentUS10846152B2Secured multi-process architecture
Publication Date: 2020.11.24 MOTOROLA SOLUTIONS INC
  • US10846152B2 patent drawing
  • US10846152B2 patent drawing
  • US10846152B2 patent drawing

AI summary

Methods, systems, infrastructures and techniques for operating a multi-process application are described. The method includes starting a master process and the master process instantiating a first child process and a first inter-process communication (IPC) channel; and instantiating a second child process and a second IPC channel. The method further includes the master process instantiating a third IPC channel used for a direct peer-to-peer (P2P) communication; and providing first and second handles of the third IPC channel to the first and second child processes, using the first and second IPC channels, respectively. The first child process and the second child process can communicate directly using the received first and second handles of the third IPC channel.