Would you like to ...

  • Efficiently update thousands of ground devices over a satellite link that come and go?
  • Be resilient to loss of connection during data transfers?
  • Guarantee all devices are updated as quickly as possible?
  • Minimize transmission overhead and coordination?
  • Reduce maintenance costs for ground devices to a minimum?
  • Send content to ground devices using the minimum amount of resources?

... then OTAcast the solution you need.


The Problem

Customers expect regular content, feature, security and firmware updates to be part and parcel of any technology offering in today’s market, and IoT devices, satellite phones, VSAT and other satellite connected ground devices are no exception. The number of such satellite connected devices in use and the size of their firmware and content updates will continue to increase in the future, making it imperative to use an efficient and scalable solution to handle updates.

Especially in satellite networks, broadcasting updates to all devices in parallel is the most efficient delivery method, but due to the mobility of Low Earth Orbits (LEO) satellites and ground devices (e.g. tracking devices and satellite phones) such methods can easily end with each device missing some piece(s) of the data & rarely the same pieces!

The Solution

Use OTAcast to solve this problem by encoding the update so every data packet received by a device provides new information which helps to finish the transfer. OTAcast removes the need to worry which piece is missing on a device and prevents wasted resources from receiving duplicate data. Transfers complete once a device receives a fixed number of data packets. Devices will never need to wait for a specific data packet. This makes OTAcast the fastest way to update an unlimited number of devices, with files up to gigabytes in size.

Since efficiency of OTAcast is independent of the number of devices to be updated. This ensures OTAcast scales well with future growth.

LEO constellation

Here two solutions for updating devices are simulated: OTAcast, where the update is finished when a given number of data packets have been received, and Uncoded, where each device needs to receive each and every part of the update at least once.

Restart Animation

Even with a small file (split into 100 packets) and few ground devices (15) the simulation shows that all devices quickly receive the complete file using the OTAcast solution, whereas - when packets are transmitted uncoded - devices waste up to 10 times more time and power waiting for their missing parts.

GEO constellation

Devices served by satellites in Geostationary Orbit (GEO) ideally have a continuous connection to the satellite, but in reality the connection can be interrupted by bad weather and especially, if the device is mobile, may be out of reach from time to time, making it likely that each device in this case will also end up missing different parts of an update. Preferably the update should be transmitted during network idle time, making the receipt of the update seem intermittent to the ground device. In this case too, OTAcast will make sure all devices receive updates in the shortest time, while maximizing the availability of the network for other uses.

Restart Animation


The Magic

When a file is coded using OTAcast it is transformed into a linear equation system using patented RLNC technology. An unlimited number of interchangeable equations can be generated by the encoder and transmitted to the ground devices. When a receiver has collected enough equations to solve the linear equation system it can recreate the file. The encoding and decoding algorithm is optimized for minimizing the processing load and memory requirements at the receiver in the ground device. Transforming the file into a linear equation system only adds up to 2% to the file size.

Use cases

In addition to e.g. firmware updates, the OTAcast solution is equally well suited to other multicast applications, e.g. weather and ice map updates for ships, broadcasting intelligence information, updating media files in crew welfare solutions, etc. OTAcast can also be used in bandwidth limited terrestrial IoT networks, making sure every data packet received by an IoT device is useful, minimizing power usage on hard to service ground devices when receiving data.

Comparison

OTAcast's perpetual erasure coding algorithm provides superior features and flexibility compared to other coding algorithms.

Reed-Solomon RapterQ & LDPC OTAcast (Perpetual)
Max Object Size When using 1500 byte symbols < 0.5 MB < 100 MB > 1000 MB
Cache friendly
Memory footprint High Medium Low
Low Computational Complexity
Rateless Whether or not the code can continue making new repair symbols.
Reception Overhead Low Until all repair symbols have been used, then high. Low Low

Getting Started

Getting started with OTAcast is as straightforward as choosing from the following options, which include source code and documentation. Support by email or video is available during working hours.

Command Line Application

A demo application is available to broadcast files over a network, so you can quickly test the performance of OTAcast in your operating environment.

Reference Design

The reference design is used as a starting point for integrating OTAcast in the server and the ground terminals.

It assumes a broadcast transport mechanism is available in the communication protocol from satellite to ground devices and is optimized for both ARM and x86 processors.

OTAcast Coding Library

The OTAcast coding library has all the essential algorithms necessary for encoding and decoding a memory block in a server or user terminal. The library is optimized for ARM and x86 processors and requires minimal support from the embedded operating system used.

Contact

If you want to know more, please leave us a message and we will contact you.