My PhD research was in the area of service allocation in mobile cloud computing. In this post I want to write about mobile cloud computing and my research problems. let's start with mobile computing!
As you know, mobile computing is expanding beyond the traditional approach on voice and data delivery to encompass new classes of rich mobile applications and technologies such as location based services, mobile social networks, crowd computing, sensory based applications and wearable technologies to name a few. These classes of mobile applications and technologies have quantitative and qualitative criteria of growing importance like efficiency and performance, scalability, privacy and reliability. Due to the resource limitation of mobile devices, cloud computing could be a good potential candidate to solve these problems.
Cloud computing could be simply defined as a style of scalable and elastic computing and storing where IT-related capabilities are provided “as a service” to external customers using Internet. It could provide computation, software, and storage services that do not require end-user knowledge of the physical location and system configuration and maintenance.
Fig. 1 shows service model in cloud computing environment. 3 main different service layers could be seen in this stack. The first one is the Software as a Service (SaaS) which provides end users access to the apps like Gmail, Facebook, Microsoft Office 365. The second layer is the Platform as a Service (PaaS) which provides API and programming environments for the application developers. The last layer is the Infrastructure as a Service (IaaS). It provides computation and storage facilities through virtualization technology.
Mobile Cloud Computing (MCC) could be simply viewed as using cloud services to empower mobile applications. Fig. 2 shows the general ecosystem of MCC and some of its important residents. In MCC public cloud providers serve scalable and elastic high computation and storage facilities which could be accesses anywhere, anytime. They have distributed data centers in whole world like Amazon, Google App Engine, etc. We also could see local and private cloud providers. They are not scalable and elastic but could provide high QoS services like, data privacy and security, real time services like in games or video streaming, etc. Content and service providers are providing usable services and data contents for the end mobile users like news, videos, email, games, etc. Network providers provide the network infrastructures (wired or wireless) which all MCC components could communicate with each other. Finally the last players are smart-devices and sensors like tablets, traffic cameras and sensors or wearables.
As you know, mobile computing is expanding beyond the traditional approach on voice and data delivery to encompass new classes of rich mobile applications and technologies such as location based services, mobile social networks, crowd computing, sensory based applications and wearable technologies to name a few. These classes of mobile applications and technologies have quantitative and qualitative criteria of growing importance like efficiency and performance, scalability, privacy and reliability. Due to the resource limitation of mobile devices, cloud computing could be a good potential candidate to solve these problems.
Cloud computing could be simply defined as a style of scalable and elastic computing and storing where IT-related capabilities are provided “as a service” to external customers using Internet. It could provide computation, software, and storage services that do not require end-user knowledge of the physical location and system configuration and maintenance.
Fig 1: Cloud Computing Service Model [1] |
Mobile Cloud Computing (MCC) could be simply viewed as using cloud services to empower mobile applications. Fig. 2 shows the general ecosystem of MCC and some of its important residents. In MCC public cloud providers serve scalable and elastic high computation and storage facilities which could be accesses anywhere, anytime. They have distributed data centers in whole world like Amazon, Google App Engine, etc. We also could see local and private cloud providers. They are not scalable and elastic but could provide high QoS services like, data privacy and security, real time services like in games or video streaming, etc. Content and service providers are providing usable services and data contents for the end mobile users like news, videos, email, games, etc. Network providers provide the network infrastructures (wired or wireless) which all MCC components could communicate with each other. Finally the last players are smart-devices and sensors like tablets, traffic cameras and sensors or wearables.
Fig. 2: Mobile Cloud Computing Ecosystem [1] |
System modeling and problem formulation:
The main problem that I focused on, was to optimally assign services to mobile users based on their mobility patterns and service requests. The service could be multimedia streaming, voice recognition or everything as a service (XaaS). I mainly focused on power consumption on mobile device, delay and price of the service as the main criteria for optimization. In the modeling part I designed and developed a unique framework borrowed from Service Oriented Computing (SOC) called location-time workflow (LTW). LTW captures a mobile user service usage pattern and his mobility. I used LTW for modeling two different classes of mobile applications: One is single user mobile apps (like OCR or signal processing applications) and the other class is social and collaborative mobile applications (like multimedia file sharing and editing). For each class different utility functions were defined which model single mobile users’ performance or group performance. This leads us into two main different optimization problems which are NP-Hard. I proposed heuristics to optimally solve the mentioned service allocation problems.
The main problem that I focused on, was to optimally assign services to mobile users based on their mobility patterns and service requests. The service could be multimedia streaming, voice recognition or everything as a service (XaaS). I mainly focused on power consumption on mobile device, delay and price of the service as the main criteria for optimization. In the modeling part I designed and developed a unique framework borrowed from Service Oriented Computing (SOC) called location-time workflow (LTW). LTW captures a mobile user service usage pattern and his mobility. I used LTW for modeling two different classes of mobile applications: One is single user mobile apps (like OCR or signal processing applications) and the other class is social and collaborative mobile applications (like multimedia file sharing and editing). For each class different utility functions were defined which model single mobile users’ performance or group performance. This leads us into two main different optimization problems which are NP-Hard. I proposed heuristics to optimally solve the mentioned service allocation problems.
Service and resource provisioning algorithms:
In the algorithmic part, I worked on different heuristics, like greedy-based and simulated annealing-based for solving the two mentioned optimization problems. I considered their optimal (compared with optimal solution), running time and scalability as the performance. I developed MapReduce-based algorithmic model for the mentioned resource provision algorithms for solving scalability issues when the search space for optimization is large (~ 5 Tera of feasible solutions).
In the algorithmic part, I worked on different heuristics, like greedy-based and simulated annealing-based for solving the two mentioned optimization problems. I considered their optimal (compared with optimal solution), running time and scalability as the performance. I developed MapReduce-based algorithmic model for the mentioned resource provision algorithms for solving scalability issues when the search space for optimization is large (~ 5 Tera of feasible solutions).
System performance testing and prototyping:
In the deployment and the experimental part, I used 2-Tier Cloud Architecture, one is public cloud and the other one is local cloud (UCI local server) [2][3][4]. This 2-Tier Cloud architecture provides better performance, elasticity and scalability in comparison to using public cloud only. I developed MapCloud (Architecture: archVideo, Demo: demoVideo) prototype, a middleware solution which contains all the required part of such a service allocation system. To study MapCloud and algorithms performance, OCR+Speech (OCRS), video streaming and transcoding, and multimedia file sharing applications have been developed as the rich mobile applications. For the mentioned mobile applications different services were extracted such as image filtering, noise cancellation, transcoding, etc. We measured the delay and power consumption of services in different situations for both local and public cloud (UCI local servers as the local cloud and Amazon Web Services as the public cloud). The experimental results obtained by profiling real applications have been used to tune the simulation environment. The simulation platform was used to test the performance and scalability of the proposed system architecture and algorithms. We used two important mobility model in our simulation environment, Random Waypoint and Manhattan models. The simulation and experimental results show the optimal of the architecture and algorithms.
MCC tries to empower the mobile user by providing ubiquitous and rich functionality, regardless of the resource limitations of mobile devices. The future of MCC could be explored in an autonomous digital environment and technologies like wearable technologies in which different devices with standard interface could be connected and plugged in easily and get their computation, storage and other resources to do their processing, monitoring, communication and storing tasks [1].
References:
[1] M. Reza Rahimi, Jian Ren, Chi Harold Liu, Athanasios V. Vasilakos, and Nalini Venkatasubramanian, "Mobile Cloud Computing: A Survey, State of Art and Future Directions", in ACM/Springer Mobile Application and Networks (MONET), Speciall Issue on Mobile Cloud Computing, Nov. 2013.
[2] M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "On Optimal and Fair Service Allocation in Mobile Cloud Computing", (arxiv version: http://arxiv.org/abs/1308.4391).
[3] M. Reza. Rahimi, Nalini Venkatasubramanian, Athanasios Vasilakos, "MuSIC: On Mobility-Aware Optimal Service Allocation in Mobile Cloud Computing", In the IEEE 6th International Conference on Cloud Computing, Silicon Valley, CA, USA, July 2013.
[4] M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "MAPCloud: Mobile Applications on an Elastic and Scalable 2-Tier Cloud Architecture", In the 5th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2012), USA, Nov 2012.
In the deployment and the experimental part, I used 2-Tier Cloud Architecture, one is public cloud and the other one is local cloud (UCI local server) [2][3][4]. This 2-Tier Cloud architecture provides better performance, elasticity and scalability in comparison to using public cloud only. I developed MapCloud (Architecture: archVideo, Demo: demoVideo) prototype, a middleware solution which contains all the required part of such a service allocation system. To study MapCloud and algorithms performance, OCR+Speech (OCRS), video streaming and transcoding, and multimedia file sharing applications have been developed as the rich mobile applications. For the mentioned mobile applications different services were extracted such as image filtering, noise cancellation, transcoding, etc. We measured the delay and power consumption of services in different situations for both local and public cloud (UCI local servers as the local cloud and Amazon Web Services as the public cloud). The experimental results obtained by profiling real applications have been used to tune the simulation environment. The simulation platform was used to test the performance and scalability of the proposed system architecture and algorithms. We used two important mobility model in our simulation environment, Random Waypoint and Manhattan models. The simulation and experimental results show the optimal of the architecture and algorithms.
Fig 3: 2-Tire Mobile Cloud Computing Architecture |
References:
[1] M. Reza Rahimi, Jian Ren, Chi Harold Liu, Athanasios V. Vasilakos, and Nalini Venkatasubramanian, "Mobile Cloud Computing: A Survey, State of Art and Future Directions", in ACM/Springer Mobile Application and Networks (MONET), Speciall Issue on Mobile Cloud Computing, Nov. 2013.
[2] M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "On Optimal and Fair Service Allocation in Mobile Cloud Computing", (arxiv version: http://arxiv.org/abs/1308.4391).
[3] M. Reza. Rahimi, Nalini Venkatasubramanian, Athanasios Vasilakos, "MuSIC: On Mobility-Aware Optimal Service Allocation in Mobile Cloud Computing", In the IEEE 6th International Conference on Cloud Computing, Silicon Valley, CA, USA, July 2013.
[4] M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "MAPCloud: Mobile Applications on an Elastic and Scalable 2-Tier Cloud Architecture", In the 5th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2012), USA, Nov 2012.