A Survey on Network Coordinate Systems

. Network coordinate systems play an important role in applications such as P2P file sharing, online network games, and IP positioning. Many network applications require a large amount of network delay data. However, plenty of network delay measurements will cause the network heavily loaded and unreachable problems between network nodes. The proposed network coordinate system provides an important means to solve these problems. Firstly the concept and application of the network coordinate system are introduced. Secondly, the existing representative network coordinate systems are elaborated in detail, such as system based on Euclidean distance and matrix decomposition, and then the advantages of each system are compared. Finally, the factors affecting the accuracy of network coordinate system prediction are analyzed, and the problems are pointed out which the network coordinate system is worth researching in the next step.


INTRODUCTION
At present, with the rapid development of Internet technology, the scale of IP networks has grown exponentially, and various large-scale distributed network services and applications have emerged. Therefore, users' requirements for network service quality are also constantly improving. Whether for a network service provider or a network user, it is urgent to grasp the IP network performance and status parameters, as well as the network's operational performance and behavior characteristics in order to optimize network applications and improve service efficiency. Inter-node delay is one of the key parameters that can reflect network performance and state, and many Internet applications rely on accurate delay measurement, such as distributed overlay network multicast [1,2], content addressable overlay network [3], P2P file sharing [4], online games and IP positioning based on network coordinate system [5,6] and so forth. However, due to the large-scale, high-dynamic, self-organizing complexity of the network, it is extremely difficult to accurately and completely measure the inter-node delay. The most straightforward way to obtain latency is to make end-to-end measurements between network nodes. This approach is the most accurate one, but it is only suitable for small-scale systems, typically dozens of nodes. In an N-node network, there are N(N-1) end-to-end links between the two nodes, and the overhead for measurement is O(N 2 ), so measuring these N nodes takes a long time. Therefore, in the case of a large-scale network, such an end-to-end measurement brings a large amount of measurement overhead to the network, and there is also a problem that some inter-node delay cannot be measured in the network. These problems reduce the usability of the end-to-end direct measurement of the delay.
Using the Network Coordinate System to predict the delay (also known as the network distance) is one of the efficient approaches to obtain the inter-node delay [7]. Using the coordinates in the space to represent the network nodes, the approach embeds the network space into a certain measurement space, and converts the measurement of the network delay into the calculation of the distance between the nodes in the space, which can greatly reduce the measurement overhead caused by the actual network measurement.
Most network coordinate systems use a calculation model based on Euclidean distance. In this calculation model, the network coordinate system maps N nodes into a D-dimensional space by O(N) measurements, and defines the network coordinates of any node i as = + + ⋯ + , then the predicted network distance of any two nodes i and j is: Research on network coordinate system starts from 2001, and many typical systems have emerged, such as GNP [8], VL [9], ICS [10] and other central network coordinate systems. The common characteristic of these coordinate systems is about that: A small number of fixed nodes are first arranged as reference nodes, and the delays are measured between each other. The coordinates of these reference nodes are obtained by a global optimization algorithm. Then each common node calculates the coordinates of the reference node using the coordinates of the reference node and the measurement of the distance from itself to the reference node. Since 2004, distributed coordinate systems represented by Vivaldi [11], PIC [12], NPS [13], WDCS [14] and other systems have been proposed. These coordinate systems are characterized by a fully distributed implementation and do not require the placement of reference nodes; thus, the scale of the coordinate system can be expanded. Beginning in 2006, a network coordinate system based on matrix decomposition is proposed. The characteristic of this system is to predict the distance between nodes by decomposing the delay matrix. This approach avoids the Triangle Inequality Violation (TIV) problem [15,16] based on the Euclidean distance coordinate system.

Existing network coordinate system
There are a variety of network coordinate systems nowadays, which can be roughly divided into two categories, namely: a network coordinate system based on Euclidean distance and a network coordinate system based on matrix decomposition. The former represented by GNP and Vivaldi maps network nodes to a geometric space. Each node has corresponding coordinates in geometric space. The network distance between nodes can be calculated by corresponding node coordinates. And the latter represented by IDES [17] obtains the incoming vector and the outgoing vector of the node by decomposing the delay matrix, and then obtains network distance (delay) between nodes according to a certain calculation rule with the incoming vector and the outgoing vector.

GNP
GNP is the first network coordinate system based on Euclidean distance proposed by Eugene Ng [8] of Carnegie Mellon University in 2002. In GNP, the nodes in the network are mapped to coordinate points in the Euclidean space, and each node has a coordinate in the space, thereby transforming the network distance problem into a distance problem between space nodes. And the distance between any two nodes can be calculated from coordinate values with the Euclidean space distance formula.
GNP divides the nodes in the system into two parts, landmarks (reference nodes) and ordinary nodes. Among them, the landmarks are some representative nodes selected in the network according to a certain criteria. They measure the network distance (delay) between each other, and use the Downhill Simplex method [18] to solve the coordinates of the landmarks, its objective function is: With this objective function, the landmark coordinates can be obtained, and all the landmark coordinates play an auxiliary role in the calculation of other ordinary node coordinates.

Vivaldi
Vivaldi regards the entire Internet as a spring system, simulating the space embedding problem as a spring elastic potential minimization problem. The connection between the network nodes is equivalent to a spring. Each node has force with each other by springs. The magnitude of the force is proportional to the difference between the current predicted distance and the actual distance. When the coordinates of each node in the network tend to be the optimal value, the elastic potential of the whole system is the smallest and the system tends to be stable. Suppose represents the network coordinates of node i, and the network coordinates are the values of the minimization error calculation formula E. By this minimization process, the elastic potential energy of the entire spring system is minimized.
And − is the distance between node i and j in the Euclidean space.
In the Vivaldi system, each node has its own network coordinates and local error . All nodes periodically update their network coordinates and local errors according to their own measurements of other nodes in the network, combined with the network coordinates of the nodes being measured. and are tunable parameters in the system. ( Algorithm 1 describes the process of one coordinate update of a Vivaldi node. Assuming that the node is i, the node referenced by node i in this coordinate update is node j (usually randomly selected from the list of neighbor nodes in each update cycle). Firstly, a weight value w for the current update process can be calculated based on the local error of the node i and the local error of the node j. Secondly, by measuring the distance between the node i and j, a temporary relative error can be calculated; Then with w and , a new local error can be calculated. Finally, it can recalculate the own network coordinates of node i.
Compared with GNP, Vivaldi's biggest advantage lies in its distributed structure, which does not require a fixed anchor node, so the system's scalability is enhanced. However, Vivaldi is a network coordinate system essentially based on Euclidean distance. The asymmetry of the network distance and the characteristics of violating the triangle inequality constraint make its prediction accuracy affected. At the same time, the Vivaldi distributed computing feature also makes the algorithm's convergence time long.

Pharos
Pharos [19] is a hierarchical network coordinate system extended on the basis of Vivaldi. It improves the accuracy of network distance prediction by giving multiple different network coordinates to a same node. One group is the network coordinates of the global scope (the entire Internet), while the other coordinates represent a relatively small scope. In Pharos, both the global and local networks run a separate Vivaldi system. A node can calculate its global or local coordinates by joining the global network or one of the local networks, so as to accurately predict the links of different length scopes.
A significant advantage of Pharos system is its compatibility with the Vivaldi system. For a network node, it first deploys its Vivaldi system, then join the global network and local network defined by the Pharos system, and finally calculate its coordinates.

IDES
IDES is the coordinate system which first proposed the matrix decomposition calculation model. Through a small amount of measurement, the distance matrix D of N×N is decomposed into two N×d matrixes X and Y, so that T D X Y ≈ × .
The coordinates of node i include two d-dimensional vectors, which are: The d-dimensional outgoing vector: The d-dimensional incoming vector: The predicted distance from node i to node j can be calculated by the dot product of the outgoing vector of the node i and the incoming vector of the node j: In the network coordinate system based on Euclidean distance, the principle of triangle inequality should be satisfied for any three nodes i, j, k. In the computational model based on matrix decomposition, there is no such limitation, so the computational model based on matrix decomposition can better model the Internet where TIV is ubiquitous. However, IDES also has two main problems: First, IDES cannot ensure that the predicted network distance is non-negative. The delay in the network will not be negative, and a negative value will seriously affect other participating nodes of the entire network. Secondly its scalability is not strong because the initial nodes used to construct the delay matrix are fixed.

Phoenix
Phoenix [20] is a network coordinate system built on the basis of IDES. Phoenix specifies that all elements of each node's outgoing and incoming vector must be non-negative, which guarantees that the distance predicted by the Phoenix system cannot be negative. At the same time, the matrix decomposition based Phoenix system does not provide a fixed reference node for the coordinate calculation of the entire network, and introduces the concept of vector weights. Any node that has calculated its own network coordinates can be the reference node for the newly added node coordinate calculation. Suppose there are N such nodes in the system. When a new node H joins the system, it will randomly select any m nodes as its reference nodes and start the periodic coordinate update process. In each round of updates, H will take the coordinates of m points and measure its distances to the m nodes, then update its own coordinates.
For the newly added node H, its m reference nodes are respectively defined as , , … . The outgoing vectors of these m nodes are defined as , , … , and the incoming vectors are defined as , , … . Each ordinary node evaluates the accuracy of its individual reference vectors. The more accurate the reference vector is, the higher the weight value is obtained. Conversely, the reference vector with a large error is given a small weight value. The introduction of vector weights can effectively avoid the propagation of errors [21]. For each reference node of a new node H, the weight of is defined as , while the weight of is . After introducing vector weights, and can be calculated using the following formula: According to the calculated and , the predicted distance between the node H and each reference node satisfies the following formula: ( , ) If H is a newly joined node, for each of its reference nodes , set = = 1 and directly calculate its initial coordinates. The calculation process of its weight is as follows: ( 1 5 ) and are the median of C is a constant coefficient. For a reference vector whose absolute error is less than or equal to the corresponding median, its weight value is set to 1. For a reference vector whose absolute error is greater than the median but less than the median C times, it is assumed to be k times the corresponding median value and its weight value is ( ) 2 1/ k . The reference vector whose absolute error is greater than the corresponding median C times is set to a weight value of 0. By introducing reference vector weights, the Phoenix system can effectively avoid error propagation in coordinate calculations. Moreover, the occurrence of a negative prediction distance is avoided. From the perspective of prediction error, Phoenix has significantly improved compared to Vivaldi and IDES, as shown in Figure 1.

Comprehensive analysis of network coordinate system
The prediction performance of network coordinate system is affected by many factors, and the affected factors vary from different coordinate systems.

TIV of network distances
In the network coordinate system based on Euclidean distance, the predicted network distance must satisfy the triangle inequality rule. And TIV is any three nodes A, B, C in the network, assuming ( , ) ( , ) , then the triangle inequality violation (TIV) occurs for nodes A, B, and C. Any three nodes that have violated the triangle inequality rule cannot be represented by the Euclidean distance-based network coordinate system without error, because distances must satisfy the triangle inequality rule in the Euclidean space. However in the actual network, the triangle inequality rule is not always true. Therefore, TIV will greatly affect the accuracy of the network coordinate system based on Euclidean distance. In the network coordinate system based on matrix decomposition, it will not be affected by TIV because it uses the matrix decomposition calculation model.

Reference nodes in network coordinate system
The selection of reference nodes in the network coordinate system also affects the prediction accuracy. According to whether the reference nodes are fixed, the network coordinate systems can be divided into the central network coordinate systems (like GNP, IDES) and the non-central network coordinate systems (Vivaldi, Phoenix, Pharos). The central network coordinate system has high requirements on the reference nodes, which usually causes high load problems in the reference nodes. Compared with the central network coordinate system, the non-central type do not need a fixed reference node, so its system scalability is enhanced, the load capacity is high, and the problem that prediction tends to be local minimization caused by the fixed reference node can be effectively solved. So the selection of reference nodes also has a great impact on the accuracy of prediction [22].

Network coordinate system security
Most network coordinate systems assume that participating nodes can be trusted. If malicious nodes in the network provide false distance information [23], the accuracy of distance prediction will be seriously reduced or even the failure of the entire prediction system. Such threats are also encountered in systems based on fixed reference nodes.

4
Further research on network coordinate system Currently, all network coordinate systems are focused on predicting network latency, but there are other features in the network, such as bandwidth, hop count, and so on. These features could be added to network coordinate systems [7] and provide more support for the prediction accuracy of network coordinate systems by finding the correlation between these features and the network delay. On the other hand, in the network coordinate system based on matrix decomposition, SVD [24] and NMF [25] decomposition algorithms are mostly used, and the quality of the decomposition approach will also affect the distance prediction. If a new decomposition approach can be proposed, it will help predict the network delay. In terms of application, further research is needed on whether the network coordinate system can be better applied to IP positioning.

Conclusion
A new approach, network coordinate system, is discussed for predicting network delay. The proposed network coordinate system provides a new mode for the measurement of network delay, that is, an approach for obtaining the network distance between nodes without requiring plenty of network measurements. The two types of network coordinate systems based on Euclidean distance and matrix decomposition are introduced. The problems of each system are discussed, and the factors affecting the prediction of network coordinate system are analyzed. Aiming at the problems existing in the network coordinate system in delay prediction, some improved ideas are proposed.