SlideShare a Scribd company logo
1 of 46
An Overview of Peer-to-Peer

         Sami Rollins
           11/14/02
Outline
• P2P Overview
  – What is a peer?
  – Example applications
  – Benefits of P2P
• P2P Content Sharing
  – Challenges
  – Group management/data placement approaches
  – Measurement studies
What is Peer-to-Peer (P2P)?
• Napster?
• Gnutella?
• Most people think of P2P as music sharing
What is a peer?
• Contrasted with
  Client-Server model
• Servers are centrally
  maintained and
  administered
• Client has fewer
  resources than a server
What is a peer?
• A peer’s resources are
  similar to the
  resources of the other
  participants
• P2P – peers
  communicating
  directly with other
  peers and sharing
  resources
Levels of P2P-ness
• P2P as a mindset
  – Slashdot
• P2P as a model
  – Gnutella
• P2P as an implementation choice
  – Application-layer multicast
• P2P as an inherent property
  – Ad-hoc networks
P2P Application Taxonomy

                          P2P Systems




Distributed Computing File Sharing   Collaboration   Platforms
     SETI@home          Gnutella        Jabber         JXTA
P2P Goals/Benefits
•   Cost sharing
•   Resource aggregation
•   Improved scalability/reliability
•   Increased autonomy
•   Anonymity/privacy
•   Dynamism
•   Ad-hoc communication
P2P File Sharing
• Content exchange
  – Gnutella
• File systems
  – Oceanstore
• Filtering/mining
  – Opencola
P2P File Sharing Benefits
•   Cost sharing
•   Resource aggregation
•   Improved scalability/reliability
•   Anonymity/privacy
•   Dynamism
Research Areas
•   Peer discovery and group management
•   Data location and placement
•   Reliable and efficient file exchange
•   Security/privacy/anonymity/trust
Current Research
• Group management and data placement
  – Chord, CAN, Tapestry, Pastry
• Anonymity
  – Publius
• Performance studies
  – Gnutella measurement study
Management/Placement Challenges
•   Per-node state
•   Bandwidth usage
•   Search time
•   Fault tolerance/resiliency
Approaches
• Centralized
• Flooding
• Document Routing
Centralized
                               Bob    Alice


• Napster model
• Benefits:
  – Efficient search
  – Limited bandwidth usage
  – No per-node state
• Drawbacks:
  – Central point of failure   Judy    Jane

  – Limited scale
Flooding
                                  Carl         Jane

• Gnutella model
• Benefits:
  – No central point of failure
  – Limited per-node state
• Drawbacks:                             Bob

  – Slow searches
  – Bandwidth intensive                               Alice
                                  Judy
Document Routing
                                   001                 012


• FreeNet, Chord, CAN,
  Tapestry, Pastry model                       212 ?
                                                             212 ?
• Benefits:
                                         332
   – More efficient searching
                                                                212
   – Limited per-node state       305

• Drawbacks:
   – Limited fault-tolerance vs
     redundancy
Document Routing – CAN
• Associate to each node and item a unique id in an
  d-dimensional space
• Goals
   – Scales to hundreds of thousands of nodes
   – Handles rapid arrival and failure of nodes
• Properties
   – Routing table size O(d)
   – Guarantees that a file is found in at most d*n1/d steps,
     where n is the total number of nodes

          Slide modified from another presentation
CAN Example: Two
              Dimensional Space
• Space divided between nodes
                                  7
• All nodes cover the entire      6
  space
                                  5
• Each node covers either a
                                  4
  square or a rectangular area of
  ratios 1:2 or 2:1               3
                                              n1
• Example:                        2

   – Node n1:(1, 2) first node that   1

     joins  cover the entire space   0

                                          0    1   2   3   4   5   6   7



            Slide modified from another presentation
CAN Example: Two
            Dimensional Space
• Node n2:(4, 2) joins  space
                                  7
  is divided between n1 and n2
                                  6

                                   5

                                   4

                                   3
                                           n1           n2
                                   2

                                   1

                                  0

                                       0    1   2   3   4    5   6   7



           Slide modified from another presentation
