...
...
XMPP has been around for a while and has proven scalability and security. There are many servers that have used XMPP for many years. Software is available for any programming language making it easy to get started. Because XMPP was originally an instant messaging protocol and uses XML, it has more overhead compared to a lightweight protocol like MQTT.
IoT protocols overview
Types of IoT connections
Network Toplogies
Wireless nets can also be categorized according to their topology, i.e. a connectivity configuration. There may be various combinations of connections between nodes: line, ring, star, mesh, fully connected, tree, bus.
Network requirements for IoT
- The capacity to connect a large number of heterogeneous elements
- High reliability
- Real-time data transmission with minimum delays
- The ability to protect all data flows
- The ability to configure applications
- Monitoring and traffic management at the device level
- Cost-effectiveness for a large number of connected objects
IoT Protocols
MQTT
MQTT (Message Queue Telemetry Transport) is a lightweight protocol for sending simple data flows from sensors to applications and middleware.
The protocol functions on top of TCP/IP and includes three components: subscriber, publisher and broker. The publisher collects data and sends it to subscribers. The broker tests publishers and subscribers, checking their authorization and ensuring security.
MQTT suits small, cheap, low-memory and low-power devices.
Open DDS from OMG
DDS (Data Distribution Service) is an IoT standard for real-time, scalable and high-performance machine-to-machine communication. It was developed by the Object Management Group (OMG).
You can deploy DDS both in low-footprint devices and in the cloud.
The DDS standard has two main layers:
- Data-Centric Publish-Subscribe (DCPS), which delivers the information to subscribers
- Data-Local Reconstruction Layer (DLRL), which provides an interface to DCPS functionalities
AMQP for middleware
AMQP (Advanced Message Queuing Protocol) is an application layer protocol for message-oriented middleware environments. It is approved as an international standard.
The processing chain of the protocol includes three components that follow certain rules.
- Exchange — gets messages and puts them in the queues
- Message queue — stores messages until they can be safely processed by the client app
- Binding — states the relationship between the first and the second components
OpenDDS concepts
https://objectcomputing.com/products/opendds
...