Template:Compu-network-stub
Network coordinates (NC) system is an efficient mechanism for Internet distance prediction with scalable measurements. Vivaldi is the representative distributed NC system, and it is deployed in many well-known Internet systems, such as Bamboo DHT, Stream-Based Overlay Network (SBON) and Azureus BitTorrent.
All nodes in Pharos form two levels of overlays, namely base overlay for long link prediction, and local cluster overlay for short link prediction. Vivaldi algorithm is applied to both base overlay and local cluster. As a result, each Pharos node has two sets of coordinates. The coordinates calculated in the base overlay, which is named global NC, is used for the global scale, and the coordinates calculated in the corresponding local cluster, which is named local NC, covers a smaller range of distance.
To form the local cluster, Pharos uses a method similar to binning and chooses some nodes called anchors to help node clustering. This method only requires a one-time measurement (with possible periodic refreshes) by the client to a small, fixed set of anchors. Any stable nodes which are able to response ICMP ping message can serve as anchor, such as the existing DNS servers.
The experimental results show that Pharos greatly outperforms Vivaldi in Internet distance prediction without adding any significant overhead. Also, Pharos can improve the performance in distributed Internet applications, such as overlay multicast and server selection.