Mobile Cloud Computing: Big Picture


Published on

Presented at Computer Science Department, University of California Irvine (Distributed Systems Course).

Published in: Technology, Business

Mobile Cloud Computing: Big Picture

  1. 1. Mobile Cloud Computing: Big Picture M. Reza Rahimi,DONALD BREN SCHOOL OF INFORMATION AND COMPUTER SCIENCE, Irvine, CA.
  2. 2. “You dont generate your own electricity. Why generate your own computing?” Jeff Bezos, CEO, Amazon 2
  3. 3. Outline• Cloud Computing: Concepts and Terminologies • What is Cloud Computing? • Essential Characteristics • Service Models • Deployment Models• Cloud Computing Modeling • Cloud Computing Modeling: Functional View • Cloud Computing Modeling: Qos View• Mobile Cloud Computing Application: Toward Pervasive Computing • Motivation • Related Works: Cloudlet , MapGrid and Calling the Cloud • Mobile Cloud Computing Architecture• Conclusions• References 3
  4. 4. Cloud Computing:Concepts and Terminologies 4
  5. 5. What is Cloud Computing?• Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) [Mell_2009], [Berkely_2009].• It can be rapidly provisioned and released with minimal management effort.• It provides high level abstraction of computation and storage model.• It has some essential characteristics, service models, and deployment models. 5
  6. 6. Essential Characteristics• On-Demand Self Service: • A consumer can unilaterally provision computing capabilities, automatically without requiring human interaction with each service’s provider.• Heterogeneous Access: • Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms. 6
  7. 7. Essential Characteristics (cont.)• Resource Pooling: • The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model. • Different physical and virtual resources dynamically assigned and reassigned according to consumer demand.• Measured Service: • Cloud systems automatically control and optimize resources used by leveraging a metering capability at some level of abstraction appropriate to the type of service. • It will provide analyzable and predictable computing platform. 7
  8. 8. Service Models• Cloud Software as a Service (SaaS): • The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. • The applications are accessible from various client devices such as a web browser (e.g., web-based email). • The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage,… • Examples: Caspio, Google Apps, Salesforce, Nivio, 8
  9. 9. Service Models (cont.)• Cloud Platform as a Service (PaaS): • The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. • The consumer does not manage or control the underlying cloud infrastructure. • Consumer has control over the deployed applications and possibly application hosting environment configurations. • Examples: Windows Azure, Google App. 9
  10. 10. Service Models (cont.)• Cloud Infrastructure as a Service (IaaS): • The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources. • The consumer is able to deploy and run arbitrary software, which can include operating systems and applications. • The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls). • Examples: Amazon EC2, GoGrid, iland, Rackspace Cloud Servers, ReliaCloud. 10
  11. 11. Service Models (cont.) Service Model at a glance: Picture From 11
  12. 12. Deployment Models• Private Cloud: • The cloud is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.• Community Cloud: • The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns. • It may be managed by the organizations or a third party and may exist on premise or off premise. 12
  13. 13. Deployment Models (cont.)• Public Cloud: • The cloud infrastructure is made available to the general public or a large industry group and it is owned by an organization selling cloud services.• Hybrid cloud: • The cloud infrastructure is a composition of two or more clouds (private, community, or public). 13
  14. 14. Deployment Models (cont.) Service Model at a glance: Picture From 14
  15. 15. Cloud Computing Modeling 15
  16. 16. Cloud Computing Modeling: Functional View • Two categories could be considered: Functional Modeling and Non-Function Model (Qos Model ). • Functional Model: • Cloud Pool is the set of different clouds or : C pool {c1 , c2 ,..., |C pool | } c • Service Pool is the set of all supporting services in the system or: S pool {s1 ,s 2 ,...,s|S pool |} • Cloud-Service Matching Graph is the bipartite graph which matches the clouds to their related services. 16
  17. 17. Cloud Computing Modeling: Functional View (cont.) c1 s1 c2 s2 c3 s3 c4 s4 cn sn cloud-service matching graph 17
  18. 18. Cloud Computing Modeling: Functional View (cont.)• Workflow, Plan or Application is a Directed Acyclic Graph (DAG) with the following properties and semantics [Zeng_2003], [Chen_2003], [Ko_2008]:• Node Semantic: • It has only one node which is called Start Node. • It has only one node which is called End Node. • Except for start and end nodes, each node is annotated with an object from service pool.• Edge Semantic: • If a node has only one outgoing edge to the other node then it is called sequential edge (Sequential Semantic). si sj sk Sequential edges 18
  19. 19. Cloud Computing Modeling: Functional View (cont.)• If a node has more than one outgoing edges to the other nodes then it is called concurrent edges (Fork Concept or AND- Parallel): si sj sk Concurrent edges sl Sequential edges sm• If a node has two outgoing edges with weight then it is called conditional edges (or XOR-Parallel). p1 si sj sk p2 sl Conditional edges Sequential edges p1+p2=1; 0<p1,p2<1 19
  20. 20. Cloud Computing Modeling: Functional View (cont.) While/Loop• The loop node is considered as: sj• It could be easily converted to sequence edges with the upper bound loop limit. While/Loop sj Loop Bound=4 sj sj sj sj• The loop in this graph could be avoided as: sj si sj si sj 20
  21. 21. Cloud Computing Modeling: Functional View (cont.)• Critical Service: The services in the plan with the highest number of inputs and outputs edges. 21
  22. 22. Cloud Computing Modeling: Qos View• The cloud quality of service is defined as: Qos : C pool S pool (q1 , q2 ,...,qn )• Some important Single Cloud Qos are: q price (ci , s j ) Price of using service s j on cloud ci . qduration (ci , s j ) Delay in secondsbetween th moment e when a request is sent and the results are received of s j on cloud ci . Level For service s j we could also define service level or s j . 22
  23. 23. Cloud Computing Modeling: Qos View (cont.) qreliabilit y (ci , s j ) The probabilit y that therequest is correctlyanswered whithin specific time. qCapacity (ci , s j ) The maximum of clients that s j on ci could recieve. qavailability (ci , s j ) The probabilit y that teservice is accessible within specific time. qreputation (ci , s j ) Social Rank of the service like Amazon [0,5] Qos : C pool S pool (q price , qduration , qreliabilit y , qCapacity , qavailability , qreputation ) 23
  24. 24. Job Qos (end-to-end Qos)• The Qos is also defined for work flow.Qos price ( wf ) Sum of the prices in executable job.Qos duration ( wf ) The longest path in executable job. N qreliabilit ( ci , s j ) ziQos reliabilit y ( wf ) e y for non - critical i 1 services zi 0 else 1. N qavailabili ( ci , s j ) ziQos availability ( wf ) e ty for non - critical i 1 services zi 0 else 1.Qos reputation ( wf ) The avaerage reputation of all services in executable job. 24
  25. 25. • The typical optimization problem that happens in this area is to find appropriate cloud compositions that satisfied the required constraints and maximize or minimizes the utility function.• The following is the general architecture for cloud computing system. Task Query+ Desired Qos Task Query to Job (DAG) Cloud Composition to Satisfy Qos Model 25
  26. 26. c price Qos ( wf ) cduration Qosduration wf ) ( Qosreliabilit( wf ) creliabilit y price y w1 ( ) w2 ( ) w3 ( ) c price cduration Qosreliabilit( wf )max Qosavailabili ( wf ) cavailabili ty ty Qosreputation wf ) creputation ( y w4 ( ) w5 ( ) Qosavailabili ( wf ) ty Qosreputation wf ) ( Qos price ( wf ) c price Qos duration ( wf ) cduration Qos reliabilit y ( wf ) creliabilit y one possible optimization problemSubject to: Qos availability ( wf ) cavailability when the target function is linear. Qos reputation ( wf ) creputation 5 wi 1 i 1 The selection is over clouds and servicespaces. 26
  27. 27. Mobile Cloud Computing:Toward Pervasive Computing 27
  28. 28. “The most profound technologies are those that disappear. They weave themselves into the fabric of every day life until they are indistinguishable from it.” “Mark Weiser”, Xerox Scientist 28
  29. 29. Motivation• Pervasive computing names the third wave in computing, just now beginning.• First were mainframes, each shared by lots of people.• Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop.• Next comes Pervasive computing, or the age of calm technology, when technology recedes into the background of our lives.• Alan Kay of Apple calls this "Third Paradigm" computing. 29
  30. 30. Motivation (cont.) Cloud Computing Evolution of Computing Environment: Promises [Satyanarayanan_2001] :Toward Pervasive Computing environment 30
  31. 31. Motivation (cont.)• Mobile Cloud computing technology promises the realization of pervasive computing era.• Many different application could be considered in this area, such as M-Commerce, M-learning, M- entertainment.• In this work we consider the M-Multimedia application in mobile computing environment.• It is called multimedia streaming in mobile computing area. 31
  32. 32. 32
  33. 33. Motivation (cont.)• In the next section we are trying to review some important works done related to mobile cloud computing.• Based on the previous work we are going to propose an architecture for mobile cloud computing for multimedia streaming application. 33
  34. 34. Related Works: CloudletMapGrid and Calling the Clouds 34
  35. 35. Cloudlet• It has been shown that one hop connection from mobile device to internet is not efficient.• Human are sensitive to the current delay in clouds.• It seems that latency is unlikely to be improved.• Considering different layer for software such as security and firewall it is unlikely that latency improves (although increase in bandwidth).• This motivate us to use cloudlet between mobile devices and cloud pools (Infrastructure).• A cloudlet (I refer it as the micro edition of cloud)only contains soft states such as cache copies of data or code. 35
  36. 36. Cloudlet (cont.) The prototype based on this systems is implemented in CMU and called Kimberley [Satyanarayanan_2009] .Cloudlets are as the infrastructure for mobile cloud computing. From: [Satyanarayanan_2009] 36
  37. 37. MapGrid (Mobile Application on Grid)• Base on the work [Huang_2002] , [Huang_2005] , [Huang_2007] which is middleware approach.• It uses Grid as the cache proxy for mobile applications.• Resources on grid (storage and computation) are intermittently available.• MapGrid uses the interval tree data structure for storing the information about available resources on grid.• Mobility pattern has been used to optimal data replication policy in MapGrid.• The proposed middleware does: 1. Execute load-base adaptive Grid source selection. 2. Satisfy User Qos. 3. Bound the number of grid source switches. 37
  38. 38. Contains information about 1. Resource Discovery available resources on Grid 2. Schedule Planning and Clients Replace the data to grid resources Directory Tertiary Data Info Storage Admission Control Service Placement Req@ Volunteer Req Request Req* Management Servers(Grids) Broker SchedulerReq Mobile Client Resource Req# Mobile Client Reservation Monitoring Moving_Profile Grid Reports changes in Monitoring Mobility Pattern detection grid resources MapGrid Middleware Service Architecture 38
  39. 39. MapGrid Definitions and Notations• Request: R(VID, itinerary) where VID is the video and itinerary is mobility information.• Grid Loading Factor: LFj ( R, t ) max{CPU a , MEMa , NBWa , DBWa } where X a is the ratio of requested resource to available resourceon grid j. 0 LFj 1 If grid j is available at• Grid Factor: time t equal 1 else 0. Availability ( j , t ) Gf j ( R, t ) LF j ( R, t ) Dist ( j , R ) Distance of grid J from request R. 39
  40. 40. MapGrid Definitions and Notations (cont.)• Segment size: Sd the unit size of data.• The MapGrid algorithm has the following tree steps:• PartitionServicePeriod(): • partition the request according to the segment size or other fast startup policies (to start the service as fast as possible).• VolunteerGridAllocation(): • Maps chunks to the specific grid according to LF and proximity. The biggest Grid factor could be selected. The start point could be used to initialized the algorithm.• MobilityBasedRescheduling(): • Keep track of the mobility pattern and if needed reschedule. 40
  41. 41. MapGrid Optimization• With the knowledge of the mobility pattern, we could optimize the first two function, service period and grid resource allocation. itinenary [(Time1 , Cell1 ),..., (Time n , Celln )]• Service Period Optimization:• Policy 1: MajoritySpreadOver attempts to minimize number of Grid switches. • Assign the chunks of data according to the duration that mobile client spends in each cell. • Weakness: Delay in startup.• Policy 2: DistancePartition partition the service time according to distance traversal. Long distance long chunk of data. 41
  42. 42. MapGrid Optimization (cont.)• Volunteer Service Optimization:• With knowing the mobility pattern and the time duration that mobile client spend in each cell our task is to find grid resources to maximize the following utility function. n f ( x, y ) Di ( x ai ) 2 ( y bi ) 2 i 1 where Di is the duration of time the mobile client spends in celli . (a i , b i ) is cell center and (x, y) is the grid location. 42
  43. 43. Calling The Cloud• It is based on the optimal task migration between server and mobile client [Giurgiu_2009].• They have used OSGi (Open Services Gateway Initiative) and AlferedO platform (component based architecture) for prototype implementation.• The key Idea is to make an application graph and try to make a cut (some tasks will be done on server side and remaining will be done on mobile side) to meet the required optimization issues.• The following figure shows the main idea. 43
  44. 44. Original Plan S6 S1 S2 S3 S4 S7 S8 S5 Mobile Cut Mobile CutS6 S1 S2 S3 S6 S1 S2 S3 S4 S4S7 S8 S5 S7 S8 S5 44
  45. 45. “You usually use your cell phone for communication service. Why not getting computation service?” Reza, UCI Student  45
  46. 46. • Lesson that we have learned: • For pervasive environment location-based services considered as the important element in design. • So we should consider the location of cloud as an important optimization factor which is lead to cloudlet as mentioned before. • This suggests 3-tier architecture. • Cloudlet has minimum capability, usually storage and limited processing (for example Multimedia Streaming). • The following figure shows this architecture. 46
  47. 47. Cloud Pool (Amazon, Google, Microsoft,….) Cloudlet or Cloudlet or Cloudlet or Wireless Cloud Wireless CloudWireless Cloud 47
  48. 48. Location-Base Service Composition• For mobile computing application we could define the Time Location Workflow.• It is the same as general work-flow with additional information about the location of the service. Time_LocationWorkflow S6|L0|T0 S1|L0|T6 S2|L1|T7 S3|L2|T1 S4|L3|T5 S7|L1|T2 S8|L0|T3 S5|L4|T4• Based on different criteria we could optimize the solution for different mobile and movment pattern. 48
  49. 49. Mobile Cloud Computing Applications (cont.)• We are thinking about the middleware approach as the solution for achieving Qos.• Before going ahead let’s see what sort of atomic and implementable elements and technology we have in the cloud pool.• Web Service: Application Programming Interfaces (API) or web APIs that can be accessed over a network and executed on a remote system hosting the requested services. It has 3 important protocols: 1. WSDL (Web Service Description Language): XML-based interface for definig Web Service functionality. 2. SOAP (Simple Object Access Protocol): Protocol for exchanging structured information in the implementation of web services. 3. UDDI (Universal Description Discovery and Integration): For publishing and registering web services in the internet. 49
  50. 50. Mobile Cloud Computing Applications (cont.) • UDDI has tree parts: • White Pages: Address, contact, and known identifiers; • Yellow Pages: Industrial categorizations based on standard taxonomies; • Green Pages: Technical information about services exposed by the business. • Some people are thinking about the Blue Pages which described the quality of services. • IBM [IBM], also introduced WSLA (Web Service Language Agreement) where obligation factors related to Qos between service provider and client are specified. 50
  51. 51. UDDI Registry Important API• [Alonso_2004] UDDI Inquiry API:  find_business(), find_service(), find_tmodel()  get_businessDetail(), get_serviceDetail(), get_tmodelDetail().• [Alonso_2004] UDDI Publishers API:  save_business(), save_service(), save_tmodel()  delete_business(), delete_service(), delete_tmodel().• [Alonso_2004] UDDI Security API:  get_authToken(), discard_authToken(). 51
  52. 52. Mobile Client Middleware(Broker) Cloudlet and Cloud Pool Cloud Service Registry and Discovery Qos Qos Monitoring , Service Discovery Monitoring Qos Analyzer Admission Control Scheduler Cloudlet Cloud Pools Pools Mobile Client Mobile Profile Monitoring Mobile Profile Analyzer
  53. 53. Middleware Blocks FunctionalitiesAdmission Control Accepts or rejects mobile client requests according to the resources available and mobile profile (it could be power- aware, resource –aware and…. Policies, Maybe Game Theory could be used for optimal admission policy).Mobile Profile Monitoring Monitors mobile profile.Mobile Profile Analyzer Analyzes mobile profile specially power level, location pattern,… for optimal scheduling.Scheduler It schedules the accepted requests and design a plan according to the negotiations done with Cloudlets (Schedule Queue).Qos Monitoring, Service It discovers cloudlets (maybe based on ontology andDiscovery (Cloud and semantics) in the area (like UDDI), its Qos during serviceCloudlets) from mobile client. It also registers its services and middleware business on UDDI for accessing mobile clients.Qos Analyzer It is analyzing the Cloudlets services and make a list of suitable cloudlets and policy of admission.Mobile Client Block FunctionalitiesQos Monitoring Reports the Middleware about the Qos of the cloudlets. 53
  54. 54. Sample Prototype• Simple barcode reader service has been implemented.• In this scenario the user takes a picture of the barcode for getting some information about the object, for example the cheapest price location.• The picture is send to cloudlet for processing.• The cloudlet extract the information and query Amazon or other clouds for the price.• The price will be return back to user.• The next picture shows the scenario sequence diagram [Rahimi_2008]. 54
  55. 55. Cloudlet Cloud 55
  56. 56. Yahoo Cloud (Flicker) as a Cache. Cloud(Yahoo) Cloudlet Cloud(Amazon) 56
  57. 57. 57
  58. 58. Class Diagrams: Mobile Client 58
  59. 59. 59
  60. 60. 60
  61. 61. 61
  62. 62. 62
  63. 63. Class Diagrams: Cloudlet 63
  64. 64. 64
  65. 65. 65
  66. 66. 66
  67. 67. Conclusions and Research Direction• We talked about the new era in Information Technology which is know as cloud computing.• Several different aspects of this area have been reviewed and discussed.• The deployment of cloud computing in mobile environment were discussed.• This middleware could be implemented as the Local web services (as in barcode reader example).• Good simulation environment should be considered in this area (Currently I am working on OMNet++ to develop for service composition in mobile environment) 67
  68. 68. References1. [Alonso_2004] G. Alonso, F. Casati, H. Kuno, V. Machiraju “Web Services, Concepts, Architectures and Applications” , Springer 2004.2. [Berkely_2009] “Above the Clouds: A Berkeley View of Cloud Computing”, Tech. Report 2009.3. [Chen_2003] H. Chen, T. Yu and K. Lin. “QCWS: An Implementation of QoS-Capable Multimedia Web Services”, In Proc. of IEEE 5 th Symposium on Multimedia Software Engineering (MSE03), Taiwan, Dec 20034. [Giurgiu_2009] Giurgiu, I., Riva, O., Juric, D., Krivulev, I., and Alonso, G ” Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications” In Proceedings of the 10th ACM/IFIP/USENIX international Conference on Middleware (Urbana, Illinois, November 30 - December 04, 2009).5. [Huang_2007] Huang, Y. and Venkatasubramanian, N. “ Supporting Mobile Multimedia Applications in MAP Grid ” In Proceedings of the 2007 international Conference on Wireless Communications and Mobile Computing (Honolulu, Hawaii, USA, August 12 - 16, 2007). 68
  69. 69. References (cont.)6. [Huang_2005] Huang, Y., Mohapatra, S., and Venkatasubramanian, N ”An Energy-Efficient Middleware for Supporting Multimedia Services in Mobile Grid Environments” In Proceedings of the international Conference on information Technology: Coding and Computing (Itcc05) - Volume II - Volume 02 (April 04 - 06, 2005).7. [Huang_2002] Y. Huang, N. Venkatasubramanian, "QoS-Based Resource Discovery in Intermittently Available Environments," pp.50, 11th IEEE International Symposium on High Performance Distributed Computing , 2002.8. [IBM], "WSLA Web Service Level Agreement“ [Ko_2008] Ko, J. M., Kim, C. O., and Kwon, “Quality-of-Service Oriented Web Service Composition Algorithm and Planning Architecture”. J. Syst. Softw (Nov. 2008).10. [Mell_2009] P. Mell, T. Grance, "The NIST Definition of Cloud Computing", Version .15, Oct 2009. 69
  70. 70. References (cont.)11. [Mabrouk_2009]N. Mabrouk, S. Beauche, E. Kuznetsova, N. Georgantas, and Issarny “ QoS-Aware Service Composition in Dynamic Service Oriented Environments ” In Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware (Middleware 09).12. [Rahimi_2008] M. R. Rahimi, J. Hengmeechai, N. Sarshar “Ubiquitous Application of Mobile Phones for Getting Information from Barcode Picture”, in the iCORE2008, Edmonton, Canada.13. [Satyanarayanan_2001] Satyanarayanan, M. "Pervasive Computing: Vision and Challenges“ IEEE Personal Communications, August 2001.14. [Satyanarayanan_2009] Satyanarayanan, M., Bahl, P., Caceres, R., and Davies, N. 2009. “The Case for VM-Based Cloudlets in Mobile Computing” IEEE Pervasive Computing 8, 4 (Oct. 2009), p. 14-23.15. [Zeng_2003] Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., and Sheng, Q. Z. 2003. “Quality Driven Web Services Composition”. In Proceedings of the 12th international Conference on World Wide Web (Budapest, Hungary, May 20 - 24, 2003). 70