Logotipo IST
Bandeira Portuguesa Bandeira Inglesa    



Initial Phase


The initial phase is the period between the request for the user to start a video and start the playback of video.

This phase must be as quick as possible, and if one of the servers have a higher download time may delay the start of the video. We can see an example in Figure 1 where it is downloaded the first chunk of a video server slow (red), while the other two servers (blue and green) are significantly faster.

Http

Figure 1: Downloads without probe test

Throught the picture we can notice that the delay of the server in red, causes the video to start only after 5 chunks of video already have been download, which makes it significantly delayed the beginning of the video.

To solve this problem, in the initials of each video request is made ​​a probe test to each server available, with acceptable timeout times. Based on this information, the application orders an list of selected servers based in the shortest time to download, and then download the initial phase in faster server.

In Figure 2 we can see an example, browse to the scale of figure 1, where now before the start of the download is performed such probe test to each server. In this example, as in the previous, the server in blue is faster then the others, so the initial phase will be applied entirely to this server, which causes the startup time for video to be significantly decreased compared to the previous example.

Http2

Figure 2: Downloads com probe test




Results Average


In order to evaluate the performance of the system, it is recorded every download time of completion. Along the stream, the measurements, so far accumulate, are being made available ​​for each server / location. These values ​​are as follows:

The PRX was implemented in order to loop through each segment available in the initialization file. Thus, it appears at the end of each segment measurements accumulated so far, since the beginning of the stream the video file.

arqGeral

Figure 3: Collection of results

In order to avoid storing all the measured values ​​and calculate the mean of the same in each measurement, we implemented an iterative method in which the arithmetic mean is applied at each iteration an update rule is shown below:

arqGeral

As you can see, the next value to keep the average download time depends on the sample collected in this iteration and the iteration index. This method brings a great advantage and efficiency since it is not necessary to consume memory which is very important because the application will be used on mobile devices.