In most Geostationary (GEO) satellite constellations, updating many ground terminals has generally been onerous. For set-top boxes, updates can be done using the DSM-CC protocol, but for IoT, VSAT and Satellite Communication terminals, updates are still primarily done by a service technician.
The number of ground terminals or IoT ground devices is increasing dramatically to improve tracking and other data services from any spot on Earth. Updating those devices manually will be prohibitively costly, and over-the-air updates are essential to minimise service and maintenance costs. Furthermore, updating ground devices directly over the air, without the need for another layer of services, ensures better security and fulfilment of regulatory requirements.
Fixed ground devices connected to GEO satellites - like set-top boxes - usually have a highly reliable connection with a low bit-error-rate, but many ground devices are dynamic and mobile. Thus from time to time the ground device may lose satellite connectivity, or bit-error-rate may temporarily increase, leading to lost data packets.
Broadcasting is the most efficient way to transfer an update to a population of ground devices, but when ground devices can be out of reach from time to ime, it is likely that each ground device will end up missing some parts of the broadcast update, generally transferred during idle periods. Some losses are especially likely if the update is large (100’s of MB).
OTAcast solves this problem efficiently by making sure no device will end up missing a specific part of the update. OTAcast codes the update so every received data packet can be used to recreate the complete update on the ground device. Instead of each device needing to receive all the individual parts of the update, OTAcast makes it a matter of receiving enough packets - and not the right packets - to complete the transfer.
OTAcast will therefore guarantee the quickest way to update the whole population of ground devices, even if they are temporarily out of reach for some periods.
This is demonstrated in the following animation where clouds are used to simulate a temporary loss of connection from the satellite to the ground devices underneath the cloud. In the simulation an update is sent to a population of ground devices using two different approaches:
- Uncoded - where each device needs to receive each and every part of the update at least once, relying on chance to hope devices receive missing parts, and
- Using the OTAcast algorithm – where each data packet received is useful.
Even with a small file (split into 100 packets) and a few ground devices (7) the simulation shows that all devices quickly receive the complete file using the OTAcast solution, but when packets are transmitted uncoded, most devices waste time waiting for their missing parts. The OTAcast improvement will be even greater if the number of packets to be transmitted is increased or the population of ground devices is increased.
Other use cases
In addition to firmware updates, the OTAcast solution is well suited to other broadcast applications where data needs to be sent to a population of ground devices, e.g. broadcasting intelligence information, updating: maps (weather, ice); media files in crew welfare solutions, and AI-coefficients in feature extractors etc. If you want to experiment with our solution - or chat about how the solution can be licensed and integrated into your products, please do get in touch. More info can also be found at https://otacast.steinwurf.com.