here the server is expected to respond mainly with
the “OK” code (200) with the updated object (when
changes were made) or the “Not Modified” code (304)
when object data is still valid. Recent SQUID ver-
sions support the HTTP/1.1 specification introduces
enhanced directives for caching (“Cache-Control” di-
rective): age and expiration calculation, freshness re-
quirements, stale control, cache extensions, cacheable
objects, etc. Although the invalidation approach is
not inherent to SQUID, several invalidation alterna-
tives (Bradley and Bestavros, 2002; Duvvuri et al.,
2000) have been implemented.
All these three approaches induce some level of
consistency, but they take into account only the time
axis. Our objective in this proposal is to introduce in
SQUID the lifetime based consistency of section 4,
which can be modeled to offer several levels of con-
sistency, using the order of events. These levels can
be selected among: sequential consistency (SC), co-
herence, causal consistency (CC) and no ordering at
all.
Finally, the evaluation criteria to be used is not in-
creasing SQUID performance, but permitting several
levels of consistency to be applied dynamically ac-
cording to web usage requirements.
6 CONCLUSIONS
Several strategies for maintaining cache consistency
have been proposed, but they do not consider order
and time, so it is difficult to analyze the properties
such strategies offer.
Different web applications require different web
cache consistency protocols. More agile web en-
vironments need stronger consistency models, while
weaker models of consistency are sufficient for less
changing systems.
Our attempt is to build a web caching architec-
ture where several consistency models can be used in
order to satisfy the needs for different web environ-
ments.
REFERENCES
Ahamad, M., Neiger, G., Burns, J. E., Kohli, P., and Hutto,
P. W. (1995). Causal memory: definitions, imple-
mentation and programming. Distributed Computing,
9(1):37–49.
Ahamad, M. and Raynal, M. (2003). Ordering and timeli-
ness: Two facets of consistency? In Future Directions
in Distributed Computing, Lecture Notes in Computer
Science, pages 73–80.
Berners-Lee, T., Fielding, R., and Frystyk, H.
(1996). Hypertext transfer protocol – HTTP/
1.0. RFC 1945, Internet Engineering Task Force.
http://www.ietf.orf/rfc/rfc1945.txt.
Bradley, A. and Bestavros, A. (2002). Basis token consis-
tency: Extending and evaluating a novel web consis-
tency algorithm. Proceedings of the Second Workshop
on Caching, Coherence, and Consistency (WC3 ’02).
Cao, P. and Liu, C. (1997). Maintaining strong cache con-
sistency in the world wide web. Proceedings of the
17th International Conference on Distributed Com-
puting Systems (ICDCS ’97).
Cate, V. (1992). Alex - a global file system. Proceedings of
the 1992 USENIX File System Workshop, pages 1–11.
Dilley, J., Arlitt, M., and Perret, S. (1999). Enhancement
and validation of the Squid cache replacement pol-
icy. Proceedings of the 4th International Web Caching
Workshop.
Duvvuri, V., Shenoy, P., and Tewari, R. (2000). Adaptive
leases: A strong consistency mechanism for the world
wide web. Proceedings of INFOCOM 2000.
Gwertzman, J. and Seltzer, M. (1996). World-wide web
cache consistency. Proceedings of USENIX Annual
Technical Conference.
Herlihy, M. and Wing, J. (1990). Linearizability: A
correctness condition for concurrent objects. ACM
Transactions on Programming Languages and Sys-
tems, 12(3):463–492.
Kawash, J. (2004). Consistency models for internet
caching. In WISICT ’04: Proceedings of the Winter
International Symposium on Information and Com-
munication Technologies, ACM International Confer-
ence Proceedings Series, pages 1–6.
Lamport, L. (1978). How to make a multiprocessor com-
puter that correctly executes multiprocess programs.
IEEE Transactions on Computer Systems, 28(9).
Mikhailov, M. and Wills, C. (2003). Evaluating a new ap-
proach to strong web cache consistency with snap-
shots of collected content. WWW ’03: Proceedings
of the twelfth international conference on World Wide
Web, pages 599–608.
Rabinovich, M. and Spatscheck, O. (2002). WEB caching
and replication. Addison-Wesley.
Shim, J., Scheuermann, P., and Vingraleki, R. (1999). Proxy
cache algorithms: Design, implementation, and per-
formance. IEEE Transactions on Knowledge and
Data Engineering, 11(4):549–562.
Tewari, R., Niranjan, T., and Ramamurthy, S. (2002).
WCDP: A protocol for web cache consistency. Pro-
ceedings of the 7th International Workshop on Web
Content Caching and Distribution.
Torres-Rojas, F. J., Ahamad, M., and Raynal, M. (1998).
Lifetime based consistency protocols for distributed
objects. In Proceedings of the 12th International Sym-
posium on Distributed Computing, DISC’98, pages
378–392.
Torres-Rojas, F. J., Ahamad, M., and Raynal, M. (1999).
Timed consistency for shared distributed objects. In
DEVELOPING A WEB CACHING ARCHITECTURE WITH CONFIGURABLE CONSISTENCY: A PROPOSAL
115