Forwarding, Caching and Congestion Control in Named Data Networks

Similar documents
Scaled VIP Algorithms for Joint Dynamic Forwarding and Caching in Named Data Networks

Named Data Networking for 5G Wireless

Scaled VIP Algorithms for Joint Dynamic Forwarding and Caching in Named Data Networks

Scheduling Unsplittable Flows Using Parallel Switches

Course Routing Classification Properties Routing Protocols 1/39

Optimal Routing and Scheduling in Multihop Wireless Renewable Energy Networks

ECE 333: Introduction to Communication Networks Fall 2001

The Capacity of Wireless Networks

AGENT-BASED ROUTING ALGORITHMS ON A LAN

Internet Routing. Shortest-Path Routing. Intra-Domain Routing and Traffic Engineering. Two-Tiered Internet Routing System

CHAPTER 5 PROPAGATION DELAY

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

1264 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 26, NO. 3, JUNE 2018

Routing Basics. What is Routing? Routing Components. Path Determination CHAPTER

Optimal Control of Distributed Computing Networks with Mixed-Cast Traffic Flows

1158 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 18, NO. 4, AUGUST Coding-oblivious routing implies that routing decisions are not made based

Table of Contents. Cisco Introduction to EIGRP

Device-to-Device Networking Meets Cellular via Network Coding

CS174 Lecture 11. Routing in a Parallel Computer

Unit 2 Packet Switching Networks - II

Adaptive Caching Algorithms with Optimality Guarantees for NDN Networks. Stratis Ioannidis and Edmund Yeh

Optimal Cache Allocation for Content-Centric Networking

A Light-Weight Forwarding Plane for Content-Centric Networks

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Routing Protocols in MANETs

Throughput Maximization for Energy Efficient Multi-Node Communications using Actor-Critic Approach

Computation of Multiple Node Disjoint Paths

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

Introduction Multirate Multicast Multirate multicast: non-uniform receiving rates. 100 M bps 10 M bps 100 M bps 500 K bps

Randomized User-Centric Clustering for Cloud Radio Access Network with PHY Caching

Mixture Models and the EM Algorithm

Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks

Scheduling Algorithms to Minimize Session Delays

NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER

Memory Placement in Network Compression: Line and Grid Topologies

The Increase of the Instability of Networks due to Quasi-Static Link Capacities

Throughput-Optimal Broadcast in Wireless Networks with Point-to-Multipoint Transmissions

Parallel Implementation of a Random Search Procedure: An Experimental Study

Finding Significant Items in Data Streams

Routing, Routing Algorithms & Protocols

Sensor Tasking and Control

The Encoding Complexity of Network Coding

Maximizing Network Utilization with Max-Min Fairness in Wireless Sensor Networks

Analysis of Binary Adjustment Algorithms in Fair Heterogeneous Networks

Utility-Based Rate Control in the Internet for Elastic Traffic

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

Congestion Control in Communication Networks

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

arxiv: v3 [cs.ni] 3 May 2017

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad hoc networks

13 Sensor networks Gathering in an adversarial environment

IMPROVING THE DATA COLLECTION RATE IN WIRELESS SENSOR NETWORKS BY USING THE MOBILE RELAYS

Delay Stability of Back-Pressure Policies in the presence of Heavy-Tailed Traffic

A Joint Congestion Control, Routing, and Scheduling Algorithm in Multihop Wireless Networks with Heterogeneous Flows

CS644 Advanced Networks

Degrees of Freedom in Cached Interference Networks with Limited Backhaul

Queuing Delay and Achievable Throughput in Random Access Wireless Ad Hoc Networks

A Tabu Search solution algorithm

Congestion control in TCP

Connection-Level Scheduling in Wireless Networks Using Only MAC-Layer Information

Lecture (08, 09) Routing in Switched Networks

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout

3. Evaluation of Selected Tree and Mesh based Routing Protocols

Course 6. Internetworking Routing 1/33

Heterogeneity Increases Multicast Capacity in Clustered Network

Scan Scheduling Specification and Analysis

A New Combinatorial Design of Coded Distributed Computing

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 8, NO. 2, APRIL Segment-Based Streaming Media Proxy: Modeling and Optimization

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Optimal Channel Selection for Cooperative Spectrum Sensing Using Coordination Game

INTERCONNECTION networks are used in a variety of applications,

RED behavior with different packet sizes

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA

Routing. 4. Mar INF-3190: Switching and Routing

On the Maximum Throughput of A Single Chain Wireless Multi-Hop Path

A Distributed Throughput-Optimal CSMA/CA

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Increase-Decrease Congestion Control for Real-time Streaming: Scalability

Queue Length Stability in Trees Under Slowly Convergent Traffic Using Sequential Maximal Scheduling

EXAM TCP/IP NETWORKING Duration: 3 hours With Solutions

Worst-case Ethernet Network Latency for Shaped Sources

554 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 2, FEBRUARY /$ IEEE

Performance Analysis of WLANs Under Sporadic Traffic

Hop-count Based Forwarding for Seamless Producer Mobility in NDN

Delivery Network on the Internet

Math 5593 Linear Programming Lecture Notes

CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF

Chapter 7 CONCLUSION

Simulation Studies of the Basic Packet Routing Problem

Power Laws in ALOHA Systems

Optimal network flow allocation

Congestion Control In the Network

WIRELESS systems have emerged as a ubiquitous part

Lecture 5: Performance Analysis I

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

C E. Traffic Handling and Network Capacity in Multi-Service Networks. Towela P.R. Nyirenda-Jere Victor S. Frost Nail Akar

Lightweight caching strategy for wireless content delivery networks

Broadcast Repair for Wireless Distributed Storage Systems

Transcription:

