An Architecture for Internet Data Transfer

This paper presents the design and implementation of DOT, a flexible architecture for data transfer. This architecture separates content negotiation from the data transfer itself. Applications determine what data they need to send and then use a new transfer service to send it. This transfer service acts as a common interface between applications and the lower-level network layers, facilitating innovation both above and below. The transfer service frees developers from re-inventing transfer mechanisms in each new application. New transfer mechanisms, in turn, can be easily deployed without modifying existing applications. We discuss the benefits that arise from separating data transfer into a service and the challenges this service must overcome. The paper then examines the implementation of DOT and its plugin framework for creating new data transfer mechanisms. A set of microbenchmarks shows that the DOT prototype performs well, and that the overhead it imposes is unnoticeable in the wide-area. End-to-end experiments using more complex configurations demonstrate DOT's ability to implement effective, new data delivery mechanisms underneath existing services. Finally, we evaluate a production mail server modified to use DOT using trace data gathered from a live email server. Converting the mail server required only 184 lines-of-code changes to the server, and the resulting system reduces the bandwidth needed to send email by up to 20%.

[1]  J. Postel,et al.  File transfer protocol (FTP) , 1985 .

[2]  Jon Postel,et al.  File Transfer Protocol , 1985, RFC.

[3]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[4]  Udi Manber,et al.  Finding Similar Files in a Large File System , 1994, USENIX Winter.

[5]  Paul Vixie,et al.  A DNS RR for specifying the location of services (DNS SRV) , 1995, RFC.

[6]  B. Briscoe Internet Engineering Task Force , 1995 .

[7]  Brent Callaghan,et al.  NFS Version 3 Protocol Specification , 1995, RFC.

[8]  Paul Mackerras,et al.  The rsync algorithm , 1996 .

[9]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[10]  Luigi Rizzo,et al.  Dummynet: a simple approach to the evaluation of network protocols , 1997, CCRV.

[11]  David Wetherall,et al.  A protocol-independent technique for eliminating redundant network traffic , 2000, SIGCOMM.

[12]  John C. Klensin,et al.  Simple Mail Transfer Protocol , 2001, RFC.

[13]  Marshall T. Rose On the Design of Application Protocols , 2001, RFC.

[14]  MaziéresDavid,et al.  A low-bandwidth network file system , 2001 .

[15]  Antony I. T. Rowstron,et al.  PAST: a large-scale, persistent peer-to-peer storage utility , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[16]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[17]  Mike Hibler,et al.  An integrated experimental environment for distributed systems and networks , 2002, OPSR.

[18]  Marvin Theimer,et al.  Reclaiming space from duplicate files in a serverless distributed file system , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[19]  Hari Balakrishnan,et al.  Resilient overlay networks , 2001, SOSP.

[20]  Micah Beck,et al.  An end-to-end approach to globally scalable network storage , 2002, SIGCOMM '02.

[21]  Sean Quinlan,et al.  Venti: A New Approach to Archival Storage , 2002, FAST.

[22]  Brian D. Noble,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Pastiche: Making Backup Cheap and Easy , 2022 .

[23]  Eric A. Brewer,et al.  Value-based web caching , 2003, WWW '03.

[24]  Mahadev Satyanarayanan,et al.  Opportunistic Use of Content Addressable Storage for Distributed File Systems , 2003, USENIX Annual Technical Conference, General Track.

[25]  Fabrice Guillemin,et al.  Analysis of ADSL traffic on an IP backbone link , 2003, GLOBECOM '03. IEEE Global Telecommunications Conference (IEEE Cat. No.03CH37489).

[26]  Kevin R. Fall,et al.  A delay-tolerant network architecture for challenged internets , 2003, SIGCOMM '03.

[27]  B. Cohen,et al.  Incentives Build Robustness in Bit-Torrent , 2003 .

[28]  Randolph Y. Wang,et al.  Turning the postal system into a generic digital communication mechanism , 2004, SIGCOMM '04.

[29]  Mahadev Satyanarayanan,et al.  OpenCAS: A Flexible Architecture for Content Addressable Storage , 2004, PDCS.

[30]  I. Stoica,et al.  Supporting Legacy Applications over i 3 , 2004 .

[31]  Michael Walfish,et al.  Middleboxes No Longer Considered Harmful , 2004, OSDI.

[32]  Terence Kelly,et al.  Design, Implementation, and Evaluation of Duplicate Transfer Detection in HTTP , 2004, NSDI.

[33]  Jason Flinn,et al.  Energy-Efficiency and Storage Flexibility in the Blue File System , 2004, OSDI.

[34]  Mahadev Satyanarayanan,et al.  Integrating Portable and Distributed Storage , 2004, FAST.

[35]  Brighten Godfrey,et al.  OpenDHT: a public DHT service and its uses , 2005, SIGCOMM '05.

[36]  Justin Cappos,et al.  Why It Is Hard to Build a Long-Running Service on PlanetLab , 2005, WORLDS.

[37]  Mahadev Satyanarayanan,et al.  Towards seamless mobility on pervasive hardware , 2005, Pervasive Mob. Comput..

[38]  Andreas Haeberlen,et al.  NSDI '06: 3rd Symposium on Networked Systems Design & Implementation , 2006 .

[39]  Mahadev Satyanarayanan,et al.  Design Tradeoffs in Applying Content Addressable Storage to Enterprise-scale Systems Based on Virtual Machines , 2006, USENIX Annual Technical Conference, General Track.