Next Article in Journal
Body-to-Body Cooperation in Internet of Medical Things: Toward Energy Efficiency Improvement
Previous Article in Journal
Feature Fusion Text Classification Model Combining CNN and BiGRU with Multi-Attention Mechanism
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Software Architecture for Mobile Cloud Computing Systems

1
College of Computer Science and Engineering, University of Ha’il, Ha’il 2440, Saudi Arabia
2
College of Engineering and Applied Sciences, American University of Kuwait, Salmiya 13034, Kuwait
3
High Performance Computing Center, King Abdul Aziz University, Jeddah 21589, Saudi Arabia
*
Author to whom correspondence should be addressed.
Future Internet 2019, 11(11), 238; https://doi.org/10.3390/fi11110238
Submission received: 22 October 2019 / Revised: 11 November 2019 / Accepted: 11 November 2019 / Published: 13 November 2019

Abstract

:
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.

Graphical Abstract

1. Introduction

Mobile cloud computing (MCC) represents state-of-the-art mobile computing technology that aims to minimize the resource poverty of mobile devices by exploiting the resource sufficient and pay-per-use cloud-based hardware and software resources [1,2]. To compensate the resource poverty of mobile devices, cloud computing servers exploit the ‘pay-per-use’ hardware and software services to provide virtually unlimited processing and storage resources [3,4,5]. The unification of the mobile and cloud computing can benefit from the mobility and context awareness of front-end mobile devices and the computation and storage services of back-end cloud servers to enable systems that are portable, yet resource sufficient [1,2]. In recent years, the industrial development and academic research have proposed a variety of MCC-based solutions that address issues such as real-time analytics of the mobile-sensed data, provisioning of context-aware medical services, mobile apps as a service, and mobile edge computing [4,6,7]. The research and development activities for MCC systems are currently focused on utilizing software engineering methodologies to minimize the complexities and enhance the efficiency to model, develop, operate, and evolve MCC systems effectively and efficiently [1,3].
Software architecture represents a blueprint of the system under consideration by abstracting out complex implementation specific details with high-level representation of the software systems [8]. Specifically, architecture of a software-intensive system represents the low-level modules of source code and their interactions as high-level architectural components and connectors [9]. This means that architecture-centric development of software-intensive systems involves architectural components (i.e., computational entities and data stores) that interact with each other using the connectors [10]. The research on MCC systems highlights that researchers from different communities such as mobile computing, software engineering, cloud computing, and artificial intelligence have successfully utilized architectural models for the research and development of the MCC software [11,12]. Architecture-centric solutions for the MCC systems have proven to be successful in integrating the context-aware mobile computing (as front-end) layer with resource-sufficient cloud computing (as back-end) layer [3,13]. Architecture-centric engineering of the MCC systems aims to model (i) software (i.e., algorithms and libraries) and (ii) hardware (i.e., processors and data storage) services offered by the cloud that are manipulated by mobiles acting as portable and context-aware user interfaces.
Scope and Contributions: In recent years, there has been a steady growth of research on software architecture-related issues and solutions for mobile cloud software [4,6,12,13]. However, there has been no effort to systematically investigate the state of existing research on architecting MCC systems. Therefore, we used an evidence-based software engineering (EBSE) approach, and the guidelines from [14,15] to conduct a systematic mapping study (SMS) that analyzes and synthesizes the research by investigating 121 published studies from 2006 to 2019 that utilize architecture-based solutions to engineer MCC Systems. The objective of this SMS is to ‘systematically identify and taxonomically classify software architectural solutions for MCC systems; and provide a holistic mapping of these solutions to highlight their strengths, limitations alongside emerging and futuristic trends of research’. This SMS can disseminate a systemized knowledge about software architecture-related issues for MCC systems with the following contributions:
  • We taxonomically classify the collective impact of existing research to highlight (i) predominant research themes and challenges and (ii) architectural solutions and patterns for architecting MCC systems.
  • We holistically map the progression and maturation of research that has emerged overtime to highlight existing, emerging, and futuristic trends of research.
Summary of Results: The results of the SMS suggest that the research on architecting MCC software systems has progressed and matured over more than a decade. The earliest research efforts from the mid-2000s focused on the provisioning of software as a service (SaaS) for mobile computing. The majority of the architectural solutions focus on alleviating the resource poverty and energy efficiency of the mobile devices by offloading their computations and memory intensive tasks to the cloud-based servers. The SMS has also identified and presented some architectural patterns such as reusable design rationale and best practices to design and develop MCC software effectively. The results of the SMS highlight that in the most recent years, there has been a steady growth of research on architecture-centric engineering of the MCC software. Existing and futuristic research aims to address the challenges of mobile-cloud based internet of things (IoTs), mobile-cloud edge systems, energy efficient computing, and context-aware healthcare systems. The results of the SMS can be beneficial for:
  • Researchers who aim to understand the state of the art to derive new hypotheses to be tested, analyze innovative solutions, and identify areas of future research.
  • Practitioners who want to understand the reported solutions in terms of architectural solution, reusable architectural patterns, and the extent to which the academic research and development can be exploited to tackle the industrial challenges pertaining to the MCC systems.
Section 2 presents background details and related research. Section 3 presents the research methodology. Section 4 presents the classification and mapping of the research themes. Section 5 provides a catalogue of the challenges and their architectural solutions. Section 6 presents some architectural patterns for MCC systems. Section 7 discusses the historical progression along with emerging and futuristic dimensions of research. Section 8 concludes the paper.

2. Background and Related Research

In this section, we first discuss the background details about mobile cloud systems and software architecture. We then present some relevant studies that help us to justify the scope and contributions of the proposed SMS. The concepts and terminologies used in this section are used throughout the paper.

2.1. Software Architecture for Mobile Cloud Computing Systems

Mobile computing has fast emerged as a disruptive technology that has started to replace the old computing paradigms by providing portable computation and context-aware computation on the go. According to the statistics of the Global System for Mobile Communications, currently there are approximately 7 billion mobile device connections across the globe. Interestingly, the number rose from 0 to 7 billion in just three decades, which means that the mobile device connections are growing about 5 times faster than the human population [16]. As illustrated in Figure 1a, mobile computing is enabled with a combination of a mobile device (hardware), mobile apps (software), and a remote server (network connectivity) to offer portable, context-sensitive, and connected computation on the go [17]. Specifically, a mobile device acts as a backbone of mobile computing and it represents any (hand-held) equipment or machine that allows its user to perform computation, information sharing, and other relevant activities in a portable fashion, as in Figure 1a. Despite these benefits, there are some critical challenges such as resource scarcity including the processing, storage, energy deficiency, and issues like data security and privacy that needs to be addressed [1,2,18].
Cloud Computing, as per the definition of NIST, is defined as a combination of the software, platform, and infrastructure services that enable the entities or organizations to leverage the distributed and interoperable services to develop and deploy their software systems over available and virtually unlimited resources—public or private servers [3]. This means that cloud computing can offer the entities or organizations to off-load or deploy their (on premise) software systems, computation, or storage intensive tasks to servers by means of cloud-based services as in Figure 1a. In particular, the software as a service (SaaS) model is based on provisioning of the pay-per-use software resources to its users. Therefore, in the context of (resource-constrained) mobile-computing, resource-sufficient cloud computing can be viewed as an opportunistic model that allows mobile devices to offload data and computation over cloud-servers as illustrated in Figure 1a. Such offloading increases performance, decreases energy consumption, and alleviates resource poverty of mobile devices [3,11]. In recent years, MCC has emerged as a state-of-the-art mobile computing technology to develop innovative systems by unifying the portable (front-end) mobile devices with resource-sufficient (back-end) cloud servers [6].
Software Architecture, as per the ISO/IEC/IEEE 42010 standard, represents a blueprint or high-level view of a software by means of architectural components (as computational entities) and their connectors (relationships between components) [8].
Software architecture proved successful in abstracting the complexities of source code modules by representing them as architectural components, whereas the interaction or calls between the modules are represented as the component connectors. This means that architectural components, as illustrated in Figure 1b, act as the core computational elements to provide abstraction for complex and implementation-specific details (source code). The architecture for mobile-cloud software system can be viewed as a layered architecture model [11,13]. In such a model, a collection of architectural components supports context-sensitivity and other related functionality by manipulating mobile sensors that are part of the mobile computing layer. In contrast, the components that provide the cloud-based computation and storage facilities are part of the cloud computing layer. The intra-layer and inter-layer communications among the components are enabled by means of architectural connectors. For example, Figure 1b represents a simplified (component and connector-based) architectural view of a system that invokes the location-based services from cloud servers. The getLocationService on mobile device requests for location-based service are provided by calculateLocationCoord component on the cloud server and both components are interconnected using locSrv connector.
We conclude that by exploiting the architectural models, complexities of the MCC software systems can be abstracted by means of architectural components and connectors. Moreover, the architecture-centric view of the system enables the analysis, design, development, and evolution of the system effectively and efficiently with the facility of automated code generation (i.e., model-driven development) [19]. In this SMS, we aim to highlight the role that software architecture plays in the development and operations of the MCC systems.

2.2. Related Research

Before conducting the mapping study, we must also highlight some existing relevant secondary studies on MCC systems. Reviewing the research state of the art on most relevant survey-based studies helps us to define the scope and justify the contributions of the proposed mapping study. We summarize the survey-based studies on MCC systems as below.

2.2.1. State of the Art and Open Challenges for MCC Systems

In a survey-based study [20], the authors review the state of the art for MCC technology and its applicability in various domains such as mobile learning, commerce, health, and social media [20]. The authors have also identified the gaps in the existing research that relate to efficient task distribution and data offloading along with security and privacy aspects of the MCC systems [18]. In a similar study, the authors present an overview and a taxonomy of the building blocks for the MCC systems [21]. The study also compares the similarities and distinctions between the cloud computing and mobile cloud computing technologies. Various MCC solutions and technologies are discussed with a conclusion based on open issues and futuristic areas of research. In an interesting study in [22], the authors highlight the different definitions of the MCC and motivations for the adoption of the MCC solutions. Based on the identified motivations, the authors also present a taxonomy of the research challenges that relate to issues of operational level, end user level, service, and application level, along with security and context-awareness of the MCC systems.

2.2.2. Mobile Data Offloading to Cloud-Based Servers

In [23], the authors investigate mobile storage augmentation (MSA) based on the storage services provided by the cloud-based servers. The paper investigates main issues of MSA in three domains that include mobile computing, cloud computing, and mobile cloud computing. The study investigates the existing MSA approaches and mechanisms in MCC, classifies the cloud-based storage resources, and highlights some open issues for MSA in the context of MCC systems. In a similar study, the authors have conducted and shared the preliminary results of a systematic review on solutions that offload computationally intensive tasks from mobile devices to cloud-based servers [3].

2.2.3. Literature Review on Security for MCC Systems

It is also vital to mention the literature review in [24] that aims to investigate the state of research on security-related issues for MCC systems. Specifically, the review first highlights the existing research and solutions that are proposed to secure mobile cloud computing. Based on the existing research, the review aims to identify the potential problems or research gaps and provide a taxonomy of the state-of-the-art that can guide the future results.
Based on the discussion above, we conclude that in recent years, a number of secondary studies have been published that aim to address various issues of MCC systems and identify the potential topics for futuristic research. We could not find any relevant secondary study that specifically addresses architecture-centric challenges and solutions for the MCC systems. Investigating the role of software architecture in MCC systems can help us to exploit the research and development on software architecture models and to apply them for the development, operations, and evolution of the MCC systems. Moreover, the architectural view of the MCC systems can also help us to identify and present architectural patterns as best practices and reusable design knowledge to architect the MCC systems. Therefore, a lack of research on an architecture-centric solution for MCC systems motivates the needs for the proposed mapping study.

3. Research Methodology and Questions

