TopBT (originally called Top-BT), is a topology-aware BitTorrent client. The "Top" in its name stands for "Topology". Compared with current widely-used BitTorrent clients, such as Vuze (previously known as Azureus), BitTorrent, and uTorrent, the unique feature of TopBT is, it actively discovers its network proximities to its connected peers. It does so by actively sending packets to those peers, and inspecting their responses. In addition to the merits of topology-awareness, TopBT also attempts to improve network transmission rates to its peers, so that it can download fast.
TopBT aims to achieve two main goals. First, to reduce unnecessary network traffic due to topology-unawareness. This is an important task in Internet management, because BitTorrent traffic accounts for more than 40% of total Internet traffic as reported in an IPOQUE report in 2007. Second, to maintain fast download speed: a comparable download speed to that of existing and efficient BitTorrent clients on average will be maintained, if not faster than them.
TopBT has been implemented with open-source Vuze code base Version 4.0.0.4. Our evaluation results from typical runs on Windows XP show that TopBT can achieve comparable download speed compared to that of Vuze and uTorrent, sometimes even faster. More importantly, it can save Internet traffic significantly, often cutting hundreds of mega bytes of traffic for a downloading file of Giga bytes.
01/23/2009: TopBT 1.5 has been re-evaluated by Sharky, and the evaluation report has been posted in FileShareFreak website. This report has confirmed that TopBT can effectively reduce bandwidth consumption while maintaining a high downloading speed.
01/22/2009: TopBT 1.5 has been re-implemented on top of Vuze (previously known as Azureus). Now it downloads faster than previous version of TopBT implemented based on LH-ABC code base, plus it has a friendly interface showing the amount of Internet traffic it has saved.
10/05/2008: TopBT 1.1 has been released. TopBT is now based on LH-ABC code with a more friendly user interface. We provide Linux (Unix) version, Windows installer, and source code.
08/24/2008: TopBT 1.0 has been released for a public usage.
About Panda Logo
The Giant Panda, a cute animal bearing the love of the whole world, is a geophysical location sensitive animal who relies primarily on spatial memory to navigate around its environment. From cognitive psychology and neuroscience points of view, spatial memories are summarized in a cognitive map in the brain. TopBT attempts to establish a “spatial memory” in each BitTorrent client by timely self-discovering the network topology about its surroundings for the purpose of fast downloading and avoiding unnecessary network traffic.
Frequently Asked Questions
Q: How does TopBT differ from Ono and P4P?
Ono utilizes existing CDN infrastructures to localize hosts, so that a host can choose close peers to connect to, but Ono has the following challenges: 1) when there are many native BT clients online, an Ono client is not able to accurately tell its distances to those native clients, because they do not localize themselves; 2) although a single Ono client sends only 32K DNS traffic per day, if there are 1 million Ono clients online simultaneously, it can cause 32G DNS traffic on CDN name servers. This can trigger CDN to filter Ono DNS traffic.
On the other hand, P4P is a framework through which ISPs can provide information to applications, so that applications can optimize their performance. P4P requires ISPs to widely deploy their frameworks. Another challenge for P4P is, what type of information ISPs should provide to satisfy different applications quality requirements.
In comparison, our TopBT client provides these advantages: 1) does not require modification to existing Internet infrastructure, and is a completely user-level tool; and 2) it runs well even when all the rest clients are native BT-clients; and 3) it directly measures distances to other peers, instead of using coordinates to calculate distances.
Q: How to turn on TopBT feature?
Under "Tools->Options" , there is a "TopBT" tab close to the bottom. Choose between "TopBT Off", "TopBT Ping", "TopBT TCPPing" (requires nmap installed).
Q: Why can TopBT save an amount of traffic more than its downloaded file size?
This is due to the way how saved traffic is calculated. TopBT induced traffic is defined as the sum of the size of file pieces multiplied by the network hops these pieces have traversed during the file downloading process. As said, TopBT tends to download file pieces from peers with small network hops, and its saved traffic is compared against random peer selection mechanism. Because every piece of the downloaded file can traverse several network hops less than the random peer selection mechanism, it is possible that TopBT save an amount of traffic more than its downloaded file size.
Q: Why in the "Peers' tab, there are peers whose link hops and round-trip times are not measured or cannot be measured?
TopBT does not measure those peers on which unchoking mechanisms do not have effect, such as transient peers that TopBT has not fully established connections with. In this way, TopBT can reduce system load without probing remote peers too frequently. On the other hand, there could be many peers that do not respond to TopBT probing packets because of various reasons such as firewalls or NATs, and these peers cannot be measured.
Q: Why do I observe that TopBT download speed is slow?
If your TopBT is firewalled, its download speed can become significantly slower than if not firewalled. Please refer to http://www.azureuswiki.com/index.php/NAT_problem for detailed information. If your TopBT is not firewalled, but if your torrent file is not popular and has only a few seeds and leechers, then your TopBT download speed can be slow as well.
Q: Why do I observe that TopBT download speed is slower than other BitTorrent client such as uTorrent?
There could be several reasons. First, before you conclude that TopBT is slower, you have to make sure that you have the same settings in TopBT and in the other BitTorrent client that you compare to, as the download speed of BitTorrent clients are very sensitive to network settings. Second, you need to make sure that TopBT is not firewalled. Please refer to last question's answer for more information. Third, you should download the same torrent file in both clients. Fourth, you need to compare the download speed of the original Vuze (choose TopBT Off) with the other BitTorrent client. If the original Vuze itself is slower, then TopBT download speed might also be slower, because TopBT is larged built on top of the original Vuze software. Lastly, the original design goal of TopBT is to reduce network traffic, while maintaining a moderate yet fast download time is its secondary goal. When there is enough amount of traffic being saved, TopBT still has its unique merits compared to other BitTorrent clients.
TopBT software currently supports three different unchoking mechanisms.
TopBT Off: When this unchoking mechanism is chosen, TopBT goes back to use the original Vuze's unchoking mechanism. In other words, TopBT is equivalent to the original Vuze when TopBT off is chosen.
TopBT Ping: When this unchoking mechanism is chosen, TopBT uses the "ping" utility to measure network proximities to connected peers. Good thing about it is that users do not need to install extra library and tools before they can start saving Internet traffic immediately. One down side of this mechanism is that "ping" might not be able to measure proximities to many peers in some cases.
TopBT TCPPing: When this unchoking mechanism is chosen, TopBT uses the complex "nmap" tool to measure network proximities to connected peers. Nmap requires WinPcap library to work. This mechanism allows TopBT to measure network proximities to a large number of connected peers, so that Internet traffic saving is much more than other options. Down side about it is that, it can cause a higher CPU usage, but still, to an affordable level.
Interface to show TopBT measured link hops and round-trip time (RTT):
When either "TopBT Ping" or "TopBT TCPPing" mechanism is chosen, TopBT actively discovers the network proximities of its connected peers. We provide an interface for TopBT users to view the link hops and round-trip time to connected peers. When you double click on a torrent file that is being downloaded in the main window, several tabs will pop up to show details about the torrent. If you click on the "Peers" tab, you will see two columns showing TopBT measured link hops and round-trip time. Note that there could be some peers whose link hops and round-trip time cannot be measured by TopBT, due to the fact that they do not respond to TopBT probing packets.
Interface to show TopBT saved traffic:
The bottom right corner of the TopBT main status bar shows TopBT saved Internet traffic so far in real time. As said, the traffic saving is calculated against the random peer selection mechanism. If you double click on the number of the saved traffic, it will pop up a "Statistics" tab. On this tab, there is a sub tab "Traffic", which shows the real-time saved data traffic and protocol traffic. The number of saved data traffic is the same as the one shown in the bottom right corner. The "Traffic" sub tab also explains how the saved data traffic and saved protocol traffic are calculated.