Binary Incremental Package Generation for Mobile App Upgrades
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


