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

24
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. Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques Dejan Kovachev & Ralf Klamma RWTH Aachen University Advanced Community Information Systems (ACIS) [email protected]

Upload: dejan-kovachev

Post on 06-May-2015

852 views

Category:

Technology


0 download

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

Page 1: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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]

Page 2: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 3: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 4: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 5: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 6: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 7: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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)

Page 8: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 9: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 10: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 11: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 12: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

Lehrstuhl Informatik 5(Information Systems)

Prof. Dr. M. JarkeI5-KoKl-0812-12

Cost Model

[Kovachev et. al. 2010]

Page 13: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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]

Page 14: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 15: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 16: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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]

Page 17: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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?

Page 18: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

COMPARISON OF EXISTING AND PROPOSED MOBILE CLOUD COMPUTING APPROACHES

Page 19: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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.

Page 20: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 21: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 22: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 23: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

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

Page 24: Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques

Lehrstuhl Informatik 5(Information Systems)

Prof. Dr. M. JarkeI5-KoKl-0812-24

Thanks for your attention!Q & A