A fundamental premise of the Internet of Things (IoT) is the recognition of a certain human weakness. Humans are poor data collectors. We are poor fact collectors. We are poor sensors. Our senses fail us, we make mistakes, and we misremember. Research in Psychology shows that our brains fill-in fragmented memories with phantom events and facts when we can’t remember what really happened. Far too often facts are colored by our own value judgments and biases. Worse, we have limited time to focus on fact collecting, so what we get in sum total is a weak representation of the information available to us, especially information in digital form on the Web and throughout the Internet. As good as the web is, it’s weak information compared to the potential. Why is it weak? It’s weak because we typed most of it in.
Human mediated information is a slow-path recipe for inefficiency, at least compared to the promise of the Internet of Things (IoT) where full-time Internet-linked sensors and devices with perfect accuracy and a tireless work ethic make a far better substitute. Sensing data timely and accurately, however, is only half of the battle. Data needs to make it into existing back-end systems, fused with other data sources, analytics and mobile devices and be made available to partners, customers and employees.
Even more importantly, sensed data needs to arrive with the appropriate contextual information and filtering. If every “thing” out there has a sensor and is providing data with regular frequency, it’s not feasible to process data from all sensors at all times, so we need contextual filtering and way to direct attention to the relevant data that we care about as well as behave properly in the face of failures and spontaneous reconfiguration of the sensor node network. In short, we need things-as-a-service (TaaS). How can we get there? API Management.
API Management Holds the Key
This is precisely where Web APIs, API Management and a RESTful architecture provide dramatic value. As APIs have become ubiquitous, IoT deployments in a wide range of market segments can benefit from this proven architecture. APIs lower the barrier to entry for connectedness and enable secure communication from sensor nodes to applications living just about anywhere – in any cloud, any datacenter or accessible from API-enabled devices. Moreover, RESTful communication has well-defined security patterns for bulletproof API management, including authentication, authorization, leak protection, compliance and data security. If you can get your “thing” to talk APIs you’ve got a back-stage pass to the the party, so to speak.
API Devices or Sensors
In the context of APIs and IoT, it makes some sense to talk about the distinction between sensors and devices. First off, everything is a thing, but some of the members in the Internet of things are already API-enabled and some are not.
Some things can already provide contextual information from its environment and some cannot. Most notably HTML5 & native smart-phones and tablets are API enabled, whereas a temperature sensor on a factory floor connected via a wireless sensor network (WSN) is not.
If you have sensor nodes participating in a flat or two-tier sensor network, you aren’t really doing IoT unless you can get your data to higher end computational devices. In these so called brown field deployments, sensors may be working in complete isolation. With a smart device on the other hand, sensors are coupled to a device that already speaks Web APIs, let’s call these API devices. Without APIs your sensors are stranded, shouting continuous or discrete data into the ‘ether’ and getting brown field sensors to join the IoT requires a bolt-on approach or technology bridge to speak APIs. The opposite, green field deployments build sensor networks with IoT in mind from the beginning, potentially lowering API on-ramping costs. In either case, brown or green, an intermediate layer is needed to connect south-side sensors and networks to north-side APIs, clouds, datacenters and devices.
API Management and Sensor Middleware
This is where sensor middleware and API Management solutions play an important role: they provide data fusion, contextual information, data communication, coordination & synchronization, data & protocol interoperability, privacy & security, and fault tolerance.
In fact, middleware and API Management technology is far from optional: The lack of an effective coordination layer has the potential to kill IoT dead in its tracks. With an extremely large number of sensors undergoing constant chatter, integration costs will be far too high unless organizations rely on proven, well-established communication paradigms such as APIs, and well-understood coordination patterns. On the other hand, as more things are connected through middleware, this means more data is available, which has a positive impact on apps that use APIs. This virtuous cycle illustrates the power of complements – more Internet connected things-as-a-service (TaaS) drive increased adoption of APIs which reinforces the IoT vision. In this sense, middleware and API Management are the great enabler of IoT.
In the conceptual architecture shown in the diagram, sensor networks communicate with sensor middleware which can be thought of as one step closer to the raw sensor behavior.
Sensor middleware typically provides the following key capabilities:
- Abstraction support – The ability to provide a homogenous and holistic view of a sensor network in the face of substantially different sensor hardware and capabilities
- Data fusion & enrichment – The ability to enrich data from sensors with environmental and contextual information, forming a higher level view of the data suitable for consumption by other applications.
- Dynamic network – If sensors are added, moved or removed, sensor middleware must be able to deal with ad hoc changes in the underlying network topology with graceful impact to higher level services
- Scalability – When dealing with a large number of sensors, middleware should have long reliable operation with a potentially large number of sensors
- Security – If sensors are deployed collecting sensitive information, data protection schemes and encryption are required. This is further challenged by the fact that sensors can be low power with low compute capabilities
- Network Delivery & Quality of Service – Maintain consistent availability and behavior in the face of high latency, network failures and bandwidth challenges
Sensor middleware, however, is typically not enough for a managed API suitable for use by the Enterprise, other back-office applications, and smart-devices. Here you need to add a second layer of API management gateways that can provide further value to the data.
How about some real-world examples? Most notably we made raw sensor information available through APIs to an HTML5 enabled mobile device here at Intel.
See Travis’s blog on the IoT project entitled citizen Developers Empowered by APIs and HTML5. It uses room sensors to maximize the use of conference space and is a great example of APIs and IoT reinforcing each other. This demo required the use of data fusion, scalability, data availability, security, and governance.