Do We Need Incentive Mechanisms for Peer-to ... - Semantic Scholar

3 downloads 39535 Views 78KB Size Report
good streaming quality to its users if only a few altruistic users co- ... (CDN) can deliver high quality streaming. ..... Evolution of indirect reciprocity by image.
1

Do We Need Incentive Mechanisms for Peer-to-Peer Media Streaming? Ahsan Habib† John Chuang† Mohamed M. Hefeeda‡ † School of Information Management and Systems ‡ Department of Computer Sciences University of California, Berkeley Purdue University 102 South Hall, Berkeley, CA 94720 West Lafayette, IN 47907 {habib,chuang}@sims.berkeley.edu [email protected]

Abstract—Peer-to-Peer (P2P) streaming can be extremely effective in alleviating the load on popular servers and proxies but only if there is a sufficient level of cooperation among the peers. Hence, the question is: do we need incentive mechanisms for P2P streaming? We quantify the cost of sharing and show that, unlike traditional file sharing systems, a streaming system cannot provide good streaming quality to its users if only a few altruistic users cooperate and everybody else defects. To provide service assurance in P2P media streaming, it is necessary to select streaming sources based on their offered rates, availability, and the network dynamics of the paths from the sources to the receivers. We provide a comparative study among incentive mechanisms for file sharing and media streaming, and show that a percentile-based incentive mechanism provides service differentiation. Using the level of contribution, the mechanism provides a way to compute the percentile of each user among all users to estimate the quality it can receive at any time and how much contribution is necessary to improve the future stream quality. The experimental evaluation shows that the incentive mechanism provides near optimal quality if the network is not heavily congested.

I. I NTRODUCTION A media streaming session allows the playback of media data while the data is being transmitted. Compared with traditional file sharing, a media streaming session has a longer duration and requires a higher throughput. As a result, a media server with fixed capacity may not be able to stream media to a large number of clients. By bringing the server closer to the users (at the edge of a network domain), content distribution network (CDN) can deliver high quality streaming. However, the CDNs have high deployment cost due to their infrastructure requirement. Recently, peer-to-peer (P2P) real-time streaming has been proposed as a highly scalable technology for media distribution. The scalability is achieved by distributing the load of a media server or proxy over a set of peers in the system. A P2P system increases the number of copies of a file as well as the number of suppliers (streaming sources) for any streaming ses-

sion. Thus, a streaming system can have a large number of concurrent sessions only if there is a sufficient level of cooperation among the peers. Hence, the question is: do we need incentive mechanisms for P2P streaming? In a P2P system, it is observed that most of the users do not want to share their resources. Only a few altruistic users act as a supplier for most of the requests. This phenomenon is known as free riding. For example, in Gnutella system only 30% users share their resources to others and most of the requests are served by top 1% hosts [1]. We show that the 1% users cannot provide good streaming quality in a P2P streaming environment. Thus, a proper incentive mechanism is needed to have more than 1% of contributors in a streaming system. An incentive to the contributors is to provide service assurance of their streaming sessions. To provide service assurance, a P2P streaming system requires to select good suppliers. Because the quality of a streaming session depends on the quality of the suppliers, their offered rate, their availability, the available capacity and packet loss rates of the senders to the receiver paths, and the underlying topology. From now on, we refer to this selection process as a quality-aware supplier selection. We define a metric to express the quality of a streaming session. The metric is used to evaluate a P2P streaming system. Our study shows that if the level of cooperation is below a certain threshold, the system performance is poor even when the network is not heavily loaded. Other experiments reveal that when a user contributes to many streaming sessions, the streaming quality of the supplier as well as the remote receivers deteriorates. Thus, if only a few altruistic users cooperate and everybody else defects, the system cannot provide good quality streaming to its users. We observe in our Internet experiment that a random peer selection provides unpredictable quality whereas a quality-aware peer selection provides high quality streaming with low variance. This can be used to motivate the users of a system to share their resources, and the system will

2

