* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Computer network wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Policies promoting wireless broadband in the United States wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Wireless security wikipedia , lookup
Airborne Networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Mobile Computing – A Distributed Systems Perspective Prof. Nalini Venkatasubramanian Department of Computer Science University of California, Irvine Outline The Future: Mobile and Pervasive Computing An Applications View A Content View Multimedia Content QoS Basics and End-to-end support A Systems View Device, Operating System Networks, Middleware Application, Content A Cross-Layer Approach to Systems Support Supporting Cross Cutting Concerns (Security, Reliability, Heterogeneous Interoperability) Pervasive Computing and Communication Proliferation of devices System support for multitude of smart (mobile) devices that • attach and detach from a distribution infrastructure • produce a large volume of information at a high rate • limited by communication and power constraints Require a customizable global networking backbone. That can handle heterogeneous needs of applications • Quality of Service (QoS), security, reliability That can make effective use of the underlying infrastructure Intelligent Middleware is key to supporting application needs in a highly dynamic environment Distributed Mobile Applications In the last 5 years….. New devices w/ new capabilities Data capture, storage, presentation New apps Social networking,…. Multimedia applications, gaming, data capturing, download/upload/streaming Information seek/notification New network infrastructures DTN, WiMax, UWB,… New computational infrastructure Cloud computing, grids… New problems and challenges… Introduction Mobile Ecosystem Users Applications Networks Mobile Devices Access Point WLAN Cell Phone Internet ad hoc network BS GSM or CDMA PDA Laptop Technology Incentive Growth in computational capacity MM workstations with audio/video processing capability Dramatic increase in CPU processing power Dedicated compression engines for audio, video etc. Rise in storage capacity Large capacity disks (several gigabytes) Increase in storage bandwidth,e.g. disk array technology Surge in available network bandwidth high speed fiber optic networks - gigabit networks fast packet switching technology Enabler: Mobile Communication Networks Cellular - GSM (Europe+), TDMA & CDMA (US) FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) Public Packet Radio - Proprietary 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Wireless LAN - wireless LAN bridge (IEEE 802.11) Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Paging Networks – typically one-way communication low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS) LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) Mobile Network Architecture Wireless network characteristics Variant Connectivity Low bandwidth and reliability Frequent disconnections • predictable or sudden Asymmetric Communication Broadcast medium Monetarily expensive Charges per connection or per message/packet Connectivity is weak, intermittent and expensive Device Characteristics Battery Power restrictions Transmit/receive, disk spinning, display, CPUs, memory consume power Resource constraints Mobile computers are resource poor Reduce program size Computation and communication load cannot be distributed equally Small screen sizes Mobility Characteristics Location changes • location management - cost to locate is added to communication Heterogeneity in services bandwidth restrictions and variability Dynamic replication of data • data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static Challenges Application Context System support for multitude of components Attach and detach from a distributed infrastructure Increasing QoS., security, reliability demands Deal with large vol. of information at a high rate Soft Real Time Constraints Changing global system state Support for traditional media (text, images) and continuous media (audio/video) Synchronization (e.g. lip sync., floor control) Challenges Need high degree of “network awareness” and “customizability” congestion rates, mobility patterns etc. QoS driven resource provisioning Heterogeneous networks Heterogeneous devices Limited battery lifetime Size/weight limitations Computation/Communication constraints Mobile Multimedia – Rich Media applications on mobile devices OBJECTIVE : Stream rich multimedia content at highest possible quality (user experience) over wired and wireless networks Low-power mobile device Video stream Wide Area Network MEDIA SERVER Wireless Network Access point Video request Challenges • Soft Real time Requirements • High demands on CPU / Network • Loss in performance directly affects user perception Opportunities • Predictable regular behavior allows for interesting optimizations and adaptations Multimedia Information Systems: Challenges Sheer volume of data Need to manage huge volumes of data Timing requirements among components of data computation and communication. Must work internally with given timing constraints - real-time performance is required. Integration requirements need to process traditional media (text, images) as well as continuous media (audio/video). Media are not always independent of each other - synchronization among the media may be required. High Data Volume of Multimedia Information Speech 8000 samples/s 8Kbytes/s CD Audio 44,100 samples/s, 2 176Kbytes/s bytes/sample Satellite Imagery 180X180 km^2 30m^2 resolution NTSC Video 30fps, 640X480 pixels, 3bytes/pixel 600MB/image (60MB compressed) 30Mbytes/s (2-8 Mbits/s compressed) Quality of Service in MM Applications QoS: A Design Parameter for MM Minor violations of performance requirements Generally used to express constraints on Timing, availability, reliability,security, resource utilization User (Perceptual QoS) Application (Application QoS) System (Operating and Communication System) (System QoS) (Device QoS) MM devices (Network QoS) Network QoS Classes QoS Service Classes determine reliability of offered QoS utilization of resources Guaranteed Service Class QoS guarantees are provided based on deterministic and statistical QoS parameter values. Predictive Service Class QoS parameter values are estimated and based on the past behavior of the service Best-effort Service Class No guarantees or only partial guarantees provided No QoS parameters are specified or some minimal bounds are given. Supporting continuous media: Approaches Admission control Provide different service classes Fast storage and retrieval of Multimedia content Optimized organization (placement) of multimedia files on disk Special disk scheduling algorithms Efficient Memory Management Sufficient buffers to avoid jitter Intelligent Caching End-to-end QoS for Wired Applications Usually achieved through QoS Brokers Coordinates interactions between multiple sessions with QoS needs Typical Functions of a QoS broker Resource Provisioning Deal adaptively with incoming requests Allocate server, network and client resources Predictive and Adaptive Data Placement Re(configure) data to service requests more efficiently Must maintain resource allocation invariants Supporting QoS in Mobile Applications New challenges Constantly changing system conditions Network connectivity, user mobility Device constraints Energy, CPU, display, bandwidth This needs Provisioning, re-provisioning based on local conditions of wireless network Data Placement based on current and projected data access patterns Cross-layer awareness required Resource provisioning algorithms utilize current system resource availability information to ensure that applications meet their QoS requirements QoS-based resource provisioning Provisioning Network and Server Resources Effectively State information enables decision making for resource provisioning - e.g. Routing, Scheduling and Placement Maintaining accurate and current system information is important Existing Approaches In network : QoS Based Routing At Server : Server Load Balancing Future Middleware will support CPSS (Combined Path and Server l l : UF (l , r , n), DL Scheduling) s1 l l : BWavail , DLl s1 O s2 s3 s2 O CD s3 s s : UF ( s1, r , n), RSP Data Placement in Mobile Environments Initial placement Design replication and intelligent S1 data placement mechanisms that Ensure effective resource management Ensure QoS for admitted clients S2 S3 v1 v2 v5 v6 v1 v2 v3 v4 v1 v2 v3 v4 Design caching mechanisms Partition data/processing between mobile clients and infrastructure S1 S2 S3 Allows disconnected operation v1 v2 v5 v6 v6 v5 Efficient power management v3 v4 v1 v2 v3 v4 After replication degree enforcement Need for a Cross Layer Approach Information exchange needed To provide information good enough for resource provisioning tasks such as admission control, load balancing etc. Need an information collection mechanism that is : • is aware of multiple levels of imprecision in data • is aware of quality requirements of applications • makes optimum use of the system (network and server) resources Sample Parameters Network link status, Data server capacity (Remote disk bandwidth, Processor capacity), device constraints (battery power, memory limitations) Case Study: Power Management Power Optimization in battery operated mobile devices is a crucial research challenge Devices operate in dynamic distributed environments Power Management strategies need to be aware of global system state and exploit it. Misc. NETWORK CARD CPU DISPLAY CPU NIC Display Existing Work in Power Optimization • Flinn (ICDSP 2001), Yau (ICME 2002) • Krintz, Wolski (ISLPED 2004) • Noble (SOSP 97, MCSA 1999) • Li (CASES 2002), Othman (1998) • Ellis, Vahdat (IEEE • Abeni (RTSS 98)pervasive 05, Usenix 03, ASPLOS 02) • Hao, Nahrstedt (ICMCS 99, Globecom •Rudenko ( ACM SAC 99, 99),HPDC Satyanarayan (2001) 01) • Yuan (MMCN 03,04, SOSP 03, ACM MM 04), • Rajkumar (03), Anand (Mobicom 03, Mobisys 04) • DVS (Shin, Gupta, Weiser, Srivastava, Govil et. al.) • DPM (Douglis, Hembold, Delaluz, Kumpf et. al.) • Chandra (MMCN 04,02, USENIX 2002, ICPP 04) • Shenoy (ACM MM 2002) • Feeney, Nilson ( Infocom 2001) Katz (IEICE 97) Multimedia 97) • Soderquist (ACM • Azevedo (AWIA 2001) • Hughes, Adve (MICRO 01, ICSA 01) • Brooks (ISCA 2000), Choi (ISLPED 02) • Leback (ASPLOS 2000), Microsoft’s ACPI Quality of Service Application/user feedback DVS, DPM, Driver Interfaces, system calls User/Application Network Interface Card Operating System Architecture (cpu, memory) Network Architecture Power Optimization has been extensively researched Limitations of Current Approaches Limited co-ordination between the different system layers • Address concerns at one or two system levels • Make assumptions about adaptations at other system levels (lack awareness) Device Centric • Cannot exploit global system knowledge Illustration location) What if new applications are started or battery energy changes? (e.g. residual congestion, mobility, Client • Reactive Adaptations Lack of generalized framework Server Wired Network Proxy Client congestion Wireless Network Client Power-aware middleware A power-cognizant distributed middleware framework can o dynamically adapt to global changes o co-ordinate techniques at different system levels o maximize the utility (application QoS, power savings) of a low-power device. o study and evaluate cross layer adaptation techniques for performance vs. quality vs. power tradeoffs for mobile handheld devices. Caching Compression Traffic Shaping State Monitor Compositing Transcoding Use proxy to dynamically adapt to global changes Execute Remote Tasks Low-power mobile device Wide Area Network server Wireless Network proxy Use a Proxy-Based Architecture Coordinate techniques on device Power-Aware Adaptive Middleware Quality of Service Application/user feedback Distributed Adaptation Cross-Layer Adaptation Power-Aware API Distributed Adaptation Cross-Layer Adaptation Appl. specific Adaptation User/Application Middleware • DYNAMO SYSTEM Mohapatra et. al (ICN 05, ITCC 05, ACM Middleware 04, DATE 04, ICDCS 03, MWCN 03, ACM MM 03, RTAS/RTSS Workshops 03, Estimedia 03, CIPC 03, ICDCS 01) Operating System Architecture (cpu, memory) Network Architecture Cross-Layer Approach User/Application network Distributed Middleware Middleware Operating System Architecture Proxy LOCAL CROSS LAYER ADAPTATION GLOBAL (End-to-End) PROXY BASED ADAPTATION 1. Design end-to-end adaptations that can exploit global state (network noise, mobility patterns, device state etc.) 2. Use control information to notify mobile device of adaptations 3. Adapt strategies on device 1. Expose “state” information to other layers 2. Design strategies at each layer to dynamically adapt to changes at other layers device Energy-Sensitive Video Transcoding for Mobile devices ► We conducted a survey to subjectively assess human perception of video quality on handhelds. ► Hard to programmatically identify video quality parameters ► We identified 8 perceptible video quality levels that produced noticeable difference in power consumption (Compaq iPaq 3600) VIDEO TRANSCODING PARAMETERS QUALITY Q1 (Like original) Video transformation parameters SIF, 30fps, 650Kbps Avg. Power (Windows CE) 4.42 W Avg. Power (Linux) 6.07 W Q2 (Excellent) SIF, 25fps, 450Kbps 4.37 W 5.99 W Q3 (Very Good) SIF, 25fps, 350Kbps 4.31 W 5.86 W Q4 (Good) HSIF, 24fps, 350Kbps 4.24 W 5.81 W Q5 (Fair) HSIF, 24fps, 200Kbps 4.15 W 5.73 W Q6(Poor) HSIF, 24fps, 150Kbps 4.06 W 5.63 W Q7 (Bad) QSIF, 20fps, 150Kbps 3.95 W 5.5 W Q8 (Terrible) QSIF, 20fps,100kbps 3.88 W 5.38 W Quality/Power Matrix for COMPAQ IPAQ 3600 ( Grand Theft Auto Action Video Sequence) Energy-Sensitive Video Transcoding: Visual Comparison Quality 1 (like original) Avg. Power : 6.24 W Quality 4 (good) Avg. Power : 5.81 W Quality 7 (bad) Avg. Power : 5.41 W Parameters varying: frame size, bit-rate, frame rate • Profile power for each quality • Optimize system for each quality Energy-Aware Video Transcoding Video Stream (QSTREAM) Mobile Device Proxy Residual Energy (ERES) User defined Quality (Qthreshold) 12 QSTREAM = Max(Qi) such that PSTREAM * T < ERES QSTREAM > QTHRESHOLD QSTREAM = Video streamed by proxy Qthreshold = Threshold quality level acceptable to the user PSTREAM = Avg. Power consumption for video playback ERES = Residual Energy of device T = Time of playback Normalized Energy saved (%) 10 8 6 4 2 0 Q1 Q2 Q3 Q4 Q5 Q6 Energy-Aware Application Adaptation User Profile Negotiation Application QoS Monitor E-Q profile Transcoder Communication Dynamo Middleware Dynamo Middleware CPU NIC Linux OS NIC Wireless Network Proxy Wireless Network DISPLAY CPU Mobile Device Network Card Optimization Wireless NIC cards can operate in various power modes Avg. power consumption in sleep mode (0.184 W) whereas idle/receive modes consume (1.34/1.435 W) respectively. NIC can be transitioned to sleep mode (high energy savings) Packets can get lost (quality drop) Adaptation Proxy buffers video and sends it in bursts to the device Control info added - when device should wake up Allows for long sleep intervals of the network card on device Limitations Large bursts can result in high packet loss rates Access point and mobile device buffering limitations Adaptation at Proxy QSTREAM = Max(Qi) such that PSTREAM * T < ERES QSTREAM > QTHRESHOLD Video Stream (QSTREAM) # of frames, buffer size, quality Proxy Residual Energy, Quality threshold + Noise (SL), Buffer capacity (Bf), Decode rate (Fd) Set local buffer size based on noise level (empirical) Fix quality level (Qi) to be streamed (QSTREAM ... QTHRESHOLD) Let N = number of transcoded frames in local buffer Burst Size (I) = N / Fd Send next burst after I seconds. Mobile Device Adaptation at Mobile Burst Size (I) = N / F Device Video Stream (QSTREAM) # of frames (N), buffer size, quality, σ Proxy d Mobile Device total number of packets at the Access Point Worst case transmission delay of burst (D) = σ x TAP Therefore total sleep time (δ) for NIC at the device δ = I – D + γ. DEtoE Psaved ≥ δ x (PIDLE - PSLEEP) Switch network card to “sleep” mode for δ seconds after receiving video Network Card Adaptation in Dynamo User Profile Negotiation Application QoS E-Q Monitor profile Network Transmission Transcoder NIC adaptation Communication Dynamo Middleware Dynamo Middleware CPU NIC Linux OS NIC Wireless Network Proxy Wireless Network DISPLAY CPU Mobile Device Network Energy Savings NIC Backlight 1738 Frames Energy Savings – 35% - 57% (over no optimization) Frames Lost – < 12% 399 Frames Energy Savings – 50% - 75% (over no optimization) Frames Lost – < 5% 2924 Frames Energy Savings – 25% - 45% (over no optimization) Frames Lost – < 10% CPU Backlight Compensation Adaptation 1) Enhance luminance of video frames at proxy 2) Dim backlight on the device to compensate luminance enhancement Problems Technique to achieve the suitable (optimal) backlight dimming factor Reduce flicker induced by frequent backlight switching Backlight Adaptation Fair Good Excellent Fair Good Excellent Fair Good Excellent Backlight Level Quality (PSNR) Power Savings 149 162 205 30.17 34.28 42.31 41.8% 36.7% 27.3% Backlight Level Power Savings 80 125 186 44.8% 39.7% 30.3% Backlight Level Power Savings 172 162 205 34.8% 27.7% 21.4% Backlight Adaptation in Dynamo Video Stream (QSTREAM) # of frames, buffer size, quality + Backlight Setting Proxy Mobile Device Residual Energy, Quality threshold + Noise (SL), Buffer capacity (Bf), Decode rate (Fd) Stream luminance compensated video Use backlight quantization table to set backlight Backlight Adaptation using Dynamo NIC Backlight CPU User Profile Negotiation Application QoS E-Q profile B/L Scaling NIC adaptor Backlight Monitor adaptor Network Transmission Transcoder Communication Dynamo Middleware Dynamo Middleware CPU NIC Linux OS NIC Wireless Network Proxy Wireless Network DISPLAY CPU Mobile Device Architecture/CPU Adaptation DVS idea: trade off processor speed for power MPEG frame decoding – good candidate Frame decoding takes less than the frame delay Decoding time – depends on frame type: I, P, B Voltage I B B P B B P no DVS with DVS MPEG Stream 0 D Fd time CPU Adaptation using Dynamo Video Stream (QSTREAM) # of frames, buffer size, quality Backlight Setting + Profiled WCET, BCET, Avg. Execution time Proxy Mobile Device Residual Energy, Quality threshold + Noise (SL), Buffer capacity (Bf), Decode rate (Fd) • Determine video quality • Use a rule base of profiled data to send execution parameters to the mobile device • Middleware communicates execution characteristics to scheduler • Scheduler can now dynamically recompute slowdown parameters for the new video quality CPU Adaptation User Profile Negotiation Application QoS Rule Base E-Q profile B/L Scaling Network Transmission Transcoder NIC adaptor Backlight CPU adaptation Monitor adaptation Communication Dynamo Middleware Dynamo Middleware scheduler Linux OS NIC Wireless Network Proxy Wireless Network DISPLAY CPU Mobile Device Overall Energy Savings Other (8.2%) CPU (27.2%) Network (37.7%) Display (26.9%) Energy Distribution (Before Optimization) After Cross-Layer Optimizations Other Network CPU (8.2%) (15.09%) Savings (13.6%) NIC Savings CPU (22.64%) (13.6%) Display Display Savings (14.8%) (12.1%) Energy Distribution (After Optimization) Note: These are avg. energy savings Total energy savings ~ 48% (for a medium action video clip called Foreman) Implications for a commercial PDA Avg. Battery lifetime of the mobile device increases by approximately 2 times its original lifetime under similar load (i.e. battery power consumption). • Secure Mobile Multimedia – Energy Implications Problem and Motivation Measured Energy (Joules) Mobile multimedia applications are vulnerable to security attacks in wireless networks Significant computation for video encryption is expected on battery-operated mobiles ▶ Evaluate symmetric video encryption schemes w.r.t. energy Battery -Operated Devices Attacks Video Encoder Symmetric Encryption Technique Secure Video Encoder Insecure network 80 Encoding without Encryption 60 50 Encoding with Encryption (Selective) 40 30 Encoding with Encryption (Naïve) 20 10 0 FOREMAN.qcif NEWS.qcif Video Clips Symmetric Decryption Technique Secure Video Decoder Experimental Study 90 Negligible Energy Overhead 70 Video Decoder Reliable Mobile Multimedia – Energy Implications Problem and Motivation Idea: ME (Motion Estimation) is.. Most energy consuming operation Avoiding ME can improve energy profile at the cost of encoding efficiency High impact on image quality Making ME algorithm robust against packet loss can improve error resiliency Video streams over a wireless network Data loss Error control •Channel coding : FEC, Retransmission •Source coding: Error-resilient coding Video Encoder Raw Video ME DCT Q Multiplexing, Packetizing & Channel Encoding VLC Lossy Network Probability Based Partial intra-coding trade-offs among error resiliency, encoding efficiency, energy consumption Experimental Study 36 25 25 30 20 15 10 5 Encoding Energy(J) 20 NO PBPAIR PGOP-3 GOP-3 AIR-24 PSNR (dB) 24 18 12 15 10 5 0 0 49 47 45 43 41 39 37 35 33 31 29 27 25 23 21 19 17 15 13 9 11 7 5 3 0 akiyo garden Energy efficiency PBPAIR PGOP-1 GOP-8 Fast recovery AIR-10 0.2 0.4 PLR Frame Number 0 foreman 0.9 0.6 0.3 6 1 Encoding Energy (J) Encoding Energy Consumption (iPAQ) PNSR Variation Encoding Energy Consumption (iPAQ) 0-5 5-10 0.6 10-15 0.8 1 15-20 0 20-25 Flexibility Intra_Th 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) – 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 Paradigm Grid Enabled Mobile Applications VS 2 VS 3 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. 56 Contains information about available resources on Grid and Clients 1. Resource Discovery 2. Schedule Planning Replace the data to grid resources Admission Control Req Broker Req Tertiary Storage Directory Info Service Request Req* Scheduler Mobile Client Mobile Client Monitoring Moving_Profile Mobility Pattern detection Data Placement Req@ Management Resource Reservation Grid Monitoring MapGrid Middleware Service Architecture Volunteer Servers(Grids) Req# Reports changes in grid resources 57 MapGrid Request: R(VID, itinerary) where VID is the video and itinerary is mobility information. Grid Loading Factor: LF j ( R, t ) max{ CPU a , MEM a , NBWa , DBW a } where X a is the ratio of requested resource to available resource on grid j. 0 LF j 1 Grid Factor: If grid j is available at time t equal 1 else 0. Availabili ty( j, t ) Gf j ( R, t ) LFj ( R, t ) Dist ( j, R) Distance of grid J from request R. 58 Grid Resource Discovery for Mobile Services R: < IDR , T , QL , QH, , ER , itinerary> Partition Service Period • • apply mobility or location information choose the number of chunks (partition) • decide the size of each chunk Proxy (VS) Selection • N choose available VSs • choose lighter loaded VSs • choose “closer” VSs Satisfy different QoS reqirements on service response time, service continuity… • All chunks have VS assignments? Y Rescheduling if dynamic changes happen • 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 Problem: Volunteer Server Allocation ► Determine number of partitions and size of each partition Machine learning approach using mobility info N All chunks have VS assignments? Y Rescheduling if dynamic changes happen Grid Resource Discovery for Mobile Services Partition Service Period Volunteer Server Allocation N All chunks have VS Optimizing grid resource selection assignments? ► Factors: Load, location, availability, capacity ► Achieve system-wide load balancing Y ► Maximize the number of accepted services Graph theoretic approach Rescheduling if dynamic changes happen Grid Service Discovery (Multimedia Application) IS-C-SS P2-T2 8000 Collections of services support by grid significantly increases request acceptance and Completion ratios DS-C-SS 7000 DS-C-MS 6000 DS-D-SS 5000 DS-D-MS 4000 3000 2000 1000 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 300 time (hours) number of requests that can not be completed number of rejections IS-C-MS P2: Deterministic data placement T2: Random VS availability Uncompleted requests when VSs become unavailable simultaneously 250 224 231 no adaptation 193 190 with adaptation 200 266 168 146 150 116 118 100 50 69 104 82 36 10 0 0 0 0 0 0 0 0 11 0 1 2 3 4 5 6 7 8 9 10 11 number of VSs that become unavailable simultaneously 12 MAPGrid Prototype Failure detection for both client and VSs using Globus life time management control. Volunteer Servers GridFTP Information Services JADE The Volunteer Server can join and disjoin the grid dynamically . Globus Toolkit Broker Life time control Http Client can specify QoS requirements via friendly GUI Client JMF (Java Media Framework) Mobile Cloud Computing What is Cloud Computing Cloud computing is a model for enabling convenient, ondemand 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. 66 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 an analyzable and predictable computing platform. 67 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. 68 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. 69 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. 70 Service Models (cont.) Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg 71 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). 72 Deployment Models (cont.) Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg 73 Towards Pervasive Computing Evolution of Computing Environment: [Satyanarayanan_2001] : Toward Pervasive Computing environment Cloud Computing Promises 74 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 cloud)only contains soft states such as cache copies of data or code. 75 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] 76 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 77 Dynamo: Dynamic Task Reconfiguration Problem How to maintain an optimized component distribution under dynamic device power conditions? Solution ►Cast the distribution problem as a “Source Parametric Flow Network”. ►Use Current residual energy at device to make the flow graph “source parametric” 78 Source Parametric Flow Graph Runtime on Device Rd X2 X1 M1 A1 Y1 M2 A2 D Bi = Energy cost of executing task Mi at the device. Bd Xn B1 B2 P proxy device Y2 An Ai = Energy cost A of executing task Mi at the proxy. p Bn Mn Yn Rp Runtime on Proxy • 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 79 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) DO BEGIN o update list of components/residual energy on device o generate network flow graph o determine component partitioning (min cut) o IF (new partition) o reconfigure components between device and proxy END 80 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 Home 3D Planner Virtual ticket machine Turn the phone into an interface for the ticket machine 81 AlfredO architecture and applications (MW 2009) 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) 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. AlfredO Original Plan S6 S1 S2 S3 S4 S7 S8 S5 Mobile Cut Mobile Cut S6 S1 S2 S3 S6 S1 S4 S7 S8 S5 S2 S3 S4 S7 S8 S5 83 AlfredO (MW 2009) CHARISMA: Tiered Clouds 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,… ) Mobile Client Middleware(Broker) Cloudlet and Cloud Pool Cloud Service Registry and Discovery Qos Monitoring Qos Monitoring , Service Discovery Qos Analyzer Admission Control Scheduler Mobile Client Mobile Profile Monitoring Mobile Profile Analyzer Cloudlet Pools Cloud Pools Middleware Blocks Functionalities Admission Control Accepts or rejects mobile client requests according to the resources available and mobile profile (it could be poweraware, 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. 87 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 88 Cloudlet Cloud 89 Yahoo Cloud (Flicker) as a Cache. Cloud(Yahoo) Cloudlet Cloud(Amazon) 90 http://www.youtube.com/watch?v=fQywFeN1wdM 91 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 Virtualization SLAs Web Services Future: Interoperable Networking Heterogeneous access technologies available 802.11b End devices equipped with multiple radio interfaces 802.11a Wi-Fi Ad Hoc Reliable Secure QoS over multiple access networks Cellular ...... Applications are run over the most efficient access networks Bluetooth GPRS UMTS Always Best Connected: Solution Components profile handling content adaptation mobility management AAA support access selection access discovery • personal profiles for ABC • access selection & content adaptation • applications adapting to access & device • session continuity, session transfer • support for real-time services • authentication, authorization, accounting • accesses, services... single logon • what access to choose; what is “best”? • user/network-based solution • one or multiple accesses in parallel • what accesses are currently available? • what are their bandwidth and delay? 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 How to select appropriate access networks for application traffic flows? Dynamicity Non-predetermined traffic flows start/terminate at discrete time points. Access networks’ bandwidth and delay might fluctuate. Multiple Constraints QoS requirements Energy consumption User/application specified access preferences Groupware apps Multiparty collaborations Seguti Reliability + 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. Networks for Mobile Computing Mobile Internet Mobile IP (MIP) Introduction (goals, architecture, protocol, examples) MIP messages, encapsulations MIP issues: triangular routing, reverse tunneling, MobileIPv6 Micro-mobility Protocols Cellular IP HMIP MobileNAT Summary Mobile Ad Hoc Networks Introduction: difference from Wireless Sensor Networks (WSNs) Routing Protocols WRP AODV DSR Improvements: • interference levels • topology control/management Summary Wireless Networking 103 Motivation for Mobile IP Internet routing based on IP destination address and network prefix change of physical subnet implies that the mobile node should change its IP address to have a topologically correct address Challenges – 1) find the MS, 2) avoid disconnection DNS? Updates take to long time Per-host routing? Too many entries in the RT. Solution: Mobile IP is an open standard, defined by the Internet Engineering Task Force (IETF) RFC 2002, that allows users to keep the same IP address, stay connected, and maintain ongoing applications while roaming between IP networks Network supported Mobile IP (tunneling in IPv4) Host supported Mobile IPv6 (Routing extension header) Wireless Networking 104 Requirements to Mobile IP (RFC 3344) Transparency Mobile keeps its IP address when changing subnets Communication continues after interruption of link possible Compatibility no changes to current end-systems and routers required - tunneling no changes to fixed systems – HA-FA tunneling Security authentication of all registration messages – MIP messages Efficiency and scalability only a few additional messages to the mobile system required (connection typically via a low bandwidth radio link) – MIP messaging Global support of a large number of mobile systems in the whole Internet – HA for MN Wireless Networking 105 Architectural Components 1. End system elements 2. Mobile Node (MN) Correspondent Node (CN): communication partner Network elements Home Agent (HA): System in the home network of the MN, typically a router Registers the location of the MN, tunnels IP datagrams to the COA Foreign Agent (FA): the default router for MN Forwards the tunneled datagrams to the MN Can be collocated with MN Care-of Address (COA): address of the current tunnel end-point for the MN Can be associated with the MN or FA. Wireless Networking 106 Mobile IP Protocol Agent Advertisement using ICMP HA and FA periodically send advertisement messages into their physical subnets in ICMP messages MN listens to these messages and detects, if it is in the home or a foreign network (standard case for home network) MN reads a COA from the FA advertisement messages MN may send out router (agent) solicitation. Registering the COA using UDP binding for the mobile node – tuple (home address, COA, registration lifetime, authentication) binding update sent by MN to HA for remote redirect. Traffic forwarding using Tunneling HA advertises the IP address of the MN (as for fixed systems) via proxy ARP routers adjust their entries, these are stable for a longer time (HA responsible for a MN over a longer period of time) packets to the MN are sent to the HA, which tunnels to the COA. independent of changes in COA/FA Wireless Networking 107 Example network HA MN router home network mobile end-system Internet (physical home network for the MN) FA foreign network router (current physical network for the MN) CN end-system router Wireless Networking 108 Data transfer to the mobile system HA 2 MN home network Internet receiver 3 FA 1 CN sender foreign network 1. Sender sends to the IP address of MN, HA intercepts packet (via proxy ARP) 2. HA tunnels packet to COA, here FA, by encapsulation 3. FA forwards the packet to the MN Wireless Networking 109 Data transfer from the mobile system HA 1 home network MN sender Internet FA foreign network 1. Sender sends to the IP address of the receiver as usual, FA works as default router CN receiver Wireless Networking 110 Agenda Mobile Internet Mobile IP (MIP) Introduction (goals, architecture, protocol, examples) MIP messages, encapsulations MIP operations: triangular routing, reverse tunneling, MobileIPv6 Micro-mobility Protocols Cellular IP HMIP MobileNAT Mobile Ad Hoc Networks Introduction: difference from Wireless Sensor Networks (WSNs) Routing Protocols WRP AODV DSR Improvements: • interference levels • topology control/management Summary Summary Wireless Networking 111 Mobile Ad-hoc Networks (MANET) Ad-hoc network: A collection of wireless mobile hosts forming a temporary network without the aid of any established infrastructure or centralized administration. Significant differences to existing wired networks: Wireless Self-starting No administrator Cannot assume, that every computer is within communication range of every other computer Possibly quite dynamic topology of interconnections Traffic types: unicast/multicast/anycast/geocast Wireless Networking 112 Routing in MANET Routing assumptions for unicast traffic Flat topology assumption Proactive: DSDV, TORA, WRP Reactive: AODV, DSR, STAR Hierarchical topology assumption Clustering: CBRP, PATM Geographic assumption Location aided routing: LAR, GeoCast Wireless Networking 113 Classification of Routing Protocols for MANETS Unicast-Routing Protocol for MANET (Topology-based) Table-Driven/ Proactive Distance Vector LinkState DSDV OLSR TBRPF FSR STAR Hybrid On-Demand /Reactive Clusterbased/ Hierarchical ZRP DSR AODV TORA LANMAR CEDAR MANET: Mobile Ad hoc Network (IETF working group) Wireless Networking 114 Desired Properties of Ad Hoc Routing Protocols Distributed Bandwidth efficient Reduce control traffic/overhead Battery efficient Fast route convergence Correct: loop free Reduce overhead Unidirectional Link Support Wireless Networking 115 Performance Metrics of Ad Hoc Routing Protocols Maximize end-to-end throughput delivery ratio load balancing (congestion) Minimize end-to-end delay packet loss shortest path/minimum hop (route length) overhead (bandwidth) energy consumption Wireless Networking 116 Mobile Ad hoc Networks (MANET) vs. Sensor Networks MANET SensorNet applications meeting, grp collaboration smart building, habitat monitoring comm. address-centric comm. data centric comm. topology peer-to-peer sensors base & peer-to-peer traffic random periodic, synchronous platform laptops, PDAs motes: more resource constrained scale 10’s >1000: larger scale and more redundancy mobility slow (meeting) ~ fast (cars): focus on mobility slow (habitat) ~ fast: less focus on mobility so far similarity No infrastructure, multi-hop, wireless networks Wireless Networking 117 Address Centric Routing (AC) Temperature Reading (source 2) Temperature Reading (source 1) source 2 source 1 source 2 Z B source 1 source 2 Give Me The Average Temperature? ( sink ) Wireless Networking 118 Data Centric Routing (DC) Temperature Reading (source 2) Temperature Reading (source 1) source 2 source 1 source 2 Z B source 1 & 2 Give Me The Average Temperature? ( sink ) Wireless Networking 119 Distance-Vector routing Each node maintains a routing table containing list of all available destinations number distance to each each destination next hop to reach a destination The succession of next hops leads to a destination Each node periodically broadcasts its current estimate of the shortest distance to each available destination to all of its neighbors Typical representative: Distributed Bellman-Ford (DBF) Wireless Networking 120 AODV (Ad Hoc On-Demand Distance Vector) AODV is based on the DSDV (Destination-Sequenced Distance Vector) algorithm Distance vector Sequence numbers controlled by the destination. Creation of routes on a demand basis – traffic reactive Nodes that are not on a selected path do not maintain routing information or participate in routing table exchanges! Goal: Minimize broadcast overhead and transmission latency Wireless Networking 121 Route Requests from S to D in AODV Y Z S E F B C M J A L G H K I D N Represents a node that has received RREQ for D from S Wireless Networking 122 Route Requests from S to D in AODV Y Broadcast transmission Z S E F B C M J A L G H K I D N Represents transmission of RREQ Wireless Networking 123 Route Requests from S to D in AODV Y Z S E F B C M J A L G H K D I N Represents links on Reverse Path Wireless Networking 124 Reverse Path Setup from S to D in AODV Y Z S E F B C M J A L G H K I D N • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once Wireless Networking 125 Reverse Path Setup from S to D in AODV Y Z S E F B C M J A L G H K I D N Wireless Networking 126 Reverse Path Setup in AODV • Node D does not forward RREQ, because node D is the intended target of the RREQ Y Z S E F B C M J A L G H K I D N Wireless Networking 127 Route Reply from D to S in AODV Y Z S E F B C M J A L G H K D I N Represents links on path taken by RREP Wireless Networking 128 Route Reply in AODV Intermediate node may also send a Route Reply (RREP) provided that it knows a more recent path than the one previously known to sender S To determine whether the path known to an intermediate node is more recent, destination sequence numbers are used The likelihood that an intermediate node will send a RREP not as high as DSR An intermediate node which knows a route, but with a smaller sequence number, cannot send Route Reply Wireless Networking 129 Forward Path Setup in AODV Y Z S E F B C M J A L G H K I D N Forward links are setup when RREP travels along the reverse path Represents a link on the forward path Wireless Networking 130 Data Delivery in AODV Routing table entries used to forward data packet. Route is not included in packet header. DATA Y Z S E F B C M J A L G H K I D N Wireless Networking 131 AODV Key Advantages “Partial” routing tables are constructed reactively Entries are updated only when a node sends to another unreachable node No periodic updates Node not on active paths maintain no routing entries Reduce packet overhead Routing table No source routing needed reduce bit overhead “Route caching” reduce establishment latency Sequence number loop freedom Push link failure to relevant nodes Reduce establishment latency Wireless Networking 132 Dynamic Source Routing (DSR) [Johnson96] When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery using Route Request (RREQ) Each node appends own identifier when forwarding RREQ Wireless Networking 133 Route Discovery in DSR Y Z S E F B C M J A L G H K I D N Represents a node that has received RREQ for D from S Wireless Networking 134 Route Discovery in DSR Y Broadcast transmission [S] S Z E F B C M J A L G H K D I N Represents transmission of RREQ [X,Y] Represents list of identifiers appended to RREQ Wireless Networking 135 Route Discovery in DSR Y Z S E [S,E] F B C A M J [S,C] H L G K D I N • Node H receives packet RREQ from two neighbors: potential for collision Wireless Networking 136 Route Discovery in DSR Y Z S E F B [S,E,F] C M J A L G H I [S,C,G] K D N • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once Wireless Networking 137 Route Discovery in DSR Y Z S E [S,E,F,J] F B C M J A L G H K I D [S,C,G,K] N • Nodes J and K both broadcast RREQ to node D • Caveat: Since nodes J and K are hidden from each other, their transmissions may collide Wireless Networking 138 Route Discovery in DSR Destination D on receiving the first RREQ, sends a Route Reply (RREP) RREP is sent on a route obtained by reversing the route appended to received RREQ RREP includes the route from S to D on which RREQ was received by node D Wireless Networking 139 Route Reply in DSR Y Z S E RREP [S,E,F,J,D] F B C M J A L G H K I D N Represents RREP control message Wireless Networking 140 Dynamic Source Routing (DSR) Node S on receiving RREP, caches the route included in the RREP When node S sends a data packet to D, the entire route is included in the packet header hence the name source routing Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded Wireless Networking 141 Data Delivery in DSR Y DATA [S,E,F,J,D] S Z E F B C M J A L G H K I D N Packet header size grows with route length Wireless Networking 142 DSR Optimization: Route Caching Each node caches a new route it learns by any means Through Route Request (RREQ) When node K receives RREQ [S,C,G] destined for node D, node K learns route [K,G,C,S] to node S Through Route Reply (RREP) When node S finds RREP [S,E,F,J,D] to node D, node S also learns route [S,E,F] to node F When node F forwards RREP [S,E,F,J,D], node F learns route [F,J,D] to node D Through DATA packet’s source routes When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D A node may also learn a route when it overhears Data Problem: Stale caches may increase overheads Wireless Networking 143 Dynamic Source Routing: Advantages Routes maintained only between nodes who need to communicate reduces overhead of route table maintenance Routing cache can further reduce route discovery overhead A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches Wireless Networking 144 Dynamic Source Routing: Disadvantages Packet header size grows with route length due to source routing Flooding of route requests may potentially reach all nodes in the network Stale caches will lead to increased overhead Common problems for both AODV and DSR Potential collisions between route requests propagated by neighboring nodes - insertion of random delays before forwarding RREQ Increased contention if too many route replies come back due to nodes replying using their local cache - Route Reply Storm problem Wireless Networking 145