Mobile Cloud Computing

Similar documents
Mobile Cloud Computing

Mobile Cloud Computing

Mobile Cloud Computing

Basics of Cloud Computing

Mobile Web and Cloud Services Enabling Internet of Things

Mobile and Cloud Centric Internet of Things

Distributed Data Processing on the Cloud

Mobile and Cloud Computing Seminar

Cloud Computing. What is cloud computing. CS 537 Fall 2017

Demystifying the Cloud With a Look at Hybrid Hosting and OpenStack

Basics of Cloud Computing Lecture 2. Cloud Providers. Satish Srirama

More AWS, Serverless Computing and Cloud Research

Mobile Cloud Middleware

Introduction To Cloud Computing

Basics of Cloud Computing Lecture 2. Cloud Providers. Satish Srirama

Large Scale Computing Infrastructures

CHEM-E Process Automation and Information Systems: Applications

CPSC 426/526. Cloud Computing. Ennan Zhai. Computer Science Department Yale University

CSE6331: Cloud Computing

Lesson 14: Cloud Computing

Community Clouds And why you should care about them

UVA HPC & BIG DATA COURSE. Cloud Computing. Adam Belloum

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

1/10/2011. Topics. What is the Cloud? Cloud Computing

Cloud Computing introduction

INFS 214: Introduction to Computing

Cloud Computing Lecture 4

Mobile Offloading. Matti Kemppainen Miika Komu Lecture Slides T Mobile Cloud Computing

Introduction to Cloud Computing and Virtual Resource Management. Jian Tang Syracuse University

Top 40 Cloud Computing Interview Questions

CLOUD COMPUTING. A public cloud sells services to anyone on the Internet. The cloud infrastructure is made available to

CLOUD COMPUTING. Rajesh Kumar. DevOps Architect.

ERP Solution to the Cloud

Cloud Computing Briefing Presentation. DANU

Assistant Professor, School of Computer Applications,Career Point University,Kota, Rajasthan, India Id

Platform as a Service (PaaS)

Some thoughts on the evolution of Grid and Cloud computing

Introduction to Cloud Computing

Data center interconnect for the enterprise hybrid cloud

A Cloud Framework for Big Data Analytics Workflows on Azure

Next-Generation Cloud Platform

Mitigating Risks with Cloud Computing Dan Reis

Basics of Cloud Computing Lecture 2. Cloud Providers. Satish Srirama

CLOUD COMPUTING. Lecture 4: Introductory lecture for cloud computing. By: Latifa ALrashed. Networks and Communication Department

Data Centers and Cloud Computing

Cloud Computing. Grace A. Lewis Research, Technology and Systems Solutions (RTSS) Program System of Systems Practice (SoSP) Initiative

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

Implementation of Decentralized Access Control with Anonymous Authentication in Cloud

Architectural Implications of Cloud Computing

Module Day Topic. 1 Definition of Cloud Computing and its Basics

Cloud Computing and Service-Oriented Architectures

CLOUD COMPUTING ABSTRACT

Acknowledgements. Beyond DBMSs. Presentation Outline

Developing Enterprise Cloud Solutions with Azure

Cloud computing and Citrix C3 Last update 28 July 2009 Feedback welcome -- Michael. IT in the Clouds. Dr Michael Harries Citrix Labs

Intro to Software as a Service (SaaS) and Cloud Computing

OPENSTACK: THE OPEN CLOUD

SEEM3450 Engineering Innovation and Entrepreneurship

High Performance and Cloud Computing (HPCC) for Bioinformatics

Data Centers and Cloud Computing. Slides courtesy of Tim Wood

WHITEPAPER AMAZON ELB: Your Master Key to a Secure, Cost-Efficient and Scalable Cloud.

Cloud Computing. Ennan Zhai. Computer Science at Yale University

Mobile Cloud Computing: Issues, Challenges and Future Trends

Course Overview. ECE 1779 Introduction to Cloud Computing. Marking. Class Mechanics. Eyal de Lara

Introduction to Cloud Computing

Data Centers and Cloud Computing. Data Centers

Cloud Essentials for Architects using OpenStack

AWS Lambda: Event-driven Code in the Cloud

Cloud platforms T Mobile Systems Programming

Cloud Computing Overview. The Business and Technology Impact. October 2013

Redefining Networking with Network Virtualization

SURVEY PAPER ON CLOUD COMPUTING

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

Working with Sensors & Internet of Things

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

1. Introduction to Cloud Computing

ECE Enterprise Storage Architecture. Fall ~* CLOUD *~. Tyler Bletsch Duke University

Science Computing Clouds.

Cloud Computing 4/17/2016. Outline. Cloud Computing. Centralized versus Distributed Computing Some people argue that Cloud Computing. Cloud Computing.

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

CS 6393 Lecture 10. Cloud Computing. Prof. Ravi Sandhu Executive Director and Endowed Chair. April 12,

What Your Cloud Vendor May Not Be Telling You

Cloud Computing. Technologies and Types

Cloud Computing Introduction & Offerings from IBM

CSE 5306 Distributed Systems. Course Introduction

Optimization of Multi-server Configuration for Profit Maximization using M/M/m Queuing Model

High Performance and Cloud Computing (HPCC) for Bioinformatics

Cloud Computing: An Overview

Cloud platforms. T Mobile Systems Programming

Cloud Computing Technologies and Types

What is a cloud? Monday, January 25, :13 PM

Hitachi Enterprise Cloud Family of Solutions

Choosing the Right Cloud. ebook

Introduction to MapReduce

Introduction to data centers

Startups and Mobile Apps on AWS. Dave Schappell, Startup Business Development Manager, AWS September 11, 2013

COMP6511A: Large-Scale Distributed Systems. Windows Azure. Lin Gu. Hong Kong University of Science and Technology Spring, 2014

Securing Cloud Computing

Scaling Applications on the Cloud

PaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved

Transcription:

MTAT.03.262 - Mobile Application Development Lecture 8 Mobile Cloud Computing Satish Srirama satish.srirama@ut.ee

Outline Cloud Computing Mobile Cloud Binding Models HomeAssignment3 10/30/2015 Satish Srirama 2/43

It s nothing new It s a trap...we ve redefined Cloud It s worse than stupidity: it s Computing to include everything marketing hype. Somebody is that we already do... I don t saying this is inevitable and understand what we would do whenever you hear that, it s very differently... other than change likely to be a set of businesses the wording of some of our ads. campaigning to make it true. WHAT IS CLOUD COMPUTING? Larry Ellison, CEO, Oracle (Wall Richard Stallman, Founder, Free Street Journal, Sept. 26, 2008) Software Foundation (The Guardian, Sept. 29, 2008) No consistent answer! Everyone thinks it is something else 10/30/2015 Satish Srirama 3 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 10/30/2015 Satish Srirama 4/43

Timeline 10/30/2015 Satish Srirama 5/43

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/30/2015 Satish Srirama 6/43

Virtualization Virtualization techniques are the basis of the cloud computing Virtualization technologies partition hardware and thus provide flexible and scalable computing platforms App App App Virtual machine techniques VMware and Xen OpenNebula Amazon EC2 OS OS Hypervisor Hardware OS Virtualized Stack 10/30/2015 Satish Srirama 7/43

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/30/2015 Satish Srirama 8/43

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/30/2015 Satish Srirama 9/43

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/30/2015 Satish Srirama 10/43

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/30/2015 Satish Srirama 11/43

Cloud Application Demand Many cloud applications have cyclical demand curves Daily, weekly, monthly, Resources Demand 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 Time 10/30/2015 Satish Srirama 12/43

Economics of Cloud Users Pay by use instead of provisioning for peak Resources Capacity Demand Resources Capacity Demand Time Static data center Time Data center in the cloud Unused resources 10/30/2015 Satish Srirama 13/43

Economics of Cloud Users -continued Risk of over-provisioning: underutilization Huge sunk cost in infrastructure Capacity Unused resources Resources Demand Time Static data center 10/30/2015 Satish Srirama 14/43

Economics of Cloud Users -continued Heavy penalty for under-provisioning Resources 1 2 3 Time (days) Capacity Demand Resources Resources 1 2 3 Time (days) Lost revenue 1 2 3 Time (days) Lost users 10/30/2015 Satish Srirama 15/43 Capacity Demand Capacity Demand

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] 10/30/2015 Satish Srirama 16/43

Scaling enterprise application with the optimization model Incoming load and scaling curves of Optimization model Instance type usage curves of Optimization model 10/30/2015 Satish Srirama Scaling with Amazon AutoScale [Srirama and Ostovar, CloudCom 2014] Basics of Cloud Computing - MTAT.08.027 (Spring 2016) 17/43

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/30/2015 Satish Srirama 18/43

Long Term Implications of clouds Application software: Cloud & client parts, disconnection tolerance Infrastructure software: Resource accounting, VM awareness Hardware systems: Containers, energy proportionality 10/30/2015 Satish Srirama 19/43

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 [Srirama et al, FGCS 2012] 10/30/2015 Satish Srirama Basics of Cloud Computing - MTAT.08.027 (Spring 2016) 20/43

Cloud Computing Progress Armando Fox, 2010 10/30/2015 Satish Srirama 21/43

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 [Srirama et al, ICIW 2006; Srirama and Paniagua, MS 2013;Chang et al, ICSOC 2012;Liyanageet al, MS 2015] 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/30/2015 Satish Srirama 22/43

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) 10/30/2015 Satish Srirama 23/43

