DE60109027T2 - Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken - Google Patents

Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken Download PDF

Info

Publication number
DE60109027T2
DE60109027T2 DE60109027T DE60109027T DE60109027T2 DE 60109027 T2 DE60109027 T2 DE 60109027T2 DE 60109027 T DE60109027 T DE 60109027T DE 60109027 T DE60109027 T DE 60109027T DE 60109027 T2 DE60109027 T2 DE 60109027T2
Authority
DE
Germany
Prior art keywords
sub
connections
connection
data stream
packets
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
DE60109027T
Other languages
English (en)
Other versions
DE60109027D1 (de
Inventor
Kumar Brahmanand GORTI
Dongming Hwang
Debs Clark JEFFERIES
Steven Michael SIEGEL
Kartik Sudeep
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60109027D1 publication Critical patent/DE60109027D1/de
Publication of DE60109027T2 publication Critical patent/DE60109027T2/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
    • 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/5624Path aspects, e.g. path bundling
    • 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/5632Bandwidth allocation
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Rechnernetzwerke und insbesondere ein Verfahren und ein System zur Bereitstellung von differenzierten Diensten und einem feinen Steuerungsgrad für ein Rechnernetzwerk.
  • DER ERFINDUNG ZUGRUNDE LIEGENDER ALLGEMEINER STAND DER TECHNIK
  • Auslöser für das wachsende Interesse an Rechnernetzwerken ist die zunehmende Nutzung einer Vielfalt von Netzwerkanwendungen wie beispielsweise Anwendungen, bei denen das Internet mit einbezogen wird. 1 zeigt herkömmliche Netzwerke 10 und 30, die über das Internet 1 verbunden werden können. Jedes Netzwerk 10 und 30 beinhaltet die Hosts 11, 12, 17, 18, 21 und 22 beziehungsweise 32 und 34. Jedes Netzwerk 10 und 20 beinhaltet auch die Vermittlungsstellen 14, 16 beziehungsweise 19 und 36 und kann einen oder mehrere Server wie zum Beispiel die Server 15, 20 beziehungsweise 24 und 38 beinhalten. Darüber hinaus kann jedes Netzwerk 10 und 30 über eine oder mehrere Netzbrücken (Gateways) 13 beziehungsweise 35 zum Internet 1 verfügen. Nicht ausdrücklich gezeigt sind Router und andere Teile des Netzwerks 10 und 30, die auch den Verkehr durch die Netzwerke 10 und 30 steuern können und als durch die Vermittlungsstellen 14, 16 beziehungsweise 19 und 36 und die Netzwerke 10 und 30 im Allgemeinen mit dargestellt betrachtet werden. Das Internet 1 beinhaltet überdies seine eigenen Vermittlungsstellen und Netzwerke, die nicht ausdrücklich gezeigt sind.
  • Eine Vermittlungsstelle wie beispielsweise die Vermittlungsstelle 14 oder 36 und bestimmte Vermittlungsstellen (nicht gezeigt) im Internet 1, das mit den Vermittlungsstellen wie beispielsweise den Vermittlungsstellen 14 oder 16 verbunden ist, werden als Vermittlungsstellen betrachtet, die sich im Randbereich des Netzwerks 10, 30 beziehungsweise des Internet 1 befinden. Der Grund hierfür ist, dass diese Vermittlungsstellen Verkehr direkt an Einheiten senden und/oder von Einheiten empfangen, die nicht direkt vom Netzwerk 10, 30 oder dem Internet 1 gesteuert werden. Zum Beispiel kann ein Netzwerkadministrator oder ein anderer Nutzer des Netzwerks 10 die Kontrolle über Parameter, die für das Netzwerk 10 gesetzt werden, sowie die Nutzung und Leistungsfähigkeit des Netzwerks haben. Jedoch steuert solch ein Netzwerkadministrator üblicherweise nicht das Internet 1 und gegebenenfalls auch nicht das Netzwerk 30. Die Vermittlungsstelle 14 ist direkt mit der Netzbrücke 13 verbunden, die den Zugang zum Internet 1 bereitstellt. Dies gilt nicht für die Vermittlungsstellen 16 und 19. Somit wird die Vermittlungsstelle 13 als im Randbereich des Netzwerks 10 befindlich betrachtet. Ebenso ist eine Vermittlungsstelle (nicht gezeigt) im Internet 1 mit der Netzbrücke 13 über eine Schnittstelle verbunden. Ein Netzwerkadministrator oder ein anderer Benutzer kann die Leistungsfähigkeit von einem Teil oder vom ganzen Internet 1 steuern, aber nicht die des Netzwerks 10. Eine solche Vermittlungsstelle würde folglich als im Randbereich des Internet befindlich betrachtet werden.
  • 2 zeigt ein Übersichtsblockschaltbild einer Vermittlungsstelle 40, die in einem Rechnernetzwerk eingesetzt werden kann. Folglich kann die Vermittlungsstelle 40 im Internet 1 und für die Vermittlungsstellen 14, 16, 19 und 36 eingesetzt werden. Die Vermittlungsstelle 40 enthält ein Schaltnetzwerk 41, das mit Trägerplatinen (blades) 47, 48 und 49 verbunden ist. Jede Trägerplatine 47, 48 und 49 ist im Allgemeinen eine Leiterplatte und enthält mindestens einen Netzwerkprozessor 42, der mit Anschlüssen 44 verbunden ist. Folglich sind die Anschlüsse 44 mit Hosts (nicht gezeigt) oder anderen Komponenten in dem Netzwerk verbunden, in dem sich die Vermittlungsstelle 40 befindet. Die Trägerplatinen 47, 48 und 49 können dem Schaltnetzwerk 41 Verkehr zuführen und Verkehr von dem Schaltnetzwerk 41 annehmen. Somit kann jede Komponente, die mit einer der Trägerplatinen 47, 48 oder 49 verbunden ist, mit einer anderen Komponente kommunizieren, die mit einer anderen Trägerplatine 47, 48 oder 49 oder mit derselben Trägerplatine verbunden ist.
  • 3A zeigt ein weiteres vereinfachtes Blockschaltbild der Vermittlungsstelle 40, das einige der Funktionen veranschaulicht, die von den Netzwerkprozessoren 51 und 55 ausgeführt werden. Die Vermittlungsstelle 40 verbindet Komponenten (nicht gezeigt), die mit den Anschlüssen A 52 verbunden sind, mit denjenigen Komponenten (nicht gezeigt), die mit den Anschlüssen B 76 verbunden sind. Die Vermittlungsstelle 40 führt verschiedene Funktionen aus, darunter die Klassifizierung von Datenpaketen, die der Vermittlungsstelle 40 bereitgestellt werden, die Übertragung von Datenpaketen durch die Vermittlungsstelle 40 und die Wiederzusammensetzung von Paketen. Diese Funktionen werden von dem Klassifizierer 58, dem Schaltnetzwerk 64 beziehungsweise der Wiederzusammensetzungseinheit 70 bereitgestellt. Der Klassifizierer 58 klassifiziert Pakete, die ihm bereitgestellt werden, und teilt jedes Paket in Teile angemessener Größe auf, die als Zellen bezeichnet werden. Das Schaltnetzwerk 64 ist eine aus Verbindungsleitungen bestehende Matrix, über die die Zellen auf ihrem Weg durch die Vermittlungsstelle 40 übertragen werden. Die Wiederzusammensetzungseinheit 70 setzt die Zellen zu den entsprechenden Paketen zusammen. Die Pakete können dann dem entsprechenden Anschluss der Anschlüsse B 76 bereitgestellt und an die Zielhosts ausgegeben werden. Der Klassifizierer 54 kann Teil eines Netzwerkprozessors 51 sein, während die Wiederzusammensetzungseinheit 70 Teil eines anderen Netzwerkprozessors 55 sein kann. Die Teile des Netzwerkprozessors 51 und 55, die gezeigt sind, führen Funktionen für den Verkehr aus, der von den Anschlüssen A 52 an die Anschlüsse B 76 fließt. Jedoch führen die Netzwerkprozessoren 51 und 55 auch Funktionen für den Verkehr aus, der von den Anschlüssen B 76 an die Anschlüsse A 52 fließt. Folglich kann jeder der Netzwerkprozessoren 51 und 55 Klassifizierungs- und Wiederzusammensetzungsfunktionen ausführen.
  • Aufgrund von Engpässen bei der Übertragung von Verkehr über die Vermittlungsstelle 40 müssen Datenpakete gegebenenfalls warten, bevor die Klassifizierungs-, Übertragungs- und Wiederzusammensetzungsfunktionen ausgeführt werden. Folglich können Warteschlangen 56, 62, 68 und 74 bereitgestellt werden. Mit den Warteschlangen 56, 62, 68 und 74 sind Warteschlangeneinreihungsmechanismen 54, 60, 66 und 72 verbunden. Die Warteschlangeneinreihungsmechanismen 54, 60, 66 und 72 stellen die Pakete oder Zellen in die entsprechenden Warteschlangen 56, 62, 68 und 74 und können eine Benachrichtigung bereitstellen, die an den Host zurückgeschickt wird, von dem das Paket stammte.
  • Obgleich die Warteschlangen 56, 62, 68 und 74 als getrennte Warteschlangen gezeigt sind, erkennt der Fachmann ohne weiteres, dass einige oder alle der Warteschlangen 56, 62, 68 und 74 Teil derselben physischen Speicherressource sein können. 3B zeigt eine solche Vermittlungsstelle 40'. Viele der Komponenten der Vermittlungsstelle 40' entsprechen Komponenten der Vermittlungsstelle 40. Diese Komponenten tragen daher eine ähnliche Bezeichnung. Zum Beispiel entsprechen die Anschlüsse A 52' in der Vermittlungsstelle 40' den Anschlüssen A 52 in der Vermittlungsstelle 40. In der Vermittlungsstelle 40' benutzen die Warteschlange 54 und die Warteschlange 62 eine einzelne Speicherressource 59 gemeinsam. Ebenso sind die Warteschlange 68 und die Warteschlange 74 Teil einer weiteren einzelnen Speicherressource 71. In der Vermittlungsstelle 40' sind die Warteschlangen 56, 62, 68 und 74 folglich logische Warteschlangen, die von den Speicherressourcen 59 und 71 getrennt sind.
  • Derzeit bearbeiten die meisten herkömmlichen Vermittlungsstellen 40 Verkehrsströme durch das Netzwerk, in dem die Vermittlungsstelle verwendet wird, auf gleiche Weise. Es gibt jedoch einen Trend, Kunden zum Beispiel auf der Grundlage des Preises, den ein Dienstabnehmer für den Dienst bezahlt, verschiedene Dienste bereitzustellen. Ein Dienstabnehmer ist gegebenenfalls gerne bereit, einen höheren Preis zu bezahlen, um eine schnellere Antwortzeit sicherzustellen oder um sicherzustellen, dass der Verkehr für den Kunden selbst dann übertragen wird, wenn der Verkehr für andere Kunden aufgrund einer Überlastung nicht stattfinden kann. Folglich wurde das Konzept der differenzierten Dienste entwickelt. Differenzierte Dienste können für verschiedene Kunden verschiedene Dienstebenen oder Verkehrsströme durch das Netzwerk bereitstellen.
  • "DiffServ" ist ein auf den Weg gebrachter Standard der Internet Engineering Task Force (IETF) zur Bereitstellung von differenzierten Diensten (siehe IETF RFC 2475 und verwandte RFCs). "DiffServ" beruht auf verhaltensgebündelten Datenströmen ("behavior aggregate flows"). Ein verhaltensgebündelter Datenstrom kann als eine Pipeline von einem Randbereich des Netzwerks zu einem anderen Randbereich des Netzwerks betrachtet werden. Innerhalb eines jeden verhaltensgebündelten Datenstroms könnte es Hunderte von Sitzungen zwischen einzelnen Hosts geben. "DiffServ" befasst sich jedoch nicht mit Sitzungen innerhalb eines verhaltensgebündelten Datenstroms. "DiffServ" befasst sich vielmehr mit der Zuweisung von Bandbreite zwischen den verhaltensgebündelten Datenströmen. Gemäß "DiffServ" muss überschüssige Bandbreite gerecht zwischen verhaltensgebündelten Datenströmen aufgeteilt werden. Ferner sieht "DiffServ" Kriterien vor, die nachstehend erörtert werden, um die Dienstebene zu messen, die jedem verhaltensgebündelten Datenstrom bereitgestellt wird.
  • Ein herkömmlicher Mechanismus zur Bereitstellung von verschiedenen Dienstebenen verwendet eine Kombination aus Gewichtungen und einem Warteschlangenfüllstand, um verschiedene Dienstebenen bereitzustellen; ein solcher Mechanismus wird zum Beispiel von Cisco Systems Inc. mit Sitz in San Jose, Kalifornien, bereitgestellt. 4 zeigt ein solches herkömmliches Verfahren 80. Die Schwellenwerte für den Warteschlangenfüllstand und die Gewichtungen werden mittels des Schritts 82 gesetzt. Üblicherweise werden die Schwellenwerte für den Warteschlangenfüllstand im Schritt 82 von einem Netzwerkadministrator gesetzt, indem er diese einstellt oder "an Knöpfen dreht". Die Gewichtungen können für verschiedene Verbindungen oder Datenströme über eine bestimmte Warteschlange, die Vermittlungsstelle 40 oder den Netzwerkprozessor 42 festgelegt werden. Folglich werden die Gewichtungen üblicherweise für verschiedene verhaltensgebündelte Datenströme gesetzt. Die Warteschlangenfüllstände werden üblicherweise am Ende eines Zeitraums, der als Epoche bezeichnet wird, durch den Schritt 84 überwacht. Die Datenströme für die Verbindungen werden dann durch den Schritt 86 auf der Grundlage dessen geändert, wie sich der Warteschlangenfüllstand im Vergleich zum Schwellenwert für den Warteschlangenfüllstand und den Gewichtungen verhält. Datenströme für Verbindungen, die eine höhere Gewichtung haben, durchlaufen im Schritt 86 eine größere Änderung. Der Datenstrom für eine Verbindung bestimmt, welcher Anteil des einer Warteschlange, wie zum Beispiel der Warteschlange 56, von der Verbindung angebotenen Verkehrs von dem entsprechenden Warteschlangeneinreihmechanismus, wie zum Beispiel des Warteschlangeneinreihmechanismus 54, an die Warteschlange 56 übertragen wird. Je nach den Datenströmen wird der Verkehr über den Schritt 88 somit an die Warteschlange übertragen oder verworfen. Mittels des Schritts 90 stellt ein Netzwerkadministrator dann fest, ob die Anforderungen an die gewünschten Dienstebenen erfüllt werden. Wenn ja, hat der Netzwerkadministrator eine Überlastung vermieden. Wenn die gewünschte Dienstebene jedoch nicht erreicht wird, werden die Schwellenwerte für den Warteschlangenfüllstand und möglicherweise die Gewichtungen mittels des Schritts 82 zurückgesetzt, und das Verfahren 80 wird erneut durchgeführt. Weitere Informationen bezüglich des herkömmlichen Verfahrens 80 finden sich unter http://www.cisco.com/univercd/cc/td/doc/product/software/ios12 0/12cgor/gos_c/gcpart2/gcconman.thm.
  • Obgleich das herkömmliche Verfahren 80 funktioniert, erkennt der Fachmann ohne weiteres, dass es schwierig ist festzustellen, welche Auswirkung eine Änderung der Schwellenwerte für den Warteschlangenfüllstand auf bestimmte Verbindungen durch das Netzwerk hat. Somit muss der Netzwerkadministrator, der das Verfahren 80 anwendet, gegebenenfalls viel ausprobieren, bevor er die gewünschte Datenstromrate für verschiedene Kunden oder Verbindungen (verhaltensgebündelte Datenströme) in einem Rechnernetzwerk erreicht.
  • Darüber hinaus führt das Verfahren 80 auch indirekt Operationen an Parametern durch, die üblicherweise verwendet werden, um die Dienstgüte zu messen. Warteschlangenfüllstände sind kein direktes Maß für Kriterien, die gewöhnlich auf einen Dienst angewendet werden. Bei "DiffServ" (siehe IETF RFC 2475 und verwandte RFCs) zum Beispiel werden Dienstebenen üblicherweise mit vier Parametern gemessen: der Verlustrate, der Bandbreite, der Latenzzeit und dem Jitter. Die Verlustrate ist der Prozentsatz des Verkehrs, der verworfen wird, während er durch eine Vermittlungsstelle fließt. Die Bandbreite eines verhaltensgebündelten Datenstroms ist ein Maß für das Verkehrsaufkommen für den verhaltensgebündelten Datenstrom, der durch die Vermittlungsstelle fließt und sein Ziel erreicht. Die Latenzzeit ist die Verzögerung, die beim Senden von Verkehr durch ein Netzwerk entsteht. Jitter bezeichnet die im Laufe der Zeit auftretenden Latenzschwankungen. Die Warteschlangenfüllstände gelten nicht als ein direktes Maß für die Dienstgüte. Folglich befasst sich das Verfahren 80 nicht direkt mit den Kriterien für die Dienstgüte. Es ist somit für einen Netzwerkadministrator schwieriger, das Verfahren 80 zur Bereitstellung von verschiedenen Dienstebenen anzuwenden. Überdies steuert das Verfahren 80 Datenströme für verhaltensgebündelte Datenströme. Das Verfahren 80 ist nicht in der Lage, Verkehr auf einer feineren Stufe als dieser zu steuern.
  • Ein weiteres herkömmliches Verfahren, wie es beispielsweise in der Europäischen Patentanmeldung EP-A-0901307 offen gelegt und am 10. März 1999 veröffentlicht wurde, das zur Steuerung des Verkehrs dient, verwendet Datenströme, Mindestdatenstromraten, Gewichtungen, Prioritäten, Schwellenwerte und ein Signal, das anzeigt, dass überschüssige Bandbreite oder die Möglichkeit, Verkehr zu übertragen, vorhanden ist, um Datenströme zu steuern. Herkömmliche Verfahren beruhen auf Intuition, und obgleich sie scheinbar überzeugend sind, gibt es keine Grundlage in der Steuerungstheorie, die sie wirklich unterstützt. Es ist nicht klar, ob dieses herkömmliche Verfahren ein stabiler Mechanismus zur Steuerung des Verkehrs durch die Vermittlungsstelle ist. Folglich ist es möglich, dass diese herkömmlichen Verfahren den Verkehr durch die Vermittlungsstelle 40 nicht in angemessener Weise steuern.
  • Ferner ist ein weiterer Vorschlag der IETF mit der Bezeichnung "IntServ" bekannt, was für "integrierte Dienste" steht. Bei "IntServ" wird jeder Datenstrom in einem Netzwerk ständig gesteuert. Folglich schlägt "IntServ" vor, jeden einzelnen Datenstrom innerhalb eines jeden verhaltensgebündelten Datenstroms oder einer Verbindung des Netzwerks zu steuern. Folglich kann "IntServ" zur Bereitstellung von differenzierten Diensten verwendet werden. Es wird jedoch schnell unmöglich, alle Datenströme ständig zu steuern. Insbesondere nimmt die Zahl der Datenströme in einem Netzwerk mit zunehmender Größe des Netzwerks und wachsendem Verkehrsaufkommen im Netzwerk schnell zu. Bei den meisten Netzwerken nimmt die ständige Steuerung eines jeden Datenstroms im Netzwerk eine enorme Menge an Ressourcen in Anspruch und lässt sich nur schwer durchführen. Somit kann "IntServ" den Verkehr durch ein Netzwerk nicht in angemessener Weise steuern.
  • Folglich besteht Bedarf an einem System und einem Verfahren, mittels derer sich differenzierte Dienste besser bereitstellen und Datenströme auf einer feinen Stufe steuern lassen. Die vorliegende Erfindung geht diesen Bedarf an.
  • OFFENLEGUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein Verfahren nach Anspruch 1, ein rechnerlesbares Medium nach Anspruch 12 und ein System nach Anspruch 13 bereit, um eine Vielzahl von Teilverbindungen in einer Verbindung eines Rechnernetzwerks zu steuern, das mindestens eine Vermittlungsstelle beinhaltet, wobei die Vielzahl der Teilverbindungen die Vermittlungsstelle zur Übertragung von Verkehr durch das Netzwerk nutzt, wobei das Verfahren die folgenden Schritte umfasst: (a) Zulassen, dass für jede der Vielzahl der Teilverbindungen ein Mindestdatenstrom festgelegt wird; (b) Feststellen, ob die Verbindung überlastet ist; (c) wenn eine Überlastung vorhanden ist, Steuern eines Datenstroms in einer Teilverbindung der Vielzahl der Teilverbindungen, wobei dieser Schritt die folgenden Schritte umfasst: (c1) als Reaktion darauf, dass der Datenstrom für die Teilverbindung geringer als der Mindestdatenstrom ist, wird der Datenstrom für die Teilverbindung linear erhöht oder unverändert belassen; und (c2) als Reaktion darauf, dass der Datenstrom für die Teilverbindung größer als der Mindestdatenstrom ist, wird der Datenstrom für die Teilverbindung exponentiell verringert. Somit ist der Verkehr durch die Vermittlungsstelle stabil.
  • Gemäß dem System und dem Verfahren, die hier offen gelegt werden, stellt die vorliegende Erfindung einen stabilen funktionierenden Mechanismus bereit, um den Verkehr durch ein Netzwerk auf einer feinen Stufe zu steuern, während differenzierte Dienste ermöglicht werden. Überdies kann die vorliegende Erfindung zur Steuerung des Verkehrs durch das Netzwerk im Randbereich des Netzwerks verwendet werden, wodurch redundante Steuerungen innerhalb des Netzwerks entfallen können.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun mit Bezug auf die folgenden Zeichnungen beschrieben:
  • 1 ist ein Blockschaltbild eines Rechnernetzwerks nach dem Stand der Technik;
  • 2 ist ein Übersichtsblockschaltbild einer Vermittlungsstelle nach dem Stand der Technik;
  • 3A ist ein vereinfachtes Blockschaltbild einer Vermittlungsstelle nach dem Stand der Technik;
  • 3B ist ein vereinfachtes Blockschaltbild einer weiteren Vermittlungsstelle nach dem Stand der Technik;
  • 4 ist ein Flussdiagramm, das ein herkömmliches Verfahren zur Bereitstellung von verschiedenen Dienstebenen durch eine Vermittlungsstelle nach dem Stand der Technik zeigt;
  • 5 ist ein Diagramm, das Netzwerke zeigt, in denen die vorliegende Erfindung eingesetzt werden könnte;
  • 6 ist ein Übersichtsdiagramm, das ein Verfahren gemäß der vorliegenden Erfindung zeigt, um Verkehr zu steuern und verschiedene Dienstebenen in Teilverbindungen bereitzustellen;
  • die 7A und 7B zeigen ein ausführlicheres Flussdiagramm, das ein Verfahren gemäß der vorliegenden Erfindung zur Steuerung des Verkehrs und zur Bereitstellung von verschiedenen Dienstebenen in Teilverbindungen darstellt;
  • 8 ist ein ausführliches Flussdiagramm, das eine erste Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zur Feststellung, ob eine Verbindung überlastet ist, zeigt;
  • 9 ist ein ausführliches Flussdiagramm, das eine zweite Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zur Feststellung, ob eine Verbindung überlastet ist, zeigt;
  • 10 ist ein ausführliches Flussdiagramm, das eine dritte Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zur Feststellung, ob eine Verbindung überlastet ist, zeigt; und
  • 11 ist ein ausführliches Flussdiagramm, das eine vierte Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zur Feststellung, ob eine Verbindung überlastet ist, zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung wird in Bezug auf ein bestimmtes System und bestimmte Komponenten beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass dieses Verfahren und dieses System auch bei anderen Komponenten in einem Rechnernetzwerk wirksam funktionieren. Die vorliegende Erfindung wird auch im Zusammenhang mit einer Warteschlange beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass die vorliegende Erfindung auch wirksam funktioniert, wenn es sich bei den Warteschlangen um logische Warteschlangen handelt, die Teil einer einzelnen Speicherressource sind, oder wenn die Warteschlangen Teil von getrennten Speicherressourcen sind. Außerdem funktioniert die vorliegende Erfindung entsprechend, wenn Datenströme in eine Teilwarteschlange einer bestimmten logischen Warteschlange gesteuert werden. Die vorliegende Erfindung wird auch in Bezug auf die Steuerung von Netzwerkdatenströmen erörtert, die erfolgt, indem Pakete proaktiv verworfen werden. Der Fachmann erkennt jedoch ohne weiteres, dass das Verfahren und das System die Geschwindigkeit der Pakete steuern, die in einer Warteschlange ankommen, und dass ein Signal, das an eine Quelle gesendet wird und einen Anteil an den Paketen, die gesendet werden sollen, vorgibt, während andere an der Quelle zurückgehalten werden, von Nutzen wäre. Daher ist die Steuerung eines Sendeanteils ähnlich der Steuerung einer Geschwindigkeit, mit der Pakete angeboten werden, zum Beispiel von einer oder mehreren Quellen. Darüber hinaus wird die vorliegende Erfindung in Bezug auf Verbindungen und Teilverbindungen zu einer Warteschlange beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass die Verbindungen verhaltensgebündelte Datenströme einer anderen oder derselben Klasse oder mit einer beliebigen angebotenen Geschwindigkeit in eine bestimmte Komponente sein könnten, die eine Warteschlange zur Speicherung verwendet. Die vorliegende Erfindung wird auch im Zusammenhang mit der Steuerung der Teilverbindungen einer bestimmten Verbindung beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass die vorliegende Erfindung zur Steuerung der Datenströme in Teilverbindungen einer Vielzahl von Verbindungen verwendet werden kann.
  • Um das Verfahren und das System gemäß der vorliegenden Erfindung ausführlicher zu veranschaulichen, nehmen wir nun Bezug auf 5, die bevorzugte Ausführungsformen der Netzwerke 10' und 30' sowie des Internet 1' zeigt, mit denen die vorliegende Erfindung verwendet werden kann. Die Netzwerke 10' und 30' und das Internet 1' sind weitgehend gleich den Netzwerken 10 und 30 und dem Internet 1, die in 1 gezeigt sind. Ebenfalls gezeigt sind jedoch die Steuerpunkte 25, 26, 27 und 37. Die Steuerpunkte 25, 26, 27 und 37 sind vorzugsweise Universalrechner, die mit den Vermittlungsstellen 14', 16', 19' und 36' verbunden sind. Die Steuerpunkte 25, 26, 27 und 37 führen vorzugsweise Funktionen aus, die mit Matrizen und der Auswahl der Bits, die beim Testen von Filterregeln verwendet werden sollen, verbunden sind, wie nachstehend erörtert wird. Die Vermittlungsstellen 14', 16', 19'' und 36' enthalten vorzugsweise die mittels Software verwalteten Entscheidungsbäume (in 5 nicht gezeigt), wie nachstehend erörtert wird, und sie stellen mit Hilfe der Entscheidungsbäume fest, ob ein Schlüssel mit einer oder mehreren der Filterregeln übereinstimmt. Außerdem sind die Vermittlungsstellen 14', 16', 19' und 36' vorzugsweise gleich den Vermittlungsstellen 40 und 40', die in den 2, 3A und 3B gezeigt sind. Zwar werden vorzugsweise die Netzwerke 10', 30' und das Internet 1' verwendet, doch könnten ebenso die Netzwerke 10 und 30 sowie das Internet 1 in Verbindung mit der vorliegenden Erfindung verwendet werden.
  • Um das Verfahren und das System gemäß der vorliegenden Erfindung ausführlicher zu veranschaulichen, nehmen wir nun Bezug auf 6, die eine Ausführungsform eines Verfahrens 100 gemäß der vorliegenden Erfindung zeigt. Das Verfahren 100 wird vorzugsweise unter Verwendung der Vorrichtung durchgeführt, die in der veröffentlichten Europäischen Patentanmeldung Nr. 1226509 mit dem Titel "NETWORK PROCESSING COMPLEX AND METHODS" offen gelegt ist und auf den Rechtsnachfolger der vorliegenden Anmeldung übertragen wurde.
  • Das Verfahren 100 kann mit der Vermittlungsstelle 40 oder der Vermittlungsstelle 40', die in den 2, 3A und 3B gezeigt sind, angewendet werden. Folglich kann das Verfahren 100 in einer Vermittlungsstelle 40 ausgeführt werden, die mehrere Trägerplatinen 47, 48 und 49 und mehrere Anschlüsse auf jeder Trägerplatine 47, 48 beziehungsweise 49 aufweist. Der Klarheit halber wird das Verfahren 100 in Verbindung mit der Warteschlange 74 und dem Warteschlangeneinreihmechanismus 72 erklärt, die in 3A gezeigt sind. Das Verfahren 100 kann jedoch auch mit anderen Warteschlangen wie zum Beispiel den Warteschlangen 52, 62, 68, 56', 62', 68' und 74' angewendet werden. Ebenso kann das Verfahren 100 auch mit anderen Warteschlangeneinreihmechanismen wie zum Beispiel den Warteschlangeneinreihmechanismen 54, 60, 66, 54', 60', 66' und 72' angewendet werden. In einer bevorzugten Ausführungsform wird das Verfahren 100 in einem System eingesetzt, in dem mehrere Warteschlangen Teil derselben Speicherressource sind. Jedoch kann das Verfahren 100 ohne weiteres auch in einem anderen System eingesetzt werden, in dem jede Warteschlange eine getrennte Speicherressource hat. Das Verfahren 100 wird vorzugsweise in einer Vermittlungsstelle angewendet, die sich im Randbereich des Netzwerks befindet, wie zum Beispiel in der Vermittlungsstelle 14 oder 14', die in den 1 und 5 gezeigt sind. Darüber hinaus kommt das Verfahren 100 vorzugsweise nur in Vermittlungsstellen zum Einsatz, die sich im Randbereich des Netzwerks befinden, und nicht in Vermittlungsstellen, die sich im Innern des Netzwerks befinden. Obgleich das Verfahren 100 vorzugsweise bei der Steuerung von Teilverbindungen zu einer Warteschlange und unter Verwendung eines Warteschlangeneinreihmechanismus angewendet wird, ist es überdies ohne weiteres auch möglich, dass andere Teile der Vermittlungsstelle das Verfahren 100 anwenden.
  • Das Verfahren 100 dient zur Steuerung der Datenströme für Teilverbindungen in einem Netzwerk. Jede Teilverbindung ist Teil einer Verbindung. Die Verbindungen laufen auch durch das Netzwerk. Somit kann eine Verbindung für ein bestimmtes Netzwerk als eine Verbindung betrachtet werden, die im Randbereich des Netzwerks endet. vorzugsweise ist jede Verbindung ein verhaltensgebündelter Datenstrom. Eine Teilverbindung ist eine Kombination der Datenströme in der Verbindung. Folglich kann eine Teilverbindung ebenfalls als eine Teilverbindung betrachtet werden, die im Randbereich des Netzwerks endet. Anders ausgedrückt, Verbindungen und Teilverbindungen werden innerhalb des Netzwerks festgelegt. Eine Teilverbindung könnte einen einzelnen Datenstrom oder eine Kombination von Datenströmen in der Verbindung beinhalten. Auch wird das Verfahren 100 vorzugsweise nur an Vermittlungsstellen in den Randbereichen des Netzwerks angewendet, in denen die Teilverbindungen und folglich die Verbindungen enden. Das Verfahren 100 könnte jedoch auch in Vermittlungsstellen im Innern des Netzwerks zur Anwendung kommen.
  • Bezug nehmend auf die 3A und 6 werden über den Schritt 102 die Mindestdatenströme für Teilverbindungen von bestimmten Verbindungen, die Verkehr an die Vermittlungsstelle 40 durchstellen, festgelegt. Der im Schritt 102 festgelegte Mindestdatenstrom ist vorzugsweise der Mindestdatenstrom, der ganz sicher für die Teilverbindung bereitgestellt wird. Der im Schritt 102 festgelegte Mindestdatenstrom entspricht folglich der Bandbreite, die die Teilverbindung immer in Anspruch nehmen darf. Folglich werden die Mindestdatenströme vorzugsweise so festgelegt, dass, wenn jede Teilverbindung einen Datenstrom überträgt, der gleich dem Mindestdatenstrom ist, die Verbindung nicht überlastet ist und der Verkehr innerhalb der gewünschten Parameter durch die Vermittlungsstelle und das Netzwerk fließt. Wenn das Verkehrsaufkommen durch die Teilverbindung gering ist, überträgt die Teilverbindung gegebenenfalls weniger Verkehr als den Mindestdatenstrom. Man könnte auch zulassen, dass Teilverbindungen mehr Verkehr als den Mindestdatenstrom übertragen. Ebenfalls in einer bevorzugten Ausführungsform kann auch ein höchstmöglicher Datenstrom festgelegt werden, möglicherweise zur Verwendung gegen Angriffe, die auf dem Versuch beruhen, bestimmte oder auch alle Dienste eines Rechnersystems durch Überlastung zum Erliegen zu bringen ("denial of service attacks"). In einer bevorzugten Ausführungsform werden die Mindestdatenströme für die Teilverbindungen, die in eine bestimmte Warteschlange, wie zum Beispiel die Warteschlange 74, eintreten, festgelegt. Darüber hinaus bietet jede Teilverbindung der Warteschlange 74 vorzugsweise Verkehr mit einer angebotenen Geschwindigkeit Ii(t) an, wobei "i" die i-te Teilverbindung bezeichnet. In Abhängigkeit von verschiedenen Faktoren kann ein Teil des Verkehrs verworfen werden, statt in die Warteschlange einzutreten. Der Sendeanteil für die i-te Teilverbindung Ti(t) ist der Teil des Verkehrs von der i-ten Teilverbindung, der an die Warteschlange 74' übertragen wird. Somit beträgt der momentane Datenstrom für die i-te Teilverbindung fi(t) = Ii(t)·Ti(t).
  • Über den Schritt 104 wird festgestellt, ob die Verbindungen, für die die Teilverbindungen gesteuert werden können, überlastet sind. Auf der Grundlage von vielen verschiedenen Faktoren kann festgestellt werden, dass eine bestimmte Verbindung überlastet ist. Diese Faktoren werden üblicherweise auf der Grundlage von den Paketen oder dem Verkehr, der durch die Verbindung fließt, ermittelt. Es sei angemerkt, dass sich Pakete in der hier verwendeten Weise auf viele verschiedene Arten von Datenpaketen einschließlich Ethernet-Paketen (die gewöhnlich als Rahmen bezeichnet werden), ATM-Paketen (die gewöhnlich als Zellen bezeichnet werden) und IP-Paketen (die gewöhnlich als Pakete bezeichnet werden) beziehen, jedoch nicht auf diese beschränkt sind. Zu den Faktoren, die bestimmen können, ob eine Verbindung überlastet ist, können der Zeitraum, den ein bestimmtes Paket benötigt, um von einem Sender zu einem Empfänger zu gelangen, und der Zeitraum, den der Empfänger braucht, um eine Bestätigung zurückzusenden, sowie die Anzahl der Synchronisationspakete, die Umlaufzeit ("round trip time", RTT) sowie eine ausdrückliche Benachrichtigung über die Überlastung ("explicit congestion notification", ECN), die für Pakete vorgesehen werden kann, wie nachstehend mit Bezug auf die 8 bis 11 erörtert wird, gehören. Nochmals Bezug nehmend auf 6 kann eine Verbindung im Allgemeinen als überlastet gelten, wenn die Verbindung so viel Verkehr überträgt, dass Pakete mit einer Rate verzögert oder verworfen werden, die von einem Benutzer wie zum Beispiel einem Netzwerkadministrator als nicht hinnehmbar betrachtet wird.
  • Wenn festgestellt wird, dass keine Überlastung vorhanden ist, werden die Datenströme in den Teilverbindungen nicht über den Schritt 108 gesteuert. Somit braucht die Vermittlungsstelle 40 bei dem Versuch, Datenströme in Teilverbindungen zu steuern, keine Ressourcen in Anspruch zu nehmen, wenn die Leistung der Verbindungen als akzeptabel betrachtet wird. Wenn jedoch festgestellt wird, dass eine Überlastung vorhanden ist, werden die Datenströme für Teilverbindungen über den Schritt 106 über einen bestimmten Zeitraum T gesteuert. Der bestimmte Zeitraum T für die Steuerung von Teilverbindungen ist üblicherweise ein Vielfaches des Zeitinkrements Dt (möglicherweise tausend oder eine Million Mal so viel) für die Aktualisierung von Sendeanteilen. Wenn ein Überlastungssignal während des Zeitraums T gerade eine Überlastung anzeigt, werden die Datenströme in denjenigen Teilverbindungen, die über ihren zugesicherten Mindestraten liegen, folglich so lange exponentiell verringert, wie die Überlastung anhält und die Datenströme über den zugesicherten Mindestraten bleiben. Darüber hinaus beachte man die Unterscheidung zwischen T, das sich auf das Zeitintervall zur Steuerung von Datenströmen in Teilverbindungen bezieht, und Ti, das sich auf den Sendeanteil für eine bestimmte Teilverbindung bezieht. In einer bevorzugten Ausführungsform beinhaltet der Schritt 106 die exponentielle Verringerung der Datenströme für Teilverbindungen, deren Datenströme über den im Schritt 102 festgelegten entsprechenden Mindestdatenströmen liegen. Folglich wird ein Datenstrom für eine Teilverbindung im Verhältnis zum Wert des Datenstroms der Teilverbindung verringert. Ebenfalls in einer bevorzugten Ausführungsform kann der Schritt 106 beinhalten, dass die Datenströme für Teilverbindungen, deren Datenströme geringer als oder gleich den entsprechenden Mindestdatenströmen sind, zumindest anfangs unverändert bleiben. Während des Zeitintervalls T dürfen Datenströme in denjenigen Teilverbindungen, die ihre Höchstraten unterschreiten, jedoch linear ansteigen, wenn in diesem Augenblick keine Überlastung angezeigt wird. Im Einzelnen verhält es sich so, dass, während die Teilverbindungen weiterhin gesteuert werden, diejenigen Teilverbindungen, deren Datenströme unter ihrem festgelegten Mindestwert liegen, unverändert bleiben oder linear ansteigen dürfen, diejenigen Teilverbindungen, die ihren maximalen Datenstrom überschritten haben, sofern ein solcher festgelegt wurde, zu einer Verringerung gezwungen werden und diejenigen Teilverbindungen, deren Datenströme zwischen ihren geringstmöglichen und höchstmöglichen Datenströmen liegen, linear ansteigen dürfen oder aber zu einer exponentiellen Verringerung gezwungen werden. Dies gilt insbesondere während der weiterhin stattfindenden Steuerung der Datenströme im Schritt 106. Da die Datenströme exponentiell verringert werden und linear erhöht werden können, werden die Datenströme für die Teilverbindungen stabil gesteuert. Der Schritt 106 beinhaltet vorzugsweise, dass die Festlegung des Sendeanteils für die Teilverbindungen gesteuert wird. Die Anzahl der Pakete für eine Teilverbindung, die in die Warteschlange eintreten, wird im Schritt 106 ebenfalls mit Hilfe des Sendeanteils gesteuert. Somit steuert das Verfahren 100 Datenströme in Teilverbindungen einer Verbindung nur, wenn diese Verbindung überlastet ist. Folglich nimmt das Verfahren 100 nicht unnötig Ressourcen in Anspruch, wenn es keine Überlastung gibt, und daher fließt der Verkehr in der gewünschten Weise durch ein Netzwerk. Da das Verfahren 100 die Datenströme in Teilverbindungen linear erhöhen und exponentiell verringern kann, ist die Steuerung der Datenströme durch die Teilverbindungen überdies stabil. Das Verfahren 100 wird vorzugsweise nur im Randbereich eines Netzwerks ausgeführt, wie zum Beispiel in der Vermittlungsstelle 14' des Netzwerks 10', die in 5 gezeigt sind. Verbindungen und folglich Teilverbindungen laufen jedoch durch das gesamte Netzwerk 10'. Somit steuert das Verfahren 100 von 6 die Überlastung für die gesamte Verbindung eines Netzwerks, indem es die Teilverbindungen im Randbereich des Netzwerks steuert. Das Verfahren 100 braucht nicht an anderen Stellen in dem Netzwerk ausgeführt zu werden. Eine redundante Steuerung von Teilverbindungen, die rechenintensiv und unnötig ist, lässt sich auf diese Weise vermeiden. Das Verfahren 100 kann jedoch in Verbindung mit anderen Mechanismen zur Steuerung des Verkehrs in einem Netzwerk zur Anwendung kommen, selbst wenn diese anderen Mechanismen im Kern und/oder im Randbereich des Netzwerks ausgeführt werden.
  • Die 7A und 7B zeigen ein ausführlicheres Flussdiagramm von einer Ausführungsform eines Verfahrens 110 zur Steuerung von Datenströmen in Teilverbindungen gemäß der vorliegenden Erfindung. Das Verfahren 110 beginnt vorzugsweise, nachdem die Mindestdatenströme für die Teilverbindungen, die gesteuert werden sollen, festgelegt worden sind.
  • Das Verfahren 110 wird auch im Zusammenhang mit der Steuerung der Datenströme für Teilverbindungen einer bestimmten Verbindung beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass das Verfahren 110 so erweitert werden kann, dass es mit mehreren Verbindungen angewendet werden kann. Darüber hinaus ist das Verfahren 110 ähnlich dem Verfahren 100 und kann somit mit Hilfe derselben Vorrichtung ausgeführt werden. Nachdem die Mindestdatenströme für die Teilverbindungen festgelegt wurden, werden mittels des Schritts 112 für jede der Teilverbindungen auf der Grundlage des Mindestdatenstroms Konstanten und, sofern festgelegt, die höchstmöglichen Datenströme für die Teilverbindung berechnet. Für jede Teilverbindung i werden im Schritt 112 eine Konstante Ci und eine Konstante Di berechnet. Die Konstante Ci dient zur linearen Erhöhung des Datenstroms für die Teilverbindung i, wie nachstehend erörtert wird. Ebenso dient die Konstante Di zur exponentiellen Verringerung des Datenstroms für die Teilverbindung i, wie nachstehend erörtert wird. In einer bevorzugten Ausführungsform beruhen beide Konstanten C1 und D1 auf den Mindestdatenströmen. In einer alternativen Ausführungsform können auch Gewichtungen für verschiedene Teilverbindungen vorgesehen werden. In diesem Fall können die Konstanten Ci und Di auch auf der Grundlage der vorgesehenen Gewichtungen berechnet werden.
  • Sobald die Konstanten ermittelt wurden, darf der Verkehr über den Schritt 114 durch die Teilverbindungen in die Warteschlange 74 fließen. Über den Schritt 116 wird dann festgestellt, ob die Verbindung überlastet ist. In einer bevorzugten Ausführungsform wird der Schritt 116 durch die Verwendung eines den Leistungsüberlastungspegel ("pipe congestion level", PCL) anzeigenden Signals für jede Verbindung, die überwacht wird, durchgeführt. Der PCL für eine Verbindung kann zwischen null und eins liegen. Je näher der PCL bei eins liegt, desto überlasteter ist die Verbindung. Folglich kann ein Schwellenwert zwischen null und eins als der Schwellenwert für die Überlastung gesetzt werden. Der Schritt 116 würde den PCL für die Verbindung ermitteln. Wenn der PCL für eine Verbindung geringer als oder gleich diesem Schwellenwert ist, würde der Schritt 116 anzeigen, dass es keine Überlastung gibt. Wenn der PCL größer als der Schwellenwert ist, würde der Schritt 116 feststellen, dass die Verbindung überlastet ist. Wenn keine Überlastung vorhanden ist, wird über den Schritt 134 festgestellt, ob eine Epoche, ein Zeitraum, über den möglicherweise die Ausübung der Steuerung gewünscht wird, abgelaufen ist. Wenn keine Überlastung vorhanden ist, können die Datenströme in Teilverbindungen folglich nicht gesteuert werden.
  • Wenn im Schritt 116 festgestellt wird, dass eine Überlastung vorhanden ist, werden die Datenströme in Teilverbindungen über die Schritte 118 bis 132 gesteuert. Der Warteschlangenfüllstand, ein Signal für die momentane überschüssige Bandbreite, B, mit einem Binärwert von "0" oder "1" und der Wert für die überschüssige Bandbreite, E, eine Zahl mit einem Wert im Intervall [0,1], werden über den Schritt 118 für die vorangegangene Epoche ermittelt, sofern sie noch nicht verfügbar sind. In einer bevorzugten Ausführungsform werden im Schritt 118 auch die Datenströme der Teilverbindungen für die vorangegangene Epoche zur Verfügung gestellt. Anders ausgedrückt, der Schritt 118 ermittelt die Mengen, die notwendig sind, um das System in dem Verfahren 110 zu aktualisieren. In einer bevorzugten Ausführungsform ist der Schritt 118 gewöhnlich überflüssig, da die vorstehend erwähnten Mengen mit Hilfe des Verfahrens 110 in einer vorangegangenen Epoche ermittelt wurden. Der Warteschlangenfüllstand ist der Füllstand der Warteschlange, in die die Teilverbindungen laufen. Der Warteschlangenfüllstand kann als ein Teilfüllstand des höchstmöglichen Warteschlangenfüllstands festgelegt werden. Zum Beispiel kann der Warteschlangenfüllstand der Teilfüllstand der Warteschlange 74 von 3A sein. Nochmals Bezug nehmend auf die 7A und 7B ist der festgelegte Warteschlangenfüllstand in einer bevorzugten Ausführungsform der Füllstand der gesamten Speicherressource. Es ist jedoch ebenso möglich, den Warteschlangenfüllstand für eine logische Warteschlange oder eine Unterwarteschlange festzulegen. Das Signal für die momentane überschüssige Bandbreite, B, das einen Binärwert von "0" oder "1" hat, und der Wert für die überschüssige Bandbreite, E, eine Zahl mit einem Wert im Intervall [0,1], werden nachstehend erörtert.
  • Über den Schritt 120 wird festgestellt, ob überschüssige Bandbreite vorhanden ist. In einer Ausführungsform gilt überschüssige Bandbreite nur dann als vorhanden, wenn der Warteschlangenfüllstand der Warteschlange, wie zum Beispiel der Warteschlange 74, null beträgt, einen geringen Wert unterschreitet oder abnimmt. Vorzugsweise kann die Feststellung, ob überschüssige Bandbreite vorhanden ist, jedoch auch von der Umlaufzeit oder einem anderen Parameter oder einer einzigen Feststellung, dass sich einer dieser Messwerte geändert hat, abhängen. Diese anderen Parameter können auch zur Messung der Überlastung verwendet werden, wie nachstehend beschrieben wird. In einer bevorzugten Ausführungsform kommt somit die Verwendung zweier Definitionen von "Überlastung" in Betracht. Die erste Definition von Überlastung wird im Schritt 116 verwendet, um die Steuerung der Datenströme von Teilverbindungen auszulösen. Die zweite Definition von Überlastung kann im Schritt 120 zur Anwendung kommen, um festzustellen, ob überschüssige Bandbreite vorhanden ist. Die im Schritt 120 verwendete zweite Definition von Überlastung kann sich von der ersten Definition von Überlastung unterscheiden. Zum Beispiel kann die zweite Definition von Überlastung, die im Schritt 120 verwendet wird, festlegen, dass eine Überlastung schon bei einer niedrigeren Datenstromrate vorhanden ist, als dies bei der ersten Definition von Überlastung der Fall ist, die im Schritt 116 verwendet wird. Darüber hinaus können sich die Definition von überschüssiger Bandbreite sowie die zweite Definition von Überlastung im Laufe des Zeitintervalls T ändern. Zum Beispiel könnte die Definition von überschüssiger Bandbreite zu einem frühen Zeitpunkt im Zeitintervall T ein Maß für die Überlastung beinhalten, um sicherzustellen, dass die Datenströme in Teilverbindungen gesteuert werden, um die Überlastung zu verringern. Zu einem späteren Zeitpunkt im Zeitintervall T könnte sich die Definition von überschüssiger Bandbreite dahingehend ändern, dass sie keine Überlastung mehr beinhaltet, der für die Feststellung des Vorhandenseins einer Überlastung notwendige Datenstrom erhöht wird, und/oder sie sich nur auf andere Parameter wie zum Beispiel den Warteschlangenfüllstand stützt. Insbesondere könnte der Unterschied zwischen dem Warteschlangenfüllstand und der höchstmöglichen Kapazität des Pufferspeichers (die als "Freiraum" ("headroom") bezeichnet wird) zur Definition von Überlastung verwendet werden. Jedoch steht der Verwendung von einem anderen Kriterium zur Feststellung, ob überschüssige Bandbreite vorhanden ist, nichts im Wege. Im Allgemeinen zeigt das Signal für die momentane überschüssige Bandbreite an, ob während der vorangegangenen Epoche in der Vermittlungsstelle 40 oder über die gesamte Verbindung zusätzliche Ressourcen zur Abwicklung von zusätzlichem Verkehr vorhanden waren. Wenn keine überschüssige Bandbreite vorhanden ist, wird ein Signal B für die momentane überschüssige Bandbreite über den Schritt 122 auf null gesetzt. Das Signal B wird als "momentan" bezeichnet, weil es auf einem einzigen Messwert des Warteschlangenfüllstands, der Umlaufzeit oder einem anderen Parameter oder einer einzigen Feststellung, dass sich einer dieser Messwerte geändert hat, beruht. Da die Definition von überschüssiger Bandbreite von einer Überlastung abhängen kann, kann das Signal B für die momentane überschüssige Bandbreite folglich ebenfalls von einer Überlastung abhängen, wie sie bei der Feststellung, ob überschüssige Bandbreite vorhanden ist, verwendet wird. Ein Wert E für die überschüssige Bandbreite wird dann durch den Schritt 124 exponentiell gegen eins erhöht (zum Beispiel, wenn keine Überlastung vorhanden ist) oder gegen null verringert (zum Beispiel, wenn eine Überlastung vorhanden ist). In einer bevorzugten Ausführungsform ist der Wert für die überschüssige Bandbreite ein exponentiell gewichteter Durchschnitt des Signals für die momentane überschüssige Bandbreite. Folglich stellt der Wert für die überschüssige Bandbreite ein Maß für die verfügbaren Ressourcen über vorangegangene Epochen bereit. Da der Wert E für die überschüssige Bandbreite vom Signal B für die momentane überschüssige Bandbreite abhängt, kann der Wert E für die überschüssige Bandbreite außerdem auch vom Vorhandensein einer Überlastung, wie sie bei der Feststellung, ob überschüssige Bandbreite vorhanden ist, verwendet wird, abhängen.
  • Wenn im Schritt 120 festgestellt wird, dass überschüssige Bandbreite vorhanden ist, wird der Wert für die momentane überschüssige Bandbreite durch den Schritt 126 auf eins gesetzt. Über den Schritt 128 wird der Wert für die überschüssige Bandbreite dann auf einen exponentiell gewichteten Durchschnitt des Signals für die momentane überschüssige Bandbreite gesetzt. In einer bevorzugten Ausführungsform ist der Wert für die überschüssige Bandbreite eine erste Konstante, die mit einem vorherigen Wert für die überschüssige Bandbreite multipliziert wird, zuzüglich einer zweiten Konstanten, die mit dem Wert für die momentane überschüssige Bandbreite multipliziert wird. Die Werte des Signals B für die momentane überschüssige Bandbreite und der Wert E für die überschüssige Bandbreite, die in den Schritten 122 und 124 oder in den Schritten 126 und 128 gesetzt werden, werden vorzugsweise in einer nächsten Epoche zur Aktualisierung der Steuerung der Datenströme für die Teilverbindungen verwendet.
  • In einer bevorzugten Ausführungsform wird der Sendeanteil für jede Teilverbindung i über den Schritt 130, parallel zu den Schritten 120 bis 128, gesetzt. In einer alternativen Ausführungsform kann der Sendeanteil jedoch nacheinander mit dem Signal B für die momentane überschüssige Bandbreite und dem Wert E für die überschüssige Bandbreite aktualisiert werden. Wenn der Datenstrom für die Verbindung über einem Höchstwert liegt, wird der Datenstrom exponentiell verringert, vorzugsweise, indem der Sendeanteil auf 31/32, multipliziert mit dem vorherigen Sendeanteil, gesetzt wird. Wenn der Datenstrom für die Teilverbindung einen Höchstwert nicht überschreitet, wird der Sendeanteil wie folgt geändert. wenn das vorherige Signal B für die momentane überschüssige Bandbreite den Wert "1" (überschüssige Bandbreite ist verfügbar) hätte, würde der Schritt 130 den Sendeanteil für jede Teilverbindung i auf der Grundlage des vorherigen Sendeanteils, der Konstante Ci und des Werts für die überschüssige Bandbreite setzen. Vorzugsweise ist der Sendeanteil, der im Schritt 130 für eine zuvor vorhandene überschüssige Bandbreite gesetzt wird, wie folgt: Ti(t + Dt) = Ti(t) + Ci·E(t)Dt,wobei
    Dt = die Länge einer Epoche (der Zeitraum seit der letzten Berechnung des Sendeanteils) ist.
  • Vorzugsweise werden die Datenstromeinheiten so gesetzt, dass Dt und der höchstmögliche Warteschlangenfüllstand Qmax den Wert "1" haben. Somit kann der Sendeanteil für eine Teilverbindung linear ansteigen, wenn überschüssige Bandbreite vorhanden ist. Außerdem kann der Sendeanteil weiterhin linear ansteigen, so lange es weiterhin überschüssige Bandbreite gibt. Es sei jedoch angemerkt, dass in einer bevorzugten Ausführungsform im Allgemeinen keine überschüssige Bandbreite vorhanden ist, wenn die Teilverbindungen zuerst gesteuert werden (wenn erstmalig festgestellt wird, dass die Verbindung überlastet ist). Folglich werden die Datenströme für Teilverbindungen nicht erhöht. Somit beruht die im Schritt 116 getroffene Entscheidung, Teilverbindungen zu steuern, auf einer Definition, die festlegt, wann die in der Verbindung aufgetretene Überlastung begonnen hat. Die Steuerung der Teilverbindungen wird für die Dauer eines Zeitintervalls T durchgesetzt, das im Allgemeinen ein Vielfaches des Zeitinkrements für eine Epoche Dt ist. Anfangs werden die Datenströme für die Teilverbindungen während des Zeitintervalls T als Reaktion auf den vorstehenden Mechanismus, der im Allgemeinen auf einer zweiten Definition der innerhalb der Verbindung aufgetretenen Überlastung beruht, wahrscheinlich zu einer Verringerung gezwungen. Diese zweite Definition der Überlastung wird bei der Feststellung verwendet, ob überschüssige Bandbreite vorhanden ist, zumindest während der Anfangsphasen des Zeitintervalls T. Es kann jedoch Augenblicke während des Zeitintervalls T geben, in denen die Datenstromraten in den Teilverbindungen tatsächlich zunehmen. Dies trifft insbesondere gegen Ende des Zeitintervalls T zu, nachdem eine bestimmte Anzahl von Epochen abgelaufen ist. Somit kann eine Definition von Überlastung verwendet werden, um mit der Steuerung der Datenströme in den Teilverbindungen zu beginnen. Eine zweite Definition von Überlastung kann bei der Festlegung, wann überschüssige Bandbreite vorhanden ist, verwendet werden, damit das Signal B für die momentane überschüssige Bandbreite den Wert null oder eins annehmen kann, wodurch Datenströme in Teilverbindungen während des Zeitintervalls T sowohl zu- als auch abnehmen können.
  • Wenn es in der vorangegangenen Epoche (B hatte den Wert null) keine überschüssige Bandbreite gab und die Teilverbindung mehr Datenverkehr als ihren Mindestdatenstrom überträgt, wird der Sendeanteil Ti(t + Dt) für eine Teilverbindung i im Schritt 130 auf der Grundlage eines vorherigen Sendeanteils für die Teilverbindung, Ti(t), Di und des vorherigen Datenstroms für die Teilverbindung, fi(t) gesetzt. Der Sendeanteil bei B = 0 für eine Teilverbindung, die einen höheren Datenstrom als ihren Mindestdatenstrom überträgt, ist vorzugsweise gegeben durch: Ti(t + Dt) = Ti(t) – Di·Fi(t).
  • Außerdem ist der Sendeanteil für eine Teilverbindung, die ihren Mindestdatenstrom oder weniger überträgt, im Falle von B = 0 vorzugsweise gegeben durch: Ti(t + Dt) = Ti(t).
  • Folglich stellt der im Schritt 130 gesetzte Sendeanteil sicher, dass sich der Sendeanteil für Teilverbindungen, die mehr als ihre Mindestdatenströme übertragen, verringert und sich folglich auch die Datenströme für diese Teilverbindungen exponentiell verringern, solange es weiterhin keine überschüssige Bandbreite gibt. Die Konstanten Ci und Di beruhen vorzugsweise auf den Werten der Mindestdatenströme. In einer bevorzugten Ausführungsform gibt es beim erstmaligen Erzwingen der Steuerung aufgrund der Überlastung der Verbindung außerdem keine überschüssige Bandbreite. Folglich werden die Datenströme für Teilverbindungen, die ihre Mindestdatenströme überschreiten, mittels des Sendeanteils exponentiell verringert. Datenströme für Teilverbindungen, die ihre Mindestdatenströme nicht überschreiten, bleiben unverändert, wenn es keine überschüssige Bandbreite gibt. Auf diese Weise kann die Überlastung gesteuert werden, da die für die Teilverbindungen gesetzten Mindestwerte vorzugsweise so gesetzt werden, dass es keine Überlastung gibt, wenn jede Teilverbindung einen Datenstrom überträgt, der gleich dem Mindestdatenstrom ist. Das Vorhandensein einer Überlastung bedingt, dass mindestens eine Teilverbindung einen Datenstrom überträgt, der größer als sein Mindestdatenstrom ist. Folglich dürfte eine exponentielle Verringerung der Datenströme für solche Teilverbindungen eine Überlastung beseitigen. Wie vorstehend erörtert wurde, können die Datenströme für alle Teilverbindungen linear erhöht werden, wenn tatsächlich überschüssige Bandbreite verfügbar wird. Somit können die Überlastung gesteuert und die Datenströme für Teilverbindungen stabil geregelt werden.
  • Mit Hilfe des im Schritt 130 berechneten Sendeanteils werden Pakete, die die Vermittlungsstelle 40 durchlaufen, während der Epoche durch den Schritt 132 übertragen oder fallen gelassen. Pakete werden vorzugsweise verworfen, indem ihnen der Eintritt in eine bestimmte Warteschlange wie zum Beispiel in die Warteschlange 74 verwehrt wird. In einer bevorzugten Ausführungsform werden Pakete nicht nur auf der Grundlage des Sendeanteils für die Teilverbindung, auf der sie unterwegs sind, sondern auch auf der Grundlage der Priorität eines jeden Pakets fallen gelassen. In einer anderen Ausführungsform werden die Pakete zufällig fallen gelassen. Statt den Sendeanteil zu verwenden, kann überdies ein Verwerfungsanteil verwendet werden. Der Verwerfungsanteil für eine Teilverbindung beträgt "1" abzüglich des Sendeanteils. Folglich zeigt der Verwerfungsanteil den Anteil an den Paketen an, der fallen gelassen werden sollte, um den gewünschten Sendeanteil oder Verkehrsfluss für eine bestimmte Teilverbindung zu erreichen.
  • Über den Schritt 134 wird festgestellt, ob die Epoche beendet ist. Wenn sie nicht beendet ist, wird auf der Grundlage derselben Sendeanteile durch den Schritt 132 weiterhin Verkehr übertragen. Wenn die Epoche beendet ist, wiederholt sich das verfahren, wobei mit dem Schritt 116 begonnen wird. In einer Ausführungsform kann der Schritt 116 (der feststellt, ob eine Überlastung vorhanden ist) bei der Wiederholung des Verfahrens für einen bestimmten Zeitraum oder eine bestimmte Anzahl von Epochen jedoch übersprungen werden. Durch das Überspringen des Schritts 116 kann die Steuerung der Datenströme in Teilverbindungen über einen bestimmten Zeitraum fortgesetzt werden, nachdem es keine Überlastung mehr gibt. Anders ausgedrückt, durch das Überspringen des Schritts 116 darf der Zeitraum T, der für die Steuerung der Datenströme in Teilverbindungen gesetzt wurde, ablaufen. In einer solchen Ausführungsform ist eine stärkere Steuerung der Teilverbindungen zulässig, und die Datenströme in Teilverbindungen dürfen zunehmen, um sicherzustellen, dass überschüssige Bandbreite zugewiesen wird.
  • Die Länge einer Epoche, Dt, über die das Verfahren 110 ausgeführt wird, wird vorzugsweise vor dem Beginn des Verfahrens 110 festgelegt. In einer alternativen Ausführungsform könnte sich die Länge einer Epoche jedoch ändern. Außerdem ist die Zeitskala für eine Epoche vorzugsweise verhältnismäßig lang, etwa in der Größenordnung von einer Millisekunde bis zu zehn Millisekunden oder länger. Die Länge einer Epoche sollte festgelegt werden, um Verzögerungen zwischen den jeweiligen Enden der Verbindung und der Teilverbindungen Rechnung zu tragen. Der Grund dafür ist, dass sich die Steuerung der Teilverbindungen bei dem Verfahren 110 am Ende einer Epoche in Abhängigkeit davon, ob eine Überlastung vorhanden ist und ob überschüssige Bandbreite verfügbar ist, ändern kann. Um sicherzustellen, dass es der in einer Epoche durchgeführten Steuerung möglich ist, eine Überlastung in der Verbindung zu beseitigen, und dem Verfahren 100 oder dem Verfahren 110 die entsprechende Rückmeldung gemacht werden kann, sollte ausreichend Zeit vorgesehen werden, damit ein Paket sein Ziel erreichen und gegebenenfalls melden kann, ob das Ziel erreicht worden ist. Anders ausgedrückt, eine Epoche sollte ausreichend lang sein, damit die Änderung des Sendeanteils wirksam werden kann und dem System Informationen über die Auswirkungen des Sendeanteils bereitgestellt werden können.
  • Da das Verfahren 110 Datenströme linear erhöht und exponentiell verringert, funktioniert das es ähnlich dem Verfahren 100 und bietet viele derselben Vorteile. Somit kann das Verfahren 110 sicherstellen, dass der Verkehr durch Teilverbindungen automatisch und asymptotisch Stabilität erreichen kann. Außerdem hängen die Zunahme und die Abnahme des Datenstroms für jede Verbindung von dem Mindestdatenstrom für die Verbindung und dem vorherigen Datenstrom für die Verbindung ab. Verschiedene Verbindungen können folglich unterschiedliche Datenstromstärken oder Dienstebenen haben. Somit kann das Verfahren 110 ein stabiles Verhalten erzeugen, überschüssige Bandbreite gerecht zuweisen und differenzierte Dienste bereitstellen. Es sei angemerkt, dass das Verfahren 110 überschüssige Bandbreite zwar gerecht zuweist, die Datenströme durch Teilverbindungen und eine Überlastung der Verbindung aber auch gesteuert werden können, ohne dass eine gerechte Zuordnung von Ressourcen ermöglich wird. Um verschiedene Dienstebenen für verschiedene Teilverbindungen oder Kunden bereitzustellen, muss ein Netzwerkadministrator oder ein anderer Benutzer in Abhängigkeit von der für den betreffenden Kunden gewünschten Dienstebene lediglich unterschiedliche Mindestdatenströme und auf Wunsch die höchstmöglichen Datenströme für Kunden festlegen. Somit kann das Verfahren 110 in einer Vielfalt von Anwendungen eingesetzt werden, wie zum Beispiel in Netzwerken, die "DiffServ" nutzen oder von Internet-Diensteanbietern, die verschiedenen Kunden oder für verschiedene Medien unterschiedliche Dienstebenen bereitstellen möchten.
  • Darüber hinaus könnten die Verfahren 100 und 110 nur in den Randbereichen des Netzwerks genutzt werden, die mit Hilfe der Verfahren 100 oder 110 gesteuert werden. Zum Beispiel können die Verfahren 100 und 110 beim Netzwerk 10' nur an der Vermittlungsstelle 14' ausgeführt werden, die sich am Eintrittspunkt einer Verbindung befindet. Somit braucht die Steuerung der Datenströme durch Teilverbindungen, die verhältnismäßig rechenintensiv ist, nicht im gesamten Netzwerk 10' durchgeführt zu werden. Verbindungen und Teilverbindungen im Netzwerk 10' sind im Allgemeinen jedoch durch das ganze Netzwerk 10' festgelegt. Indem man die Datenströme für Teilverbindungen nur im Randbereich steuert, kann somit sichergestellt werden, dass die entsprechende Verbindung nicht im gesamten Netzwerk 10' überlastet ist. Folglich wird die Überlastung gesteuert, ohne dass redundante Berechnungen und Steuervorgänge auf Teilverbindungen im gesamten Netzwerk durchgeführt werden müssen. Jedoch könnten andere, vorzugsweise einfachere Steuerungsverfahren in Verbindung mit den Verfahren 100 und 110 sowohl in derselben Vermittlungsstelle als auch in anderen Vermittlungsstellen des Netzwerks zur Anwendung kommen. Zum Beispiel wird ein Verfahren zur Steuerung der Datenströme in Verbindungen in der ebenfalls anhängigen PCT-Patentanmeldung mit der Seriennummer GB00/04410 und dem Titel "METHOD AND SYSTEM FOR CONTROLLING TRANSMISSION OF PACKETS IN COMPUTER NETWORKS" beschrieben, die auf den Rechtsnachfolger der vorliegenden Erfindung übertragen wurde. Das Verfahren zur Steuerung der Datenströme in Verbindungen, das in der vorstehend erwähnten ebenfalls anhängigen Anmeldung beschrieben ist, könnte mit der vorliegenden Erfindung angewendet werden. Somit könnten mindestens zwei Steuerungsebenen vorgesehen werden, eine feinere Ebene für Teilverbindungen und eine gröbere Ebene für Verbindungen.
  • Viele verschiedene Mechanismen können bei der in den Schritten 104 und 116 der Verfahren 100 beziehungsweise 110 getroffenen Feststellung, ob eine Überlastung vorhanden ist, verwendet werden, welche in den 6, 7A und 7B gezeigt sind. Die 8 bis 11 zeigen Ausführungsformen solcher Verfahren zur Feststellung, ob in einer bestimmten Verbindung eine Überlastung vorhanden ist. Die in den 8 bis 11 gezeigten Verfahren könnten jedoch für mehrere Verbindungen angewendet werden, sie könnten miteinander kombiniert und andere Verfahren (nicht gezeigt) könnten eingesetzt werden. Darüber hinaus könnten die in den 8 bis 11 gezeigten Verfahren für die zweite Definition von Überlastung eingesetzt werden, die im Schritt 120 des Verfahrens 110 zur Feststellung, ob überschüssige Bandbreite vorhanden ist, verwendet wird.
  • 8 zeigt eine Ausführungsform eines Verfahrens 140 zur Feststellung, ob eine Überlastung vorhanden ist. Das Verfahren 140 verwendet ECN. ECN ist im Vorschlag RFC 2481 der IETF, der für Protokolle wie zum Beispiel TCP bestimmt ist, beschrieben. Bei ECN werden zwei unbenutzte Bits in einem Paket zur Anzeige einer Überlastung verwendet. Eine Vermittlungsstelle, bei der ECN aktiviert ist und durch die das Paket hindurchläuft, setzt das erste Bit. Die Vermittlungsstelle, bei der ECN aktiviert ist und durch die das Paket hindurchläuft, setzt das zweite Bit, wenn die Vermittlungsstelle mit aktiviertem ECN überlastet ist. Auf diese Weise zeigt die Kombination der Bits an, ob mindestens eine Vermittlungsstelle in der Teilverbindung, durch die das Paket läuft, überlastet ist. Diese Bits werden üblicherweise gesetzt, während das Paket von seiner Quelle an sein Ziel unterwegs ist. Wenn der Empfänger (das Ziel) eine Bestätigung zurückschickt, wird das Ergebnis der beiden Bits gespeichert und wieder der Quelle (dem Sender) bereitgestellt. Somit kann ECN, das von den beiden Bits dargestellt wird, zur Feststellung verwendet werden, ob die Verbindung überlastet ist.
  • Über den Schritt 142 wird insbesondere ein Maß für die Anzahl der Pakete, die von ECN als Pakete angegeben werden, die überlastete Vermittlungsstellen durchlaufen haben, festgelegt. In einer Ausführungsform beinhaltet der Schritt 142 die Feststellung des Anteils der auf der Verbindung entlangwandernden Pakete, die von ECN als Pakete angegeben werden, die eine überlastete Vermittlungsstelle durchlaufen haben. Dieser Anteil könnte als der vorstehend erörterte PCL verwendet werden. Anschließend wird über den Schritt 144 festgestellt, ob eine Überlastung entsprechend der Definition für ECN vorhanden ist. In einer Ausführungsform beinhaltet der Schritt 144 die Feststellung, ob der Anteil der Pakete, die von ECN als Pakete angegeben werden, die eine überlastete Vermittlungsstelle durchlaufen haben, größer als ein Schwellenwert ist. Ein anderes statistisches Maß zur Ermittlung des Vorhandenseins einer Überlastung unter Verwendung von ECN kann jedoch auch verwendet werden. Wenn festgestellt wird, dass der Schwellenwert nicht überschritten wurde, wird die Verbindung über den Schritt 146 als eine nichtüberlastete Verbindung festgelegt. Wenn festgestellt wird, dass der Schwellenwert überschritten wurde, wird die Verbindung über den Schritt 148 als überlastete Verbindung festgelegt. Auf diese Weise kann mit Hilfe des Verfahrens 140 festgestellt werden, ob die Verbindung überlastet ist.
  • 9 zeigt eine weitere Ausführungsform eines Verfahrens 150 zur Feststellung, ob eine Verbindung überlastet ist. Das Verfahren 150 verwendet Synchronisations-(SYN-)Pakete. Bei TCP kann ein SYN-Paket den Beginn einer Sitzung zwischen zwei Komponenten wie zum Beispiel Hosts anzeigen. Wenn ein Paket für eine Sitzung ihr Ziel nicht erreicht, zum Beispiel weil das Paket aufgrund einer Überlastung fallen gelassen wird, wird eine neue Sitzung zwischen den Komponenten gestartet. Somit wird ein neues SYN-Paket ausgegeben. Das SYN-Paket kann folglich zur Messung der Überlastung in einer Verbindung verwendet werden, da es zur Messung der Anzahl der Starts und Neustarts von Sitzungen verwendet werden können.
  • Ein Maß für die Anzahl der SYN-Pakete auf der Verbindung wird über den Schritt 152 ermittelt. In einer Ausführungsform beinhaltet der Schritt 152 die Feststellung, wie viele SYN-Pakete im Verhältnis zur Gesamtzahl der Pakete vorhanden sind, die die Verbindung durchlaufen. Dieser Anteil könnte als der vorstehend erörterte PCL verwendet werden. Anschließend wird über den Schritt 154 festgestellt, ob eine Überlastung, wie sie für SYN-Pakete definiert wurde, vorhanden ist. In einer Ausführungsform beinhaltet der Schritt 154 die Feststellung, ob der Anteil der SYN-Pakete im Verhältnis zur Gesamtzahl der Pakete größer als ein Schwellenwert ist. Ein anderes statistisches Maß zur Ermittlung des Vorhandenseins einer Überlastung mit Hilfe von SYN-Paketen kann jedoch ebenfalls verwendet werden. Wenn festgestellt wird, dass der Schwellenwert nicht überschritten wurde, wird die Verbindung über den Schritt 156 als eine nichtüberlastete Verbindung festgelegt. Wenn festgestellt wird, dass der Schwellenwert überschritten wurde, wird die Verbindung über den Schritt 158 als eine überlastete Verbindung festgelegt. Auf diese Weise kann mit Hilfe des Verfahrens 150 festgestellt werden, ob die Verbindung überlastet ist.
  • 10 zeigt eine weitere Ausführungsform eines Verfahrens 160 zur Feststellung, ob eine Verbindung überlastet ist. Das Verfahren 160 verwendet die Umlaufzeit (RTT), die Pakete brauchen, um zwischen ihrer Quelle (dem Sender) und ihrem Ziel (dem Empfänger) zu wandern und um eine Benachrichtigung an die Quelle zurückzusenden, dass das Paket empfangen worden ist. Wenn ein Paket für eine Sitzung sein Ziel nicht erreicht, zum Beispiel weil das Paket aufgrund einer Überlastung fallen gelassen wird, oder wenn das Paket lange braucht, um sein Ziel zu erreichen, ist die RTT lang. Eine längere RTT zeigt eine höhere Überlastung der Verbindung an. Folglich kann die Länge der RTT zur Messung der Überlastung einer Verbindung verwendet werden. Überdies könnte anstelle der RTT der Zeitraum der Übertragung vom Sender zum Empfänger verwendet werden.
  • Ein statistisches Maß der Umlaufzeit (RTT) für Pakete auf der Verbindung wird über den Schritt 162 ermittelt. In einer Ausführungsform könnte der Schritt 162 die Ermittlung des Anteils von Paketen beinhalten, deren RTT länger als ein Durchschnittswert ist. Jedoch steht der Verwendung eines anderen statistischen Maßes für die RTT nichts im Wege. Dieses statistische Maß für die RTT könnte zur Ermittlung des vorstehend erörterten PCL verwendet werden. Anschließend wird festgestellt, ob eine Überlastung entsprechend der Definition für die RTT vorhanden ist, zum Beispiel, indem über den Schritt 164 festgestellt wird, ob das Maß für die RTT einen Schwellenwert überschreitet. Wenn festgestellt wird, dass das Maß für die RTT anzeigt, dass die Verbindung nicht überlastet ist, wird die Verbindung durch den Schritt 166 als nichtüberlastete Verbindung festgelegt. Wenn festgestellt wird, dass das Maß für die RTT anzeigt, dass die Verbindung überlastet ist, wird die Verbindung durch den Schritt 168 als überlastete Verbindung festgelegt. Auf diese Weise kann mit Hilfe des Verfahrens 160 festgestellt werden, ob die Verbindung überlastet ist.
  • 11 zeigt eine Ausführungsform eines Verfahrens 170, bei dem eine Kombination aus ECN, SYN-Paketen und RTT verwendet werden könnte, um festzustellen, ob eine Verbindung überlastet ist. Ein Maß für die Anzahl der Pakete, die von ECN als Pakete angegeben werden, welche überlastete Vermittlungsstellen durchlaufen haben, wird über den Schritt 172 ermittelt. In einer Ausführungsform beinhaltet der Schritt 172 die Ermittlung des Anteils der Pakete, die von ECN als Pakete angegeben werden, welche eine überlastete Vermittlungsstelle durchlaufen haben. Ein Maß für die Anzahl der SYN-Pakete auf der Verbindung wird über den Schritt 174 ermittelt. In einer Ausführungsform beinhaltet der Schritt 174 die Feststellung, wie viele SYN-Pakete im Verhältnis zur Gesamtzahl der Pakete vorhanden sind, die die Verbindung durchlaufen. Über den Schritt 176 wird ein statistisches Maß für die RTT für Pakete auf der Verbindung ermittelt. Die Messwerte für ECN, SYN-Pakete und RTT werden dann verknüpft, um über den Schritt 178 ein Maß für die Überlastung bereitzustellen, beispielsweise den PCL. Anschließend wird festgestellt, ob eine Überlastung vorhanden ist, vorzugsweise indem über den Schritt 180 festgestellt wird, ob der PCL einen Schwellenwert überschreitet. Wenn festgestellt wird, dass der PCL anzeigt, dass die Verbindung nicht überlastet ist, wird die Verbindung durch den Schritt 182 als eine nichtüberlastete Verbindung festgelegt. Wenn festgestellt wird, dass der PCL anzeigt, dass die Verbindung überlastet ist, wird die Verbindung durch den Schritt 184 als eine überlastete Verbindung festgelegt. Auf diese Weise kann mit Hilfe des Verfahrens 170 festgestellt werden, ob die Verbindung überlastet ist.
  • Somit können viele verschiedene Verfahren zur Feststellung, ob eine Verbindung überlastet ist, angewendet werden. Wenn die Verbindung überlastet ist, werden die Datenströme für die Teilverbindungen innerhalb der Verbindung gesteuert. Andernfalls werden die Datenströme auf Teilverbindungsebene nicht gesteuert. Die Steuerung der Datenströme in den Teilverbindungen erfolgt, indem die Datenströme exponentiell verringert und in manchen Fällen linear erhöht werden. Auf diese Weise werden Ressourcen bei der feinen Steuerung von Datenströmen auf Teilverbindungsebene nur in Anspruch genommen, wenn sich das Netzwerk nicht wie gewünscht verhält, weil eine Überlastung vorhanden ist. Überdies kann die Überlastung auch bei der Entscheidung, wie die Datenströme von Teilverbindungen fein abgestimmt werden sollen, verwendet werden, zum Beispiel durch eine zweite Definition der Überlastung, die bei der Feststellung, ob überschüssige Bandbreite vorhanden ist, zur Anwendung kommt. Darüber hinaus können verschiedene Dienstebenen für verschiedene Teilverbindungen und daher für verschiedene Verbindungen bereitgestellt werden. Überdies kann dieser Steuerungsgrad nur im Randbereich des Netzwerks vorgesehen werden. Somit wird eine redundante Steuerung von Datenströmen in Teilverbindungen überflüssig. Andere Verfahren zur Steuerung des Verkehrs im Netzwerk können jedoch ebenfalls angewendet werden.
  • Ein Verfahren und ein System zur Steuerung des Verkehrs auf Teilverbindungen eines Netzwerks wurden offen gelegt. Software, die gemäß der vorliegenden Erfindung geschrieben wurde, muss in irgendeiner Form eines rechnerlesbaren Mediums wie zum Beispiel einem Speicher oder einer CD-ROM gespeichert oder über ein Netzwerk übertragen und von einem Prozessor ausgeführt werden.

Claims (15)

  1. Verfahren zur Steuerung einer Vielzahl von Teilverbindungen einer Verbindung eines Rechnernetzwerks, das mindestens eine Vermittlungsstelle beinhaltet, wobei die Vielzahl der Teilverbindungen die Vermittlungsstelle zur Übertragung von Verkehr durch das Netzwerk nutzt, wobei das Verfahren die folgenden Schritte umfasst: (a) Zulassen, dass für jede der Vielzahl der Teilverbindungen ein Mindestdatenstrom festgelegt (102) wird; (b) Feststellen, ob die Verbindung überlastet ist (104, 116); (c) wenn eine Überlastung vorhanden ist, Steuern eines Datenstroms (106, 132) in einer Teilverbindung der Vielzahl der Teilverbindungen, dadurch gekennzeichnet, dass dieser Schritt die folgenden Schritte umfasst: (c1) als Reaktion darauf, dass der Datenstrom für die Teilverbindung geringer als der Mindestdatenstrom ist, wird der Datenstrom für die Teilverbindung linear erhöht (106) oder unverändert belassen; und (c2) als Reaktion darauf, dass der Datenstrom für die Teilverbindung größer als der Mindestdatenstrom ist, wird der Datenstrom für die Teilverbindung exponentiell verringert (106).
  2. Verfahren nach Anspruch 1, das des Weiteren den folgenden Schritt beinhaltet: (b1) Feststellen, ob überschüssige Bandbreite vorhanden ist (120); und wobei: der Schritt der linearen Erhöhung (c1) des Weiteren auf das Vorhandensein von überschüssiger Bandbreite anspricht; und der Schritt der exponentiellen Verringerung (c2) des Weiteren auf das Nichtvorhandensein von überschüssiger Bandbreite anspricht.
  3. Verfahren nach Anspruch 2, wobei die Vermittlungsstelle des Weiteren einen Prozessor enthält, der eine Warteschlange hat, wobei die Vielzahl der Teilverbindungen die Warteschlange zur Übertragung von Verkehr durch die Vermittlungsstelle nutzt, wobei der Schritt der Ermittlung der Bandbreite (b1) auf der Grundlage der Feststellung, ob für die Warteschlange überschüssige Bandbreite vorhanden ist, feststellt, ob überschüssige Bandbreite vorhanden ist.
  4. Verfahren nach Anspruch 2, wobei der Schritt der Feststellung, ob überschüssige Bandbreite vorhanden ist (b1), auf der Grundlage der Feststellung, ob es eine zweite Art von Überlastung gibt, feststellt, ob überschüssige Bandbreite vorhanden ist.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei: der Schritt der Feststellung, ob überschüssige Bandbreite vorhanden ist (b1), des Weiteren den folgenden Schritt beinhaltet: (b1i) Festlegen eines Werts für überschüssige Bandbreite (128) als einen exponentiell gewichteten Durchschnitt von vorherigen Werten für überschüssige Bandbreite; und wobei der Datenstrom für die Teilverbindung der Vielzahl der Teilverbindungen eine angebotene Geschwindigkeit ist, die mit einem Sendeanteil multipliziert wird, und wobei der Schritt der linearen Erhöhung (c1) den Sendeanteil (130) für die Teilverbindung als einen vorhergehenden Sendeanteil zuzüglich einer ersten Menge festlegt, wobei die erste Menge eine erste Konstante ist, die mit dem Wert für die überschüssige Bandbreite multipliziert wird, und wobei der Schritt der exponentiellen Verringerung (c2) den Sendeanteil für die Teilverbindung als den vorhergehenden Sendeanteil abzüglich einer zweiten Menge festlegt, wobei die zweite Menge der vorhergehende Datenstrom ist, der mit einer zweiten Konstante multipliziert wird.
  6. Verfahren nach Anspruch 5, wobei die erste Konstante und die zweite Konstante von dem Mindestdatenstrom für die Verbindung abhängen.
  7. Verfahren nach Anspruch 5, wobei die erste Konstante eine Gewichtung ist, die mit einer dritten Menge multipliziert wird, wobei die dritte Menge eine Warteschlangendienstrate zuzüglich des Mindestdatenstroms für die Verbindung und abzüglich der Summe des Mindestdatenstroms für jede der Vielzahl der Teilverbindungen ist.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Verkehr durch die Vermittlungsstelle eine Vielzahl von Paketen enthält und wobei der Schritt (b), in dem eine mögliche Überlastung festgestellt wird, auf der Grundlage einer ausdrücklichen Benachrichtigung über eine Überlastung (Explicit Congestion Notification, ECN) (140) für jedes Paket eines ersten Teils der Vielzahl der Pakete feststellt, ob eine Überlastung vorhanden ist.
  9. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Verkehr durch die Vermittlungsstelle eine Vielzahl von Paketen enthält und wobei der Schritt (b), in dem eine mögliche Überlastung festgestellt wird, auf der Grundlage eines Teils der Vielzahl der Pakete (150) feststellt, ob eine Überlastung vorhanden ist, wobei der Teil der Vielzahl der Pakete eine Vielzahl von Synchronisationspaketen enthält.
  10. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Verkehr durch die Vermittlungsstelle eine Vielzahl von Paketen enthält, wobei ein jedes Paket der Vielzahl der Pakete von einem Sender gesendet und von einem Empfänger empfangen wird und wobei der Schritt (b), in dem eine mögliche Überlastung festgestellt wird, auf der Grundlage einer Umlaufzeit zwischen dem Sender und dem Empfänger (160) für jedes Paket der Vielzahl der Pakete feststellt, ob eine Überlastung vorhanden ist.
  11. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Verkehr durch die Vermittlungsstelle eine Vielzahl von Paketen enthält, wobei ein jedes Paket eines ersten Teils der Vielzahl der Pakete von einem Sender gesendet und von einem Empfänger empfangen wird, und wobei der Schritt (b), in dem eine mögliche Überlastung festgestellt wird, auf der Grundlage einer ausdrücklichen Benachrichtigung über eine Überlastung für jedes Paket eines zweiten Teils der Vielzahl der Pakete, einer Umlaufzeit zwischen dem Sender und dem Empfänger für jedes Paket des ersten Teils der Vielzahl der Pakete und eines dritten Teils der Vielzahl der Pakete feststellt, ob eine Überlastung vorhanden ist, wobei der dritte Teil der Vielzahl der Pakete eine Vielzahl von Synchronisationspaketen (170) enthält.
  12. Rechnerlesbares Medium, das ein Programm zur Steuerung einer Vielzahl von Teilverbindungen in einer Verbindung eines Rechnernetzwerks enthält, das mindestens eine Vermittlungsstelle beinhaltet, wobei die Vielzahl der Teilverbindungen die Vermittlungsstelle zur Übertragung von Verkehr durch das Netzwerk nutzt, wobei das Programm Befehle zur Durchführung aller Schritte des Verfahrens nach einem der Ansprüche 1 bis 11 enthält, wenn es auf einem Rechner ausgeführt wird.
  13. System zur Steuerung einer Vielzahl von Teilverbindungen für eine Verbindung in einem Rechnernetzwerk, das eine Vermittlungsstelle beinhaltet, durch die eine Vielzahl der Teilverbindungen hindurchgeht, wobei das System Folgendes umfasst: eine Warteschlange zur Verwendung durch die Vielzahl der Teilverbindungen bei der Übertragung von Verkehr durch die Vermittlungsstelle; und einen Warteschlangen-Einreihmechanismus, der mit der Warteschlange verbunden ist, um unter Verwendung eines Mindestdatenstroms, der für jede der Vielzahl der Teilverbindungen von einem Benutzer festgelegt wird, Verkehr durch die Vermittlungsstelle zu steuern, und dadurch gekennzeichnet ist, dass der Warteschlangen-Einreihmechanismus dafür vorgesehen ist festzustellen, ob die Verbindung überlastet ist, und um einen Datenstrom in einer Teilverbindung der Vielzahl der Teilverbindungen nur dann zu steuern, wenn eine Überlastung vorhanden ist, so dass der Datenstrom für die Teilverbindung linear erhöht werden kann, wenn der Datenstrom für die Teilverbindung der Vielzahl der Teilverbindungen geringer als der Mindestdatenstrom ist, und der Datenstrom für die Teilverbindung der Vielzahl der Teilverbindungen exponentiell verringert wird, wenn der Datenstrom größer als der Mindestdatenstrom ist, so dass der Verkehr durch die Vermittlungsstelle stabil ist.
  14. System nach Anspruch 13, wobei der Warteschlangen-Einreihmechanismus des Weiteren feststellt, ob überschüssige Bandbreite vorhanden ist, und den Datenstrom für jede der Vielzahl der Teilverbindungen auf der Grundlage, ob überschüssige Bandbreite vorhanden ist oder nicht, erhöht oder verringert.
  15. System nach Anspruch 14, wobei der Warteschlangen-Einreihmechanismus feststellt, ob überschüssige Bandbreite vorhanden ist, indem er feststellt, ob es eine zweite Art von Überlastung gibt, wobei er anzeigt, dass überschüssige Bandbreite vorhanden ist, wenn es die zweite Art von Überlastung gibt, und andernfalls anzeigt, dass keine überschüssige Bandbreite vorhanden ist.
DE60109027T 2000-03-31 2001-03-30 Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken Expired - Lifetime DE60109027T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US540428 1990-06-18
US54042800A 2000-03-31 2000-03-31
PCT/GB2001/001436 WO2001076138A2 (en) 2000-03-31 2001-03-30 Method and system for controlling flows in sub-pipes of computer networks

Publications (2)

Publication Number Publication Date
DE60109027D1 DE60109027D1 (de) 2005-03-31
DE60109027T2 true DE60109027T2 (de) 2006-04-13

Family

ID=24155415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60109027T Expired - Lifetime DE60109027T2 (de) 2000-03-31 2001-03-30 Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken

Country Status (14)

Country Link
EP (1) EP1269694B1 (de)
JP (1) JP2003530014A (de)
KR (1) KR100504005B1 (de)
CN (1) CN1168265C (de)
AT (1) ATE289727T1 (de)
AU (1) AU2001242638A1 (de)
BR (1) BR0109622A (de)
CA (1) CA2401425C (de)
DE (1) DE60109027T2 (de)
IL (1) IL151739A0 (de)
MX (1) MXPA02009102A (de)
MY (1) MY124780A (de)
TW (1) TW488135B (de)
WO (1) WO2001076138A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1260915C (zh) 2002-11-19 2006-06-21 华为技术有限公司 一种城域网传输设备的流量控制方法
US8429291B2 (en) * 2009-11-18 2013-04-23 Cisco Technology, Inc. Protection of network flows during congestion in a communications network
WO2012167571A1 (zh) * 2011-11-25 2012-12-13 华为技术有限公司 网络拥塞控制方法和装置
JP6585133B2 (ja) * 2017-06-02 2019-10-02 株式会社三菱Ufj銀行 通信経路制御システム
JP6979913B2 (ja) * 2018-03-29 2021-12-15 株式会社Pfu 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9520807D0 (en) * 1995-10-11 1995-12-13 Newbridge Networks Corp Fair queue servicing using dynamic weights
DE19617816B4 (de) * 1996-05-03 2004-09-09 Siemens Ag Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
US6163542A (en) * 1997-09-05 2000-12-19 Carr; David Walter Virtual path shaping
US6169740B1 (en) * 1997-10-30 2001-01-02 Nortel Networks Limited Method of and apparatus for virtual link management

Also Published As

Publication number Publication date
BR0109622A (pt) 2003-02-04
KR20020084252A (ko) 2002-11-04
EP1269694B1 (de) 2005-02-23
IL151739A0 (en) 2003-04-10
WO2001076138A2 (en) 2001-10-11
ATE289727T1 (de) 2005-03-15
EP1269694A2 (de) 2003-01-02
CN1406424A (zh) 2003-03-26
MXPA02009102A (es) 2003-03-12
WO2001076138A3 (en) 2002-01-31
TW488135B (en) 2002-05-21
AU2001242638A1 (en) 2001-10-15
KR100504005B1 (ko) 2005-07-27
CA2401425C (en) 2006-07-11
CN1168265C (zh) 2004-09-22
MY124780A (en) 2006-07-31
DE60109027D1 (de) 2005-03-31
CA2401425A1 (en) 2001-10-11
JP2003530014A (ja) 2003-10-07

Similar Documents

Publication Publication Date Title
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE60217361T2 (de) Verfahren und System zur Überlastkontrolle in einem Kommunikationsnetzwerk
DE60313037T2 (de) Flusssteuerung in Netzwerkeinheiten
EP1451980B1 (de) Verfahren zur uebertragung von daten von applikationen mit unterschiedlicher qualität
DE602004004831T2 (de) Verfahren und Vorrichtung zur Ablauffolgeplanung von Paketen auf einer Netzwerkverbindung mit einer auf der Eingangsrate basierenden Priorität
DE10296945B4 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE60318539T2 (de) Netzwerküberwachungssystem, das auf Veränderungen der Variant und des Mittelwertes der Paketankunftszeiten reagiert
DE602005002158T2 (de) Lastausgleichtechnik für Verkehrstechnik zwischen Domänen
DE69530641T2 (de) Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE69434763T2 (de) Verfahren und Vorrichtung zur Überlastregelung in einem Kommunikationsnetzwerk
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
DE60304580T2 (de) Schalteinheit mit skalierbarer und "QOS"-berücksichtigender Datenflusssteuerung
WO2004073265A1 (de) Verfahren zur übertragungsbandbreitenzuteilung in einer paketorientierten kommunikationseinrichtung
DE60109027T2 (de) Verfahren und system zur steuerung von datenströmen in teil-datenstrom-bündeln von computernetzwerken
DE60305866T2 (de) System und Verfahren zum Anbieten von differenzierten Diensten
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)
EP1815648B1 (de) Abschätzung des bandbreitenbedarfs in einem kommunikationsnetz mit zugangskontrollen
DE60037361T2 (de) Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring
DE102022200554A1 (de) Bandbreitensteuerungspolicer in einem netzwerkadapter
DE10327545B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7