¡¡
Report on the costs and benefits of cache hierarchy in Korea
¡¡
|
Hyunchul Kim(hckim@cosmos.kaist.ac.kr) |
¡¡
¡¡
Topic : Experiences in implementing national caches, regional caches and Institution/site caches.First author : Jieun Lee, Korea Telecom
Address: 17 Woomyeon-dong, Seocho-gu, Seoul 137-792, Korea
Tel :+82-2-526-5031
Email : jelee@edenhill.kotel.co.kr
1.
IntroductionAs the Internet continues explosive growth and has seen a corresponding increase in network loads and latency, network caching acts out a vital role in the performance of the Internet and cost saving. Effective caching system can reduce retrieval latency, network load and server load by avoiding pulling the same document several times over the same connection[DESIRE 97A]. It became one of the most important and promising research areas within the Internet community and there has been much work for defining and making high performance network cache system.
¡¡
Performance measurement or analysis activities are indispensable for identifying bottlenecks and making high performance network cache system. Even though much work has been done on network caching area, most of them have focused on the performance improvement or analyzing access characteristics of local caches, but not on cache networks'. Although many people are interested in the usefulness of cache network and hundreds of caches has been established all over the world, we have been just scratching the surface of this area that there are no well-defined metrics, methodologies or analysis tools yet. The reason lies in the lack of collaboration among cache operators or researchers who has different focuses, policies, background, and lies in its relatively recent introduction compared with the case of a single local cache which has been studied thoroughly for many years in other traditional computer or file system caching areas. For these reasons, a few national or international joint projects for measuring the performance of cache network started[TERENA 97, APAN 97, DESIRE 97B]. In this report, our experiences gained from operating national cache network in Korea will be presented, with focus on hit-ratio and latency. Consistency on a cache network will be remained as the one of future works. We present costs (ICP overheads and latency induced by cache network itself when cache miss occurs) and benefits (reduction of traffic on the network and latency) of cache network in Korea by analyzing behavior of two cache servers. One is cache.kaist.ac.kr which is a child cache for campus-sized network in KAIST, and the other is cache.kix.net, the one of our national root caches in Korea.
¡¡
This report is organized as follows. In Section 2, cache network in Korea including interconnection map of cache servers and hardware/software equipment has been briefly addressed. Section 3 analyzes behavior of cache.kix.net, our national root cache focusing on international cache network cooperation. Analysis of a child cache
¡¯s costs and benefits gained by joining in national cache network is presented in Section 4. Section 5 concludes the report by summarizing this report and presenting some important issues in network caching area. ¡¡¡¡
2. Cache network in Korea
¡¡
2.1 Interconnection map of cache servers
¡¡
¡¡
We have established national cache network in September 1996 and now it has been operated for one and a half years. The root cache, cache.kix.net is located on KT-IX, the one of four major exchange points in Korea. It has a mutual parent relationship with sv.cache.nlanr.net and pa.cache.nlanr.net. Institutions or ISPs that have direct links to the cache.kix.net can configure it as a parent cache. Sibling relationship depends on management policies of cache operators. Some ISPs are not participating in cache network because a root cache could be a single point of failure or bottleneck. Interconnection map of cache servers in Korea at the time of this writing is as in Figure 1.¡¡
2.2 Hardware and software platform of cache servers
¡¡
¡¡
¡¡

Figure 1. Interconnection map of cache servers in Korea
¡¡
3. Benefits and costs : cache.kix.net as one of the root caches in cache network in Korea
¡¡¡¡
We have run three different experiments on our operating root cache in Korea. First, We
¡¯ve measured the bandwidth savings and data retrieval time in cache hierarchy in Korea. Second, We¡¯ve measured the retrieval latency generated by cooperation between cache.kix.net and other overseas caches. Next, we¡¯ve measured the ICP overhead generated by domestic cache cooperation.¡¡
3.1 bandwidth saving and data retrieval time in cache hierarchy
¡¡
3.1.1 Data collection
¡¡
| Data sets |
Starting date |
Duration |
Requests |
Data volume |
|
Cache.kix.net |
01-April-97 |
8months |
73972 |
748.950 |
¡¡
We have collected logs from cache.kix.net which shows its status of 8 month operation. Table 1 shows the starting date, duration, number of requests and amount of data volume served of our data set.
¡¡
3.1.2 Methodology
¡¡
From logs of cache.kix.net, we measure the following; the number of request, Data volume served, retrieval latency to handle the request and transmission speed. By taking the average of 8 months on each parameters, we can show the operation status of cache.kix.net.


