Coding aware routing in wireless networks with bandwidth guarantees. IEEEVTS Vehicular Technology Conference Proceedings. Copyright IEEE.

Similar documents
Method for discovering intra-session network coding opportunity in wireless ad hoc networks

An Overlaid Hybrid-Duplex OFDMA System with Partial Frequency Reuse

TIME- OPTIMAL CONVERGECAST IN SENSOR NETWORKS WITH MULTIPLE CHANNELS

Joint Relaying and Network Coding in Wireless Networks

Efficient Recovery Algorithms for Wireless Mesh Networks with Cognitive Radios

On the Performance of Cooperative Routing in Wireless Networks

Starvation Mitigation Through Multi-Channel Coordination in CSMA Multi-hop Wireless Networks

Dynamic Frequency Hopping in Cellular Fixed Relay Networks

Sense in Order: Channel Selection for Sensing in Cognitive Radio Networks

Utilization Based Duty Cycle Tuning MAC Protocol for Wireless Sensor Networks

T. Yoo, E. Setton, X. Zhu, Pr. Goldsmith and Pr. Girod Department of Electrical Engineering Stanford University

A survey on broadcast protocols in multihop cognitive radio ad hoc network

Network Coding Aware Dynamic Subcarrier Assignment in OFDMA Wireless Networks

Routing versus Network Coding in Erasure Networks with Broadcast and Interference Constraints

A Location-Aware Routing Metric (ALARM) for Multi-Hop, Multi-Channel Wireless Mesh Networks

Gateways Placement in Backbone Wireless Mesh Networks

Energy-Balanced Cooperative Routing in Multihop Wireless Ad Hoc Networks

Information-Theoretic Study on Routing Path Selection in Two-Way Relay Networks

Scaling Laws for Cognitive Radio Network with Heterogeneous Mobile Secondary Users

End-to-End Known-Interference Cancellation (E2E-KIC) with Multi-Hop Interference

Link Activation with Parallel Interference Cancellation in Multi-hop VANET

Stability Regions of Two-Way Relaying with Network Coding

Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes

New Approach for Network Modulation in Cooperative Communication

Research on a New Model and Network Coding Algorithm for Orthogonal Frequency Division Multiplexing System

Stability Analysis for Network Coded Multicast Cell with Opportunistic Relay

Physical Layer Network Coding with Multiple Antennas

Multiple Receiver Strategies for Minimizing Packet Loss in Dense Sensor Networks

On Channel-Aware Frequency-Domain Scheduling With QoS Support for Uplink Transmission in LTE Systems

EasyChair Preprint. A User-Centric Cluster Resource Allocation Scheme for Ultra-Dense Network

Noncoherent Physical-Layer Network Coding Using Binary CPFSK Modulation

Multi-Radio Channel Detecting Jamming Attack Against Enhanced Jump-Stay Based Rendezvous in Cognitive Radio Networks

Energy-Efficient Duty Cycle Assignment for Receiver-Based Convergecast in Wireless Sensor Networks

A Secure Transmission of Cognitive Radio Networks through Markov Chain Model

Fractional Frequency Reuse Schemes and Performance Evaluation for OFDMA Multi-hop Cellular Networks

Opportunistic Routing in Wireless Mesh Networks

Increasing Broadcast Reliability for Vehicular Ad Hoc Networks. Nathan Balon and Jinhua Guo University of Michigan - Dearborn

Cooperative Diversity Routing in Wireless Networks

Scheduling Data Collection with Dynamic Traffic Patterns in Wireless Sensor Networks

Dynamic Subcarrier, Bit and Power Allocation in OFDMA-Based Relay Networks

Cooperative Spectrum Sensing in Cognitive Radio

Optimal Resource Allocation in Multihop Relay-enhanced WiMAX Networks

Partial overlapping channels are not damaging

Optimal Power Control Algorithm for Multi-Radio Multi-Channel Wireless Mesh Networks

Novel bandwidth strategy for wireless P2P file sharing

An Adaptive Multichannel Protocol for Large scale Machine-to-Machine (M2M) Networks

Wireless ad hoc networks. Acknowledgement: Slides borrowed from Richard Y. Yale

Cooperative Orthogonal Space-Time-Frequency Block Codes over a MIMO-OFDM Frequency Selective Channel

Sequential Multi-Channel Access Game in Distributed Cognitive Radio Networks

Research Article Network Coding-Based Retransmission for Relay Aided Multisource Multicast Networks

Load Aware Channel Assignment for Multi Interface Wireless Mesh Network

Mobility Tolerant Broadcast in Mobile Ad Hoc Networks

Dynamic Subchannel and Bit Allocation in Multiuser OFDM with a Priority User

Interference Alignment. Extensions. Basic Premise. Capacity and Feedback. EE360: Lecture 11 Outline Cross-Layer Design and CR. Feedback in Networks

