p2psp team mailing list archive
-
p2psp team
-
Mailing list archive
-
Message #00000
Main protocol modification
Hi everybody!
This e-mail proposes a modification of the P2PSP, both, in the headers and
the behavior of the nodes (source and peers) in order to overcome the
following drawbacks of the actual definition:
1. Peers need to allocate and handle a list of peers whose size is unknown,
a priori (depens on the number of peers in the cluster).
2. Peers need to manage the "un-supportive" peers, updating their lists and
communicating with the source in the case they remove a peer. The peer list
in the source need to be also updated and in this process, a mismatch
between the peer lists in the peers and the source could happen.
3. When a new peer want to join the the cluster, the current peer list in S
is sent to the peer, increasing the latency of the visualization and
overloading the system.
4. Peers that live in home networks, that usually have much more bandwidth
locally than in the rest of the channel, make a "dangerous" use of the
network because they send blocks to the rest of the peers without
congestion nor data-flow control and they could send data faster than the
NAT cans.
Therefore, to minimize these problems, I propose the following
modifications:
1. The source doesn't send the the peers its list of peers, never.
2. To include a new field in the P2PSP header (4+2 bytes). This new field
is the end-point (IP address and port) of a peer of the cluster. So, when
the source (S) sends a block to a peer P_i, in this field, S specifies the
end-point of other P_j, where i != j. When P_i receives the block, it
forwards the block to P_j.
3. P_j will send to P_i the last received block from S, if and only if P_j
receives a block from P_i. Notice than the end-point of P_i is in the UDP
header.
4. Periodically, using something similar to a heartbeat, peers will send an
empty UDP packet to S to communicate that they are alive. When a given
amount of time has passed without a P_x's heartbeat, S removes P_x of its
list.
I'll work in this modification in my branch:
bzr branch https://code.launchpad.net/~p2psp/p2psp/vruiz
Please, send your comments to p2psp@xxxxxxxxxxxxxxxxxxx. Of course, feel
free to implement these ideas on your own version of the P2PSP!
Best regards!
Vicente.
--
Vicente González Ruiz
Depto Arquitectura de Computadores y Electrónica
Universidad de Almería
04120, La Cañada de San Urbano
Almería, España
e-mail: vruiz@xxxxxx
http://www.ace.ual.es/~vruiz
tel: +34 950 015711
fax: +34 950 015486