Home - Topics - Papers - Theses - Blog - CV - Photos - Funny

Structured Streams: a New Transport Abstraction

Bryan Ford
Massachusetts Institute of Technology

Published in ACM SIGCOMM 2007, August 27-31, 2007, Kyoto, Japan.


Internet applications currently have a choice between stream and datagram transport abstractions. Datagrams efficiently support small transactions and streams are suited for long-running conversations, but neither abstraction adequately supports applications like HTTP that exhibit a mixture of transaction sizes, or applications like FTP and SIP that use multiple transport instances. Structured Stream Transport (SST) enhances the traditional stream abstraction with a hierarchical hereditary structure, allowing applications to create lightweight child streams from any existing stream. Unlike TCP streams, these lightweight streams incur neither 3-way handshaking delays on startup nor TIME-WAIT periods on close. Each stream offers independent data transfer and flow control, allowing different transactions to proceed in parallel without head-of-line blocking, but all streams share one congestion control context. SST supports both reliable and best-effort delivery in a way that semantically unifies datagrams with streams and solves the classic “large datagram” problem, where a datagram's loss probability increases exponentially with fragment count. Finally, an application can prioritize its streams relative to each other and adjust priorities dynamically through out-of-band signaling. A user-space prototype shows that SST is TCP-friendly to within 2%, and performs comparably to a user-space TCP and to within 10% of kernel TCP on a WiFi network.

Full Paper: PDF PS HTML

Presentation Slides: OpenOffice PDF HTML

Project Home Page: http://pdos.csail.mit.edu/uia/sst/

© ACM, 2007. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM SIGCOMM '07, August 27-31, 2007, Kyoto, Japan.

Topics: Networks Transport Layer Security Cryptography Out-of-Order Delivery Layering Bryan Ford