Cross-layer multipath congestion control, routing and scheduling design in ad hoc wireless networks

Demands for stable and efﬁcient transmission are increasing due to the ongoing expansion of global wireless data trafﬁc. One of the most promising ways to moderate burden of trafﬁc load and decrease the queuing delay is to design cross-layer protocols. This paper considers a utility maximization problem for multipath ad hoc wireless networks via joint cross-layer congestion control, routing and scheduling design. In the formulated utility maximization problem, rate, scheduling and queuing delay constraints are involved under the condition of ﬁxed channels and time varying channels. To solve this utility maximization problem, two scheduling methods are proposed, that is, perfect scheduling and distributed scheduling. In perfect scheduling, all nodes in the network contribute to the scheduling process, while distributed method only takes into account adjacent nodes. For both methods, the global convergence is proved. A comprehensive simulation evaluation is performed which shows that this proposed algorithms outperform existing cross layer protocols in terms of increasing source rate and reducing congestion price.


INTRODUCTION
With the recent advancements in wireless communication technologies and developments of internet of things (IoT), efficient multipath transmission protocols are gaining more interest [1]. A common example is the ubiquitous mobile communication terminals which support wireless communications, data processing, and rich multimedia [2]. These devices, which support multiple wireless networks such as WiFi, 5G cellular, WiMAX [3] are very common and suitable benchmarks for cross layer interaction and multipath congestion control. Another potential area is smart city which has played an important role in academic and industry fields (e.g. see [4]) in the last few years. It involves the development and deployment of different IoT-based infrastructures and wireless sensor networks with available multipath connection [5].
In an effort to address such demands, there is a growing interest on efficient cross-layer designs. Cross layer design protocols have emerged to provide an integrated scheme to enable interaction, coordination and joint optimization among different layers [6]. For instance, the cross layer design in order to maximize user utility for internet congestion control in the wireless networks were studied in the literature [7][8][9]. In [10], This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited. © 2021 The Authors. IET Communications published by John Wiley & Sons Ltd on behalf of The Institution of Engineering and Technology physical (PHY) and medium access control (MAC) layers were taken into consideration to provide stable wireless connection among moving, portable and fixed stations. In [11], Rajesh and Gnanasekar studied congestion control in the heterogeneous wireless ad hoc networks by considering data priorities. In [12,13], the authors studied joint routing, power allocation policy and the influence of interference on multi-hop wireless network performance. Similarly, in [14,15], joint routing and scheduling problem were studied by excluding transport layer. In [16], Chen et al. proposed a joint design of congestion control, routing and scheduling for ad hoc wireless networks by considering network utility maximization.
The above works considered only single path connection, but ignored the availability of multi-path in the network. Multipath congestion control methods are usually developed as a joint design of transport layer and multipath routing at network layer [17]. In [18], Mishra et al. proposed a packet scheduling algorithm and formulated the multipath TCP problem, but they neglected the routing problem of the network layer.
In addition, it is practical to consider queuing delay when designing cross-layer protocols. Queuing delay is defined as the waiting time in a queue for a packet to be served [19]. The number of waiting packets in the buffer are counted by each separate node. This will allow an estimate of the expected queuing delay [20]. As a result, fewer packets in the queues lead to smaller end-to-end delays [21]. Reducing such delay can also be beneficial in load-balancing schemes to prevent congestion [22]. Thus, end-to-end queuing delay in multipath protocols plays an important role to provide a robust connection and improve the network performance.
In this paper, a utility maximization problem is considered for multipath ad hoc wireless networks via joint cross layer congestion control, routing and scheduling. We extend the work in [16] to adapt multipath transmission and queuing efficiency. The formulation of the optimisation problem with respect to source rate, scheduling and queuing delay constraints in fixed and time varying channels are presented. Duality theory is employed in this study to solve the optimisation problem and two methods of scheduling namely, Prefect Scheduling and Distributed Scheduling are proposed. All nodes in perfect scheduling algorithm participate in the scheduling process. In distributed scheduling, neighbor nodes only contribute to the scheduling. Moreover, the global convergence is mathematically proved for the above methods. Simulation results show that our algorithms outperform existing schemes in terms of enhancing source rate and decreasing congestion price.
The remainder of this paper is organized as follows: Section 2 reviews some background and related works available in the literature. In Section 3, we describe our system model and its mathematical description. In Section 4, we propose our crosslayer design in fixed channels and derive the algorithm convergence. In Section 5, we further analyze the algorithm convergence based on our proposed cross-layer design in time varying channels. Section 6 reports our simulation results. Finally, we conclude in Section 7.

