Architectures for Distributed Systems

Size: px
Start display at page:

Download "Architectures for Distributed Systems"

Transcription

1 Distributed Systems and Middleware : Architectures Architectures for Distributed Systems Components A distributed system consists of components Each component has well-defined interface, can be replaced by another one with same I/F in the system Architectural styles How components should be organized? How components should interact with each other? 1 2 System architecture How components are placed on real machines Architectural t styles (1) Request flow Layer N Layer N-1 Layer 2 Layer 1 Response flow Layered architecture Component at layer i is allowed to call components at underlying layer i-1 3 Method call -based architecture Components (objects) are connected through a remote procedure call mechanism 4 Architectural styles (2) Data-centered architecture Processes communicate through a common repository Event-based architecture Processes communicate through propagation of events publish/subscribe (pub/sub) system events are published only subscriber processes receive the published events component component component component delivery delivery publish Event bus publish component Event-based architecture (publish/subscribe system) Shared data space Shared data-space architecture (data-centered + event-based)

2 System architectures What is the system architecture? Instance of a distributed system after deciding components, their interaction, and their placement According to placement, following forms exist Centralized architectures Decentralized architectures Various hybrid forms Centralized architectures t Client-server model Processes in a DS are divided into two groups: server, client Server: e apocess process implementing pe e gaspec specific cservice Client: a process requesting a service from a server 5 6 Can be implemented in LAN with connectionless protocol and in WAN with reliable connection-oriented protocol Application i layering Client-server model has the following 3 levels User-interface level Processing level Data level Multi-tiered i architecture Three levels can be distributed across several machines Two-tiered architecture Three levels are distributed over two kinds of machines: clients and servers There are the following five possibilities 7 Simplified organization of Internet search engine 8

3 Three-tiered architecture A single server can be replaced by multiple servers running on different machines A server may need to act as a client Question 2-1 (1) Show an example system for each architectural styles on pages 3-4. (2) Show an example system for each of (a)- (e) in two-tiered architecture on page 8. (3) Show a system (other than Internet search engine) that can be realized with three- tiered architecture. 9 This kind of distribution is called vertical distribution 10 Decentralized architectures Vertical distribution: logical level division This is one of many possible ways of organizing a distributed system Horizontal distribution: physical level division Client (server) is physically split up into logically equivalent parts Each part operates on its own share of the complete data set All the parts balance the load Architectures supporting horizontal distribution Peer-to-peer (P2P) systems Peer-to-peer (P2P) systems What is a P2P system? Resources (files, bandwidth, computation power, services, etc) are distributed and shared among peers (user processes) Characteristics of P2P systems The processes that constitute a P2P system are all equal Interaction between processes is symmetric Each process will act as a client and a server at the same time Processes form a network called the overlay network Consists of processes and overlay links (commun. channel) A process cannot communicate directly with an arbitrary other process, but is required ed to send requests ests through available communication channels (neighboring peers) 11 12

4 Process (peer) Example of overlay network Overlay link (TCP connection) Overlay Network Types of P2P systems Hybrid P2P Structured P2P Unstructured P2P Hierarchical P2P Host A Host C Host D Physical Network Host F 13 Host B Switch (router) Host E P2P-based file sharing Goals Files are distributed across all peers When a peer sends a asking for a file to one of other peers, it will receive a reply indicating which peer retains the file File placement Centralized placement: one server retains all files Bottleneck in the server and the network Distributed placement: M files are distributed over N peers Processing and communication traffic amounts can be balanced Problem is how efficiently queries can be routed Query routing Storing the index to all the files (routing table) in one place or in all peers does not scale as the network size grows Need to keep the routing table adequately small Query 16 Hybrid P2P: example Index server Peer A (requests file X ) Reply Napster DL Request for X Download X Peer B Peer E (storing file X ) Peer D Peer C Advantage Fast t search Easy security guarantee Easy management for contents Disadvantage Server maintenance Fault-tolerance Size scalability User searches the responsible peer for the requested file with the index server

