1 / 105

Economics and Computer Science Network Routing

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.

marilu
Télécharger la présentation

Economics and Computer Science Network Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Economics and Computer ScienceNetwork Routing CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology

  2. Outline • Introduction • Preliminaries and Related Works • Unicast • Multicast • Anycast • Broadcast • Conclusion and future work

  3. 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

  4. 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 ()

  5. 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

  6. 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.

  7. VCG Mechanism • Who designed? • Vickrey(1961); Groves(1973); Clarke(1971) • What is VCG Mechanism? • A VCG Mechanism is truthful.

  8. 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

  9. Unicast

  10. 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

  11. 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.

  12. 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

  13. 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.

  14. 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

  15. Conclusion: is the length of shortest avoiding path. Algorithm Illustration

  16. Incentive-Compatible Interdomain Routing Based on the article: “Incentive-Compatible Interdomain Routing” Joan Feigenbaum, Christos Papadimitriou, Rahul Sami, Scott Shenker

  17. 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.

  18. 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!

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

  20. 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!

  21. 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.

  22. 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.

  23. 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.

  24. Part I:Pricing Scheme

  25. 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.

  26. 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.

  27. 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.

  28. 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:

  29. 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:

  30. 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:

  31. 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!

  32. Proof of Theorem (II) • known fact - payments must be expressible as:

  33. Proof of Theorem (III)

  34. 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.

  35. Part II:Distributed Algorithm(for computing prices)

  36. 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.

  37. 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.

  38. 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.

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

  40. 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

  41. 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.

  42. 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.

  43. Upper Bounds for Prices (I) • Question: For kP(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

  44. Upper Bounds for Prices (II) • Question: For kP(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

  45. Upper Bounds for Prices (III) • Question: For kP(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

  46. Upper Bounds for Prices (IV) • Question: For kP(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

  47. Upper Bounds for Prices (V) • Question: For kP(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)).

  48. 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:

  49. 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 !!!

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

More Related