OTA update serves to
- End sensor nodes
- Edge gateways
Over the air update generally includes update of following types (loosely put in order of update size).
- Source code of applications
- Packages source code depends on – apt, deb or pip
- Operating System release
What, Why and How of an OTA update
|WHAT||Configurations||Source code||Dependencies of source code||Operating System|
|HOW||Device Shadow Service||Git, application zipped packages(.zip, tar.gz)||Package managers
Any update of application may involve following two steps:
- Downloading or fetching the latest update.
- Deploying the latest update on device.
Update strategy could be based on combination of Download and Deploy.
- Download and then Deploy on trigger.
- Download and then Deploy immediately without waiting for a trigger.
Update orchestrator can in the background periodically check for updates and based on the strategy set may download the update or wait for even download.
Examples of update strategies
Update strategies can be seen in action for other applications in our devices – mobile and desktop.
Some examples of update strategies in the industry apart from IoT are detailed below.
In Android OS, Play store orchestrates update of applications.
- It informs user that there exists an update for an app.
- Based on user discretion, it updates the app.
- Some cases, it may just download the latest version (based on permissions an app possess)
Docker in macOS
Docker version update in MacOS. Docker daemon orchestrates that there exists a new version
It details on the release notes and informs the user that there is a new version with some form of semantic versioning.
Once the user approves “Install Update”, it downloads the latest update.
Only based on user’s discretion does it restart the docker daemon to deploy the new version of Docker app on MacOS.
On clicking on “Check for Updates”, we see that Docker orchestrator reports the user that latest version is already present.