Cross-Layer Design and CR

Delay Based Scheduling For Cognitive Radio Networks

Research Article TDMA-Based Control Channel Access for IEEE p in VANETs

Investigation of Timescales for Channel, Rate, and Power Control in a Metropolitan Wireless Mesh Testbed1

A Distributed Opportunistic Access Scheme for OFDMA Systems

Chapter 10. User Cooperative Communications

Chapter 4: Directional and Smart Antennas. Prof. Yuh-Shyan Chen Department of CSIE National Taipei University

Improving QoS Metrics in Dynamic Bandwidth Allocation Of Wireless Mesh Community Networks

Load Balancing for Centralized Wireless Networks

A Two-Level Game Theory Approach for Joint Relay Selection and Resource Allocation in Network Coding Assisted D2D Communications

CS434/534: Topics in Networked (Networking) Systems

Simple, Optimal, Fast, and Robust Wireless Random Medium Access Control

Generalized Signal Alignment For MIMO Two-Way X Relay Channels

Gateway Placement for Throughput Optimization in Wireless Mesh Networks

Framework for Performance Analysis of Channel-aware Wireless Schedulers

Available Bandwidth in Multirate and Multihop Wireless Sensor Networks

REVIEW OF COOPERATIVE SCHEMES BASED ON DISTRIBUTED CODING STRATEGY

How (Information Theoretically) Optimal Are Distributed Decisions?

Understanding Channel and Interface Heterogeneity in Multi-channel Multi-radio Wireless Mesh Networks

Exploiting Interference through Cooperation and Cognition

Scheduling Multiple Partially Overlapped Channels in Wireless Mesh Networks

Further Vision on TD-SCDMA Evolution

Minimum number of antennas and degrees of freedom of multiple-input multiple-output multi-user two-way relay X channels

Bottleneck Zone Analysis in WSN Using Low Duty Cycle in Wireless Micro Sensor Network

Efficient Method of Secondary Users Selection Using Dynamic Priority Scheduling

Differentiable Spectrum Partition for Fractional Frequency Reuse in Multi-Cell OFDMA Networks

Resource Allocation in Energy-constrained Cooperative Wireless Networks

From Theory to Practice: Evaluating Static Channel Assignments on a Wireless Mesh Network

Channel Sensing Order in Multi-user Cognitive Radio Networks

INTELLIGENT SPECTRUM MOBILITY AND RESOURCE MANAGEMENT IN COGNITIVE RADIO AD HOC NETWORKS. A Dissertation by. Dan Wang

Channel Assignment with Route Discovery (CARD) using Cognitive Radio in Multi-channel Multi-radio Wireless Mesh Networks

Chutima Prommak and Boriboon Deeka. Proceedings of the World Congress on Engineering 2007 Vol II WCE 2007, July 2-4, 2007, London, U.K.

Performance Evaluation of a Video Broadcasting System over Wireless Mesh Network

Practical Routing and Channel Assignment Scheme for Mesh Networks with Directional Antennas

Cooperative Tx/Rx Caching in Interference Channels: A Storage-Latency Tradeoff Study

Research Article Network-Coded Relaying in Multiuser Multicast D2D Network

DiCa: Distributed Tag Access with Collision-Avoidance among Mobile RFID Readers

Cross-layer Network Design for Quality of Services in Wireless Local Area Networks: Optimal Access Point Placement and Frequency Channel Assignment

Cooperative Spectrum Sharing in Cognitive Radio Networks: A Game-Theoretic Approach

VEHICULAR ad hoc networks (VANETs) are becoming

Multi-Radio Multi-Channel Protocol for Emergency Wireless Mesh Network

Ultra-wideband (UWB) transmissions, with a bandwidth

Avoid Impact of Jamming Using Multipath Routing Based on Wireless Mesh Networks

Optimization Methods on the Planning of the Time Slots in TD-SCDMA System

Wireless Network Security Spring 2014

A Simple Greedy Algorithm for Link Scheduling with the Physical Interference Model

Transcription:

Title Coding aware routing in wireless networks with bandwidth guarantees Author(s) Hou, R; Lui, KS; Li, J Citation The IEEE 73rd Vehicular Technology Conference (VTC Spring 2011), Budapest, Hungary, 15-18 May 2011. In IEEEVTS Vehicular Technology Conference Proceedings, 2011, p. 1-5 Issued Date 2011 URL http://hdl.handle.net/10722/158717 Rights IEEEVTS Vehicular Technology Conference Proceedings. Copyright IEEE.

