53
Mobile Cloud Computing Satish Srirama [email protected] MTAT.03.262 - Mobile Application Development – Lecture 8

Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile Cloud Computing

Satish [email protected]

MTAT.03.262 - Mobile Application Development – Lecture 8

Page 2: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Outline

• Cloud Computing

• Mobile Cloud

– Binding Models

• HomeAssignment3

02/11/2018 Satish Srirama 2/53

Page 3: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

WHAT IS CLOUD COMPUTING?

No consistent answer!

Everyone thinks it is something else…

“It’s nothing new”“...we’ve redefined Cloud Computing to include everything that we already do... I don’t understand what we would do differently ... other than change the wording of some of our ads.”

Larry Ellison, CEO, Oracle (Wall Street Journal, Sept. 26, 2008)

“It’s a trap”“It’s worse than stupidity: it’s marketing hype. Somebody is saying this is inevitable—and whenever you hear that, it’s very likely to be a set of businesses campaigning to make it true.”

Richard Stallman, Founder, Free Software Foundation (The Guardian, Sept. 29, 2008)

Slide taken from Professor Anthony D. Joseph’s lecture at RWTH Aachen02/11/2018 Satish Srirama 3

Page 4: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

What is Cloud Computing?

• Computing as a utility

– Utility services e.g. water, electricity, gas etc

– Consumers pay based on their usage

02/11/2018 Satish Srirama 4/53

Page 5: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Clouds - Why Now (not then)?

• Experience with very large datacenters

– Unprecedented economies of scale

– Transfer of risk

• Technology factors

– Pervasive broadband Internet

– Maturity in Virtualization Technology

• Business factors

– Minimal capital expenditure

– Pay-as-you-go billing model

02/11/2018 Satish Srirama 5/53

Page 6: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

• Virtualization techniques are the basis of the cloud computing

• Virtualization technologies partition hardware and thus provide flexible and scalable computing platforms

• Virtual machine techniques– VMware and Xen

– OpenNebula

– Amazon EC2

• Recent updates - containers

Virtualization

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

02/11/2018 Satish Srirama 6/53

Page 7: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Containers

• Use kernel of the host operating system instead of a hypervisor– Linux namespace

• Lightweight– No hypervisor overhead

– Each Container acquires only required resources

• Fast start-up/ Bootup– Starting a container is faster than booting new OS or spinning up a

new VM

• Performance– Near native performance

• Different container frameworks– LXC, Docker, Linux VServer, OpenVZ

– Docker is an Open platform [https://www.docker.com/]

02/11/2018 Satish Srirama 7/53

Page 8: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Cloud Computing - Characteristics

• Illusion of infinite resources

• No up-front cost

• Fine-grained billing (e.g. hourly)

• Gartner: “Cloud computing is a style of

computing where massively scalable IT-related

capabilities are provided ‘as a service’ across

the Internet to multiple external customers”

02/11/2018 Satish Srirama 8/53

Page 9: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Cloud Computing - Services• Software as a Service – SaaS

– A way to access applications hosted on the web through your web browser

• Platform as a Service – PaaS

– Provides a computing platform and a solution stack (e.g. LAMP) as a service

• Infrastructure as a Service –IaaS

– Use of commodity computers, distributed across Internet, to perform parallel processing, distributed storage, indexing and mining of data

– Virtualization

SaaS

Facebook, Flikr, Myspace.com,

Google maps API, Gmail

PaaS

Google App Engine, Force.com, Hadoop, Azure,

Heroku, etc

IaaS

Amazon EC2, Rackspace, GoGrid, SciCloud, etc.

Level of

Abstraction

02/11/2018 Satish Srirama 9/53

Page 10: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Cloud Computing - Themes

• Massively scalable

• On-demand & dynamic

• Only use what you need - Elastic – No upfront commitments, use on short term basis

• Accessible via Internet, location independent

• Transparent – Complexity concealed from users, virtualized,

abstracted

• Service oriented – Easy to use SLAs

SLA – Service Level Agreement

02/11/2018 Satish Srirama 10/53

Page 11: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Cloud Models

• Internal (private) cloud– Cloud with in an organization

• Community cloud– Cloud infrastructure jointly

owned by several organizations

• Public cloud– Cloud infrastructure owned by

an organization, provided to general public as service

• Hybrid cloud– Composition of two or more

cloud models

02/11/2018 Satish Srirama 11/53

Page 12: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Short Term Implications of Clouds

• Startups and prototyping

– Minimize infrastructure risk

– Lower cost of entry

• Batch jobs

• One-off tasks

– Washington post, NY Times

• Cost associatively for scientific applications

• Research at scale

02/11/2018 Satish Srirama 12/53

Page 13: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Unused resources

Economics of Cloud Users

• Many cloud applications have cyclical demand curves– Daily, weekly, monthly, …

• Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Res

ourc

es

Demand

Capacity

Time

Res

ourc

es

02/11/2018 Satish Srirama 13/53

Page 14: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Unused resources

Economics of Cloud Users - continued

• Risk of over-provisioning: underutilization

– Huge sunk cost in infrastructure

Static data center

Demand

Capacity

Time

Res

ourc

es

02/11/2018 Satish Srirama 14/53

Page 15: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Economics of Cloud Users - continued

• Heavy penalty for under-provisioning

Lost revenue

Lost users

Res

ourc

esDemand

Capacity

Time (days)

1 2 3

Res

ourc

es

Demand

Capacity

Time (days)

1 2 3

Res

ourc

es

Demand

Capacity

Time (days)

1 2 3

02/11/2018 Satish Srirama 15/53

Page 16: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Optimal resource provisioning for

auto-scaling enterprise applications• Auto-Scaling

– Scaling policy -> When to Scale

– Resource provisioning policy -> How to scale

• Cloud providers offer various instance types with different processing power and price– Can it be exploited in deciding the resource provisioning policy?

– Makes the policy to be aware of current deployment configuration

• Another challenge: Cloud providers charge the resource usage for fixed time periods– E.g. Hourly prices of Amazon cloud

• Developed an LP based optimization model which considers both the issues [Srirama and Ostovar, CloudCom 2014]

02/11/2018 Satish Srirama 16/53

Page 17: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Scaling enterprise application with the

optimization model

Incoming load and scaling

curves of Optimization model

Instance type usage curves of

Optimization model

Scaling with Amazon

AutoScale

[Srirama and Ostovar, CloudCom 2014]

Basics of Cloud Computing - MTAT.08.027 (Spring 2019)02/11/2018 Satish Srirama 17/53

Page 18: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Long Term Implications of clouds

• Application software:

– Cloud & client parts, disconnection tolerance

• Infrastructure software:

– Resource accounting, VM awareness

• Hardware systems:

– Containers, energy proportionality

02/11/2018 Satish Srirama 18/53

Page 19: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Economics of Cloud Providers

• Cloud Computing providers bring a shift from high reliability/availability servers to commodity servers– At least one failure per day in large datacenter

• Why?– Significant economic incentives

• much lower per-server cost

• Caveat: User software has to adapt to failures– Very hard problem!

• Solution: Replicate data and computation– MapReduce & Distributed File System

Basics of Cloud Computing - MTAT.08.027 (Spring 2019)[Srirama et al, FGCS 2012]02/11/2018 Satish Srirama 19/53

Page 20: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Cloud Computing Progress

Armando Fox, 2010

02/11/2018 Satish Srirama 20/53

Page 21: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Directions

for Future

Generation

Cloud

Computing

• Virtualizing GPUs, and non-traditional

(e.g. neuromorphic) architectures

• Approximate computing: performance,

cost, and accuracy trade-offs

• Programming abstractions, models, and

languages for scalable elastic computing

• Decentralised scalable

distributed algorithms

for edge, hybrid, inter

Clouds

• Multi-tenancy in mobile cloud

• Incentive models for Mobile Clouds

and independent Fog providers

• Containers in Fog/Edge computing

• QoS aware application deployment

on Fog nodes

• Edge analytics for real-time stream

data processing

•C

on

tin

uo

us

de

live

ry f

or

Ed

ge

, B

ig

da

ta,

an

d s

erv

erl

ess

co

mp

uti

ng

•M

ult

i-p

ara

dig

m a

nd

clo

ud

-na

tive

de

sig

n p

att

ern

s

•It

era

tive

Clo

ud

ap

plica

tio

n

en

ha

nce

me

nt

A Manifesto for Future Generation Cloud

Computing: Research Directions for the

Next Decade

[Buyya and Srirama et al,

ACM CSUR 2018]

02/11/2018 21/53

Page 22: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile Cloud Computing

• One can do interesting things on mobiles directly

– Today’s mobiles are far more capable

– We can even provide services from smart phones

Already have checked in lecture 6

• However, some applications need to offload

certain activities to external servers

– Processing sensor data

• Resource-intensive processing on the cloud

– To enrich the functionality of mobile applications

02/11/2018 Satish Srirama 22/53

Page 23: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile Cloud Applications

• Bring the cloud infrastructure to the proximity

of the mobile user

• Mobile has significant advantage by going

cloud-aware

– Increased data storage capacity

– Availability of unlimited processing power

– PC-like functionality for mobile applications

– Extended battery life (energy efficiency)

02/11/2018 Satish Srirama 23/53

Page 24: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Demo

• Demonstrate the trade-off of using Mobile

Cloud

– Image processing application

02/11/2018 Satish Srirama 24/53

Page 25: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Hybrid/heterogeneous Mobile Cloud

[Zhou et al, TSC 2017]02/11/2018 25/53

Page 26: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile cloud - Binding models

Task Delegation Code Offloading

MCM

[Flores and Srirama, JSS 2014] [Flores et al, IEEE Communications Mag 2015]

02/11/2018 Satish Srirama 26/53

Page 27: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Task Delegation: Mobile Cloud mash-

up applications

• Mobiles may have to take advantage of multiple clouds

• Follows traditional SOA (Service Oriented Architecture) model to invoke services

• Typical scenarios

– Process intensive services

• Face recognition, sensor mining etc.

• Critical challenges

– Cloud interoperability is a huge trouble

– Mobiles need to possess multiple APIs

– Unavailability of standards and mobile platform specific API

02/11/2018 Satish Srirama 27/53

Page 28: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile Cloud Middleware

[Flores et al, MoMM 2011; Flores and Srirama, JSS 2014]

[Srirama and Paniagua, MS 2013]

[Warren et al, IEEE PC 2014]

Google Cloud

Messaging

Microsoft Push

Notification

Service

02/11/2018 Satish Srirama 28/53

Page 29: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

MCM – enables

• Interoperability between different Cloud Services (IaaS, SaaS, PaaS) and Providers (Amazon, Eucalyptus, etc)

• Provides an abstraction layer on top of API

• Composition of different Cloud Services

• Asynchronous communication between the device and MCM

• Means to parallelize the tasks and take advantage of Cloud’s intrinsic characteristics

02/11/2018 Satish Srirama 29/53

Page 30: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

CroudSTag – Scenario

• CroudSTag takes the pictures/videos from the cloud and tries to recognize people

– Pictures/Videos are actually taken by the phone

– Processes the videos

– Recognizes people using facial recognition technologies

• Reports the user a list of people recognized in the pictures

• The user decides whether to add them or not to the social group

• The people selected by the user receive a message in facebook inviting them to join the social group

02/11/2018 Satish Srirama 30/53

Page 31: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

CroudSTag [Srirama et al, PCS 2011;

SOCA 2012]

• Cloud services used

– Media storage on

Amazon S3

– Processing videos on

Elastic MapReduce

– face.com to recognize

people on facebook

– Starting social group

on facebook

02/11/2018 Satish Srirama 31/53

Page 32: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Other applications

• Zompopo [Srirama et al, NGMAST 2011]

– Intelligent calendar, by mining accelerometer sensor data

• Bakabs [Paniagua et al, iiWAS-2011]

– Managing the Cloud resources from mobile

• Sensor data analysis

– Human activity recognition

– Context aware gaming

– MapReduce based sensor data analysis [Paniagua et al,

MobiWIS 2012]

02/11/2018 Satish Srirama 32/53

Page 33: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Checking for updates

• Polling

• Polling consumes lot of battery of mobile

• Heavy load on the resources of the server

• Strains the network

Any new updates ?

No

Any new updates ?

No

Any new updates ?

YES

02/11/2018 Satish Srirama 33/53

Page 34: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Firebase Cloud Messaging

• Free service that allows you to send data from your servers to your users and vice versa

• FCM replaced Google Cloud Messaging (GCM)– GCM is now deprecated

• Firebase by platform– Goes beyond just messaging

– Firebase provides the tools to develop high-quality apps, grow your user base, and earn more money

– Provides services for Authentication, Realtime Database, Performance Monitoring, Cloud Storage, Analytics, AdWords etc.

– https://firebase.google.com/docs/

02/11/2018 Satish Srirama 34/53

Page 35: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Firebase Cloud Messaging (FCM) -

continued• A cross-platform messaging solution

– Can now send messages to Android, iOS, etc.

• Handles queuing of messages and delivery to the target application– Application does not need to be running in the background for

receiving data messages

– The system will wake up the Android application via Intent broadcast when the message arrives

• FCM also supports sending messages to multiple phones, to devices subscribed to topics etc.

• FCM also supports sending messages to the application server from the mobile– Using the Extensible Messaging and Presence Protocol (XMPP)

02/11/2018 Satish Srirama 35/53

Page 36: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Types of messages

• Notification messages– Handled by the FCM SDK automatically

– Have a predefined set of user-visible keys

– Optional data payload of custom key-value pairs

– When App is in the background, • Apps receive the notification payload in the notification tray

• Apps only handle the data payload when the user taps on the notification

– When App is in the foreground, • App receives a message object with both payloads available

• Data messages– Handled by the client app

– Data messages have only custom key-value pairs

02/11/2018 Satish Srirama 36/53

Page 37: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Working with FCM – with

RegistrationID

Mobile App

FCM

1.Request for Registration

2.Reply with Registration Id

5. Send Message

3.Send Registration Id 4. Send message {RegId, msg}

https://firebase.google.com/docs/cloud-messaging/

02/11/2018 Satish Srirama 37/53

Page 38: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Working with FCM – Course Exercise

• Add Firebase to your app

https://firebase.google.com/docs/android/setup– ensure classpath is 'com.google.gms:google-services:4.2.0‘

• ## add to root-level build.gradle:dependencies {

...

classpath 'com.google.gms:google-services:4.2.0' // [J] google-services plugin

...

}

• ## add to module-level build.gradle:dependencies {

...

implementation 'com.google.firebase:firebase-messaging:17.3.4'

}

– # Put at end of file:apply plugin: 'com.google.gms.google-services‘

• If there are problems such as– failed to resolve compile 'com.google.firebase:firebase-messaging:17.3.4'

– install Google Play Services and Google Repository in Android Studio, SDK Manager on SDK Tools tab

02/11/2018 Satish Srirama 38/53

Page 39: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

FCM – Course Exercise - continued

• Access the device registration token and log it

02/11/2018 Satish Srirama 39/53

Page 40: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

FCM – Course Exercise - continued

• Create a service that extends FirebaseMessagingService

• Add the following to the manifest file

• Override onMessageReceived(RemoteMessage

remoteMessage) of the service to read the message

<serviceandroid:name=".MyFirebaseMessagingService"><intent-filter>

<action android:name="com.google.firebase.MESSAGING_EVENT"/></intent-filter>

</service>

40/53

Page 41: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

FCM – Course Exercise - continued

• Sending a notification message

– Install and run the app on the target device

– Open the Notifications tab of the Firebase console

and select New Message

– Enter the message text

– Select Single Device for the message target

– In the field labelled FCM Registration Token, enter

the registration token you obtained

– Click send message

