Q-caching: an integrated reinforcement-learning approach for caching and routing in information-centric networks
Content delivery, such as video streaming, is one of the most prevalent Internet applications. Although very popular, the continuous growth of such applications poses novel performance and scalability challenges. Information-centric networks put content at the center, and propose novel solutions to such challenges but also pose new questions on the interface between caching and routing. In this paper, building on top of Q-routing we propose a caching strategy, namely Q-caching, which leverages information that is already collected by the routing algorithm. Q-caching promotes content diversity in the network, reducing the load at custodians and average download times for clients. In stylized topologies, we show that the gains of Q-caching against state-of-the-art algorithms are significant. We then consider the RNP topology, and show that Q-caching performance is more flexible while competitive when compared against existing algorithms.
Information-centric networking (ICN) is a new networking paradigm that shifts the basic network service semantics from delivering the packet to a given destination address to fetching data identified by a given name [Afanasyev et al. 2014, Jacobson et al. 2009]. In the ICN paradigm, routers are equipped with caches, with the aim of increasing network performance and scalability. As the network service is content-aware, users can opportunistically download replicas of the content which are closer to the requesters.
In traditional IP networks when there is a change in the network, routing protocols need to exchange routing updates in order to maintain the topology consistent. Thus, IP routing protocols need to converge fast in order to keep packet delivery after network changes. Fortunately, unless a failure occurs, IP networks are typically static in short timescales.
On the other hand, ICN is a extremely dynamic because it is a highly distributed caching network, with content location and availability changing over time. In this case, even a static network will have dynamic properties, as the location of content may change due to caching. These differences made [Yi et al. 2014] rethink the role of routing in ICN.
Q-routing [Boyan and Littman 1994] was proposed to address the problem of packet routing in dynamically changing networks. It uses single-hop delays to continually estimate the cost to retrieve a packet, called cost-to-go, essentially implementing an asynchronous version of the Bellman-Ford shortest paths algorithm using only local information. It is asynchronous because each router uses only local informational without any route update message.
In recent work [Chiocchetti et al. 2013], Q-routing has been extended to work in information-centric networks, by estimating not the best routing decision for a particular destination, but for a particular piece of content.
In this paper, we propose a reinforcement learning based solution to the joint problem of content placement and routing which naturally embraces the notion of utility for the two decisions motivated by the fact that leveraging advantages of ubiquitous caching requires coordination between content placement (insertion and eviction decisions) and content search (routing decisions) [Rossini and Rossi 2014]. In particular, we exploit the fact that Q-routing computes the cost-to-go and use it to make not only routing but also caching decisions in a weighted least-frequently used (WLFU) manner, evicting the item with the minimum expected cost (MEC) to retrieve. Then, Q-routing and MEC are combined in order to efficiently route requests and store content with the goal of minimizing the download time experienced by users. The resulting combination is referred to as Q-caching.
With this kind of approach, the routing and caching decisions therefore influence each other, as caching an item will cause the routes to change, and changing a route changes the requests seen by other nodes in the network, changing their caches. It is therefore important for the two to be well-coordinated, which we realize by basing them on the same information.
There have been separate efforts to incorporate the concept of utility for placement (e.g., web proxy caching [Wooster and Abrams 1997]) and search decisions (e.g., Q-routing [Boyan and Littman 1994]). Nonetheless, to the best of our knowledge none of the prior works accounted for the notion of utility in an integrated manner for placement and routing decisions.
The paper is organized as follows. First, we introduce Q-routing for information-centric networking in Section 2. Then, we propose our cost-to-go based caching strategy in Section 3. In Sections 4 and 5 we introduce the local cost minimization problem and some of the key features of Q-caching. Section 6 describes the workload used in our trace-driven experiments. We will continue by presenting our preliminary results, related work and discussions in Sections 7, 8 and 9, and drawing conclusions in Section 10.
In Q-routing [Boyan and Littman 1994], the cost-to-go is estimated locally and asynchronously using reinforcement learning [Sutton and Barto 1998]. It uses a tabular value function which stores, for every node , the cost to reach destination when routing through immediate hop . In the original paper is a destination node, but in ICNs it is a piece of information.
The Q table is estimated on-line via the Q-learning update rule:
where is the parameter of an exponential moving average filter, is the set of immediate neighbors of node and is the cost (e.g., delay) between and . The minimum operation in Equation 1 is performed by node when it receives the request from node , and returned as part of the acknowledgement.
When routing a request, the Q table is consulted to find the neighbor y with the lowest cost-to-go for a particular piece of information . Although in general some form of exploration is necessary to find optimal routes (by routing to nodes which are not currently thought to provide the lowest cost), in practice the algorithm has shown to perform well [Boyan and Littman 1994]. Alternatively, a separate exploration phase [Chiocchetti et al. 2013] may be used to first estimate the values.
Note that Equation 1 estimates the expected cost incurred by node to fech content through its neighbor . Let be the instantaneous local utility associated to sending a request for content from node to its neighbor . In general, any utility function may be used in our estimates, by letting . For example, some content may be treated preferentially, or some nodes may be avoided.
In previous work, Q-routing was used to find content in an information centric network using least-recently used (LRU) caching [Chiocchetti et al. 2013]. LRU is a ubiquitous caching strategy due to its fast and easy implementation, combined with good performance. However, the availability of the cost-to-go allows us to make better caching decisions than this simple heuristic. In particular, LRU does not take into account the downstream availability of the content.
If we wish to minimize the path delay for a given request, it makes sense to cache the items that are most difficult to obtain, i.e. have the highest cost-to-go . Given a request distribution that specifies the probability of a request for information arriving at node , we wish to minimize the expected cost:
This is achieved by sorting the content according to this expected cost and caching the items with the highest values. If is estimated by request counting, this amounts to a weighted least-frequently used (WLFU) caching policy, where the weight is the cost to obtain the content [Wooster and Abrams 1997].
Algorithm 1 describes the behavior of a single node. The request distribution is approximated by request counting, on line 4. Then, the caching decision is made. On the backward path, if the cache is not full, the requested item is added (line 8). Otherwise, it is only placed if its expected cost is higher than the lowest scoring cache item (line 10). The routing decision is taken in line 11, and the minimum in Equation (1) is returned on acknowledgement (line 13). Finally, the Q table is adjusted according to Equation (1).
4 Cost Minimization
4.1 Local Optimization Problem
In this section, we consider the local optimization problem faced by each cache-router.
|probability that request is for content|
|total request arrival rate (requests/s)|
|request arrival rate for content , (requests/s)|
|expected delay experienced by node|
|cost to go (computed using Q-routing)|
|minimum cost to go (computed using Q-routing)|
|weight equal to|
All quantities in this section account for a single tagged cache . Let be the request arrival rate. Let be the request rate for content . Then, , where is the fraction of requests for content . Let be the hit probability of content at cache , i.e., is the probability that content is stored at cache . The average delay to download a typical content at cache is . A summary of the notation used throughout this paper is presented in Table 1.
The optimization problem faced at cache-router is,
Note that, as in [Bianchi et al. 2013], we consider an expected buffer size constraint, i.e., the number of expected items in the cache cannot exceed the buffer size .
Let . The weight is approximated online as the product of the number of request counts to a content multiplied by the cost to go. The optimal solution to the problem above consists of storing the contents that have larger values of , i.e., setting for the contents with larger values of and otherwise. This motivates the caching policy proposed in this paper, which consists of storing the items with largest weights (i.e., largest costs ) and evicting those with minimum expected cost (MEC).
4.2 Contrasting MEC Against Other Policies
The optimal solution of (4)-(4) provides insight about how MEC compares against pre-existing policies. If , for all , we note that MEC degenerates to storing only the most popular items. This intuitive policy has formally shown to be optimal in [Liu et al. 1997].
Consider now the case where the popularity of the items is not known beforehand. In that setup, a cache which does not take into account the topology and costs of the remainder of the network when making its eviction decision can use LRU or LFU as proxies to the strategy of storing only the most popular items.
MEC, in contrast, accounts for the topology of the remainder of the network when making its eviction decisions. While doing so, each cache 1) assumes that the network is optimized and 2) does not account for the impact of local decisions on the state of the other nodes in the network. Together, properties 1) and 2) provide a simple and distributed strategy, which however is suboptimal in general. The optimal routing and placement problem, accounting for all cache interddependencies, can be shown to be NP-hard [Neves et al. 2010].
5 Q-caching Features
Next, we discuss some of the features derived by combining Q-routing with MEC.
5.1 Utility-Driven Caching
Q-routing naturally allows for utility-driven routing. By leveraging the cost-to-go computed by Q-routing to drive caching decisions, we also allow for utility-driven decisions for content storage. In particular, this provides additional flexibility with respect to existing policies such as LFU or LRU, whose utility is essentially coupled to the content hit rate.
Note that LRU automatically stores all content that passes through a given cache. Under Q-caching, in contrast, the controller might decide not to store a given content which passes through the cache. This, in turn, may lead to less churn.
5.2 Enabling Content Diversity
Q-caching promotes content diversity in the system, by favoring the storage of different contents at different caches. Under LRU, the most frequently requested contents are always locally stored, irrespectively of the state of their neighbors. The state of the neighbors affects a cache only through their miss streams. Under Q-caching, in contrast, the state of the neighbors directly impacts the caching decisions at a given tagged cache. This is because the cost-to-go is distributedly computed taking into account the distribution of the content in the network. One of the consequences of increased content diversity is reduced load at the custodians, in addition to reduced expected download times.
5.3 Handling Loops
One of the critical aspects of any routing algorithm relates to the handling of loops. Initial work on ICN suggested that Pending Interest Tables (PITs) could prevent loops [Dai et al. 2012, Jacobson et al. 2009]. This is because PITs associate to each pending request a random nonce, which can be used to discard duplicate requests. However, recent work [G-L-Aceves and M-Barijough 2015, G-L-Aceves 2015] indicates that ICNs are subject to routing loop problems even when cache-routers are equipped with PITs.
Routing in ICN can rely on Distance-Vector protocols, like Bellman-Ford, or Link-State Protocols, like Dijkstra. While the Dijkstra algorithm gracefully handles positive loops, Bellman-Ford based algorithms may lead to infinite relaying under adverse conditions. As Q-routing is based on Bellman-Ford, it is subject to the count-to-infinity problem, i.e., the convergence might take significant time in the worst case.
The count-to-infinity problem is exacerbated by the continuing variation of content availability due to caching. In this paper, we deal with this by not making the Q updates immediately influence the routing decisions. Instead, the Q-table used for routing is updated only periodically, allowing the Q values to settle in between routing updates. Using such a separate “target” Q-table has proven to be a stabilizing factor in recent work on large-scale reinforcement learning [Mnih 2015]. We leave a more theoretical study of the convergence to future work.
Next, we present the workload used in our trace-driven numerical evaluations. The physical topology is obtained from the Brazilian National Research Network (RNP). 111The topology is obtained from http://web.archive.org/web/20140905111428/http://www.rnp.br/servicos/conectividade/rede-ipe The number of clients at each point of presence (PoP) is assumed to be proportional to the number of students of that region given by the 2013 university students census [INEP 2013].
We consider a content catalog comprising 31 Youtube videos from the UFRJ Performance Evaluation channel. The videos were published between 2012 and 2015, and count with up to 200,000 views and up to 700 followers. Figure 1 illustrates the time series of the two most popular movies. Each series start at the movie publishing date. As a side contribution of this work, we make available the collected traces [UFRJ 2015]. Among the interesting properties extracted from the data, we point out the following (Figure 1):
Periodicity: We note the periodic behavior of the number of views. During the semester, the number of views grows. During vacations, it decreases. During working days, the number of views is usually smaller than during the weekends. The trend is consistent among the movies.
Non-stationarity: As a general trend, the number of views increases from an year to the other. In our trace-driven simulations we consider non-stationary workloads. The simulation is divided into epochs, where each epoch corresponds to a day in the trace. The arrival rate for each content at each day is assumed to be proportional to the number of requests issued for that content, which is obtained from the trace.
Figure 2 shows the distribution of the accumulated number of views by November of 2015. The bars correspond to the collected data, and the line is result of curve fitting. The distribution popularity is well approximated by an exponential distribution, with . The root mean square of the residuals equals 2393. As a comparison, the minimum root mean square of the residuals obtained with a power law distribution equals 4024.
Next, we report the numerical results of our experiments. We first consider simple topologies in Section 7.1. Then, we contrast different solutions under the RNP topology in Section 7.2. The major strategy combinations considered are shown in Table 2. We consider three caching strategies (LRU, LFU and MEC) and two routing strategies (shortest path first routing (SPF) and Q-routing). Under SPF, requests take the path with minimum cost towards the custodian, assumed to be fixed and given. In all cases, if a replica is opportunistically found, the request is immediately served.
|Inform||Q-routing||LRU||LRU is too volatile (high churn) to work with Q-routing|
|Q-caching||Q-routing||MEC||less volatile than Inform, comparable to Q-LFU|
|Q-LFU||Q-routing||LFU||comparable to MEC|
|SPF+LRU||shortest path first||LRU||see Section 7.2|
In our simulations, run in Matlab, we assume stationary latency between hops, with zero download delays (ZDD assumption) on the backward path, which is assumed to be identical to the forward path. As such, when a piece of content is found, all caches on its request path are immediately updated in accordance to the ZDD assumption. All nodes run in lock-step, and process their entire request queue on every step. The ability of Q-routing to dynamically route around congestion is therefore not used, but will be the subject of future work with more detailed simulations.
7.1 Simple Topologies
Figure 3 presents the three simple topologies considered in our experiments. The layered topology (Figure 3(a)) is inspired by the Akamai network [Sitaraman et al. 2014]. The chain topology and the tree topology (Figures 3(b) and (c)) are used to clarify the role of caching as opposed to routing in network performance. Under the chain and tree topologies, all requests have a single path from the requester to the custodian, assumed to be in the root of the tree.
The reference setup considered in our experiments is shown in Table 7.1.3. The request arrival rate for the -th content is given by , for , where is referred to as the Zipf parameter. Parameters are varied according to our experimental goals. For each parameter setting we simulated 10 runs to obtain the mean and the 95% confidence interval of the metrics of interest, represented by a line and a shaded region in the plots that follow, respectively.
|Number of nodes,||Cache||Zipf||Topology||Number of files,||Custodian||Exploration|
7.1.1 Optimal Exploration Rate
Next, we study the impact of the exploration rate on the metrics of interest. To this aim, we consider a network of 12 nodes, and vary the exploration rate. The other parameters are shown in Table 7.1.3.
Figure 4(a) shows how the mean download time varies as a function of the exploration rate. We consider a layered topology with exogenous arrivals occuring at every node. Recall that exploration is necessary under MEC and Q-LFU in order to learn the distribution of cost-to-go. Recall that the cost-to-go is used for routing decisions by Q-routing and for caching decisions by MEC, i.e., when caching is performed using LFU or LRU, the cost-to-go is used only for routing decisions.
According to Figure 4(a), the optimal exploration rate is roughly 0.1 for MEC and 0.2 for Q-LFU. Figure 4(b) evaluates the mean download cost of MEC in more details, with a more fine grained set of exploration rates. The minimum mean download cost occurs when the exploration rate equals roughly 0.05.
Note that Q-LRU is not sensitive to the exploration rate. We believe that the estimates of the cost-to-go are not very helpful under LRU due to the high content churn associated to such a policy, which causes high variability in the distribution of items in the caches over time. This variability precludes the quick convergence and gains of Q-routing.
|(a) three strategies||(b) MEC|
7.1.2 MEC Increases Space Diversity
Next, we indicate that MEC increases space diversity, and as a consequence decreases mean download time. To this aim, we consider a tree topology with levels and nodes. The remaining parameters are shown in Table 7.1.3. Figure 5 shows how the mean download time varies as a function fo the tree depth. As the tree depth increases, the mean download time decresaes more significantly under MEC as opposed to other strategies. This indicates that MEC, by exploring space diversity, stores different replicas of distinct items over the network, allowing requests to opportunistically download content from within the network and avoiding requests to the custodian, assumed to be associated to the most costly link in the system.
7.1.3 MEC is Cost-aware
Figure 6(a) shows the impact of the costs of accesses to the custodian on the mean download time. We consider the reference setup of Table , with custodian cost varying between 0 and 100. Although the mean download time increases linearly with respect to the cost for all the strategies considered, the slope of MEC is smaller than its counterparts. This indicates that MEC, by being cost-aware, can gracefully handle changes in custodian costs. Figure 6(b) shows how the number of server hits varies as a function of the custodian cost. While MEC adjusts itself to account for cost changes, the other strategies considered are cost-oblivious and maintain the same server hit rate irrespective of server costs.
7.1.4 Impact of Request Locality
Next, our goal is to study the impact of request locality on mean download time. We consider the reference setup shown in Table 7.1.3. In Figures 7(a) and 7(b) we consider the cases where exogenous requests arrive at every node and only at the leaves, respectively. As Figure 7(a) shows, MEC is better that Q-LRU, and slight better than Q-LFU, when there are exogenous arrivals at every node. In contrast, Figure 7(b) shows that LFU is slightly better than MEC when there are exogenous arrivals only at the edge. This is because, due to symmetry, the cost-to-go associated to items which are not stored in the leaves is roughly the same for all nodes. Therefore, the gains of MEC due to heterogenous cost-to-go values are not leveraged.
|(a) arrivals at every node||(b) arrivals only at the edge (leaves)|
7.2 RNP Topology and Youtube Traces
To validate the strategies proposed, real network topology and video traces are used as described in Section 6. The video custodian is placed at João Pessoa. Every point of presence of the RNP network is associated to a cache-router with capacity to store up to three videos. All videos have unit size. The cost of a link is inversely proportional to its bandwidth. We set 20 Gbps as the reference bandwidth, meaning that its cost is normalized to 1. Henceforth, we consider only normalized costs, referred to simply as costs. The custodian has a link with capacity of 100 Mbps, i.e., its cost is 200.
Figures 8(a) and (b) show the results obtained using the RNP topology and the Youtube trace-driven simulations. Figure 8(a) shows the mean download cost to retrieve all files for the four considered strategies. As the figure indicates, Q-Routing+LFU is slightly better than Q-Routing+MEC, and Q-Routing+LRU is the worst strategy. Figure 8(b) shows the mean download cost for each video. As in Figure 2, videos are sorted according to the total number of views. Under Q-Routing+LRU, the mean download cost is high for all videos. Under Q-Routing+MEC and Q-Routing+LFU, the popular videos have smaller minimum download costs. Under MEC, 26 videos have mean download costs lower than 200, in agreement with the hypothesis that MEC increases space diversity. Under LFU, in contrast, only 20 videos have mean download cost lower than 200. Under SPF+LRU, the four most popular videos have mean download costs lower than 200. The mean download cost of all other videos is roughly equal to 200.
|(a) averaged over all files||(b) per file|
Figure 9 shows the evolution of the mean download cost over time for the four considered strategies. This figure shows although the mean download cost of Q-Routing+LRU widely varied during the simulation period, SPF+LRU showed a better and more stable behavior. As previously discussed, this occurs because LRU yields high content volatility in the caches, not allowing Q-Routing to properly converge. Under LRU, every new request to a content that is not cached leads to an eviction, naturally producing more churn, which needs to be coped by Q-Routing. Under MEC and LFU, in contrast, a popular content might never show up in the miss stream. This feature promotes stabilization.
Note that the convergence of MEC is slower than that of LFU. Nonetheless, after convergence the mean download costs of MEC and LFU are 4 and 10, respectively. This means that depending on the dynamics of the content catalog and of the popularity of contents, MEC might be preferred over LFU.
8 Related Work
The literature on information centric networks, accounting for the relations between caching and routing [Rossini and Rossi 2014, Chiocchetti et al. 2013, Fayazbakhsh et al. 2013], analytical models [Domingues et al. 2013, Dabirmoghaddam et al. 2014] and different naming schemes [Bari et al. 2012] is rapidly growing. To the best of our knowledge this paper is the first to leverage information provided by reinforcement-learning based routing algorithms for caching decisions.
The role of routing and the interplay between routing and caching in ICNs is discussed in [Yi et al. 2014, Chiocchetti et al. 2012, Chiocchetti et al. 2013]. As such previous works suggest, jointly solving the routing and caching problems might lead to significant performance gains. However, the joint analysis of these two aspects is non-trivial, and taking them into account together in a simple manner was still an open problem. In this paper, we propose to use the cost-to-go provided by Q-routing for caching decisions, integrating routing and caching in a simple way.
The evaluation of the interplay between caching and routing through analytical models has been recently subject of considerable attention [Rossini and Rossi 2014]. When determining the steady state occupancy of the caches, one approach consists of searching for a fix-point solution which is compatible with the routing and caching decisions [Rosensweig et al. 2010]. We believe that the solutions proposed in this paper are also amenable to analysis through adaptations of the models proposed in [Rosensweig et al. 2010].
The use of reinforcement learning (RL) for decision making in ICNs has been considered in [Bastos et al. 2015, Chiocchetti et al. 2013]. [Chiocchetti et al. 2012] studied the classical RL tradeoff between exploitation and exploration and then proposed Inform [Chiocchetti et al. 2013], which combines Q-routing with LRU for improved performance. [Bastos et al. 2015] also propose the use of RL for routing decisions. In this work, in contrast, we propose the use of RL for routing and caching decisions, in an integrated fashion.
Next, we discuss some of the simplifying assumptions considered in this work, together with possible directions for future work.
Forward and Backward Routes: In this paper, we focused on the forward (upstream) routes, namely the routes between requestors and custodians. We leveraged the opportunistic encounters between requests and replicas of the content closer to users. The backward (downstream) routes were assumed to be the same as the forward routes, and the zero download delay (ZDD) assumption was considered. If backward routes may be distinct from forward routes, additional flexibility might be gained to determine how to route the content to users, so as to strategically place new replicas where needed.
Routing and Caching Utilities: We assumed that the utilities associated to routing and caching decisions are the same. However, in general they might be associated to distinct utilities. In such case, additional control messages might be required. The gains, however, might compensate such overhead specially if routing costs (e.g., due to congestion) are very distinct from content costs (e.g., due to the availability of custodians for certain rare or unpopular content).
Caching and routing are two of the building blocks of ICNs. In this paper, we showed how to leverage information provided by Q-routing in order to make caching decisions. The proposed solution, Q-caching, is simple and flexible, allowing for different utilities and metrics of interest to be taken into account when coupling caching and routing for increased performance. We numerically investigated the effectiveness of Q-caching, and contrasted it against different schemes, including the state-of-the-art Inform (Q-routing coupled with LRU). We have found that in the scenarios investigated Q-caching is either better or competitive againts the considered counterparts. Future work consists of establishing the conditions under which Q-caching is optimal, and studying its converence properties.
- [Afanasyev et al. 2014] Afanasyev, A., Burke, J., Zhang, L., Claffy, K., Wang, L., Jacobson, V., Crowley, P., Papadopoulos, C., and Zhang, B. (2014). Named Data Networking. ACM SIGCOMM CCR, 44(3):66–73.
- [Bari et al. 2012] Bari, M. F., Chowdhury, S. R., Ahmed, R., Boutaba, R., and Mathieu, B. (2012). A survey of naming and routing in information-centric networks. Communications Magazine, IEEE, 50(12):44–53.
- [Bastos et al. 2015] Bastos, I., Sousa, V., and Moraes, I. (2015). Uma estratégia de encaminhamento de pacotes baseada em aprendizado por reforço para redes orientadas a conteúdo. In SBRC.
- [Bianchi et al. 2013] Bianchi, G., Melazzi, N. B., Caponi, A., and Detti, A. (2013). A general, tractable and accurate model for a cascade of caches. arXiv preprint arXiv:1309.0718.
- [Boyan and Littman 1994] Boyan, J. A. and Littman, M. L. (1994). Packet routing in dynamically changing networks: A reinforcement learning approach. In Cowan, J., Tesauro, G., and Alspector, J., editors, Advances in Neural Information Processing Systems 6, pages 671–678. Morgan-Kaufmann.
- [Chiocchetti et al. 2013] Chiocchetti, R., Perino, D., Carofiglio, G., Rossi, D., and Rossini, G. (2013). Inform: a dynamic interest forwarding mechanism for information centric networking. In ICN, pages 9–14. ACM.
- [Chiocchetti et al. 2012] Chiocchetti, R., Rossi, D., Rossini, G., Carofiglio, G., and Perino, D. (2012). Exploit the known or explore the unknown?: Hamlet-like doubts in ICN. In ICN, pages 7–12. ACM.
- [Dabirmoghaddam et al. 2014] Dabirmoghaddam, A., Barijough, M. M., and G-L-Aceves, J. (2014). Understanding optimal caching and opportunistic caching at the edge of information-centric networks. In ICN, pages 47–56. ACM.
- [Dai et al. 2012] Dai, H., Liu, B., Chen, Y., and Wang, Y. (2012). On pending interest table in named data networking. In Proceedings of the Eighth ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS ’12, pages 211–222, New York, NY, USA. ACM.
- [Domingues et al. 2013] Domingues, G. d. M. B., Leão, R. M. M., Mensché, D. S., et al. (2013). Enabling information centric networks through opportunistic search, routing and caching. In SBRC.
- [Fayazbakhsh et al. 2013] Fayazbakhsh, S. K., Lin, Y., Tootoonchian, A., Ghodsi, A., Koponen, T., Maggs, B., Ng, K., Sekar, V., and Shenker, S. (2013). Less pain, most of the gain: Incrementally deployable icn. In ACM SIGCOMM CCR, volume 43, pages 147–158. ACM.
- [G-L-Aceves 2015] G-L-Aceves, J. (2015). A fault-tolerant forwarding strategy for interest-based information centric networks. IFIP Networking 2015.
- [G-L-Aceves and M-Barijough 2015] G-L-Aceves, J. and M-Barijough, M. (2015). Enabling correct interest forwarding and retransmissions in a content centric network. In Proceedings of the Eleventh ACM/IEEE Symposium on Architectures for networking and communications systems, pages 135–146. IEEE Computer Society.
- [INEP 2013] INEP (2013). Sinopses estatísticas da educação superior 2013 - graduação http://portal.inep.gov.br/superior-censosuperior-sinopse. Accessed December 25, 2015.
- [Jacobson et al. 2009] Jacobson, V., Smetters, D. K., Thornton, J. D., Plass, M. F., Briggs, N. H., and Braynard, R. L. (2009). Networking named content. In CONEXT, pages 1–12. ACM.
- [Liu et al. 1997] Liu, Z., Nain, P., Niclausse, N., and Towsley, D. (1997). Static caching of web servers. In Photonics West’98 Electronic Imaging, pages 179–190. International Society for Optics and Photonics.
- [Mnih 2015] Mnih, V. (2015). Human-level control through deep reinforcement learning. Nature, 518(7540):529–533.
- [Neves et al. 2010] Neves, T., Drummond, L. M., Ochi, L. S., Albuquerque, C., and Uchoa, E. (2010). Solving replica placement and request distribution in content distribution networks. Electr. Notes in Disc. Math., 36:89–96.
- [Rosensweig et al. 2010] Rosensweig, E. J., Kurose, J., and Towsley, D. (2010). Approximate models for general cache networks. In INFOCOM, 2010 Proceedings IEEE, pages 1–9. IEEE.
- [Rossini and Rossi 2014] Rossini, G. and Rossi, D. (2014). Coupling caching and forwarding: Benefits, analysis, and implementation. In ICN, pages 127–136. ACM.
- [Sitaraman et al. 2014] Sitaraman, R. K., Kasbekar, M., Lichtenstein, W., and Jain, M. (2014). Overlay networks: An akamai perspective. Advanced Content Delivery, Streaming, and Cloud Services.
- [Sutton and Barto 1998] Sutton, R. and Barto, A. (1998). Reinforcement Learning: An Introduction. MIT Press, Cambridge, MA.
- [UFRJ 2015] UFRJ (2015). Youtube traces of performance evaluation channel: https://www.youtube.com/user/ADUFRJ20121. Traces available here: https://goo.gl/NwHf0g.
- [Wooster and Abrams 1997] Wooster, R. P. and Abrams, M. (1997). Proxy caching that estimates page load delays. In WWW, pages 977–986, Essex, UK. Elsevier Science Publishers Ltd.
- [Yi et al. 2014] Yi, C., Abraham, J., Afanasyev, A., Wang, L., Zhang, B., and Zhang, L. (2014). On the role of routing in named data networking. In ICN, pages 27–36. ACM.