(a ) request count (b) transferred data volume


(c) data volume transferred per second (d) data retrieval time
Figure 3: Statistics from cache hierarchy in Korea
3.1.3 Result and analysis
¡¡
The 57%(166670/day) of the total request is local hit, 24%(71496/day) is direct fetch, 12%(36309/day) is parent fetch, 5%(16196/day) is sibling hit. The 30%(1151MB/day) of total data volume is served from local, 32%(966MB/day) is from direct fetch, 21%(632MB/day) is from parent cache and 5%(145MB/day) is from sibling cache. Because the hit and Kbytes served by sibling cache is not so high, we came to know that bandwidth saving from cache hierarchy is low. From Statistics of data volume served and retrieval time, we found that it took long time for parent to fetch which is 12 seconds to fetch 1Kbyte. The above result had launched us to investigate on whether the latency is acceptable.
¡¡
3.2 Experiment on Cache cooperation - retrieval latency
¡¡
In Korea, national and global cache hierarchy has been setup and operated for about two years. Cache can have a neighboring relationship with domestic cache. We call this kind of cooperation as
¡°domestic cache cooperation¡±in this paper. Also, cache can have a neighboring relationship with overseas cache and ¡°global cache cooperation¡± refer to this kind of cooperation in this paper. In this section, we investigated the efficiency of the domestic cache cooperation and global cache cooperation in Korea using the following metric.In this section, we discussed the effect of global cache cooperation in Korea by measuring retrieval latency. In 3.3, we will discuss ICP overhead when cache.kix.net cooperate with other domestic caches.
¡¡
3.2.1 Global cache cooperation
¡¡
As Figure1 shows, cache.kix.net has a mutual parent relationship with sv.cache.nlnar.net which is one of nlanr cache[Wessels 96 ]. For those object that are not in Korea, our international link is used regardless of overseas cache has the object or not. Even though neighboring cache has the object, we should use the international bandwidth to get the data from the cache which is outside Korea. In this section, we focused on measuring the retrieval latency when cache.kix.net has a neighboring relationship with overseas cache bacause global cache cooperation does not have a close relationship with our international bandwidth saving.
¡¡
3.2.2 Data sets
¡¡
We collected data which had been requested more than 300 times a day and data which had been in au domain from the log of cache.kix.net.
¡¡
| Data sets |
Number of urls |
Data volume(Kbytes) |
Date of analysis |
|
Frequently requested data |
100 |
451 |
23:47:07~09:46:57 26/Mar/1998 |
|
Au domain |
235 |
5050 |
19:35:05~19:50:06, 20/Mar/1998 |
¡¡
Table2: data sets collect for measuring the retrieval latency
3.2.3 Methodology
¡¡
The first goal of this work was to analyze how configuration of cache cooperation -especially global cache cooperation - in Korea influences the performance of our cache. When we configure our cache, we need to consider the following questions; which cache to use, whether to configure specific cache as parent or sibling. Moreover, the necessity of cache cooperation with overseas cache also needs to be considered. To answer those questions, We designed a simulation in which we can measure latencies on various cases.
¡¡
The following paragraph gives a brief description on the designed simulation. We used squid [squid 97]caching proxy for this test. The steps are following;
¡¡
Test1) Specific Cache is used as parent for squidA and the same cache is also used as sibling for squidB. By the following test, we can get some statistics to answer the above questions.
Test2) squidA is configured to have no neighbor relationship and squidB is configured to have specific parent cache or specific neighboring cache.
Test3) squidA and squid B are configured to have different parent.
¡¡
Our simulation is the following; pa.cache.nlanr.net is used as sibling for squidA and sv.cache.nlanr.net is used as sibling for squidB. We requested squidA and squidB the same data set and measure the data retrieval latency from each cache. Next, Using the same data set, squidA is configured to have no neighboring relationship. We requested the same data set to the squidA immediately and measured the latency. After that, pa.cache.nlanr.net is used as parent for squidA and sv.cache.nlanr.netis used as parent for squidB. Again, We requested the same data set to the squidA and squidB and measured the latency of each cache.
¡¡
3.2.4 Results and Analysis

