-
Die
vorliegende Erfindung bezieht sich auf Routinganordnungen für Datenübertragungsnetzwerke
und im Besonderen auf Routinganordnungen, die eine Fähigkeit
dazu aufweisen, Entscheidungen zu treffen.
-
Nachrichtenübermittlungsnetzwerke,
in denen Daten in Datenpaketen von einer Quelle auf einen Zielort übertragen
werden, wobei jedes Datenpaket in einer Reihe von Schritten von
einer Komponente in dem Netzwerk an die Nächsten geschickt wird, bis
es seinen Zielort erreicht, sind gut bekannt. Einige solcher Netzwerke
versuchen, Garantien der Bandbreite und bestimmte Grenzen der Verzögerung zur
Verfügung
zu stellen, die Datenpakete erfahren, und den Anteil von diesen,
die während
Zeiten der Stauung verworfen werden müssen.
-
Ein
Problem in solchen Netzwerken ist, in der Lage zu sein, die Menge
der in das Netzwerk zugelassenen Daten einzuschränken, um einen guten Grad des
gesamten Diensts zur Verfügung
zu stellen. Eine Lösung
für dieses
Problem ist es zu erlauben, dass eine Quelle eine Reihe von Paketen
von Daten nur dann in das Netzwerk einbringt, nachdem eine Anforderung
dieses zu tun, vom Netzwerk (in einem eine "Aufrufannahme" genannten Schritt) akzeptiert worden
ist. In gegenwärtigen
Netzwerken wird die Entscheidung, eine solche Anforderung zu akzeptieren
oder nicht, durchgeführt,
ohne die Fähigkeit
des Netzwerks zu betrachten, tatsächlich durchgehende Anforderungen
zur Verfügung
zu stellen, oder schließt
ein zentralisiertes Verfahren ein, das den gegenwärtigen Satz
der vom Netzwerk akzeptierten Anfragen als Ganzes im Auge behält. Im ersten Fall
können
vom Netzwerk keine Garantien für
den Dienst angeboten werden, nur Versprechungen, einige Datenpakete
relativ besser als andere zu behandeln; während im zweiten Fall das zentralisierte
Verfahren die Aufrufannahmeleistung des Netzwerks einschränkt. In
jedem Fall können
Garantien für
den Dienst in gegenwärtigen
Netzwerken nur unter der Bedingung wesentlicher Unterauslastung
der Netzwerkressourcen gegeben werden, um die Kapazität zur Verwendung
durch Dienste mit garantierter Qualität vor zur Verfügung zu stellen.
-
Wenn
ein Switch in einem Netzwerk bei oder nahe bei seiner vollen Kapazität läuft, verschlechtert
sich die Leistung für
den gesamten Datenverkehr (das heißt der Fluss von Paketen von
Daten, wie zuvor erwähnt), es
sei denn, dass ein Teil des Datenverkehrs bevorzugt behandelt wird.
Traditionell werden Stauungsteuerungsmechanismen eingebracht, um
den Datenverkehr an dem Punkt zu verwalten, an dem eine Warteschlange
an einem Switch beginnt, voll zu werden. Mehr Puffer hinzuzufügen, kann
den Verlust offensichtlich steuern. Es ergibt sich ein Nachteil
daraus, weil die zusätzlichen
Puffer weitere Verzögerungen
einbringen und zu Übertragungswiederholung
von Datenverkehr führen
können
und dies die Stauung dann noch weiter erhöht.
-
Es
wird gegenwärtig
in der akademischen Literatur allgemein verstanden, dass, wie veranschaulicht von
Kleinrock, L., "Queuing
Systems Volume II: Computer Applications", Wiley, New York, 1976 oder Stallings, W., "High-Speed Networks:
TCP/IP and ATM Design Principles",
Prentice Hall, New Jersey, 1998, in dem Maße, wie die Nachfrage an jedem
Switch an Eins herangeht, die durchschnittlichen Warteschlangengröße und die
Verzögerung
ohne Begrenzung wachsen, und dies ist der Fall unabhängig davon,
wie auch immer die Switches verwaltet werden und was auch immer
ihre Konfiguration ist. Traditionell werden Stauungsteuerungsmechanismen,
wie in Jain, R., "Congestion
Control and Traffic Management in ATM Networks: Recent Advances and
A Survey", Computer
Networks and ISDN Systems, vol. 28, Nr. 13, November 1996, Seiten
1723-1738 beschrieben, eingebracht, um den Datenverkehr an dem Punkt
zu verwalten, an dem die Warteschlange an einem Switch beginnt,
voll zu werden. Mehr Puffer hinzuzufügen, kann den Verlust offensichtlich
steuern. Es ergibt sich ein Nachteil daraus, weil die zusätzlichen
Puffer weitere Verzögerungen
einbringen und zu Übertragungswiederholung
von Datenverkehr führen
können
und dies die Stauung dann noch weiter erhöht.
-
Es
gibt eine Notwendigkeit, diese Probleme anzugehen, um in der Lage
zu sein, Übertragungen
mit der Möglichkeit
verbesserter Dienstqualität
zu leiten.
-
Die
Verwendung von Prioritäten
oder dem gewichteten fairen Einreihen (weighted fair queuing) ist
bekannt, wie auch die Verwendung von selektivem Verwerfen, um die
Warteschlangenlänge
einzugrenzen, wie zum Beispiel in McDysan, D. und Spohn, D. "ATM Theory and Application", McGraw Hill, New
York 1998, Seiten 630-632 beschrieben. Es gibt jedoch kein gegenwärtig beschriebenes,
einfaches Verfahren um zu entscheiden, ob man einen Aufruf zulässt und
sowohl seine Anforderungen bezüglich
Verlust wie auch seine Anforderungen bezüglich Verzögerung zu erwägen, um
die Flexibilität
auszunutzen, die von der Kombination von diesen Verfahren angeboten
wird.
-
WO
98/28939 beschreibt ein deterministisches Verfahren, durch das der
Datenverkehr dynamisch an einem Knoten klassifiziert und flussabwärts geliefert
wird. Weitersendungen können
abgebrochen werden auf Grund dessen, dass Toleranzen der Verzögerung überschritten
werden. Mit diesem Mittel wird eine gewisse Anzahl von Datenflüssen mit
einer minimalen Bandbreite garantiert. Jedoch wird nur die Leistung
an einem einzelnen Knoten angesprochen, nicht die durchgehende Leistung.
Weiterhin wird der Datenverkehr von der Anordnung in Klassen eingeordnet,
nicht aufgrund der Entscheidung eines Benutzers.
-
US 5,408,465 beschreibt
eine Anordnung, die weiche deterministische Garantien anbietet,
dass die durchgehende QoS (Quality of Service – Dienstgüte) die meiste Zeit berücksichtigt
wird, und die "Pseudoverkehr" verwendet, um zu
entscheiden, ob sie wirklichen Datenverkehr zulässt.
-
US 5,357,507 beschreibt
eine Anordnung, in der der Zellenverlust der hauptsächliche
QoS Parameter ist und hängt
von zweiten Ableitungen der Merkmale am eingehenden Datenverkehrsstrom
ab. Die Anordnung weist 0 Puffer auf. WO 95/17061 beschreibt eine
Anordnung, in der Zellenverlust der hauptsächliche QoS Parameter ist,
und die Theorie der großen
Abweichungen verwendet.
EP
0 673 138 A beschreibt eine deterministische Anordnung,
in der Zellenverlust der hauptsächliche
QoS Parameter ist.
EP
0 814 632 A beschreibt eine Anordnung, in der Zellenverlust
der hauptsächliche
QoS Parameter ist, und die Einreihen mit strenger Priorität unterstellt.
US 5,881,049 und Äquivalente
beschreiben eine Anordnung, in der Zellenverlust oder Verzögerung der
QoS Parameter ist. Keine dieser Anordnungen erwägt sowohl Verlust als auch
Verzögerung
in ihrer QoS Entscheidungsfindung.
-
EP 0 828 362 A beschreibt
eine Anordnung, die eine zentrale Netzwerksteuereinheit für CAC (Call
Admission Control) verwendet und keine Garantien für die Dauer
einer Verbindung liefert.
-
Entsprechend
einem Aspekt der vorliegenden Erfindung wird eine Routinganordnung
für Routingaufrufe
an einem Knoten in einem Datenpaketübertragungsnetzwerk zur Verfügung gestellt,
wobei jeder Aufruf mit festgelegten Parametern für seinen Verlust und seine
Verzögerung
in dem Netzwerk übertragen
wird, wobei die Routinganordnung umfasst:
Aufrufannahmesteuerungsschaltung
für das
Empfangen einer Aufrufanforderung und für das Lesen:
- (i)
der festgelegten Parameter und jeglicher Werte für Verlust und Verzögerung,
die bereits an vorangegangenen Knoten im Netzwerk aufgetreten sind,
oder
- (ii) der festgelegten Parametern wie modifiziert, um Verlust
und Verzögerung
zu berücksichtigen,
die bereits an vorangegangenen Knoten im Netzwerk aufgetreten sind,
um
in Verbindung mit vorhandenen Aufrufen, die bereits von der Routinganordnung
gehandhabt werden, festzulegen, ob der Aufruf zu akzeptieren oder
zurückzuweisen
ist;
eine Pufferschaltung einschließlich einer Vielzahl von Puffern,
wobei einer oder mehrere von den Puffern dem Aufruf zugewiesen werden,
wenn die Aufrufanforderung akzeptiert worden ist; und
Mittel
zur Übertragung: - (i) der Aufrufanforderung mit modifizierten
Werten für
Verlust und Verzögerung,
oder
- (ii) der Aufrufanforderung mit modifizierten Parametern, um
Verlust und Verzögerung
zu berücksichtigen, die
an diesem und an vorangegangenen Knoten im Netzwerk aufgetreten
sind,
wenn die Aufrufanforderung akzeptiert worden ist,
und für
das Zurückgeben
eines Störungssignals,
wenn die Aufrufanforderung zurückgewiesen
worden ist.
-
Entsprechend
einem weiteren Aspekt stellt die vorliegende Erfindung ein Verfahren
dafür zur
Verfügung,
Datenströme
an einem Knoten in einem Datenpaketübertragungsnetzwerk zu leiten,
wobei jeder Datenstrom mit festgelegten Parametern für seinen
Verlust und seine Verzögerung
im Netzwerk übertragen
wird, wobei das Verfahren umfasst:
das Empfangen einer Datenstromanforderung;
Lesen:
- (i) der festgelegten Parameter und jeglicher
Werte für
Verlust und Verzögerung,
die bereits an vorangegangenen Knoten im Netzwerk aufgetreten sind,
oder
- (ii) der festgelegten Parameter wie modifiziert, um Verlust
und Verzögerung
zu berücksichtigen,
die bereits an vorangegangenen Knoten im Netzwerk aufgetreten sind,
um
dadurch in Verbindung mit vorhandenen Datenströmen, die bereits von der Routinganordnung
gehandhabt werden, festzulegen, ob der Datenstrom zu akzeptieren
oder zurückzuweisen
ist;
Datenspeicherpufferressourcen an den Datenstrom zuzuweisen,
wenn die Datenstromanforderung akzeptiert wird; und
Senden: - (i) der Datenstromanforderung mit modifizierten
Werten für
Verlust und Verzögerung,
oder
- (ii) der Datenstromanforderung mit modifizierten Parametern,
um Verlust und Verzögerung
zu berücksichtigen,
die an diesem und vorangegangenen Knoten im Netzwerk aufgetreten
sind,
wenn die Datenstromanforderung akzeptiert wird,
und für
das Zurückgeben
eines Störungssignals,
wenn die Datenstromanforderung zurückgewiesen worden ist.
-
Vorzugsweise
umfasst die Routinganordnung Mittel für das Wahrnehmen eines Aufrufstörungssignals von
einem anderen Knoten im Netzwerk und für das Freigeben der Puffer,
die es für
diesen Aufruf zugewiesen hatte.
-
In
einem Beispiel, stellt die vorliegende Erfindung ein Knotengerät für den Betrieb
an einem Knoten in einem Datenübertragungsnetzwerk
zur Verfügung,
wobei zwei oder mehr Aufrufe, die Dienstgüteerfordernisse angegeben haben,
durch den Knoten weitergeleitet werden können, wobei der Knoten umfasst:
einen
Eingang für
den Empfang von Daten;
einen Ausgang für das Senden von Daten;
eine
Datenflusseinheit für
das Leiten von an dem Eingang empfangenen Daten an den Ausgang zur Übertragung;
und
eine Datenflusssteuerung zur Steuerung des Betriebs der
Datenflusseinheit, um das Leiten eines Teils der Daten zu verzögern und/oder
zu versagen, um der festgelegten Dienstgüte zu entsprechen.
-
Vorzugsweise
wird die Dienstgüte
spezifiziert durch weniger als drei aus der Gruppe bestehend aus maximaler
Verlustrate, minimaler Verzögerung
und minimalem Durchsatz. Vorzugsweise ist die Datenflusssteuerung
dazu in der Lage, den Betrieb des Knotens und/oder jegliche zugehörige Datenverbindungen
zu modellieren, um ein Unspezifiziertes aus der Gruppe bestehend
aus Verlustrate, Verzögerung
und Durchsatz zu schätzen.
Vorzugsweise ist die Datenflusssteuerung dazu in der Lage, die Wirkung
eines zusätzlichen
Aufrufs zu modellieren, der eine festgelegte Dienstgüte aufweist.
Dieses Modellieren kann verwendet werden, um zu entscheiden, ob
man den Aufruf, zum Beispiel durch den Knoten der bestimmt, ob die
Wirkung wäre,
zu versagen, der festgelegten Dienstgüte zu entsprechen, akzeptiert
oder zurückweist.
Vorzugsweise ist die Datenflusssteuerung dazu in der Lage, die Wirkung
eines zusätzlichen
Aufrufs zu modellieren und eine Nachricht zu erzeugen, die einen
oder mehrere Parameter anzeigt, die die für diesen Aufruf verfügbare Dienstgüte anzeigen.
-
Vorzugsweise
umfasst die Datenflusseinheit Mittel dafür, mindestens zwei Kategorien
von Datenverkehr zu unterscheiden. Vorzugsweise umfasst sie auch
einen Puffer für
das Halten von Datenpaketen vor einer Übertragungswiederholung. Vorzugsweise
umfasst sie auch ein Mittel dafür,
Datenpakete zu verwerfen, die zu einer Kategorie gehören, wenn
die Anzahl von Datenpaketen im Puffer eine Schwelle übersteigt.
Vorzugsweise ist sie ansprechbar, um den Wert der Schwelle zu variieren.
Vorzugsweise umfasst sie auch ein Mittel, um weiterhin mindestens
zwei Klassen des Datenverkehrs zu unterscheiden, von denen jede
den Datenverkehr von einer der oben genannten Kategorien enthalten
kann. Vorzugsweise umfasst sie auch ein Mittel, um die Übertragungswiederholung
von im Puffer gehaltenen Datenpaketen festzulegen, so dass der ersten
Klasse zugeteilte Datenpakete bevorzugt werden gegenüber jenen,
die der zweiten Klasse zugeteilt sind. Vorzugsweise ist sie ansprechbar,
um die Zuordnung von empfangenen Datenpaketen zu den Kategorien
und den Klassen zu variieren.
-
Vorzugsweise
ist die Datenflusssteuerung in der Lage, die Schwelle der Datenflusseinheit
einzustellen. Vorzugsweise ist sie auch in der Lage, die Zuordnung
von empfangenen Datenpaketen zu den Kategorien und den Klassen zu
variieren.
-
In
einem weiteren Beispiel wird eine Routinganordnung für das Routing
von Aufrufen an einem Knoten in einem Datenpaketübertragungsnetzwerk zur Verfügung gestellt,
wobei jeder Aufruf mit festgelegten Parametern für seine akzeptable Verzögerung und
die Wahrscheinlichkeit des Verlusts während der Übertragung in das Netzwerk übertragen
wird, wobei die Routinganordnung umfasst:
Aufrufannahmesteuerungsschaltung
für
- (i) das Empfangen einer Aufrufanforderung,
die Parameter für
die Dienstgüte
umfasst
- (ii) das Modellieren der Dienstgüte für den Aufruf, wenn er durch
diesen Knoten geführt
würde,
- (iii) das Erzeugen von angepassten Parametern für die Dienstgüte durch
Einstellen der empfangenen Parameter für die Dienstgüte, um eine
Reduktion der Dienstgüte
zu berücksichtigen,
wenn der Aufruf durch diesen Knoten weitergeleitet würde,
- (iv) das Zurückweisen
des Aufrufs, wenn die eingestellten Parameter für eine unzulässige Dienstgüte bezeichnend
sind, und
- (v) das Senden der eingestellten Parameter an einen anderen
Knoten im Netzwerk, wenn die eingestellten Parameter für eine akzeptable
Dienstgüte
bezeichnend sind.
-
Die
Parameter für
die Dienstgüte
umfassen vorzugsweise mindestens zwei aus: minimaler Verzögerung,
maximaler Verlustrate und minimalem Durchsatz und/oder Graden der
Variation der Verzögerung,
der Verlustrate oder des Durchsatzes und Extremwerten von wahrscheinlichen
Werten.
-
Entsprechend
einem weiteren Beispiel wird eine Knoteneinheit für den Betrieb
an einem Knoten in einem Datenübertragungsnetzwerk
zur Verfügung
gestellt, wobei zwei oder mehr Aufrufe, die bestimmte Dienstgüteerfordernisse
aufweisen, durch den Knoten weitergeleitet werden können, wobei
der Knoten umfasst:
einen Eingang für das Empfangen von Daten;
einen
Ausgang für
das Senden von Daten; und
eine Datenflusseinheit für das Leiten
von an dem Eingang empfangenen Daten an den Ausgang zur Übertragung;
wobei der Knoten ansprechbar ist durch:
eine Datenflusssteuerung
zur Steuerung des Betriebs der Datenflusseinheit, um das Leiten
eines Teils der Daten zu verzögern
und/oder zu versagen, um der festgelegten Dienstgüte zu entsprechen.
-
Entsprechend
einem weiteren Beispiel wird in einem Netzwerk, das einen oder mehrere
Knoten für
Datenverkehr aufweist, der eine Vielfalt von Erfordernissen aufweist,
ein Mittel zur Verfügung
gestellt, wodurch ein Netzwerkknoten, der begrenzte Ressourcen zugewiesen
hat (im Besonderen die Kapazität
von Netzwerkverbindungen, die er ansteuert, und seine interne Kapazität, um Datenpakete
von Daten für
eine spätere Übertragung
zu halten) entscheiden kann, ob er dazu in der Lage ist, mit einer
Anforderung einverstanden zu sein (ob implizit oder explizit), einen
Datenstrom oder eine Ansammlung von Datenströmen von Daten durch ihn zu unterstützen, die
bestimmte Merkmale von Datenverlust und Verzögerung aufweisen, unter der
Voraussetzung, dass eine Anzahl von anderen Datenströmen oder
eine Ansammlung von Datenströmen
bereits unterstützt
werden, ohne in irgendwelche Interaktionen mit anderen Netzwerkknoten
einzugreifen oder Information über
Datenströme
zu erhalten, die von anderen Knoten im Netzwerk unterstützt werden,
auf solch eine Weise, das die gesamten durchgehenden Anforderungen
des Datenstroms erfüllt
werden können,
dies bedeutet, bestehend aus:
- 1. Innerhalb
des Knotens Information über
jeden Datenstrom von durch diesen hindurch gehenden Daten aufrecht
zu erhalten, im Besonderen des aufgelaufenen Verlusts und der aufgelaufenen
Verzögerung
dieses Datenstroms zwischen seiner Quelle und der entsprechenden
Ausgangsverbindung des Knotens, einschließend dem Verlust und der Verzögerung,
die vom Knoten selbst auferlegt werden, die Netzwerkverbindungsbandbreite
und die intern zugewiesene Pufferkapazität;
- 2. Das Identifizieren einer eingehenden Nachricht als eine Anforderung,
einen neuen Datenstrom von Daten zu unterstützen;
- 3. Von der eingehenden Anforderung den angeforderten maximalen
Verlust und die maximale Verzögerung und
den Verlust und die Verzögerung
zu bestimmen, die bis dahin aufgelaufen sind;
- 4. Einen Parameter anzuwenden, um zu bestimmen, welcher Anteil
des Unterschieds zwischen dem angeforderten maximalen Verlust und
der maximalen Verzögerung
und dem Verlust und der Verzögerung,
die bis dahin aufgelaufen sind, von diesem Knoten hinzugefügt werden
kann, um so an einer Menge von Verlust und Verzögerung anzukommen, die hinzugefügt werden
kann;
- 5. Eine Berechnung auszuführen,
entweder durch Anwendung des beschriebenen Algorithmus oder durch Verweis
auf ein vorab berechnetes Nachschlagen in einer Tabelle, um die
zusätzlichen
Kapazitäten
einzurichten, die notwendig sind, um den zusätzlichen Verlust und die zusätzliche
Verzögerung
zu unterstützen, die
dem Datenstrom auferlegt werden;
- 6. Überprüfen, ob
diese zusätzlichen
Kapazitäten
verfügbar
sind; und
- 7. Wenn sie es sind:
a. die Nachricht zu aktualisieren,
die dazu auffordert, dass der Datenstrom eingerichtet wird, so dass
der aufgelaufene Verlust und die aufgelaufene Verzögerung um
den Verlust und die Verzögerung
erhöht
werden, die vom Multiplexen von Datenströmen auf die Netzwerkverbindung
durch den Knoten auferlegt werden, und senden der Nachricht an die
nächste
Stufe ihres Wegs;
b. Hinzufügen
dieser Information bezüglich
dieses Datenstroms zu der bereits bezüglich anderer Datenströme gehalten,
und
c. Berechnen der optimalen Zuordnung des vollständigen Satzes
von Datenströmen
zu den verfügbaren Ressourcen;
und
- 8. Wenn sie es nicht sind, die Nachricht an ihre Quelle zurückzugeben
die den Datenstrom anfordert, mit einem Hinweis darauf, dass die
Anforderung zurückgewiesen
wird.
-
Der
angeforderte maximalen Verlust und die angeforderte maximale Verzögerung und
der Verlust und die Verzögerung,
die bis dahin für
die Anforderung aufgelaufen sind, können geeignet von der Anforderungsnachricht
extrahiert werden. Der Parameter, um festzulegen, welcher Anteil
des Unterschieds zwischen dem angeforderten maximalen Verlust und
der angeforderten maximalen Verzögerung
und dem Verlust und der Verzögerung,
die so weit aufgelaufen sind, von diesem Knoten hinzugefügt werden
können,
um bei einer Menge von Verlust und Verzögerung anzukommen, die hinzugefügt werden
können,
kann geeignet programmiert werden. Der Parameter, um zu bestimmen,
welcher Anteil des Unterschieds zwischen dem angeforderten maximalen
Verlust und der angeforderten maximalen Verzögerung und dem Verlust und
der Verzögerung,
die so weit aufgelaufen sind, von diesem Knoten hinzugefügt werden
kann, um bei einer Menge von Verlust und Verzögerung anzukommen, die hinzugefügt werden
können,
kann geeignet berechnet werden aus dem Weg, den die Anforderungsnachricht
nimmt. Die Berechnung der optimalen Zuordnung des vollständigen Satzes
von Datenströmen
zu den verfügbaren
Ressourcen kann geeignet ausgeführt
werden, bevor die Anforderung zu dem nächsten Knoten gesandt wird.
Die Berechnung der optimalen Zuordnung des vollständigen Satzes
von Datenströmen
zu den verfügbaren
Ressourcen kann geeignet ausgeführt
werden, nachdem die Anforderung an den nächsten Knoten weitergeleitet
wird. Der Inhalt der Nachschlagetabelle kann geeignet durch Lösen eines bestimmten
Systems von Gleichungen berechnet werden, dass das Betriebsverhalten
des Knotens darstellt. Die Aufrufannahmenachricht enthält geeignet
Information von dem überschüssigen Verlust- und Verzögerungsbudget
des durchgehenden Aufrufs, das der Knoten reduziert, bevor er es
weiterleitet und sein gespeichertes Überschussbudget erhöht zur Verwendung
durch einen anschließenden
Aufruf.
-
Es
wird bevorzugt, dass in einer Anordnung entsprechend der vorliegenden
Erfindung die Größen von Warteschlangen
gesteuert werden können,
um den wirkungsvollen Durchsatz zu maximieren und die Verzögerung zu
reduzieren. Datenpaketverluste können
vorzugsweise gegen den Durchsatz und die Verzögerung abgewogen werden. Das
Netzwerk kann dann vorzugsweise bei voller oder im Wesentlichen
voller Auslastung laufen, was auch immer die Anforderung an dieses
ist, bis zu einer durch die Kapazität des Netzwerks festgelegten
Grenze.
-
Es
wird bevorzugt, dass keine Schritte ergriffen werden, um einen Datenpaketverlust
um jeden Preis zu vermeiden. Jedoch ist der Datenpaketverlust vorzugsweise
ein QoS Parameter, am meisten bevorzugt durch die Spezifikation
einer endlichen, nicht Null betragenden Datenpaketverlustrate. Wenn
die Anordnung mit fast voller Kapazität läuft, wird es bevorzugt, dass
erwartet wird, dass etwas von dem Datenverkehr verloren geht. Dieser
Verlust kann geeignet auf alle Datenverkehrsströme gleich an gewandt werden,
so dass jeglicher Datenverkehr äquivalent
durch die Stauung verschlechtert wird. Es ist vorzugsweise möglich, dass
einiger Datenverkehr mehr "bevorzugt" wird (das heißt nicht
verloren geht), während
anderer Datenverkehr (geeigneter Weise Datenverkehr wie Stimmendaten,
die dringender sind und nur nützlich
sein werden, wenn sie mit einer kurzen Verzögerung ankommen) nicht weiter
verzögert
wird. Dies ist so, weil, wenn Datenverkehr zu spät an seinem Zielort ankommt,
um für
eine Anwendung von Nutzen zu sein, er dann effektiv schon verloren
ist und es ist unpassend, ein Netzwerk mit Datenverkehr zu verstopfen,
der nicht pünktlich
zugestellt werden kann. Im Allgemeinen wird es am meisten bevorzugt,
dass sowohl Verzögerung
als auch Verlust eingestellt und eingegrenzt werden können, um
eine vernünftige
Systemleistung zu bewahren.
-
Vorzugsweise
stellt die Anordnung starke statistische Garantien dafür zur Verfügung, wie
viel der Zeit ein bestimmter QoS respektiert wird. Die Anordnung
kann ein operationelles Modell und/oder statistische Verfahren verwenden.
Das von der Anordnung analysierte QoS gibt vorzugsweise eine durchgehende
QoS Leistung für
eine Nachricht an.
-
Vorzugsweise
werden Mittel zur Verfügung
gestellt, wodurch ein Netzwerkknoten, der begrenzte zugewiesene
Ressourcen aufweist (besonders die Kapazität von Netzwerkverbindungen,
die er ansteuert, und seine interne Kapazität, Datenpakete von Daten für eine spätere Übertragung
zu halten) entscheiden kann, ob er dazu in der Lage ist, mit einer
Anforderung einverstanden zu sein, einen Datenstrom von Daten durch
ihn zu unterstützen,
der bestimmte Merkmale von Datenverlust und Verzögerung aufweist, unter der
Voraussetzung, dass eine Anzahl von anderen Datenströmen bereits
unterstützt
wird, ohne in irgendwelche Wechselwirkungen mit anderen Netzwerkknoten
einzutreten oder Information über
Datenströme
zu halten, die von anderen Knoten im Netzwerk unterstützt werden,
auf eine solche Weise, dass die gesamten durchgehenden Anforderungen
des Datenstroms erfüllt
werden können.
Um dieses zu erreichen, werden vorzugsweise die folgenden Schritte
ausgeführt:
- 1. Innerhalb des Knotens Information über jeden
Datenstrom von Daten aufrecht zu erhalten, der durch diesen hindurch
läuft,
im Besonderen den aufgelaufenen Verlust und die aufgelaufene Verzögerung dieses
Datenstroms zwischen seiner Quelle und der entsprechenden Ausgangsverbindung
des Knotens, einschließlich
des Verlusts und der Verzögerung,
die vom Knoten selbst auferlegt werden, der Netzwerkverbindungsbandbreite
und der internen Pufferkapazität,
die zugewiesen wird,
- 2. Das Identifizieren einer eingehenden Nachricht als Anforderung
dafür,
einen neuen Datenstrom von Daten zu unterstützen;
- 3. Von der eingehenden Anforderung den angeforderten maximalen
Verlust und die maximale Verzögerung und
den Verlust und die Verzögerung
zu extrahieren, die bis dahin aufgelaufen sind;
- 4. Einen vorprogrammierten Parameter anzuwenden, um festzulegen,
welcher Anteil des Unterschieds zwischen dem angeforderten maximalen
Verlust und der angeforderten maximalen Verzögerung und dem Verlust und
der Verzögerung,
die bis dahin aufgelaufen sind, von diesem Knoten hinzugefügt werden
können, um
bei einer Menge von Verlust und Verzögerung anzukommen, die hinzugefügt werden
können;
- 5. Eine Suche in einer Tabelle auszuführen (die durch Lösen eines
bestimmten Systems von Gleichungen berechnet werden kann, die das
Betriebsverhalten des Knotens darstellen), um die zusätzlichen
Kapazitäten
einzurichten, die notwendig sind, um den zusätzlichen Verlust und die zusätzliche
Verzögerung
zu unterstützen,
die dem Datenstrom auferlegt werden müssen;
- 6. Überprüfen, ob
diese zusätzlichen
Kapazitäten
verfügbar
sind; und
- 7. Wenn sie es sind:
a. die Nachricht zu aktualisieren,
die den einzurichtenden Datenstrom anfordert, so dass der aufgelaufene Verlust
und die aufgelaufene Verzögerung
um den Verlust und die Verzögerung
erhöht
werden, die auferlegt werden durch das Multiplexen von Datenströmen auf
die Netzwerkverbindung durch den Knoten und diese an die nächste Stufe
ihrer Strecke zu senden;
b. Hinzufügen der Information bezüglich dieses
Datenstroms zu der bereits bezüglich
anderer Datenströme gehaltenen;
und
c. Berechnen der optimalen Zuordnung des vollständigen Satzes
von Datenströmen
zu den verfügbaren Ressourcen;
oder
- 8. Wenn sie es nicht sind, die Nachricht die den Datenstrom
anfordert, an ihre Quelle zurückzugeben
mit einem Hinweis darauf, dass die Anforderung zurückgewiesen
wird.
-
Die
vorliegende Erfindung wird jetzt auf dem Weg von einem Beispiel
mit Bezug auf die begleitenden Zeichnungen beschrieben, in denen:
-
1 ein
schematisches Diagramm eines Datennachrichtenübermittlungsnetzwerks ist.
-
2 einen
Datenpaketschalter zeigt, der einen mit seinem Hauptteil zusammenhängenden
Entscheider aufweist.
-
3 ein
Verfahren für
den Umgang mit einer Anforderung dafür veranschaulicht, eine neue
Verbindung einzurichten.
-
4 das
Zustandswechseldiagramm für
ein einfaches Betriebsmodell mit zwei Ebenen der Zellenverlustpriorität zeigt
(Bevorzugung).
-
5 ein
bestimmtes Beispiel für
einen Switch mit bevorzugtem Datenverkehr zeigt.
-
6 zeigt,
wie sich die durchschnittliche Verzögerung des gesamten Datenverkehrs
erhöht,
wenn sich die Anzahl von Puffern, die dem "best effort" Datenverkehr (nicht bevorzugt) zugeordnet
werden, erhöht.
-
7 den
gesamten Verlust des gesamten Datenverkehrs zeigt.
-
8 das
Zustandswechseldiagramm für
das zweite Modell zeigt.
-
9 die
Grenze des Verlusts des bevorzugten Datenverkehrs zeigt.
-
10 zeigt,
dass, sobald sich die Gesamtsumme des Datenverkehrs über Eins
erhöht,
sich die Menge des verloren gegangenen nicht bevorzugten Datenverkehrs
linear erhöht.
-
11 die
Verzögerung
für den
dringenden Datenverkehr/nicht bevorzugten Datenverkehr zeigt.
-
12 die
Verzögerung
für den
Datenverkehr zeigt, der nicht dringend ist.
-
13 und 14 äquivalente
Graphen für
die Standardabweichung des dringenden und nicht dringenden Datenverkehrs
zeigen.
-
15 Strecken
für den
Datenverkehr veranschaulicht.
-
16 und 17 anfänglichen
und anschließenden
Status von Netzwerkschaltern veranschaulichen.
-
Das
Zulassen eines Aufrufs oder im Allgemeinen eines Datenstroms in
ein Netzwerk erfordert Vertrauen, dass die Interaktion zwischen
dem Datenverkehr des Aufrufs und vorhandenem Datenverkehr unkritisch ist.
Beim Herstellen von Dienstgütevereinbarungen
wird diesem Prinzip ein monetärer
Wert zugewiesen. In diesem Papier beschreiben wir die Anwendung
eines probabilistischen Ansatzes für das Aufrufmanagement. Dieses
Modell kann verwendet werden, um, wo dies erforderlich ist, sehr
konservative Leistungsgrenzen abzuleiten, oder die dynamischen Wahrscheinlichkeiten
zu beurteilen, um bestimmten Servicestufen zu entsprechen.
-
Eine
große
Klasse von Netzwerkanwendungen, besonders Echtzeitanwendungen wie
Fernsprechwesen, können
nur zufrieden stellend ablaufen, wenn ein Netzwerk zuverlässig Dienstgüte zur Verfügung stellen kann.
Dies erfordert die Fähigkeit,
dass Anwendungen direkt oder indirekt mit dem Netzwerk verhandeln
können,
um sicherzustellen, dass sich Netzwerkverzögerungen nicht auf die Funktionalität der Anwendung
auswirken.
-
Die
Produkte dieser Verhandlungen sind Dienstgütevereinbarungen; sie definieren
die akzeptable Dienstgüte
in Konditionen, die sowohl messbar als auch zusicherbar sind; sie
bilden eine vertragliche Vereinbarung zwischen dem Netzwerkbenutzer
und dem Netzwerk. In der Tat definieren sie den schlechtesten akzeptablen
Fall für
die Datenübertragung über die
Verbindung. Beim Zulassen eines Aufrufs gibt es eine explizite Anerkennung,
dass die vereinbarte Ebene des Diensts für die Dauer des Aufrufs zur
Verfügung
gestellt werden kann. Ressourcen aufgrund des Spitzenbedarfs für jede Verbindung
zuzuweisen, ist ein Ansatz, der dieses garantiert; jedoch berücksichtigt
er die Ausnutzung des statistischen Multiplexens des Datenverkehrs in
der Ansammlung des Flusses nicht. Um eine Aufrufzulassung zu beurteilen,
und doch noch statistisches Multiplexen auszunutzen, gibt es eine
Notwendigkeit, ein Modell dafür
zu erzeugen, wie die einzelnen Datenströme von Daten interagieren,
und das den für
die einzelnen Zellen und Datenströme angebotenen wahrscheinlichen
Dienst vorhersagt. Wenn ein Switch vor der Aufrufannahme dazu in
der Lage ist, die typische Zellenverzögerung zu beurteilen, und die
Wahrscheinlichkeit des Zellenverlusts oder dass Zellen unzulässige Verzögerung erfahren,
und seine Bestätigung
von Ressourcen zu manipulieren um sicherzustellen, dass diese Werte
innerhalb Grenzen fallen, die von einem SLA als akzeptabel definiert
sind, dann würde
er in einer Position sein, sowohl sicherzustellen, dass er seine
Verpflichtungen einhält,
wie auch die Anzahl von SLAs zu maximieren, die er übernehmen
kann.
-
Diese
Wahrscheinlichkeiten werden im Wesentlichen durch die verfügbaren Pufferressourcen
des Knotens und die Last auf dem Switch definiert.
-
Es
ist im Allgemeinen eine einfache Sache, garantierte Dienstgüte über ein
Netzwerk mit niedriger Auslastung zur Verfügung zu stellen; sobald sich
das Netzwerk jedoch voller Auslastung nähert, wird das Problem der
Ressourcenzuordnung schwerer. Da Dienstgütevereinbarungen eine vertragliche
Verpflichtung für das
Netzwerk ausformen, ist es unbedingt nötig, dass sie nur übernommen
werden, wenn es geeignete Ressourcen gibt, die verfügbar sind,
um ihnen zu entsprechen. Im Allgemeinen werden die Schwierigkeiten,
die damit verbunden sind, ein überlastetes
Netzwerk zu verwalten, vom Mangel an Kenntnis des Verhaltens der Anordnung
in diesem Zustand kompliziert. Die hier beschriebenen Verfahren
nutzen ein neues Betriebsmodell aus, das zwei Freiheitsgrade aufweist,
die wir durch Fixieren von einem Parameter ausnutzen können – vorzugsweise
dem Verlust – und
wir sind daher in der Lage, die Folgen von verschiedenen Zuordnungen
auf die gesamte Verzögerung
und die gesamten Durchsatzerfordernisse für die Aufrufe durch den Switch
zu beurteilen. Dieses Modell ist theoretisch ohne Vorbehalt stabil,
sogar wenn unter Überlast,
und kann verwendet werden, um einschränkende Werte für Dienstgüteparameter
zur Verfügung
zu stellen sein, die theoretisch immer gültig sind.
-
Dieses
Modell basiert im Wesentlichen auf der Betrachtung von Datenpaketverlust
und Verzögerung innerhalb
eines Rahmens, der eng dem tatsächlichen
Betrieb wirklicher Netzwerkausrüstung
entspricht. In solch einer Ausrüstung
werden Datenpakete kaum auf Grund von Übertragungsfehlern verloren;
die Hauptquelle für
den Verlust ist der Mangel an Puffern, um das Datenpaket/die Zelle
für die
weitere Übertragung
zu speichern. Unser Ansatz ist gewesen, die Konfiguration der Anordnung
zu modellieren, um einen vereinbarten (und ausgehandelten) Grad
des Verlusts für
einen bestimmten Datenstrom aufrechtzuerhalten. Dieser Verlust kann
(innerhalb der Kenntnis von den Datenverkehrsmustern) für den zusammengefassten
Satz von gegenwärtigen
Aufrufen vorhergesagt werden. Das gleiche Warteschlangenverfahren
legt auch die Änderung
in der Verzögerung,
wie auch ihre mittleren Werte fest. Diese Beobachtungen erlauben
die Erzeugung einer Klasse von Modellen von begrenzten Pufferanordnungen.
Das signifikanteste Merkmal dieser Modelle ist ihre Beschreibung
der Beziehung zwischen Durchsatz, Verlust und Verzögerung (siehe
Diagramm weiter oben), das ein quantitatives Verständnis ermöglicht,
wie man Switchressourcen unter den aktiven Aufrufen verteilen kann.
-
Es
ist offensichtlich, dass ein überlasteter
Knoten Zellen verwerfen muss. Da der Knoten jedoch auch seinen SLA
Verpflichtungen entsprechen muss, ist es notwendig, Zellen intelligent
zu verwerfen. In diesen Modellen können zwei Attribute jedes Zellenstroms
erwogen werden: der Wunsch, die Zelle nicht aus einem Datenstrom
zu verwerten, welches wir 'Bevorzugung' nennen und der Wunsch,
die Durchlaufverzögerung
von Zellen von einem Datenstrom zu reduzieren, welches wir 'Dringlichkeit' nennen. Unser Modell
nimmt an, dass ein Zellenstrom durch diese zwei Parameter klassifiziert
wird. Durch Betrachten von zwei diskreten Ebenen von jedem dieser
Parameter kommen wir zu den folgenden eindeutigen Qualitätsklassen.
-
-
Auf
diese Weise kann der Switch bevorzugt Zellen aus Datenströmen verwerfen,
deren SLAs eine höhere
Verlustrate erlauben; dies, verbunden mit einem intelligenten CAC
Modell, ermöglicht,
dass für
bevorzugten Datenverkehr äußerst enge
Grenzen auf die Verlustrate eingestellt werden. Da dieses Modell
skaliert, um eine unbestimmte Anzahl von Dringlichkeits- und Verlusttoleranzklassen
abzudecken, können
all die Unterteilungen der Verwerfung von Zellen zur Verfügung gestellt
werden, die notwendig sind, um eine Anzahl von beliebigen Dienstgütevereinbarungen
simultan auszuführen.
-
Obwohl
nicht bevorzugter Datenverkehr in Folge dieser Ausschussrichtlinie
schwer zu leiden scheint, erleidet er tatsächlich eine niedrigere durchschnittliche
Verzögerung.
Für viele
der von zuverlässiger
Dienstgütevorkehrung
am meisten abhängigen
Anwendungen (zum Beispiel Videostreaming) ist Verzögerung eine wichtigere
Erwägung
als Verlustraten, da Datenpaket, die von einer überfüllten Warteschlangenanordnung
beträchtlich
verzögert
werden, bei ihrer letztendlichen Ankunft nicht verwendet werden
können.
Ebenso kann in jedem vorgegebenen Moment die von Zellen, die durch
einen vorgegebenen Knoten hindurch treten, erfahrene gesamte Verzögerung auch
auf Datenverkehrsströme
von verschiedenen Dringlichkeitsklassen verteilt werden.
-
Dieses
Betriebsmodell bildet Zellenströme
effektiv in bestimmte, durch ihre Dringlichkeit und ihre Bevorzugungsgrade
definierte Dienstklassen ab. Ist ein Satz dieser Abbildungen gegeben – zum Beispiel
der Satz von Aufrufen, der einen großen Teil eines Zustands eines
vermittelnden Knotens beschreibt – und der für jeden dieser Aufrufe angeforderte
Durchsatz, ist es möglich,
sowohl für
jede Dienstklasse wie auch den Knoten als Ganzes die Verlustrate
und den Mittelwert der Verzögerung
und die Verteilung zu berechnen. Natürlich werden die Dienstgüteerfordernisse
einer Verbindung nicht auf der Ebene von einzelnen Knoten angegeben,
sondern durchgehend. Ein entscheidender Aspekt dieses Modells ist
seine Zusammenstellbarkeit; das soll heißen, dass der Zustand der Switches
entlang eines Pfads verwendet werden kann, um ähnliche Schlüsselparameter der
Dienstgüte
zu berechnen, umfassend die durchgehende mittlere Verlustrate und
Verzögerung,
und die Wahrscheinlichkeitsverteilungsfunktion der Verzögerung.
Dies stellt deshalb das Vorhersagemodell zur Verfügung, das
notwendig ist, um die Ressourcenbestätigung zu beurteilen und zu
optimieren, die notwendig ist, um sicher zu stellen, dass eine Dienstgütevereinbarung
eines Zellenstroms honoriert wird; es ermöglicht, dass probabilistische
Garantien gemacht werden bezüglich
der Honorierung des SLA.
-
Da
jeder reale Switch nur eine begrenzte Menge von Ressourcen aufweist,
ist es offensichtlich, dass nicht alle angeforderten Aufrufe akzeptiert
werden können.
Ein Switch muss deshalb versuchen, die Anzahl von Aufrufen zu optimieren,
die er akzeptieren kann, während
er sicherstellt, dass er nur selten versäumt, die Dienstgüteanforderungen
der Aufrufe zu erfüllen.
-
Dieses
Betriebsmodell weist unmittelbare Anwendbarkeit für Verbindungsaufnahmesteuerungs-
(Connection Admittance Control – CAC)
und QoS Garantien auf. Ist einmal eine physische Strecke für die Verbindung
gefunden worden, erlaubt es uns, schrittweise steigend sicherzustellen,
dass es ausreichende Netzwerkressourcen entlang dieser Verbindung
gibt, um die QoS Anforderungen der Verbindung zu erfüllen. Dies
geschieht auf einer Basis je Switch, nur unter Verwendung von lokalen
Kenntnissen (im Wesentlichen der vorhandene Verpflichtungen des
Switch in der Form von SLAs und anderen QoS Vereinbarungen über gegenwärtige Verbindungen);
dies ermöglicht,
dass eine schnelle Entscheidung zur Annahme eines Aufrufs gemacht wird,
ohne zusätzlichen
Steuerdatenverkehr zwischen den Switches. Dies verheißt Gutes
für die
Skalierbarkeit des Entscheidungsalgorithmus.
-
1 zeigt
ein Datenübermittlungsnetzwerk.
Daten können
zwischen jeden zwei der angeschlossenen Terminaleinheiten 1 über Datenverbindungen 2 zwischen
Switches 3 übertragen
werden. Die Switches 3 legen die Strecke fest, der die
Daten folgen sollen. Eine Nachricht an einem sendenden Terminal
kann zur Übertragung
in Datagramme (Datenpakete) eingeteilt werden, die dann am empfangenden
Terminal wieder zusammengesetzt werden. Die Datagramme einer einzelnen
Nachricht sollten derselben Strecke folgen und bilden einen Aufruf.
Die von jeder Nachricht genommene Strecke und der Status der Verbindungen
und Switches, auf die es auf seiner Strecke stößt, legen die Verzögerung zwischen
dem Senden und dem Empfangen von Datenpaketen der Nachricht fest
und können
bewirken, dass ein Teil oder alle der Datenpaketen verloren gehen.
Wenn das Datenpaket Daten für
einen zeitkritischen Dienst wie Sprachtelephonie enthält, dann
muss die Verzögerung
zwischen dem gesandten und empfangen Datenpaket klein sein, wenn
es einen akzeptablen Dienststandard geben soll.
-
Für eine Netzwerkverbindung
mit begrenzten Ressourcen sind Verzögerung, Durchsatz und Verlustrate
in Wechselbeziehung zueinander stehend. Eine detaillierte Abwägung der
Beziehung zwischen diesen drei Faktoren kann ein verbessertes Ausbalancieren
von Ressourcen ermöglichen
um sicherzustellen, dass so viele Verbindungen wie möglich in
einem Nachrichtenübermittlungsnetzwerk
akzeptiert werden. Zum Beispiel kann es unter einer verbesserten
Verwaltung für
einen Switch möglich
sein, anderweitig unerreichbare Verzögerungsanforderungen zu erfüllen durch
Zuweisen von beträchtlich
mehr durchschnittlicher Bandbreite, als ursprünglich angefordert wurde. Die
Einzelheiten der Beziehung zwischen Verzögerung, Durchsatz und Verlustrate
sind durch das Betriebsverhalten der vermittelnden Elemente im Netzwerk
definiert, die eine Funktion von Parametern sein können, die
optimiert werden können.
-
2 zeigt
die Anordnung einer verbesserten Datenpaketschaltereinheit, die
als einer der Switches 3 gemäß 1 wirken
könnte.
Die Datenpaketschaltereinheit umfasst einen Datenpaketschalter 20,
mit dessen Hauptteil ein Entscheider 21 verbunden ist.
Der Entscheider umfasst ein Speichermittel 22, temporäre Register 23 und
Logik 24 (zum Beispiel einen Prozessor), die den Inhalt
der Register bearbeiten können,
um Vergleiche und Manipulationen von ausgewählten Bitfeldern auszuführen. Die
Logik 24 ist so verbunden, dass sie Werte vom und in den
Datenspeicher 22 lesen und schreiben kann. Der Datenpaketschalter 20 ist
in der Lage, Anforderungsdatenpakete von anderen Datenpaketen zu
unterscheiden und sie zur Bearbeitung durch den Entscheider in den
Datenspeicher zu schreiben. Er kann das (möglicherweise modifizierte)
Datenpaket auch aus dem Datenspeicher lesen und es übertragen.
Der Entscheider weist die Fähigkeit
auf, dem Switch anzuzeigen, wenn das Datenpaket übertragen werden soll, und
auch die Parameter des Switches zu setzen, die die Details des Verhaltens
des Switches festlegen.
-
3 veranschaulicht
die Funktionalität
einer Schaltereinheit für
den Umgang mit einer Aufforderung dazu, eine neue Verbindung einzurichten.
Jeder Switch entlang der Verbindungsstrecke, die von einem Datenpaket
genommen wird, verbraucht einen Teil vom akzeptablen Verzögerungs-
und Verlust-'Budget' der Verbindung und
bietet den Rest dieses Budgets Schaltern weiter flussabwärts dieser
Strecke an. Bei Verwendung der Funktionalität, die in 3 veranschaulicht
ist, wird das Verzögerungs-
und Verlustbudget von Schaltelementen entlang der Strecke analysiert,
um die Merkmale der Verbindung zu bestimmen. Die Analyse des Budgetverbrauchs
wird mittels des Betriebsmodells des Schaltelements und der gegenwärtigen Konfigu ration durchgeführt (in
den unten gezeigten Tabellen kodiert). Statt eine Verbindung herzustellen,
die letztendlich zu unzulässigem
Verlust oder unzulässiger
Verzögerung
führt,
kann eine Verbindung unter Verwendung der Funktionalität gemäß 3 sofort
zurückgewiesen
werden, wenn es ein unzureichendes Budget gibt, das verbleibt, um
die Verbindung einzurichten; andernfalls wird die Aufforderung (mit
reduziertem Budget) zum nächsten Schaltelement
weitergegeben. Schließlich
wird eine Nachricht aus dem Zielort zurückgegeben. Dies wird entweder
eine Aufrufannahme sein (in welchem Fall die aktuelle Schalterkonfiguration
aktualisiert wird, um die neue Verbindung unterzubringen) oder eine
Ablehnung von irgendeinem weiteren Element entlang der Strecke (in
welchem Fall die an diese Verbindung zugewiesenen Ressourcen freigegeben
werden). In jedem Fall wird die Nachricht zurück in Richtung des Erzeugers
der Aufforderung gereicht, wie vom Pfeil links angezeigt.
-
Detaillierter
ist das Verfahren, eine Verbindung für Daten entlang eines Pfads
zwischen einem Anfangsknoten und einem Endknoten über eine
Vielzahl von durch Schaltereinheiten der in 2 gezeigten
Art zusammengeschlossenen Verbindungen einzurichten, wie folgt.
Der Anfangsknoten, die Anordnung oder ein Benutzer des Anfangs-
oder Endknotens richtet ein Budget für die gesamte akzeptable Verzögerung und
für den
gesamten akzeptablen Verlust für
die Verbindung ein. Dieses wird an den ersten Switch auf dem Pfad
gesendet (Pfeil 30 in 3). Der
Switch wendet sein Betriebsmodell an (bei 31), um die Wirkung
seiner zugehörigen
Verbindung auf ein Datenpaket zu bestimmen, modifiziert die Budgetinformation
dementsprechend, um die Menge des für nachfolgende Switches und
Verbindungen des Pfads verfügbaren
Budgets anzuzeigen, und sendet, wenn Budget verbleibt, die aktualisierte
Budgetinformation (bei 32) an den nächsten nachfolgenden Switch.
Der nächste
nachfolgende Switch führt
dieselbe Operation aus. Wenn das Budget überschritten wird, dann wird
eine Nachricht (bei 33) an das Mittel 34 gesandt,
um eine Verbindung zu akzeptieren oder zurückzuweisen, um zu bewirken,
dass das Mittel 34 die Verbindung dadurch zurückweist,
dass es (bei 35) eine Zurückweisungsnachricht an den
nächsten
vorhergehenden Switch sendet. Das Mittel 34 kann die Verbindung auch
auf dieselbe Weise zurückweisen,
wenn es eine Zurückweisungsnachricht
(bei 36) vom nächsten
nachfolgenden Switch erhält.
Das Mittel 34 kann die Verbindung akzeptieren, wenn es
(bei 37) ein Annehmennachricht vom nächsten nachfolgenden Switch
empfängt.
Annehmennachrichten werden vom Endknoten initiiert, der eine Nachricht
vom letzten nachfolgenden Switch erhält, die anzeigt, dass das gesamte
verfügbare
Budget für
die Verbindung nicht überschritten
wird. Wenn die Verbindung akzeptiert wird, dann überträgt das Mittel 34 bei 38 eine
Konfigurationsnachricht, um das Schaltelement 39 des Switches
zu konfigurieren und um zu bewirken, dass die Daten der akzeptierten
Strecke durch den Switch in Richtung das nächsten nachfolgenden Switches
in dem akzeptierten Pfad folgen.
-
Das
Betriebsmodell (veranschaulicht bei 31 in 3)
für den
Switch und seine Verwendung in der Aufrufannahme und Aufrufsteuerung
ist von Wichtigkeit, um die Beziehung zwischen den Gesamterfordernissen des
Satzes von Datenströmen
zu definieren, die für
eine bestimmte ausgehende Verbindung und die mit dieser Verbindung
verbundenen erforderlichen Ressourcen bestimmt sind, und zwischen
den Erfordernissen für
Verlust und Verzögerung.
-
Betrachtet
man die Kombination eines einzelnen Ausgangsports von einem Switch,
kann dieser als ein Multiplexer betrachtet werden, der die gerouteten
Inputdatenströme
von Inputports kombiniert, oder als eine einzelne Anordnung, die
arbeitet, wenn der potentielle maximale Input in den Multiplexer
dessen Ausgabekapazität überschreitet.
-
Während des
Betriebs des Schaltelements/Multiplexers kann es Zeiträume geben,
zu denen die Geschwindigkeit der Ankunft von Datenpaketen die Ausgabekapazität übersteigt.
Während
dieser Zeiten gibt es die Notwendigkeit, den Überschuss an eingehenden Datenpakete
in Puffern zu speichern; sonst gehen diese verloren. Es gibt Anlässe, deren
Frequenz sich erhöht,
wenn die gesamte Kapazität
der Ausgangsverbindung zugewiesen wird, zu denen es keine für die Zuweisung
zu den Datenpaketen der Inputdatenströme verfügbaren Puffer gibt. Unter diesen
Umständen
müssen
Datenpakete verworfen werden. Das Verwerfen ist sowohl erforderlich
durch die physische Anforderung, dass Datenspeicher begrenzt ist,
wie auch durch das Sicherstellen, dass sich der Switch von Überlastungszuständen (durch
Leeren seiner Puffer) innerhalb einer begrenzten Zeit erholt.
-
Die
gesamte Menge einer solchen Pufferung kann unter den Inputdatenströmen auf
viele Weisen zugewiesen werden. Jeder dieser Wege definiert implizit
die Verlustmerkmale von jedem der Datenströme. Wir bezeichnen diese Operation
solch eines Multiplexers für
eine vorgegebene Konfiguration der Pufferkapazität für Datenströme als ein Verhalten des Multiplexers.
-
Das
Verhalten solch eines Multiplexers ist eine Anordnung, die zwei
Grade der Freiheit aufweist, weil jeweils zwei aus der Gruppe bestehend
aus Verlustrate, Durchsatz und Verzögerung zu setzen, den Wert
des dritten dieser Parameter festlegt. Wenn man zum Beispiel die
Verlustrate entschieden hat, schränkt dies den Betrieb des Multiplexers
auf eine bestimmte Beziehung zwischen Durchsatz und Verzögerung ein.
Für einen vorgegebenen
Satz von Inputdatenströmen
ist die Beziehung voraussagbar.
-
Um
das Verhalten zu optimieren, ist es im Allgemeinen notwendig, zuerst
sicher zu stellen, dass der Betrieb die Dienstgüteerfordernisse von einem der
Parameter erfüllt
und dann in Bezug auf die übrigen
Grade der Freiheit zu optimieren. Diese Anforderung muss erfüllt werden
sowohl auf Basis jedes einzelnen Datenstroms wie auch insgesamt
für die
Zusammenfassung aller Datenströme.
-
Um
diesen Ansatz zu veranschaulichen, betrachten wir einen Mechanismus,
in dem der Verlustparameter zuerst betrachtet wird. Die physische
Umschreibung ist die von einem gemeinsamen Pufferpool für alle Inputdatenströme, in dem
es Zähler
für die
unmittelbare Belegung der Puffer gibt, die zur Ankunftszeit eines Datenpakets
am Multiplexer abgefragt werden können. Im Besonderen ist zu
betrachten, dass es zwei Klassen von Inputdatenströmen gibt,
eine, die Datenverkehr enthält,
der vorzugsweise bevorzugt werden sollte gegenüber anderen, nicht bevorzugten
Datenströmen.
Dieses Verfahren kann in den Fall verallgemeinert werden, in dem
es mehr als zwei Klassen von Inputdatenströmen mit verschiedenen Graden
des bevorzugten Bevorzugens gibt. Die untenstehende Gleichung B
ermöglicht
die Berechnung der Anzahl von Puffern, die zur alleinigen Verwendung
von solchen bevorzugten Datenströmen
reserviert werden sollten. Diese Anzahl wird unter der Annahme berechnet,
dass der eingehende nicht bevorzugte Datenverkehr unbegrenzt ist
und gegen Unendlich tendiert. Diese Anzahl von Puffern gibt eine
uneingeschränkte
Garantie, dass das Verlustrate des eingehenden bevorzugten Datenverkehrs
unterhalb der erforderlichen Begrenzungen bleiben wird. Es ist dieser Ansatz,
der das vorliegende Verfahren uneingeschränkt stabil macht.
-
Nehmen
wir die Gesamtzahl von solchen reservierten Puffern als Kmax – KB an, wobei Kmax die
Gesamtsumme der verfügbaren
Pufferung ist, und KB die Menge ist, in
der der gesamte Datenverkehr (ohne Rücksicht darauf ob bevorzugt
oder nicht) zugelassen ist. Die Zuordnung eines Werts zu dieser
Differenz stellt die Festlegung eines der Freiheitsgrade in der
Anordnung dar. Dies vorausgesetzt, kann Kmax jetzt
gewählt
werden, um die gesamte Verzögerung
in dem System für
alle die Datenströme
(wie durch Gleichung A unten gegeben) so zu begrenzen, dass alle
Verzögerungsanforderungen
erfüllt
werden können
unter der Voraussetzung des eingerichteten Warteschlangenverhaltens,
das die Verzögerung über alle
Datenströme
verteilt.
-
Ein
spezielles Beispiel für
ein Betriebsmodell folgt:
Der Verlust wird berechnet durch:
Bevorzugter
Verlust = λ
pp
Kmax
-
Um
in der Lage zu sein, Datenverkehr mit einer bestimmten Dienstgüte zu liefern,
muss eine Voraussage darüber
gemacht werden, um wie viel er durch die Warteschlangenverarbeitung
verzögert
wird. Dies wird aus den Wartezeitverteilungen für jede Art des Datenverkehrs
gefunden, und diese können
ziemlich leicht ermittelt werden. Der erwartete Wert der Wartezeitverteilung
gibt die durchschnittliche Verzögerung
des Datenverkehrs an und die Standardabweichung gibt ein Maß für die Variabilität der Verzögerung an
(die als Verzögerungsschwankung
betrachtet werden kann). Für
nicht bevorzugten Datenverkehr ist die Wartezeitdichtefunktion gegeben
durch:
(Gleichung A). Die q
bn sind die Wahrscheinlichkeiten, dass ein
ankommendes Datenpaket, das tatsächlich
in die Warteschlange eintritt, bereits n Datenpakete in der Anordnung
vorfindet.
-
Für bevorzugten
Datenverkehr ist die Wartezeitdichtefunktion gegeben durch: wobei
-
Für den gemeinsamen,
nicht bevorzugten Datenverkehr und bevorzugten Datenverkehr ist
die Wartezeitdichtefunktion gegeben durch
-
Die
Wartezeit für
eine vorgegebene Gesamtlast w
B(t) ist gegeben
durch:
-
(Gleichung
A) und die Wahrscheinlichkeit, p
n, dass
n Datenpakete zur Abarbeitung in der Warteschlange eingereiht sind,
ist gegeben durch:
wobei λ
p die
Rate der Ankunft des bevorzugt zu bevorzugenden Datenverkehrs ist, λ
B die
Rate der Ankunft von relativ nicht bevorzugtem Datenverkehr ist, μ die Rate
ist, mit der Datenverkehr abgearbeitet wird.
-
p
0 wird gefunden durch die Lösung von:
-
Die
Existenz einer quantitativen Beziehung zwischen diesen Parametern
ermöglicht
die Ausführung von
Optimierungen des Betriebsmodells des Switches mit Hilfe von Standardverfahren.
-
Es
ist wichtig anzumerken, dass das Betriebsmodell ermöglicht,
dass Kompromisse zwischen Verlust/Verzögerung oder Durchsatz/Puffern
gemacht werden, das heißt
ein optimierbares CAC zur Verfügung
gestellt wird, auf das Standardverfahren wie lineare Programmierung,
neuronalen Netzwerke, Fuzzy Logik usw. angewendet werden können, um
die Optimierung zu erreichen. Alle diese Optimierungen können über verschiedenen
Zeitskalen und verschiedenen Stufen der Aufrufannahme/Aufrufablehnung
auftreten. Dies könnte umfassen,
wird aber nicht darauf eingegrenzt:
-
Die
oben gegebene Beziehung für
wB(t) zeigt, dass die Gesamtsumme an Verzögerung,
die nicht verworfene Zellen erfahren, vom der gesamten Ankunftsrate
aller akzeptierten Verbindungen abhängig ist. Wo Einrichtungen
im Switch existieren, kann diese Verzögerung in verschiedenen Bruchteilen
zu Klassen von Datenströmen
(zum Beispiel durch gewichtetes faires Einreihen, Prioritätseinreihung)
zugeteilt werden. Solche Modelle sind nicht unbedingt notwendig,
um diesen Ansatz zu verwenden, da Begrenzungen der Verzögerung berechnet
werden können
für Warteschlangenverhalten
wie zum Beispiel first-in first-out.
-
Es
gibt Flexibilität
beim Beurteilen der Kriterien für
die Aufrufannahme. Um zu einer Entscheidung zu kommen ist es im
Allgemeinen zuerst notwendig, die Fähigkeit der Anordnung dafür zu beurteilen,
einen einzelnen Parameter zu unterstützen (zum Beispiel die Verlustrate – gibt es
ausreichende als Puffer dienende Ressourcen, um die erforderliche
Verlustrate bei der erforderlichen Ankunftsrate für diese
Verbindung sicher zu stellen). Dies kann durch die Anwendung der
folgenden Gleichung erreicht werden:
-
(Gleichung
B) wobei P die gewünschte
Wahrscheinlichkeit des Verlusts ist, und pp die
Last des Datenverkehrs ist, der im Falle von Ressourcenkonkurrenz
bevorzugte Behandlung gegeben werden soll. Ist diese Entscheidung
durchgeführt
worden und ein passender Wert für
diesen Parameter gewählt
worden, würde
dies eine quantifizierbare Beziehung zwischen den übrigen zwei
Parametern (zum Beispiel Verzögerung
und Durchsatz) definieren. Diese Entscheidung kann durch Berechnen
der gesamten Verzögerung
hergestellt werden, die nach der Annahme des Aufrufs in der Anordnung
vorliegend sein wird (ein Beispiel für solch eine Berechnung ist
in der obigen Gleichung für
wB(t) gegeben) und Vergleichen von diesem
mit der Summe von Zugeständnissen
für die
Verzögerung
für alle
gegenwärtigen
Verbindungen. Dann kann die Entscheidung getroffen werden, ob eine
ausreichende Kapazität
existiert, um die Beschränkung
zu erfüllen
(zum Beispiel, gibt es ausreichenden nicht zugewiesenen Durchsatz,
der an diese Verbindung zugewiesen ist, um die an diesem Knoten
erfahrene Verzögerung
auf einen akzeptablen Grad zu reduzieren). Diese Reihenfolge ist
nur eine mögliche
Reihenfolge, um die Parameter zu erwägen – dafür, den Verlust zuerst zu nehmen
und die Verzögerung
gegen den Durchsatz abzuwägen
existieren ähnliche
Ansätze,
einen der anderen Parameter zu wählen, gegen
den anfangs zu beurteilen ist.
-
In
dem wir eine Begrenzung auf die Verlustrate für einen Aufruf in Erwägung ziehen,
schließen
wird die Berechnungen aus, die notwendig sind, um Aufrufe zuzulassen,
in denen keine Begrenzung auf den Verlust vorhanden ist (in der
Internet Gemeinschaft gewöhnlich
als 'best-effort' Datenverkehr bezeichnet).
Da es keine mit solchen Aufru fen verbundenen Garantien gibt, können solche
Aufrufe immer zugelassen werden, sofern ihre Auswirkung auf andere
Aufrufe ausreichend gering ist.
-
Das
Verfahren, um einen Aufruf zuzulassen, ist wie folgt. Es ist anzumerken,
dass in dieser Beschreibung der Begriff "Durchsatz" "mittlerer
Durchsatz" bedeutet.
Jeder akzeptierte Datenstrom weist einen damit verbundenen Satz
von Parametern einschließlich
Durchsatz, Verlustrate und Verzögerung
auf, die in einer Tabelle gespeichert werden können, die im Datenspeicher
gehalten wird, wie vom Satz von Optionen für pn angezeigt,
der in dem obigen Beispiel ausgeführt ist. Es gibt auch einen
gegenwärtig
zugewiesenen Durchsatz, eine auferlegte gesamte Verzögerung und
eine Gesamtverlustrate für
die Verbindung. Die Summe der Durchsätze der Datenströme sollte
kleiner oder gleich sein dem zugewiesenen Durchsatz der Verbindung,
die Summe der Verzögerungsbegrenzungen
der Datenströme
muss größer sein
oder gleich der auf alle Datenströme angewandten gesamten Verzögerung (gleichbedeutend
der Gesamtsumme der für
die Warteschlangen zugewiesenen Pufferung), und die Summe der Verlustraten
der Datenströme
muss größer sein
oder gleich dem auf alle Datenströme angewandten Gesamtverlust.
Grundsätzlich
sollten, an Stelle des zugewiesenen Durchsatzes der Verbindung die
Summe des Ergebnisses von (1 – akzeptabler
Verlustrate) und der erforderliche Durchsatz verwendet werden, aber
es ist üblich,
dass die akzeptable Verlustrate so niedrig ist, dass es praktisch
ist, die Annäherung
des zugewiesenen Durchsatzes der Verbindung zu verwenden.
-
Wie
in 3 veranschaulicht, verbraucht jeder Switch entlang
der Strecke einen Teil vom akzeptablen Verzögerungs- und Verlust-'Budget' der Verbindung und
bietet den Rest dieses Budgets Switches weiter abwärts der
Strecke an. Die Kenntnis von der Beziehung zwischen Durchsatz, Verzögerung und
Verlust ermöglicht
ein Abwägen
von Ressourcen, um sicherzustellen, dass so viele Verbindungen wie
möglich
vom CAC akzeptiert werden; zum Beispiel kann ein Switch sonst unerreichbare
Verzögerungsanforderungen
durch Zuweisen von wesentlich mehr Bandbreite als ursprünglich angefordert
erfüllen.
In der Tat ermöglicht
die Beziehung zwischen Durchsatz, Verlust und Verzögerung,
die weiter oben beschrieben ist, dass diese Variablen gegen einander
abgewogen werden, um die Kombinationen der von einem Benutzer angeforderten
Anforderungen zu erzeugen. Die QoS Anforderungen aller gegenwärtigen lokalen
Verbindungen diktieren deshalb das Verhalten vom Schaltelement des
Knotens in Bezug auf sowohl die Aufrufannahme als auch die von Moment
zu Moment betrieblichen Merkmale des Schaltelements.
-
Es
existiert im Prinzip eine Wahlmöglichkeit,
ob die Bandbreite oder die Verzögerung
mit dem Betriebsmodell zu "horten" sind – wobei
das Betriebsmodell die Möglichkeit
gibt, ihre Interaktion mit der Ansammlung von Aufrufen vorherzusagen,
die der Switch verarbeitet. Dies ermöglicht sowohl unmittelbare
Kosten für die
Ausführung
dieses Aufrufs abzuleiten (abhängig
von der gegenwärtigen
Aufrufkonfiguration), wie auch ein Maß von generischen Kosten dafür, solche
Aufrufe auszuführen.
Es ermöglicht
auch die Beurteilung von sich unterscheidenden Strategien der Schalterkonfiguration.
-
Was
dieses CAC Modell sicherzustellen zum Ziel hat, ist deshalb die
Fähigkeit,
die Auswirkung der Aufrufannahme auf zuvor eingegangen Knotenverpflichtungen
zu berechnen, und daher die Wahrscheinlichkeit, dass die Annahme
bewirkt, dass der Switch entweder die neuen oder die zuvor akzeptierten
Verpflichtungen gegenüber
dem Datenverkehr verletzt.
-
Um
zu erläutern,
wie die Aufrufannahme in der Praxis ausgeführt werden kann, während die
den Datenverkehrsströmen
bereits zuteilte Dienstgüte
aufrecht erhalten wird, betrachten wir das folgendes ausgearbeitete
Beispiel.
-
15 stellt
einen kleinen Teilbereich eines größeren Netzwerks mit Switches
A, B und C und durch Pfeile dargestellte Zellenströme dar.
-
Das
Ziel dieses Beispiels ist, die Wirkung zu veranschaulichen, einen
neuen Datenstrom zwischen A0 und C0 hinzuzufügen, und zu zeigen, wie die
relevanten Berechnungen ausgeführt
würden,
und wie die Annahme dieses Aufrufs durch das Netzwerk den vorhandenen
Datenverkehr beeinflussen würde.
-
Die
folgende Tabelle beschreibt den vorhandenen Satz von Aufrufen auf
diesem Abschnitt des Netzwerks und ihre Qualitätserfordernisse (wie in ihren
Aufrufanforderungsdatenpaketen ausgedrückt). Um die Berechnungen zu
vereinfachen, haben wir den Durchsatz von einer Verbindung auf Eins
normalisiert. Die Verzögerungswerte
liegen dann in Bezug auf eine Übertragungszeit
einer ATM Zelle über
dieser Verbindung vor. Eine nominale Rate von 400.000 Zellen/sek
ist verwendet worden, um die Dauern zu normalisieren.
-
-
-
Die
gegenwärtige
zur Verfügung
gestellte Qualität
kann über
die Gleichung B berechnet werden:
-
Dies
ermöglicht
die Berechnung der Anzahl von Puffern (Kmax – KB), die an einem lokalen Switch reserviert
werden muss, um sicherzustellen, dass die Verlustraten für bevorzugten
Datenverkehr erreicht werden können.
Diese Formel gilt für
die Grenze des Verlusts, wenn der nicht bevorzugte Datenverkehr
gegen Unendlich tendiert. Wenn man die Anzahl von Puffern für die erforderliche
Verlustrate berechnet hat, reduziert dies das Betriebsmodell auf
zwei Freiheitsgrade. Obwohl es jetzt möglich wäre, durch Fixieren der erforderlichen Verzögerung zuzuweisen
und daher für
den Durchsatz zu viele Ressourcen zuzuweisen, wird das Fixieren
des Durchsatzes auf den für
diesen angeforderten veranschaulicht. Dies ermöglicht unter Verwendung der
oben angegebenen Formeln die Berechnung der tatsächlichen Verlustwahrscheinlichkeit
für bevorzugten
und nicht bevorzugten Verlust. Die Kenntnis von der Wahrscheinlichkeit,
dass alle für
den nicht bevorzugten Datenverkehr reservierten Puffer voll sind,
ermöglicht
die Berechnung der Verlustraten für solche Datenverkehrsströme.
-
Zu 15 zurückkehrend,
enthält
der Netzwerkschalter A in dieser Konfiguration keinen dringenden Datenverkehr.
Die Verwendung der Gleichung B ermöglicht das Begrenzen der Anzahl
von Puffern, die gebraucht werden, um unter allen Umständen einen
akzeptablen Verlust sicherzustellen. Die Auswahl von 20 stellt um
Eins mehr dar, als das asymptotische Minimum 19, das für eine Verlustrate
von 10–6 erforderlich
ist. In Switch A gibt es 50 zugewiesene Puffer, von denen zwanzig
für den
bevorzugten Datenverkehr reserviert worden sind. In Switch B gibt
es nur 30 zugewiesene Puffer, von denen 15 für bevorzugten Datenverkehr
reserviert worden sind. Unter diesen besonderen Umstand werden die
Verbindung zu Switch C und daher die Ausgangsverbindungen leicht
belastet; dieser Switch weist eine Menge an Flexibilität in seiner
Anordnung auf. Die Auswirkungen des Datenverkehrs dieses Switches
werden hier nicht berechnet.
-
Diese
Berechnungen führen
zu den in der Tabelle gemäß 16 gezeigten
Attributen. Die Pufferkonfiguration (N/M) sollte gelesen werden
als N aus M Puffern für
bevorzugten Datenverkehr. Das Budget und die mittleren Verzögerungswerte
beziehen sich auf die Menge des zurückbehaltenen Budgets und den
tatsächlichen
Verbrauch an Verlust oder Verzögerung,
die der Zelldatenstrom während
des Betriebs erfahren wird.
-
Die
Entscheidungen und die daraus folgenden Wirkungen, die Verbindung
A0 → C0 hinzuzufügen, werden jetzt betrachtet.
Um zu ermöglichen,
dass die Verlustraten aufrechterhalten werden, muss die Entscheidung
getroffen werden, mehr Puffer für
die Bevorzugung von Daten zuzuweisen (durch Verwendung der Gleichung
B). Mit dieser Konfiguration können
zuvor vereinbarte Verlustraten für
die vorhandenen Aufrufe aufrechterhalten werden, wie auch die Zulassung
des gegenwärtigen
Aufrufs ermöglicht
werden. Die Konfigurationen des Switches, nachdem der Aufruf akzeptiert
worden ist, sind in 17 dokumentiert.
-
Praktische
Anwendungen dieses Verfahrens können
eine Verfeinerung des Anteils an Verlust- und Verzögerungsbudget
eines Aufrufs von dazwischen geschalteten Switches erfordern, sobald
eine akzeptable Strecke durch das Netzwerk gefunden worden ist.
Diese Umverteilung ermöglicht,
dass Knoten dem Aufruf während
der Einrichtungsphase ein großes
Maß an
Ressourcen anbieten (und daher ihren Verbrauch vom Verlust- und
Verzögerungsbudget
des Aufrufs reduzieren), ohne dass dem Aufruf mehr Netzwerkressourcen bestätigt werden
als unbedingt notwendig ist. Dies kann ausgeführt werden, in dem vom Aufrufakzeptanzdatenpaket
Gebrauch gemacht, während
es durch die feststehende Strecke zurück gereicht wird.
-
Um
QoS Erfordernisse sicher zu stellen, muss die Absicht für einen
Aufruf vorhanden sein. Dies ist so bei ATM, für IP führt die Verwendung von einiger
zusätzlicher
Managementinformation, wie zum Beispiel RSVP, diese Funktion aus.
Der vorliegende Ansatz ist gleichermaßen auf beide Netzwerktechnologien
anwendbar. Das vorliegende Modell ist theoretisch bedingungslos
stabil und stellt sogar unter äußerster
Netzwerküberlastung
(das heißt
verlängerten
Perioden, in denen die Netzwerkbandbreite und die Pufferressourcen
nicht ausreichend sind, um der Nachfrage zu entsprechen) Garantien
zur Verfügung.
Verbunden mit ihren Anwendungen in der Aufrufannahme, können mit
diesem Modell im Sinn gestaltete Switches sicherstellen, dass SLAs und
darauf bezogene Vereinbarungen ohne Rücksicht auf den Zustand des
Netzwerks honoriert werden. Die Fähigkeit, den Verlust für Datenströme über das
Ganze ihrer durchgehenden Strecke zu berechnen, könnte verwendet
werden, um eine Rückmeldung
für bestimmte
Klassen von Datenverkehr zur Verfügung zu stellen (zum Beispiel
best effort IP Datenverkehr), um zu versuchen, die Verlustrate auf
der Strecke einzugrenzen.
-
Das
gezeigte Modell kann skaliert werden, um jede beliebige Anzahl von
Servicestufen anzubieten, und unterscheidet eindeutig zwischen der
Handhabung des Datenverkehrs von verschiedenen Klassen. An unterschiedliche
Klassen des Datenverkehrs können
verschiedene Mengen von Ressourcen während des Transits zugewiesen
werden, dies bedeutet, dass Klassen des Datenverkehrs leicht unterschieden
werden können,
und es ermöglicht
wird, die Kosten von QoS Klassen in Bezug auf Ressourcenverwendung
genau zu beurteilen. Diese klare Trennung von Datenverkehrsklassen
und exakter Kalkulation der Verbindungskosten erlaubt wiederum die
Einführung
von Gebührenmechanismen.
Das Modell ist auch anpassbar, um eine Vielfalt von Managementalgorithmen
auf unterster Ebene für
die Switches zu beschreiben.
-
4 zeigt
das Zustandswechseldiagramm für
ein einfaches Betriebsmodell mit zwei Graden der Zellenverlustpriorität (Bevorzugung).
-
Als
ein Beispiel zeigt 5 die Situation für einen
Switch, in der bevorzugter Datenverkehr mit einer Rate von 0,7 der
Servicerate eintrifft (das heißt
pp = λp/μ =
0,7), und von der wir verlangen, dass weniger als eines von einer
Million von Datenpaketen verloren geht (das heißt P = 10–6).
In 5 stellt die oberste Linie 50 die Gesamtsumme
des Datenverkehrs dar, der am Netzwerkknoten eintrifft. Die nächste Linie
51 darunter stellt die gegen die über die Forderung nach nicht
bevorzugtem Datenverkehr aufgetragene Gesamtsumme des Datenverkehrs
dar, die bedient wird. Die unterste Linie 52 zeigt die Menge des
nicht bevorzugten Datenverkehrs, die bedient wird. Die dicke gestrichelte
Linie 53 stellt die Menge des bevorzugten Datenverkehrs dar, die
bedient wird, und es ist anzumerken, dass diese fast unbeeinflusst
ist durch den Bedarf an nicht bevorzugtem Datenverkehr. Die 6 und 7 geben
einen Hinweis auf das Verhältnis
von Verlustrate/Durchsatz/Verzögerung
unter denselben Bedingungen wie für 5. 6 zeigt,
wie sich die durchschnittliche Verzögerung des gesamten Datenverkehrs
in dem Maße
erhöht,
wie sich die Anzahl von Puffern, die dem „best effort" (nicht bevorzugten)
Datenverkehr zugeordnet werden, verringert. Die Verzögerung wird
in Einheiten der Zeit gemessen, wobei die Servicerate zu Eins gewählt ist.
Wenn sich die gesamte Nachfrage über
Eins erhöht,
erhöht
sich die Verzögerung
linear mit der Anzahl von Puffern. 7 zeigt
den gesamten Verlust des gesamten Datenverkehrs. Für eine konstante
Verwendung nimmt der Verlust ab, wenn sich die Anzahl von Puffern
erhöht.
Wenn sich der Durchsatz erhöht,
erhöht
sich der gesamte Verlust.
-
8 zeigt
das Zustandswechseldiagramm für
ein Betriebsmodell, das erweitert worden ist, um sowohl Datenverkehr
zu berücksichtigen,
der dringend ist, als auch Datenverkehr, der nicht dringend ist.
-
9 zeigt,
dass, wenn das Maß an
vorhandenem nicht bevorzugtem Datenverkehr zunimmt, sich der Verlust
des bevorzugten Datenverkehrs nie über 10–6 erhöht.
-
10 zeigt,
dass, sobald sich die Gesamtsumme des Datenverkehrs über Eins
erhöht,
sich die Menge des verloren gegangenen nicht bevorzugten Datenverkehrs
linear erhöht.
-
11 zeigt
die Verzögerung
für den
dringenden Datenverkehr, wobei die obere gestrichelte Linie die Verzögerung für den bevorzugten
Datenverkehr ist, und die untere Linie die Verzögerung für den nicht bevorzugten Datenverkehr
ist. 12 zeigt die Verzögerung für den Datenverkehr, der nicht
dringend ist.
-
Die 13 und 14 zeigen
die äquivalenten
Graphen für
die Standardabweichung des dringenden und des nicht dringenden Datenverkehrs.
-
Zusätzlich zu
oder an Stelle von angeforderte minimale Verzögerung, maximale Verlustrate
oder minimalen Durchsatz zur Verfügung zu stellen, könnte das
Betriebsmodell maximal erlaubte Variationen für diese Parameter zur Verfügung stellen.
Ein besonders bevorzugtes Beispiel für das Betriebsmodell ist, die
maximal erlaubte Änderung
in der Verzögerung
zur Verfügung
zu stellen, entsprechend einem geforderten maximalen Grad der Schwankung
in der Ankunftszeit von Datenpaketen.
-
Die
Vorrichtung, um das Betriebsmodell auszuführen, könnte sich an einem Netzwerkknoten
oder an einer Einheit an anderer Stelle befinden, die in Verbindung
mit dem Knoten steht. Der Knoten könnte ein Router, ein Multiplexer
(oder eine Kombination von zwei oder mehr Multiplexeren), ein Switch
oder jede andere Einheit sein, an der die Dienstgüte nutzbringend
betrachtet werden kann.
-
Eine
bevorzugte Ausführungsform
des Steuerungs- und Konfigurationsmechanismus nimmt die vorgegebenen
Anforderungen entgegen, gruppiert sie und bildet sie auf die physisch
verfügbaren
Ressourcen (das heißt
die endliche Anzahl von Bevorzugungs- und Dringlichkeitsgraden)
ab. Diese gruppierte Version der Anforderungen wird dann verwendet,
um die Machbarkeit der Bedienung des gesamten Satzes von Datenflüssen abzuleiten.
Aus diesem Verfahren werden die Parameter für die physische Konfiguration
abgeleitet.
-
Nachdem
einigen anfänglichen Überprüfungen konfiguriert
der bevorzugte Algorithmus zuerst die Bevorzugung des zusammengesetzten
Satzes von Datenströmen
und dann die Dringlichkeit. Es kann in geeigneter Weise angenommen
werden, dass:
- 1. Der Planungsmechanismus strenges
Aufteilen der Verzögerung
nach Priorität
ist.
- 2. Der Bevorzugungsmechanismus über einem einzelnen gemeinsamen
Puffer abläuft.
- 3. Es eine Annäherung
des restlichen Diensts für
den Verzögerungsmechanismus
gibt, nämlich:
• höchste Dringlichkeit
hat Zugang zur gesamter Bandbreite der Verbindung
• nächst höhere Dringlichkeit
hat Zugang zur gesamten Bandbreite der Verbindung abzüglich des
gegenwärtigen
Durchsatzes der höheren
Dringlichkeitsgrade
• dieses
Verfahren wird wiederholt für
jeden abnehmenden Dringlichkeitsgrad mit der Bandbreite, die für diesen
Dringlichkeitsgrad verfügbar
ist, die die gesamte Bandbreite abzüglich der Summe aller erforderlichen
Bandbreiten der dringenderen Grade ist.
- 4. Alle Ankünfte,
Dienste und verbleibenden Dienste weisen eine Poisson-Verteilung
auf.
-
Die
anfänglichen Überprüfungen und
die Präambel
des Algorithmus können
mittels der folgenden Schritte ausgeführt werden:
- 1.
Sicherstellen, dass die Summe aller Durchsatzgarantien die Kapazität der Verbindung
nicht übersteigt.
- 2. Berechnen der maximalen Ankunftsraten aller Datenströme, selbst
wenn sie nur von der Geschwindigkeit der Schnittstelle beschränkt werden.
-
Das
Bevorzugen der Datenströme
kann dann wie folgt gestaltet werden:
- 1. Einordnen
der Datenströme
in ansteigender Reihenfolge des zulässigen Verlusts (abnehmender
Reihenfolge der Bevorzugung).
- 2. Auswählen
einer Anfangsmenge der Pufferung (dies könnte im einfachsten Fall die
physisch verfügbare Menge
sein).
- 3. Gruppieren der Datenströme
mit ähnlichen
Zielverlustraten, wobei die Anzahl der Gruppen auf die Anzahl von
physisch verfügbaren
Bevorzugungsgraden beschränkt
wird.
- 4. Zuordnen zu jeder Gruppe den gesamten Zieldurchsatz für diese
Ansammlung von Datenströmen
und die niedrigste Verlustrate für
jeden Datenstroms in dieser Ansammlung.
- 5. Angefangen mit der am meisten bevorzugten Gruppe Berechnen
der erforderlichen Pufferung, um Verlusterfordernisse sicher zu
stellen. Dies erfolgt unter der Annahme, dass alle der weniger bevorzugten
Datenströme
mit ihren maximalen Raten eintreffen. Wenn dies nicht getan werden
kann, wird die Konfiguration zurückgewiesen.
- 6. Wiederholen dieses Prozesses (Schritt 5) für die abnehmenden
Bevorzugungsgrade unter der Annahme, dass der Datenverkehr mit höherem bevorzugten
Grad bei seiner vereinbarten Rate liegt (oder diese leicht überschreitet).
Dies stellt die Bevorzugungskonfiguration für den QoS Multiplexer für diese
Ansammlung von Datenströmen
dar.
-
Wenn
die Konfiguration mehr Pufferung erfordert, als physisch verfügbar ist,
wird die Konfiguration zurückgewiesen.
-
Die
Verzögerungskonfiguration
kann wie folgt ausgeführt
werden:
- 1. Anordnen der Datenströme nach
abnehmender Dringlichkeit, das heißt nach zunehmender Verzögerungstoleranz.
- 2. Gruppieren der Datenströme,
um in die endliche Anzahl von Dringlichkeitsgraden zu passen.
- 3. Zuordnen zu jeder Gruppe den gesamten Durchsatz der Datenströme in dieser
Gruppe und die Verzögerungserfordernisse
des dringendsten Datenstroms.
- 4. Angefangen mit der dringendsten Gruppe Berechnung der nominalen
Bandbreite, von der erforderlich ist, dass sie verfügbar ist,
um die gegebenen Verzögerungserfordernisse
zu erfüllen,
unter der Voraussetzung der verfügbaren
Gesamtsumme der Bandbreite – die
nominale Bandbreite kann berechnet werden unter der Annahme, dass
diese Anordnung eine M/M/1/nicht bevorrechtigte (HOL) Warteschlangenanordnung
ist, wie in Tabelle 18 auf Seite 370 von Allen: Probability, Statistics
and Queuing Theory (1978) beschrieben. Diese nominale Bandbreite
wird mit der tatsächlichen
verfügbaren
Bandbreite verglichen. Wenn sie nicht verfügbar ist, dann wird diese Konfiguration
zurückgewiesen.
- 5. Für
abnehmende Dringlichkeitsgrade wird (4) wiederholt, berechnend die
minimale Überschussbandbreite
auf Basis derselben M/M/1/nicht bevorrechtigten Prioritäts(HOL)
Warteschlangenanordnungsannahmen und Sicherstellen, dass ausreichend
restlicher Dienst vorhanden ist unter der Voraussetzung, dass die
Datenströme
höherer
Dringlichkeit die ihnen zugewiesene Bandbreite verbrauchen. Wenn
eine unzureichende restliche Bandbreite vorliegt, um die Beschränkungen
zu erfüllen,
dann wird diese Konfiguration zurückgewiesen.
-
Wenn
diese Stufe (5) für
alle Dringlichkeitsgrade durchgeführt werden kann, dann ist die
Konfiguration ausführbar.
Sobald der oben stehende Prozess beendet worden ist, liegt ausreichende
Information vor, um die Parameter in die Hardware einzusetzen und
um den Datenströmen
den erforderlichen Satz von Vereinbarungen zu liefern.
-
Ein
Betriebsmodell der oben beschriebenen Arten könnte für eine Anzahl von Zwecken verwendet werden,
zum Beispiel:
- – Entscheiden, ob man einen
Aufruf akzeptiert oder zurückweist
auf der Basis ob der für
den Aufruf erforderlichen Dienstgüte entsprochen werden kann;
- – Entscheiden,
ob ein Datenpaket an einem Knoten zu verwerfen oder zu verzögern ist
oder Pufferplatz an einem Knoten zuzuweisen ist, um erforderliche
Dienstgüten
kollektiv zu erfüllen
für Aufrufe,
die durch diesen Knoten geleitet werden;
- – als
Antwort auf eine Aufforderung für
das Platzieren eines Aufrufs einen Hinweis auf eine verfügbare Dienstgüte zur Verfügung zu
stellen, mittels dessen ein Benutzer oder eine Einheit entscheiden
kann, ob der Aufruf platziert wird oder nicht.
-
In
einer Situation, in der ein Dienstgütebudget zwischen zwei oder
mehr Knoten in einer Strecke geteilt werden soll, gibt es mehrere
Arten, in denen das Teilen ausgeführt werden könnte.
- 1. Ein Hinweis auf das verfügbare Budget könnte an
einen Knoten weitergereicht werden. Dieser könnte die Reduktion der Dienstgüte abschätzen, die
er erwartet dem Aufruf aufzuerlegen, das Budget um die abgeschätzte Menge
reduzieren und dann dieses reduzierte Budget an den nächsten Knoten
weiterreichen, der denselben Prozess ausführt.
- 2. Ein Hinweis auf das verfügbare
Budget und die Menge des Budgets, die bis dahin durch vorangehende Knoten
verwendet worden sind, könnten
an einen Knoten weitergereicht werden. Dieser könnte die Reduktion der Dienstgüte abschätzen, die
er erwartet dem Aufruf aufzuerlegen, die abgeschätzte Menge der Menge des bis
dahin verwendeten Budgets hinzufügen
und dann das verfügbare
Budget und die überarbeitete Menge
des bis dahin verwendeten Budgets an den nächsten Knoten weiterreichen,
der denselben Prozess ausführt.
- 3. Ein Hinweis auf das verfügbare
Budget könnte
an einen Knoten weitergereicht werden, der auch Kenntnis von einer
maximalen Anzahl (m) von für
einen Aufruf zu verwendenden Knoten hat. Er könnte sich selbst dann nur 1/m
vom verfügbaren
Budget erlauben. Nachdem er die Reduktion der Dienstgüte geschätzt hat, von
der er erwartet, dass er sie dem Aufruf auferlegt, könnte der
Knoten den Aufruf zurückweisen,
wenn er nicht weniger als 1/m vom verfügbaren Budget verwenden könnte. Andernfalls
könnte
er das verfügbare Budget
unverändert
zum nächsten
Knoten weitergeben.
-
Die
Dienstgüteinformation
kann außerhalb
des Bereichs gesandt werden, das heißt von einem anderen Pfad als
dem Datenstrom, auf den sich die QoS Information bezieht. Die QoS
Information kann von der Quelle oder dem Zielort des Datenstroms
abgeleitet werden, oder von anderer Stelle.
-
Standardoptimierungsverfahren
können
verwendet werden, um die Verwendung eines ausgewählten Betriebsmodells unter
vorgegebenen Bedingungen zu optimieren.
-
Die
vorliegende Erfindung kann jedes Merkmal oder jede Kombination von
Merkmalen umfassen, die hierin entweder implizit oder explizit offenbart
wurden oder jede Verallgemeinerung davon, unabhängig davon, ob es sich auf
die Erfindung bezieht, auf die derzeit Anspruch erhoben wird. In
Anbetracht der vorhergehenden Beschreibung wird es einer in der
Technik ausgebildeten Person offensichtlich sein, dass verschiedene Änderungen
innerhalb des Schutzumfangs der Erfindung gemacht werden können. Zum
Beispiel könnte
die Aufrufanforderungsnachricht eine Anforderung sein bezüglich welche
Dienstgüte
unterstützt
würde,
anstatt eine Aufforderung nach einer bestimmten Qualität, wie zum
Beispiel in dem für
das Internet entwickelten RSVP Protokoll verwendet, und eine Aufrufannahme-
oder Aufrufablehnungsnachricht könnte
eine Übertragung
von akzeptierbaren Dienstgüteparametern
sein.