DE102021109229A1 - Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern - Google Patents

Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern Download PDF

Info

Publication number
DE102021109229A1
DE102021109229A1 DE102021109229.9A DE102021109229A DE102021109229A1 DE 102021109229 A1 DE102021109229 A1 DE 102021109229A1 DE 102021109229 A DE102021109229 A DE 102021109229A DE 102021109229 A1 DE102021109229 A1 DE 102021109229A1
Authority
DE
Germany
Prior art keywords
rate
packets
estimation
network
abw
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
DE102021109229.9A
Other languages
English (en)
Inventor
Jean Tourrilhes
Puneet Sharma
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102021109229A1 publication Critical patent/DE102021109229A1/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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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/11Identifying 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0066Provisions for optical burst or packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0064Arbitration, scheduling or medium access control aspects

Landscapes

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

Abstract

Es werden Systeme und Verfahren zum Vorladen von Burst-Paketen für die Schätzung der verfügbaren Bandbreite (ABW) bereitgestellt, die Folgendes umfassen können: Vorbereiten eines Chirp-Zuges, der für die ABW-Schätzung verwendet werden soll, wobei der Chirp-Zug eine Menge ursprünglicher Prüfpakete umfasst; Bestimmen einer Menge zusätzlicher Prüfpakete, die den Netzwerkpfad von einem Kurzzeitmodus in einen Langzeitmodus überführen; Einfügen der bestimmten Menge zusätzlicher Prüfpakete am Anfang des Chirp-Zuges; und Übertragen des Chirp-Zuges, einschließlich der bestimmten Menge zusätzlicher Prüfpakete auf dem Netzwerkpfad, an einen Empfänger, der eine ABW-Schätzung des Netzwerkpfades durchführen kann.

Description

  • Die Messung der verfügbaren Bandbreite ist ein wesentlicher Bestandteil jeder Lösung für das Netzwerk-Traffic-Engineering, auch für SDWAN-Lösungen (Software-Defined Wide Area Network). In der Regel muss eine Traffic-Engineering-Lösung wissen, wie viel freie Kapazität auf jedem Netzwerkpfad verfügbar ist, bevor sie entscheidet, wo der Netzwerkverkehr platziert/geleitet und der Lastausgleich vorgenommen werden soll.
  • PathChirp ist eine herkömmliche Methode zur Schätzung der verfügbaren Bandbreite und eine der am weitesten verbreiteten, da es eine Open-Source-Implementierung ist. PathChirp schätzt die verfügbare Bandbreite eines Netzweges mit Hilfe des Probe-Rate-Modells (PRM). PathChirp sendet einen periodischen Probe Train. Ein Sondenzug ist eine Folge von Sondenpaketen, die in bestimmten Zeitabständen zwischen den einzelnen Sondenpaketen gesendet werden. Die Zeitintervalle zwischen den Paketen definieren eine momentane Rate, und das Netzwerk reagiert auf diese Rate, indem es entweder das Intervall weitgehend unverändert lässt oder die Pakete in größeren Abständen sendet. Bei PathChirp wird die Sondenrate über den Sondenzug erhöht, indem der Zeitabstand zwischen benachbarten Sondenpaketen verringert wird.
  • PathChirp misst die relative Einweg-Verzögerung jedes Probe-Pakets im Zug und versucht, den Wendepunkt zu finden, an dem die Verzögerung von relativ konstant zu konstant ansteigend übergeht, was auf eine Überlastung des Pfads hinweist. Die mit dem Wendepunkt verbundene Sondenrate wird als Hauptgrundlage für die Schätzung der verfügbaren Bandbreite herangezogen.
  • PathCos++ ist eine weitere herkömmliche Technik zur Schätzung der verfügbaren Bandbreite. PathCos++ schätzt die verfügbare Bandbreite eines Netzweges anhand des Probe-Rate-Modells (d.h. Selbstüberlastung). PathCos++ sendet einen periodischen Probe Train. Ein Sondenzug ist eine Folge von Sondenpaketen, die in bestimmten Zeitabständen zwischen den einzelnen Sondenpaketen gesendet werden. Das Zeitintervall zwischen zwei Paketen definiert eine momentane Rate, und das Netz reagiert auf diese Rate. In PathCos++ wird die Sondenrate über den Sondenzug verringert, indem die Zeit zwischen den Sondenpaketen erhöht wird, wodurch eine Überlastung entsteht, die dann schrittweise abgebaut wird.
  • PathCos++ misst die relative Einwegverzögerung jedes Prüfpakets im Zug und versucht, ein Paar von Paketen zu finden, die auf beiden Seiten der Überlastungsspitze eine ähnliche Einwegverzögerung aufweisen, was bedeutet, dass diese Pakete eine ähnliche Überlastung haben. Es wird versucht, das Paketpaar mit dem größten Abstand zu finden, und dann wird die durchschnittliche Empfangsrate der Prüfpakete zwischen den beiden Paketen des Paketpaares berechnet. Die durchschnittliche Empfangsrate wird als Schätzwert für die verfügbare Bandbreite verwendet.
  • Figurenliste
  • Die vorliegende Offenbarung wird in Übereinstimmung mit einer oder mehreren verschiedenen Ausführungsformen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Figuren dienen lediglich der Veranschaulichung und stellen lediglich typische oder beispielhafte Ausführungsformen dar.
    • 1 veranschaulicht eine Beispielumgebung für die aktive End-to-End-Sondierung in Übereinstimmung mit den Ausführungsformen.
    • 2 veranschaulicht einige der Parameter, die für Verzögerungsmessungen verwendet werden können.
    • 3 zeigt ein Beispiel für das Bursting des Ratenbegrenzers in Bezug auf die Empfangsrate gemäß den Ausführungsformen.
    • 4 zeigt ein Beispiel für das Bursting des Ratenbegrenzers in Bezug auf die Empfangsrate gemäß den Ausführungsformen.
    • 5 zeigt ein Beispiel für einen Chirp-Zug mit einem Burst Preload vor den ursprünglichen Sondenpaketen im Chirp-Zug gemäß den Ausführungsformen.
    • 6 zeigt ein Beispiel einer Rechnerkomponente, die verwendet werden kann, um Burst Preloading für die Schätzung der verfügbaren Bandbreite in Übereinstimmung mit verschiedenen Ausführungsformen zu implementieren.
    • 7 ist ein Beispiel für ein Computersystem, das zur Umsetzung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Ausführungsformen verwendet werden kann.
  • Die Figuren sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offenbart wird.
  • Detaillierte Beschreibung
  • Die Messung der verfügbaren Bandbreite ist ein wichtiger Bestandteil jeder Lösung für das Netzwerk-Traffic-Engineering, auch für SDWAN-Lösungen (Software-Defined Wide Area Network). In einem geschlossenen System ist es möglich, direkte Messungen an jedem der Netzwerkgeräte auf den Pfaden des Datenverkehrs vorzunehmen. In vielen Fällen ist es jedoch nicht möglich, direkte Messungen vorzunehmen, weil sich die Netzwerkgeräte beispielsweise in einem anderen Verwaltungsbereich befinden oder durch Tunneling oder Verkapselung verborgen sind. Dies ist bei SDWAN der Fall, wo das SDWAN-Gateway versucht, den Verkehr auf den besten Weg über das Internet zu leiten.
  • Wenn direkte Messungen nicht möglich sind, kann die Abschätzung der verfügbaren Bandbreite von zwei Endpunkten aus erfolgen, die für Messungen kontrolliert/genutzt werden können. Dies geschieht in der Regel durch Sondierung des Netzpfades mit speziell angefertigten Testpaketen, die von einem Ende des Pfades zum anderen Ende des Pfades gesendet werden. Die Empfängerseite misst die Empfangszeit der Pakete und die Änderungen der Paketverzögerung/des Zeitmusters, um die Pfadeigenschaften, wie die Pfadkapazität, die verfügbare Bandbreite und/oder die Bulk-Übertragungskapazität, zu schätzen.
  • PathChirp, PathCos++ und Self-Loading Decreasing Rate Train (SLDRT) sind einige der konventionellen Methoden zur Schätzung der verfügbaren Bandbreite eines Netzwerkpfads und basieren auf dem Probe Rate Model (PRM). Das PRM-Modell basiert auf der Erzeugung eines vorübergehenden Staus auf dem Netzpfad und der Messung des Anstiegs der Warteschlangenverzögerung von Probe-Paketen, um daraus zu schließen, wann der Pfad überlastet ist. Durch die Bestimmung, wann der Pfad überlastet ist und wann nicht, können diese Methoden dann eine Schätzung der verfügbaren Bandbreite (ABW) berechnen. Das PRM-Modell geht davon aus, dass der Netzpfad zustandslos und seine Kapazität unveränderlich ist. Die meisten Ratenbegrenzer verstoßen jedoch gegen diese Annahme: Sie erzwingen eine langfristige Rate, doch wenn die Verbindung nicht voll ausgelastet ist, kann ein Burst von Paketen mit einer viel höheren Rate als der langfristigen Rate gesendet werden. In den meisten Fällen verwirrt dieses Bursting die PRM-Methoden und führt zu einer Überschätzung der verfügbaren Bandbreite.
  • Netze verbinden eine Reihe von Endpunkten, zum Beispiel Clients oder Server. Viele Netze sind so aufgebaut, dass es mehrere mögliche Pfade von einem Endpunkt zum anderen gibt. Mehrere Pfade zwischen Endpunkten verbessern in der Regel die Ausfallsicherheit und können die Netzkapazität erhöhen.
  • Bei der Netzverkehrstechnik werden die Eigenschaften des Netzverkehrs sowie die Netzelemente und ihre Konnektivität untersucht, um das Netz zu entwerfen und den Verkehr auf verschiedene Pfade in diesem Netz zu leiten. Eine ordnungsgemäße Verkehrstechnik trägt dazu bei, die Leistung des Netzes zu steigern und seine Kosten zu senken.
  • Eine der einfachsten Formen der Netzverkehrstechnik besteht darin, eine primäre Verbindung zu haben und eine Ersatzverbindung hinzuzufügen, die bei einem Ausfall der primären Verbindung verwendet wird. Mehrfach verwurzelte Bäume, wie z. B. Fat Trees, sind Topologien, die viele parallele Pfade bieten. Sie wurden ausgiebig untersucht, und es wurden viele Ansätze für den Lastausgleich von Paketen in solchen Topologien vorgeschlagen. Das Internet ist ein komplexeres Netz, das über viele Entitäten und Verwaltungsbereiche verteilt ist, und daher ist das Traffic Engineering viel komplexer. Im Internet führt in der Regel jede Einheit eine recht fortschrittliche Verkehrstechnik innerhalb ihres eigenen Bereichs durch, und die bereichsübergreifenden Interaktionen werden über das Border Gateway Protocol (BGP) Routing verwaltet, das nur eine recht grobe Verkehrstechnik ermöglicht.
  • Die meisten Techniken für das Traffic Engineering bestehen aus drei Teilen. Der erste Teil ist die Messung, bei der einige Attribute des Verkehrs und/oder des Netzes gemessen werden. Der zweite Teil ist die Optimierung, bei der eine optimale Verteilung des Verkehrs berechnet wird. Der dritte Teil ist die Steuerung, bei der das Netz neu konfiguriert wird, um die gewünschte Verkehrsverteilung zu erreichen.
  • Die hier offengelegten Ausführungsformen umfassen Systeme und Verfahren, die eine Schätzung der verfügbaren Bandbreite in einem viel kürzeren Zeitrahmen liefern, als solche Schätzungen mit herkömmlichen Techniken möglich sind. Die Ausführungsformen können so konfiguriert werden, dass der Ratenbegrenzer vorbelastet wird, um den Ratenbegrenzer in seinen Langzeitmodus zu zwingen. Dadurch wird die Überschätzung der ABW aufgrund von Ratenbegrenzer-Bursts reduziert und die Genauigkeit der ABW-Schätzung verbessert.
  • Um den Ratenbegrenzer vorzuladen, kann das System so konfiguriert werden, dass zusätzliche Pakete vor dem Chirp-Zug eingespeist werden, die von der ABW-Schätzung im Empfänger verwendet werden können. Dies kann mit einer minimalen Erhöhung der Größe des eigentlichen Chirp-Zuges erfolgen. Diese vorgeladenen Pakete werden verwendet, um den Ratenbegrenzer in seinen Langzeitzustand zu versetzen, und können für die ABW-Schätzung verwendet werden.
  • Die Ausführungsformen können eine Verbesserung gegenüber herkömmlichen Lösungen darstellen, da sie so konfiguriert werden können, dass sie die Überschätzung des ABW verringern, wenn der Netzwerkpfad Kapazitätsschwankungen aufgrund von Ratenbegrenzer-Bursting, einem Traffic Policer oder einem Traffic Shaper aufweist. In verschiedenen Aspekten wird die ABW-Schätzung nicht mehr durch das kurzfristige Verhalten des Netzweges beeinflusst und basiert stattdessen auf dem langfristigen Verhalten des Netzweges.
  • Die Ausführungsformen können in verschiedenen Netzanwendungen implementiert werden, unter anderem in oder Defined Networking (SDN) und in SDWAN-Netzen.
  • SDN ist ein Ansatz für die Verwaltung von Netzwerken. SDN definiert APIs, die es ermöglichen, den Datenpfad (Paketweiterleitung) und die Steuerungsebene (Protokollintelligenz) von Netzelementen zu entkoppeln. Mit anderen Worten: Ein Netzwerk-Controller, eine Einheit außerhalb des Netzwerkelements, kann eine feinkörnige Kontrolle und Sichtbarkeit über dieses Netzwerkelement haben. Dies kann vom Netzcontroller genutzt werden, um die Richtlinien der Netzelemente dynamisch zu ändern oder um die Steuerungsebene und die Entscheidungsfindung des Netzes zu zentralisieren.
  • Der SDN-Ansatz eignet sich auch sehr gut für das Network Traffic Engineering. Die SDN-APIs definieren in der Regel sowohl die Messung als auch die Steuerung, was es dem Netzwerk-Controller ermöglicht, das Netzwerk zu messen und eine Verteilung des Datenverkehrs zu diktieren.
  • Eine der Einschränkungen von SDN besteht darin, dass es eine enge Kopplung zwischen dem Netzwerk-Controller und den Netzwerkelementen voraussetzt. Dies kann bei kleinen bis mittleren Netzen funktionieren, lässt sich aber in der Regel nicht auf größere Netze übertragen. Die Effizienz des SDN-Ansatzes wird auch beeinträchtigt, wenn das Netzwerk zwischen dem Netzwerk-Controller und den Netzwerkelementen eine begrenzte Leistung aufweist (geringe Bandbreite oder hohe Latenz). Darüber hinaus erlaubt der SDN-Ansatz in der Regel keine Überschreitung von Verwaltungsbereichsgrenzen, da die verschiedenen Einheiten nur auf kontrollierte und begrenzte Interaktionen untereinander vertrauen können.
  • Die meisten Unternehmen sind über mehrere physische Standorte verteilt. Folglich besteht ihr Netz in der Regel aus einer Reihe von Local Area Networks (LANs), die die lokalen Standorte des Unternehmens unterstützen, und einer Reihe von Wide Area Network (WAN)-Links, die diese lokalen Netze miteinander verbinden.
  • Eine große Bank oder ein Einzelhändler kann zum Beispiel mehrere Standorte und Filialen haben. Jeder Standort oder jede Filiale verfügt über eine Reihe von LANs. In einer herkömmlichen Konfiguration sind alle Filialen und Standorte über dedizierte WAN-Verbindungen (in der Regel MPLS) mit einigen wenigen zentralen Standorten verbunden, und die wenigen zentralen Standorte sind über einige WAN-Verbindungen mit dem Internet verbunden. Diese dedizierten WAN-Verbindungen werden von Telekommunikationsunternehmen zur Verfügung gestellt, sie bieten eine hohe Verfügbarkeit und eine garantierte Dienstqualität, sind aber mit hohen Kosten verbunden.
  • SDWAN schlägt vor, SDN-Prinzipien für die Verwaltung der WAN-Konnektivität zu verwenden. Dies kann eine zentralisierte Sichtbarkeit und Kontrolle über die WAN-Konnektivität des Unternehmens bieten. Ein weiteres Ziel kann die Senkung der Kosten für WAN-Konnektivität sein. Eine Möglichkeit zur Kostensenkung durch SD-WAN besteht darin, diese dedizierten WAN-Verbindungen durch Tunnel über das Internet zu ersetzen. In diesem Fall verfügt jede Zweigstelle und jeder Standort über WAN-Links, die mit dem Internet verbunden sind, wobei in der Regel eine billige WAN-Technologie wie DSL, CableModem oder Wireless 3G verwendet wird. Ein spezielles SD-WAN-Gateway in jeder Zweigstelle und jedem Standort erstellt private Tunnel (VPN), um eine sichere Verbindung zu anderen Zweigstellen und Standorten über die WAN-Verbindungen und das Internet herzustellen.
  • Die Ersetzung der dedizierten WAN-Verbindungen ermöglicht zwar eine Senkung der Kosten für die WAN-Konnektivität, doch bieten die Consumer-WAN-Technologie und das Internet in der Regel nicht die gleichen Garantien für hohe Verfügbarkeit und Dienstqualität wie die alten dedizierten WAN-Verbindungen. Bei SD-WAN-Lösungen wird dieses Problem in der Regel dadurch gelöst, dass das SD-WAN-Gateway in jeder Niederlassung und an jedem Standort über mehrere WAN-Verbindungen zum Internet verfügt. Das SD-WAN-Gateway implementiert die Tunnelübergabe, es erstellt parallele Tunnel über das Internet unter Verwendung jeder WAN-Verbindung und verwendet dann das Netzwerk-Traffic-Engineering, um den Datenverkehr an den am besten geeigneten Internet-Tunnel zu leiten, mit dem Ziel, die verfügbare Netzwerkkapazität optimal zu nutzen.
  • Wenn das SD-WAN-Gateway beispielsweise feststellt, dass eine WAN-Verbindung ausgefallen ist, leitet es den Datenverkehr von dieser WAN-Verbindung weg zu einem Tunnel, der diese bestimmte WAN-Verbindung nicht nutzt.
  • Das SD-WAN-Gateway kann ein erweitertes Traffic Engineering durchführen. So kann es beispielsweise die Leistung jedes Internet-Tunnels in Bezug auf Latenz und Durchsatz überwachen und dann den Datenverkehr ausbalancieren oder jeden Verkehrstyp dem für diesen Verkehr am besten geeigneten Internet-Tunnel zuordnen. Eine Schlüsselkomponente eines solchen Traffic-Engineerings ist die Möglichkeit, die Leistung der einzelnen Internettunnel zu messen. Jeder Tunnel definiert einen Netzwerkpfad durch das Internet, wobei die getunnelten Pakete von einer Reihe von Netzwerkelementen verarbeitet werden. Der von einem Tunnel genutzte Netzwerkpfad (außerhalb des Tunnels) und der Netzwerkpfad innerhalb eines Tunnels sind logisch unterschiedlich (sie haben unterschiedliche Adressen), aber diese beiden Netzwerkpfade gehen durch dieselben Netzwerkelemente, sie haben in den meisten Fällen fast die gleiche Leistung und ihre Leistungsmerkmale sind stark korreliert. Daher kann die Leistung eines Internet-Tunnels gemessen werden, indem der Netzwerkpfad außerhalb oder innerhalb des Tunnels gemessen wird, und für diese Erfindung betrachten wir sie als denselben Netzwerkpfad.
  • Eine direkte Messung oder ein SDN-Ansatz kann für diese Netzpfade nicht verwendet werden, da sich die große Mehrheit der Netzelemente eines Internetpfads in verschiedenen Verwaltungsbereichen befindet (die verschiedenen ISP auf dem Pfad) und es sehr schwierig wäre, die vollständige Liste all dieser Elemente (die in den meisten Fällen dynamisch ist) und den administrativen Zugang zu ihnen zu erhalten.
  • Aus diesen Gründen erfolgt die Pfadmessung über Ende-zu-Ende-Netzpfadschätzungstechniken, indem Prüfpakete von einem Ende zum anderen gesendet werden. veranschaulicht eine Beispielumgebung für die aktive Ende-zu-Ende-Sondierung in Übereinstimmung mit Ausführungsformen.
  • Wie in dargestellt, erzeugt in diesem Beispiel ein Sendeknoten 102 einen aus Prüfpaketen bestehenden Prüfzug 104 und sendet die Prüfpakete bei 106 über einen Netzpfad 108 an einen Empfänger 110. Der Empfänger 110 empfängt die Prüfpakete bei 112 und verwendet die empfangenen Prüfpakete bei 114, um die verfügbare Bandbreite zu schätzen. In verschiedenen Ausführungsformen werden die Sondenpakete nur zur Schätzung der verfügbaren Bandbreite verwendet und enthalten keine tatsächlichen Daten, die über die für die Schätzung des Netzwerkpfads selbst erforderlichen Daten hinausgehen.
  • Die Messung der verfügbaren Bandbreite ist in der Regel eine wichtige Komponente der Netzverkehrstechnik. Es gibt viele Fälle, in denen eine direkte Messung von Netzelementen nicht möglich ist, da sie sich in der Regel in einem anderen Verwaltungsbereich befinden. In diesen Fällen ist es in der Regel möglich, stattdessen eine Schätzung der verfügbaren End-to-End-Bandbreite vorzunehmen. Die Netzverkehrstechnik kann andere Eigenschaften des Netzweges nutzen. Auch diese Eigenschaften können nicht direkt gemessen werden, so dass eine zusätzliche Schätzung des Netzweges vorgenommen werden muss.
  • Es ist auch möglich, passive Messungen durchzuführen, indem entweder nur die Verzögerungen gemessen werden, die durch die auf dem Netzpfad übertragenen Daten entstehen, oder indem diese Daten so moduliert werden, dass sie bestimmte Eigenschaften aufweisen. Eine weitere Variante ist die Single-Ended-Messung, bei der die Messpakete auf irgendeine Weise zum Absender zurückreflektiert werden.
  • Verschiedene Techniken können unterschiedliche Eigenschaften des Netzweges abschätzen. Die Bandbreitenschätzung ist eine Untergruppe der Netzpfadschätzung. Die Trassenkapazität ist die maximale Verkehrsbandbreite, die gesendet werden kann, wenn der Netzpfad im Leerlauf ist, d. h. ohne konkurrierenden Verkehr. Die verfügbare Bandbreite (ABW) ist die verbleibende/restliche Trassenkapazität, d. h. die Kapazität, die derzeit nicht von anderem Verkehr genutzt wird. Bulk Transfer Capacity (BTC) ist die Bandbreite, die eine TCP-Verbindung erhalten würde, wenn sie auf diesem Netzwerkpfad platziert würde. Latenz ist die Verzögerung in einer Richtung vom Sender zum Empfänger, und die Round Trip Time (RTT) ist die Verzögerung in beiden Richtungen.
  • Bei der aktiven Sondierung sendet der Absender eine Reihe von speziell gestalteten Sondierungspaketmustern. Das Paketmuster wird durch das Schätzverfahren definiert und soll bei den Netzelementen auf dem Netzpfad bestimmte Verhaltensweisen auslösen. In vielen Fällen handelt es sich bei dem Paketmuster beispielsweise um einen Probe-Train, wobei die Pakete und die Intervalle zwischen den Paketen dazu dienen, verschiedene Bandbreiten innerhalb des Paketmusters zu testen. Der Empfänger misst die Empfangszeit der Pakete, kann die Einwegverzögerung jedes Pakets berechnen (d. h. die Zeit, die ein Paket benötigt, um vom Sendergerät zum Empfängergerät zu gelangen) und die Änderungen im Paketmuster untersuchen. Bei der Schätzungstechnik wird ein vereinfachtes Netzmodell verwendet, um diese Messungen in Schätzungen der verschiedenen Netzpfadeigenschaften umzuwandeln.
  • Es gibt zwei Hauptklassen von Verfahren zur Bandbreitenschätzung: solche, die ein Probelückenmodell verwenden, und solche, die das Proberatenmodell nutzen. Beim Sondierungslückenmodell wird davon ausgegangen, dass die Lücke zwischen zwei dicht beieinander liegenden Paketen aufgrund der Warteschlangenverzögerung in der am stärksten belasteten Warteschlange proportional zur Belastung dieser Warteschlange zunimmt. Beim Sondierungsratenmodell wird davon ausgegangen, dass das Verkehrsmuster weitgehend unverändert bleibt, wenn Pakete mit einer geringeren Rate als der Engpassbandbreite gesendet werden, während Pakete, die mit einer höheren Rate als der Engpassbandbreite gesendet werden, aufgrund von Überlastung eine zusätzliche Verzögerung in der Warteschlange erfahren.
  • In der Praxis lassen die vorgenannten Techniken im Allgemeinen Rückschlüsse auf die Überlastung des Netzes zu, indem sie die Schwankungen der Warteschlangenverzögerung abschätzen, die die Pakete an den verschiedenen Netzelementen im Netzpfad erfahren. Die Warteschlangenverzögerung ist eine der Komponenten der Einwegverzögerung von Paketen auf dem Netzpfad. Diese Techniken vergleichen die Einwegverzögerung verschiedener Probe-Pakete, um die Schwankungen der Wartezeit zu schätzen. Mit dem Probe-Gap-Modell können beispielsweise zwei Pakete in einem bekannten Sendeintervall gesendet werden. Das gemessene Empfangsintervall wird als die Summe aus dem Sendeintervall und der Differenz der Wartezeit zwischen den Paketen angenommen.
  • veranschaulicht einige der Parameter, die für Verzögerungsmessungen verwendet werden können. In dem Beispiel von sendet ein Sendeknoten 152 eine Vielzahl von Paketen P.1, P.2, P.3 an einen Empfangsknoten 154. Die Übertragung kann durch eine Vielzahl von Zeitmerkmalen, IDT, OWD und IAT, charakterisiert werden. Diese werden nun beschrieben.
  • Die überwiegende Mehrheit der Verfahren zur Schätzung des Netzweges muss Pakete in einer sehr kontrollierten Weise senden, damit die Überlastung genau untersucht werden kann. Im Allgemeinen versuchen die Verfahren, ein bestimmtes Muster von Paketen mit bestimmten Zeitabständen zwischen den Paketen zu erzeugen. Das Intervall zwischen den Paketen definiert eine momentane Rate, die geprüft wird, und der Netzwerkpfad reagiert auf diese geprüfte Rate. Für jedes Paket ist die Inter Departure Time (IDT) die Zeit, die zwischen dem Senden des vorherigen Pakets und dem Senden des aktuellen Pakets vergeht. Die IDT kann aus der gewünschten Sondierungsrate errechnet werden: IDT = Packet Size/Probed Rate
    Figure DE102021109229A1_0001
  • Im Fall von PathCos++ und SLDRT nimmt die IDT von Paketen exponentiell zu, was bedeutet, dass jedes Paketintervall exponentiell abnehmende Sondierungsraten aufweist.
  • Der Absender kann beim Senden von Paketen nur selten, wenn überhaupt, ganz genau sein, so dass die tatsächliche IDT des Pakets von der gewünschten/theoretischen IDT abweichen kann. Es ist möglich, die meisten Techniken zu modifizieren, um die tatsächliche IDT zu messen.
  • Die Ausführungsformen können entweder unter Verwendung des gewünschten IDT oder des tatsächlichen IDT implementiert werden, wobei jedoch im Allgemeinen zu erwarten ist, dass mit dem tatsächlichen IDT bessere Ergebnisse erzielt werden.
  • Schätzverfahren messen im Allgemeinen, wann Pakete empfangen werden. Für jedes Paket kann die Inter Arrival Time (IAT) als die Zeitspanne zwischen dem Empfang des vorherigen Pakets und dem Empfang dieses Pakets definiert werden. Anhand der IAT kann die momentane Empfangsrate pro Paket wie folgt berechnet werden: Empfangs Rate = Paketgr o ¨ ße/IAT
    Figure DE102021109229A1_0002
    Die Gesamt-IAT (olAT) ist die Differenz der Empfangszeit zwischen zwei nicht aneinander grenzenden/aufeinanderfolgenden Paketen.
  • Die Einwegverzögerung (One Way Delay, OWD) ist die Zeitdifferenz zwischen dem Zeitpunkt, zu dem das Paket gesendet wurde (Sendezeit) und dem Zeitpunkt, zu dem es empfangen wurde (Empfangszeit). Herkömmliche Verfahren vergleichen im Allgemeinen die OWD mehrerer Pakete. Die Einwegverzögerung eines Pakets wird im Allgemeinen durch die Ausbreitungsverzögerung des Netzwerkpfads, die Übertragungszeit der langsamsten Verbindung des Pfads und die kumulierte Warteschlangenverzögerung in allen Netzwerkelementen des Pfads bestimmt. Für jedes Paket kann die OWD wie folgt charakterisiert werden: OWD ( i ) = pd + st ( Gr o ¨ ße ) + sum ( qd ( e , i ) )
    Figure DE102021109229A1_0003
    Mit:
    • pd -> Gesamtausbreitungsverzögerung
    • st(size) -> langsamste Übertragungszeit für diese Paketgröße
    • qd(e,i) -> Warteschlangenverzögerung am Element e für Paket i
  • Herkömmliche Netzpfad-Schätzverfahren gehen von einem recht einfachen Warteschlangenmodell aus, bei dem qd(e,i) eine Funktion der Überlastung des Elements e ist, wenn das Paket i ankommt. Der Sender und der Empfänger verwenden unterschiedliche Uhren, um den Abgang und die Ankunft von Paketen zu messen, und diese Uhren sind möglicherweise nicht perfekt synchronisiert. Daher ist es im Allgemeinen eine Herausforderung, die OWD von Paketen genau zu messen. Glücklicherweise spielt in den meisten Fällen die absolute OWD eines Pakets keine Rolle, sondern nur die Differenz zwischen den OWDs verschiedener Pakete. Während der kurzen Zeit eines Sondenzuges ist die Taktdrift vernachlässigbar, so dass die Differenz zwischen den OWDs genau genug sein kann.
  • In verschiedenen Ausführungsformen von PathCos++ kann sich das System nicht auf die absolute OWD verlassen, sondern stattdessen eine relative OWD verwenden. In solchen Ausführungsformen ist die von PathCos++ verwendete relative OWD für jedes Paket die gemessene OWD dieses Pakets abzüglich der OWD des ersten Pakets. Diese relative OWD schätzt die zusätzliche Warteschlangenverzögerung eines Pakets (im Vergleich zum ersten Paket) und kann negativ sein.
  • Wenn es keine Paketverluste und keine Umordnung der Pakete gibt, können die Pakete in der gleichen Reihenfolge gesendet und empfangen werden. In diesem Fall sind IAT, IDT und OWD der einzelnen Pakete direkt miteinander verbunden. Wenn OWDp die Einwegverzögerung des vorherigen Pakets und OWDc die Einwegverzögerung des aktuellen Pakets ist, kann die IAT wie folgt angegeben werden: IAT = OWDc OWDp + IDT
    Figure DE102021109229A1_0004
  • PathChirp stützt sich auf den so genannten Excursion Detection Algorithm (EDA). Der EDA erkennt einen Wendepunkt, d. h. einen Punkt, an dem der Netzpfad vollständig überlastet ist. Die EDA findet auch Perioden vorübergehender Überlastung in dem Teil des Probezuges vor dem Wendepunkt. Das Konzept der EDA besteht darin, dass ein Anstieg der OWD im Sondenzug in der Regel auf eine zunehmende Überlastung des Netzweges hinweist. Die EDA nutzt diese OWD-Anstiege, um sowohl vorübergehende als auch vollständige Überlastungen zu erkennen.
  • Im Betrieb analysiert die EDA die relative OWD von Paketen und vergleicht die OWD eines Pakets mit der OWD des vorherigen Pakets. Wenn die OWD eines Pakets größer ist als die OWD des vorherigen Pakets, markiert die EDA dieses Paket als den potenziellen Beginn einer Exkursion. Im weiteren Verlauf des Sondenzugs versucht die EDA, ein Paket zu finden, dessen OWD ausreichend niedriger ist als die OWD des Pakets zu Beginn der Exkursion. Wenn ein solches Paket gefunden wird, wird es als Ende der potenziellen Exkursion markiert. Anschließend filtert die EDA diese potenziellen Ausreißer heraus. Wird eine potenzielle Abweichung als zu klein erachtet, wird sie ignoriert. Ist sie groß genug, wird die mit den Paketen in der Exkursion verbundene Sondierungsrate für die Berechnung der verfügbaren Bandbreite verwendet.
  • Wenn kein Ende der Auslenkung gefunden wird, d. h. die OWD nie ausreichend abnimmt, wird der Beginn dieser letzten Auslenkung als Wendepunkt verwendet. Die zu dem Paket am Wendepunkt gehörende ermittelte Rate ist die Hauptgrundlage für die Berechnung der verfügbaren Bandbreite.
  • PathCos++ und SLDRT hingegen verwenden den Bump Detection Algorithm (BDA), um ein Paar von Paketen mit ähnlicher Überlastung auf beiden Seiten der Überlastungsspitze auszuwählen. Das ausgewählte Paketpaar wird dann zur Schätzung der verfügbaren Bandbreite verwendet, weshalb die Qualität der Schätzung der verfügbaren Bandbreite nur so gut ist wie die Auswahl dieser Pakete durch den BDA.
  • Der Sondenzug hat eine abnehmende Rate, d. h. er führt zunächst zu einer Überlastung des Netzweges (Rate höher als der Engpass) und dann zu einer Entlastung dieses Netzweges (Rate niedriger als der Engpass). Das bedeutet, dass die OWD der Pakete im gesamten Sondenzug zunächst ansteigt (Überlastung) und dann abfällt (Entlastung). Ein großer Anstieg der OWD stellt den Zeitpunkt der maximalen Überlastung dar, und Pakete mit ähnlicher OWD sollten eine ähnliche Überlastung erfahren haben (ähnlicher Umfang der Warteschlangen).
  • Die BDA wählt Pakete aus, die zur gleichen Überlastungszeit gehören. Wenn sie nicht zum gleichen Überlastungszeitraum gehören, bedeutet dies, dass zwischen diesen beiden Paketen eine gewisse Leerlaufzeit liegt, und in diesem Fall kann nicht viel gesagt werden, abgesehen davon, dass die Paketrate niedriger ist als die verfügbare Bandbreite. Wenn zwei Pakete zum gleichen Überlastungszeitraum gehören und eine ähnliche Überlastung aufweisen, trägt die Gesamtrate der Sonden zwischen diesen beiden Paketen relativ neutral zur Überlastung bei, was bedeutet, dass die Gesamtrate der Sonden nahe an der verfügbaren Bandbreite liegt.
  • Normalerweise besteht der Staubereich aus vielen Paketen, und es gibt viele Pakete, die eine ähnliche OWD haben. Die BDA kann Pakete auswählen, die sich weiter oben im Bump befinden (Pakete mit höherer OWD) oder weiter unten im Bump (Pakete mit niedrigerer OWD). Wenn die BDA Pakete auswählt, die sich weiter unten im Bump befinden und deren OWD in der Nähe des Wertes für nicht überlastete Pakete liegt, kann sie nicht zwischen überlasteten und nicht überlasteten Paketen unterscheiden und geht das Risiko ein, dass die ausgewählten Pakete nicht in dergleichen Überlastungsperiode liegen.
  • Umgekehrt kann es problematisch sein, Pakete auszuwählen, die weiter oben im Stau stehen. Die Annahme, dass Pakete mit ähnlichem OWD eine ähnliche Überlastung erfahren haben sollten, gilt nur zu Beginn der Überlastung und bei sehr niedrigen Überlastungsgraden. Einige Engpässe mit Querverkehr verhalten sich bei Überlastung und Entlastung nicht symmetrisch, und in diesen Fällen, bei mittlerer bis hoher Überlastung, haben Pakete mit ähnlicher OWD keine ähnliche Überlastung erfahren. Um Probleme mit der Granularität der OWD zu vermeiden und eine bessere Mittelung über die Zeit zu erhalten, kann es außerdem besser sein, ein Paar von Paketen zu wählen, das so weit wie möglich entfernt ist, was einem niedrigeren Wert im Stau entspricht.
  • PathCos++ und SLDRT verwenden für ihre BDA unterschiedliche Strategien. PathCos++ versucht, das am weitesten auseinander liegende Paar von Punkten mit ähnlicher OWD auf beiden Seiten der Bodenwelle zu finden. Die Annahme ist, dass eine ähnliche OWD eine ähnliche Überlastung anzeigt. Andererseits verwendet SLDRT das erste Paket des Zuges als erstes Paket des Paares. Er misst dann die minimale OWD minOWD und definiert einen Schwellenwert thrOWD = minOWD + 100us. SLDRT wählt für das zweite Paket des Paares das Paket aus, das unmittelbar vor dem ersten Paket unterhalb des Schwellenwertes liegt.
  • Andere Methoden zur Bandbreitenschätzung können andere Algorithmen verwenden. Die beliebteste PRM-Methode, die keine EDA oder BDA verwendet, ist PathLoad. Für jede zu prüfende Rate sendet PathLoad eine Sequenz von Paketen mit dieser Rate. Wenn die Paketsequenz empfangen wird, misst PathLoad die IAT der Pakete. Wenn die IAT meist gleich der IDT ist, geht PathLoad davon aus, dass keine Überlastung vorliegt. Wenn die IAT erhöht ist, geht PathLoad davon aus, dass ein Stau aufgetreten ist. PathLoad verwendet diese Information dann, um eine Schätzung der verfügbaren Bandbreite zu berechnen.
  • Es gibt noch weitere, von PathLoad abgeleitete Methoden, deren Hauptmerkmale darin bestehen, dass sie Chirp-Trains mit fester Rate verwenden und Netzverzögerungen mit dem IAT anstelle des OWD messen.
  • Ein Anstieg der OWD im Sondenzug deutet theoretisch auf eine erhöhte Überlastung hin, in der Realität sind die OWD-Messungen jedoch stark verrauscht. Dieses Rauschen ist auf die Unvollkommenheit und das nicht-ideale Verhalten der verschiedenen Netzwerkelemente und andere Einschränkungen bei der Paketplanung zurückzuführen. Dieses Rauschen in den OWD-Werten wirkt sich direkt auf den BDA-Algorithmus aus. Verrauschte OWD-Werte können dazu führen, dass der BDA-Algorithmus zwei Pakete mit ähnlichen OWD-Werten auswählt, die in Wirklichkeit nicht den gleichen Grad an Überlastung erfahren haben, oder Pakete, die nicht zum gleichen Überlastungszeitraum gehören. Dies kann zu einer fehlerhaften Schätzung der verfügbaren Bandbreite führen.
  • Die Tests zeigen, dass die BDAs von PathCos++ und SLDRT Probleme mit typischen OWDs haben, die auf gemeinsamen Netzwerkpfaden gemessen werden. Bei einer Ethernet-Verbindung im Leerlauf, die den besten Fall darstellt, hat die BDA beispielsweise eine ziemlich hohe Fehlerquote. Außerdem unterschätzen PathCos++ und SLDRT häufig die verfügbare Bandbreite, und zu oft sind die ausgewählten Paketpaare nicht Teil derselben überlasteten Periode.
  • Eine große Quelle für Messrauschen ist die Paketstapelung. Paketstapelung liegt vor, wenn Pakete in einer Warteschlange nicht einzeln, sondern als Gruppe verarbeitet werden. Diese Paketstapelung kann die Einwegverzögerung von Paketen drastisch beeinflussen. Die früheren Pakete der Gruppe müssen warten, bis die Gruppe verarbeitet ist, und ihre OWD wird künstlich erhöht, während die letzten Pakete der Gruppe weniger warten müssen und eine niedrigere OWD haben. Dies kann zu Sägezahnmustern in der gemessenen OWD führen. Oft ist die Stärke des Sägezahnmusters nahe am Effekt der Überlastung und ist viel größer als jedes andere OWD-Rauschen.
  • Es können Lösungen implementiert werden, um eine häufige Ursache für das Stapeln von Paketen zu beseitigen, die die Koaleszenz in der Netzwerkschnittstellenkarte (NIC) des Empfängers unterbrechen könnte. Die Lösung kann auf mehreren Paketen pro Sonde basieren. Ein Sondenzug besteht aus einer Reihe von Sonden, wobei jede Sonde eine bestimmte Rate auf dem Netzwerkpfad prüft. Wenn die Abschwächung aktiviert ist, sendet der Absender mehrere Pakete für jede Probe anstelle eines einzelnen Pakets pro Probe. Alle Pakete einer Probe werden mit der gleichen Rate gesendet und haben daher die gleiche IDT. Der Empfänger filtert die Pakete und wählt für jede Prüfung nur ein einziges Paket aus, nämlich das Paket, das schätzungsweise am wenigsten unter der Paketstapelung gelitten hat. Die BDA wird nur für die ausgewählten Pakete durchgeführt, nicht für alle empfangenen Pakete. Dadurch werden die Pakete am unteren Ende des Sägezahns herausgefiltert. In den meisten Fällen wird dadurch das OWD-Rauschen stark reduziert, allerdings wird dadurch nicht das gesamte OWD-Rauschen aufgrund von Paketstapelung entfernt.
  • Die Definition von IDT und IAT eines Pakets bezieht sich auf das vorhergehende Paket im Probe Train. Wenn jedoch die Mitigation des Paketstapelns aktiviert ist, ist dieses Paket wahrscheinlich nicht Teil der ausgewählten Pakete. Für jedes ausgewählte Paket kann eine Selected Inter Departure Time (sIDT) als die Zeitspanne zwischen dem Senden des vorherigen ausgewählten Pakets und dem Senden dieses Pakets definiert werden. Wir definieren die Selected Inter Arrival Time (slAT) als die Zeitspanne zwischen dem Empfang des ausgewählten vorherigen Pakets und dem Empfang dieses Pakets. Wenn es keine Neuordnung der Pakete gibt, sind sIAT, sIDT und OWD der einzelnen ausgewählten Pakete direkt miteinander verbunden. Wenn OWDps die Einwegverzögerung des vorherigen ausgewählten Pakets und OWDcs die Einwegverzögerung des aktuellen Pakets ist, ergibt sich die folgende Formel: sIAT = OWDcs OWDps + sIDT
    Figure DE102021109229A1_0005
  • Ratenbegrenzer können eingesetzt werden, um sicherzustellen, dass der Verkehr eine bestimmte Rate einhält, um die Einhaltung einer vertraglichen Vereinbarung zu gewährleisten oder um die Stoßhaftigkeit des Verkehrs auszugleichen. Ein Ratenbegrenzer versucht, eine langfristige Rate für den ihn durchlaufenden Verkehr durchzusetzen, die auch als Zielrate oder verbindliche Rate bezeichnet wird. Der Verkehr ist jedoch sowohl diskret (Pakete können nicht aufgeteilt werden) als auch stoßweise, so dass der Ratenbegrenzer einen Mechanismus zur Durchsetzung von Durchschnittswerten benötigt. Dies kann mit einem Token-Bucket (auch als Leaky Bucket bezeichnet) erreicht werden.
  • Der Token-Bucket ist ein Behälter für virtuelle Guthaben, die benötigt werden, um ein Paket über den Netzwerkpfad zu senden. Für jedes Paket, das weitergeleitet werden soll, muss ein Token im Eimer vorhanden sein. Jedes Mal, wenn ein Paket weitergeleitet wird, wird ein Token aus dem Bucket entfernt. Ist der Bucket leer, können keine Token mehr entnommen werden, so dass Pakete nicht weitergeleitet werden können, bis die Token wieder aufgefüllt sind. Ist der Eimer leer, wird das Paket entweder verworfen oder für eine spätere Übertragung in die Warteschlange gestellt. Der Token-Eimer wird mit einer konstanten Rate, die der gewünschten Zielrate entspricht, mit Token aufgefüllt. Der Eimer hat eine maximale Kapazität, und wenn er voll ist, können keine neuen Token mehr hinzugefügt werden. Die Größe des Eimers wird als Burst-Größe bezeichnet und spiegelt die zulässige Burst-Größe wider. Der Token-Bucket glättet und mittelt momentane Schwankungen im Eingangsverkehr.
  • Ein Token-Bucket kann zu Schwankungen in der momentanen Ausgaberate führen. Wenn die Eingangsverkehrsrate eine Zeit lang unter der Zielrate lag, wird der Eimer voll. Wenn neuer Verkehr am Ratenbegrenzer ankommt, ist seine Ausgaberate nicht eingeschränkt, solange Token im Bucket verfügbar sind, und dieser Burst von Paketen kann eine viel höhere Rate als die Zielrate haben. Diese höhere Rate wird als Burst-Rate bezeichnet. Nur wenn der Bucket leer ist, wird die Zielrate für den Datenverkehr erzwungen, da dann die Datenverkehrsrate die Rate der Tokenauffüllung nicht übersteigen kann.
  • zeigt ein Beispiel für das Bursting des Ratenbegrenzers in Bezug auf die Empfangsrate gemäß den Ausführungsformen. Zeile 202 zeigt einen gleitenden Durchschnitt der Empfangsrate. Zeile 204 zeigt eine Sonden-Senderate und Zeile 206 zeigt eine Zug-Senderate. Das ABW wird durch die gestrichelte Linie bei 208 dargestellt und beträgt in diesem Beispiel 200 Mb pro Sekunde. In diesem Beispiel kann der gleitende Durchschnitt der Empfangsrate 202 als Kehrwert der IAT berechnet werden. Die Sonden-Senderate 204 kann als IDT berechnet werden und gibt an, wie schnell Pakete gesendet werden. Die Zug-Senderate 206 misst die Rate ab dem Beginn des Zuges, im Gegensatz zu einer Sondenrate, die sie ab der vorherigen Sonde misst. Aus diesem Grund nimmt die Zugrate langsamer ab als die Sondenzugrate 204.
  • Zu Beginn ist der Token-Korb voll, so dass die Rate während dieses Zeitraums hoch und instabil sein kann (und in diesem Beispiel auch ist); der gleitende Durchschnitt der empfangenen Rate 202 weist große Schwankungen über ABW 208 auf. Sobald der Token-Behälter bei etwa Index 150 erschöpft ist, können keine neuen Pakete mehr gesendet werden, bis ein neues Token empfangen wird. Dementsprechend pendelt sich der gleitende Durchschnitt der Empfangsrate auf die ABW-Rate ein, die von der Token-Auffüllrate bestimmt wird. Dies kann als langfristige Rate bezeichnet werden und wird bei einem Paketindex von etwa 155-225 gezeigt, bei dem der gleitende Mittelwert der empfangenen Rate mit ABW 208 übereinstimmt. Da das Paketvolumen in diesem Beispiel ab etwa Paketindex 145 drastisch abnimmt, wird das Netz schließlich entlastet, wie etwa bei Paketindex 220-400 gezeigt.
  • Das Beispiel in veranschaulicht, dass Pakete ein kurzfristiges Verhalten aufweisen können, da der Token-Bucket in einem vollen Zustand initialisiert wird, um Bursts aufzunehmen. In diesem Beispiel kann der gleitende Durchschnitt der Empfangsrate 202 als Kehrwert der IAT berechnet werden.
  • veranschaulicht ein Beispiel für das Bursting von Ratenbegrenzern in Bezug auf die Einwegverzögerung (OWD) gemäß den Ausführungsformen. veranschaulicht das Kurzzeit- und Langzeitverhalten in Bezug auf die OWD. In diesem Beispiel veranschaulicht die Zeile 232 die OWD. Zeile 234 veranschaulicht die Sonden-Senderate und Zeile 236 die Zug-Senderate, die den Zeilen 204 bzw. 206 in ähneln.
  • Wie in wird der Sender am Anfang, wenn der Eimer voll ist, zum Bersten gebracht. Während des Burstings (etwa zwischen dem Sondenindex 50-150) kommt es zu einem Anstieg des OWD. Bei einem Index von etwa 150 sind die Token im Bucket aufgebraucht und die Paketübertragung wird auf die Standardrate beschränkt. Dementsprechend werden die Pakete in eine Warteschlange gestellt und die Übertragungsrate verlangsamt sich. Dementsprechend kommt es zu einem starken Anstieg des OWD, wie in Zeile 232 zu sehen ist. Dann, wenn sich die Übertragungsrate verlangsamt und weniger Pakete gesendet werden, sinkt auch der OWD.
  • Ausführungsformen können eine Schätzung der verfügbaren Bandbreite auf der Grundlage des OWE durchführen. Wie dieses Beispiel jedoch zeigt, kann die OWD Informationen liefern, die die verfügbare Bandbreite nicht wirklich widerspiegeln. Gemäß Ausführungsformen kann das System, wenn zwei Pakete die gleiche OWD erfahren, zu dem Schluss kommen, dass die Überlastung gleich bleibt und alle Beiträge (gesendete Pakete) der verfügbaren Bandbreite des Netzes entsprechen. Dementsprechend können Ausführungsformen zwei Punkte mit einer ähnlichen OWD identifizieren und die Menge an Verkehr messen, die zwischen diesen beiden Punkten eingespeist wird. Da die OWD gleich geblieben ist, müssen die Pakete beitragsneutral gewesen sein.
  • Ausführungsformen können eine Schätzung der verfügbaren Bandbreite auf der Grundlage des OWD durchführen. In diesem Beispiel wählt PathCos++ ein Paar Sonden 241, 242 auf beiden Seiten des OWD-Bumps aus. ABW-Methoden mit abnehmender Rate versuchen, zwei Sonden mit ähnlicher Auslastung zu finden. PathCos++ geht davon aus, dass zwei Sonden mit einer ähnlichen OWD eine ähnliche Auslastung haben, was in den meisten Fällen korrekt ist. Andere ABW-Schätzmethoden, wie SLDRT, basieren auf anderen Annahmen und hätten ein anderes Sondenpaar ausgewählt 241, 242. Zwischen zwei Sonden mit ähnlicher Überlastung ist die Rate der Sonde überlastungsneutral und liegt nahe am ABW. Nach der Auswahl eines Sondenpaars 241, 242 misst die ABW-Schätzmethode die Sender- oder Empfängerrate der Sonden zwischen dem Paar 242, 242 und verwendet sie als Schätzung des ABW. Die erste ausgewählte Sonde 241 wurde vom Ratenbegrenzer während des Bursting mit der Burst-Rate weitergeleitet. Die zweite ausgewählte Sonde, 242, wurde nach dem Burst mit der Standardrate weitergeleitet. Die Rate der Sonden zwischen 241 und 242 enthält einen Abschnitt, der mit der Burst-Rate gesendet wird, und einen Abschnitt, der mit der Standardrate gesendet wird. Daher ist der Durchschnitt deutlich höher als die Standardrate, und die endgültige ABW-Schätzung ist ebenfalls deutlich höher als die Standardrate und daher fehlerhaft.
  • Es gibt weitere Implementierungen von Ratenbegrenzern, Traffic Policern und Traffic Shapern. Einige Policer sind hierarchisch aufgebaut und basieren auf mehreren Token-Buckets. Einige Token Buckets haben adaptive Parameter oder adaptives Verhalten. Zwei Alternativen zu Token-Buckets sind ein gleitendes Fenster und der Generic Cell Rate Algorithm (GCRA). Alle diese Algorithmen verhalten sich ähnlich wie ein Token Bucket, indem sie versuchen, eine langfristige Zielrate durchzusetzen, aber kurzfristig einen Burst von Paketen zulassen, die schneller als die Zielrate gesendet werden. Für die Zwecke dieser Offenlegung ist das Verhalten dieser Mechanismen im Großen und Ganzen mit einem Token Bucket vergleichbar und kann als eine Form von Token Bucket betrachtet werden.
  • Modelle, die für die Schätzung der verfügbaren Bandbreite verwendet werden, können davon ausgehen, dass der Pfad zustandslos und zeitlos ist und dass die Zeitskala der Messung keine Rolle spielt. Sie gehen davon aus, dass sich das Verhalten der Warteschlangen nicht ändert und die Kapazität der verschiedenen Verbindungen konstant ist. Jegliche Schwankungen der verfügbaren Bandbreite sind nur auf Schwankungen im Querverkehr zurückzuführen. Ratenbegrenzer, die auf Token-Buckets basieren, verletzen jedoch diese Annahme. Diese Ratenbegrenzer haben effektiv zwei Kapazitäten. Wie in den Beispielen in den und zu sehen ist, haben sich Token im Bucket angesammelt, wenn die Verbindung nicht oder weniger als die Zielrate genutzt wird, und die Pakete können mit der Burst-Rate weitergeleitet werden, die oft viel höher ist als die Zielrate. Sobald der Bucket leer ist, werden die Pakete mit einer Rate weitergeleitet, die nicht höher als die Zielrate ist.
  • Die Zeit, in der der Ratenbegrenzer die Weiterleitung mit der Burst-Rate zulässt, ist in der Regel sehr kurz, was seine Auswirkungen abschwächt. Allerdings wirkt er sich in der Regel unverhältnismäßig stark auf die ABW-Methoden aus, insbesondere bei der Verwendung kurzer Züge. Die meisten Anwendungen und Nutzer sind an der langfristigen ABW interessiert, die mit der Zielrate zusammenhängt, und kümmern sich nicht um die Burst-Rate, weshalb ein Ziel der Schätzung der verfügbaren Bandbreite in verschiedenen Ausführungsformen darin besteht, die langfristige verfügbare Bandbreite zu schätzen.
  • Bei ansteigenden Methoden, die eine EDA verwenden, nimmt die Rate der Sonden schrittweise zu. Bei einer untätigen Verbindung liegt der erste Teil des Zuges unter der Zielrate, so dass der Eimer nicht geleert wird. Sobald die Sondenrate die Zielrate überschreitet, beginnt sich der Eimer zu leeren. In der Regel sind jedoch viele Sonden erforderlich, um den Bucket zu leeren, so dass diese Sonden weiterhin mit der Burst-Rate weitergeleitet werden und keine Überlastung und keinen OWD-Anstieg erfahren. Irgendwann leeren die Sonden schließlich den Bucket, aber zu diesem Zeitpunkt hat sich die Sondenrate erhöht und übersteigt nun die Zielrate, was zu einer Überschätzung führt. Daher können Methoden, die dies nicht berücksichtigen, als ABW-Schätzung einen Wert liefern, der viel näher an der Burst-Rate als an der Ziel-Rate liegt.
  • Bei abnehmenden Methoden mit einer BDA wird ein Sondenpaar ausgewählt, wobei die erste Sonde nahe dem Beginn des Chirp-Zugs und die zweite Sonde nach der Entlastung der Verbindung liegt. In einem typischen Zug mit abnehmender Rate auf einer unbelasteten Verbindung wird der erste Teil des Zuges mit der Burst-Rate weitergeleitet, bis der Eimer leer ist, der zweite Teil wird mit der Zielrate weitergeleitet, bis die Sondenrate unter der Zielrate liegt, und der letzte Teil des Zuges wird mit der Sondenrate weitergeleitet (keine Überlastung). Wenn der Zug sehr kurz ist, gibt es den zweiten Teil möglicherweise gar nicht. Daher umfasst die Messung Sonden mit der Burst-Rate und Sonden mit der Zielrate und stellt einen gewichteten Durchschnitt zwischen der Burst-Rate und der Zielrate dar, wodurch die Zielrate überschätzt wird. Die Anzahl der Sonden mit Burst-Rate wird in der Regel durch die Burst-Größe bestimmt, und die Anzahl der Sonden mit Zielrate hängt von der Gesamtzahl der Sonden ab, die schneller als die Zielrate gesendet werden.
  • Wenn der Querverkehr auf der Verbindung unter der Zielrate liegt, wird die ABW sowohl bei den Methoden zur Erhöhung als auch zur Verringerung der Rate überschätzt. Der Punkt, an dem der Ratenbegrenzer von der Burst-Rate zur Zielrate übergeht, ist unterschiedlich, und die Überschätzung nimmt ab, wenn der Querverkehr zunimmt. Bei einem Token-Bucket verbraucht der QuerverkehrToken aus dem Token-Bucket. Je mehr Verkehr den Ratenbegrenzer durchläuft, desto mehr Token werden vom Querverkehr verbraucht und desto weniger Token verbleiben im Bucket. Das bedeutet, dass bei höherem Cross-Traffic weniger Probe-Traffic erforderlich ist, um die verbleibenden Token zu verbrauchen und den Ratenbegrenzer in den Langzeitmodus zu versetzen. Im Extremfall, wenn die Cross-Traffic-Rate gleich oder höher als die Zielrate ist, ist der Bucket leer und die Probes werden immer mit der Zielrate weitergeleitet. Das Verhalten der meisten anderen Arten von Ratenbegrenzern hängt ebenfalls von der Höhe des Querverkehrs ab. In den meisten Fällen schwankt die Menge des Querverkehrs dynamisch und kann nicht vorhergesagt werden. Daher schwankt die Menge des Probeverkehrs, die erforderlich ist, um den Ratenbegrenzer in den Langzeitmodus zu versetzen, und ist möglicherweise im Voraus nicht vollständig bekannt.
  • Der Zeitpunkt, an dem der Ratenbegrenzer von der Burst-Rate zur Zielrate übergeht, hängt auch von der Rate ab, mit der die Sonden am Ratenbegrenzer ankommen. Bei einem Token-Bucket wird während derZeit, in der die Sonden am Token-Bucket ankommen, der Token-Bucket entsprechend der Zielrate mit Token aufgefüllt. Je länger die Probes brauchen, um den Token-Bucket zu erreichen, desto mehr Token werden dem Token-Bucket hinzugefügt. Wenn es keinen Querverkehr gibt, muss die Anzahl der Sonden der Größe des Eimers plus der in dieser Zeit hinzugefügten Token entsprechen, um den Eimer voll zu machen. Im Extremfall, wenn die Sondenrate gleich oder niedriger als die Zielrate ist, wird der Token-Eimer schneller aufgefüllt als er geleert wird, und der Sondenverkehr wird den Eimer nie leeren. Andere Arten von Ratenbegrenzern verhalten sich ähnlich. Die Rate, mit der Probe-Pakete am Ratenbegrenzer ankommen, hängt von der Senderate der Probe-Pakete und von Engpässen zwischen dem Sender und dem Ratenbegrenzer ab. Diese Engpässe können durch dynamischen Querverkehr begrenzt werden, der in der Regel nicht vorhersehbar ist. Daher variiert die Menge des Prüfdatenverkehrs, die für den Übergang des Ratenbegrenzers in den Langzeitmodus erforderlich ist, und ist im Voraus wahrscheinlich nicht vollständig bekannt.
  • Bei einer unbeschäftigten Verbindung sollte die Größe des Preloads größer sein als die Burstgröße des Ratenbegrenzers. Während der Ratenbegrenzer die Preload-Pakete weiterleitet, sammeln sich im Bucket bei der Zielrate Token an, die entnommen werden müssen. Ein erster Näherungswert für die Preload-Größe ist: Vorlast Gr o ¨ ße = Burst Gr o ¨ ße * ( 1 + Ziel Rate/Vorlast Rate )
    Figure DE102021109229A1_0006
  • Wenn es Querverkehr gibt, trägt der Querverkehr zur Entleerung des Eimers bei. Ein Näherungswert für die Größe der Vorlast ist in diesem Fall : preload size = burst size * ( 1 + ( target rate cross rate ) /preload rate )
    Figure DE102021109229A1_0007
  • In der Praxis kann die Anzahl der Pakete, die benötigt werden, um den Ratenbegrenzerkorb zu leeren, direkt über den Netzwerkpfad gemessen werden, indem gemessen wird, wie viele Pakete für den Übergang von der Burst-Rate zur Zielrate benötigt werden. Durch die Messung dieser Größe kann vermieden werden, dass alle verschiedenen Raten bekannt sind und berechnet werden müssen. Wie bereits erwähnt, kann dies auch die Kompatibilität von Ausführungsformen mit Netzwerk-Polizern und Netzwerk-Shapern gewährleisten, die nicht auf einem Token-Bucket basieren. Wenn diese Messungen mit dem Chirp-Train durchgeführt werden, können die Ausführungsformen die Preload-Größe etwas größer als diese gemessene Zahl machen, so dass der Wechsel von der Burst-Rate zur Ziel-Rate zuverlässig erkannt werden kann.
  • Eine einfache Möglichkeit, die Überschätzung aufgrund von Kapazitätsschwankungen zu verringern, besteht darin, die Größe des Chirp-Zugs zu erhöhen.
  • Wenn weitaus mehr Sonden mit der Zielrate als mit der Burst-Rate gesendet werden, wird der Beitrag der Sonden mit der Burst-Rate reduziert. Dies geht jedoch auf Kosten des zusätzlichen Sondierungs-Overheads.
  • Bei einem abnehmenden Chirp-Zug kann die Überschätzung anhand des Verhältnisses von Sonden mit Burst-Rate und Ziel-Rate in der Messung sowie des Verhältnisses von Burst-Rate zu Ziel-Rate geschätzt werden. Bei einem abnehmenden Chirp-Zug mit einer Burst-Rate, die doppelt so hoch ist wie die Zielrate, muss der überlastete Teil des Chirp-Zugs mehr als das 100-fache der Burst-Größe betragen, so dass der gesamte Chirp-Zug typischerweise das 200-fache der Burst-Größe beträgt, um eine Überschätzung von weniger als 1 % bei der ABW zu erreichen. Typische Burstraten sind viel mehr als das Doppelte der Zielrate, was diese Multiplikatoren erhöht. Eine kleine Burstgröße von 5 KB würde Chirp Trains von mehr als 500 bis 1000 Paketen erfordern. Eine größere Burstgröße von 25 KB würde Chirp Trains von mehr als 2500 bis 5000 Paketen erfordern.
  • Solche großen Chirp-Züge können Probleme verursachen. Erstens erhöhen sie den Overhead und verringern die nutzbare Kapazität des Netzweges. Zweitens erhöhen sie die Überlastung, was andere Datenströme verlangsamen kann. Drittens erhöhen sie die Verarbeitungskosten, da beim Sender und Empfänger mehr Pakete zu verarbeiten sind. Viertens: Längere Züge erhöhen die Wahrscheinlichkeit von Paketverlusten aufgrund der zusätzlichen Überlastung, und Paketverluste verringern die Genauigkeit der meisten PRM-Methoden.
  • Die Verlängerung des Chirp-Zuges hat den Vorteil, dass die Anzahl der mit der Zielrate weitergeleiteten Pakete erhöht wird. Allerdings enthalten die Messungen immer noch eine Anzahl von Paketen, die nicht mit der Zielrate weitergeleitet werden, was zu einer Überschätzung führt. Einige Lösungen für abnehmende Chirp Trains messen die durchschnittliche IAT im mittleren Teil des Chirp Trains und finden das erste Paket, das diesem Wert entspricht. Damit kann der Übergang von der Burst-Rate zur Ziel-Rate erkannt werden, und dies ermöglicht es der BDA, die mit Burst-Rate weitergeleiteten Pakete auszuschließen, nur ein Paar von Paketen unter den mit Ziel-Rate weitergeleiteten auszuwählen und somit eine Überschätzung zu vermeiden.
  • Die IAT-Anpassung funktioniert gut auf relativ stabilen Verbindungen, ihre Effektivität kann auf verrauschten Verbindungen oder Verbindungen mit stoßweisem Querverkehr abnehmen, so dass sie nicht unter allen Bedingungen funktioniert. Eine Einschränkung der IAT-Anpassung besteht darin, dass sie nur funktioniert, wenn die mit Burst-Rate weitergeleiteten Pakete weniger als 1/7 des gesamten Chirp-Zuges ausmachen, da sonst die durchschnittliche IAT nicht zuverlässig gemessen werden kann. Das bedeutet, dass der Chirp-Zug etwas größer sein sollte. Eine kleine Burst-Größe von 5 KB würde Chirp-Züge mit mehr als 35 Paketen erfordern, und eine größere Burst-Größe von 25 KB würde mehr als 175 Pakete erfordern.
  • Zur Erkennung von Kapazitätsänderungen können auch andere Verfahren verwendet werden, die möglicherweise besser als die IAT-Anpassung funktionieren. Rate Ratio Peak findet den größten Unterschied zwischen der Rate vor und nach jedem Paket. Sie erkennt Kapazitätsänderungen in der Regel zuverlässiger als die IAT-Anpassung und kann auf viel kleinere Chirp-Züge angewendet werden. Eine Methode zur Erkennung von Kapazitätsänderungen in der Empfangsfolge ist aus mindestens zwei Gründen wichtig. Erstens ermöglicht sie die präzise Entfernung der mit der Burst-Rate weitergeleiteten Pakete aus dem empfangenen Chirp-Zug vor der AWB-Schätzung, selbst wenn der Querverkehr schwankt und den Übergangspunkt des Ratenbegrenzers verändert. Zweitens ermöglicht es die Berechnung einer durchschnittlichen oder typischen Anzahl von Paketen, die für den Übergang des Ratenbegrenzers erforderlich sind.
  • Wie bereits erwähnt, können Ausführungsformen so implementiert werden, dass der Chirp-Zug vorgeladen wird und ein erstes Paket vorgeladen wird, um das Bursting des Ratenbegrenzers bei der Verwendung von Methoden wie PRM abzuschwächen. In einigen Ausführungsformen kann eine Reihe von Paketen vor dem Chirp-Zug oder als Teil des Starts des Chirp-Zugs gesendet werden, um den Ratenbegrenzer in einen Langzeitmodus zu versetzen.
  • Die Ausführungsformen können implementiert werden, um die Überschätzung der ABW (verfügbare Bandbreite) aufgrund von Ratenbegrenzer-Bursts zu reduzieren und die Genauigkeit der Schätzung der verfügbaren Bandbreite zu verbessern. Weitere Ausführungsformen können in bestehende EDA (Excursion Detection Algorithm) oder BDA (Bump Detection Algorithm) gängiger Methoden zur Schätzung der verfügbaren Bandbreite integriert werden. Die Ausführungsformen können auch so implementiert werden, dass sie die CPU-Nutzung, den Netzwerk-Overhead und andere Overheads minimieren und die Größe des Chirp-Trains minimieren.
  • Wie bereits erwähnt, führen Kapazitätsschwankungen zu einer Überschätzung aufgrund von Bursting, bei dem die ersten Pakete des Chirp-Zuges mit der kurzfristigen Burst-Rate und nicht mit der langfristigen Zielrate weitergeleitet werden. Eine Möglichkeit, das Bursting des Ratenbegrenzers zu bekämpfen, besteht darin, die Größe des Chirp-Trains zu erhöhen, was jedoch, wie oben beschrieben, den Overhead erhöht.
  • Es ist möglich, zusätzliche Pakete vor dem ursprünglichen Chirp-Zug hinzuzufügen, ohne die Größe des ursprünglichen Chirp-Zugs zu erhöhen. Der Chirp-Zug kann dann aus zwei Teilen bestehen, dem Preload-Teil und dem ursprünglichen Chirp-Zug-Teil. zeigt ein Beispiel für einen Chirp-Zug mit einem Burst Preload vor den ursprünglichen Sonden im Chirp-Zug. In diesem Beispiel umfasst das Burst-Preload 332 zusätzliche Sondenpakete (oder Burst-Pakete) P.1, P.2, P.3 und P.4, obwohl auch andere Mengen an zusätzlichen Sondenpaketen in das Burst-Preload 332 aufgenommen werden können. Die ursprünglichen Prüfpakete 336 umfassen den ursprünglichen Chirp-Zug, der in diesem Beispiel die Pakete P.5, P.6, P.7, P.8 und P.9 umfasst. Andere Mengen von Paketen können in den ursprünglichen Sondenpaketen 336 enthalten sein.
  • Der ursprüngliche Teil kann für die ABW-Schätzung verwendet werden und kann derselbe bleiben wie vor dem Hinzufügen der Vorbelastung (d. h. dieselbe Anzahl von Sonden und dieselben Raten). Der Vorlastanteil kann einen doppelten Zweck haben. Er kann verwendet werden, um den Ratenbegrenzer in seine Langzeitrate zu versetzen, und kann für die ABW-Schätzung verwendet werden. Dementsprechend wird in verschiedenen Ausführungsformen die Größe des Burst-Preloads 332 so gewählt, dass sie ungefähr der Burst-Größe entspricht, und die Rate des Preloads wird so gewählt, dass sie ungefähr der Burst-Rate entspricht. Wenn die Burst-Vorlast 332 optimal dimensioniert ist, ermöglicht dies, dass die Burst-Vorlast 332 den Eimer vor dem ursprünglichen Teil des Chirp-Zugs entleert. Dementsprechend wird bei der ABW-Schätzung keine Schätzung auf der Grundlage von Ratenbegrenzer-Bursts vorgenommen.
  • Wenn die Vorlast optimal bemessen ist, wird der ursprüngliche Teil des Chirp-Zugs durch den Geschwindigkeitsbegrenzer weitergeleitet, nachdem die Vorlast weitergeleitet und der Eimer durch die Vorlast entleert wurde. Daher wird der Chirp-Zug vollständig mit der Zielrate weitergeleitet. Der ursprüngliche Teil des Chirp-Trains enthält keine Sonden, die mit der Burst-Rate weitergeleitet werden, so dass eine Überschätzung vermieden werden kann. Dies kann als eine Verbesserung gegenüber herkömmlichen Technologien angesehen werden, da die Schätzung genauer durchgeführt werden kann.
  • Dementsprechend ist in verschiedenen Implementierungen die zusätzliche Anzahl von Paketen konstant und entspricht in etwa der Burstgröße. In verschiedenen Ausführungsformen kann die zusätzliche Anzahl von Paketen viel geringer sein als bei früheren Techniken. Bei einer kleinen Burst-Größe von 5 KB würde der Preload beispielsweise nur 5 Pakete betragen, und der gesamte Chirp-Train könnte 35 Pakete umfassen. Bei einer größeren Burstgröße von 25 KB würde der Preload 25 Pakete betragen, und der gesamte Chirp-Zug könnte 55 Pakete umfassen.
  • Die Senderate für das Preload sollte schnell genug sein, um den Bucket zu leeren, und langsam genug, um die Größe der Warteschlange und die Überlastung nicht wesentlich zu erhöhen. Eine schnellere Rate minimiert die Zeit und die Datenmenge, die zum Entleeren des Buckets benötigt werden, da der Bucket in der entsprechend kürzeren Zeit weniger nachgefüllt werden muss. Aus diesem Grund kann eine schnellere Rate bevorzugt werden. Die meisten PRM-Methoden gehen jedoch davon aus, dass der Pfad vor der Messung nicht überlastet ist, so dass sie vor dem ursprünglichen Teil des Chirp-Zugs nur eine minimale Überlastung erfordern. Wenn die Vorlast zu erheblichen Staus führt, kann sich dies negativ auf die ABW-Schätzung auswirken. Für die meisten PRM-Methoden ist eine Überlastung, die weniger als ein paar Prozent der maximalen Überlastung im ursprünglichen Zug beträgt, tolerierbar. Um Staus ganz zu vermeiden, kann eine Rate verwendet werden, die etwas langsamer als die Burst-Rate ist. Eine geringfügig schnellere Rate als die Burst-Rate ist eine weitere gute Option, wenn ein leichter Anstieg der Überlastung toleriert werden kann. Es kann jedoch sein, dass der Pfad auf anderen Verbindungen eingeschränkt ist, so dass das System gezwungen ist, eine Vorlastrate zu verwenden, die niedriger als die Burst-Rate ist.
  • Die tatsächliche Burst-Rate des Ratenbegrenzers ist dem Sender nicht unbedingt bekannt, und auch die Beschränkungen der anderen Verbindungen sind möglicherweise nicht bekannt. Daher kann in bestimmten Ausführungsformen die Burst-Empfangsrate gemessen werden, d. h. die durchschnittliche Rate, mit der Pakete vor der Kapazitätsänderung empfangen werden, und die zumeist durch die kurzfristige Rate des Netzwerkpfads bestimmt wird. Die Burst-Empfangsrate ist die schnellste Senderate, die nicht zu einer Überlastung des Pfades führt. Die Senderate für die Vorlast ist etwas langsamer oder etwas schneller als die Burst-Empfangsrate, abhängig von der Stautoleranz der PRM-Methode.
  • Die Anzahl der Prüfpakete, die erforderlich sind, um den Ratenbegrenzer in den Langzeitmodus zu versetzen, kann von mehr Faktoren als nur der Burst-Größe des Ratenbegrenzers abhängen, z. B. auch vom Querverkehr am Ratenbegrenzer und von Engpässen vor dem Ratenbegrenzer. Der Querverkehr und die Engpässe können dynamisch sein, sich im Laufe der Zeit ändern und sich der Kontrolle des Systems entziehen. Dementsprechend kann es unmöglich sein, sie vorherzusagen. Für jeden Chirp-Zug können Ausführungsformen so konfiguriert sein, dass sie eine Größe des Preloads auswählen, ohne den Zustand des Ratenbegrenzers zu kennen, wenn der Chirp-Zug weitergeleitet wird. Daher kann die Vorlast zu groß oder zu klein sein, und der Ratenübergang erfolgt möglicherweise nicht exakt zwischen dem Vorlastabschnitt und dem ursprünglichen Abschnitt des Chirp-Zugs.
  • Es kann eine einfache Preload-Technik implementiert werden, bei der dem Chirp-Train spezielle Pakete vorangestellt werden, um ihn in die Langzeitrate zu bringen, und diese Pakete können einfach ignoriert und verworfen werden, bevor die ABW-Schätzung durchgeführt wird. Allerdings kann der Sender des Chirp-Trains den Zustand des Ratenbegrenzers nicht vorhersagen, so dass die Preload-Größe möglicherweise nicht optimal gewählt wird. Wenn die Preload-Größe zu klein ist, wird die Zielrate auf der Grundlage der Preload-Größe nicht erreicht, und es werden mehr Testpakete benötigt, um den Pfad auf die langfristige Rate umzustellen.
  • Wenn die Preload-Größe zu groß ist, erfolgt der Übergang zur Langzeitrate vor dem Ende des Preloads. Dies hat zur Folge, dass der letzte Teil des Preloads mit der Zielrate weitergeleitet wird, was zu einer Überlastung des Ratenbegrenzers führt. Die Burst-Rate ist in der Regel viel höher als die Zielrate, so dass selbst einige wenige Pakete, die um die Burst-Rate herum gesendet werden, zu erheblichen Überlastungen führen können. Die meisten PRM-Methoden gehen davon aus, dass der Pfad vor der Messung frei von Staus ist, daher ist es wünschenswert, dass vor dem ursprünglichen Teil des Chirp-Zugs nur minimale Staus auftreten. In den meisten Fällen kann der Stau, der durch eine zu große Vorlast entsteht, so groß sein, dass die Genauigkeit der ABW-Schätzung abnimmt.
  • Dieses Problem kann dadurch gelöst werden, dass die Vorlast zu einem integralen Bestandteil des für die ABW-Schätzung verwendeten Chirp-Zugs gemacht wird und die Prüfpakete als Pakete konfiguriert werden, die für die ABW-Schätzung verwendet werden können. Die meisten Empfänger können im Chirp-Zug den Übergang zur Langzeitrate erkennen, z. B. durch IAT-Anpassung oder eine andere Technik. Mit Hilfe solcher Techniken kann der Empfänger den Satz von Sonden, die mit der Burst-Rate weitergeleitet werden, identifizieren und sie vor der Durchführung der ABW-Schätzung eliminieren. In einigen Fällen handelt es sich bei dieser Gruppe von Sonden genau um die Vorlastsonden. Dieser Satz von Sonden kann kleiner oder größer als die Vorlast sein.
  • In verschiedenen Ausführungsformen besteht die Vorlast aus einer Anzahl zusätzlicher Sondenpakete 332, die zu Beginn des Chirp-Zugs hinzugefügt werden. Die Vorlast kann vor den ursprünglichen Sondenpaketen 336 hinzugefügt werden, und die Anzahl der Pakete und die Rate der Pakete im ursprünglichen Chirp-Zug kann durch das verwendete ABW-Verfahren bestimmt werden. In einigen Ausführungsformen können die zusätzlichen Prüfpakete 332 zur ABW-Schätzung verwendet werden. Der Empfänger kann so konfiguriert sein, dass er eine Kapazitätsänderung in der empfangenen Chirpfolge erkennt, um zu bestimmen, welche zusätzlichen Prüfpakete 332 der Vorlast für die ABW-Schätzung verwendet werden sollen. Beispielsweise kann die Anzahl der Pakete im Preload durch die Erkennung von Kapazitätsänderungen in einigen empfangenen Chirp-Zügen bestimmt werden. In einigen Ausführungsformen kann die Rate der Pakete im Preload durch die Empfangsrate der Pakete vor einer Kapazitätsänderung bestimmt werden, die in dem empfangenen Chirp-Train gemessen wurde.
  • zeigt ein Beispiel für eine Rechnerkomponente, die verwendet werden kann, um das Burst Preloading für die Schätzung der verfügbaren Bandbreite in Übereinstimmung mit verschiedenen Ausführungsformen zu implementieren. Wie in dargestellt, kann die Rechnerkomponente 410 beispielsweise ein Servercomputer, ein Controller oder eine andere ähnliche Rechnerkomponente sein, die Daten verarbeiten kann. In der Beispielimplementierung von 6 umfasst die Rechnerkomponente 410 einen Hardwareprozessor 412 und ein maschinenlesbares Speichermedium für 14.
  • Bei dem Hardware-Prozessor 412 kann es sich um eine oder mehrere Zentraleinheiten (CPUs), halbleiterbasierte Mikroprozessoren und/oder andere Hardwarevorrichtungen handeln, die zum Abrufen und Ausführen von Befehlen geeignet sind, die im maschinenlesbaren Speichermedium 413 gespeichert sind. Der Hardware-Prozessor 412 kann Befehle, wie die Befehle 414 - 422, abrufen, dekodieren und ausführen, um Prozesse oder Operationen für das Burst-Preloading zur Schätzung der verfügbaren Bandbreite zu steuern. Alternativ oder zusätzlich zum Abrufen und Ausführen von Befehlen kann der Hardware-Prozessor 412 einen oder mehrere elektronische Schaltkreise enthalten, die elektronische Komponenten zur Ausführung der Funktionalität eines oder mehrerer Befehle umfassen, wie z. B. ein Field Programmable Gate Array (FPGA), einen anwendungsspezifischen integrierten Schaltkreis (ASIC) oder andere elektronische Schaltkreise.
  • Ein maschinenlesbares Speichermedium, wie das maschinenlesbare Speichermedium 314, kann ein beliebiges elektronisches, magnetisches, optisches oder anderes physikalisches Speichergerät sein, das ausführbare Anweisungen enthält oder speichert. Bei dem maschinenlesbaren Speichermedium 413 kann es sich beispielsweise um einen Arbeitsspeicher (RAM), einen nichtflüchtigen Arbeitsspeicher (NVRAM), einen elektrisch löschbaren, programmierbaren Festspeicher (EEPROM), ein Speichergerät, eine optische Platte oder Ähnliches handeln. In einigen Ausführungsformen kann das maschinenlesbare Speichermedium 413 ein nicht-transitorisches Speichermedium sein, wobei der Begriff „nicht-transitorisch“ nicht die transitorischen Übertragungssignale umfasst. Wie nachstehend im Detail beschrieben, kann das maschinenlesbare Speichermedium 413 mit ausführbaren Befehlen kodiert sein, z. B. mit den Befehlen 414 - 422.
  • Der Hardware-Prozessor 412 kann den Befehl 414 ausführen, um das System zu veranlassen, einen Chirp-Zug vorzubereiten, der für die ABW-Schätzung verwendet wird. Der Chirp-Zug kann eine Menge ursprünglicher Prüfpakete für ABW enthalten. Die Ausführungsformen können so konfiguriert sein, dass sie Chirp-Züge verwenden, die den Netzwerkpfad auf bestimmte Weise beanspruchen. Verschiedene ABW-Schätzmethoden können verschiedene Chirp-Trains verwenden und typischerweise Parameter wie die Anzahl der Pakete im Chirp-Train, die Paketgröße und die Paketrate jedes Pakets angeben. Methoden, die eine EDA verwenden, haben z. B. Chirp-Züge mit ansteigenden Raten über den Chirp-Zug, während Methoden, die eine BDA verwenden, Chirp-Züge mit abnehmenden Raten über den Chirp-Zug haben.
  • Der Hardware-Prozessor 412 kann den Befehl 416 ausführen, um das System zu veranlassen, eine Anzahl von Vorlastpaketen zu bestimmen, die einen Netzwerkpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt. In einigen Ausführungsformen ist die Anzahl der Pakete, die für den Übergang vom Kurzzeitverhalten zur langfristigen Zielrate benötigt werden, weitgehend konstant und kann als Burstgröße bezeichnet werden. In einigen Ausführungsformen kann die Anzahl der Vorlastpakete direkt über den Netzpfad gemessen werden, beispielsweise durch Erkennung von Kapazitätsänderungen bei empfangenen Chirp-Zügen. Die Rate, mit der diese Pakete weitergeleitet werden, ist meist gleichbleibend und kann als Burstrate bezeichnet werden. In einigen Ausführungsformen kann die Vorlastrate direkt über den Netzpfad gemessen werden, indem die Rate der empfangenen Pakete betrachtet wird. Die Messung der Burst-Größe und der Burst-Rate über den Netzwerkpfad kann Implementierungen ermöglichen, bei denen die Konfiguration des Token-Buckets nicht bekannt sein muss und die mit Netzwerk-Policern und Netzwerk-Shapern kompatibel sind, die nicht auf dem Token-Bucket basieren.
  • Der Hardware-Prozessor 412 kann die Anweisung 418 ausführen, um das System zu veranlassen, die festgelegte Anzahl zusätzlicher Prüfpakete (z. B. Preload-Pakete) am Anfang des Chirp-Trains bereitzustellen. Ein Beispiel hierfür ist in dargestellt, in der vier Pakete P.1, P.2, P.3 und P.4 als Teil des Burst Preload 332 vor den ursprünglichen Sondenpaketen 336 hinzugefügt werden.
  • Der Hardware-Prozessor 412 kann den Befehl 420 ausführen, um den Chirp-Train über den Netzwerkpfad zu übertragen. Wie oben erwähnt, kann dies beinhalten, dass die Preload-Pakete vor den ursprünglichen Chirp-Train-Paketen übertragen werden, um den Netzwerkpfad in seinen Langzeitmodus zu versetzen. In verschiedenen Ausführungsformen befindet sich der Pfad im Langzeitmodus, wenn der Netzwerkverkehr durch den Ratenbegrenzer eingeschränkt ist. Wie in dem Beispiel von dargestellt, enthält der Chirp-Train zusätzliche Prüfpakete als Teil des Burst-Preloads 332 und ursprüngliche Chirp-Train-Prüfpakete als Teil der ursprünglichen Prüfpakete 336. Die zusätzlichen Prüfpakete können mit der Preload-Rate gesendet werden, die sich in der Regel von den im normalen Teil des Chirp-Trains verwendeten Raten unterscheidet.
  • Der Hardware-Prozessor 412 kann die Anweisung 422 ausführen, um die ABW-Schätzung am Empfangsknoten durchzuführen. Wie bereits erwähnt, wird die ABW-Schätzung bei bestimmten Ausführungsformen an den ursprünglichen Prüfpaketen des Chirp-Zugs und nicht an den zusätzlichen Prüfpaketen vorgenommen. Wie oben beschrieben, werden in verschiedenen Ausführungsformen die zusätzlichen Pakete vor dem Chirp-Zug hinzugefügt und vom Empfänger ignoriert. Die Größe des Preloads hängt von der Rate des Querverkehrs ab, und die Rate des Querverkehrs schwankt mit der Zeit und ist nicht vorhersehbar. Das bedeutet, dass bei schwankendem Querverkehr der Preload manchmal etwas zu kurz und manchmal etwas zu lang sein kann. Wenn die Vorlast zu kurz ist, führt dies zu einer Überschätzung, da der Eimer noch nicht geleert wurde und der Ratenbegrenzer noch nicht in Gang gesetzt wurde. Ist das Preload hingegen zu lang, führen die Preload-Pakete selbst zu einer Überlastung vor der ABW-Schätzung, was unter bestimmten Bedingungen zu Fehlern führen kann. Dementsprechend kann die Größe des Preloads dynamisch auf der Grundlage der aktuellen Rate des Querverkehrs bestimmt werden.
  • Die Ausführungsformen können Techniken implementieren, um Preload-Pakete für die Zwecke der ABW-Schätzung unter verschiedenen Umständen zu ignorieren und einige der Preload-Pakete für die ABW-Schätzung zu verwenden. Beispielsweise können Ausführungsformen so konfiguriert sein, dass mit der Burst-Rate weitergeleitete Preload-Pakete ignoriert werden. Weitere Ausführungsformen können implementiert werden, um den Übergang zwischen Burst-Rate und Ziel-Rate zu erkennen und zu identifizieren, z. B. unter Verwendung der IAT-Anpassung, und können so konfiguriert sein, dass sie diese Sonden ignorieren (z. B. wie oben beschrieben). Weitere Ausführungsformen können Rate Ratio Peak (z. B. wie oben beschrieben) verwenden, um die Kapazitätsänderung im empfangenen Chirp-Zug zu erkennen und die Sonden vor dem gemessenen Rate Ratio Peak zu ignorieren.
  • Die Preload-Pakete sind keine speziellen Pakete, sondern können als zusätzlicher Satz von Sonden implementiert werden, der am Anfang des Chirp-Trains hinzugefügt wird, um den Fall zu behandeln, dass der Preload zu lang ist. Umgekehrt ist es möglich, dass einige der ursprünglichen Sonden ignoriert werden, wenn der Preload zu kurz ist. Der Vorteil besteht darin, dass es keine Rolle spielt, ob der Sondenzug etwas zu kurz oder zu lang ist. Der Empfänger verwendet einen Kapazitätsänderungsdetektor, um zu bestimmen, welcher Satz empfangener Sonden ausgeschlossen und welcher verwendet werden soll, wodurch der Fehler minimiert wird.
  • In bestimmten Ausführungsformen können die Preload-Sonden genau wie die normalen Sonden behandelt werden. In bestimmten Ausführungsformen ändert sich durch das Hinzufügen von Burst-Preload-Sonden zu einem abnehmenden Chirp-Zug die Zugrate jeder Sonde, so dass dies anders aussieht als eine normale Erhöhung der Chirp-Zuglänge. Die Menge der Preload-Pakete kann direkt durch die Messung der Kapazitätsänderung auf dem Netzpfad bestimmt werden.
  • zeigt ein Blockdiagramm eines beispielhaften Computersystems 500, in dem verschiedene der hier beschriebenen Ausführungsformen implementiert werden können. Das Computersystem 500 umfasst einen Bus 502 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 504, die mit dem Bus 502 verbunden sind, um Informationen zu verarbeiten. Bei dem/den Hardware-Prozessor(en) 504 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 500 umfasst auch einen Hauptspeicher 506, z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 502 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 504 ausgeführt werden sollen. Der Hauptspeicher 506 kann auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Befehlen verwendet werden, die vom Prozessor 504 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 504 zugreifen kann, wird das Computersystem 500 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
  • Das Computersystem 500 umfasst außerdem einen Festwertspeicher (ROM) 508 oder ein anderes statisches Speichergerät, das mit dem Bus 502 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 504 zu speichern. Ein Speichergerät 510, z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 502 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 500 kann über den Bus 502 mit einer Anzeige 512, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Touchscreen), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 514, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 502 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 504 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 516, wie z. B. eine Maus, ein Trackball oder Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 504 und zur Steuerung der Cursorbewegung auf der Anzeige 512. In einigen Ausführungsformen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
  • Das Computersystem 500 kann ein Benutzerschnittstellenmodul zur Implementierung einer grafischen Benutzeroberfläche enthalten, das in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
  • Im Allgemeinen kann sich der hier verwendete Begriff „Komponente“, „Engine“, „System“, „Datenbank“, „Datenspeicher“ und dergleichen auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es ist klar, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufgerufen werden können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung eine Installation, Dekomprimierung oder Entschlüsselung erfordert). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts zur Ausführung durch das Computergerät gespeichert werden. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
  • Das Computersystem 500 kann die hier beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem das Computersystem 500 zu einer Spezialmaschine macht oder programmiert. Gemäß einer Ausführungsform werden die hierin beschriebenen Techniken vom Computersystem 500 als Reaktion auf den/die Prozessor(en) 504 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren im Hauptspeicher 506 enthaltenen Befehlen ausführt/ausführen. Solche Anweisungen können in den Hauptspeicher 506 von einem anderen Speichermedium, wie z. B. einem Speichergerät 510, eingelesen werden. Die Ausführung der im Hauptspeicher 506 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 504, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen können fest verdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
  • Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die eine Maschine in einer bestimmten Weise arbeiten lassen. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 510. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 506. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder - kassetten sowie deren vernetzte Versionen.
  • Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nicht-transitorischen Medien beteiligt. Zu den Übertragungsmedien gehören z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 502 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 500 umfasst auch eine Kommunikationsschnittstelle 518, die mit dem Bus 502 verbunden ist. Die Netzwerkschnittstelle 518 stellt eine Zwei-Wege-Datenkommunikationsverbindung zu einer oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Kommunikationsschnittstelle 518 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Ein weiteres Beispiel: Die Netzwerkschnittstelle 518 kann eine LAN-Karte sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder eine WAN-Komponente zur Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Netzwerkschnittstelle 518 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme mit verschiedenen Informationstypen übertragen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. So kann eine Netzverbindung beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten eines Internetdienstanbieters (ISP) herstellen. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Kommunikationsschnittstelle 518, die die digitalen Daten zum und vom Computersystem 500 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 500 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Kommunikationsschnittstelle 518 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Kommunikationsschnittstelle 518 übertragen.
  • Der empfangene Code kann durch den Prozessor 504 ausgeführt werden, sobald er empfangen wird, und/oder im Speichergerät 510 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • Jeder der in den vorstehenden Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenlegung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder aus ihnen entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
  • Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als getrennte Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass getrennte Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wenn eine Schaltung ganz oder teilweise mit Software implementiert ist, kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die in Bezug darauf beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 500.
  • Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke, wie z. B. „kann“, „könnte“, „könnte“ oder „darf“, sollen im Allgemeinen vermitteln, dass bestimmte Ausführungsformen bestimmte Merkmale, Elemente und/oder Schritte einschließen, während andere Ausführungsformen diese nicht einschließen, es sei denn, es ist ausdrücklich etwas anderes angegeben oder im Zusammenhang mit der Verwendung anders zu verstehen.
  • Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich etwas anderes angegeben ist, nicht als einschränkend, sondern als offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Ausdrücke wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf“ oder ähnliche Ausdrücke in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Ausdrücke nicht vorhanden sind.

