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

Artificial Neural Networks - ANN
Artificial Neural Networks - ANNArtificial Neural Networks - ANN
Artificial Neural Networks - ANNMohamed Talaat
 
Fedarated learning
Fedarated learningFedarated learning
Fedarated learningVaishakhKP1
 
Introduction to Deep learning
Introduction to Deep learningIntroduction to Deep learning
Introduction to Deep learningleopauly
 
DNA computing seminar
DNA computing seminarDNA computing seminar
DNA computing seminarAmit Yerva
 
Artificial Neural Network seminar presentation using ppt.
Artificial Neural Network seminar presentation using ppt.Artificial Neural Network seminar presentation using ppt.
Artificial Neural Network seminar presentation using ppt.Mohd Faiz
 
GRID COMPUTING PRESENTATION
GRID COMPUTING PRESENTATION GRID COMPUTING PRESENTATION
GRID COMPUTING PRESENTATION Ashok Mannai
 
Neural network & its applications
Neural network & its applications Neural network & its applications
Neural network & its applications Ahmed_hashmi
 
5G wireless technology
5G wireless technology5G wireless technology
5G wireless technologyAndeAkash
 
Computer Vision for Beginners
Computer Vision for BeginnersComputer Vision for Beginners
Computer Vision for BeginnersSanghamitra Deb
 
Moletronics
MoletronicsMoletronics
Moletronicsmaddyz03
 
Machine Learning in Healthcare Diagnostics
Machine Learning in Healthcare DiagnosticsMachine Learning in Healthcare Diagnostics
Machine Learning in Healthcare DiagnosticsLarry Smarr
 
Quantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureQuantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureVernBrownell
 

What's hot (20)

LDM_ImageSythesis.pptx
LDM_ImageSythesis.pptxLDM_ImageSythesis.pptx
LDM_ImageSythesis.pptx
 
PhD Defense
PhD DefensePhD Defense
PhD Defense
 
Gene therapy
Gene therapyGene therapy
Gene therapy
 
DNA computing
DNA computingDNA computing
DNA computing
 
Artificial Neural Networks - ANN
Artificial Neural Networks - ANNArtificial Neural Networks - ANN
Artificial Neural Networks - ANN
 
Fedarated learning
Fedarated learningFedarated learning
Fedarated learning
 
Introduction to Deep learning
Introduction to Deep learningIntroduction to Deep learning
Introduction to Deep learning
 
Neuromorphic computing
Neuromorphic computingNeuromorphic computing
Neuromorphic computing
 
DNA computing seminar
DNA computing seminarDNA computing seminar
DNA computing seminar
 
Artificial Neural Network seminar presentation using ppt.
Artificial Neural Network seminar presentation using ppt.Artificial Neural Network seminar presentation using ppt.
Artificial Neural Network seminar presentation using ppt.
 
GRID COMPUTING PRESENTATION
GRID COMPUTING PRESENTATION GRID COMPUTING PRESENTATION
GRID COMPUTING PRESENTATION
 
Nanoelectronics
NanoelectronicsNanoelectronics
Nanoelectronics
 
Neural network & its applications
Neural network & its applications Neural network & its applications
Neural network & its applications
 
5G wireless technology
5G wireless technology5G wireless technology
5G wireless technology
 
Computer Vision for Beginners
Computer Vision for BeginnersComputer Vision for Beginners
Computer Vision for Beginners
 
1. gene therapy
1. gene therapy1. gene therapy
1. gene therapy
 
Neural Networks
Neural NetworksNeural Networks
Neural Networks
 
Moletronics
MoletronicsMoletronics
Moletronics
 
Machine Learning in Healthcare Diagnostics
Machine Learning in Healthcare DiagnosticsMachine Learning in Healthcare Diagnostics
Machine Learning in Healthcare Diagnostics
 
Quantum Computing: Welcome to the Future
Quantum Computing: Welcome to the FutureQuantum Computing: Welcome to the Future
Quantum Computing: Welcome to the Future
 

Viewers also liked

Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer SystemsUwe Schmidt
 
Peer to peer Networks
Peer to peer Networks Peer to peer Networks
Peer to peer Networks Nicola Cerami
 
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 (9)

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
 
Peer to peer Networks
Peer to peer Networks Peer to peer Networks
Peer to peer Networks
 
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

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
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?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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