SlideShare ist ein Scribd-Unternehmen logo
1 von 20
CHORD: A SCALABLE PEER-TO-PEER
LOOKUP SERVICE FOR INTERNET
APPLICATIONS

 Ion Stoica                 Robert Morris
 David Liben-Nowell         David R. Karger
 M. Frans Kaashoek          Frank Dabek
 Hari Balakrishnan

                      Presented By-
                 Chaitanya Pratap
                MCA(4th Semester)
         South Asian University, New Delhi.
INTRODUCTION
 A fundamental problem that confronts peer-to-peer
  applications is to efficiently locate the node that
  stores a particular data item.
 Chord provides support for just one operation:
  given a key, it maps the key onto a node.
 Data location can be easily implemented on top of
  Chord by associating a key with each data
  item, and storing the key/data item pair at the node
  to which the key maps.
SYSTEM MODEL (FEATURES)
 Load balance: Chord acts as a distributed hash
  function, spreading keys evenly over the nodes. this
  provides a degree of natural load balance.
 Decentralization: Chord is fully distributed: no
  node is more important than any other. This
  improves robustness.
CONT…
 Scalability: The cost of a Chord lookup grows as
  the log of the number of nodes, so even very large
  systems are feasible.
 Availability: Chord automatically adjusts its internal
  tables to reflect newly joined nodes as well as node
  failures, ensuring that the node responsible for a
  key can always be found.
 Flexible naming: Chord places no constraints on
  the structure of the keys it looks up: the Chord key-
  space is flat.
THE BASE CHORD PROTOCOL
   The Chord protocol specifies how to find the
    locations of keys, how new nodes join the
    system, and how to recover from the failure (or
    planned departure) of existing nodes.
OVERVIEW
 Chord provides fast distributed computation of a
  hash function mapping keys to nodes responsible
  for them.
 when an Nth node joins (or leaves) the
  network, only an O(1/N) fraction of the keys are
  moved to a different location
 A Chord node needs only a small amount of
  “routing” information about other nodes.
 In an N node network, each node maintains
  information only about O(log N) other nodes, and a
  lookup requires O(log N) messages.
 a join or leave requires O(log N^2) messages.
CONSISTENT HASHING
 Consistent hashing is designed to let nodes enter
  and leave the network with minimal disruption.
 To maintain the consistent hashing mapping when a
  node n joins the network, certain keys previously
  assigned to n’s successor now become assigned to
  n.
 When node n leaves the network, all of its assigned
  keys are reassigned to n’s successor.
SCALABLE KEY LOCATION
 This scheme has two important characteristics.
 First, each node stores information about only a
  small number of other nodes, it only knows about
  closer nodes.
 Second, a node’s finger table generally does not
  contain enough information to determine the
  successor of an arbitrary key.
FINGER TABLE
NODE JOINS
 Initialize the predecessor and fingers of node n.
 Update the fingers and predecessors of existing
  nodes to reflect the addition of n.
 Notify the higher layer software so that it can
  transfer state (e.g. values) associated with keys
  that node n is now responsible for.
IMPACT OF NODE JOINS ON
LOOKUPS
   Correctness
       If finger table entries are reasonably current
           Lookup finds the correct successor in O(log N) steps
       If successor pointers are correct but finger tables are
        incorrect
           Correct lookup but slower
       If incorrect successor pointers
           Lookup may fail
IMPACT OF NODE JOINS ON LOOKUPS
 Performance
     If stabilization is complete
         Lookup can be done in O(log N) time
     If stabilization is not complete
         Existing nodes finger tables may not reflect the new
          nodes
             Doesn’t significantly affect lookup speed
         Newly joined nodes can affect the lookup speed, if the
          new nodes ID’s are in between target and target’s
          predecessor
             Lookup will have to be forwarded through the intervening
              nodes, one at a time