Claims (20)

  1. Verfahren zum Durchführen des Vorladens von Burst-Paketen für die Abschätzung der verfügbaren Bandbreite (ABW) eines Netzwerkpfades, umfassend: Vorbereitung eines Chirp-Zuges, der für die ABW-Schätzung verwendet werden soll, wobei der Chirp-Zug eine Menge von ursprünglichen Sondenpaketen umfasst; Bestimmung einer Anzahl zusätzlicher Prüfpakete, die den Netzpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt; Einfügen der bestimmten Anzahl zusätzlicher Sondenpakete am Anfang des Chirp-Zuges; und Übertragen des Chirp-Zuges, einschließlich der ermittelten Anzahl zusätzlicher Prüfpakete auf dem Netzwerkpfad, an einen Empfänger, der zur Durchführung einer ABW-Schätzung des Netzwerkpfades konfiguriert ist.
  2. Verfahren nach Anspruch 1, wobei, wenn der Chirp-Zug am Empfänger empfangen wird, eine ABW-Schätzung des Chirp-Zuges durch den Empfänger auf der Grundlage des durch den Ratenbegrenzer oder durch einen Traffic Shaper eingeschränkten Netzwerkverkehrs durchgeführt wird.
  3. Verfahren nach Anspruch 1, wobei die ermittelte Menge an zusätzlichen Prüfpaketen eine Menge an zusätzlichen Prüfpaketen umfasst, die, wenn sie dem Querverkehr im Netz hinzugefügt werden, den Netzpfad vom Kurzzeitmodus in den Langzeitmodus überführen.
  4. Verfahren nach Anspruch 1, wobei die ABW-Schätzung, die von dem Empfänger an dem Chirp-Zug durchgeführt wird, die Durchführung der ABW-Schätzung nur an den ursprünglichen Prüfpaketen und nicht an den zusätzlichen Prüfpaketen umfasst.
  5. Verfahren nach Anspruch 1, wobei die ABW-Schätzung vom Empfänger anhand der Chirp-Folge und einer Teilmenge der zusätzlichen Sondenpakete durchgeführt wird.
  6. Verfahren nach Anspruch 5, wobei der Empfänger ferner so konfiguriert ist, dass er eine Kapazitätsänderung auf dem Chirp-Zug erkennt und die Kapazitätsänderung verwendet, um zu bestimmen, welche zusätzlichen Prüfpakete für die ABW-Schätzung zu verwenden sind.
  7. Verfahren nach Anspruch 1, wobei die ABW-Schätzung durch den Empfänger an dem Chirp-Zug unter Verwendung der ursprünglichen Prüfpakete und einer hinteren Teilmenge der zusätzlichen Prüfpakete durchgeführt wird, wobei die hintere Teilmenge auf der Grundlage von Kapazitätsmessungen an dem empfangenen Chirp-Zug bestimmt wird.
  8. Verfahren nach Anspruch 1, wobei die Menge der zusätzlichen Prüfpakete, die einen Netzwerkpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt, eine Menge von Paketen ist, die den Pfad in einen Pfad mit eingeschränkter Rate überführt.
  9. Verfahren nach Anspruch 1, wobei die Menge der zusätzlichen Prüfpakete, die einen Netzwerkpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt, dynamisch auf der Grundlage von Messungen des Netzwerkpfads bestimmt wird.
  10. Verfahren nach Anspruch 1, wobei die Rate der ursprünglichen Prüfpakete durch den vom Empfänger durchgeführten ABW-Schätzungsprozess bestimmt wird und die Rate der zusätzlichen Prüfpakete durch eine Kurzzeitrate des Netzwerkpfads bestimmt wird.
  11. Ein Netzwerkknoten zum Durchführen von Burst-Paket-Vorladen für die Abschätzung der verfügbaren Bandbreite (ABW), wobei der Netzwerkknoten umfasst: einen Prozessor; und eine Speichereinheit, die operativ mit dem Prozessor verbunden ist, wobei die Speichereinheit Anweisungen enthält, die, wenn sie von dem Prozessor ausgeführt werden, den Trainingsknoten veranlassen, die folgenden Operationen durchzuführen: Vorbereitung eines Chirp-Zuges, der für die ABW-Schätzung verwendet werden soll, wobei der Chirp-Zug eine Menge von ursprünglichen Sondenpaketen umfasst; Bestimmung einer Anzahl zusätzlicher Prüfpakete, die einen Netzwerkpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt; Einfügen der bestimmten Anzahl zusätzlicher Sondenpakete am Anfang eines Chirp-Zuges; und Übertragung des Chirp-Zuges, einschließlich der ermittelten Anzahl zusätzlicher Prüfpakete auf dem Netzpfad, um den Pfad in den Langzeitmodus zu versetzen.
  12. Netzknoten nach Anspruch 11, wobei, wenn der Chirp-Zug an einem empfangenden Netzknoten empfangen wird, eine an dem Chirp-Zug durchgeführte ABW-Schätzung auf der Grundlage des durch den Ratenbegrenzer oder durch einen Traffic Shaper eingeschränkten Netzverkehrs durchgeführt wird.
  13. Netzknoten nach Anspruch 11, wobei die ermittelte Menge an zusätzlichen Prüfpaketen eine Menge an zusätzlichen Prüfpaketen umfasst, die, wenn sie dem Querverkehr im Netz hinzugefügt werden, den Netzpfad vom Kurzzeitmodus in den Langzeitmodus überführen.
  14. Netzknoten nach Anspruch 11, wobei die für den Chirp-Zug durchgeführte ABW-Schätzung die Durchführung einer ABW-Schätzung nur für die ursprünglichen Prüfpakete und nicht für die zusätzlichen Prüfpakete umfasst.
  15. Netzknoten nach Anspruch 11, wobei die ABW-Schätzung auf dem Chirp-Zug und einer Teilmenge der zusätzlichen Prüfpakete durchgeführt wird.
  16. Netzknoten nach Anspruch 15, wobei der Empfänger ferner so konfiguriert ist, dass er eine Kapazitätsänderung auf dem Chirp-Zug erkennt und die Kapazitätsänderung verwendet, um zu bestimmen, welche zusätzlichen Prüfpakete für die ABW-Schätzung zu verwenden sind.
  17. Netzknoten nach Anspruch 11, wobei die Menge an zusätzlichen Prüfpaketen, die einen Netzpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt, eine Menge an Paketen ist, die den Pfad in einen Pfad mit eingeschränkter Rate überführt.
  18. Netzknoten nach Anspruch 11, wobei die Menge der zusätzlichen Prüfpakete, die einen Netzpfad von einem Kurzzeitmodus in einen Langzeitmodus überführt, dynamisch auf der Grundlage von Messungen des Netzpfades bestimmt wird.
  19. Netzknoten nach Anspruch 11, wobei das ABW unter Verwendung der ursprünglichen Prüfpakete und einer nachlaufenden Teilmenge der zusätzlichen Prüfpakete durchgeführt wird.
  20. Netzknoten nach Anspruch 11, wobei die Rate der ursprünglichen Prüfpakete durch den vom Empfänger durchgeführten ABW-Schätzprozess bestimmt wird und die Rate der zusätzlichen Prüfpakete durch eine Kurzzeitrate des Netzweges bestimmt wird.
