Advertisement

Software update methods for Android-based devices

Software update methods for Android-based devices

Companies adopting Android should consider Firmware-Over-The-Air (FOTA)

BY NING CHEN
Wind River, Alameda, CA
www.windriver.com

Original equipment manufacturers, original design manufacturers, and other embedded system R&D firms looking to adopt Android as the operating system for their designs should take time to consider their approach to software updates. One approach is Firmware-Over-The-Air (FOTA). FOTA allows end users to receive software updates and helps reduce customer support costs and increase consumer satisfaction.

As the tasks and complexities of embedded software systems rapidly increase, FOTA is an important way to keep end users updated with the newest software for new functions, defect fixes, or protection from malicious attacks. This is especially relevant for Android, considering that it has had no fewer than six releases, each with a host of new features, capabilities, and limitations since Android 1.1 was released over a year ago. Given that update services are critical for Android devices, let’s look at what kind of factors are important for such a service. Consider these key points:

1. Error tolerance . Updates performed by end users who do not possess expert knowledge could create complications, so it is vital to have the ability to keep the devices recoverable from possible errors resulting from the update, such as power failure, corrupt packages, and disk errors.

2. Security . Only authorized packages should be downloaded and installed to prevent malicious package input. Usually, update packages need to be signed by a private key from the issuer, and then this is verified by the update agent on the device using a pre-installed public key.

3. Integration with the system . Several elements of the software system can be updated through FOTA such as the boot loader, firmware inside hardware, operating system, applications, user data, and the update agent itself. The integration between the software system and the FOTA client must be designed very carefully, and all possible routines and scenarios validated.

4. Compliance of industry standards to ensure interoperability . The Open Mobile Alliance Firmware Update Management Object (OMA FUMO) is the most widely adopted standard for FOTA and compatibility ensures interoperability with FUMO-compatible servers.

5. Algorithms used to generate the update packages . Update packages need to be distributed to end users through a wireless system, so smaller packages can create better user experiences since they would deliver shorter download times and lower cost. The more efficient the algorithms used to calculate the delta between two versions, the smaller the update package can be.

You may wonder if FOTA shouldn’t naturally be part of Android systems since almost every Android phone in the market has an update capability. Unfortunately, this is not always the case. Google does provide an update service called GOTA, but it is typically only available for select Google partners.

There are also some requirements to factor in when integrating the GOTA client. First, the device needs to fully comply with the Android Compatibility Test Suite (CTS) and Compatibility Definition Document (CDD). Second, Google Mobile Services (GMS) must be preinstalled to allow users to login with a Google account. Also, each device mode with GOTA must get type approval from Google. So, GOTA may not be the perfect approach to deploy update services for all device makers, especially for non-phone device makers.

Alternatively, here are several possible approaches to deploy an update service for Android devices. The first approach is to develop an update service on its own. For example, Motorola developed a dedicated FOTA service for Blur phones with the implementation of both the client and server. Obviously, this approach is only possible for major manufacturers who have the resources to develop the client and maintain the servers.

The second approach is to integrate a FOTA solution from a commercial third party. FOTA is a complex system and there is no simple way to conduct system integration. Device behaviors and integration must be designed carefully and then validated with different update scenarios and environments. This process could be quite time consuming and given that, it may be difficult to control total costs.

The third approach is to choose a commercial Android platform that is already pre-integrated with a FOTA solution. For example, Wind River Platform for Android, has a pre-integrated FOTA solution that can be verified and validated with different carrier’s FUMO-compatible servers in a commercial environment.

In the end, manufacturers must consider multiple factors when choosing their approach to deploy update services for Android devices. ■

Advertisement



Learn more about Wind River

Leave a Reply