Dynamic Version Management via Modular Addressing Maps

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If full application updates are downloaded, then application functionality is ensured, but storage space requirements increase and download times increase

Engineering Contradiction:
Improveapplication functionalityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If full application updates are downloaded, then application functionality is ensured, but download time increases

Engineering Contradiction:
Improveapplication functionalityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple application versions are stored, then version flexibility is improved, but storage space requirements increase

Engineering Contradiction:
Improveversion flexibilityVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

4Productivity

If application modules are dynamically modified, then update efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7793281B2System and method for dynamic version management of applications
Publication Date: 2010.09.07 MALIKIE INNOVATIONS LTD
  • US7793281B2 patent drawing
  • US7793281B2 patent drawing
  • US7793281B2 patent drawing

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.