Towards self-optimization of publish/subscribe IoT systems using continuous performance monitoring

Mohammed Djahafi,Nabila Salmi
DOI: https://doi.org/10.5121/csit.2024.140502
2024-04-29
Abstract:Today, more and more embedded devices are being connected through a network, generally Internet, offering users different services. This concept refers to Internet of Things (IoT), bringing information and control capabilities in many fields like medicine, smart homes, home security, etc. Main drawbacks of IoT environment are its dependency on Internet connectivity and need continuous devices power. These dependencies may affect system performances, namely request processing response times. In this context, we propose in this paper a continuous performance monitoring methodology, applied on IoT systems based on Publish/subscribe communication model. Our approach assesses performances using Stochastic Petri net modeling, and self-optimizes whenever poor performances are detected. Our approach relies on a Stochastic Petri nets modelling and analysis to assess performances. We target improving performances, in particular response times, by online modification of influencing factors.
Performance
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the performance optimization problem of the Publish/Subscribe model in the Internet of Things (IoT) systems, especially the improvement of response time. Specifically, the author focuses on how to deal with the performance degradation problem in the IoT environment through continuous performance monitoring and self - optimization. ### Main Problems 1. **Dependence on Internet Connection and Device Power Supply**: - The performance of IoT systems is affected by factors such as Internet connection speed, the distance between devices, and device processing capabilities. These factors may lead to an increase in request processing response time. 2. **Optimization of Response Time**: - Response time refers to the time required for a message to be sent from one device to another. In a smart home system, an overly long response time may lead to problems such as lights not being switched on or off in a timely manner or inaccurate temperature control. Therefore, to ensure the efficient operation of IoT systems, it is necessary to be able to analyze performance in real - time and make necessary adjustments. ### Solutions To solve the above - mentioned problems, the author proposes a continuous performance monitoring method based on Stochastic Petri Net (SPN) modeling and analysis. The main objectives of this method are: - **Evaluate Performance**: Use the SPN model to evaluate the performance of the current system configuration and predict possible performance degradation situations. - **Identify Influencing Factors**: Find out the key parameters that affect response time, such as network buffer size, broker memory capacity, and QoS level. - **Self - Optimization**: When performance degradation is detected, improve system performance by modifying the factors affecting performance online (such as adjusting network buffer size or QoS level). ### Method Overview 1. **Capture Current Load Parameters**: Obtain the main configuration parameters in the IoT system, such as the number of requests. 2. **Construct SPN Model**: Construct an SPN model according to the captured load parameters and calculate performance indicators (such as response time). 3. **Performance Optimization**: If performance degradation is detected, apply predefined operations to improve performance, such as adjusting network buffer size or QoS level. Through this method, the author aims to achieve self - optimization of IoT systems, thereby improving response time and overall performance. ### Formula Representation Some formulas and parameters involved in the paper can be represented in Markdown format as follows: - The influence of network buffer size on response time: \[ \text{Accept Publication Response Time} = f(\text{Network Buffer Size}) \] - The influence of broker memory capacity on response time: \[ \text{Notification Response Time} = g(\text{Broker Memory Capacity}) \] - The influence of QoS level on response time: \[ \text{Response Time} = h(\text{QoS Level}) \] These formulas show the specific influence of different parameters on response time, which is helpful for understanding the process of performance optimization.