13. A computer program product comprising a computer recordable medium having a computer readable program, wherein the computer readable program, when executed on a computing device, causes the computing device 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.
13. A computer program product comprising a computer recordable medium having a computer readable program, wherein the computer readable program, when executed on a computing device, causes the computing device 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. 17. The computer program product of claim 13 , wherein requesting at least one remaining file fragment from the background swarm further comprises exchanging messages with peers to request, respond, and exchange data for the at least one remaining file fragment.