Peer-To-Peer Techniques

Similar documents
Peer-to-Peer Internet Applications: A Review

Architectures for Distributed Systems

Telematics Chapter 9: Peer-to-Peer Networks

Cycloid: A constant-degree and lookup-efficient P2P overlay network

Telecommunication Services Engineering Lab. Roch H. Glitho

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

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

Content Overlays. Nick Feamster CS 7260 March 12, 2007

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

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

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

A Survey of Peer-to-Peer Content Distribution Technologies

Badri Nath Rutgers University

Searching for Shared Resources: DHT in General

L3S Research Center, University of Hannover

Searching for Shared Resources: DHT in General

Towards Benchmarking of P2P Technologies from a SCADA Systems Protection Perspective

Scalable overlay Networks

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Peer-to-Peer (P2P) Systems

Introduction to P2P Computing

P2P: Distributed Hash Tables

Distributed hash table - Wikipedia, the free encyclopedia

Distributed lookup services

Peer-to-Peer Systems. Winter semester 2014 Jun.-Prof. Dr.-Ing. Kalman Graffi Heinrich Heine University Düsseldorf

Peer-to-Peer Systems. Chapter General Characteristics

ReCord: A Distributed Hash Table with Recursive Structure

Peer-to-peer computing research a fad?

Peer-to-Peer (P2P) Architectures

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

PEER-TO-PEER (P2P) systems are now one of the most

Making Gnutella-like P2P Systems Scalable

SplitQuest: Controlled and Exhaustive Search in Peer-to-Peer Networks

Distributed Hash Table

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

CSCI-1680 P2P Rodrigo Fonseca

Effect of Links on DHT Routing Algorithms 1

15-744: Computer Networking P2P/DHT

O P T I M I S I N G S T R U C T U R E D P2P NETWORKS FOR COMPLEX QUERIES. jamie robert furness

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

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

GNUnet Distributed Data Storage

Peer-to-Peer Overlays: Issues and Trends

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

Peer to Peer Networks

Lecture 8: Application Layer P2P Applications and DHTs

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

Advanced Computer Networks

Scalable P2P architectures

Distributed Data Management. Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig

GIAN Course on Distributed Network Algorithms. Network Topologies and Local Routing

6 Structured P2P Networks

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

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

Peer to Peer Networks

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

Overlay Networks in ScaleNet

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

CSE 486/586 Distributed Systems

Kademlia: A P2P Informa2on System Based on the XOR Metric

Introduction to Peer-to-Peer Systems

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

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

Relaxing Routing Table to Alleviate Dynamism in P2P Systems

CSCI-1680 Web Performance, Content Distribution P2P Rodrigo Fonseca

Peer-to-Peer Systems and Distributed Hash Tables

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

Chapter 6 PEER-TO-PEER COMPUTING

P2P Network Structured Networks (IV) Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Mapping a Dynamic Prefix Tree on a P2P Network

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

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

MULTI-DOMAIN VoIP PEERING USING OVERLAY NETWORK

Three Layer Hierarchical Model for Chord

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

CIS 700/005 Networking Meets Databases

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

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

Degree Optimal Deterministic Routing for P2P Systems

Early Measurements of a Cluster-based Architecture for P2P Systems

internet technologies and standards

Cycloid: A Constant-Degree and Lookup-Efficient P2P Overlay Network

Peer-to-peer systems and overlay networks

L3S Research Center, University of Hannover

GIAN Course on Distributed Network Algorithms. Network Topologies and Interconnects

CSCI-1680 Web Performance, Content Distribution P2P John Jannotti

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS

Cycloid: A Constant-Degree and Lookup-Efficient P2P Overlay Network

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

Peer-to-Peer Computing

Distributed Hash Tables

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

Overlay and P2P Networks. Introduction. Prof. Sasu Tarkoma

INF5071 Performance in distributed systems: Distribution Part III

Structured Peer-to-Peer Networks

Chapter 10: Peer-to-Peer Systems

Distributed Hash Tables (DHT)

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

Enabling Dynamic Querying over Distributed Hash Tables

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

Transcription:

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 are distributed systems consisting of interconnected nodes able to self-organize into network topologies with the purpose of sharing resources [...] capable of adapting to failures and accommodating transient populations of nodes while maintaining acceptable connectivity and performance, without [...] a global centralized server or authority. [Androutsellis-Theotokis and Spinellis, 2004] 2

What is a Peer-to-Peer System? Overlay over the Internet Peers connected such that... a given search task can be solved efficiently maintenance overhead is low Service A Service B Overlay Services Service C Overlay Network Peers identified by PeerID Firewall + NAT TCP/IP Network TCP/IP Network Relay HTTP Underlay Networks TCP TCP/IP Network Figure: Kalman Graffi 3

Applications Application Examples Content Delivery File Sharing Gnutella, BitTorrent, Freenet Streaming Media Joost, PPLive Information Retrieval Web Search Service Discovery Social Networks Digital Currencies YaCy, FAROO Web Service Discovery, SFB901 Diaspora, LifeSocial Bitcoin, Peercoin 4

P2P Overlays Basically three different types of Peer-To-Peer Networks 1. Centralized P2P-Networks 2. Unstructured P2P-Networks 3. Structured P2P-Networks 5

1. Centralized P2P-Networks Peers connect to server Data transfer in Peer-To-Peer manner 1. Join 2. Request 3. Response 4. Tansfer 6

2. Unstructured P2P-Networks Nodes connected randomly What would be good properties? Low degree (usually constant) Small diameter (usually logarithmic) Topic Assignment Constant degree random network with logarithmic diameter: Kathlén 7

