A matter of scale

Download Report

Transcript A matter of scale

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

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

What are Peer to Peer (P2P) systems?

• Networked applications (“

servents”)

that act as both

serv

ers (producers) and cli

ents

(consumers) of shared resources.

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

COMTELLA

Helen Bretzke CRA-W and NSERC Summer’ 2002 project • A P2P (Gnutella based) system for Christopher Cox file sharing and service NSERC Summer – users share academic papers, code 2002 project snippets, help • non-centralized digital library for a Lingling Sun undergraduate project research group / class Yamini Upadrashta • motivation and community-building Graduate student

What is a free-rider?

The press calls them “cyberparasites” Resentful peers call them “leeches”...

A proper definition:

A free-rider is a user who consumes far more resources 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)

What’s the real problem?

Many call free-riding the “tragedy of the digital commons” Others claim that this a poor analogy.

Beyond P2P

In

any

online community where there are

costs

associated with sharing, free riding can bring the system to its knees.

…e.g. I-Help

I-Help deployment results

2 years, 2000+ users, and Colombia all undergrad CS classes at the UofS, also in the UK, France 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.

Why do they do it?

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

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

Users are lagging in a paradigm shift .

How can we convert piglets into peers?

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

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

• generate and promote a strong sense of this community.

Levels of participation

• Bring new files, give help • Provide disk space / processor time • Dispatch requests • Stay on-line • Use and quit

How to motivate participation?

Why do people offer their time and resources? Different people have different motivations:  Some are altruists altruistic   Some would help their friends and hope to make new friends through helping Some seek glory socially motivated  Some seek high marks  or money… materialistic

Know your user!

Modelling

• 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 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

Modelling user interests

• Define a taxonomy (e.g. ACM subject index) of subject categories • Keep track of the categories (  user interests) of queries • 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 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 of search – form a neighborhood for search using the best relationships (“friends”) in the area • Propagate farther queries of “friends”

Motivating participation Reinforcing / 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 !

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.

Social awareness

In isolation, selfishness is logical.

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

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

• Provides visual feedback

A matter of scale

• Resolves scale • Attractive & interesting An astronomical metaphor

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)

Shared interests

Ranking of peers

Visual semantics Brightness ~ reciprocity Size ~ strength of relationship Position ~ overall rank

Prompting reflection

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

• Give real-time feedback unobtrusive peripheral animations ‘whispered’ messages (soft text) • If user is curious, she can read the text

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

“take-home” messages

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

• Modelling social aspects of user behaviour – as an engine for generating personalized community views – for book-keeping needed to reward participation – to adapt the environment and assure better QoS

Not the end…

Computing user type

• The measure of user cooperativeness at time t

C(w t , t) = i * C(w t-1 , t-1) + (1 - i) * w t , 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)*

S

Y (B XY ) 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

.

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.

S a (e t , t) = i * S a (e t-1 , t-1) + (1 - i) * e t

where

e t

 [0, 1] is calculated as

e t d = 1 + level_distance

between the level of the sub-area of the query and the level of the area hierarchy. Currently, the ontology hierarchy has only 2 levels, so

e t

= 0.5

a = 1/ d

, in the ontology

Computing the balance of a relationship

• B XY = (N X  Y N Y  X ) / (N X  Y + N Y  X ) • B XY  [-1, 1] • N X  Y • N Y  X - number of times X took from Y - number of times Y took from X