Battery-aware super-peer and fountain coding in Java P2P systems
摘要
Peer-to-peer (P2P) file sharing protocols like BitTorrent have revolutionized content distribution, but they struggle in disaster scenarios with unreliable connectivity and energy-constrained nodes. We present a Java-based P2P system that enhances BitTorrent with a novel “Disaster Mode” featuring battery-aware super-peer selection and fountain coding. The design elects a well-powered peer as leader, broadcasts redundant encoded chunks, uses sparse acknowledgments (ACKs) to minimize feedback, and seamlessly falls back to standard BitTorrent once networks stabilize. In Disaster Mode, a chosen super-peer with the highest battery coordinates a one-to-many fountain-coded file broadcast, while peers send periodic bitmap ACKs instead of per-chunk ACKs. In tests with 5–50 peers and 0–30% packet loss, the Disaster Mode improved file completion times by up to 2.3x and sustained ~ 25–30% higher throughput under severe loss compared to vanilla BitTorrent. A battery-rich super-peer reduced average completion time by ~ 20% versus a random leader selection. The results demonstrate that integrating an energy-aware hierarchy and rateless coding, a form of rateless erasure code, dramatically increases P2P resilience. The hybrid approach retains BitTorrent’s efficiency in good conditions while enabling robust operation during network disruptions, making it attractive for emergency and mobile scenarios.