Following some resources from internet, Internet of thing is identified to be “a scenario in which objects, animals or people are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.”. But in my view, it is simple the way we connect everything around us with internet. Regarding connection, we always think about protocol. So, today I will do a survey about common protocol using in IoT.
Nowadays, Internet supports hundreds of protocol. As the result, the IoT will support hundreds more. It’s important to understand the class of use that each of these important protocols addresses. In simple way, we can classify 3 types of protocol:
- Device-to-device (D2D): Use to connect between different devices, help them exchange information each other such as DDS.
- Device-to-server(D2S): Use by devices to connect to server such as MQTT or XMPP.
- Server-to-server(S2S): Use to share device data in server infrastructure such as AMQP.
Next parts, we will have a glance over common protocol for each class.
- Message Queue Telemetry Transport (MQTT):
As its name states, its main purpose is telemetry or remote monitoring data. Data are collected at devices will be transferred to server infrastructure. It target large networks of small devices that need to monitored or controlled from controller (store on cloud).
MQTT have 4 main attributes are:
- Open: Create by IBD & Eurotech and donated to Eclipse “Paho” M2M project.
- Lightweight: Smallest packet size 2 bytes, reduced clients footprint.
- Reliable: three QoS and patterns to avoid packet lost on client disconnection.
The protocol uses a publish/subcribe architecture in contrast to HTTP with its reques/response paradigm. The central communication point is the MQTT broker, it have responsible to dispatch (routing) all messages between sender and receiver. The topic is value to identify packet destination. Each client that want to receive message subscribes to a certain topic and the broker delivers all messages with the matching topic.
2. Extensible Messaging and Presence Protocol (XMPP):
XMPP was developed from instant messaging (IM) to connect people to other people via messages. Message content is formatted in XML and transfer over TCP using open-ended XML streams over long-lived TCP connections. Its key strength use full name addressing (firstname.lastname@example.org) that helps connect the needles in the huge Internet haystack.
Data and information is normalized in a secured environment at data center which we can provide services and applications. Main activities perform on center server include:
- The expose platform enables to access information and to develop solution that exist within the normalized data fabric by using Web Service API or Semantic Web technologies.
- Provisioning provide a secure storage where user must prove identify before access
- Application platform provide capabilities to access stored data. Application are consumed by the user independent of what screen they chose.
We find full advantage of XMPP in Clayster wiki and SDK. Source code is provided for developers to modify and adopt platform flexibly. From this advantage, we can scale all the demands for IoT from low power device to clustered centralize environment.