DE69434329T2 - Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle - Google Patents

Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle Download PDF

Info

Publication number
DE69434329T2
DE69434329T2 DE69434329T DE69434329T DE69434329T2 DE 69434329 T2 DE69434329 T2 DE 69434329T2 DE 69434329 T DE69434329 T DE 69434329T DE 69434329 T DE69434329 T DE 69434329T DE 69434329 T2 DE69434329 T2 DE 69434329T2
Authority
DE
Germany
Prior art keywords
channel
virtual channel
transmission
virtual
cells
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 - Fee Related
Application number
DE69434329T
Other languages
English (en)
Other versions
DE69434329D1 (de
Inventor
David Banks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE69434329D1 publication Critical patent/DE69434329D1/de
Application granted granted Critical
Publication of DE69434329T2 publication Critical patent/DE69434329T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/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/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Regeln der Übertragung von Zellen auf eine Verknüpfung, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind; genauer gesagt, aber nicht ausschließlich, bezieht sich die vorliegende Erfindung auf das Regeln der Zellenübertragung in ATM-Systemen, die Dienste mit garantierter Bandbreite bereitstellen.
  • Hintergrund der Erfindung
  • ATM (Asynchronous Transfer Mode = asynchroner Übertragungsmodus) ist eine Multiplex- und Umschalt-Technik zum Übertragen von Daten über ein Netzwerk unter Verwendung von Zellen mit fester Größe, die in dem Sinn synchron sind, dass sie auf dem physischen Medium strikt periodisch erscheinen. Jede Zelle weist einen Nutzdatenabschnitt und einen Anfangsblock auf, wobei letzterer ein Etikett umfasst, das die Zelle einer Kommunikationsinstanz zwischen den Sende- und Empfangs-Netzwerkendsystemen zuweist; diese Kommunikationsinstanz kann die Übertragung vieler Zellen von dem sendenden Endsystem, möglicherweise zu mehreren empfangenden Endsystemen involvieren. Der ATM ist asynchron in dem Sinn, dass Zellen, die zu der gleichen Kommunikationsinstanz gehören, nicht notwendigerweise in periodischen Intervallen erscheinen.
  • In dem ATM sind die Etiketten, die den Zellen angefügt sind, kontextabhängige Festgrößenetiketten, d. h., sie sind im Licht von Kontextinformationen, die bereits an dem interpretierenden Netzwerkknoten eingerichtet sind, verständlich, wobei das Etikett im allgemeinen an einem Knoten durch das Etikett ersetzt wird, das für den nächsten Knoten erforderlich ist. Anders ausgedrückt ist der ATM eine virtuelle Umschalttechnologie, die für jede Kommunikationsinstanz eine Aufbauphase (Setup-Phase) erfordert, um das entsprechende Etikettenwissen an jedem Knoten einzurichten.
  • Das virtuelle Schaltungsetikett für eine ATM-Zelle an einer bestimmten Verbindung ist durch einen virtuellen Pfadindikator (VPI = Virtual Path Indicator) und eine virtuellen Kanalindikator (VCI = Virtual Channel Indicator) gebildet, die in dem Zellenanfangsblock vorhanden sind. Dieses Etikett bildet die Basis, auf der die Zelle an dem nächsten Netzwerkknoten, auf den sie trifft, geleitet wird. Im ATM-Sprachgebrauch wird eine virtuelle Schaltung im allgemeinen ein „virtueller Kanal" genannt, und die VPI-Felder kann man sich als das Identifizieren einer Gruppe virtueller Kanäle auf einer Verbindung vorstellen, während der VCI einen bestimmten, virtuellen Kanal in dieser Gruppe identifiziert.
  • Die ATM-Technik trifft auf steigende Popularität, da sie einen akzeptablen Kompromiss beim Kombinieren von Rechtzeitigkeitscharakteristika (normalerweise Schaltungsschalttechniken zugeordnet) und statischem Vorteil (Paketschaltungstechniken zugeordnet) anbieten kann. Der ATM stellt eine einzelne Übertragungsmodustechnik zum Tragen aller Verkehrstypen in Aussicht, einschließlich Stimme, Unterhaltungsdienste oder Computerverkehr. Diese Verwendungsflexibilität wird durch Anbieten verschiedener Dienstqualitäten (QOS = qualities of service) für den Benutzer verfügbar gemacht, wobei die ausgewählte QOS dann an dem virtuellen Kanal angebracht wird, der für die Kommunikation verwendet wird. Die zwei Haupttypen von QOS sind:
    eine „Beste-Bemühungen"-QOS, wo das ATM-System sein bestes tut, um Zellen des von dem virtuellen Kanal betroffenen Gegenstands an erste Erfüllungs-Prioritätsdienste zu liefern – anders ausgedrückt gibt das System keine Garantie im Hinblick auf die Lieferrate;
    eine „Garantierte-Bandbreite"-QOS, wo das ATM-System dem betroffenen, virtuellen Kanal eine gewisse Bandbreite garantiert. Diese Garantie ist im allgemeinen nicht fest – anders ausgedrückt soll der Ausdruck „garantierte Bandbreite" einen Diensttyp anzeigen, der angeboten wird, wobei er normalerweise eine bestimmte Übertragungsbandbreite liefert, und nicht bedeutet, dass die Liefereinrichtung des technischen Dienstes den Dienstpegelgegenstand der Garantie immer einhält.
  • Wenn mehrere virtuelle Kanäle mit garantierter Bandbreite gleichzeitig über dieselbe Verbindung arbeiten, wird es notwendig, eine Art von Planung zwischen Kanälen zu bewirken, die Zellen zum Übertragen aufweisen; eine Anzahl von Planungsanordnungen ist bekannt, die einen einfachen Lösungsansatz mit zyklischer Zuordnung, wo jeder Kanal in strikter Rotation verwendet wird, einschließen.
  • Es ist ferner notwendig, sicherzustellen, dass ein Kanal verfügbare Bandbreite nicht zu einem Pegel über seiner Garantie einnimmt, und zu diesem Zweck ist es bekannt, eine Verkehrsformgebung zu bewirken, die die Übertragungsrate eines Kanals einschränkt. Viele der Schemen zum Bewirken einer Verkehrsformgebung verwenden einen sogenannten „Leckeimer"-Algorithmus (Leaky-Bucket-Algorithmus), durch den Übertragungskredite mit einer gleichmäßigen Rate aufgebaut werden und die Kredite dann konsumiert werden, wenn die Zellen gesendet werden. Durch Plazieren einer maximalen Größe an dem Krediteimer, kann an jedem Zellenbündel eine Begrenzung platziert werden, das von der plötzlichen Verfügbarkeit von Zellen für eine Kanal resultiert, auf dem sich für einige Zeit Kredit aufgebaut hat.
  • Es ist möglich, Planen und Verkehrsformen zu kombinieren. Gemäß einem bekannten Lösungsansatz ist eine Ringliste fester Größe bereitgestellt, und jeder Kanal wird ein oder mehrere Male in feste Positionen in der Liste eingefügt; ein abwechselndes Nehmen jedes Listeneintrags liefert sowohl eine Planung als auch eine feste Bandbreite für jeden Kanal, wobei diese Bandbreite proportional zu der Anzahl von Malen ist, die ein Kanal in der Liste vorhanden ist. Diesem Lösungsansatz fehlt jedoch Flexibilität.
  • Bei einem anderen Lösungsansatz, beschrieben in der EP-A-0690596, veröffentlicht am 03.01.1996, wird wiederum eine zirkuläre Liste mit fester Größe verwendet, um in ihren Schlitzen die Identität (die durch eine virtuelle Kanalnummer oder „VCN" spezifiziert wird) jedes Kanals zu halten, auf dem Zellen gesendet werden; die Zuordnung von VCNs zu einem Schlitz ist jedoch nicht dauerhaft, sondern ändert sich dynamisch. Genauer gesagt wird in der Operation die Liste Schlitz für Schlitz weiterbewegt und jede angetroffene VCN wird verarbeitet, um die Übertragung einer Zelle für den entsprechenden virtuellen Kanal zu verursachen. Gleichzeitig wird die Liste aktualisiert, durch Freigeben des aktuellen Schlitzes und Wiedereinfügen von jeder VCN in die Liste, die den Schlitz belegt hat, wenn diese VCN sich auf einen virtuellen Kanal mit einer anderen Zelle zum Übertragen bezieht. Diese Einfügung wird in einem Versatz von dem Schlitz verursacht, der vorangehend durch die VCN belegt wurde, abhängig von der Übertragungsrate, die für den betroffenen virtuellen Kanal erforderlich ist (und gemäß einem Konfliktlösungsverfahren). Während dieser Lösungsansatz flexibler ist als der vorangehend Beschriebene, hat die Verwendung eines Versatzes eines festen Werts die Wirkung, dass nur bestimmte Übertragungsraten erreicht werden können – z. B. belegt ein Kanal mit einem Versatz von zwei Schlitzen die Hälfte einer verfügbaren Bandbreite, während bei einem Versatz von Eins derselbe die gesamte Bandbreite belegt (angenommen, dies ist erlaubt).
  • Die EP-A-596,624 bezieht sich auf Breitband-Hochgeschwindigkeits-Paketnetzwerke basierend auf dem Standard des asynchronen Übertragungsmodus. Der Kommunikationsverkehr wird abgesondert gemäß bestimmten Signalcharakteristika und in separaten Warteschlangenschaltungen gespeichert, zur Lieferung zu einer einzelnen Ausgangsleitung unter der Steuerung einer Multiplexschaltung. Die Abtrennung basiert darauf, ob der Kommunikationsverkehr mit hoher oder niedriger Bandbreite erfolgt. Ein bestimmter Bandbreitenbetrag ist garantiert. Während eines zugeordneten Zeitschlitzes ist es einer entsprechenden Warteschlangenschaltung durch die Multiplexschaltung erlaubt, eine vorbestimmte Anzahl von Zellen zu leeren, die in der Warteschlangenschaltung gespeichert sind, auf eine Ausgabeleitung auf dem Netzwerknoten.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine feinere Steuerung von Übertragungsraten zu ermöglichen, als es bei den oben erwähnten Anordnungen möglich ist. Diese Aufgabe wird durch die entsprechenden Verfahren gemäß den unabhängigen Ansprüchen und durch eine Vorrichtung gemäß Anspruch 12 gelöst.
  • Zusammenfassung der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Steuern der Übertragungsrate von Zellen auf eine Verknüpfung geschaffen, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind und auf die Verknüpfung in jeweiligen Übertragungszeitschlitzen gemäß einem Übertragungsplan übertragen werden, der Übertragungszeitschlitze und virtuelle Kanäle zuordnet; wobei das Verfahren folgende Schritte aufweist:
    • (a) Bereitstellen eines Übertragungsratenindikators für jeden virtuellen Kanal, der einen festen ganzzahligen Teil, einen festen Bruchteil und einen variablen Akkumulationsteil aufweist;
    • (b) jedes Mal wenn eine Zelle auf der Verknüpfung im Hinblick auf einen bestimmten virtuellen Kanal gemäß dem Übertragungsplan übertragen wird, Bestimmen, für diesen virtuellen Kanal, zumindest in dem Fall, dass eine andere Zelle zum Senden auf diesem Kanal verfügbar ist, eines gewünschten nächsten Zeitschlitzes zum Übertragen einer Zelle für den Kanal, wobei der gewünschte nächste Zeitschlitz im Hinblick auf seinen Versatz bestimmt wird, in Schlitzen, von dem aktuellen Zeitschlitz, wobei diese Bestimmung folgendes umfasst:
    • – Zusammenaddieren der drei Teile des Übertragungsratenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente und einem Bruchteilrest zu erzeugen;
    • – Verwenden der ganzzahligen Komponente des Ergebnisses als den Versatz; und
    • – Speichern des Bruchteilrests als die Akkumulationsteile des Übertragungsratenindikators für den betreffenden virtuellen Kanal; und
    • (c) Aktualisieren des Übertragungsplans durch Verwenden des Versatzes, der bei Schritt (b) bestimmt wird, beim Bestimmen des nächsten Zeitschlitzes, in dem eine Zelle für den betreffenden virtuellen Kanal übertragen werden soll, und dann Zuordnen dieses Zeitschlitzes zu dem Kanal.
  • Als ein Ergebnis dieses Lösungsansatzes ist es möglich, eine feinere Steuerung der Übertragungsrate zu erreichen. Somit z. B., wenn es erwünscht ist, zwei Drittel der Verknüpfungsbandbreite zu einem bestimmten virtuellen Kanal zuzuordnen, kann dies durchgeführt werden durch Einstellen des ganzzahligen Teils des Übertragungsratenindikators auf Eins und des Bruchteils auf ein Halb; der Schlitzversatzwert wechselt dann zwischen Eins und Zwei, so dass für jeweils drei Zeitschlitze zwei für den betroffenen virtuellen Kanal verwendet werden.
  • Vorzugsweise werden der ganzzahlige und der Bruch-Teil jedes Übertragungsratenindikators direkt als Zahlen gespeichert, die ganze bzw. Teil-Zeitschlitze darstellen. Es ist jedoch ebenfalls möglich, den ganzzahligen und den Bruch-Teil zusammen in der Form einer Zahl zu speichern, die die Übertragungsrate darstellt, die sie erreichen soll, wobei diese Zahl in Einheiten und Bruchteile von Zeitschlitzen umgewandelt wird, wenn der Schlitzversatz bestimmt wird.
  • Bei Schritt (c) sollte der Schlitz, der durch den Versatz angezeigt wird, der bei Schritt (b) bestimmt wird, bereits einem Kanal zugeordnet sein, dann wird in ein Konfliktlösungsverfahren eingetreten (z. B. kann einfach der nächste freie Schlitz genommen werden oder ein komplexeres Verfahren basierend auf Prioritäten kann verwendet werden, die den Kanälen vorab zugeordnet werden).
  • Die vorliegende Erfindung umfasst ferner die Bereitstellung einer Vorrichtung, die das vorangehende Verfahren implementiert. Insbesondere wird gemäß der vorliegenden Erfindung eine Vorrichtung zum Übertragen eines Stroms aus Zellen auf eine Verknüpfung geschaffen, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, wobei jeder derselben in der Vorrichtung durch einen entsprechenden Virtueller-Kanal-Identifizierer identifiziert wird, hierin „VCN"; wobei die Vorrichtung einen Planer umfasst, zum Planen der Übertragung von Zellen jedes virtuellen Kanals, wobei der Planer folgende Merkmale aufweist:
    • – eine Speicherungseinrichtung zum Speichern, für jeden virtuellen Kanal, eines Übertragungsraten indikators, der einen festen ganzzahligen Teil, einen festen Bruchstückteil und einen variablen Akkumulationsteil aufweist;
    • – eine Listeneinrichtung zum Beibehalten einer Liste mit einer Zahl von Eingangsschlitzen, wobei jeder derselben in der Lage ist, einen einzelnen VCN zu speichern, wobei die Liste die VCNs der virtuellen Kanäle mit Zellen zum Übertragen enthält;
    • – eine Steuerungseinrichtung zum Fortschreiten durch die Liste Schlitz für Schlitz, und, wenn ein VCN in dem aktuellen Schlitz von Interesse gefunden wird, ansprechen darauf, durch Übertragen einer Zelle des entsprechenden virtuellen Kanals, wobei die Steuerungseinrichtung ferner wirksam ist, um den VCN, falls vorhanden, in dem aktuellen Schlitz von Interesse zu entfernen und den VCN in einen Schlitz wiedereinzufügen, der vorwärts von dem aktuellen Schlitz um einen vorbestimmten Versatzbetrag versetzt ist, wobei die Steuerungseinrichtung eine Bestimmungseinrichtung umfasst, zum Bestimmen des Versatzbetrags, wobei die Bestimmungseinrichtung folgende Merkmale aufweist:
    • – eine Einrichtung zum Zusammenaddieren der drei Teile des Übertragungsratenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente und einem Bruchteilrest zu erzeugen;
    • – eine Einrichtung zum Einstellen des Versatzbetrags abhängig von der ganzzahligen Komponente des Ergebnisses; und
    • – eine Einrichtung zum Speichern des Bruchteilrests zurück in die Speicherungseinrichtung als den Akkumulationsteil des Übertragungsratenindikators für den betreffenden virtuellen Kanal; wobei die Steuerungseinrichtung ferner eine Konfliktlösungseinrichtung umfasst, zum Lösen von Konflikten, die aus dem Schlitz entstehen, der von dem aktuellen Schlitz um den vorbestimmten Versatz versetzt ist, der bereits durch einen VCN belegt ist.
  • Dasselbe allgemeine Konzept kann ferner an eine Krediterzeugung in Systemen angewendet werden, wo die Zellenübertragung von der Verfügbarkeit eines Übertragungskredits für den betreffenden virtuellen Kanal abhängig ist; in diesem Fall kann die Rate der Krediterzeugung auf eine Weise ähnlich zu der gesteuert werden, die oben für das Steuern der Zellenübertragungsrate offenbart ist. Somit wird gemäß einem weiteren Aspekt der vorliegenden Erfindung ein Verfahren zum Steuern der Übertragungsratenkrediterzeugung in einem System geschaffen, in dem Zellen, die einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, auf eine Verknüpfung in jeweiligen Zeitschlitzen übertragen werden, wobei die Übertragung von Zellen für einen bestimmten virtuellen Kanal von der Verfügbarkeit der Übertragungskredite für den Kanal abhängig ist; wobei das Verfahren folgende Schritte aufweist:
    • (a) Bereitstellen eines Krediterzeugungsratenindikators für jeden virtuellen Kanal, der einen festen ganzzahligen Teil, einen festen Bruchstückteil und einen variablen Akkumulationsteil aufweist;
    • (b) Beibehalten einer Liste mit Eingangsschlitzen zum Speichern von Identifizierern der virtuellen Kanäle, denen ein Kredit zugeordnet werden soll; und
    • (c) Fortschreiten durch die Liste mit einer vorbestimmten Schlitzrate, und jedes Mal, wenn der Identifizierer angetroffen wird, Erhöhen des Übertragungskreditpegels des entsprechenden virtuellen Kanals und Wiedereinfügen des Identifizierers in die Liste bei einem Vorwärtsversatz, der gemäß den nachfolgenden Teilschritten bestimmt wird:
    • – Zusammenaddieren der drei Teile des Krediterzeugungsratenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente und einem Bruchteilrest zu erzeugen;
    • – Verwenden der ganzzahligen Komponente des Ergebnisses, um den Versatz einzustellen; und
    • – Speichern des Bruchteilrests als den Akkumulationsteil des Krediterzeugungsratenindikators für den betreffenden virtuellen Kanal; wobei ein Konfliktlösungsverfahren in dem Fall ausgeführt wird, dass die Position in der Liste, die durch den Vorwärtsversatz angezeigt wird, bereits besetzt ist.
  • Es ist ebenfalls möglich, die Rate der Krediterzeugung zu steuern, nicht durch Variieren des Intervalls zwischen den Krediterzeugungsereignissen, sondern durch Variieren der Größe des Kreditinkrements bei jedem solchen Ereignis. Somit wird gemäß einem wiederum weiteren Aspekt der vorliegenden Erfindung ein Verfahren zum Steuern der Übertragungsratenkrediterzeugung in einem System geschaffen, in dem Zellen, die einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, auf eine Verknüpfung in den jeweiligen Zeitschlitzen übertragen werden, wobei die Übertragung von Zellen für einen bestimmten virtuellen Kanal abhängig ist von der Verfügbarkeit der Übertragungs kredite für diesen Kanal; wobei das Verfahren folgende Schritte aufweist:
    • (a) Bereitstellen eines Kreditinkrementgrößenindikators für jeden virtuellen Kanal, der einen festen ganzzahligen Teil, einen festen Bruchstückteil und einen variablen Akkumulationsteil aufweist; und
    • (b) in regelmäßigen Intervallen, Inkrementieren des Übertragungskreditpegels jedes virtuellen Kanals um einen jeweiligen Inkrementbetrag, der für diese Inkrementierungsoperation gemäß den nachfolgenden Teilschritten bestimmt wird:
    • – Zusammenaddieren der drei Teile des Kreditinkrementgrößenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente und einem Bruchteilrest zu erzeugen;
    • – Verwenden der ganzzahligen Komponente des Ergebnisses, um den Inkrementbetrag einzustellen; und
    • – Speichern des Bruchteilrests als den Akkumulationsteil des Kreditinkrementgrößenindikators für den betreffenden virtuellen Kanal.
  • Allgemeiner ausgedrückt kann die vorliegende Erfindung als ein Verfahren ausgedrückt werden zum Regeln der Übertragung von Zellen auf eine Verknüpfung, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, wobei das Verfahren folgende Schritte aufweist:
    • (a) Bereitstellen eines Elements aus Steuerungsdaten für jeden virtuellen Kanal, das einen festen ganzzahligen Teil, einen festen Bruchteil und einen variablen Akkumulationsteil aufweist;
    • (b) wiederholtes Bestimmen einer Steuerungsnummer für jeden virtuellen Kanal, wobei diese Bestimmung folgendes umfasst:
    • – Zusammenaddieren der drei Teile des Steuerungsdatenelements für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente und einem Bruchteilrest zu erzeugen;
    • – Verwenden der ganzzahligen Komponente des Ergebnisses, um die Steuerungszahl einzustellen; und
    • – Speichern des Bruchteilrests als den Akkumulationsteil des Steuerungsdatenelements für den betreffenden virtuellen Kanal; und
    • (c) Regeln der Zellenübertragung für den betreffenden virtuellen Kanal gemäß dem Wert der Steuerungszahl, die bei Schritt (b) für diesen virtuellen Kanal bestimmt wird.
  • Kurze Beschreibung der Zeichnungen
  • Ein Planer mit garantierter Bandbreite, der die Erfindung verkörpert und zum Planen der Übertragung von Zellen virtueller Kanäle mit garantierter Bandbreite vorgesehen ist, wird nun genauer mittels eines nicht einschränkenden Beispiels Bezug nehmend auf die beiliegenden, diagrammatischen Zeichnungen beschrieben. Es zeigen:
  • 1 ein Funktionsblockdiagramm eines Planers zum Planen der Übertragung von Zellen von einem Hostsystem auf eine Verbindung über eine Sendeschnittstelle;
  • 2 ein Funktionsblockdiagramm eines Planerblockes mit garantierter Bandbreite des Planers von 1;
  • 3 ein Zustandsübertragungsdiagramm, das die Zustände eines virtuellen Kanals zeigt, wie er durch den Planer von 1 verwaltet wird; und
  • 4 ein Flussdiagramm, das die Operation eines Listeneintragsprozessors des Planers mit garantierter Bandbreite von 2 darstellt.
  • 5 ein Diagramm eines Übertragungsratenindikators ist, der für jeden virtuellen Kanal beibehalten wird, wobei der Übertragungsratenindikator durch den Listeneintragsprozessor verwendet wird, um die Zellenübertragungsrate für den betreffenden virtuellen Kanal zu steuern.
  • Bester Modus zum Ausführen der Erfindung
  • Der Garantierte-Bandbreite-Planer, der nun Bezug nehmend auf 1 bis 4 beschrieben werden soll, bildet den Gegenstand der EP-A-0690596. Die Anwendung der vorliegenden Erfindung an diesen Planer wird Bezug nehmend auf 5 beschrieben.
  • 1 zeigt ein Hostsystem 10, das angeordnet ist, um ATM-Zellen zu übertragen, die einer Mehrzahl verschiedener virtueller Kanäle auf einer Verbindung 11 zugeordnet sind, über einen Verbindungsadapter, der einen Planer 12 und eine Sendeschnittstelle 13 aufweist.
  • Dienstqualität
  • Das Hostsystem 10 und der Verbindungsadapter 12, 13 sind angeordnet, um virtuelle Kanäle mit drei unterschiedlichen Dienstqualitäten zu handhaben, nämlich:
    eine „Beste-Bemühungen"-Dienstqualität (BE-Dienstqualität; BE = best efforts)-, für die hinsichtlich Bandbreitenverfügbarkeit keine Garantie gegeben ist;
    eine erste „Garantierte-Bandbreite"-Dienstqualität (GBO-Dienstqualität), für die der Planer 12 versucht, eine Übertragung von Zellen mit einer bestimmten Rate abhängig von der Zellverfügbarkeit zu garantieren, wobei für Perioden kein Kredit erlaubt ist, wenn keine Zellen verfügbar sind; und
    eine zweite „Garantierte-Bandbreite"-Dienstqualität (GB1-Dienstqualität), für die der Planer 12 versucht, eine Übertragung von Zellen mit einer bestimmten Rate („Stütz"-Rate) zu garantieren, wenn Zellen kontinuierlich verfügbar sind, aber für die der Planer ferner versucht, Kredit für Perioden zu geben, wenn Zellen nicht verfügbar sind, durch Akkumulieren von Kreditmarken während solcher Perioden und dann, wenn Zellen verfügbar sind, durch Bewirken einer Übertragung mit einer höheren Rate („Spitzen"-Rate) gemäß dem verfügbaren Kredit, bis zu einer vorbestimmten Anzahl von Zellen (der „Bündel"-Grenze).
  • Die vorliegende Erfindung befasst sich mit dem Planen garantierter Bandbreiten virtueller Kanäle (d. h. virtuelle Kanäle mit entweder einer GB0- oder GB1-Dienstqualität) und folglich wird hierin keine detaillierte Beschreibung darüber gegeben, wie virtuelle Beste-Bemühung-Kanäle für eine Übertragung organisiert werden, außer um zu beschreiben, wie ihre Planung für das Planen garantierter Bandbreiten (GB) virtueller Kanäle dienlich gemacht wird.
  • Hinsichtlich der Planung der virtuellen GB-Kanäle wird jedem solchem Kanal ein Prioritätspegel aus einer begrenzten Anzahl von möglichen Pegeln (bei dem vorliegenden Beispiel gibt es drei mögliche Pegel, nämlich Niedrig-, Mittel- und Hochprioritätspegel) zugeordnet. Wie nachfolgend hierin ausführlicher beschrieben wird, werden diese Prioritätspegel verwendet, um das Lösen von Planungskonflikten zu unterstützen.
  • Es ist auf dieser Stufe ferner wert zu erwähnen, dass jeder virtuelle GB-Kanal gestoppt (d. h. unterbrochen und nicht abgebaut) und gestartet werden kann; ferner kann es sein, dass ein virtueller Kanal nicht aktiv läuft, sogar wenn er nicht gestoppt ist, da er vielleicht auf Zellen wartet, um verfügbar zu werden. Alle virtuellen GB-Kanäle werden daher durch den GB-Planer berücksichtigt, um nachfolgend hierin beschrieben zu werden, um drei mögliche Zustände aufzuweisen, nämlich:
    einen STOP-Zustand, in dem der virtuelle Kanal unterbrochen ist;
    einen WAIT-Zustand, in dem der virtuelle Kanal nicht unterbrochen ist, sondern auf die Ankunft von Zellen zum Senden wartet und;
    einen RUN-Zustand, in dem der virtuelle Kanal nicht unterbrochen ist und Zellen zum Senden aufweist.
  • Zusätzlich dazu weisen virtuelle GB-1-Kanäle einen vierten Zustand auf:
    einen AKKUM-Zustand, in dem der virtuelle Kanal nicht unterbrochen ist aber keine Zellen zum Senden aufweist und Kredite akkumuliert, um demselben zu ermöglichen, mit seiner Spitzenrate zu übertragen, wenn Zellen verfügbar sind.
  • Diese Zustände sind in dem Zustandstransaktionsdiagramm von 3 gezeigt, das nachfolgend hierin detaillierter beschrieben wird (das gleiche Diagramm ist für sowohl virtuelle GB0- als auch GB1-Kanäle verwendbar).
  • Allgemeine Anordnung
  • Zurückkehrend zu einer Betrachtung von 1 ist innerhalb des Hostsystems 10 und des Verbindungsadapters jeder virtuelle Kanal durch eine jeweilige virtuelle Kanalnummer (VCN = virtual channel number) identifiziert.
  • Das Hostsystem 10 ist verantwortlich für das Steuern des Aufbaus und Abbaus virtueller Kanäle. Für jeden virtuellen Kanal speichert das Hostsystem 10 die Zellen, die in einen Zellspeicher 14 übertragen werden sollen, und erhält eine jeweilige Warteschlange von Zellzeigern für diese Zellen in einem Warteschlangenblock 15. Wenn der Warteschlangenblock 15 mit einem VCN aufgefordert wird, nimmt er den Anfangsblockzeiger aus der Warteschlange von Zellzeigern für den virtuellen Kanal, der durch diesen VCN identifiziert wird, und verwendet den Zeiger, um auf die entsprechende Zelle in dem Speicher 14 zuzugreifen. Diese Zelle wird dann auf einen Bus 17 ausgegeben.
  • Das Hostsystem 10 hält den Planer 12 auf dem laufenden darüber, welche virtuellen Kanäle aktuell existieren, ob sie gestoppt wurden oder nicht, und wann mehr Zellen für einen virtuellen Kanal verfügbar werden, der vorher Zellen erwartete. Diese Informationen werden unter Verwendung von Befehlen übertragen, die über eine Befehlschnittstelle 18 weitergeleitet werden. Für virtuelle GB-Kanäle sind diese Befehle beinhaltet:
    GBSETUP – benachrichtigt den Planer eines neuen virtuellen Kanals und übermittelt ihm die relevanten Dienstqualitätsparameter für den Kanal;
    GBSTART – aktiviert die Übertragung für einen spezifizierten, virtuellen Kanal;
    GBSTOP – deaktiviert (stoppt) die Übertragung für einen spezifizierten, virtuellen Kanal;
    GBCELLS – benachrichtigt den Planer, dass mehr Zellen für eine Übertragung verfügbar wurden;
    GBRESET – entfernt einen virtuellen Kanal effektiv von dem Planer.
  • Ähnliche Befehle existieren ferner für virtuelle BE-Kanäle; in der Tat sind die Befehle im allgemeinen die gleichen, außer für die Inhalte des SETUP-Befehls. Da sich die vorliegende Beschreibung jedoch mit virtuellen GB-Kanälen befasst, werden die Befehle für BE-Kanäle nicht weiter berücksichtigt.
  • Der Planer 12 ist verantwortlich für das Bestimmen der Identität des virtuellen Kanals, für den eine Zelle als nächstes auf der Verbindung 11 übertragen werden soll. Der Planer 12 identifiziert den virtuellen Kanal, um die Schnittstelle 13 durch Weiterleiten des VCN des virtuellen Kanals über die Verbindung 19 zu senden.
  • Die Sendeschnittstelle 13 verwendet diesen VCN, um auf den Warteschlangenblock 15 des Hostsystems 10 über eine Verbindung 16 zuzugreifen, was zu der Ausgabe der nächsten Zelle auf dem Bus 17 führt, die auf dem betreffenden virtuellen Kanal gesendet werden soll. Die Sendeschnittstelle überträgt dann die Zelle, die über Bus 17 empfangen wurde, auf die Verbindung 11. Wenn keine Zellen mehr für den betreffenden virtuellen Kanal verfügbar sind, wird dies durch den Warteschlangenblock 15 an die Sendeschnittstelle 13 angezeigt, und die Sendeschnittstelle 13 informiert wiederum den Planer 12 über Leitung 20.
  • Der Planer 12
  • Als nächstes wird der Planer 12 detaillierter betrachtet, was einen VC-Parameterspeicher 24 zum Speichern von Dienstqualitätsparametern jedes virtuellen GB-Kanals umfasst, die durch den GBSETUP-Befehl an den Planer berichtet werden und durch den GBRESET-Befehl noch nicht entfernt wurden. Details dieser Parameter werden nachfolgend hierin Bezug nehmend auf 3 gegeben.
  • Der Hauptfunktionsblock des Planers 12 ist ein Planerblock 25 mit garantierter Bandbreite (GB), der wirksam ist, um zu bestimmen, auf welchem virtuellen GB-Kanal, falls vorhanden, eine Zelle in einer aktuellen Zellübertragungsperiode übertragen werden sollte. Die Zellperiodenzeitgebung wird für den Planer 12 durch einen Zeitgeber 26 bestimmt. Die Schlüsselelemente des GB-Planerblocks 25 sind eine Ringliste oder Tabelle 27, die eine vorbestimmte Anzahl von Eintragssteckplätzen enthält, wobei jeder in der Lage ist, eine einzelne VCN zu halten und einen Aktueller-Schlitz-Verfolger 28, der den Listeneintragsschlitz verfolgt, der aktuell von Interesse ist. Der Aktueller-Schlitz-Verfolger wird beim Start jeder Zellübertragungsperiode weiterbewegt, um auf den nächsten Eintragsschlitz der Liste 27 zu zeigen. Jeder virtuelle GB-Kanal mit einer Zelle zum Senden weist einen VCN auf, der in einen jeweiligen Eintragsschlitz der Liste 27 eingefügt ist, wobei nur ein Eintrag pro virtuellen Kanal vorhanden ist. Wenn jeder Tabelleneintragsschlitz zu dem aktuellen Schlitz wird, wenn er den VCN eines virtuellen Kanals mit Zellen zum Senden enthält, dann wird dieser VCN von dem Planer 12 zu der Sendeschnittstelle 13 ausgegeben, um zu verursachen, dass eine Zelle auf diesem virtuellen Kanal gesendet wird; zur gleichen Zeit wird der VCN um eine Anzahl von Steckplätzen vorwärts in der Tabelle bewegt, abhängig von der Übertragungsratengarantie, wie hierin nachfolgend detaillierter beschrieben wird.
  • Wenn der aktuelle Schlitz der Tabelle 27 nicht den VCN eines virtuellen Kanals mit Zellen zum Senden enthält, dann wird der Planer angeordnet, um das Senden einer Zelle auf einem virtuellen BE-Kanal zu verursachen. Dies wird durch Aktivieren eines Beste-Bemühung-Organisatorblocks 30 für die relevante Zellübertragungsperiode implementiert, wobei dieser Block den virtuellen BE-Kanal bestimmt, auf dem eine Zelle gesendet werden soll, und den VCN dieses Kanals an die Sendeschnittstelle 13 ausgibt.
  • Ein Befehlsprozessorblock 31 ist in dem Planer 12 von größerer Priorität als der GB-Planerblock 25. Wenn ein Befehl auf das Verarbeiten wartet, dann wird die nächste (oder mehr) Zellperiode in dem Planer 12 für diese Verarbeitung reserviert: die betroffenen Zellperioden sind daher keine Zellübertragungsperioden und der Aktueller-Schlitz-Verfolger 28 in dem GB-Planerblock 25 wird dementsprechend nicht weiterbewegt.
  • Ein Hauptsteuerblock 33 bestimmt, welcher der drei Blöcke 31, 25, 30 (Befehlsprozessor 31, GB-Planerblock 25, Beste-Bemühung-Organisator 30) in jeder Zellperiode aktiv ist. Somit bestimmt der Hauptsteuerblock 33 an dem Start jeder Zellperiode (Indikator durch den Hauptzeitgeber 26), ob ein Befehl auf das Verarbeiten durch den Befehlsprozessor 31 wartet – siehe Block 34 des kleinen Flussdiagramms, das innerhalb von Block 33 in 1 enthalten ist. Wenn ein Befehl auf das Verarbeiten wartet, wird der Befehlsprozessor 31 für die aktuelle Zellperiode aktiviert. Wenn jedoch kein Befehl auf das Verarbeiten wartet, verursacht der Hauptsteuerblock 33, dass der Aktueller-Schlitz-Verfolger 28 einen Schlitz in der Liste 27 (Kasten 35) weiterbewegt wird; nachfolgend wird die Steuerung an den GB-Planer 25 übergeben, wenn der neue, aktuelle Schlitz besetzt ist, ansonsten wird die Steuerung an den Beste-Bemühung-Organisator 30 weitergegeben (Kasten 36).
  • Die Komponenten für den GB-Planer 25
  • 2 zeigt die Struktur des GB-Planers 25 detaillierter. Zusätzlich zu der Ringliste 27 und dem Aktueller-Schlitz-Verfolger 28 weist der GB-Planer 25 einen Listeneintragsprozessor 40 und einen Listenaktualisierungsblock 41 auf.
  • Der Planer 25 kann ferner konzeptionell derart betrachtet werden, dass er den VC-Parameterspeicher 24 umfasst, zumindest insofern, dass Letzterer Daten auf virtuellen GB-Kanälen hält. Bei jedem virtuellen GB-Kanal behält der Speicher 24 einen Eintrag 42 bei, auf den durch Verwendung des VCN des betroffenen virtuellen Kanals zugegriffen werden kann. Jeder GB-Eintrag 42 weist die folgenden Felder auf:
    ON/OFF – dies ist ein Flag-Feld, das durch den Befehlsprozessor 31 auf 0 („OFF") eingestellt wird, um den betroffenen virtuellen Kanal zu stoppen.
    PRIORITY – dieses Feld zeigt den Prioritätspegel (niedrig, mittel oder hoch) des virtuellen GB-Kanals an;
    STATE – dieses Feld zeigt den aktuellen Zustand des virtuellen Kanals an (STOP, WAIT, RUN und für GB1-Kanäle ACCUM);
    NO-CELLS – dieses Feld wird verwendet, um anzuzeigen, ob Zellen auf eine Übertragung für einen virtuellen Kanal warten;
    GBTYPE – zeigt an, ob der virtuelle Kanal vom Typ GB0 oder GB1 ist;
    PEAK RATE – dieses Feld enthält die Spitzenratenparameter (PRP = peak rate parameter), die die Übertragungsrate für virtuelle GB0-Kanäle und für GB1-Kanäle mit verfügbaren Kredit bestimmen;
    PRM – dieses Feld spezifiziert, wie das PRP-Feld interpretiert werden sollte (anwendbar wenn mehr als ein Format zum Spezifizieren der Spitzenrate verfügbar ist);
    SUSTAIN RATE – dieses Feld enthält die Stützratenparameter (SRP = sustain rate parameter), die die Übertragungsrate für virtuelle GB1-Kanäle bestimmen, die keinen Kredit zum Senden bei ihren Spitzenraten aufweisen; der SRP bestimmt ferner die Rate, mit der ein Kredit durch einen virtuellen GB1-Kanal akkumuliert werden kann, der auf Zellen zum Senden wartet;
    SRM – dieses Feld spezifiziert, wie der SRP interpretiert werden sollte (anwendbar, wenn mehr als ein Format zum Spezifizieren der Stützrate verfügbar ist);
    CREDIT – dieses Feld wird verwendet, um eine Zählung des Kredits zu erhalten, der durch einen virtuellen GB1-Kanal akkumuliert wird, während derselbe auf eine Zelle zum Senden wartet;
    BURST TOL – dieses Feld spezifiziert die Bündeltoleranz (BT = Burst Tolerance) eines virtuellen GB-Kanals, d. h., die maximale Anzahl von Zellen, die ein virtueller GB1-Kanal folglich bei Spitzenrate senden kann.
  • Jeder Eintrag 42 wird ansprechend auf einen GBSETUP-Befehl erzeugt, der durch den Befehlsprozessor 31 empfangen wird, und wird ansprechend auf einen GBRESET-Befehl entfernt, der durch den Befehlsprozessor 31 empfangen wird. Während der Aktualität eines virtuellen GB-Kanal sind die Felder ON/OFF, STATE und NO-CELLS durch den Befehlsprozessor 31 und/oder den Listeneintragsprozessor 40 modifizierbar.
  • Bezug nehmend auf die Ringliste 27 wird die Größe (Anzahl von Steckplätzen N) dieser Liste auf die minimale Übertragungsrate bezogen, die unterstützt werden soll. Dies liegt daran, dass der virtuelle Kanal (d. h. sein VCN) nach dem Verarbeiten des Eintrags zu einem neuen Schlitz in der Liste bewegt wird, und von dem aktuellen Schlitz um einen Betrag versetzt wird, der von der erforderlichen Übertragungsrate für den Kanal abhängt, wenn der aktuelle Schlitz einen gültigen Eintrag bezüglich eines virtuellen GB-Kanals mit Zellen zum Senden enthält; die maximale Verschiebung zwischen dem Auftreten eines VCN entspricht daher der Größe N der Liste. Folglich ist die minimal unterstützbare Übertragungsrate (1/N) mal die Verbindungsübertragungsrate, was folgendes ergibt:
  • Figure 00220001
  • Die Liste 27 sollte z. B. für eine SONST OC3c-Verbindung (Übertragungsrate 149,76 Mbps) und eine minimale Übertragungsratenanforderung von 64 kbps 2340 Steckplätze aufweisen.
  • In 2 ist bei 44 das Format eines Listenschlitzeintrages gezeigt. Wie ersichtlich ist, weist ein Eintrag 44 zwei Felder auf, nämlich ein Typenfeld und ein Feld, das den VCN des virtuellen Kanals enthält, auf den sich der Eintrag bezieht. In der Tat enthält jeder Schlitz einen Eintrag, aber nur jene mit einem Typenfeld und einem anderen Wert als „00" werden als besetzt betrachtet – wenn das Typenfeld „00" ist wird angenommen, dass der Schlitz „frei" ist, und das VCN-Feld ungültig. Andere Werte des Typs als „00" werden verwendet, um den Prioritätspegel des virtuellen Kanals zu spezifizieren, der durch das VCN-Feld angezeigt wird („01" zeigt niedrige Priorität an, „10" zeigt mittlere Priorität an und „11" zeigt hohe Priorität an).
  • Der Listenaktualisierungsblock 41 dient zum Einfügen eines virtuellen Kanals (identifiziert durch seinen VCN) in die Liste 27 auf Anfrage entweder des Befehlsprozessors 31 oder des Listeneintragsprozessors 40. Diese Einfügung wird durch einen Versatz von dem aktuellen Listenschlitz bewirkt, abhängig von der Übertragungsrate des betroffenen Kanals, wobei die Rate durch den Spitzenratenparameter PRP für virtuelle GB0-Kanäle und entweder den Spitzenratenparameter PRP oder den Stützratenparameter SRP für virtuelle GB1-Kanäle spezifiziert wird (in dem letzteren Fall wird die geeignete Rate durch die Anfrageentität identifiziert).
  • Der Aktualisierungsblock 41 weist drei Funktionselemente auf, nämlich ein Anfangsziel-Bestimmungselement 45, ein Einfügen-Wenn-Frei-Element 46 und ein Konfliktlösungselement 47. Das Anfangsziel-Bestimmungselement 45 bestimmt, in welchen Schlitz (den Zielschlitz) der VCN eingefügt werden sollte, um den Versatz von dem aktuellen Schlitz geeignet für die Übertragungsrate anzugeben, die durch den Ratenpa rameter spezifiziert wird, der in der Anfrage an den Aktualisierungsblock 41 identifiziert wird. Das Einfügen-Wenn-Frei-Element 46 überprüft dann diesen Zielschlitz, und wenn dieser frei ist (wie durch den Typenparameter seines Eintrags 44 angegeben wird), wird ein gültiger Eintrag in diesen Schlitz gemacht. Dies wird durch Einstellen des Typenfeldes durchgeführt, um den geeignete Prioritätspegel für das VCN-Feld anzuzeigen, und durch Einfügen des VCN in das VCN-Feld. Wenn der Zielschlitz jedoch bereits durch einen gültigen VCN-Eintrag (einen „Treffer") besetzt ist, wird das Konfliktlösungselement 47 aktiviert. Dieses Element 47 vergleicht die Prioritätspegel, die dem besetzenden VCN-Eintrag und der VCN zugeordnet sind, der eine Einfügung erfordert. Wenn Letzterer einen höheren Prioritätspegel aufweist, wird derselbe in den Schlitz eingefügt, und der vorangehend besetzte Eintrag wird nun zu dem VCN, der eine Einfügung erfordert; ansonsten bleibt der besetzende Eintrag ungestört und der ursprüngliche VCN, der eine Einfügung erfordert, bleibt der VCN, der eine Einfügung erfordert. Das Konfliktlösungselement 47 leitet dann der VCN, der die Einfügung erfordert, zurück zu dem Einfügen-Wenn-Frei-Element 46, aber mit einem neuen, spezifizierten Zielschlitz, wobei dieser neue Zielschlitz der um Eins inkrementierte, vorangehende Zielschlitz ist. Das Verarbeiten durch die Elemente 46 und 47 wird dann abwechselnd bewirkt, bis ein freier Eintrag gefunden wird, in dem der VCN, der eingefügt werden soll, platziert werden kann, ohne eine Operation des Konfliktlösungselements 47 auszulösen.
  • Die Steuerung der Operation des GB-Planers 25 wird durch den Listeneintragsverarbeiter 40 bewirkt. Diese Operation wird in dem nächsten Abschnitt beschrieben.
  • Operation des GB-Planers
  • Die Operation des GB-Planers 25 wird nun Bezug nehmend auf das VC-Zustandsübergangsdiagramm von 3 und das Flußdiagramm von 4 beschrieben, wobei Letzteres die sequen tielle Steuerung von Operationen zeigt, die durch den Listeneintragsprozessor 40 bewirkt werden.
  • Die Auswirkung der GB-bezogenen Befehle auf dem GB-Planer werden zuerst berücksichtigt.
  • Wenn ein GBSETUP-Befehl durch den Befehlsprozessor 31 empfangen wird, um einen neuen, virtuellen Kanal aufzubauen, wird in dem VC-Parameterspeicher 24 ein VC-Eintrag gemacht, wobei das ON/OFF-Flag auf OFF eingestellt ist, der Zustand des virtuellen Kanals auf STOP eingestellt ist und der Parameter NO-CELLS auf wahr eingestellt ist; wenn der betroffene Kanal ein virtueller GB1-Kanal ist, ist sein Kreditbetrag auf den Bündelgrenzwert BT eingestellt. Zu dieser Zeit wird in die Liste 27 kein Eintrag für den virtuellen Kanal gemacht.
  • In der Folge wird ein GBSTART-Befehl für den virtuellen Kanal empfangen. Diesem Befehl kann ein GBCELLS-Befehl vorangehen, der verursacht, dass der NO-CELLS-Parameter auf falsch eingestellt wird. Wenn Zellen verfügbar sind, führt das Empfangen des GBSTART-Befehls durch den Befehlsprozessor dazu, dass der Zustand des virtuellen Kanals auf RUN geändert wird, und dass der Aktualisierungsblock 41 durch den Befehlsprozessor 31 angefordert wird, um den virtuellen Kanal bei Spitzenratenversatz in die Liste 27 einzufügen. Andererseits wird der Zustand des Kanals einfach auf WAIT eingestellt, wenn keine Zellen verfügbar sind, wenn der GBSTART-Befehl empfangen wird.
  • Wenn der GBCELLS-Befehl empfangen wird, wenn sich der virtuelle Kanal in seinem WAIT-Zustand befindet, stellt der Befehlsprozessor 31 den NO-CELLS-Parameter auf FALSE, ändert den Zustand des virtuellen Kanals auf RUN und fordert den Aktualisierungsblock 41 an, um den virtuellen Kanal bei Spitzenratenversatz in die Liste 27 einzufügen. Der GBCELLS-Befehl wird empfangen, wenn sich der virtuelle Kanal (in diesem Fall ein GB1-Kanal) in seinem ACCUM- Zustand befindet, der Befehlsprozessor 31 stellt den NO-CELLS-Parameter auf FALSE und ändert den Zustand des virtuellen Kanals auf RUN (da der virtuelle Kanal bereits in der Liste 27 ist, fordert der Befehlsprozessor dessen Einfügung nicht an).
  • Wenn der Befehlsprozessor 31 den GBSTOP-Befehl für einen virtuellen Kanal empfängt, stellt er die ON/OFF-Flag des entsprechenden VC-Eintrags 44 auf OFF. Der Prozessor 31 ändert den Zustand des virtuellen Kanals jedoch nicht oder entfernt jeglichen entsprechenden Eintrag nicht aus der Liste 27; dies wird in der Folge durch den Listeneintragsprozessor 40 durchgeführt.
  • Schließlich führt der GBRESET-Befehl dazu, dass der VC-Eintrag 44 für den spezifizierten, virtuellen Kanal, zurückgesetzt wird.
  • Als nächstes wird die Hauptbetriebsaufgabe des GB-Planers 25 berücksichtigt, wobei dies die Eintragsverarbeitungsaufgabe ist, die während jeder Zellperiode bewirkt wird, für die eine Steuerung durch den Hauptsteuerblock 33 an den GB-Planer geleitet wird. Diese Eintragsverarbeitungsaufgabe wird durch den Eintragsprozessor 40 gesteuert, wobei 4 eine Flussdiagrammdarstellung der Steuerung ist, die durch den Prozessor 40 bewirkt wird.
  • Die erste Operation, die durch den Eintragsprozessor 40 ausgeführt wird, nachdem ihm die Steuerung übertragen wurde, ist das Lesen des VCN in dem Eintragsfeld, das in dem aktuellen Listenschlitz gehalten wird, auf den durch den aktuellen Schlitzverfolger 28 gezeigt wird; zur gleichen Zeit befreit der Eintragsprozessor diesen Eintrag durch Einstellen seines Typenfeldes auf „00" (siehe Block 50 in 4). Als nächstes liest der Prozessor 40 die relevanten VC-Parameter für den betroffenen virtuellen Kanal aus dem VC-Parameterspeicher 24 (Block 51).
  • Der erste durch den Eintragsprozessor 40 berücksichtigte VC-Parameter ist der ON/OFF-Parameter (Block 52). Wenn dieser Parameter auf OFF („0") eingestellt ist, dann erkennt der Prozessor, dass der betroffene virtuelle Kanal einem STOP-Befehl unterzogen wurde, und dass der soeben gelesene Listeneintrag nicht länger gültig ist. Dementsprechend stellt der Prozessor 40 den Zustandsparameter für den Kanal in dem Speicher 24 auf STOP ein und beginnt das Senden einer Beste-Bemühung-Zelle durch den Beste-Bemühung-Organisator 30 für die aktuelle Zellperiode (Block 53). Natürlich wird der soeben gelesene VCN aus der Liste 27 nicht wieder in die Liste eingefügt.
  • Wenn der ON/OFF-Parameter anzeigt, dass der virtuelle Kanal aktiv ist, dann betrachtet der Eintragsprozessor den aktuellen Zustand des Kanals (Block 54). In der Tat können sich gültige Einträge in der Liste 27 nur auf virtuelle Kanäle in dem RUN-Zustand, oder zusätzlich für GB1-Kanäle, in dem ACCUM-Zustand befinden.
  • Wenn der Zustandsparameter auf ACCUM eingestellt ist, wodurch ein virtueller GB1-Kanal angezeigt wird, der keine Zellen zum Senden hat aber Kredit akkumuliert, wird der Eintragsprozessor 40 als nächstes den gehaltenen Kreditwert in dem Kreditfeld des VC-Eintrags 42 für den betroffenen Kanal inkrementieren (Block 55). Wenn der Gesamtkredit nun dem Bündeltoleranzwert BT entspricht (getestet bei Block 56), wird der Zustand des virtuellen Kanals auf WAIT geändert (Block 57) und der VCN des Kanals wird nicht zurück in die Liste 27 eingefügt. Wenn der Kreditwert jedoch weniger ist als BT, wird der virtuelle Kanal in seinem ACCUM-Zustand gelassen und wird wieder in die Liste 27 eingefügt, mit einem Versatz, der durch den SRP-Parameter bestimmt wird; dieses Wiedereinfügen wird durch den Aktualisierungsblock 41 auf die bereits beschriebene Weise bewirkt, auf die Anfrage des Eintragsprozessors hin (Block 58). Der letzte Schritt im Umgang mit einem virtuellen Kanal in seinem ACCUM-Zustand ist das Beginnen des Sendens einer Beste-Bemühung-Zelle durch den Beste-Bemühung-Organisator 30 für die aktuelle Zellperiode (Block 53).
  • Bei einem virtuellen Kanal, der sich in seinem RUN-Zustand befindet (Block 54 Test), beginnt der Eintragsprozessor 40 das Senden einer Zelle (Block 59) durch Ausgeben des VCN des Kanals auf Leitung 19 zu der Sendeschnittstelle 13. Als nächstes, wenn der virtuelle Kanal ein GB1-Kanal ist (getestet bei Block 60), wird seine Kreditzählung, die in dem entsprechenden Eintrag in dem Speicher 24 gehalten wird verringert, außer dieselbe ist bereits Null. Nachfolgend bestimmt der Eintragsprozessor 40, ob der VCN des Kanals wieder in die Liste 27 eingefügt werden sollte. Dies umfasst das Bestimmen, ob mehr Zellen verbleiben, um auf dem virtuellen Kanal gesendet zu werden (Block 61); diese Informationen sind durch Prüfen verfügbar, ob ein „keine Zellen mehr"-Signal auf Leitung 20 geliefert wurde. In dem Fall, dass mehr Zellen zum Senden vorhanden sind, wird der VCN des Kanals wieder in die Liste 27 eingefügt, mit einem Versatz, der durch den Spitzenratenparameter PRP bestimmt wird, (Block 63) außer für GB1-Kanäle ohne Kredit (getestet bei Block 62), die mit einem Versatz eingefügt werden, der durch den Stützratenparameter SRP bestimmt wird (Block 64). Wenn keine Zellen zum Senden mehr verfügbar sind, wenn der betroffene Kanal ein GB1-Kanal ist (getestet bei Block 65), wird dessen Zustand auf ACCUM eingestellt (Block 66) und sein VCN wird wieder in die Liste 27 eingefügt, mit einem Versatz, der durch den Stützratenparameter SRP bestimmt wird (Block 64), um dem Kanal zu ermöglichen, Kredit zu akkumulieren. Wenn der Test bei Block 65 zeigt, dass der Kanal ein GB0-Kanal ist, wird sein Zustand auf WAIT eingestellt (Block 67) und sein VCN wird nicht wieder in die Liste 27 eingefügt.
  • Die oben beschriebenen Zustandsübergänge für virtuelle Kanäle, die durch die GB-Befehle und durch die Aktionen des Eintragsprozessors 40 verursacht werden, sind in 3 dargestellt.
  • Es wird darauf hingewiesen, dass die vorangehende Beschreibung auf den funktionellen Komponenten basiert, die durch den Planer gefordert werden, und dass diese Komponenten auf jegliche geeignete Weise implementiert werden können. In der Tat ist es im allgemeinen wünschenswert, den Planer in die Hardware zu implementieren, um den Durchsatz zu maximieren.
  • Es wird ferner darauf hingewiesen, dass viele Variationen für die beschriebene Anordnung möglich sind, und das die funktionellen Teilelemente unterschiedlich zugeordnet sein können. Obwohl in der beschriebenen Anordnung der Eintragsprozessor 40 jeden Listenschlitz freisetzt, kann dieses Freisetzen derart betrachtet werden, dass es durch ein separates Funktionselement bewirkt wird. Der Test, der bei Block 36 durch die Hauptsteuerung 33 des Planers ausgeführt wird, kann wiederum gleichermaßen durch den Eintragsprozessor 40 bewirkt werden, wobei die Hauptsteuerung in diesem Fall nur bestimmt, ob der Befehlsprozessor 31 aktiviert werden soll, oder ob die Steuerung direkt an den Planer 25 mit garantierter Bandbreite gegeben werden sollte.
  • Eine andere mögliche Variante betrifft den Mechanismus zum Bestimmen, wann keine Zellen mehr verbleiben, um auf einem virtuellen Kanal gesendet zu werden. Anstelle sich auf die Rückkopplung über die Leitungen 16 und 20 zu verlassen, könnte der VC-Eintrag 42 in dem Parameterspeicher 24 verwendet werden, um eine Zählung der Zellen zu halten, die zum Senden verbleiben, wobei jeder GBCELLS-Befehl die Anzahl neuer Zellen spezifiziert, die verfügbar sind, und die Zellenzählung entsprechend implementiert, während der Eintragsprozessor 40 die Zellenzählung jedes Mal vermindert, wenn er das Senden einer Zelle auf dem betreffenden virtuellen Kanal einleitet.
  • Übertragungsratenparameter
  • Wie bereits beschrieben wurde, werden der Spitzenratenparameter PRP und der Stützratenparameter SRP nach Bedarf durch das Anfangszielbestimmungselement 45 verwendet, um den Versatz zwischen dem aktuellen Listenschlitz und dem Schlitz zu bestimmen, der als nächstes dem virtuellen Kanal zugeordnet werden soll, für den soeben eine Zelle gesendet wurde, um eine gewünschte Zellenübertragungsrate zu ergeben. Das Format der PRP- und SRP-Felder bei jedem GB-Eintrag 42 in dem VC-Parameterspeicher 24 wird durch die Felder PRM bzw. SRM bestimmt.
  • Bei einem einfachen Format spezifizieren die Felder PRP und SRP jeweils eine ganze Zahl von Schlitzen für den Versatz. Der Nachteil bei dieser Anordnung ist, dass, wenn sich die gewünschte Rate erhöht, die mögliche Steuerung grober wird; insbesondere ist es nicht möglich, eine Rate zwischen einer halben und der gesamten Verknüpfungsbandbreite zu spezifizieren (wobei diese zwei Raten einem Schlitzversatz von Zwei bzw. Eins entsprechen).
  • Um diesen Nachteil zu überwinden, werden PRP und SRP vorzugsweise in einem komplexeren Format spezifiziert (angezeigt durch das PRM- und SRM-Feld), wobei dieses Format diagrammartig in 5 gezeigt ist. In diesem Fall weist der Übertragungsratenparameter (PRP oder SRP) 69 drei Teile auf, d. h.
    • – einen festen ganzzahligen Teil 70,
    • – einen festen Bruchteil 71;
    • – einen variablen Akkumulationsteil 72.
  • Der feste ganzzahlige Teil 70 und der feste Bruchteil 71 bilden eine Ratenzahl, die die gewünschte Übertragungsrate im Hinblick auf den entsprechenden Schlitzversatz spezifiziert, der als ganze und Teil-Schlitze ausgedrückt wird (wobei offensichtlich ist, dass der Ausdruck „ganze Zahl" bei „ganzzahliger Teil" sich nicht auf die Art und Weise der Zahldarstellung bezieht, sondern auf die Tatsache, dass dieser Teil eine ganze Anzahl von Schlitzen darstellt). Wie nun nachfolgend offensichtlich wird, hält der Akkumulationsteil 72 eine Zahl, die einen Bruchteil eines Schlitzes darstellt.
  • Jedes Mal, wenn angefordert wird, dass das Anfangsziel-Bestimmungselement 45 einen Zielschlitzversatz für einen virtuellen Kanal bestimmt, addiert es (siehe 73) die Ratenzahl 70, 71 und den Akkumulationsteil 72 des entsprechenden Übertragungsratenparameters zusammen. Die ganzzahlige Komponente 74 des Ergebnisses dieser Addition wird dann verwendet, um den Schlitzversatz einzustellen, während der Bruchteilrest zurück in den Akkumulationsteil 72 gespeichert wird.
  • Auf diese Weise kann verursacht werden, dass der Versatz variiert, um eine gewünschte Übertragungsrate zu erreichen. Wenn z. B. der ganzzahlige Teil 70 auf Eins eingestellt wird und der Bruchteil auf ein Halb, wechselt der Schlitzversatz zwischen Eins und Zwei, was eine Zellenübertragungsrate von zwei Drittel der Verknüpfungsbandbreite ergibt. Auf ähnliche Weise ergibt das Einstellen des ganzzahligen Teils auf Zwei und des Bruchteils auf ein Halb eine Zellenübertragungsrate von 40% der Verknüpfungsbandbreite.
  • Die erreichbare Übertragungsratenauflösung hängt ab von dem Grad der Präzision, die zum Spezifizieren der drei Teile des Parameters 69 erlaubt ist. Es wird darauf hingewiesen, dass die exakte Form der Speicherung der ganzzahligen und Bruch-Teile 70, 71 der Ratenzahl nicht kritisch ist, vorausgesetzt es ist möglich, die gespeicherten Daten in ganzzahlige und Teil-Schlitze zu übersetzen.
  • Bei dem Planer aus 1 bis 4 wird der SRP ferner für GB1 virtuelle Kanäle verwendet, um die Krediterzeugungsrate zu steuern. Es ist somit deutlich, dass die selbe Form von Parameter, wie in 5 dargestellt ist, verwendet werden kann, um die Krediterzeugung zu steuern; natürlich kann dieser Mechanismus zum Steuern der Krediterzeugung unabhängig von dem Zellenübertragungsraten-Steuerungsmechanismus verwendet werden.
  • In der Tat kann die Kreditratenerzeugung unter Verwendung eines Steuerungsdatenelements ähnlich zu dem gesteuert werden, das in 5 gezeigt ist, nicht nur durch Variieren der Zeit zwischen den Kreditinkrementereignissen (wie in dem vorangehenden Absatz beschrieben wurde), sondern ferner durch Variieren der Größe des Kreditinkrements. Somit könnte jeder virtuelle Kanal, für den ein Kredit akkumuliert werden sollte, seinen Kreditpegel mit festen regelmäßigen Intervallen inkrementiert haben, wobei der Inkrementbetrag die ganzzahlige Komponente einer Addition ist, die über alle drei Teile eines Steuerungsdatenelements der Form von 5 bewirkt wird; in diesem Fall jedoch stellen der ganzzahlige und der Bruch-Teil der Elemente ganze und teilweise Kredite und nicht Schlitze dar.

Claims (12)

  1. Ein Verfahren zum Regeln der Übertragung von Zellen auf eine Verknüpfung, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, wobei das Verfahren folgende Schritte aufweist: (a) Bereitstellen eines Elements aus Steuerungsdaten (69) für jeden virtuellen Kanal, das einen festen ganzzahligen Teil (70), einen festen Bruchteil (71) und einen variablen Akkumulationsteil (72) aufweist; (b) wiederholtes Bestimmen einer Steuerungsnummer für jeden virtuellen Kanal, wobei diese Bestimmung folgendes umfasst: – Zusammenaddieren der drei Teile des Steuerungsdatenelements für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente (74) und einem Bruchteilrest (75) zu erzeugen; – Verwenden der ganzzahligen Komponente (74) des Ergebnisses, um die Steuerungszahl einzustellen; und – Speichern des Bruchteilrests (75) als den Akkumulationsteil des Steuerungsdatenelements für den betreffenden virtuellen Kanal; und (c) Regeln der Zellenübertragung für den betreffenden virtuellen Kanal gemäß dem Wert der Steuerungs zahl, die bei Schritt (b) für diesen virtuellen Kanal bestimmt wird.
  2. Ein Verfahren gemäß Anspruch 1, bei dem die Zellen auf die Verknüpfung in jeweiligen Übertragungszeitschlitzen gemäß einem Übertragungsplan übertragen werden, der Übertragungszeitschlitze und virtuelle Kanäle zuordnet; wobei Schritt (b) für einen bestimmten virtuellen Kanal durchgeführt wird, jedes Mal wenn eine Zelle auf die Verknüpfung im Hinblick auf diesen Kanal übertragen wird, und die Steuerungszahl, die dadurch bestimmt wird, bei Schritt (c) verwendet wird, um den Übertragungsplan zu aktualisieren, durch Versuchen, als den nächsten Zeitschlitz zum Übertragen eine Zelle für den betreffenden virtuellen Kanal einzustellen, wobei ein Zeitschlitzversatz um eine Anzahl von Schlitzen von dem Aktuellen der Steuerungszahl entspricht.
  3. Ein Verfahren gemäß Anspruch 1, bei dem die Übertragung von Zellen für einen bestimmten virtuellen Kanal abhängig ist von der Verfügbarkeit von Übertragungskrediten für diesen Kanal, wobei die Steuerungszahl, die für jeden Kanal bestimmt wird, verwendet wird, um die Rate zu regeln, mit der Kredite für den Kanal erzeugt werden.
  4. Ein Verfahren gemäß Anspruch 3, bei dem für jeden Kanal, jedes Mal wenn Schritt (b) durchgeführt wird, ein festes Kreditinkrement für den betreffenden virtuellen Kanal bewirkt wird, wobei die Steuerungszahl, die bei Schritt (b) bestimmt wird, verwendet wird, um zu bestimmen, wann Schritt (b) als Nächstes für diesen virtuellen Kanal durchgeführt werden soll.
  5. Ein Verfahren gemäß Anspruch 3, bei dem für jeden Kanal Schritt (b) bei regelmäßigen Intervallen ausgeführt wird, wobei die resultierende Steuerungszahl verwendet wird, um eine Größe des Kreditinkrements für den betreffenden Kanal zu bestimmen.
  6. Ein Verfahren zum Steuern der Übertragungsrate von Zellen auf eine Verknüpfung, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind und auf die Verknüpfung in jeweiligen Übertragungszeitschlitzen gemäß einem Übertragungsplan übertragen werden, der Übertragungszeitschlitze und virtuelle Kanäle zuordnet; wobei das Verfahren folgende Schritte aufweist: (a) Bereitstellen eines Übertragungsratenindikators (69) für jeden virtuellen Kanal, der einen festen ganzzahligen Teil (70), einen festen Bruchteil (71) und einen variablen Akkumulationsteil (72) aufweist; (b) jedes Mal wenn eine Zelle auf der Verknüpfung im Hinblick auf einen bestimmten virtuellen Kanal gemäß dem Übertragungsplan übertragen wird, Bestimmen, für diesen virtuellen Kanal, zumindest in dem Fall, dass eine andere Zelle zum Senden auf diesem Kanal verfügbar ist, eines gewünschten nächsten Zeitschlitzes zum Übertragen einer Zelle für den Kanal, wobei der gewünschte nächste Zeitschlitz im Hinblick auf seinen Versatz bestimmt wird, in Schlitzen, von dem aktuellen Zeitschlitz, wobei diese Bestimmung folgendes umfasst: – Zusammenaddieren der drei Teile des Übertragungsratenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente (74) und einem Bruchteilrest (75) zu erzeugen; – Verwenden der ganzzahligen Komponente (74) des Ergebnisses als den Versatz; und – Speichern des Bruchteilrests (75) als die Akkumulationsteile des Übertragungsratenindikators für den betreffenden virtuellen Kanal; und (c) Aktualisieren des Übertragungsplans durch Verwenden des Versatzes, der bei Schritt (b) bestimmt wird, beim Bestimmen des nächsten Zeitschlitzes, in dem eine Zelle für den betreffenden virtuellen Kanal übertragen werden soll, und dann Zuordnen dieses Zeitschlitzes zu dem Kanal.
  7. Ein Verfahren gemäß Anspruch 6, bei dem der ganzzahlige und der Bruch-Teil jedes Übertragungsratenindikators direkt als Zahlen gespeichert werden, die ganze bzw. Teil-Zeitschlitze darstellen.
  8. Ein Verfahren gemäß Anspruch 6, bei dem der ganzzahlige und der Bruch-Teil jedes Übertragungsratenindikators gemeinschaftlich in der Form einer Zahl gespeichert werden, die die Übertragungsrate darstellt, die er erreichen soll, wobei diese Zahl in Einheiten und Bruchteile der Zeitschlitze umgewandelt wird, wenn der Versatz bestimmt wird.
  9. Ein Verfahren gemäß Anspruch 6, bei dem die virtuellen Kanäle jeweiligen Prioritäten zugeordnet sind und bei Schritt (c) in dem Fall, dass der Schlitz, der durch den Versatz angezeigt wird, bereits einem anderen virtuellen Kanal zugeordnet ist, ein Konfliktlösungsverfahren ausgeführt wird, basierend auf den relativen Prioritäten der betreffenden Kanäle, wobei der Kanal mit höherer Priorität diesem Schlitz schließlich zugeordnet wird und der Kanal mit niedrigerer Priorität nachfolgend dem ersten nachfolgenden verfügbaren Schlitz zugeordnet wird.
  10. Ein Verfahren zum Steuern der Übertragungsratenkrediterzeugung in einem System, in dem Zellen, die einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, auf eine Verknüpfung in jeweiligen Zeitschlitzen übertragen werden, wobei die Übertragung von Zellen für einen bestimmten virtuellen Kanal von der Verfügbarkeit der Übertragungskredite für diesen Kanal abhängig ist; wobei das Verfahren folgende Schritte aufweist: (a) Bereitstellen eines Krediterzeugungsratenindikators (69) für jeden virtuellen Kanal, der einen festen ganzzahligen Teil (70), einen festen Bruchstückteil (71) und einen variablen Akkumulationsteil (72) aufweist; (b) Beibehalten einer Liste (27) mit Eingangsschlitzen zum Speichern von Identifizierern der virtuellen Kanäle, denen ein Kredit zugeordnet werden soll; und (c) Fortschreiten durch die Liste (27) mit einer vorbestimmten Schlitzrate, und jedes Mal wenn der Identifizierer angetroffen wird, Erhöhen des Übertragungskreditpegels des entsprechenden virtuellen Kanals und Wiedereinfügen des Identifizierers in die Liste bei einem Vorwärtsversatz, der gemäß den nachfolgenden Teilschritten bestimmt wird: – Zusammenaddieren der drei Teile des Krediterzeugungsratenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente (74) und einem Bruchteilrest (75) zu erzeugen; – Verwenden der ganzzahligen Komponente (74) des Ergebnisses, um den Versatz einzustellen; und – Speichern des Bruchteilrests (75) als den Akkumulationsteil des Krediterzeugungsratenindikators für den betreffenden virtuellen Kanal; wobei ein Konfliktlösungsverfahren in dem Fall ausgeführt wird, dass die Position in der Liste, die durch den Vorwärtsversatz angezeigt wird, bereits besetzt ist.
  11. Ein Verfahren zum Steuern der Übertragungsratenkrediterzeugung in einem System, in dem Zellen, die einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, auf eine Verknüpfung in jeweiligen Zeitschlitzen übertragen werden, wobei die Übertragung von Zellen für einen bestimmten virtuellen Kanal abhängig ist von der Verfügbarkeit der Übertragungskredite für diesen Kanal; wobei das Verfahren folgende Schritte aufweist: (a) Bereitstellen eines Kreditinkrementgrößenindikators (69) für jeden virtuellen Kanal, der einen festen ganzzahligen Teil (70), einen festen Bruchstückteil (71) und einen variablen Akkumulationsteil (72) aufweist; und (b) in regelmäßigen Intervallen, Inkrementieren des Übertragungskreditpegels jedes virtuellen Kanals um einen jeweiligen Inkrementbetrag, der für diese Inkrementierungsoperation gemäß den nachfolgenden Teilschritten bestimmt wird: – Zusammenaddieren der drei Teile des Kreditinkrementgrößenindikators für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente (74) und einem Bruchteilrest (75) zu erzeugen; – Verwenden der ganzzahligen Komponente (74) des Ergebnisses, um den Inkrementbetrag einzustellen; und – Speichern des Bruchteilrests (75) als den Akkumulationsteil des Kreditinkrementgrößenindikators für den betreffenden virtuellen Kanal.
  12. Vorrichtung (12) zum Übertragen eines Stroms aus Zellen auf eine Verknüpfung, wobei die Zellen einer Mehrzahl von unterschiedlichen virtuellen Kanälen zugeordnet sind, wobei jeder derselben in der Vorrichtung durch einen entsprechenden Virtueller-Kanal-Identifizierer identifiziert wird, hierin „VCN"; wobei die Vorrichtung einen Planer (25) umfasst, zum Planen der Übertragung von Zellen jedes virtuellen Kanals, wobei der Planer folgende Merkmale aufweist: – eine Speicherungseinrichtung zum Speichern, für jeden virtuellen Kanal, eines Übertragungsratenindikators (69), der einen festen ganzzahligen Teil (70), einen festen Bruchstückteil (71) und einen variablen Akkumulationsteil (72) aufweist; – eine Listeneinrichtung (27) zum Beibehalten einer Liste mit einer Zahl von Eingangsschlitzen, wobei jeder derselben in der Lage ist, einen einzelnen VCN zu speichern, wobei die Liste die VCNs der virtuellen Kanäle mit Zellen zum Übertragen enthält; – eine Steuerungseinrichtung (40) zum Fortschreiten durch die Liste Schlitz für Schlitz, und, wenn ein VCN in dem aktuellen Schlitz von Interesse gefunden wird, ansprechen darauf, durch Übertragen einer Zelle des entsprechenden virtuellen Kanals, wobei die Steuerungseinrichtung ferner wirksam ist, um den VCN, falls vorhanden, in dem aktuellen Schlitz von Interesse zu entfernen und den VCN in einen Schlitz wiedereinzufügen, der vorwärts von dem aktuellen Schlitz um einen vorbestimmten Versatzbetrag versetzt ist, wobei die Steuerungseinrichtung eine Bestimmungseinrichtung umfasst, zum Bestimmen des Versatzbetrags, wobei die Bestimmungseinrichtung folgende Merkmale aufweist: – eine Einrichtung (73) zum Zusammenaddieren der drei Teile (70, 71, 72) des Übertragungsratenindikators (69) für den betreffenden Kanal, um ein Ergebnis mit einer ganzzahligen Komponente (74) und einem Bruchteilrest (75) zu erzeugen; – eine Einrichtung zum Einstellen des Versatzbetrags abhängig von der ganzzahligen Komponente des Ergebnisses; und – eine Einrichtung zum Speichern des Bruchteilrests (75) zurück in die Speicherungseinrichtung als den Akkumulationsteil des Übertragungsratenindikators für den betreffenden virtuellen Kanal; – wobei die Steuerungseinrichtung (40) ferner eine Konfliktlösungseinrichtung (47) umfasst, zum Lösen von Konflikten, die aus dem Schlitz entstehen, der von dem aktuellen Schlitz um den vorbestimmten Versatz ver setzt ist, der bereits durch einen VCN belegt ist.
DE69434329T 1994-08-31 1994-08-31 Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle Expired - Fee Related DE69434329T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP94306389A EP0700186B1 (de) 1994-08-31 1994-08-31 Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle

Publications (2)

Publication Number Publication Date
DE69434329D1 DE69434329D1 (de) 2005-05-19
DE69434329T2 true DE69434329T2 (de) 2006-03-09

Family

ID=8217833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69434329T Expired - Fee Related DE69434329T2 (de) 1994-08-31 1994-08-31 Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle

Country Status (4)

Country Link
US (1) US5579302A (de)
EP (1) EP0700186B1 (de)
JP (1) JPH08181703A (de)
DE (1) DE69434329T2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619502A (en) * 1994-09-16 1997-04-08 Intel Corporation Static and dynamic scheduling in an asynchronous transfer mode communication network
US5867663A (en) 1995-07-19 1999-02-02 Fujitsu Network Communications, Inc. Method and system for controlling network service parameters in a cell based communications network
US5917822A (en) 1995-11-15 1999-06-29 Xerox Corporation Method for providing integrated packet services over a shared-media network
US5974466A (en) * 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US5765032A (en) * 1996-01-11 1998-06-09 Cisco Technology, Inc. Per channel frame queuing and servicing in the egress direction of a communications network
JP2795257B2 (ja) * 1996-04-15 1998-09-10 日本電気株式会社 トラフィックシェーパのセル出力競合制御方式
US6134217A (en) * 1996-04-15 2000-10-17 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks with fairness and low latency
US5771228A (en) * 1996-05-16 1998-06-23 Integrated Telecom Technology, Inc. Method and apparatus for recovery of peak cell rate tokens in an ATM network interface
US5745490A (en) * 1996-06-19 1998-04-28 Pmc-Sierra, Inc. Variable bit rate scheduler
US5974029A (en) * 1996-10-31 1999-10-26 Inverness System Ltd. Method for limiting the transmission of data generated by a data source
EP0853408A3 (de) * 1997-01-08 2003-03-26 Oki Electric Industry Co., Ltd. Vorrichtung zur Zeitsteuerung von Zellenübertragung
US6041059A (en) * 1997-04-25 2000-03-21 Mmc Networks, Inc. Time-wheel ATM cell scheduling
US6154459A (en) * 1997-07-11 2000-11-28 Telefonaktiebolaget Lm Ericsson Data shaper for ATM traffic
CA2308350A1 (en) * 1997-11-18 1999-05-27 Cabletron Systems, Inc. Hierarchical schedules for different atm traffic
US6167049A (en) * 1997-11-18 2000-12-26 Cabletron Systems, Inc. Non-zero minimum cell rate for available bit rate ATM service
US6272109B1 (en) 1997-11-18 2001-08-07 Cabletron Systems, Inc. Hierarchical schedules for different ATM traffic
US7339924B1 (en) * 1998-09-30 2008-03-04 Cisco Technology, Inc. Method and apparatus for providing ringing timeout disconnect supervision in remote telephone extensions using voice over packet-data-network systems (VOPS)
US6611531B1 (en) 1998-09-30 2003-08-26 Cisco Technology, Inc. Method and apparatus for routing integrated data, voice, and video traffic
US6195699B1 (en) * 1998-11-03 2001-02-27 Acorn Networks, Inc. Real-time scheduler method and apparatus
US6560196B1 (en) * 1998-11-19 2003-05-06 Cisco Technology, Inc. Method and apparatus for controlling the transmission of cells across a network
US6785285B1 (en) 1999-06-03 2004-08-31 Fujitsu Network Communications, Inc. Method and system for providing broadcast channels over an emulated subnetwork
US6501758B1 (en) 1999-06-03 2002-12-31 Fujitsu Network Communications, Inc. Hybrid ATM/TDM transport over a common fiber ring
US6665301B1 (en) 1999-06-03 2003-12-16 Fujitsu Network Communications, Inc. Transmission slot allocation method and map for virtual tunnels in a transmission line
US6760332B1 (en) 1999-06-03 2004-07-06 Fujitsu Network Communications, Inc. ATM multicasting system and method
WO2000076152A1 (en) 1999-06-03 2000-12-14 Fujitsu Network Communications, Inc. Method and system for transmitting traffic in a virtual tunnel of a transmission line
US6658006B1 (en) 1999-06-03 2003-12-02 Fujitsu Network Communications, Inc. System and method for communicating data using modified header bits to identify a port
US6430152B1 (en) 1999-12-22 2002-08-06 Alcatel Usa Sourcing, L.P. Scheduler system for scheduling the distribution of ATM cells
US6434155B1 (en) 1999-12-22 2002-08-13 Alcatel Usa Sourcing, L.P. Weighted round robin engine used in scheduling the distribution of ATM cells
US7099330B2 (en) * 2001-01-10 2006-08-29 Lucent Technologies Inc. Method and apparatus for integrating guaranteed-bandwidth and best-effort traffic in a packet network
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7061867B2 (en) * 2002-04-02 2006-06-13 Intel Corporation Rate-based scheduling for packet applications
KR101328798B1 (ko) * 2007-06-11 2013-11-13 삼성전자주식회사 무선 통신 시스템의 셀 제어 메시지 수신 장치 및 방법
CN115801101B (zh) * 2022-11-07 2023-06-20 银河航天(北京)通信技术有限公司 基于虚拟信道时隙的遥测调度方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
GB9309468D0 (en) * 1993-05-07 1993-06-23 Roke Manor Research Improvements in or relating to asynchronous transfer mode communication systems
US5390184A (en) * 1993-09-30 1995-02-14 Northern Telecom Limited Flexible scheduling mechanism for ATM switches
US5392280A (en) * 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5455825A (en) * 1994-04-28 1995-10-03 Mitsubishi Electric Research Laboratories Tag-based scheduling system for digital communication switch

Also Published As

Publication number Publication date
US5579302A (en) 1996-11-26
JPH08181703A (ja) 1996-07-12
EP0700186A1 (de) 1996-03-06
DE69434329D1 (de) 2005-05-19
EP0700186B1 (de) 2005-04-13

Similar Documents

Publication Publication Date Title
DE69434329T2 (de) Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE60128413T2 (de) Gekennzeichneter Prioritätswarteschlangescheduler
DE69838274T2 (de) Steuerung der Bandbreite einer dynamischen ATM-Verbindung
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE69936966T2 (de) Kommunikationseinrichtung mit variabler Paketlänge
DE69632240T2 (de) Verfahren und Anlage zur Kontrolle von Übertragungsgeschwindigkeiten von Quellen in ATM-Netzwerken
DE69825355T2 (de) ATM Zellenzuweisungsverfahren
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE69534334T2 (de) Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69635092T2 (de) Verfahren zur Zugangssteuerung und Lenkung von Virtuelle Verbindungen
DE60216001T2 (de) Automatischer Lastausgleich in Vermittlungsknoten
DE69936847T2 (de) Verfahren und einrichtungen zur zuweisung von zeitschlitzen zu leitungsvermittelten kanälen
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE19532422C1 (de) Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen
DE69827073T2 (de) Steuerungssystem zur Reservierung von permanenten virtuellen Verbindungen
DE69733129T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
DE60132437T2 (de) Verfahren und einrichtung zur steuerung von informationen unter verwendung von kalendern
DE60315965T2 (de) Vorrichtung zur paketablaufsteuerung
DE60133067T2 (de) Verfahren und Vorrichtung zum Wiederzusammensetzen von Paketen in einer Vermittlungsstelle
EP0705049A2 (de) Verfahren und Schaltungsanordnung zur Planung der Übertragung von ATM-Zellen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee