Machine-to-Machine (M2M) communication uses networking technologies to enable both wireless and wired systems to connect and communicate with devices of the same ability.
Key applications are :
- Connecting machines to other machines -e.g. Remote Production Environment
- Connecting machines to service centers — e.g. reporting maintenance issues
M2M protocols are well-defined architecture consisting of communication parameters and paradigm to exchange the data or information over the network. Each protocol defines the packet size, rules of communication, security over a network, communication requirements and other properties of the M2M network so that it will help to connect low powered, lossy devices to the world of the Internet. The structured communication scenario with system tools and processing devices at the various level of communication in IoT comprising M2M concept is well shown in the Figure.
There are three major groups of protocols used for M2M communication:
- Service-oriented Architectures (SOA) are used in industrial automation systems to exchange soft real-time data for instance between programmable logic controllers and supervisory, control and Data Acquisition (SCADA) systems.
- Representational State Transfer (REST) architecture style which defines
constraints to the used components, connectors, and data elements.
- Message Oriented Protocols supports the asynchronous data transfer between the distributed system.
According to communication paradigms:
1. The Request/Response model, commonly used in the distributed system to exchange information through message passing between a sender and receiver. This is where clients request information from a server and server responds to these requests accordingly. Examples : HTTP, CoAP
2. The Publish/Subscribe model, which is based on an event broker to forward updates (notifications) to interested users (subscribers), regarding changes of senders’ (publishers’) statuses. Example: MQTT, AMQP
This is an overview of the M2M communication protocols and its classification based on the pattern and the behavior of the data transfer over the network. In the next stories, we will draw our attention specifically towards the protocols in deep. Stay tuned, stay knowledged… :)