Title: Integrating Web Caching and Web Prefetching in ClientSide Proxies
1Integrating Web Caching and Web Prefetching in
Client-Side Proxies
- Wei-Guang Teng, Cheng-Yue Chang, and
- Ming-Syan Chen, Fellow, IEEE
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED
SYSTEM, VOL. 16, NO. 5, MAY 2005
Present Yi-Wei Ting
2Outline
- Introduction Motivation
- Web caching and prefetching
- System environment
- System model and prefetching rule
- Cache replacement algorithm
- Normalized profit function
- Algorithm IWCP (Integration of Web Caching and
Prefetching) - Performance analysis
- Simulation model
- Experimental results
- Conclusion
3Introduction
- Web caching
- Exploits the temporal locality.
- .Clients browser caching, client-side proxy
caching, and server-side proxy caching. - Web prefetching
- Utilizes the spatial locality of the Web objects.
4Motivation
- Web server may send all possible prefetching
hints with various levels of confidences to the
proxy, a proxy will prefetch every implied object
into its cache. - On the contrary, it the prefetching cotrol is
over strict, a proxy will tend to discard some
beneficial hints provided by the Web server, thus
whittling down the advantage of Web prefetching.
5Example 1
Reference rate A, B, C, D, E ? 3,1,1,4,2. Cache
capacity 2
Cache hit
Without prefetching
C
A
D
A
D
E
D
E
A
D
B
D is replaced by C
With prefetching
C
A
D
A
D
E
D
E
A
D
B
Assume the prefetching rule (B?C) holds with the
confidence of 100 percent.
6Example 2
Client 1
Client 2
Client 2
A
B
A
B
0.6
Client 1
Client 3
Client 3
C
D
E
C
D
E
0.7
0.8
0.6
0.8
F
G
H
F
G
H
7System environment
The system model of Web prefetching and Web
caching.
8Prefetching rules
- Let O o1,o2,,on be a set of Web objects in a
Web server and D be a set of users access
sequences, where each access sequence is a set of
objects in O ordered by time. - Definition 1. A prefetching rule is an
implication of the form o1,,oi ? oi1, where
o1,,oi,oi1 eO, o1,,oi,oi1 is an access
sequence in D, and c is the confidence of the
prefetching rule.
c
9Prefetching rules
- Definition 2.
- The confidence c of the prefetching rule o1,,oi
? oi1 is a conditional probability of
P(o1,,oi,oi1) / P(o1,,oi), - where
- P(o1,,oi,oi1 ) is the probability that the
sequence o1,,oi,oi1 is contained in an access
sequence in D. - P(o1,,oi), is the probability that the sequence
o1,,oi is contained in an access sequence in D.
c
10Prefetching rules
- Definition 3.
- An object oi1 is referred to as an implied
object if and only if the prefetching rule
o1,,oi ? oi1 is triggered by some client who
has already referenced the objects o1,,oi in its
precedent requests. - Otherwise, the object oi1 is called a
nonimplied object.
c
11Normalized profit function
- We shall first calculate the expected number of
references to object oi within the time window w. - Nonimplied object
- ?iw
- Implied object, multiimplied object
- ?iw ci,j
12Normalized profit function
- Property 1. Let p1, p2,,pn denote the
probabilities that the object oi will be
referenced once within the time window w by
clients 1,2,,n, respectively. - The expected number of references to object
oi within the time interval w is then equal to p1
p2 pn.
13Normalized profit function
- Theorem 1. Let R denote the set of the
prefetching rules that have been triggered to
prefetch oi. Let ni,j denote the number of the
clients that triggered the rule ri,j in R. -
- Then, the expected number of references to
object oi with in the time window w is equal to - ?iw Sri,jeR ni,j ci,j
14Normalized profit function
- Theorem 2. The profit from caching object oi is
equal to - Pf (oi) (?iw Sri,jeR ni,j ci,j ) di
uiw vi - Where the expression uiw vi calculates the
extra delay incurred by validation checks for
object oi within the time window w.
15Normalized profit function
IWCP (2005)
- (?iw Sri,jeR ni,j ci,j )
di uiw vi
Pf ( oi )
si
16An example to illustrate the linked list for the
purpose of tracking the prefetching rules
Client 1
Client 2
Client 3
C
D
E
0.7
0.6
0.8
F
G
H
c
Expire time
Node id
G 1.3
1 0.7 5
2 0.6 7
H 0.8
3 0.8 6
17An illustrative example for Algorithm IWCP
18- Algorithm IWCP (oi)
- 1. if (oi ! C) // object not found in proxy
- 2
- 3. fetch oi from the origin server and then send
oi to the client - 4. insert oi into C and extract the piggybacked
hinted objects - into H
- 5. calculate PFN(oi)
- 6.
-
- 7. else // object found in proxy
- 8. send oi to the client
- 9. search Li to delete the node which can be
satisfied by the - request for oi
- 10. update PFN(oi)
- 11. fetch from the origin server those hinted
objects triggered - by requesting oi
19- 12. extract the hinted objects into H
- 13.
- 14. for (each hinted object oh e H)
- 15. if (oh e C)
- 16. insert (client chj timer(now w)) into
Lh - 17. update PFN(oh)
- 18. else
- 19. insert oh into C
- 20. insert (client chj timer(now w)) into
Lh - 21. calculate PFN(oh)
- 22.
- 23.
- 24. BuildHeap (C)
- 25. while (Snow gt cacheCapacity)
- 26. evict the first object oj from C
- 27. Snow Snow - sj
- 28.
20Normalized profit function
IWCP (2005)
- (?iw Sri,jeR ni,j ci,j )
di uiw vi
Pf ( oi )
si
LNC-R-W3 (1999)
(ri di ui vi)
Pf ( oi )
si
21Parameters of the Simulation Model
22Delay saving ratios under various cache capacities
23Conclusion
- Developed Algorithm IWCP by integraing Web
caching and Web prefetching in client-side
proxies. - Formulated a normalized profit function to
evaluate the profit from caching an object.