1 / 41

Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks

This research paper explores Ditto, a system that improves throughput in multi-hop wireless networks by reducing hop count and implementing caching of overheard data. It also discusses the challenges of poor throughput in mesh networks and the opportunities for improvement.

janea
Download Presentation

Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMU Speaking Skills Talk Ditto: Eavesdropping for the Common Good in Multi-hop Wireless Networks Amar Phanishayee Fahad Dogar, Himabindu Pucha, Olatunji Ruwase, Dave Andersen Carnegie Mellon University

  2. Wireless Networks Cable Modem Wired Link Wireless Router Wireless Link • Access-Point Based • (Single Wireless Hop)

  3. Wireless Networks Gateway • No Infrastructure • Cost Effective, Greater Coverage • Poor throughput • Multi-hop Wireless (Mesh) Networks

  4. Hop Count Affects Throughput • 0.2Mbps • Median • 0.5Mbps • 3.2Mbps • Pairwise transfers in a 28 node campus testbed • More hops  slower transfers (low throughput)

  5. Ditto: Key Contributions • Ditto improves throughput by reducing hop count to acquire commonly requested data • Caching of overheard data • Also cache data on the path of a transfer • Application independent caching • Ditto improves throughput (on 2 testbeds) • Up to 7x better than on-path caching • Up to 10x better than no caching

  6. Caching In Ditto Helps Speed Transfers A2 A1 Gateway Request A3 Response Cached copy Path of the transfer: Alice--A1--A2--Gateway A1 and A2 -- on-pathcaching A3 -- opportunisticcaching On-Path + Opportunistic Caching  Ditto

  7. Outline • Overview • Why poor throughput in mesh networks? • Ditto’s Design • Evaluation • Future Work

  8. Interference Transmit Range: Range in which router’s transmission can be fully decoded Interference Range: Range in which router’s transmission can interfere but may not be fully decoded • Interference: Receivers in Interference Range cannot decode simultaneous transmissions

  9. Avoiding Interference: Don’t Transmit If You Know Others Are • Transmitting one at a time avoids interference

  10. Subsequent Wireless Hops Interfere D1 D2 D1 A1 A2 A3 Gateway • Subsequent Hops Interfere • D1’s transmission from A2 to A3 stalled • Cause for poor throughput in mesh networks

  11. Mesh Networks Have Poor Throughput • Some links have a high loss rate • Subsequent hops interfere with each other • More hops  slower transfers (low throughput) • Gateway is a bottleneck Gateway A3 A2 A1

  12. Outline • Overview • Why poor throughput in mesh networks? • Ditto’s Design • Opportunities to improve throughput • How does Ditto utilize these opportunities? • Evaluation • Future Work

  13. Opportunities To Improve Throughput • Locality in access patterns • Many clients from different parts of the network request the same data over time • e.g. Operating System Updates, Streaming video • Wireless routers can overhear other transfers • The positive aspect of broadcast Looks like a job for … Opportunistic Caching

  14. Challenge: Lossy Overhearing • Wireless networks have high loss rates • Loss recovery: link layer retransmissions • Overhearing node also experiences losses • Losses independent of that at Receiver • Cannot ask for retransmissions • Successfully overhearing a large file is unlikely A2 A2 A1 A1 2 1 2 1 2 2 1 A3

  15. Chunk Based Transfers • Lossy overhearing  cannot overhear entire file • Smaller caching granularity • Divide file into smaller chunks (8 – 32 KB) • Use chunk as a unit of transfer • Ditto uses Data Oriented Transfer (DOT)1 for chunk based transfers 1 Tolia et al,An Architecture for Internet Data Transfer. NSDI 2006.

  16. A Ditto Transfer chunkID3 Cryptographic Hash Chunking chunkID1 foo.txt chunkID2 Receiver Sender Request – foo.txt App App Response: chunk ids{1,2,3} chunk ids chunk ids Chunk request request request DITTO DITTO Chunk response response response Ditto Proxy Ditto Proxy

  17. Proxy Serves Chunk Request Directly If Chunk In Local Cache Chunk Request Proxy Proxy Proxy Chunk Response Cache

  18. Proxy Routes Request Towards Gateway If Chunk Not In Cache Chunk Request Chunk Request Proxy Proxy Proxy Chunk Response Chunk Response Separate TCP connection on each hop Cache GW Next Hop Next-Hop based on routing table information On-Path Caching

  19. Sniffer Module Caches Overheard Chunks • Overhear and reassemble streams • Identify chunks in streams • Handoff entire chunk to proxy for caching Sniffer Proxy Cache Opportunistic Caching

  20. Outline • Overview • Why poor throughput in mesh networks? • Ditto’s Design • Why caching, overhearing? • Chunk based transfers and caching • How does Ditto overhear and reconstruct chunks? • Evaluation • Future Work

  21. Sniffer Module Reassembles Overheard Streams Path of the transfer: Alice – A1 – A2 … A2 A1 A3 (Overhearing) • Stream identification & placement within the stream • Next Steps: identify chunk

  22. Chunk Identification Path of the transfer: Alice – A1 – A2 … Look for Ditto header A2 Chunk Boundaries A1 C1 A3 (Overhearing) • What if there were losses within the overheard chunk?

  23. Optimization: Inter-Stream Chunk Reassembly A2 A1 Look for Ditto header C1 Chunk Boundaries • Sniffer identifies the same chunk across streams • Correlates and fills in the blanks

  24. Outline • Overview • Why poor throughput in mesh networks? • Ditto’s Design • Evaluation • Reconstruction Efficiency • Transfer Throughput • Future Work

  25. Emulab Indoor Wireless Testbed

  26. MAP Campus Testbed (Purdue Univ.) 28 node Indoor/Outdoor Campus-wide Mesh Network 11 Gateway

  27. ExperimentCan we overhear complete chunks? Receiver • A receiver initiates transfer • 1MB file, 8KB chunks • Observers report % of chunks reconstructed • Receiver reports throughput • Caches are cleared & next node becomes a receiver • If n nodes in network, • [n* (n - 1)] observers in all 0 Observer 10 0 30 100 90 80 100 100 100 50 20 0 0 0 0 0

  28. Overhearing Complete Chunks Is Feasible Around 30% of the observers reconstruct at least 50% chunks Complete chunks overheard (%) For any transfer, ~30% of the nodes can overhear a large fraction of the chunks

  29. Nodes farthest from the gateway & transfer paths overhear nothing Complete chunks overheard (%)

  30. 31 12 19 11 Gateway 25 18

  31. Nodes closer to the gateway & transfer paths overhear effectively Complete chunks overheard (%)

  32. Shield the gateway from becoming a bottleneck 14 34 11 30 5 Gateway

  33. Factors Affecting Chunk Reconstruction

  34. Experiment: Throughput Evaluation Receiver • Leaf nodes are receivers • A receiver initiates transfer • reports throughput • Next receiver downloads the same file Observer

  35. Opportunistic Caching >> On-path Caching Receiver On-path Caching Overhearing & Caching

  36. Throughput Improvement Using Ditto • Median • ~900 Kbps • No Caching • Log Scale!

  37. Throughput Improvement Using Ditto • ~1200Kbps • Median • ~900 Kbps • No Caching • Log Scale!

  38. Throughput Improvement Using Ditto • ~1200Kbps • Median • 9000 Kbps • ~900 Kbps • No Caching • Log Scale! Opportunistic caching >> On-path caching > No caching

  39. Future Work • Support for mobility • Alternate proxy selection techniques • Application specific Ditto gateways

  40. Conclusion • Ditto improves throughput by reducing hop count to acquire commonly requested data • Caching of overheard data • Also cache data on the path of a transfer • Chunk based transfer, inter-stream chunk reconstruction • Ditto improves throughput (on 2 testbeds) • Up to 7x better than on-path caching • Up to 10x better than no caching

  41. Thank you!

More Related