Dynamic Version Management via Modular Addressing Maps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current applications for resource-constrained terminals require excessive storage space and result in undesirable download times due to the need for full updates, and they often cannot store multiple versions of the same application due to limited resources.
Innovation Solution
The system modifies an application program by creating a modified application with redirectable shared method calls and constructing an addressing map to map direct relationships between these calls and private addresses, allowing for partial updates and hosting in a runtime environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full application updates are downloaded, then application functionality is ensured, but storage space requirements increase and download times increase
Solution Approach 1:
The application is divided into multiple independently updatable modules. Each module can be updated separately without requiring download of the entire application, thereby reducing storage space requirements while maintaining application functionality through selective module updates.
Solution Approach 2:
Only the changed portions of the application are extracted and downloaded during updates, rather than the entire application. This allows the system to maintain functionality by applying only necessary changes while minimizing storage space consumption.
2Reliability
If full application updates are downloaded, then application functionality is ensured, but download time increases
Solution Approach 1:
The application is segmented into modular components that can be updated independently. This enables selective downloading of only changed modules, significantly reducing download time while ensuring application functionality is maintained through targeted updates.
Solution Approach 2:
Instead of performing complete application updates, the system applies partial updates by downloading and installing only the necessary changed portions. This partial action approach maintains functionality while minimizing download time.
3Adaptability or versatility
If multiple application versions are stored, then version flexibility is improved, but storage space requirements increase
Solution Approach 1:
Applications are stored as modular components that can be selectively downloaded and updated. This segmentation enables the system to maintain multiple versions with different feature sets without requiring storage of complete application copies, thereby achieving version flexibility while minimizing storage space usage.
Solution Approach 2:
Different application versions are differentiated by local module variations rather than complete application differences. This allows the system to store only the distinctive portions of each version, achieving version flexibility with reduced storage requirements.
4Productivity
If application modules are dynamically modified, then update efficiency is improved, but system complexity increases
Solution Approach 1:
A migration instruction set acts as an intermediary that coordinates the dynamic modification of application modules. This intermediary component manages the complexity of module modification by providing structured instructions for creating modified execution pathways, thereby achieving update efficiency while containing system complexity through a dedicated coordination layer.
Solution Approach 2:
The system creates copies of execution pathways when modifying modules, allowing changes to be made without affecting the original application structure. This copying mechanism simplifies the modification process by providing isolation between versions, thereby improving update efficiency while managing complexity through replicated structures.
Data Source
AI summary
Current applications, in particular for resource constrained terminals, may only require access to an updated version of an application, but updates of current applications must typically be downloaded in their entirety. Further, multiple versions of the same application typically cannot be stored on the device, as resources can be limited. Contrary to current application management systems, there is provided systems and methods of modifying an application program for provisioning in a runtime environment of a terminal, the application including a plurality of uniquely addressable logical modules having respective executable methods, where the modules are linked by a set of execution pathways. One such method comprises the steps of obtaining a migration instruction set for coordinating the modification of the application and executing the migration instruction set for modifying a first execution pathway of the execution pathways to create a modified application. The first execution pathway represents a redirectable shared method call of a first executable method linking a pair of the modules, the first executable method being of the respective executable methods. This method also includes constructing an addressing map for mapping a direct relationship between the redirected shared method call and a corresponding private address of the first executable method, the private address configured for use by one of the pair of modules as an internal reference to the first executable method. The resulting updated version of the application is represented by a stored addressing map for coordinating hosting of the modified application in the runtime environment, as well as any associated modules.


