IP Library Granted Patent US 9,106,668
Granted Patent B2
US 9,106,668 · App. 12/328,492 · Granted Aug 11, 2015

Distributed peer location in peer-to-peer file transfers

Inventors: Olivier Chalouhi (Redwood City, CA); Paul Anton Richardson Gardner (Palo Alto, CA)
Assignee: Azureus Software, Inc.
H04L67/104H04L67/1002H04L67/1046H04L67/1065H04L67/101
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 9,106,668
App. No.
12/328,492
Granted
Aug 11, 2015
Kind
B2
Abstract

A method and system for facilitating peer-to-peer networking among local peers are described. Hashes are generated from a digital content file and virtual coordinates of virtual nodes in a virtual coordinate system. The generated hashes are then used to retrieve peer connection information.

Claims (52)

1. A method to facilitate peer-to-peer networking, the method comprising:

automatically generating, by one or more processors, a plurality of hashes, each hash being generated from both a digital content file and virtual coordinates of one of a plurality of virtual nodes in a virtual coordinate system, wherein the plurality of virtual nodes are selected by calculating distances between a plurality of peers to determine a location in the virtual coordinate system, calculating respective distances between the location and the plurality of virtual nodes, and selecting the plurality of nodes based on the respective distances; and

retrieving peer connection information using the plurality of hashes.

2. The method of claim 1 , wherein the peer-to-peer networking uses the BitTorrent protocol.

3. The method of claim 1 , wherein the virtual coordinate system is a four-dimensional virtual coordinate system.

4. The method of claim 3 , further comprising:

dividing the four-dimensional virtual coordinate system into two independent two-dimensional coordinate planes;

arranging the plurality of virtual nodes in a triangular mesh pattern; and

combining three virtual nodes of the plurality of virtual nodes in each plane which are closest to a peer to create nine combinations.

5. The method of claim 1 , further comprising:

updating the coordinates of the plurality of virtual nodes when retrieving peer connection information using a hash retrieves a number of peers outside a predefined range.

6. The method of claim 1 , wherein the peer connection information is retrieved from a distributed hash table network.

7. The method of claim 1 , further comprising:

storing first peer connection information for a first client machine using the plurality of hashes.

8. The method of claim 7 , wherein the first peer connection information is stored in a distributed hash table network.

9. The method of claim 1 , further comprising:

prioritizing the hashing of a number of virtual nodes of the plurality of virtual nodes used for hashing based on a number of digital content files currently being distributed.

10. The method of claim 1 , further comprising:

filtering the peer connection information based on at least one of Internet Protocol addresses or domain name system lookups.

11. The method of claim 1 , further comprising:

connecting to peers using the peer connection information; and

distributing the digital content file using the peer-to-peer network.

12. The method of claim 1 , wherein the peer connection information consists of an Internet Protocol address and a port number.

13. The method of claim 1 , wherein the distances between a plurality of peers is equal to the latency between the peers.

14. A system to facilitate peer-to-peer networking, the system comprising:

one or more processors;

a hashing module, implemented by the one or more processors, to automatically generate a plurality of hashes, each hash being generated from both a digital content file and coordinates of one of a plurality of virtual nodes in a virtual coordinate system, wherein the plurality of virtual nodes are selected by calculating distances between a plurality of peers to determine a location in the virtual coordinate system, calculating respective distances between the location and the plurality of virtual nodes, and selecting the plurality of nodes based on the respective distances; and

a peer location module, implemented by the one or more processors, to retrieve peer connection information using the plurality of hashes.

15. The system of claim 14 , wherein the peer-to-peer networking uses the BitTorrent protocol.

16. The system of claim 14 , wherein the virtual coordinate system is a four-dimensional virtual coordinate system.

17. The system of claim 16 , further comprising a coordinate module to:

divide the four-dimensional virtual coordinate system into two independent two-dimensional coordinate planes;

arrange the plurality of virtual nodes in a triangular mesh pattern; and

combine three virtual nodes in each plane which are closest to a peer to create nine combinations used in a hashing operation.

18. The system of claim 14 , further comprising a coordinate module to:

update the coordinates of the plurality of virtual nodes when retrieving peer connection information using a hash retrieves a number of peers outside a predefined range.

19. The system of claim 14 , wherein the connection information is retrieved from a distributed hash table network.

20. The system of claim 14 , wherein the peer location module also stores first peer connection information for a first client machine using the plurality of hashes.

21. The system of claim 20 , wherein the first peer connection information is stored in a distributed hash table network.

22. The system of claim 14 , further comprising:

prioritizing the hashing of a number of virtual nodes of the plurality of virtual nodes used for hashing based on a number of digital content files currently being distributed.

23. The system of claim 14 , further comprising:

filtering the peer connection information based on at least one of Internet Protocol addresses or domain name system lookups.

24. The system of claim 14 , further comprising:

connecting to peers using the peer connection information; and

distributing the digital content file using the peer-to-peer network.

25. The system of claim 14 , wherein the peer connection information consists of an Internet Protocol address and a port number.

26. The system of claim 14 , wherein the distances between a plurality of peers is equal to the latency between the peers.

27. A method to facilitate peer-to-peer networking, the method comprising:

using one or more processors to execute instructions retained in machine-readable media to perform at least some portion of:

generating automatically a plurality of hashes, each hash being generated from both a digital content file and virtual coordinates of one of a plurality of virtual nodes in a virtual coordinate system, wherein the plurality of virtual nodes are selected by calculating distances between a plurality of peers to determine a location in the virtual coordinate system, calculating respective distances between the location and the plurality of virtual nodes, and selecting the plurality of nodes based on the respective distances; and

retrieving peer connection information using the plurality of hashes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2015
From: VUZE LLC
To: AZUREUS SOFTWARE, INC.
Reel/Frame 035948/0103 →
CHANGE OF NAME Recorded May 9, 2011
From: VUZE, INC.
To: VUZE LLC
Reel/Frame 026252/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2009
From: CHALOUHI, OLIVIER; GARDNER, PAUL ANTON RICHARDSON
To: VUZE, INC.
Reel/Frame 022781/0095 →
Continuity (3)
Provisional Application 61075295 · Jun 24, 2008
Provisional Application 61133314 · Jun 27, 2008
Related Publication 20090319502A1 · Dec 24, 2009