CPU-independent Application Package Generation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Manufacturing precision
If developers regenerate application packages for every software version upgrade, then version-specific optimization is improved, but productivity decreases
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
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
3Adaptability or versatility
If a single application package is made executable across multiple platforms, then adaptability is improved, but device complexity increases
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
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
Data Source
Figure 1
Figure 2
Figure 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.