Ten challenges the international IoT community needs to master (1/2)

We expect the Internet of Things (IoT) to be the biggest system that mankind has ever built: In a few years’ time, 75% of the world’s population will have access to the internet and by 2015 alone, we expect there to be more than 6.5 billion objects connected to the internet and cooperating partially without human intervention. The internet has always been a success machine. Looking back, we can see that the internet developed in three waves. The first brought easy exchange of documents, the second provided for commercialization of online businesses, and in the third wave people started engaging through social networks. The next wave is the Internet of Things, a gigantic wave that lets people, things and services interact autonomously around the clock. The Internet of Things will have an impact on how we live and move, how we produce and consume energy, and how we do business or manufacture things. The international IoT community is facing technological, societal and business challenges and must ensure that this next internet wave breaks smoothly on our beaches. There are ten IoT challenges to master. Some are new and some are old acquaintances that need a new interpretation based on specific IoT requirements.

Challenge #1: Robust connectivity

The basis for making the IoT happen is connecting things: billions of things, and diverse things from tiny acceleration sensors to video cameras and cars. Then, add all those objects that have a limited energy supply, are distributed or have an unstable internet connection. These factors all challenge connectivity and make engineering the IoT a tough task. One path we have to keep following is to work on energy harvesting devices, which can increase connectivity through their self-catering energy mechanisms. And second, we need an “IoT lingua franca”, a standardized way for these things to talk to each other, e.g. replacing TCP/IP with IPv6 or ensuring communications at the level of web services that are based on http and the REST principle.

"Security in the IoT needs to be as simple as a key that you give to your kid to open the front door, not as complex as millions of keys."

Stefan Ferber, Senior Vice President for Engineering at Bosch Software InnovationsTweet this

Challenge #2: Useable security

Security is an issue when everything is connected. I believe that the technology is out there to implement proper security concepts; however, it does not fit to IoT requirements. Entering a password every time we access a device or sensor is far from reality. Security in the IoT needs to be as simple as a key that you give to your kid to open the front door, not as complex as millions of keys. Otherwise it becomes more complex to manage the keys than to provide the security itself. What I can see from a business development perspective and from my engagement in start-up initiatives is that the IoT offers niches for new security concepts that revolve around ease of use at known levels of privacy and protection. There is more to come!

Challenge #3: Big Data

Big data is inseparable from volume, variety and velocity – the three Vs. They are blended with the issues that distributed storage brings with it. When we look at where big data mainly emerges today, it is the content that users share through Web 2.0 and companies leverage to gain additional insights. So here comes my maybe unexpected thesis: the traditional V challenges will not have to be tackled by the IoT community, because they will be solved by Web 2.0 and the people producing all content. In the IoT, data comes in smaller pieces, so the bandwidth we need is much lower; what’s more, we don’t need all the data, we can aggregate it or even throw it away. When we’re talking about big data in the IoT, what we need is analytics and semantics that ensure we collect only relevant data, have mechanisms in place to filter irrelevant data, and use technologies that can handle massive amounts of unstructured data. What is even more important – and is something the IoT community is responsible for – is to create a functioning data market, as the current big data business model is based on advertising.

Challenge #4: Big Code

Maybe this is a new topic when talking about the IoT, and of even greater importance than big data. If we mess up big data, we will lose data, and in many cases this won’t be too harmful. However, if big code doesn’t work… Think of some of your applications: you are programming 1,000 or 2,000 lines of Java code, then you don’t just compile it, you interpret it on the machine; and how much code is there on the machine already, e.g. in all the libraries and operating systems? How do you ensure that it’s not just your code that really does what it’s supposed to do? You write only a tiny fraction of IoT code and rely on everybody else to perform as well. However, in reality, systems out there naturally come with hundreds of bugs and our current testing paradigm assumes the perfect world – which it isn’t.

"For the IoT, it is essential to translate the physical world into a format that can be handled by IT."

Stefan Ferber, Senior Vice President for Engineering at Bosch Software InnovationsTweet this

Challenge #5: Information Models

For the IoT, it is essential to translate the physical world into a format that can be handled by IT. One way to do this is with information models. This is where domain knowledge is transferred into software. Let me give you an example: a connected home application needs to have access to an information model about rooms, floors, the location of devices and their functions. In product design, engineers make heavy use of information models in the development process, e.g. simulation models, prototypes, CAD drawings, or 3D modeling. However, we stop using these techniques later in the operational phase. For the IoT, we have to get used to constantly using these information models and blending them with lessons learned from operations. It’s at this point that the model becomes part of reality and reality becomes part of the model – which is basically the IoT: connecting the virtual with the physical world.

These are the first five challenges that I see for the IoT community to master – stay tuned for my second part, in which I briefly discuss IoT governance, accountability, open platforms, business models and ecosystems! Any comments so far?

