Using machine learning to maintain pub/sub system QoS in dynamic environments

Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support for scalable data dissemination. It is hard, however, to maintain specified QoS properties (such as reliability and latency) in dynamic environments (such as disaster relief operations or power grids). For example, managing QoS manually is often not feasible in dynamic systems due to (1) slow human response times, (2) the complexity of managing multiple interrelated QoS settings, and (3) the scale of the systems being managed. For certain applications the systems must be able to reflect on the conditions of their environment and adapt accordingly. Machine learning techniques provide a promising adaptation approach to maintaining QoS properties of QoS-enabled pub/sub middleware in dynamic environments. These techniques include decision trees, neural networks, and linear logistic regression classifiers that can be trained on existing data to interpolate and extrapolate for new data. By training the machine learning techniques with system performance metrics in a wide variety of configurations, changes to middleware mechanisms (e.g., associations of publishers and subscribers to transport protocols) can be driven by machine learning to maintain specified QoS. This paper describes how we are applying machine learning techniques to simplify the configuration of QoS-enabled middleware and adaptive transport protocols to maintain specified QoS as systems change dynamically. The results of our work thus far show that decision trees and neural networks can effectively classify the best protocols to use. In particular, decision trees answer questions about which measurements and variables are most important when considering the reliability and latency of pub/sub systems.