View
53
Download
2
Category
Tags:
Preview:
DESCRIPTION
Mobile Grid/Cloud Computing. Dealing with mobility. Proxy must be close to device for effectiveness Idea – use a network of proxies and identify how to use the proxy network for multiple moving devices… Where to obtain proxies Fixed backbone infrastructure (Akamai) - PowerPoint PPT Presentation
Citation preview
Mobile Mobile Grid/Cloud Grid/Cloud Computing Computing
Dealing with mobility
Proxy must be close to device for effectiveness Idea – use a network of proxies and identify how to
use the proxy network for multiple moving devices…Where to obtain proxies
Fixed backbone infrastructure (Akamai)– Could be effective, but proprietary
Grid infrastructure (MAPGRID)– Open access, but intermittently available
Cloud infrastructure (Charisma)– Open access, limited ability to tailor use of proprietary
backbone resources
Observations (I) – Proxy-based Techniques
Network proxies support for mobile applications, e.g.: Proxy caching:
[Hadjiefthymiades WWW01], [Xu TKDE04],[Wang TM 07], etc.
Proxy-based content transcoding: [Shenoy, MMCN03] [Change EUROMICRO Journal 07], etc.
Offloading tasks: [Kejariwal, Trans VLSI 06], [Mohapatra, ACM 2003],[ Li, NOSSDAV 2003], etc.
► Grid/Cloud infrastructure support for implementing proxy-based solutions, e.g: using grid machines as proxies for mobile applications [Phan MobiCom 02]
► Online Server or third party Storage► e.g. iPhone 3G MobileMe keeps all user information in the “cloud”
“
Observations (II)- Context Awareness and Predictability
Importance of Context information, e.g. Enabling mobile applications:
Location-based services
Achieving service flexibility and adaptability: Layered video transcoding [Shanableh Transaction of Multimedia 05], etc.
Improving system performance: Mobility-aware data allocation (increasing cache hit ratio) [Peng ICPP00], etc.
Predictability and Patterns of Context Exploited for improving handoff performance, reducing task failure rate and dynamic
resource allocation, etc Mobility prediction [Song, IEEE Transaction on Mobile Computing 06] Mobility models [ MCNett SIGMOBILE review 05] [Hong MSWiM99] Characterizing resource availability in desktop grids [Kondo FGCS 07]
MAPGrid: A New ParadigmGrid Enabled Mobile Applications
VS 3
VS 2
VS 1
Broker
Research Challenges Resource Discovery
Application aspect Ensure user QoS satisfaction
System View Define an “optimal” grid resource allocation
• User mobility• resource heterogeneity• Grid intermittent availability
Adapt to changing context • User mobility, device energy, and proxy availability
► Data Placement Application aspect
► Guarantee data availability► Improve information retrieval efficiency with user mobility
System View► Address both short term on-demand caching and long term data placement ► Make caching or data replication at finer granularity► Balance availability efficiency tradeoff
MapGrid
Uses (idle) grid computing resources as the intermediate node 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.
7
Mobile Mobile ClientClient
BrokerBroker
Mobile ClientMobile ClientMonitoringMonitoring
Directory Directory ServiceService
Request Request SchedulerScheduler
Resource Resource ReservationReservation
Placement Placement ManagementManagement
Tertiary Tertiary StorageStorage
Volunteer Servers(Grids)
Grid Grid MonitoringMonitoring
MapGrid Middleware Service ArchitectureMapGrid Middleware Service Architecture
ReqReq
InfoInfo
Moving_ProfileMoving_Profile
ReqReqReq*Req*
Req#Req#
Req@Req@
DataData
1. Resource Discovery2. Schedule Planning
1. Resource Discovery2. Schedule Planning
Reports changes in grid resources
Reports changes in grid resources
Admission ControlAdmission Control
Contains information about available resources on Grid
and Clients
Contains information about available resources on Grid
and Clients
Replace the data to grid resources
Replace the data to grid resources
Mobility Pattern detectionMobility Pattern detection
8
MapGrid 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.
If grid j is available at time t equal 1 else 0.
Distance of grid J from request R.
Distance of grid J from request R.
9
Grid Resource Discovery for Mobile Services
Partition Service Period
All chunks have VS assignments?
Proxy (VS) Selection
Y
N
• apply mobility or location information• choose the number of chunks (partition)
• decide the size of each chunk
• choose available VSs• choose lighter loaded VSs
• choose “closer” VSs• Satisfy different QoS reqirements on service
response time, service continuity…
Rescheduling if dynamic changes happen
R: < IDR: < IDRR , T , Q , T , QL L , Q, QHH, , , , EERR , itinerary> , itinerary>
• Rescheduling when device has no enough residual energy for the current QoS level
• Rescheduling when grid node fails
Grid Resource Discovery for Mobile Services
Partition Service Period
All chunks have VS assignments?
Volunteer Server Allocation
Y
N
Problem:► Determine number of partitions and size of
each partitionMachine learning approach using mobility info
Rescheduling if dynamic changes happen
Grid Resource Discovery for Mobile Services
Partition Service Period
All chunks have VS assignments?
Volunteer Server Allocation
Y
N
Rescheduling if dynamic changes happen
Optimizing grid resource selection► Factors: Load, location, availability,
capacity ► Achieve system-wide load balancing ► Maximize the number of accepted
servicesGraph theoretic approach
Grid Service Discovery (Multimedia Application)
P2-T2
0
1000
2000
3000
4000
5000
6000
7000
8000
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49
time (hours)
num
be
r o
f re
ject
ion
s
IS-C-SS
IS-C-MS
DS-C-SS
DS-C-MS
DS-D-SS
DS-D-MS
P2: Deterministic data placementP2: Deterministic data placementT2: Random VS availabilityT2: Random VS availability
Collections of services support by Collections of services support by grid significantly increases grid significantly increases
request acceptance and request acceptance and Completion ratios Completion ratios
Uncompleted requests when VSs become unavailable simultaneously
1036
6982
116 118
146168
190
224 231
266
0 0 0 0 0 0 0 0 11
193
104
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12
number of VSs that become unavailable simultaneously
nu
mb
er o
f re
qu
ests
th
at
can
no
t b
e co
mp
lete
d no adaptation
with adaptation
MAPGrid Prototype
Client
Volunteer Servers
BrokerGlobus Toolkit
The Volunteer Server can join and disjoin the grid dynamically .
Failure detection for both client and VSs using Globus life time management control.
Data
Information Services
Life time control
GridFTP
JMF (Java Media Framework)
JADEHttp
Client can specify QoS requirements via friendly GUI
Mobile Cloud Mobile Cloud ComputingComputing
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).
It can be rapidly provisioned and released with minimal management effort.
It provides high level abstraction of computation and storage model.
On-Demand Self Service, Heterogeneous Access,Resource Pooling.
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.
17
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 an analyzable and predictable computing platform.
18
Essential Characteristics (cont.)
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.
19
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.
20
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.
21
Service Models (cont.)
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg
22
Service Models (cont.)
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.
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).
23
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg
24
Deployment Models (cont.)
Evolution of Computing Environment: Evolution of Computing Environment: [Satyanarayanan_2001] : [Satyanarayanan_2001] :
Toward Pervasive Computing environmentToward Pervasive Computing environment25
Cloud Cloud Computing Computing
PromisesPromises
Towards Pervasive Computing
Cloudlet It has been shown that a one hop connection from mobile
device to internet is not efficient. Humans are sensitive to the current delay in clouds
latency is unlikely to improve significantly security and firewall it is unlikely that latency improves (although
increase in bandwidth).
Cloudlet Between mobile devices and cloud pools (Infrastructure).
A cloudlet (micro edition of cloudmicro edition of cloud)only contains soft states such as cache copies of data or code.
26
Cloudlets are as the infrastructure for mobile cloud computing. From: [Satyanarayanan_2009]
27
The prototype based on this systems is implemented in CMU and called Kimberley [Satyanarayanan_2009] .
Cloudlet (cont.)
28
Dynamic Task Reconfiguration
How can we support dynamic task/service reconfiguration to achieve energy gains (i.e. migrate computationally expensive tasks from the device to the proxy and use the results locally)
Approach:Identify “energy intensive” components that can be dynamically migrated to a proxy► What to reconfigure?
computation/communication characteristics of tasks (use Profiling) Current residual power of the device
► When to reconfigure? Identify set of policies that dictate how often or under what conditions reconfigurations should be initiated
29
Dynamo: Dynamic Task Reconfiguration
►Cast the distribution problem as a “Source Parametric Flow Network”.
►Use Current residual energy at device to make the flow graph “source parametric”
How to maintain an optimized component distribution under dynamic device power conditions?
Problem
Solution
30
Source Parametric Flow Graph
D P
device proxy
Rd
Rp
Runtime on Device
Runtime on Proxy
M1
M2
Mn
A1
Ai = Energy cost of
executing task Mi at the
proxy.
infinite
Ap
A2
An
B1
Bi = Energy cost of
executing task Mi at the device.
Bd
infin
ite
B2
Bn
X1
Yn
• If Mi is executing on the Device, then Xi = communication costs in energy terms
• If Mi is executing on the Proxy, then Yi = communication costs in energy terms
Xn
Y1
Y2
X2
31
High Level Algorithm► The minimum cut of the graph determines which
components can be moved to the proxy.► Can be solved using a modified FIFO Pre-Flow push
algorithm. ► Complexity = O(n3)
FOR (each reconfiguration interval) DOBEGIN
o update list of components/residual energy on device
o generate network flow grapho determine component partitioning (min cut)
o IF (new partition) o reconfigure components between device
and proxyEND
AlfredO Platform (ETH Zurich)
SaaS distribution model for physical services (MW 2008, 2009) Mobile Phones as universal interfaces to cloud applications Supports partition and distribution of modularized applications in a client-server setup
OSGI-based (Open Services Gateway Initiative) Focus on presentation and logic modules
32
Virtual ticket machineTurn the phone into an
interface for theticket machine
Home 3D Planner
AlfredO architecture and applications (MW 2009)
Component Based Architecture Supports optimal task migration between server and mobile client [Middleware 2009].
Generate an application graph and determine a cut (tasks done on server side and remaining will be done on mobile side) to meet the required optimization issues.
Premise: Modularized application and Model of resource consumption and dependencies among application modules
Goal: Partition the application between phone and server based on different criteria (bandwidth, memory)
34
S1 S2 S3
S4
S5S7
S6S6
S8
S1 S2 S3
S4
S5S7
S6
S8
Mobile CutMobile CutMobile CutMobile CutMobile CutMobile CutMobile CutMobile Cut
S1 S2 S3
S4
S5S7
S6
S8
Original PlanOriginal PlanAlfredO
AlfredO (MW 2009)
Just like ISPs cloud computing could be considered in different Tiers.
The backbone Cloud which usually large organization such as Google, Yahoo, Microsoft support them.
The second tier is edge Cloud which is near end user.
Tier 2-Cloud (Edge Cloud)
Tier 1-Cloud (Backbone Clouds,. Amazon EC2, Azure,… )
CHARISMA: Tiered Clouds
Mobile ClientMobile Client Middleware(Broker)Middleware(Broker) Cloudlet and Cloud Cloudlet and Cloud PoolPool
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
38
Middleware BlocksMiddleware Blocks FunctionalitiesFunctionalities
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 Discovery (Cloud and Cloudlets)
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 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.
Barcode Reader: Sample Application
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 sent to cloudlet for processing. The cloudlet extracts the information and queries Amazon
or other clouds for price and returns back to the user
39
CloudCloudCloudletCloudlet
40
Cloud(Amazon)Cloud(Amazon)
CloudletCloudlet
Cloud(Yahoo)Cloud(Yahoo)
Yahoo Cloud (Flicker) as a Cache.
41
Cloud computing
Remote access to distributed and shared cluster resources Potentially owned by someone else (e.g. Amazon, Google, …)
Users rent a small fraction of vast resource pools• Advertised service-level-agreements (SLAs)
• Resources are opaque and isolated
Offer high availability, fault tolerance, and extreme scale
Relies on OS, network, and storage virtualization/isolation
SLAs
Web Services
Virtualization
Ad Hoc
Future: Interoperable NetworkingHeterogeneous access technologies available
End devices equipped with multiple radio interfaces
Applications are run over the most efficient access
networks
802.11b
802.11a
Bluetooth
GPRS
UMTS
Wi-Fi
Cellular......
Reliable Secure QoS over
multiple access networks
Always Best Connected: Solution Components
access discovery
access selection
AAA support
mobility management
content adaptation
profile handling
• what accesses are currently available?• what are their bandwidth and delay?
• what access to choose; what is “best”?• user/network-based solution• one or multiple accesses in parallel
• session continuity, session transfer• support for real-time services
• authentication, authorization, accounting• accesses, services... single logon
• applications adapting to access & device
• personal profiles for ABC• access selection & content adaptation
Access Selection: Benefits Continual connectivity
Uninterrupted Internet access even when some of the access networks are unavailable
High throughput/QoS Connect via the access network with highest data rate and/or
shortest delay Broader bandwidth
Aggregate the bandwidth offered by multiple access networks Energy Conservation
Different power consumption properties of access networks provide chances for better energy efficiency.
Enhanced Security Transmitting sensitive data on multiple access networks
potentially provides higher security.
Access Selection: Research Challenges
Non-predetermined traffic flows start/terminate at discrete time points.
Access networks’ bandwidth and delay might fluctuate.
How to select appropriate access networks for application traffic flows?
QoS requirements Energy consumption User/application
specified access preferences
Dynamicity Multiple Constraints
Groupware apps
Multiparty collaborationsSegutiReliability + Security
Summary
New Generation of Pervasive and Mobile Computing Applications with diverse content Need significant enhancements in system and software support
Distributed mobile middleware can significantly improve performance of next generation mobile applications. Open interfaces will yield much more optimized solutions for distributed
mobile devices.
The use of cross-layer design architectures is inevitable for future mobile systems, if we are to realize cumulative benefits of independent research at each system layer.
Recommended