The Actual Maximum Throughput of Mobile Ad Hoc Networks with Reed-Solomon Coding

Maximum throughput serves as a fundamental metric for evaluating the performance of mobile ad hoc networks. However, the actual maximum throughput still remains significantly unknown in such networks. This paper studies the actual maximum throughput ofmobile ad hoc networks under a general routing schemewith reed-solomon coding,where a source node first encodes a group of g packets into w (w ≥ g) code blocks, and then these code blocks are transmitted to distinct relay nodes, which forward them to destination node. The original g packets can be decoded once the destination node receives any g code blocks. To explore the actual maximum throughput, we first establish two Markov chain models to capture the fastest packet sending and receiving processes at source and destination nodes under the considered routing scheme. Based on theMarkov chainmodels, we then derive a closed-form expression for the maximum throughput in such networks. Finally, extensive simulations and theoretical results are presented to validate the accuracy of our theoretical maximum throughput analysis in mobile ad hoc networks and to illustrate how network parameters influence the maximum throughput performance.


Introduction
Mobile ad hoc networks represent a class of self-configurable wireless networks, where mobile nodes can communicate with each other freely through peer-to-peer wireless links without infrastructure support [1,2].Since such networks can be rapidly deployed, easily managed, and extended, they have many critical applications such as space or underwater communication, disaster relief, battlefield communication, and traffic offloading in cellular-based vehicular network.To guarantee Quality of Service (QoS) in these applications, it is of great importance to study the maximum throughput (i.e., the maximum packet delivery rate that each node in the networks can support) performance of mobile ad hoc networks.
There have been several studies on the maximum throughput of mobile ad hoc networks in the literature.However, most of efforts focused on the study of asymptotic maximum throughput.For example, in a seminal work [3], Grossglauser and Tse showed that node mobility can significantly improve the maximum throughput and proved that it achieves Θ(1) under i.i.d mobility model (In this paper, we use the following asymptotic notations: (i) () = (()) means that there exist a positive constant  and an integer  such that () ≤ () for  > ; (ii) () = Θ(()) means that () = (()) and () = (())).In addition, the maximum throughput of Θ(1) was later proved to be achievable under the Brownian mobility model [4] and the uniform mobility model [5].The asymptotic trade-off between the maximum throughput and delay performance has also been studied.Neely and Modiano [6] showed that under i.i.d.mobility model, the asymptotic trade-off between delay and maximum throughput is not less than (), where  represents the number of nodes in the network.Toumpis and Goldsmith [7] also studied the asymptotic trade-off between them under i.i.d.mobility model.Sharma et al. [8] proposed a unified framework to explore the asymptotic trade-off under different mobility models.Recently, coding techniques have been incorporated into the studies.Ying et al. [9] proved that, by employing rate-less codes (e.g., Raptor codes), the asymptotic trade-off between maximum throughput and delay is improved under the proposed joint coding-scheduling algorithm.However, the maximum throughput of a constant (1) is not achievable in [9].More recently, Kong et al. [10] showed that, by employing reedsolomon coding, the maximum throughput can achieve a constant (1) under two-hop relay routing in mobile ad hoc networks.
Notice that all the aforementioned work on the maximum throughput of mobile ad hoc networks focused on the asymptotic results, which could not indicate the actual achievable maximum throughput of such networks.In practice, the actual maximum throughput is significantly important for network designers.Some researchers have made efforts to explore the actual maximum throughput of mobile ad hoc networks and obtained some initial results.Neely et al. [6,11] derived closed-form expressions for the maximum throughput under independent and identically distributed mobility model and Markovian mobility model, respectively.Recently, Liu et al. [12] studied the actual maximum throughput under two-hop relay routing with packet replication technique, where each packet can be replicated to multiple relay nodes.
In this paper, we study the actual maximum throughput of mobile ad hoc networks under two-hop relay routing with reed-solomon coding.Under this routing scheme, source node first encodes a group of  packets into  ( ≥ ) code blocks, which will be transmitted to distinct relay nodes, and then its destination node receives these code blocks from either the relay nodes or the source node.The original  packets can be decoded once the destination node receives any  code blocks of the group.Notice that the work in [10] is closest to ours.However, the fundamental difference between them is that the work in [10] studies the asymptotic maximum throughput, while our work explores the actual maximum throughput.As a first step, this paper explores the actual maximum throughput by employing the reed-solomon coding.
The main contributions of this paper are summarized as follows: (i) We first establish two Markov chain models to capture the fastest packet sending and receiving processes at source and destination nodes under the routing scheme in the considered mobile ad hoc network.
(ii) Based on these two Markov chain models, we then derive a closed-form expression for the maximum throughput in such network.
(iii) Finally, extensive simulations are presented to validate the accuracy of theoretical maximum throughput analysis and numerical results are also presented to illustrate how network parameters influence the maximum throughput performance.
This paper is organized as follows.We introduce system models and performance metric in Section 2. Section 3 presents MAC protocol and routing scheme.Based on the routing scheme, we first establish two absorbing Markov chain models to depict the fastest packet sending and receiving processes at source and destination nodes and then derive the closed-form expression for the maximum throughput in Section 4. Section 5 provides numerical results to validate  the accuracy of theoretical maximum throughput analysis and to illustrate the impact of network parameters on the maximum throughput performance.We conclude this paper in Section 6.

