Pharos Network Coordinates
Encyclopedia
Pharos is hierarchical and decentralized network coordinate system. With the help of a simple two-level architecture, it achieves much better prediction accuracy then the representative Vivaldi coordinates
, and it is incrementally deployable.
Vivaldi coordinates
Vivaldi Network Coordinates establish a virtual positioning system that has a prime use in networking. The algorithm behind the system uses a distributed technique to estimate propagation times between peers in the network....
, and it is incrementally deployable.
Overview
- Network coordinates (NC) system is an efficient mechanism for Internet latency prediction with scalable measurements. Vivaldi coordinatesVivaldi coordinatesVivaldi Network Coordinates establish a virtual positioning system that has a prime use in networking. The algorithm behind the system uses a distributed technique to estimate propagation times between peers in the network....
is the representative distributed NC system, and it is deployed in many well-known Internet systems, such as Bamboo DHT (Distributed hash tableDistributed hash tableA distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...
), Stream-Based Overlay Network (SBON) and Azureus BitTorrent.
- Pharos is a fully decentralized NC system. 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.
Insights behind Pharos
- Simple and effective, obtain significant improvement in prediction accuracy by introducing a straightforward hierarchical distance prediction
- Fully compatible with Vivaldi, the most widely deployed NC system. For every host where the Vivaldi client has been deployed, it just needs to run classic Vivaldi NC algorithm to join global overlay and local cluster, without deploying another NC client.
- The anchors in Pharos is different from landmarks in Global network positioningGlobal network positioningGlobal network positioning is a coordinates-based mechanism in a peer-to-peer network architecture which predicts Internet network distance . The mechanism is based on absolute coordinates computed from modeling the Internet as a geometric space...
(GNP), which not only has to reply the ICMP ping but also need to reply the queries from all clients by sending their latest NCs. No requirement to deploy any extra software on the anchors.
Implementation
- There is an open source implementation of Pharos on PlanetLab, so-called Toread, one can easily fetch the source code via "svn checkout http://toread.googlecode.com/svn/trunk/ toread-read-only".