CAN Example: Two
            Dimensional Space
• Node n2:(4, 2) joins  space
                                  7
  is divided between n1 and n2
                                  6
                                                    n3
                                   5

                                   4

                                   3
                                           n1            n2
                                   2

                                   1

                                  0

                                       0    1   2    3   4    5   6   7



           Slide modified from another presentation
CAN Example: Two
            Dimensional Space
• Nodes n4:(5, 5) and n5:(6,6)
                                  7
  join
                                  6                                n5
                                                    n3        n4
                                   5

                                   4

                                   3
                                           n1            n2
                                   2

                                   1

                                  0

                                       0    1   2    3   4     5    6   7



           Slide modified from another presentation
CAN Example: Two
             Dimensional Space
• Nodes: n1:(1, 2); n2:(4,2); n3:
                                  7
  (3, 5); n4:(5,5);n5:(6,6)
                                  6                                       n5
• Items: f1:(2,3); f2:(5,1); f3:                          n3        n4
                                  5                                            f4
  (2,1); f4:(7,5);
                                    4
                                                 f1
                                    3
                                            n1                 n2
                                    2
                                                 f3
                                    1

                                   0                                 f2

                                        0    1        2    3   4     5     6        7



            Slide modified from another presentation
CAN Example: Two
            Dimensional Space
• Each item is stored by the
                                 7
  node who owns its mapping
  in the space                   6
                                                        n3        n4
                                                                        n5

                                  5                                          f4

                                  4
                                               f1
                                  3
                                          n1                 n2
                                  2
                                               f3
                                  1

                                 0                                 f2

                                      0    1        2    3   4     5     6        7



          Slide modified from another presentation
CAN: Query Example
• Each node knows its
  neighbors in the d-space          7

• Forward query to the              6                                     n5
                                                                    n4
  neighbor that is closest to the   5
                                                          n3
                                                                               f4
  query id                          4
• Example: assume n1 queries        3
                                                 f1

  f4                                        n1                 n2
                                    2
• Can route around some                          f3
                                    1
  failures                                                           f2
                                    0
   – some failures require local
                                        0    1        2    3   4     5     6        7
     flooding
            Slide modified from another presentation
CAN: Query Example
• Each node knows its
  neighbors in the d-space          7

• Forward query to the              6                                     n5
                                                                    n4
  neighbor that is closest to the   5
                                                          n3
                                                                               f4
  query id                          4
• Example: assume n1 queries        3
                                                 f1

  f4                                        n1                 n2
                                    2
• Can route around some                          f3
                                    1
  failures                                                           f2
                                    0
   – some failures require local
                                        0    1        2    3   4     5     6        7
     flooding
            Slide modified from another presentation
CAN: Query Example
• Each node knows its
  neighbors in the d-space          7

• Forward query to the              6                                     n5
                                                                    n4
  neighbor that is closest to the   5
                                                          n3
                                                                               f4
  query id                          4
• Example: assume n1 queries        3
                                                 f1

  f4                                        n1                 n2
                                    2
• Can route around some                          f3
                                    1
  failures                                                           f2
                                    0
   – some failures require local
                                        0    1        2    3   4     5     6        7
     flooding
            Slide modified from another presentation
CAN: Query Example
• Each node knows its
  neighbors in the d-space          7

• Forward query to the              6                                     n5
                                                                    n4
  neighbor that is closest to the   5
                                                          n3
                                                                               f4
  query id                          4
• Example: assume n1 queries        3
                                                 f1

  f4                                        n1                 n2
                                    2
• Can route around some                          f3
                                    1
  failures                                                           f2
                                    0
   – some failures require local
                                        0    1        2    3   4     5     6        7
     flooding
            Slide modified from another presentation
Node Failure Recovery
• Simple failures
  – know your neighbor’s neighbors
  – when a node fails, one of its neighbors takes
    over its zone
