• Media type: E-Article
  • Title: Structured streams : a new transport abstraction : a new transport abstraction
  • Contributor: Ford, Bryan
  • Published: Association for Computing Machinery (ACM), 2007
  • Published in: ACM SIGCOMM Computer Communication Review, 37 (2007) 4, Seite 361-372
  • Language: English
  • DOI: 10.1145/1282427.1282421
  • ISSN: 0146-4833
  • Keywords: Computer Networks and Communications ; Software
  • Origination:
  • Footnote:
  • Description: 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.