- Implemented a Chord-inspired DHT in C using TCP sockets, organizing up to 7 peers in a consistent hash ring with IDs 1–127, enabling deterministic object placement via successor-based key routing.
- Engineered a bootstrap server to manage dynamic peer registration and ring topology updates, notifying affected predecessors and successors upon each join to maintain ring invariants without downtime.
- Built a client-facing store/retrieve interface routed exclusively through the bootstrap node, forwarding requests hop-by-hop around the ring and returning structured responses (STORED, RETRIEVED, NOT FOUND).
- Containerized all three components (bootstrap, peer, client) using Docker and Docker Compose, enabling reproducible multi-node deployments across 5 distinct testcase configurations with zero manual setup.
/// project
Distributed Hash Table (DHT)
Based on "Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications"
- C
- Distributed Systems
- TCP/IP
- Docker
- Kubernetes
- Multi-Threaded