Cooperation Incentives and Enablers for Wireless Peers in

Cooperation Incentives and Enablers for
Wireless Peers in Heterogeneous Networks
Olli Karonen, Jukka K. Nurminen
Nokia Research Center
Helsinki, Finland
{olli.karonen, jukka.k.nurminen}@nokia.com
Abstract—Various incentive schemes have been proposed to
force or encourage peers to contribute their resources to peer-topeer networks. Such schemes are typically designed for peers
with fixed Internet connections and do not take the special
properties of wireless peers into account. In this paper we
propose a P2P credit system especially targeted for the cases
where mobile devices join P2P networks. Instead of limiting the
incentive and reputation mechanisms to a single device our
scheme encompasses all the connected devices of a user. We
discuss the limitations of today’s incentive schemes from the
wireless devices point of view, present the P2P credit system
concept and highlight its operation with a number of use cases.
Through mathematical analysis we illustrate the potential of the
solution.
Keywords-Mobile peer-to-peer; cooperation; incentives
I. INTRODUCTION
Peer-to-peer (P2P) is fundamentally based on cooperation.
The more cooperation, the less dedicated expensive servers are
needed and the better the performance of the network. The
thriving P2P communities in the Internet are good examples of
this.
Today’s P2P networks are gradually becoming more
heterogeneous as P2P software for wireless devices starts to be
available (e.g. [1,2]). Mobile phones are turning into mobile
computers with limited resources but with additional
capabilities in comparison to their PC counterparts.
Mobile P2P systems are still mostly at the research level but
there is a strong potential for mobile P2P applications and
services to share or even exceed the success of fixed Internet
P2P systems. Mobile clients can immediately benefit from the
existing communities and technologies on the fixed side, and,
at the same time, offer new unique value and services.
Resource sharing is the essence of P2P. In exchange of
providing services to others, a peer is able to access the
services provided by the community. The perceived utility U
of participating to community C is the difference of the
received benefits b and the incurred costs c
U (C ) = b(C ) − c (C )
This trivial formula allows us to analyze more
systematically the differences in content sharing with fixed
and mobile devices.
In order to increase the utility a user has to either receive
more benefits or reduce the costs that serving others causes.
The easiest way to increase utility is thus to reduce the service
to others because the received benefits typically depend on
other community members and are beyond our control.
However, if everybody behaves like this the community
services would degrade and ultimately the community would
die out.
The cost of serving others is relatively small in PC-based
communities in fixed Internet. However, with mobile devices
bandwidth is much more limited and potentially billed by the
amount of data transferred, high energy consumption may
drain the battery, and memory and processor power are limited
and potential bottlenecks. Then the cost component, c, in the
utility function is easily much higher than in the fixed Internet
case. Thus, in mobile use the attraction of being a free-rider
and just use the services of others is high.
As long as the number of mobile devices in the
communities is small making exceptions for mobile devices is
a feasible option. However, if the number of mobile peers in
the communities increases new solutions are needed.
A number of technical solutions have been proposed and
implemented to force all community members to participate
(see e.g. [3]). These mechanisms usually assume that it is up
to the user to decide if he wants to contribute and they propose
incentives that encourage or force users to do so.
These approaches ignore the fact that sometimes
contributing is not possible even if the user would like to. For
instance, the Network Address Translation (NAT) and firewall
policies of access network operators may not allow other
devices to access the peer. Or the tariff policies (e.g. a peer has
to pay for each bit that it sends out) make contributing
practically impossible because of high cost.
While these obstacles are no longer dominant in the fixed
Internet, the situation is different with other access networks.
Cellular networks are a good example of a case where sharing
incentives are meaningless to users since sharing the resources
of their mobile devices with others can be technically
impossible or very expensive.
The key problem we investigate in this research is thus how
to encourage mobile users to participate in P2P communities
as “good citizens”.
The essence of our solution is that the incentive to
contribute should be at the user level. This is in contrast with
the current way where the sharing incentives work mainly on
session or device level. By widening the scope it is no longer
important that each device has a proper balance between
resource consumption and sharing. Instead, we focus on the
aggregate effect of all the devices that a user has and require
that for each user the balance between resource consumption
and sharing is appropriate. A concrete example of this would
be a mobile user who would compensate the resource
consumption of the mobile device by providing the resources
of the home PC to the system.
This idea is in contrast to the fundamental assumption in
most sharing incentive research which treats peers, users, and
their devices as synonyms. For our work it is highly relevant
that a user may have several PCs, phones, or other connected
devices to accumulate a credit account that is shared by all of
the devices.
In the rest of the paper we mainly concentrate on the case of
sharing content via BitTorrent enabled mobile phones and
PCs. However, the idea is applicable to other P2P services and
other devices as well.
We outline the essential concepts of the P2P credit system
in section II. In section III we describe the architecture of the
system more thoroughly and present some use cases that
illustrate the possible uses of the system. In section IV we
analyze the system mathematically and in section V discuss
the used assumptions. In section VI we present related works
and, finally, in section VII we summarize the main findings
and present ideas for further research.
•
•
•
•
II. PEER-TO-PEER CREDIT SYSTEM
The key idea of the P2P credit system is to fulfill the
fundamental ‘in order to get you have to give’ requirement of
P2P services and applications in a fair way for mobile and PC
users. The essence of the concept is that a group of devices
share the same credit account. Credits earned with one device
(e.g. home PC) can be consumed by another device (e.g.
mobile phone). This allows mobile devices to consume
content from the communities while at the same time ensuring
that enough devices are providing resources to the community.
The new concept, in P2P context, is that credits can be
shared at user and user group levels. This seemingly small
conceptual extension is very critical if we want mobile P2P
users to get good service level and contribute to the
community as much as possible.
A user can earn and consume credits by different devices.
User groups can do the same between their members. A user
can be a private person or a company offering P2P-based
services. Credit sharing can be mutual, based on trading (using
virtual or real money), or on donation.
There are many use cases benefiting from the concept, such
as:
• User can connect his PC to the P2P network to
generate credits that allow his mobile to get better
service from the community.
• The amount of credits earned can be increased by
providing special services. User can offer
additional services on the home PC, like
transcoding original content to different resolution,
to gain more credits. This acts as an incentive to
provide resources for special services and has
potential to speed up the introduction of new
features.
Many P2P communities (e.g. Kazaa) benefit from
high capacity supernodes that are mainly focused
on serving other peers. Currently there is little
incentive for a peer to become a supernode. With
the credit collection allowed by the concept
becoming a supernode could be an attractive way
to accumulate credits.
Devices with different capabilities (e.g. for
different network access) could pool their credits
together for ad hoc purposes. For instance, two or
more users next to each other with limited cellular
bandwidth can pool their credits, use the credit
pool for downloading content, and share the
content locally with ad-hoc WLAN.
A user or a community can buy credits from others
using digital currency, e.g. Geek Credit [4] or even
real money.
A commercial company or service provider can
offer credits to the users for free as a form of
marketing. For instance, the service provider could
add several computers to the P2P network to
perform services needed by mobile multimedia
consumption. The credits earned by the service
provider could be given as gifts to the purchasers
of new multimedia phones.
III. ARCHITECTURE AND OPERATION
Figure 1 presents the architecture of the peer-to-peer credit
system. Credit server keeps track of the credit balance of the
users. In the figure credit server is shown as a centralized
component but it could also be implemented in a distributed
fashion.
Credit Server
User E
User F
User D
User A
User B
User C
Figure 1. P2P credit system architecture
Users connect to the credit server with the normal Internet
protocols. Figure 1 illustrates that there are different types of
users. User A represents a person who uses the home PC to
earn credits by working as a server peer. User A consumes
those credits when accessing the peer-to-peer network with the
mobile phone.
Users D and E have just a single device registered to the
system. They could use their phones to earn credits when
connected with free wireless LAN and electricity, and
consume the credits on-the-move. User C has two mobile
devices. He can have one device at home to earn credits and
consume those on the move with the other device.
User F is an example of a commercial user who just earns
credits by serving other peers. He can sell or donate those
credits to other peers. This allows different business models.
For instance, he can provide those users who accept
advertisements from him with the credits.
The following scenarios illustrate how the components of
the system work together. In each case the earned/consumed
credits are stored on the credit server.
A. Phone B requests service from PC A
1. PC A queries credit server after it has received a
service request from peer B. If the credit balance is
positive PC A will serve phone B. In an advanced
scenario user B may also select the level of service.
2. Phone B informs credit server to increment user A’s
credit by the amount and quality of the received
service.
3. PC A informs credit server to decrement user B’s
credit by the amount and quality of the received
service.
4. Credit server verifies that quantities suggested by A
and B match and if ok updates its database.
B. PC A sells/donates credits to phone B
1. A and B agree on a deal. B may buy credits or A may
just donate credits to B. The details of their deal are
outside of the scope of the present paper.
2. Phone B informs credit server to increment user A’s
credit by the amount agreed in the deal.
3. PC A informs credit server to decrement user B’s
credit by the amount agreed in the deal.
4. Credit server verifies that quantities suggested by A
and B match and if ok updates its database.
C. Phone B and phone D pool their credits to request service
from PC A
1. B and D decide to pool their credits (permanently,
temporarily, or for a certain task). B and D tell the
credit server to use their credits as a pool and tell what
policy to follow in updating B and D credits when the
pool credit is changing.
2. PC A queries credit server after it has received a
service request from peer D. Credit server uses the sum
of B and D credits instead of the credit of D. If the
credit balance is positive PC A will serve phone D.
3. Phone D informs credit server to increment user A’s
credit by the amount and quality of the received
service.
4. PC A informs credit server to decrement user D’s
credit by the amount and quality of the received
service.
5. Credit server verifies that the quantities suggested by
A and D match and if ok updates its database. The
credit decrement for D is divided between D and B
according to the policy specified in step 1.
IV. ANALYSIS
In the following analysis we inspect a number of scenarios
and use them to estimate the effect of the peer-to-peer credit
system. We want to analyze how the system behavior would
improve if the incentive mechanism would encourage a bigger
number of the PC users to let their PCs share content all the
time.
A key performance metric in a P2P sharing network is the
ratio of the number of peers sharing content nS and the number
of peers downloading content nD. This ratio between sharers
and downloaders, which we denote by R, has a fundamental
effect to the efficiency of file sharing.
The download completion time T depend on R, T = f (R ) .
The exact form of function f is difficult to know but
experimental evidence allows us to provide some estimates.
According to the data in [5] T increases by 60% when R
changes from 90% to 60%. When R changes from 90% to
40% the value of T becomes double. The value of R is thus a
rather good indicator of the download time of the shared
content.
The ratio of sharers and downloaders can be expressed with
the following formula
R=
ma m s m + (1 − m ) a p s p
nS
=
nD
ma m d m + (1 − m ) a p d p
where m is the percentage of mobile peers, am, ap is the
percentage of time the peer is active for mobile and PC peers
respectively, sm, sp is the percentage of the active time that the
peer is sharing content, and dm, dp is the percentage of the
active time that the peer is downloading content.
We can use the formula to analyze different cases: old
homogenous PC world, current heterogeneous situation, and
an improved heterogeneous scenario with sharing incentives.
A. All peers are equal
The basic assumption in most P2P content sharing studies
has been that all peers are roughly equal. In this case am = ap
= a, sm = sp = s, dm = dp = d and the formula reduces to
R=
s
.
d
The case s < d presents the case where freeriders are
consuming services without reciprocal contribution.
When the network consists of both mobile and PC peers the
assumption is that both of them are used in the same fashion.
However, energy-consumption [6], communication cost, and
restricted network access (e.g. through NATs) limit the
possibilities for the mobile peers to share their resources. This
reduces s which results into smaller value of R and thus longer
download times.
B. Mobile peers are only used for downloading content
In this scenario mobile peers are taking the freerider role to
save battery and network traffic. Mobile peers never share any
content while the PC peers share all the time while they are
active. With parameter values am = ap = a, sm = 0, sp = 1, dm =
dp = d the formula becomes
R=
1− m
.
d
The percentage of mobile peers in the network thus controls
the ratio. As long as the number of mobile peers is small they
only have a minor performance degrading effect. However, if
the consumption of multimedia in mobile devices increases
and these devices increasingly access P2P networks to
download content directly the operation of the network starts
to suffer.
C. Mobile peers only for downloading, PC peers always
active and sharing
This case corresponds to a possible situation which we hope
the P2P credit system would guide the users. In this scenario
mobile peers are only used for downloading. However, the
performance degradation is compensated by the increased
number of PC peer resources that are available in the network.
Especially in the industrialized countries most users of
multimedia mobile phones also have their own PCs. With the
P2P credit system as an incentive the assumption is that users
would be able to increase the amount of time that their home
PCs are sharing content. Instead of sharing only during the
download operation (which is common today), the PCs would
be sharing the content all the time. This would easily more
than compensate for the fact that the mobile devices are not
sharing at all.
If we assume that the same content is shared between
mobile devices and PCs, and that the users spend the same
amount of time to download content with both devices we
come up with the formula (am = t, ap = 1, sm = 0, sp = 1, dm =
1, dp = t)
R=
1− m
,
t
where t is the percentage of time when the person is actively
downloading content. E.g. downloading a movie a day using
both devices with each download taking around 2.5h
(according to [7] downloading a 1GB movie file would take
2.5 hours) would result into t = 10%.
If we consider a case where m = 0.5, which corresponds to
the case where every mobile users also has a home PC that is
sharing content all the time, then R = 5. This is a significant
number indicating that there are five times more peers sharing
the content than downloading it.
V. DISCUSSION
In the above we assumed that the same content would be
relevant for both the mobile phone and PC users. In case of
music this is likely to be correct. However, for video content
this is less obvious. There is a big gap between the video
capabilities of mobile phones and home entertainment
systems. Therefore having separate low resolution formats for
mobile devices would save resources and speed up downloads.
However, different files for different devices make searching
and managing the content harder and less optimal. In case of
BitTorrent, files with different resolutions would split and
shrink the swarms and thus reduce the download speed. An
emerging solution is to exploit scalable video coding (see e.g.
[8]) where a single file can support multiple resolutions.
Besides the technical differences in content formats it is
possible that the type of the consumed content would vary
between mobile and PC. Mobile content is likely to be shorter
and focused more on breaking news and latest sports events
while PC-driven home entertainment would be more about
movies and TV series.
Another assumption in the above analysis is that the mobile
download activities are evenly spread. In practice there will be
variations by the time of the day. An extreme example of the
variation is the flash crowd phenomenon with a lot of
simultaneous downloaders.
We have also assumed that there is no major performance
difference between mobile and PC peers. This is obviously
incorrect if we think of the performance metrics of the
devices, like CPU power or memory size. However, if we look
at these devices from the point of view of the connected peers
accessing shared content there is not much difference in speed.
The BitTorrent performance measurements by Pouwelse et al.
[9] found that 90% of the peers experienced speeds that were
below 65 kB/sec which are in the same range as the speed
experienced by BitTorrent applications in mobile phones [10].
The above calculations are based on the assumption that the
P2P credit system would influence the user behavior and as a
result drive the network to a new state. It is always difficult to
predict the user reaction. Would the incentive provided by the
P2P credit system be strong enough to change the behavior so
that a large number of users would set up their PC computers
to support the content sharing community? This kind of
questions would require user studies.
VI. RELATED WORKS
The incentive problem is a variant of the Prisoner’s
Dilemma in game theory, where the characteristics of the
mobile phones and P2P together increase the challenge
significantly. Feldman et al. [3] apply a game-theoretic
approach and derive a decision function that uses the history
of a peer’s actions to decide whether to cooperate or not.
Most current P2P credit systems, including the original titfor-tat scheme of BitTorrent [11], are based on pairwise
crediting. Peer A knows how good service it has received from
peer B but peer C is not able to access this information. The
credit earned by B when serving A cannot be used to get
services from C.
Wang [12] investigates P2P Feedback Systems and
proposes a new solution promoting fair sharing and
mechanisms to disallow credit cheating. His credit system
exploits cryptography and a memory with gradually
decreasing credits as a function of time. In the mobile phone
context this allows credits to be earned beforehand by
uploading content when the phone is unused, e.g. when the
phone is charged and during nights (note that there has to be
demand for the content to be able to contribute). The key
difference to our idea is that Wang’s idea only works with a
single device.
J.-P. Hubaux et al have done extensive research on
collaboration in wireless networks and studied various
incentives for cooperation. In [13] they propose a micropayment mechanism to encourage collaboration in multi-hop
cellular networks.
Friedman et al. [14] classify the reputation systems into
three categories. In barter-like systems each agent bases its
decisions only on information it has received from its own
interactions. In general reputation systems each user’s
experience is aggregated into a global number for each
individual that represents the system’s view of the personal
reputation. In economic systems money or scrip is used to buy
services from other peers.
Gupta et al. [15] describe a reputation system where each
peer has a reputation score that is credited when the peer
replies to search queries and uploads content. Performing
content downloading decrements the score. Further credits can
be earned when a peer is sharing hard-to-find content.
Kazaa, which has been one of the highly popular P2P
systems, includes a credit mechanism. During Kazaa usage
every user is given a participation level depending on the ratio
between recent uploads and downloads. Higher participation
level compared to other peers means more priority during
downloading in case of competing requests. Other P2P
systems like BitTorrent and eMule use a similar credit system
as Kazaa. These credit systems do not have memory, which
makes it impossible to earn credits by contributing before
downloading. Standard BitTorrent does not even have credits
at device level. The tit-for-tat mechanism works separately for
each shared file.
We are currently finalizing the prototype implementation of
the P2P credit system with the MobTorrent application for
Java enabled mobile phones [10]. The prototype can be used
for user studies to see how the system would work in practice
and how the credit system would influence the user behavior.
Analysis of the security and vulnerabilities is another
important topic for further study. Although we have focused in
this paper on the use of the credit system together with
BitTorrent based content sharing the concept seems promising
for other P2P applications as well. For instance, the same
system might be used to reward the supernodes in other P2P
protocols, or to ensure that a sufficient number of reasonably
stable nodes form a distributed hash table (DHT) ring.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
VII. CONCLUSIONS AND FUTURE WORK
In this paper we have described the incentive problems
when P2P networks have peers that are highly different from
each other. In particular, we have focused on the case when
mobile phones would join P2P networks dominated so far by
home PCs. We have proposed P2P credit system as a solution
that would allow client-only devices join the P2P networks
while at the same time ensuring that there will be enough fullpeers in the network that its performance is not deteriorating.
We have discussed use cases where the system could be useful
and what kind of implications it could have. Via mathematical
analysis we are able to calculate and evaluate three typical
setups quantitatively.
[12]
[13]
[14]
[15]
B. Molnár, B. Forstner, I. Kelényi, “Symella 1.40”, Budapest University
of Technology and Economics. Aug. 23, 2007. [Online]. Available:
http://symella.aut.bme.hu
I. Kelényi, P. Ekler, Zs. Pszota, “SymTorrent 1.30”, Budapest
University of Technology and Economics. Aug. 23, 2007. [Online].
Available: http://symtorrent.aut.bme.hu
M. Feldman, K. Lai, I. Stoica, and J. Chuang, “Robust incentive
techniques for peer-to-peer networks,” in Proceedings of the 5th ACM
Conference on Electronic Commerce, EC '04, New York, 2004, pp. 102111.
A. Komarov, “Geek Credit, p2p digital currency,” April 2004. [Online].
Available: http://home.gna.org/geekcredit/. [Accessed: Nov. 20, 2007]
M. Sirivianos, J. H. Park, R. Chen, and X. Yang, “Free-riding in
BitTorrent Networks with the Large View Exploit,” in Proceedings of
IPTPS'07, Bellevue, WA, February, 2007.
J.K. Nurminen and J. Nöyränen, “Energy-Consumption in Mobile Peerto-Peer – Quantitative Results from File Sharing,” in 5th IEEE
Consumer Communications & Networking Conference. CCNC 2008,
Las Vegas, Nevada, January 2008.
C. D. Carothers, R. LaFortune, W. D. Smith, and M. Gilder, "A Case
Study In Modeling Large-Scale Peer-To-Peer File-Sharing Networks
Using Discrete-Event Simulation," in Proceedings of the 2006 European
of Modeling and Simulation Symposium which is part of the I3M
Multiconference), Barcelona, Spain, October, 2006.
H. Schwarz, D. Marpe, and T. Wiegand, "Overview of the Scalable
Video Coding Extension of the H.264/AVC Standard," IEEE
Transactions on Circuits and Systems for Video Technology, vol.17,
no.9, pp.1103-1120, Sept. 2007
J. Pouwelse, P. Garbacki, D. Epema, and H. Sips, “The BitTorrent p2p
filesharing system: Measurements and analysis,” in Proceedings of the
4th Int. Workshop on Peer-To-Peer Systems, Ithaca, New York, 2006.
P. Ekler, J.K. Nurminen, and A.J. Kiss, “Experiences of implementing
BitTorrent on Java ME platform,” in Proceedings of the 1st IEEE
Workshop on Peer-to-Peer for Handheld Devices at CCNC 2008, Las
Vegas, Nevada, January 2008.
B. Cohen, “Incentives build robustness in BitTorrent,” in Proceedings
of the First Workshop on the Economics of Peer-to-Peer Systems,
Berkeley, CA, June 2003.
Wang, K., “P2P Feedback Systems,” University of Pennsylvania. 2006.
[Online].
Available:
http://www.seas.upenn.edu/~cse400/CSE401_2006/Wang/Writeup.pdf
[Accessed: Nov. 20, 2007]
M. Jakobsson, J.-P. Hubaux, L. Buttyán, “A Micro-Payment Scheme
Encouraging Collaboration in Multi-hop Cellular Networks,” Financial
Cryptography 2003, pp. 15-33.
E.J. Friedman, J.Y. Halpern, and I. Kash, “Efficiency and Nash
equilibria in a scrip system for P2P networks,” in Proceedings of the 7th
ACM Conference on Electronic Commerce, Ann Arbor, Michigan, June,
2006, pp. 140-149.
M. Gupta, P. Judge, and M. Ammar, “A reputation system for peer-topeer networks,” in Proceedings of the 13th international Workshop on
Network and Operating Systems Support For Digital Audio and Video
Monterey, CA, June 2003, pp.144-152.