23
CarTorrent CarTorrent ® ® : : Cars get to have fun Cars get to have fun too too Kevin C. Lee and Ian S. Yap Kevin C. Lee and Ian S. Yap TA: Uichin Lee TA: Uichin Lee Prof Mario Gerla Prof Mario Gerla

CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Embed Size (px)

Citation preview

Page 1: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

CarTorrentCarTorrent®®::Cars get to have fun tooCars get to have fun too

Kevin C. Lee and Ian S. YapKevin C. Lee and Ian S. Yap

TA: Uichin LeeTA: Uichin LeeProf Mario GerlaProf Mario Gerla

Page 2: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

IntroductionIntroduction Vehicular Ad-hoc networks(VANETs) have Vehicular Ad-hoc networks(VANETs) have

these characteristics:these characteristics:1.1. Nodes have high computing powerNodes have high computing power2.2. Nodes highly mobileNodes highly mobile3.3. Intermittent connectivityIntermittent connectivity4.4. Locally Dense networksLocally Dense networks5.5. Cooperation between nodes not guaranteedCooperation between nodes not guaranteed

An interesting application for VANETs is An interesting application for VANETs is implementation of a peer-to-peer file-implementation of a peer-to-peer file-sharing system/protocolsharing system/protocol

Many names for it, in our project, it’s Many names for it, in our project, it’s CarTorrent, modeled the Bit Torrent CarTorrent, modeled the Bit Torrent ProtocolProtocol

Page 3: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

ProblemProblem

How does a car discover its peers and How does a car discover its peers and know their addresses?know their addresses?

What should be the address of the car?What should be the address of the car?How can a file be broken up into smaller How can a file be broken up into smaller

pieces to be distributed out among the pieces to be distributed out among the peers interested in downloading it?peers interested in downloading it?

How to efficiently and dynamically track How to efficiently and dynamically track file availability and transfer behavior?file availability and transfer behavior?

Page 4: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

A two-layer approach :A two-layer approach :

AODV lower layer performs route AODV lower layer performs route maintenance tasks and discovery of maintenance tasks and discovery of neighborsneighbors

CarTorrent exploits the info provided by CarTorrent exploits the info provided by lower layer to grab or send files from/to lower layer to grab or send files from/to peerspeers

Our SolutionOur Solution

AODV Routing Layer( and Discovery )

CarTorrent Application

Page 5: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

ArchitectureArchitecture

RecvPacketThread

Client

ReceiveGossipThreadSendGossipThreadFileSplitter

RecvPacketThread

ListenThread

RecvPacketThread

CarTorrent File Manager

Page 6: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

ComponentsComponents

Client:Client: A tabbed frame that encapsulates information A tabbed frame that encapsulates information

for subcomponentsfor subcomponents 3 tabs; share, download, and search3 tabs; share, download, and search

FileSplitter:FileSplitter: Splits a shared file into partsSplits a shared file into parts Combines downloaded parts into a fileCombines downloaded parts into a file

CarTorrent File Manager:CarTorrent File Manager: Keeps track of pieces of files from gossipsKeeps track of pieces of files from gossips Includes the algorithms to find rarest pieces, Includes the algorithms to find rarest pieces,

closest pieces, and rarest closest piecesclosest pieces, and rarest closest pieces

Page 7: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Components (cont.)Components (cont.)

SendGossipThread:SendGossipThread: A thread that sends gossip msgs periodicallyA thread that sends gossip msgs periodically Two types of gossips:Two types of gossips:

Gossips originated from itselfGossips originated from itself Gossips received from nearby neighborsGossips received from nearby neighbors

Gossips received from nearby neighbors are sent based Gossips received from nearby neighbors are sent based on probabilities assigned to interesting and not on probabilities assigned to interesting and not interesting gossipsinteresting gossips

Gossips are interesting if client wants the fileGossips are interesting if client wants the file Gossips are not interesting if the client does notGossips are not interesting if the client does not

ReceiveGossipThread:ReceiveGossipThread: A thread that unblocks when receiving a gossipA thread that unblocks when receiving a gossip Discards the gossip if from itself else queues the gossipDiscards the gossip if from itself else queues the gossip Gossips are sent to CarTorrent File Manager for managingGossips are sent to CarTorrent File Manager for managing

Page 8: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Components (cont.)Components (cont.)