STABILIZATION AFTER JOIN
                                                                             n joins
                                     ns
                                                                                 predecessor = nil
                                                                                 n acquires ns as successor via some n’
                                                                                 n notifies ns being the new predecessor
                      pred(ns) = n


                                                                                 ns acquires n as its predecessor

                                                                             np runs stabilize
                                                                                 np asks ns for its predecessor (now n)
                                     n                    succ(np) = ns          np acquires n as its successor
      pred(ns) = np




                                                                                 np notifies n
                                                                                 n will acquire np as its predecessor
                                           succ(np) = n




                                     nil                                     all predecessor and successor pointers
                                                                              are now correct

                                                                             fingers still need to be fixed, but old
                                                                              fingers will still work
                                     np
                                                                                                               13
SOURCE OF INCONSISTENCIES:
CONCURRENT OPERATIONS AND FAILURES


   Basic “stabilization” protocol is used to keep nodes’ successor
    pointers up to date, which is sufficient to guarantee
    correctness of lookups

   Those successor pointers can then be used to verify the finger
    table entries

   Every node runs stabilize periodically to find newly joined
    nodes




                                                                  14
FAILURE RECOVERY
   Key step in failure recovery is maintaining correct successor pointers

   To help achieve this, each node maintains a successor-list of its r
    nearest successors on the ring

   If node n notices that its successor has failed, it replaces it with the
    first live entry in the list

   stabilize will correct finger table entries and successor-list entries
    pointing to failed node

   Performance is sensitive to the frequency of node joins and leaves
    versus the frequency at which the stabilization protocol is invoked




                                                                             15
SIMULATION
   Protocol Simulator:
     The Chord protocol can be implemented in an iterative
      or recursive style.
     In the iterative style, a node resolving a lookup initiates
      all communication: it asks a series of nodes for
      information from their finger tables, each time moving
      closer on the Chord ring to the desired successor.
     In the recursive style, each intermediate node forwards
      a request to the next node until it reaches the
      successor.
     The simulator implements the protocols in an iterative
      style.
EXPERIMENTAL RESULTS


   Latency grows slowly with the total
    number of nodes



   Path length for lookups is about ½
    log2N



   Chord is robust in the face of multiple
    node failures
                                              17
CONCLUSION
 Efficient
          location of the node that stores a
  desired data item is a fundamental problem in
  P2P networks
 Chord protocol solves it in a efficient
  decentralized manner
    Routing information: O(log N) nodes
    Lookup: O(log N) nodes
    Update: O(log2 N) messages
 Italso adapts dynamically to the topology
  changes introduced during the run
FUTURE WORK
   Using Chord to detect and heal partitions whose
    nodes know of each other.
     Every node should know of some same set of initial
      nodes
     Nodes should maintain long-term memory of a random
      set of nodes that they have visited earlier
   Malicious set of Chord participants could present an
    incorrect view of the Chord ring
       Node n periodically asks other nodes to do a lookup for
        n
REFERENCES
   Chord: A Scalable Peer-to-Peer Lookup Service
    for Internet Applications by Ion Stoica, Robert
    Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.

Weitere ähnliche Inhalte

Was ist angesagt?

Point to-point protocol (ppp), PAP & CHAP
Point to-point protocol (ppp), PAP & CHAPPoint to-point protocol (ppp), PAP & CHAP
Point to-point protocol (ppp), PAP & CHAPNetProtocol Xpert
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunheut2008
 
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware OffloadsQuality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware OffloadsNetronome
 
Content addressable network(can)
Content addressable network(can)Content addressable network(can)
Content addressable network(can)Amit Dahal
 
Merkle Trees and Fusion Trees
Merkle Trees and Fusion TreesMerkle Trees and Fusion Trees
Merkle Trees and Fusion TreesRohithND
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Kentaro Ebisawa
 
CNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersCNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersSam Bowne
 
Transport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingTransport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingKeyur Vadodariya
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discoveryDocker, Inc.
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network InterfacesKernel TLV
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmMOHIT AGARWAL
 
Block Cipher Modes of Operation And Cmac For Authentication
Block Cipher Modes of Operation And Cmac For AuthenticationBlock Cipher Modes of Operation And Cmac For Authentication
Block Cipher Modes of Operation And Cmac For AuthenticationVittorio Giovara
 
Kubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveKubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveMichal Rostecki
 

