24
Characterization of P2P Systems Daniel Stutzbach and Reza Rejaie 1 Introduction Understanding existing systems and devising new P2P techniques relies on having access to representative models derived from empirical observations of existing sys- tems. However, the large and dynamic nature of P2P systems makes capturing accu- rate measurements challenging. Because there is no central repository, data must be gathered from the peers who appear and depart as users start and exit the P2P appli- cation. Even a simple task such as counting the number of peers can be challenging since each peer can only report its immediate overlay neighbors. The first half of this chapter surveys techniques for measuring attributes of P2P systems as well as characterizations derived from the application of those techniques. The second half explores two measurement techniques in detail— crawling and sampling—and demonstrates the importance of validating measure- ment methodology. Systematically tackling the problem of characterizing P2P systems requires a structured organization of the different components. At the most basic level, a P2P system consists of a set of connected peers. We can view this as a graph with the peers as vertices and the connections as edges. One fundamental way to divide the problem space is into properties of the peers versus properties of the way peers are connected. Another fundamental division is examining the way the system is versus the way the system evolves. In some sense, any property may change with time and could be viewed as system evolution. We use the term “static properties” to refer to properties that can be measured at a particular moment in time and modeled with a static model (e.g., peer degree), and the term “dynamic properties” to refer to proper- ties that are fundamentally dynamic in nature (e.g., session length). Table 1 presents Daniel Stutzbach Stutzbach Enterprises, Dallas, Texas. e-mail: [email protected] Reza Rejaie University of Oregon, Eugene, Oregon. e-mail: [email protected] 1

Characterization of P2P Systems - ONRG

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Characterization of P2P Systems

Daniel Stutzbach and Reza Rejaie

1 Introduction

Understanding existing systems and devising new P2P techniques relies on havingaccess to representative models derived from empirical observations of existing sys-tems. However, the large and dynamic nature of P2P systems makes capturing accu-rate measurements challenging. Because there is no centralrepository, data must begathered from the peers who appear and depart as users start and exit the P2P appli-cation. Even a simple task such as counting the number of peers can be challengingsince each peer can only report its immediate overlay neighbors.

The first half of this chapter surveys techniques for measuring attributes ofP2P systems as well as characterizations derived from the application of thosetechniques. The second half explores two measurement techniques in detail—crawling and sampling—and demonstrates the importance of validating measure-ment methodology.

Systematically tackling the problem of characterizing P2Psystems requires astructured organization of the different components. At the most basic level, a P2Psystem consists of a set of connected peers. We can view this as a graph with thepeers as vertices and the connections as edges. One fundamental way to divide theproblem space is intoproperties of the peers versusproperties of the way peers areconnected. Another fundamental division is examining the way the systemis versusthe way the systemevolves. In some sense, any property may change with time andcould be viewed as system evolution. We use the term “static properties” to refer toproperties that can be measured at a particular moment in time and modeled with astatic model (e.g., peer degree), and the term “dynamic properties” to refer to proper-ties that are fundamentally dynamic in nature (e.g., session length). Table 1 presents

Daniel StutzbachStutzbach Enterprises, Dallas, Texas. e-mail:[email protected]

Reza RejaieUniversity of Oregon, Eugene, Oregon. e-mail:[email protected]

1

2 Daniel Stutzbach and Reza Rejaie

an overview of several interesting properties categorizedby whether they are staticor dynamic, and whether they are peer properties or connectivity properties.

2 Measurement Techniques

Empirical P2P studies employ one of five basic techniques, each offering a differentview with certain advantages and disadvantages:

• Passive Monitoring: Eavesdrop on P2P sessions passing through a router.• Participate: Instrument P2P software and allow it to run in its usual manner.• Crawl : Walk the P2P network, capturing information from each peer.• Sample: Select a subset of the peers in the network.• Centralize: Rely on logs maintained by a central server.

Table 2 summarizes the peer-reviewed studies in each category and lists theparticular systems they examine. Studies which intercept data have typically fo-cused on Kazaa, which was one of the most popular peer-to-peer systems. Saroiuetal. [41] show that in 2002 Kazaa traffic was between one and two orders of magni-

Peer Properties Connectivity Properties

Static PropertiesAvailable resources (e.g., files)Geographic location

Degree distributionClustering coefficientShortest path lengthsResiliency

Dynamic PropertiesSession lengthUptimeRemaining uptimeInter-arrival intervalArrival rate

Stable coreSearch efficiencySearch reliability

Table 1: Groups of properties

Intercept Participate Crawl Sample Centralize[37] (B,D,G,Z)[14] (Z)[23] (Z)[24] (Z)[41] (Z,G)[43] (Z,G,*)[20] (B,D,G,Z,N,*)

[17] (G)[21] (G)[22] (G)[35] (G)[44] (G)[2] (G)[10] (B)[27] (Z)[28] (Z)

[8] (G)[3] (G)[40] (G)[46] (G,K,B)[48] (G)

[7] (N,G)[42] (N,G)[4] (O)[11] (D)[13] (S)[45] (K)

[18] (B)[38] (B)[15] (B)[51] (*)

Table 2: File sharing measurement studies, grouped by technique. The system un-der study is shown in parenthesis. B=BitTorrent, D=eDonkey2000, G=Gnutella,K=Kad, N=Napster, S=Skype, O=Overnet, Z=Kazaa, *=Miscellaneous

Characterization of P2P Systems 3

tude larger than Gnutella traffic. However, others studies tend to focus on Gnutella,which has several open source implementations available and open protocol spec-ifications. Other popular file-sharing networks such eDonkey 2000, Overnet, andKad remain largely unstudied. Each of the different measurement techniques hasdifferent strengths and weaknesses, explained in detail below.

2.1 Passive Monitoring

Monitoring peer-to-peer traffic at a gateway router provides useful informationabout dynamic peer properties such as the types and sizes of files being transferred.It also provides a limited amount of information about dynamic connectivity proper-ties such as how long peers remain connected. However, passive monitoring suffersfrom three fundamental limitations, described below.

First, because it looks at only a cross-section of network traffic, usage patternsmay not be representative of the overall user populations. For example, two of themost detailed studies of this type [14, 41] were both conducted at the University ofWashington (UW). Because the University has exceptional bandwidth capacity andincludes an exceptional number of young people, their measurements may capturedifferent usage characteristics than, for example, a typical home broadband user.This limitation may be somewhat overcome by comparing studies taken from dif-ferent vantage points. One study [43] overcomes the single-viewpoint limitation bycapturing data at several routers within a Tier-1 ISP.

The second limitation of passive monitoring is that it only provides informationabout peers that are actively sending or receiving data during the measurement win-dow. Monitoring traffic cannot reveal any information aboutpeers which are up butidle, and it is not possible to tell with certainty when the user has opened or closedthe application. These caveats aside, passive monitoring is quite useful for providinginsight in file sharing usage patterns.

The third limitation is the difficulty in classifying P2P traffic. Karagiannisetal. [20] show that the most common method of identifying P2P traffic, by port num-ber, is increasingly inaccurate.

