Optimal Pricing in a Free Market INFOCOM 2007

  • Slides: 28
Download presentation
Optimal Pricing in a Free Market INFOCOM 2007 Wireless Network S 1 S 3

Optimal Pricing in a Free Market INFOCOM 2007 Wireless Network S 1 S 3 ? S 1 S 3 S 4 current $: q 3(t) current $: q 2(t) S 2 5 6 7 S 2 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

S 1 S 3 ? S 1 S 3 S 4 current $: q

S 1 S 3 ? S 1 S 3 S 4 current $: q 3(t) current $: q 2(t) S 2 5 6 7 S 2 Time-slotted System: t {0, 1, 2, …} Time-Varying Channels: (fading, mobility, etc. ) Sn(t) = (Sn 1(t), Sn 2(t), …, Snk(t)) (channel states on outgoing links of node n) Transmission Rate Options (nodes use orthogonal channels): mn(t) = (mn 1(t), mn 2(t), …, mnk(t)) Wn(Sn(t))

S 1 S 3 ? S 1 S 3 S 4 current $: q

S 1 S 3 ? S 1 S 3 S 4 current $: q 3(t) current $: 7 5 S 2 q 2(t) Transmission Costs: Example: S 2 6 Cntran(mn(t), Sn(t)) Cntran(m) m Reception Costs: *Example: Cnbrec(mnb(t)) = { sb if mnb(t) > 0 { 0 if mnb(t) = 0 *this example is used in slides for simplicity

S 1 S 3 ? S 1 S 3 S 4 current $: q

S 1 S 3 ? S 1 S 3 S 4 current $: q 3(t) current $: q 2(t) S 2 5 6 7 S 2 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 R 2(t) Endogenous arrivals U 3(t) Transmit out Node 3 (a source) *Not all nodes are sources: Some simply act as profit-seeking relays

S 1 S 3 ? S 1 S 3 S 4 current $: q

S 1 S 3 ? S 1 S 3 S 4 current $: q 3(t) current $: q 2(t) S 2 6 5 7 S 2 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 U 5(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

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)

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)

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!

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) -

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) Source at n $ = qn(t) Node n

Social Welfare Definition: Social Welfare = n where: rn [gn( rn ) - costn

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 (ii) (sum profit = “network GDP”) (iii)(ii)…can (in principle) be achieved by a stationary (iv) randomized routing and scheduling policy

We will design 2 different pricing strategies: 1) Stochastic Greedy Pricing (SGP): 2) -

We will design 2 different pricing strategies: 1) Stochastic Greedy Pricing (SGP): 2) - Greedy Interpretation 3) - Guarantees Non-Negative Profit 4) - If everyone uses SGP, Social Welfare Maxed 5) over all alternatives (and so Sum Profit Maxed) 6) 2) Bang-Bang Pricing (BB): 7) - No Greedy Interpretation 8) - Yields a “optimally balanced” profits 9) (profit fairness…minimizes exploitation)

Prior Work: Utility Maximization for Static Networks: [Kelly: Eur. Trans. Tel. 97] [Kelly, Maulloo,

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

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 Wi. Opt 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,

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” Max: payment gn(Rn(t)) - qn(t) Rn(t) Subj. to: 0 < Rn(t) < Rmax Node n Queue Backlog Un(t)

Stochastic Greedy Pricing Algorithm (SGP): (Similar to Cross-Layer-Control (CLC) Algorithm from [Neely 2003] [Neely,

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 : mn(t) b Cnbrec(mn(t)) - Cntran(mn(t), Sn(t)) Wn(Sn(t))

Theorem (SGP Performance): For arbitrary S(t) processes and for any fixed parameter V>0: (a)

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 (c) profit at every instant of time t: t-1 1 Nodes: fn(t) > 0 t t=0 Sources: ( gn 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)

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 (c) profit at every instant of time t: (d)(c) If Channel States S(t) are i. i. d. over slots and (e) 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: S 1 6 S 3 S 2 S 4 5 7

Simulation of SGP: S 1 6 S 3 S 2 S 4 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: S 1 S 3 S 2 S 4 5 6 7

Simulation of SGP: S 1 S 3 S 2 S 4 5 6 7 SGP: V=50 C 2 = C 5 = C 7 = 1 g(r) = 10 log(1+r)

Simulation of SGP (increase cost of C 2, C 5): S 1 S 3

Simulation of SGP (increase cost of C 2, C 5): S 1 S 3 S 2 S 4 5 6 7 SGP: V=50 C 7=1 C 2 = C 5 = 3 g(r) = 10 log(1+r)

Bang-Bang Pricing (BB) Algorithm: Objective is to Maximize: n [ Fn( fn ) +

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

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

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.

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: S 1 S 3 S 2 S 4 5 6 7

Simulation of BB: S 1 S 3 S 2 S 4 5 6 7 SGP: V=50 C 2 = C 5 = C 7 = 1 g(r) = 10 log(1+r)

Simulation of BB (increase cost of C 2, C 5): S 1 S 3

Simulation of BB (increase cost of C 2, C 5): S 1 S 3 S 2 S 4 5 6 7 SGP: V=50 C 7=1 C 2 = C 5 = 3 g(r) = 10 log(1+r)

Conclusions: 1) SGP: Guarantees 2) Non-negative profit and 3) Bounded queues, 4) Regardless of

Conclusions: 1) SGP: Guarantees 2) Non-negative profit and 3) Bounded queues, 4) Regardless of actions of 5) Other nodes. If all nodes 6) Use SGP => Max sum 7) Profit! 8) 2) BB: Optimally 9) Balanced, but has no 10) greedy interpretation. S 1 S 3 S 2 S 4 5 6 7 SGP: V=50 C 7=1 C 2 = C 5 = 3 g(r) = 10 log(1+r)