P2P Streaming Monitor Using Global Network Positioning
Transcript of P2P Streaming Monitor Using Global Network Positioning
P2P Streaming Monitor using
Global Network Positioning (GNP) System
Sin Wang Chiu
ABSTRACT
As P2P network architecture is being more and more popular, more and more
researches are done on P2P network. P2P streaming is an important use of P2P
network technology. For more in depth knowledge and research on P2P streaming, we
need to know about the topology of the network in order to optimize the P2P
streaming network. To achieve this, we need a monitor system to monitor the situation
of the network to facilitate the development of the P2P streaming system. In this paper,
we propose to use the Global Network Positioning (GNP) system to implement a
monitor system.
I. Introduction
GNP system is an algorithm proposed by Ng and Zhang of Carnegie Mellon
University which is published in the paper named “Predicting Internet Network
Distance with Coordinates-Based Approaches”. (1)
GNP put the network topology in a
mathematical coordinate system (e.g. 2-D Cartesian coordinate system). The reason
behind is that coordinates property can be easily calculated and implemented (e.g.
network distance). In this paper, the algorithm propose will be slightly different from
the one in proposed in Ng and Zhang’s paper in which no fixed landmarks will be
used.
II. Algorithm
Consider a set of measured distance dNa, Nb where Na and Nb represent 2 different
nodes in the P2P network. In this algorithm, we are going generate a set of
coordinates S1, S2… Sn which have a set of generated distance of d’Sa, Sb. The set of
generated coordinates is obtained by minimizing the error between dN1, N2 and d’S1, S2.
Thus ,it can be solved as a generic multi-dimensional global minimization problem by
Simplex method proposed by Nelder and Mead in a paper titled “A simplex method
for function minimization”.(2)
Several method in measuring the error can be used and simple square error is used in
the paper, i.e. we are going to minimize the sum of the function below:
(dNa, Nb - d’Sa, Sb)2
where 1<=a,b<=n
Here, we denote the function we are going to minimize as objective function, f. We
use the simplex proposed by Nelder and Mean to minimize the function f.
III. Progress
The algorithm is implemented in C++ in order to test its efficiency and accuracy.
Testing is done by feeding human generated data into the system.
IV. Result
Key:
generated solution
Format: x1 y1 x2 y2 x3 y3……..
Input matrix (may not be symmetric)
Input matrix in symmetric form (by taking average)
Generated distance matrix
Test 1:
Test case:
Input: symmetric distance matrix in 101 order
Output:
A set of coordinates, accuracy can be evaluated by the
generated distance matrix.
The set of solution approximately correct in the sense
that the large distance is represent as a large distance in
the result distance matrix.
Test 2:
Test case:
Input: asymmetric distance matrix in 101
order
Output:
A set of coordinates, accuracy can be evaluated by the
generated distance matrix.
The set of solution approximately correct in the sense
that the large distance is represent as a large distance in
the result distance matrix.
Test 3:
Test case:
Input: asymmetric distance
matrix in 102
order
Output:
A set of coordinates, accuracy
can be evaluated by the
generated distance matrix.
The set of solution
approximately correct in the
sense that the large distance is
represent as a large distance
in the result distance matrix.
Evaluation of results:
As shown above, the system is now able to generate coordinates with an input
distance matrix. The coordinates is acceptable in the sense that it can distinguish
between large distances and small distances. However, the large and small is not
proportional to the input distances, i.e. the distances are in in scale.
Accuracy should be improved by adjusting the constants used in the algorithm.
V. Future Development:
1. Adjust the constants used in the algorithm in order to improve accuracy and
minimize the runtime. This may also help in improving the scaling issue
mentioned above
2. As the input matrix must be full in this implementation in which the situation is
nearly impossible in the real P2P network. Algorithm should be adjusted in order
to accept incomplete input distance matrix.
3. The input distance matrix is stored in the form of 2D-array in the current design
which is a waste of memory in the real situation. It is because in the real P2P
network, the input distance matrix is quite impossible to be full, i.e. most of the
space in the 2D array is wasted. A list-based storage can be used in order to
reduce the use of memory.
4. The runtime is quite long for the algorithm such that if there are more and more
nodes, the runtime may increase to an impractical long time. The algorithm should
be fine tune in order to make it possible to be used in a large scale monitor system.
VI. Summary
GNP system is a network coordinating system which can be easily implemented and
used in the real world. It can provide approximately correct coordinates for the use in
calculation and network optimizing.
However, the fine tune of the system is not that easy and need to be investigate in the
future.
VII. References
(1) T. S. Eugene Ng and Hui Zhang, "Predicting Internet Network Distance with
Coordinates-Based Approaches", INFOCOM'02, New York, NY, June 2002
(2) J.A. Nelder and R.Mead, “A simplex method for function minimization,” Computer
Journal, vol. 7, pp. 308–313, 1965.