Patent ID: 8131673

Claim:
A method in a peer-to-peer file sharing client data processing system for background file sharing in a peer-to-peer file sharing computer network, the method comprising: allocating background resources in the peer-to-peer file sharing client data processing system for background file sharing comprising a specified amount of bandwidth and a specified amount of storage space to be used for background file sharing, wherein the amount of bandwidth and the amount of storage space to be used for background file sharing are specified in a preferences data structure; sharing, by the peer-to-peer file sharing client data processing system, a first file in a first swarm, wherein the first swarm is a foreground swarm; identifying, by the peer-to-peer file sharing client data processing system, a given peer data processing system in the first swarm; determining, by the peer-to-peer file sharing client data processing system, that the given peer data processing system is participating in a second swarm in which the peer-to-peer file sharing client data processing system is not participating, wherein the second swarm is sharing a second file; growing the second swarm by requesting, by the peer-to-peer file sharing client data processing system, at least one file fragment for the second file from the second swarm, wherein the second swarm becomes a background swarm for background file sharing such that the at least one file fragment becomes available to be distributed from the peer-to-peer file sharing client data processing system to peer data processing systems in the second swarm; receiving, by the peer-to-peer file sharing client data processing system, the at least one file fragment from the second swarm using at least a portion of the specified amount of bandwidth; storing the at least one file fragment in at least a portion of the specified amount of storage space; and uploading, by the peer-to-peer file sharing client data processing system, the at least one file fragment to peer data processing systems in the second swarm using at least a portion of the specified amount of bandwidth and at least a portion of the amount of storage space, wherein the at least one file fragment is part of a file that is not being downloaded in the foreground.