Adapting to network and client variation using infrastructural proxies: lessons and perspectives

Today's Internet clients vary widely with respect to both hardware and software properties: screen size, color depth, effective bandwidth, processing power, and the ability to handle different data formats. The order-of-magnitude span of this variation is too large to hide at the network level, making application-level techniques necessary. We show that on-the-fly adaptation by transformational proxies is a widely applicable, cost-effective, and flexible technique for addressing all these types of variations. To support this claim, we describe our experience with data-type-specific distillation (lossy compression) in a variety of applications. We also argue that placing adaptation machinery in the network infrastructure, rather than inserting it into end servers, enables incremental deployment and amortization of operating costs. To this end, we describe a programming model for large-scale interactive Internet services and a scalable cluster-based framework that has been in production use at UC Berkeley since April 1997. We present a detailed examination of TranSend, a scalable transformational Web proxy deployed on our cluster framework, and give descriptions of several handheld-device applications that demonstrate the wide applicability of the proxy-adaptation philosophy.

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

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

[3]  Randy H. Katz,et al.  Vertical handoffs in wireless overlay networks , 1998, Mob. Networks Appl..

[4]  Jim Miller,et al.  Application-Specific Proxy Servers as HTTP Stream Transducers , 1996, World Wide Web journal.

[5]  Eric A. Brewer,et al.  Orthogonal extensions to the WWW user interface using client-side technologies , 1997, UIST '97.

[6]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[7]  Jeffrey I. Schiller,et al.  An Authentication Service for Open Network Systems. In , 1998 .

[8]  Daniel Duchamp,et al.  A proxy-based filtering mechanism for the mobile environment , 1998 .

[9]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

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

[11]  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.

[12]  Armando Fox,et al.  Security on the move: indirect authentication using Kerberos , 1996, MobiCom '96.

[13]  Paul P. Maglio,et al.  How to personalize the Web , 1997, CHI.

[14]  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,.

[15]  Kimmo E. E. Raatikainen,et al.  Enhanced Services for World-Wide Web in Mobile WAN Environment , 1996 .

[16]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[17]  M. Frans Kaashoek,et al.  Rover: a toolkit for mobile information access , 1995, SOSP.

[18]  David A. Wagner,et al.  TAZ Servers and the Rewebber Network: Enabling Anonymous Publishing on the World Wide Web , 1998, First Monday.

[19]  Eric A. Brewer,et al.  Reducing WWW Latency and Bandwidth Requirements by Real-Time Distillation , 1996, Comput. Networks.

[20]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[21]  Terri Watson,et al.  Application Design for Wireless Computing , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[22]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

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

[24]  Murray S. Mazer,et al.  Pan-Browser Support for Annotations and Other Meta-Information on the World Wide Web , 1996, Comput. Networks.

[25]  Peter B. Danzig,et al.  A Hierarchical Internet Object Cache , 1996, USENIX Annual Technical Conference.