# Patent

## Title
Resource allocation for rateless transmissions

## Abstract

A method transmits 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.

## Background
RELATED PATENT APPLICATION
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.
FIELD OF THE INVENTION
This invention relates generally to wireless ad hoc networks, and more particularly to resource allocation for rateless transmissions.
BACKGROUND OF THE INVENTION
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.
SUMMARY OF THE INVENTION
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.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic of a relay network according to embodiments of an invention with an optimal source-to-destination route highlighted;
FIG. 2 is a block diagram of a method for resource allocation for multi-hop fountain-coded transmissions of a message according to the embodiments of the invention; and
FIG. 3 is an example of a nat-allocation linear program (LP) according to the embodiments of the invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 shows a relay network 100 according to embodiments of the invention with an optimal source-to-destination route highlighted. Embodiments of my invention use the network 100 for transmitting a message having a size of X nats from a source node 101 to a destination node 103 via relay of nodes 102. Time for the transmission of the message is constrained, i.e., the transmission from the source node, via the relay of nodes, to the destination node should not be greater than a predetermined T.
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)




  
    
      
        
          
            min
            ⁢
            
              
                ∑
                i
              
              ⁢
              
                e
                i
              
            
          
          ⁢
          
            =
            a
          
          ⁢
          
            
              
                ∑
                i
              
              ⁢
              
                
                  t
                  i
                
                ⁢
                
                  p
                  i
                
              
            
            ⁢
            
              =
              b
            
            ⁢
            
              
                ∑
                i
              
              ⁢
              
                
                  
                    t
                    i
                  
                  ⁡
                  
                    (
                    
                      
                        e
                        
                          
                            x
                            
                              i
                              →
                              
                                i
                                +
                                1
                              
                            
                          
                          /
                          
                            t
                            i
                          
                        
                      
                      -
                      1
                    
                    )
                  
                
                /
                
                  γ
                  
                    i
                    →
                    
                      i
                      +
                      1
                    
                  
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            s
            .
            t
            .
            
              
                
                  
                    
                  
                  ∑
                
                t
              
              ⁢
              
                t
                i
              
            
          
          ≤
          T
        
        ⁢
        
          

        
        ⁢
        
          
            
              ∀
              
                j
                >
                
                  2
                  ⁢
                  
                    
                      ∑
                      
                        i
                        <
                        j
                      
                    
                    ⁢
                    
                      x
                      
                        i
                        →
                        j
                      
                    
                  
                
              
            
            ⁢
            
              =
              c
            
            ⁢
            
              
                
                  ∑
                  
                    i
                    <
                    j
                  
                
                ⁢
                
                  
                    t
                    i
                  
                  ⁢
                  
                    log
                    ⁡
                    
                      (
                      
                        1
                        +
                        
                          
                            p
                            i
                          
                          ⁢
                          
                            γ
                            
                              i
                              →
                              j
                            
                          
                        
                      
                      )
                    
                  
                
              
              ≥
              X
            
          
          ,
        
      
    
    
      
        (
        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=(exi/ti−1)/γi. Substituting the power in the Shannon-Hartley equation yields the nats received at following node j (j>i). The resulting curve is concave decreasing in time ti so at tine ti→∞, the minimum-nats transmission is achieved. Thus, if the node i 106 transmits xi nats, the following node j (j>i) receives at least




  
    
      
        
          
            x
            
              i
              →
              j
            
          
          ≥
          
            
              lim
              
                
                  t
                  i
                
                →
                ∞
              
            
            ⁢
            
              
                t
                
                  i
                  ⁢
                  
                    
                  
                
              
              ⁢
              
                log
                ⁡
                
                  (
                  
                    1
                    +
                    
                      
                        
                          
                            e
                            
                              
                                x
                                i
                              
                              /
                              
                                t
                                i
                              
                            
                          
                          -
                          1
                        
                        
                          γ
                          i
                        
                      
                      ⁢
                      
                        γ
                        
                          i
                          →
                          j
                        
                      
                    
                  
                  )
                
              
            
          
        
        =
        
          
            x
            i
          
          ⁢
          
            
              
                γ
                
                  i
                  →
                  j
                
              
              
                γ
                i
              
            
            .
          
        
      
    
    
      
        (
        2
        )
      
    
  




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




  
    
      
        
          
            x
            
              i
              →
              j
            
          
          ≥
          
            
              
                x
                i
              
              ·
              
                T
                
                  l
                  i
                
              
            
            ⁢
            
              log
              ⁡
              
                (
                
                  1
                  +
                  
                    
                      
                        γ
                        
                          i
                          →
                          j
                        
                      
                      
                        γ
                        i
                      
                    
                    ⁢
                    
                      (
                      
                        
                          e
                          
                            h
                            /
                            T
                          
                        
                        -
                        1
                      
                      )
                    
                  
                
                )
              
            
          
          ≥
          
            
              x
              i
            
            ⁡
            
              (
              
                
                  
                    γ
                    
                      i
                      →
                      j
                    
                  
                  
                    γ
                    i
                  
                
                +
                
                  
                    
                      l
                      i
                    
                    
                      2
                      ⁢
                      T
                    
                  
                  ⁢
                  
                    (
                    
                      
                        
                          γ
                          
                            i
                            →
                            j
                          
                        
                        
                          γ
                          i
                        
                      
                      ⁢
                      
                        (
                        
                          1
                          -
                          
                            
                              γ
                              
                                i
                                →
                                j
                              
                            
                            
                              γ
                              i
                            
                          
                        
                        )
                      
                    
                    )
                  
                
              
              )
            
          
        
        ,
      
    
    
      
        (
        3
        )
      
    
  




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




  
    
      
        
          ∀
          
            j
            >
            2
          
        
        ⁢
        
          
            
              ∑
              
                i
                <
                j
              
            
            ⁢
            
              
                x
                i
              
              ⁢
              
                r
                ij
              
            
          
          ≥
          
            X
            .
          
        
      
    
    
      
        (
        4
        )
      
    
  




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,




  
    
      
        
          min
          ⁢
          
            
              ∑
              i
            
            ⁢
            
              
            
            ⁢
            
              
                
                  t
                  i
                
                ⁡
                
                  (
                  
                    
                      e
                      
                        
                          x
                          i
                        
                        /
                        
                          t
                          i
                        
                      
                    
                    -
                    1
                  
                  )
                
              
              /
              
                γ
                i
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            s
            .
            t
            .
            
              
                
                  
                    
                  
                  ∑
                
                i
              
              ⁢
              
                
              
              ⁢
              
                t
                i
              
            
          
          ≤
          T
        
      
    
    
      
        (
        5
        )
      
    
  




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
FIG. 2 shows a method 200 for allocating resources for multi-hop fountain-coded transmissions of a message according to embodiments of the invention. The steps of the method 200 are performed using a processor 295.
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




  
    
      
        
          min
          ⁢
          
            
              ∑
              i
            
            ⁢
            
              
            
            ⁢
            
              
                c
                i
              
              ⁢
              
                x
                i
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            s
            .
            t
            .
            
              
            
            ⁢
            
              
                ∀
                
                  j
                  >
                  2
                
              
              ⁢
              
                
                  
                    ∑
                    
                      i
                      <
                      j
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      x
                      i
                    
                    ⁢
                    
                      r
                      ij
                    
                  
                
                ≥
                X
              
            
          
          ,
        
      
    
    
      
        (
        6
        )
      
    
  




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 FIG. 3




  
    
      
        
          
            
              min
              
                X
                ≥
                0
              
            
            ⁢
            
              
                c
                ⊤
              
              ⁢
              x
              ⁢
              
                
              
              ⁢
              such
              ⁢
              
                
              
              ⁢
              that
              ⁢
              
                
              
              ⁢
              Ax
            
          
          ≥
          b
        
        ,
      
    
    
      
        (
        7
        )
      
    
  




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




  
    k
    i
  
  =
  
    λ
    /
    
      
        γ
        i
      
      
        n
        +
        1
      
    
  




for some λ, which is proportional to the Lagrange multiplier of the time allocation problem. Then, the linear program cost coefficients are





  
    
      
        
          c
          i
        
        =
        
          
            
              λγ
              i
              
                
                  -
                  
                    (
                    
                      n
                      +
                      2
                    
                    )
                  
                
                /
                
                  (
                  
                    n
                    +
                    1
                  
                  )
                
              
            
            ⁡
            
              (
              
                
                  exp
                  ⁢
                  
                    
                      
                        γ
                        i
                      
                      
                        n
                        +
                        1
                      
                    
                    /
                    λ
                  
                
                -
                1
              
              )
            
          
          .
        
      
    
    
      
        (
        8
        )
      
    
  




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,




  
    
      
        lim
        
          λ
          →
          ∞
        
      
      ⁢
      
        
          
            
              exp
              a
            
            /
            λ
          
          -
          1
        
        
          
            
              exp
              b
            
            /
            λ
          
          -
          1
        
      
    
    =
    
      a
      b
    
  
  ,
  
    

  
  ⁢
  
    if
    ⁢
    
      
    
    ⁢
    
      
        ∀
        i
      
      ⁢
      
        
          λ
          ^
        
        ⪢
        
          
            
              γ
              i
            
            
              n
              +
              1
            
          
          .
        
      
    
  




for general a,b and therefore the subexpression





  
    exp
    ⁢
    
      
        
          γ
          i
        
        
          n
          +
          1
        
      
      /
      λ
    
  
  -
  1




can be replaced with





  
    γ
    i
  
  
    n
    +
    1
  




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,




  
    
      a
      b
    
    ≥
    
      
        
          
            exp
            a
          
          /
          λ
        
        -
        1
      
      
        
          
            exp
            b
          
          /
          λ
        
        -
        1
      
    
    ≥
    
      
        (
        
          1
          -
          δ
        
        )
      
      ⁢
      
        a
        b
      
    
  
  ;




the first inequality holds always, and the second holds when the gain λ meets or exceeds any of





  
    
      
        b
        -
        a
      
      
        -
        
          log
          ⁡
          
            (
            
              1
              -
              δ
            
            )
          
        
      
    
    ≤
    
      
        b
        -
        a
      
      
        
          δ
          z
        
        ⁢
        log
        ⁢
        
          1
          
            1
            -
            z
          
        
      
    
    <
    
      
        b
        -
        a
      
      δ
    
    <
    
      
        b
        δ
      
      ⁢
      
        
      
      ⁢
      for
      ⁢
      
        
      
      ⁢
      δ
    
    ≥
    z
    >
    0
  
  ,




The first inequality is obtained from




  
    
      
        lim
        
          λ
          -
          ∞
        
      
      ⁢
      
        
          
            
              exp
              a
            
            /
            λ
          
          -
          1
        
        
          
            
              exp
              b
            
            /
            λ
          
          -
          1
        
      
    
    =
    
      a
      b
    
  
  ,




which is described below. For the second inequality, since





  
    
      
        
          
            exp
            a
          
          /
          λ
        
        -
        1
      
      
        
          
            exp
            b
          
          /
          λ
        
        -
        1
      
    
    ≥
    
      
        a
        ⁢
        
          
        
        ⁢
        
          
            exp
            a
          
          /
          λ
        
      
      
        b
        ⁢
        
          
        
        ⁢
        
          
            exp
            b
          
          /
          λ
        
      
    
  
  ,




I solve





  
    
      
        exp
        a
      
      /
      λ
    
    
      
        exp
        b
      
      /
      λ
    
  
  =
  
    (
    
      1
      -
      δ
    
    )
  




to obtain a guarantee at





  λ
  ≥
  
    
      
        b
        -
        a
      
      
        -
        
          log
          ⁡
          
            (
            
              1
              -
              δ
            
            )
          
        
      
    
    .
  




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




  a
  =
  
    
      
        
          γ
          i
        
        
          n
          +
          1
        
      
      ⁢
      
        
      
      ⁢
      and
      ⁢
      
        
      
      ⁢
      a
    
    =
    
      
        γ
        j
      
      
        n
        +
        1
      
    
  




and multiplying the guarantee by





  
    
      a
      
        
          -
          n
        
        -
        2
      
    
    
      b
      
        
          -
          n
        
        -
        2
      
    
  
  =
  
    
      γ
      i
      
        
          -
          
            (
            
              n
              +
              2
            
            )
          
        
        /
        
          (
          
            n
            +
            1
          
          )
        
      
    
    
      γ
      j
      
        
          -
          
            (
            
              n
              +
              2
            
            )
          
        
        /
        
          (
          
            n
            +
            1
          
          )
        
      
    
  




then yields a bound on any error in the LP cost coefficients:





  
    
      
        
          
            γ
            i
            
              -
              1
            
          
          
            γ
            j
            
              -
              1
            
          
        
        ≥
        
          
            c
            i
          
          
            c
            j
          
        
        ≥
        
          
            (
            
              1
              -
              δ
            
            )
          
          ⁢
          
            
              
                γ
                i
                
                  -
                  1
                
              
              
                γ
                j
                
                  -
                  1
                
              
            
            .
          
        
      
    
    
      
        (
        10
        )
      
    
  




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




  
    
      e
      i
    
    =
    
      
        
          t
          i
        
        ⁡
        
          (
          
            
              e
              
                
                  x
                  i
                
                /
                
                  t
                  i
                
              
            
            -
            1
          
          )
        
      
      /
      
        γ
        i
      
    
  
  ,
  
    
      such
      ⁢
      
        
      
      ⁢
      that
      ⁢
      
        
      
      ⁢
      
        
          ∑
          i
        
        ⁢
        
          
        
        ⁢
        
          t
          i
        
      
    
    ≤
    
      T
      .
    
  




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.

## Claims

1. 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 node j using the set of resources, wherein the steps are performed in the processor.

2. The method of claim 1, wherein the set of resources is selected from the group including a transmission time ti required for the transmitting the number of nats xi, an energy ei required for the transmitting the number of nats xi within the transmission time ti, a transmission power pi required for the transmitting the number of nats xi within the transmission time ti, and combination thereof.

3. The method of claim 1, wherein the minimizing further comprising:
constructing a nat-allocation linear program (LP)
min cTx such that Ax>b
X≧0
wherein b is a nats allocation vector, such that b=1·X, A is a triangular matrix, such that Ai≧j=rij is an index of a next node, such that j>i, the next node j is connected to the node i by a wireless link with a channel power gain γij, ci is cost parameter vector, such that ci=1/γi, rij is a coefficient describing an overhearing in the following node j the transmitting of the number of nats xi from the node i to the next node, min is a function that returns a minimum, and T is a tranpose operator; and
determining the number of nats xi by arithmetically solving the LP, if the triangular matrix A is cascading; and otherwise
determining the number of nats xi by solving the LP using a generic linear program solver.

4. The method of claim 3, wherein the allocating further comprising:
constructing an energy curve ei=ti(exi/ti−1)/γi,
determining hyperbolic upper bounds for the energy curve; and
determining the energy ei and the transmission time ti by solving in closed-form for a lowest point on a sum of the hyperbolic upper bounds that satisfies





  
    
      ∑
      i
    
    ⁢
    
      t
      i
    
  
  ≤
  
    T
    .

5. The method of claim 4, wherein the allocating further comprising:
tighting the hyperbolic upper bounds based on the energy ei and the transmission time ti; and
repeating the allocating.

6. The method of claim 4, wherein the allocating further comprising:
determining the transmission power p, based on the energy ei and the transmission time ti according to pi=ei/ti.

7. The method of claim 1, wherein the following node j is the destination node.

8. A method for transmitting a message from a source node, via a set of relay nodes, 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 message, comprising a processor for performing the steps of the method, wherein the transmission of the message from the node to the next node comprising the steps of:
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, wherein the steps are performed in the processor.

9. The method of claim 8, further comprising:
allocating a set of resources for the transmitting of the message.

10. The method of claim 8, wherein the determining and the calculating further comprising:
constructing a nat-allocation linear program (LP); and
solving LP to determine the minimal nats.

11. The method of claim 10, wherein the solving uses a triangular matrix, the solving further comprising:
solving the LP arithmetically, if the triangular matrix is cascading.

12. The method of claim 10, wherein the solving uses a triangular matrix, the solving further comprising:
solving the LP using a generic linear program solver, if the triangular matrix is not cascading.

13. The method of claim 9, wherein the set of resources is selected from the group including a transmission time, an energy, a transmission power, and combination thereof.

14. The method of claim 13, further comprising:
determining the energy and the transmission time based on the minimal nats, a power gain of a channel between the node and the next node, and a time constrain for the transmission from the source node, via the relay of nodes, to the destination node.

15. The method of claim 14, further comprising:
determining the transmission power based on the energy and the transmission time.

16. The method of claim 8, wherein the transmission is a rateless erasure codes transmission.

17. The method of claim 8, wherein the transmission is a Fountain-Coded transmission.