Optimal Caching and Routing in Hybrid Networks
Mostafa Dehghan, Anand Seetharam, Ting He, Theodoros Salonidis, Jim Kurose, Don Towsley
aa r X i v : . [ c s . N I] J u l Optimal Caching and Routing in Hybrid Networks
Mostafa Dehghan † , Anand Seetharam † , Ting He ∗ , Theodoros Salonidis ∗ , Jim Kurose † , and Don Towsley †† School of Computer Science, University of Massachusetts Amherst, ∗ IBM T.J. Watson Research Center { mdehghan, anand, kurose, towsley } @cs.umass.edu , { the, tsaloni } @us.ibm.com Abstract —Hybrid networks consisting of MANET nodes andcellular infrastructure have been recently proposed to improve theperformance of military networks. Prior work has demonstratedthe benefits of in-network content caching in a wired, Internetcontext. We investigate the problem of developing optimal routingand caching policies in a hybrid network supporting in-networkcaching with the goal of minimizing overall content-access delay.Here, needed content may always be accessed at a back-endserver via the cellular infrastructure; alternatively, content mayalso be accessed via cache-equipped “cluster” nodes within theMANET. To access content, MANET nodes must thus decidewhether to route to in-MANET cluster nodes or to back-endservers via the cellular infrastructure; the in-MANET clusternodes must additionally decide which content to cache. We modelthe cellular path as either i) a congestion-insensitive fixed-delaypath or ii) a congestion-sensitive path modeled as an M/M/1queue. We demonstrate that under the assumption of stationary,independent requests, it is optimal to adopt static caching ( i.e. ,to keep a cache’s content fixed over time) based on contentpopularity. We also show that it is optimal to route to in-MANET caches for content cached there, but to route requestsfor remaining content via the cellular infrastructure for thecongestion-insensitive case and to split traffic between the in-MANET caches and cellular infrastructure for the congestion-sensitive case. We develop a simple distributed algorithm for thejoint routing/caching problem and demonstrate its efficacy viasimulation. I. I
NTRODUCTION
Future military operations envision processor- and data-intensive real-time applications, including multimedia analyt-ics, situational awareness, location tracking, intrusion detec-tion, and context sharing to aid data-to-decision at the tacticaledge. These services provide situational awareness in the fieldand information relevant for mission-critical decisions. Increas-ingly, these applications will operate in hybrid networks con-sisting of field-deployed tactical MANET nodes and cellularinfrastructure. MANET nodes, equipped with heterogeneousprocessing and storage capabilities, can communicate amongthemselves as well as with back-end servers, accessible viathe cellular base station. We consider a hybrid network thatsupports in-network caching – content may always be accessedat a back-end server via the cellular infrastructure but mayalso be cached at cluster nodes within the MANET. Althoughprior work has demonstrated the benefits of in-network contentcaching in a wired, Internet ( e.g. , CDN) context [1], thereis limited research understanding the challenges and potentialbenefits introduced by caching in hybrid networks [2]–[4].To illustrate the inter-related routing and caching chal-lenges in such a hybrid network, let us consider adata-streaming object/face recognition scenario. Here, field-deployed MANET nodes continuously capture images of theirsurroundings and generate a stream of image-based requests ( e.g. , containing features extracted from the image, a times-tamp, physical location, queries), which must then be pro-cessed in conjunction with archived images for identification.For example, a node might identify an object in an image,and want additional information such as the object’s ‘type’ oradditional attributes. A MANET node must decide whetherto route such an object-identification request to the back-end servers via the cellular infrastructure or to cluster nodesequipped with a cache (Figure ?? ). An ‘object identificationmodule’ (executing at both the back-end server(s) accessiblevia cellular infrastructure and at the in-MANET cache) re-sponds to these requests. At the in-MANET cache, if neededcontent is available in the cache, the module can immediatelyreturn a reply. Otherwise, additional needed content mustbe downloaded (incurring additional delay); the computationcan then be performed and replies can then be returned.Additionally, the cache must decide whether or not to storethe downloaded content. The fundamental question we address in this paper is thefollowing – how should nodes route their requests betweenthe cellular infrastructure and the in-MANET cache, and whatin-MANET caching policy should be adopted to minimizeexpected overall network delay?
We consider two scenarios,modeling the cellular path as either (i) a congestion-insensitivefixed-delay path or (ii) a congestion-sensitive path modeled asan M/M/1 queue. Our goal is to develop delay-minimizingcaching and routing policies for this joint routing/cachingproblem. Our contributions are as follows. i) We prove under the assumption of stationary, indepen-dent content requests that it is always optimal to adopt staticcaching ( i.e. , to keep the cache’s content fixed over time)based on content popularity (Section V). For the case of fixeddelays through the cellular infrastructure, we show that it isalways optimal to route to the cache for the cached contentand to route requests for the remaining content via the cellularinfrastructure. For the case of congestion-sensitive cellular-access delays, we show that while requests for the cachedcontent should still be routed to the cache, the remainingrequests should be split between the cellular infrastructure andthe cache; we also determine the optimal split ratio. ii)
We present a distributed algorithm (Section VI) forthe joint routing/caching problem, and discuss how both thenodes and the cache must necessarily be involved in solvingthis problem. In our distributed algorithm, nodes help thecache infer content popularity; the cache then uses contentpopularity to determine what content to cache. Nodes, in turn,determine their routing strategy based on the cached content.Our distributed algorithm seamlessly adapts to changes incontent popularity. iii)
We perform extensive simulations (Section VII) thatemonstrate that our distributed algorithm provides delayperformance comparable to that of the optimal centralizedsolution. II. R
ELATED W ORK
Caching of web-based content has been extensively studied[1], [5], [6]. Recently, there have also been proposals fordesigning network-wide caching systems such as Informa-tion/Content Centric Networks [7]. In [8], the authors developoptimal strategies to provision the storage capacity of routers,balancing the tradeoff between network delay and provisioningcost. However, the design and analysis of network-level jointcaching and routing algorithms, particularly in context ofwireless networks, remains an open research problem.Prior work has determined efficient caching and routingpolicies in cache networks (where every node in the networkcan cache content and also generate requests for content)[9]–[13]. In [10], the authors investigate whether a universalnetwork-wide caching policy is beneficial and quantitativelydemonstrate that caching only at a subset of nodes basedon network centrality can provide improved performance.Probabilistic caching of content based on parameters such aslast requested time and content diversity has been adoptedin [11]; the authors show via simulations that such a strategycan provide superior performance. Azimdoost et al. [4] demon-strate that the asymptotic throughput capacity of a network issignificantly increased by adding caching capabilities to thenodes. In contrast to the above mentioned works, we considera system where nodes have two paths (one cached and oneuncached) and determine optimal caching and routing policiesin this setting.Our work is closest to [2], [3], where the authors considerthe content placement and routing problem in a hybrid net-work consisting of multiple femtocell caches and the cellularinfrastructure with the objective of minimizing delay. Both pa-pers address the congestion-insensitive case where users havehomogeneous delays to the caches, show that their respectiveproblems are NP-hard and propose centralized bounded ap-proximate solutions. In contrast, we consider a single MANETcache and cellular infrastructure, explicitly model differentdelays between users and the cache, consider congestion-sensitive cellular path delay and propose a practical distributedalgorithm for our joint caching and routing problem. Ourcaching framework builds on work done for web caches byLiu et al. where the authors show that highest cache hit ratesare obtained for a static caching policy under independent andstationary request processes [5].III. N
ETWORK M ODEL AND P ROBLEM S TATEMENT
In this section, we abstract the system described in Sec-tion I. We consider a system of N users that generate requestsfor a set of K unique files F = { f , f , . . . , f K } of unitsize. We use the terms content and file interchangeably.A user i generates requests for the files in F according toa Poisson process of aggregate rate λ i . We denote by q ij theprobability that user i generates a request for file j (referredto as the file popularity ). Note that the popularity of the samefile can vary from one user to another. All files are available at the back-end server and usersare connected to the server via a cellular infrastructure. Werefer to the cellular path between the user and the back-endserver as the uncached path . Each user can also access an in-MANET cache where the content might be cached. Let C bethe capacity of the cache measured by the maximum numberof files it can store ( C < K ). If user i requests file j and itis present in the cache, then request for file j will be servedimmediately. We refer to this event as a cache hit. However, ifcontent j is not present in the cache, then the cache forwardsthe request to the back-end server, downloads file j from theback-end server and forwards a reply to the user. We refer tothis event as a cache miss, since it was necessary to downloadcontent from the back-end server in order to satisfy the request.Let d hi and d mi denote the delays incurred by user i in theevent of a cache hit or miss, respectively. We assume withoutloss of generality that d mi > d hi , i.e. , cache misses alwaysincur greater delays than cache hits. We model the cellularpath as (i) a congestion-insensitive constant delay path or (ii) acongestion-sensitive path modeled as an M/M/1 queue withservice rate µ . In the congestion-insensitive case, the delayexperienced by a request sent by user i is denoted d i . We alsoassume d hi < d i < d mi , for all users i . This is a reasonableassumption because if d i < d hi , then all traffic for user i will berouted through the uncached path. On the contrary, if d i > d mi ,then all traffic for user i will be routed through the cachedpath. In the congestion-sensitive case, the delay experiencedby requests depends on the total incoming traffic arrival rateand the service rate of the queue (we defer discussion of theM/M/1 queue case until Section V-B).In this work we consider a joint caching and routingproblem with the goal of minimizing average content accessdelay over the requests of all users for all files. The solution tothis problem requires addressing two closely-related questions How should cache contents be managed – which files shouldbe kept in the cache, and which cache replacement strategyshould be used? and How should the users route ( i.e. ,split their traffic for the various files between the cached anduncached paths)?IV. D
EFICIENCY OF C ACHE -A GNOSTIC R OUTING
Traditional routing protocols are typically designed to opti-mize the performance of current traffic load. We define cache-agnostic routing as the request-routing strategy that routesa request to the (cached or uncached) path that yields theminimum delay given the current cache content. Consider thecase of the congestion-insensitive uncached path. It is easy tosee that for given content in the cache, cache-agnostic routingwill forward the requests for cached content to the cache, androute the remaining requests to the uncached path. We call thisthe greedy request routing .The greedy nature of cache-agnostic routing makes thesystem heavily depend on the initial cache content, since theset of requests that will be routed to the cache depends entirelyon files that are already in the cache. Hence, in cases whenthe cache is preloaded with unpopular files, greedy routingcan perform rather poorly. This phenomenon has also beenobserved in other cache networks [14].he deficiency of cache-agnostic routing can be interpretedfrom a game-theoretic perspective. Consider each user as aplayer in a request routing game where users compete for thelimited cache space to minimize their own delays. Assumethe user population is large so that a single user’s decisionhas negligible impact on the cache state. Then we observe thefollowing:
Proposition 1.
Given any cache state, greedy routingachieves a locally optimal solution .This statement is directly implied by the definition ofgreedy routing because given any cache state, each user u must route according to the locally optimal solution, which isgiven by greedy routing. The routing game does not have asingle local minimum; in fact, each different initial cache statemay lead to a different local minimum. In the next section, wewill prove the following proposition. Proposition 2.
Under the optimal cache state, greedyrouting achieves a globally optimal solution .The above proposition implies that the global optimum canbe achieved by a two-part solution consisting of centralizedcache allocation and distributed greedy routing. This will bethe basis of our distributed algorithm described in Section VI.V. O
PTIMAL C ACHING AND R OUTING
In this section, we determine the optimal caching androuting strategies considering that the uncached path is either i) congestion-insensitive, or ii) congestion-sensitive. Overall,we show that it is always optimal to adopt static caching basedon a content popularity metric and to route requests for cachedcontent to the cache. Requests for the remaining files should berouted to the uncached path for the congestion-insensitive case,and should be split between the uncached path and the cachefor the congestion-sensitive case, for which we determine theoptimal split ratio. A. Congestion-insensitive uncached path
We first consider the case that delays on the uncachedpath, d i ( d i > d hi ) do not depend on traffic rates. Let q j = N X i =1 λ i q ij ( d i − d hi ) be the weighted popularity of file j . We sort the files in decreasing order of weighted popularity( q j ); let Q be the set of C files with the highest weightedpopularity. We claim that the optimal caching and routingstrategy is to statically cache the files in Q , route requestsfor these files to the cache, and route the remaining requeststo the uncached path. Let D O be the average delay under theoptimal policy: D O = N X i =1 λ i (cid:16) X j ∈ Q q ij d hi + X j Q q ij d i (cid:17) . Consider any non-anticipative caching policy H , and let p ij be the fraction of traffic from user i for file j that is routedto the cache. Let h j be the hit probability for file j underpolicy H , and let D H denote the average delay achieved bythe non-anticipative caching policy H . It is assumed that a fileis immediately available at the cache, even though there is a delay experienced by the user. For the average delay from H we have D H = N X i =1 K X j =1 λ i q ij (cid:16) p ij ( h j d hi + (1 − h j ) d mi ) + (1 − p ij ) d i (cid:17) , where p ij ( h j d hi + (1 − h j ) d mi ) and (1 − p ij ) d i are the averagedelays for requests from user i and file j routed to the cacheand the uncached path, respectively. To demonstrate optimality,we state the following lemma. The proof is given in theappendix. Lemma 1. D H ≥ D O .Our proof borrows ideas from prior work [5], where theauthors prove that given the traffic access rates for files,statically caching the C files with the highest popularity willresult in the highest hit rate. Note that a corollary to Lemma 1is that optimal delay can be achieved by loading the cachewith these C most popular files and having the users greedilyroute requests for content. B. Congestion-sensitive uncached path
Let us next consider the case where delays on the uncachedpath are congestion-senstitive, i.e. , they depend on the requestrate on that path. We assume that hit and miss delays are equalamong all users, i.e. , d hi = d h and d mj = d m , respectively. Theuncached path is modeled as an M/M/1 queue with service rate µ . We assume that the average service time in the queue liesbetween the hit and miss delays, i.e. , d h < /µ < d m . We notethat the average delay through an M/M/1 queue with incomingrate λ and service rate µ is given by / ( µ − λ ) when λ < µ .Let q j = N X i =1 λ i q ij denote the overall popularity of file j .We sort the files in decreasing order of overall popularity ( q j );let Q be the set of C files with the highest overall popularity.Since the hit delay is smaller than the miss delay and delayfrom the uncached path, a reasoning similar to that in V-Aagain implies that it is optimal to have the files in Q in thecache, and route requests for those files to the cache.In the remaining, we show that to achieve optimal delayit is necessary to split the traffic for the uncached contentbetween the cache and the uncached path. Note that when theuncached path is congestion-sensitive, sending all the traffic foruncached files could potentially congest that link, resulting ina large delay. Therefore, a portion of the traffic for uncachedfiles should be directed to the cache, incurring a miss thereand the consequently an access delay d m . It is important tonote that the cache content is not updated in case of a cachemiss. Assume that user i routes a fraction p ij of the traffic forthe uncached file j to the cache. The expected delay can beexpressed as D O = N X i =1 X j ∈ Q λ i q ij d h + N X i =1 X j Q λ i q ij p ij d m N X i =1 X j Q λ i q ij (1 − p ij ) µ − N X i =1 X j Q λ i q ij (1 − p ij ) The above function is convex and can be differentiated withrespect to p ij : ∂D O dp ij = λ i q ij d m − µλ i q ij ( µ − N X i =1 X j Q λ i q ij (1 − p ij )) Equating the derivative to zero we get N X i =1 X j Q λ i q ij (1 − p ij ) = µ − r µd m (1)In the above formulation, the optimal solution depends onlyon the amount of traffic being routed through the congestion-sensitive link and not the type of the file being routed to theuncached path. The optimal delay is achieved for any valuesof p ij that satisfy (1), and different sets of routing probabilitieswill yield in this (same) optimal delay value. One such solutionoccurs when p ij = p , and from (1) we get p = 1 − µ − q µd m N X i =1 X j Q λ i q ij . (2)VI. D ISTRIBUTED A LGORITHM
Based on our analysis in the previous section, the globaloptimum can be reached by a two-step solution consisting ofa centralized static cache allocation followed by distributedgreedy routing. The centralized caching solution relies onthe existence of a central authority that oversees all the userdemands and controls all the caches. This approach maybe difficult to apply in a MANET environment where it isdesirable to have a distributed solution that only relies on localinformation. Furthermore, in practice user demand can changeover time due to user mobility or changes in file popularity.Therefore, a challenge in solving the joint routing and cachingproblem in a distributed manner is for the cache to infer thefile popularities (from the individual file popularities of users)in order to decide which files to cache; the routing of requestswill in turn depend on the cached files.In what follows, we present a Distributed Caching andRouting (DCR) algorithm, which aims to emulate the behaviorof the optimal joint caching and routing policies and toseamlessly adapt to changes in content popularities. Due tospace limitations and for clarity purposes, we present thealgorithm for the case where the delays are equal acrossdifferent users . Our algorithm can be easily generalized to thecase of different delays for different users.The distributed algorithm consists of two phases . The firstphase corresponds to the state when the cache has an inaccurateestimate of the file popularities, during which it will observea fixed portion of the traffic for all files. We call this state the “ caching phase ” and require the users to send a specificfraction, α , of their traffic to the cache. This allows the cacheto estimate the file popularities as well as the aggregate requestrate of the users. We determine the value of α such that theaverage delay during the caching phase is minimized.The second phase, called the “ routing phase ”, begins afterthe cache gathers enough data regarding user traffic. At thispoint the cache is able to estimate file popularity and updatethe cache content. Note that users can learn whether a contentis stored in the cache or not based on the difference betweenthe hit and miss delays. If users learn that some content isin the cache, they will always forward their traffic for thosecontent to the cache. However, for content that is known notto be in the cache, a fraction p (specified by the cache) ofthe traffic gets forwarded to the cache, and the remaining isrouted to the uncached path. The reason for splitting the trafficfor uncached content is twofold: 1) it provides a means forthe cache to estimate the traffic for uncached content whenpopularities change over time, and 2) avoids congesting theuncached path in the congestion-sensitive case.Note that in the caching phase the cache can observe afixed fraction of the traffic for all files, and can estimatecontent popularity based on the incoming traffic. The cacheestimates the aggregate arrival rate ˆ λ by dividing the numberof observed arrivals per time unit by α . Note that in the routingphase only a fraction p of the traffic for the uncached contentis observable to the cache. Since this portion of the trafficmainly corresponds to the misses at the cache, the cache canestimate file popularities ˆ q = ( n h + n m /p ) , where n h and n m denote vectors containing the number of observed requestsresulting in hits and misses for different files, and Λ is anormalizing constant. More sophisticated techniques can beused to estimate popularities ( e.g. , see [15]), but we will seein the next section that this simple approach suffices in ourcase.Algorithm 1 summarizes the steps for the distributedcaching and routing described above. Note that at any pointin time, the cache can start the caching or routing phase bybroadcasting a message to users. We discuss next how to selectthe two parameters α and p . Algorithm 1
Distributed Caching and Routing (DCR)// Caching Phase Cache broadcasts the “caching phase” message with pa-rameter α . Users send requests to the cache with probability α , andto the back-end server with probability − α . Cache estimates the file popularities and aggregate requestrate.// Routing Phase Cache broadcasts the “routing phase” message with pa-rameter p . Based on response times from the cache, users decidewhether a file is in the cache or not. For the files that (users think) are in the cache, users sendtheir requests to the cache. For the files not in the cache, users send requests to thecache with probability p , and to the back-end server withprobability − p . . Congestion-insensitive uncached path Let ¯ d c be the average delay assuming that all users routetheir entire traffic to the cache. During the caching phase, asusers route α portion of their traffic to the cache, the averagedelay ( D ) is given by D = α ¯ d c + (1 − α ) d . It is easy tosee that the average delay is minimized for α = 0 if ¯ d c > d ,and for α = 1 , otherwise. Since, for estimation purposes, werequire α to be greater than zero, we choose α = 0 . notingthat it results in a delay no more than a factor two of theoptimal.For the routing phase, it can be easily seen that the optimaldelay is achieved by having p = 0 . However, this optimality isachieved under the assumption of static content popularities.In order to make it possible for the cache to estimate the trafficfor uncached content and track changes in content popularity,we fix this parameter at p = 0 . to direct of the trafficfor uncached content to the cache. B. Congestion-sensitive uncached path
For the congestion-sensitive case, the average delay ( D )over the caching phase can be written as D = α ¯ d c + 1 − αµ − (1 − α ) λ , where λ is the aggregate request rate, µ is the service rate ofthe uncached path, and ¯ d c is the expected delay from the cacheand can be estimated as ˆ¯ d c = ( ˆ λ ′ d h + (ˆ λ − ˆ λ ′ ) d m ) / ˆ λ , where ˆ λ and ˆ λ ′ are estimates of the aggregate request rate and therequest rate for the cached content, respectively. ˆ λ ′ is estimatedsimilar to ˆ λ . Assuming that µ is known to the cache, α canbe computed as α = 1ˆ λ ( s µ ˆ¯ d c − µ + ˆ λ ) , to minimize D . If the cache does not have any (or accurate)estimates for λ or λ ′ , it is desirable to start with a fairly largevalue for α to prevent congesting the uncached path.For the routing phase, the parameter p can be computedbased on (2). However, to prevent the uncached path fromgetting congested, we always take the value p = max(0 . , p ′ ) where p ′ is computed using (2).VII. P ERFORMANCE E VALUATION
In this section, we use simulation to i) demonstrate the im-portance of jointly optimizing caching and routing rather thanoptimizing with respect to just one of these considerations, and ii) demonstrate the efficacy of DCR by showing that its delayperformance is comparable to the optimal algorithm. A. Centralized Solution
To show the need for jointly optimizing caching androuting, we consider a caching system with a congestion-insensitive path to the base station, and evaluate the averagedelay achieved under various caching and routing policies.The policies outlined below are centralized and we considerpolicies which optimize over neither, either or both cachingand routing.
LRU:
We assume that the cache implements the Least-Recently-Used replacement policy. The routing is simple, withusers sending all traffic to the cache (note that the uncachedpath is not utilized here). We use this scenario as a baselinecase for evaluation of the distributed algorithm.
Optimized Caching:
We assume that the cache statically cachesthe most popular files, and that all requests are routed to thecache. Note that the caching policy here corresponds to theoptimal caching policy, while the routing policy is naive.
Optimized Routing:
In this case, the cache replacement policyis LRU. To determine the routing strategy, users determine theexpected delay of requests to the cache assuming that all trafficis routed to the cache. This expectation is calculated by usingthe approximation for determining the hit rate for the differentfiles outlined in [6]. Users route requests for each file alongthat path (cached/uncached) that has a lower expected delayfor that file.
Optimal:
In this case, the cache statically caches the mostpopular content. Users send traffic for the cached content tothe cache and for the remaining files to the uncached path. Asshown earlier this policy yields the optimal (minimum) delay.Figure 1 plots the average delay achieved by the policiesexplained above for different values of the cache size. We as-sume that d h = 1 , d m = 8 and d = 5 time units. We consider5 users generating requests for 1000 files with file popularitieshaving a Zipf distribution with skewness parameter 0.8. Weobserve from the figure that LRU performs poorly for smallcache sizes, with the performance improving as the cache sizeincreases.
Optimized Caching , which optimizes only cachingand not routing, performs better than
LRU , but is not close to
Optimal . Optimized Routing combines a traditional caching policy(LRU) with a greedy routing policy in which each userdetermines apriori what files to route to the cache regardless ofthe actual traffic being routed to the cache by other users. Weobserve that when the cache size is small, the performance of
Optimized Routing is poor compared to
Optimal . As the cachesize increases, the performance of
Optimized Routing improvesand it equals the performance of
Optimal for a cache sizeof 500. The reason for this behavior is that, for small cachesizes
Optimized Routing results in users sending requests forunpopular and relatively popular files through the uncachedpath leaving the cache partially empty. This behavior persistsuntil a cache size of 500 when
Optimized Routing requeststhe most popular files from the cache and provides the sameperformance as
Optimal . Beyond a cache size of 500, thispolicy routes requests for a larger number of files (greater thanthe cache size) to the cache which results in a behavior similarto
LRU . We observe that this zigzag behavior of
OptimizedRouting will hold regardless of the simulation parameters; thenumber 500 is an artifact of the particular parameter values ofthis simulation.In comparison to all the other algorithms, the delay ob-tained from
Optimal is smaller. Our simulations show that tominimize user delay it is of prime importance to optimize bothcaching and routing; optimizing one and not the other can re-sult in suboptimal and often unsatisfactory delay performance.
00 400 600 800 1000123456
Cache size A v e r a g e d e l a y LRUOptimized CachingOptimized RoutingOptimal
Fig. 1. Comparison of the average delay for jointly solved caching androuting problem (Optimal) with partially optimized solutions.
B. Distributed Solution
Having demonstrated the importance of optimizing jointcaching and routing, our next goal is to show that our dis-tributed algorithm DCR achieves delay performance similar to
Optimal . We once again consider a group of 5 users, 1000files, d h = 1 and d m = 8 . The demand for each user followsa Poisson process with aggregate rate λ = 1 / . The initial filepopularities follow a Zipf distribution with skewness parameter0.8.We simulate changes in file popularities that happen withprobability 0.01 at each request arrival. For each change, weselect a random user u and request type f , and update thepopularity q uf as q uf = min(1 , max(0 , q uf + ∆)) where ∆ is uniformly distributed in [ − ∆ max , ∆ max ] , and ∆ max = q uf .We assume d = 5 and µ = 0 . in the congestion-insensitiveand congestion-sensitive cases, respectively.To evaluate the performance of the proposed distributedalgorithm, we compare the delay performance of the Dis-tributed Caching and Routing (DCR) algorithm with two otheralgorithms – the Distributed Caching and Optimized Routing(DCOR) algorithm and Optimal . DCOR consists of a ‘cachingphase’, where the cache estimates the file popularities andcaches the popular files. We assume that users have perfectknowledge of the cache state and route requests greedily basedon whether the content is present in the cache or not.
Optimal is similar to the one described in the previous section ( i.e. ,before every request arrives, the algorithm determines theoptimal set of files to be placed in the cache based on thecurrent popularities and then determines the routing based onthe cached content). Note that DCOR and
Optimal are notimplementable in practice.Figure 2 compares the delay values obtained from theDCR, DCOR and
Optimal algorithms over arrivals for thecongestion-insensitive and congestion-sensitive uncached pathdelay models. For the congestion-insensitive case, we presentdelay values for LRU which is clearly far from
Optimal . Wealso evaluate
LRU for the congestion-sensitive case, but weomit it from the figure as its delay performance is further awayfrom
Optimal .The purpose of exploring the different algorithms is toseparately determine the impact of imperfect caching androuting on the loss in performance. The difference between
Optimal and DCOR depicts the loss in performance as aresult of imperfect caching. We observe that there is negligibledifference between DCOR and
Optimal which indicates thateven our naive method of estimating popularities performswell in practice. The difference between DCR and DCOR is Number of arrivals D e l a y LRUDCRDCOROptimal 0 2 4 6 8 10x 10 Number of arrivals D e l a y DCRDCOROptimal
Fig. 2. Comparing the average delay obtained by the distributed algorithmwith delay achieved by
Optimal and DCOR for congestion-insensitive (left)and congestion-sensitive (right) delay models for the uncached path.
100 300 500 700 900123456
Cache size A v e r a g e d e l a y LRUDCRDCOROptimal 100 300 500 700 90011.522.533.5
Cache size A v e r a g e d e l a y DCRDCOROptimal
Fig. 3. Average delay versus the cache size for congestion-insensitive (left)and congestion-sensitive (right) delay models for the uncached path. primarily due to the imperfect knowledge of the cached contentby the users; it can be seen that as the number of arrivalsincrease, users have a better understanding about the cachedcontent and DCR performs closer to DCOR and
Optimal .Further we also observe that the relative performance of DCRis better for the congestion-sensitive case than the congestion-insensitive case.To get a better sense of expected performance of the DCRalgorithm, we evaluate the average delays achieved by DCRand its benchmarks as a function of the cache size. Figure 3shows the results averaged over 10 runs of the simulation (eachrun consists of arrivals). As expected, the average delaydecreases as the cache size increases. It can be seen that DCRperforms very close to Optimal . The reason DCR deviates fromthe
Optimal for larger cache sizes (compared with the totalnumber of files) is that we restrict the parameter p to 0.9 asdescribed in Section VI. When the cache size is large, a largerportion of the traffic can be satisfied from the cache and it isless likely that the uncached path will be congested. However,in practice we are more interested in cases where the cachesize is small compared to the number of all files.VIII. C ONCLUSION
In this paper, we studied a joint routing and cachingproblem in a hybrid network, consisting of MANET nodesand cellular infrastructure. We modeled the cellular pathas either (i) a congestion-insensitive constant delay path or (ii) a congestion-sensitive path modeled as an M/M/1 queueand demonstrated that it is always optimal to adopt staticcaching based on content popularity. We also showed that itis always optimal to route for cached content to the cache;for the remaining content, requests should be routed to thecellular path in the congestion-insensitive case and shouldbe split between the cellular infrastructure and the cache inthe congestion-sensitive case. We also developed a simpleistributed algorithm for the above problem and illustrated itsperformance via simulation.R
EFERENCES[1] E. Nygren, R. Sitaraman, and J. Sun, “The akamai network: a platformfor high-performance internet application,”
ACM SIGOPS OperatingSystems Review , vol. 44, no. 3, 2010.[2] N. Golrezaei, K. Shanmugam, A. Dimakis, A. Molisch, and G. Caire,“Femtocaching: Wireless video content delivery through distributedcaching helpers,” in
INFOCOM , 2012.[3] K. Poularakis, G. Iosifidis, and L. Tassiulas, “Approximation cachingand routing algorithms for massive mobile data delivery,” in
Globecom ,2013.[4] B. Azimdoost, C. Westphal, and H. Sadjadpour, “On the throughputcapacity of information-centric networks,” in
Teletraffic Congress (ITC),2013 25th International , September 2013, pp. 1–9.[5] Z. Liu, N. Nain, P Niclausse, and D. Towsley, “Static caching of webservers,” in
Multimedia Computing and Networking Conference , 1998.[6] H. Che, Z. Wang, and Y. Tung, “Analysis and design of hierarchicalweb caching systems,” in
INFOCOM , 2001.[7] V. Jacobson, D. Smetters, J. Thornton, M. Plass, N. Briggs, andR. Braynard, “Networking named content,” in
CONEXT , 2009.[8] Y. Li, H. Xie, Y. Wen, and Z. Zhang, “Coordinating in-network cachingin content-centric networks: Model and analysis,” in
ICDCS , 2013.[9] E. Rosensweig and J. Kurose, “Breadcrumbs: efficient, best-effortcontent location in cache networks,” in
IEEE INFOCOM , 2009.[10] W. Chai, D. He, I. Psaras, and G. Pavlou, “Cache less for more ininformation-centric networks,” in
IFIP Networking , 2012.[11] I. Psaras, W. Chai, and G. Pavlou, “Coordinating in-network caching incontent-centric networks: Model and analysis,” in
In ACM SIGCOMMWorkshop on Information-Centric Networking , 2012.[12] V. Sourlas, L. Gkatzikis, P. Flegkas, and L. Tassiulas, “Distributed cachemanagement in information-centric networks,”
IEEE Transactions onNetwork and Service Management, , vol. 10, no. 3, 2013.[13] V. Sourlas, P. Flegkas, and L. Tassiulas, “Cache-aware routing ininformation-centric networks,” in
IFIP/IEEE International Symposiumon Integrated Network Management , 2013.[14] E. Rosensweig, D. Menasche, and J. Kurose, “On the steady-state ofcache networks,” in
IEEE INFOCOM , 2013.[15] I. Good, “The population frequencies of species and the estimation ofpopulation parameters,”
Biometrika , vol. 40, no. 3/4, 1953. A PPENDIX P ROOF OF L EMMA D h − D o = N X i =1 (cid:0) − K X j =1 λ i p ij q ij h j ( d mi − d hi )+ K X j =1 λ i p ij q ij ( d mi − d i ) + X j ∈ Q λ i q ij ( d i − d hi ) (cid:1) = N X i =1 (cid:0) K X j =1 λ i p ij q ij (1 − h j )( d mi − d i )+ X j ∈ Q λ i q ij ( d i − d hi ) − K X j =1 λ i p ij q ij h j ( d i − d hi ) (cid:1) . Clearly, N X i =1 K X j =1 λ i p ij q ij (1 − h j )( d mi − d i ) ≥ and we need to prove that A = N X i =1 X j ∈ Q λ i (cid:0) q ij ( d i − d hi ) − K X j =1 p ij q ij h j ( d i − d hi ) (cid:1) ≥ . We have, A = N X i =1 (cid:0) X j ∈ Q λ i q ij ( d i − d hi ) − K X j =1 λ i p ij q ij h j ( d i − d hi ) (cid:1) ≥ N X i =1 (cid:0) X j ∈ Q λ i q ij ( d i − d hi ) − K X j =1 λ i q ij h j ( d i − d hi ) (cid:1) = X j ∈ Q q j − K X j =1 h j q j ≥ Therefore D h ≥ D oo