DE69818846T2 - Paketnetzwerk - Google Patents

Paketnetzwerk Download PDF

Info

Publication number
DE69818846T2
DE69818846T2 DE69818846T DE69818846T DE69818846T2 DE 69818846 T2 DE69818846 T2 DE 69818846T2 DE 69818846 T DE69818846 T DE 69818846T DE 69818846 T DE69818846 T DE 69818846T DE 69818846 T2 DE69818846 T2 DE 69818846T2
Authority
DE
Germany
Prior art keywords
packet
class
bandwidth
flow
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69818846T
Other languages
English (en)
Other versions
DE69818846D1 (de
Inventor
Francis Simon Woodbridge CARTER
Geoffrey Terence Melton HODGKINSON
William Alan Ipswich O'NEILL
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26147594&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69818846(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GBGB9725985.7A external-priority patent/GB9725985D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69818846D1 publication Critical patent/DE69818846D1/de
Publication of DE69818846T2 publication Critical patent/DE69818846T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/521Static queue service slot or fixed bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/525Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/627Queue scheduling characterised by scheduling criteria for service slots or service orders policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6285Provisions for avoiding starvation of low priority queues

Description

  • Die vorliegende Erfindung bezieht sich auf ein Paketvermittlungsnetz und auf darin enthaltene Elemente und Hostrechner.
  • Vor dem Senden von Information über ein herkömmliches verbindungsorientiertes Netzwerk wird dem Benutzer eine Leitung entweder durch eine Bereitstellung oder durch eine Signalisierung bei Bedarf zugewiesen. Während der Zuweisungsphase kann die Schaltung derart eingerichtet werden, dass sie benutzerspezifische Leistungskriterien erfüllt. Dies wird typischerweise von den Verbindungszugangs-Regeln gesteuert. Wenn eine geeignete Leitung eingerichtet wurde, kann folglich Information zwischen Hostrechnern mit einer bestimmten Dienstqualität (QoS) gesendet werden.
  • Im Gegensatz dazu weist ein herkömmliches verbindungsloses Netzwerk keine Anforderung für eine Leitungszuweisung auf und derartige Netzwerke enthalten keine Verbindungszugangs-Steuerung. Dies hat zur Folge, dass während Zeiten von Netzwerküberlastung das Erfüllen von Leistungskriterien und dadurch die Zufriedenstellung von Dienstqualitäts(QoS)-Anforderungen (wie End-zu-End Verzögerung und Verzögerungsschwankung) nicht garantiert werden kann.
  • Es wird zunehmend offensichtlich, dass zukünftige Netzwerke Dienste ähnlich den von herkömmlichen verbindungsorientierten Netzwerken vorgesehenen Diensten und ebenso Dienste ähnlich den von herkömmlichen verbindungslosen Netzwerken vorgesehenen Diensten unterstützen müssen. Darüber hinaus wird es für diese Dienste wichtig, mit minimaler Komplexität und innerhalb akzeptabler Leistungskompromisse unterstützt zu werden.
  • In dem letzten Jahrzehnt war die Vision für zukünftige Breitband-Multimedia-Netzwerke, dass diese auf der asynchronen Übertragungsmodustechnik (ATM – Asynchronous Transfer Mode) und den zugehörigen Netzwerkstandards basieren würden. Während der frühen Phasen der Standardisierung wurde jedoch entschieden, dass ATM-Netzwerke verbindungsorientiert werden und eine native verbindungslose Betriebsweise nicht unterstützen. ATM-Standards konzentrierten sich eher auf Dienstklassenoptimierung als eine breitere Netzwerksicht einzunehmen. Zum Beispiel erfordert eine Optimierung der Trägernutzung nicht notwendigerweise, dass die Bandbreitennutzung für jede einzelne unterstützte Dienstklasse optimiert werden muss. Weiter gesehen erscheint es wahrscheinlich, dass sich Anwendungen schneller entwickeln werden, als es für Netzwerke möglich ist, ihnen zu folgen.
  • Mögliche unerwünschte Aspekte und Komplexitäten traditioneller ATM-Dienste für zukünftige Netzwerke umfassen:
    • – Statistisches Multiplexen innerhalb einer Dienstklasse erfordert eine komplexe Verbindungsfreigabesteuerung (CAC – connection admission control) auf Grundlage von „leaky bucket" Quellen-Verkehrs-Deskriptoren.
    • – Wenn statistisches Multiplexen verwendet wird, ist eine Pufferspeichergröße, die benötigt wird um keinen Zellenverlust zu erreichen, unbestimmt.
    • – Die feste ATM Zellgröße ist wahrscheinlich nicht für alle Dienste geeignet.
    • – In einem durchgeschalteten Netzwerk ist eine Signalisierungsphase unabhängig vom Verkehrstyp erforderlich, und dies kann möglicherweise einen Leistungs-Flaschenhals für einige Typen des verbindungslosen Verkehrs erzeugen.
    • – Eine Zellen-Header-Größe ist ein weiterer Bandbreiten-Platzbedarf zusätzlich zu dem bereits von den Protokollen der höheren Schichten auferlegten (für eine AAL5 Adaptierung verbraucht der Zellen-Header 10 Prozent der verfügbaren Bandbreite, für andere AAL's ist dieser Wert höher).
  • Beispiele von ATM-Netzknoten werden beschrieben von Cheng L, „Quality of services based on both call admission and cell scheduling", Computer Networks and ISDN Systems, vol. 29, Nr. 5, April 1997, S. 555–567, und dem U.S. Patent 5,555,265. Beide weisen Warteschlangen für entsprechende Verkehrsklassen auf. Die internationale Patentanmeldung WO 94/14263 beschreibt einen Frame-Relay Netzknoten, der ebenso Warteschlangen für entsprechende Klassen von Kommunikationsverkehr aufweist.
  • Traditionelle IP-Netzwerke haben sich aus dem Konzept der verbindungslosen Transportverfahren entwickelt, die den Benutzern bis jetzt nur einen Dienst nach bester Möglichkeit („best effort") anbieten. Jedoch wird nun ein neues Dienstmodell, ein so genanntes dienstintegriertes (IS – integrated services) Internet, von der Arbeitsgruppe der IETF (Internet Engineering Task Force) für Dienstintegrierung vorgeschlagen und angesprochen.
  • Das IS-Internet wird eine Anzahl von Dienstklassen mit bestimmen QoS-Vorkehrungen unterstützen.
  • Die hauptsächlich vorgeschlagenen Dienstklassen sind: ein Garantierter Dienst (GS – Guaranteed Service), welcher eine garantierte Bandbreite und eine klar definierte Verzögerungsgrenze unterstützt;
    eine Gesteuerte Last (CL – Controlled Load), welche eine lockerere Bandbreitengarantie unterstützt;
    und das herkömmliche Verfahren nach bester Möglichkeit (BE – Best Effort).
  • Der Ausdruck „Fluss" wird verwendet, um einen Strom aus einem oder mehreren Paketen zu kennzeichnen, das/die von einer bestimmten Anwendung erzeugt und mit einer speziellen QoS-Anforderung übermittelt wird/werden.
  • Um die Bereitstellung verschiedener Dienstklassen zu unterstützen, wird das IS-Internet, im Gegensatz zur heutigen TCP/IP Protokollsammlung, Fluss-Zustands-Information in allen Netzwerk-Routern benötigen.
  • Bisher hat sich die formale Analyse auf die Klasse des Garantierten Dienstes konzentriert, für die vorgeschlagen wird, dass die garantierte Verzögerungsgrenze durch die Verwendung von Token-Bucket-Verkehrs-Deskriptoren in dem CAC Algorithmus und Schedule-Schemen, wie der gewichteten fairen Warteschlangenverwaltung (WFQ – Weighted Fair Queuing), eingehalten wird. Obwohl absolute Verzögerungsgrenzen durch diesen Ansatz garantiert sind, erscheint es, dass sie übermäßig pessimistisch sein können und unter bestimmten Umständen in unnötig komplexer Verarbeitung resultieren (das heißt, unter einigen Umständen können die möglichen Nutzen von der zusätzlichen Komplexität aufgehoben werden).
  • Sollte das der Fall sein, wären alternative und einfachere Lösungen wünschenswert, die realistischere Verzögerungsgrenzen liefern.
  • Mögliche unerwünschte Aspekte und Komplexitäten eines Garantierten Dienstes für zukünftige Netzwerke umfassen:
    • – Die von WFQ angebotene Verzögerungssteuerung kann zu vernachlässigen sein, wenn der GS unter Bedingungen von Zeitkonkurrenz anstatt Bandbreitenkonkurrenz arbeitet (das heißt, kein statistisches Multiplexen).
    • – Obwohl WFQ sowohl Bandbreitenteilung als auch strikte Flussisolation liefert, kann der Bedarf danach abnehmen, wenn die Grenze für den Pufferspeicher-Rückstand abnimmt und/oder ein geeigneter oberer Grenzwert auf die maximale-Datagramm-Größe angewendet wird.
    • – Statistisches Multiplexen innerhalb der GS-Klasse erfordert komplexes CAC auf Grundlage von Token-Bucket-Verkehrs-Deskriptoren.
    • – Eine Signalisierung nach dem Betriebsmittel-Reservierungs-Setup-Protokoll (RSVP – Resource Reservation Set-Up Protocol) ist erforderlich, um festzustellen, ob die erforderliche End-zu-End Verzögerungsgrenze unterstützt werden kann oder nicht.
    • – Gegenwärtig wird WFQ auf einer pro Fluss Basis angewendet, so dass es rechenintensiv ist und dies kann zu einem möglichen Leistungs-Flaschenhals führen, wenn Netzwerkgeschwindigkeiten zunehmen und/oder Datagramm-Größen abnehmen (weniger Zeit, um das Scheduling der Datagramme zu berechnen).
  • Darüber hinaus wurden herkömmliche Telekommunikationsnetzwerke auf der Grundlage entwickelt, dass Benutzungsmuster für das Netzwerk und Verkehrsstatistiken bekannte und relativ stabile Parameter sind. Nun wird aber aus dem Wachstum des Internets und der Art, wie es benutzt wird, offensichtlich, dass diese Parameter zunehmend unsicher werden. Es wird auch erwartet, dass dieser Trend sich in die Zukunft hinein fortsetzen wird.
  • Daraus folgt, dass eine zukünftige Netzwerkgestaltung robust genug sein muss, um mit diesen Ungewissheiten umzugehen, wobei das nicht durch die Verwendung unnötig komplexer Netzwerksteuerungstechniken geschehen sollte. Momentane Hinweise zeigen jedoch, dass dies in dem Bereich der QoS Leistungsgarantien sehr wohl passieren kann.
  • Gemäß der Erfindung ist ein Paketvermittlungsnetzelement vorgesehen, mit
    zumindest einem Eingang zum Empfangen Fluss-basierter Pakete;
    zumindest einem Ausgang mit einer vorbestimmten Bandbreite;
    wobei ein erhaltenes Paket einer ersten oder zweiten Dienstklasse zugehörig ist;
    Mitteln, die jedes erhaltene Paket auf Grundlage seiner Klasse an einen ersten oder einen zweiten zugehörigen Paket-Pufferspeicher leiten,
    wobei dem ersten Paket-Pufferspeicher ein vorbestimmter Anteil der Ausgangs-Bandbreite zugewiesen ist und dem zweiten Paket- Pufferspeicher der verbleibende Teil der Ausgangs-Bandbreite zugewiesen ist; und
    Mitteln, die Pakete von den ersten und zweiten Paket-Pufferspeichern an einen Ausgang leiten;
    wobei das Paketvermittlungsnetzelement gekennzeichnet ist durch: Mittel zum Bestimmen eines Bandbreitenbedarfs für Flüsse erster Klasse, die derart eingerichtet sind, um im Betrieb selektiv für Flüsse erster Klasse den entsprechenden Bandbreitenbedarf für Flüsse erster Klasse zu ermitteln; und
    Pufferspeicherzugangsmittel für Flüsse erster Klasse, die derart eingerichtet sind, um im Betrieb selektiv für Flüsse erster Klasse einen Zugang der Flusspakete erster Klasse in den ersten Paket-Pufferspeicher zu gewähren, wenn der zugehörige Bandbreitenbedarf gedeckt werden kann.
  • Ferner sind vorgesehen ein Verfahren gemäß Anspruch 13 und ein Paketvermittlungsnetzelement gemäß Anspruch 15.
  • Auf diese Weise bietet eine vergleichsweise einfache Architektur für Netzwerkelemente einer ersten Klasse von Paketen vorteilhafterweise einen Dienst an, der ähnlich dem Dienst eines herkömmlichen verbindungsorientierten Netzwerks ist, und einer zweiten Klasse von Paketen wird ein Dienst, der ähnlich dem Dienst eines herkömmlichen verbindungslosen Netzwerks ist, angeboten.
  • Vorzugsweise ist das den Zugang gewährende Mittel, eingerichtet, einen Spitzenwerttest anzuwenden, der Zugang zu dem ersten Pufferspeicher gewährt, wenn der aktuell nicht genutzte Teil des vorbe stimmten Anteils der Ausgangs-Bandbreite den Bandbreitenbedarf des Spitzenwerts decken kann.
  • Unter einigen Umständen erlaubt dies die Formulierung einer festen Verzögerungsgrenze, während die möglichen Verarbeitungs-Flaschenhälse vermieden werden, die den Durchsatz komplexerer Schemen beschränken können – Für Flusspakete erster Klasse, die in den ersten Paket-Pufferspeicher zugelassen werden, wird die garantierte Verzögerungsgrenze bereitgestellt. Darüber hinaus wird dies ohne pro Fluss Scheduling erreicht und sorgt somit für eine Skalierbarkeit, die beim Erstellen großer Netzwerke von unmittelbarem und bekannten Belang ist.
  • In allgemeiner anwendbaren Ausführungsbeispielen ist das Zugangsgewährungsmittel eingerichtet, den Spitzenwerttest und einen Pufferspeicher-Fülltest anzuwenden, der Zugang gewährt, wenn der erste Paket-Pufferspeicher ausreichend Platz aufweist, um einen weiteren Fluss aufzunehmen.
  • Derartige Ausführungsbeispiele haben den Vorteil, dass sie eine garantierte Verzögerungsgrenze auch dann vorsehen können, wenn nur eine kleine Anzahl von Flüssen erster Klasse von dem Element abgewickelt wird. Der Pufferspeicher-Fülltest ist wahrscheinlich überflüssig in Hochleistungs-Kernvermittlungsnetzelementen, die eine große Anzahl von Flüssen erster Klasse abwickeln.
  • In bevorzugten Ausführungsbeispielen ist das Zugangsgewährungsmittel ausgebildet, einen Zugang für Pakete des Flusses erster Klasse in den ersten Paket-Pufferspeicher nur zu gewähren, wenn die An zahl der Flüsse, die der erste Paket-Pufferspeicher aufnehmen kann, minus die Anzahl der Flüsse, die aktuell aufgenommen sind, zumindest eins ist, und wenn der freie Anteil der Ausgangs-Bandbreite, die dem ersten Paket-Pufferspeicher zugeteilt ist, minus des geplanten Bandbreitenbedarfs des Fluss-Spitzenwerts größer oder gleich null ist.
  • Auf diese Weise können genauere Verbindungszugangs-Regeln herbeigeführt werden als die garantierte Verzögerungsgrenze für Pakete des Flusses erster Klasse vorzusehen, die in den ersten Paket-Pufferspeicher zugelassen werden.
  • Ferner werden vorzugsweise Mittel vorgesehen, die Flusspakete erster Klasse in den zweiten Paket-Pufferspeicher zulassen, wenn diesen der Zugang in den ersten Paket-Pufferspeicher verwehrt wurde.
  • Auf diese Weise wird für die Zugangssteuerung ein „weicher Ausfall" vorgesehen, indem die Pakete, die nicht in den ersten Paket-Pufferspeicher zugelassen wurden, zum Weiterleiten während der Dauer des Flusses oder bis zu dem Zeitpunkt, an dem sie in den ersten Paket-Pufferspeicher zugelassen werden, in den zweiten Paket-Pufferspeicher zugelassen werden.
  • Einige Ausführungsbeispiele weisen ein Klassenbestimmungs-Mittel auf, das ermittelt, ob ein erhaltenes Paket zu einer ersten oder zweiten Dienstklasse gehört. Dies ist in Elementen notwendig, wo die Zugehörigkeit eines Pakets zu einer bestimmten Klasse beispielsweise nicht aus der Schnittstelle zu ermitteln ist, auf der das Paket ankommt.
  • Weiter vorzugsweise ist das Klassenbestimmungs-Mittel eingerichtet, einen die Klasse identifizierenden Abschnitt von dem erhaltenen Paket zu lesen.
  • Auf diese Weise kann eine „Signalisierung während der Übertragung (on the fly)" herbeigeführt werden, was vorteilhaft die Notwendigkeit für eine getrennte Netzwerk-Signalisierungsphase beseitigt.
  • Weiter vorzugsweise ist das Mittel zum Bestimmen eines Bandbreitenbedarfs eingerichtet, einen Informationsabschnitt für den Bandbreitenbedarf des Fluss-Spitzenwerts von dem erhaltenen Paket zu lesen.
  • Wiederum kann auf diese Weise eine „Signalisierung während der Übertragung (on the fly)" herbeigeführt werden, was vorteilhaft die Notwendigkeit für eine getrennte Netzwerk-Signalisierungsphase beseitigt.
  • Weiter vorzugsweise ist das Mittel zum Bestimmen eines Bandbreitenbedarfs derart ausgebildet ist, besondere Bandbreitenbedarfswerte eines Fluss-Spitzenwerts für jeweilige einzelne Paketflüsse zu ermitteln.
  • Auf diese Weise können einzelne Paketflüsse für eine besondere Behandlung gekennzeichnet werden.
  • Spezielle Ausführungsbeispiele der vorliegenden Erfindung werden im Folgenden beispielhaft und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 verschiedene Konfigurationen für Architekturen von Netwerkelementen erläutert;
  • 2 verschiedene Netzwerkarchitekturen erläutert, einschließlich der in 1 gezeigten Netzwerkelemente;
  • 3 relative Verzögerungen in einem Netzwerk zwischen einem sendenden Hostrechner und einem empfangenden Hostrechner als eine Funktion differierender Netzwerkimplementierung erläutert;
  • 4 eine exemplarische Paketstruktur zur Verwendung in Verbindung mit obigem erläutert;
  • 5 eine exemplarische Konfiguration der Architektur eines Hostrechners erläutert;
  • 6 einen Vergleich zweier Schemen von Verkehrsgestaltungen erläutert; und
  • 7 ein exemplarisches Fluss-Profil darstellt.
  • Ein sendender Hostrechner und ein empfangender Hostrechner sind mittels eines Netzwerks verbunden, welches Elemente oder Netzknoten und Verbindungsleitungen aufweist. Eine auf dem sendenden Hostrechner laufende Anwendung erzeugt Datenpakete oder Da tagramme, wobei der Begriff „Fluss" zur Bezeichnung eines Stroms von einem Paket oder mehreren Paketen verwendet wird, das/die von der Anwendung erzeugt werden und mit einer bestimmten Dienstqualität (QoS)-Anforderung übertragen wird/werden.
  • Die Dienstanforderung des jeweiligen Flusses wird für die Zwecke der Übertragung über das Netzwerk als eine von zumindest zwei definierten Dienstklassen mit zugehörigen Dienstqualitäts (QoS)-Graden gewählt, wobei typischerweise eine der beiden eine so genannte Klasse mit begrenzter Verzögerung oder eine so genannte Klasse nach bester Möglichkeit ist.
  • Wenn der Fluss über das Netzwerk in einem Modus mit begrenzter Verzögerung übertragen werden soll, muss das Netzwerk die diesen bildenden Pakete von Ende zu Ende in einer Zeit liefern können, die von der festgesetzten maximalen Verzögerung begrenzt wird. Wenn der Fluss über das Netzwerk in einem Modus nach bester Möglichkeit übertragen werden soll, liefert das Netzwerk die Paketeinheiten, ohne dass eine maximale Verzögerungsgrenze festgesetzt wird.
  • Die Wahl, welcher dieser Modi zu verwenden ist, liegt bei der auf dem sendenden Hostcomputer laufenden Anwendung.
  • Eine Anzahl von Netzwerkelementen oder Netzknoten alternativer Architektur werden in 1(a) bis 1(d) gezeigt. Diese Elemente oder Netzknoten können beispielsweise unter Verwendung bekannter Router-Technologie implementiert werden, wobei ein typisches Beispiel die von Cisco Inc. erhältliche Technologie ist.
  • Das in 1(a) gezeigte Netzwerkelement (1) weist einen Eingangs-Anschluss (2) oder mehrere Eingangs-Anschlüsse auf, der/die mit Eingangsverbindungsleitungen (nicht gezeigt) verbunden ist/sind, um Paket-basierte Flüsse zu empfangen.
  • Da jedes Netzwerkelement (1) Netzwerkbetriebsmodi entweder mit begrenzter Verzögerung oder nach bester Möglichkeit unterstützt, ist ein Modus-Identifizierer (3) vorgesehen, um für jedes von einem Eingang (2) erhaltene Paket zu ermitteln, welchem der beiden Modi das Paket zugehörig ist, und dann das Paket an einen geeigneten Paket-Pufferspeicher zu leiten. Ein einzelner Modus-Identifizierer (3) kann für alle Eingangsanschlüsse vorgesehen werden oder alternativ kann mehr als einer vorgesehen werden.
  • Ein oder mehrere erste Paket-Pufferspeicher (4) mit vorbestimmter Größe, der/die zu dem Betriebsmodus der begrenzten Verzögerung gehören und derart bemessen sind, eine bestimmte Anzahl von Flüssen aufzunehmen, weisen einen oder mehrere zugehörige Paket-Identifizierer (5) auf, durch den das Paket vor dem Zugang in einen der Pufferspeicher (4) durchgeht.
  • Diese Paketidentifizierung kann dann eine weitere Verarbeitung in einem Verarbeitungselement (6) auslösen. Als ein Ergebnis dieser weiteren Verarbeitung kann eine Zugangsentscheidung, typischerweise eine Entscheidung der Verbindungszugangssteuerung (connection admission control – CAC), gemacht werden, ob die Pakete des neuen Flusses in einen der ersten Pufferspeicher (4) zugelassen werden oder nicht.
  • Ein oder mehrere zweite Paket-Pufferspeicher (7) mit vorbestimmter Größe, der/die zu dem Betriebsmodus nach bester Möglichkeit gehören, speichern die Pakete „nach bester Möglichkeit", die von dem Modus-Identifizierer (3) an ihn/sie geleitet wurden. Pakete mit „begrenzter Verzögerung" können ebenso an den zweiten Paket-Pufferspeicher geleitet werden, wenn ihnen der Zugang zu dem ersten Paket-Pufferspeicher verwehrt wurde, wie im Folgenden erläutert wird.
  • Jeder der ersten und zweiten Pufferspeicher (4, 7) weist Pufferspeicher-Ausgabe-Elemente (8, 9) auf, die jeweils von einem oder mehreren Scheduling-Elementen (10) gesteuert werden. Jedes Scheduling-Element (10) wird mittels eines geeigneten Scheduling-Algorithmus gesteuert.
  • Jedes Pufferspeicher-Ausgabe-Element ist mit einem Ausgangsanschluss (11, 12) verbunden, der dann mit einer Ausgangsverbindungsleitung (nicht gezeigt) verbunden ist.
  • Bei physikalisch unterschiedlichen Ausgangsanschlüssen reduziert sich das Scheduling tatsächlich auf ein vollständig unabhängiges Scheduling der entsprechenden Pufferspeicher-Ausgaben (8, 9).
  • Den Ausgangsanschlüssen (11, 12), die zu dem einen oder mehreren Pufferspeichern (4) für begrenzte Verzögerung und dem einen oder mehreren Pufferspeichern (7) nach bester Möglichkeit gehören, werden jeweils vorbestimmte Anteile der gesamten Ausgangs-Bandbreite zugewiesen.
  • Wie erwähnt, ist es offensichtlich, dass, obwohl schematisch nur ein einzelner Eingang (2) in 1(a) gezeigt wird, jedes derartige Netzwerkelement (1) mehrere Eingänge (2) aufweisen kann, um Flüsse von etlichen Hostcomputern oder anderen Netzwerkelementen zu empfangen.
  • Auf ähnliche Weise kann das Netzwerkelement (1) mehrere Ausgänge (11, 12) aufweisen, wodurch ein einzelner Pufferspeicher (4) für begrenzte Verzögerung für jeden Ausgangsanschluss (11) des Modus der begrenzten Verzögerung besteht und gleiches gilt für den Pufferspeicher (7) nach bester Möglichkeit.
  • Wenn die zugehörigen Ausgangsverbindungsleitungen (nicht gezeigt) physikalisch unterschiedlich sind, wird ein Scheduling völlig unabhängig. Wenn jedoch die Ausgangsverbindungsleitungen für den Verkehr mit begrenzten Verzögerungen und für den Verkehr nach bester Möglichkeit nur virtuell getrennt sind, dann kann, abhängig von der Technologie, ein Bereich von Multiplexing-Optionen auftreten.
  • Ferner muss außerdem festgestellt werden, dass die Pufferspeicher für begrenzte Verzögerung und nach bester Möglichkeit (4, 7) ebenso eher virtuell als physikalisch getrennt sein können.
  • Das in 1(b) gezeigte Netzwerkelement (13) ist dem in 1(a) gezeigten ähnlich, aber mit einem oder mehreren ersten und zweiten Eingangsanschlüssen (14, 15) vorgesehen. Deswegen muss der explizite Modus-Identifizierer (3) der Darstellung von 1(a) nicht verwendet werden, da die Sätze der Eingänge (14, 15) nun selber als den jeweiligen Modi der begrenzten Verzögerung und nach bester Mög lichkeit zugehörig angesehen werden können. Jedoch kann ein expliziter Modus-Identifizierer (3) der 1(a) weiterhin nützlich sein, um eine Überwachungsfunktion auszuüben, damit sichergestellt wird, dass alle ankommenden Pakete den korrekten Modus aufweisen.
  • Jeder der ersten Eingangsanschlüsse (14), die zu dem Modus der begrenzten Verzögerung gehören, ist somit direkt mit einem Paket-Identifizierer (16) mit zugehörigen Verarbeitungselement (17) verbunden, wie unter Bezugnahme auf 1(a) bereits erläutert wurde, vor einer Verbindung zu einem Pufferspeicher (18) für begrenzte Verzögerung. Jeder der zweiten Eingangsanschlüsse (15), die zu dem Modus nach bester Möglichkeit gehören, ist direkt mit einem Pufferspeicher (19) nach bester Möglichkeit verbunden.
  • Wie bei der Darstellung in 1(a) ist jeweils ein Pufferspeicher für begrenzte Verzögerung und nach bester Möglichkeit (18, 19) mit zugehörigen Pufferspeicher-Ausgabe-Elementen (20, 21) und einem Scheduling-Element (22) für den jeweiligen Ausgangsanschluss (23, 24) für begrenzte Verzögerung und nach bester Möglichkeit vorhanden.
  • Das in 1(c) dargestellte Netzwerkelement ist in Bezug auf Eingang, Paket-Identifizierer, zusätzliche Verarbeitung, Pufferspeicher-Elemente für begrenzte Verzögerung und nach bester Möglichkeit (26, 27, 28, 29, 30, 31) ähnlich zu dem in 1(b) dargestellten Netzwerkelement, wird aber mit nur einem einzelnen Satz von Ausgangsanschlüssen (32) vorgesehen, die sowohl zu dem Modus der begrenzten Verzögerung als auch dem Modus nach bester Möglichkeit gehören. Für jeden derartigen Ausgangsanschluss (32) wird eine dua le Pufferspeicher-Struktur (30, 31) vorgesehen. Daraus folgt, dass für jeden Ausgangsanschluss (32) die jeweiligen Pufferspeicher für begrenzte Verzögerung und nach bester Möglichkeit von einem einzelnen Pufferspeicher-Ausgabe-Element (33) unter der Steuerung eines Scheduling-Elements (34) ausgegeben werden, wobei das Element (33) dann mit diesem einzelnen Ausgangsanschluss (32) verbunden ist.
  • Da die beiden Pufferspeicher (30, 31) sich denselben Ausgangsanschluss (32) teilen, wird ein vollständig unabhängiges Scheduling der Ausgabe nicht möglich sein, so dass komplexere Scheduling-Algorithmen notwendig sind, um das Pufferspeicher-Ausgabe-Element (33) zu steuern, und zwischen den beiden Modi können Interaktionen im Betriebsverhalten auftreten. Es sind eine Reihe geeigneter Scheduling-Lösungsansätze bekannt.
  • Einfaches Prioritäts-Scheduling wählt immer das nächste Paket von dem ersten Pufferspeicher (30), wenn der erste Pufferspeicher (30) zumindest ein Paket aufweist. Auf diese Weise wird dem ersten Pufferspeicher (30) in Bezug auf vollständige Pakete der bestmögliche Dienst zugestanden. Wenn der Verkehr mit begrenzter Verzögerung einen kleinen Teil des Gesamten ausmacht, wird dies einen relativ kleinen Effekt auf den Verkehr nach bester Möglichkeit haben.
  • Wenn der Wert aus der maximalen Länge eines Pakets nach bester Möglichkeit dividiert durch die Verbindungsgeschwindigkeit im Vergleich zu dem bestimmten Wert der Verzögerungsgrenze für einen Netzknoten klein ist, oder auf andere Weise akzeptabel niedrig ist, übt das Verhalten eines Verkehrs nach bester Möglichkeit wenig Ein fluss auf den Verkehr des Dienstes mit begrenzter Verzögerung aus. Wenn dies nicht der Fall ist, kann ein „Aussetzen- Wiederaufnehmen"-Scheduling als eine Alternative zu dem einfachen Prioritäts-Scheduling angesehen werden.
  • Durch ein „Aussetzen- Wiederaufnehmen"-Scheduling der Pakete nach bester Möglichkeit kann eine Übertragung eines Pakets nach bester Möglichkeit ausgesetzt werden, sobald ein Paket mit begrenzter Verzögerung zur Übertragung verfügbar ist. Somit werden Pakete nach bester Möglichkeit auf der Datenübertragungsschicht tatsächlich fragmentiert, um Pakete mit begrenzter Verzögerung unterzubringen.
  • Das in 1(d) gezeigte Netzwerkelement (35) ist schließlich vorgesehen mit dem einen ersten Eingang oder mehreren ersten Eingängen (36) und somit den Modus-Identifizierern (37) und zugehörigen Paket-Identifizierer, zusätzlicher Verarbeitung, Pufferspeicher-Strukturen für begrenzte Verzögerung und nach bester Möglichkeit (38, 39, 40, 41) von 1(a) und dem einzelnen Satz von Ausgängen (42) und somit dem einzelnen Pufferspeicher-Ausgabe-Element (43) und dem Scheduling-Element (44) von 1(c).
  • Es ist offensichtlich, dass die Fähigkeit des Netzwerkelements (1, 13, 25, 35), den Betriebsmodus der begrenzten Verzögerung vorzusehen, davon abhängt, sicherzustellen, dass die Summe der Spitzenwerte aller konkurrierender Flüsse nicht den Anteil der dem Verkehr mit begrenzter Verzögerung zugewiesenen Ausgangs-Bandbreite übersteigt. Ein Bestimmen des Spitzenwerts einer Bandbreite für einen Fluss soll bedeuten, dass der den Fluss erzeugende Hostcomputer den Verkehr hinsichtlich einer Paket-Unterbrechungs-Zeit lenken muss, wie wenn die Geschwindigkeit der Ausgangsverbindung des Hostcomputers auf die bestimmte Spitzen-Bandbreite eingeschränkt wäre. Die Mittel, um die Spitzenwert-Summe zu steuern, können entweder ein geeignetes Dimensionieren oder die Anwendung der CAC-Regeln sein. Jedoch ist die Steuerung der Spitzenwert-Summe eine notwendige, wenn auch nicht immer ausreichende Bedingung, um einen Betrieb mit begrenzter Verzögerung vorzusehen. Abhängig von der besonderen Konfiguration des Elements kann es auch erforderlich sein, die Anzahl und Paketgröße von Flüssen mit begrenzter Verzögerung zu steuern.
  • Die unten angeführten Gleichungen 1A und 1B stellen eine Multi-Paket-Verzögerungsgrenze für ein Element dar, wobei:
    link_rate die Betriebsgeschwindigkeit der betrachteten Ausgangsverbindungsleitung ist,
    mux_ratio das Verhältnis der Verbindungsleitungs-Geschwindigkeit des Ausgangsanschlusses zu der Verbindungsleitungs-Geschwindigkeit des Eingangsanschlusses darstellt,
    Nip die Anzahl von Eingangsanschlüssen ist, die Flüsse der Klasse mit begrenzter Verzögerung (BD) führen und die Ausgangsverbindungsleitungen ansteuern,
    Nflows die maximale Anzahl von Flüssen mit begrenzter Verzögerung ist,
    lmax die maximale Größe von Paketen der Klasse mit begrenzter Verzögerung ist, und
    lbe die maximale Größe von Paketen nach bester Möglichkeit ist:
  • Gleichung 1A:
    Figure 00200001
    (Gleichung 1B)
  • Es ist offensichtlich, dass ein Verständnis von Gleichung 1A und Gleichung 1B oder ähnlichen Ausdrücken zusammen mit einer Steuerung der Spitzenwert-Bandbreite als die Grundlage für CAC-Regeln verwendet werden kann, wodurch neue Flüsse darauf geprüft werden können, ob sie zugelassen werden können, ohne eine spezifizierte Verzögerungsgrenze zu verletzen. Diese bestimmten Gleichungen stellen die ungünstigste Verteilung von Flüssen über Eingangsanschlüsse dar.
  • Die Gleichungen 1A und 1B sind ausreichend allgemein, damit sie auf eine Reihe von Situationen angewendet werden können. Bei bestimmten besonderen Interessefällen verringern sie sich jedoch auf eine vereinfachte Form, und zum Zweck der Veranschaulichungen werden zwei Beispiel dargestellt. In jedem Beispiel wird angenommen, dass der Term lbe/link_rate klein genug ist, um vernachlässigt zu werden.
  • Wenn mux_ratio = Nip: reduziert sich die Gleichung 1A auf:
  • Figure 00200002
  • In diesem Fall wird die Verzögerung über dieses Element automatisch begrenzt, so dass eine Verzögerungsgrenze auch ohne das Wissen über die tatsächliche Anzahl der Flüsse gesetzt werden kann.
  • Dies kann den Fall eines Zugangsknotens darstellen, an dem die an Ausgangsverbindungsleitungen verfügbare Bandbreite derart dimensioniert wurde, um die Summe der Bandbreiten aller Eingangsverbindungsleitungen aufzunehmen, die Verkehr mit begrenzter Verzögerung führen.
  • Wenn mux_ratio = 1, und Nflows >> Nip >> 1, nähert sich die Gleichung an :
  • Figure 00210001
  • Dies kann den Fall eines Netzknoten eines Kernnetzwerks darstellen, mit gleichen Bandbreiten für die Eingangs- und Ausgangsverbindungsleitungen und (zum Beispiel) mehr als vier Sätzen von Eingangs- und Ausgangsanschlüssen. In diesem Fall ist ein Betrieb mit begrenzter Verzögerung nicht länger automatisch, da eine gewisse Steuerung der Flüsse notwendig ist, die in die Klasse mit begrenzter Verzögerung zugelassen wurden, um sicherzustellen, dass eine Verzögerungsgrenze garantiert werden kann.
  • Eine Spitzen-Bandbreiten-CAC-Überprüfung kann durch Gleichung 4 ausgedrückt werden:
  • Figure 00210002
  • Wobei Pk_flow die Spitzen-Bandbreite des neuen Flusses ist, der Zugang zur Klasse mit begrenzter Verzögerung (BD) fordert, Pk_accum die Summe der Spitzen-Bandbreiten aller gegenwärtig angenommenen BD-Flüsse ist, und Pk_alloc die gesamte dem BD-Verkehr zugewiesene Bandbreite ist. Dies beschreibt die an neuen Flüssen vorgenommene Überprüfung, wobei untersucht wird, ob die Summe der Spitzen-Bandbreiten des neuen Flusses und der gegenwärtig angenommenen Flüsse die zugewiesene Bandbreite nicht überschreitet. Der Term Pk_alloc kann kleiner als die Verbindungsrate gewählt werden, um einen bestimmten Grad an Bandbreite für die Klasse nach bester Möglichkeit zu garantieren.
  • In dem durch Gleichung (2) beschriebenen Fall und unter der Vorraussetzung bekannter Beschränkungen für Nip und 1max kann der durch Gleichung (4) beschriebene Test die einzig notwendige Bedingung für CAC sein.
  • In dem durch Gleichung (3) beschriebenen Fall ist es zusätzlich zum Anwenden des Spitzen-Bandbreite-Tests für das CAC-Verfahren auch notwendig, Nflows auf einen Wert Nflows_alloc Zu begrenzen, um eine Verzögerungsgrenze zu errichten. Jedoch findet, indem eine minimale Spitzen-Bandbreite Pk_min definiert wird, welche die minimale Spitzen-Bandbreite darstellt, mit der jeder Fluss verknüpft werden kann, die Beschränkung auf Nflows_alloc implizit beim Anwenden der Spitzen-Bandbreite-CAC-Bedingung statt. Somit ist Nflows_alloc beschränkt auf: Pk_alloc/Pk_min und die Verzögerungsgrenze Tbound ist dann:
  • Figure 00220001
  • Es ist offensichtlich, dass in diesem Beispiel eine notwendige Verzögerungsgrenze von einem Netzbetreiber gewählt werden kann, indem lmax und Pk_min spezifiziert werden.
  • Unter bestimmten Bedingungen kann es wünschenswert sein, eine bessere Ausnutzung der BD-Klasse durch Verwendung von Wissen über die maximale Paketgröße jedes einzelnen Flusses zu erreichen. Somit kann jeder Fluss sowohl seinen Spitzen-Bandbreitenbedarf angeben als auch eine maximale Paketgröße spezifizieren, wobei limax dies für den i-ten Fluss darstellt. Für die Netzwerkelemente mit gleichen Eingangs- und Ausgangs-Verbindungsgeschwindigkeiten und unter Berücksichtigung von Unterschieden der maximalen Paketgrößen verschiedener Flüsse kann die Verzögerungsgrenze von einer allgemeineren Form der Gleichung (3) näherungsweise berechnet weren:
    Figure 00230001
    (Gleichung 6) wobei die Summe über alle in den Pufferspeicher zugelassenen Flüsse geht. In diesem Fall ist nun eine explizite Steuerung der Flüsse notwendig. Dies kann erreicht werden, indem eine weitere CAC-Bedingung auf die Paketgröße angewendet wird, die zusätzlich zu dem Spitzenwerttest erfüllt werden muss:
    Figure 00230002
    wobei lmax_accum die Summe der maximalen Paketlängen aller gegenwärtig zugelassenen BD-Flüsse ist, und lalloc die maximal zulässige Summe der maximalen Paketlängen der Flüsse ist. Es ist offensicht lich, dass dies von einem Netzbetreiber gewählt werden kann, um eine bestimmte Verzögerungsgrenze sicherzustellen, und entspricht einer Grenze der Pufferspeicherfüllung für die BD-Warteschlange.
  • Werden die CAC-Regeln zur Zulassung von Multipaket-Flüssen in die BD-Klasse betrachtet, wird es offensichtlich, dass diese Regeln für den speziellen Fall von Einzelpaket-Flüssen etwas modifiziert werden müssen. Für die zu der Gleichung (2) gehörenden Bedingungen prüft das CAC-Verfahren, ob ausreichend Reserve-Bandbreite zur Verfügung steht oder nicht, um einen neuen Fluss aufzunehmen, aber das Konzept der Beschreibung eines Einzelpaket-Flusses hinsichtlich eines kontinuierlichen Spitzenwert-Parameters ist sinnlos. Jedoch sind Mittel notwendig, Flüsse zuzulassen, die so kurz wie ein einzelnes Paket sind, wodurch sichergestellt wird, dass die der BD-Klasse zugewiesene Bandbreite nicht überschritten wird. Eine geeignete Technik besteht darin, einen Spitzenwert-Parameter zuzuweisen, welcher nach einer gewissen Zeit, nachdem der Fluss beendet ist, abläuft. Es gibt verschiedene Möglichkeiten, einen Spitzen-Bandbreiten-Wert zu wählen, beispielsweise kann das oben diskutierte Pk_min-Konzept verwendet werden. Ein bestimmter Pk_min-Wert kann als Teil des Verfahrens zur Gestaltung des Netzes gewählt werden, und CAC wird dann als Standard so voreingestellt, diesen Wert als den Bandbreiten-Parameter für Einzelpaket-Flüsse zu verwenden. Unter diesen Betriebsbedingungen läuft der Bandbreite-Zugangstest für ein einzelnes Paket genauso ab wie für Multipaket-Flüsse, außer dass Pk_flow (Gleichung 4) durch Pk_min ersetzt wird, viz
  • Figure 00240001
  • Für die zur Gleichung (3) gehörenden Bedingungen prüft CAC auch, ob ausreichend Reserve-Pufferspeicherplatz verfügbar ist, und wendet die von Gleichung (7) beschriebenen CAC-Regeln an. Dieser Typ des CAC-Ansatzes, die Anzahl der Flüsse implizit zu begrenzen, kann für einzelne Paketflüsse genauso angewendet werden. Für Netzwerke, die das oben beschriebene Pk_min-Konzept verwenden, kann die Gleichung (7) sowohl für Einzelpaket-Flüsse als auch für Flüsse mit mehreren Paketen angewendet werden.
  • Jedoch würde der CAC-Ansatz mit unabhängigem doppelten Test wohldurchdachtere CAC-Verfahren ermöglichen, als es mit dem Pk_min- Ansatz möglich ist. In einem Beispiel eines derartigen Verfahrens weist der CAC-Prozessor, welcher laufende Summen des verfügbaren Pufferspeicherplatzes und der Bandbreite unterhält, entweder die gesamte oder einen Anteil der Reserve-Bandbreite jedem neuen Einzelpaket-Fluss zu. In dem Fall, in dem ein Anteil zugewiesen wird, kann der Teil beispielsweise proportional zu dem Verhältnis von Paketgröße zu verfügbarem Pufferspeicherplatz gewählt werden. Eine Anwendung einer dieser Ansätze beeinflusst die Form der früheren CAC-Tests nicht, sie führt nur zu bestimmten Fällen mit etwas unterschiedlichen Definitionen für die CAC-Parameter und -Werte.
  • Ein zusätzlicher Nutzen dieses Ansatzes liegt darin, dass auch einfaches FIFO-Scheduling verwendet werden kann, wodurch die Komplexität und der erhebliche Verarbeitungs-Overhead vermieden werden, die zu Schemen wie der WFQ gehören. Das Erlassen einer maximalen Paketgröße ist insbesondere wichtig, wenn ein FIFO-Scheduling verwendet wird, da es ebenso ermittelt, ob ein akzeptabler Grad des Teilens von Bandbreite über alle Flüsse hinweg stattfindet oder nicht.
  • Wenn beispielsweise ein Anfangspaket eines neuen Flusses erhalten wird, kann der Paket-Identifizierer (5, 16, 28, 38), der das Paket als solches identifiziert hat, veranlassen, dass zusätzliche Verarbeitung stattfindet, um einen Spitzenwert-Bandbreitenbedarf dem Fluss für begrenzte Verzögerung zuzuordnen. Diese zusätzliche Verarbeitung kann zum Beispiel die Berechnung eines Bandbreitenbedarfs auf der Grundlage eines von einem Nutzer vorgeschlagenen Verzögerungsbedarfs umfassen.
  • Durch eine weitere Verarbeitung in dem Verarbeitungselement (6, 17, 29, 39) kann dann festgestellt werden, ob der erste Pufferspeicher (4, 18, 30, 40) und der zugehörige Ausgangsanschluss (11, 23, 32, 42) die CAC-Bedingungen erfüllen können, und als daraus folgendes Ergebnis kann entschieden werden, ob der neue Fluss in den ersten Pufferspeicher (4, 18, 30, 40) zugelassen wird oder nicht.
  • Es ist offensichtlich, dass die Identifizierung zwischen bestimmten Flüssen und zugehörigem Spitzenwert-Bandbreitenbedarf auf mehrere Arten durchgeführt werden können.
  • Natürlich gibt es die Möglichkeit, dass einem neuen Fluss mit begrenzter Verzögerung der Zugang zu dem ersten Pufferspeicher unter den CAC-Regeln nicht gewährt wird.
  • Ein Ansatz, mit dieser Möglichkeit umzugehen, liegt darin, die aufgrund der CAC-Regeln zurückgewiesenen Flusspakete in den zweiten Pufferspeicher zuzulassen, wo diese auf Grundlage der besten Möglichkeit behandelt werden. Gleichzeitig kann eine geeignete Meldung über die „zurückgewiesene Verbindung" an die Quelle weitergeleitet werden. Nachfolgende Pakete desselben Flusses können weiterhin Signalisierungsinformation einer „Verbindungs- Anforderung" mitführen, um die weiterhin bestehende Möglichkeit sicherzustellen, dass der Fluss eventuell in den ersten Pufferspeicher zugelassen wird.
  • In der einfachsten Situation tritt in einem Netzwerkelement eine Verzögerung für den ungünstigsten Fall (worst case) auf, wenn der Pufferspeicher ein rückständiges Paket von jedem zugelassenen Fluss enthält, somit ist die Grenze im ungünstigsten Fall gleich der Summe der größten Paketgröße eines jeden zugelassenen Flusses, geteilt durch die Ausgangs-Verbindungsgeschwindigkeit. Somit hat ein Reduzieren der maximal erlaubten Paketgröße für die Klasse mit begrenzter Verzögerung eine umgekehrt proportionale Wirkung auf die Anzahl der Sitzungen, die aufgenommen werden können, während eine bestimmte Verzögerungsgrenze erreicht wird. Diese Wirkung kann in Betracht gezogen werden, wenn eine maximal erlaubte Paketgröße für die Klasse mit begrenzter Verzögerung gewählt wird.
  • Wenn ein Fluss akzeptiert wurde, wird die notwendige Zustandsinformation in einem Speicher (nicht gezeigt) gespeichert und verbleibt darin, bis der Fluss aufhört. Zu diesem Zeitpunkt wird ein Löschungsvorgang entweder durch ein Verfahren mit „weichem Zustand" (soft-state) oder durch einen vordefinierten Paket-Identifizierer ausgelöst.
  • Wenn ein Fluss der BD-Klasse in das Netzwerk zugelassen wurde, unabhängig davon, ob es sich um einen Einzelpaket- oder einen Multipaket-Fluss handelt, wurden Bandbreite und/oder Pufferspeicher- platz tatsächlich reserviert, und diese Betriebsmittel müssen freigegeben werden, wenn ein Fluss beendet wird. Die reservierten Betriebsmittel können entweder durch Time-out-Mechanismen oder durch bestimmte Anforderungen freigegeben werden. Ein Beispiel für die Verwendung des Ansatzes der bestimmten Anforderung ist, wenn das letzte Paket eines Flusses zusätzliche Verarbeitung innerhalb des Netzknotens auslöst, um dessen reservierte Betriebsmittel freizugeben. Da jedoch Flüsse auf einer Spitzenwert-Grundlage zugelassen werden, schreibt dies vor, dass die Betriebsmittel für eine Wiederverwendung nicht verfügbar werden, bis der Zeitablauf seit dem Zulassen des letzten Pakets einen bestimmten kritischen Wert erreicht, der mit Trelease bezeichnet wird. Der Wert von Trelease ist Variabel, da er sowohl von der Größe des letzten Pakets als auch dem Spitzenwert des Flusses abhängig ist. Für Multipaket-Flüsse ist Trelea se gleich
  • Figure 00280001
  • Gibt es jedoch eine spezifizierte maximal erlaubte Paketgröße für die BD-Klasse, kann Trelease unabhängig von einer Paketgröße gemacht werden, unter Verwendung von
  • Figure 00280002
  • Jedoch wäre das auf Kosten der Reduzierung der Effizienz bei der Verwendung von Betriebsmitteln, wobei die tatsächliche Reduzierung direkt von der maximal erlaubten Paketgröße abhängig ist. Ein Vorteil dieser Vereinfachung jedoch ist, dass Trelease als Teil des CAC-Verfahrens berechnet werden kann, welches dann einen Freigabe- Zähler starten kann, welcher bei Erreichen eines zu Trelease gleichen Wertes den Wert von lmax_accum um einen Betrag gleich li max und den Wert von Pk_accum um einen Betrag gleich Pk_flow verringern kann.
  • Das Freigabe-Verfahren für Einzelpaket-Flüsse ist identisch zu dem für Multipaket-Flüsse beschriebenen Verfahren, mit dem einzigen Unterschied, dass beim Berechnen von Trelease der Pk_flow-Term mit dem geeigneten Bandbreiten-Term ersetzt wird. Beispielsweise würden, wenn das wie oben erörterte Pk_min-Konzept verwendet wird, alle Berechnungen für Betriebsmittel-Freigaben, die Pk_flow verwenden, stattdessen Pk_min verwenden.
  • Es ist offensichtlich, dass, wenn ein Fluss zugelassen wurde, dem Fluss-Header-Paket nachfolgende Pakete des Flusses keine Angabe des Spitzenwert-Bandbreitenbedarfs des Flusses führen müssen.
  • Wie erörtert, wird eine Spitzenwert-CAC verwendet, da sie eine deterministische Grenze der Pufferspeichergröße im ungünstigsten Fall (worst case) liefert und somit Verbindungsverzögerungen im ungünstigsten Fall auf Werte begrenzt, welche sowohl von der maximalen Paketgröße als auch der maximalen Anzahl von gleichzeitigen Benutzern bestimmt werden. Folglich kann ein Paketverlust durch Verwendung der Pufferspeichergröße für den ungünstigsten Fall verhindert werden, und Verbindungsverzögerungen können, wenn notwendig, einfach durch Aufstellen eines geeigneten Limits der maximalen Paketgröße reduziert werden. Die Verwendung einer Pufferspeichergröße, die geringer als für den ungünstigsten Fall ist, führt zu einer statistischen Wahrscheinlichkeit eines Pufferspeicherüberlaufs und eines folgenden Paketverlust.
  • Es muss zur Kenntnis genommen werden, dass CAC-Regeln definiert werden können, welche die Bereitstellung einer Kombination ohne Paketverluste, zusammen mit einer absoluten oder ungünstigsten (worst case) Verzögerungsgrenze, welche die größte Verzögerung darstellt, die jemals unter allen Bedingungen beobachtet werden könnte (anders als ein Fehler), erzwingen.
  • Eine leichte Einschränkung ist für diese Feststellung notwendig, da die Grenzen, die bis jetzt als „ungünstigster Fall" bezeichnet wurden, nur gültig sind, wenn die Flüsse am Eingang eines Netzknotens Spitzenwert-geformt sind, aber es ist bekannt, dass die Zwischenräume zwischen den Paketen eines Flusses wahrscheinlich gestört werden, wenn sich dieser durch das Netzwerk ausbreitet. Dies führt zu einzelnen transienten Zunahmen des Spitzenwerts, was unter einigen Umständen theoretisch dazu führen kann, dass die Grenze für den „ungünstigsten Fall" durchbrochen wird. Die Folgen sind entweder ein Paketverlust (wenn der Pufferspeicher exakt so bemessen wurde, dass er mit der Verzögerungsgrenze für den ungünstigsten Fall übereinstimmt) oder eine erhöhte Verzögerung, wenn der Pufferspeicher größer als die Verzögerungsgrenze für den ungünstigsten Fall ist.
  • In einem gut gestalteten Netzwerk jedoch und wenn die Spitzenwertsumme eines Verkehrs mit begrenzter Verzögerung etwas geringer ist als die von dem Scheduler vorgesehene Verarbeitungsrate (das Bilden einer Prioritäts-Warteschlange ist in dieser Beziehung ideal), kann jede der transienten Fluktuationen des Spitzenwerts hinreichend beschränkt werden, um die Verzögerungsgrenze nicht zu durchbrechen. Tatsächlich ist gerade das Gegenteil der Fall; in vielen Beispielen sind die Bedingungen an bestimmten Netzknoten derart, dass die „ungünstigster Fall"-Grenze in statistischer Hinsicht allzu pessimistisch ist.
  • Es wird deshalb nicht vorgeschlagen, dass es für CAC immer passend ist, die Verzögerungsgrenze für den ungünstigsten Fall zu berücksichtigen, da diese Grenze zunehmend pessimistisch wird, wenn die maximale Anzahl von Flüssen, die aufgenommen werden kann, zunimmt. Stattdessen glauben wir, dass CAC-Regeln in einigen Fällen etwas gelockert werden können, wodurch mehr Flüsse zugelassen werden können, und dass CAC gemäß der Position eines Netzknotens auf zumindest drei Arten angewendet werden kann:
  • Wenn die erforderliche Verzögerungsgrenze äquivalent zu einem relativ kleinen Rückstand von BD-Paketen ist (zum Beispiel bei einer Verbindung mit geringer Geschwindigkeit), basiert die Zugangssteuerung auf einer Kombination eines „Spitzenwertsummentests" und eines „ungünstigster Fall-Verzögerungstests".
  • Wenn die Verbindungsgeschwindigkeit derart ist, dass die Verarbeitungszeit eines einzelnen Pakets im Vergleich zu der erforderlichen Verzögerungsgrenze ausreichend klein ist, können statistische Erwägungen zu der Folgerung führen, dass nur der „Spitzenwertsummentest" angewendet werden muss.
  • Zwischen diesen beiden Extremen kann die Zugangssteuerung geeigneterweise auf einer Kombination aus einem „Spitzenwertsummentest" und einem „ungünstigster Fall-Verzögerungstest" basieren. Letzterer basiert auf dem Zulassen von Flüssen solange, bis die Wahrscheinlichkeit, eine spezifizierte Verzögerung zu überschreiten, einen bestimmten (kleinen) Wert überschreitet.
  • Darüber hinaus kann es hinsichtlich des Spitzenbandbreite-Summentests als praktisch angesehen werden, einen Grad statistischen Multiplexens anzuwenden, insbesondere für Netzknoten, welche dazu vorgesehen sind, eine große Anzahl von Flüssen zu übertragen. Dies hat zur Folge, dass die Summe der Spitzenwerte für alle zugelassenen Sitzungen die zugewiesene Spitzenwertsumme für den Verkehr der Klasse mit begrenzter Verzögerung überschreiten kann. Dies kann auf Grundlage des Wissens oder der Wahrscheinlichkeit erfolgen, dass Hostrechner zeitweise Verkehr mit einem Ausmaß unterhalb ihrer spezifizierten Spitzenwerte erzeugen.
  • Es wird erwartet, dass zukünftige Netzwerke sehr wahrscheinlich eine Mischung aus Verkehr nach bester Möglichkeit und Verkehr mit begrenzter Verzögerung unterstützen, wobei die Verwendung einer Spitzenwert-CAC für die Klasse der begrenzten Verzögerung nicht notwendigerweise zu einer schlechten Ausnutzung der Verbindung führt. Der Grund dafür liegt darin, dass der Modus nach bester Möglichkeit sich an die vorhandenen vorbestimmten Anteile derart anpasst, jede Reserve-Bandbreite des Modus für begrenzte Verzögerung zu benutzen. Tatsächlich bedeutet dies, dass der Modus für begrenzte Verzögerung einen garantierten maximalen Anteil der gesamten Bandbreite umfassen wird, und dass der Modus nach bester Möglichkeit einen garantierten minimalen Anteil umfassen wird, welcher im Mittel größer sein wird, als von den Ausnutzungsstatistiken des Modus für begrenzte Verzögerung bestimmt. Eine ähnliche Situation besteht auch hinsichtlich einer Pufferspeicherausnutzung, wie im Folgenden erläutert wird.
  • Wenn der Pufferspeicher für begrenzte Verzögerung derart dimensioniert ist, jeglichen Paketverlust zu vermeiden, erscheint er im Mittel übermäßig überdimensioniert, wenn das Netzwerk nur einen Verkehr mit begrenzter Verzögerung unterstützt. Wenn es jedoch beide Betriebsmodi unterstützt, könnte jeder nicht gebrauchte Pufferspeicherplatz, wenn notwendig, zur Verwendung durch den Modus nach bester Möglichkeit freigegeben werden. Eine Implementierung dieses Merkmals könnte sein, bestimmte Grade der Pufferspeicherfüllung als Metriken zum Anfordern/Freigeben von Pufferspeicherplatz zu verwenden. Somit sollte es möglich sein, den gesamten Pufferspeicherplatz derart zu dimensionieren, dass ein vernünftiger Grad von Pufferspeicherausnutzung erreicht wird, ohne aber eine bestimmte Wahrscheinlichkeit eines Paketverlustes akzeptieren zu müssen. Anders gesehen, anstatt dass der Modus für begrenzte Verzögerung eine endliche Wahrscheinlichkeit eines Paketverlustes aufweist, wie es normalerweise der Fall ist, wird es wahrscheinlich, dass der Modus nach bester Möglichkeit einigen Pufferspeicherplatz aufgibt.
  • Durch die Verwendung geeigneter Kombinationen der in 1(a) bis 1(d) gezeigten Netzwerkelemente werden eine Vielzahl von Netzwerkgestaltungen verfügbar, welche sowohl den Modus nach bester Möglichkeit als auch den Modus für begrenzte Verzögerung unterstützten, wie in 2(a) bis 2(c) gezeigt wird.
  • Wiederum ist, wie hinsichtlich der Netzwerkelemente erörtert wurde, zu erkennen, dass, obwohl nur ein einzelner Pfad zwischen dem sen denden Hostrechner und dem empfangenden Hostrechner gezeigt wird, die Netzwerkelemente 1a–1d tatsächlich Verbindungen mit vielen anderen, einen Teil des Netzwerks bildenden Netzknoten (nicht gezeigt) des Netzwerks aufweisen.
  • In 2(a) ermöglicht ein Zugangs-Netzknoten (1), der auf der Netzknotenarchitektur von 1(a) basiert, und ein Ausgangs-Netzknoten (25), der auf der Architektur von 1(c) basiert, eine Verbindung zu jeweils physikalisch getrennten verbindungsorientierten und verbindungslosen Netzwerken.
  • 2(b) zeigt ein ähnliches Netzwerkbeispiel wie in 2(a), welches aber eine Vielzahl von in der Netzknotenarchitektur von 1(b) gezeigter Netzknoten (13) verwendet, um eine Verbindung zwischen dem Zugangs-Netzknoten (1) der Netzknotenarchitektur von 1(a) und dem Ausgangs-Netzknoten (25) der Netzknotenarchitektur von 1(c) herzustellen.
  • 2(c) zeigt ein Netzwerk, welches nur aus Elementen gemäß der Netzknotenarchitektur (35) von 1(d) besteht.
  • Es ist anzumerken, dass CAC nur an einem einzelnen Netzknoten oder einer Teilmenge von Netzknoten anstatt an jedem Netzknoten durchgeführt werden muss. Es ist möglich, CAC beispielsweise nur an dem Zugangs-Netzknoten oder an dem Ausgangs-Netzknoten anzuwenden.
  • Ein wichtiges Merkmal der Erfindung ist die Fähigkeit, die Notwendigkeit zur Verhandlung über Verzögerungen beim Erstellen eines Flussmodus für begrenzte Verzögerung zu beseitigen. Dies wird erreicht, indem die Netzwerkverzögerungen bis zu dem Punkt reduziert werden, an dem sie ein zu vernachlässigender Teil der gesamten End-zu-End Verzögerung werden. Wie erörtert, verursachen mehrere Faktoren eine Verzögerung an einem Element, aber grundsätzlich werden sie von der Geschwindigkeit der Verbindung des Ausgabe-Anschlusses und des Füllzustands des Pufferspeichers bestimmt, welcher andererseits von der maximalen Paketgröße und den CAC-Regeln abhängt (das heißt, von der maximal erlaubten Anzahl von gleichzeitigen Benutzern und der Grad des statistischen Multiplexens).
  • Rein schematische Beispiele von Veränderungen einer relativen Verzögerung als eine Funktion dieser Parameter werden in 3(a) bis 3(c) gezeigt.
  • 3(a) zeigt eine schematische Darstellung der Bestandteile der gesamten End-zu-End Verzögerung für eine bestimmte Netzwerkkonfiguration mit einer Vielzahl von Netzwerkelementen, welche einen Bereich von Verbindungsgeschwindigkeiten aufweisen, die nur Flüsse für Verbindungsmodi mit beispielsweise einer maximalen Paketgröße von 1 Kbyte unterstützen und ein statistisches Multiplexing-Verhältnis von 2.5 verwenden. Es ist für dieses spezielle Beispiel offensichtlich, dass die gesamte End-zu-End Verzögerung von den Verzögerungen der Netzwerkverbindungen beherrscht wird.
  • Ein Vergleich von 3(a) mit 3(b) zeigt jedoch, wie diese Verzögerungen geringer werden, wenn CAC statistisches Multiplexen verhindert (das heißt, der momentane Bandbreitenbedarf überschreitet niemals den zugewiesenen Anteil). Ein Vergleich ferner von 3(c) mit 3(b) zeigt die zusätzlichen Verringerungen, die mit einer fünffachen Reduzierung der Paketgröße erreicht wird. Es wird aus diesen Vergleichen sofort offensichtlich, dass die End-zu-End-Verzögerung zu einem Zeitpunkt von dem Zustand, in dem sie von Verbindungsverzögerungen beherrscht wird, in den Zustand wechselt, in dem sie von Verzögerungen der Hostrechner beherrscht wird.
  • Ein weiterer die Verbindungsverzögerung beeinflussender Faktor ist der Anteil der gesamten Bandbreite, die für einen Betrieb des Verbindungsmodus zugewiesen wird. Zum Beispiel stellen in unserem besonderen Beispiel die durch Verringerung der Paketgröße erreichten Verringerungen der Verzögerung auch die dar, welche aus der Verringerung der der Klasse für begrenzte Verzögerung zugewiesenen Bandbreite von 100% auf 25% der gesamten Bandbreite der Ausgabe-Verbindung resultieren würden.
  • Aus der vorhergehenden Erörterung folgt, dass für die Betriebsklasse mit begrenzter Verzögerung durch die Kombination von nichtstatistischem Multiplexen (Spitzenwert-dimensionierte Bandbreite), kleiner Paketgröße, hoher Verbindungsgeschwindigkeit und einem kleinen Anteil der gesamten Bandbreiten-Zuweisung die Verbindungsverzögerung auf einem Minimum gehalten werden kann.
  • Ein Vorteil des Betriebs innerhalb der von Verzögerungen durch Hostrechner beherrschten Betriebsbedingungen liegt darin, dass es für Anwendungen möglich ist, ihre eigene End-zu-End Verzögerung einfach durch ein Setzen geeigneter Betriebsbedingungen steuern zu können, ohne dass das Netzwerk beteiligt sein muss; aber sicherlich hängt dies letztendlich von den Anforderungen der Anwendungen ab. Ein Beispiel dafür kann die Ermittlung einer nominalen Rahmengröße für Daten sein, was für den empfangenden Hostrechner nützlich sein wird. Dies liegt aber noch immer innerhalb eines tolerierbaren Verzögerungs-Betriebszustands und wird von der Rahmenfüll-/Rahmenlesezeit verursacht. Es muss sicherlich festgehalten werden, dass die Brauchbarkeit der Erfindung nicht auf den Betrieb in einem Betriebszustand beschränkt ist, in dem Verzögerungen durch Hostrechner vorherrschen. Vorteilhafte Betriebsbedingungen ergeben sich ebenfalls, wenn alle Verzögerungen gleich, aber gering sind.
  • Wie erwähnt können die Identifizierungen zwischen gegebenen Flüssen und den zugehörigen Spitzenwert-Bandbreiten auf mehrere Arten durchgeführt werden. Das von IETF definierte Betriebsmittel-Reservierungs-Setup-Protokoll (RSVP – Resource Reservation Set-Up Protocol) liefert ein derartiges Mittel. Der RSVP-Pfad und die Resv-Signalisierungsmeldungen würden wie normal unter Verwendung von Tspec- und Rspec-Feldern arbeiten, um den Fluss der BD-Klasse und die Spitzenwertanforderungen Pk_flow für diesen Fluss zu identifizieren, wobei diese Signalisierungsmeldungen abschnittsweise (hop by hop) zum Empfänger und dann abschnittsweise zurück an den Sender geleitet werden. Für einen Netzknoten, welcher die in Gleichung 4 beschriebene Spitzenbandbreite-CAC-Regel anwendet, würde jeder Abschnitt zurück an den Sender die Summe der angeforderten Bandbreite Pk_flow und der vorhandenen akkumulierten Bandbreite Pk_accum mit der gesamten Bandbreite vergleichen, welche an dem Ausgangs-Anschluss (Richtung von Sender an Empfänger) der BD-Klasse (Pk_alloc) zugewiesen ist. Es würde auch sichergestellt werden, dass andere anwendbare CAC-Regeln auf ähnliche Weise angewendet würden.
  • Wenn CAC erfolgreich ist, werden die Spitzenbandbreite für diesen Fluss, Pk_flow, und der zugehörige Fluss-Klassifizierer zusammen mit allen anderen für die CAC-Steuerung verwendeten Parametern in dem Netzknoten gespeichert. Dieser Zustand wird von RSVP-Meldungen wie normal aktualisiert. Ein Erhalt von Datenpaketen kann ebenso verwendet werden, um diesen Zustand zu aktualisieren. Dieser „weiche" Zustand würde daher entfernt werden, wenn er nicht aktualisiert und die zugehörigen Bandbreite und Flusszähler dementsprechend modifiziert würden. Es ist offensichtlich, dass eine Identifizierung von Flüssen, welche die CAC passiert haben, den Verkehr überwachen und sicherstellen muss, dass, wenn die Flüsse aufhören, die entsprechenden Änderungen der Schlüssel-Nutzungsparameter aufgezeichnet werden. Zum Beispiel wird der korrekte Pk_flow-Wert von dem Gesamtbetrag des Ausgangs-Anschlusses Pk_accum entfernt. RSVP-Reservierungen für die IP-Version 4 werden von Quelladresse/Zieladresse/Anschluß-Triples identifiziert, die als die Fluss-Klassifizierer wirken. IP-Version 6 weist den Begriff eines einzelnen Felds mit Namen Fluss-ID auf. Andere Klassifizierer, die sich auf Gruppen von Sendern oder Empfängern (Adressen-Präfixe), Verkehrstypen (Anschlussnummer/Transportprotokoll) oder andere Identifizierer beziehen, wie „Tags", sind allgemein bekannt und könnten verwendet werden, um einen zusammengesetzten Klassifizierer vorzusehen. Mehrere Flüsse können leicht in der CAC und in Signalisierungsverfahren unserer Erfindung zusammengefasst werden, indem einfach die gesamte Spitzenbandbreite der zusammengefassten Flüsse summiert wird und dies als ein zusammengesetzter Klassifi zierer gespeichert wird. Diese zusammengefasste gesamte Spitzenbandbreite, der Pk_flow-Wert, wird an den nächsten, flussabwärts gelegenen Netzknoten gesendet. Das Modus-Identifizierungs-Verfahren kann auf mehrere Arten erreicht werden und könnte in diesem Fall ein Teil des allgemeinen „Außerband (out of band)"-RSVP-Signalisierungs- und Klassifizierungsverfahrens sein.
  • Wenn CAC ausfällt, wird der Zustand des Klassifizierers gespeichert, aber keine Betriebsmittel werden zugewiesen. Dieser Klassifiziererzustand wird verwendet, um eingehende BD-Pakete von diesem Fluss in den BE-Pufferspeicher dieses Netzknotens umzuleiten, um die anderen zugelassenen BD-Flüsse in diesem Netzknoten zu schützen. Flussabwärts gelegene Netzknoten, in denen dieser Fluss die CAC passierte, können dieses Paket noch immer zurück in die BD-Klasse bringen. RSVP-Messaging kann sicherstellen, dass der Kunde über eine unvollständige Reservierung informiert wird, oder andere Protokolle oder Diagnose-Hilfsmittel können diese Rückmeldung vorsehen. Der Kunde kann an diesem Punkt entscheiden, den Fluss aufgrund des Ausfalls der BD-Klassen-Anforderung zu beenden, was dazu führen würde, dass der Klassifiziererzustand in allen Netzknoten durch eine Zeitüberschreitung unterbrochen wird. Wenn der Benutzer fortfährt und BD-Pakete sendet, dann würden diese in bestimmten Netzknoten (ausgefallene CAC) den BE-Pufferspeicher benutzen; einige Zeit später können in diesem Netzknoten Betriebsmittel verfügbar werden, was bei einer Aktualisierung des CAC-Verfahrens dazu führt, dass dieser Fluss in die BD-Klasse zugelassen wird. Dafür sind eine Anzahl von Algorithmen möglich, aber ein Beispiel würde sein, dass ausgefallene Flüsse in einem Netzknoten auf Grundlage von „zuerst ausgefallen, zuerst bearbeitet" (First Failed First Served) gesucht werden, um den Fluss/die Flüsse mit Pk_flow zu finden, welcher/welche dieses neu freigegebene Betriebsmittel auffüllen kann/können. Der beste Algorithmus hängt von anderen Faktoren ab, wie dem Verrechnungsmodell, der Anzahl verschiedener Flusstypen und der Zielausnutzung des Netzknotens.
  • Eine Überwachung könnte entweder an allen Netzknoten oder nur an den Eingangs- und Ausgangs-Netzknoten dieses verzögerungsbegrenzten Netzwerks stattfinden, wenn eine ausreichende Kapazität für die Verkehrs-Matrix und der zugewiesenen Menge der BD-Klassen-Kapazität vorgesehen wurde. Das Überwachen würde sicherstellen, dass die Flüsse der BD-Klasse innerhalb der angegebenen maximalen Paketlänge und des Spitzenwerts gehalten werden, und ebenso Funktionen implementieren, wie Paketzählung, Reservierungsverfahren und Verrechnung.
  • Änderungen des Routings würden dazu führen, dass die Pakete für diesen Fluss andere Netzknoten benutzen, und der Aktualisierungsmechanismus würde verwendet, um CAC in den neuen Netzknoten aufzurufen, während der „weiche" Zustand sicherstellt, dass die alten Netzknoten die vorher reservierte Bandbreite zurückgeben.
  • Eine alternative Implementierung könnte sein, eine so genannte Signalisierung „während der Übertragung (on the fly)" zu verwenden. Dies vermeidet die Benutzung von RSVP und die zugehörige Hin- und Rückverzögerung, indem das erste Paket verwendet wird, die erforderlichen Parameter für diesen Fluss anzuzeigen. Eine Implementierung wird im Folgenden unter Bezugnahme auf 4 beschrieben.
  • Die Flusspakte (45) weisen einen Header-Abschnitt mit einer Anzahl von Feldern und einen Daten enthaltenden Nutzdatenabschnitt (47) auf.
  • Die ersten beiden Header-Felder (48, 49) tragen die Quell- und Zieladressen, wobei diese verwendet werden, die Pakete auf die übliche Art über das Netzwerk zu leiten. Andere bekannte Felder können ebenfalls enthalten sein.
  • In dem einfachsten Ausführungsbeispiel wird das Modus-Identifizierungs-Feld (50) verwendet, um zwischen Paketen des Modus nach bester Möglichkeit und des Modus mit begrenzter Verzögerung zu unterscheiden. Das Paket-Identifizierungs-Feld (51) wird verwendet, um Pakete mit spezieller Funktionalität anzuzeigen.
  • Das/die Zusatz-Verarbeitungs-Informations-Felder) (52) wird/werden verwendet, um Netzwerkelementen Informationen anzuzeigen, wie den wirksamen Spitzendatenwert, welchen der Hostrechner für seinen Flussmodus mit begrenzter Verzögerung gewählt hat.
  • Alle diese Header-Felder (46) können von der Anwendung spezifiziert werden. Alternativ können sie von dem Eingangs-Netzknoten bei Eintritt in das Netzwerk mit begrenzter Verzögerung spezifiziert werden. Der Nutzdatenabschnitt (47) des Pakets enthält die über das Netzwerk an den Ziel-Hostrechner zu übertragende Information.
  • Hinsichtlich der unter Bezugnahme auf 1 erläuterten Ausführungsbeispiele für Netzwerkelemente kann der Modus-Identifizierer auf diese Weise die Identifizierung des Modus mittels Lesen des Mo dus-Identifizierungs-Felds (50) im Header des erhaltenen Pakets (45) durchführen. Auf ähnliche Weise kann das erste Paket eines neuen Flusses verwendet werden, um das Verbindungsfreigabesteuerungs-Verfahren (CAC – connection admission control) zu starten. Nachdem der Paket-Identifizierer das erste Paket eines neuen Flusses durch das Paket-Identifizierungs-Feld (51) identifiziert hat, kann er veranlassen, dass der vorgeschlagene Bandbreitenbedarf von einem Bandbreitenfeld (52) des ersten Pakets gelesen wird, woraufhin die Spitzenwert-CAC-Entscheidung getätigt werden kann. Andere derartige Parameter können auf ähnliche Weise erlangt werden.
  • Somit können Flüsse der Klasse mit begrenzter Verzögerung unter Verwendung von „Signalisierung während der Übertragung" ohne eine getrennte Signalisierungsphase errichtet werden.
  • Auf ähnliche Weise kann auch ein bestimmter Paket-Identifizierer für den Zweck des Sendens von Zwischenpaketen innerhalb eines Flusses zur Zusatz-Verarbeitung definiert werden, wodurch Anwendungen dynamisch ihre End-zu-End-Verzögerungsanforderungen wie erforderlich anpassen können.
  • Alle Pakete können den Modus-Identifizierer für die BD-Klasse umfassen. Jedoch kann der Modus-Identifizierer aus dem ersten „Signalisierungspaket" genommen und als Teil des Klassifizierers gespeichert (in den Cache genommen) werden, um dann wiederhergestellt zu werden, wenn ein mit dem Klassifizierer übereinstimmendes Paket erhalten wird, und dazu verwendet zu werden, um das Paket in den richtigen Pufferspeicher zu bringen. Alternativ kann der Modus statisch für spezifische Klassifizierer und insbesondere für zusammen gesetzte Klassifizierer konfiguriert werden, um automatisch die BD-Klasse für VPN-Konfigurationen und für bestimmte Verkehrstypen, wie Telefonieren über das Internet, vorzusehen.
  • Bei einer „Signalisierung während der Übertragung" umfasst das erste Paket des Flusses die zugehörige Spitzenwert-Bandbreite für den Fluss, Pk_flow, und andere für CAC notwendige Parameter. Ein neuer Fluss kann in jedem Netzknoten des End-zu-End-Pfades unter Verwendung derselben CAC-Regeln, wie oben beschrieben, zugelassen werden. Wenn der Fluss CAC nicht besteht, wird wie vorher ein Fehler-Klassifizierer-Zustand aufgestellt, aber nun wird eine neue „CAC-nicht-bestanden"-Meldung an den Sender zurückgeschickt. Dies kann ein neuer ICMP-Code oder ein anderes Mittel sein. Zusätzlich wird in dem ersten Paket-Header ein „CAC-nicht-bestanden"-Flag gesetzt, so dass flussabwärts gelegene Netzknoten und der Empfänger ebenfalls von dem Fehler benachrichtigt werden. Flussabwärts gelegene Netzknoten senden keine CAC-Fehler-Meldungen zurück, was andernfalls den Sender überschwemmen würde. Die verbleibenden Pakete in dem Fluss, die mit dem Klassifizierer übereinstimmen und bei denen der BD-Modus gesetzt ist, werden in den BD-Pufferspeicher zugelassen, aber benutzen den BE-Pufferspeicher in Netzknoten, welche der Fluss während CAC ausgelassen hat. Eine Aktualisierung des Signalisierungspakets, das den Pk_flow-Wert und andere CAC-Parameter anzeigt, wird verwendet, um Änderungen im Routing, Zeitüberschreitung des Klassifizierer-Zustands und spätere Zulassung zu Betriebsmitteln bei anfänglichem Fehler während CAC zu bewältigen.
  • Es ist bekannt, dass mit dem oben dargestellten Ansatz für Einzelpaket-Flüsse eine Spitzenwert-Information nicht in dem Paket-Header versendet werden muss, so dass das normalerweise für diese Information vorgesehene Feld auf einen definierten Standardwert, wie beispielsweise null, gesetzt werden kann und dazu verwendet werden kann, einen Einzelpaket-Fluss anzuzeigen.
  • Für das heutige IP v 4 Protokoll kann das vorhergehende Beispiel implementiert werden, indem Modus- und Paket-Identifizierer-Codes zur Verwendung in dem TOS-Header-Feld spezifiziert werden. Die notwendige Bandbreite kann entweder vorkonfiguriert oder in dem IP v 4 Optionsfeld platziert werden. Für IP v 6 können die Modus- und Paket-Identifizierer-Codes in dem Fluss-ID-Feld platziert werden und der Bandbreitenbedarf kann in dem abschnittsweisen (hop-by-hop) Erweiterungs-(Optionen)-Header platziert werden. Wenn Information an den sendenden Hostrechner zurückgesendet werden muss, können geeignete ICMP-Meldungen erzeugt werden, beispielsweise Flusszugang zurückgewiesen etc.
  • Es ist sehr wahrscheinlich, dass eine Form einer Fähigkeit zu Verkehrsverarbeitung innerhalb sowohl des Ausgangs- als auch des Empfangs-Hostrechnerterminals notwendig wird, abhängig sowohl von dem verwendeten Anwendungstyp als auch der Anzahl der erzeugten simultanen Flüsse. Deswegen wird erwartet, dass Hostrechner im Allgemeinen die duale Pufferspeichereigenschaft der Netzwerkelemente benutzen werden.
  • Ein Beispiel einer Anordnung einer derartigen Hostrechner-Architektur wird in 5 dargestellt. Der Hostrechner kann zum Beispiel unter Verwendung bekannter Unix-Arbeitsplatzrechner- oder PC-Technologie implementiert werden, welche mit einer geeigneten Netzwerk-Schnittstelle ausgestattet ist.
  • In der in 5 gezeigten allgemeinen Hostrechner-Konfiguration (53) erzeugt Anwendung A (54) einen oder mehrere Flüsse, die in der Klasse mit begrenzter Verzögerung gesendet werden. Unter der Annahme, dass diese Betriebsklasse benutzende Anwendungen im Allgemeinen burst-artige Paketflüsse erzeugen, werden in einigen Fällen bei Werten, die, anstatt durch die Anwendung, durch die interne Betriebsgeschwindigkeit des Hostrechners festgelegt werden, ein Pufferspeicher (55) für begrenzte Verzögerung, eine Pufferspeicher-Zuweisung und Paketgröße-Steuerungen (56, 57) zur Hostrechnerleistungs-Steuerung zusammen mit einem zugehörigen Scheduling-Element (58) für Zwecke der Flussgestaltung vorgesehen. Das Scheduling-Element (58) wird von einem geeigneten Scheduling-Algorithmus (59) gesteuert.
  • Da Hostrechner prinzipiell simultan sowohl Flüsse mit begrenzter Verzögerung als auch Flüsse nach bester Möglichkeit laufen lassen können, wird ein Pufferspeicher (60) nach bester Möglichkeit nur vorgesehen, um der Tatsache gerecht zu werden, dass der Scheduling-Algorithmus/die Scheduling-Algorithmen (59) derart gestaltet werden, den in dem Pufferspeicher (55) für begrenzte Verzögerung gespeicherten Paketen höchste Priorität einzuräumen. Die Anwendung B (61) kann ebenfalls eine ähnliche Kontrolle über die Pufferspeicher-Zuweisung (nicht gezeigt) und die Paketgröße (62) ausüben, wie für Anwendung A (54) gezeigt wurde.
  • Eine Verkehrsgestaltung ist ein wichtiger Aspekt für Flüsse, für welche eine begrenzte Verzögerung garantiert ist. Eine Gestaltung ermöglicht in erster Linie, dass die Zeit zwischen Ankünften von Paketen, welche von einer Anwendung erzeugt wurden, modifiziert werden kann, bevor diese in das Netzwerk eingegeben werden. Somit kann die burst-Artigkeit eines Paketflusses durch Gestaltung gesteuert werden, was zur Folge hat, dass eine niedrigere Spitzenbandbreite von dem Netzwerk benötigt wird, als andernfalls der Fall gewesen wäre. Tatsächlich ist eine Verkehrsgestaltung einfach ein Kompromiss zwischen dem Bandbreitenbedarf des Netzwerks und der Verzögerung des Hostrechners, wobei letztere abnimmt, wenn ersterer zunimmt. Bis jetzt wurde eine Verkehrsgestaltung im Allgemeinen durch Verwendung von entweder Token Bucket- oder Leaky Bucket-Gestaltern erreicht, wobei in manchen Fällen eine Kombination aus beiden verwendet wird.
  • Es ist bekannt, dass, obwohl eine Token Bucket-Gestaltung nicht verhindern kann, dass Paket-Bursts in das Netzwerk gegeben werden, diese die Größe der Bursts begrenzt. Deswegen beseitigt eine Token Bucket-Gestaltung nicht die Möglichkeit, dass die Flussrate sofort den spezifizierten Spitzenwert überschreitet, wenn der momentane Wert über eine Zeitdauer kalkuliert wird, welche vom Start einer Paketreihe (was ein einzelnes Paket sein kann) bis zur benachbarten gemessen wird, wie in 7 dargestellt wird. Auf Grundlage dieser Definition wird der momentane Spitzenwert für einen Fluss bestimmt durch
    Figure 00460001
    wobei lpacket die Größe eines Pakets in Bits ist und die algebraische Summe eine Summierung über alle Pakete angibt, die innerhalb der bestimmten betrachteten Zeitspanne enthalten sind, wobei t1 bis t5 in 7 Beispiele darstellen.
  • Wenn der verwendete Gestaltungsvorgang sicherstellt, dass der momentane Spitzenwert niemals den spezifizierten Spitzenwert überschreitet, wird das im Folgenden als genaue Spitzenwertgestaltung bezeichnet.
  • Der Grund, warum eine herkömmliche Token Bucket-Gestaltung keine genaue Spitzenwertgestaltung liefern kann, liegt darin, dass der verwendete Scheduling-Algorithmus zulässt, dass, wenn die geeignete Anzahl von Token verfügbar wird, Pakete unmittelbar in das Netzwerk gegeben werden. Dies wird in 6 dargestellt, die einen qualitativen Vergleich zwischen Flüssen, die durch Token Bucket und einer Spitzenwertgestaltung erzeugt wurden, für eine bestimmte momentane Füllung des Pufferspeichers für begrenzte Verzögerung zeigt. Wird angenommen, dass eine genaue Spitzenwertgestaltung niemals zulässt, dass der Fluss den spezifizierten, gemäß der Gleichung (11) berechneten Spitzenwert überschreitet, ist es aus dem Vergleich der Flüsse A und C offensichtlich, dass in diesem besonderen Fall der Fluss in Form des Token Bucket den spezifizierten Spitzenwert überschreitet. Es soll angemerkt werden, dass, damit die Ausgangsflüsse die vorgegebenen Formen annehmen, der Token Bucket anfangs voller Token und die Ausgabeverbindungsgeschwindigkeit deutlich höher als der spezifizierte Spitzenwert gewesen sein muss. Ebenso wären sowohl der Bucket-Füllwert r als auch der Pk_flow-Term in der folgenden Gleichung (12) gleich dem selben Wert des spezifizierten Spitzenwerts.
  • Obwohl erwartet wird, dass ein kontrollierter Anteil von Paket-Bündelung tolerierbar ist, kann es für einige Implementierungen vorteilhaft sein, genaue Spitzenwertgestaltung anstatt herkömmlicher Token Bucket- oder Leaky Bucket-Gestaltung zu verwenden. Dies liefert eine genaue Kontrolle des momentanen Spitzenwerts. Ein Verfahren, um eine genaue Spitzenwertgestaltung zu erreichen, wird in 6 gezeigt: zur Vereinfachung wurden die in 5 gezeigten Elemente nach bester Möglichkeit entfernt, zusammen mit den Elementen der Klasse mit begrenzter Verzögerung, welche nicht zum Gestaltungsverfahren beitragen. Eine Spitzenwertgestaltung verhindert eine Paket-Bündelung wirksam dadurch, dass sie garantieren kann, dass die Flussrate in das Netzwerk niemals den spezifizierten Spitzenwert überschreiten wird. Ein gutes Beispiel eines Scheduling-Algorithmus, der dies erfüllt, ist einer, bei dem die Entscheidung, ein Paket in das Netzwerk zu geben, auf der Größe des vorhergehenden Pakets und auf der Zeit basiert, wann es gesendet wurde. Deswegen lässt das Scheduling-Element kein neues Paket in das Netzwerk zu, bis der Zeitablauf seit dem Zulassen des vorhergehenden Pakets, τnlapse, die Beziehung
    Figure 00480001
    erfüllt, wobei lpacket die Paketgröße in Bits und Pk_flow den spezifizierten Spitzenwert für den Fluss in Bits/Sekunde darstellt. Das hochgestellte n stellt das zu sendende Paket und das hochgestellte n – 1 stellt das vorherige gesendete Paket dar.
  • Es sollte ebenfalls möglich sein, eine genaue Spitzenwertgestaltung unter Verwendung eines Token Bucket-Gestalters zu implementieren, vorausgesetzt, es wird eine geeignete Größe des Buckets in Verbindung mit einer anderen als bisher verwendeten Scheduling-Regel verwendet. Wenn es beispielsweise eine spezifizierte maximal zulässige Paketgröße für die Klasse mit begrenzter Verzögerung gibt, würde eine Spitzenwertgestaltung unter Verwendung einer Größe des Buckets erreicht, die gleich ist zu der maximal zulässigen Paketgröße, in Verbindung mit der Regel, dass keine Pakete gesendet werden können, bis der Token Bucket voll ist. Wenn der Bucket voll ist, wird der Pufferspeicher ausgegeben, bis entweder der Token Bucket oder der Pufferspeicher geleert ist. Es werden dann keine Pakete mehr gesendet, bis der Token Bucket wieder vollständig voll ist, und so weiter. Eine Verwendung dieses Ansatzes für die Bedingungen, die für den qualitativen Vergleich in 6 angenommen wurden, würde zu einer Bündelung ähnlich wie für Fluss B dargestellt führen.
  • Jedoch werden herkömmlichere Gestaltertypen nicht ausgeschlossen, einschließlich diejenigen, welche auf (r, T)-glatten Scheduling-Algorithmen basieren.
  • Unabhängig davon, welcher Gestaltungstyp verwendet wird, ermöglicht die Hostrechner-Konfiguration (53) in 5, dass Anwendung A die geeigneten Gestalterparameter in Zusammenhang mit anderen Steuerparametern wählen kann, wie Paketgröße, Pufferspeicherzuweisung und Spitzenflusswert. Wenn jedoch dieser Hostrechner in einem Netzwerk verwendet wird, welches IP-integrierte Dienste unterstützt, würde er eine Token Bucket-Gestaltung verwenden, und die meisten, wenn nicht alle, der anderen Parameter und der Parameter für den Token Bucket würden als Konstanten betrachtet werden, nachdem sie für einen neuen Fluss gewählt wurden. Der hauptsächliche Grund dafür liegt darin, dass manche dieser Parameter innerhalb des Netzwerkes verteilt werden müssen, und dies umfasst das Einleiten einer RSVP-Signalisierungsphase, immer dann, wenn diese geändert werden. Dies ist nicht besonders von Belang, wenn anfangs ein Fluss aufgebaut wird, wird es aber sonst, da eine Signalisierungsverzögerung strikt die Rate begrenzt, mit der Änderungen implementiert werden können. Dies begrenzt strikt die Steuerung, welche eine Anwendung über sowohl die Hostrechner-Leistung als auch seine End-zu-End-Verzögerung ausübt, nachdem ein Fluss eingerichtet ist. Dies ist nicht der Fall, wenn ein Netzwerk benutzt wird, welches die Klasse mit begrenzter Verzögerung unterstützt.
  • In einem einfachen Ausführungsbeispiel, das den Betrieb mit begrenzter Verzögerung aufruft, ist die einzige von dem Netzwerk geforderte Information der von dem Fluss benötigte Spitzenwert, und dieser kann von einer Signalisierung „während der Übertragung (on the fly)" vorgesehen werden. Folglich kann die Anwendung nun kontinuierlich die Hostrechner-Leistung während der Lebensdauer eines Flusses überwachen und, wenn notwendig, Pufferspeicher-Zuweisung, Paketgröße, Paketausschuss oder Spitzenwert so oft wie nötig und ohne das Netzwerk zu beteiligen anpassen. Dies gewährt der Anwendung eine viel größere dynamische Kontrolle über die Hostrechner-Leistung als normalerweise möglich wäre. Wenn beispielsweise die Anwendung anfangs eine unzureichende Pufferspeichergröße für die gewählte Datenmenge anfordert, hat sie nun die Option, dass sie Pakete aufgeben, die Pufferspeichergröße auf Kosten einer zunehmenden Verzögerung erhöhen, die Paketgröße auf Kosten eines reduzierten Bandbreiten-Wirkungsgrads (mehr Header pro Zeiteinheit) verringern oder einen höheren Spitzenwert von dem Netzwerk anfordern kann.
  • Während oben Ausführungsbeispiele der Erfindung hinsichtlich einer Klasse mit begrenzter Verzögerung und einer verbindungslosen Klasse nach bester Möglichkeit beschrieben wurden, sind eine Reihe weiterer Unterklassen möglich.
  • Wenn beispielsweise für die Klasse mit begrenzter Verzögerung der Ansatz gewählt wurde, wonach neue Flüsse ihre maximale Paketgröße als Teil des CAC-Verfahrens signalisieren, können separate Klassen für zwei oder mehrere bestimmte Paketgrößenbereiche definiert werden. Durch ein getrenntes Steuern der Zuweisungen von Bandbreite oder Pufferspeicher-Betriebsmitteln für jede dieser Unterklassen wird eine gewisse Kontrolle über die Verteilung der Paketgrößen für zugelassene Flüsse erreicht, was zu einer Verbesserung der Bandbreiten-Ausnutzung der gesamten Klasse mit begrenzter Verzögerung führen kann. Ein möglicher Nutzen kann darin liegen, dass die Wahrscheinlichkeit der Zulassung von Flüssen mit kleinen Paketgrößen verbessert wird.
  • Eine weitere Möglichkeit liegt darin, dass Unterklassen errichtet werden können, um verschiedene Werte der begrenzten Verzögerung vorzusehen. Dies kann erreicht werden, indem Pakete in mehrere virtuelle Warteschlangen innerhalb der Hauptwarteschlange für begrenzte Verzögerung aufgeteilt werden.
  • Gleichermaßen sind in der Klasse nach bester Möglichkeit die Implementierung von Verkehrsverwaltungsfunktionen wie Zufalls-Früh-Erfassung (RED – Random-early detection), Bilden einer Prioritätswarteschlange, IETF IntServ, klassen-basiertes Bilden einer Warteschlange (CBQ – class-based queuing) und andere derartige Techniken nicht ausgeschlossen.

Claims (15)

  1. Paketvermittlungsnetzelement (1; 13; 25; 35) mit zumindest einem Eingang (2; 15; 27; 36) zum Empfangen Flussbasierter Pakete, wobei ein erhaltenes Paket einer ersten oder zweiten Dienstklasse zugehörig ist; zumindest einem Ausgang (11, 12; 23, 24; 32; 42) mit einer vorbestimmten Bandbreite; Mitteln (3, 5; 16; 28; 37, 38), die jedes erhaltene Paket auf Grundlage seiner Klasse an einen ersten (4; 18; 30; 40) oder einen zweiten (7; 10; 31; 41) zugehörigen Paket-Pufferspeicher leiten, wobei dem ersten Paket-Pufferspeicher ein vorbestimmter Anteil der Ausgangs-Bandbreite und dem zweiten Paket-Pufferspeicher der verbleibende Teil der Ausgangs-Bandbreite zugewiesen ist; und Mitteln (8, 9, 10; 20, 21, 22; 33, 34; 43, 44), die Pakete von den ersten und zweiten Paket-Pufferspeichern an einen Ausgang leiten; wobei das Paketvermittlungsnetzelement gekennzeichnet ist durch: Mittel (6; 17; 29; 39) zum Bestimmen eines Bandbreitenbedarfs für Flüsse erster Klasse, die derart eingerichtet sind, um im Betrieb selektiv für Flüsse erster Klasse den entsprechenden Bandbreitenbedarf für Flüsse erster Klasse zu ermitteln; und Pufferspeicherzugangsmittel (6; 17; 29; 39) für Flüsse erster Klasse, die derart eingerichtet sind, um im Betrieb selektiv für Flüsse erster Klasse einen Zugang der Flusspakete erster Klasse in den ersten Paket-Pufferspeicher zu gewähren, wenn der zugehörige Bandbreitenbedarf gedeckt werden kann.
  2. Element nach Anspruch 1, in dem das Pufferspeicherzugangsmittel für Flüsse erster Klasse eingerichtet ist, einen Spitzenwerttest anzuwenden, der Zugang zu dem ersten Pufferspeicher gewährt, wenn der aktuell nicht genutzte Teil des vorbestimmten Anteils der Ausgangs-Bandbreite den Bandbreitenbedarf des Spitzenwerts decken kann.
  3. Element nach Anspruch 2, in dem das Pufferspeicherzugangsmittel für Flüsse erster Klasse eingerichtet ist, den Spitzenwerttest anzuwenden und einen Pufferspeicherfülltest anzuwenden, der Zugang gewährt, wenn der erste Paket-Pufferspeicher ausreichend Platz aufweist, einen weiteren Fluss aufzunehmen.
  4. Element nach Anspruch 3, in dem das Pufferspeicherzugangsmittel für Flüsse erster Klasse ausgebildet ist, einen Zugang für Pakete des Flusses erster Klasse in den ersten Paket-Pufferspeicher nur zu gewähren, wenn: die Anzahl der Flüsse, die der erste Paket-Pufferspeicher aufnehmen kann, minus die Anzahl der Flüsse, die aktuell aufgenommen sind, zumindest eins ist; und der freie Anteil der Ausgangs-Bandbreite, die dem ersten Paket-Pufferspeicher zugeteilt ist, minus des Bandbreitenbedarfs des Fluss-Spitzenwerts größer oder gleich null ist.
  5. Element nach Anspruch 4, in dem das Zugang gewährende Mittel die Größe des freien Anteils bei Ende eines Flusses vergrößern kann, wobei die Vergrößerung nach dem Ablauf einer Zeitspanne stattfindet, die im wesentlichen gleich ist zu der Paketgröße geteilt durch den zu dem Fluss gehörenden Spitzenwert.
  6. Element nach einem der vorhergehenden Ansprüche, das ferner ein Mittel aufweist, das Flusspakete erster Klasse in den zweiten Paket-Pufferspeicher zulässt, wenn diesen der Zugang in den ersten Paket-Pufferspeicher verwehrt wurde.
  7. Element nach einem der Ansprüche 2 bis 6, in dem das Mittel zum Bestimmen eines Bandbreitenbedarfs für Flüsse erster Klasse eingerichtet ist, einen Informationsabschnitt für den Bandbreitenbedarf des Fluss-Spitzenwerts von dem erhaltenen Paket zu lesen.
  8. Element nach einem der vorhergehenden Ansprüche, das ferner Mittel zum dynamischen Ändern des vorbestimmten Anteils der dem ersten Paket-Pufferspeicher zugeteilten Ausgangs-Bandbreite aufweist.
  9. Element nach Anspruch 2, in dem das Mittel zum Bestimmen eines Bandbreitenbedarfs für Flüsse erster Klasse derart ausgebildet ist, besondere Bandbreitenbedarfswerte eines Fluss-Spitzenwerts für jeweilige einzelne Paketflüsse zu ermitteln.
  10. Element nach einem der vorhergehenden Ansprüche, das ferner Klassenbestimmungs-Mittel aufweist, die ermitteln, ob ein erhaltenes Paket zu einer ersten oder zweiten Dienstklasse gehört.
  11. Element nach Anspruch 10, dadurch gekennzeichnet, dass das Klassenbestimmungs-Mittel eingerichtet ist, zu ermitteln, ob die Pakete zu einer Dienstklasse mit einer begrenzten Verzögerung oder einer Dienstklasse nach bester Möglichkeit gehören.
  12. Element nach Anspruch 10 oder 11, in dem das Klassenbestimmungs-Mittel eingerichtet ist, einen Abschnitt, der die Klasse identifiziert, von dem erhaltenen Paket zu lesen.
  13. Verfahren zum Steuern Fluss-basierter Pakete in einem Paketvermittlungsnetzelement, das die Schritte aufweist: Empfangen Fluss-basierter Pakete, wobei ein erhaltenes Paket zu einer ersten oder zweiten Dienstklasse gehört; Leiten jedes erhaltenen Pakets auf Grundlage seiner entsprechenden Klasse an einen ersten oder einen zweiten zugehörigen Paket-Pufferspeicher, wobei dem ersten Paket-Pufferspeicher ein vorbestimmter Anteil einer vorbestimmten Ausgangs-Bandbreite und dem zweiten Paket-Pufferspeicher der verbleibende Teil der Ausgangs-Bandbreite zugewiesen ist; und Leiten von Paketen von den ersten und zweiten Paket-Pufferspeichern an einen Ausgang; wobei das Verfahren dadurch gekennzeichnet ist, dass selektiv für die Flüsse erster Klasse die Schritte ausgeführt werden: Bestimmen des zugehörigen Bandbreitenbedarfs der Flüsse erster Klasse; und Einlassen der Flusspakete erster Klasse in den ersten Paket-Pufferspeicher, wenn der zugehörige Bandbreitenbedarf gedeckt werden kann.
  14. Netzwerk mit einem oder mehreren Elementen nach einem der Ansprüche 1 bis 12.
  15. Paketvermittlungsnetzelement (1; 13; 25; 35) mit zumindest einem Eingang (2; 15; 27; 36) zum Empfangen Flussbasierter Pakete; zumindest einem Ausgang (11, 12; 23, 24; 32; 42) mit einer vorbestimmten Bandbreite; ersten Mitteln (5; 16; 28; 38) zum Ermitteln, ob ein erhaltenes Paket zu einer ersten oder zweiten Dienstklasse gehört; Mitteln (5; 16; 28; 38), die jedes erhaltene Paket auf Grundlage seiner entsprechenden Klasse an einen ersten oder einen zweiten zugehörigen Paket-Pufferspeicher leiten, wobei der erste Paket-Pufferspeicher eine vorbestimmte Größe aufweist, um eine vorbestimmte Anzahl von Flüssen aufzunehmen, und dem ein vorbestimmter Anteil der Ausgangs-Bandbreite zugewiesen ist, wobei dessen aktuell nicht benutzter Anteil mit der Anzahl der aufgenommenen Flüsse variiert, und dem zweiten Paket-Pufferspeicher der verbleibende Teil der Ausgangs-Bandbreite zugewiesen ist; und Mitteln (8, 9, 10; 20, 21, 22; 33, 34; 43, 44), die Pakete von den ersten und zweiten Paket-Pufferspeichern an einen Ausgang leiten; wobei das Element gekennzeichnet ist durch: Mittel (6; 17; 29; 39) zum Bestimmen eines einem Fluss zugehörigen Fluss-Spitzenwerts des Bandbreitenbedarfs; und Pufferspeicherzugangsmittel für Flüsse erster Klasse, die einen Zugang der Flusspakete erster Klasse in den ersten Paket-Pufferspeicher gewähren, wenn der erste Paket-Pufferspeicher einen weiteren Fluss aufnehmen kann und der aktuell nicht benutzte Anteil den zugehörigen Bandbreitenbedarf des Fluss-Spitzenwerts erfüllen kann.
DE69818846T 1997-09-09 1998-09-09 Paketnetzwerk Expired - Lifetime DE69818846T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP97306976 1997-09-09
EP97306976 1997-09-09
GB9725985 1997-12-08
GBGB9725985.7A GB9725985D0 (en) 1997-12-08 1997-12-08 Packet network
PCT/GB1998/002727 WO1999013624A1 (en) 1997-09-09 1998-09-09 Packet network

Publications (2)

Publication Number Publication Date
DE69818846D1 DE69818846D1 (de) 2003-11-13
DE69818846T2 true DE69818846T2 (de) 2004-08-05

Family

ID=26147594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69818846T Expired - Lifetime DE69818846T2 (de) 1997-09-09 1998-09-09 Paketnetzwerk

Country Status (7)

Country Link
US (1) US6538989B1 (de)
EP (1) EP1013049B1 (de)
JP (1) JP4201978B2 (de)
AU (1) AU9084398A (de)
CA (1) CA2302218C (de)
DE (1) DE69818846T2 (de)
WO (1) WO1999013624A1 (de)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747959B1 (en) 1998-10-07 2004-06-08 At&T Corp. Voice data integrated mulitaccess by self-reservation and blocked binary tree resolution
US6963545B1 (en) * 1998-10-07 2005-11-08 At&T Corp. Voice-data integrated multiaccess by self-reservation and stabilized aloha contention
GB9822550D0 (en) * 1998-10-15 1998-12-09 British Telecomm Computer communications
US6785260B1 (en) * 1998-12-18 2004-08-31 A.T.&T. Corp. Method and apparatus for routing of best-effort and quality of service flows
US6798743B1 (en) * 1999-03-22 2004-09-28 Cisco Technology, Inc. Packet prioritization processing technique for routing traffic in a packet-switched computer network
US6567379B1 (en) * 1999-06-09 2003-05-20 Cisco Technology, Inc. Traffic monitor using leaky bucket with variable fill
SE516754C2 (sv) * 1999-06-24 2002-02-26 Telia Ab Ett telekommunikationssystem som använder ett resursreserveringsprotokoll
US6633540B1 (en) * 1999-07-02 2003-10-14 Nokia Internet Communications, Inc. Real-time traffic shaper with keep-alive property for best-effort traffic
JP2001111619A (ja) * 1999-10-12 2001-04-20 Sony Corp 送信装置、通信システム及びその通信方法
US6820117B1 (en) * 1999-10-18 2004-11-16 Sun Microsystems, Inc. Bandwidth management
US6577596B1 (en) * 1999-11-30 2003-06-10 Telefonaktiebolaget Ln Ericsson (Publ) Method and apparatus for packet delay reduction using scheduling and header compression
US7010611B1 (en) * 1999-12-21 2006-03-07 Converged Access, Inc. Bandwidth management system with multiple processing engines
US6671258B1 (en) * 2000-02-01 2003-12-30 Alcatel Canada Inc. Dynamic buffering system having integrated random early detection
US6990529B2 (en) * 2000-02-24 2006-01-24 Zarlink Semiconductor V.N., Inc. Unified algorithm for frame scheduling and buffer management in differentiated services networks
US6801500B1 (en) * 2000-05-18 2004-10-05 Cisco Technology, Inc. Method and apparatus for providing reserved rates to multiple flows on a network interface
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US7068633B1 (en) 2000-07-14 2006-06-27 At&T Corp. Enhanced channel access mechanisms for QoS-driven wireless lans
US7756092B1 (en) 2000-07-14 2010-07-13 At&T Intellectual Property Ii, L.P. In-band QoS signaling reference model for QoS-driven wireless LANs connected to one or more networks
US6999442B1 (en) 2000-07-14 2006-02-14 At&T Corp. RSVP/SBM based down-stream session setup, modification, and teardown for QOS-driven wireless lans
US6850981B1 (en) 2000-07-14 2005-02-01 At&T Corp. System and method of frame scheduling for QoS-driven wireless local area network (WLAN)
US6862270B1 (en) 2000-07-14 2005-03-01 At&T Corp. Architectural reference model for QoS-driven wireless LANs
US7031287B1 (en) 2000-07-14 2006-04-18 At&T Corp. Centralized contention and reservation request for QoS-driven wireless LANs
US6804222B1 (en) 2000-07-14 2004-10-12 At&T Corp. In-band Qos signaling reference model for QoS-driven wireless LANs
US7068632B1 (en) 2000-07-14 2006-06-27 At&T Corp. RSVP/SBM based up-stream session setup, modification, and teardown for QOS-driven wireless LANs
US6950397B1 (en) 2000-07-14 2005-09-27 At&T Corp. RSVP/SBM based side-stream session setup, modification, and teardown for QoS-driven wireless lans
US6970422B1 (en) 2000-07-14 2005-11-29 At&T Corp. Admission control for QoS-Driven Wireless LANs
US7039032B1 (en) 2000-07-14 2006-05-02 At&T Corp. Multipoll for QoS-Driven wireless LANs
US7151762B1 (en) * 2000-07-14 2006-12-19 At&T Corp. Virtual streams for QoS-driven wireless LANs
JP2002051057A (ja) * 2000-08-04 2002-02-15 Fujitsu Ltd Atm交換機
US7313593B1 (en) 2000-10-24 2007-12-25 International Business Machines Corporation Method and apparatus for providing full duplex and multipoint IP audio streaming
CN100508493C (zh) * 2000-11-17 2009-07-01 因芬尼昂技术北美公司 处理多媒体网际网络语音协议装置中的数据包的方法与装置
US20050088977A1 (en) * 2000-12-14 2005-04-28 Nortel Networks Limited Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment
US7142563B1 (en) 2001-02-20 2006-11-28 At&T Corp. Service interface for QoS-driven HPNA networks
US7180855B1 (en) 2001-04-19 2007-02-20 At&T Corp. Service interface for QoS-driven HPNA networks
US7298757B1 (en) 2001-02-20 2007-11-20 At&T Corporation Enhanced channel access mechanisms for an HPNA network
US7382727B2 (en) * 2001-02-21 2008-06-03 Cisco Technology, Inc. System and method for asymmetrical bandwidth management
US7486686B2 (en) * 2001-02-26 2009-02-03 Vitesse Semiconductor Corporation Method and apparatus for scheduling data on a medium
US6901050B1 (en) * 2001-03-05 2005-05-31 Advanced Micro Devices, Inc. Systems and methods for flow-based traffic shaping
EP1239635A1 (de) * 2001-03-07 2002-09-11 BRITISH TELECOMMUNICATIONS public limited company Verfahren zur Bereitstellung von Dienstklassen in einem Paketübertragungsnetzwerk
EP1251669A1 (de) 2001-04-19 2002-10-23 BRITISH TELECOMMUNICATIONS public limited company Kommunikationsnetzwerk
US6904057B2 (en) * 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US6944168B2 (en) * 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US7042848B2 (en) * 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
US7339903B2 (en) * 2001-06-14 2008-03-04 Qualcomm Incorporated Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
US8000241B2 (en) * 2001-06-26 2011-08-16 Qualcomm Incorporated Methods and apparatus for controlling access link packet flow aggregation and resource allocation in a mobile communications system
US7027400B2 (en) * 2001-06-26 2006-04-11 Flarion Technologies, Inc. Messages and control methods for controlling resource allocation and flow admission control in a mobile communications system
US7035210B2 (en) * 2001-07-12 2006-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Media stream delay monitoring for node
US7177271B2 (en) * 2001-09-21 2007-02-13 Microsoft Corporation Method and system for managing admission to a network
US7362701B2 (en) * 2002-01-14 2008-04-22 Sun Microsystems, Inc. Customer-based service system including a cascaded pipeline with self-monitoring relays
US20030135575A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring and trending service system with cascaded pipeline linking numerous client systems
EP1335535A1 (de) 2002-01-31 2003-08-13 BRITISH TELECOMMUNICATIONS public limited company Auswahl von Netzwerkdiensten
US7782776B2 (en) * 2002-03-15 2010-08-24 Broadcom Corporation Shared weighted fair queuing (WFQ) shaper
US20030174650A1 (en) * 2002-03-15 2003-09-18 Broadcom Corporation Weighted fair queuing (WFQ) shaper
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US20040083287A1 (en) * 2002-10-25 2004-04-29 Xia Gao Terminal-based resource reservation protocol
FI112421B (fi) * 2002-10-29 2003-11-28 Tellabs Oy Menetelmä ja laitteisto siirtoyhteyskapasiteetin vuorottamiseksi pakettikytkentäisten tietoliikennevoiden kesken
US8520520B2 (en) * 2002-11-06 2013-08-27 Avaya, Inc. System and method for per flow guaranteed throughput, multiple TCP flow bandwidth provisioning, and elimination of packet drops for transmission control protocol (TCP) and TCP-friendly protocols
CN1297097C (zh) * 2003-04-09 2007-01-24 华为技术有限公司 提高网络拥塞时数据传输性能的方法
US7477604B2 (en) * 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
US7382801B2 (en) * 2003-09-03 2008-06-03 At&T Deleware Intellectual Property, Inc. Link capacity dimensioning methods for packet switched communications networks, and networks and links dimensioned thereby
JP4335619B2 (ja) * 2003-09-04 2009-09-30 株式会社エヌ・ティ・ティ・ドコモ パケット優先制御装置及びその方法
US7411971B2 (en) * 2003-09-09 2008-08-12 Avaya Inc. Systems and methods for the schedule alignment of packet flow
KR100601043B1 (ko) * 2003-11-13 2006-07-14 한국전자통신연구원 패킷을 스케줄링하는 라우터 및 그 방법
JP4628162B2 (ja) 2004-04-16 2011-02-09 株式会社ソニー・コンピュータエンタテインメント 通信端末装置、通信システムおよび電力制御方法
US7545815B2 (en) * 2004-10-18 2009-06-09 At&T Intellectual Property Ii, L.P. Queueing technique for multiple sources and multiple priorities
EP1814267B8 (de) * 2004-11-11 2012-08-29 Mitsubishi Electric Corporation Ip-paketrelaisverfahren und gateway-einrichtung in einem kommunikationsnetz
US9065595B2 (en) * 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US8949452B2 (en) * 2005-04-07 2015-02-03 Opanga Networks, Inc. System and method for progressive download with minimal play latency
US7474662B2 (en) * 2005-04-29 2009-01-06 International Business Machines Corporation Systems and methods for rate-limited weighted best effort scheduling
US7948962B2 (en) 2007-08-31 2011-05-24 Wireless Technology Solutions Llc Cellular communication system, apparatus and method for management of backhaul resources
US8284696B2 (en) * 2007-12-17 2012-10-09 Cisco Technology, Inc. Tracking customer edge traffic
US8553554B2 (en) 2008-05-16 2013-10-08 Alcatel Lucent Method and apparatus for providing congestion control in radio access networks
US20090296613A1 (en) * 2008-06-03 2009-12-03 Colin Kahn Method and apparatus for providing quality-of-service in radio access networks
US8027255B2 (en) * 2008-09-30 2011-09-27 Alcatel Lucent Method and apparatus for prioritizing packets for use in managing packets in radio access networks
US8503432B2 (en) * 2008-09-30 2013-08-06 Alcatel Lucent Method and apparatus for signaling proprietary information between network elements of a core network in a wireless communication network
JP5205289B2 (ja) * 2009-01-14 2013-06-05 パナソニック株式会社 端末装置およびパケット送信方法
US8289870B2 (en) * 2009-09-23 2012-10-16 Avaya Inc. Priority-based, dynamic optimization of utilized bandwidth
WO2014032960A1 (en) * 2012-08-29 2014-03-06 Universiteit Gent Method and device for scheduling data traffic
US9542294B2 (en) 2013-07-09 2017-01-10 International Business Machines Corporation Method to apply perturbation for resource bottleneck detection and capacity planning
EP3437267B1 (de) * 2016-03-29 2019-12-25 British Telecommunications public limited company Datenübertragungsverfahren und -vorrichtung
US10015103B2 (en) * 2016-05-12 2018-07-03 Getgo, Inc. Interactivity driven error correction for audio communication in lossy packet-switched networks
US11159440B2 (en) * 2017-11-22 2021-10-26 Marvell Israel (M.I.S.L) Ltd. Hybrid packet memory for buffering packets in network devices
US10805223B1 (en) * 2019-04-10 2020-10-13 Dell Products L.P. Systems and methods for handling data congestion for shared buffer switches with dynamic thresholding
EP4019493A4 (de) * 2019-08-22 2022-10-12 FUJIFILM Corporation Verfahren zur herstellung einer carbonylverbindung und durchflussreaktionssystem zur herstellung einer carbonylverbindung
CN113676416B (zh) * 2021-10-22 2021-12-28 浙江锐文科技有限公司 一种在高速网卡/dpu内提升网络服务质量的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI92362C (fi) * 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
JP3354689B2 (ja) * 1994-02-28 2002-12-09 富士通株式会社 Atm交換機、交換機及びそのスイッチングパス設定方法
US5917822A (en) * 1995-11-15 1999-06-29 Xerox Corporation Method for providing integrated packet services over a shared-media network
US5875175A (en) * 1997-05-01 1999-02-23 3Com Corporation Method and apparatus for time-based download control
US5982736A (en) * 1997-05-15 1999-11-09 Pierson; Gerald A. Trading card optical compact disc and methods of using and forming same
US6108307A (en) * 1997-12-12 2000-08-22 Newbridge Networks Corporation Frame relay priority queses to offer multiple service classes
US6229788B1 (en) * 1998-05-27 2001-05-08 Nortel Networks Limited Method and apparatus for traffic shaping in a broadband fiber-based access system

Also Published As

Publication number Publication date
US6538989B1 (en) 2003-03-25
WO1999013624A1 (en) 1999-03-18
AU9084398A (en) 1999-03-29
CA2302218C (en) 2007-11-06
EP1013049A1 (de) 2000-06-28
CA2302218A1 (en) 1999-03-18
JP4201978B2 (ja) 2008-12-24
EP1013049B1 (de) 2003-10-08
DE69818846D1 (de) 2003-11-13
JP2001516992A (ja) 2001-10-02

Similar Documents

Publication Publication Date Title
DE69818846T2 (de) Paketnetzwerk
DE10296945B4 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
DE69935006T2 (de) Vorrichtung und verfahren zum setzen von prioritäten für multicast-sendepakete in einer netz-dienstklasse
DE69920893T2 (de) Berichtigung der Verbindungsbandbreite auf der Basis der Beobachtung der Belegung der Ressourcen des Netzes
EP1451980B1 (de) Verfahren zur uebertragung von daten von applikationen mit unterschiedlicher qualität
DE60117957T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE60017622T2 (de) Auf RSVP-basiertes Tunnelprotokoll zum Bereitstellen von integrierten Diensten
DE60113967T2 (de) Mehrstufige ablaufsteuerungsverfahren zum paketmultiplexen in einem kommunikationsnetzwerk
DE60032669T2 (de) Vorrichtung und Verfahren zur Bandbreitenüberwachung
EP0885506B1 (de) Verfahren und anordnung zur übertragung eines datenpakets im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE60109809T2 (de) Verfahren und system für betriebsmittelreservierungen in einem multicast-netzwerk
DE10100842B4 (de) Kommunikationsvorrichtung mit Mehrschichten-Klassenidentifikation und Prioritätssteuerung
DE69834188T2 (de) Dynamische dienstqualitätreservierung in einem mobilen kommunikationsnetz
DE69738359T2 (de) System zur Verbesserung des Datendurchsatzes einer TCP/IP Netzwerkverbindung mit langsamen Rückkanal
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE10123821A1 (de) Geschaltete Ethernet-Netzwerke
EP1133112B1 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
EP1428361B1 (de) Verkehrsbegrenzung mittels zulässigkeitsprüfung für ein paketorientiertes verbindungsloses netz mit qos niveau übertragung
DE69912172T2 (de) Verfahren und Vorrichtung zur Steuerung der Verkehrsflüsse in einem Paketvermittlungsnetz
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
EP1428408A2 (de) Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
DE69736623T2 (de) Paketvermitteltes Kommunikationssystem und Verfahren zur Verkehrsformung
WO2003032676A1 (de) Verteilte übermittlung von verkehrsströmen in kommunikationsnetzen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition