Skip to main content
Log in

Web++ architecture, design and performance

  • Published:
World Wide Web Aims and scope Submit manuscript

Abstract

We describe the design of a system for fast and reliable HTTP service which we call Web++. Web++ achieves high reliability by dynamically replicating web data among multiple web servers. Web++ selects the available server that is expected to provide the fastest response time. Furthermore, Web++ guarantees data delivery given that at least one server containing the requested data is available. After detecting a server failure, Web++ client requests are satisfied transparently to the user by another server. Furthermore, the Web++ architecture is flexible enough for implementing additional performance optimizations. We describe implementation of one such optimization, batch resource transmission, whereby all resources embedded in an HTML page that are not cached by the client are sent to the client in a single response. Web++ is built on top of the standard HTTP protocol and does not require any changes either in existing web browsers or the installation of any software on the client side. In particular, Web++ clients are dynamically downloaded to web browsers as signed Java applets. We implemented a Web++ prototype; performance experiments indicate that the Web++ system with 3 servers improves the response time perceived by clients on average by 36.6%, and in many cases by as much as 59%, when compared with the current web performance. In addition, we show that batch resource transmission can improve the response time on average by 39% for clients with fast network connections and 21% for the clients with 56 Kb modem connections.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Baker, S. and B. Moon (1999), “Distributed Cooperative Web Servers,” In Proceedings of the 8th International World Wide Web Conference.

  • Berners-Lee, T., L. Masinter, and M. McCahill (1994), “Uniform Resource Locators (URL),” IETF Network Working Group, RFC 1738.

  • Cardellini, V., M. Colajanni, and P.S. Yu (1999), “Dynamic Load Balancing on Web-Server Systems,” IEEE Internet Computing 3, 3, 28–39.

    Article  Google Scholar 

  • Colajanni, M., P.S. Yu, and V. Cardellini (1999), “Dynamic Load Balancing in Geographically Distributed Heterogeneous Web Servers,” In Proceedings of the 18th International Conference on Distributed Computing Systems (ICDCS), pp. 295–302.

  • Crovella, M. and R. Carter (1995), “Dynamic Server Selection in the Internet,” In Proceedings of IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

  • Danzig, P. and K. Swartz (1998), “Transparent, Scalable, Fail-Safe Web Caching,” Technical Report TR-3033, Network Appliance.

  • Delgadillo, K. (1998), “Cisco Distributed Director,” http://www.cisco.com/warp/public/751/distdir/ddwp.html.

  • Farrell, R. (1997), “Review: Distributing the Web load,” Network World.

  • Fei, Z., S. Bhattacharjee, E. Zegura, and M. Ammar (1998), “A Novel Server Selection Technique for Improving the Response Time of a Replicated Service,” In Proceedings of IEEE INFOCOM'98.

  • Fielding, R., J. Gettys, J. Mogul, H. Frystyk, and T. Berners-Lee (1997), “Hypertext Transfer Protocol – HTTP/1.1,” IETF Network Working Group, RFC 2068.

  • Gray, J. and A. Reuter (1993), Transaction Processing: Concepts and Techniques, Morgan Kaufmann, San Mateo, CA.

    Google Scholar 

  • Guyton, J. and M. Schwartz (1995), “Locating Nearby Copies of Replicated Internet Servers,” In Proceedings of ACM SIGCOMM'95.

  • Gwertzman, J. and M. Seltzer (1995), “The Case for Geographical Push Cashing,” In Proceedings of the 5th Workshop on Hot ZTopic in Operating Systems.

  • Helal, A., A. Heddaya, and B. Bhargava (1986), Replication Techniques in Distributed Systems, Kluwer Academic Publishers, Dordrecht.

    MATH  Google Scholar 

  • Iyengar, A. and J. Challenger (1997), “Improving Web Server Performance by Caching Dynamic Data,” In Proceedings of the USENIX Symposium on Internet Technologies and Systems.

  • Klemm, R. (1999), “Web Companion: A Friendly Client-Side Web Prefetching Agent,” IEEE Transactions on Knowledge and Data Engineering.

  • Long, D., A. Muir, and R. Golding (1995), “A Longitudinal Survey of Internet Host Reliability,” In Proceedings of the 14th Symposium on Reliable Distributed Systems.

  • MacGregor, J. and T. Harris (1993), “The Exponentially Weighted Moving Variance,” Journal of Quality Technology 25, 2.

    Google Scholar 

  • Mitzenmacher, M. (1998), “How Useful Is Old Information?” Technical Report TR-1998-002, Systems Research Center, Digital Equipment Corporation.

  • Nielsen, H.F., J. Gettys, A. Baird-Smith, E. Prud'hommeaux, H.W. Lie, and C. Lilley (1997), “Network Performance Effects of HTTP/1.1, CSS1, and PNG,” In Proceedings of ACM SIGCOMM'97.

  • Padmanabhan, V. and J. Mogul (1994), “Improving HTTP Latency,” In Proceedings of the 2nd International WWW Conference.

  • Sayal, M., Y. Breitbart, P. Scheuermann, and R. Vingralek (1998), “Selection Algorithms for Replicated Web Servers,” In Proceedings of the Workshop on Internet Server Performance, http://lilac.ece.nwu.edu:1024/publications/~WISP98/final/SelectWeb1.html.

  • Seshan, S., M. Stemm, and R. Katz (1997), “SPAND: Shared Passive Network Performance Discovery,” In Proceedings of the USENIX Symposium on Internet Technologies and Systems.

  • Sollins, K. (1995), “Architectural Principles for Uniform Resource Name Resolution,” IETF Network Working Group, RFC 2276.

  • Terry, D., M. Theimer, K. Petersen, A. Demers, M. Spreitzer, and C. Hauser (1995), “Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System,” In Proceedings of the ACM SIGOPS Symposium on Principles of Operating Systems.

  • Vingralek, R., Y. Breitbart, M. Sayal, and P. Scheuermann (1999a), “Architecture, Design and Analysis of Web++,” Technical Report, CPDC-TR-9902-001, Northwestern University, Department of Electrical and Computer Engineering, http://www.ece.nwu.edu/cpdc/HTML/techreports.html.

  • Vingralek, R., Y. Breitbart, M. Sayal, and P. Scheuermann (1999b), “Web++: A System for Fast and Reliable Web Service,” In Proceedings of the 1999 USENIX Annual Technical Conference.

  • Wolfson, O., S. Jajodia, and Y. Huang (1997), “An Adaptive Data Replication Algorithm,” ACM Transactions on Database Systems 22, 2.

    Article  Google Scholar 

  • Yoshikawa, C., B. Chun, P. Eastham, A. Vahdat, T. Anderson, and D. Culler (1997), “Using Smart Clients to Build Scalable Services,” In Proceedings of USENIX'97.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vingralek, R., Sayal, M., Breitbart, Y. et al. Web++ architecture, design and performance. World Wide Web 3, 65–77 (2000). https://doi.org/10.1023/A:1019285730656

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1019285730656

Keywords

Navigation