The passive monitoring technique is predominantly used to study bulk datamovement such as HTTP-like file transfers and streaming, where it is relativelyeasy to identify a flow at its beginning and count the bytes transferred.

2.2 Participate

Instrumenting open-source clients to log information on disk for later analysis fa-cilitates the study of dynamic connectivity properties, such as the length of timeconnections remain open, bandwidth usage, and the frequency with which searchrequests are received. However, there is no guarantee that observations made at one

4 Daniel Stutzbach and Reza Rejaie

vantage point are representative. Some studies employ multiple vantage points, butthe vantage points still typically share common characteristics (e.g., exceptionallyhigh bandwidth Internet connections) and still may not be representative.

2.3 Crawl

A crawler is a program which walks a peer-to-peer network, asking every knownpeer for a list of its neighbors to iteratively explore the entire graph, similar tothe way a web-spider operates. Crawling is the only technique for capturing a fullsnapshot of the topology, needed for graph analysis and trace-driven simulation.However, accurately capturing the whole topology is tricky, particularly for largenetworks that have a rapidly changing population of millions of peers. All crawlerscapture a distorted picture of the topology because the topology changes as thecrawler runs.

2.4 Sample

Several studies gather data by sampling a set of peers in order to study static peerproperties, such as link bandwidth and shared files. By sampling the set of peersat regular intervals, studies may also examine dynamic peerproperties such as thesession length distribution. To locate the initial set of peers, researchers have usedtechniques such as a partial crawl [4,11,13,42], issuing search queries for commonsearch terms [7, 42], and instrumenting a participating peer [7]. One drawback ofsampling is that it is difficult to guarantee that the initialset of peers are represen-tative. Additionally, when studying dynamic properties, sampling implicitly gathersmore data from peers who are present for a larger portion of the measurement win-dow.

2.5 Centralize

The final measurement technique is to use logs from a centralized source. Due tothe decentralized nature of peer-to-peer networks, there typically is no centralizedsource. However, BitTorrent uses a centralized rendezvouspoint called atracker thatrecords peer arrivals, peer departures, and limited information about their downloadprogress.

Characterization of P2P Systems 5

2.6 Summary

Measurement techniques for gathering data about the operation of peer-to-peer sys-tems, summarized in Table 3, each have their advantages and disadvantages.

TechniqueAdvantages Disadvantages

Passive monitoringProvides information about traffic May not be representativeOmits idle peersOmits traffic on non-standard ports

ParticipateProvides information about dynamicconnectivity

May not be representative

Crawl Captures the entire topologyUnbiased

Doesn’t scaleMay have significant distortion

SampleCaptures peer propertiesUnbiased techniques available

Haphazard sampling often unrepre-sentativeDynamic properties inherently biasedtoward long-lived peers

CentralizeUnbiased Only available if system has a central-ized component

Table 3: Summary of existing measurement techniques

3 What to Measure

The following subsections summarize other empirical studies of peer-to-peer sys-tems, discuss their main findings, and identify important areas which remain un-studied.

3.1 Static Peer Properties

Saroiu, Gummadi, and Gribble provide an extensive and informative study, primar-ily of static peer properties [42]. While earlier work conceived of peers as equal par-ticipants, their landmark study demonstrates that in practice not all peers contributeequally to peer-to-peer systems. Using data collected fromGnutella and Napster inMay 2001, their observations show a heavy skew in the distributions of bottleneckbandwidth, latency, availability, and the number of sharedfiles for each host, witheach of these qualities varying by many orders of magnitude.

Additionally, they found correlations between several of the properties. Bottle-neck bandwidth and the number of uploads have a positive correlation, while bottle-neck bandwidth and the number of downloads have a negative correlation. In otherwords, peers with high bandwidth tend to be uploading many files, while peers with

6 Daniel Stutzbach and Reza Rejaie

low bandwidth have to spend more time downloading. Interestingly, no significantcorrelation exists between bottleneck bandwidth and the number of files stored on apeer.

In addition to the sweeping work of Saroiuet al. [42], several studies focus onexamining the files shared by peers [2, 7, 11, 49]. A few results have consistentlyappeared in these studies. First, peers vary dramatically in the number of files thatthey share, with a relatively small percentage of peers offering the majority of avail-able files. In addition, a large fraction of peers share no files at all (25% in [42],two-thirds in [2,11], 11–13% in [49]). Second, the popularity of stored files in file-sharing systems is heavily skewed; a few files are enormouslypopular, while formost files only a few peers have a copy. Fessantet al. [11] found that it may bedescribed by a Zipf distribution. However, Chu, Labonte, and Levine [7] found thatthe most popular files were relatively equal in popularity, although less popular filesstill had a Zipf-like distribution.

Studies also agree that the vast majority of files and bytes shared are in audio orvideo files, leading to the distribution of file sizes exhibiting a multi-modal behavior.Each studies shows that a plurality of files are audio files (48% in [11], 67% in [49],76% in [7]). However, video files make up a disproportionately large portion of thebytes stored by peers (67% in [11], 53% in [49], 21% in [7]).

Fessantet al. [11] took the additional step of examining correlations in the filesshared by peers. Their results show that users have noticeable interests, with 30%of files having a correlation of at least 60% with at least one other file. Of peerswith at least 10 files in common, they found that 80% have at least one more file incommon. Likewise, of peers with at least 50 files in common, intheir data nearly100% have at least one more file in common.

3.2 Dynamic Peer Properties

Most dynamic peer properties are tied to how long and how frequently peers areactive.Session length is the length of time a peer is continuously connected to agiven peer-to-peer network, from when it arrives until it departs.Uptime is the lengthof time a peer that is still present has been connected.Remaining uptime is howmuch longer until an active peer departs.Lifetime is the duration from the first time apeer connects to a peer-to-peer network—ever—to the very last time it disconnects.Availability is the percentage of time that a peer and its resources are connected tothe peer-to-peer network within some window.Downtime is the duration betweentwo successive sessions. Finally, aninter-arrival interval is the duration from thearrival of one peer until the arrival of the next peer. The session length, uptime, andremaining uptime are closely related, as shown in Figure 1. The popularity of filetransfers is another dynamic peer property, which we examine separately.

Generally, the most important distribution for simulationand analysis is thesession-length distribution, as it fully determines the uptime and remaining up-time distributions and strongly influences the availability. The median session length

Characterization of P2P Systems 7

Peer

Session length

Uptime Remaining Uptime

Current Time

Departure

Arrival

Fig. 1: Illustration of the relationship between session length, uptime, and remaininguptime

specifies how much churn a protocol must cope with, and the shape of the distribu-tion determines whether some peers are dramatically more stable than others.

Due to its importance, several studies examine the session length distribution.Rhea, Geels, and Kubiatowicz [39] summarize these studies,as shown in Table 4which is adapted from their paper and updated with our more recent study [46].

While the median differs dramatically, all the studies agree that the sessionlengths are heavily skewed: many sessions are short, while some session are verylong. Several studies draw the conclusion that session lengths can be modeledwith a power-law (or Pareto) distribution [5, 13, 26] or exhibit heavy-tailed behav-ior [13, 14, 43]. Chu, Labonte, and Levine [7] fit session lengths to a log-quadraticdistribution, which can be viewed as a second-order variation of the Pareto distribu-tion. Only one of the earlier studies [5] provide an analysisand fit to support theirconclusion. However, Leonard, Rai, and Loguinov [25, pg. 8]suggest that the fitgiven in [5] seems implausible and point out some possible methodological errors.

Citation Systems Observed Session Time[42] Gnutella, Napster 50%≤ 60 min.[7] Gnutella, Napster 31%≤ 10 min.[43] Kazaa 50%≤ 1 min.[4] Overnet 50%≤ 60 min.[14] Kazaa 50%≤ 2.4 min.[46] Gnutella, Kad 50%≤ 15 min.–1 hr.[46] BitTorrent 50%≤ 2 min.–30 min.

Table 4: Observed session lengths in various peer-to-peer file sharing systems.Adapted from [39].

8 Daniel Stutzbach and Reza Rejaie

In our more recent study [46], we examine several common methodological prob-lems that introduce bias into studies of peer churn and examine data from Gnutella,Kad, and BitTorrent. The session lengths we observed were heavily skewed, but didnot agree with a power-law or Pareto distribution. However,they could be describedwith a Weibull distribution.

In BitTorrent, the availability of high-quality tracker logs facilitates the study ofpeer dynamics. Prior studies of BitTorrent [18, 38] show that session lengths areheavily skewed. However, they do not attempt to create a model based on the data.A surprising discovery shown by Izalet al. [18] is that many peers (81% in theirtrace) depart before downloading the entire file, while peers who do complete thedownload linger for more than six hours on average.

While most studies of peer dynamics focus on session length,Bhagwan, Savage,and Voelker [4] provide a study of peer availability in Overnet during January 2003.However, they find that the distribution of availability varies dramatically with thesize of the measurement window, due to the significant fraction of hosts who appearbriefly and only once.

3.2.1 Files Transfers

Another class of dynamic peer properties is related to the files that peers are activelytransferring, which in some sense is the derivative of the files being stored on eachpeer (discussed above under Static Peer Properties). The properties of files beingtransferred are most often studied using passive monitoring at gateway routers. Twoof the most detailed studies of files being transfered [14, 41] were both conductedat the University of Washington (UW). The first study, [41], focuses on comparingHTTP requests with P2P requests, demonstrating that P2P uses more than twiceas much bandwidth as the web on their network. Although they found a smallernumber of hosts are involved in the P2P traffic, each object isorders of magnitudelarger. Furthermore, they show that a majority of the P2P traffic came from a fewlarge video files. Their second study, [14], more closely examines the popularityand properties of different P2P objects. The popularity of different objects did notmatch a Zipf distribution, in contrast to the Zipf distribution of popularity observedfor Web objects. The authors suggest this may be due to the fact that in P2P systems,users typically download an object at most once, while Web users may return to awebsite many times. Instead, they found that unpopular objects appear Zipf-like,while popular objects are relatively equal in popularity, matching the results forstored files seen in [7].

Leibowitz et al. [23, 24] provide measurements from an Israeli Internet ServiceProvider (ISP), and compare their findings with the UW studies. Interestingly, theyfind that while the UW is an overall provider of P2P content, the ISP they study is anoverall consumer of P2P content. Their studies give particular focus to the idea ofcaching P2P content. In [23], they implement a transparent 300 GB cache yieldinga 67% bandwidth savings.

Characterization of P2P Systems 9

3.3 Static Connectivity Properties

In 2000, a company called “Clip2” developed a Gnutella crawler and publishedtheir results on the web. Although not validated by peer-review, their analysis andtopology captures have been widely used in simulation studies of improvements forGnutella-like networks [1, 19, 29–31]. In [8], Clip2 presents analysis of snapshotsthey captured between June and August of 2000. Using their crawler which tookaround an hour to survey the entire topology, they gathered snapshots containingbetween 1,000 and 8,000 peers.

Their work suggests that the Gnutella network has a power-law degree distribu-tion, based on plotting the degree distribution of their snapshots on a log-log scaleand demonstrating a linear fit. Adamicet al. [1] repeat this analysis on similar dataprovided by Clip2. However, neither study considers alternative models of the de-gree distribution. Several later studies [9,12,19,34,50]rely on the power-law model,simulating Gnutella using random power-law topologies. Lvet al. [33] show thatpower-law networks exhibit poorer performance than other types of random graphs.

Ripeanu, Foster, and Iamnitchi [40] implemented a crawler and use it to examineproperties of the Gnutella overlay topology. Their crawleruses a client-server archi-tecture running on roughly 50 computers to crawl a 30,000 node network in a fewhours. Their crawls were conducted in November 2000 throughMay 2001. The sizeof the network grew from 2,063 to 48,195 peers over that time.They performed all-pairs shortest-path computations and plotted the distribution of path lengths. 95%of shortest-paths are 7 hops or less, with most shortest-paths being 4 or 5 hopslong. They repeat the analysis of [8] and [1] by plotting the degree distribution inlog-log scale. In their November snapshot, the degree distribution appears linear onthe log-log plot, suggesting a power-law distribution. Their March 2001 snapshotis different. Low-degree nodes are approximately equally common, though amonghigh-degree nodes the distribution still appears linear onthe log-log plot.

Given that their crawls take a few hours, and peer uptimes maybe just a fewminutes [7, 14, 43], it is very possible that these topologies are highly inaccurate,leading to a drastically distorted picture of the network. In [48], we created a newcrawler, Cruiser, which can crawl the Gnutella network in around 4 minutes. Laterin this chapter, we provide an overview of the design of cruisers and some of thetechniques we used to validate the accuracy of its snapshots. Our measurements ofGnutella were not consistent with a power-law distribution; in fact, they showed thatvirtually all peers had a degree under 35.

3.4 Dynamic Connectivity Properties

In [48], we explore how heavily skewed session lengths influence the topologicalstructure. We found that long-lived peers gradually find oneanother and form astable “core” for the peer-to-peer network. By remaining inthe system for a long

10 Daniel Stutzbach and Reza Rejaie

time, these peers have more opportunity to find one another. Once found, theseconnections remain until one of the peers leave.

When a user starts their P2P application, the application must discover otherpeers to form connections with. This initial discovery process is calledbootstrap-ping. Karbhariet al. [21] provide a comparative study of the bootstrapping mecha-nisms of several Gnutella implementations.

Sripanidkulchai presented one of the first studies of searchterms in a P2P net-work [44], demonstrating that queries follow a Zipf distribution, except for the mostpopular queries which are of roughly equal popularity (similar to the distributions offiles stored and file transfers). The fact that popular queries are much more commonthan unpopular queries suggests caching query results may be beneficial [35,44].

Klemm et al. [22] provide a comprehensive analysis of queries, breakingdownthe number of queries observed by time of day and geographical region. It includesdistributions for the number of sessions that generate queries, the time until thefirst queries, the query inter-arrival time, and the length of the session. In short,it provides a framework for generating a synthetic query workload as seen from asingle peer.

