Modeling Peer-Peer File Sharing Systems



Similar documents
An Alternative Way to Measure Private Equity Performance

1. Fundamentals of probability theory 2. Emergence of communication traffic 3. Stochastic & Markovian Processes (SP & MP)

benefit is 2, paid if the policyholder dies within the year, and probability of death within the year is ).

What is Candidate Sampling

The Development of Web Log Mining Based on Improve-K-Means Clustering Analysis

Performance Analysis of Energy Consumption of Smartphone Running Mobile Hotspot Application

Enabling P2P One-view Multi-party Video Conferencing

A Replication-Based and Fault Tolerant Allocation Algorithm for Cloud Computing

DEFINING %COMPLETE IN MICROSOFT PROJECT

Calculation of Sampling Weights

Project Networks With Mixed-Time Constraints

Modeling Peer-Peer File Sharing Systems

Data Broadcast on a Multi-System Heterogeneous Overlayed Wireless Network *

Recurrence. 1 Definitions and main statements

Multi-Source Video Multicast in Peer-to-Peer Networks

Cloud-based Social Application Deployment using Local Processing and Global Distribution

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

EVALUATING THE PERCEIVED QUALITY OF INFRASTRUCTURE-LESS VOIP. Kun-chan Lan and Tsung-hsun Wu

Traffic State Estimation in the Traffic Management Center of Berlin

Analysis of Energy-Conserving Access Protocols for Wireless Identification Networks

Multiple-Period Attribution: Residuals and Compounding

On the Optimal Control of a Cascade of Hydro-Electric Power Stations

Course outline. Financial Time Series Analysis. Overview. Data analysis. Predictive signal. Trading strategy

A Performance Analysis of View Maintenance Techniques for Data Warehouses

BERNSTEIN POLYNOMIALS

SPEE Recommended Evaluation Practice #6 Definition of Decline Curve Parameters Background:

Luby s Alg. for Maximal Independent Sets using Pairwise Independence

RELIABILITY, RISK AND AVAILABILITY ANLYSIS OF A CONTAINER GANTRY CRANE ABSTRACT

ANALYZING THE RELATIONSHIPS BETWEEN QUALITY, TIME, AND COST IN PROJECT MANAGEMENT DECISION MAKING

THE DISTRIBUTION OF LOAN PORTFOLIO VALUE * Oldrich Alfons Vasicek

PAS: A Packet Accounting System to Limit the Effects of DoS & DDoS. Debish Fesehaye & Klara Naherstedt University of Illinois-Urbana Champaign

denote the location of a node, and suppose node X . This transmission causes a successful reception by node X for any other node

Methodology to Determine Relationships between Performance Factors in Hadoop Cloud Computing Applications

Extending Probabilistic Dynamic Epistemic Logic

Rapid Estimation Method for Data Capacity and Spectrum Efficiency in Cellular Networks

The EigenTrust Algorithm for Reputation Management in P2P Networks

A Load-Balancing Algorithm for Cluster-based Multi-core Web Servers

VoIP Playout Buffer Adjustment using Adaptive Estimation of Network Delays

How To Detect An Traffc From A Network With A Network Onlne Onlnet

行 政 院 國 家 科 學 委 員 會 補 助 專 題 研 究 計 畫 成 果 報 告 期 中 進 度 報 告

"Research Note" APPLICATION OF CHARGE SIMULATION METHOD TO ELECTRIC FIELD CALCULATION IN THE POWER CABLES *

METHODOLOGY TO DETERMINE RELATIONSHIPS BETWEEN PERFORMANCE FACTORS IN HADOOP CLOUD COMPUTING APPLICATIONS

An Interest-Oriented Network Evolution Mechanism for Online Communities

Staff Paper. Farm Savings Accounts: Examining Income Variability, Eligibility, and Benefits. Brent Gloy, Eddy LaDue, and Charles Cuykendall

Traffic-light a stress test for life insurance provisions

Open Access A Load Balancing Strategy with Bandwidth Constraint in Cloud Computing. Jing Deng 1,*, Ping Guo 2, Qi Li 3, Haizhu Chen 1

The OC Curve of Attribute Acceptance Plans

A Probabilistic Theory of Coherence

Forecasting the Demand of Emergency Supplies: Based on the CBR Theory and BP Neural Network

CHOLESTEROL REFERENCE METHOD LABORATORY NETWORK. Sample Stability Protocol

Enterprise Master Patient Index

Institute of Informatics, Faculty of Business and Management, Brno University of Technology,Czech Republic

Optimization of network mesh topologies and link capacities for congestion relief

J. Parallel Distrib. Comput.

Network Aware Load-Balancing via Parallel VM Migration for Data Centers

Little s Law & Bottleneck Law

The Load Balancing of Database Allocation in the Cloud

Sketching Sampled Data Streams

An Empirical Study of Search Engine Advertising Effectiveness

A Self-Organized, Fault-Tolerant and Scalable Replication Scheme for Cloud Storage

Self-Adaptive SLA-Driven Capacity Management for Internet Services

How To Understand The Results Of The German Meris Cloud And Water Vapour Product

Case Study: Load Balancing

On File Delay Minimization for Content Uploading to Media Cloud via Collaborative Wireless Network

A Novel Methodology of Working Capital Management for Large. Public Constructions by Using Fuzzy S-curve Regression

Causal, Explanatory Forecasting. Analysis. Regression Analysis. Simple Linear Regression. Which is Independent? Forecasting

APPLICATION OF PROBE DATA COLLECTED VIA INFRARED BEACONS TO TRAFFIC MANEGEMENT

Overview of monitoring and evaluation

Optimization Model of Reliable Data Storage in Cloud Environment Using Genetic Algorithm

Managing Resource and Servent Reputation in P2P Networks

AN APPOINTMENT ORDER OUTPATIENT SCHEDULING SYSTEM THAT IMPROVES OUTPATIENT EXPERIENCE

Basic Queueing Theory M/M/* Queues. Introduction

Joint Scheduling of Processing and Shuffle Phases in MapReduce Systems

Answer: A). There is a flatter IS curve in the high MPC economy. Original LM LM after increase in M. IS curve for low MPC economy

RequIn, a tool for fast web traffic inference

Optimization of File Allocation for Video Sharing Servers

A Passive Network Measurement-based Traffic Control Algorithm in Gateway of. P2P Systems

How Sets of Coherent Probabilities May Serve as Models for Degrees of Incoherence

An MILP model for planning of batch plants operating in a campaign-mode

Efficient Project Portfolio as a tool for Enterprise Risk Management

Exhaustive Regression. An Exploration of Regression-Based Data Mining Techniques Using Super Computation

IDENTIFICATION AND CORRECTION OF A COMMON ERROR IN GENERAL ANNUITY CALCULATIONS

Fixed income risk attribution

Risk-based Fatigue Estimate of Deep Water Risers -- Course Project for EM388F: Fracture Mechanics, Spring 2008

A graph-theoretic framework for isolating botnets in a network

Politecnico di Torino. Porto Institutional Repository

Brigid Mullany, Ph.D University of North Carolina, Charlotte

P2P/ Grid-based Overlay Architecture to Support VoIP Services in Large Scale IP Networks

INVESTIGATION OF VEHICULAR USERS FAIRNESS IN CDMA-HDR NETWORKS

Conferencing protocols and Petri net analysis

Power-of-Two Policies for Single- Warehouse Multi-Retailer Inventory Systems with Order Frequency Discounts

Calculating the high frequency transmission line parameters of power cables

Network Security Situation Evaluation Method for Distributed Denial of Service

Number of Levels Cumulative Annual operating Income per year construction costs costs ($) ($) ($) 1 600,000 35, , ,200,000 60, ,000

Transcription:

Modelng Peer-Peer Fle Sharng Systems Zhu Ge, Danel R. Fgueredo, Sharad Jaswal, Jm Kurose, Don Towsley Department of Computer Scence Unversty of Massachusetts, Amherst gezhu, ratton, sharad, urose, towsley @cs.umass.edu Abstract Peer-peer networng has recently emerged as a new paradgm for buldng dstrbuted networed applcatons. In ths paper we develop smple mathematcal models to explore and llustrate fundamental performance ssues of peerpeer fle sharng systems. The modelng framewor ntroduced and the correspondng soluton method are flexble enough to accommodate dfferent characterstcs of such systems. Through the specfcaton of model parameters, we apply our framewor to three dfferent peer-peer archtectures: centralzed ndexng, dstrbuted ndexng wth flooded queres, and dstrbuted ndexng wth hash-drected queres. Usng our model, we nvestgate the effects of system scalng, freeloaders, fle popularty and avalablty on system performance. In partcular, we observe that a system wth dstrbuted ndexng and flooded queres cannot explot the full capacty of peer-peer systems. We further show that peer-peer fle sharng systems can tolerate a sgnfcant number of freeloaders wthout sufferng much performance degradaton. In many cases, freeloaders can beneft from the avalable spare capacty of peer-peer systems and ncrease overall system throughput. Our wor shows that smple models coupled wth effcent soluton methods can be used to understand and answer questons related to the performance of peer-peer fle sharng systems. I. INTRODUCTION Peer-peer networng has recently emerged as a new paradgm for buldng dstrbuted networed applcatons. The peer-peer approach dffers from the tradtonal clent/server approach towards buldng networed applcatons n several crucal ways. Perhaps most mportantly, a peer s both a producer and a consumer of the mplemented servce. In a peerpeer fle-sharng applcaton, for example, a peer both requests fles from ts peers, and stores and serves fles to ts peers. A peer thus generates worload for the peer-peer applcaton, whle also provdng the capacty to process the worload requests of others. As a result, an ncrease n the number of peers results not just n an ncrease n worload, but also n a concomtant ncrease n the capacty to serve the worload. In the tradtonal clent-server approach, a clear dstncton exsts between the consumers and producers of a servce clents generate worload and worload s processed by servers; an ncrease n the number of clents results smply n an ncrease n worload. A second mportant dfference s that a peer s lfetme n the system s transtory a peer may be actve Ths research has been supported n part by the NSF under grant awards ANI-9809, ANI-980585, and EIA-00809, by DARPA under contract 9608-0-ALAN00 and by CAPES (Brazl). Any opnons, fndngs, and conclusons or recommendatons expressed n ths materal are those of the authors and do not necessarly reflect the vews of the Natonal Scence Foundaton. n the system for some tme (both generatng requests and servng the requests of others) and then go off-lne, removng tself from the system. Consderable research has been devoted to developng a fundamental understandng of the performance of tradtonal clent-server applcatons []. For example, varous models exst for predctng the system throughput and average response tme of a worload that s load-balanced among a set of servers. Perhaps because the feld s so new, sgnfcantly less wor has been devoted to developng a fundamental understandng of peer-peer applcatons. Much of the research to date n peer-peer networng has focused on developng pont solutons to specfc peer-peer problems, or on measurng clent worloads and servng characterstcs of currently deployed peer-peer systems. To our nowledge, no study has yet evaluated fundamental performance ssues of peer-peer fle sharng systems. It s dffcult to evaluate any conjecture n real deployed peer-peer systems, gven the unregulated and transtory nature of such networs. Thus, a formal framewor s clearly needed to provde for the systematc evaluaton of such performance ssues. For example, t s generally assumed that peer-peer systems can scale better than the tradtonal clent/server approach. However, there has not been any quanttatve evaluaton of the scalablty of peer-peer systems. Moreover, t s commonly assumed that freeloaders can degrade the performance of peerpeer systems snce they do not contrbute to the capacty of the system. Agan, we are not aware of any study that examnes the mpact freeloaders have on the overall system performance and on other non-freeloadng peers. The goal of our wor s to develop smple mathematcal models that can be used to llustrate and llumnate fundamental performance ssues of peer-peer fle sharng systems. We ntroduce a flexble mathematcal abstracton of a peerpeer fle sharng system that s general enough to capture the essence of dfferent archtectures and dfferent peer behavors. We also present an approxmate soluton method for the system throughput whch wll be used to analyze the system performance. By defnng specfc model parameters we capture three dfferent archtectures (centralzed ndexng, dstrbuted ndexng wth flooded queres, dstrbuted ndexng wth routed queres) and two classes of peers (non-freeloaders and freeloaders). A partcular strength of our approach s the generalty of the modelng framewor whch allows one to explore a range of ssues and performance trade-offs of fle sharng peer-peer

systems. In partcular, we address the followng fundamental ssues: () the scalablty of dfferent archtectures wth the number of peers; () the mpact on such systems due to the presence of dfferent classes of peers (e.g., freeloaders); () the mpact of mbalance n servce capacty and fle request load on such systems. We now summarze some of our results: The use of lmted-scope floodng of queres has a serously negatve mpact on the system performance. Ths approach has an nherent handcap n not beng able to fully captalze on the potental capacty of a peer-peer system. Contrary to what one mght expect, freeloaders often do not have a sgnfcant negatve mpact on the performance of other peers. In fact, peer-peer systems are lely to have spare capacty whch freeloaders can beneft from. It s nown that well desgned dstrbuted ndexng archtectures le CAN and Chord [], [] can scale wth populaton sze. However, we show that a centralzed ndexng approach can scale gracefully untl the system reaches ts capacty to process queres, and can outperform the other archtectures for small populaton szes. The performance of a peer-peer system shows only a mnor degradaton when the most requested fles are not the most wdely avalable. In the followng secton we provde an overvew of current peer-peer fle sharng archtectures and dscuss ther dfferences. In Secton III we ntroduce an abstract model for peerpeer fle sharng systems. The model parameters correspondng to each partcular archtecture are defned n Secton I. In Secton, we derve an approxmate soluton technque for the system throughput. Numercal results and comparson between dfferent archtectures under varous condtons are presented n Secton I. Fnally, we conclude the paper n Secton II. II. BACKGROUND It s possble to dvde the currently proposed peer-peer fle sharng systems nto three dfferent archtectures. The earlest desgn uses a central server (or server cluster) to coordnate partcpatng nodes and to mantan an ndex of all avalable fles beng shared. When a peer node jons the system, t contacts the central server and sends a lst of the local fles that are avalable for other peers to download (shared fles). To locate a fle, a peer sends a query to the central server, whch performs a database looup and responds wth a lst of peers that have the desred fle. If a peer leaves the system, ts lst of shared fles s removed from the central server. We wll denote such an archtecture as a CIA (Centralzed Indexng Archtecture). An example of such a system s the Napster networ []. The two other archtectures elmnate the central server and dstrbute the ndces of avalable fles among partcpatng nodes; they dffer from each other prmarly n the manner n whch they dstrbute the fle ndces. In one approach, each peer s responsble for mantanng the ndces of only the fles t stores. A lmted-scope query message s flooded to the networ when a peer wants to locate a fle n the system. All nodes reached by the floodng that have a postve match wth the query reply to the peer that orgnated the request. Note that snce query messages have lmted-scope, t s possble that peers cannot locate fles even though the fles are avalable n the system. Ths type of archtecture wll be denoted as DIFA (Dstrbuted Indexng wth Floodng Archtecture). It s typfed by the Gnutella networ [5]. The thrd approach elmnates floodng by systematcally dstrbutng the fle ndces among partcpatng nodes, wth queres beng routed drectly to the node responsble for that subset of the fle ndex. When a node jons the system, t s assgned a subset of the ndex space and t receves all eys ( fle name, peer address pars) for that subset. If a peer leaves the system, another peer (or peers) becomes responsble for ts subset of the fle ndex. We wll denote such systems as DIHA (Dstrbuted Indexng wth Hashng Archtecture) whch are typfed by Chord [], CAN [], Pastry [6] and Tapestry [7]. Despte ther archtectural dfferences, three common mportant functons are performed by all peers n all archtectures: () mantenance of the nfrastructure of the peer-peer system. Ths nvolves handlng peer arrvals and departures and ensurng networ connectvty among peers; () handlng queres. Ths nvolves query propagaton and response mechansms; () fle transfers. Ths last functon nvolves relable fle download, and s performed smlarly n all three archtectures, snce after locatng the destnaton node a drect fle transfer taes place, between the peer requestng the fle and the one storng t. The manner n whch the frst two functons above are accomplshed, however, dffer sgnfcantly among the three archtectures. In the central server archtecture, the central server handles all nfrastructure mantenance and query processng functons. In contrast, these functons are dstrbuted among all the peers n the system n the two dstrbuted archtectures. III. MODEL FOR PEER-PEER FILE SHARING SYSTEMS In order to capture the dstngushng characterstcs of peerpeer fle sharng systems, we see a smple, yet representatve, mathematcal abstracton. We model the peer-peer system as a multple class closed queueng networ where each class conssts of a fxed populaton of peers, gven by, where s the number of classes. Peers can be ether on-lne, partcpatng n the system, or off-lne. Whle on-lne, a peer generates worload by posng queres to locate fles and performng fle downloads. When a peer jons the system, movng from the off-lne to the on-lne state, t not only generates worload, but also brngs servce capacty to the system. In the dstrbuted archtectures, a peer partcpates n nfrastructure mantenance and query processng (whch we wll term common servce ). In all archtectures a newly arrvng peer wll also be avalable to serve fles to ts peers, whch ncreases the servce capacty of the system. After downloadng a fle, a peer ether leaves the system (and returns to the off-lne state) or remans n the system (to generate subsequent requests, and to provde fle transfers to other

K $ I, U!" total number of dstnct fles n the system number of classes of peers populaton sze of the # -th class of peers vector % &'"(*))+)+( -,."0/ of populaton szes!" no. of peers on-lne from the # -th class $ vector % &'" (*))+)+( -,." / 6567!8" 9*:;: average off-lne tme of the # -th class 6567 <>=*?>@!8" average dle tme of the # -th class ACB % $D / servce rate of common servce queue A : % $D ( EF/ E servce rate for downloadng the -th most replcated fle GH prob. that a request s assocated wth -th most popular fle G!8" 9*:;: prob. that a peer from the # -th class goes off-lne J : % ('EF/ E prob. that a query for the -th most replcated fle fals K!8" of peers on-lne throughput of # -th class observed at reference pont A n Fgure system throughput, L 8MN& K!8", observed at reference pont A n Fgure TABLE I NOTATION AND MODEL PARAMETERS. peers). Fgure llustrates a model that captures ths behavor, whle the notaton for the model s ntroduced n Table I. We next consder the ndvdual components of ths model n more detal. The common servces component of the system s abstracted by havng a sngle server queue represent query processng. In the dstrbuted archtectures, peers cooperate to process queres, and hence the servce rate OQP for ths queue s an ncreasng functon of the number of on-lne peers. TR s a vector contanng the number of peers on-lne from each class. As noted earler, peer-peer archtectures dffer sgnfcantly n how they process queres. Thus, O P R, approprately chosen, can be used to model the dstnctve characterstcs of the search mechansm of each archtecture. An mportant abstracton of our model s that each dstnct fle beng shared n the system wll have a certan servce capacty assocated wth t. That s, there wll be some number of copes of each fle n a peer-peer networ, and the larger the number of copes, the larger the capacty of the peerpeer system to serve ths fle. Ths abstracton s modeled by assocatng a sngle server queue wth each dstnct fle n the system (we assume there are U dstnct fles). All requests to download a partcular fle must enter ts correspondng queue to be served. The servce capacty to serve a fle depends on the number of replcas of that fle present n the system, whch n turn generally depends on the popularty of that fle. The number of replcas n the system also depends on the number of peers currently on-lne. Thus, we denote the servce capacty for the -th most replcated fle as OQW from to U., where vares Another mportant aspect of fle sharng applcatons s that queres are not unformly dstrbuted among the U dstnct fles avalable n the system. Thus, let YZ[ ndcate the ran of the fle based on the number of requests t receves. Let ^] denote the probablty that a query s drected to the Y -th most requested fle. Note that the Y -th most popular fle mght not be the same as the Y -th most replcated fle. If a fle has recently become hot t mght receve more requests than any other fle n the system, however, t mght not be the most replcated fle of the system. In all archtectures, a query request can fal to locate the desred fle. Ths can happen for one of several reasons: () the desred fle s not present n the system; () peers that hold the desred fle are off-lne; () the query message dd not reach the peer node that holds the ndex for the fle beng searched. Agan, we want to model the fact that queres fal wth unequal probablty across the fles avalable n the system. The probablty that a query fals s a functon of the number of replcas of the desred fle. Moreover, the number of on-lne peers also affects the probablty that a query wll fal. Thus, let _W denote the probablty that a query for the -th most replcated fle fals gven that there are `R peers on-lne. By approprately choosng _ W R we can model dfferent archtectures and ther behavors wth respect to query falure. When peers are on-lne, they are not always posng queres and downloadng fles. A peer mght reman slent and nether generate queres nor download fles for a perod of tme. Ths behavor s modeled by ncludng a thn phase that each peer must go through before posng a query. User behavor (whle on-lne) thus conssts of alternatng ntervals of thn tme and fle query/download actvty. The thn tme perod for the a -th class (cbdaebf ) s modeled l by an nfnte server queue wth mean servce tme hgj mln6o-p. The tme spent queryng/downloadng wll depend on system archtecture, load, and other specfc system parameters, as wll be dscussed later. The fnal component of our model captures the behavor of peers gong off-lne and, subsequently, comng bac onlne. After downloadng a fle a peer mght decde to leave the peer-peer system (go off-lne), whch occurs wth a class q WrW. Note that q WrW dependent probablty determnes the expected number of downloads a peer from class a performs before gong off-lne, whch s gven by hg6 q WrW. Upon leavng the system the peer wll reman off-lne for a perod of tme before gong on-lne agan. Ths corresponds to users extng the applcaton and executng t agan at a later pont n tme. Peer behavor thus conssts of alternatng ntervals of beng on-lne and off-lne. The off-lne perod for the a -th class s modeled by an nfnte server queue wth mean servce tme rgc l q WrW. A. Multple classes of peers Recent measurement studes have observed a sgnfcant dsparty n peer behavor. For example, n [8] the authors pont out that nearly 70% of Gnutella users do not share any fles; these peers are classfed as freeloaders. More generally, n [9] the authors dentfy two dstnct classes of peers: () a set that behave more le servers, addng capacty to the system (by sharng many fles) and requestng fewer downloads; ()

thn tme r Š Œ ˆ srt u>v w xy z common servces l} ~ Ž '. rƒ... off-lne '.š œž fle download servces '. ª«... M ' ±F²³ž A µr > ŸC 8 r ¹º'º»r¼ ½>¾ À'À... Ár ÃÄ ÅÆ'Æ Fg.. Model for peer-peer fle sharng systems a set that behaves more le clents, addng lttle capacty to the system and requestng more downloads. Our model captures ths mportant aspect by havng multple classes of peers and by provdng dfferentated treatment accordng to ther class. We dstngush among dfferent classes by gvng dfferent values to model parameters that characterze the peer behavor, such as average thn tme, probablty of gong off-lne, and average tme off-lne, on a per class bass. Moreover, havng the servce capacty (query processng and fle downloadng) depend on ÇR allows the model to dfferentate the amount of capacty that peers n dfferent classes brng nto the system. Note that dfferent classes of peers can be used to dstngush not only among user behavor, but also other characterstcs, such as dfferent peer bandwdth connectvty. B. Model extensons It s worth notng that the framewor on whch our model s constructed s easly extended to accommodate other characterstcs of peer-peer fle sharng systems. In partcular, we have extended t to capture the mpact that peers have on the system when mang the transton from the off-lne to the on-lne stage. Durng ths phase, the system adapts to the new peer and may perform local (or global) updates n the fle ndex. Ths transent stage can be modeled by another nfnte server queue located just after the off-lne stage. Whle n ths transent stage, peers effectvely reduce the servce capacty of the system. We beleve that addng ths subsystem to the model has lttle mpact on the general trend of our results. Two reasons can help explan why: () the relatvely short perod of tme peers stay n the transent stage (compared to on-lne and off-lne perods, whch are several orders of magntude larger); () the relatvely small overhead of adaptng the system to the new peer (an average update should not nvolve sgnfcantly more wor than the equvalent of a few queres). We have consdered ths ssue n a more detaled verson of ths wor [0]. Another possble extenson s to allow for a varable number of peers n the entre system. Ths would elmnate our fxed populaton assumpton and allow us to examne the system under a varyng populaton. The model could be extended by ntroducng an exogenous arrval process of peers to the onlne stage and allowng peers to probablstcally depart the system. Although we have not pursued ths modfcaton, we beleve such extensons are easy to ncorporate n our current modelng framewor. I. MODEL PARAMETERS In the prevous secton, we presented a peer-peer fle sharng model n whch model parameters are functons of TR, fle popularty and fle replcaton, whch we now elaborate n more detal. Only recently has research been conducted on characterzng the worload and the servce capacty of exstng peer-peer fle sharng applcatons. To our nowledge, there exsts only a few measurements studes performed on actual peer-peer systems that attempt to characterze the avalable content and peer behavor [8], [], []. Thus, we wll rely on our understandng of dfferent archtectures, coupled wth results from these measurement studes, to gude the choce of model parameters for each type of archtecture. Note that the model and the approxmate soluton method (to be descrbed n Secton ) are flexble wth respect to the choce of parameters and functons used to represent the servce capacty. Therefore, t s possble to modfy or replace parameters and functons of the model and stll solve t usng the soluton method proposed. We frst present the parameters for the sngle class case,.e.,

ß ß Ý Ý É Èd and ÇR. We wll dscuss the case where ËÍÌ later. Results from a measurement study of the Gnutella networ [] have shown that most fle queres are drected to a few, hghly popular topcs. Other studes [8] have shown that the number of replcas of a certan fle n Napster and Gnutella s also heavly sewed. A promsng canddate dstrbuton that has been shown to capture such a popularty characterstc s the Zpf dstrbuton. Ths dstrbuton can be used to determne the probablty that a query s assocated wth the Y -th most requested fle ( ] ) and also to determne the servce capacty of the -th most replcated fle. We wll use to denote ran accordng to the number of fle replcas and Y to denote the ran accordng to the number of requests a fle receves. Usng the Zpf dstrbuton, we have that ]ÏÎ scalng parameter of the dstrbuton. Snce LÍÓ have rgyñð, where Ò s the ]*Ô ] Õ, we Ö]ÏØ Ùg;Y Ð () where ÚÛrg LØÓ ]*Ô rgy Ð. The servce capacty for a gven fle n the system s drectly proportonal to the number of replcas of that fle and to the number of peers that are currently on-lne. Snce the number of replcas of a fle are descrbed by Zpf s dstrbuton, we model the servce rate of the -th most replcated fle by OW É Ü Ð where Ü represents the basc servce rate assocated wth the contrbuton of a sngle peer to the fle servce capacty. Note that all U dstnct fles are assumed to be avalable whenever one or more peers are on-lne. We assume that the fle download component s dentcal for all peer-peer archtectures, snce fles are shared by peers and are drectly downloaded from one another. However, the archtectures dffer sgnfcantly n the manner n whch partcpatng peers contrbute to the common servces. Hence, ths component can be crucal n llumnatng the performance dfferences among the three archtectures. An mportant parameter s how balanced s the query worload dstrbuted among peers on-lne, whch wll be quantfed by Ý ÝábÍ. To exemplfy, consder a server cluster that s fully balanced, n whch case we say Ýâã. However, f the worload of the cluster s sewed towards a small subset of the servers, then not all avalable servce capacty can be utlzed. Thus, the effectve servce capacty of the system s less than the sum of the capacty of the ndvdual servers. In ths case we say Ý. Peer-peer systems wth dstrbuted archtecture are subject to ths mbalance, as queres generated by peers tend to have a sewed dstrbuton. We now explore the dstnctve characterstcs of the three archtectures and descrbe the ratonale behnd our choces of O P R. CIA - Centralzed Indexng Archtecture In such an archtecture, there exsts a sngle server that mantans the ndex of all fles and performs all query àß () looups. We thus model the servce capacty of the common servces as beng ndependent of the number of users on-lne. Thus, where æå OäP Í s determned by the capacty of the central server to perform query looups. DIFA - Dstrbuted Indexng wth Floodng Archtecture In such an archtecture, each node mantans the ndces of the fles t owns and responds postvely to matchng queres. Thus, the system-wde query servce capacty ncreases lnearly wth the number of peers on-lne. However, due to the lmted-scope floodng, a query reaches a bounded number of peers n the system. Thus, the systemwde query servce capacty should be scaled down by ths factor. We denote the number of peers a query reaches s the value of TTL, whch ndcates the by çæè, where ç maxmum number of hops a query message traverses n lmted-scope floodng, and é å s a parameter related to the connectvty of the topology formed by the peers. Hence we defne êp + OäP ç è where žp å s determned by the capacty of a sngle peer to process a query. Note that n ths archtecture there s lttle mbalance n query processng, snce queres are not drected at any partcular set of peers, but rather flooded to locate fles, thus, Ýìëí. DIHA - Dstrbuted Indexng wth Hashng Archtecture In such an archtecture, each peer s responsble for a subset of the ndex space, thus, as n DIFA, the systemwde query servce capacty ncreases lnearly wth the number of peers on-lne. However, the average number of peers traversed to answer a query, and hence nvolved ' + n processng t, ncreases n proporton to îïcð []. Thus, we scale down the system servce capacty by ths factor. Moreover, the DIHA archtecture suffers from the mbalance phenomena, as specfc peers are assgned fxed subsets of the ndex space, and queres wll not be dstrbuted unformly across the ndex space. Hence, for ths archtecture, Ý OäP. Thus, we have P îïñð + Note that žp s the same n both dstrbuted archtectures as we assume that peers have dentcal servce capacty ndependent of the archtecture. Another mportant dfference between the three archtectures s how queres fal, whch determnes the probablty of query falure. If we assume that all queres are for fles that exst n the system, that a peer that holds the ndex for ths fle s always on-lne, and that communcaton s relable, then a query fals only f t s unable to reach the peer node that holds the ndex for the fle beng searched. In CIA and DIHA, queres are always routed to the peer node that contans the

_ Ó Ð W g L L b W û þ ö L ' b û û þ û b ndex for the fle beng searched, hence these archtectures can always locate the requested fle. For these systems _W However n DIFA, snce a query s flooded only to a bounded number of peers, there s a chance that the query mght not reach a peer that has the desred fle. Thus, the probablty that a query for a gven fle wll succeed s proportonal to the rato of the TTL to + the dameter of the peerpeer networ (approxmated as è, wth é prevously +ò defned). Another mportant factor s that queres drected at fles wth more replcas have a hgher chance of success. Based on the prevous arguments, we defne the probablty of query falure for a partcular fle as _ W m R ó m õô l õø-ù'ú û ö ù'ü0ý Óÿþ Óìþ beçæè otherwse If we ran the fles by the ther number of replcas, then Óìþ captures the noton that a fle wth a hgher ran has Óÿþ a better chance to be located. It follows that the overall probablty of query falure s defned as: m Ô õô m _ W ûøù ú ö ù0ü0ý õô Óìþ LÓ m Ô + beçæè otherwse Note that n the equaton above we have assumed that the ran of a fle accordng to ts request popularty s dentcal to ts ran determned by the number of replcas t has. Although ths need not be true, t allows for the analytcal tractablty presented n the Secton. We wll relax ths assumpton and explore ths msmatch n Secton I-C. A. Modelng freeloaders As descrbed earler, t has been observed that peers dvde nto two classes, those that provde fle servce capacty (non-freeloaders) and those that do not (freeloaders). It has been argued that freeloaders can have a negatve mpact on overall system performance. Hence, a fundamental queston concernng the vablty of fle sharng peer-peer networs s f t can reman scalable under such a dchotomy n peer behavor. Freeloaders brng n capacty only to the common servce component of the system, and do not contrbute to the capacty of servng fles. Ths represents the fact that freeloaders do not share any fles but can stll provde capacty to the nfrastructure of the archtecture (e.g., routng queres). Moreover, freeloaders generally exhbt a more aggressve behavor than non-freeloaders, n the sense that they generate more queres and download more fles than non-freeloaders. Ther off-lne perod can also be dfferent, stayng off-lne for longer perods of tme, although we are not aware of any measurement studes that support ths possblty. We wll denote the non-freeloaders and freeloaders as classes and, respectvely. Consderng our above dscusson and usng the functons defned earler for the model parameters, we can redefne these functons for the two class case as: É O P R eo P ' + O W R O W _ R ó É m ø-ù'ú õô øù ú ûø8ú ù0ü0ý Óÿþ Óÿþ øù ú ø8ú for DIFA and _ R * * * q WrW, hgj mn6o-p and rgc q WrW. * beç è otherwse for CIA and DIHA, as before. The aggressveness of freeloaders s modeled by properly choosng. SOLING THE MODEL In ths secton we descrbe an approxmate soluton technque that wll be used to numercally solve the model descrbed above. Ths technque s based on bottlenec analyss [], wth an extenson to handle multple classes of customers []. Consder a closed queueng networ consstng of a set of sngle server queues and nfnte server queues, and classes ; of customers. The vst rato a s defned as the average number of vsts of customers from class a to queue for every vst of that customer to a reference pont n the networ where l the throughput wll be measured. The servce demand s defned as the product of the respectve vst rato and the average servce tme for class a at queue. In ths system, the utlzaton of each queue s proportonal to ts servce demands. The queue wth the hghest servce demand has the hghest utlzaton and s called the bottlenec queue of the system. Let represent the average delay of a class a user to traverse the system wth respect to the reference pont when the total populaton sze s. Snce a customer must spent at least the respectve servce tme n each n each devce vsted, we have that. Usng Lttle s Law we obtan an upper bound l on the throughput for class a : g. However, f there exsts a bottlenec devce that s queueng customers, we can nclude the queueng delay of ths devce to further mprove the average delay bound. Hence, we have! "!, where # s the bottlenec devce of the system, and "! s the average queueng tme (tme watng n queue before startng to receve servce) at the bottlenec queue. Puttng these two bounds together we have: l $$$ $$$ ø&%'ú ø-% ú ' (*),+ ø-% ú ' (*) L ø-% ú + ' ø-% ú þ/. 0 0 w/ queueng w/o queueng

b L P ô ô ô The system throughput,, s smply gven by the sum of the throughputs of each class: c. Moreover, when Ô there s queueng n the system, the bottlenec devce becomes the ey lmtng factor n the system throughput. In partcular, ts servce capacty bounds the system throughput, and the followng equaton holds: Ô! b O! () where O! s the servce capacty of the bottlenec devce. Notce that there s no queueng for servce n the nfnte server queues. Usng the above framewor we elaborate an approxmate soluton for the per class throughput,. Revertng bac to our model, we defne the system throughput as the number of successful fle downloads per unt tme as measured at the reference pont A llustrated n Fgure. The vst rato for each class for each queue of the system wth respect to reference pont A s gven by: l q W W q WrW mn6op P õô _ õô _ R W m m + õô _ W R õô _ R l q WrW s the probablty of gong off-lne; where mn6op and reflects the number of tmes on average a peer revsts the dle component and thel common servce queue, respectvely, due to query falures; W m s the frequency of vstng the fle + Q servce component for fle ; and ÇR, s the expected number of peers of each class on-lne n the q WrW, all other vst system. Note that wth the excepton of ratos are the same among dfferent classes of peers. Thus the correspondng demands for each part of the system are: q WrW mn6o-p l P l W m q WrW l q WrW l mln6o-p õô _ R * O P R Ïô _ R m + õô _W + OW Ïô _ and the system throughput s bounded by $$$$ $$$$ ø&% ú +65798: þ +<; þ>= L 5? ù +A@CB 5 þ +<DE@F@ ø&%'ú + 5798: þ + ; þ>= L 5? ù + @CB 5 þ + DE@F@ þ/. + 0G ø&%'ú 0 w/o queueng w/ queueng () By applyng Lttle s Law at the nfnte server queue that represents the off-lne perod of a peer n the system, we have where l ô class a, l off-lne, and rgj server queue. Ths leads to: q W W H l q WrW s the average off-lne populaton sze of q WrW s the rate at whch peers from class a go q WrW s the servce tme of the off-lne nfnte q W W q W W We wll assume that the throughput of the system actually equals the upper bound establshed by equatons () and (). Ths assumpton combned wth equaton (5) provdes us wth Ìñ non-lnear equatons wth, and "! as unnowns. We solve the resultng fxed pont problem numercally usng an teratve method. We beleve t can be shown that ths fxed pont problem always has a unque soluton [0]. As we wll see n the next secton, the results obtaned wth ths approxmate numercal soluton agrees very well wth exact results obtaned from smulatng the model. Another classcal metrc usually studed to quantfy performance s the average response tme of the system. In our model, the average response tme of an on-lne peer would be a combnaton of the average delay n processng the query (common servces component) and the average delay n downloadng the fle (fle servce component). In our closed queung networ, we can express the average response tme of a class a peer, I mj p as: l I mj p q WrW ô q WrW mln6o-p + ô _ l Here gk s the average delay experenced by a user to traverse a networ. To obtan the average user response tme, we subtract the average tme spent off-lne and the tme spent n the dle component from ths value. From ths expresson, we note that for a system wth a fxed populaton,, a hgher throughput mples a lower average response tme. Hence we present our results smply n terms of the system throughput,. I. MODEL RESULTS The model coupled wth an effcent soluton method provdes us wth the ablty to understand and explore how the system performs under varous condtons. Dfferent fundamental what-f questons can be answered by smply varyng system parameters. We now address some of these questons, presentng results obtaned wth the approxmate analytcal method descrbed n the prevous secton. In order to obtan numercal solutons we must specfy the value of all system parameters and ths can drectly nfluence the magntude of the results. We explan the choce of numercal values for some of these parameters based on our (5)

ç 000 00 0 Fg.. sze 0000 00000 e+06 e+07 e+08 00 0 Fg.. Total Populaton: N CIA DIFA DIHA analytcal smulaton result result System throughput for dfferent archtectures wth varyng populaton CIA DIFA DIHA analytcal smulaton result result 0 00 000 Average Number of Requests Per Sesson System throughput for dfferent archtectures wth varyng average number of requests per sesson ( MLON P P ( P P P ) understandng of realstc peer-peer networs. For example, the basc servce rate assocated wth the contrbuton of a sngle peer to a fle servce capacty, Ü, s set to /0. Ths corresponds to a fle download tme of apporxmately 50 seconds for the most popular fle. Ths s reasonable, snce the mean fle sze could be.5mb and the access ln of a peer could have 00Kbps. We choose the capacty of the central server to perform query looups ( ) to be 00 requests per second. Ths s two orders of magntude larger than the capacty of a sngle peer to process a query, whch we set to P Û. We choose the TTL value for the DIFA system to be RQ, snce ths s the default value used n applcatons such as Gnutella [5]. Other parameteres are (tme unt n Cñ Ö seconds): + U, ÝÛ (DIHA), é Ì, Ò, mln6o-p ñ + rg S, mn6op ^ ^ rgts, q W W Ì, q W W, + ñ q WrW Ø q W W íhgkusñì. We start by comparng the scalablty of the three dfferent archtectures under a sngle class of peers and determnng the system throughput, under scenaros of varyng load and system capacty. Fgure plots the system throughput versus the total number of peers n the system. Gven the characterstcs of a peer-peer networs, an ncrease n the populaton corresponds to an ncrease n both the system worload and capacty. We observe that the CIA archtecture outperforms DIFA and s slghtly better than DIHA when the populaton sze s small. Ths s prmarly due to the hgher capacty of the centralzed query looup. Ths trend perssts untl the central server n CIA becomes the bottlenec. At hgher populaton szes, DIFA and DIHA perform better than CIA, snce the servng capacty n these systems scales wth the ncrease n the populaton. DIFA however suffers from another drawbac: the probablty of query falure ncreases wth the populaton sze. Ths occurs snce queres can only reach a bounded number of peers whch s ndependent of the populaton sze, whch mples that queres only search over a bounded subset of the ndex space. Thus, DIFA cannot captalze on the potental capacty of peer-peer systems, as queres that could have succeeded fal. Ths lmts the effectve throughput of a DIFA archtecture, resultng n a lower performance than DIHA n terms of system throughput. In Fgure, we study the mpact of ncreasng the worload of the system, by ncreasng the average number of fle downloads a user performs durng an on-lne perod. We fx the populaton sze to 500,000 peers and examne the system throughput. Snce the populaton s fxed, ths has the effect of ncreasng the load n the system wthout a correspondng ncrease n servce capacty. We observe that all archtectures reach a bottlenec pont at a certan level of actvty. Ths bottlenec corresponds to the capacty of the system to download fles. Once agan, the DIHA archtecture scales best, snce t s not constraned by a central server and there are no query falures as n DIFA. The approxmate soluton method has been expermentally valdated by smulatng the same analytcal model. In the smulaton we assume that servce tmes of both sngle and nfnte server queues are exponentally dstrbuted. Our smulaton results are n close agreement wth the approxmate soluton method, as llustrated n Fgures and (crosses ndcate smulaton results). Further valdaton of the model results, however, s not an easy tas. Exstng measurement studes on realstc fle sharng peer-peer applcatons have not focused on characterzng system wde performance (e.g. system throughtput). Also, even f such studes are conducted, the results would be for an nstance of such system, and would not yeld any nsghts nto how the system performs upon scalng dfferent parameters, such as populaton sze, peer behavor, etc. Although t mght be possble to valdate our model through detaled smulatons of realstc peer-peer applcatons, the programmng and computatonal cost would be prohbtve. A. Impact of freeloaders We now consder a scenaro where there are two classes of peers, freeloaders and non-freeloaders. Freeloaders are as-

0 00 90 80 70 60 50 0 Non-freeloader populaton =,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 CIA DIFA DIHA 5 60 0 5 0 Non-freeloader populaton =,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 0 0 00 80 60 Non-freeloader populaton =,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 0 0 0 0 0 500 000 500 000 500 000 500 000 Freeloader Populaton (0 ) 5 0 0 500 000 500 000 500 000 500 000 Freeloader Populaton (0 ) 0 0 0 0 500 000 500 000 500 000 500 000 Freeloader Populaton (0 ) Fg.. Total system throughput wth varyng populaton of freeloaders and a fxed number of non-freeloaders for (a) CIA (b) DIFA and (c) DIHA 0 0. CIA DIFA DIHA 0 Non-freeloader populaton =,000 0 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 0. 0.0 0.00 0. 0.0 0.000 Non-freeloader populaton =,000 e-05 Non-freeloader populaton =,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 Non-freeloader populaton = 00,000 0.00 e-06 0.00 0 500 000 500 000 500 000 500 000 0 500 000 500 000 500 000 500 000 0 500 000 500 000 500 000 500 000 Freeloader Populaton (0 ) Freeloader Populaton (0 ) Freeloader Populaton (0 ) 0.0 Fg. 5. DIHA Throughput of the non-freeloader class wth varyng populaton of freeloaders and a fxed number of non-freeloaders for (a) CIA (b) DIFA and (c) probablty of a query success ( - q(na) ) 0. 0.0 0.00 Non-freeloader populaton =,000 Non-freeloader populaton = 0,000 Non-freeloader populaton = 00,000 00 90 80 70 60 50 0 CIA DIFA DIHA Total populaton W Y Z[W] Z_^a`b&bdc b-b&b 0.000 0 0 e-05 0 00 000 0000 Freeloader Populaton (0 ) Fg. 6. Probablty of a query succeedng n locatng a fle wth vary populaton of freeloaders and a fxed number of non-freeloaders for DIFA sumed to be more aggressve than non-freeloaders. To capture ths behavor we let the thn tme of freeloaders be 0 tmes smaller (0 seconds as compared to 5 mnutes) than that of the non-freeloaders, double the average number of downloads a freeloader performs before gong off-lne (from 5 to 0), and eep the average off-lne tme dentcal for both classes ( hours). Fgure plots the system throughput as a functon of the number of freeloaders whle mantanng a constant number of non-freeloaders. Our frst observaton s that gven a reasonable number of servng nodes, both CIA and DIHA scale well. 0 0 0 0. 0. 0. 0. 0.5 0.6 0.7 0.8 0.9 Percentage of freeloaders n the system Fg. 7. Total system throughput wth a varyng fracton of freeloaders wth a total populaton of 500,000 peers, for CIA, DIFA and DIHA Thus, a small number of servng nodes can support a large peer-peer networ. Note that from an overall system perspectve, havng freeloaders actually ncreases the throughput, snce they brng more load to the system, whch was ntally under-utlzed. However, ths does not hold true for DIFA, snce n ths archtecture, a query propagates only over a bounded number of peers. Thus, ncreasng the freeloader populaton whle eepng the number of non-freeloaders fxed, maes t more dffcult for a query to locate a fle. Ths

ç W. In any case, the overall system throughput ncreases (even n DIFA, for a small populaton of freeloaders) suggestng that peer-peer fle sharng systems have spare capacty that freeloaders can beneft from. One mght thn that even though overall system performance scales well wth an ncrease n the number of freeloaders, the throughput of the non-freeloaders mght decrease. Although ths s true, the decrease n the throughput of nonfreeloaders s very small for the CIA and DIHA archtectures, even for a large number of freeloaders, as llustrated n Fgure 5. Ths suggests that freeloaders can beneft from avalable capacty n the system wthout sgnfcantly degradng the performance of the non-freeloaders. However, the nonfreeloaders n DIFA suffer more due to the ncreased query falure probablty, as dscussed below. Fgure 6 llustrates the probablty of a query succeedng n behavor s captured n the defnton of _ locatng a fle ôs_ R * for varyng freeloader populaton. We observe a sharp drop n the success probablty for all curves plotted. An ncrease n the non-freeloader populaton causes an ncrease n the number of queres that fal. Faled queres generate reattempts whch further add to the system worload. Ths creates a vcous cycle wth consstently degradng system performance, whch becomes maredly evdent at the sharp drop pont n the query success probablty. Ths llustrates that DIFA can tolerate some number of freeloaders wthout much degradaton n the query success probablty, but that performance drops sharply f ths number s too large. We now examne the mpact of freeloaders n a slghtly dfferent manner shown n Fgure 7. We compute the system throughput wth an ncreasng percentage of freeloaders n the system for a fxed overall populaton of 500,000 peers. Once agan, we ntally observe an ncrease n throughput wth an ncrease n the rato of freeloaders for all three archtectures. However, above a certan rato the system throughput starts to degrade. Note that CIA and DIHA can support a much larger rato of freeloaders than DIFA. Agan, ths rapd degradaton for DIFA s manly due to the ncrease n the query falure probablty. Ths result shows that freeloaders can tae advantage of the spare capacty n the system, but that ths spare capacty s lmted and saturates at a gven rato. B. Explorng TTL n DIFA A crucal aspect of the DIFA archtecture s the value used for ç (TTL), whch can mpact system performance. Increasng ç reduces the probablty of query falure, at the cost of ncreasng the load on the system by havng more peers process a gven query. Ths trade-off s llustrated n Fgure 8, whch plots the system throughput as a functon of for dfferent values of é. Note that é s a parameter related to networ connectvty, and determnes the number of peers reachable n a query for a gven TTL (ç è ). We observe an optmal value for TTL that maxmzes the system throughput n all curves. Intally, the system throughput s small snce queres frequently fal due to small TTL values. Increasng TTL too much can reduce the system throughput as queres 0 8 6 0 8 6 0 Tƒ d h ˆ&ˆ ˆˆˆ TƒŠ d ˆ&ˆ ˆˆˆ e l fhgj q mn-opp v rs-tsu }~- wx-yz 5 0 5 0 5 0 5 0 5 50 TTL value Fg. 8. System throughput for dfferent values of Œ wth varyng TTL for DIFA archtecture now pose a larger worload to the system. Note that ncreasng é reduces the optmal value for TTL and ncreases the system throughput. A hgher value of é mples that the same number of peers can be reached wth a smaller TTL. Note that for a fxed small value of TTL ( ߎ ), the system throughput s larger for larger values of é. However, for fxed large values of TTL (å S ), the larger é pays hgher cost for processng queres, delverng a lower throughput. C. Msmatch n fle popularty and replcaton Untl now, we have assumed that the dstrbuton of fle requests and that of fle replcaton (or avalablty) are the same,.e. the most popular fle s also the most replcated. Ths ntuton s justfable, snce the most popular content s also n all lelhood downloaded more often, and hence has a hgher chance to be made avalable as a replca to other users. However, ths may not always be true. For nstance, a newly released popular fle may tae some tme to become well replcated. Smlarly, a very popular and also well replcated fle mght slowly lose ts popularty and be phased out of the system. As a consequence, there can exst an mbalance between the capacty to serve a fle and the number of requests ths fle receves. In order to study ths behavor, we wll ntroduce a msmatch n the fle rans, such that the -th most requested fle s not the same as the -th most replcated fle. cluster cluster clusterm M M M M M M Cluster sze = perfect match Cluster sze = Cluster sze =M complete reshuffle Fg. 9. ran by request popularty ran by number of replcas Clustered shufflng to create msmatch between fle rans

Fgure 9 llustrates the procedure to create a msmatch n the fle rans. As descrbed, each fle s assgned two rans; one accordng to ts request popularty and the other based on the number of replcas. We start by assumng that the rans of the fles have a perfect matchng. Then, we group fles wth successve ran nto clusters of fxed sze. The sze of the cluster s a parameter and determnes the degree of msmatch between the rans. Insde a cluster, the rans are shuffled. Note that a cluster sze of one s dentcal to havng a perfect match n the rans. Increasng the sze of the cluster ncreases the mbalance n the mappng. Wth a cluster sze of U, the two fle rans become ndependent of each other. System Throughput 60 55 50 5 0 5 0 5 0 Total Populaton: N = 500,000 CIA DIFA DIHA 0 00 000 Sze of Shuffle Cluster Fg. 0. Throughput wth varyng levels of msmatch between fle popularty and replcaton Model smulaton s used to nvestgate the performance of the unbalanced system. In Fgure 0 we observe, as expected, that the system throughput drops f the most popular fles are not suffcently replcated. Interestngly, ths degradaton n the system performance s not notceable untl the cluster sze sgnfcantly becomes large, ndcatng a large msmatch. to ts query mechansm, and the avalable spare capacty that freeloaders can beneft from wthout sgnfcantly degradng performance of non-freeloaders. REFERENCES [] D. A. Menascé,. A. F. Almeda, and L. W. Dowdy, Capacty Plannng for Web Servces: metrcs, models, and methods. Prentce Hall, 00. [] I. Stoca, R. Morrs, D. Karger, M. Kaashoe, and H. Balarshnan, Chord: A scalable peer-to-peer looup servce for nternet applcatons, n Proc. of ACM SIGCOMM 0, Aug 00. [] S. Ratnasamy, P. Francs, M. Handley, R. Karp, and S. Shener, A scalable content-addressable networ, n Proc. of ACM SIGCOMM 0, Aug 00. [] Napster protocol specfcaton, March 00, http://opennap.sourceforge.net/napster.txt. [5] Clp, The gnutella protocol specfcaton v0., 000, http://www.clp.com/gnutellaprotocol0.pdf. [6] A. I. T. Rowstron and P. Druschel, Pastry: Scalable, decentralzed object locaton, and routng for large-scale peer-to-peer systems, n Mddleware, 00, pp. 9 50. [7] Y. Zhao, J. D. Kubatowcz, and A. Joseph, Tapestry: An nfrastructure for fault-tolerant wde-area locaton and routng, U. C. Bereley, USB//CSD-0-, Aprl 000. [8] E. Adar and B. A. Huberman, Free rdng on gnutella, Frst Monday, vol. 5, no. 0, October 000. [9] S. Sarou, P. K. Gummad, and S. D. Grbble, A measurement study of peer-to-peer fle sharng systems, n Proceedngs of Multmeda Computng and Networng 00 (MMCN 0), San Jose, CA, USA, January 00. [0] Z. Ge, D. R. Fgueredo, S. Jaswal, J. Kurose, and D. Towsley, Modelng peer-peer fle sharng systems, Unversty of Massachusetts, Dept. of Computer Scence, Tech. Rep. CMPSCI 0-7, 00. [] S. Sarou, K. P. Gummad, R. J. Dunn, S. D. Grbble, and H. M. Levy, An analyss of nternet content delvery systems, n Proc. of the Ffth Symposum on Operatng Systems Desgn and Implementaton (OSDI 00), Boston, MA, December 00. [] J. Chu, K. Labonte, and B. N. Levne, Avalablty and localty measurements of peer-to-peer fle sharng systems, n Proc. of SPIE ITCom: Scalablty and Traffc Control n IP Networs, vol. 868, July 00. [] E. D. Lazowsa, J. Zahorjan, G. S. Graham, and K. C. Sevc, Quanttatve System Performance: Computer System Analyss Usng Queueng Networ Models. Prentce-Hall, Inc., 98. [] D. L. Eager and K. C. Sevc, Bound herarches for multple-class queung networs, Journal of the ACM, vol., no., pp. 79 06, 986. II. CONCLUSION Peer-peer systems present an nterestng and nherently dfferent resource allocaton problem than tradtonal clent/server models. The wor n ths paper s motvated by the belef that smple models can provde mportant nsghts nto understandng the behavor of such systems. In ths paper, we have presented a mathematcal model that captures the man characterstcs of peer-peer fle sharng systems. A strength of our approach s the generalty and the flexblty of the framewor used, whch allow us to both capture the essence of dfferent archtectures and peer behavor, and explore a range of performance trade-off ssues. Moreover, as dscussed n Secton III, the model can be easly extended to address other system characterstcs not dscussed n ths paper. Usng an approxmate soluton method we have numercally analyzed a few fundamental performance ssues of dfferent archtectures under dfferent scenaros. Our results hghlght nterestng ssues, such as the nherent lmtaton of DIFA due