Figure 3: data transferred per second on frequently requested data
¡¡
If we run squids for this test on the same host which we want to measure the latency, we can simulate the same network condition as our original cache. Following the above steps that has been described in 3.2.3, we can compare the different configurations of cache. After the simulation, we can get data transferred per second on each test.
¡¡
In this measurement, we compared the transferred data size per second, according to the various configurations and data sets. Data transferred per second is a good metric to measure the data retrieval latency. The larger the value of data transferred per second, the little data retrieval latency. In figure 3, we can find that the retrieval latency caused by global cache cooperation is high. More elaborated experiments is need, but we can see that cooperation with overseas cache may prolong the latency.
¡¡
In Figure 4, we can see that transferred data per second from case a is larger than case b. The sv.cache.nlanr.net has a better link to au domain data than pa.cache.nlanr.net and pa.cache.nlanr.net has a better link to cache.kix.net than sv.cache.nlanr.net. Fetching from sv.cache.nlanr.net cause more timeouts than from pa.cache.nlanr.net (case B has 13 urls of timeout and case A has 4 urls timeouts). So, it is better to configure pa.cache.nlanr.net as parent on au domain because timeout happens more frequently when the link to parent cache is not good. From this result, we can see it is better to have different cache configuration for each domain.

Figure 4: data transferred per second on au domain data
¡¡
This is our first version of analysis. This measurement may become different according various situation. As a further work, we are going to measure the latency on more various data set on a different international cache on different time of test.
¡¡
3.3 Overhead due to ICP
¡¡
ICP(Internet Cache Protocol) is a lightweight message format used for communicating among web caches and it is used to exchange hits about the existence of objects in neighboring caches[Wessels 97A]. This section addresses measuring the effect of cache cooperation based upon overhead due to ICP. When the cache set up neighboring relationship with other cache it sends the ICP packet to neighbor cache on every request. We focused on measuring the additional ICP traffic generated by exchanging ICP message. proxy.kren.ne.kr and cache.kaist.ac.kr has been chosen for this analysis. The former is a sibling of cache.kix.net and the letter is a child of cache.kix.net. We measured ICP traffic generated by neighboring cache and transferred data volume from cache.kix.net.
¡¡
3.3.1 Data Sets
¡¡
We
've collected log from cache.kix.net. From the log, we measured the total ICP traffic generated from sibling cache and child cache as well as the total data transferred from cache.kix.net to each neighbor caches.¡¡
| Data sets |
Starting date |
Duration |
# of request of each neighbor cache |
|
Cache.kix.net |
01-Nov-97 |
2 months |
14140782/proxy.kren.ne.kr, 12180664/cache.kaist.ac.kr |
¡¡
Table3: data set collected to measure ICP overhead
3.3.2 Result and analysis
configuration: cache_host cache.kix.net sibling 3130 3128
period of analysis : 97/11~12
transferred data volume from cache.kix.net : 15922.63MB (169.87MB/day)
ICP traffic generated: 2514.056MB(89.787MB /day)
period of analysis : 97/12/25~97/1/21
transferred data volume from cache.kix.net: 264.26MB (9.42MB/day)
ICP traffic generated: 695.598MB(24.842MB /day)
configuration:cache_host cache.kix.net parent 3130 3128
period of analysis : 97/11 ~ 97/12
transferred data volume: 63518.627MB(1716.719MB/day)
ICP traffic generated : 716.160MB (19.355MB/day)
¡¡
To proxy.kren.nm.kr, transferred data volume means sibling hit from cache.kix.net. To cache.kaist.ac.kr, parent hit and parent fetch from cache.kix.net. We can find out that the ICP traffic is not trivial in proxy.kren.nm.kr. Especially in
12/25/97~1/21/97, UDP traffic of proxy.kren.nm.kr generated is more traffic than the bandwidth saving. We guess the reason is that proxy.kren.nm.kr has large disk size(24G) so when it does not have requested data, cache.kix.net does not have that data, either. So the sibling hit ratio is low. Other reason is proxy.kren.nm.kr was in the process of installing new proxy software at that period. In proxy.kren.ne.kr, the ICP overhead is 15% of data transferred on average and 200% at the above specific period(97/12/25~97/1/21). In cache.kaist.ac.kr, the overhead is 10%. Considering this ratio and the fact that domestic network cost is not expensive compare to that of international traffic, We justify this ICP traffic. However, the cooperation between cache.kix.net and proxy.kren.ne.kr is not efficient during the above specific period because data the ICP traffic generated more than the data transferred between the two caches. As long as domestic ICP traffic saves international bandwidth. it is worth having this cooperation but we should keep watching on the additional ICP traffic which overwhelm the bandwidth saving.¡¡
4. Benefits and costs : cache.kaist.ac.kr for campus-sized network as one of the child caches in cache network in Korea
¡¡
4.1 Data
¡¡
|
Starting date
¡¡ |
Duration ¡¡ |
Number of Clients |
Requests (Millions) |
Data volume (GBytes) |
Parents ¡¡ |
|
06-Jan-98 |
7 days |
1006 |
2.57 |
30.7 |
0 |
|
06-Feb-98 |
7 days |
1005 |
2.21 |
27.6 |
2 |
|
11-Mar-98 |
9 days |
1001 |
3.02 |
33 |
2 |
¡¡
Table 4. Summary of data sets : cache.kaist.ac.kr
¡¯s access logs¡¡
We have collected access traces from cache.kaist.ac.kr. Table 4 summarizes the traces, listing: starting date, duration, the number of client hosts making requests, the total number of requests, total data volume and number of parents. Each trace contains 7 or 9 days of Web access. To analyze the effect of configuring parent cache, one is experimented with no parent caches and the other is done with 2 parent caches.
¡¡
4.2 Methodology
¡¡
Location of requested objects : domestic v.s. foreign
¡¡
First of all, We partitioned each collected log into two disjoint subsets : requests for objects in Korea and requests for foreign objects. This is for measuring accurate amount of domestic/international bandwidth saving and latency variation caused by cache.kaist.ac.kr, sibling caches and parent caches. Motivation for this experiment is
¡°Since domestic traffic costs (in time and money) is much less than it is for international traffic, requests for domestic objects and requests that bring international bandwidth consumption should be discriminated and treated differently.¡± Partitioned data sets are as follows.¡¡
|
¡¡Starting date
¡¡ |
Duration ¡¡ |
Requests (Millions) |
Data volume (GBytes) |
Ratio (Requests) |
Ratio (Bytes) |
|
06-Jan-98 |
7 days |
1.38 |
14.4 |
53.70% |
46.90% |
|
06-Feb-98 |
7 days |
1.27 |
12.5 |
57.47% |
45.29% |
|
11-Mar-98 |
9 days |
1.76 |
14.6 |
58.24% |
44.31% |
¡¡
Table 5. Summary of data sets : requests for objects in Korea
¡¡
|
Starting date
¡¡ |
Duration ¡¡ |
Requests (Millions) |
Data volume (GBytes) |
Ratio (Requests) |
Ratio (Bytes) |
|
06-Jan-98 |
7 days |
1.19 |
16.3 |
46.30% |
53.10% |
|
06-Feb-98 |
7 days |
0.94 |
15.1 |
42.53% |
54.71% |
|
11-Mar-98 |
9 days |
1.26 |
18.4 |
41.76% |
55.69% |
¡¡
Table 6. Summary of data sets : requests for foreign objects
¡¡
The percentage of the number of requests for domestic objects in collected logs was 53~57%. However, byte ratio of it was 43-46%. More requests and less bytes, because the average size of requested domestic objects was smaller than that of foreign objects.
¡¡
Location of delivered objects : cache-hit v.s. cache-miss
¡¡
Depending on logged cache result code, all requests made to cache.kaist.ac.kr are classified into 6 groups; local hit (direct cache hit), sibling hit, parent hit, direct fetch, parent fetch and others. (Though we could classify them into 5 groups by merging sibling hit and parent hit to
¡®indirect cache hit¡¯, we didn¡¯t do so because our parent cache has some distinguishing features compared with that of any other siblings; larger cache space and larger TTL value). After that, the percentage each group accounts for and their average latency are calculated. We believed that these analyses would let us prove the usefulness of cache network and identify the location of bottlenecks in it, if any. Classified groups and corresponding cache result codes are as follows. You can find documentation describing cache result codes in appendix A.¡¡
4.3 Analysis
¡¡
Hit-ratio
¡¡
¡¡
| Period / Hit-ratio (%) |
Local hit |
Sibling hit |
Parent hit |
Direct fetch |
Parent fetch |
Others |
|
1998.1.6~12 |
55.6 |
0.3 |
0 |
39.9 |
0 |
4.2 |
|
1998.2.6~12 |
44.8 |
9.6 |
7.9 |
12.2 |
22.9 |
2.6 |
|
1998.3.11~19 |
35.1 |
17.5 |
15.8 |
17.8 |
12.9 |
0.9 |
¡¡
Table 7. Hit ratio (%) : domestic objects
¡¡
¡¡
According to our experience, the sum of local hit ratio and sibling hit ratio was always 50~60% as above. When local hit ratio was low, sibling hit ratio was high and vice versa. One day, when we wiped out and rebuilt our cache storage space, local hit ratio was below 10% and sibling hit ratio was 40~50%. However, the sum of local hit ratio and sibling hit ratio hardly has been over 60%. These results can be interpreted as :
¡°(1) when neighboring caches¡¯ size are not different so much (all sibling caches including ours were equipped with 5~10GB of storage space), caches have many common objects and the amount of them is at about 50~60% of each cache¡¯s storage space. (2) If the goal of hit-ratio is 50~60%, just maintaining sibling relationships with 3 or more caches is sufficient¡±. Generally, parent hit ratio was higher (7~20%) than sibling hit ratio because they are parents, their large storage space (more than 20GB) and larger TTL values (for a week) for cached objects. By configuring both sibling and parent caches, 60~70% of requests for domestic objects could be satisfied in the cache network itself.¡¡
| Period / Hit-ratio (%) |
Local hit |
Sibling hit |
Parent hit |
Direct fetch |
Parent fetch |
Others |
|
1998.1.6~12 |
35.2 |
0.2 |
0 |
62.9 |
0 |
1.7 |
|
1998.2.6~12 |
24.7 |
6.9 |
8.1 |
12.1 |
47.2 |
1 |
|
1998.3.11~19 |
25.5 |
11.4 |
11.5 |
24.9 |
25.4 |
1.3 |
¡¡
Table 8. Hit-ratio (%) : foreign objects
¡¡
We could get similar result in case of requests for foreign objects also, which require international bandwidth consumption, except that overall hit ratio was lower because there are much more objects and request distribution for them is scattered. The sum of local hit and sibling hit was 30~40%. By adding parent caches, 40~50% of international bandwidth could be saved. National cache network in Korea was very successful in terms of bandwidth saving and reducing server load.
¡¡
Latency
| Period / Results |
Local hit |
Sibling hit |
Parent hit |
Direct fetch |
Parent fetch |
|
1998.1.6~12 |
1.8 |
0.8 |
0 |
3.9 |
0 |
|
1998.2.6~12 |
1.7 |
0.6 |
2.4 |
4.3 |
127.9 |
|
1998.3.11~19 |
1.6 |
0.9 |
2 |
4.2 |
55.8 |
¡¡
Table 9. Average latency in retrieving domestic objects (seconds)
| Period / Results |
Local hit |
Sibling hit |
Parent hit |
Direct fetch |
Parent fetch |
|
1998.1.6~12 |
4.3 |
2.1 |
0 |
7.7 |
0 |
|
1998.2.6~12 |
4.7 |
1 |
4.2 |
8.4 |
142.9 |
|
1998.3.11~19 |
2.7 |
1.2 |
3.4 |
13.5 |
66.2 |
Table 10. Average latency in retrieving foreign objects (seconds)
¡¡¡¡
For faster response and efficient use of ICP packets, we have tried to make neighbor relationships with caches whose average RTT (round-trip time) from our cache server is 2~10ms. If RTT is larger than 15ms, ICP hit ratio was terribly small (less than 0.1~1%) and this kind of relationship was just the waste of bandwidth.
¡¡
According to the result of our analysis, most requests satisfied within the cache network have been processed in 0.1~3 seconds, depending cache result code and network connection
¡¯s stability. When clients contact information providers directly without cache, average latency was much larger; about 4 seconds for domestic objects and 8~15 seconds for foreign objects. So we could gain 200~4000% of speedup for domestic objects and 300~15000% of speedup for foreign objects using cache network.¡¡
In table 6 and 7, average latency when cache miss occurs and objects are fetched via parent cache was abnormally large. This is because Squid 1.1 cache server and current ICP don
¡¯t provide a mechanism for relaying error code from parent to child. When a parent cache tried to contact information provider¡¯s site and couldn¡¯t fetch objects due to some errors, it sends just HTML page containing error message after very long time, without error codes itself. In this case, cache result code at the child is logged as ¡°this object is successfully fetched via parent cache¡±. To measure cache network¡¯s performance exactly, this kind of problem should be fixed. According to our additional analysis after excluding these cases manually, average latency was 4~6 seconds for domestic objects and 10~17 seconds for foreign objects. We concluded that parent-child relationships should not be setup for domestic objects, since fetching through parent makes no benefits in this case.¡¡
4.4 Latency induced by consistency checking
¡¡
Comparing average latency for each case in Table 6 and 7, average local hit latency is larger than sibling hit latency. It
¡¯s due to consistency checking procedures called when TCP_REFRESH_HIT and TCP_REF_FAIL_HIT occur. (Cache result codes are explained in appendix A) As in Section 4.2, We regarded TCP_HIT, TCP_REFRESH_HIT and TCP_REF_FAIL_HIT as local hit. TCP_REFRESH_HIT and TCP_REF_FAIL_HIT require an additional consistency checking procedure by contacting original information providers¡¯ site. Latency induced by TCP_REFRESH_HIT and TCP_REF_FAIL_HIT were 0.5~2 seconds and 1~12 seconds each or even more when TIMEOUT occurred. For these reasons, total average latency is about 1.6~4.7 seconds although average latency in case of TCP_HIT is at most 1 second.¡¡
5. Conclusion
¡¡
In this report, we have analyzed and shown costs and benefits of two specific caches joining in national cache network Korea. Costs and benefits of the entire cache network could be calculated by extending our work, taking all child caches under consideration. After one and half years
¡¯ operation, we concluded that national cache network in Korea was an excellent investment for reducing network bandwidth consumption and latency. By using caches in our national cache network, clients perceive a better quality of the network without upgrading physical bandwidth. However, benefits of international cache cooperation are still open to question. Because our international network connectivity is still us-centric and mutual parent relationship is setup with just vBNS caches, we couldn¡¯t get so much benefits from requests for objects in Asian/European countries. According to our analysis, mutual parent relationship should be done carefully for efficient international cache cooperation. Otherwise, it can degrade overall performance of the network by adding latency and ICP overhead on expensive international traffic. Domain-based cache content routing is a good example in this report.¡¡
On the other hand, international cache cooperation on Global high performance research network is becoming the one of challenging issues in network caching area. We will address this issue in APAN cache network by modeling, deploying cache hierarchy in Asia-Pacific region and link it to the rest of the world. Cache network on the Global high performance research network is anticipated as an excellent environment for modeling and experiments of advanced network caching in global context, including large object caching, policy coordination, multicast-aware caching, etc.
¡¡
Current cache network mechanism proved to be excellent on a national level. Can it be extended to and appropriate for global cache network or another new model should be designed? It
¡¯s still open to question and this work is by no means final.¡¡
References
¡¡
[CAIDA 97]
Cooperative Association for Internet Data Analysis, Sep 1997. http://www.caida.org[Jong 97]
A. Jong, T. Verschuren, H. Bekker and I. Melve, Report on the costs and benefits of operating caching services, Project Deliverable of DESIRE project,[Jung 97A] J. Jung and K. Chon, Nation-Wide Caching Project in Korea - Design and Experiment, NLANR Web Caching Workshop, Jun 1997.
[Jung 97B] J. Jung and K. Chon, Replicache: Enhancing Web Caching Architecture with Replication of Large Objects, MS thesis, Department of Computer Science, KAIST, Dec 1997.
[Hamilton 97] M. Hamilton, J. Martin, I. Melve and K. Hoadley, Network Monitoring for Cache Servers, accepted proposal by TERENA TTC meeting, Oct 1997.
[Kim 97] H. Kim and K. Chon, Update Policies for Network Caches, SAL-TM-75, Department of Computer Science, KAIST, Jun 1997.
[Rousskov 97] A. Rousskov, On Performance of Caching Proxies, submitted to SIGMETRICS'98, Department of Computer Science, North Dakota State University, Fargo, N.D, Dec 1997.
[Wessels 96] D. Wessels and K. Claffy, Evolution of the NLANR Cache Hierarchy : Global Configuration Challenges, UC, San Diego, Nov 1996.
[Wessels 97A] D. Wessels and K. Claffy, Internet Cache Protocol (ICP) -version 2, Internet RFC-2186, Sep 1997.
[Wessels 97B] D. Wessels and K. Claffy, Application of Internet Cache Protocol (ICP) - version 2,ICP) -Internet RFC-2187, Sep 1997.
[Squid 97] http://ircache.nlanr.net/squid.
¡¡
Appendix A. Cache Result Codes and Peer Status Codes
¡¡
TCP_HIT
A valid copy of the requested object was in the cache.TCP_MISS
The requested object was not in the cache.TCP_REFRESH_HIT
The object was in the cache, but STALE. An If-Modified-Since request was made and a ¡°304 Not Modified¡± reply was received.TCP_REF_FAIL_HIT
The object was in the cache, but STALE. The request to validate the object failed, so the old (stale) object was returned.TCP_REFRESH_MISS
The object was in the cache, but STALE. An If-Modified-Since request was made and the reply contained new content.DIRECT
The object has been requested from the origin server.LOCAL_IP_DIRECT
The object has been requested from the origin server because the origin host IP address matched your ¡®local_ip¡¯ list.SIBLING_HIT
The object was requested from a sibling cache which replied with a UDP_HIT.NO_PARENT_DIRECT
The object was requested from the origin server because no parent caches exist for the URL.PARENT_HIT
The object was requested from a parent cache which replied with a UDP_HIT.SOURCE_FASTEST
The object was requested from the origin server because the ¡®source ping¡¯ reply arrived first.PARENT_UDP_HIT
_OBJ The object was received in a UDP_HIT_OBJ reply from a parent cache.SIBLING_UDP_HIT_OBJ
The object was received in a UDP_HIT_OBJ reply from a sibling cache.CLOSEST_DIRECT
The object was fetched directly from the origin server because this cache measured a lower RTT than any of the parent caches.FIRST_PARENT_MISS
The object has been requested from the parent cache with the fastest weighted round trip time.TIMEOUT_ Almost any of above may be preceeded by
¡®TIMEOUT_¡¯ if the two-second (default) timeout occurs waiting for all ICP replies to arrive from neighbors.¡¡
Appendix B. Hardware/software equipment of Web caches in Korea
¡¡
|
Machine |
Main memory / Disk |
Software |
|
|
cache.kix.net |
DEC Alpha 4100 |
1GB / 20GB |
Squid 1.1.2 |
|
cache.pubnet.nm.kr |
DEC Alpha 4100 |
2GB / 80GB |
Squid 1.1 |
|
cache.kaist.ac.kr |
Pentium 166 PC |
128MB/ 8GB |
Squid 1.NOVM.17 |
|
proxy.kren.nm.kr |
Pentium II 200 PC |
256MB/ 24GB |
Novell FastCache |
|
proxy.hanq.net |
DEC Alpha 200 |
128MB/ 3GB |
Squid 1.0.18 |
|
spm.kotel.co.kr |
DEC Alpha 2100 |
128MB/ 15GB |
Squid 1.1.8 |
|
proxy.elim.net |
Sun Ultra 1S |
256MB/ 4.5GB |
Squid 1.1.15 |
|
cache.bora.net |
Sun Server 1000 |
768MB/ 13GB |
Squid 1.1.17 |
|
proxy.nuri.net ¡¡ |
Sun Ultra 1S |
128MB/ 8GB |
Squid 1.NOVM.20 |
|
Sun Sparc 20 |
128MB/ 2GB |
Squid 1.NOVM.20 |
|
|
proxy.uriel.net |
DEC Alpha |
64MB/ 6.2GB |
Squid 1.1.17 |
|
proxy.nowcom.co.kr |
Sun Ultra 2 |
512MB/ 5GB |
Squid 1.0.20 |
|
kiwi.interpia.net |
Sun Sparc 20 |
256MB/ 1GB |
Squid 1.0.22 |
¡¡