BitTyrant
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
.
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?, 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
may receive a decrease in download speed. Even so, if all clients are BitTyrant, high capacity peer
s 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.
10 randomly selected houses might have a small hose or pipe connected to the water source. These houses, similarly, pump out 1/10 of what they receive to 10 other randomly selected houses, and so on and so forth. There is a rapid decrease in the amount of data that can be shared as one gets farther away from the central source.
A better model 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's standard algorithm.
, BitTyrant also supports the use of plugins. Plugins from Azureus such as 3D View and Safepeer can be used.
Version 1.1 - released January 8, 2007
Version 1.1.1 - released September 7, 2007
BitTorrent client
BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...
modified from the Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
-based Azureus
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
2.5 code base. BitTyrant is designed to give preference to clients uploading to it fastest and limiting slower uploaders. It is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
, currently available for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
.
BitTyrant is a result of research projects at University of Washington
University of Washington
University of Washington is a public research university, founded in 1861 in Seattle, Washington, United States. The UW is the largest university in the Northwest and the oldest public university on the West Coast. The university has three campuses, with its largest campus in the University...
and University of Massachusetts Amherst
University of Massachusetts Amherst
The University of Massachusetts Amherst is a public research and land-grant university in Amherst, Massachusetts, United States and the flagship of the University of Massachusetts system...
, 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?, sought to challenge the common belief that BitTorrent's "must upload to download" transfer protocol prevents strategic clients from gaming the system
Gaming the system
Gaming the system can be defined as "[using] the rules and procedures meant to protect a system in order, instead, to manipulate the system for [a] desired outcome".According to James Rieley, structures in organizations Gaming the system (or bending the rules, playing the system, abusing the...
. 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
Leech (computing)
In computing and specifically Internet, a leech or leecher is one who benefits, usually deliberately, from others' information or effort but does not offer anything in return, or makes only token offerings in an attempt to avoid being called a leech...
in the swarm
Terminology of BitTorrent
This list explains terms used when discussing BitTorrent clients, and in particular the BitTorrent protocol used by these clients.-Availability: The number of full copies of a file directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file...
may receive a decrease in download speed. Even so, if all clients are BitTyrant, high capacity peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
s 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.
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.10 randomly selected houses might have a small hose or pipe connected to the water source. These houses, similarly, pump out 1/10 of what they receive to 10 other randomly selected houses, and so on and so forth. There is a rapid decrease in the amount of data that can be shared as one gets farther away from the central source.
A better model 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's standard algorithm.
Plugins
Like AzureusVuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...
, BitTyrant also supports the use of plugins. Plugins from Azureus such as 3D View and Safepeer can be used.
Versions
Initial release date: January 2, 2007Version 1.1 - released January 8, 2007
Version 1.1.1 - released September 7, 2007