Table 1: Proportion of lost packets in UDP connections.
File size [MB] Losses [%]
1 0
2 16.66
3 36.5
4 38.17
5 30.84
6 40.77
8 34.73
10 41.45
15 37.25
20 37.73
performance achieved by two file tranmission appli-
cations, one of them uses TCP as transport protocol,
and the other one uses a kind of Fountain codes (con-
cretely Online codes).
We used the scp program (scp, 2009) as a TCP-
based file transmission application. On the other
hand, in order to implement the application based on
Online codes, we used the Online Codes implemen-
tation available in (Implementation of Online Codes,
2009). UDP transmission capability has been added
to this implementation. In contrast with some real-
time multimedia applications, in a file transmission
application the packet loss probability must be zero
(i.e., the file must be fully received). In order to
achieve this with Online Codes, the decoding fail-
ure possibility must be eliminated. This is obtained
by trying to decode the original information for ev-
ery received block. When the process fails, the re-
ceiver waits for the next check block and it tries to de-
code it again. With this method the number of check
blocks that need to be decoded is a little bigger than
(1+3ε)K, but the decoding failure probability is zero.
However, our application does not really decode
the received blocks, it only deduces whether the re-
ceived packets are enough to decode the original file,
and it finishes when it has already received enough
packets in order to decode it. This program imple-
ments a “light decoding” process and it gives as a
result the previous amount of packets. The decod-
ing mechanism can be implemented by another con-
current program, or it may be performed when the
previous program has finished, that is, when it has
received the necessary blocks to decode the original
file. On the other hand, the packets can also be stored
in a coded way. This second option could be a good
choice if the coded packets are going to be retrans-
mited (e.g. in a P2P network) or if a OS implements
a facility that is able to recognize this kind of coded
files.
Both file transmission applications are evaluated
in a contention scenario, with other two simultaneous
file transmission connections. The size of the trans-
mitted file varies from 1 up to 20 Mbytes. In this
case, both applications are able to receive the full file
without errors. Therefore, in the evaluation we are
going to compare them taking into account the neces-
sary time to receive the full file. The distance between
the PLC devices of the measured connection is about
45 meters, like in the UDP scenario. Fig. 3 shows
the average duration of the scp and Online Codes ses-
sions, extracted from 5 different sessions. In addition,
the figure also represents the 95% confidence inter-
val. The first result that can be concluded from the
previous figure is that the Online Codes sessions are
always faster than the scp sessions. In addition, the
increase of the scp sessions with respect to the Online
Codes sessions is approximatelyconstant and equal to
1 second, though for big files this increment increases
up to 2 seconds. Therefore, we can draw that in a con-
tention scenario the performance achieved by an On-
line Codes-based file transmission application is bet-
ter than the performanceachieved by a TCP-based file
transmission application. Although not represented,
we have also tested the FTP protocol, which also uses
TCP as transport protocol. In this case, the sessions
duration are always higher than with scp, and there-
fore the difference between the Online Codes appli-
cation and FTP is also higher.
Next, both file transmission applications are eval-
uated again in a contention scenario, but in this case,
with four simultaneous file transmission connections.
Fig. 4 shows the average duration of the scp and On-
line Codes sessions, extracted again from 5 different
sessions, and the associated 95% confidence interval.
In this scenario, the Online Codes sessions are also
faster than the scp sessions. However, in this case the
increase of the scp sessions with respect to the On-
line Codes sessions is higher than in the previous sce-
nario, approximately equal to 2 second, and for big
files this increment increases up to 4 seconds. On
the other hand, if we compare these results with those
presented in Fig. 3, we can observe that the increase
of simultaneous file transmission connections causes
an increase in the length of the sessions. This result is
absolutely obvious because in this case the broadcast
medium has to be shared by a bigger number of users.
As a conclusion, in multiple access networks (like
in-home PLC based networks), the access control
mechanism produces losses in unidirectional (like
UDP) transmissions. In these cases, it is necessary
to add some type of flow control (e.g. using TCP
as transport protocol), or implementing some kind of
forward error correction, for example, the use of On-
line Codes. We have compared the session lengths
FOUNTAIN CODES FOR RELIABLE DATA TRANSMISSION IN LOWVOLTAGE POWER-LINE NETWORKS
139