02/11/2018 Satish Srirama 41/53

Page 42: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Working with FCM – Subscribe to a

topic

Mobile App

FCM

1. Subscribe to a topic

2. Confirmation

4. Send Message

3. Send message {topic, msg}

https://firebase.google.com/docs/cloud-messaging/

02/11/2018 Satish Srirama 42/53

Page 43: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

FCM to topic – Course Exercise 2

• For sending to a topic

– Let application subscribe to a topic

– On firebase console send message to a topic

02/11/2018 Satish Srirama 43/53

Page 44: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Mobile cloud - Binding models

Task Delegation Code Offloading

MCM

[Flores and Srirama, JSS 2014] [Flores et al, IEEE Communications Mag 2015]

02/11/2018 Satish Srirama 44/53

Page 45: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Code Offloading

• Also known as Cyber-foraging [M. Satyanarayanan, 2001]

• Not a completely new topic

– Can be realized similar to RMI, RPC etc.

• Devices offload some of their heavy work to

stronger surrogate machines in the vicinity

(Cloudlets)

02/11/2018 Satish Srirama 45/53

Page 46: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Major Components

• Mobile

– Code profiler

– System profilers

– Decision engine

• Cloud based surrogate platform

02/11/2018 Satish Srirama 46/53

Page 47: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Some of the well known frameworks

