mobile cloud computing - arvutiteaduse instituut · 2013-11-04 · mobile cloud applications...
TRANSCRIPT
MTAT.03.262 Mobile Application Development
Mobile Cloud Computing
Satish Srirama, Huber Flores [email protected]
Tartu, Estonia, 2013
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”
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
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
Demo
• Mobile application using a cloud service
– Working with JetS3t
– https://github.com/huberflores/S3-Android-Amazon.git
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
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
Workshop
• Working with MCM
– https://github.com/huberflores/S3-Android-Amazon.git
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