Zwerm-gebaseerde distributie van inhoud met behulp van het Gossip-protocol

Student:Gaétan Van Acker
Richting:Master of Science in de industriële wetenschappen: informatica
Abstract:Dagelijks draaien cinema’s tientallen films. Deze films zijn enkele honderden gigabytes groot en worden opgeslagen op een centrale opslag, die heel duur is. Aangezien de meeste projectoren over een aanzienlijke lokale opslag beschikken, is een betere aanpak dat alle projectoren gezamenlijk de films opslaan. Op deze manier zouden de projectoren zich in een cluster bevinden en films kunnen tussen de projectoren worden gerepliceerd. Door deze clusterreplicatie kan de nood aan een grote centrale opslag voor films worden verminderd, wat kostenbesparend is. Deze masterproef richt zich op het ontwikkelen van een zelfbeherend systeem, waarbij meerdere clusters met elkaar kunnen communiceren en repliceren. Hiervoor wordt er onderzoek verricht en gebruik gemaakt van Gossip-protocollen voor communicatie en zwermalgoritmen voor datareplicatie in een clusteromgeving. Allereerst wordt er onderzoek verricht naar verschillende clustertechnologieën, zoals Serf en Consul, en file sharing technologieën, zoals BitTorrent en IPFS. Daarnaast wordt er gebruik gemaakt van promise theory om ervoor te zorgen dat de replicatie op een gestructureerde en betrouwbare wijze wordt uitgevoerd. Aan de hand van dit systeem kunnen films gerepliceerd worden tussen bioscopen, zodat ze te allen tijde beschikbaar zijn, ook in geval van storing in een bioscoop. Om dit te realiseren wordt een bestaand prototype die de replicatie bewijst binnen één cluster uitgebreid. Deze uitbreiding gebruikt een architectuur die het Raft-consensusalgoritme toepast om de multiclustercommunicatie via een verkozen leider te laten verlopen. Daarnaast wordt er aandacht besteed aan het detecteren van mogelijke uitval van een of meerdere nodes, waarbij de replicatie zorgvuldig moet worden gecontroleerd en indien nodig opnieuw moet worden uitgevoerd. Het is essentieel dat deze implementatie een snelle opstarttijd (ongeveer 10 seconden) en replicatietijd (ongeveer 30 seconden) mogelijk maakt, terwijl het ook schaalbaar is voor zowel het aantal nodes als de hoeveelheid bestanden in het systeem.
Abstract (Eng):