-
Die vorliegende Erfindung betrifft ein Verfahren zur
Steuerung des Durchsatzes an kodierten digitalen Daten in
einem asynchronen Netz, insbesondere einem ATM-Netz (ATM ist
die Abkürzung des englischen Begriffs Aynchronous Transfer
Mode), sowie eine Vorrichtung zur Durchführung dieses
Verfahrens.
-
Die Übertragung von Sprache, Musik, Bildern, Text
oder Daten allgemeiner Art hat zu dienstintegrierten
Übertragungssystemen geführt.
-
Die Nachrichtensysteme greifen zunehmend auf eine
bekannte asynchrone Übertragungstechnik ATM zurück, die
digitalisierte Informationen so unterschiedlicher wie
unregelmäßiger Arten und Durchsätze akzeptiert.
-
Der Aufsatz " Spacing Cells Protects and Enhances
Utilization of ATM Network Links" von P. Boyer et al., IEEE
NETWORK Sept. 1992, New York, Seiten 38 bis 49 beschreibt
ein Verfahren zur Steuerung des Durchsatzes von Zellen, um
diese am Eingangsport eines ATM-Netzes auf Abstand zu
bringen.
-
Die von den verschiedenen Diensten kommenden
Datenfolgen werden in Segmente fester Länge zerteilt. Ein
Vorspann, der Daten von einem sendenden zu einem empfangenden
Teilnehmer zu leiten erlaubt, wird jedem Datensegment
zugeordnet, das auch Datenfeld genannt wird. Zusammen bilden
sie eine ATM-Zelle einer festen Größe, die je nach dem
Inhalt des Vorspanns durch einen sogenannten ATM-Schalter
interpretiert werden kann.
-
Übertragungsstrecken, die von Kabeln,
Richtfunkstrecken, Lichtleitfasern u. s. w. gebildet werden, verbinden
diese Schalter miteinander, sodaß sich ein Nachrichtennetz
ergibt.
-
Jeder Schalter verfügt über Leitinformationen, um die
ankommenden ATM-Zellen an einen der benachbarten Schalter
weiterzuleiten.
-
So ist es möglich, einen virtuellen Schaltkreis
entsprechend einem durch den Vorspann der Zelle bestimmten
Weg innerhalb des Netzes zwischen einer sendenden Station
oder Quelle und einer empfangenden Station über einen
physikalischen Träger zu realisieren, der durch die
Übertragungsstrecken gebildet wird. Eine Übertragungsstrecke kann für
mehrere virtuelle Schaltkreise gemeinsam wirksam sein. Der
ATM-Schalter muß also Zellen, die von verschiedenen Diensten
kommen, auf die gleiche Übertragungsstrecke multiplexieren.
-
Diese Multiplexierung erfordert die Ermittlung des
Nutzdurchsatzes der Strecke, der ganz unterschiedliche Werte
je nach dem betrachteten Dienst annehmen kann, um sicher zu
gehen, daß der durch das Übertragungsmilieu festgelegte
begrenzte physikalische Durchsatz ausreicht.
-
Diese zeitlich gemittelten Werte berücksichtigen
jedoch nicht den unregelmäßigen Charakter der
ATM-Übertragung. So kann beispielsweise ein während einer bestimmten
Zeit wartender Dienst auf einmal eine Menge an Zellen
aussenden. Diese Durchsatzspitze kann zu einer Überschreitung
der Kapazität der Strecke führen, was für die Integrität der
Daten aller auf der Strecke multiplexierten Dienste
schädlich sein kann.
-
Ziel der Erfindung ist es, diesen Nachteil zu
beheben.
-
Hierzu ist Gegenstand der Erfindung ein Verfahren zur
Steuerung des Durchsatzes von digital kodierten Nachrichten
auf einem asynchronen Netz zwischen mindestens einem
sendenden und einem empfangenden Teilnehmer, das darin besteht, in
einem ersten Schritt die vom sendenden Teilnehmer kommenden
Nachrichten in Zellen zu zerteilen, in einem zweiten
Verfahrensschritt eine erste Verarbeitung jeder der Zellen
durchzuführen, um ihnen einen regelmäßigen Abstand gemäß
einer Mindestzeit zu verleihen, die mindesten einer
bestimm
ten Auflösungszeit entspricht, in einem dritten
Verfahrensschritt eine auf die erste Verarbeitung folgende zweite
Verarbeitung vorzunehmen, um Gruppen von Zellen mit einem
gleichen Durchsatz einen abhängig von jedem Teilnehmer des
Netzes zugewiesenen Durchsatz bestimmten Mindestabstand
zu verleihen, und in einem vierten Verfahrensschritt die so
mit Abständen versehenen Zellen in einen bestimmten
virtuellen Schaltkreis des Netzes auszusenden, dadurch
gekennzeichnet, daß im zweiten Verfahrensschritt die erste Verarbeitung
der Zellen darin besteht, dem Vorspann jeder Zelle ein
erstes Feld zuzuordnen, das eine Information über die Zeit
entsprechend dem zwischen zwei beliebigen im Netz
ausgesendeten aufeinanderfolgenden Zelle vorgegebenen Mindestabstand
enthält, daß im dritten Verfahrensschritt die zweite
Verarbeitung der Zellen darin besteht, nachdem jedem Teilnehmer
ein Warteschlange entsprechend einem bestimmten
Sendedurchsatz in dem gegebenen virtuellen Schaltkreis zugewiesen
wurde, die aus der ersten Verarbeitung hervorgehenden Zellen
in die Warteschlangen abhängig von dem jeder Zelle
zugewiesenen bestimmten Durchsatz zu verteilen, Gruppen von aus den
Warteschlangen kommenden Zellen in eine in Listen
unterteilte Folge von Zellen zu organisieren, wobei jede Liste
den Inhalt einer nicht-leeren Warteschlange enthält und
jeder Anfang einer Liste durch einen Listenanfangsindikator
markiert wird, der dem Vorspann der Listenanfangszelle
zugeordnet ist, einen bestimmten zeitlichen Mindestabstand
zwischen der Aussendung von zwei aufeinanderfolgenden
Listenanfangszellen abhängig von der Auflösungszeit, vom Rang
der gerade verarbeiteten Liste, vom Rang der nächstfolgenden
nicht-leeren Liste, von der Anzahl von Zellen in der gerade
verarbeiteten Liste und dem zeitlichen Abstand zwischen zwei
beliebigen aufeinanderfolgenden Zellen zu berechnen, die
Listen von Zellen an einen Sender für Zellen des Netzes zu
übertragen, und daß es in einem vierten Verfahrensschritt
darin besteht, in einen ersten Timer des Netzes den dem
Vorspann jeder Zelle zugeordneten zeitlichen Abstand
zwischen der Aussendung zweier beliebiger aufeinanderfolgender
Zellen zu laden, um eine globale Spreizung der Zellen
durchzuführen, in einen zweiten Timer hinter dem ersten den
zeitlichen Abstand zwischen der Aussendung zweier
aufeinanderfolgender Listenanfangszellen zu laden, um eine selektive
Spreizung der Zellen zu bewirken, und in den bestimmten
virtuellen Schaltkreis des Netzes einen Fluß von Zellen
auszusenden, die sich nach den beiden aufeinanderfolgenden
Spreizungen ergeben.
-
Gegenstand der Erfindung ist auch eine Vorrichtung
zur Durchführung des oben genannten Verfahrens.
-
Die Erfindung bringt einerseits den Vorteil, daß
Durchsatzspitzen eines virtuellen Schaltkreises geglättet
werden, indem ein Mindestabstand zwischen Zellen erzwungen
wird, und andrerseits, daß eine Steuerung des einem
bestimmten Teilnehmer zugewiesenen Durchsatzes abhängig von seinen
Erfordernissen möglich wird, indem gewährleistet ist, daß
der Teilnehmer den ihm zugewiesenen Durchsatzwert nicht
überschreitet und indem eine mögliche Überschreitung der
Kapazität einer Übertragungsstrecke vermieden wird.
-
Die Erfindung und weitere Merkmale werden nun anhand
der beiliegenden Zeichnungen näher erläutert.
-
Fig. 1 zeigt ein Ablaufdiagramm der Schritte des
erfindungsgemäßen Verfahrens.
-
Fig. 2 zeigt ein Übersichtsbild des
erfindungsgemäßen Verfahrens.
-
Fig. 3 zeigt ein funktionales Bild des
erfindungsgemäßen Verfahrens.
-
Fig. 4 zeigt ein Ablaufdiagramm der Teilschritte
während des dritten Schritts des erfindungsgemäßen
Verfahrens.
-
Fig. 5 zeigt ein Beispiel für die Verteilung der
Zellen.
-
Fig. 6 zeigt ein Beispiel der Organisation der
Zellen in Listen.
-
Fig. 7 zeigt ein Ablaufdiagramm der Teilschritte im
Rahmen des vierten Schritts des erfindungsgemäßen
Verfahrens.
-
Fig. 8 zeigt ein funktionales Bild des vierten
Schritts des erfindungsgemäßen Verfahrens.
-
Fig. 9 zeigt ein erstes Zeitdiagramm mit der
zeitlichen Verteilung der Zellen nach der globalen Spreizung.
-
Fig. 10 zeigt ein zweites Zeitdiagramm mit der
zeitlichen Verteilung der Zellen nach der selektiven
Spreizung.
-
Fig. 11 zeigt eine Ausführungsform einer Vorrichtung
zur Durchführung des erfindungsgemäßen Verfahrens.
-
Fig. 12 zeigt ein Beispiel der Formatierung einer
Zelle.
-
Fig. 13 zeigt ein Flußdiagramm zur Verarbeitung.
-
Fig. 14 zeigt den Durchsatz auf einer
Übertragungsstrecke abhängig von der Zeit.
-
Das erfindungsgemäße Verfahren enthält vier
hauptsächliche Verfahrensschritte, die im Ablaufdiagramm gemäß
Fig. 1 dargestellt sind.
-
Es beginnt in einem ersten Verfahrensschritt 1 mit
einem Zerteilen der von den Kunden gelieferten Nachrichten
in ATM-Zellen. Im zweiten Verfahrensschritt 2 erfolgt dann
eine erste Verarbeitung der im ersten Verfahrensschritt
erhaltenen Zellen, um einen ersten Abstand zwischen den
Zellen vorzubereiten. Dann folgt in einem dritten Schritt 3
eine zweite Verarbeitung der aus der ersten Verarbeitung
kommenden Zellen, um einen zweiten Abstand zwischen Zellen
vorzubereiten, und schließlich werden in einem vierten
Verfahrensschritt 4 die Zellen auf eine bestimmte
Übertragungsstrecke ausgegeben, und zwar mit Abständen zwischen
Zellen, die von dem jedem Dienst zugewiesenen Durchsatz
abhängen.
-
Bestimmte Regeln müssen für den korrekten Ablauf des
erfindungsgemäßen Verfahrens eingehalten werden:
-
- Die von einem gegebenen Dienst kommenden Zellen werden
nacheinander ausgegeben;
-
- die von verschiedenen Diensten kommenden Zellen können
zeitlich multiplexiert werden;
-
- der Durchsatz bei der Aussendung der von einem Dienst
kommenden Zellen soll möglichst gut dem diesem Dienst
zugewiesenen Durchsatz angepaßt sein, ohne diesen je zu
überschreiten.
-
Fig. 2 zeigt ein Übersichtsbild des
erfindungsgemäßen Verfahrens.
-
Gemäß dieser Figur senden ein erster Dienst A, 5&sub1;,
ein zweiter Dienst B, 5&sub2;, und ein dritter Dienst C, 5&sub3;, je
einen Datenfluß 6&sub1;, 6&sub2; bzw. 6&sub3; in Form von Nachrichten aus,
die an den Eingang je eines Mittels 7&sub1;, 7&sub2; bzw. 7&sub3; zum
Zerteilen der Nachrichten in Zellen gelangen. Die Datenflüsse
8&sub1;, 8&sub2; und 8&sub3;, die in Zellen zerteilt aus je einem der Mittel
7&sub1;, 7&sub2;, 7&sub3; austreten, werden an einen ersten Eingang eines
ersten Mittels 9 zur Abstandsbildung angelegt, die
nachfolgend globale Spreizung genannt werden wird und auch unter
dem englischen Begriff "cells spacing" bekannt ist. Der
zweite Eingang dieses Mittels 9 empfängt ein Signal zur
Steuerung der globalen Spreizung. Am Ausgang des ersten
Mittels zur globalen Spreizung werden die Datenflüsse 10&sub1;,
10&sub2; und 10&sub3; an einen ersten Eingang je eines zweiten Mittels
11&sub1;, 11&sub2; und 11&sub3; zur Abstandsbildung der Zellen angelegt, die
nachfolgend selektive Spreizung genannt wird. Jedes
selektive Spreizmittel 11&sub1;, 11&sub2; und 11&sub3; empfängt an einem zweiten
Eingang ein Steuersignal zur Steuerung der selektiven
Spreizung. Jeder Datenfluß 12&sub1;, 12&sub2; und 12&sub3; am Ausgang eines der
selektiven Spreizmittel 11&sub1;, 11&sub2; und 11&sub3; gelangt dann an einen
bestimmten virtuellen Kanal 13&sub1;, 13&sub2; und 13&sub3;. Die drei
virtuellen Kanäle bilden eine physikalische Übertragungsstrecke
14, und die verschiedenen von den Zellen eines bestimmten
Dienstes besetzten Übertragungsstrecken bilden einen
virtu
ellen Schaltkreis, der einer bestimmten Strecke durch das
Netz zwischen einem sendenden und einem empfangenden
Teilnehmer eines Dienstes entspricht.
-
Das allgemeine Prinzip der Spreizung ist durch das
vereinfachte funktionale Bild der Fig. 3 dargestellt.
-
In dieser Figur ist die Spreizung durch einen
Wasserhahn 15 symbolisch angedeutet, der auf den Durchsatz
eines von einer Quelle 17 von Zellen ausgehenden
Datenflusses 16 einwirkt. Der Datenfluß 16 wird in Zellen 18i
zerteilt, die zu einem nicht dargestellten bestimmten
virtuellen Schaltkreis CV in einem Rhythmus übertragen werden, der
von der Öffnung des Wasserhahns 15 abhängt, die durch eine
Hand symbolisch angedeutet ist und so den Durchsatz der
Zellen 18i im Netz steuert.
-
Jede Zelle 18i enthält einen Vorspann 19i und ein
Datenfeld 20i. Ein zusätzliches Feld 21i, das durch ein
kleines Quadrat dargestellt ist und eine Zeitinformation
entsprechend einem bestimmten Abstand τ enthält, ist dem
Vorspann 19i jeder Zelle 18i zugeordnet. Diese
Zeitinformation wird von einer Vorrichtung zur
Informationsverarbeitung, beispielsweise von einem in dieser Figur nicht
gezeigten Mikroprozessor geliefert, die die Verteilung der jedem
an das Netz angeschlossenen Dienst zugewiesenen
Nutzdurchsätze steuert. Die im Vorspann 19&sub1; einer ersten, vorher
ausgesendeten vorausgehenden Zelle 18&sub1; enthaltene
Informationen 21&sub1; entsprechend dem Zellenabstand zwischen der ersten
ausgesendeten Zelle 18&sub1; und einer auf diese folgenden zweiten
Zelle 18&sub2; wird in eine Uhr geladen, die nachfolgend mit dem
üblichen englischen Begriff "Timer" bezeichnet wird. Nach
jedem Sendevorgang wird der Wasserhahn 15 während der Zeit τ
geschlossen. Nach dieser Zeit τ, die in den Timer 22 geladen
wurde, wird die zweite Zelle 18&sub2;, die auf die erste Zelle 18&sub1;
folgt, ausgesendet u. s. w. bis zum Ende der Zellen 18&sub3;.
-
In dem erfindungsgemäßen Verfahren werden zwei
Spreizmittel eingesetzt. Das erste Spreizmittel, das auch
globales Spreizmittel genannt wird, gewährleistet einen
Mindest-Zellenabstand zwischen beliebigen
aufeinanderfolgenden Zellen. Dadurch wird global der Fluß von durch einen
bestimmten Dienst ausgesendeten Zellen begrenzt und außerdem
eine Übertragungsstrecke gegen eine mögliche Überschreitung
ihrer Kapazität und damit gegen einen Datenverlust
geschützt.
-
Ein zweites Spreizmittel, das auch selektives
Spreizmittel genannt wird, kontrolliert den einem Teilnehmer oder
Dienst eines Kunden zugewiesenen bestimmten Durchsatz, damit
dieser den zugewiesenen Durchsatz nicht überschreiten kann.
Jedem Dienst oder Kunden ist ein bestimmter virtueller
Schaltkreis zugewiesen, und, wie oben beschrieben, soll die
Summe der Durchsätze auf einem bestimmten Schaltkreis
möglichst gut dem physikalischen Durchsatz der
Übertragungsstrecke angepaßt sein. Die selektive Spreizung ermöglicht
also außerdem diese Anpassung, indem bestimmte einen
virtuellen Schaltkreis durchlaufende Zellen einen
Mindestzellenabstand abhängig von Übertragungsparametern und selektiven
Spreizungsparametern der Zellen einhalten.
-
Im ersten Schritt 1 des erfindungsgemäßen Verfahrens
werden, die von den Diensten oder Kunden gelieferten
Nachrichten in ATM-Zellen zerlegt.
-
Der zweite Verfahrensschritt 2 besteht in einer
ersten Verarbeitung darin, dem Vorspann jeder aus dem ersten
Verfahrensschritt 1 kommenden Zelle ein Feld zuzuordnen, das
einen bestimmten Zellenabstand enthält, um die globale
Spreizung der Zellen durchzuführen.
-
Im dritten Verfahrensschritt werden die aus der
ersten Verarbeitung kommenden Zellen einer zweiten
Verarbeitung unterworfen, um die selektive Spreizung der Zellen
durchzuführen. Dieser dritte Verfahrensschritt 3 teilt sich
in vier Teilschritte 23 bis 26 auf, die im Ablaufdiagramm
der Fig. 4 zu sehen sind.
-
In einem ersten Teilschritt 23 beginnt die zweite
Verarbeitung mit einer Verteilung der Zellen der Nachrichten
in Warteschlangen, die abhängig von ihrem Durchsatz bestimmt
werden. Dann folgt in einem zweiten Teilschritt 24 eine
Organisation der so in Form von Listen verteilten Zellen
sowie in einem dritten Teilschritt 25 eine Berechnung des
Abstands zwischen Listen, nachfolgend Listenabstand genannt,
und schließlich ein vierter Teilschritt 26, in dem die
Listen zum vierten Schritt 4 des erfindungsgemäßen
Verfahrens übertragen werden.
-
Der erste Teilschritt 23 der zweiten Verarbeitung des
erfindungsgemäßen Verfahrens besteht darin, sobald eine
Nachricht nach der im zweiten Schritt 2 des
erfindungsgemäßen Verfahrens erfolgten Verarbeitung geliefert wird, jedem
Dienst oder Kunden eine Warteschlange zuzuweisen, die einer
in einem bestimmten virtuellen Schaltkreis bestimmten
Sendedurchsatz entspricht.
-
Fig. 5 zeigt ein Beispiel für die Verteilung der
durch ein Rechteck dargestellten Zellen von drei Nachrichten
MA, MB, MC, die von drei Diensten oder Kunden A, B, C stammen
und oben anhand von Fig. 2 eingeführt wurden. Die Zellen
werden in Warteschlangen F&sub0; bis Fn vom Typ FIFO (first in -
first out) verteilt und sind je schematisch als Stapel
dargestellt.
-
Die Warteschlangen F&sub0; bis Fn sind in Rängen r&sub0; bis rn
geordnet. Die erste Nachricht MA enthält drei Zellen A&sub0;, A&sub1;,
A&sub2;, die zweite Nachricht enthält fünf Zellen B&sub0;, B&sub1;, B&sub2;, B&sub3;, B&sub4;
und die dritte Nachricht MC enthält sechs Zellen C&sub0;, C&sub1;, C&sub2;,
C&sub3;, C&sub4;, C&sub5;. Die erste Warteschlange F&sub0; des Rangs r&sub0; enthält
die drei ersten Zellen A&sub0;, B&sub0; und C&sub0; jeder der drei
Nachrichten MA, MB, MC. Die beiden nachfolgenden Warteschlangen F&sub1; und
F&sub2; des Rangs r&sub1; bzw. r&sub2; sind leer. Die vierte Warteschlange F&sub3;
des Rangs r&sub3; enthält nur eine Zelle C&sub1;, die zur dritten
Nachricht MC gehört. Die fünfte Warteschlange F&sub4; des Rangs r&sub4;
enthält nur eine Zelle B&sub1;, die zur zweiten Nachricht MB
gehört usw.
-
Der zweite Teilschritt 24 der zweiten Verarbeitung
zur selektiven Spreizung besteht darin, die aus den
Warteschlangen des Teilschritts 23 kommenden Zellen in Form
einer in Listen zerlegten Folge von Zellen zu organisieren.
-
Jede Liste ist ein Teil der Folge von Zellen
entsprechend dem Inhalt jeder Warteschlange und ihre Zellen
sollen sequentiell ausgesendet werden. Jeder Anfang einer
Liste wird durch einen Listenanfangsindikator markiert, der
dem Vorspann der nachfolgenden Listenanfangszelle genannten
ersten Zelle der Liste zugeordnet wird. Die Listen werden
nacheinander mit der Maßgabe ausgesendet, daß die Zeit Til
zwischen Listen, die die Aussendung zweier
aufeinanderfolgender Listenanfangszellen auf eine Übertragungsstrecke
trennt, mindestens gleich einer Auflösungszeit Tr des
Spreizverfahrens ist, die mit dem inneren Taktgeber eines
selektiven Spreizungstimers verknüpft ist und beispielsweise in der
Größenordnung von 10&supmin;&sup6; s liegt. Eine Nachricht ist wählbar,
wenn noch gar keine Nachricht aus der gleichen Warteschlange
in die Listen verteilt wurde.
-
Die Warteschlangen werden permanent durch ein
Informationsverarbeitungsorgan, beispielsweise einen
Mikroprozessor abgefragt und die Zellen der wählbaren Nachrichten
werden verkettet, und zwar höchstens eine Zelle pro Liste.
Die Listen haben einen Abstand entsprechend einer Anzahl N L
von Listen abhängig von dem der entsprechenden Warteschlange
zugeordneten Durchsatz. Die Zahl NL wird als das Verhältnis
der Zeit Til zwischen Listen zur Auflösungszeit Tr definiert.
-
Fig. 6 zeigt eine Folge von in Listen segmentierten
Zellen und nimmt wieder das Beispiel der drei obigen
Nachrichten MA, MB, MC auf.
-
Die erste Liste L&sub0; enthält die erste Warteschlange
F&sub0;, also nacheinander die Zellen A&sub0;, B&sub0;, C&sub0;. Die
Listenanfangszelle A&sub0; enthält in ihrem Vorspann einen
Listenanfangsindikator, der durch ein kleines schraffiertes Quadrat
symbolisch angedeutet ist.
-
Die zweite Liste L&sub1;, die auf die erste folgt, enthält
den Inhalt der ersten nachfolgenden nicht-leeren
Warteschlange F&sub3;, also eine einzige Zelle C&sub1;, die ebenfalls eine
Listenanfangszelle ist. Die dritte Liste L&sub2; enthält auch nur
eine Zelle B&sub1; u. s. w. bis zur letzten Liste LB, die die letzte
Zelle B&sub4; der zweiten Nachricht MB enthält.
-
Der dritte Teilschritt 25 der zweiten Verarbeitung
zur selektiven Spreizung besteht darin, die Zeit Til zwischen
den Listen vor der Aussendung jeder neuen Liste zu
berechnen.
-
Periodisch, beispielsweise einmal in jeder
Millisekunde, wird eine bestimmte Anzahl von Listen festgelegt.
Jede Liste enthält Zellen, die zu unterschiedlichen
Nachrichten gehören. Die leeren Listen werden für die Berechnung
nicht berücksichtigt. Für jede festgelegte Liste wird eine
Zeit Til zwischen Listen berechnet. Diese Zeit wird dann im
vierten Schritt 4 des erfindungsgemäßen Verfahrens in
Betracht gezogen, der darin besteht, die Zellen auf die
Übertragungsstrecke auszusenden.
-
Es sei rt der Rang der Warteschlange entsprechend der
gerade verarbeiteten Liste, r&sub5; sei der Rang der
nächstfolgenden nicht-leeren Liste, NC die Anzahl von Zellen in der
gerade verarbeiteten Liste, Tr die Auflösungszeit und Tg der
globale Abstand zwischen Zellen. Dann läßt sich die Zeit Til
zwischen Listen durch die folgende Formel ausdrücken:
-
Til = [T·(rs-rt)] + [(NC-1)·Tg] (1)
-
Im Beispiel der Fig. 5 hat der Rang r&sub0; der gerade
verarbeiteten entsprechenden Liste L&sub0; den Wert 1 und der Rang
der nächstfolgenden Liste L&sub1; hat den Wert 4, während die
Anzahl NC von Zellen der gerade verarbeiteten Liste L&sub0; den
Wert 3 hat.
-
Die Berechnung der Zeit Til zwischen Listen aufgrund
der Formel (1) liefert folgendes Ergebnis:
-
Til = 3·Tr + 2·Tg,
-
sowie für die zweite Liste Til = Tr u. s. w.
-
Die berechnete Zeit Til zwischen Listen wird dann in
ein erstes dem Vorspann der Zelle am Listenanfang
zugeordnetes Feld eingetragen.
-
In dem vierten und letzten Teilschritt 26 der zweiten
Verarbeitung werden die Zellen nacheinander in dem durch den
vierten Schritt des Verfahrens vorgegebenen Rhythmus
übertragen.
-
Der vierte und letzte Schritt 4 des erfindungsgemäßen
Verfahrens besteht darin, die Zellen auf die
Übertragungsstrecke in einem abhängig von dem in den vorhergehenden
Verfahrensschritten 2 und 3 ermittelten und in dem Vorspann
jeder Zelle zugeordnete Felder eingetragenen
Spreizungsparametern bestimmten Rhythmus zu übertragen. Der Schritt 4
unterteilt sich in einen ersten Teilschritt 27, in dem die
globale Spreizung erfolgt, und einen zweiten Teilschritt 28,
in dem die selektive Spreizung erfolgt. Die beiden
Teilschritte 27 und 28 sind im Ablaufdiagramm der Fig. 7 zu
sehen.
-
Fig. 8 zeigt ein Funktionsschema entsprechend dem
Schritt 4, bei dem die Timer nicht dargestellt sind. Nur die
Steuerungen der beiden Spreizungen sind symbolisch durch
eine Hand angedeutet. Ein erster Wasserhahn 29 symbolisiert
die globale Spreizung und ein zweiter Wasserhahn 30 die
selektive Spreizung. Eine Quelle 31 von Zellen sendet einen
Fluß 32 von Daten in Richtung des Pfeils. Die durch ein
Rechteck dargestellten Zellen bleiben in Wartestellung, bis
der erste Hahn 29 geöffnet wird.
-
Das obige Beispiel aufgreifend, wird ein erster
globaler Timer mit der globalen Zeit Tg zwischen Zellen
geladen, die aus der gerade verarbeiteten und vorher
wartenden Zelle C&sub2; entnommen wird. Die nächstfolgende Zelle B&sub2; wird
bei Ablauf der globalen Zeit Tg ausgesendet, die in den Timer
geladen wurde. Die nächstfolgenden Zellen C&sub3; und A&sub2; werden
blockiert, solange die im Timer aus der Zelle B&sub2; geladene
Zeit noch nicht abgelaufen ist u. s. w. Der Prozeß erneuert
sich mit jeder neuen Zelle. Dieser erste Hahn gewährleistet
einen Mindest-Zeitabstand zwischen der Aussendung zweier
beliebiger aufeinanderfolgender Zellen.
-
Die so auf Abstand gebrachten Zellen B&sub1;, A&sub1; und C&sub2;
werden erneut aufgehalten, bis der zweite Hahn 30 geöffnet
wird, der die selektive Spreizung symbolisiert.
-
Wenn eine Listenanfangszelle C&sub1; identifiziert wird,
die in Fig. 8 durch ein kleines Quadrat am Anfang der Zelle
markiert ist, wird der selektive Timer mit der Zeit Til
zwischen Listen geladen, die aus der Zelle C&sub1; entnommen wird.
Die nächstfolgende Zelle 8&sub1; wird aufgehalten, bis die Zeit Til
zwischen Listen abgelaufen ist. Der Prozeß erneuert sich bei
jeder neuen Liste. Dieser zweite Hahn 30 gewährleistet eine
Mindestzeit zwischen zwei aufeinanderfolgenden nicht-leeren
Listen.
-
Fig. 9 zeigt ein erstes Zeitdiagramm mit der
zeitlichen Verteilung der Zellen nach der globalen Spreizung.
-
Jede Zelle ist durch einen senkrechten Strich
angedeutet. Ein dünner Strich entspricht einer Zelle, die nicht
am Listenanfang steht, während ein dicker Strich einer Zelle
am Anfang einer Liste entspricht.
-
Dieser Zeitdiagramm erlaubt die Feststellung, daß ein
gleichmäßiger Mindestabstand Tg zwischen allen Zellen A&sub0; und
B&sub4; besteht.
-
Fig. 10 zeigt ein zweites Zeitdiagramm mit denselben
Zellen wie in der vorhergehenden Figur nach der selektiven
Spreizung. Der Mindestabstand zwischen den Zellen bleibt
zwischen den Zellen einer Liste erhalten, während der
Abstand Til zwischen zwei Listenanfangszellen gemäß der Formel
(1) variiert, die die Zeit Til zwischen Listen berechnet. Die
Berechnung erfolgt vor der Aussendung jeder neuen Liste. Im
Beispiel der Fig. 10 ergibt sich der Abstand Til zwischen
der ersten Liste L&sub0; und der zweiten Liste L&sub1;, d. h. die Zeit
zwischen der Zelle A&sub0; am Anfang der ersten Liste L&sub0; und der
Zelle C&sub1; am Anfang der zweiten Liste L&sub1;, aus der Formel (1)
Wie folgt: Til = 3·Tr + 2·Tg.
-
Die gleiche Rechnung erfolgt zwischen den
Listenanfangszellen C&sub1; und B&sub1;, den Zellen B&sub1; und A&sub1; u. s. w. bis zu den
Listenanfangszellen A&sub2; und C&sub5;.
-
Das Funktionsschema einer Ausführungsform der
Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens
ist in Fig. 11 dargestellt.
-
In dieser Ausführungsform enthält die Vorrichtung
zwei Hauptkomponenten. Die erste Komponente 33 ist eine
Vorrichtung zur Informationsverarbeitung, beispielsweise ein
Mikroprozessor, während die zweite Komponente 34 eine
Vorrichtung mit verdrahteter Logik ist, beispielsweise ein ASIC
(Application Specific Integrated Circuit).
-
Der Mikroprozessor 33 übernimmt die Aufteilung der
Nachrichten in ATM-Zellen und verkehrt über eine Verbindung
35 mit dem ASIC 34, der die globale und die selektive
Spreizung sowie den Sender 31 für ATM-Zellen integriert. Diese
Verbindung 35 enthält einen Bus DATA für in acht Bits
kodierte Daten und ermöglicht die Übertragung der in Form
einer Folge von Bytes dargestellten Zellen vom
Mikroprozessor 33 zum ASIC 34. Jedes DATA-Byte, das vom Mikroprozessor
33 ausgegeben wird, wird durch einen Qualifikationsimpuls
CSTR* freigegeben und jedes vom ASIC 34 empfangene DATA-Byte
wird durch einen Bestätigungsimpuls CRDY* validiert, wobei
diese beiden Impulse aufeinander abgestimmt sind.
-
Um einen bestimmten Abstand zwischen Zellen zu
erzeugen, liefert der ASIC 34 keinen Validierungsimpuls, bis
die in den Timer geladene Zeit abgelaufen ist. Die Steuerung
dieses Austausches erfolgt beispielsweise durch einen im
ASIC 34 untergebrachten Verarbeitungsmodul.
-
Fig. 12 zeigt ein Beispiel für das Format einer
Zelle 36, die zwischen dem Mikroprozessor 33 und dem ASIC 34
ausgetauscht wird.
-
Die Zelle 36 enthält ein erstes Feld 36&sub1; entsprechend
dem Datenfeld und ein zweites Feld 36&sub2; entsprechend dem
Vorspann der Zelle 36. Diesem Vorspann 36&sub2; ist ein Wort 36&sub3;
zugeordnet, das ein drittes mit 32 Bits kodiertes Feld
bildet und die Übertragung verschiedener Parameter an den
ASIC 34 erlaubt. Jeder dieser Parameter ist mit einer
bestimmtan Anzahl von Bits kodiert. Dieses Wort 36&sub3; enthält vom
Bit geringster Wichtung zum Bit größter Wichtung von rechts
nach links in der Figur gesehen:
-
- ein erstes Paar von Parametern (NC, MC) bezüglich der
in den ersten Timer geladenen Parameter, um die globale
Spreizung durchzuführen, wobei dieses Paar aus zwölf Bits
besteht;
-
- ein zweites Paar von Parametern (NL, ML) bezüglich der
in den zweiten Timer geladenen Parameter, um die selektive
Spreizung durchzuführen, wobei dieses Paar auch zwölf Bits
umfaßt;
-
- und einen Listenanfangsindikator (DBL) sowie ein
Synchronisationswort (STX) zur Markierung des Anfangs einer
Zelle, die gemeinsam die acht letzten Bits des die dritte
Ebene bildenden Wortes 36&sub3; kodieren:
-
Die in einen Timer zu ladende Zeit wird durch
folgende Formel berechnet:
-
Δt = 2Nx·Mx·Tb (2)
-
Hierbei gilt 0< Nx< 15 und 0< Mx< 255,
und Tb entspricht der internen Taktperiode des Timers.
-
Die Größen Nx und Mx entsprechen den Paaren (NC,MC)
und (NL,ML), wenn x den Wert C beziehungsweise L annimmt.
-
Diese Formel (2) entspricht einer Kombination eines
einfachen Produkts MX·Tb und einer Exponentialfunktion der
Basis 2, nämlich 2Nx, und erlaubt es, die Anzahl von Bits der
Parameter Nx und Mx zu verringern, ohne die große Dynamik
hinsichtlich der in den Timer zu ladenden Zeit zu
verschlechtern.
-
Beispielsweise errechnet sich die maximale Zeit Δmax,
die in einen Timer geladen werden kann, für eine interne
Taktperiode Tb = 100 ns des Timers und für Nx = 15 und Mx =
255 wie folgt:
-
Δmax = 2¹&sup5;·255·10&supmin;&sup7;s, also Δmax = 0,835 s.
-
Fig. 13 zeigt ein Flußdiagramm der Verarbeitung, die
im ASIC 34 erfolgt.
-
Die Verarbeitung beginnt mit einem ersten Test 37,
bei dem das Vorliegen eines Qualifikationsimpulses CSTR* zum
Aussenden eines DATA-Bytes durch den Mikroprozessor 33
erfaßt wird. Wenn das Ergebnis des ersten Tests 37 negativ
ist, endet die Verarbeitung. Ist dagegen das Ergebnis
positiv, dann folgt ein zweiter Test 38, bei dem ein Beginn
einer Zelle 36 erfaßt wird. Der Anfang einer Zelle 36 wird
durch das Wort 36&sub3; mit 32 Bits definiert, das die
verschiedenen dem Vorspann 36&sub2; der Zelle 36 zugeordneten Parameter
enthält. Jeder Zelle 36, also jedem Wort 36&sub3; von 32 Hits,
wird eine Ordnungsnummer zugeordnet. Das erste Wort der
ersten ausgesendeten Zelle 36 hat die Nummer 0. Der ASIC 34
enthält einen nicht dargestellten Zähler, der vorab auf Null
gesetzt wird, und erkennt den ersten Beginn einer Zelle 36,
wenn das gefundene Wort 36&sub3; die Nummer 0 hat, das die
folgende Verarbeitung erlaubt, während ansonsten der Zähler des
ASIC 34 weitergezählt wird (N = N+1). Der ASIC liefert dem
Mikroprozessor 33 einen Bestätigungsimpuls CRDY*, sodaß ein
neues DATA-Byte gesendet werden kann. Wenn das Ergebnis des
zweiten Tests 38 positiv ist, setzt sich die Verarbeitung
durch einen dritten Test 39 fort, der darin besteht, zu
erkennen, ob das Synchronisationswort STX, das den Beginn
einer Zelle 36 angibt, an der richtigen Stelle sitzt. Ist
das Ergebnis des dritten Tests 39 negativ, dann wird ein
Nicht-Synchronisationsindikator ausgelöst und das ASIC
34 überträgt an den Mikroprozessor 33 einen
Bestätigungsimpuls CSDY* für die Verarbeitung eines neuen DATA-Bytes,
ohne daß der Zähler des ASIC 34 weitergezählt würde. Ist das
Ergebnis positiv, dann folgt ein vierter Test 40, der darin
besteht, zu überprüfen, ob die in dem globalen
Spreizungstimer geladene Zeit abgelaufen ist. Der vierte Test 40 wird
so lange wiederholt, bis die Zeit abgelaufen ist. Danach
wird das Laden 41 einer neuen, in einer neuen Zelle 36
enthaltenen Zeit in den globalen Spreizungstimer
freigegeben. Dieser Test 40 entspricht der globalen Spreizung, die
durch den ersten Hahn 29 in Fig. 8 symbolisch dargestellt
ist.
-
Im Rahmen der weiteren Verarbeitung folgt ein fünfter
Test 42, bei dem das Vorliegen eines Listenanfangsindikators
DBL in der Zelle 36 erfaßt wird. Ist das Ergebnis negativ,
dann wird ein Synchronisationsindikator SYNC aktiviert und
der Zähler des ASIC 34 wird weitergezählt (N = N+1), ehe der
Impuls CRDY* eines neuen DATA-Bytes ausgesendet wird. Ist
das Ergebnis positiv, d. h. wurde ein Listenanfangsindikator
DBL erfaßt, dann folgt ein sechster Test 43. Ist das
Ergebnis des sechsten Tests 43 negativ, dann wird dieser
wiederholt, bis die Zeit im Timer für die selektive Spreizung
abgelaufen ist. Dieser Test 43 entspricht der selektiven
Spreizung, die symbolisch durch den zweiten Wasserhahn 30 in
Fig. 8 angedeutet ist. Ist das Ergebnis positiv, dann wird
eine neue Zeit Til zwischen Listen im Schritt 44 in den
zweiten Timer für die selektive Spreizung geladen, und der
Synchronisationsindikator SYNC ermöglicht die Kontrolle der
Synchronisation der Zellen im Fluß der DATA-Bytes auf der
Verbindung 35. Die Verarbeitung setzt sich dann fort, indem
der Zähler im ASIC 34 weitergezählt wird (N = N+1) und indem
ein neues DATA-Byte vom Mikroprozessor 33 zum ASIC 34
übertragen wird. Diese Verarbeitung wiederholt sich bis zum Ende
der Zellen 36, die die Nachrichten bilden.
-
Fig. 14 zeigt ein Diagramm mit der Entwicklung des
Durchsatzes einer Übertragungsstrecke abhängig von der an
der Abszisse aufgetragenen Zeit.
-
In diesem Beispiel werden zwei Dienste S&sub1; und S&sub2; von
Kunden auf einer gemeinsamen Übertragunsstrecke mit
unterschiedlichen Durchsätzen D&sub1; und D&sub2; multiplexiert, wobei D&sub2;
größer als D&sub1; ist. Eine physikalische Obergrenze D des
Durch
satzes auf der Übertragungsstrecke ist durch eine gepunktete
waagrechte Linie angedeutet. Die Kurve der Summendurchsätze
D&sub1; + D&sub2; ohne Spreizung überschreitet diese Grenze in dem
Augenblick, in dem eine Durchsatzspitze im Dienst S&sub2;
auftritt. Der Bereich der Überschreitung ist schraffiert
markiert.
-
Das erfindungsgemäße Verfahren erlaubt es, die Summe
der beiden Durchsätze D&sub1; und D&sub2; ohne Spreizung unter die für
die Übertragungsstrecke akzeptable Obergrenze D zu bringen.
Eine neue Kurve D&sub1; + D&sub2; mit Spreizung entspricht einer
Glättung der vorhergehenden Kurve.