Cars get to have fun too
Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla
®: CarTorrent
Introduction
Vehicular Ad-hoc networks(VANETs) have these characteristics:
1. 2. 3. 4.
5.
An interesting application for VANETs is implementation of a peer-to-peer file-sharing system/protocol Many names for it, in our project, it’s CarTorrent, modeled the Bit Torrent Protocol
Nodes have high computing power Nodes highly mobile Intermittent connectivity Locally Dense networks Cooperation between nodes not guaranteed
Problem
How does a car discover its peers and know their addresses? What should be the address of the car? How can a file be broken up into smaller pieces to be distributed out among the peers interested in downloading it? How to efficiently and dynamically track file availability and transfer behavior?
Our Solution
A two-layer approach :
CarTorrent Application AODV Routing Layer( and Discovery )
AODV lower layer performs route maintenance tasks and discovery of neighbors CarTorrent exploits the info provided by lower layer to grab or send files from/to peers
Architecture
Client
FileSplitter
SendGossipThread
ReceiveGossipThread
ListenThread
RecvPacketThread CarTorrent File Manager RecvPacketThread RecvPacketThread
Components
Client:
A tabbed frame that encapsulates information for subcomponents 3 tabs; share, download, and search Splits a shared file into parts Combines downloaded parts into a file
FileSplitter:
CarTorrent File Manager:
Keeps track of pieces of files from gossips Includes the algorithms to find rarest pieces, closest pieces, and rarest closest pieces
Components (cont.)
SendGossipThread:
A thread that sends gossip msgs periodically Two types of gossips:
Gossips originated from itself Gossips received from nearby neighbors
Gossips received from nearby neighbors are sent based on probabilities assigned to interesting and not interesting gossips
Gossips are interesting if client wants the file Gossips are not interesting if the client does not
ReceiveGossipThread:
A thread that unblocks when receiving a gossip Discards the gossip if from itself else queues the gossip Gossips are sent to CarTorrent File Manager for managing
Components (cont.)
ListenThread:
Listens for incoming download request Spawns a RecvPacketThread to process incoming packets Processes the incoming packets based on packet type If packet type == DATA_REQ, send parts that are requested If packet type == DATA, write the data to the local file-system and combine it if all parts have been received
RecvPacketThread:
Implementation Details
AODV based on open-source Linux implementation from Uppsala University in the Netherlands CarTorrent layer written in Java with a GUI interface to browse/share/download files
Choosing the peer for the file
Rarest-Closest First Strategy Download the rarest piece from the closest peer Analyzed to be better than the conventional Bit-Torrent rarest piece only without worrying about proximity of peers [1]
Demo
Series of pictures demonstrating the sharing of a picture file from one source to two clients Three laptops( two running Linux, one with Windows) If you are interested in seeing the live demo, do drop by BH4681
The nodes
10.0.0.4
10.0.0.5
Let’s share this file
10.0.0.4
Sharing the file
10.0.0.4
Sharing the file
10.0.0.4
Browsing the shared file
10.0.0.5
Downloading the file
10.0.0.5
View the downloaded files
Rate(Mbps)
10.0.0.5
Future Work
Variable piece length to adapt to client’s bandwidth Test in environments with larger distances between nodes (true multi-hop) Add a mechanism to detect the absence of a file in the network by either:
expiring file pieces (after no gossips) sending out explicit leaving gossip msgs
Being able to identify failed transfers and get same file piece(s) from other nodes
Conclusion
Implementation of Car Torrent and tested on a real 802.11 ad-hoc platform Simple GUI interface simulates what the real system can be Java implementation means that the system can be deployed cross-platform
Related Work
Vehicular Sensor Networks
CarTel
: MIT MobEyes : UCLA
SPAWN : UCLA
Scalable
co-operative downloading of data among vehicles
References
[1] A. Nandan, S. Das, G. Pau M.Y. Sanadidi and M. Gerla. “Cooperative Downloading in Vehicular Ad-hoc Wireless Networks”. [2] Sundaram Rajagopalan and Chien-Chung Shen. “A Cross-layer Decentralized BitTorrent for Mobile Ad hoc Networks”.
Question & Answer
?