HITIK ADWANI - 22BDS029
LAKSHYA BABEL - 222BDS033
ABHIJIT SINGH - 22BDS054
SURYANSH AYUSH - 22BDS057
This project presents a hybrid distributed system that combines edge computing and cloud infrastructure to efficiently process large-scale graph data. By using Java RMI for peer-to-peer communication, the system enables low-latency file access from the nearest peer, while Spring Boot manages coordination from a central cloud server. Files are partitioned into chunks using Java NIO with memory-mapped buffers, allowing parallel transfer with metadata for integrity and recovery. A Swing-based GUI provides real-time progress updates, and the project is managed using Maven and deployed via Docker containers for cross-platform support. Integrated into the existing Deezer Networks platform, this system is scalable, fault-tolerant, and optimized for real-world distributed graph processing applications.
Network dataset : Deezer Networks.
git clone https://github.com/DataScience-ArtificialIntelligence/Distributed_Edge-Computing.git
mvn clean install
mvn spring-boot:run
java "-Djava.security.policy=client.policy" -cp "target/p2p-file-sharing-1.0.jar;target/classes" com.p2p.client.PeerClient Peer1
Replace Peer1 with different peer names for additional clients (e.g., Peer2, Peer3).
For Linux/Mac users, use colons instead of semicolons for the classpath separator:
java "-Djava.security.policy=client.policy" -cp "target/p2p-file-sharing-1.0.jar:target/classes" com.p2p.client.PeerClient Peer1
Pull the image from Docker Hub:
docker pull hitikadwani0902/p2p-file-sharing:latest
To start the main server/application:
docker run -d --name p2p-server hitikadwani0902/p2p-file-sharing:latest
To run a peer client (e.g., Peer1):
docker run -it --rm \
--name peer1 \
-e PEER_NAME=Peer1 \
hitikadwani0902/p2p-file-sharing:latest \
java "-Djava.security.policy=client.policy" \
-cp "target/p2p-file-sharing-1.0.jar:target/classes" \
com.p2p.client.PeerClient Peer1