on tradeoffs between cross-isp p2p traffic and p2p streaming performance

10
On tradeoffs between cross-ISP P2P traffic and P2P streaming performance q Peng Yang , Lisong Xu Department of Computer Science and Engineering, University of Nebraska-Lincoln, Lincoln, NE 68588-0115, United States article info Article history: Received 1 December 2010 Received in revised form 2 June 2011 Accepted 11 July 2011 Available online 30 July 2011 Keywords: Peer-assisted video-on-demand streaming Cross-ISP P2P traffic Media server load Goal Attainment method abstract Peer-to-peer (P2P) technology greatly scales up traditional Internet streaming service. However, the philosophy that peers help one another distribute video content produces a large amount of cross-ISP P2P traffic. Newly proposed ISP-friendly P2P mechanisms reduce the cross-ISP P2P traffic by using locality-based peer selection mechanisms, in which the peers tend to connect to other peers in the same ISP domain. However, one unanswered question is how can we achieve the tradeoffs between the cross-ISP P2P traffic and the P2P streaming performance if there are conflicts between them. In this paper, we propose a rate allocation mechanism for achieving the tradeoffs between the cross-ISP P2P traffic and the P2P streaming performance. We model the tradeoffs as a multiobjective optimization problem and solve it using the Goal Attainment method. The evaluation result shows that our mechanism is able to achieve the tradeoffs between the conflicts and main- tain good fairness among the peers and the streaming overlays. Ó 2011 Elsevier B.V. All rights reserved. 1. Introduction Peer-to-peer (P2P) technology has shown a great success in Internet streaming (video-on-demand, live streaming, etc.) and other content distribution services. However, it is facing increasing obstructions from Internet service provid- ers (ISPs), which accuse the P2P technology of producing a large amount of cross-ISP P2P traffic. The tussles between the ISPs and the P2P technology have already caused some ISPs to throttle or even prohibit P2P traffic. P2P streaming applications, being bandwidth demanding, are especially hurt by such a hostile attitude held by the ISPs. Recent ISP-friendly P2P mechanisms [2–5] reduce the cross-ISP P2P traffic by proposing locality-based peer selec- tion mechanisms, where the peers connect to other peers in the same ISP domain. However, one concern about the local- ity-based peer selection is that it prevents peers from utiliz- ing idle bandwidth resources at the remote peers. Sometimes, such resources are critical to the performance of the P2P streaming applications, since it helps the peers combat peer churn and maintain smooth playback. Thus, a P2P traffic control mechanism is needed to achieve the tradeoffs between the cross-ISP P2P traffic and the P2P streaming performance. In this paper, we propose a rate allocation mechanism to achieve the tradeoffs between the cross-ISP P2P traffic and the P2P streaming performance for P2P assisted vi- deo-on-demand streaming. The mechanism proposed is also applicable to other types of P2P systems. The reason that we consider peer-assisted video-on-demand systems is that it is more challenging to design such systems than to design peer-assisted file-sharing systems. We consider two performance metrics: upload bandwidth utilization and media server load. Upload bandwidth is used by the peers to distribute video content to one another. Reducing the cross-ISP P2P traffic may lower the upload bandwidth utilization and cause the download rates of some peers to drop below their required streaming rates. To maintain smooth playback, those peers have to download a portion of the video content from their media servers, which in- creases the media server load. 1389-1286/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2011.07.013 q This paper is an extension of the work reported in [1]. Corresponding author. E-mail addresses: [email protected] (P. Yang), [email protected] (L. Xu). Computer Networks 55 (2011) 4033–4042 Contents lists available at SciVerse ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet

Upload: peng-yang

Post on 05-Sep-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Computer Networks 55 (2011) 4033–4042

Contents lists available at SciVerse ScienceDirect

Computer Networks

journal homepage: www.elsevier .com/ locate/comnet

On tradeoffs between cross-ISP P2P traffic and P2Pstreaming performance q

Peng Yang ⇑, Lisong XuDepartment of Computer Science and Engineering, University of Nebraska-Lincoln, Lincoln, NE 68588-0115, United States

a r t i c l e i n f o

Article history:Received 1 December 2010Received in revised form 2 June 2011Accepted 11 July 2011Available online 30 July 2011

Keywords:Peer-assisted video-on-demand streamingCross-ISP P2P trafficMedia server loadGoal Attainment method

1389-1286/$ - see front matter � 2011 Elsevier B.Vdoi:10.1016/j.comnet.2011.07.013

q This paper is an extension of the work reported⇑ Corresponding author.

E-mail addresses: [email protected] (P. Yang), xu

a b s t r a c t

Peer-to-peer (P2P) technology greatly scales up traditional Internet streaming service.However, the philosophy that peers help one another distribute video content producesa large amount of cross-ISP P2P traffic. Newly proposed ISP-friendly P2P mechanismsreduce the cross-ISP P2P traffic by using locality-based peer selection mechanisms, inwhich the peers tend to connect to other peers in the same ISP domain. However, oneunanswered question is how can we achieve the tradeoffs between the cross-ISP P2P trafficand the P2P streaming performance if there are conflicts between them. In this paper, wepropose a rate allocation mechanism for achieving the tradeoffs between the cross-ISP P2Ptraffic and the P2P streaming performance. We model the tradeoffs as a multiobjectiveoptimization problem and solve it using the Goal Attainment method. The evaluation resultshows that our mechanism is able to achieve the tradeoffs between the conflicts and main-tain good fairness among the peers and the streaming overlays.

� 2011 Elsevier B.V. All rights reserved.

1. Introduction Sometimes, such resources are critical to the performance

Peer-to-peer (P2P) technology has shown a great successin Internet streaming (video-on-demand, live streaming,etc.) and other content distribution services. However, it isfacing increasing obstructions from Internet service provid-ers (ISPs), which accuse the P2P technology of producing alarge amount of cross-ISP P2P traffic. The tussles betweenthe ISPs and the P2P technology have already caused someISPs to throttle or even prohibit P2P traffic. P2P streamingapplications, being bandwidth demanding, are especiallyhurt by such a hostile attitude held by the ISPs.

Recent ISP-friendly P2P mechanisms [2–5] reduce thecross-ISP P2P traffic by proposing locality-based peer selec-tion mechanisms, where the peers connect to other peers inthe same ISP domain. However, one concern about the local-ity-based peer selection is that it prevents peers from utiliz-ing idle bandwidth resources at the remote peers.

. All rights reserved.

in [1].

@cse.unl.edu (L. Xu).

of the P2P streaming applications, since it helps the peerscombat peer churn and maintain smooth playback. Thus, aP2P traffic control mechanism is needed to achieve thetradeoffs between the cross-ISP P2P traffic and the P2Pstreaming performance.

In this paper, we propose a rate allocation mechanismto achieve the tradeoffs between the cross-ISP P2P trafficand the P2P streaming performance for P2P assisted vi-deo-on-demand streaming. The mechanism proposed isalso applicable to other types of P2P systems. The reasonthat we consider peer-assisted video-on-demand systemsis that it is more challenging to design such systems thanto design peer-assisted file-sharing systems. We considertwo performance metrics: upload bandwidth utilizationand media server load. Upload bandwidth is used by thepeers to distribute video content to one another. Reducingthe cross-ISP P2P traffic may lower the upload bandwidthutilization and cause the download rates of some peersto drop below their required streaming rates. To maintainsmooth playback, those peers have to download a portionof the video content from their media servers, which in-creases the media server load.

4034 P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042

The proposed rate allocation mechanism models theabove tradeoffs as a multiobjective optimization problemand solves it using the Goal Attainment method [6]. Ourmechanism optimizes the cross-ISP P2P traffic, the uploadbandwidth utilization, and the media server load simulta-neously and achieves tradeoffs among them if there is anyconflict. We also incorporate a utility-based resource alloca-tion mechanism into the multiobjective optimization prob-lem, which enables our mechanism to fairly allocate theupload bandwidth to the competing peers according to theircurrent download rates and required streaming rates. Weevaluate our mechanism and compare it with the WeightedSum method described in [7] and the even allocation meth-od where the upload bandwidth is equally allocated to thecompeting connections. The advantage of our method is thatit achieves finer tradeoff tuning than the Weighted Summethod. Finer tradeoff tuning allows more precise controlof the cross-ISP P2P traffic and the P2P streaming perfor-mance. Compared with the even allocation method, ourmethod not only provides the tradeoffs among the conflict-ing objectives but also produces fairer rate allocation result.

The rest of the paper is organized as follows: in Sec-tion 2, the related work is discussed; in Section 3, the prob-lem is formulated; in Sections 4 and 5, the details of ourproposed mechanism are discussed; in Section 6, the pro-posed mechanism is evaluated and compared with theWeighted Sum method and the even allocation method; fi-nally, we conclude the paper in Section 7.

2. Related work

There is very little work studying the tradeoffs betweenthe cross-ISP P2P traffic and the performance of streamingoverlays. The work by Wang et al. [7] is the most related.The authors use the Weighted Sum method to achieve thetradeoffs. However, as shown in the paper, such a methodcan only achieve very coarse tradeoff tuning; whereas ourapproach is able to provide much finer tradeoff tuning.

The tussles between ISPs and P2P applications is stud-ied in [8,2,3], etc. Liu et al. [8] study the noncooperativeinteraction between the ISPs and the P2P applications,where the P2P applications and the ISPs act independentlyto realize their own objectives. The authors show that suchnon-cooperative interaction may result in sub-optimalperformance for both the ISPs and the P2P applications.Choffnes and Bustamante [3] and Xie et al. [2] focus onthe cost of the cross-ISP P2P traffic and propose methodsto greatly reduce it. Choffnes and Bustamante [3] proposea locality-based peer selection mechanism. The mecha-nism uses content distribution networks to discover localpeers. Xie et al. [2] propose a cooperative framework be-tween the ISPs and the P2P applications, where the infor-mation from the ISPs is used to guide the peer selectionand to reduce the cross-ISP P2P traffic.

Bandwidth allocation among multiple overlays isstudied in [9–11], etc. In [9], the problem is studied usinga constrained utilization maximization framework, wherethe upload bandwidth is allocated to different overlaysaccording to their priorities. In [10], the same problemis visited again using game theory where the upload

bandwidth is auctioned by upstream peers to maximizetheir revenue, and downstream peers submit their bids tominimize their costs. Wang et al. [11] improve the alloca-tion efficiency by utilizing a divide-and-conquer strategy,which allocates the upload bandwidth for a set of peersinstead of for every single peer. The strategy improvesthe scalability of the upload bandwidth allocation.

3. Problem formulation

We consider a very general P2P streaming overlay struc-ture, where a P2P streaming overlay is modeled as a set ofpeers (we use ‘‘peer’’ to refer to a logical node in a P2P over-lay and use ‘‘node’’ to refer to a physical node) that are con-nected by overlay connections. All overlay connections areunidirectional; a peer on one end of a connection downloadsthe video content from an upstream peer on the other end.

Our goal is to design an efficient connection rate alloca-tion mechanism that fulfills the following design goals andachieves the tradeoffs among them if there is any conflict.

� The cross-ISP P2P traffic is minimized.� The upload bandwidth utilization is maximized.� The media sever load is minimized.� The fairness among the peers and the overlays is

maintained.

Optimizing the first three design goals simultaneously isdifficult. Firstly, minimizing the cross-ISP P2P traffic maycause the download rates of some peers to drop below theirrequired streaming rates. This may increase the media ser-ver load, since those peers have to download a portion of vi-deo content from the media servers. Secondly, even if themedia server load is minimized, minimizing the cross-ISPP2P traffic may still lower the upload bandwidth utilizationby limiting cross-ISP prefetching [7]. The cross-ISP prefetch-ing happens when the download rate of a peer is larger thanits required streaming rate and the peer downloads extrastreaming data from some remote peers. Such a behavioris very important to the performance of peers, since it helpspeers combat against peer churn and bandwidth jitter.

Fairness is another important factor. Good fairness meansthat the upload bandwidth should be allocated to the com-peting peers according to their current download rates andtheir required streaming rates. The peers with smaller down-load rates or larger required streaming rates should be fa-vored over the peers with larger download rates or smallerrequired streaming rates, i.e., the bandwidth should be allo-cated according to the law of diminishing returns.

3.1. Model and notation

There are no peers in streaming overlay o and we denotethem by po

i ; i ¼ 1;2; . . . ;no. Each peer poi has a set of up-

stream neighbors (peers) from which it receives the videocontent; it also has a set of downstream neighbors towhich it sends the video content. Let So

