{'fraction_non_alphanumeric': 0.03805959406938247, 'fraction_numerical': 0.009068662732114582, 'mean_word_length': 4.458202388434946, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Auction Approach to Distributed Power Allocation for Multiuser Cooperative Networks

This paper studies a wireless network where multiple users cooperate with each other to improve the overall network performance. Our goal is to design an optimal distributed power allocation algorithm that enables user cooperation, in particular, to guide each user on the decision of transmission mode selection and relay selection. Our algorithm has the nice interpretation of an auction mechanism with multiple auctioneers and multiple bidders. Specifically, in our proposed framework, each user acts as both an auctioneer (seller) and a bidder (buyer). Each auctioneer determines its trading price and allocates power to bidders, and each bidder chooses the demand from each auctioneer. By following the proposed distributed algorithm, each user determines how much power to reserve for its own transmission, how much power to purchase from other users, and how much power to contribute for relaying the signals of others. We derive the optimal bidding and pricing strategies that maximize the weighted sum rates of the users. Extensive simulations are carried out to verify our proposed approach.


I. INTRODUCTION
By exploiting the inherent broadcast nature of wireless radio waves, users can cooperate and improve the network throughput and energy efficiency in wireless networks [2]- [5]. Although the performance of small-scale cooperative communications has been extensively studied from an information theoretic perspective, there still exist many open problems of realizing the full potential of cooperative communication schemes in practical large-scale networks.
In this paper, we design a distributed resource allocation framework for cooperative communications that addresses several key practical challenges. First of all, forwarding other users' packets consumes valuable resources (e.g., battery energy, transmission slots or bandwidth) and may degrade a user's own performance. Therefore, we need to design a  [1]. mechanism that guides distributed users to cooperate. Second, determining whether and how to perform cooperative transmission depend on channel conditions between users and can be complicated. Third, when cooperative communication is desirable, there can be more than one user that is suitable to serve as the relay. Thus, we need to decide how to select the transmission mode (direct or relay transmission) and the associated relay node(s) for each source node. Fourth, if a user decides to help others relaying the messages, it needs to balance the resource (such as power, bandwidth, and time slots) reserved for itself and the resource provided for others. Therefore, we need to design a mechanism so that each user captures the optimal tradeoff of resource allocation.
Previous work on resource allocation in cooperative networks fall into two categories: centralized (e.g., [6]- [12]) and distributed (e.g., [13]- [18]). The centralized schemes often require global channel state information (CSI), thus are often not scalable due to the large signaling overhead. Distributed schemes based on local information and limited message passing are thus more favorable in practical systems. There have been several results on distributed resource allocation in cooperative networks. For example, a distributed power allocation algorithm for single source-destination pair multirelay networks was presented in [16] based on the Stackelberg game model, where a source is modeled as a buyer and relays are modeled as sellers. The power allocation is only performed by the relays but not by the source. The authors in [17] studied an auction-based distributed power allocation scheme for the case where multiple source-destination pairs are assisted by a fixed single relay node. Therein, the relay acts as the auctioneer and the sources act as the bidders. Like in [16], [17] also adopts relay-power allocation assuming that the sources' power are fixed. Authors in [18] investigated distributed power allocation in a multiple source-destination pairs and single relay network, where the relay sets prices and multiple sources act as a non-cooperative game. This work assumed that the relay's power is fixed and the power optimization is done by the sources.
In this paper, we propose a new auction-based power allocation framework for multi-user cooperative networks, with the objective of maximizing the weighted sum rates of the users. Specifically, we design a distributed power allocation algorithm which has the nice interpretation of a multi-auctioneer multi-bidder power auction, in which each user acts as both an auctioneer and a bidder. Each auctioneer independently announces its trading price and sells power, and each bidder dynamically decides whether to buy, from which auctioneer(s) to buy, and how much to buy. By following the proposed  Fig. 1: An example of the cooperative communication with two users (transmitter-receiver pairs). T i and R i denote the transmitter and receiver of user i, respectively. distributed mechanism, each user can achieve the optimal resource utilization and maximize the system weighted sum rates in a fully distributed fashion.
Our paper distinctly differs from the previous work [16]- [18] in threefold: 1) unlike those work considering the relayassisted cooperative communications with dedicated relays, we study the user cooperation scenario where users cooperate and help each other; 2) unlike these results only optimize relay-power [16], [17] or source-power [18], we optimize the power allocation of each transmitting node to tradeoff the resource consumption of transmitting its own traffic and forwarding other nodes' traffic; 3) by employing distributed multiple-input multiple-output (MIMO) techniques (e.g., [19], [20]) for relay transmission, our proposed power allocation scheme implicitly incorporates both relay selection and transmission mode selection between direct transmission and relay transmission, which enables each user to decide whether to cooperate, whom to cooperate with, and how to cooperate in a distributed fashion through a unified framework. We also discuss some implementation issues of the proposed distributed mechanism in practical wireless networks, including synchronization, channel estimation, interaction procedure, and step-size selections.
The remainder of this paper is organized as follows. Section II describes the system model and the problem formulation. Section III presents the details of the proposed multiauctioneer and multi-bidder power auction. Extensive simulations are provided in Section IV. Finally we conclude the paper in Section V.

II. SYSTEM MODEL AND PROBLEM FORMULATION
The network consists of K cooperative users, each of which has its own source node and destination node. Different users have distinct source nodes, but may share the same destination node. The users can cooperate with each other, thus the source node of a user can be a transmitter and a forwarder simultaneously. The main idea of cooperative transmission is to utilize the extra power available at those source nodes, by enabling them to act as relays for those sources who are far from their destinations. Such cooperative transmission can be regarded as a distributed multiple-antenna system. Each node is subject to the half-duplex constraint, so that it cannot transmit and receive at the same time over the same channel. It is possible, however, for the node to transmit and receive simultaneously on different channels.
Let K = {1, 2, ..., K} be the set of users. Each user is allocated an orthogonal channel to transmit its own data information. 1 Without loss of generality, we assume that channel i is allocated to user i. The cooperative transmission includes two phases, with an example shown in Fig. 1. In the first phase, the source node of user i (1 ≤ i ≤ K) transmits the message to its own destination on channel i and listens on all other channels. In the second phase, some source nodes (who have the proper channel conditions and extra transmission power) form a distributed MIMO system and simultaneously help to relay the signals of user i on channel i by using distributed space-time codes [19], [20].
The K ×K matrix p denotes the transmission power, where p j,i denotes the amount of power that the source node of user j contributes to forwarding user i's information for i = j, or the amount of power user i consumes for its own transmission for i = j. The sum of the jth row of p represents the total power consumption of user j, which is subject to a peak power constraint p j . Note that this power matrix implicitly accounts for transmission mode and relay node adaptations. For instance, if p is a diagonal matrix, then only direct transmission is selected; full user cooperation is selected if all the elements of p are non-zero.
Let R be a K × 1 vector whose element R i denotes the achievable rate of user i at a given power allocation vector {p j,i } K j=1 . This achievable rate definition can accommodate different distributed MIMO techniques, such as the nonregenerative based amplify-and-forward (AF) and regenerative based decode-and-forward (DF) relay strategies. The detailed expression of rate R i will be given later.
The global network objective is to allocate the power on each source node in order to maximize the weighted sum rates of the users. The optimization problem can be formulated as follows (P1): where w i is the weight that represents the priority of user i. If date rate R i for each user i is a concave function of the power vector {p j,i } K j=1 , then the objective function is concave as any positive linear combination of concave functions is concave. Moreover, constraint (2) is convex and constraint (3) is affine. Hence the feasible set of this optimization problem is convex. Therefore, P1 is a convex optimization problem and there exists a globally optimal solution. The Lagrangian of P1 is given by: where λ = (λ 1 , λ 2 , ..., λ K ) 0 are the Lagrange multipliers related to the power constraints. Applying the Karush-Kuhn-Tucker (KKT) conditions [21], we obtain the following necessary and sufficient conditions for the optimal primal variables p * and dual variables λ * : Note that the KKT conditions imply that Next we study the concavity of the achievable rates R with respect to the power allocation matrix p. For an illustration purpose, we employ the AF relay strategy in this paper. We model the wireless fading environment by the large-scale path loss, shadowing, and small-scale Rayleigh fading. The additive white Gaussian noises (AWGN) at all users are assumed to be independent circular symmetric complex Gaussian random variables, each having zero mean and unit variance.
In the first phase of the cooperative communication, each source node i ∈ K broadcasts its signal x i to all other source nodes for all j = i and its destination. Thus the received signals at its destination and node j from i are given by, respectively and where n i is the AWGN at destination i, h i,j is the channel gain from source i to destination j, ∀i, j.
In the second phase, all other users participate in the cooperative transmission of user i in the form of AF based distributed space-time coding. Specifically, each user j ∈ K \ i multiplies its received signal from user i over a certain time duration, denoted as y i,j , with a distributed space-time code matrix A j and then forwards the coded signal to the destination using power p j,i . The received signal vector at user i' destination is Here, the distributed space-time code matrices {A j } are chosen carefully so that the full diversity order can be achieved [19]. By employing the maximal-ratio combining for the direct and cooperative links, the achievable rate of user i can be written as Note that R i is not jointly concave in p i,i and p j,i . To make the analysis tractable, we adopt the following upper bound approximation: auctioneers decide trading prices and allocate resource. bidders decide whether to buy, from which auctioneer(s) to buy, and how much to buy. assuming that the signal amplified and forwarded by the relays is in the high SNR regime. Such upper bound is tight and commonly used for AF rate expression in the literature (e.g., [8]) for the single-relay case. It can also be proved that R i in (12) is strictly concave by evaluating the Hessian matrix [21]. Note that in (11)-(12) we use the general notation, ∀j ∈ K \ i, for the relay index j with respect to user i. This does not change the rate results nor the concavity of R i , because for a user j who is not involved in the cooperation we can simply let p j,i = 0. We can also view this as the relay selection decision of user i. Moreover, if p j,i = 0 for all j ∈ K \ i, then the transmission mode of user i becomes direct transmission, otherwise it uses relay transmission mode. In other words, our proposed power allocation framework implicitly involves transmission mode selection between direct transmission and relay transmission.
In the next section, we propose an auction based algorithm to achieve the optimal solution of P1 in a distributed fashion.

III. AUCTION-BASED DISTRIBUTED POWER ALLOCATION
Auction theory [22] has been viewed as an efficient method to allocate wireless resource in different scenarios, e.g., rate control [23], spectrum allocation [24]- [26], spectrum access [27]- [29], and spectrum sharing [30], [31]. Most of these schemes are based on a centralized auctioneer (or a seller) since there is a single divisible resource to be allocated among bidders (buyers). Therefore, these auction-based resource allocation schemes cannot be directly applied to our considered multi-user cooperation scenario.
In this section, we design a distributed algorithm to solve the problem P1. The distributed algorithm has a nice interpretation of a multi-auctioneer and multi-bidder auction. We further analyze the convergence and discuss the implementation issues in practical networks.

A. Multi-Auctioneer Multi-Bidder Mechanism
We achieve efficient power allocation through a multiauctioneer multi-bidder power auction. Each user has two roles in the auction: an auctioneer and a bidder. The interaction of the users is illustrated in Fig. 2, in which each bidder dynamically decides whether to buy, from which auctioneer(s) to buy, and how much to buy. In the sequence, each auctioneer independently announces its trading price and allocates power to the bidders.
In the proposed approach, each user i submits a bid b j,i to each user j. When i = j, we assume that user i submits a virtual bid b i,i to itself, since it also acts as an auctioneer (denoted as dotted lines in Fig. 2). By bidding for its own resource, each user i can determine how much power p i,i to consume for itself, besides how much power p j,i (for all j = i) it buys from others.
Let π = (π 1 , π 2 , . . . , π K ) be the price vector of the auctioneers, and b the bidding matrix whose element b j,i means the willingness bidder i buys from auctioneer j. By definition, is user i's bidding vector. The multi-auctioneer multi-bidder power auction consists of two steps: 1) For a given price vector π, each user i ∈ K, determines its demand vector {p j,i } K j=1 , then submits the corresponding bid vector {b j,i } K j=1 to auctioneers; 2) For the collected bids b, each auctioneer j ∈ K, determines its supply vector {p j,i } K i=1 and announces its price π j .
The key challenge is how to design the price vector π and bidding matrix b so that the outcome of the proposed power auction is equivalent to the optimal solution of P1.
We introduce the two-side auction rule as follows: 1) At the side of the bidders, each bidder i ∈ K, submits it bid proportionally to the price of auctioneer j and the power it will purchase from auctioneer j, i.e., b j,i = π j p j,i , ∀j. Intuitively, if p j,i = 0, bidder i does not bid for auctioneer j. 2) At the side of the auctioneers, we adopt Kellymechanism [23] such that each auctioneer j ∈ K, attempts to maximize the surrogate function i∈K b j,i logp j,i by allocating power p j,i according the bids b j,i . Note that the surrogate function can be selected arbitrarily as long as it is differentiable, strictly increasing, and concave in p j,i . In what follows, we describe the two-side auction in detail. 1) Bidder-Side Auction: Each bidder i maximizes its surplus, which is the difference between the benefit from buying power from auctioneers and its payments. For the given prices π, bidder i first determines its optimal demand according to the following surplus maximization (Bidder Sub-Problem): It is not difficult to prove that the surplus function S i is jointly concave in {p j,i } K j=1 , where R i is a function of {p j,i } K j=1 (as defined in (12)). Due to the concavity of S i , bidder i can optimally choose the unique power vector {p * j,i } K j=1 to maximize its profit. Then bidder i submits its optimal bids to auctioneers according its optimal demand and the given Differentiating S i with respect to p j,i , we can obtain the sufficient and necessary first order condition: Observing the KKT conditions of P1, we notice that if auctioneers announce their prices as the optimal power p * in the bidder sub-problem is consistent with the one in P1.
From above we can see that the individual optimum in the Bidder Sub-problem is also the global optimum if the prices are appropriately selected.
2) Auctioneer-Side Auction: After introducing the Bidder Sub-Problem, we now turn to the auctioneers. Solving the optimal power supply of each auctioneer j can be formulated as (Auctioneer Sub-Problem): variables p 0 The associated Lagrangian can be written as where µ j is the Lagrange multiplier of auctioneer j. The KKT conditions for the Auctioneer Sub-Problem are given by By comparing the Auctioneer Sub-Problem with P1, one can see that if µ = λ and bidders select their bids as follows:

B. Distributed Algorithm
We now design a mechanism to realize the multi-auctioneer multi-bidder power auction in a distributed fashion, in which we incorporate primal-dual algorithms which have been studied extensively in the literature. The mechanism is executed iteratively. Formally, we present the detailed mechanism in Algorithm 1. Each iteration consists of bid update (Algorithm 2), power allocation, and price update. Note that Algorithm 2 Algorithm 1 Multi-Auctioneer Multi-Bidder Power Auction Initialization. Set the iteration index t = 0. Set the direct transmission mode to be the initial state for all nodes, i.e., p (0) = diag(p 1 , ..., p i , ..., p K ). Randomly generate a K × K bid matrix b (0) 0 and a price vector (13): -Bid update. // Algorithm 2 • Auctioneer Sub-Problem in (17): -Power allocation. Each user j ∈ K (as an auctioneer) independently allocates the power p (t) ji to user i: -Price update. Each user j ∈ K (as an auctionneer) updates its price as: where ǫ j is a small constant step-size. until The price vector λ converges.

Algorithm 2 Bid update
1: t ≥ 1; 2: for each bidder i = 1 : K do 3: for each auctioneer j = 1 : K do 4: if j,i to auctioneer j;  There are several points should be noted. Firstly, from (27), one can see that we must have i∈K p (t) j,i = p j when t → ∞ so that the KKT condition (22) is satisfied as the price λ j cannot be zero.
Secondly, in the procedure of bid update (Algorithm 2), it is not necessary for each bidder to submit positive bids to all auctioneers in each iteration. Specifically, the auctioneer selection depends on two factors. (26) shows that the purchased power is proportional to the submitted bids and inversely proportional to auctioneers' prices. This means that the higher willingness bidder i has for auctioneer j and the lower price auctioneer j announces, the more power bidder i can get from auctioneer j. Therefore, a feasible way of auctioneer selection for bidder i is to observe how S i varies with p j,i , i.e., observe the sign of ∂Si ∂pj,i or, equivalently, w i R ′ i (p j,i ) − λ j . Note that p is obtained by Algorithm 1 in the current iteration, and the price vector λ is obtained in the latest previous iteration. Let us first discuss the case of i = j. If ∂Si ∂pj,i > 0 or w i R ′ i (p j,i ) > λ j , this means that bidder i can obtain a larger profit by increasing the purchased power p j,i then bidder i bids for auctioneer j, otherwise auctioneer j should not be selected for bidder i. This is due to that the channel gain h i,j is week such that bidder i cannot benefit from auctioneer j, or many other bidders bid for auctioneer j so that auctioneer j raises its price, then the profit bidder i benefits from auctioneer j cannot compensate the payment bidder i pays to auctioneer j. The bidding criterion is also applicable to the case of i = j. If ∂Si ∂pi,i > 0, this means user i can increase its profit by increasing the consuming power p i,i , due to the channel gain h i,i or h i,j (for some j) is strong then it has more willingness to consume the power for itself, otherwise user i prefers to sell its power to other users because it can obtain higher profit by charging others, rather than consumes the power itself.
Thirdly, in the proposed auction algorithm, it is assumed that all users are price takers, which means that they do not choose their bids strategically to impact the auctioneers' prices. The assumption is reasonable when there are many bidders such that each bidder's impact on the prices is small, and has been widely used in the literature (e.g., [16]- [18], [23]- [31]). However, when the number of users is small, then users' price anticipating behavior may change resource allocation, and the system should be modeled as a game between the users and the network. The corresponding solution concept is Nash equilibrium, and it is well known that Nash equilibrium often leads to network performance degradation comparing with a globally optimal solution. Such performance gap is often called the "price of anarchy" [32]. Notice that our goal is to design a distributed algorithm to solve a system-level optimization problem instead of game theoretical analysis.
Proof: Please see Appendix A.

C. Discussion on Implementation Issues
In this subsection, we show how the proposed multiauctioneer multi-bidder power auction can be applied in practical distributed networks.
First of all, we assume that the users interact each other synchronously. The synchronization can be implemented at the head of each transmission packet, in which pilot symbols carry out the task. This means at the beginning of the auction, every user (bidder role) bids for power simultaneously, then every user (auctioneer role) allocates power and announces price simultaneously. It is worth noting that our algorithm is also applicable for the case where the users interact each other asynchronously (e.g., there exist some malfunctional users that may not update their actions as frequently as the others) but leads to longer convergence time, which will be detailed in the numerical results. We assume the synchronization here only for reducing the convergence time.
Second, the source of user i needs to know the local information, including h i,i , h j,i , and p j,i for all j = i. Specifically, the destination of user i needs to send the CSI h i,i to its own source, and the source of user j needs to send the CSI h j,i to the source of user i for all i = j. Here it is assumed that channel estimation can be implemented at both source and destination of each user by pilot symbols in the head of frame, then the CSI can be sent via a feedback channel. Moreover, the source of user i can know the number of available relayed nodes and the amount of bidding power p j,i by itself selecting other users for bidding.
Third, a trading place (i.e., public channel) is needed for interacting auction information including the initial information (p (0) , b (0) , λ (0) ), and iterative information (p (t) , b (t) , λ (t) ). In each iteration, each user (bidder role) first submits bids and then determines price and allocates power (auctioneer role) according to the collected bids. At the end of each iteration, each user makes a decision and updates its bid and price. Note that an auctioneer's decision is impacted by bidders' immediate willingness how much to buy from it, rather than other auctioneers' prices. Thus an auctioneer unnecessarily decodes the prices of others, though they are announced in an open manner.
Fourth, an appropriate step size for each user is needed. In this paper, we adopt the constant step size rule in (27). 2 Generally speaking, a larger step size requires less time per iteration but leads to more iterations, while a smaller step size requires more time per iteration but leads to less iterations. In the proposed protocol, if the auction phase ends then the process turns into the transmission phase. While if any user does not converge at the end of the auction phase, it will be forced turn to the transmission phase. In this case, it can randomly make a decision, which results in the outcome is not optimal and the performance may degrade substantially. Therefore it is essential that each user achieves stability in the auction phase. A feasible way is to enlarge the period of the auction phase, which will reduce the spectrum efficiency.
Here we assume that a slot can be designed long enough in the system so that the overhead of the auction phase is negligible.

IV. SIMULATION RESULTS
In this section, we evaluate the performance of the proposed distributed algorithm using simulation. In what follows, we first consider an example of four users for explicitly illustrating our proposed multi-auctioneer multi-bidder power auction. Then we demonstrate the throughput efficiency of the proposed algorithm over the direct transmission scheme in a network with different number of users. Without loss of generality, we let w i = 1 for all users. 2 Note that there exist other three step size rules, i.e., constant step length, square-summable but not summable, and diminishing step size rules [33]. They all can guarantee toward the global optimum but lead to different convergence time, and they have their own advantages and disadvantages [33]. How to choose and switch the step size rules in the updating procedure is important in practice, but a detailed discussion seems to be out of the scope of this paper.

A. A Toy Example of Four Users
To easily illustrate the details of the proposed distributed algorithm for multiuser cooperation, we first consider a toy example with four users. The system setup for the four-user network is a two-dimensional plane of size 1 × 1 km as shown in Fig. 3, where the destination is located at (0, 0), and four nodes are located at (0.2, 0.5), (0.4, 0.3), (0.5, 0.8), and (0.8, 0.6). All nodes have the same maximum power constraints, i.e., p i = 10 dB, ∀i ∈ K. The central frequency is around 5 GHz. The statistical path loss model and shadowing are referred to [34], where we set the path loss exponent to be 3.5 and the standard deviation of log-normal shadowing is 5.8 dB. The small-scale fading between any two nodes is characterized by the normalized Rayleigh fading. Fig. 3 presents a topology of the network in the initial state, where all users transmit information with their maximum power without cooperation. By implementing the proposed power auction, the nodes are stimulated to cooperate with each other. For a given channel realization, the final state of  the network topology is shown in Fig. 4, where dash lines represent direct transmission and solid lines represent relay transmission, and each color represents the links of one user. One can see that the nearer a node is to the destination, the more likely it acts as a relay. For example, as node 1 is the nearest to the destination, it forwards the information of other three nodes, and node 2 forwards the information of node 3 and node 4. It is also found that node 2 not only helps node 3 and node 4 but also needs help from node 1. We further show the power distribution for each node in Fig. 5 and Fig. 6. Fig. 7 and Fig. 8 show the dynamic strategies and payoffs of the users, respectively, using step size ǫ i = 10 −3 , ∀i ∈ K. The total payoff of user i illustrated in the figure is defined as R i − j∈K p j,i λ j + λ i j∈K p i,j , ∀i ∈ K, which is the sum profits of both the auctioneer and bidder. First of all, we can find that the prices and surplus are convergent (about 60 iterations in this example). Secondly, one can see that the more likely a node acts as a relay, the higher price it addresses, and the higher surplus it can achieve. Thirdly, for node 1 and node 2 acting as relays, they need more iterations than node 3 and node 4. This can be interpreted as that node 1 and node 2 are in a dilemma whether to transmit themselves or help others. If they decide to help others, they have to face the tradeoff between how much power they retain for themselves and how much power they devote to others. Thus they need more interaction to make decisions. The observations coincide with the common sense of economics.
Though we have theoretically proved that the proposed algorithm can converge to the globally optimal solution when the length of the auction phase goes to infinite (i.e., t → ∞), it is practical to investigate the probability of convergence in finite time, rather than to make the auction convergent every time. Fig. 9 presents the cumulative distribution functions (CDF) of the price converging iteration using different step sizes. We observe that a small step size can raise the probability of convergence. For example, to achieve the probability 1 of convergence we need about 100, 60, and 2 iterations for step sizes ǫ i = 10 −3 , ǫ i = 10 −4 , and ǫ i = 10 −5 , respectively. Therefore, if the step size is small enough, our proposed mechanism can converge to the globally optimal solution with probability 1. We can further see that, for the same probability of convergence, node 1 and node 2 need more iterations, the interpretation of which is addressed in the above paragraph.
Finally, we consider the impacts of asynchronous updates among nodes in Fig. 10, with the 10 dB maximum power constraint and a constant step-size ǫ i = 10 −3 for all nodes. Without loss of generality, it is assumed that node 4 does not update frequently as others (e.g., malfunctional user). For a given channel realization, it needs about 200 iterations for convergence if all nodes update their actions synchronously. When node 4 updates slowly, the system convergence times becomes about 300 and 1400 iterations if node 4's update frequency is 1/4 and 1/20 of others, respectively. This shows that a slow updating node will slow down the overall convergence. Moreover, from the figure we observe that the proposed algorithm can converge to the global optimum, regardless of the slow updating node's update frequency (as long as it keeps updating). In other words, the asynchronous updates does not affect the network performance except the convergence time. The reason is that P1 is essentially a convex optimization problem.