ListenThread:ListenThread: Listens for incoming download requestListens for incoming download request Spawns a RecvPacketThread to process Spawns a RecvPacketThread to process

incoming packetsincoming packets RecvPacketThread:RecvPacketThread:

Processes the incoming packets based on Processes the incoming packets based on packet typepacket type

If packet type == DATA_REQ, send parts that If packet type == DATA_REQ, send parts that are requestedare requested

If packet type == DATA, write the data to the If packet type == DATA, write the data to the local file-system and combine it if all parts local file-system and combine it if all parts have been receivedhave been received

Page 9: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Implementation DetailsImplementation Details

AODV based on open-source Linux AODV based on open-source Linux implementation from Uppsala implementation from Uppsala University in the NetherlandsUniversity in the Netherlands

CarTorrent layer written in Java with CarTorrent layer written in Java with a GUI interface to a GUI interface to browse/share/download filesbrowse/share/download files

Page 10: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Choosing the peer for the fileChoosing the peer for the file

Rarest-Closest First Strategy Rarest-Closest First Strategy Download the rarest piece from the Download the rarest piece from the

closest peerclosest peerAnalyzed to be better than the Analyzed to be better than the

conventional Bit-Torrent rarest piece conventional Bit-Torrent rarest piece only without worrying about only without worrying about proximity of peers [1]proximity of peers [1]

Page 11: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

DemoDemo

Series of pictures demonstrating the Series of pictures demonstrating the sharing of a picture file from one sharing of a picture file from one source to two clientssource to two clients

Three laptops( two running Linux, Three laptops( two running Linux, one with Windows)one with Windows)

If you are interested in seeing the If you are interested in seeing the live demo, do drop by BH4681 live demo, do drop by BH4681

Page 12: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

The nodesThe nodes

10.0.0.4 10.0.0.5

Page 13: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Let’s share this fileLet’s share this file

10.0.0.4

Page 14: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Sharing the fileSharing the file

10.0.0.4

Page 15: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Sharing the fileSharing the file

10.0.0.4

Page 16: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Browsing the shared fileBrowsing the shared file

10.0.0.5

Page 17: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Downloading the fileDownloading the file

10.0.0.5

Page 18: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

View the downloaded filesView the downloaded files

10.0.0.5

Rate(Mbps)

Page 19: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Future WorkFuture Work

Variable piece length to adapt to client’s Variable piece length to adapt to client’s bandwidthbandwidth

Test in environments with larger distances Test in environments with larger distances between nodes (true multi-hop)between nodes (true multi-hop)

Add a mechanism to detect the absence of Add a mechanism to detect the absence of a file in the network by either:a file in the network by either: expiring file pieces (after no gossips)expiring file pieces (after no gossips) sending out explicit leaving gossip msgssending out explicit leaving gossip msgs

Being able to identify failed transfers and Being able to identify failed transfers and get same file piece(s) from other nodesget same file piece(s) from other nodes

Page 20: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

ConclusionConclusion

Implementation of Car Torrent and Implementation of Car Torrent and tested on a real 802.11 ad-hoc tested on a real 802.11 ad-hoc platformplatform

Simple GUI interface simulates what Simple GUI interface simulates what the real system can bethe real system can be

Java implementation means that the Java implementation means that the system can be deployed cross-system can be deployed cross-platformplatform

Page 21: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Related WorkRelated Work

Vehicular Sensor NetworksVehicular Sensor NetworksCarTel : MIT CarTel : MIT MobEyes : UCLA MobEyes : UCLA

SPAWN : UCLASPAWN : UCLAScalable co-operative downloading of Scalable co-operative downloading of

data among vehiclesdata among vehicles

Page 22: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

ReferencesReferences

[1] A. Nandan, S. Das, G. Pau M.Y. [1] A. Nandan, S. Das, G. Pau M.Y. Sanadidi and M. Gerla. “Cooperative Sanadidi and M. Gerla. “Cooperative Downloading in Vehicular Ad-hoc Downloading in Vehicular Ad-hoc Wireless Networks”.Wireless Networks”.

[2] Sundaram Rajagopalan and Chien-[2] Sundaram Rajagopalan and Chien-Chung Shen. “A Cross-layer Chung Shen. “A Cross-layer Decentralized BitTorrent for Mobile Decentralized BitTorrent for Mobile Ad hoc Networks”.Ad hoc Networks”.

Page 23: CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla

Question & AnswerQuestion & Answer

??