DE69334005T2 - Überlastregelung in Hochgeschwindigkeitsnetzen - Google Patents

Überlastregelung in Hochgeschwindigkeitsnetzen Download PDF

Info

Publication number
DE69334005T2
DE69334005T2 DE69334005T DE69334005T DE69334005T2 DE 69334005 T2 DE69334005 T2 DE 69334005T2 DE 69334005 T DE69334005 T DE 69334005T DE 69334005 T DE69334005 T DE 69334005T DE 69334005 T2 DE69334005 T2 DE 69334005T2
Authority
DE
Germany
Prior art keywords
data
channel
resource
channels
active
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69334005T
Other languages
English (en)
Other versions
DE69334005D1 (de
Inventor
Robert G. Eatontown Cole
Kerry W. Middlewtown Fendick
Manoel A. Atlantic Highlands Rodrigues
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of DE69334005D1 publication Critical patent/DE69334005D1/de
Application granted granted Critical
Publication of DE69334005T2 publication Critical patent/DE69334005T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions

Landscapes

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

Description

  • TECHNISCHES GEBIET
  • Diese Erfindung betrifft die Überlast- oder Stausteuerung zur Verwendung in Datennetzen.
  • HINTERGRUND DIESER ERFINDUNG
  • Datennetze vermitteln Elemente von Daten (Datenelemente) wie Pakete oder Zellen. In derartigen Datennetzen existieren typischerweise verschiedene definierte Kanäle, wie virtuelle Schaltungen, über die die Datenelemente transportiert werden. Jeder Kanal verwendet gemeinsam Ressourcen des Netzes, wobei eine Ressource beispielsweise eine Schlange (Warteschlange) und ein zugehöriger Server ist. Typischerweise wird jedem Kanal in dem Netz in Übereinstimmung mit einem Vertrag zwischen dem Netzanbieter und einer Einheit, der der Kanal zugewiesen wird, eine minimale Bandbreite zugewiesen. Eine Einheit kann eine Gruppe von Datenelementquellen sein oder sie kann eine einzelne Datenelementquelle sein. Eine Zuordnung existiert zwischen jedem Datenelement und einem Kanal, der seiner Quelle zugewiesen ist. Die Zuordnung kann vorher eingerichtet werden, oder dann, wenn das Datenelement in das Netz eintritt.
  • Frühere Datennetze, wie z.B. in der EP 487235 offenbart, des Typs, bei dem eine minimale Bandbreite per Vertrag für jeden Kanal vereinbart wird, weisen eine Anzahl von Nachteilen hinsichtlich deren Zuordnung der Bandbreite an die aktiven Kanäle an einer Ressource, d.h. an diejenigen Kanäle an der Ressource, die die Datenelemente zu einer bestimmten Zeit transportieren. Ein derartiges Problem ist das so genannte Fairness-Problem, d.h. wie irgendeine verfügbare Zugriffsbandbreite unter den Kanälen fair geteilt werden soll. Ein anderes Problem betrifft die Sicherstellung, dass den aktiven Kanälen erlaubt wird tatsächlich die gesamte Bandbreite zu verwenden, für die sie einen Vertrag abgeschlossen haben. Dieses Problem ergibt sich, weil es möglich ist, dass ein End-zu-End Protokoll, das über einem Kanal verwendet wird, mit den Überlaststeuermechanismen, die von dem Netz verwendet werden, in Wechselwirkung steht, und zwar derart, dass die Bandbreite, die per Vertrag für einen Kanal vereinbart wurde, niemals tatsächlich erreicht wird.
  • Zusätzliche Probleme ergeben sich in dem Gebiet der Stau- bzw. Überlaststeuerung. Frühere Stau- bzw. Überlaststeuertechniken tendierten dazu im Fall einer Überlast bzw. eines Staus Datenelemente von allen Kanälen, die ihre per Vertrag vereinbarte Bandbreite überschritten haben, fallen zu lassen. Dies könnte jedoch die Überlast verschlimmern, indem derartige Kanäle veranlasst werden sämtliche von ihren fallen gelassenen Datenelementen neu zu übertragen. Ferner führen derartige Techniken für eine Fallenlassen von Datenelementen typischerweise zu der Neuübertragung von mehr Datenelementen, als tatsächlich fallen gelassen wurden, über einen Kanal. Ein anderes Problem mit herkömmlichen Überlaststeuertechniken ist, dass viele von Ihnen zu hohen Verzögerungen für Datenelemente in denjenigen Kanälen führen, die innerhalb ihrer per Vertrag vereinbarten Bandbreite senden. Schließlich können Fehler, die bei der Abschätzung der tatsächlichen Bandbreite, die von jedem Kanal verwendet werden, auftreten, bewirken, dass die Datenelemente eines bestimmten Kanals fallen gelassen werden, obwohl ein derartiger Kanal tatsächlich innerhalb seiner per Vertrag vereinbarten Bandbreite ist. Dieses unnötige Fallenlassen von Datenelementen führt zu zusätzlichen Datenelement-Neuübertragungen und möglicherweise zu einer zusätzlichen Überlast.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung ist im Anspruch 1 definiert.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • 1 ein beispielhaftes Netz, das die Prinzipien der Erfindung zeigen;
  • 2 eine vergrößerte Ansicht von zwei Knoten des in 1 gezeigten Netzes;
  • 3 die Übertragungsschlangen und Server für die in 2 gezeigten Knoten;
  • 4 ein andere Ansicht eine Warteschlange und eines Servers aus 3;
  • 5 ein konzeptionelles Modell, dass die Warteschlange und den Server der 4 so zeigt, dass sie aus mehreren kleineren Warteschlangen und entsprechenden Servern gebildet ist;
  • 6 eine Tabelle von proportionalen Dienstraten für jeden der M Kanäle der Warteschlange und des Servers, die in 3 gezeigt sind;
  • 7 ein Flussdiagramm eines Prozesses für eine Überlaststeuerung, in Übereinstimmung mit den Prinzipien der Erfindung; und
  • 8 ein Histogramm, welches dazu beiträgt einige der Charakteristiken des in 7 gezeigten Überlaststeuerprozesses zu illustrieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein beispielhaftes Datennetz 100, in dem die vorliegende Erfindung verwendet wird. Das Datennetz 100 umfasst Knoten 101 bis 117, Hochgeschwindigkeitsstrecken 118, Niedriggeschwindigkeitsstrecken 119, Datenquellen 120 und Zugriffsstrecken 121. Hochgeschwindigkeitsstrecken 118 und Niedriggeschwindigkeitsstrecken 119 verbinden die Knoten 101 bis 117 untereinander, in der gezeigten Weise. Zugriffsstrecken 121 verbinden Datenquellen 120 mit verschiedenen Knoten des Datennetzes 100. Das Datennetz 100 vermittelt Datenelemente, z.B. entweder Pakete oder Zellen. Wenn das Datennetz 100 Pakete vermittelt, wird es speziell als Paketvermittlungsnetz bezeichnet. Die Datenelemente werden von Datenquellen 120 zugeführt. Jedes Datenelement enthält eine Anzeige, die in einer einzigartigen Weise einen Kanal identifiziert, dem es zugewiesen ist.
  • 2 zeigt eine erweiterte Ansicht der Knoten 102 und 104. Der Knoten 102 umfasst eine Zugriffsschnittstellenressource (A) 201, die Aspekte der Erfindung verkörpert, und interne Kommunikationsressourcen (I) 202, die Aspekte der Erfindung verkörpern. Der Knoten 102 umfasst zwei interne Kommunikationsressourcen (I) 202, eine für jede Hochgeschwindigkeitsstrecke 118, die an dem Knoten 102 endet. Der Knoten 104 umfasst die fünf internen Kommunikationsressourcen (I) 202, die gezeigt sind, eine für jede Hochgeschwindigkeitsstrecke 118, die an dem Knoten 104 endet. Die Zugriffsschnittstellressource (A) 201 steuert eine Kommunikation von Datenelementen zwischen Datennetz und Datenquellen 120 über Zugriffsstrecken 121. Jede interne Kommunikationsressource (I) 202 steuert die Kommunikation von Datenelementen innerhalb des Datennetzes 100 über die internen Strecken, mit denen sie verbunden ist, die in dem Fall der Knoten 102 und 104 alle Hochgeschwindigkeitsstrecken 118 sind. In ähnlicher Weise steuern interne Kommunikationsressourcen (I) 202 innerhalb von anderen Knoten die Kommunikation von Datenelementen innerhalb des Datennetzes 100 über Niedriggeschwindigkeitsstrecken 119. Die Zugriffsschnittstellenressource (A) 201 und die internen Kommunikationsressourcen (I) 202 können beide die Dienstdisziplin- und Überlaststeuertechniken verwenden, die nachstehend beschrieben werden, gemäß der Erfindung.
  • 3 zeigt Übertragungsschlangen 301 und Server 302 innerhalb der Kommunikationsressource (I) 202 für eine einzelne Richtung der Übertragung. Datenelemente für eine Übertragung über Hochgeschwindigkeitsstrecken 118 werden in der Schlange 301 vor einem Dienst und einer Übertragung durch den Server 302 eingereiht. Der Server 302 kann Datenelemente entweder aus dem Knoten heraus, z.B. an einen nächsten Knoten oder eine Datenquelle, senden oder das Datenelement an eine geeignete Ressource innerhalb des Knotens über die Strecken 204 verzweigen. Typischerweise sind die Warteschlange 301 und der Server 302 aus einem Prozessor und seinem zugehörigen Speicher gebildet. Der Speicher speichert eingereihte Datenelemente, während der Prozessor die Schlange verwaltet und die Dienstfunktionen ausführt.
  • 4 ist eine Ansicht einer typischen Schlange 301 und eines Servers 302 der 3. In Datennetzen, wie dem Datennetz 100, existieren typischerweise verschiedene definierte Kanäle, wie virtuelle Schaltungen, über die die Datenelemente transportiert werden. Die Schlange 301 kann Datenelemente empfangen, die über irgendeinen Kanal des Netzes geliefert wurden.
  • Eine minimale Bandbreite wird jedem Kanal in dem Netz in Übereinstimmung mit einem Vertrag zwischen dem Netzanbieter und einer Einheit, auf dem der Kanal zugewiesen ist, zugewiesen. Eine Einheit kann eine Gruppe von Benutzerdatenquellen 120 sein oder es kann eine einzelne Benutzerdatenquelle 120 sein. Eine Assoziation existiert zwischen einem Datenelement und einem Kanal, der der einen der Benutzerdatenquellen 120 zugewiesen sind, die das Datenelement zugeführt hat. Die Assoziation kann eingerichtet werden, entweder bevor das Datenelement in das Datennetz oder in die eine der Zugriffsschnittstellenressourcen (A) 201 eintritt, an der das Datenelement in das Datennetz 100 verarbeitet wird. Nachdem es in das Datennetz hinein verarbeitet worden ist, wird jedes Datenelement an seine Ziel-Benutzerdatenquelle 120 gelenkt.
  • Jedes Datenelement kann durch mehrere der Knoten 101 bis 117 gehen bevor es seine Zielstelle erreicht. Infolgedessen können Pakete von unterschiedlichen Kanälen gleichzeitig in einer Schlange 301 der Ressource des Dienstes durch den zugehörigen Server 302 warten. Ferner können die Datenelemente eines einzigen Kanals, der an der Schlange 301 ankommen, über physikalisch unterschiedliche Routen gegangen sein, wenn sie von unterschiedlichen Benutzerdatenquellen 120 zugeführt wurden.
  • Wie angegeben ist ein aktiver Kanal an einer Ressource ein Kanal, der Datenelemente zu einer bestimmten Zeit transportiert. Deshalb ist ein Kanal ein aktiver Kanal an einer Ressource, wenn wenigstens ein Datenelement von dem Kanal empfangen worden ist und dieses Datenelement entweder gegenwärtig a) einen Dienst in einer Schlange 301 erwartet, oder b) gerade von dem Server 302 bedient wird. Es gibt M Kanäle, die in dem Datennetz definiert sind (1). Jeder Kanal wird mit der Tiefstellung i bezeichnet, wobei i = 1, ..., M ist. Nicht alle Kanäle müssen zu irgendeiner bestimmten Zeit oder an irgendeiner bestimmten Ressource aktiv sein. Die Datenelemente eines Kanals, der an einer Ressource aktive sind, kommen an dieser Ressource bei einer Rate von λi an. Jeder Server 302 ist in der Lage Datenelemente bei seiner eigenen vorgegebenen maximalen Dienstrate μ zu bedienen und zu senden. 4 zeigt auch eine globale Überlastschwelle 403, die nachstehend noch diskutiert werden wird.
  • Die Anordnung bis hierhin beschrieben ist Standard in dem technischen Gebiet. Jedoch werden die Schlange 301 und der Server 302 logisch transformiert, wie in 5 gezeigt, und zwar in mehrere kleinere Schlangen 501-1 bis 501-N und entsprechende Server 502-1 bis 502-N. N ist gleich zu der Anzahl von aktiven Kanälen in der Kombination der Schlange 301 und des Servers 302. Jede Schlange 501-i ist mit einem einzelnen aktiven Kanal assoziiert und sie enthält nur Datenelemente, die im Besitz dieses Kanals sind. Somit kann man sich jede Schlange 501-i als eine Unterschlange denken, die dem Datenelementen von seinem bestimmten zugehörigen aktiven Kanal speziell zugewiesen sind. Entsprechend hat jeder Server 502-i seine eigene zugehörige Dienstrate μi und er verarbeitet nur Datenelemente von der Schlange 501-i von seinem bestimmten assoziierten aktiven Kanal.
  • In bevorzugten Ausführungsformen der Erfindung implementiert der Server 302 die bekannte head-of-the-line weighted round-robin (zuerst-von-der-Zeile gewichtete umlaufende) Dienstdisziplin zum Bedienen von Datenelementen von jedem aktiven Kanal. In Übereinstimmung mit dieser Disziplin werden Datenelemente strikt auf der Basis des Kanals, mit dem sie assoziiert sind, getrennt und der Server 302 verarbeitet eine vorgegebene Anzahl von Datenelementen von dem Kopf von jedem aktiven Kanal, nachdem der Server 302 weitermacht, um Datenelemente von dem Kopf des nächsten aktiven Kanals zu verarbeiten. Die Anzahl von Datenelementen, die von jedem bestimmten aktiven Kanal verarbeitet werden, ist eine Funktion der vereinbarten Bandbreite des Kanals, und somit wird die Disziplin „gewichtet". Diese Disziplin bzw. diese Vorgehensweise ist äquivalent dazu, dass jeder Server 502-i seine Datenelemente in Übereinstimmung mit dem alt bekannten first-in-first-out (FIFO) Dienstverfahren mit einer Rate μi bedient, wobei der Betrieb von jedem Server 502-i unabhängig von dem Dienst irgendeines anderen Servers 502-i ist. Dies liegt daran, weil die Werte der verschiedenen μi sich als eine Funktion der Anzahl von aktiven Kanälen und deren jeweiligen vereinbarten Bandbreiten verändern. Jedes μi ist auch eine Funktion des μ des Servers 302.
  • Die proportionale Dienstrate für einen Kanal ist eine Darstellung der per Vertrag vereinbarten Bandbreite des Kanals und ist direkt proportional dazu. 6 zeigt eine Tabelle von proportionalen Dienstraten vi für jeden der Kanäle 1, .., M des Datennetzes 100. In dem Beispiel der 6 weist jeder Kanal die gleiche per Vertrag vereinbarte Bandbreite auf, mit Ausnahme davon, dass der Kanal M ein vorvereinbarte Bandbreite aufweist, die zweimal so groß wie diejenige irgendeines anderen Kanals ist.
  • Zu irgendeiner Zeit wird ein bestimmtes μi durch Multiplizieren der zugehörigen Dienstrate vi mit μ und durch Teilen des Ergebnisses durch die Summe der proportionalen Dienstraten der aktiven Kanäle bestimmt. Als ein Beispiel sei angenommen, dass N=3 ist und dass die aktiven Kanäle 1, 2 und M sind. Aus 6 ist die proportionale Dienstrate für jeden der Kanäle 1 und 2 gleich 1, während sie für den Kanal M2 ist. Deshalb ist die Summe der proportionalen Dienstraten 1 + 1 + 2 = 4 und μ1, μ2, und μM sind μ/4, μ/4 bzw. μ/2.
  • 5 zeigt auch lokale Überlastschwellen 503-i, die als lokale Überlastschwelle 503-1 bis 503-N bezeichnet sind. Diese Schwellen, die nicht die gleichen sein müssen, zeigen an, wenn eine Unterschlange für einen bestimmten Kanal als überlastet angesehen wird, wie nachstehend näher beschrieben wird.
  • 7 zeigt ein Flussdiagramm eines Prozesses für eine Stau- bzw. Überlaststeuerung, in Übereinstimmung mit den Prinzipien der Erfindung, Diese Prozess verwaltet den Betrieb der Schlange 301 und des Servers 302 in einer derartigen Weise, so dass effektiv die Unterschlangenstruktur der 5 erzielt wird.
  • Insbesondere beginnt der Prozess im Schritt 701, wenn ein Datenelement, das in einer einzigartigen Weise mit einem der Kanäle 1 bis M assoziiert ist, an der Schlange 301 ankommt (4). Als nächstes testet der bedingten Verzweigungspunkt 703, um zu bestimmen, ob die globale Überlastschwelle 403 überschritten wird. Dieser Test wird dadurch ausgeführt, dass bestimmt wird, ob die Gesamtanzahl der Bytes, die bereits in der Schlange 301 sind, und die Anzahl von Bytes in dem eben empfangenen Datenelement größer als der Wert der globalen Überlastschwelle ist. Für diese Ausführungsform ist die globale Überlastschwelle 403 eine feste Schwelle, die eine vorgegebene Schlangenlänge anzeigt. Die Vorgehensweise, mit der der Wert der globalen Überlastschwelle 403 gewählt werden kann, wird nachstehend diskutiert. Wenn das Ergebnis im Schritt 703 NEIN ist, gibt es keinen Stau oder keine Überlast in der Warteschlange 301. Deshalb geht die Steuerung zum Schritt 705 und das eben empfangene Datenelement wird in der Schlange 301 gespeichert, um auf einen Dienst durch den Server 302 zu warten. Danach kehrt der Prozess zum Schritt 701 zurück, um ein neues Datenelement zu empfangen.
  • Wenn das Testergebnis im Schritt 703 JA ist, dann gibt es eine Überlastung (einen Stau) an der Schlange 301. Deshalb geht die Steuerung zu dem bedingten Verzweigungspunkt 709, der testet, um zu bestimmen, ob die lokale Überlastschwelle 503-i (5) für die Schlange 501-i des Kanals, der mit dem eben empfangenen Datenelement assoziiert ist, überschritten wird. Die Vorgehensweise, mit der die Werte der lokalen Überlastschwellen 503-i gestestet werden, wird nachstehend noch diskutiert. Wenn das Testergebnis im Schritt 709 NEIN ist, dann ist der Kanal, der mit dem eben empfangenen Datenelement assoziiert wird, nicht einer der Hauptursachen der Überlastung an der Schlange 301. Deshalb geht die Steuerung zum Schritt 705 und wiederum wird das eben empfangene Datenelement in die Schlange 301 platziert, um auf einen Dienst durch den Server 302 zu warten. Danach kehrt der Prozess zum Schritt 701 zurück, um ein neues Datenelement zu empfangen.
  • Wenn das Testergebnis in dem Schritt 709 JA ist, dann ist der Kanal, der mit dem eben empfangenen Datenelement assoziiert ist, in der Tat ein der Hauptursachen des Staus (der Überlast) an der Schlange 301. Deshalb geht die Steuerung zum Schritt 711 und das eben empfangene Datenelement wird fallen gelassen oder gelöscht, in einem Versuch die Überlast zu vermindern. Danach kehrt der Prozess wieder zum Schritt 701 zurück.
  • Aus der Theorie der Warteschlangen folgt direkt, dass sich schließlich eine Überlast ergeben muss,
    Figure 00050001
    größer als 1 für eine erweiterte Periode gilt. Diese Überlastbedingung kann jedoch hervorgebracht werden, sogar wenn nicht alle aktiven Kanäle ihre per Vertrag vereinbarte Bandbreite übersteigen. Zum Beispiel können einige Kanäle dramatisch ihre per Vertrag vereinbarte Bandbreiten dramatisch übersteigen, während andere nur geringfügig ihre per Vertrag vereinbarte Bandbreiten übersteigen, und während noch andere signifikant unter ihren per Vertrag vereinbarten Bandbreiten sein können.
  • In vorteilhafter Weise stellt der in 7 gezeigte Prozess sicher, dass nur die Datenelemente von denjenigen Kanälen, die Hauptursachen für einen Stau (eine Überlast) sind, d.h. die Datenelemente in das Netz 100 bei einer Rate einführen, die ihre per Vertrag vereinbarte Bandbreite stark übersteigt, so dass sich eine globale Überlast an einer Ressource ergibt, fallen gelassen werden. Dies garantiert weiter, dass jeder Kanal wenigstens seine per Vertrag vereinbarte Bandbreite zu allen Zeiten erreichen kann. Die lässt sich besser durch Betrachtung der 8 verstehen, die ein Histogramm zeigt, das sich aus der Verwendung des in 7 gezeigten Überlaststeuerungsprozesses ergibt. Jeder der aktiven Kanäle wird durch einen jeweiligen Balken in dem Histogramm dargestellt. Die Balken sind in einer abfallenden Reihenfolge der Werte von ρi der Kanäle, die sie darstellen, angeordnet, wobei ρi = λii gilt. Für Referenzzwecke ist die Linie, die ρi = 1 für alle aktiven Kanäle i anzeigt, gezeigt. Diese Linie zeigt den Punkt an, an dem jeder Kanal seine per Vertrag vereinbarte Bandbreite voll verwendet. Gemäß herkömmlicher Überlaststeuerungstechniken würden bei Überlastbedingungen einige Datenelemente von irgendeinem aktivem Kanal, der seine per Vertrag vereinbarte Bandbreite überschritten hat und für den deshalb die Linie ρi = 1 überschritten wird, fallen gelassen werden.
  • ρi ist eine Schwelle in der ρi Domäne für eine bestimmte Anzahl von aktiven Elementen. Wenn für eine bestimmte Ressource an einem bestimmten Zeitpunkt das ρi eines Kanals ρ' übersteigt, zeigt dies an, dass der Kanal i eine Hauptursache des Staus an der Ressource ist. An sich hat die Ressource nicht die Fähigkeit all Datenelemente zu bedienen, die von diesem Kanal ankommen. Deshalb werden früher oder später Datenelemente von Kanälen, die ein ρi größer als ρ' aufweisen, im Schritt 711 fallengelassen ( 7). Jedoch werden in vorteilhafter Weise Datenelemente für diejenigen Kanäle, die den Pegel ρ' nicht zu irgendeiner Zeit übersteigen werden, nicht fallen gelassen, sogar wenn eine Überlastung an der Ressource vorhanden ist, und zwar trotz der Tatsache, dass derartige Kanäle regelmäßig ihre per Vertrag vereinbarte Bandbreite übersteigen und somit, für die ρi > 1 ist. ρ' stellt somit eine Verstärkung in der verwendbaren Bandbreite für die aktiven Kanäle größer und über deren per Vertrag vereinbarten Bandbreiten dar, die erreicht werden können, ohne zu bewirken, dass Datenelemente fallengelassen werden. Diese Verstärkung wird aus den Bandbreiten von denjenigen Kanälen, die nicht aktiv sind oder die unter ihrer per Vertrag vereinbarten Bandbreite sind, abgeleitet.
  • Der Wert von ρ' ist dynamisch und er verändert sich in Übereinstimmung mit der Anzahl von aktiven Kanälen und deren jeweiligem λi. Während ein Kanal, der einen bestimmten Typ von Datenelement-Zuführungsmuster aufzeigt, unter Umständen nicht eine Hauptursache einer Überlastung zu einer bestimmten Zeit sein kann, kann zu einer späteren Zeit das gleiche Zuführungsmuster bewirken, dass der Kanal eine Hauptursache der Überlast wird. Eine derartige Änderung würde sich wegen Änderungen in dem Datenelement-Zuführungsmuster von anderen Kanälen in dem System ergeben. Zu irgendeinem Zeitpunkt kann ρ' wie folgt berechnet werden:
    • 1) Zunächst ist es erforderlich einen Wert von J zu finden, so dass gilt:
      Figure 00070001
      wobei j ein Index im Bereich von 1 bis N ist, der die aktiven Kanäle in Übereinstimmung mit zunehmenden Werten von ρi spezifiziert, wie in 6 gezeigt.
    • 2) Als nächstes wird ein Wert von x so gefunden, dass gilt:
      Figure 00070002
    • 3) Schließlich wird ρ' aus ρ'= ρJ + x bestimmt.
  • Die voranstehende Prozedur kann somit so angesehen werden, dass sie die Bestimmung einer Möglichkeit einer Ressource, Datenelemente, die auf einem bestimmten Kanal ankommen, zu bedienen, ist. Diese Möglichkeit wird bestimmt als eine Funktion von wenigstens i) einer per Vertrag vereinbarten Bandbreite für jeden aktiven Kanal an der Ressource, ii) der Ankunftsrate von Datenelementen für den bestimmten aktiven Kanal, und iii) den Ankunftsraten von Datenelementen für jeden aktiven Kanal an der Ressource, der nicht der bestimmte aktive Kanal ist. Datenelemente auf dem bestimmten aktiven Kanal werden fallengelassen, wenn die bestimmte Möglichkeit der Ressource überschritten ist. Dies lässt sich im Vergleich zum Stand der Technik sehen, der die per Vertrag vereinbarte Bandbreite für jeden aktiven Kanal und die Gesamtankunftsrate von Datenelementen an der Ressource untersucht.
  • Werte der globalen Überlastschwelle 403 und der lokalen Überlastschwellen 503 werden am besten dadurch bestimmt, dass anfängliche Abschätzungen durch die Verwendung von alt bekannten Netzkonstruktionsprinzipien und vorhergesagten Verkehrsbedingungen entwickelt werden. Diese Abschätzungen werden dann fein abgestimmt, indem Beobachtungen des Systems während der tatsächlichen Verwendung verwendet werden. Durchschnittsfachleute in dem technischen Gebiet werden mit den Konstruktionsprinzipien vertraut sein, die erforderlich sind, um derartige anfängliche Abschätzungen abzuleiten. Sie werden auch realisieren, dass wegen der unzähligen möglichen Konstruktionszielen für derartige Netze, sowie deren unendlichen möglichen Konfigurationen, es nicht möglich ist vorgegebene Berechnungen zum Setzen der globalen Überlastschwelle 403 und der lokalen Überlastschwellen 503 aufzulisten oder vorzuschreiben. Infolgedessen ist eine Abschätzung mit Korrekturen, die auf Beobachtungen beruhen und die durch Ausprobieren entwickelt werden, das beste verfügbare Verfahren. Die anfänglichen Abschätzungen werden eine Funktion der Parameter des Vertrags sein. Zum Beispiel können die per Vertrag vereinbarten Parameter, zusätzlich zu der Bandbreite, ein garantiertes Minimum für die zulässige maximale Länge der Schlange bei jeder Ressource einschließen.
  • In anderen Ausführungsformen kann sich der Wert der globalen Überlastschwelle 403 über der Zeit ändern. Zum Beispiel kann sie auf Grundlage der durchschnittlichen Schlangenbelegung eingestellt werden. In ähnlicher Weise kann sich der Wert der lokalen Überlastschwellen 503-i über der Zeit ändern. In noch weiteren Ausführungsformen können die Werte der globalen Überlastschwelle 403 und der lokalen Überlastschwellen 503-i jedes Mal eingestellt werden, wenn sie durchbrochen werden, so dass sie einen Hysterese-Effekt bei der Bestimmung der Existenz einer Überlast erzeugen.

