CPU-independent Application Package Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for generating application packages are inefficient as they require repeated tasking for software version upgrades across various CPUs, leading to increased development burden and complexity in creating platform-independent packages.

Innovation Solution

An electronic device generates a CPU-independent application package using binary and build information, which is then transferred to a server that optimizes and distributes the package for different platforms, reducing the need for repeated development by converting the package to be executable on multiple CPU types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers generate application packages for each CPU type and software version separately, then platform-specific compatibility is improved, but development time and complexity increase

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary representation (IR) as a mediator between source code and platform-specific machine code. The IR serves as an intermediate format that captures the essential logic of the application without being tied to any specific CPU architecture, allowing the same IR to be translated into multiple platform-specific formats without regenerating the entire application package from source

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary compilation of source code into an intermediary representation that is independent of target platforms. This preliminary action separates the platform-independent logic extraction from platform-specific code generation, allowing developers to compile once and then efficiently generate multiple platform-specific versions without repeating the entire compilation process

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If developers regenerate application packages for every software version upgrade, then version-specific optimization is improved, but productivity decreases

Engineering Contradiction:
Improveversion compatibilityVSAvoiddevelopment efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent segments the application package generation process into distinct components: source code compilation to intermediary representation, and intermediary representation translation to platform-specific formats. This segmentation allows the version-independent IR to be reused across multiple versions, requiring only the translation step to be repeated rather than the entire compilation process

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables parameter changes in the build configuration (such as target platform, optimization levels, and version-specific settings) while reusing the same intermediary representation. This allows the system to adapt to different software versions and platform parameters without regenerating the core application logic, significantly improving development efficiency for version upgrades

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If a single application package is made executable across multiple platforms, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvecross-platform executionVSAvoidpackage structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The intermediary representation serves as a compact, standardized intermediate format that simplifies the structure of cross-platform application packages. Instead of maintaining separate complete binary versions for each platform, the system stores the platform-independent IR along with platform-specific translation rules, reducing overall package complexity while enabling cross-platform execution

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal intermediary representation that can be translated into multiple platform-specific formats, making the application package structure universally applicable across different CPU architectures. This universal IR format simplifies the package structure by eliminating the need for platform-specific binary sections, achieving cross-platform compatibility through a single unified representation

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

Data Source

PatentEP2930616B1Device and method for generating application package
Publication Date: 2021.06.09 SAMSUNG ELECTRONICS CO LTD
  • EP2930616B1 patent drawingFigure 1
  • EP2930616B1 patent drawingFigure 2
  • EP2930616B1 patent drawingFigure 3

AI summary

A method of a server and an electronic device are provided. The method includes receiving a package generated with an intermediate representation from a first electronic device; receiving build environment information on at least one third electronic device from a second electronic device; and generating an application package to be executed in the at least one third electronic device, based on the package or the build environment information. The electronic device includes a build unit configured to generate a Central Processing Unit (CPU-independent) binary and build information for CPUs involved in two or more third electronic devices; a package generation unit configured to generate a CPU-independent application package using the generated CPU-independent binary and the generated build information; and a package registration unit configured to transmit the generated CPU-independent application package to a server.