-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich auf Verfahren und Vorrichtungen
zum Handhaben einer Übermittlung
von Datenzellen von einem Knoten wo die Zellen zu verschiedenen
Kanälen
gehören
und von einer Station in vorbestimmten Raten spezifisch für jeden
Kanal übermittelt
werden.
-
Hintergrund
und Stand der Technik
-
Bei
der Übermittlung
von Anrufen oder Nachrichten in einem asynchronen Netzwerk wird
jeder Anruf oder Nachricht in kurze Zellen oder Segmente geteilt,
die in dem Netzwerk weitergeleitet werden, wobei jede Zelle dann
zu einem spezifischen Anruf oder Nachricht oder allgemein zu einer
besonderen logischen Verbindung gehört. Diese Verbindungen werden
eingerichtet, wenn der Anruf durchgeführt wird oder die Anfrage zum Übermitteln
einer Nachricht, z.B. einer digitalen Datei durch das Netzwerk durchgeführt wird.
In Abhängigkeit
von dem Benutzer oder Anfrager der Übermittlung wird jede logische Verbindung
einer vorbestimmten Übermittlungsrate zugewiesen,
die ein Bruchteil der gesamten Übermittlungsrate
von Zellen für
die Knoten in dem Netzwerk ist, wobei die Höhe des Bruchteils verschiedene Kosten
für den
Benutzer oder Anfrager verursacht. Es besteht dann ein Problem zum
Ausgeben der Datenzellen in diesen Raten von einer Station in das Netzwerk,
so dass diese vorbestimmten Raten nicht überschritten werden. Das gleiche
Problem kann auch in einem Knoten innerhalb des Netzwerkes bestehen,
wo die Übermittlungsraten
der verschiedenen logischen Verknüpfungen unausgeglichen sein können durch
die Tatsache, dass die Zellen verschiedene Pfade passieren können, dass
Puffer voll sein können
und einige Zellen dann fallen gelassen werden, etc.
-
In
der veröffentlichten
europäischen
Patentanmeldung
EP
0609 114 A1 ist ein Verfahren offenbart zum Übermitteln
von Zellen in einem ATM-Netzwerk. Das Verfahren umfasst eine Anzahl
von Schritten einschließlich,
dass in einem der Schritte die Zellen durch ein kleinstes Zeitintervall
getrennt sein können,
das die maximal erlaubte Übermittlungsrate
für den
entsprechenden Benutzer darstellt. Die Zeittrennung wird mittels
verschiedener Timer durchgeführt. Für jede Trennung
der ersten Art werden die Zellen in einer Anzahl von Dateien von
Zellen oder Listen von Zellen gesammelt, die sukzessiv übermittelt
werden. In der anderen Trennung sind die Zellen mit verschiedenen
erlaubten maximalen Übermittlungsraten über die
Dateien oder Listen verteilt, für
jede Übermittlungsrate
gleich oder mit einem gleichen Abstand über Dateien oder Listen.
-
In
der veröffentlichten
internationalen Patentanmeldung WO 94/14266 A1 ist ein Verfahren
zum Steuern des Flusses von Zellen durch Knoten in einem ATM-Netzwerk
offenbart. Die Schalter bzw. Vermittlungen des Systems, die mit
sowohl Eingangs- als auch Ausgangspuffern ausgerüstet sind, können mittels
einer Drosselung den Fluss von Zellen von den Eingangspuffern steuern,
wenn ein adressierter Ausgangspuffer überladen ist. In einer Ausführungsform
weist jeder Ausgangspuffer eine Vorrichtung auf zum Erfassen seines
Füllpegels,
wobei der erfasste Wert kontinuierlich zum Steuern der Drosselung
berichtet wird. Der Zweck der Drosselung ist hier primär nur zum
Vermeiden einer Überlast
oder eines Überfließen des
Ausgangspuffers.
-
Andere,
eine Drosselung in Netzwerken verwendende Systeme sind in US-Patent
US 5,280,470 A und
in der veröffentlichten
europäischen
Patentanmeldung
EP
0 573 739 A2 offenbart.
-
Zusammenfassung
-
Es
ist eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben
einer Übermittlung
von Zellen, die zu verschiedenen logischen Verbindungen gehören, bereitzustellen,
von einem betrachteten Punkt, wie einer Station oder einem Knoten,
wo alle Zellen bei vorbestimmten Raten übermittelt werden, wobei das
Handhabungsverfahren und die Vorrichtung nur eine einfache Hardware
mit einer effizienten Verwendung von Speicherbereichen erfordert.
-
Insbesondere
ist eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben
einer Übermittlung
von Zellen von einer Station oder einem Knoten bereitzustellen,
wo vorbestimmte Raten, die für
Zellen eingerichtet werden, die zu verschiedenen logischen Verbindungen
gehören,
nicht überschritten werden
und Zellen simultan von der Station bei der höchsten möglichen Gesamtrate übermittelt
werden.
-
Insbesondere
ist es eine weitere Aufgabe der Erfindung Verfahren und Vorrichtungen
zum Handhaben einer Übermittlung
von Zellen von einer Station oder einem Knoten bereitzustellen,
wo die Übermittlung
von Zellen in dem Fall, wo die Summe von vorbestimmten Raten, die
für Zellen
eingerichtet sind, die zu verschiedenen logischen Verbindungen gehören, eine
gesamte Übermittlungsrate
der Station oder Knoten beschreiben oder, äquivalent ausgedrückt, die
gesamte Übermittlungsbandbreite überschreitet, wobei
alle vorbestimmten Raten in einer gleichen Weise erhöht werden,
so dass keine Verbindung mehr als andere bevorzugt wird, z.B., dass
keine Verbindung blockiert wird, wenn die anderen es nicht sind,
und insbesondere, dass alle Verbindungen, die die gleiche vorbestimmte
Rate aufweisen, gleich gehandhabt werden, und keiner von ihnen mehr Übermittlungszeit
gegeben wird als den anderen.
-
Insbesondere
ist es noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen
zum Handhaben einer Übermittlung
von Zellen von einem Punkt oder einer Station bereitzustellen, wo
Zellen, die zu verschiedenen logischen Verbindungen gehören oder
von verschiedenen Quellen an der Station mit verschiedenen Übermittlungsraten
ankommen, und wobei zu einigen Zeitdauern selbst keine Zelle ankommen,
die zu einigen Verbindungen gehören,
wobei die Übermittlungskapazität den Verbindungen
auf der Grundlage ihres augenblicklichen Bedarfs zugewiesen wird,
so dass während
dieser Zeitdauer bzw. Zeitperioden, wenn keine bereiten Zelle vorhanden sind,
um übermittelt
zu werden, einer Verbindung seine Teilung der gesamten Übermittlungsbandbreite gegeben
wird auf der Grundlage der vorbestimmten Übermittlungsrate der Verbindung,
und in anderen Fällen,
wenn keine Zellen vorhanden sind, die Bandbreite verwendet wird
zum Übermitteln
von Zellen von anderen Verbindungen, wo die Übermittlung von der Verbindung
schnell danach gestartet wird, wenn sie Zellen aufweist, die bereit
sind, um übermittelt
zu werden.
-
Es
ist noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen
zum Übermitteln
von Zellen von einer Station oder einen Knoten bereitzustellen,
wo die Übermittlungsraten
für Zellen,
die zu verschiedenen logischen Verbindung gehören, mit einer hohen Auflösung und
für jede
Verbindung unabhängig
von allen anderen Verbindungen eingestellt werden können.
-
Es
ist noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen
zum Übermitteln
von Zellen von einer Station oder einem Knoten bereitzustellen,
wo die Übermittlungsraten
für Zellen,
die zu einer logischen Verbindung gehören, während der Übermittlung der Zellen verändert werden
kann.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung Verfahren
und Vorrichtungen zum Übermitteln
von Zellen einer Station oder einem Knoten bereitzustellen, wo die
gesamte Handhabungszeit zum Handhaben der Übermittlung von Zellen, die zu
verschiedenen logischen Verbindungen gehören, prinzipiell nicht erhöht wird,
wenn die Anzahl von eingerichteten logischen Verbindungen sich erhöht, und wo
der Umfang von zusätzlicher
Hardware, wie das Verfahren und in der Vorrichtung erforderlich
ist, nur mäßig ist
in dem Fall, wo das Verfahren und die Vorrichtung ausgeweitet werden
zum Handhaben von mehr logischen Verbindungen als zuvor.
-
Es
ist eine andere Aufgabe der Erfindung Verfahren und Vorrichtungen
zum Handhaben einer Übermittlung
von einer Station oder einem Knoten von Zellen bereitzustellen,
die zu verschiedenen logischen Verbindungen gehören, wobei bei dem Verfahren
und der Vorrichtung alle zu jeder Verbindung gehörende Zellen bei einer vorbestimmten
Rate für
jede Verbindung übermittelt
werden, wobei das Handhabungsverfahren und die Vorrichtung einen
geglätteten
Zellenfluss aus der Station oder dem Knoten ergeben.
-
Gemäß der Erfindung
wird ein Verfahren gemäß Anspruch
1 und eine Station gemäß Anspruch 12
bereitgestellt. Somit werden in einer Station oder einem Endgerät für ein Netzwerk
Datenzellen von dem Endgerät übermittelt,
und die Zellen werden angeordnet, um zu verschiedenen logischen
Verbindungen zu gehören,
wie von verschiedenen logischen oder physikalischen Quellen abgeleitet
werden. Von jeder Quelle und somit Verbindung wird angenommen, dass
sie eine besondere Übermittlungsrate
erfordern, die nicht überschritten
werden soll und die verändert
werden kann. Dann wird für
jeden einen eine Anzahl von aufeinander folgenden Zeitschlitzen eine
Schlange bzw. Warteschlange angeordnet, wobei die erste oder laufende
Warteschlange die ist, auf die durch ein Zeiger gezeigt wird. Die
Zeitschlitzwarteschlangen umfassen in einer aufeinanderfolgenden Reihenfolge
Identifizierer dieser Verbindungen, für die eine Datenzelle übermittelt
werden soll, oder sie können
in einigen speziellen Fällen
gerade die Zellen selbst enthalten. Die erste Position in einer
derartigen Warteschlange zeigt die Verbindung an, für die eine Datenzelle
mit dem höchsten
Prioritätsgrad
gesendet werden soll. Die folgenden Positionen zeigen Verbindungen
an, die einen niedrigen Grad einer Priorität in einer absteigenden Reihenfolge
aufweisen. Die erste oder nächste
Datenzelle der logischen Verbindung, deren Identifizierer der erste
in der Zeitschlitzwarteschlange ist, auf den durch den Zeiger gezeigt
wird, wird dann von der Station übermittelt
und ein Identifizierer der gleichen Verbindung wird zu dieser anderen
Warteschlange hinzugefügt,
die einen Abstand von der betrachteten Warteschlange in der sequentiellen
Reihenfolge von Warteschlangen aufweist, wobei dieser Abstand aus
der Übermittlungsrate
berechnet wird, die besonders für
die Verbindung ist, zu der die übermittelte
Zelle gehört.
Danach wird der verbleibende Teil der ersten Warteschlange zu der nächsten Warteschlange übertragen
und vor allen der Merkmale in dieser nächsten Warteschlange platziert.
Die erste Warteschlange wird somit leer, und der Zeiger schreitet
fort, um auf die nächste
Warteschlange zu zeigen.
-
Im
allgemeinen werden Datensegmente oder Zellen von einer Station übermittelt,
wobei jedes Datensegment vorzugsweise die gleiche Länge aufweist.
Es wird angenommen, das die Daten an der Station von verschiedenen
logischen und/oder physikalischen Quellen ankommen oder zu der gleichen logischen
Verbindung gehören.
Es wird angenommen, dass jede Quelle eine besondere Übermittlungsrate
erfordert oder ihr zugewiesen ist für die Datensegmente, die von
den Daten abgeleitet werden, die von dieser Quelle ankommen, wobei
diese Übermittlungsrate
für diese
Datensegmente nicht überschritten
werden soll. Die Datensegmente werden von der Station einzeln und
aufeinanderfolgende Male insbesondere bei periodischen Zeiten von
der Station übermittelt.
-
Für jedes
eine von aufeinanderfolgenden Malen von einer betrachteten laufenden
Zeit, wird eine logische oder physikalische Warteschlange in einem
dafür bereitgestellten
speziellen Speichermittel angeordnet, wobei die erste Warteschlange
die nächste
oder laufende ist, betrachtet von dem derzeitigen Mal, wobei die
zweite Warteschlange die Warteschlange unmittelbar nach der ersten,
etc., ist. Jede der Warteschlagen umfasst in einer aufeinanderfolgenden
Reihenfolge Identifizierer von diesen Quellen oder Verbindungen
für die
ein Datensegment ihrer übermittelt
werden soll, oder sie können
anstelle dessen die Datensegmente ihrer selbst oder Adressen derer
enthalten, in dem Fall, wo die tatsächlichen Segmente in einigen
anderen Speichermitteln gespeichert sind. Die erste Position in
einer derartigen Warteschlange zeigt direkt oder indirekt in dem
Fall, wo sie ein Datensegment oder entsprechend eine Adresse dessen
enthält,
die Quelle oder Verbindung an, für
die ein Datensegment mit dem höchsten
Prioritätsgrad
gesendet werden soll, und die folgende höhere Position zeigt Quellen
an, die einen niedrigeren Prioritätsgrad in der absteigenden
Reihenfolge aufweisen.
-
Ein
erstes oder nächstes
Datensegment von der ersten angezeigten Quelle in der ersten Warteschlange
oder das erste Datensegment in oder angezeigt als erstes in der
ersten Warteschlange wird übermittelt,
und danach wird der verbleibende Teil der ersten Warteschlange zu
der nächsten
Warteschlange übertragen
und vor allen den Merkmalen, die möglicherweise bereits in dieser
nächsten
Warteschlange vorliegen, platziert, wobei eine interne aufeinanderfolgende
Reihenfolge von Warteschlangenmerkmalen aufrechterhalten wird. Dann
wird die erste Warteschlange entfernt und die verbleibenden Warteschlangen
erneut nummeriert oder bewegt, so dass nun die vorherige zweite
Warteschlange, die Warteschlange nach der nächsten, die erste sein wird,
etc., wobei die aufeinanderfolgende Reihenfolge der Warteschlangen
aufrechterhalten wird.
-
Warteschlangen
werden bevorzugterweise nur für
eine vorbestimmte Anzahl von aufeinanderfolgenden Malen bzw. Zeiten
angeordnet, und dann nach dem Wiedernummerieren oder Bewegen der verbleibenden
Warteschlangen wird eine letzte Warteschlange zu dem Satz von Warteschlangen
hinzugefügt,
wobei diese letzte Warteschlange leer ist und in einer zyklischen
Weise der zuvor entfernten ersten Warteschlange entspricht.
-
Es
kann auch ein Ausgabepufferspeicher angeordnet sein, und in diesem
Fall, wenn ein Datensegment übermittelt
werden soll, wird es platziert oder eine Anzeige des Datensegmentes
wird platziert in dem Ausgabepuffer, und dann wird es physikalisch
von der Station übermittelt,
und in dieser Operation wird es oder seine Anzeige wiedererhalten
und von dem Ausgabepuffer entfernt.
-
Es
kann passieren, dass die erste Warteschlange leer ist und dann kein
Datensegment übermittelt
wird. Offensichtlicherweise könnte
ein Datensegment dann von der folgenden Warteschlange übermittelt
werden, aber es würde
die Bedingung verletzen, dass die gesetzten Übermittlungsraten für die Kanäle nicht überschritten
werden sollten, wie hiernach deutlich wird. Anstelle dessen, in
dem Fall, in dem die erste Warteschlange leer ist, kann ein spezielles
Datensegment oder eine Anzeige dessen in dem Ausgabepuffer platziert
werden, wobei dieses spezielle Datensegment eine derartige Konstruktion aufweist
oder von einem derartigen Typ ist, dass es leicht erkannt werden
kann und nicht von der Station übermittelt
wird.
-
Die Übermittlung
von der Station wird bevorzugterweise periodisch durchgeführt in einheitlich verteilten
und gleichlangen physikalischen Zeitschlitzen, und dann wird die Übermittlung
von Datensegmenten sequentiell ausgeführt von den Segmenten, die
in dem Ausgabepuffer gespeichert sind oder angezeigt sind, ein Segment
zu jeder dieser periodisch wiederholten Zeiten. In dem Fall, in
dem das spezielle Datensegment oder eine Anzeige dessen in der nächsten Position
in dem Ausgabepuffer angeordnet ist, wo ein Datensegment oder eine
Anzeige dessen gespeichert werden sollte und zu übermitteln ist, wird kein Datensegment
zu der entsprechenden periodischen Zeit übermittelt. Dieses kann auch
notwendig sein zum Sicherstellen, dass die gesetzten Übermittlungsraten
nicht überschritten
werden.
-
Unmittelbar
bevor oder nach dem Schritt zum Entfernen der ersten Warteschlange
oder nach Hinzufügen
einer leeren letzten Warteschlange wird der folgende Schritt durchgeführt, der
im allgemeinen die Drosselung sicherstellt. Dann wird ein Identifizierer
der gleichen Datenquelle oder ein nächstes Datensegment oder eine
Adresse dessen von der gleichen Quelle, von der ein Datensegment übermittelt wurde,
zu dieser Warteschlange hinzugeführt,
die einen Abstand von der entfernten Warteschlange in der sequentiellen
Reihenfolge von Warteschlangen aufweist, wobei dieser Abstand aus
der Übermittlungsrate
für die
Quelle bestimmt wird, zu der das Datensegment gehört. Die
Hinzufügung
wird vorzugsweise zuerst in dieser Warteschlange durchgeführt.
-
In
dem Fall, in dem eine Quelle oder eine Verbindung, die zuvor keinen
Identifizierer ihrer selbst oder irgendeines ihrer Datensegmente
oder Adressen dessen in irgendeiner Warteschlange aufgewiesen hat,
beginnt aktiv zu werden, dass ist in dem Fall, wo sie wenigstens
ein von der Station zu übermittelndes
Datensegment erhält,
wird ein Identifizierer dieser Quelle oder Verbindung oder das nächste ihrer
Datensegmente oder eine Adresse dessen vorzugsweise zu der Warteschlange
hinzugefügt,
die die nächste
nach der derzeitigen ist. Die Hinzufügung wird vorzugsweise als
letztes in dieser Warteschlange durchgeführt.
-
Eine
Station zum Ausführen
der beschriebenen Schritte umfasst dann ein Übermittlungsmittel zum Übermitteln
der Datensegmente eins nach dem anderen und zu aufeinanderfolgenden
Zeiten, ein Speichermittel zum Speichern für jede von aufeinanderfolgenden
Zeiten von einer betrachteten laufenden Zeit, eine logische oder
physikalische Warteschlange und ein geeignet angepasstes Steuerungs- oder
Verarbeitungsmittel. Das Speichermittel kann dann zum Speichern
nur einer vorbestimmten Anzahl von aufeinanderfolgenden Warteschlangen
angeordnet sein, und insbesondere kann das Speichermittel angeordnet
sein zum Speichern der Warteschlangen in einer zyklischen Weise,
und dann ist ein Speicherfeld angeordnet zum Speichern eines Zeigers,
der auf eine laufende der zyklisch angeordneten Warteschlangen zeigt.
Ein Ausgabepuffer kann zum Speichern von Datensegmenten oder Anzeigen
dessen bereitgestellt werden vor der tatsächlichen Übermittlung von der Station.
Ein spezielles Datensegment oder eine Anzeige dessen kann in einem
Speicherfeld gespeichert sein, das dafür angeordnet ist, um zu dem
Ausgabepuffer kopiert zu werden, zum Anzeigen eines leeren Platzes,
wo erforderlich, so dass das Übermittlungsmittel
kein Datensegment der Station übermitteln
wird, wenn dieses spezielle Datensegment in dem Ausgabepuffer gefunden
wird. Ein Speicherfeld kann für
jede Quelle oder Verbindung zum Halten eines Abstandswertes oder
Anzahl bereitgestellt werden, die bei der Übermittlungsrate für die Quelle
bestimmt wird.
-
In
dem Fall, wo das Speichermittel für die Warteschlangen Identifizierer
von Quellen umfasst, sind die Speichermittel zum Speichern der Quellenidentifizierer
vorteilhafterweise als eine verknüpfte Liste angeordnet, einschließlich eines
ersten Speichermittels mit Feldern zum Speichern der ersten Merkmale
in jeder Warteschlange, zweiten Speichermitteln mit Feldern zum
Speichern der letzten Merkmale in jeder Warteschlange und dritten
Speichermitteln mit Feldern in einer sequentiellen Reihenfolgen. Jedes
Feld in dem dritten Speichermittel weist eine sequentielle Reihenfolgennummer
auf und sie sind zum Speichern nächster
Merkmale in den Warteschlangen angeordnet, so dass die sequentielle
Reihenfolgennummer eines Feldes das Merkmal unmittelbar anzeigt
vor dem in dem Feld gespeichertem Merkmal.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung wird nun im Detail erklärt durch Beschreiben eines
spezifischen, nicht einschränkenden
Ausführungsbeispiels
mit Bezugnahme auf die beigefügten
Zeichnungen, in denen
-
1 eine
schematische Ansicht eines Netzwerkes ist,
-
2 ein
Blockdiagramm eines Endgerätes ist,
-
3 ein
Flussdiagramm ist, das die Funktionsschritte zeigt, die durch die
Empfangsfunktion ausgeführt
wird,
-
4 das
Zellendrosselprinzip darstellt,
-
5 logische
Warteschlangen ihre Zwischenverbindung zeigt,
-
6 ein
Flussdiagramm ist, das Prozesse zum Modifizieren von Drosselwarteschlangen
zeigt,
-
7 ein
Flussdiagramm ist, das Verarbeitungsschritte zeigt, die durch eine Übermittlungsfunktion
durchgeführt
werden,
-
8 und 9 ein
Beispiel der Drosselungsverarbeitung darstellt,
-
10 schematisch
einen FIFO-Speicher zeigt, der für
eine Übermittlung
in dem Drosselungsbeispiel in 9 und 10 verwendet
wird,
-
11 ein
Beispiel eines Zeitdiagramms des Füllungspegels des FIFO-Speichers
zeigt,
-
12 für das Beispiel
von 11 ein Zeitdiagramm der Aktivität für die Übermittlungsaufgabe zeigt.
-
Detaillierte
Beschreibung
-
Die
Erfindung bezweckt vorzugsweise in einem ATM-Netzwerk ausgeführt zu werden,
wo digitale oder digitalisierte Daten übermittelt werden. Eine Standard-ATM-Zelle
enthält
53 Oktette oder Bits von digitalen Daten. Ein Datenpaket kann sich über verschiedene
aufeinanderfolgende Zellen erstrecken, aber hiernach werden nur
individuelle Zellen betrachtet. Ein Anruf, eine Nachricht oder digitale
Datendateien können
allgemein in oder durch das Netzwerk als ein Datenpaket übermittelt
werden und werden somit immer verschiedene Datenzellen und oft eine große Anzahl
von Zellen umfassen.
-
In 1 ist
ein Netzwerk 1 vom ATM-Typ schematisch dargestellt, das
für die Übertragung
von Datenpaketen von einem Eingabeendgerät 3 zu einem Ausgabe-
oder Bestimmungsendgerät 5 gedacht
ist. Die Endgeräte 3, 5 können im
allgemeinen sowohl Übermittler
als auch Empfänger
der Datenpakete sein und sie können
in jeder Anzahl vorliegen, aber in der Figur sind nur eine Übermittlungsrichtung und
ein Eingabeendgerät
und ein Ausgabeendgerät dargestellt.
Das Netzwerk umfasst im allgemeinen eine Mehrzahl von zwischengeschalteten
Vermittlungsknoten oder Vermittlungen, von denen eine an 7 dargestellt
ist. Die Vermittlungseinheiten 7 sind somit mit anderen
nicht gezeigten ähnlichen
Vermittlungsknoten verbunden.
-
Wenn
eine Endgerätestation 3 anfragt
eine Ausgabe von Datenpaketen in das Netzwerk zu der Bestimmungsstation 5 zu
starten, wird sie irgendein Signal oder eine Nachricht zu irgendeinem
Vermittlungsknoten innerhalb des Netzwerkes senden, um darüber zu informieren.
Diese Nachricht enthält
auch eine Information, die eine spezifizierte Übermittlungsrate der zu übermittelnden
Zellen anfragt. Dann wird ein logischer Signalpfad durch das Netzwerk
durch den Austausch verschiedener Nachrichten oder Steuerungsinformation
zwischen dem Vermittlungseinheiten wie 7 innerhalb des
Netzwerkes 1 eingerichtet. Wenn ein Verbindungspfad eingerichtet
ist, kann eine Nachricht oder ein Signal von dem Netzwerk 1 zu
der Eingabeendgerätestation 3 übermittelt werden,
die eine angefragte Verbindung aufweist, dass die Verbindung nun
eingerichtet ist und bereit ist, um für die Übertragung von Datenpaketen
von der Eingabestation 3 verwendet zu werden.
-
Das
Eingabe- oder Quellenendgerät 3 kann selbst
Nachrichten oder Anrufe oder dergleichen von verschiedenen Quellen
empfangen, z.B. von einem anderen Netzwerktyp 9, durch
eine geeignete Brücke 11 von
einem örtlichen
Bereichscomputernetzwerk 13 durch eine Brücke 15,
die mit einem Kommunikationscomputer oder einem Server 17 in
dem LAN 13 verbunden ist, das auch verschiedene Personal Computer
oder Work-Stations 19, einen Hauptserver 20, etc.,
umfassen kann. Eine Hochgeschwindigkeits-Work-Station 21 kann
auch mit dem Eingabeendgerät 3 durch
eine geeignet Adapterkarte oder Einheit für die Work-Station und eine
Brücke 22 verbunden
sein. Das Eingabeendgerät 3 kann
selbst ein integrierter Teil der Kommunikationsvorrichtung sein, z.B.
in der Form eines Zugriffsboards, das in einem gewidmeten Kommunikationsserver
angebracht ist.
-
In
dem Eingabeendgerät 3 müssen besondere
Prozesse zum Übermitteln
von Zellen von verschiedenen logischen Verbindungen bereitgestellt werden
in den Raten, die beim Einrichten der Verbindungen eingestellt worden
sind. Natürlich
will eine Datenquelle, die kommuniziert werden soll, normalerweise
die Daten zu der Bestimmung so schnell wie möglich übertragen. Jedoch können die
Kosten für verschiedene Übermittlungsraten über das
Netzwerk verschieden sein. Auch können die Schaltkreise und/oder
Datenspeichermittel an der Bestimmung nicht die Kapazität zum Empfangen
von Daten bei einer zu hohen Datenrate aufweisen. Somit besteht eine
Notwendigkeit für
einen Mechanismus zum Ausgeben von Daten in das Netzwerk bei einer
maximalen Geschwindigkeit oder Rate, wobei dieser Rate erlaubt ist
unterschiedlich für
unterschiedliche Bedürfnisse
und Quellen zu sein, und somit für
unterschiedliche logische Verbindungen, die normalerweise in Netzwerken
der hierin diskutierten Art sind. Dieses kann dann ein anderes Problem
in dem Fall aufwerfen, in dem eine Datenquelle anfragt seine Daten
bei einer konstanten Bitrate über
das Netzwerk übertragen
zu bekommen. Dieses kann zum Beispiel passieren bei Quellen, die
Echtzeitdaten ausgeben, wie Videodaten für bewegte Bilder. Eine Lösung für dieses Problem
könnte
sein, einer derartigen Quelle eine maximale Datenrate zuzuweisen,
die gleich oder leicht höher
als die ist, die durch Quelle erforderlich ist, in dem Fall ist
ein direkter Datenpfad von dieser zu der Bestimmung bereitgestellt
worden ohne Vermittlungsknoten und nicht durch anderen Verkehr gestört. Eine
andere Lösung
könnte
sein das Konzept einzuführen,
das für
einige Kanäle
die Information direkt das Netzwerk passiert, insbesondere, dass
die Zellen, die zu einem derartigen Kanal gehören, immer direkt von diesen
Stationen oder Knoten übermittelt
werden. Dieses wird die Komplexität des Systems erhöhen.
-
Bei
der Übermittlung
von Zellen von dem Eingabeendgerät 3 wird
in Betracht gezogen die Zeit in vorzugsweise gleichlange Zeitschlitze
TS zu teilen, und in jedem derartigen Zeitschlitz wird entweder eine
Zelle oder keine Zelle von dem Endgerät übermittelt. Ein typischer Abstand
zwischen dem Beginn von zwei aufeinanderfolgenden Zeitschlitzen
sollte dann der Größenordnung
der Höhe
für die
betrachtete Ausgabeverknüpfung
entsprechen, was für
eine Übermittlungsrate
von annähernd
10 Megabit/Sekunde 42,4 Mikrosekunden ergibt. Der Abstand ist ebenfalls
dementsprechend wenigstens 2,73 Mikrosekunden für eine Verknüpfung von
155 Megabit/Sekunde.
-
Eine
maximale Übermittlungsrate
wird für jede
logische Verbindung definiert, deren invertierter Wert einem Minimalabstand
zwischen Zeitschlitzen MDTS entspricht. Der Minimalabstand kann
in mehrfachen der geringsten möglichen
Zeitabständen
zwischen aufeinanderfolgenden Zellen in einem betrachteten Netzwerk
ausgedrückt
werden. Wenn die Übermittlungsrate
angenommen wird 10 Megabits/Sekunde zu sein mit einem Minimalabstand
von zwei aufeinanderfolgen Zeitschlitzen 42,4 μs, dann ist eine MDTS gleich
1 äquivalent zu
der maximalen Ausgaberate, das ist eine Zellenzeit von 42,4 μs, was bedeutet,
dass eine Zelle, die zu der betrachteten logischen Verbindung gehört maximal
in jedem Zeitschlitz übermittelt
werden soll, das bedeutet, dass dann keine Zellen von anderen Warteschlangen übermittelt
werden könnten.
Ein MDTS = 2 ist äquivalent
zu der Hälfte
der maximalen Ausgaberate, das bedeutet 5 Megabit/Sekunde, ein MDTS
= 3 ist ein Drittel der maximalen Ausgaberate, das ist 3,3 Megabit/Sekunde,
etc.
-
Die
gleiche Verarbeitung wie in einem Eingabeendgerät 3 kann auch in einem
inneren Knoten 7 des Netzwerkes 1 ausgeführt werden,
da eine neue Drosselung der Zellenraten infolge von nicht ausgeglichen
Charakteristiken des ATM-Netzwerkes benötigt werden kann, wo einige
Knoten manchmal inaktiv sein können,
einige Zellen verloren gehen können, eine
interne Pufferung von variierenden Kapazitäten in dem Knoten auftreten
kann, etc. Andernfalls können
einige logische Verknüpfungen
ihre Zellen temporär
bei zu hohen Geschwindigkeiten über
das Netzwerk übertragen
lassen.
-
Derartige
Prozesse in einem Eingabeendgerät 3 oder
möglicherweise
in einem internen Knoten 7, die hier als eine Empfangsfunktion 201,
siehe 2, Verwaltungsnachrichten, Dateien, Paket bzw. Zellen
betrachtet werden, kommen an dem Endgerät oder Knoten durch eine Segmentierung
oder Teilung der angekommenen Daten in geeignete Datensegmente wie
ATM-Zellen an. Die Empfangsfunktion 201 verwaltet die Speicherung
der Zellen in Zellenwarteschlangen pro logische Verbindung, wobei
jede einen Verbindungsindentifizierer CEI aufweist, wobei die Identifizierer
dann auch jede einer Warteschlange von Zellen definiert, die zu
einer betrachteten Verbindung gehören. Es besteht ferner in dem
Eingabeendgerät
oder Knoten ein Drosselungsprozess oder Mechanismus 203,
dessen Zweck es ist die Übermittlungsfunktion
oder Zellenerzeuger 205 zu informieren, welche Zellen übermittelt
werden sollen, so dass die Zellen in den vorbestimmten Raten weitergeleitet werden.
Es kann durch Liefern einer Liste von Ausgangsverbindungsidentifizierern
CEI an die Übermittlungsfunktion 205 durchgeführt werden.
Somit muss der Drosslerprozess 203 nicht exakt die zu übermittelnden
Zellen definieren, sondern kann nur die Warteschlangennummer oder äquivalent
die logischen Verbindungen in einer korrekten sequentiellen Reihenfolge
angeben, so dass in diesem Fall die Übermittlungsfunktion die nächste Verbindungsnummer von
der Liste nimmt und die nächste
Zelle in der Warteschlange übermittelt,
die für
diese Verbindung angeordnet ist. Jedoch wird hiernach im Detail
eine Prozedur für
das Aufgabehandhaben beschrieben.
-
Die
grundlegende Prozedur, die in der Empfangsfunktion 201 durchgeführt wird,
wird durch das Flussdiagramm von 3 dargestellt,
die Organisation des Speichers dafür wird durch Felder oder Blöcke unten
in 2 gezeigt.
-
Somit
handhabt die Empfangsfunktion 201 die Segmentierung von
Daten, die an dem Eingabeendgerät
oder Knoten ankommen, und das Speichern von Zellen, die von den
Daten erhalten werden durch Speichern der Zellen in Warteschlangen,
die für
die logischen Verbindungen angeordnet sind, die derzeit vorliegen.
Somit wird zuerst, siehe 3, in einem Block 301 abgewartet,
dass ein Datenpaket oder eine Zelle an einem Eingaberegister 207 des Endgerätes oder
Knotens ankommen soll, wobei die Zelle oder die Zellen dessen in
den Empfangsregistern oder Eingabepuffern 209 gespeichert
werden sollen, siehe 2. Diese Puffer 209 sind
somit eingerichtet, einer für
jede laufende aktive oder offene logische Verbindung, und werden
auch CEI-Warteschlangen genannt, geeigneterweise nummeriert mit 1,
2, 3, ..., oder weisen möglicherweise
irgendeine andere spezifische Identifizierung auf. Für jede derartige
CEI-Warteschlange bestehen Register oder Speicherzellen, die notwendige
Daten zum Verwalten der Puffer halten, die vorzugsweise zyklisch
organisiert sind. Somit ist die Verbindungsnummer der Zellen in
dem Puffer in einem Register 211 gespeichert, der Ratenauswähler MDTS
der Verbindung ist in einem Register 213 gespeichert, ein
Zeiger auf die erste gespeicherte Zelle in dem Puffer ist in einem Feld 215 gespeichert,
und ein Zeiger auf die nächste Position
in dem Puffer, wo eine neue Zelle gespeichert werden kann, ist in
einem Register 217 gespeichert. In einem Feld 221 ist
ein Anzeiger für
einen aktiven Zustand gespeichert, der anzeigt, ob die Warteschlange
aktiv ist, das heißt,
ob die Warteschlange an dem Drosselungsprozess teilnimmt. Die in
einem Puffer 209 gespeicherten Zellen sind noch nicht von der
Station oder den Knoten übermittelt
worden und eine Zelle, die physikalisch durch die Übermittlungsfunktion 205 gesendet
wurde, wird entsprechend einer Ausführungsform immer in dieser
Instanz entfernt, oder in einem bevorzugten Fall wird eine derartige
Zelle vorher von ihrer CEI-Warteschlange 209 entfernt,
wie hiernach beschrieben wird.
-
Wenn
in Block 301 entschieden wird, dass irgendeine weiterzuleitende
Information von der Station vorliegt, derart, dass ein neues Paket
oder Zelle angekommen ist, wird die neue Information in einem Block 303 verarbeitet,
und die Information wird einer logischen Verbindungsnummer zugewiesen.
Einige logische Verbindungsnummern oder äquivalente Daten, die zu einer
logischen Verbindungsnummer zeigen oder diese einschließen, können aus
dem Paket oder der Zelle extrahiert oder wiedererlangt werden, zum
Beispiel von dem Kopfteil einer ATM-Zelle, gemäß dem verwendeten Protokoll.
Dann können
auch einige Bits in dem Kopf des gesamten Kopfes eines Pakets oder
einer Zelle, wenn erforderlich, entfernt werden. Die Anzahl von
durch die empfangenen Daten erzeugten ATM-Zellen wird auch berechnet.
Die logische Verbindungsnummer der angekommen Daten könnte auch
auf andere Weise, z.B, durch Hardwaresignale, bestimmt werden.
-
Dann
wird im Block 305 bestimmt, ob der Eingabepuffer für die logische
Verbindung der Information aktiv ist, das bedeutet, wenn er an dem
Drosselungsprozess teilnimmt und somit in jeder TS-Warteschlange
vorliegt, was hiernach beschrieben wird. Das wird durchgeführt durch
Testen des Anzeigers für
einen in dem Speicherfeld 221 gespeicherten aktiven Zustand.
Wenn er inaktiv ist, wird in Block 307 ein Signal an die
Drosselungsfunktion 203 gesendet, die mitteilt, dass die betrachtete
Warteschlange nun wieder aktiv geworden ist, und es wird auch der
Zustandsanzeiger in dem Feld 231 verändert, um anzuzeigen, dass
die Warteschlange aktiv ist. In einem Block 309 wird dann
eine Zelle in ihrem zugehörigen Puffer 209 bei
der durch den in Feld 217 gespeicherte Endpositionszeiger
spezifizierten Position gespeichert, und der Endpositionszeiger
wird dann einen Schritt zyklisch erhöht. Dann wird in Block 311 bestimmt,
ob mehr zu speichernde Zellen bestehen. Wenn dies nicht der Fall
ist, wird der Startblock 301 wieder ausgeführt. Wenn
jedoch eine andere zu speichernde Zelle besteht wird ein Block 313 ausgeführt, wo
entschieden wird, ob ein Abstand in dem betrachteten Puffer für eine andere
Zelle besteht. Das wird durchgeführt
durch Vergleichen der Start- und Endpositionszeiger, die in Feldern 215 bzw. 217 gespeichert
werden. Wenn die gleich sind ist der Puffer voll, und dann kann
die Prozedur warten bis ein leerer Abstand bzw. Platz in dem Puffer
besteht durch wiederholtes Rückgeben
zu diesem Block 313. Alternativ kann die Zelle fallengelassen
werden wie durch Block 315 vorgeschlagen, der in gepunkteten
Linien gezogen ist.
-
Die
durch den Drosselungsmechanismus 203 durchgeführten Operationen
sind in 4 dargestellt, wobei es den
kritischen Schritt der betrachteten Ausgabehandhabung darstellt,
eine Warteschlange von weiterzuleiten Datenzellen auf einer derartigen
Weise herzustellen, dass die zuvor georderten oder befohlenen Bitraten
für jede
logische Verbindung erhalten werden oder wenigstens und in jedem
Fall nicht überschritten
werden. Wie in den Bild von 4 dargestellt
ist, besteht eine Anzahl von Warteschlagen 223, die als
TS-Warteschlangen bezeichnet werden, wobei jede Warteschlange zu
einem betrachteten aufeinanderfolgenden Zeitschlitz TS gehört, der
physikalisch einige Zeit nach der betrachteten vorliegenden Zeit
auftritt. Es besteht die finite Zahl von TS-Warteschlangen 223,
siehe auch 2, und sie kann dann zyklisch
angeordnet sein, und in dem Beispiel von 4 kann angenommen werden,
dass 256 Warteschlangen bestehen. Ein in einem Speicherfeld 225 gespeicherter
TS-Zeiger zeigt
auf die nächste
vorliegende oder betrachtete TS- Schlitzwarteschlange 223.
Dann wird von einer betrachteten Startzeit, d.h., die eine auf die
der TS-Zeiger in dem Feld 225 zeigt, jeder der nächsten folgenden
Zeitschlitze zu einer entsprechenden TS-Warteschlange 223 zugeordnet,
wobei dann derartige Warteschlangen für die nächsten 255 aufeinanderfolgenden
Zeitschlitze angeordnet werden. Eine TS-Warteschlange 223 enthält eine
Liste von Anzahlen von CEIs, das sind Identifizierungsnummern von
Eingabewarteschlangen 209, und sie kann entweder leer sein
oder einen oder verschiedene CEI-Nummern enthalten. Die CEI-Nummern
in den TS-Warteschlangen
oder Listen 223 sind alle verschieden, das bedeutet, dass
jede CEI-Nummer nur einmal in allen der CEI-Warteschlangen auftreten kann. Die CEI-Nummern
in einer TS-Warteschlange oder
Liste 223 sind in einer sequentiellen Reihenfolge angeordnet,
die erste CEI in einer Liste zeigt auf den Eingabepuffer, der an
diesem von der Station zu übermittelnden
Zeitschlitz der nächste
ist oder die höchste
zu übermittelnde
Priorität
aufweist.
-
Die
CEI-Nummern müssen
nicht physikalisch in eine separate Zeitschlitzwarteschlange oder Liste 223 für jede logische
Verbindung eingegeben werden, die durch das Bild von 4 vorgeschlagen wird,
aber sie können
vorteilhafterweiser mit einer logischen TS-Warteschlange verbunden
sein, wobei sie nur als die Nummer dessen besteht, über eine verknüpfte Liste,
die hiernach beschrieben wird. In dem letzteren Fall weist dann
jede logische TS-Warteschlange einen Anfang von einem Warteschlangenzeiger
auf und ein Ende von einem Warteschlangenzeiger, der auf die erste
CEI-Nummer bzw. die letzte CEI-Nummer in der betrachteten TS-Warteschlange
zeigt.
-
Die
physikalische Nummer von TS-Warteschlangen, die nicht angeordnet
werden müssen, hängt grundsätzlich von
dem Verhältnis
zwischen der kleinsten Drosselungsrate, die einer Verbindung zugewiesen
werden kann, und der gesamten Drosselungsrate der Station ab, und
in dem hierin beschriebenen Beispiel mit einer gesamten Übermittlungsrate von
10 Megabit/Sekunde und Standardkanälen von einem Mehrfachen von
64 Kilobit/Sekunde könnte ein
typischer Wert zum Beispiel 256 TS-Warteschlangen sein. Das bedeutet,
dass zu jedem Moment alle Zeitschlitze TS eine Zeitposition von
256 Zeitschlitzen aufweisen, und später nach derzeitig laufenden Zeitschlitz
leere, d.h. nicht existierende Warteschlangen, aufweisen.
-
Die
Nummern von einer CEI-Warteschlange 209, die zur vorliegenden
Zeit keinerlei zu übermittelnde
Zellen aufweist, d.h. nicht aktiv ist, liegt normalerweise nicht
in jeder TS-Warteschlange 223 vor. Die
Identifizierungsnummer einer CEI-Warteschlange,
die zuerst nichts zu senden hat und dann Zellen zum Senden erhält, wird
zu einem gewissen Moment in eine der TS-Warteschlangen 223 geschrieben,
die unten betrieben wird, und wird durch die Empfangsfunktion 201 in
Block 319 signalisiert, wie oben beschrieben wurde.
-
Wenn
die Drosselungsmaschine 203 annimmt eine CEI-Warteschlange zu
finden, von der die nächste
Zelle gesendet werden soll, ist die Prozedur:
- 1.
Der in dem Feld 225 gespeicherte TS-Zeiger wird um einen
Schritt erhöht,
normalerweise gleich 1.
- 2. Wenn die TS-Warteschlange 223 auf die der Zeiger 225 nun
zeigt leer ist wird keine Zelle an diesen TS übermittelt. Wie durch den Pfeil
angezeigt wird, der auf den Behälter 427 in 4 zeigt, wird
an die Übermittlungsfunktion 205 irgendwie signalisiert,
dass keine Zelle während
dieses Zeitschlitzes übermittelt
wird.
- 3. Wenn die durch den in Register 225 gespeicherten
Zeiger angezeigte TS-Warteschlange 223 nicht leer ist,
wird die erste, das ist die Start- oder nächste Zelle der ersten CEI-Warteschlange,
die in dieser TS-Warteschlange 223 aufgelistet ist, zu der
Zellenübermittlungsfunktion 205 bewegt,
die durch den Pfeil 428 und den Block 205 von 4 angezeigt
ist. Die erste Zelle ist die, auf die durch den in Feld 215 gespeicherten
Zeiger gezeigt wird für
diese CEI-Warteschlange. In einer unten im Detail zu beschreibenden
Ausführungsform
wird die betrachtete Zelle zu einer Übermittlungswarteschlange der Übermittlungsfunktion
in dem Fall bewegt, in dem die Übermittlungswarteschlange nicht
voll ist.
- 4. Der Rest dieser TS-Warteschlange 223 wird, wenn
die Warteschlange mehr als eine Anzahl von CEIs enthält, wie
durch Pfeil 429 angezeigt ist, vor die TS-Warteschlange 223 des
nächsten nachfolgenden
Zeitschlitzes geschoben, d.h., die TS-Warteschlange hat die Zahl
TSP + 1, wobei TSP der laufende Wert des Zeitschlitzzeigers ist, wie
in Feld 225 gespeichert. Die laufende TS-Warteschlange 223 wird
dann leer.
- 5. Die Zellenübermittlungsfunktion 205 sendet
in dem einfachsten Fall die auf die oben beschriebene Weise erhaltene
Zelle von der Drosselungsfunktion 203, beginnend an dem
nächsten
physikalischen Zeitschlitz, der auf der Ausgabeseite der Station
verfügbar
ist. Ebenso wird die CEI-Nummer dieser Zelle, wie durch den Pfeil 431 angezeigt,
vor die TS-Warteschlange des Zeitschlitzes geschoben, der die Zeitpositionsnummer
(TSP + MDTS) aufweist, wobei TSP die Zeitpositionsnummer der laufenden
betrachteten TS-Warteschlange ist, die durch den laufenden Wert
des TS-Zeigers im Feld 225 gegeben ist, und MDTS, der in
einer Anzahl von Zeitschlitzen gegeben ist, wie oben in der Minimaldistanz
zwischen Zeitschlitzen für
die CEI-Warteschlange
definiert ist und wie in dem Register 213 gespeichert ist. Wenn
die Zellenübermittlungsfunktion 205 herausfindet,
dass die Warteschlange 209 dieser CEI zum Senden in dieser
Instanz keine Zelle aufweist, d.h., wenn sie eine leere Zellenwarteschlange
ist, wird nichts oder wenigstens keine nützliche Information aus diesem
Zeitschlitz gesendet, und diese CEI-Nummer wird nicht zurück zu irgendeiner
späteren
TS-Warteschlange 223 geschrieben. Dieser Fall könnte auch
möglicherweise
früher
erfasst werden, während
der Auswahl, die durch die Drosselungsfunktion 203 gemacht
wird, von der betrachteten CEI-Warteschlange, von der eine Zelle
weitergeleitet werden soll. Ein Signal kann dann in jedem Fall zu
der Empfangsfunktion 201 gesendet werden, die informiert,
dass diese CEI-Warteschlange 209 nun inaktiv sein soll,
dass heißt,
das den in Feld 221 gespeicherte Zustandsanzeiger dieser
CEI-Warteschlange dem gemäß eingestellt
werden kann, zum Anzeigen eines nicht aktiven Zustandes.
-
Wenn
eine Zelle bereit wird, um von einer CEI-Warteschlange 209 gesendet
zu werden, wie durch Empfangsfunktion 201 gehandhabt, vergleiche Block 307 von 3,
liegt diese Warteschlange nicht bereits in irgendeiner TS-Warteschlange 223 vor, wird
dieser CEI-Wert zu der TS-Warteschlange 23 hinzugefügt, von
der eine Zelle als nächstes
zu senden ist, d.h. zu der TS-Warteschlange mit der Nummer (TSP
+ 1), die in dem bevorzugten Fall nachdem eine mögliche andere CEI-Warteschlangennummer in
der TS-Warteschlange vorliegt eingefügt wird. In dem Fall, in dem
diese TS-Warteschlange leer ist, wird diese erste Zelle der aktivierten
Warteschlange dann in der nächsten
TS übermittelt,
was bedeutet, dass die Übermittlung
von einer neuen Warteschlange oder einer Warteschlange, die in einem
aktiven Zustand zurückgekehrt
ist, unmittelbar gestartet wird.
-
Gemäß der obigen
Beschreibung wird eine CEI-Nummer zurück in die letztere TS-Warteschlange 223 geschrieben,
auch wenn die letzte Zelle derzeit in der CEI-Paketwarteschlange 13 übermittelt worden
ist oder wenigstens übertragen
worden ist, um durch die Übermittlungsfunktion 205 gehandhabt zu
werden. Diese CEI-Nummer wird anstelle dessen von den TS-Warteschlangen entfernt,
d.h. nicht zurückgeschrieben,
zu der nächsten
Zeit, wenn die Drosselungsmaschine 203 diese CEI als die
eine auswählt,
von der eine Zelle gesendet werden soll, aber natürlich nur
in dem Fall, in dem keine neue Zelle in der Zwischenzeit in die
betrachtete CEI-Warteschlange 209 eingefügt worden
ist, vergleiche Block 317 und 319 von 3.
Der Grund für
dies ist einen Zellenabstand von wenigstens MDTS auch für den Fall
zu garantieren, wenn ein neues Paket, das ist eine Gruppe von Zellen,
bereit ist für
die Übermittlung,
gerade nachdem die letzte Zelle des vorangegangenen Paketes übermittelt
worden ist. Das bedeutet, dass, wenn die Zellen eines neuen Paketes bereit
werden zum Drosseln und der CEI-Wert nicht bereits in irgendeine
TS-Warteschlange
geschrieben ist oder darin gefunden wird, ist es möglich den
frühst möglichen
Zeitschlitz für
ein Übermitteln
der ersten Zelle des Paketes auszuwählen, andernfalls könnte es
auftreten, dass eine Quelle die Station mit Paketen oder Zellen
in einer geeigneten Rate derart speist, dass zuerst immer eine,
die einzige Zelle in der Warteschlange übermittelt wurde, die Warteschlange
dann leer gefunden wird, dann unmittelbar eine neue Zelle gesendet
wird von der Warteschlange, um diese Zelle zu dem nächsten nachfolgenden Zeitschlitz
zu drosseln.
-
Dies
bedeutet jedoch, dass ein Zeitschlitz jedes mal verloren geht, wenn
eine CEI-Identifizierungsnummer oder eine CEI-Warteschlange 209 von dem TS-Warteschlangensystem
entfernt wird. Dieser Effekt sollte in Betracht gezogen werden,
wenn ein Zeitabstand zwischen zwei Zeitschlitzen definiert wird,
d.h., die gesamte Drosselungsrate aus dem System heraus.
-
Die
TS-Warteschlangen 223 können nicht-physikalische
Listen oder Speicher sein, wie bereits angezeigt wurde, aber können, da
jede CEI-Warteschlangennummer maximal einmal in den TS-Warteschlange 223 auftritt,
durch eine verknüpfte Liste
ersetzt werden, wie durch das schematische Bild in 5 dargestellt
ist, das für
den besonderen Fall von 256 TS-Warteschlangen 223 und
maximal 1024 Positionen in jeder TS-Warteschlange erstellt wurde, somit
maximal 1024 eingerichtete logische Verbindungen erlaubt, die gehandhabt
werden sollen. Die entsprechenden Flussdiagramme der TS-Warteschlangenhandhabung
sind in 6 gezeigt. Die TS-Warteschlangen 223 von 2 und 4 werden
somit ersetzt durch die TS-Warteschlangentabelle 233 mit
zwei Zeigern BTSP 235 und ETSP 237 für jeden
aufeinanderfolgenden Zeitschlitz TS und eine TS Verknüpfungstabelle 239 mit Zeigern
NTEP, die auf andere Positionen in dieser Tabelle 239 selbst
zeigen. Der erste Zeiger 235 BTSP, Beginn von TS-Warteschlangenzeiger,
in der TS-Tabelle 233 zeigt auf eine Position in der zweiten Tabelle,
der TS-Verknüpfungstabelle 239,
die Anzahl oder Adresse dieser Position in dieser zweiten Tabelle 239 ist
dann die CEI-Nummer einer Warteschlange 209, von der eine
Zelle für
diese Zeitschlitzwarteschlange zuerst gesendet werden sollte, wobei
der Zeitschlitz oder die Zeitschlitzwarteschlange die Adresse oder
Zahl des Feldes ist, das den betrachteten Zeiger BTSP in der TS-Warteschlangentabellenliste 233 enthält.
-
Dann
besteht in der Position in der TS-Verknüpfungstabelle 239,
auf die der betrachtete BTSP zeigt, ein Zeiger NTSEP, nächster TS-Warteschlangeneintrittszeiger,
der auf eine andere Position in der TS-Verknüpfungstabelle 239 zeigt,
wobei dieser Zeiger auch die nächste
CEI-Warteschlange 209 anzeigt, von der eine Zelle zu senden
ist. Dann enthält auf
die gleiche Weise die Position in der TS-Verknüpfungstabelle 239,
auf die der Zeiger zeigt, einen ähnlichen
Zeiger auf eine andere Position in der gleichen Tabelle 239,
wobei dieser Zeiger auch die nächste CEI-Warteschlange 209 anzeigt,
von der Zelle zu senden ist. Es wird auf diese Weise wiederholt,
solange in einer Position in der TS-Verknüpfungstabelle 239 ein
Zeiger identisch zu dem Zeiger ETSP besteht, Ende von TS-Warteschlangenzeigern,
in dem zweiten Feld 237 für den betrachteten Zeitschlitz,
wobei dies der letzte Zeiger in dieser TS-Warteschlange ist und
ein Zeiger auf die letzte CEI-Warteschlange von
einer Zelle, die zu senden ist.
-
Eine
leere TS-Warteschlange wird dadurch angezeigt, dass dem beginnenden
Zeiger ein leicht zu identifizierender Wert gegeben wird, wie der
logische Wert „Nul" (nul). Auch der
Wert „0" (0) kann verwendet
werden, der auf die leere Zellenmusterwarteschlange zeigt. Für eine TS-Warteschlange,
die nur eine CEI-Nummer hält,
sind die Zeiger BTSP und ETSP gleich.
-
In 6 ist
ein Flussdiagramm gezeigt für das
Handhaben der nächsten
Zeitschlitzwarteschlange 223, die durch die Drosselungsfunktion 204 durchgeführt wird,
die in 4 dargestellt wird, insbesondere, wie durch die
Pfeile 428 und 429 und den Behälter 427 dargestellt
ist, und unter Verwenden der verknüpften Liste von 5.
Die Prozedur startet in einem Block 601, wo der in Feld 225 gespeicherte Zeitschlitzzeiger
um einen Schritt erhöht
wird. Ein Block 602 wird dann ausgeführt, wo abgetastet wird, ob
es möglich
ist, die Zelle nun zu senden, oder wie dargestellt, gemäß einer
anderen bevorzugten Alternative, ob dort ein leerer Platz in einem Übermittlungspuffer
für die Übermittlungsfunktion 205 besteht.
In dem Fall, wo es nicht möglich
ist oder kein Platz besteht, wird der gleich Block 602 solange
wiederholt, bis die Frage des Blockes die Antwort ja gibt, und dann
wird in einem Block 603 auf den Zeiger BTSP in dem Feld 235 der
TS-Warteschlangentabelle 233 zugegriffen,
und es wird getestet, ob der Wert dessen Nul ist. Wenn er es nicht
ist, ist die vorliegende TS-Warteschlange nicht leer und dann wird
in einem Block 605 der Zeigerwert, der eine CEI-Warteschlangennummer
ist, temporär
in einem geeigneten, nicht gezeigten Register gespeichert. Dann
wird in einem Block 607 entschieden, ob der zugegriffene Zeiger
gleich dem entsprechenden Endzeiger ist, d.h., der Zeiger ETSP in
dem Feld 237 der TS-Warteschlangentabelle 233.
Wenn dies nicht der Fall ist, das bedeutet, die betrachtete TS-Warteschlange mehr
als eine Aufzeichnung oder CEI-Warteschlangennummer enthält, und
dann wird ein Block 609 durchgeführt, wo die verknüpfte Liste
für den
nächsten
Zeitschlitz, wie durch den Zeitschlitzzeigerwert (TSP + 1) angezeigt,
modifiziert wird. Als erstes wird der Zeiger BTSP an diesen nächsten Zeitschlitz
(TSP + 1) in das Feld NTSEP in die Position in der TS-Verknüpfungstabelle 239 geschrieben,
wie durch den BTSP-Zeiger der laufende TSP gezeigt. In dem BTSP-Feld 235 des
nächsten
Zeitschlitzes, wie durch den Wert (TSP + 1) angezeigt, wird dann
die verknüpfte
CEI-Nummer in dem NTSEP-Feld der Verknüpfungstabelle, wie durch den
Zeiger BTSP des laufenden TSP gezeigt. Dann wird in Block 611, der
auch in dem Fall durchgeführt
wird, bei dem die Bestimmung in dem Block 607 eine positive
Antwort ergab, das ist wenn nur eine CEI-Nummer in der TS-Liste
ist, in dem BTSP-Zeiger
in Feld 233 für
den laufenden Zeitschlitz der Wert Nul oder der Wert für CEI-Nummer
0 geschrieben, wobei sein Wert auch bequemlichkeitshalber Null (zero)
ist.
-
Die
CEI-Warteschlange mit Identifizierungsnummer Null, CEI-Nummer 0, wird verwendet,
wie oben vorgeschlagen wurde, zum Anzeigen einer leeren Position,
oder das nicht zu übermitteln
ist und es enthält
einen Adresszeiger auf ein in einem Register 249 gespeichertes
leeres Zellenmuster, siehe 2. Dann
wird ein Block 615 ausgeführt, wo getestet wird, ob die
CEI-Warteschlange leer ist, die durch den temporär in Block 605 gespeicherten
Wert angezeigt ist. Wenn sie leer ist, wird ein Block 517 ausgeführt, wo
ein leeres Muster zu der Übermittlungsfunktion 205 gesendet
wird, und dann in Block 618 der Anzeiger für einen
aktiven Zustand der betrachteten CEI-Warteschlange 209 gesetzt wird,
wie in Feld 221 gespeichert, zum Anzeigen, dass die CEI-Warteschlange
nicht länger
aktiv ist. Dann wird der TS-Zeigererhöhungsschritt 601 wieder
ausgeführt.
-
Wenn
in Block 615 entschieden wird, dass die ausgewählte CEI-Warteschlange nicht
leer ist, wird die nächste
Zelle, das ist die zyklisch erste Zelle, zu der Übermittlungsfunktion 205 geliefert,
zum Beispiel, um in den Übermittlungs-FIFO-Speicher
gespeichert zu werden, wie durch Block 619 dargestellt ist.
Dann wird auch der in Feld 215 gespeicherte Startpositionszeiger
für diese
CEI-Warteschlange in der Empfangsfunktion 201 einen Schritt
erhöht.
Die Prozedur kann hier Stoppen und solange Warten, bis die Übermittlungsfunktion 205 Zeit
hat zu senden, oder wenn es Zeit ist die nächste Zelle zu senden.
-
Wie
bereits erwähnt
wurde, kann eine Ausgabepufferung verwendet werden, wie in 2 vorgeschlagen
ist. Dann wird in dem Block 619 eine Zelle von dem ausgewählten Ausgabepuffer 209 (oder möglicherweise
eine Adresse dessen) in letzte Position eines Ausgabe-FIFO-Speichers 241 oder
eine Übermittlungswarteschlange
geschrieben. Wie die Eingabepuffer oder Warteschlangen 209 kann
der Übermittlungsspeicher 241 bequemlicherweise
ein zyklischer Speicher sein, wobei der Start von besetzten Positionen
durch einen in einem Speicherfeld 243 gespeicherten Startzeiger
angezeigt wird, und die Position der letzten besetzten Position
wird durch einen in einem Speicherfeld 245 gespeicherten
Endzeiger angezeigt. Dann wird hier auch, in Block 619, dieser
Endzeiger 245 zyklisch einen Schritt erhöht.
-
Für den Test
des Blocks 602 können
somit die Start- und Endpositionszeiger in den Feldern 243 und 245 verglichen
werden, wobei einige Vorrichtungen zum Unterscheiden zwischen den
Zellen bereitgestellt werden, wo der Ausgabe-FIFO 241 leer
oder voll ist. Zum Beispiel kann ein gleicher Wert der Start- und Endpositionenzeiger
genommen werden, um immer einen leeren Zustand des Puffers anzuzeigen und
einen Wert des Startpositionszeigers, der zyklisch direkt nach dem
Wert des Endpositionszeigers ist, kann genommen werden, um anzuzeigen,
dass der Speicher voll ist.
-
Nach
dem Zugreifen und Liefern einer Zelle der Übermittlungsfunktion 205 in
den vorherigen Schritten, insbesondere nach dem Block 619,
wird die äußere Prozedur
im wesentlichen für
die Drosselung durchgeführt,
wobei eine CEI-Warteschlangennummer
zu der letzteren TS-Warteschlange 209 hinzugefügt wird,
vergleiche die Pfeile 431 in 4. Somit
wird in einem Block 621 entschieden, ob die TS-Warteschlange
leer ist, die zu diesem letzteren Zeitschlitz gehört, wie
erhalten aus dem betrachteten einen und dazu hinzugefügt die Nummer
MDTS in dem Feld 213 für
diese CEI-Warteschlange 209, symbolisch angezeigt durch
die Nummer (TSP + MDTS). Wenn sie bestimmt wird nicht leer zu sein, wird
ein Block 623 ausgeführt,
wo der Wert oder Zeiger des BTSP-Feldes an dieser letzteren Zeitschlitzwarteschlange
zu dem NTSEP-Feld geschrieben wird, in der TS-Verknüpfungstabelle 239 an
der Position, die durch die CEI-Warteschlangenidentifizierungsnummer
angezeigt wird. Dann wird in einem Block 625 die betrachtete
CEI-Identifizierungsnummer an den Beginn eines Warteschlangenzeigers BTSP
in dem Feld 235 für
diese letztere Zeitschlitzwarteschlange (TSP + MDTS) geschrieben.
Danach ist die richtige Drosselungsfunktion durch die Wiederanordnung
der TS-Warteschlange vervollständigt und
die nächste
TS-Warteschlange 223 wird durch Ausführen des Blockes 601 gehandhabt,
wo der TS-Zeiger erhöht
wird.
-
Wenn
in Block 621 entschieden wurde, dass das betrachtete Beginnen
von Warteschlangenzeiger BTSP gleich Nul oder Null ist, wird ein
Block 627 ausgeführt,
wo der laufende CEI-Wert, d.h., der Wert, der beim Liefern einer
Zelle zu der Ausgabe-FIFO
Warteschlange 241 in Block 619 verwendet wurde,
zu dem Endzeiger BTSP-Feld 237, der für diese letztere Zeitschlitzwarteschlange
beschrieben wurde bei (TSP + MDTS). Nach dem Block 627 wird
der Block 625 wie oben ausgeführt.
-
Wenn
in Block 615 entschieden wurde, dass die betrachtete CEI-Warteschlange leer
ist, wird in Block 617 dieser spezielle Fall zu dem Zellenübermittler 205 angezeigt,
wie bereits erwähnt
wurde, durch Liefern eines spezielle leeren Zellenpositions-ECP-Musters,
z.B. wie in Speicher 249 gespeichert ist.
-
Wenn
in Block 603 entschieden wurde, dass die vorliegende TS-Warteschlange leer
ist, wird ein Block 633 ausgeführt, wobei diese Tatsache zu
der Übermittlungsfunktion 205 signalisiert
wird, etwa durch Übertragen
eines leeren Zellenmusters dahin, wie oben diskutiert worden ist.
Dann wird eine neue Zeitschlitzwarteschlange gehandhabt durch Erhöhen des
Zeitschlitzzeigers in Block 601.
-
Eine
kleine Veränderung
kann wie oben beschrieben in dem Algorithmus für den Fall gemacht werden,
der einen Übermittlungs-FIFO-Puffer 241 einschließt. Der
zu betrachtende Fall ist, wenn die Drosselungsfunktion 203 eine
CEI-Warteschlange 209 findet,
von der erlaubt ist zu übermitteln,
aber das dieses CEI eine leere Zellenwarteschlange 209 aufweist
und somit nichts zu senden hat, vergleiche Block 615 und 617 von 6.
Anstelle von Schreiben einer ECP in der Ausgabe-FIFO 241 wird
es möglich
sein für
die Drosselungsfunktion 203 eine neue CEI-Warteschlange 209 zu
finden, von der es erlaubt ist auf diesen TS zu senden, jedoch ist
dies nur für
den Fall anwendbar, wenn mehr als eine CEI-Warteschlangennummer in der Zeitschlitzwarteschlange 223 des laufenden
TS sind, auf den durch den in Feld 225 gespeicherte TS-Zeiger
gezeigt wird.
-
Auch
andere Optionen sind auf einen detaillierten Pegel möglich. Ein
Beispiel ist, dass es nicht notwendig ist eine CEI-Warteschlangennummer
von den TS-Warteschlangen 223 zu entfernen, wenn keine
Zellen mehr von dieser Warteschlange zu senden sind, vergleiche
den Block 618 von 6. Diese Möglichkeit
wird durch den gepunkteten Pfeil von Block 618 angezeigt.
Dies ist möglich
für den
Fall, wenn die Summe der Raten von allen eingerichteten Verbindungen
geringer ist als das Maximum einer gesamten Drosselung oder gesamten
physikalischen Übermittlungsrate.
Ein Nachteil würde
die erforderliche Zeit zum Verweisen aller CEI-Warteschlangennummern in den TS-Warteschlangen
auch zu Zeiten eines niedrigen Ausgabeverkehrs sein. Ein anderer Nachteil
ist der, dass eine Zelle, die nicht unmittelbar gedrosselt werden
kann, eine Verzögerung
hervorruft. Ein möglicher
Vorteil könnte
sein, dass jede CEI-Warteschlange ein festes TS-Muster finden könnte, bei
dem sie nicht durch andere CEI-Warteschlangen
gestört
wird. Dies erfordert eine gewisse Zuweisung von MDTS-Werten, um
es möglich
zu machen, dieses Testmuster zu erreichen.
-
Das
meiste des Drosselungsalgorithmus kann für moderate maximale Übermittlungsraten
in Software in dem Drosselungsmechanismus 203 implementiert
werden, wobei diese Software zum Beispiel enthalten sein kann in,
oder in relativ kleinen Softwareteilen enthalten sein kann, die
für die
zwei anderen Mechanismen, die Empfangsfunktion 201 und
die Übermittlungsfunktion 205 angeordnet
sein kann, wenn sie keine hartverdrahteten Konstruktionen sind.
Die Teile der oben beschriebenen Zellenhandhabung, die am meisten
Speicherplatz verwenden, sind in jedem Fall die Speicherbereiche
für die Eingabepuffer 209.
Jedoch sind für
hohe Übermittlungsratenanwendungen
Hardwarekonstruktionen notwendig, und die verschiedenen hierin beschrieben
Prozesse können
dann auf konventionelle Weise durch spezialisierte Statusmaschinen
ausgeführt werden,
die in digitalen Signalprozessoren implementiert sind, die besonders
für den
Zweck konstruiert sind. Die Eingabepuffer können ersetzt werden durch einen
Zufallsspeicherungsspeicher, der eine Adressliste von leeren Plätzen und
eine Adressliste anstelle der Eingangspuffer 209 erfordert.
-
Durch
Anordnen einer Übermittlungs-FIFO 241,
wie oben beschrieben worden ist, und dadurch, dass diesem Speicher
eine zufriedenstellende Größe gegeben
wird, ist es möglich
eine Zellen-für-Zellen-Echtszeithandhabung
durch die Drosselungsfunktion 203 zu vermeiden. Der TS-Zeiger
in dem Drosselungsmechanismus 203, wie in Register 220 gespeichert,
wird dann nicht die genaue Echt- oder physikalische Ausgabezeit
reflektieren. Anstelle dessen wird die entsprechende Echtzeit auftreten,
wenn die Zelle schließlich
an die physikalische Ausgabeschnittstelle durch die Übermittlungsfunktion 205 übermittelt
wurde. Die Zeitverzögerung
zwischen der durch den TS-Zeiger in 225 angezeigten TS-Warteschlange
und dem Echtzeitschlitz wird dann von dem laufenden Füllpegel
des Übermittlungs-FIFO 241 abhängig.
-
Um
die Entsprechung zwischen dem Wert des TS-Zeigers in Feld 225 des
Drosselungsmechanismus 203 und dem Echtzeitschlitz an der
physikalischen Ausgabeschnittstelle der Station zu erreichen, ist
es notwendig, dass der Prozessor des Drosselungsmechanismus 203 für den Zellenübermittler 205 jede
Zeit anzeigen kann, wenn eine Zelle nicht an einem gewissen TS übermittelt
werden kann. Dies kann erreicht werden, wie oben erwähnt, durch
Bereitstellen eines speziellen in Speicher 249 gespeicherten
leeren Zellenpositions-ECP-Musters zu der Übermittlungsfunktion.
-
Für die Handhabung
des gesamten Zellenflusses können
die folgenden notwendigen Teilfunktionen identifiziert werden:
- 1. Eine Übermittlungsfunktion 205 zum
Steuern des gesamten Zellenflusses zum Übermitteln eines Ausgaberegisters.
- 2. Ein festes Zellenkopfmuster, das eine leere Zellenposition
anzeigt, ECP. Die Drosslerfunktion 203 und die Übermittlungsfunktion 205 sollten
dieses Muster logisch als eine Zelle zählen, aber das Muster wird
nicht physikalisch von der Station oder dem Knoten übermittelt.
- 3. Einige Wege zum Zählen
der Anzahl von leeren Zellenpositionen in dem Ausgabe-FIFO 241,
wobei diese Funktion zum Beispiel durch die in den Speicherfeldern 243, 245 gespeicherten
Start- und Endpositionszeiger bereitgestellt werden, d.h. zum Bestimmen
des Füllpegels
des Ausgabepuffers 241. Ein Anzeiger könnte gesetzt werden oder ein
Signal bereitgestellt werden zu dem Drosselungsmechanismus zum Signalisieren „Ausgabepuffer
voll", dann Anhalten
des Drosselungsmechanismus für
eine geeignete Zeit. Für diese
Anordnung wird es möglich,
die Zustandsmaschine oder Prozessor des Drosselungsmechanismus 203 den
Ausgabe-FIFO 241 mit Zellenburst füllen zu lassen.
-
Das
Schreiben in den Übermittlungs-FIFO 241 muss
enden, vergleiche die Diskussion des Blockes 602 von 6 oben,
wenn der Füllpegel,
wie durch einen Füllzähler angezeigt,
einen vorbestimmten Schwellwert erreicht. Dieser Schwellwert entspricht
einer gewissen maximalen Zellenlatenzzeit und ist proportional zu
der Zeit die es braucht bis der Ausgabe-FIFO 241 leer wird
in dem Fall, dass er nicht wieder aufgefüllt wird. Normalerweise ist
es zum Erreichen einer guten Drosselungsleistung für den Drosselungsmechanismus 203 notwendig,
zu vermeiden, dass der Übermittlungs-FIFO 241 leer wird.
Zu Zeiten, wenn nichts zu senden ist, wird der Drosselungsmechanismus 203 in
Ausgabe-FIFO 241 mit ECP-Mustern füllen. In dem Fall, in dem irgendwie
der FIFO 241 leer wird, kann die Zellenübermittlungsfunktion 205 wieder
starten, sobald die erste Zelle in dem Ausgabe-FIFO 241 geschrieben
ist. Die Drosselungsfunktion 203 könnte somit den Ausgabe-FIFO 241 in
dem Fall leer gehen lassen, wo sie weis, dass keine Zellen zu übermitteln
sind, d.h., es sind keine CEIs in den TS-Drosselungswarteschlangen 243 oder
bestehen keine aktiven CEI-Warteschlangen 209.
-
Ein
Flussdiagramm der durch die Übermittlungsfunktion 205 durchgeführten Prozedur
in der Ausführungsform,
in der ein Ausgabe-FIFO 241 verwendet wird, ist in 7 gezeigt,
wobei die Prozedur in einem Block 701 startet, wo getestet
wird, ob es nun die nächste
Zeit für
ein physikalisches Senden einer Zelle von dem Endgerät oder Knoten
ist, und es wird auch getestet, ob wenigstens eine Zelle oder ECP
gespeichert in dem Ausgabe-FIFO 241 besteht. In dem Fall,
wo jede dieser beiden Bedingungen nicht erfüllt ist, wird der gleiche Block
wieder ausgeführt. Wenn
anstelle dessen die Bedingungen erfüllt sind, das ist, wenn die
Zeit zum Senden erreicht wird und der Ausgabe-FIFO-Speicher nicht
leer ist, wird auch auf die nächste
in dem Übermittlungs-FIFO 241 gespeicherte
Zelle in einem Block 703 zugegriffen, wie durch in Register 243 gespeicherten
Startzeiger gezeigt wird. Dann wird diese Zelle in einem Block 705 getestet,
ob sie das leere Zellenmuster ECP (CEI-Warteschlange-Nr. 0) ist.
Wenn dies der Fall ist, wird Block 701 wieder durchgeführt zum
Abwarten der nächsten
Zeit zum Senden und zum Testen, dass die Ausgabe-FIFO nicht leer
ist, andernfalls wird in Block 707 diese nächste Zelle
physikalisch von der Station gesendet, was einschließt, dass
sie zu einem Ausgaberegister 250 übertragen wird, von dem sie von
der Station übermittelt
wird. Schließlich
wird in Block 707 der in Feld 243 gespeicherte
Startpositionszeiger zyklisch um einen Schritt erhöht.
-
Ein
Beispiel eines Übermittlungsfalls
unter Berücksichtigung
des Drosselungsmechanismus ist in 8, 9 und 10 gezeigt.
Hier bestehen vier aktive CEI-Warteschlangen 209, CEI-Nr.
1 bis CEI-Nr. 4 mit den MDTSs von 4, 6, 8 bzw. 4. In dem Anfangszustand
umfasst, wie in 8 dargestellt, Zeitschlitzwarteschlange-Nr.
n drei Merkmale, die Warteschlangen CEI 1, CEI 2 und CEI 3. In Zeitschlitzwarteschlange-Nr.
(n + 2) besteht nur die CEI-Warteschlange-Nr.
4. In diesem Zustand zeigt der TS-Zeiger in Feld 225 auf
die TS-Warteschlange Nr. n.
-
Bevor
der wie in 225 gespeicherte TS-Zeiger zyklisch erhöht wird
zum Zeigen auf die nächste TS-Warteschlange
Nr. (n + 1), wird eine nächste
Zelle von CEI-Warteschlange Nr. 1 in der Ausgabewarteschlange oder Übermittlungs-FIFO
platziert. Dann wird auch die CEI-Warteschlange-Nr. 1 in der TS-Warteschlange-Nr. (n + 4) platziert,
wie durch den MDTS-Wert dieser CEI-Warteschlange vorgeschrieben, und wie
durch den Pfeil 801 angezeigt. Die verbliebenden CEI-Warteschlangen
in der TS-Warteschlange
werden zu der nächsten
TS-Warteschlange (n + 1) übertragen,
d.h., diese neue Warteschlange wird die CEI-Warteschlangen mit Nr. 2 bzw. 3 umfassen.
-
Bevor
der TS-Zeiger in Feld 225 wieder gestuft wird, wird die
nächste
Zelle von CEI-Warteschlange-Nr. 2 in die Übermittlungs-FIFO 241 eingegeben,
CEI-Warteschlange-Nr. 2 wird zu TS-Warteschlange-Nr. (n + 7) hinzugefügt und die
CEI-Warteschlange
Nr. 3 wird geschoben oder eingefügt
vor alle andere CEI-Warteschlangen Nummern in der nächsten TS-Warteschlange mit
der Nummer (n + 2). Wenn der TS-Zeiger 225 gestuft wird
zum Zeigen auf diese TS-Warteschlange, wird die zyklische erste Zelle
von CEI-Warteschlange-Nr. 3 zu dem FIFO-Speicher 241 gesendet, CEI-Warteschlange-Nr.
4 wird zu der nächsten
TS-Warteschlange (n + 3) geschoben und CEI-Warteschlange-Nr. 3 wird zu der TS-Warteschlange-Nr.
(n + 10) hinzugefügt.
Für den
nächsten
Schritt des TS-Zählers 225,
wenn er auf (n + 3) zeigt, wird die erste oder nächste Zelle von CEI-Warteschlange-Nr.
4 in die Übermittlungs-FIFO 241 eingefügt und die
Identifizierungsnummer von CEI-Nr. 4 wird zur TS-Warteschlange-Nr. (n + 7) hinzugefügt. Wenn
dann der TS-Zeiger 25 auf TS-Warteschlange-Nr. (n + 4)
zeigt, wie in 9 dargestellt, enthält diese
Warteschlange nur CEI-Warteschlange-Nr.
1, und die nächste
Zelle dieser CEI-Warteschlange
wird gesendet zu dem Übermittlungs-FIFO und
die CEI-Nummer (= 1) wird zur TS-Warteschlange-Nr. (n + 8) hinzugefügt, etc.
-
Ein
Beispiel, das darstellt, wie der Füllpegel in dem Übermittlungs-FIFO 241 fluktuieren
kann, wird durch das Diagramm von 11 gezeigt.
Der Füllpegel
wird dargestellt als eine Kurve mit geraden Liniensegmenten, wobei
die oberen Endpunkte sich auf den maximalen Füllpegel befinden, dem oberen Schwellwertpegel
des Speichers. Die Übermittlungsfunktion 205 kann
angenommen werden, um immer bei einer konstanten Rate zu arbeiten,
Lesen einer Zelle oder ECP aus dem Ausgabe-FIFO 241 bei
jedem Zeitschlitz. Der Drosselungsmechanismus 203 wird
jedoch angenommen nur aktiv zu sein bei einigen kurzen intermittierenden
Zeitintervallen, wobei diese Intervalle durch die Aktivitätskurve
von 12 dargestellt werden. Weiterhin kann die Handhabung durch
den Drosselungsmechanismus 203 jeder TS-Warteschlange 223 angenommen
werden, das sie immer eine zum Beispiel im wesentlichen konstante
oder gleiche Zeitdauer erfordert, was zu einer sehr hohen Drosselungsrate
während
der Aktivitätsperioden
des Drosselungsmechanismus 223 führt.
-
Während der
Zeiten, wenn der Drosselungsmechanismus 203 aktiv ist und
somit auch die Übermittlungsfunktion 205 aktiv
ist, erhöht
sich der Füllpegel
des Übermittlungs-FIFO
mit einer konstanten Rate, da der konstant arbeitet bis zu dem maximalen Füllpegel,
und er nimmt mit einer konstanten Rate während der Zeitperioden ab,
wenn der Drosselungsmechanismus inaktiv ist und nur die Übermittlungsfunktion
arbeitet. Wenn der maximale Füllpegel
erreicht ist, kann die Übermittlungs-FIFO 241 nicht mehr
Zellen akzeptieren, und dann besteht eine Warte- oder Verzögerungsdauer,
wenn der Drosselungsmechanismus 203 inaktiv warten muss,
dass ein leerer Platz in dem Ausgabe-FIFO 241 vorliegt.
In dem Fall von 11 wird angenommen, dass wenn
der maximale Füllpegel
des Übermittlungspuffers
erreicht ist, irgendein Signal zum Stoppen der Drosselungsfunktion 203 ausgegeben
wird. Dies kann auch erreicht werden durch den Drosselungsmechanismus
selbst, durch Durchführen
eines geeigneten Tests des Ausgabepuffers, vergleiche die Diskussion von
Block 602 von 6.
-
Die
Drosselungsaufgabe kann zu jeder Zeit gestartet werden, und ein
Signal kann zum Beispiel zu der Drosselungsaufgabe gesendet werden,
wenn der Ausgabe-FIFO nahezu leer ist. Die Ausgabe eines derartigen
Signals könnte
dann geeignet in Block 707 von 7 gemacht
werden. Alternativ kann ein Signal von einem Zeiteinstellschaltkreis
bzw. Timer-Schaltkreis für
das Wiederstarten des Drosselungsmechanismus verwendet werden.
-
Die
Vorteile des Drosselungsmechanismus, wie oben beschrieben, im Vergleich
zu der Normalratenwarteschlangenlösung:
- – Ein geglätteter Zellenfluss
an der physikalischen Ausgabeschnittstelle (komfortabel für den ATM-Schalter
bzw. Vermittlung, der bzw. die leicht mit Zellenflüssen von
anderen Modulen gemultiplext werden können),
- – einfache
Hardware,
- – Raten,
die individuell pro Verbindung mit hohen Auflösungen gesetzt werden können,
- – keine
Verzögerung
für die
erste Zelle in einem Paket oder Nachricht, in dem Ausgabe-FIFO-Fall mit
Ausnahme der Übermittlungszeit
für Zellen, die
bereits in dem Ausgabe-FIFO
warten,
- – wahre
Spitzenzuweiser, d.h. Zellen werden niemals näher als ein gewisser garantierter
Abstand zueinander übermittelt,
- – es
ist leicht die Rate einer Verbindung während eines Betriebs zu verändern für eine Stauungssteuerung
oder für
eine Hauptdrosselung.