"Researchers from the computer science department at the University of Washington have released BitTyrant, a new BitTorrent client that is designed to improve download performance via strategic selection of peers and upload rates. Their results call into question the effectiveness of BitTorrent's tit-for-tat reciprocation strategy which was designed to discourage selfish users. Clients are available for Windows, OS X, and Linux."
http://bittyrant.cs.washington.edu/
Q: How is BitTyrant different from existing BitTorrent clients?
BitTorrent 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.
http://bittyrant.cs.washington.edu/
Q: How is BitTyrant different from existing BitTorrent clients?
BitTorrent 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.
