This patent application is related to U.S. patent application Ser. No. 12/271,200, “Method for Routing Packets in Ad-Hoc Networks with Partial Channel State Information,” filed by Brand et al. on Nov. 14, 2008, and incorporated herein by reference.
This invention relates generally to wireless ad hoc networks, and more particularly to resource allocation for rateless transmissions.
Unlike conventional wireless networks, such as cellular networks, ad-hoc networks do not have an infrastructure. Typically, ad-hoc networks use a large number of low complexity transceivers (nodes) to communicate information. This decreases cost and sensitivity to failure of a single link. This makes ad-hoc networks candidates for applications that require ultra-reliable communications links.
Highly reliable ad-hoc wireless networks have two competing constraints. The energy consumption has to be low, because the nodes are typically battery operated, and exhausting the battery can lead to failure, and the probability for successful transmission of data should be high. That is, a message is to be transmitted from a source node to a destination node within a predetermined delay constraint. Smaller delays require more energy because higher power may be required to increase reliable reception.
In ad-hoc networks, it is desired to select a route, i.e., a sequence of nodes, which passes the message to the destination within the delay constraint, while minimizing energy consumption. A simple solution uses physical-layer transmission with a fixed message size and coding rate, selected so that that each link simply attempts to transmit a message within a fixed interval of time. Then, meeting the delay constraint is equivalent to limiting the number of hops.
However, this simple approach ignores the possibility of decreasing the overall delay by using more energy on certain links, and, possibly less on others. For a single link, the trade-off between transmission time and energy is straightforward. According to the Shannon's capacity equation, the possible data rate increases logarithmically with the transmit power. However, for networks with multiple hops, the trade-off becomes much more complicated. It involves selecting a route and then an energy level for each hop along the route.
Fountain Code
Fountain codes (also known as rateless erasure codes) are a class of erasure codes with the property that a potentially limitless sequence of encoding symbols can be generated from a given set of source symbols such that the original source symbols can be recovered from any subset of the encoding symbols of size equal to or only slightly larger than the number of source symbols.
The fountain code is optimal when the original k source symbols can be recovered from any k encoding symbols. Fountain codes have efficient encoding and decoding algorithms and that allow the recovery of the original k source symbols from any k′ of the encoding symbols with high probability, where k′ is just slightly larger than k.
Conventional methods for resource allocation for multi-hop fountain-coded transmissions are iterative, and each step has high polynomial computational complexity.
It is desired to minimize the total energy needed to propagate a message along a path of wireless links within a fixed time constraint, considering that following nodes are receiving fragments of previous fountain-coded transmissions.
It is an object of the invention to provide a method that minimizes the total energy needed to transmit a message along a path of wireless links within a fixed time constraint, considering that following nodes accumulates fragments of the message from previous rateless transmissions.
One embodiment of the invention describes a method for transmitting a message from a source node, via a set of relay nodes, to a destination node, wherein a source entropy of the message is X nats, and wherein the set of relay nodes includes a node i and a node j following node i, and the set of relay nodes are connected by wireless links, and each link has a channel power gain γij, and the transmitting has a time constraint T, comprising a processor for performing steps of the method, comprising the step of: minimizing a number of nats xi in the message to be transmitted from the node i to the next node j, wherein the next node j is guaranteed to receive a number of accumulated nats xac from one or more previous transmissions, such that a sum of the number of nats xi and the number of accumulated nats xac is not less than the source entropy X; allocating a set of resources for transmitting the message from the node i to the next node j; and transmitting the message from the node i to the next node j using the set of resources.
Another embodiment describes a method for transmitting a message of a source entropy from a source node, via a set of relay nodes, to a destination node, the set of relay nodes includes a node and a next node connected by a wireless link, wherein the next node is guaranteed to receive accumulated nats from one or more previous transmissions of the message, in which a transmission of the message from the node to the next node includes determining the accumulated nats guaranteed to be received by the next node; calculating minimal nats of the message to be transmitted from the node to the next node, such that a sum of the minimal nats and the accumulated nats is not less than the source entropy; and transmitting the message having the minimal nats from the node to the next node.
Yet another embodiment describes a system for transmitting a message of a source entropy from a source node, via a set of relay nodes, to a destination node, the set of relay nodes includes a node and a next node connected by a wireless link, wherein the next node is guaranteed to receive accumulated nats from one or more previous transmissions of the message, comprising: means for determining the accumulated nats guaranteed to be received by the next node; means for calculating minimal nats of the message to be transmitted from the node to the next node, such that a sum of the minimal nats and the accumulated nats is not less than the source entropy; and means for transmitting the message having the minimal nats from the node to the next node.
The relay nodes 102 include a node i 106 and a node j 107, wherein node i precedes node j. A power gain is γij for a channel 110 between the node i 106 and the node j 107. Note that the node i 106 is neither the source node 101 nor the destination node 103. However, the node j could be any node following the node i in the network 100, including the destination node 103.
The embodiments of the invention use multi-hop fountain-coded transmissions of the message through the network 100. Fountain coded systems can optimize multi-hop transmissions by making use of bits received by following receivers. For example, when the node i 106 transmits the message to a next node 108, the “following” node j receives at least part of the message via the channel 110. The size of the part received by the node j depends on the power gain γij of the channel 110.
Accordingly, the node j accumulates a number of accumulated nats xac from all previous transmissions. For example, the node j 107 accumulates nats received from the transmission from the source node 101 to the node i 106 as well as nats received from the transmission from the node i 106 to the node i+1 108.
Energy Minimization for Fountain-Coded Transmission
The embodiments of the invention minimize overall energy subject to the time constraint. The relationship between an energy ei, a transmission time ti, a transmission power pi, and minimal nats transmitted xi→j (bits=nats×log 2), is disclosed in an Equation (1)
where min function returns a minimum.
The equalities follow from (a) energy=time×power; (b) the power needed to transmit x nats in t time units according to the Shannon-Hartley capacity law; and (c) the Shannon-Hartley law solved for nats.
The third line of the Equation (1) describes the distinctive feature of fountain coding, i.e., each node j accumulates nats transmitted from predecessor nodes i<j. For clarity, xi is used for xi→i+1, γi for γi→i+1.
Transmitting xi nats from the node i to the next node in time ti requires power pi=(ex
The embodiments use a lower bound on transmitted nats li≦xi, such that the bound in Equation (2) is sharpened by changing ∞ to the maximum total time T, yielding
wherein the second inequality in the Equation (3) is tight when li→0.
The first inequality in the Equation (3) is made by construction. The second inequality is a linearization by series expansion around li=0, and is a lower bound because for γi−j/γi≦1 the formula is convex.
Neither bound considers time or power allocations, so I can determine independently the nat-allocation along the path. For example, in the first two links, x1=X and x1→3≧x1·γi→3/γ1. If each node minimizes the number of nats to transmit, i.e., the minimal nats are sufficient nats to make sure the next node receives the full message, then the upper bound is
x2=X−x1→3≦X(1−γi→3/γ1).
As defined herein, rij is a coefficient describing the receiving in the following node j of the transmitting of the number of nats xi from the node i to the next node, e.g., rij is the coefficient to xi in the Equation (2) or the Equation (3).
The last line of constraints in the original problem (1) is tightened to
Since ∀ijrij≧0, the modified constraint is a convex cone. Since the modified constraint upper-bounds the number of nats that need to be transmitted, the feasible region of the modified problem is strictly interior to that of the original, and thus its solution is an upper bound. Thus, the Equation (4) is convex, and its solution upper-bounds that of the original problem of the Equation (1).
For any particular power allocation ei, the relationship between nats xi and energy ei is linear. Thus, the Equation (4) is a constraint of a nat-allocation linear program (LP).
Furthermore, the solution of the Equation (4) is substituted into the original Equation (1), and obtain a separable convex program,
The Equation (5) could be solved using a hyperbolic upper-bound with closed form solution in described in the related U.S. patent application Ser. No. 12/271,200, incorporated herein by reference.
Resources Allocation
A minimal nats xi of the message to be transmitted from the node i to the next node is determined, considering that the next node already received and accumulated a number of accumulated nats xac from previous transmissions.
According to rateless, e.g., fountain-coded, transmission, each node should receive at least a full message, thus the sum of the minimal nats xi and the accumulated nats xac should not be less than X nats, wherein X nats is a source entropy of the message. Time T 210 for the transmission of the message from the source node to the destination node, and channel power gains γij 215 of the links in the network 100 are inputs to the method 200.
For the determining 220, I minimize a weighted sum of all nats transmitted via the relay of nodes 102 subject to the constraint that each node 102 receives the full message of size X according to
where min is a minimization function, ci is a cost parameter, rij is a number of the nats xi received by the node j as a result of the transmission from the node i to the next node.
Equation (6) is the nat-allocation LP, which can be rewritten in canonical form 350 as shown on
where b is a nats allocation vector 310, such that b=1·X, A is a triangular matrix 330, such that Ai≧j=rij, where i and j are indices of the relay nodes, and c is a vector 340 of cost parameters ci, such that ci=1/γi. The triangular matrix A 330 can be rewritten for the channel power gains γij, or for the cost parameters cij. Vector xi 225 describes the minimal nats to be transmitted from the node i to the next node.
Closed-Form Solution of the LP
The number of nats xi 225 is determined 220 by arithmetically solving the LP, i.e., sequentially choosing the smallest xi to satisfy the ith constraint, if the triangular matrix A 330 is cascading. Otherwise, I determining 220 the number of nats xi 225 by solving the LP using a conventional linear program solver.
The triangular matrix A 330 is cascading if each diagonal dominates the next diagonal, i.e., Aij>Aij-1 and Aij>Ai+1j, which corresponds to the case where the channel gain ratios rij decrease with hop-distance |i−j| in the path.
If matrix A 330 is cascading and ci≧ci+1, than each row of the matrix A 330 is increasing from left to right. For any i<j, it costs more to satisfy the jth constraint by increasing xi than by increasing xj. Consequently the optimal xj takes on the minimum value needed to satisfy ith constraint; subsequent constraints can be ignored. If C≐diag(c) and y≐Cx the LP could be rewritten as min(cTC−1)(Cx)=1Ty such that (AC−1)(Cx)=AC−1y≧b, which indicates that a sequential solution is possible.
The sequential arithmetic solution {circumflex over (x)} may coincide with the LP optimum, even if the problem is not cascading. In fact, I can check for optimality by solving a triangular linear system of equations.
If solution {circumflex over (x)} is optimal and positive, slack variables in the LP and a dual variables must be zero. In LP a slack variable is a variable which is added to a constraint to turn the inequality into an equation. The Duality Theorem implies a relationship between a primal and a dual variable known as a complementary slackness.
According to the complementary slackness, the dual variable y must be strictly positive for unique optima; and non-negative otherwise. Zero slack variables imply ATy=c. Since matrix A is full-rank, solutions {circumflex over (x)} and ŷ are unique. Since the LP is strictly positive it is primal and dual bounded and thus by strong duality, bTŷ=cT{circumflex over (x)}. Thus, if {circumflex over (x)}>0 and ATy=c has solution ŷ satisfying ŷ≧0 and cT{circumflex over (x)}=bTŷ, then {circumflex over (x)} optimizes the LP, and if solution ŷ>0, solution {circumflex over (x)} is unique.
Conserving Energy in the LP
At fixed power, the transmit time over each link is proportional to the number of nats transmitted, i.e., ti=kixi for some coefficient ki to be determined below. Furthermore, the minimal energy needed to transmit xi nats in time ti=kixi is ei=xi·ki/γi(exp 1/ki−1). Hence, energy ei is linear in nats xi, and the nat-allocation linear program (7) considers energy by setting ci=ki/γi(exp 1/ki−1).
For energy minimization using hyperbolic bounds of order n, the optimal time allocation increases with the (n+1)th root of the attenuation, see the related U.S. patent application Ser. No. 12/271,200, incorporated herein by reference. I use
for some λ, which is proportional to the Lagrange multiplier of the time allocation problem. Then, the linear program cost coefficients are
The first λ out of Equation (8) can be eliminated because the LP solution only depends on the ratios ci/cj. Similarly, since we need to preserve ratios,
for general a,b and therefore the subexpression
can be replaced with
when the Lagrange multiplier is large. So for a large gain λ, the cost coefficient of Equation (8) simplifies to
ci−γi−1 (9)
For a small gain λ, I approximate the cost structure of the Equation (9). An error bound on the ratio ci/cj is developed using Equation (9) in place of the Equation (8).
For b≧a>0 and any error fraction δ>0,
the first inequality holds always, and the second holds when the gain λ meets or exceeds any of
The first inequality is obtained from
which is described below. For the second inequality, since
I solve
to obtain a guarantee at
The second form places a chord inside the convex denominator on δε[0, z]; the third relaxes the slope of the chord; the fourth relaxes its intercept.
Setting
and multiplying the guarantee by
then yields a bound on any error in the LP cost coefficients:
Given the cost structure ci∞γi−1, Adiag(c)−1 is a lower triangular matrix of channel gains. This matrix is expected to cascade, because channel gains γi→j usually decrease with hop-distance |i−j| in the path. For example, a sufficient, but not necessary condition, that often holds in practice, is that all gains on links spanning k hops are greater than all gains on links spanning k+1 hops, for all k.
Allocation of Resources
Using the minimal nats xi 225 to be transmitted by each node 240, I allocate 230 the resources necessary for the transmission 240. During the allocation step 230, I determine the energy ei required for the transmitting 240 the message 245 of nats xi within the transmission time ti by finding a hyperbolic upper bound with closed-form solution for an energy curve
Similarly, I determining the transmission time ti based on the energy ei. Details on finding the hyperbolic upper bound are disclosed in the related U.S. patent application Ser. No. 12/271,200. Finally, I determine the transmission power pi required for the transmitting the number of nats xi within the transmission time ti based on the energy ei and the transmission time ti according to pi=ei/ti.
Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
6873600 | Duffield et al. | Mar 2005 | B1 |
7460495 | Li | Dec 2008 | B2 |
7593342 | Molisch et al. | Sep 2009 | B2 |
7822029 | Brand et al. | Oct 2010 | B2 |
20090122700 | Aboba et al. | May 2009 | A1 |
20100157901 | Sanderovitz et al. | Jun 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20100246473 A1 | Sep 2010 | US |