Background file sharing in a segmented peer-to-peer file sharing network
First Claim
Patent Images
1. 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.
4 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer file sharing client with background file sharing is provided in a segmented peer-to-peer file sharing network. Each file sharing participant may designate an amount of bandwidth and/or storage space for background file sharing. Peer-to-peer file sharing clients then share file data and content in the background automatically. The client may participate in additional swarms, in the background, to generally increase the number of peers in file sharing networks, thus increasing the speed of downloading desired files for other users.
48 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A peer-to-peer file sharing client for background file sharing in a peer-to-peer file sharing network, the peer-to-peer file sharing client comprising:
-
a processor; and a memory coupled to the processor, wherein the memory contains instructions which, when executed by the processor, cause the processor to; allocate 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; share a first file in a first swarm, wherein the first swarm is a foreground swarm; identify a given peer in the first swarm; determine that the given peer is participating in a second swarm in which the peer-to-peer file sharing client is not participating, wherein the second swarm is sharing a second file; grow the second swarm by requesting 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 to peers in the second swarm; receive the at least one file fragment from the second swarm using at least a portion of the specified amount of bandwidth; store the at least one file fragment in at least a portion of the specified amount of storage space; and upload the at least one file fragment to peers in the second swarm using at least a portion of the specified amount of bandwidth, wherein the at least one file fragment is part of a file that is not being downloaded in the foreground. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product comprising a computer storage medium having a computer readable program stored thereon, wherein the computer readable program, when executed on a peer-to-peer file sharing client computing device, causes the peer-to-peer file sharing client computing device to:
-
allocate 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; share a first file in a first swarm, wherein the first swarm is a foreground swarm; identify a given peer in the first swarm; determine that the given peer is participating in a second swarm in which the peer-to-peer file sharing client computing device is not participating, wherein the second swarm is sharing a second file; grow the second swarm by requesting 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 computing device to peers in the second swarm; receive the at least one file fragment from the second swarm using at least a portion of the specified amount of bandwidth; store the at least one file fragment in at least a portion of the specified amount of storage space; and upload the at least one file fragment to peers in the second swarm using at least a portion of the specified amount of bandwidth, wherein the at least one file fragment is part of a file that is not being downloaded in the foreground. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A communications system, comprising:
-
a memory configured to store a computer readable program; and
a transmitter configured to transmit the computer readable program, wherein the computer readable program, when received by and executed on a peer-to-peer file sharing client computing device, causes the peer-to-peer file sharing client computing device to;allocate 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; share a first file in a first swarm, wherein the first swarm is a foreground swarm; identify a given peer in the first swarm; determine that the given peer is participating in a second swarm sharing a in which the peer-to-peer file sharing client computing device is not participating, wherein the second swarm is sharing a second file; grow the second swarm by requesting 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 computing device to peers in the second swarm; receive the at least one file fragment from the second swarm using at least a portion of the specified amount of bandwidth; store the at least one file fragment in at least a portion of the specified amount of storage space; and upload the at least one file fragment to peers in the second swarm using at least a portion of the specified amount of bandwidth, wherein the at least one file fragment is part of a file that is not being downloaded in the foreground. - View Dependent Claims (19)
-
Specification