This article originally appeared over at TechCrunch.
We’re currently witnessing rapidly expanding product launches and sky-high elevated expectations from the emerging deployment of the Internet of Things in both personal and commercial domains. Stakeholders — ranging from hardware manufacturers and service providers to cloud platforms — are vigorously weighing in to position their offerings in anticipation of windfall rewards from accelerated IoT adoption.
While vendors are in a mad rush, jockeying for a land-grab position, one thing is becoming increasingly clear — connected devices, apps and services, which collectively comprise the building blocks of IoT solutions, are in need of a dependable communication fabric for robust deployment.
Alas, the public Internet, as a global networking medium for IoT solutions, does not come with a service-level agreement (SLA). The Internet currently provides little in terms of quality of service (QoS) guarantees, namely latency, reliability, security and availability. It is that observation that implies the rather fundamental question: Is the Internet ready for IoT?
Obstacles to IoT mass adoption
It is common practice nowadays to ponder the challenges stacked against en masse adoption of the Internet of Things (IoT). Just search “IoT Challenges” on Google, LinkedIn or similar venues to discover the common themes perceived as obstacles. The Internet of Things is quite likely the biggest sweeping change that’s slated to infuse every area of our lives with always-connected experiences for generations to come. The question is hence inevitable — are we ready for the information age equivalent of the industrial revolution?
We take for granted most things that serve us in everyday life, at least those of us living in the developed world. For example, we plug in toasters and turn on washing machines without being concerned that they malfunction, operate in a way that causes other appliances to malfunction or be subject to electric shocks, external tampering, catch fire, etc. We treat electric grid availability as a given power fabric that seamlessly enables convenience and automation in our lives.
This admittedly simplified analogy begs the question — are we properly positioned to achieve similar nirvana with the IoT? Can the global public Internet be relied on to seamlessly support billions of plugged-in, always-connected devices while averting detrimental side effects, such as a spamming refrigerator, hacked cars and run-of-the-mill dropped connections? Asked in a different way, can the Internet rise to the (IoT) occasion and deliver on its quality-of-service expectations?
Emergence of IoT platforms
From kickstarters and seed-funded startups to device manufacturing powerhouses, the pace of newly introduced gadgets or “things” is accelerating. The “T” in IoT is so far getting the majority of attention. However, as a sure sign of a maturing phase and putting IoT technology to use, the spotlight has been turning to the “I” in IoT, the Internet.
The first wave of the IoT platform category dealing with connecting “Things” has initially emerged from the long-established machine-to-machine (M2M) space. Larger vendors witnessing the emerging category were quick to snap up a few players in the nascent space to stake out their position (SmartThings, Axeda, ThingWorx, SeeControl and more).
The number of IoT platform vendors continues to climb unabated, a testament to the perceived need in the myriad use cases comprising the IoT domain. The battle of the platforms is likely to continue (a speaker at a recent conference listed a 260 count for IoT platforms), while the large platform vendors introduce their own cloud-hosted offerings, including Amazon, Google, Microsoft and IBM, among others.
Taming connected environments
The majority of IoT platforms are, in essence, vertically integrated environments. These platforms are comprised of functional modules, which are designed to work in harmony out of the box. The platforms come bundled with connectivity layers utilizing a plethora of networking protocols, such as IP, mesh and a slew of newly-minted ones.
As proliferation of IoT continues to expand unabated across application domains and a wide array of industries, the conversation has been shifting to the practical aspects of implementation and deployment. In particular, connecting “everything” brought about a slew of security risks, privacy concerns and ease of maintenance and upgrade safety challenges, for which answers are still being researched.
One of the thorniest issues concerns interoperability, where devices made by different vendors are expected to seamlessly work with each other. Similarly, solutions are sought for addressing the usability challenges whereby apps and gateways are expected to be able to control an environment comprising such a diverse set of devices. The interoperability conundrum is particularly evident in the case of product life cycles that come to an end; for example, the side effect of the Nest acquisition and subsequent shutdown of Revolv home automation service.
Building the connective tissue
As connected devices, apps and services are being deployed, IoT developers are becoming increasingly aware of the implementation challenges listed above. Designing smarter devices, apps and services is a necessary but merely partial step toward producing an overall satisfactory solution. To further complicate the challenge, there is little that can be assumed about the myriad ways in which devices, apps and services are going to interact when they’re put together to form IoT products and solutions.
This unknown inevitably puts the burden on developers to account for the missing mechanisms and resort to making best-guess design decisions. The prospects for product and solution success in a diverse ecosystem, without being able to rely on a common connective tissue for IoT communication, are not optimal.
Developers have to make pragmatic assumptions about the use cases and deployment scenarios in which the product they’re building will be part of. In other words, developers are tasked not only with implementing the product features, but also with implementing a secure, reliable and high-performance IoT communication fabric that can scale and take care of interoperability.
What’s an IoT developer to do?
Tasking developers with building the communication fabric that satisfies IoT connectivity requirements for proper deployment of connected products entails considerable drawbacks and potential pitfalls. Notably, roll-your-own infrastructure adds significant complexity and cost to the software development process. It further consumes precious development resources that can be instead assigned to implementing essential product features. Consequently, cost overruns and schedule delays can ensue, jeopardizing the entire project and putting its viability at risk.
Such adverse effects tend to become more acute as products entail higher-level functions that rely on IoT connectivity. These functions may include secure device provisioning and management, firmware upgrade, access control (authorization), message encryption, inter-device synchronization, support for multiple device types (e.g. web, mobile and embedded) and communication protocols, to name a few.
Wanted: A smarter network for IoT
Recognition of the challenges faced by IoT developers and the need to establish an interoperable communication fabric on top of which diverse IoT solutions can be built spawned a number of standardization efforts. The most notable such effort is the open-source framework IoTivity (by OCF), supported by a broad array of software and hardware industry heavyweights and hosted by the Linux Foundation.
Addressing interoperable device connectivity via broad-consensus, open-source frameworks is an important step toward maturing an IoT stack and accelerating the adoption of IoT across the various industries. These frameworks effectively provide an essential piece of the sought-after communication fabric. Rapid adoption of the frameworks should pave the way for fabric add-ons to support IoT use cases that are being discovered and subsequently deployed as commercial-grade solutions.
The need for a smarter network for IoT is also evident via the observation that an IoT app is expected to work with devices other than those for which it has been originally designed and built. Similarly, an IoT device is expected to work with apps other than those with which it had been originally developed, tested and released.
A playground for IoT ecosystems
A quick trip back to the early days of the Web is instrumental in demonstrating the dynamics that led to its rapid evolution and universal deployment on a global basis. Once the web stack emerged — HTTP as a client/server protocol and HTML as a content and layout format — there was no stopping the ascent. Foundational components soon followed — web browsers and servers, content authoring tools, web frameworks, app servers and many more as the web further expanded from computers to mobile devices, ultimately resulting in a fertile web/mobile ecosystem.
We’re now at the cusp of the next phase in networking stack evolution, ignited by the expansion of client/server and peer-to-peer computing to Things, estimated to be an order of magnitude or more in number of connected devices. The emerging stack will serve to foster rapid evolution and ubiquitous deployment of IoT for myriad stakeholders rushing to raise the stakes in anticipation of economic windfalls by participating in the emerging IoT ecosystem.
We aim for consensus on a richly functional IoT stack and availability of network infrastructure that addresses interoperability and quality-of-service challenges of IoT connectivity. These include securing of the data streams produced and consumed by IoT edge devices and services. Reaching broad consensus will enable us to answer the question “is the Internet ready for IoT” in the affirmative.
The promise for developers putting together IoT solutions is to be able to spend the bulk of their time and effort building features rather than spending their precious resources on building expensive and error-prone IoT infrastructure.
Connected devices, apps and services can start relying on this IoT communication fabric for robust deployment. The manifold for vendors releasing products will expand and new platforms leveraging the fabric will foster accelerated innovation and solution success within the IoT ecosystem. Perhaps the day of the ubiquitous dial tone for devices, apps and services that stream data everywhere is not too far in the future.