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. 15. The computer program product of claim 13 , wherein the computer readable program, when executed on the computing device, further causes the computing device 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.