DE60206168T2 - Kommunikationsnetzwerk mit stau-verhinderung - Google Patents

Kommunikationsnetzwerk mit stau-verhinderung Download PDF

Info

Publication number
DE60206168T2
DE60206168T2 DE60206168T DE60206168T DE60206168T2 DE 60206168 T2 DE60206168 T2 DE 60206168T2 DE 60206168 T DE60206168 T DE 60206168T DE 60206168 T DE60206168 T DE 60206168T DE 60206168 T2 DE60206168 T2 DE 60206168T2
Authority
DE
Germany
Prior art keywords
communication
packet
packets
flow
identifier
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
DE60206168T
Other languages
English (en)
Other versions
DE60206168D1 (de
Inventor
Leonard John ADAMS
Joy Avril SMITH
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
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of DE60206168D1 publication Critical patent/DE60206168D1/de
Application granted granted Critical
Publication of DE60206168T2 publication Critical patent/DE60206168T2/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
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Kommunikationsnetz und ein Verfahren zum Betreiben eines Kommunikationsnetzes.
  • In den vergangenen Jahren verlangten Fernsehzuschauer nach einer größeren Auswahl des Videomaterials, das sie betrachten konnten. Zusätzlich ist der Bedarf für eine Übertragung (streaming) von Video an einen Computer über das Internet stark gewachsen. Dies führte zu einer Notwendigkeit, zusätzliche Mengen von Videomaterial über lokale Kommunikationsnetze zu liefern (entweder über die von Telefonnetzbetreibern verwendeten Zweidrahtleitungen oder über die von Kabelfernsehnetzbetreibern verwendeten Koaxialkabel).
  • In Telefonnetzen wird dieser zusätzliche Bedarf durch die Einführung der DSL-Technik (Digital Subscriber Loop) erfüllt. Wie der Name andeutet, überträgt diese Technologie digitale Signale über die lokale Kupferleitung zwischen einer Wohnung eines Benutzers und einer lokalen Telefonvermittlungsstelle. Datenraten von mehreren Megabits pro Sekunde zu der Wohnung des Benutzers sind erreichbar. Das digitale Signal wird zwischen Modems übertragen, die an jedem Ende der Kupferleitung angeordnet sind, wobei das Modem in der Wohnung des Benutzers normalerweise in einer Set-Top-Box integriert ist. Die Vorteile von statistischem Multiplexen haben dazu geführt, dass die digitalen Signale in Paketen organisiert werden (wobei es sich um ATM-Pakete (Asynchronous Transfer Mode) oder Internetprotokoll(IP)-Pakete handelt).
  • Viele Kabelnetze werden aufgerüstet, um digitale Signale in Wohnungen von Benutzern zu übertragen. Zumindest dort, wo die Signale über das Internet übertragen wurden, werden diese digitalen Signale wiederum in Paketen angeordnet.
  • Videomaterial erfordert eine Datenrate, die zwischen 1.5 Mbps (für eine Qualität, die vergleichbar ist zu der einer Videokassettenspeicherung) und 20 Mbps (HDTV – high definition television/hochauflösendes Fernsehen) variiert. In DSL-Netzen bedeutet dies, dass ein Mechanismus erforderlich ist, um eine Konkurrenz um die Kapazität zu verwalten, die über die Kupferleitung zur Wohnung des Benutzers angeboten wird. Obwohl Kabelnetze ungefähr sechzig Videoströme gleichzeitig übertragen können, wird ihre Kapazität normalerweise von mehreren hundert Benutzern geteilt, was bedeutet, dass eine Konkurrenz um die Kapazität des Kabels verwaltet werden muss, da Benutzer des Kabelnetzes eine größere Auswahl des zu sehenden Materials fordern.
  • In einem herkömmlichen Telefonnetz wird das Problem einer Konkurrenz um knappe Telekommunikations-Ressourcen dadurch gelöst, dass ein Benutzer einfach daran gehindert wird, Verkehr zu empfangen (oder zu senden), bis die erforderliche Kapazität zur Übertragung dieses Verkehrs im Voraus reserviert werden kann. Es gibt zahlreiche Verbindungszugangssteuerungsschemen dieser Art auch für Paketnetzwerke – Beispiele umfassen das Ressourcen-Zuteilungs-Protokoll (RSVP – Resource Reservation Protocol). Obwohl solche Schemen eine Überlastung verhindern, ist eine Verbindungszugangssteuerung offenkundig komplex für Flüsse mit variabler Bitrate, wie Videoflüsse. Ein Vorschlag, der das Problem zu einem gewissen Grad löst, wird offenbart in der Europäischen Patentanmeldung Nr. 0 932 282 A2. Jedoch leiden derartige Schemen auch unter dem weiteren Nachteil, dass Daten, die jeden zugelassenen Fluss betreffen (im Stand der Technik oft als „Status" bezeichnet), für die gesamte Dauer des zugelassenen Flusses behalten werden müssen.
  • Eine Alternative zu der Verwendung einer Verbindungszugangssteuerung in Paketnetzen liegt darin, eine reaktive Flusssteuerung zu verwenden. Diese Schemen ermöglichen Benutzern einen Zugriff auf Kommunikationsressourcen, versuchen aber die Sender zu veranlassen, ihre Senderate bei Beginn einer Überlastung zu verringern. Das für eine zuverlässige Übertragung über das Internet verwendete Schema (TCP – Transmission Control Protocol) ist das bekannteste Beispiel. Es ist jedoch nicht geeignet für Videoflüsse, da Echtzeit-Video-Server ihre Senderate nicht reduzieren können.
  • In den meisten Flusssteuerungsschemen werden alle Benutzer von dem Beginn einer Überlastung nachteilig betroffen. Einige Flusssteuerungsschemen sind entwickelter und klassifizieren einen Verkehr in unterschiedliche Klassen, wobei einige Klassen wahrscheinlicher eine Paketverzögerung oder einen Paketverlust erleiden als andere. In Situationen, in denen eine solche Klassifikation nicht verfügbar ist oder wo sich der meiste Verkehr innerhalb einer Klasse befindet, müssen alternative Lösungen vorgesehen werden. Eine derartige alternative Lösung, welche die ungünstigen Effekte eines ATM-Zellverlusts auf jeweils ein IP-Paket konzentriert, wird in „Early Selective Packet Discard for Alternating Resource Access of TCP over ATM-UBR" von Kangsik Cheon und Shivendra S. Panwar, Proceedings of IEEE Conference on Local Computer Networks LCN 97, Minneapolis, Minnesota, 2.–5. Nov. 1997, beschrieben.
  • Die Internationale Patentanmeldung WO 00/52882 beschreibt ein System und ein Verfahren zum zufälligen Entfernen eines an einer Netzwerk-Schnittstelle empfangenen Pakets, wenn die Rate von Paketübertragungen nicht mit der Rate von Paketankünften Schritt halten kann. Ein ausgewähltes Paket kann verworfen werden, wenn es an einer Paket-Warteschlange ankommt, oder ein sich bereits in der Warteschlange befindendes Paket kann entfernt werden. Die Warteschlange kann mehrere definierte Bereiche haben und ein Wahrscheinlichkeitsanzeiger kann zu jedem Bereich gehören, um die Wahrscheinlichkeit zu spezifizieren, mit der ein Paket in dem Bereich entfernt wird.
  • Das Europäische Patent EP 0912015 beschreibt ein Verfahren für eine Überlastungssteuerung in einem drahtlosen Kommunikationsnetz, wenn der Downlink/Uplink-Pufferspeicher-Füllstand des Netzes eine hohe Schwelle überschritten hat. Die Basisstation bestimmt, ob dies von einem bestimmten entfernten Hostrechner oder von einer Gruppe von entfernten Hostrechnern verursacht wird. Wenn es von einem bestimmten entfernten Hostrechner verursacht wird, sendet die Basisstation ein weiteres Steuerungssignal an den entfernten Hostrechner, um ihn daran zu hindern, mehr Daten zu senden. Jedoch kann die Basisstation alternativ wählen, andere entfernte Hostrechner zu trennen, wenn der entfernte Hostrechner, der eine schlechte Leistung erfährt, eine höhere Priorität hat.
  • Das IBM Technical Disclosure Bulletin, Vol. 37, Nr. 8, August 1994, Seite 649, XP000456556, mit dem Titel „Adjustable Dual Priority Interrupt Switching Method" beschreibt ein Verfahren zum Verbessern der Leistung in Vermittlungsnetzen, wobei der sendende Knoten die Funktion eines Unterscheidens zwischen Meldungen geringer Priorität, die von Meldungen mit hoher Priorität unterbrochen oder entfernt werden sollten, und denen, die fast abgeschlossen sind, durchführt. Der sendende Knoten führt dies aus durch Überwachen des Vorgangs einer Übertragung und Neu-Klassifizieren einer Meldung mit geringer Priorität, die fast abgeschlossen ist, in eine Meldung mit hoher Priorität.
  • Das Dokument mit dem Titel „Analysis of Packet Discarding Policies in High-Speed Networks" von Lapis et al, Proceedings of the IEEE INFOCOM '97, IEEE Compu, Vol. 3, 7. April 1997, Seiten 1191–1198, XP000851079, beschreibt ein Verfahren zum Entfernen von Paketen, als Teil-Meldungs-Entfernen bezeichnet. Gemäß diesem Verfahren entfernt das Netzelement Pakete, die zu Meldungen gehören, die bereits beschädigt waren, das heißt, einen Paketausfall in dem Netzelement erfahren haben. In anderen Worten, wenn der Pufferspeicher voll ist, wenn ein Paket an den Netzelementen eintrifft, werden diese Pakete und alle nachfolgenden Pakete, die zu derselben Meldung gehören, entfernt.
  • Jedoch sieht keiner der obigen Vorschläge ein Verfahren zur Verwaltung von Konkurrenz in einem Paketnetzwerk vor, das die Komplexität von Verbindungszugangssteuerungsschemen vermeidet, ohne Benutzer bei Beginn einer Überlastung innerhalb der Kapazität, die einer bestimmten Klasse von Verkehr zugewiesen wurde, negativ zu beeinträchtigen.
  • Gemäß der vorliegenden Erfindung ist ein Verfahren zum Betreiben eines Paketteilnetzes vorgesehen, wobei das Verfahren aufweist:
    Empfangen eines Kommunikationsankündigungspakets oder mehrerer Kommunikationsankündigungspakete, das/die den Beginn einer Paketkommunikation durch das Teilnetz anzeigt/anzeigen, wobei die Paketkommunikation eine Vielzahl von Paketen aufweist;
    als Reaktion auf den Erhalt des einen Kommunikationsankündigungspakets oder der mehreren Kommunikationsankündigungspakete, Speichern eines Satzes von Kommunikationsidentifizierern, wobei jeder Kommunikationsidentifizierer eine Identifizierung von Paketen ermöglicht, die zu einer der angekündigten Paketkommunikationen gehören;
    als Reaktion auf die Erfüllung einer vorgegebenen Bedingung, Entfernen eines Identifizierers aus dem Satz von gespeicherten Identifizierern vor dem Ende der zugehörigen Kommunikation;
    wenn ein Überlastungsschwellenwert in dem Paketteilnetz erreicht wird:
    Identifizieren von Paketen, die zu einer Kommunikation gehören, die zu einem Identifizierer des Satzes von gespeicherten Identifizierern gehört; und
    Degradieren des Weiterleitens von derart identifizierten Paketen relativ zu Paketen, die zu anderen Kommunikationen gehören.
  • Durch Betreiben eines Paketteilnetzes, um in einen gespeicherten Satz von Kommunikationsidentifizierern bei oder vor dem Beginn einer neuen Kommunikation einen Kommunikationsidentifizierers einzuführen, der die Identifikation von Paketen ermöglicht, die zu der neuen Paketkommunikation gehören, und Unterscheiden von Paketen, die einen zu diesem Satz gehörenden Kommunikationsidentifizierer enthalten, beim Weiterleiten von Paketen während einer Überlastungsdauer, ist es für einen Betreiber eines Paketteilnetzes möglich, die ungünstigen Effekte dieser Überlastung von ausgewählten Kommunikationen zu konzentrieren. Durch zusätzliches Entfernen von Kommunikationsidentifizierern aus dem Satz vor dem Ende der zugehörigen Kommunikation werden Kommunikationen, die bereits für eine gewisse Zeitdauer existieren, bevorzugt behandelt zu Kommunikationen, die für eine kürzere Zeitdauer existieren. Dies hat den Vorteil, dass eine einer Kommunikation zugestandene Dienstqualität (quality of service) zunimmt, so wie das „Alter" der Kommunikation zunimmt. Dies wiederum hat den Vorteil, dass dieses für Kommunikationen empfangende Benutzer weniger ärgerlich ist als der auf zufällige Weise erfolgende Paketverlust, der in herkömmlichen Mechanismen zur Überlastungsverminderung angewendet wird, was dazu führen kann, dass eine Kommunikation, die ein Benutzer bereits für einige Zeit empfangen hat, verschlechtert wird, während eine neu begonnene Kommunikation fortfahren kann.
  • In einigen Ausführungsbeispielen weist die vorgegebene Bedingung den Ablauf einer Zeitdauer nach dem Beginn des Flusses auf.
  • In bevorzugten Ausführungsbeispielen weist die vorgegebene Bedingung das Hinzufügen eines Identifizierers zu dem Satz von gespeicherten Identifizierern auf. Auf diese Weise bestimmt das Alter einer Kommunikation relativ zu anderen Flüssen, wie Pakete des Flusses bei Beginn einer Überlastung behandelt werden.
  • In einer Verfeinerung derartiger bevorzugter Ausführungsbeispiele enthalten die Ankündigungspakete eine Anzeige der erwarteten Datenrate der Kommunikation, wobei die vorgegebene Bedingung das Überschreiten einer vorgegebenen Schwelle von der kumulierten erwarteten Datenrate der Kommunikation umfasst.
  • Auf diese Weise wird sichergestellt, dass ausreichender Verkehr für die Kommunikationen dargestellt wird, die von den Kommunikationsidentifizierern in dem Satz identifiziert werden, um dem Knoten zu ermöglichen, die Überlastung zu vermindern.
  • Vorzugsweise umfasst der Schritt des Weiterleitens ein Verwerfen der identifizierten Pakete, während er die zu anderen Kommunikationen gehörenden Pakete weiterleitet. Ein Verwerfen statt einer Verzögerung von Paketen ist ein bevorzugtes Mittel gegen eine Überlastung, die von Echtzeit-Flüssen verursacht wird.
  • Vorzugsweise enthält jedes Paket einer Kommunikation den zu der Kommunikation gehörenden Kommunikationsidentifizierer. Dies lie fert ein geeignetes Verfahren zum Bestimmen, zu welcher Kommunikation ein Paket gehört.
  • In bevorzugten Ausführungsbeispielen weist das Verfahren bei Erreichen eines hohen Überlastungswertes in dem Teilnetz weiter auf: Lesen des Kommunikationsidentifizierers aus einem an einem Netzknoten empfangenen Paket; und Hinzufügen des Kommunikationsidentifizierers zu dem Satz. Dies liefert einen Mechanismus, um die Anzahl von bei Erreichen eines höheren Überlastungswertes verworfenen Paketen zu erhöhen und dadurch stärker auf die höheren Überlastungswerte zu reagieren. Ferner wird durch Lesen eines Kommunikationsidentifizierers aus einem an dem Teilnetz zu einer bestimmten Zeit empfangenen Pakets die Wahrscheinlichkeit einer Auswahl einer Kommunikation erhöht, die zu dem höheren Überlastungswert beiträgt.
  • Vorzugsweise weist der Satz von Kommunikationsidentifizierern eine Vielzahl von Teilsätzen von Kommunikationsidentifizierern auf, wobei ein Kommunikationsidentifizierer zuerst in einem ersten Teilsatz platziert wird und zu einem zweiten Teilsatz verschoben wird, wenn eine Teilsatz-Entfernungsbedingung erfüllt wird, wobei bei Beginn einer Überlastung Pakete in dem zweiten Teilsatz bevorzugt gegenüber Paketen in dem ersten Teilsatz weitergeleitet werden.
  • Dies hat den Vorteil eines Vorsehens einer weiteren Abstufung bei der Zunahme einer Dienstqualität, die einer Kommunikation geboten wird, mit dem Alter der Kommunikation.
  • Vorzugsweise weist das Verfahren ferner ein Empfangen einer Anzeige einer geschützten Kommunikation auf, die anzeigt, dass eine oder mehrere Kommunikationen) geschützt ist/sind; wobei der Schritt des Speicherns des Kommunikationsidentifizierers Identifizierer der Kommunikationen speichert, für die keine derartige Anzeige empfangen wird.
  • Auf diese Weise wird ein Mechanismus vorgesehen, um Verfahrenserwägungen zu ermöglichen, den normalen Betrieb der Erfindung zu umgehen.
  • Wie am Ende der vorliegenden Beschreibung erläutert wird, kann eine Kommunikation einen oder mehrere Paketflüsse aufweisen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist vorgesehen ein Verfahren zum Betreiben eines Paketnetzknotens, das aufweist:
    Empfangen eines Kommunikationsankündigungspakets oder mehrerer Kommunikationsankündigungspakete, das/die den Beginn einer Paketkommunikation durch den Knoten anzeigt/anzeigen;
    als Reaktion auf den Erhalt des einen Ankündigungspakets oder der mehreren Ankündigungspakete, Speichern eines Satzes von Kommunikationsidentifizierern, wobei jeder Kommunikationsidentifizierer eine Identifizierung von Paketen ermöglicht, die zu einer der angekündigten Paketkommunikationen gehören;
    als Reaktion auf die Erfüllung einer vorgegebenen Bedingung, Entfernen eines Identifizierers aus dem Satz von gespeicherten Identifizierern vor dem Ende der zugehörigen Kommunikation;
    wenn ein Überlastungsschwellenwert in dem Paketknoten erreicht wird:
    Identifizieren von Paketen, die zu einer Kommunikation gehören, die zu einem Identifizierer des Satzes von gespeicherten Identifizierern gehört; und
    Degradieren des Weiterleitens von derart identifizierten Paketen relativ zu Paketen, die zu anderen Kommunikationen gehören.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist vorgesehen ein Paketnetzknoten, mit:
    einem Eingang zum Empfangen eines Pakets oder mehrerer Pakete;
    Mitteln, die in Betrieb ausgebildet sind, eine Überlastung in dem Paketnetzknoten zu erfassen;
    einem Kommunikationsidentifiziererspeicher zum Speichern eines Satzes von Kommunikationsidentifizierern;
    Mitteln, die in Betrieb ausgebildet sind, an dem Eingang empfangene Kommunikationsankündigungspakete zu erfassen, und als Reaktion auf die Erfassung in dem Kommunikationsidentifiziererspeicher einen Kommunikationsidentifizierer zu speichern, der in dem Kommunikationsankündigungspaket enthalten ist;
    Mitteln, die in Betrieb ausgebildet sind, einen Kommunikationsidentifizierer aus dem Kommunikationsidentifiziererspeicher vor dem Ende der Kommunikation zu entfernen, wenn eine vorgegebene Bedingung erfüllt ist;
    Mitteln, die in Betrieb ausgebildet sind, bei der Erfassung einer Überlastung durch das Überlastungserfassungsmittel:
    an dem Eingang empfangene Pakete zu identifizieren, die zu einer Kommunikation gehören, die zu einem der in dem Kommunikationsidentifiziererspeicher gespeicherten Kommunikationsidentifizierer gehört; und
    Pakete, die zu anderen Kommunikationen gehören, bevorzugt gegenüber derart identifizierten Paketen weiterzuleiten.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung ist vorgesehen eine Paketkommunikationsquelle, mit:
    einem Ausgang;
    Mitteln, die in Betrieb ausgebildet sind, ein oder mehrere Kommunikationsankündigungspaket(e) zu erzeugen;
    Mitteln, die in Betrieb ausgebildet sind, die Kommunikationsankündigungspakete aus dem Ausgang zu senden;
    Mitteln, die in Betrieb ausgebildet sind, danach automatisch eine Vielzahl von Paketen zu erzeugen und zu senden, die zusammen die Paketkommunikation bilden.
  • Auf beispielhafte Weise werden bestimmte Ausführungsbeispiele der vorliegenden Erfindung nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei:
  • 1 ein mit dem Internet verbundenes lokales ADSL-Netz darstellt;
  • 2 ein Steuerungspaket darstellt, das gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung konstruiert ist;
  • 3 eine Darstellung eines Satzes von zusätzlichen Software-Komponenten ist, die in Bezug zu einem ADSL-Kunden den Betrieb des Breitband-Zugangsknotens steuert, der das ADSL-Netz mit dem Internet verbindet;
  • 4 eine Zustands-Maschine zeigt, die mögliche Werte einer pro-Kunde-Variablen darstellt, die den Grad einer Überlastung in einem Pufferspeicher anzeigt, der einem ADSL-Kunden dient;
  • 5 neue Prozesse zeigt, die in einem Video-Server ausgeführt werden, der einen Fluss von Paketen an einen ADSL-Kunden sendet;
  • 6A eine Fluss-basierte Richtlinien(policy)-Tabelle zeigt, die in dem Breitband-Zugangsknoten gespeichert ist;
  • 6B ein Ziel-IP-Adressenverzeichnis zeigt, das in dem Breitband-Zugangsknoten gespeichert ist;
  • 7 Zustands-Variablen zeigt, die in Bezug zu jedem Kunden in dem Breitband-Zugangsknoten gespeichert sind;
  • 8 ein Beispiel einer Tabelle für „ungeschützte Flüsse" zeigt, die in Bezug zu jedem Kunden in dem Breitband-Zugangsknoten gespeichert ist;
  • 9A, 9B, 9C, 9D, 9E und 9F Prozesse zeigen, die als Reaktion ausgeführt werden, wenn eine von zwei voreingestellten Pufferspeicherfüllschwellen überschritten werden;
  • 10 einen Paketankunftshandhabungsprozess zeigt, der in dem Breitband-Zugangsknoten von 1 ausgeführt wird;
  • 11 Prozesse zeigt, die bei Erfassung eines Startpakets ausgeführt werden;
  • 12 einen Prozess zum Eintrag eines Fluss-Datensatzes in die „ungeschützte Flüsse"-Tabelle von 8 als Reaktion auf den Empfang eines Startpakets an dem Breitband-Zugangsknoten zeigt;
  • 13A, 13B und 13C den pro-Fluss-Paketzählprozess zeigen, der einen Teil des Paketankunftshandhabungsprozesses von 10 bildet;
  • 14A, 14B, 14C, 14D, 14E, 14F und 14G einen Prozess zum Aktualisieren anderer Fluss-Datensätze in der „ungeschützte Flüsse"-Tabelle von 8 als Reaktion auf den Beginn eines neuen Flusses an den Kunden zeigen;
  • 15A, 15B, 15C, 15D, 15E und 15F Prozesse zum Handhaben von anderen Paketen außer Startpaketen zeigen;
  • 16A und 16B Prozesse zum Tätigen zusätzlicher Einträge in die „ungeschützte Flüsse"-Parametertabellen (8 ist ein zu einem Kunden gehörendes Beispiel) zeigen, wenn der Pufferspeicherüberlastungszustand von 4 gleich einer Notlöschung ist;
  • 17A, 17B und 17C Prozesse zeigen, die ausgeführt werden, um Flusseinträge zu entfernen, die früher in den „ungeschützte Flüsse"-Tabellen platziert wurden, wenn sich der Überlastungszustand des Pufferspeichers von „Notlöschung" zu „passieren" verbessert;
  • 18 einen Prozess zeigt, der bei einem Versuch abläuft, zu viele Flüsse in der „ungeschützte Flüsse"-Tabelle eines Kunden zu speichern.
  • Ein Verbindungsnetzwerk (1) weist auf ein Heimatnetz 3 des Benutzers, ein ATM-Netz 2, ein Paar von Kupferdrähten 19, die das Heimatnetz 3 des Benutzers mit dem ATM-Netz 2 verbindet, ein lokales Netzwerk 4 eines Internet Service Providers (ISP), einen Breitband-Zugangsserver (BAS – broadband access server) 6, eine ATM-Netzverbindung 5, die den BAS mit dem ATM-Netz 2 verbindet, und eine ISP-Netzverbindung 7, die den BAS 6 mit dem lokalen Netzwerk 4 des ISPs verbindet. In dem vorliegenden Ausführungsbeispiel ist der BAS von einem modifizierten Nortel Networks Shasta 5000 Breitband-Dienst-Knoten vorgesehen. Das lokale Netzwerk 4 des ISPs ist mit dem Internet 8 über eine Internetverbindung 9 verbunden.
  • Das ATM-Netz 2 weist Einrichtungen (17, 18) auf, die sich in dem Gebäude der lokalen Telefonvermittlungsstelle 20 befinden, und ein geschaltetes (switched) Weitbereichsnetz 22, das eine Vielzahl von derartigen DSLAMs 18 (es gibt normalerweise ein oder mehrere DSLAM(s) pro Vermittlungsstellengebäude, wobei nur ein Vermitt lungsstellengebäude in der Zeichnung gezeigt wird) mit dem BAS 6 verbindet. Wie für Fachleute offensichtlich ist, umfassen die Einrichtungen in der Vermittlungsstelle einen DSL-Zugangs-Multiplexer (DSLAM – Digital Subscriber Line Access Multiplexer) 18, der von vielen Benutzern geteilt wird, und für jedes Paar von Kupferdrähten 19 eine Splitter-Einheit 17, welche die Paare von Kupferdrähten terminiert. Die Splitter-Einheit 17 ist wirksam, um Signale in dem für einen normalen Telefonbetrieb verwendeten Frequenzbereich an das öffentliche Fernsprechnetz (nicht gezeigt) zu senden und Signale in höheren Frequenzbändern an den DSLAM 18 zu senden.
  • Das Heimatnetz des Benutzers weist einen PC 10, einen digitalen Fernseher 15, eine Splitter-Einheit 14, eine Router/Set-Top-Box 16, die ein ADSL(Asymmetric Digital Subscriber Line)-Modem 13 umfasst, ein Kabel 12, welches das Modem 13 und die Splitter-Einheit 14 miteinander verbindet, und Kabel auf, die den Router 16 mit dem PC 10 und dem digitalen Fernseher 15 verbinden. Die Splitter-Einheit 14 ist wirksam, um Signale in dem für einen normalen Telefonbetrieb verwendeten Frequenzbereich an das Telefon 11 des Benutzers zu senden und Signale in höheren Frequenzbändern an das ADSL-Modem 13 zu senden. Das ADSL-Modem 13 stellt den Netzabschlusspunkt des ATM-Netzes 2 dar.
  • Das lokale Netz 4 des ISPs weist einen IP-Router 24, einen Videoserver 27 eines Content-Providers und ein lokales Netzwerk 30 auf, das diese verbindet. Die oben erwähnte Internetverbindung 9 ist mit dem IP-Router 24 verbunden. Das lokale Netzwerk (local area network – LAN) 30 arbeitet gemäß dem 802.3-Standard des Institute of Electrical and Electronics Engineers (IEEE) mit einer Rate von 100 Mbits–1.
  • Gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung wird das ATM-Netz (1) von dem ATM-Netzbetreiber wie folgt kon figuriert. Zuerst wird eine permanente virtuelle ATM-Verbindung (PVC – permanent virtual circuit) zwischen dem BAS 6 und jedem der Modems konfiguriert, die er bedient. Die PVC ist eine Verbindung mit konstanter Bitrate (CBR – constant bit rate), deren Spitzen-Zell-Rate auf 5 Mbits–1 gesetzt ist. Der ATM-Netzbetreiber konfiguriert auch den PC 10 und den digitalen Fernseher 15 mit einer IP-Adresse. Danach wird eine Tabelle, die der IP-Adresse des PCs 10 und des digitalen Fernsehers 15 ein Etikett zuordnet, das die PVC identifiziert, die zu der Set-Top-Box 16 führt, in dem BAS 6 durch manuelle oder automatische Verfahren erzeugt, die für Fachleute weithin bekannt sind.
  • 2 zeigt ein Steuerungspaket, das in dem ersten Ausführungsbeispiel der vorliegenden Erfindung verwendet wird. Für Fachleute ist offensichtlich, dass das Steuerungspaket ein Paket der Internetprotokoll-Version 4 ist, das nur einen Benutzer-Datagramm-Protokoll(UDP – User Datagram Protocol)-Header trägt. Das IP-Paket ist herkömmlich außer dem Zusatz einer neuen Option (sechste Reihe nach unten), welche die letzten vier Bytes des IP-Paket-Headers bildet.
  • Wie für Fachleute bekannt ist, enthält das erste Byte des Optionsfelds einen Optionscode. In dem vorliegenden Fall identifiziert das Optionsfeld das Paket als ein Steuerungspaket zur Verwendung in Ausführungsbeispielen der vorliegenden Erfindung.
  • Das zweite Byte des Optionsfelds zeigt den Typ des Steuerungspakets an. Werte für dieses Byte sind wie folgt:
  • Figure 00150001
  • Figure 00160001
  • In Steuerungspaketen, die Startpakete sind, zeigt das dritte Byte des Optionsfelds die Datenrate des Flusses an, dem das Startpaket vorangeht (die Erzeugung eines Startpakets wird detaillierter unter Bezugnahme auf 5 erläutert). Dieses Byte kann zum Beispiel einen Wert enthalten, der die Datenrate als ein Mehrfaches von 64 Kilobits pro Sekunde Einheit anzeigt. In anderen Paketen außer Startpaketen ist das Ratenanzeige-Byte auf einen Null-Wert gesetzt.
  • Das letzte Byte des vier-Byte-Optionsfelds wird wiederum nur in Startpaketen verwendet und zeigt die Richtlinie an, die der Breitband-Zugangsknoten auf den Fluss anwenden soll, der von dem Paket angeführt wird. Die möglichen Werte des Richtlinien-Parameters werden im Folgenden angezeigt:
  • Figure 00160002
  • 3 zeigt die zusätzlichen Hardware/Software-Elemente, die erforderlich sind, um das vorliegende Ausführungsbeispiel zu implementieren. In dem vorliegenden Ausführungsbeispiel ist die Software in dem Breitband-Zugangsserver gespeichert und dient dazu, den Betrieb des Breitband-Zugangsservers zu steuern (16). Es sollte angemerkt werden, dass eine Instanz jedes der in 3 gezeigten funktionalen Elemente für jeden Kunden vorgesehen ist.
  • Die Elemente weisen einen Pufferspeicher 6.1, ein Paket-Handhabungsmittel 6.2, eine Steuereinrichtung 6.3 und einen Fluss-Parameter-Speicher 6.4 auf. Wie für Fachleute offensichtlich ist, arbeitet der Pufferspeicher 6.1 als ein Speicher für Pakete, die entlang der PVC-Verbindung über das Weitbereichsnetz (122) zu dem Heimatnetz des Benutzers (13) gesendet werden. Der Pufferspeicher weist einen Bereich in einem elektronischen Speicher auf (dieser Speicher kann zwischen Pufferspeichern für alle Kunden aufgeteilt sein, die mit einem bestimmten DSLAM 18 verbunden sind). Ähnlich kann die hinsichtlich jedes Kunden ausgeführte Verarbeitung einen virtuellen Prozess aufweisen, der auf einem von diesen Kunden geteilten Prozessor abläuft. Der Pufferspeicher 6.1 ist betriebsfähig, den Grad zu überwachen, zu dem er gefüllt ist, und Schwellenüberschreitungssignale an die Steuereinrichtung 6.3 zu senden, wenn vorgegebene Pufferspeicher-Füllschwellen erreicht werden. Die Steuereinrichtung 6.3 überwacht diese Meldungen und unterhält eine Zustands-Maschine (4), die den aktuellen Zustand des Pufferspeichers anzeigt. Das Paket-Handhabungsmittel 6.2 ist betriebsfähig, die Ankunft von Startpaketen an dem Breitband-Zugangsserver zu erfassen, die für den Kunden bestimmt sind, und die Steuereinrichtung 6.3 über diese Ankunft zu informieren. Die Steuereinrichtung 6.3 aktualisiert wiederum den Fluss-Parameter-Speicher 6.4 mit Details des neu angekommenen Flusses. Allgemein gesagt arbeitet das vorliegende Ausführungsbeispiel dadurch, dass die Steuereinrichtung 6.3 ein Paketlöschsignal an das Paket-Handhabungsmittel 6.2 sendet, wenn sich der Pufferspeicher-Zustand zu „löschen" bewegt. Das Paket-Handhabungsmittel 6.2 beginnt dann, Pakete zu löschen, die zu den Flüssen gehören, deren Charakteristiken momentan in dem Fluss-Parameter-Speicher 6.4 gespeichert sind. Durch Einrichten des Fluss-Parameter-Speichers, die Details des ältesten Flusses in dem Speicher bei einem Akzeptieren der Details des neu eingetroffenen Flusses von der Steuerein richtung 6.3 zu löschen, wird der Löschbetrieb des Paket-Handhabungsmittels auf neu eingetroffene Flüsse konzentriert.
  • Es sollte angemerkt werden, dass die obige Funktionalität zusätzlich zu einer Paket-Scheduling-Funktion ist, die bereits in dem Breitband-Zugangsknoten vorhanden ist (16). Insbesondere ist sie zusätzlich zu einem Verkehrsgestaltungsprozess, der den gesamten Verkehr auf der permanenten virtuellen Verbindung, die zu der Set-Top-Box des Kunden führt, auf 5 Mbits–1 hält.
  • 4 zeigt die drei möglichen Zustände des Pufferspeichers 6.1, wie von der Steuereinrichtung 6.3 überwacht. Der Pufferspeicher befindet sich anfangs in einem Zustand „passieren", den die Steuereinrichtung 6.3 bei Erhalt einer „untere Schwelle"-Pufferspeicherwarnung von dem Pufferspeicher 6.1 in den Zustand „löschen" aktualisiert. Wenn eine „obere Schwelle"-Pufferspeicherwarnung von dem Pufferspeicher 6.1 von der Steuereinrichtung 6.3 empfangen wird, wenn sich der Pufferspeichers 6.1 in dem Zustand „löschen" befindet, wird der Pufferspeicher-Zustand weiter zu „Notfall-löschen" verändert. Wenn der Pufferspeicher-Zustand entweder „löschen" oder „Notfall-löschen" ist, dann veranlasst das Eintreffen einer „Pufferspeicherwarnung aus"-Meldung von dem Pufferspeicher 6.1 die Steuereinrichtung 6.3, den gespeicherten Pufferspeicher-Zustand auf „passieren" zu ändern.
  • 5 zeigt einen neuen Prozess, der von Content-File-Servern ausgeführt wird, wie dem Video-Server (126) und anderen Quellen von Inhaltsdateien (content files), wie Server für Streaming Media, auf die der Benutzer über das Internet zugreifen kann (18). Der neue Prozess wird von dem Videoserver oder einem anderen Content-File-Server unmittelbar vor dem Senden eines Video- (oder anderen Daten-)Flusses ausgeführt.
  • Der Prozess beginnt mit der Initialisierung einer Blockzählvariablen und einer Startpaketzählvariablen auf Null (Schritt 40). Danach wird ein Startpaket mit dem in 2 gezeigten Format erzeugt. Es ist offensichtlich, dass in diesem Fall, wenn das Meldungstyp-Byte auf den Wert 01 gesetzt wird, der Ratenanzeige-Wert die Rate anzeigt, mit der die Datei von dem Videoserver oder einem anderem Content-File-Server gesendet wird und der Richtlinien-Parameter wird von dem Betreiber dieses Servers gesetzt. Die anderen Werte in dem IP-Header werden auf eine herkömmliche Weise erzeugt.
  • Dann wird in Schritt 44 die Startpaketzählvariable um eins inkrementiert. Ein Test wird dann durchgeführt (Schritt 46), um herauszufinden, ob die Startpaketzählvariable einen vorgegebenen maximalen Wert (normalerweise gleich 2) erreicht hat. Wenn der Startpaketzähler diesen Wert nicht erreicht hat, werden die Schritte 42 und 44 wiederholt. Wenn andererseits der maximale Wert erreicht wurde, wird die zu übertragende (streaming) Inhaltsdatei oder Media-Datei von dem Server auf herkömmliche Weise geliefert (Schritt 48). Es versteht sich, dass jedes Paket des Flusses, der auf das Startpaket (2) folgt, dieselbe Quelladresse, Zieladresse, Quell-Anschluss, Ziel-Anschluss und TOS-Feld enthält wie das Startpaket. Dieser Satz von fünf Parametern wird im Folgenden als eine „Fluss-ID" bezeichnet. Das TOS-Feld ist in der Fluss-ID enthalten, um dem vorliegenden Ausführungsbeispiel zu ermöglichen, zwischen beispielsweise Audio- und Video-Komponenten einer gegebenen Kommunikation zu unterscheiden. Sobald die gesamte Datei gesendet wurde, endet der Lieferungsprozess (Schritt 50).
  • 6A zeigt eine Richtlinien-Tabelle, die in dem Breitband-Zugangsknoten gespeichert ist (16). Die Tabelle umfasst einen Satz oder mehrere Sätze von Fluss-ID-Parametern (die fünf Parame ter auf der linken Seite). Für jeden dieser Sätze von Fluss-ID-Parametern kann eine Zeitbedingung spezifiziert werden. Schließlich liefert die Spalte ganz rechts in der Tabelle einen Richtlinien-Parameter, dessen Werte denen entsprechen, die oben in Verbindung mit dem Richtlinien-Parameter des Optionenfelds des Startpakets beschrieben wurden (2).
  • Die Set-Top-Box (116) ist programmiert, um dem Benutzer zu ermöglichen, die Fluss-ID-Parameter für einen bestimmten Fluss und möglicherweise eine Zeit zu spezifizieren, zu der dieser Fluss empfangen wird, zusammen mit einer Anzeige der Richtlinie, die von dem Breitband-Zugangsknoten (16) auf diesen Fluss angewendet werden soll. Für Fachleute ist es möglich, ein geeignetes Programm zu schreiben, um eine derartige Richtlinien-Tabelle zu erzeugen und zu pflegen. Der Betrieb des Breitband-Zugangsknoten (16) als Reaktion auf Einträge in der Richtlinien-Tabelle wird im Folgenden erläutert.
  • 6B zeigt eine Ziel-IP-Adressenliste, die an dem Breitband-Zugangsknoten (16) gespeichert ist. Die Ziel-IP-Adressenliste enthält einen Eintrag für jede IP-Adresse, die jedem Kunden-Endgerät (z.B. dem PC 10 und dem digitalen Fernseher 15) zugewiesen ist und die zugehörige Kundennummer.
  • 7 und 8 zeigen zwei Tabellen, die hinsichtlich jedes Kunden an dem Breitband-Zugangsknoten (16) gespeichert sind. In 7 zeigen die acht Spalten acht kundenspezifische Variable an und die zweite Reihe dieser Tabelle zeigt den anfänglichen Wert dieser Variablen an.
  • Das Verzeichnis für „ungeschützte Flüsse" (8) enthält ein Verzeichnis von Fluss-IDs, wie oben hinsichtlich 6A beschrieben, und sieben Variable, die zu jeder Fluss-ID gehören. Die Verwendung jeder dieser Variablen wird im Folgenden erläutert.
  • Die zusätzlichen in dem Breitband-Zugangsknoten (16) ablaufenden Prozesse zur Implementierung des ersten Ausführungsbeispiels der vorliegenden Erfindung werden nun unter Bezugnahme auf die 9A bis 18 erläutert.
  • Die Pufferspeicher-Komponente 6.1 erzeugt Warnungen (9A), die den Grad einer Pufferspeicherfüllung der Steuereinrichtung 6.3 anzeigen. Die Pufferspeicher-Komponente 6.1 empfängt zuerst ein Pufferspeicherfüllgradsignal in einem regelmäßigen Intervall, das ausreichend kurz ist, um dazu zu führen, dass der Zustand des Pufferspeichers von der Steuereinrichtung 6.3 genau verfolgt werden kann (Schritt 60). Bei Empfang eines derartigen Signals wird der Pufferspeicherfüllgrad mit einer oberen Warnschwelle verglichen (Schritt 62). Wenn der Pufferspeicherfüllgrad größer als die obere Warnschwelle ist, wird eine „obere Schwelle"-Pufferspeicherwarnung an die Steuereinrichtung 6.3 gesendet (Schritt 64). Wenn andererseits der Pufferspeicherfüllgrad niedriger ist als die obere Warnschwelle, wird ein weiterer Test durchgeführt (Schritt 68), um festzustellen, ob die Pufferspeicherfüllung größer als die untere Warnschwelle ist. Wenn die Pufferspeicherfüllung größer als die untere Warnschwelle ist, wird eine „untere Schwelle"-Pufferspeicherwarnung an die Steuereinrichtung 6.3 gesendet (Schritt 70). Wenn andererseits der Pufferspeicherfüllgrad geringer als die untere Warnschwelle ist, wird das „Pufferspeicherwarnung aus"-Signal an die Steuereinrichtung 6.3 gesendet (Schritt 72). In jedem Fall wird, sobald die Pufferspeicher-Warnmeldung gesendet wurde (Schritte 64, 70, 72), der Prozess jeweils bis zu dem Empfang eines weiteren Pufferspeicherfüllgradsignals beendet.
  • Bei Empfang eines „obere Schwelle"-Pufferspeicher-Warnsignals von dem Pufferspeicher 6.1 (9B82) leitet die Steuereinrichtung 6.3 die „obere Schwelle"-Pufferspeicherwarnung an das Paket-Handhabungsmittel 6.2 weiter (Schritt 84). Der Warnungsweiterleitungsvorgang endet dann (Schritt 86). Die 9C und 9D zeigen, dass ähnliche Weiterleitungsvorgänge unternommen werden bei Empfang einer „untere Schwelle"-Pufferspeicher-Warnmeldung (9C) und bei Empfang einer „Pufferspeicherwarnung aus"-Meldung (9D).
  • Bei Empfang der an die Steuereinrichtung 6.3 weitergeleiteten „untere Schwelle"-Pufferspeicherwarnung (Schritt 90) ändert das Paket-Handhabungsmittel 6.2 seinen Datensatz der Pufferspeicherzustandsvariablen (4) auf „löschen" und setzt das „keine Änderungs"-Flag (7, dritte Spalte) auf „falsch" für den Kunden, den es betrifft (Schritt 92). Danach erzeugt das Paket-Handhabungsmittel eine Überlastungsbenachrichtigungsmeldung durch Senden eines gemäß 2 formatierten Steuerungspakets, wobei der Meldungstypparameter auf den Wert 02 gesetzt ist (Schritt 94). Das Überlastungsbenachrichtigungspaket kann an den Content-File-Server und/oder an die Kunden-Einrichtungen gesendet werden, die den Fluss empfangen. Eine in der empfangenden Einrichtung des Kunden ablaufende Anwendung kann programmiert werden, nach dem Empfang eines Überlastungsbenachrichtigungssignals weiterhin Datenpakete von dem Fluss zu empfangen, oder programmiert werden, die Anwendung zu schließen und dem Benutzer anzuzeigen, dass das Netz besetzt ist.
  • Wenn eine Anwendung programmiert ist, bei Empfang des Überlastungsbenachrichtigungssignals zu enden, dann ist sie verantwortlich für das Senden der geeigneten Signale an das Quellen-Ende, um den Fluss zu beenden. Diese Vorgänge befinden sich außerhalb des Um fangs dieser Erfindung und variieren von Anwendung zu Anwendung, Es existiert jedoch eine Option, um ein Überlastungsbenachrichtigungssignals sowohl zu der Quelle als auch zum Ziel zu senden, wenn es akzeptabel ist, dass das Quellen-Ende verantwortlich ist für das Treffen der Entscheidung, ob beendet werden soll oder nicht.
  • Bei Empfang einer „obere Schwelle"-Pufferspeicherwarnung von der Steuereinrichtung 6.3 (9F – Schritt 100) ändert das Paket-Handhabungsmittel seinen Datensatz für den Pufferspeicherzustand zu „Notfall-löschen" (Schritt 102). Danach erzeugt das Paket-Handhabungsmittel eine Überlastungswarnung, wobei es sich um ein Steuerungspaket handelt (2), dessen Meldungstypparameter auf den Wert 03 gesetzt ist (Schritt 104). Der Prozess endet dann (Schritt 106).
  • 10 zeigt einen Paketankunftshandhabungsvorgang, der von Paket-Handhabungsmittel 6.2 ausgeführt wird. Bei Ankunft eines Pakets an dem Paket-Handhabungsmittel 6.2 (Schritt 120) wird zuerst überprüft, ob es sich um ein Steuerungspaket zur Verwendung in dem vorliegenden Ausführungsbeispiel handelt (Schritt 122). Dies wird erreicht, indem zuerst untersucht wird, ob das Paket eine Headerlänge von mehr als 20 Bytes aufweist und wenn dem so ist, wird untersucht, ob einer der Optionscodes in der Header-Erweiterung gleich dem Optionscode ist, welcher dem vorliegenden Ausführungsbeispiels zugeteilt ist.
  • Wenn das Paket als ein Steuerungspaket zur Verwendung in dem vorliegenden Ausführungsbeispiel identifiziert wird, wird ein weiterer Test ausgeführt (Schritt 124), um festzustellen, ob das fragliche Paket ein Startpaket ist. Dies wird erzielt durch untersuchen des Meldungstypbytes des Optionsfelds, um zu sehen, ob es den Wert 01 aufweist. Wenn es die Option 01 aufweist, wird das Paket als ein Startpaket identifiziert und eine Anzeige, dass ein Startpaket ermittelt wurde, wird an die Steuereinrichtung 6.3 gesendet (Schritt 128). Die an die Steuereinrichtung 6.3 gesendete Meldung umfasst den Satz von Fluss-ID-Parametern (d.h. Quelladresse, Zieladresse, Quell-Anschluss, Ziel-Anschluss und TOS-Feld), der in dem Startpaket zu finden ist, zusammen mit den Werten der Ratenanzeige- und Richtlinienparameter-Bytes des Optionsfelds des Startpakets. Der von der Steuereinrichtung 6.3 ausgeführte Prozess als Reaktion auf dem Empfang der Meldung wird im Folgenden unter Bezugnahme auf 11 beschrieben. Wenn das Paket als ein von einem Steuerungspaket unterschiedliches Paket erfasst wird, dann wird es einfach zu seinem Ziel weitergeleitet (Schritt 126). Der Paketankunftshandhabungsvorgang endet dann (Schritt 136).
  • Wenn der Test, um festzustellen, ob das angekommene Paket ein Steuerungspaket ist (Schritt 122), offenbart, dass das Paket kein Steuerungspaket ist, dann wird eine Meldung erzeugt, die einen Token-Eimer(bucket)-Prozess von der Ankunft des Pakets informiert (Schritt 130). Die Meldung umfasst die Fluss-ID des Flusses, zu dem das Paket gehört, und wird verwendet, um einen pro-Fluss-Token-Eimer (bucket) zu aktualisieren, wie detaillierter im Folgenden unter Bezugnahme auf 15A beschrieben wird.
  • In Schritt 132 wird die für diesen Kunden gespeicherte „letzte Fluss-ID"-Variable (7A, Spalte ganz rechts) aktualisiert, um gleich zu der Fluss-ID des Flusses zu sein, zu dem das vorher angekommene Paket gehört. Sobald dies durchgeführt wurde, führt das Paket-Handhabungsmittel 6.2 einen Prozess aus, der das Paket entweder verwirft oder weiterleitet (Schritt 134), wie detaillierter im Folgenden unter Bezugnahme auf 15B beschrieben wird. Der Paketankunftshandhabungsvorgang endet dann (Schritt 136).
  • Unter Bezugnahme nun auf 11 führt die Steuereinrichtung 6.3 bei Empfang der „Start-Paket erfasst"-Meldung von dem Paket-Handhabungsmittel 6.2 (Schritt 140) einen Richtlinientabelle-Nachschlagvorgang aus (Schritt 142). Hier wird die Steuereinrichtung 6.3 gesteuert, um die Richtlinientabelle (6A) auf einen Eintrag hin zu durchsuchen, welcher der von dem Startpaket erhaltenen Fluss-ID entspricht. Wenn in der Richtlinientabelle (6A) ein Eintrag gefunden wird, dann wird der Richtlinienparameter für den in dem Startpaket gefundenen Fluss demgemäß aktualisiert. Wenn kein derartiger Eintrag gefunden wird, wird der in dem Startpaket gefundene Richtlinienparameter beibehalten.
  • Nach dem Richtlinientabelle-Nachschlagvorgang wird ein Test ausgeführt, um herauszufinden, ob der Richtlinienparameter für den vorliegenden Fluss gleich „garantiert" ist (Schritt 144). Wenn der Richtlinienparameter des Flusses auf „garantiert" gesetzt ist, endet der Paketankunftshandhabungsvorgang (11)(Schritt 156).
  • Wenn andererseits der Richtlinienparameter des vorliegenden Flusses anders als „garantiert" ist, geht die Steuerung zu Schritt 146, wo der „Hilfs"(aux)-Wert für den vorliegenden Fluss auf den Wert „normal" gesetzt wird. Sobald dies durchgeführt wurde, wird eine Meldung von der Steuereinrichtung 6.3 an den Fluss-Parameter-Speicher 6.4 gesendet (Schritt 148), um den Fluss-Parameter-Speicher 6.4 zu veranlassen, die Fluss-ID, die Ratenanzeige, den Richtlinienparameter und den Hilfswert, die zu dem empfangenen Startpaket gehören, zu speichern. Die bei Empfang dieser Meldung ausgeführte Verarbeitung wird im Folgenden detaillierter unter Bezugnahme auf 12 beschrieben, aber es sollte angemerkt werden, dass das Senden der Meldung dazu führt, dass ein Eintrag in das „ungeschützte Flüsse"-Verzeichnis (8) getätigt wird, das zu dem Kunden gehört, an den der Fluss gerichtet ist.
  • Als nächstes wird in Schritt 150 eine Meldung von der Steuereinrichtung 6.3 an das Paket-Handhabungsmittel 6.2 gesendet, welche dieses anweist, einen Zeitüberwachungs(Time-Out)-Prozess hinsichtlich dieses Flusses zu starten. Dieser Time-Out-Prozess wird im Folgenden detaillierter unter Bezugnahme auf die 13A, 13B und 13C beschrieben.
  • Die Gesamtratenanzeige (für den aktuellen Kunden) wird dann auf den Wert gesetzt, der in dem Ratenanzeigebyte in dem vorher empfangenen Startpaket zu finden ist (Schritt 152). Dann führt die Steuereinrichtung den Prozess einer Aktualisierung der „ungeschützte Flüsse"-Tabelle aus (Schritt 154), bevor der Paketankunftshandhabungsvorgang endet (Schritt 156).
  • Die von dem Fluss-Parameter-Speicher 6.4 bei Empfang der in Schritt 148 gesendeten Speicheranweisung ausgeführten Aktionen werden in 12 gezeigt. Bei Empfang der Anweisung zum Speichern von Details, die das neu angekommene Startpaket betreffen (Schritt 160), prüft der Fluss-Parameter-Speicher 6.4 zuerst, ob die Anzahl von in der „ungeschützte Flüsse"-Tabelle (8) gespeicherten Flüssen größer ist als das vorgegebene Maximum (Schritt 162). Wenn dieses Maximum überschritten wird, sendet der Fluss-Parameter-Speicher 6.4 eine Speicherwarnung mit einer Anzeige mit der Fluss-ID, welche die Speicherwarnung ausgelöst hat, an das Paket-Handhabungsmittel 6.2 (Schritt 172). Der Startpaketparameterspeichervorgang endet dann (Schritt 170).
  • Wenn andererseits die „ungeschützte Flüsse"-Tabelle (8) weniger als die maximale Anzahl von Einträgen aufweist, arbeitet der Fluss-Parameter-Speicher 6.4, um die Kundennummer des Kunden zu finden, an den der Fluss gerichtet ist (Schritt 164). Dies wird erreicht durch Durchsuchen der Ziel-IP-Adressentabelle (6B). Den vier verbleibenden Werte, die gesetzt werden müssen, um den Fluss-Eintrag in dem „ungeschützte Flüsse"-Verzeichnis (8) zu vervollständigen, d.h. das Paketanzahl-Flag, eine Paketanzahl, die Uhrzeit und ein Fenster-Flag, werden jeweils die anfänglichen Werte „falsch", 0, die aktuelle Zeit, wie von der Systemuhr gemessen, und „falsch" zugewiesen (Schritt 166). Die Werte aller der Flussparameter werden dann in das „ungeschützte Flüsse"-Verzeichnis (8) eingegeben (Schritt 168). Der Startpaketparameterspeichervorgang endet dann (Schritt 170).
  • Zurück zu 11 ist offensichtlich, dass die Ankunft eines Startpakets verursacht, dass ein Eintrag in die „ungeschützte Flüsse"-Tabelle (8) gemacht wird, vorausgesetzt nur, dass der Richtlinienparameter in dem Paket oder in der Richtlinientabelle (6A) nicht auf „garantiert" gesetzt ist.
  • Die Reaktion des Paket-Handhabungsmittels 6.2 auf die Anweisung „Beginne Fluss-Time-Out"(11 – Schritt 150) wird in den 13A, 13B und 13C dargestellt. Bei Empfang der „Beginne Fluss-Time-Out"-Anweisung von der Steuereinrichtung 6.3 (Schritt 180) sendet das Paket-Handhabungsmittel 6.2 eine Fluss-Time-Out-Anforderung an eine Timing-Funktion (Schritt 182). Die Timing-Funktion antwortet mit einer Fluss-Time-Out-Antwort (in Schritt 186 empfangen) nach dem Ablauf einer Zeitdauer von wenigen hundert Sekunden. Nach dem Empfang dieser Antwort sendet das Paket-Handhabungsmittel 6.2 eine „Setze Paketanzahl-Flag"-Anweisung an den Fluss-Parameter-Speicher 6.4 (Schritt 188).
  • Bei Empfang der „Setze Paketanzahl-Flag"-Anweisung (13C – Schritt 200) leitet der Fluss-Parameter-Speicher 6.4 die Kundennummer aus der Fluss-ID auf ähnliche Weise ab (Schritt 202), wie oben hinsichtlich des Startpaketparameterspeichervorgangs (12) erläutert wurde. Unter Verwendung der Kundennummer, um die korrekte „ungeschützte Flüsse"-Tabelle (8) zu finden, setzt der Fluss-Parameter-Speicher 6.4 die Paketanzahl-Flag für die fragliche Fluss-ID auf „wahr" (Schritt 204).
  • Zurück zu 11 ist offensichtlich, dass durch einen Eintrag in die „ungeschützte Flüsse"-Tabelle (8) als Reaktion auf die Ankunft eines Startpakets eines nicht garantierten Flusses die Paketanzahl-Flag-Variable in diesem Fluss-Eintrag anfangs auf „falsch" gesetzt ist, aber nach einer Zeitdauer von mehreren hundert Sekunden, die auf dem oben (13A bis 13C) beschriebenen Time-Out-Prozess folgt, auf „wahr" gesetzt wird.
  • Der Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle (aktiviert als Reaktion auf den Empfang eines Startpakets, das den Start eines nicht garantierten Flusses ankündigt – 11, Schritt 154) wird nun detaillierter unter Bezugnahme auf die 14A bis 14G erläutert. Zuerst (14A – Schritt 210) gibt die Steuereinrichtung 6.3 Anweisungen an den Fluss-Parameter-Speicher 6.4 aus (Schritt 210), die Parameter des letzten Flusses zurückzusenden, der in der zu diesem Kunden gehörenden „ungeschützte Flüsse"-Tabelle (8) aufgenommen ist.
  • Bei Empfang der Anforderung für die Parameter des empfangenden Flusses (14B – Schritt 214) identifiziert der Fluss-Parameter-Speicher 6.4 zuerst die zu der letzten angekommenen Fluss-ID gehörende Kundennummer (Schritt 216) und durchsucht dann (Schritt 218) die „ungeschützte Flüsse"-Tabelle (8) dieses Kunden nach dem Fluss-Eintrag, dessen Uhrzeit am nächsten der Uhrzeit des aktuellen Flusses vorausgeht (d.h. des Flusses, der von dem Startpaket angekündigt wurde, dessen Ankunft dazu führte, dass der Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle aktiviert wurde). Sobald dieser Fluss-Eintrag gefunden ist, werden die Fluss-ID-, die Ratenanzeige-, Hilfs- und Paketanzahl-Flag-Felder dieses Fluss-Eintrags an die Steuereinrichtung 6.3 gesendet (Schritt 220).
  • Bei Empfang (14C – Schritt 230) von dem Fluss-Parameter-Speicher 6.4 der Parameter des Fluss-Eintrags in der „ungeschützte Flüsse"-Tabelle (8) des Kunden, der dem nächsten gerade gestarteten Fluss entspricht, prüft die Steuereinrichtung 6.3 zuerst, ob die zurückgesendete Fluss-ID einen Wert Null hat (Schritt 232). Wenn der zurückgesendete Wert ein Nullwert ist, dann wurden alle Flüsse in der „ungeschützte Flüsse"-Tabelle (8) des Kunden untersucht und der Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle (14A bis 14G) endet (Schritt 246). Wenn der Wert kein Nullwert ist, dann werden weitere Aktualisierungen der „ungeschützte Flüsse"-Tabelle (8) für den aktuellen Kunden ausgeführt (Schritte 234 bis 244).
  • Zuerst wird in Schritt 234 der Wert des Richtlinienparameters des Flusses, der momentan aktualisiert wird, um 1 inkrementiert. Es ist offensichtlich, dass dies zu dem Ergebnis führt, dass jeder Fluss, der momentan eine Dienstqualität „Bronze" erfährt, auf eine Dienstqualität „Silber" verbessert wird, und jeder Fluss, der momentan eine Dienstqualität „Silber" erfährt, auf eine Dienstqualität „Gold" verbessert wird. Wenn der Fluss auf einen garantierten Status angehoben wird, dann wird das Fenster-Flag für den betrachteten Fluss-Eintrag auf „wahr" gesetzt.
  • Dann wird in Schritt 236 eine Überprüfung ausgeführt, um zu sehen, ob ein Fluss, der für einen garantierten Status in Betracht gezogen werden soll, aus der „ungeschützte Flüsse"-Tabelle (8) gelöscht werden soll. Dieser „überprüfe Fenster-Ausgangskriterium"-Prozess wird im Folgenden ausführlicher unter Bezugnahme auf die 14D und 14E beschrieben.
  • In Schritt 238 wird ein Test ausgeführt, um herauszufinden, ob das Fenster-Flag für den betrachteten Fluss-Eintrag auf „wahr" gesetzt ist. Wenn festgestellt wird, dass das Fenster-Flag tatsächlich auf „falsch" gesetzt ist, dann wird eine Anweisung von der Steuereinrichtung 6.3 an den Fluss-Parameter-Speicher 6.4 gesendet (Schritt 240), um den Fluss aus der „ungeschützte Flüsse"-Tabelle (8) zu entfernen.
  • Wenn andererseits festgestellt wird, dass das Fenster-Flag auf „wahr" gesetzt ist, sendet die Steuereinrichtung 6.3 eine Anweisung an den Fluss-Parameter-Speicher 6.4 (Schritt 242), den aktualisierten Richtlinienparameter für den momentan betrachteten Fluss-Eintrag zu speichern. Nach dem Entfernen (Schritt 240) eines Flusses aus der „ungeschützte Flüsse"-Tabelle (8) des Kunden oder dem Aktualisieren (Schritt 242) der „ungeschützte Flüsse"-Tabelle (8), um den aktualisierten Richtlinienparameter zu berücksichtigen, gibt die Steuereinrichtung 6.3 rekursiv die Steuerung an den Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle (14A bis 14G). Durch ein rekursives Zurückgeben an den Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle wird offensichtlich, dass jeder der Fluss-Einträge in der „ungeschützte Flüsse"-Tabelle (8) der Reihe nach untersucht wird.
  • Der „überprüfe Fenster-Ausgangskriterium"-Prozess (Schritt 236) wird ausführlicher in 14D dargestellt. Der Prozess beginnt mit einer Überprüfung (Schritt 250), um herauszufinden, ob das Fenster-Flag auf „falsch" gesetzt ist. Wenn das Fenster-Flag auf „falsch" gesetzt ist (d.h. der Fluss ist für ein Entfernen aus der „ungeschützte Flüsse"-Tabelle (8) gekennzeichnet), endet der „überprüfe Fen ster-Ausgangskriterium"-Prozess in Schritt 254. Wenn andererseits das Fenster-Flag auf „wahr" gesetzt ist, führt die Steuereinrichtung 6.3 den Prozess „prüfe ausreichende Rate" durch (Schritt 252). Dieser Prozess wird in 14E ausführlicher dargestellt. Unter Bezugnahme nun auf diese Figur beginnt der Prozess „prüfe ausreichende Rate" mit einem Test (Schritt 260), ob die Hilfsvariable, die zu dem momentan untersuchten Fluss-Eintrag gehört, auf „normal" gesetzt ist. In einigen Fällen (die im Folgenden erläutert werden) ist die Hilfsvariable tatsächlich auf den Wert „Notfall" gesetzt, in diesem Fall ist das Fenster-Flag für den momentan untersuchten Fluss-Eintrag auf „wahr" gesetzt. Der Prozess „prüfe ausreichende Rate" endet dann (Schritt 268). Wenn, wie es normalerweise der Fall ist, die Hilfsvariable für den betrachteten Fluss-Eintrag auf „normal" gesetzt ist, dann wird die Gesamtratenanzeige für den aktuellen Kunden um die zu dem aktuellen Fluss-Eintrag gehörende Ratenanzeige erhöht (Schritt 264).
  • Sobald diese Aktualisierung durchgeführt wurde, wird eine Überprüfung durchgeführt (Schritt 266), um herauszufinden, ob:
    • a) die kumulative Ratenanzeige, die zu den bisher betrachteten Fluss-Einträgen gehört, größer ist als ein Soll-Wert (in dem vorliegenden Ausführungsbeispiel ist der Soll-Wert auf 5% der Kapazität der PVC gesetzt, die von dem Breitband-Zugangsknoten (16) zu dem Heimatnetz des Benutzers führt (13, d.h. in dem vorliegenden Fall auf 250 Kilobits pro Sekunde));
    • b) das Paketanzahl-Flag für den momentanen Fluss auf „wahr" gesetzt ist; und
    • c) der Zustand des zu dem aktuellen Kunden gehörenden Pufferspeichers „passieren" ist.
  • Wenn jede dieser drei Bedingungen erfüllt ist, wird das Fenster-Flag für den momentanen Fluss auf „falsch" gesetzt. In anderen Fällen wird das Fenster-Flag auf „wahr" gesetzt. Nachdem das Fenster-Flag auf diese Weise gesetzt wurde, endet der Prozess „prüfe ausreichende Rate" (Schritt 268).
  • Zurück zu 14C ist erkennbar, dass der Prozess „überprüfe Fenster-Ausgangskriterium" (14D) wirksam ist, den Prozess „prüfe ausreichende Rate" für jeden Fluss-Eintrag in der „ungeschützte Flüsse"-Tabelle (8) auszuführen, dessen Fenster-Flag in dem Prozess „aktualisiere Richtlinienparameter" nicht auf „falsch" gesetzt wurde. Somit wird, außer für Fluss-Einträge, die aus Gründen der Richtlinie aus der „ungeschützte Flüsse"-Tabelle entfernt werden, der Schritt 264 für jeden Fluss-Eintrag in der „ungeschützte Flüsse"-Tabelle (8) des Kunden ausgeführt. Es sollte angemerkt werden, dass der Prozess „prüfe ausreichende Rate" einen Teil des Prozesses „aktualisiere „ungeschützte Flüsse"-Tabelle" bildet, der selbst als Reaktion auf die Ankunft eines Startpakets für den Kunden, zu dem die „ungeschützte Flüsse"-Tabelle (8) gehört, ausgeführt wird. Wenn die Ratenanzeige eines Fluss-Eintrags ausreichend ist, die kumulative Ratenanzeige auf einen Wert über 400 Kilobits pro Sekunde zu tragen, dann wird, vorausgesetzt, dass:
    • a) der Fluss für einige Zeit entweder aktiv oder vorhanden war (was verursacht, dass das Paketanzahl-Flag auf „wahr" gesetzt wird); und
    • b) der Pufferspeicher dieses Kunden nicht überlastet ist (d.h. vorausgesetzt, der Zustand des Pufferspeichers ist gleich „passieren") dieser Fluss-Eintrag aus der „ungeschützte Flüsse"-Tabelle (8) entfernt. Dieser Vorgang wird für alle vorhergehenden Flüsse wieder holt. Es wird festzustellen sein, dass der Effekt darin liegt, einen Satz von Flüssen in der „ungeschützte Flüsse"-Tabelle zu behalten, dessen kumulative Ratenanzeige so nah wie möglich bei 400 kbits–1 ist.
  • 14F zeigt die Reaktion des Fluss-Parameter-Speichers 6.4 auf den Erhalt (Schritt 270) der Anweisung von der Steuereinrichtung 6.3, den aktualisierten Richtlinienparameter (gesendet in 14C – Schritt 242) zu speichern. Auf die Anweisung folgt unmittelbar die Abfrage der Kundennummer, die der Ziel-IP-Adresse in der Fluss-ID entspricht (Schritt 272), wobei der Richtlinienparameter in der „ungeschützte Flüsse"-Tabelle (8) gespeichert wird, die den momentan untersuchten Fluss-Eintrag enthält (Schritt 274). Der Prozess „speichere aktualisierten Richtlinienparameter" endet dann (Schritt 276).
  • Die Reaktion des Fluss-Parameter-Speichers 6.4 auf die Anweisung „entferne Fluss-Eintrag" von der Steuereinrichtung 6.3 (gesendet in 14C – Schritt 240) wird in der 14G dargestellt. Wenn der Fluss-Parameter-Speicher 6.4 die Anweisung „entferne Fluss" von der Steuereinrichtung 6.3 empfängt (Schritt 280), wird zuerst die Kundennummer abgefragt (Schritt 282) unter Verwendung der Ziel-IP-Adressen-Liste (6B). Danach wird der momentan untersuchte Fluss-Eintrag aus der „ungeschützte Flüsse"-Tabelle (8) entfernt (Schritt 204). Der Fluss-Eintrag-Entfernungs-Prozess endet dann (Schritt 286).
  • Unter Bezugnahme nun auf 10 ist zu sehen, dass die Prozesse, die als Reaktion auf die Erfassung eines Startpakets (Schritt 128) ausgeführt werden, die oben in Bezugnahme zu den 11 bis 14G beschriebenen sind. Im Allgemeinen ist die Reaktion auf den Empfang eines Startpakets, den neuen Fluss in die „ungeschützte Flüsse"-Tabelle für den Kunden einzugeben, an den der Fluss gerichtet ist, und die anderen Fluss-Einträge in der Tabelle zu aktualisieren, um die dazu gehörenden Richtlinienparameter zu verbessern. Wenn die kumulative Ratenanzeige für die Flüsse in der Tabelle über einen Sollpegel verschoben wird durch das Hinzufügen des neuen Flusses, wird/werden unter normalen Umständen ein Fluss oder mehrere Flüsse aus der „ungeschützte Flüsse"-Tabelle entfernt und in den garantierten Bereich verschoben. Dies hat den Effekt, dass ein Fluss, der seit einiger Zeit in Betrieb ist, zunehmend weniger wahrscheinlich von dem Paket-Handhabungsmittel 6.2 verworfen wird und schließlich vor derartigen Verwerfungsaktionen sicher ist – ausgenommen das Auftreten von außergewöhnlichen Umständen, die im Folgenden unter Bezugnahme auf die 16A und 16B beschrieben werden.
  • Die Reaktion auf die Anzahl(Fluss-ID)-Anweisung (die erste Aktion, die von dem Paket-Handhabungsmittel 6.2 bei Empfang eines Nicht-Steuerungspakets ausgeführt wird – 10 – Schritt 130) wird in 15A dargestellt. Der Vorgang beginnt mit dem Empfang der Anzahl(Fluss-ID)-Anweisung (Schritt 290). Dann wird in Schritt 292 ein Token aus dem Token-Eimer entfernt, der zu der aktuellen Fluss-ID gehört. Dann wird der Wert der Paketanzahlvariablen, die zu dieser Fluss-ID gehört (in der „ungeschützte Flüsse"-Tabelle (8 – vorletzte Spalte) gespeichert), mit einer vorgegebenen Schwelle T verglichen (Schritt 249). Wenn die Paketanzahl bereits größer ist als diese Schwelle, endet der Paketanzahlaktualisierungprozess (Schritt 302). Wenn jedoch die Paketanzahl die vorgegebene Schwelle T noch nicht erreicht hat, wird die Paketanzahlvariable inkrementiert (Schritt 296). Anschließend wird ein weiterer Test ausgeführt (Schritt 298), um zu sehen, ob die neu inkrementierte Paketanzahl gleich dem vorgegebenen Schwellenwert T ist. Wenn die neu inkrementierte Paketanzahl noch immer nicht gleich der vorgegebenen Schwellen T ist, endet der Prozess (Schritt 302). Wenn andererseits die neu inkre mentierte Paketanzahl nun gleich der vorgegebenen Schwellen T ist, sendet das Paket-Handhabungsmittel 6.2 eine Anweisung an den Fluss-Parameter-Speicher 6.4 (Schritt 300), um das zu der aktuellen Fluss-ID gehörende Paketanzahl-Flag auf „wahr" zu setzen. Es ist zu erkennen, dass die Reaktion auf diese Meldung bereits unter Bezugnahme auf die 13C oben beschrieben wurde. Ferner ist zu erkennen, dass der Empfang einer Schwellenanzahl von Paketen, die zu einem neu gestarteten Fluss gehören, denselben Effekt hat wie der Ablauf einer Zeitdauer einiger hundert Sekunden von dem Empfang des zu dem Fluss gehörenden Startpakets an, d.h. das Setzen des zu diesem Fluss gehörenden Paketanzahl-Flags auf „wahr". Es sollte angemerkt werden, dass der Prozess zur Aktualisierung der „ungeschützte Flüsse"-Tabelle (14A bis 14G) erfordert, dass das Paketanzahl-Flag auf „wahr" gesetzt ist, bevor der Fluss-Eintrag, zu dem es gehört, aus der „ungeschützte Flüsse"-Tabelle (8) entfernt werden kann. Dies wird getan, um mit einer Situation umzugehen, in der der Kunde so viele Flüsse in einer kurzen Zeitdauer anfordert, dass eine Bewertung der Auswirkung der Ankunft dieser Flüsse nicht länger auf einer Basis „ein Fluss nach dem anderen" nicht länger durchgeführt werden kann. Ein Sicherstellen, dass der Fluss in der „ungeschützte Flüsse"-Tabelle (8) bleibt, zumindest bis T Pakete von diesem Fluss empfangen wurden, bietet Zeit zum Bewerten der Auswirkung dieses Flusses. Um zu verhindern, dass ein Fluss, der weniger als T Pakete sendet, unbegrenzt in der „ungeschützte Flüsse"-Tabelle bleibt, wird der unter Bezugnahme auf die 13A bis 13C beschriebene Time-Out-Prozess verwendet.
  • Wiederum unter Bezugnahme auf 10 wird der Prozess „verwirf Aktionen", der bei Empfang eines von einem Steuerungspaket unterschiedlichen Pakets ausgeführt wird (Schritt 134), detaillierter in der 15B dargestellt. Der Prozess „verwirf Aktionen" beginnt mit einem Test (Schritt 310), um herauszufinden, ob der Zustand des Puf ferspeichers, der zu dem Kunden gehört, der den Fluss empfängt, zu dem das letzte empfangene Paket gehört, gleich „passieren" ist. Wenn der Zustand des Pufferspeichers dieses Kunden gleich „passieren" ist, wird das Paket einfach normal von dem Breitband-Zugangsknoten (16) weitergeleitet (Schritt 312).
  • Wenn in Schritt 310 herausgefunden wird, dass der Zustand des Pufferspeichers des Kunden nicht gleich „passieren" ist, führt das Paket-Handhabungsmittel 6.2 den „Notfall-löschen"-Prozess aus (Schritt 314 – wird im Folgenden unter Bezugnahme auf 16A und 16B detaillierter beschrieben). In jedem Fall wird danach ein Test durchgeführt (Schritt 316), um zu sehen, ob die aus dem letzten empfangenen Paket erlangte Fluss-ID mit einer Fluss-ID von einem der Fluss-Einträge übereinstimmt, der in der „ungeschützte Flüsse"-Tabelle (8) des aktuellen Kunden enthalten ist. Wen kein übereinstimmender Fluss-Eintrag gefunden wird, wird das Paket normal weitergeleitet (Schritt 312) und der Prozess „verwirf Aktionen" endet (Schritt 320). Wenn ein entsprechender Eintrag in der „ungeschützte Flüsse"-Tabelle (8) für aktuellen Kunden gefunden wird, sendet das Paket-Handhabungsmittel 6.2 eine Anforderung für den Richtlinienparameter für den Fluss-Eintrag an den Fluss-Parameter-Speicher 6.4 (Schritt 318).
  • Die Antwort des Fluss-Parameter-Speichers 6.4 auf die Anforderung zur Abfrage eines Richtlinienparameters für eine bestimmte Fluss-ID von dem Paket-Handhabungsmittel 6.2 wird von dem Fluss-Parameter-Speicher 6.4 empfangen (15C – Schritt 322). Auf den Empfang dieser Meldung wird die Kundennummer, die der aktuellen Fluss-ID entspricht, gefunden (Schritt 324) und der Richtlinienparameter von dem entsprechenden Fluss-Eintrag wird gelesen (Schritt 326). Der Fluss-Parameter-Speicher 6.4 sendet dann den Richtlini enparameter an das Paket-Handhabungsmittel 6.2 zurück (Schritt 328).
  • Bei Erhalt des Richtlinienparameters für die aktuelle Fluss-ID (15D – Schritt 340) führt das Paket-Handhabungsmittel 6.2 einen Test durch (Schritt 342), um zu sehen, ob der zurückgesendete Richtlinienparameter gleich 0 ist (es ist offensichtlich, dass dies nur stattfinden wird, wenn der Fluss, zu dem das aktuelle Paket gehört, der am letzten eingetroffene Fluss in der „ungeschützte Flüsse"-Tabelle (8) ist). Wo das der Fall ist, wird der Token-Anzahlwert für den aktuellen Fluss auf 0 gesetzt (Schritt 344). Wo der Richtlinienparameter auf einen von 0 verschiedenen Wert gesetzt ist, wird die Anzahl von Token in dem Token-Eimer für den aktuellen Fluss gelesen (Schritt 346).
  • Anschließend an die obigen Schritte überprüft das Paket-Handhabungsmittel 6.2 (Schritt 348), ob:
    • a) die Anzahl der in dem Token-Eimer des aktuellen Flusses verfügbaren Token gleich 0 ist; oder
    • b) das „lösche alles"-Flag des aktuellen Kunden auf „wahr" gesetzt ist.
  • Wenn eine der beiden Bedingungen erfüllt ist, wird das Paket gelöscht (Schritt 352). In anderen Fällen wird das Paket normal weitergeleitet (Schritt 350). Die Verarbeitung als Reaktion auf die Ankunft eines Nicht-Steuerungspakets (welche die in den 15B bis 15D dargestellten Prozesse umfasst) endet dann (Schritt 354).
  • Ein Prozess zum Inkrementieren der zu einem Fluss gehörenden Token-Anzahl wird in der 15E dargestellt. Der Prozess beginnt bei Empfang einer Anzeige von einer internen Uhr, dass eine gesamte Inkrementzeitdauer abgelaufen ist (Schritt 360). Die Inkrementzeitdauer für einen bestimmten Fluss wird auf die maximale Paketgröße geteilt durch den zu dem Fluss gehörenden Ratenanzeigeparameter gesetzt. Bei Erhalt des Token-Inkrementsignals wird die Token-Anzahl für den fraglichen Fluss um eins erhöht (Schritt 362). Anschließend wird überprüft, ob die Token-Anzahl dieses Flusses nun eine vorgegebene Eimertiefe überschreitet (Schritt 364). Wenn dies nicht der Fall ist, endet der Prozess bei Schritt 368. Wenn andererseits die Token-Anzahl nun größer als die Eimertiefe ist, wird sie in Schritt 366 gleich der Eimertiefe gesetzt. Anschließend endet der Prozess (Schritt 368).
  • Der Prozess, durch den die zu dem bestimmten Fluss gehörende Token-Anzahl dekrementiert wird, wird in der 15F dargestellt. Wenn dieser Prozess durchgeführt wird, wird die zu dem Fluss gehörende Token-Anzahl um eins reduziert (Schritt 370). Anschließend wird ein Test durchgeführt (Schritt 372), um herauszufinden, ob die Token-Anzahl negativ wurde. Wenn die Token-Anzahl negativ ist, wird sie auf 0 zurückgesetzt (Schritt 374). In jedem Fall endet der Dekrementprozess dann (Schritt 376).
  • Zurück nun zu 10 ist erkennbar, dass jedes Nicht-Steuerungspaket unterschiedlich behandelt wird, gemäß dem Zustand des Pufferspeichers, der zu dem Kunden gehört, an den es gerichtet ist. Wenn der Zustand des Pufferspeichers „passieren" ist, wird das Paket normal weitergeleitet. Wenn andererseits der Zustand dieses Pufferspeichers nicht „passieren" ist, dann (möglicherweise nach der „Notfall-löschen"-Verarbeitung, die im Folgenden unter Bezugnahme auf die 16A und 16B beschrieben wird) wird ein Test durchgeführt, um festzustellen, ob das Paket zu einem Fluss in der „ungeschützte Flüsse"-Tabelle gehört, die für den Kunden gespeichert ist. Wenn das Paket zu einem Fluss gehört, der einer Dienstqualität „Bronze" unterworfen ist (normalerweise der zuletzt angekommene Fluss in der „ungeschützte Flüsse"-Tabelle), wird dieses Paket gelöscht. Wenn andererseits das Paket zu einem Fluss gehört, der eine Dienstqualität „Silber" oder „Gold" aufweist, wird der Fluss von einem Token-Eimer-Richtlinien-Prozess beschränkt. Es ist anzumerken, dass im Allgemeinen der Effekt, wenn sich der Zustand des Pufferspeichers eines Kunden von „passieren" zu „löschen" verschiebt, darin liegt, alle Pakete zu löschen, die zu dem am letzten gestarteten Fluss gehören, der an den fraglichen Kunden gerichtet ist, und andere kürzlich gestartete Flüsse, die an diesen Kunden gerichtet sind, in der Rate zu begrenzen.
  • Der Prozess „Notfall-löschen", der als Reaktion darauf ausgeführt wird, dass der Zustand des Pufferspeichers des Kunden gleich „Notfall-löschen" ist bei Ankunft eines Nicht-Steuerungspakets (15B – Schritt 314), wird detaillierter in der 16A dargestellt. Der Prozess beginnt mit einem Test (Schritt 380), um zu sehen, ob das angekommene Nicht-Steuerungspaket zu einem Fluss gehört, der in der „ungeschützte Flüsse"-Tabelle (8) zu finden ist. Wenn das Paket zu einem derartigen Fluss gehört, endet der Prozess „Notfall-löschen" (Schritt 390) – es sollte angemerkt werden, dass das Paket dann gelöscht wird oder der Fluss, zu dem es gehört, in der Rate begrenzt wird, wie in dem obigen Abschnitt erläutert wurde. Wenn jedoch das Paket zu einem Fluss gehört, der nicht in der „ungeschützte Flüsse"-Tabelle (8) zu finden ist, liest das Paket-Handhabungsmittel den aktuellen Token-Anzahl-Wert für den Fluss, zu dem das Paket gehört (Schritt 382). Anschließend werden Tests durchgeführt, um zu sehen, ob die Token-Anzahl für den aktuellen Fluss gleich 0 ist (Schritt 304). Wenn die Token-Anzahl größer als 0 ist, endet der Prozess „Notfalllöschen". Wenn andererseits die Token-Anzahl gleich 0 ist, sendet das Paket-Handhabungsmittel 6.2 ein Signal an den Fluss-Parameter-Speicher 6.4 (Schritt 386), das anzeigt, dass der Fluss, zu dem das Paket gehört, in die „ungeschützte Flüsse"-Tabelle (8) eingegeben werden soll. Das Hilfs-Flag für den Kunden, an den das Paket adressiert ist, wird dann auf „wahr" gesetzt (Schritt 388), bevor der Prozess „Notfall-löschen" endet (Schritt 390).
  • Bei Empfang (Schritt 392) der Anweisung von dem Paket-Handhabungsmittel 6.2, den Fluss in die „ungeschützte Flüsse"-Tabelle einzugeben, prüft der Fluss-Parameter-Speicher 6.4, ob die Anforderung nicht verursacht hat, dass die in der „ungeschützte Flüsse"-Tabelle maximal erlaubte Anzahl von Einträgen überschritten wurde (Schritt 394). Wenn diese Grenze überschritten ist, sendet der Fluss-Parameter-Speicher 6.4 eine Speicherwarnmeldung an das Paket-Handhabungsmittel 6.2 (Schritt 396). Wenn es für zusätzliche Einträge ausreichenden Platz in der „ungeschützte Flüsse"-Tabelle gibt, wird die Kundennummer, die zu dem in die „ungeschützte Flüsse"-Tabelle einzugebenden Fluss gehört, gefunden (Schritt 398). Die Variablen Paket-Anzahl-Flag, Richtlinienparameter, Uhrzeit und Hilfswert für den angeforderten Fluss werden dann jeweils auf die Werte „falsch", 0, die aktuelle Zeit und „Notfall" gesetzt (Schritt 400). Ein Fluss-Eintrag wird dann in die „ungeschützte Flüsse"-Tabelle (8) gemacht (Schritt 402), wobei die Variablen auf die oben angeführten Werte gesetzt werden. Der Prozess endet dann (Schritt 404).
  • Es wird zu sehen sein, dass der Effekt des Prozesses „Notfall-löschen" darin liegt, den Fluss eines empfangenen Nicht-Steuerungspakets zu der „ungeschützte Flüsse"-Tabelle hinzuzufügen, wenn dieser Fluss gleich zu seinen Token-Eimer-Parameter ist oder diesen überschreitet. Der Richtlinienparameter für diesen Fluss wird auf 0 gesetzt (d.h. der Fluss erfährt eine Dienstqualität „Bronze"). Das untersuchte Paket passiert dann sicher die Paketübereinstimmungsprüfung (15B – Schritt 316) und wird, da es eine Dienstqualität „Bronze" er fährt, danach gelöscht (15D – Schritt 352). Weitere von demselben Fluss an 6.2 ankommende Pakete werden ebenfalls gelöscht. Das Hinzufügen von Flüssen zu der „ungeschützte Flüsse"-Tabelle auf diese Weise sollte veranlassen, dass die Belastung des Pufferspeichers bis zu dem Punkt abnimmt, an dem sich der Zustand des Pufferspeichers zu „passieren" ändert.
  • Der Prozess „Notfall-löschen" liefert einen Mechanismus zum Umgang mit einer Quelle, welche die anfänglichen Pakete eines Flusses mit einer niedrigen Rate sendet und dann die Rate, mit der sie Pakete sendet, erhöht, sobald der Fluss aus der „ungeschützte Flüsse"-Tabelle entfernt wurde (ein zufälliges Auswählen eines Pakets hat den vorteilhaften Effekt, dass es Flüsse erreicht, die Pakete mit einer höheren Rate als andere Flüsse senden).
  • Sobald die Anforderung von Flüssen in die „ungeschützte Flüsse"-Tabelle den Pufferspeicherfüllgrad unter den ersten Schwellenwert reduziert, wird ein „Pufferspeicherwarnung aus"-Signal (9D) von der Steuereinrichtung 6.3 erzeugt. 17A zeigt die von dem Paket-Handhabungsmittel 6.2 durchgeführte Verarbeitung bei Empfang des „Pufferspeicherwarnung aus"-Signals von der Steuereinrichtung 6.3 (Schritt 410). Wie in 4 gezeigt wird, ist die erste Aktion bei Empfang eines „Pufferspeicherwarnung aus"-Signals, den zu dem Kunden gehörenden Zustand zu aktualisieren, dessen Pufferspeicher das Signal zum „passieren" erzeugt hat (Schritt 412). Sobald dies durchgeführt wurde, wird überprüft, ob das zu dem aktuellen Kunden gehörende Hilfs-Flag „wahr" ist, während das „Time-Out anstehend"-Flag des aktuellen Kunden „falsch" ist (Schritt 414). Wenn diese Bedingungen nicht erfüllt sind, endet der Prozess (Schritt 420). Wenn andererseits beide Bedingungen erfüllt sind, dann wird das zu dem aktuellen Kunden gehörende „Time-Out anstehend"-Flag auf „wahr" gesetzt, genauso wie das zu dem aktuellen Kunden gehörende „keine Änderung"-Flag (Schritt 416). Sobald dies durchgeführt wurde, wird eine Time-Out-Anforderung an eine Timing-Funktion gesendet (Schritt 418), welche die Time-Out-Antwort nach wenigen Sekunden anfordert. Der Prozess endet dann (Schritt 420).
  • Wenn die Timing-Funktion die Time-Out-Antwort nach weinigen Sekunden zurücksendet (17B – Schritt 422), wird das zu dem aktuellen Kunden gehörende „Time-Out anstehend"-Flag auf „falsch" gesetzt (Schritt 424). Dann wird ein Test durchgeführt (Schritt 426), um zu sehen, ob das zu dem aktuellen Kunden gehörende „keine Änderung"-Flag noch immer auf „wahr" gesetzt ist (es ist anzumerken, dass der einzige Weg, durch den dieses Flag neu gesetzt werden kann, der ist, wenn eine „untere Schwelle"-Pufferspeicherwarnung (Schritt 92, 9E), von dem Paket-Handhabungsmittel 6.2 während der Time-Out-Zeitdauer empfangen wurde). Wenn es in der Time-Out-Zeitdauer stattgefunden hat, endet der Prozess (Schritt 432). Wenn es andererseits keine Änderung des Zustands des Pufferspeichers während des Time-Outs gegeben hat, sendet das Paket-Handhabungsmittel 6.2 ein Signal an den Fluss-Parameter-Speicher 6.4 (Schritt 428), das anfordert, dass die angeforderten Flüsse aus der „ungeschützte Flüsse"-Tabelle (8) entfernt werden. Die Anforderung wird begleitet von dem letzten Fluss-ID-Parameter (in 10 – Schritt 132 gesetzt). Wenn diese Anforderung gesendet wurde, wird das Hilfs-Flag für den aktuellen Kunden auf „falsch" gesetzt (Schritt 430), bevor der Prozess endet (Schritt 432).
  • Bei Empfang (Schritt 440) der „entferne Anforderungsfluss"-Anweisung von dem Paket-Handhabungsmittel 6.2, ruft der Fluss-Parameter-Speicher 6.4 die Kundennummer ab (Schritt 442), die zu der letzten Fluss-ID gehört, die als ein Parameter der Anforderung übergeben wurde. Anschließend wird das Flag, das anzeigt, dass eine Suche durch die „ungeschützte Flüsse"-Tabelle (8) stattfindet, auf „wahr" gesetzt (Schritt 444). Dann wird die „ungeschützte Flüsse"-Tabelle (8) für den aktuellen Kunden durchsucht, um den nächsten Fluss-Eintrag zu finden, dessen „Hilfs"-Parameter auf „Notfall" gesetzt ist (Schritt 446). Sobald ein derartiger Eintrag gefunden ist, wird er gelöscht (Schritt 448). Wenn kein derartiger Eintrag in der „ungeschützte Flüsse"-Tabelle gefunden wird, dann wird das „Suche findet statt"-Flag des aktuellen Kunden auf „falsch" gesetzt. Wenn weitere Fluss-Einträge vorhanden sind, findet ein zweiter Test (Schritt 450) das „Suche findet statt"-Flag auf „wahr" gesetzt und wiederholt die Vorgänge zum Finden eines Fluss-Eintrags, dessen Hilfsvariable auf „Notfall" gesetzt ist, und löscht ihn. Wenn andererseits das „Suche findet statt"-Flag auf „falsch" gesetzt ist, dann endet das Entfernen von Anforderungsflüssen aus der „ungeschützte Flüsse"-Tabelle (8)(Schritt 452).
  • Es ist offensichtlich, dass der kombinierte Effekt, dass das Paket-Handhabungsmittel 6.2 eine „Pufferspeicherwarnung aus"-Meldung empfängt, darin liegt, alle Anforderungsflüsse zu entfernen, die in der „ungeschützte Flüsse"-Tabelle (8) eines Kunden vorhanden sind, vorausgesetzt, der Zustand des Pufferspeichers bleibt länger bei „passieren" als für wenige Sekunden. Die Überprüfung, dass der Zustand des Pufferspeichers länger bei „passieren" bleibt als für wenige Sekunden, verhindert, dass ein Fluss für eine kurze Weile angefordert wird, dann aus der „ungeschützte Flüsse"-Tabelle entfernt wird, während ein anderer Fluss kurz darauf seinen Platz einnimmt. Das würde dazu führen, dass eine größere Anzahl von Flüssen von einer Überlastung betroffen wäre, was nicht wünschenswert ist.
  • Bei Empfang einer Speicherwarnung (Schritt 442) von dem Fluss-Parameter-Speicher 6.4 (entweder als Antwort auf die Einführung eines Anforderungsflusses (16B) oder die Ankunft eines Startpakets (12)) setzt das Paket-Handhabungsmittel 6.2 das „lösche al les"-Flag, das zu dem Kunden gehört, der zu viele Flüsse angefordert hat, auf „wahr" (Schritt 424). Es ist offensichtlich, dass dies den Effekt hat, dass es veranlasst, dass alle Pakete, die zu einem Fluss in der „ungeschützte Flüsse"-Tabelle (8) für diesen Kunden gehören, gelöscht werden (15D – Schritt 352). Wenn das „lösche alles"-Flag gesetzt wurde, erzeugt das Paket-Handhabungsmittel 6.2 ein „zu viele Flüsse"-Warnpaket (Schritt 426), das die in 2 gezeigte Form hat, wobei das Meldungstypbyte auf den Wert 03 gesetzt wird. Sobald das Paket gesendet wurde, endet der Prozess (Schritt 428).
  • Die Set-Top-Box (116) ist programmiert, auf die „zu viele Flüsse"-Warnung zu antworten durch eine Anzeige für den Benutzer, dass das System ein Zurücksetzen erfordert und dass dies nur durch ein Kontaktieren des Administrators des Weitbereichsnetzes 22 erreicht werden kann.
  • Es ist offensichtlich, dass das obige Ausführungsbeispiel:
    • i) im Wesentlichen Identifizierer von neu gestarteten Flüssen in einem „Fenster" (die „ungeschützte Flüsse"-Tabelle) platziert und nach einer Zeitdauer den Flüssen ermöglicht, aus dem „Fenster" heraus zu kommen und in einen „garantierten Bereich" zu gelangen. Sobald sich die Flüsse in den „garantierten Bereich" bewegt haben, erleiden sie keinen Paketverlust, außer es entstehen extreme Verkehrsbedingungen, in welchem Fall ausgewählte Flüsse erfasst werden, wodurch anderen Flüssen ermöglicht wird, ohne Verlust oder unerwünschte Paketverzögerungen fortzufahren;
    • ii) den Zugang von Paketflüssen mit variabler Rate zu dem Weitbereichsnetz 22 ermöglicht, ohne eine Beschränkung aufzuerlegen, nur einen Satz von Flüssen zu akzeptieren, dessen Spitzenraten geringer als die verfügbare Kapazität sind;
    • iii) den Zugang von Paketflüssen mit variabler Rate ohne eine Anforderung zur Überwachung der verbleibenden Kapazität des Kommunikationskanals zu dem Kunden ermöglicht;
    • iv) den Zugang von Paketflüssen ohne die Auferlegung einer Anforderung ermöglicht, dass eine Statusinformation über alle zugelassenen Flüsse beibehalten wird;
    • v) den Zugang von Paketflüssen ohne die Auferlegung einer Anforderung für die Suspendierung von Sitzungssteuerungsprotokollen ermöglicht.
  • Eine Anzahl von Veränderungen kann an dem obigen Ausführungsbeispiel durchgeführt werden, ohne von dem Umfang der vorliegenden Erfindung abzuweichen. Derartige Änderungen umfassen:
    • i) das Senden nur eines einzigen Startpakets vor der Ausgabe eines Paketflusses. In dem obigen Ausführungsbeispiel wurde das Senden von zwei Startpaketen bevorzugt, da dies die Wahrscheinlichkeit reduziert, dass das Startpaket den Breitband-Zugangsknoten (16) nicht erreicht, was dazu führen würde, dass der Fluss tatsächlich sofort in dem „garantierten Bereich" platziert würde;
    • ii) die „ungeschützte Flüsse"-Tabelle kann zum Beispiel nur die Fluss-ID des am letzten gestarteten Flusses enthalten. Es sollte angemerkt werden, dass ein Ändern der Anzahl von in der „ungeschützte Flüsse"-Tabelle (8) gespeicherten Einträgen dem Betreiber eines Breitband-Zugangsknotens ermöglicht, einen Dienst anzubieten, der sehr ähnlich zu dem herkömmlichen verbindungsorien tierten Betrieb von Telefonnetzen ist (wenn die „ungeschützte Flüsse"-Tabelle nur einen einzigen Eintrag enthält, wird nur der letzte Fluss bei Auftreten einer Überlastung unterbrochen), oder einen Dienst, der sehr ähnlich zu dem Betrieb nach dem besten Versuch (best-effort) des Internets ist (wenn die „ungeschützte Flüsse"-Tabelle viele Einträge hat, wird eine große Anzahl von Flüssen bei Auftreten einer Überlastung unterbrochen). Durch Verändern der Anzahl von Einträgen in der „ungeschützte Flüsse"-Tabelle kann der Betreiber des Breitband-Zugangsknotens einen Betriebsmodus an jedem Ende oder an verschiedenen Punkten dazwischen auswählen;
    • iii) in dem oben beschriebenen Ausführungsbeispiel sind „Silber"- oder „Gold"-Flüsse weniger anfällig für ein Verwerfen als „Bronze"-Flüsse. Bei normalem Betrieb wird nur der letzte aktivierte Fluss als zu der Klasse „Bronze" gehörend klassifiziert. In einigen Ausführungsbeispielen der vorliegenden Erfindung wird der Richtlinienparameter nicht verwendet;
    • iv) obwohl das oben beschriebene Ausführungsbeispiel eine mögliche Implementierung der vorliegenden Erfindung in einem lokalen DSL-Netzwerk beschreibt, kann die Erfindung in einem anderen Typ von Zugangsnetz, z.B. ein Kabelnetz, realisiert werden. Die Erfindung kann in jedem Netzknoten aufgenommen werden, wo Flüsse um eine Netz-Ressource konkurrieren;
    • v) in dem oben beschriebenen Ausführungsbeispiel betrifft ein Paketfluss einen Strom von Paketen, der von einem Quellen-Computer zu einem Endgerät eines Kunden gesendet wird. Jedoch können in einigen Ausführungsbeispielen der Erfindung die Pakete durch den Knoten „getunnelt" werden. Zum Beispiel kann ein Content-Provider ausgestattet sein mit einem virtuellen privaten Netzwerk, das von seinem Internet-Router zu seinen Kunden reicht. In einer gewöhnli chen Implementierung eines virtuellen privaten Netzwerks wird Paketen, die von einem der Computer des Content-Providers, die mit dem lokalen Netzwerk verbunden sind, erzeugt werden, ein zusätzlicher IP-Header beim Verlassen des Netzwerks des Content-Providers in das Internet hinzugefügt (was in einem Zugangs-Router stattfindet). Es ist dieser Header, der von dem Knoten des vorliegenden Ausführungsbeispiels analysiert würde. Ausführungsbeispiele der vorliegenden Erfindung könnten somit eine Fluss-ID platzieren, die auf eine Anzahl von „Paket-Flüssen" in der „ungeschützte Flüsse"-Tabelle (8) zutrifft. Somit können alle Pakete von einem bestimmten Content-Provider beim Auftreten einer Überlastung gelöscht werden (jedes dieser in dem oben beschriebenen Notfall-Verwerfen-Prozess ausgewählten Pakete). Durch Verändern der Software in dem Router beim Start des „Tunnels", um ein Startpaket vor dem Senden einer Kommunikation zu erzeugen, die eine Vielzahl von Flüssen aufweist, könnte das obige Ausführungsbeispiel auf derartige Kommunikationen genauso wie auf normale (d.h. nicht „getunnelte") Paketflüsse angewendet werden;
    • vi) in dem oben beschriebenen Ausführungsbeispiel ist der überwachte Überlastungsgrad der in dem Netzknoten und Maßnahmen zur Bekämpfung dieser Überlastung werden in dem Knoten unternommen. Jedoch kann/können ein Prozess oder mehrere Prozesse, der/die oben beschrieben wurde(n), in anderen Netzelementen ausgeführt werden. Zusätzlich können sich ein oder mehrere der oben beschriebenen Speicher in anderen Netzelementen befinden.

