CS641 Advanced Computer Networks Lecture 38
Bhaskaran Raman Department of CSE, IIT Bombay
http://www.cse.iitb.ac.in/~br/ http://www.cse.iitb.ac.in/synerg/doku.php?id=public:courses:cs641-autumn10:start
CS641 Advanced Computer Networks Lecture 38 Bhaskaran Raman - - PowerPoint PPT Presentation
CS641 Advanced Computer Networks Lecture 38 Bhaskaran Raman Department of CSE, IIT Bombay http://www.cse.iitb.ac.in/~br/ http://www.cse.iitb.ac.in/synerg/doku.php?id=public:courses:cs641-autumn10:start Outline for Today Chord: Distributed
http://www.cse.iitb.ac.in/~br/ http://www.cse.iitb.ac.in/synerg/doku.php?id=public:courses:cs641-autumn10:start
– Due Tue 09 Nov 2010 – [KRH06] Sachin Katti, Hariharan Rahul, Wenjun
– Focus on the first 5 sections (6.5 pages)
– Overlay on top of IP – Provide routing: usually towards named objects
– Centralized directory (e.g. Napster) – Decentralized directory
– Chord – CAN (Content Addressable Network) – Tapestry
– That node stores and serves data – Key space is flat – Can support dynamic node join/leave
– User friendly naming of data: hash to flat space – Authentication: use cryptographic hash – Replication: store data under two different keys
– lookup(key) – Call back when the set of keys the node is
– Nodes' IP addresses are hashed – Consistent hashing: load balancing
– Reassignment happens when nodes join/leave
– Maintain and follow successor pointers – Takes O(N) time for lookup
– Maintain finger table with at most m entries – The i'th entry will have the pointer to the first node s
– We at least halve the distance to k each time – O(logN) lookup time
– Each node's successor is correctly maintained – For every k, successor(k) is responsible for k
– Learn of some other node n' offline – Initialize own finger table and predecessor – Update fingers of existing nodes – Transferring keys
– Need to store r nearest successors – Need to replicate data associated with keys