Phoenix network coordinates

Phoenix is a decentralized network coordinate system based on the matrix factorization model.
Background
- Network coordinate (NC) systems are an efficient mechanism for internet distance (round-trip latency) prediction with scalable measurements. For a network with N hosts, by performing O(N) measurements, all N*N distances can be predicted.
- Use cases: Vuze BitTorrent, application layer multicast, PeerWise overlay, multi-player online gaming.
- Triangle inequality violation (TIV) is widely exist on the Internet due to the current sub-optimal internet routing.
Model
- Most of the prior NC systems use the Euclidean distance model, i.e. embed N hosts into a d-dimensional Euclidean space Rd. Due to the wide existence of TIVs on the internet, the prediction accuracy of such systems is limited. Phoenix uses a matrix factorization (MF) model, which does not have the constraint of TIV.
- The linear dependence among the rows motivates the factorization of internet distance matrix, i.e. for a system with internet nodes, the internet distance matrix D can be factorized into two smaller matrices. where and are matrices (d << N). This matrix factorization is essentially a problem of linear dimensionality reduction and Phoenix tries to solve it in a distributed way.
Design choices in Phoenix
- Different from the existing MF based NC systems such as IDES and DMF, Phoenix introduces a weight to each reference NC and trusts the NCs with higher weight values more than the others. The weight-based mechanism can substantially reduce the impact of the error propagation.
- For node discovery, Phoenix uses a distributed scheme, so-called peer exchange (PEX), which is used in BitTorrent (protocol). The usage of PEX reduces the load of the tracker, while still ensuring the prediction accuracy under node churn.
- Similar to DMF, for avoiding the potential drift of the NCs, Regularization (mathematics) is introduced in NC calculation.
- NCShield is a decentralized, goosip-based trust and reputation system to secure Phoenix and other matrix factorization-based NC systems.
See also
- Vivaldi coordinates
- Pharos network coordinates
- Global network positioning
- An open source simulator of Phoenix