Faster web surfing with unreliable picture quality
When we surf the web, and a page includes a picture that is made up of 10 packets, and one of these packets is dropped, we have to wait for at least one round-trip-time until we see the result.
Because every request has to terminate successfully and the number of parallel TCP connections that a web browser is allowed to open varies, such lost packets create extra delay and may disturb the web surfing experience. Maybe we wouldn't mind occasional errors in pictures? This thesis should investigate that, by building a tool that monitors the incoming TCP packets, identifies a picture in a web page as such, and, if a packet is missing, lies to the TCP on the other end to tell it that the packet has in fact been received. To make the TCP communication succeed, it hands over to the web browser a self-constructed packet with any (wrong) data inside (e.g. a block of 0's, which probably translates into a black part of an image). The tool also has to some of the ACKs from the browser-side from reaching the other end.
In terms of the type of programming effort, this work resembles this thesis. The envisioned end result is closer to this. In fact, the "stateless TCP" web server described in this paper should automatically be able to communicate better with a system that has an unreliable web browser.
Requirements: know TCP reasonably well, be able to deal with C programming, use libpcap and such. And enjoy cheating Internet protocols :-)