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. 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. 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. 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.
8
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. 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. Service Models (cont.)
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg
11
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. 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. Deployment Models (cont.)
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg
14
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
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. 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. 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. Cloud Computing Modeling: Functional
View (cont.)
⢠Critical Service: The services in the plan with the
highest number of inputs and outputs edges.
21
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. 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. 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 ) zi
Qos reliabilit y
( wf ) e y
for non - critical
i 1
services zi 0 else 1.
N
qavailabili ( ci , s j ) zi
Qos 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. ⢠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. 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 problem
Subject 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
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. 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
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
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
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. 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. 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. 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
Scheduler
Req 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. 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. 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. 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. 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. 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. Original Plan
S6 S1 S2 S3
S4
S7 S8 S5
Mobile Cut
Mobile Cut
S6 S1 S2 S3 S6 S1 S2 S3
S4 S4
S7 S8 S5 S7 S8 S5
44
45. âYou usually use your cell phone for
communication service. Why not
getting computation service?â
Reza, UCI Student ď
45
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. Cloud Pool
(Amazon, Google, Microsoft,âŚ.)
Cloudlet or Cloudlet or
Cloudlet or
Wireless Cloud Wireless Cloud
Wireless Cloud
47
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. 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. 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
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. Middleware Blocks Functionalities
Admission 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 and
Discovery (Cloud and semantics) in the area (like UDDI), its Qos during service
Cloudlets) 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 Functionalities
Qos Monitoring Reports the Middleware about the Qos of the cloudlets.
53
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
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. References
1. [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).
68
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 (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.
69
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