-
Gebiet der Erfindung
-
Die
Erfindung betrifft die Netzkommunikation.
-
Stand der
Technik
-
Netzwerke
sind ein Hauptmittel für
den Austausch oder die Übermittlung
von Informationen wie Signale, die unter den Kommunikationseinrichtungen Stimm-,
Audio-, Text- oder Videosignale darstellen, Solche Kommunikationseinrichtungen
umfassen häufig
Einrichtungen für
das Senden und/oder Empfangen von Informationen, dies sind zum Beispiel Computerterminals,
Multimedia-Arbeitsplätze,
Faxgeräte,
Drucker, Server und Telefone. Der Austausch oder die Übermittlung
von Informationen wird als Anruf oder als Verbindung bezeichnet.
Informationen, die über
ein Netzwerk übermittelt
werden, können viele
verschiedene Formen aufweisen und werden häufig in Pakete oder Zellen
mit einer festen Länge formatiert.
-
Ein
Netzwerk umfasst typischerweise Schaltknoten mit Ports, die durch
Verbindungen an Ports anderer Knoten und an Kommunikationseinrichtungen
gekoppelt sind. Jede Verbindung ist uni- oder bidirektional und
ist gekennzeichnet durch eine Bandbreite oder eine Verbindungskapazität in die
Richtungen der Datenübertragung.
Informationen, die ausgetauscht werden sollen, werden häufig über einen Pfad übermittelt,
der eine Reihe von Knoten und Verbindungen umfasst, die die zwei
Kommunikationseinrichtungen miteinander verbinden. Der Pfad kann
als eine "virtuelle
Verbindung" (VC)
bezeichnet werden, bei der eine Kommunikationseinrichtung den für die Information
gesuchten Bestimmungsort beschreibt, und das Netzwerk die Information über eine
bestimmte Verbindung ausgibt, die mit den zwei Kommunikationseinrichtungen
verbunden ist.
-
Netzwerke
wie Breitband-ISDN (BISDN), die für die Paketvermittlung den
asynchronen Transfermodus (ATM) anwenden, werden aufgrund der zuverlässigen Hochgeschwindigkeitsübertragung
der Informationen zunehmend genutzt. Diese zunehmende Verwendung
hat zu umfassenden Veränderungen
in der Gestaltung der Netzwerke und der Infrastruktur sowie auch
in Netzwerkvorgängen
und/ oder in den Dienstklassen, die über die Netzwerke angeboten
werden, geführt.
Dienstklassen, die über ein
Netzwerk angeboten werden, können
zum Beispiel Videoabruf und Telefonkonferenzen umfassen. Des Weiteren
sind einzelne Dienstklassen wie Telefonkonferenzen über Video
relativ empfindlich gegenüber
Routing-Verzögerungen
und erhalten deshalb höhere
Routing-Prioriäten
als andere Dienstklassen wie zum Beispiel Videoabruf, welche relativ unempfindlich
gegenüber
Verzögerungen
sind.
-
Um
ein Netzwerk in hohem Umfang ausnutzen zu können, ist es für die Netzwerkverwalter
von Vorteil, das Netzwerk bei einer relativ hohen Zellkapazität zu betreiben,
was heißt,
dass eine große
Anzahl gleichzeitiger virtueller Verbindungen hergestellt und aufrechterhalten
wird. Die Erhöhung
der Effizienz bei der Zuteilung von Netzwerkressourcen, wie zum
Beispiel der Übertragungskapazität der Verbindungen
und des Zwischenspeicherplatzes unter den verschiedenen Dienstklassen
ist ein Verfahren, um eine solch hohe Kapazität zu ermöglichen. In den Knoten werden
typischerweise Zwischenspeicher verwendet, um die Anzahl der virtuellen
Verbindungen, die durch den Knoten getragen werden, durch Zwischenspeichern
der Übertragung
von Datenzellen zu erhöhen,
die relativ unempfindlich gegenüber Verzögerungen
sind, wohingegen jene zu übermittelnden
Datenzellen, die relativ empfindlich gegenüber Verzögerungen sind, in einem geringeren
Ausmaß zwischengespeichert
werden. Solche Zwischenspeicher sind praktisch als entsprechende Warteschlangen
für die
Datenpakete tätig,
die durch die entsprechenden Ports verschickt werden sollen.
-
Einige
Datendienste, die durch einen Netzwerkverwalter zur Verfügung gestellt
werden, basieren auf einem Grad des Serviceanspruches. Zum Beispiel
können
ein Netzwerkverwalter und ein Netzwerkbenutzer darin übereinkommen,
dass jede für diesen
Benutzer hergestellte virtuelle Verbindung eine bestimmte Committed
Information Rate (CIR) aufweisen soll und/oder eine maximale Datenverlustwahrscheinlichkeit.
Insofern geht ein untätiger
Benutzer, der Daten über
eine virtuelle Verbindung versenden möchte, davon aus, fast augenblicklich
einen Grad des Serviceanspruches zu empfangen, der seiner CIR entspricht.
Ein Admission-Controller wird häufig
eingesetzt, um die Gesamtanzahl der virtuellen Verbindungen an jedem
Knoten zu begrenzen, und um die Gesamtanzahl der CIRs für die virtuellen Verbindungen,
die hergestellt wurden, zu überwachen.
Admission-Controller werden im Allgemeinen beschrieben in A. Elwalid
und D. Mitra, "Effective Bandwidth
of General Markovian Traffic Sources and Admission Control of High
Speed Networks",
IEEE INFOCOM '93,
S. 256–264
(1993). Des Weiteren können
die CIRs zum Beispiel auf den Prioritätsstufen der übertragenen
Datenzellen basieren. Prioritäten
einer Datenzelle, die über
ein BISDN-Netzwerk übermittelt
werden, werden häufig
vor der Übermittlung
der Zelle zugewiesen und als ein Bit einer Zellverlustpriorität eines
ATM-Datenpaketes angezeigt.
-
Bei
einer virtuellen Verbindung ist es üblich, für deren CIR eine zu große Bandbreite
anzufordern. Da viele Datenquellen häufig Datenbursts bereitstellen
anstelle eines relativ stetigen Datenstromes, hält ein Netzwerk typischerweise
eine zu große
Bandbreite und einen zu großen
Zwischenspeicher für
die gesamten CIRs der aktiven virtuellen Verbindungen aufrecht.
Folglich ist es im Allgemeinen wünschenswert,
dass der Netzwerkverwalter darauf reagiert, indem er eine zusätzliche
Bandbreite oder zusätzliche Ressourcen
für den
Zwischenspeicher für
eine virtuelle Verbindung bereitstellt, selbst wenn die angeforderte
Menge über
den CIRs der virtuellen Verbindungen liegt, vorausgesetzt, dass
eine solche Quelle bereitgestellt werden kann, während gleichzeitig den CIRs
für andere
hergestellte virtuellen Verbindungen entsprochen wird. Insbesondere
ist das jeweilige Verfahren, das für die Zuteilung des gemeinsamen
Zwischenspeichers unter den verschiedenen Ausgabeports in einem
Mehrfachknoten ausgewählt
wird, insofern von Bedeutung, dass dadurch nicht unberechtigterweise
die Übermittlung
von Datenzellen für
eine virtuelle Verbindung gegenüber
der Übermittlung
von Datenzellen für
eine andere virtuelle Verbindung zurückgewiesen wird. Wenn das Übermitteln
einer Datenzelle, die über
eine virtuelle Verbindung übertragen
wird, zurückgewiesen
wird, führt
dies dazu, dass diese unerwünschterweise
ihre gewünschte
Kommunikationseinrichtung nicht erreicht und im Netzwerk als verlorengegangenes
Datenpaket betrachtet wird.
-
Exemplarische
Verfahren der Zwischenspeicherverwaltung umfassen die vollständige gemeinsame
Benutzung von Netzwerkressourcen unter Datenzellen, die über hergestellte
virtuelle Verbindungen übermittelt
werden. Entsprechend dieser Technik können jedoch Datenzellen einer
virtuellen Verbindung alle anderen Datenzellen nachteilig unterdrücken und
im Wesentlichen den gesamten verfügbaren Zwischenspeicher ausnutzen,
wodurch die Datenzellen anderer virtuellen Verbindungen davon abgehalten
werden, diesen Speicher mit zu benutzen. Eine andere Sharing-Technik
besteht in der vollständigen
Aufteilung, wobei diese den Zwischenspeicher auf Basis der entsprechenden
Klassen von Datenzellen aufteilt. Das vollständige Aufteilen befähigt die Datenzellen,
die einem entsprechenden Ausgabeport eines Knotens zugewiesen wurden,
einen zugewiesenen Teil des Zwischenspeichers exklusiv zu nutzen.
Ungenutzte Bereiche des Zwischenspeichers, die einem Port zugewiesen
wurden, können jedoch
durch die Datenzellen, die einem anderen Port zugewiesen wurden,
nicht genutzt werden, was häufig
zu einer Zuteilung mit einer verringerten Effizienz führt.
-
Der
dynamische Schwellenwert (DT) ist eine Zuweisungstechnik für den gemeinsamen
Speicher, welche eine verbesserte Leistung gegenüber den Verfahren des vollständigen gemeinsamen
Benutzens und des Aufteilens bereitstellt. Die Technik des dynamischen
Schwellenwertes arbeitet mit entsprechenden Warteschlangen aus Datenpaketen
für jedes
Ausgabeport eines Mehrfach-Umschalters.
Die zulässige
Länge für jede der
einzelnen Warteschlangen ist zu jedem Zeitpunkt eine Funktion des
ungenutzten gemeinsamen Zwischenspeichers im Schalter zu diesem
Zeitpunkt. wenn die Zuweisung durch die Schaltung eines empfangenen
Datenpaketes, das einem jeweiligen Ausgabeport zugewiesen wurde,
dazu führt,
dass die Warteschlange für
dieses Port die zulässige
Länge überschreitet,
wird die Zuweisung der Datenzellen zurückgewiesen.
-
Da
sich die zulässigen
Längen
der Warteschlangen dynamisch verändern,
wenn die Datenpakete durch die Ausgabeports versendet oder den Warteschlangen
hinzugefügt
werden, passt sich das Verfahren auf dynamische Weise unvorhersehbaren und
veränderlichen
Belastungsbedingungen an. Diese Technik erhöht die gerechte Aufteilung
und Effizienz, indem sie den Zugang zum Zwischenspeicher für alle Output-Warteschlangen
gewährleistet,
wobei keine einzelne Output-Warteschlange auf Kosten anderer Warteschlangen
allein über
den Speicher verfügen
kann. Diese Technik ermöglicht
es jedoch nicht, dass die Warteschlange ihre festgelegte Länge im Hinblick
auf ein erstes Ausgabeport, für
welches hergestellte virtuelle Verbindungen eine Aufforderung für einen
hohen Datenverkehr bereitstellen, überschreitet, obwohl die virtuellen
Verbindungen eines zweiten Ausgabeports eine Aufforderung für einen
geringen Datenverkehr bereitstellen, wodurch die entsprechende Warteschlange
teilweise ungenutzt bleibt.
-
Entsprechend
besteht ein fortlaufender Bedarf an Zuteilungsverfahren für Zwischenspeicher, die
eine erhöhtere
Effizienz in Mehrfachknoten bereitstellen.
-
In
der Technik wird das Verfahren des dynamischen Schwellenwertes für gemeinsame
Speicherzuweisungen im Allgemeinen in der Europäischen Patentanmeldung EP-A-0 706
298 beschrieben. Ein alternatives Verfahren für das Verwalten von gemeinsamen
Zwischenspeichern unter Warteschlangen an einem Port wird in der
Europäischen
Patentanmeldung EP-A-0 526 104 beschrieben. Gemäß diesem Verfahren wird bei
einem vollen Zwischenspeicher und einer zusätzlichen Zuweisung für die Paketsuche ein
Paket aus der nicht leeren Warteschlange desjenigen Ports mit der
niedrigsten Priorität
entfernt, um Platz für
die Zuweisung der Paketsuche zu schaffen.
-
Kurzdarstellung der Erfindung
-
Die
Erfindung betrifft ein Verfahren für einen Mehrfachknoten mit
einem gemeinsamen Zwischenspeicher, um eine erhöhte Zwischenspeicherkapazität für Pakete
für hergestellte
virtuelle Verbindungen bereitzustellen, wobei die Klassen der Dienstansprüche beibehalten
werden. Gemäß der Erfindung
werden vorübergehende
Zuteilungen des gemeinsamen Zwischenspeichers basierend auf den
tatsächlichen Anforderungen
an den Speicher, die für
die virtuellen Verbindungen durch solche Ports hergestellt wurden, bestimmt.
Daraufhin bewertet das Verfahren, ob ein eingehendes Paket für eine hergestellte
virtuelle Verbindung zur Übermittlung
durch ein bestimmtes Ausgabeport zugewiesen wird, wobei dies auf
dem im Wesentlichen gesamten verfügbaren Zwischenspeicher basiert,
der in diesem Moment gerade nicht für das Zwischenspeichern von
Paketen im Hinblick auf eine Größe des reservierten
Zwischenspeichers genutzt wird. Die Größe des reservierten Zwischenspeichers
basiert darauf, ob die Zuweisung des eingehenden Datenpaketes dazu
führt,
dass der für
dieses Port vorübergehend
zugeteilte Speicher überlastet oder
unterlastet wird, und kann optional auch auf der Prioritätsstufe
des eingehenden Paketes beruhen.
-
Der
vorübergehend
zugewiesene Speicher wird als unterlastet betrachtet, wenn der Speicherplatz,
der Pakete enthält,
die diesem Port zugewiesen wurden, in Kombination mit den Speicheranforderungen
des eingehenden Paketes geringer oder gleich der vorübergehend
zugewie senen Speichergröße für dieses
Port ist. Der Umfang der Größe des reservierten
Zwischenspeichers wird bestimmt, um die anderen unterlasteten Ports
zu schützen,
so dass in dem Moment, in dem diese Ports aktiver werden und einen
Zwischenspeicher bis zu deren vorübergehender Zuteilung anfordern,
ein solcher Speicherplatz zügig
verfügbar
ist. Demzufolge ermöglicht
die Anwendung der Größe des reservierten
Zwischenspeichers, dass das Verfahren bestimmen kann, wann ein zusätzlicher
Speicher vorübergehend
an ein jeweiliges Port zugeteilt werden kann, ohne dass dies auf
Kosten des Grades der Dienstklassen geht, der mit der virtuellen
Verbindung, die durch ein anderes Port hergestellt wurde, verbunden
ist. Des Weiteren passt das Verfahren auf vorteilhafte Weise die Zuweisung
des gemeinsamen Zwischenspeichers an, um die Speicherzuweisung effizienter
zu handhaben, was den Ports mit hohem und niedrigem Datenpaketverkehr
entgegenkommt, indem der vorläufige Zwischenspeicher
auf Basis der tatsächlichen
Speicheranforderungen der hergestellten virtuellen Verbindungen
an die Ports zugewiesen wird, wenn neue virtuelle Verbindungen hergestellt
und bestehende virtuelle Verbindungen abgebrochen wurden.
-
Zusätzliche
Merkmale und Vorzüge
der vorliegenden Erfindung werden im Folgenden anhand der folgenden
ausführlichen
Beschreibung und den dazugehörigen
Zeichnungen sogleich deutlich.
-
Kurze Beschreibung der
Zeichnungen
-
1 veranschaulicht
ein schematisches Blockdiagramm eines exemplarischen Netzwerkes, das
Knoten verwendet, die in Übereinstimmung
mit der Erfindung funktionstüchtig
sind;
-
2 veranschaulicht
ein schematisches Blockdiagramm eines exemplarischen Knotens, der im
Netzwerk von 1 verwendet wird;
-
3 veranschaulicht
ein schematisches Blockdiagramm einer alternativen Ausführungsform des
Knotens aus 2; und
-
4 veranschaulicht
ein Flussdiagramm einer exemplarischen Ausführungsform der Erfindung, die
im Netzwerk von 1 funktionstüchtig ist.
-
Ausführliche Beschreibung
-
Die
Erfindung betrifft eine Speicherverwaltung und ein Verfahren für die Zuweisung
von Datenpaketen an einen Mehrfachknoten mit einem gemeinsamen Zwischenspeicher
zum Zweck der Bereitstellung einer erhöhten Kapazität für das Zwischenspeichern
von Datenpaketen, wobei der Grad des Dienstanspruches für hergestellte
virtuelle Verbindungen beibehalten wird. Die Verfahren gemäß der Erfindung können vorteilhaft
in zahlreichen unterschiedlichen Konfigurationen von Mehrfachknoten
und Kommunikationsnetzen angewendet werden. Die Erfindung wird jedoch
im Hinblick auf die Netzwerkkonfiguration aus 1 und
die Konfigurationen des Mehrfachknotens aus 2 und 3 beschrieben,
um die Darstellung, die die Erfindung nicht einschränken soll,
zu vereinfachen. Ein exemplarisches Datenübertragungsnetz 100,
das Pakete über
den asynchronen Transfer Modus (ATM) übermittelt, der mindestens
einen Mehrfachknoten 110 gemäß der Erfindung umfasst, wird
in 1 gezeigt. Exemplarische Konfigurationen der Mehrfachknoten
gemäß der Erfindung werden
ausführlicher
im Hinblick auf 2 und 3 beschrieben.
In 1 umfasst das Netzwerk 100 Kommunikationsverbindungen 120,
die einzelne Knoten 110 miteinander verbinden. Bei einem
typischen BISDN-Netzwerk
kann die Anzahl der Verbindungen, die mit einem Knoten 110 verbunden
sind, 512 oder mehr betragen. Jede Verbindung 120 verfügt über eine
entsprechende Kapazität
für Datenpakete,
die über
die Verbindung pro Zeiteinheit übermittelt
werden können,
welche typischerweise als die Bandbreitenverbindung bezeichnet wird.
Exemplarische Verbindungen mit Bandbreiten von etwa 622 MB/Sek.
werden in herkömmlichen
BISDN-Netzwerken verwendet. Jeder Mehrfachknoten 110 umfasst einen
gemeinsamen Zwischenspeicher, der für das Zwischenspeichern von
Daten, die an entsprechende Verbindungen 120 geleitet werden
sollen, verwendet werden kann. Datenpakete sind Dateneinheiten,
die mit einer Routinginformation versehen sind. Diese Pakete können gemäß der Erfindung
feste oder variable Längen
aufweisen. Exemplarische Pakete umfassen ATM-Zellen mit einer festen
Länge von
53 Bytes. Pakete auf einer höheren
Protokollebene können
eine längere
Länge aufweisen
und werden typischerweise als Nachrichten bezeichnet, die aufgeteilt werden
können,
um mehrere Zellen für
die ATM-Schaltung zu erzeugen.
-
In
einer jeweiligen Netzwerkschaltung können sich einer oder mehrere
Knoten 110 befinden, wie zum Beispiel Schaltungen von ATM-Daten,
die kommerziell über
Lucent Technologies Inc. in Murray Hill, N.J. zu beziehen sind,
darunter auch Lucent's GlobeView
2000 Switches. Einzelne Knoten 110 sind ferner mit Zugangsreglern 107 verbunden,
welche mit den Kommunikationseinrichtungen 105 verbunden
sind. Die Kommunikationseinrichtungen 105 werden typischerweise
durch Kommunikationsdienstleister und Benutzer verwendet, um die
Benutzer dazu zu befähigen,
Dienste anzufragen und zu empfangen, wie zum Beispiel Videoabruf
oder Videokonferenzen. Der Zugangsregler 107 reguliert
den Fluss oder die Geschwindigkeit der Datenpakete aus den Kommunikationseinrichtungen 105 in
das Netzwerk 100 gemäß einer
Funktion, die durch eine Reihe von Parametern der Zugangsregler
gekennzeichnet ist. Der Zugangsregler 107 kann ein Leaky-Bucket-Regler, ein
gepufferter Leaky-Bucket-Regler oder ein kaskadierter Leaky-Bucket-Regler
sein. Die Verwendung von Zugangsreglern ist in herkömmlichen
BISDN-Netzwerken
typisch, ist jedoch für
die Durchführung
der vorliegenden Erfindung keine Voraussetzung. Die Kommunikationseinrichtungen 105 können gemäß der Erfindung
direkt an die Knoten 110 aus 1 gekoppelt
sein.
-
Informationen,
die über
die Kommunikationseinrichtungen 105 an das Netzwerk 100 bereitgestellt
werden, sind gekennzeichnet durch eine Reihe von Informationsparametern,
wie zum Beispiel Langzeit-Durchschnittsübertragungsraten, Spitzenübertragungsraten
und die maximale Burst-Größe. Der Wert
eines jeden Informationsparameters in der Reihe der Informationsparameter
basiert auf einem jeweiligen Dienstgrad, zum Beispiel auf vertraglichen Vereinbarungen
mit dem Netzwerkbetreiber in Bezug auf eine maximale Zellverlustrate
und die entsprechenden geeigneten Parameter für die Zugangsregulierung, welche
zum Beispiel die Geschwindigkeit sein können, mit der Pakete in das
Netzwerk 100 fließen.
Der jeweilige Dienstgrad kann ebenso auf Prioritätsstufen der Pakete basieren.
-
Eine
Prioritätsstufe
wird häufig
vor der Übermittlung
des Paketes zugewiesen und wird in einer ATM-Zelle angezeigt, zum
Beispiel als ein Bit der Zellverlustwahrscheinlichkeit (CLP). Typischerweise wird
die Prioritätsstufe
darauf basierend bestimmt, ob ein zu übermittelndes Datenpaket den
vertraglichen Vereinbarungen entspricht. Als Alternative kann die Prioritätsstufe
auch auf der Dienstklasse im Zusammenhang mit den Informationen
basieren, die über das
Netzwerk 100 übermittelt
werden, wobei dies wiederum auf der Empfindlichkeit der Datenendeinrichtung 105 in
Bezug auf die Verzögerung
einer solchen Information beruht. Zusätzlich kann die Prioritätsstufe
auf einer Datenklasse im Paket basieren. Zum Beispiel können mehrere
unterschiedliche Klassen von Datenpaketen, die in einer herkömmlichen ATM-Paketschaltung übermittelt
werden können, Zellen
mit konstanten Bitraten (CBR) umfassen, die typischerweise für Stimm-
oder Audiodaten, Daten variabler Bitraten in Echtzeit (Echtzeit-VBR)
für Videodaten
wie zum Beispiel für
Videokonferenzen, variable Bitraten, die nicht in Echtzeit sind
(Nicht-Echtzeit-VBR),
für nicht
bewegte Bilddaten, Daten verfügbarer
Bitraten (ABR), die typischerweise Texte sind, die relativ empfindlich
gegenüber
Verzögerungen sind
und Daten unspezifischer Bitraten (UBR) sind. Ein Paket kann ebenso
eine unspezifische Priorität besitzen.
-
Die
Kommunikationseinrichtungen 105 kommunizieren mit entsprechenden
anderen Kommunikationseinrichtungen 105 durch eine virtuelle
Verbindung, die über
jeweilige Knoten 110 und Verbindungen 120 im Netzwerk 100 hergestellt
wird. Insbesondere kann die Information zwischen Absender- und Empfänger-Kommunikationseinrichtungen 105 durch die
absendende Kommunikationseinrichtung 105, die einen Pfad
einer virtuellen Verbindung anfragt, um die zwischen den entsprechenden
Einrichtungen 105 hergestellte Anfrage zu tragen, übertragen
werden. Zum Beispiel umfasst ein möglicher Pfad, der eine Anfrage
einer Kommunikationseinrichtung 105A zu einer Empfänger-Kommunikationseinrichtung 105B tragen
oder leiten soll, die Knoten 111, 112, 113 und 114 und
die Verbindungen 121, 122 und 123.
-
Der
jeweilige Pfad, der ausgewählt
wurde, um eine virtuelle Verbindung durch das Netzwerk 100 zu
leiten, erfordert, dass die jeweiligen Knoten 110 und Verbindungen 120 einen
verfügbaren
Zwischenspeicher und eine Bandbreitenverbindung aufweisen, die ausreichen,
um eine solche virtuelle Verbindung bei einer angemessenen Datengeschwindigkeit mit
jedem Grad an Dienstansprüchen,
wie zum Beispiel der zugesicherten Bandbreite oder der maximalen
Informationsverlustwahrscheinlichkeit, zu leiten. Bevor die angeforderte
virtuelle Verbindung hergestellt werden kann, müssen der Zwischenspeicherplatz
des Knotens und die Bandbreitenverbindung bestimmt werden, um einen
Pfad mit genügenden Ressourcen
aufzufinden, der diesen Anforderungen entspricht. Wie auch in herkömmlichen
Knoten, kann mehr als eine virtuelle Verbindung durch ein einzelnes
Ausgabeport des Knotens 110 hergestellt werden. Das jeweilige
Verfahren für
die Herstellung einer virtuellen Verbindung ist bei der Durchführung der
Erfindung nicht von entscheidender Bedeutung und jedes der zahlreichen
Verfahren kann angewendet werden, darunter auch beispielsweise solche
Verfahren, wie sie in den US-Patentschriften
Nr. 5,519,83b und 5,502,816 offenbart werden, welche dem Bevollmächtigten
der vorliegenden Erfindung übertragen wurden.
-
Ein
exemplarischer Mehrfachknoten 110, der zusammen mit der
Erfindung verwendet werden kann, wird in 2 dargestellt.
Exemplarische Komponenten für
die dargestellten Elemente des Knotens in 2 können solche
sein, die in den zuvor aufgelisteten und kommerziell erhältlichen
ATM-Datenschaltungen verwendet werden. Der Knoten 110 aus 2 umfasst
mehrere Eingabeports 210 und Ausgabeports 220,
die mit entsprechenden Netzwerkverbindungen 120 in 1 verbunden
sind. Die Anzahl der Ports 210 und 220 kann sich
im Bereich von einigen Hunderten bewegen. Die Ports 210 und 220 sind ferner
mit einem Input-Output (I/O) Schaltkreismodul 200 verbunden,
das durch einen Controller 230 gesteuert wird. Der Controller 230 stellt
die Prüfung
der Annehmbarkeit der Verbindung (CAC) bereit, die auf Anfragen
bezüglich
der Herstellung von Pfaden von jeweiligen Eingabeports 210 zu
jeweiligen Ausgabeports 220 reagiert, um ein jeweiliges
Segment einer virtuellen Verbindung zur Übermittlung von Paketen über das
Netzwerk 100 bereitzustellen. Jedes Port 210 und 220 im
Mehrfachknoten 100 kann typischerweise Anfragen von mindestens
einer spezifischen Prioritätsstufe
leiten. Der Controller 230 und das I/O-Modul 200 sind
ferner an einen Zwischenspeicher 240 gekoppelt, der den
Knoten 110 dazu befähigt,
empfangene Daten für
jeweilige Anfragen, die über
ein Ausgabeport 220 geleitet werden, vorübergehend
zu speichern. Der Zwischenspeicher 240 kann einen Speicher
mit wahlfreiem Zugriff (Random Access Memory – RAM) verwenden.
-
Obwohl
die Kommunikationsverbindungen 120 direkt mit entweder
den Inputports oder Ausgabeports verbunden sind, können die
Verbindungen 120 alternativ dazu eine solche Verbindung
bereitstellen, indem sie zwischen den Verbindungen 120 und
den Ports 210 und 220 gemäß der Erfindung Übermittlungsnetze
(Switch Networks) verwenden. Die jeweilige Anordnung, die für die Verbindung
der Ports 210 und 220 mit den Netzwerkverbindungen 120 verwendet
wird, ist bei der Anwendung der Erfindung jedoch nicht von entscheidender
Bedeutung. Zum Beispiel können
als Alternative in Kombination mit der Erfindung Knoten mit Ports
verwendet werden, die Informationen übermitteln und empfangen können. Ebenso
können
Demultiplexer 300 und/oder Multiplexer 310 zwischen
die entsprechenden Input- und Ausgabeports 210 und 220 und
den Verbindungen 120 geschaltet sein, um multiplexierte
Pakete, wie sie in der Ausführungsform
des Knotens 110 in 3 gezeigt
werden, zu empfangen und zu übermitteln. Ähnliche
Komponenten in 2 und 3 sind zum
Zweck der Klarheit auf gleiche Weise nummeriert, zum Beispiel der
Controller 230 und die Ports 210 und 220.
Die Anordnung des Knotens in 3 befähigt verschiedene
Pakete, die an einem oder mehreren Eingabeports 210 empfangen
wurden, durch Ausgabeports 220 auf einer einzigen Netzwerkverbindung 120 geleitet
und multiplexiert zu werden. Auf ähnliche Weise befähigt diese
Anordnung verschiedene Pakete, die an einem einzigen Eingabeport 210 empfangen
wurden, durch zwei oder mehrere Ausgabeports 220 auf entsprechenden Netzwerkverbindungen 120 weitergeleitet
und demultiplexiert zu werden. Das Multiplexieren und Demultiplexieren
der Pakete, die über
die Verbindungen 120 übermittelt
und/ oder empfangen werden, kann zum Beispiel auf Basis eines herkömmlichen Round-Robin-Verfahrens
oder einer anderen Form der Implementierung einer „Scheduling
Queue" durchgeführt werden.
Solche Verfahren des Multiplexierens und Demultiplexierens in Datennetzwerken werden
ausführlicher
in Schwartz, Integrated Broadband Networks, Kap. 5, S. 181–242 (Prentice-Hall, New
Jersey 1996) beschrieben. Der Controller 230 kann das Router-Netzwerk 220 dazu
veranlassen, Daten zu den entsprechenden Verbindungen 120 in einer
multiplexierten Weise gemäß der Erfindung ohne
die Verwendung einer Multiplexer-Schaltung zu leiten.
-
Die
Verwendung des Zwischenspeichers 240 befähigt den
Knoten 110 dazu, die zulässigen Verzögerungen bei der Übermittlung
eines Paketes an dessen Destination auf Basis eines Grades des Serviceanspruches
durch vorübergehendes
Speichern der Pakete in Form einer Warteschlange zu nutzen, wobei
die Pakete durch ein Eingabe port 210 empfangen wurden und
schließlich
durch ein Ausgabeport 220 weitergeleitet wurden, während die Übermittlung
anderer Pakete eine relativ hohe Kapazität für die Übermittlung der Pakete für den Knoten 110 ermöglicht.
Der Controller 210 stellt ebenso eine Zwischenspeicherverwaltung
für den
Zwischenspeicher 240 bereit. Gemäß der Erfindung wendet der
Controller 210 ein Verfahren der Speicherzuweisung an,
das eine erhöhte
Kapazität
für die Übermittlung
von Paketen bei hergestellten virtuellen Verbindungen bereitstellt,
wobei der Grad der Dienstansprüche
im Zusammenhang mit diesen virtuellen Verbindungen beibehalten wird.
-
Ein
exemplarisches Verfahren 400 für die Paketzuweisung und die
Zwischenspeicherverwaltung für
die Knoten in 2 und 3 gemäß der Erfindung
wird in 4 dargestellt. Ein eingehendes Datenpaket
wird zunächst
in Schritt 405 empfangen. Dann wird die Prioritätsstufe
P und das jeweilige Ausgabeport I des eingehenden Paketes in Schritt 410 bestimmt.
Vorübergehende
Zuweisungen des gesamten Speicherplatzes B des Zwischenspeichers 240 werden
dann für
das Zwischenspeichern der Pakete, die über die entsprechenden Ausgabeports übermittelt
werden sollen, in Schritt 415 erteilt.
-
In
diesem Zusammenhang bezieht sich der Begriff "Zuweisung" auf die allgemeine Bereitstellung einer
Größe des Speicherplatzes
des Zwischenspeichers 240 zum Zwischenspeichern von Datenpaketen
für eine
virtuelle Verbindung, was für
ein solches Zwischenspeichern nicht notwendigerweise eine physische
Zuteilung einer bestimmten Speicherregion des Zwischenspeichers 240 meint,
egal, ob zusammenhängend
oder anderweitig. Entsprechend können
die Zuteilungen anzeigen, dass eine bestimmte Größe der Speicherplätze im Zwischenspeicher 240 für die Benutzung
durch das Zwischenspeichern von Paketen für entsprechende virtuelle Verbindungen
und die Ausgabeports bestimmt sind, durch die sie hergestellt werden.
Wie zuvor schon erwähnt,
kann mehr als eine virtuelle Verbindung durch ein einzelnes Port
hergestellt werden.
-
Die
Zuweisungen des Speicherplatzes können zum Zweck des Zwischenspeicherns
von Paketen von virtuellen Verbindungen, die durch den Knoten 110 hergestellt
wurden, auf vorteilhafte Weise auf festgelegten tatsächlichen
Speicheranforderungen basieren. Die tatsächliche Speicheranforderung
ist die Größe des Zwischenspeichers,
die im Wesentlichen pro Zeiteinheit für die Übermittlung von Paketen durch
den Knoten für
die jeweilige virtuelle Verbindung erforderlich ist. Verschiedene
Verfahren können angewendet
werden, um die tatsächliche
Speicheranforderung einer virtuellen Verbindung bei der Anwendung
der Erfindung zu bestimmen. Die tatsächliche Speicheranforderung
für eine
virtuelle Verbindung durch einen Mehrfachknoten kann in einer im Wesentlichen ähnlichen
Weise bestimmt werden, wie sie in A. Elwalid, D. Mitra und R. Wentworth, „A New Approach
for Allocating Buffers and Bandwidth to Heterogeneous, Regulated
Traffic in an ATM Node", IEEE
J. On Selected Areas in Communications, Vol. 13, Nr. 6, S. 1115–1127 (August
1995) beschrieben wurde. Des Weiteren müssen die vorübergehenden Zuteilungen
nicht auf den tatsächlichen
Speicheranforderungen der virtuellen Verbindungen gemäß der Erfindung
basieren. Ebenso können
alternativ dazu diese Zuweisungen auf anderen Bedarfsschätzungen
für das
Zwischenspeichern des Datenverkehrs durch diese Ports beruhen, sowie
auch auf anderen allgemeinen Verfahren der Zuteilung.
-
Obwohl
Schritt 415 nach der Identifizierung der Prioritätsstufe
P und des gesuchten Ausgabeports I in Schritt 410 gezeigt
wird, muss dieser Schritt nicht notwendigerweise an dieser Stelle
durchgeführt werden.
Es ist ebenso möglich,
eine solche Zuweisungsinformation periodisch zu aktualisieren, beispielsweise
dann, wenn die virtuellen Verbindungen durch den Knoten 110 hergestellt
wurden oder wenn bestehende virtuelle Verbindungen aufgelöst wurden.
Entsprechend kann der Schritt 415 vor, nach oder gleichzeitig
mit den anderen Schritten des Verfahrens 400 durchgeführt werden.
-
Nach
der Bestimmung der vorläufigen
Speicherzuweisungen in Schritt 415 wird die Größe des Speicherplatzes
L, die für
das eingehende Paket notwendig ist, in Schritt 420 bestimmt.
Der für
das eingehende Paket erforderliche Speicherplatz L entspricht typischerweise
der Länge
der Informationsbits des Paketes. Wenn ein System Pakete mit einer
festen Länge
L verwendet, kann Schritt 420 gemäß der Erfindung aus dem Verfahren 400 ausgelassen
werden.
-
Nun
bestimmt das Verfahren 400 in Schritt 425, ob
der vorläufig
zugewiesene Speicherplatz BI für das gesuchte
Ausgabeport I auf Basis des Speicherplatzes L, der für das eingehende
Paket erforderlich ist, unterlastet oder überlastet ist. Die vorläufige Zuteilung
wird als unterlastet interpretiert, wenn der Speicherplatz L, der
für das
eingehende Paket erforderlich ist, in Kombination mit dem Speicherplatz,
der Pakete enthält,
die zur Übermittlung
durch das Ausgabeport I bestimmt sind, den vorläufigen Speicherplatz BI, der dem Port in Schritt 415 zugewiesen
wurde, nicht überschreitet.
Umgekehrt wird die vorläufige Zuteilung
als überlastet
eingestuft, wenn der Speicherplatz L, der für das eingehende Paket in Kombination
mit dem Speicherplatz, der die Pakete enthält, die zur Übermittlung
durch das Ausgabeport I bestimmt sind, den vorläufigen Speicherplatz BI überschreitet.
-
Eine
Größe des Speichers
R, die reserviert und für
das eingehende Pakete nicht verwendet werden sollte, wird dann in
Schritt 430 auf Basis des Zustandes der Unterlastung oder Überlastung
aus Schritt 425 bestimmt, sowie auch auf Basis der Prioritätsstufe
des eingehenden Paketes, welche im Zuge von Schritt 410 bestimmt
wurde. Der reservierte Speicher R ist die Größe des verfügbaren Speichers, die für das Zwischenspeichern
aktueller und/oder zukünftig
empfangener Pakete für
andere Ausgabeports oder Prioritätsstufen
als das Port I oder die Prioritätsstufe
des aktuellen eingehenden Paketes, das gerade bewertet wird, reserviert
werden sollte. Die reservierte Speichergröße R sollte so ausgewählt werden,
dass sie die Anforderungen des Zwischenspeichers für die anderen
Ports, die unterlastet sind, schützt,
so dass in dem Fall, dass diese Ports aktiver werden und einen Zwischenspeicher
bis zu ihrer vorläufigen
Zuweisung anfordern, solch ein Speicherplatz in Kürze verfügbar ist.
-
Der
spezifische Wert für
R sollte so ausgewählt
sein, dass er die Zuweisung und das Zwischenspeichern einer großen Anzahl
von Paketen, die für entsprechende
Ports mit hohem Datenverkehr bestimmt sind, zulässt, wobei im Wesentlichen
gewährleistet
wird, dass die Zuweisung von Paketen an Ports mit geringerem Datenverkehr
oberhalb eines zulässigen
Niveaus nicht zurückgewiesen
wird. Typischerweise sollte der Wert der reservierten Speichergröße R bei
einer Überlastung
der Speicherzuweisung für
das Port I größer sein
als bei einer Unterlastung der vorläufigen Speicherzuweisung. Auf
eine ähnliche
weise sollte der Wert der reservierten Speichergröße R für ein eingehendes
Paket mit einer niedrigeren Prioritätsstufe größer sein als für ein Paket
mit einer höheren
Prioritätsstufe.
Ebenso kann es von Vorteil sein, für ein eingehendes Paket mit
der höchsten
Priorität
eine reservierte Speichergröße R zu
verwenden, die allein oder in Kombination mit dem Zustand der Unterlastung
gleich Null ist.
-
Zahlreiche
Verfahren können
angewendet werden, um die Werte zu bestimmen, die für die reservierte
Speichergröße R gemäß der Erfindung
für die
Bereitstellung einer erhöhten
Kapazität
für das Zwischenspeichern
von Datenpaketen verwendet werden können, wobei der Grad der Dienstansprüche für die hergestellten
virtuellen Verbindungen beibehalten wird. Solche Verfahren umfassen
zum Beispiel die Verwendung von empirisch festgelegten feststehenden
Werten oder die Verwendung von Modellen zur Bestimmung des wertes
R auf Basis des Ausmaßes
der Überlastung
oder der Unterlastung des zugewiesenen Speichers. Die Auswahl des
nummerischen Wertes für
die reservierte Zwischenspeichergröße R kann ebenso vorteilhaft
eine gleichbleibend steigende Funktion auf Basis des Ausmaßes der
Unterlastung eines bestimmten Ausgabeports des eingehenden Paketes
sein. Ein exemplarisches Verfahren zur Bestimmung des Wertes R wird
im Folgenden ausführlicher
beschrieben.
-
Nachdem
die reservierte Speichergröße R in Schritt 430 bestimmt
wurde, bestimmt das Verfahren dann die Größe des gemeinsamen Speicherplatzes BPACK, die für die Verwendung durch das
eingehende Paket in Schritt 435 verfügbar ist. Der verfügbare Speicherplatz
BPACK ist der gesamte gemeinsame Speicherplatz
B minus des reservierten Speicherplatzes R minus des sich in Benutzung
befindlichen Speicherplatzes BIU, der im
gemeinsamen Speicher in diesem Moment Pakete enthält, die
zur Übermittlung durch
die Ports (BPACK = B – R – BIU)
bestimmt sind. Wenn in Schritt 440 nun der für das eingehende
Paket L erforderliche Speicherplatz geringer oder gleich dem verfügbaren Speicher
BPACK ist, schreitet das Verfahren 400 zu
Schritt 445, bei dem das eingehende Paket zugewiesen und
im Zwischenspeicher 240 zum Zweck der späteren Übermittlung
durch das jeweilige Port I gespeichert wird. Ansonsten schreitet das
Verfahren 400 zu Schritt 450 und das eingehende
Paket wird am Knoten 110 nicht zugelassen. Schließlich bereitet
sich das Verfahren 400 in Schritt 455 vor, weitere
Pakete durch Zurückkehren
zu Schritt 405 zu empfangen.
-
Bei
diesem Ausführungsbeispiel
werden die Schritte des Verfahrens 400 in einer bestimmten
Reihenfolge aufgezeigt, um die Darstellung zu vereinfachen, es sollte
jedoch klar sein, dass diese Schritte gemäß der Erfindung auch in anderen
Abfolgen oder gleichzeitig miteinander durchgeführt werden können. Des
Weiteren und obwohl sich diese Ausführungsform auf die Bestimmung
des reservierten Speicherplatzes R stützt, der auf dem Zustand der Unterlastung
oder Überlastung
des vorläufigen
Speichers beruht, der dem Ausgabeport I zugewiesen wurde, sowie
auf der Prioritätsstufe
des eingehenden Paketes, ist es möglich, den reservierten Speicherplatz
R gemäß der Erfindung
lediglich auf Basis des Zustandes der Unterlastung oder Überlastung
zu bestimmen.
-
Da
die Erfindung demzufolge den im gemeinsamen Zwi schenspeicher verfügbaren Speicherplatz untersucht
sowie auch den Platz, der für
das Zwischenspeichern von Paketen für das entsprechende Ausgabeport,
das Pakete zulässt,
verfügbar
ist, kann im Wesentlichen eine relativ hohe Kapazität für die Übermittlung
der Pakete zwischen den Knoten erreicht werden, ohne einen unverhältnismäßig großen Speicherplatz
des gemeinsamen Zwischenspeichers an Pakete zuzuweisen, die einem
bestimmten Ausgabeport oder einer bestimmten Prioritätsstufe
zugedacht sind, was auf Kosten anderer Pakettypen gehen würde.
-
Ein
am Knoten 110 eingehendes Paket kann auf vorteilhafte Weise
durch das Verfahren 300 empfangen werden, das durch einen
Netzwerkprozessor (nicht gezeigt), der mit jeden Knoten des Netzwerkes verbunden
ist, ausgeführt
wird. Bei einem solchen zentralisierten System verfügt der Netzwerkprozessor über relativ
genaue Informationen zur aktuellen Stausituation an jedem Knoten,
da der Netzwerkprozessor die Verwendung des Zwischenspeichers in Bezug
auf die hergestellte Verbindung und das Aufkommen des Datenverkehrs
an den Verbindungen, die mit jedem Knoten verbunden sind, überwacht.
Alternativ dazu kann der Vorgang der Zuweisung des Verfahrens 300 lokal
oder in einer dezentralisierten Weise durchgeführt werden. Dezentralisierte
Systeme neigen dazu, gegenüber
Fehlern toleranter zu sein, da nicht ein einzelnes Netzwerkelement
alle Routing-Entscheidungen trifft. Dezentralisierte Systeme tendieren
jedoch dazu, Routing-Entscheidungen eher anhand des vollständigen und
aktuellen Zustandes der Stausituation an den Knoten im Netzwerk
zu bestimmen als auf Basis periodisch aktualisierter Informationen.
-
Die
reservierte Speichergröße R für die Anwendung
in Schritt 430 aus 4 kann in
einer solchen Weise bestimmt werden, dass für den Fall, dass der vorläufig zugewiesene
Speicher für
ein bestimmtes Port als unterlastet bestimmt wird, eine reservierte
Speichergröße R im
Bereich von beispielsweise 0 bis 0,02B auf Basis der Priorität des Datenpaketes verwendet
werden kann.
-
Ferner
kann für
den Fall, dass sich herausstellt, dass der vorläufig zugeteilte Speicher für das bestimmte
Port überlastet
ist, die folgende Gleichung verwendet werden, um den Wert R zu bestimmen.
wobei f[ ] eine Funktion
ist, i eine Indexreferenz für das
Port und U die gesamten unterlasteten Ports zu einem bestimmten
Zeitpunkt darstellt. Die Gleichung
ist eine relative Messung
des Ausmaßes
der Unterlastung der Ports i in der Menge U und stellt entsprechend
das Ausmaß der
Unterlastung des Knotens dar. Es ist für die Funktion f[ ] von Vorteil,
wenn sich diese langsam verändert
und gleichbleibend im Hinblick auf
ansteigt, wie beispielsweise
logarithmische Funktionen, die LOG [ ] umfassen.
-
Ebenso
kann eine Anordnung verwendet werden, die einen von mehreren festgelegten
Werten im Zustand der Überlastung
auswählt,
wie zum Beispiel R
1, R
2 und
R
3 für
die reservierte Speichergröße R. Zum
Beispiel ist R = R
1, wenn
relativ groß ist, wie
zum Beispiel in einer Größe von mehr
als 80 % des vorläufig
zugewiesenen Speichers für
die unterlasteten Ports
;oder gleich R
2,
wenn
relativ moderat ist, wie
zum Beispiel im Bereich von 20 % bis 80 % für
oder gleich R
3,
wenn
relativ klein ist, wie zum
Beispiel in der Größe von weniger
als 20 % für
. Bei einer solchen Anordnung
ist es wichtig, dass die Werte des reservierten Speichers in Bezug
auf R folgendes Größenverhältnis aufweisen:
R
1 > R
2 > R
3. Exemplarische Werte für R
1,
R
2 und R
3 sind 0,1B, 0,05B
und entsprechend 0,025B. Der Wert R kann im Zustand der Überlastung
ebenso eine Konstante sein, wobei diese typischerweise in einem
Bereich von 0,1 % bis 5 % des gesamten Speicherplatzes B liegen
kann.
-
Obwohl
verschiedene Ausführungsformen der
Erfindung oben ausführlich
beschrieben wurden, können
zahlreiche Modifikationen hergestellt werden, ohne dass man den
hier dargestellten Anwendungsbereich verlässt. All diese Modifikationen
gehören
zum Anwendungsbereich der folgenden Ansprüche. So ist es zum Beispiel
möglich,
andere Verfahren für
die Bestimmung der reservierten Speichergröße R gemäß der Erfindung anzuwenden,
darunter auch feste Werte, je nachdem, ob der vorläufig zugewiesene
Speicher für
das jeweilige Port unterlastet oder überlastet ist, oder ob solche
Werte periodisch oder auf Anfrage, basierend auf dem Ausmaß, wie sehr
der vorläufig
zugewiesene Speicher überlastet oder
unterlastet ist, bestimmt werden können.