Keywords

1 Introduction

With the rapid development of Internet technology. The “content” and “personalization” of information services have become the main trend of the current network development [1], the traditional host-based Internet architecture has gradually been unable to adapt to the growing data requirements from the large number of users. As a potential solution, CCN architecture [2] has received great attention from relevant scholars. It adopts the name of content data to complete the identification, routing and acquisition of content, thus realizing the separation of content and physical location. In order to alleviate the severe pressure caused by the fast growth of network traffic, the ubiquitous In-network caching technology is widely used in CCN network architecture, through which can improve the performance when distribute content to the network. However, it may generate excessive cache redundancy, resulting in reducing network resource utilization and energy efficiency. A collaboration caching mechanism based on the age of the content has been proposed in paper [3], it has reduced the content acquisition latency and network flow by setting a longer age to the contents which have high popularity and on the edge of the network. However, the article assumes that the popularity of the content and the network topology is known already, it is not easy to know these information. On the basis of homogeneity cache allocation, a cache space dynamic temporary transfer mechanism based on substitution has been proposed in paper [4]. According to the degree of the node’s demand for cache resource, the mechanism dynamically allocate the spare cache to the more demanding nodes, which improves the network’s caching performance effectively. In paper [5, 6], a selective content cache is realized by considering the cache capacity of each node in the path and the popularity of content.so as to alleviate the negative impact of short-term users’ sudden visit to network performance.

However, the existing research work mainly focus on the optimization of network resource utilization to design CCN cache decision and replacement strategy, the focus on energy efficiency is limited. The current network energy consumption generates 10 percent of the world’s energy consumption, and this proportion continues to grow rapidly [7]. Therefore, the energy consumption of the network has become an important issue in the study of CCN cache mechanism. The effects of different caching strategies on CCN performance are analyzed from the energy consumption point of view, and some open issues are discussed in paper [8]. In paper [9], the optimization of the efficiency of CCN cache is transformed into a problem that minimizes the number of average user response hops, and then proposes an energy efficiency caching mechanism APC based on the aging popularity. In paper [10], the problem of CCN cache content placement is formed into a non-cooperative game, this paper proposes a distributed cache mechanism based on energy efficiency, each node in the network make the decision by considering cache energy consumption and the transmission energy consumption of the content.

In this paper, we proposed a new distributed collaborative caching mechanism, various factors such as energy efficiency, content popularity and node importance are integrated to implement the content caching decision, so as to gain greater network performance achieving the reasonable balance between the efficiency of the network and the quality of the cache service while ensuring the smaller energy consumption.

2 System Model

2.1 Network Model

It is assumed that the topology of CCN network can be represented by undirected connected graph \( {\text{G}} = \, \left( {{\text{V}},{\text{ E}}} \right) \), where \( {\text{V}} = \, (v_{1} ,v_{2} , \ldots v_{n} ) \) is the collection of routing nodes in the network, \( {\text{U}} \subseteq {\text{V}} \) is the collection of terminal nodes, and \( {\text{E}} \subseteq {\text{V}} \times {\text{V}} \) is the set of links between nodes in the network. Let \( {\text{O = (}}O_{1} ,O_{2} , \ldots ,O_{m} ) \) be the collection of all content objects available in the network. All of the objects are initially distributed in the original content servers (OCS), OCS are distributed on the edge of the network directly connected to edge content routers. End nodes are responsible for collecting the interest packets for different content objects from their users and spreading them to the network along the selected routers. Each node \( v_{i} \in {\text{V}} \) has a certain cache capacity so that the content forwarded by the node can be stored locally, which can store up to \( M_{i} \) content items.

2.2 Energy Consumption Model

In this section, we analyze the energy consumption of CCN network. The energy consumption of CCN network mainly comes from the cache and transmission of content. In this case, the total energy consumption of CCN network consists of two parts: the cache energy consumption \( E_{\text{c}}^{{}} \) and the transmission energy consumption \( E_{t} \),and the total of energy consumption = \( E_{c} + E_{t} \).To make the presentation of the energy consumption model formula and calculation process easier to follow, we briefly summarize the notations of the key parameters used in the process of calculation and simulations in Table 1.

Table 1. Notations of the key parameters used in the simulations.

Using the energy consumption model in [5]. If node \( v_{i} \) caches content object \( O_{\text{k}} \) within an observed time interval t, the energy consumption of caching \( s_{k} \) is given in [5],the energy consumption for node \( v_{i} \) caching content \( O_{\text{k}} \) can be expressed as formula (1).

$$ E_{\text{c}}^{{}} = w_{c} s_{k} t $$
(1)

The transmission energy consumption mainly consists of the energy consumption at routers and energy consumption along the links. To simplify our energy consumption model with optimal cache locations, we assume that a user acquires any one content from a single content router. Based on the mentioned parameters in Table 1, the transmission energy consumption by node \( v_{\text{j}} \) to transfer content object \( O_{\text{k}} \) from node can be expressed as formula (2).

$$ E_{t} = q_{i}^{k} s_{k} \left[ {h_{ij} \left( {w_{r} + w_{l} } \right) + w_{r} } \right] $$
(2)

So for node \( v_{i} \) to cache and transport \( O_{\text{k}} \) need the amount of energy consumption is \( E_{tot} \).

(3)

3 Energy Efficiency Aware Cooperative Caching Strategy

3.1 Energy Efficiency Decision Conditions

CCN is actually reduces the user’s distance to the content objects through content cache. From the view of energy consumption, at the expense of cache resource and energy consumption to lower users access to content of the required transmission energy consumption and delay. To make sure the intermediate node to caching content \( O_{\text{k}} \) to reduce the total energy consumption while through intermediate node to get content \( O_{\text{k}} \), we need the energy consumption of getting content \( O_{\text{k}} \) from less than the same when user get the content from the OCS. According to the energy consumption model proposed above. We have the inequality (4).

$$ w_{c} s_{k} t + q_{i}^{k} s_{k} \left[ {h_{ij} \left( {w_{r} + w_{l} } \right) + w_{r} } \right] < q_{i}^{k} s_{k} \left[ {h_{sj} \left( {w_{r} + w_{l} } \right) + w_{r} } \right] $$
(4)

After the reduction available, we get the inequality (5).

$$ \frac{{q_{i}^{k} }}{t} > \frac{{w_{c} }}{{\left( {w_{c} + w_{l} } \right)\left( {h_{sj} - h_{ij} } \right)}} $$
(5)

According to the physical meaning of each variable, the left side of inequality (6) is the request frequency for \( O_{\text{k}} \) at node \( v_{i} \), which can be expressed by \( f_{i}^{k} \), while on the right side of the inequality, according to the physical meaning of each variable.

$$ f_{i}^{k} > \frac{{w_{c} }}{{\left( {w_{c} + w_{l} } \right)h_{si} }} $$
(6)

We increases a hop number segment hops in each content grouping head, when user’s request hit at some node, this node generate a special content group, and value the hops segment as 0.as the content group transmit along the reverse path of user’s request path, the segment hops INC each hop. In this way each node can get the value of the hops as the distance from the current node to OCS(\( h_{si} \)). So we confirm the above inequality as the Energy consumption decision condition, Before node \( v_{i} \) decide whether caching \( O_{\text{k}} \) or not, the node \( v_{i} \) statistics the request frequency of \( O_{\text{k}} \) from \( v_{i} \) and \( h_{si} \) as well, if the consequence meet the above inequality, then caching, otherwise don’t caching \( O_{\text{k}} \).

3.2 Cooperative Caching Strategy

From the content point of view, the higher the popularity of the content expressed the more interested users and the greater the chance of being accessed next time. Therefore, the content with higher popularity should be cached in the node. As a matter of fact, the degree of the user’s interest in the content change over time. In this caching strategy, we refer to the method in the literature [9], the estimation method is as follows.

$$ {\text{P}}_{k} = \sum\limits_{j = 1}^{n} {\left( {\frac{1}{2}} \right)}^{{\lambda \left( {t_{now} - t_{j} } \right)}} $$
(7)

\( {\text{P}}_{k} \) means the popularity estimates of the content \( O_{k} \) in current node, \( t_{now} \) means the current time, \( t_{j} \) means the arrival time of the JTH request for the content. \( \lambda \) is a adjust parameter which satisfy the formula \( \lambda \in \left[ {0,1} \right] \) to weigh the access frequency of the contents. According to the analysis results of literature [12], we give \( \lambda \) the value of \( e^{ - 4} \). The higher the value of popularity of the content in the current node is, the greater the probability of the content be cached in the current node will be.

From the point of view of the node itself, the nodes closer to the center in the network usually have a stronger ability to connect to other nodes, they have more chance to receive request from other different nodes. If we caching the content to these nodes, the cache hit rates will be increased, and the response speed faster as well. So we chose the centrality of the ego network as another basis of cache decision. The nodes with higher centrality will have a higher probability to caching contents. Then consider \( {\text{P}}_{k} \) and the centrality of node \( v_{i} \) together to calculate the probability for node \( v_{i} \) to caching content \( O_{i} \left( {P_{c} ({\text{k)}}} \right) \) the computing method as follows, and the centrality of node \( v_{i} \) together to calculate the probability for node \( v_{i} \) to caching content \( O_{i} \left( {P_{c} ({\text{k)}}} \right) \), the computing method as follows.

$$ {\text{P}}_{c} \left( k \right) = \theta \frac{{P_{k} }}{{P_{\hbox{max} } }} + \left( {1 - \theta } \right)\frac{{B_{i} }}{{B_{\hbox{max} } }} $$
(8)

\( \theta \) is weight coefficient used to adjust the influence by content popularity and centrality on \( {\text{P}}_{c} \left( k \right) \).\( P_{\hbox{max} } \) is the maximum of content popularity for node caching all contents, \( B_{i} \) express the centrality values of node \( v_{i} \),\( B_{\hbox{max} } \) express every node’s maximum of centrality values during content \( O_{k} \) return path. In CCN, content grouping returns the client through the reverse of its request packet path, so we record \( B_{\hbox{max} } \) during the content request packet path. When a cache hit, the hit node write \( B_{\hbox{max} } \) in the corresponding content group. Thus every node at the content return path can get their corresponding \( B_{\hbox{max} } \) through their received content group.

3.3 Cache Decision Strategy Algorithm

The process of the energy of Energy-efficiency Aware Cooperative Caching Strategy algorithm execute as follow description:

Step 1::

When the content \( O_{\text{k}} \) get to node \( v_{i} \), at first, the node get the hops(\( h_{si} \)) from OCS to current node centrality of from the content groups,

Step 2::

If the request frequency for content \( O_{\text{k}} \) from node \( v_{i} \) (\( f_{i}^{k} \)) satisfy the above-mentioned inequality of the energy efficiency decision condition, then proceed to step 3; otherwise the node don’t caching content \( O_{\text{k}} \), transmit forward to next hop.

Step 3::

Node \( v_{i} \) consider about the probability and the performance of collaborative cache to caching content \( O_{\text{k}} \).

Step 4::

If become the new caching node of content \( O_{\text{k}} \), then duplicate the content \( O_{\text{k}} \) to node, set the value of hops as 0; and set the received original content groups segment as 0. Then proceed to next hop.

4 Simulation Results and Analysis

In order to evaluate the performance of the above methods, we chose the leave cache everywhere (LCE) strategy [10] and the aging popularity-based in-network caching scheme (APC) [10] strategy as comparison, the algorithm is simulated and analyzed using the ndnSIM [8] simulator. This article considers an autonomous domain network where all the routers in the network form a mesh network and are connected to the content server through the Content Server Manager. The content server stores the required content objects, and when the content is not found in the content router’s network cache, the required content can be obtained from the OCS by routing. At the same time, we assume that the arrival process of the user request obeys the poisson distribution. The main experimental parameters are shown in Table 2.

Table 2. Experimental parameter.

During the simulation, we observed the influence of different parameters on network performance by changing the size of network parameters such as node cache capacity, contents of the network. The main performance indicators used in this paper include:

  1. (1)

    Cache hit rate. (2) Average response hops. (3) Energy saving rate.

4.1 The Influence of the Cache Size

This section firstly studies the influence on the main network performance under different caching mechanisms when node cache size changes, Fig. 1(a) displays how the Cache hit ratio varies with cache size of the node. As the node cache space grows, the number of content that the node can cache increases and the cache replacement frequency decreases, the cache ratio of the three cache mechanisms increases as well. Among them, LCE has the lowest cache hit ratio because of its lack of reasonable selection of cache content and cache location. EEACC takes the content and various key factors related to the node into account, making the node’s caching decision more reasonable, thus obtaining the highest cache hit rate. When the cache size is 5 MB, the cache hit rate of EEACC still reaches 22.4%, compare with that of LCE (3.4%) and APC(13.5%), respectively, about 558.82% and 65.93%.

