Cluster Computing

, Volume 20, Issue 3, pp 1951–1976 | Cite as

Dohko: an autonomic system for provision, configuration, and management of inter-cloud environments based on a software product line engineering method

  • Alessandro Ferreira LeiteEmail author
  • Vander Alves
  • Genaína Nunes Rodrigues
  • Claude Tadonki
  • Christine Eisenbeis
  • Alba Cristina Magalhaes Alves de Melo


Configuring and executing applications across multiple clouds is a challenging task due to the various terminologies used by the cloud providers. Therefore, we advocate the use of autonomic systems to do this work automatically. Thus, in this paper, we propose and evaluate Dohko, an autonomic and goal-oriented system for inter-cloud environments. Dohko implements self-configuration, self-healing, and context-awareness properties. Likewise, it relies on a hierarchical P2P overlay (a) to manage the  virtual machines running on the clouds and (b) to deal with inter-cloud communication. Furthermore, it depends on a software product line engineering method to enable applications’ deployment and reconfiguration, without requiring pre-configured virtual machine images. Experimental results show that Dohko can free the users from the duty of executing non-native cloud application on single and over many clouds. In particular, it tackles the lack of middleware prototypes that can support different scenarios when using simultaneous services from multiple clouds.


Autonomic system Inter-cloud Software product line engineering Feature modeling 