5 Structured P2P architectures DHT (Distributed Hash Table) Referring to methods for efficiently/deterministically searching the peer that retains a file, given a with a key (hash) of the file Examples: CAN, Chord [1], Pastry [2], Tapestry [1] I. Stoica, et al.: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, Proc. of ACM SIGCOMM 01 01, [2] A. Rowstron, P. Druschel, Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems, Proc. of IFIP/ACM Middleware 2001, Challenges in structured P2P To realize efficient file sharing, Where (in which peers) files should be stored? How queries should be routed to reach the peers with target files? Peers Data Files 17 DHT (contents) Query User (peer) Chord: file placement Assign a responsible peer for each file in fair manner With a hash function, compute a key (m-bit) for each file Store the file in a peer with the same ID as its key (if no peer with the same ID, the file is stored in the first-found succeeding peer) 0 Key space (each key: m bits) 2 m m -1 Problem Peer ID space (each ID: m bits) red box: file, blue box: peer When with a key is issued, how can the responsible peer be searched? searching the whole peer ID space one by one O(2 m ) Chord: routing Tradeoff between lookup table size and number of hops to reach the target peer If each peer has complete lookup table for all files Can reach the target peer by 1 hop, but table size is O(N) If each peer does not have any index for files Table size is O(1), but reach the target peer by O(N) hops Chord approach: each peer has partial view of lookup table Each peer has partial lookup table with O(log N) entries O(log N) hops to reach the target peer by recursively narrowing the search space (similar to binary search) 20 N is the number of all peers, N 2 m

6 100 Chord: solution (1/2) dividing search space into m intervals 0 Peer ID space (each ID: m(=8)bit) ) To decide peer i s (e.g., peer 99) routing table, divide search space into m (=8) intervals of 2 0, 2 1, 2 2, 2 3,, 2 m-1 entries i (=99) m th interval 1 st interval 2 nd interval 3 rd interval = =128 entries 21 The peer with ID i (=99) has the routing table with m (=8) entries Intervals Next peer to ask [100, 101) Peer 100 (or the succeeding peer if peer 10 does not exist) [101, 103) Peer 101 (or succeeding peer) [103, 107) Peer 103 (or succeeding peer) [228, 100) Peer 228 (or succeeding peer) Note: for peer i, 1st interval starts from i+1, m th interval starts t from (i+2 m-1 ) mod 2 m Chord: solution (2/2) step-by-step search space narrowing Lookup table of peer = Lookup table of peer Lookup table of peer (1) When peer 99 receives with key (=233), it identifies the interval containing the key, and forwards the to peer 228 (2) When peer 228 receives es the, it identifies the interval containing the key, and forwards it to peer (3) Peer 232 receives the, identifies the interval (peer 233), and forwards the to peer 233. Worst case Chord: example (1/3) 1 st peer 2 nd peer 3 rd peer 4 th peer 5 th peer O(log N)=O(m) N=32 Key specified in the was in this interval log N =log 2 32 =5 M files are distributed across N peers search file by key (1) Assign a hash value (key) to each file Key is m-bit decided by hash function SHA-1 (N 2 m M) (2) Construct a virtual ring of peers m =128 or 160 Ring consists of 0 to 2 m -1 IDs All peers are associated with IDs on the ring (3) Decide a responsible peer for each file A file is retained by the peer with the smallest ID such that key ID represented by successor(key) return ID of the peer first found starting from key m=

7 25 Chord: example (2/3) (4) Construct a routing table called finger table for each peer Finger table has m (=log N) entries Key space with 2 m items is divided into m intervals with 2 0, 2 1,..., 2 m-1 items Each entry specifies the ID of the next searching peer (succ.) for an interval Finger table of peer 0 1 st int.: [1, 2) next is peer 1 2 nd int.: [2, 4) next is peer 3 3 rd int.: [4, 0) next is peer 0 How to get k-th int. for peer n start k =(n+2 k-1 ) mod 2 m (1 k m) int k = [start k,start k+1 ) succ k = first node start k 26 Chord: example (3/3) What happens when peer 3 receives with key:1 Peer 3 NOT have file 1 forwards to peer 0 based on f. table Peer 0 NOT have file 1 forwards to peer 1 Finally reaches peer 1 that t has file 1 How many hops for? Query is forwarded by at most m times (See page 23 for the worst case) 27 Question Suppose to use Chord, and answer the following questions (write your answer in next page). Set of IDs for peers {2, 4, 6, 7, 9, 12, 15} Set of keys for files {0, 2, 5, 8, 10, 13, 14, 15} (1) In which peer is each file stored? (2) Complete the finger table of peer 4 (3) How for file 0 is traversed when starting from peer 4? (4) What happens when peer 4 leaves from the network? After that, what happens when a new peer with ID 5 joins? Answer for question Files to retain = Finger table start int. succ.

