Building the IoT



All the grandiose projections of the Internet of Things (IoT) is reminiscent of the early days of personal computing. In those days, early adopters justified purchasing a PC by saying they would be able to use it for managing their household budgets and the organization of recipes. (No, really, recipe tracking was a common justification back then.)  While few people really projected how this new technology would permeate our lives, fewer still really got it. The vast majority never imagined the overwhelming transformation generated by the confluence of PCs, the Internet, and wireless communication. Here’s the thing; to go from the Heathkit computer you built in your cellar to having a cell phone in your pocket with unlimited access to EVERYTHING took the construction of a supporting infrastructure. The same is true of IoT.

When we paint the picture of the future IoT enabled earth we envision multiple things working together in one global integrated system. Sensors detect and report situations that trigger action on the part of other systems, diverse independent devices work in unison. To transform the world, to deliver on this vision, we need to develop the infrastructure that will support it. Let me explain…

To demonstrate my point, let’s use the example of a smart city. There is an accident with multiple injuries on a freeway near a major airport. First, we want to activate emergency services. In our dream world, first responders, along with the nearest hospital, receive critical information on the victims’ injuries and vital signs. At the same time, we update businesses in the nearby area such as airlines and car rental agencies. If the accident is of significant size, we may decide to reroute traffic. Now consider the infrastructure required to make this relatively simple example a reality.

Beyond the cameras watching the freeway, sensors on cars, and wearables on passengers, there are cloud based applications monitoring all of this input. These applications aggregate and analyze this information in real time. More than knowing that an event occurred the application will need to decide how to respond. Is it necessary to call an ambulance? Does the interruption in the flow of traffic merit rerouting? If so, what is the best alternative route?

In this future vision, we have multiple sensors and devices which are normally independent suddenly communicating and working together. This means that these normally autonomous things are exchanging information and coordinating services regardless of the underlying implementation technology or methodology. Note how in the series of events described above the interactions are free of human intervention, which is really the point.  This level of integration, requires the adherence to data standards, including data semantics. It also requires the ability to easily share and reallocate resources, driving the need to free these resources from any device, location, or application.

To achieve these ends, to realize such interoperability and sharing of resources, there is an interdependence between IoT and cloud computing. Unfortunately, the things of IoT have a nasty habit of being inflexible, location specific, and expensive to build and deploy. Each of which is the exact opposite of what we had described in the previous paragraph. Cloud computing, however, provides a location independent, (relatively) inexpensive, scalable platform. To merge these two technologies into one system, we virtualize the sensors and devices which enable us to distribute their data and services throughout the cloud. Along with this distribution, we provide the necessary discovery services enabling the integration of different IoT streams from a variety of providers.

You will see in IoT presentations how various things connect to the cloud and automagically communicate with one another. Unfortunately, the reality is not quite so simple. While I may not have space in this particular venue to discuss all the intricacies of integration, I do not want to be guilty of the same error. As I had noted above, to achieve the hoped-for interoperability we need to adhere to standards, preferably open ones. One such group that is focusing on providing an open integration of IoT data streams is the OpenIoT project. The OpenIoT infrastructure provides:

  1. The collection and processing of data from virtually any component that can provide observations (i.e. sensors).
  2. Semantic annotation of data.
  3. Streaming of data to a cloud computing infrastructure.
  4. The dynamic discovery and query of sensors and their data.
  5. Composing and delivering IoT services that comprise data from multiple sensors.
  6. The Optimization of resources within the OpenIoT middleware and cloud infrastructure.

As you research IoT there is no doubt you will come across a 1999 Neil Gross quote in which he speculates that “in the next century, planet earth will don an electric skin. It will use the internet as a scaffold to support and transmit its sensations.” I have no doubt that in the not too far distant future, Neil’s prediction will become a reality. The thing about scaffolds is that they are a solid structure upon which others work. If IoT is to be a scaffold for the IoT enabled world we must build it solidly so that it can serve as a dependable work platform. If we expect IoT to transform society as the Internet has, we must develop the same type of standards and infrastructures.

Additional Reading:

The Internet of Things: An Introductory Tutorial Series

Open IoT Program



2 thoughts on “Building the IoT

  1. Pingback: IoT Hype | Meditations on BI and Data Science

  2. Absolutely fantastic article.Thanks again for another thoughtful, honest, and raw blog post that is going to make a huge difference between isolation and community. It is people like you who are able to bring us all together and feel less alone. Best,
    Thank you.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s