WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter...

48
WhatsUp: a P2P instant news item recommender Anne-Marie Kermarrec INRIA Rennes

Transcript of WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter...

Page 1: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp: a P2P instant news item recommender Anne-Marie Kermarrec INRIA Rennes

Page 2: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

The new deal

User centric: Web content is generated by you, me, your

friends and millions of others

Page 3: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Social networking in a 2 billion user world

1 billion accounts (Oct 2010)

20M unique/month

200M registered

10M (Oct 2011)

50M registered (Oct 2011)

6M unique/month

900M (Spring 2012)

15M registered 140,000 contributors on 30 days

Page 4: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

The new deal

A user-centric Web

A small world: everybody sits close to everybody else

Page 5: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

The new deal

User-centric

Small world

Navigation shift: Notification is taking over

Page 6: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Notification is taking over

Page 7: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:
Page 8: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:
Page 9: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

The new deal

User-centric

Small world

Navigation shift

Personalization around the corner:

recommendation, RSS feeds, social

networks, … Communications of the ACM June 2011

Page 10: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

A personalized environment

Page 11: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

We are not there yet

Amazon recommends me a fryer

Some of my Facebook friends write in Italian

LeMonde.fr informs me on the Champion’s ligue

Page 12: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Why is it so difficult?

•  Dynamic interests

•  Small portion of the available information is of interest

•  Interesting stuff does not come always from friends

•  Classical notification systems do not filter enough

Page 13: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

What’s wrong with centralized versions?

Privacy: Big Brother is watching you

Scaling issues

If you only knew the power of the Dark Side. – Darth Vader

Page 14: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

ACHIEVING PERSONALIZED NOTIFICATION IN A DECENTRALIZED WAY

Page 15: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

A call for decentralization

User-centric world

Small world

Navigation shift

Personalization

Privacy-aware

Scalable

Page 16: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp: a decentralized recommender

Page 17: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp: a decentralized news item recommender

Simple interface: I like it or I don’t

Create a dynamic implicit social network

Disseminate news along this topology

Page 18: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp in a nutshell

Page 19: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp challenges

Who are my social acquaintances

How to discover them?

How to disseminate news items?

How to preserve users’privacy

Similarity metric

Sampling

Biased epidemic protocol

Page 20: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Which nodes for the social network?

Model

U(sers) × I(tems) (news items)

Profile(u) = vector of liked news items

Cosine similarity metric

Minimal information: no tag, no user’s input

!"#"$%&"'(! !!! ! ! !!!! ! !

Page 21: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp challenges

Who are my social acquaintances?

How to discover them?

How to disseminate news items ?

How to preserve users’privacy

Through sampling

Page 22: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Gossip Protocols

Probabilistic approach

Goal: system to converge to a desirable outcome

Trade determinism for scalability & robustness

F. Taiani 22

Page 23: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Each node maintains a set of neighbors (k entries)

P Q

Data exchange

Data processing

Peer selection

Parameter Space

Gossip-based computing

Random Peer sampling [ACM TOCS 2007] achieves

random topologies

Page 24: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Random dynamic graph

N I

B

C D E

F

G B C D E

A

F G

C

D

E A

F G

C

N I

(1) peer list exchange (2) merge and truncation

one gossip round

shuf

fle Result ➙ random graph

Highly resilient against churn, partition

Small diameter

Page 25: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Sampling the network with gossip

Similarity computation

exchange of neighbors lists

neighborhood optimization 1 2

Alice Bob

Carl

Dave Ellie

Frank

Page 26: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

The WhatsUp social network

RPS layer providing random sampling

clustering layer gossip-based topology clustering

Social link Random link

Alice Bob

Carl

Dave

Ellie

Alice Bob

Carl

Dave

Ellie

node

Page 27: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Data structures

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP:port 132.154.8.5:2020

Bloom Filter

010111011001

Profile I like it: : N1, N2, … I don’t : N10

, N13, …

Update time

5

Social Network of the c

closest entries

Uniform (dynamic) sample of k

random entries

@IP:port 132.154.8.5:2020

Bloom Filter

010111011001

Profile I like it: : N1, N2, … I don’t : N10

, N13, …

Update time

5

@IP:port 132.154.8.5:2020

Bloom Filter

010111011001

Profile I like it: : N1, N2, … I don’t : N10

, N13, …

Update time

5

@IP:port 132.154.8.5:2020

Bloom Filter

010111011001

Profile I like it: : N1, N2, … I don’t : N10

, N13, …

Update time

5

@IP:port 132.154.8.5:2020

Bloom Filter

010111011001

Profile I like it: : N1, N2, … I don’t : N10

, N13, …

Update time

5

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

@IP: port 102.14.18.1:2110

Bloom Filter 100100000110

Update time 30

Exchange of Bloom filters

Page 28: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Convergence

Cycles

c current neighbors versus the c closest

Biased sampling

Random sampling

Page 29: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp challenges

Who are my social acquaintances

How to discover them?

How to disseminate news items ? Biased epidemic protocol (BEEP)

Page 30: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Epidemic dissemination

The log(n) magic Each node forwards the message to f nodes chosen uniformly at random If f=O(log(n)), “atomic” broadcast whp Result is valid if the fanout for each peer is on average

Fanout: log(n) + c

Random is connected : -c-e e p(connect) =

Page 31: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

BEEP: orientation and amplification

Orientation: to whom?

Forward to friends

Forward to random users

Amplification: to how many?

Increase fanout

Decrease fanout

Page 32: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

I like it: Exploit

Large fanout

F≈ log(N) friends in the social network

Forward to friends

Amplification: to how many?

Orientation: to whom?

Page 33: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

I don’t like it: Explore

Orientation: to whom?

Small fanout

Forward to random users

F= 1 node from the RPS, the closest to the news items profile

Amplification: to how many?

Page 34: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Beep

Page 35: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Evaluation

User Metrics: Recall-Precision

System metrics: Number of messages-Redundancy

Traces

•  Real trace from a 480 user survey on 1000 news items

•  Delicious and Digg crawls

Page 36: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp in action on the survey

Precision Recall Redundancy Messages Gossip

0.34 0.99 0.85 2.3 M

Cosine-CF

0.64 0.12 0.27 30k

Whatsup

0.53 0.78 0.28 280k

Page 37: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp in action

Fanout

0

0.2

0.4

0.6

0.8

1

3 4 5 6 7 8 9 10 11 12

F1

-Sco

re

Fanout

WhatsUpGossip

Cosine based CF

WhatsUp

Page 38: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

WhatsUp challenges

Who are my social acquaintances?

How to discover them?

How to disseminate news items ?

How to preserve users’privacy?

Page 39: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

A wide range

Blurring the profile

Anonymity: Onion-like solutions

Traditional privacy: threshold protocol

Differential privacy: distributed noise

STRONGER GARANTEES

Page 40: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Blurring the profile

Aggregation of profiles of users who liked

the news item

News item profile

Private User profile

User Profile exchanged

during gossip

Public User profile

User Profile used locally for

similarity computation

I like it

Page 41: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Impact of profile bluring

Fanout

0

0.2

0.4

0.6

0.8

1

2 4 6 8 10 12 14

F1-S

core

Fanout

Privacy-unaware-WupPrivacy-aware-Wup

Privacy-unaware WhatsUp WhatsUp

Page 42: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Resilience to attacks

0

0.2

0.4

0.6

0.8

1

0 16 32 48 64 80 96 112 128

Rec

all

Number of Attackers

WhatsUpPrivacy-unaware WhatsUp

Page 43: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Anonymity (sender and receiver)

Dissociates the profile from the user’s identifier

Additional Private RPS

Relay nodes from the RPS

Three types of keys

•  Chain keys (RPS)

•  Profile keys (Private RPS)

•  Symmetric keys for path anonymity A B

PA PB

Private RPS provides profile keys and proxys

Onion routing: chain of random nodes, keys provided by the RPS

Chain created of random nodes, keys assigned by the nodes

Page 44: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

P

Anonymous Profile exchange

A ProfileA

PA

RA

B

PB

RB

PB PA

RB

B

ProfileA

A encrypts its profile with Profilekey of B (Private RPS) Then with Chainkeys of RA and PA (RPS)

ProfileA

Page 45: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Profile hiding: threshold protocol

The profile might be enough to identify a user

Threshold

Nothing in common All in common

0.3 0.6 Alice

Bob

Homomorphic encryption

[Golreich 2003] operations performed

(multiplication, scalaring) directly

on cipher-texts.

Only one bit of information revealed

Page 46: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Differential Privacy

Ç√√ ?

? ƒ ε

•  Auxiliary knowledge •  Laplacian noise generation

[Dwork et al 2006] •  Independent noise generation:

Can be applied to cosine-similarity based measures

Page 47: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

To take away

Personalization is needed

Decentralization is healthy

Gossip-based computing is one (the) way to go

Page 48: WhatsUp: a P2P instant news item recommender · • Classical notification systems do not filter enough . What’s wrong with centralized versions ... item recommender Simple interface:

Thank you

www.gossple.fr Joint work with M. Alaggan, A. Boutet, D. Frey, S.

Gambs, A. Jégou (INRIA), R. Guerraoui (EPFL)