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

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

More AWS, Serverless Computing and Cloud Research

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

Demystifying the Cloud With a Look at Hybrid Hosting and OpenStack

Large Scale Computing Infrastructures

Lesson 14: Cloud Computing

Introduction To Cloud Computing

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

Cloud Computing introduction

CLOUD COMPUTING. Rajesh Kumar. DevOps Architect.

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

CSE6331: Cloud Computing

CHEM-E Process Automation and Information Systems: Applications

Mobile Cloud Middleware

Community Clouds And why you should care about them

Introduction to Cloud Computing

Platform as a Service (PaaS)

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

INFS 214: Introduction to Computing

Cloud Computing Briefing Presentation. DANU

Some thoughts on the evolution of Grid and Cloud computing

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

Cloud Essentials for Architects using OpenStack

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

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

A Cloud Framework for Big Data Analytics Workflows on Azure

Cloud Computing Lecture 4

AWS Lambda: Event-driven Code in the Cloud

Next-Generation Cloud Platform

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

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

Implementation of Decentralized Access Control with Anonymous Authentication in Cloud

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

Data Centers and Cloud Computing

Vendor: HP. Exam Code: HP0-D31. Exam Name: Designing HP Data Center and Cloud Solutions. Version: Demo

Using and Developing with Azure. Joshua Drew

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

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

ERP Solution to the Cloud

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

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

Cloud Computing Introduction & Offerings from IBM

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

Cloud Providers more AWS, Aneka

Architectural Implications of Cloud Computing

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Mitigating Risks with Cloud Computing Dan Reis

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

Data Centers and Cloud Computing. Slides courtesy of Tim Wood

CIT 668: System Architecture. Amazon Web Services

Cloud Computing and Service-Oriented Architectures

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

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

What Your Cloud Vendor May Not Be Telling You

Data Centers and Cloud Computing. Data Centers

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

Course Overview This five-day course will provide participants with the key knowledge required to deploy and configure Microsoft Azure Stack.

High Performance and Cloud Computing (HPCC) for Bioinformatics

Cloud Computing. Technologies and Types

BUYER S GUIDE TO AWS AND AZURE RESERVED INSTANCES

Lecture 09: VMs and VCS head in the clouds

Data center interconnect for the enterprise hybrid cloud

Introduction to Cloud Computing

OPENSTACK: THE OPEN CLOUD

CLOUD COMPUTING ABSTRACT

Contents PART I: CLOUD, BIG DATA, AND COGNITIVE COMPUTING 1

SURVEY PAPER ON CLOUD COMPUTING

ITP 342 Mobile App Development. APIs

Acknowledgements. Beyond DBMSs. Presentation Outline

Cloud Computing Private Cloud

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

SEEM3450 Engineering Innovation and Entrepreneurship

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

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

Working with Sensors & Internet of Things

Science Computing Clouds.

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

Mobile Cloud Computing: Issues, Challenges and Future Trends

The New Normal. Unique Challenges When Monitoring Hybrid Cloud Environments

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

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

<Insert Picture Here> Linux: The Journey, Milestones, and What s Ahead Edward Screven, Chief Corporate Architect, Oracle

How to Keep UP Through Digital Transformation with Next-Generation App Development

Cloud platforms T Mobile Systems Programming

Choosing the Right Cloud. ebook

Top 40 Cloud Computing Interview Questions

Exam C Foundations of IBM Cloud Reference Architecture V5

Redefining Networking with Network Virtualization

How to go serverless with AWS Lambda

Faculté Polytechnique

Cloud platforms. T Mobile Systems Programming

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 11/3/2017 Satish Srirama 2/48

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 11/3/2017 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 11/3/2017 Satish Srirama 4/48

Timeline 11/3/2017 Satish Srirama 5/48

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 11/3/2017 Satish Srirama 6/48

Virtualization 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 OS OS Hypervisor OS App App App Hardware Virtualized Stack 11/3/2017 Satish Srirama 7/48

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/] 11/3/2017 Satish Srirama 8/48

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 11/3/2017 Satish Srirama 9/48

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 11/3/2017 Satish Srirama 10/48

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 11/3/2017 Satish Srirama 11/48

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 11/3/2017 Satish Srirama 12/48

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 11/3/2017 Satish Srirama 13/48

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 11/3/2017 Satish Srirama 14/48

