A file sharing protocol similar to BitTorrent. Each peer maintains multiple threads. Peers can exchange trunks with each other simultaneously. Implemented with Java, socket programming and multi-threaded programming.