41. toward practical opportunistic routing with intra-session network coding for mesh networks

Upload: ieeexploreprojects

Post on 04-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    1/14

    1

    Toward Practical Opportunistic Routing with

    Intra-session Network Coding for Mesh Networks

    Bozidar Radunovic1, Christos Gkantsidis1, Peter Key1, Pablo Rodriguez2

    1 Microsoft Research 2 Telefonica ResearchCambridge, UK Barcelona, Spain

    {bozidar,chrisgk,peter.key}@microsoft.com [email protected]

    AbstractWe consider opportunistic routing in wireless meshnetworks. We exploit the inherent diversity of the broadcastnature of wireless by making use of multi-path routing. Wepresent a novel optimization framework for opportunistic routingbased on network utility maximization (NUM) that enables usto derive optimal flow control, routing, scheduling, and rateadaptation schemes, where we use network coding to ease therouting problem. All previous work on NUM assumed unicasttransmissions; however, the wireless medium is by its nature

    broadcast and a transmission will be received by multiple nodes.The structure of our design is fundamentally different; thisis due to the fact that our link rate constraints are definedper broadcast region instead of links in isolation. We proveoptimality and derive a primal-dual algorithm that lays the basisfor a practical protocol. Optimal MAC scheduling is difficultto implement, and we use 802.11-like random scheduling ratherthan optimal in our comparisons. Under random scheduling, ourprotocol becomes fully decentralized (we assume ideal signaling).The use of network coding introduces additional constraints onscheduling, and we propose a novel scheme to avoid starvation.We simulate realistic topologies and show that we can achieve 20-200% throughput improvement compared to single path routing,and several times compared to a recent related opportunisticprotocol (MORE).

    Index Termswireless mesh networks, network coding, op-portunistic routing, broadcast, multi-path routing, flow control,fairness, rate adaptation

    I. INTRODUCTION

    One of the main challenges in building wireless mesh net-

    works ([1], [2], [3]) is to guarantee high performance despite

    the unpredictable and highly-variable nature of the wireless

    channel. In fact the use of wireless channels presents some

    unique opportunities that can be exploited to improve the

    performance. For example, the broadcast nature of the medium

    can be used to provide opportunistic transmissions as sug-

    gested in [4]. In addition, in wireless mesh networks, thereare typically multiple paths connecting each source destination

    pair, hence using some of these paths in parallel can improve

    performance [5], [6].

    However most of the existing work on optimal wireless

    protocol design (c.f. [7]) ignores the broadcast nature of the

    channel. Instead, a transmitter selects a priori the next-hop

    for a packet, and if the selected next-hop has not received the

    packet, the packet is retransmitted (even though another next-

    hop neighbor may have received it correctly). The routing is

    not opportunistic (as in [4]) and the diversity of the broadcast

    medium is ignored.

    The main focus of this paper is the optimal use of both

    multiple paths and opportunistic transmission. We use intra-

    session network coding [8] to simplify the problem of schedul-

    ing packet transmissions across multiple paths, as others have

    done to [5], [6], [9]. We propose a network optimization

    framework that optimizes the rate of packet transmissions

    between source and destination pairs.

    In order to use the resources of a wireless mesh networkefficiently, the system needs to take into account: (a) the

    existence of multiple paths, (b) the unreliable nature of wire-

    less links, (c) the existence of multiple transmission powers

    and rates (which in turn affects the probability of correct

    packet reception), (d) the broadcast nature of the channel, (e)

    competition among many flows, (f) fairness and efficiency.

    Observe that optimizing across all these parameters implies

    optimizing across multiple layers of the networking stack;

    for example, the choice of transmission power and rate is

    typically done at the physical layer, whereas coordination

    among different flows is typically done at the network layer.

    As we shall see, it is important to perform such cross-layer

    optimizations to achieve optimal performance.We use an optimization framework to design a distributed

    maximization algorithm. We account for transport layer con-

    trols and address questions of fairness by maximizing the

    aggregate utility of the end-to-end flows, where we associate

    a utility function U() with a flow. Because we use networkcoding, our optimization leverages existing theory [10], [9].

    Our algorithm is a primal-dual algorithm [11]. The primal

    formulation expresses the optimization problem as a function

    of the rates of the various flows in the network; the dual for-

    mulation uses as variables the queue lengths (per flow and per

    node). The main advantage of using the dual formulation of the

    optimization problem is that the dual variables (also referred

    as shadow prices) relate to queue lengths and can be directlyused by back-pressure algorithms for flow control [12], [7].

    As a simple example, a large number of queued packets for

    a particular flow at an internal node can be interpreted that

    the path going through that node is congested and should

    be avoided. The main advantage of using the primal-dual

    formulation is that it adapts the primal variables (i.e. flow

    rates) more slowly, hence, allows TCP-like window-based

    rate control modeling (as originally mentioned by Erylimaz

    et al. [12]). We propose a novel algorithm for cross-layer

    optimization and prove, using Lyapunov functions, that it

    converges to the optimal rate allocation.

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    2/14

    2

    Despite using similar optimization techniques to prior work

    (e.g. [12], [7], [13], [14], [11]), the solution to our problem

    is very different. We define rate constraint for each set of

    broadcast receivers. Consequently, dual variables are related

    to these broadcast sets, and allow us to adjust the level of

    opportunism as a function of a congestion in the rest of the

    network.

    The proposed optimization framework is difficult to im-

    plement; indeed, the joint scheduling, rate and power control

    problem is NP-hard [15]. Additionally, current wireless MAC

    protocols use uncontrolled randomized channel scheduling.

    We propose a distributed heuristic based on the optimal algo-

    rithm. We show that, even in the absence of optimal channel

    scheduling, the other aspects of the optimization problem

    (i.e. flow selection and transmission rate selection) still give

    performance advantages. Hence, our heuristic hints toward an

    implementation in practical systems. The fundamental idea

    behind our algorithm (and, of its distributed implementation)

    is to assign credits to nodes, transfer credits between nodes,

    and schedule on the basis of credits (see Sec. III for more

    details).The main contributions of our paper are as follows:

    We propose a network wide optimization algorithm thatmaximizes rate-based global network performance, and ex-

    tends previous work by incorporating broadcast/opportunistic

    routing, multi-path routing, and fairness/rate control (Sec-

    tions II and III). We introduce a notion of virtual packets,

    called credits, that enable us to decouple routing and flow

    control from actual packet transmissions and delivery. We

    prove the optimality of the algorithm.

    Based on the optimization algorithm, we give a dis-tributed implementation (assuming ideal signaling) of routing,

    rate adaptation, and flow control for networks with random

    scheduling (Section III-C) that outperforms existing algo-

    rithms. We prove that our algorithms extends and outperforms

    a recent proposal, MORE [5]. The distributed algorithm can

    be used with the current 802.11 MAC, and indeed is MAC

    independent.

    Practical network coding schemes use finite generation sizes.We show that a naive approach for scheduling generations may

    lead to starvation. We propose a novel heuristic and we demon-

    strate that it circumvents network starvation (Section IV-A).

    We demonstrate that rate selection is important for opti-mizing performance in 802.11a networks (Section IV-B). We

    confirm the findings from [5] that such optimizations are not

    necessary for 802.11b networks.

    Using simulation on realistic topologies, we show we canachieve 20-100% throughput improvement with our distributed

    implementation compared to single path routing, and 20-300%

    compared to MORE [5] (Section V).1

    The rest of the paper is organized as follows. Section II de-

    scribes the model we are using. Section III gives the optimiza-

    tion problem, describes an approximation of the problem that

    1Observe that MORE optimizes the number of delivered packets for flowsin isolation, and,when multiple flows are active, may perform worse thansingle path routing w.r.t. rates.

    3

    1

    2

    4

    p12

    p13

    p24

    p34

    C12

    C13

    y12

    y13

    C1{2,3}

    Fig. 1. A network with 4 nodes is shown on the left. For example, anactivation profile {(1, 2), (3, 4)} depicts a profile where nodes 1 and 3 aretransmitting, node 2 is receiving a packet from node 1, while node 4 isreceiving from node 3. Profile {(1, {2, 3})} depicts node 1 transmittingand nodes 2 and 3 receiving (the same) packet from node 1. The feasiblerate region for (y12, y13) is given on the right, described by inequalities:

    jJ y1j C1J for all J {2, 3}.

    can be computed in a distributed system, and compares with

    a recent proposal for multi-path routing. Section IV discusses

    some practical issues, namely the effect of limited generation

    sizes, and the effect of randomized 802.11-compatible channel

    scheduling. Section V evaluates the performance of our system

    using simulation. Section VI provides related work.

    I I . MODEL

    In this section we introduce our notation, denoting vectors

    in bold typeface. We extend the model of a wireless erasure

    network developed in [16] to include multiple flows.

    A. PHY And MAC Characteristics

    We consider a network comprising of a set of nodes N, N =|N |. Whenever a node transmits a packet, several nodes mayreceive it. We model packet transmission from node i to aset of nodes Ki N with a hyperarc (i, Ki). We define an

    activation profile S = {Sl} to be a set of hyperarcs active atthe same time. There may be several constraints on feasible

    activation profiles. For example, a node may be limited to

    receive from but one node, or transmit to only one node at a

    time. The only condition we shall impose is that a node can

    be the source of only one hyperarc in one activation profile.

    All the other constraints can be expressed through reception

    probabilities and our model is general enough to incorporate

    them (in particular, it is possible that a node transmits while

    some information is being sent to it, in which case we shall

    set the probability of successful reception to 0; see below for

    details). We denote by S the set of feasible activation profilesand let SRC(S) = {i N |Ki N, (i, Ki) S} be the

    set of transmitters in activation profile S.Each transmission has two associated parameters, power

    P P and rate R R, where P is the set of allowedtransmission powers (e.g. P [0, PM], where PM is given byregulations) and R is sets of available PHY transmission rates,defined by supported spreading, coding, and modulations.

    Consider an activation profile S in which node i transmitsto set of nodes Ki, and suppose node i is transmitting withpower Pi and rate Ri. We can associate power vector P =(Pi)iN rate vector R = (Ri)iN to these transmissions. LetTij(P, Ri, S) be an indicator of a random event such thatTij(P, Ri, S) = 1 if a packet is successfully delivered from

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    3/14

    3

    31

    2

    5

    4

    Fig. 2. Forwarding example. Lines connect nodes that can exchange packets.

    Opportunistic routing implies multiple-paths. Possible paths from 1 to 5 arefor example (1, 2, 3, 4, 5), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (1, 3, 5). Path(1, 2, 1, 3, 5) is also possible but will be typically eliminated by a routingprotocol due to suboptimality.

    i to j Ki. It depends on the packet transmission power Piand rate Ri, as well as on the interference from concurrenttransmissions described through P and S. We also denote by

    TiJ(P, Ri, S) = 1 jJ

    (1 Tij(P, Ri, S))

    the indicator of the event that at least one of the nodes from

    J, (J Ki = ) receives a packet. Consequently

    piJ(P, Ri, S) = Prob(TiJ = 1).

    By convention, we assume piJ(P, Ri, S) = 0 if J Ki = ,for (i, Ki) S. Our model does not require any assumptionson channel conditions; in particular, events Tij and Tik arenot assumed independent.

    We can now calculate CiJ(P, Ri, S), the average numberof packets per unit time conveyed from node i to any of thenodes in J N. We have

    CiJ(P, Ri, S) = RipiJ(P, Ri, S) (1)

    B. Traffic, Forwarding And Flow Scheduling

    There is a set of unicast end-to-end flows C in the network,and each flow c C has a source and a destination nodeSrc(c), Dst(c) N respectively. We denote by fc the rate offlow c.

    Opportunistic routing does not a priori rely on a notion

    of a path or a route. Consider the example of Figure 2: a

    packet going from node 1 to node 5 may be relayed by any of

    the nodes 2, 3, 4, depending on which node happens to hear

    it. Thus implicitly, opportunistic routing implies multi-path

    routing without pre-specifying the path. Formally, a packet

    from node i can reach node j if there exists an activationprofile that allows such a transmission (there exists S S such

    that (i, Ki) S and j Ki). The goal of our optimizationframework is to derive how many packets should be forwarded

    by each of the nodes.

    In practice, an external routing protocol can be combined

    with the opportunistic approach to further improve efficiency.

    Consider again the example from Figure 2: if a packet is

    broadcast by node 2 destined for 5, it may be received and

    potentially forwarded by node 1. Our opportunistic routing

    protocol will, as described latter, eliminate such events, but

    will take some time to discover them. Instead, one may

    use a readily available external routing protocol to promptly

    eliminate obviously suboptimal paths (e.g. path (1, 2, 1, 3, 5)

    from Figure 2). Our model can be easily extended to include

    constraints imposed by an external routing protocol, but we

    omit such extensions to simplify the exposition. We do con-

    strain the set of available paths in the numerical results, as

    explained in Section V.

    A node that transmits a packet cannot control who will

    receive the transmitted packets due to channel randomness.

    A node that receives a packet has to decide whether it

    will forward it or not. This decision is made through credit

    assignment, described in Section II-D.

    Whenever a node is about to transmit, it needs to decide

    which flow it will transmit. This is defined through a flow-

    scheduling profile matrix A. If node i transmits a packet fromflow c we set Aic = 1, otherwise Aic = 0. We say that a flowscheduling profile is valid if for each i N there exists onlyone c C such that Aic = 1. A denotes the set of all validflow scheduling profiles.

    To illustrate the use of flow scheduling profile, consider the

    example in Figure 1 having two flows C = {1, 2}, both from1 to 4. The number of packets for flow c sent by node 1 and

    received by node 2 depends not only on how often (1, 2)is scheduled, but also on how often (1, {2, 3}) is scheduledto transmit a packet from c. This is why the flow schedulingdecision is assigned to a node instead of a link, which is in

    sharp contrast to [17], [18], [12].

    C. Network Coding

    We assume network coding per flow is used [16], [5]. The main

    benefit of network coding is that it facilitates scheduling. If

    the same packet is received by several nodes, a mechanism

    is needed to prevent two or more nodes forwarding the same

    packets [4]. To eliminate this problem, each relay forwards a

    random linear combination of all previously received packetsfrom the same flow. It has been show in [9] that the ran-

    dom linear combinations received at the destination will be

    independent with high probability, hence the packets can be

    restored.

    Ideally, network coding should be performed across the

    entire flow. However, this is not practical. Instead, packets

    are divided in generations and only packets from the same

    generation are combined. For more details see [16], [5]. In

    Section III we analyze the optimal network design assuming

    very large generation sizes (as in [16]); we address finite

    generation sizes in Section IV.

    D. Credits

    As remarked on earlier, whenever a packet is transmitted,

    it may be received by several nodes, and it is important

    to decide which should forward packets, to avoid redundant

    transmissions (as explained in [19], [5]).

    We introduce the concept of credits, which is similar to the

    control decision variable of Neely [19]. One credit is created

    for each packet at the source node. Credits are identified with

    a generation, not a specific packet. They are conserved until

    they arrive at the flows destination. In this way we guarantee

    that the destination will receive as many linear combinations of

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    4/14

    4

    the packets as the number of packets generated at the source,

    and hence will be able to decode the packets.

    Credits are interpreted as the number of packets of a specific

    flow to be forwarded by a node. By controlling the rate of

    credits we control the rate of packets forwarded by next-hop

    relays. Consider again the example from Figure 1. Node 1

    should adapt the rate of packets forwarded through 2 and 3

    not only as a function of link qualities p12 and p13, but alsoas a function of p24 and p34, the quality of paths from 2 and3 to the destination 4. For example, if p24 p34 then node 2should not forward any packet, regardless of how many it has

    received. Node 1 cannot control what nodes 2 and 3 receive

    due to randomness of the channel. Instead, node 1 sends a

    credit to node 2 (or node 3) whenever it wants node 2 (or

    node 3) to forward a packet.

    The main advantage of the credit scheme is that it simplifies

    scheduling. Credits are declarations of intent. The actual

    packet transmissions may occur at arbitrary time instants. Due

    to the use of network coding, we only need to ensure that the

    total number of packets per generation transmitted between

    each two nodes corresponds to the number of credits. Thus,scheduling is done at a generation level and not at the packet

    level, incuring significantly smaller overhead (especially when

    the generation size is large).

    In practice, credits can be piggybacked with packet trans-

    missions. The receiving node only updates its credits when a

    successful packet transmission actually occurs. In this work

    we assume there is an ideal (no loss and no delay) signaling

    plane that transmits credits and feedbacks.

    As each credit delegates one packet to a node, we may

    express all the rates in the system in terms of credits. For

    example, ycij is the rate of credits of flow c passed fromnode i to node j, and it equals the rate of innovative linear

    combinations of packets of flow c delivered from i to j.Theorem 1 shows that the rate of independent packets receivedat a destination of each flow will correspond to the number of

    credits delivered, when the generation size is large.

    E. Dynamics And Stability

    We further assume the system is slotted in time. In each slot

    t = 0, 1, . . . a medium access protocol assigns an activationprofile S(t) and a flow-scheduling profile A(t), and to eachtransmitter i SRC(S(t)) we assign transmit power Pi(t)and rate Ri(t). Let y

    cij(t) be the number of credits for flow c

    transmitted from node i to node j during slot t, and let xciJ(t)denote the number of packets of flow c actually delivered from

    i to any of the nodes in J during slot t (as if all nodes in Jare grouped as a single receiver). Let fc(t) be the number offresh packets/credits generated at the source of flow c.

    Note that, because each successful packet delivery is always

    associated with a credit transmission, we look at credit queues.

    Let qci (t) be the amount of credits of flow c queued at nodei. The system is stable if every queue size is bounded. Wedefine stability more formally in Section III-D.

    F. Constraints Of The Model And Possible Generalizations

    We make several simplifying assumptions to make the

    analysis tractable. Firstly, we assume that the system is slotted.

    All operations within a slot occur concurrently and instantly.

    Secondly, we assume the perfect signaling. There is no loss

    or delay in signaling messages (credit transfers and acknowl-

    edgments).

    Our results can be extended to consider imperfect signaling

    and arbitrary but limited delays in the system (see for example

    [20, Part 2] on a discussion how does a delayed feedback affect

    the speed of convergence). Also, see [21] for a practical imple-

    mentation of a back-pressure based system and its interaction

    with TCP.

    III. OPTIMAL FLOW CONTROL FOR FAIRNESS

    In this Section we introduce the optimization problem

    (Sec. III-B), propose an algorithm for solving it (Sec. III-C),

    and prove that the algorithm converges (Sec. III-D). Sec.III-A

    introduces some further notation that is needed for the descrip-

    tion of the optimization problem. Finally, in Sec. III-E we

    compare our algorithm with the MORE algorithm proposed

    in [5].

    A. Feasible Average Rate SetIn this section we define a set of constraints on average rates

    in the system. Assume an assignment of average end-to-end

    rates fc, for each flow c, and denote the average rate vector byf = (fc)cC. The vector of rates is valid under the followingthree conditions. First, traffic at node i is stable if the totalingress traffic is smaller than the total egress traffic, which we

    write as j=i

    ycji + fc1{i=Src(c)} j=i

    ycij , (2)

    for all i = Dst(c), where 1x = 1 if x is true, 0 otherwise, andwhere yij 0.

    Second, traffic at each broadcast region is stable if we donot receive more credits than we can actually forward (see

    also Fig. 1): jJ

    ycij xciJ, for all J N. (3)

    Recall that ycij is the average number of credits of flow c nodei assigns to node j and xciJ is the average number of packetsof flow c actually delivered from i to any of the nodes in J.

    Finally, we define scheduling constraints. A schedule is a se-

    quence {(S(t),R(t),P(t),A(t))}t0 which defines schedul-ing profile S(t), routing profile A(t) and power and rateallocations R(t),P(t) in each slot t 0. Since we are

    interested in long-term average rates, we define

    S,R,P,A = limT

    1

    T

    tT

    1{S(t)=S,R(t)=R,P(t)=P,A(t)=A}

    to be the fraction of time the network uses scheduling profile

    S, routing profile A and power and rate allocations R,P.By definition, S,R,P,A 0 and

    S,R,P,A S,R,P,A 1.

    The schedule defined by {S,R,P,A}S,R,P,A is stable if itcan support broadcast traffic {xciJ}i,J,c, and we write thescheduling constraints as

    xciJ

    S,A,R,P

    S,R,P,AAicCiJ(P, Ri, S) (4)

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    5/14

    5

    We use the following characterization of feasible rates from

    [9]:

    Definition 1: Vector f is said to be feasible if each flow ccan transport information from Src(c) to Dst(c) at averagerate fc.

    Theorem 1: Let F be the set of average end-to-endrate vector f = (fc)cC such that there exists vectorsy = (ycij)i,jN,cC , x = (x

    c

    iJ

    )iN,JN,cC, and =(S,R,P,A)SS,RRN,PPN,AA that satisfy (2), (3), and (4)subject to S,R,P,A 0 and

    S,R,P,A S,R,P,A 1. The

    vector f is feasible when coding generation size goes to infinity

    if and only if it belongs to F. Moreover, the set of feasibleend-to-end rates F is convex.

    Proof: Proof of feasibility follows directly from [9]. The

    set is convex since all constraints are convex.

    B. Utility Maximization

    For each flow c C we define a utility function Uc() tobe a strictly concave, increasing function of end-to-end flow

    rate fc. The utility of flow c is then Uc(fc). For example,

    Uc(fc) = log(fc) represents proportional fairness [22] andUc(fc) 1/fc approximates TCPs utility [11]. The goalof utility maximization is to achieve a trade-off between

    efficiency and fairness. Proportional fairness is an example

    of such an approach [22].

    We can write the network-wide optimization problem as

    max

    cC Uc(fc)

    s.t. f F.(5)

    Since set F is convex and the objective is strictly concave,there exists a unique solution f to the maximization problem.

    Corresponding y,x also exist but are not necessarily unique.Let us denote with ci and

    c

    iJ

    the Lagrangian multipliers as-

    sociated with inequalities (2) and (3), respectively. To simplify

    the notation we will also define cDst(c) = 0. We can write theKKT conditions at the optimal point for the constraints (2)

    and (3)

    ci

    j=i

    ycij j=i

    ycji fc 1i=Src(c)

    = 0, (6)

    ciJ

    xciJ

    jJ

    ycij

    = 0, (7)

    Also, combining the condition that the rates are non-negative

    (fc 0) and the gradient KKT condition, we can writefc

    Uc(f

    c )

    cSrc(c)

    = 0. (8)

    Note that here we do not write the KKT for the constraint (4)

    but we keep it in the explicit form (see for example (10)).

    We see that ci = 0 if egress traffic is larger than ingresstraffic and there is no accumulation of credits at node i. Henceintuitively we can relate ci to q

    ci (t), the number of credits for

    flow c queued at i. Similarly we can relate ciJ to the numberof packets queued for broadcasting at i. In Section III-C weexpress this relationship more formally. We will also use (8)

    to develop a flow control algorithm.

    As a consequence of KKT, and by optimizing the dual

    problem [23] one can derive the conditions

    0 ci cj

    JN | jJ

    ciJ, (9)

    CiJ =CiJ(P, Ri , S

    ), (10)

    (P

    , R

    i , S

    ) = argmax{(P,Ri,S)}i max

    cJ

    c

    iJCiJ(P, Ri, S).

    We will use (10) in Section III-C to derive the optimal

    scheduling.

    C. Maximization Algorithm

    We now present an algorithm that converges to the optimal

    value of (5).

    Node and Transport Credits : Recall that qci (t) is the amountof commodity c credits queued at node i. We call such creditsnode credits. In addition, let wciJ(t) be the number of creditsof commodity c queued at i and corresponding to packets that

    have to be delivered to any of the nodes in J (as previouslydecided by the credit transmission scheme). We call these

    transport credits.

    When a credit for flow c is transferred from node i to nodej, we decrease qci , we increase q

    cj , and we increase w

    ciJ for

    all J j (all by one unit). Note that this transfer happensinstantly, and before a corresponding packet has actually been

    transmitted. We decrease wciJ when a packet from flow c isactually delivered from i to any of the nodes in J. The amountof node credits is conserved: when a responsibility for a credit

    is transfered from i to j we decrease qci and increase qcj .

    Transport credits are of a different nature. They are created

    when a forwarding decision is made and are destroyed when

    the actual delivery takes place. Transport credits are local and

    they are never transferred between nodes.

    Routing protocol: Node credits represent intentions of packet

    transmissions and a routing protocol describes when and how

    such node credits transferred. Let ycij(t) be the number of nodecredits for flow c transferred from node i to node j at timet and let us define wcij(t) =

    XN | jX w

    ciX(t). A back-

    pressure between nodes i and j is defined as

    zcij(t) = qci (t) w

    cij(t) q

    cj(t), (11)

    the difference between the excess credits queued of flow c atnode i not destined for node j (qci w

    cij) and the node credits at

    node j (qcj ). Back-pressure in (11) includes the credits queuedat the next hop as well as the credits assigned to different

    broadcast regions, which is the main difference compared to

    previous work [17], [18], [12].

    A credit is transferred from i to j with the followingdynamics

    ycij(t) =qci (t)

    |{k | zcik(t) > 0}|1{zcij(t)>0}, (12)

    where 1{x>0} is 1 if x > 0 or 0 otherwise, and |{k | zcik(t) >

    0}| is the number of neighbors of i that have a positive back-pressure for flow c. The queue qci (t) then has the following

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    6/14

    6

    dynamics in time

    qci (t + 1) = qci (t) + fc(t)1i=Src(c) +

    j

    ycji(t) j

    ycij(t).

    Note that by definition

    j ycij(t) q

    ci (t) hence q

    ci (t) is

    always positive.

    The intuition is as follows. We transfer a credit from i to j

    only if the back-pressure is positive. Moreover, we share allof the available credits qci (t) equally among all neighbors witha positive back-pressure.

    Scheduling, rate and power control: The optimal centralized

    scheduling, rate and power control algorithm is the tuple

    (S(t), P(t), R(t), A(t)) that solves the following optimizationproblem

    W Ci(t,P, Ri, S) = maxc

    J

    wciJ(t)CiJ(P, Ri, S), (13)

    (S(t),P(t),R(t)) = argmaxS,P,R

    iN

    W Ci(t,P, Ri, S), (14)

    CiJ(t) = CiJ(P(t), Ri(t), S(t)), (15)ci (t) = argmax

    c

    K

    wciK(t)CiK(t), (16)

    Aic(t) = 1{c=ci (t)}, (17)

    xciJ(t) = AicCiJ(t). (18)

    Intuitively, (13) follows from (10) and the fact we can equate

    ciJ and wciJ, since the transport credit update equation (21)

    corresponds to the gradient update equation of ciJ. The otherupdate rules follow directly from KKT conditions.

    Equations (13)-(18) represent a joint scheduling, rate, and

    power control problem. We find the optimal scheduling, power

    and rate control (S(t), P(t), R(t)) by solving (14). Then,equation (16) is used to select which flow will be transmittedby each node in slot t.

    The main novelty in our approach is that we explicitly

    incorporate all broadcast regions in the scheduling algorithm in

    Equation (13) through broadcast transport credits wciJ(t). Thisis in contrast to previous works on back-pressure [17], [18],

    [12], [14] that are not able to exploit the broadcast diversity. It

    is only [19] that consider network optimization with broadcast

    diversity, but using different optimization techniques. Also,

    unlike [5], [4], we are able to make a trade-off between

    broadcast diversity and network congestion.

    Another difference with respect to [17], [18], [12], [14] is

    that, as explained in Section II-B, we cannot decouple theflow selection process A(t) and routing/scheduling/rate/powercontrol. Also, unlike in [17], [18], [12], [19], we do not

    explicitly use back-pressure information for scheduling in (13)

    - (18); instead we use transport credits wciJ(t).

    The algorithm (13)-(18) is centralized. Observe that all

    equations except (14) and (15) use local information only.

    Hence, with the exception of (14) and (15), the problem could

    have been solved with a distributed algorithm. We use this

    observation to propose a heuristic based on modified rules

    (14) and (15), and to derive a practical, distributed protocol

    that is presented in Section IV.

    Flow control: The optimal flow rate at the source, fc(t) canbe calculated using a primal-dual approach, as in [12]

    fc(t + 1) =

    fc(t) +

    Uc(fc(t)) qcSrc(c)(t)

    +, (19)

    where [x]+ = max{x, 0}. Each flow adapts its rate basedon the previous rate and current number of credits queuing

    for transmission at the source node for that flow (qSrc(c)

    ).

    The primal-dual approach well describes additive-increase

    multiplicative-decrease transport protocols, like TCP [11].

    D. Convergence Of The Algorithm

    We now consider a fluid model of the system, and show that

    it converges to the optimal point. Analysis of a discrete-time

    model can be derived from our fluid-model analysis, using a

    similar approach to [12].

    We assume that time is continuous and that queue evolutions

    are governed by the following differential equations

    qci (t) =fc(t)1i=Src(c) +

    j

    ycji(t) j

    ycij(t)qci (t)0

    (20)

    wciJ(t) =

    jJ

    ycij(t) xciJ(t)

    wciJ(t)0

    (21)

    where (x)yz = x if y z and (x)yz = 0 otherwise.Similarly, flow rate evolution in the fluid-model is given by

    fc(t) = Uc(fc(t)) q

    cSrc(c)fc(t)0

    . (22)

    We next prove that the algorithm presented in Section III-C

    stabilizes the system with flow rates that maximize the opti-

    mization problem (5).

    Definition 2: We say that link (i, j) is active for flow c ifthere exist a finite number T such that for each t that satisfiesycij(t) > 0, there exists t

    , t < t < t+T such that ycij(t) > 0.

    Theorem 2: Starting from any vectors f(0),q(0),w(0) andapplying rules (11)-(22), the rate vector f(t) converges to f

    as t goes to infinity. Furthermore, queue sizes qci (t), qcj(t) and

    wcij(t) on all active links (i, j) for flow c are bounded, andconverge to the shadow prices ci ,

    cj and

    ciJ respectively.

    Also, if a node is completely disconnected from the rest of

    the network, or in any way not used by a flow, credits willneither arrive to nor will leave from the node. Thus technically,

    we cannot guarantee that an arbitrary initial number of credits

    at this node will converge to any particular value. Instead, we

    consider only links that have at least some traffic through-

    out the network run-time (called active links, formalized in

    Definition 2).

    The proof uses a Lyapunov function with stability defined

    on the set of active link, and we show that on all active links

    that carry a positive amount of traffic, the delays are bounded

    and hence the system is stable. The details are given in the

    Appendix.

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    7/14

    7

    E. Comparison with MORE

    In this section we compare the performance of our algorithm

    with the MORE forwarding algorithm described in [5], [24].

    We summarize it here for sake of completeness. Consider a

    single flow and the delivery of a single packet from the source

    of the flow Src to the destination of the flow Dst. Let i bethe number of transmissions made by node i to successfully

    deliver the packet. The goal of MORE is to minimize thenumber of transmissions [24, Eq.(1)-(4)]:

    argminiN

    i (23)

    s.t.jN

    yij jN

    yji = 1{i=Src} (24)

    yij 0, (25)

    iCiJ jJ

    yij. (26)

    Note that the MORE forwarding algorithm is designed for a

    single flow. As the authors note in [5], [24], its performance

    drops as the number of flows increases.Our algorithm converges to the optimal solution of the

    optimization problem (5) (as shown in Theorem 2), hence

    MORE is at best as good as our algorithm. We first show

    under what conditions MORE is guaranteed to give the optimal

    solution. We then illustrate by two examples that MORE can

    yield strictly suboptimal rate allocations.

    Theorem 3: If there is only one flow in the system, if

    transmission rates and powers of all nodes are fixed and if only

    one node can transmit at a time (that is |SRC(S)| = 1 for allS S), MORE and our algorithm give the same performance.

    Proof: Since only one node can transmit at a time, we

    have S = N. Furthermore, transmission powers and rates are

    fixed, hence (3) and (4) reads as

    jJ yij iCiJ. We alsoomit c as there is only one flow in the system.

    We start with the MORE optimization problem (23) - (26)

    and we introduce f = 1/

    iN i

    , yij = fyij and i =f i. The optimization (23) - (26) is then equivalent to

    min1/f (27)

    s.t.jN

    yij jN

    yji = f1{i=Src} (28)

    iCiJ jJ

    yij , (29)

    iN

    i = 1, (30)

    which is exactly the optimization problem (5).

    We next give two examples where the performance of

    MORE is strictly suboptimal. Consider a hexagonal network

    depicted in Figure 3. Let us first consider a case with a single

    flow f1, (f2 = 0), and where p12 = p24 = p46 = 0.8and p13 = p35 = p56 = 0.2. Since not all links interfere,the conditions of Theorem 3 are clearly not satisfied. The

    optimal rate allocation that maximizes (5) is f = 0.313 withy1246 = 0.251 and y1356 = 0.063. However, MOREwill transmit all packets over the path 1 2 4 6, hencethe total rate will be fMORE = 0.267, some 15% less than the

    optimal. Intuitively, the reason why MORE is suboptimal is

    that it does not consider possibility that links 3 5 and 5 6transmit in parallel with 4 6 and 2 4. (Recall that MOREsgoal is to minimize the number of transmissions and not to

    maximize the flow rate.) It will then conclude that forwarding

    any packet to 3 is largely suboptimal, since links 3 5 and5 6 are of a bad quality. Thus, ifp35 and p56 are sufficientlysmaller than p12, p24 and p46, as in this example, MORE willnot use route 1 3 5 6 at all.

    In the second example we again consider the same hexag-

    onal network but with two flows (f1, f2) active. Since MOREdoes not take into consideration contention among flows, it

    will again assign all traffic to the path 1246. This trafficwill contend with the traffic from flow 2, and feasible end-to-

    end rate allocations have to satisfy 3f1+ f2 = p. Note that therouting scheme is fixed by MORE and does not depend on flow

    control applied by transport layer. If for example the transport

    layer on top of MORE is designed to maximize log utility,

    the optimal rates will be fMORE1 = p12/6 = 0.133, fMORE2 =

    p12/2 = 0.4. On the contrary, our distributed algorithm will

    adapt routing to contentions among flows, and it will assigny1 = 0.12, y2 = 0.03, f1 = 0.15 and f2 = y3 = 0.4. As wecan see, our algorithm balanced flow 1 by decreasing y1 andincreasing y2. As a result, the rate of flow f2 stayed the samewhile the rate of f1 increased.

    IV. PRACTICAL ISSUES

    In this section we consider two practical issues that concern

    implementation of the protocol proposed in Section III in a

    mesh network: finite coding generation size and rate adaptation

    for randomized scheduling. We leave other practical issues,

    such as the effect of delayed feedback, for future work.

    A. Finite Generation Size

    Previous results assume that generation size used for network

    coding tends to infinity (see Theorem 1). Practical reasons,

    such as the complexity and performance of decoding, and

    header overhead for storing the coefficient vector, require us

    to limit the size of the header; some practical systems limit

    the size to 32 bytes [5], [6]. We now modify our optimization

    framework for a finite generation size.

    3

    1

    2

    6

    5

    4

    p12

    p13

    p35

    p24

    p46

    p56

    Wall

    y2

    y1

    y3

    Fig. 3. A network with 6 nodes. Due to a dividing wall, nodes 2 and4 do not interfere with nodes 3 and 5. The set of activation profiles isS = {{(1, {2, 3})}, {(2, 4)}, {(3, 5)}, {(4, 6)}, {(5, 6)}, {(2, 4), (3, 5)},{(2, 4), (5, 6)}, {(3, 5), (4, 6)}}. There are two flows in the system, flowf1 = y1 + y2 which is assigned 2 routes (y1 = y1246 andy2 = y1356) and flow f2 = y3 which is assigned a single route(y3 = y24).

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    8/14

    8

    3

    1

    2

    p12

    p13

    p23

    w12(0, 1) = 0,

    w12(0, 2) = 5,

    w1{2,3}(0, 1) = 0,

    w1{2,3}(0, 2) = 4,

    w13(0, 1) = 1,

    w13(0, 2) = 0

    Fig. 4. A simple example of a network with nodes {1, 2, 3} and a singleflow, going from 1 to 3 (directly or via node 2), where set p12 = p23 = 1and p13 is close to 0. The values of corresponding transport credits wiJ(t, g)are given on the right at time t = 0 for generations g = 1, 2 (in the examplewe assume only two generations are in the networks).

    Let G be the set of generations. Let us define qci (t, g) andwciJ(t, g) be the number of node credits and transport creditsfor generation g G of flow c queued at i. Similarly, we definefc(t, g), ycij(t, g), x

    ciJ(t, g) as before but with respect to gen-

    eration g (thus we have for example ycij(t) =

    gG ycij(t, g),

    and by analogy for the other variables). The encoding pro-

    cesses fc(t, g) are defined at the source. For example, if thesize of each generation is G, we havet

    fc(t, g)dt = G forall g G.

    Extending the distributed maximization algorithm from Sec-

    tion III-C to this setting is not straightforward. For example, a

    naive way to modify scheduling rule (18) would be to schedule

    the oldest generation available

    gi (c, t) = min{g | (J)wciJ(t, g) > 0}, (31)

    that is xciJ(t, g) = CiJ(t), if c = ci (t) and g = g

    i (c

    i (t), t).

    However, this rule may yield poor rates.

    To see why, consider the example of Figure 4 where one

    link (1 3) has very poor quality compared to the others.

    For simplicity we assume there are only two generations inthe system and we assume that node credits qci (t) are constanthence only the transport credits are the focus of the scheduling

    policy. The oldest generation that has a transport credit at node

    1 is generation 1. Thus, when node 1 is selected to transmit, it

    will transmit a packet from generation g1(t) = 1, according to(31). On one hand, node 2 will certainly receive the transmitted

    packet but, since w12(0, 1) = w1{2,3}(0, 1) = 0, node 2 doesnot need more packets from generation 1 and the receivedpacket will be useless. On the other hand, node 3 is not likely

    to receive the transmitted packet as p13 0. Therefore, inthe next slot w13(1, 1) will most probably remain at 1 andgeneration one is again selected for transmission. The same

    situation will repeat until the transmitted packet is finallyreceived by node 3, and only then we will be able to transmit

    a packet from generation 2.

    It is easy to see that in such a scenario we may completely

    starve the network. Instead of benefiting from diversity, the

    opportunistic routing acts as a hindrance. The main reason

    for starvation is the fact that the naive approach implicitly

    restricts scheduling diversity over a single generation. Ob-

    serve that the problem persists even when the number of

    generations increases and the queues build up; the naive

    approach tries to maintain the optimal traffic splitting strictly

    per each generation instead on a cross-generation, long-term

    average. Nevertheless, there is no reason why we should not

    be able to exploit the diversity of link 1-3, because even a

    few occasional packets transmitted over that link will improve

    overall performance.

    Finding a jointly optimal coding and scheduling strategy

    that maximizes system utility for finite generation sizes is a

    difficult problem. Apart from the scheduling issue, when the

    generation size becomes finite, the coding results from [16]

    no longer hold. This implies that packets received at the des-

    tination may not be linearly independent and Theorem 1 does

    not hold. Instead, we propose a heuristic inspired by the proof

    of Theorem 2, which minimizes the drift W(f(t),q(t),w(t)).It consists of modifying rules (12) and (18) to

    zcij(t, g) = qci (t, g) w

    cij(t, g) q

    cj(t, g), (32)

    ycij(t, g) =qci (t, g)

    |{k | zcik(t, g) > 0}|1{zcij(t,g)>0}, (33)

    gi (c, t) = argmaxg

    J

    wciJ(t, g)xciJ(t) 1{wciJ(t,g)>0}, (34)

    xciJ

    (t, g) = CiJ(t) if c = ci (t), g = gi (c, t)0, otherwise

    . (35)

    where 1{wciJ(t,g)>0} is true when there are queued transportcredits wciJ for generation g.

    Intuitively, the idea behind the heuristic is to transmit the

    generation that has the highest chance of being useful. We

    select flow c to transmit according to (16). The benefit of sucha transmission is

    Kw

    ciK(t)CiK(t), the expected decrease in

    transport credits. However, this is only true if the generation

    size G is infinite. The transmitted packet from generationg will not be useful if the generation size is finite, andsome of the nodes no longer need any more packets from

    generation g (that is wciJ(t, g) = 0 for some J, as illustrated

    in the example). To maximizes the actual expected decreaseof the amount of transport credits we select a generation gthat maximizes

    Jw

    ciJ(t, g)x

    ciJ(t, g) 1{wciJ(t,g)>0}, which is

    indeed (34).

    To see how the new policy works, consider again the

    example of Figure 4. Unlike the naive policy (31) that se-

    lects generation 1 as the oldest generation among all queued

    generations, the new policy (34) will select the most useful

    generation which is generation 2, which circumvents network

    starvation. A detailed explanation of how this policy is derived

    is given in the Appendix. Performance simulations for finite

    generation sizes are given in Section V.

    The policy (33) - (35) needs a slight caveat, in that some

    credits from old generations may get stuck in the network(as the credit from generation 1 did in the previous example).

    A straightforward extension is to reassign the credits from

    the selected generation gi (c, t) and from the oldest queuedgeneration such that the total number of credits is not altered,

    and to guarantee in-order delivery. However in practice, unless

    a network is very asymmetric, this is not needed, as the

    simulations in Section V verify.

    B. Rate Adaptation For 802.11-compatible Scheduling

    Finding the optimal scheduling rule (14) is an NP-hard cen-

    tralized optimization problem, as Sharma et al. show [15].

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    9/14

    9

    Some recent research [25], [15], [26] explores decentralized

    implementations of similar problems. Applying these ideas to

    our setting is outside the scope of this paper, and left for

    future work. Instead, we consider a more realistic, suboptimal

    scheduling process and we show how our algorithm can be

    applied as a distributed heuristic.

    We assume that nodes always transmit packet at the full

    power Pi(t) = {0, PMAX}, which reflects current practice inmost existing wireless mesh networks deployments. We call a

    set of feasible activation profiles S 802.11-compatible if for allS S and for all (i1, J1) S there is no (i2, J2) S suchthat reception probabilities pi1,i2 > 0, (j J2)pi1,j > 0or (j J1)pi2,j > 0. Intuitively, this corresponds to802.11-like protocol with RTS/CTS mechanism. When node i1establishes communication with nodes J1, all nodes involvedin communication send an RTS/CTS. All nodes that hear the

    RTS/CTS (p > 0) will be prevented from transmission orreception during the same slot.

    Furthermore, we will assume that the underlying scheduling

    process {S(t)}t is outside our control, and that it is inde-

    pendent of the actions of our protocol. At every time t, thescheduling process will select a set of non-interfering nodesI(t) N to transmit (i.e. for each i, j I(t), pij = 0).Each node i I(t) has a set of possible destinationsJi(t) = {j N |pij > 0, (k I(t), k = i), pkj = 0},which in turns define a schedule S(t) = {i, Ji}iI(t). A setof activation profiles S = {{i, Ji}iI | I P(N)} is clearly802.11-compatible.

    With such a schedule S(t), the optimization (13) - (18)simplifies to

    (ci (t), Ri (t)) = argmax

    c,Ri

    KJi

    wciK(t)CiK(Ri). (36)

    where CiK(Ri) = ES[CiK(Ri, S)] are the average ratesobserved over a long period of time. This optimization can be

    easily solved in a distributed manner, locally and separately at

    each node. Node i can estimate CiK(Ri) either by probing,or using statistics from previous transmissions. In practice, as

    reported in [27], successful transmissions Tij and Tik are oftenindependent for j = k which further simplifies the estimation.The rest of (36) clearly relies only on local information.

    Alternatively, if one deploys a form of interference-aware

    scheduling (e.g. [28]) which disposes of S(t) in any slot,algorithm (36) can be improved by estimating CiK(Ri, S) foreach scheduling policy S = S(t) separately, instead of usingthe average estimate CiK(Ri). In the simulation part of our

    paper we implement the simpler, interference-oblivious form,as given in (36).

    Note that for an arbitrary scheduling process {S(t)}t, thedistributed routing (12) and rate adaptation (36) algorithm

    do not necessarily minimize the optimization problem (5).

    The optimal algorithm will depend on the characteristics of

    {S(t)}t, {S(t)}t will depend on our routing algorithm, andit is difficult to characterize these dependences. We present

    (12) and (36) as a heuristic that can be used as a prac-

    tical implementations of opportunistic multi-path routing in

    networks with 802.11-compatible scheduling. We illustrate

    by simulations in Section V that in the case of random,

    802.11-compatible scheduling, the heuristic (36) outperforms

    a conventional, single-path routing approach.

    V. SIMULATION RESULTS

    We now present simulation results which quantify the per-

    formance advantages of the opportunistic routing, scheduling

    and flow control algorithms defined in the previous sections.

    We are primarily interested in algorithms that can be ap-

    plied in 802.11-like mesh networks, where the scheduling

    algorithm is not under our control. Hence in our simulations

    we used an 802.11-compatible schedule {S(t)}t, as definedin Section IV-B, assuming I(t) is randomly selected amongbacklogged nodes.

    We use the roofnet network topology based on 802.11b

    cards, given in [4], for our simulations. We further assume

    the (802.11-compatible) node-exclusive model with random

    channel parameters from [1]). We developed a slotted discrete-

    event simulator that implements the routing, flow and rate

    control algorithms. A scheduler randomly selects a set of non-

    exclusive nodes for transmission in each slot. The amount ofdata transmitted in each slot is proportional to the transmission

    rate and the packet loss probability is obtained from [1]

    (assuming that a concurrent transmission is allowed; otherwise

    it is set to 0). Unless stated otherwise, we assume finite

    generation size of 32 and use rules (33) - (35) to select

    which generation to transmit. In addition, we allow credit and

    packet transmissions by a node only if a node has received

    an innovative packet for a given generation since the previous

    transmission. We used Uc() = log(), hence the rate allocationthat maximizes (5) is the proportionally fair rate allocation

    [22].

    We looked at three performance metrics. The first one

    is the improvement in total utility

    c U(fc)

    c U(fc).Allocation f is better than f if the sum is positive. The

    proportional fair rate maximizes the optimization problem (5)

    hence has the highest utility.2 The second metric is the total

    rate improvement

    c fc/

    c fc. Allocation f is better than

    f if the quotient is larger than 1. The proportionally fair

    allocation does not always have highest total rate. The third

    metric is the Jains fairness index improvement. Jains fairness

    index is defined as F I(f) = (

    c fc)2/(|C|

    c f

    2c ) and the

    Jains fairness index improvement is F I(f)/F I(f). Note thatthe fairness index can be deceiving as a metric in some cases:

    iff has all rates larger than f it may still have smaller fairness

    index although the system has clearly improved.

    We compared our algorithm with a conventional, single path

    routing algorithm, and with the MORE algorithm [5]. To make

    the comparison fair, we assumed that the single-path routing

    algorithm used the same kind of jointly-optimal routing and

    flow-control approach as our scheme, which boils down to

    [12], constrained to the best path. In contrast, MORE does

    not integrate flow control or flow scheduling with the routing

    algorithm. When simulating the MORE algorithm, defined in

    [5], [24], we assumed that each source had a large backlog

    2Since in the simulations we use random and not the optimal scheduling,the resulting rate allocation does not necessarily have the highest utility.

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    10/14

    10

    (a)

    0 10 20 30 402

    0

    2

    4

    6

    Run

    Absoluteimprovementinutility

    4 flows

    8 flows

    (b)

    0 20 40 60 800.5

    1

    1.5

    2

    2.5

    Node pairs

    Relative

    improvementintotalrate

    4 flows

    8 flows

    (c)

    0 20 40 60 80

    0.8

    1

    1.2

    1.4

    1.6

    RunRelativeim

    provementinfairnessinde

    4 flows

    8 flows

    Fig. 5. Cumulative performance improvement of opportunistic over single-path (fsc - rates using single path, fmc - rates using multiple paths): (a) Absolute

    improvement in utility (

    c log(fmc )

    c log(f

    sc )); (b) Relative improvement in total rate (

    c f

    mc /

    c fsc ); (c) Relative improvement in fairness index

    (FI(fm)/FI(fs)). We perform the experiments with 4 and 8 concurrent flows. In all cases we ran 100 experiments and sorted them by performanceimprovement. In many cases, for single-path routing, some flow had zero rates for the duration of the simulation, caused by slow convergence; we omittedsuch plots (as they would give an infinite utility difference).

    (a)

    0 20 40 60 80

    0

    2

    4

    6

    8

    Run

    Absoluteimprovement

    inutility

    4 flows

    8 flows

    (b)

    0 20 40 60 800

    1

    2

    3

    4

    5

    6

    Run

    Relativeimprovementin

    totalrate

    4 flows

    8 flows

    (c)

    0 20 40 60 800.5

    1

    1.5

    2

    2.5

    3

    3.5

    RunRelativeimprovementinfairnessinde

    4 flows

    8 flows

    Fig. 6. Cumulative performance improvement of our algorithm over MORE (fsc - rates using single path, fmc - rates using multiple paths): (a) Relative

    improvement in utility (

    c log(fmc )

    c log(f

    sc )); (b) Improvement in total rate (

    c f

    mc /

    c fsc ); (c) Improvement in fairness index (FI(f

    m)/FI(fs)).We perform the experiments with 4 and 8 concurrent flows. In all cases we ran 100 experiments then sorted them by performance improvement.

    of packets to transmit, and that each relay performed FIFO

    scheduling among packets from different flows.

    We ran simulations to obtain end-to-end rate allocations.

    Figure 7, (a) illustrates the optimal rate allocations, obtained

    by our algorithm, for 8 randomly selected source-destination

    pairs on one example. In this case, we can see both utility and

    total rate increase if we use the opportunistic routing instead

    of the single-path routing, where we benefit from broadcast

    and multi-path diversity.

    We then ran the previous experiment with 100 random

    realizations of 4 or 8 coexisting unicast sessions and compared

    the performances of the different algorithms with respect to

    the two performance metrics.Single Path vs. Opportunistic: We start by illustrating the

    benefits of the opportunistic routing over the single-path rout-

    ing in Figure 5. We first look at the network utility. The rate

    allocation obtained by the optimal algorithm (Section III-C)

    always maximizes the utility. However, this is not the case for

    the distributed heuristic (Section IV-B). In our simulations we

    saw that in about 90% of the runs, the distributed heuristic for

    opportunistic routing achieves higher utility than does single-

    path routing. In only about 10% 15% of cases is the utility

    for single-path routing higher.

    Also, in more than 80% of runs, our decentralized heuristic

    achieved higher total rate than the conventional, single-path

    algorithm. In more than half of the runs, the total rate has

    increased by 20%, and in some cases by over 100%. From

    these results we see that there is a significant advantage in

    using our opportunistic routing algorithm over the single-path

    one. Fairness index also improves in more than half of the

    cases.

    Decentralized Heuristic vs. MORE: We next compare our

    decentralized heuristics with MORE. The results are depicted

    in Figure 6. Network utility is increased in about 90% of

    the runs. Total rate is increased in almost all of the runs,

    sometimes up to a factor of 4 5. The fairness index has also

    increased in most of the cases. The performance of MOREdrops with the number of flows.

    From these results we can see that in many cases MORE be-

    haves worse than the single-path routing. This resonates with

    the findings of [5] where the benefits of opportunistic routing

    decrease as the number of flows increase (for an explanation,

    see Section III-E). MORE is essentially a routing protocol,

    whereas our single-path routing algorithm also includes more

    intelligent flow control and flow scheduling.

    Effects of Finite Generation Size: Figure 7, (b) illustrates

    the impact of a finite generation size. The performance drop

    is due to imperfect generation scheduling (34) and occasional

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    11/14

    11

    (a)

    Singlepath Multipath MORE0

    1

    2

    3

    4

    5

    R

    ates[Mbps]

    (b)

    0 20 40 60 800.75

    0.8

    0.85

    0.9

    0.95

    1

    Run

    Relative

    efficiencyfortotalrate

    (c)

    0

    0.2

    0.4

    0.6

    0.8

    1

    Nodes

    Fractionoftime

    54.00Mbps

    18.00Mbps

    12.00Mbps

    9.00Mbps

    6.00Mbps

    Fig. 7. (a) End-to-end rate allocation example: eight flows among randomly selected source-destination pairs. The vertical axis shows flows rates. Smallbars denote rates per flow. Large bars show total rate. The marks connected by a line gives utilities with an arbitrary scaling (to fit the figure). (b) Relative

    efficiency for total rate (

    c ffinitec /

    c f

    infinitec ) for opportunistic routing with a finite generation size of G = 32 . (c) Optimal distribution of PHY rates

    for roofnet network with 802.11a cards, for one random selection of 8 source-destination pairs.

    linear dependency of received packets. We can see that a finite

    generation size of 32 packets can cause a performance drop of

    up to 22% with respect to the infinite generation size. 3 How-

    ever, a larger generation size would impose more overhead in

    transmitting larger coefficients in the packet header.

    The Optimal PHY Rate Selection: Finally, we consider

    the optimal PHY rate selection at different nodes. We analyze

    how frequently each node uses each PHY rate. In the case of

    roofnet topology with 802.11b cards we find that in almost

    all cases it is optimal to use the highest rate of 11 Mbps,

    which confirms the findings from [5]. We then used the SNR

    data from roofnet topology and measurements from [29] to

    analyze the approximatively optimal performance in the same

    network topology with 802.11a cards. The results are depicted

    in Figure 7, (c). As expected, the optimal PHY rate selection

    is no longer uniform, a consequence of the large number ofavailable rates. This demonstrates the need for an intelligent

    PHY rate selection algorithm.

    VI . RELATED WOR K

    One of the first uses of opportunistic routing for unicast

    sessions in wireless mesh networks is presented in [4]. It has

    been extended in [5] to include network coding to facilitate

    scheduling. However, in [5] the authors do not explicitly

    consider multiple flows, fairness, or scheduling, and in fact

    show that the performance benefit drops as number of flows

    increases.

    One of the works most similar to our own is the opti-

    mization framework for opportunistic routing that minimize

    power consumption, presented in [19], which shows significant

    benefits over [4]. Nevertheless, [19] considers neither network

    coding, nor the TCP-like primal-dual rate adaptation. It is not

    clear how to generalize [19] to use network coding with finite

    generation size and to derive a generation scheduling policy

    analog to (34).

    Another related paper is the work on energy-efficient oppor-

    tunistic network coding [30], which use a similar formulation

    3Note that an additional performance drop for finite generation size mayoccur due to imperfect signaling, but we do not consider it in our model.

    of an optimization problem, which can further be extended to

    intersession network coding. [30] does not consider a problem

    of a limited generation size, TCP dynamics, nor a suboptimal

    rate allocation algorithms and has a less general interference

    model. Cross-layer design for network coding with unicast or

    multi-cast sessions is considered in [9]; however, [9] considers

    only stability and not any form of rate maximization. End-to-

    end rate maximization of a single flow is also considered in

    [31].

    Several theoretical analysis of linear network coding algo-

    rithms for unicast sessions have been performed [16], [10].

    Network coding for unicast sessions is used also in COPE

    [32]. Compared to COPE, we perform encoding operations

    only between packets of the same flow; in that respect our

    approach is orthogonal to COPE. Optimal control of inter-

    session network coding is presented for example in [33];however, it does not consider opportunistic routing and its

    inherent diversity.

    Our work is an example of cross-layer optimization, and we

    have built on top of and extended exiting research. Cross-layer

    design in wireless is a widely research topics (see [7], [13],

    [14] and references therein). Optimizing network performance

    in terms of network utility is originally proposed in [22];

    see [11], [14] for an overview. Our primal-dual approach is

    similar to [11], where it is shown that it can capture different

    versions of TCP. None of the algorithms in [7], [13], [14], [11]

    consider opportunistic routing, broadcast diversity and intra-

    session network coding.

    VII. CONCLUSIONS

    This paper proposes an optimization framework for addressing

    questions of multi-path routing in wireless mesh networks. We

    have extended previous work by incorporating the broadcast

    nature of wireless and simultaneously addressing fairness

    issues. Implicit in our approach is the use of network coding,

    which enables us to define notions of credits that are associated

    with number of packets in a generation, rather than specific

    packets. Using our framework we show that our algorithm

    significantly outperforms single-path routing and MORE [5].

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    12/14

    12

    When scheduling is pre-determined by a MAC protocol,

    such as by random scheduling or 802.11-like scheduling,

    we have shown how our approach leads to a distributed

    heuristic, which still outperforms existing approaches. Using

    a simulation results on a realistic topology, we found in our

    examples that for 802.11b, using the maximal rate is optimal,

    but for 802.11a this was not the case. We have addressed

    some of the practical issues associated with having a finite

    generation size for network codes.

    Our primal-dual rate adaptation can be used to model

    window-based flow control schemes, such as TCP. The per-

    formance of applications that run on top of our system and

    use TCP is an interesting open problem. Another interesting

    direction is to analyze the performance of our protocol with

    more realistic signaling schemes.

    REFERENCES

    [1] MIT roofnet - publications and trace data,http://pdos.csail.mit.edu/roofnet/doku.php?id=publications, 2005.

    [2] J. Eriksson, S. Agarwal, P. Bahl, and J. Padhye, Feasibility study of

    mesh networks for all-wireless offices, in ACM/Usenix MobiSys, 2006.[3] M. Caesar, M. Castro, E. Nightingale, G. OShea, and A. Rowstron,Virtual ring routing: Network routing inspired by DHTs, in ACMSigComm, 2006.

    [4] S. Biswas and R. Morris, ExOR: opportunistic multi-hop routing forwireless networks, in ACM SIGCOMM, 2005.

    [5] S. Chachulski, M. Jennings, S. Katti, and D. Katabi, Trading structurefor randomness in wireless opportunistic routing, in ACM SigComm,2007.

    [6] B. Radunovic, C. Gkantsidis, P. Key, S. Gheorgiu, W. Hu, and P. Ro-driguez, Multipath code casting for wireless mesh networks, in MSR-TR-2007-68, March 2007.

    [7] L. Georgiadis, M. J. Neely, and L. Tassiulas, Resource allocation andcross-layer control in wireless networks, Foundations and Trends in

    Networking, vol. 1, no. 1, pp. 1144, 2006.

    [8] R. Ahlswede, N. Cai, S. R. Li, and R. W. Yeung, Network informationflow, IEEE Transactions on Information Theory, 2000.

    [9] T. Ho and H. Viswanathan, Dynamic algorithms for multicast withintra-session network coding, in 43rd Allerton Annual Conference onCommunication, Control, and Computing, 2005.

    [10] D. Lun, M. Medard, and R. Koetter, Network coding for efficient wire-less unicast, in IEEE International Zurich Seminar on Communications,February 2006.

    [11] R. Srikant, The Mathematics of Internet Congestion Control.Birkhauser, 2003.

    [12] A. Eryilmaz and R. Srikant, Joint congestion control, routing and macfor stability and fairness in wireless networks, IEEE Journal on Selected

    Areas in Communications, vol. 24, no. 8, pp. 15141524, August 2006.

    [13] X. Lin, N. B. Shroff, and R. Srikant, A tutorial on cross-layer opti-mization in wireless networks, IEEE J. on Selected Areas in Comm.,vol. 24, no. 8, Aug 2006.

    [14] M. Chen, S. Low, M. Chiang, and J. Doyle, Cross-layer congestioncontrol, routing and scheduling design in ad hoc wireless networks, in

    INFOCOM, 2006.

    [15] G. Sharma, R. Mazumdar, and N. Shroff, On the complexity ofscheduling in wireless networks, in Proc. MOBICOM, 2006.

    [16] D. Lun, M. Medard, and M. Effros, On coding for reliable communi-cation over packet networks, in Proc. 42nd Allerton Conference, 2004.

    [17] L. Tassiulas and A. Ephremides, Stability properties of constrainedqueueing systems and scheduling policies for maximum throughput inmultihop radio networks, IEEE Trans. on Automatic Control, vol. 37,no. 12, 1992.

    [18] M. Neely, E. Modiano, and C. Rohrs, Dynamic power allocation androuting for time-varying wireless networks, IEEE Journal on Selected

    Areas in Communications, vol. 23, no. 1, pp. 89103, January 2005.[19] M. Neely, Optimal backpressure routing for wireless networks with

    multi-receiver diversity, in Conference on Information Science andSystems, March 2006.

    [20] D. Bertsekas and J. Tsitsiklis, Parallel and Distributed Computation:Numerical Methods. Prentice Hall, 1989.

    [21] B. Radunovic, C. Gkantsidis, G. Gunawardena, and P. Key, Horizon:Balancing tcp over multiple paths in wireless mesh network, in Proc.

    MOBICOM, 2008.

    [22] F. P. Kelly, A. Maulloo, and D. Tan, Rate control in communicationnetworks: shadow prices, proportional fairness and stability, Journal ofthe Operational Research Society, vol. 49, pp. 237252, 1998.

    [23] S. Boyd and L. Vandenberghe, Convex Optimization. Cambri dgeUniversity Press, 2004.

    [24] S. Chachulski, M. Jennings, S. Katti, and D. Katabi, MORE: A networkcoding approach to opportunistic routing, in MIT-CSAIL-TR-2006-049 ,2006.

    [25] P. Chaporkar, K. Kar, and S. Sarkar, Throughput guarantees throughmaximal scheduling in wireless networks, in Proc. Allerton, 2005.

    [26] E. Modiano, D. Shah, and G. Zussman, Maximizing throughput inwireless networks via gossiping, in Proc. ACM SIGMETRICS / IFIPPerformance06, June 2006.

    [27] A. K. Miu, H. Balakrishnan, and C. E. Koksal, Improving LossResilience with Multi-Radio Diversity in Wireless Networks, in 11th

    ACM MOBICOM Conference, Cologne, Germany, September 2005.

    [28] R. Gummadi, R. Patra, H. Balakrishnan, and E. Brewer, InterferenceAvoidance and Control, in 7th ACM Workshop on Hot Topics in

    Networks (Hotnets-VII), Calgary, Canada, October 2008.

    [29] L. Huang, B. Johnson, D. Tadas, and M. Stoler, 802.11a performanceover various channels, in IEEE 802.11-03/0682-00-000k, 2003.

    [30] T. Cui, L. Chen, and T. Ho, Effcient opportunistic network coding forwireless networks, in Proc. INFOCOM, 2008.

    [31] K. Zeng, W. Lou, and H. Zhai, On end-to-end throughput of opportunis-tic routing in multirate and multihop wireless networks, in INFOCOM,2008.

    [32] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft,XORs in the air: Practical wireless network coding, in ACM SigComm,2006.

    [33] A. Eryilmaz and D. Lun, Control for inter-session network coding, inNetCod, 2007.

    APPENDIX

    Before proving Theorem 2 we first introduce the following

    lemmaLemma 1: The following equalities and inequalities hold

    for any t:

    i,jN

    cC

    ycij (ci

    cj ) =

    cC

    fc ci , (37)

    ciJxciJ =

    ciJ

    jJ

    ycij , (38)

    iN,JP(N)

    cC

    ciJxciJ(t)

    iN,JP(N)

    cC

    ciJxciJ,

    (39)

    iN,JP(N)

    cC

    c

    iJx

    c

    iJ(t)

    i,jN,cC

    c

    ij y

    c

    ij , (40)i,jN,cC

    ycij (qci (t) q

    cj(t)) =

    cC

    fc qcSrc(c)(t), (41)

    iN,JP(N)

    wciJ(t)jJ

    ycij(t) =i,jN

    wcij(t)ycij(t), (42)

    iN,JP(N)

    cC

    wciJ(t)xciJ(t)

    i,jN,cC

    wcij(t)ycij (43)

    Proof: Equalities (37) and (38) follow directly from (6)

    and (7). From (4) we further have

    cC x

    ciJ(t) = CiJ(t);

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    13/14

    13

    Together with (10) this implies

    i,J,c

    ciJxciJ(t)

    i,J,c

    J

    ciJCiJ(t)

    i,J,c

    J

    ciJCiJ

    =i,J,c

    ciJxciJ

    which proves (39). From (38) and (39) we derive (40). Since

    by definition qcDst(c)(t) = 0 we havei,jN,cC

    ycij (t)(qci (t) q

    cj(t)) =

    cC,jN

    ycSrc(c)jqcSrc(c)(t)

    from which we derive (41). Equality (42) follows from the

    definition of wcij . Also, by definition of scheduling (13)-(18),we have

    i,J,c

    wciJ(t)xciJ(t) i

    maxc

    J

    wciJ(t)CiJ(CiJ) (44)

    i,J,c

    wciJ(t)xciJ (45)

    which yields (43).

    A. Proof of Theorem 2

    Proof: We will follow the idea of the proof of Theorem

    2 from [12]. First, let us define Lyapunov function

    W(f,q,w) =1

    2

    cC

    (fc fc )

    2 +1

    2

    iN,cC

    (qci ci )

    2

    +1

    2

    iN,JP(N)

    cC

    (wciJ ciJ)

    2. (46)

    We want to show that the derivative W 0. For brevity,we define fci (t) = fc(t)1{i=Src(c)}. Using (20), (21) and (22)gives derivative of W as

    W(f(t),q(t),w(t))

    = c

    (fc(t) fc )(U

    c(fc(t)) q

    c

    Src(c)

    (t))fc(t)0

    +i,c

    (qci (t) ci )

    fci (t) +

    j

    ycji(t) k

    ycik(t)

    qci (t)0

    +i,J,c

    (wciJ(t) ciJ)

    jJ

    ycij(t) xciJ(t)

    wciJ(t)0

    . (47)

    As in (10)-(13) from [12] we have that, when qci (t) < 0 thederivative qci (t) is by definition positive; also

    ci 0. The

    same holds for wciJ(t) and fc(t) and we can upperbound the

    derivative

    W(f(t),q(t),w(t)) c

    (fc(t) fc )(U

    c(fc(t)) q

    cSrc(c)(t)

    +i,c

    (qci (t) ci )

    fci (t) +

    j

    ycji(t) k

    ycik(t)

    +i,J,c

    (wciJ(t) ciJ)jJ

    ycij(t) xciJ(t)

    (48)Let us further add and subtract Uc(f

    c ) =

    cSrc(c), as in [12],

    to obtain

    W(f(t),q(t),w(t)) c

    (fc(t) fc )(U

    c(fc(t)) U

    c(f

    c ))

    +i,c

    ci

    k

    ycik(t) j

    ycji(t) fci

    +i,c

    qci

    (t)j

    ycji

    (t) k

    ycik

    (t) + fci

    +i,J,c

    (wciJ(t) ciJ)

    jJ

    ycij(t) xciJ(t)

    .

    Due to concavity of Uc we have (fc(t) fc )(Uc(fc(t))

    Uc(fc )) 0. Next, let us pick any set of link rates {y

    cij }i,j,c

    that correspond to the optimal flow allocation {fc }c. Weexpand fc using (37) and (41) to obtain

    W(f(t),q(t),w(t)) i,j,c

    (ci cj )(y

    cij(t) y

    cij )

    +i,j,c

    (qci q

    cj )(y

    cij y

    cij(t))

    +i,J,c

    (wciJ(t) ciJ)

    jJ

    ycij(t) xciJ(t)

    .

    Let us denote zcij = ci

    cj

    cij . Then, from (40), (42)

    and (43) we have

    W(f(t),q(t),w(t))

    i,j,c

    (ycij(t) ycij )

    (ci cj cij ) (qci (t) qcj(t) wcij(t)) (49)=i,j,c

    (ycij(t) ycij )(z

    cij z

    cij(t)) (50)

    (a)=i,j,c

    ycij(t)zcij (y

    cij(t) y

    cij )z

    cij(t) (51)

    (b)

    i,j,c

    (ycij(t) ycij )z

    cij(t)

    (c)

    0. (52)

    where (a) follows from KKT and the fact that ycij zcij = 0,

    (b) from (9) and (c) from the fact that whenever qci (t) > 0and zcij(t) > 0 then y

    cij(t) can be made arbitrarily large in the

    fluid model limit as the slot length goes to zero.

  • 7/31/2019 41. Toward Practical Opportunistic Routing With Intra-Session Network Coding for Mesh Networks

    14/14

    14

    Hence we have that W(f(t),q(t),w(t)) 0 for all f(t) >0,q(t) > 0,w(t) 0. Let us define

    Q(t) =

    (q,w) |

    i,j,c

    (ycij(t) ycij )(z

    cij z

    cij(t))

    (53)

    Let us define E = {(f,q,w) | W(f,q,w) = 0}. It is easy tosee from (50) that E Q. We can further apply LaSalles

    invariance principle as in [12] to show that f(t) converges tof and (q(t),w(t)) converges to Q(t).

    However, set Q(t) is not bounded in general. If link (i, j) isactive for flow c then for every t, ycij(t) > 0 we have q

    cj(t) +

    wcij(t) = qci (t)z

    cij . If the maximum node degree in a network

    is D, we have that qcj(t) + wcij(t) q

    ci (t) z

    cij + 2DT. Since

    qcSrc(c) converges to Uc(f

    c ) we see that queues q

    ci (t), q

    cj(t)

    and wcij(t) are bounded for all active links (i, j) of each flowc.

    B. Derivation of (33)-(35)

    Let us write modified queue evolution equations:

    qci (t, g) =fci (t, g) +

    j

    ycji(t, g) j

    ycij(t, g)qci (t,g)0

    wciJ(t, g) =

    jJ

    ycij(t, g) xciJ(t, g)

    wciJ(t,g)0

    .

    Note that (20) and (21) do not hold anymore. Consequently,

    we cannot claim that (48) follows from (47) and the proof of

    Theorem 2 cannot be applied.

    We first consider qci (t, g). We see from (33) that ycik(t, g) >

    0 only ifqci (t, g) > 0. Thus, the exact queue evolution is givenby

    qci (t, g) = f

    ci (t, g) +

    j

    ycji(t)

    k

    ycik(t).

    Next, let us look at the evolution of wciJ(t, g). We have thatwciJ(t, g) = 0 only if w

    ciJ(t, g) = 0 and x

    ciJ(t, g) > 0, thus if

    g = g(c, t). Therefore, we can write

    wciJ(t, g) jJ

    ycij(t) xciJ(t, g) 1{wciJ(t,g)0},

    wciJ(t) jJ

    ycij(t) xciJ(t) 1{wciJ(t,g(c,t))0}.

    and from (47) we can write

    W(f(t),q(t),w(t))

    c

    (fc(t) fc )(Uc(fc(t)) qcSrc(c)(t)) (54)

    +i,c

    (qci (t) ci )

    fci (t) +

    j

    ycji(t) k

    ycik(t)

    (55)

    +i,J,c

    (wciJ(t) ciJ)

    jJ

    ycij(t) xciJ(t)

    (56)

    +i,J,c

    wciJ(t)xciJ(t) 1{wciJ(t,g(c,t))