Economics of Cloud Users - continued Risk of over-provisioning: underutilization Huge sunk cost in infrastructure Capacity Unused resources Resources Demand Time Static data center 11/3/2017 Satish Srirama 15/48

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 11/3/2017 Satish Srirama 16/48 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] 11/3/2017 Satish Srirama 17/48

Scaling enterprise application with the optimization model Incoming load and scaling curves of Optimization model Instance type usage curves of Optimization model 11/3/2017 Satish Srirama Scaling with Amazon AutoScale [Srirama and Ostovar, CloudCom 2014] Basics of Cloud Computing - MTAT.08.027 (Spring 2018) 18/48

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 11/3/2017 Satish Srirama 19/48

Long Term Implications of clouds Application software: Cloud & client parts, disconnection tolerance Infrastructure software: Resource accounting, VM awareness Hardware systems: Containers, energy proportionality 11/3/2017 Satish Srirama 20/48

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] 11/3/2017 Satish Srirama Basics of Cloud Computing - MTAT.08.027 (Spring 2018) 21/48

Cloud Computing Progress Armando Fox, 2010 11/3/2017 Satish Srirama 22/48

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; Liyanage et al, MS 2015] Already have checked in lecture 6 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 11/3/2017 Satish Srirama 23/48

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) 11/3/2017 Satish Srirama 24/48

Demo Demonstrate the trade-off of using Mobile Cloud Image processing application 11/3/2017 Satish Srirama 25/48

Mobile cloud - Binding models MCM Task Delegation Code Offloading [Flores and Srirama, JSS 2014] [Flores et al, IEEE Communications Mag 2015] 11/3/2017 Satish Srirama 26/48

Task Delegation: Mobile Cloud mashup 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 11/3/2017 Satish Srirama 27/48

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] 11/3/2017 Satish Srirama 28/48

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 11/3/2017 Satish Srirama 29/48

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 11/3/2017 Satish Srirama 30/48

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 11/3/2017 Satish Srirama 31/48

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] 11/3/2017 Satish Srirama 32/48

Checking for updates 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 11/3/2017 Satish Srirama 33/48

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/ 11/3/2017 Satish Srirama 34/48

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) 11/3/2017 Satish Srirama 35/48

Working with FCM 1.Request for Registration 2.Reply with Registration Id FCM 5. Send Message Mobile App 3.Send Registration Id 4. Send message {RegId, msg} https://firebase.google.com/docs/cloud-messaging/ 11/3/2017 Satish Srirama 36/48

Working with FCM Course Exercise Add Firebase to your app https://firebase.google.com/docs/android/setup If there are problems such as failed to resolve compile 'com.google.firebase:firebase-messaging:10.0.1' install Google Play Services and Google Repository in Android Studio, SDK Manager on SDK Tools tab Access the device registration token and log it String token = FirebaseInstanceId.getInstance().getToken(); 11/3/2017 Satish Srirama 37/48

FCM Course Exercise - continued Create a service that extends FirebaseMessagingService Add the following to the manifest file <service android:name=".myfirebasemessagingservice"> <intent-filter> <action android:name="com.google.firebase.messaging_event"/> </intent-filter> </service> Override onmessagereceived(remotemessage remotemessage) of the service to read the message 11/3/2017 Satish Srirama 38/48

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 11/3/2017 Satish Srirama 39/48

Mobile cloud - Binding models MCM Task Delegation Code Offloading [Flores and Srirama, JSS 2014] [Flores et al, IEEE Communications Mag 2015] 11/3/2017 Satish Srirama 40/48

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) 11/3/2017 Satish Srirama 41/48

Mobile Code profiler System profilers Decision engine Cloud based surrogate platform Major Components 11/3/2017 Satish Srirama 42/48

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. 11/3/2017 Satish Srirama 43/48

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] 11/3/2017 Satish Srirama 44/48

Practical adaptability of offloading 11/3/2017 Applications that can benefit became Satish limited Srirama with increase in device capacities 45/48

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 11/3/2017 Satish Srirama 46/48

What have we learnt? You can develop Android applications Location based services Sensors and Internet of Things Providing sensor information from smart phones Testing android applications Multi-platform mobile application development Mobile Cloud 11/3/2017 Satish Srirama 47/48

Home Assignment - 3 Image processing on the cloud Being able to repeat the task demonstrated in the lecture Deadline 16th November 2017 Last deadline for all submissions 23rd November 2017 11/3/2017 Satish Srirama 48/48

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 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. 11/3/2017 Satish Srirama 49/48