DE112019001647T5 - Netzwerk-Überlastungsverwaltung - Google Patents

Netzwerk-Überlastungsverwaltung Download PDF

Info

Publication number
DE112019001647T5
DE112019001647T5 DE112019001647.4T DE112019001647T DE112019001647T5 DE 112019001647 T5 DE112019001647 T5 DE 112019001647T5 DE 112019001647 T DE112019001647 T DE 112019001647T DE 112019001647 T5 DE112019001647 T5 DE 112019001647T5
Authority
DE
Germany
Prior art keywords
congestion
value
sequence length
ctr
count
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.)
Granted
Application number
DE112019001647.4T
Other languages
English (en)
Other versions
DE112019001647B4 (de
Inventor
Gregg B. Lesartre
Derek Alan Sherlock
Nicholas George McDonald
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 DE112019001647T5 publication Critical patent/DE112019001647T5/de
Application granted granted Critical
Publication of DE112019001647B4 publication Critical patent/DE112019001647B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

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

Abstract

Beispielhafte Realisierungen betreffen eine Überlastungsverwaltung quer über eine Netzwerkstruktur. Eine beispielhafte Realisierung umfasst Einstellen eines Schwellenwerts für eine Sequenzlänge ohne Überlastung auf einen ersten Wert. Eine Zählung empfangener abgeschlossener Transaktionen kann ebenfalls auf einen ersten Wert eingestellt werden. Die Zählung empfangener abgeschlossener Transaktionen kann in Reaktion auf einen Abschluss einer Transaktionsanforderung heraufgesetzt werden. In Reaktion auf ein erfasstes Überlastungsereignis kann die Einspeisungsgeschwindigkeit gesenkt werden. Ein zweiter Wert für den Schwellenwert für die Sequenzlänge ohne Überlastung kann aus der CTR-Zählung ermittelt werden und der Schwellenwert für die Sequenzlänge ohne Überlastung kann auf den zweiten Wert eingestellt werden. Ferner kann die Einspeisungsgeschwindigkeit in Reaktion darauf, dass die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, gesteigert werden.

Description

  • Hintergrund
  • Ein Netzwerk kann durch Netzwerk-Datenverkehr überlastet werden. Die Netzwerküberlastung kann durch eine beliebige Anzahl an Engpässen begründet sein. Beispielsweise kann der Netzwerk-Datenverkehr von einer beliebigen Anzahl an Quellenknoten an einen Zielknoten gerichtet sein und die Verbindungsbandbreite zu dem Zielknoten kann begrenzt und mit dem Datenverkehr überfordert sein. In einem anderen Beispiel kann die Verarbeitungsgeschwindigkeit des Zielknotens begrenzt sein, so dass der Zielknoten Daten nicht schneller verarbeiten kann, als er die Daten empfängt. Es kann sein, dass ein Zielknoten aus zahlreichen Gründen in der Geschwindigkeit nicht den Daten mithalten kann, die der Zielknoten empfängt, z.B. wegen Cache-Fehlgriffen, Speicherbankkonflikten usw.
  • Figurenliste
  • Bestimmte Beispiele werden in der folgenden detaillierten Beschreibung und in Bezug auf die Zeichnungen beschrieben, in welchen:
    • 1 ein Blockschaubild eines beispielhaften Netzwerksystems mit verwalteter Netzwerküberlastung ist;
    • 2 ein Blockschaubild ist, welches einen beispielhaften Quellenknoten veranschaulicht, der Überlastungsverwaltungseinheiten aufweist, um die Einspeisungsgeschwindigkeit des Quellenknotens zu steigern und/oder zu senken;
    • 3 ein Ablaufplan ist, welcher ein Verfahren zum Verwalten der Einspeisungsgeschwindigkeit eines Quellenknotens veranschaulicht;
    • 4 ein Ablaufplan ist, welcher ein anderes Verfahren zum Verwalten der Einspeisungsgeschwindigkeit eines Quellenknotens veranschaulicht;
    • 5 ein Blockschaubild ist, welches einen Netzwerkknoten zum Verwalten einer Netzwerkknoten-Einspeisungsgeschwindigkeit veranschaulicht;
    • 6 ein Blockschaubild ist, welches einen beispielhaften Netzwerkknoten zum Verwalten von Netzwerk-Strukturüberlastung veranschaulicht;
    • 7 ein Blockschaubild ist, welches ein Beispiel einer Netzwerk-Schnittstelle zum Verwalten von Netzwerk-Strukturüberlastung veranschaulicht;
    • 8 ein Blockschaubild ist, welches ein anderes Beispiel einer Netzwerk-Schnittstelle zum Verwalten von Netzwerk-Strukturüberlastung veranschaulicht.
  • Detaillierte Beschreibung spezieller Beispiele
  • Um die Netzwerküberlastung zu verringern, können Quellenknoten, Kommunikationsumverteilungspunkten und/oder Kommunikationsendpunkten Überlastungsgeschwindigkeiten zum Senden von Transaktionsanforderungen zugewiesen werden. Speziell kann einem Quellenknoten eine Geschwindigkeit zugewiesen werden, mit welcher der Quellenknoten Datenverkehr in das Netzwerk einspeisen kann. Wo an einem bestimmten Zielknoten Überlastung auftritt, kann ein Quellenknoten, der Datenverkehr zu dem Zielknoten aussendet, gedrosselt werden, so dass die Einspeisungsgeschwindigkeit des Quellenknotens auf eine niedrigere Geschwindigkeit gesenkt wird. Sobald die Überlastung entschärft ist, kann die Einspeisungsgeschwindigkeit des Quellenknotens gesteigert werden.
  • Um Netzwerküberlastung zu erfassen, können vielerlei Ansätze realisiert werden. In einem beispielhaften Fall kann ein Überlastungsereignis an einem Zielknoten bestimmt werden, d.h. an einem Knoten, der Netzwerk-Datenverkehr empfängt. Das Überlastungsereignis kann aufgrund einer Netzwerk-Schwellenlatenzzeit auftreten, wobei der Zielknoten einen Schwellenwert für empfangene Transaktionen innerhalb einer gegebenen Zeit überschreitet, wobei der Zielknoten einen Schwellenwert für empfangene Transaktionen innerhalb eines Pufferspeichers des Zielknotens überschreitet, die zu verarbeiten sind, eine beliebige Kombination davon zutrifft und/oder andere Indikatoren für Netzwerküberlastung am Zielknoten vorliegen. In Reaktion auf das Identifizieren des Vorliegens eines Überlastungsereignisses kann der Zielknoten Transaktionen, die an dem Zielknoten empfangen werden, mit einem Überlastungsindikator markieren. Der Überlastungsindikator kann eine Transaktionsantwort von dem Zielknoten begleiten, um einem entsprechenden Quellenknoten anzuzeigen, dass der Zielknoten ein Überlastungsereignis erfahren hat.
  • Sobald die Netzwerküberlastung entschärft ist, kann die Einspeisungsgeschwindigkeit von Transaktionen, die von dem Quellenknoten in das Netzwerk gesendet werden, gesteigert werden. Um die Entschärfung der Netzwerküberlastung zu bestimmen, können vielerlei Ansätze realisiert werden. Wie oben beschrieben, kann ein Quellenknoten Transaktionsantworten von einem Zielknoten empfangen. Um zu bestimmen, wann eine Netzwerküberlastung entschärft worden ist, kann der Quellenknoten eine Anzahl von Transaktionen verfolgen, die abgeschlossen worden sind. Der Quellenknoten kann die Anzahl der Transaktionen, die ohne Netzwerküberlastung abgeschlossen wurden, mit einem Schwellenwert für eine Sequenz ohne Überlastung vergleichen.
  • Der Zeitpunkt, wann die Einspeisungsgeschwindigkeit des Quellenknotens gesteigert wird, kann aus dem Schwellenwert für die Sequenzlänge ohne Überlastung bestimmt werden. Beispielsweise kann die Einspeisungsgeschwindigkeit des Quellenknotens gesteigert werden, wenn die Anzahl der abgeschlossenen Transaktionen größer oder gleich dem Schwellenwert für die Sequenz ohne Überlastung ist. In einigen Realisierungen muss der Schwellenwert für die Sequenzlänge ohne Überlastung kein fester Wert sein. Beispielsweise kann der Schwellenwert für die Sequenzlänge ohne Überlastung in Reaktion auf eine Steigerung oder Absenkung der Einspeisungsgeschwindigkeit des Quellenknotens zurückgesetzt werden. In einigen Beispielen kann der Schwellenwert für die Sequenzlänge ohne Überlastung auf einen Wert eingestellt werden, welcher einer Zählung abgeschlossener Transaktionen entspricht, wie nachstehend noch detaillierter beschrieben wird.
  • 1 ist ein Blockschaubild einer beispielhaften Netzwerk-Systemstruktur 100 mit verwalteter Netzwerküberlastung. 1 umfasst beispielhafte Quellenknoten 102 bis 106 zum Senden von Transaktionsanforderungen. Die Quellenknoten 102 bis 106 können Überlastungsverwaltungseinheiten 112 bis 116 umfassen, welche eine Überlastungsverwaltungslogik zum Verwalten von Überlastung innerhalb der Netzwerk-Systemstruktur aufweisen. 1 umfasst ferner beispielhafte Zielknoten 122 bis 126 zum Empfangen von Transaktionen von den Quellenknoten 102 bis 106 und zum Senden von Transaktionsantworten an die Quellenknoten 102 bis 106. Drei beispielhafte Quellenknoten 102 bis 106 und drei beispielhafte Zielknoten 122 bis 126 sind als Teil der Netzwerkstruktur dargestellt. Jedoch kann ein einzelner Knoten sowohl ein Quellenknoten als auch ein Zielknoten sein und innerhalb einer Netzwerkstruktur kann eine beliebige Anzahl an Quellenknoten und/oder Zielknoten realisiert werden.
  • Transaktionen können in der Form eines Datenpakets, wie z.B. des Pakets 150, zu und von den Quellenknoten 102 bis 106 gesendet werden. Das Paket 150 kann einen Überlastungsindikator 152 umfassen. Der Überlastungsindikator 152 kann ein Überlastungsbit sein, das von einem Zielknoten oder einem anderen Knoten der Struktur zu markieren ist, um eine Überlastung anzuzeigen. Beispielweise kann ein 1-Bit-Überlastungsindikator einen Wert „1“ umfassen, wenn eine Überlastung angezeigt ist, und einen Wert „0“, wenn keine Überlastung angezeigt ist. Ein Zielknoten kann zum Beispiel eine Transaktion von einem Quellenknoten zu einem Zeitpunkt empfangen, wenn der Zielknoten überlastet ist. Der Zielknoten kann eine Transaktionsantwort, die einen Überlastungsindikator aufweist, der mit einem Wert „1“ markiert ist, an den Quellenknoten senden, um den Quellenknoten über den überlasteten Zielknoten zu alarmieren. Umgekehrt kann der Zielknoten eine Transaktionsantwort, die einen Überlastungsindikator aufweist, der mit einem Wert „0“ markiert ist, an den Quellenknoten senden, um den Quellenknoten zu alarmieren, dass der Zielknoten nicht überlastet ist.
  • Die Quellenknoten 102 bis 106, wie dargestellt, umfassen Überlastungsverwaltungseinheiten 112 bis 116, welche eine Überlastungsverwaltungslogik aufweisen. Die Überlastungsverwaltungseinheiten 112 bis 116 können dynamisch auf eine Überlastung reagieren, die an einem der Zielknoten 122 bis 126 auftritt, indem sie die Einspeisungsgeschwindigkeit eines Quellenknotens ändern. Beispielsweise kann die Überlastungsverwaltungseinheit 112 die Einspeisungsgeschwindigkeit des Quellenknotens 102 steigern oder senken, die Überlastungsverwaltungseinheit 114 kann die Einspeisungsgeschwindigkeit des Quellenknotens 104 steigern oder senken und/oder die Überlastungsverwaltungseinheit 116 kann die Einspeisungsgeschwindigkeit des Quellenknotens 106 steigern oder senken.
  • Zum Regeln der Änderung der Einspeisungsgeschwindigkeit eines Quellenknotens kann eine beliebige Anzahl an Verfahren realisiert werden. Die Einspeisungsgeschwindigkeit eines Quellenknotens kann um einen Prozentsatz der vorhergehenden Einspeisungsgeschwindigkeit gesteigert und/oder gesenkt werden und kann über eine Formel gesteigert und/oder gesenkt werden, welche steuert, ob die Einspeisungsgeschwindigkeit linear, exponentiell und/oder um irgendeine andere Geschwindigkeit gesteigert und/oder gesenkt wird, um die Netzwerk-Reaktionszeit zu optimieren, während die Netzwerküberlastung minimiert wird. Als ein anderes Beispiel kann die Einspeisungsgeschwindigkeit eines Quellenknotens gemäß einer Reihe von schrittweisen und diskreten Einspeisungsgeschwindigkeiten eines Quellenknotens gesteigert und/oder gesenkt werden.
  • 2 ist ein Blockschaubild 200, welches einen beispielhaften Quellenknoten 202 veranschaulicht, der eine Überlastungsverwaltungseinheit 212 aufweist, um die Einspeisungsgeschwindigkeit des Quellenknotens 202 gemäß einer Reihe von schrittweisen und diskreten vorbestimmten Einspeisungsgeschwindigkeiten zu steigern und/oder zu senken. Beispielhafte Einspeisungsgeschwindigkeiten sind in der Tabelle 250 aufgelistet. Speziell sind in der Tabelle 250 die beispielhaften Einspeisungsgeschwindigkeiten 222 bis 230 aufgelistet. Obwohl fünf beispielhafte Einspeisungsgeschwindigkeiten aufgelistet sind, können innerhalb eines Quellenknotens eine beliebige Anzahl an diskreten Einspeisungsgeschwindigkeiten realisiert werden. In diesem Beispiel entspricht eine höhere Einspeisungsgeschwindigkeit einer höheren Anzahl an Transaktionen, die je Sekunde gesendet werden. Beispielsweise entspricht die Einspeisungsgeschwindigkeit 1 bzw. 222 einer ungedrosselten Geschwindigkeit von X Transaktionen je Sekunde. Die ungedrosselte Geschwindigkeit kann eine höchste Geschwindigkeit sein, mit welcher Transaktionen von dem Quellenknoten gesendet werden können, und kann in einem Beispiel eine Geschwindigkeit sein, welche keine künstlichen Beschränkungen aufweist. Umgekehrt können die Einspeisungsgeschwindigkeiten 2 bis 5 bzw. 224 bis 230 gedrosselte Geschwindigkeiten sein, welche künstlich die Geschwindigkeit beschränken, mit welcher der Quellenknoten 202 Transaktionen in das Netzwerk einspeisen kann. Beispielsweise kann die Einspeisungsgeschwindigkeit 2 bzw. 224 einer Geschwindigkeit von 0,8X Transaktionen je Sekunde entsprechen. Die Überlastungsverwaltungseinheit 212 kann die Einspeisungsgeschwindigkeit des Quellenknotens 202 bestimmen und kann die aktuelle Einspeisungsgeschwindigkeit des Quellenknotens 202 gemäß der Beispielstabelle 250 steigern oder senken.
  • In einigen beispielhaften Realisierungen kann die Differenz zwischen diskreten gedrosselten Einspeisungsgeschwindigkeiten des Quellenknotens 202 durch den Anteil des vom Quellenknoten 202 an einen überlasteten Zielknoten gesendeten Datenverkehrs bestimmt werden. Einspeisungsgeschwindigkeitsdifferenzen, die aus dem Anteil des von einem Quellenknoten an einen überlasteten Zielknoten gesendeten Datenverkehrs bestimmt werden, ermöglichen einem überlasteten Zielknoten eine beständige Entschärfung der Überlastung, ungeachtet der Anzahl der Quellenknoten, von welchen er Transaktionsanforderungen empfängt, und ungeachtet der Anzahl anderer Zielknoten, auf welche jede Quelle zugreifen kann.
  • Man betrachte die folgenden zwei beispielhaften Szenarien. In einem ersten Szenario kann der Quellenknoten 202 Teil einer ähnlichen Netzwerkstruktur wie der des beispielhaften Quellenknotens 106 der 1 sein und kann mit einem einzelnen Zielknoten in Kommunikation stehen, z.B. dem beispielhaften Zielknoten 126. In diesem ersten Szenario kann der beispielhafte Quellenknoten 202 100 % der Überlastung beitragen, die der Zielknoten 126 erfährt. Die Differenzen zwischen den Einspeisungsgeschwindigkeiten des Quellenknotens 202 können den Einspeisungsgeschwindigkeiten entsprechen, die in 2 veranschaulicht sind. Somit kann die Überlastungsverwaltungseinheit 212 zum Beispiel den Quellenknoten 202 von der Einspeisungsgeschwindigkeit 2 mit einer Geschwindigkeit von 8X Transaktionen je Sekunde auf eine Einspeisungsgeschwindigkeit 3 mit einer Geschwindigkeit von 0,7X Transaktionen je Sekunde drosseln, wenn der Zielknoten 126 überlastet ist.
  • In einem zweiten Szenario kann der Quellenknoten 202 Teil einer ähnlichen Netzwerkstruktur wie der des beispielhaften Quellenknotens 102 der 1 sein und kann mit mehreren Zielknoten in Kommunikation stehen, z.B. dem beispielhaften Zielknoten 122 und dem beispielhaften überlasteten Zielknoten 124. In dem zweiten beispielhaften Szenario kann der Quellenknoten 202 ungefähr 50 % der Bandbreite am überlasteten Zielknoten 124 beitragen. Somit kann die Überlastungsverwaltungseinheit 212 in dem zweiten Szenario den Quellenknoten 202 um einen gewissen Prozentsatz der Differenz der der Einspeisungsgeschwindigkeit 2 mit einer Geschwindigkeit von 8X Transaktionen je Sekunde zu der Einspeisungsgeschwindigkeit 3 mit einer Geschwindigkeit von 0,7X Transaktionen je Sekunde drosseln. Entsprechend kann die Differenz zwischen diskreten gedrosselten Einspeisungsgeschwindigkeiten des Quellenknotens 202 dem Anteil des Datenverkehrs entsprechen, der von dem Quellenknoten 202 an einen überlasteten Zielknoten gesendet wird, relativ zu anderen Zielknoten.
  • 3 ist ein Ablaufplan, welcher ein Verfahren 300 zum Verwalten der Einspeisungsgeschwindigkeit eines Quellenknotens veranschaulicht. Die Ausführung des Verfahrens 300 kann nachstehend in Bezug auf das System 100 und das System 200 beschrieben sein und kann zum Beispiel durch eine der Überlastungsverwaltungseinheiten 112, 114, 116 und/oder 212 des Systems 100 bzw. 200 erfolgen. Es können jedoch auch andere geeignete Komponenten zum Ausführen des Verfahrens 300 verwendet werden. Außerdem können die Komponenten zum Ausführen des Verfahrens 300 auf mehrere Vorrichtungen verteilt sein. Das Verfahren 300 kann in der Form ausführbarer Befehle, die auf einem maschinenlesbaren Speichermedium gespeichert sind, und/oder in der Form elektronischer Schaltungen, z.B. Hardware, realisiert werden. In einigen Beispielen können Schritte des Verfahrens 300 im Wesentlichen gleichzeitig oder in einer anderen Reihenfolge ausgeführt werden, als in 3 dargestellt. In einigen Beispielen kann das Verfahren 300 mehr oder weniger Schritte umfassen, als in 3 dargestellt sind. In einigen Beispielen können einige der Schritte des Verfahrens 300 zu bestimmten Zeiten andauern und/oder wiederholt werden.
  • Die Einspeisungsgeschwindigkeit des Quellenknotens kann gedrosselt, d.h. gesenkt werden, um eine Überlastung in einem Netzwerk zu entschärfen, was jedoch zu langsameren Transaktionsabschlusszeiten führen kann. Ein Schwellenwert für eine Sequenzlänge ohne Überlastung kann ein Wert sein, der verwendet wird, um zu bestimmen, wann die Einspeisungsgeschwindigkeit eines Quellenknotens gesteigert werden kann. Im Block 302 kann ein Schwellenwert für eine Sequenzlänge ohne Überlastung eines Quellenknotens eingestellt werden. Beispielsweise kann die Überlastungsverwaltungseinheit 212 einen Schwellenwert für eine Sequenzlänge ohne Überlastung für den Quellenknoten 202 und/oder für einen anderen Netzwerkknoten einstellen.
  • Ferner kann eine Zählung empfangener abgeschlossener Transaktionen (Completed Transaction Received, CTR) angewendet werden und mit dem Schwellenwert für die Sequenzlänge ohne Überlastung verglichen werden, um zu bestimmen, wann die Einspeisungsgeschwindigkeit eines Quellenknotens gesteigert werden kann. Im Block 304 kann die CTR-Zählung auf einen Anfangswert wie den Wert 0 oder irgendeinen anderen Wert gesetzt werden, auf welchem die CTR-Zählung initialisiert werden kann. Im Block 306 kann der CTR-Wert in Reaktion darauf, dass eine Transaktionsanforderung abgeschlossen wird, heraufgesetzt werden. Wenn beispielsweise die CTR-Zählung an einem Quellenknoten heraufgesetzt wird, kann die CTR-Zählung in Reaktion darauf heraufgesetzt werden, dass eine Transaktionsanforderung an dem Quellenknoten von einem Zielknoten empfangen wird, was den Abschluss der Transaktionsanforderung anzeigt.
  • Im Block 308 kann bestimmt werden, ob ein Überlastungsereignis erfasst wurde. Wie oben angegeben, kann ein Überlastungsereignis aus vielerlei Gründen auftreten, welche zu Transaktionsabschlussverzögerungen und/oder Transaktionsanforderungsfehlern führen. Ein Überlastungsereignis kann eine Überlastung über eine Netzwerkstruktur und in einigen Beispielen an einem bestimmten Zielknoten anzeigen. In Reaktion auf das Identifizieren des Vorliegens einer Überlastung kann ein Zielknoten Transaktionen, die an dem Zielknoten empfangen werden, mit einem Überlastungsindikator markieren. Der Überlastungsindikator kann eine Transaktionsantwort von dem Zielknoten begleiten, um entsprechenden Quellenknoten anzuzeigen, dass der Zielknoten ein Überlastungsereignis erfahren hat. Somit kann das Überlastungsereignis an dem Zielknoten und/oder dem Quellenknoten erfasst werden.
  • Es können andere Verfahren angewendet werden, um ein Überlastungsereignis an einem Netzwerkknoten zu erfassen. In einigen beispielhaften Realisierungen kann ein Überlastungsereignis erfasst werden, wenn ein Quellenknoten eine Transaktionsanforderung sendet und innerhalb einer bestimmten Zeitperiode, z.B. einer bestimmten Zeitperiode für die Transaktionsanforderung zum Durchqueren der Netzwerkstruktur, keine Transaktionsantwort empfängt. In einigen Beispielen kann der Quellenknoten die Transaktionsanforderung neu senden, nachdem er innerhalb der bestimmten Zeitperiode keine Transaktionsantwort erhalten hat. In diesem Beispiel kann ein Überlastungsereignis aus einem Schwellenwert für eine Anzahl von Neusendungen einer bestimmten Transaktionsanforderung ohne Empfang einer Transaktionsantwort bestimmt werden.
  • Ein Quellenknoten kann gedrosselt werden, wenn ein Überlastungsereignis erfasst wird. Im Block 310 kann die Einspeisungsgeschwindigkeit eines Quellenknotens in Reaktion auf ein erfasstes Überlastungsereignis gesenkt werden. Zur Veranschaulichung in Bezug auf 2 kann die Überlastungsverwaltungseinheit 212 ein Überlastungsereignis erfassen und in Reaktion darauf die Einspeisungsgeschwindigkeit des Quellenknotens 202 gemäß den diskreten Einspeisungsgeschwindigkeiten senken, die in der Beispielstabelle 250 aufgelistet sind, oder gemäß einer anderen Formel zum Steigern und/oder Senken einer Quellenknoten-Einspeisungsgeschwindigkeit.
  • Im Block 312 kann ein neuer Schwellenwert für die Sequenzlänge ohne Überlastung bestimmt werden. Wie nachstehend beschrieben wird, kann ein Schwellenwert für die Sequenzlänge ohne Überlastung verwendet werden, um zu bestimmen, wann eine Einspeisungsgeschwindigkeit eines Quellenknotens gesteigert werden kann. Der neue Schwellenwert für die Sequenzlänge ohne Überlastung kann aus einer Funktion der aktuellen CTR-Zählung ermittelt werden. Zum Beispiel kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung in Reaktion auf ein erfasstes Überlastungsereignis auf die aktuelle CTR-Zählung, auf ein Vielfaches oder einen Bruchteil der aktuellen CTR-Zählung und/oder irgendeine andere Funktion in Abhängigkeit von der CTR-Zählung gesetzt werden.
  • In einem anderen Beispiel kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung aus einer Funktion der aktuellen CTR-Zählung und des vorhergehenden Schwellenwerts für die Sequenzlänge ohne Überlastung ermittelt werden. Der vorhergehende Schwellenwert für die Sequenzlänge ohne Überlastung kann in ähnlicher Weise eine Funktion einer vorhergehenden CTR-Zählung und eines vorhergehenden Schwellenwerts für die Sequenzlänge ohne Überlastung sein. Somit kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung sowohl aus dem aktuellen CTR-Wert als auch aus den vorhergehenden CTR-Werten ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung ein gewichteter oder ungewichteter Mittelwert des aktuellen CTR-Werts und vorhergehender CTR-Werte sein. Der Bestimmung des neuen Schwellenwerts für die Sequenzlänge ohne Überlastung im Block 312 kann eine Rückkehr zum Block 302 folgen, in welchem der neue Schwellenwert für die Sequenzlänge ohne Überlastung eingestellt werden kann. Der Schwellenwert für die Sequenzlänge ohne Überlastung kann somit dynamisch angepasst werden, basierend auf einer Historie abgeschlossener Transaktionsanforderungen. Dementsprechend können aktuelle und/oder vorhergehende CTR-Werte verwendet werden, um einen neuen Schwellenwert für die Sequenzlänge ohne Überlastung zu bestimmen.
  • Im Block 314 kann bestimmt werden, ob die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist. Einer negativen Bestimmung im Block 314 kann eine Rückkehr zum Block 306 folgen. Einer positiven Bestimmung im Block 314 kann im Block 316 eine Steigerung für eine Quellenknoten-Einspeisungsgeschwindigkeit folgen. Somit kann die CTR-Zählung heraufgesetzt werden, bis entweder ein Überlastungsereignis erfasst wird oder, wenn kein Überlastungsereignis erfasst wird, bevor die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, eine Einspeisungsgeschwindigkeit gesteigert wird. Dementsprechend kann ein Schwellenwert für die Sequenzlänge ohne Überlastung verwendet werden, um zu bestimmen, wann eine Einspeisungsgeschwindigkeit eines Quellenknotens gesteigert werden kann.
  • 4 ist ein Ablaufplan, welcher ein anderes Verfahren 400 zum Verwalten der Einspeisungsgeschwindigkeit eines Quellenknotens veranschaulicht. Die Ausführung des Verfahrens 400 kann nachstehend in Bezug auf das System 100 und das System 200 beschrieben sein und kann zum Beispiel durch eine der Überlastungsverwaltungseinheiten 112, 114, 116 und/oder 212 des Systems 100 bzw. 200 erfolgen. Es können jedoch auch andere geeignete Komponenten zum Ausführen des Verfahrens 400 verwendet werden. Außerdem können die Komponenten zum Ausführen des Verfahrens 400 auf mehrere Vorrichtungen verteilt sein. Das Verfahren 400 kann in der Form ausführbarer Befehle, die auf einem maschinenlesbaren Speichermedium gespeichert sind, und/oder in der Form elektronischer Schaltungen, z.B. Hardware, realisiert werden. In einigen Beispielen können Schritte des Verfahrens 400 im Wesentlichen gleichzeitig oder in einer anderen Reihenfolge ausgeführt werden, als in 4 dargestellt. In einigen Beispielen kann das Verfahren 400 mehr oder weniger Schritte umfassen, als in 4 dargestellt sind. In einigen Beispielen können einige der Schritte des Verfahrens 400 zu bestimmten Zeiten andauern und/oder wiederholt werden.
  • Im Block 402 kann ein Schwellenwert für eine Sequenzlänge ohne Überlastung eines Quellenknotens eingestellt werden. Beispielsweise kann die Überlastungsverwaltungseinheit 212 einen Schwellenwert für eine Sequenzlänge ohne Überlastung für den Quellenknoten 202 und/oder für einen anderen Netzwerkknoten einstellen. Im Block 404 kann eine Zählung empfangener abgeschlossener Transaktionen (CTR) gespeichert werden.
  • Für eine Transaktionsanforderung, die von der Quelle gesendet wird, kann eine Zeitperiode zum Durchqueren der Struktur ablaufen, bevor die CTR-Zählung auf einen Anfangswert gesetzt wird. Der Effekt des Senkens der Einspeisungsgeschwindigkeit im Block 414 kann nach einer Zeitperiode quer durch die Netzwerkstruktur realisiert werden. In einigen Beispielen ist eine Zeitperiode zum Durchqueren der Struktur für eine Transaktionsanforderung eine Zeit, die ausreicht, dass eine Transaktionsanforderung von einem Quellenknoten gesendet wird, an einem Zielknoten empfangen wird und als eine Transaktionsantwort an den Quellenknoten zurückgesendet wird. In einigen beispielhaften Realisierungen ist eine Zeitperiode zum Durchqueren der Struktur für eine Transaktionsanforderung äquivalent zu einer Lebensdauer einer Transaktionsanforderung. In einem anderen Beispiel kann die Zeitperiode einer Zeit für eine Anzahl von Transaktionen, die zu dem Anteil des von einem Quellenknoten an einen überlasteten Zielknoten gesendeten Datenverkehrs äquivalent ist, zum Durchqueren der Struktur entsprechen. Beispielsweise kann der Quellenknoten 102 der 1 Transaktionsanforderungen an den nicht überlasteten Zielknoten 122 und den überlasteten Zielknoten 124 senden. Da der Quellenknoten 102 Datenverkehr an zwei Zielknoten 122 bzw. 124 sendet, kann die Zeitperiode einer Zeit zum Durchqueren der Struktur für zwei Transaktionen oder ein beliebiges Vielfaches von zwei Transaktionen entsprechen. Nach dieser Zeitperiode können die Effekte des Senkens der Einspeisungsgeschwindigkeit quer durch die Netzwerkstruktur realisiert werden.
  • Sobald die Zeitperiode abgelaufen ist, kann die CTR-Zählung im Block 408 auf einen Anfangswert gesetzt werden und im Block 410 kann der CTR-Wert in Reaktion darauf, dass eine Transaktionsanforderung abgeschlossen wird, heraufgesetzt werden. Im Block 412 kann bestimmt werden, ob ein Überlastungsereignis erfasst wurde. Nach dem Erfassen eines Überlastungsereignisses kann ein Quellenknoten gedrosselt werden. Im Block 414 kann die Einspeisungsgeschwindigkeit eines Quellenknotens in Reaktion auf das erfasste Überlastungsereignis gesenkt werden.
  • Im Block 416 kann ein neuer Schwellenwert für eine Sequenzlänge ohne Überlastung bestimmt werden. Der neue Schwellenwert für die Sequenzlänge ohne Überlastung kann aus einer Funktion der aktuellen CTR-Zählung ermittelt werden und kann aus dem Wert der aktuellen CTR-Zählung, aus einem Vielfachen oder einem Bruchteil der aktuellen CTR-Zählung und/oder aus irgendeiner anderen Funktion der CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung aus einer Funktion der aktuellen CTR-Zählung und einer gespeicherten CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung ein gewichteter oder ungewichteter Mittelwert des aktuellen CTR-Werts und eines gespeicherten CTR-Werts sein. Der Bestimmung des neuen Schwellenwerts für die Sequenzlänge ohne Überlastung im Block 416 kann eine Rückkehr zum Block 402 folgen, wo der neue Schwellenwert für die Sequenzlänge ohne Überlastung eingestellt werden kann. Entsprechend können aktuelle und/oder vorhergehende CTR-Werte verwendet werden, um einen neuen Schwellenwert für die Sequenzlänge ohne Überlastung zu bestimmen.
  • Im Block 418 kann bestimmt werden, ob die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist. Einer negativen Bestimmung im Block 418 kann eine Rückkehr zum Block 410 folgen. Einer positiven Bestimmung im Block 418 kann im Block 420 eine Steigerung für eine Quellenknoten-Einspeisungsgeschwindigkeit folgen. Somit kann die CTR-Zählung heraufgesetzt werden, bis entweder ein Überlastungsereignis erfasst wird oder, wenn kein Überlastungsereignis erfasst wird, bevor die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, eine Einspeisungsgeschwindigkeit gesteigert wird.
  • Im Block 422 kann nach dem Steigern der Einspeisungsgeschwindigkeit im Block 420 ein neuer Schwellenwert für die Sequenzlänge ohne Überlastung bestimmt werden. Der neue Schwellenwert für die Sequenzlänge ohne Überlastung kann aus einer Funktion der aktuellen CTR-Zählung ermittelt werden und kann aus dem Wert der aktuellen CTR-Zählung, aus einem Vielfachen oder einem Bruchteil der aktuellen CTR-Zählung und/oder aus irgendeiner anderen Funktion der CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung aus einer Funktion der aktuellen CTR-Zählung und einer gespeicherten CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung aus einer Funktion einer aktuellen CTR-Zählung, des vorhergehenden Schwellenwerts für die Sequenzlänge ohne Überlastung, einer gespeicherten CTR-Zählung und/oder einer beliebigen Kombination davon ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung ein gewichteter oder ungewichteter Mittelwert des aktuellen CTR-Werts und/oder früherer CTR-Werte sein. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung in Reaktion auf eine Steigerung der Einspeisungsgeschwindigkeit im Block 420 unverändert bleiben. Der Bestimmung des neuen Schwellenwerts für die Sequenzlänge ohne Überlastung im Block 422 kann eine Rückkehr zum Block 402 folgen, wo der neue Schwellenwert für die Sequenzlänge ohne Überlastung eingestellt wird.
  • 5 ist ein Blockschaubild 500, welches einen Netzwerkknoten 502 veranschaulicht, der eine Überlastungsverwaltungseinheit 510 zum Verwalten einer Netzwerkknoten-Einspeisungsgeschwindigkeit umfasst. Der Netzwerkknoten 502 kann als Hardware oder eine Kombination von Hardware und Software/Firmware realisiert werden und kann über eine Netzwerkstruktur mit anderen Netzwerkknoten in Kommunikation stehen. In ähnlicher Weise kann die Überlastungsverwaltungseinheit 510 als Hardware oder eine Kombination von Hardware und Software/Firmware realisiert werden. Beispielsweise kann die Überlastungsverwaltungseinheit 510 als logische Schaltungen, Verarbeitungsschaltungen (z.B. Zentralprozessoren (CPUs), Mikroprozessoren, Mikrocontroller-Vorrichtungen, digitale Signalprozessoren (DSPs) usw.), welche maschinenlesbare Befehle ausführen, die auf nichtflüchtigen maschinenlesbaren Medien gespeichert sind, anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische Befehlssatzprozessoren (ASIPs) und/oder dergleichen, in einer beliebigen Kombination der vorstehenden physischen Strukturen realisiert werden, von denen einige gemeinsam benutzt werden können. Ferner können die logischen Schaltungen und/oder Verarbeitungsschaltungen der Überlastungsverwaltungseinheit 510 als eine einzelne Komponente realisiert sein oder auf mehrere Komponenten aufgeteilt sein.
  • Die Blöcke 512 bis 528 veranschaulichen die Logik, die von der Überlastungsverwaltungseinheit 510 auszuführen ist. Obwohl die Blöcke 512 bis 528 nachstehend in einer bestimmten Sequenz beschrieben werden, können die Blöcke 512 bis 528 im Wesentlichen gleichzeitig oder in einer anderen Reihenfolge ausgeführt werden, als in 5 dargestellt. Im Block 512 kann die Überlastungsverwaltungseinheit 510 einen Schwellenwert für eine Sequenzlänge ohne Überlastung auf einen ersten Wert einstellen. Beispielsweise kann die Überlastungsverwaltungseinheit 510 einen Schwellenwert für eine Sequenzlänge ohne Überlastung für den Netzwerkknoten 502 einstellen.
  • Im Block 514 kann eine Zählung empfangener abgeschlossener Transaktionen (CTR) auf einen Anfangswert eingestellt werden und im Block 516 kann der CTR-Wert in Reaktion darauf, dass eine Transaktionsanforderung abgeschlossen wird, heraufgesetzt werden. Es kann bestimmt werden, ob ein Überlastungsereignis erfasst wurde. Nach dem Erfassen eines Überlastungsereignisses kann ein Quellenknoten gedrosselt werden. Im Block 518 kann in Reaktion auf das erfasste Überlastungsereignis die Einspeisungsgeschwindigkeit eines Quellenknotens gesenkt werden.
  • Im Block 520 kann in Reaktion auf das erfasste Überlastungsereignis ein neuer Schwellenwert für die Sequenzlänge ohne Überlastung bestimmt werden. Der neue Schwellenwert für die Sequenzlänge ohne Überlastung kann aus einer Funktion der aktuellen CTR-Zählung ermittelt werden und kann aus dem Wert der aktuellen CTR-Zählung, aus einem Vielfachen oder einem Bruchteil der aktuellen CTR-Zählung und/oder aus irgendeiner anderen Funktion der CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung aus einer Funktion der aktuellen CTR-Zählung und einer gespeicherten CTR-Zählung ermittelt werden. In einigen beispielhaften Realisierungen kann der neue Schwellenwert für die Sequenzlänge ohne Überlastung ein gewichteter oder ungewichteter Mittelwert des aktuellen CTR-Werts und eines gespeicherten CTR-Werts sein.
  • Sobald ein neuer Schwellenwert für die Sequenzlänge ohne Überlastung bestimmt ist, kann der Schwellenwert für die Sequenzlänge ohne Überlastung auf den neuen Wert eingestellt werden. Im Block 522 wird ein neuer Schwellenwert für die Sequenzlänge ohne Überlastung eingestellt.
  • Im Block 524 kann bestimmt werden, dass die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist. Im Block 526 kann die Einspeisungsgeschwindigkeit des Quellenknotens 502 in Reaktion auf die Bestimmung gesteigert werden. Dementsprechend kann eine Einspeisungsgeschwindigkeit eines Quellenknotens gemäß einer Transaktionsabschlusshistorie verwaltet werden.
  • 6 ist ein Blockschaubild 600, welches ein Beispiel eines Netzwerkknotens 602 veranschaulicht, der eine Überlastungsverwaltungseinheit 610 zum Verwalten der Überlastung einer Netzwerkstruktur aufweist. Der Netzwerkknoten 602 kann eine ähnliche Architektur aufweisen wie der Netzwerkknoten 502 der 5, umfassend die Überlastungsverwaltungseinheit 510 mit den Blöcken 512 bis 526. Die Blöcke 512 bis 526, wie oben ausgeführt, veranschaulichen eine Logik, die von der Überlastungsverwaltungseinheit 510 auszuführen ist. In diesem Beispiel kann die Überlastungsverwaltungseinheit 510 in einer Netzwerk-Schnittstelle 630 des Netzwerkknotens 602 enthalten sein. Die Netzwerk-Schnittstelle 630 kann Zugriff auf ein Netzwerk gewähren. Beispielsweise können von der Netzwerk-Schnittstelle 630 Transaktionen über ein Netzwerk gesendet werden und die Geschwindigkeit, mit welcher Transaktionen in das Netzwerk eingespeist werden, kann durch die Überlastungsverwaltungseinheit 510 der Netzwerk-Schnittstelle 630 gesteuert werden.
  • Der Netzwerkknoten 602 kann ferner einen Computer 640 umfassen, welcher einen Prozessor 642 und einen Speicher 644 aufweist, die mit der Netzwerk-Schnittstelle 630 verbunden sind. Der Computer 640 kann zum Beispiel eine Anwendung ablaufen lassen und die Netzwerk-Schnittstelle 630 kann ermöglichen, dass die Anwendung über die Netzwerk-Schnittstelle 630 auf das Netzwerk zugreift. Der Computer 640 kann außerdem eine Mediensteuerung 646 umfassen, die mit der Netzwerk-Schnittstelle 630 verbunden ist. Speziell kann die Mediensteuerung 646 Daten, die in dem Speicher 644 gespeichert sind, über die Netzwerk-Schnittstelle 630 über das Netzwerk übermitteln. Die Mediensteuerung 646 kann Hardware und/oder eine Kombination von Hardware und/oder Software umfassen. Die Geschwindigkeit, mit welcher die Mediensteuerung 646 Daten über das Netzwerk übermitteln kann, kann von der Überlastungsverwaltungseinheit 510 gemäß der Logik verwaltet werden, die in den Blöcken 512 bis 526 beschrieben wird.
  • 7 ist ein Blockschaubild 700, welches ein Beispiel einer Netzwerk-Schnittstelle 730 veranschaulicht. Die Netzwerk-Schnittstelle 730 kann eine ähnliche Architektur umfassen wie die Netzwerk-Schnittstelle 630 der 6, umfassend die Überlastungsverwaltungseinheit 510 mit den Blöcken 512 bis 526. Die Blöcke 512 bis 526, wie oben ausgeführt, veranschaulichen eine Logik, die von der Überlastungsverwaltungseinheit 510 auszuführen ist, um eine Überlastung quer durch die Netzwerkstruktur zu verwalten.
  • 8 ist ein Blockschaubild 800, welches ein Beispiel einer Netzwerk-Schnittstelle 830 veranschaulicht. Die Netzwerk-Schnittstelle 830 kann eine ähnliche Architektur umfassen wie die Netzwerk-Schnittstelle 630 der 6, umfassend die Überlastungsverwaltungseinheit 510 mit den Blöcken 512 bis 526. Die Blöcke 512 bis 526, wie oben ausgeführt, veranschaulichen eine Logik, die von der Überlastungsverwaltungseinheit 510 auszuführen ist, um eine Überlastung quer durch die Netzwerkstruktur zu verwalten.
  • Die Netzwerk-Schnittstelle 830 kann ferner einen Sender 840 zum Senden von Transaktionsanforderungen und/oder Transaktionsantworten und einen Empfänger zum Empfangen von Transaktionsanforderungen und/oder Transaktionsantworten umfassen. Der Sender 840 und der Empfänger 850 können Hardware oder eine Kombination von Hardware und/oder Software umfassen. Wie oben und in Bezug auf den Block 516 beschrieben, kann eine Zählung empfangener abgeschlossener Transaktionen (CTR) in Reaktion darauf heraufgesetzt werden, dass eine Transaktionsanforderung abgeschlossen worden ist, was in einigen Beispielen durch den Empfang einer Transaktionsantwort bestätigt wird, d.h. am Empfänger 850. Ferner kann der Sender 840 Transaktionsanforderungen mit einer Einspeisungsgeschwindigkeit senden, die von der Überlastungsverwaltungseinheit 510 bestimmt wird. Dementsprechend kann die Netzwerk-Schnittstelle 830 Transaktionsanforderungen und/oder Transaktionsantworten senden und empfangen sowie die Geschwindigkeit verwalten, mit welcher Transaktionsanforderungen und/oder Transaktionsantworten gesendet werden.
  • In der vorstehenden Beschreibung werden zahlreiche Einzelheiten ausgeführt, um für ein Verständnis des hierin offenbarten Gegenstands zu sorgen. Realisierungen können jedoch auch ohne einige oder alle dieser Einzelheiten erfolgen. Andere Realisierungen können Modifikationen und Variationen dieser oben beschriebenen Einzelheiten umfassen. Die anhängenden Ansprüche sollen solche Modifikationen und Variationen abdecken.

Claims (20)

  1. Verfahren, umfassend: Einstellen eines Schwellenwerts für eine Sequenzlänge ohne Überlastung auf einen ersten Wert; Einstellen einer Zählung empfangener abgeschlossener Transaktionen (CTR) auf einen Anfangswert; Heraufsetzen der CTR-Zählung in Reaktion auf einen Abschluss einer Transaktionsanforderu ng; in Reaktion auf ein erfasstes Überlastungsereignis Senken der Einspeisungsgeschwindigkeit; Ermitteln eines zweiten Werts für den Schwellenwert für die Sequenzlänge ohne Überlastung aus der CTR-Zählung; und Einstellen des Schwellenwerts für die Sequenzlänge ohne Überlastung auf den zweiten Wert; und in Reaktion darauf, dass die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, Steigern der Einspeisungsgeschwindigkeit.
  2. Verfahren nach Anspruch 1, wobei die Einspeisungsgeschwindigkeit von einer ersten Einspeisungsgeschwindigkeit auf eine zweite Einspeisungsgeschwindigkeit gesenkt wird, wobei die erste Einspeisungsgeschwindigkeit und die zweite Einspeisungsgeschwindigkeit aus einer von schrittweisen und diskreten Einspeisungsgeschwindigkeit ermittelt werden, wobei die Differenz zwischen der ersten Einspeisungsgeschwindigkeit und der zweiten Einspeisungsgeschwindigkeit durch die Reihe von schrittweisen und diskreten Einspeisungsgeschwindigkeiten und den Anteil des Datenverkehrs bestimmt wird, der von einem Quellenknoten an einen überlasteten Zielknoten gesendet wird.
  3. Verfahren nach Anspruch 1, ferner umfassend Warten für eine Zeitperiode, die lang genug für eine Transaktionsanforderung ist, eine Netzwerkstruktur zu durchqueren, nach dem Senken der Einspeisungsgeschwindigkeit und vor dem Einstellen der CTR-Zählung.
  4. Verfahren nach Anspruch 1, ferner umfassend Speichern eines aktuellen Werts der CTR-Zählung vor dem Einstellen der CTR-Zählung.
  5. Verfahren nach Anspruch 4, wobei der zweite Wert des Schwellenwerts für die Sequenzlänge ohne Überlastung eine Funktion des gespeicherten CTR-Werts und der CTR-Zählung ist.
  6. Verfahren nach Anspruch 1, wobei der zweite Wert des Schwellenwerts für die Sequenzlänge ohne Überlastung eine Funktion des ersten Werts des Schwellenwerts für die Sequenzlänge ohne Überlastung und der CTR-Zählung ist.
  7. Verfahren nach Anspruch 1, ferner umfassend Einstellen des Schwellenwerts für die Sequenzlänge ohne Überlastung auf einen dritten Wert in Reaktion auf ein Steigern der Einspeisungsgeschwindigkeit des Quellenknotens, wobei der dritte Schwellenwert für die Sequenzlänge ohne Überlastung aus der CTR-Zählung ermittelt wird.
  8. Verfahren nach Anspruch 1, wobei eine Transaktionsanforderung abgeschlossen ist, wenn an dem Quellenknoten eine Antwort auf die Transaktionsanforderung empfangen wird.
  9. Verfahren nach Anspruch 1, wobei das Überlastungsereignis in Reaktion darauf erfasst wird, dass eine Transaktionsanforderung, die an dem Quellenknoten empfangen wird, eine Überlastung anzeigt.
  10. Verfahren nach Anspruch 1, wobei das Überlastungsereignis erfasst wird, nachdem innerhalb einer bestimmten Zeitperiode keine Transaktionsantwort empfangen worden ist.
  11. Netzwerkknoten, umfassend: eine Überlastungsverwaltungseinheit zum: Einstellen eines Schwellenwerts für eine Sequenzlänge ohne Überlastung auf einen ersten Wert; Einstellen einer Zählung empfangener abgeschlossener Transaktionen (CTR); Heraufsetzen der CTR-Zählung in Reaktion darauf, dass eine Transaktionsanforderung, die von dem Netzwerkknoten gesendet wird, abgeschlossen worden ist; in Reaktion auf ein erfasstes Überlastungsereignis Senken der Einspeisungsgeschwindigkeit des Quellenknotens von einer ersten Einspeisungsgeschwindigkeit auf eine zweite Einspeisungsgeschwindigkeit; Ermitteln eines zweiten Werts für den Schwellenwert für die Sequenzlänge ohne Überlastung aus der CTR-Zählung; und Einstellen des Schwellenwerts für die Sequenzlänge ohne Überlastung auf den zweiten Wert, wobei der zweite Wert aus der CTR-Zählung ermittelt ist; Bestimmen, ob die CTR-Zählung größer oder gleich einem Schwellenwert für eine Sequenzlänge ohne Überlastung ist; und in Reaktion darauf, dass die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, Steigern der Einspeisungsgeschwindigkeit des Netzwerkknotens; und Zurücksetzen der CTR-Zählung.
  12. Netzwerkknoten nach Anspruch 11, ferner umfassend eine Netzwerk-Schnittstelle zum Zugreifen auf ein Netzwerk, wobei die Netzwerk-Schnittstelle die Überlastungsverwaltungseinheit umfasst.
  13. Netzwerkknoten nach Anspruch 12, ferner umfassend einen Computer, der einen Prozessor und einen Speicher aufweist und derart mit der Netzwerk-Schnittstelle verbunden ist, dass eine Anwendung, die auf dem Computer abläuft, über die Netzwerk-Schnittstelle auf das Netzwerk zugreifen kann.
  14. Netzwerkknoten nach Anspruch 12, ferner umfassend eine Mediensteuerung und einen Speicher, wobei die Mediensteuerung und der Speicher derart mit der Netzwerk-Schnittstelle verbunden sind, dass die Mediensteuerung Daten, die in dem Speicher gespeichert sind, über die Netzwerk-Schnittstelle über das Netzwerk übermitteln kann.
  15. Netzwerk-Schnittstelle, umfassend: einen Sender zum Senden einer Transaktionsanforderung über eine Netzwerkstruktur; und eine Überlastungsverwaltungseinheit zum: Einstellen eines Schwellenwerts für eine Sequenzlänge ohne Überlastung auf einen ersten Wert; Einstellen einer Zählung empfangener abgeschlossener Transaktionen (CTR) auf einen Anfangswert; Heraufsetzen der CTR-Zählung in Reaktion darauf, dass eine Transaktionsanforderung, die von dem Sender gesendet wird, abgeschlossen worden ist; in Reaktion auf ein erfasstes Überlastungsereignis Senken der Einspeisungsgeschwindigkeit des Quellenknotens von einer ersten Einspeisungsgeschwindigkeit auf eine zweite Einspeisungsgeschwindigkeit; Einstellen des Schwellenwerts für die Sequenzlänge ohne Überlastung auf den zweiten Wert, wobei der zweite Wert aus der CTR-Zählung ermittelt ist; und Bestimmen, ob die CTR-Zählung größer oder gleich einem Schwellenwert für eine Sequenzlänge ohne Überlastung ist; und in Reaktion darauf, dass die CTR-Zählung größer oder gleich dem Schwellenwert für die Sequenzlänge ohne Überlastung ist, Steigern der Einspeisungsgeschwindigkeit.
  16. Netzwerk-Schnittstelle nach Anspruch 15, wobei der zweite Wert des Schwellenwerts für die Sequenzlänge ohne Überlastung eine Funktion des CTR-Werts und des ersten Werts des Schwellenwerts für die Sequenzlänge ohne Überlastung ist.
  17. Netzwerk-Schnittstelle nach Anspruch 15, ferner umfassend einen Empfänger zum Empfangen einer Transaktionsantwort über die Netzwerkstruktur, wobei das Überlastungsereignis in Reaktion darauf erfasst wird, dass eine Transaktionsantwort, die von dem Empfänger empfangen wird, eine Überlastung anzeigt, oder nachdem der Empfänger innerhalb einer bestimmten Zeitperiode keine Transaktionsantwort empfangen hat.
  18. Netzwerk-Schnittstelle nach Anspruch 15, ferner umfassend einen Empfänger zum Empfangen einer Transaktionsantwort über die Netzwerkstruktur, wobei eine Transaktionsanforderung abgeschlossen ist, wenn von dem Empfänger eine Antwort auf die Transaktionsanforderung empfangen wird.
  19. Netzwerk-Schnittstelle nach Anspruch 15, ferner umfassend Speichern eines aktuellen Werts der CTR-Zählung vor dem Einstellen der CTR-Zählung auf den Anfangswert.
  20. Netzwerk-Schnittstelle nach Anspruch 19, wobei der zweite Wert des Schwellenwerts für die Sequenzlänge ohne Überlastung eine Funktion des gespeicherten CTR-Werts und der CTR-Zählung ist.
DE112019001647.4T 2018-03-29 2019-03-29 Netzwerk-Überlastungsverwaltung Active DE112019001647B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/939,532 US10972394B2 (en) 2018-03-29 2018-03-29 Network congestion management
US15/939,532 2018-03-29
PCT/US2019/025052 WO2019191723A1 (en) 2018-03-29 2019-03-29 Network congestion management

Publications (2)

Publication Number Publication Date
DE112019001647T5 true DE112019001647T5 (de) 2020-12-17
DE112019001647B4 DE112019001647B4 (de) 2023-10-12

Family

ID=68054005

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001647.4T Active DE112019001647B4 (de) 2018-03-29 2019-03-29 Netzwerk-Überlastungsverwaltung

Country Status (4)

Country Link
US (1) US10972394B2 (de)
CN (1) CN111819821B (de)
DE (1) DE112019001647B4 (de)
WO (1) WO2019191723A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151524B2 (en) * 2020-02-03 2021-10-19 Shopify Inc. Methods and systems for gateway load balancing
US11893613B2 (en) * 2020-12-23 2024-02-06 Shopify Inc. Systems, manufacture, and methods for controlling access to resources
US11893614B2 (en) 2021-08-23 2024-02-06 Shopify Inc. Systems and methods for balancing online stores across servers
US11880874B2 (en) * 2021-08-23 2024-01-23 Shopify Inc. Systems and methods for server load balancing based on correlated events

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5706428A (en) * 1996-03-14 1998-01-06 Lucent Technologies Inc. Multirate wireless data communication system
US6526022B1 (en) 1998-06-30 2003-02-25 Sun Microsystems Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
US7016971B1 (en) * 1999-05-24 2006-03-21 Hewlett-Packard Company Congestion management in a distributed computer system multiplying current variable injection rate with a constant to set new variable injection rate at source node
US6757248B1 (en) 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
EP1249972A1 (de) * 2001-04-09 2002-10-16 Telefonaktiebolaget L M Ericsson (Publ) Verfahren zum Steuern eines Warteschlangenpuffers
US8051197B2 (en) * 2002-03-29 2011-11-01 Brocade Communications Systems, Inc. Network congestion management systems and methods
US7920476B2 (en) * 2003-10-08 2011-04-05 Hewlett-Packard Development Company, L.P. Network congestion control
US20050108444A1 (en) * 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
WO2006012211A2 (en) * 2004-06-24 2006-02-02 Meshnetworks, Inc. A system and method for adaptive rate selection for wireless networks
US8218657B2 (en) * 2005-09-02 2012-07-10 Netgear, Inc. System and method for automatic adjustment of streaming video bit rate
US8520517B2 (en) * 2007-02-21 2013-08-27 Broadcom Corporation Switch fabric end-to-end congestion avoidance mechanism
US8717893B2 (en) * 2010-11-29 2014-05-06 Verizon Patent And Licensing Inc. Network stabilizer
US10230600B2 (en) * 2014-12-19 2019-03-12 Oracle International Corporation Performance analysis and bottleneck detection in service-oriented applications
US20170324641A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Modified slow start for background connections
CN106027412B (zh) * 2016-05-30 2019-07-12 南京理工大学 一种基于拥塞队列长度的tcp拥塞控制方法

Also Published As

Publication number Publication date
DE112019001647B4 (de) 2023-10-12
CN111819821A (zh) 2020-10-23
US10972394B2 (en) 2021-04-06
CN111819821B (zh) 2022-02-18
US20190306061A1 (en) 2019-10-03
WO2019191723A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
DE112019001647B4 (de) Netzwerk-Überlastungsverwaltung
DE69126640T2 (de) Flusssteuerung für Hochgeschwindigkeitsnetzwerk
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60317837T2 (de) Verfahren und System zur Messung von Last und Kapazität auf einem Kanal mit variabler Kapazität
DE69636029T2 (de) Verfahren und Vorrichtung zur Datenübertragung
DE60313037T2 (de) Flusssteuerung in Netzwerkeinheiten
DE69937241T2 (de) Vorrichtung zur messung der last eines netzwerkservers und berät und verfahren zur zuordnung
DE112012006879B4 (de) Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off
DE602004004706T2 (de) Verfahren und System zur Kommunikationssteuerung
DE102011122644B4 (de) Nachrichtenverlustverhinderung unter Verwendung eines Senderpuffers und Verkehrsgestaltung in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE112011105003B4 (de) Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren
DE60203404T2 (de) Client-server netzwerken
DE60311528T2 (de) Präventive Wiederübertragung von gepufferten Daten in einem Netwerk
WO2021001096A1 (de) Verfahren zum übertragen eines oder mehrerer datenelemente von einem fahrzeug an einen server, computerlesbares medium, system, und fahrzeug
DE102015108005A1 (de) Mechanismen und Geräte für neu konfigurierbare Interprozessorkommunikationen mit eingebettetem Controller
DE10034404A1 (de) Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden Netzwerk
DE112012006248B4 (de) Datenverarbeitungsvorrichtung und Programm
DE112018007489T5 (de) Kommunikationsvorrichtung, kommunikationsverfahren und kommunikationsprogramm
DE102005056709A1 (de) Verfahren und Vorrichtung zur Kopplung mindestens zweier unabhängiger Bussysteme
DE102018206780A1 (de) Verfahren und Computerprogramm zum Senden eines Datenpaketes, Verfahren und Computerprogramm zum Empfangen eines Datenpaketes, Kommunikationseinheit und Kraftfahrzeug mit Kommunikationseinheit
DE102020121542A1 (de) Kommunikationseinrichtung, Kommunikationssystem und Protokollumschaltverfahren
DE112019005042T5 (de) Ressourcenzuweisung unter verwendung von wiederherstellungsguthaben
DE102021109775A1 (de) Adaptive zeitfenster- basierte deduplizierung von protokollnachrichten
DE102017126397A1 (de) Kommunikationsendgerät und Kommunikationssystem

Legal Events

Date Code Title Description
R082 Change of representative

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

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

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012801000

Ipc: H04L0047100000

R016 Response to examination communication
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, TEX., US

R082 Change of representative

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

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

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0047100000

Ipc: H04L0047260000

R016 Response to examination communication
R018 Grant decision by examination section/examining division