Reliable Wireless Broadcast with Random Network Coding for Real

0 downloads 0 Views 558KB Size Report
offered by random network coding, the proposed method can provide reliable packet deliveries between 2 nodes which have a link under constant fade or even ...
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

Reliable Wireless Broadcast with Random Network Coding for Real-time Applications Yoshihisa Kondo, Hiroyuki Yomo, Shinji Yamaguchi, Peter Davis, Ryu Miura and Sadao Obana ATR Adaptive Communication Research Laboratories 2-2-2 Hikaridai, Keihanna Science City, Kyoto 619-0288 Japan e-mail:{kondo, yomo, shinji-yamaguchi, davis, miurar, obana}@atr.jp

Abstract— A multi-player video game via wireless connections using portable devices is one of the most popular applications of ad-hoc networks. Broadcast transmissions can be used for manyto-many communications in multi-player games. However, reliable broadcast communications are hard to realize because of the lack of retransmissions in the medium access control (MAC) layer. In this paper, we propose a broadcast method using random linear network coding in order to enhance the reliability of many-to-many and real-time communications. Exploiting the periodic nature of game traffic as well as inherent robustness offered by random network coding, the proposed method can provide reliable packet deliveries between 2 nodes which have a link under constant fade or even under temporary loss. Our simulation results show that the proposed method can provide higher reliability than the other schemes using multi point relay (MPR) or redundant transmissions such as forward error correction (FEC). We also implement the proposed method in a wireless testbed, and show that the proposed method achieves high reliability in a real-world environment with practical degree of complexity when installed on current wireless devices.

I. INTRODUCTION A multi-player video game via wireless connections using portable devices is one of the most popular applications of mobile ad-hoc networks. It requires many-to-many data delivery between all pairs of players and fast data delivery. In general, broadcast transmissions are applied to such a many-to-many communication to take advantage of the broadcast nature of the wireless medium: signals transmitted by a device can be heard by multiple receivers simultaneously. Let us consider a place where many people gather and play a multi-player game, such as a park, station and stadium. In such a place, there are many factors which adversely affect wireless transmissions. Walls and trees prevent players from being in line-of-sight relationship with each other, many people pass among players, and positions and directions of players are in constant motion. Therefore, it often happens that several wireless links are in bad condition or even disconnected while most of the other links are stable. Since the many-to-many communication requires reliable data delivery between all pairs of the players, the lack of data delivery is a large problem even if it occurs in limited pairs of nodes in the network. However, most medium access control (MAC) protocols designed for broadcast transmissions do not provide an efficient retransmission

mechanism, and thus they cannot provide reliable communications for all pairs of nodes in lossy environments. Our objective is to provide a broadcast transmission scheme which realizes highly reliable data delivery for all pairs of nodes under strict latency restrictions of real-time applications. In this paper, we focus on network coding in order to realize reliable many-to-many communication. We exploit inherent robustness offered by network coding as well as a periodic nature of traffic generated by real-time game application. In the proposed scheme, each node applies random linear network coding to application data packets received from the other nodes in a certain interval. Then, the coded packet is concatenated (piggy-backed) with its own application packet. Each node can efficiently recover lost packets by exploiting coded packets piggy-backed from the other nodes. We show that the proposed scheme can significantly improve the packet delivery ratio of broadcast transmissions for all pairs of nodes as compared with other schemes using relay or redundant transmissions. We also implement the proposed method in a wireless testbed, and show that the proposed method achieves high reliability in a real-world environment with practical degree of complexity when installed on current wireless devices. II. RELATED WORKS A. Network Coding Network coding has attracted much attention as a way to improve network capacity. The original paper of Ahlswede et al. [7] indicated the capacity gain of network coding for multicast in wired networks. Since then, many theoretical works have applied network coding to various layers of both wired and wireless communications. Recently, several works have investigated the practical use of network coding. Many of them focus on XOR-based coding [12][15]. One of the representative examples is [12] which provides deterministic scheme using opportunistic listening. Linear network coding, which was first analyzed by Li et al. [13], is another example and some practical schemes have been provided. In random network coding [8][16], encoding and decoding process is treated as arithmetic operations in Galois Field using codes selected randomly from the field. Our proposed method also adopts random linear network coding. General processes of encoding and decoding are shown in Fig. 1.

978-1-4244-2948-6/09/$25.00 ©2009 IEEE

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

