Reliable Broadcast to A User Group with Limited Source Transmissions
In order to reduce the number of retransmissions and save power for the source node, we propose a two-phase coded scheme to achieve reliable broadcast from the source to a group of users with minimal source transmissions. In the first phase, the information packets are encoded with batched sparse (BATS) code, which are then broadcasted by the source node until the file can be cooperatively decoded by the user group. In the second phase, each user broadcasts the re-encoded packets to its peers based on their respective received packets from the first phase, so that the file can be decoded by each individual user. The performance of the proposed scheme is analyzed and the rank distribution at the moment of decoding is derived, which is used as input for designing the optimal BATS code. Simulation results show that the proposed scheme can reduce the total number of retransmissions compared with the traditional single-phase broadcast with optimal erasure codes. Furthermore, since a large number of transmissions are shifted from the source node to the users, power consumptions at the source node is significantly reduced.
Wireless broadcast models the communication scenario where common information is to be transmitted from the source to a set of receivers through wireless channels. It has a wide range of applications, such as satellite communication and file distribution. However, in wireless communications, some information may be lost due to deep fading. To achieve reliable broadcast, retransmission or erasure coding  has been applied. Traditional “Repeat Request-retransmission” is bandwidth-inefficient when there are many receivers. On the other hand, the erasure codes are more efficient in terms of bandwidth occupation, but they usually require high encoding/decoding complexity and incur significant delay when the file size is large. Network coding has been considered as a promising strategy to improve the efficiency of the retransmission schemes [2, 3]. However, this scheme requires prompt and correct feedbacks from all the receivers.
All the aforementioned broadcast schemes assume that there is no cooperations among the receivers, and hence reliable broadcast can only be achieved by source retransmissions, either with or without coding. In this paper, we consider the scenario where the source node is intended to broadcast some common information to a group of users that are closely located within a small region. Such a setup models various practical communication scenarios, e.g., video streaming from the base station to a group of nearby mobile users in cellular networks, the communication from an isolated user to a squadron of users in ad-hoc networks, etc. In this case, it is desirable to minimize the number of retransmissions by the source node to save its power/bandwidth. To this end, we propose a two-phase transmission scheme, with source broadcasting in the first phase and peer-to-peer (P2P) packet exchange in the second phase. Specifically, in the first phase, the information packets are broadcasted by the source node until the file can be cooperatively decoded by the user group. In the second phase, the users exchange the re-encoded packets to its peers based on their respective received packets from the first phase, so that the file can be decoded by each individual user with minimum number of retransmissions.
P2P erasure repair for wireless video broadcasting was firstly studied in  for Multimedia Broadcast/Multicast Service (MBMS) applications, where various suboptimal scheduling schemes are proposed. Give the global state information of all users, the cooperative P2P repair (CPR) problem was formulated and proved to be NP-hard in . By assuming optimal inter-user channels in the second phase, a distributed CPR algorithm was proposed in . However, the proposed scheme still heavily relies on the perfect control information exchange and the efficiency of the retransmission in this scheme is relatively low. Then, the CPR algorithm in  was extended to network coded CPR (NC-CPR) in  by applying random linear network coding in P2P communications. By integrating the idea of NC-CPR  and rarest first scheduling, a light-weight peer scheduling algorithm was proposed in .
All the existing schemes discussed above [4, 5, 6, 7, 9] assume that the inter-user channels used in the second phase are lossless. Consequently, some state information can be reliably exchanged before the start of the P2P communications. Their performance may degrade severely if the state/control information is lost. In this paper, we propose a fully distributed two-phase cooperative broadcast scheme that does not require exchange of any state information, and hence can be applicable for networks with lossy channels. Furthermore, the existing schemes focus on the scheduling algorithms of the second phase, with the assumption that the users can recover the file cooperatively based on their received packets in the first phase. However, such assumption is not guaranteed in wireless networks, e.g., for a network with users, each experiencing erasure probability , a packet sent by the source node is lost forever with a non-zero probability . The residual loss is considered bearable in video streaming, but it may not be acceptable in file distribution. To guarantee the file recovery, the design of the proposed scheme involves both phases.
First, we propose to apply good erasure code, such as fountain code, on the information packets to be transmitted. The source stop transmission after the user group as a whole has received a sufficient number of coded packets. At the end of the first phase, the user group, if allowed to decode cooperatively, should be able to recover the file, although each individual user still cannot decode the information based on their own respective received packets. Therefore, in the second phase, the users help each other by broadcasting to its peers based on their respective received packets via the P2P communication network . Random linear network coding (RLNC) has been shown to significantly improve the bandwidth efficiency in P2P communications. However, network coding overhead increases linearly with the number of packets coded together. To maintain the efficiency, a file is usually divided into segments and network coding is only performed within each segment. As an integration of the erasure code in the first phase and network code in the second phase, batched sparse (BATS) code  is adopted in the proposed two-phase broadcast scheme.
Batch sparse (BATS) code was proposed in  for improving the throughput of wireless erasure networks. The performance of BATS code is largely dependent on the predefined degree distribution which is optimized based on the channel rank distribution . In wireless erasure networks with fixed topology, the channel rank distribution can be obtained based on erasure probability of each link. However, in P2P networks, the channel rank distribution is also affected by the communication protocols. For example, consider two batches, and , if more packets are transmitted for than in the second phase, the rank of is likely to be larger than the rank of at the moment of decoding. Furthermore, since the batch size is , the source node only sends packets for each batch in the first phase. In the second phase, the rank of should not exceed the total number of packets received by the user group in the first phase, which is smaller or equal to . In this paper, we propose a distributed algorithm for each user to determine the transmission sequence and analyze the channel rank distribution at the moment of decoding. The analytical channel rank distribution is shown to match very well with the simulation results, and the BATS code generated based on the analytical rank distributions can be decoded at a small overhead. Compared with traditional broadcast based on repetitive retransmission or erasure codes, the proposed two-phase scheme achieves reliable broadcast with less number of transmissions. Moreover, a large amount of transmissions are shifted from the source to the users, where much less power is required per transmission.
Notations: Throughout this paper, random variables are represented by boldface upper-case letters and the probability of an event is presented by . For a random variable , we use to denote the expectation of . Furthermore, scalars, vectors and matrices are represented by italic, boldface lower- and boldface upper-case letters, respectively.
Ii System Model
We consider the problem where a source node wants to broadcast common information to a group of users, which are closely located within a small region far away from the source node, as shown in Fig. 1. Assume that the link between the source to each user is an independent111The channels are assumed to be independent when the distance between any pair of users is larger than half of the wavelength. memoryless channel with erasure probability and the links between the users have independent erasure probability , where . Since the distance from the source to the user group is much larger than that between the users, we have .
As the channel between the source and the user group is less reliable and much more power is required to compensate for the path loss over the large transmission distance from the source to the users, it is desirable to limit the number of transmissions by the source node; instead, the users can help each other by exchanging their respective received packets through the more reliable inter-user channels, to ensure that every user is able to recover the file.
Iii A Two-Phase Protocol with BATS Code
In this section, we propose a two-phase transmission protocol based on BATS code to achieve reliable communication in Fig. 1. A BATS code contains an outer code and an inner code. The outer code is an extension into the matrix form of the traditional fountain code. Specifically, the source node first obtains a degree by sampling a predefined degree distribution, and then randomly picks distinct input packets to generate a batch of fountain-coded packets. The batches are transmitted sequentially. The inner code of BATS employs RLNC at the intermediate nodes and only packets within the same batch are coded together. Hence, the coding overhead is limited by batch size , which is usually considered as negligible compared with the packet length. Finally, the inner and outer codes are jointly decoded at the receiver with belief-propagation (BP) decoding.
Based on BATS code, we propose to achieve reliable broadcast in Fig. 1 via the following two-phase transmissions:
Phase 1: The file is divided into packets, which are encoded with BATS code of batch size at the source node. The batches are sequentially sent to the users until a stop criterion is satisfied.
Phase 2: The users help each other by exchanging their respective received packets via network coded peer-to-peer (P2P) transmissions, until all the users can recover the file.
Iii-a Phase 1 Transmission
With optimal BATS code , the file can be recovered if packets are received, where for moderate to large . Denote by the number of packets received by the user group. To ensure that the user group can finally recover the file via P2P transmissions with probability no smaller than , we must have
Since the channels from the source node to different users are independent, the probability that a packet is received by at least one of the user equals to . After batches, or packets, have been sent by the source node, the number of received packets is a random number following binomial distribution . As is usually large, this binomial distribution can be approximated by the normal distribution , where and . Hence, (1) can be equivalently written as
where denotes the Gaussian function. From (2), we can obtain the minimum value for as
where and . Hence, we can set as
After sending out batches, the source node stops transmission. Since the expected number of packets received by each user is only , which is smaller than , the file cannot be recovered by each individual user. In the second phase, the users help each other by broadcasting the network coded packets generated from their respective received packets to ensure that all users can successfully recover the file.
Iii-B Phase 2 Transmission
Since all the users are physically distributed, they have no knowledge on what packets have been received by others at the end of Phase 1. Therefore, during Phase 2 transmission, each user can only determine what packets to be sent based on its own received packets.
Denote by the set of packets received by user with batch index , where . Consider two typical users and . With random linear network coding, a coded packet generated from for batch is useful for user if . Furthermore, if , useful packets for batch can be generated from . Without knowing , user can estimate the value of based on its own received packets, . Specifically, if out of received packets at user are erased at user , i.e.,
Assume that user has already sent out packets generated from batch . Then, the th packet generated from the same batch is still useful for user if either i) , or ii) at most out of packets are received by . Denote this event by , whose probability can be estimated as
By symmetry, (6) applies for all other peers of user . Hence, can be used as a metric to measure the usefulness for user to broadcast th packet generated from batch . In general, (6) is valid for any . However, a user usually will not send more than packets for one batch before the moment of decoding, and hence we may only calculate the estimation up to . Denote for with the th element equal to . As more packets are sent out from a batch, the new transmission is likely to be less useful. Hence, each column of is a monotonically decreasing vector. Furthermore, if more packets are received for batch than batch at the end of Phase 1, the packet generated from batch is more likely to be useful than that from batch . Mathematically, if , we have for any .
To maximize the spectral efficiency, a packet that is expected to be more useful should be transmitted with higher priority. To obtain the optimal transmission order, user sorts all the elements in in descending order. Denote the ordered elements by a vector and the column index of the ordered elements by a vector . Then each element of represents a batch ID within . User sequentially transmit the coded packets with batch ID obtained from .
For illustration purpose, we consider a simple setup with , , and . If user receives packets at the end of Phase 1 for batch to , respectively, the usefulness matrix calculated from (6) is
By sorting all the elements in , user can obtain . The column indices of the elements in give the transmission order as . At the first time slot when user can access the channel, it will send a coded packet generated from all the available packets for batch 4, received both in Phase 1 and in Phase 2. For the second transmission, a coded packet from batch 3 will be sent out and the process continuous until all the users are able to decode the file.
Iii-B1 Estimate the Total Number of Transmissions in Phase 2
We assume that all the users have equal probability for transmission under a multiple-access scheme, such as TDMA or CSMA/CA. The transmission stops when all the users are able to recover the file, which is assumed to happen after transmissions in total. On average, user will send out coded packets with batch ID given by the first elements of . Among all the packets sent out by , only will reach user due to packet erasures. Hence, the total number of packets received by user from its peers is a function of , which is . By symmetry, we may assume that the batch IDs of the received packets follow uniform distribution. In other words, if we denote by the total number of packets received for a typical batch in Phase 2, then is a random number following binomial distribution , i.e.,
When is much larger than , we may assume that on average packets are received for each batch. Moreover, denote by and the number of packets for this batch received by a single user and the user group in Phase 1, respectively. Clearly, we have , i.e.,
Furthermore, is a random variable which satisfies since the union of all sets is always larger than any single set. The distribution of given can be obtained as
Since only packets are available for the whole user group, the number of received packets by each user from its peers cannot be larger than . Any more packets received will be a linear combination of the existing packets. Out these packets, the user already has packets before Phase 2, which are received during Phase 1. Hence, any more than packets received during Phase 2 will be redundant. Furthermore, since random linear network coding over a sufficiently large field size is applied, we assume that any packets received before reaching its limit is innovative. Clearly, the larger is, the more redundant packets will be received. Therefore, the expected number of redundant packets for all batches received during phase 2, denoted by , is a function of , which can be estimated as:
At the end of the transmission, the total number of innovative packets received by user from both phase 1 and phase 2 is . Since decoding the BATS code requires packets, we have
based on which we can solve the value for .
Iii-B2 Estimate the Rank Distribution
In conventional directed acyclic network considered in , the rank distribution of the batches is determined by the network topology and the erasure probability of each link. However, for the network shown in Fig. 1 with cycles, the rank distribution is affected by the scheduling scheme in Phase 2 transmission. Since rank distribution is an important parameter for designing BATS code, it is crucial to get a good estimation of the rank distribution before transmission, which is pursued in this subsection.
With given obtained from the preceding subsection, we are now ready to estimate the rank distribution. Following similar assumptions as in (11), the rank of a typical batch for a user is if either of the following two events occur: i) the user group has more than packets for this batch, but this user only receive , i.e., and ; ii) This user receives more than packets, but only of the received packets are innovative, i.e., and . Hence, at the end of the transmissions, a batch has rank for a user is given by
Iv Numerical Results
Numerical results are provided in this section to corroborate our proposed scheme. We assume that a file of size Mb needs to be transmitted from the source node to a group of 3 users. The erasure probability for the channels between source node to each user is and the inter-user links are assumed to have erasure probability . The file is divided into packets, each of length bytes. A BATS code with batch size is applied. The overhead of BATS code is set as . To ensure that the file can be recovered with high probability, we set . Based on (4), the number of batches to be sent out by the source is , i.e., the source stops transmission after sending out batches or packets.
The total number of innovative packets received by a user is plotted versus the number of transmissions in Phase 2 based on (12) in Fig. 2. From Fig. 2, we can estimate the total number of transmissions in Phase 2 when all the users are able to recover the file, which is in the setup under consideration. Note that the number of innovative packets received by a user saturate when becomes sufficiently large, which is expected since the total number of innovative packets received by a user will not exceed the total packets received by the user group at the end of Phase 1.
With , we can estimate the final rank distribution from (13) for . The estimated rank distribution is plotted together with the simulated rank distribution for the three users in Fig. 3. It is observed that the estimated rank distribution matches quite well with the simulation results. Hence, we can design good BATS code based on the rank distribution given in (13).
With the rank distribution shown in Fig. 3, we can get the optimal degree distribution for the BATS code , which is used at the source node. The number of packets received by user is plotted against the number of transmissions in Fig. 4. At the end of Phase 1, user receives 1317 packets out of 2592 number of packets sent by the source node. As expected, most of packets received by user at the early stage of Phase 2 are useful. The received packets are more likely to be redundant as the number of packets collected by user from its peers increases. Finally, user is able to decode the file when it receives 2272 packets in total, of which 955 packets are from its peers, and it occurs after 1567 P2P transmissions by all the three users. User and user are able to decode to file after 1619 and 1552 P2P transmissions, including the transmissions originated from themselves.
Note that the transmission in Phase 2 stops after 1619 transmissions, which is less than 1800 transmissions, given by the analytical results shown in Fig. 2. This is expected since the overhead for BATS code is usually less than the designed value in practice. However, since the performance of BATS code degrades dramatically for any over-estimation of the channel rank distribution, it is desirable to have a conservative estimation of the channel and hence apply a slightly higher design overhead to guarantee the recovery of the file.
Iv-a Comparison with Single-Phase Transmission
In this subsection, we compare the proposed two-phase broadcast scheme with the traditional single-phase transmission, where the source keeps transmitting the packets until all the users can recover the file. Assume that optimal erasure code, such as Raptor code , has been applied so that a user can recover the file after receiving packets. Denote by the minimum number of packets needs to be transmitted by the source so that the file can be recovered by all the users. To find , we further denote by the number of packets received by user , for . are independent and identically distributed random variables according to . The source transmission stops when all the users are able to recover the file, i.e.,
Since , the binomial distribution can be approximated by the normal distribution , where and . The statistical mean of can be approximated as 
where and .
The performance of the proposed scheme is compared with that of the single-phase transmission, obtained in (16), for and . A file containing packets is to be distributed by the source node to a group of users. The coding overhead is set to be in both schemes. It is observed from Fig. 5 that the total number of transmissions increases with the number of users in the single phase scheme. However, with proposed two-phase scheme, it decreases with the number of users due to path diversity gain. In general, when , less number of transmissions are required with the proposed scheme than that with the single-phase scheme. This is because the proposed scheme makes use of the inter-user channels in the second phase, which is more reliable than the channel between the source and the users. Furthermore, due to the long distance between the source node and the users, much higher power will be consumed by the source to compensate the path loss, as compared with the P2P transmissions. The simulation results show that the proposed scheme save more than of source transmissions and hence it is much more efficient in terms of power consumption at the source node.
In this paper, we have proposed a two-phase transmission protocol based on BATS code to achieve reliable broadcast from the source node to a group of users. With the proposed scheme, a limited number of transmissions are needed by the source node to save its power. Furthermore, the total number of retransmissions is also slightly reduced since the inter-user channels used in Phase 2 are more reliable than the channel from the source to the users. It is observed that the total number of transmissions may be further reduced if we slightly increase the number of source transmissions. Hence, the proposed scheme can also be designed to minimize the total number of transmissions, which will be part of our future work.
This work was supported by the Advanced Communications Research Program DSOCL06271, a research grant from the Directorate of Research and Technology (DRTech), Ministry of Defence, Singapore.
-  M. Luby, M. Watson, T. Gasiba, T. Stockhammer, and W. Xu, “Raptor codes for reliable download delivery in wireless broadcast systems,” in Consumer Communications and Networking Conference, pp. 192 – 197, Jan. 2006.
-  D. Nguyen, T. Tran, T. Nguyen, and B. Bose, “Wireless broadcast using network coding,” IEEE Trans. on Vehicular Technology, vol. 58, pp. 914 – 925, Jun. 2008.
-  C. Fragouli, J. Widmer, and J. Y. L. Boudec, “A network coding approach to energy efficient broadcasting: from theory to practice,” in IEEE International Conference on Computer Communications (INFOCOM), (Barcelona, Spain), pp. 1–11, Apr. 2006.
-  P. Sanigepalli, H. Kalva, and B. Furht, “Using P2P networks for error recovery in MBMS applications,” in IEEE International Conference on Multimedia and Expo, (Toronto, Ont.), pp. 1685 – 1688, Jul. 2006.
-  G. Cheung, D. Li, and C. N. Chuah, “On the complexity of variants of cooperative peer-to-peer repair for wireless broadcasting,” Tech. Rep. HPL-226-90, HP Laboratories Japan, Jun. 2006.
-  S. Raza, D. Li, C. N. Chuah, and G. Cheung, “Cooperative peer-to-peer repair for wireless multimedia broadcast,” in IEEE International Conference on Multimedia and Expo, (Beijing, China), pp. 1075 – 1078, Jul. 2007.
-  X. Liu, S. Raza, C. N. Chuah, and G. Cheung, “Network coding based cooperative peer-to-peer repair in wireless ad-hoc networks,” in IEEE International Conference on Communications, (Beijing, China), pp. 2153 – 2158, May 2008.
-  T. Ho, R. Koetter, M. Medard, M. Effros, J. Shi, and D. Karger, “A random linear network coding approach to multicast,” IEEE Trans. Inform. Theory, vol. 52, pp. 4413–4430, Oct. 2006.
-  Y. Fan, Y. Jiang, H. Zhu, and X. Shen, “PIE: Cooperative peer-to-peer inforamtion exchange in network coding enabled wireless networks,” IEEE Transactions on Wireless Communications, vol. 9, pp. 945 – 950, Mar. 2010.
-  B. Cohen, “Incentives build robustness in bittorrent,” in P2P Economics Workshop, (Berkeley, CA), 2003.
-  S. Yang and R. W. Yeung, “Coding for a network coded fountain,” in IEEE International Symposium on Information Theory, (St. Petersburg), pp. 2647–2651, Jul. 2011.
-  T. C. Ng and S. Yang, “Finite-length analysis of bats codes,” in 2013 International Symposium on Network Coding (NetCod), (Calgary, AB), pp. 1–6, Jun. 2013.
-  A. Shokrollahi and M. Luby, Raptor Codes. Now Publishers Inc, 2011.
-  J. P. Royston, “Expected normal order statistics (exact and approximation),” Journal of the Royal Statistical Society (Applied Statistics), vol. 31, no. 2, pp. 161–165, 1982.