Skip to main content
Log in

Using a recurrent artificial neural network for dynamic self-adaptation of cluster-based web-server systems

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

To process huge requests issued from web users, web servers often set up a cluster using switches and gateways where a switch directs users’ requests to some gateway. Each gateway, which is connected to some servers, is considered for processing a specific type of request such as fttp or http service. When servers of a gateway are saturated and the gateway is not able to process more requests, adaptation is performed by borrowing a server from another gateway. However, such a reactive adaptation causes some problems. However, due to problem of the reactive techniques, predictive ones have been paid attention. While a reactive adaptation aims to redress the system after incurring a bottleneck, a predictive adaptation tries to prevent the system from entering the bottleneck. In this article, we improved our previous predictive framework using a Recurrent Artificial Neural Network (RANN) called Nonlinear Autoregressive with eXogenous (external) inputs (NARX). We employed our new framework for adaptation of a web-based cluster where each cluster is meant for a specific service and self-adaptation is used for load balancing clusters. To show the improvement, we used the case study presented in our previous study.

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
Fig. 12

Similar content being viewed by others

Notes

  1. Nonlinear Autoregressive with External Input.

References

  1. Anaya IDP et al (2014) A Prediction-Driven adaptation approach for Self-Adaptive sensor networks. In: The 9th ACM international symposium on software engineering for adaptive and self-managing systems, pp 145–154

  2. Sheikhi S, Babamir SM (2016) A predictive framework for load balancing clustered web servers. J Supercomput, Springer 72(2):588–611

    Article  Google Scholar 

  3. Cámara J et al (2013) Evolving an adaptive industrial software system to use architecture-based self-adaptation. In: The 8th international symposium on software engineering for adaptive and self-managing systems

  4. Cámara J et al (2014) Empirical resilience evaluation of an architecture-based self-adaptive software system. In: The 10th international ACM Sigsoft conference on the quality of software architectures, ACM SIGSOFT QoSA distinguished paper award

  5. Cámara J et al (2014) Impact models for architecture-based self-adaptive systems. In: The 11th international symposium on formal aspects of component software (FACS2014). Bertinoro

  6. Garlan D (2013) “A 10-year perspective on software engineering self-adaptive systems” (keynote). In: The 8th international symposium on software engineering for adaptive and self-managing systems. IEEE Press, pp 2–2

  7. Garlan D, Schmerl B (2006) Architecture-driven modelling and analysis. In: The 11th Australian workshop on safety related programmable systems, vol 69, pp 3–17

  8. Sheikhi S, Babamir SM (2012) A novel model-based slicing approach for adaptive softwares. In: The 3rd international conference on contemporary issues in computer and information sciences

  9. Xie H, Tang H, Liao Y (2009) Time series prediction based on NARX neural networks: an advanced approach. In: The 18th international conference on machine learning and cybernetics. IEEE Press, pp 1275–1279

  10. Cheng SW, Garlan D, Schmerl B (2006) Architecture-based self-adaptation in the presence of multiple objectives. In: The international workshop on self-adaptation and self-managing systems. Shanghai, pp 2–8

  11. Garalan D (2009) Rainbow: engineering support for Self-Healing systems: Invited Talk. The XXIII Brazilian symposium on software engineering

  12. Poladian V et al (2007) Leveraging resource prediction for anticipatory dynamic configuration. In: The 1st, international conference on self-adaptive and self-organizing systems, pp 214–223

  13. Cheng SW, Poladian VV, Garlan D, Schmerl B (2009) Improving architecture-based self-adaptation through resource prediction. In: Betty HC et al (eds) Software engineering for self-adaptive systems. Springer, pp 71–88

  14. Herbst NR, Huber N, Kounev S, Amrehn E (2013) Self-adaptive workload classification and forecasting for proactive resource provisioning. In: The ACM/SPEC international conference on performance engineering (ICPE), pp 187–198

  15. Sharifian S, Motamedi SA, Akbari MK (2011) A predictive and probabilistic load-balancing algorithm for cluster-based web servers. Appl Soft Comput, Elsevier 11(1):970–981

    Article  Google Scholar 

  16. Wen Z, Shi L, Liu R, Qi L (2012) A predictive adaptive load balancing model. In: The 9th international conference on fuzzy systems and knowledge discovery. IEEE, pp 2092–2096

  17. Jie W, Cai W, Turner SJ (2001) Dynamic load-balancing using prediction in a parallel object-oriented system. In: The 15th international conference on parallel and distributed processing symposium. IEEE

  18. Son BH, Lee SW, Youn HY (2010) Prediction-based dynamic load balancing using agent migration for multi-agent system. In: The 12th international conference on high performance computing and communications (HPCC). IEEE, pp 485–490

  19. Jiang J, Deng H, Liu X (2013) A predictive dynamic load balancing algorithm with service differentiation. In: The 15th IEEE international conference on communication technology (ICCT). IEEE, pp 372–377

  20. Cheng SW, Garlan D (2012) Stitch: a language for architecture-based self-adaptation. J Syst Softw 85 (12):2860–2875. Special Issue on State of the Art in Self-Adaptive Systems, Elsevier

    Article  Google Scholar 

  21. Jachan M (2012) Time-frequency-autoregressive-moving-average modeling. AV Akademikerverlag Publication

  22. Cappé O, Moulines E, Ryden T (2005) Inference in Hidden Markov models. Springer Series in Statistics

  23. Boom CD et al (2014) Robustifying the viterbi algorithm. In: The 7th European workshop on probabilistic graphical models, lecture notes in computer science, vol 8754. Springer, pp 160– 175

  24. Babamir SM, Hassanzade E (2012) An artificial neural network based model for online prediction of potential deadlock in multithread programs. In: The 16th CSI international symposium on artificial intelligence and signal processing (AISP). IEEE Press

  25. Jha GK, Sinha K (2014) Time-delay neural networks for time series prediction: an application to the monthly wholesale price of oilseeds in India. Neural Comput Applic, Springer 24(3–4):563–571

    Article  Google Scholar 

  26. Hermans M, Schrauwen B (2013) Training and analysing deep recurrent neural networks. Advances in Neural Information Processing Systems, pp 190–198

  27. Yu H, Wilamowski BM (2011) Levenberg–Marquardt Training. In: Irwin JD (ed) Chapter 12 of book, the intelligent systems. CRC Press

  28. Marques C, Ilarri S, Barroso GC (2009) DARC: a dynamic architecture for reconfiguration of web servers clusters using multiagent systems. In: The 5th international conference on networking and services, pp 169–174

  29. Serra DGA, Barroso G, Ramos R, Boudy J (2005) Assuring QoS diferentiationand load balancing on web servers clusters. The International Conference on Control Applications, pp 885–890

  30. Olejnik R, Bouchi A, Toursel B (2002) An object observation for a java adaptative distributed application platform. In: International conference on parallel computing in electrical engineering, pp 171–176

  31. Oreizy P, Medvidovic N, Taylor RN (2008) Runtime software adaptation:framework, approaches, and styles. In: The 30th international conference on software engineering, pp 899–910

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyed Morteza Babamir.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sheikhi, S., Babamir, S.M. Using a recurrent artificial neural network for dynamic self-adaptation of cluster-based web-server systems. Appl Intell 48, 2097–2111 (2018). https://doi.org/10.1007/s10489-017-1059-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-017-1059-0

Keywords

Navigation