1.05k likes | 1.19k Views
Economics and Computer Science Network Routing. CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology. Outline. Introduction Preliminaries and Related Works Unicast Multicast Anycast Broadcast Conclusion and future work.
E N D
Economics and Computer ScienceNetwork Routing CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology
Outline • Introduction • Preliminaries and Related Works • Unicast • Multicast • Anycast • Broadcast • Conclusion and future work
Why need truthful computing? • Example: Routing need nodes to relay packets, but • Nodes are battery powered • Nodes are selfish (self-incentive) • Lying can result disaster for system • Example: TCP/IP congestion control • Additive increase, Multiplicative decrease • Terminals can deviate from this and benefit
Truthful via Game Theory • Game Theory • Neoclassical economics • Mathematics • Other social and behavioral sciences (Psychology) • Computer Science • Game Theory History • John von Neumann, Oskar Morgenstern (1944) “Theory of games and economics behavior” • Prisoner's Dilemma (1950) • John Nash: Non-cooperative game; Nash equilibrium (1951) • Game Model • Extensive (Sequential) Game– Chess • Strategic (Simultaneous) Game ()
Algorithm Mechanism Design • N players • Private type ti • Strategy from Ai • Mechanism • Output O(a) • Payment p(a) • Player i • Valuation: • Utility: • N wireless nodes • Private cost ci • Strategies: all possible costs • Mechanism • Output O(c): a structure • Payment p(c) • Node i • Valuation: -ciif relays • Utility: ui=pi-ci if relays
Algorithm Mechanism Design • Truthful Mechanism Design • Direct revelation: for every agent i . • Incentive Compatibility: for every agent i, revealing its true type is a dominant strategy. • Individual Rationality: Every agent must have non-negative utility if they reveal their true private input. • Other Desirable Property • Polynomial time complexity.
VCG Mechanism • Who designed? • Vickrey(1961); Groves(1973); Clarke(1971) • What is VCG Mechanism? • A VCG Mechanism is truthful.
Problems studied • Unicast • Truthful payment scheme (VCG scheme) • Our contribution: Fast Computation • Collusion Among nodes: Negative results • Multicast • VCG not applicable • Several truthful mechanisms for structures: LCPS, VMST, PMST, Steiner Tree. • Payment Computing
Unicast • Node vkcosts ckto relay (private knowledge) • Each node vk reports a cost dk • Find the shortest path from node v0 to node v9 based on reported costs d • Compute a payment pk for node vk based on d 8 7 6 7 9 5 1 7 • Objective: Find a payment pk(d) so node maximizes utility when dk =ck
The payment to vk is Unicast Payment Scheme • Find the least cost path between node vi and vj, say LCP(vi,vj,G) • Remove node vk and all its incident edges, find the LCP in the new graph, say LCP(vi ,vj ,G\ vk). • If vk is not on the LCP(vi ,vj ,G) then pk is 0; else its payment is the difference of second shortest path and shortest path plus its declared cost.
5 5 Overpayment ratio: Payment Calculation 8 7 6 7 9 Total payment is 8+9+10 =27 instead of actual cost 18. 7 7
Fast Payment Calculation • Payment calculation for one node • Dijstra’s algorithm • Time complexity O(n log n+m) • Payment calculation for all nodes on the LCP • Using Dijstra’s algorithm for every node • Time complexity O(n2 log n+nm) • Worst Case could be O(n3) • Can we calculate it faster? • Our Result: Payment calculation for all nodes on the LCP could be done in O(n log n+m) which is optimal.
Fast Payment Computation Algorithm • First we calculate the Shortest Path Tree (SPT) rooted at vi and v0 respectively and denote them as SPT(vi) and SPT(v0). The shortest path between vi and v0 is . Let L(vk) be the length of the shortest path from vk to v0 and R(vk) be the length of shortest path from vk to vi. • This step calculates a level (denoted as vk.level) for every node vk in graph G. • For every node vk not on the LCP(v_i,v_0,d), we find a avoiding shortest path between vk and vi where v_k.level=l. Let R-l(vk) denote the length of this path. • For node vk with level greater than or equals l and each of its neighbors vj such that vj.level < l, we calculate L(vj) +R-l( vk)+cj+ck. Choose the neighbor vj with the minimum value and denote it as c-l(vk). Among all nodes with label l, choose the one with the minimum c-l(vk), denote it as c-l. c-l is the length of the second shortest path. • The payment to node as follow
Conclusion: is the length of shortest avoiding path. Algorithm Illustration
Incentive-Compatible Interdomain Routing Based on the article: “Incentive-Compatible Interdomain Routing” Joan Feigenbaum, Christos Papadimitriou, Rahul Sami, Scott Shenker
Preliminaries • Data on the Internet has to be conveyed from many sources to many targets. • Routing - Conveyance of the data through the different routes. • AS = Autonomous System = A Sub-network that serves as a mid-point for the conveyance routes. A.K.A Domain.
OurGoal • To convey all data on the Internet in the most efficient way. • Problem:To know the most efficient way, we must know the true efficiencies of the AS’s.But every AS has an owner, and the owners are human!
Definitions • Traffic - Quantity of packets that are transmitted throughout the network. • Cost - For every AS, it is the additional load imposed on its internal network by carrying traffic. • Transit Traffic - For every AS, it is the traffic which neither originates nor is destined to that AS. • Price - A compensation which is paid for every AS for carrying transit traffic. • LCP = Lowest-Cost Path (between any two AS’s).
Our Goal - More Formally • To convey all data on the network s.t. the total costs are minimized. • High efficiency = Low total costs • Problem:To do that, we must know the true costs of the AS’s.But every AS might be lying about its costs!
Model - General Assumptions (I) • AS’s are unitary strategic agents. • There is no centralized authority that controls the network, whom the AS’s can trust. • There exists a protocol that, given a set of AS costs, can compute all LCPs.
Model - General Assumptions (II) • Cost per-packet is constant. • BGP (Border Gateway Protocol) is a suitable protocol that finds and uses LCPs. • In reality, BGP doesn’t find LCPs, but shortest paths (in terms of number of hops). • In reality, BGP doesn’t always use LCPs, but also employs routing by policy and transit restrictions.
Our Goal - According to Model • Devise a pricing scheme for the AS’s s.t. they would have no incentive to lie about their transit costs. • Must be strategy-proof. • Additional Requirement: The pricing scheme would give no payments to AS’s that carry no transit traffic. • Provide a distributed algorithm for the AS’s that is “BGP-friendly”, to compute the above prices.
Definitions • N - set of nodes (AS’s) on the network.n = |N| • L - set of links between nodes of N. • G - the AS graph (N - vertices, L - edges). • Tij - For any two nodes i, j N, it is the intensity of traffic (number of packets) originating from i destined to j. • ck - the transit cost of node k for each transit packet it carries.c-k = (c1, ..., ck-1, ck+1, ..., cn) • pk - the payment which will be given to node k to compensate it for carrying transit traffic.
Specific Assumptions • Between every two nodes there is at most one link. • Allows us to represent network as graph G. • Every link is bi-directional. • Allows G to be undirected. • G is 2-connected. • The transit cost of a node k is the same for all neighbors of k from which the traffic arrives. • Allows us to define ck.
More Definitions • Ik(c;i,j) - Indicator function for the LCP from i to j. Ik(c;i,j) = 1 if node k is an intermediate node on the LCP from i to j. Ik(c;i,j) = 0 otherwise. • Note: Ii(c;i,j) = Ij(c;i,j) = 0. • V(c) - Total cost of routing all packets on LCPs.
Formulation of Goal • Minimize V(c). • Problem:If nodes report false costs, BGP might end up computing different (false) LCPs. • Let c* be the reported cost vector. Then, by definition of Ik:
k’s profits k’s revenues k’s costs Mechanism Design Problem • Purpose: Minimize V(c) (objective function) by making nodes reveal true costs. • Input: <G, c> • c is vector of reported costs, or strategies. The strategy ck of node k is the cost that it reports. • Output: Set of LCPs and prices. • For any given vector c we require:
welfare that world receives from k’s existence per packet from i to j cost of all nodes per packet from i to j if k didn’t exist cost of all nodes per packet from i to j when k exists k’s costs per packet from i to j Mechanism Design Solution • Theorem:When routing picks lowest-cost paths and the network is 2-connected, there is a unique strategy-proof pricing mechanism that gives no payment to nodes that carry no transit traffic. The payments are of the form:
Proof of Theorem (I) • Let uk(c) denote the total costs incurred by a node for the cost vector c. • We have already seen that (Ik(c;i,j))k N minimizes V(c). • We can build a VCG mechanism!
Proof of Theorem (II) • known fact - payments must be expressible as:
Notes on Pricing • Payments are a sum of per-packet payments that don’t depend on the traffic matrix. • Payments are zero if LCP between i and j doesn’t traverse k. Therefore, payments can be computed at k by counting the packets as they enter k (after pricing has been determined). • Costs do not depend on the source and destination of packets, but prices do. • Payment to node k for a packet from i to j is determined by the cost of the LCP and the cost of the lowest-cost path that doesn’t pass through k.
Substrate - BGP (I) • d - Diameter of network, i.e. the maximum number of AS’s in an LCP (not the diameter of G). • Every node i stores, for each AS j, the LCP from i to j (vector of AS ID’s). Each LCP is also described by its total transit cost (sum of costs of transit nodes). • Every node stores O(nd) AS numbers and O(n) path costs. • Routing Table - the above information stored in node i.
Substrate - BGP (II) • “BGP” Algorithm:for each node i (concurrently) { while (1) { Receive routing tables from all neighbors that have sent them; Compute own routing table; if (change detected) { Send routing tables to all neighbors; } } } • Stage - every while iteration. • For every node i, a change can occur because: • A neighbor’s routing table has changed. • A link of i was added or removed.
BGP - Specific Assumptions • Same assumptions as before. • G is an undirected, 2-connected graph. • Router table contains total costs of LCPs. • All nodes compute and exchange tables concurrently. • Frequency of communication is limited by need for keeping network traffic low. • Local computation is not a bottleneck. • When there is more than one LCP to choose from, BGP makes the choice in a loop-free manner. • Explained below. • Static environment - no changes in links.
BGP - Performance • Storage requirement on each node - O(nd) (size of router table). • Number of operations complexity - Measured by number of stages required for convergence and total communication. • Computation of all LCPs within d stages. • Each stage involves O(nd) communication on any link (size of router table). • For node i, total communication in a single stage is O(nd * degree(i)).
Loop-Free BGP • BGP builds the LCPs in a manner that satisfies the following:For every node j, the sub-graph of G containing all the LCPs from j to other nodes in G, is a tree. • Contrary example: j 5 5 k 2 i
Goal - Computation Algorithm • Input: cost vector c where ci is known only to node i. • Output: set of prices, with node i knowing all the values. • Substrate: BGP, receiving <G, c> as distributed input, and giving LCPs as distributed output. • Complexity: Around O(nd) storage requirements on each node, around d stages of communication, around O(nd * degree(i)) data communicated by node i in each stage.
Yet More Definitions • P(c;i,j) - LCP from i to j for the vector of declared costs c (the inner nodes). • c(i,j) - The cost of the above path. • k-avoiding path - Any path that doesn’t pass through k. • P-k(c;i,j) - The lowest-cost k-avoiding path from i to j. • T(j) - The tree of all LCPs for node j.
Upper Bounds for Prices (I) • Question: For kP(c;i,j), given that i and a are neighbors in G and given , what is ? • Reminder: • Case I: a is i’s parent in T(j), a isn’t k. j k a i
Upper Bounds for Prices (II) • Question: For kP(c;i,j), given that i and a are neighbors in G and given , what is ? • Reminder: • CaseII: a is i’s child in T(j). j k i a
Upper Bounds for Prices (III) • Question: For kP(c;i,j), given that i and a are neighbors in G and given , what is ? • Reminder: • Case III: a isn’t adjacent to i in T(j), and k is on P(c;a,j). j k d a i
Upper Bounds for Prices (IV) • Question: For kP(c;i,j), given that i and a are neighbors in G and given , what is ? • Reminder: • Case IV: a isn’t adjacent to i in T(j), and k isn’t on P(c;a,j). j d k a i
Upper Bounds for Prices (V) • Question: For kP(c;i,j), given that i and a are neighbors in G and given , what is ? • Other Cases: • a is i’s parent in T(j), a =k. • a is i’s descendant in T(j), but not its child. • a is i’s ancestor in T(j), but not its parent. • In all the above cases, P-k(c;i,j) will not be (a, P-k(c;a,j)).
Exact Prices (I) • b - The neighbor of i on P-k(c;i,j). • Lemma:For b, the previous four inequalities attain equality.Case I:Case II:Case III:Case IV:
Exact Prices (II) • Proof: • b falls into one of the four cases. • From definition of P-k(c;i,j), there is no undercutting shorter k-avoiding path (no other “blue” path). • Consequence:From the inequalities of cases (I) - (IV) and from the Lemma, we can deduce that:is exactly equal to the minimum, over all neighbors a of i, of the right-hand side of the corresponding inequality !!!
Price Computation Algorithm (I) • Data:In each node i, for each destination node j: • LCP from i to j (after running BGP), i.e.:P(c;i,j) = (i = vk, vk-1, …, v0 = j) • Array of prices in LCP, i.e.: • Cost of LCP, i.e. c(i,j). • Assumptions: • Same assumptions as before for BGP. • Each node i knows for each destination node j and each neighbor a, whether a is its parent, child or neither in T(j).