x1 x2

y(ei) i

xN

[

y (e1 ) = e1,1 " e1, N ei , j ∈ GF(2m )

y(e1) y(e2) y(eN)

⎡ x1 ⎤ ⎢ ⎥ ⎢ # ⎥ ⎣⎢ x N ⎦⎥

]

x1 x2 j

⎡ x1 ⎤ ⎡ e1,1 " e1, N ⎤ ⎥ ⎢ ⎥ ⎢ # ⎥ ⎢ # ⎥=⎢ # % ⎢⎣ x N ⎥⎦ ⎢eN ,1 " eN , N ⎥ ⎣ ⎦

xN −1

⎡ y (e1 ) ⎤ ⎢ ⎥ ⎢ # ⎥ ⎢⎣ y (e N )⎥⎦

a) b) Fig. 1 a) Encoding operation where N packets x are encoded using coding vector. Each element e of a coding vector is an element of a Galois Field and selected randomly. b) Decoding operation where N packets x are decoded from coded packet y. The same coding vectors as in the encoding operation are used.

B. Single-hop Broadcast Automatic repeat request (ARQ) and forward error correction (FEC) are basic methods to increase reliability in broadcast transmissions. ARQ has the advantage that it can achieve full reliability, however, its disadvantage is that it cannot work efficiently for a large number of receivers due to feedback implosion problem [1]. FEC [11] has an advantage that it can work efficiently for a large number of receivers. However, its disadvantage is that it involves encoding/decoding overhead and the sender cannot know whether full reliability has been achieved. Retransmission/redundant packets are transmitted by source nodes in both ARQ and FEC, so they cannot work well if links are completely lost. Recently, several works proposed reliable single-hop broadcast applying network coding [5][14]. However, they consider one-to-many broadcast and they cannot be directly applied to our many-to-many communications scenario. C. Multi-hop Broadcast Flooding in multi-hop networks is a simple but redundant broadcast scheme. It has the disadvantage called broadcast storm problem [2], which makes it difficult to be applied to a large scale network. Many works have tried to reduce redundancy of flooding. As representative examples, Tseng et al. have proposed a probabilistic approach in [2], Qayyum et al. a relay designating method using “HELLO” message in [4], and Peng et al. a self-pruning method (each receiver determines whether to relay or not) for a large scale network in [3]. Itaya et al. [6] have proposed a simple but effective broadcast scheme similar to FEC for real-time applications over inter-vehicle networks. They aim to reduce packet error rate by transmitting a new packet concatenated with previously transmitted packets. Recently, several works have proposed multi-hop broadcast transmissions applying network coding. Fragouli et al. [9] have analyzed and provided some heuristics schemes of network coding for flooding. However, their method assumed an ideal MAC operation. A recent study [5] has shown that the benefits of network coding drastically decrease when it is applied to many-to-many communications on actual CSMA/CA based networks. Li et al. [10] have proposed a deterministic broadcast method using opportunistic listening like [12]. Their main motivation is to reduce the number of transmissions in the network and realizing reliable real-time communication is not their scope.

III.

