Three Schemes for Wireless Coded Broadcast to Heterogeneous Users
Abstract
We study and compare three coded schemes for singleserver wireless broadcast of multiple description coded content to heterogeneous users. The users (sink nodes) demand different number of descriptions over links with different packet loss rates. The three coded schemes are based on the LT codes, growth codes, and randomized chunked codes. The schemes are compared on the basis of the total number of transmissions required to deliver the demands of all users, which we refer to as the server (source) delivery time. We design the degree distributions of LT codes by solving suitably defined linear optimization problems, and numerically characterize the achievable delivery time for different coding schemes. We find that including a systematic phase (uncoded transmission) is significantly beneficial for scenarios with low demands, and that coding is necessary for efficiently delivering high demands. Different demand and error rate scenarios may require very different coding schemes. Growth codes and chunked codes do not perform as well as optimized LT codes in the heterogeneous communication scenario.
keywords:
LT codes, chunked codes, growth codes, wireless broadcastpfProof \newdefinitionnoteNote \newdefinitiondefnDefinition
1 Introduction
1.1 Motivation
In the past decade, the development of wireless networks has provided a fertile soil for popularization of portable digital devices, and the digital distribution of bulk media contents. This, in return, is stimulating new leaps in wireless communication technology. Today, devices retrieving digital video content in the air vary from 1080p HDTV sets to smartphones with 480\times320pixel screen resolution. Under assorted restraints in hardware, power, location, and mobility, these devices experience diverse link quality, differ in computing capability needed to retrieve information from received data streams, and request information of varied granularity. Consequently, a transmission scheme designed for one type of users may not be as suitable for another even if they demand the same content.
Today’s technology implements a straightforward solution of separate transmissions to individual users, that is, multiple unicasts. Nonetheless, the key question is whether it is possible to deliver all users’ demands with fewer data streams and less traffic. Especially in transmitting bulk data through wireless channels or over other shared media, reducing the amount of traffic is vital for reducing collision/interference, which in turn will also positively affect the quality of the channel in use. An additional concern in the environment conscious world is, of course, energy.
There is no surprise then that the problem of delivering more efficient service to a heterogeneous user community has attracted a great deal of both technical and academic interest. On the source coding side, layered coding (e.g.layered_Khansari94 (); layeredGallant ()) and multiple description coding MDC_Goyal01 () have been widely studied as solutions to providing rate scalability. In particular, with multiple description coding, a user is able to reconstruct a lowerquality version of the content upon receiving any one of the descriptions, and is able to improve the reconstruction quality upon receiving any additional description. Thus, the users’ content reconstruction quality is commensurate with the quality of their connection. On the channel coding side, rateless codes luby (); amin (), or fountain codes, can generate a potentially infinite stream of coded symbols that can be optimized simultaneously for different channel erasure rates as long as the users have uniform demands.
In this work, we explore an achievable efficiency of serving users having heterogeneous demands while using a single broadcast stream. Whearas the information theoretical aspect of the problem is of interest and under investigation (see for example laeISIT12 () and references therein), we focus on three practical coding schemes and explore their suitability for the described communications scenario. Two important features that make codes suitable for such scenarios are (1) the ability to support partial data recovery and (2) the ability to efficiently adapt to different channel conditions. Based on these desirable features, we chose to investigate three candidates: LTluby (), growthgrowth_sigcomm06 (), and chunkedmaymounkov_chunked (); generation_ITtrans () codes. In this paper, we are particularly interested in the total number of source transmissions needed to deliver the demands of all users. This quantity determines the amount of required communication resources, and also translates to the amount of time required for delivery. In the streaming of temporallysegmented multimedia content that is delayconstrained, it is important for the source to finish transmitting a segment as soon as possible so as to proceed to the next one. Some performance measures of interest are addressed in AllertonYE ().
1.2 Main Results
We compare three coding schemes and their variations for broadcasting to heterogeneous users: users suffer different packet loss rates and demand different amounts of data. The coding schemes discussed include:

optimized LT codes, with or without a systematic phase, that is, one round of transmission of the original uncoded packets;

growth codes; and

chunked codes.
We also compare these schemes to a reference scheme for the heterogeneous scenario based on timeshared broadcast of degraded message setsdegraded (). We find that including a systematic phase is significantly beneficial towards delivering lower demands, but that coding is necessary for delivering higher demands. Different user demographics result in the suitability of very different coding schemes. Growth codes and chunked codes are not as suitable to this communication scenario as are optimized LT codes.
1.3 Organization
The rest of the paper is organized as follows. Section 2 introduces the model of wireless broadcasting of multiple description coded content to heterogeneous users. Section 3 introduces the coding schemes of interest, and provide theoretical characterization of code performance. In particular, the LT codes are optimized both with and without a systematic phase. In Section 4 we provide numerical and simulation results of the achievable server delivery time, and discuss the suitability of these coded schemes for broadcast to heterogeneous users. The last section concludes.
2 System Model
Consider a wireless singlehop broadcast network consisting of a source (server) node holding content for distribution, and l sink (user) nodes waiting to retrieve the content from the broadcast stream aired by the source, as shown in Figure 1.
Suppose the content held at the source node is multiple description coded into N descriptions, using, for example, one of the coding schemes described in chou_layeredMDC () or in seyISIT11 (), and each description is packaged into one packet for transmission. Each packet is represented as a binary vector of length b, and denoted with \xi_{j} for j=1,2,\dots,N. A lowquality version of the content can be reconstructed once a user is able to recover any description. The reconstruction quality improves progressively by recovering additional descriptions, and depends solely on the number of descriptions recovered, irrelevant of the particular recovered collection.
The source broadcasts one packet per unit time to all the sink nodes in the system. However, the sinks are connected to the source by lossy links, and at every sink, a packet either arrives at the sink intact or is entirely lost. Such an assumption is practical if we only consider data streams at the network level or higher. Under the multiple description coding assumption, a sink node can choose to demand a smaller number of descriptions rather than wait to collect all N. This may not only shorten its own waiting time but also reduce the system burden. The demand of a sink node is characterized by the number of descriptions it needs to reconstruct the content within the desired distortion constraint.
Sink nodes are characterized by parameter pairs (z_{i},\epsilon_{i}), i=1,2,\dots,l, describing their demands and link qualities:

