DE112018005429T5 - Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung - Google Patents

Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung Download PDF

Info

Publication number
DE112018005429T5
DE112018005429T5 DE112018005429.2T DE112018005429T DE112018005429T5 DE 112018005429 T5 DE112018005429 T5 DE 112018005429T5 DE 112018005429 T DE112018005429 T DE 112018005429T DE 112018005429 T5 DE112018005429 T5 DE 112018005429T5
Authority
DE
Germany
Prior art keywords
priority
bbr
user terminal
traffic
congestion
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.)
Pending
Application number
DE112018005429.2T
Other languages
English (en)
Inventor
Rob Torres
Jun Xu
Vivek Gupta
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.)
Hughes Network Systems LLC
Original Assignee
Hughes Network Systems LLC
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 Hughes Network Systems LLC filed Critical Hughes Network Systems LLC
Publication of DE112018005429T5 publication Critical patent/DE112018005429T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

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

Abstract

Verfahren zum Steuern der Überlastung des Verkehrs, durch eines von einem oder mehreren Benutzerterminals (UTs), der einen Zwischenknoten durchquert, wobei das Verfahren umfasst: Zuordnen eines oder mehrerer Verkehrsflüsse von einer Priorität zu einem der einen oder mehreren Benutzerterminals (UTs); Erkennen einer Verkehrsüberlastung für die Priorität; Durchführen einer Zufall-Früherkennung(RED)-Überlastungssteuerung für die Priorität zur Entlastung der Verkehrsüberlastung; Auswählen eines Benutzerterminals (UT) für die Priorität, mit einer wahrgenommenen Verzögerung, die größer als ein hoher Schwellenwert ist; und Steuern der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse durch Priorität.

Description

  • GEBIET
  • Die vorliegenden Lehren offenbaren Verfahren und Systeme zur Behandlung der Überlastungssteuerung für einen Engpassbandbreiten- (Round-Trip Propagation Time) (BBR)
    und Umlaufzeit-Übertragungssteuerungsprotokoll (Transmission Control Protocol)-Datenfluss (TCP) in Verbindung mit anderen Flusskontrollsystemen, wie beispielsweise einer Zufall-Früherkennung-System (RED), ein Fenstergrößenkontrollsystem oder dergleichen. In einigen Ausführungsformen durchläuft ein BBR-TCP-Fluss einen Verbindungsfluss, der von einer RED Überlastungssteuerung gesteuert wird. Die vorliegenden Lehren können auf einem Zwischennetzwerkknoten verwendet werden, der eine tatsächliche Engpassverbindung von einem Absender verschleiert.
  • In einigen Ausführungsformen kann ein Zwischenknoten ein Satelliten-Gateway sein, so dass ein BBR-TCP-Fluss eine Satellitenkommunikationsverbindung durchquert, die einer RED Überlastungssteuerung durch den Satellitenanbieter unterliegt. In einigen Ausführungsformen überträgt der BBR-TCP-Fluss den Großteil des Verkehrs an eine Mikrofunkstelle (Very Small Aperture Terminal) (VSAT).
  • In einigen Ausführungsformen kann ein Zwischenknoten eine zellulare Basisstation sein, so dass ein BBR-TCP-Fluss eine zellulare Verbindung durchquert, die einer RED Überlastungssteuerung unterliegt. In einigen Ausführungsformen überträgt der BBR-TCP-Fluss den Großteil des Verkehrs über die Mobilfunkverbindung an ein Benutzerendgerät bzw. Benutzerterminal (User Terminal) (UT), das einen Dienst empfängt.
  • HINTERGRUND
  • Vor kurzem hat Google eine neue Überlastungssteuerung für TCP-Flüsse (Transmission Control Protocol) initiiert und vorgeschlagen. Die neue Überlastungssteuerung, die als BBR bekannt ist, basiert auf der Messung von zwei Parametern, die einen Pfad charakterisieren, nämlich Engpassbandbreite (Bottleneck Bandwidth) und Umlaufzeit (Round-Trip-Ausbreitungszeit) (BBR). In BBR misst ein Absender die Engpassbandbreite und die Umlaufzeit (Round Trip Time) (RTT) über empfangene Bestätigungen (acknowledgments)(ACKs). Der Datenfluss des Absenders basiert im Wesentlichen auf dem Produkt aus gemessener Bandbreite und RTT. Darüber hinaus steuert BBR die Senderate anhand der Datenmenge während des Flugs (in-flight data) und der RTT.
  • Die herkömmliche TCP-Überlastungssteuerung für die Flugdaten des Sendens basiert auf einer Fenstergröße, die sowohl vom Sender als auch vom Empfänger bestimmt wird. Der Absender verkleinert die Fenstergröße, wenn fehlende ACKs angezeigt werden. ACKs, die vermutlich auf Paketverluste auf dem Pfad infolge einer Überlastung zurückzuführen sind. Basierend auf einem solchen Merkmal des Absenders könnte das absichtliche Verwerfen eines Pakets an einem Zwischenknoten die Überlastung des Pfades verringern. Die zufällige Früherkennung (RED) basiert auf einem solchen Mechanismus. Die hier durch Bezugnahme in ihrer Gesamtheit aufgenommene US-Patentveröffentlichungsnummer 2013/0136000 offenbart eine herkömmliche Lehre.
  • BBR unterscheidet sich von der herkömmlichen TCP-Überlastungssteuerung darin, dass es nicht empfindlich auf einen Paketverlust reagiert. Obwohl BBR eine Sende-Rate basierend auf empfangenen ACKs ändert, hat das zufällige Verwerfen eines einzelnen Pakets im Gegensatz zur herkömmlichen TCP-Überlastungssteuerung keinen Einfluss auf die Sende-Rate von BBR. Im Gegensatz dazu könnte ein fehlender ACK herkömmlicherweise die Übertragungsrate des Absenders im Wesentlichen halbieren. In den vorliegenden Lehren werden Datenflüsse, die BBR verwenden, als BBR-Verkehr bezeichnet, während Datenflüsse, die BBR nicht verwenden, als Nicht-BBR-Verkehr bezeichnet werden.
  • Ein Hochdurchsatzsatellit (HTS) kann ein Überlastungssteuerungsschema wie RED verwenden. RED wird an einem Internet Gateway (IPGW) des HTS angewendet, um den eingehenden Datenverkehr zum leistungssteigernden Proxy (Performance Enhancing Proxy) (PEP) zu steuern. Das IPGW verwirft nach dem Zufallsprinzip Pakete aller Flow-Sitzungen, um den TCP-Verkehr während einer Überlastung zurückzuschieben. Dies setzt voraus, dass alle TCP-Quellen der herkömmlichen Überlastungssteuerung folgen. Wenn jedoch eine erhebliche Menge an BBR-Verkehr vom IPGW empfangen und bestätigt wird, kann sich der BBR-Verkehr während der Überlastung im IPGW ansammeln (da zufälliges Löschen die Sendegeschwindigkeit nicht beeinflussen würde) und Probleme für Nicht-BBR-Verkehr verursachen. Da der BBR-Verkehr aufgrund eines Paketverlusts nicht zurückgedrängt wird, wird RED häufiger ausgelöst, wenn der BBR-Verkehr mehr Pufferplatz beansprucht, was zu weniger eingehendem Nicht-BBR-Verkehr führt und folglich den Durchsatz von Nicht-BBR-Flüssen im Vergleich zu BBR-Flüssen verringert.
  • ZUSAMMENFASSUNG
  • Diese Zusammenfassung soll eine Auswahl von Konzepten in vereinfachter Form vorstellen, die weiter unten in der detaillierten Beschreibung beschrieben wird. Diese Zusammenfassung soll weder Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstands identifizieren, noch soll sie verwendet werden, um den Umfang des beanspruchten Gegenstands einzuschränken.
  • Die vorliegenden Lehren befassen sich mit der Flusskontrolle des BBR-Verkehrs oder des kombinierten BBR- und Nicht-BBR-Verkehrs an einem Zwischenknoten, um die Ende-zu-Ende-(End-to-End) Leistung des TCP-Protokolls zu verbessern, beispielsweise durch Verstecken oder Schützen einer relativ langsamen Verbindung in der Kommunikationspfad von einem Absender zu einem Empfänger an oder hinter einem Benutzerterminal (UT). Beispiele für einen solchen Zwischenknoten umfassen, ohne darauf beschränkt zu sein, das IPGW, einen Aggregator, eine Basisstation, einen leistungssteigernden Proxy oder dergleichen.
  • Die vorliegenden Lehren offenbaren die gleichzeitige Flusssteuerung für BBR- und Nicht-BBR-Verkehr in einer RED-basierten Überlastungssteuerungskonfiguration. Die vorliegenden Lehren koexistieren mit der RED-Überlastungssteuerung, um die ACKs eines BBR-Flusses so zu beschleunigen, dass die Senderate des BBR-Verkehrs verringert werden kann. In einigen Ausführungsformen erfolgt die BBR-Überlastungssteuerung pro Priorität pro UT-Basis. Während einer Überlastung können, wenn die durchschnittliche RED Rate nicht Null ist (größer als ein Schwellenwert), die Flüsse einer bestimmten Priorität eines UT mit einer höheren Verzögerung ausgewählt werden. ACKs der ausgewählten Flüsse werden so stimuliert, dass die von ACK erzeugte Datenrate geringer ist als der tatsächliche Durchsatz, der vom Datenflussplaner bereitgestellt wird. Infolgedessen sendet der Absender für einen BBR-Fluss eine kleinere Rate basierend auf den empfangenen ACKs. Andererseits werden die ACKs während einer Überlastung nicht für alle Verkehrsflüsse stimuliert. Im Allgemeinen laufen die vorliegenden Lehren über oder neben RED. In einigen Ausführungsformen verwenden die vorliegenden Lehren die Ausgabe von RED als Eingabe. In einigen Ausführungsformen ist RED unabhängig und es gibt keine Auswirkungen oder Änderungen an der vorhandenen Überlastungssteuerung. Für eine ausgewählte Priorität eines UT könnte die Flusssteuerung sowohl aus BBR- als auch aus Nicht-BBR-Flüssen bestehen, und die vorliegenden Lehren funktionieren für diesen Fall. In einigen Ausführungsformen gibt es keine Auswirkungen auf die Leistung von Nicht-BBR-Flüssen, selbst wenn die vorliegenden Lehren ausgelöst werden, um während der Überlastung auf Nicht-BBR-Verkehr anzuwenden.
  • Ein Verfahren zum Steuern der Verkehrsüberlastung durch eines oder mehrere Benutzerterminals (UTs), die einen Zwischenknoten durchlaufen. Das Verfahren umfasst: Zuordnen eines oder mehrerer Verkehrsflüsse einer Priorität zu einem der einen oder mehreren UTs; Erkennen einer Verkehrsüberlastung für die Priorität; Durchführen einer zufälligen Früherkennung-(RED)-Überlastungssteuerung für die Priorität zur Entlastung der Verkehrsstaus; Auswählen eines Benutzerterminals (UT) mit einer wahrgenommenen Verzögerung für die Priorität, die größer als ein hoher Schwellenwert ist; und Steuern der dem ausgewählten UT zugeordneten Verkehrsflüsse durch (nach) Priorität.
  • Ein Zwischenknoten zur Steuerung der Verkehrsüberlastung durch eines oder mehrere Benutzerterminals (UTs), die den Zwischenknoten durchqueren. Der Zwischenknoten umfasst: einen Flussplaner, um einen oder mehrere Verkehrsflüsse einer Priorität einem der einen oder mehreren UTs zuzuordnen und eine Verkehrsüberlastung für die Priorität zu erfassen; eine zufällige Früherkennung-(RED)-Überlastungssteuerung zur Durchführung einer Überlastungssteuerung für die Priorität zur Entlastung der Verkehrsstaus; eine BBR-Überlastungssteuerung, um für die Priorität ein Benutzerterminal (UT) mit einer wahrgenommenen Verzögerung auszuwählen, die größer als ein hoher Schwellenwert ist; und ein Steuermodul, um durch (nach) Priorität die mit dem ausgewählten UT verbundenen Verkehrsflüsse zu steuern.
  • Zusätzliche Merkmale werden in der folgenden Beschreibung dargelegt und sind teilweise aus der Beschreibung ersichtlich oder können durch Üben des Beschriebenen erlernt werden.
  • Figurenliste
  • Um die Art und Weise zu beschreiben, in der die oben genannten und andere Vorteile und Merkmale erhalten werden können, wird nachstehend eine genauere Beschreibung bereitgestellt, die unter Bezugnahme auf spezifische Ausführungsformen davon wiedergegeben wird, die in den beigefügten Zeichnungen dargestellt sind. In dem Verständnis, dass diese Zeichnungen nur typische Ausführungsformen darstellen und daher nicht als Einschränkung ihres Umfangs anzusehen sind, werden Implementierungen unter Verwendung der beigefügten Zeichnungen mit zusätzlicher Spezifität und Detailgenauigkeit beschrieben und erklärt.
    • 1 zeigt ein System der Überlastungssteuerung für einen Fluss mit Engpassbandbreite und Umlaufzeit (BBR) eines Benutzerterminals (UT) gemäß verschiedenen Ausführungsformen.
    • 2 zeigt ein Flussdiagramm eines beispielhaften Verfahrens zur Überlastungssteuerung eines Flusses mit Engpassbandbreite und Umlaufzeit (BBR) gemäß einigen Ausführungsformen.
    • 3 zeigt einen beispielhaften Pseudocode zum Auswählen eines BBR-Kandidaten und zum Bestimmen eines Tempoangabe-Faktors (insbesondere beim Tempo-Reduzieren) (Pacing Factor).
    • 4 zeigt ein beispielhaftes System zum Bereitstellen einer Tempo-Angabe (Pacing Down) in ACK-Warteschlangen gemäß verschiedenen Ausführungsformen.
  • In den Zeichnungen und der detaillierten Beschreibung beziehen sich dieselben Zeichnungsreferenznummern, sofern nicht anders beschrieben, auf dieselben Elemente, Merkmale und Strukturen. Die relative Größe und Darstellung dieser Elemente kann aus Gründen der Klarheit, Veranschaulichung und Zweckmäßigkeit übertrieben sein.
  • DETAILLIERTE BESCHREIBUNG
  • Ausführungsformen werden nachstehend ausführlich diskutiert. Während spezifische Implementierungen diskutiert werden, sollte verstanden werden, dass dies nur zu Illustrationszwecken erfolgt. Ein Fachmann auf dem relevanten Gebiet wird erkennen, dass andere Komponenten und Konfigurationen verwendet werden können, ohne sich vom Geist und Umfang des Gegenstands dieser Offenbarung zu trennen.
  • Die hier verwendete Terminologie dient nur zur Beschreibung bestimmter Ausführungsformen und soll die vorliegende Offenbarung nicht einschränken. Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes anzeigt. Darüber hinaus bedeutet die Verwendung der Begriffe ein, eine usw. keine Mengenbeschränkung, sondern das Vorhandensein mindestens eines der genannten Elemente. Die Verwendung der Begriffe „erstens“, „zweitens“ und dergleichen impliziert keine bestimmte Reihenfolge, sie sind jedoch enthalten, um entweder einzelne Elemente zu identifizieren oder ein Element von einem anderen zu unterscheiden. Es versteht sich ferner, dass die Begriffe „umfasst“ und / oder „umfasst“ oder „umfasst“ und / oder „einschließlich“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein angegebener Merkmale, Regionen, Ganzzahlen, Schritte, Operationen, Elemente spezifizieren und / oder Komponenten, schließen jedoch das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, Regionen, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und / oder Gruppen davon nicht aus. Obwohl einige Merkmale in Bezug auf einzelne beispielhafte Ausführungsformen beschrieben werden können, müssen Aspekte nicht darauf beschränkt sein, so dass Merkmale aus einer oder mehreren beispielhaften Ausführungsformen mit anderen Merkmalen aus einer oder mehreren beispielhaften Ausführungsformen kombiniert werden können.
  • Die vorliegenden Lehren offenbaren die Überlastungssteuerung mit RED und BBR. Der BBR-Verkehr kann während der Überlastung inline mit der RED-basierten Überlastungssteuerung gesteuert werden. Insbesondere offenbaren die vorliegenden Lehren ein Verfahren zum Auswählen eines BBR-Verkehrskandidaten und zum Durchführen einer Tempo-Angabe (Pacing) daraufhin. Die vorliegenden Lehren offenbaren auch ein Verfahren zum Berechnen oder Bestimmen einer ACK-Rate bei der Durchführung einer BBR-Überlastungssteuerung.
  • Die Überlastungssteuerung umfasst Aspekte der Identifizierung und Kontrolle. In einigen Ausführungsformen kann die Steuerung der Überlastung durchgeführt werden, indem der eingehende Verkehr skaliert wird, beispielsweise durch Tempo-Angabe (Pacing) von Bestätigungen (ACKs), um die eingehende Verkehrsrate zu formen, um die verschleierte Engpassverbindung oder dergleichen zu emulieren. Die vorliegenden Lehren offenbaren eine Tempo-Angabe der ACK-Ausführungsform im Detail, einschließlich der Offenbarung einer Berechnung eines Tempoangabe-Faktors (Pacing Factor) und eines Durchsatzes nach Priorität. In einigen Ausführungsformen kann ein Formungsfaktor auf Berechnungen des Tempoangabe-Faktors basieren. In einigen Ausführungsformen kann der Formungsfaktor der Tempoangabe-Faktor sein. Der Formungsfaktor kann verwendet werden, um den eingehenden Verkehr eines überlasteten Benutzerterminals (UT) zu formen, um den berechneten Durchsatz durch die Priorität zu emulieren.
  • Dieser Ansatz funktioniert in Verbindung mit, jedoch unabhängig von RED. In einigen Ausführungsformen wird die BBR-Überlastungssteuerung nur dann aktiviert, wenn RED ausgelöst wird, indem BBR-Kandidaten ausgewählt und ACKs für die BBR-Kandidaten stimuliert werden. Die vorliegenden Lehren können pro Priorität pro UT-Basis durchgeführt werden. Für eine ausgewählte Priorität eines UT können die Verkehrsflüsse des UT sowohl BBR- als auch Nicht-BBR-Flüsse umfassen, und die vorliegenden Lehren funktionieren für diesen Fall. In beispielhaften Ausführungsformen gibt es keine Auswirkungen auf die Leistung von Nicht-BBR-Flüssen, selbst wenn die ACK-Tempo-Angabe ausgelöst wird, um während der Überlastung auf sie anzuwenden.
  • 1 zeigt ein System der Überlastungssteuerung eines Benutzerterminals (UT) für einen Fluss mit Engpassbandbreite und Umlaufzeit (BBR) gemäß verschiedenen Ausführungsformen.
  • In 1 umfasst ein System 100, das eine Überlastungssteuerung für den BBR-Verkehr bereitstellt, einen Sender 120, einen Zwischenknoten 110, ein Zufällige-Früherkennung(RED)-Überlastungssteuerungsmodul 102, ein Flussplanungsmodul 104, ein BBR-Überlastungssteuerungsmodul 106, ein ACK-Tempoangabe-Modul 108, Task-Warteschlangen 112 und Ausgabewarteschlangen 114. Wenn eingehende Datenpakete am Zwischenknoten 110 ankommen, werden sie sofort an den Absender 120 bestätigt (ACKed) und in den TSK-Warteschlangen 112 in die Warteschlange gestellt. Das RED-Modul 102 kann kontinuierlich eine wahrgenommene Verzögerung aller Daten messen, die in einem Zwischenknoten in der Warteschlange stehen. Wenn die wahrgenommene Verzögerung größer als ein Schwellenwert ist, wird eine Abfallwahrscheinlichkeit berechnet. Der Zwischenknoten 110 wendet die Abwurfwahrscheinlichkeit auf Pakete an, die an den Aufgabenwarteschlangen 112 ankommen. Wenn ein Paket verworfen wird, fehlt einem jeweiligen Absender 120 eine ACK. Durch zufälliges Verwerfen von Paketen signalisiert der Zwischenknoten 110 den Sendern 120, die Datenrate zu verringern. Da das Verwerfen zufällig auf alle Pakete angewendet wird, stellt das Verwerfen sicher, dass die Datenflüsse mit gleichen Chancen in der Rate verkleinert werden. In Reaktion auf die fehlende ACK reduziert der jeweilige Absender 120 für einen Nicht-BBR-Verkehrsfluss seine Übertragungsrate.
  • Die fehlenden ACKs sind nicht wirksam, um eine Übertragungsrate eines BBR-Verkehrsflusssenders 120 zu reduzieren. Der BBR-Verkehr verringert die Rate aufgrund einer fehlenden ACK nicht. Während der Überlastung kann der BBR-Verkehr weiterhin Puffer an den TSK-Warteschlangen 112 nehmen, wodurch die RED-Überlastungssteuerung 102 häufiger ausgelöst wird, um den Nicht-BBR-Verkehr zu verkleinern. Die ungleichmäßige Wirksamkeit der RED-Überlastungssteuerung 102 komprimiert letztendlich den Nicht-BBR-Durchsatz, was zu einer unfairen Bandbreitennutzung unter UTs führt. In einigen Ausführungsformen kann BBR, das übermäßigen Puffer nimmt, vermieden werden, indem BBR-Flüsse basierend auf einem durchschnittlichen Durchsatz der vom Flussplaner 104 bereitgestellten Flüsse stimuliert werden. Da das Netzwerk des Systems 100 jedoch dynamisch ist, kann sich die Durchsatzrate eines UT im Laufe der Zeit ändern. Die Flusssteuerung basierend auf dem durchschnittlichen Durchsatz der Flüsse kann zu unerwünschten verbleibenden Daten des BBR-Verkehrs in Warteschlangen führen. Als solches offenbarten die vorliegenden Lehren einen umfassenderen Ansatz, der die RED-Überlastungssteuerung und -planung integriert.
  • Das BBR-Überlastungssteuermodul 106 kann einen gemeinsamen Puffer enthalten, wie beispielsweise das ACK-Tempoangabe-Modul 108, um ACK-Pakete in die Warteschlange zu stellen. Das TSK-Warteschlangenmodul 102 kann ACK-Pakete an das ACK-Tempoangabe-Modul 108 senden, anstatt die ACK-Pakete direkt oder sofort an die Absender 120 zurückzusenden. Das BBR-Überlastungssteuermodul 106 kann bestimmen, wann und wie die ACKs so zu steuern sind, dass die Gesamtüberlastungssteuerung sicher und reibungslos läuft.
  • In den vorliegenden Lehren wird im Allgemeinen eine durchschnittliche (langfristige) RED-Abfallwahrscheinlichkeit als Indikator für eine konsistente Überlastung angesehen. Wenn die langfristige RED-Wahrscheinlichkeit größer als ein Schwellenwert ist, wird festgestellt, dass sich das System 100 in einer konsistenten Überlastung befindet. In beispielhaften Ausführungsformen muss der BBR-Verkehr gestört werden, wenn eine konsistente Überlastung erkannt wird. Da RED im Allgemeinen pro Priorität mit unterschiedlichen Verzögerungsschwellen auferlegt wird, kann in beispielhaften Ausführungsformen die BBR-Überlastungssteuerung auch pro Priorität auferlegt werden. Die BBR-Überlastungssteuerung 106 kann kontinuierlich (durch Messen, Berechnen, Empfangen oder dergleichen) eine durchschnittliche Durchsatzrate und eine gesamte Datenmenge in der Warteschlange pro Priorität jeder UT als Eingaben bereitgestellt werden, beispielsweise durch den Flussplaner 104. Das BBR-Modul 106 kann kontinuierlich eine wahrgenommene Verzögerung pro Priorität jeder UT auswerten. Während einer Überlastung des Systems 100 (oder in einigen Ausführungsformen sogar, wenn das System nicht überlastet ist), wenn die wahrgenommene Verzögerung einer Priorität eines UT größer als ein Schwellenwert ist, kann die BBR-Überlastungssteuerung 106 eine Tempo-Angabe der ACKs dieses bestimmten UT / Flusses anfordern. Da jede ACK eine Aufzeichnung einer Paketgröße enthält, kann das ACK-Tempoangabe-Modul 108 einen identifizierten Fluss steuern oder auf eine bestimmte Datenrate begrenzen, indem die Paketgrößen in den zugeordneten ACKs summiert werden.
  • Für die durchschnittliche Durchsatzrate einer Priorität für die UT kann die BBR-Überlastungssteuerung 106 die Tempoangabe verringern oder das Tempo reduzieren, so dass die Tempoangabe-Rate kleiner als oder in Übereinstimmung mit der Durchsatzrate einer nachgeschalteten Ressource ist. In einigen Ausführungsformen offenbarten die vorliegenden Lehren eine allmähliche Tempo-Angabe zum Wiederherstellen einer Tempoangabe-Rate, beispielsweise wenn das System nicht mehr überlastet ist. Wenn sie nicht überlastet sind, kann die BBR-Überlastungssteuerung 106 die Tempo-Angabe vollständig entlasten, was bedeutet, dass ACKs nicht in die Warteschlange gestellt werden. Bei Überlastung können die ACKs vom ACK-Tempoangabe-Modul 108 pro Priorität für UT in die Warteschlange gestellt werden. Im Allgemeinen gilt die Tempo-Angabe für alle Prioritäten, z. B. Interaktiv, Streaming und Bulk. Die Tempo-Angabe eines BBR-Flusses für eine UT kann vorübergehend sein, was bedeutet, dass die Tempo-Angabe beendet ist, sobald ein Verzögerungsziel erreicht ist.
  • In beispielhaften Ausführungsformen umfasst das System 100 ein RED-basiertes Überlastungssteuermodul 102. RED kann ein Indikator für die Gesamtsystemüberlastung sein. Zusätzlich zu RED kann die individuelle Verzögerung jedes UT auf einer Prioritätsstufe bewertet werden. Somit kann die BBR-Überlastungssteuerung 106 pro Prioritätsstufe für eine einzelne UT betrieben werden. UTs mit einer größeren Verzögerung als einem hohen Schwellenwert werden als BBR-Flusskandidat betrachtet und können einer Tempo-Reduzierung-Operation (Pacing Down Operation) zum Verringern einer ACK-Warteschlangengröße infolge der Verringerung einer eingehenden Rate unterzogen werden. Der hohe Schwellenwert ist größer als ein minimaler Verzögerungsschwellenwert zum Auslösen von RED. Sobald sich ein UT in einem Tempo-Reduzierung-Prozess befindet, wird die ACK-Rate des UT verlangsamt, bis die wahrgenommene Verzögerung kleiner als ein niedriger Schwellenwert ist. Die niedrige Schwelle liegt im Allgemeinen unter der minimalen Verzögerungsschwelle für RED. In einigen Ausführungsformen wird beim Tempo-Reduzieren (Pacing Down) ein Tempoangabe-Zeitlimit (Pacing timeout) verwendet. Beim Tempo-Reduzieren (Pacing Down) ist die ACK-Rate kleiner als die vom Planer 104 bereitgestellte durchschnittliche Durchsatzrate. Das Tempo-Reduktion eines UT wird im Allgemeinen nur ausgelöst, wenn die RED-Überlastungssteuerung 102 eine konsistente Überlastung anzeigt. In beispielhaften Ausführungsformen wird eine konsistente Überlastung basierend auf der Bedingung bestimmt, dass die langfristige RED Wahrscheinlichkeit größer als ein Schwellenwert ist. In Ausnahmefällen kann die Tempo-Reduktion ausgelöst werden, wenn die von einem UT wahrgenommene Verzögerung einer Priorität viel größer ist, selbst wenn das System 100 nicht überlastet ist. Wenn die Tempo-Reduktion eines UT beendet ist und das System 100 immer noch überlastet ist, kann die ACK-Rate auf gleich der durchschnittlichen Durchsatzrate eingestellt werden; Wenn das System 100 nicht überlastet ist, wird die Speicherung der ACK-Rate nicht gehalten, was bedeutet, dass ACKs sofort freigegeben werden.
  • 2 zeigt ein Flussdiagramm eines beispielhaften Verfahrens zur Überlastungssteuerung eines Flusses mit Engpassbandbreite und Umlaufzeit (BBR) gemäß einigen Ausführungsformen.
  • Ein Verfahren 200 zur Überlastungssteuerung eines BBR-Flusses umfasst eine Operation 210 zum Bereitstellen einer Überlastungsanzeige pro Priorität. Das Verfahren 200 kann eine Operation 214 zum Auswählen eines UT als Tempo-Reduktion-Kandidaten enthalten, wenn die wahrgenommene Verzögerung des UT größer als ein hoher Schwellenwert ist. Dies wird wahrscheinlich ein Ausnahmefall sein. Das Verfahren 200 kann eine Operation 216 zum Freigeben aller anstehenden ACKs für eine nicht überlastete Priorität enthalten.
  • Das Verfahren 200 kann eine Operation 220 zum Erfassen einer überlasteten Priorität enthalten. In Operation 220 erfolgt die BBR-Überlastungssteuerung pro Prioritätsstufe oder mit anderen Worten, wenn eine Überlastung mit der Streaming-Priorität (und nicht für Bulk) erkannt wird, dann sind die Erkennung der Überlastung und nachfolgende Abhilfemaßnahmen wie das Angeben von einem reduzierten Tempo (Tempo-Reduktion) für die zugeordneten Flüsse oder ACKs mit der Streaming-Priorität. Das Verfahren 200 kann eine Operation 220 zum Durchführen einer RED Überlastungssteuerung für die Priorität enthalten. Das Verfahren 200 kann eine Operation 224 zum Auswählen eines BBR-Kandidaten mit einer wahrgenommenen Verzögerung umfassen, die größer als ein hoher Schwellenwert ist. In einigen Ausführungsformen kann das Verfahren 200 eine Operation 226 zum Freigeben von ACKs für Nicht-BBR-Kandidaten-UTs enthalten, wenn die Priorität überlastet ist.
  • Das Verfahren 200 kann eine Operation 230 zum Tempo-Reduzieren (oder Steuern oder Skalieren) des BBR-Kandidaten enthalten. Die Tempo-Reduktion (Tempo-Reduktion) kann die Tempo-Angabe (Gleichmäßig-Verteilen) (Pacing) von ACKs umfassen, sodass die ACK-Rate kleiner als die durchschnittliche Durchsatzrate eines UT ist. Die Operation 230 zum Tempo-Reduzieren kann eine Operation 232 zum Stoppen der Tempo-Reduktion umfassen, bis die wahrgenommene Verzögerung kleiner als ein niedriger Schwellenwert ist. Die Operation 230 zum Tempo-Reduzieren kann eine Operation 234 zum Stoppen der Tempo-Reduktion umfassen, wenn eine Zeitüberschreitung ausgelöst wird. Die Operation 230 zum Tempo-Reduzieren kann eine Operation 236 zum Identifizieren und Steuern eines BBR-Flusses für die dem BBR-Kandidaten zugeordneten Verkehrsflüsse umfassen. In Operation 236 kann die Steuerung nur die ACKs steuern, die dem identifizierten BBR-Fluss zugeordnet sind.
  • Das Verfahren 200 kann eine Operation 240 zum Beenden der Tempo-Reduktion umfassen. Die Operation 240 kann eine Operation 242 zum Einstellen der ACK-Rate gleich der Durchsatzrate der entsprechenden Priorität enthalten, wenn das System überlastet ist. Die Operation 240 kann eine Operation 244 zum Freigeben der ACKs enthalten, wenn das System nicht überlastet ist. Die Operation 240 kann eine Operation 246 zum erneuten Eintritt in Tempo-Reduktion umfassen, wenn das System überlastet ist und die wahrgenommene Verzögerung größer als ein hoher Schwellenwert ist. Wenn die Tempo-Reduktion beendet ist und das System überlastet ist (wie durch RED angezeigt), wird die ACK-Rate gleich der Durchsatzrate (mit der entsprechenden Priorität) gesetzt. Wenn das System nicht überlastet ist, wird die ACK sofort freigegeben.
  • In einigen Ausführungsformen kann das Verfahren 200 eine Operation 250 zum Abschließen der Operation 240 zum Tempo-Reduzieren von UTs enthalten, wenn das System von überlastet zu nicht überlastet wechselt.
  • Gegenwärtig gibt es keine explizite Angabe (z. B. etwas im Header eines BBR-Pakets), um anzuzeigen, ob ein Datenfluss BBR ist oder nicht. Als solches kann ein Nicht-BBR für die Tempo-Reduktion ausgewählt werden, wenn die Kriterien erfüllt sind. Es sollte jedoch keine oder nur geringfügige Auswirkungen auf die Leistung des Nicht-BBR-Verkehrs haben, wenn während der Überlastung eine Tempo-Reduktion durchgeführt wird. Dies tritt ohne Einschränkung auf, wenn der Nicht-BBR-Verkehr der RED-Überlastungssteuerung folgt. Wenn RED ausgelöst wird, wird die Eingaberate eines UT reduziert, während die Durchsatzrate gleich bleiben kann, wodurch weniger ACKs generiert werden. Das Festlegen einer ACK-Rate als bestimmter Bruchteil der Durchsatzrate kann ein ähnliches Ergebnis sein, das RED bringt.
  • Die vorliegenden Lehren offenbaren auch ein System und ein Verfahren zum Bestimmen eines BBR-Kandidaten und seines zugehörigen Tempoangabe-Faktors und zum Bestimmen einer ACK-Rate mit Prioritäten. In beispielhaften Ausführungsformen werden einige der benötigten Eingangsvariablen von anderen Modulen bereitgestellt, insbesondere die langfristige RED-Drop-Wahrscheinlichkeit, der gesamte Rückstand und die durchschnittliche Durchsatzrate eines UT. Diese können von den Modulen RED Überlastungssteuerung 106 und Flussplaner 104 erhalten werden.
  • Überblick
  • Bezeichne t als Zeitstrich (Zeit-Tick) für die BBR-Überlastungssteuerung. In beispielhaften Ausführungsformen beträgt der Zeitstrich standardmäßig 20 ms. Bezeichne P Drop _ LT ( k ) ( t )
    Figure DE112018005429T5_0001
    die langfristige durchschnittliche RED Abfallwahrscheinlichkeit für die Verkehrspriorität k, k = 1,..., K, wobei K die Anzahl der Prioritäten für einen Zwischenknoten ist. In beispielhaften Ausführungsformen kann diese RED Abfallwahrscheinlichkeit eine vorhandene Variable für eine RED Überlastungssteuerung sein, beispielsweise an einem Satelliten-Gateway, einem Zwischenknoten, einem PEP oder dergleichen.
  • In einigen Ausführungsformen kann sich die BBR-Überlastungssteuerung auf ein Prioritätsniveau eines Flusses konzentrieren. RED ist ein Indikator pro Priorität mit unterschiedlichen Schwellenwerten für Verzögerungen. Im Allgemeinen ist der Durchsatz auf UT-Ebene einigermaßen konsistent und zwischen verschiedenen UTs mit unterschiedlichen Tarifplänen vergleichbar. Man kann vernünftigerweise erwarten, dass BBR-Verkehr mit einer konsistenten Eingaberate eine längere Aufgabenwarteschlange verursacht, und als solche kann man schließen, dass die Durchsatzrate pro Priorität auch konsistent ist, wenn BBR vorhanden ist. Um eine BBR-Überlastungssteuerung pro Priorität bereitzustellen, leitet die BBR-Überlastungssteuerung die geschätzte Verzögerung pro Priorität für eine UT ab, berechnet sie oder misst sie und verwendet unterschiedliche Verzögerungsschwellenwerte für unterschiedliche Prioritäten.
  • Der Flussplaner 104 kann einen durchschnittlichen Durchsatz pro Priorität für jede UT und für die UT als Ganzes erfassen, indem er die Verkehrsanforderung über Prioritäten hinweg summiert. Die im Folgenden abgeleiteten Gleichungen sind allgemein gehalten und gelten sowohl für Priorität als auch für UT. Die Gleichungen lassen die Diskussion des Prioritätsindex der Einfachheit halber fallen. Die Kontrolle der BBR-Überlastung kann durch Berechnung der folgenden Variablen durchgeführt werden.
  • Bezeichne Ai(t) i = 1,..., N, wobei N die Anzahl der UTs ist, A die aufgezeichnete Durchsatzrate zum Zeitpunkt t ist, typischerweise basierend auf einem beispielhaften 20-ms-Rahmen oder 100-ms-Intervall, je nachdem, was verfügbar ist. Wenn beide Intervalle verfügbar sind, ist ein Durchsatz vorzuziehen, der dem vom Flusssteuerungsmodul verwendeten Zeit-Tick am nächsten kommt. Beispielsweise kann ein 20-ms-Rahmen vorzuziehen sein, da der Zeit-Tick t 20 ms beträgt. Die geglättete durchschnittliche Durchsatzrate kann als AEMA,i (t) = αl · Ai (t-1)+(1-αl) · AEMA,i (t-1)i = 1, ..., N, ausgedrückt werden, wobei der Glättungsfaktor αl einen beispielhaften Standardwert von αl = 0,02 hat.
  • In ähnlicher Weise sei Qi(t)i = 1,..., N der Rückstand eines UT i zum Zeitpunkt t. Der Rückstand kann erhalten werden, indem der letzte Schnappschuss des Rückstands erstellt wird. Der geglättete durchschnittliche Rückstand zum Zeitpunkt t für UT i kann ausgedrückt werden als QEMA,i(t)=α2·Qi(t)+(1-α2)·QEMA,i = 1,..., N, wobei der Glättungsfaktor α2 einen beispielhaften Standardwert von α2 = 0,1 hat. In einigen Ausführungsformen kann das RED Modul die geglätteten Durchsatz- und Rückstandswerte berechnen und bereitstellen.
  • Eine wahrgenommene durchschnittliche Verzögerung sei mit Di(t) für UT i, i = 1,..., N, bezeichnet, N ist die Gesamtzahl der UTs, die ausgedrückt werden kann als D i ( t ) = Q EMA , i ( t ) A EMA , i ( t ) ,  A EMA , i ( t ) 0,  i = 1, , N .
    Figure DE112018005429T5_0002
  • Eine wahrgenommene längerfristige durchschnittliche Verzögerung sei durch DLT,i (t) Mittelung Di(t) über einen bestimmten Zeitraum Twin-BBR gekennzeichnet. Der Standardwert ist Twin-BBR = 50 (20 ms Einheiten) = 1000 ms. Damit DLT,i (t) = mean[DLT,i (t - Twin-BBR + 1 : t)] . Wenn t < Twin-BBR, eine Mittelung über die vergangene Zeit machen.
  • Bestimmung des BBR-Kandidaten und des Tempoangabe-Faktors
  • In einigen Ausführungsformen können Kriterien zum Bestimmen eines BBR-Kandidaten und eines Tempoangabe-Faktors umfassen:
    • - Wenn die langfristige RED-Drop-Wahrscheinlichkeit größer als ein Drop-Rate-Schwellenwert ist und die kurz- und langfristig wahrgenommenen Verzögerungen einer Priorität einer UT größer als die Verzögerungsschwelle 1 sind, ist diese UT ein BBR-Kandidat.
    • - Unabhängig davon ist diese UT ein BBR-Kandidat, wenn sowohl die kurzfristigen als auch die langfristigen Verzögerungen einer UT größer als die Verzögerungsschwelle 2 sind.
    • - Bei einem BBR-Kandidaten kann der Tempoangabe-Faktor gleich oder kleiner als eins sein. Bei der Eingabe des Packing Down-Verfahrens wird der Tempoangabe-Faktor von weniger als einem übernommen, bis entweder die wahrgenommene Verzögerung das Ziel erreicht oder eine Zeitüberschreitung auftritt. Der Tempoangabe-Faktor wird auf die ACK-Rate angewendet.
    • - Nach Erreichen des Ziels oder des Timeouts wird der Tempoangabe-Faktor auf eins zurückgesetzt.
  • BBR-Kandidaten haben die Prioritätsebene. Beispielsweise kann ein UT ein BBR-Kandidat für Streaming, Bulk oder beides sein. Die Tempoangabe bei jeder Priorität ist unabhängig. Beispielhafte Statusvariablen, die den Status jedes UT hinsichtlich der Bestimmung von BBR-Kandidaten, Tempo-Reduktion-Raten usw. widerspiegeln, sind in der folgenden Tabelle dargestellt und haben Priorität.
    Variable Typ Beschreibung Anfangswert Umfang
    BBR_Candidate(i,t) Int for UT#i bei der Zeit t, wenn als BBR bestimmt, den Wert als 1 setzen; andernfalls, 0. 0 0 or 1
    BBR_Timer_release(i,t) Int Wenn UT #i in BBR Tempo-Reduktion eintritt, zählt diese Variable von BBR_Time_out auf 0 herunter. 0 Zwischen BBR_Time_out und 0 (irgendwie zufällig, um eine Synchronisation zu vermeiden)
    BBR_Pacing_factor(i,t) real Wenn #i in Tempoangabe, ist die ACK-Rate = BBR_Pacing factor (i, t) * Avg_throughput_rate von UT #i zum Zeitpunkt t 1 [0,1]
  • Bezeichne P Drop , TH ( k )
    Figure DE112018005429T5_0003
    einen Schwellenwert, um die Überlastung bei Priorität k, k = 1, ..., K, K = 3 zu bestimmen, was beispielsweise Interaktiv, Streaming und Bulk bedeutet. Beispielhafte Standardwerte für die Prioritäten können P Drop _ TH ( k ) ( t ) = 0,002
    Figure DE112018005429T5_0004
    für k = 1,..., K sein. Sei d BBR ,1 ( k )
    Figure DE112018005429T5_0005
    und d BBR , 2 ( k )
    Figure DE112018005429T5_0006
    die Verzögerungsschwelle 1 und 2 für die Priorität k. Da es keine Kreuzprioritätsoperation gibt, fallen die vorliegenden Lehren zur Vereinfachung der Demonstration (k). Die obigen Kriterien können ausgedrückt werden als (für Priorität k): IF [ P Drop _ LT avg ( t ) P Drop _ TH  AND  D i ( t ) > = d BBR ,1  AND  D LT , i ( t ) > = d BBR ,1 ]  OR  [ D i ( t ) > = d BBR ,2 AND  D LT , i ( t ) > = d BBR , 2 ]
    Figure DE112018005429T5_0007
  • Ein UT i kann ein BBR-Kandidat bei Priorität (k) sein, der in einer beispielhaften Variablen BBR_Candidate (i, t) = 1 gespeichert sein kann. Sei P Drop _ LT avg ( t )
    Figure DE112018005429T5_0008
    die abgeleitete durchschnittliche langfristige RED-Abfallwahrscheinlichkeit zum Zeitpunkt t für eine Priorität. Als solche dHBR,l =kl * DRED,Min und dBBR,2 = DRED,Min + k2 * (DRED,Max - DRED,Min).
  • Sei kl ein konfigurierter Parameter mit einem beispielhaften Standardwert von kl = 1,25.
  • Der beispielhafte Standardwert für k2 kann 0,75 oder 0,80 sein. Da die RED-Min- und Max-Verzögerungen im RED-Algorithmus definiert sind, werden die vorliegenden Lehren dBBR,l und dBBR,2 separat basierend auf der Formel konfigurieren.
  • Die BBR-Kandidatenprüfung kann periodisch mit einem standardmäßig konfigurierten Intervall von Tcheck-BBR = 15 Einheiten = 300 ms durchgeführt werden. Wenn festgestellt wird, dass ein UT ein BBR-Kandidat ist, tritt der UT in die Tempoangabe-Prozedur ein, bis entweder die wahrgenommene Verzögerung unter einem Schwellenwert oder einem vorkonfigurierten Zeitlimit liegt. Dieses Zeitlimit wird als BBT_Time_out mit einem beispielhaften Standardwert von BBR_Time_out = 100 Einheiten = 2000 ms bezeichnet. BBR_Time_out kann für verschiedene Prioritäten unterschiedlich sein, und dies kann ein Konfigurationsparameter pro Priorität sein.
  • In beispielhaften Ausführungsformen kann in jeder BBR-Überprüfungsperiode, wenn sich eine identifizierte BBR-UT im Tempo-Angabe-zustand befindet und wenn die ausgewertete Langzeitverzögerung DLT,i(t) kleiner als ein Verzögerungsziel ist, diese UT kann den Tempo-Angabe-zustand verlassen. Das Tempoangabe-Modul kann wie folgt ausgedrückt werden:
    Figure DE112018005429T5_0009
  • Das Verzögerungsziel kann als dBBR,Tar = k3 · DRED,Min bezeichnet werden, wobei beispielhafte Werte für k3 0,75 oder 0,80 sind. PF_max kann der maximale Tempoangabe-Faktor mit einem beispielhaften Standardwert von PF_max = 1 sein. PF_max kann auf alle Prioritäten angewendet werden.
  • In den vorliegenden Lehren werden einige Statusvariablen verwendet, um den Zustand jedes UT in Bezug auf die Bestimmung des BBR-Kandidaten, das Tempo usw. widerzuspiegeln. Diese Variablen sind:
    • - BBR_Candidate (i, t): für UT # i zum Zeitpunkt t, wenn als BBR bestimmt, den Wert auf 1 setzten; andernfalls 0. Anfangswert = 0.
    • - BBR_Timer_release (i, t): Wenn UT #i in BBR Tempo-Reduktion eintritt, zählt diese Variable von BBR_Time_out herunter. Wenn das Verzögerungsziel erreicht ist, wird dieser Wert auf Null gesetzt. Wenn der Anfangswert = 0 ist.
    • - BBR_Pacing_factor (i, t): Wenn #i im Tempo-Reduktion verwendet, ist die ACK-Rate = BBR_Pacing_factor (i, t) * Avg throughput rate von UT #i zum Zeitpunkt t. Der Anfangswert = 1.
  • 3 zeigt einen beispielhaften Pseudocode zum Auswählen eines BBR-Kandidaten und zum Bestimmen eines Tempoangabe-Faktors (insbesondere beim Tempo-Angeben).
  • Der BBR-Status eines UT kann nur vorübergehend sein, da er nur dann BBR ist, wenn eine BBR-Sitzung ausgeführt wird.
  • Tempo-Angabe (Pacing) der ACK-Warteschlangen
  • 4 zeigt ein beispielhaftes System zum Bereitstellen einer Tempo-Reduktion in ACK-Warteschlangen gemäß verschiedenen Ausführungsformen.
  • 4 zeigt ein System 400 zum Anwenden eines Tempoangabe-Faktors auf ACKs. In beispielhaften Ausführungsformen basiert eine Senderate des BBR-Verkehrs in dem System 400 auf einer empfangenen ACK-Rate für jede Priorität.
  • In dem System 400 kann ein eingehendes Paket empfangen und in den TSK-Warteschlangen 412 in die Warteschlange gestellt werden. Ein TSK kann einen Sitzungsablauf verarbeiten. Als solches kann es mehrere TSK-Warteschlangen 412 für eine UT geben. Für jede Priorität können entsprechende Pakete aus den TSK-Warteschlangen 412 pro Priorität in einer MUX-Warteschlange 430 gemultiplext werden. In beispielhaften Ausführungsformen führt ein Flussplaner 410 eine Entkopplungsoperation an der MUX-Warteschlange 430 durch, um ein entkoppeltes Paket an einen Zielausgang 422 weiterzuleiten, beispielsweise eine Satellitenverbindung, eine drahtlose Verbindung, eine terrestrische Leitung oder dergleichen. Der Planer 410 kann die Durchsatzrate jedes UT pro Priorität und als Ganzes bewerten. Der Planer 410 kann auch ein Warteschlangenprofil wie die Warteschlangengröße pro Priorität, RED-Variablen usw. auswerten und die benötigten Variablen der BBR-Überlastungssteuerung 406 zuführen. Basierend auf den Eingaben von dem Planer 410 bestimmt die BBR-Überlastungssteuerung 406 BBR-Kandidaten und entsprechende Tempoangabe-Faktoren 408 für jede Priorität eines UT.
  • Das System 400 kann die ACK-Warteschlangen 432 verwalten, eine Warteschlange pro Priorität, z. B. Interaktiv, Streaming und Bulk. Wenn in beispielhaften Ausführungsformen eine UT nicht als BBR-Kandidat für eine Priorität bestimmt wird, wird für diese Nichtkandidatenpriorität keine ACK-Warteschlange benötigt. Das bedeutet, dass die ACK-Pakete kommen und gehen, ohne in den ACK-Warteschlangen 432 zu puffern. Wenn ein UT als BBR-Kandidat für eine Priorität bestimmt wird, werden die ACK-Pakete in den ACK-Warteschlangen 432 in die Warteschlange gestellt, und das Entreihen wird basierend auf den Tempoangabe-Faktoren 408 und einer Durchsatzrate 438 für die Priorität bei einem ACK-Sender 434 zurück zu einem Sender / einer Quelle 420 des eingehenden Pakets durchgeführt. In beispielhaften Ausführungsformen kann die Durchsatzrate 438 pro Priorität durch den Flussplaner 410 eingestellt werden. In einigen Ausführungsformen wird, wenn die RED-Überlastungssteuerung (nicht gezeigt) nicht durch den Flussplaner 410 ausgelöst wird, die BBR-Überlastungssteuerung nicht durchgeführt (es sei denn, ein sehr außergewöhnlicher Fall, wenn die wahrgenommene Verzögerung eines UT sehr groß ist). Wenn die RED-Überlastungssteuerung mit einer Priorität ausgelöst wird (beispielsweise auf Systemebene im Vergleich zu einer UT-Ebene), wird der Tempoangabe-Faktor 408 für einen BBR-Kandidaten mit einer bestimmten Priorität abgeleitet, und die ACK-Rate 436 wird durch die UT bestimmt Durchsatzrate bei dieser Priorität multipliziert mit dem entsprechenden Tempoangabe-Faktor. Der Maximalwert für den Tempoangabe-Faktor ist eins, daher wäre während der Tempo-Reduktion die ACK-Rate kleiner oder gleich der Durchsatzrate.
  • Sei Vk das Datenvolumen eines UT, das von der ACK mit der Priorität k bezeichnet wird, k = 1,..., K, K ist die Anzahl der Prioritäten. In beispielhaften Ausführungsformen entspricht K = 3 Interactive, Streaming und Bulk. In beispielhaften Ausführungsformen kann es keine Tempo-Reduktion für Echtzeit- und Verwaltungspakete geben. Wir veranschaulichen ohne einen UT-Index, da die Tempo-Reduktion pro UT erfolgt. Lass PFk(t) und Ak(t) den Tempoangabe-Faktor und den Durchsatz zum Zeitpunkt t für die Priorität k, k = 1,..., M, M = 3 bezeichnen. Das Timing einer ACK-Rate muss nicht unbedingt mit der BBR-Überlastungssteuerung übereinstimmen. Eine kleinere Zeiteinheit kann die ACK-Verzögerung aufgrund der Tempo-Reduktion verringern. Wenn der Zeitpunkt für die BBR-Überlastungssteuerung 20 ms beträgt, kann die ACK-Tempo-Reduktion 20 ms, 10 ms, 5 ms oder dergleichen betragen. Lass Rk(t) die ACK-Tempoangabe-Frequenz sein, dann ist Rk(t) = PFk(t) · Ak(t) die tatsächliche gemittelte Durchsatzrate, nicht die Zuordnung oder die Bandbreite basierend auf dem Gewicht. Das Summieren von Ak(t) kann also die Gesamtdurchsatzrate eines UT ergeben. Das Verfahren zur Tempo-Reduktion der ACK-Rate ist nachstehend aufgeführt:
    • - Wenn RED nicht ausgelöst wird, erfolgt keine Tempo-Reduktion für die ACK-Warteschlange.
    • - Wenn RED ausgelöst wird, bewerte in jedem Zeitintervall das Volumen jeder ACK-Warteschlange im Datenvolumen, das Pakete übertragen. Das Zeitintervall ist für die ACK-Warteschlange. Rk(t) wird in diesem Zeitintervall sein.
    • - Wenn Vk ≥ Rk(t), entreihe Rk(t) von Vk . Aufrunden ist bevorzugt. Wenn Vk < Rk(t), alle ACK-Pakete aus der Warteschlange entfernen. Halte einen Timer für jedes ACK-Paket. Wenn der Timer abläuft, lassen Sie diese ACK los. Da ACKs in First In First Out (FIFO) in die Warteschlange gestellt werden, sollte der Timer-Ablauf ebenfalls FIFO sein. Ein beispielhafter Standard-Timer kann 1000 ms betragen.
  • Neuklassifizierung der Priorität für Flüsse
  • Wenn ein Flow neu klassifiziert wird, können die ACKs auch mit der Neuklassifizierung fließen. Dies bedeutet, dass sich ACKs möglicherweise in verschiedenen ACK-Warteschlangen befinden, bevor sie gesendet werden. Aufgrund möglicherweise unterschiedlicher Tempoangabe-Raten von ACK-Warteschlangen sind die ACKs möglicherweise nicht in Ordnung. ACKs, die nicht in der richtigen Reihenfolge geliefert werden, können Nebenwirkungen haben, die den Datenverkehr verlangsamen. Dieser Nebeneffekt sollte jedoch nur vorübergehend sein, da die ACKs nach der Neuklassifizierung mit einer neuen Tempo-Angabe-frequenz abgerechnet werden.
  • Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und / oder methodische Handlungen spezifisch ist, versteht es sich, dass der Gegenstand in den beigefügten Ansprüchen nicht notwendigerweise auf die oben beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden die oben beschriebenen spezifischen Merkmale und Handlungen als beispielhafte Formen der Umsetzung der Ansprüche offenbart. Andere Konfigurationen der beschriebenen Ausführungsformen sind Teil des Umfangs dieser Offenbarung. Ferner können Implementierungen, die mit dem Gegenstand dieser Offenbarung übereinstimmen, mehr oder weniger Handlungen als beschrieben aufweisen oder Handlungen in einer anderen Reihenfolge als gezeigt ausführen. Dementsprechend sollten die beigefügten Ansprüche und ihre rechtlichen Äquivalente nur die Erfindung definieren und keine spezifischen Beispiele.

Claims (20)

  1. Verfahren zum Steuern der Überlastung des einen Zwischenknoten durchquerenden Verkehrs durch eines von einem oder mehreren Benutzerterminals (UTs), wobei das Verfahren umfasst: Zuordnen eines oder mehrerer Verkehrsflüsse von einer Priorität zu einem der einen oder mehreren Benutzerterminals (UTs); Erkennen einer Verkehrsüberlastung für die Priorität; Durchführen einer Zufall-Früherkennung(RED)-Überlastungssteuerung für die Priorität zur Entlastung der Verkehrsüberlastung; Auswählen eines Benutzerterminals (UT) für die Priorität, mit einer wahrgenommenen Verzögerung, die größer als ein hoher Schwellenwert ist; und Steuern der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse durch Priorität.
  2. Verfahren nach Anspruch 1, wobei das Durchführen der Zufall-Früherkennung(RED)-Überlastungssteuerung eine Rate eines der Verkehrsflüsse, die dem ausgewählten Benutzerterminal (UT) zugeordnet sind, nicht verringert.
  3. Verfahren nach Anspruch 1, wobei mindestens einer der Verkehrsflüsse, die dem ausgewählten Benutzerterminal (UT) zugeordnet sind, einen Fluss mit Engpassbandbreite und Umlaufzeit (BBR) umfasst.
  4. Verfahren nach Anspruch 1, wobei das Steuern das Identifizieren eines BBR-Flusses aus den dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüssen und das Steuern des BBR-Flusses durch Formen oder durch Angeben von Tempo des dem BBR-Fluss zugeordneten Verkehrs umfasst.
  5. Verfahren nach Anspruch 1, ferner umfassend das Freigeben der Bestätigungen (ACKs) für die Priorität für einen nicht ausgewählten Benutzerterminal (UT).
  6. Verfahren nach Anspruch 1, ferner umfassend das Stoppen der Steuerung für die Priorität, wenn die wahrgenommene Verzögerung kleiner als ein niedriger Schwellenwert ist.
  7. Verfahren nach Anspruch 1, ferner umfassend das Wiedereintreten in die Steuerung, wenn die wahrgenommene Verzögerung für den Benutzerterminal (UT) größer als der hohe Schwellenwert ist.
  8. Verfahren nach Anspruch 1, wobei das Steuern umfasst: Berechnen eines Formungsfaktors und eines verfügbaren Durchsatzes durch Priorität für den ausgewählten Benutzerterminal UT, und Formung der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse basierend auf dem Formungsfaktor und der verfügbaren Durchsatzrate für die Priorität.
  9. Verfahren nach Anspruch 1, wobei die Steuerung ferner umfasst: Einreihen der Bestätigungspakete für die Priorität pro Benutzerterminal (UT) der einen oder mehreren Benutzerterminals (UTs), Berechnen einer Bestätigungsrate für die Priorität und eines Tempoangabe-Faktors für den ausgewählten Benutzerterminal (UT), und Senden der eingereihten Bestätigungspakete für die Priorität pro UT der einen oder mehreren Benutzerterminals (UTs) basierend auf der Bestätigungsrate für die Priorität und dem Tempoangabe-Faktor für den ausgewählten Benutzerterminal (UT).
  10. Verfahren nach Anspruch 1, wobei der Zwischenknoten einen oder mehrere der folgenden Komponenten umfasst: ein Satelliten-Gateway, eine zellulare Basisstation, ein leistungssteigernder Proxy (PEP), ein Gateway für eine Kommunikationsverbindung mit einer relativ größeren Latenz als andere Kommunikationsverbindungen in einem Netzwerk; und ein Gateway für eine Kommunikationsverbindung mit einer relativ kleineren Bandbreite als andere Kommunikationsverbindungen in einem Netzwerk.
  11. Ein Zwischenknoten zum Steuern der Überlastung des einen Zwischenknoten durchquerenden Verkehrs durch eines von mehreren Benutzerterminals (UTs), wobei der Zwischenknoten umfasst: einen Flussplaner, um einen oder mehrere Verkehrsflüsse einer Priorität einem der einen oder mehreren Benutzerterminals (UTs) zuzuordnen und eine Verkehrsüberlastung für die Priorität zu erfassen; eine Zufall-Früherkennung(RED)-Überlastungskontrolle zur Durchführung einer Überlastungskontrolle für die Priorität zur Entlastung der Verkehrsüberlastung; eine Umlaufzeit (BBR)-Überlastungssteuerung, um für die Priorität einen Benutzerterminal (UT) mit einer wahrgenommenen Verzögerung auszuwählen, die größer als ein hoher Schwellenwert ist, und ein Steuermodul zur Steuerung der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse durch Priorität.
  12. Zwischenknoten nach Anspruch 11, wobei die RED-Überlastungssteuerung eine Rate eines der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse nicht verringert.
  13. Zwischenknoten nach Anspruch 11, wobei mindestens einer der dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse einen Fluss mit Engpassbandbreite und Umlaufzeit (BBR) umfasst.
  14. Zwischenknoten nach Anspruch 11, wobei das Steuermodul einen Umlaufzeit (BBR)-Fluss identifiziert und den Umlaufzeit (BBR)-Fluss durch Formen oder durch Angeben von Tempo des mit dem BBR-Fluss verbundenen Verkehrs steuert.
  15. Zwischenknoten nach Anspruch 11, wobei das Steuermodul die Bestätigungen (ACKs) für die Priorität für einen nicht ausgewählten Benutzerterminal (UT) freigibt.
  16. Zwischenknoten nach Anspruch 11, wobei das Steuermodul die Tempo-Angabe für die Priorität stoppt, wenn die wahrgenommene Verzögerung kleiner als ein niedriger Schwellenwert ist.
  17. Zwischenknoten nach Anspruch 11, wobei das Steuermodul die Steuerung erneut betritt, wenn die wahrgenommene Verzögerung für den Benutzerterminal (UT) größer als der hohe Schwellenwert ist.
  18. Zwischenknoten nach Anspruch 11, wobei das Steuermodul: einen Formungsfaktor und einen verfügbaren Durchsatz durch Priorität für den ausgewählten Benutzerterminal (UT) berechnet, und die dem ausgewählten Benutzerterminal (UT) zugeordneten Verkehrsflüsse basierend auf dem Formungsfaktor und der verfügbaren Durchsatzrate für die Priorität formt.
  19. Zwischenknoten nach Anspruch 11, wobei das Steuermodul: Bestätigungspakete für die Priorität pro Benutzerterminal (UT) des einen oder der mehreren Benutzerterminals (UTs) einreiht; eine Bestätigungsrate für die Priorität und einen Tempoangabe-Faktor für den ausgewählten Benutzerterminal (UT) berechnet, und die eingereihten Bestätigungspakete für die Priorität pro Benutzerterminal (UT) der einen oder mehreren Benutzerterminals (UTs) basierend auf der Bestätigungsrate für die Priorität und dem Tempoangabe-Faktor für den ausgewählten Benutzerterminal (UT) sendet.
  20. Zwischenknoten nach Anspruch 11, wobei der Zwischenknoten auf einem oder mehreren der folgenden implementiert ist: ein Satelliten-Gateway, eine zellulare Basisstation, ein leistungssteigernder Proxy (PEP), ein Gateway für eine Kommunikationsverbindung mit einer relativ größeren Latenz als andere Kommunikationsverbindungen in einem Netzwerk; und ein Gateway für eine Kommunikationsverbindung mit einer relativ kleineren Bandbreite als andere Kommunikationsverbindungen in einem Netzwerk.
