System support for scalable and fault tolerant internet services

Over the past few years, we have seen the proliferation of Internet-based services ranging from search engines and map services to video-on-demand servers. All of these kinds of services need to be able to provide guarantees of availability and scalability to their users. With millions of users on the Internet today, these services must have the capacity to handle a large number of clients and remain available even in the face of extremely high load. In this paper, we present a generic architecture for supporting such Internet applications. We provide a substrate for Scalable Network Services (SNS), on top of which application developers can design their services without worrying about the details of service management. We back our design with three real-world services: a web distillation proxy, a proxy-based web-browser for PDAs, and an MBone archive server.

[1]  Daniel Andresen,et al.  Scalability issues for high performance digital libraries on the World Wide Web , 1996, Proceedings of the Third Forum on Research and Technology Advances in Digital Libraries,.

[2]  Steven McCanne,et al.  An active service framework and its application to real-time multimedia transcoding , 1998, SIGCOMM '98.

[3]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[4]  Azer Bestavros,et al.  Explaining World Wide Web Traffic Self-Similarity , 1995 .

[5]  Thomas P. Brisco DNS Support for Load Balancing , 1995, RFC.

[6]  Michael Mitzenmacher,et al.  How useful is old information (extended abstract)? , 1997, PODC '97.

[7]  Mark Handley,et al.  SAP: Session Announcement Protocol , 1996 .

[8]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[9]  John F. Shoch,et al.  The “worm” programs—early experience with a distributed computation , 1982, CACM.

[10]  Marvin Theimer,et al.  The Bayou Architecture: Support for Data Sharing Among Mobile Users , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[11]  Srinivasan Seshan,et al.  SPAND: Shared Passive Network Performance Discovery , 1997, USENIX Symposium on Internet Technologies and Systems.

[12]  Deborah Estrin,et al.  The PIM architecture for wide-area multicast routing , 1996, TNET.

[13]  Steven McCanne,et al.  An application level video gateway , 1995, MULTIMEDIA '95.

[14]  Deborah Estrin,et al.  An architecture for wide-area multicast routing , 1994, SIGCOMM 1994.

[15]  Eric A. Brewer,et al.  Cluster-based scalable network services , 1997, SOSP.

[16]  Eric A. Brewer,et al.  System Design Issues for Internet Middleware Services: Deductions from a Large Client Trace , 1997, USENIX Symposium on Internet Technologies and Systems.

[17]  Eric A. Brewer,et al.  Self-similarity in file systems , 1998, SIGMETRICS '98/PERFORMANCE '98.

[18]  Ernst W. Biersack,et al.  Optimal multicast feedback , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[19]  Steven McCanne,et al.  A proxy architecture for reliable multicast in heterogeneous environments , 1998, MULTIMEDIA '98.

[20]  Joel F. Bartlett,et al.  A NonStop kernel , 1981, SOSP.

[21]  Eric S. Raymond,et al.  The New Hacker's Dictionary , 1991 .

[22]  Walter Willinger,et al.  On the self-similar nature of Ethernet traffic , 1993, SIGCOMM '93.

[23]  Van Jacobson,et al.  The synchronization of periodic routing messages , 1994, TNET.

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

[25]  David A. Patterson,et al.  A Case for NOW (Networks of Workstations) - Abstract. , 1995, PODC 1995.

[26]  Eric A. Brewer,et al.  Adapting to network and client variability via on-demand dynamic distillation , 1996, ASPLOS VII.

[27]  Srinivasan Seshan,et al.  Improving TCP/IP performance over wireless networks , 1995, MobiCom '95.

[28]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[29]  Ian Goldberg,et al.  Experience with Top Gun Wingman: a proxy-based graphical web browser for the 3Com PalmPilot , 2009 .

[30]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[31]  Nathaniel S. Borenstein,et al.  MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies , 1992, RFC.

[32]  Stephen Deering,et al.  Multicast routing in a datagram internetwork , 1992 .

[33]  Eric C. Rosen,et al.  The New Routing Algorithm for the ARPANET , 1980, IEEE Trans. Commun..

[34]  Michael Mitzenmacher,et al.  Load balancing and density dependent jump Markov processes , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[35]  Eric A. Brewer,et al.  Adapting to network and client variation using infrastructural proxies: lessons and perspectives , 1998, IEEE Wirel. Commun..

[36]  William J. Bolosky,et al.  Distributed schedule management in the Tiger video fileserver , 1997, SOSP.

[37]  Kevin C. Almeroth,et al.  The Interactive Multimedia Jukebox (IMJ): A New Paradigm for the On-Demand Delivery of Audio/Video , 1998, Comput. Networks.

[38]  David E. Culler,et al.  Using smart clients to build scalable services , 1997 .