Internet-Scale Simulations of a Peer Selection Algorithm

map of the Internet Router (IR) layer in a simulator dedicated to peer-to-peer systems. We compare the ..... through a casual Internet provider. In the context we ...
167KB taille 30 téléchargements 218 vues
Internet-Scale Simulations of a Peer Selection Algorithm Abstract The match between a peer-to-peer overlay and the physical Internet infrastructure is a constant issue. Time-constrained peerto-peer applications such as live streaming systems are even more challenging because participating peers have to discover their closest neighbors as quickly as possible. We propose in this paper an approach based on landmarks and a management server. Despite its centralized architecture, this method can scale to a large population of peers. We focus in this paper on challenging this basic idea through intensive simulations. As many previous works, we face to the problem on simulations for peer-to-peer systems. Moreover the accuracy of the algorithm depends on metrics requiring fine-grained realistic measurements. We use a large-scale map of the Internet Router (IR) layer in a simulator dedicated to peer-to-peer systems. We compare the results obtained by the new method with a random selection and an optimal selection and we show that this proposal makes sense. Therefore the contribution is twofold: (i) a new algorithm for a quick discover of neighbors in a large-scale simulations and (ii) a method for simulations of networking aspects in peer-to-peer systems.

1

Internet-Scale Simulations of a Peer Selection Algorithm I. I NTRODUCTION A. Context and Motivations Designers of peer-to-peer systems are usually concerned by the match between logical overlay and physical infrastructure: peers should preferentially be connected with the peers that are the closest in Internet [8], [17]. This requirement becomes even more crucial in time-constrained applications like live streaming peer-to-peer applications [18]. Between the time at which a source encodes the content and the time at which a peer plays the data, the packets travel through many links in the overlay. This delay, known as the playback delay, becomes more comfortable when these overlay links exhibit a short latency, that is, when peers aggregate among closest hosts. However determining these closest neighbors in a wide population spread on a large-scale network as Internet is still a challenge. Among the most promising ideas, coordinate-based schemes aim to fix the location of any host on Internet in a Euclidean space, so to allow two peers to estimate their latency by a basic distance computation [13], [21], [5]. Previous works show that these virtual coordinates can be obtained by active probing, i.e. by collecting round-trip-time (RTT) measurements between peers and a small set of landmarks [11]. Some studies have also investigated the placements of these landmarks [20], [19]. They have shown that network coordinates coupled with relevant active probing algorithms can compete with static centralized topology maps commonly used in Content Distribution Network (CDN) [7]. These network coordinate systems have successfully been merged with popular peer-to-peer applications, for instance implementations of Distributed Hash Table (DHT). But they still fail to match the specific constraints of peer-to-peer live streaming applications. When a newcomer joins such peerto-peer network, it first experiences a setup delay before the video becomes actually visible. The reduction of the setup delay is clearly expected by clients who are used to switch easily from one channel to another. During this time, the peer has to determine its playback delay and to link with some neighbors. In typical mesh-based applications [15], the playback delays of neighbors should ideally be close because chunk exchanges are easier to manage when neighbors focus simultaneously on the same set of missing chunks. In other words, during the setup delay, a newcomer is invited to discover its closest peers in order to accordingly choose its playback delay. Therefore we are interested with a network proximity system able to determine as quickly as possible the closest peers in a wide population. We aim to reduce this setup delay, so to enrich users’ experience. Unfortunately, network coordinate systems require a substantial amount of time before

