Quality of Service support for Floodgate

Status: Open

Project Summary

Floodgate is a P2P protocol that supports micropayment as a mechanism to incentivize uploading of content. With this project we hope to add Quality of Service (QoS) features into Floodgate in order to make Floodgate a viable system for content distributors.

Project in detail

P2P protocols like BitTorrent use the tit-for-tat mechanism 'force' peers to upload content while they are downloading. This approach however has several problems. Attacks aimed at downloading more than the fair share of content have been proposed and implemented in real-world. Furthermore, there is no real incentive to seed the content (i.e. keep uploading after the download has been completed). This impairs the use P2P technologies as a mean of providing a viable Content Delivery Network (CDN).

Floodgate [1] has been proposed as a micropayment supported P2P protocol with the aim of incetivizing the peers to upload the content fairly as well as to seed the content. One of the features lacking in Floodgate however, is the ability to support Quality of Service requirements. QoS is support is a very important requirement for content providers since they do not want their customers to complain about, say the meager 10 KBps download speed of the MP3 song.

In this project we hope to close this gap and propose a scheme to add QoS support to Floodgate.


Floodgate is written mainly in Python. You should be comfortable with understanding and writing fairly complicated Python code. However, as the case may be, the Python code of Floodgate might be able to interface with C code and hence it might be a possibility to write the QoS support in C. However this still needs to be investigated. Some understanding of how BitTorrent and similar P2P systems work is a plus, though not required. Similarly, a basic understading of cryptographic operations like encryption, decryption, signing and verification is also a bonus.

What the student will gain

The student will gain a good understanding about the design issues related to P2P protocols and similar distributed system. The project will also provide a good venue to develop your coding skills. A well done project may result in a paper submission to a referred conference (IEEE/ACM).


Bruno Crispo will be the faculty staff supervising the project with support from Srijith K. Nair who is a PhD. student at the faculty. The student will have regular meetings with Bruno and Srijith and is expected to work consistently throughout the project.


If you are interested to know more about this project please send a mail to [email protected] or [email protected]


  1. Srijith K. Nair, Erik Zentveld, Bruno Crispo, Andrew S. Tanenbaum, "Floodgate: A Micropayment Incentivised P2P Content Delivery Network" - Accepted for the 17th Internation Conference on Computer Communications and Networks, August 3 - 7, 2008, St. Thomas U.S. Virgin Islands, USA

$Id: floodgate-qos.php,v 1.2 2008/06/08 14:21:18 srijith Exp $