Skip to main content

Advertisement

Log in

Solving the Multi-Objective Problem of IoT Service Placement in Fog Computing Using Cuckoo Search Algorithm

  • Published:
Neural Processing Letters Aims and scope Submit manuscript

Abstract

The Internet of Things (IoT) has led to the proliferation of networked computing devices in the public, commercial, and private sectors. These devices often demand real-time computational resources, which are rather challenging to provide by the conventional cloud computing paradigm. In this regard, the emerging fog computing subtly solves this problem by providing more agile access to local storage and computational resources. Fog computing is a novel computational paradigm that provides resources in the proximity of IoT devices in such a way that all fog cells are located at the edge of the network. Although the theoretical foundations of fog computing have already been established, the problem of services placement for mapping IoT applications to fog cells aiming at maximizing the utilization of fog resources and improving Quality of Service (QoS) is still challenging. In order to fill this gap, we have developed a conceptual computing framework based on combination of cloud-fog by introducing the cloud-fog control middleware that manages service requests to meet some constraints. In this framework, the fog service placement problem is modeled as a multi-objective optimization problem that considers the heterogeneity of resources and applications based on QoS requirements. Finally, we propose an evolutionary algorithm based on the cuckoo search to solve the problem. The simulation results show that the proposed approach provides better performance compared to its counterparts in terms of various metrics such as fog utilization, energy consumption, number of performed services, response time, and service delay.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Shakarami A, Ghobaei-Arani M, Masdari M, Hosseinzadeh M (2020) A survey on the computation offloading approaches in mobile edge/cloud computing environment: a stochastic-based perspective. J Grid Comput 18(4):639–671

    Article  Google Scholar 

  2. Ghobaei-Arani M (2021) A workload clustering based resource provisioning mechanism using Biogeography based optimization technique in the cloud based systems. Soft Comput 25(5):3813–3830

    Article  Google Scholar 

  3. Natesha, B. V., & Guddeti, R. M. R. (2021). Adopting elitism-based Genetic Algorithm for minimizing multi-objective problems of IoT service placement in fog computing environment. Journal of Network and Computer Applications, 178, 102972.

  4. Rezaeipanah, A., Mojarad, M., & Fakhari, A. (2020). Providing a new approach to increase fault tolerance in cloud computing using fuzzy logic. International Journal of Computers and Applications [Press release].

  5. Ghobaei-Arani M, Shahidinejad A (2021) An efficient resource provisioning approach for analyzing cloud workloads: a metaheuristic-based clustering approach. J Supercomput 77(1):711–750

    Article  Google Scholar 

  6. Wen Z, Yang R, Garraghan P, Lin T, Xu J, Rovatsos M (2017) Fog orchestration for IoT services: issues, challenges and directions. IEEE Internet Comput 21(2):16–24

    Article  Google Scholar 

  7. Skarlat, O., Karagiannis, V., Rausch, T., Bachmann, K., & Schulte, S. (2018, December). A framework for optimization, service placement, and runtime operation in the fog. In 2018 IEEE/ACM 11th International Conference on Utility and Cloud Computing (UCC) (pp. 164–173). IEEE.

  8. Du W, Zhang M, Ying W, Perc M, Tang K, Cao X, Wu D (2018) The networked evolutionary algorithm: a network science perspective. Appl Math Comput 338:33–43

    MathSciNet  MATH  Google Scholar 

  9. Fister I, Iglesias A, Galvez A, Del Ser J, Osaba E, Fister I Jr, Slavinec M (2019) Novelty search for global optimization. Appl Math Comput 347:865–881

    MathSciNet  MATH  Google Scholar 

  10. Ayoubi, M., Ramezanpour, M., & Khorsand, R. (2021). An autonomous IoT service placement methodology in fog computing. Software: Practice and Experience, 51(5), 1097–1120.

  11. Jacob B, Lanyon-Hogg R, Nadgir DK, Yassin AF (2004) A practical guide to the IBM autonomic computing toolkit. IBM Redbooks 4(10):1–268

    Google Scholar 

  12. Guerrero C, Lera I, Juiz C (2019) Evaluation and efficiency comparison of evolutionary algorithms for service placement optimization in fog architectures. Futur Gener Comput Syst 97:131–144

    Article  Google Scholar 

  13. Wen Z, Yang R, Garraghan P, Lin T, Xu J, Rovatsos M (2017) Fog orchestration for internet of things services. IEEE Internet Comput 21(2):16–24

    Article  Google Scholar 

  14. Aburukba RO, AliKarrar M, Landolsi T, El-Fakih K (2020) Scheduling Internet of Things requests to minimize delay in hybrid Fog-Cloud computing. Futur Gener Comput Syst 111:539–551

    Article  Google Scholar 

  15. Yang, X. S., & Deb, S. (2009, December). Cuckoo search via Lévy flights. In 2009 World congress on nature & biologically inspired computing (NaBIC) (pp. 210–214). IEEE.

  16. Eyckerman, R., Mercelis, S., Marquez-Barja, J., & Hellinckx, P. (2020). Requirements for distributed task placement in the fog. Internet of Things, 12, 100237.

  17. Faraji Mehmandar, M., Jabbehdari, S., & Haj Seyyed Javadi, H. (2020). A dynamic fog service provisioning approach for IoT applications. International Journal of Communication Systems, 33(14), e4541.

  18. Mahmud R, Srirama SN, Ramamohanarao K, Buyya R (2019) Quality of Experience (QoE)-aware placement of applications in Fog computing environments. J Parallel Distrib Comput 132:190–203

    Article  Google Scholar 

  19. Salimian, M., Ghobaei‐Arani, M., & Shahidinejad, A. (2021). Toward an autonomic approach for Internet of Things service placement using gray wolf optimization in the fog computing environment. Software: Practice and Experience, 51(8), 1745–1772.

  20. Skarlat, O., Schulte, S., Borkowski, M., & Leitner, P. (2016, November). Resource provisioning for IoT services in the fog. In 2016 IEEE 9th international conference on service-oriented computing and applications (SOCA) (pp. 32–39). IEEE.

  21. Skarlat O, Nardelli M, Schulte S, Borkowski M, Leitner P (2017) Optimized IoT service placement in the fog. SOCA 11(4):427–443

    Article  Google Scholar 

  22. Etemadi M, Ghobaei-Arani M, Shahidinejad A (2020) Resource provisioning for IoT services in the fog computing environment: an autonomic approach. Comput Commun 161:109–131

    Article  Google Scholar 

  23. Rezaeipanah A, Amiri P, Nazari H, Mojarad M, Parvin H (2021) An energy-aware hybrid approach for wireless sensor networks using re-clustering-based multi-hop routing. Wireless Pers Commun 120:3293–3314

    Article  Google Scholar 

  24. Rezaeipanah A, Nazari H, Ahmadi G (2019) A hybrid approach for prolonging lifetime of wireless sensor networks using genetic algorithm and online clustering. J Comput Sci Eng 13(4):163–174

    Article  Google Scholar 

  25. Mishra SK, Puthal D, Rodrigues JJ, Sahoo B, Dutkiewicz E (2018) Sustainable service allocation using a metaheuristic technique in a fog server for industrial applications. IEEE Trans Industr Inf 14(10):4497–4506

    Article  Google Scholar 

  26. Djemai, T., Stolf, P., Monteil, T., & Pierson, J. M. (2019, June). A discrete particle swarm optimization approach for energy-efficient IoT services placement over fog infrastructures. In 2019 18th International Symposium on Parallel and Distributed Computing (ISPDC) (pp. 32–40). IEEE.

  27. Goudarzi M, Wu H, Palaniswami M, Buyya R (2020) An application placement technique for concurrent IoT applications in edge and fog computing environments. IEEE Trans Mob Comput 20(4):1298–1311

    Article  Google Scholar 

  28. Azizi S, Khosroabadi F, Shojafar M (2019) A priority-based service placement policy for Fog-Cloud computing systems. Comput Method Differ Equ 7(4):521–534

    Google Scholar 

  29. Mahmud R, Srirama SN, Ramamohanarao K, Buyya R (2020) Profit-aware application placement for integrated fog–cloud computing environments. J Parallel Distrib Comput 135:177–190

    Article  Google Scholar 

  30. Ibrahim A, Noshy M, Ali HA, Badawy M (2020) PAPSO: a power-aware VM placement technique based on particle swarm optimization. IEEE Access 8:81747–81764

    Article  Google Scholar 

  31. Saeedi, S., Khorsand, R., Bidgoli, S. G., & Ramezanpour, M. (2020). Improved many-objective particle swarm optimization algorithm for scientific workflow scheduling in cloud computing. Computers & Industrial Engineering147, 106649.

  32. Rajabioun R (2011) Cuckoo optimization algorithm. Appl Soft Comput 11(8):5508–5518

    Article  Google Scholar 

  33. Mantegna RN (1994) Fast, accurate algorithm for numerical simulation of Levy stable stochastic processes. Phys Rev E 49(5):4677

    Article  Google Scholar 

  34. Hájek J, Szöllös A, Šístek J (2010) A new mechanism for maintaining diversity of Pareto archive in multi-objective optimization. Adv Eng Softw 41(7–8):1031–1057

    Article  Google Scholar 

  35. Ye, Z., Zhou, X., & Bouguettaya, A. (2011, April). Genetic algorithm based QoS-aware service compositions in cloud computing. In International Conference on Database Systems for Advanced Applications (pp. 321–334). Springer, Berlin, Heidelberg.

  36. Likas A, Vlassis N, Verbeek JJ (2003) The global k-means clustering algorithm. Pattern Recogn 36(2):451–461

    Article  Google Scholar 

  37. Mirjalili S, Mirjalili SM, Lewis A (2014) Grey wolf optimizer. Adv Eng Softw 69:46–61

    Article  Google Scholar 

  38. Kennedy, J., & Eberhart, R. (1995, November). Particle swarm optimization. In Proceedings of ICNN'95-international conference on neural networks (Vol. 4, pp. 1942–1948). IEEE.

  39. Hajipour H, Khormuji HB, Rostami H (2016) ODMA: a novel swarm-evolutionary metaheuristic optimizer inspired by open-source development model and communities. Soft Comput 20(2):727–747

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liang Zhou.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix 1

