DG Network

1. Preis DG Network ist mein Projekt für Schüler Experimentieren 2004. Alle Schüler Experimentieren / Jugend forscht-Teilnehmer des Regionalwettbewerbs in Hildesheim finden Sie auf der Homepage der Kreissparkasse Hildesheim
Mit DG Network habe ich bei Schüler Experimentieren im Regional und Landeswettbewerb einen 1. Preis und den Sonderpreis Softwaresystemtechnik gewonnen. Beim Landeswettbewerb Jugend forscht, zu dem ich weitergeschickt wurde, habe ich einen 2. Preis gewonnen.
Auf dieser Seite finden Sie die Beschreibung, die ich bei Jugend forscht abgegeben habe. Informationen und Download vom Programm finden Sie auf der Seite für 2005

Vollständige schriftliche Ausarbeitung: Download als PDF

Kurzfassung:
Um im Internet mit meinen Freunden chatten zu können, habe ich einen eigenen Chat programmiert. Er hat viele zusätzliche Funktionen, z.B. kann man Bilder per Drag'n'Drop oder über die Zwischenablage in den Chat einfügen. Das Bild wird dann automatisch komprimiert und an alle Chatpartner verschickt.
Bei diesem Chat-Netzwerk gibt es keinen Server, alle Benutzer verbinden sich direkt miteinander. Es verbindet sich nicht jeder mit jedem, sondern jeder Benutzer verbindet sich mit 2 bis 4 anderen. So entsteht im Ganzen ein Netz. Eins der Probleme in der Entwicklung war es nun, das sichere Übertragen von Paketen durch dieses Netz zu gewährleisten. Ein Paket muss meist über mehrere User umgeleitet werden, um zum Ziel zu gelangen. Damit das Paket sein Ziel findet, müssen sich die Programme untereinander absprechen und so genannte "Routing-Tabellen" austauschen. Über diese Tabellen kann ein Paket seinen Weg zum Ziel finden. Auf dieses System aufbauend habe ich den Chat programmiert. Die Chaträume sind "Gruppen", von denen es mehrere Typen gibt: Freie Gruppen sind der typische Chatraum. Jeder kann kommen und gehen. Der Raum ist auf einem festen Server eingerichtet, jedoch werden die Benutzerliste und die Chatpakete vom P2P-Netzwerk verwaltet. Der feste Server wird nur benötigt, um die Gruppe erstmals zu betreten. In geschlossene Gruppen kann nicht jeder einfach mit chatten: Die Benutzerliste wird hier von einem festen Server geladen und kann nicht erweitert werden. Status der Benutzer und die Chatpakete selbst werden auch hier vom Netzwerk verwaltet.
Der letzte Typ sind die dynamischen Gruppen. Diese Gruppen arbeiten ohne einen festen Server, daher ist eine "Einwahl" nur möglich wenn man bereits einen User kennt, der in dieser Gruppe ist. Solche Gruppen werden von DG Network bei bestimmten Aktionen automatisch erstellt, z.B. wenn man mit bestimmten Benutzern privat chatten möchte. Um den Status seiner Freunde auch zu sehen, wenn man nicht in der gleichen Gruppe chattet gibt es die Freundesliste. Dies ist keine Gruppe im eigentlichen Sinn da man mit der Freundesliste nicht chatten kann. Man kann nur einzelne Benutzer auswählen und zum privaten Chat einladen.