Was ist angesagt? (20)

Socket programming
Socket programmingSocket programming
Socket programming
 
Point to-point protocol (ppp), PAP & CHAP
Point to-point protocol (ppp), PAP & CHAPPoint to-point protocol (ppp), PAP & CHAP
Point to-point protocol (ppp), PAP & CHAP
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
 
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware OffloadsQuality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
 
Content addressable network(can)
Content addressable network(can)Content addressable network(can)
Content addressable network(can)
 
Merkle Trees and Fusion Trees
Merkle Trees and Fusion TreesMerkle Trees and Fusion Trees
Merkle Trees and Fusion Trees
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
CNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersCNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream Ciphers
 
SEGMENT Routing
SEGMENT RoutingSEGMENT Routing
SEGMENT Routing
 
Transport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingTransport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And Demultiplexing
 
Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
Public key cryptography and RSA
Public key cryptography and RSAPublic key cryptography and RSA
Public key cryptography and RSA
 
Coda file system
Coda file systemCoda file system
Coda file system
 
Classical Encryption
Classical EncryptionClassical Encryption
Classical Encryption
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
Introduction to gRPC
Introduction to gRPCIntroduction to gRPC
Introduction to gRPC
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network Interfaces
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing Algorithm
 
Block Cipher Modes of Operation And Cmac For Authentication
Block Cipher Modes of Operation And Cmac For AuthenticationBlock Cipher Modes of Operation And Cmac For Authentication
Block Cipher Modes of Operation And Cmac For Authentication
 
Kubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep DiveKubernetes Networking with Cilium - Deep Dive
Kubernetes Networking with Cilium - Deep Dive
 

Mehr von Chandan Thakur

Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)Chandan Thakur
 
A maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networksA maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networksChandan Thakur
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 

Mehr von Chandan Thakur (6)

Libsys 7 to koha
Libsys 7 to kohaLibsys 7 to koha
Libsys 7 to koha
 
Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)
 
A maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networksA maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networks
 
Shayri
ShayriShayri
Shayri
 
