Patent ID: 8280958

Claim:
A method in a peer-to-peer file sharing client for background file sharing in a peer-to-peer file sharing network using list passing, the method comprising: generating a request for a list file for background file sharing; sending the request to a peer in a foreground swarm within the peer-to-peer file sharing network; receiving a list file from the peer in the foreground swarm, wherein the list file satisfies the request and wherein the list file includes a time-to-live value for each file fragment in the list file; selecting a file fragment from the list file for background file sharing; requesting the selected file fragment from the peer in a background swarm for background file sharing; receiving the at least one file fragment from the background swarm; uploading the at least one file fragment to one or more peers in the background swarm, wherein the at least one file fragment is part of a file that is not being downloaded in the foreground; identifying an upload file fragment to send to a given peer in the background swarm; responsive to a determination that the given peer is not already trading the upload file fragment based on the list file, uploading the upload file fragment to the given peer in the background swarm, decrementing a time-to-live value associated with the upload file fragment responsive to uploading the upload file fragment to the given peer in the background swarm, and responsive to a determination that the time-to-live value reaches zero, invalidating the upload file fragment for background file sharing; responsive to a determination that the peer is already trading the upload file fragment based on the list file and that a time-to-live value associated with the upload file fragment in the list file is zero, determining whether the upload file fragment is rare; and responsive to determining the upload file fragment is rare, requesting the peer to increase the time-to-live value associated with the upload file fragment at the peer.