Service Oriented Computing and Applications

, Volume 7, Issue 4, pp 293–315 | Cite as

A policy-based approach for strong mobility of composed Web services

Original Research Paper

Abstract

This paper presents a flexible, portable, and transparent solution for strong mobility of composed Web services relying on policy-oriented techniques. The proposed approach provides a checkpoint solution based on automatic code instrumentation using correct source code transformation rules. This checkpoint technique permits to save the execution state of a mobile orchestration process as well as the execution states of its orchestrated partners. Thus, after migration, only non-executed codes will be resumed. In addition, our approach enables dynamic adaptation of the employed checkpointing and mobility techniques using aspects. For that, we use policies allowing dynamic selection of the used checkpointing and mobility techniques according to the execution context. Moreover, the proposed solution includes a module allowing the determination of the checkpointing interval satisfying QoS requirements. Experimentations show the efficiency of the proposed solution.

Keywords

Strong mobility Checkpoint/rollback Composed Web service BPEL Self-adaptivity decision policies 

References

  1. 1.
    Allen G, Angulo D, Foster I, Lanfermann G, Liu C, Radke T, Seidel E, Shalf J (2001) The cactus worm experiments with dynamic resource discovery and allocation in a grid environment. Int J High Perform Comput Appl 15(4):345–358. citeseer.ist.psu.edu/article/allen01cactus.htmlGoogle Scholar
  2. 2.
    Barak A, La’adan O (1998) The mosix multicomputer operating system for high performance cluster computing. Future Gener Comput Syst 13:361–372CrossRefGoogle Scholar
  3. 3.
    Baresi L, Ghezzi C, Guinea S (2004) Towards self-healing service compositions. In: Proceedings of the PriSE04, first conference on the principles of software engineeringGoogle Scholar
  4. 4.
    Ben-Halima R, Guennoun MK, Drira K, Jmaiel M (2008) Providing predictive self-healing for web services: a qos monitoring and analysis-based approach. J Inform Assur Secur (JIAS) 3(3):175–184Google Scholar
  5. 5.
    Bouchenak S, Hagimont D, Krakowiak S, Palma N (2004) Experiences implementing efficient java thread serialization, mobility and persistence. Softw Pract Exp 34:355–394. citeseer.ist.psu.edu/bouchenak03experiences.htmlGoogle Scholar
  6. 6.
    Camargo RYD, Goldchleger A, Kon F, Goldman A (2006) Checkpointing BSP parallel applications on the integrade grid middleware: research articles. Concurr Comput Pract Exp 18(6): 567–579Google Scholar
  7. 7.
    Cappello F, Djilali S, Fedak G, Herault T, Magniette F, Néri V, Lodygensky O (2005) Computing on large-scale distributed systems: xtrem Web architecture, programming models, security, tests and convergence with grid. Future Gener Comput Syst 21(3): 417–437Google Scholar
  8. 8.
    Chakravarti AJ, Wang X, Hallstrom JO, Baumgartner G (2003) Implementation of strong mobility for multi-threaded agents in java. In: Proceedings of the international conference on parallel processing. IEEE Computer Society, pp 321–330Google Scholar
  9. 9.
    Chandy KM, Browne JC, Dissly CW, Uhrig WR (1975) Analytic models for rollback and recovery strategies in data base systems. IEEE Trans Softw Eng 1(1):100–110CrossRefGoogle Scholar
  10. 10.
    Charfi A, Mezini M (2007) Ao4bpel: an aspect-oriented extension to bpel. World Wide Web 10(3):309–344CrossRefGoogle Scholar
  11. 11.
    Chen X, Lyu MR (2003) Performance and effectiveness analysis of checkpointing in mobile environments. Reliable distributed systems, IEEE symposium on 131Google Scholar
  12. 12.
    Clark C, Fraser K, H S, Hansen JG, Jul E, Limpach C, Pratt I, Warfield A (2005) Live migration of virtual machines. In: Proceedings of the 2nd ACM/USENIX symposium on networked systems design and implementation (NSDI), pp 273–286Google Scholar
  13. 13.
    Fang CL, Liang D, Lin F, Lin CC (2007) Fault tolerant web services. J Syst Archit 53:21–38CrossRefGoogle Scholar
  14. 14.
    Fuggetta A, Picco GP, Vigna G (1998) Understanding code mobility. IEEE Trans Softw Eng 24:342–361CrossRefGoogle Scholar
  15. 15.
    Garbacki P, Biskupski B, Bal HE (2005) Transparent fault tolerance for grid applications. EGC, pp 671–680Google Scholar
  16. 16.
    Garcia R, Rodrigues R, Preguiça N (2011) Efficient middleware for byzantine fault tolerant database replication. In: Proceedings of the sixth conference on computer systems, EuroSys ’11. ACM, New York, NY, USA, pp 107–122Google Scholar
  17. 17.
    Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12:576–580CrossRefMATHGoogle Scholar
  18. 18.
    Holger Schmidt Rüdiger Kapitza FJH, Reiser HP (2008) Adaptive web service migration. In: Proceedings of the distributed applications and interoperable systems, lecture notes in computer science, vol 5053/2008. Springer, Berlin/Heidelberg, pp 182–195Google Scholar
  19. 19.
    IBM Corporation (2006) An architectural blueprint for autonomic computing. Available at http://www-03.ibm.com/autonomic/pdfs/AC_Blueprint_White_Paper_4th.pdf
  20. 20.
    Kovacs J (2007) Transparent parallel checkpointing and migration in clusters and clustergrids. Int J Comput Sci Eng 4(3):171–181Google Scholar
  21. 21.
    Lemarinier P, Bouteiller A, Krawezik G, Cappello F (2004) Coordinated checkpoint versus message log for fault tolerant MPI. Int J High Perform Comput Netw 2(2–4):146–155CrossRefGoogle Scholar
  22. 22.
    Marzouk S, Jmaiel M (2008) Towards making WSRF based Web services strongly mobile. In: Proceedings of the 17th IEEE international workshops on enabling technologies: infrastructure for collaborative enterprises (WETICE’08). IEEE Computer Society, Rome, Italy, pp 339–344Google Scholar
  23. 23.
    Marzouk S, Jmaiel M (2010) Low cost checkpoint/rollback solution for strong mobility of orchestrated Web services. In: Proceedings of the provisioning and management of service oriented architecture and cloud computing (PROMASC2010) held in conjunction with the 10th annual international conference on new technologies of distributed systems (NOTERE2010). IEEE Computer Society, Tozeur, Tunisia, pp 345–350Google Scholar
  24. 24.
    Marzouk S, Jmaiel M (2011) Source code transformation rules for checkpointing BPEL orchestration processes: technical report. Technical report, ReDCAD Research Unit. http://www.redcad.org/members/soumaya.marzouk/technical_report.pdf
  25. 25.
    Marzouk S, Maâlej AJ, Jmaiel M (2010) Aspect-oriented checkpointing approach of composed web services. In: Proceedings of the 10th international conference on current trends in web engineering, ICWE’10. Springer, Berlin, Heidelberg, pp 301–312. http://dl.acm.org/citation.cfm?id=1927229.1927261
  26. 26.
    Marzouk S, Maâlej AJ, Rodriguez IB, Jmaiel M (2009) Periodic checkpointing for strong mobility of orchestrated web services. In: Proceedings of the international workshop on self healing Web services (SHWS (2009) in conjunction of the 7th IEEE international conference on Web services (ICWS 2009). ACM, LosAngeles, California, USAGoogle Scholar
  27. 27.
    Mdhaffar A, Marzouk S, Halima RB, Jmaiel M (2010) A runtime performance analysis for Web service-based applications. In: Proceedings of the 1st workshop on engineering SOA and the Web (ESW2010) held in conjunction with the 10th international conference on Web engineering (ICWE2010)Google Scholar
  28. 28.
    Momotko M, Gajewski M, Ludwig A, Kowalczyk R, Kowalkiewicz M, Zhang JY (2007) Towards adaptive management of qos-aware service compositions. Multiagent Grid Syst 3(3):299–312MATHGoogle Scholar
  29. 29.
    Mostéfaoui GK, Narendra NC, Maamar Z, Thiran P (2007) On modeling and developing self-healing web services using aspects. In Proceedings of the COMSWARE. IEEEGoogle Scholar
  30. 30.
    Nurmi D, Brevik J, Wolski R (2005) Minimizing the network overhead of checkpointing in cycle-harvesting cluster environment. In: Proceedings of cluster 2005 Google Scholar
  31. 31.
    Oracle: glassFish ESB. https://open-esb.dev.java.net/
  32. 32.
    Oracle: glassFish ESB, BPELSE persistence and recovery. http://wiki.open-esb.java.net/Wiki.jsp?page=BPELSEPersistenceAndRecovery
  33. 33.
    Plank JS, Elwasif WR (1998) Experimental assessment of workstation failures and their impact on checkpointing systems. In: FTCS ’98: Proceedings of the twenty-eighth annual international symposium on fault-tolerant computing. IEEE Computer Society, Washington, DC, USA, p 48Google Scholar
  34. 34.
    Sekiguchi T, Masuhara H, Yonezawa A (1999) A simple extension of java language for controllable transparent migration and its portable implementation. In: Proceedings of the third international conference on coordination languages and models, COORDINATION ’99. Springer, London, UK, pp 211–226. http://portal.acm.org/citation.cfm?id=647015.713297
  35. 35.
    Shin KG, Lin TH, Lee YH (1987) Optimal checkpointing of real-time tasks. IEEE Trans Comput 36(11):1328–1341CrossRefGoogle Scholar
  36. 36.
    Stellner G (1996) Cocheck: checkpointing and process migration for mpi. In: Proceedings of the 10th international parallel processing symposium (IPPS 96), pp 526–531Google Scholar
  37. 37.
    Stirling C (1988) A generalization of owicki-gries’s hoare logic for a concurrent while language. Theor Comput Sci 58:347–359MathSciNetCrossRefMATHGoogle Scholar
  38. 38.
    Suri N, Bradshaw J, Breedy MR, Groth PT, Hill GA, Jeffers R (2000) Strong mobility and fine-grained resource control in nomads. In: ASA/MA 2000: Proceedings of the second international symposium on agent systems and applications and fourth international symposium on mobile agents. Springer, London, UK, pp 2–15Google Scholar
  39. 39.
    Tantawi AN, Ruschitzka M (1983) Performance analysis of checkpointing strategies. In: SIGMETRICS ’83: Proceedings of the 1983 ACM SIGMETRICS conference on measurement and modeling of computer systems. ACM, New York, NY, USA, p 129Google Scholar
  40. 40.
    Vadhiyar S, Dongarra J (2005) Self adaptivity in Grid computing: research articles. Concurr Comput Pract Exp 17(2–4):235–257CrossRefGoogle Scholar
  41. 41.
    Wong KF, Franklin M (1996) Checkpointing in distributed systems. J Parallel Distrib Syst 35(1):67–75CrossRefMATHGoogle Scholar
  42. 42.
    Young JW (1974) A first order approximation to the optimum checkpoint interval. Commun ACM 17(9):530–531CrossRefMATHGoogle Scholar
  43. 43.
    Zhu Q, Chen L, Agrawal G (2007) Supporting fault-tolerance in streaming grid applications. PPoPP ’07: Proceedings of the 12th ACM SIGPLAN symposium on principles and practice of parallel programming. ACM, New York, NY, USA, pp 156–157Google Scholar
  44. 44.
    Ziv A, Bruck J (1997) An on-line algorithm for checkpoint placement. IEEE Trans Comput 46(9):976–985MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  1. 1.ReDCAD LaboratoryNational School of Engineers of SfaxSfaxTunisia

Personalised recommendations