Improving the Internet's Transport Layer
The Internet's transport layer is now almost impossible to change; this is at least partially due to its lack of abstraction, which makes application designers choose protocols instead of services. Several years ago, I rather vaguely described a better approach in:
Michael Welzl: "A Case for Middleware to Enable Advanced Internet Services", Proceedings of Next Generation Network Middleware workshop (NGNM'04), co-located with Networking 2004, Athens, Greece, 14 May, 2004.

Following this paper, I made a few more, smaller efforts. These are listed below:
- General
- For some explanations and technical ideas, see these slides: part 1:
part 2:
- Stefan Jörer's master thesis proposes a new transport API design for the Internet. An abbreviated version is:
Michael Welzl, Stefan Jörer, Stein Gjessing: "Towards a Protocol-Independent Internet Transport API", FutureNet IV workshop in conjunction with of IEEE ICC 2011, 5-9 June 2011, Kyoto, Japan. 
- SCTP
- Florian Niederbacher's master thesis has shown that significant performance gains can be attained by transparently mapping multiple TCP connections between the same host pair onto streams of a single SCTP association underneath the socket interface. An abbreviated version is:
Michael Welzl, Florian Niederbacher, Stein Gjessing: "Beneficial Transparent Deployment of SCTP: the Missing Pieces", IEEE GlobeCom 2011, 5-9 December 2011, Houston, Texas.

- Florian's master thesis has also shown that, using default parameters, the Linux SCTP implementation usually performs much worse than TCP. We have begun to fix this in a project called "A Better Linux SCTP", funded by the NL.Net foundation. The first outcome of this project is code for SCTP auto-buffer tuning, and the second is a (not yet 100% working) implementation of pluggable congestion control for SCTP. Also note that the Linux SCTP implementation has generally
improved (bugfixed, ..) since
Florian's thesis.
- DCCP
- MulTFRC could be used to make DCCP more attractive.
- When using DCCP to stream video, Michael Schier has found some issues with the Linux implementation, which he fixed. These fixes are documented in his thesis, and in this paper:
Michael Schier, Michael Welzl: "Using DCCP: Issues and Improvements", accepted for publication, IEEE ICNP 2012, 30 October - 2 November 2012, Austin, Texas, USA. 
Specifically, he extended the socket layer, improved the look-up table that is used in the implementation of the TCP equation, and incorporated history discounting. The first two changes are available here, as a patch against kernel 3.4.0-rc. The code for the third was unfortunately lost, but it was only a standard conformant implementation of an optional part of the DCCP spec.
After this work, and several more related presentations (see here if you really want to know), the outcomes were:
Last update: 6. May 2015
Back to Michael's page