On The Cooperation of Web Clients and Proxy Caches Yiu Fai Sit, Francis C.M. Lau, Cho-Li Wang Department of Computer Science The University of Hong Kong.

Slides:



Advertisements
Similar presentations
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Advertisements

1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
1 Web Server Performance in a WAN Environment Vincent W. Freeh Computer Science North Carolina State Vsevolod V. Panteleenko Computer Science & Engineering.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
Cooperative Caching of Dynamic Content on a Distributed Web Server Vegard Holmedahl, Ben Smith, Tao Yang Speaker: SeungLak Choi, DB Lab., CS Dept.
1 Caching in HTTP Representation and Management of Data on the Internet.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
HTTP – HyperText Transfer Protocol
The Effect of Consistency on Cache Response Time John Dilley and HP Laboratories IEEE Network, May-June 2000 Chun-Fu Kung System Laboratory Dept. of Computer.
October 25, 2001Stanford Networking Seminar Aging Through Cascaded Caches: Performance Issues in the Distribution of Web Content. Edith Cohen AT&T Labs-research.
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Web Caching Robert Grimm New York University. Before We Get Started  Illustrating Results  Type Theory 101.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Web Caching Schemes For The Internet – cont. By Jia Wang.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
HTTP HyperText Transfer Protocol Part 3.
Hypertext Transport Protocol CS Dick Steflik.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
Towards Understanding Modern Web Traffic
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
On the Use and Performance of Content Distribution Networks Balachander Krishnamurthy Craig Wills Yin Zhang Presenter: Wei Zhang CSE Department of Lehigh.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Hybrid Prefetching for WWW Proxy Servers Yui-Wen Horng, Wen-Jou Lin, Hsing Mei Department of Computer Science and Information Engineering Fu Jen Catholic.
Krerk Piromsopa. Web Caching Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Web Caching Dr. Yingwu Zhu. What is Web Caching Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
Web Caching By Neeraj Agrawal. Caching Caching is widely used for improving performance in many context( e.g processor caches in hardware, buffer pool.
JavaScript, Fourth Edition
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Chapter 3 Servlet Basics. 1.Recall the Servlet Role 2.Basic Servlet Structure 3.A simple servlet that generates plain text 4.A servlet that generates.
Web Caching and Content Distribution: A View From the Interior Syam Gadde Jeff Chase Duke University Michael Rabinovich AT&T Labs - Research.
Orbited Scaling Bi-directional web applications A presentation by Michael Carter
Refreshment Policies for Web Content Caches Edith Cohen AT&T Labs-Research Haim Kaplan Tel-Aviv University Presenting: Edith Cohen.
HyperText Transfer Protocol (HTTP) RICHI GUPTA CISC 856: TCP/IP and Upper Layer Protocols Fall 2007 Thanks to Dr. Amer, UDEL for some of the slides used.
1 Caching in HTTP Representation and Management of Data on the Internet.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
World Wide Web Caching CS457 Seminar Yutao Zhong 11/13/2001.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
HTTP support for caching & replication. Conditional requests Server executes conditional request. Responds with a message body only if the condition is.
© 2010 Computer Science Faculty, Kabul University HTTP CONTINUED… 4 TH LECTURE 2, May, 2010 Baseer Ahmad Baheer.
Web Cache Consistency. “Requirements of performance, availability, and disconnected operation require us to relax the goal of semantic transparency.”
Computer Science Lecture 14, page 1 CS677: Distributed OS Last Class: Concurrency Control Concurrency control –Two phase locks –Time stamps Intro to Replication.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
HTTP evolution - TCP/IP issues Lecture 4 CM David De Roure
Implementing ISA Server Caching
ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
Summer 2007 Florida Atlantic University Department of Computer Science & Engineering COP 4814 – Web Services Dr. Roy Levow Part 1 – Introducing Ajax.
The Measured Access Characteristics of World-Wide-Web Client Proxy Caches Bradley M. Duska, David Marwood, and Michael J. Feeley Department of Computer.
1 COMP 431 Internet Services & Protocols HTTP Persistence & Web Caching Jasleen Kaur February 11, 2016.
System Software Lab. A Scalable Web Cache Consistency Architecture Kim Sangyup SSLAB. EE. KAIST SIGCOMM ’ 99 Haobo Yu, Lee Breslau.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
On Caching Search Engine Query Results Evangelos Markatos Evangelos Markatoshttp://archvlsi.ics.forth.gr/OS/os.html Computer Architecture and VLSI Systems.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
A tutorial on Web Caching
WWW and HTTP King Fahd University of Petroleum & Minerals
Web Caching? Web Caching:.
CSE 461 HTTP and the Web.
Kevin Harville Source: Webmaster in a Nutshell, O'Rielly Books
Presentation transcript:

On The Cooperation of Web Clients and Proxy Caches Yiu Fai Sit, Francis C.M. Lau, Cho-Li Wang Department of Computer Science The University of Hong Kong

How an Object is Requested with HTTP Request: Cached? Expired? Send req to higher level server Use cache, reply if necessary Send validation req to higher level server No Yes Focus of this talk

How to Handle a Validation Request Validation request contains a validator of the object: –“version number” of the object –Contained in previous response Goal: to send the smallest possible response Received validation request Cached? Validator matched? Send req to higher level server Send new version and its validator Send Not Modified No Yes

When Does an Object Expire in a Cache? Each object has its own time to live (TTL) Object expires when its age > TTL Age is (almost) consistent through the cache hierarchy TTL is computed locally by each cache (web browser, proxy) 3 ways in decreasing priority: –Max-age directive (in web server’s response) –Expires header (in web server’s response) –Heuristic: Fraction x (Date header – Last-Modified header) TTL is updated only when response is received First 2 ways provide precise control of TTL, but seldom used Heuristic is by far the most common (~85%)

Problems of TTL Heuristics (1) Different caches use different Fraction Different TTLs in different caches for the same object Consider a web browser cache and a proxy cache: –Web browser cache uses small Fraction -> small TTL –Proxy cache uses larger Fraction -> larger TTL Fresh Expired Browser’s TTLProxy’s TTL Time (age) Browser Proxy Result: redundant validation requests from the browser in the shaded period Validation Not Modified

Problems of TTL Heuristics (2) Consider a web browser cache and a proxy cache: –Web browser cache uses large Fraction -> large TTL –Proxy cache uses small Fraction -> small TTL Fresh Expired Browser’s TTLProxy’s TTL Time (age) Browser Proxy If another browser requests this object (through the proxy), the object gets refreshed in proxy Result: the browser may use a stale object even the proxy has a fresh copy (browser can get it with low cost)

In Real Life… HTTP/1.1 suggests Fraction = 0.1 –Firefox and Netscape Browser Squid Web Proxy Cache –Fraction = 0.2 (default) –Maximum TTL is 3 days Slightly complex scenario: –Objects modified within last 15 days TTL proxy = 2 x TTL browser (redundant validation requests) –Objects modified in the last days TTL proxy > TTL browser (redundant validation requests) –Objects modified more than 30 days ago TTL proxy <= TTL browser (browser may use stale copy) Other browsers and proxy caches can have different settings and perform differently

Simulation of Different TTL Combinations Simulated the interaction between browsers and a proxy cache Used proxy trace from our department –10-day period –Squid with default settings of TTL computation –512 browsers –> 3.6 million requests –Also collected the response headers of the requests Simulated browsers and proxy started with empty caches Browsers generated requests according to: –TTL computation rule –Cache state (depends on the proxy response) Found out the number of validation requests in different combinations of TTL computation

Simulation Results HTTP/1.1 with Squid default has less validation requests than using Squid default in both browsers and proxy –But there are redundant requests and browsers may use stale copy What happened in the real browsers? –Sends validation requests for all first references of objects since browser started –But does not change the effective TTL computation (i.e. Squid default) BrowsersProxyValidation Requests HTTP/ Squid default HTTP/1.1Squid default78802 RealSquid default

Suggestions No redundant validation requests if TTL is specified explicitly by web server (web designer/admin) Very slow / no adoption: –Too many objects in a web site (too much work to specify TTL) –Redundant requests are filtered by proxy We suggest to solve the problem in proxy caches If solved, can help reduce the load of proxy caches A simple solution: –Proxy cache sends explicit expiration time to clients according to its own TTL computation –Can use standard HTTP/1.1 headers

Uncachable Misses

Uncachable Objects Uncachable objects: –Determined by the caches –Dynamically generated objects in general In our log, 70% of misses are uncachable 60% of bytes transferred in misses Proxy cache does not help, but adds overhead Why do the browsers ask the proxy? –Currently, all objects are handled the same

Possible Solutions and Results Most dynamically generated objects contains cgi-bin or ? in their urls Solution 1: look for these signatures in url, send request to web server directly if present Solution 2: browser/proxy can also remember those urls that correspond to uncachable object Overhead is small since browser/proxy searches it local cache anyway Solution% of uncachable misses filtered and

Conclusions Cooperation between browsers and proxies are not flawless We pointed out 2 problems These problems may become more severe: –Larger browser cache sizes (more possible validations) –More dynamic and personal contents Our solutions are simple, yet should perform well