Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science...

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

Transcript of Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science...

Page 1: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 1

Ditto: Eavesdropping for the Common Good in

Multi-hop Wireless Networks

Amar PhanishayeeFahad Dogar, Himabindu Pucha, Olatunji Ruwase,

Dave Andersen

Carnegie Mellon University

CMU Speaking Skills Talk

Page 2: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 2

Wireless Networks

Wired Link

Wireless Router

WirelessLink

Cable Modem

Access-Point Based(Single Wireless Hop)

Page 3: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 3

No Infrastructure Cost Effective, Greater Coverage

Poor throughput

Wireless Networks

Multi-hop Wireless (Mesh) Networks

Gateway

Page 4: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 4

Hop Count Affects Throughput

• Pairwise transfers in a 28 node campus testbed• More hops slower transfers (low throughput)

Median3.2Mbps0.5Mbps

0.2Mbps

Page 5: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

Page 6: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 6

Caching In Ditto Helps Speed Transfers

On-Path + Opportunistic Caching Ditto

Path of the transfer: Alice--A1--A2--Gateway A1 and A2 -- on-path caching

A3 -- opportunistic caching

A2

A3

GatewayA1

Request

Response

Cached copy

Page 7: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 7

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation

Future Work

Page 8: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 8

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

Interference: Receivers in Interference Range cannot decode simultaneous transmissions

Page 9: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 9

Avoiding Interference: Don’t Transmit If You Know Others Are

Transmitting one at a time avoids interference

Page 10: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 10

GatewayA3A1 A2

• Subsequent Hops InterfereD1’s transmission from A2 to A3 stalled

• Cause for poor throughput in mesh networks

Subsequent Wireless Hops Interfere

D1D1

D2

Page 11: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

A1A2

A3Gateway

Page 12: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

Page 13: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 13

Opportunities To Improve Throughput

Locality in access patterns Many clients from different parts of the network

request the same data over timee.g. Operating System Updates, Streaming video

Wireless routers can overhear other transfers The positive aspect of broadcast

Looks like a job for … Opportunistic Caching

Page 14: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

1

1

22

A3

A1

A2

1 22A1

A2

Page 15: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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.

Page 16: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 16

A Ditto Transfer

chunkID3

chunkID1

chunkID2foo.txtfoo.txt

Cryptographic HashChunking

App App

DITTO

chunk ids Chunk request

DITTO

Chunk response

request

response

request

response

Receiver Sender

Ditto Proxy

Ditto Proxy

Request – foo.txt

Response: chunk ids{1,2,3}

chunk ids

Page 17: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 17

Proxy Serves Chunk Request Directly If Chunk In Local Cache

Proxy ProxyProxy

Chunk Request

Chunk Response

Cache

Page 18: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 18

Proxy Routes Request Towards Gateway If Chunk Not In Cache

Next-Hop based on routing table

information

Separate TCP connection on

each hop

On-Path Caching

Proxy ProxyProxy

Chunk Request

Chunk Response

Cache

Chunk Request

Chunk Response

GW Next Hop

Page 19: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 19

Sniffer Module Caches Overheard Chunks

Opportunistic Caching

Proxy

Sniffer

Cache

Overhear and reassemble streams

Identify chunks in streams

Handoff entire chunk to proxy for caching

Page 20: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

Page 21: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 21

Sniffer Module Reassembles Overheard Streams

A3 (Overhearing)

Path of the transfer: Alice – A1 – A2 …

• Stream identification & placement within the stream

• Next Steps: identify chunk

A1A2

Page 22: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 22

Chunk Identification

A3 (Overhearing)

Path of the transfer: Alice – A1 – A2 …

A1A2

Chunk Boundaries

Look for Ditto header

• What if there were losses within the overheard chunk?

C1

Page 23: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 23

Optimization: Inter-Stream Chunk Reassembly

Look for Ditto header

Chunk Boundaries

• Sniffer identifies the same chunk across streams• Correlates and fills in the blanks

A1A2

C1

Page 24: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 24

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation Reconstruction Efficiency Transfer Throughput

Future Work

Page 25: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 25

Emulab Indoor Wireless Testbed

Page 26: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 26

MAP Campus Testbed (Purdue Univ.)

Gateway

11

28 node Indoor/Outdoor Campus-wide Mesh Network

Page 27: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 27

ExperimentCan we overhear complete chunks?

Receiver

Observer • 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

100

90

80

100

100100

30

10

0

0 0

0

0

0

50

020

Page 28: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 28

Overhearing Complete Chunks Is Feasible

Around 30% of the observers reconstruct at least 50% chunks

For any transfer, ~30% of the nodes can overhear a large fraction of the chunks

Complete chunks overheard (%)

Page 29: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 29

Nodes farthest from the gateway & transfer paths overhear nothing

Co

mp

lete

ch

unk

s o

verh

ear

d (

%)

Page 30: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 30

Gateway

11

31

19

12

25

18

Page 31: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 31

Nodes closer to the gateway & transfer paths overhear effectively

Co

mp

lete

ch

unk

s o

verh

ear

d (

%)

Page 32: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 32

Gateway

1134

5

30

14

Shield the gateway from becoming a

bottleneck

Page 33: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 33

Factors Affecting Chunk Reconstruction

Factor Insight

Proximity Nodes closer to gateway overhear more chunks.Can shield the gateway from becoming a hotspot.

Chunk Size

Smaller Chunk Size Better Reconstruction 8 KB provides good reconstruction efficiency with low overhead.

Page 34: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 34

Experiment: Throughput EvaluationReceiver

Observer • Leaf nodes are receivers• A receiver initiates transfer

• reports throughput

• Next receiver downloads the same file

Page 35: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 35

Opportunistic Caching >> On-path Caching

Receiver

On-path Caching

Overhearing & Caching

Page 36: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 36

Throughput Improvement Using Ditto

Median

Log Scale!

~900 Kbps

No Caching

Page 37: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 37

Throughput Improvement Using Ditto

Median

Log Scale!

~1200Kbps

~900 Kbps

No Caching

Page 38: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 38

Throughput Improvement Using Ditto

Opportunistic caching >> On-path caching > No caching

Median

Log Scale!

~1200Kbps

~900 Kbps 9000 Kbps

No Caching

Page 39: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 39

Future Work

Support for mobility

Alternate proxy selection techniques

Application specific Ditto gateways

Page 40: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 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

Page 41: Carnegie Mellon University Computer Science Department Carnegie Mellon University Computer Science Department 1 Ditto : Eavesdropping for the Common Good.

Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 41

Thank you!