8 Unstructured P2P: architectures Characteristics of Unstructured P2P No limits on topology (connection of peers), flexible search Each peer has a list of c peers selected at random: partial view The list is periodically exchanged between neighboring peers All peers compose a random graph Peer F Unstructured P2P: example hit Peer A (requests file X ) X) Gnutella hit Peer B Peer E (storing file X ) Peer D Peer C Commun. order Advantage Fault-tolerancetolerance Privacy-preserve Disadvantage network bandwidth is suppressed Search a file by flooding a request without the index server To join network, new peer should get one of existing peers address Each peer can keep connections with up to four peers Managing topology in unstructured dp2p Hierarchical P2P Disadvantage of unstructured P2P Search is done by flooding queries efficiency is not good Improvement for efficiency Manage topology in two layers Structured topology Protocol for maintaining optimal topology in a given criterion Links to neighbor peers (optimally selected by a criterion, e.g., having common data, geographically close, ) Peers selected at random Unstructured P2P does not scale as the network grows Flooding a request will overload the entire network Broker that collects resource usage for peers in each other s proximity will allow to quickly select a peer with sufficient resources Superpeers Peers that maintain an index for all peers in their groups and act as a broker regular peer Random topology Protocol for maintaining random graph Links to neighbor peers (selected at random) 31 superpeer 32 superpeer network

9 Summary Architectures for distributed systems Architectural styles Layered, object-based, event-based, data-centered System architectures: Centralized architecture: client-server model Decentralized architecture: vertical/horizontal distribution of C/S model Peer-to-peer systems Hybrid P2P Structured P2P Unstructured P2P Hierarchical P2P 33

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 2 ARCHITECTURES

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 2 ARCHITECTURES DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 2 ARCHITECTURES Architectural Styles Important styles of architecture for distributed systems Layered

More information

Telematics Chapter 9: Peer-to-Peer Networks

Telematics Chapter 9: Peer-to-Peer Networks Telematics Chapter 9: Peer-to-Peer Networks Beispielbild User watching video clip Server with video clips Application Layer Presentation Layer Application Layer Presentation Layer Session Layer Session

More information

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations. Goals CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University of California, Berkeley

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 14 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline

More information

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Systems. Chapter General Characteristics Chapter 2 Peer-to-Peer Systems Abstract In this chapter, a basic overview is given of P2P systems, architectures, and search strategies in P2P systems. More specific concepts that are outlined include

More information

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today Network Science: Peer-to-Peer Systems Ozalp Babaoglu Dipartimento di Informatica Scienza e Ingegneria Università di Bologna www.cs.unibo.it/babaoglu/ Introduction Peer-to-peer (PP) systems have become

More information

Introduction to Peer-to-Peer Systems

Introduction to Peer-to-Peer Systems Introduction Introduction to Peer-to-Peer Systems Peer-to-peer (PP) systems have become extremely popular and contribute to vast amounts of Internet traffic PP basic definition: A PP system is a distributed

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Structured Peer-to to-peer Networks Wolf-Tilo Balke and Wolf Siberski 3..6 *Original slides provided by K. Wehrle, S. Götz, S. Rieche (University of Tübingen) Peer-to-Peer Systems

More information

A Survey of Peer-to-Peer Content Distribution Technologies

A Survey of Peer-to-Peer Content Distribution Technologies A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwan Baek Ja-eun Choi Outline Overview

More information

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server Peer-to-Peer.

More information

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 17. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2016 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

Distributed Hash Table

