Mobile applications nowadays are developed either for a local (native) or for a client-server execution. However, applications in the future will be developed with cloud in mind, i.e. act as native applications, but do the heavy processing and storage in the cloud, deliver only needed parts and data at runtime and able to run offline. In order to better understand how to facilitate the building of mobile cloud-based applications, we have surveyed existing work in mobile computing through the prism of cloud computing principles. We provide an overview of the results from this survey, in particular, models of mobile cloud applications. We also highlight research challenges in the area of mobile cloud computing.
Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques
1. Beyond the Client-Server Architectures:
A Survey of Mobile Cloud Techniques
Dejan Kovachev & Ralf Klamma
RWTH Aachen University
Advanced Community Information Systems (ACIS)
kovachev@dbis.rwth-aachen.de
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-1 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
2. {Advanced | ATLAS | Awesome | Aachen}
Community Information Systems (ACIS)
Web Engineering
Responsive
Community
Web Analytics
Open
Visualization
Community
and
Information
Simulation
Systems
Community Community
Support Analytics
Lehrstuhl Informatik 5
Requirements
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-2
Engineering
3. Agenda
Motivation
Mobile & Cloud Computing
Alternative Models for Mobile-Cloud Apps
Mobile Augmentation Cloud Services (MACS)
Conclusions
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-3
4. Mobile + Cloud Computing
Cloud computing allows to Mobile cloud computing benefits
develop, deploy and run from
applications that can – The computation power of the
– Easily grow capacity (scalability), clouds
– Work fast (performance), – Anywhere at any time access
– Abstracted nature and – Longer battery life
location of the underlying – Same quality of experience as on
infrastructure desktops/laptops
– Running of “heavier” applications
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-4
5. Current State of Mobile Applications
Offline applications
– A fat offline client, with periodic data synchronization with the cloud
– Pros
– Good integration with device functionality and access to its features
– Performance optimized for specific hardware and multitasking
– Always available capabilities, even without network connectivity
– Cons
– No portability to other platforms
– Complex code
– Increased time to market
– A requirement for developers to learn new programming languages
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-5
6. Current State of Mobile Apps (cont.)
Online applications
– Connection between mobile devices and backend systems is
available most of the time
– Pros
– Multi-platform
– Directly accessible from anywhere
– Widespread knowledge of Web technologies
– Cons
– Large latency for real-time responsiveness, (even 30 msec latency affects
interactive performance [3])
– Restricted access to device’s features such as camera or motion detection
– Difficulties in handling complex scenarios that require keeping
Lehrstuhl Informatik 5
communication session over longer period of time
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-6
7. The Need for Adaptation
A new cloud development paradigm of mobile apps
– Deliver only needed parts and data at runtime
Preserved native user interactivity and app capabilities
– Act as native applications, but do the heavy processing and storage in the cloud
– Hidden communication latency
Seamless integration with cloud computation and storage
– Able to run offline
Context-aware adaptation
(dynmically)
Lehrstuhl Informatik 5 Offline Online
(Information Systems)
Prof. Dr. M. Jarke (native apps) (web apps)
I5-KoKl-0812-7
8. Alternative Models for
Mobile-Cloud Applications
Augmented execution
Application mobility
Ad-hoc mobile clouds
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-8
9. Augmented Execution
Augmented execution / Offloading
– Overcome limitations of mobile phones in terms of memory, CPU
and battery with external resources
– Illusion of virtually much more “powerful” devices
Benefits
– Stand-alone apps that can work offline
– Use of external resources on demand adaptively
– Privacy
Challenges
– Distributed app binaries
Lehrstuhl Informatik 5
– Computation/Storage offloading decision
– Seamless computation/storage integration and consistency
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-9
10. Coarse-grain Offloading
VM-based
– VM-based Cloudlets [Satynarayanan et al. 2009]
– CloneCloud [Chun and Maniatis 2009]
– ThinkAir [Kosta et al. 2011]
Simple idea, no code to be modified
– But, not scalable, too much overhead
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Source: Satynarayanan et al. 2009
I5-KoKl-0812-10
11. Fine-grain Offloading
Elastic application partitioning
– Ability to acquire and release resources on demand
Function level
– Proxy class to forward function calls
– Methods instrumenting [Ou et al. 2007] [Cuervo et al. 2010]
Service/Module [Kemp et al. 2010] [Giurgiu et al. 2009] [Zheng et al 2010]
– Application logic is encapsulated in different units
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke Source: Guiriu et al. 2009
I5-KoKl-0812-11
13. Code Partitioning
Partitioning determines which part of code should be
run locally/remotely
– Find cut in a graph-based model
– “Consumption” graph – communication, transmission and proxy
building costs [Guirgui et al. 2009]
– Minimal historical transmission between two partitions
[Gu et al. 2003]
– (k+1) partitioning on a multicost graph [Ou et al. 2007]
– Bayesian inference [Zhang et al. 2010]
– Optimization problem
Lehrstuhl Informatik 5
– Integer linear programming [Kovachev et al 2012]
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-13
14. Partitioning Algorithms
Partitioning determines which part of code should be run locally/remotely
Easy to Optimization Optimization
Method/Project Model Profiling
Implement Result Goal
AIDE Execution No N/A Component No
[Gu et al. 2002] Graph Granularity
(k+1) Multi-cost No Global CPU, Memory, No
[Ou et al. 2007] Graph Bandwidth
AlfredO Consumption No Local Interaction No
[Guirgiu et al. 2009] Graph Latency
MAUI Call Graph No N/A Power Yes
[Cuervo et al. 2010] Consumption
Scavenger Multi-info Graph No N/A Not Considering Yes, dual profile
[Kristensen 2010] Energy Usage
MACS ILP optimization Yes Global Flexible Work in
[Kovachev et al. progress
2012]
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-14
15. Application Mobility
Migration of running application states from one
device to another to which the user has an immediate
access [Ahlund et al. 2009] [Koponen et al.2004]
– Seamless user experience
– Access the cloud through different devices
Process migration [Milojčić et al. 2000]
Internet Suspend/Resume [Satyanarayanan et al. 2005]
Virtualized desktops
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-15
16. Ad-hoc Mobile Clouds
A group of mobile devices that serve as a cloud
computing provider by exposing their computing
resources to other mobile devices.
Computing communities in which users can
collaboratively execute shared tasks
[Huerta-Canepa and Lee 2010]
Hadoop on mobile devices [Marinelli 2009]
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-16
17. Comparison of the Mobile Cloud
Application Models
Middleware
– The enabling underlying technology used to achieve desired system properties
Cost Model
– Are the different parameters of mobile clouds used to provide best performance?
Programming Abstraction
– How powerful are the used programming tools to achieve quicker solid applications, while preserving the control
over different mobile cloud parts?
Solution Generality
– Does the solution work for all applications or only for a few?
Implementation Complexity
– How difficult is it to develop mobile cloud applications?
Static & Dynamic Adaptation
– What is the separation of responsibilities between mobile clients and the cloud?
Network Load
– How large is the volume of data transferred?
– What is the introduced latency by offloading?
Scalability
– Can the application scale?
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-17
19. MACS Architecture
Application logic is structured from multiple Android services (Si)
Services can be offloaded into the cloud.
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-19
20. AIDL Tool
Android Interface Definition Language
- Define the interface of IPC
Embedded code into the generated code
- Hidden implementation details to developers
- Modification of the compile procedure
MACS
code
Generated
code
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-20
21. Workflow
Service Client Monitor Cloud
Function Call Register
Remote
InitializeService
Install Service
TransmitCall
Remote File
Service NotResult
Remote Installed
InitializeOK
Install OK
File Needed
Transmit File OK
Lehrstuhl Informatik 5 Result
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-21
22. Results
Execution Time (detailed)
Remote
Use Case B
While offloading, our framework introduces small overhead
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-22
23. Conclusions and Future Work
Benefits of the mobile and cloud fusion
– Faster execution, higher performance
– Less energy consumption
Currently, two extremes of mobile applications
– Native (offline) and web-based (online) applications
The full potential lies in between these two extremes
– Dynamically shifting the responsibilities between mobile device and cloud
– Current projects cover different subset of the desired mobile cloud characteristics
Challenges
– Multiple clouds/services
– Runtime behavior estimation and cost models
– Automatic offloading and predictive algorithms
Lehrstuhl Informatik 5 – Integration with existing development practices (programming abstraction)
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-23
– Support legacy applications
24. Thanks for your attention!
Q&A
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KoKl-0812-24