Förderjahr 2020 / Project Call #15 / ProjektID: 5172 / Projekt: Resilionator
Routing: Nachrichtenfluss von Anfang bis Ende
Effiziente Routing-Algorithmen sind ein wichtiger Bestandteil der modernen Telekommunikation. Diese berechnen und legen fest, welche Wege für Nachrichtenübermittlungen genommen werden. Ein wichtiger Faktor hierbei ist, dass diese flexibel auf Ausfälle von Komponenten reagieren müssen um Nachrichten trotzdem erfolgreich an das Ziel zu übermitteln. Ein weiterer wichtiger Faktor sind auch Kosten wie z.B. die Distanz zwischen zwei Knotenpunkten. Hier sollte ein Routing-Algorithmus auch die kostengünstigste Strecke auswählen.
Daher war der nächste logische Schritt für uns die Implementierung von Kantengewichten (Kosten). Nun können zu jeder Kante im Netzwerk Kosten hinzugefügt werden. Diese können entweder über die grafische Benutzeroberfläche manuell hinzugefügt werden, oder gleich mit einem Graphen importiert werden. Zusätzlich unterstützt Resilionator nun gängige Formate zur Speicherung von Graphen wie GML und GraphML. Diese können sowohl importiert als auch exportiert werden.
Nach der Implementierung von Kantengewichten war es nun endlich soweit und wir konnten Resilionator nun um verschiedene Routing-Algorithmen erweitern. Ein bekannter Algorithmus ist der von “Dijkstra”, welcher die kürzeste Strecke zu einem Knotenpunkt berechnet.
Nach dem Auswählen des Algorithmus, kann der Benutzer den Anfangs- und Endpunkt des Routings bestimmen, oder anders ausgedrückt den Sender und Empfänger der Nachricht. Zusätzlich kann man Knotenpunkte ausschließen, diese werden dann in der Routenberechnung berücksichtigt.
Nachdem der Benutzer seine Eingabe bestätigt, wird die Route berechnet. In unserem Beispiel wurde der Knoten “b” als Anfangspunkt und der Knoten “k” als Endpunkt gewählt. Resilionator färbt die berechnete Strecke grün ein, exkludierte Knoten und Kanten rot und den aktiven Knoten, bei dem sich die zu übermittelnde Nachricht gerade befindet, gelb. Neben dem manuellen “durchsteppen” gibt es auch die Möglichkeit den Vorgang zu animieren.
Als unsere nächsten Schritte haben wir uns vorgenommen eine Schnittstelle zu schaffen, mit welcher Benutzer beliebige Routing-Algorithmen in Resilionator importieren können. Danach planen wir weiteres Feedback einzuholen, um alle Ecken und Kanten von Resilionator ausradieren zu können und ein rundes Erlebnis bieten zu können.
Wir sind schon sehr auf den weiteren Verlauf des Projektes gespannt!