Virtual Root Process for Software Partition Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In application software partitions, existing mechanisms result in the loss of resource usage statistics and return codes for child processes when they are re-parented to the global root process, leading to inaccurate completion indications and violations of the software partitioning paradigm.

Innovation Solution

A virtual root process is created within the software partition to re-parent child processes, allowing for the collection of return codes and resource usage statistics, and preventing premature exit by maintaining the child processes in its list, using a data structure that includes process and virtual process identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If child processes are re-parented to the global root process when their parent terminates, then the process tree structure is maintained, but resource usage statistics and return codes are lost

Engineering Contradiction:
Improveprocess tree structureVSAvoidresource usage statistics
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The patent introduces an intermediary data structure (process information structure) that acts as a mediator between the global root process and child processes. This structure stores and preserves resource usage statistics and return codes, allowing the root process to access this information without directly managing the child processes. The intermediary structure maintains the process tree stability while preventing information loss during re-parenting operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the launcher process exits before child processes complete, then the application software partition can terminate, but false completion indications occur and resource tracking becomes inaccurate

Engineering Contradiction:
Improvepartition termination speedVSAvoidcompletion indication accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the global root process continuously monitors child process status through the intermediary data structure. Even after the launcher process exits, the root process receives feedback about child process completion status and resource usage statistics. This allows the system to accurately determine when all child processes have completed before terminating the partition, preventing false completion indications while maintaining efficient termination.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If a virtual root process is created to re-parent child processes, then resource tracking accuracy improves, but system complexity increases

Engineering Contradiction:
Improveresource usage tracking accuracyVSAvoidprocess management structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent makes the global root process multi-functional by assigning it dual roles: (1) its traditional role as the system-wide root process, and (2) the role of a virtual root process for the application software partition. The root process uses a single intermediary data structure to manage both system-wide processes and partition-specific child processes. This universal approach improves resource tracking accuracy without significantly increasing system complexity, as it reuses existing root process infrastructure.

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

Data Source

PatentUS8935665B2Managing an application software partition
Publication Date: 2015.01.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8935665B2 patent drawing
  • US8935665B2 patent drawing
  • US8935665B2 patent drawing

AI summary

A computer implemented method, apparatus, and computer usable program code for managing a software partition in logical partitioned data processing system. A virtual root process is created for the software partition, wherein the virtual root process functions as a root process for the software partition. The set of child processes is re-parented to the virtual root process in response to termination of a process having a set of child processes.