Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/1251460.1251473guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A flexible and efficient application programming interface (API) for a customizable proxy cache

Published: 26 March 2003 Publication History

Abstract

This paper describes the design, implementation, and performance of a simple yet powerful Application Programming Interface (API) for providing extended services in a proxy cache. This API facilitates the development of customized content adaptation, content management, and specialized administration features. We have developed several modules that exploit this API to perform various tasks within the proxy, including a module to support the Internet Content Adaptation Protocol (ICAP) without any changes to the proxy core.
The API design parallels those of high-performance servers, enabling its implementation to have minimal overhead on a high-performance cache. At the same time, it provides the infrastructure required to process HTTP requests and responses at a high level, shielding developers from low-level HTTP and socket details and enabling modules that perform interesting tasks without significant amounts of code. We have implemented this API in the portable and high-performance iMimic DataReactorTM proxy cache1. We show that implementing the API imposes negligible performance overhead and that realistic content-adaptation services achieve high performance levels without substantially hindering a background benchmark load running at a high throughput level.

References

[1]
{1} J. Barnes and R. Pandey. Providing Dynamic and Customizable Caching Policies. In Proceedings of the Second USENIX Symposium on Internet Technologies and Systems (USITS 99), Oct. 1999.
[2]
{2} P. Cao, J. Zhang, and K. Beach. Active cache: Caching dynamic contents on the web. In Proceedings of IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware '98), pages 373-388, 1998.
[3]
{3} A. Chankhunthod, P. Danzig, C. Neerdaels, M. Schwartz, and K. Worrell. A hierarchical internet object cache. In Proceedings of the 1996 Usenix Technical Conference, Jan. 1996.
[4]
{4} C. Chi, J. Deng, and Y. Lim. Compression proxy server: Design and implementation. In Proceedings of the Second USENIX Symposium on Internet Technologies and Systems (USITS 99), Oct. 1999.
[5]
{5} S. Floyd, V. Jacobson, and L. Zhang. Adaptive web caching. In Proceedings of the Second International Web Caching Workshop (WCW '97), 1997.
[6]
{6} A. Fox, S. D. Gribble, Y. Chawathe, E. A. Brewer, and P. Gauthier. Cluster-based scalable network services. In Proceedings of the Sixteenth ACM Symposium on Operating System Principles, San Malo, France, Oct. 1997.
[7]
{7} A. Gupta and G. Baehr. Ad insertion at proxies to improve cache hit rates. In Proceedings of the 4th International Web Caching Workshop, Apr. 1999.
[8]
{8} ICAP Protocol Group. ICAP: the Internet Content Adaptation Protocol. Internet draft, June 2001.
[9]
{9} Intellectronix LLC. Jproxyma. http://www.intellectronix.com/jpro/aboutjpro.htm.
[10]
{10} KOffice Project. Koffice. http://www.koffice.org/.
[11]
{11} Microsoft Corporation. Microsoft Office. http://www.microsoft.com/office/.
[12]
{12} Novell Developer Kit. Filter Framework, Jan. 2001.
[13]
{13} V. S. Pai, P. Druschel, and W. Zwaenepoel. Flash: An efficient and portable web server. In USENIX Annual Technical Conference, pages 199-212, June 1999.
[14]
{14} M. Rabinovich, J. Chase, and S. Gadde. Not all hits are created equal: Cooperative proxy caching over a wide area network. In Proceedings of the Third International Web Caching Workshop (WCW '98), June 1998.
[15]
{15} A. Rousskov, M. Weaver, and D. Wessels. The fourth cache-off. Raw data and independent analysis at http://www.measurement-factory.com/results/, Dec. 2001.
[16]
{16} A. Rousskov and D. Wessels. The third cache-off. Raw data and independent analysis at http://www.measurement-factory.com/results/, Oct. 2000.
[17]
{17} A. Rousskov, D. Wessels, and G. Chisholm. The second IRCache web cache-off. Raw data and independent analysis at http://cacheoff.ircache.net/, Feb. 2000.
[18]
{18} D. Wessels et al. The Squid Web Proxy Cache. http://www.squid-cache.org.
[19]
{19} Zeus Technology Limited. Zeus Web Server. http://www.zeus.co.uk.

Cited By

View all
  • (2006)A content classification and filtering server for the internetProceedings of the 2006 ACM symposium on Applied computing10.1145/1141277.1141553(1166-1171)Online publication date: 23-Apr-2006
  • (2005)Addressing data compatibility on programmable network platformsProceedings of the 2005 ACM symposium on Architecture for networking and communications systems10.1145/1095890.1095908(125-134)Online publication date: 26-Oct-2005

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
USITS'03: Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
March 2003
284 pages

Publisher

USENIX Association

United States

Publication History

Published: 26 March 2003

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2006)A content classification and filtering server for the internetProceedings of the 2006 ACM symposium on Applied computing10.1145/1141277.1141553(1166-1171)Online publication date: 23-Apr-2006
  • (2005)Addressing data compatibility on programmable network platformsProceedings of the 2005 ACM symposium on Architecture for networking and communications systems10.1145/1095890.1095908(125-134)Online publication date: 26-Oct-2005

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media