System and method for implementing PNRP locality
First Claim
1. A method for a host node in a peer to peer computer network to determine its coordinates in a d-dimensional network space that uses Peer Name Resolution Protocol (PNRP), comprising, at the host node:
- determining, by the host node, whether the host node is a first locality-aware node in the peer to peer computer network;
if the host node determines the host node is the first locality-aware node in the peer to peer computer network, setting a fist set of network coordinates of the host node to be an origin of the d-dimensional network space; and
if the host node determines the host node is not the first locality-aware node in the peer-to-peer computer network;
discovering an address of a peer node in the PNRP network;
measuring network latency between the host node and the peer node based on results of a probe of a publisher of the address of the peer node;
storing, in an entry of a global cloud cache at the host node, locality data for the peer node and a state indicating whether or not a valid locality estimation has been obtained for the peer node;
determining a number of locality-aware peer nodes for which network latency has been measured, the number of locality-aware peer nodes for which network latency has been measured corresponding to a number of probe results stored in the global cloud cache;
if the number of locality-aware peer nodes for which network latency has been measured is less than d+1, estimating the first set of network coordinates of the host node;
if the number of locality-aware peer nodes for which network latency has been measured is greater than or equal to d+1, calculating the first set of network coordinates of the host node in the peer to peer network using d+1 measured latencies wherein closer locality-aware peer nodes to the host node will have a smaller network latency and closer network coordinates and locality-aware peer nodes that are further away from the host node will have a higher network latency and further network coordinates from the host node;
receiving a trigger for a coordinate reset;
selecting a subset of known locality-aware peer nodes based at least in part on levels in the global cloud cache;
re-measuring the network latency between the host node and each of the subset of known locality-aware peer nodes;
calculating a second set of network coordinates of the host node using re-measured network latency; and
using the second set of network coordinates of the host node when a first calculated error corresponding to the first set of network coordinates is greater than or equal to a second calculated error corresponding to the second set of network coordinates.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for a host node in a computer network to determine its coordinates in a d-dimensional network space, comprising discovering an address of a peer node in the network, measuring network latency between the host node and the peer node, determining whether network latency has been measured for at least d+1 peer nodes, where, if network latency has not been measured for at least d+1 peer nodes, estimating the network coordinates of the host node, and where, if network latency has been measured for at least d+1 peer nodes, calculating the network coordinates of the host node using d+1 measured latencies.
37 Citations
18 Claims
-
1. A method for a host node in a peer to peer computer network to determine its coordinates in a d-dimensional network space that uses Peer Name Resolution Protocol (PNRP), comprising, at the host node:
-
determining, by the host node, whether the host node is a first locality-aware node in the peer to peer computer network; if the host node determines the host node is the first locality-aware node in the peer to peer computer network, setting a fist set of network coordinates of the host node to be an origin of the d-dimensional network space; and if the host node determines the host node is not the first locality-aware node in the peer-to-peer computer network; discovering an address of a peer node in the PNRP network; measuring network latency between the host node and the peer node based on results of a probe of a publisher of the address of the peer node; storing, in an entry of a global cloud cache at the host node, locality data for the peer node and a state indicating whether or not a valid locality estimation has been obtained for the peer node; determining a number of locality-aware peer nodes for which network latency has been measured, the number of locality-aware peer nodes for which network latency has been measured corresponding to a number of probe results stored in the global cloud cache; if the number of locality-aware peer nodes for which network latency has been measured is less than d+1, estimating the first set of network coordinates of the host node; if the number of locality-aware peer nodes for which network latency has been measured is greater than or equal to d+1, calculating the first set of network coordinates of the host node in the peer to peer network using d+1 measured latencies wherein closer locality-aware peer nodes to the host node will have a smaller network latency and closer network coordinates and locality-aware peer nodes that are further away from the host node will have a higher network latency and further network coordinates from the host node; receiving a trigger for a coordinate reset; selecting a subset of known locality-aware peer nodes based at least in part on levels in the global cloud cache; re-measuring the network latency between the host node and each of the subset of known locality-aware peer nodes; calculating a second set of network coordinates of the host node using re-measured network latency; and using the second set of network coordinates of the host node when a first calculated error corresponding to the first set of network coordinates is greater than or equal to a second calculated error corresponding to the second set of network coordinates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15, 16)
-
-
8. A non-transitory computer-storage medium having computer executable instructions for performing steps for a host node in a peer to peer computer network to determine its coordinates in a d-dimensional Peer Name Resolution Protocol (PNRP) network space, the steps comprising:
-
determining, by the host node, whether the host node is a first locality-aware node in the peer to peer computer network; if the host node determines the host node is the first locality-aware node in the peer to peer computer network, setting a first set of network coordinates of the host node to be an origin of the d-dimensional network space; and if the host node determines the host node is not the first locality-aware node in the peer-to-peer computer network; discovering an address of a peer node in the PNRP network; measuring network latency between the host node and the peer node based on results of a probe of a publisher of the address of the peer node; storing, in an entry of a global cloud cache at the host node, locality data for the peer node and a state indicating whether or not a valid locality estimation has been obtained for the peer node; determining a number of locality-aware peer nodes for which network latency has been measured, the number of locality-aware peer nodes for which network latency has been measured corresponding to a number of probe results stored in the global cloud cache; if the number of locality-aware peer nodes for which network latency has been measured is less than d+1, estimating the first set of network coordinates of the host node; if the number of locality-aware peer nodes for which network latency has been measured is greater than or equal to d+1, calculating the first set of network coordinates of the host node in the peer to peer network using d+1 measured latencies wherein closer locality-aware peer nodes to the host node will have a smaller network latency and closer network coordinates and locality-aware peer nodes that are further away from the host node will have a higher network latency and further network coordinates from the host node; receiving a trigger for a coordinate reset; selecting a subset of known locality-aware peer nodes based at least in part on levels in the global cloud cache; re-measuring the network latency between the host node and each of the subset of known locality-aware peer nodes; calculating a second set of network coordinates of the host node using re-measured network latency; and using the second set of network coordinates of the host node when a first calculated error corresponding to the first set of network coordinates is greater than or equal to a second calculated error corresponding to the second set of network coordinates. - View Dependent Claims (9, 10, 11, 12, 13, 14, 17, 18)
-
Specification