System Models and Performance Metric
In this section we introduce the system models and the definition of maximum throughput adopted in this paper.

System Models
2.1.1.Network Model.We consider a mobile ad hoc network composed of  nodes moving on a unit square region, opposite edges of which touch each other so as to avoid border effects.As shown in Figure 1, similar to previous work [6,[11][12][13][14], the network region is uniformly partitioned into  ×  cells.

Mobility Model.
The node movements in the network follow the independent and identically distributed (i.i.d.) mobility model widely adopted in [6,[11][12][13][14], where time is divided into slots of equal duration and at the beginning of each time slot, each node moves into a cell selected from the  2 cells with equal probability and remains in it for the entire time slot.

Communication Model.
We adopt a commonly used protocol model [13,14] to avoid interference among simultaneous data transmissions.According to the protocol model, each node (e.g.,  1 in Figure 1) employs a fixed transmission range covering the cell it resides in and its eight neighbor cells.Let (, ) denote the Euclidean distance between node  and node , and then node  can successfully receive data from node  if and only if the following condition holds: (, ) ≥ (1 + Δ)(, ) for each other node  ( ̸ = ) simultaneously sending, where Δ is a positive integer.

Traffic Model.
Similar to [15], we consider a permutation traffic model where each node is source of one traffic flow and destination of another traffic flow.Thus, there exist  traffic flows in the network.Each node can also serve as a potential relay to forward data for other  − 2 traffic flows.We assume that, for the traffic flow originated at each node, it has an arrival rate of  (packets/slot) at the beginning of each time slot and that one code block is transmitted at each successful data transmission.

Maximum Throughput.
A traffic arrival rate  (packets/slot) is called feasible or achievable under our routing scheme in the considered network, if the queue length of each node under the arrival rate does not grow to infinity as the time tends to infinity.The maximum throughput is then defined as the maximum feasible arrival rate .

MAC Protocol and Routing Scheme with Reed-Solomon Coding
In this section, we first introduce MAC protocol and then present a general routing scheme with reed-solomon coding.

MAC Protocol.
To ensure as many simultaneous data transmissions as possible over a shared channel without interfering with each other, we adopt an equivalent-class based MAC protocol [13,16] for transmission scheduling.An equivalent-class is defined as the set of cells (e.g., as shown in Figure 1, all cells marked by dark gray color are located in the same equivalent-class), where a cell is separated from another cell at a distance of integer multiple of  cells in the horizontal and vertical directions, respectively.Thus, there are  2 distinct equivalent-classes covering all cells in the network.Notice that each equivalent-class will alternately become an active one at each  2 time slot, and each cell (also called active cell) in the active equivalent-class allows at most one node in it to execute data transmission at the time slot.
The parameter  should be determined appropriately as follows.As shown in Figure 1, the maximum transmission distance  between a transmitter  1 and its possible receiver  1 is 2 √ 2/.For a transmission between them to be successful, the distance between  1 and another possible closest simultaneously sending node  2 , that is, ( − 2)/, should meet the following condition according to the protocol model [13,14]: where ⌈⋅⌉ is the ceiling function.

Routing Scheme with Reed-Solomon
Coding.We consider a general two-hop relay routing with reed-solomon coding, where a group of  packets at source node are encoded into  ( ≥ ) code blocks using reed-solomon coding [10], and then each code block is sent to either relay node or destination node.According to reed-solomon coding, the original  packets can be decoded once destination node receives  code blocks of the group from these relay nodes or source node.For the convenience of analysis, each relay node can only carry at most a code block of each group at the same time slot.
Without loss of generality, we study a specific traffic flow and denote its source and destination by  and , respectively.Each packet group at source  is assigned a unique group number (), and destination  also assigns each packet group it is currently requesting a unique group number ().For the traffic model, we notice that each node also acts as a relay for other  − 2 traffic flows; thus each node maintains  − 1 queues at its buffer, where one input queue stores packet groups locally generated by itself and waiting to be transmitted, and other −2 relay queues store coded blocks from source nodes of other  − 2 traffic flows (one queue per traffic flow).
We now introduce the two-hop relay routing with reedsolomon coding.When  gets a transmission opportunity at current time slot according to the MAC protocol, it conducts the following operations.
Step 1 (source-to-destination).For the case where  is in the transmission range of ,  initiates a handshake with  to check which group number () is requesting.If () = (),  sends a code block of current group from its input queue to  directly; else if () < (),  sends a code block from its input queue with group number () = () + 1 to  directly; else  stays idle at this time slot.When  has received  code blocks of a group, it decodes the original  packets of the group using reedsolomon coding technique and sets () = () + 1.
Step 2. For another case where  is not in the transmission range of , if there does not exist another node in its transmission range,  stays idle at this time slot.Otherwise,  randomly selects a node, say , and then performs the following operations with the same probability.
(i) Source-to-Relay: If  has been carrying a code block of current group that  is sending,  stays idle at this time slot.Otherwise,  sends a code block of the group from its input queue to .
(ii) Relay-to-Destination:  (serving as a relay node) initiates a handshake with  to check which group number () is requesting.If  is carrying a code block of the group, it sends a code block of the group from its corresponding relay queue to .Otherwise,  stays idle at this time slot.When  has received  code blocks of the group, it decodes the original  packets of the group and sets () = () + 1.
It is notable that, under the routing scheme, the destination node  begins to receive code blocks of the next group +1 only after  code blocks of the previous group  have been received.

Markov Chain Models and Maximum Throughput
In this section, we first establish two Markov chain models to depict the fastest packet sending and receiving processes at source and destination nodes and provide some basic results.
Absorbing Markov chain for the fastest packet sending process at source  Based on them we then derive a closed-form expression for the maximum throughput.

Markov Chain Models.
For the specific traffic flow and a given packet group, under our routing scheme, the two independent processes, that is, the fastest packet sending process at source  and the fastest packet receiving process at destination , are modeled as two discrete-time absorbing Markov chains as shown in Figures 2(a) and 2(b), respectively.The fastest packet sending process corresponds to the process from the beginning (that  starts to send the first code block of the group and at the same time slot,  also starts to request for the group) to the end (that  finishes sending code blocks of the group), while the fastest packet receiving process corresponds to the process from the beginning (that  starts to request the group after  has already sent out all  code blocks of the group) to the end (that  has received  code blocks of the group).As shown in Figure 2(b), any transient state  denotes that  has sent out all  code blocks of the group, while  has already received any  (0 ≤  < ) code blocks of them; the absorbing state   denotes that  has already received  code blocks of the group.In each time slot, only  case (i.e., relayto-destination transmission) will happen.
As shown in Figure 2(a), any transient state (, ) denotes that  is sending the th (1 ≤  ≤ ) code block, while  has already received  (0 ≤  < ,  ≤ ) code blocks of the group; the absorbing state set   = { 0 ,  1 , . . .,   } denotes that  finishes the fastest packet sending process for the group.For a general absorbing state   (0 ≤  ≤ ), it indicates that  has already received  code blocks of the group when  finishes the fastest packet sending process.
Suppose that, for the Markov chain shown in Figure 2(a), the transient state is (, ) in current time slot; then only one of the following four transmission cases will happen in the next time slot: (i)  case:  transmits the th code block to a relay node that does not carry any code block of the group.Under this case, the state (, ) may transit to one of the states ( + 1, ) when  <  and   when  = .
(ii)  case: a relay node transmits a coded block to .Under this case, the state (, ) may transit to the state (,  + 1).
(iii)  +  case: both the source-to-relay and relayto-destination cases happen concurrently.Under the case, the state (, ) may transit to one of the states ( + 1,  + 1) when  <  and  +1 when  = .
(iv)  case:  transmits a coded block directly to .Under this case, the state (, ) may transit to one of the states ( + 1,  + 1) when  <  and  +1 when  = .

Some Basic Results
Lemma 1.For the considered traffic flow and a given time slot, let  1 be the probability that  performs a source-todestination transmission and  2 be the probability that  performs a source-to-destination transmission or a relay-todestination transmission.Then one has ) . ( where The derivations of these probabilities in Lemmas 1 and 2 are similar to those in [17], and please refer to [17] for details. For the Markov chain in Figure 2(a), there are in total  rows of transient states, and the th row has   transient states (0 ≤  ≤  − 1), where   is determined as Consider the th transient state of the th row in Figure 2(a), 0 ≤  ≤  − 1 and 1 ≤  ≤   , we have where  1 represents the number of relay nodes each carrying a code block of the group and  2 represents the number of relay nodes each carrying no code block of the group.It is notable that, for the th transient state of the th row in Figure 2(a), the transmission cases (, ,  + ,  and Self-loop) will happen with probability

Maximum Throughput.
Let (, ) denote the maximum throughput under our routing scheme in the considered mobile ad hoc network.Based on these two Markov chain models, we derive a closed-form expression for the maximum throughput in Theorem 3. Before introducing Theorem 3, we first use   to denote the long-term average packet sending rate at source  and use   to denote the long-term average packet receiving rate at destination , where the number of sent packets at   , the number of received packets at   . ( Theorem 3.For the considered mobile ad hoc network, the network can stably support any packet arrival rate  ≤ (, ) under the routing scheme; then we have where N represents the fundamental matrix of the Markov chain in Figure 2(a), e 1 = (1, 0, . . ., 0), and e 2 = (1, 1, . . ., 1)  .
Proof.For the considered traffic flow, if the network is stable (i.e., the queue length at each node does not grow to infinity as the time tends to infinity) under the packet arrival rate , then we have This is because, in a stable network, the long-term average rate of the input traffic is equal to that of the output one.
We use   to denote the fastest packet sending time and use   to denote the fastest packet receiving time.Thus,   is the time it takes for the Markov chain in Figure 2(a) to become absorbed starting from the initial state (1, 0), and   is the time it takes for the Markov chain in Figure 2(b) to get absorbed starting from the initial state 0. E{  } and E{  } represent their corresponding expected values.Then we have Based on ( 8) and ( 9), we have Since (, ) is defined as the maximum  that the network can stably support under our routing scheme, we have To determine (, ), we need to derive E{  } and E{  }.We first derive E{  }.Let  denote the total number of transient states in Figure 2(a).We index the  transient states as 0, 1, 2, . . .,  − 1 in a left-to-right and top-to-down fashion.
Based on Markov chain theory, we know that -entry of the fundamental matrix N of the Markov chain in Figure 2(a) represents the expected number of times the chain is in the th transient state until absorption, given that it starts from the th transient state; thus we have where e 1 = (1, 0, . . ., 0), e 2 = (1, 1, . . ., 1)  , and Here, I is a -by- identity matrix, and the -entry  , of matrix Q = ( , ) × denotes the transition probability from the th transient state to the th transient state.
We now derive E{  }.We first index the  + 1 states of the Markov chain in Figure 2(b) as 0, 1, 2, . . .,  in a left-toright fashion and then use   to denote the time the Markov chain in Figure 2(b) takes to arrive at the absorbing state   starting from the th state (0 ≤  ≤ ).The corresponding expected value of   is denoted by E{  }.Since E{  } = E{ 0 }, we need to determine E{ 0 }.Based on the definition of   , we have where   , represents the transition probability from the th state to the th state in Figure 2(b).
We can see from Figure 2(b) that the th transient state can only transit to either the ( + 1)th state or itself in the next time slot, so we have   , = 0 if  ̸ =  + 1 or  ̸ = .Since   ,+1 = 1 −   , and E{  } = 0, by iterating ( 14), we have We notice that if the Markov chain of Figure 2(b) arrives at the th transient state in current time slot, then there are in total − relay nodes each carrying a code block of the group.In the next time slot, if  receives a code block from one of the  −  relay nodes, then the Markov chain will arrive at the ( + 1)th state.Since these  −  events are mutually exclusive and the probability that  receives a code block from a relay node is  2 /2( − 2),   ,+1 follows by summing up the probabilities of these  −  events.
By substituting   ,+1 into (15), we have Since E{ 0 } = E{  } and the transition matrix Q can be easily determined based on those basic results in Section 4.2, E{  } can be derived.This finishes the proof of Theorem 3.

Numerical Results
In this section, we first provide simulation results to validate the accuracy of the theoretical model for the maximum throughput and then apply the theoretical model to explore the maximum throughput performance of mobile ad hoc networks.

Simulation Setting.
To validate the accuracy of theoretical maximum throughput, a simulator was designed to simulate the packet delivery process under the considered routing scheme.The guard factor Δ is set to 1 here and hence the MAC protocol is defined with  = min{8, }.In addition to the i.i.d.mobility model, we also implemented the following two popular mobility models.
Random Walk Model [17].At the beginning of each time slot, each node either moves to one of its eight neighbor cells or stays inside its current cell with an equal probability of 1/9.
Random Waypoint Model [18].9)).Given that the system load  = /(, ) varies from 0.1 to 1.4, the simulation results and theoretical ones were summarized in Figure 3.We can see from Figure 3 that, for the two network scenarios there under i.i.d.mobility model, the throughput linearly increases as  increases from 0.1 to 1 and then approaches the maximum throughput of 1.12 ×10 −3 and 5.34 × 10 −4 in Figures 3(a) and 3(b), respectively, as  further increases beyond 1, which means that the maximum throughput results determined according to Theorem 3 agree so well with the simulation ones.
Another interesting observation from Figures 3(a) and 3(b) is that, for the two network scenarios there, the networks under the random walk model and random waypoint model have very similar throughput as that under the i.i.d.mobility model.This shows that our theoretical model, though derived for the maximum throughput under the i.i.d.mobility model, can also capture the maximum throughput under those two mobility models.

Performance Analysis.
Based on our theoretical model for maximum throughput, we first explore the impact of number of code blocks  on the maximum throughput.We summarize in Figure 4 how the maximum throughput (, ) varies with  in a network with  = 300,  = 16, and  = {3, 4, 5}.It is observed from Figure 4 that, as  increases, (, ) first increases and then remains unchanged.This is because, for a group of  code blocks at , when  is relatively small (i.e., all  code blocks can be sent out before  has received  code blocks), increasing  could increase the number of relay nodes carrying the code blocks and hence improve the maximum throughput; however, when  further increases, all  code blocks cannot be sent out before  receives  code blocks and hence increasing  could not improve the maximum throughput.Furthermore, we can see from Figure 4 that, for each given , the bigger the number of original packets  in a group, the smaller the maximum throughput (i.e., the slower  receives  code blocks of the group).To understand the impact of number of original packets  on the maximum throughput, we summarize in Figure 5 how (, ) varies with  in a network with  = 200,  = 40, and  = {8, 16, 24}.As observed from Figure 5, (, ) decreases as  increases.It can be explained as follows: for given , as  increases, the time that destination  takes to receive  code blocks becomes longer, which decreases the maximum throughput.
Finally, we explore the impact of number of nodes  on the maximum throughput (, ). Figure 6 shows how (, ) varies with , given that  = 16,  = 3, and  = {5, 8, 11}.It can be seen from Figure 6 that, for each setting of  there, as  increases, the maximum throughput (, ) first increases and then decreases.Therefore, we can determine   a most suitable number of nodes to maximize the maximum throughput (, ).The reasons for such phenomenon are twofold.On one hand, when the network is relatively sparse, increasing  could increase packet transmission opportunity and thus improve the maximum throughput.On the other hand, when  continues to increase, the network becomes relatively crowded and the issues of interference and medium contention among nodes start to have a significant negative impact on the network performance, which leads to the decrease of maximum throughput.

Conclusion
This paper studied the actual maximum throughput performance in mobile ad hoc network under a general routing  scheme with reed-solomon coding.The closed-form expression of maximum throughput was derived with the help of the two Markov chain models, which were established to depict the fastest packet sending and receiving processes at source and destination nodes under the routing scheme.
Extensive simulations show that our theoretical model can accurately predict the maximum throughput performance in the considered networks.Our findings are that reed-solomon coding technique could increase the maximum throughput of mobile ad hoc networks through sending limited number of code blocks, and also for each considered network, there exists an optimal network size to maximize the maximum throughput of such network.

Figure 1 :
Figure 1: Network model and MAC protocol.

Figure 2 :
Figure 2: Two absorbing Markov chains.For each state, the transition back to itself is not plotted for simplicity.

Figure 6 :
Figure 6: (, ) versus . ) 1relay nodes each carrying a code block of the group and  2 relay nodes each carrying no code block of the group.In the next time slot, we denote by   ( 1 ) the probability that  receives a coded block, denote by   ( 2 ) the probability that  successfully transmits a code block to one of these  2 relay nodes, and denote by   ( 1 ,  2 ) the probability that both the source-to-relay and relay-to-destination transmissions are performed concurrently.Then we have the beginning of each time slot, each node selects two values,   and   , uniformly from [1/, 3/].The node then moves a horizontal distance of   and a vertical distance of   .5.2.Model Validation.Extensive simulations were performed to validate the accuracy of theoretical model for maximum throughput.We presented the simulation results here under two network scenarios (( = 100,  = 8,  = 3, and  = 7) and ( = 200,  = 16,  = 4, and  =