Distributed Computing Systems (Slides for Final Class)

Slides:



Advertisements
Similar presentations
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Advertisements

Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Kademlia: A Peer-to-peer Information System Based on the XOR Metric Petar Mayamounkov David Mazières A few slides are taken from the authors’ original.
Aspects of Networking in Multiplayer Computer Games J. Smed, T. Kaukoranta and H. Hakonen The Electronic Library Volume 20, Number 2, Pages
Aspects of Networking in Multiplayer Computer Games J. Smed, T. Kaukoranta and H. Hakonen The Electronic Library Volume 20, Number 2, Pages
Network synchronization of Online Games Li, Zetan.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
An Overview of Peer-to-Peer Networking CPSC 441 (with thanks to Sami Rollins, UCSB)
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Spotlighting Decentralized P2P File Sharing Archie Kuo and Ethan Le Department of Computer Science San Jose State University.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
The Effects of Latency on Player Performance in Cloud-based Games Mark Claypool and David Finkel Computer Science and Interactive.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
CS 640: Introduction to Computer Networks Yu-Chi Lai Lecture 18 - Peer-to-Peer.
P2P File Sharing Systems
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Lecturer: Ghadah Aldehim
1 P2P Computing. 2 What is P2P? Server-Client model.
Introduction of P2P systems
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai.
Architectures of distributed systems Fundamental Models
Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
1 UNIT 13 The World Wide Web Lecturer: Kholood Baselm.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 24 - Peer-to-Peer.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
Multiplayer games on networks potential and tradeoffs.
Hui Zhang, Fall Computer Networking CDN and P2P.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
The Effects of Latency on Player Performance in Cloud-based Games Mark Claypool and David Finkel Worcester Polytechnic Institute 1 In Proceedings of the.
Distributed Computing Systems Peer-to-Peer. Definition of Peer-to-Peer (P2P) Significant autonomy from central servers Exploits resources at edges of.
1 UNIT 13 The World Wide Web. Introduction 2 The World Wide Web: ▫ Commonly referred to as WWW or the Web. ▫ Is a service on the Internet. It consists.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Distributed Computing Systems Network Games. References / Reading [BT01] P. Bettner and M. Terrano Archers on a 28.8: Network Programming in Age.
CHAPTER 3 Architectures for Distributed Systems
Distributed Systems CDN & Peer-to-Peer.
مظفر بگ محمدی دانشگاه ایلام
Peer to Peer Information Retrieval
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
#02 Peer to Peer Networking
Presentation transcript:

Distributed Computing Systems (Slides for Final Class)

Outline Network Games – Architectures – Compensation techniques – Cheating – Cloud games Peer-to-Peer Systems – Overview – P2P file sharing

Communication Architectures Split-screen - Limited players All peers equal -Easy to extend -Doesn’t scale (LAN only) Central server - Clients only to server -Server may be bottleneck Server pool -Improved scalability -More complex

Data and Control Architectures Want consistency – Same state on each node – Needs tightly coupled, low latency, small nodes Want responsiveness – More computation locally to reduce network – Loosely coupled (asynchronous) In general, cannot do both  Tradeoffs

“Relay” Architecture Abstraction Want control to propagate quickly so can update data (responsiveness) Want to reflect same data on all nodes (consistency)

Relay Architecture Choices (Example: Dumb terminal, send and wait for response) (Example: Smart terminal, send and echo)

Network Game Architectures Centralized – Use only two-way relay (no short-circuit) – One node holds data so view is consistent at all times – Lacks responsiveness Distributed and Replicated – Allow short-circuit relay, provides responsiveness – What about consistency?  Make design decisions Replicated has copies, used when predictable (e.g., behavior of non-player characters) Distributed has local node only, used when unpredictable (e.g., behavior of players)

Outline Network Games – Architectures(done) – Compensation techniques(next) – Cheating – Cloud games Peer-to-Peer Systems – Overview – P2P file sharing

Interest Management – Auras Nodes express area of interest to them – Do not get messages for outside areas - Only world information in circle/sent sent even if world is larger - Side benefit  can prevent cheating (later)

Dead Reckoning When prediction differs and adjust, get “warping” or “rubber-banding” effect –Some techniques move smoothly to place over short time (predicted position) (actual position) (“warp”) Based on ocean navigation techniques (“dead” == “deduced (ded.)”) Predict position based on last known position plus direction – Only send updates when deviates past threshold

Time Delay Server delays processing of events – Wait until all messages from clients arrive – (Note, game plays at highest round-trip time) Server sends messages to more distant client first, delays messages to closer – Needs accurate estimate of round-trip time Time Client 1 command arrives Client 2 command arrives Server processes both client commands Time Delay

Time Warp With network latency, must lead opponent to hit (even with “instant” weapon!) Instead, knowing latency roll-back (warp) to when action took place – Usually, estimate latency as ½ round-trip time Client 100 ms behind Still hits (note blood) (Boxes are bounding boxes)

Time Warp Notes Inconsistency – Player target – Move around corner – Warp back  hit – Bullets seem to “bend” around corner!  “Magic” bullets Fortunately, player often does not notice – Doesn’t see opponent – May be just wounded

Outline Network Games – Architectures(done) – Compensation techniques(done) – Cheating(next) – Cloud games Peer-to-Peer Systems – Overview – P2P file sharing

Cheating Unique to games – Other multi-person applications don’t have – e.g, Distributed Interactive Simulation (DIS), not public, “employees” so considered trustworthy Cheaters want: – Vandalism – create havoc (relatively few). Mostly, game design to prevent (e.g., no friendly fire) – Dominance – gain advantage (more) Next slides

Packet and Traffic Tampering Packet interception – prevent some packets from reaching cheater – e.g., suppress damage packets, so cheater is invulnerable Packet replay – repeat event over for added advantage – e.g., multiple bullets or rockets if otherwise limited Solutions: – MD5 Checksum or Encrypt packets – Authoritative host keeps within bounds

Packet Tampering Reflex augmentation - enhance cheater’s reactions – e.g., aiming proxy monitors opponents movement packets, when cheater fires, improve aim Tough to detect – e.g., PunkBuster – scan for “known” hacks – False positives? aimbot human S. Yeung and J. Lui. “Dynamic Bayesian approach for detecting cheats in multi- player online games”, Springer Multimedia Systems, Vol. 14, No. 4 Sep

Information Exposure Allows cheater to gain access to replicated, hidden game data (e.g. status of other players) – Passive, since does not alter traffic – e.g., ignore “fog of war” in RTS, or “wall hack” to see through walls in FPS Cannot be defeated by network alone Instead: – Sensitive data should be encoded – Kept in hard-to-detect memory location – Centralized server may detect cheating (e.g., attack enemy could not have seen)

Outline Network Games – Architectures(done) – Compensation techniques(done) – Cheating(done) – Cloud games(next) Peer-to-Peer Systems – Overview – P2P file sharing

Cloud-based Games Connectivity and capacity of networks growing Opportunity for cloud-based games – Game processing on servers in cloud – Stream game video down to client – Client displays video, sends player input up to server 20 Server Thin ClientCloud Servers Player input Game frames

Why Cloud-based Games? Potential elastic scalability – Overcome processing and storage limitations of clients – Avoid potential upfront costs for servers, while supporting demand Ease of deployment – Client “thin”, so inexpensive ($100 for OnLive console vs. $400 for Playstation 4 console) – Potentially less frequent client hardware upgrades – Games for different platforms (e.g., Xbox and Playstation) on one device Piracy prevention – Since game code is stored in cloud, server controls content and content cannot be copied – Unlike other solutions (e.g., DRM), still easy to distribute to players Click-to-play – Game can be run without installation

Cloud Game - Modules (1 of 2) Input (i) – receives control messages from players Game logic – manages game content Networking (n) – exchanges data with server Rendering (r) – renders game frames How to put in cloud?

Cloud Game - Modules (2 of 2) “Cuts” 1.All game logic on player, cloud only relay information (traditional network game) 2.Player only gets input and displays frames (remote rendering) 3.Player gets input and renders frames (local rendering)

Application Streams vs. Game Streams Traditional thin client applications (e.g., x-term, remote login shell): – Relatively casual interaction e.g., typing or mouse clicking – Infrequent display updates e.g., character updates or scrolling text Computer games: – Intense interaction e.g., avatar movement and shooting – Frequently changing displays e.g., 360 degree panning Approximate traffic analysis – 70 kb/s traditional network game – 700 kb/s virtual world – kb/s live video (HD) – kb/s pre-recorded video Cloud-based games? – 7000 kb/s (HD) Challenge: Latency since player input requires round-trip to server before player sees effects

Outline Network Games(done) – Architectures(done) – Compensation techniques(done) – Cheating(done) – Cloud games(done) Peer-to-Peer Systems(next) – Overview – P2P file sharing

Definition of Peer-to-Peer (P2P) Significant autonomy from central servers Exploits resources at edges of Internet – Storage and content – Multicast routing – CPU cycles – Human knowledge (e.g., recommendations, classification) Resources at edge may have intermittent connectivity

P2P Includes P2P communication – Instant messaging – Voice-over-IP (e.g., Skype) P2P multicast routing – e.g., Mbone, Yoid, Scattercast P2P computation – e.g., P2P systems built on overlays – e.g., PlanetLab P2P file sharing – e.g., Napster, gnutella, KaZaA, eDonkey, BitTorrent …

P2P File Sharing – General Alice runs P2P client on her laptop Registers her content in P2P system Asks for “Hey Jude” Application displays other peers with copy Alice choses one, Bob File is copied from Bob’s computer to Alice’s  P2P While Alice downloads, others upload

P2P File Sharing Capabilities Allows Alice to show directory in her file system – Anyone can retrieve file from it – Like Web server Allows Alice to copy files from other’s – Like Web client Allows users to search nodes for content based on keyword matches – Like search engine (e.g., Google)

Example: Searching Internet N1N1 N2N2 N3N3 N6N6 N5N5 N4N4 Publisher Key=“title” Value=MP3 data… Client Lookup(“title”) ? 1000’s of nodes Set of nodes may change Needles versus Haystacks Searching for top 40 pop song? Or obscure punk track ‘81 nobody’s heard of? Search expressiveness Whole word? Regular expressions? File names? Attributes? Whole-text search?

P2P File Sharing Systems CentralFloodSuper- node flood Route Whole FileNapsterGnutellaFreenet Chunk Based BitTorrent (swarm) KaZaA (bytes) (DHTs) eDonkey2k New BT

Centralized ( napster.com ) Napster: Publish I have X, Y, and Z! Publish insert (X, )

Centralized ( napster.com ) Napster: Search Where is file A? Query Reply search(A)  returns  returns … Fetch Client “pings” each host, picks closest

Napster: Discussion Pros – Simple – Search scope is O(1) – Controllable (pro or con?) Cons – Single point of failure – Server maintains O(N) state – Server does all processing – (Napster’s server farm had difficult time keeping up with traffic)

I have file A. Query Flooding (e.g., Gnutella) Where is file A? Query Reply

Flooding Discussion Pros – Fully de-centralized – Search cost distributed – each node permits powerful search semantics Cons – Search scope is O(N) – Search time is O(???) – depends upon “height” of tree – Nodes leave often, network unstable Hop-limited search works well for haystacks – For scalability, does NOT search every node. May have to re- issue query later

Flooding with Supernodes (e.g., KaZaA) Architecture – Hierarchical – Cross between Napster and Gnutella Some nodes better connected, longer connected than others – Use them more heavily – Super Nodes “Smart” query flooding – Only flood through Super Nodes – Only one Super Node replies “Super Nodes”

Supernodes: Publish I have X! Publish insert(X, )

Supernodes: Search Where is file A? Query search(A) --> search(A) --> Replies

Supernode Flooding Discussion Pros – Take into account node heterogeneity Bandwidth Host computational resources Host aavailability – May take into account network locality – Scales better Cons – Still no real guarantees on search scope or search time Similar behavior to plain flooding, but better

Fetching in Parallel and Swarming (e.g., BitTorrent) When have file ID, get list of peers with ID Download in parallel from multiple peers “Swarming” – Download from others downloading same object at same time (tit-for-tat)

Fetching in Parallel and Swarming (e.g., BitTorrent) When have file ID, get list of peers with ID Download in parallel from multiple peers ⁻Use “rarest first” algorithm to increase availability “Swarming” – Download from others downloading same object at same time tracks peers participating in torrent

BitTorrent: Publish/Join Tracker

BitTorrent: Fetch

BitTorrent: Summary Pros – Works reasonably well in practice – Gives peers incentive to share resources; avoids freeloaders Cons – Central tracker server needed to bootstrap swarm – Tracker is a design choice, not a requirement Newer variants use a “distributed tracker” - a Distributed Hash Table (DHT)