Slides for Chapter 10: Peer-to-Peer Systems



Similar documents
How To Create A P2P Network

REDES DE ARMAZENAMENTO E ALTA DISPONIBILIDADE

Peer-to-peer systems and overlays

Acknowledgements. Peer to Peer File Storage Systems. Target Uses. P2P File Systems CS 699. Serving data with inexpensive hosts:

Distributed Systems Peer-to-Peer

DFSgc. Distributed File System for Multipurpose Grid Applications and Cloud Computing

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung

Middleware and Distributed Systems. Peer-to-Peer Systems. Martin v. Löwis. Montag, 30. Januar 12

Introdução aos Sistemas Distribuídos

Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3

GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems

03 infra TI RAID. MTBF; RAID Protection; Mirroring and Parity; RAID levels; write penalty

A P2P SERVICE DISCOVERY STRATEGY BASED ON CONTENT

Gerando Rotas BGP. Tutorial BGP - GTER

LOOKING UP DATA IN P2P SYSTEMS

IPTV AND VOD NETWORK ARCHITECTURES. Diogo Miguel Mateus Farinha

Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

Calto: A Self Sufficient Presence System for Autonomous Networks

CS5412: TIER 2 OVERLAYS

Distributed Hash Tables in P2P Systems - A literary survey

A Survey and Comparison of Peer-to-Peer Overlay Network Schemes

Communications and Networking

Computer Networks - CS132/EECS148 - Spring

Identity Theft Protection in Structured Overlays

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

A Brief Analysis on Architecture and Reliability of Cloud Based Data Storage

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Slides for Chapter 9: Name Services

TABLE OF CONTENTS INSTALLATION MANUAL MASTERSAF DW

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

Identity Theft Protection in Structured Overlays

A P2PSIP event notification architecture

Security in Structured P2P Systems

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

Answers to Sample Questions on Network Layer

Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network

Domain Name System for PeerHosting

An Introduction to Peer-to-Peer Networks

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

EDOS Distribution System: a P2P architecture for open-source content dissemination

T he Electronic Magazine of O riginal Peer-Reviewed Survey Articles ABSTRACT

Tornado: A Capability-Aware Peer-to-Peer Storage Network

How To Understand The Power Of Icdn

Peer-to-Peer and Grid Computing. Chapter 4: Peer-to-Peer Storage

SplitStream: High-Bandwidth Multicast in Cooperative Environments

5. Peer-to-peer (P2P) networks

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

A Performance Comparison of Native IP Multicast and IP Multicast Tunneled through a Peer-to-Peer Overlay Network

Bandwidth Management in MPLS Networks

Distributed Systems LEEC (2005/06 2º Sem.)

Tenha um domínio do REGEDIT do Windows

2015 Internet Traffic Analysis

Module 1 Introduction CS755! 1-1!

Armazenamento Inteligente

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM

PEER TO PEER FILE SHARING USING NETWORK CODING

Attacks Against Peer-to-peer Networks and Countermeasures

Software Design Specification

Unit 3 - Advanced Internet Architectures

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems

Research on P2P-SIP based VoIP system enhanced by UPnP technology

Kosha: A Peer-to-Peer Enhancement for the Network File System

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

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

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

PROMETHEUS: OPERATIONAL OPTIMIZATION OF FIREWALLS IN LARGE CORPORATE NETWORKS

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Experimental Comparison of Routing and Middleware Solutions for Mobile Ad Hoc Networks: Legacy vs Cross-Layer Approach

Boletim Técnico. Esta implementação consiste em atender a legislação do intercâmbio eletrônico na versão 4.0 adotado pela Unimed do Brasil.

P2P Networking - Advantages and Disadvantages of Virtualization

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Global Server Load Balancing

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Internetworking and Internet-1. Global Addresses

How To Understand The Power Of A Content Delivery Network (Cdn)

Distributed Systems Lecture 1 1

PSON: A Scalable Peer-to-Peer File Sharing System Supporting Complex Queries

A Network Monitoring System with a Peer-to-Peer Architecture

Gluster Filesystem 3.3 Beta 2 Hadoop Compatible Storage

Deleting Files in the Celeste Peer-to-Peer Storage System