Coding Aware Routing in Wireless Networks with Bandwidth Guarantees Ronghui Hou 1, King-Shan Lui 2, Jiandong Li 1 1 State Key Lab of Integrated Service Networks, Xidian University, China 2 Department of Electrical and Electronic Engineering, The University of Hong Kong, Hong Kong Abstract This paper discusses the problem of computing the maximum available bandwidth of a given path in TDMA-based network with network coding, which is a fundamental issue for supporting QoS with bandwidth requirement in wireless networks. We present a new path bandwidth computation mechanism considering physical-layer network coding. To our best knowledge, our work is the first proposal on assigning time slots with consideration of wireless interference and network coding simultaneously. Our simulation experiments show that our approach produces higher throughput than the existing approach. I. INTRODUCTION Recently, network coding has received lots of attention since it is considered as the promising technique to improve the throughput performance for both wired and wireless networks. The notion of network coding was initially proposed to improve the throughput performance of multicast communication in wired networks [1]. It was then applied in multi-path routing in wireless networks to increase throughput, which was called intra-session network coding [2]. For flows that cannot be splitted, intra-session coding cannot be used. Instead, intersession network coding was developed to increase the network throughput [3] was the first work proposing a link-layer network coding (LNC) on two unicast flows between two nodes with opposite directions. The work in [4] develops a practical link-layer network coding paradigm in wireless networks, called COPE. COPE works between IP and MAC layers, and so it does not change the traditional wireless transmission model. Different from LNC, physical-layer network coding (PNC), which was proposed by [5], fundamentally changes the wireless transmission model. PNC allows two transmitters send different packets to the same receiver at the same time, which is considered as interference in the traditional wireless transmission. Assume Alice and Bob transmit data packets to each other through relay node R. If we use the traditional transmission method, it takes 4 time slots for them to receive a packet from each each. Fig. 1 shows the transmission schedule with LNC and PNC. It takes 3 time slots for them to exchange a packet when applying LNC, while it takes only 2 time slots when applying PNC. As packets of two different flows can be coded together only if they go through the same relay, to fully realize the advantage of PNC, we need an efficient routing mechanism that can intelligently route flows in the network. Generally speaking, existing works on network coding can be divided into two categories. One group of the works focus on the Alice R Bob x Fig. 1. y Alice R Bob x y Illustration for network coding. network throughput maximization with NC, such as [6] [9]. All these works apply the centralized optimization to obtain the optimal routing and scheduling schemes and assume traffic demand is a prior information. In this work, we consider networks with highly dynamic traffic load. In this situation, optimization computation will be launched for every change, and the overhead is too overwhelming. Another line of the works design the routing and scheduling mechanisms in order to maximize the opportunistic of network coding, such as [10] [12]. However, maximizing coding opportunities may not necessarily maximizing the bandwidth because of wireless interference. In fact, a good routing protocol must consider the interference among links [13]. In order to identify the maximum throughput path for a given node pair, estimating the available bandwidth for any given path needs to be solved first. Different MAC protocols have different requirements for successful transmission, and QoS routing protocol developed for a specified MAC scheme cannot be generalized to others easily [14]. In this work, we consider the problem of estimating the available bandwidth for a given path with network coding in TDMA-based networks. II. NETWORK MODEL AND PROBLEM STATEMENT This work follows the network model in [14]. All the nodes are synchronized. The bandwidth is partitioned into a set of time slots S = {s 1,s 2,...,s M } where one frame can be transmitted in a slot. In traditional wireless networks, when a transmitter transmits to a receiver, some nodes may not transmit simultaneously to avoid the conflict. This work applies the same interference model as [14]. When node i transmits to node j at slot s k, node j itself does not transmit, and also node i is the only transmitting neighbor of j at that slot. Based on the current network state, we can calculate the available time slots that a node can transmit or receive. Denote TS i as the available time slots that node i can transmit without interfering existing transmissions, and RS i as the available time slots that node i can receive. Thus, link e =(i, j) can transmit at slots in RT(e) =TS i RS j. For example, in Fig. 2, 978-1-4244-8331-0/11/$26.00 2011 IEEE