BACKGROUND AND RELATED WORKS
After introducing Internet Protocol (IP) and Transmission Control Protocol (TCP) in the 1970s, they have been investigated in the literature due to their major functionality of exchanging data packets and providing a reliable byte stream service in [23] [24]. However, single-path transport protocols such as TCP suffer from several efficiency-related issues, for example, failure to support multihoming and bandwidth aggregation [17]. Multihoming is the procedure of exploiting multiple hardware facilities, such as a mobile phone with both WiFi and 5G interfaces, to transmit data simultaneously. Due to this motivation, Multipath TCP (MPTCP) were proposed to provide efficient data transmission in such environments [25]. Also, Stream Control Transport Protocol (SCTP) was developed to adapt multipath transmission [26]. Multipath protocols also adapt fault tolerance, that is, different paths can be assigned for different tasks. For instance, the path with the highest throughput can be used for data transmission while the slow paths could be utilised for backup process [27]. Moreover, it has been shown that the connection-level throughput region of multi-path routing/congestion control algorithms can be larger than that of a single-path congestion control scheme [28].
Various researches have been proposed to develop multi-path routing/congestion control problem, including Host Identity Protocol and Mobile IP [29]. However, these solutions usually have negative impacts on the congestion price, scheduling and the possible conflict with regular TCP for existing applications. The approaches to address the multipath congestion control issues can be divided into two major categories. First, the application based approach where software is developed and tested on an applied benchmark while neglecting the mathematical formulation, convergence and stability analysis of the algorithm. For instance, a Linux-based software was developed in [25]. As another example, in [30], Cui et al. proposed a fountain code based multipath TCP algorithm and they report the validation of the algorithm through simulations. The main idea behind this algorithm is to use the random nature of fountain code in transmitting data through different subflows. There are also some experimental studies associated with multipath Transmission Control Protocols in [31] which can be considered within this category.
The second approach utilizes the mathematical formulation, graph theory and optimization problems for a given network topology. As a result, the stability of the algorithm and its convergence to the optimal solution are mathematically analyzed and discussed. For example, in [16], a jointly optimal design of cross layer congestion control, routing and scheduling was proposed for single path connection in the context of ad-hoc wireless networks. In [32], Eryilmaz and Srikant analysed the stability of the congestion control by using LaSalle's invariant principle. In [33], Zhou et al. proposed a cross-layer design considering the rate control, the medium access control and the routing problem for the cooperative vehicular ad hoc network. Considering the flow rate allocation [34], Ploumidis et al. proposed a distributed scheme to maximize the aggregate flow throughput. The multi-hop networks utility maximization was studied in [19][35] [36]. Nevertheless, those literature are mainly limited to single rate congestion control. To the best of our knowledge, there are few works focusing on multipath congestion control using the second approach. In [37], Vo et al. studied the congestion prices of a multipath TCP network; however, the joint congestion control, routing and scheduling is not considered. This paper follows the second approach and consider joint congestion control, routing and scheduling design for multipath ad hoc wireless networks.

