Structured Stream Transport
SST is an experimental transport protocol
designed to address the needs of modern applications
that need to juggle many asynchronous communication activities in parallel,
such as downloading different parts of a web page simultaneously
and playing multiple audio and video streams at once.
Features of SST:
- Multiplexes many application streams
onto one network connection
- Gives streams hereditary structure:
applications can spawn lightweight streams from existing ones
no 3-way handshake on startup or TIME-WAIT on close
- Supports request/response transactions
without serializing onto one stream
- General out-of-band signaling:
control requests already in progress
- Both reliable and best-effort delivery
in a semantically unified model
- supports messages/datagrams of any size:
no need to limit size of video frames, RPC responses, etc.
- Dynamic prioritization of application's streams
- e.g., load visible parts of a web page first,
change priorities when user scrolls
- Optional end-to-end cryptographic security
comparable to SSL
- Peer-to-peer communication across NATs via
- Implemented as a library that can be linked
directly into applications like SSL for easy deployment
- Research paper (PDF/PS/HTML, 12 pages),
to appear in
Describes SST's principles and the most important design details.
- Preliminary protocol specification
(PDF, 22 pages).
Provides a more thorough technical description of the protocol.
Still incomplete and not entirely consistent with the current code
or the SIGCOMM paper.
- Preliminary SST library API documentation
Usable and hopefully moderately stable but still likely to evolve
in non-backwards-compatible ways before the first "release".
The following public mailing list is available
for discussions related to SST:
The SST Mailing List
the code is still in a very early experimental state.
Some features are broken or not completely implemented.
Don't expect to be able to use it right away in a production system.
The SST library distribution does not yet have a stable release.
is available however.
browse the source code,
or check out a copy of the repository:
% svn co svn://svn.pdos.csail.mit.edu/uia/trunk/uia/sst
To build the library,
make sure you have
Qt 4.1 or later
OpenSSL 0.9.8 or later installed,
% cd sst
To get started using the library in your application,
see the main page of the API documentation.
SST is a part of the UIA project
at the Parallel and Distributed Operating Systems Group
Computer Science and Artificial Intelligence Laboratory.
UIA is sponsored by the T-Party Project, a joint research
program between MIT and Quanta Computer Inc., Taiwan, by the
National Science Foundation under Cooperative Agreement ANI-0225660
(Project IRIS) and
the NSF FIND program,
with additional support from Nokia Research Center
Last Updated: $Id: index.html 1818 2007-03-28 14:18:44Z baford $