TS 1 ={s 2 } RS 1 ={s 2 } 1 2 s 1 TS 2 ={s 2 } RS 2 ={s 2 } s 1 s 2 {s 3,s 4 } {s 4,s 5 } {s 1,s 5,s 6 } TS 3 ={s 1,s 2 } RS 3 ={s 2 } 3 4 RS 4 ={s 1,s 2 } TS 4 ={s 2 } Fig. 4. Illustration for assigning time slots with PNC. Fig. 2. Fig. 3. Illustration for available time slots. {s 1,s 3,s 4 } {s 2,s 3,s 5 } {s 5,s 6 } Illustration for assigning time slots. which is an example in [14], assume there are totally two time slots {s 1,s 2 }. Node 1 transmits data packets to Node 2 in slot s 1. There is no traffic using slot s 2, and so every node can transmit or receive in s 2. Thus, s 2 is in every TS i and RS i. As Node 1 and Node 2 are involved in transmission in s 1, s 1 would not be in TS 1, TS 2, RS 1, and RS 2. When Node 1 is transmitting, Node 3 would not be able to receive anything because it falls into the interference range of Node 1. Thus, s 1 is not in RS 3. On the other hand, it can send in s 1 as Node 2 is outside its interference range. Nevertheless, Node 4 cannot send in s 1 as it interferes the signal at Node 2. The available time slots for each node is annotated in the figure. From the figure, link (1, 3) can use s 2 to transmit the new flow, while link (3, 4) can transmit a new flow at both the slots s 1 and s 2. Consider a new flow to be deployed on path <1, 3, 4>. A node cannot send and receive at the same time, and so links (1, 3) and (3, 4) cannot be active in the same time slot. In this example, we should assign slot s 1 to link (1, 3) and assign slot s 2 to link (3, 4), and the maximum available bandwidth of path <1, 3, 4> becomes one time slot. Time slot assignment affects the throughput of a path. For example, in Fig. 3, we have RT(1, 2) = {s 1,s 3,s 4 }, RT(2, 3) = {s 2,s 3,s 5 }, and RT(3, 4) = {s 5,s 6 }. If we assign slots {s 1,s 3 } to link (1, 2) and slots {s 2,s 5 } to link (2, 3), we just can assign slot s 6 to link (3, 4). The available bandwidth of path <1, 2, 3, 4> is denoted by the minimum of the number of time slots allocated for each link. Thus, the available bandwidth of the path is 1 time slot. On the other hand, if we assign {s 1,s 4 } to link (1, 2) and slots {s 2,s 3 } to link (2, 3), we can assign slots {s 5,s 6 } to link (3, 4). The available bandwidth of the path becomes 2 time slots. We can see that the throughput of a path depends on the time slot assignment mechanism. The problem of assigning the time slots for the links on a path to achieve the maximum available bandwidth has been proved to be NP-complete [14]. PNC further complicates the problem. For example, assume there is a three-hop path <4, 3, 2, 1> in a network. Fig. 4 shows the available time slots for each link, and we have RT(4, 3) = {s 1,s 5,s 6 }, RT(3, 2) = {s 4,s 5 }, and RT(2, 1) = {s 3,s 4 }. Links (1, 2) and (2, 3) transmit the existing flow at slots s 1 and s 2, respectively. We can see that the new flow can be coded with the existing flow on <1, 2, 3>. Node 2 can receive two data packets from 1 and 3 at slot s 1, and then transmits the coded packet to 1 and 3 at slot s 2. Nodes 1 and 3 can correctly decode the data packet from each other since they have the original packet it sent at slot s 1. We call node 2 the coding node. We can see that with PNC, link (3, 2) can use slot s 1, and link (2, 1) can use slot s 2. Nevertheless, if slot s 1 is allocated to link (4, 3), link (3, 2) cannot use slot s 1, so that (2, 1) cannot use slot s 2 either. The throughput is onl slot. On the other hand, if we assign s 5 and s 6 for (4, 3), s 1 and s 4 for (3, 2), and s 2 and s 3 for (2, 1), the available bandwidth of <4, 3, 2, 1> is 2 slots. We can see that PNC can significantly improve the throughput, but we need to develop an efficient time slot assignment mechanism to fully utilize the advantage of PNC. Given a subpath <v j,v j+1,v j+2 >,ifv j+1 is the coding node and the existing flow going through <v j+2,v j+1,v j > has consumed the times slots RT 1 on link (v j+2,v j+1 ) and the time slots RT 2 on link (v j+1,v j ). With PNC, link (v j,v j+1 ) can use RT 1 to transmit the new flow while link (v j+1,v j+2 ) can use RT 2 to transmit. Therefore, the available time slots for this new flow on link (v j,v j+1 ) should include RT 1. Denote RT code (e i ) as the available time slots for link e i to transmit the new flow which can be coded with the existing flow. Therefore, the available time slots for link e i should be included by RT total (e i ). swe thus define our problem as follows. Time Slot Assignment Problem: Given a path p, the available time slots on each link on p, and the coding nodes along the path, we want to identify which time slots each link should use for the new flow on p such that the available bandwidth is maximized. III. POLYNOMIAL PATH BANDWIDTH CALCULATION In this section, we present our mechanism to assign the time slots for each link on a given path. We assign the time slot in a hop-by-hop manner, and so our mechanism is fully distributed. Given a path p =<v 1,v 2,...v h >, we first determine the time slots allocated for link (v 1,v 2 ). In the second step, we allocate the slots for (v 2,v 3 ). The process continues until we allocate the slots for (v h 1,v h ). In the following, we describe the method to allocate the time slots for link (v j,v j+1 ). We first describe how to assign the time slots on 3-hop subpath p i =<v i,v i+1,v i+2,v i+3 > in order to maximize the available bandwidth of p i when coding is not considered. It is obvious that the mechanism should assign equal number of time slots to the three links. In other words, the available time slots should be distributed equally among the links. Although [14] proposes a time slot assignment method, we found the performance of the algorithm can be improved further. We would like to use an example to illustrate this situation. Example 1: Given a three-hop path p 1 =<v 1,v 2,v 3,v 4 >, assume RT(v 1,v 2 ) = {1, 2, 3, 4, 5, 6}, RT(v 2,v 3 ) = {5, 6, 7, 8, 9, 10, 11, 12}, and RT(v 3,v 4 ) = {7, 8, 9, 10, 11, 12}. The BW2 function in [14] first