To conduct the SMS, we followed the guidelines for evidence-based software engineering that has helped us to identify, collect, and synthesize the data along with reporting the results in an objective manner [14,15], as illustrated in Figure 2. Specifically, by following the process for conducting the mapping studies or systematic reviews, we have followed a structured process to minimize the errors and bias and tried to minimize the threats to validity of the research during different phases of the mapping study.
Specifying the Research Questions
To objectively investigate the studies and report the results, we have outlined a number of research questions (RQs), as detailed below. Based on these RQs, we aim to present the identified research themes, architectural challenges, and solutions along with active and emerging trends of research.
  • Demography and Classification of Published Solutions
    RQ-1: What is the frequency and types of publications over the years in the area of software architecture for MCC systems?
    Objective(s): To analyze the progression of research in terms of publication frequencies over the years. Moreover, we also present the types of publications (e.g., conference proceedings, journal article) to assess the types of research contributions.
    RQ-2: What are the existing research themes and how the themes can be classified and mapped for architectural solutions?
    Objective(s): To investigate the impacts of the existing research, there is a need to classify and categorize the proposed research solutions into distinct or overlapping research themes and their sub-themes. Research themes allow us to map the research themes with proposed solutions and their significance in the progression and maturation of research.
  • Architectural Challenges and Solutions for MCC Systems
    RQ-3: What are the prominent challenges for MCC systems, and what architectural solutions are provided to address them?
    Objective(s): To identify and present the architectural patterns that may exist in the proposed solutions. The identified patterns and their presentation can help to propose patterns as reusable knowledge and best practices to architect MCC systems.
    RQ-4: What architectural patterns exist for MCC systems?
    Objective(s): To investigate the impacts of the existing research, there is a need to classify and categorize the proposed research solutions into distinct or overlapping research themes and their sub-themes. Research themes allow us to map the research themes with proposed solutions and their significance in the progression and maturation of research.
  • Active and Futuristic Research on Architecting MCC Systems
    RQ-5: What are the active trends of research on software architecture for MCC systems?
    Objective(s): To identify the existing research and its impact (based on classification—RQ-2) on architecture-centric solution for MCC systems.
    RQ-6: What are the emerging trends of research on software architecture for MCC systems?
    Objective(s): To identify the most recent research themes and contributions that are in emergence. Identification of the emerging themes can help to present the potential dimensions of futuristic research.
We conclude that the specified RQs provide foundations to objectively investigate the qualitatively selected studies and document the results. The list of selected studies for the SMS are presented in Appendix A. Further details about data collection and qualitative analysis of the study are presented in Appendix B. The results of this mapping study as answers to the outlined RQs are presented from Section 4, Section 5, Section 6 and Section 7.

4. Frequency, Classification, and Mapping of the Existing Research

In this section, we present the results for the SMS by answering RQ-1, RQ-2, and RQ-3. First, we answer RQ-1, which highlights the frequency and types of research publications (Section 4.1). We then present the classification of the identified research themes (Section 4.2). Finally, we provide the mapping of the research themes and their corresponding evidence (Section 4.3).

4.1. Frequency and Types of Publications

We discuss the frequency of the research publications during the years (2006 to 2019), illustrated with a bar graph in Figure 3 to answer RQ-1. In Figure 3a, the vertical axis represents the total number of published studies, whereas the horizontal axis represents relative years of publication. For example, in Figure 3a, ‘Publication Years’ titled 2012 on the horizontal axis represent a total of 15 relevant studies published in the year 2012. Figure 3a also reveals that no research study was published on architectural solutions for MCC before the year 2006 and in 2007. This could be due to the fact that either (i) the literature search did not identify any relevant published research during those years (in Appendix B, Table A1, Step I) or (ii) the studies published during those years did not pass the qualitative evaluation for inclusion in our mapping study (in Appendix B, Table A1, Step II) [25]. As per the guidelines of mapping studies and systematic reviews [14,15], analyzing the frequency and types of publications provide insights into the quantity and strengths of published research over the years. For example, Figure 3a highlights growth of research in terms of publication frequency, whereas Figure 3b reflects the diversity of published research.
The graph in Figure 3a suggests that during the years 2006 to 2011, the research on the role of software architecture in MCC systems started to emerge with research focus on exploiting software services (more commonly software as a service (SaaS)) or specifically service-driven architectures for mobile computing [S1, S24, S12]. Please note that the notation [SN] (N is a number) represents a reference to primary studies included in the review in Appendix A. The notation also maintains a distinction between the bibliography and selected literature for mapping study. In the initial six years, we found only a total of nine relevant studies. In those early years, the research proposed solutions that enabled cloud-based servers—offering virtually unlimited computation and storage resources—for (resource-constrained) portable and context-aware mobile devices [S20, S32].
The last eight years (2012 to 2019) reflect a significant and continuous increase in the number of research publications (having 112/121, approximately 92.5% of reviewed studies) with the highest number of published studies in the years 2015 and 2017. The publication growth suggests that in the most recent years, since 2012, the research on the role of software architecture to model, develop, and evolve mobile-cloud systems has been gaining momentum. In these years, architectural solutions have mainly focused on addressing the challenges of offloading the data or code from a mobile device to the cloud server for the energy efficiency of mobile device [S4, S10, S51, S65, S94], real time analytics and computation [S6, S46, S47, S98], mobile healthcare services [S7, S25, S100], and mobile sensed data collection [S7, S54, S64] and analysis [S42] on cloud-based servers. A typical example can be the study [S46] that exploits a mobile device as a (front-end) scanner to capture facial images and these images are stored, processed, and recognized in real-time at (back-end) cloud-based server. We further discuss the research challenges and their architectural solution later based on the classification of the research themes. Most recently, solutions are being developed that demonstrate the role of software architecture in architecting mobile cloud-based IoTs [S81, S84, S114], mobile edge computing [S92, S119], and fog computing [S105, S117].
Figure 3 also maintains a distinction between the types of publications that are categorized as Book Chapters, Journal Articles, Conference Proceedings, and Symposium and Workshop Papers. We have also provided the reference for the related studies corresponding to each type of publication. For example, the publication type distribution titled as ‘Book Chapter’ represents three studies [S56, S59, S60] highlighting only approximately 2.5% of the total publication types as chapters of the book. The majority of research is published as conference and workshop proceedings, representing 68 studies (56%) and 50 studies (41.5%), respectively. During the initial years of research (2006 to 2010), most of the studies were published as workshops and symposium papers, which represents a total of nine studies (7.5%). In the last five years, the majority of the publications are in terms of journal articles and conference proceedings.

4.2. Taxonomical Classification of Existing Research Themes

We now answer RQ-2, which aims to investigate the existing research themes, their classification, and mapping to understand the overall progress and contributions of the research. To answer RQ-2, we provide a taxonomical classification of the research state of the art on software architectural solutions for MCC systems as illustrated in Figure 4. Figure 4 represents a taxonomy of the existing research. The taxonomy is defined as: ‘a systematic identification, naming, classification and presentation of various research themes and their subthemes (that exist in the literature) based on their similarity or distinctions of research contributions.’
We have derived the taxonomy in Figure 4 and classified the research based on the contribution of each study and by following the guidelines of the thematic analysis process [26]. For a fine-grained analysis of the existing research, we provide two-level classification, namely generic and research thematic classification, as detailed below. For example, in the context of Figure 4, the study [S4], in general, supports the (i) offloading of mobile data to the cloud (i.e., generic classification), however (ii) the study specifically focuses on optimizing the energy efficiency of a mobile device by offloading computationally intensive data to a cloud-based server (i.e., thematic classification).
  • Generic Classification provides a high-level categorization of the existing research based on the collective contributions of a number of studies. Specifically, the generic classification highlights four main types of research contributions that highlight the role of software architecture to support (1) software as a service (SaaS) for Mobile Computing (17 studies, approximately 14% of total reviewed studies), (2) Mobile to Cloud Data Offloading (76 studies, 63%), (3) Internet of Things, Edge, and Fog Computing (14 studies, 11.5%), and (4) Data Security and Miscellaneous (14 studies, 11.5%).
  • Thematic Classification provides an extension to the generic classification above by adding details about the focus of the research in a collection of related studies. Specifically, we have used the thematic analysis approach to identify the recurring themes (repeated architectural solutions) as the basis for thematic classification of the existing research [26]. For example, the thematic analysis suggests that a collection of studies such as [S7, S10, S30, S33] represent a repeated solution for offloading data to achieve storage efficiency and performing data analytics by exploiting the cloud computing servers. Thematic classification presents a fine-grained refinement of the generic classification.
For example, the research on Software as a Service for Mobile Computing has two specific themes: (a) Enterprise Software Services for Mobile Computing (10 studies, approximately 8.25% of total studies for SMS), and (b) Recommendation as a Services for Mobile (7 studies, 5.75%). In comparison, the research on Mobile to Cloud Data Offloading can help us to achieve (a) Computational Efficiency (39 studies, 32.25%), (b) Storage Efficiency and Data Analytics (18 studies, 15%), and (c) Energy Efficiency (15 studies, 12.25%). The research on MCC-based Internet of Things, Edge, and Fog Computing supports (a) Mobility-driven IoTs (5 studies, 4%), (b) Mobile Edge Computing (7 studies, 5.75%), and (c) Fog Computing (2 studies, 1.75%). Finally, the research on Data Security and Miscellaneous research trends is focused on (a) Security and Privacy of Mobile (4 studies, 3.25% of studies) and (b) Miscellaneous issues (10 studies, 8.25%).
It is vital to mention that in the taxonomical classification as illustrated in Figure 4, we have classified each study exclusively under one research theme or sub-theme only. There may be a possibility to classify the studies under more than one theme if their research contributions relate to multiple themes. For example, the study [S51]—classified under the theme of Mobile to Cloud Data Offloading—proposes a solution to offload computation to cloud-based servers to optimize the energy efficiency of a mobile device. This means that this study could possibly be classified under two subthemes, namely Computational Efficiency and Energy Efficiency. For example, in the abovementioned case, the study [S51] was classified under the sub-theme Energy Efficiency as the primary contribution of the research study is on optimizing the energy or battery resources of a mobile device by means of computational offloading (i.e., secondary contribution). In all such scenarios, when a study was the candidate for classification under multiple themes/sub-themes, we prioritized the primary contributions of such a study for its classification. In conclusion, to derive the classification scheme in Figure 4, each study has been classified based on its primary contribution, while any secondary contributions are ignored to avoid any overlaps of the research themes. The classification in Figure 4 guides the presentation of the results throughout the paper.

4.3. Taxonomical Classification of Existing Research Themes

The taxonomical classification of research (see Figure 4) organizes the research themes into various categories. These categories are based on the similarity or distinction of research contributions. However, in order to synthesize and interpret the results, there is a need to extend the classification scheme with a mapping of identified research themes, their sub-themes, and corresponding evidence (relevant studies) that is illustrated in Figure 5. Figure 5 provides a three-dimensional mapping of research that helps us to highlight and discuss:
  • Research thematic facet: It is based on generic classification of Figure 4 on the x-axis (left) that is referred to as a thematic facet of mapping in Figure 5.
  • Contribution facet: It is based on thematic classification of Figure 4 highlighting the specific contributions of research on y-axis as the contribution facet of mapping.
  • Temporal distribution facet: It represents the temporal distribution of evidence on the x-axis (right) that is referred to as a temporal distribution facet of mapping.
In Figure 5, the dark rectangles on horizontal axis (both at right and left) have two main purposes. First, the left side rectangles reflect the relevant studies as the identified evidence corresponding to individual themes and their subthemes. Second, the right side presents the yearly (temporal) distribution or publication frequency of the evidence. In Figure 5, the size of the rectangle on the horizontal axis is proportional to the quantity of the available evidence.
For example, the biggest rectangle in Figure 5 reflects that computational efficiency (a sub-theme) is the most researched area with 40 studies that supports architectural solutions for offloading mobile data to cloud computing (generic theme). The bigger rectangles on horizontal-axis (right) represents the years 2015 to 2017 as most productive in terms of the total number of research publications (17, 16 and 17, respectively). The interpretation of the research mapping in Figure 5 is based on locating a given research theme (x-axis) that allows the identification and mapping of its sub-themes (y-axis) along with identification of each relevant study in the circle. For example, the representation of [S4] highlights that ‘the study [S4] focuses on the monitoring and estimating energy consumption and performance of a mobile device to support its energy optimization (by offloading mobile data to the cloud)’. The mapping in Figure 5 has multiple interpretations based on the intent of the analysis. For example, the mapping in Figure 5 helps us to answer some important questions like:
  • What research themes got the most and least attention in the last five years? By analyzing the research mapping in Figure 5 and combining the publications years and research (sub-) themes in the last three years (2017–2019), most of the studies focused on (a) computational efficiency of a mobile device with studies including but not limited to [S8, S21, S78, S90, S98] and (b) storage efficiency and data analytics [S33, S83, S97] by offloading its data to cloud servers. There is less research on SaaS for mobile computing and security and privacy of mobile data.
  • What years are reflected as the most progressive based on the number of research publications and what was the focus of research during those years? By analyzing the temporal distribution facet or publication frequency (x-axis, left), we can identify 2013 to 2018 as the most progressive years in terms of total publications (93 published studies). During these years, the studies focused on all identified themes and their sub-themes. The most focused area of research during these years was offloading mobile device data to cloud-based servers. Most recently, mobile cloud computing has been exploited for internet of things-based systems.
