11/10/20151 A Standalone Content Sharing Application for Spontaneous Communities of Mobile Handhelds Authors: Amir Krifa – Mohamed Karim Sbai – Chadi Barakat – Thierry Turletti –
11/10/20152 Design of the P2P networking architecture for content sharing. (P2P file sharing, Peer lookup and membership management, content publishing and discovery) It’s an adapted version of BitTorrent for wireless ad-hoc networks. Change neighborhood definition (choking algorithm) and piece selection strategy in the BitTorrent classical client. Replace the tracker by a distributed peer lookup and membership management service. (A distributed ad hoc tracker). Provide a Content Publishing and Discovery mechanism. Objectives
11/10/20153 Data Sharing Ovelay OLSR Routing Daemon BitHoc Tracker List of peers List of torrents Routing Table Membership Overlay Sharing Sessions Status Data Base BitHoc Client BitHoc Torrent Files Finder Http Messages Torrent Files Data Base Distributed DHT Daemon BitHoc Architecture XML-RPC
11/10/20154 Data Sharing Ovelay OLSR Routing Daemon BitHoc Tracker List of peers List of torrents Routing Table Membership Overlay Sharing Sessions Status Data Base BitHoc Client BitHoc Torrent Files Finder Http Messages Torrent Files Data Base Distributed DHT Daemon BitHoc Architecture XML-RPC
11/10/20155 BitHoc Tracker is Written in C++ using Visual Studio 2008 The main functionalities are: Maintaining the membership of the distributed overlays of different Torrents. Based on the HTTP messages received from the BitHoc client and the other trackers. Updates the trackers’ overlay map each time the OLSR routing daemon modifies the routing table. Maintaining the distributed.torrent files database. BitHoc Tracker
11/10/20156 BitHoc Tracker Other Features: Detecting the 1-Hop neighbors and updating the trackers overlay based on that (The OLSR routing daemon does not detect the 1-hop neighbors). A configuration wizard that enables specifying specific parameters (e.g. Http listening port, Broadcasting port, Broadcast address, Tracker Client Poll Interval, Activating trace functionalities) A dialog that shows the current device routing table. A dialog that shows the list of peers. A dialog that shows the list of torrents.
11/10/20157 BitHoc Tracker (Configuration, Dialog and UI )
11/10/20158 BitHoc Tracker (Configuration, Dialog and UI )
11/10/20159 BitHoc Tracker (Configuration, Dialog and UI )
11/10/ Data Sharing Ovelay OLSR Routing Daemon BitHoc Tracker List of peers List of torrents Routing Table Membership Overlay Sharing Sessions Status Data Base BitHoc Client BitHoc Torrent Files Finder Http Messages Torrent Files Data Base Distributed DHT Daemon Architecture XML-RPC
11/10/ BitHoc Client BitHoc Client is written in C++ using visual studio 2008, based on the Multiplatform socket and OpenSSL libraries adapted to Windows Mobile 6. Startting from Btpeer, core bittorrent client functionality implemented in C++ Via a configuration dialog the user can choose between: The Basic Internet bittorrent version. Bittorrent version adapted to AdHoc mobile networks.
11/10/ BitHoc Client Other features: Create torrent wizard that enables you to create a MetaInfo file from your mobile device. Leech, Seed torrent from within the application. Pause and resume download. Organize all torrents that have been processed into one single hierarchical directory based on the hash associated to each torrent.
11/10/ BitHoc Client Show each torrent downloading status ( File name, Size, Downloaded bytes, Elapsed Time, Number and list of peers included in the downloading process, Number of uploaded bytes in case of seeding). Details Dialog showing more details about the file one is currently downloading ( absolute path, Number of pieces, Tracker announce URL, Piece Size, Slice Size,...). Configure BitTorrent client wizard that enables specifying the following parameters ( Listen port, Torrents directory, where downloaded torrents will be store, Choke Timer, Min Peers, Max Peers, Max Downloader and Max Active Torrents)
11/10/ BitHoc Client Configuration Dialog
11/10/ BitHoc Client Main Interface
11/10/ BitHoc Client Creating a new MetaInfo file
11/10/ Data Sharing Ovelay OLSR Routing Daemon BitHoc Tracker List of peers List of torrents Routing Table Membership Overlay Sharing Sessions Status Data Base BitHoc Client BitHoc Torrent Files Finder Http Messages Torrent Files Data Base Distributed DHT Daemon Architecture XML-RPC
11/10/ BitHoc Search Engine BitHoc Search Engine is written in C# using visual studio 2008 Compact.NET framework 2.0 PocketXML-RPC library. BitHoc Search Engine is a multi-tab application that presents the following features: Publishing a new.Torrent file either via the local tracker of the remote DHT service. Retrieving a.Torrent file by specifying a set of keywords. Download on point-to-point the retrieved.Torrent files from the remote host.
11/10/ BitHoc Search Engine Dialogs
11/10/ Some Experimental Results
11/10/ Proposed Demo Scenario Create a torrent file from an already existing data file, Using BitHoc Search Engine, the seeder has to associate a description to the torrent file and to publish it, Using BitHoc Client, the seeder has to start seeding the published torrent file, Using BitHoc Search Engine, the other leechers has look for the published torrent file using keywords related to the published description, Once they have downloaded the torrent file leechers could join the sharing session, using BitHoc Client.
Bithoc website: Mohamed Karim Sbai, Chadi Barakat, Jaeyoung Choi, Anwar Al Hamra, Thierry Turletti, "Adapting BitTorrent to wireless ad hoc networks" In proceedings of 7th International conference on ad hoc networks and wireless 2008 (AD-HOC NOW), Sophia Antipolis, France, September Amir KRIFA, Mohamed Karim SBAI, Chadi BARAKAT, Thierry TURLETTI, "A standalone content sharing application for spontaneous communities of mobile handhelds", demo description in proceedings of the ACM SIGCOMM MobiHeld Workshop, Barcelona, Aug Amir KRIFA, Mohamed Karim SBAI, Chadi BARAKAT, Thierry TURLETTI, "BitHoc: A content sharing application for Wireless Ad hoc Networks", demo description to appear in proceedings of the IEEE Percom conference, Galveston, Texas, March /10/ References