Peer To Peer Networks
This course will discuss about the concepts and architecture of peer to peer networks. These systems are built as an overlay on the existing Internet. The idea is basically to build the collaboration between user machines to implement services like telephony, distribute resilient file system, messaging system and other collaborative computing services. Such systems do not require server or need them in very limited fashion. The course will discuss at length the various DHT algorithms and their implementation complexities, the mechanisms to implement resilience using replication factor, efficiency of storage using universal file system where sharing the content does not create additional copies, mechanisms to ensure that nodes with different storage capacities can be used. Further architecture of Briahaspati4 an ongoing p2p system opensource project will also be discussed. The basics taught here will form the foundation of formation of user cloud systems.
Week 1: P2P Networks – motivation. Basics – cryptographic hash, public key cryptography principles, security certificates, structured and unstructured p2p networks
Week 2: Inconsistent hashing, Consistent hashing, Rendezvous hashing, locality preserving hashing, Distributed hash tables
Week 3: Chord, Finger Tables, Distance function, Finger table creation and management
Week 4: Kadmilia, Tapestry, Pastry, Logarithmic portioning, Other geometric structures, Locality aware DHT
Week 5: P2P VoIP system, Transport – UDP, TCP, Http tunneling, Proxying
Week 6: Distributed File System, DFS based Backup System, Universal File System.
Week 7: Use case scenarios for P2P VoIP and DFS systems, Unstructured systems.
Week 8: TOR routing (anonymous routing), Overlaid multicasting, Reslience of overlaid multicast, Generic Multiservice architecture