# Software Architecture for Mobile Cloud Computing Systems
## 7 Past and Emerging Trends of Research on Architecting Mobile Cloud Software
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. \\ \hline
**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. \begin{table}
\begin{tabular}{p{227.6 pt}} \hline \hline
**Pattern II - Mobile Cloudlets** \\ \hline
**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. \\ \hline
**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. \\ \hline
**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. \\ \hline
**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. \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Template-based representation of the mobile cloudlet pattern. 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.