Using a preprocessed filelist.org trace, obtained at the SVN repo, I (Victor) modeled percolation effects on the graph of all ongoing BitTorrent connections of all the tracker's swarms.
Actually, the data is much more coarse grained and has 3 types of records:
- peer going online
- peer going offline
- peer joining some swarm for the first time
The log had no indication of peer leaving a swarm while staying online, e.g. by deleting a torrent locally. One possibility was to use full logs (see FilelistMeasurements). Instead, I accepted some hypotheses:
- for a given swarm, the graph of peers and their ongoing connections is connected -- quite a reasonable assumption, BitTorrent is all about that
- peers never leave swarms (the simplifying optimistic hypothesis) or peers keep participating in 5 most recent swarms (less optimistic)
The planned result was the diagram for the size of the giant cluster over time (as percentage to the total number of peers online). Actually, it turned unnecessary as ~100% peers belong to the giant cluster at any given moment of time.
It is easy to explain. As a peer participates in a swarm, there are likely to be some other peers and one of those peers is likely to participate in two other swarms and that two swarms have tens of peers who participate in tens of third swarms, etc
Regarding connectivity of swarms served by different trackers it is natural to conjecture that graph to be also connected as there are peers who download/seed torrents from different trackers, there are multi-tracker torrents, etc.
So, it is possible to consider the whole BitTorrent network as indeed a connected network, Swarm2, a swarm of swarms, not as a number of disconnected swarms.
The code for the simulator is attached. The simulator consumes a special data format produced as follows:
cat trace/connbtuser.log | ./reformat.pl | sort -n > time-trace.txt