to deliver accurate information and CDN-like systems rely on intensive computation tasks that may prevent the system to be scalable. We definitely need a system to estimate very quickly the closest peers of a newcomer from simple probes. B. Approach and Contributions We envision a basic mechanism based on traceroute tool [4]. Designed in mid-1980s, this tool aims to collect all routers in the path between a source and a destination. Many improvements have been recently proposed to contravene its initial flaws [2]. We make the following assumption: if a central server can store the exact route between each peer and itself, it would be able to estimate accurately and quickly the closest peers of any newcomer. The reasoning behind such assumption indeed refers to the statistical regularities observed in the large-scale structure of Internet [14]. The apparent heavy-tailed degree distribution in the graph of routers makes all routes toward a same point converge through an unique sub-path. It let us infer that the proximity of two peers can be estimated by taking note of their first router in common within the paths toward a same landmark. In this paper, we challenge this idea with a set of simulations. We face a usual challenge of peer-to-peer simulations: as peers are expected to be spread all over the world, the simulator should conform to a model of Internet, although this mapping is known to be a real issue [6]. Moreover, we are interested here in latency estimation that can hardly be done on a Autonomous System (AS) layer, but rather on a Internet Router (IR) layer, known to be vaster and difficult to model [14]. So we rely on a IR map [1] obtained from a specific Internet mapper [12] and the well-known PeerSim simulator [10]. Our first contribution is related with the traceroutebased network proximity tool we would like to develop. We study here the accuracy of our assumptions before to focus on its development for live streaming peer-to-peer systems. Beyond this, another contribution is the study of proximity between peers from the point of view of a small set of servers. We especially try here to cope with the scaling issue by simulating a whole Internet-scale network. We consider here the number of routers as an estimation of the distance between peers, which seems to us a relevant metric. This study opens perspective for peer-to-peer two-layered architecture [22]. We can especially consider to aggregate peers into clusters managed by a central peer having an extended authority and being placed so that the overall latency within the group is reduced. The paper is organized as follows. We briefly present the envisioned tool in Section II by introducing some notations, detailing the implementation and describing the principles.

2

Then, we propose the results of our intensive simulations in Section III. We first describe the way we conceive these simulations, then we show and discuss the results. Finally we conclude this paper by some perspectives. II. P ROPOSAL OVERVIEW In this Section, we give details about the tool we envision. We would like the central manager of a peer-to-peer system for live streaming diffusion to be able to accurately estimate the closest peers to a newcomer. In peer-to-peer live streaming applications, the source can act as a central server because peers usually connect to the peer-to-peer network through a light communication with the source. A. Notations A peer-to-peer system is expected to involve a large population of peers. Let V be the set of n peers in the system. One source encodes and immediately emits the data to a small subset of V. These peers are responsible to forward the data to their neighbors, initiating a gossip-based diffusion of this data. The set of peers known by a peer p ∈ V is noted K(p). As in the popular bit-torrent system [16], a peer p forwards the incoming data to few peers among this set of neighbors. For simplicity, we fix to a global constant κ the number of neighbors a peer is aware of. The Internet is seen here as a set of linked routers. We note R the set of routers and GR the graph formed by the routers and their links. As shown in many previous studies [6], [14], the graph GR exhibits statistical regularities related with the so-called complex networks, i.e. small-world and scalefree properties. One of the most interesting features is related with the degree distribution: very few routers are very well connected while the vast majority of routers have less than three connections. We note τ (r) the degree of a router r in GR . Each host participating to the peer-to-peer applications is attached to a router r with τ (r) = 1. It somehow simulates a end-user connected to a Digital Subscriber Line Access Multiplexer (DSLAM). We also note L the set of landmarks. A landmark is a reference node with a well-known network address. It also responds to any request from participants to a peer-to-peer system. Finally, these landmarks are expected to be homogeneously distributed in the network and ideally located on routers having a higher degree. We assume our ability to find any shortest path in GR . We do not consider any routing policy, so GR is a unweighted graph. Moreover, the traceroute is here simplified such that the path returned by this tool is assumed to be the shortest path in GR between the originator of the traceroute and the destination host. B. Implementation The approach we briefly describe in this article contains two steps: (i) a newcomer infers the path between itself and its closest landmark and (ii) the management server estimates the closest peers to this newcomer from the analysis of this path.

The first step begins once the newcomer p wants to join the peer-to-peer system. This step aims to collect useful information about the infrastructure, i.e. about GR in the surroundings of p. We assume that p knows the set of landmarks L, either because these addresses are hardly coded in the software or because a participant, probably the management server, provides this list to p. If L contains more than one landmark, the peer p is invited to choose one landmark among L. The Round-Trip Time (RTT) metric is used to determine this landmark we note l(p) ∈ L. We propose to choose the landmark whose connection exhibits the shortest RTT. Note that RTT values can vary over time, so this choice can be due to network fluctuation rather than a real proximity. However we do not consider network fluctuations in our simulator, so results are obtained with l(p) being the actual closest landmark of p in GR . Once p and l(p) are fixed, more refined measures are done in order to estimate the topology of the infrastructure nearby p. We here make use of a traceroute-like tool: the peer p discovers the set of routers in the path between itself and l(p) as shown in the following Table. The path between p and l(p) contains here only three routers in R: ra , rb and rc . This path, noted δ(p), is then transmitted to the management server through a specific format. We basically propose an ordered list of 3−uples containing hosts, hops and latencies h(ra , 1, 2) (rb , 2, 22, ) (rc , 3, 25)i. hop 1 2 3 4

latency 2ms 22ms 25ms 55ms

hostname ra rb rc l(p)

IP host 62.202.23.19 62.202.32.1 195.186.121.1 195.186.125.71

The management server is responsible of the second step. This management server knows all peers in V and we assume moreover that it also knows δ(p) for all p ∈ V. It should answer to p a list of κ peers for K(p). Two questions arise here while we keep in mind that this server can limit the scalability of the system. The first one is related with memory: how to store these routes δ(p) for all p ∈ V ? The second one is linked to computation: what is the less costly algorithm to obtain K(p) ? We propose in the following a first solution. Future works will probably let us determine specific algorithms that cope better with the characteristics of peer-to-peer systems and proximity in Internet. This first proposal relies actually on a hash table H where the keys are the identifier of each known router and the values are a list of peers such that this router belongs to the path between them and their closest landmarks. The algorithm using this hash table is described in Algorithm 1. The management server returns actually the peers whose distance in hops to the newcomer is the shortest. When it has to choose among several peers having the same number of hops, it preferentially picks the peer with the shortest latency. The management server iterates on the routers in the path between the new peer and its closest landmark. Starting with the first router r in the path, the management server picks peers among the set of peers associated with H(r). The set

3

lmk

of peers in a hash table entry is ordered by increasing hop number, then by increasing latency, to reach the related router. The complexity of a newcomer insertion is O(log n) – the cost of inserting a new element in an ordered list of element – while the result is obtained with a complexity O(1) – accessing a data in a hash table. Algorithm 1: New peer (management server side) Data: H: hash table such that H(r) = {∀p ∈ V : r ∈ δ(p)} Input: q, δ(q): a new peer and a new ordered list of routers Result: a list K(q) containing the κ closest peers to q K(q) = {} mhk = ∞ foreach r ∈ δ(q) do if r is not an entry in H then H(r) = {q} else j←0 p ← H(r)[j] hop ←hop-dist(p, r)+hop-dist(q, r) while hop < mhk ∧ j < |H(r)| − 1 do add p to K(q) if |K(q)| > κ then remove from K(q) the peer with max hop mhk ←max-dist(H(r)) j ←j+1 p ← H(r)[j] add q to the ordered list H(r) return K(q)

C. Principles The reasoning of such algorithm is related with the network characteristics. In a small-world and scale-free network, the network core contains few routers with the maximum degree while most routers are located in the edge with a small degree. As peers in peer-to-peer systems are spread all over the planet, so all over the Internet, the vast majority of routes probably travels through this network core. We intuit that a well-placed landmark receiving probes analyses many routes having the same termination, i.e. the same big routers in the proximate network core. This characteristic refers to the notion of centrality [3]. We imply that (i) most paths between two peers use the network core and (ii) the path between a peer and the landmark finds the quickest way to reach the network core. And the only way to verify this intuition is still to simulate over a realistic network. We describe a typical situation in Figure 1. The routers ra , rb and rc are within the network core and have a large number of connections with other routers (not represented in the figure). On the contrary, the routers ri with i ∈ {1 . . . 9} are small routers with τ (ri ) < 4. The shortest path between

ra r7

rb r6

r8

rc

p3

r1 dtree (p1 , p2 ) r3

p1

p4

r2

r5 d(p1 , p2 )

r4 p2

Fig. 1.

Two peers p1 and p2 having the same closest landmark lmk

many peers passes through the network core as well as the path to the landmark. We note dtree (p1 , p2 ) the hop-distance of the path deduced by the landmark from the two paths δ(p1 ) and δ(p2 ). In this example, this path is p1 → r3 → r1 → rc → r2 → r4 → p2 so δtree (p1 , p2 ) = 5. Unfortunately the shortest path between these two peers does actually not goes through rc but is rather p1 → r3 → r5 → r4 → p2 . We note d(p1 , p2 ) the hopdistance of the shortest path between two peers p1 and p2 . As explained, we expect that most cases verify d(p1 , p2 ) = dtree (p1 , p2 ). In Figure 1, all paths containing p4 verify it, so the management server should be able to determine the closest peers of p4 without error. III. E VALUATION Many recent works dealing with large-scale systems have been evaluated into open platforms running on the “real” network. Most machines participating on these experimental networks benefit from privileged access to Internet backbone, for instance universities or research institutes. End-users of peer-to-peer systems are however likely to be connected through a casual Internet provider. In the context we consider here, we prefer to evaluate behavior and performance of our proposal through large-scale simulations. We make use of the PeerSim simulator mainly because it can support simulation with almost one million of nodes on one casual desktop [10]. A. Internet Graph Simulating an algorithm committed to runs into Internet requires usually to rely on a model of the network. Many existing works have focused on modeling one Internet layer: Autonomous System (AS) level with peering relationships, or Internet Routers (IR) level which provides a fine-grained topology of connections among routers [14]. Modeling an Internet layer relates with extracting the most significant network properties from a set of measurements done on the real network. These properties are then used to generate largescale random graphs. One of the most commonly observed properties is the heavy-tailed distribution of node degrees [14] figured in Fig. 2. In this set of simulations, we are interested

4

Topology in-degree distribution (N = 47055)

of a basic implementation of Bit Torrent. This set should be outperformed by the algorithm we described in this paper. Metrics D

10000 Number of nodes

Representation

P q∈K(p)

Dtree 1000

Dclosest Drandom

100

d(p, q)

P

d (p, q) q∈K(p) tree

P d(p, q) Pq?∈C(p) q∈R(p)

d(p, q)

TABLE I 10

METRICS IN THE SIMULATION

1 1

Fig. 2.

10 in-degree

100

In-degree distribution of simulation model (N=47055)

with IR level network because traceroute is at the router level. Many topology generators have thus been implemented for a model of the AS level, but we have not heard of such generator for the IR level. An alternative to network modelling consists in re-building a snapshot of the Internet topology. Most previous works in this way base on active probing. Thus Mercador [9] software probes randomly selected destinations and gives a partial view of Internet. Another recent tool, namely Nec (Network Cartographer) [1], claims to discover a larger part of the IR graph. We use the result of one massive crawl achieved in April 2003 by this tool. This Internet IPv4 map contains 47k routers and 119k links. This graph seems representative enough to produce realistic results. For example, the degree distribution plotted in Fig. 2 shares the heavy-tailed characteristics of Internet models. B. Initialization and Metrics We now describe the metrics we observe in the simulator running on the graph GR . First we initialize the overlay network by introducing some peers in the simulated network. As previously argued, we pick a randomly chosen set of routers having a degree equals to one. So for each peer p in V, we pick a router rp in GR such that τ (rp ) = 1. In the same manner, the routers acting as landmarks are chosen among a set of routers with the same in-degree noted τlmk . The default value is τlmk = 30. The other default parameters of these simulations are the number of peers (n = 1000), the number of neighbors (κ = 10) and the number of landmarks (|L| = 5). Then every peer in V runs iteratively the peer selection algorithm to select its κ neighbors. Recall that we note K(p) the set of neighbors of a peer p. Simultaneously we associate with a peer p two alternative sets of neighbors. The first one, noted C(p), is the set of the actual closest peers of p. We use a brute-force algorithm: we measure the actual distance between p and all peers in V and we select the κ shortest distances. This set is the optimal one. The second one, noted R(p), is a randomly chosen set of neighbors. This simulates the behavior

We measure the sum of hop-distances between a peer p and all its neighbors in these distinct sets of neighbors. The notation is summed up in Table. I. The difference between D and Dtree is the way to choose the path, as shown in Fig. 1. The way we initialize the peer-to-peer system is largely based on random processes: peers and landmarks are randomly chosen. To ensure the accuracy of the results, we produce around 10 runs for plotting one point. C. Influence of Landmarks Every peer determines its closest landmark before launching traceroute to this one. The role of landmarks is to perform a coarse-grained peer selection by separating all peers into many small landmarks-centered clusters. With this preliminary clustering of peers, further peer selection is not only faster but also more efficient because the length of the path is shorter and we expect that a closer landmark has a more accurate view of the network. We assume here the existence of a homogeneously distributed set of landmarks in the network. In this first set of results, we study the impacts of landmarks on the clusters by measuring the average length of the paths discovered by the peers when probing their closest landmark. This measure reflects somehow the radius of the cluster with the intuition that a small cluster may provide more detailed data to the management server. We can make vary the number of landmarks. Increasing the number of landmarks implies more small-size clusters, but having too many clusters is risky because two close peers may select different landmarks. We can also make vary the routers associated with a landmark. The providers of such service usually locate their landmarks into highly connected routers. We can especially play with this strategy by making vary τlmk . Fig. 3 shows the average path length for various numbers of landmarks (from 1 to 40) and various router degrees (from 5 to more than 60). The average path length decreases through two ways: (i) increasing the number of landmarks and (ii) selecting higher degree routers. The first one is obvious: the ratio landmarks per peer increases, so the probability that a peer discovers a landmark in its surroundings increases. The second one is largely due to the structure or GR . Routers with high connectivity are in the network core. Most of the traffic should travel through this backbone, so the paths naturally tends to decrease in average. We notice that different curves in Fig. 3 seems to have a lower bound near to 5 hops. The impact of the degree is less

5

10

9 Average Length peer to landmark

1.5

τ=5 τ = 10 τ = 20 τ = 30 τ = 50 τ = 60+

Dtree / D

1.4

8

1.3

7

1.2 6

1.1 5

1 0

5

10

15

20 L

25

30

35

5

40

10

15 κ

1.5

and less significant when the number of landmarks increases. This result is due to network properties: high degree nodes concentrate in the network core while peers are in the edge. Increasing the degree of landmarks tends to put landmarks very close to each other, so inefficient. This lower bound seems to be actually the distance between the edges and the core. We may expect smaller distances with increasing the number of moderately smaller routers, but we are disappointed to observe that the higher degree routers always outperform. This result confirms that there are few shortcuts from one edge to any other node, even the middle-connected ones. Finally, the optimal trade-off seems to be with a high degree (τ > 60) and few landmarks are enough (|L| = 7).

After probing with traceroute, the topology of every cluster is considered as a landmark-rooted tree. Our peer selection uses the distance in the tree instead of distance in the real topology. The difference of two distances is explained in Fig.1. In this paragraph, using the peer selection algorithm, we compare direct path (D) and landmark-based path (Dtree ). For this, we vary the total number of peers (n) and the number of neighbors selected (κ). The results are shown in Fig.4. We can see in both sub figures of Fig.4 that the ratio D/Dtree is higher than 1. That means the estimated distance based on landmarks is imprecise compared to the distance in the real topology. As shown in Fig.1 of Section II-C, this imprecision is because of multiple possible paths from peer to landmark and other shorter paths among peers. In Fig.4(a), for fixed n and L, D/Dtree increases as κ increases. It means that landmark-based distance loses its precision for big distance values, as average distance among peers increases with κ. This estimation error is due to the limit of topology discovering methods used in our algorithm. Traceroute-like tool returns a set of paths only to the landmark. Some routers between peers could be missed. The figure shows that the number of missed routers increase when two nodes have long distance in the tree. In Fig. 4(b), this

25

(a)

Fig. 3. Average path length between a peer and its closest landmarks when varying the number of landmarks and the degree of landmarks

D. Direct path and landmark-based path

20

Dtree / D

1.4

1.3

1.2

1.1

1 400

600

800

1000 n

1200

1400

1600

(b) Fig. 4.

Ratio of direct path and tree path