Claims (15)

  1. Verfahren zum Betreiben eines Paketteilnetzes (2), wobei das Verfahren aufweist: Empfangen (120) eines Kommunikationsankündigungspakets oder mehrerer Kommunikationsankündigungspakete, das/die den Beginn einer Paketkommunikation durch das Teilnetz (2) anzeigt/anzeigen, wobei die Paketkommunikation eine Vielzahl von Paketen aufweist; als Reaktion auf den Erhalt des einen Kommunikationsankündigungspakets oder der mehreren Kommunikationsankündigungspakete, Speichern (148) eines Satzes von Kommunikationsidentifizierern, wobei jeder Kommunikationsidentifizierer eine Identifizierung von Paketen ermöglicht, die zu einer der angekündigten Paketkommunikationen gehören; als Reaktion auf die Erfüllung einer vorgegebenen Bedingung, Entfernen (240) eines Identifizierers aus dem Satz von gespeicherten Identifizierern vor dem Ende der zugehörigen Kommunikation; wenn ein Überlastungsschwellenwert in dem Paketteilnetz (2) erreicht wird: Identifizieren (130) von Paketen, die zu einer Kommunikation gehören, die zu einem Identifizierer des Satzes von gespeicherten Identifizierern gehört; und Weiterleiten (350) von zu anderen Kommunikationen gehörenden Paketen bevorzugt gegenüber derart identifizierten Paketen.
  2. Verfahren gemäß Anspruch 1, wobei der Schritt des Weiterleitens ein Verwerfen der identifizierten Pakete umfasst, während er die zu anderen Kommunikationen gehörenden Pakete weiterleitet.
  3. Verfahren gemäß Anspruch 1, wobei jedes Paket einer Kommunikation den zu der Kommunikation gehörenden Kommunikationsidentifizierer umfasst.
  4. Verfahren gemäß Anspruch 3, das bei Erreichen eines hohen Überlastungswertes in dem Teilnetz weiter aufweist: Lesen des Kommunikationsidentifizierers aus einem an einem Netzknoten empfangenen Paket; und Hinzufügen des Kommunikationsidentifizierers zu dem Satz.
  5. Verfahren gemäß Anspruch 1, wobei die vorgegebene Bedingung den Ablauf einer Zeitdauer nach dem Beginn der Kommunikation umfasst.
  6. Verfahren gemäß Anspruch 1, wobei die vorgegebene Bedingung das Hinzufügen eines Identifizierers zu dem Satz von gespeicherten Identifizierern umfasst.
  7. Verfahren gemäß Anspruch 6, wobei die Ankündigungspakete eine Anzeige der erwarteten Datenrate der Kommunikation umfassen, wobei die vorgegebene Bedingung das Überschreiten einer vorgegebenen Schwelle von der kumulierten erwarteten Datenrate der Kommunikation umfasst.
  8. Verfahren gemäß Anspruch 1, wobei der Satz von Kommunikationsidentifizierern eine Vielzahl von Teilsätzen von Kommunikationsidentifizierern aufweist, wobei ein Kommunikationsidentifizierer zuerst in einem ersten Teilsatz platziert wird und zu einem zweiten Teilsatz verschoben wird, wenn eine Teilsatz-Entfernungsbedingung erfüllt wird, wobei bei Beginn einer Überlastung Pakete in dem zweiten Teilsatz bevorzugt gegenüber Paketen in dem ersten Teilsatz weitergeleitet werden.
  9. Verfahren gemäß Anspruch 1, das weiter die Schritte aufweist: Empfangen einer Anzeige einer geschützten Kommunikation, die anzeigt, dass eine oder mehrere Kommunikationen) geschützt ist/sind; wobei der Schritt des Speicherns des Kommunikationsidentifizierers Identifizierer der Kommunikationen speichert, für die keine derartige Anzeige empfangen wird.
  10. Verfahren gemäß Anspruch 9, wobei die Anzeige einer geschützten Kommunikation in dem Kommunikationsankündigungspaket übertragen wird, das die Kommunikation ankündigt.
  11. Verfahren gemäß Anspruch 9, wobei die Anzeige einer geschützten Kommunikation aus einem Datenspeicher gelesen wird, der für den Paketnetzknoten zugänglich ist.
  12. Verfahren gemäß einem vorhergehenden Anspruch, wobei die Kommunikation einen Paketfluss aufweist.
  13. Verfahren gemäß einem vorhergehenden Anspruch, wobei die Pakete gemäß dem Internetprotokoll gestaltet sind.
  14. Verfahren zum Betreiben eines Paketnetzknotens (6), das aufweist: Empfangen (120) eines Kommunikationsankündigungspakets oder mehrerer Kommunikationsankündigungspakete, das/die den Beginn einer Paketkommunikation durch den Knoten (6) anzeigt/anzeigen; als Reaktion auf den Erhalt des einen Ankündigungspakets oder der mehreren Ankündigungspakete, Speichern (148) eines Satzes von Kommunikationsidentifizierern, wobei jeder Kommunikationsidentifizierer eine Identifizierung von Paketen ermöglicht, die zu einer der angekündigten Paketkommunikationen gehören; als Reaktion auf die Erfüllung einer vorgegebenen Bedingung, Entfernen (240) eines Identifizierers aus dem Satz von gespeicherten Identifizierern vor dem Ende der zugehörigen Kommunikation; wenn ein Überlastungsschwellenwert in dem Paketknoten (6) erreicht wird: Identifizieren (290) von Paketen, die zu einer Kommunikation gehören, die zu einem Identifizierer des Satzes von gespeicherten Identifizierern gehört; und Degradieren (352) des Weiterleitens von derart identifizierten Paketen relativ zu Paketen, die zu anderen Kommunikationen gehören.
  15. Paketnetzknoten (6), mit: einem Eingang zum Empfangen eines Pakets oder mehrerer Pakete; Mitteln (6.1), die in Betrieb ausgebildet sind, eine Überlastung in dem Paketnetzknoten (6) zu erfassen; einem Kommunikationsidentifiziererspeicher (6.4) zum Speichern eines Satzes von Kommunikationsidentifizierern; Mitteln (6.2), die in Betrieb ausgebildet sind, an dem Eingang empfangene Kommunikationsankündigungspakete zu erfassen, und als Reaktion auf die Erfassung in dem Kommunikationsidentifiziererspeicher (6.4) einen Kommunikationsidentifizierer zu speichern, der in dem Kommunikationsankündigungspaket enthalten ist; Mitteln (6.3), die in Betrieb ausgebildet sind, einen Kommunikationsidentifizierer aus dem Kommunikationsidentifiziererspeicher (6.4) vor dem Ende der Kommunikation zu entfernen, wenn eine vorgegebene Bedingung erfüllt ist; Mitteln (6.3), die in Betrieb ausgebildet sind, bei der Erfassung einer Überlastung durch das Überlastungserfassungsmittel: an dem Eingang empfangene Pakete zu identifizieren, die zu einer Kommunikation gehören, die zu einem der in dem Kommunikationsidentifiziererspeicher (6.4) gespeicherten Kommunikationsidentifizierer gehört; und Pakete, die zu anderen Kommunikationen gehören, bevorzugt gegenüber derart identifizierten Paketen weiterzuleiten.