The abbreviations used in the paper are as follows. IoT: Internet of Things, QoS: Quality of Service, FC: Fog Computing, FSPP: Fog Service Placement Problem, CFCM: Cloud-Fog Control Middleware, MADE-k: Monitor-Analyze-Decision-Execute and knowledge base, CSA: Cuckoo Search Algorithm, FOCN: Fog Orchestration Control Node, NNFC: Nearest Neighbor Fog Colony, SLA: Service Level Agreement, SLATAH: SLA Violation Time per Active Host, PDM: Performance Degradation caused by Migration, SLAV:SLA Violation, FU: Fog Utilization, ELR: Egg Laying Radius, GWO: Gray Wolf Optimization, PSO: Particle Swarm Optimization, ODMA: Open-source Development Model Algorithm, BTU: Billing Time Unit.

Appendix 2

The notations and definitions of the variables applied in the fog service placement problem is as follows. \(N\): Total number of colonies, \(F^{i}\): The \(i\)-th fog orchestration control node, \(Res\left( {F^{i} } \right)\): Subordinated fog cells in the \(i\)-th fog colony, \(f^{j}\): The \(j\)-th fog cell, \(c^{i}\): Number of subordinated fog cells in \(F^{i}\), \(d^{{f^{j} }}\): Communication link delay between \(F^{i}\) and \(f^{j}\), \(d^{N}\): Communication link delay between \(F^{i}\) and neighboring fog colony, \(d^{R}\): Communication link delay between \(F^{i}\) and cloud, \(U_{{F^{i} }}\): Utilization CPU capacity of \(F^{i}\), \(U_{{f^{j} }}\): Utilization CPU capacity of \(f^{j}\), \(U_{{a_{l} }}\): The requested CPU of \(l\)-th service, \(M_{{F^{i} }}\): Utilization RAM capacity of \(F^{i}\), \(M_{{f^{j} }}\): Utilization RAM capacity of \(f^{j}\), \(M_{{a_{l} }}\): The requested RAM of \(l\)-th service, \(S_{{F^{i} }}\): Utilization storage capacity of \(F^{i}\), \(S_{{f^{j} }}\): Utilization storage capacity of \(f^{j}\), \(S_{{a_{l} }}\): The requested storage of \(l\)-th service, \(AP\): Set of applications to be executed, \(A_{k}\): The \(k\)-th application, \(m\): Total number of applications, \(r^{k}\): Number of services in \(A_{k}\), \(a_{l}\): The \(l\)-th service of an application, \(D_{{A_{k} }}\): deadline of \(A_{k}\), \(D_{{a_{l} }}\): deadline of \(a_{l}\), \(RT_{{A_{k} }}\): Response time of \(A_{k}\), \(\varphi\): Percentage of free resources in fog cell, \(m_{{A_{k} }}\): Makespan of \(A_{k}\) application, \(m_{{a_{l} }}\): Makespan of \(a_{l}\), \(d^{{A_{k} }}\): Total delay of \(A_{k}\), \(w_{{A_{k} }}\): Deployment time of \(A_{k}\), \(\rho\): The distance between two time periods of placement, \(\tau\): Time unit postponed application deployment, \(TS_{{f^{j} }}\): The time during which CPU is fully utilized by \(f^{j}\), \(TA_{{f^{j} }}\): The time during which \(f^{j}\) state is active, \(CD_{{F^{i} }}\): The performance degradation of \(F^{i}\), \(CR_{{F^{i} }}\): Total requested CPU capacity of \(F^{i}\), \(W_{T}\): Thin application energy in working state, \(W_{F}\): Fat application energy in working state, \(I_{T}\): Thin application energy in idle state, \(I_{F}\): Fat application energy in idle state, \(U_{l}\): Number of tasks executed for \(a_{l}\), \(P_{min}\): Minimum energy consumption in active state, \(P_{max}\): Energy consumption at the peak load, \(BW\): Bandwidth, \(cv_{\alpha ,\beta }\): Data size between \(t_{\alpha }\) and \(t_{\beta }\) service requests, \(CP_{{f^{j} }}\): The communication unit price of \(f^{j}\), \(PP_{{f^{j} }}\): The processing unit price of \(f^{j}\), \(C\): Total number of fog cells, \(K\): Total number of IoT services.

Appendix 3

The notations and definitions of the variables applied in the cuckoo search algorithm is as follows. \(\mu\): Location parameter, \(c\): Scale parameter, \(\Gamma\): Gamma function, \(N_{P}\): Population size in CSA, \(\overline{N}\): Pareto archive size, \(\Psi\): Penalty coefficient, \(\Phi\): Punishment coefficient, \(\phi\): Step size factor, \(x_{min}\): Lower bound of position, \(x_{max}\): Upper bound of position, \(round\left( x \right)\): The nearest integer number to \(x\), \(Eggs_{max}\): Maximum number of laying eggs, \(Eggs_{i}\): Number of laying eggs for \(Nest_{i}\), \(Pa\): The possibility of the eggs being discovered by the host bird, \(ELR\): Egg Laying Radius, \(Iter_{max}\): Maximum number of iterations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, C., Wang, J., Zhou, L. et al. Solving the Multi-Objective Problem of IoT Service Placement in Fog Computing Using Cuckoo Search Algorithm. Neural Process Lett 54, 1823–1854 (2022). https://doi.org/10.1007/s11063-021-10708-2

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11063-021-10708-2

Keywords

Navigation