-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft einen Datenvermittlungsknoten in einem Kommunikationsnetz
und insbesondere ein Verfahren und ein System zum Erfassen und Steuern
von Überlastung
in einer mehrtorigen Vermittlungsstelle mit gemeinsamem Speicher
für ein
ATM-Netz.
-
Hintergrund
-
Asynchronous
Transfer Mode (ATM) ist als bevorzugtes Transportprotokoll in breitbandigen
integrierten Dienstnetzen in weitem Gebrauch. Die ATM-Zelle von
fester Länge
ist besonders geeignet für
Multimedia-Anwendungen einschließlich Sprach-, Video- und Datenübertragung.
Der transparente Transport von Verkehr bestehender lokaler Netze
(LAN) per ATM wirft jedoch das Problem der Durchgangsleistung auf.
Ein Maß für eine solche
Leistung ist der erreichbare Durchsatz oder die Menge von erfolgreich
zwischen kommunizierenden Endpunkten während der Dauer der Verbindung übertragenen
Paketen. Das andere Leistungsmaß ist die
Fairness gegenüber
Benutzern des Dienstes. In Überlastungsperioden,
wenn der Eingangsverkehr die Systemkapazität überschreitet, wenden die Vermittlungsstellen
ein Überlastungssteuerschema
an. Das Ziel eines Überlastungssteuerschemas
ist, das Netzwerk zu schützen
und dabei den Benutzern zu ermöglichen,
den gewünschten
Leistungspegel für
ihre Anwendungen zu erreichen. Wenn ein Überlastungssteuerschema in
einer Vermittlungsstelle angewendet wird, ist es wichtig, sicherzustellen,
dass es alle konkurrierenden ATM-Verbindungen fair behandelt. Mit
anderen Worten sollten Verbindungen, die ihren fairen Anteil an
den Betriebsmitteln der Vermittlungsstelle (Puffer und Bandbreite) über schreiten,
zuerst betroffen sein. Es ist wichtig, dass den Verbindungen ermöglicht wird,
ihren fairen Anteil an Puffern und Bandbreite des Vermittlers zu
nutzen.
-
Ein
Beispiel eines ATM-Vermittler-Überlastungssteuermechanismus
wird als Early Packet Discard (EPD) bezeichnet. Sobald eine Vermittlungsstelle
einen Überlastungszustand
erreicht, beginnt die Vermittlungsstelle, vollständige Pakete – im Gegensatz
zu einzelnen Zellen – zu
verwerfen, bis die Überlastung
der Vermittlungsstelle behoben ist. EPD verhindert Pufferüberläufe und
die Beförderung
von Teilpaketen und spart dadurch wertvolle Netzbetriebsmittel.
Teilpakete werden, wenn sie vom Netz übertragen werden, vom Empfänger verworfen,
und im Allgemeinen wird eine Neuübertragung
angefordert. Die Anwendung des EPD-Überlastungssteuermechanismus
oder eines beliebigen anderen Überlastungssteuermechanismus
auf eine ATM-Vermittlungsstelle mit dedizierten Puffern an den Ausgangswarteschlangen
ist relativ einfach. Viele Vermittlungsstellenarchitekturen verwenden
jedoch einen gemeinsamen Speicher für eine effizientere Puffernutzung
durch die konkurrierenden Verbindungen, um das variierende statistische
Verhalten der Verbindungen auszunutzen. Bei diesem Typ von Vermittlungsstellenarchitektur
wirft die Anwendung von EPD oder einem beliebigen anderen Überlastungssteuermechanismus
das Problem der Fairness gegenüber
den konkurrierenden Verbindungen bei Aufrechterhaltung eines hohen
Auslastungsgrades der Ausgangsanschlüsse auf. Die Hauptschwierigkeit
liegt in der Tatsache, dass Ausgangsanschlusswarteschlangen den
gleichen Speicherplatz (den zusammengelegten Pufferpool) gemeinsam
nutzen. Jeder Ausgangsanschluss kann momentan mehr als den Bruchteil
des gemeinsamen Speichers nutzen, der ihm zugewiesen wäre, wenn
der Speicher gleichmäßig unter
allen Ausgangsanschlüssen
aufgeteilt wäre.
-
WO
97 43869 offenbart ein Verfahren zum Verwalten von Überlastung
eines gemeinsamen Pufferbetriebsmittels, das von einer Anzahl von
Warteschlangen in einer Vermittlungsstelle gemeinsam genutzt wird. Eine
Schwelle wird für
jede Warteschlange eingerichtet. Außerdem wird die Gesamtnutzung
des Puffers überwacht.
Wenn die Pufferausnutzung zunimmt, werden die Schwellen für jede Warteschlange
dynamisch angepasst. Die Anpassung basiert auf der Gesamtnutzung
des Puffers.
-
Auf
diese Weise kann eine lokale Überlastung
oder eine globale Überlastung
erfasst werden. Eine globale Überlastung
führt zu
einer Änderung
in der lokalen Schwelle. Ein Überlastungssteuermittel
wird aktiviert bei einem Belegungswert, der höher als diese Schwelle ist.
Sowohl die lokale als auch die globale Überlastungsüberwachung sind zusammengelegt
in einer zusammengesetzten Schwelle, die ein Überlastungssteuermittel auslöst.
-
Ein
Hauptnachteil dieses Zusammenlegungsansatzes ist, dass eine globale Überlastung
alle Warteschlangen behindert und so keine Fairness zwischen konkurrierenden
Nutzern der Warteschlangen garantieren kann.
-
Kurzbeschreibung
der Erfindung
-
Diese
Erfindung schlägt
einen einfachen und effizienten Algorithmus zum Erfassen einer drohenden Überlastung
in einem Vermittler mit gemeinsamem Speicher und zur Anwendung eines Überlastungssteuermechanismus
(zum Beispiel EPD) nur auf diejenigen Warteschlangen vor, die Verbindungen
haben, die ihren fairen Anteil an den Betriebsmitteln überschreiten
und daher für
die Überlastung
des Vermittlers verantwortlich sind. Die Erfassung der Überlastung
basiert auf Warteschlangentiefenüberwachung.
Der vorgeschlagene Algorithmus ist leicht schaltungsmäßig implementierbar.
Er kann in Verbindung mit einem beliebigen Überlastungssteuermechanismus
verwendet werden. EPD wird in dieser Beschreibung als ein Beispiel
verwendet, um die Wirkungsweise des vorgeschlagenen Überlastungsverwaltungsschemas
zu veranschaulichen.
-
Dementsprechend
wird gemäß einem
ersten Aspekt der vorliegenden Erfindung ein Überlastungsverwaltungssystem
für eine
mehrtorige Vermittlungsstelle mit gemeinsamem Speicher in einem
Vermittlungsknoten eines Kommunikationsnetzwerkes vorgeschlagen,
wobei das System umfasst: einen Pool von freien Puffern in dem gemeinsamen
Speicher zur Verwendung durch logische Warteschlangen von Puffern
zum Speichern von empfangenem, auf Übertragung an einen von mehreren
Ausgangsanschlüssen
wartendem Datenverkehr; lokale Nutzungsmessmittel zum Messen der
Anzahl der von jeder dieser logischen Warteschlangen genutzten freien
Puffer; globale Nutzungsmessmittel zum Messen der Gesamtzahl der
von allen logischen Warteschlangen genutzten freien Puffer; lokale Überlastungssteuermittel
zum Begrenzen von an einer der logischen Warteschlangen eintreffendem
Verkehr, wenn das lokale Nutzungsmessmittel anzeigt, dass die Puffernutzung
für diese
eine der logischen Warteschlangen eine vorgegebene Warteschlangenschwelle übersteigt;
und globale Überlastungssteuermittel
zum Begrenzen von an einer der logischen Warteschlangen eintreffenden
Verkehr, wenn das globale Nutzungsmessmittel anzeigt, dass die Gesamtnutzung
des Pufferpools eine vorgegebene globale Schwelle überschreitet
und das lokale Nutzungsmessmittel anzeigt, dass die Puffernutzung
durch diese eine der logischen Warteschlangen eine vorgegebene anteilige
Schwelle übersteigt.
-
In
einer bevorzugten Ausgestaltung ist das Kommunikationsnetzwerk ein
ATM-Netzwerk zum Transportieren von ATM-Zellen oder Paketen von
ATM-Zellen zwischen Endnutzern.
-
Bei
dieser Ausgestaltung wird die faire Warteschlangenschwelle festgelegt
durch Finden des Produktes der Puffergröße und der Pufferschwelle und
Dividieren des Produktes durch die Anzahl von Ausgangsanschlusswarteschlangen.
-
Ferner
wird bei dieser Ausgestaltung die Ausführung des Überlastungsverwaltungsmechanismus
entweder durch das Ankunftsereignis von Paketen oder Zellen ausgelöst, oder
sie ist ein Hintergrundprozess, der mit einer vordefinierten, konfigurierbaren
Häufigkeit
abläuft.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Verwalten von Überlastung
in einer mehrtorigen Vermittlungsstelle mit gemeinsamem Speicher,
die in einem Knoten eines Kommunikationsnetzwerkes enthalten ist,
vorgeschlagen, wobei das Verfahren umfasst: Bereitstellen von logischen
Warteschlagen zum Speichern von an der Vermittlungsstelle empfangenem
Datenverkehr, bevor er an einen aus einer Mehrzahl von Ausgangsanschlüssen übertragen
wird, wobei die logischen Warteschlangen Puffer in dem gemeinsamen
Speicher gemeinsam nutzen;
Messen einer Funktion der lokalen
Nutzung von Puffern durch eine der logischen Warteschlangen;
Messen
einer Funktion der globalen Nutzung von Puffern durch alle logischen.
Warteschlangen;
Begrenzen von an einer der logischen Warteschlangen
eintreffendem Verkehr, wenn die lokale Nutzungsfunktion für die Warteschlange
eine vorgegebene lokale Schwelle übersteigt; und Begrenzen von
an einer der logischen Warteschlangen eintreffendem Verkehr, wenn
die globale Nutzungsfunktion eine vorgegebene globale Schwelle übersteigt
und die lokale Nutzungsfunktion dieser Warteschlange eine vorgegebene
anteilige Schwelle übersteigt.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung wird nun genauer mit Bezug auf die beigefügten Zeichnungen
beschrieben. Es zeigen:
-
1 ein
vereinfachtes Diagramm einer Vermittlungsstelle mit Ausgangswarteschlangen
mit gemeinsam genutzter Speicherarchitektur;
-
2 einen
Netzwerkaufbau für
eine Systemsimulation;
-
3a eine
Beschreibung auf hoher Ebene des vorgeschlagenen Überlastungsverwaltungsschemas in
Flussdiagrammform;
-
3b ein
Flussdiagramm des globalen Überlastungsüberwachungsprozess
gemäß der Erfindung; und
-
3c ein
Flussdiagramm des lokalen Überlastungsüberwachungsprozess
gemäß der Erfindung.
-
Detaillierte
Beschreibung der Erfindung
-
Ein
vereinfachtes Diagramm einer Ausgangswarteschlangen-Vermittlungsstelle
mit gemeinsam genutzter Speicherarchitektur ist in 1 gezeigt.
Der gemeinsame Speicher 12 ist in logische Warteschlangen 14 organisiert,
eine für
jeden Ausgangsanschluss 16. Die Vermittlungsstelle hat
N Ausgangsanschlüsse,
und jeder Anschluss hat eine Warteschlange mit einer maximalen Tiefe
von Max_Queue_Size. Die maximale Warteschlangentiefe ist ein Prozentsatz
der Größe des gemeinsamen
Speicherpools, Shared_Memory_Size. Man beachte, dass Max_Queue_Size
höher als
Shared_Memory_Size/N, das heißt
als der faire Anteil der Warteschlange am Zellenspeicherpool, gesetzt
ist, um die Speicherressource effizient zu nutzen.
-
Das
vorgeschlagene Überlastungsverwaltungsschema
identifiziert zwei Niveaus der Überlastungsüberwachung
in einer mehrtorigen Vermittlungsstelle mit gemeinsamer Nutzung:
lokale Überlastungsüberwachung
und globale Überlastungsüberwachung.
Es existieren somit zwei Niveaus der Überlastungserfassung. Das erste
trifft auf, wenn eine einzelne Ausgangswarteschlange ihre Überlastungsschwelle
erreicht. Dieses Niveau wird auch als lokale Überlastung bezeichnet. Die
Ausgangswarteschlangen-Überlastungsschwelle Queue_Threshold
ist ein Prozentsatz der maximalen Tiefe dieser Warteschlange Max_Queue_Size.
Das zweite Niveau, als globale Überlastung
bezeichnet, tritt auf, wenn der gemeinsam benutzte Puffer seine Überlastungsschwelle
erreicht. Die Überlastungsschwelle
des gemeinsamen Speichers, Global_Threshold, ist ein Prozentsatz
der gemeinsamen Speichergröße. Man
beachte, dass diese zwei Niveaus der Überlastungserfassung sich nicht
gegenseitig ausschließen.
Mit anderen Worten könnte
einer oder mehrere Ausgangsanschlüsse Überlastung erreichen, während der
gemeinsame Speicherpool dadurch überlastet
oder auch nicht überlastet werden
kann. Umgekehrt können,
wenn der gemeinsame Speicherpool seine Überlastungsschwelle erreicht, die
einzelnen Ausgangswarteschlangen ihre Überlastungsschwelle erreicht
oder auch nicht erreicht haben. Diese Überlastungszustände sind
ein Ergebnis der Tatsache, dass die Ausgangswarteschlangen eine
maximale Tiefe erreichen dürfen,
die größer als
ihr fairer Anteil am gemeinsamen Speicherpool ist.
-
Die
mit der resultierenden Kombination von Überlastungszuständen verknüpften zwei
Niveaus der Überlastungserfassung
erfordern einen Algorithmus, der ein Überlaufen sowohl der einzelnen
Ausgangsanschlusswarteschlangen als auch des zusammengelegten Puffers
verhindert und dabei ein akzeptables Niveau von Fairness gegenüber allen
konkurrierenden Verbindungen gewährleistet.
Der vorgeschlagene Überlastungsverwaltungsalgorithmus
ist eine einfach implementierbare Lösung für diese Anforderungen.
-
Es
folgt eine Beschreibung auf hoher Ebene des vorgeschlagenen Überlastungsverwaltungsmechanismus.
Wenn eine Ausgangswarteschlange 14 ihre Überlastungsschwelle
Queue_Threshold erreicht, wird Überlastungssteuerung
nur auf die für
diese Warteschlange bestimmten Verbindungen angewandt. Wenn der gemeinsame
Puffer seine Überlastungsschwelle
Global_Threshold erreicht, wird der Überlastungssteuermechanismus
an den Ausgangswarteschlangen ausgelöst, die ihren fairen Anteil
am Speicherpool überschritten haben.
Eine Ausgangswarteschlange Qi überschreitet
ihren fairen Anteil, wenn ihre Länge
Output_Qlength(Qi) höher
ist als Fair_Share_Threshold = (Global-Threshold *Shared_Memory_Size)/N).
Die Arbeitsweise des Überlastungsverwaltungsalgorithmus
wird in dem folgenden Pseudocode beschrieben. Die Flussdiagramme sind
in 3.a bis 3.c gegeben.
Man beachte, dass der Algorithmus als ein Hintergrundprozess laufen
oder durch Zellen- oder Paketeintreffereignisse ausgelöst werden
kann.
-
Das Überlastungsverwaltungsschema
kann auch als Hintergrundprozess mit einer vorgegebenen Häufigkeit
laufen. Es ist dann von Paket- oder Zelleneintreffereignissen entkoppelt.
-
-
-
Wenn
das lokale Überlastungsstatusflag
einer gegebenen Ausgangswarteschlange gesetzt ist, wird der Überlastungssteuermechanismus
auf die für
diese Warteschlange bestimmten Verbindungen angewandt.
-
Das
Folgende ist eine Bewertung der Leistungsfähigkeit des vorgeschlagenen Überlastungsverwaltungsschemas
bei Verwendung von EPD als Überlastungssteuermechanismus.
Die Simulation vergleicht die Leistung mit der des gleichen Systems,
wenn das Überlastungsverwaltungsschema
gesperrt ist. In diesem letzteren Fall werden Zellen unterschiedslos
verworfen, sobald der gemeinsame Speicher oder die Ausgangswarteschlangen
voll sind. Der Aufbau des simulierten Netzwerkes ist in 2 gezeigt.
-
Das
Folgende ist eine Zusammenfassung der für die Simulation verwendeten
Konfigurationsparameter:
- • Vermittlungsstellengröße: 16x8
(M = 16, N = 8).
- • Ausgangsverbindungen:
Sonet OC-3c (149,76 Mbps verfügbar
für ATM-Nutzlast).
- • Gemeinsam
genutzte Speichergröße: Shared_Memory_Size
= 4000 Zellen.
- • Maximale
Warteschlangentiefe der Ausgangswarteschlange: Max_Queue_Size =
2000 Zellen (50 % des gemeinsam genutzten Pools).
- • Globale
EPD-Schwelle: Global_Threshold = 3600 Zellen (90% des gemeinsam
genutzten Pools).
- • EPD-Schwelle
für Ausgangsanschlusswarteschlange:
Queue_Threshold = 1800 Zellen (90 % der maximalen. Warteschlangentiefe).
- • Typ
der Quellen: gierige TCP-Quelle. Der TCP-Simulator ist eine Entwicklung
des REAL TCP-Simulators aus dem Nest Simulation Package von Columbia
und basiert auf den 4.3 BSD Tahoe-Algorithmen, veröffentlicht
1986. Diese Version von TCP ist gegenwärtig die verbreitetste Implementierung
von TCP.
- • Anzahl
von Quellen: Es gibt 128 TCP-Quellen. Jede Quelle ist verknüpft mit
einer einzelnen virtuellen ATM-Verbindung.
Jede Vermittlungsstellen-Eingangsverbindung multiplext 8 virtuelle
ATM-Verbindungen.
- • Vermittlungsstellenlast:
Zwei Lastszenarien werden betrachtet. Zunächst wird eine ausgeglichene
Belastung der Vermittlungsstelle simuliert. In diesem Fall sind
virtuelle Verbindungen gleichmäßig auf
die N Ausgangsanschlüsse
der Vermittlungsstelle mit gemeinsam genutztem Speicher verteilt.
Zum Beispiel empfängt
jeder Ausgangsanschluss 16 virtuelle Verbindungen.
-
Das
zweite Szenario führt
eine unausgeglichene Belastung der Vermittlungsstelle durch. Ausgangsanschlüsse 0 und
1 erhalten jeweils 40 Verbindungen, während die restlichen 6 Anschlüsse jeweils
8 Verbindungen erhalten.
-
Die
zwei Lastszenarien stellen Extreme bei der Vermittlungsstellenüberlastung
dar, so dass der vorgeschlagene Überlastungserfassungsalgorithmus
gründlich
geprüft
wird.
- • Anzahl
Empfänger:
Es gibt 8 TCP-Empfänger
oder Senken (einen an jedem Ausgangsanschluss der Vermittlungsstelle).
- • Netzwerkausbreitungsverzögerung:
0,1 ms auf einem Weg (30 km).
-
Die
zur Bewertung des vorgeschlagenen Algorithmus verwendeten Leistungszahlen
werden im Folgenden definiert.
-
Goodput
ist definiert als das Verhältnis
des erreichten.
-
Durchsatzes
zum maximal erreichbaren Durchsatz. Der Durchsatz ist definiert
als die Rate von vom TCP-Empfänger
empfangenen guten Daten. Gute Daten bezieht sich auf die Menge von
erfolgreich vom TCP-Empfänger
empfangenen Paketen. Vom TCP-Stack
ausgelöste
Neuübertragungen
oder am Empfänger empfangene
duplizierte Pakete werden nicht als gute Daten gezählt.
-
Der
maximal erreichbare Durchsatz ist begrenzt durch den Flaschenhals
im Netzwerk oder an der Quelle. Normalerweise wird der Goodput angegeben
als Prozentsatz der Flaschenhalsverbindung und spiegelt die Effizienz
bei der Nutzung der Verbindung wider.
-
Wenn
eine Vermittlungsstelle mit N Ausgangsanschlüssen gegeben ist, wird der
Gesamt-Goodput wie folgt bewertet:
wobei N die Anzahl von Flaschenhalsverbindungen
(in diesem Fall N = 8) ist, Good_Data die Gesamtmenge in Datenbits
ist, die erfolgreich übertragenen
Paketen entspricht (Neuübertragungen
oder duplizierte Pakete werden nicht berücksichtigt), T der Messzeitraum
(in diesem Fall die Simulationszeit) ist, Pkt_Size die Größe des TCP-Paketes
in Byte ist und Line_Rate die maximale Übertragungsrate der Flaschenhalsverbindung
zwischen den zwei Vermittlungsstellen ist. [x] ist die kleinste
Zahl, die größer oder
gleich x ist.
-
Eines
der Ziele eines Überlastungssteuermechanismus
ist, gegenüber
allen Nutzern eines Netzwerkes fair zu sein. Fairness gewährleistet,
dass keine Schaltungen willkürlich
diskriminiert werden und kein Satz von Schaltungen willkürlich begünstigt wird,
obwohl Ressourcen nach einer definierten Strategie zugeteilt werden
können.
Ein Fairnessindex-Ausdruck wird bewertet, um den Anteil der verfügbaren Bandbreite
unter den Benutzern zu bewerten:
wobei n die Anzahl von Verbindungen
(oder Quellen) ist, die sich die Netzwerkbetriebsmittel teilen,
und x
i das Verhältnis zwischen dem gegenwärtigen Durchsatz
einer Verbindung und dem optimalen Durchsatz ist. Der optimale Durchsatz
ist der faire Anteil an der verfügbaren
Bandbreite für
die betrachtete Verbindung.
-
Die
unter Verwendung der obigen Konfigurationsparameter erhaltenen Ergebnisse
sind in Tabellen 1 bis 4 für
die Goodput-Zahl und die Gesamtfairness angegeben. Die Ergebnisse
bei Sperrung des Überlastungsverwaltungs-(CM)-Schemas
(ÜV) sind
zu Vergleichszwecken gezeigt.
Tabelle
1: Goodput-Zahlen für
Aufbau mit ausgeglichener Last.
Tabelle
2: Gesamtfairness für
Aufbau mit ausgeglichener Last.
Tabelle
3: Goodput-Zahlen für
Aufbau mit unausgeglichener Last
Tabelle
4: Fairness-Zahlen für
Aufbau mit unausgeglichener Last
-
Die
Ergebnisse zeigen eine wesentliche Verbesserung der Leistung der
Vermittlungsstelle, wenn der vorgeschlagene Überlastungsverwaltungsalgorithmus
in Verbindung mit EPD verwendet wird. Der Goodput ist dort bis zu
95 % verbessert, wenn der Überlastungsverwaltungsalgorithmus
freigegeben ist. Die Gesamt-Fairness ist signifikant verbessert
und wird sowohl bei ausgeglichener als auch bei unausgeglichener
Last der Vermittlungsstelle auf einem sehr hohen Niveau gehalten.
Der vorgeschlagene Algorithmus zeigt eine konsistente Robustheit
für alle
TCP-Paketgrößen.
-
Zwar
ist eine spezielle Ausgestaltung der Erfindung dargestellt und beschrieben
worden, doch ist dem Fachmann klar, dass zahlreiche Änderungen
an dem Grundkonzept vorgenommen werden können. Es versteht sich daher,
dass solche Änderungen
in den Umfang der Erfindung wie durch die nachfolgenden Ansprüche definiert,
fallen.