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

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


  • 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