We conclude that the taxonomical classification (in Figure 4) and holistic mapping (in Figure 5) helps us to answer RQ-2, which investigates the contributions and progression of the research. Both the classification and mapping guide the results of the mapping study and also help us to present the existing and emerging trends of research later in the paper.
Miscellaneous Research Areas: As presented in Figure 4, a total of 10 studies focused on miscellaneous architectural issues for MCC systems that cannot be classified under any other themes. The results from these studies address a wide variety of issues that include but are not limited to designing [S20], architecting [S63], developing [S68], and operating scalable MCC systems [S9]. These studies represent the foundation level research on MCC systems without an explicit relation to the applied architectural solutions. It is vital to mention some interesting studies that exploit the mobile cloud technologies to support social devices [S22] that aim to create a social network on the nearby mobile devices. Another interesting study focused on exploiting the MCC infrastructure to provide a context-aware adaptive middleware for mobile devices [S68]. We considered these studies as random solutions (once-off research ideas) that lack the follow-up research efforts. The classification and detailed discussion of solutions later in the paper avoids miscellaneous solutions to exclude once-off solutions to avoid any bias in the results of the SMS.

5. Challenges and Architectural Solutions for MCC Systems

We now answer RQ-3, which presents the prominent challenges and their architectural solutions for MCC software systems. To answer RQ-3, we provide Table 1, which represents a catalogue of architectural solutions to highlight the problem solution view for MCC software systems. Table 1 summarizes the following information: (i) Prominent research challenges or the Problem View representing various types of challenges for MCC systems, (ii) methods and techniques such as Solution View, (iii) Relevant Studies that complement the problem–solution view, and (iv) Solution Illustration. As per the research methodology (see Figure 2), during the data collection and synthesis process, we have recorded the information about the problem and architectural solutions for MCC in the data extraction form. To support fine-grained analysis of the research challenges and their architectural solutions, first we identified the primary challenges (Appendix B, Table A1, Step I) and then their sub-challenges (Appendix B, Table A1, Step II) as in Table 1, based on the research themes and their sub-themes from Figure 5. For example, the primary challenges of provisioning of the software as a service for mobile computing (SaaS for mobile) has two distinct sub-challenges namely (i) Supporting Enterprise Software Services for Mobile Computing and (ii) Provisioning of Recommendation as a Services for Mobile Computing (RaaS for Mobile). It is vital to mention that the thematic classification (see Figure 4) categorizes similar or distinct problems, while sub-themes represent specific type of problems. For example, in enabling the computational efficiency of a mobile device from studies [S4, S6], Table 1 highlights:
  • Problem View: How to achieve computational efficiency while maintaining the portability and performance of a resource-constrained mobile device.
  • Solution View: The proposed architectural solutions to address this problem are adaptive and cloudlets-based off-loading of computationally intensive data from a mobile device to cloud-based server. Software architecture provides a layered approach for the proposed solution (see Figure 1). The resource-constrained mobile device (as the front-end layer) represents a portable and context-aware user interface. On the other hand, the cloud-based server (as the back-end layer) provides computation and storage software as a service (SaaS) for mobile devices. The architecture includes the necessary logic to support the offloading decisions, i.e., what, when, and how to offload from a mobile device to the cloud-based server.
  • Related Studies support solutions for adaptive and cloudlet-based offloading includes [S4], [S6], [S11], [S14], [S17], [S25], and [S29].
  • Reference Architecture represents a high-level and generic view of the solution to address the challenges that relate to a particular research theme. A reference architecture provides an architecture-centric point of reference with an overview of the architectural components and connectors. The reference architecture provides a blueprint for architecture-centric development of the software systems.
Table 1 overviews generic problems with universally applicable solutions by abstracting complex and implementation specific details of the solutions. Such a high-level view of challenges and software architecture-centric solutions allow us to highlight an overview of the existing approaches. More details about an individual solution can be interpreted by investigating the relevant studies and their proposed contribution that is highlighted by the related studies section in Table 1.

6. Architectural Patterns for Mobile Cloud Computing Software

We now answer RQ-4, which aims to present the existing architectural patterns for MCC systems that have been identified from the mapping study. During the identification of the research themes (see Figure 4), we exploited the design review method to discover the existing patterns, i.e., by reviewing recurring design solutions to frequent problems of architecting MCC systems [26,27]. During the architecture-centric software design and development, architectural patterns and styles provide reusable knowledge and best practices to architect the systems [28,29]. Software patterns have proven to be successful to represent recurring solution to frequent problems of software and system design [30].
We believe that the existing patterns that we have identified as a result of the mapping study and presented in Figure 6 focused on designing or architecting MCC can provide documented and well-understood software design solutions to both the researchers and practitioners. The presented patterns in Figure 6 capture the concentrated wisdom and consolidated design rationale from multiple systems to develop software effectively and efficiently. In Figure 6, we illustrate the four identified patterns, namely (i) Adaptive Offloading, (ii) Mobile Cloudlets, (iii) Context Sensing, and (iv) Mobility-driven Internet of Things that are presented in the form of a pattern template (Table 2, Table 3, Table 4 and Table 5). The pattern template provides a structured format to present pattern-related information systematically and effectively [30]. We have been able to identify only four patterns that represent a limited number; however, we believe that the patterns presented here can guide the futuristic efforts to investigate the architectural solutions and to discover new architectural patterns for MCC systems. For space reasons, we only detail the adaptive offloading pattern in Table 2 and Figure 6. It is vital to mention that all the patterns represent a layered architecture that has already been detailed earlier (see Section 1, Figure 1). We have followed the guidelines from [27,28] for a template-based representation of the architectural patterns. Specifically, we present the pattern in a structure template using the following seven elements of pattern representation.
  • Pattern Name: Provides a unique and self-explanatory name for the pattern.
  • Pattern Intent: Describes the motivation or the known uses of the given pattern.
  • Design Problem and Solution: Highlights the problem solution view that the patterns aim to address.
  • Architecture Elements: The artefacts of the system to which a pattern can be applied.
  • Reuse Design Knowledge: Design rationale supported by the pattern that can be frequently reused.
  • Quality Characteristics: Attributes of quality (non-functional properties) affected by the pattern.
  • Reference Diagram: Provides overview of the pattern also known as pattern thumbnail.
We conclude that, in order to support architecture-centric engineering and development of the MCC systems, there is a need to replace the ad-hoc and once-off solutions with reuse-driven and knowledge-based practices for system design. With the growing demands for the adoption of the MCC systems, existing best practices and knowledge must be leveraged to design new systems effectively and efficiently [3,4]. Therefore, the presented patterns can provide reusable design rational and concentrated design knowledge from multiple systems/solutions to offer best practices to design and architect the MCC systems.

7. Past and Emerging Trends of Research on Architecting Mobile Cloud Software

We now answer RQ-5 and RQ-6, which aim to investigate the historical progression of the research and the emerging trends. Specifically, we first highlight the past research on software architecture for MCC to answer RQ-5 in Section 7.1. We then present the trends of emerging research as potential dimensions of futuristic research on software architecture for MCC to answer RQ-6 in Section 7.2. In order to study the past, present, and potential futuristic research based on the evidence from classification and mapping schemes (see Section 4), we have categorized the progression of research into three distinct phases detailed below and illustrated in Figure 7.
  • Foundation Phase (2006–2009) represents the earliest phase during which the research on software architecture for MCC started to emerge. During the foundation phase, a total of five studies were published (approximately 4% of total studies) that can be considered as an inception of research on SaaS for mobile computing systems.
  • Maturation Phase (2010–2013) represents the duration of research for the next four years corresponding to the foundation phase of research. During this phase, the research from the initial years gained momentum and started to mature. During this phase, a total of 34 studies were published that represent approximately 28% of the reviewed studies. During these years, the majority of the research focused on architectural solutions that can alleviate the resource poverty of a mobile device by offloading its computation and memory-intensive data to cloud-based servers.
  • Active and Futuristic Phase (2014 and beyond) represents the most recent years of research and its possible advancement in the future. During this phase (2014–2019), a total of 82 studies have been published that represent more than 68% of total studies that have been reviewed. During these years, active trends still focus on computation offloading, however some emerging topics such as mobile edge computing, mobile IoTs, and others are fast emerging as potential areas of futuristic research.
The foundation and maturation phases represent the past or historical research, while the active and futuristic phase defines possible areas of future research.

7.1. Past Trends of Research on Architecture for MCC Software

We now aim to answer RQ-5 to investigate the past trends that highlight a historical progression of the research. Based on the mapping of the research, we have considered the years 2006–2012 as historical research because during those years, the research has emerged and established itself before its tremendous growth in the later years. Moreover, during these years, the research on software architecture for mobile cloud computing enabled (i) the establishment of the theoretical foundation of the research and (ii) fundamental research on mobile cloud computing that later gained momentum.
Pay-per-use SaaS for Mobile Computing: During the foundational phase, the research focused on software service-driven architectures for mobile computing environments. In comparison with (pre-built and embedded) software components or modules for mobile computing, software services provided loosely coupled and dynamically discovered mobile software that can be acquired or released instantly [S1]. During this phase, the research focused on exploiting the dynamically composable and pay-per-use services to perform computation and provide the mobile recommender systems [S12]. The software as a service model also inspired the early research where computation [S11] or security [S18] of a mobile device can be offloaded to the cloud servers. Such offloading proved vital to compensate for the resource poverty of mobile devices with virtually unlimited cloud storage and processing. After the foundation phase, during the years 2010–2012, the earliest research on architecting mobile cloud software started to mature. The maturation is reflected in a significant growth of research and the emergence of new challenges and solutions.
Computational Offloading for Mobile Devices: The idea of computational offloading gained attention and solutions have been developed that not only support energy efficiency [S15, S27, S55], but also computational, storage, and data analytics efficiency [S7, S10, S43, S46].
During this phase, the cloud-based servers were exploited for analytics of big data effectively and efficiently. The integration of the mobile cloud resulted in the development of mobile sensing systems or mobile crowd sensing [S10]. The portable and context-aware mobile devices have been used as a front-end system to sense the contextual information such as environment, noise, traffic, and pollution levels [S10, S46]. The sensed data from the mobile device are shared with the cloud-server for analytics and recommendations. The research on software architecture for mobile cloud systems is growing rapidly. Such growth demands the identification of active and innovative solutions to guide futuristic solutions.

7.2. Emerging and Futuristic Trends of Research

