DE69530641T2 - Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung - Google Patents

Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung Download PDF

Info

Publication number
DE69530641T2
DE69530641T2 DE69530641T DE69530641T DE69530641T2 DE 69530641 T2 DE69530641 T2 DE 69530641T2 DE 69530641 T DE69530641 T DE 69530641T DE 69530641 T DE69530641 T DE 69530641T DE 69530641 T2 DE69530641 T2 DE 69530641T2
Authority
DE
Germany
Prior art keywords
rate
source
stamped
control cell
field
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
DE69530641T
Other languages
English (en)
Other versions
DE69530641D1 (de
Inventor
Anthony G. Wellesley Lauck
Anna Charny
Kadangode K. Maynard Ramakrishnan
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.)
Enterasys Networks Inc
Original Assignee
Enterasys Networks Inc
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 Enterasys Networks Inc filed Critical Enterasys Networks Inc
Application granted granted Critical
Publication of DE69530641D1 publication Critical patent/DE69530641D1/de
Publication of DE69530641T2 publication Critical patent/DE69530641T2/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
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/39Credit based
    • 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
    • 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/563Signalling, e.g. protocols, reference model
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5634In-call negotiation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft im allgemeinen die Vermeidung der Überlastung von Computernetzwerken und im besonderen die Beschränkung einer Übertragungsrate von Endstationen zum Zweck der Vermeidung von Überlastungen an zwischengeordneten Links.
  • Hintergrund
  • Mit zunehmender Komplexität der Computernetzwerke stehen immer mehr Endstationen über immer mehr zwischengeordnete Links miteinander in Verbindung. Unter einem zwischengeordneten Link ist typischerweise ein Abschnitt eines Netzwerkkabels mit Netzwerkknoten oder Netzwerk-Schaltstellen an jedem Ende des Kabels zu verstehen. Ein Link kann nur eine vorbestimmte Menge von Netzwerkverkehr bewältigen, welche üblicherweise als Bit-pro-Sekunden-Grenze bezeichnet wird. Der Netzwerkverkehr wird typischerweise in Form von Paketen oder Zellen beschrieben, und jedes Paket bzw. jede Zelle benötigt eine Anzahl von Bits, die über das Netzwerk übertragen werden sollen.
  • Ein zwischengeordnetes Link kann zum Beispiel Datenverkehr übertragen, der an zahlreichen Quellenendstationen generiert wird. Und jede Quellenendstation ist in der Lage, Netzwerkverkehr mit einer Geschwindigkeit zu generieren, die jene Menge, die das Link ohne Verlust von Paketen bewältigen kann, übersteigt. Das heisst, jede einzelne Endstation ist in der Lage, bei einem zwischengeordneten Link eine Überlastung zu verursachen. Demgemäss ist es klar ersichtlich, dass wenn eine Mehrzahl von Endstationen Netzwerkverkehr generiert und all dieser Verkehr durch ein zwischengeordnetes Link geführt wird, ein Mechanismus zur Begrenzung des von den einzelnen Endstationen erzeugten Verkehrs installiert werden muss. Flusssteuerung ist der allgemeine Begriff, der verwendet wird, um einen Mechanismus zur Beschränkung des von einer Quellenendstation erzeugten Verkehrs zu beschreiben.
  • Die Angemessenheit bei der Zuteilung von Linkkapazität an verschiedene Quellenendstationen ist eine andere Überlegung, auf die von der Flusssteuerung eingegangen werden muss. Wenn nämlich eine Quellenendstation die gesamte Kapazität eines zwischengeordneten Links für sich in Anspruch nimmt, so kann keine weitere Quellenendstation eine Übertragung durchführen. Überlastungsverwaltungssysteme stellen einer jeden Quellenendstation die Möglichkeit zum Senden bereit, allerdings mit einer Übertragungsrate, die hinter der von der Quellenendstation gewünschten Rate zurückbleibt.
  • In vielen Netzwerken, insbesondere in verbindungsorientierten Netzen, werden im wesentlichen stabile Router zur Übertragung von Paketen von einer ausgewählten Quellenendstation zu einer ausgewählten Zielendstation eingerichtet. Diese stabilen Router werden typischerweise als Sitzungen oder als virtuelle Verbindungen bezeichnet. Unter einer virtuellen Verbindung wird ein Pfad durch zwischengeordnete Links und Netzwerkknoten zwischen einer bezeichneten Quellenendstation und einer bezeichneten Zielendstation verstanden. Jedes Paket trägt eine Bezeichnung der virtuellen Verbindung, und jeder zwischengeordnete Netzwerkknoten hält Zustandsinformationen, so dass er in der Lage ist, die in einem empfangenen Paket enthaltene Bezeichnung der virtuellen Verbindung zu prüfen und das Paket dem gemäss an ein geeignetes nachgeordnetes Link weiterzugeben.
  • Zwei weit verbreitete Typen der Flusssteuerung, die typischerweise in Netzwerken mit stabilen Routern wie z. B. virtuellen Verbindungen verwendet werden, sind erstens die End-to-end-Flusssteuerung und zweitens die Hop-by-hop-Flusssteuerung.
  • Bei der End-to-end-Flusssteuerung ist es typischerweise eine Zielendstation, welche erkennt, dass es in dem Netzwerk zu einer Überlastung kommt. Eine Zielendstation kann eine Überlastung daran erkennen, dass ein zwischengeordneter Netzwerkknoten ein Flag in ein weitergeleitetes Paket einfügt, wobei das Flag die Zielendstation davon informiert, dass die Puffer des zwischengeordneten Netzwerkknotens sich langsam füllen oder dass der zwischengeordnete Netzwerkknoten auf andere Weise eine drohende Überlastung wahrnimmt. Die Zielendstation fügt daraufhin eine Überlastungsinformation in ein an die Quellenendstation rückübermitteltes Bestätigungspaket ein und die Quellenendstation reagiert insofern auf die Überlastungsinformation, als sie die Geschwindigkeit reduziert, mit welcher die Quellenendstation Pakete an das Netzwerk übermittelt.
  • Eine weitere Verfeinerung der End-to-end-Flusssteuerung besteht darin, dass Steuerpakete über eine virtuelle Verbindung von einer Quellenstation durch das Netzwerk an eine Zielstation übertragen werden und dass die Zielstation als Reaktion darauf das Steuerpaket über die virtuelle Verbindung wieder an die Quellenstation zurücksendet.
  • Während das Steuerpaket durch das Netzwerk gesendet wird, werden bei jedem Durchwandern eines Links der virtuellen Verbindung Linkkapazitätsinformationen in das Steuerpaket geschrieben. Jeder Netzwerkknoten an jedem Link entlang der virtuellen Verbindung hält daraufhin eine Tabelle mit übertragungsratenspezifischen Informationen zu jeder virtuellen Verbindung, die durch den entsprechenden Netzwerkknoten hindurch verläuft.
  • Das Problem bei einer Methode der Berechnung einer Übertragungsrate für jede virtuelle Verbindung besteht darin, dass jeder zwischengeordnete Netzwerkknoten eine Tabelle mit Zustandsinformationen für jede einzelne durch diesen hindurch verlaufende, virtuelle Verbindung verwalten muss. Ausserdem muss für den Fall, dass das Netzwerk eine Veränderung erfährt, sei es dass eine neue virtuelle Verbindung eingerichtet wird, sei es dass eine alte virtuelle Verbindung aufgelöst wird, das Netzwerk rasch auf diese Veränderung reagieren. Die Reaktion auf eine Veränderung erforderte bei früheren Anwendungsversuchen einer End-to-end-Flusssteuerung eine zu lange Konvergenzzeit. So ist zum Beispiel die Konvergenzzeit unter ungünstigsten Bedingungen bei zahlreichen früheren Systemen proportional zu der Anzahl der virtuellen Verbindungen, zusätzlich zu der zum Durchlaufen des Netzwerks maximal benötigten Zeit. Dermassen lange Konvergenzzeiten sind für eine effiziente Überlastungsverwaltung nicht annehmbar.
  • Als zweites wird in der Folge die Hop-by-hop-Flusssteuerung besprochen. Bei der Hop-by-hop-Flusssteuerung verwendet ein nachgeordneter Netzwerkknoten einen Mechanismus, um einem ihm unmittelbar vorgeordneten Netzwerkknoten mitzuteilen, dass dieser die Geschwindigkeit, mit welcher der vorgeordnete Knoten Pakete an den nachgeordneten Knoten übermittelt, begrenzen möge. Ein typischer Mechanismus, der von dem nachgeordneten Netzwerkknoten verwendet wird, um die Geschwindigkeit, mit der Pakete von einem vorgeordneten Netzwerkknoten übertragen werden, zu begrenzen, besteht in der Ausgabe von Berechtigungspunkten. Die von dem nachgeordneten Netzwerkknoten ausgegebenen Berechtigungspunkte spiegeln die Anzahl der in dem nachgeordneten Knoten vorhandenen Puffer wider. Berechtigungspunktinformationen werden in einem Steuerpaket an den vorgeordneten Netzwerkknoten gesendet. Der vorgeordnete Knoten darf nur jene Anzahl von Paketen senden, für die er über Berechtigungspunkte verfügt, und der vorgeordnete Knoten verringert den Zählstand seiner Berechtigungspunkte mit jedem Senden eines Pakets. Wenn der nachgeordnete Netzwerkknoten ein Paket empfängt, wird das Paket zunächst in einen Puffer gestellt und dieser Puffer wird später wieder geleert, wenn der nachgeordnete Netzwerkknoten das Paket weiterverarbeitet. In dem Mass, in welchem Pakete von dem nachgeordneten Netzwerkknoten weitergeleitet werden, sendet der nachgeordnete Netzwerkknoten Berechtigungspunktinformationen an den vorgeordneten Netzwerkknoten. Dementsprechend empfängt der vorgeordnete Netzwerkknoten Berechtigungspunkte und verwendet diese, um die Geschwindigkeit zu steuern, mit welcher er Pakete (bzw. Zellen) an den nachgeordneten Netzwerkknoten überträgt. Alle Knoten innerhalb des Netzwerks verwenden die berechtigungspunktbasierte Hop-by-hop-Flusssteuerung und erlauben somit ihren Quellenstationen, immer nur jene Anzahl von Paketen zu senden, die von jedem Netzwerkknoten bewältigt werden kann.
  • Die Hop-by-hop-Flusssteuerung ist unter Verwendung entweder von statischer Pufferung oder von dynamischer Pufferung implementiert worden. Bei der statischen Pufferung müssen für jede virtuelle Verbindung Pufferspeicher in ausreichender Anzahl verfügbar sein, damit jedes Link zur Gänze ausgenutzt werden kann. Jeder einzelnen virtuellen Verbindung muss es möglich sein, die Kapazität eines zwischengeordneten Links zur Gänze auszuschöpfen. Demgemäss müssen jeder virtuellen Verbindung Pufferspeicher in ausreichender Zahl zugeordnet sein, damit diese die Kapazität des Links zur Gänze nutzen kann. Sind viele virtuelle Verbindungen eingerichtet, so wird die Anzahl der dafür benötigten Pufferspeicher übermässig gross. So werden zum Beispiel in einem als 'Asynchronous Transfer Mode' oder ATM bezeichneten Übertragungsprotokoll, 24 Bits zur Bezeichnung einer virtuellen Verbindung verwendet. Demgemäss beträgt die Anzahl möglicher virtueller Verbindungen 224. Es ist nicht praktikabel, für so viele virtuelle Verbindungen eine Pufferspeicherung mit voller Linkkapazität bereitzustellen. Und es ist niemals bekannt, welche dieser virtuellen Verbindungen die Pufferspeicherung mit voller Linkauslastung benötigen wird.
  • Wenn als zweite Möglichkeit in einem bestimmten, zwischengeordneten Netzwerkknoten die dynamische Pufferung verwendet wird, so wird allen virtuellen Verbindungen, die durch den betreffenden Netzwerkknoten hindurch verlaufen, ein Pool von Pufferspeichern zugewiesen. Einige der Puffer werden einer jeden virtuellen Verbindung je nach Bedarf zugewiesen. Ein Problem dabei liegt darin, dass bei einer Veränderung des Netzwerkes durch Hinzufügen oder Entfernen einer virtuellen Verbindung das System sehr lange braucht, um auf diese Veränderung zu reagieren. Wird zum Beispiel eine neue virtuelle Verbindung hinzugefügt, so kann es sein, dass keine Pufferspeicher zur Verfügung stehen, die der neuen virtuellen Verbindung zugewiesen werden könnten, da sie infolge einer früheren anderweitigen Zuweisung bereits voll sein können. Die Pufferspeicher entleeren sich nur langsam. Demgemäss muss eine neue virtuelle Verbindung eine lange Zeit warten, bevor sie mit der Übertragung beginnen kann. Derlei lange Wartezeiten sind für eine effiziente Netzwerkverwaltung nicht annehmbar.
  • Benötigt wird somit ein Flusssteuerungssystem, das in der Lage ist, sich an eine grosse Zahl virtueller Verbindungen anzupassen, schnell auf eine Veränderung bei der Anzahl der eingerichteten virtuellen Verbindungen zu reagieren, sich auf die unterschiedlichen Anforderungen seitens zahlreicher verschiedener Quellenendstationen einzustellen, und eine angemessene Zuteilung von Netzwerkressourcen an alle Quellenendstationen zu ermöglichen.
  • In der EP 0 413 488 A wird ein System zur Regulierung des Datenverkehrs in einem Hochgeschwindigkeits-Datennetzwerk beschrieben. Ein Quellen-Terminal, das eine Nachricht an ein Ziel-Terminal senden möchte, fordert als erstes eine Zuteilung von Bandbreite von den auf dem Pfad zu dem Ziel-Terminal gelegenen, zwischengeordneten Terminaladaptern an, um die Nachricht zu senden. Eine Bandbreitenanforderungsnachricht wird an den ersten zwischengeordneten Terminaladapter gesendet, welcher daraufhin prüft, ob Bandbreite verfügbar ist, die zugeteilt werden kann. Der erste Terminaladapter sendet daraufhin eine Anforderungsnachricht an den zweiten Terminaladapter, um zu prüfen, ob die angeforderte Bandbreite auch an dem zweiten Terminaladapter verfügbar ist. Wenn an beiden Terminaladaptern Bandbreite verfügbar ist, gibt eine Retournachricht an, dass eine bezeichnete Bandbreite für das Senden der gewünschten Nachricht von dem Quellen-Terminal zu dem Ziel-Terminal zugewiesen wurde. Nachdem die Nachricht gesendet worden ist, wird die Zuweisung von Bandbreite durch den ersten und den zweiten Terminaladapter wieder rückgängig gemacht, sodass diese von anderen Terminals in Anspruch genommen werden kann.
  • Kurzdarstellung
  • Die Erfindung besteht grob gesprochen in einem Flusssteuerungssystem für ein Computernetzwerk nach Anspruch 1 und in einem Verfahren zur Steuerung von Übertragungsraten nach Anspruch 9.
  • Ein nachfolgend genauer beschriebenes System zur Steuerung einer Übertragungsrate von einer Quellenstation auf einem Computernetzwerk umfasst folgendes: einen Steuerzellenüberträger zur Übertragung einer Steuerzelle auf dem Computernetzwerk, wobei die Steuerzelle auf einer dafür eingerichteten, virtuellen Verbindung unterwegs ist, wobei die Steuerzelle eine in ein gestempeltes Ratenfeld geschriebene, gestempelte Übertragungsrate sowie einen in ein U-Bit-Feld geschriebenen Steuer-U-Bit-Wert aufweist; einen in einer Netzwerk-Schaltstelle befindlichen Selektor zur Auswahl einer angemessenen Übertragungsrate für die virtuelle Verbindung; einen in einer Netzwerk-Schaltstelle befindlicher Empfänger zum Empfangen der Steuerzelle an einem eingehenden Link des Netzwerks und zum Auslesen der gestempelten Übertragungsrate und des U-Bit-Wertes; einen in einer Netzwerk-Schaltstelle befindlicher Prozessor, der eine neue gestempelte Übertragungsrate in das in das gestempelte Ratenfeld der Steuerzelle schreibt, bevor die Steuerzelle auf das abgehende Link übertragen wird, wobei die neue gestempelte Übertragungsrate in Reaktion auf die empfangene gestempelte Rate und auf die angemessene Übertragungsrate errechnet wird, und der einen Wert in das U-Bit-Feld der abgehenden Kontrollzelle schreibt, wodurch angegeben wird, ob die neue gestempelte Übertragungsrate sich von der empfangenen gestempelten Übertragungsrate unterscheidet; einen in einer Zielstation befindlichen Empfänger, der die Steuerzelle empfängt und eine Rückführzelle sendet, die einen Wert enthält, der von der Zielstation in dem gestempelten Ratenfeld und dem U-Bit-Feld empfangen wird; einen in der Quellenstation befindlichen Empfänger, der die Rückführzelle empfängt und die rückgeführte gestempelte Rate sowie den rückgeführten U-Bit-Wert ausliest; eine in der Quellenstation befindliche Übertragungsraten-Steuereinheit, die in Reaktion auf die rückgeführte, gestempelte Rate und den rückgeführten U-Bit-Wert eine neue Rate für die Übertragung einer Mehrzahl von Datenzellen durch die Vorrichtung festlegt. Das System implementiert das oben beschriebene Verfahren auf zweierlei Art: durch eine in jeder Quellenstation und in jeder Schaltstelle befindliche, globale Ablaufsteuerungseinrichtung zur Zeitsteuerung von Ereignissen, um in einer Quellenstation das Senden einer Steuerzelle für jede in der Quellenstation eingerichtete, virtuelle Verbindung zeitlich festzulegen, und um in einer Schaltstelle die Berechnung einer angemessenen Übertragungsrate zeitlich festzulegen; und durch eine Einrichtung zur Generierung diskreter Übertragungsraten zur Berechnung einer Mehrzahl von erlaubten, diskreten Übertragungsraten und zum Erfordern, dass alle in die Steuerzelle geschriebenen, gestempelten Übertragungsraten und alle angemessenen Übertragungsraten als eine Rate aus der Mehrzahl von erlaubten, diskreten Übertragungsraten ausgewählt werden. In dem System werden weiterhin Zustandsinformationen in jeder Verbindungsstelle verwaltet, so dass nur die Mehrzahl von diskreten Übertragungsraten und die Anzahl der Quellenendstationen an jeder der erlaubten, diskreten Übertragungsraten verwaltet werden. Auf diese Weise vermindert das System die Notwendigkeit, für jede einzelne virtuelle Verbindung funktional äquivalente Zustandsinformationen an jeder Verbindungsstelle zu bereitzuhalten.
  • Ein System zur Auswahl von Übertragungsraten für eine Mehrzahl von Quellenstationen, welches folgendes umfasst: eine Auswahleinrichtung zur Errichtung einer praktikablen Übertragungsrate für jede Quellenstation auf allen eingerichteten, virtuellen Verbindungen; wobei die praktikablen Raten als eine Übertragungsrate für jede Quellenstation definiert sind, so dass die Summe aller Übertragungsraten aller durch ein Link hindurch verlaufenden, virtuellen Verbindungen die jeweilige Linkkapazität nicht überschreiten, und dies für alle in dem Netzwerk vorhandenen Links; eine Einrichtung zum Zuteilen von virtuellen Pufferspeichern, so dass die Verhältnisse von zugeteilten Puffern den Verhältnissen der praktikablen Übertragungsraten der virtuellen Verbindungen entsprechen; und welches eine Hop-by-hop-Flusssteuerungseinrichtung zur dynamischen Zuteilung von Pufferspeicher in einer Netzwerk-Verbindungsstelle beinhaltet, um den Quellenstationen zu ermöglichen, mit einer Übertragungsrate von über den praktikablen Übertragungsraten Datenzellen zu übertragen.
  • Kurzbeschreibung der Zeichnungen
  • Ein genaueres Verständnis der Erfindung kann aus der nachfolgenden Beschreibung von bevorzugten Ausführungsformen gewonnen werden, welche beispielhaften Charakter hat und in Verbindung mit den beigefügten Zeichnungen zu verstehen ist, in denen:
  • 1 ein Diagramm darstellt, in welchem eine beispielhafte Ausführungsform der in einem Verkehrssteuersystem enthaltenen Elemente gezeigt wird;
  • 2 ein Diagramm einer beispielhaften Ausführungsform einer in einer Quellenendstation befindlichen Quellendatenstruktur darstellt;
  • 3 ein Diagramm einer beispielhaften Ausführungsform einer Ratentabelle darstellt;
  • 4 ein Diagramm darstellt, das die Schritte zeigt, welche von einer beispielhaften Ausführungsform eines in einem Quellenendknoten befindlichen Ratensteuerungsprozesses ausgeführt werden;
  • 5 ein Diagramm darstellt, welches die Schritte zeigt, welche von einer beispielhaften Ausführungsform einer Quellenendstation ausgeführt werden, um eine End-to-end-Steuerzelle zu übertragen;
  • 6A ein Diagramm darstellt, welches die Schritte zeigt, die von einer beispielhaften Ausführungsform einer Quellenendstation ausgeführt werden, um eine Quellendatenstruktur in Reaktion auf den Empfang einer End-to-end-Steuerzelle zu aktualisieren;
  • 6B ein Diagramm darstellt, das eine erste alternative, beispielhafte Ausführungsform 625A des Schrittes 625 aus 6A darstellt;
  • 6C ein Diagramm darstellt, das eine zweite alternative, beispielhafte Ausführungsform 625B des Schrittes 625 aus 6A darstellt;
  • 7 ein Diagramm darstellt, welches die Schritte zeigt, die von einer beispielhaften Ausführungsform eines in einer Netzwerk-Schaltstelle befindlichen Prozesses zur periodischen Aktualisierung ausgeführt werden;
  • 8 ein Diagramm jener Schritte darstellt, die von einer beispielhaften Ausführungsform eines in einer Netzwerk-Schaltstelle befindlichen Ratensteuerungsinformationsprozesses ausgeführt werden;
  • 9 ein Diagramm darstellt, welches eine beispielhafte Ausführungsform von Feldern innerhalb einer End-to-end-Steuerzelle zeigt;
  • 10 ein Taktdiagramm darstellt, welches die Beabstandung von praktikablen Raten zeigt;
  • 11 eine Schaltstellen-Berechtigungspunkttabelle darstellt,
  • 12 ein Felddiagramm für Felder aus der Schaltstellen-Berechtigungspunkttabelle aus 11 darstellt;
  • 13 ein Felddiagram von in einer End-to-end-Steuerzelle befindlichen Daten darstellt, wenn diese im Rahmen einer berechtigungspunktbasierten Hop-by-hop-Flusssteuerung verwendet werden;
  • 14 ein Felddiagramm darstellt, mit in einer Berechtigungspunkt-Zelle befindlichen Daten, die für eine berechtigungspunktbasierte Hop-by-hop-Flusssteuerung verwendet wird;
  • 15 ein Blockdiagramm von Prozessen in einem Hop-by-hop-Flusssteuerungssystem darstellt;
  • 16 ein Flussdiagramm eines Datenempfangsprozesses darstellt;
  • 17 ein Flussdiagramm eines Datenübermittlungsprozesses darstellt;
  • 18A ein Flussdiagramm eines Berechtigungspunkt-Übertragungsprozesses darstellt;
  • 18B ein Blockdiagramm von zwei Schaltstellen und einem dazwischen angeordneten Link darstellt;
  • 19 ein Flussdiagramm eines Berechtigungspunktempfangsprozesses darstellt;
  • 20 ein Blockdiagramm von Netzwerkknoten darstellt, welche eine berechtigungspunktbasierte Hop-by-hop-Flusssteuerung verwenden;
  • 21 ein Blockdiagramm eines ratengesteuerten End-to-end-Flusssteuerungsprozesses darstellt, der zusammen mit einem berechtigungspunktbasierten Hop-by-hop-Flusssteuerungsprozess verwendet wird;
  • 22 ein Speicherzuordnungsdiagramm darstellt;
  • 23 ein Speicherzuordnungsdiagramm darstellt.
  • Detaillierte Beschreibung
  • Ratenbasiertes End-to-end-Verkehrssteuerungssystem
  • Die 1 bis 9 zeigen Elemente eines Systems zur ratenbasierten End-to-end-Verkehrssteuerung in einem Datenübertragungsnetzwerk. Das offenbarte ratenbasierte Verkehrssteuersystem macht es erforderlich, dass jede Quellenendstation ihre Übertragungsrate aus einer Gruppe von erlaubten, diskreten Übertragungsraten auswählt. Die Gruppe von erlaubten, diskreten Übertragungsraten basiert auf einer logarithmischen Codierung. Das offenbarte ratenbasierte Verkehrssteuersystem macht es weiterhin erforderlich, dass jede Quellenendstation in jedem Zeitintervall T eine End-to-end-Steuerzelle sendet. Das Zeitintervall T ist auch den Verbindungsstellen in dem Datenübertragungsnetzwerk bekannt und wird dazu verwendet, um in regelmässigen Abständen die an einer Verbindungsstelle für eine gegebene, virtuelle Verbindung verfügbare Bandbreitenzuteilung (oder den "angemessenen Anteil") zu berechnen.
  • 1 zeigt eine beispielhafte Ausführungsform der in einem ratenbasierten Verkehrssteuerungssystem zum Einsatz gelangenden Elemente. 1 beinhaltet eine Quellenendstation 100, eine Schaltstelle 102 und eine Zielendstation 104. Die Quellenendstation 100 ist über ein Datenübertragungs-Link 105 mit der Schaltstelle 102 verbunden und die Zielendstation 104 ist über ein Datenübertragungs-Link 139 mit der Schaltstelle 102 verbunden.
  • Während des Betriebs der in 1 gezeigten Elemente kommt es zu vielfachen virtuellen Verbindungen, welche ihren Ursprung in der Quellenendstation 100 nehmen. Der Leitweg einer jeden virtuellen Verbindung ist vorausbestimmt und die Festlegung eines jeden Leitwegs ist ausserhalb des Umfangs des hier offenbarten Systems gelegen. Zu Beispielzwecken haben ein oder mehrere der an der Quellenendstation 100 ihren Ursprung nehmenden, virtuellen Verbindungen als Bestimmungsort die Zielendstation 104.
  • Das Beispiel aus 1 zeigt eine einzelne Schaltstelle 102, die entlang dem Leitweg zwischen der Quellenendstation 100 und der Zielendstation 104 angeordnet ist. Das offenbarte System ist jedoch auch in jenen Fällen anwendbar, in denen die Quellenendstation und die Zielendstation mittels einer virtuellen Verbindung, die sich über einen Leitweg mit mehreren Schaltstellen erstreckt, miteinander verbunden sind. Das offenbarte System ist weiterhin auch in jenen Fällen anwendbar, in denen mehrfache Quellenendstationen vorhanden sind, die virtuelle Verbindungen aufweisen, welche durch eine einzelne Schaltstelle hindurch verlaufen. Das offenbarte System ist in ähnlicher Weise bei Netzwerken von Nutzen, bei denen mehrere Schaltstellen vorhanden sind, in denen sogar noch komplexere Konfigurationen von sich vereinigenden und sich aufteilenden Verkehrsströmen existieren.
  • Wie gezeigt wird, verfügt die Quellenendstation 100 über einen Speicher 108, einen Ratensteuerungsprozess 112, einen Datenverkehrsgestaltungsprozess 114, einen Taktgeber 116, und eine Netzwerkschnittstelle 118. Der Speicher 108 verfügt, wie gezeigt, über eine Quellendatenstruktur 110. Der Speicher 108 und die Netzwerkschnittstelle 118 sind mit einem Bus 120 verbunden. Die Netzwerkschnittstelle 118 ist weiterhin über ein Datenübertragungs-Link 105 mit einer Schaltstelle 102 verbunden. Zu Beispielzwecken handelt es sich bei dem Ratensteuerungsprozess 112 und bei dem Datenverkehrsgestaltungsprozess 114 um Prozesse, die in einem oder in mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) untergebracht sind. Demgemäss ist die eine bzw. sind die mehreren ASICs mit dem Bus 120 verbunden.
  • Alternativ dazu kann es sich bei dem Ratensteuerungsprozess 112 und dem Datenverkehrsgestaltungsprozess 114 um Prozesse handeln, die auf einem Mikroprozessor innerhalb der Quellenendstation 100 ausgeführt werden. In dem Alternativbeispiel wird der Mikroprozessor in ähnlicher Weise mit dem Bus 120 verbunden.
  • Die Schaltstelle 102 verfügt, wie gezeigt, über einen Speicher 122, einen Datenweiterleitungsprozess 128, einen Hop-by-hop-Flusssteuerungsprozess 130, einen Ratensteuerungsinformationsprozess 132, einen Prozess 134 zur periodischen Aktualisierung, einen Taktgeber 136, und eine Netzwerkschnittstelle 138. Der Speicher 122 verfügt, wie gezeigt, über eine Ratentabelle 124, eine Tabelle 126 der virtuellen Verbindungen, und eine 'A-fair'-Variable 127. Der Speicher 122, der Taktgeber 136 und die Netzwerkschnittstelle 138 sind mit einem Bus 140 verbunden. Die Netzwerkschnittstelle 138 ist weiterhin über ein Datenübertragungs-Link 105 mit der Quellenendstation 100 verbunden. Die Netzwerkschnittstelle 138 ist ausserdem über ein Datenübertragungs-Link 139 mit der Zielendstation 104 verbunden. Zu Beispielszwecken handelt es sich bei dem Datenweiterleitungsprozess 128, dem Hop-by-hop-Flusssteuerungsprozess 130, dem Ratensteuerungsinformationsprozess 132 und dem Prozess 134 zur periodischen Aktualisierung um Prozesse innerhalb einer oder mehrerer anwendungsspezifischer integrierter Schaltungen (ASICs). Demgemäss ist die eine bzw. sind die mehreren ASICs mit dem Bus 140 verbunden.
  • Alternativ dazu handelt es sich bei dem Datenweiterleitungsprozess 128, dem Hop-by-hop-Flusssteuerungsprozess 130, dem Ratensteuerungsinformationsprozess 132, und dem Prozess 134 zur periodischen Aktualisierung um Prozesse handeln, die auf einem in der Schaltstelle 102 befindlichen Mikroprozessor ausgeführt werden. In dem Alternativbeispiel wird der Mikroprozessor in ähnlicher Weise mit dem Bus 140 verbunden.
  • Die Zielendstation 104 beinhaltet einen Speicher 142 und eine Netzwerkschnittstelle 146, die beide mit einem Bus 148 verbunden sind. Die Netzwerkschnittstelle 146 ist weiterhin über ein Datenübertragungs-Link 139 mit der Schaltstelle 102 verbunden. Zu Beispielzwecken handelt es sich bei dem Steuerzellenrückführprozess 144 um einen Prozess innerhalb einer oder mehrerer anwendungsspezifischer integrierter Schaltungen (ASICs). Demgemäss ist die eine bzw. sind die mehreren ASICs mit dem Bus 148 verbunden.
  • Als Alternative dazu handelt es sich bei dem Steuerzellenrückführprozess 144 um einen Prozess, der auf einem in der Schaltstelle 102 befindlichen Mikroprozessor ausgeführt wird. In dem Alternativbeispiel wird der Mikroprozessor in ähnlicher Weise mit dem Bus 148 verbunden.
  • 2 zeigt beispielhaft eine Ausführungsform des Inhalts einer in der Quellenendstation 100 aus 1 gezeigten Quellendatenstruktur 110. Für jede über das Datenübertragungs-Link 105 erfolgende virtuelle Verbindung der Endstation 100 existieren drei zugeordnete Felder in der Quellendatenstruktur: die gestempelte Quellenrate (GQR), die erlaubte Quellenübertragungsrate (EQÜR), die angeforderte Rate (Anforderung). Somit wird für eine gegebene virtuelle Verbindung eine gestempelte Quellenrate 205, eine erlaubte Quellenübertragungsrate 210 und eine angeforderte Rate 215 angezeigt.
  • Ausserdem wird in 2 ein 'maximale Durchlaufszeit'-Feld 220 gezeigt. Während es pro Quellenendstation 100 ein 'maximale Durchlaufszeit'-Feld 220 gibt, ist der Wert, der in dem 'maximale Durchlaufszeit'-Feld 220 gespeichert ist, in allen Netzwerkknoten gleich der längsten Durchlaufzeit in dem Netzwerk.
  • Der Wert des Anforderungs-Feldes für eine gegebene virtuelle Verbindung wird im Hinblick auf eine von einem Benutzer dieser virtuellen Verbindung angeforderten, maximalen Datenrate initialisiert. Ist die maximale Datenrate nicht bekannt, so wird der Wert des Anforderungs-Feldes für die virtuelle Verbindung auf 'unendlich' initialisiert.
  • Die erlaubte Quellenübertragungsrate für eine gegebene, virtuelle Verbindung ist die Übertragungsratengrenze für diese virtuelle Verbindung. Der in 1 gezeigte Datenverkehrsgestaltungsprozess 114 steuert die Übertragungsrate auf jeder virtuellen Verbindung in Abhängigkeit zu dem Inhalt des erlaubten Quellenübertragungsratenfeldes für die betreffende virtuelle Verbindung, so dass die tatsächliche Übertragungsrate für eine virtuelle Verbindung die erlaubte Quellenübertragungsrate der virtuellen Verbindung nicht übersteigt. Der Wert des erlaubten Quellenübertragungsratenfeldes entspricht zu jeder beliebigen Zeit einer der Raten aus der Gruppe der erlaubten, diskreten Übertragungsraten. Jede Rate aus der Gruppe der erlaubten, diskreten Übertragungsraten entspricht einem der Schaltstellen-Ratentabelleneinträge, wie in 3 gezeigt und beschrieben wird.
  • Bei der Initialisierung der in 2 dargestellten Elemente wird das gestempelte Quellenratenfeld (GQR) für jede virtuelle Verbindung entsprechend der Anforderung für diese virtuelle Verbindung eingestellt und wird die erlaubte Quellenübertragungsrate auf einen vorgegebenen Wert eingestellt. Die erlaubte Quellenübertragungsrate kann zu Beginn auf einen Minimalwert eingestellt werden, der einen minimalen, akzeptablen Fortschritt für eine erfolgreich eingerichtete, virtuelle Verbindung ermöglicht. Wenn der Datenverkehrsgestaltungsprozess zu Beginn mit dem vorgegebenen Minimalwert der erlaubten Quellenübertragungsrate für eine virtuelle Verbindung überträgt, so kann dies eine vorübergehende Nichtbenutzbarkeit der tatsächlichen Übertragungsrate dieser virtuellen Verbindung zur Folge haben. Diese Auswirkung kann umgangen werden, wenn der Datenverkehrsgestaltungsprozess zu Beginn die Übertragung auf einer neulich eingerichteten, virtuellen Verbindung um eine Zeitspanne von 2*(D + T) verzögert, wobei D die maximale Durchlauf zeit darstellt.
  • 3 zeigt eine Ratentabelle 300, welche eine beispielhafte Ausführungsform der in der Schaltstelle 102 gezeigten Ratentabelle 124 aus 1 darstellt. Jeder Eintrag in der Ratentabelle 124 entspricht einer Rate aus einer vorgegebenen Gruppe von erlaubten, diskreten Übertragungsraten. Die tatsächlichen Übertragungsraten von Quellenendstationen werden ebenfalls aus der vorgegebenen Gruppe von erlaubten, diskreten Übertragungsraten ausgewählt. Die vorgegebene Gruppe von erlaubten, diskreten Übertragungsraten wird, wie weiter unten beschrieben, unter Verwendung einer logarithmischen Codierung in der Ratentabelle 124 dargestellt. Das Beispiel aus 3 stellt 256 diskrete Raten bereit, die um ca. 9 voneinander beabstandet sind und in einem Bereich von 1 Bit pro Sekunde bis 3,9 Gigabits pro Sekunde gelegen sind.
  • Die Ratentabelle 300 aus 3 beinhaltet 256 Einträge mit den Indices i = 0 bis 255. Für jeden Eintrag mit dem Index i in der Ratentabelle 300 existiert ein Zählfeld ni und ein Bit ai. Jeder Eintrag in der Ratentabelle 300 entspricht einer diskreten Übertragungsrate, die durch die folgende Gleichung angegeben wird: 20.125–1
  • Während des Betriebs wird das Zählfeld ni von dem Ratensteuerungsinformationsprozess 132 dazu verwendet, um die Anzahl von End-to-end-Steuerzellen zu zählen, die einen gestempelten Ratenfeldwert (GR) aufweisen, welcher der diskreten Übertragungsrate entspricht, die diesem Eintrag zugeordnet ist, und die während der letzten Taktzeit T von der Schaltstelle 102 empfangen wurden. Das Feld ai wird von dem Ratensteuerungsinformationsprozess 132 auf eins gestellt, sofern während der Taktzeit T zumindest eine End-to-end-Steuerzelle empfangen wurde und diese einen gestempelten Ratenfeldwert (GR) enthielt, welcher der mit diesem Eintrag verbundenen, diskreten Übertragungsrate entspricht, und sofern dieser gestempelte Ratenfeldwert (GR) kleiner oder gleich dem aktuellen Wert der 'A-Fair'-Variablen 127.
  • Zu Beginn werden die Werte aller 'a'- und 'n'-Felder auf Null gesetzt. Die ni- und ai-Felder können während des Betriebs des in 1 dargestellten, periodischen Aktualisierungsprozesses 134, welcher in 7 im Detail beschrieben wird, verändert werden. Zu Beginn wird das 'A-Fair'-Feld 127 auf C/N gesetzt, wobei C der an dieser Schaltstelle verfügbaren gesamten Link-Kapazität und N der Anzahl der durch diese Schaltstelle hindurch verlaufenden virtuellen Verbindungen entspricht. Der Wert N lässt sich als die Summe aller Zählerfeldwerte ni bestimmen, die sich über die Taktzeit T hinweg in der Schaltstellentabelle angesammelt haben.
  • Die den Einträgen in der Schaltstellen-Ratentabelle 300 in 3 zugeordneten, diskreten Raten werden zu Beispielzwecken gezeigt. In alternativen Ausführungsformen wird eine andere Gruppe von erlaubten diskreten Raten verwendet und der Gruppe von Schaltstellen-Tabelleneinträgen 300 zugeordnet.
  • 4 zeigt die Schritte, die von zwei unabhängigen Subprozessen in einer beispielhaften Ausführungsform des in der Quellenendstation 100 (1) befindlichen Ratensteuerungsprozesses 112 durchgeführt werden. Die Schritte 400 und 405 stellen einen ersten unabhängigen Subprozess dar und die Schritte 410 und 415 stellen einen zweiten unabhängigen Subprozess dar.
  • In Schritt 400 von 4 erkennt der Ratensteuerungsprozess das Ablaufen des in 1 dargestellten Taktgebers 116. Die Taktzeit des Taktgebers 116 beträgt T. Die Taktzeit des in der Schaltstelle 102 (1) befindlichen Taktgebers 136 beträgt ebenfalls T. Der Taktgeber 136 und der Taktgeber 116 müssen zwar nicht synchronisiert sein, sie müssen jedoch im wesentlichen die gleiche Taktzeit aufweisen. Taktverschiebungen kleineren Ausmasses können bei diesen Taktgebern hingenommen werden.
  • Bei der Auswahl eines Wertes für die Taktzeit T gilt es nun verschiedene Überlegungen zu berücksichtigen. Je grösser der Wert für T ist, umso geringer ist die Bandbreite, die von dem Steuerverkehr in Anspruch genommen wird. Grössere Werte für T bringen jedoch auch grössere Konvergenzzeiten für das System mit sich. Nachfolgend werden drei zusätzliche Überlegungen angestellt, die für die Auswahl des richtigen Wertes für T von Bedeutung sind.
  • 1. Der Steuerungsverkehr sollte nicht mehr als einen bestimmten Prozentanteil der Engpasskapazität ausmachen und er sollte auch selber nicht überlastet sein. Dies führt zu der folgenden Ungleichung: T >= c*len/rmin wobei rmin die minimale, in Bits pro Sekunde ausgedrückte Rate darstellt, die für den gesamten Steuerungsverkehr an einem Link innerhalb des Netzwerks zugeteilt wird, len die in Bits ausgedrückte Steuerpaketlänge darstellt, und c die gewünschte Obergrenze für den Anteil an der Engpass-Bandbreite, der ausschliesslich von den End-to-end-Steuerzellen verwendet werden kann.
  • 2. Um sicherzustellen, dass das System gegenüber Paketverlust stabil ist, muss die Zeit L zwischen. zwei aufeinanderfolgenden Verlusten von Steuerpaketen grösser sein als die Algorithmus-Konvergenzzeit CT. Die theoretische Obergrenze bei der Konvergenzzeit ist bekannt und beträgt CT <= 4*N* (L*D + T), wobei N die Anzahl verschiedener Raten in dem optimalen Ratenvektor angibt und D die in dem Netzwerk auftretende, maximale Durchlaufszeitverzögerung darstellt. In dem hier offenbarten System ist N <= 256 für die Gruppe der erlaubten Übertragungsraten. Diese Erwägungen führen zu T < (L/4*N) – D
  • Es gilt hier anzumerken, dass für verlustarme Netzwerke L gross ist und die rechte Seite dieser Ungleichung ebenfalls gross ist.
  • 3. Eine Voraussetzung für den Betrieb des hier offenbarten Systems ist, dass die Taktzeit T über das gesamte Netzwerk hinweg frequenzsynchronisiert ist. Der Taktimpulsabstand bei den verschiedenen Takten mit der Taktzeit T kann sich über das ganze Netzwerk hinweg so auswirken, dass die absoluten Werte von T sich geringfügig voneinander unterscheiden. Wenn allerdings die maximale Taktverschiebung mit S begrenzt wird, so bleibt der Algorithmus stabil, wenn T entsprechend gewählt wird, so dass: T > 4*N*S
  • Wird die Taktverschiebungsgrenze S klein genug gehalten, so kann die rechte Seite des obigen Verhältnisses ebenfalls gering gehalten werden.
  • Im folgenden wird mit der Beschreibung der in 4 gezeigten Elemente fortgefahren, wobei der Ratensteuerungsprozess nach dem in Schritt 400 erfolgenden Erkennen des Ablaufs des Taktgebers in Schritt 405 eine End-to-end-Steuerzelle überträgt. Wie in 1 gezeigt, verwendet der Ratensteuerungsprozess die Netzwerkschnittstelle 118, um die End-to-end-Steuerzelle zu übertragen. Die Felder der in Schritt 405 übertragenen End-to-end-Steuerzelle werden in 9 gezeigt. Die Werte der Felder in der in Schritt 405 übertragenen End-to-end- Steuerzelle werden, wie in 1 gezeigt, von dem Ratensteuerungsprozess in Reaktion auf die Quellendatenstruktur 110 bestimmt. Die Schritte zur Bestimmung der Felder in der End-to-end-Steuerzelle werden in 5 gezeigt. Die End-to-end-Steuerzelle wird auf einer bestimmten virtuellen Verbindung gesendet. Die Felder der End-to-end-Steuerzelle können von den entlang des Leitwegs zwischen der Quellenendstation und der Zielendstation angeordneten Schaltstellen verändert werden. Nachdem die Zielendstation die in Schritt 405 übertragene End-to-end-Steuerzelle empfangen hat, überträgt sie die End-to-end-Steuerzelle zurück an die Quellenendstation.
  • In Schritt 410 empfängt der Ratensteuerungsprozess eine End-to-end-Steuerzelle. Der Ratensteuerungsprozess verwendet die Netzwerkschnittstelle 118, um die Steuerzelle zu empfangen. Im Anschluss an Schritt 410 aktualisiert der Ratensteuerungsprozess in Schritt 415 den Inhalt der Quellendatenstruktur 110, wie in 1 gezeigt, und zwar unter inhaltlicher Berücksichtigung der in dem in Schritt 410 empfangenen Steuerpaket enthaltenen Felder.
  • 5 zeigt die Schritte, welche von einer beispielhaften Ausführungsform einer Quellenendstation ausgeführt werden, um eine End-to-end-Steuerzelle auf einer virtuellen Verbindung zu übertragen. Die in 5 dargestellten Schritte werden von dem Ratensteuerungsprozess 112 wie in 1 gezeigt durchgeführt und entsprechen dem in 4 gezeigten Schritt 405.
  • In Schritt 505 vergleicht der Ratensteuerungsprozess den Wert des gestempelten Quellenratenfeldes (GQR) für die virtuelle Verbindung mit dem Wert des Anforderungsfeldes für die virtuelle Verbindung. Das gestempelte Quellenratenfeld (GQR) ist in 2 als Element 205 dargestellt. Das Anforderungsfeld ist in 2 als Element 215 dargestellt. Ist der Wert des gestempelten Quellenratenfeldes grösser als der Wert des Anforderungsfeldes, so folgt auf den Schritt 505 der Schritt 510. Ist der Wert des gestempelten Quellenratenfeldes nicht grösser als der Wert des Anforderungsfeldes, so folgt auf den Schritt 505 der Schritt 515.
  • In Schritt 515 stellt der Ratensteuerungsprozess das gestempelte Ratenfeld (GR) der End-to-end-Steuerzelle auf den Wert des gestempelten Quellenratenfeldes (GQR) jener virtuellen Verbindung ein, auf welcher die End-to-end-Steuerzelle übertragen werden soll. In Schritt 515 setzt der Ratensteuerungsprozess darüber hinaus auch den Wert des in der End-to-end-Steuerzelle enthaltenen U-Bit auf 0. Auf Schritt 515 folgt Schritt 520.
  • In Schritt 510 stellt der Ratensteuerungsprozess das gestempelte Ratenfeld (GR) der End-to-end-Steuerzelle auf den Wert des Anforderungsfeldes jener virtuellen Verbindung ein, auf welcher die End-to-end-Steuerzelle übertragen werden soll. In Schritt 510 setzt der Ratensteuerungsprozess darüber hinaus auch den Wert des in der End-to-end-Steuerzelle enthaltenen U-Bit auf Eins. Auf Schritt 510 folgt Schritt 520. In Schritt 520 überträgt der Ratensteuerungsprozess eine End-to-end-Steuerzelle.
  • 6A ist ein Diagramm, welches die Schritte zeigt, die von einer beispielhaften Ausführungsform einer Quellenendstation ausgeführt werden, um eine Ursprungsdatenstruktur in Reaktion auf den Empfang einer Steuerzelle zu aktualisieren. Die in 6A dargestellten Schritte werden von dem Ratensteuerungsprozess 112 wie in 1 gezeigt durchgeführt und entsprechen dem in 4 gezeigten Schritt 415.
  • In Schritt 600 bestimmt der Ratensteuerungsprozess 112 ob der U-Bit-Wert in der in Schritt 410 (4) empfangenen End-to-end-Steuerzelle gleich Null ist. Ist der U-Bit-Wert gleich Null, so folgt auf Schritt 600 der Schritt 605. Ist der U-Bit-Wert nicht gleich Null, so folgt auf Schritt 600 der Schritt 610. In Schritt 605 stellt der Ratensteuerungsprozess 112 den Wert des gestempelten Quellenratenfeldes (GQR) für die virtuelle Verbindung, auf welcher die End-to-end-Steuerzelle empfangen wurde, auf den Wert des Anforderungsfeldes für diese virtuelle Verbindung ein. In Schritt 605 bleibt der Wert der erlaubten Quellenübertragungsrate (EQÜR) für diese virtuelle Verbindung unverändert.
  • In Schritt 610 (6A) vergleicht der Ratensteuerungsprozess 112 den Wert des gestempelten Ratenfeldes (GR) in der in Schritt 410 empfangenen End-to-end-Steuerzelle mit dem Wert des gestempelten Quellenratenfeldes (GQR) 205 für die virtuelle Verbindung, auf welcher die End-to-end-Steuerzelle empfangen wurde. Ist der Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle kleiner oder gleich dem Wert des gestempelten Quellenratenfeldes (GQR) für diese virtuelle Verbindung, so folgt auf Schritt 610 der Schritt 615. Ist der Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle nicht kleiner oder gleich dem Wert des gestempelten Quellenratenfeldes (GQR) für diese virtuelle Verbindung, so folgt auf Schritt 610 der Schritt 620.
  • In Schritt 620 stellt der Ratensteuerungsprozess 112 den Wert des gestempelten Quellenratenfeldes 205 für die virtuelle Verbindung, auf welcher die End-to-end-Steuerzelle empfangen wurde, auf den Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle ein. Auf Schritt 620 folgt Schritt 625.
  • Der Schritt 625, der ein Ergebnis des Schritt 610 darstellt, erfolgt nur dann, wenn der Wert in dem gestempelten Ratenfeld (GR) in der empfangenen End-to-end-Steuerzelle grösser ist als der Wert in dem gestempelten Quellenratenfeld (GQR) in der Quellendatenstruktur. In Schritt 625 nimmt der Ratensteuerungsprozess 112 eine Anpassung für die erlaubte Quellenübertragungsrate für die virtuelle Verbindung, auf welcher die End-to-end-Steuerzelle empfangen wurde, vor. Es gibt zwei alternative Ausführungsformen für den Schritt 625. Die alternativen Ausführungsformen für den Schritt 625 sind in 6B und 6C dargestellt.
  • Die 6B zeigt eine erste beispielhafte Ausführungsform 625A des in 6A gezeigten Schritts 625. Als Ergebnis der bis zu dem Schritt 620 leitenden Schritte ist die Quellenendstation in der Lage, für jede virtuelle Verbindung in dem gestempelten Quellenratenfeld (GQR) stets eine Schätzung der aktuellen Rate aufrechtzuerhalten. Wenn allerdings die Quellenendstation den Wert des gestempelten Quellenratenfeldes (GQR) lediglich in das erlaubte Quellenübertragungsratenfeld (EQÜR) kopiert, so könnte dies eine vorübergehende Nichtbenutzbarkeit einer erlaubten Quellenübertragungsrate zur Folge haben, wenn eine schnellere virtuelle Verbindung den Wert für ihre erlaubte Quellenübertragungsrate erhöhte, bevor eine langsamere virtuelle Verbindung die Quellenendstation anweisen könnte, den Wert für ihre erlaubte Quellenübertragungsrate zu senken.
  • Die beispielhafte Ausführungsform 625A bewirkt, dass die erlaubte Quellenübertragungsrate jederzeit benutzbar ist. In Schritt 630 der beispielhaften Ausführungsform 625A verzögert der Ratensteuerungsprozess 112 die Aktualisierung der erlaubten Übertragungsrate für die virtuelle Verbindung basierend auf der zuvor empfangenen End-to-end-Steuerzelle um eine Zeitspanne, die gleich 2*(D + T) ist, wobei D den Wert für das 'maximale Durchlaufszeit'-Feld 220 in der in 2 gezeigten Quellendatenstruktur bezeichnet. In Schritt 635 der beispielhaften Ausführungsform 625A schreibt der Ratensteuerungsprozess 112 den Wert des gestempelten Ratenfeldes (GR) der zuletzt empfangenen End-to-end-Steuerzelle in das erlaubte Quellenübertragungsratenfeld 210 für die betreffende virtuelle Verbindung. Falls während des Schritts 630 vor Ablauf der Taktzeit eine neue End-to-end-Steuerzelle empfangen wird, deren U-Bit gleich Eins ist und deren Wert für das gestempelte Ratenfeld (GR) unter dem derzeitigen Wert für das erlaubte Quellenübertragungsratenfeld (EQÜR) liegt, so wird der Wert für die erlaubte Quellenübertragungsrate (EQÜR) umgehend auf den Wert für das gestempelte Ratenfeld (GR) der neuen End-to-end-Steuerzelle gesetzt und wird anschliessend nach Ablauf der Zeitspanne, welche der in Schritt 630 festgelegten Verzögerung entspricht, nicht erhöht. Diese Strategie hat zur Folge, dass jede neu hinzukommende virtuelle Verbindung eine Zeitdauer 2*(D + T) abwarten muss, bevor sie mit einer Übertragung beginnen kann, wodurch eine vorübergehenden Nichtbenutzbarkeit vermieden wird.
  • Die 6C zeigt eine alternative beispielhafte Ausführungsform 625B des in 6A gezeigten Schritts 625. Die beispielhafte Ausführungsform 625B ist weniger komplex als die beispielhafte Ausführungsform 625A und daher auch weniger kostenaufwendig. Allerdings kann mit der beispielhaften Ausführungsform 625B nicht sichergestellt werden, dass die erlaubte Übertragungsrate auch jederzeit benutzbar ist. In Schritt 640 der beispielhaften Ausführungsform 625B aus 6C vergleicht der Ratensteuerungsprozess 112 den Wert des U-Bit in der empfangenen End-to-end-Steuerzelle mit Eins. Erkennt der Ratensteuerungsprozess 112, dass der Wert des U-Bit in der empfangenen End-to-end-Steuerzelle gleich, Eins ist, so folgt auf Schritt 640 der Schritt 645. Erkennt der Ratensteuerungsprozess 112, dass der Wert des U-Bit in der empfangenen End-to-end-Steuerzelle nicht gleich Eins ist, so folgt auf Schritt 640 der Schritt 650.
  • In Schritt 645 schreibt der Ratensteuerungsprozess 112 den Wert von dem gestempelten Ratenfeld (GR) der empfangenen End-to-end-Steuerzelle in das erlaubte Quellenübertragungsratenfeld 210 (EQÜR) für die betreffende virtuelle Verbindung.
  • In Schritt 650 belässt der Ratensteuerungsprozess 112 den Wert für das erlaubte Quellenübertragungsratenfeld 210 unverändert. In einer optimierten Ausführungsform der in 6C gezeigten, beispielhaften Ausführungsform 625B wird, wie in 6A dargestellt, der Schritt 645 in den Schritt 605 integriert, während der Schritt 650, wie in 6A gezeigt, im Rahmen des Schrittes 625 ausgeführt wird. Somit wird, wie in 6C dargestellt, in der optimierten Ausführungsform der beispielhaften Ausführungsform 625B der Schritt des Erkennens des Wertes des U-Bit im Rahmen des Schrittes 600, wie in 6A gezeigt, nur einmal ausgeführt, wobei der Schritt 640 nicht erforderlich ist.
  • 7 ist ein Diagramm, in welchem die Schritte gezeigt werden, welche von einer in der Schaltstelle 102 in 1 dargestellten, beispielhaften Ausführungsform eines Prozesses 134 zur periodischen Aktualisierung durchgeführt werden. In Schritt 700 von 1 erkennt der Prozess 134 zur periodischen Aktualisierung das Ablaufen des in 1 dargestellten Taktgebers 136. Die Taktzeit des Taktgebers 136 beträgt T. Wie bereits weiter oben angemerkt, beträgt die Taktzeit des in der Schaltstelle 102 (1) befindlichen Taktgebers 116 ebenfalls T.
  • Im Anschluss an Schritt 700 berechnet der Prozess zur periodischen Aktualisierung, wie in 1 gezeigt, in Schritt 705 den Wert der A-fair-Variablen 127 neu. Der Wert der A-fair-Variablen 127 stellt einen angemessenen Anteil an Bandbreite dar, der in der Schaltstelle für jene virtuellen Verbindungen zur Verfügung steht, von denen noch nicht bekannt ist, dass sie Engpässen unterliegen. Die Gleichung zur Neuberechnung des Wertes der A-fair-Variablen 127 stellt sich wie folgt dar:
    Figure 00320001
    worin:
    C die gesamte Link-Kapazität der Schaltstelle darstellt, und
    "n" und "a" Werte aus den "n"- und "a"-Feldern der in 3 gezeigten Schaltstellen-Ratentabelleneinträge darstellen.
  • Da der aus der obigen Gleichung erhaltene Wert irgendwo zwischen den diskreten Raten, die den Einträgen in der Schaltstellen-Ratentabelle entsprechen, liegen kann, wird der so gewonnene Wert auf die nächstkleinere diskrete Rate, die einem Eintrag in der Schaltstellen-Ratentabelle entspricht, abgerundet.
  • Im Anschluss an Schritt 705 aktualisiert der Prozess 134 zur periodischen Aktualisierung die 'a'-Felder in den Schaltstellen-Ratentabelleneinträgen. In einer ersten, beispielhaften Ausführungsform werden in Schritt 710 die 'a'-Felder wie folgt aktualisiert:
    FOR j = 0 to j = 255 DO
    r(j) = 2 exp(0,125*j)
    IF (r(j) grösser als A-fair) AND a(j) = 1)
    dann SET a(j) = 0
  • In einer alternativen Ausführungsform können in Schritt 710 die 'a'-Felder wie folgt aktualisiert werden:
    Fair Index = 8*log2(A-fair)
    FOR j = 0 to j = 255 D0
    IF (j > Fair_Index) AND (a(j) = 1)
    dann SET a(j) = 0
  • Im Anschluss an Schritt 710 berechnet der Prozess 134 zur periodischen Aktualisierung in Schritt 715 den A-fair-Wert ein zweites mal, und zwar unter Verwendung der oben angegebenen Algorithmen. Dabei sei darauf hingewiesen, dass der Schritt 715, wie in 3 gezeigt, mit den modifizierten Werten des 'a'-Feldes in den Einträgen der Schaltstellen-Ratentabelle arbeitet. Nach Beendigung des Schrittes 715 stellt der Prozess 134 zur periodischen Aktualisierung den Wert der 'n'-Felder, wie in. 3 gezeigt, in allen Einträgen der Schaltstellen-Ratentabelle auf Null.
  • 8 zeigt die Schritte, welche von einer beispielhaften Ausführungsform des in der Schaltstelle 102 (1) befindlichen Ratensteuerungsinformationsprozesses 132 ausgeführt werden. In Schritt 800 empfängt der Ratensteuerungsinformationsprozess 132 eine End-to-end-Steuerzelle. Im Anschluss an Schritt 800 vergleicht der Ratensteuerungsinformationsprozess 132 in Schritt 805 den Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle mit dem Wert der in der Schaltstelle 102 enthaltenen A-fair-Variablen 127. Ist der Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle grösser oder gleich dem Wert der A-fair-Variablen 127 in der Schaltstelle 102, so folgt auf Schritt 805 der Schritt 810. Andernfalls folgt auf Schritt 805 der Schritt 815.
  • In Schritt 810 stellt der Ratensteuerungsinformationsprozess 132 den Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle auf den Wert der A-fair-Variablen 127 ein und setzt das U-Bit in der empfangenen End-to-end-Steuerzelle auf Eins. Auf Schritt 810 folgt der Schritt 815. In Schritt 815 bestimmt der Ratensteuerungsinformationsprozess 132 den Index "i" in der Schaltstellen-Ratentabelle für den Schaltstellen-Ratentabelleneintrag, welcher der Übertragungsrate entspricht, die von dem Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle angegeben wird. Im Anschluss an Schritt 815 inkrementiert der Ratensteuerungsinformationsprozess 132 das Zählerfeld ni in der Schaltstellen-Ratentabelle.
  • Im Anschluss an Schritt 820 vergleicht der Ratensteuerungsinformationsprozess 132 in Schritt 825 den Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle mit dem Wert der A-fair-Variablen. Ist der Wert des gestempelten Ratenfeldes (GR) in der empfangenen End-to-end-Steuerzelle kleiner oder gleich dem Wert der A-fair-Variablen, so folgt auf Schritt 825 der Schritt 830. In Schritt 830 verwendet der Ratensteuerungsinformationsprozess 132 den in Schritt 820 bestimmten Index 'i' dazu, um das ai-Bit in der Schaltstellen-Ratentabelle wie in 3 gezeigt einzustellen.
  • Im Anschluss an die in 8 gezeigten Schritte leitet der Ratensteuerungsinformationsprozess 132 die empfangene End-to-end-Steuerzelle an den nächsten Netzwerkknoten auf dem Leitweg für diese virtuelle Verbindung weiter. Nachdem die End-to-end-Steuerzelle schliesslich von der Zielendstation 104 empfangen worden ist, führt der Steuerzellenrückführprozess 144 die End-to-end-Steuerzelle wieder zu der Quellenendstation 100 zurück.
  • 9 ist ein Diagramm, welches ein Beispiel für Felder innerhalb einer End-to-end-Steuerzelle zeigt. Wie bereits weiter oben angemerkt, werden End-to-end-Steuerfelder periodisch von der Quellenendstation 100 gesendet. End-to-end-Steuerpakete werden mit hoher Priorität gesendet. In jedem Zeitabschnitt T wird für jede virtuelle Verbindung eine End-to-end-Steuerzelle übertragen, wobei T allen Stationen und Schaltstellen bekannt ist und, wie in 1 gezeigt, der Taktzeit der Taktgeber 116 und 136 entspricht. Die Taktzeit T ist vorgegeben, so dass der Steuerverkehr stets möglich ist. Als Ergebnis der periodischen Übertragung von End-to-end-Steuerzellen über jede virtuelle Verbindung wird an jeder Schaltstelle pro virtueller Verbindung und pro Taktzeit T exakt eine End-to-end-Steuerzelle empfangen. Dadurch ist es für eine Schaltstelle möglich, in jedem Zeitabschnitt T die Anzahl der virtuellen Verbindungen mit einer gegebenen codierten Rate zu zählen, anstatt die Übertragungsrate einer jeden virtuellen Verbindung zu verwalten.
  • 9 zeigt ein zur Ratencodierung verwendetes Feld, im speziellen das gestempelte Ratenfeld (GS) 900. Weiterhin wird in 9 auch ein U-Bit 905 gezeigt. Der Ratensteuerungsprozess 112 in der Quellenendstation schreibt, wie in 5 beschrieben, den Wert des gestempelten Ratenfeldes (GR) 900 und des U-Bit 905. In einer ersten beispielhaften Ausführungsform wird das gestempelte Ratenfeld (GR) 900 als eine Rate aus der Gruppe der erlaubten, diskreten Übertragungsraten geschrieben. In einer alternativen Ausführungsform wird das gestempelte Ratenfeld (GR) 900 als ein Index in die Schaltstellen-Ratentabelle codiert. In einer alternativen, beispielhaften Ausführungsform ist der Wert des gestempelten Ratenfeldes gleich einem Index 'i', welcher durch die Gleichung 'i' = 8 * log-Rate, worin Rate eine Rate aus der Gruppe von erlaubten, diskreten Übertragungsraten bezeichnet.
  • HYBRIDE FLUSSSTEUERUNGSVERFAHREN
  • Unter hybriden Flusssteuerungsverfahren sind jene Verfahren der vorliegenden Erfindung zu verstehen, bei denen End-to-end-Flusssteuerungsverfahren verwendet werden, um eine Übertragungsrate für jede virtuelle Verbindung zu berechnen, wobei diese Raten dann für die Zuteilung von Pufferspeicher im Rahmen eines Hop-by-hop-Flusssteuerungsverfahrens verwendet werden. Das Hop-by-hop-Flusssteuerungsverfahren wird typischerweise durch einen berechtigungspunktbasierten Mechanismus implementiert.
  • Das Hop-by-hop-Flusssteuerungsverfahren erfordert die Zuteilung von Pufferspeicher für jede virtuelle Verbindung. Die Übertragungsrate für jede virtuelle Verbindung wird benötigt, um die Speichermenge zu berechnen, die für die Puffer für eine bestimmte virtuelle Verbindung zugeteilt werden müssen. Frühere Verfahren der dynamischen Pufferspeicherzuteilung haben versucht, eine beobachtete Übertragungsrate für jede virtuelle Verbindung zu messen. Die Messung von beobachteten Übertragungsraten ist aus einer Reihe von Gründen unzuverlässig: jeder gewählte Beobachtungszeitraum ist arbiträr und die Quelle kann Bits bündelweise übertragen, so dass jeder beliebige Beobachtungszeitraum immer nur momentane Ergebnisse liefert, die oft nur wenig bis gar keinen Bezug zu der auf der betreffenden virtuellen Verbindung stattfindenden, durchschnittlichen Übertragungsrate haben. Wird hingegen ein langer Beobachtungszeitraum gewählt, so reagiert das System nicht mehr auf Veränderungen bei den Netzwerkbedingungen.
  • PRAKTIKABLE ÜBERTRAGUNGSRATEN FÜR QUELLENSTATIONEN
  • Für die Erörterung von hybriden Flusssteuerungsverfahren ist es hilfreich, zunächst das in den Verfahren aus 19 festgelegte Konzept einer "praktikablen Übertragungsrate" genauer zu betrachten. Die für die Quellenstationen eines Netzwerks praktikablen Übertragungsraten sind für sämtliche Links innerhalb des Netzwerks entsprechend definiert, so dass die Summe der Raten aller virtuellen Verbindungen, die durch ein Link des Netzwerks hindurch verlaufen, die Kapazität des betreffenden Links nicht übersteigen. In der im folgenden abgehandelten 10 ist ein Taktdiagramm 1002 dargestellt. Die Zeitachse 1004 wird dazu verwendet, um die Beabstandung der von einer Quellenstation übertragenen Zellen zu veranschaulichen. Es ist ein erstes Bündel von Bytes 1010 dargestellt. Die Anzahl der Bytes in dem Bündel 1010 wird von der Anzahl der Zellen bestimmt, die in aufeinanderfolgender Weise von der Quellenstation übertragen werden. Wenn zum Beispiel in dem Bündel 1010 nur eine ATM-Zelle übertragen wird, so werden 53 Bytes übertragen, wobei jedes Byte aus 8 Bits besteht und somit eine Gesamtmenge von 8*53 Bits bzw. 424 Bits erreicht wird. Werden, um ein weiteres Beispiel anzuführen, in dem Bündel 1010N Zellen übertragen, so beträgt die Anzahl der in dem Bündel 1010 übertragenen Bits N*8*53, bzw. N Mal 424 Bits.
  • Nach der Übertragung des Bündels 1010 wartet die Quellenstation während eines Zeitintervalls, das als IPG 1012 bezeichnet wird. IPG ist eine Abkürzung und steht für Inter Packet Gap (Abstand zwischen Paketen). Im Anschluss an die Zeitspanne IPG 1012 wird von der Quellenstation ein nächstes Bündel 1020 übertragen. Nach einer Wartezeit IPG 1022 wird von der Quellenstation das nächste Bündel 1030 übertragen, und so weiter.
  • Die gemäss der Darstellung in 19 berechnete, praktikable Rate wird, wie nachfolgend beschrieben, mit der Anzahl der in einem Bündel enthaltenen Bits und mit dem IPG oder dem Abstand zwischen Paketen, d.h. der Zeitspanne, durch welche die Zellen voneinander beabstandet sind, in Beziehung gesetzt. Der Folgend Ausdruck gibt die "durchschnittliche" Übertragungsrate während eines Zeitintervalls IPG an: Durchschnittliche Rate = (Anzahl der Bits im Bündel)/IPG in Bits/Sek
  • Es sei hier darauf hingewiesen, dass die "Durchschnittliche Rate" in Bits pro Sekunde und der Abstand zwischen Paketen IPG in Sekunden ausgedrückt wird. Bei der "Anzahl der Bits im Bündel" handelt es sich um die Anzahl der Bits, die von einer Quellenstation in einem Bündel, wie zum Beispiel dem Bündel 1010, 1020, 103,... usw. übertragen werden.
  • Das Zeichen BG, Bündelgrösse, wird zur Darstellung der Anzahl von Zellen verwendet, die von der Quellenstation in einem Bündel übertragen werden. Wenn BG ATM-Zellen mit jeweils 53 Bytes in einem Bündel übertragen werden, dann: Durchschnittliche Rate = (BG*8*53)/IPG Bits/Sek
  • Während des Betriebs wird die "Durchschnittliche Rate" auf den gleichen Wert eingestellt wie die gewünschte "Praktikable Rate", wobei die gewünschte, praktikable Rate nach den in 19 beschriebenen Verfahren berechnet wird.
  • Der Abstand zwischen Paketen IPG wird daraufhin unter Heranziehung des obigen Ausdrucks berechnet, wobei, wie nachfolgend dargestellt, die gewünschte praktikable Rate als durchschnittliche Rate verwendet wird: Gewünschte praktikable Rate = (BG*8*53)/IPG Bits/Sek
  • Der aus diesem Ausdruck berechnete IPG (Abstand zwischen Paketen) stellt die Bündelbeabstandung dar, die eine Quellenstation einhalten muss, um mit "praktikablen Raten" zu übertragen.
  • Die Pufferspeicherzuweisung an zwischengeordneten Netzwerkknoten muss ausreichend bemessen sein, damit diese BG Bytes für jede virtuelle Verbindung fassen können, da zwischen der Quellenstationen keinerlei Koordinierung erfolgt. Ungünstigenfalls führen alle virtuellen Verbindungen Zellen, welche im wesentlichen gleichzeitig bei einer Schaltstelle einlangen, wobei jede Quellenstation BG Zellen in einem Bündel überträgt, so dass jede Schaltstelle in der Lage sein muss, für jede virtuelle Verbindung, die durch die Schaltstelle verläuft, BG Zellen zwischenzuspeichern.
  • BERECHTIGUNGSPUNKTBASIERTE FLUSSSTEUERUNG, END-TO-END-RATENBEZOGENE PUFFERSPEICHERZUWEISUNG
  • Im folgenden wird die berechtigungspunktbasierte Flusssteuerung unter Verwendung von End-to-end-Ratensteuerungsverfahren für jede virtuelle Verbindung erläutert.
  • In der im folgenden abgehandelten 11 wird eine Schaltstellen-Berechtigungspunkttabelle 1102 dargestellt. Jede durch die Schaltstelle verlaufende, aktive, virtuelle Verbindung verfügt über einen Virtuellen Verbindungsindikator und dieser Virtuelle Verbindungsindikator wird in das Feld 1104 eingegeben. Zu jeder virtuellen Verbindung existieren Daten, die in dem Datenfeld 1106 gehalten werden.
  • In der im folgenden abgehandelten 12 werden eine Reihe von Datenfelddaten dargestellt, die in dem Datenfeld 1106 der Schaltstellen-Berechtigungspunkttabelle 1102 gehalten werden. Das Feld 1202 enthält die Aufgezeichnete Rate, bezeichnet mit R. Bei der Aufgezeichneten Rate handelt es sich um die zuletzt abgelesene gestempelte Rate in einem End-to-end-Steuerpaket, wie weiter unten in 13 gezeigt. Der Wert von R wird auf 0 initialisiert.
  • Das Feld 1204 enthält die Tatsächliche Pufferspeicherzuweisung, bezeichnet mit BA. Die Tatsächliche Pufferspeicherzuweisung ist die Speicherzuweisung für eine gegebene virtuelle Verbindung.
  • Der Wert von BA wird auf N2 initialisiert. Der Wert von N2 ist im Feld 1226 gespeichert.
  • Der Wert von N2 entspricht der minimalen Pufferspeicherzuweisung pro virtueller Verbindung. Der Wert für N2 definiert die minimale Übertragungsrate pro virtueller Verbindung wie folgt: minimale Rate = (N2 * 8 * 53)/IPG Bits/Sek.
  • Hier kann der IPG der Durchlaufszeit des einzelnen Hops (d. h. der Teilstrecke) entsprechen. Diese Durchlaufszeit beinhaltet die Durchlaufs-Verbreitungszeit des Link plus jede zusätzliche Verzögerung an den vorgeordneten und nachgeordneten Knoten, sowie die von dem nachgeordneten Knoten benötigte Zeit, um N2 Zellen weiterzuleiten.
  • Der Wert von N2 wird entsprechend gewählt, so dass die minimalen Übertragungsraten stets praktikabel sind.
  • Das Feld 1206 enthält die Virtuelle Pufferspeicherzuweisung VBA. Die virtuelle Pufferspeicherzuweisung für eine virtuelle Verbindung dient dazu, im Fall einer Überbuchung Speicherplatz zur Verwendung bereitzustellen. Der Wert von VBA wird auf die Summe von BA und N2 initialisiert. Der Wert von VBA entspricht dem Wert von BA im Feld 1204, sofern keine Überbuchung vorliegt.
  • Das Feld 1208 enthält den Wert für verwendeten Pufferspeicher, BU. Mit BU wird die tatsächliche Anzahl der in der Warteschlange für die virtuelle Verbindung befindlichen Zellen bezeichnet. Der Wert von BU wird auf 0 initialisiert.
  • Das Feld 1220 enthält die Gesamtzahl der an ein nachgeordnetes Element übertragenen Datenzellen, NTx. Der Wert von NTx wird auf 0 initialisiert. Die NTx-Variable zeichnet die kumulative Zahl von Datenzellen auf, die auf der virtuellen Verbindung an ein nachgeordnetes Element weitergeleitet werden. Der Wert von NTx wird nur anlässlich eines grösseren Ereignisses, wie etwa beim Booten der Schaltstelle, initialisiert, und zeichnet somit die Anzahl der übertragenen Datenzellen über einen sehr langen Zeitraum hinweg auf.
  • Das Feld 1222 enthält die Gesamtzahl der von einem vorgeordneten Knoten kommend empfangenen Datenzellen und wird durch das Symbol NRx dargestellt. Der Wert von NRx wird auf 0 initialisiert.
  • Das Feld 1224 enthält die Berechtigungspunktebilanz, die durch das Symbol CB bezeichnet wird. Die Berechtigungspunktebilanz CB ist die Anzahl der Berechtigungspunkte über welche die Schaltstelle verfügt, um Zellen an den nachgeordneten Netzwerkknoten weiterzuleiten. Der Wert von CB wird auf N2 initialisiert.
  • Das Feld 1226 enthält die minimale Pufferspeicherzuweisung N2. Der Wert von N2 wurde bereits weiter oben unter Bezugnahme auf das Feld 1206 besprochen.
  • Das Feld 1228 enthält die Durchlaufszeit für das abgehende Link, das durch das Symbol RTT bezeichnet wird. Diese Menge muss in Abhängigkeit von der physischen Länge des abgehenden Links und von der Durchlaufszeitverzögerung des nachgeordneten Netzwerkknotens eingestellt werden
  • Das Feld 1240 enthält die Bandbreite des abgehenden Links, und wird durch das Symbol Bw bezeichnet.
  • Bei den Parametern N2, RTT und Bw handelt es sich um Link-Parameter, welche nicht auf der Ebene der virtuellen Verbindungen verwaltet zu werden brauchen.
  • Das Feld 1242 enthält den Wert des "lokalen Zählers" und wird durch das Symbol n dargestellt. Der Wert von n wird auf 0 initialisiert. Der Wert von n entspricht der Anzahl der übertragenen Datenzellen seit die letzte Berechtigungspunkte-Zelle in Datenflussgegenrichtung gesendet wurde.
  • In der im folgenden abgehandelten 13 werden die Datenfelder für eine Steuerzelle für die End-to-end-Flusssteuerung zusammen mit einem Feld 1310 dargestellt, das einen Identifikator der virtuellen Verbindung enthält. Die Steuerzellen-Datenfelder für die reine End-to-end-Flusssteuerung sind in 9 angegeben, weshalb auch die betreffenden Felder in 13 entsprechend bezeichnet werden. In 13 und in 9 enthält das Feld 900 die gestempelte Übertragungsrate. In 13 und in 9 enthält das Feld 905 den Wert des U-Bit.
  • In der im folgenden abgehandelten 14 ist ein Felddiagramm der in einer Berechtigungspunkte-Zelle befindlichen Daten dargestellt. Das Feld 1410 enthält einen Wert für die Berechtigungspunkte-Variable CR. Das Feld 1420 enthält den Identifikator für die virtuelle Verbindung, welcher die Bezeichnung Virt. Verb.-ID trägt. Es ist zum Beispiel möglich, dass der Header einer Berechtigungspunkte-Zelle den Identifikator für die aktuelle virtuelle Verbindung nicht enthält. Demgemäss wird die virtuelle Verbindung anhand des Inhalts des Feldes 'Virt. Verb.'-ID 1420 identifiziert.
  • In der im folgenden abgehandelten 15 werden Hop-by-hop-Flusssteuerungsprozesse gezeigt. Der Datenempfangsprozess 1510 empfängt Daten von einem vorgeordneten Netzwerkknoten. Der Berechtigungspunkteübermittlungsprozess 1512 übermittelt Berechtigungspunkte-Zellen an den vorgeordneten Netzwerkknoten.
  • Der Datenübermittlungsprozess 1520 übermittelt Datenzellen an den nachgeordneten Netzwerkknoten. Der Berechtigungspunktempfangsprozess 1522 empfängt Berechtigungspunkte-Zellen von dem nachgeordneten Netzwerkknoten. Die Warteschlange 1530 beinhaltet Datenzellen, nachdem diese von dem Datenempfangsprozess 1510 empfangen worden sind und zwar bis die betreffende Datenzelle von dem Datenübermittlungsprozess 1520 an den nachgeordneten Netzwerkknoten übermittelt wird.
  • Jeder der vier Prozesse 1510, 1512, 1520 und 1522 wird asynchron betrieben. Das bedeutet, dass die Prozesse notwendige Informationen untereinander austauschen, dass jeder Prozess nur dann läuft, wenn Arbeit für ihn vorhanden ist, und dass jeder Prozess stoppt, nachdem er seine Aufgabe erledigt hat.
  • In der im folgenden abgehandelten 16 wird der Datenempfangsprozess gezeigt. Bei Empfang einer von einem vorgeordneten Netzwerkknoten kommenden Datenzelle tritt der Prozess 1510 in den Block 1610 ein. Dann tritt der Prozess 1510 in den Block 1612 ein, wo der Wert für NRx inkrementiert wird, wobei NRx die Gesamtzahl der von einem vorgeordneten Link auf der virtuellen Verbindung empfangenen Datenzellen darstellt. Der Prozess springt dann zu Block 1614 weiter.
  • Im Block 1614 überträgt der Prozess 1510 die Datenzelle in die Warteschlange 1530. Bei der Warteschlange 1530 handelt es sich um eine FIFO-Warteschlange (First in-/First out-Warteschlange). Die FIFO-Warteschlange 1530 wird von dem Datenübermittlungsprozess 1520 entleert, wie weiter unten unter Bezugnahme auf 17 noch genauer beschrieben werden wird. Der Prozess 1510 springt dann zu Block 1616.
  • Bei Block 1616 inkrementiert der Prozess 1510 den Wert von BU, dem Zählergebnis von gebrauchten Pufferspeichern, der in Feld 1208 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert wird. Der Prozess springt dann zu Block 1620 weiter.
  • Bei Block 1620 verfällt der Prozess in einen Ruhezustand, bis eine andere Datenzelle von der Schaltstelle empfangen wird, was zur Folge hat, dass der Prozess erneut bei Block 1610 beginnt.
  • In der im folgenden abgehandelten 17 wird der Datenübermittlungsprozess 1520 dargestellt. Bei dem Entscheidungsblock 1710 prüft der Prozess 1520 die Berechtigungspunkte-Bilanz CB, wobei der Wert der Berechtigungspunkte-Bilanz CB in dem Feld 1224 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert ist. Gesetzt den Fall, dass der Wert von CB nicht grösser als Null, 0, so verzweigt der Prozess über den Pfad 1712 und kehrt in einer Schleife wieder zu dem Entscheidungsblock 1710 zurück. Für den Fall, dass der Test in dem Entscheidungsblock 1710 ergibt, dass die Berechtigungspunkte-Bilanz CB grösser als Null, 0, ist, springt der Prozess zu Block 1714.
  • Bei Block 1714 entnimmt der Prozess 1520 eine Datenzelle aus der Warteschlange des FIFO-Pufferspeichers 1530 und überträgt die Datenzelle an den nachgeordneten Netzwerkknoten. Der Prozess springt dann zu Block 1720.
  • Bei Block 1720 dekrementiert der Prozess 1510 den Wert von BU, der Anzahl von gebrauchten Pufferspeichern, wobei dieser Wert in' Feld 1208 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert wird. Der Prozess springt dann zu Block 1722.
  • Bei Block 1722 inkrementiert der Prozess 1520 den Wert von n, d. h. den in dem Feld 1242 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeicherten Wert des lokalen Zählers. Der Wert von n zählt die Anzahl der übertragenen Datenzellen seit die letzte Berechtigungspunkte-Zelle in Datenflussgegenrichtung gesendet wurde. Der Prozess springt dann zu Block 1723.
  • Bei Block 1723 inkrementiert der Prozess 1520 den Wert des Zählers NTx, wobei NTx jeweils die genaue Zahl der insgesamt auf der virtuellen Verbindung an das nachgeordnete Link übertragenen Zellen angibt. Der Wert des Zählers NTx wird in dem Feld 1220 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert. Der Prozess 1520 setzt daraufhin bei Block 1724 fort.
  • Bei Block 1724 dekrementiert der Prozess 1520 den Wert von CB, d. h. die in dem Feld 1224 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeicherte Berechtigungspunkte-Bilanz. In der Folge kehrt der Prozess 1520 über den Pfad 1726 zu dem Entscheidungsblock 1710 zurück. Bei dem Entscheidungsblock 1710 tritt der Prozess erneut in die Schleife des Pfades 1712 ein, wo er den Wert von CB so lange testet, bis er auf einen Wert für CB stösst, der grösser als Null, 0, ist.
  • In der im folgenden abgehandelten 18A wird der Berechtigungspunkt-Übertragungsprozess 1512 gezeigt. Bei dem Entscheidungsblock 1810 prüft der Prozess in einer Schleife, ob der Wert von n grösser oder gleich N2 ist oder nicht, wobei n in dem Feld 1242 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert ist und N2 in dem Feld 1226 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert ist. Für den Fall, dass n nicht grösser oder gleich N2 ist, wird mit dem Durchlaufen der durch den Pfad 1812 gebildeten Schleife fortgefahren. Für den Fall, dass n grösser oder gleich N2 ist, springt der Prozess zu Block 1814. Der Entscheidungsblock 1814 empfängt den aktualisierten Wert von n von dem Block 1722 in 17, wenn n von dem Datenübertragungsprozess 1520 inkrementiert wird, wie durch den Pfeil 1540 in 15 gezeigt.
  • Bevor mit der Beschreibung des Blocks 1814 fortgesetzt wird, soll an dieser Stelle auf 18B Bezug genommen werden, um die Übertragung einer Berechtigungspunkte-Bilanz von einem nachgeordneten Netzwerkknoten an einen vorgeordneten Knoten besser zu verdeutlichen. Wien in 18B gezeigt, stellt die Schaltstelle "i" 18B01 die vorgeordnete Schaltstelle dar. Bei der Schaltstelle "i + 1" 18B02 handelt es sich um die nachgeordnete Schaltstelle. Das Link 18B10 überträgt Datenzellen von der Schaltstelle "i" 18B01 zu der Schaltstelle "i + 1" 18B02. Datenzellen, die gerade von der Schaltstelle "i" zu der Schaltstelle "i + 1" unterwegs sind, werden von den Linien 18B12, 18B14, 18B16, ... etc. dargestellt.
  • Um die Berechtigungspunkte-Bilanz besser zu verstehen, ist es sinnvoll, zunächst auf eine Schaltstelle Bezug zu nehmen, und an dieser einen Schaltstelle wird die Anzahl der momentan in der Warteschlange befindlichen Zellen durch den folgenden Ausdruck angegeben:
  • Anzahl der an Schaltstelle "i" in der Warteschlange befindlichen Zellen = NRx(i) – NTx(i)
    wobei NRx (i) hier die Anzahl der von der Schaltstelle "i" empfangenen Zellen darstellt; und NT(i) die Anzahl der von der Schaltstelle "i" übertragenen Zellen.
  • Als nächstes sei die Anzahl der Zellen betrachtet, die sich an der Schaltstelle "i + 1" in der Warteschlange befinden UND die Anzahl der Zellen, die zwischen der Schaltstelle "i" und der Schaltstelle "i + 1" unterwegs sind, die durch den folgenden Ausdruck angegeben werden:
  • Anzahl der Zellen in Warteschlange bei
    Schaltstelle "i + 1"
    UND = NTx(i) – NTx(i + 1)
    Anzahl der Zellen unterwegs
    zwischen
    Schaltstelle i und Schaltstelle i + 1
    wobei NTx(i) hier die Anzahl der von der Schaltstelle "i" übertragenen Zellen darstellt; und NTx(i + i) die Anzahl der von der Schaltstelle "i + 1" übertragenen Zellen. NTx wird von einem grösseren Ereignis an gemessen, wie etwa dem Zeitpunkt des Bootens der Schaltstelle. Demgemäss wird der Wert von NTx als eine "absolute Zahl" bezeichnet.
  • Wenn die Schaltstelle "i" eine Berechtigungspunkte-Bilanz CR(i) von der nachgeordneten empfängt, so ist CR(i) ebenfalls eine absolute Zahl, die in Block 1814 durch den folgenden Ausdruck berechnet wird: CR(i) = NTx(i + 1) + VBA(i + 1).
  • Die an der Schaltstelle "i" aktualisierte Berechtigungspunkte-Bilanz wird dann durch den folgenden Ausdruck berechnet:
    CB(i) = CR(i) – NTx(i) wie in Block 1912 aus 19 gezeigt.
  • Bei Block 1814 wird der Wert der Variablen CR als die Anzahl der an den nachgeordneten Netzwerkknoten NTx übertragenen Zellen berechnet, wobei der Wert von NTx in dem Feld 1220 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert wird, zuzüglich der Anzahl der dieser virtuellen Verbindung zugewiesenen virtuellen Pufferspeicher VBA. Die Anzahl der übertragenen Zellen NTx ist das Zählergebnis eines lange durchlaufender Zähler. Auch die Anzahl der von einem Netzwerkknoten empfangenen Zellen, NRx, die im Feld 1222 gespeichert wird, ist das Zählergebnis eines lange durchlaufenden Zählers. So können etwa beide Zähler NRx und NTx initialisiert worden sein, als die Schaltstelle gebootet und in Betrieb genommen wurde. Beide Zähler, NRx und NTx, können zum Beispiel ausgesprochen grosse absolute Werte annehmen, die sich in einer Grössenordnung von mehreren hundert Millionen Zellen bewegen, ihre Differenz ist jedoch stets eine kleine Zahl. Die Differenz jedoch, die hier von Bedeutung ist, ergibt sich aus der Anzahl der von einem nachgeordneten Netzwerkknoten empfangenen Zellen und der Anzahl der von einem vorgeordneten Knoten übertragenen Zellen, wie aus der nachfolgenden Abhandlung des Berechtigungspunktempfangsprozesses 1512 unter Bezugnahme auf 19 hervorgehen wird. Ihre Differenz, plus eine im folgenden noch genauer abzuhandelnde Anzahl von virtuellen Pufferspeichern VBA, ergibt die Anzahl von Zellen, für deren Speicherung die FIFO-Warteschlange 1530 über für eine bestimmte virtuelle Verbindung ausreichende Pufferspeicherkapazität verfügt. Der Prozess 1512 setzt daraufhin bei Block 1816 fort.
  • Bei Block 1816 überträgt der Prozess 1512, wie in 14 gezeigt, eine Berechtigungspunkte-Zelle an einen vorgeordneten Netzwerkknoten. Der Prozess 1512 springt dann zu Block 1818.
  • Bei Block 1818 wird der Wert des lokalen Zählers n auf Null, 0, gesetzt und das Ergebnis in dem Feld 1242 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert. Nach Vollendung der Aufgabe von Block 1818 kehrt der Prozess 1512 auf dem Pfad 1820 zu dem Entscheidungsblock 1810 zurück, wo er erneut in die Schleife eintritt, in welcher der Wert n in Bezug auf den Wert N2 geprüft wird.
  • In der im folgenden abgehandelten 19 ist der Berechtigungspunktempfangsprozess 1522 dargestellt. Bei Block 1910 erkennt der Prozess, dass eine Berechtigungspunkte-Zelle von einem nachgeordneten Netzwerkknoten kommend empfangen wurde. Die Berechtigungspunkte-Zelle bezieht sich, wie in 14 gezeigt, auf die in dem Feld 1420 der Berechtigungspunkte-Zelle angegebene virtuelle Verbindung. Der Berechtigungspunkte-Zellen-Empfangsprozess springt dann zu Block 1912.
  • Bei Block 1912 wird die Berechtigungspunkte-Bilanz berechnet und in der Folge in dem Feld 124 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert. Der Wert von CB wird berechnet als der Wert der Variablen CR, die aus dem Feld 1410 der Berechtigungspunkte-Zelle abgelesen wird, minus dem Wert NTx des vorgeordneten Netzwerkknotens. Bei Block 1912 wird die Anzahl der von dem vorgeordneten Knoten übertragenen Zellen, NTx, von den vom nachgeordneten Knoten vom Block 1814 empfangenen Berechtigungspunkten abgezogen. Der Prozess 1522 springt daraufhin zu Block 1914, wo der Prozess eine Ruhestellung einnimmt bis eine weitere Berechtigungspunkte-Zelle empfangen wird, woraufhin der Prozess bei Block 1910 erneut seine Aktivität aufnimmt.
  • In der im nachfolgenden abgehandelten 20 werden die Wechselwirkungen zwischen drei Netzwerkknoten gezeigt, wodurch ein berechtigungspunktbasiertes Flusssteuerungsverfahren implementiert wird. Der mittlere Knoten 2010. ist eine Schaltstelle. Bei dem vorgeordneten Knoten 2012 und dem nachgeordneten Knoten 2014 kann es sich jeweils entweder um eine Schaltstelle oder um eine Station handeln.
  • Der vorgeordnete Knoten 2012 kann eine Quellenstation sein. Der nachgeordnete Knoten 2014 kann eine Zielstation sein.
  • Der vorgeordnete Netzwerkknoten 2012 überträgt Datenzellen entlang dem Datenpfad 2020 an den mittleren Knoten 2010. Im Gegenzug überträgt der mittlere Knoten 2010 aus 9 bekannte Berechtigungspunkte-Zellen entlang dem Berechtigungspunkte-Pfad 2022 an den vorgeordneten Knoten 2012. Die von dem mittleren Knoten 2010 gehaltene Berechtigungspunkte-Bilanz ist unter anderem von folgenden Parametern abhängig: von der Anzahl der von dem vorgeordneten Knoten 2012 zu dem mittleren Knoten 2010 übertragenen Datenzellen, welche Pufferspeicher in dem mittleren Knoten 2010 belegen; und auch von dem Entleervorgang der Pufferspeicher in dem mittleren Knoten 2010, wobei diese Pufferspeicher in dem mittleren Knoten 2010 durch die über den Datenpfad 2030 erfolgende Übertragung von Datenzellen von dem mittleren Knoten 2010 zu dem nachgeordneten Knoten 2014 erfolgt. Der mittlere Knoten 2010 empfängt eine von dem nachgeordneten Knoten 2014 entlang dem Berechtigungspunkte-Pfad 2040 gesendete Berechtigungspunkte-Zelle. Die Anzahl der in dem mittleren Knoten 2010 vorhandenen Berechtigungspunkte bestimmt die Rate mit der es dem mittleren Knoten 2010 möglich ist, Datenzellen entlang dem Pfad 2030 zu übertragen.
  • Aus der Betrachtung der 20 geht hervor, dass das Verhalten sämtlicher Knoten und Links eines komplexen Netzwerks stets von den Ereignissen abhängig ist, welche an anderen Knoten passieren. Wenn ein nachgeordneter Knoten aus irgendeinem Grund schneller wird, so entleeren sich seine Warteschlangen 1530 für jede virtuelle Verbindung rasch, woraus folgt, dass alle vorgeordneten Knoten in die Lage versetzt werden, Datenpakete rascher durch den schnelleren Knoten zu übertragen. Tritt umgekehrt bei einem nachgeordneten Knoten ein Fehler auf oder kann dieser Pakete nicht mit der geplanten Geschwindigkeit übertragen, so werden alle Knoten des Netzwerks, welche versuchen, Zellen durch den fehlerbehafteten Knoten zu senden, infolge der vollen Warteschlangen 1530 allmählich einen Rückstau verzeichnen.
  • In der im nachfolgenden abgehandelten 21 wird unter Hinzunahme des Blocks 2110 die 8 reproduziert. Demgemäss zeigt 21 die Schritte des Ratensteuerungsinformationsprozesses in der Schaltstelle, wenn eine Hop-by-hop-Flusssteuerung zusammen mit einer End-to-end-Ratensteuerung implementiert ist. Bei Block 2110 setzt der Prozess den Wert von R, d. h. die zuletzt aufgezeichnete und in dem Feld 1202 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeicherte Übertragungsrate für die virtuelle Verbindung auf den Wert von GR. Der Wert von GR wird, wie in 9 gezeigt, aus dem Feld 900 der End-to-end-Steuerzelle abgelesen. Jede virtuelle Verbindung überträgt pro Taktzeit T eine in 9 gezeigte End-to-end-Steuerzelle, und somit wird der in dem Feld 1202 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeicherte Wert von R einmal pro Taktzeit T aktualisiert. Der Prozess springt dann zu Block 2112 wo der Prozess beendet wird.
  • HYBRIDE END-TO-END-RATENSTEUERUNG MIT HOP-BY-HOP-BERECHTIGUNGSPUNKTSTEUERUNG
  • Die Kombination aus ratenbasierter End-to-end-Flusssteuerung und berechtigungspunktbasierter Hop-by-hop-Flusssteuerung wird als hybrides Flusssteuerungsverfahren bezeichnet. Die in 1 bis 9 veranschaulicht, ratenbasierte End-to-end-Flusssteuerung lässt sich auf verschiedene Weise mit der berechtigungspunktbasierten Hop-by-hop-Flusssteuerung kombinieren. In Tabelle 1 werden drei beispielhafte Ausführungsformen der Kombination dieser beiden Verfahren veranschaulicht.
  • TABELLE 1 Tabelle beispielhafter Ausführungsformen der Hybriden Flusssteuerungskombinationen
    Figure 00550001
  • ERSTE BEISPIELHAFTE AUSFÜHRUNGSFORM
  • Die erste beispielhafte Ausführungsform lässt sich wie folgt zusammenfassen. Schaltstellen und Quellenstationen werden über eine Hop-by-hop-Flusssteuerung gesteuert, während die Pufferspeicherzuweisung durch eine ratenbasierte End-to-end-Flusssteuerung berechnet wird.
  • In der im folgenden abgehandelten 22 wird die Speicherzuweisung für Netzwerkknoten gezeigt, welche per berechtigungspunktbasierter Hop-by-hop-Flusssteuerung betrieben werden, wobei die Pufferspeicherzuweisung für jede virtuelle Verbindung in jedem Knoten unter Heranziehung der Übertragungsrate für diese virtuelle Verbindung und unter Verwendung des in 1 bis 9 sowie in 21 veranschaulichten ratenbasierten End-to-end-Flusssteuerungsverfahren berechnet wird.
  • Der Speicher 2210 wird in zwei Hälften aufgeteilt, M (minimal) 2212 und M (dynamisch) 2214. Der minimale Speicherplatz, der für Pufferspeicher zugewiesen werden muss, wird für jede virtuelle Verbindung durch N2 angegeben. Die Anzahl der virtuellen Verbindungen, welche durch das abgehende Link verlaufen, sei hier mit K bezeichnet. Somit wird der mindestens zuzuteilende Speicherplatz durch den folgenden Ausdruck angegeben: M(min) = K*N2.
  • Die Menge des dynamisch zuteilbaren Speichers, der für alle virtuellen Verbindungen für ein bestimmtes Link benötigt wird und der zugeteilt werden muss, wird durch den folgenden Ausdruck angegeben: M (dynamisch) = a*Bw*RTT (Link) wobei "a" eine Konstante grösser als 1 ist, Bw die Bandbreite des abgehenden Links, und RTT (Link) die linkspezifische Durchlaufszeit darstellt. Der Wert für "a" muss relativ grosszügig zugewiesen werden, damit das System die Möglichkeit hat, sich rasch auf Veränderungen bei den Netzwerkbedingungen einzustellen, wobei hierfür sogar Werte bis zu 12 vorgeschlagen worden sind.
  • Die Menge der jeder virtuellen Verbindung i zugewiesenen Pufferspeicher wird mithilfe des folgenden Ausdrucks berechnet: prop(i) = RTT(Link)*Bw*(R(i)/SUM(R(J)) BA(i) = {prop(i)/(SUM prop(j))*M(dynamisch)} + N2 wobei in diesen Ausdrücken: prop(i) den Anteil der Pufferspeicherung bezeichnet, die der virtuellen Verbindung "i" zugewiesen wird;
    SUM prop(j) die aus allen virtuellen Verbindungen zusammengefasste Summe der Anteile prop(j) bezeichnet;
    RTT(Link) die Durchlaufszeit des abgehenden Links bezeichnet;
    die Summe (SUM) wird aus allen durch das abgehende Link verlaufenden virtuellen Verbindungen erzeugt, so dass der Ausdruck R(i)/SUM R(i) den Anteil der Gesamtraten darstellt, welche durch das abgehende Link verlaufen; und M (dynamisch) den gesamten dynamischen Speicher 2214 darstellt, der virtuellen Verbindungen zugewiesen wird, welche durch das abgehende Link verlaufen.
  • Die Menge des zugewiesenen virtuellen Pufferspeichers VBA 1206, der in der Schaltstellen-Berechtigungspunkttabelle 1102 gespeichert ist, wird durch den folgenden Ausdruck berechnet:
    VBA(i) = BA(i), wobei der Index i die virtuelle Verbindung anzeigt.
  • Die ERSTE BEISPIELHAFTE AUSFÜHRUNGSFORM weist folgende Vorteile auf: (1) die für die Berechnungen der Pufferspeicherzuweisungen benötigten Übertragungsraten R(i) werden direkt aus der ratenbasierten End-to-end-Flusssteuerung berechnet, wodurch sich eine ansonsten an jeder Schaltstelle erforderliche Ratenmessung für jede virtuelle Verbindung erübrigt; (2) die Konvergenzzeit, welche die Netzwerkraten benötigen, um sich zu stabilisieren, nachdem die Netzwerkkonfiguration und die Netzwerkbedingungen stabil geworden sind, ist günstiger als dies bei einer reinen, ratenbasierten End-to-end-Flusssteuerung der Fall ist, wie in 1 bis 9 veranschaulicht wird; (3) die Konvergenz ist besser als bei Hop-by-hop-Verfahren, die versuchen, eine Ratenmessung auf jeder virtuellen Verbindung durchzuführen. Ein Nachteil liegt darin, dass grosse Werte für "a", und folglich grosse Mengen an Pufferspeicherzuweisungen in Kauf genommen werden müssen, damit das System in der Lage ist, sich auf vorübergehend nichtstabile Netzwerkzustände einzustellen.
  • ZWEITE BEISPIELHAFTE AUSFÜHRUNGSFORM
  • Die zweite beispielhafte Ausführungsform lässt sich wie folgt zusammenfassen. Die Quellenstationen werden über eine ratenbasierte End-to-end-Flusssteuerung gesteuert, während die Stationen auf praktikable Raten eingestellt werden. Eine Bündelbeabstandung, wie in 10 veranschaulicht, wird an jeder Quellenstation eingerichtet. Wenn eine Quellenrate auf eine höhere Rate umgestellt wird, ist es erforderlich, dass die Quelle, wie in Block 630 aus 6B gezeigt, zuvor die zweifache Netzwerkdurchlaufszeit abwartet. Die Schaltstellen werden durch eine berechtigungspunktbasierte Hop-by-hop-Flusssteuerung gesteuert, wobei die Pufferspeicherzuweisung durch eine ratenbasierte End-to-end-Flusssteuerung berechnet wird.
  • In der im folgenden abgehandelten 23 wird die Speicherzuweisung für ein Netzwerk gezeigt, auf welchem die ZWEITE BEISPIELHAFTE AUSFÜHRUNGSFORM implementiert ist. Der Gesamtspeicherplatz 2310 wird den Pufferspeichern der virtuellen Verbindungen zugewiesen. M(Min) 2312 wird in derselben Weise wie bei der ersten beispielhaften Ausführungsform zugewiesen und wird durch den folgenden Ausdruck berechnet: M(min) = K*N2 ebenso wie dies auch bei der ersten beispielhaften Ausführungsform erfolgte.
  • Eine fixe Speichermenge M (fix) 2314 muss zugewiesen werden, um "praktikable" Quellenraten zu gewährleisten und damit die zeitliche Versetzung zwischen Taktimpulsen berücksichtigt werden kann.
  • Eine Speichermenge muss für das Überbuchen zugewiesen werden, wobei unter Überbuchen zu verstehen ist, dass es den Quellenstationen erlaubt wird, mit Übertragungsraten zu arbeiten, die über den von der End-to-end-Flusssteuerung berechneten, "praktikablen" Raten liegen. Das Überbuchen ist deshalb möglich, weil es durch die Diskretisierung der Übertragungsraten, gepaart mit der Abrundung der berechneten Raten auf die nächstgeringere diskrete Rate zu einer nicht vollständigen Ausnutzung der Netzwerkkapazität kommt Ausserdem kann es durch vorübergehende Auswirkungen, wie zum Beispiel virtuelle Verbindungen, die nicht die Gesamtheit der ihnen zugewiesenen, praktikablen Übertragungsraten belegen, zu einer nicht vollständigen Ausnutzung der Netzwerkkapazität, etc. kommen. Die Menge des zugewiesenen Überbuchungsspeichers M(Überbuchung) 2316 wird durch den folgenden Ausdruck berechnet: M(Überbuchung) = b*Bw*RTT(Zink)
  • In diesem Ausdruck: steht Bw wieder für die Bandbreite des abgehenden Links, RTT (Link) wieder für die Durchlaufszeit des abgehenden Links, während "b" einen "Überbuchungsparameter" darstellt. Typischerweise hat "b" einen Wert zwischen 0 und 1.
  • Die für die dynamische Speicherzuweisung verfügbare Speichermenge ist M(Überbuchung), und somit wird die dynamische Speicherzuweisung für jede virtuelle Verbindung durch den folgenden Ausdruck berechnet: BA(i) = (R(i)/SUM(R(j))* M(dynamisch) + N2 wobei M(dynamisch) auf denselben Wert gesetzt wird wie das weiter oben berechnete M(Überbuchung). Der in dem Feld 1206 der Schaltstellen-Berechtigungspunkttabelle 1102 gespeicherte virtuelle Pufferspeicher VBA, wird durch den folgenden Ausdruck berechnet: VBA(i) = BA(i) + {RTT(link)* R(i)} wobei, wie bereits weiter oben erwähnt, VBA(i) die virtuelle Pufferspeicherzuweisung für die virtuelle Verbindung "i" darstellt, BA(i) die oben berechnete Pufferspeicherzuweisung; RTT(Link) die Durchlaufszeit des abgehenden Links; und R(i) die aufgezeichnete Rate aus dem Feld 1202 der Schaltstellen-Berechtigungspunkttabelle 1102 für die virtuelle Verbindung "i".
  • Der Vorteil der zweiten beispielhaften Ausführungsform gegenüber der ersten beispielhaften Ausführungsform liegt darin, dass die für das Überbuchen benötigte Speichermenge M(Überbuchung) nur den inkrementalen Pufferspeicher darstellt, der für Raten benötigt wird, die über die praktikablen Raten hinausgehen, und dass diese viel geringer ist als die durch den Parameter "a" berechnete und für die erste beispielhafte Ausführungsform benötigte Menge.
  • Bei Verwendung der zweiten beispielhaften Ausführungsform müssen die Quellen, wie unter Bezugnahme auf 10 veranschaulicht, ihren Datenverkehr ausgleichen.
  • DRITTE BEISPIELHAFTE AUSFÜHRUNGSFORM
  • Die dritte beispielhafte Ausführungsform lässt sich wie folgt zusammenfassen. Quellenstationen werden auf zweierlei Arten gesteuert: durch ratenbasierte End-to-end-Flusssteuerung, wobei die Quellenstationen auf praktikable Raten eingestellt werden; und im weiteren werden die Quellenstationen zusätzlich durch eine berechtigungspunktbasierte Hop-by-hop-Flusssteuerung gesteuert, so dass, falls die punktebasierte Sendeberechtigung ein höheres Übertragungsvolumen zulässt als die praktikable Rate, es der Quelle möglich ist, auf Basis ihrer Berechtigungspunkte mehr Zellen zu senden als ihre Rate erlauben würde. Die Schaltstellen werden durch eine berechtigungspunktbasierte Hop-by-hop-Flusssteuerung gesteuert, wobei die Pufferspeicherzuweisung durch eine ratenbasierte End-to-end-Flusssteuerung berechnet wird.
  • Die dritte beispielhafte Ausführungsform weist ein besseres Einschwingverhalten in Bezug auf neu in das Netz aufgenommene Quellenstationen auf. Die Pufferspeicherzuweisungen sind dieselben wie bei der zweiten beispielhaften Ausführungsform. Das Verfahren der dritten beispielhaften Ausführungsform ist insofern als aggressiver zu bezeichnen, als wenn eine Grenz-Schaltstelle einer neu ins System genommenen Quellenstation Berechtigungspunkte zuteilen kann, diese ihren Betrieb aufnehmen kann, noch bevor das System der neuen Quellenstation eine praktikable Rate zugeteilt hat. Die neue Quellenstation kann dann mit einer Übertragung beginnen, und zwar noch bevor ihr eine Rate zugewiesen worden ist.
  • Ausserdem ist es nicht notwendig, wenn eine Quellenrate auf eine höhere Rate umgestellt wird, dass die Quelle, wie in Block 630 aus 6B gezeigt, zuvor die zweifache Netzwerkdurchlaufszeit abwartet, wie dies etwa bei der zweiten beispielhaften Ausführungsform erforderlich ist. Somit können die Quellen aggressiver agieren, wobei es die Aufgabe der Hop-by-hop-Flusssteuerung ist, zu verhindern, dass es zu einem Überlaufen der Pufferspeicher an den nachgeordneten Schaltstellen kommt.
  • Die Erfindung wurde hier zwar unter Bezugnahme auf spezifische, beispielhafte Ausführungsformen beschrieben, es sei jedoch hier darauf hingewiesen, dass diese keinesfalls in einem die Erfindung einschränkenden Sinn aufzufassen sind. Verschiedene Abänderungen der offenbarten Ausführungsformen sowie weitere Ausführungsformen der Erfindung sind für Personen mit einschlägigen Fachkenntnissen nach Kenntnisnahme dieser Beschreibung vorstellbar. Es sei daher hier festgehalten, dass jedwede dieser Abänderungen oder Ausführungsformen durch die vorliegende Erfindung abgedeckt sind.

Claims (9)

  1. Ratenbasiertes End-to-end-Flußsteuerungssystem für ein Computernetzwerk, umfassend: eine Quellenendstation (100) und eine Zielendstation (104), wobei zwischen der Quellenendstation und der Zielendstation eine virtuelle Verbindungsschaltung über eine oder mehrere Netzwerk-Schaltstellen (102) eingerichtet ist; eine in der Quellenendstation (100) enthaltene Ratensteuerungsprozeßeinrichtung (112) mit einer ersten Subprozeßeinrichtung, welche folgendes beinhaltet: (i) eine Einrichtung zum periodischen Übertragen (405) einer End-to-end-Steuerzelle über die virtuelle Verbindungsschaltung hinweg, wobei die Übertragungsrate der End-to-end-Steuerzelle 1/T entspricht und wobei die Steuerzelle über ein gestempeltes Ratenfeld (900) und über ein U-Bit (905) verfügt, welches anzeigt, wenn das gestempelte Ratenfeld eine Veränderung erfahren hat, und (ii) eine Einrichtung zum Einstellen des Wertes des gestempelten Ratenfeldes (900) auf eine aus einer Reihe erlaubter, diskreter Übertragungsraten ausgewählte Übertragungsrate, wobei die Reihe der erlaubten, diskreten Übertragungsraten auf einem logarithmischen Maßstab basiert; eine in einer jeden der einen oder mehreren Schaltstellen (102) enthaltene Prozeßeinrichtung (134) zur periodischen Aktualisierung, um einmal pro Zeitspanne T die verfügbare Bandbreitenzuweisung (AFAIR) für die virtuelle Verbindungsschaltung zu berechnen und um zu gewährleisten, daß die verfügbare Bandbreitenzuweisung einer der erlaubten, diskreten Raten entspricht; eine in einer jeden der Schaltstellen (102) enthaltene Ratensteuerungsinformationsprozeßeinrichtung (132) zum Empfangen (800) der End-to-end-Steuerzelle, zum Vergleichen (805) des Wertes des in der Zelle enthaltenen, gestempelten Ratenfeldes (900) mit der aktuell verfügbaren Bandbreitenzuweisung (AFAIR) und zum in das gestempelte Ratenfeld erfolgenden Schreiben (810) der aktuell verfügbaren Bandbreitenzuweisung, falls der Wert des gestempeltes Ratenfeldes in der Zelle größer oder gleich der aktuell verfügbaren Bandbreitenzuweisung ist; eine in der Zielendstation (104) enthaltene Steuerzellenrückführprozeßeinrichtung (144) zur Rückführung der End-to-end-Steuerzelle an die Quellenendstation (100); wobei die Ratensteuerungsprozeßeinrichtung (112) weiterhin eine zweite Unterprozeßeinrichtung beinhaltet, die dazu dient, eine erlaubte Übertragungsrate in einer Quellendatenstruktur (110) in der Quellenendstation (100) in Reaktion auf den Empfang der rückgeführten End-to-end-Steuerzelle zu aktualisieren (415), und zu gewährleisten, daß die erlaubte Übertragungsrate einer der erlaubten, diskreten Übertragungsraten entspricht, wobei das Flußsteuerungssystem weiterhin folgendes beinhaltet: eine in der Quellenendstation (100) enthaltene Verkehrsgestaltungsprozeßeinrichtung (114), die dazu dient, die tatsächliche Übertragungsrate der Quellenendstation entsprechend zu begrenzen, so daß diese kleiner oder gleich der erlaubten Übertragungsrate ist.
  2. Flußsteuerungssystem nach Anspruch 1, wobei die Ratensteuerungsprozeßeinrichtung weiterhin folgendes umfaßt: eine in der ersten Unterprozeßeinrichtung enthaltene Vergleichseinrichtung für die gestempelte Quellenrate zum Vergleichen (505) einer in der Quellendatenstruktur (110) enthaltenen, gestempelten Quellenrate (205) mit einer in der Quellendatenstruktur enthaltenen, angeforderten Rate (215), wobei die gestempelte Quellenrate anfänglich auf die angeforderte Rate eingestellt ist und wobei die angeforderte Rate einer von einem Benutzer der virtuellen Verbindungsschaltung angeforderten Datentransferrate entspricht; und eine auf die Vergleichseinrichtung für die gestempelte Quellenrate ansprechende Einstelleinrichtung (510), die dazu dient, das gestempelte Ratenfeld (900) in der End-to-end-Steuerzelle auf die angeforderte Rate einzustellen und das U-Bit in der End-to-end-Steuerzelle auf 1 zu setzen, wenn die gestempelte Quellenrate größer ist als die angeforderte Rate.
  3. Flußsteuerungssystem nach Anspruch 2, wobei die erste Unterprozeßeinrichtung weiterhin folgendes umfaßt: eine auf die Vergleichseinrichtung für die gestempelte Quellenrate ansprechende Einstelleinrichtung (515), die dazu dient, das gestempelte Ratenfeld (900) in der End-to-end-Steuerzelle auf die gestempelte Quellenrate einzustellen und das U-Bit (905) auf Null zu setzen, wenn die gestempelte Quellenrate nicht größer als die angeforderte Rate ist, und wobei die zweite Unterprozeßeinrichtung weiterhin folgendes umfaßt: eine U-Bit-Vergleichseinrichtung, um den U-Bit-Wert in der End-to-end-Steuerzelle mit 0 zu vergleichen; und eine auf die U-Bit-Vergleichseinrichtung ansprechende Einrichtung, um die gestempelte Quellenrate auf die angeforderte Rate einzustellen, wenn das U-Bit gleich 0 ist.
  4. Flußsteuerungssystem nach Anspruch 3, wobei die zweite Unterprozeßeinrichtung weiterhin folgendes umfaßt: eine auf die U-Bit-Vergleichseinrichtung ansprechende Vergleichseinrichtung für die gestempelte Rate zum Vergleichen (610) des Wertes des in der End-to-end-Steuerzelle enthaltenen, gestempelten Ratenfeldes (900) mit der gestempelten Quellenrate (205); eine auf die Vergleichseinrichtung für die gestempelte Rate ansprechende Einrichtung zum Einstellen (615) der gestempelten Quellenrate (205) auf die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate (900), sowie zum Einstellen der erlaubten Übertragungsrate auf die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate, falls die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate kleiner oder gleich der gestempelten Quellenrate ist; eine auf die Vergleichseinrichtung für die gestempelte Rate ansprechende Einrichtung zum Einstellen (620) der gestempelten Quellenrate (205) auf die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate (900), falls die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate nicht kleiner oder gleich der gestempelten Quellenrate ist; und eine auf die Vergleichseinrichtung für die gestempelte Rate ansprechende Einrichtung zum Anpassen (625) der erlaubten Quellenübertragungsrate, falls die in der End-to-end-Steuerzelle enthaltene, gestempelte Rate nicht kleiner oder gleich der gestempelten Quellenrate ist.
  5. Flußsteuerungssystem nach Anspruch 4, wobei die Einrichtung zum Anpassen der erlaubten Quellenübertragungsrate weiterhin folgendes umfaßt: eine Einrichtung zum Abwarten (630) einer Zeitdauer, welche gleich 2*(D + T) ist, wobei D der zum Durchlaufen des Computernetzwerks maximal benötigten Zeit entspricht; und eine auf die Einrichtung zum Abwarten ansprechende Einrichtung zum Einstellen (635) der erlaubten Übertragungsrate auf den Wert der in der End-to-end-Steuerzelle enthaltenen, gestempelten Rate.
  6. Flußsteuerungssystem nach Anspruch 4, wobei die Einrichtung zum Anpassen der erlaubten Quellenübertragungsrate weiterhin folgendes umfaßt: eine zweite U-Bit-Vergleichseinrichtung, um das U-Bit in der End-to-end-Steuerzelle mit 1 zu vergleichen (640); und eine auf die zweite U-Bit-Vergleichseinrichtung ansprechende Einstelleinrichtung (695), um die erlaubte Übertragungsrate auf die gestempelte Rate (900) in der End-to-end-Steuerzelle einzustellen, falls das U-Bit in der End-to-end-Steuerzelle gleich 1 ist, wobei das Flußsteuerungssystem weiterhin folgendes umfaßt: eine in einer jeden der einen oder mehreren Schaltstellen (102) enthaltene Vermittlungsratentabelle (124, 300), wobei die Vermittlungsratentabelle für jede Übertragungsrate aus der Reihe der erlaubten, diskreten Übertragungsraten über einen Eintrag (315, 325, 335) verfügt und wobei jeder Eintrag Vermittlungsratentabelle über ein Zählerfeld (305) und ein 'a'-Feld (310) verfügt; wobei die Prozeßeinrichtung (134) zum periodischen Aktualisieren weiterhin folgendes beinhaltet: eine Einrichtung zur Neuberechnung der verfügbaren Bandbreitenzuweisung AFAIR, die auf der folgenden Gleichung basiert,
    Figure 00690001
    worin: C die Gesamtverbindungskapazität der Schaltstelle darstellt und n und a jeweils Werte aus den Zähler- und 'a'-Feldern der Vermittlungsratentabelleneinträge darstellen; eine Einrichtung zum Aktualisieren (710) der 'a'-Felder in der Vermittlungsratentabelle; eine Einrichtung zur zweitmaligen Neuberechnung (715) der verfügbaren Bandbreitenzuweisung auf Basis der obigen Gleichung; und eine Einrichtung zum Auf-Null-Setzen (720) der Zählerfeldwerte in der Vermittlungsratentabelle.
  7. Flußsteuerungssystem nach Anspruch 6, wobei die Prozeßeinrichtung (134) zur periodischen Aktualisierung entsprechend angepaßt ist um die 'a'-Felder der Vermittlungsratentabelleneinträge unter Verwendung der folgenden Gleichung zu aktualisieren: FORj = 0 bis j = 255 DO r(j) = 2 exp(0,125 * j) IF r (j) größer als AFAIR AND a (j) = 1 dann SET a(j) = 0.
  8. Flußsteuerungssystem nach Anspruch 7, wobei die Ratensteuerungsprozeßeinrichtung weiterhin folgendes umfaßt: eine Einrichtung zum Bestimmen (815) eines Indexes 'i' für die Vermittlungsratentabelle (129, 300), der einen Vermittlungsratentabelleneintrag indiziert, welcher dem Wert des gestempelten Ratenfeldes in der End-to-end-Steuerzelle entspricht, wobei der Index 'i' auf Basis der folgenden Gleichung berechnet wird: 'i' = 8*logt (gestempelte Rate); eine auf die Einrichtung zum Bestimmen des Indexes 'i' ansprechende Einrichtung zum Inkrementieren (820) eines Zählerfeldes eines Vermittlungstabelleneintrags, welcher durch den Index 'i' indiziert ist, der in der Einrichtung zum Bestimmen des Indexes 'i' bestimmt wird; eine zweite Vergleichseinrichtung für die verfügbare Bandbreite zum Vergleichen (825) der verfügbaren Bandbreitenzuweisung mit dem Wert (900) des gestempelten Ratenfeldes in der End-to-end-Steuerzelle; und eine auf die zweite Vergleichseinrichtung für die verfügbare Bandbreite und auf die Einrichtung zum Bestimmen des Indexes 'i' ansprechende Einrichtung zum Inkrementieren (830) eines 'i'-Feldes eines durch den Index 'i' indizierten Vermittlungstabelleneintrags, falls die verfügbare Bandbreitenzuweisung größer oder gleich dem Wert des gestempelten Ratenfeldes in der End-to-end-Steuerzelle ist.
  9. Verfahren zur Steuerung von Übertragungsraten an einer Mehrzahl von Quellenendstationen (100), welches folgendes umfaßt: das Bestimmen (705) einer praktikablen Übertragungsrate für jede virtuelle Verbindungsschaltung aus einer Mehrzahl virtueller Verbindungsschaltungen, welche an der Mehrzahl von Quellenendstationen ihren Ursprung nehmen, wobei die praktikable Rate als eine Übertragungsrate für jede Quellenendstation einer jeden virtuellen Verbindungsschaltung definiert ist, so daß Zellen, welche von jeder Quellenendstation gemäß der praktikablen Rate übertragen werden, keinerlei Vermittlungskapazität erfordern, die über die Vermittlungskapazität hinausgeht, welche für jede in dem Netzwerk vorhandene Schaltstelle verfügbar ist; das Übertragen einer Steuerzelle über das Netzwerk hinweg; das Verändern der Steuerzelle durch eine Netzwerk-Schaltstelle (102) in Reaktion auf eine verfügbare Bandbreitenzuweisung, welche durch die Netzwerk-Schaltstelle berechnet wird, und auf den Inhalt (900) der Steuerzelle, wobei die Steuerzelle die praktikable Rate enthält, wenn die Steuerzelle zu der Quellenendstation (100) zurückkehrt, von der sie ihren Ursprung genommen hat; das Zeitsteuern von Ereignissen durch ein globales Zeitgebungsintervall (116, 136), um in einer Quellenendstation das Senden einer Steuerzelle für jede in der Quellenendstation hergestellte, virtuelle Verbindungsschaltung zeitlich festzulegen, und um in einer Schaltstelle die Berechnung einer verfügbaren Bandbreitenzuweisung zeitlich festzulegen; und das Generieren diskreter Übertragungsraten, welche von den Quellenendstationen zur Übertragung von Datenzellen verwendet werden können, wobei das durch die globale Ablaufsteuerungseinrichtung erfolgende Zeitsteuern von Ereignissen und das Generieren von diskreten Raten eine direkte Berechnung der praktikablen Übertragungsraten ermöglicht.
DE69530641T 1994-07-18 1995-07-18 Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung Expired - Lifetime DE69530641T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US276291 1994-07-18
US08/276,291 US5734825A (en) 1994-07-18 1994-07-18 Traffic control system having distributed rate calculation and link by link flow control

Publications (2)

Publication Number Publication Date
DE69530641D1 DE69530641D1 (de) 2003-06-12
DE69530641T2 true DE69530641T2 (de) 2004-03-04

Family

ID=23056053

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69530641T Expired - Lifetime DE69530641T2 (de) 1994-07-18 1995-07-18 Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung

Country Status (4)

Country Link
US (3) US5734825A (de)
EP (1) EP0693840B1 (de)
JP (1) JPH0855096A (de)
DE (1) DE69530641T2 (de)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
AUPM699394A0 (en) * 1994-07-25 1994-08-18 Curtin University Of Technology Link level controlled access to available asynchronous network service
MY123040A (en) * 1994-12-19 2006-05-31 Salbu Res And Dev Proprietary Ltd Multi-hop packet radio networks
GB9509921D0 (en) * 1995-05-17 1995-07-12 Roke Manor Research Improvements in or relating to mobile radio systems
ES2151588T3 (es) 1995-07-05 2001-01-01 Procter & Gamble Contenedor o tapa con medio de ventilacion.
WO1997005724A1 (fr) * 1995-08-02 1997-02-13 Nippon Telegraph And Telephone Corporation Unite de commande de vitesse dynamique
DE19531611C1 (de) * 1995-08-28 1996-11-07 Siemens Ag Verfahren und Anordnung zum Anpassen der Übertragungsbitrate einer nach dem asynchronen Transfermodus arbeitenden Datenmultiplexeinrichtung
US6011804A (en) * 1995-12-20 2000-01-04 International Business Machines Corporation Dynamic bandwidth reservation for control traffic in high speed packet switching networks
US5966381A (en) * 1996-03-20 1999-10-12 Sun Microsystems, Inc. Method and apparatus for explicit rate flow control in ATM networks
JPH09319672A (ja) * 1996-05-30 1997-12-12 Fuji Xerox Co Ltd データ伝送装置および方法
JP3169552B2 (ja) 1996-06-20 2001-05-28 沖電気工業株式会社 シェーピング方法及び装置
US5983279A (en) * 1996-08-30 1999-11-09 Apple Computer, Inc. Buffer management mechanism for distributed multimedia applications
US6014707A (en) * 1996-11-15 2000-01-11 Nortel Networks Corporation Stateless data transfer protocol with client controlled transfer unit size
AU7627798A (en) * 1996-12-04 1998-06-29 Dsc Telecom L.P. Distributed telecommunications switching system and method
US6047113A (en) * 1996-12-10 2000-04-04 International Business Machines Corporation Network adapters for multi-speed transmissions
US6446125B1 (en) * 1997-03-28 2002-09-03 Honeywell International Inc. Ripple scheduling for end-to-end global resource management
KR100236035B1 (ko) * 1997-03-31 1999-12-15 전주범 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
US6044406A (en) * 1997-04-08 2000-03-28 International Business Machines Corporation Credit-based flow control checking and correction method
DE19717548A1 (de) * 1997-04-25 1998-11-05 Philips Patentverwaltung Übertragungssystem
US6968379B2 (en) 1997-05-30 2005-11-22 Sun Microsystems, Inc. Latency-reducing bandwidth-prioritization for network servers and clients
JP3134810B2 (ja) * 1997-06-09 2001-02-13 日本電気株式会社 帯域制御方法および帯域制御方式
FR2765057B1 (fr) * 1997-06-19 2000-06-30 Univ Paris Curie Procede de gestion de largeurs de bandes allouees dans les reseaux locaux a acces partages, protocole et filtre de mise en oeuvre
US6385168B1 (en) * 1997-06-19 2002-05-07 Alcatel Canada Inc. Fair share bandwidth allocation algorithm and device
IL121549A (en) * 1997-08-14 2000-09-28 Telescicom Ltd Dynamic wireless telecommunications system
US6031821A (en) * 1997-08-19 2000-02-29 Advanced Micro Devices, Inc. Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration
US6408005B1 (en) * 1997-09-05 2002-06-18 Nec Usa, Inc. Dynamic rate control scheduler for ATM networks
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6075769A (en) * 1997-11-26 2000-06-13 Cisco Systems, Inc. Method and apparatus for network flow control
US6754206B1 (en) 1997-12-04 2004-06-22 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6618354B1 (en) * 1998-03-13 2003-09-09 Hewlett-Packard Development Company, L.P. Credit initialization in systems with proactive flow control
EP0948168A1 (de) * 1998-03-31 1999-10-06 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Verfahren und Vorrichtung zur Datenflusssteuerung
JP3277887B2 (ja) * 1998-06-19 2002-04-22 日本電気株式会社 送受信方法、送受信回路および送受信回路の制御方法
US6061331A (en) * 1998-07-28 2000-05-09 Gte Laboratories Incorporated Method and apparatus for estimating source-destination traffic in a packet-switched communications network
JP3634635B2 (ja) 1998-07-31 2005-03-30 富士通株式会社 固定レートコネクションを制御するセル交換装置
US6594701B1 (en) * 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6321276B1 (en) 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6308214B1 (en) * 1998-09-23 2001-10-23 Inktomi Corporation Self-tuning dataflow I/O core
US6701375B1 (en) * 1999-01-22 2004-03-02 Northrop Grumman Corporation Ultra-low bandwidth intra-network routing method
US6813249B1 (en) * 1999-02-16 2004-11-02 Efficient Networks, Inc. System and method for prefetching data
US6661774B1 (en) 1999-02-16 2003-12-09 Efficient Networks, Inc. System and method for traffic shaping packet-based signals
US6711137B1 (en) 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US20020133620A1 (en) * 1999-05-24 2002-09-19 Krause Michael R. Access control in a network system
US20030195983A1 (en) * 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US7016971B1 (en) * 1999-05-24 2006-03-21 Hewlett-Packard Company Congestion management in a distributed computer system multiplying current variable injection rate with a constant to set new variable injection rate at source node
US6646985B1 (en) * 1999-06-03 2003-11-11 Fujitsu Network Communications, Inc. Congestion control mechanism in a network access device
US6965943B1 (en) * 1999-06-05 2005-11-15 Lucent Technologies Inc. End-to-end internet control
EP1063814A1 (de) * 1999-06-24 2000-12-27 Alcatel Verfahren zur Mehradresspaketübertragung
US7016301B1 (en) * 1999-09-01 2006-03-21 Cisco Technology, Inc. Fair multiplexing scheme for multiple input port router
US6657960B1 (en) 1999-11-23 2003-12-02 International Business Machines Corporation Method and system for providing differentiated services in computer networks
US6791989B1 (en) * 1999-12-30 2004-09-14 Agilent Technologies, Inc. Fibre channel interface controller that performs non-blocking output and input of fibre channel data frames and acknowledgement frames to and from a fibre channel
AU2001236304A1 (en) * 2000-02-25 2001-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Overload handling in a communications system
US6810031B1 (en) 2000-02-29 2004-10-26 Celox Networks, Inc. Method and device for distributing bandwidth
US6954429B2 (en) * 2000-04-05 2005-10-11 Dyband Corporation Bandwidth control system
GB0026703D0 (en) * 2000-11-01 2000-12-20 Parc Technologies Ltd Traffic flow optimisation system
US6813244B1 (en) 2000-11-20 2004-11-02 Fujitsu Limited Available bandwidth measurement with variable speed probing and zoom-in/zoom-out technique
US6879560B1 (en) 2000-12-08 2005-04-12 At&T Corp. System and method for limiting congestion over a switch network
US6751684B2 (en) * 2000-12-21 2004-06-15 Jonathan M. Owen System and method of allocating bandwidth to a plurality of devices interconnected by a plurality of point-to-point communication links
US6996064B2 (en) * 2000-12-21 2006-02-07 International Business Machines Corporation System and method for determining network throughput speed and streaming utilization
US7116639B1 (en) 2000-12-21 2006-10-03 International Business Machines Corporation System and method for determining network discrete utilization
US7027393B1 (en) * 2001-03-02 2006-04-11 Cisco Technology, Inc. TCP optimized single rate policer
US6931536B2 (en) * 2001-03-06 2005-08-16 Macrovision Corporation Enhanced copy protection of proprietary material employing multiple watermarks
JP2002287997A (ja) * 2001-03-23 2002-10-04 Kinji Mori 多重系処理方法
JP3882187B2 (ja) * 2001-04-19 2007-02-14 日本電気株式会社 フロー制御システムおよび方法
EP1454234A2 (de) * 2001-09-28 2004-09-08 British Telecommunications Public Limited Company Client-server modell
US7389537B1 (en) 2001-10-09 2008-06-17 Juniper Networks, Inc. Rate limiting data traffic in a network
US7688863B2 (en) * 2001-10-19 2010-03-30 Renesas Technology America, Inc. Methods and apparatus for sharing network bandwidth
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
FR2832011B1 (fr) * 2001-11-05 2005-05-20 Airbus France Reseau de communication de type ethernet full duplex commute et procede de mise en oeuvre de celui-ci
DE10158669A1 (de) * 2001-11-30 2003-06-12 Sel Alcatel Ag Verfahren zur Zuweisung von Sendeberechtigungen
US8046577B2 (en) * 2001-12-12 2011-10-25 At&T Corp. Secure IP access protocol framework and supporting network architecture
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
GB2385741B (en) * 2002-02-25 2004-02-04 3Com Corp Method and apparatus for managing data traffic associated with a user on a network
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
CA2392809A1 (en) * 2002-07-09 2004-01-09 Greg Lehman Parallel software download
US20040027989A1 (en) * 2002-07-29 2004-02-12 Brocade Communications Systems, Inc. Cascade credit sharing for fibre channel links
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
JP3733943B2 (ja) * 2002-10-16 2006-01-11 日本電気株式会社 データ転送速度調停システム及びそれに用いるデータ転送速度調停方法
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7047310B2 (en) * 2003-02-25 2006-05-16 Motorola, Inc. Flow control in a packet data communication system
US7773694B2 (en) 2003-07-02 2010-08-10 Panasonic Corporation Communication apparatus and communication method
US7426570B2 (en) * 2003-07-25 2008-09-16 Hewlett-Packard Development Company, L.P. Determining placement of distributed application onto distributed resource infrastructure
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8437284B2 (en) * 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7152347B2 (en) * 2004-06-17 2006-12-26 Herzog Contracting Corporation Method and apparatus for applying railway ballast
US8443072B1 (en) * 2004-07-21 2013-05-14 Avaya Inc. Method and apparatus for managing network congestion due to automatic configuration procedures
US7518996B2 (en) * 2004-09-16 2009-04-14 Jinsalas Solutions, Llc Fast credit system
KR20070087167A (ko) * 2004-12-20 2007-08-27 코닝 인코포레이티드 유리 봉지의 제조방법
US7492710B2 (en) * 2005-03-31 2009-02-17 Intel Corporation Packet flow control
US7646718B1 (en) 2005-04-18 2010-01-12 Marvell International Ltd. Flexible port rate limiting
US8036113B2 (en) * 2005-10-21 2011-10-11 Marvell International Ltd. Packet sampling using rate-limiting mechanisms
US7924708B2 (en) * 2005-12-13 2011-04-12 Intel Corporation Method and apparatus for flow control initialization
US7729347B2 (en) * 2006-05-31 2010-06-01 Zvi Rosberg Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements
US7929536B2 (en) * 2006-09-07 2011-04-19 Intel Corporation Buffer management for communication protocols
JP5025655B2 (ja) * 2006-10-02 2012-09-12 パナソニック株式会社 流量制御方法、ならびにそれに使用する送信端末およびパケット転送システム
US8683000B1 (en) * 2006-10-27 2014-03-25 Hewlett-Packard Development Company, L.P. Virtual network interface system with memory management
JP2009272874A (ja) * 2008-05-07 2009-11-19 Sony Corp 通信装置、通信方法、プログラム、および通信システム
US7562168B1 (en) 2008-05-29 2009-07-14 International Business Machines Corporation Method of optimizing buffer usage of virtual channels of a physical communication link and apparatuses for performing the same
US8675550B2 (en) * 2008-06-14 2014-03-18 Alcatel Lucent Method for backhaul interference management with access terminal router
WO2010125794A1 (ja) 2009-04-27 2010-11-04 パナソニック株式会社 無線通信装置及び無線通信方法
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
US9286620B2 (en) * 2012-11-05 2016-03-15 Broadcom Corporation Annotated tracing for data networks
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US20170093726A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. High-speed communications platform
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10489323B2 (en) * 2016-12-20 2019-11-26 Arm Limited Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave
US11762718B2 (en) 2020-08-26 2023-09-19 Hewlett Packard Enterprise Development Lp Automatically optimized credit pool mechanism based on number of virtual channels and round trip path delay

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
DE69030037T2 (de) * 1989-08-15 1997-06-26 At & T Corp Verfahren zur Verkehrsregelung in einem Hochgeschwindigkeitsdatennetz
US5029164A (en) * 1990-04-13 1991-07-02 Digital Equipment Corporation Congestion avoidance in high-speed network carrying bursty traffic
US5319638A (en) * 1991-09-12 1994-06-07 Bell Communications Research, Inc. Link-by-link congestion control for packet transmission systems
US5276677A (en) * 1992-06-26 1994-01-04 Nec Usa, Inc. Predictive congestion control of high-speed wide area networks
US5367517A (en) * 1992-12-16 1994-11-22 International Business Machines Corporation Method and system of requesting resources in a packet-switched network with minimal latency
JP2646948B2 (ja) * 1992-12-25 1997-08-27 日本電気株式会社 パケット網におけるシグナリング方式
US5436891A (en) * 1993-01-14 1995-07-25 Motorola, Inc. Method and system for traffic management in cell relay networks
US5432784A (en) * 1993-07-26 1995-07-11 Digital Equipment Corporation Flow control method and apparatus for systems with long distance links
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5497375A (en) * 1994-01-05 1996-03-05 Motorola, Inc. Device and method for ATM end system cell flow regulation
US5455826A (en) * 1994-06-28 1995-10-03 Oezveren; Cueneyt M. Method and apparatus for rate based flow control
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
US5745697A (en) * 1996-03-27 1998-04-28 Digital Equipment Corporation Network flow control having intermediate node scalability to a large numbers of virtual circuits

Also Published As

Publication number Publication date
US6615271B1 (en) 2003-09-02
US5734825A (en) 1998-03-31
EP0693840A1 (de) 1996-01-24
DE69530641D1 (de) 2003-06-12
US5968128A (en) 1999-10-19
JPH0855096A (ja) 1996-02-27
EP0693840B1 (de) 2003-05-07

Similar Documents

Publication Publication Date Title
DE69530641T2 (de) Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE69839334T2 (de) Verfahren zur Zuweisung von Aufwartszeitschlitzen zu einer Netzwerkendeinrichtung , sowie Netzwerkendeinrichtung und Zugriffssteuerung zur Durchführung eines solchen Verfahrens
DE69827053T2 (de) Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk
DE69632240T2 (de) Verfahren und Anlage zur Kontrolle von Übertragungsgeschwindigkeiten von Quellen in ATM-Netzwerken
DE10100842B4 (de) Kommunikationsvorrichtung mit Mehrschichten-Klassenidentifikation und Prioritätssteuerung
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69935587T2 (de) Verfahren und vorrichtung zur weiterleitung von paketen von einer mehrzahl konkurrierender warteschlangen zu einem ausgang
EP0885506B1 (de) Verfahren und anordnung zur übertragung eines datenpakets im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE69434763T2 (de) Verfahren und Vorrichtung zur Überlastregelung in einem Kommunikationsnetzwerk
DE60217361T2 (de) Verfahren und System zur Überlastkontrolle in einem Kommunikationsnetzwerk
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69818846T2 (de) Paketnetzwerk
DE69835781T2 (de) Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite
DE60034504T2 (de) Vorrichtung zur Weiterleitung von Paketen und Verfahren zum Setzen von Paketprioritäten
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
DE60027639T2 (de) Buffersystem mit Überlastregelung mit verbindungsweiser Verkehrsverwaltung
DE3705530C2 (de)
DE60120830T2 (de) Paketvermittlungssystem und Verfahren
EP1133112B1 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
DE60028903T2 (de) Verfahren und Vorrichtung zur Kommunikationskontrolle
EP0351014B1 (de) Koppelfeld für ein Vermittlungssystem
DE19643584C2 (de) Verfahren und Vorrichtung zur Steuerung von Mehrbelegungsverbindungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition