Binary Incremental Package Generation for Mobile App Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software upgrade methods for mobile terminals have a low success rate and high upgrade cost due to large software upgrade packages and complex wireless network environments, particularly in GPRS networks with gateway restrictions and slow speeds.

Innovation Solution

A method and system that generate a binary incremental package by comparing the current and new versions of an application using a binary file difference tool, allowing the package to be pushed to the mobile device via a wireless network, where it is merged with the existing version to update the application, reducing the size of the download and increasing success rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete software upgrade package is downloaded, then the application can be upgraded to the new version, but the download size is large and the download time is long

Engineering Contradiction:
Improveupgrade success rateVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The software upgrade package is segmented into two parts: the existing application version already installed on the mobile device and the incremental update package. Only the differential portion (incremental package) is downloaded, while the main body (existing version) is reused locally. This segmentation reduces download size and time while maintaining complete upgrade functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The incremental package extracts and contains only the necessary update components from the complete upgrade package. By using binary file difference tools, the system extracts only the changed portions (new features, bug fixes, updates) and excludes unchanged components, thereby reducing the download payload to the minimum necessary size.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If a complete software upgrade package is downloaded, then the application can be upgraded to the new version, but the download package size is large leading to high upgrade cost

Engineering Contradiction:
Improveupgrade success rateVSAvoiddownload package size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The upgrade package is segmented into the existing application (already present on device) and the incremental update (downloaded). This segmentation ensures that only the necessary differential data is transmitted, reducing package size by 30-60% compared to complete package downloads, thereby lowering data consumption costs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of the upgrade package from 'complete package' to 'incremental differential package'. By altering the package composition parameter to include only changed files and metadata, the overall package size is reduced while maintaining upgrade integrity through verification mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a complete software upgrade package is downloaded, then the application can be upgraded, but in complex wireless network environments like GPRS with gateway restrictions, the download is prone to failure

Engineering Contradiction:
Improveupgrade success rateVSAvoidnetwork environment complexity
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

Instead of downloading the complete upgrade package (excessive action), the system downloads only the partial incremental portion necessary for the upgrade. This partial action approach reduces the impact of network restrictions and failures, as the smaller package is more resilient to gateway restrictions and slower network speeds characteristic of GPRS environments.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary actions by retaining the existing application version on the mobile device before the upgrade. This preliminary state serves as a baseline that allows the incremental package to be applied locally without requiring complete package integrity during download, thereby reducing the impact of network issues on upgrade success.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9128797B2Method and system for software upgrade
Publication Date: 2015.09.08 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US9128797B2 patent drawing
  • US9128797B2 patent drawing
  • US9128797B2 patent drawing

AI summary

A method of upgrading an application installed on a mobile device is performed at a server. The method includes: determining a current version of the application installed on the mobile device and a new version of the application to be installed on the mobile device; generating a binary incremental package by comparing the current version of the application and the new version of the application using a binary file difference tool; in response to a upgrade request from the mobile device: pushing the binary incremental package to the mobile device through a wireless network; and receiving an application upgrade confirmation message from the mobile device. The mobile device is configured to reconstruct a version of the application and replace the current version of the application with the new version of the application using the reconstructed version of the application.