IP Library Granted Patent US 7,814,146
Granted Patent B2
US 7,814,146 · App. 11/848,668 · Granted Oct 12, 2010

File fragment trading based on rarity values in a segmented file sharing system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,814,146
App. No.
11/848,668
Granted
Oct 12, 2010
Kind
B2
Abstract

Peer-to-peer file sharing clients share file fragments in the background based on rarity values. When a first peer offers a fragment to a second peer to be shared in the background, the second peer checks the rarity of the fragment and identifies one or more fragments from its swarm that is approximately as rare as the fragment being offered. The second peer then offers the one or more fragments in exchange for the originally offered fragment. The first peer may then offer the one or more fragments to other peers in its swarm to be shared in the background.

Claims (53)

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 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;

receiving, by the peer-to-peer file sharing client data processing system, one or more background file fragments from a first swarm for background file sharing of a file using at least a portion of the specified amount of bandwidth;

storing, by the peer-to-peer file sharing client data processing system, the at least one file fragment in at least a portion of the specified amount of storage space;

obtaining, by the peer-to-peer file sharing client data processing system, a rarity value for the one or more background file fragments;

identifying, by the peer-to-peer file sharing client data processing system, one or more foreground file fragments that are approximately as rare as the one or more background file fragments, wherein the foreground file fragments are shared in a second swarm; and

sharing, by the peer-to-peer file sharing client data processing system, the one or more foreground file fragments with at least one peer-to-peer file sharing client data processing system in the first swarm.

2. The method of claim 1 , further comprising:

sharing the one or more background file fragments with at least one peer-to-peer file sharing client in the second swarm.

3. The method of claim 1 , wherein obtaining a rarity value for the one or more background file fragments comprises querying a first tracker associated with the first swarm.

4. The method of claim 1 , wherein identifying one or more foreground file fragments comprises querying a second tracker associated with the second swarm.

5. The method of claim 1 , wherein identifying one or more foreground file fragments that are approximately as rare as the one or more background file fragments comprises:

determining a collective rarity of the one or more background file fragments; and

identifying one or more foreground file fragments that have a collective rarity that is approximately equal to the collective rarity of the one or more background file fragments.

6. The method of claim 1 , wherein receiving one or more background file fragments from a first swarm for background file sharing of a file comprises:

selecting the one or more background file fragments from a list of fragments received from a given peer-to-peer file sharing client data processing system in the background swarm; and

requesting the selected one or more background file fragments from the given peer-to-peer file sharing client data processing system.

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 preferences data structure;

receive one or more background file fragments from a first swarm for background file sharing of a file 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;

obtain a rarity value for the one or more background file fragments;

identify one or more foreground file fragments that are approximately as rare as the one or more background file fragments, wherein the foreground file fragments are shared in a second swarm; and

share the one or more foreground file fragments with at least one peer-to-peer file sharing client in the first swarm.

8. The peer-to-peer file sharing client of claim 7 , wherein the memory contains instructions which, when executed by the processor, further cause the processor to:

share the one or more background file fragments with at least one peer-to-peer file sharing client in the second swarm.

9. The peer-to-peer file sharing client of claim 7 , wherein obtaining a rarity value for the one or more background file fragments comprises querying a first tracker associated with the first swarm.

10. The peer-to-peer file sharing client of claim 7 , wherein identifying one or more foreground file fragments comprises querying a second tracker associated with the second swarm.

11. The peer-to-peer file sharing client of claim 7 , wherein identifying one or more foreground file fragments that are approximately as rare as the one or more background file fragments comprises:

determining a collective rarity of the one or more background file fragments; and

identifying one or more foreground file fragments that have a collective rarity that is approximately equal to the collective rarity of the one or more background file fragments.

12. The peer-to-peer file sharing client of claim 7 , wherein receiving one or more background file fragments from a first swarm for background file sharing of a file comprises:

selecting the one or more background file fragments from a list of fragments received from a given peer-to-peer file sharing client in the background swarm; and

requesting the selected one or more background file fragments from the given peer-to-peer file sharing client.

13. A computer program product comprising a computer readable storage medium having a computer readable program, wherein the computer readable program, when executed on a computing device, causes the 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;

receive one or more background file fragments from a first swarm for background file sharing of a file 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;

obtain a rarity value for the one or more background file fragments;

identify one or more foreground file fragments that are approximately as rare as the one or more background file fragments, wherein the foreground file fragments are shared in a second swarm; and

share the one or more foreground file fragments with at least one peer-to-peer file sharing client in the first swarm.

14. The computer program product of claim 13 , wherein obtaining a rarity value for the one or more background file fragments comprises querying a first tracker associated with the first swarm.

15. The computer program product of claim 13 , wherein identifying one or more foreground file fragments comprises querying a second tracker associated with the second swarm.

16. The computer program product of claim 13 , wherein identifying one or more foreground file fragments that are approximately as rare as the one or more background file fragments comprises:

determining a collective rarity of the one or more background file fragments; and

identifying one or more foreground file fragments that have a collective rarity that is approximately equal to the collective rarity of the one or more background file fragments.

17. The computer program product of claim 13 , wherein receiving one or more background file fragments from a first swarm for background file sharing of a file comprises:

selecting the one or more background file fragments from a list of fragments received from a given peer-to-peer file sharing client data processing system in the background swarm; and

requesting the selected one or more background file fragments from the given peer-to-peer file sharing client data processing system.

18. The computer program product of claim 13 , wherein the computer readable program further causes the computing device to:

share the one or more background file fragments with at least one peer-to-peer file sharing client in the second swarm.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DROPBOX, INC.
Reel/Frame 043938/0489 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2007
From: CHAVEZ, TIMOTHY R.; LAURIDSEN, CHRISTINA K.; PATEL, SUSHMA B.; PETERSON, ROBERT R.; SALEM, LOULWA F.; SEACAT, LISA A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019776/0545 →