beyond the client-server architectures: a survey of mobile cloud techniques

Post on 06-May-2015

852 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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)kovachev@dbis.rwth-aachen.de

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

top related