Real-time visualisation of swarm dynamics
Research question: provide the end-user with insight into the health and contributions to Bittorrent content distribution swarms and the ability to self-police bandwidth. Context and motivation
top level strategies:
- 1 stunning case study
- more user involvement + actions to take
- increased understanding and behavioural change to boost performance
- entertainment
Top level goals
- Show the bandwidth contributions of peers and give the user full control of upload bandwidth contributions, blocking of peers, and social markers visible to others: Love&Hate. This will generate an emergent self-policing system where users determine the bandwidth allocation policy and the real-time visualiser is an enabling mechanism
- Show for each user their bandwidth contribution or leeching for naming&shaming + send bandwidth love & kick-out button
- Reward good behaviour with a prominent visual placement as to improve performance
- show who the most socially connected people are and provide a desire to join
- entertainment and social glue: give boring user something to look at + imprint community membership
- show something new
- network insight
- mental model of the economics of swarms: every MByte is contributed by a real person
- mental model that bandwidth comes from people
- mental model that high performance comes from increased sharing
- explain zero-sum game: Alice gave 23 MByte to Bob, Charlie send 30MByte to...
- insight into you sharing ratio, sharing reputation, or Internet speed
- increase the feeling of connectedness of participants: group formation, shared goals&beliefs
- Show user that all bandwidth comes from community members and uploads go to real people
- Insight into Internet connection usage, Mbps stats
- voting on real-fake of moderations and moderators from Rameez
Deployment ideas
Possible extended implementation for deployment 3-4 months before end of thesis
- Light-weight display of connected peers stats
- Display method is a single spiral shape with fixed even-spaced degrees of separation
- What to display
- Default is distance to centre for latency
- Default for size is top bandwidth
- Default for sorting is by bandwidth ( 1 O'clock position top peers, 11 O'clock lowest peers)
- Default for color is T4T vs. G2G peers
- Which peers to display
- Enable or disable classes of peers in a corner
- Default is 80 peers in five classes (all enabled)
- Highest Bandwidth T4T, idem for G2G
- Lowest latency (close proximity) T4T, idem for G2G
- Most uploaded MBytes T4T, idem for G2G
- Random peers T4T, idem for G2G
- Possible action for users to do
- Block peer
- Give high priority
- By default share the network statistics and user actions for research purposes
- Allow user to disable crawling in privacy setting
- clear explanation on website
- Crawl the network for thesis graphs
- rendering performance on their machines (startup+refresh for CPU config)
- actual usage by users
- Advanced inspiration: http://www.visualcomplexity.com/vc/project_details.cfm?id=539&index=68&domain=Social%20Networks
http://images.google.com/images?q=tag%20cloud%20examples
Tribler integrated prototype
Keep it simple, get in working in the wild
- Integrated in Tribler GUI, new "peers" button in red color
- Tribler integration, use/expand stats API
- Refresh (including generation and sorting) 150 msecs
- Test response time
- Keep "header"/search bar of Tribler above visualisation
- Devise a better way to scatter the peers in the window
- 1st sort by: bandwidth when connected
- 2nd sort by: last activity of MByte exchange in a swarm when no longer connected
- two colors: t4t, Tribler; exactly 25 most recent connected peers each
- Always display 25 + 25 peers with most recent 'last activity'
- Mix: t4t upload, t4t downloads, bartercast
- Total Download stats of both swarm and .torrent files
- Use normalised distance: 1Kbyte far, 1GByte close.
- Keep info between sessions using storage by PermID (Tribler only)
- How to give users more control of their bandwidth using up/down peer voting like Reddit
Thesis
- Introduction (P2P networks, BitTorrent, Tribler)
- Problem description
See above research question provide the end-user with insight into... plus real-time rendering - Design and implementation
Design methodology: Continuous prototyping, increase sophistication, learn and plan
What to display, what stats, how this is done, screenshot, Integration with bartercast 2 Send bartercast2 message, receive message, parse and store in database, link with visualization - Performance
Response Time of Prototypes and Implementation Resources Utilization - Future Work
Deploy and measure voting behavior
Attachments
-
OpenGL_Black.JPG
(63.1 KB) - added by stefano
12 months ago.
Example of Peers" Representation Using OpenGL
-
OpenGL_Black_Perspective.jpg
(50.0 KB) - added by stefano
12 months ago.
Example of Peers" Representation Using OpenGL
-
OpenGL_gray.JPG
(187.4 KB) - added by stefano
12 months ago.
Example of Peers" Representation Using OpenGL
-
OpenGL_gray_perspective.JPG
(135.0 KB) - added by stefano
12 months ago.
Example of Peers" Representation Using OpenGL
-
WxPython2.JPG
(77.0 KB) - added by stefano
12 months ago.
Example of Peers" Representation Using WxPython?
- Advanced_Prototype_wx.jpg (51.5 KB) - added by stefano@… 9 months ago.
- Advanced_Prototype_PyOpenGL.jpg (41.9 KB) - added by stefano@… 9 months ago.
-
TriblerLive.png
(55.9 KB) - added by stefano@…
4 months ago.
Implementation in Tribler
- ObjectPickingCompared.jpg (50.7 KB) - added by stefano@… 4 months ago.
- LiveVisualization.jpg (148.7 KB) - added by stefano@… 4 months ago.
-
ZoomLiveVisualization.jpg
(70.4 KB) - added by stefano@…
4 months ago.
20 Seconds Snapshot of Live Data visualization
-
AdvancedGLTimings.jpg
(102.9 KB) - added by stefano@…
3 months ago.
CoopViz?, Advanced Prototype PyOpenGL Time Behavior
-
AdvancedWxTimings.jpg
(117.5 KB) - added by stefano@…
3 months ago.
CoopViz?, Advanced Prototype wxPython Time Behavior
-
BasicGLTimings.jpg
(102.8 KB) - added by stefano@…
3 months ago.
CoopViz?, Basic Prototype PyOpenGL Time Behavior
-
BasicWxTimings.jpg
(113.5 KB) - added by stefano@…
3 months ago.
CoopViz?, Basic Prototype wxPython Time Behavior
- stefano_msc_CoopViz_realtime_visualisation_of_bittorrent_swarm_dynamics_FINAL.pdf (1.6 MB) - added by pouwelse@… 7 days ago.
![(please configure the [header_logo] section in trac.ini)](/images/TriblerLogo.png)