Exploring the Design Space of Distributed and Peer-to-Peer Systems: Comparing the Web, TRIAD, and Chord/CFS

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems

Censorship-Resistant and Anonymous P2P Filesharing

Approximate Object Location and Spam Filtering on Peer-to-peer Systems

Software Defined Networking (SDN) - Open Flow

Voice over IP at the Portuguese NREN

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Multicast vs. P2P for content distribution

P2P-based Storage Systems

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

Transcription:

Slides for Chapter 10: Peer-to-Peer Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005

Figure 10.1: Distinctions between IP and overlay routing for peer-to-peer applications IP Application-level routing overlay Scale Load balancing Network dynamics (addition/deletion of objects/nodes) Fault tolerance Target identification Security and anonymity IPv4 is limited to 232 addressable nodes. The IPv6 name space is much more generous (2128), but addresses in both versions are hierarchically structured a nd much of the space is pre-allocated accordi ng to administrative requirements. Loads on routers are determin ed by network topology and associated traffic patterns. IP routing tables are updated asy nchronously on a best-efforts basis with time constants on the order of 1 hour. Redundancy is designed into the IP network by its managers, ensuring toleran ce of a single router or network connectivity failure. n-fold replication is costly. Each IP address maps to exactly one target node. Addressing is only secu re when all nodes are trusted. Anonymity for the owners of addresses is not achievable. Peer-to-peer systems can address more objects. The GUID name space is very large and flat (>2128), allowing it to be much more fully occupied. Object locations can be ra ndomized and hence traffic patterns are divorced from the network topology. Routing tables can be u pdated synchronously or asynchronously with fractions of a second delays. Routes and object refer ences can be replicated n-fold, ensuring tolerance of n failures of nodes or connections. Messages can be rout ed to the nearest replica of a target object. Security can be achiev ed even in environments with limited trust. A limited degree of anonymity can be provided.

Napter Serviço de armazenamento e recuperação de informações Compartilhamento de músicas Objetivo: download de arquivos de música digital Usuários fornecem arquivos Usa índices centralizados e replicados Indices mantém endereços de rede dos hosts Consistência entre réplicas não é garantida Projeto considera caráter local da rede número de passos entre cliente e servidor Gargalos: descoberta e endereçamento de objetos

Características especiais Aplicação: Arquivos de música nunca são atualizados Não é exigida garantia de disponibilidade Segurança: Mecanismos de comunicação favorece anonimato Arquivos cifrados podem conter informações sigilosas ou proibidas e provedor pode alegar desconhecimento Roteamento de requisições e resposta pode ocultar a fonte (caminho tortuoso) Conteúdo de arquivos podem ser distribuídos em vários nós dispersando responsabilidades

Figure 10.2: Napster: peer-to-peer file sharing with a centralized, replicated index peers Napster server Index 1. File location request 2. List of peers offering the file 3. File request Napster server Index 5. Index update 4. File delivered

Middleware P2P Desafios gerais: Garantir acesso rápido à recursos Garantir acesso seguro a recursos (disponibilidade) Segunda geração de sistemas P2P: Indices particionados e dristribuídos (fig 10.3) Algoritmos de manipulação de indices específicos por sistema Questão principal: como localizar os objetos de forma rápida?

Figure 10.3: Distribution of information in a routing overlay AÕs routing knowledge DÕs routing knowledge C A D B Object: Node: BÕs routing knowledge CÕs routing knowledge

Middleware P2P Requisitos Permitir que clientes localizem e se comuniquem com recursos individuais, independente da distribuição Capacidade de adicionar e remover hosts e recursos à vontade Oferecer uma interface de programação amigável/simples Escalabilidade global Balanceamento de carga Posicionamento aleatório de recursos Réplicas dos recursos muito utilizados Otimização das iterações locais entre peers Acomodar a disponibilidade dinâmica de hosts

Figure 10.4: Basic programming interface for a distributed hash table (DHT) as implemented by the PAST API over Pastry put(guid, data) The data is stored in replicas at all nodes responsible for the object identified by GUID. remove(guid) Deletes all references to GUID and the associated data. value = get(guid) The data associated with GUID is retrieved from one of the nodes responsible it.

