DE60035807T2 - Filterung von datenströmen - Google Patents

Filterung von datenströmen Download PDF

Info

Publication number
DE60035807T2
DE60035807T2 DE60035807T DE60035807T DE60035807T2 DE 60035807 T2 DE60035807 T2 DE 60035807T2 DE 60035807 T DE60035807 T DE 60035807T DE 60035807 T DE60035807 T DE 60035807T DE 60035807 T2 DE60035807 T2 DE 60035807T2
Authority
DE
Germany
Prior art keywords
data
data packet
queue
data packets
policer
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
DE60035807T
Other languages
English (en)
Other versions
DE60035807D1 (de
Inventor
Neil James Davies
Peter William Thompson
Judith Yvonne Holyer
Laura Anne Lafave
Christopher James Vowden
Graham Willmott
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.)
GOS Networks Ltd
Original Assignee
U4EA TECHNOLOGIES Ltd
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
Application filed by U4EA TECHNOLOGIES Ltd filed Critical U4EA TECHNOLOGIES Ltd
Publication of DE60035807D1 publication Critical patent/DE60035807D1/de
Application granted granted Critical
Publication of DE60035807T2 publication Critical patent/DE60035807T2/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/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/568Load balancing, smoothing or shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Processing (AREA)
  • Separation By Low-Temperature Treatments (AREA)
  • Water Treatment By Sorption (AREA)

