Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.

Slides:



Advertisements
Similar presentations
Peer-to-Peer Infrastructure and Applications Andrew Herbert Microsoft Research, Cambridge
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
Search and Replication in Unstructured Peer-to-Peer Networks Pei Cao, Christine Lv., Edith Cohen, Kai Li and Scott Shenker ICS 2002.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Responder Anonymity and Anonymous Peer-to-Peer File Sharing. by Vincent Scarlata, Brian Levine and Clay Shields Presentation by Saravanan.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
Protecting Free Expression Online with Freenet Presented by Ho Tsz Kin I. Clarke, T. W. Hong, S. G. Miller, O. Sandberg, and B. Wiley 14/08/2003.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
Object Naming & Content based Object Search 2/3/2003.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
P2P File Sharing Systems
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Information-Centric Networks05b-1 Week 5 / Paper 2 A survey of peer-to-peer content distribution technologies –Stephanos Androutsellis-Theotokis, Diomidis.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
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.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Introduction of P2P systems
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
SOS: Security Overlay Service Angelos D. Keromytis, Vishal Misra, Daniel Rubenstein- Columbia University ACM SIGCOMM 2002 CONFERENCE, PITTSBURGH PA, AUG.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
P2PComputing/Scalab 1 Gnutella and Freenet Ramaswamy N.Vadivelu Scalab.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
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.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
CS 268: Lecture 22 (Peer-to-Peer Networks)
EE 122: Peer-to-Peer (P2P) Networks
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Unstructured Routing : Gnutella and Freenet
Presentation transcript:

Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey

Jonathan Walpole CSE515 - Distributed Computing Systems 2 Group Models and Peer to Peer Computing Jonathan Walpole Department of Computer Science & Engineering OGI/OHSU

Jonathan Walpole CSE515 - Distributed Computing Systems 3 Structured Group Models

Jonathan Walpole CSE515 - Distributed Computing Systems 4 Server Groups Model Client-server architecture with replicated servers server group hides individual servers from clients open group architecture with well-known group name servers may be organised to improve availability or performance

Jonathan Walpole CSE515 - Distributed Computing Systems 5 Groups to Enhance Availability

Jonathan Walpole CSE515 - Distributed Computing Systems 6 Highly Available Service Architecture Goal fail-over support for high availability during upgrades or faults Consistency issues replicas must be synchronised to prevent repeated or missed actions needs virtual synchrony and totally ordered, reliable communication Server group architecture centralized approach (master & slaves) decentralized approach (majority or weighted voting schemes)

Jonathan Walpole CSE515 - Distributed Computing Systems 7 Diffusion and Consolidation with Replicated Servers

Jonathan Walpole CSE515 - Distributed Computing Systems 8 Groups to Enhance Performance

Jonathan Walpole CSE515 - Distributed Computing Systems 9 Server Groups Model for Performance Server groups process different requests in parallel

Jonathan Walpole CSE515 - Distributed Computing Systems 10 High Performance Service Architecture Each server handles a different request Diffusion mechanism hands out requests Consolidation is trivial - servers send result directly to client Or, each server computes a different part of the result Diffusion mechanism distributes request parts Consolidation mechanism combines result parts

Jonathan Walpole CSE515 - Distributed Computing Systems 11 Coordination

Jonathan Walpole CSE515 - Distributed Computing Systems 12 Transactions Data consistency semantics may impose constraints on the order in which requests or request parts can be processed serialization degrades performance serializability allows parallelism but guarantees that outcome is equivalent to some serial order transactions use synchronization primitives, such as locks, on individual data items, and follow locking rules to ensure ordering of groups of requests

Jonathan Walpole CSE515 - Distributed Computing Systems 13 Serialization

Jonathan Walpole CSE515 - Distributed Computing Systems 14 Reliable, High Performance Server Groups

Jonathan Walpole CSE515 - Distributed Computing Systems 15 Groups for Dissemination

Jonathan Walpole CSE515 - Distributed Computing Systems 16 Dissemination Model Publish-subscribe architecture clients subscribe to a service and join a group servers “push” results to the group example content distribution networks (CDNs)

Jonathan Walpole CSE515 - Distributed Computing Systems 17 Unstructured Group Models

Jonathan Walpole CSE515 - Distributed Computing Systems 18 Proxies Proxy a node that plays the role of both a client and a server in true peer to peer systems all nodes can be thought of as proxies ClientServer ClientServer

