Optimal Pricing in a Free Market Wireless Network
Michael J. NeelyUniversity of Southern California
http://www-rcf.usc.edu/~mjneely*Sponsored in part by DARPA IT-MANET Program and NSF Grant OCE 0520324
S2
S3
?
current $:
current $:
S1
S1 S3
S2 5
S46
7
q2(t)
q3(t)
INFOCOM 2007
S1 S3
S2 5
S46
7
S2
S3
?
current $:
current $:
S1
q2(t)
q3(t)
Time-slotted System: t {0, 1, 2, …}
Time-Varying Channels: (fading, mobility, etc.)
Sn(t) = (Sn1(t), Sn2(t), …, Snk(t))
(channel states on outgoing links of node n)
Transmission Rate Options (nodes use orthogonal channels):
n(t) = (n1(t), n2(t), …, nk(t)) n(Sn(t))
S1 S3
S2 5
S46
7
S2
S3
?
current $:
current $:
S1
q2(t)
q3(t)
Transmission Costs: Cntran(n(t), Sn(t))
Example:
Reception Costs: Cnbrec(nb(t))
*Example: Cnbrec(nb(t)) = { b if nb(t) > 0
{ 0 if nb(t) = 0
Cntran()
*this example is used in slides for simplicity
S1 S3
S2 5
S46
7
S2
S3
?
current $:
current $:
S1
q2(t)
q3(t)
For simplicity of these slides: Assume single commodity (multi-source, single sink) (multi-commodity case treated in the paper)
Un(t) = Queue Backlog in node n at time tRn(t) = *New data admitted to network at source n at time t
U3(t)
*Not all nodes are sources: Some simply act as profit-seeking relays
Node 3 (a source)
Transmit outNew source data R2(t)
Endogenous arrivals
S1 S3
S2 5
S46
7
S2
S3
?
current $:
current $:
S1
q2(t)
q3(t)
For simplicity of these slides: Assume single commodity (multi-source, single sink) (multi-commodity case treated in the paper)
Un(t) = Queue Backlog in node n at time tRn(t) = *New data admitted to network at source n at time t
U5(t)
Node 5 (pure relay: not a source)
Transmit outEndogenous arrivals
*Not all nodes are sources: Some simply act as profit-seeking relays
Free Market Network Pricing:
-Each node n sets its own per-unit price qn(t) for accepting endogenous data from others. (Seller Node Challenge: How to set the price?)
-Node n advertises qn(t) and the reception cost. (fixed reception cost b used in slides for simplicity)
current $: qn(t) rec. cost: n
AdvertisementData that node n alreadyneeds to deliver
Node n
expenses
revenue
Free Market Network Pricing:
“Buyer Nodes” pay handling charge + reception fee:
-Handling Charge: an(t) = an(t)qn(t)
-Reception Fee: n
Node n
$ = qn(t)rec = n
Advertisement
? ?
Seller Node n Perspective
Node a
$ = qn(t)rec = n
Advertisement
n b
? ?
Buyer Node a Perspective
$ = qn(t)rec = n
Advertisement
Free Market Network Pricing:
Buyer Node Challenge: Where to send? How muchto send? Is advertised price acceptable?
(current transmission costs Cntran(n(t), Sn(t)) play a role,
as does the previous revenue earned for accepting data)
Node n
$ = qn(t)rec = n
Advertisement
? ?
Seller Node n Perspective
Node a
$ = qn(t)rec = n
Advertisement
n b
? ?
Buyer Node a Perspective
$ = qn(t)rec = n
Advertisement
Free Market Network Pricing:
The sources’ desire for communication is the driving economic force!
Modeling the Source Demand Functions:-Elastic Sources-Utility gn(r) = Source n “satisfaction” (in dollars) for sending at rate r bits/slot.
r
gn(r) Assumed to be:1. Convex 2. Non-Decreasing3. Max slope
Node n profit (on slot t):
n(t) = total income(t) - total cost(t) - payments(t)
Source (at node n) profit (on slot t):
n(t) = gn(Rn(t)) - qn(t)Rn(t)
Rn(t) $ = qn(t)
Source at n Node n
Node nPaymentsCosts
Income
Social Welfare Definition:
[gn( rn ) - costn ]n
Social Welfare =
where:
costn
rn = time avg admit rate from source n
= time avg external costs expended by node n (not payment oriented)
Simple Lemma: Maximizing Social Welfare…(i) …is equivalent to maximizing sum profit (sum profit = “network GDP”)(ii)…can (in principle) be achieved by a stationary randomized routing and scheduling policy
We will design 2 different pricing strategies:
1) Stochastic Greedy Pricing (SGP): - Greedy Interpretation - Guarantees Non-Negative Profit - If everyone uses SGP, Social Welfare Maxed over all alternatives (and so Sum Profit Maxed)
2) Bang-Bang Pricing (BB): - No Greedy Interpretation - Yields a “optimally balanced” profits (profit fairness…minimizes exploitation)
Prior Work:Utility Maximization for Static Networks: [Kelly: Eur. Trans. Tel. 97] [Kelly, Maulloo, Tan: J. Oper. Res. 98] [Low, Lapsley: TON 1999] [Lee, Mazumdar, Shroff: INFOCOM 2002]
Utility Maximization for Stochastic Networks: [Neely, Modiano, Li: INFOCOM 2005] [Andrews: INFOCOM 2005] [Georgiadis, Neely, Tassiulas: NOW F&T 2006] [Chen, Low, Chiang, Doyle: INFOCOM 2006]
Pricing plays only an indirect role in yieldingmax utilitysolution
For the stochastic algorithms, dynamic “prices” do not necessarily yield the non-negative profit goal!
Prior Work:Revenue Maximization for Downlinks (non-convex): [Acemoglu, Ozdaglar: CDC 2004] [Marbach, Berry: INFOCOM 2002] [Basar, Srikant: INFOCOM 2002]
Markov Decision Problems for single-network owner: [Paschalidis, Tsitsiklis TON 2000] [Lin, Shroff TON 2005]
Market Mechanisms: [Buttyan, Hubaux: MONET 2003] [Crowcroft, Gibbens, Kelly, Ostring WiOpt 2003] [Shang, Dick, Jha: Trans. Mob. Comput. 2004] [Marbach, Qui: TON 2005]
Profit is central toproblem
Need a stochastic theory for market-based network economics!
Stochastic Greedy Pricing Algorithm (SGP): (Similar to Cross-Layer-Control (CLC) Algorithm from [Neely 2003] [Neely, Modiano, Li INFOCOM 2005])
For a given Control Parameter V>0…
Pricing (SGP):
Node n
Queue Backlog Un(t)
Admission Control (SGP):
qn(t) = Un(t)/V
Max: gn(Rn(t)) - qn(t) Rn(t)
Subj. to: 0 < Rn(t) < Rmax
payment“instant utility”
Rn(t)
Stochastic Greedy Pricing Algorithm (SGP): (Similar to Cross-Layer-Control (CLC) Algorithm from [Neely 2003] [Neely, Modiano, Li INFOCOM 2005])
For a given Control Parameter V>0…
Resource Allocation & Routing (SGP): Define the modified differential price Wnb(t):
Wnb(t) = qn(t) - qb(t) - /V
where = max[max out, max in + Rmax]Maximize:
Wnb(t)nb(t) - Cnbrec(n(t)) - Cn
tran(n(t), Sn(t))
Subj. to : n(t) n(Sn(t))
b b
qn(t) qb(t)
Theorem (SGP Performance): For arbitrary S(t)processes and for any fixed parameter V>0:
(a) Un(t) < V + for all n, for all time t
(b) All nodes and sources receive non-negative profit at every instant of time t:
n() > 0=0
t1t
gn( ) - Rn()=0
t1t qn(t) Rn()
=0
t1t
> 0
Nodes:
Sources:
(a)(b) hold for any node n using SGP, even if others don’t use SGP!
Theorem (SGP Performance): For arbitrary S(t)processes and for any fixed parameter V>0:
(a) Un(t) < V + for all n, for all time t
(b) All nodes and sources receive non-negative profit at every instant of time t:
(c) If Channel States S(t) are i.i.d. over slots and if everyone uses SGP:
Social Welfare > g* - O(1/V)g* = maximum social welfare (sum profit) possible, optimized over all alternative algorithms for joint pricing, routing, resource allocation.
S1 S3
S2 5
S46
7
Simulation of SGP:
Parameters: V= 50Dotted Links: ON/OFF Channels (Pr[ON] = 1/2) Transmission costs = 1 cent/packet, reception costs = .5 cent/packetSolid Links: Transmission costs = 1 cent/packetUtilities: g(r) = 10 log(1 + r)
Simulation of SGP:
S1 S3
S2 5
S46
7
SGP: V=50C2 = C5 = C7 = 1g(r) = 10 log(1+r)
Simulation of SGP (increase cost of C2, C5):
S1 S3
S2 5
S46
7
SGP: V=50C7=1C2 = C5 = 3g(r) = 10 log(1+r)
Bang-Bang Pricing (BB) Algorithm:
Objective is to Maximize:
nn ) + n( n ) ]n
Where n() and n() are concave profit metrics.
Yields a more balanced (and “fair”) profit distribution.
Quick (incomplete) description of Bang-Bang Pricing (see paper for details):Uses General Utility Optimization technique from our previous work in [Georgiadis, Neely, Tassiulas NOW F & T 2006]
BB Algorithm: Define Virtual Queues Xn(t), Yn(t) And Auxiliary Variables n(t), n(t).
Xn(t)
Yn(t)
expenses(t) + n(t) income(t)
payment(t) + n(t) gn(Rn(t))
Nodes n:
Sources n:
Pricing (BB):
qan(t) = { Qmax if Xa(t) < Xn(t) { 0 else
(Price depends on the incoming link)Distributed Auxiliary Variable Update:Each node n solves: Maximize: Vn() - Xn(t) Subject to: 0 < < Qmax
Resource Allocation Based on Mod. Diff. Backlog:
Wnb(t) = Un(t) - Ub(t) -qnb(t)[Xn(t) - Xb(t)]
Theorem (BB Performance): If all nodesUse BB with parameter V>0, then:
1) Avg. Queue Congesetion < O(V)
nn ) + n( n ) ]n
2)
> Optimal - O(1/V)
Simulation of BB:
S1 S3
S2 5
S46
7
SGP: V=50C2 = C5 = C7 = 1g(r) = 10 log(1+r)
Simulation of BB (increase cost of C2, C5):
S1 S3
S2 5
S46
7
SGP: V=50C7=1C2 = C5 = 3g(r) = 10 log(1+r)
Conclusions:
S1 S3
S2 5
S46
7
SGP: V=50C7=1C2 = C5 = 3g(r) = 10 log(1+r)
1) SGP: GuaranteesNon-negative profit and Bounded queues, Regardless of actions of Other nodes. If all nodesUse SGP => Max sumProfit!2) BB: OptimallyBalanced, but has no greedy interpretation.
Top Related