Interposing Library for Cross-Platform Function Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in executing applications across different operating systems without requiring an executing copy of the original OS, particularly in translating function calls and tracing library interactions.

Innovation Solution

The method involves generating interposing libraries from a function specification file, which translates function calls between different operating systems, allowing applications compiled for one OS to execute on another OS without an executing copy of the original OS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an application is compiled for a specific operating system, then it can execute efficiently on that OS, but it cannot execute on different operating systems without an executing copy of the original OS

Engineering Contradiction:
Improvecross-platform execution capabilityVSAvoidrequirement for executing copy of original OS
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an interposing library that acts as an intermediary between the application and the host operating system. This library translates function calls from the target OS API to the host OS API, enabling the application to execute on a different OS without requiring an executing copy of the original OS. The interposing library serves as a mediator that handles the incompatibility between different OS environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the target operating system's library functions in the form of an interposing library. This copied library contains translated versions of the target OS functions that call the corresponding host OS functions, allowing the application to interact with a simulated target OS environment without actually running the target OS.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If function calls are translated between different operating systems, then cross-platform execution is enabled, but tracing and debugging of library calls becomes difficult

Engineering Contradiction:
Improvefunction call translation capabilityVSAvoidtracing and debugging complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The interposing library serves as a tracing intermediary that logs all function calls between the application and the host operating system. By positioning the library in the call chain, it can capture and record function call parameters, return values, and execution flow, making debugging and analysis possible despite the translation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The interposing library automatically generates trace information and debugging data as part of its translation function. It self-services the debugging requirement by incorporating logging capabilities directly into the translation mechanism, eliminating the need for separate tracing infrastructure.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If interposing libraries are manually created for each function, then translation accuracy is high, but the development time and effort are excessive

Engineering Contradiction:
Improvetranslation accuracyVSAvoidlibrary generation efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system automatically generates interposing libraries by analyzing the application's function calls and creating the necessary translation code. This self-service approach to library generation maintains translation accuracy while dramatically reducing development time and effort compared to manual creation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of the application to identify required function translations before generating the interposing library. This preliminary action ensures that all necessary functions are captured with accurate translations while automating the tedious manual creation process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3502888B1Specification files for call translation and trace
Publication Date: 2025.04.30 SHAFFER JOSHUA
  • EP3502888B1 patent drawingFigure 1
  • EP3502888B1 patent drawingFigure 2
  • EP3502888B1 patent drawingFigure 3

AI summary

A method and apparatus for storing a function specification file is described. In an exemplary method, the function specification field is capable for providing other software to facilitate execution of an application in a second operating system with the presence of a first operating system and the application is compiled for the first operating system. In another exemplary method, a preprocessor receives the function specification file comprising function definition data for a library function. The preprocessor processes the function definition data to generate header information and function code for the function. In another exemplary method, the preprocessor generates an automatic logging framework for the interposing library based on the function definition data. Further, a function in an interposing library logs calls to a corresponding library function.