Is It 2010
Is It 2010
x2, x3
Abstract—We consider scenarios where wireless clients
are missing some packets, but they collectively know every c1
packet. The clients collaborate to exchange missing packets
over an error-free broadcast channel with capacity of one x2 + x3
Fig. 2. Algorithm RDE where U ti is the set of unit encoding vectors that
repeated until all clients possess n linearly independent correspond to X ti = X \ Xti .
combination of packets and hence, are able to obtain all Lemma 2: There exists ug ∈ Uti such that βg 6= 0.
the original packets in X. Proof: Suppose that P it is not the case. Then, ζj
We analyze the correctness and optimality of the algo- can be expressed as ζj = ug ∈U t βg ug . Then, ζj is a
i
rithm. For each round i, we denote by OP Ti the minimal normal to span(Uti ). Since ζj is a normal to span(Sj )
number of packets that still need to be transmitted after it is also normal to span(Γi−1 ∪ Q̃i−1 ). Thus, ζj is a
round i, i.e., in addition to the first i transmissions, in normal to span(Γi−1 ∪ Q̃i−1 ∪ Uti ) which contradicts
order to satisfy the demands of all the clients. the fact that rank{Γi−1 ∪ Q̃i−1 ∪ Uti } = n.
Consider iteration i of the algorithm. Let Qi−1 be an 0 0
PLet ζj be a projection of ζj to span(U 0
ti ), i.e., ζj =
optimal set of encoding vectors required to complete the ug ∈Uti g gβ u . Lemma 2 implies that ζ j is not zero.
delivery of the packets to all clients after round i − 1 Lemma 3: If for each client cj ∈ C 0 it holds that
has being completed. That is, Qi−1 includes OP Ti−1 hζj0 , γi i =
6 0, then OP Ti = OP Ti−1 − 1.
encoding vectors such that: Proof: If the condition of the lemma is sat-
1) For each γ ∈ Qi−1 it holds that γ ∈ span(Uj ) for isfied, then it holds that the rank of vector set
some cj ∈ C; Γi−1 ∪ Q̃i−1 ∪ Uj ∪ {γi } is n for all cj ∈ C. This is be-
2) For each client cj ∈ C it holds that the set Γi−1 ∪ cause for clients cj ∈ / C 0 , the rank of Γi−1 ∪ Q̃i−1 ∪ Uj
Qi−1 ∪ Uj is of rank n. is n by definition, and for cj ∈ C 0 , hζj0 , γi i 6= 0
Lemma 1: Let cti be the client selected at Step 4 of implies that the rank of both Γi−1 ∪ Q̃i−1 ∪ Uj ∪ {γi }
the algorithm. Then, there exists at least one encoding and Γi−1 ∪ Q̃i−1 ∪ Uj ∪ ζj0 is equal to n. Therefore,
vector, v, that can be removed from Qi−1 such that after iteration i of the algorithm, the data transfer can
Γi−1 ∪ (Qi−1 \ {v}) ∪ Uti remains of rank n. be completed within OP Ti−1 −1 rounds by transmitting
Proof: Let µ = rank(Uti ∪ Γi−1 ) be the rank of the the vectors in Q̃i−1 .
set of encoding vectors available to client cti . Note that at Recall that γi is a random linear combination of
vectors in Uti , i.e., γi = ug ∈Ut γig ug where the γig ’s
P
the beginning of iteration i the rank of set (Uti ∪ Γi−1 )
i
is at least as large as the rank of (Uj ∪ Γi−1 ) of any are i.i.d. random coefficients chosen from the field Fq .
other client cj ∈ C. This implies that OP Ti−1 is at Lemma 4: For each client cj ∈ C 0 , the probability
least n − µ + 1. Indeed, if there exists a client with that hζj , γi i is equal to zero is 1q .
strictly lower rank than µ, then this client would require Proof: The inner product hζj , γi i can be written as
at least n−(µ−1) transmissions. Otherwise, if all clients X
hζj , γi i = βg γig . (2)
have the same rank µ < n, then the required number of
ug ∈Uti
transmissions is also at least n − µ + 1 (Note that client
cti does not benefit from its own transmission at round i Let Û be a subset of Uti such that for each ug ∈ Û
and hence, OP Ti−1 ≥ 1 + (n − µ). A similar argument it holds that βg 6= 0. Lemma 2 implies that the set Û
packets clients clients
x1
n1
nodes corresponding to k clients. An existing edge e`j
c1 t1
b1 n2
between node ` in the first layer and node j in the second
x2
c2 b t2 layer means that client cj knows packet x` . Client nodes
b2
s x3 w
b
in layer 2 are connected to a single node, w, in layer
b3 b
c3 b t3 3, where the edge capacity bj represents the number
x4
b4 n3 of transmissions
P from cj determined by the algorithm
x5
c4 t4
(bj = i 1[cti = cj ], where 1[a] is the indicator function
n4
and becomes 1 only when condition a is true). And
finally, w distributes coded packets to all k destination
Fig. 3. Example multicast graph for 4 clients and 5 packets. Pk
client nodes with edge capacities equal to b = j=1 bj .
Obviously, client cj is interested in all n source packets
is not empty. Thus, hζj , γi i = ug ∈Û βg γig . Since the
P
but also has side information Xj , which can also be
coefficients γig are i.i.d. uniformly distributed over Fq , represented by direct edges from the second to the last
the probability that hζj , γi i is equal to zero is 1q . layer with capacities equal to nj . This is a standard
Lemma 5: With probability at least 1− kq , it holds that multicast problem of transmitting n packets from the
OP Ti = OP Ti−1 − 1. source node s to k destinations. Using [7], we can find
Proof: Lemma 4 implies that for each client cj ∈ a network coding solution to the problem with |Fq | ≥ k.
C 0 , the probability that hζj , γi i is equal to zero is 1q . By We have thus shown that with linear coding we can
using the union bound we can show that the probability achieve the optimal number of transmissions and achieve
that hζj , γi i = 0 for some client cj ∈ C is bounded the capacity of the equivalent multicast problem. Hence,
by kq . Thus, with probability at least 1 − kq it holds linear coding is sufficient for the data exchange problem.
that Γi−1 ∪ Q̃i−1 ∪ Uj ∪ {γi } is of rank n for for every IV. L OWER AND U PPER B OUNDS
client cj ∈ C. By Lemma 3, OP Ti = OP Ti−1 − 1 with Before running the optimal randomized algorithm, the
probability at least 1 − kq . actual minimum number of transmissions OP T cannot
Theorem 6: The algorithm computes, with probability be known a priori. It is therefore useful to be able to
at least 1− k·nq , an optimal solution for the data exchange compute bounds on OP T . We first review one lower
problem, provided that the size q is larger than n. bound and one upper bound on OP T that were proved
Proof: Let OP T the be the optimum number of in [1]. We then establish some new bounds and comment
transmissions required to solve the data exchange prob- on how they compare with previous bounds.
lem. Note that OP T0 = OP T . By Lemma 5, after each Lemma 8: [1] The minimum number of transmis-
iteration, the number of required transmissions reduces sions OP T satisfies OP T ≥ n − nmin . Moreover, if
by one with probability at least (1 − kq ). Thus, the data all clients initially have the same number of packets
transfer will be completed after OP T iterations with nmin < n, then OP T ≥ n − nmin + 1.
probability at least Lemma 9: [1] For |Fq | ≥ k, the minimum number
OP T n
k k k·n of transmissions OP T satisfies
1− ≥ 1− ≥1− ,
q q q OP T ≤ min {|X i | + max |X j ∩ Xi |}. (3)
1≤i≤k 1≤j≤k
where the last inequality holds for q > n. The upper bound is obtained by making a client a leader
By selecting a sufficiently large q (e.g., q ≥ 4k·n), we with uncoded transmissions from other clients and then
can guarantee a certain probability of success (e.g 3/4), asking the leader to satisfy the demands of others.
which can then be amplified to be arbitrary close to 1 by Lemma 10: The minimum number of transmissions
performing multiple iterations and choosing the iteration OP T satisfies & P
that yields the minimum number of transmissions.
' & '
k Pk
i=1 n i kn − i=1 ni
Corollary 7: For any ε > 0 the algorithm can find OP T ≥ = , (4)
an optimal solution to the data exchange problem with k−1 k−1
probability at least 1 − ε in time polynomial in the size where d·e is the integer ceiling function.
of the input and log(ε). Proof: The goal of transmissions P is to reduce the
k
total number of unknown packets from i=1 ni to zero.
Reducing the field size In each transmission round, the transmitting client cannot
We can now construct a multicast problem as shown benefit from its own transmission. Therefore, at most k−
in Fig. 3 to reduce the required field size to |Fq | ≥ k. 1 clients will receive innovative information about their
The multicast setting consists of a source node s and unknown packets. The lower bound follows by noting
4 layers. The first layer has n nodes corresponding to that the number of transmissions has to be an integer.
n source packets. The source node s is connected by The next lower bound is a generalization of Lemma 8
a link to each node in layer 1. Layer 2 comprises k and states that when there is at least one packet that
is known only to clients with nmin known packets, the 50
Max of Lem 6 and Lem 7 LBs
Compared with the Lemma 9 upper bound, here we wish Fig. 4. Comparison of the derived lower and upper bounds with the
to make the client ci a leader (such that it acquires optimal solution for k = 5 clients versus number of packets.
packets in X i ) using coded transmissions from other
clients called helpers. k = 5 clients versus number of packets. The combined
Let vector hj = hj,1 , hj,2 , · · · , hj,kj denote the lower bounds provide very tight closed-form results on
index of helper clients where kj is the number of helpers the optimal randomized solution which is also shown in
and hj,m for 1 ≤ m ≤ kj is the index of helpers. the figure. The Lemma 12 upper bound is also shown us-
The transmission from helpers is done in the order of ing randomized coding with only k−1 choices of helpers
elements of hj . The overall index j in hj refers to a for each leader. It significantly improves the Lemma 9
particular choice of helpers. To make ci a leader, we upper bound which used uncoded transmissions.
can at most have (k − 1)! distinct ordered helpers. V. C ONCLUSION
Helpers should collectively satisfy the demands of the
kj We presented a randomized algorithm for finding
leader: X i ⊆ ∪m=1 Xhj,m . Each helper client chj,m is
an optimal solution for the cooperative data exchange
responsible for transmitting Ahj,m = |Ehj,m | number of
problem with high probability. While the algorithm gives
packets in its known set which are unknown to the leader
a solution over a relatively large field, we showed that the
and all previous helpers, where Ehj,m is defined as
field size can be reduced, through an efficient procedure,
Ehj,m = X i ∩ X hj,1 ∩ X hj,2 ∩ · · · ∩ X hj,m−1 ∩ Xhj,m . without any penalty in terms of the total number of
Let Γj,m = {γm,1 , · · · , γm,Ahj,m } be the set of cod- transmissions. We also provided two tight lower bounds
ing vectors transmitted by helper chj,m from its known and one upper bound which can be easily computed and
set of unit vectors such that rank(Ui ∪m q=1 Γj,q ) increases therefore, helpful in evaluating system performance.
by Ahj,m compared to rank(Ui ∪m−1 q=1 Γj,q ). This is In the future, we would like to explore two interrelated
required to guarantee that ci becomes the leader in the issues of (i) incentives and their overheads to guarantee
process and requires an appropriate choice of coding continued cooperation from clients and (ii) fairness to
coefficients corresponding to unit vectors of Ehj,m for clients (in terms of number of transmissions) during data
elements of Γj,m . Coefficients at other positions can be exchange.
chosen at random from the chosen field Fq since they R EFERENCES
do not affect decoding at the leader. [1] S. El Rouayheb, A. Sprintson, and P. Sadeghi, “On coding for co-
After the helpers complete their transmissions, a client operative data exchange,” in Proc. Information Theory Workshop,
kj Cairo, Egypt, 2009, pp. 118–122.
such as cp will know Bj,p = rank(Up ∪m=1 Γj,m )
[2] Y. Birk and T. Kol, “Coding-on-demand by an informed source
linearly independent equations and hence needs an extra (ISCOD) for efficient broadcast of different supplemental data
n−Bj,p transmissions from the leader. Summarizing the to caching clients,” IEEE Transactions on Infromation Theory,
results, we arrive at the following upper bound: vol. 52, no. 6, pp. 2825–2830, June 2006.
[3] Z. Bar-Yossef, Y. Birk, T. S. Jayram, and T. Ko, “Index coding with
Lemma 12: The minimum number of transmissions side information,” in Proc. of the 47th Annual IEEE Symposium
OP T satisfies on Foundations of Computer Science (FOCS), 2006, pp. 197–206.
[4] S. El Rouayheb, A. Sprintson, and C. N. Georghiades, “On
OP T ≤ min min{|X i | + max {n − Bj,p }}, (5) the relation between the index coding and the network coding
1≤i≤k j 1≤p≤k
kj problems,” Proc. of IEEE International Symposium on Information
where Bj,p = rank(Up ∪m=1 Γj,m ), Γj,m = Theory (ISIT), 2008.
{γm,1 , · · · , γm,Ahj,m } is the set of coding vectors trans- [5] D. Shah, Gossip Algorithms (Foundations and Trends in Network-
ing). Now Publishers Inc, 2007, vol. 3, no. 1.
mitted by helper chj,m from its known set of unit vectors [6] A. Sendonaris, E. Erkip, and B. Aazhang, “User cooperation
Uhj,m , and the second minimization is over all or only diversity–Part I: System description,” IEEE Trans. Commun.,
a subset of choices of helpers. vol. 51, no. 11, pp. 1927–1938, Nov. 2003.
[7] S. Jaggi, P. Sanders, P. A. Chou, M. Effros, S. Egner, K. Jain,
Finally, we present some numerical results. The and L. Tolhuizen, “Polynomial Time Algorithms for Multicast
bottom curve in Fig. 4 shows the maximum of the Network Code Construction,” IEEE Transactions on Information
Lemma 10 and Lemma 11 lower bounds on OP T for Theory, vol. 51, no. 6, pp. 1973–1982, 2005.