The main contributions of this thesis is the implementation of the cautious harmonic broadcasting algorithm, as well as a stream scheduling framework (SSF), that supports implementing periodic broadcasting class algorithms. By implementing a SSF we support implementing other promising periodic broadcasting algorithms in our future work, in a more consistent approach. The client side SSF implementation is algorithm agnostic, as long as the server side algorithm can be expressed through our schedule description approach. The client is served descriptions of each segment, along with descriptions of each channel. For each of the channels we attach a channel schedule stating how the client will receive and assemble the segments, this loose coupling between segments and channels is the rationale for claiming an algorithm agnostic client.
The SSF is built by extending the live555 streaming media library, enabling future integration into existing media-players like VLC and MPlayer. The live555 library did not support the use of RTP extension headers, and such support have accordingly been implemented, to ensure the support for more complex scheduling, like shared channels.
The implementation have been tested through running experiments, and measuring the performance and operation of the CHB algorithm, using both constant bit-rate and variable bit-rate media. We also implemented a specialized version of the CHB algorithm, where all the segments were equal and consisted of the entire media. This special implementation was used to measure the correctness of our transmission scheduling in a comparative manner, and helped us realize the issues in scheduling variable bit-rate media using the same approach as scheduling the constant bit-rate media.
We conclude that the implementation of periodic broadcasting algorithms are realistic and feasible, and that the CHB algorithm performs well in most of our experiments. However we also suggest that more research is necessary in the area of transmission scheduling calculations, and especially for small media segments, and even more so for the ones based on a variable bit-rate media.