BitTyrant
From Wikipedia, the free encyclopedia
BitTyrant is a BitTorrent client modified from the Java-based Azureus 2.5 code base. BitTyrant is designed to give preference to clients uploading to it fastest and limiting slower uploaders. It is free software and cross-platform, currently available for Windows, OS X, and Linux.[1]
BitTyrant is a result of research projects at University of Washington and University of Massachusetts Amherst, developed and supported by Professors Tom Anderson, Arvind Krishnamurthy, Arun Venkataramani and students Michael Piatek, Jarret Falkner, and Tomas Isdal. The paper describing how it works, Do Incentives Build Robustness in BitTorrent?[2], sought to challenge the common belief that BitTorrent's "must upload to download" transfer protocol prevents strategic clients from gaming the system. It won a Best Student Paper award at the 2007 Networked Systems Design and Implementation conference.
As a strategic client, it has demonstrated an average increase in download speed by 70% over a standard BitTorrent client. Non-BitTyrant leechers in the swarm generally receive a decrease in download speed. Even so, if all clients are BitTyrant, high capacity peers are more effectively utilized, allowing for an overall increase in download speed. However, there is a caveat. If high capacity peers are involved in many swarms, low capacity peers lose some performance. [2]
Contents |
[edit] Strategic peer selection - an analogy
Imagine your city's central water source (the peer with data to be shared). Everyone needs water, but only a few pipes (we will suggest 10) can actually access the central source simultaneously. There are a few models of distribution that could be adopted, two of which follow.
The 10 houses geographically closest might have a small hose or pipe connected to the water source. These houses, similarly, pump out 1/10th of what they receive to 10 of their neighbors, and so on and so forth. There is a rapid decrease in the amount of data that can be shared as one gets further away from the central source.
A better model, or at least one that better satisfies users with access to larger pipes, is to let the houses with the 10 largest pipes be connected directly to the central source. While the data is being transferred to these higher bandwidth nodes (houses), each of these in turn connects with the 10 houses that have the highest bandwidth. This accelerates the establishment of viable seeds in a torrent, and more closely corresponds to our present model, using water mains.
This example, although imperfect and somewhat exaggerated, corresponds to BitTorrent clients; the first to a standard client, and the second to BitTyrant's strategic peer selection algorithm. Clarifications of the actual algorithms used by BitTyrant follow.
When selecting which nodes have the highest bandwidth, a node uses the amount of data being received in return. Simply relying on a leecher's reported total bandwidth could easily be gamed. The seeding behavior is not modified from Azureus' standard algorithm.
[edit] Plugins
Like Azureus, BitTyrant also supports the use of plugins. Plugins from Azureus such as 3D View and Safepeer can be used.
[edit] Versions
Initial release date: January 2, 2007
Version 1.1 - released January 8, 2007
Version 1.1.1 - released September 7, 2007
[edit] References
- ^ Researchers Create Selfish BitTorrent Client. Slashdot. Retrieved on 2007-01-03.
- ^ a b Michael Piatek, Tomas Isdal, Thomas Anderson, and Arvind Krishnamurthy, University of Washington; Arun Venkataramani, University of Massachusetts. Do Incentives Build Robustness in BitTorrent? Proceedings of 4th USENIX Symposium on Networked Systems Design & Implementation. 2007. http://www.cs.washington.edu/homes/piatek/papers/BitTyrant.pdf