Based on the historical progression, we now answer RQ-6, which highlights the emerging research that reflects potential futuristic solutions. Before discussing the future needs of the architectural solutions for MCC systems, we must also discuss some important quality attributes (also known as nonfunctional/architectural properties) that need to be accommodated in the software architecture for MCC systems [31]. Specifically, these quality attributes ensure that, in addition to the core functionality, the quality in the architecture is also preserved at the system design phase.
Quality Attributes/Architectural Properties of MCC Software Systems: As illustrated in Figure 8, both the cloud and mobile systems have some distinct attributes of software quality. This means during the architectural-driven design and development process, the quality attributes from both the mobile and cloud computing needs to be accommodated in the software architecture. The highlighted quality attributes only represent a subset of all the possible attributes with extended details found in [13]. For example, the system elasticity attribute refers to the ability of any cloud-based server to be elastic (i.e., dynamic addition or removal of resources) corresponding the variations of the workload on the server. In the case of mobile cloud-based real-time analytics of the crowd sensed data (e.g., traffic flow, environmental conditions), any increase in the demand for the analytics must by supported by the addition of the required memory and computational resources [32] [S46]. Similarly, those resources can be released or degraded whenever not in use. In comparison, the quality attribute of context awareness for mobile computing requires that architecture must support the hardware resources (e.g., device sensors, actuators) to exploit the context awareness such as the location, time, and environmental conditions [S70]. Ideally, any software architecture that unifies the mobile and cloud computing technologies must support the quality attributes relevant to both these technologies. In addition to the distinct set of quality attributes as illustrated in Figure 8, there are some generic attributes of the quality that are relevant to both the cloud and mobile computing technologies.
For example, the attributes of system connectivity/availability require that the systems are continuously connected to ensure a seamless working of the MCC system. This means that any futuristic solutions should explicitly address the quality attributes, as a lack of quality also impacts the core functionality of the software systems [31]. Additional details about the quality attributes for the MCC systems are provided in [3,13]. As highlighted in Figure 5, these solutions started to emerge in 2014 and are now gaining momentum, which includes:
Mobile-Cloud driven Internet of Things (IoTs) defines one of the emerging research areas that exploits interconnected mobile-devices as a portable and context-aware ecosystem of devices as connected things [S81, S84]. A recent study on the current state of the IoT has highlighted that approximately 25 billion devices will be connected to the internet of things by 2020 [33]. The IoT-based systems are fast emerging as a disruptive technology and an enabling platform—interconnecting humans, systems, services, devices, and things—to ensure a connected world with improved lifestyle, enhanced urban services, work practices, and interactions [17]. The MCC systems with context-awareness and portability coupled with virtually unlimited storage and processing capabilities provide an ideal opportunity to implement IoTs. In recent years, crowdsourcing [S84] and analytics for mobile sensor data [S70] represent practical cases of MCC driven IoTs. For futuristic efforts, the MCC systems can seamlessly provide the ‘anytime, anywhere connectivity’ of all the things to create technical and socio-economic opportunities [33]. To realize such a vision of IoT, a number of challenges exist in terms of engineering efforts, safety, security, and governance of MCC-driven IoT systems [S114, S120], [17].
Mobile edge computing (MEC) is a recent term that was coined by Cisco Systems and is also referred to as fog computing. MEC aims to support the theory that it may be impractical or impossible to always transmit all the data across the whole Internet from mobile devices to the cloud service provider [S96, S118, S119]. In this context, MEC aims at provisioning of the resources like computation and storage infrastructure at the logical edge of the network, i.e., mobile devices connected to the cloud-based servers. Moreover, a geographically distributed platform rather than at centralized spots can better support the MEC architecture. Some of the practical examples of the MEC technology are Amazon AWS and Microsoft Azure cloud data centers. In the most recent years, the research on mobile edge clouds has started to emerge [S76, S77, S91, S92, S96]. A recent study [S96] highlights that “while the MCC tries to push the limits of mobile applications by including centralized resources to achieve computational offloading, MEC goes further by assigning the major part of remote operations directly to the surrounding infrastructure - an approach that has been successfully applied to improve latencies of edge cloud applications and mitigates the ever-growing bandwidth requirements.” A recent emergence and progress of research on MEC needs to investigate MCC from the MEC perspective. Software architecture to design MEC systems can help to abstract the system complexities to model, develop, and evolve the system structure and behavior at higher abstraction levels. Software architecture to design MEC systems can help to abstract the system complexities to model, develop, and evolve the system structure and behavior at higher abstraction levels.
Green and Energy Efficient Computing refers to the design and operations of computing systems that aim to minimize the carbon footprint and maximize the energy efficiency. The resource poverty of a mobile device and specifically the power consumption has led to the research and development of solutions that enable energy efficiency [S6, S5, S10, S40, S50]. A lot of research has already been carried out; however, a futuristic solution needs to go beyond the fundamental research and to provide real-world solutions that promote the notion of green computing in particular and energy efficiency of mobile-cloud in particular [S78, S83].
Mobility in Connected Healthcare is also an area of future interest as highlighted by the results of the mapping study. In a connected healthcare system, mobile devices can continuously monitor the user’s health conditions and health logs are maintained at the cloud-based servers. The health logs provide historical and often real-time data relating to a user’s health. Moreover, the health logs are made available as portable records with their storage in the cloud and shared with medical experts when required. However, considering the medically critical data, future research is also required to ensure the standardization, security, and privacy-related aspects while generating, consuming, or analyzing the health-specific data [S73, S79].

8. Discussion and Conclusions of Mapping

MCC has emerged as state-of-the-art mobile computing technology to support systems that are portable, context-aware, yet resource sufficient to perform computation and memory-intensive tasks effectively and efficiently. The research on MCC systems has progressed over more than a decade to address the challenges of service orientation in the context of mobile computing, computational offloading to alleviate the resource poverty of mobile devices, along with data security and privacy for mobile computing environments. There have been no research efforts to investigate the role of software architecture and its implications on the MCC systems. A systematic investigation of the state of the art on software architecture for MCC systems helps us to present a collective impact of the existing research, its strengths, and limitations, along with an indication of the emerging and futuristic trends. The results of the SMS can benefit:
Researchers who need to know the body of knowledge based on the research and development on architecting the mobile-cloud systems. The classification and mapping of the state of the art help researchers to understand the progression of research and formulation of new hypotheses to be tested. The mapping of the research and its progress helps to identify: (i) Evidence of research progression, (ii) research themes, and (iii) focuses and contributions of active and futuristic research.
Practitioners who may be interested in understanding the existing research in terms of solutions and to analyze possibilities where academic approaches can be exploited to develop industrial solutions. The details about architectural patterns for MCC systems aim to promote reusable knowledge and best practices to architect MCC systems. The emerging research highlights the needs for applied research and development to address challenges relating to the IoTs, green computing, connected healthcare, and data analytics. Tools and frameworks are needed that can empower mobile and cloud system engineers to automate and customize architecture-based solutions.
Based on the results of the mapping study, we aim to disseminate a systematized knowledge about existing and emerging research on the role of software architecture in MCC systems. The synthesis of the results and their presentation in a structured format highlights the ideas for futuristic research and development on architecting the next generation of solutions that unify and exploit mobile and cloud computing technologies.

Author Contributions

Conceptualization, A.A. (Abdulrahman Alreshidi) and A.A. (Aakash Ahmad); methodology, A.A. (Abdulrahman Alreshidi) and A.B.A.; validation, A.A. (Aakash Ahmad) and R.M.; investigation, A.A. (Abdulrahman Alreshidi) and K.S.; data curation, A.A. (Abdulrahman Alreshidi); writing—original draft preparation, A.A. (Abdulrahman Alreshidi), A.A. (Aakash Ahmad), A.B.A.; writing—review and editing, R.M. and K.S.; project administration, A.A. (Abdulrahman Alreshidi) and A.A. (Aakash Ahmad); funding acquisition, A.A. (Abdulrahman Alreshidi).

Funding

This research is funded by the Deanship of Scientific Research at the University of Ha’il, Ha’il, Saudi Arabia under the Grant Number ‘161062’ (Project Code: 161062).

Acknowledgments

The authors acknowledge the support provided by Deanship of Scientific Research at the University of Ha’il, Ha’il, Saudi Arabia under the Grant Number ‘161062’ (Project Code: 161062).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. List of Studies Selected for Review and Inclusion in the Systematic Mapping Study

