The present disclosure relates to routing in wireless networks and, in particular, to distributed routing in multi-hop wireless networks using more than one route metric.
Dense deployment of base stations or wireless access nodes may be used to address the exponential growth in wireless data traffic. The feasibility of a dense deployment of wireless access nodes is predicated on the existence of a backhaul network that can provide high data rate transport for each individual access node in the network. From the point of view of maximizing capacity, optical fiber based backhaul solutions are desirable and are suitable for new constructions. However, in existing buildings and infrastructure, the cost of installing new fibers to every access node in a very dense network can be prohibitive.
An alternative to the optical backhaul solution is the wireless self-backhaul solution, where the same access spectrum is used to provide transport. With self-backhauling, an access node serves not only its own assigned User Equipment (UE) in its vicinity but also its neighboring access nodes as a relaying node in order to route data towards and/or from an information aggregation node in the network. A group of self-backhauling access nodes can form a multi-hop mesh network. Access nodes cooperatively route each other's traffic to and from the aggregation node.
Finding an optimal (or close to optimal) route from a source node to a destination node in a multi-hop network often is formulated in terms of finding a route that maximizes or minimizes the value of a single route metric. The route metric may be, for example, route bit rate capacity, route power consumption, route latency, etc. If the route metric is simple enough—that is, if it is both monotonic and isotonic—there exist efficient polynomial-time algorithms for finding the optimal route, e.g., the Bellman-Ford algorithm and the Dijkstra algorithm. In the general case, however, the problem is Non-Deterministic Polynomial-Time hard (NP-hard), i.e., the computational complexity grows exponentially with the number of nodes.
Unfortunately, in practice, the desire to take multiple route properties into account in the route metric (e.g., both route bit rate and route latency) makes it difficult to formulate an appropriate route metric that is simple enough (i.e., is both monotonic and isotonic) to be used with existing polynomial-time algorithms (e.g., the Bellman-Ford algorithm and the Dijkstra algorithm) for finding the optimal route through a multi-hop wireless network. As such, finding optimal routes for a route metric that takes multiple route properties into account may be computationally unfeasible using known algorithms. As such, there is a need for systems and methods for finding an optimal, or close to optimal, route from a source node to a destination node in a multi-hop network when taking multiple route properties into consideration.
Systems and methods related to distributed route determination through a multi-hop wireless network based on multiple route metrics or properties are disclosed. In some embodiments, a method of operation of a network node in a wireless network to provide distributed multi-hop route determination comprises identifying, by the network node, a subset of neighbors of the network node in the wireless network based on: (a) link weight(s) for links from the network node to at least some of the neighbors of the network node with respect to route metric(s) for a multi-hop route through the wireless network and (b) defined limit(s) for the route metric(s). In some embodiments, the subset of the neighbors of the network node are neighbors determined to satisfy the limit(s) on the route metric(s) based on the link weights with respect to the route metric(s). The method further comprises obtaining, by the network node, second link weights for the links from the network node to at least the subset of the neighbors with respect to a second route metric for a multi-hop route through the wireless network, and identifying, by the network node, from the subset of the neighbors, an optimal next hop neighbor for the network node in a multi-hop route through the wireless network based on the second link weights. In this manner, multiple route metrics are taken into consideration when identifying the optimal route from the source node to the destination node through the multi-hop wireless network in manner that is computationally efficient.
In some embodiments, identifying the subset of the neighbors of the network node comprises, based on the link weights for the links from the network node to at least some of the neighbors of the network node with respect to the route metric(s), removing the neighbor(s) of the network node that do not satisfy the defined limit(s) for the route metric(s) from a neighbor list of the network node to provide a trimmed neighbor list of the network node. This trimmed neighbor list is a list of neighbors for consideration with respect to the second route metric such that the neighbors in the trimmed neighbor list form the subset of the neighbors of the network node that are to be considered when identifying the optimal next hop neighbor based on the second route metric. Identifying the optimal next hop neighbor comprises identifying one of the subset of the neighbors of the network node in the trimmed neighbor list as the optimal next hop neighbor based on the second link weights.
In other embodiments, obtaining the second link weights comprises obtaining the second link weights for the links from the network node to the neighbors with respect to the second route metric. Identifying the optimal next hop neighbor for the network node then comprises penalizing the second link weights of the neighbors of the network node that are not in the subset of neighbors of the network node and, after penalizing the second link weights of the neighbors of the network node that are not in the subset of the neighbors of the network node, identifying one of the neighbors of the network node as the optimal next hop neighbor based on the second link weights.
In some embodiments, the route metric(s) consist of a first route metric (μA) such that identifying the subset of the neighbors comprises obtaining, for each neighbor, a first link weight for the link from the network node to the neighbor with respect to the first route metric (μA) and identifying the subset of the neighbors that satisfy a defined limit for the first route metric (μA) based on the first link weights for the links from the network node to the neighbors of the network node.
In some embodiments, the method of operation of the network node further comprises identifying a second subset of the neighbors of the network node that satisfy a defined limit for the second route metric (μB) based on the second link weights, and identifying, from the second subset of the neighbors, a second optimal next hop neighbor for the network node in a multi-hop route through the wireless network based on the first link weights for the links from the network node to at least the subset of the neighbors with respect to the first route metric (μA).
In some embodiments, the second route metric (μB) is an individual route metric. In some embodiments, a composite route metric of the first route metric (μA) and the second route metric (μB) is non-isotonic. In some embodiments, the first route metric (μA) and the second route metric (μB) are both monotonic and isotonic.
In some embodiments, identifying the optimal next hop neighbor for the network node comprises identifying one of the plurality of neighbors of the network node as the optimal next hop neighbor for the network node based on a composite route metric (μcomposite) that is a function of the first route metric (μA), the second route metric (μB), and a penalty function that penalizes the second route metric (μB) if the first route metric does not satisfy the defined limit on the first route metric (μA). In some embodiments, the composite route metric (μcomposite) is non-isotonic.
In some embodiments, the first route metric (μA) is one of a maximum or minimum metric, and the second route metric (μB) is an additive metric.
In some embodiments, the one or more route metrics comprise a first route metric (μA) and an additional route metric such that identifying the subset of the neighbors comprises: (a) obtaining, for each neighbor of the network node, a first link weight for the link from the network node to the neighbor with respect to the first route metric (μA); (b) identifying a first subset of the neighbors that satisfy a defined limit for the first route metric (μA) based on the first link weights for the links from the network node to the neighbors of the network node; (c) obtaining, for each neighbor of the network node in at least the first subset of the neighbors, an additional link weight for the link from the network node to the neighbor with respect to the additional route metric; and (d) identifying, from the first subset of the neighbors, a second subset of the neighbors of the network node that satisfy a defined limit for the additional route metric based on the additional link weights for the links from the network node to at least the first subset of the neighbors of the network node.
In some embodiments, the method of operation of the network node further comprises receiving, by the network node, an updated limit for at least one of the one or more route metrics. The method of operation of the network node further comprises identifying a new subset of the neighbors of the network node based on the updated limit for the at least one of the one or more route metrics, and identifying, from the new subset of the neighbors of the network node, a new optimal next hop neighbor for the network node in a multi-hop route through the wireless network with respect to the second route metric.
In some embodiments, the method of operation of the network node further comprises receiving, by the network node, the one or more defined limits for the one or more route metrics. Further, in some embodiments, the method of operation of the network node comprises providing the one or more defined limits for the one or more route metrics to at least one of the neighbors of the network node in the wireless network. In other embodiments, the method of operation of the network node further comprises providing the one or more defined limits for the one or more route metrics to each of the neighbors of the network node in the wireless network.
Embodiments of a network node that operates to provide distributed route determination according to any of the processes disclosed herein are also disclosed.
Embodiments of a method of operation of a wireless network are also disclosed. In some embodiments, the method comprises: (a) finding, by the wireless network in a distributed manner, a route from a source node to a destination node through the wireless network according to a first route metric (μA); (b) establishing, by a source node, a limit on the first route metric (μA) for the route based on a weight assigned to the route from the source node to the destination node for the first route metric (μA); (c) providing the limit on the first route metric (μA) from the source node to at least some of a plurality of network nodes in the wireless network; (d) trimming, by each network node, links with neighbor nodes for which the limit on the first route metric (μA) is not satisfied from consideration for an optimal route from the source node to the destination node according to a second route metric (μB) to thereby provide a trimmed network; and (e) finding, by the wireless network in a distributed manner, an optimal route from the source node to the destination node through the trimmed network according to the second route metric (μB).
In some embodiments, trimming the links with the neighbor nodes for which the limit on the first route metric (μA) is not satisfied comprises removing the links with the neighbor nodes for which the limit on the first route metric (μA) is not satisfied from consideration for the optimal route from the source node to the destination node according to the second route metric (μB).
In some embodiments, trimming the links with the neighbor nodes for which the limit on the first route metric (μA) is not satisfied comprises penalizing, with respect to the second route metric (μB) the links with the neighbor nodes for which the limit on the first route metric (μA) is not satisfied such that the links with the neighbor nodes for which the limit on the first route metric (μA) is not satisfied are effectively removed from consideration for the optimal route from the source node to the destination node according to the second route metric (μB).
In some embodiments, finding the route from the source node to the destination node through the wireless network according to the first route metric (μA) comprises finding an optimal route from the source node to the destination node through the wireless network according to the first route metric (μA).
In some embodiments, finding the route from the source node to the destination node through the wireless network according to the first route metric (μA) comprises finding a route from the source node to the destination node through the wireless network having a weight for the first route metric (μA) that is better than a predefined threshold.
In some embodiments, the method of operation of the wireless network further comprises determining whether a weight of the optimal route for the second route metric (μB) is better than a predefined acceptable level. The method further comprises, if the weight of the optimal route for the second route metric (μB) is not better than the predefined acceptable level: (a) establishing, by the source node, a new limit on the first route metric (μA) for the route that is less restrictive than the limit on the first route metric (μA); (b) providing the new limit on the first route metric (μA) from the source node to at least some of the plurality of network nodes in the wireless network; (c) removing, by each network node in the plurality of network nodes, all links with neighbor nodes for which the new limit in the first route metric (μA) is not satisfied from consideration for a new optimal route from the source node to the destination node according to the second route metric (μB) to thereby provide a new trimmed network; and (d) finding, by the wireless network in a distributed manner, a new optimal route from the source node to the destination node through the new trimmed network according to the second route metric (μB).
In some embodiments, the method of operation of the wireless network further comprises: (a) finding, by the wireless network in a distributed manner, a route from the source node to the destination node through the wireless network according to the second route metric (μB); (b) establishing, by the source node, a limit on the second route metric (μB) for the route based on a weight assigned to the route from the source node to the destination node for the second route metric (μB); (c) providing the limit on the second route metric (μB) from the source node to at least some of the plurality of network nodes in the wireless network; (d) removing, by each network node in the plurality of network nodes, all links with neighbor nodes for which the limit on the second route metric (μB) is not satisfied from consideration for an optimal route from the source node to the destination node according to the first route metric (μA) to thereby provide a second trimmed network; (e) finding, by the wireless network in a distributed manner, an optimal route from the source node to the destination node through the second trimmed network according to the first route metric (μA); and (f) selecting one of the optimal route from the source node to the destination node through the trimmed network according to the second route metric (μB) and the optimal route from the source node to the destination node through the second trimmed network according to the first route metric (μA) as a best optimal route.
In some embodiments, the method of operation of the wireless network further comprises, prior to finding the optimal route from the source node to the destination node through the trimmed network according to the second route metric (μB), further trimming the trimmed network based on one or more additional route metrics and one or more defined limits for the one or more additional route metrics.
Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
The embodiments set forth below represent information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Systems and methods are disclosed for distributed routing through a multi-hop wireless network. Before describing these embodiments, a discussion of a multi-hop network and terminology that will be used throughout this disclosure is beneficial.
Routing through the wireless network is often performed by first defining a route metric μ. The route metric μ in principle assigns a weight wμ(P) to each possible path or subpath (denoted together as (sub)path) P in the wireless network. In many cases, it is possible to express the (sub)path weight wμ(P) as a function of individual link weights wμ(l) for lεE(P) Additive metrics can be defined as the sum of individual link weights wμ(l). For example, the latency wlatency(P) of a path P is the sum of the latencies wlatency (l) of the individual links:
Minimum (or maximum) route metrics are the minimum (or maximum) of the individual link weights. For example, the bit rate wbitrate(P) of a path P is the minimum (bottleneck) bit rate wlatency(l) of the links along the path P:
w
bitrate(P)=minlεE(P)wbitrate(l). (2)
Depending on the metric type, the path weight should either be minimized or maximized. For example, the latency should be minimized, whereas the bit rate should be maximized. It is, however, convenient to consistently use metrics of one of the two types. This can be achieved by converting route metrics of the other type to the desired type. For example, instead of bit rate (which should be maximized), one may use the inverse of the bit rate (which should be minimized). We will henceforth assume that weights should always be minimized.
Once the route metric is defined, the route that optimizes the route metric should be found. If the route metric is monotonic and isotonic, there are efficient algorithms for finding the optimal route. As used herein, “monotonicity” means that if a path is extended by one more link at either end, the weight of this extended path is at least as large as the weight of the original path. Hence, given a monotonic route metric μ, if any path P is extended by one link (vK,vK+1), where vK denotes the end vertex of the path P, to form an extended path P′={P,vK+1}, then it holds that wμ(P′)≧wμ(P).
As used herein, “isotonicity” means that the route metric preserves the ordering of the weights of two paths when they are extended by a common third link or set of links. Hence, given an isotonic route metric μ, if any two paths P1 and P2 that share the same source and destination vertices are extended by a common link (vK,vK+1), where vK is the end vertex of both P1 and P2, to form extended paths P1′={P1,vK+1} and P2′{P2,vK+1}, then it holds that wμ(P1)≧wμ(P2) implies wμ(P1′)≧wμ(P2′) (and vice versa).
It may be noted that if the path weights can be expressed as a sum or maximum/minimum of independent and positive constituent link weights (i.e., weights that are independent of what other links are used), the route metric will automatically be monotonic and isotonic. However, in a wireless network with interference between links, the weights of existing links will typically change as more links are added to a path, and isotonicity will normally be broken.
Routing can either be centralized (i.e., one central node takes the routing decision) or distributed (i.e., network nodes may take routing decisions locally). Distributed routing can be either source-oriented (i.e., finding a route to reach the source node) or destination-oriented (i.e., finding a route to reach the destination node). Distributed routing generally includes the following main steps: (i) collecting relevant information at each network node about the quality of potential links with its neighbor nodes; (ii) selecting the next hop neighbor at each node based on the collected information in order to reach the source (or, respectively, the destination) with the best resulting route metric; and (iii) communicating information about which neighbor nodes of each network node are on the selected path (e.g., in case of source-oriented routing in order to reach the destination in the reverse direction). With distributed routing, it is not necessary for any network node in the network to have a global knowledge about the topology of the network or the final selected path/route. Every network node only needs to know the neighbor to which the network node is to forward packets. The embodiments described herein generally focus on step (ii) where the selection of the next hop neighbor at each network node is performed in a distributed fashion without the need of a centralized entity in the network. For simplicity of discussion, we assume destination-oriented routing in the following discussion, while noting that the embodiments disclosed herein apply equally well to source-oriented routing.
Systems and methods are disclosed herein to (i) provide a way to combine two (or possibly more) different route metrics into a sensible composite route metric and (ii) efficiently find a route that optimizes this metric in a distributed manner, even though, in some embodiments, the metric may be non-isotonic.
To simplify the presentation, an example embodiment for a special case of two individual metrics being bit rate and power consumption is first described. The more general case is described below.
The basic idea is to define, as an optimal route, a route that has as low as possible power consumption while still reaching at least a certain predefined fraction k (e.g., 95%) of the maximum possible bit rate that would be attainable if the power consumption were not considered. In other words, one primarily attempts to reach as high bit rate as possible, but is willing to sacrifice some of the bit rate (1-k, e.g., 5%) in order to reduce power consumption. With such a composite route metric (precise composite route metric definition is provided below), the optimal route can be found in three steps.
In the first step, the (optimal or best) next hop node of each network node is found for the highest bit rate route without considering power consumption. The source node (or the destination node in source-oriented routing) also determines the corresponding highest bit rate achieved by the resulting optimal route for the highest bit rate. Since the bit rate metric is monotonic and isotonic, algorithms, such as Bellman-Ford, can be used to identify the (optimal or best) next hop node of each network node, and hence the corresponding optimal route in a distributed fashion. Let Rmax denote the maximum bit rate.
In the second step, the source node (or the destination node in source-oriented routing) floods the network with information about the maximum bit rate Rmax, and possibly a predefined fraction k (which is information indicative of a predefined limit on the route metric, which in this case is the maximum bit rate Rmax) to every network node, or at least some of the network nodes, in the network.
In the third step, each network node starts anew, this time first removing all links with neighboring nodes with maximum possible bit rate over the link below kRmax. The resulting trimmed network can easily be shown to still allow all routes with bottleneck bit rates larger than or equal to kRmax, but no other routes. In this trimmed network, the route with the lowest power consumption is then sought in a distributed manner based on the power consumption metric. Since the power consumption metric is isotonic, that route can be efficiently found using, for example, the Bellman-Ford algorithm.
On a high level, embodiments are disclosed for: (i) combining two (or possibly more) different link weights into a composite link weight, from which a composite route, or path, metric can be defined and (ii) computationally efficiently (in polynomial time) finding a route that optimizes this composite route metric in a distributed manner, even though the composite route metric may be non-isotonic.
In particular, let wμ
w
μ
(P)≡minlεE(P)wμ
or
w
μ
(P)≡maxlεE(P)wμ
while the second route metric μB is an additive metric that combines the link weights according to:
The method for combining two link weights is, in its most simple incarnation, as follows. The weight of a link lεE(P) of a composite route metric, μcomposite, is defined by ascribing to each link lεE(P) a composite link weight
w
composite(l)=wμ
where C(s,d)=ƒ′(minP′εP(s,d)wμ
One example of the penalty function T(·) is the “infinite brick wall” function given by:
For this penalty function, expressed in words, the resulting weight wcomposite(l) of a link according to the composite route metric μcomposite is:
Other examples of the penalty function T(·) include an exponential function given by
T(x)=aebx, for some constant a>0 and b>0,
a sigmoid function such as
for some large constant a>0
or a linear function given by
T(x)=ax, for some constant a>0.
These functions can be viewed as approximations of the “infinite brick wall” function in Equation (7) that can be used to impose soft penalty on links based on their link weights (according to the first route metric μA) with respect to the threshold C(s,d). Using the infinite brick wall function (or an approximation thereof), in the composite link weight wcomposite(l) of Equation (6), the link metric wμ
According to one preferred embodiment, the route, or path, metric of a given path P may be defined as an additive metric with respect to the composite link weight wcomposite(l) as follows:
Such a composite route metric is guaranteed to be isotonic. It should be noted that the composite route metric μcomposite defined here is not only a function of the individual route metrics μA and μB for the path P (or the composite link weight wcomposite(l) according to the composite route metric μcomposite is not only a function of the individual link weights wμ
The formation of the composite route metric μcomposite can be generalized in several ways. Some generalizations will be implicitly defined from the following description of embodiments for finding the optimal route from two or more route metrics.
Note that one way to interpret such a composite route metric is to search for the optimal route(s) according to the first route metric μA, trim the connection graph to keep only those network nodes that are good enough to be within a tolerance of the optimal metric with respect to the first route metric μA, and then search for the optimal route(s) with respective to the second route metric μB on the trimmed connection graph. The resulting route(s) found in such a manner is/are guaranteed to perform well with respect to both the first and second route metrics μA and μB, while both search steps involve only isotonic metrics and can therefore employ any existing, efficient distributed routing algorithm. Trimming the connection graph (which is also referred to herein as trimming the network or trimming the neighbor lists of the network nodes) may include updating a neighbor list of each (or at least some) network node by removing entries to neighboring nodes. In other embodiments, the neighbor lists are not actually trimmed; rather, the weights with respect to the second route metric μB of the links to neighbors that do not satisfy the tolerance of the optimal metric with respect to the first route metric μA are penalized to effectively remove those neighbors from consideration for the optimal route (i.e., to effectively trim the network).
Before describing embodiments of the present disclosure, it may be beneficial to first describe one example of a wireless network 10, as illustrated in
In particular,
Next, an acceptable limit for the first route metric μA is determined (e.g., at the source node for source-oriented routing) based on the route, or path, weight wμ
The acceptable limit for the first route metric μA is distributed to at least some of the network nodes in the wireless network (step 104). In some embodiments, the source node floods the limit for the first route metric μA to all, or at least some, of the network nodes in the wireless network by, starting from the source node, having each network node receive the limit from a neighbor node and forward the information (i.e., the limit) to all of its neighbor nodes except for those whose associated link metrics exceed the limit and that from whom the information is received.
Each network node then, depending on the embodiment, removes or penalizes all links with neighboring nodes that do not satisfy the limit on the first route metric μA for consideration for the optimal route according to a second route metric μB or the composite route metric μcomposite, thereby establishing a trimmed network (step 106). More specifically, in some embodiments, each network node removes the links to the neighbors that do not satisfy the limit on the first route metric μA from a neighbor list of the network node to be used when finding the optimal route for the second route metric μB, thereby actually trimming the neighbor list of the network node. This, in effect, implements the penalty function TO of the composite route metric μcomposite. In other embodiments, each network node penalizes the links to the neighbors that do not satisfy the limit on the first route metric μA using the composite route metric μcomposite for the all of the links such that the neighbor list is effectively trimmed via the associated penalty, as described above.
For example, the first route metric μA may be bit rate capacity, and the trimming could consist of having each network node remove all links with its neighbors whose bit rate capacity is below the bit rate corresponding to the limit on the first route metric μA. It is then easy to see that the trimming (a) does not disallow any route having a bit rate capacity above the limit bit rate (because such routes could anyway not have utilized any of the removed links) and (b) leads to a network in which all possible routes have bit rates equal to or exceeding the limit bit rate (since all individual links support this bit rate). These properties will be useful in a later step. In the more general case, the trimming can be soft, i.e., links may not be completely removed but rather penalized in terms of increasing the weights of the other route metric (i.e., the second route metric μB), as discussed above.
Optionally, in some embodiments, a determination is made as to whether the wireless network is sufficiently trimmed (step 108). For example, if after trimming the network based on the limit in step 106, the resulting number of nodes is too high, the process can return to step 102, where a new limit is established, and the process resumes from there. Likewise, if the network is overly trimmed, a new, higher limit can be used to trim the network.
Lastly, the optimal route from the source node to the destination node based on the second route metric μB or, alternatively, the composite route metric μcomposite (in the case of applying a soft penalty to the second route metric μB according to Equation (6) above) is found in a distributed manner (step 110). The second route metric μB is utilized in embodiments where the neighbor lists are actually trimmed according to the limit on the first route metric μA. The composite route metric μcomposite is utilized in embodiments where the neighbor lists are not trimmed but, instead, a soft penalty function T(·) is applied to the second route metric μB. Notably, using the composite route metric μcomposite may sometimes be referred to herein as utilizing the second route metric μB after penalizing the second route metric μB for any links/neighbors that do not satisfy the defined limit on the first route metric μA.
More specifically, the optimal route based on the second route metric μB or the composite route metric μcomposite is found in the trimmed network by iteratively identifying, at each network node, the best next hop neighbor node with the best route, or path, metric to the destination node with respect to the second route metric μB or the composite route metric μcomposite In the embodiments where the second route metric μB is used, step 110 has moderate (polynomial-time) computational complexity. The so found optimal route will then be guaranteed to be on the right side of the limit for the first route metric μA determined in step 102. For example, in the case of the first route metric μA representing the bit rate capacity, the properties (a) and (b) established above will ensure that the found route has a bit rate at least equal to the limit bit rate. Note that in the case when the trimming is soft in step 106, the composite route metric μcomposite is used to determine the optimal route in step 110, as discussed above.
More specifically, as illustrated in
In the second phase, the same steps are executed, but with the first and second route metrics μA and μB or the composite route metric μcomposite exchanged or swapped (step 310). Specifically, best route(s) with respect to the second route metric μB are determined, a suitable limit for the second route metric μB is determined based on the path weight(s) of the optimal routes with respect to the second route metric μB, the network is trimmed based on the limit on the second route metric μB, and the best or optimal route in the trimmed network with respect to the first route metric μA or the composite route metric μcomposite (depending on the embodiment) is determined. This best or optimal path is denoted P2 and the associated metrics μB(P2) and μA(P2) or μcomposite(P2).
The best of the two paths P1 and P2 is then selected as the desired (e.g., most optimal) path P based on the different route metrics for the two paths P1 and P2 (step 312). The selection between P1 and P2 at the source node considers the route metrics of both paths P1 and P2 (i.e., μA(P1) and either μB(P1) or μcomposite(P1) for P1 and μA and μB(P2) and either μA (P2) or μcomposite(P2) for P2). Specifically, in some embodiments,
where ƒ(·) is an appropriate function combining μA and μB. In embodiments using the composite route metric μcomposite, a similar function may be used to combine μA and μcomposite for P1 and μB and μcomposite for P2.
This process is illustrated in
In the embodiments of
While
The network node determines (together with the other network nodes in a distributed manner) an optimal route according to the first route metric μA (step 602). More specifically, the network node evaluates the links to its neighbors based on the first route metric μA (each intermediate node performs this step, thereby establishing an optimal route from the source node to the destination node in a distributed manner for the first route metric μA). Because two metrics are under consideration, a limit on the first route metric μA is established to allow for the second route metric μB to have an impact on the route determination. The limit can be established by the source node or can be set by a network operator. This limit is received by the network node (step 604), and the network node transmits, or forwards, the limit to (at least some of) its neighboring nodes (step 606). The network node uses the limit to trim the number of neighboring nodes of the network node for consideration when finding the optimal route according to the second route metric μB, as discussed above (step 608). For example, links having a quality that do not satisfy the limit on the first route metric μA can actually be removed from a neighbor list or the link weights wμ
Optionally, in some embodiments, a determination is made as to whether the network is sufficiently trimmed (step 610). For example, if after trimming the network based on the limit in step 608, the resulting number of nodes is too high, the process can return to step 604, where a new limit is received, and the process resumes from there. Likewise, if the network is overly trimmed, a new, higher limit can be used to trim the network. Lastly, an optimal route can be found, or determined, using the second route metric μB or, alternatively, the composite route metric μcomposite in a distributed manner, as described above (step 612). This optimal route uses only links/network nodes in the trimmed network.
As illustrated, the network node identifies a subset of the neighbors of the network node (or equivalently a subset of the links to the neighbors of the network node) for consideration when finding the optimal or best route with respect to the second route metric μB or the composite route metric μcomposite, depending on the embodiment (step 700). As discussed above, this subset of the neighbors is identified based on: (a) one or more link weights for one or more links from the network node to at least some of the neighbors of the network node with respect to one or more route metrics (e.g., the first route metric μA and, optionally, one or more additional route metrics) and (b) one or more defined limits for the one or more route metrics. As discussed above, the network node also obtains second link weights for the links from the network node to at least some of the neighbors of the network node with respect to a second route metric μB (step 702).
Lastly, the network node identifies, from the subset of the neighbors of the network node, an optimal next hop neighbor for the network node based on the second route metric μB or, alternatively, the composite route metric μcomposite, depending on the embodiment (step 704). As discussed above, in some embodiments, the network is trimmed by actually removing neighbors/links from consideration for the optimal route with respect to the second route metric μB. In this case, the subset of the neighbors corresponds to the trimmed network, and the optimal route with respect to the second route metric μB is through this trimmed network. In other embodiments, rather than actually removing links/neighbors from consideration, the link weights wμ
In this example, the network node then removes neighbors of the network node (or links of the neighbors) that do not satisfy the limit on the first route metric μA from consideration for the subsequent steps to thereby provide a trimmed neighbor list for the network node (i.e., establish a trimmed network) step 806). Optionally, in some embodiments, this process is repeated for one or more additional route metrics to thereby further trim the neighbor list of the network node (steps 808 through 814). The network node also obtains link weights for links from the network node to neighbors of the network node in the trimmed neighbor list with respect to the second route metric μB (step 816). The network node then identifies, from the trimmed neighbor list (i.e., the trimmed network), the optimal next hop neighbor of the network node based on the link weights with respect to the second route metric μB (step 818).
Optionally, in some embodiments, the network node determines whether new limit(s) for any of the route metric(s) is received (step 820). This may occur when, for example, the source node determines that the second route metric μB for the optimal route identified in step 818 is not acceptable, in which case the source node may relax the limit on the first route metric μA and/or the limit(s) on any additional route metric(s). If new a limit(s) is received, the network node updates the trimmed neighbor list based on the new limit(s) (step 822) and then the process returns to step 818 and is repeated for the updated trimmed neighbor list. If no new limit(s) is received (e.g., within some predefined amount of time), the process ends.
In this example, the network node identifies neighbors of the network node (or links of the neighbors) that do not satisfy the limit on the first route metric μA (step 906). Optionally, in some embodiments, this process is repeated for one or more additional route metrics to identify neighbors of the network node (or links of the neighbors) that do not satisfy limit(s) for an additional route metric(s) (steps 908 through 914). The network node also obtains link weights for links from the network node to neighbors of the network node in the trimmed neighbor list with respect to the second route metric μB (step 916). The network node then penalizes the link weights with respect to the second route metric μB for the neighbors identified as not satisfying the limit on the first route metric μA (step 918). Optionally, in some embodiments, the network node also penalizes the link weights with respect to the second route metric μB for the neighbors identified as not satisfying the limit(s) on the additional route metric(s) (step 920).
The network node then identifies the optimal next hop neighbor of the network node based on the link weights with respect to the second route metric μB after penalization of the appropriate link weights in step 918 and, optionally step 920 (step 922). In some embodiments, the penalization is provided via the composite route metric μcomposite, as described above. Optionally, in some embodiments, the network node determines whether new limit(s) for any of the route metric(s) is received (step 924). This may occur when, for example, the source node determines that the second route metric μB or the composite route metric μcomposite for the optimal route identified in step 922 is not acceptable, in which case the source node may relax the limit on the first route metric μA and/or the limit(s) on any additional route metric(s). If new a limit(s) is received, the network node updates the (penalized) link weights with respect to the second link metric μB based on the new limit(s) (step 926) and then the process returns to step 922 and is repeated using the updated link weights. If no new limit(s) is received (e.g., within some predefined amount of time), the process ends.
Notably, in all of the embodiments described herein, the first and second route metrics μA and μB are preferably individual route metrics representing individual route properties (e.g., latency, bit rate, power consumption). However, in some embodiments, the first and/or second route metrics μA and/or μB may be composite (but not necessarily penalized) route metrics where these composite route metrics are composed from, e.g., other more basic monotonic and isotonic metrics. However, in some preferred embodiments, the first and second route metrics μA and μB, whether individual or composite route metrics, are monotonic and isotonic, where the composite route metric formed from the first and second route metrics μA and μB may or may not be isotonic.
In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the network node according to any one of the embodiments described herein is provided. In one embodiment, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as the memory 22).
The following acronyms are used throughout this disclosure.
Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of provisional patent application Ser. No. 61/909,267, filed Nov. 26, 2013, the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61909267 | Nov 2013 | US |