Dynamic Image Trampoline Calls for Faster Kernel Interface Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for running applications on electronic devices face low efficiency and fail to meet real-time performance requirements, particularly in embedded systems, where limited system resources and potential kernel attacks compromise reliability.

Innovation Solution

A program running method that utilizes a trampoline function pointer segment to directly access kernel or common code library interfaces, combined with dynamic image optimization and user-mode security checks, reducing resource overheads and minimizing kernel attack risks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional application running methods are used, then system resource overhead is reduced, but application running efficiency and real-time performance are low

Engineering Contradiction:
Improveapplication running efficiencyVSAvoidsystem resource overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the application image into multiple dynamic images, each corresponding to different function modules. This allows selective loading and execution of only necessary modules, improving running efficiency while reducing overall resource overhead by avoiding loading of unused components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compilation of the application into a segmented dynamic image structure before runtime. This pre-processing organizes code and data into executable segments with associated metadata, enabling fast loading and execution during runtime without compromising system resource overhead.

Inventive Principle:
Principle #10Preliminary action

2Speed

If kernel interfaces are accessed through traditional methods, then system reliability is maintained, but call time and response speed are slow

Engineering Contradiction:
Improvesystem function call timeVSAvoidsystem reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a trampoline function as an intermediary layer between user-mode application code and kernel-mode interfaces. This trampoline mechanism enables direct function pointer calls that bypass traditional system call overhead, significantly reducing call time while maintaining system reliability through controlled mode transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates copyable function pointers in the trampoline segment that reference kernel interfaces. These copied pointers can be directly used in user-mode code to invoke kernel functions without traditional indirect calling mechanisms, achieving fast direct addressing while preserving kernel protection boundaries.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If complete dynamic images including symbol tables are loaded, then application functionality is complete, but memory space and resource overhead increase

Engineering Contradiction:
Improvememory spaceVSAvoidloading and running efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts and removes the symbol table from the loaded dynamic image, keeping only the essential code and data segments necessary for execution. This extraction reduces memory space requirements significantly while maintaining complete application functionality, as symbol resolution is handled through the segmented structure and trampoline mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses lightweight segment headers and metadata structures instead of comprehensive symbol tables. These simplified structures consume minimal memory space and can be discarded or regenerated as needed, providing efficient loading and running without the overhead of maintaining complete symbol information in memory.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Reliability

If user-mode checking is implemented, then security against kernel attacks is improved, but system complexity increases

Engineering Contradiction:
Improvesecurity against kernel attacksVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary checking of dynamic images in user-mode before they are executed or loaded into kernel space. This pre-validation process verifies integrity and security attributes of the dynamic image, preventing malicious code from compromising the kernel while avoiding the need for complex continuous monitoring mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses the trampoline function as an intermediary that enforces security boundaries between user-mode and kernel-mode. The trampoline mechanism provides a controlled interface that allows necessary interactions while preventing unauthorized kernel attacks, improving security without significantly increasing system complexity through simple boundary enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4693037A1Program running method, and device
Publication Date: 2026.02.11 HUAWEI TECH CO LTD
  • EP4693037A1 patent drawingFigure 1~3A
  • EP4693037A1 patent drawingFigure 3B
  • EP4693037A1 patent drawingFigure 4

AI summary

A program running method and a device are provided, relate to the field of terminal technologies, and can improve efficiency of running an application. The method includes: obtaining a dynamic image of an application, where the dynamic image includes a trampoline function pointer segment, the trampoline function pointer segment includes at least one trampoline function pointer, the at least one trampoline function pointer corresponds to at least one interface, and the at least one interface includes an interface of a kernel or an interface of a common code library; and calling the interface of the kernel or the interface of the common code library based on the trampoline function pointer segment, to run the application.