mobile cloud computing - arvutiteaduse instituut · 2013-11-04 · mobile cloud applications...

32
MTAT.03.262 Mobile Application Development Mobile Cloud Computing Satish Srirama, Huber Flores [email protected] Tartu, Estonia, 2013

Upload: others

Post on 05-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

MTAT.03.262 Mobile Application Development

Mobile Cloud Computing

Satish Srirama, Huber Flores [email protected]

Tartu, Estonia, 2013

Outline

• Cloud Computing

• Mobile Cloud

– Access schemas

• Research challenges

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 Aachen

What is Cloud Computing?

• Computing as a utility – Utility services e.g. water, electricity, gas etc – Consumers pay based on their usage

• 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”

Timeline

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

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 – A pay-as-you-go model for IT

resources accessed over the Internet

• 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, Amazon S3, etc

IaaS Amazon EC2, SciCloud,

Joyent Accelerators, Nirvanix Storage Delivery Network, etc.

Level of Abstraction

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

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

Cloud Application Demand

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

• Workload spikes are more frequent and significant – When some event happens like a pop star has expired:

• More # tweets, Wikipedia traffic increases • 22% of tweets, 20% of Wikipedia traffic when Michael Jackson expired in 2009

– Google thought they are under attack

Demand

Time

Reso

urc

es

Unused resources

Economics of Cloud Users

• Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Reso

urc

es

Demand

Capacity

Time R

eso

urc

es

Unused resources

Economics of Cloud Users - continued

• Risk of over-provisioning: underutilization

– Huge sunk cost in infrastructure

Static data center

Demand

Capacity

Time

Reso

urc

es

Economics of Cloud Users - continued

• Heavy penalty for under-provisioning

Lost revenue

Lost users

Reso

urc

es

Demand

Capacity

Time (days) 1 2 3

Reso

urc

es

Demand

Capacity

Time (days) 1 2 3

Re

so

urc

es

Demand

Capacity

Time (days) 1 2 3

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

Long Term Implications of clouds

• Application software:

– Cloud & client parts, disconnection tolerance

• Infrastructure software:

– Resource accounting, VM awareness

• Hardware systems:

– Containers, energy proportionality

Cloud Computing Progress

Armando Fox, 2010

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

• However, some applications need to offload certain activities to servers – Processing sensor data

• Resource-intensive processing on the cloud – To enrich the functionality of mobile applications

Mobile Cloud Applications

• Mobile has significant advantage by going cloud-aware

– Increased data storage capacity

– Availability of unlimited processing power

– Extended battery life [Rudenko et al., SIGMOBILE 1998]

• Mobile Cloud based mash-up applications

– Mobiles need to possess multiple APIs

– Cloud interoperability is a huge trouble

Mobile Cloud Access Schemas

Mobile Cloud Access Schemas

• Code Offloading – Bytecode level

– Code partitioning

– Remote execution in Dalvik x86

• Task Delegation – Service integration

– Cloud infrastructure programming

– Cloud intercommunication

– Asynchronous delegation

Mobile Cloud Middleware

[Flores et al, MoMM 2011]

[Srirama et al, ICIW 2006]

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

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

CroudSTag [Srirama et al, PCS 2011]

• 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

Send invitation to the

social group

Selecting people

Facial Recognition Process

Selecting Cloud

Facebook Authentication

Taking picture/video using the camera

Selecting CloudMain Menu

Send Asynchronous Notification and Results

Storage Services

Start Process

1.

2.

3.

4.

5.

6.

7.

8.

9.

Send next invitation

Facebook Login

Back to Menu

Process-intensive tasks on cloud

• Sensor data analysis

• Media processing

Home Assignment - 3

• Indoor positioning

– Choose one floor from UT building and draw it

– Create a dynamic layout (Zoom must be available)

– Integrate to the code provided

• https://github.com/huberflores/IndoorApplication

– Three weeks time to deliver this home assignment after given this lecture

App. Provided

App. Expected

Next week

• Fortumo

– Guest lecture by Lars Eckart from Fortumo

THANK YOU