A Configurable and Extensible Transport Protocol

The ability to configure transport protocols from collections of smaller software modules allows the characteristics of the protocol to be customized for a specific application or network technology. This paper describes a configurable transport protocol system called CTP in which microprotocols implementing individual attributes of transport can be combined into a composite protocol that realizes the desired overall functionality. In addition to describing the overall architecture of CTP and its microprotocols, this paper also presents experiments on both local area and wide area platforms that illustrate the flexibility of CTP and how its ability to match more closely application needs can result in better application performance. The prototype implementation of CTP has been built using the C version of the Cactus microprotocol composition framework running on Linux.

[1]  V. Jacobson Congestion avoidance and control , 1988, CCRV.

[2]  David C. Feldmeier,et al.  An Overview of the TP++ Transport Protocol Project , 1994 .

[3]  Robbert van Renesse,et al.  Building Adaptive Systems Using Ensemble , 1998, Softw. Pract. Exp..

[4]  Matti A. Hiltunen,et al.  Real-Time Dependable Channels: Customizing QoS Attributes for Distributed Systems , 1999, IEEE Trans. Parallel Distributed Syst..

[5]  Kevin Curran,et al.  A paradigm shift in the distribution of multimedia , 2000, CACM.

[6]  Mark Handley,et al.  From protocol stack to protocol heap: role-based architecture , 2003, CCRV.

[7]  David Wetherall,et al.  Upgrading transport protocols using untrusted mobile code , 2003, SOSP '03.

[8]  R. V. Renesse Masking the Overhead of Protocol Layering , 1996, SIGCOMM.

[9]  D. R. Cheriton,et al.  VMTP: Versatile Message Transaction Protocol , 1988 .

[10]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[11]  Alan O. Freier,et al.  The SSL Protocol Version 3.0 , 1996 .

[12]  Randall J. Atkinson,et al.  Security Architecture for the Internet Protocol , 1995, RFC.

[13]  K. K. Ramakrishnan,et al.  A Proposal to add Explicit Congestion Notification (ECN) to IP , 1999, RFC.

[14]  Jonathan M. Smith,et al.  Protocol boosters , 1998, IEEE J. Sel. Areas Commun..

[15]  Richard D. Schlichting,et al.  Composing and coordinating adaptations in cholla , 2002 .

[16]  Robert M. Hinden,et al.  Reliable Data Protocol , 1984, RFC.

[17]  Paul D. Amer,et al.  Testing environment for innovative transport protocols , 1998, IEEE Military Communications Conference. Proceedings. MILCOM 98 (Cat. No.98CH36201).

[18]  Matti A. Hiltunen,et al.  A Configurable Membership Service , 1998, IEEE Trans. Computers.

[19]  Matti A. Hiltunen,et al.  Profile-directed optimization of event-based programs , 2002, PLDI '02.

[20]  Hugo Krawczyk,et al.  A Security Architecture for the Internet Protocol , 1999, IBM Syst. J..

[21]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[22]  Matti A. Hiltunen,et al.  Coyote: a system for constructing fine-grain configurable communication services , 1998, TOCS.

[23]  Paul D. Amer,et al.  The transport layer: tutorial and survey , 1999, CSUR.

[24]  Roy Friedman,et al.  A framework for protocol composition in Horus , 1995, PODC '95.

[25]  Paul D. Amer,et al.  Partially reliable transport service , 1997, Proceedings Second IEEE Symposium on Computer and Communications.

[26]  Matti A. Hiltunen,et al.  Constructing a configurable group RPC service , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[27]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[28]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[29]  Sally Floyd,et al.  TCP Selective Acknowledgment Options , 1996, RFC.

[30]  Joseph B. Evans,et al.  Composite protocols for innovative active services , 2002, Proceedings DARPA Active Networks Conference and Exposition.

[31]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.

[32]  Franco Travostino,et al.  Paths: programming with system resources in support of real-time distributed applications , 1996, Proceedings of WORDS'96. The Second Workshop on Object-Oriented Real-Time Dependable Systems.

[33]  Dennis M. Ritchie,et al.  A stream input-output system , 1990 .

[34]  Bogdan M. Wilamowski,et al.  The Transmission Control Protocol , 2005, The Industrial Information Technology Handbook.

[35]  Andrew A. Chien,et al.  The Composite Endpoint Protocol (CEP): scalable endpoints for terabit flows , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[36]  Robert M. Hinden,et al.  Version 2 of the Reliable Data Protocol (RDP) , 1990, RFC.

[37]  D. Estrin,et al.  RSVP: a new resource reservation protocol , 1993, IEEE Communications Magazine.

[38]  Andrew A. Chien,et al.  GTP: group transport protocol for lambda-Grids , 2004, IEEE International Symposium on Cluster Computing and the Grid, 2004. CCGrid 2004..

[39]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[40]  Matti A. Hiltunen,et al.  Constructing adaptive software in distributed systems , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[41]  Matti A. Hiltunen Configuration management for highly-customisable software , 1998, IEE Proc. Softw..

[42]  Dilma Da Silva,et al.  Enabling autonomic system software with hot-swapping , 2003 .

[43]  D. M. Ritchie,et al.  The UNIX system: A stream input-output system , 1984, AT&T Bell Laboratories Technical Journal.

[44]  Luigi Rizzo,et al.  Effective erasure codes for reliable computer communication protocols , 1997, CCRV.

[45]  Dai Zhi-gan Stream Control Transmission Protocol , 2001 .

[46]  Lixia Zhang,et al.  Stream Control Transmission Protocol , 2000, RFC.

[47]  Andrew A. Chien,et al.  A high performance configurable transport protocol for grid computing , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[48]  Matti A. Hiltunen,et al.  A configurable and extensible transport protocol , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[49]  William E. Allcock,et al.  The globus extensible input/output system (XIO): a protocol independent IO system for the grid , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[50]  Douglas C. Schmidt,et al.  ADAPTIVE: A dynamically assembled protocol transformation, integration and evaluation environment , 1993, Concurr. Pract. Exp..

[51]  Mark Handley,et al.  Equation-based congestion control for unicast applications , 2000, SIGCOMM.

[52]  Markus Mock,et al.  Automatic Dynamic Compilation Support for Event Dispatching in Extensible Systems , 1998 .

[53]  Dilma Da Silva,et al.  Enabling autonomic behavior in systems software with hot swapping , 2003, IBM Syst. J..

[54]  David E. Culler,et al.  A blueprint for introducing disruptive technology into the Internet , 2003, CCRV.

[55]  Sally Floyd,et al.  TCP Selective Acknowledgement Options , 1996 .

[56]  Calton Pu,et al.  Flow and congestion control for Internet media streaming applications , 1997, Electronic Imaging.

[57]  Robert Braden,et al.  T/TCP - TCP Extensions for Transactions Functional Specification , 1994, RFC.