[go: up one dir, main page]

DE69832697T2 - Verfahren zur Regelung des Telekommunikationsverkehrs in einem ATM Netzwerk - Google Patents

Verfahren zur Regelung des Telekommunikationsverkehrs in einem ATM Netzwerk Download PDF

Info

Publication number
DE69832697T2
DE69832697T2 DE69832697T DE69832697T DE69832697T2 DE 69832697 T2 DE69832697 T2 DE 69832697T2 DE 69832697 T DE69832697 T DE 69832697T DE 69832697 T DE69832697 T DE 69832697T DE 69832697 T2 DE69832697 T2 DE 69832697T2
Authority
DE
Germany
Prior art keywords
class
classes
selectable
adder
cell
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
DE69832697T
Other languages
English (en)
Other versions
DE69832697D1 (de
Inventor
E. Maged BESHAI
W. Stacy NICHOLS
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE69832697D1 publication Critical patent/DE69832697D1/de
Application granted granted Critical
Publication of DE69832697T2 publication Critical patent/DE69832697T2/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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

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

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung liegt auf dem Gebiet der Dienst-Raten-Steuerung in ATM-Vermittlungen. Insbesondere ist sie auf ein Raten-Steuerverfahren in der Frequenzdomäne oder der Zeitdomäne gerichtet, das mit sehr hohen Geschwindigkeiten arbeitet und/oder eine große Anzahl von Dienst-Klassen abdeckt.
  • Hintergrund der Erfindung
  • Die Dienst-Raten-Disziplin ergibt sich von Natur aus in der synchronen Leitungs-Vermittlung. In der ATM sind Dienst-Raten-Steuerungen erforderlich, um die Dienst-Rate für Verbindungen oder Klassen von Verbindungen zu regeln. Eine Klasse kann mehrere Verbindungen mit ähnlichen Verkehrs-Deskriptoren einschließen, oder sie kann eine einzige Verbindung mit einer hohen Bitrate darstellen.
  • Einige der Anforderungen an die Dienst-Raten-Steuerung sind wie folgt:
    • – hohe Kapazität (große Anzahl von Klassen)
    • – hohe Betriebsleistung (geringer Jitter-Effekt)
    • – hohe Geschwindigkeit
    • – Einfachheit/geringe Kosten
    • – Robustheit: geringe Fehlerwahrscheinlichkeit/leichte Fehlererholung.
  • Die Steuerung kann entweder Frequenzdomänen-basiert sein, wobei der Haupt-Steuerparameter die Abtastrate pro Klasse ist, oder sie können Zeitdomänenbasiert sein, wobei der Haupt-Steuerungsparameter das Abtastintervall pro Klasse ist.
  • Das allgemeine Problem der Dienst-Raten-Steuerung kann wie folgt ausgedrückt werden: eine Verbindungsstrecke mit fester Kapazität wird gemeinsam von einer Anzahl von Verkehrsströmen genutzt, denen getrennte Warteschlangen zugeteilt sind. Die Verkehrsströme können die Verbindungsstrecke entsprechend einer von vielen Richtlinien gemeinsam nutzen, wie z. B. eine feste Rate pro Datenstrom oder eine garantierte minimale Rate pro Datenstrom. Bei jeder dieser Richtlinien kann die maximale Anzahl von Zellen, die eine Warteschlange auf die Verbindungsstrecke in einer einzigen Transaktion überführen kann (das heißt in einer zusammenhängenden Periode) auf einen vorgegebenen Grenzwert beschränkt werden. Die Verwendung hoher Grenzwerte hat den Vorteil der Vereinfachung der Realisierung der Raten-Steuerung unter Inkaufnahme der Vergrößerung der Zellenverzögerungs-Änderung. Die in den 1 und 2 gezeigten Schemas zeigen die Verwendung von zusammenhängenden Zuteilungen für ein Beispiel von vier Warteschlangen für vier Verkehrsströme A, B, C und D. Die relativen Zuteilungen sind für die zwei gezeigten Schemas identisch. Das Schema nach 1 ergibt jedoch mit der kleineren Warteschlangen-Zugriffszeit eine bessere Betriebsleistung. Das Schema mit mit Abstand angeordneten Zuteilungen nach 3 ergibt eine bessere Betriebsleistung für einen verzögerungsempfindlichen Verkehr. Bei dieser Figur ist jede Unterteilung eine Zelle breit. Wenn die Anzahl von Zellen, die in einer Warteschlange warten, kleiner als der für die Warteschlange zugeteilte Grenzwert ist, so ist die Anzahl der von der Warteschlange übertragenen Zellen kleiner als die zulässige Anzahl und die Anzahl der in der Warteschlange wartenden Zellen. Wenn die Zuteilungen gemäß 3 aufgespreizt werden, verbessert sich das Jitter-Betriebsverhalten auf Kosten einer größeren Anzahl von Unterteilungen und damit einer vergrößerten Kompliziertheit der Steuerung.
  • Der Verkehr kann geschützte und ungeschützte Verkehrsströme umfassen. Den geschützten Verkehrsströmen ist eine bestimmte Dienstgüte (QOS) zugesagt, während die ungeschützten Verkehrsströme sich auf die Möglichkeiten (oder das beste Bemühen) verlassen müssen. Eine der Haupt-QOS-"Garantien" ist eine Verzögerungs-Jitter-Grenze. Wenn eine Vielzahl von Klassen mit zufälligen Abtastfrequenzen (oder Intervallen) eine Verbindungsstrecke gemeinsam nutzen, so können die Abtastzeitpunkte von zwei oder mehr Klassen zusammenfallen, und eine unerwünschte Abtastfrequenz-Modulation wird unvermeidbar. Die Modulationstiefe kann durch geeignete Dienste-Disziplinen und Lastpegel-Steuerungen verringert werden.
  • (a) Raten-Steuerungs-Optionen
  • Zwei Raten-Steuer-Disziplinen können verwirklicht werden und sind hier von Interesse. Die erste ist eine feste Dienst-Rate pro Klasse, und die zweite ist die garantierte minimale Dienst-Rate pro Klasse. Die erstere gilt für verzögerungsempfindlichen Verkehr, und die letztere gilt für verzögerungstoleranten Verkehr. Wir betrachten den verwaltbaren Fall, bei dem die Summe der Klassen-Zuteilungen gleich der Verbindungsstrecken-Rate ist, und wir führen eine ergänzende Null-Klasse ein, der irgendeine nicht zugeteilte Kapazität zugeteilt wird. In dem Schema mit fester Dienst-Rate werden freie Zeitschlitze an ungeschützte Verkehrsströme abgegeben, so dass den geschützten Klassen eine gleichförmige Dienst-Rate garantiert wird. In dem Schema mit garantierter minimaler Dienst-Rate können irgendwelche von einer vorgegebenen geschützten Klasse nicht verwendeten Schlitze an eine andere geschützte Klasse vergeben werden. Somit ist die Dienst-Rate für jede geschützte Klasse zumindest gleich der zugeteilten Dienst-Rate. Das Schema mit einer festen Dienst-Rate muss für verzögerungsempfindlichen Verkehr verwendet werden. Das Schema mit garantierter minimaler Dienst-Rate kann Jitter einführen und kann lediglich mit verzögerungstolerantem Verkehr verwendet werden, der in manchen Fällen als nicht-Echtzeit-Verkehr bezeichnet wird.
  • (b) Null-Klasse
  • Die Summe der zugeteilten Dienst-Raten aller Klassen muss gleich der Verbindungsstrecken-Rate sein. Wenn diese Bedingung nicht erfüllt ist, wird eine Null-Klasse (beispielsweise die Klasse 0) eingeführt, und dieser wird die ungenutzte Kapazität zugeteilt. Die Null-Klasse kann ihre Zeit an ausgewählte Klassen spenden.
  • (c) Zwei-Pegel-Steuerung
  • Bei einer festen Dienst-Rate pro Klasse können die ungenutzten Zeitschlitze durch ungeschützten Verkehr verwendet werden, beispielsweise UBR- (nicht festgelegte Bitraten-) Verkehr.
  • Eine Zwei-Pegel-Steuerung bildet eine primäre Steuerung mit fester Dienst-Rate (oder einem konstanten Abtastintervall) und eine sekundäre Steuerung mit garantierter minimaler Dienst-Rate (oder einem veränderbaren Abtastintervall). 4 zeigt die Zuteilungen für die primäre Steuerung, die vier Klassen mit Diensten versorgt, und 5 zeigt die Zuteilungen für die sekundäre Steuerung, die sieben Klassen mit Diensten versorgt. Beide Steuerungen können eine Null- Klasse (Klasse 0) zuteilen. Die Dienstperioden sind als zusammenhängende Perioden aus Gründen der Klarheit gezeigt; die tatsächlichen Dienst-Schlitze würden wie in 3 verteilt. Die primären Klassen können CBR-Verkehr oder VBR-Verkehr mit einer festgelegten Spitzen-Rate oder anderen strengen Echtzeit-Anforderungen einschließen. Eine Null-Klasse in der primären Steuerung kann dazu verwendet werden, eine minimale Dienst-Rate für die sekundären Klassen zu garantieren. Die sekundären Klassen dienen für verzögerungstolerante Verkehrsströme. Eine Null-Klasse in der sekundären Steuerung kann dazu verwendet werden, eine minimale (Höflichkeits-) Dienst-Rate für UBR-ähnlichen Verkehr zu garantieren. Das Konzept kann auf eine Mehr-Pegel-Steuerung erweitert werden. Es sei bemerkt, dass wenn die sekundären Klassen ihre ungenutzten Zeitschlitze gemeinsam nutzen sollen, die Betriebsleistungs-Differenz abnimmt und sie sich sogar wie eine einzige Klasse verhalten können.
  • (d) Bewertetes Round-Robin-Schema: die generische Realisierung
  • Das bewertete zyklische oder Round-Robin-Schema ist die einfachstmögliche Realisierung einer Dienst-Raten-Steuerung. Dieses Schema kann jedoch ein schlechtes Verzögerungs-Betriebsverhalten haben und wird hier als ein generisches Schema für andere kompliziertere Realisierungen eingeführt.
  • Die Verbindungsstrecke wird gemeinsam von K Klassen verwendet, denen Dienst-Zeitscheiben x0, x1, ..., xK-1, in einem Zeitrahmen mit einer maximalen Dauer von x0 + x1 + ... +xK-1 Zeitschlitzen zugeteilt sind. Die Rahmendauer würde konstant (auf einem maximalen Wert) sein, wenn jede Klasse ihre Zuteilung unabhängig von dem Zustand (Leerlauf/Belegt) ihres Zellenpuffers (Warteschlange) verwendet. Wenn die Rahmen-Abtastung bei Auftreffen auf eine Leerlauf-Klasse fortgesetzt wird, so ist die Rahmendauer veränderlich.
  • (e) Abtastfreauenz-Abgleich zur Verringerung von Jitter
  • Die Abtastung eines verzögerungsempfindlichen Verkehrsstromes mit einer Rate, die höher als die ist, die für den Strom spezifiziert ist, ist allgemein unerwünscht, weil sie irgendeinen vorher angesammelten Jitter-Effekt auf nachfolgende Schaltpunkte weiterleitet. Die Abtastung mit der richtigen Dienst-Rate ist insbesondere für CBR-Ströme nützlich, weil dies im Sinne einer Glättung der zufälligen Periodenschwankungen wirkt. Eine sehr kleine Vergrößerung der Abtastfrequenz (beispielsweise eine relative Vergrößerung von 0,01) verbessert das Betriebsverhalten aus zwei Gründen. Zunächst kann ein geringfügiger Zeitsteuerfehler zu einer Abtastung mit einer Rate führen, die kleiner als die der Zellenankunftsrate ist, was andererseits zu einem Puffer-Überlauf führt. Zweitens kann sich bei einer periodischen Abtastung mehrerer CBR-Klassen das Abtastintervall für eine vorgegebene Klasse aufgrund eines Konfliktes mit anderen Klassen ändern, und eine kleine Vergrößerung der Abtastfrequenz (das heißt ein geringfügig verringertes Abtastintervall) würde nützlich sein.
  • Die europäische Patentanmeldung EP 0684717 beschreibt ein Kommunikations-Steuersystem zur Feststellung, ob es ihm erlaubt ist, eine ATM-Zelle über eine virtuelle Verbindung über eine mittlere Raten-Steuerung zu übertragen oder nicht, indem ein „leaky bucket"-Algorithmus realisiert wird.
  • Die Veröffentlichung Sriram (Computer Networks and ISDN-Systems, Band 26, Nr. 1, 1. September 1993, Seiten 43–59) schlägt eine ATM-Zellenmultiplexierung unter Verwendung eines dynamischen Zeitscheiben-Schemas vor, das eine erforderliche Bandbreite für jede Verkehrsklasse und/oder virtuelle Verbindung zuteilt und garantiert. Das Schema ist dynamisch, und es ermöglicht den unterschiedlichen Verkehrsklassen oder virtuellen Verbindungen, die Bandbreite mit einer weichen Begrenzung gemeinsam zu nutzen.
  • Ziele der Erfindung
  • Es ist daher ein Ziel der Erfindung, ein Verfahren zur Dienst-Raten-Steuerung in einem ATM-Netzwerk zu schaffen.
  • Es ist ein weiteres Ziel der Erfindung, ein Verfahren zur Verwaltung von Mehr-Klassen-Verkehr in dem Netzwerk zu schaffen.
  • Es ist ein weiteres Ziel der Erfindung, ein Verfahren zur Dienst-Raten-Steuerung auf der Grundlage von Frequenzdomänen-Steuerungen zu schaffen.
  • Es ist ein weiteres Ziel der Erfindung, ein Verfahren zur Dienst-Raten-Steuerung auf der Grundlage von Zeitdomänen-Steuerungen zu schaffen.
  • Zusammenfassung der Erfindung
  • Kurz gesagt ist gemäß einem Gesichtspunkt die Erfindung auf ein Verfahren zum Regeln des Telekommunikationsverkehrs in einem ATM-Netzwerk gerichtet, wobei der Telekommunikationsverkehr eine einzelne Klasse durch eine Dienst-Rate enthält, in der ein Klassen-Zellenpuffer zur Aussendung in Netzabwärtsrichtung abgetastet wird. Das Verfahren umfasst die Schritte des Akkumulierens einer normalisierten Dienst-Raten-Zuteilung für die Klasse in jeder Zellen-Periode in einem Klassen-Addierer; das Erklären der Klasse als für einen Dienst auswählbar, wenn der Inhalt des Klassen-Addierers Eins übersteigt; das Reduzieren des Klassen-Addierer-Inhaltes um Eins, wenn eine Zelle aus der Warteschlange aus dem Klassen-Zellenpuffer entfernt wird; und das Verringern des Klassen-Addierer-Inhaltes um seinen ganzzahligen Teil, wenn der Klassen-Addierer-Inhalt größer als Eins ist, der Klassen-Zellenpuffer jedoch leer ist.
  • Gemäß einem weiteren Gesichtspunkt ist die Erfindung auf ein Verfahren zum Regeln des Telekommunikationsverkehrs, der eine einzige Klasse durch eine Dienst-Rate enthält, gerichtet, in der ein Klassen-Zellenpuffer für eine Aussendung in Netzabwärtsrichtung abgetastet wird. Das Verfahren umfasst die Schritte des Initialisierens eines Klassen-Status-Zählers auf Null; des Initialisierens eines Klassen-Addierers mit dem festgelegten Dienste-Intervall für die Klasse, des Vergleichens des Klassen-Addierer-Inhaltes mit einem Bezugszeit-Zähler; des Erklärens einer Klasse für einen Dienst auswählbar, wenn der ganzzahlige Teil des Klassen-Addierer-Inhaltes gleich dem Bezugszeit-Zähler ist; des nachfolgenden Vergrößerns des Klassen-Addierers um den Wert des festgelegten Dienste-Intervalls für die Klasse und des Vergrößerns des Klassen-Status-Zählers um Eins, wenn die Klasse für einen Dienst auswählbar ist und der Klassen-Zellenpuffer nicht leer ist.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Kreisdiagramm, das ein Beispiel der Dienste-Zeitzuteilungen in einer bewerteten „Round Robin"- (zyklischen) Steuerung mit vier Klassen;
  • 2 ist ein Kreisdiagramm, das unterschiedliche Zuteilungen für das Beispiel nach 1 zeigt;
  • 3 ist ein Kreisdiagramm, das aufgespreizte Dienste-Zeiten mit den gleichen Zuteilungen wie in 1 zeigt;
  • 4 ist ein Kreisdiagramm, das die Zuteilungen für verzögerungsempfindliche primäre Klassen mit einer Null-Klassen-Zuteilung zeigt, um eine minimale Dienst-Rate für die sekundären Klassen zu garantieren;
  • 5 ist ein Kreisdiagramm, das die Zuteilungen für verzögerungstolerante sekundäre Klassen zeigt;
  • 6 ist eine schematische Darstellung für eine Frequenzdomänen-Steuerung für eine einzige Klasse;
  • 7 ist eine schematische Darstellung einer Mehrklassen-Frequenzdomänen-Steuerung;
  • 8 ist ein Diagramm, das die Betriebsweise der Frequenzdomänen-Steuerung mit einer Raten-Akkumulation pro Zellenzeit zeigt;
  • 9 ist ein Diagramm, das die Betriebsweise der Frequenzdomänen-Steuerung mit der Raten-Akkumulation während jeder zwei Zellenzeiten zeigt;
  • 10 ist eine schematische Darstellung einer Zwei-Pegel-Mehrklassen-Frequenzdomänen-Steuerung;
  • 11 ist ein Diagramm, das den Änderungskoeffizienten des tatsächlichen Abtastintervalls als eine Funktion des spezifizierten Abtastintervalls zeigt, das durch Simulieren einer 32-Klassen-Frequenzdomänen-Steuerung bei einer Belegung von 99% bestimmt ist;
  • 12 ist ein Diagramm, das den Koeffizienten der normalisierten maximalen Abtastintervall-Abweichung als eine Funktion des spezifizierten Abtastintervalls zeigt, bei Bestimmung durch Simulieren einer 32-Klassen-Frequenzdomänen-Steuerung mit einer Belegung von 99%;
  • 13 ist ein Diagramm, das den Koeffizienten der Änderung des Abtastintervalls als eine Funktion des spezifizierten Abtastintervalls zeigt, das durch Simulieren einer 32-Klassen-Frequenzdomänen-Steuerung bei einer Belegung von 50% bestimmt wurde;
  • 14 ist ein Diagramm, das den Koeffizienten der normalisierten maximalen Abtastintervall-Abweichung als eine Funktion des spezifizierten Abtastintervalls zeigt, das durch Simulieren einer 32-Klassen-Frequenzdomänen-Steuerung bei einer Belegung von 50% bestimmt wurde;
  • 15 ist ein Diagramm, das den Koeffizienten der Änderung des Abtastintervalls als eine Funktion des spezifizierten Abtastintervalls für eine simulierte 32-Klassen-Frequenzdomänen-Steuerung bei einer Belegung von 99% mit den Akkumulations-Perioden von 1, 2, 4 und 8 Zellenintervallen zeigt;
  • 16 ist ein Diagramm, das die maximale normalisierte Abweichung des Abtastintervalls als Funktion des spezifizierten Abtastintervalls für das gleiche Simulationsexperiment nach 15 zeigt;
  • 17 ist eine schematische Darstellung einer Einzelklassen-Zeitdomänen-Steuerung;
  • 18 ist ein Diagramm, das die Abtastzeitpunkte in einer Zeitdomänen-Steuerung mit einer unendlichen Wortlänge zeigt;
  • 19 und 20 sind Diagramme, die die Abtastzeitpunkte in einer Zeitdomänen-Steuerung mit einem Addierer für eine endliche Wortlänge zeigen;
  • 21 ist ein Diagramm, das die Bedingung zeigt, unter der eine Abtastung in einer Zeitdomänen-Steuerung nicht möglich ist;
  • 22 zeigt die Nachführungsfunktion der Zeitdomänen-Steuerung;
  • 23 zeigt die Funktion der Zeitdomänen-Steuerung bei einer endlichen Wortlänge;
  • 24 ist eine schematische Darstellung einer Mehrklassen-Zeitdomänen-Steuerung;
  • 25 zeigt ein Beispiel eines zusammengesetzten Stroms, der sich aus der Multiplexierung von vier Strömen ergibt;
  • 26 zeigt den bei den einzelnen Strömen nach 25 auftretenden Jitter-Effekt;
  • 27 ist eine schematische Darstellung einer 2-Pegel-Mehrklassen-Zeitdomänen-Steuerung;
  • 28 und 29 sind Diagramme, die die Betriebsleistung einer 32-Klassen-Zeitdomänen-Steuerung zeigen, die bei einer Belegung von 99% betrieben wird;
  • 30 und 31 sind Diagramme, die die Betriebsleistung einer 32-Klassen-Zeitdomänen-Steuerung zeigen, die bei einer Belegung von 50% betrieben wird;
  • 32 ist ein Diagramm, das die Verwendung einer Zeit-Raum-Umsetzung für die Dienst-Raten-Steuerung mit einer Ein-zu-Eins-Entsprechung zwischen den Zeitschlitzen und den Raumschlitzen zeigt;
  • 33 ist ein Diagramm, das die Zeit-Raum-Umsetzungsfunktion mit erweiterten Raumschlitzen zeigt;
  • 34 ist ein Diagramm, das den Hauptbetrieb der seriellen Zeitdomänen-Steuerung zeigt;
  • 35 und 36 sind Diagramme, die zwei aufeinanderfolgende Schritte der Betriebsweise der seriellen Zeitdomänen-Steuerung zeigen;
  • 37 ist ein Diagramm, das die Pipeline-Wirkung der seriellen Zeitdomänen-Steuerung zeigt;
  • 38 ist eine schematische Darstellung, die die Hauptstruktur der seriellen Zeitdomänen-Steuerung zeigt;
  • 39 ist eine schematische Darstellung, die die erneuerte Registrierung einer mit Diensten versorgten Klasse in der seriellen Zeitdomänen-Steuerung zeigt;
  • 40 ist eine schematische Darstellung, die die Hauptstruktur der seriellen Zeitdomänen-Steuerung mit einem regelnden Puffer zeigt;
  • 41 und 42 sind Diagramme, die Simulationsergebnisse für eine serielle 128-Klassen-Zeitdomänen-Steuerung zeigen, die mit einer Belegung von 99% mit Dehnungsfaktoren von 2 und 4 betrieben wird. Die gezeigten Betriebsleistungs-Indizes sind der Änderungskoeffizient und die normalisierte maximale Abweichung des tatsächlichen Abtastintervalls, jeweils aufgetragen als eine Funktion des spezifizierten Abtastintervalls;
  • 43 und 44 sind Diagramme, die Simulationsergebnisse für eine serielle 128-Klassen-Zeitdomänen-Steuerung zeigen, die bei einer Belegung von 50% mit Dehnungsfaktoren von 1 und 2 betrieben wird. Die gezeigten Betriebsleistungs-Indizes sind der Koeffizient der Variation um die normalisierte maximale Abweichung des tatsächlichen Abtastintervalls, die jeweils als eine Funktion des spezifizierten Abtastintervalls aufgetragen sind;
  • 45 ist ein Diagramm, das die funktionelle Organisation einer Verbund-Steuerung zeigt; und
  • 46 ist ein Diagramm, das die Struktur einer Verbund-Steuerung zeigt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen der Erfindung
  • Eine Dienst-Raten-Steuerung kann so ausgelegt werden, dass sie die Abtast-Rate pro Klasse oder äquivalent das Abtastintervall pro Klasse erfüllt. Obwohl diese zwei Optionen der Frequenz- und Zeitdomänen-Steuerungen funktionelle äquivalent sind, können sich die Hardware-Implementationen wesentlich unterscheiden. Die Frequenzdomänen-Steuerschemas sind für eine kleine oder mittlere Anzahl von Klassen geeignet. Für eine große Anzahl von Klassen, beispielsweise mehrere Hundert, ist eine Zeit-Raum-Umsetzung verbunden mit Zeitdomänen-Steuerschemas vorzuziehen.
  • Steuerung A: parallele Frequenzdomänen-Steuerung
  • A.1 Zugrundeliegende Prinzipien
  • Die grundlegenden Konzepte der Frequenzdomänen-Steuerung der Erfindung sind wie folgt: es sei R die Verbindungsstrecken-Rate in Zellen pro Sekunde, und Fj sei die erforderliche Abtastfrequenz der Klasse j, 0 ≤ j < K-1, derart, dass die Gesamt-Abtastfrequenz für die K Klassen kleiner als R ist. Es sei fj die normalisierte Abtastfrequenz der Klasse j:
    Figure 00100001
  • Weil die zugeteilte Dienst-Rate pro Klasse kleiner als die Verbindungsstrecken-Rate ist, und weil es nicht möglich ist, einen Bruchteil einer Zelle zu irgendeiner Zeit zu übertragen, ist es erforderlich, über mehrere Zellen-Zeiten zu warten, damit man für die Übertragung von einer oder mehreren Zellen von einem vorgegebenen Klassen-Puffer auswählbar ist. Somit würde ein einfacher paralleler Integrator, wie er in 6 gezeigt ist, ausreichen, um anzuzeigen, wann jede Klasse für einen Dienst auswählbar ist. Bei jedem Taktzyklus wird eine normalisierte Abtastfrequenz addiert. Weil die Betriebsweise in diskreter Zeit erfolgt, wird die Integration durch eine Summierung der normalisierten Abtastfrequenz ersetzt. Jedesmal dann, wenn die Summierung Eins übersteigt, wird die Klasse mit Diensten versorgt, und die Summe wird um 1,0 reduziert. 7 zeigt den Parallelbetrieb der Abtasteinrichtung nach 6 für die Fälle von K Klassen. Wenn in 7 die Summierung der Frequenzzuteilungen für eine vorgegebene Klasse Eins übersteigt, so wird die Summierung um 1,0 reduziert, selbst wenn der Klassen-Zellenpuffer leer ist. Wenn der Klassen-Zellenpuffer nicht leer ist, wird die Klassen-Nummer in die Bereitschafts-Warteschlange eingeführt. Wenn die Bereitschafts-Warteschlange nicht leer ist, wird die Klasse am Kopfende mit Diensten versorgt. Anderenfalls kann der freie Schlitz auf der Bereitschafts-Warteschlange einer anderen Klasse von verzögerungstolerantem oder ungeschütztem Verkehr zugeteilt werden.
  • Die Abtastfrequenzen in 7 können individuell aktualisiert werden, wenn die Notwendigkeit entsteht, ohne die Betriebsweise der Steuerung zu unterbrechen. Es ist möglich, die Integratoren aufeinanderfolgend aufzusuchen, beispielsweise zwei pro Zellenzeit, und die auswählbaren aktiven Klassen in die Bereitschafts-Warteschlange einzugeben. Die Integratoren müssen jedoch parallel arbeiten.
  • A.2 Beispiel
  • Als ein Beispiel zeigt die nachfolgende Tabelle die einfache arithmetische Operation für einen Fall von 8 Klassen, bei dem die Summe der Klassen-Frequenzzuteilungen gleich 0,9999 ist. Eine Klasse ist für Dienste auswählbar, wenn das Integral (Summierung) ihrer normalisierten Abtastfrequenz Eins übersteigt. Die Klassen werden in einer „Round Robin" (zyklischen) Weise aufgesucht, und die auswählbaren Klassen werden durch einen Punkt in der Tabelle angezeigt.
  • Figure 00110001
  • A.3 Auflösung
  • Für eine präzise Abtastung bei den erforderlichen Frequenzen kann die Summierung in den 6 und 7 in einer Fließkomma-Arithmetik realisiert werden. Wenn eine Ganzzahl-Summierung verwendet wird, muss die Abtastfrequenz-Darstellung aufgerundet werden. Mit einer Wortlänge von 12 Bits oder dergleichen würde die Überabtastung aufgrund der Aufrundung vernachlässigbar klein sein. Es kann sogar argumentiert werden, dass eine geringfügige Überabtastung nützlich ist.
  • In idealer Weise würde das Integrationsintervall die Zellenzeit sein, das heißt die normalisierte Dienst-Rate pro Klasse (normalisierte Abtastfrequenz pro Klasse) wird innerhalb jeder Zellenzeit addiert. Langsamere Addierer können dadurch verwendet werden, dass das Integrationsintervall auf mehrfache Zellen-Zeiten vergrößert wird und der Integrant entsprechend vergrößert wird. Wenn beispielsweise die normalisierte Abtastfrequenz für eine vorgegebene Klasse 0,20 ist, und die Summierung innerhalb von jeweils vier Zellenzeiten ausgeführt wird, so wird 0,80 anstelle von 0,20 hinzuaddiert. Die Verwendung einer Aktualisierung mit großen Zeitintervallen vergrößert den Abtastintervall-Jitter-Effekt.
  • 8 zeigt den Abtastprozess mit einer schnellen Aktualisierung, bei der die Aktualisierung bei jedem Zellenintervall erfolgt, und 9 zeigt die Verwendung einer langsameren Aktualisierung, bei der die Summierung mit der halben Rate durchgeführt wird, das heißt mit einem Intervall von jeweils zwei Zellen, jedoch mit der doppelten Schrittweise pro Aktualisierung. Der vertikale Schritt ist die normalisierte Abtastfrequenz in 8 und das Doppelte der normalisierten Abtastfrequenz in 9. Der Klassen-Puffer kann jedesmal dann abgetastet werden, wenn die Summierung Eins übersteigt. Die Abtastung kann verzögert werden, wenn zwei oder mehrere Klassen gleichzeitig für eine Abtastung auswählbar sind.
  • A.4 Zwei-Pegel-Implementation
  • Eine Zwei-Pegel-Implementation, die eine gemeinsame Nutzung zwischen Klassen, falls passend, ermöglicht, kann wünschenswert sein. Die nicht verwendeten Zeitschlitze in einer Einzelpegel-Steuerung können gemeinsam von anderen Klassen genutzt werden, die durch eine sekundäre Steuerung gesteuert werden. Die unbenutzten Schlitze können diejenigen einschließen, die zu einer Null-Klasse gehören. Die gemeinsame Nutzung derartiger Schlitze kann durch eine Zwei-Pegel-Steuerung realisiert werden, wie sie in 10 gezeigt ist. Wenn dies erwünscht ist, können die ungenutzten Schlitze einer vorgegebenen primären Klasse für eine andere primäre Klasse verfügbar gemacht werden. Dies heißt mit anderen Worten, dass eine primäre Klasse auch als eine sekundäre Klasse erscheinen kann. Es ist jedoch hervorzuheben, dass eine Überabtastung nicht für verzögerungsempfindlichen Verkehr verwendet werden sollte. 10 zeigt vier primäre Klassen, und der Ausgang der Abtasteinrichtung für jede primäre Klasse k wird einer UND-Verknüpfung mit dem Zustand des Puffers Sk (0 oder 1) unterworfen, um die Auswählbarkeit für die Abtastung zu bestimmen. Wenn keine der primären Klassen bereit ist, wird der Schlitz den sekundären Klassen geschenkt. Wenn eine primäre Klasse ein doppeltes Erscheinungsbild hat, das heißt wenn sie auch als eine sekundäre Klasse erscheint, so kann sie immer noch während der Zeitschlitze mit Diensten versorgt werden, in denen sie nicht für einen Dienst als eine primäre Klasse auswählbar ist.
  • A.5 Betriebsleistung
  • Der Betriebsleistungs-Index der Steuerung kann als die Abweichung der tatsächlichen Abtastfrequenz von der erforderlichen Abtastfrequenz definiert werden. Zwei Messungen sind von Interesse: der Koeffizient der Änderung des Abtastintervalls und der absolute Wert der maximalen Abweichung des Abtastintervalls. Die Betriebsleistung wird geringfügig durch die Mechanismen beeinflusst, die zur Versorgung der auswählbaren Klassen mit Diensten verwendet werden. In 7 wird jedesmal dann, wenn eine auswählbare Klasse aufgefunden wird, sie in die gezeigte „Bereitschafts-Warteschlange" eingeführt, die entsprechend einer FIFO-Disziplin mit Diensten versorgt wird. Eine Alternative zur Warteschlangenbildung besteht in dem Erfassen und Versorgen von Diensten für die auswählbaren Klassen unter Verwendung einer fairen Kombinationsschaltung.
  • Die 11 und 12 zeigen die Betriebsleistungs-Indizes für einen Fall von 32 Klassen, bei dem die Summe der normalisierten Abtastfrequenz-Zuteilungen 0,99 ist (das heißt die Verbindungsstrecken-Belegung ist 0,99). 11 zeigt den Koeffizienten der Variation der Dienste-Period (Abtastintervall) bei voller Belegung, und 12 zeigt die maximale Abweichung der Dienst-Periode (Abtastintervall) bei voller Belegung. 13 zeigt den Koeffizienten der Variation der Dienst-Periode (Abtastintervall) bei einer Belegung von 50%, und 14 zeigt die maximale Abweichung der Dienste-Periode (Abtastintervall) bei einer Belegung von 50%. Die Abtastintervall-Abweichung nimmt von Natur aus ab, wenn die Verbindungsstrecken-Belegung abnimmt. Das Jitter-Betriebsverhalten verbessert sich, wenn das Abtastintervall ansteigt. Es sei weiterhin bemerkt, dass sich die Betriebsleistung verbessert, wenn die Gesamtzahl der Klassen abnimmt.
  • Um die Auswirkung einer langsameren Aktualisierung auf die Betriebsleistung zu studieren, wurde eine 32-Klassen-Steuerung, die bei einer Belegung von 0,99 arbeitet, mit den Aktualisierungsintervallen von 1, 2, 4 und 8 Zellenzeiten simuliert. Der Koeffizient der Änderung oder Variation und die relative maximale Abweichung des Abtastintervalls sind in den 15 bzw. 16 gezeigt. 15 zeigt die Abhängigkeit des Koeffizienten der Änderung des Abtastintervalls von dem Aktualisierungsintervall, und 16 zeigt die Wirkung des Aktualisierungsintervalls auf die maximale Abweichung des Abtastintervalls. Es scheint, dass eine Vergrößerung des Aktualisierungsintervalls um einen Faktor von 4 oder weniger wenig Auswirkung auf die Betriebsleistung hat.
  • Steuerung B: parallele Zeitdomänen-Steuerung
  • B.1 Zugrundeliegende Prinzipien
  • Die grundlegenden Konzepte der Zeitdomänen-Steuerung sind wie folgt: die Steuerung versucht, die erforderlichen Abtastzeitpunkte der betrachteten Verkehrsströme nachzuführen. In einer einfachen Implementation für eine einzige Klasse wird der Akkumulator mit dem Abtastintervall Δ initialisiert. Wenn die Taktzeit gleich dem Inhalt des Akkumulators ist, wird eine Abtastgenehmigung abgegeben, und der Wert Δ wird zu dem Akkumulator-Inhalt hinzuaddiert. In 17, die eine Einzelklassen-Steuerung (Abtasteinrichtung) zeigt, wird, wenn das Ergebnis des Vergleichers 1 ist, der Akkumulator freigegeben und die Anzahl der mit Diensten zu versorgenden Zellen wird um 1 vergrößert. Wenn der Klassen-Puffer leer ist, wird die Anzahl der mit Diensten zu versorgenden Zellen auf Null reduziert. Um die Genauigkeit aufrechtzuerhalten sollte der Wert Δ durch eine ausreichend große Wortlänge dargestellt werden. Der Zeitzähler kann jedoch eine kleinere Anzahl von Bits verwenden. 17 zeigt eine Ausführungsform, bei der ein 6-Bit-Zähler und eine 9-Bit-Wortlänge für das Abtastintetvall Δ gezeigt sind. Es seien W und w die Wortlängen (Bits) des Abtastintervalls bzw. des Zeitzählers. Der Vergleicher würde die w höchstbewerteten Bits des W-Bit breiten Akkumulator-Inhaltes verwenden. Das System arbeitet immer mit einer unendlichen Wortlänge. Mit der endlichen Wortlänge des Akkumulators und des Zeitzählers muss die Periode H des (zyklischen) Zeitzählers das Abtastintervall Δ übersteigen, da anderenfalls der Ausgang des Vergleichers immer Null sein würde. Wenn der nicht-leere Klassen-Puffer abgetastet wird, wird die Anzahl von mit Diensten zu versorgenden Zellen um 1 reduziert.
  • 18 zeigt die Betriebsweise einer Einzelklassen-Abtasteinrichtung mit eine unendliche Wortlänge aufweisenden Zeitzählern. 19 zeigt die Wirkung der endlichen Wortlänge, und 20 zeigt die Wirkung einer kürzeren Wortlänge. Die Klasse wird so lange richtig abgetastet, wie H > Δ ist, worin die Wortlänge log2H Bits ist. 21 zeigt den Fall einer unzureichenden Wortlänge, wenn H < Δ ist, wobei die Abtasteinrichtung aufhört, zu arbeiten. Der Wert von H muss größer als das größte erwartete Abtastintervall sein. Beispielsweise kann ein 10-Bit-Addierer Abtastintervalle von weniger als 1024 Zeitschlitzen (Zellenzeiten) abwickeln. Es ist wichtig, festzustellen, dass die Anzahl von Bits in der zyklischen Zeitdarstellung dem Quantisierungsfehler (das heißt den Fehler bei der Darstellung der erforderlichen Abtastrate) bestimmt, während die Anzahl der Bits in dem Vergleicher den Abtastbereich bestimmt, das heißt das maximal zulässige Abtastintervall.
  • B.2 Beispiel
  • Als ein Beispiel sei der Fall betrachtet, bei dem das Abtastintervall einer vorgegebenen Klasse 2,38 Zeitschlitze (Zellenzeiten oder Zellendauern) ist, was durch eine reelle Zahl dargestellt ist. 22 zeigt den erforderlichen Abtastzeitpunkt T (in einer Fließkomma-Darstellung) in der oberen Reihe, und vergleicht sie mit der ganzzahligen Taktzeit in der mittleren Reihe. Die Zeitpunkte, zu denen der ganzzahlige Teil von T gleich der Taktzeit ist, sind die Kandidaten-Abtastzeitpunkte, und sie sind durch die schraffierten Schlitze in der unteren Reihe angezeigt. Ein gewisser Jitter-Effekt wird in dem Prozess aufgrund der diskreten Zeit-Betriebsweise und der endlichen Wortlänge erzeugt. Dieser Jitter-Effekt ist jedoch typischerweise im Vergleich mit dem Jitter-Effekt vernachlässigbar, der durch das Zusammenfallen von Mehrklassen-Abtastzeitpunkten hervorgerufen wird. Es sei bemerkt, dass der Jitter-Effekt aufgrund des diskreten Zeit-Betriebs allen Dienst-Raten-Steuerungen gemeinsam ist, wenn das gewünschte Abtastintervall kein ganzzahliges Vielfaches der Zellenzeit ist.
  • B.3 Auflösung: Beispiel eines 3-Bit-Zähler-6-Bit-Addierers
  • Als ein Beispiel des Jitter-Effekts, der sich aus einer endlichen Wortlänge ergibt, zeigt 23 den Fall, wenn der Akkumulator auf 6 Bit genau ist (W = 6), während der Zeitzähler auf 3 Bit genau ist (w = 3). Die Abtastzeitpunkte sind mit fetten Buchstaben in der ersten Spalte gezeigt. Der Zyklus H = 23 ist größer als die Abtastperiode Δ = 2,38. Die horizontalen Linien in 23 zeigen die Abtastzeitpunkte an. Die erste Spalte in der Tabelle zeigt die diskrete Zeit an, die zweite Spalte zeigt die zyklische Zeit an; und die 6 Bit-Zahlen stellen die erforderlichen Abtastzeitpunkte dar. Bei Skalierung durch einen Faktor von 8 ist der Wert von Δ (2,38) durch 19 dargestellt (binär 010011). Dies führt zu einer Überabtastung um einen Faktor von (8 × 2,38/19) – 1 = 0,002. Die Überabtastung kann durch die Verwendung von mehr Bits für die Zeitdarstellung reduziert werden, beispielsweise von 12 Bits anstelle von 6.
  • B.4 Parallele Abtasteinrichtung
  • 24 zeigt eine Anzahl von Abtasteinrichtungen, die parallel und unabhängig voneinander arbeiten. Ein zyklischer oder „Round Robin"-Wähler kann zur Auswahl der nächsten Klasse verwendet werden, die für einen Dienst bereit ist. Alternativ kann eine FIFO-Warteschlange zum Speichern der Nummern der aktiven Klassen verwendet werden, die für einen Dienst auswählbar sind.
  • Es sein bemerkt, dass während irgendeines Zeitschlitzes zwei oder mehr Klassen für einen Dienst auswählbar sein können. Diese Struktur ist sehr einfach, schnell und robust, doch ist sie lediglich für eine mittlere Anzahl von Klassen (beispielsweise 32) geeignet.
  • B.5 Jitter-Effekt bei paralleler Abtasteinrichtung
  • Der Abtast-Jitter-Effekt für eine Einzelklassen-Steuerung wurde vorstehend beschrieben. Bei einer Mehrklassen-Abtastung wird ein Jitter-Effekt auch bei dem Klassen-Auswahlprozess erzeugt, wenn mehrfache Klassen für einen Dienst während eines Zeitschlitzes bereit sind. 25 zeigt eine parallele Abtasteinrichtung (ein x bezeichnet unbenutzte Zeitschlitze). In 25 sind vier Klassen in der gezeigten Weise abzutasten, und die Multiplexierung in dem zusammengesetzten Datenstrom führt zu einem zusätzlichen Jitter-Effekt. Der Gesamt-Jitter-Effekt ist jedoch vernachlässigbar klein. 26 zeigt den Jitter-Effekt, der in den einzelnen Klassen auftritt.
  • B.6 Zwei-Pegel-Implementierung
  • Eine Zwei-Pegel-Implementierung einer Typ-B-Steuerung, ähnlich zu der der Steuerung A, kann so verwendet werden, wie dies in 27 gezeigt ist.
  • B.7 Betriebsleistung
  • Eine 32-Klassen-Steuerung wurde über 107 Zeitschlitze (ein Zeitschlitz ist die Zellendauer) simuliert. Die Abtastintervalle wurden zufällig ausgewählt und normalisiert, so dass sich eine vorgegebene Belegung ergab. 28 und 29 zeigen den Koeffizienten der Änderung bzw. die maximale Abweichung des tatsächlichen Abtastintervalls für den Fall einer vollständigen Belegung. 30 zeigt den Dienstperioden-Koeffizienten der Änderung bei 50% Belegung, und 31 zeigt die maximale Abtastintervall-Abweichung bei 50% Belegung. Der Jitter-Effekt ist klein, wie dies erwartet wird. Es sei bemerkt, dass der Verbindungsstrecken-Abschnitt, der ausschließlich für den Klassen-gesteuerten Verkehr bestimmt ist, wahrscheinlich beträchtlich kleiner als Eins ist (beispielsweise 0,5).
  • Steuerung C: serielle Zeitdomänen-Steuerung
  • C.1 Zugrundeliegende Prinzipien
  • Die grundlegende Betriebsweise dieser Steuerung wird als erstes erläutert. Das serielle Gegenstück der Typ-B-Steuerung würde grundlegend als eine einzige Zeit-Raum-Abbildung oder Umsetzung implementiert, bei der eine neue Adresse für eine vorgegebene Klasse durch Addieren des Abtastintervalls der Klasse zu der derzeitigen Adresse bestimmt wird. Die Abbildung wird sequenziell abgetastet, und die Adressen-Aktualisierung erfolgt unabhängig davon, ob die Klasse aktiv ist oder nicht. Mit willkürlichen Abtastintervallen für die unterschiedlichen Klassen kann eine neue Adresse mit einer bereits reservierten Adresse kollidieren. Die Abbildung kann dann abgetastet werden, bis eine freie Adresse gefunden wird. Dies kann zu einer Raum-Überlastung mit einer langen Folge von aufeinanderfolgenden belegten Adressen führen, wenn die Anzahl der Klassen groß ist. Die Anhäufung von belegten Adressen in einem seriellen Abbildungssystem ist in 32 gezeigt, in der die derzeitige Klasse durch Addieren des Abtastintervalls L aktualisiert wird. Es ist nicht nur der Ziel-Raum belegt, sondern nahegelegene Räume sind ebenfalls besetzt. Dies führt zu zwei Schwierigkeiten: der Verzögerungs-Jitter-Effekt würde zu groß sein, und der Abtastaufwand pro Transaktion kann zu hoch sein, um innerhalb eines Zeitschlitzes verwirklicht zu werden.
  • In 32 gibt es eine Eins-zu-Eins-Entsprechung zwischen den Zeitschlitzen und dem Speicherplatz. Die Raum-Überlastung kann dadurch vermieden werden, dass ein tieferer Speicher (größere Abbildung verwendet wird und das Abtastintervall entsprechend skaliert wird, das heißt die Raum-Zeit-Abbildung wird gedehnt. Beispielsweise würde eine Verdoppelung der Abbildungs-Speichergröße erfordern, dass ein Abtastintervall von 8,24 Zeitschlitzen auf 16,48 Adressenschlitze gedehnt wird. Dies ist in 33 gezeigt, in der ein Dehnungsfaktor von 2 verwendet wird. Es sei bemerkt, dass die Dehnung der Zeit-Raum-Abbildung um einen ganzzahligen Dehnungsfaktor N, der größer als Eins ist, zu einer Verringerung der räumlichen Belegung des Abbildungsspeichers um den gleichen Faktor N führt, wodurch die Betriebsleistung verbessert wird.
  • C.2 Implementierungs-Überblick
  • Das Schema kann entsprechend der folgenden Hauptschritte implementiert werden:
    • – ein Klassen-Daten-Speicher speichert das erforderliche Klassen-Abtastintervall Δ und die kumulative Abtastzeit T für jede Klasse (Speicherbreite hängt von der erforderlichen Auflösung ab);
    • – ein Speicher für bereite Klassen (der nachfolgend als Speicher A bezeichnet wird) speichert Klassennummern; die Speicherbreite ist log2 (aufgerundet) der höchsten Nummer von Klassen;
    • – ein Dienstestatus-Speicher (der nachfolgend als Speicher B bezeichnet wird) speichert den Besetzt/Leerlauf-Zustand des Speichers A (der Speicher B ist 1 Bit breit);
    • – ein Addierer arbeitet parallel zur Speicherabtastoperation, um den Wert von T zu aktualisieren; und
    • – eine auferlegte Abtastgrenze vereinfacht die Zeitsteuerung.
  • Die 34 und 35 zeigen zwei aufeinanderfolgende Schritte der seriellen Nachführoperation. Für jede der K > 0 Klassen speichert der Klassen-Daten-Speicher die Abtastperiode D, wie sie durch den Verbindungs-Zulassungssteuerungs- (CAC-) Prozess bestimmt wird, und die nächste Abtast- Adresse T. Der Speicher A speichert die Nummern der mit Diensten zu versorgenden Klassen, während jede Adresse abgetastet wird. Beispielsweise sollte für 64000 Klassen der Speicher A 16 Bit breit sein. Der Inhalt des Speichers B (1 Bit breit) zeigt an, ob die entsprechende Adresse im Speicher A belegt ist oder nicht. Wenn der Speicher B anzeigt, dass die Klasse für einen Dienst an einem vorgegebenen Schlitz verlegt ist, wird die nächste Adresse aus dem Klassen-Daten-Speicher gelesen, und die nächste Adresse wird in dem Klassen-Daten-Speicher aktualisiert. Der Speicher B ist nicht wesentlich, und er wurde lediglich eingeführt, um eine Entkopplung der Schritte zu ermöglichen, die einen Zugriff auf den Speicher A erfordern, und damit bei der Beschleunigung der Raten-Steuerfunktion.
  • Die Abhängigkeit jedes Schrittes von seinen vorhergehenden Schritten erfordert, dass Mechanismen zur Überprüfung des einwandfreien Zustands und Fehler-Erholungsmechanismen vorgesehen werden. Dies wird mit einigen Einzelheiten weiter unten erläutert.
  • In 34 zeigte am Schlitz 8088 der Speicher B an, dass es einen Eintrag in dem Speicher A gibt, und der Inhalt des Speichers A an der Adresse 8088 zeigte an, dass die Klasse 1 für Dienste auswählbar ist. Die nachfolgende Abtastzeit der Klasse 1 wird aus dem Klassen-Daten-Speicher gelesen und es wird festgestellt, dass sie 8119 ist. Der Speicher B wird dann nach einem freien Eintrag (ein Eintrag, der 0 enthält) beginnend mit der Adresse 8119 durchsucht. Die nächste Leerstelle fand sich an der Adresse 8120. Die Klassennummer (1 in diesem Fall) wird dann an der Adresse 8120 des Speichers A gespeichert. Die nächste Abtastzeit der Klasse 1 wird als 8119 + 33 berechnet, und die Zahl 8152 wird in dem T-Feld der Klasse-1-Daten gespeichert (wodurch der vorhergehende Wert von 8119 ersetzt wird).
  • In 35 ist die folgende Belegt-Adresse im Speicher B gleich 8095, und der Speicher A an dieser Adresse zeigt an, dass die Klasse 0 für einen Dienst auswählbar ist. Die Abtastperiode der Klasse 0 ist 20, und der nächste Abtastzeitpunkt entspricht der Adresse 8114. Hier ist zufällig die Adresse 8114 frei. Der Speicher B wird als Adresse 8114 markiert, und die Klassennummer (0) wird im Speicher A an der Adresse 8114 gespeichert. Die nächste Abtastzeit der Klasse 0 wird als 8114 + 20 berechnet, und die Zahl 8134 wird in dem T-Feld der Klasse 0 gespeichert (und ersetzt den vorhergehenden Wert von 8114).
  • 36 zeigt einen Fall, bei dem die Abtastperiode einer Klasse sehr klein ist. Wenn der Speicher A und der Speicher B unabhängig abgetastet werden, kann der Lesezeiger des Speichers B zu einer belegten Adresse fortschreiten, bevor die Schreibadresse des Speichers B (oder A) durch die gerade ablaufende Transaktion bestimmt wird. Dies würde auftreten, wenn die Abtastperiode der vorher angetroffenen Klasse klein ist. Um dieses Problem zu lösen, sollte die Leseadresse des Speichers B mit der Schreibadresse des Speichers A ausgerichtet werden, wenn der letztere kleiner ist (unter Berücksichtigung der kreisförmigen Abtastung der Speicher A und B).
  • 37 zeigt die Operationen, die im Speicher B, im Speicher A, dem Klassen-Daten-Speicher Q und dem Addierer ablaufen. Es gibt vier grundlegende Operationen: Abtasten des Speichers B zum Suchen nach einer Marke (einem einzelnen Bit, das auf 1 gesetzt ist), Lesen der Klassennummer von dem Speicher A, Lesen der Klassen-Daten aus dem Klassen-Daten-Speicher Q, um die gewünschte Schreibadresse im Speicher A zu erhalten, Addieren, um die Schreibadresse für die nächste Zelle der gleichen Klasse zu bestimmen, und Abtasten des Speichers B zum Auffinden der nächsten freien Speicheradresse nach der gewünschten Schreibadresse. Diese Operationen würden koordiniert, um die Gesamt-Verarbeitungszeit pro Zelle zu verringern.
  • C.3 Implementierungs-Einzelheiten
  • Ein Überblick über ein Implementierungs-Schema einer Typ-C-Steuerung wird in 38 gegeben. Der Klassen-Daten-Speicher wird mit jeder neuen Klasse und jedem Abgang einer Klasse aktualisiert. Wie dies weiter oben erwähnt wurde, kann eine Klasse eine Verbindung enthalten, oder sie kann zwei oder mehr Verbindungen enthalten. Es gibt zwei Felder in dem Klassen-Daten-Speicher: die Abtastperiode Δ und die nächste Abtastzeit T (die Adresse des Speichers A für die Klasse). Den Klassen werden serielle Nummern von 0 bis K-1 zugeordnet, worin K die Gesamtzahl von Klassen ist. Eine neue Klasse wird wie folgt registriert:
    • (1) speichere ihre Abtastperiode in dem Δ-Feld in dem Klassen-Daten-Speicher;
    • (2) ordne einen willkürlichen Zeitpunkt für deren erste Dienste-Zeit in dem T-Feld zu; eine gute Auswahl würde die derzeitige Adresse plus dem Abtastintervall sein; und
    • (3) ordne die Anforderung in einer Warteschlange in dem Zugangspuffer für frische Klassen ein, wobei die der in der Warteschlange angeordneten Anforderung zugeordnete Information die Klassennummer Cf einschließt. Wenn eine freie Adresse in dem Speicher B gefunden wird, wird die Klassennummer Cf in der entsprechenden Adresse im Speicher A gespeichert.
  • Die Betriebsweise des Speichers A und des Speichers B ist so, wie dies früher beschrieben wurde. Zwischenzeitlich wird für eine im Ablauf befindliche Klasse, wenn T (die nächste Abtastzeit ist gleich der derzeitigen Adresse + Δ) für diese Klasse bestimmt wird, die Zahl Cr in dem Speicher A an der nächsten freien Adresse zu T gespeichert, und der Speicher B wird an dieser Adresse als belegt markiert. Aufgrund des möglichen Zusammentreffens von Registrierungsanforderungen, die einen Zugriff auf den Speicher A (und B) versuchen, kann ein kleiner Sammelpuffer (Erneuerungs-Haltepuffer) für erneuerte Klassen vorgesehen sein. Es würde ausreichend sein, einen Zugangspuffer nur für frische oder neue Klassen zu haben, wenn zugelassen wird, dass eine Zugangs-Transaktion ununterbrochen weiterläuft, bis eine Leerstelle im Speicher B gefunden wird. Anderenfalls würde ein kleiner Erneuerungs-Haltepuffer für die erneute Registrierung von zugelassenen Klassen erforderlich sein. Der 1:2-Wähler gemäß 38 gibt eine Priorität an den Erneuerungs-Haltepuffer, um Verzögerungs-Jitter-Effekte für im Verlauf befindliche Klassen zu vermeiden.
  • Zur Ablaufsteuerung einer Klasse ist die Klassennummer und die nächste Adresse, an der sie in der Zeit-Raum-Abbildung (Speicher A und B) registriert werden kann, erforderlich. Eine neue Klasse kann an irgendeiner Stelle registriert werden, und es muss lediglich die Klassennummer bekannt sein. Neue Klassen, die von dem CAC-Prozess zugelassen werden, werden in dem Zugangspuffer für eine frische Klasse gespeichert. Wenn eine bereits im Ablauf befindliche Klasse aus dem Speicher A gelesen wird, muss sie neu abgewickelt werden, das heißt neu in die Abbildung eingeführt werden. Dies erfolgt durch Berechnen (einfache Addition) der nächstgelegenen Abbildungs-Adresse, wie dies vorstehend beschrieben wurde, und Suchen nach einem leeren Abbildungs-Schlitz in der Vorwärtsrichtung. Zwei Suchverfahren können implementiert werden. Das erste ist eine erschöpfende Suche, bei der der Speicher B durchsucht wird, bis ein freier Schlitz gefunden wird. Das zweite ist eine begrenzte Suche, bei der der Erneuerungs-Haltepuffer dazu verwendet wird, die Klasse und die nächstgelegene Adresse für die mit Diensten versorgten Klassen zu speichern, wie dies in 39 gezeigt ist. Der Suchaufwand würde auf beispielsweise vier Schlitze beschränkt. Wenn kein freier Schlitz gefunden wird, wird die Anforderung an das Ende des Erneuerungs-Haltepuffers dadurch gesetzt, dass der Zeiger auf den nächsten Speicherplatz gesetzt wird. Aufgrund der möglicherweise großen Variation der Suchzeit können manche Neu-Abwicklungsanforderungen unmittelbar berücksichtigt werden, während andere mehrere Versuche erfordern können. Bei einem passenden Erweiterungsfaktor (2 oder mehr) ist der Suchaufwand vernachlässigbar, und die erste Lösung, die einfacher als die zweite ist, kann übernommen werden.
  • Es sei bemerkt, dass die Ankunfts-Rate von wiederabgewickelten Anforderungen um Größenordnungen höher sein würde, als die Ankunfts-Rate von neuen Klassenanforderungen. Den letzteren sollte jedoch dennoch eine niedrigere Priorität in dem Abwicklungsprozess gegeben werden.
  • Es sei bemerkt, dass in der größten Mehrzahl von Registrierungen (neu oder erneuert) ein leerer Schlitz innerhalb einer sehr kurzen Periode gefunden wurde, wenn ein ganzzahliger Zeit-Raum-Dehnungsfaktor von mehr als 1 verwendet wird. Wenn daher der Suchaufwand auf vier Adressen pro Zeitschlitz beschränkt wurde, so ist es plausibel, dass in den meisten Fällen mehr als eine wartende Anforderung registriert würde. Um diese Gelegenheit auszunutzen, kann ein kleiner regelnder Puffer verwendet werden, wie dies in 40 gezeigt ist, um mehr als eine Anforderung während eines Zeitschlitzes zu registrieren. Gemäß 14 wird an jedem Zeitschlitz der Suchzähler auf eine voreingestellte Grenze (beispielsweise vier) initialisiert. Das Durchsuchen des Speichers B zum Auffinden einer belegten Adresse (das heißt eine Adresse, die eine 1 speichert) wird fortgesetzt, solange wie:
    • (i) die Suchzählung positiv ist; und
    • (ii) die Anzahl von Einträgen in dem Regelungspuffer unterhalb eines vorgegebenen Schwellenwertes (von vier oder dergleichen) liegt.
  • Wenn eine belegte Adresse in dem Speicher B gefunden wird, so wird die entsprechende Klassennummer aus der gleichen Adresse in dem Speicher A gelesen. Die Adresse und die Klassennummer werden in dem regelnden Puffer gespeichert, wenn der Klassen-Zustands-Speicher (der in 40 nicht gezeigt ist) anzeigt, dass der Klassen-Zellenpuffer zumindest eine wartende Zelle hat. Wenn er nicht leer ist, wird der regelnde Puffer bei jedem Zeitschlitz für eine Diensteversorgung ausgespeichert. Zwei Posten an Information werden aus dem regelnden Puffer ausgelesen: die Klassennummer K und deren letzte Adresse α im Speicher A (und B). Der Zellenpuffer der Klasse K speichert dann eine Zelle aus, und die nächste Adresse von K wird durch Addieren des Abtastintervalls der Klasse K zu α bestimmt, das heißt durch Hinzufügen des Perioden-Feldes Δ zu dem T-Feld der Klasse K in dem Klassen-Daten-Speicher.
  • Es sei bemerkt, dass der einzige Zweck des regelnden Puffers darin besteht, den Suchaufwand zu regeln, der sich in weitem Umfang von einem Schritt zu mehreren Schritten aufgrund der unregelmäßigen räumlichen Verteilung der belegten Schlitze in dem Speicher B (und A) ändern kann.
  • C.4 Wartung und Zuverlässigkeit
  • In jeder seriellen nachgeführten Dienst-Raten-Steuerung würde eine Klasse für die Steuerung unsichtbar werden, wenn sie nur ein Abtastereignis aufgrund von möglichen Hardware-Fehlern verfehlt. In der Steuerung C kann eine Korrekturmaßnahme sehr einfach wie folgt getroffen werden.
  • Wenn eine Klassen-Warteschlange während irgendeiner Zeitperiode nicht aufgesucht wird, die einen bestimmten Schwellenwert übersteigt, beispielsweise das Doppelte des bestimmten Abtast-Zeitintervalls, so wird die Klasse als eine frische Klasse mit der gleichen Klassennummer wieder eingesetzt. Eine fehlerhafte Wiedereinsetzung einer Klasse führt dazu, dass die Klasse mehr als einmal in dem Speicher A (und B) erscheint. Dies kann jedoch kein Problem hervorrufen (abgesehen von einer geringen Vergeudung an Speicher), weil die Abtastzeitpunkte auf dem Inhalt des Klassen-Daten-Speichers beruhen, dem diese Duplizierung nicht bewusst wird. Die Häufigkeit der Dienste-Zustands-Überprüfung ist willkürlich.
  • Wenn eine Klasse beendet wurde, entfernt der Zugangs-Steuermechanismus die Klassen-Daten aus dem Klassen-Daten-Speicher und unterlässt die Neuzuordnung der gleichen Klassennummer zu einer neuen Anforderung für eine Zeitperiode, die größer als ein vorher festgelegter Schwellenwert ist (beispielsweise das Doppelte des Abtastintervalls der beendeten Klasse).
  • C.5 Betriebsleistung
  • Es wurden Simulatoren entwickelt, um das Verhalten der vorgeschlagenen Steuerungen isoliert zu studieren. Um die Wirksamkeit in der Host-Vermittlung zu studieren, müssen die Steuerungen in den Vermittlungs-Simulator eingefügt werden. Zu diesem Zweck verwendeten wir einen Simulator für eine einstufige Austrittsraten-gesteuerte Vermittlung mit gemeinsamem Speicher.
  • In der Simulation werden Zellen von einer großen Anzahl von Klassen mit unterschiedlichen Abtastintervallen erzeugt und gepuffert. Die Intervalle werden so eingestellt, dass die Summe der Abtast-Raten (das Inverse der Abtastintervalle) aller Klassen gleich der gemeinsamen Verbindungsstrecken-Rate (normalisiert auf Eins) ist. Der Dienst wird durch die Steuerung C gesteuert, und das Abtastintervall jeder Zelle wird aufgezeichnet. Das Abtastintervall der Zelle ist die Differenz zwischen aufeinanderfolgenden Zeiten der Ausreihung aus der Warteschlange. 41 zeigt den Koeffizienten der Variation des Abtastintervalls als eine Funktion des spezifizierten Abtastintervalls für den Fall von 128 Klassen mit Abtastintervallen, die sich von 10 bis 100 ändern, wobei die zusammengesetzte Last die volle Belastung der gemeinsamen Verbindungsstrecke darstellt. Es ist zu erkennen, dass der Koeffizient der Variation abnimmt, wenn das spezifizierte Abtastintervall ansteigt. Er ist immer noch annehmbar klein bei niedrigen Werten des spezifizierten Abtastintervalls. Die Differenz zwischen der Verwendung einer Erweiterung (Dehnung) von zwei und vier ist vernachlässigbar. Entsprechend sollte eine Erweiterung oder Dehnung von zwei ausreichend sein. 42 zeigt die maximale Intervall-Abweichung (gegenüber dem mittleren Intervall) für das gleiche Experiment.
  • Wenn eine Steuerung vom Typ C zum Regeln eines Bruchteils der gesamten Verkehrslast verwendet wird, verbessert sich das Jitter-Verhalten von Natur aus aufgrund der niedrigeren Belegung der Zeit-Raum-Abbildung. 43 zeigt den Abtastintervall-Koeffizienten der Variation bei einer Belegung von 50%, und 44 zeigt die maximale Abtastintervall-Abweichung bei einer Belegung von 50%. Das Betriebsverhalten ist gut, selbst ohne die Zeit-Raum-Dehnung (das heißt mit einem Dehnungsfaktor von 1).
  • Verbund-Steuerungen
  • Eine Verbund-Steuerung wird als eine primäre Steuerung mit einer relativ kleinen Anzahl von Klassen und einer Anzahl von untergeordneten Steuerungen aufgebaut, von denen jede eine große Anzahl von einzelnen Klassen regeln kann. Eine derartige Anordnung kann mehr Flexibilität ergeben, als eine einzige Struktur-Steuerung. In 45 regelt eine 16-Klassen-Steuerung die Dienst-Rate für jede Klasse entsprechend einer festen Zuteilungs-Richtlinie oder einer garantierten minimalen Raten-Richtlinie. Für einige Klassen kann die Dienst-Rate für ihre einzelnen Klassen weiter geregelt werden. Eine Steuerung vom Typ A oder Typ B kann als primäre Steuerung aufgrund ihrer Einfachheit dienen.
  • 46 zeigt eine schematische Ansicht einer Verbund-Steuerung, die von einer 16-Klassen-Steuerung vom Typ A oder Typ B angesteuert wird. Einige Klassen werden direkt abgetastet, wie z.B. die CBR- und VBR-Klassen. Andere Klassen, wie z.B. die Klasse 15, werden von einer Steuerung vom Typ C mit Diensten versorgt, die die einzelnen Verbindungen innerhalb der Klasse unterscheidet. Der Puffer in 46 speichert die Nummern der für einen Dienst auswählbaren Klassen (typischerweise ein einzelner Eintrag an irgendeinem Zeitschlitz). Der Klassen-Zustands-Anzeiger ermöglicht es dem Wähler, den Zeitschlitz einer abwechselnden Bereitschafts-Klasse zuzuteilen, wenn die auswählbare Klasse keine wartenden Zellen hat. Die alternative Klasse würde typischerweise verzögerungsunempfindlichem Verkehr zugeordnet.
  • Anwendungen
  • In einem ATM-Vermittlungsknoten mit großen Abmessungen wird eine Ratensteuerung auf der Klassen-Ebene innerhalb des Kerns benötigt, und die Steuerung auf der Verbindungs-Ebene ist in der Peripherie erforderlich. Die Steuerung auf der Klassen-Ebene hat strenge Geschwindigkeitsanforderungen, die mit den Steuerungen A und B realisiert werden können. Die Steuerung auf der Verbindungs-Ebene hat einen hohen Kapazitätsbedarf, der mit einer Steuerung C realisiert werden kann.
  • Das Folgende ist eine Zusammenfassung der unterschiedlichen Arten von Steuerungen:
    Steuerung A, die eine Frequenzdomänen-Steuerung unter Verwendung einer parallelen Integration ist;
    Steuerung B, die eine Zeitdomänen-Steuerung unter Verwendung einer parallelen Nachführung ist; und
    Steuerung C, die eine Zeitdomänen-Steuerung unter Verwendung einer seriellen Nachführung ist.
  • Die Steuerung C ist eine serielle Implementierung der Steuerung B unter Verwendung einer Zeit-Raum-Abbildungs-Lösung.
  • Ein qualitativer Vergleich der vorstehenden Steuerungen ist in der nachfolgenden Tabelle angegeben (in der Tabelle sind die Steuerungen mit A, B und C aus Gründen der Klarheit bezeichnet):
    Figure 00260001

Claims (19)

  1. Verfahren zum Regeln des Telekommunikations-Verkehrs in einem ATM-Netzwerk, das eine einzige Klasse enthält, durch eine Dienst-Rate, in der ein Klassen-Zellenpuffer zur Aussendung in Netzabwärtsrichtung abgetastet wird, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte umfasst: Akkumulieren einer normalisierten Dienst-Raten-Zuteilung für die Klasse in jeder Zellen-Periode in einem Klassen-Addierer; Erklären der Klasse als für einen Dienst auswählbar, wenn der Inhalt des Klassen-Addierers Eins übersteigt; Reduzieren des Klassen-Addierer-Inhaltes um Eins, wenn eine Zelle aus der Warteschlange aus dem Klassen-Zellenpuffer entfernt wird; und Verringern des Klassen-Addierer-Inhaltes um seinen ganzzahligen Teil, wenn der Klassen-Addierer-Inhalt größer als Eins ist, der Klassen-Zellenpuffer jedoch leer ist.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Akkumulierens in jeder K Zellenperiode mit dem Betrag der zugeteilten Dienst-Rate für die Klasse multipliziert mit der ganzen Zahl K ausgeführt wird.
  3. Verfahren nach Anspruch 1, bei dem der Telekommunikations-Verkehr mehr als eine Klasse enthält und das Verfahren zum Regeln des Telekommunikations-Verkehrs parallel für mehrere Klassen ausgeführt wird und jede Klasse als für einen Dienst unabhängig von den anderen als auswählbar erklärt werden kann.
  4. Verfahren nach Anspruch 3, das weiterhin einen Schritt des Versorgens mit Diensten von lediglich einer auswählbaren Klasse von irgendwelchen auswählbaren Klassen zur Aussendung in Netzabwärtsrichtung während einer Zellenperiode umfasst.
  5. Verfahren nach Anspruch 4, bei dem ein in einer zyklischen Weise arbeitender Kombinations-Wähler die nächste auswählbare Klasse während jeder Zellenperiode auswählt.
  6. Verfahren nach Anspruch 4, bei dem der Schritt des Versorgens einer Klasse mit Diensten die folgenden Schritte einschließt: erschöpfendes Abtasten des Klassen-Zellenpuffers auf eine auswählbare Klasse; Anordnen der Nummer oder Adresse für auswählbare Klassen in einer Warteschlange in einem Bereitschaftspuffer; Verkleinern des Klassen-Addierers um Eins; Bedienen des Bereitschafts-Puffers auf einer FIFO-Basis; und Verringern des Inhaltes des Klassen-Addierers um seinen ganzzahligen Teil, wenn der Klassen-Puffer leer ist.
  7. Verfahren nach Anspruch 6, bei dem das Abtasten zum Lokalisieren einer auswählbaren Klasse auf eine kleine Anzahl von Klassen pro Zellenperiode beschränkt ist und die Klassen entsprechend den folgenden Schritten mit Diensten versorgt werden: jede aufgefundene auswählbare Klasse während der Zellenperiode wird in den Bereitschafts-Puffer eingeführt; der Klassen-Addierer für eine derartige Klasse wird um Eins verringert; und der Klassen-Addierer-Inhalt wird um seinen ganzzahligen Teil verringert, wenn der Klassen-Zellenpuffer leer ist.
  8. Verfahren nach Anspruch 1, bei dem die Summe der normalisierten Dienst-Raten-Zuteilungen für alle Klassen kleiner als Eins sein muss.
  9. Verfahren nach einem der Ansprüche 4, 5, 6 oder 7, bei dem der Telekommunikations-Verkehr primäre Klassen für verzögerungsempfindliche Verkehrsströme und sekundäre Klassen für verzögerungstolerante Verkehrsströme enthält, wobei der Schritt des Versorgens der auswählbaren Klasse des Verkehrs mit Diensten die weiteren folgenden Schritte umfasst: Versorgen der primären Klasse mit Diensten durch eine primäre Steuerung; Versorgen der sekundären Klassen mit Diensten durch eine sekundäre Steuerung; und wenn eine auswählbare primäre Klasse einen leeren Zellenpuffer hat, Versorgen zusätzlicher sekundärer Klassen durch die sekundäre Steuerung mit Diensten.
  10. Verfahren nach Anspruch 9, bei dem eine primäre Klasse auch gleichzeitig als eine sekundäre Klasse erscheinen kann.
  11. Verfahren zum Regeln von Telekommunikations-Verkehr in einer ATM-Netzwerk, das eine einzige Klasse enthält, durch eine Dienst-Rate, in der ein Klassen-Zellenpuffer für eine Aussendung in Netzabwärtsrichtung abgetastet wird, dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte umfasst: Initialisieren eines Klassen-Status-Zählers auf Null; Initialisieren eines Klassen-Addierers mit dem festgelegten Dienste-Intervall für die Klasse; Vergleichen des Klassen-Addierer-Inhaltes mit einem Bezugszeit-Zähler; Erklären einer Klasse als für einen Dienst auswählbar, wenn der ganzzahlige Teil des Klassen-Addierer-Inhaltes gleich dem Bezugszeit-Zähler ist; nachfolgendes Vergrößern des Klassen-Addierers um den Wert des festgelegten Dienste-Intervalls für die Klasse; und Vergrößern des Klassen-Status-Zählers um Eins, wenn die Klasse für einen Dienst auswählbar ist und der Klassen-Zellenpuffer nicht leer ist.
  12. Verfahren nach Anspruch 11, bei dem der Telekommunikations-Verkehr mehr als eine Klasse enthält, und das Verfahren zum Regeln des Telekommunikations-Verkehrs parallel für mehrere Klassen ausgeführt wird, und jede Klasse unabhängig von den anderen für einen Dienst auswählbar erklärt werden kann.
  13. Verfahren nach Anspruch 12, das den weiteren Schritt des Versorgens lediglich einer auswählbaren Klasse von irgendwelchen auswählbaren Klassen mit Diensten für eine Aussendung in Netzabwärtsrichtung während einer Zellen-Periode umfasst.
  14. Verfahren nach Anspruch 13, bei dem ein in einer zyklischen Betriebsweise arbeitender Kombinations-Wähler die nächste auswählbare Klasse während irgendeiner Zellen-Periode auswählt.
  15. Verfahren nach Anspruch 13, bei dem, in einer Zellen-Periode, der Schritt des Versorgens einer Klasse mit Diensten die folgenden Schritte einschließt: Abtasten der Klassen-Zellen-Puffer in erschöpfender Weise oder bis eine auswählbare Klasse gefunden wurde; Anordnen der Nummer oder der Adresse der auswählbaren Klasse in einer Warteschlange in einem Bereitschafts-Puffer; Verringern des Klassen-Addierers um Eins; und Bedienen des Bereitschafts-Puffer auf einer FIFO-Basis.
  16. Verfahren nach Anspruch 15, bei dem die Abtastung zur Lokalisierung einer auswählbaren Klasse auf eine kleine Anzahl von Klassen pro Zellen-Periode beschränkt ist, und bei dem der Schritt des Versorgens einer auswählbaren Klasse mit Diensten die folgenden Schritte einschließt: Einführen der aufgefunden auswählbaren Klasse während der Zellen-Periode in den Bereitschafts-Puffer; Rücksetzen des Klassen-Addierers auf Null.
  17. Verfahren nach Anspruch 11, bei dem die Summe über alle Klassen des inversen Dienstintervalls, das für jede Klasse bestimmt und in Zelleneinheiten ausgedrückt ist, kleiner als Eins sein muss.
  18. Verfahren nach einem der Ansprüche 13, 14, 15 oder 16, bei dem der Telekommunikations-Verkehr primäre Klassen für verzögerungsempfindliche Verkehrsströme und sekundäre Klassen für verzögerungstolerante Verkehrsströme enthält, wobei der Schritt des Versorgens der auswählbaren Klasse von Verkehr mit Diensten weiterhin die folgenden Schritte umfasst: Versorgen der primären Klassen mit Diensten durch eine primäre Steuerung; Versorgen der sekundären Klassen mit Diensten durch eine sekundäre Steuerung; und wenn eine auswählbare primäre Klasse einen leeren Zellen-Puffer hat, Versorgen zusätzlicher sekundärer Klassen mit Diensten durch die sekundäre Steuerung.
  19. Verfahren nach einem der Ansprüche 11, 12, 13, 14 oder 15, bei dem der Zeit-Zähler eine endliche Wortlänge w aufweist und der Addierer eine endliche Wortlänge W aufweist, wobei w ≤ W ist und wobei die w höchstbewerteten Bits des W Bit breiten Addierer-Inhaltes mit dem Zeit-Zähler-Inhalt verglichen werden.
DE69832697T 1997-04-07 1998-04-06 Verfahren zur Regelung des Telekommunikationsverkehrs in einem ATM Netzwerk Expired - Fee Related DE69832697T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US834974 1997-04-07
US08/834,974 US6088331A (en) 1997-04-07 1997-04-07 Parallel service-rate controllers in ATM switches
PCT/CA1998/000312 WO1998045992A1 (en) 1997-04-07 1998-04-06 Parallel service-rate controllers in atm switches

Publications (2)

Publication Number Publication Date
DE69832697D1 DE69832697D1 (de) 2006-01-12
DE69832697T2 true DE69832697T2 (de) 2006-07-20

Family

ID=25268260

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69832697T Expired - Fee Related DE69832697T2 (de) 1997-04-07 1998-04-06 Verfahren zur Regelung des Telekommunikationsverkehrs in einem ATM Netzwerk

Country Status (5)

Country Link
US (1) US6088331A (de)
EP (1) EP0974216B1 (de)
CA (1) CA2286012C (de)
DE (1) DE69832697T2 (de)
WO (1) WO1998045992A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2236394C (en) * 1998-04-30 2003-01-21 Frederick C. Livermore Programmable transport and network architecture
JPH11331196A (ja) * 1998-05-19 1999-11-30 Nec Corp マルチサービスクラス定義型atm交換機
US6947382B1 (en) * 2000-05-15 2005-09-20 Marconi Intellectual Property (Ringfence), Inc. Protected UBR
US7155717B2 (en) * 2001-01-26 2006-12-26 Intel Corporation Apportioning a shared computer resource
US7439816B1 (en) * 2005-09-28 2008-10-21 Cypress Semiconductor Corporation Phase-locked loop fast lock circuit and method
US7719329B1 (en) 2007-06-15 2010-05-18 Cypress Semiconductor Corporation Phase-locked loop fast lock circuit and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
JP3474259B2 (ja) * 1994-05-26 2003-12-08 株式会社東芝 通信制御装置
US5649110A (en) * 1994-11-07 1997-07-15 Ben-Nun; Michael Traffic shaping system with virtual circuit table time stamps for asynchronous transfer mode networks

Also Published As

Publication number Publication date
CA2286012C (en) 2003-12-09
EP0974216B1 (de) 2005-12-07
US6088331A (en) 2000-07-11
CA2286012A1 (en) 1998-10-15
WO1998045992A1 (en) 1998-10-15
DE69832697D1 (de) 2006-01-12
EP0974216A1 (de) 2000-01-26

Similar Documents

Publication Publication Date Title
DE69434329T2 (de) Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle
DE69430627T2 (de) Verfahren und Gerät zur Plannung von Zellenübertragung von virtuellen Kanälen mit garantierter Bandbreite
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69937219T2 (de) Torablauffolgesteuerung und Verfahren zur Dienstenablaufsteuerung mit Garantieen und hierarchische Ratenlimitierung mit oder ohne Überbuchungsmöglichkeit
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE3785524T2 (de) Adaptive gebührabhängige Verkehrsleitweglenkung und automatisches Netzwerkhandhabungssystem für Fernmeldenetzwerke mit mehreren Diensten.
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE60027639T2 (de) Buffersystem mit Überlastregelung mit verbindungsweiser Verkehrsverwaltung
DE60128413T2 (de) Gekennzeichneter Prioritätswarteschlangescheduler
DE69931302T2 (de) Zeitbasierte Ablaufsteuerungsarchitektur und Verfahren für ATM Netzwerke
EP0608279B1 (de) Verfahren zur nichthierarchischen verkehrslenkung in einem kommunikationsnetz
DE69733129T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE69917835T2 (de) Datenpfadstrukturen mit Rotatorumschalter
DE60132437T2 (de) Verfahren und einrichtung zur steuerung von informationen unter verwendung von kalendern
DE69626946T2 (de) Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes
EP0639014A1 (de) Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
DE69132857T2 (de) Verfahren zur Anruf-Steuerung auf der Grundlage von Belastungslage
DE69912172T2 (de) Verfahren und Vorrichtung zur Steuerung der Verkehrsflüsse in einem Paketvermittlungsnetz
EP0435046A2 (de) Verfahren zum Wiederherstellen der richtigen Zellfolge, insbesondere in einer ATM-Vermittlungsstelle, sowie Ausgangseinheit hierfür
EP0941619A1 (de) Verfahren und routing-system zur dynamischen verkehrslenkung in einem kommunikationsnetz
EP0446589A2 (de) Kopierfähige ATM-Vermittlungsstelle
DE69425675T2 (de) Verfahren und vorrichtung zur steuerung von einem kommunikationsnetz
DE69629890T2 (de) ATM-Vermittlungssystem und Prioritätensteuerungsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee