Optimal Pricing in a Free Market Wireless Network Michael J. Neely University of Southern California *Sponsored in part by DARPA IT-MANET Program and NSF Grant OCE S2 S3 ? current $: current $: S1 S3 S2 5 S4 6 7 q 2 (t) q 3 (t) INFOCOM 2007
S1S3 S2 5 S4 6 7 S2 S3 ? current $: current $: S1 q 2 (t) q 3 (t) Time-slotted System: t {0, 1, 2, …} Time-Varying Channels: (fading, mobility, etc.) S n (t) = (S n1 (t), S n2 (t), …, S nk (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 (S n (t))
S1S3 S2 5 S4 6 7 S2 S3 ? current $: current $: S1 q 2 (t) q 3 (t) Transmission Costs: C n tran ( n (t), S n (t)) Example: Reception Costs: C nb rec ( nb (t)) *Example: C nb rec ( nb (t)) = { b if nb (t) > 0 { 0 if nb (t) = 0 C n tran ( ) *this example is used in slides for simplicity
S1S3 S2 5 S4 6 7 S2 S3 ? current $: current $: S1 q 2 (t) q 3 (t) For simplicity of these slides: Assume single commodity (multi- source, single sink) (multi-commodity case treated in the paper) U n (t) = Queue Backlog in node n at time t R n (t) = *New data admitted to network at source n at time t U 3 (t) *Not all nodes are sources: Some simply act as profit-seeking relays Node 3 (a source) Transmit outNew source data R 2 (t) Endogenous arrivals
S1S3 S2 5 S4 6 7 S2 S3 ? current $: current $: S1 q 2 (t) q 3 (t) For simplicity of these slides: Assume single commodity (multi- source, single sink) (multi-commodity case treated in the paper) U n (t) = Queue Backlog in node n at time t R n (t) = *New data admitted to network at source n at time t U 5 (t) Node 5 (pure relay: not a source) Transmit out Endogenous 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 q n (t) for accepting endogenous data from others. (Seller Node Challenge: How to set the price?) -Node n advertises q n (t) and the reception cost. (fixed reception cost b used in slides for simplicity) current $: q n (t) rec. cost: n Advertisement Data that node n already needs to deliver Node n expenses revenue
Free Market Network Pricing: “Buyer Nodes” pay handling charge + reception fee: -Handling Charge: an (t) = an (t)q n (t) -Reception Fee: n Node n $ = q n (t) rec = n Advertisement ? ? Seller Node n Perspective Node a $ = q n (t) rec = n Advertisement nb ? ? Buyer Node a Perspective $ = q n (t) rec = n Advertisement
Free Market Network Pricing: Buyer Node Challenge: Where to send? How much to send? Is advertised price acceptable? (current transmission costs C n tran ( n (t), S n (t)) play a role, as does the previous revenue earned for accepting data) Node n $ = q n (t) rec = n Advertisement ? ? Seller Node n Perspective Node a $ = q n (t) rec = n Advertisement nb ? ? Buyer Node a Perspective $ = q n (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 g n (r) = Source n “satisfaction” (in dollars) for sending at rate r bits/slot. r g n (r) Assumed to be: 1. Convex 2. Non-Decreasing 3. 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) = g n (R n (t)) - q n (t)R n (t) R n (t) $ = q n (t) Source at n Node n Payments Costs Income
Social Welfare Definition: [g n ( r n ) - cost n ] n Social Welfare = where: cost n r n = 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 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] 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 to problem 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 U n (t) Admission Control (SGP): q n (t) = U n (t)/V Max: g n (R n (t)) - q n (t) R n (t) Subj. to: 0 < R n (t) < R max payment“instant utility” R n (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 W nb (t): W nb (t) = q n (t) - q b (t) - /V where = max[ max out, max in + R max ] Maximize: W nb (t) nb (t) - C nb rec ( n (t)) - C n tran ( n (t), S n (t)) Subj. to : n (t) n (S n (t)) bb q n (t)q b (t)
Theorem (SGP Performance): For arbitrary S(t) processes and for any fixed parameter V>0: (a) U n (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 t 1 t g n ( ) - Rn()Rn() =0 t 1 t q n (t) R n ( ) =0 t 1 t > 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) U n (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.
S1S3 S2 5 S4 6 7 Simulation of SGP: 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: S1S3 S2 5 S4 6 7 SGP: V=50 C2 = C5 = C7 = 1 g(r) = 10 log(1+r)
Simulation of SGP (increase cost of C2, C5): S1S3 S2 5 S4 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 n ) + 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 X n (t), Y n (t) And Auxiliary Variables n (t), n (t). X n (t) Y n (t) expenses(t) + n (t) income(t) payment(t) + n (t) g n (R n (t)) Nodes n: Sources n:
Pricing (BB): q an (t) = { Q max if X a (t) < X n (t) { 0 else (Price depends on the incoming link) Distributed Auxiliary Variable Update: Each node n solves: Maximize: V n ( ) - X n (t) Subject to: 0 < < Q max Resource Allocation Based on Mod. Diff. Backlog: W nb (t) = U n (t) - U b (t) -q nb (t)[X n (t) - X b (t)]
Theorem (BB Performance): If all nodes Use BB with parameter V>0, then: 1) Avg. Queue Congesetion < O(V) n n ) + n ( n ) ] n 2) > Optimal - O(1/V)
Simulation of BB: S1S3 S2 5 S4 6 7 SGP: V=50 C2 = C5 = C7 = 1 g(r) = 10 log(1+r)
Simulation of BB (increase cost of C2, C5): S1S3 S2 5 S4 6 7 SGP: V=50 C7=1 C2 = C5 = 3 g(r) = 10 log(1+r)
Conclusions: S1S3 S2 5 S4 6 7 SGP: V=50 C7=1 C2 = C5 = 3 g(r) = 10 log(1+r) 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.