Description

  • Verweis auf verwandte Anmeldungen
  • Diese Anmeldung steht in Beziehung zu den Patentveröffentli- WO02/30062 , WO02/30065 , WO02/30063 die gleichzeitig hierzu am 3. Oktober 2000 eingereicht wurden.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf die Übertragung von digitalen Datenpaketen in Telekommunikationsanordnungen und im Besonderen, aber nicht ausschließlich, auf die Handhabung von Konkurrenzsituationen innerhalb und zwischen Datenströmen von Datenpaketen in Netzwerken zur Speicherung und Weitersendung.
  • Hintergrund der Erfindung
  • Es existieren viele Verfahren zur Steuerung des Informationsflusses von digitalen Datenpaketen. Einige dieser Verfahren umfassen, eine gewisse Qualität des Dienstes für verschiedene Arten des Datenverkehrs zur Verfügung zu stellen. Es gibt eine Anzahl von allgemeinen Erfordernissen, die damit verbunden sind, die Qualität von Servicegraden sicherzustellen. Wo eine Qualitätsdifferenzierung für mehr als einen Datenstrom zur Verfügung gestellt wird, ist es notwendig, sicherzustellen, dass verschiedene Qualitätsanforderungen für die verschiedenen Ströme von Datenpaketen individuell und kollektiv innerhalb der Beschränkung der begrenzten verfügbaren Qualität erfüllt werden. Um sowohl unterschiedliche Grade von Verlust und Verzögerung als auch Durchsatz zur Verfügung zu stellen, müssen die Menge von Eingangsdaten und deren zeitliches Muster eingeschränkt werden. Die Menge von abgearbeiteten Eingangsdaten, das heißt der Durchsatz von Daten, ist als langfristiges Management bekannt. Das zeitliche Muster von Daten zu steuern, ist als kurzfristiges Management bekannt. Der Verkehr in bestimmten Datenströmen muss auch vor den Folgewirkungen von Signalfolgen in anderen Datenströmen geschützt werden. Zum Beispiel müssen einzelne Ströme des Datenverkehrs geschützt werden vor den Auswirkungen von Protokollen wie zum Beispiel TCP, das dazu entworfen ist, ohne Rücksicht auf andere Datenströme so viel Bandbreite wie möglich zu verwenden, und vor arglistigen Absichten oder Fehlern in den Endvorrichtungen des Netzwerks. Es ist auch notwendig, das Verschachteln von einzelnen Datenströmen innerhalb der Einschränkungen der verfügbaren Ressourcen zu verwalten.
  • Das Management der Qualität des Dienstes ist besonders schwierig an der Peripherie oder dem Rand eines Netzwerks, da Vorrichtungen hier nicht unter der Kontrolle der zentralen Verwaltung des Netzwerks sind. Das Verhalten dieser Vorrichtungen kann deshalb nicht angenommen oder vorhergesagt werden. Die ständig wachsende Vielfalt an Anwendungen, Datenverkehr und deren Konzentration kompliziert auch das Management der Qualität des Dienstes. Unterschiedlicher Datenverkehr weist unterschiedliche Anforderungen der Qualität des Dienstes auf und die Folgen von Verzögerung und/oder Verlust für unterschiedlichen Datenverkehr unterscheiden sich entsprechend der auf diese von einer Anwendung angewandten Interpretation.
  • Die Möglichkeit, Netzwerkgeräte zu replizieren, um Datenverkehr mit unterschiedlichen Qualitätserfordernissen zu ermöglichen, physisch getrennt und gesondert verarbeitet zu werden, ist unpraktisch, da die Implementierung von Netzwerkvorrichtungen teuer ist. Aus diesem Grund ist es wünschenswert, die Qualität des Dienstes für unterschiedlichen Datenverkehr unter Verwendung einer einzelnen Netzwerkvorrichtung zu verwalten.
  • Es gibt gegenwärtig eine Tendenz in Richtung der Ausformung von Datenverkehrsmustern als Muster mit konstanten Bitraten mit dem Ziel wachsender Vorhersagbarkeit. Dies ist eine deterministische Steuerung, die sich darauf konzentriert, die Verlustmerkmale und die Effizienz eines Netzwerks zu verbessern. Solche Verfahren weisen jedoch den Nachteil auf, dass eine Qualitätssicherung in der Gegenwart von "Überbuchung" eine vollständige globale Kenntnis vom Verhalten der Quellen im Netzwerk, wie zum Beispiel deren Ein-/Aus-Zeiten, ihrer relativen Phase und deren Auswirkungen ihrer zurückliegenden Historie auf den Zustand des Netzwerks erfordert.
  • WU J-S et al: "GCRA-based architecture of multi-connection shaper and enforcer in multi-service ATM networks" Computer Communications, NL, Elsevier Science Publishers BV, Amsterdam, vol 20, no. 8, 25. August 1997 (1997-08-25), Seiten 681–693, XP004126721 ISSN: 0140-3664 offenbart den Entwurf einer Former und Enforcer Architektur für vielfache Verbindungen, die sich mit unterschiedlichen Datenverkehrsparametern und Zellenprioritäten beschäftigt, und offenbart im Besonderen Algorithmen und eine Architektur für einen auf GCRA basierenden Former und Enforcer für Datenverkehr für vielfache priorisierte Verbindungen.
  • Neuere Arbeiten des Anmelders haben gezeigt, wie einzelne Datenströme in ihrer Verwendung von Ressourcen durch sich selbst und im Wettbewerb um die Verwendung von Ressourcen mit anderen zu steuern und zu verwalten sind. Dieser Ansatz erzeugt eine Klasse von nützlichen Mechanismen. Es ist deshalb ein Ziel der vorliegenden Erfindung, ein verbessertes Verfahren zur Steuerung des Informationsflusses in einer Datenübertragungsanordnung zur Verfügung zu stellen, das es ermöglicht, dass die Steuerung der Qualität von Diensterfordernissen für unterschiedliche Arten des Datenverkehrs verbessert wird.
  • Zusammenfassung der Erfindung
  • Entsprechend der vorliegenden Erfindung wird ein Verfahren zur Steuerung eines Informationsdatenstroms in einer Datenübertragungsanordnung zur Verfügung gestellt, das Nachfolgendes umfasst: das Empfangen einer Vielzahl von Datenpaketen; dadurch gekennzeichnet dass das Verfahren weiterhin selektives Verwerfen und selektives zeitliches Verschieben der Vielzahl von Datenpaketen in eine vorgegebene Weise umfasst, um dadurch einen modifizierten Ausgabedatenstrom zu erzeugen; selektives Verwerfen und selektives zeitliches Verschieben der Datenpakete des modifizierten Ausgabedatenstroms in mindestens einem einer Vielzahl von weiteren parallelen Schritten, um dadurch mindestens einen weiteren modifizierten Ausgabedatenstrom zu erzeugen.
  • Auf diese Weise wird eine Verallgemeinerung zur Verfügung gestellt, bei der Datenströme von zusammengesetzter Form in einer willkürlichen Weise miteinander kombiniert werden können. Solche zusammengesetzten Mechanismen erlauben das Management von Eigenschaften von vereinigten Datenströmen, um zum Beispiel eine Anzahl von Datenströmen auf eine jeweils individuelle Belastungsgrenze einzugrenzen und ihre gemeinsame Belastung auf eine andere solche Grenze, die niedriger sein kann, als die Summe der individuellen Grenzen. Die Erfindung deckt alle möglichen azyklischen Kombinationen von einzelnen Qualitätsmanagementvorrichtungen und kollektiven Qualitätsmanagementvorrichtungen ab.
  • Der modifizierte Ausgabedatenstrom kann in allen der Vielzahl von weiteren parallelen Schritten weiter modifiziert werden.
  • Der modifizierte Ausgabedatenstrom kann in einem ausgewählten der Vielzahl von weiteren parallelen Schritten weiter modifiziert werden.
  • Der gefilterte Ausgabedatenstrom kann in ausgewählten der Vielzahl von weiteren parallelen Schritten weiter modifiziert werden.
  • Der Schritt des selektiven Verwerfens und des selektiven zeitlichen Verschiebens der Datenpakete kann weiterhin umfassen, einen modifizierten Ausgabedatenstrom zu erzeugen, in dem die Datenpakete variabel verteilt sind.
  • Die vorliegende Erfindung stellt weiterhin eine Steuereinheit zur Steuerung eines Informationsdatenstroms in einer Datenübertragungsanordnung zur Verfügung, wobei die Steuereinheit gekennzeichnet ist durch: erste Steuerungsmittel für das selektive Verwerfen und das selektive zeitliche Verschieben einer Vielzahl von Datenpaketen auf eine vorgegebene Weise, um dadurch einen modifizierten Informationsdatenstrom zu erzeugen; und eine Vielzahl von parallelen zweiten Steuerungsmitteln für das selektive Verwerfen und das selektive zeitliche Verschieben des modifizierten Informationsdatenstroms auf eine vorgegebene Weise, um dadurch einen weiteren modifizierten Informationsdatenstrom zur Verfügung zu stellen.
  • Mindestens ein Steuerungsmittel kann Modifizierungsmittel zur Erzeugung des modifizierten Informationsdatenstroms umfassen, in dem die Datenpakete variabel verteilt sind. Das modifizierte Mittel kann einen Modulator umfassen. Mindestens ein Steuerungsmittel kann Policer/Former umfassen.
  • Kurze Beschreibung der Figuren
  • Die Erfindung wird am besten auf dem Weg des Beispiels mit Bezug auf die begleitenden Figuren verstanden, in denen:
  • 1 ein Blockdiagramm der Architektur eines Multiplexers entsprechend einer beispielhaften Ausführungsform der Erfindung veranschaulicht;
  • 2 das Prinzip des Einreihens in eine Warteschlange entsprechend einer beispielhaften Ausführungsform der Erfindung veranschaulicht;
  • 3 das Prinzip veranschaulicht, Prioritätsebenen entsprechend einer beispielhaften Ausführungsform der Erfindung zu vergeben;
  • 4 das Prinzip veranschaulicht, Datenpakete entsprechend einer beispielhaften Ausführungsform der Erfindung stochastisch abzuarbeiten;
  • 5 das Prinzip der konzeptionellen Datenpaketlänge entsprechend einer beispielhaften Ausführungsform der Erfindung veranschaulicht.
  • 6(a), und 6(b) das Prinzip veranschaulichen, Former/Policer entsprechend einer beispielhaften Ausführungsform der Erfindung zu kaskadieren;
  • 7 in einer beispielhaften Ausführungsform der vorliegenden Erfindung das Prinzip veranschaulicht, eine transportierte Last in Abhängigkeit von einer angebotenen Last zu definieren;
  • 8 eine beispielhafte Ausführungsform eines Policer/Former zur Ausführung der vorliegenden Erfindung veranschaulicht;
  • 9 eine beispielhafte Ausführungsform eines Multiplexers für Wertigkeit und Dringlichkeit zur Ausführung der vorliegenden Erfindung veranschaulicht;
  • 10 das Lastprofil für eine beispielhafte Implementierung der Policer/Former veranschaulicht.
  • Beschreibung der bevorzugten Ausführungsform
  • Sich auf 1 beziehend, wird ein Diagramm gezeigt, das die Architektur eines einfachen Multiplexers veranschaulicht, wobei unter Bezugnahme auf diesen der Betrieb der vorliegenden Erfindung hierin beschrieben wird. Es sollte beachtet werden, dass die Anwendung der vorliegenden Erfindung nicht auf die spezifische Architektur beschränkt ist, die in 1 gezeigt wird, und durch Lesen der nachfolgenden Beschreibung wird ein Fachmann die allgemeine Anwendbarkeit der vorliegenden Erfindung erkennen. Der beispielhafte Multiplexer 100 gemäß 1 multiplext Datenströme aus Daten in einem auf Datenpaketen basierten Netzwerk, wie hierin im weiteren Detail untenstehend beschrieben wird.
  • Der beispielhafte, im Allgemeinen durch das Bezugszeichen 100 gekennzeichnete Multiplexer umfasst eine Eingangsschnittstelle 100, einen Datenstromkennzeichner 102, eine Vielzahl von Policer/Formern 104, einen Multiplexer für Wertigkeit und Dringlichkeit 106, einen Geschwindigkeitsbegrenzer 108, eine Ausgabeschnittstelle 110, einen Warteschlangendatenspeicher 112 und einen Warteschlangenspeichermanager 114.
  • Der Multiplexer 100 empfängt einen Informationsdatenstrom als einen Input auf den Leitungen 116. Der Informationsdatenstrom umfasst Datenpakete, die mit verschiedenen unterschiedlichen Arten des Datenverkehrs verknüpft sein können. Die Datenpakete können parallel oder in Serie empfangen werden. Der Input auf Leitung 116 kann parallele Informationsströme empfangen. Der Eingangsdatenstrom 116 kann mit verschiedenen unterschiedlichen Arten des Datenverkehrs verknüpfte Datenpakete enthalten. Für die Zwecke des beschriebenen Beispiels wird angenommen, dass der Datenstrom einen Voice over IP Datenstrom, einen Blockdatenübertragungsstrom und einem Telnet Datenverkehrsstrom umfasst.
  • Die Eingangsschnittstelle 100 stellt die Grundfunktionalität zur Verfügung, die notwendig ist, um gesendete Datenpakete von einer externen Anordnung oder Vorrichtung über ein Übertragungsmedium zu erhalten. Die Eingangsschnittstelle 100 erhält Datenpakete vom Eingangsdatenstrom 116 und leitet die entgegengenommenen Datenpakete vorzugsweise parallel über die Leitungen 118 sowohl zu dem Datenstromkennzeichner 102 als auch zu dem Warteschlangenspeichermanager 114 weiter. Die Eingangsschnittstelle muss Funktionalität aufweisen, die für die bestimmte externe Anordnung oder Vorrichtung, von der Datenpakete in dem Eingangsdatenstrom 116 herrühren, geeignet ist. Die Eingangsschnittstelle ist nicht direkt für jede mit dem Qualitätsmanagement des Datenstroms entsprechend der vorliegenden Erfindung verbundene Verarbeitung verantwortlich. Die Eingangsschnittstelle kann eine Grundfunktionalität aufweisen, um eine Anfangsprüfung auf im Eingangsdatenstrom empfangene Datenpakete auszuführen. Wenn zum Beispiel ein korrumpiertes Datenpaket empfangen wird, kann die Eingangsschnittstelle das Datenpaket verwerfen.
  • Die Ausführungsform der Eingangsschnittstelle ist von der Implementierung abhängig. Die Grundfunktionalität der Eingangsschnittstelle, die erforderlich ist, um alle gewünschten Merkmale auszuüben, wird jemandem, der in der Technik ausgebildet ist, offensichtlich sein.
  • Der Warteschlangenspeichermanager 114 ist dafür verantwortlich, einen Satz von Warteschlangen und einen Datenpaketspeicherbereich zu verwalten. Der Warteschlangenspeichermanager 114 erhält Datenpakete von der Eingangsschnittstelle 100. Beim Eintreffen eines Datenpakets vergibt der Warteschlangenspeichermanager einen eindeutigen Kennzeichner an das Datenpaket und sendet den Kennzeichner für das Datenpaket über die Leitung 140 an den Datenstromkennzeichner 102. Der Warteschlangenspeichermanager speichert das Datenpaket außerdem in einem temporären Datenpaketpuffer. Der Warteschlangenspeichermanager weist dem Datenpaket auch einen Referenzzähler zu und initialisiert den Referenzzähler für dieses Datenpaket auf Null. Wie hierin untenstehend weiterhin beschrieben wird, wird der Referenzzähler vom Warteschlangenspeichermanager verwendet, um zu bestimmen, ob das dem Referenzzähler zugeordnete Datenpaket immer noch durch den Multiplexer 100 verarbeitet wird, oder ob es entfernt werden sollte aus dem (oder gar nicht erst eingetragen werden sollte in den) Warteschlangendatenspeicher 112.
  • Der Datenpaketkennzeichner ist ein Kennzeichner, der ein Datenpaket eineindeutig identifiziert. Der Datenpaketkennzeichner identifiziert das Datenpaket eindeutig für den Zweck, den Datenpaketkennzeichner im Warteschlangendatenspeicher 112 abzulegen, wie hierin weiter unten beschrieben wird, und um jede Datenpaketform von anderen Datenpaketen im Datenspeicher zu unterscheiden. In einer einfachen Implementierung ist der Datenpaketkennzeichner eine Nummer, wobei jedes Datenpaket, dem ein Datenpaketkennzeichner zugeordnet wird, die nächste Nummer in der Folge ist. Alternativ kann der Datenpaketkennzeichner aus eindeutiger Information aus dem Datenpaketanfangsblock zusammengesetzt werden. In Anordnungen, in denen die Datenpaketgröße variabel ist, kann die Länge des Datenpakets in den Datenpaketkennzeichner einbezogen werden.
  • Der Datenstromkennzeichner 102 erhält die Datenpakete von der Eingangsschnittstelle auf den Leitungen 118 ebenfalls und erhält den Datenpaketkennzeichner für jedes Datenpaket über die Leitung 140 vom Warteschlangenspeichermanager 114. Der Datenstromkennzeichner 102 ist dafür verantwortlich festzulegen, zu welchem Datenstrom jedes Datenpaket gehört. Daher bestimmt der Datenstromkennzeichner zum Beispiel, ob ein bestimmtes Datenpaket mit einem Voice over IP Datenstrom, einem Blockdatenübertragungsstrom oder einem Telnet Datenverkehrsstrom verknüpft ist. Entsprechend dem Datenstrom, zu dem der bestimmte empfangene Datenpaketkennzeichner gehört, leitet der Datenstromkennzeichner den Datenpaketkennzeichner für dieses Datenpaket zur weiteren Verarbeitung an einen der Policer/Former 104 weiter.
  • Wie aus der folgenden Beschreibung offensichtlich wird, basiert der Rest der Verarbeitung auf dem Datenpaketkennzeichner und nicht auf dem Datenpaket. Der Datenpaketkennzeichner stellt vorteilhaft eine effiziente Darstellung des Datenpakets zur Verfügung. Wie nachstehend beschrieben werden wird, stellen der Warteschlangendatenspeicher und die Datenpaketkennzeichner sicher, dass die Originalposition jedes einzelnen Datenpakets in der Reihenfolge im Multiplexbetrieb nicht verloren geht.
  • Policer/Former 104 sind eine Betriebsvariante einer FIFO Warteschlange, in der eine untergeordnete Verarbeitung mit der Einfügung und dem Entfernen von Elementen in und aus der Warteschlange verbunden ist. Solche FIFO Warteschlangen sind gut bekannt, und ihre Implementierung ist vollständig innerhalb des Wissensbereichs einer in der Technik ausgebildeten Person. Die Konfiguration der Policer/Former ist von der Implementierung abhängig.
  • In dem in 1 gezeigten einfachen Beispiel wird angenommen, dass jedem der verschiedenen Arten von Datenverkehrsströmen, die empfangen werden, ein Policer/Former zugeordnet ist. Auf diese Weise ist zum Beispiel der Policer/Former 104a Voice over IP Datenverkehr zugeordnet, der Policer/Former 104b ist Blockdatenübertragungsverkehr zugeordnet, und der Policer/Former 104c ist Telnet Datenverkehr zugeordnet. Der Policer/Former 104d ist in 1 dargestellt durch Veranschaulichung eines Mittels zur Verwaltung von Datenpaketen, die anderen Datenströmen zugeordnet sind als jenen, die von den Policer/Formern 104a und 104c verarbeitet werden. Auf diese Weise leitet der Datenstromkennzeichner 102 mit Voice over IP Datenpaketen auf Leitung 120 verbundene Datenpaketkennzeichner weiter an den Policer/Former 104a, leitet mit Blockdatenübertragungsdatenpaketen verbundene Datenpaketkennzeichner auf Leitung 120b weiter an den Policer/Former 104b, und leitet mit Telnet Verkehrsdatenpaketen verbundene Datenpaketkennzeichner auf Leitung 120c weiter an den Policer/Former 104c.
  • Im Falle von Multicasting oder anderen Diensten, die Replikation (zum Beispiel Überwachung) erfordern, kann der Datenstromkennzeichner 102 Datenpaketkennzeichner an mehr als einen Policer/Former 104 weiterleiten.
  • Es sollte beachtet werden, dass der Datenstromkennzeichner 102 keine Datenpakete für das weitere Verarbeiten innerhalb des Multiplexers 100 weiterleitet. Vielmehr leitet der Datenstromkennzeichner die an Datenpakete vergebenen Datenpaketkennzeichner für das weitere Verarbeiten im Multiplexer 100 weiter.
  • Die Policer/Former 104 sind für die Zuordnung von Qualitätsklassifizierungen an die Datenpakete innerhalb eines Stroms verantwortlich und verantwortlich für die Qualitätssteuerung des Datenstroms, sowohl kurzfristig als auch langfristig, durch selektives Verwerfen von Datenpaketkennzeichnern im Datenstrom und selektives zeitliches Verschieben von Datenpaketen im Datenstrom.
  • Eine Funktion von Policer/Formern ist es, Datenpakete unter Verwendung der entsprechenden Datenpaketkennzeichner mit einer variablen Dienstgeschwindigkeit zu bedienen. Als Ergebnis sind die Datenpaketkennzeichner, die die Policer/Former verlassen, variabel verteilt, vorzugsweise mit einem zufälligen oder pseudozufälligen Abstand. Die Datenpakete zufällig zu vertei len stellt sicher, dass der am wenigsten dringende Datenverkehr irgendwann einmal durch den Multiplexer für Wertigkeit und Dringlichkeit 106 verarbeitet wird. Der variable Abstand der Datenpakete am Ausgang der Policer/Former 104 reduziert die Kohärenz zwischen Datenströmen aus unabhängigen Quellen. Das Erzeugen unabhängiger zeitlicher Muster zwischen den Datenströmen steigert die Gerechtigkeit der Entscheidungsprozesse des Multiplexers für Wertigkeit und Dringlichkeit. Die in den Policer/Formern an die Datenpaketkennzeichner vergebenen Klassifizierungen für Wertigkeit/Dringlichkeit stellen allein keine bedingungslose Gerechtigkeit sicher.
  • Zum Beispiel hängt die von einem Datenpaket mit einer niedrigen zugehörigen Dringlichkeitsgrad erfahrene Verzögerung vom zeitlichen Muster der dringenderen Verkehrsströme ab. Wenn zwei Datenströme mit unterschiedlichen Graden der Wertigkeit/Dringlichkeit zeitweise kohärent sind, können die Datenpakete mit höherer Wertigkeit das Rennen um den Eintritt in den Multiplexer für Wertigkeit und Dringlichkeit 106 immer gewinnen, und/oder die Datenpakete mit höherer Dringlichkeit können immer zuerst gesendet werden. Dies wird statistisch weniger wahrscheinlich, wenn die Datenströme variabel verteilte Datenpakete aufweisen.
  • Sich auf 4 beziehend, sind dort zwei der Policer/Former 104a und 104b gemäß 1 veranschaulicht, mit Beispielen für Datenpaketströme an ihren Eingängen und Ausgängen. Der Policer/Former 104a empfängt Datenpakete 200 mit einem konstanten Abstand t auf seiner Eingangsleitung 120a. Der Policer/Former 104b empfängt Datenpaketkennzeichner 202 mit einem konstanten Abstand t auf seiner Eingangsleitung 120b. Der Policer/Former 104a verarbeitet die Datenpaketkennzeichner in seiner Warteschlange, so dass die Datenpakete 200a, 200b und 200c auf seiner Ausgangsleitung 122a mit einem variablen Abstand zwischen diesen erzeugt werden. Ebenso führt das Verar beiten von Datenpaketkennzeichnern durch den Policer/Former 104b zu Datenpaketkennzeichnern 202a, 202b und 202c auf seiner Ausgangsleitung 122b, die einen variablen Abstand aufweisen.
  • Eine zweite Funktion der Policer/Former besteht darin, das Volumen des Datenverkehrs in einem Datenstrom einzugrenzen, erreicht durch das selektive Verwerfen von Datenpaketen. Die Eigenschaft der Policerrichtlinie ist in Bezug auf ein Lastprofil spezifiziert, das eine Funktion (mindestens) der angebotenen Last (das heißt der Geschwindigkeit der Ankunft von Datenpaketen in einem Datenstrom) ist. Deshalb, und vorteilhaft, können verschiedene Merkmale für unterschiedliche Lastgrade definiert werden. Das heißt, die Qualität kann herabgestuft oder hochgestuft werden, wenn die Ankunftsrate ansteigt. Die Transportmerkmale können deshalb konfiguriert werden, um besser zu den Erfordernissen der Anwendung zu passen, und um die Wirkungen anormaler angebotener Last zu vermeiden, zum Beispiel Denial of Service Angriffe. Sich auf 7 beziehend, ist das Prinzip, Transportmerkmale in Bezug auf die angebotene Last zu definieren, veranschaulicht.
  • In 7 veranschaulicht die X-Achse die angebotene Last, und die Y-Achse veranschaulicht die Last, die tatsächlich transportiert wird. Wie aus 7 ersehen werden kann, gibt es zwei Schwellenstufen: eine untere Schwellenstufe 250; und eine obere Schwellenstufe 252. Wenn die angebotene Last die Schwellenstufe 252 nicht übersteigt, dann kann die angebotene Last innerhalb konfigurierter Garantien transportiert werden. Wenn die angebotene Last die Schwellenstufe 252 übersteigt, dann kann der angebotenen Last nicht garantiert werden, gesendet zu werden. Die untere Schwellenstufe 250 stellt die minimal transportierte Last dar, ohne Rücksicht darauf, wie hoch die angebotene Last wird.
  • Daher wird, noch einmal auf 7 verweisend, sobald die angebotene Last die obere Schwellenstufe 252 und den Punkt 254 erreicht, die transportierte Last so eingestellt, dass sie reduziert wird. Wenn die angebotene Last zunimmt, fährt die transportierte Last fort, auf den Punkt reduziert zu werden, wo sie sich stabilisiert und sich der unteren Schwellenstufe 250 annähert.
  • Auf diese Weise wird die Geschwindigkeit des Verwerfens von Datenpaketen von der angebotenen Last festgelegt. Die obere Schwellenstufe definiert einen Grad, bei dem ein selektives Verwerfen von Datenpaketen ausgelöst wird. Datenpakete werden vorzugsweise auf Grundlage einer unmittelbaren Näherung der angebotenen Last verworfen. Datenpakete können probabilistisch auf Grundlage einer unmittelbaren Näherung der angebotenen Last verworfen werden. Wenn die angebotene Last zu einer transportierten Last führt, die die obere Schwellenstufe übersteigt, wird die transportierte Last durch selektives Verwerfen von Datenpaketen unterhalb die obere Schwellenstufe reduziert. Wenn sie reduziert wird, wird die transportierte Last vorzugsweise auf einen Grad über der unteren Schwellenstufe reduziert. Die Reduktion der transportierten Last ist umso größer, je größer die angebotene Last ist. Die transportierte Last wird in Reaktion auf eine Zunahme der angebotenen Last weiter reduziert.
  • Ein Policer/Former erreicht ein gewünschtes Lastprofil durch selektives Verwerfen von Datenpaketen. Datenpakete werden vorzugsweise auf Grundlage von einer unmittelbaren Näherung der angebotenen Last verworfen. Sich auf 10 beziehend, ist dort ein Lastprofil für eine beispielhafte Implementierung von einem Policer/Former veranschaulicht. 10 veranschaulicht ein Lastprofil für einen beispielhafte Policer/Former, der implementiert ist als eine Warteschlange mit 10 Puffern und stochastischen Dienstdauern, erstellt aus einer exponen tiellen Verteilung mit Geschwindigkeitsparametern :1 = :2 = ... = :g = 1,3234, :10 = 0,5. Der Graph zeigt ein Lastprofil für einen Policer/Former, der als Warteschlange mit 10 Puffern ausgeführt ist, die aus einer exponentiellen Verteilung erstellte Dienstdauern aufweisen, deren Geschwindigkeitsparameter von der Anzahl von Datenpaketen abhängig ist, die in der Warteschlange stehen. Eine Beschreibung solch einer Implementierung wird in einem nachstehenden Beispiel zur Verfügung gestellt. Die Dienstgeschwindigkeitsparameter sind: :1 = :2 = ... = :g = 1,3234, :10 = 0,5, wobei die numerischen Werte für die Dienstgeschwindigkeiten und die angebotene und transportierte Last so skaliert sind, dass die obere Schwellenstufe den Wert 1 annimmt. Das in 10 veranschaulichte Lastprofil beschreibt die durchschnittlich transportierte Last, wenn der ankommende Datenverkehr ein Poisson Muster aufweist. Die Anwendung von Standardergebnissen der Warteschlangentheorie erlaubt die Bestimmung der erwarteten Verlustrate.
  • Eine dritte Funktion der Policer/Former 104 ist, Wertigkeits- und Dringlichkeitsklassifizierungen an die Datenpaketkennzeichner zu vergeben, die in ihren Warteschlangen beinhaltet sind. Durch Vergeben von solchen Klassifizierungen an die Datenpaketkennzeichner wird an die Datenpakete selbst inhärent dieselbe Klassifizierung vergeben. Das Prinzip von Wertigkeits- und Dringlichkeitsgraden wird in der internationalen Patentveröffentlichung Nr. WO00/65783 erörtert. Ein Wertigkeitsgrad kennzeichnet eine Klasse oder einen Grad des Verlusts für ein Datenpaket. Die Klasse des Verlusts zeigt die Tendenz des Datenpakets an, verworfen zu werden. Ein Dringlichkeitsgrad kennzeichnet den Grad der Dringlichkeit, mit dem ein Datenpaket verarbeitet werden sollte. Die Dringlichkeits- und die Wertigkeitsgrade können in Kombination als einen Prioritätsgrad für ein Datenpaket bildend betrachtet werden. Daher weist ein Prioritätsgrad in diesem Zusammenhang zwei Komponenten auf.
  • Wie vorstehend erörtert, werden in diesem beispielhaften Policer/Former Übertragungseigenschaften für einen Datenstrom, umfassend die Zuordnung von Wertigkeits- und Dringlichkeitsgraden, auf Grundlage der angebotenen Last festgelegt. Die Wertigkeits- und Dringlichkeitsklassifizierungen werden Datenpaketkennzeichnern vorteilhaft simultan basierend auf einer Funktion des gegenwärtigen Zustands der Warteschlange zugeteilt, wenn die Klassifizierung berechnet wird. Die Wahrscheinlichkeit, in einem bestimmten Zustand zu sein, ist eine Funktion der angebotenen Last. Diese Klassifizierungsfunktion ist konfigurierbar und kann ohne Einschränkung gewählt werden. Zum Beispiel kann ein vorgegebener Policer/Former konfiguriert werden, um eine von zwei Klassifizierungen basierend auf einer probabilistischen Wahlmöglichkeit an Datenpakete zuzuteilen. Die verwendete Klassifizierungswahrscheinlichkeit kann mit der Länge der Warteschlange in Beziehung stehen. Das heißt, solch eine Konfiguration kann dazu entworfen werden, höhere Klassifizierungen an Datenpakete mit einer höheren Wahrscheinlichkeit zu vergeben, wenn die angebotene Last niedrig ist.
  • Die Klassifizierung eines Datenpakets legt den maximalen Verlust und die maximale Verzögerung fest, die es am wahrscheinlichsten erfahren wird, wenn es mit anderen Datenströmen am Ausgang der Policer/Former gemultiplext wird, wie hierin weiter unten beschrieben werden wird. Dies ist ein separates Konzept zu dem des Verlusts und der Verzögerung, die das Datenpaket in dem Policer/Former selbst erfahren kann. Der von einem Datenpaket in dem Policer/Former erfahrene Verlust hängt von der jüngsten Ankunftsgeschwindigkeit des Datenstroms und der Länge der Warteschlange ab. Die Verzögerung wird durch die konfigurierten Dienstgeschwindigkeiten und die Länge der Warteschlange festgelegt.
  • Jeder der Policer/Former 104 wird vorzugsweise unter Verwendung einer Warteschlange mit einer variablen Dienstgeschwindigkeit ausgeführt. Wenn ein Policer/Former 104 einen Datenpaketkennzeichner empfängt, bestimmt er, ob der Datenpaketkennzeichner in seiner internen Warteschlange gespeichert oder verworfen werden soll. Die Steuerung der Zulassung eines Datenpaketkennzeichners in eine Warteschlange eines Policer/Former wird hierin weiter unten erörtert.
  • Im Folgenden wird der Betrieb, durch den Datenpakete zugelassen werden zu oder verworfen werden von einem Policer/Former 104, zuerst erörtert. Für die Zwecke dieser Beschreibung wird ein Beispiel eines Policer/Formers herangezogen, der Gebrauch macht von einer Warteschlangenanordnung, die eine Warteschlangenlänge von vier aufweist, wie in 2 veranschaulicht. Jeder Zustand in 2 ist mit der Länge der Warteschlange in diesem Zustand bezeichnet. Die Dienstdauern in jedem Zustand werden durch Abtasten einer exponentiellen Verteilung mit dem Ratenparameter μ erzielt. Die Dienstdauern legen die konzeptionelle Geschwindigkeit des Dienstes für das Datenpaket fest. Zwei verschiedene Dienstgeschwindigkeiten werden in dem in 2 gezeigten Beispiel verwendet. Wenn sich die Warteschlange in Zustand 1 befindet (das heißt, die Warteschlange nur ein Datenpaket aufweist), dann legt μ1 die Geschwindigkeit des Dienstes für das Datenpaket an der Spitze der Warteschlange fest. Wenn die Warteschlange länger ist, sich zum Beispiel in Zustand 3 befindet, würde die Dienstgeschwindigkeit μ2 verwendet. Diese beispielhafte Ausführungsform des Policer/Formers weist auch willkürliche Wahrscheinlichkeiten für das Verwerfen auf, die jedem Zustand zugeordnet sind. Das heißt, bei der Ankunft gibt es eine Wahrscheinlichkeit, dass der Datenpaketkennzeichner willkürlich verworfen wird. In diesem Beispiel hängt die Wahrscheinlichkeit dieses Ereignisses vom Zustand der Warteschlange ab, wenn der Datenpaketkennzeichner ankommt. Der Betrieb eines Policer/Formers wird jetzt in Bezug auf den Zustand der Warteschlange bei der Ankunft des Datenpaketkennzeichners beschrieben.
  • In einem ersten Fall wird angenommen, dass die Warteschlange voll ist zum Zeitpunkt, zu dem der Datenpaketkennzeichner ankommt. In solch einem Fall ist die Wahrscheinlichkeit, dass der Datenpaketkennzeichner in die Warteschlange aufgenommen wird, null. Dies bedeutet nicht unbedingt, dass das Datenpaket automatisch verworfen wird, da das Datenpaket an mehr als einen der verfügbaren Policer/Former gesandt worden sein kann. In solch einem Fall leitet der Policer/Former 104 einen Befehl auf seiner entsprechenden Leitung 138 weiter, um die Referenzzählung für das mit einem bestimmten Kennzeichner verbundene Datenpaket zu vermindern. Der Warteschlangenspeichermanager verwirft dann das Datenpaket, auf das durch den Datenpaketkennzeichner verwiesen wird, wenn seine Referenzzählung 0 oder weniger beträgt.
  • In einem zweiten Fall ist die Warteschlange zum Zeitpunkt der Ankunft eines Datenpaketkennzeichners an dem Policer/Former 104 fast voll. Nehmen wir zum Beispiel an, dass sich die Warteschlange in Zustand 3 befindet. In Zustand 3 gibt es eine Wahrscheinlichkeit von 30%, dass der Datenpaketkennzeichner nicht in die Warteschlange eingetragen wird. Wenn der Datenpaketkennzeichner zugelassen wird, dann wird er in der Warteschlange des Policer/Formers gespeichert und die Warteschlange bewegt sich zu Zustand 4. Die Warteschlange ist dann voll, und alle Datenpaketkennzeichner, die ankommen, bevor ein Datenpaketkennzeichner in der Warteschlange diese verlässt, werden nicht zugelassen.
  • Wenn der Datenpaketkennzeichner in die Warteschlange des Policer/Formers 104 eintritt, sendet der Policer/Former 104 ein entsprechendes Signal auf seiner entsprechenden Leitung 138 an den Warteschlangenspeichermanager um anzuzeigen, dass das Datenpaket, dass dem Datenpaketkennzeichner zugeordnet ist, in den Warteschlangendatenspeicher 112 zugelassen werden soll und in eine spezifische Warteschlange abgespeichert werden soll, die für Datenpakete zugewiesen ist, die zu diesem Datenstrom gehören.
  • Wenn ein Abgang geplant ist, wird der Datenpaketkennzeichner an der Spitze der Warteschlange abgearbeitet. Die abgetastete Geschwindigkeit, die verwendet wird, um diesen Datenpaketkennzeichner zu bedienen, hängt vom Zustand der Warteschlange ab. Auf der Basis, dass die Warteschlange sich in Zustand 4 befindet, wird die Abtastdienstrate, die verwendet wird, um diesen Datenpaketkennzeichner zu bedienen, durch eine zufällige exponentiell verteilte Variable mit dem Mittelwert μ2 festgelegt. Die berechnete Dienstdauer dieses Datenpakets basiert auf der Abtastdienstrate und der Länge des Datenpakets.
  • In einem dritten Fall kommt ein Datenpaketkennzeichner zu einer Zeit an, zu der die Warteschlange fast leer ist. Die Verarbeitung des Datenpaketkennzeichners in diesem Fall ist dem Fall sehr ähnlich, wenn die Warteschlange fast voll ist. Nehmen wir an, dass ein Datenpaketkennzeichner ankommt, wenn sich die Warteschlange in Zustand 1 befindet. Es gibt keine Chance, dass das Datenpaket willkürlich verworfen wird, da die Wahrscheinlichkeit dieses Ereignisses so konfiguriert wird, dass es null beträgt. Deshalb wird der Datenpaketkennzeichner in der Warteschlange gespeichert, und die Warteschlange bewegt sich zu Zustand 2. Wenn ein Abgangsereignis geplant ist, bevor eine weitere Ankunft auftritt, wird der Datenpaketkennzeichner an der Spitze der Warteschlange auf Grundlage der Dienstgeschwindigkeit für Zustand 2 abgearbeitet, die μ1 ist.
  • In einem vierten Fall kommt der Datenpaketkennzeichner zu einer Zeit an, zu der die Warteschlange leer ist. In diesem Fall wird, wie im dritten Fall, der Datenpaketkennzeichner in die Warteschlange zugelassen.
  • Die vorstehend enthaltene Beschreibung ist von der Annahme ausgegangen, dass der Policer/Former nicht konfiguriert wird, um Datenpakete ohne Verzögerung zu senden. Mit anderen Worten weist der Policer/Former vorzugsweise keine Niedriglasttransparenz auf, alle Datenpakete werden verzögert.
  • In ihrer einfachsten Form ermöglicht eine Niedriglasttransparenz, dass das erste Datenpaket, das an einer leeren Warteschlange ankommt, sofort weitergeleitet wird. Trotz dieser Aktion bewegt sich die Warteschlange in den Zustand 1. Anschließend ankommende Datenpakete werden so verarbeitet, als ob dieses Datenpaket vorliegend wäre, außer dass, wenn dieses Datenpaket normalerweise bei Ablauf seines Zeitnehmers weitergeleitet worden wäre, es nicht gesandt wird. Ob ein Datenpaketkennzeichner sofort bei der Ankunft weitergeleitet worden ist oder nicht, wird in der Warteschlange aufgezeichnet. Dieses Konzept kann ebenso auf mehrfache Datenpakete ausgedehnt werden.
  • Bevor ein Datenpaketkennzeichner einen Policer/Former verlässt, legt der Policer/Former eine Qualitätsklassifizierung für diesen Datenpaketkennzeichner fest. Die Policer/Former klassifizieren die Datenpaketkennzeichner, wie vorstehend beschrieben, mit Wertigkeits- und Dringlichkeitsklassifizierungen. Jeder Datenpaketkennzeichner muss mit einer Wertigkeits- und Dringlichkeitsklassifizierung klassifiziert werden, bevor er an den Multiplexer für Wertigkeit und Dringlichkeit 106 weitergeleitet wird. Die einem Datenpaketkennzeichner zugeteilte Klassifizierung ist eine Funktion des gegenwärtigen Zustands der Warteschlange.
  • Nehmen wird wieder einen Policer/Former an, der eine Warteschlange der Länge 4 aufweist. Wie in 2 gezeigt, wird angenommen, dass die Warteschlange des Policer/Formers so konfiguriert ist, dass die Dienstgeschwindigkeiten für die Zustände 1 und 2 als μ1 definiert sind, und die willkürliche Verlustmöglichkeit für die Zustände 1 und 2 null ist. Die Zustände 3 und 4 weisen eine definierte Dienstgeschwindigkeit von μ2 auf und weisen eine willkürliche Verlustwahrscheinlichkeit von 0,3 auf (das heißt 30%).
  • In einer bevorzugten Ausführungsform ist jeder Policer/Former mit einer primären und einer sekundären Wertigkeits- und Dringlichkeitsklassifizierung konfiguriert und einem Datenpaketkennzeichner wird eine der Klassifizierungen bei der Ankunft zugeteilt. Jeder Zustand weist eine zugehörige Wahrscheinlichkeit auf, dass ein Datenpaket mit der primären Klassifizierung klassifiziert wird. Die Wahrscheinlichkeit, ein Datenpaket in jedem Zustand mit der primären Klassifizierung zu klassifizieren, wird in diesem Beispiel konfiguriert wie folgt: für Zustand 1, 100%; für Zustand 2, 80%; für Zustand 3, 60%; und für Zustand 4, 40%. Diese Wahrscheinlichkeiten sind in 3 veranschaulicht.
  • Die primäre Klassifizierung kann zum Beispiel eine wünschenswertere Klassifizierung sein als die sekundäre Klassifizierung. Wenn die angebotene Last in dem Datenstrom niedrig ist, weisen die Datenpakete eine höhere Wahrscheinlichkeit auf, die wünschenswertere primäre Klassifizierung zugeteilt zu bekommen, da die Warteschlange am häufigsten in Zustand 1 oder 2 sein wird. Wenn die angebotene Last zunimmt, gibt es eine höhere Wahrscheinlichkeit, dass einem Datenpaketkennzeichner die sekundäre Klassifizierung, die weniger wünschenswert ist, zugeteilt wird, da dies bedeuten könnte, dass der Datenpaketkennzeichner mehr an Verzögerung und/oder Verlust in dem Multiplexer für Wertigkeit und Dringlichkeit erfährt.
  • Sich auf die vorstehend Beschreibung der Kriterien, um einen Datenpaketkennzeichner zur Warteschlange zuzulassen, beziehend, ist die Wahrscheinlichkeit, wenn ein Datenpaketkennzeichner für den Fall 2 zur Warteschlange zugelassen wird (das heißt im Beispiel, wenn sich die Warteschlange in Zustand 3 befindet und der Datenpaketkennzeichner zugelassen wird und die Warteschlange sich in den Zustand 4 bewegt) den Datenpaketkennzeichner mit der primären Klassifizierung zu klassifizieren 40%, da die Warteschlange dann in Zustand 4 ist. Deshalb gibt es eine Wahrscheinlichkeit von 40%, dass dem Datenpaketkennzeichner die primäre Klassifizierung zugeteilt wird, und eine Wahrscheinlichkeit von 60%, dass ihm die sekundäre Klassifizierung zugeteilt wird. Diese Klassifizierung des Datenpaketkennzeichners basiert auf einer einfachen probabilistischen Wahlmöglichkeit.
  • Ein Datenpaketkennzeichner wird dann am Ende der berechneten Dienstdauer von der Warteschlange des Policer/Former ausgegeben und die Warteschlange bewegt sich in den Zustand 3. Eine neue berechnete Dienstdauer, basierend auf den definierten Parametern des Zustands 3, legt dann fest, wann der nächste Abgang ausgeführt wird. Wenn eine Ankunft auftritt, bevor dieser Zeitraum abgelaufen ist, kann sich die Warteschlange dann in den Zustand 4 bewegen, basierend darauf, ob die Ankunft willkürlich verworfen wird oder nicht.
  • Sich auf den obigen Fall 3 beziehend, den Fall, in dem ein Datenpaketkennzeichner ankommt, wenn die Warteschlange fast leer ist, wird der Datenpaketkennzeichner unter Verwendung der mit Zustand 2 verbundenen Wahrscheinlichkeit klassifiziert. In diesem Fall gibt es eine Wahrscheinlichkeit von 80% der primären Klassifizierung des Datenpaketkennzeichners, der an den Multiplexer für Wertigkeit und Dringlichkeit 106 gesandt wird.
  • Willkürliches Verwerfen von Datenpaketen bei ihrer Ankunft am Policer/Former reduziert nicht nur die Ankunftsrate des Datenstroms, sondern hilft auch, Verluste bei hohen Datenfolgen zu vermeiden. Wenn zum Beispiel eine Datenfolge von sechs Datenpaketen in der Warteschlangenanordnung gemäß 2 angekommen ist, würden die letzten zwei Datenpakete verloren gehen, wenn Datenpakete nicht willkürlich verworfen wurden. Wenn auf der anderen Seite die Wahrscheinlichkeit des willkürlichen Verwerfens mit der Warteschlangenlänge zunimmt, kann es der Fall sein, dass zum Beispiel das vierte oder dritte Datenpaket bei der Ankunft verworfen wird und der Verlust in der Datenfolge auf diese Weise gerecht verteilt wird.
  • Eine weitere Funktion des Policer/Formers, wie hierin weiter oben beschrieben, ist, das Datenpaket mit dem Datenpaketkennzeichner verbunden zu halten, der im Warteschlangendatenspeicher 112 durch Interaktion mit dem Warteschlangenspeichermanager 114 verarbeitet wird. Datenpakete in Warteschlangen zu speichern ist notwendig, um sicherzustellen, dass Datenpakete in einem Datenstrom nicht vom Dienstprozess des Multiplexers für Wertigkeit und Dringlichkeit 106 in der Reihenfolge geändert werden. In Abhängigkeit von der gewählten Funktionsweise, um Wertigkeits- und Dringlichkeitsgrade an die Datenpakete zuzuteilen, gibt es die Möglichkeit, dass die Datenpakete während des Multiplexens auf die Leitung 124 in der Reihenfolge geändert werden könnten, wie nachstehend weiter erörtert.
  • Als ein Beispiel betrachten wird die einfache probabilistische Klassifizierungsfunktion wie oben beschrieben. Nehmen wird an, dass eine Datenfolge von vier Datenpaketkennzeichnern im Policer/Former ankommt und alle Datenpakete in der Warteschlange gespeichert werden. Nehmen wird weiterhin an, dass keine weiteren Ankünfte während der ersten fraglichen Zeit auftreten. Weiterhin nehmen wir wieder an, dass der Multiplexer für Wertigkeit und Dringlichkeit nicht leer ist, enthaltend Datenpa kete, die von anderen Policer/Formern herrühren. Zuletzt nehmen wird an, dass die primäre Wertigkeits- und Dringlichkeitsklassifizierung einen erwünschten hohen Dringlichkeitsgrad aufweist, während die sekundäre Klassifizierung einen niedrigen Dringlichkeitsgrad aufweist. Unter der Voraussetzung dieser Bedingungen weist der Datenpaketkennzeichner am Anfang der Datenfolge, auf den als "Datenpaketkennzeichner 1" verwiesen wird, eine höhere Wahrscheinlichkeit auf, der sekundären Wertigkeits- und Dringlichkeitsklassifizierung zugeteilt zu werden, als ein Datenpaket nahe an dem Ende der Datenfolge, bezeichnet als "Datenpaketkennzeichner 4". Wenn dem Datenpaketkennzeichner 1 die sekundäre Klassifizierung zugeteilt wird, während dem Datenpaketkennzeichner 4 die primäre Klassifizierung zugeteilt wird, kann die Differenz in den Dringlichkeitsgraden bewirken, dass in dem Multiplexer für Wertigkeit und Dringlichkeit 106 der Datenpaketkennzeichner 4 vor dem Datenpaketkennzeichner 1 bedient wird.
  • Um dies zu vermeiden, weisen die Policer/Former den Warteschlangenspeichermanager 114 an, Datenpakete im Warteschlangendatenspeicher 112 gemäß der Reihenfolge einzureihen, in der die entsprechenden Datenpaketkennzeichner in dem Policer/Former empfangen werden. Das heißt, bei Ankunft in dem Policer/Former und wenn ein Datenpaketkennzeichner nicht verworfen wird, wird der Warteschlangendatenspeicher angewiesen, das Datenpaket in der Warteschlange des betreffenden Datenstroms in der Reihenfolge einzureihen, in der es ankam.
  • 8 zeigt ein Beispiel einer Implementierung eines Policer/Formers 104. Der beispielhafte Policer/Former umfasst den Policer/Former Ankunftsverarbeitungsblock 701, einen Datenpaketkennzeichnerwarteschlangenblock 702, einen Policer/Former Abgangsverarbeitungsblock 704, einen Zeitnehmer 703, einen Verwurfswahrscheinlichkeitsgenerator 706 und einen Dienstdauergenerator 707.
  • Datenpaketkennzeichner kommen über die Leitung 708 am Policer/Former Ankunftsverarbeitungsblock 701 an. Der Policer/Former Ankunftsverarbeitungsblock 701 benachrichtigt den Policer/Former Konfigurationsmanagementblock 705 über die Leitung 720 darüber, dass ein Datenpaketkennzeichner angekommen ist. Der Policer/Former Konfigurationsmanagementblock fragt den Datenpaketkennzeichnerwarteschlangenblock 702 über die Leitung 724 zyklisch ab, um die gegenwärtige Länge der Warteschlange innerhalb der Policer/Former zu erhalten. Auf Grundlage der Antwort des Datenpaketkennzeichnerwarteschlangenblocks über die Leitung 726 stellt der Policer/Former Konfigurationsmanagementblock fest, ob die Warteschlange voll ist oder nicht. Wenn es verfügbare Kapazität in der Warteschlange gibt, legt der Policer/Former Konfigurationsmanagementblock 705 dann unter Verwendung von Input von dem Verwurfswahrscheinlichkeitsgenerator 706 auf Leitung 732 fest, ob der Datenpaketkennzeichner willkürlich verworfen werden sollte oder nicht.
  • Wenn der Datenpaketkennzeichner zur Warteschlange zugelassen werden soll, macht der Policer/Former Konfigurationsmanagementblock 705 den Policer/Former Ankunftsverarbeitungsblock 701 über die Leitung 722 darauf aufmerksam, den Datenpaketkennzeichner zuzulassen. Nach dem Empfang dieser Antwort sendet der Policer/Former Ankunftsverarbeitungsblock 701 über die Leitung 736 (die gleichbedeutend einer der Leitungen 138 ist) eine Anfrage an den Warteschlangenspeichermanager 114, um das Datenpaket in der einen Warteschlange im Warteschlangendatenspeicher einzureihen, der für diesen Datenstrom vergeben ist. Der Policer/Former Ankunftsprozess leitet dann den Datenpaketkennzeichner über die Leitung 710 an den Datenpaketkennzeichnerwarteschlangenblock 702 weiter. Der Policer/Former Konfigurationsmanagementblock 705 berechnet eine neue Dienstdauer, basierend auf Input aus dem Dienstdauergenerator 707 auf Leitung 734 und der Länge des Datenpakets und sendet diese Dienstdauer über die Leitung 728 zum Policer/Former Abgangsverarbeitungsblock 704. Der Policer/Former Abgangsprozess leitet die neue Dienstdauer über die Leitung 716 an den Zeitnehmer 703 weiter. Der Zeitnehmer 703 stellt sich selbst zurück, um am Ende der neuen Dienstdauer wieder aktiv zu werden.
  • Wenn der Policer/Former Konfigurationsmanagementblock 705 bestimmt, dass die Warteschlange voll ist, weist er den Policer/Former Ankunftsverarbeitungsblock 701 über die Leitung 722 an, den Datenpaketkennzeichner zu verwerfen. In diesem Fall sendet der Policer/Former Ankunftsverarbeitungsblock 701 über die Leitung 736 eine Ausschussanweisung an den Warteschlangenspeichermanager 114. Der Policer/Former Ankunftsverarbeitungsblock verwirft dann den Datenpaketkennzeichner.
  • Wenn der Zeitnehmer 703 wieder aktiv wird, sendet er eine Anfrage über die Leitung 718 an den Policer/Former Abgangsverarbeitungsblock 704, um einen Datenpaketkennzeichner auszusenden. Der Policer/Former Abgangsverarbeitungsblock sendet über die Leitung 730 eine Anfrage an den Policer/Former Konfigurationsmanagementblock 705 für eine Klassifizierung und eine neue Dienstdauer. Der Konfigurationsmanagementblock 705 befragt den Datenpaketkennzeichnerwarteschlangenblock 702 über die Leitungen 724 und 726, um die gegenwärtige Länge der Warteschlange zu erhalten. Der Konfigurationsmanagementblock verwendet die gegenwärtige Länge der Warteschlange, um die Klassifizierung für den Datenpaketkennzeichner festzulegen, der im Begriff ist, ausgesandt zu werden. Die Klassifizierung wird über die Leitung 728 an den Policer/Former Abgangsverarbeitungsblock gesandt. Der Policer/Former Abgangsprozess 704 verkettet einen Warteschlangenkennzeichner, der spezifiziert, welche Warteschlange im Warteschlangendatenspeicher 112 für das Speichern von Datenpaketen dieses Stroms und die Klassifi zierung zum Datenpaketkennzeichner verwendet wird und leitet dieses Tupel von Daten über die Leitung 738 weiter.
  • Es sollte beachtet werden, dass in dieser beispielhaften Implementierung die Klassifizierung der Datenpaketkennzeichner ausgeführt wird, wenn die Datenpakete die Warteschlange verlassen. Der Punkt, an dem die Datenpakete innerhalb des Policer/Formers klassifiziert werden, ist jedoch von der Implementierung abhängig, und ist nicht auf das hierin gegebene Beispiel beschränkt. Wie zuvor vorstehend beschrieben, können die Datenpaketkennzeichner bei Ankunft statt bei Abgang klassifiziert werden.
  • Wenn die im Datenpaketkennzeichnerwarteschlangenblock 702 identifizierte Warteschlange nicht leer ist, sendet der Policer/Former Konfigurationsmanagementblock 705 durch die Leitung 728 auch eine neue Dienstdauer zum Policer/Former Abgangsverarbeitungsblock 704. Diese Dienstdauer wird über die Leitung 716 an den Zeitnehmer 703 weitergeleitet, und der Zeitnehmer stellt sich so ein, dass er nach dieser Zeit wieder aktiv wird. Wenn die Warteschlange leer ist, werden keine Maßnahmen ergriffen.
  • Weiter mögliche Änderungen am Policer/Former 104, die in 1 gezeigt werden, werden mit Bezug auf 6 veranschaulicht. Wie in 6 gezeigt, können die Policer/Former auf verschiedene Weisen kaskadiert werden.
  • Sich auf 6(a) beziehend, wird dort eine vorteilhafte Anordnung veranschaulicht, in der die Ausgabe von einem Policer/Former 210 einen Input an zwei parallele Policer/Former 212 und 214 zur Verfügung stellt. Der Policer/Former 210 erhält Datenpaketkennzeichner über die Leitung 222 vom Datenstromkennzeichner 102. In Übereinstimmung mit dem Standardbetrieb des Policer/Formers, verwirft der Policer/Former 210 selektiv Datenpaketkennzeichner und verschiebt Datenpaketkennzeichner zeitlich, um einen modifizierten Datenstrom von Datenpaketkennzeichnern an seinem Ausgang zur Verfügung zu stellen. In einer ersten Ausführungsform wird der auf diese Weise modifizierte Datenstrom von Datenpaketkennzeichnern auf Leitungen 234 und 236 zu jedem der parallelen Policer/Former 212 und 214 gesendet. Die entsprechenden Policer/Former 212 und 214 verwerfen dann selektiv Datenpaketkennzeichner und verschieben Datenpaketkennzeichner zeitlich, um zwei weitere modifizierte Datenpaketkennzeichnerströme an ihren Ausgängen 224 und 226 zu erzeugen. In einer zweiten Ausführungsform wird die Ausgabe des Policer/Formers 210 selektiv entweder dem einen oder dem anderen der Policer/Former 212 und 214 zur Verfügung gestellt. Der entsprechende der Policer/Former 212 und 214 verwirft dann selektiv Datenpaketkennzeichner und verschiebt Datenpaketkennzeichner zeitlich auf seinen entsprechenden Ausgang.
  • Sich auf 6(b) beziehend, ist dort eine weitere Anordnung veranschaulicht, in der zwei parallele Policer/Former 216 und 218 Inputs empfangen, die Datenpaketkennzeichner auf Datenströmen auf den Leitungen 228 und 230 umfassen. Die Ausgabe der beiden Policer/Former 216 und 218 auf ihren entsprechenden Ausgängen 238 und 240 formen einen Input in einen weiteren Policer/Former 220 aus. Der Policer/Former 220 gibt Datenpaketkennzeichner auf Leitung 232 aus.
  • Es wird der in der Technik ausgebildeten Person klar sein, wie Policer/Former in verschiedenen Kombinationen der in 6 gezeigten Anordnungen kaskadiert werden können. Zum Beispiel können die Anordnungen gemäß 6(a) und 6(b) kaskadiert werden. Außerdem kann jeder der Policer/Former auch Input aus anderen Quellen empfangen. Zum Beispiel kann der Policer/Former 212 gemäß 6(a) einen zusätzlichen Input empfangen, der nicht von einem anderen Policer/Former abge leitet wird. Eine Person, die in der Technik ausgebildet ist, erkennt, wie verschiedene Anordnungen von Kaskadierungen implementiert werden können. Die einzige Einschränkung ist, dass kaskadierte Policer/Former in einem azyklischen Graphen verbunden sein müssen.
  • Bei einem Abgang sendet der Policer/Former sowohl den Datenpaketkennzeichner als auch seine zugehörigen Warteschlangenkennzeichner und die Klassifizierung über eine entsprechende Ausgangsleitung 122 an den Multiplexer für Wertigkeit und Dringlichkeit 106. Der Multiplexer für Wertigkeit und Dringlichkeit erfordert den Datenpaketkennzeichner zusätzlich zu dem Warteschlangenkennzeichner, falls er eine Verwurfsanweisung an den Warteschlangenspeichermanager 114 ausgeben muss, wie im weiteren Detail hierin untenstehend erörtert werden wird.
  • Der Multiplexer für Wertigkeit und Dringlichkeit 106 verwaltet die Konkurrenzsituation zwischen zwei oder mehr Datenströmen für die Netzwerkressourcen. Der Multiplexer für Wertigkeit und Dringlichkeit 106 empfängt Datenpaketkennzeichner von den unterschiedlichen Policer/Formern 104, wobei jeder Datenpaketkennzeichner mit einer Wertigkeits- und Dringlichkeitsklassifizierung gekennzeichnet wird.
  • Die Klassifizierung eines Datenpaketkennzeichners definiert einen Wertigkeitsgrad und einen Dringlichkeitsgrad für das Datenpaket, dem sie zugehörig ist. Der Multiplexer für Wertigkeit und Dringlichkeit verwaltet die Konkurrenzsituation zwischen zwei oder mehr Datenströmen durch das Abarbeiten von Datenpaketen (über ihre Datenpaketkennzeichner) in Abhängigkeit von ihrem Dringlichkeitsgrad und, wenn notwendig, durch Verwerfen von Datenpaketen in Abhängigkeit von ihrem Wertigkeitsgrad. Der Wertigkeitsgrad bestimmt, welche Datenpakete in den Multiplexer für Wertigkeit und Dringlichkeit eintreten. Der Dringlichkeitsgrad bestimmt die Reihenfolge, in der die Datenpakete vom Multiplexer für Wertigkeit und Dringlichkeit angenommen werden. Das Klassifizieren von Datenpaketen unter Verwendung von Dringlichkeits- und Wertigkeitsgraden ist in der internationalen Patentveröffentlichung Nr. WO00/65783 beschrieben. Auf diese Weise verwaltet der Multiplexer für Wertigkeit und Dringlichkeit 106 die Konkurrenzsituation zwischen den drei Datenströmen 122a, 122b und 122c an den Ausgängen der Policer/Former 104a, 104b und 104c.
  • Wenn ein Datenpaketkennzeichner mit seiner zugehörigen Wertigkeits- und Dringlichkeitsklassifizierung ankommt, bestimmt der Multiplexer für Wertigkeit und Dringlichkeit 106, ob der Datenpaketkennzeichner gespeichert oder verworfen werden soll. Dies wird durch die verfügbare Speicherkapazität in dem Multiplexer für Wertigkeit und Dringlichkeit und dem mit dem Kennzeichner verbundenen Wertigkeitsgrad festgelegt.
  • In einem bekannten Verfahren zur Durchführung der Wertigkeitszuordnung, wird der Zugriff auf einen Puffer in dem Multiplexer für Wertigkeit und Dringlichkeit durch Zuordnen eines Wertigkeitsgrad zu einem bestimmten Bereich des Puffers festgelegt. Das heißt man kann sich vorstellen, dass ein Datenpaket mit irgendeinem von N Wertigkeitsgraden klassifiziert werden kann. Dann nehmen wir an, dass es insgesamt KN Puffer gibt. Datenverkehr des Wertigkeitsgrades 1 kann in jeden der KN Puffer eintreten, während Datenverkehr des Wertigkeitsgrades i nur in die ersten KN–i+1 Puffer eintreten kann, wobei K0 = 0 < K1 < ... < KN. Deshalb werden Datenpakete des Wertigkeitsgrades 1 eine größere Wahrscheinlichkeit aufweisen, verfügbare Pufferressourcen zu finden, als Datenpakete des Wertigkeitsgrades i, wobei i > 1 ist.
  • Ein Schema ist auch notwendig um festzulegen, welcher Datenpaketkennzeichner weiterzuleiten ist, das heißt, wie die Dring lichkeitsgrade verwendet werden sollten, um die Reihenfolge festzulegen, in der die Datenpakete abgearbeitet werden. Ein Ansatz ist, den Kennzeichner mit dem höchsten Dringlichkeitsgrad an der Spitze der Warteschlange weiterzuleiten, obwohl andere Ansätze möglich sind.
  • Die Verlustrate für Datenpaketkennzeichner in einem vorgegebenen Datenstrom wird sowohl festgelegt durch den an die Datenpakete zugewiesenen Wertigkeitsgrad wie auch durch die maximale Ankunftsrate für alle anderen Datenströme, die einen Wertigkeitsgrad mit gleichem oder größerem Wert aufweisen. Die Reihenfolge in der Datenpakete in dem Multiplexer für Wertigkeit und Dringlichkeit abgearbeitet werden, hängt von ihren Dringlichkeitsgraden und den Ankunftsraten und den Mustern des dringenderen Datenverkehrs ab. Dies legt die vom Datenpaketkennzeichner erfahrene Verzögerung in dem Multiplexer für Wertigkeit und Dringlichkeit fest.
  • Wenn der Multiplexer für Wertigkeit und Dringlichkeit 106 einen Datenpaketkennzeichner verwirft, weist er den Warteschlangenspeichermanager über die Leitung 136 an, die Referenzzählung für das entsprechende Datenpaket vom Warteschlangendatenspeicher 112 zu vermindern.
  • Der Multiplexer für Wertigkeit und Dringlichkeit zeichnet Statistiken über die Verkehrsströme auf, umfassend, aber nicht darauf eingeschränkt, die Anzahl der Bytes und/oder die Anzahl von Datenpaketen, die für jeden Dringlichkeitsgrad und jeden Wertigkeitsgrad sowohl akzeptiert als auch zurückgewiesen werden.
  • Der Multiplexer für Wertigkeit und Dringlichkeit leitet einen von den gespeicherten Datenpaketkennzeichnern zusammen mit seinem zugehörigen Warteschlangenkennzeichner in Reaktion auf eine Anforderung des Geschwindigkeitsbegrenzers 108 an Leitung 126 von seinen internen Puffern über die Leitung 124 zum Geschwindigkeitsbegrenzer 108 weiter. Die Auswahl darüber, welches von den Kennzeichnerpaaren an den Geschwindigkeitsbegrenzer weitergeleitet wird als Reaktion auf eine Anforderung von diesem, wird von dem Dringlichkeitsgrad des Datenpaketkennzeichners und dem Auswahlmechanismus des Multiplexers für Wertigkeit und Dringlichkeit festgelegt.
  • Eine beispielhafte Implementierung eines Multiplexers für Wertigkeit und Dringlichkeit 106 ist in 9 veranschaulicht. Der Multiplexer für Wertigkeit und Dringlichkeit umfasst einen Ankunftsverarbeitungsblock für Wertigkeit und Dringlichkeit 801, eine Reihe von Dringlichkeitswarteschlangen 814, umfassend die Warteschlangen 802 bis 805, einen Abgangsverarbeitungsblock für Wertigkeit und Dringlichkeit 816, und einen Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807.
  • Datenpaketkennzeichner kommen über die Leitung 810 an dem Ankunftsverarbeitungsblock für Wertigkeit und Dringlichkeit 801 an. Der Ankunftsverarbeitungsblock für Wertigkeit und Dringlichkeit benachrichtigt den Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807, dass ein Datenpaketkennzeichner angekommen ist und leitet seinen Wertigkeitsgrad über die Leitung 822 weiter. Der Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807 erfragt die Länge jeder der Dringlichkeitswarteschlangen 802805 über die Leitung 826. Basierend auf der gegenwärtigen Gesamtzahl von Datenpaketkennzeichnern, die in dem Multiplexer für Wertigkeit und Dringlichkeit 106 Schlange stehen und dem Wertigkeitsgrad des Datenpaketkennzeichners, bestimmt der Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit, ob das Datenpaket verworfen werden soll oder nicht.
  • Wenn der Datenpaketkennzeichner verworfen werden soll, benachrichtigt der Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807 den Ankunftsprozess für Wertigkeit und Dringlichkeit 801 dementsprechend über die Leitung 824. In diesem Fall sendet der Ankunftsprozess für Wertigkeit und Dringlichkeit eine Anweisung über die Leitung 812 zum Warteschlangendatenspeicher, um das Datenpaket zu verwerfen, wobei das Datenpaket durch seinen Datenpaketkennzeichner und seinen Warteschlangenkennzeichner identifiziert wird. Diese Kennzeichner werden dann durch den Ankunftsverarbeitungsblock für Wertigkeit und Dringlichkeit 801 verworfen.
  • Andernfalls benachrichtigt der Konfigurationsmanagementblock für Wertigkeit und Dringlichkeit 807 den Ankunftsprozess für Wertigkeit und Dringlichkeit 801 über die Leitung 722, um den Datenpaketkennzeichner an eine der Dringlichkeitswarteschlangen 802 bis 805 weiterzuleiten. Es gibt für jeden Dringlichkeitsgrad eine Dringlichkeitswarteschlange. Diese beispielhafte Implementierung veranschaulicht einen für vier mögliche Dringlichkeitsgrade konfigurierten Multiplexer für Wertigkeit und Dringlichkeit. Der Ankunftsprozess für Wertigkeit und Dringlichkeit erzielt den Dringlichkeitsgrad für den Datenpaketkennzeichner und leitet den Datenpaketkennzeichner und seinen zugehörigen Warteschlangenkennzeichner über eine der Leitungen 830 an die entsprechende Dringlichkeitswarteschlange weiter.
  • Anfragen für Datenpakete vom Geschwindigkeitsbegrenzer werden vom Abgangsverarbeitungsblock für Wertigkeit und Dringlichkeit 806 über die Leitung 818 empfangen. Wenn eine Datenpaketanforderung ankommt, fordert der Abgangsprozess für Wertigkeit und Dringlichkeit das Kopfelement von einer der Dringlichkeitswarteschlangen 802 bis 805 über eine der Leitungen 834 an. In der bevorzugten Ausführungsform werden die Kennzeichner an der Spitze der dringendsten Warteschlange angefordert. Das Paar aus Datenpaketkennzeichner und Warteschlangenkennzeichner an der Spitze der Warteschlange, die die Anfrage empfangen hat, wird über eine der Leitungen 832 weitergeleitet zum Abgangsverarbeitungsblock für Wertigkeit und Dringlichkeit 808. Der Abgangsverarbeitungsblock für Wertigkeit und Dringlichkeit 806 leitet das Paar von Kennzeichnern über die Leitung 124 sofort an den Geschwindigkeitsbegrenzer weiter.
  • Der Geschwindigkeitsbegrenzer 108 bewegt eine Konkurrenzsituation von einem Punkt flussabwärts im Netzwerk nach innerhalb des Multiplexers 100 durch Beschränken der Dienstgeschwindigkeit auf eine solche, für die das Netzwerk ausreichende Ressourcen aufweist. Der Geschwindigkeitsbegrenzer stellt sicher, dass die maximale Dienstgeschwindigkeit nicht langfristig überschritten wird durch Sicherstellen, dass entsprechende Abstände zwischen gesendeten Datenpaketen aufrechterhalten werden.
  • Der Geschwindigkeitsbegrenzer 108 fordert auf einer Anforderungsleitung 126 Datenpaketkennzeichner von dem Multiplexer für Wertigkeit und Dringlichkeit an, und empfängt Datenpaketkennzeichner zusammen mit ihren zugehörigen Warteschlangenkennzeichnern auf der Leitung 124. Beim Empfangen des Paars von Kennzeichnern auf der Leitung 124 stellt der Geschwindigkeitsbegrenzer den Warteschlangenkennzeichner auf der Leitung 134 dem Warteschlangenspeichermanager 114 zur Verfügung. In Reaktion darauf stellt der Warteschlangenspeichermanager 114 dem Geschwindigkeitsbegrenzer auf der Leitung 132 das Datenpaket an der Spitze der identifizierten Warteschlange aus dem Warteschlangendatenspeicher zur Verfügung. Der Geschwindigkeitsbegrenzer leitet dann Datenpakete zur Übertragung auf die Ausgabeschnittstelle auf der Leitung 128 weiter. Zum Zeitpunkt der Weiterleitung eines Datenpakets an die Ausgangsschnittstelle stellt der Geschwindigkeitsbegrenzer einen Zeitnehmer ein, um die Dienstdauer dieses bestimmten Datenpakets mit der konfigurierten Geschwindigkeit darzustellen. Am Ende der für das Abarbeiten des bestimmten Datenpakets zugeteilten Zeitperiode fordert der Geschwindigkeitsbegrenzer ein weiteres Datenpaket auf Leitung 126 von dem Multiplexer für Wertigkeit und Dringlichkeit 106 an.
  • Wenn keine Änderung in der Reihenfolge in dem Multiplexer für Wertigkeit und Dringlichkeit aufgetreten ist, wird das vom Warteschlangenspeichermanager gesandte Datenpaket dasselbe sein wie das vom Datenpaketkennzeichner identifizierte Datenpaket. Andernfalls bezieht sich der vom Geschwindigkeitsbegrenzer empfangene Datenpaketkennzeichner auf ein Datenpaket, das immer noch in der Warteschlange im Warteschlangendatenspeicher wartet.
  • Der Geschwindigkeitsbegrenzer kann Datenpakete stochastisch oder deterministisch abarbeiten. Der Geschwindigkeitsbegrenzer kann auf diese Weise Datenpakete so abarbeiten, dass sie einen variablen Abstand aufweisen, wie vorstehend unter Bezugnahme auf den Policer/Former besprochen.
  • Eine Einheit kann ausgebildet werden durch Kombinieren eines Multiplexers für Wertigkeit und Dringlichkeit 106 und eines Geschwindigkeitsbegrenzers 108, vorzugsweise eines solchen, der Datenpakete stochastisch abarbeitet. Solche Einheiten können mit einer Vielzahl von Policern/Formern kaskadiert werden und anderen solchen Multiplexern für Wertigkeit und Dringlichkeit und als Geschwindigkeitsbegrenzereinheiten und können zusätzliche Inputs aus anderen Quellen empfangen. Eine Person, die in der Technik ausgebildet ist, erkennt, wie verschiedene Kaskadierungsanordnungen ausgeführt werden können. Die einzige Einschränkung ist, dass die kaskadierte Kombination dieser Einheiten in einem azyklischen Graphen verbunden sein muss.
  • Wenn stochastische Dienstgeschwindigkeiten verwendet werden, gibt es das Potential, dass die abgetastete Dienstgeschwindigkeit viel schneller ist, als die Geschwindigkeit, mir der das Datenpaket physisch durch die Ausgangsschnittstelle übertragen werden kann. In diesem Fall wird die berechnete Ressourcengröße des Datenpakets kleiner sein als die tatsächliche Größe des Datenpakets, wie in 5 veranschaulicht. Sich auf 5a beziehend, ist dort die tatsächliche Größe des Datenpakets entsprechend der physischen Übertragungsrate des Übertragungsmediums veranschaulicht, an das es weitergeleitet wird. 5b veranschaulicht die Größe des Datenpakets, bei dem die für das Datenpaket gewählte Dienstgeschwindigkeit größer ist als die Geschwindigkeit, mit der das Datenpaket tatsächlich auf dem physischen Medium gesendet wird. 5c veranschaulicht die Größe des Datenpakets für den Fall, in dem die für das Datenpaket gewählte Dienstgeschwindigkeit kleiner ist als die Geschwindigkeit, mit der das Datenpaket tatsächlich von der Ausgabeschnittstelle 110 gesendet wird.
  • Wie aus 5 ersehen werden kann, können zwei Datenpakete überlappen, wenn die berechnete Ressourcengröße tatsächlich kleiner ist als die tatsächliche Ressourcengröße des Datenpakets. In einer praktischen Anordnung können zwei Datenpakete während einer Übertragung nicht überlappen. Stattdessen wird eine Datenfolge von zwei oder mehr Datenpaketen beobachtet. Deshalb gibt es, wenn die Datenpaketkennzeichner stochastisch abgearbeitet werden, eine endliche Wahrscheinlichkeit, dass zwei oder mehr Datenpakete Rücken an Rücken gesandt werden.
  • Die Ausgabeschnittstelle 110 stellt eine Datenstromsteuerungsrückmeldung über die Leitung 130 zum Geschwindigkeitsbegrenzer 108 zur Verfügung. Wenn die Ausgangsschnittstelle dem Geschwindigkeitsbegrenzer anzeigt, dass die Übertragung ausgesetzt worden ist, wird der interne Zeitberechnungsmechanismus des Geschwindigkeitsbegrenzers beeinflusst. In diesem Fall kann der Geschwindigkeitsbegrenzer eine von mehreren Aktionen ausführen. Zum Beispiel kann der Geschwindigkeitsbegrenzer konfiguriert werden, um jedes Datenpaket zu verwerfen, das während der Zeit des Aussetzens für die Abarbeitung eingeplant ist. Solch ein Verwerfen von Datenpaketen durch den Geschwindigkeitsbegrenzer erfordert, dass der Geschwindigkeitsbegrenzer ein Alarmsignal erzeugt.
  • Der Geschwindigkeitsbegrenzer 108 kann auch optimiert werden, um die Ressourcen der externen Anordnung bei einer niedrigen Last zu maximieren. Das heißt, unter niedriger Last kann die Dienstgeschwindigkeit gewählt werden, die schneller ist, als die konfigurierte Geschwindigkeit. Wenn die Last auf der Anordnung zunimmt, wird die Dienstgeschwindigkeit vermindert, bis diese nahe bei oder bei der konfigurierten Geschwindigkeit ist.
  • Die Ausgabeschnittstelle 110 stellt die für die vorwärts gerichtete Übertragung von Datenpaketen notwendige Grundfunktionalität zur Verfügung. Die Ausgabeschnittstelle 110 stellt Datenstromsteuerungsrückmeldung über die Leitungen 130 zum Geschwindigkeitsbegrenzer 108 zur Verfügung, wenn ein externer Rückstau (zum Beispiel durch das Übertragungsmedium) auftritt. Auf diese Weise überträgt die Ausgabeschnittstelle Datenpakete über die Leitung 142, und empfängt Datenstromsteuerungssignale vom Betriebssystem oder dem Vorrichtungstreiber auf der Leitung 144.
  • Die Ausgabeschnittstelle ist für kein direktes Verarbeiten in Bezug auf das Qualitätsmanagement des Datenstroms verantwortlich. Wenn ein Datenpaket von der Ausgabeschnittstelle empfangen wird und die externe Anordnung oder Vorrichtung anzeigt, dass sie verfügbare Ressourcen für die Übertragung aufweist, dann wird das Datenpaket von der Ausgabeschnittstelle ohne Verzögerung gesandt. Wenn der Geschwindigkeitsbegrenzer im de terministischen Modus arbeitet und keine Datenflusssteuerung ausgeübt wird, gibt es zu jedem beliebigen Zeitpunkt nie mehr als ein Datenpaket im Puffer der Ausgangsschnittstelle.
  • Daher ist eine Erfindung beschrieben worden, von der in einem Multiplexer vorteilhaft Gebrauch gemacht werden kann, um eine vorgegebene Qualität des Dienstes zu garantieren. Obwohl die Erfindung hierin mit Bezug auf eine bestimmte beispielhafte Ausführungsform beschrieben wird, erkennt die in der Technik ausgebildete Person, dass die Erfindung in ihrer Anwendbarkeit nicht so eingegrenzt ist und mehr im Allgemeinen angewandt werden kann.