Claims (5)

  1. Verfahren zum Steuern eines Staus an einer Ressource eines Datennetzes, wobei an dieser Ressource eine Vielzahl von Kanälen aktiv sind, wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Bestimmen, ob die Ressource jedes Datenelement, das auf einem bestimmten aktiven Kanal der Vielzahl ankommt, bedienen kann als eine Funktion von i) eine vertragsbestimmten Bandbreite für jeden der aktiven Kanäle, ii) der Ankunftsrate von Datenelementen für den bestimmten aktiven Kanal, und iii) der Ankunftsrate von Datenelementen für jeden aktiven Kanal der Vielzahl, der nicht der bestimmte aktive Kanal ist, wobei die Bestimmung abhängig ist von irgendeiner Anzeige, gespeichert für das Datenelement, dass das Datenelement die vertragsbestimmte Bandbreite des Kanals, auf dem es angekommen ist, überstiegen hat; und Fallenlassen von Datenelementen auf dem bestimmten aktiven Kanal, wenn die Bestimmung ist, dass die Ressource ein bestimmtes ankommendes Datenelement nicht bedienen kann.
  2. Verfahren nach Anspruch 1, wobei die Bestimmung an der Ressource durchgeführt wird.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei, in dem Fallenlassen-Schritt, ausreichende Datenelemente von dem bestimmten aktiven Kanal fallengelassen werden, bis das Ergebnis des Bestimmungsschritts ist, dass die Ressource ein bestimmtes ankommendes Datenelement bedienen kann.
  4. Verfahren nach irgendeinem der vorangehenden Ansprüche, wobei die Bestimmung auch eine Funktion von wenigstens einer vorgegebenen maximalen zulässigen Länge für die Warteschlange der Ressource ist.
  5. Verfahren nach irgendeinem der vorangehenden Ansprüche, wobei die Bestimmung auch eine Funktion von wenigstens der Dienstrate der Ressource ist.
DE69334005T 1992-06-30 1993-06-28 Überlastregelung in Hochgeschwindigkeitsnetzen Expired - Lifetime DE69334005T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US906964 1992-06-30
US07/906,964 US5335224A (en) 1992-06-30 1992-06-30 Service guarantees/congestion control in high speed networks

Publications (2)

Publication Number Publication Date
DE69334005D1 DE69334005D1 (de) 2006-05-24
DE69334005T2 true DE69334005T2 (de) 2007-01-25

Family

ID=25423313

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69334005T Expired - Lifetime DE69334005T2 (de) 1992-06-30 1993-06-28 Überlastregelung in Hochgeschwindigkeitsnetzen

Country Status (5)

Country Link
US (1) US5335224A (de)
EP (2) EP1670194B8 (de)
JP (1) JPH0690255A (de)
CA (1) CA2099170C (de)
DE (1) DE69334005T2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9326276D0 (en) * 1993-12-23 1994-02-23 Newbridge Network Corp Frame relay interface
US5617409A (en) * 1994-01-28 1997-04-01 Digital Equipment Corporation Flow control with smooth limit setting for multiple virtual circuits
DE4405262C1 (de) * 1994-02-18 1995-11-09 Siemens Ag Verfahren und Schaltungsanordnung zum Steuern der Übertragung von Nachrichtenblöcken innerhalb eines Übertragungssystems
US5475682A (en) * 1994-06-10 1995-12-12 At&T Corp. Method of regulating backpressure traffic in a packet switched network
US5487061A (en) * 1994-06-27 1996-01-23 Loral Fairchild Corporation System and method for providing multiple loss and service priorities
US5553061A (en) * 1994-06-27 1996-09-03 Loral Fairchild Corporation Packet processor having service priority and loss priority features
US5455826A (en) * 1994-06-28 1995-10-03 Oezveren; Cueneyt M. Method and apparatus for rate based flow control
US5475813A (en) * 1994-07-18 1995-12-12 International Business Machines Corporation Routing transactions in the presence of failing servers
US5699520A (en) * 1994-08-25 1997-12-16 Hewlett-Packard Company Flow control apparatus and method for a computer interconnect using adaptive credits and flow control tags
US5594729A (en) * 1994-09-23 1997-01-14 Lucent Technologies Inc. System and method for employing single-bit feedback control within a variable bit rate data transmission network
CA2138061A1 (en) * 1994-12-14 1996-06-15 Mark Wolff Fair allocation of excess resources
GB9520807D0 (en) * 1995-10-11 1995-12-13 Newbridge Networks Corp Fair queue servicing using dynamic weights
US6091725A (en) 1995-12-29 2000-07-18 Cisco Systems, Inc. Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US5689500A (en) * 1996-01-16 1997-11-18 Lucent Technologies, Inc. Multistage network having multicast routing congestion feedback
US6222822B1 (en) * 1996-04-23 2001-04-24 Cisco Systems, Incorporated Method for optimizing a digital transmission network operation through transient error monitoring and control and system for implementing said method
US6185223B1 (en) * 1996-12-04 2001-02-06 Conexant Systems, Inc. Apparatus and method for providing fire wall protection for systems in communication with an a synchronous transfer mode system
US6009097A (en) * 1997-04-04 1999-12-28 Lucent Technologies Inc. System for routing packet switched traffic
US6148001A (en) * 1997-06-12 2000-11-14 Nokia Telecommunications, Oy Multipoint-to-point system which multiplexes complete packets comprised of ATM cells on to a single virtual channel connection
GB2327317B (en) 1997-07-11 2002-02-13 Ericsson Telefon Ab L M Access control and resourse reservation in a communications network
US6151299A (en) * 1997-07-24 2000-11-21 Nortel Networks Corporation Method and apparatus for enhanced partial packet discard
US6370121B1 (en) 1998-06-29 2002-04-09 Cisco Technology, Inc. Method and system for shortcut trunking of LAN bridges
US6229813B1 (en) * 1998-11-25 2001-05-08 Alcatel Canada Inc. Pointer system for queue size control in a multi-task processing application
US6504818B1 (en) * 1998-12-03 2003-01-07 At&T Corp. Fair share egress queuing scheme for data networks
GB2349296B (en) * 1999-04-21 2001-04-04 3Com Corp Reduction of imbalance in transmit traffic queues in a network switch
GB2353172B (en) 1999-08-04 2001-09-26 3Com Corp Network switch including bandwidth allocation controller
US6498781B1 (en) 1999-08-13 2002-12-24 International Business Machines Corporation Self-tuning link aggregation system
US6657960B1 (en) 1999-11-23 2003-12-02 International Business Machines Corporation Method and system for providing differentiated services in computer networks
JP2001197119A (ja) * 2000-01-13 2001-07-19 Nec Corp サーバ装置、ネットワークシステム、及びその受信負荷制御方法
US6842783B1 (en) 2000-02-18 2005-01-11 International Business Machines Corporation System and method for enforcing communications bandwidth based service level agreements to plurality of customers hosted on a clustered web server
US6954429B2 (en) * 2000-04-05 2005-10-11 Dyband Corporation Bandwidth control system
US6856595B1 (en) * 2000-05-19 2005-02-15 Mosaid Technologies, Inc. Method and apparatus for providing input back pressure in an output buffered switch
FI20002320A (fi) * 2000-10-20 2002-04-21 Nokia Corp Eston hallinta langattomissa tietoliikenneverkoissa
US20020146004A1 (en) * 2001-04-04 2002-10-10 Adtran, Inc. Nominal data flow path-based, virtual function configured frame relay state machine
US6973529B2 (en) * 2001-09-28 2005-12-06 International Business Machines Corporation Multiple I/O path selection among disparate channel paths
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
JP2003186776A (ja) * 2001-12-13 2003-07-04 Hitachi Ltd 輻輳制御システム
US7283470B1 (en) 2002-01-25 2007-10-16 Juniper Networks, Inc. Systems and methods for dropping data using a drop profile
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7177913B2 (en) * 2002-12-05 2007-02-13 Intel Corporation Method, system, and program for adding operations identifying data packets to structures based on priority levels of the data packets
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
US7545744B2 (en) * 2005-03-31 2009-06-09 Alcatel Method and system for fairly adjusting bandwidth among distributed network elements
US7733894B1 (en) * 2005-12-14 2010-06-08 Juniper Networks, Inc. Dynamic queue management
US10425336B2 (en) * 2011-06-24 2019-09-24 Centurylink Intellectual Property Llc System and method of adaptive congestion management
WO2016068839A1 (en) * 2014-10-27 2016-05-06 Hewlett Packard Enterprise Development Lp Determining to process network protocol packets
CN107016008B (zh) * 2016-06-06 2020-06-09 阿里巴巴集团控股有限公司 信息处理方法和装置及动态信息的显示方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475192A (en) * 1982-02-16 1984-10-02 At&T Bell Laboratories Data packet flow control scheme for switching networks
US4734907A (en) * 1985-09-06 1988-03-29 Washington University Broadcast packet switching network
US4769811A (en) * 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control
US4953157A (en) * 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
JPH03205937A (ja) * 1990-01-05 1991-09-09 Hitachi Ltd パケット交換機の流量制御装置および制御方法
JPH0430641A (ja) * 1990-05-24 1992-02-03 Nec Corp 網内入力規制用セルトラヒック監視方式
JPH0767107B2 (ja) * 1990-08-24 1995-07-19 日本電気株式会社 Atmセル流量監視/制御用セルカウンタ回路
DE69130853T2 (de) * 1990-11-21 1999-07-22 At & T Corp., New York, N.Y. Bandbreitenverwaltung und Überlastabwehr für den Zugang zu Breitband-ISDN-Netzen