DE60206168T 2001-06-15 2002-06-14 Kommunikationsnetzwerk mit stau-verhinderung Expired - Lifetime DE60206168T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01305209 2001-06-15
EP01305209 2001-06-15
PCT/GB2002/002753 WO2002103966A1 (en) 2001-06-15 2002-06-14 Communications network with congestion avoidance

Publications (2)

Publication Number Publication Date
DE60206168D1 DE60206168D1 (de) 2005-10-20
DE60206168T2 true DE60206168T2 (de) 2006-06-22

Family

ID=8182029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60206168T Expired - Lifetime DE60206168T2 (de) 2001-06-15 2002-06-14 Kommunikationsnetzwerk mit stau-verhinderung

Country Status (5)

Country Link
US (1) US7724664B2 (de)
EP (1) EP1396118B1 (de)
CA (1) CA2448221C (de)
DE (1) DE60206168T2 (de)
WO (1) WO2002103966A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715310B1 (en) 2004-05-28 2010-05-11 Cisco Technology, Inc. L2VPN redundancy with ethernet access domain
US7643409B2 (en) * 2004-08-25 2010-01-05 Cisco Technology, Inc. Computer network with point-to-point pseudowire redundancy
FR2882939B1 (fr) * 2005-03-11 2007-06-08 Centre Nat Rech Scient Dispositif de separation fluidique
US9088669B2 (en) * 2005-04-28 2015-07-21 Cisco Technology, Inc. Scalable system and method for DSL subscriber traffic over an Ethernet network
US7835370B2 (en) * 2005-04-28 2010-11-16 Cisco Technology, Inc. System and method for DSL subscriber identification over ethernet network
US8213435B2 (en) * 2005-04-28 2012-07-03 Cisco Technology, Inc. Comprehensive model for VPLS
US8194656B2 (en) * 2005-04-28 2012-06-05 Cisco Technology, Inc. Metro ethernet network with scaled broadcast and service instance domains
US8094663B2 (en) * 2005-05-31 2012-01-10 Cisco Technology, Inc. System and method for authentication of SP ethernet aggregation networks
US8175078B2 (en) * 2005-07-11 2012-05-08 Cisco Technology, Inc. Redundant pseudowires between Ethernet access domains
US7515542B2 (en) * 2005-07-12 2009-04-07 Cisco Technology, Inc. Broadband access note with a virtual maintenance end point
US7889754B2 (en) * 2005-07-12 2011-02-15 Cisco Technology, Inc. Address resolution mechanism for ethernet maintenance endpoints
US8169924B2 (en) * 2005-08-01 2012-05-01 Cisco Technology, Inc. Optimal bridging over MPLS/IP through alignment of multicast and unicast paths
US7855950B2 (en) * 2005-08-01 2010-12-21 Cisco Technology, Inc. Congruent forwarding paths for unicast and multicast traffic
GB0517304D0 (en) 2005-08-23 2005-10-05 Netronome Systems Inc A system and method for processing and forwarding transmitted information
US9088619B2 (en) * 2005-09-14 2015-07-21 Cisco Technology, Inc. Quality of service based on logical port identifier for broadband aggregation networks
US8804534B2 (en) * 2007-05-19 2014-08-12 Cisco Technology, Inc. Interworking between MPLS/IP and Ethernet OAM mechanisms
US8531941B2 (en) 2007-07-13 2013-09-10 Cisco Technology, Inc. Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol
US8077709B2 (en) 2007-09-19 2011-12-13 Cisco Technology, Inc. Redundancy at a virtual provider edge node that faces a tunneling protocol core network for virtual private local area network (LAN) service (VPLS)
CN102377631B (zh) * 2010-08-06 2015-08-05 北京乾唐视联网络科技有限公司 一种基于流量控制的数据传输方法及通信系统
US8650285B1 (en) 2011-03-22 2014-02-11 Cisco Technology, Inc. Prevention of looping and duplicate frame delivery in a network environment
US9225672B1 (en) * 2012-11-15 2015-12-29 Qlogic, Corporation Systems and methods for packet grouping in networks
JP2014150438A (ja) * 2013-02-01 2014-08-21 Toshiba Corp 受信データ処理装置および受信データ処理方法
US9088612B2 (en) * 2013-02-12 2015-07-21 Verizon Patent And Licensing Inc. Systems and methods for providing link-performance information in socket-based communication devices
US10326674B2 (en) * 2013-08-27 2019-06-18 Purdue Research Foundation Compressing trace data
CN104954271B (zh) * 2014-03-26 2018-11-30 国际商业机器公司 Sdn网络中的数据包处理方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903559A (en) * 1996-12-20 1999-05-11 Nec Usa, Inc. Method for internet protocol switching over fast ATM cell transport
US20020057650A1 (en) * 1997-02-11 2002-05-16 Mooi Choo Chuah Traffic shaping for frame and ip packets in an enterprise switch
JP2853701B2 (ja) * 1997-03-18 1999-02-03 日本電気株式会社 Atm網における端末間フロー制御方法
US6490251B2 (en) * 1997-04-14 2002-12-03 Nortel Networks Limited Method and apparatus for communicating congestion information among different protocol layers between networks
US6469991B1 (en) 1997-10-14 2002-10-22 Lucent Technologies Inc. Method for overload control in a multiple access system for communication networks
WO1999030450A1 (en) * 1997-12-08 1999-06-17 Packeteer, Inc. Method for data rate control for heterogenous or peer internetworking
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
JP2000341272A (ja) * 1999-05-25 2000-12-08 Fujitsu Ltd Atm通信システム及びatm通信システムにおける輻輳状態検出方法並びにatm通信装置
JP3766259B2 (ja) * 2000-06-01 2006-04-12 株式会社日立製作所 パケット転送装置
JP3730846B2 (ja) * 2000-08-10 2006-01-05 株式会社日立コミュニケーションテクノロジー Atm通信装置およびatmセル転送制御方法
US7801158B2 (en) * 2000-10-16 2010-09-21 Verizon Communications Inc. Congestion and thru-put visibility and isolation
US7023851B2 (en) * 2000-10-12 2006-04-04 Signafor, Inc. Advanced switching mechanism for providing high-speed communications with high Quality of Service
US7130268B2 (en) * 2000-10-17 2006-10-31 Saverio Mascolo End-to-end bandwidth estimation for congestion control in packet switching networks
US7274661B2 (en) * 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
EP1365545A1 (de) * 2002-05-24 2003-11-26 Siemens Aktiengesellschaft Verfahren und System zum Modellieren elastischen Netzwerkverkehrs
US7428595B2 (en) * 2002-09-30 2008-09-23 Sharp Laboratories Of America, Inc. System and method for streaming TCP messages in an enterprise network
WO2004084508A1 (en) * 2003-03-20 2004-09-30 Agency For Science, Technology And Research Method and apparatus for controlling congestion in communications network