• More complex failure modes
  – simultaneous failure of multiple adjacent nodes
  – scoped flooding to discover neighbors
  – hopefully, a rare event

       Slide modified from another presentation
Document Routing – Chord
                                  N5

                                        N10
                           N110              K19
• MIT project                             N20
• Uni-dimensional ID      N99
  space                                       N32
• Keep track of log N
  nodes
                            N80
• Search through log N
  nodes to find desired key       N60
Doc Routing – Tapestry/Pastry
                                   43F
                                                 993
                       13F          E
                                                  E
                        E
• Global mesh
• Suffix-based routing
                               73F                           F99
• Uses underlying network       E                             0
  distance in constructing                 04F
                                            E
  mesh
                                                       999
                             ABF                        0
                              E


                                         239
                                          E                  129
                                                              0
Comparing Guarantees
           Model         Search   State

Chord         Uni-       log N    log N
           dimensional
             Multi-
CAN                      dN1/d    2d
           dimensional

Tapestry   Global Mesh   logbN    b logbN


Pastry      Neighbor     logbN    b logbN + b
              map
Remaining Problems?
• Hard to handle highly dynamic
  environments
• Usable services
• Methods don’t consider peer characteristics
Measurement Studies
•   “Free Riding on Gnutella”
•   Most studies focus on Gnutella
•   Want to determine how users behave
•   Recommendations for the best way to
    design systems
Free Riding Results
• Who is sharing what?
• August 2000
   The top             Share       As percent of whole
   333 hosts (1%)      1,142,645   37%
   1,667 hosts (5%)    2,182,087   70%
   3,334 hosts (10%)   2,692,082   87%
   5,000 hosts (15%)   2,928,905   94%
   6,667 hosts (20%)   3,037,232   98%
   8,333 hosts (25%)   3,082,572   99%
Saroiu et al Study
• How many peers are server-like…client-
  like?
  – Bandwidth, latency
• Connectivity
• Who is sharing what?
Saroiu et al Study
• May 2001
• Napster crawl
  – query index server and keep track of results
  – query about returned peers
  – don’t capture users sharing unpopular content
• Gnutella crawl
  – send out ping messages with large TTL
Results Overview
• Lots of heterogeneity between peers
  – Systems should consider peer capabilities
• Peers lie
  – Systems must be able to verify reported peer
    capabilities or measure true capabilities
Measured Bandwidth
Reported Bandwidth
Measured Latency
Measured Uptime
Number of Shared Files
Connectivity
Points of Discussion
• Is it all hype?
• Should P2P be a research area?
• Do P2P applications/systems have common
  research questions?
• What are the “killer apps” for P2P systems?
Conclusion
• P2P is an interesting and useful model
• There are lots of technical challenges to be
  solved

More Related Content

What's hot

Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocolasimnawaz54
 
Application layer
Application layerApplication layer
Application layerreshmadayma
 
Fundamentals of Communication Networks
Fundamentals ofCommunication NetworksFundamentals ofCommunication Networks
Fundamentals of Communication Networks Hossein Shafieirad
 
Data-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A surveyData-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A surveyAli Habeeb
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsChandra Meena
 
COMPUTER NETWORKING
COMPUTER NETWORKINGCOMPUTER NETWORKING
COMPUTER NETWORKINGKiran Buriro
 
Basic concepts of computer Networking
Basic concepts of computer NetworkingBasic concepts of computer Networking
Basic concepts of computer NetworkingHj Habib
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocolsIffat Anjum
 
6 understanding DHCP
6 understanding DHCP6 understanding DHCP
6 understanding DHCPHameda Hurmat
 
RPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy NetworksRPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy NetworksPradeep Kumar TS
 
clustering protocol in WSN:LEACH
clustering protocol in WSN:LEACHclustering protocol in WSN:LEACH
clustering protocol in WSN:LEACHJimit Rupani
 
Redes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LANRedes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LANMauro Tapajós
 
Domain name service
Domain name serviceDomain name service
Domain name serviceishapadhy
 