PROPOSED BROADCAST TRANSMISSION WITH NETWORK CODING A. System and Traffic Model We consider N nodes which play a multi-player video game. When these nodes attempt to start a game, each node negotiates with the other nodes for entry and initialization of the game before starting it. During the negotiation, each node obtains IDs and some information of the other nodes. When all the nodes are ready to start the game, the game is started simultaneously. We assume that all the N nodes are within the transmission range of each other at least during this negotiation phase. However, after starting the game, several links in the network may suffer from shadowing and fading which cause packet loss or even disconnected links. Under such a hostile environment, all the N nodes try to exchange their application data packets with each other by taking advantage of broadcast transmissions. Many of real-time applications periodically generate data packets at short intervals. For example, Voice over IP (VoIP) G.711 codec generates 160 byte data packets at 20 ms intervals. Video games do not have any standardized communication protocol, and packet generation intervals depend on the played game. However, the most recent devices of video game adopt 60 frames per second (fps) draw rate, which also requires 60 fps for packet generation interval in order to update drawing of all players at the same degree of accuracy. Therefore, in this paper, we assume a video game which generates periodical data packets at 16.7 ms (=1/ 60) intervals. The transmitted packets should be delivered to receivers within limited time. The G.711 codec specifies the permissible delay of 100ms. The permissible delays of video games also depend on the played game. However it requires same or much smaller delay as compared with VoIP applications. B. Proposed Network Coded Piggy Back (NCPB) Following the system and traffic model given above, all the N nodes generate and broadcast own data packets at constant interval. Each generated packet has to be delivered to the other N-1 nodes within an allowed delay time. There are N*(N-1) links in the network, and some of them could be very weak or even disconnected due to fading or blocking of obstacles as stated above. ARQ and FEC can be applied to compensate packet losses over these links. However, they do not work well if the links are disconnected for several blocks of time as the redundant or retransmitted packets can be also lost over the weak links. This is illustrated in Fig. 3 a). In this case, relays by intermediate nodes are efficient. However, if all the nodes are selected as relay nodes, then the number of relay packets increases and significant number of packets are lost by collisions. This is illustrated in Fig. 3 b). On the other hand, if the number of the relay nodes is reduced, the high reliability is difficult to realize as there can be packet loss in a selected relayed link as shown in Fig. 3 c). Thus, there is a trade-off between the reliability and scalability, and how to achieve a good trade-off between them is a critical issue. In this paper, in order to improve the reliability and scalability for many-to-many real-time communications, we propose network coded piggy-back (NCPB). The NCPB adopts network coding and develops it to be suited for real-time constraints of game applications. The basic procedure of NCPB is as follows:

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

1.

2. 3.

4. 5.

In the first interval, each node generates application data packet and transmits it with the sequence number initialized to 1. Each node receives and tries to decode packets from the other nodes during the first interval. Each node applies random linear network coding to the packets transmitted/decoded during the last interval, and creates a coded packet. In the next interval, each node generates the application data packet with the sequence number incremented by 1. Each node piggy-backs the coded packet created in step 2 when transmitting the application data packet. Each node receives the application data packets as well as coded packets from the other nodes, and tries to decode the desired packets. All the nodes repeat procedure 2-4 for all intervals.

a

C

A

NCPB requires no topology information and complex negotiation among nodes. It achieves strong error correction ability as long as there are intermediate nodes which can piggy-back sufficient amount of partial information of the lost packets. As it does not count on the specific nodes to receive the desired packet, NCPB is effective even when the quality of each link is largely fluctuating. C. Encoding and Transmission In NCPB, all the N nodes generate their own coding vector and exchange them with each other during the negotiation period. Each node uses one coding vector for encoding throughout a game 1 . The coding vector c consists of N elements e. 1

Each node generates new coding vector for every coded packets in general random coding scheme like [8]. In NCPB, however, nodes need not generate new coding vector for each coded packet because packets included into a coded packet are different for each coding operation.

E

B C

A

D

D

a

a

E

a a

a

B C

A

E

D

a) ARQ or FEC b) Flooding c) Relay node selection Fig. 3 Examples of packet recovery

A P1c P1x

B

X

C

P1a

Interval 1

(P2a,C1a)

Interval 2

(P3a,C2a)

Interval 3

P1b (P2c,C1c) (P2x,C1x)

Fig.4 shows a sequence of the periodical data transmissions in the proposed scheme. We assume that all the nodes synchronize their intervals during the negotiation phase before starting the game. In the figure, Piy means the packet generated by the application of node Y with the sequence number of i. We call such a packet generated by the application of each node as “native” packet. Ciy is the coded packet created by node Y, applying the random coding to the packets transmitted and received during the i-th interval. (Piy, C(i-1)y) is the packet created by concatenating C(i-1)y with Piy. Fig. 5 shows an example of the packet recovery mechanism of NCPB. Here, node A has received native packets from node B and E (P1b and P1e), however, it has failed to receive packets from node C and D (P1c and P1d). Next, each node generates a coded packet, for example, A generates a coded packet C1a from P1a, P1b, and P1e. In the next interval, node A receives C1b and C1d which include the information of unreceived packets P1c and P1d. Then the node A recovers P1c and P1d from coded packets C1b and C1d and native packets P1a, P1b and P1e. Each packet is received by many other nodes even if a certain node failed to receive it. Then the packet is piggybacked by the other nodes as coded packets, and it is delivered with high probability to the node which failed to receive it. Hence the lost packets can be recovered with high probability if there are some piggy-back nodes.

a

B

(P2b,C1b) (P3c,C2c) (P3x,C2x) (P3b,C2b)

