Non-Intrusive Continuous Monitoring of Smart City Platforms
DOI:
https://doi.org/10.5753/jbcs.2023.3271Keywords:
Smart cities, Platform, Monitoring, Aspect-oriented programmingAbstract
Smart city platforms provide several services to facilitate the development of applications. Such platforms typically manage several applications, deal with a large volume of data, and serve many devices and users that generate a high volume of requests. The large number of requests to handle and the complex operations to perform often cause overloads on the platform, degrading the quality of service provided to users and applications. In this context, monitoring the underlying computational infrastructure in which smart city platforms and applications are deployed and the platform operations is essential. The monitoring process can allow for examining fluctuations in the behavior of the platform's components to detect performance degradation and overloads (including unforeseen ones), contribute to avoiding interruptions in the platform's services, and increase its scalability to assimilate significant amounts of requests, devices, and users. This paper presents a strategy and architecture to enable the non-intrusive monitoring of operations on smart city platforms and their underlying infrastructure. The proposal covers monitoring at multiple levels and is based on the aspect-oriented programming (AOP) paradigm so that it is possible to monitor the platform's operations without intervening in the platform's implementation or generating coupling regarding monitoring. This paper presents the implementation of the monitoring architecture and its instantiation in the context of Smart Geo Layers (SGeoL), a platform that has been used in several real-world smart city applications. This paper also reports the results of computational experiments to evaluate the performance of the proposed monitoring architecture for response time to requests, CPU usage, and RAM utilization. The obtained results show an evident increase in response time with the number of simultaneous requests and a significant correlation between the response time and the CPU utilization in the deployment of the monitoring architecture.
Downloads
References
Abranches, M. C. and Solis, P. (2016). A mechanism of auto elasticity based on response times for cloud computer enviroments and autossimilar workload. In Proceedings of the XLII Latin American Computing Conference, USA. IEEE. DOI: 10.1109/CLEI.2016.7833403.
Araujo, V., Mitra, K., Saguna, S., and Åohlund, C. (2019). Performance evaluation of FIWARE: A cloud-based IoT platform for smart cities. Journal of Parallel and Distributed Computing, 132:250-261. DOI: 10.1016/j.jpdc.2018.12.010.
Bagnasco, S., Berzano, D., Guarise, A., Lusso, S., Masera, M., and Vallero, S. (2015). Monitoring of IaaS and scientific applications on the cloud using the Elasticsearch ecosystem. Journal of Physics: Conference Series, 608. DOI: 10.1088/1742-6596/608/1/012016.
Basili, V. R., Caldiera, G., and Rombach, H. D. (1994). The Goal Question Metric Approach. In Marciniak, J. J., editor, Encyclopedia of Software Engineering, volume 2. John Wiley & Sons. DOI: 10.1002/0471028959.sof142.
Bhardwaj, A. and Krishna, C. R. (2021). Virtualization in Cloud Computing: Moving from hypervisor to containerization - a survey. Arabian Journal for Science and Engineering, 46:8585-8601. DOI: 10.1007/s13369-021-05553-3.
Casalicchio, E. (2019). A study on performance measures for auto-scaling CPU-intensive containerized applications. Cluster Computing, 22(3):995-1006. DOI: 10.1007/s10586-018-02890-1.
Cavalcante, E., Cacho, N., Lopes, F., and Batista, T. (2017). Challenges to the development of smart city systems:a system-of-systems view. In Proceedings of the XXXI Brazilian Symposium on Software Engineering, pages 244-249, USA. ACM. DOI: 10.1145/3131151.3131189.
Chen, T., Bahsoon, R., and Yao, X. (2018). A survey and taxonomy of self-aware and self-adaptive cloud autoscaling systems. ACM Computing Surveys, 51(3). DOI: 10.1145/3190507.
Coutinho, E. F., de Carvalho Sousa, F. R., Rego, P. A. L., Gomes, D. G., and de Souza, J. N. (2015). Elasticity in Cloud Computing: A survey. Annals of Telecommunications, 70:289-309. DOI: 10.1007/s12243-014-0450-7.
Del Esposte, A. M., Santana, E. F. Z., Kanashiro, L., Costa, F. M., Braghetto, K. R., Lago, N., and Kon, F. (2019). Design and evaluation of a scalable smart city software platform with large-scale simulations. Future Generation Computer Systems, 93:427-441. DOI: 10.1016/j.future.2018.10.026.
ISO (2019). Iso 37122:2019 - sustainable cities and communities - indicators for smart cities. Available online [link].
Kampars, J. and Pinka, K. (2017). Auto-scaling and adjustment platform for cloud-based systems. Environment. Technologies. Resources., 2:52-57. DOI: 10.17770/etr2017vol2.2591.
Kephart, J. O. and Chess, D. M. (2003). The vision of autonomic computing. Computer, 36(1):41-50. DOI: 10.1109/mc.2003.1160055.
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. (2001). An overview of AspectJ. In Knudsen, J. L., editor, ECOOP 2001 - Object-Oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327-354. Springer-Verlag Berlin Heidelberg, Germany. DOI: 10.1007/3-540-45337-7_18.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Akcsit, M. and Matsuoka, S., editors, ECOOP'97 - Object Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220-242. Springer Berlin Heidelberg, Germany. DOI: 10.1007/bfb0053381.
Kiczales, G. and Mezini, M. (2005). Aspect-oriented programming and modular reasoning. In Proceedings of the 27th International Conference on Software Engineering, pages 49-58, USA. ACM. DOI: 10.1145/1062455.1062482.
Ma, K., Sun, R., and Abraham, A. (2013). Toward a module-centralized and aspect-oriented monitoring framework in clouds. Journal of Universal Computer Science, 19(15):2241-2265. DOI: 10.3217/jucs-019-15-2241.
Matsumoto, R., Kondo, U., and Kuribayashi, K. (2019). FastContainer: A homeostatic system architecture high-speed adapting execution environment changes. In Proceedings of the IEEE 43rd Annual Computer Software and Applications Conference, pages 270-275, USA. IEEE. DOI: 10.1109/COMPSAC.2019.00047.
Narayana, S., Mainak, S., and Paul, A. S. (2020). Application deployment using containers with auto-scaling for microservices in cloud environment. Journal of Network and Computer Applications, 160. DOI: 10.1016/j.jnca.2020.102629.
Pereira, J., Batista, T., Cavalcante, E., Souza, A., Lopes, F., and Cacho, N. (2022). A platform for integrating heterogeneous data and developing smart city applications. Future Generation Computer Systems, 128:552-566. DOI: 10.1016/j.future.2021.10.030.
Santana, E. F. Z., Chaves, A. P., Gerosa, M. A., Kon, F., and Milojivčić, D. S. (2017). Software platforms for smart cities: Concepts, requirements, challenges, and a unified reference architecture. ACM Computing Surveys, 50(6). DOI: 10.1145/3124391.
Solino, A., Lopes, J. V., Batista, T., Cavalcante, E., Pereira, J., and Rocha Neto, A. (2022). Uma estratégia orientada a aspectos para monitoramento de plataformas para cidades inteligentes. In Anais do XLIX Seminário Integrado de Software e Hardware, pages 164-175, Brazil. SBC. DOI: 10.5753/semish.2022.223200.
Taherizadeh, S. and Stankovski, V. (2019). Dynamic multi-level auto-scaling rules for containerized applications. The Computer Journal, 62(2):174-197. DOI: 10.1093/comjnl/bxy043.
Trihinas, D., Pallis, G., and Dikaiakos, M. D. (2014). JCatascopia: Monitoring elastically adaptive applications in the cloud. In Proceedings of the 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, pages 226-235, USA. IEEE. DOI: 10.1109/ccgrid.2014.41.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 The authors
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.