What's hot (20)

Internet control message protocol
Internet control message protocolInternet control message protocol
Internet control message protocol
 
Application layer
Application layerApplication layer
Application layer
 
Fundamentals of Communication Networks
Fundamentals ofCommunication NetworksFundamentals ofCommunication Networks
Fundamentals of Communication Networks
 
Data-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A surveyData-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A survey
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocols
 
COMPUTER NETWORKING
COMPUTER NETWORKINGCOMPUTER NETWORKING
COMPUTER NETWORKING
 
Basic concepts of computer Networking
Basic concepts of computer NetworkingBasic concepts of computer Networking
Basic concepts of computer Networking
 
Wireshark Basic Presentation
Wireshark Basic PresentationWireshark Basic Presentation
Wireshark Basic Presentation
 
Frame relay
Frame relayFrame relay
Frame relay
 
MPLS VPN
MPLS VPNMPLS VPN
MPLS VPN
 
Overlay networks
Overlay networksOverlay networks
Overlay networks
 
Cisco MPLS
Cisco MPLSCisco MPLS
Cisco MPLS
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
 
6 understanding DHCP
6 understanding DHCP6 understanding DHCP
6 understanding DHCP
 
RPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy NetworksRPL - Routing Protocol for Low Power and Lossy Networks
RPL - Routing Protocol for Low Power and Lossy Networks
 
clustering protocol in WSN:LEACH
clustering protocol in WSN:LEACHclustering protocol in WSN:LEACH
clustering protocol in WSN:LEACH
 
Linux05 DHCP Server
Linux05 DHCP ServerLinux05 DHCP Server
Linux05 DHCP Server
 
Redes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LANRedes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LAN
 
Leach & Pegasis
Leach & PegasisLeach & Pegasis
Leach & Pegasis
 
Domain name service
Domain name serviceDomain name service
Domain name service
 

Viewers also liked

Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer SystemsUwe Schmidt
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Peer To Peer Networking
Peer To Peer NetworkingPeer To Peer Networking
Peer To Peer Networkingicanhasfay
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 

Viewers also liked (8)

Peer to peer system
Peer to peer systemPeer to peer system
Peer to peer system
 
Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer Systems
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Distributed System
Distributed System Distributed System
Distributed System
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Peer To Peer Networking
Peer To Peer NetworkingPeer To Peer Networking
Peer To Peer Networking
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 

Similar to Peer to-peer

An overview of Peer-to-Peer technology new
An overview of Peer-to-Peer technology newAn overview of Peer-to-Peer technology new
An overview of Peer-to-Peer technology newchizhangufl
 
Tricks of the trade with Ted Malaska
Tricks of the trade with Ted MalaskaTricks of the trade with Ted Malaska
Tricks of the trade with Ted MalaskaDatabricks
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simonlucenerevolution
 
Column Stride Fields aka. DocValues
Column Stride Fields aka. DocValues Column Stride Fields aka. DocValues
Column Stride Fields aka. DocValues Lucidworks (Archived)
 
Hadoop virtualization extensions hadoop world meetup
Hadoop virtualization extensions hadoop world meetupHadoop virtualization extensions hadoop world meetup
Hadoop virtualization extensions hadoop world meetupJunping Du
 
Untangling Cluster Management with Helix
Untangling Cluster Management with HelixUntangling Cluster Management with Helix
Untangling Cluster Management with HelixAmy W. Tang
 
HPTS talk on micro-sharding with Katta
HPTS talk on micro-sharding with KattaHPTS talk on micro-sharding with Katta
HPTS talk on micro-sharding with KattaTed Dunning
 

Similar to Peer to-peer (9)

An overview of Peer-to-Peer technology new
An overview of Peer-to-Peer technology newAn overview of Peer-to-Peer technology new
An overview of Peer-to-Peer technology new
 
Tricks of the trade with Ted Malaska
Tricks of the trade with Ted MalaskaTricks of the trade with Ted Malaska
Tricks of the trade with Ted Malaska
 
