Software Architecture for Mobile Cloud Computing Systems

Mobile cloud computing (MCC) has recently emerged as a state-of-the-art technology for mobile systems. MCC enables portable and context-aware computation via mobile devices by exploiting virtually unlimited hardware and software resources offered by cloud computing servers. Software architecture helps to abstract the complexities of system design, development, and evolution phases to implement MCC systems effectively and efficiently. This paper aims to identify, taxonomically classify, and systematically map the state of the art on architecting MCC-based software. We have used an evidence-based software engineering (EBSE) approach to conduct a systematic mapping study (SMS) based on 121 qualitatively selected research studies published from 2006 to 2019. The results of the SMS highlight that architectural solutions for MCC systems are mainly focused on supporting (i) software as a service for mobile computing, (ii) off-loading mobile device data to cloud-servers, (iii) internet of things, edge, and fog computing along with various aspects like (iv) security and privacy of mobile device data. The emerging research focuses on the existing and futuristic challenges that relate to MCC-based internet of things (IoTs), mobile-cloud edge systems, along with green and energy-efficient computing. The results of the SMS facilitate knowledge transfer that could benefit researchers and practitioners to understand the role of software architecture to develop the next generation of mobile-cloud systems to support internet-driven computing.

[1]  Nidhi Thakur,et al.  Mobile Cloud Computing : A Comparison of Application Models , 2013 .

[2]  Chonho Lee,et al.  A survey of mobile cloud computing: architecture, applications, and approaches , 2013, Wirel. Commun. Mob. Comput..

[3]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[4]  Claes Wohlin,et al.  A method for understanding quality attributes in software architecture structures , 2002, SEKE '02.

[5]  K. Sultan,et al.  A Framework for the Evolution of Legacy Software Towards Context-aware and Portable Mobile Computing Applications , 2019 .

[6]  John Herbert,et al.  A Cloud-Based Mobile Data Analytics Framework: Case Study of Activity Recognition Using Smartphone , 2014, 2014 2nd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering.

[7]  Athanasios V. Vasilakos,et al.  Model-Driven Development Patterns for Mobile Services in Cloud of Things , 2018, IEEE Transactions on Cloud Computing.

[8]  Douglas C. Schmidt,et al.  Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series) , 2007 .

[9]  Ke‐Zhang Chen,et al.  Integration of design method software for concurrent engineering using axiomatic design , 1998 .

[10]  Mahadev Satyanarayanan,et al.  Mobile computing: the next decade , 2010, MCS '10.

[11]  Abdullah Gani,et al.  Mobile cloud computing: The-state-of-the-art, challenges, and future research , 2015 .

[12]  Grace A. Lewis,et al.  Architecture Strategies for Cyber-Foraging: Preliminary Results from a Systematic Literature Review , 2014, ECSA.

[13]  Dave Evans,et al.  How the Next Evolution of the Internet Is Changing Everything , 2011 .

[14]  Richard E. Boyatzis,et al.  Transforming Qualitative Information: Thematic Analysis and Code Development , 1998 .

[15]  Wendi B. Heinzelman,et al.  Cloud-Vision: Real-time face recognition using a mobile-cloudlet-cloud acceleration architecture , 2012, 2012 IEEE Symposium on Computers and Communications (ISCC).

[16]  Athanasios V. Vasilakos,et al.  Mobile Cloud Computing: A Survey, State of Art and Future Directions , 2013, Mobile Networks and Applications.

[17]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[18]  Wilhelm Hasselbring,et al.  Ontology-based modelling of architectural styles , 2009, Inf. Softw. Technol..

[19]  J. Wenny Rahayu,et al.  Mobile cloud computing: A survey , 2013, Future Gener. Comput. Syst..

[20]  Hossam S. Hassanein,et al.  Cloud-Assisted Computation Offloading to Support Mobile Services , 2016, IEEE Transactions on Cloud Computing.

[21]  Grace A. Lewis,et al.  A Reference Architecture for Group-Context-Aware Mobile Applications , 2012, MobiCASE.

[22]  Tarik Taleb,et al.  Mobile Edge Computing Potential in Making Cities Smarter , 2017, IEEE Communications Magazine.

[23]  Samee Ullah Khan,et al.  Future Generation Computer Systems ( ) – Future Generation Computer Systems towards Secure Mobile Cloud Computing: a Survey , 2022 .

[24]  Siti Hafizah Ab Hamid,et al.  Mobile storage augmentation in mobile cloud computing: Taxonomy, approaches, and open issues , 2015, Simul. Model. Pract. Theory.

[25]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[26]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[27]  Uwe Zdun,et al.  Using Patterns to Capture Architectural Decisions , 2007, IEEE Software.

[28]  Asad Waqar Malik,et al.  Classification and Mapping of Adaptive Security for Mobile Computing , 2020, IEEE Transactions on Emerging Topics in Computing.

[29]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[30]  Winfried Lamersdorf,et al.  CloudAware: Empowering context‐aware self‐adaptation for mobile applications , 2018, Trans. Emerg. Telecommun. Technol..

[31]  Eli Tilevich,et al.  Facilitating the Implementation of Adaptive Cloud Offloading to Improve the Energy Efficiency of Mobile Applications , 2015, 2015 2nd ACM International Conference on Mobile Software Engineering and Systems.

[32]  Mohammad Shojafar,et al.  Mobile Cloud Computing: Challenges and Future Research Directions , 2017, 2017 10th International Conference on Developments in eSystems Engineering (DeSE).

[33]  Bradley R. Schmerl,et al.  AcmeStudio: supporting style-centered architecture development , 2004, Proceedings. 26th International Conference on Software Engineering.