| Literature DB >> 35127310 |
Norisvaldo Ferraz Junior1, Anderson A A Silva1,2,3,4, Adilson E Guelfi5, Sergio T Kofuji1.
Abstract
BACKGROUND: The Internet of Things (IoT) enables the development of innovative applications in various domains such as healthcare, transportation, and Industry 4.0. Publish-subscribe systems enable IoT devices to communicate with the cloud platform. However, IoT applications need context-aware messages to translate the data into contextual information, allowing the applications to act cognitively. Besides, end-to-end security of publish-subscribe messages on both ends (devices and cloud) is essential. However, achieving security on constrained IoT devices with memory, payload, and energy restrictions is a challenge. CONTRIBUTION: Messages in IoT need to achieve both energy efficiency and secure delivery. Thus, the main contribution of this paper refers to a performance evaluation of a message structure that standardizes the publish-subscribe topic and payload used by the cloud platform and the IoT devices. We also propose a standardization for the topic and payload for publish-subscribe systems.Entities:
Keywords: Context-aware messages; IoT; Publish-subscribe; Security; WSN
Year: 2022 PMID: 35127310 PMCID: PMC8802267 DOI: 10.1186/s13677-022-00278-6
Source DB: PubMed Journal: J Cloud Comput (Heidelb) ISSN: 2192-113X
Fig. 1LWPubSub context-aware and secure message using publish-subscribe systems
Overview of the main requirements of platforms of IoT devices
| Platform | Battery lifetime [ | Data rate [ | Range [ | Payload [ | End-to-end to the cloud |
| LoRa | Years | 50 kbps | 20 km | 243 bytes | No |
| SigFox | Years | 100 bps | 20 km | 12 bytes | No |
| 6LoWPAN | Months | 250 kbps | 100 m | 127 bytes | Yes |
| Platform | Battery lifetime [ | Data rate | Range | Payload | End-to-end to the cloud |
| SBC | Hours | >54 Mbps (WLAN) | 100 m | 2312 bytes | Yes |
Fig. 2IoT device’s platform comparison regarding battery life, end-to-end data transmission to the cloud, payload length, QoS, range, and scalability
Key features of the publish-subscribe message systems under consideration
| XMPP | MQTT | AMQP | DDS | |
|---|---|---|---|---|
| Transport protocol | TCP | TCP | TCP | TCP/UDP |
| QoS support | No | 3 levels | 3 levels | 23 levels |
| Header size (at least) | Variable (XML tags) | 2 | 8 | 12* |
| Security | TLS | TLS | TLS | TLS/DTLS |
| Encoding format | XML | Binary | Binary | Binary |
| Low-Power and Lossy networks | Fair | Good | Good | Poor |
| Standard | IETF | OASIS | OASIS | OMG |
*DDS-XRCE
Fig. 3Structure of the LWPubSub message structure for publish-subscribe messages
Fig. 4Experimental scenario
Experiment parameters
| Cloud platform | Microsservices/docker containers | |
| MQTT Broker | Mosquitto on the Huawei cloud | |
| AMQP Broker | RabbitMQ on the Huawei cloud | |
| DDS | OpenDDS on the Huawei cloud | |
| 6LBR | Launchpad CC2650 | |
| IoT Gateway | Raspberry pi model 3B | |
| Ultra-low-power devices | Sensortag CC2650 | |
| Remote CC2538 | ||
| High capacity devices | Raspberry Pi model 3B | |
| Raspberry Pi Zero W | ||
| Platform | FIWARE-based | |
| Context-Broker | Orion 2.3.0 | |
| Database | Mongo DB 3.6 | |
| TX current | 7.9 mA | 24 mA |
| RX current | 6 mA | 20 mA |
| LPM current | 0.55 mA | 0.60 mA |
| CPU current | 3.48 mA | 20 mA |
| Microcontroller | CC2650 (48 MHz ARM Cortex M3) | CC2538 (32 MHz ARM Cortex M3) |
| ROM | 128 KB | 512 KB |
| RAM | 20 KB | 32 KB |
| OS | Contiki-NG | |
| TSCH schedule | Minimal | |
| CPU | 1.2 GHz 64-bit quad core ARM Cortex-A53 | 1 GHz ARM11 32-bit |
| Flash memory | 32 GB | 32 GB |
| RAM | 1 GB | 512 MB |
| 802.11 active (headless)* | 225.17 mA | 95.15 mA |
| OS | Raspbian release 10 | |
| Domain | 99 | |
| Sensortag deviceID | 00124b05257a | |
| Remote deviceID | 00124b4a527d | |
| Rasp. Pi 3B deviceID | 0012eb00f6d0 | |
| Rasp. Pi Zero W deviceID | 0012ebc894cb | |
| 3303, 3311, and 3338 | ||
| ultra-low-power devices security | Payload with AES-CCM-8 | |
| High capacity devices security | TLS + payload with AES-CCM-8 | |
*measured with USB Voltmeter Tester UM24C
Fig. 5Header overhead using LWPubSub messages
Fig. 6Topic results comparison with the main related works
Fig. 7Message size comparison with the main related works
Fig. 8Energy consumption to send measurements and receive commands
Fig. 9Daily energy consumption of IoT devices
Fig. 10Ultra-low-power devices battery lifetime on the evaluated poll frequencies