1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.

Slides:



Advertisements
Similar presentations
Peer-to-Peer (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
Advertisements

Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
Peer-to-Peer Distributed Search. Peer-to-Peer Networks A pure peer-to-peer network is a collection of nodes or peers that: 1.Are autonomous: participants.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
3-1 Distributed Hash Tables CS653, Fall Implementing insert/retrieve: distributed hash table (DHT) r Hash table m data structure that maps “keys”
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Wide-area cooperative storage with CFS
P2P Course, Structured systems 1 Introduction (26/10/05)
“Umbrella”: A novel fixed-size DHT protocol A.D. Sotiriou.
Focus on Distributed Hash Tables Distributed hash tables (DHT) provide resource locating and routing in peer-to-peer networks –But, more than object locating.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
Naming Chapter 5. n Most of the lecture notes are based on slides by Prof. Jalal Y. Kawash at Univ. of Calgary n Some slides are from Brennen Reynolds.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 5 Naming.
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Naming Chapter 4.
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.
Naming CSCI 4780/6780.
Naming CSCI 4780/6780. Names & Naming System Names have unique importance –Resource sharing –Identifying entities –Location reference Name can be resolved.
Node Lookup in P2P Networks. Node lookup in p2p networks In a p2p network, each node may provide some kind of service for other nodes and also will ask.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chord Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
Distributed Systems CS Naming (Cont’d) Lecture 7, Sep 18, 2013 Mohammad Hammoud.
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 5 Naming (I) Speaker : Jyun-Yao Huang 1 Application and Practice of Distributed Systems.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
The Chord P2P Network Some slides taken from the original presentation by the authors.
IP for Mobile hosts.
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Distributed Systems CS
Naming A name in a distributed system is a string of bits or characters used to refer to an entity. To resolve name a naming system is needed.
Net 323 D: Networks Protocols
Distributed Systems CS
5.2 FLAT NAMING.
Prof. Leonardo Mostarda University of Camerino
Distributed Systems CS
Distributed Systems CS
Other Routing Protocols
Consistent Hashing and Distributed Hash Table
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

1

Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches  Ongoing Research  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches  Ongoing Research 2

Introduction ► Names - To access resources, uniquely identify entities, refer to locations ► Address - The name of the access point through which entity can be accessed ► Identifiers - Names that uniquely identify entities in a distributed system 3

Introduction 4 ► Flat names: Identifiers are just random bits of strings Also called as unstructured names Doesn’t have any information on how to locate access point of associated entity Different mechanisms are available to locate an entity given only its identifier

Broadcasting 5  Broadcasting  Most common in Local Area Networks  Message containing identifier of entity is broadcast to all the machines in the network  Machine that has access point for the requested entity responds to the message ► Pros ► Simple and easy to implement ► Efficient for small networks ► Cons ► Inefficient when the network grows ► Network bandwidth wasted by requests Solution: Multicasting

Multicasting 6  Multicasting  Restricted group of hosts receive the request for entity  The group is called multicast group and is identified by multicast address  Host that has access point for the requested entity responds to the message ► Pros ► Bandwidth wastage will be less compared to broadcasting ► Efficient for small groups ► Cons ► Scalability

Forward Pointers 7 ► Popular approach to locate mobile entities ►This is not like looking up an address, instead the client request will be forwarded along a chain to the actual object ► Mechanism: ►When an entity moves from location A to location B, it leaves behind a reference to its new location at B in A. ►By following the chain of forward pointers, message will be sent from client to the actual object ► Example:

Forward Pointers 8 ► Pros: ► Transparency – The only thing the client sees of an object is a client stub, to which locations the client stub forwards its invocations are hidden from the client ► Cons: ► Chains will be long for highly mobile entities ► All intermediate locations in a chain will have to maintain their part of the chain of forward pointers ►Vulnerability to broken links Solution: Home-based approach

Home based approach 9 ►Used as a fall back mechanism for location services using forward pointers ►Makes use of home location that keeps track of the current location of the entity ► Mechanism ► Each mobile host uses a fixed IP address ► All communication to that host will be directed to mobile host’s home agent ►When host moves to a new location the new care of address will be updated at the home agent ►When a home agent receives a packet for the mobile host, it will be either forwarded or tunneled to the current location depending on the network location

Home based approach 10 ► Pros: ► Scalability ► Cons: ► Communication latency ► Contacting the entity will become impossible if the home location doesn’t exist ►Poor geographical stability

Distributed Hash Tables 11 ►Used in peer to peer systems ►A hash table allows to insert, lookup and delete objects with keys ►A distributed hash table allows to do the same in distributed setting (objects=files) ► Mechanism ► Each node has an m-bit random identifier ► Each entity has a m-bit random key ► An entity with key k is located on a node with the smallest identifier that satisfies id >=k ► This id is referred to as successor of k denoted as succ(k) ► The major task is key lookup ►Two approaches: linear approach and finger table

Distributed Hash Tables 12 ► Linear approach: ►Each node keeps track of its predecessor and successor ►When key k needs to be resolved, request will be forwarded to one of the two neighbors – whichever one is appropriate ►Drawback: Poor performance, non scalable ► Finger table approach ► Each node has a finger table with m entries ► The i th entry of node n will contain successor((n+2 i-1 )mod 2 m ) ► At node n, send query for key k to largest successor/finger entry <= k if none exist, send query to successor(n)

Distributed Hash Tables 13

Distributed Hash Tables 14 iFt[i] iFt[i] iFt[i] (i) 80 Finger Table(ii) 16 Finger Table (iii) 32 Finger Table

Distributed Hash Tables 15

Distributed Hash tables 16 ► Pros: ► Efficiency of lookups and inserts ►Load balanced ►Joining and leaving is simple ► Cons: ► Underlying network should be taken into account Example: Nodes in different places

Hierarchical approaches 17 ►Network is divided into a collection of domains ►Each domain subdivided into smaller subdomains ►Lowest level domain is called a leaf domain ►Each domain D has an associated directory node dirt(D) that keeps track entities in that domain, leading to a tree of directory nodes ►Root directory node knows about all the entities in the network

Hierarchical approaches 18 ► Look Up: Performance will be degraded when the search continues until the root node is reached

Ongoing Research 19 ► Forward pointers ►Research is going on to develop new chain reduction mechanisms. One such mechanism is to update client’s reference when the most recent location is found ► Distributed Hash Tables ►Since the DHT is dependent on underlying network, researchers are working to propose efficient ways to make a DHT aware of its underlying network.

Questions? 20

Thank you! 21