Abstract
Resource allocation is expected to be a most important factor especially for heterogeneous applications in wireless ad hoc networks. In this paper, a novel heterogeneous resource allocation algorithm (HRA) is presented for ad hoc networks, supporting both elastic and inelastic traffic. First, by combining the first order Lagrangian method with pseudo utility, the original nonconvex problem is converted into a new convex one. Then, we successfully solve the heterogeneous problem with the dual-based decomposition approach. In addition, we integrate utility fairness into the resource allocation framework, which can adaptively manage the tradeoff between elastic and inelastic flows. Simulations show and prove that HRA converges fast and can achieve the global optimum starting from many different network conditions, such as elastic, inelastic, and hybrid scenario. With both considerations of flow rate and utility fairness, HRA improves the overall network utility and system throughput greatly.
1. Introduction
With the rapid progress of mobile ad hoc networks (MANETs), the nature of the network is gradually evolving from homogeneous toward heterogeneous [1, 2]. In a heterogeneous ad hoc network, the devices differ in their communicational aspects such as transmission rate, energy consumption, and modes of communication. Compared with a homogeneous network, heterogeneous network imposes additional requirements. For example, it may contain special mobile nodes which consist of both smart and omnidirectional antennas, which can integrate all the physical information available to provide rich and versatile services. In addition, heterogeneous ad hoc network opens up new opportunities in multimedia systems, especially for those operating in real time such as video and voice transmission over wireless channels.
However, due to the heterogeneity in wireless networks such as ad hoc networks and wireless sensor networks (WSN), communication in heterogeneous networks is relatively more complicated than in homogeneous networks. For ad hoc networks, one important research problem is how to allocate resources to the heterogeneous nodes effectively and fairly. For sensor networks, people are usually more concerned with system throughput and performance at the sink node. In the context of sensor networks, nodes are composed of different sensor types which can execute diverse data aggregation tasks. Regardless of the types of wireless networks, ad hoc networks and sensor networks have much in common, such as constrained resource, limited battery capacity, and fully distributed manner. One major challenge for the wide deployment of ad hoc networks and sensor networks is to provide quality-of-service (QoS) support and fair resource allocation.
Since heterogeneous network may contain many different applications associated with particular nodes, flows within it are generally classified as elastic and inelastic [3]. In the case of elastic traffic, the flows can adjust their transmission rate gradually such as file transfer, email, and remote terminal applications. Elastic flows are suitable for variable data rate and non-real-time services. Another class is inelastic traffic, such as video and audio applications. Different from the elastic flow, inelastic flow is very sensitive to latency and jitter and generally has an intrinsic bandwidth requirement. It makes sense only when the transmission rate exceeds a threshold.
From the system perspective, it is very important to emphasize the channel efficiency because the available radio resources are very scarce and the aggregate network utility must be maximized. From the users' point of view, it is more important to guarantee the fairness of resource allocation, such that they will not be in starvation state and their QoS demands can be met. Thus, the resource allocation problem may encounter conflicting goals. The objective of heterogeneous resource allocation is no longer to solely maximize the sum-rate of network. Instead, it is expected to find the optimal tradeoff strategy between resource efficiency and user fairness for a variety of applications associated with different services.
In this paper, we not only focus on the heterogeneity of ad hoc networks, but also emphasize the tradeoff between system efficiency and user fairness of resource allocation. First, we present our resource allocation framework by integrating utility fairness into the objective function. Second, we transform the original nonconvex problem into a new convex optimization problem, which is equivalent to the original one. Then, we extend our resource allocation algorithm to the heterogeneous environment, mixed with elastic and inelastic flows. Finally, we present the heterogeneous resource allocation algorithm to achieve the global fair allocation of bandwidth among contending flows.
The major contribution of our paper is twofold: (1) consider the heterogeneity in ad hoc networks, that is, supporting both elastic and inelastic traffic, and (2) provide feasible balance between user fairness and network efficiency.
2. Related Works
The resource allocation problem has been extensively studied in wireline and wireless networks. As early as 1998, Kelly et al. [4] proposed the network utility maximization (NUM) model, which provides a powerful framework for network resource allocation. In 1999, Low and Lapsley [5] realized the basic version of NUM framework by using a fixed set of source nodes to predict path. However, due to the assumption of strictly concave utilities, the NUM model merely addresses the elastic traffic which is only suitable for non-real-time applications, thus failing to capture the temporal dynamics in heterogeneous networks.
Following the NUM model, various resource allocation schemes have been proposed in typical wireless networks [6, 7], ad hoc networks [8, 9], and wireless sensor networks [10, 11]. Liu et al. [7] extend the basic NUM model into the fading channel. By jointly taking into account power interference and statistical signal variations, two types of nondeterministic fading channels are integrated into the NUM framework. The primary objective of resource allocation is to maximize the network performance [8], which is usually associated with channel capacity, end-to-end delay, system throughput, and so forth. In [10], the authors proposed a middleware platform, which can control running application as well as sensing tasks in heterogeneous wireless sensor networks.
Recently, several novel algorithms [12–14] were presented to support inelastic traffic in wireless networks. In [12], a random access algorithm based on dual decomposition method was proposed in wireless networks, which can allocate the rate and the persistent probability of inelastic flows. In [13], the authors design the queue-based rate control protocol to handle the inelastic traffic in wireless sensor networks. In [14], a new method for spectrum allocation is presented, which can accommodate applications with fixed data rate. However, these algorithms only consider the homogenous link capacities in their schemes. In other words, they are based on either the fixed channel capacity or the assumption that the channel is estimated before allocation. In fact, the channel capacity of heterogeneous networks cannot be estimated in advance, since they are changing with time and depend on the conditions of other links.
User fairness is a critical performance metric in ad hoc networks and should be involved when a resource allocation scheme is designed. A well-known fairness criterion is called max-min fairness (MMF) [15, 16], which tries to allocate bandwidth equally. That is, a resource allocation is said to be max-min fair, if it is impossible to increase the bandwidth of any flow A without decreasing the bandwidth of another flow B where B's allocation was less than or equal to A's allocation. On the other hand, proportional fairness (PF) [4, 17] is an opportunistic algorithm that allocates bandwidth to users in proportion to their data rates. It exploits the users' diversity and provides a good tradeoff between fairness and network throughput. For example, PF primarily allocates resources to users with good channel conditions. These users can finish their data transfers quickly since they can take full advantage of network resources. Then, the remaining resources can be allocated to other users with worse radio conditions.
Very recently, a system for a family of fairness models has been proposed, including a-proportional fairness [18, 19]. In fact, a-proportional fairness already contains all the previous allocation models such as max-min fairness and proportional fairness. For instance, the system can achieve maximum throughput (
However, previous work [22–24] normally focuses on either the rate allocation of elastic flows or QoS demands of real-time services. They do not consider the two issues as a whole. These schemes cannot be directly applied in a heterogeneous ad hoc network which usually contains both elastic and inelastic traffic. To the best of our knowledge, it is still a challenging and open issue to attain the utility fairness in ad hoc networks, especially considering the heterogeneous nature of elastic and inelastic flows.
3. Utility-Based Network Modeling
3.1. Network Model
A wireless ad hoc network is modeled as a directed graph
For interference we need to convert the connectivity graph G into the corresponding contention graph
The contention graph
We then denote the set of maximal cliques of a contention graph by
3.2. Utility Function
Utility function is widely used to measure user satisfaction in the optimal flow control literature. The utility function of an application is a quantitative measure of its QoS performance. In this paper, we characterize utility in terms of resource allocation, which emphasizes the important relationship between QoS performance and resource allocation. Moreover, the utility has similar characteristics as the perceived quality of a data flow in ad hoc networks.
We denote the utility function of each user
For elastic flows, we introduce a new concept of elastic utility function as

Utility function for elastic flows.
On the other hand, the total utility of the whole class of inelastic flows can be defined as

Utility function for inelastic flows.
There exists another class of real-time application, which is called hard real-time traffic. Generally, hard real-time applications have strict bandwidth requirements and do not show any adaptive properties. If the system does not meet the minimum requirements, the real-time applications are not allowed to access the network. Examples include audio/video phone, video conference, and remote medical treatment. We can use the following utility function to model the hard real-time traffic:
It is important to choose an appropriate utility function. For instance, if the network utility is to be maximized, we can select the corresponding utility function as
3.3. Resource Allocation Model
Consider a wireless ad hoc network which has resource B. Let N be a set of users who will compete for the resource. And we define k as the cardinality of user set N. Let
As mentioned above, elastic traffic and inelastic traffic have significantly different utility functions. In a heterogeneous ad hoc network, various applications with different traffic types can provide different services. Resource allocation algorithm, therefore, should have the ability to provide a good performance balance among various applications.
4. Resource Allocation with Utility Fairness
When considering different performance of various applications, it may be impossible to assign resources simply based on the traditional criteria such as proportional fairness [17] and max-min fairness [15]. Therefore, we design a new resource allocation framework based on utility fairness [29, 30], which can adaptively allocate resources to the users according to their utility requirements. This has inspired two new concepts associated with utility fairness: one is utility max-min fairness [31] and the other is utility proportional fairness [32, 33].
4.1. Utility Fairness Criteria
Utility fairness is defined with a utility function that composes the resource allocation problem, where the objective is to maximize the utility function specific to the fairness concept used.
Definition 1.
A source rate allocation
Another newly proposed criterion of utility fairness is utility proportional fairness.
Definition 2.
A source rate allocation
The utility proportional fairness (UPF) is tremendously different from traditional proportional fairness (PF). The difference between them is that PF tries to achieve fairness in terms of rate, while UPF strives to achieve fairness in terms of utility. Since the utility can reflect user satisfaction, the utility, rather than rate, is a more meaningful metric of QoS for fair resource allocation in heterogeneous ad hoc networks.
In the following section, we will study the utility proportional fairness (UPF) in detail and propose a new resource allocation algorithm to support utility fairness.
4.2. Problem Formulation
We first define a clique-flow incidence matrix
Since the objective function in (7) is strictly concave and continuously differentiable, there exists an optimal solution x to the above problem
4.3. Resource Allocation Algorithm
To solve the primal problem
The dual problem
The objective function of the dual problem then becomes
Let us also define
In fact, the Lagrange multiplier
Since the objective function
The Lagrange multiplier
Therefore, we have
The above equation can reflect the law of supply and demand. When the bandwidth demand in the maximal clique q exceeds its supply
Let
Here,
For each elastic flow f, the source node receives shadow price information from all maximal cliques. Then it updates the transmission rate according to (16). Meanwhile, the link updates the clique price
5. Heterogeneous Resource Allocation Algorithm
In this section, we extend our resource allocation algorithm to the heterogeneous environment. Particularly, we present a distributed resource allocation algorithm to achieve utility fairness, with consideration of both elastic and inelastic traffic.
5.1. Notations and Definitions
In order to handle heterogeneous flows (i.e., elastic and inelastic), we develop a new flow control strategy to ensure utility fairness during the process of resource allocation. This new resource allocation mechanism, which integrates utility fairness, can not only support elastic traffic, but also be suitable for inelastic traffic.
First, we define a “pseudo utility” function for user i:
By substituting the “pseudo utility”
Since the original utility function
5.2. Heterogeneous Allocation Problem Formulation
Since the flows in heterogeneous ad hoc networks are composed of elastic and inelastic traffic, we can divide the utility function into two parts. One is the utility function
Here,
The formulation of (20) is an extension of the resource allocation problem described in (7). The main advantage of the new formulation is that it supports both elastic and inelastic traffic.
Since the constraints are linear and the objective function is concave over the range
The Lagrangian of the regularized primal problem
The first subproblem
According to (24), the subgradient of
The subgradient for
5.3. Elastic Rate Allocation
The subproblem
Thus, we can derive the following algorithm of source rate adjustment for elastic flow e:
5.4. Inelastic Rate Allocation
The objective of the subproblem
Note that the objective function
Thus, the inelastic rate allocation algorithm can be derived as follows:
5.5. Algorithm for Heterogeneous Resource Allocation
To sum up the above analysis, we present the heterogeneous resource allocation algorithm (HRA) as follows.
For each elastic flow e,
For inelastic flows, source rates are allocated according to different types of traffic. If the traffic is hard real-time, each clique q reserves necessary bandwidth
Algorithm HRA
Elastic Rate Allocation
Receive rates Update shadow price for elastic flows as
Send Adjust the elastic flow rate at times Send
Inelastic Rate Allocation
For inelastic flows with hard real-time traffic, each clique q first reserves necessary bandwidth Loop until the bandwidth allocation of all the hard real-time traffic is completed. For inelastic flows with sigmoidal utility, the source nodes of clique q calculate the effective capacity Update the shadow price of inelastic flows according to (28). Adjust the inelastic flow rate at times Send new
The HRA algorithm will proceed with a two-stage iteration. First, the inelastic rate allocation process is executed since the QoS requirements for real-time applications should be met in advance. Then, the elastic flow allocation is executed based on the remaining bandwidth for non-real-time service. Furthermore, if we choose appropriate utility functions
6. Performance Evaluation
In this section, we present the simulation results for HRA algorithm in heterogeneous ad hoc networks consisting of both elastic and inelastic flows.
6.1. Simulation Setup
In order to evaluate the performance of HRA algorithm presented in Section 5, we implement the algorithm in NS-2 (version 2.32). In addition, we set up different types of traffic generators over different scenarios. The network scenarios are composed of different traffic, such as Case 1: elastic traffic, Case 2: inelastic traffic, and Case 3: mixed network traffic, respectively. Consequently, users have different utility functions in different network scenarios. A 1200 m × 1200 m ad hoc network consisting of 60 nodes has been built to test the resource allocation scheme. Each node has a bandwidth capacity of 11 Mbps and the transmission range of the node is 30 m. Mobile nodes can travel in different directions with equal probability and using three different speed models: 0 m/s, 3–12 m/s, and 9–20 m/s.
6.2. Case 1: Elastic Network Scenario
In Figure 3, we set up the elastic network scenario composed of six users, where each user's utility function is set to

6-node topology with elastic flows.
Figure 4 shows the calculated rates of the elastic flows change with time. We observe that the date rates of all flows change sharply at the beginning of the iteration. In a sense, flow 1 and flow 3 are relatively stable, while flow 2 is much more intense than the other flows. Because flow 2 goes across the four nodes (i.e., nodes 2, 3, 4, and 5) and they are all in the middle of the network, the wireless channel competition will be more intense, which causes bigger fluctuations of flow 2. After a period of fluctuation, the algorithm converges to the optimal solution quickly, which shows the effectiveness of our algorithm.

Simulation results for elastic flows.
In addition, we can find something interesting from Figure 4. With the passage of time, the data rate of flow 1 drops rapidly, while flow 2 and flow 3 increase their data rates gradually. To ensure the utility fairness among the elastic flows, the three flows need to adjust their data rate according to the network utility. Finally, they all converge to the optimal value with satisfactory speed, which further verify the convergence of the HRA algorithm.
6.3. Case 2: Inelastic Network Scenario
In Case 2, for comparison purpose, we set the inelastic network scenario which is composed of seven nodes and four flows. As shown in Figure 5, the network consists of four unidirectional data flows A

7-node topology with inelastic flows.
In the simulation, we run the HRA algorithm with

Simulation results for inelastic flows.
At first, the utilities of all sources are almost the same. Then, the source node
6.4. Case 3: Mixed Network with Elastic and Inelastic Flows
In Case 3, we evaluate the dynamic performance of our heterogeneous resource allocation algorithm (HRA) in large-scale networks and compare our solution with two other algorithms. As shown in Figure 7, we designed a hybrid wireless ad hoc network scenario, including 60 nodes randomly generated in the area of size 1000 m

60-node heterogeneous network with mixed flows.
To test the performance of HRA algorithm under elastic and inelastic conditions, we ran different types of traffic generators over the wireless ad hoc scenario. There are various data sources in the network, which are composed of two elastic flows and two inelastic flows. The utility functions of all sources are given by:
Figure 8 shows how the average transfer rates for inelastic and elastic flows converge when HRA algorithm is used, where the rates are allocated to two elastic and two inelastic flows. From this figure, we can see that the QoS requirements of all flows are satisfied. The average service rate of the inelastic flow on each link l is larger than the minimum threshold, which equals 350 Kbps. Moreover, for each link of the elastic flow, its average service rate is larger than the minimum transmission rate request. Therefore, HRA algorithm not only can allocate elastic flow effectively, but also can be used in the inelastic flow, which guarantees the transmission of real-time applications.

Average elastic and inelastic flow rates.
6.5. Comparison between HRA and Other Algorithms
As utility is our main performance metric, we will compare our solution HRA with two other nonheterogeneous allocation schemes. One is a simple resource allocation algorithm called SRA, in which the heterogeneous characteristics are not exploited for rate allocation. SRA always handles elastic and inelastic flows in the same way. Therefore, it cannot distinguish elastic and inelastic flows well. The other is similar to the “Utility-Based Adaptive Resource Allocation” algorithm proposed by Rodrigues and Casadevall [34]. We make some modifications and call it UBARA. It manages the tradeoff between system resource efficiency and user fairness and can be applied to wireless network scenarios. Since the original algorithm cannot deal with hybrid network scenario, we take the following changes to handle both elastic and inelastic traffic. For inelastic flows, each link l transmits at the same rate level in all network conditions. For elastic flows, it allocates flow rate based on the user utility.
In this part, we will verify the impact of node mobility on the performance of HRA. The mobility model is as follows: a node randomly selects a destination within the network limits and then moves towards it at a speed of 4, 8, 12, 16, and 20 m/s. The simulation lasts 150 seconds and the delay limit is set to 5. The network topology and other parameters are the same as Case 3.
Figure 9 shows how the utility of elastic flow changes with the node mobility. We can derive the following observations. First, when the mobility speed is low, the utility of three algorithms is very close. Among them, HRA performs best. Second, as the node mobility speed increases, UBARA and SRA decrease very quickly. At last, when the node speed increases up to 20 m/s, HRA can still keep a high system utility, while SRA and UBARA fall to less than 3.

Elastic utility comparison in mobile scene.
In Figure 10, we can find something interesting. For inelastic flows, HRA exhibits averagely twice higher utility than UBARA and SRA. When the node speed increases more than 12 m/s, the utility of SRA and UBARA declines less than 1, which means they cannot meet the rate demand of inelastic flows. On the contrary, HRA still keeps a higher utility more than 2. That means HRA can completely meet the demand of real-time applications, which are composed of inelastic flows. In all experiments, HRA performs best among the three algorithms. Specifically in inelastic network scenarios, HRA performs much better than SRA and UBARA.

Inelastic utility comparison in mobile scene.
These results are due to the following reasons. One is that HRA tries to allocate resources to the urgent inelastic flow with higher priority, since inelastic flow is delay-sensitive and elastic flow is delay-tolerant. When the channel is in good condition, HRA tries to allocate a high rate to elastic and inelastic flows according to the user utility. If the channel is in poor condition, HRA decreases the service rate of elastic flows to guarantee the transmission demand of inelastic flows. In this way, the service rate of inelastic flow can exceed the threshold. Thus, the aggregate utility of inelastic flows is always maintained at a high level (i.e., greater than two), which fully meet the demand of real-time applications. However, SRA and UBARA always try to allocate equal bandwidth to elastic and inelastic flows, no matter how poor the network state is. This greatly affects the transmission of inelastic flows, leading to the overall inelastic utility less than 1. Therefore, the demand of real-time applications cannot be met by SRA and UBARA.
The other reason is that when nodes move at a high speed, the network topology is changing dramatically. Since SRA and UBARA do not distinguish between elastic and inelastic flows, they may not find the global optimum. In all experiments, UBARA performs slightly better than SRA, because UBARA is a utility-based resource allocation scheme, considering the user fairness. However, UBARA cannot satisfy the QoS requirement of real-time applications, as it cannot distinguish the two types of traffic.
On the other hand, HRA can find the optimal tradeoff strategy between resource efficiency and user fairness for elastic and inelastic flows, although the network states are changing very fast. With both considerations of flow rate and utility fairness, HRA performs much better than SRA and UBARA especially in highly dynamic and mobile networks. In contrast, SRA and UBARA neither exploit the heterogeneous characteristic nor optimize the service rates of inelastic flows, which lead to the low accumulated system utility in hybrid network scenario mixed with elastic and inelastic flows.
To further show the performance of HRA, we evaluate the throughput of HRA and compare it with the other two algorithms. The simulation results are shown in Figure 11. When the number of users is less than 8, SRA and UBARA are very close and their throughput is higher than 2 Mbps. However, when the number of users is larger than 10, the throughput of SRA and UBARA declines quickly because of the absence of fairness consideration. When the user number reaches 18, the throughput of SRA is below 1 Mbps. In all experiments, HRA achieves the highest aggregate throughput among the three algorithms. The explanation for the above results is straightforward: HRA can guarantee the utility fairness among elastic and inelastic flows, while the other two algorithms cannot.

Average throughput of network users.
Finally, we evaluate the fairness index of HRA, which is a particularization of the well-known Jain fairness index proposed by Jain et al. in [35]. The difference is that the fairness index here considers both elastic and inelastic flows, and we call it mixed fairness index (MFI). From Figure 12, we observe that HRA has a better fairness index than both SRA and UBARA. When the user number is equal to 1, the three algorithms all achieve the same fairness index close to 1. They do not need to allocate rate among different users if the user is only one; therefore, the fairness index must be 1. On the other hand, if users increase, they need to allocate extra bandwidth to other users, so the fairness index will be reduced. When the number of users exceeds 9, the gap between HRA and the other two algorithms becomes larger.

Fairness index of network users.
The above simulation results indicate that, compared with SRA and UBARA, HRA can allocate resources more fairly and more efficiently in a distributed manner, while maintaining a higher system throughput for real-time flows. In fact, HRA can manage the tradeoff between elastic and inelastic flows, which guarantees the utility fairness among various applications. More importantly, the simulation confirms that the flow control algorithm proposed in this paper can provide an efficient utility fair resource allocation in heterogeneous networks, not only suitable for common elastic data traffic but also applicable to inelastic real-time applications.
7. Conclusions
In this paper, we have developed a heterogeneous resource allocation algorithm (HRA) for wireless ad hoc networks, supporting both elastic and inelastic traffic. The proposed algorithm can allocate resource for heterogeneous ad hoc networks, which may contain diverse node types and execute various tasks. Besides rate allocation, utility fairness is also integrated into the framework to provide a good performance balance among various applications. We have shown that HRA algorithm converges fast and can achieve the global optimum starting from many different network conditions, such as elastic network scenario, inelastic network scenario, and hybrid network scenario. As highlighted, HRA can manage the tradeoff between elastic and inelastic traffic, which guarantees the utility fairness among competing flows. Compared with the other two algorithms, HRA can allocate resource more fairly and more efficiently, while maintaining a higher network throughput for the system. Therefore, our algorithm is well suited for heterogeneous ad hoc networks. Moreover, even though the development of this research is in the ad hoc network environment, our algorithm can be generally extended and applied to wireless sensor networks due to the good scalability of the framework.
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This work is supported by the National Natural Science Foundation of China (no. 61402231, no. 61202135), the Jiangsu Provincial Natural Science Foundation of China (no. BK2011692), the National Science Foundation of Jiangsu Higher Education Institutions of China (no. 10KJB520008), and a Project by the Priority Academic Program Development of Jiangsu Higher Education Institutions of China.
