DE2415890A1 - Verfahren zum uebertragen von daten und anordnung zur durchfuehrung des verfahrens - Google Patents

Verfahren zum uebertragen von daten und anordnung zur durchfuehrung des verfahrens

Info

Publication number
DE2415890A1
DE2415890A1 DE19742415890 DE2415890A DE2415890A1 DE 2415890 A1 DE2415890 A1 DE 2415890A1 DE 19742415890 DE19742415890 DE 19742415890 DE 2415890 A DE2415890 A DE 2415890A DE 2415890 A1 DE2415890 A1 DE 2415890A1
Authority
DE
Germany
Prior art keywords
block
data
message
transmission
station
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19742415890
Other languages
English (en)
Other versions
DE2415890C2 (de
Inventor
Hatcher Edward Chalkley
Larry Dean Scott
John Roger Tooley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE2415890A1 publication Critical patent/DE2415890A1/de
Application granted granted Critical
Publication of DE2415890C2 publication Critical patent/DE2415890C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Detection And Correction Of Errors (AREA)

Description

TEXAS INSTRUMENTS INCORPORATED
13500 North Central Expressway
Dallas, Texas, V.St.A.
Verfahren zum Übertragen von Daten und Anordnung zur Durchführung des Verfahrens
Die Erfindung bezieht sich auf ein Verfahren zur Übertragung von Daten und eine Anordnung zur Durchführung des Verfahrens zum synchronen,simultanen Übertragen mehrfacher Blöcke binärer Daten in beiden Richtungen.
Zum Übertragen mehrfacher Blöcke sind bisher verschiedene Anordnungen verwendet worden. Bei diesen Anordnungen wird eine feste Anzahl von Blöcken übertragen, ehe eine Antwort übertragen wird. Bei einigen Anordnungen erlaubt das Protokoll beispielsweise die Übertragung von zwei oder drei Blöcken, ehe eine Antwort empfangen werden muß. In weiteren Anordnungen wurden Mehrfachblöcke vor einer Antwort übertragen. Wenn in einem Block ein Fehler auftrat mußten bei . diesen Anordnungen dieser Block und alle nach der letzten Antwort übertragenen nachfolgenden Blöcke neu übertragen werden, ob sie nun fehlerhaft v/aren oder nicht.
Mit Hilfe der Erfindung soll eine Übertragungsanordnung geschaffen werden, bei der Datenübertragungsabschnitte
409841/0845
mit langen Laufverzögerungen eine erhöhte Wirksamkeit aufweisen. Ferner soll mit Hilfe der Erfindung eine Übertragungsanordnung geschaffen werden, die die Wirksamkeit von Datenübertragungsabschnitten mit langen Verarbeitungszeiten ah der Sendestation oder an der Empfangsstation erhöht.Ferner soll eine mit.Mehrfachblöcken binärer Daten im synchronen Duplexbetrieb arbeitende Übertragungsprotokollanordnung geschaffen werdenj bei der ein empfangener Fehler in einem Datenblock keine erneute Übertragung von Blöcken mit Ausnahme des den Fehler enthaltenden Blocks erfordert.
Gemäß der Erfindung wird ein kontinuierlicher Fluß von Daten und Antworten in beiden Richtungen aufrecht erhalten, und der Speicher des Übertragungsabschnitts wird gefüllt gehalten. Die Übertragungsprotokollanordnung erlaubt die Übertragung so vieler Blöcke, wie Puffer in der Anordnung vorhanden sind. Ein Merkmal der Erfindung besteht darin, daß eine beliebige Anzahl von Blöcken vor einer Antwort ermöglicht wird, während nur die Neuübertragung fehlerhafter Datenblöcke erforderlich ist. Dies wird durch Verwendung von Blockidentifizierungs-Codegruppen Erreicht, die unmittelbar vor jedem Block übertragen werden. Jeder übertragene Datenblöck wird an der Empfangsstation durch Anwendung einer zyklischen Redundanzprüfung oder einer Querprüfung auf das Vorhandensein von Fehlern überprüft. · Wenn die Redundanzprüfung einen Fehler ergibt, sendet die empfangende Station eine Steuernachricht aus, die die sendende Station veranlaßt, nur den identifizierten Datenblock, der den Fehler enthält, zu übertragen, wenn die sendende Station für diese Aufgabe verfügbar wird.
409841/08 45
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein Blockschaltbild der im synchronen Duplexbetrieb mit Mehrfachblöcken binärer Daten arbeitenden Datenübertragungsanordnung nach der Erfindung,
Fig.2 ein Blockschaltbild jeder der Sender/Empfänger-Stationen 10 und 11,
Fig.3 ein Blockschaltbild des Computers,dör in den Sender/ Empfänger-Stationen 10 und 11 verwendet werden kann,
Fig.4 ein Blockschaltbild der Sende/Empfangs-Einheit, die in den Sender/Empfänger-Stationen 10 und 11 verwendet werden kann,
Fig.5 und 6 die Teilblockschaltbilder der Datenverdichtungs- und Computerkopplungseinheit 20 in der Sende/Empfangs-Einheit 15,
Fig.7 ein Blockschaltbild des Senderteils des Senders und Empfängers 21 in der Sende/Empfangs-Einheit 25,
Fig.8A und 8B ein Blockschaltbild des Empfängerteils
des Senders und Empfängers 21 der Sende/Empfangseinheit 15,
Fig.9A ein Blockschaltbild einer im Sender verwendeten Verknüpfungsschaltung zur Durchführung einer
zyklischen Redundanzprüfung,
Fig.9Bein Blockschaltbild einer im Empfängerteil des
Senders und Empfängers verwendeten Verknüpfungsschaltung zur Durchführung der zyklischen Redundanzprüfung ,
409841/0845
Fig.10 ein Blockschaltbild der Steuersoftware 13, die zum Simulieren einer Hardware-Steuereinheit für die Sender/Empfänger-Station im Zusammenhang mit dem Computer 12 verwendet wird,
Fig.11 ein Blockschaltbild der aktiven Warteschlange der Blockmanagementinformation,
Fig.12 ein Blockschaltbild eines Beispiels der Warteschlange und der Übertragungskette der Blockmanagementinformation,
Fig.13 ein Blockschaltbild der Warteschlangenverkettung vor einer Halt-Abhandlung und
Fig.14 ein Blockschaltbild der WarteSchlangenverkettung nach Beendigung der Halt-Abhandlung.
Die in Fig.1 dargestellte, im synchronen Duplexbetrieb mit Mehrfachblöcken binärer Daten arbeitende Übertragungsprotokollanordnung macht von auf binärer Basis im synchronen Duplexbetrieb arbeitenden Übertragungsvorgängen Gebrauch, die für eine synchrone Übertragung binär codierter Daten über Vollduplexleiter 22 sorgt. Es sind zwei Sender/Empfänger-Stationen 10 und 11 vorgesehen. Die Übertragungsanordnung erweitert die Übertragungsmöglichkeiten derzeitiger und zukünftiger Fernverarbeitungseinrichtungen durch ihre Fähigkeit, unter Anwendung einer Anzahl von Codegruppen sowohl HaIbduplex-als auch Vollduplexübertragungen zu unterhalten. Eine Transparenzeigenschaft erlaubt die Übertragung von Steuerzeichen in verschiedenen Formen von Rohdaten innerhalb des normalen Nachrichtenformats ohne jede zugehörige Steuerung oder graphische Bedeutung. Die im synchronen Duplexbetrieb arbeitende Anordnung paßt sich auch an einen
409841/0845
breiten Bereich synchroner Einrichtungen an, die mit mittlerer oder hoher Geschwindigkeit arbeiten.
DLe binären Daten werden in der Übertragungsanordnung als eine serielle Folge binärer Ziffern übertragen. Eine synchrone Übertragung bedeutet bei der hier beschriebenen Anordnung, daß die auf einem Übertragungskanal aktive Empfangsstation durch Erkennung des speäellen Bitmusters, das sogenannte Synchronisierungsmuster, zum Beginn jeder Übertragung im Gleichlauf mit der Sendenden Station arbeitet.
Die Datenübertragungsverbindung 22 besteht aus den Übertragungsleitungen, aus Modems und anderen Übertragungseinrichtungen, die bei der Vollduplex-Informationsübertragung zwischen den zwei Stationen 10 und 11 verwendet werden. Vollduplexübertragungen erlauben die gleichzeitige Übertragung von Daten zwischen den Stationen 10 und 11. Die Datenübertragungsverbindungen 22 können beispielsweise von öffentlichen Nachrichtenverkehrsträgern zur Verfügung gestellte Leitungen sein. Die spezielle Datensatzeinrichtung, die an jeder Kanalendstelle oder Kanalendstation verwendet wird, wird von der Art des Übertragungskanals und von der Betriebsgeschwindigkeit der an jeder Station angebrachten Endpunkteinrichtung bestimmt. Die Datenübertragungsanordnung ist beispielsweise für einen Einsatz in qualitativ hochwertigen Fernsprechkanälen und in Breitbandkänälen gedacht.
Alle Übertragungen werden als Folge binär codierter Signale über die Leitung übertragen. Eine Steuerung der Datenübertragungsverbindung 22 wird durch Übertragung und Erkennung spezieller Leitungssteuerzeichen bewerkstelligir.Diese Steuerzeichen sind als Datenverbindungs-Steuerzeichen bekannt,
40 9841/0845
Die Hauptfunktion der Datenübertragungsanordnung besteht darin, eine ordnungsgemäße Übertragung von Daten von einer Stelle zu einer anderen unter Verwendung von Übertragungseinrichtungen zu bewirken.
Die Datenübertragungseinrichtung ist beispielsweise für zwei spezielle Übertragungscodegruppen geeignet. Jede .dieser Codegruppen enthält graphische Zeichen( numerische, alphabetische und spezielle Zeichen), Funktionszeichen (beispielsweise HT für Horizontaltabellierung, DEL für Auslassung) sowie Datenverbindungs-Steuerzeichen (beispielsweise STX für Textstart). Jede Codegruppe hat unterschiedliche Kapazitäten für die gesamten graphischen und funktioneilen Zuweisungen. Diese Kapazitäten drücken die Flexibilität der zwei Codes EBCDIC (erweiterter 8-Bit-BCD-Code) und USASCII (USA-Standardcode für den Informationsaustausch) aus. Wenn eine dieser Codegruppen im Transparenzbetrieb angewendet wird, wird die FlexitäLität der Fernübertragungsanordnung weiter erhöht, da alle möglichen Bitanordnungen (nur Daten) wie innerhalb eines transparenten Textes behandelt werden. Bei dieser Betriebsart unterliegt die verwendete Codegruppe keinerlei Zuweisungsbeschränkungen. Somit steht auch ein Paritätsbit als Datenbit zur Verfügung, wenn im transparenten USASCII-Code codierte Daten ausgesendet werden. Diese zusätzliche Fähigkeit der Datenübertragungsanordnung bedeutet, daß innerhalb des Standard-Nachrichtenformats jede Art von codierter Information bei Anwendung des Transparenzbetriebs behandelt v/erden kann. Die Anordnung kann auch an die Behandlung zusätzlicher Codegruppen angepaßt werden.
Nach der Erfindung ist die hier zu beschreibende Datenübertragungsanordnung so ausgebildet, daß die Duplex-Datenübertragung mit maximaler Wirksamkeit verwirklicht wird. Dies wird in erster Linie dadurch erreicht, daß die
409841/0845
Fehlerabhandlung so optimiert wird, daß eine unterbrechungsfreie Datenübertragung erzielt wird, und daß keine Duplizierung gültiger Daten im Falle eines Fehlers erfolgt. Die Anordnung kann als Hardware-Ausführung oder als eine kombinierte Hardware/Software-Ausführung verwirklicht werden.
In Fig.2 ist eine kombinierte Hardware/Software-Ausführung der Sender-Empfänger-Stationen 10 und 11 dargestellt. Bei dieser Ausführungsform der Erfindung enthält jede der Stationen 10 und 11 einen Computer 12 mit einer fest verdrahteten oder speicherprogjsammierten Software 13, einen Speicherkanal 14, eine Sende/Empfangseinheit 15, eine Leitungsankopplungs-und /pder Modem-Einheit 16 und eine zu weiteren ähnlichen Stationen 10 oder 11 führende Datenübertragungsverbindung 22. Jede Station 10 und 11 kann Steuercodegruppen und Daten aussenden und empfangen, wie unten noch genauer erläutert wird.
Nach Fig.3 ist der Computer 12 ein MehEzweckcomputer, wie der von der Firma Texas Instruments Incorporated hergestellte und vertriebene Computer 980A; er enthält eine Zentraleinheit 17 und eine Speichereinheit 18. Eine in den Computer eingebaute Direktadressierungseinheit 19 ermöglicht eine direkte Speicheradressierung über den Speicherkanal 14, so daß die Abspeicherung von Daten unter der Steuerung durch die Sende/Empfangs-Einheit 15 ermöglicht wird.Der Computer 12 enthält auch eine fest verdrahtete oder gespeicherte Steuer-Software, die in dem hier beschriebenen Ausführungsbeispiel zum größten Teil den Betrieb der Übertragungsanordnung so steuert, daß die oben erwähnte Optimierung der Fehlerabhandlung erzielt wird.
409841/0845
Die hier beschriebene Datenübertragungsanordnung kann in vorhandenen, im Handel erhältlichen Anordnungen,beispielsweise in der Anordnung IBM 2701 oder in der Anordnung von Bolt, Berenek und Newman, Boston, Massachusetts, verwirklicht werden, indem die entsprechende Software .hinzugefügt wird, die unten noch im einzelnen genauer erläutert wird.
Nach Fig.4 enthält die Sende/Empfangs-Einheit 15 eine Datenverdichtungs- und Computerankopplungs-Einheit 20 sowie ein Sender/Empfänger-Gerät 21. Die Computerankopplungseinheit 20 ist mit dem Computerspeicherkanal 14 verbunden, und das Sender/Empfänger-Gerät ist mit der Leitungsankopplungs-und/oder Modem-Einheit 16 verbunden.
Die Datenverdichtungs- und Computerankopplungs-Einheit paßt die Eigenschaften des Computers 12 an die Eigenschaffen des Sender/Empfänger-Geräts 21 an. Die Datenverdichtungs- und Computerankopplungs-Einheit 20 empfängt, bestätigt und speichert im Computerspeicher jedes Statuswort, das vom Sender/Empfänger-Gerät 21 kommt. Die Einheit 20 führt das Empfangen, Erkennen und Handeln auch unter der Steuerung von Befehlen aus dem Computer 12 durch. Jeder Befehl wird beispielsweise in Form von 16-Bit-Wörtern gegeben, die die Einheit 20 anweisen, eine oder mehrere der folgenden Aufgaben auszuführen: Die Übertragung eines Datenblocks vom Sender/ Empfänger-Gerät 21 zur Speichereinheit 18 durch Laden jedes Worts über den Speicherkanal 14, durch Bestätigen jedes geladenen Worts und durch Speichern des Worts" in einem bestimmten Speicherplatz in der Speichereinheit 18; die Übertragung von Steuerwörtern aus dem Computer zum Sender/Empfänger-Gerät 21 durch Holen jedes Worts
409841/0845
aus der Speichereinheit 18, durch Laden dieses Worts und durch die Feststellung, daß das Sender/Empfänger-Gerät den Empfang jedes Worts bestätigt hat. Die Einheit 20 wirkt als Halbduplexkanal, da sie entweder Wörter aus der Speichereinheit 18 holen oder ein·Wort in der Speichereinheit 18 abspeichern kann, jedoch diese Vorgänge nicht gleichzeitig durchführen kann. Infolge ihrer hohen Betriebsgeschwindigkeit tritt die Einheit 20 jedoch als Vollduplexkanal in Erscheinung.
In der vorliegenden Ausführungsform werden die Operationen in der Datenverdichtungs- und Computerankopplungseinheit mit Ausnahme von StatuBunterbrechungen und Fehlerzustandsunterbrechungen von der Steuersoftware 13 gesteuert. Die Einheit 20 ist eine speicherprogrammierte Parallelverarbeitungseinheit. In der Steuereinheit werden von der Steuersoftware 13 zwei Ketten von Daten/Steuerungs-Übertragungsbefehlen für die Datenverdichtungs- und Coxnputerankopplungseinheit gespeichert. Eine dieser Datenketten ist für das Aussenden von Übertragungen vorgesehen, während die andere Datenkette für das Empfangen von Übertragungen vorgesehen ist. Ein als ΑΤΙ-Befehl bezeichneter Befehl zum Übertragen von Daten vom Computer zur Datenverdichtungs- und Computerankopplungseinheit löst diese Einheit 20 aus, wobei die Speichereinheit 18 Adressen einer Befehlskette startet. Die Einheit 20 führt dann die Befehlskette aus, ohne daß ein weiterer Eingriff der Zentraleinheit 17 des Computers 12 erforderlich ist. Wenn die Steuersoftv/are 13 für die Einheit 20 nur ein einfaches Hardware-Befehlswort oder ein Statusadressenwort zur Verfügung hat, ist der speicherprogrammierte Betrieb nicht notwendig; ein einfaches Wort wird als das zweite von zwei Wörtern übertragen, die einen ΑΤΙ-Befehl bilden. Ebenso kann das zweite Wort des ΑΤΙ-Befehls dazu verwendet werden, eine Übertragung vom
409841/0845
Computer zur Sender/Empfänger-Einheit durchzuführen oder ein Steuerwort von der Einheit 20 zum Sender/Empfänger-Gerät 21 zu übertragen. Im speicherprogrammierten Betrieb ist das zweite Wort des ΑΤΙ-Befehls die Speicherstartadresse des gespeicherten Programms.
Einzelheiten der Datenverdichtungs- Computerankopplungs-,einheit 20 sind in den Figuren . 5 und 6 dargestellt. Die Anordnungen der Figuren 5 und 6 sind in Form von Hardware-Verknüpfungsschaltungen ausgeführt, und sie werden entsprechend der Steuersoftware 13 im Computer 12 gesteuert, wie unten noch genauer beschrieben wird. Nach Fig.5 liefert eine BefehlsSteuereinheit 22 den Speicherstatus oder die Speicherregister zu einer UnterbrechungsSteuereinheit 22, über die der Speicherstatus zur Speichersteuere&nheit 25 übertragen wird. Die Übertragungssteuereinheit 23 empfängt Unterbrechungssignale von der Befehlssteuereinheit 22, von der Logikfunktionseinheit Zk1 von der Empfangssteuereinheit 26, von der Empfangs-DMA-Steuereinheit 29 und von der Sende-DMA-Steuereinheit 32 zur Segmentvollendung. Die Unterbrechungssteuereinheit 23 fordert Unterbrechungen des Computers 12 und sie empfängt Signale aus dem Computer 12, wenn die Unterbrechung erkannt ist. Die Speichersteuereinheit 25 steuert das Abspeichern von Daten, und sie überträgt ein Speichersignal zum Computer 12. Die Speichersteuereinheit nimmt auch Speicherempfangs-Datensignale aus der Empfangsblock-Übertragungssteuereinheit 28 an. Die Logikfunktionseinheit 24 überträgt Zugriffsanforderungssignale, und sie empfängt Signale für "Zugriff gewährt" und"Paritätsfehler", die in die Logikfunktionseinheit 2h durchgeschaltet werden, damit eine Unterbrechung der Unterbrechungssteuereinheit 30 angefordert wird. Die Empf angs-DMA-Steuereinh'eit 29 fordert Unterbrechungen der Unterbrechungssteuereinheit 23» wenn Segmente vollendet sind. Die Empfangs-DMA-Steuereinheit 29 sendet auch Datenblockempfangssignale zur Empfangsblock-
4098A1/0845
Übertragungssteuereinheit 28, und sie sendet auch Listenabrufsignale zu einer AbrufSteuereinheit, damit diese Steuereinheit einen Abrufvorgang aus der Speichereinheit .18 steuert. Die Empfangs-DMA-Steuereinheit 29 sendet auch Steuersignale für die Betriebsart "gepackt" oder "ungepackt" zur DatenpackungsSteuereinheit 27. Die Datenpackungssteuereinheit 27 empfängt BSCTR-¥arteschlangensignale aus dem Sender/Empfänger-Gerät 21 sowie BSCTR-Statusunterbrechungssignale aus dem Sender/Empfänger-Gerät 21. Wenn die Datenpackungssteuereinheit 27 die Unterbrechung annimmt, wird ein Annahmesignal zum Sender/Empfänger-Gerät 21 zurückgesendet. Die empfangenen Wörter werden entsprechend der Steuerung durch die Empfangs-DMA-Steuereinheit gepackt oder ungepackt zur Empfangssteuereinheit 26 übertragen, die eine Empfangsstatusunterbrechung der Unterbrechungssteuereinheit 23 ,fordert und empfangene Daten zur Bmpfangsblockübertragungssteuereinheit 28 überträgt. Die Abrufsteuereinheit 30 empfängt Listenabrufsignale von der Empfangs-DMA-Steuereinheit 29 und von der Sende-DMA-Steuereinheit 32. Sie empfängt auch Datenabrufsignale von der Sendeblockübertragungssteuereinheit 31, und sie steuert abhängig davon das Abrufen der Listen oder Daten aus der Speiehereinheit 18. Die Sende-DMA-Steuereinheit fordert Unterbrechungen der UnterbrechungsSteuereinheit 23, wenn Segmente vollendet sind. Die Sende-DMA-Steuereinheit 32 signalisiert der SendeSteuereinheit 33 auch, eine Liste von Daten- oder Steuerwörtern zu übertragen. Die Sendesteuereinheit 33 überträgt Sendewörter über die Datenentpackungssteuereinheit 34. Die Datenentpackungssteuereinheit 34 sendet WarteSchlangensignale und Steuersignale zum Senderteil des Sender/Empfänger-Geräts 21, und das Sender/Empfänger-Gerät 21 antwortet darauf mit der Abgabe eines Annahmesignals an die Datenentpackungssteuereinheit 34. Die Sendesteuereinheit 33 signalisiert der Sendeblockübertragungssteuereinheit, Datenwörter
409841/0845
auszusenden, wobei die Sendeblockübertragungssteuereinheit 31 als Antwort darauf den Datenabruf von der Abrufsteuereinheit 30 fordert.
Es sei nun auf die Figuren 6A und 6B Bezug genommen. Aus dem Speicher gelesene Daten werden zum Senderegister übertragen; von diesem Senderegister 35 aus werden die Daten zu einem Zahlenregister 36, zu einem Empfangs-R-Zählregister 38, zu einem Empfangs-R-Startregister 39, zu einem Sende-T-Zählregister 37, zu einem Sende-T-Startregister 40 ,zu einem Empfangs-AdressenregisiEr-Eingabewähler 42, zu einem Sende-T-Adressenregister-Eingabewähler 44, zu einer Paritätsprüfeinheit 51 oder zu einem Sendepuffer 52 übertragen. Die vom Sendepuffer 52 empfangenen Daten werden zur Datenentpackungseinheit 53 und dann zu einer Funktionsschleifen-Prüfeinheit 54 übertragen. Nach der Durchführung der Funktionsschleifenprüfung der Daten werden diese von der Einheit 54 weitergesendet. Der Eingabewähler 42 empfängt auch Daten vom R-Startregister 39, und der Eingabewähler 44 empfängt Signale aus dem T-Startregister 40. Der Eingabewähler gibt in das Empfangs-R-Adressenregister 47 eine Adresse ein, und der Eingabewahler 44 sendet Adressen zum Sende-T-Adressenregister 48. Die im Register 47 oder 48 enthaltene Adresse wird dann zum Speicheradressenwähler gesendet, oder sie wird über die über das Empfangsverkettungsregister 41 führende Schleife zum Eingabewahler 42 oder über die über das Sendeverkettungsregister 45 führende Schleife zum Eingabewähler 44 verkettet. Das Statusregister 43 empfängt Daten aus dem Senderegister 35, die in einer Addiereinheit 46 zum Inhalt des StatuBzählerregisters 55 addiert werden, v/obei das Ausgangssignal der Addiereinheit 46 vom Speicheradressenwähler 49 zur Auswahl einer Adresse entsprechend dem Inhalt eines Statusregisters 43 und dem Inhalt des Statuszählregisters 55
409841/0845
verwendet wird. Eine vom Speicheradressenwähler 49 ausgewählte Adresse wird von der Adressendurchschalteinheit 50 durchgeschaltet, damit eine Speicheradresse zum Adressieren der Speichereinheit 18 erzeugt wird.
Empfangene Daten werden zu Funktionsschleifenprüfeinheit 54 und dann zum Empfangspuffer 55a gesendet. Bei Empfang des ersten Zeichens wird eine erste Zeichen-Schalteinheit 56 gesetzt, und ein diesen Vorgang anzeigendes Signal wird zum Empfangspuffer übertragen. Vom Empfangsregister werden die Daten zu einem Schreibdatenwähler 62 sowie zum zweiten. Statusregister 59 und zum dritten Statusregister 60 übertragen. Das erste Statusregister 58, das zweite Statusregister 59 und das dritte Statusregister senden die empfangenen Statusdaten zu einem Speicherschreibdaten-Multiplexer 61. Der Multiplexer 61 empfängt auch die Inhalte folgender Einheiten: R-Adressenregister 47, R-Zählregister 38, R-Startregister 39, R-Verkettungsregister 41, T-Adressenregister 48, T-Zählregister 37, T-Startregister 40, T-Verkettungsregister 45, Zahlenregister 36, Senderegister 35, Sendepuffer 52, Empfangsregister 57 und Empfangspuffer 55. Entsprechend diesen Signalen signalisiert der Multiplexer 61 dem Speicherschreibdatenwähler 62, Daten aus dem Empfangsregister 57 über einen Datendurchschaltblock 64 zu übertragen, damit die Daten la die Speichereinheit 18 geschrieben werden. Überdies erzeugt ein Paritätssignalgenerator 63 ein Paritätssignal, das ebenfalls zur Speichereinheit 18 übertragen wird.
Der Senderteil des Sender/Empfängergeräts, 21 kann so ausgebildet sein, wie in Fig.7 dargestellt ist. Nach dieser Figur 7 ist ein Sendetaktgeber 72 vorgesehen, der einer Sendesynchronisiereinheit 73 Taktimpulse
zuführt. Die Sendesynchronisierungseinheit 73 synchronisiert die Sendetaktimpulse aus dem Generator 72 mit
4 0 9841/0845
dem Modem-Sendetakt aus der Modem-Ankopplungseinheit für eine Eingabe in den binärenjSynchronenSendedurchschalt- und Senderegisterblock 70 sowie in die Zählerstandszusammenfassungseinheit 77.
Der Durchschalt- und Registerblock 70 empfängt Benutzerdaten, Benutzerwarteschlangen-und Benutzerbefehlswörter zusammen mit dem synchronisierten Takt und mit einem Bitzählsignal, einem Zeitsperrsignal und einem Synchronisierungszählersignal aus dem Zählerstandszusammenfassungsblock 77. Das Übertragen vonDaten zur Modemankopplungseinheit erfolgt aus dem Datenregisterblock 75. Diese Daten werden vom Durchschalt- und Registerblock 70 zum Datenregisterblock 75 übertragen. Der Durchschalt- und Register block 70 liefert auch ein Datenregister-Taktsignal, ein Parallelbetrieb-Signal und die Betriebsartsignale SEL DLE, SEL SYN, SEL DATA, SEL S/R und CRC an den Datenregisterblock 75. Der Durchschalt- und Registerblock 70 liefert auch an den Senderzustands-Steuerblock 7k die Signale SOH, STX, ENQ, ETB, ETX, ITB, STICK, NAK, ein Zeitsperr- und Füllsignal sowie die Signale "Halt bei DLE" und DLE. Wenn alle Zustände vorhanden sind, gibt der Senderzustands-Steuerblock 7k ein Signal zum Durchschalt- und Registerblock 70 zurück. Der Dürchschalt- und Registerblock 70 liefert an den Zählerstandszusammenfassungsblock ein Signal zur Erhöhung des Synchronisierungszählerstandes, sowie Zeitsperr-Rückstelleignale und Synchronisierungszählerstands-Rückstellsignale.
Die über den Datenregisterblock 75 übertragenen Daten werden zyklisch zum Sendefehlerblock 76 übertragen, damit eine zyklische Redundanzprüfung (CRC) durchgeführt wird, wenn ein CRC-Betriebsartsignal vorhanden ist. Der Sendefehlerblock 76 wird im Zusammenhang mit Fig.9A noch genauer
409841/0845
beschrieben. Ein Senderbefehlswortblock 71 empfängt ebenfalls die Benutzerdaten und ein Benutzerbefehlswort, und er liefert an den Durchschalt- und Registerblock 70 ein Signal »Halt bei DLE". Der Senderbefehlswortblock 71 liefert auch Modemprüf- und Sendebedarfssignale an die Modemankopplungseinheit 16. Ferner sendet der Senderbefehlswortblock 71 zum Empfängerteil des Sender/Empfänger-Geräts 21 die Signale "Empfänger löschen", "Empfänger starten", "Nicht erkanntes Zeichen", "Paritätsalarmfreigabe", "Status senden", "Empfänger stoppen " und "SOH/STX durchlassen" .
Der Empfängerteil des Sender/Empfänger-Geräts 21 kann so ausgebildet sein, wie in den Figuren 8A und 8B dargestellt ist. Wie aus den Figuren 8A und 8B zu erkerinen ist, enthält der Empfänger einen binären, synchronen Empfanger-Datenregisterblock 83, der Daten vomModem 16 empfängt und gepufferte Daten zu einem Logikblock 82 überträgt. Die Daten werden auch zu einem Fehlerblock 84 übertragen, mit dessen Hilfe die zyklische Redundanzprüfung der empfangenen Datenblöcke durchgeführt wird. Der Fehlerblock 84.wird im Zusammenhang mit Fig.9B noch genauer beschrieben. Wenn ein Fehler vorliegt, dann wird dies dem Logikblock 82 durch ein Bedingungssignal "Fehler setzen" angezeigt. Der Empfänger enthält auch einen Zustandssteuerblock 81, der entsprechend den zum Datenregisterblock 83 und vom Datenregisterblock 83 zum Zustandssteuerblock 81 gesendeten Steuerzeichen mehrere Logikzustandssignale erzeugt. Die Logikzustandssignale, die von dem Zustandssteuerblock erzeugt v/erden, und die Steuerzeichen werden dann an den Dürchschalt- und Registerblock 80 angelegt. Der Empfänger enthält auch einen Taktgeberblock 78, einen Synchronisierungsblock und einen Zählerstandszusammenfassungsblock 85; diese Blöcke üben Funktionen aus, die den jeweiligen Funktionen
4 09841/U845
iin Senderteil des Sender/Empfänger-Geräts" ähnlich sind.
Die Datenübertragungsverbindung ist so ausgelegt, daß sie eine Punkt-zu-Punkt-Verbindung (zwischen zwei Stationen ) betreibt. Für einen Punkt-zu-Punkt-Vollduplexbetrieb können beide Stationen (die Stationen 10 und 11 von Fig.1) gleichzeitig von den Ubertragungsverbindungen 22 Gebrauch machen. Die Anordnung arbeitet folgendermaßen:
"Eine Aussendung umfaßt einen odermehrere Datenblöcke. Die Hauptteilgruppen werden Textblöcke genannt. Textblöcke können ihrerseits wieder in Übertragungsblöcke aufgeteilt sein. Zur Erleichterung der Datenbehandlung und des Puffermanagements in den Sende- und Empfangsstationen ist ein Übertragungsblock wieder in Textblöcke unterteilt. Die Textblöcke können in weitere Übertragungsblöcke unterteilt sein, damit eine wirksamere Fehlersteuerung und Datendurchsatzgeschwindigkeit erzielt werden kann, als es mit Textblöcken der Fall wäre. Datenblöcke sind durch die Steuerzeichenfolge DLE STX (Textstart) gekennzeichnet, die jedem Block unmittelbar vorangeht. Mit Ausnahme des letzten Übertragungsblocks folgt auf jeden Übertragungsblock eine öteuerzeichenfolge DLE ETB (Übertragungsblockende). Unmittelbar auf den letzten Übertragungsblock eines Textblocks folgt die Steuerzeichenfolge DLE ETX (Textende). Für jede Datenübertragungsverbindung ist unter Zugrundelegung von Pufferspeicher betreffenden Gesichtspunkten an den Sende- und Empfangsstationen eine maximale Textblocklänge angegeben.
Jeder gesendete Datenblock und die Signale ACK ("angenommen", t/eitersenden"), NAK (Daten nicht angenommen, d.h. ein Übertragungsfehler wurde festgestellt) und RSP (Rücksendung) werden der Empfangsstation mit Hilfe einer zyklischen Redundanzprüfung,die den Block nach dem Empfang prüft, auf
409841/U84S
das Vorliegen von Fehlern untersucht.
Nach jedem Block antwortet die Empfangsstation mit einer ACK-Steuernachricht, wenn die zyklische Redundanzprüfung sich als richtig erwiesen hat. Wenn sich bei der zyklischen Redundanzprüfung ein Fehler herausgestellt hat, sendet die Empfangsstation eine NAK-Steuernachricht aus, die die Sendestation veranlaßt, den Datenblock erneut zu senden. Die Neusendung eines auf eine einleitende NAK-Steuernachricht folgenden Datenblocks wird beispielsweise dreimal versucht. Die Sendestation empfängt keine Antwortnachricht, wenn die Antwortnachricht bei der zyklischen Redundanzprüfung einen Fehler ergeben hat, und die Sendestation kann durch Aussenden einer RSP-Steuernachricht die Neuübertragung der Antwortnachricht erfordern.
Die zyklische Redundanzprüfung ist ein Verfahren zur Durchführung einer Fehlerprüfung bei Datenblöcken. Die Prüfung besteht in einer Division, die sowohl bei den Sendestationen als auch bei den Empfangsstationen durchgeführt wird. Die Senderlogik ist in Fig.9A dargestellt, und die Empfängerlogik ist in Fig.9B dargestellt. Die Logik wird in beiden Fällen mit Hilfe von Schieberegistern und Addierern verwirklicht. Überdies enthält die Empfängerlogik eine UND-Schaltung 102 zur Abgabe eines Fehlersignals. Die Division wird unter Verwendung des numerischen Binärwerts der Nachricht als Dividend und unter Verwendung Eines konstanten Divisors durchgeführt.Der Quotient wird gestrichen, und der Rest dient als Blockprüfcode BCC, der unmittelbar im Anschluß an eine Prüfpunktsteuerfolge (DLE ITB, DLE ETB oder DLE ETX)ausgesendet wird. Die Empfangsstation vergleicht den ausgesendeten Rest mit dem von ihr selbst berechneten Rest,
409841/08A5
und wenn die verglichenen Größen gleich sind, findet sie keinen Fehler. Die BCC-Akkumulierung wird nach Eintritt in den Textbetrieb durch die im Leerlaufbetrieb empfangene erste Folge DLE STX oder die Startfolge DLE SRP der Antwortfolge zurückgesetzt. Die BCC-Akkumulierung umfaßt zwei Bytes, wenn sie auf der Übertragungsleitung gesendet wird, doch wird sie funktionsmässig als eine einzige Folge betrachtet. Ein Beispiel des Hexadezimalcodes für die Steuerzeichen der mit Mehrfachblöcken im binären synchronen Duplexbetrieb arbeitenden Übertragungsprotokollanordnung Ist in der am Ende der Beschreibung angefügten Tabelle I gezeigt. Die in dem binären synchronen Duplexsystem verwendete Divisionskonstante ist 2 + 2+2 + 1. Wenn der Empffinger feststellt, daß sein übertragener Rest nicht gleich dem ausgesendeten Rest ist, dann verlangt er die Neuübertragung des Blocks, indem er mit einer NAK-Steuernachricht oder einer RSP-Nachricht antwortet. Er fährt mit der Neuübertragung fort, bis er schließlich bei einem Versuch die Gleichheit zwischen den zwei Resten erhält. Der Empfänger antwortet dann mit einer positiven Bestätigung. Wenn die Zahl der Neuübertragungen ein voreingestelltes Maximum überschreitet, beispielsweise drei Neuübertragungen, dann wird ein Gerätefehler angezeigt.
Die bei der hier beschriebenen binären synchronen Duplex-Datenübertragungsanordnung angewendeten Fehlersteuerprozeduren bewirken eine Herabsetzung der Wahrscheinlichkeit für die Annahme eines Datenblocks oder eine Antwortnachricht mit einem oder mehreren Übertragungsfehlern. Die Wahrscheinlichkeit für das Auftreten nicht festgestellter Blockfehler und die Durchsatzgeschwindigkeit können für untersbhiedliche Leitungsfehlerhäufigkeiten durch Einstellen der Dateriblockübertragungsverbindung optimiert werden. Jede Station stellt ihre Übertragungsverbindung durch Anwendung der Steuerfolgen DLE ITB oder DLE ETB zur Optimierung der Datenverbindungs-
409841/0845
leistung ein. Eine Untersuchung der in der Tabelle I angegebenen Steuerzeichen-Codegruppen zeigt, daß zwei oder mehr Fehler erforderlich sind, um ein Steuerzeichen in ein anderes umzuwandeln. Ein einziger Fehler führt zu einem verstümmelten und daher feststellbaren Fehlermuster. Die Wahrscheinlichkeit für das Auftreten eines nicht festgestellten Steuerzeichenfehlers beträgt etwa 4 χ PQ2, wobei PQ die LeitungsfehlerwahrscheinUchkeit ist. Die Steuernachrichten ACK NAK und RSP werden unter Anwendung einer zyklischen Redundanzprüfung ausgesendet, so daß daher das oben angesprochene Problem bei ihnen nicht auftritt.
Die Steuerung der Datenübertragungsverbindung wird durch Anwendung der anschließend angegebenen Steuerfolgen und Steuernachrichten aufrechterhalten: SYN (Synchronisierung), DLE STX (Textstart), DLE ITB (Ende eines Zwischenübertragungsblocks), DLE ETB (Übertragungsblockende), DLE ETX (Textende),ACK (bejahende Bestätigung), NAK (negative Bestätigungsnachricht), RSP (Nachrichtenneusendung ), ACK-, NAK- oder RSP-Nachricht, DLE-BBP (Beginn der Antwortnachricht) und DLE (Datenübertragungsumschaltung).
Die Steuerfolge SYN wird zur Erzielung und zur Aufrechterhaltung der Synchronisierung verwendet. Zwei abhängige Steuerfolgenden SYN am Beginn jeder Übertragung werden als das Zeichenphasen—Synchronisierungsmuster bezeichnet. In Leerlaufperioden werden anstelle der Steuerfolgen SYN von Signalwerten 1 gebildete Füllzeichen gesendet. Die den Textstart kennzeichnende Zeichenfolge DLE STX geht jedem Textdatenblock voraus. Im Leerlaufbetrieb löst der Empfang der Zeichenfolge DLE STX den Textbetrieb aus. Die das Ende des Übertragungsblocks kennzeichnende Zeichenfolge DLE ETB kennzeichnet das Ende eines Textdatenblocks, der mit der
409841/0845
Folge DLE STX begonnen wurde, und sie bewirkt eine Umschaltung in den Leerlaufbetrieb. Die Verblockungsstruktur ist nicht notwendigerweise auf das Verarbeitungsformat bezogen. Das Blockprüfzeichen wird unmittelbar auf die Folge DLE ETB ausgesendet. Die Folge DLE ETB erfordert von der Empfangsstation eine Antwortnachricht. ACK oder NAK. Die das Ende eines Zwischenübertragungsblocks kennzeichnende Zeichenfolge DT ."R ITB Wird dazu verwendet, einen Text block zum Zweck der Fehlerprüfung aufzuteilen, ohne daß eine Antwort erforderlich ist. Das Blockprüfzeichen folgt unmittelbar auf die Folge DLE ITB, und sie stellt die zyklische Redundanzprüfakkumulierung zurück. Nach jedem Zwischentextblock beginnen darauffolgende Blöcke mit der Folge DLE STX.
Die normale Empfängerantwort tritt nach dem letzten Zwischenblock auf, der durch die Folge DLE ETX oder die Folge DLE ETB beendet wird. Wenn eine dieser Endfolgen empfangen wird, antwortet die Empfangsstation auf den gesamten Satz von Zwischenblöcken. Wenn auf Grund der zyklischen Redundanzprüfung ein Fehler für einen der Zwischenblöcke festgestellt wird, wird eine negative Antwort NAK ausgesendet, die die Rückübertragung aller Zwischenblöcke erfordert. Die Zeichenfolge DLE ETX beendet einen mit der Folge DLE STX gestarteten Textblock oder eine mit der Folge DLE SRP gestartete ACK-, NAK- oder RSP-Nachricht. Der Blockprüfcode BCC wird unmittelbar im Anschluß an die Folge DLE ETX ausgesendet. Die Folge DLE ETX erfordert eine Antwortnachricht von der Empfangsstation. Diese Zeichenfolge bewirkt eine Umschaltung vom Textbetrieb in den Leerlaufbetrieb im Anschluß an den Blockprüfcode BCC. Ein Beispiel einer Einwegübertragung der hier beschriebenen Anordnung ist in den am Ende der Beschreibung angefügten Tabellen II und III angegeben.
409841/0845
Die Textblockorgänisation ist in der am Ende der Beschreibung angefügten Tabelle IV beschrieben. Alle Textblöcke beginnen mit der Folge DLE STX. Die nächsten 16 Bits sind für die Folgezahl vorgesehen. Diese Zahl beginnt mit O und steigt bis FFFF^g an. Nach der Blockfolgezahl FFFF^g wird sie auf Null zurückgestellt. Textblöcke enden mit der Folge DLE ETX, auf die unmittelbar der aus zwei Bytes bestehende Blockprüfcode BCC folgt. Innerhalb eines Textblocks liegende Übertragungsblöcke enden mit der Folge DLE ETB* Zwischenübertragungsblöcke enden mit der Folge DLE ETB. Auf die Folgen DLE ETB und DLE ITB folgen unmittelbar die zwei Bytes des Blockprüfcodes BCC. '
Die am Ende der Beschreibung angefügte Tabelle Y zeigt das Format der Antwortnachricht. Antwortnachrichten werden als Statusantworten auf Übertragungsblöcke (ACK, NAK) und als Anforderungsrücksendungen von ACK-und NAK-Nachrichten (RSP) verwendet. Alle Antwortnachrichten beginnen mit der Zeichenfolge DLE SRP. Die nächsten 16 Bits sind die Folgezahl des Datenblocks für den diese Antwort gilt, und es folgt darauf das Antwortzeichen (ACK, NAK, RSP). An die Steuerfolge schließt sich die Folge DLE ETX an, auf die wiederum der Blockprüfcode BCC folgt. Ein Beispiel einer ACK-Nachrichtenfolge ist in der am Ende der Beschreibung angefügten Tabelle VI angegeben. Ein Beispiel einer NAK-Nachricht zeigt die ebenfalls am Ende der Beschreibung angefügte Tabelle VlI, und ein Beispiel einer RSP-Nachrichtenfolge ist in der Tabelle VIII angegeben.
Die Steuercodefolge DLE SYN wird zur Überprüfung der Synchro^ nisierung oder als Zeitfüllfolge innerhalb eines Übertragungsblocks verwendet. Die Steuercodefolge DLE ENQ wird zum Abbrechen eines Übertragungsblocks verwendet. Die Steuercodefolge DLE DLE wird zur Zulassung der Übertragung der Folge DLE
409841/0845
als Datenfolge verwendet, wenn innerhalb eines Übertragungsblocks ein der Folge DLE entsprechendes Bitmuster auftritt. Die erste Folge DLE wird nicht beachtet, und die andere Folge DLE wird als Datenfolge behandelt. Die Steuercodefolge DLE ITB zeigt das Ende eines Zwischenblocks an, und die Steuercodefolge DLE SRP zeigt den Start einer Antwort an. Der Folge DLE STX , die auf einen Zwischenblock folgt, kann die Folge SYN SYN vorangehen. Die Steuercodefolge SYN SYN ist im Blockprüfcode BCC nicht enthalten.
Transparente Daten und Antworten werden Zeichen für Zeichen empfangen, so daß die Phasenbeziehung der Zeichen aufrecht erhalten bleibt.
Im Biockprüfcode BCC sind folgende Steuerzeichen enthalten: Wenn die Folge DLE vorangeht, ist die Folge DLE enthalten. Die erste Folge DLE, die von der Sendestatibn eingefügt wurde, ist nicht enthalten. Beide Zeichen einer Folge DLE STX im Anschluß an eine Folge ITB sind enthalten. DLE ist nicht enthalten, außer wenn die zwei vorangehenden Bedingungen vorliegen. Die Folgen STX und SRP sind nicht enthalten, außer die zweite Bedingung für STX liegt vor. Die Folgen ETB, ITB und ETX sind stets enthalten. Die Folge SYN ist nur dann enthalten, wenn sie innerhalb eines Antwort- oder Textblocks liegt und wenn die Folge DLE nicht vorangeht. Im Blockprüfcode BCC sind Folgezahlen enthalten. Außerhalb von Text- oder Antwortblöcken ausgesendete Zeichen SYN erfordern keine vorangehende Folge DLE.
Nach der Erfindung erfordert die wirksame Anwendung von Vollduplex-Datenübertragungsverbindungen mit langen Verzögerungen über die mit Mehrfachblöcken arbeitenden, binären, synchronen Duplexprozeduren die richtige Anwendung der Datenverbindungs-Steuerfolgen. Wirksame Übertragungen werden erzielt, indem Mehrfachdatenblöcke in beiden
409841/0845
Richtungen gesendet werden, ehe ,auf Antworten gewartet wird, und indem die Datenblöcke und Antwortnachrichten ineinander verschachtelt werden. Zum Verhindern Undefinierter Verzögerungen auf Grund von Formatfehlern oder Hardware-Fehlfunktionen sind Zeitsperren definiert. Die Duplex-übertragungsanordnung eugibt auch Synchronisierungsformate wegen der bitseriellen Natur der-Fernmeldeübertragungen. Datenübertragungsverbindungen mit langen Verzögerungen sind als solche Verbindungen definiert, die zwischen der Sendezeit der Daten und der Empfangszeit der Antworten lange Verzögerungen aufweisen. Diese Verzögerung kann auf mehrere Dinge zurückgeführt werden, etwa auf lange Laufzeiten bei Satel- litenübertragungen und auf lange Verarbeitungsverzögerungen an der Empfangsstation. Die hier beschriebene Anordnung überwindet diese Schwierigkeitendadurch, daß genügend Daten zum vollständigen Füllen des Speichers der Datenübertragungsverbindung ausgesendet werden, wobei als "Speicher" die Datenmenge definiert ist, die in der Umlaufverzögerungszeit ausgesendet werden kann. Die Umlaufverzögerungszeit ist gleich der Umlauf-Laufzeit zuzüglich der Verarbeitungszeit an der Empfangsstation, die zum Rücksenden einer Antwort benötigt wird.
Zum Starten einer Übertragung beginnt der Sender mit dem Sendevorgang, wenn er auszusendende Daten zur Verfügung hat. Es ist keineLeitungsangebotsfolge erforderlich, da angenommen wird, daß die Empfangsstation stets empfangsbereit ist.Zeitsperrsignale und Antwortnachrichten bewirken schließlich eine Synchronisierung der zwei Stationen, falls der Empfänger nicht empfangsbereit sein sollte. Leerlaufperioden v/erden periodisch mit Datenblöcken gefüllt, die Datenbits mit dem Signalwert 0 enthalten, wie unten noch genauer beschrieben wird.
409841/0845
Bei Vorliegen des obigen Vorgangs kann der Sender soviel Daten aussenden, wie er Puffer aufweist, ohne daß er eine Antwort empfängt. Damit von der Datenübertragungsverbindung in größtmöglicher Weise Gebrauch gemacht wird, sollte die Puffermenge gleich oder größer als der Speicher der Datenübertragungsverbindung sein. Dies kann erforderlich machen, daß in der Empfangsstation mehr Puffer vorhanden sind, was davon abhängt, wie Puffer infolge von kurzen Datenblöcken behandelt werden. Bei Empfang jedes Datenblocks durch eine Empfangsstation werden der Blockprüfcode BCC und die Folgezahl geprüft. VTenn der Blockprüfcode BCC paßt und wenn die Folgezahl um Eins größer als die zuletzt empfangene Folgezahl (mit Ausnahme nach einer Rückstellung) ist, dann sendet der Empfänger eine ACK-Nachricht mit der gleichen Blockfolgezahl aus. Wenn der Blockprüfcode BCC falsch ist, dann sendet der Empfänger eine NAK-Antwortnachricht mit der erwarteten Blockfolgezahl aus, und er erhöht die zuletzt empfangene Folgezahl. Wenn der Blockprüfcode BCC richtig ist, die Folgezahl jedoch vom erwarteten Wert abweicht, dann gibt"es für die Empfangsstation drei Alternativmöglichkeiten. Wenn die Folgezahl hinter der erwarteten Folgezahl zurückliegt, und wenn eine erwartete Neuübertragung vorliegt, dann sendet der' Empfänger eine ACK-Nachrdcht mit der neuübertragenen Blockfolgezahl aus, und die zuletzt empfangene Blockfolgezahl wird nicht erhöht. Wenn die Blockfolgezahl größer als erwartet, jedoch niedriger als eine beliebige Zahl ist, dann nimmt der Empfänger an, daß alle dazwischenliegenden Blöcke verlorengegangen sind, und er sendet für jeden Block eine NAK-Nachricht sowie eine ACK-Nachricht für diesen Datenblock aus, die die zuletzt empfangene Blockfolgezahl auf den Stand der empfangenen Blockfolgezahl bringt. Wenn die
409841/0845
Folgezahl um mehr als die beliebige Zahl größer als erwartet oder niedriger und keine bei der Neuübertragung verwendete Folgezahl ist, dann wird angenommen, daß die Folgezahl fehlerhaft ist,, und der Block wird gestrichen. Wenn der Sender eine richtige ACK-Nachricht empfängt, nimmt er an, daß der Datenblock mit der paseenden Blockfolgezahl richtig empfangen worden ist, und daß der Puffer für weitere Blöcke verwendet werden kann. Wenn eine NAK Nachricht empfangen wird, dann muß die Sendestation den Datenblock erneut aussenden.
Wenn eine Antwort auf einen Datenblock fehlerhaft ist (eine falsche Folgezahl, ein falscher Blockprüfcode BCC oder nicht empfangen wird, beispielsweise bei einer Empfangszeitsperre), dann antwortet der Sender mit einer RSP-Nachricht, damit eine erneute Übertragung der erwarteten Antwortnachricht oder■Antwortnachrichten erhalten wird« Wenn der Blockprüfcode BCC falsch ist, sendet der Sender für die erwartete Antwort eine RSP-Nachr±cht unter Verwendung der erwarteten Folgezahl aus, und er erhöht die erwartete Zahl. EinBeispiel eines richtigen Blockprüfcodes BCC und einer richtigen Folgezahl ist in der am Ende der Beschreibung angefügten Tabelle IX gezeigt. Wenn der Blockprüfcode BCC richtig ist, die Folgezahl jedoch von der erwarteten Folgezahl abweicht, dann gibt es für die Sendestation drei Alternativmöglichkeiten. Wenn die Folgezahl hinter der erwarteten Folgezahl zurückliegt und eine erwartete neuübertragene Antwort vorliegt, dann nimmt der Sender diese für den Block an. Wenn keine erwartete übertragene Antwort vorliegt, und die Folgezahl hinter der erwarteten Folgezahl zurückliegt und keine RSP-Nachricht vorliegt, dann wird die Antwort ignoriert. Wenn die Folgezahl um mehr als eine beliebige Zahl über der erwarteten Folgezahl liegt ( Erwartungsfenster) , dann wird für die Folgezahl eine RSP-
409841/0845
Nachricht ausgesendet. Wenn die Folgezahl innerhalb des Erwartungsfensters liegt, werden als Eingriffsantworten RSP-Nachrichten ausgesendet, und die Zeitsperrsignale werden wiederhergestellt. Empfangs- Zeitsperrsignale bewirken eine Wiedergewinnung verlorengegangener Antworten.
RSP-Nachrichten sind unterschiedlich, da der Folgevergleich mit Hilfe der Folgezahl des zuletzt empfangenen Datenblocks ausgeführt wird. Für Folgezahlen, die um weniger als 10 kleiner als die zuletzt empfangene Folgezahl sind, wobei NAK für die Folgezahl noch fehlt, wird die NAK-Nachricht erneut ausgesendet. Wenn die NAK-Nachricht für -diesen Block nicht fehlt, dann wird eine ACK-Nachricht für diese Folgezahl ausgesendet, da angenommen wird, daß dieser Block zuvor angenommen worden ist. Wenn die Folgezahl vor der zuletzt empfangenen Folgezahl, jedoch innerhalb des Erwartungsfensters liegt, dann wird eine NAK-Nachricht für diesen Block ausgesendet, weil angenommen wird, daß er fehlte. Andere Blöcke werden nicht beachtet. Ein Beispiel einer NAK-Antwortnachricht und einer niedrigen Folgezahl ist in der am Ende der Beschreibung angefügten Tabelle X dargestellt. Ein Beispiel einer falsch verstandenen ACK-Nachricht zeigt die Tabelle XI, während die Tabelle XII ein Beispiel des Vorliegens einer hohen Folgezahl zeigt.
Die bisher angegebenen Beispiele zeigten Daten, die in der einen Richtung übertragen wurden und Antworten, die in der anderen Richtung übertragen wurden. Die mit Mehrfachblöcken im binären, synchronen Duplexbetrieb arbeitende Datenübertragungsverbindung nach der Erfindung ist zu einem Daten- und Antwortverkehr in beiden Richtungen gedacht, damit ein vollständiger Duplexbetrieb erzielt wird, bei dem Antwortnachrichten zwischen Datenblöcken gesendet werden, d.h. , daß Antwortnachrichten zwischen dem Ende eines Blocks (ETB ETX) und dem Beginn eines.Blocks gesendet
409841/0845
werden. Antwortnachricliten werden nicht zwischen Zwischentextblöcken gesendet. Da die beschriebene Datenübertrajgungsanordnung auf beiden Seiten symmetrisch ist, sind die in den Tabellen angegebenen Beispiele nur für eine Datenseite der Leitung ausgeführt, während die andere Seite mit Ausnahme der Zeitphasensteuerung ebenso aufgebaut ist. In der am Ende, der Beschreibung angefügten Tabelle JIII ist ein Vollduplexbetrieb angegeben.
Zur Erzielung und Überwachung des Synchronisierungszustandes während der gesamten Übertragung werden in die Textdaten vom Sender zusätzliche Synohronisierungsmuster eingefügt. Die Synchronisierungsmuster werden automatisch in Intervallen von einer Sekunde eingefügt. Da alle Texte im Transparenzbetrieb gesendet werden, muß den auf diese Weise eingefügten Synchronisierungssignalen SIN eine Folge DtE vorangehen, damit sie erkannt werden. Die Folgen DLE SYH sind in die BCC-Akkumulierung nicht eingefügt, und sie werden an der Empfangsstation wieder herausgenommen.
Zum Verhindern Undefinierter unnützer Belegungen der Datenübertragungsverbindung als Folge falscher Folgen oder ausgelassener Antworten werden Ze it sperren verwendet, die eine feste Zeitdauer liefern, innerhalb der eine bestimmte Operation ablaufen.muß. In der vorliegenden Ausführungsfonn sind drei Zeitsperren vorgesehen: Eine Zeitsperre für das Senden, eine Zeitsperre für das Empfangen und eine Zeitsperiefür Daten. Die Sendezeitsperre hat einen Nennwert von einer Sekunde, der als die Geschwindigkeit festgelegt ist, mit der die Folge DLE SYN in die ausgesendeten Textdaten eingefügt wird. Eine transparente Folge DLE SYN wird jede Sekunde eingefügt. Die Folgen DLE SYN werden zu Zeitsteuerzwecken eingefügt, und sie haben keinen Einfluß
409841/0845
auf das Nachrichtenformat. Wenn diese Zeitsperre eintreten soll, sendet der Empfänger eine NAK-oder RSP-Nachricht für diesenBlock aus. Die Empfangszeitsperre hat einen Nennwert von beispielsweise 3 Sekunden, und sie "begrenzt die Wartezeit, die für die Sendestation zum Empfangen einerAntwort auf eine ETB-, ETX- oder RSP-Nachricht toleriert wird. Wenn diese Zeitsperre eintritt,dann wird für die nächste erwartete Antwort eine RSP-Nachricht ausgesendet. Diese Zeitsperre wird für jede erwartete Antwort . gestartet. Die Datenzeitsperre hat einen Nennwert von beispielsweise zwei Sekunden, und sie ist im Verlauf von Perioden wirksam, in denen kein auszusendender Text verfügbar ist. Es ist erforderlich, daß die Sendestationen einen Textblock mit Datenbits mit dem Signalwert und mit der richtigen Folgezahl aussenden.Die Empfangsstation antwortet auf den Block in der gleichen Weise wie auf jeden anderen Datanblock. Diese Zeitsperre soll der Sendestation versichern, daß die Empfangsstation während Leerlaufperioden betriebsfähig ist. Im Verlauf aller weiteren Leerlaufperioden v/erden paarweise Zeichen ausgesendet, die alle den Signalwert "1" aufweisen.
Wenn der Sender Daten aussenden muß,dann sendet er diese Daten gemäß der Erfindung sofort aus in der Annahme, daß der Empfänger empfangsbereit ist. Der Sender sendet die Daten weiterhin solange aus, solange auszusendende Daten verfügbar sind. Der Sender hält die ausgesendeten Daten fest, bis eine positive Bestätigung für die Daten empfangen worden ist.
Eine Übersicht über die Übertragungsabhandlungs-Software ist in Fig.10 angegeben. Die Abhandlungs-Software besteht aus sieben Segmenten: Einem Sendeanzeiger (MBCOI) 21, (Tabelle RIl); eine Sendekettenwartung(XMITER)22
409841/0845
(Tabelle RIV); einen Statusinterpretierer(.STATUS)23 (Tabelle RI); einen Sendeinterpretierer (XMTINT)24 (Tabelle RV); eine Empfangskettenwartung (RCVR)25 (Tabelle RVI); einen Impfangsinterpretierer (RCVINT)26 (Tabelle RVII); einen Nachrichtenverdichter (UNIFY)27 (Tabelle RVIII).
Diese Segmente machen von folgenden Warte schlangen Gebrauch: Einer Ausgangswarteschlange; einer aktiven Warteschlange (BMI); einer Sendekette;.einer Empfangskette; einer schwebenden Übertragungsblock-Warteschlange ; einer Eingangswarteschlange; einer NAK-Liste; einer schwebenden Protokollkette; einer schwebenden BMI-Warteschlange.
Wenn der Nachrichtenschalter eine auszugebende Nachricht empfängt, wird diese in die Ausgangswarteschlange eingereiht, und es erfolgt ein Warteschlangeneintrag für den Sendeanzeiger (Tabelle RII). Wenn der Sendeanzeiger zur Ausführung gelangt, dann wird der Nachricht eine Übertragungsfolgezahl zugewiesen, und die Sendelefctenwartung (XMITER) (Tabelle RIV) wird aufgerufen, die Nachricht in die Sendekette einzufügen. Der Anzeiger entnimmt die Nachricht dann der Jlusgangswarteschlange, und er macht einen Eintrag für die Nachricht der aktiven Warteschlange. Der Anzeiger führt den geschilderten Vorgang jedesmal durch, wenn er infolge eines vom Nachrichtenschalter bewirkten WarteSchlangeneintrags zur Ausführung gelangt.
Wenn eine Antwort auf eine Nachricht empfangen wird, wird die Steuerung an den Sendeinterpretierer (Tabelle RV) weitergegeben. Die von der Antwort bezeichnete Nachricht wird in der aktiven Warteschlange vorgefunden, und sie wird entweder zum freien Speicher (im Falle einer ACK-Nachricht) freigegeben oder (im Falle einer NÄK-Nachricht) erneut übertragen.
409841/0845
Das Empfängerketten-Wartungsprogramm hält Empfangslisten im Wartebetriebszustand für eine Nachricht.Wenn eine Nachricht empfangen wird, wird die Steuerung zum Empfangsinterpretierer (Tabelle RVH) weitergegeben, der den Nachrichtenverdichter aufreiht und eine Antwort aussendet, Die Nachrichten werden in Form einer Gruppe von Übertragungsblöcken gesendet. Die Übertragungsblöcke werden in nicht zusammenhängenden Speicherplätzen empfangen.Der Nachrichtenverdichter (Tabelle RVIti ) bewegt die Übertragungsblöcke in einen Speicherblock und bringt die Übertragungsblöcke in die richtige Reihenfolge. Die Nachricht wird dann in die Eingangswarteechlange des Übertragungsabhandlers eingereiht, und dann wird der Nachrichtenschalter eingereiht.
Der Übertragungsabhandler bedient mehrere Kanäle. Jeder Kanal weist einen Satz von Kanaltabellen auf. Die Inhalte dieser Tabellen sind in den am Ende der Beschreibung angefügten Tabellen S-I, S-II und S-III angegeben. Die Tabelle S-II für den Zusatzleerplatz 1 enthält die Warteschlangenhinweise für den Abhändler, und die Tabelle S2-III den Zusatzleerplat 2 enthält Zahlenaufstellungen für den Kanal. Der Kanalstatus wird in der Tabelle S-I für Kanaldaten erhalten.
Der Aufbau des Übertragungsabhandlers wird nun beschrieben. Oär Statusinterpretierer macht von den drei Tabellen Gebrauch, um zu bestimmen, v/elcher Vergang während der Statusprüfung unternommen werden muß. Der ei-Status ist in der Tabelle S-IV dargestellt, und der TR-Status ist in der Tabelle S-V angegeben. Der Statusinterpretierer macht von der Statusverarbeitungstabelle S-VI Gebrauch, um die Reihenfolge zu bestimmen, in der die Statusbits geprüft werden sollen und um zu bestimmen, welcher Vorgang ausgeführt werden soll, wenn das Bit eingeshaltet ist. Dieses Programm ist in Form eines Flußdiagramms
4098ΑΊ/0845
in der Tabelle R-I dargestellt. 'Der Statusinterpretierer prüft die Statusbits in der Reihenfolge, in der die Bits in der Statusverarbeitungstabelle S-VI auftreten.
Einige Bits in der Statusgruppe werden als Kennzeichen für den Interpretierer verwendet. Die Statuskennzeichentabelle S-VII wird zum Setzen der entsprechenden Kennzeichen verwendet. Einige Kennzeichen sind: Ein SRP-Kennzeichen und ein Kurzblockkennzeichen.
Wenn ein Statuseintrag geprüft wird, setzt der Interpretlerer zunächst die Statuskennzeichen, wie sie in der Statuskennzeichentabelle angegeben sind. Der Statusinterpretierer prüft dann, die in der Statusverarbeitungstabelle angegebenen Bits, und er führt die entsprechende Aktion für alle Bits aus, die gesetzt sind. Wenn die Steuerung zu einer weiteren Komponente des Statusinterpretierers weitergegeben wird, wird der Status in eine interne Codegruppe umgewandelt, und jedes Protokoll wird in eine interne Codegruppe gemäß den Tabellen S-VIII und S-IX umgewandelt. Der für jedes Statusbit zu unternehmende Vorgang ist in der Tabelle S-X angegeben.
Wenn ein TR-Unterbrechungsbit gesetzt ist, nimmt der Statusinterpretierer auf eine TR-Statusverarbeitungstabelle Bezug, die das in der Tabelle S-VI angegebene Format aufv/eist. Wenn ein Steuerzeichen angezeigt ist und das SRP-Kennzeichen gesetzt ist, dann ist eine Zeitsperre angehalten worden, und das Programm "Zeitsperrenablaufir ist aufgerufen, um den Zeitsperrenzählerstand zu erniedrigen und eine weitere Zeitsperre zu starten, wenn der Zählerstand einen von Null abweichenden Wert hat. Der Zeitsperrenzählerstand wird immer dann erhöht, wenn der Übertragungsabhandler eine .Zeitsperre benötigt. Eine genauere Beschreibung der Status-und Protokollinterpretierungstabelle S-XI folgt unten. Der Sendeteil des Übertragungsabhandlers
409841/0845
enthält die folgenden Segmente:Sendeinitiator (Tabelle R-II); Sendekettenwartung (Tabelle R-IV); Sendeinterpretierer (Tabelle R-V). Wenn eine Nachricht ausgesendet werden soll, bewirkt der Nachrichtenschalter eine Einreihung des Sendeinitiators in eine Warteschlange. Das Format des vom Nachrichtenschalter zum Initiator durchgegebenen Warteschlangeneintrags ist in der TabelleS-XII angegeben.
Der Sende initiator macht von dem Kanalkennzeichen ID Gebrauch, um den entsprechenden Kanal zu finden.(Tabellen S-I, S-II und S-III). Der Initiator reiht die erste Nachricht in die Ausgangswarteschlange ein, und er bestimmt die Zahl der zur Aussendung der Nachricht erforderlichen Übertragungsblöcke. Der Nachrichtensteuerblock, der aus acht der Nachricht vorangehenden Wörtern besteht, ist so aufgebaut, wie in der Tabelle S-XIII dargestellt ist. Der Nachrichtensteuerblock wird nicht ausgesendet. Jeder Übertragungsblock der Nachricht wird zum Aussenden zu einem Programm "Block senden" weitergegeben. Das Programm "Block senden" (XMTBLK) gemäß der Tabelle R-III erwartet einen Blockmanagement-Informationseintrag gemäß der Tabelle S-XIV. Die Blockmanagementinformation muß von einem Programm eingestellt werden, die XKTBLK aufruft. Der Zwischenraum für die Blockmanagement-Information muß von einem Zwischenraum-Verarbeitungsblock angefordert werden, der im nächsten Abschnitt beschrieben wird. Der Initiator weist die nächste Folgezahl gemäß der Tabelle S-XV dem Übertragungsblock zu, und eine Übertragungsblockzahl wird durch die Zahl der Übertragungsblöcke bestimmt, die bereits für die Nachricht ausgesendet worden sind.Das das Textende kennzeichnende ETX-Kennzeichen wird in der Blockmanagementinformation des letzten Übertragungsblocks der Nachricht gesetzt. Die Nachricht wird von der Ausgangswarteschlange abgetrennt.
Das Programm XMTBLK (das Programm "Block senden")verbindet den Blockmanagement-Informationseintrag(BMI) mit dem Ende
409841/0845
der aktiven Warteschlange. Der Übertragungsblock wird dann ausgesendet, wobei ihndie zwei Wörter der Folgezahl und der Übertragungsblockzahl vorangehen. Der Übertragungsblock wird in Form mehrerer Zwischenübertragungsblöcke ausgesendet (abhängig von der Größe der Zwischenübertragungsblöcke). In Fig.11 ist die aktive Warteschlange der Blockmanagement-Information dargestellt. Das Programm XMTBLK führt Aufrufe des Sendekettenwartungsblocks (XMITER) durch ,damit eine ΑΤΙ-Liste aufgebaut und für jeden Aufruf angefügt wird.
Der Sendekettenwartungsblock (XMlTER) wird nach der Tabelle R-IV von jedem Block aufgerufen, der die Übertragung von Daten oder Protokollinformationen wünscht. Wenn eine Sendeanforderung erfolgt, wird die entsprechende Liste aufgebaut, und wenn die Liste für eine Datenübertragung vorgesehen ist, wird sie mit dem Ende der Sendekette verbunden. Wenn die Liste für die Übertragung von Protokollinformationen vorgesehen ist, wird sie mit dem Ende einer schwebenden Protokollkette verbunden und ein Haltbefehl wird zum CSCI ausgegeben, wenn nicht bereits ein Haltbefehl ausgegeben worden ist.
Die Hardware wird angehalten, wenn ein Haltfreigabesignal in der Übertragungskette festgestellt wird. Der Statusinterpretierer gibt die Steuerung an den Sendekettenwartungsblock XMITER weiter, wenn der Haltstatus festgestellt wird. Die schwebende Protokollinformation wird mit dem Kopf der SendekEbte verbunden, und zur Fortsetzung der Ausführung der Kette wird ein ATI-Signal abgegeben. Das Haltfreigabesignal ist in Protokollisten nicht gesetzt. Wenn keine Protokollinformation aussteht, wenn derHaltstatus behandelt wird, dann wird sofort zum erneuten Starten der Kette ein. ATI-Signal abgegeben.
40 9841/0845
Wiedergewinnungsübertragungsblöcken wird im Protokoll für den Verbindungsvorgang Vorrang verliehen. Der Sendeinterpretierer unterhalt gemäß der Tabelle R-V eine aktive Blockmanagement informations-Warte schlange nach Fig. 11, die in der Mhenfolge verbunden ist, in der Antworten erwartet werden. Wenn ein Haltstatus festgestellt wird, wird die Sendekette auf die erste Sender- -typ-Liste abgetastet. Die Folgezahl in der Liste wird zum Senderinterpretierer weitergegeben, der seine aktive Blockmanagemantinformations-Warteschlange aktualisiert. In jeder Liste wird ein Kennzeichen gesetzt, damit angezeigt wird, ob es vom Sender, vom Empfänger oder von keiner dieser Einheiten ausgelöst worden ist.
Der Sendelistenwartungsblock XMITER gibt einen Listenplatz frei, wenn in der Sendekette eine Segmentvollendung erfolgt. Der Statusinterpretierer gibt die Steuerung an den Sendekettenwartungsblock XMITER weiter, wenn er" den Status "Segment vollendet" (T) feststellt. Da Datenübertragungslisten mit dem Ende der Übertragungskette ohne Anhalten des CSCI verbunden sind, wird in der letzten Liste der Kette stets eine unzulässige Codegruppe gespeichert, damit angezeigt wird, wenn die Hardware eine Übertragungskette beendet hat. Unzulässige Codegruppen werden auch für die Empfangskette verwendet. Das Bit 7 in der unzulässigen Codegruppe zeigt eine Sendeliste an, wenn es auf den Signalwert 1 gesetzt ist. Die Bits 12 bis 15 werden zur Kennzeichnung der Liste verwendet, die eine unzulässige Codegruppe enthält.Yfenn eine Sendeliste(oder eine Empfangsliste) aufgebaut wird, bewirkt das Listenaufbauprogramm die Zuweisung einer unzulässigen Codegruppe zu der Liste sowie die Speicherung der Listenadresse in einer Tabelle S-XVI für unzulässige Codegruppen.
409841/0845
Die unzulässige Codegruppe wird durch Anwendung der nächsten verfügbaren Zahl festgestellt, und es wird dann die Zahl für die nächste Liste erhöht. In der unzulässigen Codegruppe ist das Bit 0 stets eingeschaltet. Die die unzulässige Codegruppe kennzeichnende Zahl liegt in einem Bereich von O bis sysgen.
Wenn .ein das Vorliegen einer unzulässigen Codegruppe kennzeichnender Status festgestellt wird, prüft der Statusinterpretierer, ob das Bit 7 gesetzt oder nicht gesetzt ist. Wenn das Bit 7 gesetzt ist, wird die Steuerung zum Sendekettenwartungsblock XMITER weitergegeben. Da das Segmentvollendungsbit in der letzten Kette nicht gesetzt ist, wird die Liste, in der die unzulässige Codegruppe aufgetreten ist, vom Sendekettenwartungsblock XMITER freigegeben. Wenn einige Listen vor der Behandlung des die unzulässige Codegruppe kennzeichnenden Status mit der Kette verbunden waren, wird ein ATI-Signal für eine neue Liste ausgegeben. Jedes schwebende Protokoll wird mit dem Kopf der Sendekette bei einer unzulässigen Codegruppe verbunden.
Die Listenketten, die Wiedergewinnungslisten und die BMI-Warteschlange erfordern kleine Speicherbereiche von unterschiedlichem Umfang. Diese kleinen Speicherbereiche werden aus dem freien Speicher geholt, in dem zunächst ein Block aus 128 Wörtern angefordert wird. Der Block aus 128 Wörtern wird dann den Segmenten zugeordnet, die einen Listenplatz erfordern. Wenn der Block vollständig oder nahezu vollständig reserviertist, und andere Komponenten Platz benötigen, dann erfolgt eine weitere Anforderung eines Blocks aus 128 Wörtern. Die Blöcke werden miteinander verbunden, und der zuletzt angeforderte (oder zuletzt gewonnene) Block befindet sich
409841/0845
am Kopf der Kette. Jeder Block aus 128 Wörtern ist mit vier Wörtern für das Speichermanagement ausgestattet, von denen sich drei vor dem Block und eines am Ende des Blocks befinden. Der Listenplatzbearbeitungsvorgang benützt zwei der dem Block vorangehenden organisatorischen Wörter und zwei oder mehr Wörter im Block für Reservierungsbits. Damit 128 Listenplatzwörter erhalten werden, wird ein Block--von 130 Wörtern angefordert.
Die Blockvorsatzinformation ist in der Tabelle S-XVJI angegeben. Jedes Bit in den Reservebitwörtern zeigt an, ob eine entsprechende Gruppe von vier Wörtern reserviert oder frei ist.Wenn das Bit den Signalwert 1 hat, dann sind die vier Worter reserviert. Wenn ein Segment einen Listenplatz anfordert, dann geht der Listenplatzverarbeiter zum ersten Listenplatzblock und untersucht die reservierten Wörter hinsichtlich der Größe des angeforderten Platzes (unter Aufrundung auf ein Vielfaches von 4). Wenn in diesem Block der Platz nicht gefunden wird, schreitet das Programm .zum nächsten Block vielter und untersucht diesen auf das Vorhandensein des Platzes. Wenn der Platz gefunden wird, werden die entsprechenden Bits auf den Signalwert 1 gesetzt, und die Adresse des Listenplatzes wird zum rufenden Segment gegeben.
Wenn von einer Komponente Listenplatz freigegeben wird, durchsucht das Managementprogramm die Listenplatzblöcke beginnend mit dem Ende der Warteschlange. Wenn der richtige Block gefunden ist, werden die entsprechenden Reservebits in den Reservewörtern zurückgesetzt. Wenn alle Reservebits zurückgesetzt sind, ist der Listenplatz an dem freien Speicher freigegeben.
Der Sendeinterpretierer (XMTINT) bestimmt gemäß Tabelle R-V, welcher Vorgang an dem auf Aussendungen bezogenen Protokoll
409841/Ü84S
land Status durchgeführt werden soll. Der Statusinterpretierer bestimmt, welches Protokoll und welcher Status zum Sendeinterpretierer durchgegeben werden soll. Die zum Sendeinterpretierer (XMTINT) durchgegebenen Protokollinformationen sind die Nachrichten ACK, NAK und die Erapfangszeitsperre. Die für das Protokoll und den Status unternommenen Vorgänge v/erden nachfolgend beschrieben.
Wenn der Sendeinterpretierer die Steuerung übernimmt, ändert er den Steuerblockhinweis der ausführenden Aufgabe, (ETCBP) derart, daß er auf den Aufgabesteuerblock des Sendeinterpretierers hinweist. Wenn der Sendeinterpretierer an einer Stelle auf den Speicher warten muß, können der Initiator, der Statusinterpretierer und der Empfangsinterpretierer immer noch· weiterarbeiten.
Wie in der Tabelle S-VIII dargestellt ist, wird ein Protokollzeichen in einer SRP-Nachricht mit einer entsprechenden Folgezahl gesendet. Die Folgezahl wird durch Vergleich mit der erwarteten Folgezahl auf ihre Gültigkeit überprüft. Wenn die empfangene Folgezahl kleiner als die erwartete Folgezahl ist, wird die aktive BMI-Warteschlange nach Fig.11 auf das Vorhandensein der empfangenen Zahl untersucht. Wenn die Zahl in der aktiven BMI-Warteschlange nicht aufgefunden wird, oder wenn die Zahl größer als erwartet ist und außerhalb eines Annahmefensters liegt, wird die Protokollinformation ignoriert, und die Empfangszeitsperre wird erneut gestartet, damit die fehlerhafte Protokollinformation erlaubt wird. Wenn sich.die Zahl als gültig erweist,wird die aktive BMI-Warteschlange nach der Tabelle S-XIV im Zusammenhang mit Fig.11 auf den
409841/0845
dieser Folgezahl entsprechenden Eintrag abgesucht. Wenn ein Eintrag nicht gefunden wird, wird die Protokollinformation als ungültig behandelt. Wenn die Zahl gültig, jedoch größer als die erwartete Zahl ist, werden für die fehlenden Zahlen RSP-Nachrichten ausgesendet. Diese Gültigmachung der Folgezahl erfolgt sowohl für ACK-Nachrichten als auch für NAK-Nachrichten.
Die in der Tabelle S-XIV im Zusammenhang mit Fig.11 dargestellte aktive BMI-V/arte schlange wird in der Reihenfolge verbunden, in der Antwortblöcke erwartet werden. Wenn eine Antwort außerhalb der Reihenfolge empfangen v/ird, wird für jede der fehlenden Nachrichten eine RSP-Nachricht gesendet. Die Blockmanagementinformation BMI für jeden Block, der eine fehlende Antwort enthält, wird mit dem Ende einer Senderwiedergewinnungswarteschlange verbunden, wenn die aktive BMI-Warteschlange nicht leer ist. Auch wenn eine NAK-Nachricht für einen Block empfangen wird, wird die Blockmanagementinformation BMI für den Block mit der Sendewiedergewinnungswarteschlange verbunden. Zum Anfügen von Protokoll- oder Wiedergewinnungsblöcken an die Sendekette hält die Sendekettenwartung XMITER die Hardware an. Wenn der Haltestatus von der Sendekettenwartung XMITER verarbeitet wird und die Protokoll- und Wiedergewinnungsblöcke mit der Sendekette verbunden sind, schickt die Sendekettenwartung XMITER die Folgezahl zu der Liste für den Sendertyp zurück, die am dichtesten beim Kopf der Sendekette liegt, ehe die Wiederanfügungsoperation durchgeführt wird. Die zurückgeschickte Folgezahl wird zum Auffinden des Punkts verwendet, an dem Eintragungen der Sendewiedergewinnungswarteschlange in die aktive BMI-Warteschlange eingefügt werden sollen.
409841/0845
Als Beispiel sei Flg.12 betrachtet, in der die Verbindungsreihenfolge der aktiven BMI-Warteschlange und der Sendekette dargestellt ist, wenn eine NAK-Nachricht für den Block empfangen wird.Es wurde eine Antwort für den Block 11 erwartet, so daß für diesen"Block 11 eine RSP-Nachricht gesendet werden muß, während der Block 12 erneut gesendet werden muß.Fig.13 zeigt die. Sendewiedergewinnungswarteschlange, die aktive BMI-Warteschlange und die Sendekette unmittelbar vor der Bearbeitung des Haltvollendungsstatus. Der Halt-Status ist im Anschluß an die Übertragung des Blocks 2 wirksam. Die Blockmanagementinformation BMI für den Block 2 bleibt in der aktiven BMI-Warteschlange, bis eine Antwort für den Block 2 empfangen wird. Fig.14 zeigt die Warteschlangenverbindung nach der Verarbeitung des Halt-Status durch die Sendekettenwartung XMITER. Die Sendekettenwartung XMITER verbindet den oder die Protokoll- und Wiedergewinnungsblöcke mit dem Anfang der Sendekette und derBlock 13 wird von der Sendekettenwartung XMITER zum Interpretierer übertragen. Der Sendeinterpretierer XMTINT fügt nun vor der Managementinformation für den Block 13 in die aktive BMI-Warteschlange Eintragungen der Sendewiedergewinnungswarteschlange ein. Der Sendeinterpretierer XMTINT erwartet nun Antworten in der Reihenfolge 2, 11, 12, 13, 14, 15 , wie die aktive BMI-Warte schlange anzeigt.
Wenn eine gültige ACK-Nachricht empfangen worden ist, entnimmt der Sendeinterpretierer XMTINT die Übertragungsblockzahl in der entsprechenden Blockmanagementinformation. Wenn ein Übertragungsblock bestätigt worden ist, wird dieser Block für den freien Speicher freigegeben, wenn der Übertragungsblock nicht der erste Übertragungsblock in einer Nachricht ist. Der erste Übertragungsblock wird nicht freigegeben, bis die gesamte Nachricht bestätigt
409841/084S
241589Q
worden ist, weil der Nachrichtensteuerblock "bis zu diesem Zeitpunkt reserviert bleibt. Die Blockmanagementinformation für einen bestätigten Block wird aus der aktiven BMI-Warteschlange herausgenommen und freigegeben.
Wenn alle Übertragungsblöcke einer Nachricht bestätigt worden sind, werden der Nachrichtensteuerblock und restliche Übertragungsblöcke an den freien Speicher freigegeben. Der Ausgangspufferzählerstand wird dann erniedrigt, und wenn er den Wert 0 hat, dann warten keine Puffer auf die Übertragung oder auf den Empfang von Antworten.
Das Auftreten einer Empfangszeitsperre zeigt eine fehlende Antwort an. Wenn die aktive BMI-Warteschlange eine oder mehrere Eintragungen enthält, dann wird für die Folgezahl in der Blockmanagementinformation am Beginn der Wartßschlange eine RSP-Nachricht gesendet, und die Blockmanagementinformation BMI wird mit der Sendewiedergewinnungswarteschlange verbunden, wie im Abschnitt Y beschrieben ist. Es wird dann eine weitere Zeitsperre gestartet, die die Antwort auf die RSP-Nachricht vorwegnimmt.
Es ist möglich, daß eine die Zeitsperre anhaltende SRP-Nachricht so empfangen wird, daß unmittelbar auf sie eine weitere SRP-Nachricht folgt, so daß die zweite SRP-Nachricht vor dem Start einer weiteren Zeitsperre empfangen wird. Obgleich die zweite SRP-Nachricht keine Zeitsperre anhielt, wird schließlich eine zusätzliche Zeitsperre für die zweite SRP-Nachricht gestartet. Das bedeutet, daß eigene Zeitsperren auftreten können, wenn keine Antworten erwartet werden. Wenn die aktive BMI-Warteschlange leer wird, wird der Zeitsperrenzählerstand auf 0 gesetzt und CSCI gibt einen Zeitsperrenstoppbefehl zum Verhindern eigener Zeitsperren ab. Da die BMI-Warteschlange die Zahl der erwarteten Antworten anzeigt, wird die Zeitsperre jedesmal dann gestartet, wenn ein Eintrag
409841/0845
241589Q
an eine leere BMI-Warteschlange angefügt wird. Bei jeder Entnahme eines Eintrags aus der BMI-Warteschlange wird die Zeitsperre erneut gestartet, wenn die BMI-Warteschlange nicht leer ist.
Wenn eine gültige NAK-Nachricht empfangen wird, wird die entsprechende Blockmanagementinformation BMI von der aktiven BMI-Warteschic.nge abgetrennt. Die Bloekmanagementinformation wird dann an die Wiedergewinnungswarteschlange angefügt, und die Adresse der Blockmanagementinformation wird zum Blockübertragungsprogramm (XMTBLK) gemäß Tabelle R-III weitergegeben, und der Block wird mit dem Protokollvorrang erneut übertragen.
Der Empfänger ist stets für den Empfang von Daten bereit. Eine Nachricht wird in Form eines oder mehrerer Übertragungsblöcke ausgesendet, die zur Bildung des Nachrichtenblocks zusammengefaßt sind, der zum Nachrichtenschalter geschickt wird. Die Empfänger-Software besteht aus : Einer Empfangskettenwartung (RCVR), Tabelle R-VI; einem Empfangsinterpretierer (RCVINT),Tabelle R-VII; einem Nachrichtenverdichter (UNIFY), Tabelle R-VIII. Diese Segmente werden unten genauer beenhrieben.
Das in der Tabelle R-VI angegebene Empfangskettenwartungsprogramm (RCVR) gelangt entweder durch den Statusinterpretierer nach der Tabelle R-V oder durch ein anderes Segment, das die Auslösung mehrerer Empfangslisten wünscht, zur Ausführung. Der Statusinterpretierer gibt die Steuerung zum Empfangskettenwartungsprogramm RCVR weiter, wenn folgende Zustände festgestellt werden: Eine unzulässige Codegruppe für die Empfangskette oder ein Segmentvollendungssignal (R).
409841/0845
Das SegmentvollendungssignalCR)zeigt an , daß eine Empfangsliste' vollendet worden ist. Das Empfangskettenwartungsprogramm RCVR aktualisiert den Anfang des Empfangskettenhinweises nach der Tabelle S-II; es gibt ferner den Listenplatz frei und erniedrigt den Listenzählerstand. Das Programm RCVRversucht dann mehrere Empfangslisten gemäß der nachfolgenden Beschreibung auszulösen.
Das Programm RCVR fährt fort, den Aufbau von Empfangslisten zu versuchen, bis eine Listengrenze erreicht ist oder bis kein Speicherplatz mehr zur Verfügung steht. An GETMEM wird eine Anforderung nach einem Speicherblock von der Größe eines Übertragungsblocks zuzüglich acht Wörtern durchgeführt. Wenn kein Speicherplatz zur Verfügung steht, wird die Steuerung zum Aufrufprogramm zurückgegeben. Wenn Speicherplatz zur Verfügung steht, dann wird eine Liste für den Empfang in diesem Speicherblock aufgebaut. Es v/ird ein Platz für einen Puffersteuerblock von acht Wörtern erlaubt, Die ersten zwei Textwörter sind die Folgezahl nach Tabelle S-XV. Die ersten zwei Textwörter werden im Puffersteuerblock bei den Wörtern 6 und 7 empfangen. Die Empfangsliste wird mit dem Ende der Empfangskette verbunden, und der Listenzählerstand wird erhöht. Das Programm RCVR fährt dann mit dem Aufbau weiterer Listen gemäß der obigen Beschreibung fort.
Eine unzulässige Codegruppe für' den Empfänger zeigt an, daß die Empfangskette von der Hardware vollendet worden ist.Das Programm RCVR prüft, ob zusätzliche Listen mit der Kette verbunden wurden, nachdem die Kette vollendet war, jedoch ehe der Status des unzulässigen Codes bearbeitet wurde. Wenn zusätzliche Listen vorhanden sind, werden diese Listen durch eine ΑΤΙ-Nachricht wieder ausgegeben,Das Programm RCVR versucht nun mehrere Empfangslisten gemäß der obigen Beschreibung aufzubauen. Wenn für weitere Empfangslisten kein Speicherplatz mehr verfügbar ist, oder
409841/0845
wenn die Listenzählgrenze erreicht ist, wird die Steuerung zum Statusinterpretierer weitergegeben.
Für die Empfangslisten wird Platz vom Listenplatz-Verarbeiter angefordert und freigegeben. Der Listenplatz-Verarbeiter wird unten beschrieben. Der in der Tabelle R-VII angegebene Empfangsinterpretierer (RCVINT) wird vom Statusinterpretierer immer dann zur Ausführung gebracht, wenn ein Protokoll oder ein Status festgestellt wird, der auf den Empfänger anwendbar ist. Nach Erlangung des Ausführungszustandes ersetzt der Empfangsinterpretierer (RCVINT) den Inhalt des Steuerblockhinweises für die ausführende Aufgabe (ETCBP) durch die Adresse seines eigenen Aufgabesteuerblocks. Wenn der Empfangsinterpretierer RCVINT auf Speicherplatz warten muß, können der Statusinterpretierer und der Senderinterpretierer mit der Ausführung fortfahren. Der Empfangsinterpretierer (RCVINT) erlangt die Steuerwirkung für das Protokoll (RSP), für Datenblöcke, und für Fehler (CRC-Fehler, Überlauf und Textzeitsperre).
Wenn ein Fehler festgestellt wird, sendet der Empfangsinterpretierer RCVINT eine NAK-Nachricht für den Block, dessen Empfang er erwartete (Tabelle S-I). Wenn ein Überlauf festgestellt wird, wird das Programm RCVR zum Starten von Empfangslisten aufgerufen. Wenn eine Liste beim Auftreten eines Überlaufs aktiv ist, wird der zugehörige Block freigegeben. Nachdem eine NAK-Nachricht für die erwartete Folgezahl gesendet ist, wird die Folgezahl in eine NAK-Liste eingesetzt, und die erwartete Folgezahl wird erhöht. Die NAK-Liste wird nachfolgend erläutert.
Eine RSP-Nachricht ist eine Anforderung, daß eine Antwort für die bestimmte Folgezahl wieder übertragen wird. Wenn
4Q9841/0845
die Folgezahl größer als die Folgezahl des nächsten erwarteten Blocks ist, jedoch innerhalb des Annahmefensters liegt, wird für diese Folgezahl eine NAK-Nachricht ausgesendet, und für jeden fehlenden Block wird ebenfalls eine NAK-Nachricht ausgesendet.Es wird angenommen, daß einige der RSP-Nachrichten verlorengegangen sind. Wenn die von der RSP-Nachricht angegebene Folgezahl kleiner als die Folgezahl des nächsten erwarteten Blocks ist und die Folgezahl in der NAK-Liste erscheint, dann wird eine NAK-Nachricht für diesen Block erneut übertragen. Wenn die angegebene Zahl in der NAK-Liste nicht erscheint, dann wird angenommen, daß der Block ohne Fehler empfangen wurde, und es wird für diesen Rock eine ACK-Nachricht ausgesendet. Wenn die angegebene Zahl zu groß ist, wird das RSP-Protokoll nicht beachtet. Wenn RSP verstümmelt war, dann erwartet der Sender eine Antwort auf das nichtbeachtete RSP-Protokoll, und er sendet schließlich ein v/eiteres RSP-Protokoll.
Der Empfangsinterpretierer RCVINT gelangt durch die Wirkung des Statusinterpretierers zur Ausführung , wenn ein Übertragungsblock empfangen worden ist. Der Empfangsinterpretierer RCVINT bestimmt die tatsächliche Blockgröße und er baut, wie in der Tabelle S-XIX angegeben, einen Puffersteuerblodauf. Wenn der Block die erwartete Folgezahl aufweist, dann wird der erwartete Folgezahlparameter erhöht, und für diesen Blockwird eine ACK-Nachricht ausgesendet. Wenn dieZahl größer als erwartet ist, wird für jeden fehlenden Block eine NAK-Nachricht ausgesendet, und es wird ein Eintrag in der NAK-Liste für jeden fehlenden Block durchgeführt; die erwartete Folgezahl wird so erhöht, daß sie den zuletzt empfangenen Block enthält.Für den Block wird eine ACK-Nachricht ausgesendet. Wenn die Folgezahl des Blocks außerhalb des Annahmefensters
409841/0845
liegt, wird der Block gestrichen.
Wenn ein Block mit einer Folgezahl empfangen wird, die kleiner als die erwartete Folgezahl ist und die Zahl in der NAK-Liste erscheint, dann wird für den Block eine ACK-Nachricht ausgesendet, und die Zahl wird der NAK-Liste entnommen. Wenn die Zahl in der NAK-Liste nicht erscheint, wird der Block gestrichen.
Nachdem ein Block erfolgreich empfangen worden ist, wird er zu dem in der Tabelle R-VIII angegebenen Nachrichtenverdichter (UNIFY) weitergegeben. Der Bmpfangsinterpretierer macht einen Eintrag .in eine Warteschlange für den Nachrichtenverdichter UNIFY gemäß Tabelle S-XX, und er verbindet den Warteschlangeneintrag mit dem Ende der Warteschlange für den Nachrichtenverdichter UNIFY, wenn der Block nicht ein Wiedergewinnungsblock ist.Ein Eintrag in die Wiedergewinnungsbrockwarte schlange wird mit dem Anfang der Warteschlange für den Nachrichtenverdichter UNIFY verbunden. Alle auf einen fehlerhaften Block folgenden Daten müssen warten, bis der Wiedergewinnungsblock empfangen ist, so daß den Wiedergewinnungsblöeken in der Warteschlange die höchste Priorität verliehen wird.
Das Format eines NÄK-Listensegments ist in der Tabelle S-XXI angegeben. Jedes Segment der NAK-Liste weist einen Vorsatz aus vier Wörtern mit dem in der Tabelle S-XXI angegebenen Inhalt auf. Auf den Vorsatz folgt eine Zahl von Lücken, in die die Folgezahlen von NAK-Blöcken eingefügt werden. Leere Lücken werden mit den Signalwerten O aufgefüllt. Wenn ein NAK-Listensegment vollständig leer wird, wird das Segment für den freien Speicher freigegeben.
409841/0845
Nach dem Empfang eines Wiedergewinnungsblocks wird die Liste auf das Vorhandensein der entsprechenden Folgezahl durchsucht. Wenn die Zahl gefunden wird, wird der Signalwert 0 in der Lücke gespeichert. Wenn das gesamte Segment dann leer ist, wird das Segment freigegeben. Damit verhindert wird, daß ein bestimmtes Segment des freien Speichers ständig für die NAK-Liste reserviert ist, sind die Lücken nicht wieder verwendbar. Wenn ein weiterer Eintrag der NAK -Liste gemacht werden muß, und das Ende des laufenden Segments erreicht worden ist, dann wird ein weiterer Speicherblock für das nächste NAK-Listensegment angefordert. Das neue Segment wird mit dem Anfang der Kette der NÄK-Listensegmente verbunden. Beim Durchsuchen der NAK-Liste wird der Suchvorgang vom Ende der Warteschlange aus vorgenommen. Wenn ein Suchvorgang auf das Vorhandensein einer Lücke .durchgeführt wird, wird nur das Segment am Beginn der Kette auf das Vorhandensein eines freien Platzes untersucht.
Die Folgezahlen liegen in der Reihenfolge vor, in der Wiedergewinnungsblöcke erwartet werden. Wenn eine Zahl fallengelassen wird, wird vom Sender erwartet, daß er für diese Zahl eine RSP-Nachricht aussendet. Wenn die Liste auf das Vorhandensein einer Zahl untersucht wird, und die Zahl gefunden wird, wird die Zahl automatisch der NAK-Liste entnommen. Wenn eine v/eitere NAK-Nachricht für diese Zahl ausgesendet wird, wird diese Zahl wieder in die NAK-Liste eingegeben.
Der Nachrichtenverdichter (UNIFY) entnimmt gemäß der Tabelle R-VIII Übertragungsblöcke als Eingangsgrößen, und er verdichtet diese Blöcke in einem Speicherblock zur Bildung eines Textblocks oder einer Nachricht, die zum Nachrichten? schalter weitergegeben wird. Der Nachrichtenverdichter UNIFY wird vom Empfangsinterpretierer RCVINT gemäß der Tabelle R-VII in eine Warteschlange eingereiht, \ieim ein.libertragungsblock
409841/0 845
erfolgreich empfangen worden ist. Das Format des Warteschlangeneintrags ist in der Tabelle S-XX dargestellt. Der Puffersteuerblock für den Übertragungsblock muß das in der Tabelle S-XIX angegebene Format aufweisen.
Wenn der Nachrichtenverdichter UNIFY den Speicher verläßt, dann bildet er für sich selbst einen Warteschlangeneintrag mit einer Blockadresse O. Es wird ein Eintrag in der Kanalwarteschlange der Tabelle S-XXII durchgeführt, der anzeigt, welche Kanäle einen offenstehenden WarteSchlangeneintrag "Kein Speicher" enthalten. Für jeden Kanal wird nur ein solcher Warteschlangeneintrag gemacht. Wenn ein solcher Warteschlangeneintrag vom Nachrichtenverdichter UNIFY festgestellt wird, wird der Tabelleneintrag für den Kanal weggelassen. Das Programm wird eine Struktur aufweisen, die mehrfache Kanäle zuläßt, jedoch erlaubt die Kennzeichentabelle für jeden Kanal gemäß derTabelle S-XXII nur den Kanal O.
Wenn der Nachrichtenverdichter UNIFY zur Ausführung gelangt, macht er vom Kanalkennzeichen ID aus dem Warteschlangeneintrag Gebrauch, um einen Hinweis auf die in der Tabelle S-I angegebene Kanaldatentabelle zu setzen. Es wird ein Kennzeichen gesetzt, das anzeigt, daß ein Blockwarteschlangeneintrag verarbeitet wird. Wenn das ETX-Kennzeichen für den Block gemäß der Tabelle S-XIX gesetzt ist, und die Übertragungsblockzahl 0 ist, dann ist der Block der erste und der letzte Block einer Nachricht, und die Nachricht ist vollendet. Wenn die Blockgröße den Wert 2 hat, was zeigt, daß nur eine Folgezahl übertragen worden ist, wird der Block freigegeben. Von Nachrichten, die nur eine Folgezahl enthalten, wird angenommen, daß sie Leernachrichten vom Sender sind.
409841/0845
Üb'ertragungsblöcke für Nachrichten, die mehr als einen Block erfordern, befinden sich nicht an zusammenhängenden Speicherplätzen. Ein Speicherblock für die gesamte Nachricht wird aus dem freien Speicher gewonnen, und die Daten in den Übertragungsblöcken werden in den Nachrichtenblock bewegt. Einem Übertragungsblock sind zwei Folgezahlen nach Tabelle S-XV zugeordnet. Die Übertragungsblockzahl zeigt an, v/o die Daten im Übertragungsblock in den Nachrichtenblock eingefügt v/erden sollten. Die Folgezahl des ersten Übertragungsblocks in einer Nachricht ist dem Nachrichtenblock zugeordnet, und sie wird zum Auffinden des Nachrichtenblocks verwendet, wem ein Übertragungsblock für diese Nachricht empfangen wird. Wenn ein Übertragungsblock empfangen wird, wird die Folgezahl des Nachrichtenblocks durch Subtrahieren der Übertragungsblockzahl von der Folgezahl des Blocks bestimmt. Die Eingangsv/arteschlange der Nachrichtenblöcke wird dann auf das Vorhandensein dieses Nachrichtenblocks durchsucht. Wenn sich der Nachrichtenblock nicht in der Warteschlange befindet, dann erfolgt einAufruf an den Speicher für einen Nachrichtenblock. Wenn Speicherplatz zur Verfügung steht, wird der Nachrichtensteuerblock in ein Format gemäß der Tabelle S-XXIII gebracht, und die Nachricht wird mit der Eingangswarteschlange verbunden.
Die Eingangsv/arteschlange wird derart geordnet gehalten, daß die niedrigst bezifferte Nachricht am Anfang der Warteschlange liegt. Die Nachricht am Anfang der Warteschlange wird vollendet und zum Nachrichtenschalter weitergegeben,-ehe eine der weiteren Nachrichten zum Nachrichtenschalter durchgegeben v/erden kann. Wenn ein Nachrichtenblock mit der Eingangswarteschlange verbunden v/erden soll, untersucht der Nachrichtenverdichter UNIFY die Warteschlange auf das Vorhandensein eines Einfügungspunkts für den Block imter Zugrundelegung der Folgezahl.
4Ü9841/U845
Wenn der Nachrichtenblock gefunden ist, wird die Übertragungsblockzahl zum Berechnen der Adresse verwendet, an der die Daten abzuspeichern sind. Die Übertragungsblockzahl (TBN) wird mit der Übertragungsblockgröße (TBS) multipliziert und zur ersten- Wortadresse der Nachricht addiert. Die Daten werden vom Übertragungsblock zum Nachrichtenblock übertragen. Wenn das ETX-Kennzeichen für den Übertragungsblock gesetzt ist, wird die Übertragungsblockzahl im Nachrichtensteuerblock gespeichert (Tabelle S-XXIII). Wenn die Zahl der für die Nachricht empfangenen Blöcke gleich der Zahl der Übertragungsblöcke vermehrt um einen ETX-Block ist, dann ist die Nachricht vollendet.
Nach Empfang eines ETX-Blocks ist die Länge der Nachricht bekannt, und der nicht benutzte Platz im Nachrichtenblock wird freigegeben, wenn mehr als 64 Wörter nicht benutzt sind. Der Übertragungsblock wird an den freien Speicher freigegeben, nachdem die Daten, die er enthielt, in den Nachrichtenblock übertragen sind. Übertragungsblöcke, die die gesamte Nachricht enthalten, werden mit der Eingangswarteschlange verbunden und nicht freigegeben.
Nachdem eine Nachricht vollendet worden ist, prüft der Nachrichtenverdichter UNIFY , ob sich die Nachricht am Anfang der Warteschlange befindet oder nicht. Befindet sich die Nachricht am Anfang der Warteschlange, dann wird sie zum Nachrichtenschalter durchgegeben, und der Nachrichtenverdichter UNIFY prüft, ob die nächste Nachricht der Eingangswarteschlange vollendet ist, und er gibt sie zum Nachrichtenschalter durch, wenn sie fertig ist. Wenn die Nachricht am Anfang der Eingangswarteschlange nicht vollendet ist, wird die Warteschlangs für schwebende Übertragungsblöcke durchsucht.
409841/0845
Wenn der Nachrichtenverdichter UNIFY keinen Speicherplatz für einen Nachrichtenblock erhalten kann, dann wird der Übertragungsblock, den der Nachrichtenverdichter UNIFY verarbeitete, an das Ende der V/arte schlange für schwebende Übertragungsblöcke angefügt, und es wird für diesen Kanal ein Warteschlangeneintrag "Kein Speicherplatz" durchgeführt. Bei jeder Beendigung der Verarbeitung eines Übeitragungsblocks durchsucht der Nachrichtenverdichter UNIFY die Warteschlange für schwebende Übertragungsblöcke auf das Vorhandensein von Eintragungen, und er verarbeitet die Übertragungsblöcke in dieser Warteschlange. Der Nachrichtenverdichter UNIFY versucht, jeden Block derWarteschlange zu verarbeiten, auch wenn einige infolge des Fehlens von Speicherplatz für einen Nachrichtenblock übersprungen werden können. Wenn die gesamte Warteschlange geprüft oder verarbeitet worden ist, wird die Steuerung zur Aufrufverarbeitungseinheit v/eitergegeben. Die Warteschlange für schwebende Übertragungsblöcke wird von niedrigen zu hohen Werten geordnet gehalten, da die Eingangswarteschlange ebenfalls geordnet ist.
Die Erfindung ist hier zwar im Zusammenhang mit verschiedenen Ausführungsbeispielen beschrieben worden, doch ist für den Fachmann zu erkennen, daß im Rahmen der Erfindung vielfältige Abwandlungsmöglichkeiten gegeben sind.
Patentansprüche
409841/0845
TABELLE I
Steuerzeichencodes
Steuerzeichen Hexadezimal-
Code
DLE STX 10 02
DLE ETX 10 83
DLE ITB 10 IF
DLE ETB 10 97
DLE SRP 10 08
■ AGK 86
NAK 15
RSP 85
SYN 16
AÜ9841/Ü84fc>
TABELLE II
Beispiel einer Datenübertragung in einer Richtung
S S
Y Y
N N
S S Y Y N N
S S
Y Y
N N I
DS TEXT DEB DS TEXT DEB DS TEXT DEB DS T
T?
DEB
LT LTC LT LTC LT LTC LT y LTC
EX EBC EX EXC EX EXC EX Λ
T
EXC
S S Y Y N N
D S L T E X
TABELLE III Anwendung der Folge DLE ITB
D S D I B D S D I B D S Satz D I B D S D E B A
L T TEXT L T C L T TEXT L T C L T TEXT L T C L T TEXT L T C C
E X
— —
E B C E X E B C E X E B C E X E. X C K
"- —. ——. -^- -—— ■ ^ -^ _ -— — — ach-
gehört zum -^ richt
gesaraten
TABELLE IV
Textblock-Organisation
8 BITS X BITS
D S L T E X
Folgezahl
O-FFFF L
TEXT
Daten
BITS 16 BITS ΐβ BITS
D E L T
E X
16 BITS
TABELLE V
Antwortnachrichtenformat
16 BITS BITS
Λ
BITS
Λ Γ
16 BITS 16 BITS A
DLE
SRP
Folgezahl Antwort
zeichen
DLE
ETX
B
C
C
CH QO OO O
TABELLE VI
Beispiel einer ACK-Nachricht
CO 00
OC
tr
S 1 D
η
D E B D S 2 D
Λ
D E B D S 3 D
Λ
D E B D S 4 D
Λ
D E B D S 5 D
Λ
D E B D
D T rl
1
A
L T C L T T
A
L T C L T η
T
A
L T C L T rl
T
A
L T C L T η
T
A
L T C L
L X E X C E
"··=:
X
——.
E X σ E X — ■—.
--^.
E X C E X E B C E X E X C E
E —-~. —-« —«
■«■·.
■~~.
■-— *■ — — — ACK
MSG ACK MSG
1 MSG 3
AC 2
VJl
-P-
cn οο CO O
TABELLE VII
Beispiel einer NAK-Nachricht
gleicher Block
TEXT
BLOCK 2
. TEXT
BLOCK 3
TEXT
BLOCK 4
NAK
MSG
2
TEXT
BLOCK 2
TEXT
BLOCK 1
——
^-—-
ACK
MSG
1
ACK
MSG
3
TABELLE VIII
Beispiel einer RSP-Nachricht
TEXT
BLOCK
4
TEXT
BLOCK
5
TEXT
BLOCK
6
ACK
MSG
BLOCK
3
ACK
MSG
BLOCK
4
ACK
MSG
BLOCK
RSP
MSG
TEXT
BLOCK
7
TEXT
BLOCK
8
TEXT
BLOCK
9
TEXT
BLOCK
ACK
MSG
BLOCK
.6
Diese Antwort ist beim Empfang an der Sendestation verloren oder fehlerhaft.
ACK
MSG
BLOCK
nochmal übertragen
409841/0845
TABELLE IX
Beispiel eines richtigen Codes BCC und einer richtigen Folgezahl
BLOCK 1 BLOCK 2 BLOCK 3 BLOCK 4 BLOCK 5 BLOCK 6
ACK ACK ACK
MSG MSG MSG
1 2 ■3
TABELLE X
Beispiel einer NAK-Antwortnachricht und einer niedrigen Folgezahl
gleicher Block
BLOCK 1
(fehlerhaft)
BLOCK 2 BLOCK 3 BLOCK 4 BLOCK 1 BLOCK 6'
NAK
MSG
1
ACK
MSG
2
ACK
MSG
3
TABELLE XI
Beispiel einer falschverstandenen ACK-Nachricht gestrichen
BLOCK 1 BLOCK 2 BLOCK 1 BLOCK 3 BLOCK 4 BLOCK 5
ACK ACK ACK
MSG MSG MSG
1 2 1
409841/0845
TABELLE XII
Beispiel einer hohen Folgezahl
vom Empfänger ausgelassen
BLOCK 1 BLOCK 2 BLOCK 3 BLOCK '4 BLOCK 5 BLOCK 6
TABELLE XIII
Vollduplexbetrieb
BLOCK
4
ACK
MSG
BLOCK
IO
BLOCK
5
NAK MSG BLOCK 11
ACK MSG BLOCK 12
BLOCK 6
BLOCK 7 ACK
MSG
BLOCK
13
BLOCK
8
ACK MSG BLOCK 14
BLOCK 9
BLOCK
BLOCK
BLOCK
12
ACK
MSG
BLOCK
BLOCK 13
BLOCK 11
ACK
BLOCK
ACK
MSG
BLOCK
BLOCK
15
ACK
MSG
BLOCK
BLOCK 16
gleicher Block
409841/0845
Tabelle S-I " Kanaldaten
0 Statuskennzeichen
1 Reserviert
2 Eingangs-TCB-Adresse (Statusinterpretierer)
3 Ausgangs-TCB-Adresse (Initiator)
4 Maximale Nachrichtengröße
5 Übertragungsblockgröße
6 Zwischenübertragungsblockgröße
7 Ausgangspuffergrenze '
8 Zahl der zugewiesenen Ausgangspuffer
9 Ausgangswarteschlangenstart
10 Ausgangswarteschlangenende
11 Eingangspuffergrenze
12 Zahl der zugewiesenen Eingangspuffer
13 Eingangswarteschlangenstart
14 Eingangswarteschlangenende
15 Zahl der Statusblöcke
16 Adresse des ersten Statusblocks
17 Adresse des letzten geprüften Statusblocks
18 Adresse des letzten Statusblocks
19 Nächste zu sendende Folgezahl
20 Erwartete Antwortzahl
21 Annahmefenster
22 Nächste erwartete Folgezahl
23 Haltkennzeichen (Bit 0)/Fehlergrenze für Abbruch 24
26 Adresse des Zusatzleerplatzes 1
27 Adresse des Zusatzleerplatzes 2
28 Startadresse, ASC-Eingangsdaten-Nachrichtenwarteschlange
29 Endadresse, ASC-Eingangsdaten-Nachrichtenwarteschlange
30 Startadresse, ASC-Ausgangsdaten-Nachrichtenwarteschlange
31 Endadresse, ASC-Ausgangsdaten-Nachrichtenwarteschlange
4Ό9841/0845
Zusatzleerplatz 1
0 Sendekettenanfang
1 Sendekettenende
2 Start der Sendewiedergewinnungswarteschlange
3 Ende der Sendewiedergewinnungswarteschlange
4 Start der schwebenden Protokollkette
5 · Ende der schwebenden Protokollkette
6 Start der Warteschlange für aktive Blöcke
7 Ende der Warteschlange für aktive Blöcke
8 Empfangskettenanfang
9 Empfangskettenende
10 Start der Warteschlange für empfangene Blöcke
11 Ende der Warteschlange für empfangene Blöcke
12 Anfang der NAK-Liste
13 Ende der NAK-Liste
14
16 Zahl der Zeitsperren ohne eine gültige Antwort
17 Zahl der ohne gültigen Block gesendeten NAK-Nachrichten
409841/0845
Zusatzleerplatz 2
0 Zahl der schwebenden RSP-Nachrichten
1 Zahl der schwebenden Blöcke bei ACK
2 Gesamtzahl der empfangenen NAK-Nachrichten
3 Gesamtzahl der ausgesendeten NAK-Nachrichten
4 Zahl der schwebenden NAK-Nachrichten
5 Zahl der empfangenen RSP-Nachrichten
6 Gesamtzahl der Zeitsperren
7 Gesamtzahl der Textzeitsperren
8 Gesamtzahl der Überläufe
9 Gesamtzahl von CRC oder der Paritätsfehler
409841/084 5
- 61 Tabelle S-CSCI-Status
Wort 1 Bit
0 ATI-verneint A (*) (1)
1 CSTR-Unterbrechung . (*)
2 CSCI Angehalten für Wiederanfügung (*) (2)
3 Textempfang
4 Textsendung
5 Speicherablesung Paritätsfehler A (*,Nr.)
6 Segmentvollendung (T) (*)
7 Segmentvollendung (R) (*)
8 Abspeicherkennzeichen (*)
9 Unzulässige Befehlscodegruppe (*) (3)
Unrichtiger Abrufzyklus (*)
Frei (Softwarekennzeichen)
12 Ungerades Zeichen A
Sendezeitsperre (*) (4)
Kurzer Empfangsblock (Kennzeichen) (*)
15 Schwebende Unterbrechung
Wort 2
CSTR-Statuswort 1, wenn CSTR-Unterbrechung, sonst CSCI-Senderegisterinhalt
Wort 3
CSTR-Statuswort 2, wenn CSTR-Unterbrechung, sonst Kettenregister (T)
Wort 4
Adressenregister (R)
(5)
409841/0845
Tabelle V - CSTR-Status "O" 2415890 - ersten Textzeichens
Empfangszeitsperre
Textzeitsperre
Bit O SRP-Kennzeichen
1 Pufferüberlauf
2 CRC oder Paritätsfehler
3 Steuerzeichen
4 Vorhergehendes Zeichen =
5 Letztes Zeichen
6 II-] Il DLE-leer (unbeachtlich)
7 Niederwertige 7 Bits des
8-15 Zweites Textzeichen
16
17-23
24-31
409841/0845
Tabelle S-V1
Statusvorgang
1 2 3 4
Bitzahl
Verzweigungsadresse
Bitzahl,
Verzweigungsadresse2
2n-2
Bitzahl
Verzv/eigungsadresse
FFFF
16
4098A1/Ü845
Tabelle S-VII
Statuskennzeichen
Wort Nr
Bit Nr.1
Kennzeichenadresse 1
Wort Nr.
Bit Nr.
Kennzeichenadresse 2
Wort Nr.
Bit,Nr.
Kennzeichenadresse η
FFFF
16
409841/0845
Tabelle S-VlII
Interner Statuscode
Interner
Code
Status
1
2
3
4
5
6
7
8
CRC-Fehler
Pufferüb e rlauf
Textzeitsperre
Unzulässiger Befehlscode (R)
Unzulässiger Befehlscode (T)
Empfangszeitsperre
Segmentvollendung (R)
Segmentvollendung (T)
Tabelle S-IX
Interner Protokollcode
Interner
Code
Protokoll ASCII-Code
20 ACK 86
21 NAK 15
22 NAKD
23 RSP 85
24 ETB 97
' 25 ETX 83
409841/0845
Tabelle S-X
Statusinterpretation
Status Bit Wort ' Vorgang
ibspeicherkennzeichen 8 0 16 Statusvrörter überspringer
Ä.TI verneint O 0 Abbruch
Speicheräblesungspari-
tätsfehler 5 .0 Abbruch
Ungerades Zeichen 12 0 Abbruch
Unrichtiger Abrufzyklus 10 0 Abbruch
Sendezeitsperre 13 0 leer-Nachricht auslösen
unzulässiger Befehlscode 4 0 Sprung zur Empfangsketten-
wartung oder zur Sende-
kettenvrartung
Segmentvollendung (T) 6 0 Freigabe einer Sendeliste
und Aktualisierung einer
Sendekette
Segmentvollendung (R) 7 0 Freigabe einer Empfangs-
liste und Aktualisierung
von Empfangsketten
Haltstatus 2 0 Anfügen des schwebenden
Protokolls an die Sende-
.kette
TR-Unterbrechung 1 0 Prüfung des TR-Status
Empfangszeitsperre 1 1 RSP senden
Textzeitsperre 2 1 NAK für die erwartete
Folgezahl senden
Pufferüberlauf 4 1 NAK für die erwartete
Folgezahl senden und
Empfangskette auslösen
CRC-Fehler 5 1 NAK für die erwartete
Folgezahl senden
Steuerzeichen 6 1 Steuerzeichen holen
409841/0845
Tabelle S-XT Protokoll-Interpretation
Steuer
zeichen
Vorgang Komponente
ACK Freigabe des Bestätigungsblocks Sendeinterpretierer
NAK Wiederübertragung des angezeig
ten Blocks
Sendeinterpretierer
RSP Wiederübertragung der angezeig
ten Antwort
Empfangsinter-
pretierer
ETB Verarbeitung des empfangenen
Blocks
Empfangsinter-
pretierer
ETX wie ETB Empfangsinter-
pretierer
NAKD Abbruch Abbruchverarbeiter
409841 /Ü84b
Tabelle S-XII
Initiator-Warteschiangeneintrag
5
6
Vorwärtshinweis Rückwärtshinweis
Initiator-TCB-Adresse
Nachrichtenschalter-TCB-Adresse
Startanzeiger
Parameter-Freigabeanzeiger
Kanalkennzeichen ID Pufferadresse Tabelle S-XIII
Nachrichtensteuerblock (BCB für Nachricht)
0 Vorwärtshinweis
1 schwebender Übertragungsblock Zahl
2 ¥ortzahl des ersten Blocks
3
4
5 Nachrichtenstartzeit
6 Nachricht enstart ζeit
7 Rückwärt shinwe i s
Nachricht
4098A1/084b
- 69 Tabelle S-XIV
Blockmanagementinformation
O Vorwärtshinweis Übertragungsblockzahl
1 Rückwärtshinweis Blockhinweis
2 Nachrichtensteuerblockhinweis Wortzahl
3 Folgezahl
4 EXT-
Kennz.
5 NAK-Zahl
6 - Blockstartzeit
7 Blockstartzeit
8
9
10
11
Tabelle S-XV
Vor ,jedem Übertragungsblock gesendete Folgeinformation
Folgezahl (15 Bits)
ETX-Kennz.
(Bit 0)
Übertragungsblockzahl
409841/Ü845
Tabelle S-ΧΥΪ Unzulässige Codegruppe/Lis'tenadresse
Tabellengröße (maximal 256 Speicherplätze)
nächste verfügbare Zahl
0 Listenadresse^
(unzul. Codebits 12-15=0)
1 Listenadresse2
(unzul. Codebits 12-15=1)
2
3
4
5
6
7
8
9
10
40 9841/084 5
Tabelle S-XVII Listeirolatzwert mit 128 Wörtern
Reserve-Bit
Blockgröße
Vorwärtshinweis Rückwärtshinweis Reservebits (Wort 1) Reservebits (Wort 2)
vier Wörter (Bit 15, Wort
vier Wörter (Bit 14, Wort
vier Wörter (Bit 0, Wort 2) t_
Reserve-Bit
Blockgröße
409841/084b
Tabelle S-XVIII
SRP - Nachrichtenformat
16 Bits 16 Bits 8 Bits 16 Bits B
C
C
16 Bits
DLE
SRP
Folgezahl Antwort-
zeichen
DLE
ΕΪΧ
409841/0845
Tabelle S-XÄX
Puffersteuerblock für Eingabe in den Nachrichtenverdichter
Vorwärtshinwei s
Folgezahl
ETX-Kennz.
Übertragungsblockzahl
Blockgröße
Reserviert
Rückwärtshinweis
Daten
409841/0845
Tabelle S-XX UNIFY-Warteschlangeneintrag
Vorwärtshinwe i s Rückwärtshinweis UNIFY-TCB-Adresse Empfangs-TCB-Adresse SI
PRI
Kanalkennzeichen ID Blockadresse
409841/0845
Tabelle S-XXI
NAK - Listensegmentformat
Vorwärtshinweis Rückwärtshinwei s Zahl leerer Lücken nächste verfügbare Lücke Eintrag Eintrag
Eintrag η Lücke Lücke
Lücke m
Tabelle S-XXIl Kanal-Warteschlangen-Tabelle
Warteschlangeneintrag-Tabellenhinweis für Kanal 0 Warteschlangeneintrag-Tabellenhinweis für Kanal 1
Warteschlangeneintrag-Tabellenhinweis für Kanal 7
Kennzeichen Kanal 0 Kennzeichen Kanal 1
40984Ί/0845
Tabelle S-XXIII
Nachrichtensteuerblock für Blöcke in der Eingangswarteschlange
Vorwärtshinweis
Nachrichtenfolgezahl
ETX-Übertragungsblockzahl
Zahl des empfangenen Blocks
reserviert
Rückwärt shinwe i s
Nachricht
409841/0845
Tabelle R-T
(status J
siehe Status-
Kennzeichen- Tabelle Tabellenende?
nein
Initialisierung
erstes Zeitkennzeichen setzen.
Hinweis nach CDT
Hinweis zum nächsten Statusblock
Statuskennzeichen setzen
Zugriff auf Statusverarbeitungstabelle
ist angegebenes Bit gesetzt
erstes Zeitkennzeichen rücksetzen
** { Statusprüfer j
verarb. Bit in erstem Statuswort setzen
A09841/084S
Tabelle R-I (Fortsetzung A)
gehe zum Verarbeitungsprogramm gemäß Tabelle
CPRCA.
verarb.Kennz. gesetzt
von Software (Bit 11)
-m-f Beendigung J
schwebende Unterbrech. (Bit 15)
erstes Kennzeichen gesetzt?
Abspeicher-Kennzeichen (Bit 8) Statuskennzeichen um 16 Plätze einstellen
ATI verneint
(Bit 0) Speicher liest Paritätsfehler (Bit 5) Warnungsverarbeiter
ungerades Zeichen (Bit 12)
unrichtiger Abrufzyklus (Bit 10)
409841/0845
Tabelle R-I (Fortsetzung B)
(Bit 13)
unzulässiger Befehlscode
S.endezeitsperre
(Bit 9)
Segmentvollend.(R)
(Bit 7)
Segmentvollend.(T)_
(Bit 6)
HALT-Status
(Bit 2)
TR-Unterbrechung
{Bit IT
impfangszeitsperre_ (Bit 1)
Leerlauf-Verarbeiter
Code vom Statuswort holen
Empfangskette aktualisieren
XHITER
Sendekette aktualisieren
XHITER
gehe zum Einfügen in schweb. Protokoll
TR-Statustabelle errichten
TOOFF
Zeitsperrenablauf anzeigen
XHITER
Neustart der Sendekette
RCVR
Neustart der Empfangskette
XHTINT
Zeitsperrenstatus interpretieren
409841/0845
Tabelle R-I (Fortsetzung C)
RCVINT ( Statusprüfer ) SRP-Kennzeichen
prüfen
<T SRP ? ^> RCVINT ak für γ
mein
XKITINT Protokoll in internen
Textzeitsperre NAK senden Ija sende N
fehlerhaft
en Block Protokoll zu Senden
interpretieren
Code umwandeln
(Bit 2J SRP-Kennzeichen
prüfen
RCVINT TOOFF RCVINT
NAK senden _^<^ SRP ? J>^- Zeitsperrenablauf
Pufferüberlauf Protokoll zum Empfang
(Bit h) interpretieren
CRC-Fehler ABORT
(Bit 5) ibbruch-
verarbeiter
Steuerzeichen
A C K
NAK
R S P
ETB
E T X
NAKO
409841/0845
Tabelle R-II
Warteschi.eintr.Wort Kanal-IO Hort Pufferadresse
Nachrichtensteuerblock Vorwärtshinweis
schweb. Übertraaungsblockzahl
Hortzahl des ersten Blocks Nachrichtenstartzeit Nachrichtenstartzeit Rückwärtshinweis
Nachricht
HBCOI
hole Hinweis auf Warteschlangeneintrag
Warteschlangeneintrag decodieren
hole Adresse der ersten Nachricht in der Ausgangs-Warteschlange
DELINK
entnehme Nachricht aus der Ausgangs-Warteschlange
hole Nachrichtengröße aus Wort 12 der Nachricht
berechne Zahl der Übertragungsblöcke i Rest
errichte Nachrichtensteuerblock
409841 /0845
Tabelle R-II (Fortsetzung).
hole Hinweis auf
nächsten Übertragungsblock
Blockzähler erniedrigen
hole Hinweis auf Übertragungsblock
BLDBHI
bilde Eintrag der Blockmanagementinformation
hole nächste Folgezahl erhöhe Zähler
XMTBLK
Block übertragen
CPRCAL
Beendigung Eintrag der Blockmanagementinfonaation (BHI)
0 Vorwärtshinweis
1 Rückwärtshinweis
2 Nachrichtensteuerblockhinweis
3 Folgezahl ·
4 EXT-Kennz. Übertragungsblockzahl
5 ßlockhinweis
6 Wortzahl
7
8
9 NAK-Zahl
10 Blockstartzeit
11 Blockstartzeit
409841/0845
Tabelle R-III Blockgröße
FWA-Kennz.: 0 nicht letzter 1 letzter Block Folgezahl
Q X HT BL K J mache Spureintrag
für den Block
BNDLNK
verbinde BHI mit der
aktiven Harteschlange
hole die
Eingangsparameter
hole
ITB-Blockgröße
I
berechne Zahl der
Zwischen-Übertra-
gungsblöcke
I
XHITER
übertrage die
Folgezahl
409841/0845
Tabelle R-III (Fortsetzung)
ITB-Kennzeichen setzen
XHITER
Block senden
Hinweis zum nächsten Block verschieben
berechne die Hortzahl
erniedrige die Blockzahl
ITB-Kennzeichen setzen
Rückkehr
ja
EXT-Kennzeichen setzen
4Ü98A1 /0845
Tabelle R-IV
X H I T E R J
Initialisieren
hole Hinweis auf
Argumente
Senden
hole den Listentyp BLDLST
Sendeliste aufbauen
Status
hole Status vom Aufrufparameter
NOHEN
warte auf Speicher XHITER Eintritt erfolgt bei diesen Warten
" 409841/0845
Tabelle R-IV (Fortsetzunq A)
241589Q
LSTLNK neine ATI nein
verbinde Liste mit
entsprechender Kette
gebe ATI aus nit
FHA der Liste
I
y^isrv
^X'Sendekette aktive.
\ ? S^
./ist ^^
<tiste für Protokoll^
ist
^Haltkennz.gesetzt ?
nein
setze das Haltkennzeichen
LDLST
gebe einen Haltbefehl aus Rückkehr
Rückkehr
409841/0845
Tabelle R-IV (Fortsetzuno B)
j ^Segment vollendet 2415890 unzulässiger hole
Listened
Halt
Code status
hole Adresse der Liste
mit unzulässigem Code
hole die Kettenadresse
aus der Liste
die
aktualisiere den Start
des Übertragungsketten
hinweises
resse
LSHAN
gebe den Listen
platz frei
1
setze Statusprüfung
fort
setze Kettenadresse auf Null
Statusprüfung fortsetzen
ja
Hinweis
auf unzulässigen Code
nein
ausstehendes ^v^ ja Start des Übertragungs
Protokoll ^ kettenhinweises
aktualisieren
I
Haltkennzeichen
röcksetzen
nein verbinde Protokollkette
mit dem Anfang der
Übertragungskette
A T I
gebe ATI mit Kettenadresse aus
A09841/Ü84S
Tabelle R-V
O CC OC
XHTINT
Änderung der TCB-Adresse in ETCBP initialisieren
N A K
Ercpfanqs-
Zeitsperre
A C K
MCHK
prüfe Gültigkeit derFolgezahl
11 H C H K
prüfe Gültigkeit der Folgezahl
bringe Folgezahl von BMI an den Anfang der aktiven BMI-Warteschlange XHTBLK
übertrage den Block erneut
FNDBHI
finde BMI in der aktiven Warteschlange
S T O
Startzeitsperre
XMITER
sende RSP für Zahl
Tabelle R - V (Fortsetzung A)
FNDBHI
finde BMI in der aktiven Warteschlange
hole Hinweis auf Nachrichtensteuerblock
QEHAN
gebe BMI-Platz frei
nein
bertragungsblockzahl Null 7
erhöhe beim Empfang nicht beachtete Zahl
S T
Zeitsperre neu starten Statusprüfer
RLHEH
gebe den Übertragungsblock frei
erniedrige schwebende Öbertragungsblockzahl in Nachrichtensteuerblock
cn oo
CD O
Tabelle R - V (Fortsetzung B)
trage statistische Werte für Block ein
trage statistische Werte für Nachricht ein
R E L B ü F
gebe den restlichen Puffer frei
erniedrige die Ausgangszahl
nein
setze erwartete Antwort auf Null
Statuspröfer Nachrichtensteuerblock
und erster Übertragungsblock
409841/0845
Tabelle R - VI
CV R J
Segaentvollendung (R")
aktualisiere den Eapfangslistenhinweis
LSHAN
gebe Listenplatz frei
erniedrige Listenzahl
nein
ΘΘ
R C VL S TJ
unzulässige Codegruppe
hole Hinweis auf Liste mit unzul. Codegruppe
hole Kettenhinweis
ia ^ Hinweis
^vunzul. C
auf \
odegr.^/^
nein
A T I
gebe Kette mit
Kettenadresse aus
RCVLST
starteEspfangslisten
Statusprüfer
409841/0845
Tabelle R - VI (Fortsetzung)
ΘΟ
Rückkehr
RELHEH
gebe Block frei
GETHEH
erlaube Platz für Übertragungsblock S BCB
nein
setze Hinweis auf Block; lasse BCB-Bereich zu
BLDLST
bilde Empfangsliste
LSTLNK
verbinde die Liste mit der Empfangskette
erhöhe den Zählerstand
409841/0845
Tabelle R - VII
RCVIN T
RCVLST
hole Empfangslistenzahl starte einige
Empfangslisten
nein
40984 Fehlerstatus
■^
O
CO
ja (RSPJ
«n
hole <
nein
Datenblock
Blockadresse S -größe
ist Zahl kleiner als erwart. Block ?
ist Zahl im Annahmefenster
nein
hole Blockadresse S -größe aus der ersten Liste in der Kette
ERRTHN
ist Zahl in der NAK-Tabelle ?
ERRTHN
gebe Blockzahl in NAK-Tabelle ein
nein
RELMEH
gebe Puffer frei
aktualisiere erwartete Blockzahl
X H ITER
sende NAK für erwartete Blockzahl
hole erwartete Blockzahl
XHITER r Statusprüfer
ACK erneut senden XHITER
^S"^ ist Zahl in ^s^nein
"\ NAK-Liste ^^~
N. 7 ^r
sende NAK erneut
ERRTHN
gebe Blockzahl in
NAK-Liste ein
ro
cn
OO
to
CD CO CD -Τ
ist Kurzblockkennzeichen gesetzt
hole aktuelle Blockgröße unter Verwendung von Hort 4 des Status
Tabelle R - VII (Fortsetzung)
Statusprüfer
streiche den Block
hole Folgezahl —·. setzt BCB für Eingabe in
Nachrichtenverdichter
^erwartete Folgezahl ?
nein
langer als erwartet ?
ERRTHN
ist Zahl in NAK-Liste
ja Puffersteuerblockformat (für den
Nachr.verdichter)
Vorwärtshinweie
Folqazahl
ETB- oder ETX-Anzeioer BlockgröBe Rückwärtshinweis
ja
nein
aktualisiere erwartete
Folgezahl
XHITER
sende ACK für empfangenen Block
XHITER I
sende ACK für Zahl reihe Nachrichtenver
dichter ein (an Kopf
anfügen)
Statusprüfer
gebe
NAK-
FRRTHN XHITER
Fenster ? ^s Zahl in
Tabelle ein
sende NAK für
fehlende Blöcke
Annahme außerhalb^
ν nein
reihe Nachrichtenverdichter ein (am Ende anfügen)
OO iO CD
Tabelle R - VIII
( UNIFY
hole Hinweis für Warteschlangeneintrag S hole Kanalzahl
hole Hinweis für COT
hole Blockadresse und EXT Kennzeichen; setze Kennz, für Harteschl.eintrag
Bl.adr.O für
Sp.neuversuchs-
W.schl.eintr.
hole EXT-Kennzeichen
T hole Hinweis für nächsten
Block in Warteschlange
hole Hinweis für nächster
Block in Warteschlange
schalte das Kennzeichen
des Warteschlangen
eintrags ab
ist Block-Warteschlange leer
CPRCAL
Beendigung
409841/0845
Tabelle R - VIII (Fortsetzung A)
RELMEH
Block wieder eingeben
FNDLNK
füge den Block an die Eingangswarteschlange an
erhöhe Eingangspufferzahl
Kanal der Folgezahl
hole übertragungsblockzahl (TBN)
subtrahiere TBN von der Folgezahl
hole die Folgezahl der Nachricht
finde Aufzeichnung in Eingangswarteschlange
409841/0845
Tabelle R - VIII (Fortsetzung B)
GETIF
benutze TBN zum Berechnen der Übertragungsadresse
hole einen Puffer für die Nachricht
nein
durchsuche Nachrichtenwarteschlange nach Punkt
initialisiere den Nachrichtensteuerblock
nein
gebe Block in die Nachricht ein
füge Nachrichtenpuffer in Nachrichtenwarteschlange ein
nein
hole Vorwärtshinweis auf nächsten Block
409841/0845
trage statistische
Werte ein
ja
tzahlige^·^
1
reihe Nachrichtenschal
ter für die Nachricht
ein
0984
1/0845
DELINK
trenne die Nachricht
von der Eingangs
warteschlange
^Ost c
^X^niedrigs
Tabelle R - VIII (Fortsetzung C)
.schl.-
eintr.kennzeichen gesetzt
RELHEH
gebe den Übertragungspuffer frei
W.schl,-
eintr.kennzeichen gesetzt
DELINK
trenne den Block von der ßlockwarteschlange
CO CD CD
Tabelle R - VIII (Fortsetzung D)
erhöhe Blockzahl im Nachrichtensteuerblock
prüfe EXT-Kennzeichen
gebe EXT-Zahl in
Nachrichtensteuerblock
bestimme Umfang des
nichtbenutzten Platzes
RLHEH
Speicher frei
GV
füge den Block in die
Blockwarteschlange ein
bilde Warteschi.eintrag
für Speicherwiederstart
NOHEN CPREA
durchsuche Blockwarte
schlange nach Einfü
gungspunkt
warte auf Speicher frage die Warte
schlangen ab
Ende der Blockwarteschlange
OO CD O

Claims (10)

  1. Patentansprüche
    1,) Verfahren zum Steuern von Sende-und Empfangsstationen in "~" einer Datenübertragungsanordnung, bei der eine Sendestation Datenblöcke zu einer Empfangsstation sendet, dadurch gekennzeichnet,
    (a) daß von der Sendestation zur Empfangsstation kontinuierlich Datenblöcke einschließlich einerKennzeichnungscode-
    ' gruppe für jeden Datenblock gesendet werden,
    (b) daß bei der Empfangsstation die Kennzeichnungscodegruppen derjenigen Blöcke der empfangenen Daten gespeichert werden, die einen Fehler aufweisen,
    (c) daß die Kennzeichnungscodegruppen der Blöcke der empfangenen Daten, die einen Fehler aufweisen, von der Empfangsstation zur Sendestation gesendet werden, wenn die Sendestation verfügbar wird, und
    (d) daß von der Sendestation zur Empfangsstation nur die fehlerhaften Datenblöcke gemäß der Anzeige durch die von derEmpfangsstation empfangenen Kennzeichnungscodegruppen erneut übertragen werden.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die empfangenen Datenblöcke bei der Empfangsstation daraufhin überprüft werden, ob sie Fehler enthalten.
  3. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß bei der Prüfung der empfangenen Datenblöcke ein zyklischer Redundanzvergleich der Daten mit einem von der Sendestation ausgesendeten zyklischen Redundanzcode durchgeführt wird.
    409841/0845
  4. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß in jeder der Stationen ein Sender und ein Empfänger verwendet wird, und daß von beiden Stationen gleichzeitig Daten ausgesendet und empfangen werden.
  5. 5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß Datenblöcke verwendet werden, die binär codierte Informationen enthalten.
  6. 6. Datenübertragungsanordnung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, gekennzeichnet durch
    (a) Einrichtungen in der Sendestation zum kontinuierlichen Aussenden von Datenblöcken einschließlich einer Kennzeichnungscodegruppe für jeden Datenblock zu der Empfangsstation,
    (b) Einrichtungen in derEmpfangsstation zum Speichern der Kennzeichnungscodegruppen derjenigen Blöcke der empfangenen Daten,die einen Fehler enthalten,
    (c) Einrichtungen in der Empfangsstation zum Senden
    der Kennzeichnungscodegruppen der Blöcke der empfangenen Daten, die einen Fehler enthalten, zu der Sendestation, wenn die Sendestation verfügbar wird, und
    (d) Einrichtungen in der Sendestation, die in Abhängigkeit von den von derEmpfangsstation empfangenen Kennzeichnungscodegruppen zur Sendestation nur diejenigen Datenblöcke, die Fehler enthielten, erneut übertragen.
    409841/0845
  7. 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die Empfangsstation Einrichtungen zum Prüfen der empfangenen Blöcke auf das Vorhandensein von Fehlern enthält.
  8. 8. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß die Einrichtungen zum Prüfen der empfangenen Daten Einrichtungen zum Dividieren des numerischen Binärwerts des Datenblocks durch eine Konstante enthalten und daß Einrichtungen zum Vergleichen des sich bei der Division ergebenden Rests mit einem von der Sendestation gelieferten Rest für den gleichen Datenblock vorgesehen sind.
  9. 9. Anordnung nach Anspruch 8,· gekennzeichnet durch Einrichtungen in der Sendestation zum Dividieren des numerischen Binärwerts jedes Datenblocks durch eine Konstante und zum Übertragen einer dem sich bei der Division ergebenden Rest entsprechenden Codegruppe zu der Empfangsstation.
  10. 10. Anordnung nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, daß sowohl die Sende- und Empfangsstationen identische Sender und Empfänger zum gleichzeitigen Aussenden von Datenblöcken von der Sendestation zur Empfangsstation und von der Empfangsstation zur Sendestation enthalten.
    409841/0845
    JO 2
    Leerseite
DE19742415890 1973-04-02 1974-04-02 Verfahren zum Übertragen von Daten und Anordnung zur Durchführung des Verfahrens Expired DE2415890C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US34725273A 1973-04-02 1973-04-02

Publications (2)

Publication Number Publication Date
DE2415890A1 true DE2415890A1 (de) 1974-10-10
DE2415890C2 DE2415890C2 (de) 1984-08-02

Family

ID=23362953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742415890 Expired DE2415890C2 (de) 1973-04-02 1974-04-02 Verfahren zum Übertragen von Daten und Anordnung zur Durchführung des Verfahrens

Country Status (4)

Country Link
JP (1) JPS5028203A (de)
CA (1) CA1035048A (de)
DE (1) DE2415890C2 (de)
GB (1) GB1470883A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH073978B2 (ja) * 1986-10-28 1995-01-18 株式会社日立製作所 一斉通信方式
GB2252020A (en) * 1990-12-04 1992-07-22 Ibm Flow control in data communication systems.
JP2589442B2 (ja) * 1993-03-31 1997-03-12 三洋電機株式会社 Fm多重放送受信機のメモリ制御回路およびメモリ制御方法
KR100424654B1 (ko) * 1999-08-02 2004-03-24 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
DE10115804A1 (de) * 2001-03-30 2002-10-10 Bayerische Motoren Werke Ag Betriebsverfahren für einen Datenbus für mehrere Teilnehmer
KR100460967B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 접속률을 높일 수 있는 무선통신기기 및 그 방법
SG10201912856TA (en) * 2019-12-20 2021-07-29 Panasonic Ip Corp America Communication device and communication method for multi-link block acknowledgement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.Martin "Die Organisation von Datennetzen", Hauser-Verlag München, 1972, S.52,53,64-77, 83,96-110 *

Also Published As

Publication number Publication date
DE2415890C2 (de) 1984-08-02
JPS5028203A (de) 1975-03-22
CA1035048A (en) 1978-07-18
GB1470883A (en) 1977-04-21

Similar Documents

Publication Publication Date Title
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE19924922A1 (de) System und Verfahren für Nachrichtenübermittlung zwisfchen Netzwerkknoten, die durch parallele Verbindungen verbunden sind
DE3047236A1 (de) Kommunikationsprotokolle, verwaltet von den in einem verteilten datenverarbeitungssystem benutzten kommunikationsmoduln
DE1499225C3 (de) Schaltungsanordnung zur Reduzierung von Datenwortlängen
DE2534141A1 (de) Computer-schnittstellensystem
DE3331233C2 (de) Datensteuereinrichtung in lokalen Verbindungsnetzen
DE2740056A1 (de) Mulitprozessor-rechnersystem
DE2148906A1 (de) Verfahren und Anordnung zur Datenuebertragung sowie bei einer solchen Anordnung anwendbares Rechnerprogramm
DE602004008911T2 (de) Verfahren und system um die reihenfolge von paketen mit hilfe eines zwischenspeichers zu gewährleisten
DE2829550A1 (de) Programmierbare datenuebertragungs- steuereinrichtung sowie bei dieser verwendbares mikrocomputersystem
DE3413473A1 (de) Schleifenfoermiges datenuebertragungssystem
DE2946982A1 (de) Kodierverfahren fuer ein faksimilesignal
DE2728889B2 (de) Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals
DE2415890A1 (de) Verfahren zum uebertragen von daten und anordnung zur durchfuehrung des verfahrens
EP1911213A1 (de) Flexray-kommunikationsbaustein, flexray-kommunikationscontroller und verfahren zur botschaftsübertragung zwischen einer flexray-kommunikationsverbindung und einem flexray-teilnehmer
DE2312461A1 (de) Schaltungsanordnung zur verbindung einer datenverarbeitungseinheit mit einer vielzahl von uebertragungsleitungen
DE2461091A1 (de) Sende- und empfangsgeraet zur ueberwachung von ereignissen
DE2951426A1 (de) Zeitteilmultiplexuebertragungsvorrichtung
EP0539540B1 (de) Anordnung mit mindestens einem an ein Fernmeldenetz anschliessbaren Rechner, sowie eine Anwendung dieser Anordnung
DE2929447C3 (de) Faksimile-System
DE1499671A1 (de) Puffer-Datenspeichersystem mit einem zyklischen Speicher
DE60036121T2 (de) Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk
DE60037946T2 (de) Echtzeitkompensation von Paketverlusten bei Fax-über-Paket
EP0192809B1 (de) Verfahren zum Normieren von Signalkanälen auf einen TDMA-Rahmen in einem Mobilfunksystem
DE2849744A1 (de) Schaltungsanordnung zum ueberwachen der verbindungen in einem zeitvielfach- koppelnetz

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 11/14

8181 Inventor (new situation)

Free format text: TOOLEY, JOHN ROGER SCOTT, LARRY DEAN, AUSTIN, TEX., US CHALKLEY, HATCHER EDWARD, BRYAN, TEX., US

D2 Grant after examination
8364 No opposition during term of opposition