-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft allgemein Computernetzwerke und insbesondere
Verfahren und Vorrichtungen zum Managen einer Computernetzwerküberlastung.
-
Hintergrund
der Erfindung
-
In
der Technik sind verschiedene Verfahren zum Managen einer Computernetzwerküberlastung bekannt.
Jedoch haben viele Sachverständige
erkannt, dass Paketvermittlungsprotokolle, beispielsweise TCP, über Zellenvermittlungsnetzwerken,
z.B. ATM-Netzwerken, trotz der Anwendung einer Vielfalt von Überlastungsmanagementtechniken
schlechter funktionieren, als sie über Paketvermittlungsnetzwerken
funktionieren. Der effektive Durchsatz oder „goodput" (nämlich
der Durchsatz, der für
das Protokoll einer höheren
Ebene „gut" ist) von TCP über ATM kann
sehr niedrig sein, falls TCP-Paketzellen von überlasteten ATM-Vermittlungseinrichtungen, über die
die TCP-Verbindungen aufgebaut sind, fallengelassen bzw. entfernt
(„gedroppt") werden. Das tritt aufgrund
der Tatsache auf, dass, obwohl der Verlust einer einzigen Zelle
das gesamte Paket beschädigt, die
verbleibenden Zellen, die zu dem gleichen beschädigten Paket gehören, nicht
notwendigerweise entfernt werden. Diese Zellen verbrauchen weiterhin Netzwerkressourcen,
beispielsweise Bandbreite und Pufferplatz, was unnötigerweise
die Wahrscheinlichkeit erhöht,
dass andere Zellen entfernt werden könnten.
-
Um
dieses Problem zu lösen
und um die Anzahl der vollständig
gelieferten Pakete durch Vermeiden der Übertragung nutzloser Zellen
zu maximieren, wurden zwei Steuerungsmechanismen vorgeschlagen,
nämlich
PPD (Partial Packet Discard) oder Entfernen von Teilpaketen (was
auch als TPD (Tail Packet Discard) oder „Entfernen von Endpaketen" bezeichnet wird)
und EPD (Early Packet Discard) oder „Frühes Entfernen von Paketen". Bei PPD werden, wenn
immer eine Zelle von einer Vermittlungseinrichtung aufgrund einer Überlastung
oder wegen eines anderen Grundes entfernt wurde, die nachfolgenden Zellen,
die zum gleichen Paket der höheren
Schicht gehören,
außer
der letzten Zelle, absichtlich entfernt. Die letzte Zelle wird in
einem ATM-Netzwerk benötigt, das
die ATM-Anpassungsschicht 5 (AAL-5, ATM adaptation layer 5) unterstützt, wo
sie verwendet wird, um ein Paket von dem nächsten über den gleichen virtuellen
Kanal (VC) zu trennen. Der PPD-Mechanismus spart folglich die Bandbreite
und den Pufferplatz, der andernfalls zum Leiten der verbleibenden Zellen des
Pakets erforderlich ist. Er kann jedoch nicht die Bandbreite und
den Pufferplatz sparen, der bereits für die „führenden" Zellen verwendet wurde, die bereits
gepuffert und gesendet sein könnten.
EPD ist dazu ausgelegt, zu vermeiden, dass die führenden Zellen eines Pakets,
in dem eine Zelle entfernt ist, gepuffert und gesendet werden. Das
wird durchgeführt, indem
ein Pufferschwellenwert gesetzt wird und der Schwellenwert überprüft wird,
um zu bestimmen, ob in dem Puffer Platz für das gesamte Paket vorhanden ist
oder nicht, bevor irgendwelche Paketzellen gepuffert werden. Falls
der Schwellenwert überschritten ist,
werden alle Zellen in dem Paket, außer der letzten Zelle, entfernt.
-
Ein
TCP-Paketverlust kann von der Sendeeinrichtung durch Detektieren
eines Timeouts oder durch Empfangen von drei duplizierten Bestätigungen
(ACKs, acknowledgements) detektiert werden. Die Sendeeinrichtung
unterhält
(oder führt)
einen Schätzwert
der maximalen Umlaufzeit der Verbindung. Wenn eine ACK für ein Paket
nicht innerhalb der maximalen Umlaufzeit angekommen ist, detektiert
die Sendeeinrichtung den Paketverlust und sendet das verlorene Paket
erneut. Die Zeit, während
der die Sendeeinrichtung auf die Ankunft einer ACK eines verlorenen
Paketes wartet, wird als Timeout bezeichnet. Die meisten kommerziellen
TCP-Implementierungen setzen den Timeout derart, dass er zumindest
zwei bis drei Sekunden beträgt.
Da sich typische Datenübertragungszeiten
in einem Bereich von einigen zehn Millisekunden bis mehreren Sekunden bewegen,
führt sogar
ein einziger Timeout während der
Lebensdauer einer TCP-Verbindung zu einer erheblichen Leistungsverschlechterung.
-
Es
wurde ein Verfahren zum schnellen erneuten Senden entwickelt, um
Timeouts zu vermeiden. Da die Empfangseinrichtung die höchste Sequenznummer
eines sich in der richtigen Reihenfolge befindenden Pakets, das
sie soweit empfangen hat, bestätigt,
wenn sie ein sich nicht in der richtigen Reihenfolge befindendes
Paket (aufgrund des Verlustes eines vorangegangenen Paketes) empfängt, erzeugt sie
eine ACK für
die höchste
Sequenznummer in der richtigen Reihenfolge. Eine derartige ACK wird
als eine duplizierte ACK bezeichnet. Wenn die Sendeeinrichtung drei
duplizierte ACKen empfängt,
betrachtet die Sendeeinrichtung bei dem Verfahren des schnellen
erneuten Sendens das Paket, das mit der Sequenznummer direkt nach
der Nummer beginnt, die durch die duplizierten ACKen bestätigt wurde,
als verloren. Folglich wird das vermutlich fehlende Paket sofort
erneut gesendet.
-
Das
schnelle erneute Senden hilft, die Wiederbereitschaftsverzögerung nach
einem Verlust eines einzigen Paketes zu minimieren, falls die TCP-Sendefenstergröße groß genug
ist (d.h. größer als
vier Pakete). Falls jedoch bei einer gegebenen TCP- Verbindung zwei oder
mehr Pakete, die zu dem gleichen Fenster gehören, verloren gehen, kann die Sendeeinrichtung üblicherweise
nur nach dem ersten Paketverlust unter Verwendung des schnellen
erneuten Sendens eine Wiederbereitschaft erlangen, wohingegen die
Wiederbereitschaft nach anderen Verlusten im Allgemeinen erst nach
einem Timeout eintritt. Folglich hat bei einer gegebenen TCP-Verbindung
eine Reihe von Verlusten einen sehr negativen Einfluss auf den Durchsatz
der Verbindung. Obwohl PPD und EPD Netzwerkressourcen für ein gegebenes
Paket, bei dem eine Zelle entfernt wird, einsparen können, bieten
sie keinen Mechanismus zum Maximieren des Netzwerkdurchsatzes durch
Reduzieren der Anzahl von in einem gegebenen TCP-Sendefenster für eine gegebene
TCP-Verbindung verlorenen Paketen.
-
Relevante
Verfahren, die zum Managen einer Computernetzwerküberlastung
nützlich
sind, sind in den folgenden Dokumenten diskutiert:
- G. Armitage
und K. Adams, „Packet
Reassembly During Cell Loss",
IEEE Network Mag., Band 7, No. 5, Sept. 1993, pp. 26–34;
- A. Romanow und S. Floyd, "Dynamics
of TCP Traffic over ATM Networks",
IEEE Journal on Selected Areas in Communication, May 1995;
- J. Turner, "Maintaining
High Throughput During Overload in ATM Switches", Proceedings of IEEE Infocom '96, San Francisco,
March 1996; und
- Li Hongqing, "Performance
of TCP over UBR service in ATM networks with Per-VC Early Packet
Discard Schemes",
IEEE 1996.
-
Die
Offenbarungen der vorstehenden Veröffentlichungen und der darin
zitierten Veröffentlichungen
werden hiermit per Bezugnahme aufgenommen. Die Offenbarung aller
in dieser Beschreibung erwähnten
Veröffentlichungen
und aller darin zitierten Veröffentlichungen
werden hiermit per Bezugnahme aufgenommen.
-
Kurzer Abriss
der Erfindung
-
Die
vorliegende Erfindung zielt darauf ab, neue Verfahren und neue Vorrichtungen
zum Managen einer Netzwerküberlastung
bereitzustellen, die die Nachteile des Standes der Technik, wie
zuvor diskutiert, überwinden.
Es wird ein Mechanismus, der hierin als BPD (Balanced Packet Discard)
oder „symmetrisches
bzw. balanciertes Entfernen von Paketen" bezeichnet wird, zum Maximieren des
Gesamtdurchsatzes meh rerer TCP- oder anderer paketvermittelter Verbindungen,
die einen gemeinsamen Pufferplatz in einem ATM- oder einer anderen
Zellenvermittlungseinrichtung („Switch") gemeinsam verwenden, bereitgestellt.
Dies wird durch Minimieren der Wahrscheinlichkeit, dass eine TCP-Verbindung
einen Timeout erfährt,
erreicht. Insbesondere wird der betroffenen Verbindung eine Priorität gegenüber anderen
Verbindung, die den gleichen Pufferplatz gemeinsam verwenden, gegeben,
falls ein Paket irgendeiner Verbindung, beispielsweise in Folge
dessen, dass der EPD- oder PPD-Mechanismus
aktiviert ist, entfernt wird. Der Zweck dieser Priorität ist es,
nachfolgende Paketverluste durch die gleiche Verbindung durch Entfernen
von Paketen anderer Verbindungen zu vermeiden, sogar falls ein derartiges
Entfernen sonst nicht bei den PPD- oder EPD-Mechanismen erforderlich
wäre. BPD
dehnt folglich die Auswirkungen einer Netzwerküberlastung gleichmäßiger über mehrere Verbindungen
aus, um die Wahrscheinlichkeiten für die Wiederbereitschaft einer
jeden einzelnen Verbindung zu verbessern.
-
Es
wird folglich gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ein Verfahren zum Managen einer Überlastung
auf einem Netzwerk bereitgestellt, wobei das Verfahren umfasst:
Einrichten eines Pufferschwellenwertes, der einen ersten und einen
zweiten Pufferbereich begrenzt, Führen eines Zurückweisungsindikators
für jede
einer Mehrzahl von Netzwerkverbindungen und Verhindern der Pufferung
einer Übertragung
in Richtung einer ersten der Mehrzahl von Netzwerkverbindungen,
falls der Pufferschwellenwert überschritten wird,
wobei der Zurückweisungsindikator
der ersten der Mehrzahl von Netzwerkverbindungen anzeigt, dass keine Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, seit der Schwellenwert zuletzt überschritten wurde, und der
Zurückweisungsindikator
einer beliebigen anderen der Mehrzahl von Netzwerkverbindungen anzeigt,
dass eine Übertragung
in Richtung der anderen der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, seit der Schwellenwert zuletzt überschritten wurde.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das Verfahren ferner ein Zurückweisen
der Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das Verfahren ferner noch das Setzen
des Zurückweisungsindikators
der ersten der Mehrzahl von Netzwerkverbindungen, um anzuzeigen,
dass die Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurückgewiesen
wurde.
-
Des
Weiteren umfasst das Verfahren gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung ferner das Zählen der durchgeführten Anzahl
von Übertragungspufferungen
für die
erste der Mehrzahl von Netzwerkverbindungen nach dem Setzen des
Zurückweisungsindikators
der ersten der Mehrzahl von Netzwerkverbindungen und das Setzen
des Zurückweisungsindikators
der ersten der Mehrzahl von Netzwerkverbindungen, um anzuzeigen,
dass keine Übertragung
zurückgewiesen
wurde, sobald der Zählwert
gleich einem vorbestimmten Wert ist.
-
Zusätzlich umfasst
das Verfahren gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung das Setzen eines beliebigen der Zurückweisungsindikatoren,
um anzuzeigen, dass keine Übertragung
zurückgewiesen
wurde, wobei das Zurücksetzen
auftritt, wenn der Schwellenwert nicht mehr überschritten wird.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird auch ein Verfahren zum Managen einer Überlastung
auf einem Netzwerk bereitgestellt, wobei das Verfahren umfasst:
Führen einer
maximalen Pufferzuweisung für
jede einer Mehrzahl von Netzwerkverbindungen, Führen eines Zurückweisungsindikators
für jede
der Mehrzahl von Netzwerkverbindungen, Erhöhen der maximalen Pufferzuweisung
für eine
erste der Mehrzahl von Netzwerkverbindungen und Verringern einer
maximalen Pufferzuweisung für
zumindest eine zweite der Mehrzahl von Netzwerkverbindungen, wobei
das Erhöhen und
das Verringern stattfindet, wenn der Zurückweisungsindikator der ersten
der Mehrzahl von Netzwerkverbindungen anzeigt, dass eine Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, und der Zurückweisungsindikator
der zweiten der Mehrzahl von Netzwerkverbindungen anzeigt, dass
keine Übertragung
in Richtung der zweiten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung ist ferner eine Summe der Erhöhung im
Wesentlichen proportional einer Summe der Verringerung.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung umfasst das Verfahren ferner noch das
Einrichten eines Pufferschwellenwertes, der einen ersten und einen
zweiten Pufferbereich für
jede der Mehrzahl von Netzwerkverbindungen begrenzt, das Führen einer
aktuellen Pufferzuweisung für
jede der Mehrzahl von Netzwerkverbindungen und das Durchführen des
Erhöhungs-
und Verringerungsschrittes, wenn die aktuelle Pufferzuweisung der
ersten der Mehrzahl von Netzwerkverbindungen den Pufferschwellenwert
der ersten der Mehrzahl von Netzwerkverbindungen überschreitet.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das Verfahren zusätzlich das Zurückweisen
einer Übertragung
in Richtung der ersten Mehrzahl von Netzwerkverbindungen.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das Verfahren außerdem das Setzen des ersten
Zurückweisungsindikators,
um anzuzeigen, dass die Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurückgewiesen
wurde.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das Verfahren ferner das Setzen eines
beliebigen der Zurückweisungsindikatoren,
um anzuzeigen, dass keine Übertragung
zurückgewiesen
wurde, wobei das Zurücksetzen
stattfindet, wenn alle Zurückweisungsindikatoren
anzeigen, dass eine Übertragung
zurückgewiesen
wurde.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird auch eine Netzwerküberlastungsmanagementvorrichtung
bereitgestellt, die eine Netzwerkvermittlungseinrichtung umfasst, die
mit einer Mehrzahl von Netzwerkverbindungen verbindbar ist und einen
Puffer mit einem ersten und einem zweiten Pufferbereich, einen Schwellenwertindikator
zum Überwachen
eines Schwellenwertes zwischen dem ersten und dem zweiten Pufferbereich und
einen Zurückweisungsindikator
für jede
der Mehrzahl von Netzwerkverbindungen umfasst, wobei die Netzwerkvermittlungseinrichtung
(der „Switch") im Betrieb das
Puffern einer Übertragung
in Richtung einer ersten der Mehrzahl von Netzwerkverbindungen verhindert,
falls der Schwellenwertindikator anzeigt, dass der Schwellenwert überschritten
ist, der Zurückweisungsindikator
der ersten der Mehrzahl von Netzwerkverbindungen anzeigt, dass keine Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, seit der Schwellenwert zuletzt überschritten wurde, und der
Zurückweisungsindikator
einer beliebigen anderen der Mehrzahl von Netzwerkverbindungen anzeigt,
dass eine Übertragung
in Richtung der anderen der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, seit der Schwellenwert zuletzt überschritten wurde.
-
Des
Weiteren weist gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung ferner
im Betrieb die Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurück.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung setzt ferner noch die Netzwerkvermittlungseinrichtung
im Betrieb den Zurückweisungsindikator
der ersten der Mehrzahl von Netzwerkverbindungen, um anzuzeigen, dass
die Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurückgewiesen
wurde.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung zählt
außerdem
die Netzwerkvermittlungseinrichtung ferner im Betrieb die durchgeführte Anzahl
der Übertragungspufferungen für die erste
der Mehrzahl von Netzwerkverbindungen nach dem Setzen des Zurückweisungsindikators der
ersten der Mehrzahl von Netzwerkverbindungen und setzt im Betrieb
den Zurückweisungsindikator der
ersten der Mehrzahl von Netzwerkverbindungen, um anzuzeigen, dass
keine Übertragung
zurückgewiesen
wurde, sobald der Zählwert
gleich einem vorbestimmten Wert ist.
-
Zusätzlich setzt
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung ferner
im Betrieb einen beliebigen der Zurückweisungsindikatoren, um anzuzeigen,
dass keine Übertragung
zurückgewiesen
wurde, wobei das Rücksetzen
stattfindet, wenn der Schwellenwert nicht mehr überschritten wird.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung gibt es auch eine Netzwerküberlastungsmanagementvorrichtung,
die eine Netzwerkvermittlungseinrichtung umfasst, die mit einer
Mehrzahl von Netzwerkverbindungen verbindbar ist und einen Puffer
für jede
der Mehrzahl von Netzwerkverbindungen, wobei jede der Mehrzahl von Netzwerkverbindungen
eine maximale Pufferzuweisung hat, und einen Zurückweisungsindikator für jede der
Mehrzahl von Netzwerkverbindungen umfasst, wobei die Netzwerkvermittlungseinrichtung
im Betrieb die maximale Pufferzuweisung für eine erste der Mehrzahl von
Netzwerkverbindungen erhöht
und die maximale Pufferzuweisung für zumindest eine zweite der
Mehrzahl von Netzwerkverbindungen verringert, wobei das Erhöhen und
das Verringern stattfindet, wenn der Zurückweisungsindikator der ersten der
Mehrzahl von Netzwerkverbindungen anzeigt, dass eine Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde, und der Zurückweisungsindikator der
zweiten der Mehrzahl von Netzwerkverbindungen anzeigt, dass keine Übertragung
in Richtung der zweiten der Mehrzahl von Netzwerkverbindungen zuvor
zurückgewiesen
wurde.
-
Des
Weiteren erhöht
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung ferner
im Betrieb die maximale Pufferzuweisung für die erste der Mehrzahl von
Netzwerkverbindungen in einer Weise, die im Wesentlichen proportional
einer Summe der Verringerung der maximalen Pufferzuweisung der zumindest
zweiten der Mehrzahl von Netzwerkverbindungen ist.
-
Die
Netzwerkvermittlungseinrichtung umfasst ferner noch gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ferner einen Schwellenwertindikator zum Überwachen
eines Schwellenwertes zwischen einem ersten und einem zweiten Pufferbereich
für jeden
der Puffer, wobei jede der Mehrzahl von Netzwerkverbindungen eine
aktuelle Pufferzuweisung hat, und einen Zurückweisungsindikator für jede der
Mehrzahl von Netzwerkverbindungen, wobei die Netzwerkvermittlungseinrichtung
zusätzlich
im Betrieb eine beliebige der maximalen Pufferzuweisungen anpasst,
wenn der Schwellenwertindikator anzeigt, dass die aktuelle Pufferzuweisung
der ersten der Mehrzahl von Netzwerkverbindungen den Schwellenwert
der ersten der Mehrzahl von Netzwerkverbindungen überschreitet.
-
Zusätzlich weist
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung zusätzlich im
Betrieb eine Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurück.
-
Außerdem setzt
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung zusätzlich im
Betrieb den ersten Zurückweisungsindikator,
um anzuzeigen, dass die Übertragung
in Richtung der ersten der Mehrzahl von Netzwerkverbindungen zurückgewiesen
wurde.
-
Ferner
setzt gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung die Netzwerkvermittlungseinrichtung zusätzlich im
Betrieb einen beliebigen der Zurückweisungsindikatoren,
um anzuzeigen, dass keine Übertragung
zurückgewiesen
wurde, wobei das Zurücksetzen
stattfindet, wenn alle Zurückweisungsindikatoren
anzeigen, dass eine Übertragung
zurückgewiesen
wurde.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung ist das Netzwerk ferner noch ein Paketvermittlungsnetzwerk
und die Übertragungen
dadurch umfassen Pakete.
-
Kurze Beschreibung
der Zeichnungen
-
Die
vorliegende Erfindung wird aus der folgenden detaillierten Beschreibung
verständlich
und würdigbar,
die zusammen mit den Zeichnungen zu betrachten ist, wobei:
-
1 ein
vereinfachtes Blockdiagramm eines Zellenvermittlungsnetzwerks ist,
das ein Paketvermittlungsprotokoll unterstützt und das gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung aufgebaut ist und demgemäß betrieben wird;
-
2 ein
vereinfachtes Blockdiagramm einer bevorzugten Implementierung des
Puffers 20 von 1 ist;
-
3 eine
vereinfachte Flussdiagrammdarstellung eines bevorzugten Verfahrens
zum Managen einer Netzwerküberlastung
am Puffer 20 der 1 und 2 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ist;
-
4 ein
vereinfachtes Blockdiagramm einer weiteren bevorzugten Implementierung
des Puffers 20 von 1 ist;
-
5 eine
vereinfachte Flussdiagrammdarstellung eines bevorzugten Verfahrens
zum Managen einer Netzwerküberlastung
am Puffer 20 der 1 und 4 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ist; und
-
6A und 6B zusammen
betrachtet vereinfachte Flussdiagrammdarstellungen eines bevorzugten
Verfahrens zum Managen einer Netzwerküberlastung am Puffer 20 der 1 und 2 gemäß einer
weiteren bevorzugten Ausführungsform der
vorliegenden Erfindung sind.
-
Detaillierte
Beschreibung bevorzugter Ausführungsformen
-
Es
wird jetzt auf 1 Bezug genommen, die ein vereinfachtes
Blockdiagramm eines Netzwerks, beispielsweise eines Zellenvermittlungsnetzwerks
ist, das ein Paketvermittlungsprotokoll unterstützt und das gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung aufgebaut ist und demgemäß betrieben
wird. Es ist eine Netzwerkvermittlungseinrichtung (Netzwerk-„Switch") 10, typischerweise
eine ATM-Vermittlungseinrichtung,
gezeigt, die eine oder mehrere physikalische Netzwerkver bindungen 12 aufweist,
wie bekannt ist. Die Vermittlungseinrichtung 10 ist vorzugsweise
in der Lage, Netzwerkübertragungen
zu empfangen, die einen paketvermittelten Verkehr, beispielsweise
TCP-Pakete 14, von einer oder mehreren Paketquellen umfassen,
und einen zellenvermittelten Netzwerkverkehr, beispielsweise ATM-Zellen 16, über eine
oder mehrere logische Netzwerkverbindungen, die hierin als virtuelle
Verbindungen (virtual circuit) bezeichnet werden, beispielsweise
VC1 und VC2, einem
oder mehreren Empfängern,
beispielsweise R1 und R2,
bereitzustellen. Die Vermittlungseinrichtung 10 umfasst vorzugsweise
eine Verarbeitungs- und Logik-Einheit 18 zum Managen eines
Puffers 20, der ein einziger Puffer oder ein Puffer-Pool
sein kann. Der Puffer 20 wird typischerweise von einem
oder mehreren virtuellen Verbindungen, beispielsweise VC1 und VC2, gemeinsam
verwendet. Obwohl eine einzige Vermittlungseinrichtung 10 gezeigt
ist, versteht es sich, dass mehrere Vermittlungseinrichtungen, Router
und Server, die Paketvermittlungsprotokolle und Zellenvermittlungsprotokolle,
wie hierin beschrieben, unterstützen,
verwendet werden können,
wie in der Technik bekannt ist.
-
Es
wird jetzt zusätzlich
auf 2 Bezug genommen, die ein vereinfachtes Blockdiagramm
einer bevorzugten Implementierung des Puffers 20 von 1 ist,
der gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung aufgebaut ist und demgemäß betrieben
wird. Der Puffer 20 umfasst typischerweise einen sicheren
Bereich 22 und einem BPD-Bereich 24. Ein Bereich,
wie er hierin bezeichnet wird, bezeichnet typischerweise einen Speicherbereich,
wie bekannt ist. Der Puffer 20 kann zusätzlich einen EPD-Bereich 26 umfassen.
Typischerweise wird ein BPD-Schwellenwert 28 bereitgestellt,
der den BPD-Bereich und sichere Bereiche abgrenzt. Auf ähnliche
Weise wird typischerweise ein EPD-Schwellenwert 30 bereitgestellt,
der den BPD-Bereich und den EPD-Bereich abgrenzt. Es ist ein spezielles
Merkmal der Erfindung, dass die Pufferschwellenwerte festgelegt
sein können
oder dynamisch eingestellt werden können, um optimale Durchsatzniveaus
bereitzustellen. Der Puffer 20 ist typischerweise durch
eine untere Speicheradresse 32 und eine obere Speicheradresse 34 begrenzt,
wie bekannt ist.
-
Jetzt
wird zusätzlich
auf 3 Bezug genommen, die eine vereinfachte Flussdiagrammdarstellung
eines bevorzugten Verfahrens zum Managen einer Netzwerküberlastung
am Puffer 20 von 1 und 2 ist,
der gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung aufgebaut ist und demgemäß betrieben
wird. Es versteht sich, dass die Schritte des Verfahrens von 3 und anderer
hierin beschriebenen Verfahren nicht notwendigerweise in einer bestimmten
Reihenfolge ausgeführt
werden müssen
und dass tatsächlich
aus Implementierungsgründen
eine spezielle Implementierung des Verfahrens in einer unterschiedlichen
Reihenfolge als eine andere spezielle Implementierung ausgeführt werden
kann. Bei dem Verfahren von 3 wird typischerweise
ein Zurückweisungsindikator,
der hierin als „b" (für „symmetrisch"; „balanced") bezeichnet wird,
für alle
virtuellen Verbindungen, beispielsweise VC1 und
VC2, geführt
und dazu verwendet, den Paketzurückweisungszustand
für jede
virtuelle Verbindung anzuzeigen. Eine Zelle wird für eine virtuelle
Verbindung VCx, typischerweise als Teil
eines TCP-Paketes, an der Vermittlungseinrichtung 10 empfangen
(Schritt 100). Falls die Zelle zu einem beschädigten Paket
oder zu einem Paket, das entfernt wird, gehört (Schritt 110),
dann wird die Zelle verworfen (Schritt 120). Falls die
Zelle nicht zu einem beschädigten
Paket oder zu einem Paket, das entfernt wird, gehört, wird
der Puffer 20 überprüft, um zu erkennen,
ob der BPD-Schwellenwert 28 überschritten wird (Schritt 130).
Falls der BPD-Schwellenwert 28 nicht überschritten
wird, dann wird festgelegt, dass sich der Puffer in dem sicheren
Bereich 22 befindet. Falls sich der Puffer in dem sicheren
Bereich befindet, wird b für
jede virtuelle Verbindung zurückgesetzt,
um anzuzeigen, dass keine Pakete für die virtuelle Verbindung
zurückgewiesen
wurden, typischerweise indem b = 0 gesetzt wird (Schritt 140). Falls
der BPD-Schwellenwert 28 überschritten wird (Schritt 130),
wird der Puffer 20 überprüft, um zu
erkennen, ob der EPD-Schwellenwert 30 überschritten wird
(Schritt 150). Falls der EPD-Schwellenwert 30 überschritten
wird, wird festgelegt, das sich der Puffer in dem EPD-Bereich 26 befindet.
Falls sich der Puffer in dem EPD-Bereich befindet, wird, falls die Zelle
ein neues Paket beginnt (Schritt 160), die Zelle verworfen
und b für
VCx gesetzt, um anzuzeigen, dass das Paket,
zu dem die Zelle gehört,
zu verwerfen ist, typischerweise indem b = 1 gesetzt wird (Schritt 170).
Falls die Zelle kein neues Paket beginnt (Schritt 160),
kann die Zelle gepuffert werden (Schritt 210). Falls nach
dem Schritt 150 der EPD-Schwellenwert 30 nicht überschritten
wird, wird festgelegt, dass sich der Puffer in dem BPD-Bereich 24 befindet.
Falls die Zelle ein neues Paket beginnt (Schritt 180),
wird b für
die aktuelle virtuelle Verbindung VCx und
für die anderen
virtuellen Verbindungen geprüft.
Falls b = 0 für
VCx und b = 1 für eine beliebige andere virtuelle Verbindung
gilt (Schritt 190), wird die Zelle verworfen und b wird
für VCx gesetzt, um anzuzeigen, dass das Paket,
zu dem die Zelle gehört,
zu verwerfen ist, typischerweise indem b = 1 gesetzt wird (Schritt 200). Andernfalls
wird die Zelle in den Puffer 20 gelegt (Schritt 210).
Die gepufferten Zellen werden nachfolgend gemäß bekannten ATM-Vermittlungsprotokollen
und ATM-Prozeduren gesendet.
-
Es
wird jetzt auf 4 Bezug genommen, die ein vereinfachtes
Blockdiagramm einer weiteren bevorzugten Implementierung des Puffers 20 von 1 ist.
Es ist gezeigt, dass der Puffer 20 Puffern 40 und 42 zugewiesen
ist, die separate Puffer für virtuelle
Verbindungen VC3 bzw. VC4 darstellen,
obwohl der Puffer 20 einer beliebigen Anzahl von virtuellen Verbindungen
zugewiesen sein kann. Jeder Puffer 40 und 42 besitzt
vorzugsweise eine aktuelle Pufferzuweisung (CBA, current buffer
allocation), die die Anzahl von Puffern anzeigt, die gegenwärtig von
VC3 bzw. VC4 verwendet
werden, einen oberen Schwellenwert (UT), der anzeigt, wann EPD für die jeweilige virtuelle
Verbindung aktiviert werden sollte, und eine maximale Pufferzuweisung
(MBA, maximum buffer allocation), die die maximale Anzahl von Puffern
anzeigt, die der jeweiligen virtuellen Verbindung zugewiesen sein
können,
und die als MBA3 bzw. MBA4 dargestellt
ist. MBA3 und MBA4 können angepasst werden,
um neue maximale Pufferzuweisungen MBA3 und
MBA4 zu erreichen, beispielsweise gemäß dem hierin
nachstehend und unter Bezugnahme auf 5 beschriebenen
Verfahren.
-
Es
wird jetzt zusätzlich
auf 5 Bezug genommen, die eine vereinfachte Flussdiagrammdarstellung
eines bevorzugten Verfahrens zum Managen einer Netzwerküberlastung
am Puffer 20 von 1 und 4 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ist. Bei dem Verfahren von 5 wird
typischerweise, wie bei dem hierin vorstehenden Verfahren von 3,
ein Zurückweisungsindikator „b" für alle virtuellen
Verbindungen, beispielsweise VC3 und VC4, geführt
und verwendet, um den Paketzurückweisungszustand
für jede
virtuelle Verbindung anzuzeigen. Eine Zelle wird für eine virtuelle
Verbindung VCx typischerweise als Teil eines
TCP-Paketes an der Vermittlungseinrichtung 10 empfangen
(Schritt 300). Falls die Zelle zu einem beschädigten Paket
oder zu einem Paket gehört,
das entfernt wird (Schritt 310), wird die Zelle verworfen
(Schritt 360). Falls die Zelle nicht zu einem beschädigten Paket
oder zu einem Paket gehört,
das entfernt wird, wird die Zelle überprüft, um zu erkennen, ob sie
ein neues Paket beginnt (Schritt 330). Falls die Zelle
kein neues Paket beginnt, kann sie gepuffert werden (Schritt 340).
Falls die Zelle ein neues Paket beginnt, wird die CBA von VCx gegenüber
dem UT von VCx geprüft (Schritt 350).
Falls CBA ≥ UT
gilt, wird die Zelle verworfen und b wird für VCx auf
b = 1 gesetzt, falls es nicht bereits gesetzt wurde (Schritt 320).
Falls CBA < UT
gilt, kann die Zelle gepuffert werden (Schritt 340). Nach
dem Schritt 320 kann, falls b = 0 für eine beliebige andere VCn gilt (Schritt 370), die MBA für die VCx erhöht
werden, typischerweise im Zusammenhang mit der Verringerung der MBA
einer jeden VCn, bei der b = 0 gilt (Schritt 380). Falls
die gesamte CBA für
alle VCen einen vorbestimmten Schwellenwert überschreitet (Schritt 390) oder
falls b = 1 für
jede VCn gilt (Schritt 370), kann
b auf b = 0 für
alle VCen zurückgesetzt
werden und ihre MBAen können
auch typischerweise gleichartig oder andersartig auf vorbestimmte
Rücksetzniveaus
angepasst werden (Schritt 400).
-
Es
wird jetzt zusätzlich
auf 6A und 6B Bezug
genommen, die zusammen betrachtet vereinfachte Flussdiagrammdarstellungen
eines bevorzugten Verfahrens zum Managen einer Netzwerküberlastung
am Puffer 20 der 1 und 2 sind, der
gemäß einer
anderen bevorzugten Ausführungsform
der vorliegenden Erfindung aufgebaut ist und demgemäß betrieben
wird. Schritte 500 bis 600 entsprechen nahezu
identisch den Schritten 100 bis 200 von 3,
außer
dem, was jetzt dargelegt wird. In Schritten 570 und 600 wird
zusätzlich
zum Verwerfen der Zelle und dem Setzen von b = 1 für VCx, wie in den Schritten 170 und 200 von 3,
ein Zähler
für VCx auf einen vorbestimmten Wert n gesetzt.
Nach dem Schritt 590 wird die Zurückweisungsindikator „b" für die virtuelle
Verbindung VCx geprüft (Schritt 610). Falls
b nicht gleich 1 ist, wird die Zelle gepuffert (Schritt 620).
Falls b = 1 gilt, wird der Zähler
für VCx um 1 verringert (Schritt 630).
Falls der Zähler
größer als
0 ist (Schritt 640), wird die Zelle gepuffert (Schritt 620).
Falls der Zähler
gleich 0 ist, wird b für
VCx auf 0 gesetzt (Schritt 650)
und die Zelle wird gepuffert (Schritt 620).
-
Es
versteht sich, dass ein beliebiges der hierin vorstehend betriebenen
Verfahren in Computer-Hardware, Computer-Software oder in einer
beliebigen geeigneten Kombination davon unter Verwendung herkömmlicher
Techniken implementiert werden kann.
-
Es
versteht sich, dass verschiedene Merkmale der Erfindung, die zum
Zwecke der Klarheit im Zusammenhang mit separaten Ausführungsformen beschrieben
wurden, auch in Kombination in einer einzigen Ausführungsform
vorgesehen werden können.
Umgekehrt können
verschiedene Merkmale der Erfindung, die der Kürze halber im Zusammenhang mit
einer einzigen Ausführungsform
beschrieben sind, auch separat oder in einer beliebigen geeigneten
Unterkombination vorgesehen werden.
-
Fachleute
verstehen, dass die vorliegende Erfindung nicht auf das beschränkt ist,
was hierin vorstehend speziell gezeigt und beschrieben wurde. Vielmehr
wird der Bereich der vorliegenden Erfindung nur durch die folgenden
Ansprüche
definiert.