Dynamic Binary Library Overloading on Write-Protected Firmware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current firmware update methods for write-protected devices require replacing the entire set of system binaries and programs, making it difficult to rapidly test small changes or feature upgrades without significant overhead and risk, and complicating the assessment of individual changes within deployed products.

Innovation Solution

A method for loading alternative binary libraries onto a write-protected device, allowing selected binary libraries to be replaced and tested without reinstalling the firmware, using a random access memory storage area and environment variables to manage the transition, enabling incremental changes and rapid reversion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware updates replace the entire set of system binaries and programs, then reliability is improved, but loss of time and device complexity increase

Engineering Contradiction:
Improvefirmware update reliabilityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the firmware into individual binary libraries that can be updated independently. Instead of replacing the entire firmware set, only the specific binary libraries needing updates are replaced, reducing update time while maintaining reliability through targeted updates of critical components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic overloading capability where binary libraries can be dynamically replaced during execution. This allows the system to transition from static firmware updates to dynamic updates, enabling time-efficient updates without compromising reliability through controlled replacement mechanisms.

Inventive Principle:
Principle #15Dynamics

2Reliability

If firmware updates replace the entire set of system binaries and programs, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefirmware update reliabilityVSAvoidupdate process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the firmware into separable binary libraries with unique identifiers, allowing the system to track and update only specific components. This segmentation simplifies the update process by eliminating the need to manage complete firmware replacements, reducing complexity while maintaining reliability through precise targeting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the overloading system with binary library identifiers) that mediates between the update process and the running system. This intermediary layer manages the complexity of selective updates, coordinating replacements without affecting the overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If complete firmware updates are performed, then feature upgrades are achieved, but loss of time increases

Engineering Contradiction:
Improvefeature upgrade capabilityVSAvoidupdate time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments firmware features into individual binary libraries, enabling selective updates of only the libraries containing new features or bug fixes. This allows rapid feature deployment without requiring complete firmware replacements, significantly reducing update time while maintaining full adaptability for feature upgrades.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables dynamic feature deployment through runtime overloading of specific binary libraries. New features can be introduced by replacing only the affected libraries rather than performing complete firmware updates, achieving fast feature rollout with minimal time loss.

Inventive Principle:
Principle #15Dynamics

4Reliability

If write-protected firmware is used, then reliability is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvefirmware protection reliabilityVSAvoidbinary library replacement ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces dynamic overloading capability that allows binary libraries to be replaced at runtime despite write-protection. This dynamic mechanism maintains the reliability benefits of write-protected firmware while enabling easy operation through automated library replacement without requiring physical access or complex manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements self-service functionality where the system can automatically perform binary library replacements through the overloading mechanism. This eliminates the need for manual firmware flashing or complex update procedures, making operation easy while preserving the reliability advantages of write-protected firmware storage.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9043779B2Loading remote binaries onto a write-protected device
Publication Date: 2015.05.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9043779B2 patent drawing
  • US9043779B2 patent drawing
  • US9043779B2 patent drawing

AI summary

A binary library overload instruction is received at an embedded computing device that executes a write-protected firmware build. The binary library overload instruction specifies a write-protected binary library of the write-protected firmware build to be overloaded by execution of an alternative binary library instead of the write-protected binary library of the write-protected firmware build. The alternative binary library is configured within a random access memory (RAM) storage area to execute instead of the write-protected binary library as specified in the received binary library overload instruction. The write-protected firmware build is executed using the alternative binary library instead of the write-protected binary library specified in the binary library overload instruction.