New: Check out OneSwarm, our new, privacy-preserving P2P software release.

Overview | FAQ | Screenshot | Downloads | Papers | People | Acknowledgments | Press

Overview

BitTyrant is a new, protocol compatible BitTorrent client that is optimized for fast download performance. BitTyrant is...

Fast  During evaluation testing on more than 100 real BitTorrent swarms, BitTyrant provided an average 70% download performance increase when compared to the existing Azureus 2.5 implementation, with some downloads finishing more than three times as quickly.



 During evaluation testing on more than 100 real BitTorrent swarms, BitTyrant provided an average 70% download performance increase when compared to the existing Azureus 2.5 implementation, with some downloads finishing more than three times as quickly. Fair  BitTorrent was designed with incentives in mind: if a user is downloading at 30 KBps, they should upload at 30 KBps. However, due to the unique workload properties of many real-world swarms, this is not always enforced. BitTyrant is designed to make efficient use of your scarce upload bandwidth, rewarding those users whose upload allocations are fair and only allocating excess capacity to other users.



BitTorrent was designed with incentives in mind: if a user is downloading at 30 KBps, they should upload at 30 KBps. However, due to the unique workload properties of many real-world swarms, this is not always enforced. BitTyrant is designed to make efficient use of your scarce upload bandwidth, rewarding those users whose upload allocations are fair and only allocating excess capacity to other users. Familiar  BitTyrant is based on modifications to Azureus 2.5, currently the most popular BitTorrent client. All of our changes are under the hood. You’ll find the GUI identical to Azureus, with optional additions to display statistics relevant to BitTyrant’s operation.

For details about these claims, check out the information below.

FAQ

Q: Isn't BitTyrant just another leeching client?

No. BitTyrant does not change the amount of data uploaded, just which peers receive that data. Specifically, peers which upload more to you get more of your bandwidth. When all peers use the BitTyrant client as released, performance improves for the entire swarm. The details of this are explained further below. In our paper, we consider situations in which peers use clients which attempt to both maximize performance and conserve upload contribution, but BitTyrant, as released, attempts only to maximize performance.

Q: How is BitTyrant different from existing BitTorrent clients?

BitTyrant differs from existing clients in its selection of which peers to unchoke and send rates to unchoked peers. Suppose your upload capacity is 50 KBps. If you’ve unchoked 5 peers, existing clients will send each peer 10 KBps, independent of the rate each is sending to you. In contrast, BitTyrant will rank all peers by their receive / sent ratios, preferentially unchoking those peers with high ratios. For example, a peer sending data to you at 20 KBps and receiving data from you at 10 KBps will have a ratio of 2, and would be unchoked before unchoking someone uploading at 10 KBps (ratio 1). Further, BitTyrant dynamically adjusts its send rate, giving more data to peers that can and do upload quickly and reducing send rates to others.

Q: Will BitTyrant work for cable / DSL users?

Yes. Although the evaluation in our paper focuses on users with slightly higher upload capacity than is typically available from US cable / DSL providers today, BitTyrant’s intelligent unchoking and rate selection still improves performance for users with less capacity. All users, regardless of capacity, benefit from using BitTyrant.

Q: Won’t BitTyrant hurt overall BitTorrent performance if everyone uses it?

This is a subtle question and is treated most thoroughly in the paper. The short answer is: maybe. A big difference between BitTyrant and existing BitTorrent clients is that BitTyrant can detect when additional upload contribution is unlikely to improve performance. If a client were truly selfish, it might opt to withhold excess capacity, reducing performance for other users that would have received it. However, our current BitTyrant implementation always contributes excess capacity, even when it might not improve performance. Our goal is to improve performance, not minimize upload contribution.

Screenshot



Download peer information with per-connection ratios and BitTyrant status.

Downloads

Note: BitTyrant is research software. Although we have used it internally for several months, it is likely to still have several bugs and performance quirks that we have not yet identified. If you’ve found a bug, please send us a note.

BitTyrant requires Java 1.5. If you're having problems getting things started, try updating your JVM.

Important: For BitTyrant to be most effective, it is crucial that you accurately set your upload capacity during configuration.

Version: 1.1.1 (Released 7 September, 2007) (changelog)

The BitTyrant source code is also available. Anonymous trace data collected during our study is available by request.

Papers

A poster and talk regarding BitTyrant were presented in the 2006 UW CSE Affiliates meeting.

People

Contact us

Acknowledgments