-
Die
vorliegende Erfindung bezieht sich auf die Übertragungsnetzwerke mit Paketvermittlung, und
insbesondere auf die Verwaltung von Listen von in den Sendeports
der zu diesen Netzwerken gehörenden
Paketvermittlungen wartenden Paketen.
-
Ein Übertragungsnetzwerk
mit Paketvermittlung wird allgemein als ATM-Netzwerk bezeichnet, wobei
das Kürzel
vom Englischen "Asynchronous Transfer
Mode" stammt, oder
als geschaltetes Ethernet-Netzwerk bezeichnet. Es besteht aus einer
Einheit von Verbindungsknoten, nachfolgend "Paketvermittlungen" genannt, die durch verdrahtete oder
nicht verdrahtete Übertragungsverbindungen
vereint werden, die ein Maschengitter des Raums bilden, in dem die
Einheiten verteilt sind, die über
das Netzwerk miteinander kommunizieren sollen.
-
Um über ein
ATM-Netzwerk oder Ethernet übertragen
zu werden, muss eine Mitteilung zwei aufeinanderfolgende Formatierungen
erfahren. Sie muss zunächst
digitalisiert und in Form einer Folge von Binärdaten gebracht werden, die
in einem oder mehreren aufeinanderfolgenden Paketen verteilt ist, wobei
jedes Paket von Mitteilungs-Binärdaten
in der Präambel
durch Dienst-Binärdaten
vervollständigt wird,
die verschiedene für
ihr Routen innerhalb der durchquerten Paketvermittlungen nützliche
Anweisungen enthalten. Dann müssen
diese Pakete selbst in Form von elektrischen oder optischen Übertragungssignalen
gebracht werden, die an die physikalischen Eigenschaften der Übertragungsverbindungen
angepasst sind, die die Paketvermittlungen miteinander und mit den
an das Netzwerk angeschlossenen Einheiten verbinden.
-
Die
die Paketvermittlungen und die an das Netzwerk angeschlossenen Einheiten
verbindenden Übertragungsverbindungen
können
Ein- oder Zweigewegeverbindungen sein. Für jede Übertragungsrichtung gehen sie
von einem zu einer Paketvermittlung oder zu einer mit dem Netzwerk
verbundenen Einheit gehörenden
Ausgangsport aus und enden an einem Eingangsport, der ebenfalls
zu einer Paketvermittlung oder einer mit dem Netzwerk verbundenen Einheit
gehört.
-
Die
Paketvermittlungen gewährleisten
das Routen der Pakete, die über
die direkt an ihren verschiedenen Eingangsports endenden Übertragungsverbindungen
zu ihnen gelangen, in Richtung der Übertragungsleitungen, die von
ihren verschiedenen Ausgangsports ausgehen, um sie ihren End-Zieladressen
anzunähern.
Dieses Routen erfordert eine Demodulation der empfangenen Übertragungssignale,
um die Pakete in Form einer Folge von für eine digitale Verarbeitung
geeigneten Binärdaten
wiederzugewinnen, die Bestimmung eines Routingprofils für jedes
empfangene Paket, die darin besteht, den oder die Ausgangsports
der Paketvermittlung zu identifizieren, an denen das betroffene
Paket erneut gesendet werden muss, und eine erneute Modulation des Pakets
in Höhe
der ausgewählten
Ausgangsports für seine
Einfügung
in die Übertragungsverbindungen, die
von diesen Ausgangsports ausgehen.
-
Mehrere
an verschiedenen Eingangsports einer Paketvermittlung empfangene
Pakete können praktisch
gleichzeitig auftreten, um direkt danach vom gleichen Ausgangsport
erneut gesendet zu werden. Da sie die gleiche Übertragungsleitung nur nacheinander
benutzen können,
kann ihre unerwartete Ankunft in einem kurzen Zeitraum in Höhe des Ausgangsports
zu Stauungen von Paketen am Beginn der Übertragungsleitung führen, die
von diesem Ausgangsport ausgeht.
-
Die
Notwendigkeit, dass eine Paketvermittlung bei Normalbetrieb einen
möglichen
Stau, also Pakete, die an seinen Ausgangsports auf eine erneute
Aussendung warten, ohne Verlust von Paketen bewältigen muss, und die Notwendigkeit,
sich eine gewisse Verarbeitungszeit zwischen dem Empfang und dem
erneuten Senden eines Pakets zu gewähren, um an diesem Paket verschiedene
Verarbeitungsvorgänge
durchzuführen,
darunter den Aufbau seines Sendeprofils ausgehend von in ihm enthaltenen Dienst-Binärdaten,
und ggf. eine oder mehrere Integritätsprüfungen, führen dazu, dass es üblich ist,
eine Paketvermittlung mit einem aus mehreren Umlaufspeichern bestehenden
Pufferspeicher zu versehen, der während einer kurzen Zeit den
an ihren Eingangsports ankommenden Mitteilungsverkehr speichert,
und in Höhe
der Ausgangsports Wartelisten zu verwalten, die die auf eine erneute
Aussendung wartenden Pakete registrieren.
-
Diese
Wartelisten speichern Paketkennungen, die jedes der auf eine erneute
Aussendung wartenden Pakete kennzeichnen und je explizit oder implizit
die Adresse des das gekennzeichnete Paket enthaltenden Umlaufspeichers
innerhalb dieses Umlaufspeichers, die Adresse des Beginns des gekennzeichneten
Pakets und verschiedene andere nützliche
Informationen über
das gekennzeichnete Paket zusammenfassen, darunter oft sein Empfangsdatum durch
die Paketvermittlung, wenn es nicht aus seiner Positionierung in
einem Umlaufspeicher abgeleitet werden kann, und ggf. ein Prioritätszuweisungspegel in
Abhängigkeit
von dem virtuellen Weg, auf dem das Paket sich bewegt.
-
Zu
Beginn eines virtuellen Wegs, der zwei Einheiten über ein Übertragungsnetzwerk
mit Paketvermittlung verbindet, werden die Pakete im Allgemeinen
mit einer regelmäßigen Taktfolge
ausgesendet, aber die Regelmäßigkeit
der Aufeinanderfolge der Pakete verschlechtert sich im Laufe ihres
Fortschreitens entlang des virtuellen Wegs aufgrund der variablen
Staubedingungen, auf die sie bei ihren Durchquerungen der Paketvermittlungen
treffen, die vom betrachteten virtuellen Weg durchlaufen werden.
Diese Verschlechterung der Regelmäßigkeit der Aufeinanderfolge
der Pakete während
ihres Fortschreitens entlang eines virtuellen Wegs wird mit dem
Ausdruck Jitter bezeichnet. Dieser Jitter nimmt mit der Anzahl von
durchquerten Paketvermittlungen zu. Da die gleiche Paketvermittlung
von den sie durchquerenden virtuellen Wegen nicht in der gleichen
Folgenummer gesehen wird, haben die von ihr verarbeiteten Pakete
unterschiedliche Jitter, die von den virtuellen Wegen abhängen, über die
sie verlaufen. Je nach der Position der Paketvermittlung auf einem
virtuellen Weg kann der vorhersehbare Jitter mehr oder weniger nahe
dem zulässigen
Toleranzmaximum liegen. Um die Jitter-Toleranzen zu beachten, kann es daher
innerhalb einer Paketvermittlung nützlich sein, den Paketen bestimmter
virtueller Wege gegenüber
anderen Paketen die Priorität
zu verleihen, wenn sie auf eine erneute Aussendung warten.
-
Wenn
es ein Prioritätspegel
gibt, ist es derzeit üblich,
eine Warteliste in mehrere Teilwartelisten aufzuteilen, eine pro
Prioritätspegel,
und die Teilwartelisten nach Art der FIFO-Speicher zu leeren, indem zuerst
diejenige berücksichtigt
wird, die dem höchsten
Prioritätspegel
zugeteilt ist, und indem die anderen in der Reihenfolge der abnehmenden
Prioritäten jedes
Mal dann verarbeitet werden, wenn die Verarbeitungen der Teilwartelisten
mit höheren
Prioritätspegeln
die Zeit dafür
lassen.
-
Einer
der Nachteile dieser Methode der Wartelistenverwaltung liegt darin,
dass man nicht von vorneherein die Prioritätspegel der Pakete vorhersehen
kann, die Teil der Warteliste sein können, und dass man daher gezwungen
ist, jeder der Teilwartelisten die gleiche maximale Kapazität zu verleihen wie
im Fall einer einzigen Liste, was dazu führt, der Verwaltung einer Warteliste
mit Berücksichtigung
der Prioritätspegel
eine sehr viel größere Speichermenge
zuzuteilen, als es ohne Berücksichtigung
der Prioritätspegel
notwendig wäre.
Diese Speichermenge muss aber für
jeden der Ausgangsports einer Paketvermittlung reserviert werden.
-
Außerdem ist
aus dem Artikel von Hashemi M. R. et al. mit dem Titel A General
Purpose Cell Sequencer/Scheduler for ATM Switches" INFOCOM 97. Sixteenth
Annual Joint Conference of the IEEE Computer and Communications
Societies. Driving the Information Revolution. Proceedings IEEE
KOBE, Japan 7.-11. April 1997, LOS ALAMITOS, CA, USA, IEEE COMPUT.
Soc., US, 7. April 1997 (1997-04-07), Seiten 29-2-37, XP01251989
ISBN:0-8186-7780-5 eine Methode zur Verwaltung von Warteschlangen
in Höhe
der Eingangsports oder der Ausgangsports von Paketvermittlungen
vom Typ ATM bekannt, die Prioritätspegel
berücksichtigt
und die auf einer dynamischen Umordnung der Warteschlange beruht,
die darin besteht, jede neu angekommene Paketkennung unter Berücksichtigung
ihres Prioritätspegels
am richtigen Platz in der Warteschlange einzufügen.
-
Diese
Warteschlangen-Verwaltungsmethode, die auf einer Neuordnung der
Warteschlange bei jeder Ankunft eines Pakets beruht, erfordert eine
große
Anzahl von Manipulationen der Warteschlange.
-
Die
vorliegende Erfindung hat zum Ziel, diese Nachteile zu bekämpfen und
eine Listenverwaltung von in einem Ausgangsport einer Paketvermittlung
auf eine erneute Aussendung wartenden Paketen zu ermöglichen,
die eine Berücksichtigung
von Prioritätspegeln
akzeptiert und gleichzeitig eine Speichermenge gleicher Größenordnung
wie für
die Verwaltung einer Warteliste ohne Berücksichtigung von Prioritätspegeln
verwendet.
-
Sie
hat ebenfalls zum Ziel, eine Listenverwaltung von an einem Ausgangsport
einer Paketvermittlung auf eine erneute Aussendung wartenden Paketen
zu ermöglichen,
die ein einfaches Unterdrücken von
Dubletten erlaubt, wobei ein Paket vom gleichen Ausgangsport einer
Paketvermittlung nur einmal neu ausgesendet werden soll.
-
Sie
hat ein Verfahren zur Verwaltung einer Liste von Paketen in Erwartung
einer erneuten Aussendung in einem Ausgangsport einer Paketvermittlung
zum Gegenstand, nachdem sie empfangen, von der Paketvermittlung
vorübergehend
in einem Pufferspeicher angeordnet und mit Hilfe von Kennungen registriert
wurden, die explizit oder implizit die Adresse ihres Aufzeichnungsbeginns
im Pufferspeicher und ihren Prioritätspegel angeben. Dieses Verfahren
ist dadurch bemerkenswert, dass es darin besteht, gleichzeitig die
folgenden Aufgaben zu erfüllen:
- – erste
Aufgabe:
Anordnen der Kennungen von auf das Senden durch den
Ausgangsport wartenden Paketen hintereinander und in der Reihenfolge
ihrer Ankunft am Ausgangsport in einer Verarbeitungsschlange, die
in einem Wartelistenspeicher gespeichert ist,
- – zweite
Aufgabe:
- 1 – Initialisieren
einer Arbeitsregisterbank, die nachfolgend mit RD bezeichnet wird,
mit der Kennung des Pakets, das als letztes in die Verarbeitungsschlange
aufgenommen wurde,
- 2 – Ausführen der
folgenden Suchschleife (Schritte 2.1 bis 2.4), so lange der Beginn
der Verarbeitungsschlange nicht erreicht wurde:
- 2.1 – Auswahl
der Paketkennung in der Verarbeitungsschlange, die direkt vor derjenigen
liegt, die während
der vorhergehenden Schleife ausgewählt wurde,
- 2.2 – Vergleich
der Priorität
der in der Verarbeitungsschlange gelesenen Paketkennung mit derjenigen
der in der RD enthaltenen Paketkennung,
- 2.3 – wenn
die Priorität
der in der Verarbeitungsschlange gelesenen Paketkennung höher als
die oder gleich derjenigen der in der RD enthaltenen Paketkennung
ist, Einschreiben der in der RD gespeicherten Paketkennung in die
Warteschlange direkt vor der gelesenen Paketkennung und Laden der
gelesenen Paketkennung in die RD,
- 2.4 – wenn
die Priorität
der in der Verarbeitungsschlange gelesenen Paketkennung strikt niedriger
als diejenige der in der RD enthaltenen Paketkennung ist, Einschreiben
der gelesenen Paketkennung in die Verarbeitungsschlange direkt vor ihr
selbst,
- 3 – Präsentieren
der in der RD gespeicherten Paketkennung als dem Paket entsprechend,
das prioritär
vom betroffenen Ausgangsport erneut auszusenden ist,
- 4 – Abwarten
der Berücksichtigung
der in der RD enthaltenen Paketkennung durch den Ausgangsport,
- 5 – Wiederholung
der Schritte 1 bis 4 der zweiten Aufgabe, solange die Verarbeitungsschlange nicht
leer ist.
-
Vorteilhafterweise
wird vor dem Vergleich des Prioritätspegels von zwei in der Verarbeitungsschlange
ausgewählten
Paketkennungen ein Identitätstest
durchgeführt,
der, wenn die beiden Paketkennungen sich als identisch erweisen,
dazu führt, den
Prioritätspegelvergleich
zu umgehen und die so erfasste Dublette zu lösen, indem die bereits in der Arbeitsregisterbank
vorhandene Paketkennung aus der im Wartelistenspeicher gespeicherten
Verarbeitungsschlange gelöscht
wird.
-
Vorteilhafterweise
liegt, wenn die Paketkennungen eine Information über das Datum des Empfangs
der Pakete durch die Paketvermittlung enthalten, vor dem Vergleich
des Prioritätspegels
von zwei in der Verarbeitungsschlange ausgewählten Paketkennungen ein Test
des Empfangsalters durch die Paketvermittlung desjenigen Pakets,
dessen Kennung in der Verarbeitungsschlange gelesen wird, was, wenn
das Paket sich als zu alt erweist, dazu führt, den Prioritätspegelvergleich
zu umgehen und es aus der im Wartelistenspeicher gespeicherten Verarbeitungsschlange
auszuschließen.
-
Vorteilhafterweise
wird die Population der im Wartelistenspeicher gespeicherten Verarbeitungsschlange
in Echtzeit erfasst und mit einer Höchstschwelle verglichen, oberhalb
der kein neues Paket in die Verarbeitungsschlange aufgenommen wird.
-
Vorteilhafterweise
besetzt die im Wartelistenspeicher gespeicherte Verarbeitungsschlange
einen Adressierungsbereich, der in Abhängigkeit von den in ihr stattfindenden
Zugängen
und Abgängen
von Paketkennungen beweglich ist. Dieser bewegliche Adressierungsbereich
besteht aus einem Bereich von Adressen, die in der natürlichen
Reihenfolge eines Adressengenerator-Zählers mit Rückschleifung lückenlos
aufeinander folgen. Er wird jederzeit durch seine beiden äußersten
Grenzen mit Hilfe von zwei Zeigern markiert, einem Lesezeiger, der
auf die älteste
Paketkennung der Verarbeitungsschlange zeigt, und einem Schreibzeiger,
der auf die neueste Paketkennung der Verarbeitungsschlange zeigt,
und er wird mittels eines Hilfslesezeigers, der sich in der Verarbeitungsschlange
derart stromaufwärts
bewegt, dass er immer auf die im Wartelistenspeicher gespeicherte
Paketkennung zeigt, die mit der in der Arbeitsregisterbank gespeicherten
Paketkennung zu vergleichen ist, und mittels eines Hilfsschreibzeigers
auf dem neuesten Stand gehalten, der sich ebenfalls in der Verarbeitungsschlange stromaufwärts bewegt, aber
derart, dass er immer auf die Adresse zeigt, die vor derjenigen
der letzten nach einem Vergleich wieder in die Verarbeitungsschlange
eingefügten
Kennung liegt, und die als Adresse der Wiedereinfügung der
bei einem laufenden Vergleich nicht behaltenen Paketkennung in die
Verarbeitungsschlange genommen wird.
-
Vorteilhafterweise
weist das Verfahren zur Verwaltung einer Liste von Paketen in Erwartung
einer erneuten Aussendung in einem Ausgangsport einer Paketvermittlung,
nachdem sie empfangen, von der Paketvermittlung vorübergehend
in einem Pufferspeicher angeordnet und mit Hilfe von Kennungen registriert
wurden, die explizit oder implizit die Adresse ihres Aufzeichnungsbeginns
im Pufferspeicher und ihren Prioritätspegel angeben, auf:
- – eine
Initialisierungsphase, die es ermöglicht, einen Verzweigungspunkt
zu erreichen, und die darin besteht:
- – in
eine in einem Wartelistenspeicher gespeicherte Verarbeitungsschlange
nacheinander bei ihrer Ankunft am Ausgangsport die Kennungen der
Pakete einzuschreiben, die wieder ausgesendet werden sollen, wobei
dieses Einschreiben unter der Überwachung
durch einen Einschreibzeiger erfolgt, der gemäß einer "natürlichen" Adressierordnung
inkrementiert wird, die von einem Adressenzähler erzeugt wird, der eine
Abtastung des Wartelistenspeichers mit Rückschleifung durchführt, und
- – einen
Lesezeiger auf den Wartelistenspeicher an der Adresse der Paketkennung
zu richten, die als älteste
in der Verarbeitungsschlange gespeichert wurde,
- – eine
zweite Phase der Auswahl des wartenden Pakets mit der höchsten Priorität, die nach
dem Verzweigungspunkt beginnt und darin besteht:
- – abzuwarten,
dass die Schreibzeiger und die Lesezeiger auf unterschiedliche Adressen
zeigen,
- – sobald
die Schreibzeiger und die Lesezeiger auf unterschiedliche Adressen
zeigen, einen Hilfslesezeiger und einen Hilfsschreibzeiger in Höhe des Schreibzeigers
zu positionieren und aufeinanderfolgende Elementarzyklen des paarweisen
Vergleichs der Prioritätspegel
der Paketkennungen durch schrittweise Stromaufwärtsbewegung in der Verarbeitungsschlange
zu beginnen, wobei am Ende jedes Zyklus die Paketkennung mit der höchsten Priorität behalten
wird, wobei die Zyklen durch eine Übertragung der im Wartelistenspeicher
an der vom Hilfslesezeiger angezeigten Adresse enthaltenen Paketkennung
in eine Arbeitsregisterbank außerhalb
des Wartelistenspeichers und eine Dekrementierung des Hilfslesezeigers
um eine Einheit beginnen, wobei die Dekrementierung sich auf die
natürliche
Adressierordnung des Warteschlangenspeichers bezieht, und ein Elementarzyklus
aus den folgenden aufeinanderfolgenden Operationen besteht:
- – einem
Zyklusausgangstest, der darin besteht, den Hilfslesezeiger mit dem
um eine Einheit dekrementierten Lesezeiger zu vergleichen und einen
Zyklusausgang vorzusehen, wenn eine Gleichheit vorliegt, und ein
Rückschleifen
am Zyklusende auf einen neuen Zyklusbeginn vorzusehen, wenn keine
Gleichheit vorliegt,
- – einem
Vergleich des in der in der Arbeitsbank gespeicherten Paketkennung
enthaltenen Prioritätspegels
mit dem in der im Wartelistenspeicher an der vom Hilfslesezeiger
angezeigten Adresse gespeicherten Paketkennung enthaltenen Prioritätspegel,
- – einem
Einschreiben der nach dem Vergleich nicht behaltenen Paketkennung
in den Warteschlangenspeicher an der vom Hilfsschreibzeiger angezeigten
Adresse,
- – nur,
wenn der Prioritätspegelvergleich
zeigt, dass der Prioritätspegel
des Pakets, dessen Kennung im Warteschleifenspeicher an der vom
Hilfslesezeiger angezeigten Adresse gespeichert ist, höher ist
als derjenige des Pakets, dessen Kennung in der Arbeitsbank gespeichert
ist, Übertragung
der im Wartelistenspeicher an der vom Hilfslesezeiger angezeigten
Adresse gespeicherten Kennung in die Arbeitsregisterbank, und
- – Dekrementierung
des Hilfsschreibzeigers und des Hilfslesezeigers um eine Einheit,
was das Ende eines Zyklus darstellt,
am Zyklusausgang:
- – Übertragen
des Hilfsschreibzeigers in den Lesezeiger,
- – Auswahl
des Pakets, dessen Deskriptor in der Arbeitsregisterbank gespeichert
ist, für
eine sofortige Neuaussendung durch den Ausgangsport, und
- – Rückkehr zum
Verzweigungspunkt.
-
Vorteilhafterweise
liegt vor dem Vergleich des Prioritätspegels von zwei Paketen der
Verarbeitungsschlange ein Identitätstest, der, wenn die beiden
Pakete sich als identisch herausstellen, dazu führt, den Prioritätspegelvergleich
zu umgehen und den Hilfslesezeiger um eine Einheit zu dekrementieren.
-
Vorteilhafterweise
liegt, wenn die Paketkennungen eine Information über das Datum des Empfangs
der Pakete durch die Paketvermittlung enthalten, vor dem Vergleich
des Prioritätspegels
von zwei Paketen der Verarbeitungsschlange ein Test des Empfangsalters
des Pakets durch die Paketvermittlung, dessen Kennung im Wartelistenspeicher
an der Adresse gespeichert ist, die vom Hilfslesezeiger angezeigt
wird, was dazu führt,
wenn das Paket sich als zu alt erweist, den Prioritätspegelvergleich
zu umgehen und den Hilfslesezeiger um eine Einheit zu dekrementieren.
-
Weitere
Merkmale und Vorteile der Erfindung gehen aus der nachfolgenden
Beschreibung einer als Beispiel dienenden Ausführungsform hervor. Diese Beschreibung
erfolgt anhand der Zeichnung, in der zeigen:
-
1 ein
Topologiebeispiel eines Paket-Übertragungsnetzes,
-
2 ein
Beispiel des Aufbaus einer Paketvermittlung,
-
3 die
Hauptbereiche eines Eingangs-Ausgangsports
einer Paketvermittlung,
-
4 ein
Ablaufdiagramm, das die Hauptschritte eines Wartelisten-Verwaltungsverfahrens
eines Ausgangsports einer erfindungsgemäßen Paketvermittlung zeigt,
-
die 5a und 5b Vorbereitungsvorgänge eines
Suchprozesses des ältesten
Wartelistenelements auf dem höchsten
Prioritätspegel,
-
die 6 und 7 Vorgänge der
Manipulation von Speicherregistern, die während eines Vergleichsvorgangs
der Prioritätspegel
von zwei Wartelistenelementen durchgeführt werden, und der Auswahl
desjenigen der beiden, das als ältestes
auf dem höchsten
Prioritätspegel
betrachtet wird, und
-
die 8 und 9 Varianten
von Bereichen des in 4 gezeigten Ablaufdiagramms.
-
1 zeigt
verschiedene Einheiten von Einrichtungen 10 bis 18,
die über
ein Paketvermittlungsnetz 20 miteinander kommunizieren.
Die Einrichtungseinheiten 10 bis 18 sind unterschiedlich
groß und
geographisch über
eine Zone gestreut, die vom Paketvermittlungsnetz 20 abgedeckt
wird. Das Paketvermittlungsnetz 20 wird schematisch durch
ein Maschengitter von Verbindungsknoten oder Paketvermittlungen,
die durch Kreise angezeigt werden, und durch physische Übertragungsverbindungen dargestellt,
die durch Geradensegmente dargestellt werden, die die Paketvermittlungen
miteinander verbinden. Jede durch ein Rechteck dargestellte Einrichtung
ist an das Paketvermittlungsnetz 20 in Höhe einer
oder mehrerer in der Nähe
angeordneter Paketvermittlungen über
ein nicht dargestelltes spezialisiertes Terminal und über eine
oder mehrere physische Übertragungsverbindungen
angeschlossen.
-
Für ihre Manipulation
innerhalb eines Paketübertragungsnetzes
erfahren die von den Einrichtungen ausgetauschten Mitteilungen eine
doppelte Formatierung: Einerseits eine Benummerung, die ihnen das
Aussehen einer Folge von Binärdaten
verleiht, gefolgt von einer Verpackung der erhaltenen Folge von
Binärdaten
in Form eines oder mehrerer aufeinander folgender Pakete, die an
die Routing-Verarbeitungen angepasst sind, die innerhalb der Paketvermittlungen
durchgeführt
werden, und andererseits eine Formatierung der Pakete in elektrische
oder optische Übertragungssignale
für ihre
Beförderung durch
die physischen Übertragungsverbindungen.
-
Die
Pakete bestehen aus einer Folge von Mitteilungs-Binärdaten,
vor denen eine Folge von Dienst-Binärdaten liegt, die für ihr Routing
innerhalb der durchquerten Paketvermittlungen nützliche Informationen enthalten.
-
Sie
beachten ein bestimmtes Organisationsformat oder Protokoll, das
an die Eigenschaften der kombinatorischen und/oder sequentiellen
Logikschaltungen angepasst ist, die das Routing innerhalb der Paketvermittlungen
durchführen.
-
Die
für die
Beförderung
der Pakete auf den die Paketvermittlungen miteinander und mit den
Einrichtungen verbindenden physischen Übertragungsverbindungen verwendeten
elektrischen oder optischen Signale sind an die physischen Eigenschaften der
verwendeten Verbindungen angepasst.
-
An
den Enden der Übertragungsverbindungen,
sowohl in Höhe
der die Einrichtungen an das Netz anschließenden Terminals als auch in
Höhe der Eingangs-Ausgangs-Ports
der Paketvermittlungen, findet man Demodulations- und Modulationsschaltungen,
die die Umwandlung eines über
eine physische Verbindung empfangenen Übertragungssignals in sein
entsprechendes Paket und umgekehrt die Umwandlung eines in Höhe eines
Einrichtungsterminals oder einer Paketvermittlung manipulierten
Pakets in ein an die physischen Übertragungsverbindungen
angepasstes Übertragungssignal
gewährleisten.
-
Ein
in Höhe
eines Eingangs-Ausgangs-Ports einer Paketvermittlung empfangenes
und demoduliertes Paket muss innerhalb der Paketvermittlung zu einem
oder mehreren anderen Eingangs-Ausgangs-Ports umgelenkt werden,
um auf einer oder mehreren anderen physischen Übertragungsleitungen erneut
gesendet zu werden, die direkt an diese Paketvermittlung angeschlossen
sind, um es seiner End-Zieladresse anzunähern. Dieser Vorgang, der Routing
genannt wird, ist die Hauptaufgabe einer Paketvermittlung. Er kann
eine gewisse Zeit erfordern, die von den Belegungen der Ausgangsports
zur erneuten Aussendung abhängt,
da mehrere Pakete gleichzeitig von unterschiedlichen Eingangsports empfangen
werden können und
für ihre
erneuten Aussendungen an den gleichen Ausgangsport umlenkt werden
müssen,
was einen Stau in Höhe
des Ausgangsports erzeugen kann, der eine kurzzeitige Speicherung
des eingehenden Datenverkehrs und eine Warteschlangenverwaltung
in Höhe
der Ausgangsports erfordern kann, um den Verlust von Paketen zu
vermeiden.
-
2 zeigt
einen möglichen
Aufbau für
eine Paketvermittlung 1. Diese steht über Eingangs-Ausgangs-Ports e/s 21, 22, 23 mit
anderen Paketvermittlungen oder mit Einrichtungen in Verbindung,
die über
physische Einweg- oder Zweiweg-Übertragungsverbindungen
an ihr Netz angeschlossen sind. In der Figur sind drei Eingangs-Ausgangs-Ports
e/s 21, 22, 23 gezeigt, aber ihre Anzahl
ist nicht begrenzt. Sie ist an die Anzahl von Anschlüssen angepasst,
die für
die betrachtete Paketvermittlung vorgesehen sind, wobei ein Eingangs-Ausgangs-Port die Schnittstelle
mit einer physischen Zweiweg-Übertragungsverbindung
oder mit zwei physischen Einweg-Übertragungsverbindungen
gewährleistet,
von denen die eine zum Senden und die andere für den Empfang verwendet wird.
-
Im
dargestellten Beispiel gewährleistet
der Eingangs-Ausgangs-Port
e/s 21 die Schnittstelle mit einer physischen Zweiweg-Übertragungsverbindung, und
die Eingangs-Ausgangs-Ports e/s 22 und 23 gewährleisten
die Schnittstelle mit zwei physischen Einweg-Übertragungsverbindungen,
von denen die eine für
den Empfang und die andere zum Senden verwendet wird. Die Gewährleistung
der Schnittstelle besteht darin, die Modulations- und Demodulationsaufgabe
und eine Aufgabe der Listenverwaltung von Paketen durchzuführen, die
auf eine erneute Aussendung warten. Die Modulationsaufgabe besteht darin,
die erneut auszusendenden Pakete in die Form eines Übertragungssignals
mit den physischen Eigenschaften zu bringen, die an diejenigen der
beim Senden verwendeten Übertragungsverbindung
angepasst sind, die am betroffenen Eingangs-Ausgangs-Port endet.
Die Demodulationsaufgabe besteht darin, die in den auf der für den Empfang
verwendeten und am betroffenen Eingangs-Ausgangs-Port e/s endenden
physischen Übertragungsleitung
empfangenen Übertragungssignalen
enthaltenen Pakete zu entnehmen. Die Aufgabe der Wartelistenverwaltung
besteht darin, die erneut zu sendenden Pakete nacheinander in einer
Reihe anzuordnen, wenn sie bezüglich
des Durchsatzes der beim Senden verwendeten physischen Übertragungsleitung
zu schnell ankommen.
-
Ein
Eingangs-Ausgangs-Port e/s ist mit den inneren Verarbeitungsschaltungen
der Paketvermittlung, zu der er gehört, über einen Datenempfangsweg,
einen Datensendeweg und mehrere Kontrollports verbunden. Über den
Datenempfangsweg vr stellt er seiner Paketvermittlung den eingehenden Verkehr
von Binärdaten
zur Verfügung,
die über
die physische Übertragungsverbindung
zur Paketvermittlung gelangen, die er kontrolliert. Der Datensendeweg
ve ermöglicht
es ihm, die Pakete zu empfangen, die er erneut aussenden soll und
die von anderen inneren Schaltungen der Paketvermittlung kommen.
Die Kontrollports, darunter ein Routinganforderungsport rr, ein
Paketzuteilungsport at und ein Anforderungsport re von zu sendenden
Paketen, dienen zur Verwaltung des Empfangs von Paketen, der erneuten
Aussendung der Pakete und der Warteschlange von erneuten auszusendenden
Paketen.
-
Außer ihren
Eingangs-Ausgangs-Ports e/s 21, 22, 23 weist
die Paketvermittlung einen Routingautomaten 30, einen Pufferspeicher 40,
der verwendet wird, um über
eine gewisse Zeit den eingehenden Datenverkehr zu speichern, und
eine Ablaufsteuerung 50 auf, die die Adressierung des Pufferspeichers 30 und
die Zugriffe auf diese von den verschiedenen Eingangs-Ausgangs-Ports
e/s 21, 22, 23 und vom Routingautomat 50 verwaltet.
-
Der
Routingautomat 50 ist eine Schaltung mit kombinatorischer
und/oder sequentieller Logik, zum Beispiel mit Mikroprozessor, der
die von den verschiedenen Eingangs-Ausgangs-Ports e/s 21, 22 23 ausgesendeten
Routinganforderungen verarbeitet, um daraus die jedem gerade von
der Paketvermittlung empfangen werdenden Paket zugeordneten Routingprofile
zu entnehmen und ausgehend von diesem Routingprofil Paketzuteilungsanweisungen zu
den Eingangs-Ausgangs-Ports
e/s zu erzeugen, die sie erneut aussenden sollen.
-
Der
Pufferspeicher 30 ist eine Gruppierung von Umlaufspeichern,
deren Vorhandensein durch die Notwendigkeit, in Höhe der Eingangs-Ausgangs-Ports
e/s Wartelisten zur erneuten Aussendung der Pakete zu verwalten,
und in geringerem Maße
durch die Verarbeitungszeiten der Routinganforderungen bedingt wird.
Jeder Umlaufspeicher ist beim Schreiben an einen bestimmten eingehenden Datenverkehr,
also für
einen bestimmten Eingangs-Ausgangs-Port e/s reserviert, kann aber
beliebig von allen Eingangs-Ausgangs-Ports e/s gelesen werden.
-
3 zeigt
im Detail die Gestaltung eines Eingangs-Ausgangs-Ports, zum Beispiel des Eingangs-Ausgangs-Ports 22.
Dieser enthält
eine Modulationsschaltung 220 und eine Demodulationsschaltung 221,
die einer Schaltung MAC 222 zugeordnet sind, sowie eine
Sendeverwaltungsschaltung 223, die mit einer Warteleistenverwaltungsschaltung 2224 gekoppelt
ist.
-
Die
Warteschlangenverwaltung erfolgt in Höhe jedes der Ausgangsports
der Paketvermittlung, nicht an den Paketen, sondern an Paketkennungen, die
jedes auf eine erneute Aussendung wartende Paket markieren, das
vorübergehend
im Pufferspeicher 30 gespeichert ist. Diese Paketkennungen
fassen je in einer expliziten oder impliziten Form die Adresse des
Umlaufspeichers, der das markierte Paket enthält, innerhalb dieses Umlaufspeichers
die Adresse des Beginns des markierten Pakets, und verschiedene
andere nützliche
Informationen über
das markierte Paket zusammen, darunter häufig das Datum seines Empfangs
durch die Paketvermittlung, wenn es nicht aus seiner Positionierung
in einem Umlaufspeicher abgeleitet werden kann, und ein Prioritätszuweisungspegel
in Abhängigkeit
von dem virtuellen Weg, auf dem das Paket übertragen wird.
-
Ein
virtueller Weg ist der Weg, den ein Paket durch das Netz nimmt,
um von seiner Sendeeinheit zu den verschiedenen Zieleinheiten zu
gelangen. Er existiert nur im Moment der Beförderung des Pakets und entspricht
den Umlenkungen, die tatsächlich
von den Paketvermittlungen durchgeführt werden, wenn sie vom betrachteten
Paket durchquert werden. Er kann unveränderlich sein, das ist der
Fall der gesicherten Netze, die strengen Gewährleistungsbedingungen bezüglich der
effektiven Beförderung
von Mitteilungen und der Beförderungsfristen
erfüllen müssen.
-
Die
Pakete werden im Allgemeinen mit einer regelmäßigen Taktfolge auf einem virtuellen
Weg gesendet, aber die Regelmäßigkeit,
mit der sie aufeinander folgen, verschlechtert sich im Laufe ihres
Fortschreitens entlang des virtuellen Wegs aufgrund der veränderlichen
Bedingungen von Staubildungen, auf die sie in den durchquerten Paketvermittlungen
treffen. Diese Verschlechterung der Regelmäßigkeit der Aufeinanderfolge
der Pakete im Laufe ihres Fortschreitens entlang eines virtuellen
Wegs, die unter dem Namen Jitter-Phänomen bekannt ist, nimmt mit der
Anzahl von durchquerten Paketvermittlungen zu. Da die gleiche Paketvermittlung
von den sie durchquerenden virtuellen Wegen nicht unter der gleichen Reihenfolgennummer
gesehen wird, haben die Pakete, die sie verarbeitet, in Abhängigkeit
von den virtuellen Wegen, über
die sie verlaufen, unterschiedliche Jitter. Je nach der Position
der Paketvermittlung auf einem virtuellen Weg kann der vorhersehbare
Jitter mehr oder weniger nahe dem zulässigen Maximum liegen.
-
Durch
Nutzen der Prioritätspegel
der Pakete in den Wartelisten der erneuten Aussendung der Eingangs-Ausgangsports e/s
der Paketvermittlungen ist es möglich,
auf die Verteilung der Wartezeiten der erneuten Aussendung zwischen
den virtuellen Wegen einzuwirken, die durch die gleiche Paketvermittlung gehen.
Dies ermöglicht
es, das Routen der Pakete zu privilegieren, die bereits mit einem
starken Jitter belastet sind, um zu verhindern, dass sie die Toleranzgrenzen überschreiten.
Der Prioritätspegel
eines Pakets wird dann in Abhängigkeit
von der durchquerten Paketvermittlung und vom genommenen virtuellen Weg
erstellt, der in den Dienstbits des Pakets erwähnt ist. Er kann aus Definitionstabellen
entnommen werden, die in den Paketvermittlungen lokalisiert sind
und seinen wert in Abhängigkeit
von der betroffenen Paketvermittlung und dem betroffenen virtuellen
Weg angeben.
-
Die
Warteschlangenverwaltung mit Prioritätspegeln besteht darin:
- – die
Kennungen der auf eine erneute Aussendung wartenden Pakete nach
Rang geordnet hintereinander in der Reihenfolge ihrer Ankunft am betroffenen
Ausgangsport in einer Verarbeitungsschlange anzuordnen, die in einem
Wartelistenspeicher gespeichert ist,
- – in
dieser gespeicherten Verarbeitungsschlange die Kennung zu markieren,
die dem ältesten
zum höchsten
Prioritätspegel
zugegangenen Paket entspricht,
- – die
markierte Paketkennung aus der Verarbeitungsschlange zu entnehmen,
- – die
aus der Verarbeitungsschlange entnommene Paketkennung als dem Paket
entsprechend zu präsentieren,
das prioritär
vom betroffenen Ausgangsport erneut ausgesendet werden soll, und
- – die
Vorgänge
des Markierens, des Entnehmens und des Präsentierens jedes Mal dann erneut
zu beginnen, wenn der Ausgangsport für eine erneute Sendung eines
neuen Pakets verfügbar
ist oder es bald sein wird, und dies, so lange die Verarbeitungsschlange
nicht geleert wurde.
-
Diese
Vorgänge
setzen eine permanente Aktualisierung der gespeicherten Verarbeitungsschlange
voraus, d.h. eine Berücksichtigung
der Einführungen
neuer Paketkennungen, jedes Mal, wenn se sich zur erneuten Aussendung
am betroffenen Ausgangsport präsentieren,
und der Entnahmen der Paketkennungen, deren erneuter Aussendungsvorgang
begonnen wurde. Um diese Aktualisierung durchzuführen, wird die Verarbeitungsschlange
im Wartelistenspeicher in einer Adressierzone angeordnet, die sowohl
eine veränderliche
Größe hat als
auch in Abhängigkeit
von den Zugängen
und Abgängen
von Paketkennungen mobil ist. Diese mobile Adressierzone besteht
aus einem Bereich von Adressen, die lückenlos in der natürlichen
Adressierordnung des Wartelistenspeichers aufeinander folgen, wobei
die natürliche
Adressieranordnung der Inkrementierung eines Zählers entspricht und eine Rückschleifung
des Speichers durch Überschreiten
der Adressierkapazität
erlaubt. Sie wird in jedem Moment von zwei Zeigern markiert, einem
Schreibzeiger PE, der ihre obere Grenze
markiert, d.h. die Adresse der Paketkennung, die als jüngste eingegangen
ist, und einem Lesezeiger PL, der ihre untere
Grenze markiert, d.h. die Adresse derjenigen der Paketkennungen,
die sich als älteste
dort befindet. Der Schreibzeiger PE wird
bei jeder Einführung
einer neuen Paketkennung in die Verarbeitungsliste um eine Einheit
inkrementiert, während
der Lesezeiger PL einmal oder mehrfach inkrementiert
wird, um die Entnahmen von Paketkennungen aus der Verarbeitungsschlange
zu berücksichtigen.
-
Das
Markieren der dem ältesten
in den höchsten
Prioritätspegel
eingegangenen Paket entsprechenden Kennung in der gespeicherten
Verarbeitungsschlange erfolgt
- – durch
schrittweise Zurückgehen
in der Verarbeitungsschlange von der letzten zugegangenen Paketkennung
in Richtung der ältesten
zugegangenen Paketkennung,
- – indem
bei jedem Schritt ein Vergleich der vorherigen Paketkennung, die
in der Verarbeitungsschlange gelesen wird, mit einer Paketkennung durchgeführt wird,
die nach den vorhergehenden Vergleichen als die älteste auf dem höchsten Prioritätspegel
behalten wurde und in einer Hilfsspeicher-Registerbank, Arbeitsbank
genannt, gespeichert ist,
- – indem
in der Arbeitsregisterbank die Paketkennung angeordnet oder behalten
wird, die sich am Ende jedes Vergleichs als diejenige mit der höchsten Priorität oder als
die älteste
in der Verarbeitungsschlange für
den gleichen Prioritätspegel erweist,
und
- – indem
am Ende jedes Vergleichs die nicht behaltene Paketkennung wieder
in die Arbeitsschlange auf dem Rang eingefügt wird, der vor demjenigen
der Paketkennung liegt, die in der Verarbeitungsschlange gelesen
wird.
-
Um
den Ablauf der Vergleichsfolgen zu erleichtern, die zur Markierung
der Paketkennung der Verarbeitungsschlange führen, die auf dem höchsten Prioritätspegel
die älteste
ist, wird die Verwendung von zwei Hilfszeigern vorgesehen, einem
Hilfslesezeiger PAL, der die Adresse der
Paketkennung in der Verarbeitungsschlange markiert, die bei einem
Vergleich direkt im Wartelistenspeicher gelesen wird, und einem
Hilfsschreibzeiger PAE, der die Wiedereinfügadresse
der Paketkennung in der Verarbeitungsschlange markiert, die während eines
Vergleichs nicht behalten wurde.
-
4 ist
ein Ablaufdiagramm, das die verschiedenen Schritte eines Verfahrens
der Verwaltung von Wartelisten darstellt, das die Prioritätspegel
berücksichtigt
und die vier oben erwähnten
Zeiger verwendet. Dieses Verfahren ermöglicht es, gleichzeitig zwei
unterschiedliche Aufgaben zu erfüllen,
von denen eine permanent die Einfügung der Paketkennungen in
die Verarbeitungsschlange gewährleistet,
die sich für
ein erneutes Aussenden präsentieren,
und die andere die Auswahl und die Entnahme der Paketkennung aus
der Verarbeitungsschlange gewährleistet,
die dem Paket entspricht, das prioritär erneut zu senden ist, jedes
Mal, wenn der Ausgangsport für
ein erneutes Senden eines Pakets verfügbar ist.
-
Die
erste Aufgabe des Einfügens
der Paketkennungen in die Verarbeitungsschlange, die sich zum erneuten
Aussenden durch den betroffenen Ausgangsport präsentieren, gewährleistet
die Verwaltung des Schreibzeigers PE, die
darin besteht, ihn um eine Einheit zu inkrementieren, wenn eine
Paketkennung IDc sich zum erneuten Aussenden
präsentiert,
und diese Paketkennung IDc in den Wartelistenspeicher
an der neuen Adresse einzuschreiben, die vom Schreibzeiger PE angezeigt wird. Ihre Ausführung ist
Gegenstand des Bereichs 300 des Ablaufdiagramms, das auf
der linken Seite der 4 zu sehen ist.
-
Bei
der Initialisierung, d.h. nach einem Start der Paketvermittlung,
die durch einen Ausgangspunkt 301 markiert ist, werden
der Schreibzeiger PE und der Lesezeiger
PL in 302 auf einen beliebigen Ausgangswert
PEini gesetzt. Dann tritt die Aufgabe in eine
Schleife ein, die in 303 das Vorhandensein oder die Abwesenheit
einer Paketkennung IDc testet, die Kandidat
für die
Warteliste ist. In Abwesenheit einer Kandidat-Paketkennung IDc ist
die Rückschleifung
direkt. In Gegenwart einer Kandidat-Paketkennung IDA werden
vor dem Rückschleifen
zwei Vorgänge
in 304 durchgeführt:
Eine Inkrementierung des Schreibzeigers PE um
eine Einheit und ein Einschreiben der Kandidat-Paketkennung IDA in den Wartelistenspeicher an der neuen
Adresse, auf die vom Schreibzeiger PE gezeigt
wird. So schreitet die Verarbeitungsschlange konstant im Wartelistenspeicher
in Richtung der aufsteigenden Adressen vorwärts, was unwichtig ist, da
es eine Rückschleifung
durch Überlaufen
des Adressenzählers
gibt.
-
Die
zweite Aufgabe des Auswählens
und der Entnahme der Paketkennung aus der Verarbeitungsschlange,
die dem prioritär
erneut auszusendenden Paket entspricht, jedes Mal dann, wenn der
Ausgangsport für
die erneute Aussendung eines Pakets verfügbar ist, ist Gegenstand des
Bereichs 400 des Ablaufdiagramms, das auf der rechten Seite
der 4 zu sehen ist.
-
Nach
einer Initialisierung, die durch einen Startpunkt 401 markiert
wird, erfahren die Schreibzeiger PE und
Lesezeiger PL in 402 einen Gleichheitstest,
der dazu bestimmt ist zu prüfen,
on die Verarbeitungsschlange nicht leer ist. Wenn die Verarbeitungsschlange
leer ist, gibt es kein erneut zu sendendes Paket; die Auswahl und
die Entnahme einer Paketkennung haben keinen Sinn. Die Ausführung der zweiten
Aufgabe wird angehalten und an ihrem Anfang wieder aufgenommen.
Wenn es keine Gleichheit gibt, ist die Verarbeitungsschlange nicht
leer. Dann wird in 403 die Initialisierung der Hilfsschreibzeiger
PAE und Hilfslesezeiger PAL auf
den Wert des Schreibzeigers PE, das Laden
einer Arbeitsregisterbank RD mit der im Wartelistenspeicher an der
vom Hilfslesespeicher PAL angezeigten Adresse
gespeicherten Paketkennung und das Dekrementieren des Hilfslesezeigers
PAL um eine Einheit durchgeführt. Dann
hat man eine Arbeitsbank RD, die die Paketkennung enthält, die
als letzte in die Verarbeitungsschlange eingefügt wurde, und einen Hilfslesezeiger PAL, der auf die Paketkennung zeigt, die vor
der jüngsten Paketkennung
in der Verarbeitungsschlange liegt.
-
Die
zweite Aufgabe setzt sich durch eine Suchschleife der Paketkennung
der Verarbeitungsschlange fort, die die älteste auf dem höchsten Prioritätspegel
ist.
-
Diese
Schleife beginnt in 404 durch einen Schleifenendetest,
der sich auf die Zugehörigkeit
des Hilfslesezeigers PAL zur Verarbeitungsschlange
bezieht. Da dieser Hilfslesezeiger PAL eine
regelmäßige Dekrementierung
erfährt,
geht er aus der Verarbeitungsschlange heraus, sobald er die Adresse
erreicht, die vor derjenigen der Paketkennung liegt, die als älteste eingefügt und noch
nicht entnommen wurde. Da die älteste
in die Verarbeitungsschlange eingefügte Paketkennung, die noch
nicht aus ihr entnommen wurde, vom Lesezeiger PL angezeigt
wird, wird die vorhergehende Adresse durch Dekrementieren des Lesezeigers
PL um eine Einheit erhalten. Der Verarbeitungsschlangen-Ausgangstest
besteht aus einer einfachen Überprüfung der
Gleichheit des Hilfslesezeigers PAL mit
dem um eine Einheit dekrementierten Wert des Lesezeigers PL. Bei einer Ungleichheit setzt sich die
Verarbeitung der Schleife fort, während im Fall der Gleichheit
aus der Schleife ausgetreten wird.
-
Bei
Ungleichheit setzt sich die Schleifenverarbeitung in 405 durch
das Lesen der Paketkennung, auf die der Hilfslesezeiger PAL zeigt, und dann durch einen Vergleich
in 406 der Prioritätspegel
der Paketkennung, die in der Arbeitsbank RD gespeichert ist, und
der Paketkennung, auf die im Wartelistenspeicher vom Hilfslesezeiger
PAL gezeigt wird, fort. Je nach dem Ergebnis
des Vergleichs ist es entweder die in der Arbeitsbank gespeicherte
Paketkennung oder die im Wartelistenspeicher an der vom Hilfslesezeiger
PAL angezeigten Adresse gelesene Paketkennung,
die den größten Prioritätspegel
hat oder die älteste
in der Arbeitsschlange mit gleichem Prioritätspegel ist.
-
Wenn
es die im Wartelistenspeicher gelesene Paketkennung ist, die den
größten Prioritätspegel hat
oder die älteste
in der Arbeitschlange mit gleichem Prioritätspegel ist, setzt sich die
Verarbeitung in 407 vor einer Rückschleifung stromaufwärts vor
dem Schleifenendetest 404 durch eine erneute Kopie der in
der Arbeitsbank RD gespeicherten Paketkennung in den Wartelistenspeicher
an der vom Hilfsschreibzeiger PAE angezeigten
Adresse und dann durch das Laden der Arbeitsbank RD mit der Paketkennung,
die im Wartelistenspeicher an der vom Hilfslesezeiger PAL angezeigten
Adresse gelesen wird, und durch die Dekrementierungen der Hilfsschreibzeiger
PAE und Hilfslesezeiger PAL um
eine Einheit fort.
-
Wenn
es die in der Arbeitsbank RD gespeicherte Paketkennung ist, die
den größten Prioritätspegel
oder das höchste
Alter in der Arbeitsschlange mit gleichem Prioritätspegel
hat, setzt sich die Verarbeitung in 408 vor einem Rückschleifen
stromaufwärts
vor dem Schleifenendetest 404 durch eine erneute Kopie
der an der vom Hilfslesezeiger PAL angezeigten
Adresse gelesenen Paketkennung im Wartelistenspeicher an der vom
Hilfsschreibzeiger PAE angezeigte Adresse
und durch die Dekrementierungen der Hilfsschreibzeiger PAE und Hilfslesezeiger PAL um eine
Einheit fort.
-
Die
Suchschleife der Paketkennung der Verarbeitungsschlange, die die älteste auf
dem höchsten Prioritätspegel
ist, ermöglicht
es, Schritt für
Schritt in der Verarbeitungsschlange in einer ansteigenden Reihenfolge
des Einfügungsalters
fortzuschreiten, indem über
die Länge
der aufeinanderfolgenden Vergleiche die Paketkennung, die als die
höchste
Priorität
aufweisend angesehen wird, in der Arbeitsbank angeordnet wird, und
indem am Ende jedes Vergleichs die Arbeitsschlange ohne diese Paketkennung
wiederhergestellt wird.
-
Bei
einem positiven Ergebnis des in 404 durchgeführten Schleifenausgangstests
wird in 409 ein Ausgangsvorgang durchgeführt, der
darin besteht, eine Berücksichtigung
der als die höchste
Priorität
aufweisend angesehenen Paketkennung, die in der Arbeitsbank gespeichert
ist, durch den Ausgangsport abzuwarten, dann in 410 ein
Vorgang der Aktualisierung der ältesten
Grenze der Warteschlange, die vom Lesezeiger PL angezeigt
wird, durchgeführt,
wobei diese Aktualisierung darin besteht, dem Lesezeiger PL den Wert des Hilfsschreibzeigers PAE zu geben. Nach diesen Vorgängen kehrt
man zum Beginn 401 zurück,
um die nächste
Paketkennung zu suchen, die in der Verarbeitungsschlange gespeichert
und diejenige mit der höchste
Priorität
geworden ist.
-
Die 5a und 5b zeigen
die Vorgänge der
Vorbereitung der Vergleichszyklen, die in 403 in 4 erwähnt sind.
-
In 5a wird
angenommen, dass die im Wartelistenspeicher M gespeicherte Verarbeitungsschlange
sechs Paketkennungen IDA bis IDF enthält, die
in alphabetischer Reihenfolge zugegangen sind. Die Adresse IDA der ältesten
zugegangenen Paketkennung wird vom Lesezeiger PL angezeigt,
während die
Adresse IDF der letzten zugegangenen vom Schreibzeiger
PE angezeigt wird. Die Hilfslesezeiger PAL und Hilfsschreibzeiger PAE werden
auf den Wert des Schreibzeigers PE initialisiert.
Die Arbeitsbank wird mit der Paketkennung IDF geladen,
auf die der Hilfslesezeiger PAL in der Verarbeitungsschlange zeigt.
-
In 5b wird
der Hilfslesezeiger PAL um eine Einheit
dekrementiert und zeigt in der Verarbeitungsschlange auf die nächste Paketkennung
IDE, die mit IDF verglichen
wird, die in der Arbeitsbank RD gespeichert ist.
-
Wie
oben gesagt, bezieht sich der Vergleich auf die Prioritätspegel
der Pakete bei ihrem Durchgang durch die Paketvermittlung. Diese
Prioritätspegel
werden von den Informationen, die in den Paketkennungen enthalten
sind, wie der verfolgte virtuelle Weg, und von lokalen Anweisungen
abgeleitet, wie die den virtuellen Wegen in Höhe der betrachteten Paketvermittlung
zugeteilten Prioritäten.
-
In 6 wird
angenommen, dass der Vergleich zwischen den Paketkennungen IDF und IDE zugunsten
der Paketkennung IDF geendet hat, die in der
Arbeitsbank RD gespeichert ist, was sich durch das Vorhandensein
der Paketkennung IDE sowohl in ihrem Feld
in der Verarbeitungsschlange als auch in demjenigen der Paketkennung
IDF äußert. Es
wird auch angenommen, dass der folgende Vergleich begonnen hat,
wobei die Hilfslesezeiger PAL und Hilfsschreibzeiger
PAE um eine Einheit dekrementiert wurden,
und dass auch dieser Vergleich zum Vorteil der Paketkennung IDF enden wird, die in der Arbeitsbank RD gespeichert
ist, d.h. dass man zum Zweig eines Vergleichszyklus übergeht,
der in 4 mit 408 markiert ist. Die Paketkennung
IDF wird in der Arbeitsbank RD gehalten,
während
die Paketkennung IDD, die nicht behalten
wurde, in die Verarbeitungsschlange an der Adresse eingeschrieben
wird, auf die der Hilfsschreibzeiger PAE zeigt.
-
Für 7 gelten
die gleichen Annahmen wie für 6,
mit Ausnahme des Ergebnisses des begonnenen Vergleichs, von dem
angenommen wird, dass er die Paketkennung IDD begünstigt,
die in der Verarbeitungsschlange gelesen wird, was darauf hinausläuft zuzulassen,
dass man über
den Zweig eines Vergleichszyklus geht, der in 4 mit 407 markiert ist.
Die nicht behaltene Paketkennung IDF wird
in der Verarbeitungsschlange an der vom Hilfsschreibzeiger PAE gezeigten Adresse eingeschrieben, während die
behaltene Paketkennung IDD, auf die der
Hilfslesezeiger PAL zeigt, in die Arbeitsbank
RD eingeschrieben wird. Man stellt fest, dass nach diesen Manipulationen
die Paketkennung IDF um einen Rang in der
Verarbeitungsschlange fortgeschritten ist, zum Nachteil der Paketkennung
IDE, die vor ihr lag, die aber beim vorhergehenden
Vergleich als weniger prioritär
beurteilt worden war.
-
Das
bezüglich
des Ablaufdiagramms der 4 beschriebene Verfahren zur
Wartelistenverwaltung ist einfach zur Einführung von Maßnahmen zur
Sicherung der Übertragung
von Paketen anwendbar, die auf der Suche nach der Betriebswirksamkeit
in Höhe
der Paketvermittlungen beruhen.
-
Eine
erste dieser Maßnahmen
besteht darin, die Sättigung
einer Warteliste zu verhindern, indem ihre Population durch Verweigerung
des Zugangs jedes Pakets über
einen gewissen Schwellwert hinaus daran gehindert wird, diesen Schwellwert
zu überschreiten.
Eine solche Sättigung
führt nämlich zu anormalen
Routingverzögerungen
innerhalb der Paketvermittlung, die sich nach stromabwärts im Netz ausbreiten
und die Gefahr weiterer Sättigungen
von Wartelisten in anderen Paketvermittlungen nach sich ziehen.
-
Die
aufgrund der Überschreitung
der zulässigen
Kapazität
einer Warteliste zurückgewiesenen Pakete
werden nicht vom betroffenen Ausgangsport erneut ausgesendet. Sie
sind für
den virtuellen Weg oder den Teil des virtuellen Wegs, der über diesen Ausgangsport
geht, verloren, aber ihr Verlust betrifft nur diesen Ausgangsport.
Sie werden weiter von der Paketvermittlung übertragen, da sie ebenfalls
zu anderen Ausgangsports umgelenkt werden. Die Verweigerung der
erneuten Aussendung durch einen Paketvermittlungs-Ausgangsport stellt
einen verschlechterten aber gesunden Betrieb dar, der endet, wenn
die Sättigungssituation
endet.
-
Bei
Paketen mit variablen Längen
kann das Kriterium der maximalen Population in der Warteliste verfeinert
und durch ein Kriterium ersetzt werden, das auf einer Schätzung der
Zeit beruht, die der Ausgangsport für das erneute Aussenden der
in der Warteliste registrierten Pakete benötigt, eine Schätzung, die
leicht durchführbar
ist, wenn man die Länge
jedes Pakets kennt.
-
8 nimmt
den Bereich 300 des Ablaufdiagramms der 4 wieder
auf, der der Einführung
in die Verarbeitungsschlange der Kennungen der Pakete gewidmet ist,
die Kandidaten für
die erneute Aussendung sind, indem darin ein Verfahren der Begrenzung
der Population der Verarbeitungsschlange eingeführt wird. In dieser 8 sieht
man, dass ein Sättigungstest 305 hinter
den Test 303 des Vorhandenseins einer Paketkennung IDA, die Kandidat für eine erneute Aussendung ist,
auf dem Zweig entsprechend einem positiven Ergebnis dieses Tests
eingefügt
ist. Der Sättigungstest 305 besteht
darin, vom Wert des Schreibzeigers PE denjenigen
des Lesezeigers PL abzuziehen und das Ergebnis
mit einem Schwellwert S zu vergleichen. Wenn das Ergebnis über dem
Schwellwert liegt, wird die Kandidat-Paketkennung IDA zurückgewiesen
(Vorgang 306). Wenn das Ergebnis positiv ist, wird die
Paketkennung IDA eingelassen und in die
Verarbeitungsschlange eingeschrieben, nachdem der Schreibzeiger
PE um eine Einheit inkrementiert wurde (Vorgänge 304).
Wie vorher angegeben, kann das für
den Sättigungstest 305 verwendete
Kriterium durch andere Kriterien ersetzt werden, die für die Dauer
der erneuten Sendung der Gesamtheit der in der Verarbeitungsschlange
registrierten Pakete repräsentativ
sind.
-
Eine
zweite Maßnahme,
die die Betriebswirksamkeit einer Paketvermittlung verbessert, besteht
darin, die erneuten Sendungen von Dubletten zu vermeiden, indem
vor dem Beginn eines Prioritätspegelvergleichs überprüft wird,
dass die beiden dem Vergleich unterzogenen Paketkennungen nicht identisch
sind.
-
Eine
dritte Maßnahme
besteht darin, zu überprüfen, ob
die dem Prioritätspegelvergleich
unterzogenen Paketkennungen auch Paketen entsprechen, die kürzlich genug
empfangen wurden, um sich noch im Pufferspeicher der Paketvermittlung
zu befinden. Diese Überprüfung beruht
auf dem Datum des Empfangs der Pakete durch die betroffene Vermittlung,
das ausdrücklich
in den Paketkennungen angezeigt ist, entweder explizit oder implizit
aufgrund der Tatsache, dass die Adressierung beim Einschreiben einer
Paketvermittlung in den Pufferspeicher absichtlich mit dem Datum
verbunden ist.
-
9 nimmt
im Bereich 400 des Ablaufdiagramms der 4 die
Schleife auf, die für
die Suche der Paketkennung der Verarbeitungsschlange bestimmt ist,
die auf dem höchsten
Prioritätspegel
die älteste
ist. Ein Identitätstest 420 und
ein Frischetest 421 sind zwischen dem Lesen der zweiten
Paketkennung, die dem Vergleich unterzogen wird, in 405 in der
Verarbeitungsschlange und dem Prioritätspegeltest 406 eingefügt.
-
Wenn
der Identitätstest 420 positiv
ist, wird der geplante Prioritätspegelvergleich
fallengelassen, um den folgenden Vergleich zu beginnen, was sich durch
eine Dekrementierung des Hilfslesezeigers PAL um
eine Einheit in 422, gefolgt von einer Rückschleifung
stromaufwärts
vor dem Schleifenendetest 404 ausdrückt. Wenn er negativ ist, folgt
darauf der Frischetest 421.
-
Wenn
der Frischetest 421 negativ ist, d.h. wenn man sich in
Gegenwart eines Pakets befindet, das von der Paketvermittlung vor
einer anormal langen Zeit empfangen wurde, wird der geplante Prioritätspegelvergleich
fallengelassen, um den folgenden Vergleich zu beginnen. Dieses Fallenlassen
drückt sich
wie im Fall eines positiven Identitätstests 420 durch
eine Dekrementierung des Hilfslesezeigers PAL um
eine Einheit in 422 aus, gefolgt von einer Rückschleifung
stromaufwärts
des Schleifenendetests 404. Wenn der Frischetest positiv
ist, führt
er zur Weiterverfolgung des geplanten Prioritätspegelvergleichs.
-
Man
stellt fest, dass die Möglichkeit
eines positiven Identitätstests 420 oder
eines negativen Frischtests eine Möglichkeit des Abkoppelns des Hilfsschreibzeigers
PAE vom Hilfslesezeiger PAL nach sich
zieht.