DE102021109229.9A 2020-09-09 2021-04-13 Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern Pending DE102021109229A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/016,329 2020-09-09
US17/016,329 US11502965B2 (en) 2020-09-09 2020-09-09 Burst packet preload for ABW estimation with rate limiters

Publications (1)

Publication Number Publication Date
DE102021109229A1 true DE102021109229A1 (de) 2022-03-10

Family

ID=80266889

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109229.9A Pending DE102021109229A1 (de) 2020-09-09 2021-04-13 Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern

Country Status (3)

Country Link
US (1) US11502965B2 (de)
CN (1) CN114244775A (de)
DE (1) DE102021109229A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11502965B2 (en) * 2020-09-09 2022-11-15 Hewlett Packard Enterprise Development Lp Burst packet preload for ABW estimation with rate limiters
US20230027995A1 (en) * 2021-07-21 2023-01-26 Cisco Technology, Inc. Generating long-term network changes from sla violations

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080049629A1 (en) * 2006-08-22 2008-02-28 Morrill Robert J System and method for monitoring data link layer devices and optimizing interlayer network performance
US7660261B2 (en) * 2006-11-14 2010-02-09 The Trustees Of Columbia University In The City Of New York Systems and methods for computing data transmission characteristics of a network path based on single-ended measurements
US8374082B2 (en) * 2007-03-13 2013-02-12 Alcatel Lucent Advanced bandwidth management
EP2266254B1 (de) 2008-03-26 2012-05-16 Telefonaktiebolaget L M Ericsson (publ) Schätzung der verfügbaren bandbreite in einem paketvermittelten kommunikationsnetz
US9667452B2 (en) * 2010-05-10 2017-05-30 Novatium Solutions (P) Limited Mechanism for integrating application data with available bandwidth estimation tools for cloud computing environments
EP2723021A1 (de) 2012-10-18 2014-04-23 Telefonaktiebolaget L M Ericsson AB (Publ) Verfahren und Vorrichtung zur Feststellung des Vorhandenseins eines rateneinschränkenden Mechanismus in einem Netz
RU2015129749A (ru) * 2012-12-21 2017-01-26 Телефонактиеболагет Л М Эрикссон (Пабл) Способ и компоновка узла для предоставления более точной оценки условий пути передачи данных
CN105075202B (zh) * 2013-03-28 2019-07-12 英国电讯有限公司 用于在分组网络中处理分组的方法、节点和分组网络
EP3257206B1 (de) 2015-02-11 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Regelung und vorbeugung von ethernet-überlastung
EP3526937A1 (de) * 2016-10-14 2019-08-21 Telefonaktiebolaget LM Ericsson (publ.) Heterogene flussüberlastungsregelung
US11115306B2 (en) 2017-05-15 2021-09-07 Nec Corporation Transmission device, available bandwidth estimation device, available bandwidth estimation system, method, and recording medium
US10462078B2 (en) * 2017-11-17 2019-10-29 Whatsapp Inc. Using signals extracted from a VOIP data stream to distinguish between network congestion and link losses
US11502965B2 (en) * 2020-09-09 2022-11-15 Hewlett Packard Enterprise Development Lp Burst packet preload for ABW estimation with rate limiters

