- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Fri, 27 Feb 98 12:01:24 PST
- To: Burt Silverman <burts@us.ibm.com>
- Cc: http-wg@cuckoo.hpl.hp.com, mogul@pa.dec.com
Looking at section 13.2.3, I found that I could only make sense of the formulas if I switched the definition of apparent_age from apparent_age = max(0,response_time - date_value); to apparent_age = max(0,request_time - date_value); For example, if in year 1981, the user sent a request 1989, date_value 1990, request from the cache to the server 2000, resonse_time 2001, now then, apparent_age = 1 year response_delay = 10 years corrected_initial_age = 11 years resident_time = 1 year and, current_age = 12 years. This seems to make sense. But with the official definitions, apparent_age = 11 years response_delay = 10 years corrected_initial_age = 21 years resident_time = 1 year and current_age = 22 years. This brings us back to 1979, and doesn't make much sense. It's misleading to try to discuss this in terms of years, since it's highly unlikely that the difference between request_time and response_time would be larger than a few minutes at most. Anyway, the problem we're trying to solve here is that in this timeline request_time date_value response_time | | | ------|----------------|-----------------------|-------> it really makes no sense to compute apparent_age = max(0, request_time - date_value); because if the clocks are synchronized, then (with non-zero speed-of-light delay) the value (request_time - date_value) is always negative, and so the max(0, request_time - date_value) would always be zero. The fact that the response_delay is counted twice in the final result is an attempt to correct for clock skew, since if you can't guarantee that the client and server clocks are synchronized (and we can't!), then the apparent_age could be wrong by a significant amount. (Trace studies show that a lot of the clocks in HTTP servers are set wrong, and we suspect that the situation for clients could be even worse.) Adding in the response_delay helps to avoid underestimating the Age of a response in the presence of clock skew. The actual magnitude of the error is normally quite small, since response_delay ought to be on the order of several seconds, or several minutes at most. -Jeff
Received on Friday, 27 February 1998 12:03:19 UTC