280 likes | 421 Views
Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks. Contents. Introduction to WMN Throughput issues in WMN Related Work Challenges and Opportunities Ditto Design Chunk Based Transfers Ditto Proxy Sniffer Evaluation Limitations. Wireless Mesh Networks (WMNs).
E N D
Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks
Contents • Introduction to WMN • Throughput issues in WMN • Related Work • Challenges and Opportunities • Ditto Design • Chunk Based Transfers • Ditto Proxy • Sniffer • Evaluation • Limitations
Wireless Mesh Networks (WMNs) A communications network made of radio nodes in a mesh topology Gateway Router Router • Cost Effective,Last mile technology • Greater Coverage Router Router • Robust , Self Healing Infrastructure / Backbone WMN
Motivation :Throughput Problem in WMNs P3 P1 • Interference • Congestion at hotspots (GW)
Throughput problems (contd..) • Increase in number of hops -> increase in probability of loss due to interference • Has an adverse effect on the throughput at Transport layer
Hierarchical Caching [Web Caching Technique] • Disadvantages 1) Application specific 2) Need to cache the whole files. Takes advantage of the similarity and locality of workload. Server National Cache Regional Cache Institutional Cache Bottom(Local Cache)
RTS-id 0 0 0 00 RTS for packet id 0 CTS I already have it 0 Packet Level Caching Cache overheard packets Disadvantages Too Granular, high overhead Not scalable for large networks.
Exploiting Locality through Caching P1 and P3 perform on-path caching P3 Path of the transfer: Alice, P1, P3, GW P1 P2 P2 can perform opportunistic caching On-Path + Opportunistic Caching -> Ditto
Challenges in wireless networks for Opportunistic Caching • High loss rates due to interference / collision. • MAC layer takes care of this by re-transmissions. • There could be cases where overhearing node cannot hear properly while the recipient node does. 2 1 1 1 2 2 1 2 Observation Multi-hop transmission creates more opportunities for over-hearing thus mitigating the effect of lossy transmissions in wireless networks.
Ditto : Key Points • Based on Opportunistic caching and exploits the broadcast nature of wireless networks. • “Chunk based” caching • Application independent. • Exploits re-transmissions for advantage.
File Transfer Mechanism In Ditto • Ditto uses “Data Oriented Transfer” • Factors needed to be considered while devising an efficient file transfer mechanism: 1) Packet level caching is too granular. Incurs a lot of overhead for re-assembly . 2) File-level caching is also not efficient as overhearing a complete file is less probable. Solution: • Divide file into smaller units called “Chunks”[8 – 32 kb] • Use chunks as data transfer units. • Use the hash value of contents to identify the chunk.
Advantages of DOT • Fairly good probability of overhearing, easy to Re-assemble • Application independent : uses Rabin fingerprinting to mark boundary regions for splitting files into chunks. Increases the probability of finding identical chunks in similar files. • Self verifying mechanism as chunks are named using the hash value of their contents.
Ditto Design Components: • Ditto Proxies • Cache and serve data to their previous hop proxies. • Next – Hop towards Gateway • Per-Hop TCP connection. • Sniffers • Over hear data • Reconstruct overheard chunks • Pass the reconstructed chunks to proxies
Ditto Transfer - Illustration Hash Function • Step 1 • Step 2 Receiver Sender Chunk 1 Chunk ID1 Chunk 2 Chunk ID2 File.txt Chunk 3 Chunk ID3 Chunk 4 Chunk ID4 File Request Application Application ChunkIds:1,2,3,4 Chunk request DOT Service DOT Service DOT Service Transport layer Transport layer Chunks Sniffer
Sniffer • Overhears the ongoing transmission • Identifies the TCP transmission using the IP and Port pairs(Src IP , Src Port , Dest IP , Dest Port) • Uses sequence number for re-assembly. Inter Stream Re-Assembly TCP STREAM A Chunk Header TCP STREAM B Thus Exploits multiple hearing oppurtunities 1 2 4 5 6 1 2 3 4 5 6 X 1 2 3 5 6
Emulab Wireless Testbed Gateway
Experimental Setup • Wireless Network used : 802.11b • File Sizes : 1- 5 MB • Chunk Sizes – 8 KB, 16 KB, 32 KB
Reconstruction Efficiency Around 50% observers are able to reconstruct at least 50% chunks
Throughput Evaluation • Leaf Nodes request the same file from the gateway • e.g: software update on all nodes • Different request patterns: • Sequential, staggered • Random order of receivers • Schemes • Ditto’s comparison with On-Path and E2E
Throughput Improvement in Ditto Median = 1380 Kbps Median = 1380 Kbps Median = 540 Kbps Median = 540 Kbps Median = 540 Kbps Median = 5370 Kbps Campus Testbed
Results (contd) • Effect Of Chunk Size - As noted earlier , smaller chunk size implies better reconstruction efficiency. - Results show that with 8Kb chunk size 20 % of observers were able to reconstruct 80% of chunks. With 32Kb chunk size , this reduces to 60 %. • Effect of Inter Stream Re-assembly 10 % improvement over without inter-stream re- assembly.
Evaluation Results / Conclusion • Hotspot formation near gateways avoided as nodes near gateway have high overhearing effectiveness. • A choice 8-32 KB of chunk size gives a good reconstruction efficiency. • Significant throughput improvement – up to 7X compared to On Path and 10X compared to no caching • At points where-ever inter stream assembly by overhearing was possible there was an improvement of 10% in reconstruction efficiency
Limitations of the approach • Ditto requires that a TCP connection between each proxy , if there are multiple Transport layer timeouts it would severely affect the performance.(It is quite possible in a wireless environment). • While fetching a file , a lookup is made at each proxy which results in considerable delay if there are many proxies on the path [especially if the file chunks are not present in any of the proxies]. • The method is not energy efficient , overhearing results in a lot of energy wastage. • If Encapsulated packets are used as in secure tunnels, it would be complex to perform inter stream re-assembly (as all packets are addressed to the same destination – which is the secure gateway).
Thank You Q?
Sniffer Implementaiton (continued) Chunk Table
Sniffer Implementation (contd) • Flow Chunk Map