While the number of things in the internet is steadily increasing, the big breakthrough has still not happened. There are numerous reasons for why this still has not happened. I would like to focus this discussion on the following ones:
- Lack of a good widely used application layer
- Too much effort is spent on discussing the transport layer
- Need of a "fat" gateway device in current solutions
A lot of innovation is happening today in Apps, web-services and cloud-based big data solutions. These innovations are normally using the IP-stack and using XML based interfaces and definitions. Most of the Internet of Things devices however do not have an IP address and the application layer is based on a bit or byte stream oriented protocol. This leaves a gap between the devices and the internet which is filled by some sort of gateway device.
Currently there is a trend towards using REST-ful micro-services, mostly based on JSON or XML, on these gateway devices. While this is a big step forward, there is unfortunately no standardised interface of this kind so that different gateways would be able to interact.
With the definition by the w3c of the binary XML version called EXI and the work currently going on to make a compressed version of the HTTP protocol, the time is now ripe to define a good application layer using these technologies and which can run on the thing.
In the industry a lot of effort is used to fight over which protocol to use on the physical layer and the mac layer. Standards such as BLE, ZigBee (802.15.4), Wifi, Z-Wave and many others mostly fight over the way the information is moved between the devices and the internet. Some of them also have an application layer like ZigBee and Z-Wave. These application layers are however not designed according to internet standards (see above).
For the end-customer the physical and mac layers are however completely irrelevant. These layers should however have some characteristics such as (among others) robustness, security and an appropriate range.
If the industry started to focus more on using IP based forms of communication with the devices, the last link in the communication to the device will become less relevant and an appropriate form can be chosen while still maintaining interoperability between different devices using different physical and mac layers.
The gateway in today's Internet of Things solutions functions as a translator between the Bits and Bytes oriented protocols and the REST-ful, XML based micro-services.
The gateway however does not have a good value proposition for the end-customer. The end-customer wants to control his/her light or heating and thus wants to pay for a thermostat not an expensive gateway that complicates the installation and in the users eyes does not offer any benefit.
On top of this the term lost in translation is very relevant to the gateway based solutions. A translation between protocols will introduce errors and reduce functionality of the device behind the gateway.
Therefore a modern gateway device should rather be a thin device to be more seen as a router/media converter rather than as a translator. This will increase the possibilities of app and web-service developers and thus this will also increase the speed of innovation in the area of the internet of things because the things become accessible for a broader audience of developers.
To sum things up, in order to remove the gap between the internet of things a solution is needed where a device has a modern interface in the form of a REST-ful, XML or EXI based micro-service which runs on top of an IP stack. Furthermore this device should be directly addressable from the internet, which calls for the use of IPv6 addresses. The gateway should merely be a router/media converter which hopefully only needs to support few (maybe up to 3) wireless physical/mac layers.
Participate in the debate.
See the article in the LinkedIn group "Internet of Things"