The present invention relates generally to medium access control in communication networks.
Sensor networks are used in many different applications such as, for example, habitat monitoring, location tracking and inventory management. Such networks are typically characterized by hundreds or thousands of individual sensors located at sensor nodes distributed over a desired area. The sensors in a sensor network are typically able to communicate, for example via wired or wireless communications methods, to other sensors and one or more monitoring nodes in the network. A monitoring node is a node that collects and processes data received from the sensor nodes and is, typically more robust than a sensor node. Each sensor is able to detect at least one characteristic of its surroundings by obtaining appropriate measurements, such as acoustic, temperature, seismic, or other measurements, and may be able to perform simple computations related to those measurements. Then, at a predetermined schedule or in response to an ad hoc request from, for example, a monitoring node, the sensor transmits those measurements and computations to other nodes in the network, such as to the aforementioned monitoring node.
Sensor networks face significant energy constraints because, typically, sensors are spread over a wide area and are unattended. Accordingly, replacing batteries on the sensors may be cost and time prohibitive or even impossible. While such sensors have gained significantly in processing abilities, the amount of energy stored in sensor batteries has not gained to such an extent. Therefore, many advanced techniques for routing, communications, signal processing and hardware design have been used to help reduce the required transmit power and, hence, increase the life of batteries.
Some prior attempts to minimize energy consumption in sensor networks focused on selecting routing paths through a network such that packets were delivered using routes that required the lowest amount of energy. However, these attempts typically did not take into account the fact that sensor nodes at different locations in the network experienced significantly different energy consumption rates. For example, since the nodes in a sensor network are typically arranged in a tree-like network, nodes closest to the monitoring node (also referred to herein as the “sink” node) will be required to transmit more traffic than, for example, a node at the end of a branch of the network tree and will, therefore, experience the greatest energy consumption. Accordingly, other attempts at improving routing in sensor networks focused on maximizing the lifetime of the overall network. As used herein, the lifetime period of a network is defined as being the period of time ending when any node in the network depletes its available energy and, thus, cannot operate any longer. Therefore, routing decisions in these attempts were made to maximize the time before the first occurrence of energy depletion at any node in the network.
Various attempts at lifetime maximization of a network have been made. For example, some attempts relied on only the network layer and routing decisions made in that layer to maximize the life of a network. However, these attempts ignored constraints that were placed on the network at, for example, the medium access control (MAC) layer and/or the physical (PHY) layer of the network. This is undesirable as the operation of these layers of the network can greatly impact energy consumption of the nodes in the network. Therefore, other attempts used a cross-layer method, taking into account operations at the MAC and PHY layers jointly. However, due to the complexity of the routing decisions and computations required for such a cross-layer routing method, these attempts typically relied on centralized control of routing decisions. Such centralized control increased the data traffic overhead due to increased message traffic between various sensor nodes and a central control node and, thus, disadvantageously increased energy consumption throughout the network.
The present invention substantially solves the foregoing problems. In accordance with the principles of the present invention, a distributed routing algorithm at the network layer integrates contention resolution properties from the MAC layer. In one embodiment, an energy constraint is used in a routing algorithm at the network layer of a network to determine a first parameter representing the optimal maximum lifetime of a sensor node. If the transmission medium around a network link is idle, the node may then contend at the MAC layer of the network for a transmission slot across that link. During this contention period, each node is assigned a penalty parameter that is used to represent the probability of a transmission colliding with another transmission across a link in a contention region. According to the results of this contention, network traffic is transmitted from sensor nodes. Advantageously, the network routing algorithm only requires locally-obtainable variables and, therefore, no central control of routing in the network is required.
The network routing technique disclosed herein, when utilized in conjunction with medium access control techniques in accordance with the principles of the present invention, advantageously maximizes the lifetime of the network. These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
In addition to being within the interference range of each other, links may also be in contention with each other for other reasons. For example, one skilled in the art will recognize that various constraints may exist in a network such as the network of
The contention relationship of the links in network 100, such as the contentions discussed above, can be captured by a flow contention graph.
From the flow contention graph 300, cliques can be identified. As used herein, a clique is defined as a sub-graph of a flow contention graph in which each pair of vertices is connected by an edge. The cliques 310 and 320 of the graph in
With the contention graph of
where Ci denotes the set of links in the i-th contention region, and NC is the total number of such regions. One skilled in the art will recognize that the condition in Equation 1 does not always imply that a schedule exists that achieves the flow rates xl. Therefore, any network lifetime solution based on Equation 1 would only represent a maximum possible lifetime, and any data transmission schedule obtained using this condition might not be actually feasible. In order to be able to accomplish MAC scheduling with a feasible and achievable lifetime measurement, the MAC constraints are approximated using the collision statistics obtained from the actual random access procedure as described herein below.
In order to include the energy and the routing requirements, consider a network of sensor nodes nεN, among which Ns nodes are the source nodes where information is generated at an average rate of sn>0. Each link lεL is considered as unidirectional with bidirectional links being represented by two unidirectional links. Accordingly, the flow conservation law of the network can be stated as:
where O(n) is the set of links originating from node n, and I(n) is the set of links entering node n. The values of sn for the non-source nodes are set to zero, signifying that all the traffic entering such nodes must be routed. The energy consumed by transmitting a unit amount of traffic over link l may be denoted as el and the energy stored initially at node n as En. Accordingly, the energy conservation constraint can be written as:
where T is the lifetime of the network. One skilled in the art will recognize that, while the energy consumption associated with reception has been ignored in Equation 3, extending the formulation to include the energy consumption in reception of flows at a sensor node is straightforward.
In light of the foregoing, the lifetime maximization problem with the MAC constraints can be stated as:
One skilled in the art will recognize that the problem represented by Equation 4 can be transformed into a linear programming (LP) problem by replacing the variable T according to the expression q=1/T. As one skilled in the art will recognize, LP problems are optimization problems in which an objective function and the constraints applied to the function are linear. As one skilled in the art will further recognize, LP is a well known method of optimization of network flow problems. Accordingly, with the change of variable q=1/T, the problem can be stated as an LP problem:
One skilled in the art will recognize, however, that any algorithm for solving Equation 5 based on, for example, dual decomposition cannot be fully distributed, since a central node is required to collect information such as Lagrange multipliers associated with energy conservation constraints at the sensor nodes globally across the network. One skilled in the art will also recognize that, since the objective function of Equation 5 is not strictly convex, the primal variables cannot be immediately recovered from the dual variables.
However, the present inventors have recognized that it is possible to obtain a fully distributed algorithm by replacing the objective function q by Σnqn and adding the constraints qn=qm for all n, mεN. Then, each node requires only the Lagrange multipliers of its neighbors, and the need for global coordination is eliminated. To make the objective function strictly convex with respect to qn and xl, the variables qn in the objective are again replaced by qn2, which as one skilled in the art will recognize does not change the optimal solution. Moreover, one skilled in the art will also recognize that adding a small regularization term εΣlxl2 to the objective problem facilitates the recovery of the primal optimal solutions from the dual optimal solutions. The resulting equation is given by:
where T(l) and R(l) are the transmitting and the receiving nodes of link l, respectively. By applying dual decomposition, a fully distributed algorithm can be obtained, shown in the following update Equations 7-12 at the k-th iteration:
where (•)+ denotes max {0,•}; qn*(k) and xl*(k) are the reciprocal of the maximum lifetime and the traffic flow rate through link l, respectively, at iteration k; and λn(k), νn(k), κl(k) and ηi(k) are the dual variables (Lagrange multipliers) at iteration k. The update can be started from any initial point and converges to the optimum value with a properly chosen step sizes αk>0. For example, the step sizes can be chosen to satisfy αk→0 and Σkαk=∞.
These update equations can be viewed as a balancing process analogized to a supply and demand problem. For example, in Equation 12, if the quantity in the parentheses is negative, that means the wireless medium in the i-th contention region is under-utilized, i.e., supply exceeds demand. Thus, the price ηi for the wireless medium is decreased. This, in turn, would lead to an increase of the flow rates across the links in the contention region according to Equation 8. On the other hand, when the quantity in the parentheses in Equation 12 is positive, the price is increased since the demand for the wireless medium exceeds what can be supported. This results in a decrease in the flows across the links in the contention region. Over time, the dual prices converge to the values that can best match supply and demand. One skilled in the art will recognize that such an analogy applies equally to the price for sensor node energy νn represented by Equations 7, 8 and 10.
One skilled in the art will recognize in light of the foregoing that the updates represented by Equations 7, 9 and 10 need to be performed at each sensor node; the updates represented by Equations 8 and 11 need to be evaluated on a per-link basis; and the update represented by Equation 12 must be performed for each contention region. For example, to evaluate Equation 7 at sensor node n, the node first needs to collect the dual prices κl(k) of all the links connected to sensor node n in either direction. Likewise, to perform the update in Equation 12, a coordinating sensor node in the contention region i must be elected first, and the flow rates xl*(k) for all the links in the contention region must be communicated to the coordinating node to do the update.
Therefore, the updates represented by Equations 7-12 are disadvantageous in certain regards. Specifically, before the algorithm is started, each link must explicitly learn the contention regions to which it belongs to perform the update in Equation 8. Also, to perform the update in Equation 12, a local coordinator must be elected in each contention region. While these might not be entirely impossible, they disadvantageously increase the complexity of the MAC protocol. It can also be seen from Equations 8 and 12 that information might need to be exchanged not only between the nodes that have logical connections with each other, but also between those that just interfere with each other. For example, referring once again to
In order to address the foregoing disadvantages, the present inventors have recognized that it is desirable to relax the MAC layer constraints of Equation 1 and to apply a contention penalty term instead to the objective function. The contention penalty term may be generated from the MAC layer when the medium access control procedure is performed by using statistics related to network collisions and any busy medium status. Therefore, the penalty term can be evaluated without any explicit message passing from any one node to another node. Accordingly, the optimization problem in Equation 6 is now revised as:
where β is the parameter that represents the severity of the penalty and πi(•) for i=1, 2, . . . , Nc are the penalty functions for the i-th contention region. As one skilled in the art will recognize, if the penalty functions are chosen appropriately, the solution to Equation 13 closely approximates the solution to the original formulation of Equation 6. The particular form of the penalty term that ensures that the update equation can be implemented using the collision statistic of the individual links, once again, thus avoiding the high message traffic overhead of centralized control.
One skilled in the art will also recognize that Equation 13 is a convex programming problem. Thus, dual decomposition can be applied to obtain the primal and the dual optimal solutions. The update equations to solve Equation 13, therefore, are given by:
where V (x, λ, ν) is defined by:
To solve the minimization in Equation 15 at the k-th iteration, the following sub-iteration is performed for each link i:
which is a gradient descent algorithm with an appropriate step size α>0. Since V(k)(x) is strictly convex, the sequence {xl(k,k+1)}, k′=0, 1, . . . , converges to the unique minimizer x*(k). One skilled in the art will recognize that it is possible to evaluate the penalty term
in Equation 21 without the explicit exchange of information among the nodes in one or more contention regions. This is because the ratio xl/cl represents the fraction of time needed to sustain the flow rate xl and it must obey Equations 1, 20 and 22. Therefore, it is possible to derive a MAC scheme where each link i contends for the medium with probability xl/cl by only considering locally-obtainable values. With such a scheme, as the total time fraction to support the traffic in the contention region i given by
approaches 1, it is more likely to have busy medium status or collision. Mapping
as the contention probability Pi in the contention region i, one can see that the collision probability that link l experiences is:
The overall algorithm for joint routing and medium access control is described in pseudo-code in
also referred to herein as a persistence parameter. To participate in the contention, the transmitter first waits at step 405 for a random period of time that is uniformly generated in the interval [0, B] where the window B is common for all the nodes in the network. After that, if the medium becomes busy, or if it is idle but the subsequent transmission experiences a collision at step 408, xl(k) is decreased by βl, where βl=αβ/cl. At step 409, in every sub-iteration, xl(k) is also decreased by α(2εxl(k)+λT(l)(k)−λR(l)(k)+νT(l)(k)el).
Thus, the algorithm can be efficiently implemented, for example, by utilizing the control signals in the actual data packets. One skilled in the art will recognize that the algorithm of
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
This application claims the benefit of U.S. Provisional Application No. 60/717,211, filed Sep. 15, 2005, which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60717211 | Sep 2005 | US |