Also Published As

Publication number Publication date
US20220078127A1 (en) 2022-03-10
CN114244775A (zh) 2022-03-25
US11502965B2 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
DE60213623T2 (de) Umlaufzeitabschätzungsverfahren und Einrichtung mittels Rückquittierung in einem Paketübertragungssystem
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE102021109229A1 (de) Burst-paket-vorbelastung für abw-schätzung mit ratenbegrenzern
DE60316494T2 (de) Zeitfensterbeschränkte Mehrfachsendung unter Benutzung von Verbindungsablau ffolgeplanung
DE60318539T2 (de) Netzwerküberwachungssystem, das auf Veränderungen der Variant und des Mittelwertes der Paketankunftszeiten reagiert
DE602004004831T2 (de) Verfahren und Vorrichtung zur Ablauffolgeplanung von Paketen auf einer Netzwerkverbindung mit einer auf der Eingangsrate basierenden Priorität
US8000240B2 (en) Method and system for providing auto-bandwidth adjustment
CN106713169B (zh) 一种控制流量带宽的方法和装置
CN103888315B (zh) 一种自适应的突发流量检测装置及其检测方法
CN106464598A (zh) 用于基于传输速率梯度的网络拥塞控制的方法和装置
DE102006060067A1 (de) Genaues Einstellen eines lokalen Taktes
US20160149831A1 (en) Resolving a convex optimization problem to optimize network traffic in a distributed system
EP2723021A1 (de) Verfahren und Vorrichtung zur Feststellung des Vorhandenseins eines rateneinschränkenden Mechanismus in einem Netz
CN103997522B (zh) 一种内容分发网络流量控制方法及终端
DE102018202902B4 (de) Dynamische TCP Proxy Auswahl zur Beschleunigung von kurzen Netzwerkflüssen
DE112010002229B4 (de) Bandbreitenzuweisung in einemn Resilient Packet Ring-Netzwerk durch einen P-Regler
DE112010002237B4 (de) Bandbreitenzuweisung in einem Resilient Packet Ring-Netzwerk durch einen PI-Regler
DE602004003690T2 (de) Verfahren und system zur dienstqualitätsoptimierung in einem datennetzwerk
DE102022109176A1 (de) Umgekehrte verlusterkennung für die schätzung der bandbreite von kommunikationsnetzen mit token- buckets
DE112018008106T5 (de) Bestimmung eines wendepunkts in der überlastung eines netzwerkpfads
DE112018008120T5 (de) Schätzung der verfügbaren netzwerkbandbreite unter verwendung eines einwegverzögerungs-rauschfilters mit erhebungs-erkennung
DE102022126173A1 (de) Filterung der geschätzten bandbreite auf der grundlage von paketverlustmustern
DE10319310B4 (de) Verbesserung der Auslastung von Links und Kommunikationsnetzen mit Zugangskontrolle
DE69937475T2 (de) Verfahren und Vorrichtung für die numerische Steuerung des Puffers und eines Phasenregelkreises für asynchrone Netzwerke

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012801000

Ipc: H04L0047100000

R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE