Claims
- 1. A method comprising:
measuring measured network distances between a subject node and each reference node of a plurality of reference nodes selected from a network, at least one reference node being randomly selected from the network, each reference node being designated by coordinates in a coordinate space; and computing coordinates in the coordinate space for the subject node based on the measured network distances and the coordinates for each of the reference nodes.
- 2. The method of claim 1 further comprising:
measuring new measured network distances between a subject node and each reference node of a new plurality of reference nodes selected from the network; and computing new coordinates in the coordinate space for the subject node based on the new measured network distances and the coordinates for each of the reference nodes in the new plurality of reference nodes.
- 3. The method of claim 1 further comprising:
receiving the coordinates for at least one of the reference nodes from the at least one reference node.
- 4. The method of claim 1 further comprising:
receiving the coordinates for at least one of the reference nodes from a different node in the network.
- 5. The method of claim 1 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein each of the reference nodes has been randomly selected from the network.
- 6. The method of claim 1 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein at least one of the reference nodes has been randomly selected from the network and at least one of the reference nodes is closer to the subject node than any other node in the network having designated coordinates.
- 7. The method of claim 1 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein at least one of the reference nodes has been randomly selected from the network and at least one of the reference nodes is within a predetermined network distance to the subject node.
- 8. The method of claim 1 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes based on measured round-trip delay times between the subject node and each of the reference nodes.
- 9. The method of claim 1 wherein computing comprises:
computing network distance errors between each measured network distance and a corresponding predicted coordinate distance, each predicted coordinate distance being based on tentative coordinates of the subject node and coordinates of one of the reference nodes.
- 10. The method of claim 1 wherein computing comprises:
computing the coordinates of the subject node by minimizing network distance errors between each measured network distance and a corresponding predicted coordinate distance, each predicted coordinate distance being based on tentative coordinates of the subject node and coordinates of one of the reference nodes.
- 11. The method of claim 1 wherein computing comprises:
computing the coordinates of the subject node by iteratively minimizing network distance errors between each measured network distance and a corresponding predicted coordinate distance.
- 12. The method of claim 1 wherein further comprising:
replacing a reference node of the plurality with a new reference node selected from the network, the replaced reference node exhibiting a greater error between the associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality.
- 13. The method of claim 1 wherein further comprising:
replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater error between the associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality; measuring measured network distances between the subject node and the new reference node; and computing new coordinates for the subject node based on each of the measured network distances and coordinates for each reference node of the new plurality of reference nodes.
- 14. The method of claim 1 wherein further comprising:
computing an attacker detection metric based on each of the measured network distances and the coordinates for each of the reference nodes.
- 15. The method of claim 1 wherein further comprising:
computing an attacker detection metric based on each of the measured network distances and the coordinates for each of the reference nodes; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater attacker detection metric than any other reference node in the plurality; measuring measured network distances between the subject node and the new reference node; and computing new coordinates for the subject node based on each of the measured network distances and coordinates for each reference node of the new plurality of reference nodes.
- 16. The method of claim 1 wherein further comprising:
estimating a network distance between the subject node and another positioned node by computing a coordinate distance between the coordinates of the subject node and coordinates of the other positioned node.
- 17. A computer program product encoding a computer program for executing on a computer system a computer process, the computer process comprising:
measuring measured network distances between a subject node and each reference node of a plurality of reference nodes selected from a network, at least one reference node being randomly selected from the network, each reference node being designated by coordinates in a coordinate space; and computing coordinates in the coordinate space for the subject node based on the measured network distances and the coordinates for each of the reference nodes.
- 18. The computer program product of claim 17 wherein the computer process further comprises:
measuring new measured network distances between a subject node and each reference node of a new plurality of reference nodes selected from the network; and computing new coordinates in the coordinate space for the subject node based on the new measured network distances and the coordinates for each of the reference nodes in the new plurality of reference nodes.
- 19. The computer program product of claim 17 wherein the computer process further comprises:
receiving the coordinates for at least one of the reference nodes from the at least one reference node.
- 20. The computer program product of claim 17 wherein the computer process further comprises:
receiving the coordinates for at least one of the reference nodes from a different node in the network.
- 21. The computer program product of claim 17 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein each of the reference nodes has been randomly selected from the network.
- 22. The computer program product of claim 17 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein at least one of the reference nodes has been randomly selected from the network and at least one of the reference nodes is closer to the subject node than any other node in the network having designated coordinates.
- 23. The computer program product of claim 17 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes, wherein at least one of the reference nodes has been randomly selected from the network and at least one of the reference nodes is within a predetermined network distance to the subject node.
- 24. The computer program product of claim 17 wherein measuring comprises:
measuring the measured network distances between the subject node and each of the reference nodes based on measured round-trip delay times between the subject node and each of the reference nodes.
- 25. The computer program product of claim 17 wherein computing comprises:
computing network distance errors between each measured network distance and a corresponding predicted coordinate distance, each predicted coordinate distance being based on tentative coordinates of the subject node and coordinates of one of the reference nodes.
- 26. The computer program product of claim 17 wherein computing comprises:
computing the coordinates of the subject node by minimizing network distance errors between each measured network distance and a corresponding predicted coordinate distance, each predicted coordinate distance being based on tentative coordinates of the subject node and coordinates of one of the reference nodes.
- 27. The computer program product of claim 17 wherein computing comprises:
computing the coordinates of the subject node by iteratively minimizing a network distance error between each measured network distance and a corresponding predicted coordinate distance.
- 28. The computer program product of claim 17 wherein the computer process further comprises:
replacing a reference node of the plurality with a new reference node selected from the network, the replaced reference node exhibiting a greater error between the associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality.
- 29. The computer program product of claim 17 wherein the computer process further comprises:
replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater error between the associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality; measuring measured network distances between the subject node and the new reference node; and computing new coordinates for the subject node based on each of the measured network distances and coordinates for each reference node of the new plurality of reference nodes.
- 30. The computer program product of claim 17 wherein the computer process further comprises:
computing an attacker detection metric based on each of the measured network distances and the coordinates for each of the reference nodes.
- 31. The computer program product of claim 17 wherein the computer process further comprises:
computing an attacker detection metric based on each of the measured network distances and the coordinates for each of the reference nodes; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater attacker detection metric than any other reference node in the plurality; measuring measured network distances between the subject node and the new reference node; and computing new coordinates for the subject node based on each of the measured network distances and coordinates for each reference node of the new plurality of reference nodes.
- 32. The computer program product of claim 17 wherein the computer process further comprises:
estimating a network distance between the subject node and another positioned node by computing a coordinate distance between the coordinates of the subject node and coordinates of the other positioned node.
- 33. A system comprising:
a network distance module measuring measured network distances between a subject node and each reference node of a plurality of reference nodes selected from a network, at least one reference node being randomly selected from the network, each reference node being designated by coordinates in a coordinate space; and a coordinate estimation module computing coordinates in the coordinate space for the subject node based on the measured network distances and the coordinates for each of the reference nodes.
- 34. The system of claim 33 further comprising
a network distance estimation module estimating a network distance between the subject node and a positioned node by computing a coordinate distance between the coordinates of the subject node and coordinates of the positioned node.
- 35. A method comprising:
computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater error between an associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality; and computing new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
- 36. A computer program product encoding a computer program for executing on a computer system a computer process, the computer process comprising:
computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater error between an associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality; and computing new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
- 37. A system comprising:
a coordinate estimation module computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; and a security module replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater error between an associated measured network distance and a corresponding predicted coordinate distance than any other reference node in the plurality,
wherein the coordinate estimation module computes new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
- 38. A method comprising:
computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; computing an attacker detection metric based on measured network distances and predicted coordinate distances between a subject node and each reference node in the plurality and the coordinates of each of the reference nodes; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater attacker detection metric than any other reference node in the plurality; computing new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
- 39. A computer program product encoding a computer program for executing on a computer system a computer process, the computer process comprising:
computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; computing an attacker detection metric based on measured network distances and predicted coordinate distances between a subject node and each reference node in the plurality and the coordinates of each of the reference nodes; replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater attacker detection metric than any other reference node in the plurality; computing new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
- 40. A system comprising:
a coordinate estimation module computing coordinates of a subject node in a coordinate space based on coordinates of a plurality of reference nodes selected from a network; and a metric computation module computing an attacker detection metric based on measured network distances and predicted coordinate distances between a subject node and each reference node in the plurality and the coordinates of each of the reference nodes; and a security module replacing a reference node of the plurality with a new reference node selected from the network to define a new plurality of reference nodes, the replaced reference node exhibiting a greater attacker detection metric than any other reference node in the plurality,
wherein the coordinate estimation module computes new coordinates of the subject node in the coordinate space based on coordinates of each reference node in the new plurality of reference nodes.
RELATED APPLICATIONS
[0001] This application claims benefit of U.S. Provisional Application No. 60/431,470, filed Dec. 6, 2002 and entitled “Peer-to-Peer Network Distance Estimation”, specifically incorporated by reference for all that it disclosed and teaches.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60431470 |
Dec 2002 |
US |