230 likes | 428 Views
CarTorrent ® : Cars get to have fun too. Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla. Introduction. Vehicular Ad-hoc networks(VANETs) have these characteristics: Nodes have high computing power Nodes highly mobile Intermittent connectivity Locally Dense networks
E N D
CarTorrent®:Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla
Introduction • Vehicular Ad-hoc networks(VANETs) have these characteristics: • Nodes have high computing power • Nodes highly mobile • Intermittent connectivity • Locally Dense networks • Cooperation between nodes not guaranteed • 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
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 : • 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 CarTorrent Application AODV Routing Layer( and Discovery )
Architecture Client FileSplitter SendGossipThread ReceiveGossipThread ListenThread CarTorrent File Manager RecvPacketThread RecvPacketThread RecvPacketThread
Components • Client: • A tabbed frame that encapsulates information for subcomponents • 3 tabs; share, download, and search • FileSplitter: • Splits a shared file into parts • Combines downloaded parts into a file • 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 • RecvPacketThread: • 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
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”.