provide them high quality streaming in return. We provide a comparative study among incentive mechanisms for file sharing and media streaming. The comparison shows that incentive mechanism for file sharing does not provide service differentiation in P2P streaming environment, whereas a percentile-based incentive mechanism can achieve the objective. Using the level of contribution, the mechanism provides a way to compute the percentile of each peer among all users to estimate the quality it can receive at any time and how much contribution is necessary to improve the future stream quality. Our experimental evaluation shows that the incentive mechanism provides near optimal quality if the network is not heavily congested.

Availability Ap P2: 0.25, 0.7

P3: 0.25, 0.8

P5: 0.25, 0.8 P6: 0.5, 0.9

P4: 0.5, 0.5

Offered rate Rp

P1: 0.25, 0.2

4 Virtual router

0.5

2

5 0.5

0.25

3 1.0

Avail Capacity

1

Receiver

II. P2P MEDIA STREAMING SYSTEM We study a P2P streaming system to understand the requirements to provide high quality streaming. A streaming system requires to encompass the key functions of object lookup, peerbased aggregated streaming, and dynamic adaptations to network and peer conditions. The quality of a peer depends on its availability, offered rate, and capacity of its outgoing link. To avoid path sharing among multiple suppliers, a streaming system requires to leverage the underlying network topology and performance information for the selection of suppliers. To cope with fluctuations in the service received from the network, several techniques are used such as forward error correction (FEC) coding, multi-description coding, and sending rates adjustment. The system monitors the status of peers to react peer/connection failure. A dynamic switching mechanism is required to replace a failed peer without disrupting a streaming session. In this work, we use PROMISE [8] as an example system that satisfies the requirements of a streaming system. PROMISE uses topology-aware peer selection to obtain the best suppliers. The topology-aware technique infers the underlying topology and its characteristics, and considers the available capacity and packet loss ratio of each segment of a path. Consider the example shown in Figure 1. The figure shows a network topology of a set of potential suppliers to a receiver. The topology is denoted with available capacity of each segment of a path, the offered rate of each peer, and its availability. A random technique may choose peers P1 , P3 , P4 as suppliers, even though some of these peers have low availability (P1 ), and others share a congested path (P3 , P4 ). However, the topology-aware technique selects the best set: P2 , P3 , P6 because they provide the best aggregate rate considering their availability, offered rated, and the sender to the receiver path dynamics. For details, see [8]. Later, we show that a certain level of cooperation is required to receive high quality streaming even with topology-aware supplier selection.

Fig. 1. Topology-aware peer selection by PROMISE. P2 , P3 , and P6 are selected because they provide the best aggregate rate considering their availability, offered rated, and the sender to the receiver path dynamics.

A streaming session in PROMISE is established as follows. A peer requesting a media file issues a lookup request to the underlying P2P substrate, which will return a set of candidate peers who have the content. Usually, a streaming session has more suppliers than a file downloading session, which implies more cooperation among users are required in a streaming environment. The candidate set of PROMISE typically contains 10 to 20 peers. A topology is constructed and annotated to connect the candidate peers with the receiver. Using the annotated topology, the selection algorithm determines the active sender set that is likely to yield the best quality for this streaming session. The rest of the candidate peers are kept in a standby sender set, from which replacement peers will substitute failed or degraded peers from the active set. The receiver assigns a sending rate to each of the active senders. The streaming session continues as far as there is no need to switch to a different active sending set. A switch is needed if a peer fails or the network path becomes congested. At which time, the topology is updated with new values measured passively during streaming and a new active set is selected. III. W HY WE NEED AN INCENTIVE MECHANISM Using packet-level simulation and Internet experiments, we study the impact of peer non-cooperation on the performance of a P2P media streaming system (PROMISE). We analyze this impact from three angles. First, how user cooperation can enhance the average quality of streaming. Second, what negative effects cooperation might bring to a peer that shares resources. Third, what a peer would gain from sharing its resources. To quantify the performance of media streaming system, we define the performance metric (called quality of a streaming):

3