Forwarding, Caching and Congestion Control in Named Data Networs Edmund Yeh Northeastern University eyeh@ece.neu.edu Ran Liu Northeastern University liu.ran@husy.neu.edu Tracey Ho Speedy Pacets Inc. tracey@speedypacets.com Michael Burd Honeywell FM&T burdmi@gmail.com Ying Cui Shanghai Jiao Tong University cuiying@sjtu.edu.cn Dere Leong Inst. for Infocomm Research dleong@ir.a-star.edu.sg arxiv:30.5569v3 [cs.ni] 6 Feb 06 Abstract Emerging information-centric networing architectures see to optimally utilize both bandwidth and storage for efficient content distribution. This highlights the need for joint design of traffic engineering and caching strategies, in order to optimize networ performance in view of both current traffic loads and future traffic demands. We present a systematic framewor for joint dynamic interest request forwarding and dynamic cache placement and eviction, within the context of the Named Data Networing NDN architecture. The framewor employs a virtual control plane which operates on the user demand rate for data objects in the networ, and an actual plane which handles Interest Pacets and Data Pacets. We develop distributed algorithms within the virtual plane to achieve networ load balancing through dynamic forwarding and caching, thereby maximizing the user demand rate that the NDN networ can satisfy. Next, we show that congestion control can be optimally combined with forwarding and caching within this framewor to maximize user utilities subject to networ stability. Numerical experiments within a number of networ settings demonstrate the superior performance of the resulting algorithms for the actual plane in terms of high user utilities, low user delay, and high rate of cache hits. I. INTRODUCTION Emerging information-centric networing ICN architectures are currently changing the landscape of networ research. In particular, Named data networing NDN [], or contentcentric networing CCN [], is a proposed networ architecture for the Internet that replaces the traditional clientserver model of communications with one based on the identity of data or content. This abstraction more accurately reflects how the Internet is primarily used today: instead of being concerned about communicating with specific nodes, end users are mainly interested in obtaining the data they want. The NDN architecture offers a number of important advantages in decreasing networ congestion and delays, and in enhancing networ performance in dynamic, intermittent, and unreliable mobile wireless environments []. Content delivery in NDN is accomplished using two types of pacets, and specific data structures in nodes. Communication is initiated by the data consumer or requester. To receive data, the requester sends out an Interest Pacet, which carries the hierarchically structured name of the desired data e.g. /northeastern/videos/widgeta.mpg/. The Interest Pacet is forwarded by looing up the data name in the Forwarding Information Base FIB at each router the Interest Pacet traverses, along routes determined by a name-based routing protocol. The FIB tells the router to which neighbor nodes to transmit each Interest Pacet. Each router maintains a Pending Interest Table PIT, which records all Interest Pacets currently awaiting matching data. Each PIT entry contains the name of the interest and the set of node interfaces from which the Interest Pacets for the same name arrived. When multiple interests for the same name are received, only the first is sent toward the data source. When a node receives an interest that it can fulfill with matching data, it creates a Data Pacet containing the data name, the data content, together with a signature by the producer s ey. The Data Pacet follows in reverse the path taen by the corresponding Interest Pacet, as recorded by the PIT state at each router traversed. When the Data Pacet arrives at a router, the router locates the matching PIT entry, transmits the data on all interfaces listed in the PIT entry, and then removes the PIT entry. The router may optionally cache a copy of the received Data Pacet in its local Content Store, in order to satisfy possible future requests. Consequently, a request for a data object can be fulfilled not only by the content source but also by any node with a copy of that object in its cache []. Assuming the prevalence of caches, the usual approaches for forwarding and caching may no longer be effective for ICN architectures such as NDN. Instead, these architectures see to optimally utilize both bandwidth and storage for efficient

content distribution. This highlights the need for joint design of traffic engineering and caching strategies, in order to optimize networ performance in view of both current traffic loads and future traffic demands. Unlie many existing wors on centralized algorithms for static caching, our goal is to develop distributed, dynamic algorithms that can address caching and forwarding under changing content, user demands, and networ conditions. To address this fundamental problem, we introduce the framewor for the design of high performing NDN networs. The framewor relies on the new metric of Virtual Interest Pacets s, which captures the measured demand for the respective data objects in the networ. The central idea of the framewor is to employ a virtual control plane which operates on s, and an actual plane which handles Interest Pacets and Data Pacets. Within the virtual plane, we develop distributed control algorithms operating on s, aimed at yielding desirable performance in terms of networ metrics of concern. The flow rates and queue lengths of the s resulting from the control algorithm in the virtual plane are then used to specify the forwarding and caching policies in the actual plane. The general framewor allows for a large class of control and optimization algorithms operating on s in the virtual plane, as well as a large class of mappings which use the flow rates and queue lengths from the virtual plane to specify forwarding and caching in the actual plane. Thus, the framewor presents a powerful paradigm for designing efficient NDN-based networs with different properties and trade-offs. In order to illustrate the utility of the framewor, we present two particular instantiations of the framewor. The first instantiation consists of a distributed forwarding and caching policy in the virtual plane which achieves effective load balancing and adaptively maximizes the throughput of s, thereby maximizing the user demand rate for data objects satisfied by the NDN networ. The second instantiation consists of distributed algorithms which achieves not only load balancing but also stable caching configurations. Next, we show that congestion control can be naturally combined with forwarding and caching within the framewor to maximize user utilities subject to networ stability. Experimental results show that the latter set of algorithms have superior performance in terms of high user utilities, low user delay and high rate of cache hits, relative to several baseline congestion control, forwarding and caching policies. We begin with a formal description of the networ model in Section II, and discuss the framewor in Section III. We present two instantiations of the framewor in Sections IV and V. Congestion control is discussed in VI. The performance of the proposed forwarding and caching policies is numerically evaluated in comparison with several baseline routing and caching policies using simulations in Section VII. Although there is now a rapidly growing literature in information centric networing, the problem of optimal joint forwarding and caching for content-oriented networs remains open. In [3], a potential-based forwarding scheme with random caching is proposed for ICNs. A simple heuristically defined measure called potential value is introduced for each node. A content source or caching node has the lowest potential and the potential value of a node increases with its distance to the content source or caching node. Potential-based forwarding guides Interest Pacets from the requester toward the corresponding content source or caching node. As the Data Pacet travels on the reverse path, one node on the path is randomly selected as a new caching node. The results in [3] are heuristic in the sense that it remains unnown how to guarantee good performance by choosing proper potential values. In [4], the authors consider one-hop routing and caching in a content distribution networ CDN setting. Throughput-optimal one-hop routing and caching are proposed to support the maximum number of requests. Given the simple switch topology, however, routing is reduced to cache node selection. Throughput-optimal caching and routing in multi-hop networs remains an open problem. In [5], the authors consider single-path routing and caching to minimize lin utilization for a general multi-hop contentoriented networ, using primal-dual decomposition within a flow model. Here, it is assumed that the path between any two nodes is predetermined. Thus, routing design reduces to cache node selection [5]. The benefits of selective caching based on the concept of betweenness centrality, relative to ubiquitous caching, are shown in [6]. Cooperative caching within ICNs has been investigated in [7], where an age-based caching scheme is proposed. These proposed cooperative caching schemes have been heuristically designed, and have not been jointly optimized with forwarding strategies. Finally, adaptive multipath forwarding in NDN has been examined in [8], but has not been jointly optimized with caching strategies. II. NETWORK MODEL Consider a connected multi-hop wireline networ modeled by a directed graph G = N, L, where N and L denote the sets of N nodes and L directed lins, respectively. Assume that b, a L whenever a, b L. Let C ab > 0 be the transmission capacity in bits/second of lin a, b L. Let L n be the cache size in bits at node n N L n can be zero. Assume that content in the networ are identified as data objects, with the object identifiers determined by an appropriate level within the hierarchical naming structure. These identifiers may arise naturally from the application, and are determined in part by the amount of control state that the networ is able to maintain. Each data object e.g. /northeastern/videos/widgeta.mpg

