1 / 37

CoopViz: Real Time Visualization of BitTorrent Swarm Dynamics

CoopViz: Real Time Visualization of BitTorrent Swarm Dynamics. MSc . Thesis Presentation: Stefano Barbieri 09.09.2009. Overview. Introduction Problem Analysis CoopViz Prototypes Acquired Insights Implementation with live data Conclusions and Future Work Questions. Client-server Model.

dai
Download Presentation

CoopViz: Real Time Visualization of BitTorrent Swarm Dynamics

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. CoopViz: Real Time Visualization of BitTorrent Swarm Dynamics MSc. Thesis Presentation: Stefano Barbieri 09.09.2009

  2. Overview • Introduction • Problem Analysis • CoopViz Prototypes • Acquired Insights • Implementation with live data • Conclusions and Future Work • Questions

  3. Client-server Model • Thousands users want to download the same files at the same time • Client-server model is not efficient • Possible overload • Single Point of Failure • Too expensive • Possible solutions: • Multicast • Peer-to-peer

  4. P2P Concepts • Peers as clients and servers • Resources provided by peers • Capacity grows with demand • Direct interaction between nodes • Dynamic systems • No central authority

  5. Why P2P ? • Scalable • Peers contribute with their own resources • Flash crowds resiliency • High Availability • Content accessible at (almost) all times • No single point of failure • Cheap • Variety of content • Users can share their own content

  6. BitTorrent Jargon • Swarm • Leecher • Seeder • Tracker • Chunk • .torrent file

  7. BitTorrent Protocol • Problem Addressed • Transfer a piece of data in a P2P fashion to the largest number of people in the fastest way • Solution • Use of peers upload bandwidth • Utilization of partially downloaded files • Web based content search • Files divided in multiple chunks • Communication of available chunks • Peer-to-peer exchange of pieces

  8. BitTorrent Protocol • Most popular P2P protocol • Multiple clients available • Tribler, Azureus, BitTorrent, ABC etc..

  9. Tribler • Social next-generation BitTorrent client • Search ability • Recommendations • Friends and Cooperative Downloading • Video on Demand • Swarm Visualization

  10. Problems Behind Cooperation • Users want fast downloads • Users want to save bandwidth for other applications • “tragedy of the commons” • Summarized in G. Hardin’s paper “Tragedy of the Commons”, 1968 • Typical of P2P file sharing systems, i.e. BitTorrent

  11. Incentive Towards Cooperation • Centralised methods • Need for central policing entity • Identification and tracking of peers • Only used in private communities • Decentralised methods • No need for centralised coordination • Bandwidth allocation policies • Implemented in all P2P file sharing clients

  12. BitTorrent: Tit-for-Tat • All peers should contribute • Each peer shows an interested status for the needed chunks • Each peer unchokes at most 4 interested peers at any time • The three with the largest upload rates • Another randomly chosen (Optimistic unchoke)

  13. Tribler: Bartercast • Message exchange protocol • Small world effect • Messages saved on database • Long term behavior • Reputation as cooperation metric • Unchoking based on reputation

  14. Current Level of Cooperation • Incentive mechanisms not efficient • Bandwidth allocation policies can be cheated • Greatest percentage of users still free ride

  15. CoopViz – Incentive towards Cooperation • Graphical User Interface • Real time visualization of peers cooperation • Peers properties retrieval • Tangible bandwidth exchanges • Sense of community • Self policing • Voting • Better tuned bandwidth allocation policies • P2P research tool

  16. Requirements • Portability • Efficiency • Learnability • Performance • Satisfaction

  17. Prototyping • Two prototypes • Basic & Advanced • Two graphics libraries • wxPython & PyOpenGL • Four final prototypes

  18. Basic Prototype • Simplicity first • Visualize only most cooperative peers • Highest speed in upload • Focus on peers cooperation • Upload speed • Reputation

  19. Basic Prototype

  20. Basic Prototype wxPython – Time Behavior

  21. Basic Prototype PyOpenGL – Time Behavior

  22. Advanced Prototype • Adjustable number of on-screen peers • Three visualizations • Latency VS Upload • Latency VS Reputation • Upload VS Reputation • Four groups of peers visualized • Mbytes shared • Upload speed • Latency • Random

  23. Advanced Prototype – PyOpenGL

  24. Advanced Prototype - WxPython

  25. Advanced Prototype wxPython – Time Behavior

  26. Advanced Prototype PyOpenGL – Time Behavior

  27. Object Picking • Discern between objects on screen • Necessary for peers properties retrieval • Recognize selected peer • Show properties on pop-up window • Implementation varies with graphics library • wxPython – Geometrical method • PyOpenGL - Selection mode method

  28. Object Picking - Time Behavior

  29. CoopViz - wxPython VS PyOpenGL

  30. Implementation in Tribler • Implemented in wxPython • Focus on peers cooperation • Upload speed • Mbytes shared • Visualization of best live peers • Highest speed in upload • Visualization of Bartercast peers • Highest number of shared Mbytes

  31. Implementation in Tribler

  32. Implementation in Tribler

  33. Implementation in Tribler

  34. Conclusions • Clear insights into peers cooperation • Representation of Tribler community • Fulfillment of requirements • Potentially revolutionary interface

  35. Future Work • Dual Visualization • Impact on bandwidth allocation policies • Connection with ‘Add as Friend’ • Latency Monitoring

  36. Questions ?

More Related