The Emergence of Sparse Spanners and Greedy Well-Separated Pair Decomposition
aa r X i v : . [ c s . C G ] M a y The Emergence of Sparse Spanners andGreedy Well-Separated Pair Decomposition
Jie Gao ∗ Dengpan Zhou ∗ November 4, 2018
Abstract
A spanner graph on a set of points in R d contains a shortest path between any pair of points with lengthat most a constant factor of their Euclidean distance. A spanner with a sparse set of edges is thus a goodcandidate for network backbones, as desired in many practical scenarios such as the transportation networkand peer-to-peer network overlays. In this paper we investigate new models and aim to interpret why goodspanners ‘emerge’ in reality, when they are clearly built in pieces by agents with their own interests andthe construction is not coordinated. Our main result is to show that the following algorithm generates a (1 + ε ) -spanner with a linear number of edges, constant average degree, and the total edge length as asmall logarithmic factor of the cost of the minimum spanning tree. In our algorithm, the points build edgesat an arbitrary order. When a point p checks on whether the edge to a point q should be built, it will buildthis edge only if there is no existing edge p ′ q ′ with p ′ and q ′ at distances no more than /ε ) · | p ′ q ′ | from p, q respectively. Eventually when all points have finished checking edges to all other points, theresulted collection of edges forms a sparse spanner as desired. This new spanner construction algorithmcan be extended to a metric space with constant doubling dimension and admits a local routing scheme tofind the short paths.As a side product, we show a greedy algorithm for constructing linear-size well-separated pair decom-positions that may be of interest on its own. A well-separated pair decomposition is a collection of subsetpairs such that each pair of point sets is fairly far away from each other compared with their diametersand that every pair of points is ‘covered’ by at least one well-separated pair. Our greedy algorithm selectsan arbitrary pair of points that have not yet been covered and puts a ‘dumb-bell’ around the pair as thewell-separated pair, repeats this until all pairs of points are covered. When the algorithm finishes, we showonly a linear number of pairs is generated, which is asymptotically optimal. A geometric graph G defined on a set of points P ⊆ R d with all edges as straight line segments of weightequal to the length is called a Euclidean spanner , if for any two points p, q ∈ P the shortest path between themin G has length at most λ · | pq | where | pq | is the Euclidean distance. The factor λ is called the stretch factor of G and the graph G is called a λ -spanner. Spanners with a sparse set of edges provide good approximations forthe pairwise Euclidean distances and are good candidates for network backbones. Thus, there has been a lotof work on the construction of Euclidean spanners in both the centralized setting [17, 39] and the distributedsetting [41].In this paper we are interested in the emergence of good Euclidean spanners formed by uncoordinatedagents. Many real-world networks, such as the transportation network, the Internet backbone network, theflight network, are good spanners — one can typically drive from any city to any other city in the U.S. ∗ Department of Computer Science, Stony Brook University, Stony Brook, NY 11794, USA, { jgao,dpzhou } @cs.sunysb.edu . Our contribution.
We consider in this paper the following model that abstracts the scenarios explainedearlier. There are n points in the plane. Each point represents a separate agent and may build edges from itselfto some other points by the strategy to be explained later. The edges in the final graph is the collection ofedges built by all the agents. The agents may decide to build edges at different point in time. When an agent p plans on whether an edge from itself to another point q should be built or not, p checks to see whether thereis already an edge from some points p ′ to q ′ such that | pp ′ | and | qq ′ | are both within /ε ) · | p ′ q ′ | from p and q respectively. If not, the edge pq is built, otherwise it is not. This strategy is very intuitive — if there isalready a cross-country highway from Washington D.C. to San Francisco, it does not make economical senseto build a highway from New York to Los Angeles. We assume that each agent will eventually check on eachpossible edge from itself to all the other points, but the order on who checks which edge can be completelyarbitrary . With this strategy, the agents only make decisions with limited information and no agent has fullcontrol over how and what graph will be constructed. It is not obvious that this strategy will end up with asparse spanner on all points. It is even not clear that the graph will be connected.The main result in this paper is to prove that with the above strategy executed in any arbitrary order, thegraph built at the end of the process is a sparse spanner graph with the following properties: • Between any two points p, q , there is a path with stretch ε and O ( | pq | / (1+2 /ε ) ) hops. • The number of edges is O ( n ) . • The total edge length of the spanner is O ( | MST | · log α ) , where α is the aspect ratio , i.e., the ratio ofthe distance between the furthest pair and the closest pair, and | MST | is the total edge length of the2inimum spanning tree of the point set. Clearly | MST | is a lower bound on the total edge length of anyconstant stretch spanner. • The degree of each point is O (log α ) in the worst case and O (1) on average.An example of such a spanner is shown in Figure 1 in the Appendix. The above results for Euclidean space canbe extended to a metric with constant doubling dimension. We also show that the spanner can be constructedfor n agents with the help of a near neighbor oracle such that • Only a total number of O ( n log α ) messages need to be exchanged between the agents during the entireconstruction process. • The spanner topology is implicitly stored on the nodes with each node’s storage cost bounded by O (log α ) . It turns out with this representation the nearest neighbor of each node is included in theinformation stored on each node. • And yet simply with the partial information stored at each node, there is a local distributed algorithmthat finds a (1 + ε ) -stretch path with maximum O ( | pq | / (1+2 /ε ) ) hops between any two nodes.To explain how this result is proved, we first obtain as a side product the following greedy algorithm forcomputing a well-separated pair decomposition of the points with optimal size. A pair of two sets of points, ( A, B ) with A, B as subsets of P , is called s -well-separated if the smallest distance between any two pointsin A, B respectively is at least s times greater than the diameters of A and B . An s -well-separated pairdecomposition ( s -WSPD for short) is a collection of s -well-separated pairs W = { ( A i , B i ) } such that for anypair of points p, q ∈ P there is a pair ( A, B ) ∈ W with p ∈ A and q ∈ B . The size of an s -WSPD is thenumber of point set pairs in W . Well-separated pair decomposition (WSPD) was first introduced by Callahanand Kosaraju [8] and they developed algorithms for computing an s -WSPD with linear size for points in R d .Since then WSPD has found many applications in computing k -nearest neighbors, n -body potential fields,geometric spanners and approximate minimum spanning trees [5, 6, 8, 7, 3, 2, 38, 35, 25, 18].So far there are two algorithms for computing optimal size WSPD, one in the original paper [8] and one ina later paper [23]. Both of them use a hierarchical organization of the points (e.g., the fair split tree in [8] andthe discrete center hierarchy in [23]) and output the well-separated pairs in a recursive way. In this paper weshow the following simple greedy algorithm also outputs an s -WSPD with linear size. In particular, we takean arbitrary pair of points p, q that is not yet covered in any existing well-separated pair, and consider the pairof subsets ( B r ( p ) , B r ( q )) with r = | pq | / (2 s + 2) and B r ( p ) ( B r ( q ) ) as the set of points of P within distance r from p ( q ). Clearly ( B r ( p ) , B r ( q )) is an s -well-separated pair and now all the pairs of points ( p ′ , q ′ ) with p ′ ∈ B r ( p ) and q ′ ∈ B r ( q ) are covered. The algorithm continues until all pairs of points are covered. Weshow that, no matter in which order the pairs are selected, the greedy algorithm will always output a linearnumber of well-separated pairs.The key idea in proving the linear size WSPD generated by the greedy algorithm is to show that at mosta constant number of the generated well-separated pairs can be mapped to each well-separated pair generatedby the deformable spanner [23], a data structure that has found many applications in proximity search withefficient update algorithm in both the kinetic [23] and dynamic settings [44, 24]. It has been shown in [23]that the deformable spanner implies a WSPD with linear size. Thus the greedy algorithm also finds a linearnumber of pairs. The greedy WSPD also has a number of nice properties (not necessarily carried by theWSPD constructed in [8]) as to be shown in more details later. The greedy WSPD algorithm may be ofinterest by itself.Well-separated pair decomposition is deeply connected to geometric spanners. In fact, any WSPD willgenerate a spanner graph if one puts an edge between an arbitrary pair of points p, q from each well-separatedpair ( A, B ) ∈ W [3, 2, 38, 35]. The number of edges in the spanner equals to the size of W . In the otherdirection, the deformable spanner in [23] implies a WSPD of linear size. The connection is further witnessedin this paper — in our spanner emergence algorithm, each agent p constructs an edge to q only when there3s no nearby edge connecting points near p to points near q , this simple rule implies a WSPD generated in agreedy manner. Hence our spanner construction in an uncoordinated manner inherits many nice properties ofthe greedy WSPD.Last, this paper focuses on the case when the points are distributed in the Euclidean space. The basic ideaextends naturally to metrics with constant doubling dimensions [26, 40, 42], as the main technique involvesessentially various forms of geometric packing arguments. Related work.
The model and the philosophy in this paper are related to the network creation game [19, 13,32, 1, 37]. Fabrikant et al. [19] was the first to introduce the network creation game, in order to understandthe evolution of network topologies by selfish agents. The model used there (and in follow-up papers) assignsa cost function to each agent that captures the cost paid by the agents to build connections to others minus thebenefit received from the resulted network topology. The agents play a game by minimizing their individualcosts. Almost all these papers use a unit cost for each edge and they deviate in how the benefit of ‘beingconnected to others’ is modeled. These papers are interested in the existence of Nash equilibria and the priceof anarchy of Nash equilibria. There are two major open questions along this direction. First, the choice of costfunctions is heuristic — often some intuitive cost functions are selected. There is little understanding on whatcost function best captures the reality yet small variation in the cost function may result in big changes in thenetwork topologies at Nash equilibria. It is also not easy to execute the game in practice — either because theselfish agents may face deadlines and have to decide on building an edge or not immediately and sometimesthe edges already built cannot be removed later (e.g., in the development of the transportation network bydifferent local governments), or because the agents do not have the big picture and the current strategies ofall other agents (e.g., in the P2P setting). The second problem is that there is not much understanding of thetopologies at Nash equilibria. Some of the topologies at Nash equilibria in these papers are very simplistictopologies such as trees or complete graphs (and these topologies do not show up often in real world). Forother more sophisticated topologies, there is not much understanding of their characteristics and therefore itis not clear whether these topologies are desirable. Our model is connected to the game theoretic model inthe way that we also try to relax the requirement of a centralized authority in the graph construction, yet wealso incorporate practical considerations that may not allow the agents from playing games to reach a Nashequilibrium. We believe such models and good algorithms under these models worth further exploration andthis paper makes a first step along this line.In the vast amount of prior literature on geometric spanners, there are three main ideas: Θ -graphs, thegreedy spanners, and the WSPD-induced spanners [39]. We will review two spanner construction ideas thatare most related to our approach. The first idea is the path-greedy spanner construction [11, 14, 15, 16]. Allpairwise edges are ordered with non-decreasing lengths and checked in that order. An edge is included in thespanner if the shortest path in the current graph is longer than λ times the Euclidean distance, and is discardedotherwise. Variants of this idea generate spanners with constant degree and total weight O ( | MST | ) . This ideacannot be applied in our setting as edges constructed in practice may not be in non-decreasing order of theirlengths and in a P2P network with high churn rate it is too much overhead to compute the shortest path lengthin the current overlay network (while checking the distance between two nodes, i.e., the path length in theunderlying network topology, can be done easily with a T RACE R OUTE command). The second idea is to usethe gap property [11] — the sources and sinks of any two edges in an edge set are separated by a distanceat least proportional to the length of the shorter of the two edges and their directions are differed no morethan a given angle. The gap-greedy algorithm [4] considers pairs of points, again, in order of non-decreasingdistances, and includes an edge in the spanner if and only if it does not violate the gap property. The spannergenerated this way has constant degree and total weight O ( | MST | ) . Compared with our algorithm, our strategyis a relaxation of the gap property in the way that the edges in our spanner may have one of their endpointsarbitrarily close (or at the same points) and we have no restriction on the direction of the edges. The prooftechniques are also quite different. The proof for the gap greedy algorithm requires heavily plane geometrytools and our proof technique only uses packing argument and can be extended to the general metric setting as4ong as a similar packing argument holds. To get these benefit our algorithm has slightly worse upper boundson the spanner weight by a logarithmic factor.Spanner construction for metric space of constant doubling dimension has been proposed before [9, 10,29]. These algorithms are centralized. Organization.
In the rest of the paper we first elaborate the spanner construction in an uncoordinated man-ner and then show the connection of the spanner with the greedy WSPD. We then show the nice properties ofboth the greedy WSPD and our spanner. At the end, we describe how to apply the spanner in a decentralizedsetting to support low-storage spanner representation and efficient local low-stretch routing.
Assuming n points in R d , each point represents an agent. We consider the following algorithm for constructinga sparse spanner with stretch factor s in an uncoordinated way. For any point p , denote by B r ( p ) the collectionof points that are within distance r from point p , i.e., inside the ball with radius r centered at p . Uncoordinated spanner construction.
Each point/agent p will check to see whether an edge from itselfto another point q should be constructed or not. At this point there might be some edges already constructedby other agents. The order of which agent checks on which edge is completely arbitrary . Specifically, p performs the following operation: Check where there is already an edge p ′ q ′ such that p and q are within distance | p ′ q ′ | s +1) from p ′ , q ′ respec-tively. If so, p does not build the edge to q . Otherwise, p will build an edge to q . This incremental construction of edges is executed by different agents in a completely uncoordinatedmanner. We assume that no two agents perform the above strategy at exactly the same time. Thus whenany agent conducts the above process, the decision is based on the current network already constructed.The algorithm terminates when all agents finish checking the edges from themselves to all other points. Inthis paper we first study the properties of the constructed graph G by these uncoordinated behaviors. Wewill discuss later in Section 5 a proper complexity model for the uncoordinated construction in a distributedenvironment and also bound the computing cost of this spanner.Before we proceed with our proof, we first realize the following invariant is maintained by the graph G .The proof follows immediately from the construction of G . Lemma 2.1.
1. For any edge pq that is not in G , there is another edge p ′ q ′ in G such that | pp ′ | ≤| p ′ q ′ | / (2 s + 2) , | qq ′ | ≤ | p ′ q ′ | / (2 s + 2) .2. For any two edges pq , p ′ q ′ in the constructed graph G , suppose that pq is built before p ′ q ′ , then one ofthe following istrue: | pp ′ | > | pq | / (2 s + 2) or | qq ′ | > | pq | / (2 s + 2) .To show that the algorithm eventually outputs a good spanner, we first show the connection of G with thenotion well-separated pair decomposition . Definition 2.2 (Well-separated pair).
Let s > be a constant, and a pair of sets of points A , B is s -separated, if d ( A, B ) ≥ s · max( diam ( A ) , diam ( B )) , where diam ( A ) is the diameter of the point set A ,diam ( A ) = max p,q ∈ A | pq | ,and d ( A, B ) = min p ∈ A,q ∈ B | pq | . Definition 2.3 (Well-separated pair decomposition).
Let s > be a constant, and P be a point set. An s -well-separated pair decomposition (WSPD)of P isaset ofpairs W = { ( A , B ) , . . . , ( A m , B m ) } ,s.t.1. A i , B i ⊆ P ,and the pair sets A i and B i are s -separated for every i .2. Forany twopoints p, q ∈ P ,there is atleast one pair ( A i , B i ) such that p ∈ A i and q ∈ B i .5ere m iscalled the size ofthe WSPD.In our construction of G , it is not so hard to see that a well-separated pair decomposition is actuallyimplied. Theorem 2.4.
From the uncoordinated construction of the graph G , we can build the following s -well-separated pair decomposition W : for each edge pq in G , include in W the pair ( B r ( p ) , B r ( q )) , with r = | pq | / (2 s + 2) . Thesize ofthe WSPDisthe number of edges in G . Proof:
First each pair ( B r ( p ) , B r ( q )) is an s -well-separated pair. Obviously, d ( B r ( p ) , B r ( q )) ≥ | pq | − r ,and diam ( B r ( p )) , diam ( B r ( q )) ≤ r . One can then verify that d ( B r ( p ) , B r ( q )) ≥ s · max( diam ( B r ( p )) , diam ( B r ( q ))) .We now show that any point p, q is included in one well-separated pair. If the edge pq is in the graphthe claim is true obviously. Otherwise, there is an edge p ′ q ′ in G such that | pp ′ | ≤ | p ′ q ′ | / (2 s + 2) , | qq ′ | ≤| p ′ q ′ | / (2 s + 2) , by Lemma 2.1. This means that p ∈ B r ′ ( p ′ ) and q ∈ B r ′ ( q ′ ) with r ′ = | p ′ q ′ | / (2 s + 2) . Thisfinishes the proof. (cid:3) A greedy algorithm for well-separated pair decomposition.
The above theorem shows the connection ofthe uncoordinated graph G with a WSPD W . In fact, the way to compute the WSPD W via the constructionof G is equivalent to the following algorithm that computes an s -WSPD, in a greedy fashion, with s > .1. Choose an arbitrary pair ( p, q ) , not yet covered by existing well-separated pairs in W .2. Include the pair of point sets B r ( p ) and B r ( q ) in the WSPD W , with r = | pq | / (2 + 2 s ) .3. Label every point pair ( p i , q i ) with p i ∈ B r ( p ) and q i ∈ B r ( q ) as being covered.4. Repeat the above steps until every pair of points is covered.With the s -WSPD W , the uncoordinate construction of the graph G is in fact by taking an edge from eachand every well-separated pair in W — the simple rule in Lemma 2.1 prevented two edges from the same well-separated pair in W to be constructed. It is already known that for any well-separated pair decomposition, ifone edge is taken from each well-separated pair, then the edges will become a spanner on the original pointset [3, 2, 38, 35]. For our specific greedy s -WSPD, we are able to get a slightly better stretch as shown in thetheorem below. Theorem 2.5.
Graph G constructed fromthegreedy s -WSPDisaspannerwithstretchfactor ( s + 1) / ( s − . Proof:
Denote by π ( p, q ) the shortest path length between p, q in the graph G . We show that π ( p, q ) ≤ β ·| pq | for any p, q ∈ P , with β = ( s + 1) / ( s − . We prove this claim by induction on the distance between twopoints p, q . Take p, q as the closest pair of P . Then any s -WSPD will have to use a singleton pair ( p, q ) to cover the pair ( p, q ) if s > . If otherwise, say ( P, Q ) is an s -well-separated pair that covers ( p, q ) , and | P | > . Then diam ( P ) > | pq | , and d ( P, Q ) = | pq | . This contradicts with the fact that d ( P, Q ) ≥ s · diam ( P ) .Therefore the edge pq is included in G for sure and π ( p, q ) = | pq | .Now suppose that for all pairs of nodes x, y with Euclidean distance | xy | ≤ ℓ , we have π ( x, y ) ≤ β · | xy | .Now we consider the pair of nodes p, q with the smallest distance (among all remaining pairs) that is stillgreater than ℓ . ( p, q ) is covered by an s -well-separated pair ( P, Q ) ∈ W , where P = B r ( p ′ ) and Q = B r ( q ′ ) with r = | p ′ q ′ | / (2 s + 2) and p ′ q ′ an edge in G . Now we argue that | pp ′ | ≤ ℓ . If otherwise, | pq | ≥ d ( P, Q ) ≥ s · diam ( P ) ≥ s · | pp ′ | > | pp ′ | . So we should have selected the pair ( p, p ′ ) instead of ( p, q ) . Similarly, | qq ′ | ≤ ℓ . Thus by induction hypothesis π ( p, p ′ ) ≤ β · | pp ′ | , π ( q, q ′ ) ≤ β · | qq ′ | . By triangle inequality,we have π ( p, q ) ≤ π ( p, p ′ ) + | p ′ q ′ | + π ( q, q ′ ) ≤ β · ( | pp ′ | + | qq ′ | ) + | p ′ q ′ | ≤ β · r + | p ′ q ′ | . On the otherhand, we know by triangle inequality that | pq | ≥ | p ′ q ′ | − r = ss +1 · | p ′ q ′ | . Combining everything we get that π ( p, q ) ≤ ( βs +1 + 1) · s +1 s · | pq | = β · | pq | , with β = ( s + 1) / ( s − . This finishes the proof. (cid:3) To make the stretch factor as ε , we just take s = 1 + 2 /ε in our spanner construction. We also want toshow that the spanner is sparse and has some other nice properties useful for our applications. For that wewill first show that the greedy WSPD algorithm will output a linear number of well-separated pairs.6 igure 1. An example of the uncoordinated spanner for 100 points with aspect ratio α = 223 , the average degree is 6.5, and thestretch is 3.4. The uncoordinated spanner has linear size
To show that the WSPD by the greedy algorithm has a linear number of pairs, we actually show the connectionof this WSPD with a specific WSPD constructed by the deformable spanner [23], in the way that at most aconstant number of pairs in W is mapped to each well-separated pair constructed by the deformable spanner.To be consistent, in the following description, the greedy WSPD is denoted by W and the WSPD constructedby the deformable spanner is denoted by ˆ W . In this section, we review the basic definition of the deformable spanner and some related properties, whichwill be used in our own algorithm analysis in the next subsection.Given a set of points P in the plane, a set of discrete centers with radius r is defined to be the maximalset S ⊆ P that satisfies the covering property and the separation property: any point p ∈ P is within distance r to some point p ′ ∈ S ; and every two points in S are of distance at least r away from each other. In otherwords, all the points in P can be covered by balls with radius r , whose centers are exactly those points in thediscrete center set S . And these balls do not cover other discrete centers.We now define a hierarchy of discrete centers in a recursive way. S is the original point set P . S i isthe discrete center set of S i − with radius i . Without loss of generality we assume that the closest pair hasdistance (as we can scale the point set and do not change the combinatorial structure of the discrete centerhierarchy). Thus the number of levels of the discrete center hierarchy is lg α , where α is the aspect ratio ofthe point set P , defined as the ratio of the maximum pairwise distance to the minimum pairwise distance,that is, α = max u,v ∈P | uv | / min u,v ∈P | uv | . Since a point p may stay in multiple consecutive levels and correspond tomultiple nodes in the discrete center hierarchy, we denote by p ( i ) the existence of p at level i . For each point p ( i − ∈ S i − on level i − , it is within distance i from at least one other point on level i . Thus we assignto p ( i − a parent q ( i ) in S i such that | p ( i − q ( i ) | ≤ i . When there are multiple points in S i that cover p ( i − ,we choose one as its parent arbitrarily. We denote by P ( p ( i − ) the parent of p ( i − on level i . We denote by P ( i ) ( p ) = P ( P ( i − ( p )) the ancestor of p at level i .The deformable spanner is based on the hierarchy, with all edges between two points u and v in S i if | uv | ≤ c · i , where c is a constant equal to /ε .We remark that Krauthgamer and Lee [33] independently proposed a very similar hierarchical structurefor proximity search in metrics with doubling dimension [26].Now we will restate some important properties of the deformable spanner that will be useful in our algo-rithm analysis. Lemma 3.1 (Packing Lemma [23]).
In a point set S ⊆ R d , if every two points are at least distance r awayfromeach other, then there can be atmost (2 R/r + 1) d points in S within any ball withradius R . Lemma 3.2 (Deformable spanner properties [23]).
Forasetof n points in R d withaspect ratio α ,1. Forany point p ∈ S ,itsancestor P ( i ) ( p ) ∈ S i is ofdistance atmost i +1 awayfrom p .2. Anypoint p ∈ S i has at most (1 + 2 c ) d − edges withother points of S i .3. Thedeformable spanner ˆ G isa (1 + ε ) -spanner with O ( n/ε d ) edges.4. ˆ G has total weight O ( | MST | · lg α/ε d +1 ) , where | MST | is the weight of the minimal spanning tree ofthe point set S .As shown in [23], the deformable spanner implies a well-separated pair decomposition ˆ W by taking allthe ‘cousin pairs’. Specifically, for a node p ( i ) on level i , we denote by P i the collection of points that are8ecedents of p ( i ) (including p ( i ) itself). Now we take the pair ( P i , Q i ) , the sets of decedents of a cousinpair p ( i ) and q ( i ) , i.e., p ( i ) and q ( i ) are not neighbors in level i but their parents are neighbors in level i + 1 .This collection of pairs constitutes a ε -well-separated pair decomposition. The size of ˆ W is bounded by thenumber of cousin pairs and is shown to be in the order of O ( n/ε d ) . With the WSPD ˆ W constructed by the deformable spanner, we now prove that the greedy WSPD W haslinear size as well. The basic idea is to map the pairs in W to the pairs in ˆ W and show that at most a constantnumber of pairs in W map to the same pair in ˆ W . Theorem 3.3.
Thegreedy s -WSPD W has size O ( ns d ) . Proof:
Suppose that we have constructed a deformable spanner DS with c = 4( s + 1) and obtained an s -well-separated pair decomposition (WSPD) of it, call it ˆ W , where s = c/ − . The size of ˆ W is O ( ns d ) .Now we will construct a map that takes each pair in W and map it to a pair in ˆ W .Each pair ( P, Q ) in W is created by considering the points inside the balls B r ( p ) , B r ( q ) with radius r = | pq | / (2 + 2 s ) around p, q . Now we consider the ancestors of p, q in the spanner DS respectively. There isa unique level i such that the ancestor u i = P ( i ) ( p ) and v i = P ( i ) ( q ) do not have a spanner edge in betweenbut the ancestor u i +1 = P ( i +1) ( p ) and v i +1 = P ( i +1) ( q ) have an edge in between. The pair u i , v i is a cousinpair by definition and thus their decedents correspond to an s -well-separated pair ( P i , Q i ) in ˆ W . We say thatthe pair ( B r ( p ) , B r ( q )) ∈ W maps to the descendant pair ( P i , Q i ) ∈ ˆ W .By the discrete center hierarchy (Lemma 3.2) and that u i , v i do not have an edge in the spanner, i.e., | u i v i | > c · i , we show that, | pq | ≥ | u i v i | − | pu i | − | qv i | ≥ | u i v i | − · i +1 ≥ ( c − · i . Also, since u i +1 , v i +1 have an edge in the spanner, | u i +1 v i +1 | ≤ c · i +1 , | pq | ≤ | pu i +1 | + | u i +1 v i +1 | + | qv i +1 | ≤ · i +2 + c · i +1 = 2( c + 4) · i . Similarly, we have c · i < | u i v i | ≤ | u i u i +1 | + | u i +1 v i +1 | + | v i v i +1 | ≤ · i +1 + c · i +1 = 2( c + 2) · i . Therefore the distance between p and q is c ′ · | u i v i | , where ( c − / (2 c + 4) ≤ c ′ ≤ (2 c + 8) /c .Now suppose two pairs ( B r ( p ) , B r ( q )) , ( B r ( p ) , B r ( q )) in W map to the same pair u i and v i bythe above process. Without loss of generality suppose that p , q are selected before p , q in our greedyalgorithm. Here are some observations:1. | p q | = c ′ · | u i v i | , | p q | = c ′ · | u i v i | , r = | p q | / (2 + 2 s ) = c ′ · | u i v i | / (2 + 2 s ) , r = c ′ · | u i v i | / (2 +2 s ) , where ( c − / (2 c + 4) ≤ c ′ , c ′ ≤ (2 c + 8) /c , and r , r are the radii of the balls for the two pairsrespectively.2. The reason that ( p , q ) can be selected in our greedy algorithm is that at least one of p or q is outsidethe balls B ( p ) , B ( q ) , by Lemma 2.1. This says that at least one of p or q is of distance r awayfrom p , q .Now we look at all the pairs ( p ℓ , q ℓ ) that map to the same ancestor pair ( u i , v i ) . The pairs are orderedin the same order as they are constructed, i.e., p , q is the first pair selected in the greedy WSPD algorithm.Suppose r min is the minimum among all radius r i . r min = | pq | min / (2+ s ) ≥ ( c − / (2 c +4) · c · i / (2+2 s ) = s/ (2 s + 3) · i +1 . We group these pairs in the following way. The first group H contains ( p , q ) and all the9airs ( p ℓ , q ℓ ) that have p ℓ within distance r min / from p . We say that ( p , q ) is the representative pair in H and the other pairs in H are close to the pair ( p , q ) . The second group H contains, among all remainingpairs, the pair that was selected in the greedy algorithm the earliest, and all the pairs that are close to it. Werepeat this process to group all the pairs into k groups, H , H , · · · , H k . For all the pairs in each group H j ,we have one representative pair, denoted by ( p j , q j ) and the rest of the pairs in this group are close to it.We first bound the number of pairs belonging to each group by a constant with a packing argument. Withour group criteria and the above observations, all p ℓ in the group H j are within radius r min from each other.This means that the q ℓ ’s must be far away — the q ℓ ’s must be at least distance r min away from each other, byLemma 2.1. On the other hand, all the q ℓ ’s are descendant of the node v i , so | v i q ℓ | ≤ i +1 by Theorem 3.2.That is, all the q ℓ ’s are within a ball of radius i +1 centered at v i . By the packing Lemma 3.1, the number ofsuch q ℓ ’s is at most (2 · i +1 /r min + 1) d ≤ (2 · i +1 (2 s + 3) / ( s · i +1 ) + 1) d = (5 + 6 /s ) d . This is also thebound on the number of pairs inside each group.Now we bound the number of different groups, i.e., the value k . For the representative pairs of the k groups, ( p , q ) , ( p , q ) , · · · , ( p k , q k ) , all the p i ’s must be at least distance r min / away from each other.Again these p i ’s are all descendant of u i and thus are within distance i +1 from u i . By a similar packingargument, the number of such p i ’s is bounded by (4 · i +1 /r min + 1) d ≤ (9 + 12 /s ) d . So the total numberof pairs mapped to the same ancestor pair in ˆ W will be at most (5 + 6 /s ) d · (9 + 12 /s ) d = ( O (1 + 1 /s )) d .Thus the total number of pairs in W is at most O ( ns d ) . This finishes the proof. (cid:3) With the result that the greedy WSPD has linear size in the previous section and the connection of the greedyWSPD with the uncoordinated spanner construction in Section 2, we are able to obtain the following theorems.The proofs use various of packing arguments.
Theorem 4.1.
Theuncoordinated spanner G withparameter s isaspannerwithstretchfactor ( s + 1) / ( s − and has O ( ns d ) number of edges. Proof:
The number of edges in the spanner is the same as the size of the greedy WSPD W with the sameparameter s constructed by selecting the same set of edges in the same order. (cid:3) Theorem 4.2. G hasa maximaldegree of O (lg α · s d ) and average degree O ( s d ) . Proof:
With the same argument as in Theorem 3.3, each pair ( p, q ) built in the uncoordinated spanner maps toa pair of ancestors ( P ( i ) ( p ) , P ( i ) ( q )) in the deformable spanner that is a cousin pair. Consider all the edges of p in G , ( p, q ℓ ) , that map to the same ancestor pair ( P ( i ) ( p ) , P ( i ) ( q )) . By a similar argument, all the q ℓ ’s mustbe at least distance r min away from each other (since all these pairs have p as the first element in the pair).Thus we have the number of such edges is bounded by (5+ 6 /s ) d . The number of cousin pairs associated with P ( i ) ( p ) is at most d times the number of adjacent edges of P ( i +1) ( p ) , and is bounded by d · [(8 s + 9) d − (by Theorem 3.2). Since there are ⌊ lg α ⌋ levels, the total number of edges associated with the node p is atmost ⌊ lg α ⌋ · d · [(8 s + 9) d − · (5 + 6 /s ) d . Then the maximal degree of the spanner is O (lg α · s d ) .Since the spanner has total O ( ns d ) edges, the average degree is O ( s d ) . (cid:3) Theorem 4.3. G hastotal weight O (lg α · | MST | · s d +1 ) . Proof:
Again we use the mapping of the uncoordinated spanner edges to the cousin pairs in the deformablespanner DS , as in Theorem 3.3. We also use the same notation here. Consider all the edges ( p ℓ , q ℓ ) that mapto the same ancestor cousin pair ( u i , v i ) . We now map them to the edge between the parents of this cousin10 p’ p q q’ Figure 2.
An example shows that we may achieve the tight bound | pq | / (1+lg s ) on the hop distance between point p and q . pair, i.e., edge u i +1 v i +1 in DS . The pair ( u i +1 , v i +1 ) has at most d number of cousin pairs. Thus at most (5 + 6 /s ) d · (9 + 12 /s ) d · d = ( O (1 + 1 /s )) d edges in G are mapped to one edge in DS .Now we will bound the length of an edge pq in G and the edge u i +1 v i +1 in DS it maps to. From theproof of Theorem 3.3, we know that ( c − · i ≤ | pq | ≤ c + 4) · i . In addition, | u i +1 v i +1 | ≤ c · i as u i +1 v i +1 is an edge in DS , and | u i +1 v i +1 | ≥ | u i v i | − | u i +1 u i | − | v i +1 v i | ≥ c · i − · i +1 = ( c − · i .Thus, ( c − / (2 c ) ≤ | pq | / | u i +1 v i +1 | ≤ c + 4) / ( c − .We now bound the total weight of the spanner G . We group all the edges by the spanner edge in DS thatthey map to. Thus we have the total weight of G is at most c + 4) / ( c − · ( O (1 + 1 /s )) d the weight of DS . By Theorem 3.2, the weight of DS is at most O (lg α · | MST | · s d +1 ) . Thus the weight of G is at most O (lg α · | MST | · s d +1 ) . (cid:3) Theorem 4.4.
For any two points p and q in G , there is a path with stretch ( s + 1) / ( s − between p and q withat most | pq | / (1+lg s ) hops. Proof:
For any two point p and q , they will be covered by a pair set ( P, Q ) with respect to edge p ′ q ′ so that p ∈ P and q ∈ Q . The path p q between p and q can be found recursively by taking the path p p ′ ,then the edge p ′ q ′ , and then the path q ′ q . This path found recursively will have stretch ( s + 1) / ( s − according to Theorem 2.5.Obviously | pp ′ | ≤ r ≤ | pq | / (2 s ) . Denote by h ( | pq | ) the hop count of the path between p and q withstretch ( s + 1) / ( s − . Thus we can get the following recurrence h ( | pq | ) = h ( | pp ′ | ) + 1 + h ( | qq ′ | ) ≤ h ( | pq | / (2 s )) + 1 + h ( | pq | / (2 s )) , that is, h ( x ) = 2 h ( x/ (2 s )) + 1 . Solve this recurrence we get h ( | pq | ) =2 lg s | pq | +1 = 2 lg | pq | / lg(2 s )+1 = 2 | pq | / (1+lg s ) .The analysis is tight as shown by Figure 2. In the example, we assume all the nodes almost lying on theline. The 2 balls with the same radius on the left side(or right side) is the pair that covers p (or q ), and there isan edge between them(in order to see clearly, we draw curve line between them). The red bold balls are theballs that contain p (or q on the left side). If we create these pairs in decreasing order on the radius, then wewill have a path between p and q with exactly | pq | / (1+lg s ) hops. And we assume all the rest points are faraway, then this is the only path between p and q . (cid:3) The spanner construction is so far only defined on points in Euclidean space. Now, we will first extend ourspanner results to a more general metric, metric with constant doubling dimension. The doubling dimensionof a metric space ( X, d ) is the smallest value γ such that each ball of radius R can be covered by at most γ balls of radius R/ [26]. Metrics with constant doubling dimension appear in many different settings. Forexample, it has been discovered that the Internet delay metric has restricted growth rate and approximately11as a constant doubling dimension [40, 42]. As the main technique used in the spanner analysis is packingargument, the following Theorem is the extension of the spanner in the metric case. The proof is in theAppendix. Theorem 5.1.
For n points and a metric space defined on them with constant doubling dimension γ , theuncoordinated spanner construction outputs aspanner G withstretch factor ( s + 1) / ( s − ,hastotal weight O ( γ · lg α · | M ST | · s O ( γ ) ) and has O ( γ · n · s O ( γ ) ) number of edges. Also it has a maximal degree of O ( γ · lg α · s O ( γ ) ) and average degree O ( γ · s O ( γ ) ) . Proof:
The proof follows almost the same as those in the previous section. The deformable spanner can beapplied for metrics with constant doubling dimension [23]. Whenever we use a geometric packing argument,we replace by the property of metrics of constant doubling dimension. We just need to notice that, with theproposition from [26], the number of pairs in a group that might be mapped to the same ancestor is boundedby γ ⌈ lg(2 R/r ) ⌉ = γ ⌈ lg(2 · i +1 / ( s/ (2 s +3) · i +1 )) ⌉ = γ ⌈ lg(2+3 /s ) ⌉ < γ , and the number of groups is bounded by γ ⌈ lg(2 R/ ( r/ ⌉ = γ ⌈ lg(4 · i +1 / ( s/ (2 s +3) · i +1 )) ⌉ < γ , (cid:3) Model of computing.
Now we would like to discuss the computing model as well as the construction costof an uncoordinated spanner. Each distributed agent checks whether an edge to another agent should be builtor not. The order for these operations can be arbitrary. We assume that there is already an oracle that answersnear neighbors queries: return the list of nodes within distance r from any node x . Such near neighbor oraclemay be already available in the applications. For example, in transportation network, if we think each city asan agent, it usually stores the nearby cities and the corresponding transportation road by them. For a metricwith doubling dimension, this oracle can be implemented in a number of ways [42, 33, 30]. For example,such functions can be implemented in Tapestry, a P2P system [31, 50]. Spanner construction and representation.
The spanner edges are recorded in a distributed fashion so thatno node has the entire picture of the spanner topology. After each edge pq in G is constructed, the peers p, q will inform their neighboring nodes (those in B r ( p ) and B r ( q ) with r = | pq | / (2 s + 2) ) that such an edge pq exists so that they will not try to connect to one another. These neighboring nodes can be obtained througha near neighbor search from both p and q . We assume that these messages are delivered immediately so thatwhen any edge is built the previous constructed edges have been informed to nodes of relevance. We remarkthat the nodes in B r ( p ) and B r ( q ) will only store the single edge pq , as well as their distance to p (for those in B r ( p ) ) or q (for those in B r ( q ) ) and the value of | pq | , but not all the nodes in B r ( p ) or B r ( q ) . When a node x considers whether an edge xy should be built, x could simply consult with the edges that it has stored locally.The amount of storage at each node x is proportional to the number of well-separated pairs that include x .The number of messages for this operation is bounded by | B r ( p ) | + | B r ( q ) | . The following theorem showsthat the total number of such messages during the execution of the algorithm is almost linear in n . That is, onaverage each node sends about O ( s d · lg α ) messages. Also the amount of storage at each node is bounded by O ( s d lg α ) . Theorem 5.2.
For the uncoordinated spanner G and the corresponding greedy WSPD W = { ( P i , Q i ) } withsize m ,each node x isincluded inat most O ( s d lg α ) well-separated pairs in W . Proof:
For each point x , each well-separated pair that contains x can be mapped to some ancestor pair insome level in the corresponding deformable spanner. Let’s consider the set pair ( P, Q ) (with respect to edge pq ) that is mapped to the ancestor pair ( P ( i ) ( p ) , P ( i ) ( q )) = ( u i , v i ) at level i with x ∈ P . Now we map x tothe node u i and we count how many such nodes u i on level i that a node x may map to. The correspondingradius with ( p, q ) is r = | pq | / (2 + 2 s ) ≤ (1 + 1 / ( s + 1))2 i +2 . In this case, | xp i | ≤ | pu i | + | xp | ≤ i +1 + r ≤ (3 + 2 / ( s + 1))2 i +1 . According to Lemma 3.2, different nodes in level i must be at least i away from each12ther. With a packing argument, there can be at most [((2 · (3+2 / ( s +1))) · i +1 ) / i +1] d = (13+8 / ( s +1)) d different such nodes p i on level i that x may map to. So the number of well-separated pairs that cover x is atmost P lg αi =1 P p i (cid:12)(cid:12) cousin pairs with p i (cid:12)(cid:12) · (cid:12)(cid:12) pairs in W mapping to a cousin pair with p i (cid:12)(cid:12) ≤ lg α · (13 + 8 / ( s + 1)) d · d [(8 s + 9) d − · ( O (1 + 1 /s ) d )= O ( s d lg α ) . (cid:3) Theorem 5.3.
For the uncoordinated spanner G and the corresponding greedy WSPD W = { ( P i , Q i ) } withsize m , P mi =1 ( | P i | + | Q i | ) = O ( ns d · lg α ) . Thus the total messages involved in the spanner constructionalgorithm is O ( ns d · lg α ) . Proof:
This follows immediately from Theorem 5.2, as m X i =1 ( | P i | + | Q i | ) ≤ X x | pairs that include x | = O ( ns d · lg α ) . (cid:3) Distributed low-stretch routing on spanner.
Although the spanner topology is implicitly stored on thenodes with each node only knows some piece of it, we are actually able to do a distributed and local routingon the spanner with only information available at the nodes such that the path discovered has maximum stretch ( s + 1) / ( s − . In particular, for any node p who has a message to send to node q , it is guaranteed that ( p, q ) is covered by a well-separated pair ( B r ( p ′ ) , B r ( q ′ )) with p ∈ B r ( p ′ ) and q ∈ B r ( q ′ ) . By the constructionalgorithm, the edge p ′ q ′ , after constructed, is informed to all nodes in B r ( p ′ ) ∪ B r ( q ′ ) , including p . Thus p includes in the packet a partial route with { p p ′ , p ′ q ′ , q ′ q } . The notation p p ′ means that p willneed to first find out the low-stretch path from p to the node p ′ (inductively), from where the edge p ′ q ′ can betaken, such that with another low-stretch path to be found out from q ′ to q , the message can be delivered to q . This way of routing with partial routing information stored with the packet is similar to the idea of sourcerouting [47] except that we do not include the full routing path at the source node. By the same induction asused in the proof of spanner stretch (Theorem 2.5), the final path is going to have stretch at most ( s +1) / ( s − and at most | pq | / (1+lg s ) hops. Support for nearest neighbor search.
The constructed spanner can be used to look for the nearest peer inthe P2P network. Since we let each point x keep all the edges ( p, q ) that cover x , among all these p ’s, one ofthem must be the nearest neighbor of x . If otherwise, suppose y is the nearest neighbor of x , and y is not oneof p . But in the WSPD W , ( x, y ) will belong to one of the pair set ( P, Q ) , which corresponds to a spanneredge ( p ′ , q ′ ) that covers x . Then there is a contradiction, as | xp ′ | ≤ diam ( P ) ≤ d ( P, Q ) /s < d ( P, Q ) ≤ | xy | implies that y is not the nearest neighbor of x . According to Theorem 5.2, x will belong to at most O ( s d lg α ) different pair sets. So the nearest neighbor search can be done in O ( s d lg α ) time, with only the informationstored on x . Node insertion and deletion.
The uncoordinated spanner construction supports node insertion and deletion.When a peer x joins the network, it will check with each other peer whether or not a nearby edge exists asspecified in our greedy algorithm. When a peer y leaves the network, p will notify the nodes that are coveredby p ’s edges, i.e., for each edge pq , p will notify q , and all the nodes within | pq | / (2 s + 2) from p and q . Thenthe notified nodes will check and possibly build new edges to restore the spanner property. In this way, thespanner and the good properties can be maintained. 13 Conclusion and future work
This paper aims to explain the emergence of good spanners from the behaviors of agents with their owninterests. The results can be immediately applied to the construction of good network overlays by distributedpeers with incomplete information. For our future work we would like to explore incentive-based overlayconstruction [20]. One problem faced in the current P2P system design is to reward peers that contribute to thenetwork maintenance or service quality and punish the peers that try to take free rides [22, 27, 28, 21, 45, 46].We would like to extend the results in this paper and come up with a spanner construction with differentquality of service for different peers to achieve fairness — those who build more edges should have a smallerstretch to all other nodes and those who do not build many edges are punished accordingly by making thedistances to others slightly longer.
References [1] S. Albers, S. Eilts, E. Even-Dar, Y. Mansour, and L. Roditty. On nash equilibria for a network creation game. In
SODA ’06: Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm , pages 89–98,New York, NY, USA, 2006. ACM.[2] S. Arya, G. Das, D. M. Mount, J. S. Salowe, and M. Smid. Euclidean spanners: short, thin, and lanky. In
Proc.27th ACM Symposium on Theory Computing , pages 489–498, 1995.[3] S. Arya, D. M. Mount, and M. Smid. Randomized and deterministic algorithms for geometric spanners of smalldiameter. In
Proc. 35th IEEE Symposium on Foundations of Computer Science , pages 703–712, 1994.[4] S. Arya and M. Smid. Efficient construction of a bounded-degree spanner with low weight.
Algorithmica , 17:33–54, 1997.[5] Callahan and Kosaraju. Faster algorithms for some geometric graph problems in higher dimensions. In
Proc. 4thACM-SIAM Symposium on Discrete Algorithms , pages 291–300, 1993.[6] P. B. Callahan. Optimal parallel all-nearest-neighbors using the well-separated pair decomposition. In
Proc. 34thIEEE Symposium on Foundations of Computer Science , pages 332–340, 1993.[7] P. B. Callahan and S. R. Kosaraju. Algorithms for dynamic closest-pair and n -body potential fields. In Proc. 6thACM-SIAM Symposium on Discrete Algorithms , pages 263–272, 1995.[8] P. B. Callahan and S. R. Kosaraju. A decomposition of multidimensional point sets with applications to k -nearest-neighbors and n -body potential fields. J. ACM , 42:67–90, 1995.[9] H. T.-H. Chan, A. Gupta, B. M. Maggs, and S. Zhou. On hierarchical routing in doubling metrics. In
SODA ’05:Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms , pages 762–771, 2005.[10] T.-H. H. Chan and A. Gupta. Small hop-diameter sparse spanners for doubling metrics. In
SODA ’06: Proceedingsof the seventeenth annual ACM-SIAM symposium on Discrete algorithm , pages 70–78, New York, NY, USA, 2006.ACM.[11] B. Chandra, G. Das, G. Narasimhan, and J. Soares. New sparseness results on graph spanners.
Internat. J. Comput.Geom. Appl. , 5:125–144, 1995.[12] Y. Chu, S. Rao, S. Seshan, and H. Zhang. Enabling conferencing applications on the internet using an overlaymuilticast architecture.
SIGCOMM Comput. Commun. Rev. , 31(4):55–67, 2001.[13] J. Corbo and D. Parkes. The price of selfish behavior in bilateral network formation. In
PODC ’05: Proceedingsof the twenty-fourth annual ACM symposium on Principles of distributed computing , pages 99–107, New York,NY, USA, 2005. ACM.[14] G. Das, P. Heffernan, and G. Narasimhan. Optimally sparse spanners in -dimensional Euclidean space. In Proc.9th Annu. ACM Sympos. Comput. Geom. , pages 53–62, 1993.
15] G. Das and G. Narasimhan. A fast algorithm for constructing sparse Euclidean spanners.
Internat. J. Comput.Geom. Appl. , 7:297–315, 1997.[16] G. Das, G. Narasimhan, and J. Salowe. A new way to weigh malnourished Euclidean graphs. In
Proc. 6th ACM-SIAM Sympos. Discrete Algorithms , pages 215–222, 1995.[17] D. Eppstein. Spanning trees and spanners. In J.-R. Sack and J. Urrutia, editors,
Handbook of ComputationalGeometry , pages 425–461. Elsevier Science Publishers B.V. North-Holland, Amsterdam, 2000.[18] J. Erickson. Dense point sets have sparse Delaunay triangulations. In
Proc. 13th ACM-SIAM Symposium onDiscrete Algorithms , pages 125–134, 2002.[19] A. Fabrikant, A. Luthra, E. Maneva, C. H. Papadimitriou, and S. Shenker. On a network creation game. In
PODC’03: Proceedings of the twenty-second annual symposium on Principles of distributed computing , pages 347–351,2003.[20] J. Feigenbaum and S. Shenker. Distributed algorithmic mechanism design: recent results and future directions.In
DIALM ’02: Proceedings of the 6th international workshop on Discrete algorithms and methods for mobilecomputing and communications , pages 1–13, New York, NY, USA, 2002. ACM.[21] M. Feldman and J. Chuang. Overcoming free-riding behavior in peer-to-peer systems.
SIGecom Exch. , 5(4):41–50,2005.[22] M. Feldman, K. Lai, I. Stoica, and J. Chuang. Robust incentive techniques for peer-to-peer networks. In
EC ’04:Proceedings of the 5th ACM conference on Electronic commerce , pages 102–111, New York, NY, USA, 2004.ACM.[23] J. Gao, L. Guibas, and A. Nguyen. Deformable spanners and their applications.
Computational Geometry: Theoryand Applications , 35(1-2):2–19, 2006.[24] L.-A. Gottlieb and L. Roditty. Improved algorithms for fully dynamic geometric spanners and geometric routing.In
SODA ’08: Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms , pages 591–600, Philadelphia, PA, USA, 2008. Society for Industrial and Applied Mathematics.[25] J. Gudmundsson, C. Levcopoulos, G. Narasimhan, and M. Smid. Approximate distance oracles for geometricgraphs. In
Proc. 13th ACM-SIAM Symposium on Discrete Algorithms , pages 828–837, 2002.[26] A. Gupta, R. Krauthgamer, and J. R. Lee. Bounded geometries, fractals, and low-distortion embeddings. In
FOCS’03: Proceedings of the 44th Annual IEEE Symposium on Foundations of Computer Science , pages 534–543, 2003.[27] A. Habib and J. Chuang. Incentive mechanism for peer-to-peer media streaming. In
Proc. of the 12th IEEEInternational Workshop on Quality of Service (IWQoS’04) , June 2004.[28] A. Habib and J. Chuang. Service differentiated peer selection: An incentive mechanism for peer-to-peer mediastreaming.
IEEE Transactions on Multimedia , 8(3):610–621, June 2006.[29] S. Har-Peled and M. Mendel. Fast construction of nets in low dimensional metrics, and their applications. In
SCG’05: Proceedings of the twenty-first annual symposium on Computational geometry , pages 150–158, New York,NY, USA, 2005. ACM.[30] K. Hildrum, J. Kubiatowicz, S. Ma, and S. Rao. A note on the nearest neighbor in growth-restricted metrics. In
SODA ’04: Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms , pages 560–561,Philadelphia, PA, USA, 2004. Society for Industrial and Applied Mathematics.[31] K. Hildrum, J. D. Kubiatowicz, S. Rao, and B. Y. Zhao. Distributed object location in a dynamic network. In
SPAA ’02: Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures , pages41–52, New York, NY, USA, 2002. ACM.[32] T. Jansen and M. Theile. Stability in the self-organized evolution of networks. In
GECCO ’07: Proceedings ofthe 9th annual conference on Genetic and evolutionary computation , pages 931–938, New York, NY, USA, 2007.ACM.[33] R. Krauthgamer and J. R. Lee. Navigating nets: simple algorithms for proximity search. In
Proceedings of thefifteenth annual ACM-SIAM symposium on Discrete algorithms , pages 798–807, 2004.
34] M. Kwon and S. Fahmy. Topology-aware overlay networks for group communication. In
NOSSDAV ’02: Proceed-ings of the 12th international workshop on Network and operating systems support for digital audio and video ,pages 127–136, New York, NY, USA, 2002. ACM.[35] C. Levcopoulos, G. Narasimhan, and M. H. M. Smid. Improved algorithms for constructing fault-tolerant spanners.
Algorithmica , 32(1):144–156, 2002.[36] K. Lua, J. Crowcroft, M. Pias, R. Sharma, and S. Lim. A survey and comparison of peer-to-peer overlay networkschemes.
Communications Surveys & Tutorials, IEEE , pages 72–93, 2005.[37] T. Moscibroda, S. Schmid, and R. Wattenhofer. On the topologies formed by selfish peers. In
PODC ’06: Pro-ceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing , pages 133–142, NewYork, NY, USA, 2006. ACM.[38] G. Narasimhan and M. Smid. Approximating the stretch factor of Euclidean graphs.
SIAM J. Comput. , 30:978–989, 2000.[39] G. Narasimhan and M. Smid.
Geometric Spanner Networks . Cambridge University Press, 2007.[40] E. Ng and H. Zhang. Predicting Internet network distance with coordinates-based approaches. In
Proc. IEEEINFOCOM , pages 170–179, 2002.[41] D. Peleg.
Distributed Computing: A Locality Sensitive Approach . Monographs on Discrete Mathematics andApplications. SIAM, 2000.[42] C. G. Plaxton, R. Rajaraman, and A. W. Richa. Accessing nearby copies of replicated objects in a distributedenvironment. In
Proc. ACM Symposium on Parallel Algorithms and Architectures , pages 311–320, 1997.[43] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker. Topologically-aware overlay construction and server selec-tion. In
Proceedings of the 21th Annual Joint Conference of the IEEE Computer and Communications Societies(INFOCOM’05) , volume 3, pages 1190–1199, 2002.[44] L. Roditty. Fully dynamic geometric spanners. In
SCG ’07: Proceedings of the twenty-third annual symposium onComputational geometry , pages 373–380, New York, NY, USA, 2007. ACM.[45] S. Schosser, K. B¨ohm, R. Schmidt, and B. Vogt. Incentives engineering for structured p2p systems - a feasibilitydemonstration using economic experiments. In
EC ’06: Proceedings of the 7th ACM conference on Electroniccommerce , pages 280–289, New York, NY, USA, 2006. ACM.[46] S. Schosser, K. B¨ohm, and B. Vogt. Indirect partner interaction in peer-to-peer networks: stimulating cooperationby means of structure. In
EC ’07: Proceedings of the 8th ACM conference on Electronic commerce , pages 124–133, New York, NY, USA, 2007. ACM.[47] A. S. Tanenbaum.
Computer networks (3rd ed.) . Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996.[48] W. Wang, C. Jin, and S. Jamin. Network overlay construction under limited end-to-end reachability. In
Proceed-ings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’05) ,volume 3, pages 2124–2134, March 2005.[49] X. Zhang, Z. Li, and Y. Wang. A distributed topology-aware overlays construction algorithm. In
MG ’08: Pro-ceedings of the 15th ACM Mardi Gras conference , pages 1–6, New York, NY, USA, 2008. ACM.[50] B. Y. Zhao, J. D. Kubiatowicz, and A. D. Joseph. Tapestry: An infrastructure for fault-tolerant wide-area locationand. Technical report, Berkeley, CA, USA, 2001., pages 1–6, New York, NY, USA, 2008. ACM.[50] B. Y. Zhao, J. D. Kubiatowicz, and A. D. Joseph. Tapestry: An infrastructure for fault-tolerant wide-area locationand. Technical report, Berkeley, CA, USA, 2001.