Distributed Hash Table Distributed Hash Table P2P Routing and Searching Algorithms Ruixuan Li College of Computer Science, HUST rxli@public.wh.hb.cn http://idc.hust.edu.cn/~rxli/ In Courtesy of Xiaodong Zhang, Ohio State Univ

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53206 Peer-to-Peer Networks Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53207 P2P & IoT Systems Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University CPSC 4/5 PP Lookup Service Ennan Zhai Computer Science Department Yale University Recall: Lec- Network basics: - OSI model and how Internet works - Socket APIs red PP network (Gnutella, KaZaA, etc.) UseNet

More information

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q Overlay networks To do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES

ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES ICT 6544 Distributed Systems Lecture 2: ARCHITECTURES Hossen Asiful Mustafa 1 Introduction Distributed systems are often complex pieces of software of which the components are by definition dispersed across

More information

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou Scalability In Peer-to-Peer Systems Presented by Stavros Nikolaou Background on Peer-to-Peer Systems Definition: Distributed systems/applications featuring: No centralized control, no hierarchical organization

More information

Telecommunication Services Engineering Lab. Roch H. Glitho

Telecommunication Services Engineering Lab. Roch H. Glitho 1 Support Infrastructure Support infrastructure for application layer Why? Re-usability across application layer protocols Modularity (i.e. separation between application layer protocol specification /

More information

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Content Overlays. Nick Feamster CS 7260 March 12, 2007 Content Overlays Nick Feamster CS 7260 March 12, 2007 Content Overlays Distributed content storage and retrieval Two primary approaches: Structured overlay Unstructured overlay Today s paper: Chord Not

More information

LECT-05, S-1 FP2P, Javed I.

LECT-05, S-1 FP2P, Javed I. A Course on Foundations of Peer-to-Peer Systems & Applications LECT-, S- FPP, javed@kent.edu Javed I. Khan@8 CS /99 Foundation of Peer-to-Peer Applications & Systems Kent State University Dept. of Computer

More information

Today. Architectural Styles

Today. Architectural Styles Today Architectures for distributed systems (Chapter 2) Centralized, decentralized, hybrid Middleware Self-managing systems Lecture 2, page 1 Architectural Styles Important styles of architecture for distributed

More information

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals. Overlay Networks: Motivations CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University

More information

Distributed Systems: Architectural Issues

Distributed Systems: Architectural Issues Distributed Systems: Architectural Issues Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Distributed Systems:

More information

Chapter 2 ARCHITECTURES

Chapter 2 ARCHITECTURES DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 2 ARCHITECTURES Architectural Styles (1) DS should be composed of Components and Connectors.» How

More information

P2P: Distributed Hash Tables

P2P: Distributed Hash Tables P2P: Distributed Hash Tables Chord + Routing Geometries Nirvan Tyagi CS 6410 Fall16 Peer-to-peer (P2P) Peer-to-peer (P2P) Decentralized! Hard to coordinate with peers joining and leaving Peer-to-peer (P2P)

More information

Introduction to P2P Computing

Introduction to P2P Computing Introduction to P2P Computing Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction A. Peer-to-Peer vs. Client/Server B. Overlay Networks 2. Common Topologies 3. Data Location 4. Gnutella

More information

A Framework for Peer-To-Peer Lookup Services based on k-ary search

A Framework for Peer-To-Peer Lookup Services based on k-ary search A Framework for Peer-To-Peer Lookup Services based on k-ary search Sameh El-Ansary Swedish Institute of Computer Science Kista, Sweden Luc Onana Alima Department of Microelectronics and Information Technology

More information

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9 Peer-to-Peer Networks -: Computer Networking L-: PP Typically each member stores/provides access to content Has quickly grown in popularity Bulk of traffic from/to CMU is Kazaa! Basically a replication

More information

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications Introduction to Computer Networks Lecture30 Today s lecture Peer to peer applications Napster Gnutella KaZaA Chord What is P2P? Significant autonomy from central servers Exploits resources at the edges

More information

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4 Xiaowei Yang xwy@cs.duke.edu Overview Problem Evolving solutions IP multicast Proxy caching Content distribution networks

More information

Peer-To-Peer Techniques

Peer-To-Peer Techniques PG DynaSearch Markus Benter 31th October, 2013 Introduction Centralized P2P-Networks Unstructured P2P-Networks Structured P2P-Networks Misc 1 What is a Peer-to-Peer System? Definition Peer-to-peer systems

More information

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC Distributed Meta-data Servers: Architecture and Design Sarah Sharafkandi David H.C. Du DISC 5/22/07 1 Outline Meta-Data Server (MDS) functions Why a distributed and global Architecture? Problem description

More information

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example Overlay networks Today l Overlays networks l P2P evolution l Pastry as a routing overlay eample Network virtualization and overlays " Different applications with a range of demands/needs network virtualization

More information

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1 Last Time Distributed Systems Distributed Hash Tables Evolution of peer-to-peer Central directory (Napster) Query flooding (Gnutella) Hierarchical overlay (Kazaa, modern Gnutella) BitTorrent Focuses on

More information

Making Gnutella-like P2P Systems Scalable

Making Gnutella-like P2P Systems Scalable Making Gnutella-like P2P Systems Scalable Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, S. Shenker Presented by: Herman Li Mar 2, 2005 Outline What are peer-to-peer (P2P) systems? Early P2P systems

More information

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley

More information

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want Last Time Distributed Systems Distributed Hash Tables Evolution of peer-to-peer Central directory (Napster) Query flooding (Gnutella) Hierarchical overlay (Kazaa, modern Gnutella) BitTorrent Focuses on

More information

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics // Topics Peer to Peer Systems Introduction Client-server vs peer to peer Peer-to-peer networks Routing Overlays Structured vs unstructured Example PP Systems Skype login server Peer-to-peer - definitions

More information

Structured Peer-to-Peer Networks

Structured Peer-to-Peer Networks Structured Peer-to-Peer Networks The P2P Scaling Problem Unstructured P2P Revisited Distributed Indexing Fundamentals of Distributed Hash Tables DHT Algorithms Chord Pastry Can Programming a DHT Graphics

More information

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server Peer-to-Peer.

More information

CSCI-1680 P2P Rodrigo Fonseca

CSCI-1680 P2P Rodrigo Fonseca CSCI-1680 P2P Rodrigo Fonseca Based partly on lecture notes by Ion Stoica, Sco5 Shenker, Joe Hellerstein Today Overlay networks and Peer-to-Peer Motivation Suppose you want to write a routing protocol

More information

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables Takehiro Miyao, Hiroya Nagao, Kazuyuki Shudo Tokyo Institute of Technology 2-12-1 Ookayama, Meguro-ku,

More information

Today. Architectural Styles

Today. Architectural Styles Today Architectures for distributed systems (Chapter 2) Centralized, decentralized, hybrid Middleware Self-managing systems Lecture 2, page 1 Architectural Styles Important styles of architecture for distributed

More information

Distributed Hash Tables (DHT)

Distributed Hash Tables (DHT) Distributed Hash Tables (DHT) Jukka K. Nurminen Aalto University *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server

More information

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol Min Li 1, Enhong Chen 1, and Phillip C-y Sheu 2 1 Department of Computer Science and Technology, University of Science and Technology of China,

More information

CIS 700/005 Networking Meets Databases

CIS 700/005 Networking Meets Databases Announcements CIS / Networking Meets Databases Boon Thau Loo Spring Lecture Paper summaries due at noon today. Office hours: Wed - pm ( Levine) Project proposal: due Feb. Student presenter: rd Jan: A Scalable

More information

Early Measurements of a Cluster-based Architecture for P2P Systems

Early Measurements of a Cluster-based Architecture for P2P Systems Early Measurements of a Cluster-based Architecture for P2P Systems Balachander Krishnamurthy, Jia Wang, Yinglian Xie I. INTRODUCTION Peer-to-peer applications such as Napster [4], Freenet [1], and Gnutella

More information

ReCord: A Distributed Hash Table with Recursive Structure

ReCord: A Distributed Hash Table with Recursive Structure ReCord: A Distributed Hash Table with Recursive Structure Jianyang Zeng and Wen-Jing Hsu Abstract We propose a simple distributed hash table called ReCord, which is a generalized version of Randomized-

More information

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Page 1. How Did it Start? Model Main Challenge CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks How Did it Start?" CS162 Operating Systems and Systems Programming Lecture 24 Peer-to-Peer Networks" A killer application: Napster (1999) Free music over the Internet Key idea: share the storage and bandwidth

More information

Building a low-latency, proximity-aware DHT-based P2P network

Building a low-latency, proximity-aware DHT-based P2P network Building a low-latency, proximity-aware DHT-based P2P network Ngoc Ben DANG, Son Tung VU, Hoai Son NGUYEN Department of Computer network College of Technology, Vietnam National University, Hanoi 144 Xuan

More information

Slides for Chapter 10: Peer-to-Peer Systems

Slides for Chapter 10: Peer-to-Peer Systems Slides for Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Napster

More information

Lecture 8: Application Layer P2P Applications and DHTs

Lecture 8: Application Layer P2P Applications and DHTs Lecture 8: Application Layer P2P Applications and DHTs COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

Three Layer Hierarchical Model for Chord

Three Layer Hierarchical Model for Chord Three Layer Hierarchical Model for Chord Waqas A. Imtiaz, Shimul Shil, A.K.M Mahfuzur Rahman Abstract Increasing popularity of decentralized Peer-to-Peer (P2P) architecture emphasizes on the need to come

More information

An Expresway over Chord in Peer-to-Peer Systems

An Expresway over Chord in Peer-to-Peer Systems An Expresway over Chord in Peer-to-Peer Systems Hathai Tanta-ngai Technical Report CS-2005-19 October 18, 2005 Faculty of Computer Science 6050 University Ave., Halifax, Nova Scotia, B3H 1W5, Canada An

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Minsoo Ryu Department of Computer Science and Engineering 2 Definition A distributed system is a collection of independent computers that appears to its users as a single

More information

Introduction to Peer-to-Peer Networks

Introduction to Peer-to-Peer Networks Introduction to Peer-to-Peer Networks The Story of Peer-to-Peer The Nature of Peer-to-Peer: Generals & Paradigms Unstructured Peer-to-Peer Systems Structured Peer-to-Peer Systems Chord CAN 1 Prof. Dr.

More information

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 Lecture 6: Overlay Networks CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 1 Overlay networks: Motivations Protocol changes in the network happen very slowly Why? Internet is shared

More information

Design of a New Hierarchical Structured Peer-to-Peer Network Based On Chinese Remainder Theorem

Design of a New Hierarchical Structured Peer-to-Peer Network Based On Chinese Remainder Theorem Design of a New Hierarchical Structured Peer-to-Peer Network Based On Chinese Remainder Theorem Bidyut Gupta, Nick Rahimi, Henry Hexmoor, and Koushik Maddali Department of Computer Science Southern Illinois

More information

Content Search. Unstructured P2P. Jukka K. Nurminen

Content Search. Unstructured P2P. Jukka K. Nurminen Content Search Unstructured P2P Jukka K. Nurminen *Partly adapted from original slides provided by Rüdiger Schollmeier and Jörg Eberspächer (Technische Universität München) 1 V1-Filename.ppt / yyyy-mm-dd

More information

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems Advanced Distributed Systems Peer to peer systems Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ AdvancedDistributedSystems/ What is P2P Unstructured P2P Systems

More information

Peer-to-Peer Internet Applications: A Review

Peer-to-Peer Internet Applications: A Review Peer-to-Peer Internet Applications: A Review Davide Quaglia 01/14/10 Introduction Key points Lookup task Outline Centralized (Napster) Query flooding (Gnutella) Distributed Hash Table (Chord) Simulation

More information

Chapter 10: Peer-to-Peer Systems

Chapter 10: Peer-to-Peer Systems Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Introduction To enable the sharing of data and resources

More information

Application Layer Multicast For Efficient Peer-to-Peer Applications

Application Layer Multicast For Efficient Peer-to-Peer Applications Application Layer Multicast For Efficient Peer-to-Peer Applications Adam Wierzbicki 1 e-mail: adamw@icm.edu.pl Robert Szczepaniak 1 Marcin Buszka 1 1 Polish-Japanese Institute of Information Technology

More information

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002 EE 122: Peer-to-Peer (P2P) Networks Ion Stoica November 27, 22 How Did it Start? A killer application: Naptser - Free music over the Internet Key idea: share the storage and bandwidth of individual (home)

More information

Should we build Gnutella on a structured overlay? We believe

Should we build Gnutella on a structured overlay? We believe Should we build on a structured overlay? Miguel Castro, Manuel Costa and Antony Rowstron Microsoft Research, Cambridge, CB3 FB, UK Abstract There has been much interest in both unstructured and structured

More information

Lecture 2: January 24

Lecture 2: January 24 CMPSCI 677 Operating Systems Spring 2017 Lecture 2: January 24 Lecturer: Prashant Shenoy Scribe: Phuthipong Bovornkeeratiroj 2.1 Lecture 2 Distributed systems fall into one of the architectures teaching

More information

Distributed Hash Tables: Chord

Distributed Hash Tables: Chord Distributed Hash Tables: Chord Brad Karp (with many slides contributed by Robert Morris) UCL Computer Science CS M038 / GZ06 12 th February 2016 Today: DHTs, P2P Distributed Hash Tables: a building block

More information

LECTURE 3: CONCURRENT & DISTRIBUTED ARCHITECTURES

LECTURE 3: CONCURRENT & DISTRIBUTED ARCHITECTURES LECTURE 3: CONCURRENT & DISTRIBUTED ARCHITECTURES 1 Contents Introduction Flynn s Taxonomy MIMD: Tight & Loose Coupling Software Architectures for Distributed Systems: Layered, Object-/Event-based, Shared

More information

CSE 486/586 Distributed Systems

CSE 486/586 Distributed Systems CSE 486/586 Distributed Systems Distributed Hash Tables Slides by Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Last Time Evolution of peer-to-peer Central directory (Napster)

More information

Peer-to-Peer Networks

Peer-to-Peer Networks Peer-to-Peer Networks 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Quiz #1 is next week

More information

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Overview 5-44 5-44 Computer Networking 5-64 Lecture 6: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Web Consistent hashing Peer-to-peer Motivation Architectures Discussion CDN Video Fall

More information

Assignment 5. Georgia Koloniari

Assignment 5. Georgia Koloniari Assignment 5 Georgia Koloniari 2. "Peer-to-Peer Computing" 1. What is the definition of a p2p system given by the authors in sec 1? Compare it with at least one of the definitions surveyed in the last

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks P2P Systems Jianping Pan Summer 2007 5/30/07 csc485b/586b/seng480b 1 C/S vs P2P Client-server server is well-known server may become a bottleneck Peer-to-peer everyone is a (potential)

More information

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd Ken Y.K. Hui John C. S. Lui David K.Y. Yau Dept. of Computer Science & Engineering Computer Science Department The Chinese

More information

EE 122: Peer-to-Peer Networks

EE 122: Peer-to-Peer Networks EE 122: Peer-to-Peer Networks Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 19.1.2015 Contents Unstructured networks Last week Napster Skype This week: Gnutella BitTorrent P2P Index It is crucial to be able to find

More information

DRing: A Layered Scheme for Range Queries over DHTs

DRing: A Layered Scheme for Range Queries over DHTs DRing: A Layered Scheme for Range Queries over DHTs Nicolas Hidalgo, Erika Rosas, Luciana Arantes, Olivier Marin, Pierre Sens and Xavier Bonnaire Université Pierre et Marie Curie, CNRS INRIA - REGAL, Paris,

More information

A P2P File Sharing Technique by Indexed-Priority Metric

A P2P File Sharing Technique by Indexed-Priority Metric A P2P File Sharing Technique by Indexed-Priority Metric Toshinori Takabatake and Yoshikazu Komano Abstract Recently, the improvements in processing performance of a computer and in high speed communication

More information

Subway : Peer-To-Peer Clustering of Clients for Web Proxy

Subway : Peer-To-Peer Clustering of Clients for Web Proxy Subway : Peer-To-Peer Clustering of Clients for Web Proxy Kyungbaek Kim and Daeyeon Park Department of Electrical Engineering & Computer Science, Division of Electrical Engineering, Korea Advanced Institute

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent

More information

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE for for March 10, 2006 Agenda for Peer-to-Peer Sytems Initial approaches to Their Limitations CAN - Applications of CAN Design Details Benefits for Distributed and a decentralized architecture No centralized

More information

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Introduction and unstructured networks Prof. Sasu Tarkoma 14.1.2013 Contents Overlay networks and intro to networking Unstructured networks Overlay Networks An overlay network

More information

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter

CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing. March 8, 2016 Prof. George Porter CSE 124 Finding objects in distributed systems: Distributed hash tables and consistent hashing March 8, 2016 rof. George orter Outline Today: eer-to-peer networking Distributed hash tables Consistent hashing

More information

A Super-Peer Based Lookup in Structured Peer-to-Peer Systems

A Super-Peer Based Lookup in Structured Peer-to-Peer Systems A Super-Peer Based Lookup in Structured Peer-to-Peer Systems Yingwu Zhu Honghao Wang Yiming Hu ECECS Department ECECS Department ECECS Department University of Cincinnati University of Cincinnati University

More information

Badri Nath Rutgers University

Badri Nath Rutgers University lookup services Badri Nath Rutgers University badri@cs.rutgers.edu 1. CAN: A scalable content addressable network, Sylvia Ratnasamy et.al. SIGCOMM 2001 2. Chord: A scalable peer-to-peer lookup protocol

More information

Opportunistic Application Flows in Sensor-based Pervasive Environments

Opportunistic Application Flows in Sensor-based Pervasive Environments Opportunistic Application Flows in Sensor-based Pervasive Environments Nanyan Jiang, Cristina Schmidt, Vincent Matossian, and Manish Parashar ICPS 2004 1 Outline Introduction to pervasive sensor-based

More information

Architectures for distributed systems (Chapter 2)

Architectures for distributed systems (Chapter 2) Today Architectures for distributed systems (Chapter 2) Architectural styles Client-server architectures Decentralized and peer-to-peer architectures Lecture 2, page!1 Module 1: Architectural Styles Important

More information

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report Computer Communications and Networking (SC 546) Professor D. Starobinksi Brian Mitchell U09-62-9095 James Nunan U38-03-0277

More information

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery Shawn Chen 1, Steve Liang 2 1 Geomatics, University of Calgary, hschen@ucalgary.ca 2 Geomatics, University of Calgary, steve.liang@ucalgary.ca

More information

Peer-to-Peer Systems and Distributed Hash Tables

Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables CS 240: Computing Systems and Concurrency Lecture 8 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Selected

More information

INF5071 Performance in distributed systems: Distribution Part III

INF5071 Performance in distributed systems: Distribution Part III INF5071 Performance in distributed systems: Distribution Part III 5 November 2010 Client-Server Traditional distributed computing Successful architecture, and will continue to be so (adding proxy servers)

More information

A Decentralized Content-based Aggregation Service for Pervasive Environments

A Decentralized Content-based Aggregation Service for Pervasive Environments A Decentralized Content-based Aggregation Service for Pervasive Environments Nanyan Jiang, Cristina Schmidt, Manish Parashar The Applied Software Systems Laboratory Rutgers, The State University of New

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 20.1.2014 Contents P2P index revisited Unstructured networks Gnutella Bloom filters BitTorrent Freenet Summary of unstructured networks

More information

INF5070 media storage and distribution systems. to-peer Systems 10/

INF5070 media storage and distribution systems. to-peer Systems 10/ INF5070 Media Storage and Distribution Systems: Peer-to to-peer Systems 10/11 2003 Client-Server! Traditional distributed computing! Successful architecture, and will continue to be so (adding proxy servers)!

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Naming Jia Rao http://ranger.uta.edu/~jrao/ 1 Naming Names play a critical role in all computer systems To access resources, uniquely identify entities, or refer to locations

More information

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma Overlay and P2P Networks Structured Networks and DHTs Prof. Sasu Tarkoma 6.2.2014 Contents Today Semantic free indexing Consistent Hashing Distributed Hash Tables (DHTs) Thursday (Dr. Samu Varjonen) DHTs

More information

Peer-to-Peer (P2P) Systems

Peer-to-Peer (P2P) Systems Peer-to-Peer (P2P) Systems What Does Peer-to-Peer Mean? A generic name for systems in which peers communicate directly and not through a server Characteristics: decentralized self-organizing distributed

More information