• 沒有找到結果。

Clique-based Rate Allocation Strategy

Below, we will derive our node interference model. Then we will present our rate allocation problem, followed by an iterative scheme to solve this problem. Our results are based on [11, 22] with some extensions.

First, we will formulate the constraints of inter-node interference by modifying the model in [22]. Since flows in G will contend with each other for transmission, we first convert G into a link contention graph Gc = (Vc, Ec) [11]. Each link in E(G) of the original graph G is converted into a vertex in Vc. Each pair of links e1 and e2 in E(G) with a contention relation is converted to a link (e1, e2) in Ec,

where a contention relation is established if the distance between any endpoint of e1 and any endpoint of e2 is≤ dint. The reason for such a definition is to model the behavior of the IEEE 802.11 MAC protocol, as shown in Fig. 3.2. For each data packet being transmitted on a wireless link, RTS/CTS/ACK control packets need to be sent. This calls for two-way communications, so we can model the contention relation without regarding the directions of flows.

With graph Gc, we define our clique-based rate allocation problem as follows.

In a graph, a complete subgraph is called a clique. A maximal clique is a clique such that no other clique is its superset. The set of all maximal cliques, or simply cliques, in Gc is denoted by Q. Fig. 3.3 shows a network G and its corresponding Gc. Two example maximal cliques (marked by dotted circles) are identified in Fig. 3.3. For each q ∈ Q, the set of vertices of q (i.e., the set of wireless links in E(G) which forms clique q) is denoted by V (q). Maximal cliques (or simply called cliques below) in Q will be the units of resource allocation in our scheme.

For any feasible rate allocation vector A and for each link e that is traversed by fi, the air time ratio r(fi)/r(e) is the amount of air time occupied by fi per time unit. Because no two members in a maximal clique are allowed to transmit at the same time (otherwise, collision will happen), this enforces that the sum of air time ratios seen by all links belonging to the same clique be no more than 100%. More specifically, for each clique q∈ Q, the total of air time ratios occupied by all links of all flows that go through q at any time unit must be no more than 100%, i.e.,

∀q ∈ Q : 

∀e∈V (q)

⎝ 

∀fi∈F :e∈E(fi)

r(fi) r(e)

⎠ ≤ 1. (3.1)

For example, the total of air time ratios of members in each of the dotted circles

feasible if all inequalities in Eq. (3.1) are satisfied.

We now present our price-based resource allocation scheme with the above air time constraints. Our derivation will be based on a social welfare model to calculate a rate allocation vector A such that the total utility of all flows is max-imized and fairness among flows is maintained. We will associate with the rate r(fi) of each fi a utility function U(r(fi)), which represents the degree of satis-faction of fi given rate r(fi). Following typical definitions of utility, we assume that the function U(·) is strictly increasing, concave, and twice continuously dif-ferentiable. The primal problem P can be formulated by a nonlinear optimization problem as follows:

maximize 

∀fi∈F

U(r(fi))

subject to ∀q ∈ Q : 

∀e∈V (q)

⎝ 

∀fi∈F :e∈E(fi)

r(fi) r(e)

⎠ ≤ 1. (3.2)

The goal is to maximize the total of all flows’ utilities. However, because of the way that utility functions are defined, it also has a sense of fairness behind. Since traffic flows have to compete with each other, they have to share the resources provided by cliques. The way utility functions are defined will enforce a flow’s utility to gradually saturate as more and more resources are taken by it. Intuitively, when approaching the saturation point, it would be better to reduce its traffic rate and give the saved resource to other traffic flows, which may generate higher utility margins. This is what we mean by social welfare. Also, utility functions are based on users’ psychological feelings to prices and can be defined differently.

Several examples of utility functions can be found in our simulations.

In order to solve problem P, we turn our attention to the dual problem D of

Figure 3.2: IEEE 802.11 MAC protocol.

7 8

6

5 4 3

2 1

10 9

( a )

(8,3)

(9,10) (7,8)

(5,6) (1,2)

(3,4)

(4,5) (2,3)

(4,9)

( b )

Figure 3.3: (a) network G and (b) link contention graph Gc and two example maximal cliques.

P defined as follows. For each q ∈ Q, let μq be the cost of the usage of one air time unit charged by clique q. Problem D is defined as the following min-max problem:

under the same constraints as in P, where the expression inside the first summa-tion can be considered as the net benefit of flow fi and the second term can be considered as the total value of the potential capacities of all cliques that can be offered to flows. Eq. (3.3) can be rewritten as

D(r(f1), r(f2), . . . , r(fn); μ1, μ2, . . . , μ|Q|) is a vector of Lagrange multipliers. In Eq. (3.4), the term



can be regarded as the unit path cost charged to flow fi. From Eq. (3.5), we see that the difference between our formulation and that of [22] is that we take into account the actual air time occupied for a flow in each clique, while [22]

only counts the number of links appearing in each clique. This does matter when

two links belong to the same clique, one transmitting at a higher speed and the other transmitting at a lower speed; although they may transmit the same amount of information, the occupied air time ratios should be differentiated. Thus, our formulation can more accurately model the cost charged to each flow.

Next, we develop an iterative algorithm to determine the rate allocation vector A. Intuitively, each clique can be regarded as a provider and each flow can be regarded as a buyer. Clique q may gradually adjust its unit price μqdepending on the demands of buyers. On the other hand, each buyer fi may gradually adjust its flow rate r(fi) depending on its current utility value and the accumulated price charged by all cliques that it will go through. More specifically, the algorithm goes in a sequence of steps. At step t, the unit cost of each clique q is denoted by μq(t), and the rate of each flow fi is denoted by r(fi, t). In each iteration, the clique costs will be updated first, followed by updates of flow rates. The algorithm is a distributed one executed by individual cliques and sources of flows.

A1. For each clique q, one node Lqis pre-elected as the leader of that clique. Lq

then collects the rate r(fi, t) of each fi such that E(fi) ∩ V (q) = ∅. (How to elect a leader is trivial, so we omit the details.)

A2. Lq will determine the price of q in the next step t + 1 based on its current price at step t using the gradient projection method [1] as follows:

μq(t + 1) =



μq(t) − γ∂D(·)

∂μq

+

, (3.6)

where γ is a small step size and [·]+will return 0 when the value inside the brackets is negative. Since the utility function is strictly concave, D(·) is

continuously differentiable. From Eq. (3.3), Lqcan derive that

Plugging Eq. (3.7) into Eq. (3.6), Lq determines its unit price in step t + 1 as flow that goes through it. Each flow should forward the new price to its source node.

A4. When the source of fi collects all updated prices at step t + 1, it derives its updated net benefit function as

B(r(fi)) = U(r(fi)) − 

and takes the first derivative of B(r(fi)) by setting it to 0

∂B(r(fi))

The next injection rate that would maximize its net benefit is r(fi, t+ 1) = argr(fi)

∂B(r(fi))

∂r(fi) = 0

. (3.11)

A5. The source of fithen communicates its updated rate r(fi, t+1) to all cliques flowed by it by piggybacking the value with its data packets. The above procedure then loops back to step A2 and repeats in each time step.

Chapter 4

Resource Allocation with Both

相關文件