## 4 M2M Communication
### Overview on M2M Communication Technologies  
A set of M2M communication technologies is reviewed in Table 3. M2M applications impose several new constraints on communication solutions. They generate a type of traffic which is most likely to be comparatively small but with a larger number of involved devices. Even if the messages are usually quite short, in most cases there are strong requirements on the reliability and delays. In addition, the embedded asset devices may have computing and power constraints, which challenge the traditional communication protocols. Thus reliable and delay aware transfer of messages over the network is very important for M2M applications. The hypertext transfer protocol (HTTP) is usually applied to transfer messages in client-server manner in World Wide Web. There are protocols such as SMTP, POP and IMAP for electronic mail systems. In addition, protocols like XMPP and SIP/SIMPLE have enabled capabilities such as instant messaging and presence to be applied in more real-time communication. XMPP uses decentralized client-server architecture to keep clients simple, and pushes most of the complexity into the servers [106]. The architecture is different than WWW in the sense that it supports inter-domain connections called federations. In addition, email network uses multiple hops between servers to deliver messages but the XMPP architecture uses direct connections. When taking the communication requirements set by M2M applications into concern, it is seen that XMPP type of architecture has succeeded to enable real-time messaging with support for simple clients. \begin{table}
\begin{tabular}{l l l} \hline \hline
**Technology** & **Forum(s), References** & **Main Contribution** \\ \hline \multirow{2}{*}{Sensor-Over-XMPP} & XMPP Extension & a payload format for communicating \\  & (protoXEP) [107] & sensor and actuation information \\ \hline \multirow{2}{*}{Data Distribution Service for Real-Time Systems (DDS)} & Object Management & \\  & Group (OMG) & Scalable, real-time \\ \hline \multirow{2}{*}{Advanced Message Queuing Protocol (AMQP)} & \multirow{2}{*}{OASIS AMQP standard} & \multirow{2}{*}{Broker-based messaging, publish-subscribe} \\  & & \\ \hline STOMP & STOMP & Simple broker-based text-based protocol \\ \hline MQ Telemetry & MQTT Eclipse M2M Industry & Lightweight publish/subscribe \\ Transport (MQTT) & Working Group & binary messaging protocol \\ \hline \multirow{4}{*}{ZeroMQ} & \multirow{4}{*}{ZeroMQ protocol [108]} & An openly published simple and lightweight \\  & & publish-subscribe type of messaging protocol \\  & & designed for constrained devices and \\  & & low-bandwidth, high-latency or unreliable networks. \\ \hline \multirow{2}{*}{COAP usage for REsource LOcation And Discovery (RELOAD)} & Proposed as IETF & peer-to-peer federation of geographically \\  & Internet-draft & distributed WSN islands \\ \hline Content-Centric Network & CCNx & Content-based networking. Security by design. \\ \hline \multirow{2}{*}{Websocket protocol} & IETF RFC 6455 & two-way communications with Low-overhead \\  & & transport (single TCP connection) \\ \hline \multirow{4}{*}{CoAP} & IETF’s Constrained RESTful environments (CoRE) working group & An application layer protocol designed for \\  & & constrained devices allowing them to communicate \\ \cline{1-1}  & & over the Internet. \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Review of the M2M Communication technologies. The websocket protocol (a part of HTML5 initiative) which relies on HTTP for handshake and negotiation, is message-based and has been designed to allow bidirectional communications. The related message queues protocols can be broker-based (e.g., DDS, AMQP, and STOMP) or broker less (e.g., ZeroMQ) and allow asynchronous communications and operate at the same level as HTTP. MQTT is a message queue designed with M2M applications in mind to enable lightweight publish/subscribe messaging transport. A challenge is related to application of HTTP within constrained local M2M asset network.