B. Networks with More Users
In this subsection, we study the networks with more users. First, we compare the throughput performance of the proposed power auction algorithm in comparison with the direct transmission scheme in Fig. 11, with p i = 10 dB and p i = 5 dB, ∀i, respectively. Here, a total of 1000 independent channel realizations are used. The locations of nodes are random but uniformly distributed, varying with each channel realization. The step size ǫ i = 10 −3 is used, ∀i. It is seen that the proposed algorithm outperforms the direct transmission scheme by a significant margin, especially when SNR is high or/and the number of nodes is large. This is consistent with the previous  study on cooperative communications from an information theoretic perspective [2], [3]. Moreover, as shown in Fig. 12, we can observe that the complexity of the proposed algorithm does not increase considerably even in the case of large number of nodes.

V. CONCLUSION AND FUTURE WORK
In this paper, we proposed a distributed framework for resource allocation in cooperative networks. We solved the problem by mapping it into the multi-auctioneer multi-bidder power auction. By following the proposed power auction, each user can capture the optimal tradeoff of power allocation between the transmitter and forwarder roles, and their behavior move towards the globally optimal solution for weighted sum rates maximization. We further designed a distributed realization mechanism to achieve the global optimum. Our proposed framework can be generally applied to different classes of networks, e.g., uplink cellular networks, ad hoc networks, and peer-to-peer networks.
There are several directions to extend the results in this paper. This paper took the nonregenerative based AF relay strategy as an example when solving P1. We can also use other more advanced regenerative relay strategies (e.g., DF) or hybrid relay strategies for the similar problem, but the analysis will be more challenging. Moreover, this paper aimed to design distributed algorithms for solving the global optimization problem instead of game theoretical analysis. It will be interesting to further consider the incentive issues of the users (e.g., price-anticipating users) in a distributed network. Also, we assume that the message passing is timely and accurate. It will be very interesting to understand more about the performance of the algorithm under delayed and erroneous message passing (e.g., [35]) in our future work.

APPENDIX A PROOF OF PROPOSITION 1
The proof is based on LaSalle's invariance principle [36] and similar with that in [37]: Consider the differential equation:ẏ(t) = f (y(t)). Let Y : D → R be a radially unbounded 3 , continuously differentiable, positive definite 4 function such thatẎ ≤ 0 for all Z ∈ D. Let E be the set of points in D whereẎ = 0. Let M be the largest invariant set 5

in E.
Then every solution starting in D approaches M as t → ∞.
The Lyapunov function can be written as It is obviously that this function is radially unbounded. We now study time-derivative of this function. Differentiating this function, we obtain: ≤ 0, where (30) follows from (29) due to the nature of the projection (a) + b , i.e., if the projection is active then (29) is zero while (30) is positive, otherwise the equality holds. (32) follows due to the fact that i∈K p * j,i = p j , or λ * j = 0 if i∈K p * j,i < p j . Finally, if bids chose as b j,i = p j,i R ′ i (p j,i ), (34) follows due to the concavity and monotonicity of R i .