Mobile Cloud Computing: Big Picture M. Reza Rahimi, DONALD BREN SCHOOL OF INFORMATION AND COMPUTER SCIENCE, Irvine, CA.
May 09, 2015
Mobile Cloud Computing: Big Picture
M. Reza Rahimi,DONALD BREN SCHOOL OF INFORMATION AND
COMPUTER SCIENCE, Irvine, CA.
2
“You don't generate your own electricity. Why generate your own
computing?” Jeff Bezos, CEO, Amazon
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
4
Cloud Computing: Concepts and Terminologies
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.
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.
7
• 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.
Essential Characteristics (cont.)
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, Learn.com.
9
• 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.
Service Models (cont.)
10
• 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.
Service Models (cont.)
11
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg
Service Models (cont.)
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.
13
• 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).
Deployment Models (cont.)
14
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg
Deployment Models (cont.)
15
Cloud Computing Modeling
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 :
• Service Pool is the set of all supporting services in the system or:
• Cloud-Service Matching Graph is the bipartite graph which matches the clouds to their related services.
},...,,{ ||21 poolCpool cccC
},...,,{ ||21 poolSpool sssS
17
c1
c2
c3
c4
cn
s1
s2
s3
s4
sn
cloud-service matching graph
Cloud Computing Modeling: Functional View (cont.)
18
• 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
Cloud Computing Modeling: Functional View (cont.)
19
• If a node has more than one outgoing edges to the other nodes then it is called concurrent edges (Fork Concept or AND-Parallel):
• If a node has two outgoing edges with weight then it is called conditional edges (or XOR-Parallel).
si sj sk
sl
sm
Concurrent edges Sequential edges
p1
p2
si sj sk
slConditional edges Sequential edges
p1+p2=1; 0<p1,p2<1
Cloud Computing Modeling: Functional View (cont.)
20
• The loop node is considered as:
• It could be easily converted to sequence edges with the upper bound loop limit.
• The loop in this graph could be avoided as:
sj
While/Loop
sj
While/Loop
sj sj sj sjLoop Bound=4
sj si sjsj si
Cloud Computing Modeling: Functional View (cont.)
21
• Critical Service: The services in the plan with the highest number of inputs and outputs edges.
Cloud Computing Modeling: Functional View (cont.)
22
Cloud Computing Modeling: Qos View
• The cloud quality of service is defined as:
• Some important Single Cloud Qos are:
),...,,(: 21 npoolpool qqqSCQos
.or level service define also could we serviceFor
. cloudon
of received are results theandsent isrequest awhen
moment ebetween th secondsin Delay ),(
. cloudon service using of Price),(
Leveljj
ij
jiduration
ijjiprice
ss
cs
scq
csscq
23
),,,,,(:
[0,5]Amazon like
service theofRank Social ),(
time.specific within accessible is
service y that teprobabilit The ),(
recieve. could on
that clients of maximum The),(
time.specific
whithin answeredcorrectly is
request y that theprobabilit The ),(
reputationtyavailabiliCapacityyreliabilitdurationpricepoolpool
jireputation
jityavailabili
i
jjiCapacity
jiyreliabilit
qqqqqqSCQos
scq
scq
c
sscq
scq
Cloud Computing Modeling: Qos View (cont.)
24
Job Qos (end-to-end Qos)
• The Qos is also defined for work flow.
job. executablein
services all of reputation avaerage The)(
1. else 0 services
critical-nonfor )(
1. else 0 services
critical-nonfor )(
job. executablein path longest The)(
job. executablein prices theof Sum)(
1
),(
1
),(
wf
z
ewf
z
ewf
wf
wf
Qos
Qos
Qos
Qos
Qos
reputation
i
N
i
zscq
tyavailabili
i
N
i
zscq
yreliabilit
duration
price
ijityavailabili
ijiyreliabilit
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
26
spaces. service and cloudsover isselection The
5
11
)(
)(
)(
)(
)(
:Subject to
max)
)(
)((5)
)(
)((4
))(
)((3)
)((2)
)((1
i iw
reputationcwfQosreputation
tyavailabilicwfQos tyavailabili
yreliabilitcwfQos yreliabilit
durationcwfQosduration
pricecwfQos price
wfQosreputation
reputationcwfQosreputationw
wfQos tyavailabili
tyavailabilicwfQos tyavailabiliw
wfQos yreliabilit
yreliabilitcwfQos yreliabilitw
durationc
wfQosdurationc durationwpricec
wfQospricecprice
w
one possibleoptimization problem
when the target function is linear.
27
Mobile Cloud Computing: Toward Pervasive
Computing
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
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.
Evolution of Computing Environment: [Satyanarayanan_2001] :
Toward Pervasive Computing environment30
Cloud Computing
Promises
Motivation (cont.)
31
• 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.
Motivation (cont.)
32
33
• 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.
Motivation (cont.)
34
Related Works: Cloudlet MapGrid
and Calling the Clouds
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.
36
Cloudlets are as the infrastructure for mobile cloud computing. From: [Satyanarayanan_2009]
The prototype based on this systems is implemented in CMU and called Kimberley [Satyanarayanan_2009] .
Cloudlet (cont.)
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.
38
Mobile Client
Broker
Mobile ClientMonitoring
Directory Service
Request Scheduler
Resource Reservation
Placement Management
Tertiary Storage
Volunteer Servers(Grids)
Grid Monitoring
MapGrid Middleware Service Architecture
Req
Info
Moving_Profile
Req Req*
Req#
Req@
Data
1. Resource Discovery2. Schedule Planning
Reports changes in grid resources
Admission Control
Contains information about available resources on Grid
and Clients
Replace the data to grid resources
Mobility Pattern detection
39
MapGrid Definitions and Notations
• Request: R(VID, itinerary) where VID is the video and itinerary is mobility information.
• Grid Loading Factor:
• Grid Factor:
10 j. gridon resource available to
resource requested of ratio theis X where
},,,max{),(
a
j
aaaaj
LF
DBWNBWMEMCPUtRLF
),(),(
),(),(
RjDisttRLF
tjtyAvailabilitRGf
jj
If grid j is available at time t equal 1 else 0.
Distance of grid J from request R.
40
• 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.
MapGrid Definitions and Notations (cont.)
41
MapGrid Optimization• With the knowledge of the mobility pattern,
we could optimize the first two function, service period and grid resource allocation.
• 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.
)],(),...,,[( 11 nn CellTimeCellTimeitinenary
42
• 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.
location. grid theis y)(x, andcenter cell is
)b,(a .cellin spendsclient mobile
the timeofduration theis where
)()(),(
iii
22
1
i
ii
n
ii
D
byaxDyxf
MapGrid Optimization (cont.)
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.
44
S1 S2 S3
S4
S5S7
S6
S8
S1 S2 S3
S4
S5S7
S6
S8
Mobile CutMobile Cut
S1 S2 S3
S4
S5S7
S6
S8
Original Plan
45
“You usually use your cell phone for communication service. Why not getting computation service?”
Reza, UCI Student
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.
47
Cloud Pool(Amazon, Google, Microsoft,….)
Cloudlet or Wireless Cloud
Cloudlet or Wireless Cloud
Cloudlet or Wireless Cloud
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.
• Based on different criteria we could optimize the solution for different mobile and movment pattern.
S1|L0|T6 S2|L1|T7 S3|L2|T1
S4|L3|T5
S5|L4|T4S7|L1|T2
S6|L0|T0
S8|L0|T3
Time_LocationWorkflow
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.
50
• 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.
Mobile Cloud Computing Applications (cont.)
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().
Mobile Client Middleware(Broker) Cloudlet and Cloud Pool
Cloud Service Registry and Discovery
AdmissionControl
Mobile Profile Monitoring
Qos Monitoring , Service Discovery
Scheduler
Mobile Client
Cloudlet Pools
Mobile Profile Analyzer
Qos Analyzer
Cloud Pools
Qos Monitoring
53
Functionalities Middleware Blocks
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).
Admission Control
Monitors mobile profile. Mobile Profile Monitoring
Analyzes mobile profile specially power level, location pattern,… for optimal scheduling.
Mobile Profile Analyzer
It schedules the accepted requests and design a plan according to the negotiations done with Cloudlets (Schedule Queue).
Scheduler
It discovers cloudlets (maybe based on ontology and semantics) in the area (like UDDI), its Qos during service from mobile client. It also registers its services and middleware business on UDDI for accessing mobile clients.
Qos Monitoring, Service Discovery (Cloud and Cloudlets)
It is analyzing the Cloudlets services and make a list of suitable cloudlets and policy of admission.
Qos Analyzer
Functionalities Mobile Client Block
Reports the Middleware about the Qos of the cloudlets.
Qos Monitoring
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].
55
CloudCloudlet
56
Cloud(Amazon)
Cloudlet
Cloud(Yahoo)
Yahoo Cloud (Flicker) as a Cache.
57http://www.youtube.com/watch?v=fQywFeN1wdM
58
Class Diagrams:
Mobile Client
59
60
61
62
63
Class Diagrams: Cloudlet
64
65
66
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)
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 2003
4. [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).
69
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 (Itcc'05) - 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“ http://www.research.ibm.com/wsla/
9. [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.
References (cont.)
70
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).
References (cont.)