Figure 10.5: Basic programming interface for distributed object location and routing (DOLR) as implemented by Tapestry publish(guid ) GUID can be computed from the object (or some part of it, e.g. its name). This function makes the node performing a publish operation the host for the object corresponding to GUID. unpublish(guid) Makes the object corresponding to GUID inaccessible. sendtoobj(msg, GUID, [n]) Following the object-oriented paradigm, an invocation message is sent to an object in order to access it. This might be a request to open a TCP connection for data transfer or to return a message containing all or part of the object s state. The final optional parameter [n], if present, requests the delivery of the same message to n replicas of the object.

Figure 10.6: Circular routing alone is correct but inefficient Based on Rowstron and Druschel [2001] 0 FFFFF...F (2 128-1) D471F1 D467C4 D46A1C D13DA3 The dots depict live nodes. The space is considered as circular: node 0 is adjacent to node (2128-1). The diagram illustrates the routing of a message from node 65A1FC to D46A1C using leaf set information alone, assuming leaf sets of size 8 (l = 4). This is a degenerate type of routing that would scale very poorly; it is not used in practice. 65A1FC

Figure 10.7: First four rows of a Pastry routing table

Figure 10.8: Pastry routing example Based on Rowstron and Druschel [2001] 0 FFFFF...F (2 128-1) Routing a message from node 65A1FC to D46A1C. With the aid of a well-populated routing table the message can be delivered in ~ log 16 (N ) hops. D471F1 D46A1C D467C4 D462BA D4213F D13DA3 65A1FC

Figure 10.9: Pastry s routing algorithm To handle a message M addressed to a node D (where R[p,i] is the element at column i, row p of the routing table): 1. If (L -l < D < L l ) { // the destination is within the leaf set or is the current node. 2. Forward M to the element L i of the leaf set with GUID closest to D or the current node A. 3. } else { // use the routing table to despatch M to a node with a closer GUID 4. find p, the length of the longest common prefix of D and A. and i, the (p+1) th hexadecimal digit of D. 5. If (R[p,i] null) forward M to R[p,i] // route M to a node with a longer common prefix. 6. else { // there is no entry in the routing table 7. Forward M to any node in L or R with a common prefix of length i, but a GUID that is numerically closer. } }

Figure 10.10: Tapestry routing From [Zhao et al. 2004] Tapestry routings for 4377 4377 (Root for 4378) publish path 4228 43FE 437A Location mapping for 4378 Routes actually taken by send(4378) 4378 PhilÕs Books E791 4664 4B4F 4361 57EC 4A6D AA93 4378 PhilÕs Books Replicas of the file PhilÕs Books (G=4378) are hosted at nodes 4228 and AA93. Node 4377 is the root node for object 4378. The Tapestry routings shown are some of the entries in routing tables. The publish paths show routes followed by the publish messages laying down cached location mappings for object 4378. The location mappings are subsequently used to route messages sent to 4378.

Figure 10.11: Storage organization of OceanStore objects AGUID certificate VGUID of current version version i+1 VGUID of version i root block d1 d2 d3 BGUID (copy on write) version i indirection blocks Version i+1 has been updated in blocks d1, d2 and d3. The certificate and the root blocks include some metadata not shown. All unlabelled arrows are BGUIDs. data blocks VGUID of version i-1 d1 d2 d3 d4 d5

Figure 10.12: Types of identifier used in OceanStore Name Meaning Description BGUID block GUID Secure hash of a data block VGUID version GUID BGUID of the root block of a version AGUID active GUID Uniquely identifies all the versions of an object

Figure 10.13: Performance evaluation of the Pond prototype emulating NFS LAN WAN Predominant operations in Phase Linux NFS Pond Linux NFS Pond benchmark 1 0.0 1.9 0.9 2.8 Read and write 2 0.3 11.0 9.4 16.8 Read and write 3 1.1 1.8 8.3 1.8 Read 4 0.5 1.5 6.9 1.5 Read 5 2.6 21.0 21.5 32.0 Read and write Total 4.5 37.2 47.0 54.9

Figure 10.14: Ivy system architecture Ivy node Application Application DHash server DHash server Ivy server DHash server DHash server Modifled NFS Client module Kernel DHash server