Claims (22)

  1. Verfahren in einer Steuereinheit zur Steuerung eines Informationsdatenstroms in einer Datenübertragungsanordnung, umfassend: das Empfangen einer Vielzahl von Datenpaketen; dadurch gekennzeichnet, dass das Verfahren weiterhin selektives Verwerfen und selektives zeitliches Verschieben der Vielzahl von Datenpaketen auf eine vorgegebene Weise umfasst, um dadurch einen modifizierten Ausgabedatenstrom (234) zu erzeugen; selektives Verwerfen und selektives zeitliches Verschieben der Datenpakete des modifizierten Ausgabedatenstroms (234) in mindestens einem einer Vielzahl von weiteren parallelen Schritten (212), um dadurch mindestens einen weiteren modifizierten Ausgabedatenstrom (224) zu erzeugen.
  2. Verfahren gemäß Anspruch 1, in dem der modifizierte Ausgabedatenstrom (234, 236) weiter modifiziert wird in allen der Vielzahl von weiteren parallelen Schritten (212, 214).
  3. Verfahren gemäß Anspruch 1, in dem der modifizierte Ausgabedatenstrom (234) weiter modifiziert wird in einem Ausgewählten (212) der Vielzahl von weiteren parallelen Schritten (212, 214).
  4. Verfahren gemäß Anspruch 1, in dem der modifizierte Ausgabedatenstrom (234, 236) weiter modifiziert wird in Ausgewählten (212, 214) der Vielzahl von weiteren parallelen Schritten.
  5. Verfahren gemäß jedem der Ansprüche 1 bis 4, in dem der Schritt des selektiven Verwerfens und des selektiven zeitlichen Verschiebens von Datenpaketen (210) weiterhin umfasst, einen modifizierten Ausgabedatenstrom (234) zu erzeugen, in dem die Datenpakete variabel verteilt sind.
  6. Verfahren gemäß Anspruch 5, in dem der Datenstrom von Datenpaketen moduliert wird, um dadurch den modifizierten Ausgabedatenstrom (234) zu erzeugen.
  7. Verfahren gemäß Anspruch 5 oder Anspruch 8, in dem der variable Abstand zufällig oder pseudozufällig ist.
  8. Verfahren gemäß jedem der Ansprüche 1 bis 7, wobei die Datenpakete in einer entgegengenommenen Stückrate empfangen werden, wobei jedes Datenpaket eine entgegengenommene Datenpaketlänge aufweist, das Verfahren weiterhin umfasst das Bestimmen einer konfigurierten Datenpaketlänge für jedes Datenpaket basierend auf einer konfigurierten Diensterate für jedes Datenpaket.
  9. Verfahren gemäß jedem der Ansprüche 1 bis 8, wobei die empfangenen Datenpakete in jedem Schritt des selektiven Verwerfens und des selektiven zeitlichen Verschiebens selektiv zu einer Warteschlange (112) zugelassen werden.
  10. Verfahren gemäß Anspruch 9, in dem die Wahrscheinlichkeit, dass ein Datenpaket zur Warteschlange zugelassen wird, von der Länge der Warteschlange (112) abhängig ist.
  11. Verfahren gemäß Anspruch 9, in dem die Wahrscheinlichkeit, dass ein bereits in der Warteschlange vorliegendes Datenpaket verworfen wird, um die Aufnahme des empfangenen Datenpakets zu ermöglichen, von der Länge der Warteschlange abhängig ist.
  12. Verfahren gemäß jedem der Ansprüche 9 bis 11, in dem mit jedem Datenpaket in der Warteschlange eine Ebene des Dienstes verbunden ist, wobei die Ebene des Dienstes durch die Länge der Warteschlange festgelegt wird.
  13. Verfahren gemäß Anspruch 12, in dem die Ebene des Dienstes durch Steuern des Zulassens von Datenpaketen zur Warteschlange gesteuert wird.
  14. Verfahren gemäß jedem der Ansprüche 1 bis 13, weiterhin umfassend das Vergeben eines Prioritätsgrades an jedes Datenpaket.
  15. Verfahren gemäß Anspruch 14, in dem Datenpakete in Abhängigkeit von dem vergebenen Prioritätsgrad bedient werden.
  16. Verfahren gemäß Anspruch 14 bis 15, wobei der Prioritätsgrad einen Hinweis auf eine mit dem Datenpaket verbundene Dringlichkeit umfasst und einen Grad des Verlusts, der für das Datenpaket toleriert werden kann.
  17. Verfahren gemäß jedem der Ansprüche 14 bis 16, wenn diese von einem der Ansprüche 9, 10, 11 oder 13 abhängig sind, wobei der Prioritätsgrad basierend auf einer Funktion des Zustands der Warteschlange an ein Datenpaket vergeben wird.
  18. Verfahren gemäß jedem der Ansprüche 8 bis 17, wobei, wenn die konfigurierte Datenpaketlänge eines Datenpakets so ist, dass ein negativer Abstand zwischen zwei Datenpaketen festgelegt wird, die zwei Datenpakete benachbart gemultiplext werden.
  19. Steuereinheit zur Steuerung eines Informationsdatenstroms in einer Datenübertragungsanordnung, wobei die Steuereinheit gekennzeichnet ist durch: erste Steuerungsmittel (210) für selektives Verwerfen und selektives zeitliches Verschieben einer Vielzahl von Datenpaketen auf eine vorgegebene Weise, um dadurch einen modifizierten Ausgabedatenstrom (234) zu erzeugen; und eine Vielzahl von parallelem zweiten Steuerungsmitteln (212, 214) für selektives Verwerfen und selektives zeitliches Ver schieben des modifizierten Informationsdatenstroms auf eine vorgegebene Weise, um dadurch einen weiteren modifizierten Ausgabedatenstrom (224, 226) zur Verfügung zu stellen.
  20. Steuereinheit gemäß Anspruch 19, in der mindestens ein Steuerungsmittel (212) Modifizierungsmittel zur Erzeugung eines modifizierten Ausgabedatenstroms umfasst, in dem die Datenpakete variabel verteilt sind.
  21. Steuereinheit gemäß Anspruch 20, in der das Modifizierungsmittel (212) einen Modulator umfasst.
  22. Steuereinheit gemäß jedem der Ansprüche 19 bis 21, in der mindestens ein Steuerungsmittel (210, 212, 214) Policer/Former umfasst.
