Software updates in the IoT: an introduction to SOTA

5 min

Carrying out software updates on our smartphones is a process we are all familiar with nowadays. On one hand, we expect the manufacturers to keep their operating systems up to date. On the other hand, we expect the same from app developers with regard to their apps. What’s more, the process of updating a software should be easy and, at best, require a simple tap of a button. So, why should this be any different when it comes to IoT devices? Let’s take a look at what over-the-air software updates in the IoT are all about.

The difference between SOTA and FOTA

Olaf Weinmann

Olaf Weinmann has been working for Bosch.IO (formerly Bosch Software Innovations) since 2011, where he was active in the areas of open source, IoT device abstraction, IoT software updates, and IoT device management. Currently, he drives the customer-centric vision and strategy of Bosch IoT Suite as head of IoT device management, data management, and analytics. He studied mathematics and information technology at the University of Konstanz and holds a PhD in mathematics. In his spare time, he enjoys sports, photography, and he loves to tinker around with IoT devices in the context of his smart home.

Providing software updates over the air – or SOTA, for short – generally means updates can be received remotely via the internet and the user is not required to take the device back to the vendor or to a support workshop. Although SOTA simplifies the process for the end user, it is a complex process from a manufacturer’s perspective: artifacts need to be provided as a download and software updates must be assigned to eligible devices. When dealing with a large number of devices, campaigns must be set up and managed to orchestrate the associated rollouts. Progress of the software update process must also be monitored from the start. And all the while, a watchful eye must be kept on security and reliability requirements.

While SOTA refers to updating software components in general, FOTA is more specific. It describes the process of updating firmware over the air. In other words, FOTA is all about updating the main system software that controls the underlying hardware.

The IoT needs SOTA

When talking about the IoT, you will sooner or later come across the term “agile development”. It’s a buzzword used not just in software development but also in product development. Agile development means that products, solutions, and services are created as part of a dynamic process. You don’t develop a product just once. In fact, you revise it, continuously improve upon it, and adapt it to frequently changing customer requirements. In short, the IoT is a very dynamic environment, where steady improvement of what you offer is key. This also means that it’s crucial to always keep software and applications up to date.

The IoT is a very dynamic environment. It’s crucial to always keep software and applications up to date.

Olaf Weinmann, product owner for Bosch IoT Rollouts

With millions of different connected devices, software updates over the air ensure that the update process is convenient for the customer and runs smoothly. There are two key benefits to using over-the-air software updates in the IoT:

  • For one, they allow you to react quickly and efficiently. Take, for instance, a security breach or a software bug that needs fixing. With SOTA, you can provision software updates and security patches to your IoT devices without a tremendous amount of effort.
  • Additionally, software updates over the air allow you to add new functionalities to products. This helps ensure that a product stays attractive to its users which, in turn, extends the product’s life cycle. This can also be seen as a separate business model: when it comes to buying decisions, customers may consider it beneficial to flexibly add or remove features step by step, depending on their use cases. This, of course, leads to new revenue streams: in the past, you had to design, manufacture, and ship a new device to provide new features to your customers. Now, you can simply monetize the new features added via over-the-air updates instead.

A look at some SOTA use cases

Automotive industry

From lane-keeping and parking assistants to infotainment offers – cars nowadays are increasingly evolving into computers that cruise the streets. With a variety of different software built into today’s cars, manufacturers have to ensure that their vehicles stay up to date. In many cases, these software updates are provisioned manually at a workshop via a cable.

In the event that a security incident or a software bug is detected, a manufacturer is forced to recall thousands of cars to update the affected software. This is not just inefficient for the manufacturer; it’s also time consuming and frustrating for car owners. Thanks to SOTA, this process can be managed via the cloud, which saves a great deal of time and does not negatively impact customer satisfaction.

But it’s not just about patching out security flaws and mending software errors. SOTA can also be used to maintain functions or provide entirely new features to car owners. A manufacturer could provide updated navigation maps, for example.

Smart metering and smart heating

Smart meters and smart heating is another up-and-coming field of application. Energy solution providers are increasingly turning to software update tools and services. Why is this the case? There are millions of households – especially in Asia – that are connected to smart meter systems. The sheer volume alone makes updating smart meters a very challenging task. And this is where SOTA provides a viable solution.

Software updates as a service

A little less obvious use case is software updates as a service, which offers the opportunity to create an entirely new business model. If you are a software or service provider, you can develop an update as a service solution for your clients. Utilizing a reusable service from the cloud – for example, Bosch IoT Rollouts – can help you create value by providing your customers with tailor-made components best suited to their needs.

A scalable software provisioning service is vital

The use cases mentioned above are just a few examples of how software updates over the air can be applied in the context of the IoT. There are many more domains that have not been mentioned here that can also benefit from SOTA – for example connected buildings and the healthcare sector.

While the concept of providing software updates over the air appears logical in theory, it can be challenging to implement in practice. It may seem like an easy task to keep a few software applications up to date, but how do you handle a software update if there are billions of IoT devices in the field? In such cases, employing a scalable software provisioning service that offers campaign management capabilities and that is usable in any kind of IoT application is inevitable.

More on software updates over the air

Take a closer look at the key characteristics of an IoT software update system.

Check out Bosch IoT Rollouts, our reliable and scalable IoT software provisioning system.

Bosch IoT Rollouts is one of three Bosch IoT Suite services we recently published on the AWS Marketplace.