| Literature DB >> 33182422 |
Muhammad Ashar Tariq1, Murad Khan2, Muhammad Toaha Raza Khan2, Dongkyun Kim2.
Abstract
The Internet of Engineering Task (IETF) developed a lighter application protocol (Constrained Application Protocol (CoAP)) for the constrained IoT devices operating in lossy environments. Based on UDP, CoAP is a lightweight and efficient protocol compared to other IoT protocols such as HTTP, MQTT, etc. CoAP also provides reliable communication among nodes in wireless sensor networks in addition to features such as resource observation, resource discovery, congestion control, etc. These capabilities of CoAP have enabled the implementation of CoAP in various domains ranging from home automation to health management systems. The use of CoAP has highlighted its shortcomings over the time. To overcome shortcomings of CoAP, numerous enhancements have been made in basic CoAP architecture. This survey highlights the shortcomings of basic CoAP architecture and enhancements made in it throughout the time. Furthermore, existing challenges and issue in the current CoAP architecture are also discussed. Finally, some applications with CoAP implementation are mentioned in order to realize the viability of CoAP in real world use cases.Entities:
Keywords: CoAP; IoT; WSN; congestion control; enhancements in CoAP
Year: 2020 PMID: 33182422 PMCID: PMC7664934 DOI: 10.3390/s20216391
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1An overview of CoAP architecture.
Applications of CoAP
| Paper | Role of CoAP | Application |
|---|---|---|
| Z. Mi et al. [ | Direct compatibility of medical sensors with internet + interaction of sensors with other nodes using RESTful communication | Interoperability |
| B. Oryema et al. [ | Implementation of messaging system with MQTT model using CoAP | Interoperability |
| S.-y. Ge at al. [ | Design and implementation of healthcare platform with IEEEE 11073 PHD | Interoperability |
| W. Li et al. [ | Integration of two healthcare standards ISO/IEEE 11073 and IHE PCD-01 for communicating between medical IoT devices | Integration |
| Viel et al. [ | Integration of CoAP with Open Smart Grid Protocol (OSGP) for information exchange between devices in smart grids (SG) | Integration |
| D. Garcia-Carrillo et al. [ | Integration between AAA infrastructures and EAP | Authentication and Authorization |
| M. B. Tamboli et al. [ | To provide communication with packets having low overhead in CoAP-based authentication and access control framework for IoT | Authentication and Access Control |
| P. Krawiec et al. [ | For delivering the media segments to consumers in implementing dynamic streaming over CoAP | Streaming Services |
| W. ur Rahman et al. [ | To perform adaptive streaming for constrained wireless environments | Video Streaming |
| T. L. Scott et al. [ | Transfer of data from IoT nodes to cloud | Cloud Computing Services |
| S. R. Jan et al. [ | Observing resources (temperature values) in IoT environment and WSNs | Resource Observation |
| B. Djama et al. [ | For advertising and demanding of resource directories using CoAP REST methods | Resource Discovery |
| D. Ugrenovic et al. [ | Implementation of a remote healthcare monitoring system using CoAP client/server model | Real-time Remote Monitoring |
Comparison of Congestion Control Mechanisms.
| Scheme Name | Adopted Mechanism | Comm. Type | Burst Traffic Support | Complexity Level | Issues Countered | Shortcomings |
|---|---|---|---|---|---|---|
| Default CoAP [ | Binary Exponential Backoff (BEB) | Reliable | No | Low | Basic Congestion Control | Idle delays between retransmissions, does not consider dynamic network |
| CoCo-RED [ | Buffer management using Revised Random Early Detection | Reliable | Yes | Low | Reduced packet loss and response time of network | Fixed backoff values, does not consider dynamic network conditions |
| CoCoA [ | RTT measurements + Variable Backoff | Reliable | No | Low | Basic congestion control issues + RTO aging | Ambiguity in weak RTT estimator |
| 4-state Estimator [ | State0based Variable Backoff | Reliable | No | Medium | Idle delays between successive (re)transmissions in CoCoA | Not included |
| Adaptive Congestion Control [ | Transmission count-based | Reliable | No | Low | Ambiguity in weak estimator values | More bandwidth, and energy is consumed in solving ambiguity of weak estimator especially for wireless communication |
| CoCoA+ [ | Modifications in CoCoA RTO calculations | Reliable | No | High | Ambiguity in weak estimator values of CoCoA | Inaccurate measurement of retransmitted RTT in burst traffic |
| Improved Adaptive Congestion Control [ | Packet loss ratio-based RTO calculations | Reliable | Yes | Low | Congestion Control in burst traffic, elimination of RTO aging mechanism | Additional overhead in calculating RTO in each transmission, poor adaptability in RTO |
| CACC [ | RTT Estimators + Retransmission Count based | Reliable | No | High | Differentiating the scenario of packet loss due bit error rate and congestion | Poor RTO aging mechanism, vanishing of RTTVAR variable for similar consecutive RTT samples, lack of aging mechanism for weak RTO causing steep RTO increment |
| FASOR [ | RTO Estimators + State-based backoff logic | Reliable | No | Medium | Bufferbloat condition, high link error rates | No special logic for senders remaining idle |
| pCoCoA [ | Transmission Count + Modifications in RTO Estimation + Estimation of Max mean deviation of RTO | Reliable | Yes | High | Spurious retransmissions, vanishing RTTVAR due to similar RTT sampling | Not included |
| CoCoA++ [ | Delay Gradient based calculation + probabilistic backoff | Reliable | No | High | Shortcomings of default CoAP, CoCoA, CoCoA+ | Sender runs out of retransmissions due to quick retransmissions caused by increased packet sending rate |
| Genetic CoCoA++ [ | CoCoA++-based + Genetic algorithm | Reliable | No | High | Issues of CoCoA+ including: (i) Accurate retransmission RTO measurement (ii) Large changes in RTO estimates | RTT observation time is limited, burst traffic is not considered |
| Message Loss Feedback-based [ | Message Loss Feedback-based | Reliable/Unreliable | No | Low | Congestion detection in default CoAP | Loss rate of transmission cannot be found if number of CON and NON messages are equal |
| Content Freshness based [ | Congestion window size control | Reliable/Unreliable | No | Medium | Congestion Control in default CoAP | Loss rate of transmission cannot be found if number of CON and NON messages are equals |
| BDP-CoAP [ | Estimation of bottleneck bandwidth | Reliable | Yes | Medium | Issues of lossy links + short term unfairness of channel | Not included |
| CoAP-R [ | Rate-based | Reliable | Yes | Medium | Performance issues of CoCoA in light and burst traffic + unfair bandwidth allocation | Scenario of inactive/malfunctioned node is not considered |
Quantitative Analysis of Enhanced Congestion Control Schemes.
| Scheme Name | Performance Metrics | Topology | Traffic Scenarios | Avg Percentage Improvement |
|---|---|---|---|---|
| CoCo-RED [ | Settling time, response time, packet loss | Chain, grid, cross, dumbbell, random | Continuous, burst | Settling time: 2%, Response time: 8%, Packet loss: 21% |
| CoCoA [ | Throughput, settling time | Not mentioned | Continuous, burst | Throughput: 19Settling time: 26.67% |
| 4-state Estimator [ | Throughput, goodput | Not mentioned | Continuous | Throughput: 19% Goodput: 40% |
| Adaptive Congestion Control [ | Throughput | Not mentioned | Continuous | Throughput: 56% |
| CoCoA+ [ | packet delivery ratio, end-to-end delay, settling time | Chain, dumbbell, grid | Periodic, burst, mixed | Packet delivery ratio: 4.4% End-to-end delay: 18.5% Settling time: 27.5% |
| Improved Adaptive Congestion Control [ | number of dropped packets, number of successful transactions | Point to multipoint | Constant | Dropped packets: 40.8% Successful transactions: 7.5% |
| CACC [ | Throughput, end-to-end delay, energy consumption | Grid, chain, dumbbell | Constant | Throughput: 21.8% End-to-end delay: 47.8% Energy consumption: 41% |
| CoCoA++ [ | Number of packets transmitted, average packet sending rate | Grid, flower, dumbbell, chain | Periodic | Number of packets transmitted: 15% Avg packet sending rate: 5.2% |
| Genetic CoCoA++ [ | Packet failure rate | Grid, dumbbell | Continuous | Packet failure rate: 32.14% |
| Message Loss Feedback-based [ | Average packet reception ratio, throughput | Random | Constant | Packet reception ratio: 3.215% Throughput: 18.54% |
| Content Freshness based [ | Throughput, number of message transmissions | Random | Constant | Throughput: 23.46% Number of transmissions: 31.95% |
Figure 2CoAP Message Header.
Figure 3Examples of Confirmable and Non-confirmable CoAP messages.
Figure 4CoAP Default Congestion Control.
Figure 5CoAP Resource Observation