https://github.com/aadhil2k4/distributed-file-sharing-system
This project implements a decentralized peer-to-peer file sharing system using the Chord distributed hash table (DHT) protocol. It allows for dynamic node management, efficient file lookup, replication for fault tolerance, and supports various concurrency control mechanisms.
https://github.com/aadhil2k4/distributed-file-sharing-system
Last synced: 3 months ago
JSON representation
This project implements a decentralized peer-to-peer file sharing system using the Chord distributed hash table (DHT) protocol. It allows for dynamic node management, efficient file lookup, replication for fault tolerance, and supports various concurrency control mechanisms.
- Host: GitHub
- URL: https://github.com/aadhil2k4/distributed-file-sharing-system
- Owner: aadhil2k4
- Created: 2025-03-27T18:28:15.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-27T18:32:04.000Z (3 months ago)
- Last Synced: 2025-03-27T19:37:17.832Z (3 months ago)
- Language: Python
- Size: 693 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chord Algorithm File Sharing System
This project implements a decentralized peer-to-peer file sharing system using the Chord distributed hash table (DHT) protocol. It allows for dynamic node management, efficient file lookup, replication for fault tolerance, and supports various concurrency control mechanisms.
## Features
- **Decentralized Architecture**: No central servers, eliminating single points of failure and scaling efficiently.
- **Efficient Lookup**: Uses Chord protocol's logarithmic lookup for fast file location.
- **File Replication**: Enhances data availability by replicating files across multiple successor nodes.
- **Concurrency Control**: Supports file locking and leases to enable parallel file access.
- **Dynamic Node Management**: Nodes can join or leave without disrupting the network.
- **Failure Handling**: Periodic checks and stabilization routines maintain consistency.
- **Scalability**: Logarithmic routing complexity helps the system scale with the number of nodes.