Dynamic Application Repair via Segmented Code Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The lengthy process of reviewing and repairing third-party applications on mobile terminals, such as iOS, results in delayed updates, increased costs, and a higher crash rate, negatively impacting user experience.

Innovation Solution

A method and system for dynamically repairing applications by receiving a pre-configured repaired program segment from a server, storing its address in the application, and executing it during runtime, allowing for online updates without taking the application offline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application undergoes formal review process before release and after repair, then the application quality and stability are improved, but the repair time and cost increase significantly

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

Solution Approach 1:

The application is segmented into multiple independent program segments, each with its own entry point and functionality. This allows individual segments to be repaired and updated independently without requiring review of the entire application, thus reducing repair time while maintaining quality through targeted updates of only the affected segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic code loading and execution mechanisms that allow repaired program segments to be loaded and executed without traditional reinstallation and reapproval processes. The application can dynamically switch between original and repaired segments, enabling rapid updates while maintaining quality assurance through the structured segment architecture.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the application is taken offline for repair and reapproval, then the errors are fixed and quality is improved, but the productivity and user experience deteriorate

Engineering Contradiction:
Improveerror correctionVSAvoidupdate speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The application structure is prepared in advance with pre-defined program segments and entry points that facilitate quick repairs. When errors are detected, the system can immediately load pre-prepared repaired segments without requiring full application reapproval, thus maintaining error correction while significantly improving update speed and avoiding offline periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism (program segment management layer) that sits between the application code and the execution environment. This intermediary enables rapid deployment of repaired segments by managing the transition from original to repaired code without requiring the application to go fully offline or undergo complete reapproval, thus fixing errors while maintaining high productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional application repair process is used, then the application errors are fixed, but the cost increases and user experience worsens due to lengthy offline periods

Engineering Contradiction:
Improveerror fixingVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

By segmenting the application into independent executable units with defined entry points, the system enables targeted repairs that do not require full application shutdown or user notification. Users experience no interruption as only specific segments are updated in the background, maintaining ease of operation while ensuring errors are fixed through the structured segment architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dynamic code loading mechanism allows repaired segments to be seamlessly integrated into the running application without requiring users to reinstall or restart the entire application. This dynamic update process maintains continuous service availability and smooth user experience while effectively fixing errors through the replacement of specific program segments.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10929121B2Method, device and related system for dynamically repairing application
Publication Date: 2021.02.23 ALIBABA GROUP HOLDING LTD
  • US10929121B2 patent drawing
  • US10929121B2 patent drawing
  • US10929121B2 patent drawing

AI summary

Disclosed is a method for dynamically repairing an application, which includes: a client receiving a pre-configured repaired program segment; the repaired program segment is stored; an address that stores the repaired program segment is recorded; the address of the repaired program segment is stored in an application APP, and when the APP is in operation, the APP calling the repaired program segment via the address of the repaired program segment. Correspondingly, the present invention further discloses a device for dynamically repairing an application and a related system.