- From: Lorenzo Vicisano <vicisano@iet.unipi.it>
- Date: Mon, 8 Jan 1996 19:45:31 +0100 (MET)
- To: http-caching@pa.dec.com
I believe that ``opaque validators'', as presented in http://ftp.digital.com/%7emogul/cachedraft.txt (2.6), do not work for the best in some circumstances. Specifically I believe that validators should be chronologically ordered and that such a order should be known to caches and clients. This way caches and clients can know which one between two copies of the same object is older, that helps in a number of situation (I believe). I try to enlighten the problem by means of a couple of examples. (A) Suppose to have a peer-entity caching mechanism (like the one present in Harvest). In such a scheme, a cache is allowed to look for the missing object in a pool of neighbor caches, by means of a multicast request, and to chose the best hit (if available). Then, if multiple (fresh) hits with different `Cache-validator' value are returned (*), the cache should have a way to chose the best hit (the newer object). (B) 1) cache-"a" and client-"b" have two different copies of the same object with `Cache-validator' Xa and Xb, and expiration time Ta and Tb respectively (client-"b", for some reason, fetched the object from a different source than cache-A). 2) Suppose client-"b"'s copy being the newer one, but Tb<Ta (*). 3) at time T (Tb<T<Ta) client-X issues a conditional GET to cache-"a", which in turn replies with its own copy of the object being it fresh and being Xa!=Xb. Note that, this way, client-"b" retrieves an older copy than the one it owns. (*) the only way to avoid that is to forbid a server to generate a new validator when still exists a fresh copy of the object with older validator. A proposed solution: ``semi-opaque validators'' Each server generates its own validators using its own algorithm... ...then attaches to validators an ordering prefix. This way: * the composite validators are chronologically ordered for caches/clients comparison purpose; * servers are free to ignore the prefix when comparing validators; * faults 1) and 2) in (2.6) are overcome; Lorenzo. <|--------------------------------------------------------------------------|> | Lorenzo Vicisano | http://www.iet.unipi.it/~vicisano | | Dip. di Ingegneria dell'Informazione | e-mail vicisano@iet.unipi.it | | Universita' di Pisa | Phone +39-50-568654 | | Via Diotisalvi, 2 56100 PISA, ITALY | Fax +39-50-568522 | <|--------------------------------------------------------------------------|>
Received on Monday, 8 January 1996 19:10:06 UTC