The authors would like to thank CAPES/CNPq/Brazil, Inria Saclay/France (project POSTALE), and MINES ParisTech/France for their financial support.


  1. 1.
    Adams, K., Agesen, O.: A comparison of software and hardware techniques for x86 virtualization. ACM SIGOPS Oper. Syst. Rev. 40(5), 2–13 (2006)CrossRefGoogle Scholar
  2. 2.
    Almeida, A., Cavalcante, E., Batista, T., Cacho, N., Lopes, F., Delicato, F.C., Pires, P.F.: Dynamic adaptation of cloud computing applications. In: 25th SEKE, pp. 67–72 (2013)Google Scholar
  3. 3.
    Androutsellis-Theotokis, S., Spinellis, D.: A survey of peer-to-peer content distribution technologies. ACM Comput. Surv. 36(4), 335–371 (2004)CrossRefGoogle Scholar
  4. 4.
    Arabshian, K., Schulzrinne, H.: Distributed context-aware agent architecture for global service discovery. In: 2nd SWUMA (2006)Google Scholar
  5. 5.
    Basili, V.R., Caldiera, G., Rombach, H.D.:. The goal question metric approach. In: Encyclopedia of Software Engineering. Wiley, New York (1994)Google Scholar
  6. 6.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  7. 7.
    Casanova, H., Zagorodnov, D., Berman, F., Legrand, A.:. Heuristics for scheduling parameter sweep applications in grid environments. In: 9th HCW, pp. 349–363 (2000)Google Scholar
  8. 8.
    Casavant, T.L., Kuhl, J.G.: A taxonomy of scheduling in general-purpose distributed computing systems. IEEE Trans. Softw. Eng. 14(2), 141–154 (1988)CrossRefGoogle Scholar
  9. 9.
    Cavalcante, E., Almeida, A., Batista, T., Cacho, N., Lopes, F., Delicato, F.C., Sena, T., Pires, P.F.: Exploiting software product lines to develop cloud computing applications. In: 16th SPLC, pp. 179–187 (2012)Google Scholar
  10. 10.
    Celesti, A., Tusa, F., Villari, M.: Toward cloud federation: concepts and challenges. In: Brandic, I., Villari, M., Tusa, F. (eds.) Achieving Federated and Self-manageable Cloud Infrastructures: Theory and Practice, pp. 1–17. IGI Global, Hershey (2012)Google Scholar
  11. 11.
    Chieu, T.C., Mohindra, A., Karve, A.A., Segal, A.: Solution-based deployment of complex application services on a cloud. In: IEEE SOLI, pp. 282–287 (2010)Google Scholar
  12. 12.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)Google Scholar
  13. 13.
    Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley, Boston (2011)zbMATHGoogle Scholar
  14. 14.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley, Boston (2000)Google Scholar
  15. 15.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process 10(1), 7–29 (2005a)CrossRefGoogle Scholar
  16. 16.
    Czarnecki, K., Helsen, S., Ulrich, E.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process 10, 143–169 (2005b)CrossRefGoogle Scholar
  17. 17.
    Davis, D., Pilz, G.: Cloud infrastructure management interface (CIMI) model and RESTful HTTP-based protocol: An interface for managing cloud infrastructure. Technical Report DSP0263, Distributed Management Task Force, May 2012. Accessed Jan 2017
  18. 18.
    Dougherty, B., White, J., Schmidt, D.C.: Model-driven auto-scaling of green cloud computing infrastructure. FGCS 28(2), 371–378 (2012)CrossRefGoogle Scholar
  19. 19.
    Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.M.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)CrossRefGoogle Scholar
  20. 20.
    Feller, E., Rilling, L., Morin, C.: Snooze: a scalable and autonomic virtual machine management framework for private clouds. In: IEEE/ACM CCGrid, pp. 482–489 (2012)Google Scholar
  21. 21.
    Ferrer, A.J., Hernández, F., Tordsson, J., Elmroth, E., Ali-Eldin, A., Zsigri, C., Sirvent, R., Guitart, J., Badia, R.M., Djemame, K., Ziegler, W.: OPTIMIS: a holistic approach to cloud service provisioning. FGCS 28(1), 66–77 (2012)CrossRefGoogle Scholar
  22. 22.
    Forum, Global Inter-Cloud Technology: Use cases and functional requirements for inter-cloud computing. Technical report, Global Inter-Cloud Technology Forum August (2010)Google Scholar
  23. 23.
    García-Galán, J., Rana, O., Trinidad, P., Ruiz-Cortés, A.: Migrating to the cloud: a software product line based analysis. In: 3rd CLOSER, pp, 416–426 (2013)Google Scholar
  24. 24.
    Graham, R.L., Lawler, E.L., Lenstra, J.K., Kan, A.R.: Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann. Discret. Math. 5, 287–326 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Grozev, N., Buyya, R.: Inter-Cloud architectures and application brokering: taxonomy and survey. Software 44(3), 369–390 (2014)Google Scholar
  26. 26.
    Hariri, N., Castro-Herrera, C., Mirakhorli, M., Cleland-Huang, J., Mobasher, B.: Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans. Softw. Eng. 39(12), 1736–1752 (2013)CrossRefGoogle Scholar
  27. 27.
    Hayashibara, N., Cherif, A.:. Failure detectors for large-scale distributed systems. In: 21st IEEE SRDS, pp. 404–409 (2002)Google Scholar
  28. 28.
    Hoefer, C.N., Karagiannis, G.: Taxonomy of cloud computing services. In: IEEE GLOBECOM Workshops, pp. 1345–1350 (2010)Google Scholar
  29. 29.
    Horn, P.: Autonomic computing: IBM’s perspective on the state of information technology. 2001. Accessed Jan 2017
  30. 30.
    Imai, S., Chestna, T., Varela, C.A.: Elastic scalable cloud computing using application-level migration. In: 5th IEEE/ACM UCC, pp. 91–98 (2012)Google Scholar
  31. 31.
    Iosup, A., Ostermann, S., Yigitbasi, M.N., Prodan, R., Fahringer, T., Epema, D.: Performance analysis of cloud computing services for many-tasks scientific computing. IEEE TPDS 22(6), 931–945 (2011)Google Scholar
  32. 32.
    Jackson, K.R., Ramakrishnan, L., Muriki, K., Canon, S., Cholia, S., Shalf, J., Wasserman, H.J., Wright, N.J.: Performance analysis of high performance computing applications on the Amazon Web Services cloud. In: 2nd IEEE CloudCom, pp. 159–168 (2010)Google Scholar
  33. 33.
    Jussien, N., Rochart, G., Lorca, X.: Choco: an Open Source Java Constraint Programming Library. In: OSSICP, pp. 1–10 (2008)Google Scholar
  34. 34.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, November 1990. Accessed Jan 2017
  35. 35.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)CrossRefGoogle Scholar
  36. 36.
    Kermarrec, A.M., Triantafillou, P.: XL peer-to-peer pub/sub systems. ACM Comput. Surv. 46(2), 16 (2013)CrossRefGoogle Scholar
  37. 37.
    Kim, H., Parashar, M.: CometCloud: An Autonomic Cloud Engine. Wiley, New York (2011)Google Scholar
  38. 38.
    Konstantinou, A.V., Eilam, T., Kalantar, M., Totok, A.A., Arnold, W., Snible, E.: An architecture for virtual solution composition and deployment in infrastructure clouds. In: 3rd VTDC, pp. 9–18 (2009)Google Scholar
  39. 39.
    Leite, A.F., de Melo, A.C.: Executing a biological sequence comparison application on a federated cloud environment. In: 19th HiPC, pp. 1–9 (2012)Google Scholar
  40. 40.
    Leite, A.F., Alves, V., Rodrigues, G.N., Tadonki, C., Eisenbeis, C., de Melo, A.C.: Automating resource selection and configuration in inter-clouds through a software product line method. In: 8th IEEE CLOUD, pp. 726–733 (2015)Google Scholar
  41. 41.
    Leitner, P., Rostyslav, Z., Gambi, A., Dustdar, S.: A framework and middleware for application-level cloud bursting on top of infrastructure-as-a-service clouds. In: 6th IEEE/ACM UCC, pp. 163–170 (2013)Google Scholar
  42. 42.
    Lewis, G.A.: Role of standards in cloud-computing interoperability. In: 46th HICSS, pp. 1652–1661 (2013)Google Scholar
  43. 43.
    Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term. 2014
  44. 44.
    Li, Q., Li, H., Russell, P., Cheng, Z., Wang, C.: CA-P2P: context-aware proximity-based peer-to-peer wireless communications. IEEE Commun. Magazine 52(6), 32–41 (2014)CrossRefGoogle Scholar
  45. 45.
    Di Martino, B.: Applications portability and services interoperability among multiple clouds. IEEE Cloud Comput. 1(1), 74–77 (2014)CrossRefGoogle Scholar
  46. 46.
    Mietzner, R., Metzger, A., Leymann, F., Pohl, K.: Variability modeling to support customization and deployment of multi-tenant-aware software as a service applications. In: PESOS, pp. 18–25 (2009)Google Scholar
  47. 47.
    OASIS Standard. Topology and orchestration specification for cloud applications version 1.0. May 2013
  48. 48.
    Ostermann, S., Iosup, A., Yigitbasi, N., Prodan, R., Fahringer, T., Epema, D.: A performance analysis of EC2 cloud computing services for scientific computing. In: Cloud Computing, pp. 115–131. Springer, New York (2010)Google Scholar
  49. 49.
    Ou, Z., Zhuang, H., Lukyanenko, A., Nurminen, J.K., Hui, P., Mazalov, V., Yla-Jaaski, A.: Is the same instance type created equal? exploiting heterogeneity of public clouds. IEEE Trans. Cloud Comput. 1(2), 201–214 (2013)CrossRefGoogle Scholar
  50. 50.
    Petcu, D.: Consuming resources and services from multiple clouds. JGC 12, 1–25 (2014)Google Scholar
  51. 51.
    Petcu, D., Craciun, C., Rak, M.: Towards a cross platform cloud API. In: 1st CLOSER, pp. 166–169 (2011)Google Scholar
  52. 52.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)CrossRefzbMATHGoogle Scholar
  53. 53.
    Prodan, R., Ostermann, S.:. A survey and taxonomy of infrastructure as a service and web hosting cloud providers. In: 10th IEEE/ACM CCGrid, pp. 17–25 (2009)Google Scholar
  54. 54.
    Quinton, C., Haderer, N., Rouvoy, R., Duchien, L.: Towards multi-cloud configurations using feature models and ontologies. In: MultiCloud, pp. 21–26 (2013)Google Scholar
  55. 55.
    Quinton, C., Romero, D., Duchien, L.: Automated selection and configuration of cloud environments using software product lines principles. In: 7th IEEE CLOUD (2014)Google Scholar
  56. 56.
    Rochwerger, B., Breitgand, D., Levy, E., Galis, A., Nagin, K., Llorente, I.M., Montero, R., Wolfsthal, Y., Elmroth, E., Caceres, J., Ben-Yehuda, M.: The Reservoir model and architecture for open federated cloud computing. IBM J. Res. Dev. 53(4), 1–4 (2009)CrossRefGoogle Scholar
  57. 57.
    Romano, P., Rodrigues, L., Carvalho, N., Cachopo, J.: Cloud-TM: Harnessing the cloud with distributed transactional memories. ACM SIGOPS Oper. Syst. Rev. 44(2), 1–6 (2010)CrossRefGoogle Scholar
  58. 58.
    Ruehl, S.T., Andelfinger, U.: Applying software product lines to create customizable software-as-a-service applications. In: 15th SPLC, p. 16 (2011)Google Scholar
  59. 59.
    Ruehl, S.T., Andelfinger, U., Rausch, A., Verclas, S.A.: Toward realization of deployment variability for software-as-a-service applications. In: 5th IEEE CLOUD, pp. 622–629 (2012)Google Scholar
  60. 60.
    Schroeter, J., Mucha, P., Muth, M., Jugel, K., Lochau, M.: Dynamic configuration management of cloud-based applications. In: 16th SPLC, pp. 171–178 (2012)Google Scholar
  61. 61.
    Seinturier, L., Merle, P., Fournier, D., Dolet, N., Schiavoni, V., Stefani, J.B.: Reconfigurable SCA Applications with the FraSCAti Platform. In: IEEE SCC, pp. 268–275 (2009)Google Scholar
  62. 62.
    Sill, A.: The role of communities in developing cloud standards. IEEE Cloud Comput. 1(2), 16–19 (2014)CrossRefGoogle Scholar
  63. 63.
    Silvestro, J., Canavese, D., Cesena, E., Smiraglia, P.: A unified ontology for the virtualization domain. In: OnTheMove, pp. 617–624 (2011)Google Scholar
  64. 64.
    Smith, T.F., Waterman, M.S.: Identification of common molecular subsequences. J. Mol. Biol. 147, 195–197 (1981)CrossRefGoogle Scholar
  65. 65.
    Sousa, G., Rudametkin, W., Duchien, L.: Automated setup of multi-cloud environments for microservices applications. In: 9th IEEE CLOUD, pp. 327–334 (2016)Google Scholar
  66. 66.
    Stantchev, V.: Performance evaluation of cloud computing offerings. In: 3rd ADVCOMP, pp. 187–192 (2009)Google Scholar
  67. 67.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for internet applications. In: SIGCOMM, pp. 149–160 (2001)Google Scholar
  68. 68.
    Sun, X., Tian, Y., Liu, Y., He, Y.: An unstructured P2P network model for efficient resource discovery. In: ICADIWT, pp. 156–161 (2008)Google Scholar
  69. 69.
    Le Nhan T., Sunyé, G., Jezequel, J.M.: A model-based approach for optimizing power consumption of IaaS. In: 2nd NCCA, pp. 31–39 (2012a)Google Scholar
  70. 70.
    Le Nhan T., Sunyé, G., Jézéquel, J.M.: A model-driven approach for virtual machine image provisioning in cloud computing. In:1st ESOCC, pp. 107–121 (2012b)Google Scholar
  71. 71.
    Tang, T., Yew, P.C.: Processor self-scheduling for multiple-nested parallel loops. In: ICPP, pp. 528–535 (1986)Google Scholar
  72. 72.
    Toosi, A.N., Calheiros, R.N., Buyya, R.: Interconnected cloud computing environments: challenges, taxonomy, and survey. ACM Comput. Surv. 47(1), 7 (2014)CrossRefGoogle Scholar
  73. 73.
    Verissimo, P., Bessani, A., Pasin, M.: The TClouds architecture: open and resilient cloud-of-clouds computing. In: IEEE/IFIP 42nd DSN, pp. 1–6 (2012)Google Scholar
  74. 74.
    Walraven, S., Van Landuyt, D., Truyen, E., Handekyn, K., Joosen, W.: Efficient customization of multi-tenant software-as-a-service applications with service lines. JSS 91, 48–62 (2014)Google Scholar
  75. 75.
    Wittern, E., Kuhlenkamp, J., Menzel, M.: Cloud service selection based on variability modeling. In: 10th ICSOC, pp. 127–141 (2012)Google Scholar
  76. 76.
    Yau, S.S., Wang, Y., Karim, F.: Development of situation-aware application software for ubiquitous computing environments. In: 26th COMPSAC, pp. 233–238 (2002)Google Scholar
  77. 77.
    Youseff, L., Butrico, M., da Silva, D.: Toward a unified ontology of cloud computing. In: GCE, pp. 1–10 (2008)Google Scholar
  78. 78.
    Zhang, T., Du, Z., Chen, Y., Ji, X., Wang, X.: Typical virtual appliances: an optimized mechanism for virtual appliances provisioning and management. JSS 84(3), 377–387 (2011)Google Scholar
  79. 79.
    Zoels, S., Despotovic, Z., Kellerer, W.: On hierarchical DHT systems—an analytical approach for optimal designs. Comput. Commun. 31(3), 576–590 (2008)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  • Alessandro Ferreira Leite
    • 1
    Email author
  • Vander Alves
    • 1
  • Genaína Nunes Rodrigues
    • 1
  • Claude Tadonki
    • 2
  • Christine Eisenbeis
    • 3
    • 4
  • Alba Cristina Magalhaes Alves de Melo
    • 1
  1. 1.Department of Computer ScienceUniversity of BrasiliaBrasiliaBrazil
  2. 2.MINES ParisTech / CRIFontainebleauFrance
  3. 3.Inria / Université Paris-Sud 11Orsay CedexFrance
  4. 4.PCRIOrsay CedexFrance

Personalised recommendations