i denote the set ofupstream neighbors of peer po

i ; xoij denote the rate from

peer poj to peer po

i , and xoi denote the total download rate

of peer poi , we have xo

i ¼P

poj2So

ixo

ij. If xoi is smaller than the

P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042 4035

required streaming rate Ro, peer poi will have to download a

portion of video content from the media server at rateRo � xo

i , which is denoted by xoi0. On the other hand, if xo

i

is larger than Ro, the extra streaming data will be cachedfor further use (i.e., prefetching).

Connection rate xoij is limited by several factors such as

the bandwidth bottlenecks inside the network and the up-load bandwidth offered by the upstream peers. For mostP2P systems, the upload bandwidth is the primary limita-tion. Thus, we only consider the upload bandwidth limita-tion in this paper. Let Do

i denote the set of the downstreamneighbors of peer po

i . The upload rate of peer poi is

Ppo

j2Do

ixo

ji

and is limited by the upload bandwidth offered by thenode hosting peer po

i . In general, a node may host multiplepeers in different P2P overlays. We denote a node by h, itsupload bandwidth by uh, and the set of peers hosted bynode h by Ph, The upload bandwidth limitation can be ex-pressed by the following inequalityX

poi2Ph

Xpo

j2Do

i

xoji 6 uh; 8h: ð1Þ

The peers are distributed in different autonomous systems(ASs or ISPs, depending on the context, we use these twoterms interchangeably). The connections among the peersare either created randomly, which is referred to as randompeer selection, or created mostly within the same AS, whichis referred to as locality-based peer selection. To quantify thelocality-based peer selection, we describe it by a metriccalled a locality degree, which is a number between[0,1.0]. A locality degree of m means that m � 100 percentof the neighbors of a peer must come from the same AS asthat of the peer. A locality degree of 0.0 is particular, andmeans that the neighbors of a peer are completely ran-domly sampled from all ASs. In this case, the locality-basedpeer selection reduces to the random peer selection.

We summarize the notation in Table 1.

3.2. Representing the design goals as optimization problems

The design goals presented above can be represented byseparate optimization problems:

3.2.1. Minimizing the cross-ISP P2P trafficThe connections that cross the boundaries of the ISPs

without peering agreements are more expensive thanother connections. Thus we associate a connection cost

Table 1Notation.

Notation Meaning

no Number of peers in streaming overlay opo

i A peer in streaming overlay o

Soi The set of upstream peers of peer po

i

Doi The set of downstream peers of peer po

i

xoij Streaming rate from peer po

j to poi

xoi Total download rate of peer po

i

Ro Required streaming rate of streaming overlay oxo

i0 Streaming rate from media servers to peer poi

h a nodeuh Upload bandwidth of node hPh The set of peers hosted by node h

with each connection. We use cðxoijÞ; j – 0 to denote the

connection cost for connection rate xoij; j – 0, and use

cðxoi0Þ to denote the cost for peer po

i to receive the videocontent from its media server.

Minimizing the cross-ISP P2P traffic can be modeled bythe following optimization problem:

minX

o

Xpo

i;po

j

cðxoijÞ þ

Xo

Xpo

i

cðxoi0Þ

0@

1A ð2Þ

s.t.X

poi2Ph

Xpo

j2Do

i

xoji 6 uh; 8h ð3Þ

and

xoij P 0; 8o; po

i ; poj : ð4Þ

3.2.2. Maximizing the upload bandwidth utilizationMaximizing the upload bandwidth utilization is crucial

to the performance of the streaming overlays. We model thisdesign goal by the following utility maximization problem:

max uoi ðxo

i Þ; 8poi ; ð5Þ

which is subject to Constraints (3) and (4), whereuo

i ðxoi Þ; 8po

i is an increasing concave function of xoi , which

is called the utility of peer poi . The following theorem shows

that by maximizing the utility, the utilization of the uploadbandwidth is maximized.

Theorem 1. The solution ðxoi Þ�; 8po

i of the utility maximiza-tion problem maximizes the upload bandwidth utilization.

Proof. We prove this theorem by contradiction. Supposethat ðxo

i Þ�; 8po

i can not maximize the upload bandwidthutilization. Then, there must be some idle upload band-width at some node h. Suppose that peer po

i downloadsthe video content from peer po

j on h. Then, we can increaseconnection rate xo

ij to take up the idle upload bandwidth.This leads to larger uo

i ðxoi Þ, which contradicts the fact that

uoi ðxo

i Þ is maximized. h

3.2.3. Minimizing the media server loadMinimizing the media server load can be modeled by

the following optimization problem:

minX

poi

xoi0; 8o; ð6Þ

which is subject to Constraints (3) and (4).

3.2.4. FairnessThe fairness among the peers and the streaming overlays

can be maintained by using a proper utility function. Wepropose to use uo

i ðxoi Þ ¼ Ro � logðxo

i Þ; 8poi . The logarithm

utility function is studied in [12,13] etc. As the logarithmutility function is strictly concave, it realizes the law ofdiminishing returns. That is, the peers with smaller totaldownload rates are favored in the upload bandwidth alloca-tion over the peers with larger total download rates. Also,

4036 P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042

since the logarithm utility function realizes proportionalfairness (i.e., proportional to Ro), peers in different streamingoverlays are allocated upload bandwidth proportional totheir required streaming rates, i.e., the peers with larger re-quired streaming rates get more upload bandwidth than thepeers with smaller required streaming rates.

The fairness is only achieved by the cooperation of peersto abide by the above utility function. In practice, there maybe non-cooperating peers, which break the utility functionto gain unfair advantage over cooperating peers. Althoughthe logarithm function itself can be coded into P2P software,an upstream peer still needs two parameters from eachdownstream peer in order to allocate the upload bandwidthto them: one is the required streaming rate; the other one isthe total download rate. To gain unfair advantage, a non-cooperating peer may report false information about the to-tal download rate and the required streaming rate. Theproblem of a false required streaming rate can be solvedby letting a trusted media server report the required stream-ing rate for the peers in the corresponding streaming over-lay. The problem of a false total download rate is hard totackle, since the total download rate is normally maintainedby a peer itself. Handling these problems is out of the scopeof this paper. However, similar problems are studied in[14,15], etc. to handle false reputation reports sent by thepeers in reputation-based P2P systems. Interested readersmay refer to those references for related information.

4. The tradeoffs among the conflicting design goals

We achieve the tradeoffs among the conflicting designgoals by modeling the tradeoffs as an optimization prob-lem and solving it using the Goal Attainment method.Along with the Goal Attainment method, we also brieflydiscuss other alternatives including the Weighted Summethod proposed in [7] and the basic even allocationmechanism, where the upload bandwidth is equally allo-cated to the competing connections.

4.1. The Goal Attainment method

We use the Goal Attainment method, which is abbrevi-ated to GA, to optimize the design goals simultaneouslyand achieve the tradeoffs among them if there is any con-flict. The method can be modeled by the following optimi-zation problem, which is also referred to as GA:

min r ð7Þ

subject toX

poi

xoi0 �wo

s � r 6 gos ; 8o; ð8Þ

Xo

Xpo

i;po

j

cðxoijÞ þ

Xo

Xpo

i

cðxoi0Þ

0@

1A�wc � r 6 gc; ð9Þ

ð�uoi ðxo

i ÞÞ �woi � r 6 �go

i ; 8o; poi ; ð10ÞX

poi2Ph

Xpo

j2Do

i

xoji 6 uh; 8o; po

i ; poj ;h; ð11Þ

xoij P 0; 8o; po

i ; poj : ð12Þ

The design goals become a part of the constraints in GA. Forexample, minimizing the media server load corresponds toConstraint (8). The constraint limits the media server loadto go

s þwos � r at most. The objective min r further mini-

mizes gos þwo

s � r, which minimizes the media server loadindirectly. Parameters go

s reflects our expectation of themedia server load. Parameter wo

s is the weight of the mediaserver load. For a fixed solution r⁄, smaller weight wo

s

means that the media server load may be closer to ourexpectation. Constraints (9) and (10) can be interpretedsimilarly for minimizing the cross-ISP P2P traffic and max-imizing the upload bandwidth utilization, respectively.

Depending on solution r⁄, the total connection cost(cross-ISP P2P traffic) in Constraint (9), the utility functions(upload bandwidth utilization) in Constraint (10), and themedia server load in Constraint (8) may over-attain (meet)or under-attain their expectations. A negative solution r⁄

means that they all over-attain their expectations so thatno more tradeoffs are needed. On the other hand, a positivesolution r⁄ means that at least one of them under-attainsits expectation. In this case, the weights in the constraintsrepresent the relative under-attainment of their corre-sponding expectations, as suggested by Theorem 2. Byadjusting the weights, we adjust the relative under-attain-ment of those design goals, and achieve the tradeoffsamong them.

Theorem 2. By using wos ¼ qo

s � gos ; wc ¼ qc � gc and

woi ¼ qo

i � goi , where qo

s ; qc and qoi are nonnegative param-

eters, the expectations of their corresponding design goals areunder-attained by at most r � qo

s � 100; r � qc � 100 andr � qo

i � 100 percents, respectively.

Proof. From Constraint (8), the media server load is atmost go

s þwos � r. Thus the expectation is under-attained

by wos�rgo

s¼ r � qo

s at most. From Constraint (9), the total con-nection cost is at most gc + wc � r. Thus the expectation isunder-attained by wc�r

gc¼ r � qc at most. Similarly, from

Constraint (10), the utility of peer poi is at least

goi �wo

i � r. Thus the expectation is under-attained bywo

i�r

goi¼ r � qo

i at most. h

Other parameters of GA can be set as follows. Theexpectation of media server load go

s should be set by itsoperator according to the computational power of thatmedia server and its outgoing bandwidth. The expectationof total connection cost gc should be set by all ISPs jointly.The expectation go

i is set to uoi ðR

oÞ at least, i.e., every peer instreaming overlay o should receive a streaming rate of atleast Ro from its upstream peers to ensure smoothplayback.

4.2. The Weighed Sum method

The Weighted Sum method, which is abbreviated to WS,is another method to achieve the tradeoffs among the de-sign goals. It optimizes the design goals by solving an opti-mization problem whose objective function is theweighted sum of those design goals. The method can bemodeled by the following optimization problem, which isalso referred to as WS:

P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042 4037

min ða� bÞX

poi

xoi0 ð13Þ

þ bX8h

uh �X

poi2Ph

Xj2Do

i

xoji

0@

1A ð14Þ

þX

o

Xpo

i;po

j

cðxoijÞ þ

Xo

Xpo

i

cðxoi0Þ

0@

1A; ð15Þ

which is subject to Constraints (3) and (4). Variables a andb are parameters that adjust the weights associated withthe design goals.

4.3. The even allocation mechanism

The even allocation mechanism, which is abbreviated toEA, is a basic upload bandwidth allocation scheme. UnlikeGA and WS, in which the connection rates are determinedby solving some optimization problems, the connectionrates in EA are determined by a much simpler rule, i.e., itallocates an equal share of the upload bandwidth to thecompeting connections. Because of this, EA cannot achievethe tradeoffs among the design goals. In this paper, we useEA as a performance baseline.

4.4. Performance comparison among GA, WS and EA

The adoption of GA rests with its performance. Weclaim that by setting appropriate parameters for GA, itsperformance is never worse than EA and WS. We considerthe following performance metrics: the media server load,the ISP cost, and the download rates of the peers. Forsimplicity, we only consider one overlay o. However, theresult can be applied to multiple overlays as well. Wedenote the performance of EA or WS by a vector hMo

s ; Moc ;

Moi ; i ¼ 1 . . . noi, where Mo

s is the media server loadproduced by applying EA or WS; Mo

c is the ISP cost; andMo

i ; i ¼ 1 . . . no are the download rates of the peers in over-lay o. We further denote the connection rates, which leadto this performance, by Mo

ij for the connection rate frompeer po

j to poi and denote the rate at which peer po

i receivesthe video content from the media server by Mo

i0. Wevalidate our claim by proving that Mo

ij; 8i; 8j is a feasiblesolution to Problem GA.

Theorem 3. The connection rate Moij; 8i; 8j produced by

applying EA or WS is a feasible solution to GA.

Proof. Since Moij; 8i; 8j is a solution to EA or WS, it auto-

matically satisfies Constraints (3) and (12) in GA. To seethat it satisfies Constraints (8)–(10), we set r in those con-straints to 0 and rewrite the constraints toX

poi

Moi0 6 go

s ; ð16Þ

Xo

Xpo

i;po

j

cðMoijÞ þ

Xo

