1 / 22

A Standalone Content Sharing Application for Spontaneous Communities of Mobile Handhelds

A standalone application for spontaneous mobile communities enabling efficient content sharing using P2P networking architecture with features like file sharing, peer lookup, content publishing, and discovery. Developed in C++ and C#.

Download Presentation

A Standalone Content Sharing Application for Spontaneous Communities of Mobile Handhelds

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Standalone Content Sharing Application for Spontaneous Communities of Mobile Handhelds Authors: Amir Krifa – Amir.Krifa@sophia.inria.fr Mohamed Karim Sbai – mksbai@sophia.inria.fr Chadi Barakat – Chadi.Barakat@sophia.inria.fr Thierry Turletti – turletti@sophia.inria.fr

  2. Objectives • 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.

  3. BitHoc Architecture XML-RPC BitHoc Torrent Files Finder BitHoc Client Distributed DHT Daemon Http Messages Torrent Files Data Base List of peers BitHoc Tracker Membership Overlay List of torrents OLSR Routing Daemon Routing Table Sharing Sessions Status Data Base Data Sharing Ovelay

  4. BitHoc Architecture XML-RPC BitHoc Torrent Files Finder BitHoc Client Distributed DHT Daemon Http Messages Torrent Files Data Base List of peers BitHoc Tracker Membership Overlay List of torrents OLSR Routing Daemon Routing Table Sharing Sessions Status Data Base Data Sharing Ovelay

  5. BitHoc Tracker • BitHoc TrackerisWritten 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.

  6. 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.

  7. BitHoc Tracker (Configuration, Dialog and UI )

  8. BitHoc Tracker (Configuration, Dialog and UI )

  9. BitHoc Tracker (Configuration, Dialog and UI )

  10. Architecture XML-RPC BitHoc Torrent Files Finder BitHoc Client Distributed DHT Daemon Http Messages Torrent Files Data Base List of peers BitHoc Tracker Membership Overlay List of torrents OLSR Routing Daemon Routing Table Sharing Sessions Status Data Base Data Sharing Ovelay

  11. BitHoc Client • BitHoc Client is written in C++ usingvisual 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.

  12. 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.

  13. 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)

  14. BitHoc Client Configuration Dialog

  15. BitHoc Client Main Interface

  16. BitHoc Client Creating a new MetaInfo file

  17. Architecture XML-RPC BitHoc Torrent Files Finder BitHoc Client Distributed DHT Daemon Http Messages Torrent Files Data Base List of peers BitHoc Tracker Membership Overlay List of torrents OLSR Routing Daemon Routing Table Sharing Sessions Status Data Base Data Sharing Ovelay

  18. 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.

  19. BitHoc Search Engine Dialogs

  20. Some Experimental Results

  21. 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.

  22. References • Bithoc website: http://planete.inria.fr/bithoc/ • 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 2008. • 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 2009. • 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 2009.

More Related