[S1] Y. Natchetoi, V. Kaufman, A. Shapiro. Service-oriented Architecture for Mobile Applications. In 1st International Workshop on Software Architectures and Mobility. [Year = 2008, Type = Workshop and Symposium Paper]
[S2] Kakadia Dharmesh, Prasad Saripalli, Vasudeva Varma. MECCA: Mobile, Efficient Cloud Computing Workload Adoption Framework Using Scheduler Customization and Workload Migration Decisions. In 1st International Workshop on Mobile Cloud Computing & Networking. [Year = 2013, Type = Workshop and Symposium Paper]
[S3] Sujit Dey, Yao Liu, Shaoxuan Wang, Yao Lu. Addressing Response Time of Cloud-Based Mobile Applications. In First International Workshop on Mobile Cloud Computing & Networking. [Year = 2013, Type = Work shop and Symposium Paper]
[S4] Young-Woo Kwon, Eli Tilevich. Facilitating the Implementation of Adaptive Cloud Offloading to Improve the Energy Efficiency of Mobile Applications. In 2nd ACM International Conference on Mobile Software Engineering and Systems. [Year = 2015 Type = Conference Proceedings]
[S5] Jagan Sankaranarayanan, Hakan Hacıgümüş. A Platform for Seamless Context Transfers in the Mobile Cloud. In 12th International ACM Workshop on Data Engineering for Wireless and Mobile Access. [Year = 2013, Type = Workshop and Symposium Paper]
[S6] Tim Verbelen, Pieter Simoens, Filip De Turck, Bart Dhoedt. Cloudlets: Bringing the Cloud to the Mobile User. In 3rd ACM workshop on Mobile Cloud Computing and Services. [Year = 2012, Type = Workshop and Symposium Paper]
[S7] Rasool Fakoor, Mayank Raj, Azade Nazi, Mario Di Francesco, Sajal K. Das. An Integrated Cloud-based Framework for Mobile Phone Sensing. In 1st Edition of the MCC Workshop on Mobile Cloud Computing. [Year = 2012, Type = Workshop and Symposium Paper]
[S8] Wei Cai, Conghui Zhou, Minchen Li, Xiuhua Li, Victor C.M. Leung. MCG Test-bed: An Experimental Test-bed for Mobile Cloud Gaming. In 2nd Workshop on Mobile Gaming. [Year = 2015, Type = Workshop and Symposium Paper]
[S9] Roberto Bifulco, Marcus Brunner, Roberto Canonico, Peer Hasselmeyer, Faisal Mir. Scalability of a Mobile Cloud Management System. In 1st Edition of the MCC Workshop on Mobile Cloud Computing. [Year = 2012, Type = Workshop and Symposium Paper]
[S10] Ivana Podnar Zarko, Aleksandar Antonic, Krešimir Pripužic. Publish/Subscribe Middleware for Energy-efficient Mobile Crowd-sensing. In 2013 ACM Conference on Pervasive and Ubiquitous Computing Adjunct Publication. [Year = 2013, Type = Conference Proceedings]
[S11] Ioana Giurgiu, Oriana Riva, Dejan Juric, Ivan Krivulev, Gustavo Alonso. Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications. In ACM/IFIP/USENIX 10th International Conference on Middleware. [Year = 2009, Type = Conference Proceedings]
[S12] Evangelos Sakkopoulos, Poulia Adamopoulou, A. K. Tsakalidis, Spyros Sioutas. Personalized Selection of Web Services for Mobile Environments: The m-scroutz Solution. In International Conference on Management of Emergent Digital EcoSystems. [Year = 2009, Type = Conference Proceedings]
[S13] Huber Flores, Satish Srirama. Adaptive Code Offloading for Mobile Cloud Applications: Exploiting Fuzzy Sets and Evidence-based Learning. In 4th ACM Work shop on Mobile Cloud Computing and Services. [Year=2013, Type=Workshop and Symposium Paper]
[S14] Francesco Di Cerbo, Doliere Francis Some, Laurent Gomez. PPLv2.0: Uniform Data Access and Usage Control on Cloud and Mobile. In 1st International Work shop on Technical and Legal aspects of data Privacy and Security. [Year=2015, Type = Workshop and Symposium Paper]
[S15] Tianyi Xing, Dijiang Huang, Shingo Ata. MobiCloud: A Geo-distributed Mobile Cloud Computing Platform. In 8th International Conference and 2012 Workshop on Systems Virtualization Management. [Year = 2012, Type = Conference Proceedings]
[S16] StevenBohez, EliasDeConinck, TimVerbelen, PieterSimoens, BartDhoedt. Enabling Component-based Mobile Cloud Computing with the AIOLOS Middleware. In 13th Workshop on Adaptive and Reflective Middleware. [Year = 2014, Type = Workshop and Symposium Paper]
[S17] Arijit Banerjee, Xu Chen, Jeffrey Erman, Vijay Gopalakrishnan, Seungjoon Lee, Jacobus Van der Merwe. MOCA: A Lightweight Mobile Cloud Offloading Architecture. In 8th ACM International Workshop on Mobility in the Evolving Internet Architecture. [Year = 2013, Type = Workshop and Symposium Paper]
[S18] Xinwen Zhang, Joshua Schiffman, Simon Gibbs, Anugeetha Kunjithapatham, Sangoh Jeong. Securing Elastic Applications on Mobile Devices for Cloud Computing. In 2009 ACM Workshop on Cloud Computing Security. [Year = 2009, Type = Workshop and Symposium Paper]
[S19] Lei Yang, Jiannong Cao, Yin Yuan, Tao Li, Andy Han, Alvin Chan. A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing. In 2012 IEEE 5th International Conference on Cloud Computing. [Year = 2013, Type = Conference Proceedings]
[S20] Marko Höyhtyä, Marko Palola, Marja Matinmikko, Marcos Katz. Cognitive Engine: Design Aspects for Mobile Clouds. In International Conference on Cognitive Radio and Advanced Spectrum Management. [Year = 2011, Type = Conference Proceedings]
[S21] Kaiqiang Wang, Minwei Shen, Junguk Cho, Arijit Banerjee, Jacobus Van der Merwe, Kirk Webb. MobiScud: A Fast Moving Personal Cloud in the Mobile Network. In 5th Workshop on All Things Cellular: Operations, Applications and Challenges. [Year = 2015, Type = Workshop and Symposium Paper]
[S22] Niko Mäkitalo, Jari Pääkkö, Mikko Raatikainen, Varvana Myllärniemi, Timo Aaltonen, Tapani Leppänen, Tomi Männistö, Tommi Mikkonen. Social Devices: Collaborative Co-located Interactions in a Mobile Cloud. In 11th International Conference on Mobile and Ubiquitous Multimedia. [Year = 2012, Type = Conference Proceedings]
[S23] Junguk Cho, Binh Nguyen, Arijit Banerjee, Robert Ricci, Jacobus Van der Merwe, Kirk Webb. SMORE: Software-defined Networking Mobile Offloading Architecture. In 4th Workshop on All Things Cellular: Operations, Applications, and Challenges. [Year = 2014, Type = Workshop and Symposium Paper]
[S24] Farshad A. Samimi, Philip K. McKinley, S. Masoud Sadjadi. Mobile Service Clouds: A Self-managing Infrastructure for Autonomic Mobile Computing Services. In Second IEEE International Conference on Self-Managed Networks, Systems, and Services. [Year = 2006, Type = Conference Proceedings]
[S25] Richard K. Lomotey, Ralph Deters. Using a Cloud-centric Middleware to Enable Mobile Hosting of Web Services: mHealth Use Case. In Journal, Personal and Ubiquitous Computing. [Year = 2014, Type = Journal Article]
[S26] Bo Yin, Wenlong Shen, Lin X. Cai, Yu Cheng. A Mobile Cloud Computing Middleware for Low Latency Offloading of Big Data. In 2015 Workshop on Mobile Big Data. [Year = 2015, Type = Workshop and Symposium Paper]
[S27] Pedro Maurício Costa, Jeremy Pitt João Falcão e Cunha, Teresa Galvão Dias. Cloud2Bubble: Enhancing Quality of Experience in Mobile Cloud Computing Settings. In 3rd ACM Workshop on Mobile Cloud Computing and Services. [Year = 2012, Type = Workshop and Symposium Paper]
[S28] Jagan Sankaranarayanan, Hakan Hacigumus, Junichi Tatemura. COSMOS: A Platform for Seamless Mobile Services in the Cloud. In 2011 IEEE 12th International Conference on Mobile Data Management. [Year = 2011, Type = Conference Proceedings]
[S29] Yu Wu, Lei Ying. A Cloudlet-based Multi-Lateral Resource Exchange Framework for Mobile Users. In 2015 IEEE Conference on Computer Communications (INFOCOM). [Year = 2015, Type = Conference Proceedings]
[S30] Muhammad Shiraz, Abdullah Gani, Azra Shamim, Suleman Khan, Raja Wasim Ahmad. Energy Efficient Computational Offloading Framework for Mobile Cloud Computing. In Journal of Grid Computing. [Year= 2015, Type= Journal Article]
[S31] Wenzhong Li, Yanchao Zhao, Sanglu Lu. Mechanisms and Challenges on Mobility-augmented Service Provisioning for Mobile Cloud Computing. In IEEE Communications Magazine. [Year = 2015, Type = Journal Article]
[S32] Hyun Jung La, Soo Dong Kim. A Conceptual Framework for Provisioning Context-aware Mobile Cloud Services. In 2010 IEEE 3rd International Conference on Cloud Computing. [Year = 2010, Type = Conference Proceedings]
[S33] Lihui Lei, Sabyasachi Sengupta, Tarini Pattanaik. MCloudDB: A Mobile Cloud Database Service Framework. In 3rd IEEE International Conference on Big Data Computing Services and Applications. [Year = 2015, Type = Conference Proceedings]
[S34] Zohreh Sanaei, Saeid Abolfazli, Abdullah Gani, Muhammad Shiraz. SAMI: Service-based Arbitrated Multi-tier Infrastructure for Mobile Cloud Computing. In 2012 1st IEEE International Conference on Communications in China Workshops (ICCC). [Year = 2012, Type = Conference Proceedings]
[S35] Zhiming Cai, Chongcheng Chen, Qinmin Wang. Architecture Design of Mobile Cloud and Prototype Test. In 8th International Conference on Communications and Networking in China. [Year = 2013, Type = Conference Proceedings]
[S36] Chi-Sheng Shih, Yu-Hsin Wang, Norman Chang. Multi-tier Elastic Computation Framework for Mobile Cloud Computing. In 3rd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering. [Year = 2015, Type = Conference Proceedings]
[S37] Hayat Routaib, Elarbi Badidi, Mouna Elmachkour. Modeling and Evaluating a Cloudlet-based Architecture for Mobile Cloud Computing. In 9th International Conference on Intelligent Systems: Theories and Applications. [Year = 2014, Type = Conference Proceedings]
[S38] Rahnuma Kazi, Ralph Deters. A Cloud-hosted Hybrid Framework for Consuming Web Services on Mobile Devices. In International Conference on Selected Topics in Mobile and Wireless Networking. [Year = 2013, Type = Conference Proceedings]
[S39] Dijiang Huang, Xinwen Zhang, Myong Kang. MobiCloud: Building Secure Cloud Framework for Mobile Computing and Communication. In 5th IEEE International Symposium on Service Oriented System Engineering. [Year=2010, Type = Workshop and Symposium Paper]
[S40] Pelin Angin, Bharat Bhargava, Zhongjun Jin. A Self-Cloning Agents-Based Model for High-Performance Mobile-Cloud Computing. In IEEE 8th International Conference on Cloud Computing. [Year = 2015, Type = Conference Proceedings]
[S41] Jeongho Kwak, Yeongjin Kim, Joohyun Lee. DREAM: Dynamic Resource and Task Allocation for Energy Minimization in Mobile Cloud Systems. In IEEE Journal on Selected Areas in Communications. [Year = 2015, Type = Journal Article]
[S42] Bingchuan Yuan, John Herbert. A Cloud-Based Mobile Data Analytics Framework: Case Study of Activity Recognition Using Smartphone. In 2nd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering. [Year = 2014, Type = Conference Proceedings]
[S43] Arlindo Flavio da Conceição, Jimmy Sànchez, Tiago Barabasz. Open Architecture for Mobile Data Collection Using Cloud Computing. In IEEE 14th International Conference on Mobile Data Management. [Year= 2013, Type= Conference Proceedings]
[S44] Heungsik Eom, Pierre St. Juste, Renato Figueiredo. OpenCL-Based Remote Offloading Framework for Trusted Mobile Cloud Computing. In IEEE International Conference on Parallel and Distributed Systems. [Year = 2013, Type = Conference Proceedings]
[S45] Yong Li, Wei Gao. Code Offload with Least Context Migration in the Mobile Cloud. In IEEE Conference on Computer Communications. [Year = 2015, Type = Conference Proceedings]
[S46] Tolga Soyata, Rajani Muraleedharan, Colin Funai. Cloud-Vision: Realtime Face Recognition Using a Mobile-cloudlet-cloud Acceleration Architecture. In IEEE Symposium on Computers and Communications. [Year=2012, Type=Workshop and Symposium Paper]
[S47] Marwa Ayad, Mohamed Taher, Ashraf Salem. Real-Time Mobile Cloud Computing: A Case Study in Face Recognition. In 28th International Conference on Advanced Information Networking and Applications Workshops. [Year = 2014, Type = Conference Proceedings]
[S48] Vassiliki Koufi, Flora Malamateniou, George Vassilacopoulos. An Android Enabled Mobile Framework for Ubiquitous Access to Cloud Emergency Medical Services. In Second Symposium on Network Cloud Computing and Applications. [Year = 2012, Type = Workshop and Symposium Paper]
[S49] Bin Pan, Xiaofei Wang, Enmin Song. CAMSPF: Cloud-assisted Mobile Service Provision Framework Supporting Personalized User Demands in Pervasive Computing Environment. In 9th International Wireless Communications and Mobile Computing Conference. [Year = 2013, Type = Conference Proceedings]
[S50] Khalid Elgazzar, Patrick Martin, Hossam S. Hassanein. Cloud-Assisted Computation Offloading to Support Mobile Services. In IEEE Transactions on Cloud Computing (TCC). [Year = 2014, Type = Journal Article]
[S51] A. Tzanakaki, M. P. Anastasopoulos, S. Peng. A Converged Network Architecture for Energy Efficient Mobile Cloud Computing. In International Conference on Optical Network Design and Modeling. [Year = 2014, Type = Conference Proceedings]
[S52] Abdalla Artail, Karim Frenn, Haidar Safa. A Framework of Mobile Cloudlet Centers Based on the Use of Mobile Devices as Cloudlets. In IEEE 29th International Conference on Advanced Information Networking and Applications. [Year = 2015, Type = Conference Proceedings]
[S53] Cristian Borcea, Xiaoning Ding, Narain Gehani. Avatar: Mobile Distributed Computing in the Cloud. In 3rd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering. [Year = 2014 Type = Conference Proceedings]
[S54] Khalid Elgazzar, Ali Ejaz, Hossam S Hassanein. AppaaS: Offering Mobile Applications as a Cloud Service. In Journal of Internet Services and Applications. [Year = 2013, Type = Journal Article]
[S55] A. Cuomo, M. Rak, S. Venticinque, U. Villano. Enhancing an Autonomic Cloud Architecture with Mobile Agents. In International Conference on Parallel Processing. [Year = 2012, Type = Conference Proceedings]
[S56] Anne-Laure Jousselme, Kevin Huggins, Nicolas Lèchevin, Patrick Maupin, DominicLarkin. Vulnerability-Aware Architecture for a Tactical, Mobile Cloud. In Complex Networks. [Year = 2013, Type = Book Chapter]
[S57] Javier Miranda, JoaquLìn GuillLèn, Javier Berrocal, Jose Garcia Alonso, Juan Manuel Murillo, Carlos Canal. Architecting Infrastructures for Cloud-Enabled Mobile Devices. In European Conference on Service-Oriented and Cloud Computing. [Year = 2013, Type = Conference Proceedings]
[S58] Jibitesh Mishra, Sanjit Kumar Dash, Sweta Dash. Mobile-Cloud: A Framework of Cloud Computing for Mobile Application. In International Conference on Computer Science and Information Technology. [Year = 2012, Type = Conference Proceedings]
[S59] Dong Bum Seo, In-Yong Jung, Jong Hyuk Park, Chang-Sung Jeong. Ubiquitous Mobile Computing on Cloud Infrastructure. In Advances in Computer Science and its Applications. [Year = 2014, Type = Book Chapter]
[S60] Sohini De, Suddhasil De. Uncoupling of Mobile Cloud Computing Services: An Architectural Perspective. In Intelligent Computing, Networking, and Informatics. [Year = 2014, Type = Book Chapter]
[S61] Nam-Uk Kim, Jung-Ho Eom, Sung-Hwan Kim, Tai-Myoung Chung. The Architecture of User-End Client for Mobile Cloud Service. In International Conference on Hybrid Information Technology. [Year = 2012, Type = Conference Proceedings]
[S62] Soumya Simanta, Grace A. Lewis, Ed Morris. A Reference Architecture for Mobile Code Offload in Hostile Environments. In Joint Working IEEEIFIP Conference on Software Architecture and European Conference on Software Architecture. [Year = 2012, Type = Conference Proceedings]
[S63] Hyeyoung Jeon, SungYul Rhew. Mobile Software Architecture Technique and Application for Using Business Logic and View. In International Conference on Hybrid Information Technology. [Year = 2012, Type = Conference Proceedings]
[S64] Giovanni Merlino, Stamatis Arkoulis, Salvatore Distefano, Chrysa Papagianni, Antonio Puliafito, Symeon Papavassiliou. Mobile Crowd-sensing as a Service: A Platform for Applications on Top of Sensing Clouds. In Future Generation Computer Systems. [Year = 2015, Type = Journal Article]
[S65] Chathura M. Sarathchandra Magurawalage, KunYang, LiangHu, Jianming Zhang. Energy-efficient and Network-aware Offloading Algorithm for Mobile Cloud. In the International Journal of Computer and Telecommunications Networking. [Year = 2014, Type = Journal Article]
[S66] Huber Flores, Satish Narayana Srirama. Mobile Cloud Middleware. In Journal of Systems and Software. [Year = 2014, Type = Journal Article]
[S67] Francisco Rodrigo Duro, Javier Garcia Blas, Daniel Higuero, Oscar Perez, JesusCarretero. CoSMiC: A Hierarchical Cloudlet-based Storage Architecture for Mobile Clouds. In Simulation Modelling Practice and Theory. [Year = 2015, Type = Journal Article]
[S68] David MartÃŋn, Carlos Lamsfus, Aurkene Alzua-Sorzabal. A Cloud-based Platform to Develop Context-aware Mobile Applications by Domain Experts. In Computer Standards & Interface. [Year = 2015, Type = Journal Article]
[S69] Tommi Mikkonen, Arto Salminen. Implementing Mobile Mashware Architecture: Downloadable Components as On-Demand Services. In Procedia Computer Science. [Year = 2012 Type = Journal Article]
[S70] Chunsheng Zhu, Hai Wang, Xiulong Liu. A Novel Sensory Data Processing Framework to Integrate Sensor Networks With Mobile Cloud. In IEEE Systems Journal. [Year = 2016, Type = Journal Article]
[S71] Bowen Zhou, Amir Vahid Dastjerdi. mCloud: A Context-aware Offloading Framework for Heterogeneous Mobile Cloud. In IEEE Transactions on Services Computing. [Year = 2015, Type = Journal Article]
[S72] Gabriel Guerrero-Contreras, Jose Luis Garrido, Sara Balderas-Diaz. A Context-Aware Architecture Supporting Service Availability in Mobile Cloud Computing. In IEEE Transactions on Services Computing. [Year = 2016, Type = Journal Article]
[S73] Richard K. Lomotey, JoAnn Nilson, Kathy Mulder. Mobile Medical Data Synchronization on Cloud-Powered Middleware Platform. In IEEE Transactions on Services Computing. [Year = 2016, Type = Journal Article]
[S74] Mohammad A. Khan, Hillol Debnath, Nafize R. Paiker. Moitree: A Middleware for Cloud-Assisted Mobile Distributed Apps. In 4th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering. [Year = 2016, Type = Conference Proceedings]
[S75] Michael J. OSullivan, Dan Grigoras. Context Aware Mobile Cloud Services: A User Experience Oriented Middleware for Mobile Cloud Computing. In 4th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering. [Year = 2016, Type = Conference Proceedings]
[S76] Liang Tong, Yong Li, Wei Gao. A Hierarchical Edge Cloud Architecture for Mobile Computing. In the 35th Annual IEEE International Conference on Computer Communications. [Year = 2016, Type = Conference Proceedings]
[S77] Tongguang Zhang, Shuai Zhao, Budan Wu. Lightweight SOA-Based Twin Engine Architecture for Enterprise Systems in Fixed and Mobile Environments. In China Communications. [Year = 2013, Type = Journal Article]
[S78] Thinh Le Vinh, Reddy Pallavali, Fatiha Houacine. Energy Efficiency in Mobile Cloud Computing Architectures. In IEEE International Conference on Future Internet of Things and Cloud Workshops. [Year = 2016, Type = Conference Proceedings]
[S79] Richard K. Lomotey, Joseph C. Pry, Sriramoju Sumanth. Using CloudBased Middleware to Enable Mobile Medical Data Management. In IEEE International Conference on Mobile Services. [Year = 2016, Type = Conference Proceedings]
[S80] Gabriel Orsini, Dirk Bade, Winfried Lamersdorf. CloudAware: A Context-adaptive Middleware for Mobile Edge and Cloud Computing Applications. In IEEE International Workshops on Foundations and Applications of Self* Systems. [Year = 2016, Type = Workshop and Symposium Paper]
[S81] Aleksandar Antonic, Kristijan Rozankovic, Martina Marjanovic, Kresimir Pripuzic, Ivana Podnar Zarko. A Mobile Crowd Sensing Ecosystem Enabled by CUPUS: Cloud-based Publish/Subscribe Middleware for Internet of Things. In Future Generation Computer Systems. [Year = 2016, Type = Journal Article]
[S82] Abdullah Yousafzai, Abdullah Gani, Rafidah Md Noor, Anjum Naveed, Raja Wasim Ahmad, Victor Chang. Computational Offloading Mechanism for Native and Android Runtime Based Mobile Applications. In Journal of Systems and Software. [Year = 2016, Type = Journal Article]
[S83] Keke Gai, Meikang Qiu, Hui Zhao, Lixin Tao, Ziliang Zong. Dynamic Energy-aware Cloudlet-based Mobile Cloud Computing Model for Green Computing. In Journal of Network and Computer Applications. [Year = 2016, Type = Journal Article]
[S84] Giovanni Merlino, Stamatios Arkoulis, Salvatore Distefano, Chrysa A. Papagianni, Antonio Puliafito, Symeon Papavassiliou. Mobile Crowd sensing as a Service: A Platform for Applications on Top of Sensing Clouds. In Future Generation Computer Systems. [Year = 2016, Type = Journal Article]
[S85] Valeria Cardellini, Vittoria De Nitto Persone, Valerio Di Valerio, Francisco Facchinei, Vincenzo Grassi, Francesco Lo Presti, Veronica Piccialli. A Game-theoretic Approach to Computation Offloading in Mobile Cloud Computing. In Mathematical Programming. [Year = 2016, Type = Journal Article]
[S86] William Tärneberg, Amardeep Mehta, Eddie Wadbro, Johan Tordsson, Johan Eker, Maria Kihl, Erik Elmroth. Dynamic application placement in the Mobile Cloud Network. In Future Generation Computer Systems. [Year = 2017, Type = Journal Article]
[S87] Hassan Raei, Nasser Yazdani. Performability Analysis of Cloudlet in Mobile Cloud Computing. In Information Sciences. [Year = 2017, Type = Journal Article]
[S88] Suleman Khan, Muhammad Shiraz, Laleh Boroumand, Abdullah Gani. Towards port-knocking authentication methods for mobile cloud computing. In Journal of Network and Computer Applications. [Year = 2017, Type = Journal Article]
[S89] Majdi Rawashdeh, Awny Alnusair. Models for Multimedia Mobile Cloud in Smart Cities. In Multimedia Systems. [Year = 2017, Type = Journal Article]
[S90] Majdi Rawashdeh, Awny Alnusair, Nasser Mustafa, Mahmoud Migdadi, MULTIMEDIA MOBILE CLOUD COMPUTING: APPLICATION MODELS FORPERFORMANCE ENHANCEMENT. In 2016 IEEE International Conference on Multimedia & Expo Workshops. [Year = 2017, Type = Conference Proceedings]
[S91] Venkatraman Balasubramanian, Ahmed Karmouch. An Infrastructure as a Service for Mobile Ad-hoc Cloud. In Computing and Communication Workshop and Conference. [Year = 2017, Type = Workshop and Symposium Paper]
[S92] Vikas S. Shah. Deterministic Consumer Applications Enabled Policy Architecture of Mobile Edge Computing Ecosystem. In Computing and Communication Workshop and Conference. [Year = 2017, Type = Workshop and Symposium Paper]
[S93] Daniela Mazza, Daniele Tarchi, and Giovanni E. Corazza. A Unified Urban Mobile Cloud Computing Offloading Mechanism for Smart Cities. In IEEE Communications Magazine. [Year = 2017, Type = Journal Article]
[S94] Awais Ahmad, Anand Paul, Muard Khan, Sohail Jabbar, Muhammad Mazhar Ullah Rathore, Naveen Chilamkurti. Energy Efficient Hierarchical Resource Management for Mobile Cloud Computing. In IEEE Transactions on Sustainable Computing. [Year = 2017, Type = Journal Article]
[S95] Abdul Razaque, Syed S. Rizvi, Meer J. Khan, Qassim B. Hani, Julius P. Dichter, Reza M. Parizi. Secure and Quality-of-service-supported Service-oriented Architecture for Mobile Cloud Handoff process. In Computers & Security. [Year = 2017, Type = Journal Article]
[S96] Gabriel Orsini, Dirk Bade, Winfried Lamersdorf. CloudAware: Empowering context-aware self-adaptation for mobile applications. In Transactions on Emerging Telecommunications Technologies. [Year = 2017, Type = Journal Article]
[S97] Meikang Qiu, Zhi Chen, Zhong Ming, Xiao Qin, Jianwei Niu. Energy Aware Data Allocation with Hybrid Memory for Mobile Cloud Systems. In IEEE Systems Journal. [Year = 2017, Type = Journal Article]
[S98] P. Venkata Krishna, Sudip Misra, V. Saritha, Dasari Naga Raju, Mohammad S. Obaidat. An Efficient Learning Automata based Task offloading in Mobile Cloud Computing Environments. In 2017 IEEE International Conference on Communications (ICC). [Year = 2017, Type = Conference Proceedings]
[S99] Samuel J. Chinenyeze, Xiaodong Liu, Ahmed Al-Dubai. BEFTIGRE: Behaviour-driven full-tier Green Evaluation of Mobile Cloud Applications. In Journal of Software: Evolution and Process. [Year = 2017, Type = Journal Article]
[S100] C. Rossi, M. H. Heyi, F. Scullino. A Service Oriented Cloud-based Architecture for Mobile Geolocated Emergency Services. In Concurrency and Computation: Practice and Experience. [Year = 2017, Type = Journal Article]
[S101] Yibin Li, Min Chen, Wenyun Dai, Meikang Qiu. Energy Optimization with Dynamic Task Scheduling Mobile Cloud Computing. In IEEE Systems Journal. [Year = 2017, Type = Journal Article]
[S102] Raffaele Gravina, Congcong Ma, Pasquale Pace, Gianluca Aloi, Wilma Russo, Wenfeng Li, Giancarlo Fortinob. Cloud-based Activity-aaService cyber-physical Framework for Human Activity Monitoring in Mobility. In Future Generation Computer Systems. [Year = 2017, Type = Journal Article]
[S103] M. Chen and Y. Hao, Task Offloading for Mobile Edge Computing in Software Defined Ultra-Dense Network. In IEEE Journal on Selected Areas in Communications [Year = 2018, Type = Journal]
[S104] Wang, Kai and Yin, Hao and Quan, Wei and Min, Geyong. Enabling Collaborative Edge Computing for Software Defined Vehicular Networks. IEEE Network. [Year = 2018, Type = Journal]
[S105] Aazam, Mohammad and Zeadally, Sherali and Harras, Khaled A. Fog Computing Architecture, Evaluation, and Future Research Directions In IEEE Communications Magazine. [Year = 2018, Type = Journal]
[S106] Cai, Hongming and Gu, Yizhi and Vasilakos, Athanasios V and Xu, Boyi and Zhou, Jun. Model-driven Development Patterns for Mobile Service in Cloud of Things. In IEEE Transactions on Cloud Computing. [Year = 2018, Type = Journal]
[S107] Bing Lin, Fangning Zhu, Jianshan Zhang, Jiaqing Chen, Xing Chen, Naixue N. Xiong, Jaime Lloret Mauri. A Time-Driven Data Placement Strategy for a Scientific Workflow Combining Edge Computing and Cloud Computing. In IEEE Transactions on Industrial Informatics. [Year = 2019, Type = Journal]
[S108] Kaur, Kuljeet and Garg, Sahil and Aujla, Gagangeet Singh and Kumar, Neeraj and Rodrigues, Joel JPC and Guizani, Mohsen Edge Computing in the Industrial Internet of Things Environment: Software-Defined-Networks-Based Edge Cloud Interplay. In IEEE Communications Magazine. [Year = 2018, Type = Journal]
[S109] Zhang, Weiwen and Wen, Yonggang and Zhang, Xinwen Towards Virus Scanning as a Service in Mobile Cloud Computing: Energy-Efficient Dispatching Policy Under N-Version Protection. In IEEE Transactions on Emerging Topics in Computing. [Year = 2018, Type = Journal]
[S110] Mouradian, Carla and Yangui, Sami and Glitho, Roch H. Robots as-aservice in Cloud Computing: Search and Rescue in Large-scale Disasters Case Study. In 15th IEEE Annual Consumer Communications & Networking Conference (CCNC). [Year = 2018, Type = Conference]
[S111] Enayet, Asma and Razzaque, Md Abdur and Hassan, Mohammad Mehedi and Alamri, Atif and Fortino, Giancarlo. A Mobility-aware Optimal Resource Allocation Architecture for Big Data Task Execution on Mobile Cloud in Smart Cities. In IEEE Communications Magazine. [Year = 2018, Type = Journal]
[S112] Stergiou, Christos and Psannis, Kostas E and Kim, Byung-Gyu and Gupta, Brij. Secure Integration of IoT and Cloud Computing. In Future Generation Computer Systems. [Year = 2018, Type = Journal]
[S113] Gai, Keke and Qiu, Meikang and Zhao, Hui. Energy-aware Task Assignment for Mobile Cyber-enabled Applications in Heterogeneous Cloud Computing. In Journal of Parallel and Distributed Computing. [Year = 2018, Type = Journal]
[S114] Alam, Md Golam Rabiul and Hassan, Mohammad Mehedi and Uddin, Md Zia and Almogren, Ahmad and Fortino, Giancarlo. Autonomic Computation Offloading in Mobile Edge for IoT Applications. In Future Generation Computer Systems. [Year = 2019, Type = Journal]
[S115] Lyu, Xinchen and Tian, Hui and Jiang, Li and Vinel, Alexey and Maharjan, Sabita and Gjessing, Stein and Zhang, Yan. Selective Offloading in Mobile Edge Computing for the Green Internet of Things. In IEEE Network. [Year = 2018 Type = Journal]
[S116] Tsakos, Konstantinos and Petrakis, Euripides GM. Service Oriented Architecture for Interconnecting LoRa Devices with the Cloud. In International Conference on Advanced Information Networking and Applications. [Year = 2019, Type = Conference]
[S117] Myrizakis, George and Petrakis, Euripides GM. iHome: Smart Home Management as a Service in the Cloud and the Fog. In International Conference on Advanced Information Networking and Applications. [Year = 2019, Type = Conference]
[S118] Almajali, Sufyan and Dhiah el Diehn, I and Salameh, Haythem Bany and Ayyash, Moussa and Elgala, Hany. A Distributed Multi-layer MEC-cloud Architecture for Processing Large scale IoT-based Multimedia Applications. In Multimedia Tools and Applications. [Year = 2018, Type = Journal]
[S119] Kim, Seokhoon and Kim, Dae-Young and Park, Jong Hyuk. Traffic Management in the Mobile Edge Cloud to Improve the Quality of Experience of Mobile Video. In Computer Communications. [Year = 2018, Type = Journal]
[S120] Udendhran, R and Muthuramlingam, K. An Effective Framework to Enhance Intelligent Transport Systems using Cloud Computing. In 2018 International Conference on Current Trends towards Converging Technologies (ICCTCT). [Year = 2018, Type = Conference]
[S121] Navaz, Alramzana Nujum and Serhani, Mohamed Adel and Al-Qirim, Nabeel and Gergely, Marton. Towards an Efficient and Energy-Aware Mobile Big Health Data Architecture. In Computer Methods and Programs in Biomedicine. [Year = 2018, Type = Journal]