Also Published As

Publication number Publication date
EP0577359B1 (de) 2006-04-12
EP1670194B1 (de) 2013-02-27
EP0577359A2 (de) 1994-01-05
JPH0690255A (ja) 1994-03-29
CA2099170A1 (en) 1993-12-31
EP1670194A1 (de) 2006-06-14
DE69334005D1 (de) 2006-05-24
EP0577359A3 (de) 1998-04-01
EP1670194B8 (de) 2013-04-17
CA2099170C (en) 1999-12-14
US5335224A (en) 1994-08-02

Similar Documents

Publication Publication Date Title
DE69334005T2 (de) Überlastregelung in Hochgeschwindigkeitsnetzen
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE69126640T2 (de) Flusssteuerung für Hochgeschwindigkeitsnetzwerk
DE69431502T2 (de) Paketvermittlungssystem mit Rückkopplungssteuerung
DE69626946T2 (de) Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE68911695T2 (de) Überlastfreies paketvermittlungsnetzwerk.
DE69515373T2 (de) Verfahren zum Regeln des "Backpressure"-Verkehrs in einem Paketvermittlungsnetz
DE69131794T2 (de) Gerechter Zugriff von Verkehr verschiedener Prioritäten auf Netzwerke, bestehend aus zwei Bussen und einer verteilten Wortenschlange
DE60128413T2 (de) Gekennzeichneter Prioritätswarteschlangescheduler
DE10196447B4 (de) Verfahren und Vorrichtung zum Verringern der Erschöpfung des Pools in einer Vermittlung mit gemeinsam genutztem Speicher
DE69827053T2 (de) Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk
DE69130286T2 (de) Verfahren zur priorisierung, selektiven ablösung und multiplexierung von schnellen paketen verschiedener verkehrsarten
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE60117957T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff
DE69632240T2 (de) Verfahren und Anlage zur Kontrolle von Übertragungsgeschwindigkeiten von Quellen in ATM-Netzwerken
DE69025713T2 (de) Dynamische Fensterbestimmung in einem Datennetzwerk
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE602004002522T2 (de) Dienstgüte-Verfahren basierend auf einer Durchflussregelung in einem verteilten Switch Fabric-Netzwerk
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE60036312T2 (de) Setzen von prioritäten für daten mit flusssteuerung
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition