22
An incentive scheduling mechanism for peer-to-peer video streaming Alireza Montazeri & Behzad Akbari & Mohammed Ghanbari Received: 22 July 2011 / Accepted: 28 December 2011 / Published online: 28 January 2012 # Springer Science+Business Media, LLC 2012 Abstract P2P video streaming networks are found as a scalable solution and an alternative for traditional clientserver based video streaming over the Internet. One of the significant issues affecting the success of any P2P streaming network is cooperation between peers. Practical observa- tions have proved the prevalence of free riders in P2P net- works that degrade their performance. To solve this problem, using incentive mechanisms, which encourage peers to contribute more in the network, is necessary. In this paper, we designed and proposed a distributed and scalable incentive mechanism for mesh based P2P video streaming networks. In the proposed approach the contribution of the peers is measured and maintained in a distributed fashion. Furthermore, we proposed an incentive sending side sched- uler in which peers are served based on their contribution in the network. Our simulation evaluations show the efficiency of the proposed approach in improving the overall perceived video quality by the non-free rider nodes and consequently in the whole network. Keywords Mesh-based P2P networks . Video streaming . Incentive mechanism . Free rider . Scheduler 1 Introduction Network layer or IP multicasting technology is the most effective way of delivering a large amount of media data to a large group of receivers. In IP multicasting, the multi- cast data is replicated by the network routers and delivered to the interesting receivers. Although IP multicasting is the most effective approach for large scale media streaming applications over the Internet, but due some fundamental deployment issues [12] it has not widely deployed over the Internet. The needs for multicast service for variant of new emerging media streaming applications from one side and deployment problems of network layer or IP multicasting form other side, motivated researchers to consider applica- tion layer or Peer-to-Peer (P2P) multicasting [36]. In ap- plication layer multicasting, the Internet end systems which are called peers organize themselves into an overlay P2P network on top of the Internet. In P2P networks, each peer acts as both server and client; while a peer is receiving data from other peers, it can serves other peers in the network. In other words, In P2P streaming networks, peers cooperate for dissemination of stored or live media streaming data in a group. UUsee [7], PPStream [8] and PPLive [9] are samples of implemented P2P video streaming networks. P2P media streaming networks are divided into single- tree, multiple-tree, mesh based and hybrid mesh-tree archi- tectures according to the way in which peers create an overlay network and receive the data. In single-tree based architectures (e.g. [3, 10]), a new comer peer selects a peer A. Montazeri : B. Akbari (*) Department of Electrical and Computer Engineering, Tarbiat Modares University, Tehran, Iran e-mail: [email protected] A. Motazeri e-mail: [email protected] M. Ghanbari Department of Electronic Systems Engineering, University of Essex, Essex, UK e-mail: [email protected] Peer-to-Peer Netw. Appl. (2012) 5:257278 DOI 10.1007/s12083-011-0121-7

An incentive scheduling mechanism for peer-to-peer video streaming

Embed Size (px)

Citation preview

An incentive scheduling mechanism for peer-to-peervideo streaming

Alireza Montazeri & Behzad Akbari &Mohammed Ghanbari

Received: 22 July 2011 /Accepted: 28 December 2011 /Published online: 28 January 2012# Springer Science+Business Media, LLC 2012

Abstract P2P video streaming networks are found as ascalable solution and an alternative for traditional client–server based video streaming over the Internet. One of thesignificant issues affecting the success of any P2P streamingnetwork is cooperation between peers. Practical observa-tions have proved the prevalence of free riders in P2P net-works that degrade their performance. To solve thisproblem, using incentive mechanisms, which encouragepeers to contribute more in the network, is necessary. In thispaper, we designed and proposed a distributed and scalableincentive mechanism for mesh based P2P video streamingnetworks. In the proposed approach the contribution of thepeers is measured and maintained in a distributed fashion.Furthermore, we proposed an incentive sending side sched-uler in which peers are served based on their contribution inthe network. Our simulation evaluations show the efficiencyof the proposed approach in improving the overall perceivedvideo quality by the non-free rider nodes and consequentlyin the whole network.

Keywords Mesh-based P2P networks . Video streaming .

Incentive mechanism . Free rider . Scheduler

1 Introduction

Network layer or IP multicasting technology is the mosteffective way of delivering a large amount of media datato a large group of receivers. In IP multicasting, the multi-cast data is replicated by the network routers and deliveredto the interesting receivers. Although IP multicasting is themost effective approach for large scale media streamingapplications over the Internet, but due some fundamentaldeployment issues [1–2] it has not widely deployed over theInternet. The needs for multicast service for variant of newemerging media streaming applications from one side anddeployment problems of network layer or IP multicastingform other side, motivated researchers to consider applica-tion layer or Peer-to-Peer (P2P) multicasting [3–6]. In ap-plication layer multicasting, the Internet end systems whichare called peers organize themselves into an overlay P2Pnetwork on top of the Internet. In P2P networks, each peeracts as both server and client; while a peer is receiving datafrom other peers, it can serves other peers in the network. Inother words, In P2P streaming networks, peers cooperate fordissemination of stored or live media streaming data in agroup. UUsee [7], PPStream [8] and PPLive [9] are samplesof implemented P2P video streaming networks.

P2P media streaming networks are divided into single-tree, multiple-tree, mesh based and hybrid mesh-tree archi-tectures according to the way in which peers create anoverlay network and receive the data. In single-tree basedarchitectures (e.g. [3, 10]), a new comer peer selects a peer

A. Montazeri :B. Akbari (*)Department of Electrical and Computer Engineering,Tarbiat Modares University,Tehran, Irane-mail: [email protected]

A. Motazerie-mail: [email protected]

M. GhanbariDepartment of Electronic Systems Engineering,University of Essex,Essex, UKe-mail: [email protected]

Peer-to-Peer Netw. Appl. (2012) 5:257–278DOI 10.1007/s12083-011-0121-7

as its parent to join to the network and receive media data.The children/parent relationship among peers constructs asingle tree overlay network. When the overlay tree structureis established, the media data is streamed from the root tothe leaves through the overlay tree. By joins or leaves ofpeers, the overlay tree needs to be reconstructed. In single-tree architectures, the internal nodes play both client andserver role, while the leaf nodes are only client and do nothave any contribution in data distribution in the networks.To solve this problem, multiple-tree architectures have beenproposed [11, 12]. In multiple-tree architectures including ntrees, the media stream is divided into n substreams andeach substream is streamed through the dedicated overlaytree. The peers need to join all number of overlay trees ifthey are interested in receiving all substreams. In multiple-tree protocols, any leaf node in any overlay tree must play asan internal node in some other trees. So, all the peers in thenetwork contribute in data delivery in the group.

In mesh-based P2P streaming networks (e.g. [13–15])peers establish and terminate peering relationships dynamical-ly. At any given time, a peer maintains peering relationshipwith some neighboring peers. A peer may download/uploadvideo from/to multiple neighbors simultaneously. For thepurpose of effective data dissemination in the network, thestreaming video data is divided into small segments calledchunks. Each chunk can be fetched from one of the neighborsin the overlay mesh. Segmentation of the video data intochunk improves the streaming rate, in addition to resiliencyagainst peers churn. If a peer’s neighbor leaves the network, itcan still download video content from remaining neighbors.At the same time, the peer will find new neighbors to keep adesired level of connectivity. Contrary to tree-based architec-tures, the high peering degree in mesh-based streaming sys-tems makes them extremely robust against peer churn.

In hybrid overlay architectures (e.g. [38–40]) peers con-struct both tree and mesh overlay network for data delivery.Such structures for P2P video delivery are based on push-pull mechanism. The most important video data, e.g. thebase layer video, is delivered by push mechanism and theothers delivered through pulling from the overlay mesh.

One of the most significant keys affecting the success ofP2P media streaming networks is cooperation betweenpeers. Investigations on P2P networks have shown thatsome peers that are called free riders tend to be selfish andtry to benefit from system without any contribution [16].Hughes et al. in [16] have studied the presence of free ridersin P2P networks. According to their results, by the year2000, 66% of the users in Gnutella had not shared any file,while by the year 2005 this value has increased to 85%. Freeriders in any P2P network decrease the resources of thenetwork and consequently cause degrading the performanceof the system. Therefore, using incentive mechanisms thatencourage peers to more contribution in the network are

necessary for P2P networks and specially P2P streamingnetworks. Generally, incentive mechanisms in P2P networksinclude two steps. In the first step, the contribution of eachpeer in the network is measured and maintained somewherein the network. In fact, amount of data which a peer hasuploaded/downloaded to/from its neighbors is measured. Inthe second step, peers are served based on their contributionin the network.

In this paper, we deal with designing a distributed incentivemechanism for mesh based P2P video streaming systems. Theproposed approach aims to encourage the peers in a P2P videostreaming system to cooperate with each other to achievebetter overall performance in the system. Our proposed mech-anism for measurement of peers' contribution is reputationbased and distributed in which the contribution amount ofthe peers is measured and maintained in a distributed way.In the second part of our work, we designed an incentivizedsending side scheduler algorithm based on the peers’ contri-bution. The proposed approach enables peers with more con-tribution to perceive better video quality in the system.

The rest of the paper is organized as follows: In Section 2,we have a quick glance at the existing incentive mechanismsin P2P networks. The assumptions we took in this paper areexpressed in Section 3. The proposed solution is presentedin Section 4. Section 5 includes the performance evaluationof the proposed scheme through simulation; and finally,Section 6 concludes the paper.

2 Related works

In this section, we review the existing approaches in theliterature for two steps of incentive mechanisms in P2Pnetworks: measurement of peers contribution and differen-tiated peers serving.

2.1 Measurement of peers contribution

We can categorize the solutions proposed for measurementof peers’ contributions in the network into reciprocity based(e.g. [17–19]) and reputation based (e.g. [17, 20–29])schemes. In the rest of this section, we will overview exis-tent approaches.

Tit-for-Tat in BitTorrent [30] is an example of reciprocitybased schemes in which any peer p adjusts its sending rateto peer q proportional to bit rate receiving from q. However,a reciprocity based scheme has a weakness: a peer maydownload well from its neighbor while it does not uploadto other neighbors. The reason is that a peer uploading wellto one of its neighbors will be able to download well fromthat neighbor. Indeed, such peer will never find itself re-sponsible for serving video to other neighbors. In otherwords, peer p computes peer q’s contribution according to

258 Peer-to-Peer Netw. Appl. (2012) 5:257–278

peer q’s contribution toward peer p, regardless of peer q’scontribution toward other peers. We call such approach as a‘local’ contribution computation.

Reputation based schemes are proposed to overcomementioned deficiency in reciprocity based ones. Contraryto reciprocity based scheme, a peer’s contribution in areputation based scheme includes its whole contribution inthe network. For example, peer p not only pays attention topeer q’s contribution toward peer p, but also takes intoaccount peer q’s contribution to peer q’s other neighbors.This scheme for contribution computation is called ‘global’.In order to compute peers’ contribution globally, each peeris responsible to announce its neighbors’ contribution. Infact, if all neighbors of peer p announce how much peer phas contributed toward them, peer p’s global contributioncould be measured. To achieve this goal, contributionamount of each peer should be kept somewhere in thenetwork accurately. In terms of this scheme, peer p fetchespeer q’s contribution from the network in order to know howto serve to peer q.

Some of reputation based schemes use a central nodecalled credit server (e.g. [27–29]) which is responsible foraccount balancing of peers. In fact, in this approach, eachpeer has an account which is credited by uploading files andis debited by downloading files of the network. So, peer phas to fetch some information about peer q‘s contributionfrom the credit server in order to know how to serve to peerq. Central based approaches have some problems such assingle point of failure and heavy load on the credit server.However, Yang et al. in [31] has proposed a method todecrease the load on credit server. Some other reputationbased approaches do not use a central node; e.g. DHT1-based [20–22], EigenTrust [23, 24], and Hierarchical [17,25] are examples of such approaches. In such approaches,the contribution of the peers is maintained in a distributedfashion. However, all these distributed incentive mecha-nisms are applicable only in structured or hierarchicalsystems.

DHT-based approaches are applicable in structured P2Poverlay networks. In these approaches, peer p’s global con-tribution is kept by some peers called ‘bankSet’ which areaccessible by using peer p’s ID and DHT. As a result, peer pneeds to connect to members of peer q’s bankSet to becomeaware of peer q’s contribution in the network. In EigenTrust,each peer is aware of other peers’ contribution in the net-work. Indeed, when a file is transported from a peer toanother peer, all peers will be informed of this event. Dueto the heavy overhead imposed on the network, this ap-proach is not scalable. In the hierarchical networks, thepeers clustered into small groups and for each group a leaderwhich is called ‘super node’ is selected. A super node is

responsible to keep and to measure the contribution amountof peers in the related group. Suppose peer p is the supernode of a group which peer q and peer l belong to; peer qwill make peer p aware of peer l’s contribution when a filetransmission has occurred between q and l.

2.2 Serving peers differently

As mentioned before, the peers are served based on theircontribution in the second step of incentive mechanisms.Some P2P video streaming networks (e.g. [18, 19, 24, 32])use incentive mechanisms similar to Tit-for-Tat in BitTor-rent in which they change their upload bandwidth to theirneighbors according to their neighbors’ contribution. Inaddition to policies limiting upload bandwidth as incentivemechanisms, some works have proposed to use MultipleDescription Coding (MDC) and layered coding video forincentive based P2P video streaming (e.g. [33–35]). Hoonget al. in [36] have proposed an approach which enables peerscontributing more to choose their neighbors with moreflexibility.

2.3 Challenges of existing approaches

The existing reputations based mechanisms described inSection 2.A are all proposed for P2P file sharing networks.On other words, a peer’s credit is updated when a peeruploads/downloads a file; so peers can increase their creditsthrough uploading larger files. In fact, peers’ contributionsare calculated based on the volume of files they upload/download. Contrary to P2P file sharing networks, peersexchange video chunks which are so much smaller thanfiles in P2P video streaming networks; it means that updat-ing a peer’s contribution when a video chunk is uploaded/downloaded imposes a heavy overhead on the network.

To solve this problem, approaches such as [18, 19, 24]and [32–35] use tit-for-tat mechanism for updating peers’contribution in the network. However, as mentioned before,reciprocity based approaches calculate peers’ contributionlocally. Regarding the weaknesses of existing approaches,we need a mechanism for calculating peers’ contributionwhich:

– is not only applicable to unstructured and nonhierarchi-cal P2P video streaming networks,

– calculating peers’ contributions globally,– and is scalable.

In P2P file sharing networks, a peer can download dif-ferent parts of a file simultaneously; the file is usable afterdownloading all parts of the file. In incentivized P2P filesharing networks, a peer’s contribution in the networkaffects its downloading rate; a higher uploading rate dedi-cated to peers contributing more. However, adjusting the1 Distributed Hash Table

Peer-to-Peer Netw. Appl. (2012) 5:257–278 259

uploading rate to peers according to their contribution is notapplicable to video streaming networks since the videostream is different from file. Contrary to files, each videochunk has to been downloaded before its deadline in videostreaming networks. Consequently, applying differentiatedservice through changing uploading rates leads to a situationin which some video chunks are delivered to peers after theirdeadlines. So, we cannot guarantee a minimum video qual-ity for peers since some chunks are received after theirdeadlines and other received chunks are not decodable be-cause their previous chunks are not delivered. On the otherhand, how we can apply differentiated service while singlelayer video is streamed into the P2P network. Certainly, ifwe apply differentiated service to single layer video, we canexpand it to other video coding schemes such as MDC andlayer coding video.

3 Network model and assumptions

Our adopted network model and also assumptionare presented in this section.

3.1 P2P network

We consider a mesh based P2P network including n peers inwhich each peer makes partnership with up to k other peers.Same as other mesh based P2P video streaming networks (e.g. CoolStreaming [13]) our assumed network uses a centralnode called Tracker for the management of join process. Themain responsibility of Tracker is to provide a list of avail-able peers in the network for a peer intending to enter thenetwork; this peer uses the list returned by Tracker as areference to make connection with available peers to receivethe video data. In order to distribute the video throughoutthe network, the neighboring peers exchange their buffermap with each other, periodically. The buffer map of eachpeer indicates the video frames which can be provided bythe peer. According to the received buffer maps, each peerfetches the video frames from its neighbors. We assumedthat there are a number of free rider peers in the network thatdo not contribute their resource to the network. In addition,we suppose that peers leave the network gracefully and allmessages including video packets and control messages aredelivered to their destinations.

3.2 Video coding

We considered a single rate video stream encoded accordingto the typical MPEG GOP (Group of Pictures) structureshown in Fig. 1. This structure is a common GOP structurefor network streaming applications in today’s modern videocodecs (e.g. H.26x and MPEG-4). As shown in Fig. 1, each

GOP includes one reference frame type I, some frames oftype P and some frames of type B. In each GOP, I frame isintracoded and P frames are predicted from previous I of Pframe, and finally B frames are bidirectional predicted fromprevious and next I or P frames. Therefore, according tointerdependency between frames of a GOP shown in Fig. 1,I and P frames are the most important frames in any givenGOP. Each frame of types P and B in any GOP needs all theprevious I and P frames in the GOP for decoding.

3.3 Notations

The notations we have used in this paper are summarized inTable 1.

4 The proposed approach

In this section we present our proposed incentive mecha-nism for mesh based P2P video streaming networks. Thefirst step of our proposed scheme deals with the measuringand collecting the contribution of the peers in the network.In the second step, we propose a scheme for serving peersaccording to their contribution in the network.

4.1 Collecting the peer’s contribution

In mesh based P2P video streaming networks peers ex-change video chunks with each other in order to distrib-ute the video stream throughout the network. However,updating the contribution amount of peers after eachchunk exchange imposes a heavy overhead on the net-work. In order to solve this problem, we divided the timeof video stream into small intervals (T-second intervals).Each interval is called ‘Contribution interval’. Conse-quently, peers’ contribution could be measured at theend of each Contribution interval. On the other hand,in order to measure and maintain peers’ contribution in adistributed way, each peer is monitored by some otherpeers called ‘monitoringPeersList’. In fact, the contribu-tion amount of each peer is monitored (measured andmaintained) by its monitoringPeersList. In other words,each peer has a responsibility of monitoring some peers

Fig. 1 Typical GOP structure with 12 frames in MPEG-4 format

260 Peer-to-Peer Netw. Appl. (2012) 5:257–278

in addition to contribution into the network; we call thisresponsibility ‘monitoringRole’.

In the remaining of this section we describe the details ofthe proposed scheme for measuring and collecting peers'contribution in mesh based P2P video streaming networks.

1) Peer structureFigure 2 shows the structure of a peer’s application

layer in our proposed architecture. Each module isbriefly described as follows:

Player: This module plays the received and buff-ered video chunks.Vide Buffering: This module keeps the videochunks fetched from the neighbors.Receiver side scheduler: This module implementsthe mesh-pull scheduling mechanism. It finds theunavailable video chunks in Video Bufferingthrough comparing the available video chunks inVideo Buffering with neighbors’ buffer maps inNeighbors Buffer Maps module and then sendsvideo chunk requests to neighbors in order to fetchthe unavailable chunks.Neighbors Buffer Maps: This module keeps thebuffer maps received from the neighbors.Buffer map: This module periodically creates abuffer map of the available video chunks and sends