Appendix B. Selection and Qualitative Analysis of Studies for SMS

Collecting Data for the Study

After the planning phase, we now discuss about collecting data for the study that comprises of the following two steps.
  • Step I—Identify the Primary Studies Based on the RQs
    Based on the RQs, we search and select the relevant studies (peer-reviewed) published research to collect and synthesize the data. The RQs helped us to formulate the search string as illustrated in Figure A1.
    Figure A1. Overview of the literature search process (identify primary studies).
    Figure A1. Overview of the literature search process (identify primary studies).
    Futureinternet 11 00238 g0a1
    Based on a multi-step search process as highlighted in Figure A1, the search string resulted in 9678 hits (searched in July 2019) as potentially relevant studies for the review. As per the guidelines to conduct the mapping studies [15], we used six digital libraries/database to search the literature including IEEE Xplore, ACM DL, Springer Link, Science Direct, Scopus, and Google Scholar. However, based on analyzing the study titles, a significant number of these studies proved irrelevant to the outlined RQs and were eliminated for any further processing.
    Based on the guidelines in [20], the terms in Figure A1 such as hits, retrieved, screened, and included are standard terms for literature search. These terms refer to identifying, analyzing, and selecting the most relevant literature/studies for data collection. After the study screening and qualitative assessment of the extracted studies, finally, a total of 121 studies—covering more than a decade of published research (2006 to 2019)—were included in the data collection process to synthesize the results for the SMS.
  • Step II—Assess the Relevance and Quality
    The last step in the selection of the primary studies relates to the assessment of the relevance and quality of the primary studies, also referred to as screening, and qualitative assessment in Table A1. More specifically, the qualitative assessment criteria in Table A1 helps us to include or exclude the studies for SMS. The quality assessment checklist in Table A1 is complemented by the formula to compute the quality of the individual studies, as given below. The quality assessment criteria (QAC) represents five factors as assessment criteria, providing a maximum score of 1. The list of 121 selected studies that are included in the SMS is presented in Appendix A.
    Quality Assessment Criteria = (QAC1 + QAC2 + QAC3 + QAC4 + QAC5)/5
