An Ontology-Based Architecture for an Adaptable Cloud Storage Broker

  • Divyaa Manimaran Elango
  • Frank Fowley
  • Claus PahlEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 824)


Interoperability and easier migration between offered serviced are aims that can be supported by cloud service brokerage in the cloud service ecosystem. We present here a multi-cloud storage broker, implemented as an API. This API allows objects and collections of objects to be stored and retrieved uniformly across a range of cloud-based storage providers. This in turn realizes improved portability and easy migration of software systems between providers and services.

Our multi-cloud storage abstraction is implemented as a Java-based multi-cloud storage API and supports a range of storage providers including GoogleDrive, DropBox, Microsoft Azure and Amazon Web Services as sample service providers. We focus on the architectural aspects of the broker in this paper. The abstraction provided by the broker is based on a layered ontological framework. While many multi-cloud applications exist, we investigate in more detail the mapping of the layered ontology onto a design pattern-based organisation of the architecture. This software architecture perspective allows us to show how this satisfies important maintainability and extensibility properties for any software system.


Cloud Service Brokerage Cloud storage Data migration Ontology API performance 



This work was partly supported by IC4 (Irish Centre for Cloud Computing and Commerce), funded by EI and the IDA.


  1. 1.
    Ried, S.: Cloud Broker – A New Business Model Paradigm. Forrester, Cambridge (2011)Google Scholar
  2. 2.
    Benslimane, D., Dustdar, S., Sheth, A.: Services mashups – the new generation of web applications. Internet Comput. 12(5), 13–15 (2008)CrossRefGoogle Scholar
  3. 3.
    Bernstein, D., Ludvigson, E., Sankar, K., Diamond, S., Morrow, M.: Blueprint for the inter-cloud: protocols and formats for cloud computing interoperability. In: International Conference on Internet and Web Applications and Services (2009)Google Scholar
  4. 4.
    Buyya, R., Ranjan, R., Calheiros, R.N.: InterCloud: utility-oriented federation of cloud computing environments for scaling of application services. In: Hsu, C.-H., Yang, L.T., Park, J.H., Yeo, S.-S. (eds.) ICA3PP 2010. LNCS, vol. 6081, pp. 13–31. Springer, Heidelberg (2010). Scholar
  5. 5.
    Elango, D.M., Fowley, F., Pahl, C.: Testing and comparing the performance of cloud service providers using a service broker architecture. In: Mann, Z.Á., Stolz, V. (eds.) ESOCC 2017. CCIS, vol. 824, pp. 117–129. Springer, Cham (2018)Google Scholar
  6. 6.
    Cloud Standards (2017).
  7. 7.
  8. 8.
    Fehling, C., Mietzner, R.: Composite as a service: cloud application structures, provisioning, and management. Info. Technol. 53(4), 188–194 (2011)Google Scholar
  9. 9.
    Pahl, C., Jamshidi, P., Weyns, D.: Cloud architecture continuity: change models and change rules for sustainable cloud software architectures. J. Softw. Evol. Process 29, e1849 (2017). Scholar
  10. 10.
    Pahl, C., Jamshidi, P., Zimmermann, O.: Architectural principles for cloud software. ACM Trans. Internet Technol. (2018, to appear)Google Scholar
  11. 11.
    Forrester Research: Cloud Brokers Will Reshape The Cloud (2012).
  12. 12.
    Fowley, F., Pahl, C., Zhang, L.: A comparison framework and review of service brokerage solutions for cloud architectures. In: Lomuscio, A.R., Nepal, S., Patrizi, F., Benatallah, B., Brandić, I. (eds.) ICSOC 2013. LNCS, vol. 8377, pp. 137–149. Springer, Cham (2014). Scholar
  13. 13.
    Fowley, F., Pahl, C., Jamshidi, P., Fang, D., Liu, X.: A classification and comparison framework for cloud service brokerage architectures. IEEE Trans. Cloud Comput. (2017).
  14. 14.
    Javed, M., Abgaz, Y.M., Pahl, C.: Ontology change management and identification of change patterns. J. Data Semant. 2(2–3), 119–143 (2013)CrossRefGoogle Scholar
  15. 15.
    Garcia-Gomez, S., et al.: Challenges for the comprehensive management of cloud services in a PaaS framework. Scalable Comput. Pract. Exp. 13(3), 201–214 (2012)Google Scholar
  16. 16.
    Elango, D.M., Fowley, F., Pahl, C.: Using a cloud broker API to evaluate cloud service provider performance. Research report 471, Department of Informatics, University of Oslo, pp. 63–74 (2017)Google Scholar
  17. 17.
    Gartner: Cloud Services Brokerage. Gartner Research (2013).
  18. 18.
    Grozev, N., Buyya, R.: InterCloud architectures and application brokering: taxonomy and survey. Softw. Pract. Exp. 44, 369–390 (2012)CrossRefGoogle Scholar
  19. 19.
    Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: Proceedings CLOSER Conference, pp. 137–146 (2016)Google Scholar
  20. 20.
    Taibi, D., Lenarduzzi, V., Pahl, C.: Processes, motivations and issues for migrating to microservices architectures: an empirical investigation. IEEE Cloud Comput. 4(5), 22–32 (2018). Scholar
  21. 21.
    Hofer, C.N., Karagiannis, G.: Cloud computing services: taxonomy and comparison. J. Internet Serv. Appl. 2(2), 81–94 (2011)CrossRefGoogle Scholar
  22. 22.
    Jamshidi, P., Sharifloo, A., Pahl, C., Arabnejad, H., Metzger, A., Estrada, G.: Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In: 12th International ACM SIGSOFT Conference on Quality of Software Architectures QoSA (2016)Google Scholar
  23. 23.
    Arabnejad, H., Jamshidi, P., Estrada, G., El Ioini, N., Pahl, C.: An auto-scaling cloud controller using fuzzy Q-learning - implementation in openstack. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 152–167. Springer, Cham (2016). Scholar
  24. 24.
    Gacitua-Decar, V., Pahl, C.: Structural process pattern matching based on graph morphism detection. Int. J. Softw. Eng. Knowl. Eng. 27(2), 153–189 (2017)CrossRefGoogle Scholar
  25. 25.
    IEEE Cloud Standards (2015).
  26. 26.
    Jamshidi, P., Ahmad, A., Pahl, C.: Cloud migration research: a systematic review. IEEE Trans. Cloud Comput. 1, 142–157 (2013)CrossRefGoogle Scholar
  27. 27.
    jclouds: jclouds Java and Clojure Cloud API (2015).
  28. 28.
    Ferrer, A.J., et al.: OPTIMIS: a holistic approach to cloud service provisioning. Future Gener. Comput. Syst. 28(1), 66–77 (2012)CrossRefGoogle Scholar
  29. 29.
    Konstantinou, A.V., Eilam, T., Kalantar, M., Totok, A.A., Arnold, W., Sniblel, E.: An architecture for virtual solution composition and deployment in infrastructure clouds. In: International Workshop on Virtualization Technologies in Distributed Computing (2009)Google Scholar
  30. 30.
    Pahl, C.: Layered ontological modelling for web service-oriented model-driven architecture. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 88–102. Springer, Heidelberg (2005). Scholar
  31. 31.
    Pahl, C., Giesecke, S., Hasselbring, W.: Ontology-based modelling of architectural styles. Inf. Softw. Technol. 51(12), 1739–1749 (2009)CrossRefGoogle Scholar
  32. 32.
    Mietzner, R., Leymann, F., Papazoglou, M.: Defining composite configurable SaaS application packages using SCA Variability Descriptors and Multi-tenancy Patterns. In: International Conference on Internet and Web Applications and Services (2008)Google Scholar
  33. 33.
    Pahl, C., Xiong, H.: Migration to PaaS clouds - migration process and architectural concerns. In: IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems MESOCA (2013)Google Scholar
  34. 34.
    Pahl, C., Xiong, H., Walshe, R.: A comparison of on-premise to cloud migration approaches. In: Lau, K.-K., Lamersdorf, W., Pimentel, E. (eds.) ESOCC 2013. LNCS, vol. 8135, pp. 212–226. Springer, Heidelberg (2013). Scholar
  35. 35.
    Papazoglou, M.P., van den Heuvel, W.J.: Blueprinting the cloud. IEEE Internet Comput. 15, 74–79 (2011)CrossRefGoogle Scholar
  36. 36.
    Petcu, D., et al.: Portable cloud applications–from theory to practice. Future Gener. Comput. Syst. 29(6), 1417–1430 (2013)CrossRefGoogle Scholar
  37. 37.
    Amazon Simple Storage Service (S3) Cloud Storage AWS
  38. 38.
  39. 39.
    Azure Storage - Secure cloud storage.
  40. 40.
    Google Drive - Cloud Storage & File Backup.
  41. 41.
    Jamshidi, P., Pahl, C., Mendonca, N.C.: Pattern-based multi-cloud architecture migration. Softw. Pract. Exp. 47(9), 1159–1184 (2017)CrossRefGoogle Scholar
  42. 42.
    Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. (2017).
  43. 43.
    Aderaldo, C.M., Mendonca, N.C., Pahl, C., Jamshidi, P.: Benchmark requirements for microservices architecture research. In: 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering. IEEE (2017)Google Scholar
  44. 44.
    Heinrich, R., van Hoorn, A., Knoche, H., Li, F., Lwakatare, L.E., Pahl, C., Schulte, S., Wettinger, J.: Performance engineering for microservices: research challenges and directions. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (2017)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Divyaa Manimaran Elango
    • 1
  • Frank Fowley
    • 1
  • Claus Pahl
    • 2
    Email author
  1. 1.IC4Dublin City UniversityDublinIreland
  2. 2.Software and Systems Engineering Research CentreFree University of Bozen-BolzanoBolzanoItaly

Personalised recommendations