assigns time slots {1, 2, 3, 4, 5, 6} for (v 1,v 2 ) and time slots {7, 8, 9, 10, 11, 12} for (v 2,v 3 ), respectively. The BW3 function in [14] then assigns the time slots {7, 8, 9} for (v 2,v 3 ) and {10, 11, 12} for (v 3,v 4 ), respectively. We can see that the minimum number of the time slots allocated for each link on p 1 is 3, and so the bandwidth of path p 1 is 3 time slots. However, if we assign {1, 2, 3, 4} for (v 1,v 2 ), {5, 6, 7, 8} for (v 2,v 3 ), and {9, 10, 11, 12} for (v 3,v 4 ), each link can possess four time slots without conflict, and so the available bandwidth of p 1 is four time slots. The main idea of our mechanism is: In the first step, we try our best to evenly distribute the time slots on both links (v 1,v 2 ) and (v 2,v 3 ), which is the same as that in [14]. Let T 1 =RT(v 1,v 2 ) and T 2 =RT(v 2,v 3 ), and Algorithm 1 is then called to recalculate T 1 and T 2 to minimize the difference between T 1 and T 2. Afterwards, let T 3 =RT(v 3,v 4 ), and Algorithm 2 is called to allocate the time slots on the three links to minimize the difference between T 1, T 2, and T 3. Algorithm 2 works as follows: Suppose that T i and T i+1 are computed by Algorithm 1. Thus, T i T i+1 =. Initially, we set T i+2 =RT(i+2)\{T i T i+1 }. Without loss of generality, assume T i T i+1.if T i+2 T i+1, the maximum path bandwidth is T i+1. Otherwise, we should move some slots from T i and T i+1 to T i+2. Since T i contains more slots than T i+1,wefirstmovesomeslotsfromt i to T i+2 such that T i contains the same slots as T i+1, as referred to Lines 7-9. If T i+2 still contains less slots than T i+1, we should continue moving some slots from T i and T i+1 to T i+2. When both T i and T i+1 contain the same number of slots, we move a slot from both the sets, respectively, to T i+2 in each time until all the three sets contain the same number of slots. For selecting the slot in T i to be moved to T i+2, we prefer the slots shared by both the links e i and e i+2 but not by e i+1, and the set of such slots is denoted by Z 1. Similarly, for selecting the slots in T i+1 to be moved to T i+2, we prefer the slots shared by both the links e i+1 and e i+2 but not by e i, and the set of such slots is denoted by Z 2. It is possible that we cannot find a slot shared by T i and RT(e i+2 ) such that we cannot move a slot from T i to T i+2. After several movement operations, T i and T i+1 may contain different numbers of time slots, and Algorithm 1 is thus called to redistribute the slots on links e i and e i+1, as referred to Lines 17 and 29. We can see that the terminate condition of Algorithm 2 is that T i+2 contains the slots no less than T i or T i+1, or no more slot can be moved. For instance, no slot in T i is available for link e i+2, thus, we cannot move any slot from T i to T i+2. We would like to use Example 1 to illustrate the time slot allocation process of our approach. We first let T 1 = RT(v 1,v 2 ) and T 2 =RT(v 2,v 3 ). By Algorithm 1, we have T 1 = {1,...,6} and T 2 = {7,...,12}. Afterwards, let T 3 =RT(v 3,v 4 ) and call Algorithm 2 to allocate the time slots on the three links. Initially, we set T 3 = T 3 \{T 1 T 2 } =, as referred to Line 2. We then calculate Z 1 = and Z 2 = T 2, as referred to Lines 5-6. Thus, we remove slots from T 2 to T 3. After moving two slots from T 2 to T 3, say slots 11 and 12, we have T 1 > T 2 +1, and so Algorithm 1 is called to balance the slots between T 1 and T 2. Assume Algorithm 1 moves slot 6fromT 1 to T 2. At the moment, both T 1 and T 2 contains 5 slots while T 3 contains 2 slots. The condition of Line 11 is not satisfied, and so the movement operation continues. We again move two slots from T 2 to T 3, and Algorithm 1 is called again to balance the slots in T 1 and T 2. Finally, all the three sets contain 4 slots, and the condition of Line 11 is satisfied. Algorithm 3 is thus terminated. With Algorithm 3, the bandwidth of path p 1 in Example 1 is 4 time slots, which is larger than the bandwidth calculated by the algorithm in [14]. Algorithm 1 Two-Link-Allocation(T i,t i+1 ) Parameters: 1: T i+1 T i+1 \ T i 2: if T i+1 >= T i then 3: return 4: m T i T i+1 2 5: Select m from T i T i+1, and move these time slots from T i to T i+1 Given a h-hop path p =<v 1,...,v h,v h+1 >, we want to assign the time slots on p to maximize the path bandwidth. Denote e i = (v i,v i+1 ). Let T i be the set of time slots assigned for e i, where 1 i h +1. Firstly, set T 1 to be RT(e 1 ) and T 2 = RT(e 2 ), and the Two-Link- Allocation(T 1,T 2 ) procedure is then called to distribute the time slots on the two links. Then, let T 3 be RT(e 3 ), and adopt the Three-Link-Allocation(T 1,T 2,T 3 ) procedure to assign the time slots on the three links e 1, e 2, and e 3. In the i th step, let T i+1 be RT total (e i+2 ), and call the Three-Link- Allocation(T i 1,T i,t i+1 ) procedure, where 2 i h. As only T i, T i+1, and RT i+2 are needed to compute T i+2,the mechanism can be conducted in a distributed manner. Besides, as the problem is NP-complete in nature, our polynomial-time algorithm probably would not achieve optimal in all cases. The previous discussion does not consider PNC. We first use an example to illustrate the constraint for the time slot assignment imposed by PNC. In Fig. 5(a), bandwidth is divided into 6 time slots, and the existing flow f 1 possesses {s 1,s 3 } on (3, 2) and {s 2,s 4 } on (2, 1). We consider how to assign the time slots on the links of path <1, 2, 3, 4>. We can calculate RT code (1, 2) = {s 1,s 3 }, RT code (2, 3) = {s 2,s 4 }, RT total (1, 2) = {s 1,s 3,s 5,s 6 }, RT total (2, 3) = {s 2,s 4,s 5,s 6 }, and RT(3, 4) = {s 2,s 4,s 5 }. If link (1, 2) and (3, 2) transmit data packet and at slot s 1, node 2 must transmit the code packet to node 1 and node 3 at slot s 2. In other words, if we assign s 1 to (1, 2), link (3, 4) cannot possess s 2, since we must assign s 2 to (2, 3). Therefore, s 1 on (1, 2) and s 2 on (3, 4) conflict with each other, which imposes additional constraint on assigning time slots. In both the Two-Link-Allocation procedure and the Three- Link-Allocation procedure, we need to move some slots from a set to another set. For instance, in the Two-Link-Allocation procedure, we need to move m slots from T i to T i+1 (Line 5). In the Three-Link-Allocation procedure, we need to move some slots from T i (or T i+1 )tot i+2 (Lines 10 and 12). For

