Code Route
Code Route
It is important to note that the size and running time of ∀ i ∈ N, |B| ≥ 2 (16)
the LP formulation for coding aware network routing with X yiB
opportunistic listening in Section V is independent of the ≤ 1 ∀ cliques C in F (17)
u(B)
method used to generate the structures (but depends on the (i,B)∈C
number of structures in Γi ).
We explain why we need not consider additional transmis- Constraints (10) state that for each combination of incoming
sion scheduling constraints for opportunistic listening. Con- link e1 and outgoing link e2 at node i, the portion of transit
sider a node n1 that listens on the transmission of a (native) traffic that participates in coding as native-received flows is
packet from a node n2 to its next-hop node n3 . Since n1 is a at most the amount that was received as native from t(e1 ).
neighbor of n2 and hence within interference range of n2 , it Similarly, constraints (11) state that the portion of transit traffic
cannot be a receiver for some other transmission during this that participates in coding as coded-received flows is at most
time in valid schedule. Also, for the listening to be useful in the amount that was received as coded.
a coding decision at n3 , n1 must be a neighbor of n3 . Thus, Constraints (12) are balance constraints for the total transit
n1 cannot also be transmitting during this time, otherwise it traffic entering through link e1 and exiting through link e2
will interfere at n3 with the transmission from n2 .
Fig. 7. In building mesh network
Fig. 4. Example Topology Fig. 5. 15-node random
topology Fig. 6. Community wireless network
at node i,PwhichPappears on LHS. The first portion on RHS, the optimal solution was much smaller.) We solve all linear
namely, k∈D P ∈P k ,P 3e1 e2 zik (P ) is the amount of transit programs using CPLEX [19].
traffic that goes out as native (i.e., Pdoes not participate in
any coding). The second portion, S3(e1 e2 ,n) xi (S), is the
amount of transit traffic that participates
P in coding as native- A. Results on Illustrative Topology
received flows. The third portion, S3(e1 e2 ,c) xi (S), is the
amount of transit traffic that participates in coding as coded- We first start with a simple 14-node topology shown in
received flows. Figure 4. We have deliberately chosen this topology to illus-
Constraints (13)-(14) are the boundary conditions for the trate two key properties of our LP formulations – for a given
zik (P ) variables. Constraints (13) state that the source node of network and traffic demands, the LP computes the routes to
every path transmits the entire traffic on that path as native, obtain maximum throughput by (1) maximizing the coding
since no coding opportunities are available for originating opportunities and (2) minimizing the interference among the
traffic at the source node. Constraints (14) state that for a flows.
given path, the amount of traffic transmitted as native at each We assume that the communication range of each node is
transit node is at most the total traffic on that path. 100 units and the interference range is 200. For simplicity,
{e}
Constraints (15) express the unicast traffic variable yi as assume that all the wireless links have the same transmission
the total amount of traffic that is transmitted as native on link e rates (one unit). We assume the protocol interference model
at node i. Constraints (16) express the broadcast traffic variable (Section III) We allow opportunistic listening. We compare
yiB as the total amount of traffic that is transmitted as coded the maximum throughput obtained using CA - SPATH - CODE,
on link set B at node i – this corresponds to the sum of traffic SPATH - CODE and SPATH for the following scenarios:
over all coding structures S ∈ Γi with b(S) = B. Scenario A – Minimizing interference: Consider two
Finally, as before, constraints (17) are the broadcast trans- concurrent demands d1 : 0 → 4 and d2 : 10 → 13 each
mission scheduling constraints corresponding to cliques in the of 1 unit which have to be routed. Now, SPATH and SPATH -
broadcast conflict graph. In this case, the broadcast sets of the CODE will route the demands d1 and d2 along the shortest
cliques are not restricted to be of size 2, since opportunistic paths P1 and P2 respectively. It can be shown that only one
listening is allowed. of these 7 links can be active at a time and hence the optimal
In a manner analogous to Section IV, this LP can also throughput with SPATH would be 1/7. Since there are no
be used to compute the throughput when ETX metric routes coding opportunities along these paths, the optimal throughput
are used. For this purpose, the set P k of available paths for with SPATH - CODE would also be 1/7. However, the routes
demand k consists of the (singleton) shortest cost ETX path computed by CA - SPATH - CODE result in an optimal throughput
from node s(k) to node d(k). of 2/9 i.e. an improvement of 55% over SPATH - CODE. This
is because, in the absence of coding opportunities, CA - SPATH -
VI. E VALUATION CODE routes the demands along the paths which result in the
We evaluate the performance of the following schemes on least interference. In this case, CA - SPATH - CODE routes d2 on
a variety of network topologies: (1) shortest path routing a longer path P3 which yields a better throughput because of
(SPATH) (2) interference-aware multi-path routing (MPATH) the reduced interference with d1 .
(computed using a variation of the LP formulation in [9]) Scenario B – Maximizing coding opportunities: We now
(3) shortest path routing with network coding (SPATH - CODE), reverse the first demand (d1 : 4 → 0) and compute the optimal
derived by restricting P k to (singleton) shortest cost ETX path throughput for each scheme. In this case, SPATH and SPATH -
(4) network coding aware multi-path routing (CA - MPATH - CODE route the demand along the paths P1 and P2 0 (Figure 4).
CODE , shortened to LP - CODE in the plots), and (5) network For these routes, an optimal schedule results in a throughput
coding aware single-path routing (CA - SPATH - CODE) 3 . We of 1/5 (since links {(10, 11), (4, 3)},{(1, 0), (12, 13)} can be
evaluate SPATH - CODE and CA - MPATH - CODE, both with and scheduled in single time slot). Routing the demand d1 along
without opportunistic listening. The main goals of our sim- the P3 0 (reverse of P3 ) does not reduce the interference in this
ulation are to: (1) characterize the maximum throughput of case and results in a throughput of 1/5. However, CA - SPATH -
a given network and traffic patterns with network coding CODE takes advantage of opportunistic listening and routes
(2) quantify the benefits of coding aware routing. For the the demand d1 along path P4 and d2 along P2 0 which results
evaluations using multi-path routing, the set Pk of available in coding opportunities at nodes 1, 2 and 3. This reduces
paths was chosen to consist of the K-shortest distance paths the number of transmissions from 7 to 4 and hence results
for K = 40. (In all cases, the actual number of paths used by in an optimal throughput of 1/4 (an improvement of 25%
over SPATH - CODE). It is important to note that a longer path
3 Due to space constraints, we present results for CA - SPATH - CODE for only P4 results in a better throughput because of increased coding
one illustrative topology. opportunities.
1.7 1.7 0.5
MPATH LP-CODE w/o listening
Throughput gain
Throughput gain
0.35
1.4 1.4 1.1
0.3
1.3 1.3 1
0.25
1.2 1.2
0.9 0.2
1.1 1.1 0.15
0.8
1 1 0.1
0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500
Number of demands Number of demands Number of demands Number of demands
Fig. 8. Throughput gain (Nor- Fig. 9. Throughput gain (w/ and Fig. 10. Bandwidth/throughput Fig. 11. Fraction of coded traffic
malized wrt SPATH) w/o opportunistic listening) normalized w.r.t SPATH Vs number of demands
B. Evaluation on Wireless Network Topologies both with and without opportunistic listening. The results
We evaluated the performance of our LP formulations on a are shown in Figure 9. Allowing opportunistic listening for
various topologies. Here, we present the results for a random SPATH - CODE results in a throughput gain of 30% over shortest
graph topology and two other topologies derived from an path. Throughput increase compared to SPATH - CODE without
operational community wireless network and an in-building listening is 10%, which is not significant. It is interesting to
mesh network. note that for this topology, CA - MPATH - CODE without oppor-
Optimality: In general, the upper and the lower bounds tunistic listening results in a better throughput than SPATH -
computed by the clique constraints and the independent set CODE with opportunistic listening. However, increase over
constraints (Section III) may not converge. However, for the SPATH - CODE is only around 10% . Thus, for this topology
topologies under consideration, the upper and lower bounds for only the combined gain of both coding-aware routing and
each of the schemes were found to converge, hence assuring opportunistic listening is significant (40% over SPATH - CODE).
us of the optimality of the solution. Evaluation #3 – Broadcast transmission bandwidth and
throughput: We compare the amount of broadcast transmis-
Random Graph Topology sion bandwidth required per unit throughput for (1) MPATH (2)
We present the results for a 15-node wireless network SPATH - CODE with opportunistic listening and (3) CA - MPATH -
shown in figure 5. The positions of the nodes were chosen CODE with and without opportunistic listening. Figure 10
randomly in a square of side 400 units. The communication shows that the number of broadcast transmissions normalized
range of each node is set to 100 units and interference range with respect to that of shortest path routing decrease for
is set to 200. The capacity of the communication links is SPATH - CODE up to a certain point and then remain constant.
chosen according to Shannon’s formula (parameters in the The initial decrease is due to the saving from increased coding
formula are appropriately fixed). The average degree of each opportunities (arising from increasing demands). We observe
node was 4.4. The source and the destination for each flow that MPATH requires around 15% more transmission bandwidth
is chosen at random. We vary the number of demands from than shortest path, as it tries to increase throughput by routing
10 to 600. along multiple paths, which might be longer but less interfer-
ence prone. SPATH - CODE requires an average bandwidth of
Evaluation #1 - Interplay of interference effects and only 0.83 per unit throughput and the savings of around 17%
coding opportunities: We study the variation of throughput compared to shortest path routing are purely due to coding.
gain as a function of number of demands for SPATH - CODE, CA - MPATH - CODE without opportunistic listening requires a
MPATH and CA - MPATH - CODE . We allow opportunistic listen- bandwidth of 0.94 even when it chooses potentially longer
ing. Figure 8 shows the throughput normalized w.r.t shortest routes because of the reduced transmissions due to increased
path routing for increasing number of flows. The throughput coding opportunities. CA - MPATH - CODE with opportunistic lis-
gain for MPATH increases with the increase in number of flows. tening performs the best with 0.87 which is slightly higher than
However, as the network load increases, it becomes difficult to SPATH - CODE , but as observed, results in a higher throughput
find paths that do not interfere with other flows and thus the gain.
gain decreases. For SPATH - CODE the routes are fixed, hence Evaluation #4 – Increase in throughput with fraction
interference cannot be avoided and the gains are purely due to of coded traffic: Figure 11 shows that the fraction of coded
coding opportunities. Coding opportunities increase with the traffic for SPATH - CODE and CA - MPATH - CODE, both with
number of flows resulting in increasing throughput gain. We and without opportunistic listening. As the number of flows
observe that CA - MPATH - CODE outperforms both the schemes increase, the fraction of coded traffic increases and then
with a maximum gain of 65% over shortest path and of about attains a maximum. Figure 12 shows that throughput gain
40% over SPATH - CODE. The higher slope of the curve is due increases with fraction of coded traffic for SPATH - CODE thus
to the combined gains of reduced interference and increased confirming the fact that observed gains are purely due to
coding opportunities. It is important to note that increase in coding opportunities.
coding opportunities is due to coding aware routing as well as In Building Mesh Network
opportunistic listening. Figure 7 shows a 32-node topology derived from a mesh
Evaluation #2 – Coding-aware routing vs opportunistic network test bed [10]. The average node degree was 6.8 and
listening: A natural question is to ask how much is the the maximum degree was 14. The effective link rates were
performance improvement due to coding aware routing (with- derived from the delivery ratios and the shortest path routing
out opportunistic listening) alone and how much is due to was based on the ETX metric.
opportunistic listening. Motivated by this question, we study Evaluation #5 – Impact of network structure: We com-
the variation of throughput gain as a function of increasing puted the throughput gains for each of the schemes for increas-
number of demands for SPATH - CODE and CA - MPATH - CODE, ing number of flows. Figure 13 shows an interesting result
1.25 1.8
SPATH-CODE w/o listening LP-CODE w/o listening LP-CODE w/o listening
SPATH-CODE w/ listening SPATH-CODE w/o listening 1.5 SPATH-CODE w/o listening S-NOL (SPATH-NETCOD w/ listening)
1.7 S-OL (SPATH-NETCOD w/ listening)
SPATH-CODE w/ listening SPATH-CODE w/ listening
Throughput gain
Throughput gain
Throughput gain
0.75
1.5
1.15
1.3 0.60
1.4
1.1 0.45
1.3 1.2
0.30
1.2
1.05 1.1
1.1 0.15
1 1 1
15-node Mesh network Community wireless
0 0.05 0.1 0.15 0.2 0.25 0.3 0 50 100 150 200 250 300 0 50 100 150 200 250 300
topology topology network topology
Fraction of coded traffic Number of demands Number of demands