Boot many machines via BitTorrent(draft)

Email addresses: dogukan.celik@itu.edu.tr, celikd@itu.edu.tr IRC nick: dogukan github: github.com/dgkncelik debian-wiki: https://wiki.debian.org/DogukanCelik salsa: https://salsa.debian.org/dogukan-guest time zone: UTC +3

I am currently studying at Istanbul Technical University(ITU , Istanbul Teknik Universitesi) / TURKEY in major of Astronautic and Aerospace Engineering (3rd year). At the same time i am working at university's IT head office as part time with system administration team(4 day in a month , for almost 2 years). We are having mixed infrastructure that includes both Windows and Linux/GNU based services. With this experience i am able to install and manage Linux/gnu and windows infrastructure services such as Apache web, MySQL, PostgreSQL, dhcp, active directory and dns. In addition to that, programing languages also in my interest area. Java as may main programing language, i also have experience in php(and it's frameworks like code igniter, laravel). ?GitHub: github.com/dgkncelik, also contributing in IT office's organization: github.com/ITUBIDB. We are also having terminal services in our services. In laboratories -which are almost ~800 computer, ITU is pretty crowded ~25.000 enrolled student,- and administration office diskless computers booting Ubuntu image on network and users connects terminal services with RDP session. Which makes me experienced person about network booting infrastructure. My Linux/GNU experience started while i was in high school with Pardus -Turkish government supported Linux distribution-. After the day i install my first Linux distribution, i am trying to learn new things every day. It will be my first community experience on global scale if selected.

As mentioned in http://sl-lab.it/dokuwiki/lib/exe/fetch.php/tesi:tesi_bruschi.pdf having single source of booting is jam. However, including clients for distributing necessary files has significant effect on tftp server's network traffic load. Every client wants exactly the same files which distributing by server.So, server is sending same files (which are Linux kernel and initramfs for netboot) over and over again to different clients. BitTorrent is a protocol that aims to distribute files over network without centralize manner. If the client have any part of a resource,it can share it's part to other clients which this protocol helps to reduce server's load and faster boot time. But this project also have some drawbacks. Besides UDP's lack of encryption, device's firmware only supports TFTP for network booting. To workaround the problem, minimal Linux distribution can be use for middleware before downloading necessary files via BitTorrent(e.g. ?SliTaz, ?PuppyLinux). Other drawback is that for booting via TFTP client needs local network DHCP server to response with proper entry.

Simply the workflow will be;

This project can also use by LTSP(Linux Terminal Server Project). A plugin -which has GUI or TUI- can help Linux terminal server to deliver bootable media via BitTorrent protocol. Basically what plugin does will be present interface for terminal server. The interface simply implements that which operation system will be delivered to clients as middle-ware while network booting via BitTorrent to connect Linux terminal server.

This project aims to deliver a Debian package which help users network boot an operation system via BitTorrent protocol. Project also covers plugin which integrates that project with LTSP(Linux Terminal Server Project).

Especially institutions like universities, hospitals, companies have multiple devices using by workers, students etc. Converting all these device into centralize, diskless and network bootable form will help to manage devices with less effort and reduce end-user's device cost. Making this project a part of LTSP will make LTSP more efficient system. For system administrators who use Debian, this project help them to manage and configure their end-user devices more easily. In addition to that, a global Debian distribution service -a system which i named- can deliver Debian OS to any internet user with little help of their local DHCP server.

* Why Debian?: