Evaluating Proxy Cache Algorithms and Implementations

Sponsor Ling Liu / Wei Tang
lingliu@cc.gatech.edu, wtang@cc
223 CCB /225b CCB
Area Systems and Databases


Proxy caches are widely used today to reduce response time and network traffic on the Web. There are two classes of proxy architectural designs: single-proxy and multiple-proxy. In a single-proxy architecture, every document fetching request is sent to the only proxy server. If the page misses in the cache, the proxy will direct the request to appropriate remote information server. In multiple-proxy architecture, several proxies will cooperate efficiently in order to increase document hit rate. Hierarchical-proxy architecture and distributed-proxy architecture are the two popular multi-proxy architectures.

WebCQ is an automated change detection and notification service for Web pages, developed at Georgia Tech. It can monitor and track various types of changes to static and dynamic web pages, provide personalized delivery of information change notifications, and personalized summarization and prioritization of web pages being monitored. In WebCQ, a primitive proxy cache service is implemented.

Your objective in this project is to evaluate different proxy cache implementations for the multiple-proxy architecture. You need to download running systems and install them to do the experiments. You may also get some open-source systems and study their detailed implementation. You will need to compare the performance differences among various proxy cache implementations. Eventually, you will be asked to choose one cache architecture and incorporate your implementation with WebCQ proxy cache service. Some basic features have to be implemented, including: Background

You are expected to have a solid grasp of Java/C/C++/CGI/Servlet programming skills. For the final proxy cache implementation, we recommend you use Java to realize your algorithms. However, you may choose other languages.  Some initial experiments showing the performance speedup using the proxy will be performed and evaluated.


Here are some links to help you get started (be sure to read the licensing documents before you download the software packages):


(1) A report, describing your evaluation setup, model, and experimental results, the insights in your project, and future improvements/extensions.
(2) The source code for your proxy cache implementation.

You will be graded on the novelty and quality of your software and your report.