3 consists of a sequence of data chuns e.g. /northeastern/videos/widgeta.mpg/. We assume that any data object is demarcated by a starting chun and an ending chun. Content delivery in NDN operates at the level of data chuns. That is, each Interest Pacet requests a particular data chun, and a matching Data Pacet consists of the requested data chun, the data chun name, and a signature. A request for a data object consists of a sequence of Interest Pacets which request all the data chuns of the object, where the sequence starts with the Interest Pacet requesting the starting chun, and ends with the Interest Pacet requesting the ending chun. In the framewor which we introduce below, distributed control algorithms are developed in a virtual control plane operating at the data object level, while forwarding of Interest Pacets and caching of Data Pacets in the actual plane operate at the data chun level. We will operate our forwarding and caching algorithms over a set K of K data objects in the networ. As mentioned above, K may be determined by the amount of control state that the networ is able to maintain. Since the data object popularity distribution evolves at a relatively slow time scale compared to the caching and forwarding, one approach is to let K include the set of the most popular data objects in the networ, which is typically responsible for most of the networ congestion. For simplicity, we assume that all data objects have the same size z in bits. The results in the paper can be extended to the more general case where object sizes differ. We consider the scenario where L n < Kz for all n N. Thus, no node can cache all data objects. For each data object K, assume that there is a unique node src N which serves as the content source for the object. Interest Pacets for chuns of a given data object can enter the networ at any node, and exit the networ upon being satisfied by a matching Data Pacet at the content source for the object, or at the nodes which decide to cache the object. For convenience, we assume that the content sources are fixed, while the caching points may vary in time. Assume that routing topology discovery and data reachability has already been accomplished in the networ, so that the FIBs have been populated for the various data objects. Upon the arrival of an Interest Pacet at an NDN node, the following sequence of events happen. First, the node checs its Content Store CS to see if the requested data object chun is locally cached. If it is, then the Interest Pacet is satisfied locally, and a Data Pacet containing a copy of the data object chun is sent on the reverse path. If not, the node checs its PIT to see if an Interest Pacet requesting the same data object chun has The data chuns in between the starting and ending chuns can be requested in any order. The less popular data objects not in K may be distributed using simple techniques such as shortest-path forwarding with little or no caching. Fig.. framewor. IP DP stands for Interest Pacet Data Pacet. already been forwarded. If so, the new Interest Pacet interest, for short is suppressed while the incoming interface associated with the new interest is added to the PIT. Otherwise, the node checs the FIB to see to what nodes the interest can be forwarded, and chooses a subset of those nodes for forwarding the interest. Next, we focus on Data Pacets. Upon receiving a Data Pacet, a node needs to determine whether to mae a copy of the Data Pacet and cache the copy or not. Clearly, policies for the forwarding of Interest Pacets and the caching of Data Pacets are of central importance in the NDN architecture. Thus far, the design of the strategy layer for NDN remains largely unspecified. Moreover, in the current CCN implementation, a Data Pacet is cached at every node on the reverse path. This, however, may not be possible or desirable when cache space is limited. We shall focus on the problem of finding dynamic forwarding and caching policies which exhibit superior performance in terms of metrics such as the total number of data object requests satisfied i.e., all corresponding Data Pacets are received by the requesting node, the delay in satisfying Interest Pacets, and cache hit rates. We propose a framewor to solve this problem, as described in the next section. III. VIRTUAL INTEREST PACKETS AND THE FRAMEWORK The framewor for joint dynamic forwarding and caching relies on the essential new metric of virtual interest pacets s, which are generated as follows. As illustrated in Figure, for each request for data object K entering the networ, a corresponding for object K is generated. 3 The s capture the measured demand for the respective data objects in the networ, and represent content popularity which is empirically measured, rather than being given a priori. Specifically, the count for a data object in a given part of the networ represents the local level of interest in the data object, as determined by networ topology and user demand. The framewor employs a virtual control plane which operates on s at the data object level, and an actual 3 More generally, s can be generated at a rate proportional to that of the corresponding data object requests, which can in some cases improve the convergence speed of the proposed algorithms.