estimation error decreases when we have more peers in the network. Because for fixed κ, the density of peers in the network increases with n. So the relative distances between peers decreases as n increases. As a result, we note that the landmark-based distance estimation works better for small distance values than big ones. In spite of this error on distance estimation, we notice that the difference between real and estimated distances remains small. Only an error of 10% is observed in the case n = 1000, κ = 10. That is because, the method we propose performs a preliminary clustering before a fine-grained topology discovery. So, a simple traceroute can provide results similar to the real topology, with an acceptable tolerance. E. Performance Analysis After studying the influence of landmarks’ placement and the reliability of traceroute-like inferring tools, we are trying here to evaluate the performance of our peer selection method. Three metrics are used in this evaluation: D, result of our method; Dclosest , perfect result with absolutely closest peers, which reflects the optimal peer selection; and Drandom , worst

6

Drandom / Dclosest

2.4

D / Dclosest 2.2 2 1.8 1.6 1.4 1.2 1 5

10

15

20

25

κ

IV. C ONCLUSION AND F URTHER W ORK

(a)

2.4

Drandom / Dclosest D / Dclosest

2.2 2 1.8 1.6 1.4 1.2 1 600

800

1000 n

1200

1400

(b) Fig. 5.

κ and n values we choose. We remark in both sub figures that D/Dclosest is approximately 1.2. Our algorithm achieves good results: to reach its neighbors, only 20% more routers are involved compared to the closest case. With our method which introduces few overhead and requires small computation capacity, we are finally not so far to the optimum. This error of 20% in our peer selection is due to the imprecision of topology discovery described in Section III-D. Some nearby peers are considered as far because the shortest paths to them are unknown. Although we don’t have exact selection result for closest neighbors, the distance between peer and its neighbors is significantly reduced compared to the BitTorrent scenario. Thus, we can conclure that our peer selection method gives satisfactoring performance.

Ratio of D to Dclosest and Drandom to Dclosest

case with randomly chosen peers. Normally, Dclosest and Drandom should be respectively the lower and upper bounds of D. We vary κ and n to study the behavior of proposed method. The result is shown in Fig.5. Two curves are traced: the ratio D/Dclosest is the result obtained compared to the optimal case; The ratio Drandom /Dclosest is the result of BitTorrentlike random selection. Drandom /Dclosest is actually the upper bound of the the first ratio. In Fig.5, as we expect, the ratio D/Dclosest is always small than Drandom /Dclosest . This upper bound decreases as κ increases in Fig.5(a). The reason of this is that, for n fixed, Drandom is linearly proportional to κ. But Dclosest is a concave function of κ, as closest neighbors will have longer distance when κ increases. In Fig.5(b)), we have similar explication: Average distance of closest set C is a convex function of n. So the ratio Drandom /Dclosest increases when n increases. We also observe that the ratio D/Dclosest remains steady for different κ and n values. It means that our peer selection method is stable: the selection result is guaranteed for the

In this paper, we proposed a peer selection algorithm to efficiently discover nearby neighbors for peers. This algorithm is based on network clustering with landmarks and on topology inferring using traceroute-like tools. After defining our method with details, we evaluated its performance using PeerSim simulator and a Internet-level routers map with 47k nodes. We focus our evaluation on some network metrics such as total distances among members in a given set of peers. Simulation results show that our neighbor-discovering method achieves good performance: the algorithm actually builds a set of nearby peers. Using this set, the distance between peer and its neighbors are reduced by 30% compared to a random set in our scenario. This result is very close to the optimum, with an average error of 20%. We conclure that the peer selection method presented is simple as well as efficient. Future work will focus on improvement and optimization of our proposal: for instance, the algorithm 1 at the management server could be optimized. Other criteria and decision policies could be added to obtain more exact selection results. The proposed algorithm relies on a central control entity, which is a vulnerable point in the P2P network. Other distributed algorithm independent from central control could be imagined in the future work. Finally, our simulation model is a router map with only edges among routers. We could simulate with a more detailed network map, with information like latency, link capacity, peers bandwidth...etc, in order to further evaluate the peer selection method and its impact. R EFERENCES [1] Network cartographer. https://dpt-info.u-strasbg.fr/∼magoni/nec/. [2] Brice Augustin, Xavier Cuvellier, Benjamin Orgogozo, Fabien Viger, Timur Friedman, Matthieu Latapy, Cl´emence Magnien, and Renata Teixeira. Avoiding traceroute anomalies with paris traceroute. In 6th ACM SIGCOMM Conference on Internet Measurement, 2006. [3] Marc Barthlemy. Betweenness centrality in large complex networks. European Physical Journal B, 38:163–168, 2004. [4] Steve Branigan, Hal Burch, Bill Cheswick, and Frank Wojcik. What can you do with traceroute? IEEE Internet Computing, 5(5):96, 2001. [5] Frank Dabek, Russ Cox, M. Frans Kaashoek, and Robert Morris. Vivaldi: a decentralized network coordinate system. In SIGCOMM, 2004. [6] Luca Dall’Asta, J. Ignacio Alvarez-Hamelin, Alain Barrat, Alexei V´azquez, and Alessandro Vespignani. Exploring networks with traceroute-like probes: Theory and simulations. Theor. Comput. Sci., 355(1):6–24, 2006.

