Phoenix is a decentralized network coordinate system based on the matrix factorization model.[1]
Background
- Network coordinate (NC) systems[2] 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 violations (TIVs) widely exist on the Internet due to 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
Ninternet nodes, theN \times Ninternet distance matrix D can be factorized into two smaller matrices.D \approx XY^TwhereXandYareN \times dmatrices (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[3] and DMF,[4] 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[5] 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
References
- ^ Y. Chen, X. Wang, C. Shi, and et al. (December 2011). "Phoenix: a weight-based network coordinate system using matrix factorization". IEEE Transactions on Network and Service Management. 8 (4): 334–347. CiteSeerX 10.1.1.300.2851. doi:10.1109/tnsm.2011.110911.100079. S2CID 8079061. Archived from the original on 2013-12-02.
- ^ B. Donnet; B. Gueye; M.A. Kaafar (2010). "A Survey on Network Coordinates Systems, Design, and Security". IEEE Communications Surveys & Tutorials. 12 (4): 488–503. CiteSeerX 10.1.1.217.5675. doi:10.1109/SURV.2010.032810.00007. S2CID 16908400
- ^ Yun Mao, Lawrence Saul & Jonathan M. Smith (December 2006). "IDES: An Internet Distance Estimation Service for Large Networks". IEEE Journal on Selected Areas in Communications. 24 (12): 2273–2284. CiteSeerX 10.1.1.136.3837. doi:10.1109/JSAC.2006.884026. S2CID 12931155
- ^ Y. Liao, P. Geurts & G. Leduc (2010). Network Distance Prediction Based on Decentralized Matrix Factorization. Proc. of IFIP Networking.
- ^ Shining Wu; Yang Chen; Xiaoming Fu; Jun Li (2012). NCShield: Securing Decentralized, Matrix Factorization-Based Network Coordinate Systems. Proc. of the 20th IEEE/ACM International Workshop on Quality of Service (IWQoS'12). Archived from the original on 2013-12-03.