Jonathan Walpole CSE515 - Distributed Computing Systems 19 Peer to Peer Model P PP Communication in peer to peer systems use underlying group communication support define overlay networks to implement group communication

Jonathan Walpole CSE515 - Distributed Computing Systems 20 Broadcast and Multicast Communication

Jonathan Walpole CSE515 - Distributed Computing Systems 21 IP Multicast IP-level support for multicast special IP address for multicast group (class D) multicast forwarding support built in to routers nodes may join and leave the group dynamically membership changes affect forwarding behavior at routers groups dynamically created and deleted via session directory local groups limit propagation with TTL on packets Properties of IP Multicast messages only travel once over each link reliability? congestion control?

Jonathan Walpole CSE515 - Distributed Computing Systems 22 Multicast Overlays Overlay networks Overlay routers are end hosts instead of IP-level routers may use higher level protocols such as TCP between routers can create virtual networks mapped onto the underlying Internet packets go once over each link in the overlay, but may go many times of the same underlying link! Overlays are at the core of true peer to peer systems ideally they are efficient, scaleable, self-repairing and attack proof new nodes should be able to discover their local “routers” nodes should be able to join / leave without disrupting the network

Jonathan Walpole CSE515 - Distributed Computing Systems 23 Example Peer to Peer Systems

Jonathan Walpole CSE515 - Distributed Computing Systems 24 Napster

Jonathan Walpole CSE515 - Distributed Computing Systems 25 Napster Centralized approach to coordination and query processing Point to point (peer to peer) data transfer Other systems such as TrueDisk take a similar approach, but with caching & translation also done at the server Single point of failure/attack server may be replicated, but service is easy to shut down Widely used example of a structured peer to peer system

Jonathan Walpole CSE515 - Distributed Computing Systems 26 Gnutella

Jonathan Walpole CSE515 - Distributed Computing Systems 27 Gnutella Unstructured, “decentralized”, true peer to peer system Overlay network of peers instead of central server Peer discovery based on flooding ping/pong approach Discovery of data based on flooding queries Robust, but not scalable, even with TTL on messages exponential traffic growth limits scalability slow participants get swamped

Jonathan Walpole CSE515 - Distributed Computing Systems 28 Enhancements to Gnutella Reflector proxies to protect low bandwidth participants Bandwidth capacity matching to group participants based on pong filtering Pong caching for suppression of ping propagation trades stale view of overlay for improved bandwidth efficiency Query-hit caching for suppression of query propagation trades stale view for improved bandwidth efficiency good for power-law networks how to discover new nodes? Expanding ring using incrementally expanding TTL good for small-world networks

Jonathan Walpole CSE515 - Distributed Computing Systems 29 Enhancements to Gnutella Random walk trades response time for bandwidth efficiency can be biased towards well connected nodes can use parallel walks good for power-law and small world networks Flow control refines walk to prevent hot-spots Query routing requires that peers share information about resources in order to construct routing tables routing enhances probability of finding the desired item

Jonathan Walpole CSE515 - Distributed Computing Systems 30 Freenet

Jonathan Walpole CSE515 - Distributed Computing Systems 31 Freenet True P2P, no centralized directory Discovery based on query routing instead of broadcast distributed discovery and routing infrastructure Distributed file caching for replication/availability transparent to users caching strategy and routing approach are complementary

Jonathan Walpole CSE515 - Distributed Computing Systems 32 Freenet Naming via location-independent keys keys produced by hashing file keywords or file content combining them with public/private keys to create protected/unique name spaces Each node has files and a routing table

Jonathan Walpole CSE515 - Distributed Computing Systems 33 Freenet File placement / propagation: create key insert key locally (if unique) and set TTL forward key to "nearest" node in route table (closest hash value) if unique it is inserted, otherwise returned if still unique when TTL expires placement has succeeded the file is stored at each node along the propagation path results in file copies being placed on nodes with "similar" files (giving some kind of locality) LRU used for storage management (same as caching) no guarantee of permanence!

Jonathan Walpole CSE515 - Distributed Computing Systems 34 Freenet Discovery: given a key, look locally, then look for nearest key (closest hash value) in route table and route request there. TTL expiry generates a “failure” reply message failure messages cause the receiving node to try another candidate with the next closest key no more candidates to try results in a failure reply message Caching: cache file on every node in reverse path and adjust routing tables localizes copies around nodes that use them uses LRU replacement algorithm to manage space quality of routing improves / becomes specialized over time