Nirmal baba
Nirmal babaNirmal baba
Nirmal baba
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications

  • 1. CHORD: A SCALABLE PEER-TO-PEER LOOKUP SERVICE FOR INTERNET APPLICATIONS Ion Stoica Robert Morris David Liben-Nowell David R. Karger M. Frans Kaashoek Frank Dabek Hari Balakrishnan Presented By- Chaitanya Pratap MCA(4th Semester) South Asian University, New Delhi.
  • 2. INTRODUCTION  A fundamental problem that confronts peer-to-peer applications is to efficiently locate the node that stores a particular data item.  Chord provides support for just one operation: given a key, it maps the key onto a node.  Data location can be easily implemented on top of Chord by associating a key with each data item, and storing the key/data item pair at the node to which the key maps.
  • 3. SYSTEM MODEL (FEATURES)  Load balance: Chord acts as a distributed hash function, spreading keys evenly over the nodes. this provides a degree of natural load balance.  Decentralization: Chord is fully distributed: no node is more important than any other. This improves robustness.
  • 4. CONT…  Scalability: The cost of a Chord lookup grows as the log of the number of nodes, so even very large systems are feasible.  Availability: Chord automatically adjusts its internal tables to reflect newly joined nodes as well as node failures, ensuring that the node responsible for a key can always be found.  Flexible naming: Chord places no constraints on the structure of the keys it looks up: the Chord key- space is flat.
  • 5. THE BASE CHORD PROTOCOL  The Chord protocol specifies how to find the locations of keys, how new nodes join the system, and how to recover from the failure (or planned departure) of existing nodes.
  • 6. OVERVIEW  Chord provides fast distributed computation of a hash function mapping keys to nodes responsible for them.  when an Nth node joins (or leaves) the network, only an O(1/N) fraction of the keys are moved to a different location  A Chord node needs only a small amount of “routing” information about other nodes.  In an N node network, each node maintains information only about O(log N) other nodes, and a lookup requires O(log N) messages.  a join or leave requires O(log N^2) messages.
  • 7. CONSISTENT HASHING  Consistent hashing is designed to let nodes enter and leave the network with minimal disruption.  To maintain the consistent hashing mapping when a node n joins the network, certain keys previously assigned to n’s successor now become assigned to n.  When node n leaves the network, all of its assigned keys are reassigned to n’s successor.
  • 8. SCALABLE KEY LOCATION  This scheme has two important characteristics.  First, each node stores information about only a small number of other nodes, it only knows about closer nodes.  Second, a node’s finger table generally does not contain enough information to determine the successor of an arbitrary key.
  • 10. NODE JOINS  Initialize the predecessor and fingers of node n.  Update the fingers and predecessors of existing nodes to reflect the addition of n.  Notify the higher layer software so that it can transfer state (e.g. values) associated with keys that node n is now responsible for.
  • 11. IMPACT OF NODE JOINS ON LOOKUPS  Correctness  If finger table entries are reasonably current  Lookup finds the correct successor in O(log N) steps  If successor pointers are correct but finger tables are incorrect  Correct lookup but slower  If incorrect successor pointers  Lookup may fail
  • 12. IMPACT OF NODE JOINS ON LOOKUPS  Performance  If stabilization is complete  Lookup can be done in O(log N) time  If stabilization is not complete  Existing nodes finger tables may not reflect the new nodes  Doesn’t significantly affect lookup speed  Newly joined nodes can affect the lookup speed, if the new nodes ID’s are in between target and target’s predecessor  Lookup will have to be forwarded through the intervening nodes, one at a time
  • 13. STABILIZATION AFTER JOIN  n joins ns  predecessor = nil  n acquires ns as successor via some n’  n notifies ns being the new predecessor pred(ns) = n  ns acquires n as its predecessor  np runs stabilize  np asks ns for its predecessor (now n) n succ(np) = ns  np acquires n as its successor pred(ns) = np  np notifies n  n will acquire np as its predecessor succ(np) = n nil  all predecessor and successor pointers are now correct  fingers still need to be fixed, but old fingers will still work np 13
  • 14. SOURCE OF INCONSISTENCIES: CONCURRENT OPERATIONS AND FAILURES  Basic “stabilization” protocol is used to keep nodes’ successor pointers up to date, which is sufficient to guarantee correctness of lookups  Those successor pointers can then be used to verify the finger table entries  Every node runs stabilize periodically to find newly joined nodes 14
  • 15. FAILURE RECOVERY  Key step in failure recovery is maintaining correct successor pointers  To help achieve this, each node maintains a successor-list of its r nearest successors on the ring  If node n notices that its successor has failed, it replaces it with the first live entry in the list  stabilize will correct finger table entries and successor-list entries pointing to failed node  Performance is sensitive to the frequency of node joins and leaves versus the frequency at which the stabilization protocol is invoked 15
  • 16. SIMULATION  Protocol Simulator:  The Chord protocol can be implemented in an iterative or recursive style.  In the iterative style, a node resolving a lookup initiates all communication: it asks a series of nodes for information from their finger tables, each time moving closer on the Chord ring to the desired successor.  In the recursive style, each intermediate node forwards a request to the next node until it reaches the successor.  The simulator implements the protocols in an iterative style.
  • 17. EXPERIMENTAL RESULTS  Latency grows slowly with the total number of nodes  Path length for lookups is about ½ log2N  Chord is robust in the face of multiple node failures 17
  • 18. CONCLUSION  Efficient location of the node that stores a desired data item is a fundamental problem in P2P networks  Chord protocol solves it in a efficient decentralized manner  Routing information: O(log N) nodes  Lookup: O(log N) nodes  Update: O(log2 N) messages  Italso adapts dynamically to the topology changes introduced during the run
  • 19. FUTURE WORK  Using Chord to detect and heal partitions whose nodes know of each other.  Every node should know of some same set of initial nodes  Nodes should maintain long-term memory of a random set of nodes that they have visited earlier  Malicious set of Chord participants could present an incorrect view of the Chord ring  Node n periodically asks other nodes to do a lookup for n
  • 20. REFERENCES  Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.