Fig. 4 Packet exchange of the proposed method P1c P1d Encode

P1a P1b P1e

B P1c

P1b

A

C1a

C

P1c P1e

P1d

E

B P1a P1b P2b C1b P1e C1b C1d A P2c C1c

P1c P1d Decode

D

P2c C1e

C

P2d C1d

E

D

Fig. 5 Example of packet recovery MAC hdr

Native packet (Seq.=i) Coding info. field

Coded packet (Seq.=i-1)

1 1 1 0 1

1

N bit

Fig. 6 Frame format

Each e is an element of Galois Field and selected randomly from the field when coding vector is generated. The size of field is 2m, where m is an integer. The length of each e is m bit and coding vector can be represented by mN bit. A coded packet at a node i yi is generated as follows: N

y i = c i [ p1 p 2 " p N ]T = ∑ ei , j p j

(1)

j =1

where pj is a native packet received from node j and ci is the coding vector of node i. If one or some native packets have been lost, then packets are encoded without the lost packets. Specifically, corresponding matrix elements are filled by “0” instead of lost packets. For example, if a packet from node k has not been received correctly in the previous interval, then the packet is encoded as follows: y i = c i [ p1 p 2 " p k −1 0 " p N ]T

(2)

The frame format adopted in NCPB is shown in Fig. 6. Chou et al. [8] have proposed to include a coding vector into the

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

header of a coded packet. However, a coding vector requires m*N bit size for the representation. If m=8 and N=50, the size of coding vector field is 50 byte. Real-time applications generally apply short size data packet and such a large field can be significant overhead. Therefore, NCPB has coding info field instead of coding vector within a frame. As mentioned above, coding vector is exchanged during the negotiation period. The coding info field indicates which native packets are included in the coded packet. If jth bit of a coding info field equals to “1”, this coded packet includes information of the native packet from node j, otherwise, this coded packet does not include the information of the native packet from node j. D. Decoding Both native packets and coded packets received from other node are used for decoding. The coded packet yi received from node i can be represented as follows: N

y i = ∑ ei , j d i , j p j

(3)

j =1

where ei,j ∈ ci is an element of coding vector, di,j is coding info field transmitted with coded packet yi, and pj shows native packet. Some of the native packets have been received correctly in the prior interval. If a node receives r native packets in one interval, and receives s coded packets in the next interval, the node has to decode N-r native packets from s coded packets. The decoding process is formulated to solve s polynomial equations for N-r variables. If all the received coded packets do not include the information on native packets from certain nodes, then these native packets cannot be recovered. If u is the number of such non-included packets, then N-r-u lost packets have the possibility to be solved. These equations can be solved if s is larger than N-r-u and each equation has independent information. IV. EVALUATIONS A. Simulation We implement NCPB in the QualNet simulator. We assume IEEE802.11 MAC protocol and the two-ray path loss model. We also adopt Ricean fading model and lognormal shadowing model. The detailed simulation parameters are listed in Table. 1. In the simulations, 10 to 80 nodes are randomly placed in a rectangular area with three different sizes: 250m*250m, 250m*500m and 500m*500m. We assume a real-time video game traffic and all the nodes constantly broadcast 50 byte packets at 16.7 ms interval. The transmission rate is fixed to 6 Mbps and the size of the Galois field is 28(m=8). We compare our proposed method with three other schemes: standard 802.11 broadcast protocol, piggy-back retransmission (PBR), and multi point relay based scheme (MPR). The PBR is similar to FEC (repetition coding), and uses the redundant packet transmissions by source nodes. The source nodes transmit previously transmitted packets concatenated with the new native packets, where the number of redundant packets to be concatenated can be varied. In PBR1, each node transmits the new native packet with a native packet transmitted in the last interval, and in PBR2, each node transmits the new native packet with two native packets transmitted in the last two intervals. In MPR, each node designates its relay nodes by using topology information. The basic idea is based on [4], however,

Table 1 Simulation Parameters Simulator QualNet 4.0 MAC IEEE802.11a Number of nodes 10 - 80 Packet size 50 byte Packet generation interval 16.7ms Path loss model Two-ray Fading model Ricean (K=4.84) Shadowing model Lognormal (Deviation = 4dB) Tx power 17dBm Tx rate 6Mbps Sensing level -90dBm Galois field GF(28) Field 250m*250m, 250m*500m, 500m*500m

some techniques are added in order to adapt it to a fading channel environment. All the nodes generate HELLO packets at 2 sec interval. Each node measures the average RSSI of the HELLO packets transmitted by other node. If the average RSSI is less than a given threshold, then the node is considered as a 2-hop neighbor. The HELLO packets include neighbor information and each node can know 2-hop topology by receiving the HELLO packets. Each node designates relay nodes to cover all 2-hop neighbors by using the algorithm in [4]. Each designated relay node is responsible for relaying packets from the senders. The relay packets are concatenated with the native packets like the other two schemes. Fig. 7 and Fig. 8 show average packet delivery ratio and packet delivery ratio between two nodes having the link with the worst quality, respectively for different field sizes. When the field size is 250m*250m, all the nodes can receive packets from the other nodes stably if there is no collision. Therefore, when the number of nodes is small, all the methods achieve high reliability. However, as the number of nodes increases, the packet delivery ratio is decreased gradually due to the increase of collision. The delivery ratio of MPR is the most degraded because the channel tends to become more congested due to HELLO packets and relay packets than the other methods. The NCPB shows the highest delivery ratio for all the cases. The improvement brought by the proposal method is small in this scenario as most of the links have low packet error ratio. When the field size is 250m*500m or 500m*500m, the average packet delivery ratios of PBRs remain keeping high value, however, the worst delivery ratios largely decrease as compared with the case of 250m*250m. When the field size is 250m*500m or 500m*500m, there can be two nodes located in largely distant edges of the network. In such a link having constantly low SNR, repeated transmissions by the source node cannot help to improve the reliability. On the other hand, the worst delivery ratio of MPR is better than those of PBRs due to relay mechanism. However, average packet delivery ratio is less than that of standard 802.11 broadcast. This result indicates that it is difficult to realize high reliability with deterministic relay approach under unstable channel conditions. On the other hand, the worst delivery ratio of NCPB always shows the highest value. Our proposed method achieves not only high average delivery ratio but also high delivery ratio for all pairs of nodes. This aspect is very important when considering the practical use for many-to-many video games.

100

100

80

80

80

60

802.11 PBR1 PBR2 MPR NCPB

40 20

60

Packet Delivery Ratio [%]

100 Packet Delivery Ratio [%]

Packet Delivery Ratio [%]

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

802.11 PBR1 PBR2 MPR NCPB

40 20 0

0 0

10

20

30 40 50 60 Number of Nodes

70

802.11 PBR1 PBR2 MPR NCPB

40 20 0

0

80

60

10

20

a) 250m*250m