Also Published As

Publication number Publication date
WO2002103966A1 (en) 2002-12-27
US20040141501A1 (en) 2004-07-22
CA2448221C (en) 2007-07-31
CA2448221A1 (en) 2002-12-27
EP1396118B1 (de) 2005-09-14
US7724664B2 (en) 2010-05-25
DE60206168D1 (de) 2005-10-20
EP1396118A1 (de) 2004-03-10

Similar Documents

Publication Publication Date Title
DE60206168T2 (de) Kommunikationsnetzwerk mit stau-verhinderung
DE69818846T2 (de) Paketnetzwerk
DE69937537T2 (de) Überwachung von Internet unterschiedlichen Diensten für Transaktionsverwendungen
EP1428408B1 (de) Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
DE60306723T2 (de) Warteschlangensystem für Diffserv Router mit mehreren Betriebsmodi
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE60032669T2 (de) Vorrichtung und Verfahren zur Bandbreitenüberwachung
DE60023019T2 (de) Verfahren und system zur ablösung oder regeneration von quittierungspaketen in adsl kommunikationen
DE60114097T2 (de) Verfahren und System zur Verbesserung der Netzleistungsfähigkeit unter Verwendung eines leistungssteigernden Proxies
DE60108387T2 (de) Verfahren und Vorrichtung zur Dienstdifferenzierung in einem Datennetzwerk
DE10296945B4 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
DE69834763T2 (de) Verfahren zur Unterstützung von verbindungsindividuellen Warteschlangen für rückgekoppelte Verkehrssteuerung
DE60127978T2 (de) System und Verfahren zur Verteidigung gegen Denial-of-Service angriffe auf die Netzwerkknoten
DE69738359T2 (de) System zur Verbesserung des Datendurchsatzes einer TCP/IP Netzwerkverbindung mit langsamen Rückkanal
US6304578B1 (en) Packet routing and queuing at the headend of shared data channel
US6292489B1 (en) Router device and network system using the same
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE69835330T2 (de) Überlastungsverwaltung in einem Mehrtorigen-Vermittlungssystem mit gemeinsamen Speicher
DE60309414T2 (de) Metro-Ethernet Netzwerksystem mit einer selektiven aufwärtigen Pausenachrichtenübermittlung
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE19703833A1 (de) Koppeleinrichtung
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
DE112004001256T5 (de) Übertragungskapazitätszuteilungsverfahren, Kommunikationsnetzwerk und Netzwerkressourceverwaltungsvorrichtung
EP0885507A1 (de) Verfahren zur übertragung von datenpaketen vorgebbarer prioritätsklassen im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
EP1451980A1 (de) Verfahren zur uebertragung von daten von applikationen mit unterschiedlicher qualität

Legal Events

Date Code Title Description
8364 No opposition during term of opposition