DE60035807T 2000-10-03 2000-10-03 Filterung von datenströmen Expired - Lifetime DE60035807T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2000/003783 WO2002030061A1 (en) 2000-10-03 2000-10-03 Filtering data flows

Publications (2)

Publication Number Publication Date
DE60035807D1 DE60035807D1 (de) 2007-09-13
DE60035807T2 true DE60035807T2 (de) 2008-04-17

Family

ID=9885883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60035807T Expired - Lifetime DE60035807T2 (de) 2000-10-03 2000-10-03 Filterung von datenströmen

Country Status (6)

Country Link
US (1) US8743687B2 (de)
EP (1) EP1327333B1 (de)
AT (1) ATE368991T1 (de)
AU (1) AU2000275414A1 (de)
DE (1) DE60035807T2 (de)
WO (1) WO2002030061A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266606B2 (en) * 2001-06-29 2007-09-04 Tropic Networks Inc. Cascaded policing systems and methods
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
US8848530B2 (en) 2004-11-01 2014-09-30 At&T Intellectual Property Ii, L.P. System and method for providing differentiated quality of service
US7633939B2 (en) * 2005-05-12 2009-12-15 Agilent Technologies, Inc. In-line network simulator
JP5365415B2 (ja) * 2009-08-25 2013-12-11 富士通株式会社 パケット中継装置および輻輳制御方法
WO2013039083A1 (ja) * 2011-09-13 2013-03-21 日本電気株式会社 通信システム、制御装置および通信方法
CN105637831B (zh) * 2013-12-12 2019-04-19 Nec实验室欧洲有限公司 用于分析数据流的方法和系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771391A (en) 1986-07-21 1988-09-13 International Business Machines Corporation Adaptive packet length traffic control in a local area network
US5233606A (en) 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
DE69428425T2 (de) 1994-02-22 2002-06-20 Alcatel Sa Verfahren zur Formung eines Zellenstromes, der Benutzer- und OAM-Zellen enthält
US5434848A (en) 1994-07-28 1995-07-18 International Business Machines Corporation Traffic management in packet communications networks
US5598543A (en) * 1994-09-26 1997-01-28 John Notarianni Method of interfacing between data transmission systems having an unequal number of transceiver ports
DE4442532A1 (de) * 1994-11-30 1996-06-05 Sel Alcatel Ag Verfahren zur Erzeugung eines Zufallselements sowie Verfahren zur Verkehrsmischung, Zufallselement-Generator und Systemkomponente damit
US5850525A (en) * 1996-03-29 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for adding a randomized propagation delay interval to an interframe spacing in a station accessing an ethernet network
DE19634492B4 (de) * 1996-08-26 2004-10-14 Siemens Ag Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
US5982778A (en) 1996-08-30 1999-11-09 Advanced Micro Devices, Inc. Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks
US6003089A (en) 1997-03-31 1999-12-14 Siemens Information And Communication Networks, Inc. Method for constructing adaptive packet lengths in a congested network
US6064678A (en) 1997-11-07 2000-05-16 Qualcomm Incorporated Method for assigning optimal packet lengths in a variable rate communication system
CA2223119A1 (en) 1997-11-28 1999-05-28 Mosaid Technologies Incorporated Address counter cell
JP2000252999A (ja) 1999-02-25 2000-09-14 Hitachi Ltd パケット変換装置
US6646986B1 (en) * 1999-10-14 2003-11-11 Nortel Networks Limited Scheduling of variable sized packet data under transfer rate control
JP4484317B2 (ja) * 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
WO2002030060A1 (en) * 2000-10-03 2002-04-11 U4Ea Technologies Limited Data flow control
US20030147349A1 (en) * 2002-02-01 2003-08-07 Burns Daniel J. Communications systems and methods utilizing a device that performs per-service queuing
CA2387654A1 (en) * 2002-05-24 2003-11-24 Alcatel Canada Inc. Partitioned interface architecture for transmission of broadband network traffic to and from an access network
US7272150B2 (en) * 2002-08-19 2007-09-18 World Wide Packets, Inc. System and method for shaping traffic from a plurality of data streams using hierarchical queuing
US20040148391A1 (en) * 2003-01-11 2004-07-29 Lake Shannon M Cognitive network
US20050254423A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Rate shaper algorithm
GB0424628D0 (en) * 2004-11-08 2004-12-08 Nokia Corp Communication system
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム

Also Published As

Publication number Publication date
US20040196792A1 (en) 2004-10-07
EP1327333A1 (de) 2003-07-16
DE60035807D1 (de) 2007-09-13
EP1327333B1 (de) 2007-08-01
WO2002030061A1 (en) 2002-04-11
US8743687B2 (en) 2014-06-03
AU2000275414A1 (en) 2002-04-15
ATE368991T1 (de) 2007-08-15

Similar Documents

Publication Publication Date Title
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE60036312T2 (de) Setzen von prioritäten für daten mit flusssteuerung
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE69834763T2 (de) Verfahren zur Unterstützung von verbindungsindividuellen Warteschlangen für rückgekoppelte Verkehrssteuerung
DE60120807T2 (de) Schaltvorrichtung und Verfahren
DE112020002512T5 (de) Systeme und verfahren zur verkehrsklassenbezogenen leitweglenkung
DE60117957T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff
DE69937862T2 (de) Bandbreitensteuerung mit zwei Komponenten, zur Anwendung in digitalen Kommunikationssystemen mit mehreren Klassen
EP0641099B1 (de) Verfahren und Vorrichtung zum Zwischenspeichern von Datenpaketen sowie Vermittlungsstelle mit einer solchen Vorrichtung
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE60127366T2 (de) Verfahren und Struktur zur Unterstützung von Rahmen variabler Länge in einer Vermittlungsanlage mit gemeisamem Speicher
DE60034120T2 (de) Routing-vorrichtung
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69937219T2 (de) Torablauffolgesteuerung und Verfahren zur Dienstenablaufsteuerung mit Garantieen und hierarchische Ratenlimitierung mit oder ohne Überbuchungsmöglichkeit
DE102015017100B3 (de) Verteilte Switch-Architektur
DE60300504T2 (de) Auf Krediten basierendes gewichtetes Schiedsverfahren unter Verwendung vergangener Kredithöhen
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
DE19634492B4 (de) Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
DE60302045T2 (de) Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GOS NETWORKS LTD., BRISTOL, GB