Q=

PT

i=1 Zi , T

(1)

Average Quality of Streaming, Q

where T is the number of packets in a streaming session and Zi is a variable that takes value 1 if packet i arrives at the receiver before its scheduled playout time, and 0 otherwise. The quality is different from throughput because it considers the deadline of each packet. If a packet arrives after the deadline, there is no use of this packet. It does not contribute to the quality of the video and it is considered as a lost one. The system quality is defined as the average quality of all receivers in the system.

1 0.8 0.6 0.4 K=1 K=10 K=20 K=30

0.2 0 0

20

40 60 Cooperation (%)

80

100

Fig. 2. Simulation data to show how the level of cooperation affects the quality Q of the system. Higher cooperation provides better quality of service, however, when the system has limited capacity, large number of concurrent session degrades the quality of the system even the cooperation level is 100%.

A. Cooperation brings quality We investigate how the streaming quality changes with the number of concurrent sessions (denoted by K) using simulations. We simulate a system with 1,216 peers. These peers are connected to a network with a topology mimicking the real Internet. The topology is generated using the Georgia Tech Internet Topology Mapping tool. By peer cooperation we mean, a peer is willing to share its resources with others. 50% cooperation indicates that 50% of the total nodes have the willingness to share with others. Figure 2 shows how the system quality changes with level of cooperation among different peers. When the system is almost idle (K = 1), the cooperation level does not affect the streaming quality. The streaming quality is the maximum at all cooperation levels because there is no contention for resources. However, the lack of cooperation negatively impacts the streaming quality even if the network is not heavily loaded. For example, when the system has 10 concurrent sessions (K = 10), the streaming quality is excellent as long as

the level of cooperation does not drop below 30%. The quality degrades sharply when the level of cooperation drops below this level. The performance degrades even more for large K when the level of cooperation low. It is clear from this experiment that cooperation is necessary to maintain the system performance within an acceptable range. B. Simultaneous upload hurts quality We study whether there is a significant cost of sharing resources, especially the bandwidth. We ask whether “simultaneous uploading affects the downloading quality of the users?” Additionally, “does the concurrent uploading reduce the downloading quality to the remote peers?” If the answer of the first question is yes, a user is even less motivated to share its bandwidth with others without any incentive. The second question implies that a peer should not supply to so many peers to maintain the quality of the remote receivers. We use PROMISE implementation in the PlanetLab (http://www.planet-lab.org) test-bed to conduct experiments in the wide area Internet. PlanetLab has more than 150 nodes in the North America, Europe, and Asia. We use the node at Berkeley as the receiver for most of our experiments. As suppliers, we use nodes at Caltech, UCSD, Rice, Duke, MIT, BU, Purdue, CMU, UMass, UTexas, Arizona, Stanford, Germany, UK, France, Italy, Sweden, and Taiwan. Figure 3 shows the quality Q of the Berkeley node that downloads from several suppliers and uploads to several remote receivers. Figure 3(a) shows that the quality of the downloading session is good even though the peer is supplying at a rate higher than 2 Mbps. The X-axis is the uploading rate from Berkeley, which is varied from 0 − 4 Mbps. The quality goes down when the rate is 3 Mbps or higher. Thus, there is a limitation about how much a peer should supply without hurting its own quality. We take a look on the quality of remote users who are downloading from Berkeley. Figure 3(b) shows the average quality of the remote users. All remote users experience poor quality when Berkeley is supplying to many users. Thus, there is a cost associated with uploading: too much uploading from a peer hurts the performance of its own quality and the quality of the remote receivers. A traditional file sharing system can sustain with a low level of cooperation, however, a P2P streaming system does not provide high streaming quality to its users if it has a few altruistic users. C. Random peer selection provides random quality We observe in our experiments that the peer selection is important for a P2P streaming session. An arbitrary peer selection gives unpredictable quality, which might be acceptable in file

1

Average Quality of Streaming, Q

Average Quality of Streaming, Q

4

0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

0

0.5

1 1.5 2 2.5 3 3.5 Uploading from Berkeley (Mbps)

4

4.5

0

(a) Quality of Berkeley node

0.5

1 1.5 2 2.5 3 3.5 Uploading from Berkeley (Mbps)

4

4.5

(b) Quality of all remote receivers

1

Average Quality of Streaming, Q

Average Quality of Streaming, Q

Fig. 3. Simultaneous uploads from a peer affect the quality of both local and remote peers in Planet-Lab setup. Downloading quality Q of the Berkeley node is poor when it supplies at a rate ≥ 3 Mbps. Average quality of the remote peers as well as the quality experienced by individual peers is poor when Berkeley supplies at a high rate. The figure shows average, minimum, and maximum values.

0.8 0.6 0.4 0.2 0

1 0.8 0.6 0.4 0.2 0

2

3

4 5 6 Number of Suppliers

7

8

(a) Random suppliers

2

3 4 5 Number of Suppliers

6

(b) Good suppliers

Fig. 4. Quality experiencing by a receiver when suppliers are varied in Planet-Lab test-bed. (a) suppliers are chosen arbitrarily and the quality is highly unpredictable. (b) known and good peers are chosen as suppliers to provide high quality and predictable service.

sharing. However, it is not acceptable in a streaming session. On the other hand, quality-aware peer selection can provide stable and predictable quality which is a pre-condition for video applications. We leverage this to design an incentive mechanism by providing quality-aware peer selection to the cooperative users and arbitrary peer selection to others.

shows that quality-aware peer selection really pays off. Not only the quality is high, but also the quality is more stable in this case. Thus, a motivation to the users for sharing is that they will receive good and predictable quality of service in return.

We use the same setup in PlanetLab test bed as described in the previous section. Figure 4 shows that arbitrary peer can provide as high as Q = 1, however, the minimum value goes to less than 0.2 for each experiment. We vary the number of suppliers on the X-axis. It is observed that higher number of suppliers might provide even worse quality because the receiver has to maintain more connections and some of the suppliers might share congestion in their paths to the receiver. Figure 4(b)

There are several studies in the literature to investigate the incentive mechanisms for the Internet applications and P2P systems. The distributed algorithmic mechanism design has the goal of providing computationally tractable and incentive compatible solutions to the Internet [4]. This has been used in solving network problems such as multicast transmission and efficient routing. We study incentive mechanisms for P2P file sharing and media streaming to provide a comparative study on

IV. I NCENTIVE M ECHANISMS

5

how each mechanism works. Details of each mechanism can be found in the referred publications. a)

Contribution

b)

Contribution

c)

earns

Token/Payment

earns

Contribution

Reputation/Score

maps to

Probability

spends to

allows

allows

Download

Download

Download

allows

d)

Download

e) Contribution earns

Score

requires

maps to

Upload

provides QoS Percentile allows Peer Selection

Fig. 5. A high level abstraction among different mechanisms to provide incentive in file sharing and streaming systems. a) Payment-based file sharing b) Reputation-based file sharing c) Probabilistic differential service for file sharing d) Simultaneous downloading and uploading (BitTorrent) e) Percentile-based service differentiation for streaming.

Figure 5 provides a high level abstraction of different incentive mechanisms for file sharing and media streaming. It shows that, except for BitTorrent [3], every scheme converts the contribution into a reward such as reputation, token, score, or probability to access resources. For example, in the micro-payment mechanism [5], users earn rewards if they upload to other users. The rewards can be used for future downloads. The objective of this system is to achieve maximum cooperation from the users. Another payment-based system, KARMA [10], uses currency as a way of secure trading. In a reputation based system [6], the users earn reputation by sharing (Figure 5b). The reputation determines peer quality. Downloading from a user with a high reputation has a higher probability to obtain better service. A score-based system [9] converts the contribution to a score (Figure 5b). The score may allow a user to download multiple times from other users having lower scores than its own. Kazaa—a score-based P2P system—provides downloading priority to the users with high scores over the users with low scores. However, there is no direct relationship between the contribution and the downloading quality in all these mechanisms. To provide differential service, Buragohain et al. [2] propose a game theoretic framework to incentivise the users of a P2P system to contribute their disk space to others. This contribution allows a peer to obtain differential service, i.e., more contribution to the system will earn a higher probability with which its request will be served by others, Figure 5c. If the contribution is small, its request is more likely to be rejected. The incentive mechanism eliminates the free riders and increase the overall availability of the system. The incentive framework in-

creases the availability of the resources of the system, however, this does not provide service differentiation for media streaming, where quality of the peers is more important than having files available in streaming applications. BitTorrent [3] provides incentives to the users to download files if they allow simultaneous upload by other users. This is an instant payment downloading service. The philosophy is “download as much as you allow to upload.” BitTorrent is not suitable for media streaming due to several reasons: i) High quality peer selection in this environment is an extremely difficult job. Each downloading peer X has to look for peers who can be a potential uploader. At the same time X has to meet all the quality requirements of peer selection for the uploaders. There might be users in the system who want to download, however, X might not be a good supplier for their streams. ii) Many users have asymmetric uploading and downloading capacity, which is quite common for ADSL type of connections. The stream quality is bounded by the uploading link capacity, which is much lower than the downloading one. The percentile-based incentive mechanism [7] motivates the users of a P2P system to share their resources to obtain high quality service in return. This mechanism (Figure 5e) maps the score due to contribution into a percentile. A user with higher percentile can select better suppliers that provide better quality streaming. This mechanism allows a user to calculate the quality it will receive if it contributes a certain amount of resources to others. Other mechanisms do not provide any relationship between the level of contribution and the quality of service. In the next section, we describe the percentile-based incentive mechanism for a P2P media streaming system. V. P ERCENTILE - BASED I NCENTIVE M ECHANISM In this incentive model, a peer uses a decision function to determine whether it should cooperate or defect to maximize its utility. The utility compares the quality of service it will receive due to sharing against the cost of sharing. To estimate the quality, the contribution of a peer is converted into a score. Then, the score is mapped into a percentile, which determines the rank of a peer among all peers in the system. With higher percentile, a peer can select good quality suppliers to receive high quality streaming. In this system, a user X receives service from other users with equal or less percentile. The utility U of a peer is a function of the quality Q it receives and the cost C of sharing. U = Q − C.

(2)

When a peer joins in the system, it does not receive any service assurance. We define this service as the best effort service

6

and this service may vary from one system to another. The quality of the best effort service depends on the availability of the altruistic users who always serve. This quality is highly unpredictable. To receive service assurance, a peer shares with other peers in the system. The score depends on how much resource a peer shares and for how long. This way the availability as well as the peer quality comes into play in the incentive mechanism for a streaming system. An incentive is provided for each type of resource sharing. Higher incentives are offered when any media file has high demand. An alternate way to compute score is to use total downloading bytes (Bin ) and total uploading bytes (Bout ). Kazaa uses BBout to compute the score of a user. In Kazaa, priin ority is given to the users who have high score (share more than download). Users with low score can still download at a lower priority. Another way of computing score is to use the net sharing contribution by a peer to the system B = Bout − Bin . Knowing its own score is not enough for a peer to estimate the Q it will receive because the absolute score does not tell about the potential suppliers. The percentile tells a user how many potential suppliers out there who has lower scores than its own. The number of suppliers and their quality determine the service assurance a user can receive. To compute the percentile, we calculate the cumulative distribution function (cdf) of the scores. The cdf provides a relationship between the percentile and the score. The percentile is obtained by dividing the cdf by the total number of peers. If necessary, a user cooperates more to increase its score, which put the user to a higher percentile and the user receives better service by selecting good suppliers.

Average Quality of Streaming, Q

1 0.8 0.6 0.4 0.2 0

With incentive Without incentive 5 10 15 Number of concurrent sessions

20

Fig. 6. Quality of service with or without incentive mechanism in ns simulation. Without incentive mechanism, a few users cooperate and the stream quality is poor.

We design experiments to evaluate the quality a user can experience with or without the incentive mechanism. With the incentive mechanism, the system selects best suppliers for each session and ensures that each supplier has high availability so that the suppliers do not fail often. Thus, these sessions expe-

rience fewer switching (replacing the failed suppliers) and the video session is smooth. Figure 6 shows that the system Q is close to 1 for ≤ 10 concurrent sessions if the incentive mechanism is used. If there is no incentive, the altruistic users cannot maintain the the system quality to 1 for the same number of concurrent sessions. If the network load is increased, the quality deteriorates for both cases, however, the incentive mechanism provides quality within an acceptable range. When we extend the graph for higher number of sessions, the quality for both cases is low because the network is extremely congested. The cooperation by users does not improve the system performance. Thus, the incentive mechanism might not be effective when the network is idle or totally congested. VI. C ONCLUSION An incentive mechanism motivates the users of system to share their resources with others. Our study shows that there are several reasons to have an incentive mechanism in a P2P media streaming system. First, the streaming quality is poor if the level of cooperation is low even when the network is not heavily congested. Second, unlike traditional file sharing, streaming from a few altruistic users cannot provide high quality streaming to its users in a large system. Third, an incentive mechanism can motivate the users of a P2P system to cooperate with others by providing them high quality streaming. Existing incentive mechanisms for file sharing do not provide quality assurance for a downloading session. A percentile-based incentive mechanism provides a way to compute the rank a user for potential suppliers selection. The percentile maps the user contribution to a quality of service. Our experimental evaluation shows that the incentive mechanism provides near optimal quality (Q ≈ 1) if the network is not heavily congested. In our analysis, we assume that the users of a P2P system behave like the users of a file sharing system. There is no empirical data about the users behavior in a streaming environment. A future direction of this research is to deploy a streaming system to obtain empirical data, which will be used to design incentive mechanisms for a streaming system. We note that successful deployment of a streaming system with incentive mechanisms requires to address security issues such as tampering software or colluding with others to increase reward (score, payment, reputation). R EFERENCES [1] E. Adar and B. Huberman. Free riding on gnutella. First Monday, 5(10), Oct. 2000. [2] C. Buragohain, D. Agrawal, and S. Suri. A game theoretic framework for incentives in p2p systems. In proc. P2P, Sweden, Sept. 2003. [3] B. Cohen. Incentives build robustness in BitTorrent. In Workshop on Economics of Peer-to-Peer Systems, Berkeley, California, June 2003.

7

[4] J. Feigenbaum and S. Shenker. Distributed algorithmic mechanism design: Recent results and future directions. In proc. Dial-M ’02, Atlanta, Georgia, Sept. 2002. [5] P. Golle, K. Leyton-Brown, and I. Mironov. Incentives for sharing in peer-to-peer networks. In proc. EC ’01, Tampa, Florida, 2001. [6] M. Gupta, P. Judge, and M. Ammar. A reputation system for peer-to-peer networks. In proc. ACM NOSSDAV, Monterey, California, June 2003. [7] A. Habib and J. Chuang. Incentive mechanisms for peer-topeer media streaming. Technical report, School of Information Management and Systems, University of California, Berkeley. http://www.sims.berkeley.edu/˜habib/papers/netecon.pdf, Dec. 2003. [8] M. Hefeeda, A. Habib, B. Botev, D. Xu, and B. Bhargava. PROMISE: Peer-to-peer media streaming using CollectCast. In Proceedings ACM Multimedia ’03, Berkeley, California, Nov. 2003. [9] M. Nowak and K. Sigmund. Evolution of indirect reciprocity by image scoring. Nature, 393:573–577, 1998. [10] V. Vishnumurthy, S. Chandrakumar, and E. Gun Sirer. Karma : A secure economic framework for p2p resource sharing. In Workshop on Economics of Peer-to-Peer Systems, Berkeley, California, June 2003.