mobile cloud computing - arvutiteaduse instituutmobile cloud computing • one can do interesting...
TRANSCRIPT
MTAT.03.262 - Mobile Application Development – Lecture 8
Mobile Cloud Computing
Satish Srirama, Huber [email protected]
Outline
• Cloud Computing
• Mobile Cloud
– Access schemes
• HomeAssignment3
10/20/2014 Satish Srirama 2/25
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 Aachen10/20/2014 Satish Srirama 3
What is Cloud Computing?
• Computing as a utility
– Utility services e.g. water, electricity, gas etc
– Consumers pay based on their usage
10/20/2014 Satish Srirama 4/25
Timeline
10/20/2014 Satish Srirama 5/25
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
10/20/2014 Satish Srirama 6/25
• 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
Virtualization
Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
10/20/2014 Satish Srirama 7/25
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”
10/20/2014 Satish Srirama 8/25
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
10/20/2014 Satish Srirama 9/25
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
10/20/2014 Satish Srirama 10/25
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
10/20/2014 Satish Srirama 11/25
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
Res
ourc
es
10/20/2014 Satish Srirama 12/25
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
Res
ourc
es
Demand
Capacity
Time
Res
ourc
es
10/20/2014 Satish Srirama 13/25
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
10/20/2014 Satish Srirama 14/25
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
10/20/2014 Satish Srirama 15/25
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
10/20/2014 Satish Srirama 16/25
Long Term Implications of clouds
• Application software:
– Cloud & client parts, disconnection tolerance
• Infrastructure software:
– Resource accounting, VM awareness
• Hardware systems:
– Containers, energy proportionality
10/20/2014 Satish Srirama 17/25
Cloud Computing Progress
Armando Fox, 2010
10/20/2014 Satish Srirama 18/25
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
10/20/2014 Satish Srirama 19/25
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
10/20/2014 Satish Srirama 20/25
Mobile Cloud Access Schemes
[Flores and Srirama, JSS 2014]
Delegation Code Offloading
MCM
10/20/2014 Satish Srirama 21/25
Mobile Cloud Middleware
[Flores et al, MoMM 2011]
[Srirama et al, ICIW 2006]
GCM
10/20/2014 Satish Srirama 22/25
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
10/20/2014 Satish Srirama 23/25
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
10/20/2014 Satish Srirama 24/25
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
10/20/2014 Satish Srirama 25/25
Process-intensive tasks on cloud
• Sensor data analysis
• Media processing
10/20/2014 Satish Srirama 26/25
CODE OFFLOADING
10/20/2014 Satish Srirama 27
THANK YOU
10/20/2014 Satish Srirama 28