03 search blind
03 search blind03 search blind
03 search blind
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
 
Column Stride Fields aka. DocValues
Column Stride Fields aka. DocValuesColumn Stride Fields aka. DocValues
Column Stride Fields aka. DocValues
 
Column Stride Fields aka. DocValues
Column Stride Fields aka. DocValues Column Stride Fields aka. DocValues
Column Stride Fields aka. DocValues
 
Hadoop virtualization extensions hadoop world meetup
Hadoop virtualization extensions hadoop world meetupHadoop virtualization extensions hadoop world meetup
Hadoop virtualization extensions hadoop world meetup
 
Untangling Cluster Management with Helix
Untangling Cluster Management with HelixUntangling Cluster Management with Helix
Untangling Cluster Management with Helix
 
HPTS talk on micro-sharding with Katta
HPTS talk on micro-sharding with KattaHPTS talk on micro-sharding with Katta
HPTS talk on micro-sharding with Katta
 

More from Mohd Arif

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcpMohd Arif
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarpMohd Arif
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocolMohd Arif
 
Project identification
Project identificationProject identification
Project identificationMohd Arif
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniquesMohd Arif
 
Presentation
PresentationPresentation
PresentationMohd Arif
 
Pointers in c
Pointers in cPointers in c
Pointers in cMohd Arif
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systemsMohd Arif
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdpMohd Arif
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgetingMohd Arif
 
Network management
Network managementNetwork management
Network managementMohd Arif
 
Networing basics
Networing basicsNetworing basics
Networing basicsMohd Arif
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformMohd Arif
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and sslMohd Arif
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psecMohd Arif
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardwareMohd Arif
 
H.323 vs. cops interworking
H.323 vs. cops interworkingH.323 vs. cops interworking
H.323 vs. cops interworkingMohd Arif
 

More from Mohd Arif (20)

Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcp
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
Project identification
Project identificationProject identification
Project identification
 
Project evalaution techniques
Project evalaution techniquesProject evalaution techniques
Project evalaution techniques
 
Presentation
PresentationPresentation
Presentation
 
Pointers in c
Pointers in cPointers in c
Pointers in c
 
Overview of current communications systems
Overview of current communications systemsOverview of current communications systems
Overview of current communications systems
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
 
Objectives of budgeting
Objectives of budgetingObjectives of budgeting
Objectives of budgeting
 
Network management
Network managementNetwork management
Network management
 
Networing basics
Networing basicsNetworing basics
Networing basics
 
Loaders
LoadersLoaders
Loaders
 
Lists
ListsLists
Lists
 
Iris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platformIris ngx next generation ip based switching platform
Iris ngx next generation ip based switching platform
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and ssl
 
Ip security in i psec
Ip security in i psecIp security in i psec
Ip security in i psec
 
Intro to comp. hardware
Intro to comp. hardwareIntro to comp. hardware
Intro to comp. hardware
 
Heap sort
Heap sortHeap sort
Heap sort
 
