BitDesperate!

The behavior of a BitTorrent client is mostly determined by two algorithms: a peer selection algorithm and a piece selection algorithm. The peer selection algorithm determines with whom the local peer will cooperate; i.e., who it will download from and upload to. The piece selection algorithm determines which pieces of the file being downloaded should be obtained from which peer.

BitDesperate is a very fast BitTorrent client. It uses new peer and piece selection algorithms to obtain very fast downloads while helping the performance of the whole swarm. The original BitTorrent Open Source client was developed using the python programming language. The BitDesperate client is based on a instrumented branch of the original BitTorrent client.

Contact

If you have any questions about this project please send us an email.

People:

This is a project of the Computer Security Lab at the University of California, Davis.

Piece Selection

We model the piece selection problem as a Markov Decision Process and change the standard rarest first piece selection algorithm to take into account the upload rate being provided by each peer. The local peer is penalized every time a fast uploader becomes uninterested in the pieces it has. Our novel piece selection algorithm downloads pieces so as to keep the fastest uploaders interested.

Peer Selection

The overall outcome obtained when all peers use a good peer selection algorithm should be that the overall upload capacity of the system is used completely and efficiently. The algorithm should also maximize each peer's download rate. BitDesperate uses a proportional allocation algorithm. A BitDesperate client using our Fair-Share peer selection algorithm gives each remote peer as much of BitDesperate's available upload bandwidth as the fraction of the total download rate that remote peer has provided.

The Fair-Share peer selection algorithm (approximately) maximizes each peer's download bandwidth and the global efficiency of the whole system. It also promotes the existence of stable cooperating relationships between downloading peers.

Current Status

This project has been terminated.