7

[7] Michael J. Freedman, Eric Freudenthal, and David Mazi`eres. Democratizing content publication with coral. In Symp. on Networked Systems Design and Implementation (NSDI), 2004. [8] Luis Garc´es-Erice, Ernst W. Biersack, Pascal Felber, Keith W. Ross, and Guillaume Urvoy-Keller. Hierarchical peer-to-peer systems. In 9th Int. Euro-Par Conference, 2003. [9] Ramesh Govindan and Hongsuda Tangmunarunkit. Heuristics for internet map discovery. In INFOCOM, pages 1371–1380, 2000. [10] M´ark Jelasity, Gian Paolo Jesi, Alberto Montresor, and Spyros Voulgaris. PeerSim: A Peer-to-Peer Simulator. URL: http://peersim.sourceforge.net. [11] Jon M. Kleinberg, Aleksandrs Slivkins, and Tom Wexler. Triangulation and embedding using small sets of beacons. In Symp. on Foundations of Computer Science (FOCS), 2004. [12] Damien Magoni and Micka¨el Hoerdt. Internet core topology mapping and analysis. Computer Communications, 28(5):494–506, 2005. [13] T. S. Eugene Ng and Hui Zhang. Predicting internet network distance with coordinates-based approaches. In INFOCOM, 2002. [14] Romulado Pastor-Satorras and Alessandro Vespignani. Evolution and Structure of the Internet. Cambridge University Press, 2004. [15] Fabio Pianese, Joaquin Keller, and Ernst W Biersack. PULSE, a flexible P2P live streaming system. In 9th IEEE Global Internet Symposium, 2006. [16] Johan Pouwelse, Pawall Garbacki, Dick Epema, and Henk Sips. The bittorrent p2p file-sharing system: Measurements and analysis. In 4th Int. Workshop on Peer-to-Peer Systems (IPTPS), 2005. [17] Sylvia Ratnasamy, Mark Handley, Richard M. Karp, and Scott Shenker. Topologically-aware overlay construction and server selection. In INFOCOM, 2002. [18] Alexandro Sentinelli, Gustavo Marfia, Mario Gerla, Leonard Kleinrock, and Saurabh Tewari. Will IPTV ride the peer-to-peer stream. IEEE Communications Magazine, June 2007. [19] Kevin P. Shanahan and Michael J. Freedman. Locality prediction for oblivious clients. In 4th Int. Workshop on Peer-to-Peer Systems (IPTPS), 2005. [20] Liying Tang and Mark Crovella. Geometric exploration of the landmark selection problem. In Lecture Notes in Computer Science 3015, Proc. of Passive and Active Measurement Workshop (PAM), 2004. [21] Bernard Wong, Aleksandrs Slivkins, and Emin G¨un Sirer. Meridian: a lightweight network location service without virtual coordinates. In SIGCOMM, 2005. [22] Beverly Yang and Hector Garcia-Molina. Designing a super-peer network. In Proc. of the 19th Int. Conf. on Data Engineering (ICDE), 2003.