SYSTEM MODEL
We consider an ad hoc wireless network including a set of N nodes and a set of L links. We assume that these links are directed with symmetric connectivity, that is, link ( j , i ) ∈ L if and only if (i, j ) ∈ L. Each link l ∈ L has a fixed link capacity c l 1 . We further assume that the nodes are randomly distributed in the network area while each node has z number of available channels for transmission.
Due to scarce resource in wireless spectrum, connection links compete with each other to obtain access to the channel. We An ad hoc wireless network with its conflict graph consider the conflict graph (also called contention graph [38]) to observe contention relations between the links. In addition, we consider the primary interference in a network, that is, the links that share a node cannot transmit at the same time. Figure 1 illustrates an ad-hoc wireless network with five nodes and eight links and the corresponding conflict graph. In this graph, each vertex donates a link, and the edges represent the contention between the links. For a given conflict graph, a set of vertices that has no edges between each other constructs an independent set which are able to transmit simultaneously. Assume that H denotes the independent set. An independent set h ∈ H can be represented by a |L| dimensional rate vector b h and for any link l , we have Referring to [16], at the link layer, the feasible rate region R can be described by the convex hull of these rate vectors. Thus, we have Suppose k ∈ D represents the set of destination node of network layer flow. Also, let f k i, j denote the capacity of link (i, j) devoted to the flow to destination k. Therefore, the aggregate capacity on link (i, j ) can be expressed as  The physical meaning of such constraint is the capacity allocated to the flows f through all links (i, j ) and available channels z to destination k should meet the feasible rate region's requirements at the MAC layer. Let x k i indicate the network flow created at node i to the destination k. The difference between the aggregate capacity for all its outgoing flows and the aggregate capacity for all its incoming flows should be greater or equal than x k i . Mathematically speaking, this constraint can be expressed as We consider multipath transmission and M/M/m queuing system as the queuing delay model (see Figure 2). In M/M/m queuing system, m represents the number of servers allocated for customer service. This should satisfy the condition of m > 1. We assume the number of servers m denotes the number of transmitters in each node. The packets arrival in M/M/m follows a Poisson process with mean arrival rate of 0 . In our model, 0 = ∑ i x i j which is the sum of incoming flow rate to node i. The service time 0 is exponentially distributed with mean value of 1∕ 0 . Hence, the mean stay time for a packet can be expressed as [20] where and L q denotes the queue size. The stay time includes waiting and service times. As mentioned earlier, nodes have number of channels available for transmission. Since we are considering multipath transmission, the number of channels z is the number of all paths Z . Let s ∈ S indicate the set of source nodes. Every node can be whether a traffic source node s or a relay node sr that forwards packets to the required destination. The number of traffic flows that pass the node is defined as Pass Route Number (PRN). Thus, the mean value of PRN can be defined as [20] whereō and n are the average number of hops from source to destination and the total number of nodes in the network, respectively. Furthermore, concurrent transmission ratio (v) is defined as the concurrent transmission capacity (G ) over the total number of nodes in the network (i.e. n) and can be expressed as Therefore, the packets' arrival follows a Poisson process at each relay node with arrival rate of sr ∑ i x i j . However, if the node is a destination node, the arrival of packets also follows a Poisson process but with arrival rate of Z ∑ i x i j , where packets transmitted to the destination through different Z paths simultaneously. Hence, in general, the packet's arrival is following a Poisson process with parameter sr Since v = G ∕n, all nodes can be split into 1∕v sets and each set is given a time slot to ensure concurrent transmission. Hence, the service time follows an exponential distribution and the mean service time is 1∕ v for each node transmitting once every v time slots [20]. In addition, we can define the queuing delay per hop (D i ) as Sinceō denotes the average number of hops from source to destination, thus, the end-to-end queuing delay can be expressed as ∑ō iD i . Let U s (x s ) denote the user utility at source s while the sending rate is x s . The utility maximization problem can be written as The delay constraint in (11) can be shown to be equivalent to a linear constraint, that is, Note that all the constraints in (11) are linear. Further, the utility function is concave, thus, the objective function in (11) is concave as well. As a result, problem (11) is a convex function, which can be solved to its optimality via the dual theory.

