-
Hintergrund
der Erfindung
-
Diese Erfindung bezieht sich auf
die Neuzusammenfügung
von Datenpaketen zu Mitteilungen in einem mit der asynchronen Übertragungsbetriebsart arbeitenden
Kommunikationssystem.
-
In der asynchronen Übertragungsbetriebsart (ATM)
arbeitende Netzwerk-Schnittstellen
werden populär,
insbesondere in Netzwerken, die Datenübertragungsraten von mehr als
1,544 Mbits pro Sekunde in Nordamerika und 2,5 Mbits pro Sekunde
in Europa unterstützen.
Es ist gut bekannt, dass die asynchrone Betriebsart zur Übertragung
und zum Vermitteln von Informationen in einem Netzwerk die Vorteile
des Mischens von Daten, Sprache und Video auf dem gleichen Medium
ergibt.
-
In einer ATM-Übertragung stellt ein sendender
Netzwerk-Knoten eine Mitteilung in Form einer Vielzahl von Datenpaketen
dar. Unterschiedliche Mitteilungen können unterschiedliche Längen und
damit eine unterschiedliche Anzahl von Datenpaketen haben. Beispielsweise
würde eine
Zeilenrücklauf-Mitteilung
eine kürzere
Länge als
eine Mitteilung haben, die einen Video-Rahmen darstellt.
-
Jedes Datenpaket schließt 53 Oktette
oder Bytes ein, von denen 48 Daten darstellen, während die verbleibenden 5 Steuerinformationen
darstellen, die eine Mitteilungs-Identifikation und einen Mitteilungsende-Status
einschließen.
Diese 53 Oktette werden über
ein ATM-Netz über
eine Schnittstelle für die
physikalische Schicht (PHY) ausgesandt, die Signale von einem Hauptcomputer über eine
Schnittstelle empfängt,
die als eine universelle physikalische Test- und Betriebs-Schicht-Schnittstelle
für ATM (UTOPIA)
bekannt ist, und die die physikalischen Signale erzeugt, die auf
dem Netzwerk verwendet werden, um Daten- und Quittungsaustausch-Funktionen zu
bewirken. Die physikalischen Signale können optische Signale zur Übertragung über ein
Lichtleitfaser-Kabel einschließen.
-
An einem Empfangsknoten auf dem ATM-Netzwerk
empfängt
eine ähnliche
Schnittstelle für
die physikalische Schicht physikalische Signale von dem vorstehenden
und anderen Sendern und erzeugt physikalische Signale auf der System-Schicht in
dem UTOPIA-Format. Derartige Signale schließen Datensignale ein, die die
53-Oktett-ATM-Datenpakete darstellen, die ursprünglich von jedem Sender ausgesandt
wurden. Es ist jedoch möglich
und in einem stark benutzten Netzwerk wahrscheinlich, dass ein 53-Oktett-ATM-Datenpaket
von einem anderen Sender empfangen wird, bevor ein nächstes Datenpaket von
dem ursprünglichen
Sender empfangen wird. Somit empfängt der Empfänger eine
Folge von Datenpaketen, wobei jedes Datenpaket von einem anderen
Sender stammen kann. Der Empfänger
hat dann die Aufgabe, alle Datenpakete jeder jeweiligen Mitteilung
zu einer zusammenhängenden
Folge neu zusammenzufügen.
-
Veröffentlichungen, die sich auf
ATM-Datenpakete beziehen und für
den Leser von Interesse sein können,
sind das US-Patent 5 274 768 auf den Namen von Traw et al., Proceedings
of the Conference on Communications, Architectures and Protocols
(SIGCOMM), Zürich,
3. bis 6. September 1991, Bd. 1 Nr. 4, 03.09.1991, Association for
Computing Machinery, Seiten 317–325,
C. B. Traw et al.: "A High-Performance
Host Interface for ATM Networks", und
US-Patent 5 446 726 auf den Namen von Rostoker et al.
-
Ein Verfahren zur Datenpaket-Neuzusammenfügung ist
in einem Datenblatt für
eine 155 Mb/s-ATM-Segmentierungs- und Neuzusammenfügungs-"SAR"-Steuerung für den örtlichen
PCI-Bus beschrieben, das im Oktober 1995 von den Fa. Intergrated
Decive Technology, Inc., Santa Clara, Kalifornien, USA, veröffentlicht
wurde. Dieses Verfahren beinhaltet die Verwendung eines relativ
kleinen freien Puffers mit fester Länge, typischerweise weniger
als 128 Oktette, zum Empfang zumindest anfänglicher Zellen eines vorgegebenen
Datenpaketes. Wenn die Mitteilung eine große Anzahl von Datenpaketen
einschließt,
kann der kleine freie Puffer voll werden, wobei in diesem Fall relativ
große
freie Puffer mit einer festen Länge,
typischerweise 4k Oktetts, an den kleinen freien Puffer angehängt werden,
um den Rest der Pakete in der Mitteilung aufzunehmen. Bei dieser Lösung wird
jedoch Speicher vergeudet, beispielsweise weil jedes Datenpaket
53 Oktette ein schließt und
drei Datenpakete die Verwendung eines kleinen Puffers und eines
großen
Puffers erfordern, was dazu führt,
dass 3k der großen
vier Puffer ungenutzt verbleiben. Dies kann Speicher vergeuden,
insbesondere wenn erwartet wird, dass der Empfangsknoten eine große Anzahl
von Datenpaketen auf einer großen
Anzahl von Kanälen
empfängt.
Die vorliegende Erfindung befasst sich mit diesen Problemen.
-
Zusammenfassung
der Erfindung
-
Gemäß einem Gesichtspunkt der Erfindung wird
ein Verfahren zum Empfang von Mitteilungen geschaffen, die durch
Datenpakete mit jeweiligen Anfangsblock- und Nutzinformations-Teilen
definiert sind, wobei jeder Anfangsblock-Teil eine Kanaldarstellung
bezüglich
eines diesem Datenpaket zugeordneten Kanals und eine Mitteilungsende-Darstellung
einschließt,
die darstellt, ob das Datenpaket ein letztes Datenpaket in der Mitteilung
ist oder nicht, wobei jeder Nutzinformations-Teil sich auf die Mitteilung beziehende
Informationen enthält,
wobei das Verfahren die Schritte des (i) Führens einer Zeigerliste von definierten
Adressenzeigern zu nicht zugeordneten Blöcken des Datenspeichers, die
zum Speichern der Nutzinformations-Teile der Datenpakete betreibbar sind,
und das Führen
einer Verknüpfungsliste
von jedem Kanal zugeordneten Adressenzeigern einschließt. Das
Verfahren beinhaltet das Laden des Nutzinformations-Teils eines
empfangenen Datenpaketes in einen Block des Datenspeichers, der
durch einen Zeiger von der Zeigerliste identifiziert ist; das Entfernen
des Zeigers aus der Zeigerliste; und das Hinzufügen des Zeigers zu der Verknüpfungsliste, die
der Kanaldarstellung zugeordnet ist, die durch den Anfangsblock-Teil
des Datenpaketes angezeigt ist.
-
Wahlweise kann ein Neuzusammenfügungs-Prozessor
zur Durchführung
der vorstehenden Schritte verwendet werden.
-
Das Verfahren kann den Empfang des
Anfangsblock-Teils des Datenpaketes an einem Anfangsblock-Prozessor
und das Bewirken der Lieferung von Statussignalen durch den Anfangsblock-Prozessor
beinhalten, die die Kanaldarstellung und die Mitteilungsende-Darstellung
anzeigen.
-
Das Verfahren kann das Führen der
Zeigerliste zur Identifikation von Blöcken von nicht-zugeteiltem
Datenspeicher mit gleicher Länge
umfassen, wobei die Blöcke
jeweils 48 Oktette einschließen.
-
Das Verfahren kann weiterhin das
Kopieren der Nutzinformations-Teile jedes der empfangenen Datenpakete,
die der gleichen Mitteilung zugeordnet sind, in einen Empfangsbereich
des Datenspeichers beinhalten.
-
Das Verfahren kann weiterhin die
Entfernung des definierten Adressenzeigers, der jedem zum Speichern
eines jeweiligen Nutzinformations-Teils verwendeten Block des Datenspeichers
zugeordnet ist, aus der Verknüpfungsliste
beinhalten.
-
Das Verfahren kann das Hinzufügen des
definierten Adressenzeigers zu der Zeigerliste als Antwort auf die
Mitteilungsende-Darstellung beinhalten.
-
Das Verfahren kann das Kopieren der
Nutzinformations-Teile in den Empfangsbereich in der Reihenfolge
beinhalten, in der sie empfangen wurden, derart, dass der Empfangsbereich
eine Wiedergabe von zumindest einem zusammenhängenden Abschnitt der Mitteilung
enthält.
-
Das Verfahren kann das Kopieren jedes
definierten Adressenzeigers zu der Zeigerliste beinhalten, nachdem
dessen jeweiliger Nutzinformations-Teil in den Empfangsbereich kopiert
wurde.
-
Gemäß einem weiteren Gesichtspunkt
der Erfindung wird eine Vorrichtung zum Empfang von Mitteilungen
geschaffen, die durch Datenpakete definiert sind, die jeweilige
Anfangsblock- und Nutzinformations-Teile aufweisen, wobei jeder
Anfangsblock-Teil eine Kanaldarstellung bezüglich eines dem Datenpaket
zugeordneten Kanals und eine Mitteilungsende-Darstellung einschließt, die
anzeigt, ob das Datenpaket ein abschließendes Datenpaket in einer
Mitteilung ist oder nicht, wobei jeder Nutzinformations-Teil sich
auf die Mitteilung beziehende Informationen einschließt, wobei
die Vorrichtung einen Datenspeicher zum Speichern der Nutzinformations-Teile
der Datenpakete und einen Anfangsblock-Prozessor zum Empfang des
Anfangsblock-Teils des Datenpaketes und zur Lieferung von Statussignalen
einschließen
kann, die die Kanaldarstellung und die Mitteilungsende-Darstellung
anzeigen. Die Vorrichtung ist durch einen Neuzusammenfügungs-Prozessor
gekennzeichnet, der zum Führen,
in einem Listenspeicher, einer Zeigerliste von definierten Adressenzeigern
zu nichtzugeordneten Blöcken
des Datenspeichers und einer Verknüpfungsliste von jedem Kanal
zugeordneten Zeigeradressen und zum Laden des Nutzinformations-Teils
zum Empfangen eines Datenpaketes in einem Block des Datenspeichers,
der durch einen definierten Adressenzeiger von der Zeigerliste identifiziert
ist, zur Entfernung des Zeigers von der Zeigerliste und zur Hinzufügung des
definierten Adressenzeigers zu der Verknüpfungsliste programmiert ist,
die der Kanaldarstellung zugeordnet ist, die durch die Statussignale
von dem Anfangsblock-Prozessor
angezeigt ist.
-
Die Blöcke können eine gleiche Länge aufweisen
und jeweils 48 Oktette einschließen.
-
Der Datenspeicher kann ein Empfangsbereich
sein, und der Neuzusammenfügungs-Prozessor
ist weiterhin so programmiert, dass er die Nutzinformations-Teile
jedes der empfangenen Datenpakete, die der gleichen Mitteilung zugeordnet
sind, in den Empfangsbereich des Datenspeichers kopiert, den Zeiger,
der jedem Block des Datenspeichers zugeordnet ist, der zum Speichern
eines jeweiligen Nutzinformations-Teils verwendet wird, aus der
Verknüpfungsliste
entfernt, und den Zeiger zu der Zeigerliste in Abhängigkeit
von dem Statussignal hinzufügt,
das die Mitteilungsende-Darstellung anzeigt.
-
Der Neuzusammenfügungs-Prozessor kann weiterhin
so programmiert sein, dass er die Nutzinformations-Teile in den
Empfangsbereich in der Reihenfolge kopiert, in der sie empfangen
wurden, so dass der Empfangsbereich eine Wiedergabe von zumindest
einem zusammenhängenden
Teil der Mitteilung enthält.
-
Der Neuzusammenfügungs-Prozessor kann weiterhin
so programmiert sein, dass er jeden definierten Adressenzeiger zu
der Zeigerliste kopiert, nachdem dessen jeweiliger Nutzinformations-Teil
in den Empfangsbereich kopiert wurde.
-
Es sind keine vorher zugeteilten
oder zugeordneten Teile des Speichers zum Empfang jeder Mitteilung
erforderlich, wie dies bei üblichen
Neuzusammenfügungsverfahren
und -vorrichtungen der Fall ist. Vielmehr kann gemäß der vorliegenden
Erfindung der Datenspeicher, der empfangenen ankommenden Datenpaketen
zugeordnet wird, eine veränderliche
Länge aufweisen,
um gerade genug Speicherplätze
bereitzustellen, um gerade die empfangenen Datenpakete aufzunehmen.
Der zusätzliche
Zusatzbedarf bei der Verarbeitung und bei dem Speicher, der zur
Definition und zum Führen
der Zeigerliste und der Verknüpfungslisten
verwendet wird, ist vernachlässigbar,
insbesondere wenn der Knoten eine große Anzahl von Mitteilungen
von einer großen Anzahl
von virtuellen Kanälen
abwickeln muss, wie dies der Fall ist, wenn der Knoten mit einem
Telefonnetz verbunden ist.
-
Kurze Beschreibung
der Zeichnungen
-
In den Zeichnungen, die Ausführungsbeispiele
der Erfindung erläutern,
zeigen:
-
1 eine
schematische Darstellung einer Vorrichtung gemäß einer ersten Ausführungsform der
Erfindung, die in Verbindung mit einem Netz gezeigt ist, das Kommunikationen
in der asynchronen Übertragungsbetriebsart
unterstützt;
-
2 ein
Blockschaltbild einer Knoten-Schnittstellenschaltung gemäß der ersten
Ausführungsform
der Erfindung;
-
3 eine
schematische Darstellung einer Mitteilung ist, die durch ATM-Zellen dargestellt
ist, entsprechend einer B-ISDN-ATM-Anpassungsschicht (AAL) Typ-5-Spezifikation
(Stand der Technik); und
-
4 eine
schematische Darstellung der Speicheraufteilung eines Datenspeichers
gemäß der ersten
Ausführungsform
der Erfindung ist.
-
Ausführliche
Beschreibung
-
In 1 ist
ein Netzwerk, das Kommunikationen in der asynchronen Übertragungsbetriebsart (ATM)
unterstützt,
allgemein bei 10 gezeigt. Das Netzwerk schließt erste,
zweite, dritte und vierte Netzwerk-Knoten 12, 14, 16 und 18 ein,
die betreibbar sind, um Daten zu und von einander über Lichtleitfaser-Zwischenverbindungen 19 auszusenden und
zu empfangen. Der erste Knoten 12 ist mit einem ersten
Computer 20 verbunden, der zweite Knoten 14 ist
mit einer Videokamera 22 verbunden, der dritte Knoten 16 ist
mit einem Telefon verbunden, und der vierte Knoten 18 ist
mit einem zweiten Computer 26 verbunden. Es wird angenommen,
dass die ersten, zweiten und dritten Knoten 12, 14 und 16 Daten
an den vierten Knoten 18 senden. Weil die Netzwerk-Aussendungen
multiplexiert sind, kann jeder Knoten auf einer Vielzahl von "virtuellen Kanälen" senden. Aus Vereinfachungsgründen sendet
bei dieser Ausführungsform
der erste Knoten 12 auf dem virtuellen Kanal 0, der zweite
Knoten 14 sendet auf dem virtuellen Kanal 1 und der dritte
Knoten sendet auf dem virtuellen Kanal 2. Jeder Knoten weist eine jeweilige
Schnittstellenschaltung 28 zur Verbindung des Knotens mit
den Lichtleitfaser-Zwischenverbindungen 19 auf.
-
Gemäß 2 schließt die Schnittstellenschaltung 28 in
jedem Knoten eine universelle physikalische Test- und Betriebs-Schicht-Schnittstelle
für ATM
(UTOPIA) 30, einen Anfangsblock-Prozessor 32,
einen Neuzusammenfügungs-Prozessor 34 und einen
Datenspeicher 36 ein. Die UTOPIA-Schnittstelle 30 weist
Verbindungen für
die physikalische Schicht auf, die Signalleitungen 38 einschließen, die zur
Ansteuerung einer optischen Schnittstelle 31 betreibbar
sind, die mit den Lichtleitfaser-Zwischenverbindungen 19 verbunden
ist, und sie weist übliche Logikpegel-Signalleitungen
unter Einschluss von Datenleitungen zur Kommunikation mit dem Anfangsblock-Prozessor 32 und
dem Datenspeicher 36 auf.
-
Der Anfangsblock 32 weist
einen zugehörigen
Speicher mit wahlfreiem Zugriff (RAM) 42 und einen Festwertspeicher
(ROM) 44 zum Speichern eines Anfangsblock-Programms auf,
das betreibbar ist, um den Anfangsblock-Prozessor entsprechend einem
Anfangsblock-Algorithmus zu steuern, um virtuelle Kanalsignale auf
virtuellen Kanalsignalleitungen 46 zu erzeugen, und um
ein Nutzinformations-Typ-Anzeige-(PTI-)Signal auf eine PTI-Signalleitung 48 zu
erzeugen, als Antwort auf den Empfang eines Anfangsblock-Teils eines
Datenpaketes.
-
Die virtuellen Kanal-Signalleitungen 46 und die
PTI-Signalleitung 48 sind mit dem Neuzusammenfügungs-Prozessor 34 verbunden.
Der Neuzusammenfügungs-Prozessor 34 erzeugt
und empfängt
weiterhin Computer-Schnittstellen-Signale an Signalleitungen, die
allgemein bei 50 gezeigt sind, um es dem Neuzusammenfügungs-Prozessor 34 zu ermöglichen,
mit einem (nicht gezeigten) Hauptcomputer in Kommunikation zu treten.
Der Neuzusammenfügungs-Prozessor 34 steht
weiter in Kommunikation mit dem Datenspeicher 36 über Adressensignalleitungen 52 und 54 und
Datensignalleitungen 56 und 58. Er erzeugt weiterhin
Lese- und Schreibsignale an Signalleitungen mit den gleichen Namen 60 bzw. 62,
um die Lese- und Schreiboperationen des Datenspeichers 36 zu
steuern. Der Neuzusammenfügungs-Prozessor
schließt
weiterhin seinen eigenen zugehörigen
RAM 64 und ROM 66 zum Speichern eines Neuzusammenfügungs-Programms ein, das
betreibbar ist, um den Neuzusammenfügungs-Prozessor 34 entsprechend
einem Neuzusammenfügungs-Algorithmus
zu steuern, um Signale an den virtuellen Kanalsignalleitungen 46 und
der PTI-Signalleitung 48 zu empfangen und um den Fluss
von Daten von der UTOPIA-Schnittstelle zu dem Datenspeicher 36 in
einer derartigen Weise zu steuern, dass Mitteilungen von sendenden
Knoten empfangen werden können.
-
Gemäß 3 stellt jeder der Netzwerk-Knoten Mitteilungen
entsprechend der Spezifikation I363.5 (O5/96) für die B-ISDN-ATM-Anpassungsschicht
(AAL) Typ 5 der Internationalen Telecommunications Union dar. Gemäß dieser
Spezifikation kann eine Mitteilung aus irgendeiner Anzahl von Oktetten
(Bytes) bestehen. Eine auszusendende Mitteilung wird als eine Gemeinteil-Konvergenz-Teilschicht-Dienste-Dateneinheit (CPCS-SDU) 68 bezeichnet.
-
Um ein gemeinsames Übertragungsprotokoll zu
erleichtern, wird die Gemeinteil-Konvergenz-Teilschicht-Dienste-Dateneinheit
in eine Gemeinteil-Konvergenz-Teilschicht-Protokoll-Dateneinheit (CPCS-PDU) 70 mit
einer Länge
von bis zu 64 K Oktetten aufgebrochen. An diese CPCS-PDU 70 wird ein
Auffüllteil 72,
der zur Aufnahme von zwischen 0 und 47 Oktetten zur Schaffung einer
48-Oktett-Ausrichtung
der CPCS-PDU 70 betreibbar ist, und ein Schlussteil 74 angehängt, der
aus 8 Oktetten besteht. Der Schlussteil 74 schließt Informationen,
wie z. B. eine CPCS-Benutzer-zu-Benutzer-Anzeige, eine Gemeinteil-Anzeige,
die Länge
der CPCS-SDU und zyklische Redundanzprüfungs-(CRC-)Informationen ein.
-
Die Oktette, die die CPCS-PDU 70,
den Auffüllteil 72 und
den Schlussteil 74 bilden, bilden zusammen eine Segmentierungs-
und Neuzusammenfügungs-Dienste-Dateneinheit (SAR-SDU) 76.
Diese SAR-SDU wird dann in ganzzahlige Vielfache von 48 Oktetten
segmentiert, die als die Segmentierungs- und Neuzusammenfügungs-Protokoll-Dateneinheiten
(SAR-PDU) 78, 80, 82, 84 usw.
bezeichnet werden. Jede SAR-PDU wird aufeinanderfolgend als eine
asynchrone Übertragungsbetriebsart-Dienstedateneinheit
(ATM-SDU) 86 behandelt, die als ein ATM-Nutzinformationsteil 88 in
einem Datenpaket 90 wirkt. Das Datenpaket schließt weiterhin
einen Anfangsblock-Teil 72, bestehend aus 5 Oktetten ein,
die Informationen bezüglich
des virtuellen Pfades, der virtuellen Verbindung, der Nutzinformationsart,
der Zellenverlust-Priorität
und der Anfangsblock-Fehlerprüfung
darstellen, die dem ATM-Nutzinformations-Teil 88 zugeordnet
ist. Mitteilungen werden somit durch eine Vielzahl von 53 Oktett-Datenpaketen
definiert, die einen jeweiligen Anfangsblock und Nutzinformations-Teile
von 5 bzw. 48 Oktetten aufweisen.
-
Die virtuelle Pfad- und virtuelle
Verbindungs-Information, die sich in dem Anfangsblock-Teil 92 findet,
bezieht sich auf den dem Nutzinformations-Teil zugeordneten Kanal,
und die Nutzinformations-Typ-Information bezieht sich auf die Art
der Nutzinformation und insbesondere darauf, ob die Nutzinformation
die letzte oder abschließende
SAR-PDU 84 der SAR-SDU 76 ist. Jeder Anfangsblock-Teil 92 schließt daher
eine Kanaldarstellung bezüglich
eines Kanals, der dem Datenpaket zugeordnet ist, und eine Mitteilungsende-Darstellung
ein, die darstellt, ob das Datenpaket ein abschließendes Datenpaket
in der Mitteilung ist oder nicht, und jeder Nutzinformations-Teil 88 schließt Informationen
ein, die einen Teil der Mitteilung bilden.
-
Die Kanaldarstellung ist durch eine
Anzahl von Bits dargestellt, die durch den Logarithmus zur Basis
2 der Anzahl von Mitteilungen bestimmt ist, die jeder Netzwerkknoten
zu irgendeiner Zeit abwickeln muss. Wenn beispielsweise jeder Knoten 64 unterschiedliche
Mitteilungen abwickeln muss, werden 6 Bits für die Kanaldarstellung verwendet.
Entsprechend werden 6 Signalleitungen als die virtuellen Kanalsignal-Leitungen
(46 in 2) verwendet.
-
Der Mitteilungsende-Statusanzeiger
ist ein Bit in dem Anfangsblock-Teil 92, der in dem Anfangsblock
aktiv gesetzt wird, der der letzten ATM-Nutzinformation der Mitteilung
zugeordnet ist, und der für alle
anderen ATM-Nutzinformationen der Mitteilung inaktiv gesetzt wird.
-
Das Datenpaket 90 wird über das
Netzwerk als ein serieller Bitstrom ausgesandt, wobei das höchstbewertete
Bit des ersten Oktetts in dem Anfangsblock als erstes ausgesandt
wird.
-
Unter erneuter Bezugnahme auf 2 ist festzustellen, dass
der auf dem Neuzusammenfügungs-Prozessor 34 ablaufende
Neuzusammenfügungs-Algorithmus in dem
ROM 66 gespeichert wird und Befehle zum Definieren und
Führen
einer Zeigerliste 94 von Adressenzeigern auf ungenutzte
Blöcke von
Datenspeicher 36 einschließt, die zur Speicherung der
Nutzinformations-Teile von Datenpaketen betreibbar sind, die an
der UTOPIA-Schnittstelle 30 empfangen werden. Bei dieser
Ausführungsform kann
der Datenspeicher 36 1 Meg an Adressenzählern speichern. Daher ist
jeder Adressenzähler
durch 20 Bits dargestellt, und die Zeigerliste muss in der Lage
sein, 20-Bit-Worte entweder in einem segmentierten Format oder einem
Gesamtformat zu speichern. Bei dieser Ausführungsform werden die Adressenzeiger
als vollständige
20-Bit-Worte gespeichert.
-
Bei der Initialisierung des Neuzusammenfügungs-Prozessors 34 definiert
der Neuzusammenfügungs-Algorithmus
eine Startadresse des unbenutzen Datenspeichers 36 und
berechnet aufeinanderfolgende Zeigeradressen alle 48 Oktette zu
einer Endadresse. Mit 1 Meg an Adressenzeigern können ungefähr 20,8k 48-Byte-Pakete gespeichert
werden, was ausreicht, um in ausreichender Weise bis zu 32 virtuelle
Kanäle
zu unterstützen,
die jeweils 64K-Byte-Mitteilungen unterstützen. Jeder aufeinanderfolgend
berechnete Adressenzeiger wird als ein getrennter Eintrag in der
Zeigerliste 94 gespeichert. Entsprechend wird die Zeigerliste
so geführt,
dass Blöcke
von unbenutztem Datenspeicher 36 mit gleicher Länge identifiziert
werden, und in dieser Ausführungsform
haben die Blöcke
eine Länge
von 48 Oktetten.
-
Der auf dem Anfangsblock-Prozessor 32 ablaufende
Anfangsblock-Algorithmus stellt den Empfang eines Datenpaketes (90 in 3) von der UTOPIA-Schnittstelle 30 fest
und erzeugt Signale auf den Signalleitungen 46, die den
dem Datenpaket zugeordneten virtuellen Kanal anzeigen. Er erzeugt
weiterhin ein Signal an der Signalleitung 48, das anzeigt, ob
das empfangene Datenpaket das abschließende oder letzte Datenpaket
der SAR-SDU (76 in 3) ist
oder nicht. Die Signalleitungen 46 stellen somit Kanalinformationen
dar, während
die Signalleitung 48 die Mitteilungsende-Information darstellt,
wobei diese Informationen jeweils an den Neuzusammenfügungs-Prozessor 34 übertragen
werden.
-
Effektiv weist der Neuzusammenfügungs-Algorithmus
den Neuzusammenfügungs-Prozessor 34 an,
aus der Zeigerliste 94 einen Adressenzähler zurückzugewinnen, der den Beginn
eines 48-Oktett-Blockes von Speicherplätzen in dem Datenspeicher 36 definiert,
in dem die 48 Oktette des empfangenen Datenpaketes (90 in 3), die an der UTOPIA-Schnittstelle 30 erscheinen,
zu speichern sind. Gleichzeitig definiert und führt der Neuzusammenfügungs-Algorithmus
eine Verknüpfungsliste 96 von Zeigeradressen,
die jedem Kanal zugeordnet sind. Somit ist dem durch die Kanalsignalleitungen 46 identifizierten
Kanal eine Verknüpfungsliste 96 von Zeigern
auf die Blöcke
von Speicherplätzen
in dem Datenspeicher 36 zugeordnet, in denen aufeinanderfolgend
empfangene Datenpakete gespeichert werden. Es ist zu erkennen, dass
die in der Verknüpfungsliste
gespeicherten Zeiger sich nicht auf zusammenhängende Blöcke des Speichers beziehen
können,
weil andere Datenpakete von anderen Kanälen zwischen Paketen einer
vorgegebenen Mitteilung empfangen werden können.
-
Betriebsweise
-
Gemäß 2 wird das Datenpaket (90 in 3) in einem seriellen optischen Format
von der Lichtleitfaser-Zwischenverbindung 19 empfangen. Die
optische Schnittstelle 31 wandelt die optischen Signale
in serielle Logikpegel-Signale an Signalleitungen 38 um,
die mit der UTOPIA-Schnittstelle 30 verbunden sind.
-
Die UTOPIA-Schnittstelle 30 wandelt
die seriellen Logikpegel-Signale in ein paralleles Format um, und
jedes Oktett des Datenpaketes erscheint aufeinanderfolgend auf Datenleitungen 40,
wobei das höchstbewertete
Oktett des Anfangsblock-Teils (92 in 3) als Erstes erscheint.
-
Während
aufeinanderfolgende Oktette des Anfangsblock-Teils empfangen werden,
weist der Anfangsblock-Algorithmus den Anfangsblock-Prozessor 32 an,
die Kanaldarstellung zu decodieren und die Signalleitungen 46 zu
aktivieren, um den Kanal darzustellen, von dem das Datenpaket ausging.
-
Es sei angenommen, dass das gerade
empfangene Datenpaket von dem virtuellen Kanal 0 ist. Bei dem Datenpaket
ist der Kanal 0 als virtuelle Verbindungsinformation in seinem Anfangsblock-Teil
bei Empfang des Datenpaketes codiert, und eine Darstellung des Kanals
0 wird daher an die Signalleitungen 46 von dem Anfangsblock-Prozessor 32 unter der
Steuerung des Anfangsblock-Algorithmus angelegt. Zusätzlich sei
angenommen, dass das gerade empfangene Datenpaket das erste Datenpaket
von vier Datenpaketen ist, die zur Darstellung der Mitteilung verwendet
werden. Weil das erste Datenpaket nicht das letzte Datenpaket in
der Mitteilung ist, wird das PTI-Signal 48 nicht aktiv
gemacht. Entsprechend wird der Anfangsblock-Teil des Datenpaketes
von dem Anfangsblock-Prozessor 32 empfangen, und der Anfangsblock-Prozessor
liefert Statussignale an den Neuzusammenfügungs-Prozessor 34,
die die Kanaldarstellung und die Mitteilungsende-Darstellung anzeigen.
-
Gemäß den 2 und 4 weist
bei Empfang der Kanalsignale 46 und des inaktiven PTI-Signals 48 der
Neuzusammenfügungs-Algorithmus
den Neuzusammenfügungs-Prozessor 34 an,
von einem nächsten
Adressenzeiger 100 der Zeigerliste 94 einen Zeiger
p0 zurückzugewinnen,
der einen ersten 48-Oktett-Block 102 des
Datenspeichers identifiziert. Aufeinanderfolgende Oktette des Nutzinformations-Teils 88 des
Datenpaketes 90 werden dann in Speicherplätze, beginnend
mit der Adresse p0 in den Datenspeicher 36 geladen. Dies
heißt
mit anderen Worten, dass der Nutzinformations-Teil (88 in 3) eines empfangenen Datenpaketes
(90 in 3) in
einen Block des Datenspeichers geladen wird, der durch einen Zeiger
von der Zeigerliste identifiziert ist. Gleichzeitig wird der Adressenzeiger
p0 aus der Zeigerliste 94 entfernt und an einer ersten
Stelle 103 in einer Verknüpfungsliste 96a gespeichert,
die dem virtuellen Kanal 9 zugeordnet ist. Somit wird der Zeiger
zu der Verknüpfungsliste
hinzugefügt,
die der Kanaldarstellung zugeordnet ist, die von dem Anfangsblock-Teil
des Datenpaketes angezeigt wird.
-
Unter erneuter Bezugnahme auf 3 ist zu erkennen, dass
der empfangene Nutzinformations-Teil 88 eine asynchrone Übertragungsbetriebsart-Dienste-Dateneinheit (ATM-SDU) 104 gemäß der Spezifikation
I.363.5 (05/96) der B-ISDN ATM-Anpassungsschicht (AAL) Typ 5 der
Internationalen Telecommunications Union ist. Während aufeinanderfolgende Daten
für eine
vorgegebene Mitteilung empfangen werden, wirken sie als aufeinanderfolgende Segmentierungs-
und Neuzusammenfügungs-Protokoll-Dateneinheiten
(SAR-PDU) 105. Es ist die Aufgabe des Neuzusammenfügungs-Prozessors
(34 in 2),
diese SAR-PDUs 105 in einer zusammenhängenden Form neu zusammenzufügen, die
als eine Segmentierungs- und Neuzusammenfügungs-Dienste-Dateneinheit
(SAR-SDU) 107 bezeichnet wird, während Datenpakete von anderen Kanälen empfangen
werden. Gemäß der vorstehend genannten
Spezifikation wird die SAR-SDU 107 weiterhin als eine Gemeinteil-Konvergenz-Teilschicht-Protokolldateneinheit
(CPCS-PDU) 109 bezeichnet, die identisch zu der ursprünglichen CPCS-PDU
ist, die aus dem CPCS-PDU-Nutzinformationsteil 70,
dem Auffüllteil 72 und
dem Schlussteil 74 besteht. Der Auffüllteil 72 und der
Schlussteil 74 werden dann abgestreift, sodass die ursprüngliche CPCS-SDU 68 oder
Mitteilung verbleibt.
-
Nachdem das erste Datenpaket empfangen wurde,
kann ein zweites Datenpaket empfangen werden, doch gibt es keine
Sicherheit, dass das nächste empfangene
Datenpaket von dem gleichen Kanal stammt. Beispielsweise kann das
nächste
Datenpaket von dem virtuellen Kanal 1 empfangen werden. In diesem
Fall wird das Datenpaket in der vorstehend beschriebenen Weise empfangen,
jedoch mit der Ausnahme, dass unter erneuter Bezugnahme auf 2 der Anfangsblock-Algorithmus den Anfangsblock-Prozessor
anweist, zu bewirken, dass die Signalleitungen 46 anzeigen,
dass der virtuelle Kanal 1 die Quelle des Datenpaketes ist. Wie
zuvor sei angenommen, dass dieses erste Datenpaket von dem virtuellen
Kanal 1 eines von vielen Datenpaketen ist, die die Mitteilung von
dem Kanal 1 bilden, sodass das PT1-Signal nicht aktiv gemacht wird.
-
Der Neuzusammenfügungs-Algorithmus weist den
Anfangsblock-Prozessor 32 an, die virtuellen Kanalsignale
an den Signalleitungen 46 und das inaktive PT1-Signal an
der Signalleitung 48 zu empfangen und sucht den nächsten Zeiger
p1 von dem nächsten
Adressenzeiger 106. Aufeinanderfolgende Oktette des Nutzinformations-Teils dieses als
zweites empfangenen Datenpaketes werden dann an einem 48-Oktett-Block von
aufeinanderfolgenden Speicherplätzen 148,
beginnend an der Adresse p1 in dem Datenspeicher 36, gespeichert.
Gleichzeitig wird der Zeiger p1 an einer ersten Stelle 111 in
einer Verknüpfungsliste 96b gespeichert,
der dem virtuellen Kanal 1 zugeordnet ist.
-
Nachdem die vorstehenden zwei Datenpakete
empfangen wurden, kann ein drittes Datenpaket von irgendeinem virtuellen
Kanal empfangen werden, es sei jedoch angenommen, dass das nächste empfangene
Datenpaket ein zweites Datenpaket von dem virtuellen Kanal 1 ist.
In diese Fall wir das Datenpaket in der vorstehend beschriebenen
Weise empfangen, unter Einschluss der Darstellung, die den virtuellen
Kanal 1 als Quelle auf den Signalleitungen 46 anzeigt.
Wie vorher sei angenommen, dass dieses zweite Datenpaket von dem
virtuellen Kanal 1 eines von vielen Datenpaketen ist, die die Mitteilung
von diesem Kanal bilden, sodass das PTI-Signal nicht aktiv gemacht
wird. Der Neuzusammenfügungs-Algorithmus
weist wiederum den Anfangsblock-Prozessor 32 an, die virtuellen
Kanalsignale 46 zu empfangen, und das inaktive PTI-Signal 48 bewirkt,
dass der Neuzusammenfügungs-Prozessor
den nächsten
Zeiger p2 von dem nächsten
Adressenzeiger 110 sucht. Aufeinanderfolgende Oktette des
Nutzinformations-Teils dieses als dritten empfangenen Datenpaketes
werden dann an einem 48-Oktett-Block
von aufeinanderfolgenden Speicherplätzen 112, beginnend
an der Adresse p2 in dem Datenspeicher 36 gespeichert.
Gleichzeitig wird der Zeiger p2 an einer zweiten Stelle 133 in
der Verknüpfungsliste 96b gespeichert,
die dem virtuellen Kanal 1 zugeordnet ist.
-
Wenn die nächsten zwei empfangenen Datenpakete
von dem virtuellen Kanal 0 sind, so empfangen die nächsten zwei
Plätze
in der Verknüpfungsliste 96a,
die dem virtuellen Kanal 0 zugeordnet ist, die nächsten Zeiger p3 und p4, und
die aufeinanderfolgenden Oktette der Nutzinformations-Teile dieser
Datenpakete werden in Speicherblöcken 119 und 122,
beginnend mit den Adressen p3 bzw. p4 in dem Datenspeicher 36 gespeichert.
-
In ähnlicher Weise empfängt, wenn
nunmehr das nächste
empfangene Datenpaket von dem virtuellen Kanal 2 ist, der erste
Platz in der Verknüpfungsliste 96c,
die dem virtuellen Kanal 2 zugeordnet ist, den nächsten Zeiger p5, und die aufeinanderfolgenden
Oktette des Nutzinformations-Teils werden in einem Block des Speichers 123,
beginnend an der Adresse p5, in dem Datenspeicher gespeichert.
-
Auf die vorstehende Weise werden
verschiedene Datenpakete empfangen, und ihre jeweiligen Nutzinformations-Teile
werden an verschiedenen Speicherplätzen gespeichert, wie dies
allgemein bei 120 in 4 gezeigt
ist. Zusätzlich
hat jede Verknüpfungsliste 96a, 96b, 96c einen
jeweiligen Satz von Zeigern, die auf die Anfangsadressen der jeweiligen 48-Oktett-Blöcke des
Speichers in dem Datenspeicher 36 zeigen, die die Nutzinformations-Teile
jedes Datenpaketes enthalten, die jeweilige Mitteilungen darstellen,
die auf jedem jeweiligen virtuellen Kanal empfangen werden.
-
Wenn ein Mitteilungsende-Signal an
der Leitung 48 beispielsweise für die auf dem virtuellen Kanal
1 empfangene Mitteilung erscheint, gewinnt der Neuzusammenfügungs-Prozessor 34 die
Zeiger p1, p2, pk + 1, die in der dem virtuellen Kanal 1 zugeordneten
Verknüpfungsliste 96b gespeichert
sind, in der Reihenfolge zurück,
in der sie gespeichert wurden. Während
jeder Zeiger zurückgewonnen
wird, wird er zur Adressierung des Datenspeichers 36 verwendet, um
den Anfang seines jeweiligen Blockes des Datenspeichers 36 anzuzeigen,
der zur Speicherung eines jeweiligen Nutzinformations-Teils der
ursprünglichen Mitteilung
verwendet wurde. Der Neuzusammenfügungs-Algorithmus weist den
Neuzusammenfügungs-Prozessor 34 an,
jeweilige Nutzinformations-Teile der Mitteilung aus jeweiligen Blöcken des Datenspeichers 108, 112 und 115 zurückzugewinnen und
sie in einen getrennten Empfangsbereich 117 des Datenspeichers 36 zu
kopieren, der in 2 gezeigt
ist. Auf diese Weise werden alle Nutzinformations-Teile, die die
ursprüngliche
Mitteilung bilden, in der Reihenfolge zurückgewonnen, in der sie an den Knoten
empfangen wurden, und sie werden daher in einer zusammenhängenden
Weise in dem Empfangsbereich als die CPCS-PDU (109 in 3) kopiert und gespeichert.
Somit wird jeder der Nutzinformations-Teile jedes der empfangenen
Datenpakete, die der gleichen Mitteilung zugeordnet sind, in einen Empfangsbereich
des Datenspeichers kopiert.
-
Nachdem jeder jeweilige Nutzinformations-Teil
in den Empfangsbereich kopiert wurde, wird dessen zugehöriger Zeiger
p1, p2, pk + 1 aus der zugehörigen
Verknüpfungsliste 96b entfernt
und zurück zur
Zeigerliste 94 bewegt. Im Ergebnis wird daher der jedem
Block des Datenspeichers, der zum Speichern eines jeweiligen Nutzinformations-Teils
verwendet wird, zugeordnete Zeiger aus der Verknüpfungsliste entfernt, und der
Zeiger wird zu der Zeigerliste als Antwort auf die Mitteilungsende-Darstellung
hinzugefügt.
-
Allgemein werden alle Nutzinformations-Teile
einer vorgegebenen Mitteilung in den Empfangsbereich in der Reihenfolge
kopiert, in der sie empfangen wurden, sodass der Empfangsbereich
eine Wiedergabe von zumindest eine zusammenhängenden Teil der Mitteilung
enthält.
-
Die Mitteilung wird dann für einen
Hauptcomputer oder ein anderes Gerät als eine CPCS-SDU entsprechend
der AAL-Typ5-Spezifikation verfügbar gemacht.