9. The peer-to-peer file sharing client of claim 7 , wherein the memory contains instructions which, when executed by the processor, further causes the processor to: responsive to receiving a given file fragment of the file from the background swarm, store an identification of the given file fragment in a data structure.
7. A peer-to-peer file sharing client for moving a file from background file sharing to foreground file sharing and preventing duplicate downloads in a peer-to-peer file sharing network, the peer-to-peer file sharing client comprising: a processor; and a memory, wherein the memory contains instructions which, when executed by the processor, cause the processor to: receive at least one file fragment of a file from a background swarm for background file sharing; responsive to a user-generated request to move the file from background file sharing to foreground file sharing, identify the at least one file fragment stored locally; and request at least one remaining file fragment from the background swarm, wherein the background swarm becomes a foreground swarm, wherein requesting at least one remaining file fragment from the background swarm comprises sending a request to a tracker for a peer list.