Intelligent establishment of peer-to-peer communication
First Claim
Patent Images
1. A method comprising:
- receiving, by a device from a first peer in a network, a request for a list of one or more candidate peers from which the first peer can obtain a resource over the network;
obtaining, by the device in response to the request, the list of one or more candidate peers based on a peer state table that stores, for each peer in the network, parameters that represent a state of the peer;
determining, by the device, a set of costs based on the list of one or more candidate peers,wherein each cost in the set of costs includes a cost of communication between a point-of-presence (POP) of the first peer and a POP of a peer among the candidate peers,wherein determining the set of costs includes;
sending a request to determine the set of costs to a peer-to-peer server device that retrieves the set of costs from one or more predetermined POP-to-POP cost tables; and
receiving the set of costs from the peer-to-peer server device; and
refining, by the device, the list of one or more candidate peers to obtain a subset list of the candidate peers from which the first peer can obtain the resource based on the set of costs; and
sending, by the device to the first peer in the network, the subset list of the candidate peers from which the first peer can obtain the resource.
2 Assignments
0 Petitions
Accused Products
Abstract
A device may receive, from a first peer in a network, a request for a list of one or more candidate peers from which the first peer can obtain a resource. In addition, the device may obtain the list in response to the request, determining a set of costs based on the list, and refine the list to obtain a subset list of the candidate peers based on the set of costs. Furthermore, the device may send to, the first peer, the subset list of the candidate peers from which the first peer can obtain the resource.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, by a device from a first peer in a network, a request for a list of one or more candidate peers from which the first peer can obtain a resource over the network; obtaining, by the device in response to the request, the list of one or more candidate peers based on a peer state table that stores, for each peer in the network, parameters that represent a state of the peer; determining, by the device, a set of costs based on the list of one or more candidate peers, wherein each cost in the set of costs includes a cost of communication between a point-of-presence (POP) of the first peer and a POP of a peer among the candidate peers, wherein determining the set of costs includes; sending a request to determine the set of costs to a peer-to-peer server device that retrieves the set of costs from one or more predetermined POP-to-POP cost tables; and receiving the set of costs from the peer-to-peer server device; and refining, by the device, the list of one or more candidate peers to obtain a subset list of the candidate peers from which the first peer can obtain the resource based on the set of costs; and sending, by the device to the first peer in the network, the subset list of the candidate peers from which the first peer can obtain the resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A device comprising:
-
a network interface for communicating with a first peer, a server device, and other devices in a network; a memory for storing a peer state table that includes, for each peer in the network, parameters that represent a state of the peer; one or more processors to; receive, from the first peer in the network, a request for a list of one or more candidate peers from which the first peer can obtain a resource over the network; determine, in response to the request, the list of one or more candidate peers based on the peer state table, wherein each of the costs includes a cost of communication between a point-of-presence (POP) of the first peer and a POP of a peer among the candidate peers; request, from the server device, costs associated with communication between the first peer and the one or more candidate peers; receive the costs from the server device that retrieves the set of costs from one or more predetermined POP-to-POP cost matrices or from one or more predetermined POP-to-POP cost tables; refine the list of one or more candidate peers to obtain a subset list of the candidate peers from which the first peer can obtain the resource based on the costs; and send, to the first peer in the network, the subset list of the candidate peers from which the first peer can obtain the resource. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage device comprising one or more computer-executable instructions, for causing one or more processors executing the computer-executable instructions to:
-
receive, from a first peer in a network, a request for a list of one or more candidate peers from which the first peer can obtain a resource over the network; obtain, in response to the request, the list of one or more candidate peers based on a peer state table that stores, for each peer in the network, parameters that represent a state of the peer; determine a set of costs based on the list of one or more candidate peers, wherein each cost in the set of costs includes a cost of communication between a point-of-presence (POP) of the first peer and a POP of a peer among the candidate peers, wherein when the one or more processors determine the set of costs, the one or more processors are further configured to; send a request to determine the set of costs to a peer-to-peer server device that retrieves the set of costs from one or more predetermined POP-to-POP cost tables; and receive the set of costs from the peer-to-peer server device; and
;refine the list of one or more candidate peers to obtain a subset list of the candidate peers from which the first peer can obtain the resource based on the set of costs; and send, to the first peer in the network, the subset list of the candidate peers from which the first peer can obtain the resource. - View Dependent Claims (19, 20)
-
Specification