Embedded Code Image Update with Incompatibility Reconciliation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional code image update methods fail to handle incompatibilities between old and new code images, leading to potential incompatibilities with software and hardware components, which can cause disruptions and require anticipatory reconciliation by the bootstrap code, unknown at the time of writing.
Innovation Solution
An apparatus and method that includes a loader, conversion module, and copy module to load the new code image into a temporary memory, reconcile incompatibilities by comparing version and capability information, and then copy the new code image into the old code image's memory space, preserving the old environment to facilitate reconciliation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional code overlay operations are used to update code image, then the update process is simple and fast, but incompatibilities between old and new code images cannot be handled, leading to potential failures
Solution Approach 1:
The patent applies preliminary action by executing bootstrap code from the new code image before the actual code overlay occurs. This bootstrap code runs in the environment of the old code image, allowing it to identify and reconcile incompatibilities (such as data structure format differences, parameter list changes, and hardware initialization variations) before the new code image completely replaces the old one. This prevents update failures while maintaining a relatively simple overall process.
2Loss of time
If the new code image is loaded and executed directly without reconciliation, then the update time is minimized, but incompatibilities cause system failures and interruptions
Solution Approach 1:
The patent uses the old code image environment as an intermediary to execute the bootstrap code of the new code image. This intermediary environment allows the bootstrap code to perform compatibility checks and reconciliations (such as updating data structure formats, adjusting parameter lists, and initializing hardware components) without disrupting the normal execution flow. The reconciliation happens transparently during the update process, minimizing time loss while ensuring reliability.
3Reliability
If the bootstrap code anticipates all incompatibilities in advance, then compatibility is ensured, but the bootstrap code becomes overly complex and cannot handle unknown incompatibilities
Solution Approach 1:
The patent applies dynamics by making the bootstrap code adaptive rather than static. Instead of hardcoding all possible incompatibility handling, the bootstrap code dynamically identifies incompatibilities during execution by comparing the new code image requirements with the old code image environment. It reconciles incompatibilities on-the-fly (such as dynamically adjusting data structure formats or initializing new hardware components) based on actual conditions encountered, keeping the bootstrap code simple while handling both known and unknown incompatibilities.
Data Source
AI summary
An apparatus, system, and method are provided for updating a code image. The apparatus, system, and method include a loader for loading a new code image into a temporary memory location separate from the memory location occupied by the old code image. A conversion module of the new code image executes and selectively reconciles incompatibilities between the old code image and the new code image. In one aspect, once incompatibilities are reconciled, a copy module copies the new code image into the memory space occupied by the old code image.


