Abstract
Cloud computing is a modern computing technology. The integration of fog computing, edge computing, mist computing, IoT, 5G, etc. with cloud computing adds immense power to cloud computing. However, this integration leads to two problems. The first problem is to define an interoperable cloud architecture and the second problem is resource allocation to optimize performance. To address both problems, we propose a SOA for cloud. We implement a machine learning based Apriori algorithm, to find association rules between QoS to define a stronger SLA. This approach also helps in defining better and simpler resource management policies and for developer it becomes easier to develop and deploy cloud applications. When cloud manages resources in a well-defined manner, revenue is optimized easily with maintaining required QoS levels. Experiments and detailed discussion show that this approach successfully helps in defining better SLA and implement a simpler resource management policy, makes easier to handle QoS, reduces costs and optimizes revenues.




Similar content being viewed by others
Data availability
The data used for this experiment is available by making a request to corrosponding author.
References
Singh J, Dhiman G. A survey on cloud computing approaches. Mater Today Proc Sci Direct. 2021. https://doi.org/10.1016/j.matpr.2021.05.334. (ISSN 2214-7853).
Raza MR, Varol A. QoS parameters for viable SLA in cloud. In: 2020 8th international symposium on digital forensics and security (ISDFS). Beirut, Lebanon; 2020. p. 1–5. https://doi.org/10.1109/ISDFS49300.2020.9116311.
Mariem J, Ghazel C, Saïdane LA. A survey on quality of service in cloud computing. 2017 3rd international conference on frontiers of signal processing (ICFSP). IEEE; 2017.
Erich G, et al. Elements of reusable object-oriented software. London: Pearson; 2015.
Fehlin C. Cloud computing patterns: identification, design, and application. Thesis/Dissertation ETD, Universität Stuttgart; 2015.
Naghmeh N, et al. Understanding service-oriented architecture (SOA): a systematic literature review and directions for further investigation. Inf Syst. 2020;91:101491.
Tsai W-T, Sun X, Balasooriya J. Service-oriented cloud computing architecture. 2010 seventh international conference on information technology: new generations. IEEE; 2010.
Zimmermann A, et al. Evolution of enterprise architecture for digital transformation. 2018 IEEE 22nd international enterprise distributed object computing workshop (EDOCW). IEEE; 2018.
Alkkiomäki V. The role of service-oriented architecture as a part of the business model. Int J Bus Inf Syst. 2016;21(3):368–87.
Hustad E, Olsen DH. Creating a sustainable digital infrastructure: The role of service-oriented architecture. Procedia Comput Sci. 2021;181:597–604.
Bernal WN, et al. Enterprise architecture framework oriented to cloud computing services. 2016 6th international conference on computers communications and control (ICCCC). IEEE; 2016.
Rojas H, Arias KA, Renteria R. Service-oriented architecture design for small and medium enterprises with infrastructure and cost optimization. Procedia Comput Sci. 2021;179:488–97.
Madni SHH, et al. Recent advancements in resource allocation techniques for cloud computing environment: a systematic review. Clust Comput. 2017;20(3):2489–533.
Ardagna D, et al. Quality-of-service in cloud computing: modeling techniques and their applications. J Internet Serv Appl. 2014;5(1):1–17.
Wazir U, Khan FG, Shah S. Service level agreement in cloud computing: a survey. Int J Comput Sci Inf Secur. 2016;14(6):324.
Uriarte RB, Tiezzi F, De Nicola R. Dynamic slas for clouds. European conference on service-oriented and cloud computing. Cham: Springer; 2016.
Halboob W, et al. Dynamically changing service level agreements (SLAs) management in cloud computing. International conference on intelligent computing. Cham: Springer; 2014.
Jain R, Sharma N. A quantum inspired hybrid SSA–GWO algorithm for SLA based task scheduling to improve QoS parameter in cloud computing. Cluster Comput. 2022. https://doi.org/10.1007/s10586-022-03740-x.
Edinat A, Al-Sayyed R, Hudaib A. A survey on improving QoS in service level agreement for cloud computing environment. iJIM. 2021;15(21):119.
Ghahramani MH, Zhou MS, Hon CT. Toward cloud computing QoS architecture: analysis of cloud systems and cloud services. IEEE/CAA J Autom Sin. 2017;4(1):6–18.
Badawy MM, Ali ZH, Ali HA. QoS provisioning framework for service-oriented internet of things (IoT). Clust Comput. 2020;23(2):575–91.
Haytamy S, Omara F. A deep learning based framework for optimizing cloud consumer QoS-based service composition. Computing. 2020;102(5):1117–37.
Choi Y, Lim Y. Optimization approach for resource allocation on cloud computing for IoT. Int J Distrib Sens Netw. 2016;12(3):3479247.
Thein T, et al. Reinforcement learning based methodology for energy-efficient resource allocation in cloud data centers. J King Saud Univ Comput Inf Sci. 2020;32(10):1127–39.
Sarker IH. Machine learning: algorithms, real-world applications and research directions. SN Comput Sci. 2021;2(3):1–21.
Nawrocki P, Osypanka P. Cloud resource demand prediction using machine learning in the context of qos parameters. J Grid Comput. 2021;19(2):1–20.
Moreno-Vozmediano R, et al. Efficient resource provisioning for elastic cloud services based on machine learning techniques. J Cloud Comput. 2019;8(1):1–18.
Kumar VP, Prakash KB. Adaptive resource management utilizing reinforcement learning technique in inter-cloud environments. IOP conference series: materials science and engineering, Vol. 1055(1). IOP Publishing; 2021.
Wang C, Zheng X. Application of improved time series Apriori algorithm by frequent itemsets in association rule data mining based on temporal constraint. Evol Intell. 2020;13(1):39–49.
AlZu'bi S, et al. A novel recommender system based on apriori algorithm for requirements engineering. 2018 fifth international conference on social networks analysis, management and security (snams). IEEE; 2018.
Silva J, et al. Association rules extraction for customer segmentation in the SMEs sector using the apriori algorithm. Procedia Comput Sci. 2019;151:1207–12.
Chrysoulas C, Fasli M. A service oriented QoS architecture targeting the smart grid world and machine learning aspects. 2016 International multidisciplinary conference on computer and energy science (SpliTech). IEEE; 2016.
Karimi MB, Isazadeh A, Rahmani AM. QoS-aware service composition in cloud computing using data mining techniques and genetic algorithm. J Supercomput. 2017;73(4):1387–415.
Godhrawala H, Sridaran R. A dynamic Stackelberg game based multi-objective approach for effective resource allocation in cloud computing. Int Inf Technol. 2022;15:1–16.
Chana I, Singh S. Quality of service and service level agreements for cloud environments: issues and challenges. Cloud Comput. 2014. https://doi.org/10.1007/978-3-319-10530-7_3.
Godhrawala H, Sridaran R. Improving architectural reusability for resource allocation framework in futuristic cloud computing using decision tree based multi-objective automated approach. In: Rajagopal S, Faruki P, Popat K, editors. Advancements in smart computing and information security. ASCIS 2022. Communications in computer and information science, vol. 1759. Cham: Springer; 2022. https://doi.org/10.1007/978-3-031-23092-9_32.
Labidi T, Mtibaa A, Gargouri F. Ontology-based context-aware SLA management for cloud computing. Model and data engineering: 4th international conference, MEDI 2014, Larnaca, Cyprus, September 24–26, 2014. Proceedings 4. Springer International Publishing; 2014.
Labidi T, et al. Cloud SLA modeling and monitoring. 2017 IEEE international conference on services computing (SCC). IEEE; 2017.
Gill SS, et al. AI for next generation computing: Emerging trends and future directions. Internet Things. 2022;19:100514.
Khan T, et al. Machine learning (ML)—centric resource management in cloud computing: a review and future directions. J Netw Comput Appl. 2022;204:103405.
Gacanin H, Wagner M. Artificial intelligence paradigm for customer experience management in next-generation networks: challenges and perspectives. IEEE Netw. 2019;33(2):188–94.
Gaur V, Dhyani P, Rishi OP. A multi-objective optimization of cloud based sla-violation prediction and adaptation. Int J Inf Technol Comput Sci. 2016;8(6):60–5.
Raza MR, Varol A. QoS parameters for viable SLA in cloud. 2020 8th international symposium on digital forensics and security (ISDFS). IEEE; 2020.
Tuli S, et al. HUNTER: AI based holistic resource management for sustainable cloud computing. J Syst Softw. 2022;184:111124.
De Sanctis M, Muccini H, Vaidhyanathan K. Data-driven adaptation in microservice-based iot architectures. 2020 IEEE international conference on software architecture companion (ICSA-C). IEEE; 2020.
Agrawal R, et al. Fast discovery of association rules. Adv Knowl Discov Data Min. 1996;12(1):307–28.
Online Python compiling tool. https://www.programiz.com/python-programming/online-compiler/. Accessed 15 Jan 2023.
Hassan H, et al. Enhanced QoS-based model for trust assessment in cloud computing environment. IEEE Access. 2020;8:43752–63.
Zúñiga-Prieto MÁ, Gonzalez-Huerta J, Insfran E, Abrahao Gonzales SM. Dynamic reconfiguration of cloud application architectures. Softw Pract Exp. 2018;48(2):327–44.
Gorski T, Woźniak AP. Optimization of business process execution in services architecture: a systematic literature review. IEEE Access. 2021;9:111833–52.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
We hereby declare that we have no conflicting financial or non-financial interests that are directly or indirectly related to the work submitted for publication.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article is part of the topical collection “Soft Computing Solutions for Secured & Smart Applications” guest edited by Sridaran Rajagopal and Kalpesh Popat.
Appendix
Appendix
Following shows the detailed computation of Apriori Implementation. C indicates candidate sets, while L indicates Level or Large Itemset. The result trail of entire dataset of 500 transaction is listed below.
['Availability', 'Cost', 'Energy Optimization', 'Interoperable', 'Response Time', 'Throughput'].
C1:
['Availability']: 272.
['Cost']: 293.
['Energy Optimization']: 282.
['Interoperable']: 283.
['Response Time']: 268.
['Throughput']: 277.
L1:
['Availability']: 272.
['Cost']: 293.
['Energy Optimization']: 282.
['Interoperable']: 283.
['Response Time']: 268.
['Throughput']: 277.
C2:
['Availability', 'Cost']: 98.
['Interoperable', 'Cost']: 162.
['Availability', 'Throughput']: 238.
['Interoperable', 'Throughput']: 162.
['Availability', 'Response Time']: 224.
['Interoperable', 'Response Time']: 147.
['Throughput', 'Cost']: 82.
['Response Time', 'Energy Optimization']: 50.
['Energy Optimization', 'Cost']: 218.
['Response Time', 'Cost']: 98.
['Throughput', 'Energy Optimization']: 70.
['Response Time', 'Throughput']: 234.
['Interoperable', 'Energy Optimization']: 160.
['Availability', 'Energy Optimization']: 86.
['Availability', 'Interoperable']: 168.
L2:
['Availability', 'Cost']: 98.
['Interoperable', 'Cost']: 162.
['Availability', 'Throughput']: 238.
['Interoperable', 'Throughput']: 162.
['Availability', 'Response Time']: 224.
['Interoperable', 'Response Time']: 147.
['Throughput', 'Cost']: 82.
['Response Time', 'Energy Optimization']: 50.
['Energy Optimization', 'Cost']: 218.
['Response Time', 'Cost']: 98.
['Throughput', 'Energy Optimization']: 70.
['Response Time', 'Throughput']: 234.
['Interoperable', 'Energy Optimization']: 160.
['Availability', 'Energy Optimization']: 86.
['Availability', 'Interoperable']: 168.
C3:
['Availability', 'Interoperable', 'Cost']: 59.
['Throughput', 'Cost', 'Response Time']: 64.
['Interoperable', 'Throughput', 'Energy Optimization']: 50.
['Interoperable', 'Throughput', 'Cost']: 53.
['Interoperable', 'Cost', 'Response Time']: 63.
['Response Time', 'Cost', 'Energy Optimization']: 23.
['Availability', 'Throughput', 'Response Time']: 213.
['Availability', 'Energy Optimization', 'Cost']: 34.
['Availability', 'Response Time', 'Interoperable']: 136.
['Availability', 'Response Time', 'Cost']: 75.
['Interoperable', 'Energy Optimization', 'Response Time']: 24.
['Energy Optimization', 'Interoperable', 'Cost']: 110.
['Response Time', 'Throughput', 'Energy Optimization']: 27.
['Availability', 'Interoperable', 'Energy Optimization']: 56.
['Energy Optimization', 'Throughput', 'Cost']: 18.
['Availability', 'Response Time', 'Energy Optimization']: 38.
['Availability', 'Throughput', 'Energy Optimization']: 52.
['Availability', 'Throughput', 'Interoperable']: 150.
['Interoperable', 'Throughput', 'Response Time']: 125.
['Availability', 'Throughput', 'Cost']: 64.
L3:
['Availability', 'Interoperable', 'Cost']: 59.
['Throughput', 'Cost', 'Response Time']: 64.
['Interoperable', 'Throughput', 'Energy Optimization']: 50.
['Interoperable', 'Throughput', 'Cost']: 53.
['Interoperable', 'Cost', 'Response Time']: 63.
['Response Time', 'Cost', 'Energy Optimization']: 23.
['Availability', 'Throughput', 'Response Time']: 213.
['Availability', 'Energy Optimization', 'Cost']: 34.
['Availability', 'Response Time', 'Interoperable']: 136.
['Availability', 'Response Time', 'Cost']: 75.
['Interoperable', 'Energy Optimization', 'Response Time']: 24.
['Energy Optimization', 'Interoperable', 'Cost']: 110.
['Response Time', 'Throughput', 'Energy Optimization']: 27.
['Availability', 'Interoperable', 'Energy Optimization']: 56.
['Energy Optimization', 'Throughput', 'Cost']: 18.
['Availability', 'Response Time', 'Energy Optimization']: 38.
['Availability', 'Throughput', 'Energy Optimization']: 52.
['Availability', 'Throughput', 'Interoperable']: 150.
['Interoperable', 'Throughput', 'Response Time']: 125.
['Availability', 'Throughput', 'Cost']: 64.
C4:
['Throughput', 'Response Time', 'Cost', 'Interoperable']: 41.
['Response Time', 'Energy Optimization', 'Availability', 'Interoperable']: 24.
['Throughput', 'Response Time', 'Cost', 'Energy Optimization']: 0
['Throughput', 'Energy Optimization', 'Availability', 'Interoperable']: 38.
['Cost', 'Energy Optimization', 'Availability', 'Interoperable']: 18.
['Throughput', 'Response Time', 'Energy Optimization', 'Availability']: 27.
['Response Time', 'Cost', 'Energy Optimization', 'Availability']: 11.
['Throughput', 'Response Time', 'Cost', 'Availability']: 64.
['Throughput', 'Energy Optimization', 'Cost', 'Availability']: 0
['Throughput', 'Cost', 'Availability', 'Interoperable']: 41.
['Throughput', 'Response Time', 'Availability', 'Interoperable']: 125.
['Response Time', 'Cost', 'Availability', 'Interoperable']: 52['Throughput', 'Response Time', 'Energy Optimization', 'Interoperable']: 13.
['Response Time', 'Cost', 'Energy Optimization', 'Interoperable']: 11.
['Throughput', 'Energy Optimization', 'Cost', 'Interoperable']: 12.
L4:
['Throughput', 'Response Time', 'Cost', 'Interoperable']: 41.
['Response Time', 'Energy Optimization', 'Availability', 'Interoperable']: 24.
['Throughput', 'Energy Optimization', 'Availability', 'Interoperable']: 38.
['Cost', 'Energy Optimization', 'Availability', 'Interoperable']: 18.
['Throughput', 'Response Time', 'Energy Optimization', 'Availability']: 27.
['Response Time', 'Cost', 'Energy Optimization', 'Availability']: 11.
['Throughput', 'Response Time', 'Cost', 'Availability']: 64.
['Throughput', 'Cost', 'Availability', 'Interoperable']: 41.
['Throughput', 'Response Time', 'Availability', 'Interoperable']: 125.
['Response Time', 'Cost', 'Availability', 'Interoperable']: 52.
['Throughput', 'Response Time', 'Energy Optimization', 'Interoperable']: 13.
['Response Time', 'Cost', 'Energy Optimization', 'Interoperable']: 11.
['Throughput', 'Energy Optimization', 'Cost', 'Interoperable']: 12.
C5:
['Interoperable', 'Response Time', 'Energy Optimization', 'Cost', 'Availability']: 11.
['Throughput', 'Interoperable', 'Response Time', 'Energy Optimization', 'Availability']: 13.
['Throughput', 'Interoperable', 'Energy Optimization', 'Cost', 'Availability']: 0
['Throughput', 'Interoperable', 'Response Time', 'Cost', 'Availability']: 41.
['Throughput', 'Response Time', 'Energy Optimization', 'Cost', 'Availability']: 0
['Throughput', 'Interoperable', 'Response Time', 'Cost', 'Energy Optimization']: 0
L5:
['Interoperable', 'Response Time', 'Energy Optimization', 'Cost', 'Availability']: 11.
['Throughput', 'Interoperable', 'Response Time', 'Energy Optimization', 'Availability']: 13.
['Throughput', 'Interoperable', 'Response Time', 'Cost', 'Availability']: 41.
C6:
['Throughput', 'Interoperable', 'Response Time', 'Energy Optimization', 'Cost', 'Availability']: 0
L6:
Result:
L6:
['Interoperable', 'Response Time', 'Energy Optimization', 'Cost', 'Availability']: 11.
['Throughput', 'Interoperable', 'Response Time', 'Energy Optimization', 'Availability']: 13.
['Throughput', 'Interoperable', 'Response Time', 'Cost', 'Availability']: 41.
-
1.
['Interoperable', 'Cost', 'Energy Optimization', 'Response Time']—> ['Availability'] = 100.0%
-
2.
['Availability']—> ['Interoperable', 'Cost', 'Energy Optimization', 'Response Time'] = 4.04%
-
3.
['Availability', 'Interoperable', 'Energy Optimization', 'Response Time']—> ['Cost'] = 45.83%
-
4.
['Cost']—> ['Availability', 'Interoperable', 'Energy Optimization', 'Response Time'] = 3.75%
-
5.
['Availability', 'Interoperable', 'Cost', 'Response Time']—> ['Energy Optimization'] = 21.15%
-
6.
['Energy Optimization']—> ['Availability', 'Interoperable', 'Cost', 'Response Time'] = 3.90%
-
7.
['Availability', 'Interoperable', 'Cost', 'Energy Optimization']—> ['Response Time'] = 61.111%
-
8.
['Response Time']—> ['Availability', 'Interoperable', 'Cost', 'Energy Optimization'] = 4.10%
-
9.
['Availability', 'Response Time', 'Cost', 'Energy Optimization']—> ['Interoperable'] = 100.0%
-
10.
['Interoperable']—> ['Availability', 'Response Time', 'Cost', 'Energy Optimization'] = 3.88%
Choosing: 1 9.
-
1.
['Throughput', 'Interoperable', 'Energy Optimization', 'Response Time']—> ['Availability'] = 100.0%
-
2.
['Availability']—> ['Throughput', 'Interoperable', 'Energy Optimization', 'Response Time'] = 4.77%
-
3.
['Availability', 'Throughput', 'Interoperable', 'Response Time']—> ['Energy Optimization'] = 10.4%
-
4.
['Energy Optimization']—> ['Availability', 'Throughput', 'Interoperable', 'Response Time'] = 4.60%
-
5.
['Availability', 'Throughput', 'Interoperable', 'Energy Optimization']—> ['Response Time'] = 34.21%
-
6.
['Response Time']—> ['Availability', 'Throughput', 'Interoperable', 'Energy Optimization'] = 4.85%
-
7.
['Availability', 'Throughput', 'Energy Optimization', 'Response Time']—> ['Interoperable'] = 48.14%
-
8.
['Interoperable']—> ['Availability', 'Throughput', 'Energy Optimization', 'Response Time'] = 4.59%
-
9.
['Availability', 'Interoperable', 'Energy Optimization', 'Response Time']—> ['Throughput'] = 54.16%
-
10.
['Throughput']—> ['Availability', 'Interoperable', 'Energy Optimization', 'Response Time'] = 4.69%
Choosing: 1
-
1.
['Throughput', 'Interoperable', 'Cost', 'Response Time']—> ['Availability'] = 100.0%
-
2.
['Availability']—> ['Throughput', 'Interoperable', 'Cost', 'Response Time'] = 15.07%
-
3.
['Availability', 'Throughput', 'Interoperable', 'Response Time']—> ['Cost'] = 32.80%
-
4.
['Cost']—> ['Availability', 'Throughput', 'Interoperable', 'Response Time'] = 13.99%
-
5.
['Availability', 'Throughput', 'Interoperable', 'Cost']—> ['Response Time'] = 100.0%
-
6.
['Response Time']—> ['Availability', 'Throughput', 'Interoperable', 'Cost'] = 15.29%
Choosing: 1 5.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Godhrawala, H., Sridaran, R. Apriori Algorithm Based Approach for Improving QoS and SLA Guarantee in IaaS Clouds Using Pattern-Based Service-Oriented Architecture. SN COMPUT. SCI. 4, 700 (2023). https://doi.org/10.1007/s42979-023-02079-3
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-023-02079-3