#### Abstract

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 of mobile ad hoc networks under a general routing scheme with reed-solomon coding, where a source node first encodes a group of packets into () code blocks, and then these code blocks are transmitted to distinct relay nodes, which forward them to destination node. The original packets can be decoded once the destination node receives any 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 the Markov chain models, 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.

#### 1. 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 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 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 is not achievable in [9]. More recently, Kong et al. [10] showed that, by employing reed-solomon coding, the maximum throughput can achieve a constant 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.

#### 2. System Models and Performance Metric

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

##### 2.1. 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–14], the network region is uniformly partitioned into cells.

###### 2.1.2. Mobility Model

The node movements in the network follow the independent and identically distributed (i.i.d.) mobility model widely adopted in [6, 11–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 cells with equal probability and remains in it for the entire time slot.

###### 2.1.3. 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., 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: for each other node () simultaneously sending, where is a positive integer.

###### 2.1.4. 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 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.

##### 2.2. Performance Metric

###### 2.2.1. 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 .

#### 3. 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.

##### 3.1. 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 distinct equivalent-classes covering all cells in the network. Notice that each equivalent-class will alternately become an active one at each 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 and its possible receiver is . For a transmission between them to be successful, the distance between and another possible closest simultaneously sending node , that is, , should meet the following condition according to the* protocol model* [13, 14]: . Since , we have , where is the ceiling function.

##### 3.2. 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 traffic flows; thus each node maintains queues at its buffer, where one input queue stores packet groups locally generated by itself and waiting to be transmitted, and other relay queues store coded blocks from source nodes of other traffic flows (one queue per traffic flow).

We now introduce the two-hop relay routing with reed-solomon 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 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 reed-solomon coding technique and sets .

*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 .

It is notable that, under the routing scheme, the destination node begins to receive code blocks of the next group only after code blocks of the previous group have been received.

#### 4. 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. Based on them we then derive a closed-form expression for the maximum throughput.

##### 4.1. 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).

**(a)**Absorbing Markov chain for the fastest packet sending process at source

**(b)**Absorbing Markov chain for the fastest packet receiving process at destinationAs shown in Figure 2(b), any transient state denotes that has sent out all code blocks of the group, while has already received any 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., relay-to-destination transmission) will happen.

As shown in Figure 2(a), any transient state denotes that is sending the th code block, while has already received code blocks of the group; the absorbing state set denotes that finishes the fastest packet sending process for the group. For a general absorbing state , 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 when and when .(ii) case: a relay node transmits a coded block to . Under this case, the state may transit to the state .(iii) + case: both the source-to-relay and relay-to-destination cases happen concurrently. Under the case, the state may transit to one of the states when and when .(iv) case: transmits a coded block directly to . Under this case, the state may transit to one of the states when and when .

##### 4.2. Some Basic Results

Lemma 1. *For the considered traffic flow and a given time slot, let be the probability that performs a source-to-destination transmission and be the probability that performs a source-to-destination transmission or a relay-to-destination transmission. Then one has*

Lemma 2. *For the considered traffic flow and a given packet group, in some time slot, suppose that the source node is sending code blocks of the group, and there are relay nodes each carrying a code block of the group and relay nodes each carrying no code block of the group. In the next time slot, we denote by the probability that receives a coded block, denote by the probability that successfully transmits a code block to one of these relay nodes, and denote by the probability that both the source-to-relay and relay-to-destination transmissions are performed concurrently. Then we have**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 , where is determined asConsider the th transient state of the th row in Figure 2(a), and , we havewhere represents the number of relay nodes each carrying a code block of the group and 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 , , , , and , respectively.

##### 4.3. 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

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 represents the fundamental matrix of the Markov chain in Figure 2(a), , and .*

*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 haveThis 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 , and is the time it takes for the Markov chain in Figure 2(b) to get absorbed starting from the initial state 0. and represent their corresponding expected values. Then we haveBased on (8) and (9), we haveSince is defined as the maximum that the network can stably support under our routing scheme, we haveTo determine , we need to derive and . We first derive . Let denote the total number of transient states in Figure 2(a). We index the transient states as in a left-to-right and top-to-down fashion.

Based on Markov chain theory, we know that -entry of the fundamental matrix 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 havewhere , , andHere, is a -by- identity matrix, and the -entry of matrix denotes the transition probability from the th transient state to the th transient state.

We now derive . We first index the states of the Markov chain in Figure 2(b) as in a left-to-right 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 . The corresponding expected value of is denoted by . Since , we need to determine . Based on the definition of , we havewhere 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 th state or itself in the next time slot, so we have if or . Since and , by iterating (14), we haveWe 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 th state. Since these events are mutually exclusive and the probability that receives a code block from a relay node is , follows by summing up the probabilities of these events.

By substituting into (15), we haveSince and the transition matrix can be easily determined based on those basic results in Section 4.2, can be derived.

This finishes the proof of Theorem 3.

#### 5. 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.

##### 5.1. 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 . 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]*. At the beginning of each time slot, each node selects two values, and , uniformly from . 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 (, , , and and , , , and ). 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 and 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.

**(a)**The throughput for network scenario (, , , and )

**(b)**The throughput for network scenario (, , , and )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.

##### 5.3. 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 , , and . 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 , , and . 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 , , and . 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.

#### 6. 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.

#### Conflict of Interests

The authors declare no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work was supported by NSF of Anhui Education Department under Grants KJ2013B188, KJ2014A179, KJ2015A285, and KJ2015A190, by NSF of Anhui Province under Grant 1508085MF123, by NSF of Chuzhou University under Grant 2012kj002Z, by Chuzhou University Excellent Young Talents Fund Project under Grant 2013RC005, and by Chuzhou University Talented Team of Computer System Architecture.