| Literature DB >> 30934550 |
Yulong Shi1,2, Yang Zhang3, Hans-Arno Jacobsen4, Lulu Tang5, Geoffrey Elliott6, Guanqun Zhang7, Xiwei Chen8, Junliang Chen9.
Abstract
At present, most publish/subscribe middlewares suppose that there are equal Quality of Service (QoS) requirements for all users. However, in many real-world Internet of Things (IoT) service scenarios, different users may have different delay requirements. How to provide reliable differentiated services has become an urgent problem. The rise of Software-Defined Networking (SDN) provides endless possibilities to improve the QoS of publish/subscribe middlewares due to its greater programmability. We can encode event topics and priorities into flow entries of SDN switches directly to meet customized requirements. In this paper, we first propose an SDN-like publish/subscribe middleware architecture and describe how to use this architecture and priority queues supported by OpenFlow switches to realize differentiated services. Then we present a machine learning method using the eXtreme Gradient Boosting (XGBoost) model to solve the difficult issue of getting the queuing delay of switches accurately. Finally, we propose a reliable differentiated services guarantee mechanism according to the queuing delay and the programmability of SDN to improve QoS, namely, a two-layer queue management mechanism. Experimental evaluations show that the delay predicted by the XGBoost method is closer to the real value; our mechanism can save end-to-end delay, reduce packet loss rate, and allocate bandwidth more reasonably.Entities:
Keywords: differentiated service; machine learning; publish/subscribe; quality of service; queue management; software-defined networking
Year: 2019 PMID: 30934550 PMCID: PMC6471939 DOI: 10.3390/s19061449
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1SDN-like pub/sub system architecture.
Figure 2Topic encoding.
Figure 3Two-layer queue management mechanism.
Queue data after preprocessing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2971099 | 0 | 0 | 80 | 12000 | 1500000 | 512 | 0 | 0 | 3351904417 | 512 M | 4 M | 1 µs | 32 K |
| 2769963 | 2972088 | 2770952 | 80 | 12000 | 1500000 | 512 | 0 | 0 | 3351904417 | 512 M | 4 M | 1 µs | 32 K |
| 3502000 | 5742931 | 6273832 | 80 | 12000 | 1500000 | 512 | 0 | 0 | 3351904417 | 512 M | 4 M | 1 µs | 32 K |
| 2793245 | 9246023 | 9068169 | 80 | 12000 | 1500000 | 512 | 0 | 0 | 3351904417 | 512 M | 4 M | 1 µs | 32 K |
| 2781192 | 12040209 | 11850302 | 80 | 12000 | 1500000 | 512 | 0 | 0 | 3351904417 | 512 M | 4 M | 1 µs | 32 K |
Training results.
| XGBoost Parameter | RMSE |
|---|---|
| min_child_weight=10; subsample=0.7; |
|
| min_child_weight=10; subsample=0.7; |
|
| min_child_weight=10; subsample=1; |
|
Figure 4Experiment topology.
Figure 5Queuing delay prediction methods comparison.
Figure 6Local queue bandwidth adjustment algorithm verification.
Figure 7Delay * packet loss rate comparison.
Delay requirements.
| Requirement | Priority | Queue | Bandwidth |
|---|---|---|---|
| 10 ms | high | 7 | 60 M/s |
| 60 ms | medium | 6 | 30 M/s |
| 150 ms | low | 5 | 10 M/s |
Figure 8Delay threshold and real delay comparison.
Figure 9End-to-end delay.
Figure 10Three priority queues bandwidth.
Poisson background traffic model parameter value.
| Parameter Name | Parameter Value |
|---|---|
| rate | 1 MB/s |
| time interval | 5 ms |
| packet size | 1 KB |
Figure 11Poisson background traffic model curve.
Figure 12Background traffic and no background traffic comparison.
Figure 13CBR traffic experiments over the Mininet testbed.
Figure 14VBR traffic experiments over the Mininet testbed.