30 40 50 60 Number of Nodes

70

80

0

10

b) 250m*500m

20

30 40 50 60 Number of Nodes

70

80

70

80

c) 500m*500m

100

80

80

60

802.11 PBR1 PBR2 MPR NCPB

40 20 0

100

802.11 PBR2 NCPB

60

Packet Delivery Ratio [%]

100 Packet Delivery Ratio [%]

Packet Delivery Ratio [%]

Fig. 7 Average packet delivery ratio

PBR1 MPR

40 20 0

0

10

20

30 40 50 60 Number of Nodes

70

80

80 60

802.11 PBR1 PBR2 MPR NCPB

40 20 0

0

10

20

30

40

50

60

70

80

0

10

20

a) 250m*250m

30

40

50

60

Number of Nodes

Number of Nodes

b) 250m*500m

c) 500m*500m

Fig. 8 Packet delivery ratio between the worst two nodes Average

Worst

Decode success

1

99

802.11 NCPB

Decode failure

PBR1 50ms

PBR2 33ms

MPR

0.06

0.8

98

0.6

97

Delay [sec]

Packet Delivery Ratio [%]

100

0.4

96

0.2

95

0

Without mobility

Max speed : 5m/s

Max speed : 10m/s

Fig. 9 Packet delivery ratio of mobile nodes (250m*500m, 50 nodes)

0.04

0.02

0

10

20

30

40 50 60 Number of Nodes

70

80

0

10

20

30

40 50 60 Number of Nodes

70

80

Fig. 10 Packet decode success ratio and Fig. 11 Largest delay time of all packets failure ratio for all the lost native packets in each simulation

