Transparent Linker Profiler for Firmware Update Package Size Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating firmware in electronic devices, such as mobile phones and PDAs, face challenges in determining changes between builds due to lack of profile information and object sequence data, leading to inefficient generation of difference information and compactness of update packages.

Innovation Solution

A transparent linker profiler tool is employed to collect profile information during the linker phase, creating a profile database for subsequent builds, and managing linker-specific information to optimize the linking process, thereby reducing the impact of object ordering changes and generating more compact update packages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Weight of stationary object

If a transparent linker profiler tool is employed to collect profile information and maintain object ordering, then the compactness of update packages is improved, but the device complexity increases

Engineering Contradiction:
Improveupdate package sizeVSAvoidlinker profiler tool complexity
Core Design Contradiction:
Weight of stationary objectVSDevice complexity

Solution Approach 1:

A transparent linker profiler tool is introduced as an intermediary between the linker and the build process. This tool collects profile information about object ordering and linker behavior without interfering with the core linking functionality. The profiler acts as a mediator that captures metadata about the linking process, enabling subsequent builds to leverage this information for optimizing update package generation while maintaining the simplicity of the original linker interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The linker profiler tool performs preliminary collection of profile information during the linker phase of the build process. By capturing object ordering and linker behavior data in advance, the system prepares reference profiles that can be used in subsequent builds to predict and maintain optimal object sequences. This preliminary action enables the generation of more compact update packages by avoiding redundant information in later builds.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If profile information is collected and stored for subsequent builds, then the accuracy of difference prediction is improved, but the loss of information increases

Engineering Contradiction:
Improvedifference prediction accuracyVSAvoidprofile information retention
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The linker profiler tool implements feedback by collecting profile information about object ordering and linker behavior during each build, then using this information to inform subsequent builds. The profiler captures reference data about the linking process and makes this information available for prediction algorithms to accurately determine differences between builds. This feedback loop enables high-accuracy difference prediction while the profile database retains necessary information across builds.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system creates a profile database that copies and stores reference information about object ordering and linker behavior from previous builds. Instead of losing information, the profiler tool creates a reference copy that can be reused in subsequent builds. This copying mechanism preserves the essential profile data needed for accurate difference prediction while allowing the build process to proceed efficiently without carrying over all original build-specific information.

Inventive Principle:
Principle #26Copying

3Productivity

If object sequence information is maintained across builds, then the efficiency of difference information generation is improved, but the device complexity increases

Engineering Contradiction:
Improvedifference information generation efficiencyVSAvoidobject sequence management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The linker profiler tool enables the build system to serve itself by automatically collecting, storing, and utilizing profile information about object ordering without requiring manual intervention. The profiler self-manages the profile database, automatically capturing reference data from each build and making it available for subsequent builds. This self-service mechanism improves the efficiency of difference information generation by maintaining object sequence information across builds while avoiding the need for complex manual management processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7689982B1Transparent linker profiler tool with profile database
Publication Date: 2010.03.30 QUALCOMM INC
  • US7689982B1 patent drawing
  • US7689982B1 patent drawing
  • US7689982B1 patent drawing

AI summary

A linker profiler tool facilitates maintenance and management of object ordering between releases of firmware. By maintaining object ordering, code differences between firmware builds are reduced, which reduces the size of a package of update information used to update an electronic device from one version of firmware to another. Information used by an object code linker in a firmware build activity is processed to minimize changes in code object ordering between builds. The impact on the size of the update information caused by updates to firmware/software component in the build is thereby reduced to a minimum.