The success of IoT will depend more on metadata management (device classification, device properties, device connectivity, device context) than on the devices themselves. These things are the drivers of IoT application cost and time of deployment.

thanks for your elaborated answer and thanks that we finally meet here in our blog (and not only at conferences 😉 I very much liked your point for big code:

“I have to disagree on this. in my coding days, I never assumed that someone else code is error-free. That’s usually the best recipe for disaster. I always checked inputs, preconditions, and so on and so forth, and always provided some way to leave “gracefully” the current execution if something went wrong, even outside the scope of my programming. AFAIK this is quite normal practice for network programmers. So, in case, I would rephrase his point to “Failure modes have to be simple and clearly published”, which, in EPoSS view, belongs to the self-organising area.”

I think you are totaly right here. This is the right way of doing engineering! My argument was that “Computer Science” does not perceive it that way and therefore a lot of our theory is build on wrong bases (test coverage, …).

I like the idea of finding out what are the forthcoming challenges for IoT; we run the same exercise a few years ago in EPoSS. I tried to compare your work and ours in my blog (adding a bit of my own thoughts on it)

Mark, now as you mention the problem of “product live cycle management” I aggree that this is another challange. Though IoT could make it much easier to manage things through their whole life as they always carry a virtual representation with them it also generates another management problem: keeping the data, status and whereabout of a thing up-to-date. Multiple organizations, private people, web-services, and other things need to cooperate on this. Thanks for pointing this out! Stefan

Hi Mark, that was indeed not our attention. When Stefan and I prepared the topic, we looked at many of theses lists. Most of them you read with big expectation to get exactly the piece of information that you do not have or that you are looking for. Usually, these lists do not bring you any more new info as they are so short. So we decided to go indepth for each of the ten aspects – and risk a longer text with far too many words for one blog post. To make it more reader-friendly, we split it in two. So you see, our thoughts were with you 🙂 and not with the clicks…

Another great post and excellent overview. I think you should consider adding Product Management as a massive challenge. It is easy to forget that despite the huge opportunities that IoT offers, we need to be very focused as a community on teaching people how to build things that people actually need, enhance lives and make people happy. I ran the IoT Forum in Cambridge (http://internetofthings.thebln.com/) this year. What really struck me was how many people are developing *technology* not *solutions* to problems.

Big companies seem to be better at this than smaller ones in the ecosystem at the moment though there is plenty of evidence that very experienced, serial entrepreneurs (Stan Boland, now at Nuel and Niall Murphy at Evrythng spring to mind as examples), are applying their entrepreneurial smarts to problems in the space. So many of the startups described what they were doing in terms of technology though rather than problems they were trying to solve that it was a little scary. I see the same at almost every IoT event I go to.

Velganesh, thanks for your clarification on the information models. Of course you can always re-model information models by hand e.g. configure the divices in your home in rooms, floors, etc. Hence, there are some models like “temperature-heating” models which depends on outside climate, inside behaviour, etc. a normal user cannot model by hand. Regarding GPS. It is in fact 3D but the altitute information is in most cases not very accurate. Though there are techniques to improve that… Stefan

Do we really have to depend on Information Model? A home can be remodelled after some time and there is no guarantee that the owner will go through the same simulation process. What are the use cases you see related to position of appliances? Even if we want the information, there are so many standards in building plan and standardising them will be a new challenge. GPS is 2D, is there a metric that groups GPS coordinates with altitude (e.g with respect to MSL) so that we can compute what we want.

@stefan: From the perspective of a manufacturer that so far had to deal with no or only a small amount of local embedded device code, connecting a product might indeed increase system complexity by an order of magnitude. Still, systems in other domains are already quite big in terms of lines of code (e.g. Windows OS) or highly distributed (e.g. Akamai [1]). The big Web companies are also learning how to deal with many, non-reliable software / hardware components in large always-on systems (e.g. Amazon GameDay [2]). Maybe the best bet for connected product manufacturers is outsourcing the hard parts to specialised service providers, as it’s already happening with mobile app back-ends (e.g. Parse, Urbanairship or MS Azure; disclosure: I work on a startup in this space). In a way this also confirms that it’s indeed a challenge… Great times!

Dear tamberg, maybe I have to restate my “big code” statement. I do not look at the code that is running on a specific device, I look at all the code needed to make it work. And our test assumption in Computer Science today is that code provided by others is error free. And that is simply not true. Stefan

Not convinced by “Big Code”. Number of lines per device is substantially smaller for embedded devices than desktop computers. Huge code bases already exist. Protocols like HTTP help decouple individual devices. And compiling vs. interpreting is an implementation detail. We’ll definitely need an even better understanding of distributed systems, though. And more code might be safety critical.

This website uses cookies for reasons of functionality, comfort, and statistics. If you consent to this use of cookies, please click ”Ok“. If you like to disable the cookies for webtracking, please click here. For more information see our Privacy Policy