Fig. 9 shows a result of simulation with mobile nodes. The number of nodes is 50, the field size is 250m*500m and we use the random way point mobility model with zero pause time. The maximum speed is 5m/s or 10m/s. We can see that NCPB is not significantly affected by the mobility. The NCPB is also effective for mobile situations because it does not depend on any topology information. Fig. 10 shows the packet decode success ratio of NCPB for all the lost native packets when the field size is 250m*500m. Here, the packet recovery success ratio shows how much percentage of packets, which are lost in an interval, can be recovered from the coded packet in the next interval. The NCPB provides high recovery ratio when number of nodes is less than 40 and it keeps more than 50% of recovery ratio when number of nodes is 80. Fig.11 shows the largest delay for transmissions observed in the application layer in each simulation. Because the standard broadcast has no retransmission mechanism, it achieves the lowest delay in all the simulations. This delay is primarily caused by carrier sensing mechanisms. However, as mentioned above, it achieves very low packet delivery ratio and it can not provide high quality communications for real-time applications. The delays of the other methods become larger with the

increase of the introduced redundancy. The PBR2 shows the highest delay because it transmits one packet over three intervals. The PBR1, MPR and NCPB transmit one packet or its coded information over two intervals and the maximum delay shows similar tendency. The permissible delay time for realtime applications depends on the played video game, however, NCPB achieves both delay time less than 33.3ms (two interval time) and delivery ratio higher than 80% in most cases, which are sufficient for the practical use in most games. B. Experiment with Testbed We implement our proposed method NCPB in a test bed which consists of five Linux note PCs. Each note PC has an 802.11 wireless LAN card (NEC WL54AG) which is driven by MadWiFi [17]. The versions of the Linux kernel and MadWiFi are 2.6.19 and 0.9.3 respectively. The wireless LAN mode is 802.11a and the other parameters are same as the simulation parameters except for transmission power and packet generation interval, which are 0 dBm and 1 sec, respectively. The PCs are located in an office-area and they are not in line-of-sight with each other. The detailed location of PCs and area configurations are shown in Fig. 12.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the WCNC 2009 proceedings.

The experimental results with the testbed evaluation are shown in table 2. The table shows packet delivery ratio of different links for two different broadcast schemes: the standard 802.11 broadcast transmissions/NCPB. The former value shows packet delivery ratio of the standard broadcast and the latter, NCPB. For example, the packet delivery ratio of link from A to C with the standard broadcast is 4% while the packet delivery ratio of NCPB, 99%. From this table, we can see that the worst packet delivery ratio of NCPB is observed in the link from A to D and its value is 92%. On the other hand, the standard broadcast transmission shows much worse packet delivery ratio in many links. These results prove robustness of the proposed NCPB, which achieves high packet delivery ratio between any pair of nodes in the network. We can also make a brief analysis of the effect of relay transmissions on the packet delivery ratio from the above results. For example, let us assume that node B can relay lost packets from node A to D. The probability to have packets directly transmitted between node A and D is 0.07 while the probability of successful relaying is 0.75. Therefore, the estimated packet delivery ratio with relay node B is 0.07 + (1.0-0.07)*0.75 = 0.77, i.e., 77%. This value is smaller than the one obtained with NCPB, which achieves 92% delivery ratio from node A to D. Note that the actual results with relaying are expected to be worse as the relying causes more congestion in the network. However, this simple estimation can show the potential of NCPB to improve robustness as compared with relay protocols such as MPR in a realworld environment. It is also worth noting that the experimental results show that NCPB has better performance even with small number of intermediate nodes. It is expected that NCPB gives much more gain when the number of intermediate nodes is increased in the experiment. V. CONCLUSIONS In this paper, we have proposed network coded piggy back (NCPB), a reliable broadcast method using random network coding, which can enhance the reliability of broadcast transmissions for many-to-many and real-time communications. The NCPB exploits periodic nature of game traffic: each node applies random network coding to the packets received from the other nodes within an interval, and piggy-backs the coded packet to its own packet to be transmitted in the next interval. Each node can recover lost packets by taking advantage of coded packets gathered from surrounding nodes. The proposed method is practical since it needs neither topology information nor complex negotiation among nodes. Our simulation results have shown that the proposed NCPB achieves the highest packet delivery ratio among existing schemes using relay or redundancy. The proposed method achieves more than 95% of packet delivery ratio between the worst two nodes when the number of nodes is less than 40 for all the simulations. We have also implemented the NCPB in a wireless testbed. Our experimental results have shown that the NCPB can achieve reliable and robust communication in a real-world environment. Our future work includes experiments with more number of nodes, shorter interval of packet generation as well as evaluations with different criteria such as delay and computational complexity. Another interesting future work is the extension of the proposed protocol to the case where multi-hop (more than 2-hop) transmission is required.

