Top Banner
Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1 , Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University of Saskatchewan Canada
31

Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Mar 31, 2015

Download

Documents

Guy Russell
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Motivating Cooperation in Peer-to-Peer Communities

Helen Bretzke1, Julita Vassileva2

Computer Science Department1University of Toronto

2University of Saskatchewan

Canada

Page 2: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Outline• Peer-to-peer communities

– free-riding and participation

• User modeling– social type of user (w.r.t. cooperativeness)– user interests– user relationships

• Motivating Participation – rewards in terms of QoS– creating community awareness– promoting user reflection

Page 3: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

What are Peer to Peer (P2P) systems?What are Peer to Peer (P2P) systems?

• Networked applications (“Networked applications (“servents”)servents”) that that act as both act as both servservers (producers) and cliers (producers) and clients ents (consumers) of shared resources.(consumers) of shared resources.

• Shared resources can be files, bandwidth, Shared resources can be files, bandwidth, computation cycles or human time and effort.computation cycles or human time and effort.

Page 4: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

COMTELLA

• A P2P (Gnutella based) system for file sharing and service– users share academic papers, code

snippets, help

• non-centralized digital library for a research group / class

• motivation and community-building

Christopher CoxNSERC Summer2002 project

Helen BretzkeCRA-W and NSERC Summer’2002 project

Lingling Sunundergraduate project

Yamini UpadrashtaGraduate student

Page 5: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Resentful peers call them “leeches”...

What is a free-rider?

The press calls them “cyberparasites”

Page 6: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

A proper definition:

A free-rider is a user who A free-rider is a user who consumes far more resources consumes far more resources

than s/he offers.than s/he offers.

“almost 70% of Gnutella users share no files, and nearly 50% of all responses are returned by the top 1% of sharing hosts” (Adar & Huberman, 2000)

Page 7: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

What’s the real problem?

Many call free-riding the “tragedy of the digital commons”

Others claim that this a poor analogy.Others claim that this a poor analogy.

Page 8: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

In In anyany online community online community where there are where there are costscosts

associated with sharing, free-associated with sharing, free-riding can bring the system to riding can bring the system to

its knees.its knees.

……e.g. I-Helpe.g. I-Help

Beyond P2PBeyond P2P

Page 9: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

I-Help deployment results

2 years, 2000+ users, all undergrad CS classes at the UofS, also in the UK, France and Colombia

Lessons learned: Usage / participation varies greatly Should be perceived as adding value

After reaching a “critical mass” becomes self-feeding

Encouraging students to participate is crucial

Greer J., McCalla G., Vassileva J., Deters R., Bull S., Kettel L. (2001) Lessons Learned in Deploying a Multi-Agent Learning Support System, Proceedings AIED'2001, IOS Press: Amsterdam 410-421.

Page 10: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Why do they do it?

In the centralized, client-In the centralized, client-server systems of yore, server systems of yore, users grew accustomed to users grew accustomed to being served.being served.

But in the decentralized But in the decentralized world of P2P, they must world of P2P, they must also learn to contribute!also learn to contribute!

Users are lagging in a Users are lagging in a paradigm shiftparadigm shift..

Page 11: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

How can we convert How can we convert piglets into peers?piglets into peers?

• cultivate user understanding of her new cultivate user understanding of her new role in this new paradigm.role in this new paradigm.

• create a perception of the P2P network create a perception of the P2P network as a community of volunteers.as a community of volunteers.

• generate and promote a strong sense of generate and promote a strong sense of this community.this community.

Page 12: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Levels of participation

• Bring new files, give help

• Provide disk space / processor time

• Dispatch requests

• Stay on-line

• Use and quit

Page 13: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

socially motivated

Why do people offer their time and resources? Different people have different motivations:

materialistic

Some are altruists

Some would help their friends and hope to make new friends through helping

Some seek glory

Some seek high marks

or money…

How to motivate participation?

altruistic

Page 14: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Know your user!

• User Type: Altruist? Socialist? Materialist?

• User Interests: What does she search / need?

• User Relationships and Community: Who shares interest with the user? Potential “friends” and “bozos”.

Modelling

Page 15: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Modelling user type

• Monitor user’s actions regarding file sharing, relative time spent on-line, acts of interrupting service, total balance of user’s giving / taking

• Update a number in [-1, 1] representing user’s cooperativeness

• Motivational actions in the interface triggered by passing certain thresholds

Page 16: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

• Define a taxonomy of subject categories (e.g. ACM subject index)

• Keep track of the categories of queries ( user interests)

• Update user level of interest in each sub-category using reinforcement learning

• Keep track of resources or services offered by the user in each interest category

Modelling user interests

Page 17: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Modelling user relationships• Monitor who offers services in the user’s areas of interest,

whose services the user chooses, the quality of the service, and who uses services offered by the user

• Represent each user relationship:For each area of interest– Strength – how often, how successful service

(reinforcement learning used, similar to user interests)

– Balance – reciprocity of services used/ given

• Adapt P2P topology – form a neighborhood for search using the best relationships (“friends”) in the area of search

• Propagate farther queries of “friends”

Page 18: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Motivating participationReinforcing / rewarding

relationships• Friends are treated differently

– Transfers not interrupted– Queries processed with priority– Queries are propagated farther

• Clusters of friends sharing an area of interest • Queries sent to friends in the area

– Higher chance of having relevant files – Faster responses– Better quality of files

• Better Quality of Service!

Page 19: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Motivating participation Building a community

• Harness the UM to gather information about the user’s interests, friends and cooperativeness.

• Provide feedback to stimulate reflection and awareness in the user.

Page 20: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Social awareness

In cities, the sidewalks provide the right kinds and numbers of interactions from which neighborhoods emerge.

In isolation, In isolation, selfishness is selfishness is logical.logical.

To gain To gain perspectiveperspective, users , users require feedback about their require feedback about their social environment.social environment.

Page 21: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

A matter of scale

An astronomical metaphor

• Provides visual feedback

• Resolves scale

• Attractive & interesting

Page 22: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Views of the community

• connectivity (hop-graph of currently reachable peers)

• shared interest clusters

• overall ranking of peers (closest friends are those of greatest utility)

Page 23: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Shared interests

Page 24: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Ranking of peers

Brightness ~ reciprocity

Size ~ strength of relationship

Position ~ overall rank

Visual semantics

Page 25: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Prompting reflection

• Highlight cause and effect relationship between user actions and QoS.

• Give real-time feedbackunobtrusive peripheral animations‘whispered’ messages (soft text)

• If user is curious, she can read the text

Page 26: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Evaluation results

• Difficult to evaluate the effects of many features at once – separate experiments – first stage: to evaluate the impact of

modelling user relationships on the QoS– two methods for evaluation:

• through simulation • through experiment with human subjects

– first results presented in W5 paper

Page 27: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

“take-home” messages• Creating community awareness

• Modelling social aspects of user behaviour

– has the potential to increase user understanding of her new role in the network and to stimulate more cooperative behavior.

– as an engine for generating personalized community views– for book-keeping needed to reward participation– to adapt the environment and assure better QoS

Page 28: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

the end… Not

Page 29: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Computing user type

• The measure of user cooperativeness at time t C(wt, t) = i * C(w t-1, t-1) + (1 - i) * wt, w [-1,0) (0,1] represent the weight of evidence, where w < 0 is a

selfish act while w > 0 is an altruistic act.

overallBalance = (1/n)*Y (BXY)

userType = (cooperativeness + overallBalance) /2 If userType is in [-1, -0.5) then user is selfish, if it is in [-0.5) ( 0.5]

then user is reciprocal, and if it is in (0.5, 1] then user is altruistic.

Page 30: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Computing user interests

• Reinforcement learning / exponential smoothing• The user’s strength of interest S in an area a is calculated

based on how frequently and how recently the user has searched in this area.

Sa(et, t) = i * Sa(e t-1, t-1) + (1 - i) * et where et [0, 1] is calculated as et = 1/ d,

d = 1 + level_distance between the level of the sub-area of the query and the level of the area a in the ontology

hierarchy. Currently, the ontology hierarchy has only 2 levels, so et = 0.5

Page 31: Motivating Cooperation in Peer-to-Peer Communities Helen Bretzke 1, Julita Vassileva 2 Computer Science Department 1 University of Toronto 2 University.

Computing the balance of a relationship

• BXY = (N XY N YX ) / (N XY N YX ) • BXY [-1, 1]

• N XY - number of times X took from Y

• N YX - number of times Y took from X