Application Upgrade Patching via Custom Data Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application upgrade methods require multiple patch packages for different customized information portions, leading to a heavy workload for developers and potential signature verification failures.

Innovation Solution

A method that removes customized information from both old and new installation packages, generates a patch package based on their data portions, and adds customized information back to the new package, allowing for a single patch package to be used across various customized information versions, while optimizing memory usage and maintaining signature verification integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the bsdiff algorithm is used to generate patch packages for different customized information portions, then the application can be upgraded with difference operation, but the developer has to provide many different patch packages for the same version of application with different customized information portions

Engineering Contradiction:
Improveupgrade correctnessVSAvoidpatch package management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the customized information portion from the installation package, separating it from the data portion. This allows the patch package to be generated only for the data portion, while the customized information portion is handled separately and added back after patching, thus eliminating the need for multiple patch packages for different customized information versions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The installation package is segmented into two distinct parts: the data portion (which contains the actual application code and resources) and the customized information portion (which contains release channel and other customized data). This segmentation enables independent processing of each part during the upgrade process.

Inventive Principle:
Principle #1Segmentation

2Reliability

If patch packages are generated for each customized information portion, then signature verification can be performed accurately, but the workload for developers increases significantly

Engineering Contradiction:
Improvesignature verification accuracyVSAvoiddeveloper efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The customized information portion is extracted and set aside before generating the patch package. This ensures that the patch package only contains differences in the data portion, maintaining signature verification accuracy for the patched components while eliminating the need to generate multiple patch variants for different customized information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The customized information portion is removed and preserved before the patching operation begins. After the patch package is applied to generate the new installation package, the customized information portion is added back in a preliminary prepared state, ensuring both verification accuracy and reduced workload.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the entire installation package is processed for patching, then complete upgrade functionality is achieved, but the upgrade time and traffic consumption increase

Engineering Contradiction:
Improveupgrade completenessVSAvoidupgrade time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of processing the entire installation package for patching, the method applies partial action by generating patch packages only for the data portion. The customized information portion is excluded from the patching process entirely and added back afterward, significantly reducing the amount of data that needs to be processed during the upgrade.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The customized information portion is extracted and removed from the installation package before the patching operation. This reduces the size of the data that must be processed during the difference operation, thereby reducing both upgrade time and traffic consumption while maintaining complete upgrade functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9104520B2Method and apparatus for upgrading application
Publication Date: 2015.08.11 SUPERCELL
  • US9104520B2 patent drawing
  • US9104520B2 patent drawing
  • US9104520B2 patent drawing

AI summary

The present invention provides a method for upgrading an application, and the method includes: obtaining a patch package corresponding to a current installation package of an application; removing a customized information portion from the current installation package and obtaining a data portion of the current installation package; generating a data portion of a new installation package according to the patch package and the data portion of the current installation package; obtaining the new installation package by adding the customized information portion to the data portion and the new installation package; installing the new installation package.