Linux Note PC C

B A

Cabinet Note PC 5m

E

Partition

D

802.11 Wireless LAN Card

Wall

Fig. 12 Testbed Table 2 Packet delivery ratio between each pair of nodes Src.\Dst. A B C D E

A 1.0/ 1.0 0.07/ 0.99 0.30/ 0.99 0.82/ 0.99

B 1.0/ 1.0 1.0/ 1.0 0.84/ 0.99 0.62/ 0.98

C 0.04/ 0.99 1.0/ 1.0 0.90/ 0.99 0.15/ 0.98

D 0.07/ 0.92 0.75/ 1.0 0.59/ 0.92

E 0.59/ 0.99 1.0/ 1.0 0.09/ 0.99 1.0/ 1.0

1.0/ 1.0

ACKNOWLEDGEMENT This work was in part supported by The National Institute of Information and Communication Technology (NICT), Japan. REFERENCES [1] D. Towsley, J. Kurose, and S. Pingali, “A comparison of sender-initiated and receiverinitiated reliable multicast protocols,” IEEE Journal on Selected Areas in Communications, Vol.15. pp.398–406, April 1997. [2] Y. C. Tseng, S. Y. Ni, Y. S. Chen, and J. P. Sheu, “The broadcast storm problem in a mobile ad hoc network,” Wireless Networks, vol.8, pp.153–167, Mar.-May 2002. [3] W. Peng and X. Lu, “On the reduction of broadcast redundancy in mobile ad hoc networks,” Proc. of MobiHoc, pp.129–130, 2000. [4] A. Qayyum, L. Viennot, and A. Laouiti, “Multipoint relaying for flooding broadcast message in mobile wireless networks,” Proc. of HICSS-35, Jan. 2002. [5] E. Fasolo, M. Rossi, J. Widmer, and M. Zorzi, “On MAC scheduling and packet combination strategies for random network coding,” Proc of ICC, Jun 2007. [6] S. Itaya, J. Hasegawa, Y. Kondo, P. Davis, R. Suzuki, S. Obana, “Demonstration of robust multi-hop wireless packet broadcasts for moving vehicles using aggregated redundancy,” Proc. of LCN, pp. 620-624, Oct. 2007. [7] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Trans. Inform. Theory, vol. 46, no. 4, pp.1204–1216, July 2000. [8] P. A. Chou, Y. Wu, and K. Jain, “Practical network coding,” Proc. of 41st Annual Allerton Conference on Communication, Control and Computing, Oct. 2003. [9] C. Fragouli, J. Widmer, and J.Y. LeBoudec, “Efficient broadcasting using network coding,” IEEE/ACM Transaction on Networking, vol. 16, no. 2, pp. 450-463, Apr. 2008. [10] L. Li, R. Ramjee, M. Buddhikot, S. Miller, ”Network codingbased broadcast in mobile ad-hoc networks,” Proc. of INFOCOM, pp. 1739-1747, May 2007. [11] T.K. Chua, D.C. Pheanis, “QoS evaluation of sender-based loss-recovery techniques for VoIP,” Network, IEEE, Vol 20, No. 6, pp. 14-22, Nov.-Dec. 2006 [12] S. Katti, H. Rahul, W. Hu, D. Katabi, M. M´edard, and J. Crowcroft, ” XORs in the air: Practical wireless network coding,” Proc. of SIGCOMM, 2006. [13] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE Trans. Inf. Theory, vol. 49, no. 2, pp. 371–381, Feb. 2003. [14] D. Nguhyen, T. Nguyen, and B. Bose, “Wireless broadcasting using network coding,” Proc of NetCod, 2007. [15] P. Popovski, and H. Yomo, “Bi-directional amplification of throughput in a wireless multi-hop network,” Proc. of VTC 2006-spring, pp.588–593, May 2006. [16] T. Ho, R. Koetter, M. Medard, D.R. Karger and M. Effros, “The benefits of coding over routing in a randomized setting,” Proc. of IEEE International Symposium on Information Theory, 2003. [17] MadWiFi, http://madwifi.org