Algorithmen für optimierte Datenübertragung

Aus wiki.telexforum.de
Zur Navigation springen Zur Suche springen

Einleitung

Mehr und mehr Systeme werden aufgesetzt, um fertige Texte an Fernschreiber zu übermitteln.

Beispiele sind der Wetterdienst oder "Baudot-Art".

Serverseitig liegen die Daten im Regelfall zum Zeitpunkt der Anforderung durch den Teilnehmer komplett vor, wie sollten die Daten nun möglichst effizient an den Empfänger übermittelt werden, ohne dass ein Pufferüberlauf beim Empfänger stattfindet? Das "Original" i-Telex kann im Ascii-Modus nur etwa 1500 Zeichen speichern. Im Binär-Modus noch etwas weniger, es dürfen auch nicht mehr als 50 Zeichen pro Telegramm übertragen werden.

Aus der Erfahrung und der Kenntnis der i-telex Original-Software ist folgendes Vorgehen zu empfehlen. Ziel des Verfahrens ist es, einen gleichbleibenden "Vorrat" an Daten auf der Empfängerseite im Speicher zu halten, damit dieser ohne Unterbrechung drucken kann.

Verfahren

Die folgenden Schritte sind numeriert, um "Marken" verwenden zu können. Zu Beginn der Datenverbindung sind alle Zähler auf 0 zu setzen.

Schritt 1: In Paketen von maximal 50 Baudot-Codes (Zeichen) den Beginn der Druckdaten zusenden. Empfohlen wird ein "Startpaket" von 40 Zeichen.

Schritt 2: Die Anzahl der gesendeten Zeichen in N_gesendet aufsummieren.

Schritt 3: 1,5 Sekunden warten

Schritt 4: Den Zähler N_gedruckt um 10 Zeichen erhöhen, aber nicht über N_gesendet hinaus.

Schritt 5: Wenn ein Acknowledge-Paket empfangen wurde, dann den Zähler N_gedruckt entsprechend des empfangenen Wertes korrigieren.

Schritt 6: Entsprechend der Differenz von N_gedruckt zu N_gesendet den Füllstand des empfangsseitigen Puffers errechnen

Schritt 7: Entsprechend des Füllstands wieder einen Datenblock senden. Empfohlen wird bei einem Füllstand von über 50 Zeichen nichts und spätestens wieder bei 10 Zeichen Füllstand einen Block von 15 bis 40 Zeichen zu senden.

Schritt 8: Die Anzahl der gesendeten Zeichen in N_gesendet aufsummieren.

Schritt 9: weiter mit Schritt 3, bis alle Zeichen gesendet worden sind.

Hintergrund

Die Kombination der Schritte 3 und 4 simuliert das Abarbeiten der Zeichen durch den empfangsseitigen Fernschreiber, dieser ist mit 50 Baud Arbeitsgeschwindigkeit angenommen (1,5 Sekunden * 50 Bit/Sekunde / 7,5 Bit/Zeichen = 10 Zeichen). Der Schritt 5 passt diesen "geschätzte" Abarbeitungsgrad an die Realität an, sofern die empfangsseitige Station Acknowledge-Pakete sendet. Die i-Telex-Stationen senden alle 3,5 Sekunden ein Acknowledge-Paket.