DE112018005429.2T 2017-11-07 2018-10-26 Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung Pending DE112018005429T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/805,989 US10735324B2 (en) 2017-11-07 2017-11-07 Bottleneck bandwidth and round-trip propagation time (BBR) congestion control with random early detection (RED)
US15/805,989 2017-11-07
PCT/US2018/057839 WO2019094211A1 (en) 2017-11-07 2018-10-26 Bottleneck bandwidth and round-trip propagation time (bbr) congestion control with random early detection (red)

Publications (1)

Publication Number Publication Date
DE112018005429T5 true DE112018005429T5 (de) 2020-08-13

Family

ID=64277878

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018005429.2T Pending DE112018005429T5 (de) 2017-11-07 2018-10-26 Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung

Country Status (4)

Country Link
US (1) US10735324B2 (de)
DE (1) DE112018005429T5 (de)
GB (1) GB2581722B (de)
WO (1) WO2019094211A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018140018A1 (en) * 2017-01-26 2018-08-02 Hitachi, Ltd. User-driven network traffic shaping
CN110290428B (zh) * 2019-06-26 2021-08-20 腾讯科技(深圳)有限公司 一种拥塞控制方法、装置、终端及存储介质
CN110365600B (zh) * 2019-07-30 2023-02-17 广州市百果园信息技术有限公司 一种基于bbr的拥塞控制方法、装置、设备和存储介质
US11271912B2 (en) * 2019-09-27 2022-03-08 Envistacom, Llc Anonymous communication over virtual, modular, and distributed satellite communications network
WO2021138157A1 (en) 2019-12-31 2021-07-08 Hughes Network Systems, Llc Traffic flow classification using machine learning
US11503615B2 (en) 2019-12-31 2022-11-15 Hughes Network Systems, Llc Bandwidth allocation using machine learning
US11483249B2 (en) * 2020-09-29 2022-10-25 Edgecast Inc. Systems and methods for dynamic optimization of network congestion control
CN114422443B (zh) * 2022-01-24 2023-08-15 西安电子科技大学 基于带宽估计和拥塞预测的卫星网络tcp拥塞控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0031535D0 (en) * 2000-12-22 2001-02-07 Nokia Networks Oy Traffic congestion
US8203956B1 (en) 2008-08-28 2012-06-19 Raytheon Bbn Technologies Corp. Method and apparatus providing a precedence drop quality of service (PDQoS)
US8705357B2 (en) * 2011-11-29 2014-04-22 Hughes Network Systems, Llc Method and system for controlling TCP traffic with random early detection and window size adjustments
US9515942B2 (en) * 2012-03-15 2016-12-06 Intel Corporation Method and system for access point congestion detection and reduction
US9088905B2 (en) * 2012-04-23 2015-07-21 Hughes Network Systems, Llc Method and apparatus for load balancing on a priority level basis over shared communications channels of a communications system
US9319329B2 (en) * 2013-10-14 2016-04-19 Google Inc. Pacing enhanced packet forwarding/switching and congestion avoidance
JP6701196B2 (ja) 2014-12-10 2020-05-27 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 通信における体感品質(QoE)の強化
EP3278500B1 (de) * 2015-03-30 2019-11-13 British Telecommunications public limited company Verarbeitung von datenposten in einem kommunikationsnetz