3.5 Summary

Peer-to-peer systems have been a popular topic for empirical studies. Existing stud-ies cover properties of stored files, file transfers, and search terms in great detail.Additionally, Saroiu, Gummadi, and Gribble [42] provide a comprehensive studyof static peer properties. However, these measurement studies have been rather ad-hoc, gathering data in the most convenient manner without critically examining theirmethodology for measurement bias. While an ad-hoc approachis often suitable forfirst-order approximations (e.g., “file popularity is heavily skewed”), it is generallynot appropriate for making precise conclusions (e.g., “session-lengths are power-law”). One of the largest gaps in the existing work is the development and validationof high-fidelity measurement tools for peer-to-peer networks. The remainder of thischapter describes two tools for gathering highly accurate measurements.

4 Cruiser: a fast P2P crawler

The global state of a peer-to-peer system is distributed among all the peers. Ex-ploring the graph and capturing the state of each peer captures the global state. Acrawler is a tool that captures global state in this way. Since the system changesas the crawler explores, the picture isdistorted, much like a photograph capturingrapid motion. Therefore, crawl speed is important. The faster the crawler runs, theless distortion. Crawlers have most often been used for capturing snapshots of theoverlay topology as a graph, needed for studying many staticconnectivity proper-

Characterization of P2P Systems 11

ties. Many studies [3, 8, 28, 40] take 30 to 120 minutes to crawl the network andcapture a snapshot of the graph. However, many peers are not even present for thatlong [14, 39, 43]. This suggests existing crawlers are much too slow and may becapturing very distorted snapshots. The accuracy of these snapshots most likely hasnot been previously addressed because it is challenging to measure the distortionwithout a perfect reference snapshot for comparison.

This section documents a fast crawler, calledCruiser, that can capture completetopologies in just a few minutes, introduces techniques forassessing the accuracyof snapshots, and shows that Cruiser may be used to capture accurate snapshots.Additional details may be found in [48]. We focus on capturing snapshots of theGnutella topology, as Gnutella is one of the largest P2P systems and has been thetarget of most prior P2P crawlers, allowing us to make meaningful comparisons.Although we focus on Gnutella, Cruiser uses a plug-in architecture, allowing it tocrawl other P2P systems with the addition of an appropriate plug-in.

In order to crawl quickly, the design of Cruiser must overcome several chal-lenges:

• It must make heavy use of parallelism to contact many peers simultaneously.Managing so many connections in parallel can lead to CPU bottlenecks requiringa distributed architecture.

• If the load is too great, Cruiser may lose data.1 Therefore, Cruiser must carefullycontrol the load by appropriately limiting the number of connections. Since eachconnection uses a variable amount of resources, this limit must be dynamic.

• Cruiser cannot afford to wait the minutes for a TCP connection attempt to time-out. Instead, the proper trade-off between timing out too quickly (which increasesdistortion by losing data) and timing out too slowly (which increases distortionby making the crawl slower) must be found empirically.

4.1 The Design of Cruiser

Our primary goal in the design of Cruiser is to minimize distortion in capturedsnapshots by maximizing the speed at which Cruiser exploresthe overlay topology.We employ several techniques and features to achieve this design goal, as describedbelow.

4.1.1 Two-Tier Networks

Cruiser leverages the two-tier structure of modern P2P networks by only crawlingultrapeers. Since each leaf must be connected to an ultrapeer, this approach enablesus to capture all the nodes and links of the overlay by contacting a relatively small

1 For example, connections may appear to time out if the CPU load is so great that received packetsspend too long in a queue before being processed.

12 Daniel Stutzbach and Reza Rejaie

fraction of all peers. This strategy leads to a major reduction (around 85%) in theduration of a crawl without any loss of information.

4.1.2 Distributed Architecture

Cruiser employs a master-slave architecture in order to achieve a high degree ofconcurrency and to effectively utilize available resources on multiple computers. Amaster process coordinates multiple slave processes that act as independent crawlersand crawl disjoint portions of the network in parallel. The slaves communicate withthe master using loose synchronization as follows. Each slave has an independentqueue of addresses to contact, which the master fills. Each slave drains its queue byquerying peers for their neighbors and reporting back with the data they’ve gathered.The master extracts new addresses from the data and uses thisto fill the queues. Thecrawl terminates when all the queues are empty.

4.1.3 Asynchronous Communications

Each slave process crawls hundreds of peers in parallel using asynchronous com-munications. Cruiser implements an adaptive load management mechanism to en-sure that slave processes remain busy but do not become overwhelmed. This is im-portant for the steady progress of the crawl especially whendifferent slave nodeshave heterogeneous processing capabilities. Toward this end, each slave monitorsits CPU load and adjusts its maximum number of parallels connections using anadditive-increase multiplicative-decrease (AIMD) algorithm similar to TCP’s con-gestion control mechanism. In practice, each PC typically runs with close to 1,000parallel connections, contributing an additional speed-up of nearly three orders ofmagnitude, compared to using synchronous communications (as in [40]).

4.1.4 Appropriate Timeouts

When peers are unresponsive, waiting for TCP to timeout and give up attempting toconnect takes a long time. On our systems, a full TCP timeout to an unresponsiveaddress takes more than 3 minutes. While this is suitable formany interactive andautomated applications, one of our primary design goals it to make crawls as quickas possible. We conducted an evaluation of the cost-versus-benefit tradeoff of differ-ent timeout values for crawling. As a function of the timeoutlength, Figure 2 showsthe duration of the crawl and the percentage of peers that were unreachable. We seethat while very low timeouts (less than 10 seconds) result ina dramatic increasein the number of timeouts, there are diminishing returns forusing longer timeoutvalues, while the crawl length (and thus distortion) continues to increase. In otherwords, if a peer has not responded after 10 seconds, it is unlikely to ever respond.

Characterization of P2P Systems 13

Therefore, we use a timeout of 10 seconds, providing an additional speedup of morethan a factor of two, compared to using full TCP timeouts.

4.2 Quantifying Snapshot Accuracy

One obvious metric to evaluate the performance of Cruiser isthe time it takes toperform a crawl. However, the crawl duration doesn’t revealhow accurate the crawlis; it only informs us if the crawl is more accurate than another crawl performed un-der similar conditions. Snapshot accuracy can not be directly measured since thereis no reference snapshot for comparison. Therefore, we mustindirectly quantify theeffect of crawling speed on snapshot accuracy.

To examine the impact of crawling speed on the accuracy of captured snapshots,we adjust the crawling speed (and thus the crawl duration) ofCruiser by changingthe number of parallel connections that each slave process can open. Using this tech-nique, Cruiser can effectively emulate the behavior of previously reported crawlerswhich have a lower degree of concurrency.

We introduce the following two metrics for evaluating a crawler. The first metric,edge distortion, examines the edges in the captured snapshot. For each contactedpeerA, with neighborsNA, we examine each of its neighborsB ∈ NA to see if theylikewise reportedA as their neighbor. If not, we have an inconsistency in the graphcaused by the fact that the edge changed sometime between crawling nodeA and