Table A1. Summary of the study selection process.
Table A1. Summary of the study selection process.
Step I – Study Screening
Is the study in English language?YES or NO
Is the study a scientific peer-reviewed published research?
Is the study not a secondary study?
Is the study not a book?
Is the study not focused on software architecture for mobile cloud computing systems?
If [YES] to all four criteria then go to Step II, otherwise exclude study
Step II – Qualitative Assessment of Studies
Quality Assessment Criteria (QAC)YES = 0
PARTIAL = 0.5
NO = 0
QAC1: Contribution: Are problem definition and proposed solution presented?
QAC2: Context: Is the environment/context of the study properly explained?
QAC3: Methodology: Is the research methodology clearly stated?
QAC4: Evaluation: Are the contributions of the study properly evaluated?
QAC5: Synthesis: Are the limitations and future research explicitly mentioned?

References

  1. Dinh, H.T.; Lee, C.; Niyato, D.; Wang, P. A survey of mobile cloud computing: Architecture, applications, and approaches. Wirel. Commun. Mob. Comput. 2013, 13, 1587–1611. [Google Scholar] [CrossRef]
  2. Noor, T.H.; Zeadally, S.; Alfazi, A.; Sheng, Q.Z. Mobile cloud computing: Challenges and future research directions. J. Netw. Comput. Appl. 2018, 115, 70–85. [Google Scholar] [CrossRef]
  3. Lewis, G.A.; Lago, P.; Procaccianti, G. Architecture strategies for cyber-foraging: Preliminary results from a systematic literature review. In European Conference on Software Architecture; Springer: Cham, Switzerland, 2014; pp. 154–169. [Google Scholar]
  4. Kwon, Y.-W.; Tilevich, E. Facilitating the implementation of adaptive cloud offloading to improve the energy efficiency of mobile applications. In Proceedings of the 2015 2nd International Conference on Mobile Software Engineering and Systems, Florence, Italy, 16–17 May 2015; pp. 94–104. [Google Scholar]
  5. Mell, P.; Grance, T. The Nist Definition of Cloud Computing. Available online: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf (accessed on 12 November 2019).
  6. Elgazzar, K.; Martin, P.; Hassanein, H.S. Cloud-assisted computation offloading to support mobile services. IEEE Trans. Cloud Comput. 2016, 4, 279–292. [Google Scholar] [CrossRef]
  7. Taleb, T.; Dutta, S.; Ksentini, A.; Iqbal, M.; Flinck, H. Mobile edge computing potential in making cities smarter. IEEE Commun. Mag. 2017, 55, 38–43. [Google Scholar] [CrossRef]
  8. Schmerl, B.; Garlan, D. Acmestudio: Supporting style-centered architecture development. In Proceedings of the 26th International Conference on Software Engineering, Edinburgh, UK, 23–28 May 2004; IEEE Computer Society: Washington, DC, USA, 2004; pp. 704–705. [Google Scholar]
  9. Medvidovic, N.; Taylor, R.N. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 2000, 26, 70–93. [Google Scholar] [CrossRef]
  10. Lewis, G.; Novakouski, M.; Sánchez, E. A reference architecture for group-context-aware mobile applications. In International Conference on Mobile Computing, Applications, and Services; Springer: Berlin/Heidelberg, Germany, 2012; pp. 44–63. [Google Scholar]
  11. Soyata, T.; Muraleedharan, R.; Funai, C.; Kwon, M.; Heinzelman, W. Cloud-vision: Real-time face recognition using a mobile-cloudlet cloud acceleration architecture. In Proceedings of the 2012 IEEE Symposium on Computers and Communications, Cappadocia, Turkey, 1–4 July 2012; pp. 000059–000066. [Google Scholar]
  12. Yuan, B.; Herbert, J. A cloud-based mobile data analytics framework: Case study of activity recognition using smartphone. In Proceedings of the 2014 2nd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering, Oxford, UK, 8–11 April 2014; pp. 220–227. [Google Scholar]
  13. Kovachev, D.; Cao, Y.; Klamma, R. Mobile cloud computing: A comparison of application models. arXiv 2011, arXiv:1107.4940. [Google Scholar]
  14. Brereton, P.; Kitchenham, B.A.; Budgen, D.; Turner, M.; Khalil, M. Lessons from applying the systematic literature review process within the software engineering domain. J. Syst. Softw. 2007, 80, 571–583. [Google Scholar] [CrossRef]
  15. Petersen, K.; Feldt, R.; Mujtaba, S.; Mattsson, M. Systematic Mapping Studies in Software Engineering. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, Bari, Italy, 26–27 June 2008; Volume 8, pp. 68–77. [Google Scholar]
  16. GSMA Intelligence. Definitive Data and Analysis for the Mobile Industry. Available online: https://www.gsma.com/services/wp-content/uploads/2019/06/GSMAIntelligence_Product_Brochure_2019.pdf (accessed on 12 November 2019).
  17. Satyanarayanan, M. Mobile computing: The next decade. In Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond, San Francisco, CA, USA, 15–18 June 2010; p. 5. [Google Scholar]
  18. Sajjad, M.; Abbasi, A.A.; Malik, A.; Altamimi, A.B.; Alseadoon, I.M. Classification and mapping of adaptive security for mobile computing. In IEEE Transactions on Emerging Topics in Computing; IEEE: Washington, DC, USA, 2018. [Google Scholar]
  19. France, R.; Rumpe, B. Model-driven development of complex software: A research roadmap. In Future of Software Engineering; IEEE Computer Society: Washington, DC, USA, 2007; pp. 37–54. [Google Scholar]
  20. Rahimi, M.R.; Ren, J.; Liu, C.H.; Vasilakos, A.V.; Venkatasubramanian, N. Mobile cloud computing: A survey, state of art and future directions. Mob. Netw. Appl. 2014, 19, 133–143. [Google Scholar] [CrossRef]
  21. Abolfazli, S.; Sanaei, Z.; Sanaei, M.; Shojafar, M.; Gani, A. Mobile cloud computing: The-state-of-the-art, challenges, and future research. In Encyclopedia of Cloud Computing; Wiley: Hoboken, NJ, USA, 2015. [Google Scholar]
  22. Fernando, N.; Loke, S.W.; Rahayu, W. Mobile cloud computing: A survey. Future Gener. Comput. Syst. 2013, 29, 84–106. [Google Scholar] [CrossRef]
  23. Aminzadeh, N.; Sanaei, Z.; Ab Hamid, S.H. Mobile storage augmentation in mobile cloud computing: Taxonomy, approaches, and open issues. Simul. Model. Pract. Theory 2015, 50, 96–108. [Google Scholar] [CrossRef]
  24. Khan, A.N.; Kiah, M.M.; Khan, S.U.; Madani, S.A. Towards secure mobile cloud computing: A survey. Future Gener. Comput. Syst. 2013, 29, 1278–1299. [Google Scholar] [CrossRef]
  25. Ahmad, A.; Tamimi, A.; Saeed, N.; Hamayun, M.; Fraz, M. Research Protocol of Software Architecture for Mobile Cloud Systems: A Mapping Study; Technical Report; College of Computer Science and Engineering, University of Ha’il: Ha’il, Saudi Arabia, 2017. [Google Scholar]
  26. Boyatzis, R.E. Transforming Qualitative Information: Thematic Analysis and Code Development; SAGE: Thousand Oaks, CA, USA, 1998. [Google Scholar]
  27. Chen, K.-Z. Integration of design method software for concurrent engineering using axiomatic design. Integr. Manuf. Syst. 1998, 9, 242–252. [Google Scholar] [CrossRef]
  28. Buschmann, F.; Henney, K.; Schimdt, D. Pattern-Oriented Software Architecture: On Patterns and Pattern Language; John Wiley & Sons: Hoboken, NJ, USA, 2007; Volume 5. [Google Scholar]
  29. Pahl, C.; Giesecke, S.; Hasselbring, W. Ontology-based modelling of architectural styles. Inf. Softw. Technol. 2009, 51, 1739–1749. [Google Scholar] [CrossRef]
  30. Harrison, N.B.; Avgeriou, P.; Zdun, U. Using patterns to capture architectural decisions. IEEE Softw. 2007, 24, 38–45. [Google Scholar] [CrossRef] [Green Version]
  31. Svahnberg, M.; Wohlin, C.; Lundberg, L.; Mattsson, M. A method for understanding quality attributes in software architecture structures. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, Ischia Island, Italy, 15–19 July 2002; ACM: New York, NY, USA, 2002; pp. 819–826. [Google Scholar]
  32. Ahmad, A.; Alseadoon, I.; Alkhalil, A.; Sultan, K. A Framework for the Evolution of Legacy Software towards Context-aware and Portable Mobile Computing Applications. In Proceedings of the International Conference on Software Engineering Research and Practice (SERP), Las Vegas, NV, USA, 29 July–1 August 2019; pp. 3–9. [Google Scholar]
  33. Evans, D. The Internet of Things: How the Next Evolution of the Internet is Changing Everything. Available online: https://pdfs.semanticscholar.org/e434/2d4687233ae12aa689407f97502d87a9f27b.pdf?_ga=2.6056051.1184386924.1573532264-231942018.1567670099 (accessed on 12 November 2019).