CROSS-LAYER DESIGN IN FIXED CHANNELS
The congestion control problem plays a critical role in the multipath transport protocols. The optimality and stability of the proposed algorithm for solving the congestion control problem is an important issue that should be considered. It should be noted that the design of the multipath congestion control algorithm depends on the problem under consideration. In fact, the utility function U S (x s ) is not function of the flows therefore, they can be separated. The maximization over x s and f k i, j ,z can be performed independently in the primal problem (i.e. (11)). Thus, the problem with dual configuration can be expressed as where p denotes a set of consensus variables and p k i is Lagrange multiplier for node i(i ∈ N ) and destination k(k ∈ D).
To perform the congestion control and joint routing and scheduling, we consider the following dual function: considering that a flow generated in the system can only be emitted from components of source nodes set, (13) can be written as where p = {p s , Σ i q k i } and p s denotes the multipliers p k i if [i, k] ∈ S × D, and This paper employs the dual decomposition to perform cross-layer optimization. Therefore, according to (14), the congestion control can be expressed as in which a unique maximizer regarding the queuing delay is subjected. Now, we first elaborate on the scheduling, routing and then adjust the congestion objective based on the local evacuation at each node. After that, the transport layer sources will be configured. It should be noted that in (15), (i, j ) is a bilateral node pair in L. In other words, if (i, j ) ∈ L, consequently ( j , i ) ∈ L and vice versa. Further, each link capacity is assigned if and only if sequence of (i, j ) and z are specified. Hence, (15) can be written as In order to undertake scheduling, the first step is to search through destinations. The optimal destination for each joint scheduling can be written as k * ∈ arg max k (p k i − p k j ). Let d i, j denote the destination k differential congestion price over nodes i, j . Considering k * , we have . Therefore, the scheduling demands can be expressed as̃f Choosing an extreme point maximizer, each routing link launches packets toward the optimal destination as follows: Noting that (17) is a piece-wise linear and not differentiable, hence, the dual function in (13) is not differentiable either. By Assign respective capacity to each link according tõ According to assigned capacities, generate the routing at each link toward the considered destination.
10: end for introducing the following function: as a subgradient of the dual function and utilizing subgradient method [39], the congestion price of each node can be expressed as a non-negative real value of where is a positive scalar step size and "+" is the projection of ℜ + set [16]. Therefore, we solved the dual problem for the joint optimal design of cross layer congestion control, scheduling and routing. The pseudo-code of the proposed solution for perfect scheduling is outlined in Algorithm 1.

Algorithm convergence
In this section, we investigate the convergence of our proposed algorithm. Supposep(t ) ∶= where Du * and p * denote the optimal target and optimal price, respectively. Recalling the subgradient method, for a small enough step size , we have we can rewrite (22) as As ‖p(t + 1) − p * ‖ 2 2 > 0 and according to subspace in each reclusive duration along the corresponding dual space, (23) can lead to If ‖ (p(n))‖ 2 ≤ Q, and since Du is a convex function, by Jensen's inequality, we can conclude that Du(p(t )) − Du * (p * ) ≤ . In other words, we proved that the algorithm converges statistically to within Q 2 2 of the optimal value. Hence, according to (16), convergence of the congestion price is guaranteed.

Distributed scheduling
Distributed scheduling in a multipath network can play a significant role in the robustness of the wired or wireless network, specifically when traffic shifting to a better path is required [40]. For example, a flow which operates along multiple paths at the same time could be designed using traffic scheduling mechanisms which allow the shifting of traffic to those paths with good delivery conditions (e.g. high bandwidth, low delay and packet loss rate) [17]. The scheduling demands in (18) is to maximize the weighted sum of the capacity of links. Equivalently, this problem can be solved by weighted matching problem rather than finding the maximum weighted of all independent set in the conflict graph. In a graph, a subset of links which do not share common nodes is referred to matching set. Maximum weighted matching problems have polynomial time complexity (see, e.g. [41]) with centralized implementation requirement, that is, each node should announce its weight to a central node to construct the weighted graph of the network topology. As an alternative method, we utilize a sequential greedy algorithm introduced in [42]. In order to convert (18) to a maximum weighted matching problem, we consider d i, j > 0 if d j ,i < 0 for all z ∈ Z . From each directed bilateral link pair, we extract an undirected link ⟨i, j ⟩ and its weight can be expressed as Let L und and D und denote the set of undirected links and its set of weight, respectively. Now, this problem is is equivalent to maximum weighted matching problem over the graph G wtd = (N , L und , D und ) [19].
While the scheduling process in ad hoc networks usually proceed in each time step, the time complexity and generation of multi-hop scheduling for a deterministic solution are controversial [43]. On the other hand, the greedy behavior of wide domination of wireless interactions requires the study of detection in compromised nodes and overall utilization of advanced statistical methods [44] [45]. Moreover, developing dynamic of channel residual reaction in steady state modes should be considered to expand efficiency of ad hoc networks scheduling [46] [47]. This paper aims to take advantage of the concepts represented in [16][47] [48] for distribution scheduling algorithm, which is further detailed in Algorithm 2.
Remark: The scheduling algorithm needs to cope with the hierarchy of search along with the difference of node to node price in a region starting from source set and ending up in the destination set. In addition, seeking an optimal solution would be done according to the greediness of the algorithm and the bearable congestion threshold. Furthermore, being a subject to such optimization problem, it is necessary to make a balance between greediness of the algorithm and absolute optimality of the system with respect to computational complexity. When the primal problem is broken down into aforementioned subproblems in the cross-layer design which is a generic sequence throughout requisite solutions for (17) and (14), it is important to avoid an exponential increase of iteration steps. Hence, in this scheduling problem, it is recommended to make a balance between the greedy algorithm and the dynamic programming presented in [49].

CROSS-LAYER DESIGN IN TIME-VARYING CHANNELS
Multichannel networks involve multi-rate devices. In such cases, the allocated capacity for each link is time variant. We assume the state of the channels are fixed within a time slot. We also assume that the channel states change independently among different time slots. Let e(t ) denote the state of the channel in time slot t . The capacity of link l , at each time slot t is denoted by Recalling our earlier discussion in Section 3, the feasible rate region at link layer is identified as a convex hull of the rate vectors. Let R(e) denote the feasible rate region. Thus, using a finite channel state assumption and a finite channel process in the identical distribution u(e), the mean rate region can be defined asR Following the steps provided in Section 4, we can state a dual parallel to problem statement in (11) and (12) by

Prefect scheduling over time varying channels
The generated stream from the source set will comply accordingly from the utility function as congestion price measures linked sets of channels. This time variation in the system model require stability evaluation for the proposed congestion control method. Here, for simplicity, we employ the floor function which returns the largest integer less than or equal to the actual value of the price.
For each node, it is necessary to have the information of its neighbor nodes. In a long enough coherence time, with the small time step specified by simulation, channel states can be considered as fixed during the time slot.
In our algorithm, at time t , each node i updates its price with respect to destination k and channel z as follows: and announces the price p k i,z to all of its neighbor nodes. Here, ⌊ ⌋ denotes the floor function. In the congestion control, each source node s modifies its sending rate for t based on the local congestion price which can be written as .
Node i, after collecting the congestion price information from its neighbor node j , identifies the destination such Assign respective capacity to each link according to 9: Generate the flow through the selected links toward the selected destination as scheduling demands. 10: Then, it will assign respective capacity to each link accord- In addition, prefect scheduling over time varying channels is summarized in Algorithm 3.

Stability and convergence
Since the global parameters are fixed, it is necessary to point out the stability. Considering the dual optimization problem in (27) and using Markov chain as the stochastic model for p, the price can be considered as a random variable. Our aim is to prove that the Markov chain is non-explosive and stable. Consider the following function of p at each time slot where the conditional expected value by any Lyapunov function V is given by [50] E[V (p(t + 1)) − V (p(t ))|p(t )].
In addition, for each p(t ) during the time slot t is constant, so we should consider p(t + 1) = p(t )− (p(t )). The conditional expected value can be written as: Consider the Lyapunov function V (p(t )) = ‖p(t ) − p * ‖ 2 2 and also definēas the subgradient of (28), thus Since, we have already proved that the stated subgradient is bounded, we can also say that̄is also bounded. Consequently, E[V (p(t + 1))− V (p(t ))|p(t )] is bounded and the stability based on Foster's criterion can be obtained [51]. In an infinite approach of p during time, is also bounded or, in other words, the referred Markov chain guarantees non-explosive behaviour and convergence to a boundary near the optimal value [52]. Therefore, along with the congestion process, recursive time variant scheduling can be generalised. The configuration of the network which forms our method can maintain the system with a practical evaluation and command. Moreover, the implemented effect of delay and considering the ambient space in both (27) and (13) would provide a more stable model as shown in the simulation results.

