The maintenance of a lab consisting of 40 computers is a considerable challenge, because
different education environments are need to be created for each class. These environments
are typically implemented virtual machines. For the distribution of these virtual machines
a method called Chaincast is used currently, that connects the computers in a chain, so
the data is sent from one computer to another. Therefore, if any machine malfunctions the
transfer of data is interrupted and the distribution to be restarted. Also, because we need
different computers for different classes (such as only the computers of the first 3 rows),
these chains need to be configured differently.
My goal is to create a method of file distribution, that can finish successfully, even with
errors occuring during the distribution, and the whole process can succeed at times when
the other failed. Furthermore, we’ll be able to choose an arbitrary set of computers as the
target of the distribution by minimal configurations.
In this thesis I present a new method for distribution files, replacing the one currently
used, fixing its problems and improving its robustness and configurability. This new pro-
gram is a model-driven application, that uses P2P technologies, namely the Bittorrent
protocol to distribute files to multiple target machines. The distribution tasks can be
specified effortlessly. This thesis presents the required virtualisation, modelling and P2P
technologies’ background, then discuss the design phase, in which we formally define the
process of file distribution and create a modeling languange capable of representing our lab
and show the application’s structure. Then we document the more important steps of the
program’s implementation and its testing. We also analyze its performance, comparing it
to the currently used Chaincast method. Finally, we suggest some possible improvements
in the future for our application.