Also Published As

Publication number Publication date
US10735324B2 (en) 2020-08-04
GB202006912D0 (en) 2020-06-24
WO2019094211A1 (en) 2019-05-16
GB2581722A8 (en) 2020-10-07
US20190140952A1 (en) 2019-05-09
GB2581722A (en) 2020-08-26
GB2581722B (en) 2022-02-09

Similar Documents

Publication Publication Date Title
DE112018005429T5 (de) Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE60212104T2 (de) Auf Empfänger basierte Umlaufzeitmessung in TCP
DE60119780T2 (de) System und verfahren für eine übertragungsratensteuerung
DE602005002006T2 (de) Verfahren und Vorrichtung zur Ermittlung der verfügbaren Bandbreite in einem Datenpaketnetzwerk
DE60317837T2 (de) Verfahren und System zur Messung von Last und Kapazität auf einem Kanal mit variabler Kapazität
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE60211322T2 (de) Empfängerinitiierte Inkrementierung der Übertragungsrate
DE60319587T2 (de) Verfahren, system und kommunikationsknoten zum verbessern des durchsatzes auf wlan und k-dcf-protokoll
DE69535404T2 (de) Flussteuerung für echtzeit-datenströme
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE69434763T2 (de) Verfahren und Vorrichtung zur Überlastregelung in einem Kommunikationsnetzwerk
DE60217361T2 (de) Verfahren und System zur Überlastkontrolle in einem Kommunikationsnetzwerk
DE602005002158T2 (de) Lastausgleichtechnik für Verkehrstechnik zwischen Domänen
DE60021126T2 (de) Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
WO2002025821A2 (de) Verfahren zur messung von unidirektionalen übertragungseigenschaften in einem datennetz
DE60122844T2 (de) Verfahren zur Datenflussteurung in einem Kommunikationssystem
EP2847936B1 (de) Verfahren zur übertragung von daten in einem paketorientierten kommunikationsnetzwerk und entsprechend eingerichtetes teilnehmergerät an dem kommunikationsnetzwerk
DE112011105003B4 (de) Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren
DE19728469A1 (de) Verfahren und Anordnung zur Codierung digitaler Daten
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012801000

Ipc: H04L0047100000