Upcoming SlideShare
×

# Chord Node Join

• 3,785 views

• Comment goes here.
Are you sure you want to
Be the first to comment

Total Views
3,785
On Slideshare
0
From Embeds
0
Number of Embeds
0

Shares
19
0
Likes
1

No embeds

### Report content

No notes for slide

### Transcript

• 1. HOW NODE JOINS OR LEAVE IN PEERTO PEER NETWORKPresented by:Chaitanya Pratap SinghMCA(4th Semester)South Asian University, new Delhi.
• 2. NODE JOIN (PEER JOIN) Joining peer sends a "join" request to the boot peer, and gets a GUID back. Joining peer sends a "copy routing table" to the boot peer. Joining peer finds the correct peers it should have in its own routing table.
• 3. THE JOIN REQUEST The first peer to join the network apart from the boot peer, will connect to the boot peer and send a "join" message. The boot peer responds with a new GUID to the joining peer.
• 4. THE COPY ROUTING TABLE REQUEST After getting a GUID, the joining peer requests to get a copy of the boot peers routing table.
• 5. FINDING THE CORRECT PEERS FOR THEROUTING TABLE the joining peer uses this routing table to find the peers it should really have in its routing table.
• 6. LEAVING NODE When a peer no longer wants to be part of a P2P network, it will send a "leave" request to all peers in its routing table
• 7. CONT… if A has B in its routing table, B does not necessarily have A in its routing table. Thus, if A leaves a Chord network, it would have to find the peers in the network that has A in its routing table. In other words, find those peers which have distance(X, A) closest to 20, 21, 22 etc. Once those peers are found, the leaving peer (A) will send a leave message to each of them.
• 8. CHORD STATE AND LOOKUP (1) Basic Chord: each m=6 node knows only 2 2m-1 N1 other nodes on the ring 0  Successor N56 N8  Predecessor (for ring K54 lookup(K54) management) N51 Lookup is achieved by N14 forwarding requests N48 around the ring through successor pointers  Requires O(N) hops N42 N21 N38 8 N32
• 9. CHORD STATE AND LOOKUP (2) Finger table N8+1N14 Each node knows m m=6 N8+2N14 N8+4N14 other nodes on the ring 2m-1 N8+8N21  Successors: finger i of n N1 N8+16 N32 0 points to node at n+2i (or N8+32 N42 successor) N56 lookup(K54) N8  Predecessor (for ring K54 +1 management) N51 +2  O(log N) state per node +4 Lookup is achieved by N48 +16 +8 N14 following closest +32 preceding fingers, then successor N42  O(log N) hops N21 N38 9 N32
• 10. JOINING THE RING Three step process:  Initialize all fingers of new node  Update fingers of existing nodes  Transfer keys from successor to new node
• 11. JOINING THE RING — STEP 1 Initialize the new node finger table  Locate any node n in the ring  Ask n to lookup the peers at j+20, j+21, j+22…  Use results to populate finger table of j
• 12. JOINING THE RING — STEP 2 N8+1N14 N8+2N14 Updating fingers of m=6 N8+4N14 existing nodes 2m-1 N8+8N21 N1 N8+16 N28 N32 0  New node j calls 6 N8+32 N42 N56 N8 update function on existing nodes that N51 12 must point to j  Nodes in the ranges N48 N14 +16 -16 [j-2i , pred(j)-2i+1]  O(log N) nodes need to be updated N42 N21 N38 N28 12 N32
• 13. JOINING THE RING — STEP 3  Transfer key responsibility  Connect to successor  Copy keys from successor to new node  Update successor pointer and remove keys  Only keys in the range are transferred N21 N21 N21 N21N32 N32 N28 N32 N28 N32 N28 K24 K24 K24 K24 K30 K24 K30 K30 K30
• 14. NODE JOIN ALGORITHM
• 15. CONT…