The hot topic in the world of computing and technology these days is clearly the Internet of Things (IoT). We will surely hear and learn more about IoT over the months and years to come, as the concept has serious staying power. Why? Because the IoT holds the promise of doing for devices what the Internet has done for people: realizing the enormous value that is unlocked when entities (people, devices) can freely share information and easily exchange services.
Of course, we are in the very early days of the IoT phenomenon. Right now, most of the work is going toward technical concerns, such as understanding what network topologies make the most sense, how information and services will be shared, and what technologies - particularly messaging middleware - will be utilized to orchestrate these systems (see the Understanding the Internet of Things protocols: DDS, MQTT, & AMQP webinar replay for more).
With this in mind, I've been thinking recently that our understanding may be off a bit on one aspect of IoT: that the Internet of Things will actually be many, many Internets of Things. In other words, it won't be like the Internet of People, which is singular and ubiquitous; rather, there will be Internets of Things for a vast and varied array of industries, applications, and organizations. This is because, while human beings are relatively uniform in their activities, devices (things) are extraordinarily diverse in purpose and function. If we randomly select 10 Internet users around the world, they are likely to be doing similar things: web surfing, shopping, emailing, and so on. The same cannot be said for a jet engine, a temperature sensor at an oil refinery and the automatic braking system on a car.
This is an important distinction because it informs how we consider the technical aspects of IoT. For example, a heated battle is already underway for what will be the ubiquitous IoT protocol. But that is the wrong way to think about it. A variety of protocols will be useful depending on the problem that a particular IoT is meant to address. We can certainly make some broad generalizations: if the IoT is simply monitoring a set of devices, server-based telemetry protocols such as MQTT may be sufficient. However, if any dimension of device control is desired, implementers will need something much more robust and feature-rich, such as DDS. The real danger here is in assuming that we need a holy grail communications technology to meet every need.
While the analogy is useful, we need to be careful not to overdo comparisons between the Internet of People and the Internet of Things. Doing so might lock us into fruitless debates about which type of middleware is "right" whereas what we really need to consider is what middleware is right for my Internet of Things.