beyond the client-server architectures: a survey of mobile cloud techniques
DESCRIPTION
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.TRANSCRIPT
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-1 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques
Dejan Kovachev & Ralf KlammaRWTH Aachen University
Advanced Community Information Systems (ACIS)[email protected]
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-2
Responsive Open
Community Information
Systems
Responsive Open
Community Information
Systems
Community Visualization
and Simulation
Community Visualization
and Simulation
Community Analytics
Community Analytics
Community Support
Community Support
WebAnalytics
Web
Eng
inee
ring
{Advanced | ATLAS | Awesome | Aachen}Community Information Systems (ACIS)
RequirementsEngineering
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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. JarkeI5-KoKl-0812-4
Mobile + Cloud Computing Cloud computing allows to
develop, deploy and run applications that can – Easily grow capacity (scalability), – Work fast (performance), – Abstracted nature and
location of the underlying infrastructure
Mobile cloud computing benefits from– The computation power of the
clouds– Anywhere at any time access– Longer battery life – Same quality of experience as on
desktops/laptops– Running of “heavier” applications
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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. JarkeI5-KoKl-0812-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
communication session over longer period of time
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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
Offline(native apps)
Online(web apps)
Context-aware adaptation(dynmically)
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-8
Alternative Models for Mobile-Cloud Applications
Augmented execution Application mobility Ad-hoc mobile clouds
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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– Computation/Storage offloading decision– Seamless computation/storage integration and consistency
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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
Source: Satynarayanan et al. 2009
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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
Source: Guiriu et al. 2009
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-12
Cost Model
[Kovachev et. al. 2010]
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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– Integer linear programming [Kovachev et al 2012]
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-14
Partitioning Algorithms
Method/Project Model Easy to Implement
OptimizationResult
Optimization Goal Profiling
AIDE[Gu et al. 2002]
ExecutionGraph
No N/A Component Granularity
No
(k+1)[Ou et al. 2007]
Multi-cost Graph
No Global CPU, Memory, Bandwidth
No
AlfredO[Guirgiu et al. 2009]
Consumption Graph
No Local Interaction Latency
No
MAUI [Cuervo et al. 2010]
Call Graph No N/A Power Consumption
Yes
Scavenger [Kristensen 2010]
Multi-info Graph No N/A Not Considering Energy Usage
Yes, dual profile
MACS[Kovachev et al. 2012]
ILP optimization Yes Global Flexible Work in progress
Partitioning determines which part of code should be run locally/remotely
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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. JarkeI5-KoKl-0812-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. JarkeI5-KoKl-0812-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?
COMPARISON OF EXISTING AND PROPOSED MOBILE CLOUD COMPUTING APPROACHES
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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. JarkeI5-KoKl-0812-20
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
AIDL Tool
Generated code
MACS code
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-21
Workflow
Service Client Monitor Cloud
Service Not Installed
Remote
Install OKInitialize OKFile NeededTransmit File OKRemote Result
Result
Function Call Register
Remote CallInstall ServiceInitialize ServiceRemote CallTransmit FileRemote Call
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-22
Execution Time (detailed)
Results
Use Case B
Remote
While offloading, our framework introduces small overhead
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-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– Integration with existing development practices (programming abstraction)– Support legacy applications
Lehrstuhl Informatik 5(Information Systems)
Prof. Dr. M. JarkeI5-KoKl-0812-24
Thanks for your attention!Q & A