4 plane which handles Interest Pacets and Data Pacets at the data chun level. This design has two motivations. First, this approach reduces the implementation complexity of the algorithm in the virtual plane considerably as compared with operating on data chuns in the virtual plane. Second, as shown in Section 4. below, this approach leads to a desirable implementation which forwards all the Interest Pacets for the same ongoing request for a data object on the same path, and which caches the entire data object consisting of all data chuns at a caching node as opposed to caching different chuns of the same data object at different nodes. At the same time, the approach also allows Interest Pacets for nonoverlapping requests for the same data object to be forwarded on different paths, thus maing multi-path forwarding of object requests possible. 4 Within the virtual plane, we develop distributed control algorithms operating on s, aimed at yielding desirable performance in terms of networ metrics of concern. The flow rates and queue lengths of the s resulting from the control algorithm in the virtual plane are then used to specify the forwarding and caching policies in the actual plane see Figure. A ey insight here is that control algorithms operating in the virtual plane can tae advantage of local information on networ demand as represented by the counts, which is unavailable in the actual plane due to interest collapsing and suppression. In order to illustrate the utility of the framewor, we present two particular instantiations of the framewor in Sections IV and V. For both instantiations, the following hold. First, the count is used as the common metric for enabling both the distributed forwarding and distributed caching algorithms in the virtual and actual control planes. Second, the forwarding strategy in the virtual plane achieves load balancing through the application of the bacpressure algorithm [9] to the queue state. Finally, one caching algorithm determines the caching locations and cache replacement policy for both the virtual and actual planes. The two instantiations differ in the manner in which they use the count to determine caching actions. A. Dynamics We now specify the dynamics of the s within the virtual plane. Consider time slots of length without loss of generality indexed by t =,,.... Specifically, time slot t refers to the time interval [t, t +. Within the virtual plane, each node n N maintains a separate queue for each data 4 In principle, the algorithm in the virtual plane can be applied at the chun level corresponding to the case where there is only one chun in each data object. In this case, the virtual and actual planes operate at the same granularity. On the other hand, the complexity of implementing the algorithm in the virtual plane would be much larger. object K. Note that no data is contained in these s. Thus, the queue size for each node n and data object at the beginning of slot t i.e., at time t is represented by a counter Vn t. 5 Initially, all counters are set to 0, i.e., Vn = 0. As s are created along with data object requests, the counters for the corresponding data object are incremented accordingly at the entry nodes. After being forwarded through the networ in the virtual plane, the s for object are removed at the content source src, and at nodes that have cached object. That is, the content source and the caching nodes are the sins for the s. Physically, the count can be interpreted as a potential. For any data object, there is a downward gradient from entry points of the data object requests to the content source and caching nodes. An exogenous request for data object is considered to have arrived at node n if the Interest Pacet requesting the starting chun of data object has arrived at node n. Let A nt be the number of exogenous data object request arrivals at node n for object during slot t i.e., over the time interval [t, t +. 6 For every arriving request for data object at node n, a corresponding for object is generated at n Vn t incremented by. 7 The long-term exogenous arrival rate at node n for object is λ t n lim t t τ= A nτ. Let µ ab t 0 be the allocated transmission rate of s for data object over lin a, b during time slot t. Note that at each time t and for each object, a single message between node a and node b can summarize all the transmissions during that time slot. In the virtual plane, we assume that at each time t, each node n N can gain access to any data object K for which there is interest at n, and potentially cache the object locally. Let s nt {0, } represent the caching state for object at node n during slot t, where s nt = if object is cached at node n during slot t, and s nt = 0 otherwise. Now note that even if s nt =, the content store at node n can satisfy only a limited number of s during one time slot. This is because there is a maximum rate r n in objects per slot at which node n can produce copies of cached object. 8 The time evolution of the count at node n for object is as follows: 5 We assume that s can be quantified as a real number. This is reasonable when the counts are large. 6 We thin of a node n as a point of aggregation which combines many networ users. While a single user may request a given data object only once, an aggregation point is liely to submit many requests for a given data object over time. 7 For the general case where object sizes differ, V n t is incremented by the object size z for every arriving request for object. 8 The maximum rate r n may reflect the I/O rate of the storage dis. Since it is assumed that all data objects have the same length, it is also assumed that the maximum rate r n is the same for all data objects.

5 Forwarding: For each data object K and each lin a, b L, choose Vn t + { Vn t + µ nbt + A nt + + µ C ba /z, Wab abt = t > 0 and = ab t µ ant r n s nt 0, otherwise where Wabt Va t Vb t, 3 where x + maxx, 0. Furthermore, V n t = 0 for all t if n = src. From, it can be seen that the s for data object at node n at the beginning of slot t are transmitted during slot t at the rate µ nb t. The remaining s V n t µ nb t+, as well as the exogenous and endogenous arrivals during slot t, are reduced by r n at the end of slot t if object is cached at node n in slot t s nt =. The s still remaining are then transmitted during the next slot t +. Note that is an inequality because the actual number of s for object arriving to node n during slot t may be less than µ ant if the neighboring nodes have little or no s of object to transmit. IV. THROUGHPUT OPTIMAL CONTROL In this section, we describe an instantiation of the framewor in which the count is used as a common metric for enabling both the distributed forwarding and distributed caching algorithms in the virtual and actual control planes. The forwarding strategy within the virtual plane is given by the application of the bacpressure algorithm [9] to the queue state. Note that while the bacpressure algorithm has been used for routing in conventional source-destination-based networs, its use for forwarding in ICNs appears for the first time in this paper. Furthermore, bacpressure forwarding is being used in the virtual plane rather than in the actual plane, where interest collapsing and suppression mae the application of the algorithm impractical. The caching strategy is given by the solution of a max-weight problem involving the queue length. The flow rates and queue lengths are then used to specify forwarding and caching strategies in the actual plane, which handles Interest Pacets and Data Pacets. We show that the joint distributed forwarding and caching strategy adaptively maximizes the throughput of s, thereby maximizing the user demand rate for data objects satisfied by the networ. We now describe the joint forwarding and caching algorithm for s in the virtual control plane. Algorithm. At the beginning of each time slot t, observe the counts Vn t K,n N and perform forwarding and caching in the virtual plane as follows. abt arg W abt max {:a,b L } W ab t ab t +. W abt, Here, L is the set of lins which are allowed to transmit the s of object, Wab t is the bacpressure weight of object on lin a, b at time t, and ab t is the data object which maximizes the bacpressure weight on lin a, b at time t. Caching: At each node n N, choose {s nt} to maximize K V n ts n subject to K s n L n /z 4 Based on the forwarding and caching in and 4, the count is updated according to. At each time t and for each lin a, b, bacpressure-based forwarding algorithm allocates the entire normalized reverse lin capacity C ba /z to transmit the s for the data object ab t which maximizes the queue difference W ab t in 3. Bacpressure forwarding maximally balances out the counts, and therefore the demand for data objects in the networ, thereby minimizing the probability of demand building up in any one part of the networ and causing congestion. The caching strategy is given by the optimal solution to the max-weight napsac problem in 4, which can be solved optimally in a greedy manner as follows. For each n N, let,,..., K be a permutation of,,..., K such that t Vn each n N, choose V n t V K n s nt = t. Let i n = L n /z. Then for {, {,, in } 0, otherwise Thus, the objects with the highest counts the highest local popularity are cached. It is important to note that both the bacpressure-based forwarding algorithm and the max-weight caching algorithm are distributed. To implement the forwarding algorithm, each node must exchange its queue state with only its neighbors. The implementation of the caching algorithm is local once the updated queue state has been obtained. To characterize the implementation complexity of Algorithm, we note that both the computational and communication complexity of the bac pressure forwarding algorithm per 5

6 time slot is ON K, where the bound can be improved to ONDK if D is the maximum node degree in the networ. Assuming fixed cache sizes, the computational complexity of the caching algorithm per time slot can be found to be ONK. In the following section, we show that the forwarding and caching strategy described in Algorithm is throughput optimal within the virtual plane, in the sense of maximizing the throughput of s in the networ G = N, L with appropriate transmission rate constraints. A. Maximizing Throughput We now show that Algorithm adaptively maximizes the throughput of s in the networ G = N, L with appropriate transmission rate constraints. In the following, we assume that i the arrival processes {A nt; t =,,...} are mutually independent with respect to n and ; ii for all n N and K, {A nt; t =,,...} are i.i.d. with respect to t; and iii for all n and, A nt A n,max for all t. To determine the constraints on the transmission rates µ ab t, we note that Data Pacets for the requested data object must travel on the reverse path taen by the Interest Pacets. Thus, in determining the transmission of the s, we tae into account the lin capacities on the reverse path as follows: µ abt C ba /z, for all a, b L 6 K µ abt = 0, for all a, b L 7 where C ba is the capacity of reverse lin b, a. Stability Region: To present the throughput optimality argument, we first define the stability region. The queue at node n is stable if lim sup t t t [V n τ>ξ]dτ 0 as ξ, τ= where { } is the indicator function. The networ stability region Λ is the closure of the set of all arrival rates λ n K,n N for which there exists some feasible joint forwarding and caching policy which can guarantee that all queues are stable. By feasible, we mean that at each time t, the policy specifies a forwarding rate vector µ ab t K,a,b L satisfying 6-7, and a caching vector s nt K,n N satisfying the cache size limits L n n N. The following theorem characterizes the stability region in the virtual plane or equivalently the IP stability region in the actual plane when there is no collapsing or suppression at the PITs, under the assumption that at each time t, each node n N can gain access to any data object K and cache the object locally. To our nowledge, Theorem is the first instance where the effect of caching has been fully incorporated into the stability region of a multi-hop networ. Theorem Stability Region. The stability region of the networ G = N, L with lin capacity constraints 6-7, and with queue evolution, is the set Λ consisting of all arrival rates λ n K,n N such that there exist flow variables fab K,a,b L and storage variables β n,i,l n N ;i=,, K l ; l=0,,i satisfying n L n/z fab 0, fnn = 0, fsrcn = 0, a, b, n N, K 8 fab = 0, a, b N, K, a, b L 9 K 0 β n,i,l, i =,,, l = 0,, i n, n N l 0 λ n fnb i n K l fan + r n β n,i,l [ B n,i,l ], l=0 i= n N, K, n src fab C ba /z, a, b L K i n K l β n,i,l =, n N 3 l=0 i= Here, B n,i,l denotes the caching set consisting of the i-th combination of l data objects out of K data objects at node n, where i =,, K l, l = 0,, in L n /z. Proof: Please refer to Appendix A. To interpret Theorem, note that the flow variable fab represents the long-term flow rate for data object over lin a, b. The storage variable β n,i,l represents the long-term fraction of time that the set B n,i,l the i-th combination of l data objects out of K data objects is cached at node n. Inequality states that the exogenous arrival rate for data object at node n is upper bounded by the total long-term outgoing flow rate minus the total endogenous long-term incoming flow rate, plus the long-term flow rate which is absorbed by all possible caching sets containing data object at node n, weighted by the fraction of time each caching set is used. Throughput Optimality: By definition, if the arrival rates λ = λ n K,n N intλ, then all queues can be stabilized. In general, however, this may require nowing the value of λ. In reality, λ can be learned only over time, and may be time-varying. Moreover, stabilizing the networ given an arbitrary arrival rate in the interior of Λ may require time sharing among multiple forwarding and caching policies. We now show that the joint forwarding and caching policy in Algorithm adaptively stabilizes all queues in the networ for any λ intλ, without nowing λ. Thus, the policy is throughput optimal, in the sense of adaptively maximizing the

7 throughput, and therefore the user demand rate satisfied by the networ. Theorem Throughput Optimality. If there exists ɛ = ɛ n 0 such that λ + ɛ Λ, then the networ of queues under Algorithm satisfies lim sup t where B N r n,max + µ out t t τ= E[V n τ] NB ɛ n N µ out n,max + A n,max + µ in n,maxr n,max, ɛ min ɛ n, µ in 4 n,max + n,max C an/z, µ out n,max C nb/z, A n,max K A n,max, and r n,max = Kr n. Proof: Please refer to [0]. The forwarding and caching policy in Algorithm achieves throughput optimality in the virtual plane by exploiting both the bandwidth and storage resources of the networ to maximally balance out the load or the demand for data objects in the networ, thereby preventing the buildup of congestion. Equivalently, Algorithm is throughput optimal in the actual plane when Interest Pacets are not collapsed or suppressed. Note that Theorem can be seen as the multi-hop generalization of the throughput optimal result in [4]. B. Forwarding and Caching in the Actual Plane We now focus on the development of forwarding and caching policies for the actual plane, based on the throughput optimal policies of Algorithm for the virtual plane. Forwarding and caching in the actual plane tae advantage of the exploration in the virtual plane to forward Interest Pacets on profitable routes and cache Data Pacets at profitable node locations. Forwarding of Interest Pacets: The forwarding of Interest Pacets in the actual plane follows the pattern established by the s under Algorithm in the virtual plane. For a given window size T, let ν abt = t ν T abt 5 t =t T + be the average number of s for object transmitted over lin a, b over a sliding window of size T under Algorithm prior to time slot t. 9 Forwarding: At any node n N, Interest Pacets for all data objects share one queue and are served on a First-Come- First-Serve basis. Suppose that the head-of-the-queue Interest Pacet at node n at time t is an interest for the starting chun 9 Note that the number νab t of s for object transmitted over lin a, b during time slot t may not be the same as the allocated transmission rate µ ab t. ν ab t may be less than µ ab t if there are few s waiting to be transmitted. of data object. If i node n has not yet received a request for data object, or if the last type- data chun in the last Data Pacet received at node n prior to t is the ending chun of object, and if ii there is no PIT entry at node n for any chun of data object, then forward the Interest Pacet to node b nt arg max {b:n,b L } ν nbt. 6 That is, the Interest Pacet is forwarded on the lin with the maximum average object- flow rate over a sliding window of size T prior to t, under Algorithm. This latter lin is a profitable lin for forwarding the Interest Pacet at time slot t, from the standpoint of reducing delays and congestion. If either condition i or ii does not hold, then forward the Interest Pacet on the lin used by node n to forward the most recent Interest Pacet for a chun of object. 0 If the head-of-the-queue Interest Pacet at node n at time t is an interest for a chun of data object which is not the starting chun, then forward the Interest Pacet on the lin used by node n to forward the most recent Interest Pacet for a chun of object. The above forwarding algorithm ensures that a new request for data object which does not overlap with any ongoing request for object at time t is forwarded on the lin with the maximum average object- flow rate over a sliding window of size T prior to t. At the same time, the algorithm ensures that an ongoing request for data object eeps the same outgoing lin from node n. This ensures that in the actual plane, all the Interest Pacets for an ongoing request for data object are forwarded on the same path toward a caching point or content source for data object. As a direct result, the Data Pacets for all chuns for the same ongoing request for data object tae the same reverse path through the networ. Note that the Interest Pacets for non-overlapping requests for data object can still be forwarded on different paths, since the quantity b nt can vary with t. Thus, the forwarding of data object requests is inherently multi-path in nature. It can be seen that the computational complexity per time slot of both the averaging operation in 5 and the lin selection operation in 6 is ON K. Thus, the complexity of forwarding per time slot in the actual plane is ON K. Caching of Data Pacets: As mentioned in Section III, within the instantiations of the framewor we consider, the caching algorithm in the actual plane coincides with the caching algorithm in the virtual plane. Thus, in the current context, the caching algorithm for the actual plane is the same 0 The router nodes need not now the names of the starting chun and ending chun beforehand. These names can be learned as the routers forward Interest Pacets and receive Data Pacets for the popular data objects. Before the names of the starting and ending chuns are learned, Interest Pacets for the data object can be forwarded using a simple technique such as the shortest path algorithm.

8 as that described in 5. Thus, at each time slot t, the data objects with the highest counts highest local popularity are cached locally. In attempting to implement the caching algorithm in 5, however, we encounter a problem. Since the count of a data object is decremented by r n immediately after the caching of the object at node n, the strategy in 5 exhibits oscillatory caching behavior, whereby data objects which are cached are shortly after removed from the cache again due to the counts of other data objects now being larger. Thus, even though Algorithm is throughput optimal in the virtual plane, its mapping to the actual plane leads to policies which are difficult to implement in practice. In the next section, we demonstrate another instantiation of the framewor yielding a forwarding and caching policy for the actual plane, which has more stable caching behavior. V. STABLE CACHING ALGORITHM In this section, we describe a practical algorithm, called Algorithm, that loos for a stable solution in which the cache contents do not cycle in steady-state. Although Algorithm is not theoretically optimal in the virtual plane, we show that it leads to significant performance gains in simulation experiments. A. Forwarding of Interest Pacets The forwarding algorithm in the virtual plane for Algorithm coincides with the bacpressure-based forwarding scheme described in -3 for Algorithm. The forwarding of Interest Pacets in the actual plane for Algorithm coincides with the forwarding scheme described in 6. That is, all the Interest Pacets for a particular request for a given data object are forwarded on the lin with the maximum average flow rate over a sliding window of size T prior to the arrival time of the Interest Pacet for the first chun of the data object. B. Caching of Data Pacets The caching decisions are based on the flow in the virtual plane. Suppose that at time slot t, node n receives the Data Pacet containing the first chun of data object new which is not currently cached at node n. If there is sufficient unused space in the cache of node n to accommodate the Data Pacets of all chuns of object new, then node n proceeds to cache the Data Pacet containing the first chun of data object new as well as the Data Pacets containing all subsequent chuns for data object new which, by the forwarding algorithm in For practical implementation in the actual plane, we cannot assume that at each time, each node can gain access to the data object with the highest local popularity for caching. Instead, one can use a scheme similar to that discussed in Section V-B, based on comparing the count of the data object corresponding to a Data Pacet received at a given node to the counts of the data objects currently cached at the node. Section IV-B, all tae the same reverse path through node n. That is, the entire data object is cached at node n. Otherwise, the node compares the cache scores for new and the currently cached objects, as follows. For a given window size T, let the cache score for object at node n at time t be CSnt = t ν T ant = ν ant, t =t T + a,n L a,n L 7 i.e., the average number of s for object received by node n over a sliding window of size T prior to time slot t. Let K n,old be the set of objects that are currently cached at node n. Assuming that all data objects are of equal size, let min K n,old be a current cached object with the smallest cache score. If new has a lower cache score than min, then object min consisting of all chuns is evicted and replaced with object new. Otherwise, the cache is unchanged. If objects have different sizes, the optimal set of objects is chosen to maximize the total cache score under the cache space constraint. This is a napsac problem for which low complexity heuristics exist. At each time t, the count at node n for object is decreased by r n s nt due to the caching at node n. This has the effect of attracting the flow of s for each object K n,new, where K n,new denotes the new set of cached objects, to node n. The Data Pacets for data objects evicted from the cache are potentially cached more efficiently elsewhere where the demand for the evicted data object is relatively bigger. This is realized as follows: before the data object is evicted, s and Interest Pacets flow toward the caching point as it is a sin for the object. After eviction, the count would begin building up since the s would not exit at the caching point. As the s build further, the bacpressure load-balancing forwarding policy would divert them away from the current caching point to other parts of the networ. We now find the caching complexity for Algorithm. Note that the complexity of calculating the cache scores per time slot in 7 is ON K. Due to lin capacity constraints, the number of new data objects which arrive at a given node in a time slot is upper bounded by a constant. Thus, for fixed cache sizes, the total computational complexity for the cache replacement operation per time slot is ON. In sum, the caching complexity for Algorithm per time slot is ON K. VI. CONGESTION CONTROL Even with optimal forwarding and caching, excessively large request rates can overwhelm a content-centric networ with limited resources. Developing effective, practical, and fair congestion control algorithms for content-centric networs is a new and important challenge. The framewor can effectively

9 Fig.. Networ Topologies address this challenge by optimally combining congestion control with forwarding and caching. Note that there is a downward gradient from entry points of the object requests to the content source and caching nodes. Thus, a high count at the request entry point provides a natural signal for congestion control. Based on the approach in [], we develop a scheme where newly arriving Interest Pacets equivalently s first enter transport-layer storage reservoirs before being admitted to networ-layer queues by a congestion control algorithm. For each object and entry node n, associate a non-decreasing and concave utility function gn with s admitted into the networ layer. When exogenous arrival rates are outside the stability region Λ, the goal is to support a portion of the s which maximizes the sum of utilities over all and n while ensuring networ-layer stability. We present a distributed, joint congestion control, forwarding, and caching algorithm which adaptively and dynamically uses networ bandwidth and storage resources to maximize the aggregate utility of admitted request rates subject to networ-layer stability, for all exogenous arrival rates inside or outside the stability region, even without nowledge of the arrival rates. The algorithm also yields a characteristic tradeoff between the attained aggregate utility and the overall networ delay. Note that various fairness notions can be reflected via appropriate choice of the utility functions. A. Transport Layer and Networ Layer Dynamics Let Qn,max and Qn t denote the transport layer buffer size and the count for object at node n at the beginning of slot t, respectively. Qn,max can be infinite or finite possibly zero3. Let αn t 0 denote the amount of s admitted to the networ layer queue of object at node n from the transport layer queue at slot t. We assume αn t is a positive constant which limits the, where αn,max αn,max burstiness of the admitted s to the networ layer. We have the following time evolutions of the transport and networ layer counts: n o + Qn t + = min Qn t αn t + An t, Qn,max 8 Vn t + Vn t +!+ X µnb t + αn t + X µan t rn sn t 9 B. Congestion Control Algorithm The goal of the congestion control is to support a portion of the s which maximizes the sum of utilities when λ / Λ. Let gn be the utility function associated with the s into 3 When Qn,max = 0, Qn t = 0 for all t.

0 the networ layer for object at node n. Assume gn is non-decreasing, concave, continuously differentiable and nonnegative. Define a θ-optimal admitted rate as follows: α θ = arg max α g n α n 0 s.t. α + θ Λ 0 α λ where α θ = α n θ, α = α n and 0 θ = θ n Λ. The constraint in ensures that the admitted rate to the networ layer is bounded away from the boundary of the networ stability region by θ. Due to the non-decreasing property of the utility functions, the maximum sum utility over all θ is achieved at α 0 when θ = 0. In the following, we develop a joint congestion control, forwarding and caching algorithm that yields a throughput vector which can be arbitrarily close to the optimal solution α 0. We introduce auxiliary variables γ nt and the virtual queues Y n t for all n N and K. 4 Algorithm 3. Initialize the virtual count Yn 0 = 0 for all n N and K. At the beginning of each time slot t, observe the networ layer counts Vn t K,n N and virtual counts Yn t K,n N, and performs the following congestion control, forwarding and caching in the virtual plane as follows. Congestion Control: For each node n and object, choose the admitted count at slot t, which also serves as the output rate of the corresponding virtual queue: { αnt min { Q = nt, αn,max}, Y n t > Vn t 0, otherwise Then, choose the auxiliary variable, which serves as the input rate to the corresponding virtual queue: γ nt = arg max γ s.t. W g nγ Y n tγ 3 0 γ α n,max where W > 0 is a control parameter which affects the utilitydelay tradeoff of the algorithm. Based on the chosen α nt and γ nt, the transport layer count is updated according to 8 and the virtual count is updated according to: Y n t + = Y n t α nt + + γ n t 4 Forwarding and Caching: Same as Algorithm. The networ layer count is updated according to 9. 4 Note that the congestion control part of Algorithm 3 is the same as that in the traditional joint congestion control and DBP algorithm in [, page 90]. The difference lies in the forwarding and caching part. We describe the congestion control part here for the purpose of completeness. C. Utility-Delay Tradeoff We now show that for any control parameter W > 0, the joint congestion control, forwarding and caching policy in Algorithm 3 adaptively stabilizes all queues in the networ G = N, L for any λ intλ, without nowing λ. Algorithm 3 yields a throughput vector which can be arbitrarily close to the optimal solution α 0 by letting W. Similarly, in the following, we assume that the arrival processes satisfy i for all n N and K, {A nt; t =,,...} are i.i.d. with respect to t; ii for all n and, A nt A n,max for all t. Theorem 3 Utility-Delay Tradeoff of Alg. 3. For an arbitrary arrival rate λ and for any control parameter W > 0, the networ of queues under Algorithm 3 satisfies lim sup t lim inf t ˆB N ˆɛ t sup t τ= n N E[V n τ] N ˆB + W G max ˆɛ gn α n t g c n α n 0 N ˆB W µ out n,max + α n,max + µ in n,max + r n,max + µ out { } min ɛ n {ɛ:ɛ Λ} n,maxr n,max 5 6 7 8 with α n,max K α n,max, G max g n α n,max, α n t t t τ= E[α nτ]. Proof: Please refer to Appendix C. VII. EXPERIMENTAL EVALUATION This section presents the experimental evaluation of the proposed Algorithms. Experimental scenarios are carried on six networ topologies: the Abilene Topology 9 nodes, the GEANT Topology nodes, the Service Networ Topology 8 nodes, the DTeleom Topology 68 nodes, the Fat Tree Topology 5 nodes and the Wireless Bachaul Topology 47 nodes, as shown in Figure. In the Abilene, GEANT, and DTeleom topologies, object requests can be generated by any node, and the content source for each data object is independently and uniformly distributed among all nodes. In the Service Networ topology, NODE is the content source for all objects and requests can be generated only by the CONSUMER nodes. Caches are placed at NODE, NODE 3, NODE 4 and the CONSUMER nodes. In the

Fat Tree Topology, the content source for each data object is independently and uniformly distributed between the REPO nodes. Requests are generated by the CONSUMER nodes. In the Wireless Bachaul topology, REPO is the content source for all data objects. Requests are generated only by CONSUMER nodes. At each node requesting data, object requests arrive according to a Poisson process with an overall rate λ in requests/node/sec. Each arriving request requests data object independently with probability p, where {p } follows a normalized Zipf distribution with parameter 0.75. In the simulations, the Interest Pacet size is 5 B; the Data Pacet size is 50 KB; the data object size is 5 MB. We assume dropping of Interest and Data Pacets due to buffer overflow does not occur. We do not consider PIT expiration timers and interest retransmissions. In the virtual plane, we use to denote the time slot length. For the proposed algorithms, the forwarding in the virtual plane uses the bacpressure algorithm with a cost bias 5 to help direct s toward content sources, and the window size T in the actual plane is 5000 time slots. Each simulation generates requests for 00 sec. Each curve in Figures 3-9 is obtained by averaging over 0 simulation runs. Our simulations are carried out on the Discovery cluster from Northeastern University. A. Experimental Evaluation of Algorithm In this section, we present experimental results on the performance of the Stable Caching Algorithm Algorithm. Experimental scenarios are carried on all six networ topologies. The cache sizes at all nodes are identical, and are chosen to be 5 GB 000 data objects in the Abilene topology, and GB 400 data objects in the GEANT and DTeleom topologies. In the Service Networ, the cache sizes at NODE, NODE 3, NODE 4 and the CONSUMER nodes are 5 GB. In the Fat Tree Topology, the cache sizes are GB 00 data objects at SW -5 and 5 MB 5 data objects at SW 6-9. In the Wireless Bachaul topology, the cache sizes at all SW nodes are 00 MB 0 data objects In the virtual plane, = 00 msec in the GEANT and DTeleom topologies, = 80 msec in the Service Networ and Abilene topologies and = 40 msec in the Fat Tree and Wireless Bachaul topologies. Each simulation terminates when all Interest Pacets are fulfilled. Simulation experiments were carried out to compare the Stable Caching Algorithm against a number of popular caching algorithms used in conjunction with shortest path forwarding and a potential-based forwarding algorithm. In shortest path forwarding, at any given node, an Interest Pacet for 5 The cost bias is calculated as the number of hops on the shortest path to the content source, and is added to the queue differential. It can be shown that the cost-biased version is also throughput optimal in the virtual plane, as in Theorem. data object is forwarded on the shortest path to the content source for object. 6 The Data Pacet corresponding to the Interest Pacet may be retrieved from a caching node along the shortest path. In potential-based forwarding, a potential value for each data object at each node is set as in [3]. At each time and for each node, an Interest Pacet for object is forwarded to the neighbor with the lowest current potential value for object. Each caching algorithm consists of two parts: caching decision and caching replacement. Caching decision determines whether or not to cache a new data object when the first chun of this object arrives and there is no remaining cache space. If a node decides to cache the new data object, then caching replacement decides which currently cached data object should be evicted to mae room for the new data object. We considered the following caching decision policies: i Leave Copies Everywhere LCE, which decides to cache all new data objects, and ii Leave a Copy Down LCD [], where upon a cache hit for data object at node n, object is cached at the node which is one hop closer to the requesting node while object remains cached at node n. We considered the following caching replacement policies: i Least Recently Used LRU, which replaces the least recently requested data object, ii UNIF, which chooses a currently cached data object for replacement, uniformly at random, and iii BIAS, which chooses two currently cached data objects uniformly at random, and then replaces the less frequently requested one. In addition, we considered Least Frequently Used and age-based caching [7]. In, the nodes record how often each data object has been requested and choose to cache the new data object if it is more frequently requested than the least frequently requested cached data object which is replaced. A window size of 5000 time slots is used for. In age-based caching [7], each cached object at node n is assigned an age which depends on p, the Zipf popularity of object, and the shortest-path distance between n and src. The cache replacement policy replaces the cached object for which the age has been exhausted the longest. We considered LCE-LRU, LCE-UNIF, and LCE-BIAS combined with shortest path forwarding. We also considered under shortest path forwarding LCD combined with LRU, as well as LCE-LRU combined with potential-based forwarding. The delay for an Interest Pacet request is the difference between the fulfillment time i.e., time of arrival of the requested Data Pacet and the creation time of the Interest Pacet request. A cache hit for a data chun is recorded when an Interest Pacet reaches a node which is not a content source but which has the data chun in its cache. When a cache hit occurs, the corresponding metric is incremented by the size of the chun in cache. 6 We assume that all chuns of a data object are cached together.