Peer-to-Peer file sharing system allowing parallel uploading and downloading data transfer amongst remote machines