• MAUI

– Manual annotations [Cuervo et al., 2010]

• CloneCloud

– Code profilers & Automated process [Chun et al.,

2011]

• ThinkAir

– Manual annotations and scalability [Kosta et al, 2012]

• EMCO [Flores and Srirama, MCS 2013] & etc.

02/11/2018 Satish Srirama 47/53

Page 48: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Code offloading – Major challenges

• Work in controlled environments like nearby

servers

– However, none can be adapted for real life

applications

• Major research challenges

– What, when, where and how to offload?

[Flores et al, IEEE Communications Mag 2015]

02/11/2018 Satish Srirama 48/53

Page 49: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Practical adaptability of offloading

Applications that can benefit became limited with increase in device capacities

[Srirama, CSIICT 2017]

49/53

Page 50: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Conclusion

• Cloud computing offers interesting

opportunities in different domains

• Mobile applications benefit a lot by pushing

some of the resource intensive tasks to cloud

• Checked two binding models

– Task Delegation

– Code offloading

02/11/2018 Satish Srirama 50/53

Page 51: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

What have we learnt?

• You can develop Android applications

• Sensors and Internet of Things

• Providing sensor information from smart phones

• Location based services

• Testing android applications

• Multi-platform mobile application development

• Mobile Cloud

02/11/2018 Satish Srirama 51/53

Page 52: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

Home Assignment - 3

• Image processing on the cloud

• Being able to repeat the task demonstrated in

the lecture

• Deadline – 16th November 2018

• Last deadline for all submissions – 23rd

November 2018

02/11/2018 Satish Srirama 52/53

Page 53: Mobile Cloud Computing · (e.g. neuromorphic) architectures • Approximate computing: performance, cost, and accuracy trade-offs • Programming abstractions, models, and languages

References• S. N. Srirama, A. Ostovar: Optimal Resource Provisioning for Scaling Enterprise Applications on the Cloud, The 6th IEEE International Conference on

Cloud Computing Technology and Science (CloudCom-2014), December 15-18, 2014, pp. 262-271. IEEE.

• S. N. Srirama, P. Jakovits, E. Vainikko: Adapting Scientific Computing Problems to Clouds using MapReduce, Future Generation Computer Systems Journal, 28(1):184-192, 2012. Elsevier press. DOI 10.1016/j.future.2011.05.025.

