Linux Container Application Startup Process

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for starting application programs in Linux containers are complex, allowing only one application program to be started at a time, requiring manual PID management for multi-process applications, and are prone to errors due to resource isolation issues.

Innovation Solution

A method where a first application start process is created within the container, which then creates and manages multiple second application start processes to simultaneously start multiple application programs using a single command, simplifying the process and maintaining a consistent execution environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If only one application program is started when a container is created, then the container execution environment remains simple and stable, but the operation complexity increases and productivity decreases when multiple application programs need to be started

Engineering Contradiction:
Improvenumber of application programs startedVSAvoidoperation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-configuring the container to accept multiple application program paths during container creation. The container start process is designed to read multiple application program paths from configuration files or command line parameters in advance, and automatically starts all specified application programs within the container without requiring external intervention for each program.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The container start process is enhanced to perform multiple functions: it not only starts a single application program but can simultaneously start multiple application programs by reading their paths from configuration files or command line parameters. This multi-functional design allows the same container initialization mechanism to handle both single and multiple application programs uniformly.

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

2Adaptability or versatility

If application programs are started outside the container and then migrated inside, then multiple application programs can be executed, but the execution environment changes during operation causing faults

Engineering Contradiction:
Improvenumber of application programs executedVSAvoidexecution environment stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent ensures that all application programs are started within the container's execution environment from the beginning, rather than migrating them from outside. The container start process reads application program paths and starts all specified programs inside the container simultaneously, maintaining a consistent execution environment throughout operation and avoiding faults caused by environment changes.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If manual PID management is required for multi-process applications, then precise process control is achieved, but the ease of operation deteriorates and error probability increases

Engineering Contradiction:
Improveprocess control precisionVSAvoidoperation simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The container start process automatically manages the starting and monitoring of multiple application programs without requiring manual PID intervention. It reads application program paths from configuration files or command line parameters, automatically starts them within the container, and monitors their execution status. This self-service mechanism eliminates the need for system administrators to manually manage PIDs while maintaining precise process control.

Inventive Principle:
Principle #25Self-service

4Productivity

If a single command starts multiple application programs in a container, then productivity increases and operation is simplified, but the device complexity of the container start process increases

Engineering Contradiction:
Improveapplication program startup efficiencyVSAvoidcontainer start process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The container start process is enhanced with preliminary action capabilities to read multiple application program paths from configuration files or command line parameters before starting the programs. It automatically manages the creation and monitoring of multiple application programs within the container, reducing the need for manual intervention and improving operational efficiency despite increased internal complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The container start process is designed as a multi-functional system that can handle both single and multiple application program startups through the same mechanism. It reads configuration information, starts multiple applications simultaneously, and monitors their execution, providing a unified interface that simplifies user operations while managing complex internal processes automatically.

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

Data Source

PatentUS9183008B2Method and system for starting application program in Linux container
Publication Date: 2015.11.10 HUAWEI TECH CO LTD
  • US9183008B2 patent drawing
  • US9183008B2 patent drawing
  • US9183008B2 patent drawing

AI summary

A method for starting an application program in a Linux container and a corresponding Linux system are provided, where the method includes: creating, by a container start process, a container according to a command entered by a user, creating a first application start process, and putting the first application start process into the container for execution; obtaining, by the first application start process, according to the command entered by the user, the number N of application programs to be started, and creating N−1 second application start processes, where N is a positive integer not less than 2; and starting, in the container, by the first application start process and the N−1 second application start processes, the N application programs to be started. By using technical solutions of the present invention, when the container is created, a plurality of application programs can be started simultaneously.