Algorithm 2 Three-Link-Allocation(T i,t i+1,t i+2 ) Assumption: T i T i+1 Parameters: RT(e i), RT(e i+1), RT(e i+2): the available time slots on links e i, e i+1, e i+2 T i, T i+1, T i+2: the time slots allocated for links e i, e i+1, e i+2 1: assert(t i T i+1 = ) 2: T i+2 T i+2 \{T i T i+1} 3: if T i+2 T i+1 then 4: return 5: Z 1 {T i RT(e i+2)} \RT(e i+1) 6: Z 2 {T i+1 RT(e i+2)} \RT(e i) 7: move T i T i+1 slots in Z 1 from T i to T i+2 8: if T i+2 T i+1 then 9: return 10: if Z 1 + Z 2 + T i+2 min{ T i Z 1, T i+1 Z 2 } then 11: while T i+2 < min{ T i, T i+1 } do 12: if Z 1 then 13: Select a time slot in Z 1 move from T i to T i+2 14: if Z 2 then 15: Select a time slot from Z 2 move from T i+1 to T i+2 16: if the difference between T i and T i+1 is larger than 1 then 17: Two-Link-Allocation(T i,t i+1) 18: else 19: move all time slots in Z 1 and Z 2 from T i and T i+1 to T i+2 20: X 1 T i RT(e i+2) 21: X 2 T i+1 RT(e i+2) 22: if X 1 + X 2 + T i+2 min{ T i X 1, T i+1 X 2 } then 23: while T i+2 < min{ T i, T i+1 } do 24: if X 1 then 25: Select a time slot from X 1 move to T i+1 26: if X 2 then 27: Select a time slot from X 2 move to T i+1 28: if the difference between T i and T i+1 is larger than 1 then 29: Two-Link-Allocation(T i,t i+1) 30: else 31: move all the times slots in X 1 and X 2 from T 1 and T 2 into T 3 selecting the slots to be moved, we prefer the slot not belong to the coded available time slot. We would like to use the example in Fig. 5(a) to illustrate the procedure of our time slot assignment mechanism. After the network accepts f 1, we compute RT total (1, 2) = {1, 3, 5, 6}, RT total (2, 3) = {2, 4, 5, 6}, and RT total (3, 4) = {2, 4, 5, 6}. We also have RT code (1, 2) = {1, 3} and RT code (2, 3) = {2, 4}. In the Two-Link-Allocate Procedure, we first set T 1 = {1, 3, 5, 6} and T 2 = {2, 4}. We need to move a slot from T 1 to T 2. Since we prefer the slots {5, 6} to {1, 3}, we then assign T 1 = {1, 3, 5} for (1, 2) and T 2 = {2, 4, 6} for (2, 3). In the Three-Link-Allocate Procedure, we first have T 3 =, meaning link (3, 4) does not have any available time slot which is not included by T 1 or T 2. We need to move slots from T 1 and T 2 to T 3. We first calculate Z 1 = {5} and Z 2 = {2, 4, 6}. We first move slot 5 from T 1 to T 3. Since {2, 4} are the coded available time slots, we prefer slot 6 in Z 2. We thus move slot 6 from T 2 to T 3. Finally, we assign T 1 = {1, 3} for (1, 2), T 2 = {2, 4} for (2, 3), and T 3 = {5, 6} for (3, 4). In the previous discussion, we describe how to assign the time slot with PNC. LNC does not allow two nodes transmit the two packets to a receiver at the same slot, it does not impose the constraint while PNC does. Therefore, the time slot assignment method with LNC is actually the same as that in traditional transmission. We use the example in Fig. 5(a) to illustrate our time slot assignment process with LNC. When LNC is applied, link (1, 2) and link (3, 2) cannot be active s 1 s 2 s 3 s 4 s 5 s 6 Fig. 5. (a). s 1 s 2 s 3 s 4 s 5 s 6 (b). Illustration for time slot assignment with PNC. at the same time. We then calculate RT total (1, 2) = {5, 6}, RT total (2, 3) = {2, 4, 5, 6}, and RT total (3, 4) = {2, 4, 5, 6}. We also have RT code (2, 3) = {2, 4}. Firstly, we set T 1 = {5, 6} and T 2 = {2, 4}. In the Three-Link-Allocation procedure, initially, we have T 3 =. We thus need to move a slot from T 1 or T 2 to T 3. If we move slot 5 from T 1 to T 3,we have T 1 = {6}, T 2 = {2, 4}, and T 3 = {6}. On the other hand, if we move slot 4 from T 2 to T 3,wehaveT 1 = {5, 6}, T 2 = {2}, and T 3 = {4}. The both schemes produce the same available bandwidth, which is denoted b time slot. IV. PERFORMANCE EVALUATION In order to evaluate the performance of our time slot assignment algorithm, we perform the time slot assignment for 10-hop paths, and compare the available path bandwidth estimated by our algorithm with that of the algorithm in [14]. In our simulation experiments, the bandwidth is divided into 100 time slots, denoted by S. We randomly select a certain number of time slots from S for each link on a path. The number of available time slots on each link follows the uniform distribution U[L, U]. We test 10000 different paths, and so the point is the average of 10000 different values. We first fix the variance of the uniform distribution by setting U L =40, and then change the expected value of the uniform distribution to observe the changes of the available path bandwidth. Fig. 6(a) shows the available path bandwidth estimated by our algorithm and the algorithm in [14]. The available path bandwidth is represented by the number of time slots. We observe that the available path bandwidth of our algorithm is higher than that of the algorithm in [14] by 20% on average. Therefore, our algorithm outperforms the algorithm in [14]. Fig. 6(a) shows that as the expected value of the number of available time slots on each link increases, the path bandwidth increases. As the average number of time slots on each link increases, the number of the time slots allocated for each link grows, so that the path bandwidth is larger. We then fix the expected value of the uniform distribution to be 50, and change the variance of the distribution to observe the change of the path bandwidth. Fig. 6(b) shows the simulation results. The x-coordinates gives the L value of the distribution. For example, if L =10, we have U =90 in order to have the expected value of 50. As the increase of L, thevalueofu decreases, and so the variance of the