Fig. 1.
figure 1

The impact of cache size on network performance.

Figure 1(b) displays how the Average response hops varies with cache size of the node. As the node cache space increase, the chance for the node to respond to user requests via the cache node, it had greatly reduced the numbers of hops when the user get the request content. Therefor the average hops of three kinds of cache mechanisms decreased with the increase of node cache. APC’s consideration of content popularity and its timeliness improves the effectiveness of the cache decision making process, significantly reducing the average hops of content acquisition. Therefore, the average hops of APC is significantly lower than LCE. During the cache decision process, EEACC make use of the energy efficiency decision conditions limit content cache location near the side of the user node, combining with the content popularity and node centricity implements the probabilistic cache content at the same time, make the cached copy approach the client, and gain the lowest of the three average response, when increasing the node cache from 5 MB to 1000 MB, the average response hops was nearly 14.54%lower than that of APC.

When the content cache is identical, the energy saving rate of the three cache mechanisms is shown in Fig. 1(c). As t cache size increases, the opportunity for user’s requests get respond from a more recent cache node increases significantly, resulting in a significant reduction in the amount of energy consumption to find and return the requested content. Therefore, the energy saving rate of the 3 kinds of caching mechanism increases with the increase of cache size. LCE has the lowest energy saving rate because it caches every content to each of the node, too much redundant cache and content substitution, which will inevitably leads to additional energy costs. However, EEACC reduces the total energy consumption of content access through energy efficiency ruling, optimizes the efficiency of the decision-making process and thus obtains the highest energy saving rate. As shown in Fig. 1, when the cache size is 1000 MB, EEACC has an energy efficiency rate of 62.3%, compared with the APC (55.6%) and LCE (30.1%), respectively, increasing by about 12.1% and 107.0%.

4.2 The Influence of the Content Quantity

In the case of node cache, the number of content objects in the network is the reflection of the scarcity degree of network. As the number of content increases, the cache capacity of the nodes becomes more and more inadequate relative to the content cache requirements. Then, the cache replacement frequency increase, the content of the cache time is relatively short, resulting in content cache‘s role in reducing subsequent user requests the response of the distance and the overall energy consumption, improve the cache hit chance is waning. We can see from Fig. 2, when the content number increases from 100 to 5000, all the three kinds of caching mechanism of energy saving rate and the cache hit ratio curve are obviously declining, while the average response hops are growing. EEACC and APC of all the performance is much better than the LCE, for their selection of proper cache content and cache node, to avoid the LCE relatively radical caching policy cache redundancy. And because EEACC uses the arrival frequency and new inaccuracy of the user’s request to estimate the content popularity more accurately, such as it can effectively place the popular content from the user’s frequently request at the appropriate cache nodes, so that EEACC obtained the highest cache hit rate and the minimum average response hop. As displayed in Fig. 2(a) and Fig. 2(b), when the number of the content is 2000,the cache hit ratio of EEACC reached 57.8%, which was nearly 32.3% higher than that of APC (43.7%), and the average response hops were only 6.54, compared with the APC, which decreased by about 11.86%. According to the optimization of energy efficiency model, EEACC greatly reduces the overall energy consumption of the system. As shown in Fig. 2(c), the energy saving rate is significantly better than APC and LCE,In the case of 2000 content, EEACC obtained 43.6% energy saving rate, which is about 25.3% and 177.7% higher than APC and LCE, respectively.

Fig. 2.
figure 2

The impact of content quantity on network performance.

5 Conclusions

In order to improve the energy efficiency of the CCN, and ensure the caching performance at the same time. In this paper, we proposed Energy-efficiency Aware Cooperative Caching Strategy. Through the analysis of CCN network energy consumption model, an energy efficiency judgment condition is set up to ensure that the strategy can reduce the overall energy consumption of the network, On the basis of energy efficiency we take into account the factors such as content popularity, node location and cache coordination of neighboring nodes, and coordinate these factors to calculate the probability priority of caching a content. Simulation results demonstrate that the proposed strategy can effectively reduce the overall energy consumption, with guaranteeing comparatively higher cache hit rate and smaller average response hops.