The present invention relates to the technical field of Content Centric Networking (CCN), and particularly to mechanisms to realize dynamic request forwarding in CCN nodes.
Information Centric Networking (ICN), Content Centric Networking (CCN) or Named data networking (NDN) have introduced a new networking model, where the communication is centered on named-data rather than host address. Indeed, in CCN every data packet is identified, addressed and retrieved by its unique name instead of its physical location. All network nodes potentially store the data that they forward to serve future requests for the same content. To this aim, it is possible to equip network nodes with enhanced storage capabilities such as caches/buffer memories. Indeed, storage resources can be used to maintain temporary content replicas spread through the network for a period of time ranging from minutes to hours or days. The availability of different replicas depends on several factors, such as content popularity, cache replacement policies, and is impacted by the request forwarding policy. The term “request forwarding policy” refers here broadly and as non-limitative, to ways/rules to manage the forwarding of a content request within a network comprising nodes. In fact, request forwarding policy plays an important role in providing better end-users performance (ex: data delivery time) and reducing the amount of data transferred in a network, i.e. providing a lower network load.
In CCN, content items/files are split in a sequence of chunks uniquely identified by a hierarchical name of possibly variable size B components, for instance the B components may be “/bell_labs/video/talks.avi/chunk1”. By considering the following example; the B-1 components identifies the content item name (/bell_labs/video/talks.avi); while the last component specifies the chunk name (chunk1). Servers in CCN announce the set of prefixes (here /bell_labs/video/ or /bell_labs/) of content items they can serve by means of routing protocols, i.e. prefixes of permanently stored items. Network nodes receiving these announcements build their forwarding/routing tables accordingly. For instance network nodes store in their routing tables, the shortest paths in terms of delay towards a permanent copy of a file. Chunks of a file are then requested by a receiver, through Interest packets that are forwarded by network nodes towards servers storing permanent copies of the requested chunks.
Interest packet here is a packet type, referring to interest/request about content item/file. Another packet type referred in this document is Data packet, corresponding to data transmitted in response to an interest/request of content (i.e. Interest packet). Indeed, a Data packet may be a chunk of a content item/file. Interest packet leaves traces that a matching chunk (i.e. Data packet) can follow via reverse path, to reach back the original requester. A matching chunk can be found in every node caching a temporary copy or at the server where the permanent copy is stored. In fact, one Interest packet permits to retrieve one Data packet. Hence, a sequence of Interest packets permits to retrieve a sequence of Data packets, i.e. for instance the chunks of a large piece of content such as a video file.
Miura H. et al: Content routing with network support using passive measurement in content distribution networks (XP 010610865) relates to content distribution networks in which user requests are directed to an adequate server from the view point of improvement of latency for obtaining contents. Round trip time passive measurement can improve user response time for both cases that network delay and server processing delay is dominant factor of response time.
EP 2 323 346 relates to adaptive multi-interface use for content networking. It is proposed a connectivity agent which can control the implemented policy by configuring strategy layer without having to process each individual packet. The connectivity agent can configure strategy layer with rules for choosing among multiple interfaces.
Now with referring to
Indeed, following the reception of an Interest packet, an ideal name-based routing protocol would have to address all temporary copies of every content item (i.e. Data packets), in order to forward user request towards the “best” (i.e. the closest in term of path/time in the network) available replica. Nevertheless, this is clearly unfeasible in CON, since:
On the other hand, the usage of dynamic forwarding mechanisms, able to discover and exploit temporary content replicas can provide significant benefits in terms of end-user performance and network provider costs.
One idea to solve this problem would be to assume node FIB knowledge about multiple paths in a CON network, leading toward permanent copies that can be directly exploited by a forwarding strategy. However, it would require a routing protocol that distributes permanent copy availability information, and could not thus be applied to forward requests towards temporary copies.
One existing dynamic forwarding approach for Named-Data-Networking (NDN) framework relies on probing interfaces periodically, and gathering statistics for each of them. If for content, an interface is estimated to be better than the currently exploited one, the forwarding plane is switched to that interface. Although this proposition seems to be efficient, it is still needed to provide better performance in terms of end-user (ex; data throughputs) and to reduce network costs (ex: data load).
One object is to provide a solution to the aforementioned problems, and offers other advantages over the prior art.
Another object is to provide a mechanism to realize dynamic request forwarding in a CCN node.
Another object is to improve end-user performance.
Another object is to reduce network costs.
Various embodiments are directed to addressing the effects of one or more of the problems set forth above. The following presents a simplified summary of embodiments in order to provide a basic understanding of some aspects of the various embodiments. This summary is not an exhaustive overview of these various embodiments. It is not intended to identify key of critical elements or to delineate the scope of these various embodiments. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is discussed later.
Various embodiments relate to a method for managing packets over interfaces of a Content Centric Networking node, the method comprising the following steps
otherwise
In accordance with a broad aspect, the method further comprises an exploitation step performed by
In accordance with a broad aspect, the method requires standard ICN operations of storing the received data packet in a Content Store of the node and forwarding the received data packet over the interface used for receiving the request.
Further, various embodiments relate to a Content Centric Networking node for managing packets, the node being configured for
otherwise
Various embodiments further relate to computer program products for performing the above method.
While the various embodiments are susceptible to various modification and alternative forms, specific embodiments thereof have been shown by way of example in the drawings. It should be understood, however, that the description herein of specific embodiments is not intended to limit the various embodiments to the particular forms disclosed.
It may of course be appreciated that in the development of any such actual embodiments, implementation-specific decisions should be made to achieve the developer's specific goal, such as compliance with system-related and business-related constraints. It will be appreciated that such a development effort might be time consuming but may nevertheless be a routine understanding for those or ordinary skill in the art having the benefit of this disclosure.
The objects, advantages and other features of various embodiments will become more apparent from the following disclosure and claims. The following non-restrictive description of preferred embodiments is given for the purpose of exemplification only with reference to the accompanying drawing in which
In the following embodiments it is proposed to provide a dynamic request mechanism permitting
In one embodiment, the dynamic request mechanism leverages a reinforcement learning approach for routing, and extends it to the case of a CON cached-network.
One known reinforcement learning approach in the prior art, is Q-routing. In a ( ) routing algorithm, each node of a network builds its routing table/FIB, by learning information, such as delivery times of a packet towards other nodes. These information are referred as Q values and are stored by every node i in their FIBs, for all possible destination nodes d, through each neighboring node v of node i. Qi(d,v) is a Q value, representing the delivery time of a packet from node i to node d if the packet is forwarded via a neighboring node v among the neighboring nodes. In a Q-routing algorithm, the forwarding of a packet by a node i consists in selecting the interface to the neighboring node v, towards a given destination node d with the smallest Q value Qi(d,v) i.e. the smallest delivery time. For every packet forwarded through a neighboring node v, the node i receives in response over the interface with node v, the “best” Q value of v that is the minimum delivery time estimated for node v i.e. mink_in_neighbours(v)Qv(d,k). The associated Q value at node i is then updated as follows:
Q
i(d,v)=(1−η)·Qi(d,v)+η·(mink_in_neighbours(v)Qv(f,k)+rtti,v),
where η is a value referred as “learning rate”, f is a file referring to an Interest packet, rtti,v denotes the round trip delay between nodes i and v,
The term Q value is also referred to as a quality value or metric value and is associated with a respective metric. If the metric is a delivery time of time delay, for example an actual delivery time of a packet from a first node I to a second node d represents an actual Q value. The term “best” is referred to as a best value or best interface, both associated with a best value (minimum or maximum) of the associated metric.
In fact, Q-routing approach provides an effective way to improve performance with respective shortest path forwarding in presence of dynamic conditions, such as evolutions of links connection between nodes or storage capacities in network.
In a preferred embodiment, the reinforcement learning approach may be based on Q-routing, by implementing a distributed version of Q-learning. This distributed reinforcement learning, is performed at each network node in a CON network. In fact, a dynamic INterest FORrwarding Mechanism, further referred as INFORM is run by each node in the CCN network.
For at least a given file f/Data packet that can be requested by at least one Interest packet, a node i maintains in its FIB a set of Qi(f, v) values, for v neighboring nodes in I(i) values, where I(i) denotes the set of interfaces of node i. These values are computed and updated during an exploration phase, where a node probes the interfaces in order to learn the cost/reward in terms of residual delay (rtti,v) to the first hitting cache for file f/Data Packet associated with each of them. As exposed above, an update step of Q values exploits the knowledge of the smallest Q value of a neighbor node v chosen for forwarding a given Interest packet, this value being piggy-backed in a returning Data packet. Q values are then used during an exploitation phase, to identify the best available interface where to forward Interest packets.
With reference to
The exploration phase lasts Nr chunks (arrow 303), i.e. Nr Interest packets are sent by node i to randomly selected interfaces in I(i) values and Nr Data packets are forwarded back through these interfaces with best (i.e. minimum) delivery time values estimated. During this exploration phase Interest packets are also forwarded over the interface providing the shortest path in terms of delay towards a permanent copy of the file/Data packet. Then, Q values are updated, according to the Q value updating step formula mentioned above. After which the interface k providing the minimum delivery delay is identified, i.e.: Q (f, k)=minv_in_I(i)Q(f; v), and its Q value is stored, i.e. Qmin(f)=Q(f, k).
The best interface is one of a plurality of interfaces of a node, which is assigned to a metric and has the highest or lowest metric value according to the respective metric. Such a metric may be a delay from a first node to a second node of the CCN, a link cost or node cost, the number of hops or any other possible metric. So, for example, the best interface may be the interface which has the minimum value in a plurality of values determined by a shortest path algorithm towards a further node, the shortest path being discovered in a previous exploration phase.
After the exploration phase (step 302) the exploitation phase starts (step 304). The goal of this phase is to exploit the information (Q values) about cost/rewards delays associated with each interface collected during the exploration phase. To do so, an Interest packet is forwarded over the best interface k only, i.e. over the identified interface, providing the minimum time delivery value for a data packet. Data Packet is forwarded back over the same identified interface with the associated minimum time delivery value. Hence, during the exploitation phase the corresponding Q(f, k) value, referring to the identified interface delivery time, is the only one Q value still being updated. The mechanism remains in exploitation phase until
Consequently, after the exploitation phase (step 304), if one of this event occurs (arrow 305) the algorithm returns in exploration phase (step 302). As previously mentioned, this is required to deal with dynamic content availability, and to update Q values accordingly. Differently from the first exploration phase execution, during all the subsequent explorations an Interest packet (i.e. a request for a data packet) is forwarded towards a randomly selected interface, and, at the same time, towards the previously determined best interface k (rather than shortest path interface previously). At the end of this exploration phase (i.e. after Nr chunks), a new interface k′ providing the minimum delay is identified, i.e.: Q(f,k′)=minv_in I(i)Q(f,v), the minimum Q value is updated, i.e. Qmin(f)=Q(f, k′), and the algorithm returns (arrow 303) in exploitation phase (step 304).
Finally, Q values associated with a given file f/Data packet are deleted (step 307) when they are not updated for Te time units (arrows 306), i.e. no Interest packet for file f/Data Packet is forwarded by the node during a time period Te. This situation may occur indifferently during the exploration or the exploitation phase.
According to an embodiment the method for operating a Content Centric Networking node comprises the exploration phase 302, the exploration phase 302 comprising the steps of: receiving a first request for a data packet: determining that the data packet requested with the first request is not stored by the node, forwarding the first request over a first interface i, if the data packet requested with the first request is not stored by the node, and forwarding the first request over a second interface k, if the data packet requested with the first request is not stored by the node.
According to an embodiment the first interface i is selected out of the plurality of interfaces according to a random selection scheme, wherein the second interface k is selected out of the plurality of interfaces according to a first metric dependent selection scheme.
According to an embodiment the random selection scheme comprises determining the first interface i according to a uniform distribution over the plurality of interfaces.
According to an embodiment the random selection scheme comprises: assigning a probability to each of the plurality of interfaces proportional to a metric value Q assigned to the respective interface; and determining the first interface j out of the plurality of interfaces according to the assigned probabilities.
According to an embodiment the metric dependent selection scheme comprises: determining the second interface k according to a shortest path algorithm, wherein the shortest path algorithm is executed beforehand on the basis of a delay to a file f in the Content Centric Network.
According to an embodiment an exploitation phase 304 is executed after the exploration phase 302, wherein the exploitation phase 304 comprises: receiving a second request for the data packet; and determining that the data packet requested with the second request is not stored by the node;
According to an embodiment the method comprises: forwarding the request only over a third interface, if the data packet requested with the second request is not stored by the node.
According to an embodiment the third interface is selected out of the plurality of interfaces according to a second metric dependent selection scheme.
According to an embodiment the exploitation phase 304 ends and the exploration phase 302 starts when a minimum time delivery values for a data packet reaches a threshold value, wherein the exploration step 302 ends and the exploitation step 304 starts when a predefined number of data packets is received.
According to an embodiment the node maintains a metric value Q for each of the plurality of interfaces and for each file f in the Content Centric Network, wherein the metric value Q represents a delay to a file f residing in the Content Centric Network.
According to an embodiment in response to the first and/or second and/or third request over the first interface and/or the second interface and/or the third interface a data packet and the metric value Q associated with the data packet, especially a minimum time delivery value for the data packet from its origin to a neighboring node estimated by a neighboring node, is received, and wherein the metric value Q is stored.
According to an embodiment the metric values Q of the first or second request are compared and a best metric value Q in form of a minimum or maximum value is determined according to the respective metric, and wherein the second and/or third interface k is selected according to the best metric value Q associated with the respective interface.
As illustration of the achievable performance with the disclosed mechanism,
In all scenarios, a network topology is modeled as an Erdos-Renyi graph G(n, p) where n is the number of nodes and ρ is the probability that a link connecting two nodes does exist. We assume b is a number of border routers among the n nodes where users are connected to, and s<=n is the number of content servers connected to the network.
It is assumed herein that n=22, b=8, s=1, and p=0.3. It is further assumed that every node is equipped with a cache of size c=15% of a content catalog and implements a Least Recently Used (LRU) replacement policy. The placement of border routers and servers are randomly generated, results are averaged over multiple simulation runs, and cache warm up period is not considered. Users generate content requests according to a Poisson process of intensity λ=1 request per second per border router. A catalog of 10̂5 content items (i.e. files) is chosen, whose popularity is a Zipf distribution with u=1. It is assumed too, that each content item is composed of 100 independent Data packets that are permanently stored at content servers s. Finally, the FIBs of the nodes are configured with next hop information for the minimum delay path towards one of the permanent content item copy.
On
To do so, two metrics are considered herein:
Moreover, the learning rate is set to η=0.7, the duration of the exploration phase to Nr=50 chunks, and the duration of the exploitation phase to Nt=100 chunks.
Curve (a) of
Curve (b) of
Curves (a) and (b) of
Advantageously, the above described embodiments permit to provide a dynamic request forwarding mechanism that clearly outperforms current existing solutions in terms of end-user performance (i.e. delivery time) and network costs (reductions of the load in the network).
Advantageously, the disclosed embodiments make feasible the implementation of dynamic forwarding algorithms in CCN nodes, and more generally within high-speed network equipments in order to provide the best performance.
Number | Date | Country | Kind |
---|---|---|---|
13306124.2 | Aug 2013 | EP | regional |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2014/066752 | Aug 2014 | US |
Child | 15015977 | US |