Xpo

i

cðMoi0Þ

0@

1A 6 gc; ð17Þ

uoi ðM

oi ÞP go

i ; 8i: ð18Þ

Note that gos ; gc and go

i ; 8i are all adjustable parameters ofGA. By setting appropriate values for them, we can guaran-tee that the above constraints are all satisfied. ThusMo

ij; 8i; 8j is a feasible solution to GA. h

Since, Moij; 8i; 8j is only a feasible solution, not neces-

sarily the optimal solution to GA, the performance of GAis no worse than Mo

ij; 8i; 8j. Thus, we prove our claim.As explained in the next paragraph, the performance

metrics achieved by WS are extreme tradeoff points, e.g.the cross-ISP P2P traffic is either maximized or completelyeliminated. Although, GA can certainly achieve those ex-treme tradeoff points as proved by Theorem 3, it cannotgo beyond the extreme tradeoff points. However, theadvantage of GA is that it can also achieve a wide rangeof tradeoff points between the extreme points as shownin the next paragraph.

GA can produce finer tradeoff tuning than WS. Actually,WS can only produce on–off tradeoffs. Let’s focus on thecross-ISP P2P traffic xo

ij in WS. The objective function (13)is either an increasing function of xo

ij or a decreasing func-tion of xo

ij depending on the values of Parameter a and b inWS and the parameters in the connection cost. Supposethat the cost cðxo

ijÞ can be expressed by cðxoijÞ ¼ c � xo

ij andthe cost cðxo

i0Þ can be expressed by cðxoi0Þ ¼ c � xo

i0 for thecross-ISP P2P traffic xo

ij and xoi0, respectively, where c > 0 is

some positive constant. For peer poi , we have the following

two cases: (1) cðxoioÞ ¼ 0 and (2) cðxo

i0Þ– 0. For the formercase, the derivative of the objective function (13) in WSto xo

ij is c � b. If c > b, then the objective function is anincreasing function of xo

ij. We can decrease xoij to 0 to opti-

mize the objective function, which eliminates the cross-ISP P2P traffic. If c < b, then the objective function is adecreasing function of xo

ij. We can increase xoij as much as

possible to optimize the objective function, which maxi-mizes the cross-ISP P2P traffic. For the latter case, thederivative is �a. For any a > 0, the objective function is adecreasing function of xo

ij. We can increase xoij as much as

possible to optimize the objective function, which maxi-mizes the cross-ISP P2P traffic. Thus, the cross-ISP P2P traf-fic is either maximized or completely eliminated. Notradeoff point between these two extreme points exists.On the contrary, GA can achieve a range of wide tradeoffpoints between the two extreme points as shown in Sec-tion 6. Further advantages of GA over WS include that theexpectation of each design goal can be explicitly specified;and important design goals can be enforced to meet theirexpectations by setting their weights to 0.

5. A distributed algorithm for GA

5.1. Distributed algorithm

We propose a distributed algorithm to solve GA basedon the primal–dual decomposition. It divides problem GAinto sub-problems that can be solved individually by peers,media servers and ISPs.

For each node h, the algorithm initially allocates its up-load bandwidth uh to the peers in Ph proportional to theirrequired streaming rates. We denote the upload band-width of peer po

i 2 Ph by uoh. Then the algorithm sets

4038 P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042

connection rate xoji; 8j 2 Do

i touo

hjDo

i jinitially, and updates the

connection rate at a regular interval as follows:

xoji

�¼ Du

j �@uo

j ðxoj Þ

@xoji

þ Dsj � Dc � co

ji � Dh; ð19Þ

xoji ¼ ½xo

ji þ doij � xo

ji

��þ; ð20Þ

where variables Duj ; Ds

j ; Dc and Dh are either maintainedby peer po

i or needed to be transmitted to it, and doij is the

step size for the update. Specifically, variable Dh is main-tained by peer po

i , and is updated at a regular interval asfollows:

Dh ¼ Dh þX

poi2Ph

Xj2Do

i

xoji � uh

0@

1A

24

35þ

: ð21Þ

Variable Dh indicates the usage of the upload bandwidthoffered by node h. Larger Dh means that more video con-tent is queued at node h waiting to be sent. According toEq. (19), peer po

i tries to lower connection rate xoij to reduce

the video content queued at node h.Variable Du

j is updated by peer poj as follows and trans-

mitted to peer poi .

Duj ¼ Du

j þ ð�uoj ðxo

j Þ �woj � r þ go

j Þh iþ

: ð22Þ

Variable Duj reflects the performance of peer po

j . Larger Duj

means that the total download rate of peer poj is smaller.

According to Eq. (19), larger Duj leads to a larger increment

of connection rate xoji. This feature ensures that our pro-

posal conforms to the law of diminishing returns.Variable Ds

j is updated by its corresponding media ser-ver and transmitted to peer po

j , then to peer poi . The updat-

ing rule is shown below.

Dsj ¼ Ds

j þX

poi

xoi0 �wo

s � r � gos

0@

1A

24

35þ

; xoj < Ro ð23Þ

or

Dsj ¼ 0; xo

j P Ro: ð24Þ

When xoj < Ro, i.e., peer po

j receives video content from itsmedia server, variable Ds

j is updated according to Eq.(23). Variable Ds

j becomes larger when more and more vi-deo content has to be streamed by the media server itself.According to Eq. (19), peer po

i tries to increase connectionrate xo

ji so that peer poj will download less video content

from the media server. When xoj P Ro, variable Ds

j is setto 0. This is because when peer po

j does not receive any vi-deo content from the media server, the value of variable Ds

j

should not impact its download rate.Variable Dc is maintained by the ISPs as follows and

transmitted to peer poi .

b ¼X

o

Xpo

i;po

j

cðxoijÞ þ

Xo

Xpo

i

cðxoi0Þ; ð25Þ

Dc ¼ Dc þ ðb�wc � r � gcÞ½ �þ: ð26Þ

Variable Dc becomes larger when the total connection costincreases. According to Eq. (19), peer po

i tries to decreasethe rate to its downstream peers and lower the total

connection cost. Note that variable coji in (19) scales variable

Dc at peer poi . It represents the cost policy of ISPs. For exam-

ple if rate xoji is local to an ISP, variable co

ji can be set to 0.Then variable Dc has no impact on rate xo

ji. On the contrary,if rate xo

ji is cross-ISP P2P traffic, it can be associated with alarge value of variable co

ji to amplify the impact of variableDc on the rate.

5.2. Implementation concerns

In real implementation, the distributed algorithm issolved by peers, media servers, and ISPs together. Thekey to implement the distributed algorithm is to transmitvariables Du

j ; Dsj , and Dc to peer po

i . Variable Duj can be

transmitted from peer poj to peer po

i in their periodic com-munications. In P2P assisted streaming systems (or anyother P2P systems), two connected peers often exchangecontrol information between each other (e.g., PPStreamperiodically sends control packets between two connectedpeers [16]). Likewise, variable Ds

j can be transmitted from amedia server to peer po

j in the control packets sent from themedia server to peer po

j , and then from peer poj to peer po

i inthe control packets exchanged between these two peers.Variable Dc is transmitted from ISPs to peer po

i . Recentstudies on ISP-friendly P2P traffic control, such as P4P[2], propose to use ISP portals (i.e. special servers run byISPs) to provide information to peers. For example, inP4P, ISP portals can provide peers with the informationabout financial cost, ISP policy (e.g., avoiding using certainbackbone links during peak time), etc. If P4P is employed,Dc can be transmitted from ISPs to peers through ISPportals.

Another concern about the implementation of the dis-tributed algorithm is how to deal with peer join and peerleave. Upon peer po

j joins a streaming overlay and receivesa set of peers from its tracker to communicate with, eachupstream peer can allocate a very small amount of uploadbandwidth to peer po

j (avoiding a 0 total download rate asthe input to the utility function). Since the total downloadrate of peer po

j is small, variable Duj is large, which moti-

vates its upstream peers to increase their connection ratesto the peer. Similarly, after peer po

j establishes a connectionto a new upstream peer during its lifetime, the new up-stream peer can allocate a very small amount of uploadbandwidth to peer po

j , the connection rate from the up-stream peer to peer po

j will then be determined accordingto Eqs. (19) and (20). Upon peer po

j leaving a streamingoverlay, the freed upload bandwidth will lower variableDh, which motivates the upstream peers to increase theirconnection rates to other peers. Thus, the utilization of up-load bandwidth can be maintained as high as possible.

6. Evaluation

In this section, we provide the evaluation of GA andcompare it with WS and the even allocation EA. The evalu-ation is based on Matlab optimization toolbox and does notconsider the dynamics of the distributed algorithm. That is,we solve problem GA directly using the Goal Attainmentmethod provided by the optimization toolbox. Also, the

300

350

400

450

500

550

600

650

0 50 100 150 200 250 300 350 400

Cro

ss-IS

P P2

P tra

ffic

(Kbp

s)

Media server load (Kbps)

450

500

raffi

c (K

bps)

P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042 4039

evaluation is at the flow level as opposed to the packet le-vel, which means we do not consider data availability, datascheduling and delays in packet transmission. We evaluateGA, WS, and EA under both the random peer selection andthe locality-based peer selection with the following com-mon simulation setup. We consider a network of four ASsas shown in Fig. 1.

AS 1 is a transport AS that provides interconnection ser-vice to the other 3 ASs. AS 2, AS 3, and AS 4 are normal ASsthat provide the Internet access service to their users. AS 2and AS 3 have peering agreement so that the P2P traffic be-tween them does not incur any cost. However, the P2P traf-fic between AS 2 and AS 4, and between AS 3 and AS4incurs the cost cðxo

ijÞ ¼ c � xoij and c(xoi0) = c � xoi0, c > 0

for the cross-ISP traffic xoij and xo

i0, respectively.

6.1. The tradeoffs among the conflicting design goals

In this subsection, we demonstrate that GA can explorethe tradeoff space of the conflicting design goals. We con-sider the tradeoffs between the cross-ISP P2P traffic andthe media server load, and the tradeoffs between thecross-ISP P2P traffic and the cross-ISP prefetching. In bothcases, WS only achieves on–off style tradeoffs: either thecross-ISP P2P traffic is minimized; or the media server loadis minimized; or the cross-ISP prefetching is maximized.

6.1.1. Example 1, the tradeoffs between the cross-ISP P2Ptraffic and the media server load

To show the tradeoffs between the cross-ISP P2P trafficand the media server load, we suppose that one streamingoverlay runs in the network with 5 peers in each of AS 2, AS3, and AS 4. Each peer connects to five other peers eitherrandomly or according to a locality degree of 0.8. The med-ia server is in AS 4. The required streaming rate is300 Kbps. The nodes in AS 2 and AS 3 have upload band-width of 400 Kbps, and the nodes in AS 4 have uploadbandwidth of 200 Kbps. We set the parameters of GA as fol-lows. We set the expectation of the total connection cost to300 and set the expectation of the media server load to750 Kbps. We set the weights in Constraint (10) and theweight in Constraint (8) to 17.12 and 750, respectively,and vary the weight in Constraint (9) from 0 to 600.

In this simulation setup, the peers in AS 4 can not main-tain smooth playback by just using the local P2P traffic inthe same AS. They have to rely on both the media serverand the P2P traffic from other ASs to ensue smooth play-back. If we allow bigger cross-ISP P2P traffic, the load onthe media server is smaller; on the contrary, if we allow

AS4

AS2

AS3

AS1

Fig. 1. Network topology.

smaller cross-ISP P2P traffic, the load on the media serveris bigger.

Fig. 2 shows the media server load and the cross-ISP P2Ptraffic at the different weights in Constraint (9) for the ran-dom and the locality-based peer selection. By varying theweights, GA gradually increases the cross-ISP P2P trafficand decreases the media server load, which shows its abil-ity to achieve the tradeoffs between these two. We alsoevaluate WS with a = 1, b = 0.5 and a varying c in the costfunction from 0.2 to 2.0. It only achieves two tradeoffpoints: when c < 0.5, the cross-ISP P2P traffic is eliminated,the media server load is 900 Kbps for the random peerselection and 500 Kbps for the locality-based peer selec-tion; when c > 0.5, the media server load becomes 0 Kbps,the cross-ISP P2P traffic is 700 Kbps for the random peerselection and 500 Kbps for the locality-based peerselection.

6.1.2. Example 2, the tradeoffs between the cross-ISP P2Ptraffic and the cross-ISP prefetching

To show the tradeoffs between the cross-ISP P2P trafficand the cross-ISP prefetching, we modify the parameters inExample 1. We set the required streaming rate to 100 Kbpsand place an upper bound of 80 Kbps for each connectionso that there is upload bandwidth available for the cross-ISP prefetching. Furthermore, we set the expectation ofthe total connection cost to 100 and vary its weight from0 to 1.0.

In this simulation setup, all the peers can maintainsmooth playback by just using the local P2P traffic. The

300

350

400

0 50 100 150 200

Cro

ss-IS

P P2

P t

Media server load (Kbps)

Fig. 2. The tradeoffs between the cross-ISP P2P traffic and the mediaserver load.

4040 P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042

cross-ISP P2P traffic is used to prefetch the video content. Ifwe allow more cross-ISP P2P traffic, the peers can prefetchmore video content and are more resistant to the peerchurn; on the contrary, if we allow smaller cross-ISP P2Ptraffic, the peers will prefetch less video content and aremore susceptible to the peer churn.

Fig. 3 shows the cross-ISP P2P traffic and the cross-ISPprefetching at different weights for the random and local-ity-based peer selection (we do not show the point atweight 0.4 for the random peer selection and the point atweight 0.9 for the locality-based peer selection, since theydo not converge to the optimal solution). We can see thatby varying the weight from 0 to 1.0, GA allows more andmore cross-ISP P2P traffic and cross-ISP prefetching. Wealso evaluate WS with a = 2, b = 1 and a varying c from0.1 to 2.1. Again, it can only achieve two tradeoff points:when c < 1.0, both the cross-ISP P2P traffic and the cross-ISP prefetching are 1880 Kbps for the random peer selec-tion and 320 Kbps for the locality-based peer selection;when c > 1.0, both of them are 220 Kbps for the randompeer selection and 0 Kbps for the locality-based peerselection.

6.1.3. Example 3, expectation enforcementIn addition to finer tradeoff tuning, GA can also enforce

important design goals to meet their expectations, if possi-ble. Suppose that the ISPs want to place a hard limit, say,100, on the total connection cost in Example 1. We set

90 100 110 120 130 140 150 160 170 180

0 0.2 0.4 0.6 0.8 1

Cro

ss-IS

P P2

P tra

ffic

/ pre

fetc

hing

(Kbp

s)

Weight

90 100 110 120 130 140 150 160 170 180

0 0.2 0.4 0.6 0.8 1

Cro

ss-IS

P P2

P tra

ffic

/ pre

fetc

hing

(Kbp

s)

Weight

Fig. 3. The tradeoffs between the cross-ISP P2P traffic and the cross-ISPprefetching.

the expectation of the total connection cost to 100 andset the corresponding weight to 0. We vary the numberof the peers in AS 4 from 5 to 10.

In this simulation setup, the peers in AS 4 do not haveenough upload bandwidth and have to rely on the mediaserver and the cross-ISP P2P traffic to maintain smoothplayback. As we increase the number of the peer in AS 4,we can expect an increase in the cross-ISP P2P traffic.

We plot the total connection cost in Fig. 4 for the ran-dom and locality-based peer selection (the fluctuation ofthe cross-ISP P2P traffic for WS at in Fig. 4 is due to the factthat WS converges to the solutions with more localizedtraffic). As a comparison, we also plot the result of WS witha = 2, b = c = 1. As the number of the peers in AS 4 increases,the number of the cross-ISP connections also increases. De-spite that, GA is still able to maintain the total connectioncost under the expectation. However, WS can not meet theexpectation when facing increasing number of the cross-ISP connections. Placing a hard limit on the total connec-tion cost is helpful in some cases, such as the cross-ISProutes are extremely congested. However, it can not adaptto the peer dynamics and should be used with caution.

6.2. Fairness

In this subsection, we demonstrate that our proposal isable to maintain good fairness among peers and streamingoverlays.

6.2.1. Example 4, the fairness among the peers in the samestreaming overlay

We use the same simulation setup as the one in Exam-ple 1. However, to minimize the impact of the connectioncost and the media server load on the rate allocation, we

0

200

400

600

800

1000

1200

1400

5 6 7 8 9 10

Tota

l con

nect

ion

cost

The number of peers in AS 4

GAWS

50

100

150

200

250

300

5 6 7 8 9 10

Tota

l con

nect

ion

cost

The number of peers in AS 4

GAWS

Fig. 4. Expectation enforcement.

50 100 150 200 250 300 350 400 450 500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dow

nloa

d ra

te (K

bps)

Peer

GAWSEA

50 100 150 200 250 300 350 400 450 500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dow

nloa

d ra

te (K

bps)

Peer

GAWSEA

Fig. 5. The fairness among the peers in the same streaming overlay.

0

200

400

600

800

1000

1200

1400

600 700 800 900 1000

Aver

age

dow

nloa

d ra

te (K

bps)

Upload bandwidth (Kbps)

GA (overlay 1)GA (overlay 2)WS (overlay 1)WS (overlay 2)EA (overlay 1)EA (overlay 2)

0

200

400

600

800

1000

1200

1400

600 700 800 900 1000Av

erag

e do

wnl

oad

rate

(Kbp

s)Upload bandwidth (Kbps)

GA (overlay 1)GA (overlay 2)WS (overlay 1)WS (overlay 2)EA (overlay 1)EA (overlay 2)

Fig. 6. The fairness among the streaming overlays.

P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042 4041

do not impose any cost on the cross-ISP P2P traffic, and as-sume that the media server offers enough bandwidth to as-sist the peers. We plot the download rate received by eachpeer in Fig. 5 for random and locality-based peer selection.We can see that both GA and WS can maintain the down-load rate of every peer above the required streaming rate,whereas EA, being equal to every peer, is unable to main-tain the download rates of some peers above the requiredstreaming rate.

6.2.2. Example 5, the fairness among the streaming overlaysTo demonstrate fairness among the streaming overlays,

we suppose that two streaming overlays run in the net-work. Every overlay has 5 peers in each of AS 2, AS 3,and AS 4, and each peer connects to five other peers ran-domly chosen or according to a locality degree of 0.8. Themedia servers of both overlays are in AS 1. The requiredstreaming rates for overlay 1 and overlay 2 are 100 Kbpsand 500 Kbps, respectively. In order to show the competi-tion between the two overlays, we assume that the nodesin the network always join the two overlays simulta-neously, and the two overlays have the same topology.We set the weight in Constraint (10) to 4.16 and 31.08for the first overlay and second overlay, respectively, andkeep the assumptions about the cross-ISP P2P traffic andthe media servers from Example 4. We vary the uploadbandwidth of all nodes from 600 Kbps to 1000 Kbps andplot the average download rates of the two overlays inFig. 6. We can see that both GA and WS meet the requiredstreaming rates for both overlays. However, EA over-provi-sions overlay 1 and leaves the required streaming rate ofoverlay 2 unsatisfied.

7. Conclusion

In this paper, we propose an upload bandwidth alloca-tion mechanism for P2P assisted video-on-demand stream-ing with the following design goals: minimizing the mediaserver load, maximizing the upload bandwidth utilization,minimizing the cross-ISP P2P traffic, and maintaining thefairness among the peers in the same or different stream-ing overlays. The first three design goals may conflict withone another. To this end, the mechanism employs the GoalAttainment method to optimize the first three design goalssimultaneously and achieve the tradeoffs among them.Furthermore, it uses logarithm utility functions to guidethe upload bandwidth allocation so that fairness can bemaintained. Based on the Goal Attainment method, we fur-ther propose a distributed algorithm run by the peers, themedia servers and the ISPs to solve the goal attainmentmethod. We evaluate the mechanism extensively. The sim-ulation results show that, compared with the related worklike [7], our mechanism achieves finer tradeoff tuning. Inaddition, it can maintain good fairness among the peersin the same or different streaming overlays.

References

[1] P. Yang, L. Xu, On tradeoffs between cross-ISP P2P traffic and P2Pstreaming performance, in: Proceedings of IEEE GLOBECOM, Miaim,FL, 2010.

[2] H. Xie, Y.R. Yang, A. Krishnamurthy, Y. Liu, A. Silberschatz, P4P:provider portal for applications, in: Proceedings of ACM SIGCOMM,Seattle, WA, 2008.

[3] D.R. Choffnes, F.E. Bustamante, Taming the torrent: a practicalapproach to reducing cross-ISP traffic in peer-to-peer systems, ACM

4042 P. Yang, L. Xu / Computer Networks 55 (2011) 4033–4042

SIGCOMM Computer Communication Review 38 (4) (2008) 363–374.

[4] R. Bindal, P. Cao, W. Chan, J. Medved, G. Suwala, T. Bates, A. Zhang,Improving traffic locality in BitTorrent via biased neighbor selection,in: Proceedings of the 26th IEEE International Conference onDistributed Computing Systems, Washington, DC, USA, 2006, pp.66–66.

[5] W. Li, S. Chen, T. Yu, UTAPS: An underlying topology-aware peerselection algorithm in BitTorrent, in: International Conference onAdvanced Information Networking and Applications, Gino-wan City,Okinawa, Japan, 2008, pp. 539–545.

[6] F. Gembicki, Y. Haimes, Approach to performance and sensitivitymultiobjective optimization: the goal attainment method, IEEETransactions on Automatic Control 20 (6) (1975) 769–771.

[7] J. Wang, C. Huang, J. Li, On ISP-friendly rate allocation for peer-assisted VoD, Proceeding of the 16th ACM international conferenceon Multimedia, Vancouver, British Columbia, Canada, 2008, pp. 279–288.

[8] Y. Liu, H. Zhang, W. Gong, D. Towsley, On the interaction betweenoverlay routing and underlay routing, in: Proceedings of IEEEINFOCOM, vol. 4, Miami, FL, 2005, pp. 2543– 2553.

[9] C. Wu, B. Li, Diverse: application-layer service differentiationin peer-to-peer communications, IEEE Journal on Selected Areasin Communications 25 (1) (2007) 222–234, doi:10.1109/JSAC.2007.070122.

[10] C. Wu, B. Li, Z. Li, Dynamic bandwidth auctions in multi-overlay P2Pstreaming with network coding, IEEE Transactions on Parallel andDistributed Systems 19 (6) (2008) 806–820.

[11] M. Wang, L. Xu, B. Ramamurthy, A flexible divide-and-conquerprotocol for multi-view peer-to-peer live streaming, in: Proceedingsof IEEE P2P, Seattle, WA, 2009.

[12] F. Kelly, Charging and rate control for elastic traffic, EuropeanTransaction on Telecommunications 8 (1) (1997) 33–37.

[13] J. Mo, J. Walrand, Fair end-to-end window-based congestion control,IEEE/ACM Transactions on Networking 8 (5) (2000).

[14] S. Buchegger, J.-Y.L. Boudec, A robust reputation system for p2p andmobile ad-hoc networks, in: Proceedings of the 2nd Workshop onthe Economics of Peer-to-Peer Systems, Berkeley, CA, 2003.

[15] D. Grolimund, L. Meisser, S. Schmid, R. Wattenhofer, Havelaar: arobust and efficient reputation system for active peer-to-peersystems, in: Proceedings of 1st Workshop on the Economics ofNetworked Systems, Ann Arbor, MI, 2006.

[16] X. Su, L. Chang, A measurement study of ppstream, in: Proceedings ofthe 3rd International Conference on Communications andNetworking in China, Hangzhou, China, 2008, pp. 1162–1166.

Peng Yang has received his Bachelor andMaster degree in Central China Normal Uni-versity, PR China and now is pursuing hisDoctoral degree in the University of Nebraska-Lincoln, U.S.A. His research interests includewireless communication, transmission con-trol protocols, utility-based rate control,andpeer-to-peer networks.

Lisong Xu received his B.E. and M.E. degreesin Computer Science from the University ofScience and Technology Beijing in 1994 and1997, respectively. He completed his thesis‘‘Performance Analysis Of Optical Burst Swit-ched Networks’’ under the direction of Dr.Harry Perros and Dr. George Rouskas, andreceived his Ph.D. degree in Computer Sciencefrom North Carolina State University in 2002.From 2002 to 2004, he was a Post-DoctoralResearch Fellow at North Carolina State Uni-versity, working on Congestion Control for

High-Speed Long-Distance Networks (TCP-BIC/CUBIC) with Dr. InjongRhee, and on PhysViz Project with Dr. James Lester. He is currently anassociate professor in Computer Science and Engineering at the Univer-

sity of Nebraska-Lincoln. He is a recipient of NSF CAREER Award (2007),and UNL CSE Student Choice Outstanding Teaching Award (2006, 2007,2008, 2010).