Mobile cloud - Binding models MCM Delegation Code Offloading [Flores and Srirama, JSS 2014] [Flores et al, IEEE Communications Mag 2015] 10/30/2015 Satish Srirama 24/43

Demo & Exercise Start an Amazon EC2 instance from mobile Exercise: Submit a job there https://bitbucket.org/mobilecloudlab/mad_fall2 015_ec2_adaptor/ 10/30/2015 Satish Srirama 25/43

Mobile Cloud mash-up applications Mobiles may have to take advantage of multiple clouds Follows traditional SOA model to invoke services Typical scenarios Process intensive services Face recognition, sensor mining etc. Data Synchronization (SyncML, Funambol, Google Sync) Calendar, contacts etc. Critical challenges Cloud interoperability is a huge trouble Mobiles need to possess multiple APIs Unavailability of standards and mobile platform specific API 10/30/2015 Satish Srirama 26/43

Mobile Cloud Middleware [Srirama and Paniagua, MS 2013] Google Cloud Messaging Microsoft Push Notification Service [Warren et al, IEEE PC 2014] [Flores et al, MoMM 2011; Flores and Srirama, JSS 2014] 10/30/2015 Satish Srirama 27/43

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 10/30/2015 Satish Srirama 28/43

CroudSTag Scenario CroudSTagtakes 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/30/2015 Satish Srirama 29/43

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 10/30/2015 Satish Srirama 30/43

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] SPiCa: A Social Private Cloud Computing Application Framework [Chang et al, MUM 2014] 10/30/2015 Satish Srirama 31/43

Checkingforupdates Polling Any new updates? Polling consumes lot of battery of mobile Heavy load on the resources of the server Strains the network No Any new updates? No Any new updates? YES 10/30/2015 Satish Srirama 32/43

Google Cloud Messaging Freeservice that allows you to send data from your servers to your users and vice versa 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 10/30/2015 Satish Srirama 33/43

Workingwith GCM 1.Request for Registration 2.Reply with Registration Id GCM 5. Send Message Mobile App 3.Send Registration Id 4. Send message {RegId, msg} [Warren et al, IEEE PC 2014] https://developers.google.com/cloud-messaging/ 10/30/2015 Satish Srirama 34/43

Exercise Working with GCM https://bitbucket.org/snsrirama/gcmtrial http://52.91.75.87:8080/gcm/ 10/30/2015 Satish Srirama 35/43

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) 10/30/2015 Satish Srirama 36/43

Mobile Code profiler System profilers Decision engine Cloud based surrogate platform Major Components 10/30/2015 Satish Srirama 37/43

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. 10/30/2015 Satish Srirama 38/43

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] 10/30/2015 Satish Srirama 39/43

Practical adaptability of offloading 10/30/2015 Applications that can benefit became Satish limited Srirama with increase in device capacities 40/43

Exercise-optional Java reflection https://gist.github.com/huberflores/9829019 Transforming a java method to a computational offloading format https://gist.github.com/huberflores/6e4e0894d95 e16f1c25e 10/30/2015 Satish Srirama 41/43

Home Assignment - 3 Encrypting and decrypting an image on the Cloud instance (15 points) Initiate the procedure on receiving a GCM message (10 points) Design a protocol for the received messages Deadline 12th November 2015 Last deadline for all submissions 19th November 2015 10/30/2015 Satish Srirama 42/43

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. S. N. Srirama, M. Jarke, W. Prinz: Mobile Web Service Provisioning, Proceedings of the Advanced International Conference on Telecommunications and International Conference on Internet and Web Applications and Services (AICT-ICIW 2006), February 23-25, 2006, pp. 120-125. IEEE CS Press. S. N. Srirama, C. Paniagua: Mobile Web Service Provisioning and Discovery in Android Days, The 2013 IEEE International Conference on Mobile Services (MS 2013), June 27 -July 02, 2013, pp. 15-22. IEEE. C. Chang, S. N. Srirama, S. Ling: An Adaptive Mediation Framework for Mobile P2P Social Content Sharing, 10th International Conference on Service Oriented Computing (ICSOC 2012), November 12-16, 2012, pp. 374-388. Springer LNCS. M. Liyanage, C. Chang, S. N. Srirama: Lightweight Mobile Web Service Provisioning for Sensor Mediation, 4th International Conference on Mobile Services (MS 2015), June 27 -July 2, 2015, pp. 57-64. IEEE. 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 MiddlewareFramework forhandlingprocess Intensive HybridCloud 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: SocialGroup Formationwith Facial Recognitionand Mobile Cloud Services, The8th International Conference on Mobile Web InformationSystems (MobiWIS2011), September 19-21, 2011, v. 5 of ProcediaComputer 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 HumanActivities Recognitionusing 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. 10/30/2015 Satish Srirama 43/43