Software Eating the World (with Updates)

February 10, 2015

They say that software is eating up the world.

Internet of Things? That’s just a lot more devices. And as I already written in the past, without security, there is no IoT. And since security today is never guaranteed, there needs to be an update mechanism.

Software is eating the world - with updates

An automated update mechanism.

One that doesn’t require me as a user to do anything.

And if anyone has shown us the way here, it is Tesla, with their latest software update. One which might have fixed bugs, but also improved the performance of their car… David Farinic said it best:

Getting there isn’t easy though. Working on an embedded project a few years back have opened my eyes to the complexity of such upgrades. Here are a few of the challenges I’ve seen in this space:

  • “Things” may have more than a single CPU. A car will have 10’s of them
  • All of thee CPUs should have the option to upgrade, but most of them won’t be connected to the “Internet” to achieve that
  • There are slow and fast bus connections between these CPUs. Sending a firmware update of even 1 Mb on the internal slow bus can eat up minutes, making the whole update a challenge
  • You need storage space to hold both new and old versions at the same time
  • You need a way to roll back a failed update, across CPUs

Red Bend, an Israeli company specializing on over the air updates (FOTA), had just been acquired by Harman. The main reason and focus? Upgrades of software in the automotive industry.

As we move towards X billions of connected devices in the IOT market, there is a need to rethink software updates and how to work them out.

The main challenge at the end of the day will not be the technical one (the one above), but rather the business one. IOT, and software itself, changes the mindset from one of selling devices to one of selling a service. It will be interesting to see if vendors survive this transition.

You may also like


Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}