Android OTA Update Method with Single Reboot and Power Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for updating Android operating systems on handheld devices require multiple reboots and are inefficient, especially when dealing with multiple versions and power failure recovery, affecting user experience and system security.

Innovation Solution

An over-the-air update method that allows multiple update packages to be transmitted and installed in a single reboot, using a command document with update commands arrayed in a front-to-back sequence, and includes mechanisms for power failure recovery by processing commands from the last completed row.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple delta packages are released for every version to match user devices, then all users can receive updates, but the update server management and compilation complexity increases significantly

Engineering Contradiction:
Improveupdate compatibilityVSAvoidupdate management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The update process is segmented into two phases: first, all delta packages are downloaded and stored in the cache directory during the first reboot; second, the system applies updates sequentially from the cached packages across multiple reboots. This segmentation allows the server to provide comprehensive update packages without requiring complex version-matching logic, as the client handles the segmentation and sequential application of updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by downloading and caching all necessary delta packages before the update process begins. The first reboot phase is dedicated to downloading and storing all update packages in advance, so that subsequent reboots can simply apply the pre-prepared updates without requiring real-time version matching or complex server-side compilation management.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If progressive updates are applied one version at a time with reboot after each update, then system stability is maintained, but user experience deteriorates due to multiple reboots

Engineering Contradiction:
Improvesystem stabilityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The update process achieves continuity by separating the download phase from the application phase. During the first reboot, all delta packages are downloaded and cached continuously without interruption. Then, subsequent reboots apply updates in sequence without needing to re-download or re-verify packages, maintaining continuous update progression while reducing total update time and minimizing user disruption.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

All update packages are preliminarily downloaded and cached in the first reboot phase before any actual system updates are applied. This preliminary action prepares all necessary update files in advance, so that subsequent reboots can quickly apply updates without prolonged download times, thereby reducing total update time while maintaining system stability through controlled sequential application.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If update commands are transmitted through command document with strict specifications, then command identification accuracy is ensured, but system flexibility and security are compromised

Engineering Contradiction:
Improvecommand identification accuracyVSAvoidsystem security
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The command document serves as an intermediary between the update server and the Recovery mode system. It uses a standardized format with clear delimiters (##BEGIN## and ##END##) and structured fields (update_package, update_type, version_name) that ensure accurate command identification while maintaining security through verified syntax. The intermediary format allows flexible update operations without compromising system security, as long as the document adheres to the specified structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the Recovery mode reboots once for each update package installation, then each update can be verified, but the update operation and factory reset can only be executed once per reboot cycle

Engineering Contradiction:
Improveupdate verificationVSAvoidoperation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The update process becomes dynamic by allowing multiple update packages to be applied across multiple reboot cycles. The system reads the command document sequentially and applies updates in order, with each reboot installing the next package in the sequence. This dynamic approach enables both update verification (each package is installed and verified in its own reboot) and operational flexibility (multiple updates and factory resets can be performed across different reboot cycles), resolving the contradiction between verification reliability and operation versatility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9319822B2Over-the-air update method for continuous delta of an Android operating system of a handheld device
Publication Date: 2016.04.19 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
  • US9319822B2 patent drawing
  • US9319822B2 patent drawing

AI summary

An over-the-air update method for continuous delta of an Android handheld device is provided, having advantages of transmitting a plurality of update packages, rebooting once to complete all updates after the update packages are executed, and meeting the update power failure recovery requirement. A command document is continuously processed from the interrupt row according to update information and processing progress after rebooting in cases of abnormal power failure in the update process. In addition, an update power failure recovery method for an Android handheld device is provided. Rebooting is only required once no matter how many update packages are installed. Obstacle to release of a plurality of packages does not exist. The plurality of update packages are provided with update power failure protection. Processing is convenient and realization is reliable.