Dynamic Web content can consume orders of magnitude more CPU time to serve
than static content. Generating dynamic content is often the performance
bottleneck for Web sites, even if only a fraction of the content is generated
dynamically. The key challenge is to serve dynamic content efficiently while
providing current and consistent information.
The following papers introduce cache dependencies for maintaining consistency between cached dynamic objects and underlying data which affect their values; the INFOCOM '99 paper
describes how they were successfully deployed at a major Web site to significantly
improve performance and consistency levels for dynamic data. Since that time, cache dependencies have become commonly used
by many developers (as a Google search will quickly reveal).
The following paper describes our use several years ago of fragment-based techniques for generating dynamic Web content. These techniques allow fragment caching. Since that time, fragment-based Web publication has become widely used. Support for fragment caching now
extends far beyond IBM. Microsoft's ASP.NET and Ruby on Rails support fragment
caching as do Oracle, Akamai, and others.
The following papers describe techniques which we have developed for efficiently
publishing dynamic content. Several of these techniques can be applied to
changing content in many different forms and are not restricted to the Web.
The ACM Transactions on Internet Technology and SC
papers describe some of our experiences when we deployed our techniques at real highly accessed Web sites.
- "Automatic
Fragment Detection in Dynamic Web Pages and its
Impact on Caching" (pdf, with Lakshmish Ramaswamy, Ling Liu, and Fred Douglis). 2005 Pat Goldberg Memorial Best Paper Award. In IEEE Transactions
on Knowledge and Data Engineering vol. 17 #6, June 2005.
- "A Fragment-Based Approach
for Efficiently Creating Dynamic Web
Content"
(pdf, with Jim Challenger, Paul Dantzig, and Karen Witting). In
ACM Transactions on Internet Technology vol. 5 #2, May 2005.
- "Automatic Detection of
Fragments in Dynamically Generated Web
Pages" (pdf, with Lakshmish Ramaswamy, Ling Liu, and Fred Douglis). Best Paper
Award. In Proceedings of the 13th International World Wide Web Conference (WWW2004), New York
City, May 2004.
-
"Application-Specific Delta-Encoding via Resemblance Detection"
(with Fred Douglis). In Proceedings of the 2003 USENIX Annual Technical Conference
(USENIX '03), San Antonio, Texas, June 2003.
- "A Scalable
and Highly
Available System
for Serving Dynamic Data at Frequently Accessed Web Sites" (with Jim Challenger and Paul Dantzig).
In Proceedings of ACM/IEEE Supercomputing '98 (SC98), Orlando, Florida,
November 1998.
The ability to cache dynamic content can greatly improve performance. Many systems do not allow dynamic
content to be cached because of the problem of maintaining consistency. The following papers describe
techniques we have developed for consistently caching dynamic data. The IEEE/ACM Transactions on
Networking and USITS papers describe our experiences caching dynamic data for real highly accessed Web sites.
- "Efficiently Serving Dynamic
Data at Highly Accessed Web Sites"
(pdf, with Jim Challenger, Paul Dantzig, Mark Squillante, and Li Zhang). In
IEEE/ACM Transactions on Networking vol. 12 #2, April 2004.
- "Engineering Web Cache
Consistency"
(pdf, with Jian Yin, Lorenzo Alvisi, and Mike Dahlin).
In ACM Transactions on Internet Technology vol. 2 # 3, August 2002.
- "Engineering server-driven consistency for
large scale dynamic web services"
(pdf, with Jian Yin, Lorenzo Alvisi, and Mike
Dahlin). Best Paper Award.
In
Proceedings of the 10th International World Wide Web Conference (WWW10), Hong Kong,
May 2001.
- "Improving Web Server
Performance by Caching Dynamic
Data" (postscript, with Jim Challenger). In Proceedings of the USENIX 1997
Symposium on Internet Technologies and Systems (USITS '97), Monterey, CA, December 1997.
I did early work on Web load balancing with affinity between specific clients and servers (sticky load balancing).
IBM's Net.Dispatcher introduced this feature in a product several years ago. Since
that time, load balancing with affinity has become widely used and is now a
standard feature of Web load balancers. Among other things, this is important for
supporting high TLS (SSL) request rates for secure (encrypted) communications over the Web such as
when credit card transactions are made. Affinity-based load balancing is also important for other protocols such as the Session Initiation Protocol (SIP) as described in our INFOCOM 2009 paper.
The techniques described in the Computer Networks and SC
papers have also been successful in real deployments.
- "Load Balancing for SIP Server Clusters" (with Hongbo Jiang, Erich Nahum, Wolfgang Segmuller, Asser Tantawi, and Charles P. Wright). In Proceedings of IEEE INFOCOM 2009, Rio de Janeiro, Brazil, April 2009.
- "How to determine a good
multi-programming level for
external scheduling" (pdf, with Bianca Schroeder, Mor Harchol-Balter, Erich Nahum,
and Adam Wierman). In Proceedings of the 22nd IEEE International
Conference on Data Engineering, Atlanta, Georgia, April 2006.
- "A Tiered System for Serving
Differentiated Content"
(pdf, with Huamin Chen).
In World Wide Web: Internet and Web Information Systems vol. 6 #4, December 2003.
- "Architecture of a Web
Server Accelerator"
(pdf, with Junehwa Song, Eric Levy-Abegnoli, and Daniel Dias).
In Computer Networks, vol. 38 #1, January 2002.
- "A Scalable
and Highly
Available System
for Serving Dynamic Data at Frequently Accessed Web Sites" (with Jim Challenger and Paul Dantzig).
In Proceedings of ACM/IEEE Supercomputing '98 (SC98), Orlando, Florida,
November 1998.
The following papers provide a general overview of Web performance.
- "Improving Web
Site Performance" (with Erich
Nahum, Anees Shaikh, and Renu Tewari). In The Practical Handbook of Internet Computing,
Copyright 2005, Chapman & Hall/CRC Press, Munindar P. Singh ed.
- "Web Caching, Consistency and
Content Distribution" (with
Erich Nahum, Anees Shaikh, and Renu Tewari). In The Practical Handbook of Internet Computing,
Copyright 2005, Chapman & Hall/CRC Press, Munindar P. Singh ed.
- "Architecting Web Sites
for High Performance"
(pdf, with Daniela Rosu).
In Scientific Programming, vol. 10 #1, June 2002.
- "High-Performance Web Site Design
Techniques"
(pdf, with Jim Challenger, Daniel Dias, and Paul Dantzig). In
IEEE Internet Computing, vol. 4 #2, March/April 2000.
Caching is extremely important for improving the performance of distributed systems and can be deployed at
multiple places.
The following papers
describe work that we have done
developing caches applicable to a broad range of distributed applications and not
necessarily limited to the Web.
The caching systems described in the Computer Networks, Middleware, and IPCCC papers have been successful in real deployments.
- "Network-Aware Partial
Caching for Internet Streaming Media
Delivery"
(pdf, with Shudong Jin and Azer Bestavros). In ACM/Springer Multimedia Systems Journal vol. 9 #4,
October 2003,
copyright Springer-Verlag.
- "Architecture of a Web
Server Accelerator"
(pdf, with Junehwa Song, Eric Levy-Abegnoli, and Daniel Dias).
In Computer Networks, vol. 38 #1, January 2002.
- "Web Proxy Acceleration"
(with Daniela Rosu and Daniel Dias). In
Cluster Computing,
Vol. 4 #4, October 2001.
- "A Middleware System Which
Intelligently Caches Query Results" (pdf, with Louis Degenaro,
Ilya Lipkind, and Isabelle Rouvellou).
In Proceedings of ACM/IFIP Middleware 2000, Palisades, New York,
April 2000
(published by
Springer-Verlag).
- "Design and
Performance
of a General-Purpose Software
Cache" (postscript). In Proceedings of the 18th IEEE
International Performance, Computing, and Communications Conference (IPCCC'99),
Phoenix/Scottsdale, Arizona, February 1999.
- "Dual-Quorum: A Highly Available and Consistent Replication System for Edge
Services" (pdf, with Lei Gao, Mike
Dahlin, Jiandan Zheng and Lorenzo Alvisi). To appear in IEEE Transactions on Distributed and Secure Computing.
- "Dual-Quorum Replication for Edge
Services" (pdf, with Lei Gao, Mike
Dahlin, Jiandan Zheng and Lorenzo Alvisi). In Proceedings of the ACM/IFIP/USENIX 6th International
Middleware Conference (Middleware 2005), Grenoble, France, November/December 2005.
- "Thema: Byzantine-Fault-Tolerant
Middleware for Web-Service
Applications" (with Michael G. Merideth, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou and Priya
Narasimhan). In Proceedings of the 24th IEEE International Symposium on Reliable Distributed Systems (SRDS 2005), Orlando,
Florida, October 2005.
- "Improving
Availability and Performance with Application-Specific
Data Replication" (pdf, with Lei Gao, Mike Dahlin, Amol Nayate, and Jiandan Zheng). In IEEE
Transactions on Knowledge and Data Engineering vol. 17 #1, January 2005.
- "Transparent Information
Dissemination" (pdf, with Amol Nayate and Mike
Dahlin). In Proceedings of ACM/IFIP/USENIX Middleware 2004, Toronto, Canada, October 2004.
- "Application Specific Data
Replication for Edge Services"
(pdf, with Lei Gao, Mike Dahlin, Amol Nayate, and Jiandan Zheng). Best Student Paper
Award.
In
Proceedings of the 12th International World Wide Web Conference (WWW2003), Budapest, Hungary,
May 2003.
- "Design and Implementation of a
Secure Distributed Data
Repository" (postscript, with Robert Cahn, Juan Garay, and Charanjit Jutla).
In Proceedings of the 14th IFIP International Information Security Conference (SEC
'98), Vienna, Austria and Budapest, Hungary, September 1998.
- "Software Exploitation of a
Fault-Tolerant Computer with a
Large Memory" (postscript, with Frank Eskesen, Michel Hack, Richard King, and
Nagui Halim). In Proceedings of the 28th IEEE International Symposium on Fault-Tolerant
Computing Systems, (FTCS '98), Munich, Germany, June 1998.
My work on Web load balancing with affinity between specific clients and servers (sticky load balancing) is critically important for Web sites which need to serve encrypted content at high rates.
- "Scalable Key Management Algorithms for Location-Based Services" (with Mudhakar Srivatsa, Jian Yin, and Ling Liu). In IEEE/ACM Transactions on Networking vol. 17 no. 5, October 2009, pp. 1399-1412.
- "Mitigating Application-Level Denial of Service Attacks on Web Servers: A Client-Transparent Approach" (with Mudhakar Srivatsa, Jian Yin, and Ling Liu). In ACM Transactions on the Web vol. 2 No. 3, July 2008.
- "Preserving Caller Anonymity in Voice-over-IP Networks" (with Mudhakar Srivatsa and Ling Liu). In Proceedings of the 2008 IEEE Symposium on Security and Privacy, Oakland, CA, May 2008.
- "A
Scalable Method for Access Control in Location-Based Broadcast Services" (with Mudhakar Srivatsa, Jian Yin, and Ling Liu). In Proceedings of IEEE INFOCOM 2008, Phoenix, AZ, April 2008.
- "An
Access Control System for Web Service Compositions" (with Mudhakar Srivatsa, Thomas Mikalsen, Isabelle Rouvellou, and Jian Yin). In Proceedings of the IEEE 2007 International Conference on Web Services (ICWS 2007), Salt Lake City, Utah, July 2007.
- "A Middleware System for Protecting Against Application Level Denial of Service Attacks" (with Mudhakar Srivatsa, Jian Yin, and Ling Liu). In Proceedings of the ACM/IFIP/USENIX 7th International
Middleware Conference (Middleware 2006), Melbourne, Australia, November/December 2006.
-
"A Client-Transparent Approach to Defend Against
Denial of Service Attacks" (with Mudhakar Srivatsa, Jian Yin, and Ling Liu). In Proceedings of the 25th IEEE International Symposium on Reliable Distributed Systems (SRDS 2006), Leeds, England,
October 2006.
- "Design and Implementation of a
Secure Distributed Data
Repository" (postscript, with Robert Cahn, Juan Garay, and Charanjit Jutla).
In Proceedings of the 14th IFIP International Information Security Conference (SEC
'98), Vienna, Austria and Budapest, Hungary, September 1998.
- "Combining Quality of Service and Social Information for Ranking Services" (with Qinyi Wu, Revathi Subramanian, Isabelle Rouvellou, Ignacio Silva-Lepe, Thomas Mikalsen). To appear in Proceedings of the 7th International Conference on Service Oriented Computing (ICSOC 2009), Stockholm, Sweden, November 2009.
- "A Trust Management Framework for Service-Oriented Environments" (with William Conner, Thomas Mikalsen, Isabelle Rouvellou, and Klara Nahrstedt). In Proceedings of the 18th International World Wide Web Conference (WWW2009), Madrid, Spain, April 2009.
- "SOAlive Service Catalog: A Simplified Approach to Describing, Discovering and Composing Situational Enterprise Services" (with Ignacio Silva-Lepe, Revathi Subramanian, Isabelle Rouvellou, Thomas Mikalsen, Judah Diament). In Proceedings of the 6th International Conference on Service Oriented Computing (ICSOC 2008), Sydney, Australia, December 2008.
- "An
Access Control System for Web Service Compositions" (with Mudhakar Srivatsa, Thomas Mikalsen, Isabelle Rouvellou, and Jian Yin). In Proceedings of the IEEE 2007 International Conference on Web Services (ICWS 2007), Salt Lake City, Utah, July 2007.
- "Thema: Byzantine-Fault-Tolerant Middleware for Web-Service
Applications" (with Michael G. Merideth, Thomas Mikalsen, Stefan Tai, Isabelle Rouvellou and Priya
Narasimhan). In Proceedings of the 24th IEEE International Symposium on Reliable Distributed Systems (SRDS 2005), Orlando,
Florida, October 2005.
I am interested in storage allocation for both main memory and disk.
A major theme of my work in this area has been storage allocators which adapt
themselves to request size distributions to optimize performance and minimize
fragmentation.
The first paper describes a disk storage allocation system which outperforms both
file systems and databases for the workloads we used. This disk storage
allocation system has been successful in several real deployments. The second paper presents
main memory storage allocation algorithms which are particularly well suited for
parallel computer systems.
I am also interested in capacity planning and performance modelling for both
scientific and commercial workloads. I have developed improved techniques
for predicting customer workloads in the future from past behavior. This
allows customers to estimate how much capacity will be required in the
future. It also helps schedule tasks to optimize utilization of system
resources and efficiently make use of spare CPU cycles in grid
environments. Several of the techniques described in the papers in this section have been successfully used commercially.
-
"Capacity Planning Tools for Web and Grid Environments" (with Sugato Bagchi, Eugene Hung, Norbert Vogl, and Noshir Wadia). In Proceedings of the First International Conference on Performance Evaluation Methodologies and Tools (Valuetools 2006), Pisa, Italy,
October 2006.
- "Commercial Applications of Grid Computing"
(with Catherine Crawford, Daniel Dias, Marcos Novaes, and Li Zhang). Book chapter in
Performance Analysis and Grid Computing,
Kluwer Academic Publishers, 2003.
- "Analysis and Characterization
of Large-Scale
Web Server Access Patterns and Performance" (postscript,
with Mark Squillante and Li Zhang). In
World Wide Web vol. 2 #1, 2, June 1999.
Copyright Notices
- ACM Papers - Copyright © by Association
for Computing Machinery, Inc. Permission to make digital or hard copies of part
of all of this work for personal or classroom use is granted without fee provided
that copies are not made or distributed for profit or commercial advantage.
To copy otherwise, to republish, to post of servers, or to redistribute to lists,
requires prior specific permission and/or a fee.
- IEEE Papers - Copyright
© by IEEE. Permission to make digital or hard copies of part or
all of this work for personal or classroom use is granted without fee provided
that copies are not made or distributed for profit. To copy otherwise, to republish,
to post of servers, or to redistribute to lists, requires prior specific permission
and/or a fee.
|