State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China.
Middleware Systems Research Group, University of Toronto, Toronto, ON M5S 1A1, Canada.
Sensors (Basel). 2019 Mar 25;19(6):1449. doi: 10.3390/s19061449.
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.
目前,大多数发布/订阅中间件假设所有用户都具有同等的服务质量 (QoS) 要求。然而,在许多现实世界的物联网 (IoT) 服务场景中,不同的用户可能具有不同的延迟要求。如何提供可靠的差异化服务已成为一个紧迫的问题。软件定义网络 (SDN) 的兴起由于其更大的可编程性,为提高发布/订阅中间件的 QoS 提供了无限可能。我们可以直接将事件主题和优先级编码到 SDN 交换机的流表项中,以满足定制化的需求。在本文中,我们首先提出了一种类似于 SDN 的发布/订阅中间件架构,并描述了如何使用该架构和 OpenFlow 交换机支持的优先级队列来实现差异化服务。然后,我们提出了一种使用极端梯度提升 (XGBoost) 模型的机器学习方法来解决准确获取交换机排队延迟这一难题。最后,我们根据排队延迟和 SDN 的可编程性提出了一种可靠的差异化服务保证机制来提高 QoS,即双层队列管理机制。实验评估表明,XGBoost 方法预测的延迟更接近实际值;我们的机制可以节省端到端延迟,降低丢包率,并更合理地分配带宽。