it to the neighbors in order to make them aware ofthe available video chunks.Neighbors’ Contribution: This module maintainsthe neighbors’ contribution which will be used inthe sending scheduling mechanism.MonitoringRole: In order to implement the firststep of incentive mechanism in a distributed way,each peer plays monitoring role for some otherpeers in the networks. The monitoring role of thepeers will be discussed in details later.Incentive Sender Side Scheduler: This moduleimplements differentiated service for the neighborsaccording to their contribution in the network.More details will be provided later.Mesh based Topology Manager: This module man-ages the connection of the peer in the P2P network.

2) A distributed way for maintaining the peers’ contribu-tion in the network

In order to keep peers’ contributions in a distributedway, some peers should be responsible to monitor apeer’s contribution amount. A set of peers which areresponsible to monitor u’s contribution is called μ’smonitoringPeersList and is represented by MPu. Conse-quently, each peer monitors some other peers in thenetwork. Figure 3 shows the relation between u, MPu

and PNu. As shown in this figure, members of PNu

Table 1 The notations are used for presentation of the proposed mechanism

Notation Description

1 P0{p1; p2; p3; . . . ; pn} The P2P mesh network with n peers.

2 q, u, v, l, w q 2 P, u 2 P, v 2 P, l 2 P , w 2 P

3 PNu u’s neighbor set.

4 MPu The peers set that monitor μ’s contribution in the network.

5 MdPl The peers set which are monitored by l.

6 PNuj j The number of peers belong to set PNu.

7 MPuj j The number of peers belong to set MPu.

8 Contribution interval Each peer periodically sends some messages about its neighbors’ contribution into the network every T seconds.

9 DLfromu,v The amount of data which μ has downloaded from v during most recent Contribution interval.

10 ULtou,v The amount of data which μ has uploaded to v during most recent Contribution interval.

11 LCv,u,l A message including DLfromu,v and ULtou,v which v sends to l.

12 Du,m,l The amount of data which μ has downloaded during mth Contribution interval from l‘s perspective.

13 Uu,m,l The amount of data which μ has uploaded during mth Contribution interval from l’s perspective.

14 PDu,m+1,l The predicted amount of data which will be downloaded by μ during (m+1)th Contribution interval from l’sperspective.

15 PUu,m+1,l The predicted amount of data which will be uploaded by μ during (m+1)th Contribution interval from l’s perspective.

16 SCl,u,v A message which l sends v to make v aware of μ’s contribution.

17 APUu,m+1,v The average of predicted upload amount of μ during (m+1)th Contribution interval which is calculated by v.

18 APDu,m+1,v The average of predicted download amount of μ during (m+1)th Contribution interval which is calculated by v.

18 LtTl A leaving message which l sends to Tracker .

20 LtPl,v A leaving message which l sends to v.

Peer-to-Peer Netw. Appl. (2012) 5:257–278 261

inform the members of MPu about u’s contribution inthe network. In the following sections, we suppose uand v are neighbors, and we suppose l as a member ofMPu.; so, these relationships can be formally written as:v 2 PNu, u 2 PNv, l 2 MPu and u 2 MdPl.

We make Tracker responsible for maintaining mem-bers of each peer’s monitoringPeersList. Figure 2 showsthe list returned by Tracker to a peer intending to join theP2P network. As we see in Table 2, every row of the listincludes a random selected available peer and its mon-itoringPeersList. In fact, Tracker is used in order to enablea peer to access to members of its neighbor’s monitor-ingPeersList. The members of a peer’s monitoringPeers-List are randomly selected by Tracker. To make systemresistant to peers churn, a peer’s monitoringPeersList

should include at least two peers. When peer u joins thenetwork, Tracker randomly selects some peers in order tomakeMPu. So, when u makes a neighborhood with eachpeer like v in the list returned, v asks the Tracker aboutMPu. In addition, when Tracker randomly selects somepeers to make upMPu, the Tracker makes them aware oftheir new responsibility which is monitoring u.

3) Calculation of peers’ contributionIn order to calculate and maintain the contribution

amount of peers, all peers periodically generate somemessages including some information about their neigh-bors’ contribution (at the end of each Contributioninterval). Suppose we intend to indicate how u’s contri-bution into the network is calculated; Table 3 shows thealgorithm which each peer v as a member of PNu runs at

Application Layer

Fig. 2 The structure of a peer’s application layer

262 Peer-to-Peer Netw. Appl. (2012) 5:257–278

the end of each Contribution interval. According to thisalgorithm, peer v informs each l 2 MPu about u’s con-tribution during most recent Contribution intervalthrough sending a LCv,u,l message to l.

As shown in Fig. 4, the monitoring role of each peerincludes two phases. In the first phase which is calledUpdate phase, the contribution amount of u is updatedby l. In the second phase which is called Disseminationphase, l informs each v 2 PNu about u’s predictedcontribution in the next Contribution interval. Updatephase itself consists of two steps. In the first step,l updates the amount of data which u has downloaded/uploaded from/to network during most recent contribu-tion interval. This step is shown in Table 4; as we seethe algorithm in this table, when l receives LCv,u,l mes-sage, it updates the contribution amount of u duringmost recent Contribution interval (Table 4, line 3). Inother words, μ’s upload amount and μ’s downloadamount during most recent Contribution interval is cal-culated by peer l through Eqs. (1) and (2) respectively:

Uu;m;l ¼X

8v2PNu

DLfromu;v ð1Þ

Du;m;l ¼X

8v2PNu

ULtou;v ð2Þ

Suppose all peers in the set PNu has sent u’s contributionduring mth Contribution interval to all peers making upMPu.In the second step of Update phase, l predicts the u’scontribution in the (m+1)th interval according to the pasthistory of u in the network. Peer l predicts μ’s upload (PUu,m

+1,l) and u’s download (PDu,m+1,l) during next ((m+1)th)Contribution interval by using Eqs. 3 and 4 respectively:

PDu;mþ1;l ¼ a:Du;m;l þ 1� að Þ:PDu;m;l ð3Þ

PUu;mþ1;l ¼ a:Uu;m;l þ 1� að Þ:PUu;m;l; ð4Þwhere α is between 0 and 1. Parameter α expresses whether apeer’s contribution during previous Contribution intervals ismore important than peer’s contribution during most recentContribution interval or vice versa. For example, ifα is greaterthan 0.5, peer’s contribution during most recent Contributioninterval will be more important than its contribution duringprevious Contribution intervals. We can discourage free ridersby assigning values less than 0.5 toα; therefore, free riders aredisabled to receive a high video quality by uploading wellduring short time. In addition, peers can receive stable videoquality when α is less than 0.5. Consequently, if a peer hasuploaded well during previous Contribution intervals but ithas not uploaded well during most recent Contribution inter-val, it will not feel a serious change in video quality which itreceives during next Contributing interval.

In the Dissemination phase, peer l sends a SCl,u,v messagefor each v 2 PNu to make v aware of μ’s predicted

Fig. 3 Peer u’s neighbors sendu’s contribution to u’smonitoringPeersList

Table 2 The listreturned by Tracker tonew joined peers

Selected peer MonitoringPeersList

p30 MPp30

p4 MPp4

. .

. .

. .

p200 MPp200

Peer-to-Peer Netw. Appl. (2012) 5:257–278 263

contribution during next Contribution interval (Table 5).Therefore, u’s neighbors will use PUu;mþ1;l and PDu;mþ1;l

during (m+1)th in order to know how to serve to u.

When l runs dissemination phase, each peer in PNu such as vwill receive a SCl,u,v. Now, v computes the average of predictedupload (APUu,m+1,v) and average of predicted download

Table 3 Peer v announces itsneighbors’ contribution Contribution Announcement Algorithm

1. Begin

2. for each q 2 PNv do

3. for each w 2 MPq do

4. Send a LCv,q,w message including DLfromq,v and ULtoq,v5. end for;

6. end for;

7. end;

Fig. 4 Update andDissemination phases executedby l

264 Peer-to-Peer Netw. Appl. (2012) 5:257–278

(APDu,m+1,v) of u through Eqs. 5 and 6 respectively. Finally, thepredicted contribution of u during (m+1)th Contribution intervalis calculated based on APUu,m+1,v and APDu,m+1,v, as shown inEq. 7. Function f can be any relationship between APUu,m+1,v

and APDu,m+1,v; however, we consider the amount of datawhich u has uploaded to the network as u’s contributionamount. In fact, the history of u regarding how much data ithas uploaded to the network affects the service which u willreceive from network.

APUu;mþ1;v ¼P

l2MPuPUu;mþ1;l

MPuj j ð5Þ

APDu;mþ1;v ¼P

l2MPuPDu;mþ1;l

MPuj j ð6Þ

PCAu;mþ1;v ¼ f ðAPUu;mþ1;v;APDu;mþ1;vÞ ¼ APUu;mþ1;v ð7Þ4) Peer churn management

As mentioned before, every peer in our proposedarchitecture plays the role of MonitoringRole in addi-tion to its common role as a peer in a P2P network.Therefore, the problems related to a peer churn shouldbe considered. Suppose that l intends to leave the net-work in the (m+1)th Contribution interval; now, itshould make Tracker and the neighbors of each peerin set MdPl aware of its departure (Table 6).

When Tracker receives LtTl message, it tries to ran-domly find other peers playing the MonitoringRole forall peers in set MdPl. After finding peer q as a newmember of MPu, Tracker updates MPu and sends q thePDu,m+1,l, Du,m,l, PUu,m+1,l and Uu,m,l in order to make itaware of μ’s contribution (Table 7). When v 2 PNu

receives LtPl,V, v finds out that l 2 MPu is leaving thenetwork. In order to update MPu in its local memory, vwill send a message to the Tracker imploring theupdated MPu. The Tracker will send the updated MPu

to v. Now, v can access to up-to-date members ofMPu inorder to distribute u’s contribution.

4.2 Differentiated service

In the most P2P streaming protocols, peer μ uses a First-In-First-Out (FIFO) queue to keep its neighbors’ videorequests. We call this queue ‘videoRequestsu’. Accordingto sending side scheduler of these protocols μ, pops a videorequest from the head of videoRequestsu and sends thecorresponding video frame to the requesting neighbor(Fig. 5). In fact, the sender side scheduler is not incentiv-ized. In other words, peer μ does not discriminate betweenits neighbors based on their contribution in the network.Therefore, an incentive sender side scheduling mechanismis necessary to serve neighbors based on their contributionin the network. In the following, we describe our proposedapproach for the second step of incentive mechanism thatincludes an incentivized sender side scheduling scheme.

1) Incentivized Sender Side Scheduler (ISSS)To support incentive mechanism in a P2P video

streaming network, it is necessary for each peer to serveits neighbors according to their contribution into the

Table 4 Update phase- first step executed by l

Update phase-first step Algorithm

1. Begin

2. when message LCv,u,l,in which u 2 MdPl , is received do

3. Update Du,m,l and Uu,m,l;

4. end when;

10. end;

Table 5 Dissemination phase executed by l

Dissemination Phase Algorithm

1. Begin

2. for each u 2 MdPl do

3. for each v 2 PNu do

4. Create a SCl,u,v message;

5. Insert PUu,m+1,l and PDu,m+1,l into SCl,u,v

6. Send SCl,u,v to v;

7. end for;

8. end for;

9. end;

Table 6 The algorithm which l does before leaving the network

Leaving Announcement Algorithm

1. Begin

2. create a LtTl message;

3. for each μ 2 MdPl do

4. add μ to LtTl;

5. add PDu,m+1,l, Du,m,l, PUu,m+1,l, Uu,m,l to LtTl;

6. for each v 2 PNu do

7. Create a LtPl,v;

8. add μ to LtPl,v;

9. Send LtPl,v message to v;

10. end for;

11. end for;

12. Send LtTl to the Tracker;

13. end;

Peer-to-Peer Netw. Appl. (2012) 5:257–278 265

network. As shown in Fig. 5, simple sender side sched-ulers use a FIFO queue. According to this scheme, serv-ing peer does not discriminate between its neighbors. As aresult, neighbors contributing differently into the networkare served equally which is not fair. The proposed senderside scheduler consists of two phases as follows:

a. Phase one: Separating frame requestsApplying an incentive mechanism needs some

changes in videoRequestsu. For this purpose, wedivided the videoRequestsu to some distinct queuesas shown in Fig. 6. In other words, when μ receivesa frame request, it will detect the neighbor whichhas sent the frame request; next, u will recognize thetype of frame which the neighbor has requested. So,as shown in Fig. 6, frame requests are separatedaccording to the requesting peer and frame types(i.e. I, P and B).

b. Phase two: Applying incentive to sender side schedulerThis phase itself includes two steps. In the first step,

a neighbor is selected to be served; weighted round-robin algorithm could be used for this step. Accordingto this algorithm, at the beginning of each round, u

selects one of its neighbors based on a weighted ran-dom function. According to this function shown inEq. 8, each of u’s neighbors having greater weight hasmore chance to be selected by u. Equation (9) indicateshow the weight of 2 PNu, shown by wv, is calculated.

In the second step, the sender side scheduler decideshow to send requested frames to the selected neighbor(Table 8). Since video frames in a GOP have differentpriorities, we used priority based algorithm for this step.According to this algorithm, requested frames type Iwill be sent before requested frames type P and B. Inaddition, requested frames type P will be sent beforerequested frames type B when there is no requestedframes type I.

selectedNeigbor ¼ weightedRandomFunction PNuð Þ ð8Þ

wv ¼ PCAv;mþ1;u;Pq2PNu

PCAq;mþ1;uð9Þ

As a result, the peers contributing more will have morechance to receive more frames types P and B in addition to

Table 7 Tracker finds peersacting the MonitoringRole whenl leaves the network

Monitoring Peer Update Algorithm

1. Begin

2. for each u 2 MdPl do

3. find the corresponding row in the Tracker table;

4. update the MPu – randomly find peer q as a substitute for l;

5. send PDu,m+1,l, Du,m,l, PUu,m+1,l, Uu,m,l to q;

6. end for;

7. end;

Fig. 5 in most P2P streamingprotocols, the queue in which ukeeps its neighbors’ videorequests is FIFO

266 Peer-to-Peer Netw. Appl. (2012) 5:257–278

frames type I which will cause better video quality. In otherwords, the peers contributing less will have less chance to beselected by serving peers; accordingly, the time which isallocated to them will be limited. So, serving peer cannotsend all video chunks requested by peers which contributedless during this short time period.2) Incentivized Request Admission (IRA):

Assuming μ as a serving peer, other incentivechanges could be applied to μ’s scheduler. As men-tioned in previous subsection, all frame requests sent

toward μ are kept in different queues. In fact, μ allo-cates a memory space to its neighbors’ video requests. μcan allocate this space to its neighbors in an incentiveway. In fact, instead of dividing this memory spacebetween its neighbors equally, μ can allocate this spaceto its neighbors according to its neighbors’ contribution.So, those neighbors contributing more can send morerequests to μ than other neighbors contributing less. Asa result, peers contributing more are provided with morevideo frames.

Fig. 6 The queue which u keeps its neighbors’ video requests is incentivized

Table 8 The proposed senderside scheduler- second step Sender Side Scheduler Algorithm

1. Begin

2. While round is not finished

3. If no frame is being sent then

4. If the selected neighbor’s I-frameQueue is not empty then

5. Pop a request from queue and send corresponding video frame;

6. end if;

7. else If the selected neighbor’s P-frameQueue is not empty then

8. Pop a request from queue and send corresponding video frame

9. end else if;

10. else If the selected neighbor’s B-frameQueue is not empty then

11. Pop a request from queue and send corresponding video frame

12. end else if;

13. end else if;

14. end if;

15. end;

Peer-to-Peer Netw. Appl. (2012) 5:257–278 267

5 Evaluation, simulation and results

We simulated the proposed approach by OMNET++, adiscrete event network simulator. For this purpose, we sim-ulated CoolStreaming [13] as a mesh based P2P streamingsystem and applied our proposed incentive mechanism. Thesimulated P2P network includes 500 peers constructing theP2P network before video streaming into the network; andbandwidths of the peers were randomly set between 180 Kb/s and 900 Kb/s. We implemented receiver side schedulingalgorithm as CoolStreaming (rarest first) and applied ourproposed sender side scheduling. Peers can make connec-tion up to 10 peers. For video traffic, we used a trace file of aMPEG-4 30-min long video encoded with average rateequal to 180 kbps, GOP structure IBBPBBPBBPBB and25 frames per second [37]. We defined three types of peersin the network; peers type one which contribute nothing,peers type two which contribute less than 200 kb/s (the rateof the video stream) and peers type three which contributemore than 200 kb/s in the network. Peers type one, type twoand type three include 20%, 30% and 50% of the wholepeers in the network, respectively. In other words, 20% ofthe peers are free riders.

5.1 Evaluating measurement of peer’s contribution

In this section we provide a comparison between our pro-posed scheme and some related works. For this purpose, wehave taken the following assumptions:

PNuj j � k and MPuj j � k � :– As mentioned before, current reputation based approaches

are applicable to P2P file sharing networks. We can con-sider Contribution intervals for these approaches in orderto adapt them to P2P video streaming networks. In otherwords, we suppose that the peers’ contributions in theseapproaches are measured at the end of each Contributioninterval.

In addition, the following criteria are considered in orderto compare different approaches:

Dependency on network structure (yes/no): DHT basedand hierarchical approaches are applicable to structuredand hierarchical P2P network respectively.Vulnerability to peer churn (yes/no): This criterionevaluates approaches based on their resistance to peerchurn. In central based approaches, if the central nodeleaves the network, all information about peers’ contri-bution will be lost. This scenario also happens in hier-archical approaches; if the super node leaves the

network, contribution information related to the groupwill be lost.Computation locality (local/global): This criterion indi-cates whether a peer’s contribution in the network iscomputed locally or globally. Apparently, reciprocitybased approaches are local; while, reputation basedapproaches are global.Scalability: This touchstone states whether an incentivemechanism is usable when there are a lot of peers in theP2P network simultaneously. Obviously, central nodeapproaches are not scalable since central node has alimited upload and download bandwidth. Furthermore,because of huge amount of transferred data in Eigen-Trust approaches, they are not also scalable.Network overhead (messages/second): The number ofall messages distributed in the network during eachsecond. One message crated by v includes some infor-mation about u’s contribution in the network during lastContribution interval. We have calculated networkoverhead for different approaches as follows:

In reciprocity based approaches such as Tit-for-Tat, theimposed overhead on the network is constant, becausepeers’ contribution is calculated locally. Thus, no contribu-tion massage passing is required to make peers aware oftheir neighbors’ contributions in the network.

In central based reputation approaches, every peer suchas v sends the amount of data uploaded/downloaded to/fromeach of its neighbors to the central node at the end of eachContribution interval. As a result, n×k messages are senttoward the central node. Moreover, at the beginning of eachContribution interval, peers should become aware of theirneighbors’ contribution. So, peers will fetch their neighbors’contribution from the central server. Therefore, n×k mes-sages would be propagated toward peers. Consequently, theoverhead of 2×n×k messages would be imposed on thenetwork during one Contribution interval.