SIMULATION RESULTS
In this section, we evaluate the performance of our proposed cross layer design on a simple ad hoc network shown in Figure 3. 2 We assume that there are two network layer flows; A to F and B to E with same utility function U S (x S ) = log(x S ). We set the step size of the presented algorithms as = 0.1. As we mentioned in our system model, we assume that all the links are bidirectional and able to carry the traffic in opposite directions. For the convenience of the reader, the network parameters are summarized in Table 1. As a bench mark, our simulation Flow BE [16] Flow AF [16] Flow BE [37] Flow AF [37] Flow BE (proposed algorithm) Flow AF (proposed algorithm)

FIGURE 4
Normalised source rate and normalised congestion price for prefect scheduling over fixed time channels using algorithm 1 results include the performance of algorithms introduced in [16] and [37].

Prefect scheduling over fixed channels
In this sub-section, we study the performance of our proposed perfect scheduling algorithm (i.e. Algorithm 1) over fixed time channels condition. We assume that the capacity of links C → E, E → C , B → F , and F → B are one unit and the rest of links have two units of capacity. We consider two distinct flows; AF and BE. Figure 4 illustrates the performance of our algorithm compared with the existing schemes in terms of normalised source rate and normalised congestion price. It is worth mentioning that the oscillating behaviour is caused by the non-differentiability of the dual function. The algorithm introduced in [37] always makes an effort to balance the congestion prices among its paths. In case of high congestion in one path, the allocated rate to this path will be reduced to minimise the congestion. However, it can be observed from Figure 4 that our approach outperforms the existing methods (i.e. [16] and [37]) for both flows in terms of source rate. The reason for such behaviour lies on the fact that our algorithm takes into account the queuing delay and multipath transmission in the communication system. Furthermore, as it is shown in Figure 4, our algorithm presents more stability and it quickly converges to the optimal value in comparison with other schemes. Besides, our proposed algorithm demonstrates lower normalised congestion price comparing with other methods. This is due to the fact that our algorithm benefits from the available multi-path in the network during the scheduling process.
In an effort to have an insight into average stream rate, Tables 2 and 3 presents the average stream rate of flows AF and BE employing our proposed algorithm. The first column represents the source nodes and the first row represents the destination nodes. These tables provide the information about the

Distributed scheduling over fixed channels
In this scenario, we investigate the performance of our proposed distributed scheduling algorithm (i.e. Algorithm 2) over the network under consideration with fixed time channels. Similar to the first scenario, we assume that the capacity of links C → E, E → C , B → F , and F → B are one unit and the rest of links have two units of capacity. Figure 5 illustrates the performance of our algorithm compared with the existing schemes in terms of normalised source rate and normalised congestion price. It can be observed from Figure 5 that the fluctuation pattern is lower than prefect scheduling algorithm. However, comparing Figures 4 and 5 demonstrates that the distributed algorithm achieve less normalised source rate. This comes from the fact that the feasible rate region shrinks to a smaller set under the approximate scheduling. It should be noted that in the source rate comparison, the algorithm proposed in [37] performs better than our algorithm at the beginning of the simulation; nevertheless, our algorithm outperforms it over time. Moreover, the proposed algorithm presents more stability compared to [37]. In general, our proposed distributed scheduling algorithm shows higher source rate and lower congestion price compared to both [16] and [37] methods. The main reason behind the satisfactory performance is exploiting multipath transmission and considering an efficient queuing system in our cross-layer design. We further summarize the average link rates Flow BE [16] Flow AF [16] Flow BE [37] Flow AF [37] Flow BE (proposed algorithm) Flow AF (proposed algorithm)

FIGURE 5
Normalised source rate and normalised congestion price for distributed scheduling over fixed time channels using Algorithm 2

Perfect scheduling over time varying channels
In this sub-section, we explore the performance of our proposed perfect scheduling algorithm (i.e. Algorithm 3) over time varying channels condition. Here, we assume that the capacity of links C → E, E → C , B → F , and F → B are uniformly  Flow BE [16] Flow AF [16] Flow BE [37] Flow AF [37] Flow

FIGURE 6
Normalised source rate and normalised congestion price for perfect scheduling over time varying channels using algorithm 3  shows the performance of our algorithm with regard to the normalised source rate and normalised congestion price. As it can be observed, considering time varying condition leads to more fluctuations for both BE and AF flows. This is due to variation of channel states in this condition. However, our algorithm demonstrates more stable pattern and lower congestion price. In addition, the performance of our algorithm is better for AF flow in comparison with the other schemes. Although BE flow in [16] achieved higher source rate, ours algorithm shows lower oscillating behaviour. Further, the proposed algorithm outperforms the algorithm in [37] in both source rate and congestion price. Note that the average links capacity in this scenario is the same as fixed channel scenario; that is, the links' capacity for CE , EC , BF , and FB are one unit while the other links' capacity are two units. It should be noted that benefit of available multi-path becomes more obvious in time varying condition. As it can be observed, the achievable sending rate for each flow is larger compared to the fixed channel condition. The corresponding average stream rate of AF and BE flows for perfect scheduling are summarized in Tables 6 and 7.

FIGURE 7
Normalised source rate and normalised congestion price for distributed scheduling over time varying channels using algorithm 3

Distributed scheduling over time varying channels
In this scenario, we study the performance of our proposed algorithm for distributed scheduling (i.e. Algorithm 3 with distributed scheduling Algorithm 2) under time varying channel condition. Similar to the previous scenario, we assume that the links' capacity for C → E, E → C , B → F , and F → B are uniformly distributed with 0.5, 1 and 1.5 units, whereas the rest of links have uniformly distributed over 1, 2 and 3 units of capacity. Figure 7 illustrates the performance of our algorithm compared with the existing schemes in terms of normalised source rate and normalised congestion price. The method in [16] is better than our method as well as [37] in BE flow. However, our algorithm outperforms the the existing methods in AF flow as well as congestion price measurement. Also, it shows more stability pattern. It can be observed that the source rate of our distributed scheduling algorithm in time varying channels is larger than the source rate in fixed channels. This is due to variation of channel capacities. We summarize the average link rates allocated to each flow with our distributed scheduling algorithm in Tables 8 and 9.

CONCLUSIONS AND FUTURE WORK
In this paper, we presented a model for a joint congestion control, routing and scheduling design for multipath ad hoc wireless networks. A utility maximization problem was considered with rate, scheduling and the end-to-end queuing delay constraints. We solved this joint optimization problem by dual decomposition approach. Two different algorithms, called perfect scheduling and distributed scheduling, were developed over network with fixed and time varying channels. We further analyzed and proved the convergence and the stability of these algorithms. A comprehensive simulation was performed for four different scenarios to evaluate the performance of each algorithm in terms of source rate and congestion price. The results were compared with previously proposed algorithms available in the literature. Simulation results revealed that our algorithm can be beneficial since it considers both the available multi-path connections and the queuing delay in its joint optimal design. Our approach provides higher source rates, faster convergence and lower congestion prices. Moreover, our approach leads to lower time complexity due to allocation of queuing delay as one of the constraints. Therefore, the presented design can be convenient for a wide range of ad hoc networks, for example, vehicular ad hoc network (VANET).
In the future, our aim is to investigate the number of channels for each node as a design parameter and set another constraint on the number of available channels. We expect to observe an improvement in the network performance and the user utility especially in wireless networks.