z_{i}\in\{1/N,2/N,\dots,1\} is the fraction of content demanded by user i, that is, each node demands z_{i}N distinct descriptions.

\epsilon_{i} is the packet erasure (loss) rate on each link from the source to user i. A packet transmitted by the source fails to reach user i with probability \epsilon_{i}. All links are assumed to be memoryless.
We further assume no feedback from the sinks to the source except for the initial requests to register the demands and the final confirmation of demand fulfillment. We also assume that the packet erasure rates \epsilon_{i}s on the links are known to the server. In wireless broadcast, feedback from multiple nodes increases the chance of collision and compromises the pointtopoint channel quality. Hence, it is desirable to keep the feedback at a minimum.
Definition 1
(General Delivery Time) The delivery time T_{i} of a sink is a random variable defined as the number of packets transmitted from the server until the fulfillment of the demand z_{i} of user i. The server delivery time T=\max_{i=1}^{l}{T_{i}} is the number of packets transmitted from the server required to fulfill the demands of all the users.
Since all users retrieve information from the same broadcast stream through channels of random erasures, T_{i}’s and T are dependent random variables. Nevertheless, even their marginal probability distributions are not easy to characterize. Instead, in this paper, we normalize the delivery time by the total number of content packets N, and restrict our attention to either the expectation t_{i}=E[T_{i}]/N or the asymptotics t_{i}=\lim_{N\rightarrow\infty}T_{i}/N, and study \max_{i=1}^{l}t_{i} as the (normalized) server delivery time. When t_{i}=E[T_{i}]/N, \max_{i=1}^{l}t_{i} is a lower bound for E[T]/N, the normalized expected delivery time. For brevity we further abuse our notation and terminology and specialize the definition of delivery time to these lower bounds. The specialization of a definition will be stated where appropriate. In the rest of this paper, we describe and analyze three randomized coding schemes for broadcast in a heterogeneous setting, optimize if appropriate, compare their performance, and discuss their suitability to our end.
Note that with multiple unicasts, the total number of packets transmitted would be (in the mean) at least \sum_{i=1}^{l}\frac{z_{i}}{1\epsilon_{i}}. We will show in our results that it is possible to do better using broadcast.
3 Three Coding Schemes for Broadcast to Heterogeneous Users
In this section, we describe three coding schemes and characterize their delivery time performance for broadcast to heterogeneous users. All the coding schemes studied in this paper are applied at the packet level. Each coded packet is obtained as a random linear combination of the original packets, but either the number or the range of the packets involved in each linear combination is restricted.
3.1 LT Coded Broadcast
LT codes were first proposed by Michael Luby in luby () as a class of codes designed to overcome variations in channel quality via ratelessness. Unlike their rateless predecessors, the ordinary random linear codes, LT codes can be decoded by simple suboptimal decoders with little loss in performance. In sanghavi (), Sujay Sanghavi pointed out the inadequacy of the original LT codes for partial data recovery, and demonstrated the possibility of redesigning the LT codes. His focus was on scenarios with users having uniform demands. Here we extend the code optimization framework of sanghavi () to adapt the code to the heterogeneous scenario in which both the channel conditions and the demands vary among users.
3.1.1 Overview of LT Encoding and Decoding
The LT codes, as defined in Luby’s original paper luby (), are binary. An LT encoder outputs a potentially infinite stream of random linear combinations of the N original content packets, and decodes with a beliefpropagation decoder. Each coded packet is generated independently as follows: first, pick a degree d according to a distribution defined by its moment generating function
P^{(N)}(x)=p_{1}x+p_{2}x^{2}+\ldots+p_{N}x^{N},  (1) 
where p_{j}\triangleq\mathrm{Prob}[d=j]; then, select with equal probability one of the {N\choose d} possible combinations of d distinct packets from the N content packets, and form a coded packet of degree d by linearly combining the chosen packets over \mathrm{GF}(2). The linear combination is represented by a coding vector c=[c_{1},c_{2},\dots,c_{N}]^{T}, a binary column vector of length N with exactly d nonzero components corresponding to the chosen packets. The generated coded packet is given by \sum_{j=1}^{N}c_{j}\xi_{j} (recall \xi_{j}s are the binary vector representations of the content packets as defined in Section 2) and it is of the same size b as the original content packets. The Nbit coding vector c can be embedded into the coded packet and transmitted to the user. In wireless communications where data packets are generally of at most a few kilobytes’ size, if N\sim1K, it is costly to add an extra N bits. Instead, the source can embed into the packet the degree of the coding vector and the seed of a pseudorandom number generator that is in shared knowledge of both the source and all the sink nodes, to allow the sink node to regenerate the coding vector locally.
Decoding is done by a belief propagation decoderluby (); amin (). The decoder maintains a set called the ripple. The initial ripple is composed of all received coded packets of degree1. In each decoding step, one coded packet in the ripple is processed by removing it from the ripple, substituting it into all the coded packets it participates in, which reduces the degrees of these coded packets. The coded packets whose degrees are reduced to 1 are added to the ripple, and the decoder continue to process another coded packet in the ripple. The decoding process halts when the ripple becomes empty.
3.1.2 Characterization of the Recoverable Fraction
Each user i needs to recover z_{i}N content packets from the received coded packets.
Definition 2
(Recoverable Fraction) A fraction z is said to be recoverable by the belief propagation decoder if the ripple size stays positive (at least) until zN packets get decoded.
Based on Theorem 2 in 2nd_moment (), Corollary 4 gives the expected ripple size as a function of the recovered fraction of the content packets. We restate the part of Theorem 2 in 2nd_moment () that concerns the expected size of the ripple as Theorem 3.
Assume w\cdot N coded packets have been collected and fed into an LT decoder, for some positive constant w. Let u\cdot N be the number of decoded content packets, for a constant u\in[0,1). Let r^{(N)}(u) be the expected size of the ripple, normalized by N.
Theorem 3
(Maatouk and Shokrollahi (2nd_moment, , Thm. 2)) If an LT code of N content packets has degree distribution specified by the moment generating function P^{(N)}(x) (see (1)), then
r^{(N)}(u)=wu\Bigl{(}P^{(N)\prime}(1u)+\frac{1}{w}\ln u\Bigr{)}+\mathcal{O}% \Bigl{(}\frac{1}{N}\Bigr{)},  (2) 
where P^{(N)\prime}(x) stands for the first derivative of P^{(N)}(x) with respect to x.
We further extend Theorem 3 to the case where the number of collected coded packets is random to accommodate random packets losses over the channel. Assume the number of collected coded packets is now W\cdot N, where W is a random variable with mean v. Denote the normalized expected ripple size as N\rightarrow\infty as r_{W}(u). Assuming that P^{(N)}(x) converges to P(x)=\sum_{i\geq 1}p_{i}x^{i} as N\rightarrow\infty, then the following holds:
Corollary 4
r_{W}(u)=u\Bigl{(}vP^{\prime}(1u)+\ln u\Bigr{)}.  (3) 
[Proof.] Although Theorem 3 (Theorem 2 in 2nd_moment ()) is stated for the case where the number of coded packets collected by the sink node is more than the total number of content blocks, i.e., w>1, its proof suggests that the theorem also holds for any constant w<1.
Take N\rightarrow\infty on both sides of 2, we have
r(u)=\lim_{N\rightarrow\infty}r^{(N)}(u)=u\bigl{(}wP^{\prime}(1u)+\ln u\bigr{% )}.  (4) 
Replace w in (4) with W. Due to the linearity of the expected ripple size in W for given u and P,
\displaystyle r_{W}(u)  \displaystyle=  \displaystyle E\left[u\Bigl{(}WP^{\prime}(1u)+\ln u\Bigr{)}\right]=u\Bigl{(}% vP^{\prime}(1u)+\ln u\Bigr{)} 
If we use the expected value as a rough estimate of the ripple size during the decoding process, we should have r_{W}(u)>0 for u\in(1z,1]. Applying (3), we have
vP^{\prime}(1u)+\ln u>0,\quad\forall u\in(1z,1],  (5) 
We next use (5) as a constraint to formulate an optimization problem for LT code degree distribution design to minimize the number of transmissions required to meet all sink demands.
3.1.3 Minimizing Server Delivery Time by Degree Distribution Design
We are concerned with the delivery time of LT coded broadcast in the asymptotic regime when N\rightarrow\infty.
Definition 5
(LT Delivery Time) For the LT coded scheme, the (normalized) delivery time t_{i} is defined as the ratio of the number of transmissions required to fulfill the demand z_{i} of user i to the the total number N of content packets, as N\rightarrow\infty. The (normalized) server delivery time is taken as t_{0}=\max_{i=1}^{l}\{t_{i}\}.
The normalized number of coded packets user i receives by its delivery time t_{i} over a channel with the packet erasure rate \epsilon_{i} is on average t_{i}(1\epsilon_{i}). Let x=1u in (5) and \omega=t_{i}(1\epsilon_{i}); we have
(1\epsilon_{i})t_{i}P^{\prime}(x)+\ln(1x)>0,\quad\forall x\in[0,z_{i}),  (6) 
and consequently,
t_{i}=\inf\{\tau:(1\epsilon_{i})\tau P^{\prime}(x)+\ln(1x)>0,\forall x\in[0,% z_{i})\}.  (7) 
On the other hand, the recovered fraction by the user on a link of loss rate \epsilon as a function of the number t of transmitted packets (normalized by N) is
z(t,\epsilon)=\sup\{\zeta:(1\epsilon)tP^{\prime}(x)+\ln(1x)>0,\forall x\in[0% ,\zeta)\},  (8) 
i.e., the recoverable fraction is the maximum \zeta such that the expected ripple size stays positive in the whole range of [0,\zeta].
We now have all elements to state an optimization problem for minimize the server delivery time t. Using (6), the optimization problem is expressed as follows:
\displaystyle\mbox{min.}_{P,t_{1},\dots,t_{l}}  \displaystyle t_{0}=\max_{i}\ t_{i}  (9)  
s.t.  \displaystyle t_{i}(1\epsilon_{i})P^{\prime}(x)+\ln(1x)>0,\quad 0\leq x\leq z% _{i},\quad\mbox{for }i=1,2,\dots,l;  
\displaystyle P(1)=1, 
or equivalently,
\displaystyle\mbox{min.}_{P,t_{0}}  \displaystyle t_{0}  
s.t.  \displaystyle t_{0}(1\epsilon_{i})P^{\prime}(x)+\ln(1x)>0,\quad 0\leq x\leq z% _{i},\quad\mbox{for }i=1,2,\dots,l.  
\displaystyle P(1)=1. 
Claim 6
There must exist an optimal solution to Problem (3.1.3) with a polynomial P(x) of degree no higher than d_{\max}=\lceil\frac{1}{1\max_{i}\{z_{i}\}}\rceil1.
[Proof.] This claim is provable with an argument similar to Lemma 2 of sanghavi (). Suppose (t^{*},P^{*}) is an optimal solution of Problem (3.1.3). construct \bar{P} such that \bar{p}_{j}=p^{*}_{j} for j=1,2,\dots,d_{\max}1, and \bar{p}_{d_{\max}}=\sum_{j\geq d_{\max}}p^{*}_{j}. Then \bar{P}(x) still represents a degree distribution, and meanwhile,
\displaystyle\bar{P}^{\prime}(x)P^{*\prime}(x)  \displaystyle=\sum_{j=1}^{d_{\max}}j\bar{p}_{j}x^{j1}\sum_{j\geq 1}jp^{*}_{j% }x^{j1}  
\displaystyle=\sum_{j=1}^{d_{\max}1}jp^{*}_{j}x^{j1}+d_{\max}\sum_{j\geq d_{% \max}}p^{*}_{j}x^{d_{\max}1}\sum_{j=1}^{d_{\max}1}jp^{*}_{j}x^{j1}\sum_{j% \geq d_{\max}}jp^{*}_{j}x^{j1}  
\displaystyle=\sum_{j\geq d_{\max}}[d_{\max}p^{*}_{j}x^{d_{\max}1}jp^{*}_{j}% x^{j1}]  
\displaystyle=\sum_{j\geq d_{\max}+1}p^{*}_{j}x^{d_{\max}1}[d_{\max}jx^{jd_% {\max}}]  
\displaystyle\geq\sum_{j\geq d_{\max}+1}p^{*}_{j}x^{d_{\max}1}[d_{\max}(d_{% \max}+1)x]. 
As long as x\leq\frac{d_{\max}}{d_{\max}+1}, i.e., d_{\max}\geq\frac{x}{1x}=\frac{1}{1x}1, \bar{P}^{\prime}(x)\geq P^{*\prime}(x). Thus, set d_{\max}=\lceil\frac{1}{1\max_{i}{z_{i}}}\rceil1\geq\lceil\frac{1}{1z_{i}}% \rceil1\geq\frac{1}{1z_{i}}1, we have for i=1,2,\dots,l,
t^{*}(1\epsilon_{i})\bar{P}^{\prime}(x)+\ln(1x)\geq t^{*}(1\epsilon_{i})P^{% *\prime}(x)+\ln(1x)>0,\quad 0\leq x\leq z_{i}, 
and hence (t^{*},\bar{P}) is also a feasible and optimal solution of Problem (3.1.3) with optimal value t^{*}, and the highest degree of \bar{P} is no more than d_{\max}=\lceil\frac{1}{1\max_{i}\{z_{i}\}}\rceil1.
Thus, Problem (3.1.3) can readily be converted into a linear programming problem by the method proposed in sanghavi (). For j=1,2,\dots,d_{\max}, let a_{j}=tp_{j}, and Problem (3.1.3) becomes
\displaystyle\mbox{min.}_{a_{1},\dots,a_{d_{\max}}}  \displaystyle\sum_{j=1}^{d_{\max}}a_{j}  
s.t.  \displaystyle\sum_{j=1}^{d_{\max}}ja_{j}x^{j1}>\frac{\ln(1x)}{1\epsilon_{i% }},\quad 0\leq x\leq z_{i},\quad\mbox{for }i=1,2,\dots,l.  
\displaystyle a_{j}\geq 0,j=1,2,\dots,d_{\max}. 
To solve the linear programming problem (3.1.3) numerically, the constraints defined on a continuous interval of parameter x are written out by evaluating x at discrete points within the interval. Lower bounds for the minimum value of (3.1.3), and (9) can thus be obtained. (In Section 4, we interestingly observe that in a 2user scenario, the optimal server delivery time obtained from the optimization described here is close to the delivery time achievable by using a timesharing scheme to broadcast degraded message sets. The timesharing scheme is described in 3.4.3.)
3.1.4 LT Coding with a Systematic (Uncoded) Phase
We also study a variation of the LT codes that start with a systematic phase, namely, transmission of all the original uncoded content packets (systematic packets) followed by parity packets.
The formulation of the degree distribution optimization problem is essentially the same, except that (6) (describing the condition which the number of transmissions and the degree distribution must satisfy to allow the delivery of the demand of each user i) becomes constraint (12) in the following Claim 7.
Claim 7
Suppose after the systematic phase, the degree distribution of the parity packets transmitted subsequently follows the distribution represented by P(x), as N\rightarrow\infty. Then, to recover a fraction z_{i}, the normalized number of parity packets transmitted should satisfy
\ln(\epsilon_{i})+(1\epsilon_{i})(t_{i}1)P^{\prime}(x)+\ln(1x)>0,\quad% \forall x\in(1\epsilon_{i},z_{i}).  (12) 
[Proof.] Please refer to the Appendix.
The new optimization problem is still readily transformable into a linear programming problem.
In addition, we have
t_{i}=\left\{\begin{array}[]{lr}\frac{z_{i}}{1\epsilon_{i}},&z_{i}\leq 1% \epsilon_{i};\\ \inf\{\tau:\ln(\epsilon_{i})+(1\epsilon_{i})(\tau_{i}1)P^{\prime}(x)+\ln(1% x)>0,\forall x\in[0,z_{i})\},&z_{i}>1\epsilon_{i}.\end{array}\right.  (13) 
The systematic phase delivers the demand of a user with z_{i}\leq 1\epsilon_{i}, which helps reduce the server delivery time. It is similarly possible to formulate optimization problems to allow transmitting less or more than one round of systematic symbols, and find out the tradeoff between the fraction of systematic symbols and nonsystematic symbols. However, this is beyond the scope of this paper.
3.2 Growth Codes
Growth codes were proposed by Kamra et al. in growth_sigcomm06 () to improve data persistence in sensor networks in face of sensor node failure. Growth codes were not designed for our heterogeneous scenario described in Section 2. However, their feature of progressive partial recovery suggests that they may be a good candidate scheme. Extensions and applications of growth codes to video streaming has been studied in, e.g., dimakisgrowth (); h.264growth (). Particularly, in dimakisgrowth (), a systematic version of growth codes with unequal protection for layer coded video content was proposed.
Growth coded packets are, as LT coded packets, binary random linear combinations of the original source packets, and can be decoded by a belief propagation decoder that is essentially identical to that of the LT codes, as described in Section 3.1.1. But, unlike an LT coded stream which produces statistically identical packets, a growth coded stream starts with degree1 coded packets and gradually move on to send coded packets of higher degrees. The encoding scheme described in growth_sigcomm06 () operates as follows. Let R_{j}=\frac{jN1}{j+1} for j=0,1,2,\dots,N1. Let A_{j}=\sum_{s=\lfloor R_{j1}\rfloor+1}^{\lfloor R_{j}\rfloor}\frac{{N\choose j% }}{{s\choose j}(Ns)} for j=1,2,\dots,N1. Then, on a perfect erasure free channel, the source node sends A_{1} degree1 coded packets followed by A_{2} degree2 coded packets, A_{3} degree3 packets, and so on. Demand of size between R_{j1} and R_{j} is expected to be fulfilled during the phase when degreej coded packets are sent.
Growth codes are based on the design philosophy to greedily ensure the highest probability of recovering a new content packet upon receiving each additional coded packet. On a link with loss probability \epsilon, it is reasonable to scale each duration A_{j} in which degreej coded packets are transmitted by 1/(1\epsilon) so as to keep the degree distribution of the packets reaching the sink approximately the same as if the code runs on a perfect channel. There is no straightforward way to extend such design philosophy and scaling approach to broadcasting over channels of different erasure rates, but we can still scale A_{j}s for one of the users and see the resulting delivery time for other users and the server, and search for the scaling factor with which the server delivery time is minimized. We use the belief propagation LT decoder to decode growth codes, and use (7) to predict the delivery time (as defined in Definition 5) and recoverable fraction of the scaled version of growth codes as N\rightarrow\infty. We compare growth codes with the optimized LT codes in our heterogenous scenarios in Section 4.
3.3 Chunked Codes
Chunked coding was first proposed and studied in maymounkov_chunked (). It has also been investigated by the authors of this paper in generation_ITtrans () via a coupon collection analysis. The N content packets are grouped into n disjoint subsets of h packets(assuming N is a multiple of h), and these subsets are called “chunks”. Packets are represented as vectors of symbols from \mathrm{GF}(q). In each transmission, we first uniformly, randomly select a chunk, and then sample from \mathrm{GF}^{h}(q) a coding vector uniformly at random and form a linear combination of the content packets within the selected chunk. As soon as a sink node has collected h coded packets with linearly independent coding vectors generated from the same chunk, all the packets of this chunk can be decoded by performing Gaussian elimination on \mathrm{GF}(q). As opposed to full network coding, with which coding vectors are chosen from \mathrm{GF}^{N}(q), this scheme has lower computational complexity and also to some extent allows partial recovery.
From Theorem 4 of generation_ITtrans (), we know that, for a sufficiently large field size q, the expected number of transmissions needed to decode any k of the n chunks on a unicast link subject to packet loss rate of \epsilon is given as
E[T(n,k,\epsilon)]=\frac{n}{1\epsilon}\int_{0}^{\infty}\left\{\sum_{j=0}^{k1% }{n\choose i}S_{h}^{nj}(x)\left[e^{x}S_{h}(x)\right]^{j}\right\}e^{nx}dx,  (14) 
where
\displaystyle S_{m}(x)=  \displaystyle 1+\frac{x}{1!}+\frac{x^{2}}{2!}+\dots+\frac{x^{m1}}{(m1)!}% \quad(m\geq 1)  
\displaystyle S_{\infty}(x)=  \displaystyle\exp(x)~{}\text{and}~{}S_{0}(x)=0. 
The above result is based on the generalized birthday problem in Flajolet1992207 ().
Definition 8
(Chunked Codes Delivery Time) With the chunkedcoding scheme, the normalized delivery time of user i is defined as t_{i}=E[T(n,\lceil z_{i}n\rceil,\epsilon_{i})]/N. The normalized server delivery time is defined as t_{0}=\max_{i=1}^{l}t_{i}.
3.4 Lower Bound and Reference Schemes
3.4.1 A Lower Bound
An obvious lower bound for the minimum server delivery time is t=\max_{i=1}^{l}\{\frac{z_{i}}{1\epsilon_{i}}\}.
3.4.2 Multiple Unicasts
If instead of broadcast, the server transmits separate streams to each user, the total normalized number of transmissions required will be at least t=\sum_{i=1}^{l}\frac{z_{i}}{1\epsilon_{i}}.
3.4.3 Braodcast Degraded Message Sets by Timesharing
Here we describe a reference coding scheme. Without loss of generality, assume z_{0}=0<z_{1}\leq z_{2}\leq\dots\leq z_{l}. Then, segment N descriptions/packets into l layers, with Layer i(i=1,2,\dots,l) containing L_{i}=(z_{i}z_{i1})N packets. Protect Layer i by an erasure code of rate R_{i}=1\max\{\epsilon_{i},\epsilon_{i+1},\dots,\epsilon_{l}\}, and transmit the protected layers sequentially. When N goes to infinity, there exist erasure codes that allow the server to deliver Layers 1 through i, that is z_{i}N packets, to user i for all i=1,2,\dots,l in \sum_{i=1}^{l}\frac{L_{i}}{R_{i}} time. Later we will find in Section 4.2 that in a 2user scenario the server delivery time of this scheme is close to that of the optimized LT codes without a systematic phase.
4 Performance Comparison
In this section we evaluate the schemes described in Section 3 by numerical calculation and simulation for a 2user scenario.
4.1 Partial Recovery Curves
We demonstrate in Figure 2 the evolution of the fraction of recoverable content packets at sink nodes with the growth of the number of transmissions from the source in the 2user broadcast scenario. The erasure rates are \epsilon_{1}=0.1 and \epsilon_{2}=0.5. User 2 has a worse channel. Shown are the performance curves of optimized LT codes (with and without a systematic phase), growth codes, and chunked codes at both users.
The details in obtaining the numerical results are listed below.

LT codes (systematic and nonsystematic)

The degree distributions are obtained by solving the optimization problems in 3.1.3 and 3.1.4 by setting (z_{1},\epsilon_{1})=(15/16,0.1) and (z_{2},\epsilon_{2})=(9/16,0.5). For the nonsystematic version, the optimal P(x)=0.0195x+0.7814x^{2}+0.1991x^{3}; for the systematic version, the optimal P(x)=0.7061x^{2}+0.2939x^{3}.


Growth codes

N=1024. The time spent transmitting coded packets of each degree i, A_{i}, is scaled by a factor of 1/(1\epsilon_{1}), that is, the code is adapted to the channel conditions of user 1.


Chunked Codes

We set the number of packets to N=1024, the number of chunks to n=16, and thus the chunk size becomes h=N/n=64.

We compute E[T(n,\lceil zn\rceil,\epsilon_{i})]/N with E[T(n,k,\epsilon)] given by (14).

Simulation results show the average time required for the user to recover a given fraction z of all the packets. The average is taken over 100 runs, and the number of source packets N is set to be 1024 in all runs. For chunked codes, the finite field size q is set to be 256. It is shown that the simulation results are close to the theoretical performance prediction for the coding schemes studied, except for the difference in the latter stage of growth codes, which comes from the slight difference in the coding scheme numerically evaluated and the one simulated. In our simulations, after finishing sending A_{m} degreem coded packets where m=\lceil\frac{1}{\max_{i=1,2}\{1z_{i}\}}\rceil, instead of proceeding to sending packets of higher degrees, as defined in the original scheme, we allow the server to send coded packets according to a degree distribution p_{j}=\frac{A_{j}}{\sum_{j=1}^{m}A_{j}} for j=1,2,\dots,m, the cumulative degree distribution up to stage A_{m}. This provides the user on the worse channel with the lowdegree packets that are needed but have been lost due to a higher packet loss rate, and allows the user to proceed in packet recovery. All the coding schemes exhibit partial recovery property to a corresponding degree, namely, the recoverable fraction gradually increases with time. With both optimized LT (without the systematic phase) and the chunked codes, there is an initial stage where no packets are recoverable.
4.2 Delivery Time
We continue with a study of the server delivery time performance of the coding schemes in the 2user scenario. We keep \epsilon_{1}=0.1 and \epsilon_{2}=0.5, set z_{1}=15/16, let z_{2} vary from 0 to 15/16, and plot the server delivery time versus z_{2}. With LT codes, for each set of (z_{1},z_{2}) values, we solve for the optimal degree distribution. With growth codes, for each z_{2}, we search all scaling factors between [\frac{1}{1\epsilon_{1}},\frac{1}{1\epsilon_{2}}] for the one that minimizes the server delivery time. With chunked codes, we examine all powerof2 chunk sizes between h=2^{0}=1 and h=2^{10}=N, and find the chunk size that minimizes the server delivery time. The numerical evaluation of the minimized server delivery time is plotted versus the demand z_{2} of user 2 in Figure 3. Note that the optimal degree distribution changes as the demands vary.
The server delivery time of the reference scheme via timeshared broadcast of degraded message sets, as described in 3.4.3, is also plotted. In the twouser case discussed here, z_{1}\geq z_{2} and \epsilon_{1}>\epsilon_{2}. Therefore, two layers are formed, the first consisting of L_{1}=z_{2}N blocks and the second another L_{2}=(z_{1}z_{2})N blocks, and respectively protected with erasure codes of rates 1\epsilon_{1} and 1\epsilon_{2}. It is particularly interesting to find that in the setting demonstrated here, the reference scheme performance almost coincides with the nonsystematic optimized LT coded scheme with optimized degree distribution. The reason of such a phenomenon, however, awaits further investigation and is beyond the scope of this work.
In addition, in Figure 3, we plot two other reference lines: t=\max\{\frac{z_{1}}{1\epsilon_{1}},\frac{z_{2}}{1\epsilon_{2}}\} and t=\frac{z_{1}}{1\epsilon_{1}}+\frac{z_{2}}{1\epsilon_{2}}. The former represents an apparent lower bound for server delivery time, and the latter represents a lower bound for the total number of packet transmissions if the demands are delivered by unicasts to each individual user.
Comparing the server delivery time of systematic and nonsystematic LT codes optimized with the knowledge of channel state and user demands, we find that the systematic phase significantly shortens the server delivery time when the demand of the user on the worse channel is low. As the demand of user 2 rises, however, including a systematic phase becomes suboptimal, until the demand rises further closer to 1, when the delivery time seems to converge to the delivery time with the nonsystematic scheme.
Growth codes and chunked codes do not have a competitive server delivery time performance compared with other schemes. When the demand of the user on the worse channel is low, using these schemes requires more transmissions to deliver the demands than using multiple unicasts. One advantage of chunked codes, however, is that all the content packets in the same chunk are decoded simultaneously, allowing these packets to be dependent on each other for the reconstruction purpose, which may reduce redundancy in the source coding stage.
It is also of interest to study performance measures other than the delivery time of the server. For example, one could wish to maximize the minimum of users’ throughputs \min_{i}\{z_{i}/t_{i}\}, the ratio of the demand and the time needed to complete the demand, or to maximize the minimum channel utilization \min_{i}\{z_{i}/((1\epsilon_{i})t_{i})\}, the ratio of the information pushed through the channel to the channel bandwidth. These criteria are of interest for acieving, e.g., fairness in the network, and optimization for these criteria can yield very different code design parameters (degree distributions). The optimization of the degree distributions for LT coded broadcast for these different criteria has been studied in our work AllertonYE () and interested readers are kindly referred to this paper for detailed problem formulation and results. An additional type of heterogeneity can also be treated in the framework provided in Section 3.1, namely, when some of the sink nodes cannot decode but can only recover content from degree1 coded packets. Readers are also referred to AllertonYE () for results regarding the coexistence of nodes able and unable to decode in the system.
5 Conclusion and Future Work
We investigated the usage of three coded schemes for broadcasting multiple description coded content in a singlehop wireless network with heterogeneous user nodes of nonuniform demand over links of diverse packet loss rates. The three coded schemes include the LT codes with specially optimized degree distribution (with or without a systematic phase), growth codes, and chunked codes. Particularly, with the LT codes, we are able to formulate the degree distribution design problem in the heterogeneous scenario into linear optimization problems. For the schemes compared, we characterize numerically the number of transmissions needed to deliver the demand of all users. The numerical evaluations agree with simulation results.
A systematic phase delivers the demands efficiently when the fraction of content requested by the users does not exceed the link capacity. On the other hand, for higher demands, coding significantly improves the delivery time. Different user demographics result in very different coding schemes being suitable for efficient delivery of demands. Growth codes and chunked codes, are not found to be as suitable to the communication scenario as the optimized LT codes. Interestingly, timeshared broadcast of degraded message sets is found to give a comparable delivery time performance as that of the nonsystematic optimized LT codes.
As for future work, we are interested in incorporating the source coding stage into code design, since there is clearly an interplay between the compression efficiency in source coding and the efficiency of channel coding. We are also interested in the exploration and analysis of more competitive schemes for broadcasting to heterogeneous users.
References
 (1) M. Khansari, A. Zakauddin, W.Y. Chan, E. Dubois, , P. Mermelstein, Approaches to layered coding for dualrate wireless video transmission, in: Proc. IEEE Int’l Conf. Image Processing, Austin, TX, 1994, pp. 258–262.
 (2) M. Gallant, F. Kossentini, Ratedistortion optimized layered coding with unequal error protection for robust internet video, IEEE Transactions on Circuits and Systems for Video Technology 11 (3) (2001) 357 –372. doi:10.1109/76.911161.
 (3) V. K. Goyal, Multiple Description Coding: Compression Meets the Network, IEEE Signal Proc. Magazine 18 (5) (2001) 74–94.
 (4) M. Luby, LT codes, in: The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002, pp. 271–280.
 (5) A. Shokrollahi, Raptor codes, IEEE Trans. Inf. Th. 52 (6) (2006) 2551–67.
 (6) L. Tan, A. Khisti, E. Soljanin, Quadratic gaussian source broadcast with individual bandwidth mismatches, in: 2012 IEEE International Symposium on Information Theory (ISIT 2012), 2012, p. to appear.
 (7) A. Kamra, J. Feldman, V. Misra, D. Rubenstein, Growth codes: Maximizing sensor network data persistence, in: Proc. of ACM SIGCOMM, 2006.
 (8) P. Maymounkov, N. Harvey, D. S. Lun, Methods for efficient network coding, in: Proc. 44th Annual Allerton Conference on Communication, Control, and Computing, Monticello, IL, 2006.
 (9) Y. Li, E. Soljanin, P. Spasojevic, Effects of the generation size and overlap on throughput and complexity in randomized linear network coding 57 (2) (2011) 1111 –1123. doi:10.1109/TIT.2010.2095111.
 (10) Y. Li, E. Soljanin, Rateless codes for singleserver streaming to diverse users, in: Proc. the 47th Annual Allerton Conference on Communication, Control, and Computing, Monticello, IL, 2009.
 (11) J. Korner, K. Marton, General broadcast channels with degraded message sets 23 (1) (1977) 60–64.
 (12) P. A. Chou, H. J. Wang, V. N. Padmanabhan, Layered multiple description coding, in: Packet Video Workshop, Institute of Electrical and Electronics Engineers, Inc., 2003.
 (13) S. KokaljFilipovic, E. Soljanin, Y. Gao, Cliff effect suppression through multipledescriptions with split personality, in: Proc. 2011 IEEE International Symposium on Information Theory (ISIT 2011), pp. 948–952.
 (14) S. Sanghavi, Intermediate Performance of Rateless Codes, in: Information Theory Workshop ITW 2007.
 (15) G. Maatouk, A. Shokrollahi, Analysis of the second moment of the LT decoder, in: Proceedings of the 2009 IEEE International Conference on Symposium on Information Theory  Volume 4, ISIT’09, IEEE Press, Piscataway, NJ, USA, 2009, pp. 2326–2330.
 (16) A. Dimakis, J. Wang, K. Ramchandran, Unequal growth codes: Intermediate performance and unequal error protection for video streaming, in: 9th IEEEWorkshop on Multimedia Signal Processing (MMSP), 2007, pp. 107–110. doi:10.1109/MMSP.2007.4412829.
 (17) R. Razavi, M. Fleury, M. Altaf, H. Sammak, M. Ghanbari, H.264 video streaming with datapartitioning and growth codes, in: 16th IEEE International Conference on Image Processing (ICIP), 2009, pp. 909 –912. doi:10.1109/ICIP.2009.5414052.
 (18) P. Flajolet, D. Gardy, L. Thimonier, Birthday paradox, coupon collectors, caching algorithms and selforganizing search, Discrete Applied Mathematics 39 (3) (1992) 207–229. doi:DOI:10.1016/0166218X(92)90177C.
 (19) W. Feller, An Introduction to Probability Theory and Its Applications, 3rd Edition, Vol. 1, John Wiley & Sons, 1970, p. 225.
 (20) C. Fragouli, E. Soljanin, Network Coding Applications, Vol. 2, now Publishers Inc., 2007, pp. 144–145.
Proof of Claim 4
We give two independent arguments to validate the claim.
After the systematic phase, each content packet successfully reaches user i independently at probability 1\epsilon_{i}, and an average of (1\epsilon_{i})N packets reaches the user. If z_{i}\leq 1\epsilon_{i}, the demand of user i is considered fulfilled. We consider the case where z_{i}>1\epsilon_{i}.
In the first argument, we find out the nonsystematic equivalent degree distribution \bar{P}(x). To do that we only need to find out the (normalized) number of degree1 packets(containing content packets selected uniformly at random with replacement) required to be transmitted in order for user i to recover the (1\epsilon_{i})N distinct content packets received in the systematic phase. This number, \frac{\ln\epsilon_{i}}{1\epsilon_{i}}, can be obtained by setting P(x)=1\cdot x(allone degree distribution) in (7). A coupon collector’s argument brings to the same conclusion(feller, , Ch. 2) (see also monograph ()): the expected number of samplings required to collect zN distinct coupons is
\displaystyle N\Bigl{(}\frac{1}{N}+\frac{1}{N1}+\dots+\frac{1}{NzN+1}\Bigr{)% }\gtrapprox N\ln\frac{N}{NzN+1}=N\ln\Bigl{(}1\frac{zN1}{N}\Bigr{)}.  (15) 
Divide (15) by N(1\epsilon_{i}), take N\rightarrow\infty and let z=1\epsilon_{i}, we find the same result as found from (7).
Hence, \bar{p}_{1}=\frac{\ln\epsilon_{i}}{1\epsilon_{i}}+p_{1} and \bar{P}(x)=\frac{\ln\epsilon_{i}}{1\epsilon_{i}}x+P(x). In (6), replace P(x) by \bar{P}(x) and t_{i} by (t_{i}1) to subtract the time spent in the systematic phase, and we get (12).
Alternatively, one can consider the packets received in the systematic phase as side information to the decoder, such as in dino; gummadi. These packets are removed from the subsequent coded packets, and we need to decode another (z_{i}(1\epsilon_{i}))N packets from the remaining \epsilon_{i}N packets. Let d and \hat{d} be the random variables representing the degree of a randomly generated coded packet and the degree of the coded packet after the removal of the packets received in the systematic phase. Thus, \hat{d}=\sum_{j=1}^{d}X_{j} where X_{j}(j=1,2,\dots,D) are i.i.d Bernoulli(\epsilon_{i}) random variables indicating if the jth content packet participating in the coded packet has not been received in the systematic phase and remains in the coded packet. Thus, the moment generating function \hat{D} is \hat{P}(x)=P(Q(x))=P(1\epsilon_{i}+\epsilon_{i}x) where Q(x)=1\epsilon_{i}+\epsilon_{i}x is the moment generating function of the i.i.d. X_{j}s. In (6), replace P(x) by \hat{P}(x), z_{i} by \hat{z}_{i}=\frac{(z_{i}(1\epsilon_{i}))N}{\epsilon_{i}N}=\frac{z_{i}(1% \epsilon_{i})}{\epsilon_{i}}, and t_{i} by \hat{t}_{i}=\frac{(t_{i}1)N}{\epsilon_{i}N}=\frac{t_{i}1}{\epsilon_{i}}, we have
(1\epsilon_{i})\frac{t_{i}1}{\epsilon_{i}}P^{\prime}(Q(x))Q^{\prime}(x)+\ln(% 1x)>0,\quad\forall x\in\left[0,\frac{z_{i}(1\epsilon_{i})}{\epsilon_{i}}% \right).  (16) 
Let y=Q(x)=1\epsilon_{i}+\epsilon_{i}x, we get
(1\epsilon_{i})\epsilon_{i}\frac{t_{i}1}{\epsilon_{i}}P^{\prime}(y)+\ln\left% (1\frac{y1+\epsilon_{i}}{\epsilon_{i}}\right)>0,\quad\forall y\in\left[1% \epsilon_{i},1\epsilon_{i}+\epsilon_{i}\frac{z_{i}(1\epsilon_{i})}{\epsilon% _{i}}\right),  (17) 
which is exactly (12).