TimeoutsCrawl Duration

Timeout (seconds)

Cra

wlD

ura

tion

(m)

Tim

eou

ts(%

)

12

10

8

6

4

2

06050403020100

100

80

60

40

20

0

Fig. 2: Effects of the timeout length on crawl duration and snapshotcompleteness

14 Daniel Stutzbach and Reza Rejaie

crawling nodeB. The edge distortion, then, is the fraction of edges that areincon-sistent.

The second metric,node distortion, examines the peers present in two consec-utive snapshots captured back-to-back. We denote the peersas the setsV1 andV2.Comparing these two back-to-back snapshots provides insight into how distortedour picture of the network is. If Cruiser were instantly fastand captured perfectsnapshots,V1 andV2 would be identical. The greater the change that occurs whileCruiser runs, the greater the difference betweenV1 andV2. We define the node dis-tortion as |V1∆V2|

|V1|+|V2|, whereV1∆V2 is the symmetric difference ofV1 andV2 (i.e., peers

in one set or the other, but not both). Note that whenV1 = V2, the node distortion is0%, and whenV1 andV2 are completely disjoint the node distortion is 100%.

Figure 3 depicts peer and edge distortion as a function of crawl duration. Thisfigure demonstrates that the accuracy of snapshots decreases with the duration of thecrawl, because the increased distortion reflects changes inthe topology that occurwhile the crawler is running. Crawlers that take 1–2 hours (comparable to those inearlier works) have a node distortion of 9%–15% and an edge distortion of 31%–48%, while at full speed Cruiser exhibits a node distortion of only 4% and an edgedistortion of only 13%.

Node Distortion (δ )Edge Distortion

Crawl Duration (minutes)

Dis

tort

ion

(%)

120100806040200

100

80

60

40

20

0

Fig. 3: Effect of crawl speed on the accuracy of captured snapshots

Characterization of P2P Systems 15

5 Sampling

While fast, Cruiser unavoidably takesO(|V |) time, which means it may still be tooslow to capture accurate snapshots of system with a very large population (V ) orwhen the per-peer state is time-consuming to collect. For such cases, we need amechanism to collect unbiased samples, which is the topic ofthe this chapter.

5.1 Sampling with Dynamics

We develop a formal and general model of a P2P system as follows. If we takean instantaneous snapshot of the system at timet, we can view the overlay as agraphG(V,E) with the peers as vertices and connections between the peersas edges.Extending this notion, we incorporate the dynamic aspect byviewing the system asan infinite set of time-indexed graphs,Gt = G(Vt ,Et). The most common approachfor sampling from this set of graphs is to define a measurementwindow,[t0,t0 +∆ ],and select peers uniformly at random from the set of peers whoare present at anytime during the window:Vt0,t0+∆ =

⋃t0+∆t=t0 Vt . Thus, it does not distinguish between

occurrences of the same peer at different times.This approach is appropriate if peer session lengths are exponentially distributed

(i.e., memoryless). However, existing measurement studies [18,38,42,46] show ses-sion lengths are heavily skewed, with many peers being present for just a short time(a few minutes) while other peers remain in the system for a very long time (i.e.,longer than∆ ). As a consequence, as∆ increases, the setVt0,t0+∆ includes an in-creasingly large fraction of short-lived peers.

A simple example may be illustrative. Suppose we wish to observe the number offiles shared by peers. In this example system, half the peers are up all the time andhave many files, while the other peers remain for around 1 minute and are immedi-ately replaced by new short-lived peers who have few files. The technique used bymost studies would observe the system for a long time (∆ ) and incorrectly concludethat most of the peers in the system have very few files. Moreover, their results willdepend on how long they observe the system. The longer the measurement window,the larger the fraction of observed peers with few files.

One fundamental problem of this approach is that it focuses on samplingpeersinstead ofpeer properties. It selects each sampled vertex at most once. However,the property at the vertex may change with time. Our goal should not be to selecta vertexvi ∈

⋃t0+∆t=t0 Vt , but rather to sample the property atvi at a particular instant

t. Thus, we distinguish between occurrences of the same peer at different times:samplesvi,t andvi,t′ gathered at distinct timest 6= t ′ are viewed as distinct, evenwhen they come from the same peer.The key difference is that it must be possibleto sample from the same peer more than once, at different points in time. Using theformulationvi,t ∈Vt , t ∈ [t0,t0+∆ ], the sampling technique will not be biased by thedynamics of peer behavior, because the sample set is decoupled from peer session

16 Daniel Stutzbach and Reza Rejaie

lengths. To our knowledge, no prior P2P measurement studiesrelying on samplingmake this distinction.

Returning to our simple example, our approach will correctly select long-livedpeers half the time and short-lived peers half the time. Whenthe samples are exam-ined, they will show that half of the peers in the system at anygiven moment havemany files while half of the peers have few files, which is exactly correct.

If the measurement window (∆ ) is sufficiently small, such that the distribution ofthe property under consideration does not change significantly during the measure-ment window, then we may relax the constraint of choosingt uniformly at randomfrom [t0,t0 + ∆ ].

We still have the significant problem of selecting a peer uniformly at randomfrom those present at a particular time. We begin to address this problem in the nextsection.

Erdos–Renyi Gnutella Watts–Strogatz Barabasi–AlbertBreadth-First Search 4.54·10−4 2.73·10−3 4.73−3 2.77·10−3

Random Walk 3.18·10−4 1.57·10−3 7.64−5 2.84·10−3

Metropolis–Hastings 5.97·10−5 5.79·10−5 6.08−5 5.22·10−5

Table 5:Kolmogorov-Smirnov test statistic for techniques over static graphs. Valuesabove 1.07·10−4 lie in the rejection region at the 5% level.

5.2 Sampling from Static Graphs

We now turn our attention to topological causes of bias. Towards this end, we mo-mentarily set aside the temporal issues by assuming a static, unchanging graph.The selection process begins with knowledge of one peer (vertex) and progressivelyqueries peers for a list of neighbors. The goal is to select peers uniformly at ran-

Oracle, MRWRW, BFS

Number of times sampled

His

togr

am(#

ofpe

ers)

150010005000

2500

2000

1500

1000

500

0

(a) Erdos–Renyi

RWBFS

Number of times sampled150010005000

(b) Gnutella

RW Oracle, MRW

BFS

Number of times sampled150010005000

(c) Watts–Strogatz(small world)

RWBFS

Number of times sampled150010005000

(d) Barabasi–Albert(power-law)

Fig. 4: Bias of different sampling techniques; after collectingk · |V | samples. Thefigures show how many peers (y-axis) were selectedx times.

Characterization of P2P Systems 17

dom. In any graph-exploration problem, we have a set of visited peers (vertices) anda front of unexplored neighboring peers. There are two ways in which algorithmsdiffer: (i) how to chose the next peer to explore, and(ii) which subset of the ex-plored peers to select as samples. Prior studies use simple breadth-first or depth-firstapproaches to explore the graph and select all explored peers. These approachessuffer from several problems:

• The discovered peers are correlated by their neighbor relationship.• Peers with higher degree are more likely to be selected.• Because they never visit the same peer twice, they will introduce bias when used

in a dynamic setting as described in Section 5.1.

5.2.1 Random Walks

A better candidate solution is the random walk, which has been extensively studiedin the graph theory literature (for an excellent survey see [32]). We briefly sum-marize the key terminology and results relevant to sampling. The transition matrixP(x,y) describes the probability of transitioning to peery if the walk is currently atpeerx:

P(x,y) =

{ 1degree(x) y is a neighbor of x,0 otherwise

If the vectorv describes the probability of currently being at each peer, then thevectorv′ = vP describes the probability after taking one additional step. Likewise,vPr describes the probability after takingr steps. As long as the graph is connectedand not bipartite, the probability of being at any particular node,x, converges to astationary distribution:

π(x) = limr→∞

(vPr)(x) =degree(x)

2 · |E|

In other words, if we select a peer as a sample everyr steps, for sufficiently larger,we have the following good properties:

• The information stored in the starting vector,v, is lost, through the repeated se-lection of random neighbors. Therefore, there is no correlation between selectedpeers. Alternately, we may start many walks in parallel. In either cases, afterrsteps, the selection is independent of the origin.

• While the stationary distribution,π(x), is biased towards peers with high degree,the bias is precisely known, allowing us to correct it.

• Random walks may visit the same peer twice, which lends itself better to a dy-namic setting as described in Section 5.1.

In practice,r need not be exceptionally large. For graphs where the edges have astrong random component (e.g., small-world graphs such as peer-to-peer networks),it is sufficient that the number of steps exceed the log of the population size, i.e.,r ≥ O(log|V |).

18 Daniel Stutzbach and Reza Rejaie

5.2.2 Adjusting for degree bias

To correct the bias towards high degree peers, we make use of the Metropolis–Hastings method for Markov Chains. Random walks on a graph are a special caseof Markov Chains. In a regular random walk, the transition matrix P(x,y) leads tothe stationary distributionπ(x), as described above. We would like to choose a newtransition matrix,Q(x,y), to produce a different stationary distribution,µ(x). Specif-ically, we desireµ(x) to be the uniform distribution so that all peers are equallylikely to be at the end of the walk. Metropolis–Hastings [6,16,36] provides us withthe desiredQ(x,y):

Q(x,y) =

{

P(x,y)min(

µ(y)P(y,x)µ(x)P(x,y) ,1

)

if x 6= y,

1−∑z 6=x Q(x,z) if x = y

Equivalently, to take a step from peerx, select a neighbory of x as normal

(i.e., with probabilityP(x,y)). Then, with probability min(

µ(y)P(y,x)µ(x)P(x,y) ,1

)

, accept the

move. Otherwise, return tox (i.e., with probability 1−∑z 6=x Q(x,z)).

To collect uniform samples, we haveµ(y)µ(x) = 1, so the move-acceptance probabil-

ity becomes:

min

(

µ(y)P(y,x)µ(x)P(x,y)

,1

)

= min

(

degree(x)degree(y)

,1

)

Therefore, our algorithm for selecting the next step from some peerx is as follows:

• Select a neighbory of x uniformly at random.• Queryy for a list of its neighbors, to determine its degree.• Generate a random value,p, uniformly between 0 and 1.• If p ≤ degree(x)

degree(y) , y is the next step.• Otherwise, remain atx as the next step.

We call this the Metropolized Random Walk (MRW). Qualitatively, the effect is tosuppress the rate of transition to peers of higher degree, resulting in selecting eachpeer with equal probability.

5.2.3 Evaluation

Although [6] provides a proof of correctness for the Metropolis–Hastings method,to ensure the correctness of our implementation we conduct evaluations throughsimulation over static graphs. This additionally providesthe opportunity to compareMRW with conventional techniques such as Breadth-First Search (BFS) or naiverandom walks (RW) with no adjustments for degree bias.

To evaluate a technique, we use it to collect a large number ofsample verticesfrom a graph, then perform a goodness-of-fit test against theuniform distribution.For Breadth-First Search, we simulate typical usage by running it to gather a batch of1,000 peers. When one batch of samples is collected, the process is reset and begins

Characterization of P2P Systems 19

anew at a different starting point. To ensure robustness with respect to differentkinds of connectivity structures, we examine each technique over several types ofgraphs as follows:

• Erdos–Renyi: The simplest variety of random graphs• Watts–Strogatz: “Small world” graphs with high clustering and low path

lengths• Barabasi–Albert: Graphs with extreme degree distributions, also known as

power-law or scale-free graphs• Gnutella: Snapshots of the Gnutella ultrapeer topology, captured in our earlier

work [48]

To make the results more comparable, the number of vertices (|V | = 161,680)and edges (|E| = 1,946,596) in each graph are approximately the same.2 Table 5presents the results of the goodness-of-fit tests after collecting 1000· |V | samples,showing that Metropolis–Hastings appears to generate uniform samples over eachtype of graph, while the other techniques fail to do so by a wide margin.

Figure 4 explores the results visually, by plotting the number of times each peeris selected. If we selectk · |V | samples, the typical node should be selectedk times,with other nodes being selected close tok times approximately following a nor-mal distribution with variancek.3 We usedk = 1,000 samples. We also include an“Oracle” technique, which selects peers uniformly at random using global infor-mation. The Metropolis–Hastings results are virtually identical to the Oracle, whilethe other techniques select many peers much more and much less thank times.In the Gnutella, Watts–Strogatz, and Barabasi–Albert graphs, Breadth-First Searchexhibits a few vertices that are selected a large number of times (> 10,000). The(not-adjusted) Random Walk (RW) method has similarly selected a few verticesan exceptionally large number of times in the Gnutella and Barabasi–Albert mod-els. The Oracle and MRW, by contrast, did not select any vertex more than around1,300 times.

In summary, the Metropolis–Hastings method selects peers uniformly at randomfrom a static graph. The next section examines the additional complexities whenselecting from a dynamic graph, introduces appropriate modifications, and evaluatesthe algorithm’s performance.

5.3 Empirical Results

In addition to the simulator version, we have implemented the MRWB algorithmfor sampling from real peer-to-peer networks into a tool called ion-sampler . The

2 Erdos–Renyi graphs are generated based on some probability p that any edge may exist. We setp = 2|E|

|V |·(|V |−1) so that there will be close to|E| edges, though the exact value may vary slightly.

The Watts–Strogatz model require that|E| be evenly divisible by|V |, so in that model we use|E| = 1,940,160.3 Based on the normal approximation of a binomial distribution with p = 1

|V | andn = k|V |.

20 Daniel Stutzbach and Reza Rejaie

following subsections briefly describe the implementationand usage ofion-samplerand present empirical experiments to validate its accuracy.

5.3.1 Ion-Sampler

Theion-sampler tool uses a modular design that accepts plug-ins for new peer-to-peer systems.4 A plug-in can be written for any peer-to-peer system that allowsquerying a peer for a list of its neighbors. Theion-sampler tool hands IP-address:port pairs to the plug-in, which later returns a list of neighbors or signalsthat a timeout occurred. Theion-sampler tool is responsible for managing thewalks. It outputs the samples to standard output, where theymay be easily read byanother tool that collects the actual measurements. For example, ion-samplercould be used with existing measurement tools for measuringbandwidth to estimatethe distribution of access link bandwidth in a peer-to-peersystem. Listing 1 showsan example of usingion-sampler to sample peers from Gnutella.

5.3.2 Empirical Validation

The topology snapshots from Cruiser provide a point of reference for the degreedistribution to evaluate the accuracy ofion-sampler empirically. By capturingevery peer, Cruiser is immune to sampling difficulties. However, because the net-work changes as Cruiser operates, its snapshots are slightly distorted. In particular,peers arriving near the start of the crawl are likely to have found additional neigh-bors by the time Cruiser contacts them. Therefore, we intuitively expect a slightupward bias in Cruiser’s observed degree distribution. Forthis reason, we wouldnot expect a perfect match between Cruiser and sampling, butif the sampling is un-biased we still expect them to be very close. We can view the CCDF version of thedegree distribution captured by Cruiser as a close upper-bound on the true degreedistribution.

Figure 5 presents a comparison of the degree distribution ofreachable ultrapeersin Gnutella, as seen by Cruiser and by the sampling tool (capturing approximately1,000 samples withr = 25 hops). It also includes the results of a short crawl,5 asampling technique commonly used in earlier studies (e.g.,[42]). We interleavedrunning these measurement tools to minimize the change in the system betweenmeasurements of different tools, in order to make their results comparable.

Examining Figure 5, we see that the full crawl and sampling distributions arequite similar. The sampling tool finds slightly more peers with lower degree, com-pared to the full crawl, in accordance with our expectationsdescribed above. We

4 In fact, it uses the same plug-in architecture as our earlier, heavy-weight tool, Cruiser, whichexhaustively crawls peer-to-peer systems to capture topology snapshots.5 A “short crawl” is a general term for a progressive exploration of a portion of the graph, suchas by using a breadth-first or depth-first search. In this case, we randomly select the next peer toexplore.

Characterization of P2P Systems 21

examined several such pairs of crawling and sampling data and found the same pat-tern in each pair. By comparison, the short crawl exhibits a substantial bias towardshigh degree peers relative to both the full crawl and sampling.

5.3.3 Efficiency

Having demonstrated the validity of the MRWB technique, we now turn our at-tention to its efficiency. Performing the walk requiresn · r queries, wheren is thedesired number of samples andr is the length of the walk in hops. Ifr is too low,significant bias may be introduced. Ifr is too high, it should not introduce bias, butis less efficient. From graph theory, we expect to requirer ≥ O(log|V |) for an ordi-nary random walk. Based on our empirical experiments in [47], we conservatively

bash$ ./ion-sampler gnutella --hops 25 -n 1010.8.65.171:634810.199.20.183:526010.8.45.103:3471710.21.0.29:634610.32.170.200:634610.201.162.49:3027410.222.183.129:4727210.245.64.85:634810.79.198.44:3652010.216.54.169:44380bash$

Listing 1: Example usage of theion-sampler tool. We specify that we wantto use the Gnutella plug-in, each walk should take 25 hops, and we would like 10samples. The tool then prints out 10 IP-address:port pairs.We have changed the firstoctet of each result to “10” for privacy reasons.

Sampling (971 peers)Full Crawl (422,808 peers)

Short Crawl (1000 peers)

Degree

CC

DF

(%)

4035302520151050

100

80

60

40

20

0

Fig. 5: Comparison of degree distributions observed from samplingversus exhaus-tively crawling all peers

22 Daniel Stutzbach and Reza Rejaie

regard a choice ofr = 25 as a safe walk length for Gnutella. Choosingr = 25, wecan collect 1,000 samples by querying 25,000 peers, over an order of magnitudein savings compared with performing a full crawl which must contact more than400,000.

6 Summary and Future Work

The first half of this chapter surveys techniques for measuring attributes of P2P sys-tems as well as characterizations derived from the application of those techniques.The second half explores two measurement techniques in detail—crawling andsampling—and demonstrates the importance of validating measurement method-ology.

In our ongoing work, we are exploring different techniques to improve the ac-curacy and efficiency of the crawling and sampling techniquepresented here (andearlier presented in [47,48]). Additionally, we are examining large-scale traffic mon-itoring over Distributed Hash Tables (DHTs).

References

1. Adamic, L.A., Lukose, R.M., Huberman, B., Puniyani, A.R.: Search in power-law networks.Phys. Rev. E64(46135) (2001)

2. Adar, E., Huberman, B.A.: Free riding on Gnutella. First Monday5(10) (2000)3. Annexstein, F.S., Berman, K.A., Jovanovic, M.A.: Latency effects on reachability in large-

scale peer-to-peer networks. In: Symposium on Parallel Algorithms and Architectures, pp.84–92. Crete, Greece (2001)

4. Bhagwan, R., Savage, S., Voelker, G.: Understanding availability. In: International Workshopon Peer-to-Peer Systems (2003)

5. Bustamante, F.E., Qiao, Y.: Friendships that last: Peer lifespan and its role in P2P protocols.In: International Workshop on Web Content Caching and Distribution (2003)

6. Chib, S., Greenberg, E.: Understanding the Metropolis–Hastings algorithm. The AmericianStatistician49(4), 327–335 (1995)

7. Chu, J., Labonte, K., Levine, B.N.: Availability and locality measurements of peer-to-peer filesystems. In: ITCom: Scalability and Traffic Control in IP Networks II Conferences (2002)

8. Clip2.com, Inc.: Gnutella: To the bandwidth barrier and beyond (2000)9. Crespo, A., Garcia-Molina, H.: Routing indices for peer-to-peer systems. In: International

Conference on Distributed Computing Systems (2002)10. Erman, D., Ilie, D., Popescu, A., Nilsson, A.A.: Measurement and analysis of BitTorrent sig-

naling traffic. In: Nordic Teletraffic Seminar. Oslo, Norway(2004)11. Fessant, F.L., Handurukande, S., Kermarrec, A.M., Massoulie, L.: Clustering in peer-to-peer

file sharing workloads. In: International Workshop on Peer-to-Peer Systems (2004)12. Gkantsidis, C., Mihail, M., Saberi, A.: Random walks in peer-to-peer networks. In: IEEE

INFOCOM (2004)13. Guha, S., Daswani, N., Jain, R.: An experimental study ofthe Skype peer-to-peer VoIP system.

In: International Workshop on Peer-to-Peer Systems. SantaBarbara, CA, USA (2006)14. Gummadi, K.P., Dunn, R.J., Saroiu, S., Gribble, S.D., Levy, H.M., Zahorjan, J.: Measurement,

modeling, and analysis of a peer-to-peer file-sharing workload. In: ACM Symposium onOperating Systems Principles (2003)

Characterization of P2P Systems 23

15. Guo, L., Chen, S., Xiao, Z., Tan, E., Ding, X., Zhang, X.: Measurements, analysis, and mod-eling of BitTorrent-like systems. In: Internet Measurement Conference. Berkeley, CA (2005)

16. Hastings, W.: Monte Carlo sampling methods using Markovchains and their applications.Biometrika57, 97–109 (1970)

17. He, Q., Ammar, M.: Congestion control and message loss inGnutella networks. In: Multime-dia Computing and Networking. Santa Clara, CA (2004)

18. Izal, M., Urvoy-Keller, G., Biersack, E.W., Felber, P.A., Hamra, A.A., Garces-Erice, L.: Dis-secting BitTorrent: Five months in a torrent’s lifetime. In: Passive and Active MeasurementWorkshop (2004)

19. Jiang, S., Zhang, X.: Floodtrail: An efficient file searchtechnique in unstructured peer-to-peersystems. In: Globecom. San Francisco, CA (2003)

20. Karagiannis, T., Broido, A., Brownlee, N., Claffy, K., Faloutsos, M.: Is P2P dying or justhiding? In: Globecom. Dallas, TX (2004)

21. Karbhari, P., Ammar, M., Dhamdhere, A., Raj, H., Riley, G., Zegura, E.: Bootstrapping inGnutella: A measurement study. In: Passive and Active Measurement Workshop (2004)

22. Klemm, A., Lindemann, C., Vernon, M., Waldhorst, O.P.: Characterizing the query behaviorin peer-to-peer file sharing systems. In: Internet Measurement Conference. Taormina, Italy(2004)

23. Leibowitz, N., Bergman, A., Ben-Shaul, R., Shavit, A.: Are file swapping networks cacheable?Characterizing P2P traffic. In: International Web Caching Workshop (2002)

24. Leibowitz, N., Ripeanu, M., Wierzbicki, A.: Deconstructing the Kazaa network. In: IEEEWorkshop on Internet Applications (2003)

25. Leonard, D., Rai, V., Loguinov, D.: On lifetime-based node failure and stochastic resilience ofdecentralized peer-to-peer networks. In: SIGMETRICS (2005)

26. Li, J., Stribling, J., Morris, R., Kaashoek, M.F.: Bandwidth-efficient management of DHTrouting tables. In: USENIX/ACM Symposium on Networked Systems Design and Implemen-tation. Boston, MA (2005)

27. Liang, J., Kumar, R., Ross, K.W.: The Kazaa overlay: A measurement study. Computer Net-works Journal (Elsevier) (2005)

28. Liang, J., Kumar, R., Xi, Y., Ross, K.W.: Pollution in P2Pfile sharing systems. In: IEEEINFOCOM. Miami, FL (2005)

29. Liu, Y., Liu, X., Xiao, L., Ni, L.M., Zhang, X.: Location-aware topology matching in P2Psystems. In: IEEE INFOCOM (2004)

30. Liu, Y., Zhuang, Z., Xiao, L., Ni, L.M.: AOTO: Adaptive overlay topology optimization inunstructured P2P systems. In: Globecom. San Francisco, CA (2003)

31. Liu, Y., Zhuang, Z., Xiao, L., Ni, L.M.: A distributed approach to solving overlay mismatchingproblem. In: International Conference on Distributed Computing Systems (2004)

32. Lovasz, L.: Random walks on graphs: A survey. Combinatorics: Paul Erdos is Eighty2, 1–46(1993)

33. Lv, Q., Cao, P., Cohen, E., Li, K., Shenker, S.: Search andreplication in unstructured peer-to-peer networks. In: International Conference on Supercomputing (2002)

34. Lv, Q., Ratnasamy, S., Shenker, S.: Can heterogeneity make Gnutella scalable? In: Interna-tional Workshop on Peer-to-Peer Systems (2002)

35. Markatos, E.P.: Tracing a large-scale peer to peer system: an hour in the life of Gnutella. In:CC Grid (2002)

36. Metropolis, N., Rosenbluth, A., Rosenbluth, M., Teller, A., Teller, E.: Equations of state cal-culations by fast computing machines. J. of Chemical Physics 21, 1087–1092 (1953)

37. Plissonneau, L., Costeux, J.L., Brown, P.: Analysis of peer-to-peer traffic on ADSL. In: Passiveand Active Measurement Workshop, pp. 69–82. Boston, MA (2005)

38. Pouwelse, J., Garbacki, P., Epema, D., Sips, H.: The BitTorrent P2P file-sharing system: Mea-surements and analysis. In: International Workshop on Peer-to-Peer Systems. Ithaca, NY(2005)

39. Rhea, S., Geels, D., Kubiatowicz, J.: Handling churn in aDHT. In: USENIX, pp. 127–140(2004)

24 Daniel Stutzbach and Reza Rejaie

40. Ripeanu, M., Foster, I., Iamnitchi, A.: Mapping the Gnutella network: Properties of large-scalepeer-to-peer systems and implications for system design. IEEE Internet Comput.6(1) (2002)

41. Saroiu, S., Gummadi, K.P., Dunn, R.J., Gribble, S.D., Levy, H.M.: An analysis of Internetcontent delivery systems. In: Symposium on Operating Systems Design and Implementation,pp. 315–327 (2002)

42. Saroiu, S., Gummadi, P.K., Gribble, S.D.: Measuring andanalyzing the characteristics of Nap-ster and Gnutella hosts. Multimedia Systems J.9(2), 170–184 (2003)

43. Sen, S., Wang, J.: Analyzing peer-to-peer traffic acrosslarge networks. IEEE/ACM Trans.Netw.12(2), 219–232 (2004)

44. Sripanidkulchai, K.: The popularity of Gnutella queriesand its implications on scalability (2001). URLhttp://www-2.cs.cmu.edu/˜kunwadee/research/p2p/pape r.html

45. Stutzbach, D., Rejaie, R.: Improving lookup performance over a widely-deployed DHT. In:IEEE INFOCOM. Barcelona, Spain (2006)

46. Stutzbach, D., Rejaie, R.: Understanding churn in peer-to-peer networks. In: Internet Mea-surement Conference. Rio de Janeiro, Brazil (2006)

47. Stutzbach, D., Rejaie, R., Duffield, N., Sen, S., Willinger, W.: On unbiased sampling for un-structured peer-to-peer networks. IEEE/ACM Trans. Netw. (To appear)

48. Stutzbach, D., Rejaie, R., Sen, S.: Characterizing unstructured overlay topologies in modernp2p file-sharing systems. IEEE/ACM Trans. Netw.16(2) (2007)

49. Stutzbach, D., Zhao, S., Rejaie, R.: Characterizing files in the modern Gnutella network. Mul-timedia Systems J.13(1) (2007)

50. Wang, C., Xiao, L., Liu, Y., Zheng, P.: Distributed caching and adaptive search in multilayerP2P networks. In: International Conference on DistributedComputing Systems (2004)

51. Yang, M., Zhang, Z., Li, X., Dai, Y.: An empirical study offree-riding behavior in the MazeP2P file-sharing system. In: International Workshop on Peer-to-Peer Systems. Ithaca, NY(2005)