H.323 vs. cops interworking
H.323 vs. cops interworkingH.323 vs. cops interworking
H.323 vs. cops interworking
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Peer to-peer

  • 1. An Overview of Peer-to-Peer Sami Rollins 11/14/02
  • 2. Outline • P2P Overview – What is a peer? – Example applications – Benefits of P2P • P2P Content Sharing – Challenges – Group management/data placement approaches – Measurement studies
  • 3. What is Peer-to-Peer (P2P)? • Napster? • Gnutella? • Most people think of P2P as music sharing
  • 4. What is a peer? • Contrasted with Client-Server model • Servers are centrally maintained and administered • Client has fewer resources than a server
  • 5. What is a peer? • A peer’s resources are similar to the resources of the other participants • P2P – peers communicating directly with other peers and sharing resources
  • 6. Levels of P2P-ness • P2P as a mindset – Slashdot • P2P as a model – Gnutella • P2P as an implementation choice – Application-layer multicast • P2P as an inherent property – Ad-hoc networks
  • 7. P2P Application Taxonomy P2P Systems Distributed Computing File Sharing Collaboration Platforms SETI@home Gnutella Jabber JXTA
  • 8. P2P Goals/Benefits • Cost sharing • Resource aggregation • Improved scalability/reliability • Increased autonomy • Anonymity/privacy • Dynamism • Ad-hoc communication
  • 9. P2P File Sharing • Content exchange – Gnutella • File systems – Oceanstore • Filtering/mining – Opencola
  • 10. P2P File Sharing Benefits • Cost sharing • Resource aggregation • Improved scalability/reliability • Anonymity/privacy • Dynamism
  • 11. Research Areas • Peer discovery and group management • Data location and placement • Reliable and efficient file exchange • Security/privacy/anonymity/trust
  • 12. Current Research • Group management and data placement – Chord, CAN, Tapestry, Pastry • Anonymity – Publius • Performance studies – Gnutella measurement study
  • 13. Management/Placement Challenges • Per-node state • Bandwidth usage • Search time • Fault tolerance/resiliency
  • 15. Centralized Bob Alice • Napster model • Benefits: – Efficient search – Limited bandwidth usage – No per-node state • Drawbacks: – Central point of failure Judy Jane – Limited scale
  • 16. Flooding Carl Jane • Gnutella model • Benefits: – No central point of failure – Limited per-node state • Drawbacks: Bob – Slow searches – Bandwidth intensive Alice Judy
  • 17. Document Routing 001 012 • FreeNet, Chord, CAN, Tapestry, Pastry model 212 ? 212 ? • Benefits: 332 – More efficient searching 212 – Limited per-node state 305 • Drawbacks: – Limited fault-tolerance vs redundancy
  • 18. Document Routing – CAN • Associate to each node and item a unique id in an d-dimensional space • Goals – Scales to hundreds of thousands of nodes – Handles rapid arrival and failure of nodes • Properties – Routing table size O(d) – Guarantees that a file is found in at most d*n1/d steps, where n is the total number of nodes Slide modified from another presentation
  • 19. CAN Example: Two Dimensional Space • Space divided between nodes 7 • All nodes cover the entire 6 space 5 • Each node covers either a 4 square or a rectangular area of ratios 1:2 or 2:1 3 n1 • Example: 2 – Node n1:(1, 2) first node that 1 joins  cover the entire space 0 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 20. CAN Example: Two Dimensional Space • Node n2:(4, 2) joins  space 7 is divided between n1 and n2 6 5 4 3 n1 n2 2 1 0 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 21. CAN Example: Two Dimensional Space • Node n2:(4, 2) joins  space 7 is divided between n1 and n2 6 n3 5 4 3 n1 n2 2 1 0 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 22. CAN Example: Two Dimensional Space • Nodes n4:(5, 5) and n5:(6,6) 7 join 6 n5 n3 n4 5 4 3 n1 n2 2 1 0 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 23. CAN Example: Two Dimensional Space • Nodes: n1:(1, 2); n2:(4,2); n3: 7 (3, 5); n4:(5,5);n5:(6,6) 6 n5 • Items: f1:(2,3); f2:(5,1); f3: n3 n4 5 f4 (2,1); f4:(7,5); 4 f1 3 n1 n2 2 f3 1 0 f2 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 24. CAN Example: Two Dimensional Space • Each item is stored by the 7 node who owns its mapping in the space 6 n3 n4 n5 5 f4 4 f1 3 n1 n2 2 f3 1 0 f2 0 1 2 3 4 5 6 7 Slide modified from another presentation
  • 25. CAN: Query Example • Each node knows its neighbors in the d-space 7 • Forward query to the 6 n5 n4 neighbor that is closest to the 5 n3 f4 query id 4 • Example: assume n1 queries 3 f1 f4 n1 n2 2 • Can route around some f3 1 failures f2 0 – some failures require local 0 1 2 3 4 5 6 7 flooding Slide modified from another presentation
  • 26. CAN: Query Example • Each node knows its neighbors in the d-space 7 • Forward query to the 6 n5 n4 neighbor that is closest to the 5 n3 f4 query id 4 • Example: assume n1 queries 3 f1 f4 n1 n2 2 • Can route around some f3 1 failures f2 0 – some failures require local 0 1 2 3 4 5 6 7 flooding Slide modified from another presentation
  • 27. CAN: Query Example • Each node knows its neighbors in the d-space 7 • Forward query to the 6 n5 n4 neighbor that is closest to the 5 n3 f4 query id 4 • Example: assume n1 queries 3 f1 f4 n1 n2 2 • Can route around some f3 1 failures f2 0 – some failures require local 0 1 2 3 4 5 6 7 flooding Slide modified from another presentation
  • 28. CAN: Query Example • Each node knows its neighbors in the d-space 7 • Forward query to the 6 n5 n4 neighbor that is closest to the 5 n3 f4 query id 4 • Example: assume n1 queries 3 f1 f4 n1 n2 2 • Can route around some f3 1 failures f2 0 – some failures require local 0 1 2 3 4 5 6 7 flooding Slide modified from another presentation
  • 29. Node Failure Recovery • Simple failures – know your neighbor’s neighbors – when a node fails, one of its neighbors takes over its zone • More complex failure modes – simultaneous failure of multiple adjacent nodes – scoped flooding to discover neighbors – hopefully, a rare event Slide modified from another presentation
  • 30. Document Routing – Chord N5 N10 N110 K19 • MIT project N20 • Uni-dimensional ID N99 space N32 • Keep track of log N nodes N80 • Search through log N nodes to find desired key N60
  • 31. Doc Routing – Tapestry/Pastry 43F 993 13F E E E • Global mesh • Suffix-based routing 73F F99 • Uses underlying network E 0 distance in constructing 04F E mesh 999 ABF 0 E 239 E 129 0
  • 32. Comparing Guarantees Model Search State Chord Uni- log N log N dimensional Multi- CAN dN1/d 2d dimensional Tapestry Global Mesh logbN b logbN Pastry Neighbor logbN b logbN + b map
  • 33. Remaining Problems? • Hard to handle highly dynamic environments • Usable services • Methods don’t consider peer characteristics
  • 34. Measurement Studies • “Free Riding on Gnutella” • Most studies focus on Gnutella • Want to determine how users behave • Recommendations for the best way to design systems
  • 35. Free Riding Results • Who is sharing what? • August 2000 The top Share As percent of whole 333 hosts (1%) 1,142,645 37% 1,667 hosts (5%) 2,182,087 70% 3,334 hosts (10%) 2,692,082 87% 5,000 hosts (15%) 2,928,905 94% 6,667 hosts (20%) 3,037,232 98% 8,333 hosts (25%) 3,082,572 99%
  • 36. Saroiu et al Study • How many peers are server-like…client- like? – Bandwidth, latency • Connectivity • Who is sharing what?
  • 37. Saroiu et al Study • May 2001 • Napster crawl – query index server and keep track of results – query about returned peers – don’t capture users sharing unpopular content • Gnutella crawl – send out ping messages with large TTL
  • 38. Results Overview • Lots of heterogeneity between peers – Systems should consider peer capabilities • Peers lie – Systems must be able to verify reported peer capabilities or measure true capabilities
  • 45. Points of Discussion • Is it all hype? • Should P2P be a research area? • Do P2P applications/systems have common research questions? • What are the “killer apps” for P2P systems?
  • 46. Conclusion • P2P is an interesting and useful model • There are lots of technical challenges to be solved

Editor's Notes

  1. Upload index to central server when you come online To search, consult central server Request doc directly
  2. Everyone knows about some small number of nodes To find a file, ask everyone you know When you find out who has the doc, ask directly
  3. More systematic approach Ids for docs and nodes Store doc at node with closest id Keep track of small number of nodes with ids close to yours Route requests toward the document
  4. Most projects address the same goal Slightly different models Some specifics? Main goals, minimize search time and routing state