• Rajkumar Buyya, Satish Narayana Srirama, Giuliano Casale, et al, : A Manifesto for Future Generation Cloud Computing: Research Directions for the Next Decade, ACM Computing Surveys, ISSN 0360-0300, 2018. ACM Press, New York, USA.

• B. Zhou, A. V. Dastjerdi, R. N. Calheiros, S. N. Srirama, R. Buyya: mCloud: A Context-aware Offloading Framework for Heterogeneous Mobile Cloud, IEEE Transactions on Services Computing, ISSN: 1939-1374, 10(5):797-810, 2017. IEEE. DOI: 10.1109/TSC.2015.2511002

• H. Flores, S. N. Srirama: Mobile Cloud Middleware, Journal of Systems and Software, ISSN: 0164-1212, 92(1):82-94, 2014. Elsevier. DOI: 10.1016/j.jss.2013.09.012.

• H. Flores, P. Hui, S. Tarkoma, Y. Li, S. N. Srirama, R. Buyya: Mobile Code Offloading: From Concept to Practice and Beyond, IEEE Communications Magazine, ISSN: 0163-6804, 53(3):80-88, 2015. IEEE. DOI:10.1109/MCOM.2015.7060486

• I. Warren, A. Meads, S. N. Srirama, T. Weerasinghe, C. Paniagua: Push Notification Mechanisms for Pervasive Smartphone Applications, IEEE Pervasive Computing, ISSN: 1536-1268, 13(2):61-71, 2014. IEEE. DOI:10.1109/MPRV.2014.34.

• H. Flores, S. N. Srirama, C. Paniagua: A Generic Middleware Framework for Handling Process Intensive Hybrid Cloud Services from Mobiles, The 9th International Conference on Advances in Mobile Computing & Multimedia (MoMM-2011), December 5-7, 2011, pp. 87-95. ACM.

• S. N. Srirama, C. Paniagua, H. Flores: CroudSTag: Social Group Formation with Facial Recognition and Mobile Cloud Services, The 8th International Conference on Mobile Web Information Systems (MobiWIS 2011), September 19-21, 2011, v. 5 of Procedia Computer Science, pp. 633-640. Elsevier.

• S. N. Srirama, C. Paniagua, H. Flores: Social Group Formation with Mobile Cloud Services, Service Oriented Computing and Applications Journal, ISSN: 1863-2386, 6(4):351-362, 2012. Springer. DOI: 10.1007/s11761-012-0111-5.

• S. N. Srirama, H. Flores, C. Paniagua: Zompopo: Mobile Calendar Prediction based on Human Activities Recognition using the Accelerometer and Cloud Services, 5th Int. Conf. on Next Generation Mobile Applications, Services and Technologies (NGMAST 2011), Sep. 14-16, 2011, pp. 63-69. IEEE.

• Cuervo, Eduardo, et al. "MAUI: making smartphones last longer with code offload." Proceedings of the 8th international conference on Mobile systems, applications, and services. ACM, 2010.

• Kosta, Sokol, et al. "Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading." INFOCOM, 2012 Proceedings IEEE. IEEE, 2012.

• Satyanarayanan, Mahadev, et al. "The case for vm-based cloudlets in mobile computing." Pervasive Computing, IEEE 8.4 (2009): 14-23.

• H. Flores, S. N. Srirama: Adaptive Code Offloading for Mobile Cloud Applications: Exploiting Fuzzy Sets and Evidence-based Learning, The Fourth ACM Workshop on Mobile Cloud Computing and Services (MCS 2013) @ The 11th International Conference on Mobile Systems, Applications and Services (MobiSys 2013), June 25-28, 2013, pp. 9-16. ACM.

• S. N. Srirama: Mobile Web and Cloud Services Enabling Internet of Things, Special Issue ICAC 2016 of CSIT, CSI Transactions on ICT, ISSN: 2277-9078, 5(1):109-117, 2017. Springer. DOI: 10.1007/s40012-016-0139-3

02/11/2018 Satish Srirama 53/53