CCN is different from Content Distribution Network (CDN) where cache space is distributed to each router. The idea does not only reduce the cost in hardware equipment (compared to the equipment at the server level) but also saves the bandwidth consumption and server loading of the network. Designing efficient cooperative caching schemes is an important issue in CCN. Leave Copy Down (LCD) [17] stores another data in l-1 level node only when a cache hit in l level node. Move Copy Down (MCD) [17] is similar to LCD. The difference is that MCD only caches the data in the l-1 level node and deletes the data in the l level node. In this way, the cache space in MCD strategy is more efficiently utilized, but it may cause some requests to traverse more hops to reach their corresponding contents, and result in more bandwidth consumption in comparison to LCD. WAVE [2] deals with a chunk-level caching strategy also similar to LCD. The difference is that WAVE uses piggyback suggestion bit to inform the downstream node, and a downstream node can ignore or accept the suggestion from the upstream node. Another difference is that the suggestion from upstream is based on the popularity of content. The research of [8] and [9] are designed for a hierarchical cache. However, [8] maintains a characteristic time which is the average time between two replacements in the cache. According to the access frequency and the characteristic time, a low-pass filter algorithm is designed to decide which one of the nodes upon the routing path from the request node to the content server should cache the data. The authors of [9] on the other hand collect miss rate, miss penalty, cost loss of evicting objects and access frequency from the routing path. Based on this information, the optimization problem is formulated to decide the best locations of contents. The idea of [11] is calculating the distance between client and server and cache size to decide the cache probability. The data closer to client, the higher probability the data will be cached. [18] use the Shield function to keep track the request rate of Interest. The primary purpose of the Shield function is to discourage unpopular data being cached. Hence, the data will be cached when the Interest is requested over a threshold.
ABC [10] adds an ‘age’ field to each content packet representing the content age of the upstream node. ABC dynamically configures content’s age based on (a) distance (i.e., the number of hops) of cached router toward the server, and (b) popularity of content. When content reaches a router, the router first checks cache space for the content. If there is no available space, the router removes the most expired content in its local cache, and gives the new-arrival content an age as follows. If the router is the first router next to the content server, then the age for the content is given as:
_ * (1)
ageBASE AGE weight
where BASE_AGE is the initial value of the age and weight is the ratio of access frequency of the cached content. Otherwise, the router extracts the age of incoming content (Cu) and calculates the new age as:
min u* 1 , _ (2)
age C weight MAX AGE
where MAX_AGE value is used to avoid the age growth infinitely. Based on Equations (1) and (2), ABC has the following two features: 1) The more hops away from server, the more age it has. 2) The more popular the content is, the longer age it has.
On the other hand, the routing protocol is also an important aspect of this scheme.
Breadcrumbs [19] leaves routing message (breadcrumb) when a router forwards content. The routing message includes where the data is from, where the data is forwarded to, and when the arrival time of the content is. If a request matches the index of breadcrumb, the request is forwarded to the caching router according to breadcrumb information. Potential Based Routing (PBR) [20] uses the capacity and the traffic load of caching node to define the quality of the content, and broadcast the quality of content to its neighbor node. The node calculates the potential value according to the value of content quality and hop count. The lower the potential value it has, the more chances interest will be routed to that node. INFORM [21]
uses 2 phases to make the routing decision. First phase is “Exploration phase” which is
calculating the Q value to keep track efficiency of routing path. Second phase is
“Exploitation phase” which is to decide the routing path using different interface according to the Q value. The lower Q value, the higher priority will be used to forward packet. The idea of Stateful Forwarding Plane[22] is that use color to track the state of interface. If the data come back overtime, then router will try alternative interfaces to send the packet and mark the interface is yellow state. Otherwise, the interface will be mark green state when data come back within time limit. Hash routing [23] is using hash function to designate the router to cache the data. Edge router is responsible for forward data to designated core router. There are different ways to forward data when data sent back from server. The Symmetric is using the same routing path and Asymmetric is using shortest path when send packet out. The Multicast is sending one copy of data to original routing path to cache in designated core router and another copy of data is sending to client by shortest path.