Search in Unstructured P2P-Networks Broadcast: Flooding with some TTL (Time To Live) TTL=3 8

Search in Unstructured P2P-Networks Broadcast: Flooding with some TTL (Time To Live) TTL=3 8

Search in Unstructured P2P-Networks Broadcast: Flooding with some TTL (Time To Live) TTL=3 8

Search in Unstructured P2P-Networks Broadcast: Flooding with some TTL (Time To Live) TTL=3 8

Search in Unstructured P2P-Networks Random Walk with maximal length 9

Search in Unstructured P2P-Networks Random Walk with maximal length 9

Search in Unstructured P2P-Networks Random Walk with maximal length 9

Search in Unstructured P2P-Networks Random Walk with maximal length 9

Search in Unstructured P2P-Networks Random Walk with maximal length 9

Flooding Versus Random Walk Assumptions Some files/resources rarely available Some files/resources well spread Random Walk Finds rarely available resources Predictable overhead (#messages) Flooding Low latency Fault tolerant 10

Rendevouz Routing: BubbleStorm (1/2) Overlay is random graph Peer publishes data by broadcasting to q other peers. Peer sends query by broadcasting to p other peers. Define q := c n and p := c n Probability of rendevouz: c 1 2 3 4 r = 1 e c2 62.21% 98,17% 99,99% 99.999999% Query Bubble Rendevouz Data Bubble [Terpstra et al., 2007] 11

Rendevouz Routing: BubbleStorm (2/2) Advantages over Broadcast Routing Query hit w.h.p. Less overhead for same hit probability Data available after unexpected node failure Question What are the disadvantages? 12

3. Structured P2P-Networks DHT (Distributed Hash Table) Search: well defined routing path Chord [Stoica et al., 2001] Routing path length: O(log n) Degree: O(log n) K54 N56 N51 N48 N42 N4 N8 N14 N21 Lookup (K54) K10 N56 N51 N48 +32 +16 +8 N4 N8 +4 +2 +1 N14 Finger table N8 + 1 N14 N8 + 2 N14 N8 + 4 N14 N8 + 8 N21 N8 + 16 N32 N8 + 32 N42 K38 N38 N32 K30 K24 N42 N38 N32 N21 Figure: A Survey and comparision of Peer-To-Peer Overlay Networks Schemes. Eng Keong Lua et al. 13

Degree Optimal Chord: Koorde (1/3) Basically De Bruijn Graph + Chord Ring De Brujin graph with n = 2 b nodes V = {000, 001, 010, 011, 100, 101, 110, 111} E: shift 0 and shift 1 Example: 010 0 100 and 010 1 101 Properties Degree: 2 Diameter: O(log n) 100 000 010 101 001 011 110 [Kaashoek and Karger, 2003] 111 14

Degree Optimal Chord: Koorde (2/3) Basically De Bruijn Graph + Chord Ring (1)-De-Bruijn-Edge = (0)-De-Bruijn-Edge + Chord-Edge Can remove (1)-De-Bruijn-Edges Not of all 2 b nodes online Fill gaps: see paper! 100 000 010 101 001 011 110 111 15

Degree Optimal Chord: Koorde (3/3) Koorde matches several lower bounds on routing time. Degree Routing Time Lower Bound 2 O(log n) Ω(log n) k O( log n log k ) log n Ω( log k ) log n O( log n log log n ) log n Ω( log log n ) 16

Further Structured P2P-Networks Prefix routing Tapestry Pastry Logarithmic degree Chord Symphony Kademlia Bi-directional routing XOR distance function Fixed Degree CAN D-dim. coordinate system Cycloid Cube connected cycle Koorde De Bruijn Graph O(1)-hop EpiChord Learning by queries 17

Further Structured P2P-Networks Topic Assignment Tobias will present CAN Topic Assignment Raymond will present EpiChord 18

Structured Versus Unstructured P2P-Networks Structured P2P-Networks Predictable and bounded routing time (often logarithmic) Very efficient for simple queries (e.g. key-value store) Simple load-balancing algorithms Complete results guaranteed Unstructured P2P-Networks Simple network structure and routing policies Efficient for widely available resources Churn robustness Robust against attacks Remark For complex queries, as in our project group, it is not obvious whether structured or unstructured P2P-Networks are the better choice. 19

Performance Measures (Degree) Hop count Fault tolerance Maintenance overhead Load balance The number of neighbors of a certain node. Worst case average case number of hops needed to get a message from u to v. Which fraction of nodes can fail. Number of messages to be (contiguously) exchanged. How evenly are the keys distributed. How munch load (messages) has a certain node to pass. 20

Information Locality (1/3) Definition (Information Locality) Information locality means that similar information is stored close together in the overlay graph. Example: Define close as numerically close. I.e. v 1 v 2 defines closeness of value v 1 and value v 2. What is it good for? Similarity queries can be solved efficiently! Example: Find all values 100 +/- 5 21

Information Locality (2/3) Chord does not provide information locality (hashing!) Chord can be adapted easily K54 = Key 54 V54 = Value 54 K54 N56 N4 N8 Lookup (K54) V54 N56 N4 N8 Lookup (K54) N51 N14 N51 N14 N48 K10 N48 V10 K38 N42 N38 N32 K30 N21 K24 V38 N42 N38 N32 V30 N21 V24 22

Information Locality (3/3) Disadvantage: Need explicit load balancing! N56 N4 N8 Lookup (V26) N51 N14 N48 N21 N42 N38 N32 V30 V23 V26 Remark Information Locality might be an important technique to solve problems the Project Group is dealing with. 23

Thank you for your attention! 24