370 likes | 553 Views
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.
E N D
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 • 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
P2P Concepts • Peers as clients and servers • Resources provided by peers • Capacity grows with demand • Direct interaction between nodes • Dynamic systems • No central authority
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
BitTorrent Jargon • Swarm • Leecher • Seeder • Tracker • Chunk • .torrent file
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
BitTorrent Protocol • Most popular P2P protocol • Multiple clients available • Tribler, Azureus, BitTorrent, ABC etc..
Tribler • Social next-generation BitTorrent client • Search ability • Recommendations • Friends and Cooperative Downloading • Video on Demand • Swarm Visualization
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
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
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)
Tribler: Bartercast • Message exchange protocol • Small world effect • Messages saved on database • Long term behavior • Reputation as cooperation metric • Unchoking based on reputation
Current Level of Cooperation • Incentive mechanisms not efficient • Bandwidth allocation policies can be cheated • Greatest percentage of users still free ride
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
Requirements • Portability • Efficiency • Learnability • Performance • Satisfaction
Prototyping • Two prototypes • Basic & Advanced • Two graphics libraries • wxPython & PyOpenGL • Four final prototypes
Basic Prototype • Simplicity first • Visualize only most cooperative peers • Highest speed in upload • Focus on peers cooperation • Upload speed • Reputation
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
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
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
Conclusions • Clear insights into peers cooperation • Representation of Tribler community • Fulfillment of requirements • Potentially revolutionary interface
Future Work • Dual Visualization • Impact on bandwidth allocation policies • Connection with ‘Add as Friend’ • Latency Monitoring