Let k** represents the number of a bankSet members inDHT based approaches. At the end of each Contributioninterval, peer v computes the amount of data uploaded/downloaded to/from each of its neighbors such as u. Thenv will send all members of u’s bankSet the contributionamount of u. Consequently, the overhead of n×k×k** mes-sages is imposed on the network. Moreover, at the begin-ning of each Contribution interval, peers will receive somemessages from bankSet members which causes the over-head of n×k×k** messages on the P2P network. So, thisapproach produces 2×n×k×k** messages during one Con-tribution interval.

In EigenTrust like approaches, each peer is aware ofother peers’ contribution in the network. Indeed, at the endof each Contribution interval, each peer sends all peers inthe whole network its neighbors’ contributions. Therefore,

268 Peer-to-Peer Netw. Appl. (2012) 5:257–278

overhead of n×n×k messages is imposed on the networkduring each Contributing interval. Because of this heavyoverhead on the network, this approach is not scalable.

In hierarchical approaches, v will send its neighbors’contribution to q at the end of each Contribution interval ifq is the super node of a group which v belongs to. Thisnumber of messages will be distributed in the network at thebeginning of each Contribution interval too. Thus, this ap-proach distributes 2×n×k messages in the network for everyContribution interval.

Table 9 compares different approaches with our proposedscheme. As we described the proposed approach for the firststep of incentive mechanism, peer v announces contributionamount of its all neighbors to its neighbors’ monitoring-PeersList at the end of each Contribution interval. So, theoverhead of n×k×k* messages will be imposed on the net-work. In addition, the overhead of n×k×k* messages will beimposed on the network in order to inform peers of theirneighbors’ predicted contribution during next Contributioninterval. So, the proposed approach distributes 2×n×k×k*messages during one Contribution interval.

As we know k≪n and k*≪n; so, the imposed overhead onthe network in the proposed approach does not differ fromother ones drastically – except for EigenTrust likeapproaches which impose a heavy overhead on the network.On the other hand, we need an unstructured and nonhierar-chical approach based on our assumed network; our pro-posed approach meets these requirements. Contrary tocentral node based or hierarchical approaches which arevulnerable to peer churn, our proposal is resistant to thisdisaster. Furthermore, the proposed approach is scalablebecause of not using central node and not propagating heavyoverhead on the network like what exists in EigenTrustapproach. Accordingly, the approach we proposed not onlyhas the advantages of other approaches but also eliminatesother approaches’ weaknesses and is compatible with ourassumed P2P streaming network.

5.2 Peers contribution into the network

As we explained the proposed approach for calculation andmaintenance of peers’ contribution in Section 4, two

parameters α and T play important roles in the network. Inthe following, we study the effects of these parameters.

5.2.1 Effect of α

Firstly, we investigated the effect of α on the service whichany peer μ recieves. For this purpose, we suppose peer uwhich has contributed well before 30th second, has stoppeduploading to its neighbors for 10 s. Figure 7 shows the effectof α on the service which u will receive after refusing toserve to its neighbors. According to Eqs. (3) and (4), pa-rameter α determines whether u’s contribution during mostrecent Contribution interval is more important than u’s con-tribution during previous Contribution intervals or viceversa. If α equates to 1, u’ contribution during most recentContribution interval will directly affect u’ predicted contri-bution during next Contribution interval. So, u will receiveno video frames during next Contribution interval. On theother hand, if α equates to 0, u’s contribution during previ-ous Contribution intervals affect directly u’ predicted con-tribution during next Contribution interval. As a result, peeru will receive good video quality during next Contributioninterval. However, because u’s contribution during mostrecent Contribution interval is not effective, u will not finditself responsible to upload video frames to its neighbors. Inorder to make both u’s contribution during most recentContribution interval and u’s contribution during previousContribution intervals effective, we have set α to 0.5.

Table 9 Comparing different approaches used in first step of an incentive mechanism

Proposed approach DHT based Hierarchical tit-for-tat EigenTrust Central based ApproachCriterion

O n�k�k�T

� �O n�k�k��

T

� �O n�k

T

� �constant O n�n�k

T

� �O n�k

T

� �network overhead(messages/sec)

global global global local global global computation locality

no yes yes no no no dependency on network structure

yes yes yes yes no no scalability

no no yes no no yes vulnerability to peer churn

0

100

200

300

400

500

600

700

1 11 21 31 41 51 61 71

Dow

nloa

d bi

trat

e(K

bps)

Time (second)

α = 1 α = 0.5 α = 0

Fig. 7 Effect of α on the service which u receives

Peer-to-Peer Netw. Appl. (2012) 5:257–278 269

5.2.2 Effect of T

Parameter T which demonstrates the period of each Contri-bution Interval has effect on the imposed overhead on thenetwork. If peers send their neighbors’ contribution to theirmonitoringPeersList when T05s, the imposed overhead onthe network is more than when T010s. However, a largeamount of T prevents peers from becoming aware of theirneighbors’ recent contribution during short period of time.Figure 8 shows the effect of T on the imposed overhead onthe network for different number of peers in the network.Obviously, the overhead on the network will increase if thenumber of peers increase and the amount of T decreases.

Figures 9 and 10 show the effect of T on the service whichpeers type three and two have received. As shown in thesefigures, the amount of T doesn’t affect the service received bypeers when peers don’t change their policy regarding howmuch contribution they have in every Contribution interval (e.g. peers type three contribute more than 200 Kb/s in everyContribution interval). It seems that large amounts of Twouldbe more rational according the result of Figs. 8, 9 and 10.

However, what happens if peers change their policy regard-ing how much they have contributed in every Contributioninterval. We consider two different scenarios; the length ofContribution interval is assumed T and μT in the first(Fig. 11) and second scenarios (Fig. 12) respectively.Moreover,we suppose that peer u contributed λ bytes during T seconds.Suppose l 2 MPu, predicted contribution of u for Contributionintervals 1, 2, 3 and n in the first scenario is calculated usingEqs. (10) through (14). Equation (14) indicates that u’s pre-dicted contribution in the n’s Contribution interval is λ. Asindicated by Eq. (15), u’s predicted contribution in the m’sContribution interval (n0μ.m) is μ.λ for the second scenario.

PUu;0;l ¼ 0 ð10Þ

PUu;1;l ¼ a:lþ 1� að Þ:0 ¼ a:l ð11Þ

PUu;2;l ¼ a:lþ 1� að Þ:a:l ¼ a:lð Þ 1þ 1� að Þð Þ ð12Þ

PUu;3;l ¼ a:lþ a:lð Þ 1� að Þ 1þ 1� að Þð Þ

¼ a:lð Þ 1þ 1� að Þ þ 1� að Þ2� �

ð13Þ

PUu;n;l ¼ a:lþ 1� að Þ:PUu;n�1;l

¼ a:lð Þ 1þ 1� að Þ þ . . .þ 1� að Þn�1� �

ffi a:lð Þ 1

1� 1� að Þ ¼ l ð14Þ

PUu;m;l ¼ μ:a:lþ 1� að Þ:PUu;m�1;l

ffi μ:a:lð Þ 1

1� 1� að Þ ¼ μ:l ð15Þ

We suppose that u doesn’t contribute anything in the nth

Contribution interval in the first scenario. But, u will con-tinue to contribute into the network in the (n+1)th

25

15

5

020406080

100

120

140

100 200 300 400 500 600 700

T

Ove

rhea

d on

the

netw

ork

(β c

ontr

ibut

ion

mes

sage

s du

ring

T s

econ

ds)

Number of peers

0-20 20-40 40-60 60-80 80-100 100-120 120-140

Fig. 8 Effect of number of peers and amount of T on the network (β 0n×k×k*)

0

10

20

30

40

50

60

70

80

90

100

20 15 10 5

Perc

enta

ge o

f re

ceiv

ed f

ram

es (

%)

T

I-frames P-frames B-frames

Fig. 9 Effect of T on the received frames of peers type three

0102030405060708090

100

20 15 10 5

Perc

enta

e of

rec

eive

d fr

ames

(%

)

T

I-frames P-frames B-frames

Fig. 10 Effect of T on the received frames of peers type two

270 Peer-to-Peer Netw. Appl. (2012) 5:257–278

Contribution interval(Fig. 11). The similar situation in sce-nario two occurs when u contributes (μ-1)λ bytes during themth Contribution interval (Fig. 12). Predicted contribution ofu for the first scenario between (n+1)th and (n+μ-1)th Con-tribution intervals are calculated through Eqs. (16), (17),(18) and (19). PUu;nþμ�1;l in Eq. (19) is an ascendantfunction and its limit when μ goes to a large value is λ(Eq. 20). So PUu;nþx;l is between 1� að Þ:l and l (Eq. (21)).

PUu;nþ1;l ¼ a:Uu;n;l þ 1� að Þ:PUu;n;l

¼ a:0þ 1� að Þ:PUu;n;l ¼ 1� að Þ:l ð16Þ

PUu;nþ2;l ¼ a:Uu;nþ1;l þ 1� að Þ:PUu;nþ1;l

¼ a:lþ 1� að Þ2:l ð17Þ

PUu;nþ3;l ¼ a:Uu;nþ2;l þ 1� að Þ:PUu;nþ2;l

¼ a:lþ 1� að Þða:lþ ð1� aÞ2:lÞ¼ l:a 1þ 1� að Þð Þ þ l:ð1� aÞ3

ð18Þ

PUu;nþμ�1;l ¼ l:a:

1þ 1� að Þ þ 1� að Þ2 þ 1� að Þ3 þ . . .þ 1� að Þnþμ�3� �

þ l:ð1� aÞnþμ�1

ð19Þ

limμ!1;a¼0:5

PUu;nþμ�1;l ¼ l ð20Þ

8x 2 N and x 2 1;μ� 1ð Þ : 1� að Þ:l < PUu;nþx;l < l ð21Þ

Now, suppose v has (k+1) neighbors; considering u asone of v’s neighbors and assume that other v’s neighborscontribute λ bytes during each T seconds; according to Eq.(9), u will have the probability shown in Eq. (22) to beselected by v for the first scenario.

8x 2 N and x 2 1;μ� 1ð Þ : 1� að Þ:l1� að Þ:lþ k:l

<PUu;nþx;l

PUu;nþx;l þ k:l<

llþ k:l

ð22Þ

So, the maximum probability that u has in scenario one tobe selected by v after withdrawing from contribution into thenetwork is 1=ðk þ 1Þ . While u’s probability in the secondscenario is 1=ðk þ 1Þ at the same time. Consequently u has alower chance to be selected by v in the first scenario com-pared to the second scenario. This indicates that by assign-ing less value to T, network reacts more quickly to changesin peers’ policy. In fact, if we assign less value to T, u whichhas stopped its contribution into the network for a short timewill be served worse than a situation in which larger value isassigned to T. On the other hand, when large value isassigned to T, u will have the probability similar to otherv’s nighters to be selected by v during (m+1)th contributioninterval(Eqs. (23) and (24)). Indeed, Eq. (24) shows that byassigning large value to T, free riders can be served wellthrough continually changing their policy on how to con-tribute into the network.

PUu;mþ1;l ¼ a:Uu;m;l þ 1� að Þ:PUu;m;l

¼ a: μ� 1ð Þ:lþ 1� að Þ:μ:l ¼ l: μ� að Þ ð23Þ

λ: Contribution amount 0 λ …. λ

T: length of Contribution intervalnth contribution interval (n+µ-1)th contribution interval

Fig. 11 Contribution intervals are T seconds in length (first scenario)

µ.λ: Contribution amount

µ.T: length of Contribution interval

(µ-1).λ

m th contribution interval (m +1)th contribution interval

Fig. 12 Contribution intervals are μ.T seconds in length (second scenario)

Peer-to-Peer Netw. Appl. (2012) 5:257–278 271

limμ!1

PUu;kþ1;l

PUu;kþ1;l þ k:μ:l¼ lim

μ!1l: μ� að Þ

l: μ� að Þ þ k:μ:l¼ 1

1þ kð24Þ

Consequently, if we assign high values to T, the overheadon the network will reduce (Fig. 8); on the other hand, byassigning less value to T, network can react quicker tochanges in peers’ policy. So, a tradeoff between high valuesand low values for parameter T should be made. Since peersdon’t change their contribution policies in our simulations,we supposed T010.

5.3 Comparison between the proposed approachand other approaches

In this subsection, the proposed incentive mechanisms in-cluding IRA, ISSS and IRA+ISSS are compared with Bit-Torrent like approaches which use Tit-for-Tat strategy forapplying incentive mechanism, and the situation in whichthere is no incentive mechanism.

Figures 13, 14 and 15 indicate how many frames werereceived by three types of peers when different approaches

were applied to the network. When there was no incentivemechanism, peers type three received 60% of threetypes of frames (I, P and B); this means that 40% ofthe frames were not received by peers type three whichaffects the video quality severely (Fig. 13). Moreover,the percentage of frames which peers type two and typeone received is similar to the percentage of framesreceived by peers type three when there is no incentivemechanism (Figs. 14 and 15).

BitTorrent like approaches have applied incentivesomehow. Peers type three received 70% of all frames(Fig. 13); in addition, pees type one and two receivedless percentage of frames rather than a situation inwhich there was no incentive mechanism (Figs. 14 and15). However, peers type three which contributed moreinto the network have lost 30% of frames type I, P andB. In fact, contrary to the result given by BitTorrentlike approaches, peers type three should be able toreceive higher percentage of frames because of theircontribution into the network. The proposed approach

0102030405060708090

100

no incentive BitTorrent IRA ISSS IRA + ISSS

Perc

enta

ge (

%)

Different approaches

I-frames P-frames B-frames

Fig. 13 The percentage of received frames by peers type three whendifferent incentive approaches were applied

0

10

20

30

40

50

60

70

80

90

100

no incentive BitTorrent IRA ISSS IRA + ISSS

Perc

enta

ge (

%)

Different approaches

I-frames P-frames B-frames

Fig. 14 The percentage of received frames by peers type two whendifferent incentive approaches were applied

0

10

20

30

40

50

60

70

80

90

100

no incentive BitTorrent IRA ISSS IRA + ISSS

Perc

enta

ge (

%)

Different approaches

I-frames P-frames B-frames

Fig. 15 The percentage of received frames by peers type one whendifferent incentive approaches were applied

0102030405060708090

100

3 5 7 9 11 13 15

Perc

enta

ge o

f re

ceiv

ed I

fra

mes

(%

)

Playback delay (second)

Peers type 1 - No Incentive Peers type 2 - No Incentive Peers type 3 - No Incentive

Peers type 2 - BitTorrent Peers type 3 - BitTorrent Peers type 2 - ISSS + IRA

Peers type 3 - ISSS + IRA

Fig. 16 Affect of playback delay on frames type I which differenttypes of peers receive

272 Peer-to-Peer Netw. Appl. (2012) 5:257–278

called IRA couldn’t also make a bigger difference com-pared to BitTorrent like approaches.

When ISSS was applied to the network, peers type threereceived more than 90% of frames type I (Fig. 13). Sincemore GOPs are decodable through receiving more framestype I, peers type three have received 90% of GOPs of thevideo stream. However, the percentage of frames type Breceived by peers type three when ISSS is applied is lessthan a situation in which BitTorrent like approaches areapplied to the network; indeed the priority based algorithmin Table 8 caused this difference.

Combination of ISSS and IRA improved the incentiveapplied into the network. In fact, not only peers type threehave received more frames type I, but also more frames typeP and B have been received by these peers. The reason isthat IRA has incentivized the number of requests whichwere replied by peers. Since peers type three contributedmore than other peers, more request of these peers havebeen replied; so, peers type three have received moreframes.

Despite an increase in the percentage of received frameswhen ISSS, IRA and ISSS+IRA approaches are appliedcompared to no incentive and BitTorrent approaches, peerstype two have received less percentage of frames than peerstype three. Obviously, the goal of incentive mechanism is tofairly distribute frames among peers; the peers contributingmore should be able to receive higher video quality throughreceiving more frames in each GOP rather than peers con-tributing less.

5.4 Effect of playback delay

In this section, we analyzed the effect of playback delay onthe video which peers receive. As shown in Figs. 16, 17 and18, when playback delay increases the percentage of re-ceived I, P and B frames increase too. In these figures, Forevery playback delay, peers type three have received higherpercentage of I, P and B frames rather than other two type ofpeers through applying ISSS+ IRA and BitTorrentapproaches.

0

10

20

30

40

50

60

70

80

90

100

3 5 7 9 11 13 15

Perc

enta

ge o

f re

ceiv

ed P

fra

mes

(%

)

Playback delay (second)

Peers type 1 - No Incentive Peers type 2 - No Incentive Peers type 3 - No Incentive

Peers type 2 - BitTorrent Peers type 3 - BitTorrent Peers type 2 - ISSS + IRA

Peers type 3 - ISSS + IRA

Fig. 17 Affect of playback delay on frames type P which differenttypes of peers receive

0102030405060708090

100

3 5 7 9 11 13 15

Perc

enta

ge o

f re

ceiv

ed B

fra

mes

(%)

playback delay (second)

Peers type 1 - No Incentive Peers type 2 - No Incentive Peers type 2 - BitTorrent

Peers type 2 - BitTorrent Peers type 3 - BitTorrent Peers type 2 - ISSS + IRA

Peers type 3 - ISSS + IRA

Fig. 18 Affect of playback delay on frames type B which differenttypes of peers receive

0102030405060708090

100

3 5 7 9 11 13 15Perc

enta

ge o

f re

ceiv

ed I

fra

mes

(%)

palyback delay (second)

peer type 3, ISSS + IRA peer type 2, ISSS + IRA

peer type 3, BitTorrent peer type 2, BitTorrent

Fig. 19 Percentage of received I frames in the proposed approachincreases by higher rate compared to BitTorrent approach

0102030405060708090

100

3 5 7 9 11 13 15

Perc

enta

ge o

f re

ceiv

ed P

fra

mes

(%)

Playback delay (second)

peer type 3, ISSS + IRA peer type 2, ISSS + IRA

peer type 3, BitTorrent peer type 2, BitTorrent

Fig. 20 Percentage of received P frames in the proposed approachincreases by higher rate compared to BitTorrent approach

Peer-to-Peer Netw. Appl. (2012) 5:257–278 273

However, there is interesting difference between the pro-posed approach and BitTorrent. When the playback delayincreases from 3 s to 15 s, the percentage of received framesfor peers type three and two increase by higher rate in theproposed approach. For example, in Fig. 19, the number ofreceived I frames by peers type three increased by 20%when the proposed approach in applied; however, this in-crease is limited to 12% when BitTorrent is applied. On theother hand, number of received I frames by peers type twoincreased by 40% when the proposed approach is applied,while this increase is only 25% when BitTorrent approach isapplied. As shown in Fig. 20, this fact also happens to Pframes; the reason of these different increase rates is use ofalgorithm in Table 8. However, as shown in Fig. 21, thisstory is different for frames type B since these frames haveless priority than other two types of frames as describe inTable 9. By applying algorithm in Table 8, peers can receivehigher percentage of I and P frames; so peers can decode

more GOPs. When more GOPs are decoded, the user cansee more contiguous video; furthermore, more frames type Pand B affect the decoded GOPs.

5.5 Scalability analysis

To evaluate the scalability of the proposed approach, weran the program some times; each time different numberof peers joined into the network. Figures 22, 23 and 24indicate that percentage of received I, P and B frameswhen the proposed approach is applied is always higherregardless of change in the number of existing peers inthe network.

5.6 Analyzing peer churn

To analyze the proposed approach against churn vulnerabil-ity, we used a churn generator implemented in Oversim

0

10

20

30

40

50

60

70

80

90

3 5 7 9 11 13 15

Perc

enta

ge o

f re

ceiv

ed B

fra

mes

(%)

Playback delay (second)

peer type 3, ISSS + IRA peer type 2, ISSS + IRA

peer type 3, BitTorrent peer type 2, BitTorrent

Fig. 21 B frames have the lowest priority in the proposed approach; sothe increase rate of B frames is lower than other two types of frames.However, percentage of received B frames in the proposed approach isalways higher than BitTorrent approach

0102030405060708090

100

100 300 500 700 900 1100

Perc

enta

ge o

f re

ceiv

ed I

fra

mes

(%

)

Network size

ISSS + IRA - Peers type two ISSS + IRA - Peers type three

BitTorrent - Peers type two BitTorrent - Peers type Three

No incentive - Peers type two No incentive - Peers type Three

No incentive - Peers type one

Fig. 22 Effect of increase in the number of peers on received I frames

0102030405060708090

100

100 300 500 700 900 1100Perc

enta

ge o

f re

ceiv

ed P

fra

mes

(%

)

Network size

ISSS + IRA - Peers type two ISSS + IRA - Peers type three

BitTorrent - Peers type two BitTorrent - Peers type Three

No incentive - Peers type two No incentive - Peers type Three

No incentive - Peers type one

Fig. 23 Effect of increase in the number of peers on received P frames

0

10

20

30

40

50

60

70

80

90

100

100 300 500 700 900 1100

Perc

enta

ge o

f re

ceiv

ed B

fra

mes

(%

)

Network size

ISSS + IRA - Peers type two ISSS + IRA - Peers type three

BitTorrent - Peers type two BitTorrent - Peers type Three

No incentive - Peers type two No incentive - Peers type Three

No incentive - Peers type one

Fig. 24 Effect of increase in the number of peers on received B frames

274 Peer-to-Peer Netw. Appl. (2012) 5:257–278

[41]; this churn generator which is called LifetimeChurnincludes two parameters:

– lifetimeMean: The mean lifetime of a peer.– lifetimeDistName: The function used for drawing the

lifetimes.

According to this churn generator, on creation of apeer, his lifetime will be drawn randomly from a givenprobability function. When this time is reached, thenode is removed. Then, a new node will be created;we assumed that the newly created peer’s type is astype of the peer who has just left the network. Inaddition, we supposed that the function of lifetimeDist-Name is an exponential distribution function whichMean is 5 min. We ran the simulation when the churngenerator is active/inactive; Figs. 25 and 26 show theresult of these simulations. As shown in Fig. 25, theaverage number of received I, P and B frames for peerstype three when churn generator is active is similar tothe situation in which churn generator is inactive; thisfact also happens to peers type two (Fig. 26). To indi-cate this similarity more clearly, average number ofreceived I, P and B frames for peers type two and threethroughout the whole session (30 min-long videostream) is shown in Fig. 27.

5.7 Effect of increase in the number of free riders

In this subsection, the effect of increase in the number offree riders is indicated on BitTorrent like approaches, noincentive mechanism and the proposed ISSS+IRA approachthrough Figs. 28, 29 and 30 respectively. The networkincludes contributors and free riders. As shown in Fig. 28,when the number of free riders in the network increased,more frames types I, P and B were lost in BitTorrent and noincentive mechanism approaches rather than ISSS+IRAapproach. In addition, since frames type I have more prioritythan other types of frames, the percentage of lost framestype I is less than the percentage of lost frames type P and B(Figs. 28, 29 and 30). As mentioned before, more GOPs aredecodable when more frames type I are available. Whenmore GOPs are decoded, the user can see more contiguousvideo; furthermore, more frames type P and B affect thedecoded GOPs.

5.8 Affect of IRA on ISSS

The effect of IRA on ISSS is evaluated in this subsection.Since peers type one are not served by serving peers, IRA

0

5

10

15

20

25

30

35

40

5 55 105

155

205

255

305

355

405

455

505

555

605

655

705

755

805

855

905

955

1005

1055

1105

1155

1205

1255

1305

1355

1405

1455

Ave

rage

num

ber

of r

ecei

ved

fram

es f

ora

peer

type

thre

e pe

r se

cond

Time (second)

I frames - churn generator:inactive I frames - churn generator:active

P frames - churn generator:inactive P frames - churn generator:active

B frames - churn generator:inactive B frames - churn generator:active

Fig. 25 Average number of received frames for a peer type three

05

101520253035

5 55 105

155

205

255

305

355

405

455

505

555

605

655

705

755

805

855

905

955

1005

1055

1105

1155

1205

1255

1305

1355

1405

1455

Ave

rage

num

ber

of r

ecei

ved

fram

es f

ora

peer

type

two

per

seco

nd

Time(second)

I frames - churn generator:inactive I frames - churn generator:active

P frames - churn generator:inactive P frames - churn generator:active

B frames - churn generator:inactive B frames - churn generator:active

Fig. 26 Average number of received frames for a peer type two

0

2

4

6

8

10

12

14

16

I frame P frame B frame I frame P frame B frame

Ava

rage

num

ber

of r

ecei

ved

fram

es f

or p

er s

econ

d

peers type three peers type two

churn generator: inactive churn generator: active

Fig. 27 Average number of received frames for a 30 min-long videostream

0102030405060708090

100

0 10 20 30 40Perc

enta

ge o

f re

ceiv

ed I

fra

mes

(%

)

Free riding percentage(%)

BitTorrent No incentive ISSS + IRA

Fig. 28 The effect of increase in the number of free riders on receivedframes type I

Peer-to-Peer Netw. Appl. (2012) 5:257–278 275

does not have any effect on ISSS; so, IRA+ISS for peerstype one is not shown in Figs. 31 and 32. Figure 31 dem-onstrates the cumulative distribution of the number of re-ceived frames in a GOP for three types of peers with andwithout applying IRA. First we explain the effect of ISSS;afterward we describe the effect of IRA on ISSS. The effectof ISSS is shown by not-dashed curves in Fig. 31. Peers typeone have received no frames in a GOP. Furthermore, peerstype two received less than 7 frames for over 60% of theGOPs; this lack of frames affects seriously the quality ofreceived video. Nevertheless, we can see that peers typethree received more than 10 frames for 80% of the GOPs.Figure 31 proves that peers type three which contributedmore in the network received higher video quality throughreceiving more frames for each GOP.

On the other hand, the effect of IRA on ISSS isshown by dashed curves in Fig. 31. As shown in thisFigure, without applying IRA, peers type three receivedless than 11 frames for 40% of the GOPs; but, afterapplying IRA, peers type three received less than 11frames for 30% of the GOPs. In fact, applying IRA toISSS helps peers type three to receive more frames foreach GOP. Figure 32 which demonstrates the average

number of received frames for each GOP with andwithout applying IRA, acknowledges results of Fig. 31.

6 Conclusion

In this paper, we deal with the problem of preventingrational users from free riding in the context of P2P videostreaming networks. We have shown that prevalence of freeriders in a P2P system seriously affects the performance ofthe network. This paper introduces a distributed incentivemechanism which measures and keeps the peers’ contribu-tion amounts in a distributed fashion. In addition, we ap-plied the proposed differentiated serving mechanism on thesending side scheduler which supports peers contributingmore with higher video quality. Our simulation analysisshows that by applying the proposed incentive mechanismcalled ISSS+IRA, the effect of presence of free riders on thequality of video perceived in the network is decreasedconsiderably.

0102030405060708090

100

0 10 20 30 40Perc

enta

geof

rec

eive

d P

fram

es (

%)

Free riding percentage(%)

BitTorrent No incentive No incentive

Fig. 29 The effect of increase in the number of free riders on receivedframes type P

0102030405060708090

100

0 10 20 30 40Perc

enta

ge o

f re

ceiv

ed B

fra

mes

(%

)

Free riding percentage(%)

BitTorrent No incentive ISSS + IRA

Fig. 30 The effect of increase in the number of free riders on receivedframes type B

0102030405060708090

100

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

Perc

enta

ge(%

)

Average number of received frames in each GOP

peers type 2 - ISSS peers type 2 - ISSS + IRA

peers type 3 - ISSS peers type 3 - ISSS + IRA

peers type 1 - ISSS

Fig. 31 Cumulative distribution of number of received frames in aGOP for all peers during the simulation period with and withoutapplying IRA

0123456789

101112

1 51 101 151 201 251 301 351 401 451 501 551 601

Ave

rage

num

ber

of r

ecei

ved

fram

es in

eac

h G

OP

GOP number( 50)

peers type 2 - ISSS peers type 3 - ISSS

peers type 2 - ISSS + IRA peers type 3 - ISSS + IRA

peers type 1 - ISSS

Fig. 32 Average number of received frames for each GOP with andwithout applying IRA

276 Peer-to-Peer Netw. Appl. (2012) 5:257–278

References

1. Deering SE, Cheriton DR (1990) Multicast routing in datagraminternetworks and extended LANs. ACM Trans Comput Syst(TOCS) 8:85–110

2. Perlman R (2004) “Models for IP multicast”, Proceedings of 12thIEEE International Conference on Networks (ICON 2004), pp.678–682

3. Chu Yang-hua, Rao S, Seshan S, Zhang Hui (2002) A casefor end system multicast. IEEE J Sel Area Comm 20(8):1456–1471

4. Banerjee S, Bhattacharjee B, Kommareddy C (2002) “Scalableapplication layer multicast”, Proceedings of ASM SIGCOM

5. Banerjee S, Lee S, Bhattacharjee B, Srinivasan A (2003) “Resilientmulticast using overlays”, Proceedings of ACM SIGMETRICS,pp. 102–113

6. Eugster PT, Guerraoui R, Kermarrec AM, Massoulié L (2004)From epidemics to distributed computing. IEEE Comput 37(5):60–67

7. Liu Z, Wu C, Li B, Zhao S (2010) “UUSee: large-scale operationalon-demand streaming with random network coding”, Proceedingsof the 30th IEEE Conference on Computer Communications(INFOCOM’10), San Diego, California

8. PPStream website, http://www.ppstream.com9. PPLive website, http://www.pplive.com

10. Jannotti J, Gifford DK, Johnson KL, Kaashoek MF, O'Toole JW,Jr, Frans M, James K (2000) “Overcast: reliable multicasting withan overlay network”, Proceedings of Operating System Design andImplementation

11. Castro M, Druschel P, Kermarrec A, Nandi A, Rowstron A,Singh A (2003) “SplitStream: high-bandwidth multicast incooperative environments”, Proceedings of the 19th ACMSymposium on Operating Systems Principles (SSOP 2003),pp. 298–313

12. Padmanabhan V, Wang H, Chou P (2003) “Resilient peer-to-peerstreaming”, Proceedings of the 11th IEEE International Confer-ence on Network Protocols, pp. 16–27

13. Xinyan Zhang, Jiangchuan Liu, Bo Li, Yum Y (2005) “Cool-Streaming/DONet: a data-driven overlay network for peer-to-peerlive media streaming,” Proceedings of IEEE INFOCOM 2005, pp.2102–2111

14. Liang J, Yu B, Yang Z, Nahrstedt K (2006) “A framework forfuture Internet-based TV broadcasting”, Proceedings of IPTVWorkshop, International World Wide Web Conference

15. Liao X, Jin H, Liu Y, Ni LM, Deng D (2006) “AnySee: peer-to-peer live streaming,” Proceedings of IEEE INFOCOM2006

16. Hughes D, Coulson G, Walkerdine J (2005) “Free riding on Gnu-tella revisited: the bell tolls?,” Proceedings of IEEE DistributedSystems

17. Anceaume E, Gradinariu M, Ravoaja A (2005) “Incentivesfor P2P fair resource sharing,” Proceeding of Fifth IEEEInternational Conference on Peer-to-Peer Computing, pp.253–260

18. Yeung M, Yu-Kwong Kwok (2008) “Game theoretic peer selectionfor resilient peer-to-peer media streaming systems,” Proceedings ofthe 28th International Conference on Distributed Computing Sys-tems (ICDCS '08), pp. 817–824

19. Buragohain C, Agrawal D, Suri S (2003) “A game theoreticframework for incentives in P2P systems,” Proceedings of theThird International Conference on Peer-to-Peer Computing (P2P2003), pp. 48–56

20. Vishnumurthy V, Chandrakumar S, Sirer EG (2003) “Karma: asecure economic framework for peer-to-peer resource sharing,”Proceedings of Workshop on Economics of Peer-to-PeerSystems

21. Zghaibeh M, Harmantzis FC (2007) “An “S-string” scheme forbusiness-oriented peer-to-peer networks,” Proceedings of Elec-tronic Commerce Research, pp. 381–398

22. Qiubo Huang, Shaoyin Huang, Chuanshan Gao (2007) “A differ-entiated service based incentive mechanism in P2P file-sharingsystems,” Proceedings of the International Conference on Networkand Parallel Computing, pp. 419–424

23. Kamvar SD, Schlosser MT, Garcia-molina H (2003) “The eigen-trust algorithm for reputation management in P2P networks,”Proceedings of the 12th International World Wide Web Confer-ence, pp. 640–651

24. Tang Y, Sun L, Zhang M, Yang S, Zhong Y (2006) “A noveldistributed and practical incentive mechanism for peer to peer livevideo streaming,” Proceedings of IEEE International Conferenceon Media and Expo, pp. 1533–1536

25. Karakaya M, Korpeoglu I, Ulusoy Ö (2004) “A distributed andmeasurement-based framework against free riding in peer-to-peernetworks,” Proceedings of IEEE International Conference on Peer-to-Peer Computing, pp. 276–277

26. MyungJoo Ham, Gul Agha (2005) “ARA: a robust audit toprevent free-riding in P2P networks,” Proceedings of the FifthIEEE International Conference on Peer-to-Peer Computing, pp.125–132

27. Glassman S, Manasse M, Abadi M, Gauthier P, Sobalvarro P(1996) “The millicent protocol for inexpensive electronic com-merce,” Proceedings of the Fourth International World Wide WebConference, pp. 603–618

28. Clark T, “Digicash files chapter 11,” http://news.cnet.com/2100-1001-217527.html

29. Sirbu, Marvin, Tyger JD (1995) "NetBill: an internet commercesystem optimized for network delivered services", IEEE PersonalCommunication

30. Bittorrent website, http://www.bittorrent.com31. Yang B, Garcia-molina H (2003) “PPay: micropayments for peer-

to-peer systems,” Proceedings of ACM Conference on Computerand Communications Security, pp. 300–310

32. Vlavianos A, Iliofotou M, Faloutsos M (2006) “BiToS: enhancingBitTorrent for supporting streaming applications,” Proceedings ofIEEE INFOCOM 2006, pp. 1–6

33. Zhengye Liu, Yanming Shen, Panwar S, Ross K, Yao Wang (2007)“P2P video live streaming with MDC: providing incentives forredistribution,” Proceedings of IEEE International Conference onMedia and Expo, pp. 48–51

34. Liu Z, Shen Y, Panwar SS, Ross KW, Wang Y (2007) “Usinglayered video to provide incentives in P2P live streaming.” Pro-ceedings of the 2007 workshop on Peer-to-peer streaming and IP-TV

35. Lin W, Zhao H, Liu K (2009) Incentive cooperation strategies forpeer-to-peer live media streaming social networks. IEEE TransMedia 11(3):396–412

36. Hoong PK, Matsuo H (2008) Push-pull incentive-based P2P livemedia streaming system. WSEAS Trans Comm 7(2):33–42

37. http://www.tkn.tu-berlin.de/research/trace/ltvt.html38. Byun H, Lee M (2009) “HOWTO: a hybrid overlay approach

with tree optimization,” Proceedings of the 2009 WRI WorldCongress on Computer Science and Information Engineering,pp. 311–315

39. Huang Q, Jin H, Liao X (2007) “P2P live streaming withtree-mesh based hybrid overlay,” Proceedings of InternationalConference on Parallel Processing Workshops, (ICPPW 2007),pp. 55–55

40. Wang F, Xiong Y, Liu J (2007) “mtreebone: a hybrid tree/meshoverlay for application-layer live video multicast,” Proceedings ofthe 27th International Conference on on Distributed ComputingSystems

41. http://www.oversim.org/wiki/OverSimChurn

Peer-to-Peer Netw. Appl. (2012) 5:257–278 277

Alireza Montazeri received hisB.S. degree in Computer Engi-neering from Kashan University,Kashan , I r an in 2008 . Heobtained his M.S. degree in Com-puter Engineering from TarbiatModares University, Tehran, Iranin 2011. His research interests areInternet QoS, Peer-to-Peer net-works and Media streaming overInternet.

Behzad Akbari received his B.S., M.S. and PhD degree in Com-puter Engineering from SharifUniversity of Technology, Teh-ran, Iran, in 1999, 2002 and2007, respectively. He joined, asan assistant professor, to depart-ment of Electrical and ComputerEngineering at Tarbiat ModaresUniversity, Tehran, Iran in 2007.His main research interests areInternet QoS, media streamingover the Internet, peer-to-peernetworks, peer-to-peer videostreaming, overlay networks,

wireless video communications and network performance modelingand evaluation.

Mohammed Ghanbari (M’78-SM’97-F’01) received the B.Sc.degree in electrical engineeringfrom Sharif University of Tech-nology, Tehran, Iran, in 1970,and the M.Sc. degree in telecom-munications and Ph.D. degree inelectronics engineering, bothfrom the University of Essex,Colchester, U.K., in 1976 and1979, respectively. He is a Profes-sor with the Department of Elec-tronic Systems Engineering,University of Essex. After work-ing almost ten years in industry,

he started his academic career as a Lecturer, Department of ElectronicSystems Engineering, University of Essex, in 1988, and was promotedto Senior Lecturer, Reader, and then Professor in 1993, 1995, and 1996respectively. His research interests are video compression and videonetworking, and he has published more than 390 papers and registeredfor 11 patents in these fields. He is best known for his pioneering workon two-layer video coding for ATM networks, for which he became aFellow of the IEEE in 2001. Dr. Ghanbari is the co-recipient of 1995 A.H. Reeves premium prize for the year’s best paper published in the IEEProceedings on the theme of digital coding. He is the author of thebook Video Coding: An Introduction to Standard Codecs (London, U.K.: IEE, 1999), which received the IEE year 2000 best book award. Hehas been a member of the organizing committee of several internationalworkshops and conferences. He was the chairman of the steeringcommittee of the 1997 International Workshop on Packet Video andGuest Editor to 1997 IEEE TRANSACTIONS ON CIRCUITS ANDSYSTEMS FOR VIDEO TECHNOLOGY, Special Issue on Multime-dia technology and applications. He has served as Associate Editor toIEEE TRANSACTIONS ON MULTIMEDIA (1998-2004) and repre-sented University of Essex as one of the six U.K. academic partners inthe Virtual Centre of Excellence in Digital Broadcasting and Multime-dia. He is also a Fellow of the Institution of Electrical Engineers (IEE),U.K., and a Charted Engineer (C.Eng) in the U.K.

278 Peer-to-Peer Netw. Appl. (2012) 5:257–278