Figure 1. Overview of software architecture for mobile cloud computing (MCC) systems, (a) Layered architecture view; (b) Component and connector view.
Figure 1. Overview of software architecture for mobile cloud computing (MCC) systems, (a) Layered architecture view; (b) Component and connector view.
Futureinternet 11 00238 g001
Figure 2. Overview of the research methodology to conduct the mapping study.
Figure 2. Overview of the research methodology to conduct the mapping study.
Futureinternet 11 00238 g002
Figure 3. An overview of the frequency and type of publications.
Figure 3. An overview of the frequency and type of publications.
Futureinternet 11 00238 g003
Figure 4. Classification of the research themes on software architecture for MCC.
Figure 4. Classification of the research themes on software architecture for MCC.
Futureinternet 11 00238 g004
Figure 5. Systematic mapping of the research themes on software architecture for MCC.
Figure 5. Systematic mapping of the research themes on software architecture for MCC.
Futureinternet 11 00238 g005
Figure 6. Overview of the identified architectural patterns for MCC systems.
Figure 6. Overview of the identified architectural patterns for MCC systems.
Futureinternet 11 00238 g006
Figure 7. Overview of the research progression—three phases of research.
Figure 7. Overview of the research progression—three phases of research.
Futureinternet 11 00238 g007
Figure 8. Quality attributes for mobile- and cloud-based systems.
Figure 8. Quality attributes for mobile- and cloud-based systems.
Futureinternet 11 00238 g008
Table 1. Overview of challenges and architectural solutions for MCC systems.
Table 1. Overview of challenges and architectural solutions for MCC systems.
Primary Challenge I - Provisioning Software as a Service for Mobile Computing (SaaS for Mobile)
Problem ViewSoftware Architecture Solution
Sub-challenge A: Supporting Enterprise Software Services for Mobile Computing
Challenge: How to provide the enterprise software as dynamically composable services that can be discovered and consumed by mobile devices.Solution: Model and automate the enterprise processes as software services that are deployed (published) over cloud-based servers and executed on (subscribed by) mobile devices to support portable enterprise software.
Related Studies [S1, S24, S60, S66, S69]
Sub-challenge B: Provisioning of Recommendation as a Services for Mobile Computing (RaaS for Mobile)
Challenge: How to exploit the portability and context-awareness of mobile devices to support portable and context-aware recommendation services.Solution: Context-aware and location-sensitive mobile services are published by the services providers that are subscribed and consumed by service requester—following publish–subscribe mechanism.
Related Studies [S12, S31, S34, S38, S49, S54, S57]
Reference Architecture
Futureinternet 11 00238 i001
Reference Architecture of SaaS for Mobile Computing
Primary Challenge II - Supporting Mobile Data Offloading to Cloud-based Servers
Sub-challenge A: Achieving Computational Efficiency for Mobile Devices
Challenge: How to achieve computational efficiency while maintaining the portability and performance of a resource- constrained mobile device.Solution: Computationally intensive data is offloaded to the cloud server that performs all the complex computations to provide the results to the mobile device.
Related Studies [S2, S3, S5, S8, S11, S13, S15, S16, S17, S19, S21, S23, S25, S26, S27]
Sub-challenge B: Supporting Energy Efficiency for Mobile devices
Challenge: How to optimize the energy efficiency (prolonging the life of charged battery) of a mobile device.Solution: Adaptive offloading of data and computation from mobile device to cloud-based server—by monitoring and estimating energy consumption—to optimize the energy efficiency of mobile device.
Related Studies [S4, S30, S41, S51, S65]
Sub-challenge C: Supporting Storage Efficiency and Cloud Analytics for Mobile Device Data
Challenge: How to utilize a mobile device for sensing contextual data and information and perform analysis of the collected data.Solution: A layered architecture where the mobile device acts as context-aware and portable front-end technology for sensing the data, whereas cloud computing acts as a resourceful back-end server for data storage and analytics.
Related Studies [S7, S10, S33, S42, S43, S46, S47, S53, S64, S67]
Reference Architecture
Futureinternet 11 00238 i002
Reference Architecture of Mobile to Cloud Data Offloading
Primary Challenge III: Supporting Privacy and Security of Mobile Data
Sub-challenge I: Supporting Security of Mobile Device Data
Challenge: How to leverage the cloud computing resources to enable security of the mobile device data. Solution: Security as a service for data between mobile device and cloud-based servers.
Related Studies [S14, S18, S39]
Reference Architecture
Futureinternet 11 00238 i003
Reference Architecture of Security as a Service for Mobile Cloud Computing
Primary Challenges IV: Architecting Internet of Things, Edge, and Fog Computing Systems
Sub-challenge A: Enabling Mobile Cloud-based Internet of Things
Challenge: How to develop context-sensitive and resource sufficient network of interconnected mobile devices.Solutions: Mobile devices can be considered as context-sensitive (computation and storage intensive) interconnected things that communicate and process data via a central cloud-based server.
Related Research [S106, S110, S112, S114, S120]
Sub-challenge B: Supporting Mobile Edge and Fog Computing
Challenge: How to enable the processing of data at the edge of a network.Solutions: Interconnected mobile devices as computation nodes can generate and process data closer to data usage without the needs for transmitting data to the central processor at a remote location in the network. Fog computing standardizes the operationalization of the edge computing.
Related Research – Edge Computing [S103, S104, S107, S108, S115, S118, S119]
Related Research – Fog Computing [S105, S117]
Reference Architecture
Futureinternet 11 00238 i004
Reference Architecture for Mobile-based IoTs.
Table 2. Template-based representation of the adaptive offloading pattern.
Table 2. Template-based representation of the adaptive offloading pattern.
Pattern I - Adaptive Offloading
1. Pattern Intent: To enable a mobile device to dynamically determine what, how and where to offload its data to enhance efficiency of mobile computing.
2. Design Problem: How to enable a (resource-constrained) mobile device to delegate its memory and computational-intensive data and tasks to (resource-sufficient) computers.
3. Solution: Integrate the off-loading logic between Mobile Computing and Cloud Computing Layers. Such an integrated logic enables a mobile device to exploit dynamic parameters—such as energy efficiency, computational overhead, and storage requirements—to determine and offload data and tasks to cloud computing servers.
4. Architecture Elements: Mobile Computing Layer with (resource-constrained) mobile devices and Cloud Computing Layer (resource sufficient) server are integrated with offloading knowledge.
5. Reuse Design Knowledge: Integration of offloading logic/knowledge to delegate mobile computing data and tasks to cloud-based servers.
6. Quality Characteristics:
- Elasticity of cloud services (acquiring and releasing resources) based on dynamically determined offloading.
- QoS-driven Offloading to ensure that dynamic parameters such as energy, storage, and computational efficiency.
7. Reference Diagram:Figure 6a Pattern Instantiation represents a concrete instance of the abstract pattern representation in Figure 6a Pattern Abstraction.
Specifically, Figure 6a Pattern Abstraction illustrates a scenario of pattern application where mobiles devices are used as portable computers to capture contextual images that needs analytics and processing to gather information as detailed in [S46]. The image processing must be delegated to the cloud servers that have image databases to match and process the image. The offloading logic is integrated between the mobile device and cloud server to enable a mobile device to selectively and dynamically offload the images to the appropriate cloud-based server based on energy, computational, or storage eefficiency.
Table 3. Template-based representation of the mobile cloudlet pattern.
Table 3. Template-based representation of the mobile cloudlet pattern.
Pattern II - Mobile Cloudlets
1. Pattern Intent: To enable a mobile device in a hostile environment to frequently offload data to servers that are in close proximity of mobile devices that they serve.
2. Design Problem: How to minimize the offloading latency (on remote server) to a single-hop network while maximizing the performance and QoS for mobile computing tasks.
3. Solution: The proposed architecture integrates an intermediate layer (based on localized cloud known as cloudlets) between the enterprise cloud and the mobile device. The solution assumes that connectivity to the main cloud (enterprise) cloud is either not reliable or commonly unavailable.
4. Reference Diagram: As illustrated in Figure 6b, this architecture inserts an intermediate layer between the central core (i.e., enterprise cloud) and the mobile devices. At the edges of this architecture are offload elements for mobile devices. These elements, or cloudlets, are dispersed and located close to the mobile devices they serve.
Table 4. Template-based representation of mobile sensing and cloud analytics pattern.
Table 4. Template-based representation of mobile sensing and cloud analytics pattern.
Pattern III - Context Sensing
1. Pattern Intent: To exploit the context-sensitive mobile device to capture contextual data that is sent to the cloud-server for data processing and analytics.
2. Design Problem: How to gather the contextual information that can be processed and analyzed to perform decisions.
3. Solution: The proposed architecture presents a two-layered architecture, namely the mobile sensing and cloud analytics layer. Specifically, the mobile layers enable the capturing of the contextual information (e.g., environmental condition, trafficc congestion) and send it to the cloud-based server. The cloud server runs the algorithms to analyze data and provide decision support on processed data. Mobile sensing and cloud analytics represent a typical example of front-end mobile devices that can offload computation-intensive tasks to backend server. Specifically, the mobile sensing layer exploits context-sensitive mobile devices as portable user interface to sense the contextual information such as traffic conditions, environment, and crowd-sensing. The contextual information is stored, processed, and analyzed at the back-end cloud server.
4. Reference Diagram: As illustrated in Figure 6c. This architecture aims to exploit the mobile device as a front-end interface to capture the contextual data and information on the go. The captured data are analyzed on the cloud-based server to alleviate the resource poverty of a mobile device.
Table 5. Template-based representation of mobile-driven internet of things.
Table 5. Template-based representation of mobile-driven internet of things.
Pattern IV – Mobility-driven Internet of Things
1. Pattern Intent: To exploit portable and context-sensitive mobile devices as computation and memory-based things to support interconnect things
2. Design Problem: How to interconnect and manage mobile devices as interconnected things in internet of things architecture.
3. Solution: The proposed architecture provides a cloud-based server as a mediator that is responsible for managing all the communication along with computation and memory-intensive tasks that are offloaded form interconnected things (mobile devices). Mobile devices interact with each other via the central cloud in the internet of things architecture.
4. Reference Diagram: As illustrated in Figure 6d, mobile devices and sensors of interconnected things such as heterogeneous (front-end) are managed and operationalized by the central (back-end) cloud.

Share and Cite

MDPI and ACS Style

Alreshidi, A.; Ahmad, A.; B. Altamimi, A.; Sultan, K.; Mehmood, R. Software Architecture for Mobile Cloud Computing Systems. Future Internet 2019, 11, 238. https://doi.org/10.3390/fi11110238

AMA Style

Alreshidi A, Ahmad A, B. Altamimi A, Sultan K, Mehmood R. Software Architecture for Mobile Cloud Computing Systems. Future Internet. 2019; 11(11):238. https://doi.org/10.3390/fi11110238

Chicago/Turabian Style

Alreshidi, Abdulrahman, Aakash Ahmad, Ahmed B. Altamimi, Khalid Sultan, and Rashid Mehmood. 2019. "Software Architecture for Mobile Cloud Computing Systems" Future Internet 11, no. 11: 238. https://doi.org/10.3390/fi11110238

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop