L-27 Social Networks and Other Stuff. Overview Social Networks Multiplayer Games Class Feedback Discussion 2.

Slides:



Advertisements
Similar presentations
Colyseus: A Distributed Architecture for Online Multiplayer Games
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Replication Strategies in Unstructured Peer-to-Peer Networks Edith Cohen Scott Shenker This is a modified version of the original presentation by the authors.
Scalable Content-Addressable Network Lintao Liu
Peer-to-Peer (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
Ningning HuCarnegie Mellon University1 Optimizing Network Performance In Replicated Hosting Peter Steenkiste (CMU) with Ningning Hu (CMU), Oliver Spatscheck.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
1 1 Chord: A scalable Peer-to-peer Lookup Service for Internet Applications Dariotaki Roula
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
Krishna P. Gummadi Networked Systems Research Group MPI-SWS
Identity Theft Protection in Structured Overlays Lakshmi Ganesh Ben Y. Zhao University of California, Santa Barbara NPSec 2005.
Authors Haifeng Yu, Michael Kaminsky, Phillip B. Gibbons, Abraham Flaxman Presented by: Jonathan di Costanzo & Muhammad Atif Qureshi 1.
Toward an Optimal Social Network Defense Against Sybil Attacks Haifeng Yu National University of Singapore Phillip B. Gibbons Intel Research Pittsburgh.
A Sybil-proof DHT using a social network Socialnets workshop April 1, 2008 Chris Lesniewski-Laas MIT CSAIL.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
1 Accessing nearby copies of replicated objects Greg Plaxton, Rajmohan Rajaraman, Andrea Richa SPAA 1997.
Haifeng Yu National University of Singapore
Sybil Attack Hyeontaek Lim November 12, 2010.
1 Defragmenting DHT-based Distributed File Systems Jeffrey Pang, Srinivasan Seshan Carnegie Mellon University Phillip B. Gibbons, Michael Kaminsky Intel.
Applications over P2P Structured Overlays Antonino Virgillito.
1 SybilGuard: Defending Against Sybil Attacks via Social Networks Haifeng Yu Michael Kaminsky Phillip B. Gibbons Abraham Flaxman Presented by John Mak,
©NEC Laboratories America 1 Hui Zhang Samrat Ganguly Sudeept Bhatnagar Rauf Izmailov NEC Labs America Abhishek Sharma University of Southern California.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
1 A Network Communication System for Large-Scale, High-Speed Games Ashwin Bharambe, Jeff Pang, Srini Seshan, Xinyu Zhang Carnegie Mellon John Douceur,
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Carnegie Mellon University Complex queries in distributed publish- subscribe systems Ashwin R. Bharambe, Justin Weisz and Srinivasan Seshan.
Mercury: Scalable Routing for Range Queries Ashwin R. Bharambe Carnegie Mellon University With Mukesh Agrawal, Srinivasan Seshan.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, Srini Seshan Carnegie Mellon University May 7,
Wide-area cooperative storage with CFS
Scaling Melees in Peer-to-Peer Games with Donnybrook Jeffrey Pang, Frank Uyeda, John Douceur, Jay Lorch.
SybilGuard: Defending Against Sybil Attacks via Social Networks Haifeng Yu, Michael Kaminsky, Phillip B. Gibbons, and Abraham Flaxman Presented by Ryan.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
A Locality Preserving Decentralized File System Jeffrey Pang, Suman Nath, Srini Seshan Carnegie Mellon University Haifeng Yu, Phil Gibbons, Michael Kaminsky.
Load Balancing in Structured P2P System Ananth Rao, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp, Ion Stoica IPTPS ’03 Kyungmin Cho 2003/05/20.
Peer-to-Peer Support for Massively Multiplayer Games Zone Federation of Game Servers : a Peer-to-Peer Approach to Scalable Multi-player Online Games [INFOCOM.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Gil EinzigerRoy Friedman Computer Science Department Technion.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Quantitative Evaluation of Unstructured Peer-to-Peer Architectures Fabrício Benevenuto José Ismael Jr. Jussara M. Almeida Department of Computer Science.
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
“SybilGuard: Defending Against Sybil Attacks via Social Networks” Authors: Haifeng Yu, Phillip B. Gibbons, and Suman Nath (several slides based on authors’)
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
15-744: Computer Networking L-22: P2P. Lecture 22: Peer-to-Peer Networks Typically each member stores/provides access to content Has quickly.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe To appear in NetGames’02.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Chord Advanced issues. Analysis Search takes O(log(N)) time –Proof 1 (intuition): At each step, distance between query and peer hosting the object reduces.
SybilGuard: Defending Against Sybil Attacks via Social Networks.
Computer Networking Lecture 27 – Research Directions.
Aug 22, 2002Sigcomm 2002 Replication Strategies in Unstructured Peer-to-Peer Networks Edith Cohen AT&T Labs-research Scott Shenker ICIR.
Bandwidth-Efficient Continuous Query Processing over DHTs Yingwu Zhu.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Peer-to-Peer (P2P) File Systems. P2P File Systems CS 5204 – Fall, Peer-to-Peer Systems Definition: “Peer-to-peer systems can be characterized as.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
CHAPTER 3 Architectures for Distributed Systems
Networked Systems Practicum
Peer-to-Peer (P2P) File Systems
Peer-to-Peer Storage Systems
EECS 498 Introduction to Distributed Systems Fall 2017
Presentation transcript:

L-27 Social Networks and Other Stuff

Overview Social Networks Multiplayer Games Class Feedback Discussion 2

Background: Sybil Attack Sybil attack: Single user pretends many fake/sybil identities  Creating multiple accounts from different IP addresses Sybil identities can become a large fraction of all identities  Out-vote honest users in collaborative tasks launch sybil attack honest malicious 3

Background: Defending Against Sybil Attack Using a trusted central authority  Tie identities to actual human beings Not always desirable  Can be hard to find such authority  Sensitive info may scare away users  Potential bottleneck and target of attack Without a trusted central authority  Impossible unless using special assumptions [Douceur’02]  Resource challenges not sufficient -- adversary can have much more resources than typical user 4

SybilGuard Basic Insight: Leveraging Social Networks Undirected graph Nodes = identities Edges = strong trust  E.g., colleagues, relatives Our Social Network Definition 5

SybilGuard Basic Insight malicious user honest nodes sybil nodes Observation: Adversary cannot create extra edges between honest nodes and sybil nodes attack edges n honest users: One identity/node each Malicious users: Multiple identities each (sybil nodes) Sybil nodes may collude – the adversary 6

SybilGuard Basic Insight honest nodes sybil nodes Dis-proportionally small cut disconnecting a large number of identities But cannot search for such cut brute- force… 7

Goal of Sybil Defense Goal: Enable a verifier node to decide whether to accept another suspect node  Accept: Provide service to / receive service from  Idealized guarantee: An honest node accepts and only accepts other honest nodes SybilGuard:  Bounds the number of sybil nodes accepted  Guarantees are with high probability  Approach: Acceptance based on random route intersection between verifier and suspect 8

Random Walk Review pick random edge d pick random edge c pick random edge e a bd e f c 9

Random 1 to 1 mapping between incoming edge and outgoing edge Random Route: Convergence Using routing table gives Convergence Property  Routes merge if crossing the same edge 10 a  d b  a c  b d  c d  e e  d f  f a b c d e f randomized routing table

Random Route: Back-traceable Using 1-1 mapping gives Back-traceable Property  Routes may be back-traced 11 a  d b  a c  b d  c d  e e  d f  f a b c d e f If we know the route traverses edge e, then we know the whole route

Random Route Intersection: Honest Nodes Verifier accepts a suspect if the two routes intersect  Route length w:  W.h.p., verifier’s route stays within honest region  W.h.p., routes from two honest nodes intersect sybil nodeshonest nodes Verifier Suspect 12

Random Route Intersection: Sybil Nodes SybilGuard bounds the number of accepted sybil nodes within g*w  g: Number of attack edges  w: Length of random routes Next …  Convergence property to bound the number of intersections within g  Back-traceable property to bound the number of accepted sybil nodes per intersection within w 13

Bound # Intersections Within g Convergence: Each attack edge gives one intersection  at most g intersections with g attack edges sybil nodeshonest nodes Verifier Suspect must cross attack edge to intersect even if sybil nodes do not follow the protocol same intersection Intersection = (node, incoming edge 14

Bound # Sybil Nodes Accepted per Intersection within w Back-traceable: Each intersection should correspond to routes from at most w honest nodes Verifier accepts at most w nodes per intersection  Will not hurt honest nodes Verifier for a given intersection 15

Summary of SybilGuard Guarantees Power of the adversary:  Unlimited number of colluding sybil nodes  Sybil nodes may not follow SybilGuard protocol W.h.p., honest node accepts ≤ g*w sybil nodes  g: # of attack edges  w: Length of random route If SybilGuard bounds # accepted sybil nodes within Then apps can do n/2n/2byzantine consensus nmajority voting not much larger than n effective replication 16

Overview Social Networks Multiplayer Games Class Feedback Discussion 17

Individual Player’s View Interactive environment (e.g. door, rooms) Live ammo Monsters Players Game state 18

High-Speed, Large-Scale, P2P: Pick 2 Many console games are peer hosted to save costs Limits high-speed games to 32 players player games need dedicated servers High-speed Large-scale P2P Question: Can we achieve all 3? 19

P2P Internet Primary object Local View Replica objects 20

High-Speed Internet Local View Inter-object writes must be reflected very quickly Primary object Replica objects 21

High-Speed Internet Local View Replica objects 20 updates/sec ≈ 16 kbps per player Delay must be < 150ms [Beigbeder ‘04] Primary object 22

Large-Scale Internet Bandwidth per Player (Mbps) 23

Area-of-Interest (AOI) Filtering Large shared world  Composed of map information, textures, etc  Populated by active entities: user avatars, computer AI’s, etc Only parts of world relevant to particular user/player Player 1 Player 2 Game World 24

Object Model Game world treated as collection of objects Single primary copy for each object  Maintained at a single owner node  Serialization point for updates  Determines actions/behavior of object Secondary replicas  Primary object may need to examine other objects to determine action  Need low latency access to object  must replicate object in advance How to find set of objects to replicate?  hardest part 25

Object Discovery –Solution Use publish-subscribe to “register” long-lived distributed lookups Publications created each time object is updated (or periodically when no update is done)  Publication contents = state of object Player x ≥ 50 x ≤ 150 y ≥ 150 y ≤ 250 Interests x 100 y 200 Events (100,200) (150,150) (50,250) Arena Virtual World 26

Publish-Subscribe (PubSub) Overview Key feature  subscription language  Subject/channel-based subscriptions (e.g. all publications on the IBM stock channel)  Rich database-like subscription languages (e.g. all publications with name=IBM and volume > 1000) State-of-the-art  Scalable distributed designs with channel-based subscriptions  Unscalable distributed designs with rich subscriptions  Goal  scalable distributed design with “richer” subscriptions  Example: x ≤ 200 & y < 100  Support for multi-dimensional range predicates Subscription Publications Publishers produce events Subscribers register their interests 27

Using DHTs for Range Queries No cryptographic hashing for key  identifier No cryptographic hashing for key  identifier Query: 6  x  13 key = 6  0xab key = 7  0xd3 … key = 13  0x12 0x00 0x70 0xf0 0x30 0xb0 0x20 0xc0 0xd0 0x10 0xe0 0xa0 0x90 0x80 0x40 0x50 0x60 Query: 6  x  13 28

Using DHTs for Range Queries Nodes in popular regions can be overloaded Load imbalance! 29

DHTs with Load Balancing Mercury load balancing strategy  Re-adjust responsibilities Range ownerships are skewed! 30

DHTs with Load Balancing 0x00 0x30 0xa0 0xb0 0xd0 Finger pointers get skewed! Popular Region 0x90 0x80 0xf0 0xe0 Each routing hop may not reduce node-space by half!  no log(n) hop guarantee 31

Ideal Link Structure 0x00 0x30 0xa0 0xb0 0xd0 Popular Region 0x90 0x80 0xf0 0xe0 32

Mercury Values Nodes If we had the above information… For finger i  Estimate value v for which 2 i th node is responsible node-distance Need to establish links based on node-distance 48 v4v4 v8v8 33

Mercury Values Nodes node-distance Need to establish links based on node-distance 48 v4v4 v8v8 Values Node-density Piece-wise linear approximationHistogram 34

Histogram Maintenance 0xf0 0x00 0x70 0xa0 0xb0 0xd0 0x90 0x80 0xe0 0x30 Request sample (Range, density) Measure node- density locally Gossip about it! Values Node-density (Range, density) 35

Load Balancing Basic idea: leave-rejoin Steps  Find average, check if heavy or light  Light nodes perform a leave and rejoin Average Heavy Light Load histogram Load 36

M ERCURY Routing [Sigcomm 2004] Send subscription to any one attribute hub Send publications to all attribute hubs Tunable number of long links  can range from full-mesh to DHT-like [0, 80) [210, 320) 50 ≤ price ≤ ≤ volume ≤ 250 price 100 volume 200 H price [240, 320) [80, 160) [160, 240) H volume [0, 105) [105, 210) Subscription Publication Rendezvous point 37

Object Discovery – Basic Design Use publish-subscribe to “register” long-lived distributed lookups Publications created each time object is updated (or periodically when no update is done)  Publication contents = state of object Player x ≥ 50 x ≤ 150 y ≥ 150 y ≤ 250 Interests x 100 y 200 Events (100,200) (150,150) (50,250) Arena Virtual World 38

Prefetching and Persistence Basic design has problems  Collecting/updating existing state is too slow  High subscription update rate 1 st fix  use Mercury only for object discovery and not state update 2 nd fix  persistent publications/subscriptions  Publication lifetimes  subsequent subscriptions would immediately trigger transmission  Subscription lifetimes  enabled soft-state approach to subscriptions 3 rd fix  predict future subscriptions Creates a new hybrid of persistent storage and pubsub 39

Colyseus Architecture Overview Object LocationReplica Management 1. Specify Predicted Interests: (5 < X < 60 & 10 < y < 200) TTL 30sec 2. Locate Remote Objects: P3 on s2, P4 on s2 3. Register Replicas: R3 (to s2), R4 (to s2) 4. Synch Replicas: R3, R4 Mercury server s2 R5 R3R4 P1 P2 Object Store server s1 P3P4 Object Placement 5. Infer Interests: R3, R4, P2 5. Optimize Placement: migrate P1 to server s2 P1 40

Demo Synthetic game used for evaluation 41

42 View Inconsistency Observations: 1. View inconsistency is small and gets repaired quickly 2. Missing objects on the periphery Observations: 1. View inconsistency is small and gets repaired quickly 2. Missing objects on the periphery no delay 100 ms delay 400 ms delay

Area-of-Interest (AOI) Filtering Only receive updates from players in your AOI  Colyseus [Bharambe ‘06]  VON [Hu ‘06]  SimMUD [Knutsson ’04] Problems:  Open-area maps, large battles  Region populations naturally follow a power- law [Bharambe ‘06, Pittman ‘07] Requirement: ~1000 players in same AOI Low populationHigh population Quake 3 region popularity 43

Smoothing Infrequent Updates Send guidance (predictions) i nstead of state updates Guidable AI extrapolates transitions between points  E.g., game path-finding code guidance Actual path ? ? Problem: Predictions are not always accurate – Interactions appear inconsistent – Jarring if player is paying attention Replica object 44

Donnybrook: Interest Sets Intuition: A human can only focus on a constant number of objects at once [Cowan ‘01, Robson ‘81] Only need a constant number of high-accuracy replicas Interest Set: The 5 players that I am most interested in  Subscribe to these players to receive 20 updates/sec  Only get 1 update/sec from everyone else Me My Interest Set 45

Donnybrook: Interest Sets How to estimate human attention? –Attention(i) = how much I am focused on player i d1d1 d2d2 θ1θ1 θ2θ2 Player 1Player 2 46

= Interest Set Not in Interest Set 47

48

49

50

Existing Distributed File Systems Each server responsible for pseudo-random range of ID space Object are given pseudo-random IDs

Preserving File Locality Use Mercury to store data Bill Bob Docs bid0… 61 1… 61 2… useridpath encode blockid

Benefits Order preserving placement achieves availability within one ‘9’ of the optimal placement. Order preserving placement can speedup task latency by %.  Larger networks see greater speedup. Availability Improvement Request Speedup 53

Continuous Load Balancing Mercury can balance file system load better than existing systems even under very skewed write patterns 54

Overview Social Networks Multiplayer Games Class Feedback Discussion 55

Discussion Lecture topics?  Balance of networking/dist sys/ubiq?  Research/adv topics/practical engineering? Text book vs. papers vs. lectures Projects  Free form vs. proposed Android vs. no Android? 56