30 40 50 60 70 Estimated Path Bandwidth Estimated Path Bandwidth 30 25 20 15 10 5 0 New Approach Existing Approach Expected Time Slot Number on Link (a) Change the expected value. 30 New Approach Existing Approach 25 20 15 10 5 not change as the data rate changes. With PNC, the time slots assigned for the existing flow are still available for the new flow, and so the data rate of the existing flow almost does not affect the available bandwidth of the path. From the simulation results in Fig. 7, we can observe that our time slot assignment algorithm can efficiently utilize the advantage of PNC. V. CONCLUSION This paper discussed the problem of assigning the time slots on a path in order to achieve the maximum available bandwidth with considering network coding. Our simulation results show that our algorithm outperforms the existing approach. In the future, we will study on developing a hop-by-hop routing protocol to find the widest path in TDMA-based networks. Fig. 6. 0 1 10 20 30 40 Lower Bound of Time Slot Number on Link (b) Change the variance. Performance Comparison of our algorithm and the existing algorithm. Estimated Path Bandwidth 25 20 15 10 5 0 Fig. 7. New Approach with PNC New Approach without PNC Existing Approach without PNC 0 5 10 15 20 Data Rate of Existing Flow Test the advantage of PNC. distribution decreases. From Fig. 6(b), we observe the average path bandwidth increases as the variance decreases. As the variance decreases, the number of available time slots on each link has the smaller difference, which implies the number of time slots assigned for each link has the smaller difference. As the expected value is the same, the numbers with the smaller variance has the larger minimum value than that with the larger variance. Since the path bandwidth is determined by the minimum value, the path bandwidth increases as the variance decreases. We then test the advantage of applying PNC. The number of available time slots on each link follows U[30, 70]. Given a path, we first randomly select a certain number of available time slots from S for each link. We then deploy an existing flow going through the inverse direction of this path. We randomly assign the available time slots on each link for the existing flow in order to satisfy the data rate of this flow. Afterwards, we calculate the available path bandwidth with PNC. Fig. 7 shows the average path bandwidth as a function of the data rate of the existing flow. With the increase of the data rate, the path bandwidth estimated by the algorithm without PNC decreases. This is because the number of available time slots for each link decreases as the data rate of the existing flow increases. On the other hand, we observe that the path bandwidth estimated by our algorithm with PNC almost does ACKNOWLEDGEMENT This work was supported in part by the National Science Fund for Distinguished Young Scholars under Grant 60725105, by the National Basic Research Program of China under Grant 2009CB320404, by the National Nature Science Foundation of China under Grant JJ0500092101, by Important National Science & Technology Specific Projects under Grant 2010ZX03005, and by HKU Seed Funding Programme Project No: 10400904. REFERENCES [1] R. Ahlswede, N. Cai, S. R. Li, and R. Yeung, Network information flow, IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204 1216, July 2000. [2] Y. Kim and G. Veciana, Is rate adaptation beneficial for inter-session network coding? IEEE Journal on Selected Areas in Communications, vol. 27, no. 5, pp. 635 646, June 2009. [3] Y. Wu, A. Chou, and S.-Y. Kung, Information exchange in wireless networks with network coding and physical-layer broadcast, Conference on Information Sciences and Systems, March 2005. [4] S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, Xors in the air: practical wireless network coding, IEEE/ACM Transactions on Networking, vol. 16, no. 3, June 2008. [5] S. Zhang, S.-C. Liew, and P. Lam, Hot topic: physical-layer network coding, ACM MobiCom, September 2006. [6] J. Le, C.-S. Lui, and D.-M. Chiu, How many packets can we encode?- an analysis of practical wireless network coding, IEEE INFOCOM, pp. 1040 1048, April 2008. [7] J. Liu, D. Goeckel, and D. Towsley, Bounds on the throughput gain of network coding in unicast and multicast wireless networks, IEEE Journal on Selected Areas in Communications, vol. 27, no. 5, pp. 606 621, June 2009. [8] S. Sengupta, S. Rayanchu, and S. Banerjee, An analysis of wireless network coding for unicast sessions: the case for coding-aware routing, IEEE INFOCOM, pp. 1028 1036, April 2007. [9] X. Z. H. Su, Modeling throughput gain of network coding in multichannel multi-radio wireless ad hoc networks, IEEE Journal on Selected Areas in Communications, vol. 27, no. 5, pp. 593 605, June 2009. [10] S. Das, Y. Wu, R. Chandra, and Y. Hu, Context-based routing: techniques, application and experience, USENIX NSDI, April 2008. [11] Y. Wu, S. Das, and R. Chandra, Routing with markovian metric to promote local mixing, IEEE INFOCOM, pp. 2381 2385, April 2007. [12] Y. Yan, Z. Zhao, B. Zhang, H. Mouftah, and J. Ma, Rate-adaptive coding-aware multipath path routing for wireless mesh networks, IEEE GLOBECOM, pp. 1 5, December 2008. [13] T. Salonidis, M. Garetto, A. Saha, and E. Knightly, Identifying high throughput paths in 802.11 mesh networks: a model-based approach, IEEE International Conference on Network Protocols (ICNP), pp. 21 30, October 2007. [14] C. Zhu and M. Corson, Qos routing for mobile ad hoc networks, IEEE Infocom, pp. 958 967, June 2002.