Dynamic Binary Translator Process Filesystem Administration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integration of program code from one processor architecture to another is complicated by the presence or absence of a process filesystem, and existing methods often require modification of the target operating system, which can destabilize it.

Innovation Solution

A translator process populates a process data structure with information about translator processes and refers to it in response to subject code references, allowing for consistent process information provision without modifying the target operating system, thereby enabling smooth program code conversion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the target operating system is modified to integrate subject process information, then compatibility with subject code is improved, but system stability deteriorates

Engineering Contradiction:
Improvecompatibility with subject codeVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the process information management by creating a separate virtual filesystem layer (proc filesystem) that sits between the subject code and the target operating system. This allows subject process information to be accessed independently without modifying the core target OS, thus maintaining stability while achieving compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary virtual filesystem layer that mediates between subject code references and target OS processes. This intermediary layer translates subject filesystem references into appropriate target OS operations, enabling compatibility without direct modification of the target OS and preserving its stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a process filesystem is provided for subject code, then code compatibility is improved, but device complexity increases

Engineering Contradiction:
Improvecode compatibilityVSAvoidfilesystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the subject process filesystem structure within the target OS environment. Instead of implementing a completely new complex filesystem, it replicates the essential proc filesystem structure and populates it with translated process information, simplifying the implementation while maintaining compatibility.

Inventive Principle:
Principle #26Copying

3Ease of operation

If translator processes are distinguished in the target process filesystem, then process management is improved, but difficulty of detecting and measuring increases

Engineering Contradiction:
Improveprocess managementVSAvoidtranslator process identification
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies local quality by giving translator processes a distinct characteristic marker within the virtual filesystem - specifically, translator processes appear as directories named after the subject processor type within the proc filesystem. This localized distinction makes translator processes easily identifiable without requiring complex detection mechanisms throughout the entire system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8286144B2Administering a process filesystem with respect to program code conversion
Publication Date: 2012.10.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8286144B2 patent drawing
  • US8286144B2 patent drawing
  • US8286144B2 patent drawing

AI summary

A technique is provided for administering references to a subject process filesystem during translation of subject code into target code in a dynamic binary translator. The subject code for execution on a subject processor is received by a translator, and corresponding target code for execution on the target processor is generated. The translator is arranged to establish, populate and maintain a process data structure, so that code can be generated by the translator in which subject references to the subject process filesystem are handled effectively.