-
System zur gesicherten Datenübertragung Die Erfindung betrifft ein
System zur gesicherten blockweisen Übertragung binär codierter Daten von einem Sender
zu einem Empfänger mit Fehlerkorrektur durch Rückübertragung von "Richtig"- und
Falsch"-Quittungen über einen Rückkanal vom Empfänger zum Sender und nochmaliger
Aussendung mindestens jedes durch eine Faisch-Quittung als gestört empfangen gemeldeten
Datenblocks aus einem senderseitig vorgesehenen Speicher, der mindestens die zuletzt
während einer vollen Schleifenlaufzeit (Hin- und Rück-Xanal) des Systems ausgesandte
Datenmenge aufnimmt, sowie mit senderseitiger Kennzeichnung der auszusendenden redundanten
Datenblocks durch zusätzliche Blockkennzeichen. Sie ist dddurch gekennzeichnet,
daß im Sender die zu Beginn einer Sendung gegebenenfalls nach einer Synchronisationsfolge
ausgesendeten Datenblöcke gezählt und solange mit dem gleichen Blockkennzeichen
"A" versehen werden, bis auf dem Rückkanal die erste Richtigquittung eintrifft,
daß diese der Schleifenlaufzeit entsprechende Zahl, L, im Sender
abgespeichert
wird, und daß anschließend jeweils L aufeinanderfolgende Blöcke mit einem zweiten
Kennzeichen "B" und die anschließenden L Blöcke mit einem dritten Kennzeichen "cn
versehen werden und dann zyklisch so weiter1 und daß der für die gesendeten Blöcke
vorgesehene Speicher mindestens L+1 Blöcke faßt, und daß im Empfänger zu Beginn
des Empfangs, gegebenenfalls nach erfolgter Synchronisation, die fehlerfrei empfangenen
Datenblöcke, die unmittelbar aufeinanderfolgend die gleiche Kennzeichnung "A" haben,
gezählt werden und die Zahl der bis zum Eintreffen des ersten fehlerfreien Blocks
mit einem anderen Kennzeichen gezählten Blöcke als Schleifenlaufzeit abgespeichert
wird, und daß im Empfänger dann fortlaufend geprüft wird, ob jeweils genau L aufeinanderfolgende
Blöcke das Kennzeichen "B", dann "C", dann wieder "A" usw. haben.
-
Um eine fehlerfreie, bzw. eine bestimmte Fehlerrate nicht über steigende
Übertragung von Daten von einem Sender zu einem Empfänger zu ermöglichen, ist es
üblich, eine bestimmte Zahl von Datenelementen (Bits) zu einem Block zusammenzufassen
und diesen mit Hilfe eines redundanten, fehlererkennenden Codes auf Übertragungsfehler
zu überwachen. Dies geschieht durch Anfügen von Redundanzbits, die mit den Inforuationsbits
zusammen ein sog. Codewort bzw. einen Block bilden. Wahlweise oder zusätzlich kann
empfangsseitig auch ein sog. Stordetektor
benützt werden, der ebenfalls
im der Lage iot, Fehler zu erkennen, insbesondere solche, die auf der Übertragungsstrecke
entstehen.
-
Der Empfänger überprüft mit Hilfe der Redundanzbits und/oder des Stördetektors
jeden empfangenen Block auf Fehler und gibt je nach Ergebnis eine "Richtig"- oder
eine "Falschquittung" über einen dafür vorgesehenen Rückkanal an den Senders Dieser
entscheidet anhand der empfangenen Quittung, ob die Uber tragung normal fortgesetzt
oder eine Wiederholung durchgeführt wird.
-
Ein übliches und häufig tenützte Datenübertragungssystem verwendet
das in der CCITT-Empfehlung V.41, Weißbuch Bd. VIII, beschriebene "Wechselspeicher-Verfahren".
Bei ihm bestehen die Blocks wahlweise aus 240, 48ß oder 960 Datenbits, denen vier
sog. Servicebits vorangesetzt und 16 Redundanzbits angehängt sind, so daß jeder
BlooR also aus 260, 500 oder 980 Bits besteht. Am Sender muß die Speicherung son
zum mindesten zwei ausgesehendeten Blocks vorgesehen werden, um die Wiederholung
eines Blocks bei Auftreten eines Fehlers im Empfänger zu ermöglichen.
-
Bei diesem Verfahren besteht eine Abhängigkeit zwischen der benützten
Blocklänge und der sOo Schleifenlaufzeit.
-
Das System kann immer nur einen gerade gesendeten Block wiederholen
und deshalb muß die Quittung für einen Block bereits bei Sendung des nächsten Blocks
im Sender vorliegen.
-
Das bedingt bei großen Entfernungen und daher langen Schleifenlaufzeiten
eine kleine Übertragungsrate. Ein Vorteil liegt dagegen in der leichten Identifizierung
der empfangenen Blöcke. Zum sicheren Erkennen und Einordnen eines empfangenen Blockes
sind drei verschiedene Kennzeichen vorgesehen: je eines für den aktuellen, eines
für den vorhergehenden und eines für den nachfolgenden Block, die durch drei verschiedene
Kombinationen der vier Servicebits verwirklicht werden.
-
Mit wachsenden Schleifenlaufzeiten und Übertragungsgeschwindigkeiten
würde dies jedoch immer größere Blocklängen erfordern, z.B. bis zu etwa 4000 bit
bei Satellitenübertragungen mit einer Geschwindigkeit bis zu 9,6 kbit/s.
-
Solche großen Blocklängen vermindern z.T. die effektive Übertragungsrate
beträchtlich, da die Wiederholrate ansteigt.
-
Es gibt vielmehr für jede Fehlertruktur auf dem Übertragungskanal
eine optimale Blocklänge, die mit wachsender Fehlerrate kleiner wird. Ein effektives
System sollte also die Blocklänge unabhängig von der Schleifenlaufzeit wählen können.
-
Es ist Aufgabe der Erfindung, ein Datenübertragungasystem zu schaffen,
das eine möglichst hohe effektive Übertragungsrate erreicht und das voll kompatibel
ist mit dem oben angedeuteten V.41-System, d.h. ohne technische Änderungen mit diesem
System als Gegenstation korrespondieren kann.
-
Diese Aufgabe wird durch die eingangs definierte Erfindung und die
in den Unteransprüchen angegebenen Weiterbildungen gelöst.
-
Die Vorteile der Erfindung sind u.a folgende: 1. Von den zur Verfügung
stehenden Blocklängen, in der V.41 z.B. 260, 500 und 980 bit, kann unabhängig von
der Schleifenlaufzeit entsprechend der Fehlerstruktur die optimale gewählt werden.
Das Optimum ergibt sich aus der Tatsache, daß mit steigender Blocklänge die vom
Code bestimmte Informationsrate zunimmt und die durch die Wiederholungen verursachte
Rate abnimmt.
-
2. Das System ist mit dem V.41-System kompatibel. Es können also Übertragungen
mit V.41-Stationen auf der Gegenseite durchgeführt werden. Das System adaptiert
sich automatisch an das V.41-System, da dies als Spezialfall enthalten ist.
-
3. Die von der V.41 zur Verfügung gestellten Service-Bitkoabinationen
können weiterhin benützt werden (wahlweise), 4. Es werden maximal nur so viele Blöcke
wiederholt, als während der Schleifenlaufzeit gesendet werden.
-
5. Die Wiederholmenge wird automatisch bei Beginn Jeder Übertragung
bestimmt und ist Sender und Empfänger bekannt.
-
In einer Weiterbildung wird die Wiederholmenge nach einer bestimmten
Zahl von erfolglosen Wiederholungen neu bestimmt und gegebenenfalls korrigiert.
-
6. Eine andere Weiterbildung der Erfindung gestattet bei Erhaltung
der vollen Kompatibilität mit der V.41, eine weitere Erhöhung der Effektivität dadurch,
daß nur der gestörte Block und nicht die der gesamten Laufzeit entsprechende Anzahl
wiederholt wird (selektives Wiederholsystem).
-
Im folgenden soll die Erfindung im einzelnen naher erläutert werden.
Die Start-Prozedur, die zur Bit-, Zeichen- und Bltcksynchronisation dient,1 erfolgt
wie in V.41 beschrieben.
-
Zu Beginn wird der Synchronisations-Präfix (eine spezielle Servicebitkombination)
gesendet, gefolgt vom sog. Synchronisations-Füller und dem Synchronisationsmuster.
dieses Muster darf natürlich im Synchronisations-FUller nicht enthalten sein.) Dem
Synchronisationsmuster folgen die Datenblöcke, bestehend aus vier Service-Bits,
240, 48o oder 960 Infor=ationsbits
und 16 Redundanzbits. Abweichend
von V.4 erhalt nicht nur der erste Block unter Verwendung des Service-Bits die Blockkennzeichnung
"At', sondern die L Blockes die bis zum vollständigen Empfang der ersten Richtigquittung
gesendet werden. Die Zahl L stellt die Wiederholmenge (äquivalent der Schleifenlaufzeit)
dar. Es folgen nun jeweils gleich viele Blöcke mit Kennzeichnung "B", "Ctg und wieder
"A" usw.
-
Nach der Empfehlung V.41 kann der erste Informatins-Block anstelle
von "A" auch eine Service-Bit-Kombination ent sprechend der "Sart-of-Message"-Kombinationen
(SOM) enthalten, die eine Aussage über den verwendeten Code macht.
-
Die erste Sequenz besteht also aus "SOM" und L mal "A".
-
In diesem Fall kommt die erste Richtigquittung während der Sendung
des ZL-1)-ten Blockes und es wird noch ein Block mit "A" gesendet.
-
Der Empfänger gibt nach Empfang und Erkennen des Synchronisationsmusters
eine Richtigquittung auf den Rückkanal' prüft alle einlaufenden Informations-Blöcke
auf Fehlerfreiheit und gibt für jeden Block eine Quittung ab. Gleichzeitig zählt
er die Blöcke mit "A" und kennt damit ebenfalls die der Laufzeit entsprechende Zahl
L.
-
Nach Empfang eines fehlerhaften Blockes gibt der Empfänger Falschquittungen
ab. Der Sender wiederholt nach Empfang einer Falschquittung die letzten L+1 Blöcke
einshcließlich des während des Empfangs der Falschquittung gesendeten und fährt
nach
Empfang einer Richtigquittung, die genau nach der Laufzeit
eintrifft, mit der Übertragung weiterer Blöcke fort. Eine neuerliche Falschquittung
führt zu einer weiteren Wiederholung usf. Bei einer Wiederholung wird der Rückkanal
während der ersten L Blöck@ nicht beachtet.
-
Der Empfänger verwirft den fehlerhaft empfangenen Block sowie die
folgenden L Blöcke und gibt entsprechende Quittungen ab.
-
Die Blöcke werden nur auf Fehlerfreiheit geprüft, während die Service-Dits
nicht beachtet werden. Die weiteren Blöcke werden geprüft und bei Fehlerfreiheit
auch die Kennzeichnungen abgefragt. Das Kennzeichen t"A", "B" oder "C") des ersten
wieder geprüften Blockes muß dasselbe sein wie das in dem fehlerhaften Block erwartete.
Ist dies der Fall, so wird eine Richtigquittung gegeben. Da im Empfänger die Zahl
L gespeichert ist, kann das Kennzeichen jedes eintreffenden Blockes vorhergesagt
und mit dem tatsächlich empfangenen verglichen werden. Ist der empfangene Block
jedoch fehlerhaft, so darf sein Kennzeichen nicht beachtet werden, da es fehlerhaft
sein kann.
-
Außer den durch Redundanz-Codes überwachten Nachrichtenverfälschungen
können nun auch Quittungsverfälschungen auftreten. Der häufigere Fall ist bei der
Quittungsauswertung nach der Empfehlung V.41 das Vortäuschen einer Falschquittung,
Dabei sind Falschquittungen durch Rückübertragung von binärer "1" und Richtigquittungen
durch Rückübertragung von binärer "O" gekennzeichnet, Tritt eine Falschquittung
bei
der anfänglichen Laufzeitmessung auf, dann wird dem System eine größere Laufzeit
vorgetäuscht, auf die es sich einstellt. Dies ist jedoch nicht weiter schädlichç
da Sender und Empfänger von derselben Laufzeit ausgehen; es werden nur so viele
Blöcke zuviel wiederholt, als die Laufzeit zu groß gemessen wurde, was wiederum
davon abhängt, wie viele Falschquittungen aufeinanderfolgend vorgetäuscht wurden.
-
Wird während der laufenden Übertragung eine Falschquittung vorgetäuscht,
so führt dies für den Empfanger zu einer unerwarteten Wiederholung. Diese erkennt
er leicht an Kennzeichen der Blöcke, da z.B. anstatt des erwarteten "B" plötzlich
L+s "A" auftaucht. Der Empfänger verwirft die / unnötig wiederholten Blöcke und
quittiert sie alle als "richtig".
-
Der unangenehmere Fall iet die Verfälschung eine Falschquittung in
eine Richtigquittung. Geschieht dies warend der Laufzeitmessung, so wird L zu klein
bestimmt. Dies führt bei der ersten Wiederholung zu einem Alarm5 da der empfänger
zum erwarteten Zeitpunkt nicht den richtigen B k erhält.
-
Aufgrund der in Wirklichkeit größeren Laufzeit trifft dieser erst
später ein. Das gleich gilt, wenn der Sender wegen dieser Art der Quittungsverfälschung
eine angeforderte Wiederholung nicht ausführt. Der Empfänger bemerkt dies und geht
in den Alarmzustand über. Diese Art der Quittungsverfälschung ist jedoch aufgrund
der vorgesehenen Quittungs
auswertung hinreichend unwahrscheinlich.
Die Hiufigkeit liegt im allgemeinen unterhalb der geforderten Restfehlerhäufigkeit.
-
Als weitere Störungsquelle können Laufzeit schwankungen im System
auftreten. Die bei Übertragungsbeginn gemessene Laufzeit kann im Lauf der Übertragung
sowohl größer als auch kleiner werden. Eine kleiner werdende Laufzeit ist für das
System unkritisch. Sie wirkt sich wie eine unnötige Wiederholung aus und wird auch
so behandelt. Die infolge der kleineren Laufzeit zu früh eintreffenden Blöcke verwirft
der Empfänger. Eine größer werdende Laufzeit wirkt sich wie eine nicht ausgeführte
Wiederholung aus und führt zu einem Alarm.
-
Die Schwierigkeiten bei Laufzeit schwankungen können auf verschiedene
Weise überwunden werden. So kann man vorsehen, daß bei zu gron gewordener Laufzeit
der Empfänger nicht in den Alarmzustand geht, sondern daß nach einer bestimmten
Zahl von erfolglosen Wiederholungen, z.B. 2, Sender und Empfänger die Zahl L der
zu zählenden Blöcke mit gleichen Kennzeichen nach und nach erhöhen. Dies wird solange
durchgeführt, bis die Wiederholung entweder erfolgreich ist oder bis ein bestimmtes,
durch die Speicherkapazität gegebene. L erreicht ist, welches den Alarmzustand zur
Folge hat. Bei erfolg-,
reicher Wiederholung arbeitet das System
dann mit der neuen Laufzeit weiter.
-
Bei bereits zu erwartenden Laufseitschwankungens z0B0 über Satelliten-Strecken,
kann die Zahl L über die gemessene Laufzeit hinaus bereits zu Beginn so weit erhöht
werden, daß sie im Verlauf der Übertragung niemals übertroffen wird.
-
Eine bereits in der Empfehlung V.41 enthaltene Methode besteht darin,
nach mehreren erfolglosen Wiederholungen (z.B. 4 - 8) eine Resynchronisation durchzuführen0
Dabei erfolgt automatisch gleichzeitig eine neue Laufzeitmessung und erst nach mehreren
erfolglosen Synchronisationsversuchen wird Alarm gegeben.
-
Das soweit beschriebene System gemäß der Erfindung erlaubt gemäß weiterer
Erfindung eine weitere Steigerung der effektiven Übertragungsrate, die nachfolgend
beschrieben wird. Der Unterschied liegt in der Art der Wiederholprozedur. Dazu benötigt
der Empfänger eine Einrichtung zur Signalverzogerung um eine oder mehrere Schleifenlaufzeiten.
Vorzugsweise verwendet man einen Speicher, der n e L Blöcke faßt, wobei n von der
Zahl der Wiederholungen abhängt, die maximal nach dem neuen Verfahren durchgeführt
werden sollen bevor Alarm gegeben wird. Im folgenden wird das Verfahren für Einfachwiederholunen
(n = i) beschrieben.
-
Der Empfänger gibt die empfangenen Blöcke nicht aus1 sondern zuerst
in einen Speicher1 der zumindest L Blöcke faßt.(Der (L+1)-te Block ist im Decoder
gespeichert, der die Fehlerüberwachung durchführt.) Erst aus diesem Speicher werden
die Daten mit einer Gesamtverzögerung von L Blöcken ausgegeben, Nach Empfang eines
fehlerhaften Blockes gibt der Empfänger nur für diesen Block, also während des Empfangs
des nächsten, eine Falschquittung ab. Nur dieser Block wird verworfen, nicht jedoch
die nachfolgenden, wenn sie fehlerfrei sind. Der Sender wiederholt bei Empfang einer
Falschquittung nur den gestörten Block, d.h. also nur den ersten Block der gesamten
Laufzeit menge. (Die Art der Quittungsauswertung im Sender nach der Empfehlung V.41
bringt es allerdings mit sich, daß auch noch der nachfolgende Block (überflüssigerweise)
wiederholt werden kann bzw. die Wiederholung einen Block zu früh beginnt,) Der Empfänger
prüft, ob der wiederholte Block fehlerfrei ist und die richtige Kennzeichnung hat.
Den Zeitpunkt, zu dem er eintreffen muß, kennt er. Stimmt beides, so wird dieser
block direkt unter Umgehung des Speichers ausgegeben. Der Zeitpunkt ist genau richtig:
bei Fehlerfreiheit beim erstmaligen Empfang dieses Blockes wäre er zum selben Zeitpunkt
aus dem Speicher ausgegeben worden.
-
Ist der wiederholte Blockijedoch wieder gestört, so muß das System
den Modus umschalten, da die nachfolgend eintreffenden
Blöcke nicht
mehr abgespeichert werden können. Der Empfänger verwirft also alle L nachfolgenden
Blöcke ebenfalls und quittiert sie alle mit Falschquittungen. Der Sender sendet
daraufhin solange alle im Wiederholspeicher enthaltenen L Blöcke, bis diese als
richtig quittiert sind. Anschließend wird mit der Übertragung normal fortgefahren.
-
Im folgenden soll die Erfindung nochmals anhand von drei schematischen
Blockschaltbildern und einigen Funktionsabläufen zusammenfassend erläutert werden.
-
Fig. 1 zeigt die Senderseite. Hier ist mit 1 die Datenquelle bezeichnet,
aus der die binär-codierten Daten (z.B. Fernschreibzeicheh od. dgl.) blockweise
abgerufen und über einen Schalter 2 dem Coder 3 zugeführt werden, in welchem jedem
Block die erwähnten Service-Bits und die zur Fehlererkennung nötigen Redundanz-Bits
in bekannter Weise zugeführt werden.
-
Entweder wie gezeichnet oder erst nach Ergänzung durch Service-Bits
und Redundanz-Bits werden die Blocks dem Wiederholspeicher 4 zugeführt, der eine
solche Kapazität hat, dan die während einer Schleifenlaufzeit (Hin- und Rückweg
zwischen Sender und Empfänger einschließlich der Verzögerungszeiten) ausgesandten
Blocks darin gespeichert werden.
-
Vom Coder 3 gelangen die Daten auf den llauptkanal 5 zur Übertragung
auf den Empfänger. Über den Rückkanal 6 werden die Quittungssignale vom Empfänger
empfangen und einer Sendersteuerung 7 zugeführt. Diese bewirkt einerseits die Umschaltung
des Schalters 2 von seiner Normalstellung N in die Wiederholstellung W bei Empfang
einer Falschquittung und andererseits die Auswahl der zu wiederholenden Datenblocks,
wie durch die Wirkpfeile angedeutet.
-
Fig. 2 zeigt die Empfängerseite für ein System, bei dem nach Empfang
eines gestörten Blocks alle danach ausgesandten Blocks aus dem Wiederholspeicher
wiederholt werden.
-
Die über den Datenkanal 5 eintreffenden werden im Decoder 8 auf ihre
Service-Bits und auf Fehlerfreiheit untersucht und das Ergebnis der Empfängersteuerung
9 zugeführt. Diese sendet Richtig- und Falschquittungen über den Rückkanal 6 zum
Sender. Bei Ausgabe einer Falschquittung wird gleichzeitig die Ausgabe der Datenblocks
an das Ausgabegerät 10, z.B. einen Fernschreiber od. dgl. unterbrochen, bis der
wiederholte Block vom Sender eintrifft.
-
Es sei darauf hingewiesen, daß die Zähler zum Abzählen der während
einer Schleifenlaufzeit ausgesandten Datenblöcke und die damit zusammenhängenden
Steuerungsmittel der Übersicht halber in der Fig. 1 und 2 und der folgenden Fig.
3 nicht mit dargestellt sind.
-
Fig. 3 zeigt das Schema der Empfängerseite für ein System mit "selektiver"
Wiederholung, bei dem also nur der gestörte Block von der Sendeseite wiederholt
auegesandt wird und die weitere normale Sendung dann unmittelbar darauf fortgesetzt
wird. Die Ausgabe aus dem Decoder 8 an das Ausgabegerät 10 geschieht hier nicht
unmittelbar, sondern über eine Verzögerungseinrichtung 11, insbesondere einen Speicher,
der die Speicherung von soviel Blöcken gestattet wie einer Schleifenlaufzeit entspricht,
und einen Schalter 12. Bei Empfang eines gestörten Blocks wird durch die Empfängersteuerung
9 mit einer entsprechenden Zeitverzögerung die Ausgabe dieses Blocks durch Umschalten
des Schalters 12 aus seiner Normalstellung N in die Stellung W verhindert und die
Aussendung des zu dieser Zeit gerade eintreffenden wiederholten Blocks ohne Verzögerung
bewirkt.
-
Die nächsten Blocks können dann, soweit sie nicht ebenfalls gestört
sind, wieder aus der Verzögerungseinrichtung ausgegeben werden. Dadurch ergibt sich
für jede Störung nur eine Unterbrechung der Ausgabe von theoretisch einem Block.
-
In Wirklichkeit wird man zu Umschaltzwecken und dgl. die normale Ausgabe
um zwei Blöcke verzögern müssen.
-
Die Fig. 4 und 5 zeigen Ablaufdiagramme für die verschiedenen auftretenden
Fälle nach den beiden beschriebenen Systemen, die aus sich selbst verständlich sind.