neely-net-pricing - University of Southern California

advertisement
Optimal Pricing in a Free Market
INFOCOM 2007
Wireless Network
S1
S3
?
S1
S3
S4
current $:
q3(t)
current $:
q2(t)
S2
5
6
7
S2
Michael J. Neely
University of Southern California
http://www-rcf.usc.edu/~mjneely
*Sponsored in part by DARPA IT-MANET Program and NSF Grant OCE 0520324
S1
S3
?
S1
S3
S4
current $:
q3(t)
current $:
q2(t)
S2
5
6
7
S2
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):
mn(t) = (mn1(t), mn2(t), …, mnk(t))
Wn(Sn(t))
S1
S3
?
S1
S3
S4
current $:
q3(t)
current $:
q2(t)
7
5
S2
Transmission Costs:
Example:
S2
6
Cntran(mn(t), Sn(t))
Cntran(m)
m
Reception Costs: Cnbrec(mnb(t))
*Example:
Cnbrec(mnb(t))
= { sb if mnb(t) > 0
{ 0 if mnb(t) = 0
*this example is
used in slides
for simplicity
S1
S3
?
S1
S3
S4
current $:
q3(t)
current $:
q2(t)
S2
5
6
7
S2
For simplicity of these slides: Assume single commodity (multisource, single sink) (multi-commodity case treated in the paper)
Un(t) = Queue Backlog in node n at time t
Rn(t) = *New data admitted to network at source n at time t
New source data R2(t)
Endogenous arrivals
U3(t)
Transmit out
Node 3 (a source)
*Not all nodes are sources: Some simply act as profit-seeking relays
S1
S3
?
S1
S3
S4
current $:
q3(t)
current $:
q2(t)
S2
6
5
7
S2
For simplicity of these slides: Assume single commodity (multisource, single sink) (multi-commodity case treated in the paper)
Un(t) = Queue Backlog in node n at time t
Rn(t) = *New data admitted to network at source n at time t
Endogenous arrivals
U5(t)
Transmit out
Node 5 (pure relay: not a source)
*Not all nodes are sources: Some simply act as profit-seeking relays
Free Market Network Pricing:
revenue
Data that node n already
needs to deliver
Advertisement
current $: qn(t)
expenses
rec. cost: sn
Node n
-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 sb used in slides for simplicity)
Free Market Network Pricing:
Seller Node n Perspective
Node n
Advertisement
$ = qn(t)
rec = sn
Buyer Node a Perspective
Node a
Advertisement
?
?
$ = qn(t)
rec = sn
n
Advertisement
?
?
$ = qn(t)
rec = sn
b
“Buyer Nodes” pay handling charge + reception fee:
-Handling Charge: ban(t) = man(t)qn(t)
-Reception Fee: sn
Free Market Network Pricing:
Seller Node n Perspective
Node n
Advertisement
$ = qn(t)
rec = sn
Buyer Node a Perspective
Node a
Advertisement
?
?
$ = qn(t)
rec = sn
n
Advertisement
?
?
$ = qn(t)
rec = sn
b
Buyer Node Challenge: Where to send? How much
to send? Is advertised price acceptable?
(current transmission costs Cntran(mn(t), Sn(t)) play a role,
as does the previous revenue earned for accepting data)
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.
gn(r)
h
r
Assumed to be:
1. Convex
2. Non-Decreasing
3. Max slope h
Node n profit (on slot t):
fn(t) = total income(t) - total cost(t) - payments(t)
Income
Payments
Costs
Node n
Source (at node n) profit (on slot t):
yn(t) = gn(Rn(t)) - qn(t)Rn(t)
Rn(t)
Source at n
$ = qn(t)
Node n
Social Welfare Definition:
Social Welfare =
n
where:
rn
[gn( rn ) - costn ]
= time avg admit rate from source n
costn = 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 yielding
max utility
solution
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]
Profit is
central to
problem
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]
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):
Rn(t)
qn(t) = Un(t)/V
Admission Control (SGP):
“instant utility”
Node n
payment
Max:
gn(Rn(t)) - qn(t) Rn(t)
Subj. to: 0 < Rn(t) < Rmax
Queue Backlog Un(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):
qn(t)
qb(t)
Wnb(t) = qn(t) - qb(t) - d/V
where d = max[mmax out, mmax in + Rmax]
Maximize:
b
Wnb(t)mnb(t) -
Subj. to :
b
Cnbrec(mn(t)) - Cntran(mn(t), Sn(t))
mn(t) Wn(Sn(t))
Theorem (SGP Performance): For arbitrary S(t)
processes and for any fixed parameter V>0:
(a) Un(t) < Vh + d for all n, for all time t
(b) All nodes and sources receive non-negative
profit at every instant of time t:
t-1
1
Nodes:
fn(t) > 0
t t=0
Sources:
(
gn
t-1
t-1
1 R (t)
1 q (t) R (t) > 0
- t
n
n
t t=0 n
t=0
)
(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) < Vh + d 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.
Simulation of SGP:
S1
6
S3
S2
S4
5
7
Parameters:
V= 50
Dotted Links:
ON/OFF Channels (Pr[ON] = 1/2)
Transmission costs = 1 cent/packet, reception costs = .5 cent/packet
Solid Links:
Transmission costs = 1 cent/packet
Utilities: g(r) = 10 log(1 + r)
Simulation of SGP:
S1
S3
S2
S4
5
6
7
SGP: V=50
C2 = C5 = C7 = 1
g(r) = 10 log(1+r)
Simulation of SGP (increase cost of C2, C5):
S1
S3
S2
S4
5
6
7
SGP: V=50
C7=1
C2 = C5 = 3
g(r) = 10 log(1+r)
Bang-Bang Pricing (BB) Algorithm:
Objective is to Maximize:
n
[ Fn( fn ) + Yn( yn ) ]
Where Fn(f) and Yn(y) 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 gn(t), nn(t).
Nodes n:
Sources n:
expenses(t) + gn(t)
payment(t) + nn(t)
Xn(t)
Yn(t)
income(t)
gn(Rn(t))
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: VFn(g) - Xn(t)g
Subject to: 0 < g < Qmax d
Resource Allocation Based on Mod. Diff. Backlog:
Wnb(t) = Un(t) - Ub(t) -qnb(t)[Xn(t) - Xb(t)]
Theorem (BB Performance): If all nodes
Use BB with parameter V>0, then:
1) Avg. Queue Congesetion < O(V)
2)
n
[ Fn( fn ) + Yn( yn ) ]
> Optimal - O(1/V)
Simulation of BB:
S1
S3
S2
S4
5
6
7
SGP: V=50
C2 = C5 = C7 = 1
g(r) = 10 log(1+r)
Simulation of BB (increase cost of C2, C5):
S1
S3
S2
S4
5
6
7
SGP: V=50
C7=1
C2 = C5 = 3
g(r) = 10 log(1+r)
Conclusions:
1) SGP: Guarantees
Non-negative profit and
Bounded queues,
Regardless of actions of
Other nodes. If all nodes
Use SGP => Max sum
Profit!
2) BB: Optimally
Balanced, but has no
greedy interpretation.
S1
S3
S2
S4
5
6
7
SGP: V=50
C7=1
C2 = C5 = 3
g(r) = 10 log(1+r)
Download