-
HINTERGRUND DER ERFINDUNG
-
Technisches Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein den Bereich der Telekommunikation.
Konkret und ohne Einschränkung
betrifft die vorliegende Erfindung ein System und Verfahren zur
Implementierung eines Mehrfachübertragungsverfahrens
in einer ATM-Vermittlung („Asynchronous
Transfer Mode, asynchroner Übertragungsmodus)
eines Netzzugangsknotens.
-
Beschreibung zum Stand der
Technik
-
Der
Markt für
Fernzugriffe ist derzeit einem starken Wandel unterworfen. Drei
Faktoren bilden die Katalysatoren für diesen Wandel. Der erste
Faktor ist die steigende Anzahl von Benutzern, beispielsweise Benutzer
in kleinen Büros
und Home-Offices
(„SOHO"), die eine hohe
Leistung beim Internet-Zugang und bei Fernzugriffen auf Multimedia-Inhalte
fordern. Die Liberalisierung der behördlichen Aktivitäten hinsichtlich
der Telekommunikation ist ein weiterer Faktor, der einen breiteren
Wettbewerb durch Deregulierung überall
in lokalen Märkten
fördert.
Der dritte und letzte Faktor ist der Engpass im öffentlichen Telefonnetz (Public
Switched Telephone Network, PSTN), das ursprünglich für die reine Sprachübertragung
konzipiert und entwickelt wurde.
-
Im
Bereich der Telekommunikationstechnologie gab es eine Reihe entscheidender
Fortschritte, die eine hohe Durchsatzrate bei den Backbone-Verbindungen
der Netzbetreiber ermöglichen.
Durch die Implementierung der ATM- Netzwerktechnologie (Asynchronous Transfer
Mode, asynchroner Übertragungsmodus) über die
physische Schicht eines SONET-Netzwerks
(Synchronous Optical Network, synchrones optisches Netzwerk)/SDH-Netzwerks
(Synchronous Digital Hierarchy, synchrone digitale Hierarchie) können Betreibernetze
Datenraten bis zu mehreren Hundert Megabits pro Sekunde (Mbps) erzielen.
Das Erfüllen
der Nachfrage nach einer hohen Bandbreite für Fernzugriffe wird jedoch
erschwert durch die Begrenzungen der bestehenden Infrastruktur der
Twisted-Pair-Kupferkabel (z. B. bei Zugangsnetzen) zwischen den
Zentralstationen (CO) der Betreiber und dem fernen Standort der
Teilnehmer; dieser Abschnitt wird meist als „lokale Schleife" bezeichnet. In der
Telekommunikationstechnik werden diese Begrenzungen gelegentlich
allgemein als das Problem der „letzten
Meile" bezeichnet.
-
Bei
den derzeitigen Zugangsnetzlösungen
zur Überwindung
des Problems des Engpasses auf der letzten Meile kommt die Glasfasertechnologie
auch in der lokalen Schleife zum Einsatz. Wie bei Hochgeschwindigkeits-Betreibernetzen
weist die Glasfaser-Infrastruktur der lokalen Schleife normalerweise
eine Architektur mit SONST als der Technologie der physischen Schicht
auf. Mit den jüngsten
Entwicklungen bei optischen Komponenten und der damit verbundenen
Optoelektronik sowie Verbesserungen in der Netzwerkkonzeption wird
Breitbandzugriff allmählich
zum Standard.
-
Darüber hinaus
hat sich in Verbindung mit der phänomenal steigenden Beliebtheit
des Internet enormes Interesse an der Nutzung von Paketvermittlungsnetz-Infrastrukturen
(PSN) entwickelt, beispielsweise an den Infrastrukturen auf der
Basis der IP-Adressierung (Internet Protocol) als Ersatz für die derzeitigen
Infrastrukturen leitungsvermittelter Netze („Circuit-Switched Network", CSN) in den heutigen
Telekommuni kationsnetzen. Aus der Sicht des Betreibers ermöglicht die
inhärente
Datenverkehrsbündelung
in paketvermittelten Infrastrukturen eine Reduzierung Übertragungs-
und Infrastrukturkosten pro Endanwender. In letzter Zeit ermöglichen
solche Kostenreduzierungen dem Netzbetreiber die Weitergabe der
damit verbundenen Kosteneinsparungen an die Endanwender.
-
Entsprechend
wurde eine neue Art serviceorientierter Netze (im Unterschied zu
den derzeitigen sprachorientierten und datenorientierten Netzen)
untersucht zur Implementierung in einer so genannten NGN-Infrastruktur
(Next-Generation Network), wobei integrierte Sprach/Daten/Videoanwendungen
bereitgestellt werden können über einen
Paket-Transportmechanismus über
ein PSN in einem End-to-End-Übertragungspfad. Wie
oben erwähnt,
ist davon auszugehen, dass die Verwendung einer Paketnetzwerkinfrastruktur
in Zugangsnetzen eine höhere Übertragungseffizienz,
niedrigere Betriebs- und Wartungskosten und einen vereinheitlichten
Zugriff ermöglicht.
-
Herkömmliche
Zugangssysteme erlauben den Zugriff auf eine digitale lokale Sprachumschaltung,
beispielsweise einen Klasse-5-Switch, durch die Erweiterung einer
Vielzahl metallischer Schleifen und die Bündelung dieser Schleifen für eine effiziente Übertragung
des TDM-Sprachdatenverkehrs (Time-Division Multiplexing). Typischerweise
weisen solche Zugangsnetze eine Architektur mit einem oder mehreren
Netzzugangsknoten in einer Vielzahl von Konfigurationen auf, z.
B. Punkt-zu-Punkt-Ketten,
Ringe, etc., wobei ein Netzzugangsknoten selbst verschiedene Kanal-Bänke umfassen
kann mit Leitungsschnittstellen, die eine große Anzahl von Teilnehmern bedienen
können.
-
Um
einen höheren
Funktionsumfang bieten und bessere Services bereitstellen zu können, müssen die Zugangsnetze
von Heute erweiterte Transportmechanismen wie beispielsweise SONST
auch für
die interne Architektur der Knoten unterstützen. In solchen Knoten wird
ATM zum Transport des Großteils
des Teilnehmer-Datenverkehrs verwendet mit Ausnahme der traditionellen
TDM-Services wie beispielsweise T1- und TDM-DS3-Services. Entsprechend
müssen
TDM- wie auch ATM-Vermittlungsnetze in der Konzeption der Netzzugangsknoten
unterstützt
werden.
-
Das
ATM-Forum bietet ein Set von Spezifikationen zur Regelung der verschiedenen
Aspekte einer ATM-Vermittlung einschließlich der Verbindungsarten,
z. B. Verbindungen über
virtuelle Kanäle
(Virtual Channel Connections) und Verbindungen über virtuelle Pfade (Virtual
Path Connections) und ihrer Topologie, beispielsweise Punkt-zu-Punkt-Verbindungen
(Einfachverbindungen) und Punkt-zu-Mehrpunkt-Verbindungen (Mehrfachverbindungen).
Wie allgemein bekannt ist, sendet bei Unterstützung von Mehrfachverbindungen
in einer Umgebung eine einzige Datenverkehrsquelle (z. B. ein Root)
Zellen oder Pakete an eine Reihe von Zielen (d. h. „Blätter"), die den replizierten
Datenverkehr empfangen. Für
eine robuste Implementierung darf der Blattfluss keine Konflikte
mit der Übertragung
an die anderen Blätter
aufweisen und diese Übertragung
nicht beeinträchtigen.
Außerdem
sollten Warteschlangen, die den Mehrfachübertragungsfluss unterstützen müssen, eine
effiziente Nutzung des Speichers ermöglichen.
-
Es
gibt zwar verschiedene Techniken zur Implementierung von Mehrfachübertragungsabläufen in
einer ATM-Umgebung, diese sind jedoch mit bestimmten Schwächen behaftet.
Zunächst
sind die derzeitigen Mehrfachverbindungslösungen sehr speicherintensiv,
da die Warteschlangen der einzelnen Blätter mit einem separaten Zellenpuffer
implementiert werden. Darüber
hinaus ist die Leistung der Blätter
so gekoppelt, dass ein einzelner Blattknoten den Mehrfachverbindungsprozess
aufhalten kann, wenn der Knoten aus irgend einem Grund nicht betriebsbereit
ist.
-
Die
europäische
Patentanmeldung
EP
1 111 858 A2 bezieht sich auf ein System zur gewichteten Round-Robin-Einplanung
(Weighted Round-Robin Scheduling, WRR) mit Komponenten zum Senden
von ATM-Zellen, die verschiedenen Abläufen zugeordnet sind, nach
einem Zuteilungsprinzip. In einer als dienstgüteübergreifenden WRR bezeichneten
Ausführungsform
sind die Abläufe
mit den Dienstgüteparameter
(Quality of Service, QoS) verknüpft.
Jedem Dienstgüteparameter
ist außerdem
ein Tag-Wert zugeordnet. Bei jeder Auswahl der Dienstgüte durch
ein dienstgüteübergreifendes
WRR, um einen Fluss zum Senden einer ATM-Zelle zu veranlassen, wird
der Tag-Wert für
die Dienstgüte
um eine der Dienstgüte
zugeordnete Gewichtung hochgezählt.
Die vom dienstgüteübergreifenden
WRR ausgewählte
Dienstgüte
ist die Dienstgüte
mit dem niedrigsten Tag. In einer weiteren Ausführungsform eines flussübergreifenden
WRR sind Flüsse
entsprechend einem ihnen unabhängig
von ihrer Dienstgüte
zugeordneten Tag-Wert verknüpft;
dies ermöglicht
die Kontrolle der Bandbreite der Flüsse, die der gleichen Dienstgüte zugeordnet
sind. Die zuerst verknüpften
Flüsse
werden als erste gesendet, wenn der flussübergreifende WRR arbeitet.
-
Die
internationale Patentanmeldung
WO
97/04558 beschreibt eine Struktur mit verknüpften Listen
für mehrere
Kontrollebenen in einer ATM-Vermittlung, die darin in adaptiver
Weise hocheffiziente und somit preisgünstige integrierte Dienste
bereitstellen kann. Die Struktur mit verknüpften Listen umfasst das Erstellen
einer Liste mit Zeigern auf eine nachfolgend ver knüpfte Liste
als Listeneinträge.
Innerhalb der nachfolgend verknüpften
Liste kann jeder Eintrag ein Zeiger auf eine weitere verknüpfte Liste
sein. Die Struktur kann nach Bedarf auf weitere Stufen verknüpfter Listen
ausgedehnt werden. Die Verteilung der Bandbreite wird somit über die Listenmitglieder
auf den einzelnen Stufen hinweg erzielt. Die Struktur mit verknüpften Listen
wird im vorliegenden Switch verwendet; dieser Switch umfasst einen
Eingangs-Port-Prozessor, einen Bandbreiten-Zuteiler und einen Ausgangs-Port-Prozessor
für die
Bandbreiten-Einplanung der Vermittlung für Punkt-zu-Punkt-, Mehrpunkt-zu-Punkt-
und Punkt-zu-Mehrpunkt-Zellenübertragungen
vom Eingangs-Port-Prozessor und für die Einplanung der Ausgangsverbindungen
am Ausgangs-Port-Prozessor.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung bietet entsprechend ein Mehrfachübertragungsschema
für die
Einplanung eines Root-Flusses
in einer ATM-Umgebung, beispielsweise einer Vermittlung, wobei eine
Vielzahl von Ausgangsschnittstellen von einer entsprechenden Anzahl
von Blattflüssen
mit minimalen Pufferanforderungen und einer verbesserten Trennung
zwischen den Blattflüssen
bedient wird. Ein Puffersystem mit einer Speicherindexstruktur kann
so eingesetzt werden, dass es eine Vielzahl von Blattfluss-Indizes
umfasst, die den Blattflüssen
zugeordnet sind, und einen Root-Flussindex von der Eingangsschnittstelle.
Eine Zeiger-Speicherstruktur wird bereitgestellt, wobei eine Vielzahl
zirkulär
verknüpfter
Zeiger von den Blatt- und Root-Abläufen indiziert wird. Es wird
eine Zellen-Speicherstruktur bereitgestellt mit einer Vielzahl von
Zellenspeicherorten, auf die die verknüpften Zeiger verweisen. Die
in der ATM-Umgebung empfangenen Root-Flusszellen werden in den Zellenspeicherorten
entsprechend dem Root-Flussindex gespeichert. Wenn ein bestimmter
Fluss zur Einplanung ansteht, wird eine Kopie einer Root-Zelle zum
Senden abgerufen, wobei die Root-Zelle sich an einem Zellenspeicherort
befindet, auf den ein verknüpfter
Zeiger verweist, auf den der spezifische Blattfluss indiziert ist.
-
In
einer Hinsicht richtet sich die vorliegende Erfindung an ein Verfahren
zur Mehrfachübertragung
zum Steuern eines Root-Flusses in einer ATM-Umgebung an eine Vielzahl
von Ausgangsschnittstellen unter Verwendung einer entsprechenden
Anzahl von Blattflüssen.
Eine Liste zirkulär
verknüpfter
Zeiger wird in einem Zeigerspeicherpuffer initialisiert, wobei eine
Vielzahl verknüpfter
Zeiger auf eine entsprechende Anzahl von Zellenspeicherorten in
einem Zellenspeicherbereich verweist. Nach dem Empfangen der Root-Flusszellen
in der ATM-Umgebung
werden die Zellen entsprechend einem dem Root-Fluss zugeordneten
Root-Flussindex in den Zellenspeicherorten abgelegt. Der Root-Flussindex
wird zum Speichern einer Kopf-Flusszelle
auf einen bestimmten Zeiger der Liste verknüpfter Zeiger initialisiert,
und er wird nach dem Empfang zusätzlicher Root-Flusszellen über die
verknüpften
Zeiger aktualisiert. Eine Vielzahl von Blattfluss-Indexwerten wird
in einem Indexspeicherbereich initialisiert, wobei jeder Indexwert
einem Blattfluss entspricht und anfänglich auf den spezifischen
Zeiger initialisiert wird, der auf einen Zellenspeicherort verweist,
der die Kopf-Root-Flusszelle enthält. Wenn ein spezifischer Blattfluss
zur Einplanung ansteht, wird eine Kopie der Kopf-Root-Zelle abgerufen zum
Senden an eine Ausgangsschnittstelle, die dem spezifischen Blattfluss
zugeordnet ist. Anschließend
wird der jeweilige Blattfluss-Indexwert
aktualisiert, sodass er auf den nächsten Zeiger in der Liste
der verknüpften Zeiger
verweist. Nach der Einplanung einer spezifischen Root-Flusszelle
für jeden
der Blattflüsse
kann mithilfe des Root-Flussindex eine neue Root- Flusszelle in die Position dieser Root-Flusszelle
geschrieben werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Ein
umfassenderes Verständnis
der vorliegenden Erfindung lässt
sich mit Bezug auf die folgende ausführliche Beschreibung in Verbindung
mit den beigefügten
Zeichnungen erzielen, wobei gilt:
-
1 zeigt
einen exemplarischen Zugangsknoten mit einer ATM-Vermittlung, wobei
die Vorgaben der vorliegenden Erfindung in vorteilhafter Weise genutzt
werden können;
-
2 zeigt
eine Ausführungsform
eines mehrschichtigen Schedulers in mehreren Ebenen, der zur Implementierung
der Einplanungsfunktionen für
Mehrfachverbindungsflüsse
in der in 1 dargestellten ATM-Vermittlung
betrieben werden kann;
-
3 zeigt
ein Funktionsblockdiagramm auf hoher Ebene, das ein „Leaky
Bucket"-Modul („Undichter Eimer") und ein Prioritäts-Warteschlangenmodul
des Schedulers zur Implementierung der Vorgaben der vorliegenden
Erfindung verdeutlicht;
-
4 zeigt
einen exemplarischen Mehrfachübertragungsablauf,
bei dem ein Root-Fluss entsprechend den Vorgaben der vorliegenden
Erfindung an eine Vielzahl von Ausgangsschnittstellen (d. h. Blätter) übertragen
wird;
-
5 zeigt
eine Speicherausführungsform
zur Implementierung des Puffersystems für Mehrfachübertragungs-Warteschlangen der vorliegenden Erfindung;
-
6 zeigt
eine Ausführungsform
eines zirkulär
verknüpften
Zeigersystems, das einen Mehrfachübertragungs-Warteschlangenpuffer mit einer Tiefe
von acht Zellenspeicherorten versorgt; und
-
7 ist
ein Flussdiagramm zum Betrieb in einer Ausführungsform des Mehrfachübertragungsverfahrens
der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
-
Eine
Ausführungsform
der vorliegenden Erfindung wird nachfolgend beschrieben vor dem
Hintergrund der Vorgaben in der gemeinsamen anstehenden US-Patentanmeldung
mit dem Titel "Hierarchical
Scheduler Architecture For Use With An Access Node" ("Hierarchische Scheduler-Architektur
zur Verwendung mit einem Netzzugangsknoten"), die zum gleichen Datum wie das vorliegende
Papier zum Patent angemeldet wurde unter der Anmeldungsnummer:
10/280,894 (Anwaltsliste
Nr.:
1285-0103US ), im Namen von Mudhafar
Hassan-Ali et al., (nachfolgend als „Anmeldung zur hierarchischen
Scheduler-Architektur" bezeichnet). Wie
in dieser Anmeldung ausführlich
beschrieben, kann ein Telekommunikationsknoten in einem Zugangsnetz
eine skalierbare Architektur umfassen, in der sowohl TDM- als auch
ATM-Vermittlungen bereitgestellt werden zur Unterstützung eines
breiteren Funktionsumfangs. Darüber
hinaus kann die der ATM-Vermittlung zugeordnete Einplanungsfunktionalität nach Servicekategorie
(d. h. nach Dienstebenen) und über
eine Vielzahl hierarchischer Leitungsbündelungen (d. h. Subport, Bus-Ebene,
Shelf-Ebene, Stackplane-Ebene und Leitungsebene etc., die als Bündelungsschicht
behandelt werden) hinweg partitioniert werden, was für die skalierbare
Hardwarearchitektur eventuell erforderlich ist, sodass die Einhaltung
der Datenverkehrsvereinbarung wie auch die erforderliche Verbindungsisolierung
und die faire Bandbreitenzuordung in einer ATM-Vermittlung eines
Netzzugangsknotens effektiv erzielt werden kann.
-
Mit
Bezug auf die Zeichnungen zu der vorliegenden Patentanmeldung, in
denen gleiche oder ähnliche Elemente über die
verschiedenen Ansichten hinweg mit gleichen Bezugszeichen bezeichnet
werden und in denen die verschiedenen dargestellten Elemente nicht
notwendigerweise maßstabsgetreu
gezeichnet wurden, und mit Bezug insbesondere auf 1,
ist hierin ein exemplarischer Netzzugangsknoten 100 mit
einer funktionalen Darstellung auf hoher Ebene einer ATM-Vermittlung 102 illustriert,
wobei die Vorgaben der vorliegenden Erfindung in vorteilhafter Weise
genutzt werden können.
Wie in der oben referenzierten Anmeldung zur hierarchischen Scheduler-Architektur
angegeben, umfasst die Gesamtfunktionalität der Vermittlung 102 Folgendes: Überwachung;
Betrieb, Verwaltung und Wartung (Operation, Administration and Maintenance,
OAM); Kopfdaten-Übersetzung;
Warteschlangenverarbeitung; Einplanung und Datenverkehrsformung;
und Verbindungs-Zugangskontrolle (Connection Admission Control,
CAC). Wie einfach zu erkennen, erfolgt der Datenverkehr zum Netz 102 über eine
Reihe von Schnittstellen. Eine Transportschnittstelle 104 ist
betriebsbereit zur Verbindung des Knotennetzes mit dem Backbone-Netzwerk,
z. B. dem ATM-Netzwerk 105.
Eine Stackplane-Schnittstelle 106 ist betriebsbereit zum
Transport des Datenverkehrs von einer sekundären Shelf-Bank-Kette 107 (z.
B. mit den in 5 der Anmeldung zur hierarchischen
Scheduler-Architektur dargestellten Kanalbänken 506-1 bis 506-4 und
den Kanalbänken 508-1 bis 508-4)
zum Netz 102. Eine Vielzahl von Teilnehmerschnittstellen über die
Leitungseinheiten (LUs) 107-1 bis 107-N zeigen
beispielhaft verschiedene Dienstquellen wie xDSL, Tl, ISDN, DS-3/OC-3,
etc., die eine Schnittstelle mit dem Netz 102 durch die
entsprechenden Bus-Level-Ports 109-1 bis 109-N bilden
kann. Einer der Ports einer Leitungseinheit kann mit einem RT 111 gekop pelt
werden als Teil eines Zugangsnetzes (in dieser Figur nicht dargestellt).
-
Hinsichtlich
des internen ATM-Datenverkehrs können
zwei Arten von ATM-Verbindungen definiert werden: Virtuelle Kanalverbindungen
(Virtual Channel Connections, VCCs) und Virtuelle Pfadverbindungen
(Virtual Path Connections, VPCs). Ein VCC weist typischerweise die
niedrigste Fließkörnung auf,
die eine ATM-Verbindung haben kann; sie wird angegeben durch einen
eindeutigen Wert, der ein Paar von Kennungen in einer physischen
Schnittstelle umfasst, d. h. die Kennung des virtuellen Kanals (Virtual
Channel Identifier, VCI) und die Kennung des virtuellen Pfads (Virtual
Path Identifier, VPI). Eine VPC ist dagegen definiert als eine Gruppe
aller Flüsse,
die den gleichen VPI-Wert verwenden, und einen gemeinsamen Pool
von Ressourcen (z. B. Bandbreite, etc.). Es ist somit klar zu erkennen,
dass ein VP eine Bündelung
von VCs darstellt, was die Verwaltung der Verbindungen in einer
ATM-Umgebung vereinfachen kann durch Verringerung der Anzahl der
zu verwaltenden Elemente, wobei jede Verbindung durch ihr eindeutiges
VPI/VCI-Paar gekennzeichnet
ist.
-
Vom
Standpunkt der Technologie aus gesehen, kann ein VVC oder ein VPC
einen der beiden folgenden Typen haben: (i) Punkt-zu-Punkt-Verbindung,
wobei bidirektionale Verbindungen aufgebaut werden und die Quellen
in die verschiedenen Richtungen unterschiedlich sein können, und
(ii) Punkt-zu-Mehrpunkt-Verbindung,
die typischerweise eine Vielzahl von eindirektionalen Verbindungen
für eine
Mehrfachübertragung
(Multicast, MC) über
das Netz verwenden. Wie nachfolgend ausführlicher erläutert, bietet
die vorliegende Erfindung ein vorteilhaftes Schema zur Einplanung
von MC-Flüssen
durch die Verwendung einer minimalen Speichermenge bei gleichzeitiger
Entkopplung der Leistung der Blattflüsse voneinander.
-
Zusätzlich kann
eine weitere Stufe einer ATM-Verbindungshierarchie,
eine so genannte virtuelle Gruppenverbindung (Virtual Group Connection,
VGC) in Verbindung mit den Vorgaben der vorliegenden Erfindung implementiert
werden. Weitere Details zur VGC-Implementierung finden Sie nachfolgend
in der gemeinsamen anstehenden US-Patentanmeldung mit dem Titel "Virtual Group Connection
Scheme For ATM Architecture In An Access Mode" ("Schema
für Virtuelle
Gruppenverbindungen für
ATM-Architektur in einem Netzzugangsknoten"), die zum gleichen Datum wie das vorliegende
Papier zum Patent angemeldet wurde unter der Anmeldungsnummer:
10/280,604 (Anwaltsliste
Nr.:
1285-0099US ),
im Namen von Mudhafar Hassan-Ali et al.
-
Die
Verwaltung des eingehenden Datenverkehrs hinsichtlich der Flüsse, die
der Vermittlung 102 (deren Funktionalität als ATM-Kreuzverbindungskarte
(XCF-Karte) implementiert werden kann) präsentiert werden, umfasst demzufolge
im Allgemeinen drei Stufen: Überwachung,
Zuordnung von VC-Warteschlange/Puffer und Formung/Einplanung. In
einer Implementierung kann die Hardware zu den verschiedenen Stufen
innerhalb der XCF-Karte implementiert werden. Die wichtigste Funktion
einer Überwachung
ist es sicherzustellen, dass die empfangenen Zellen den relevanten
Verbindungsbeschreibungen entsprechen. Ist dies nicht der Fall,
können
die eingehenden Zellen gelöscht
oder markiert (d. h. gekennzeichnet) werden durch Aufheben bzw.
Setzen der Markierung eines Felds „Priorität des Zellenverlusts" (Cell Loss Priority,
CLP) im Kopfabschnitt der Zelle. Im Allgemeinen wird die Überwachungsfunktionalität implementiert
durch Verwendung bekannter Algorithmen, die in den Standards ITU-T
1.371 und ATM Forum ATMF-TM-121 beschrieben sind. Im Wesentlichen
verwenden diese auch als GCRA („Generic Cell Rate Algorithm", Allgemeiner Algorithmus
für das
Zellenkontingent) kategorisierten Algorithmen einen so genannten "Credit
Counter Called Bucket" und
das bekannte Guthaben ("Credit") als Wertmarken („Tokens"). Falls nach dem Empfang einer Zelle
ein ausreichend hohes Guthaben (d. h. genügend Wertmarken) im Zähler (d.
h. dem Eimer) vorhanden ist, wird die Zelle zugelassen; andernfalls
wird die Zelle als eine Zelle mit niedrigerer Priorität gekennzeichnet
oder gelöscht.
Darüber hinaus
können,
wie in der Anmeldung zur hierarchischen Scheduler-Architektur beschrieben,
die GCRA-basierten Algorithmen in einem so genannten Leaky Bucket
Module (LBM) implementiert werden für Datenverkehrsüberwachung
(„Policing") und Datenverkehrsformung
(„Shaping"), d. h. Einplanung,
im Hinblick auf verschiedene ATM-Datenverkehrsklassen; diese Klassen
werden kategorisiert auf der Basis einer Serviceklasse („Class
of Service", CoS),
die definiert ist durch Faktoren wie die zeitliche Empfindlichkeit,
die Bandbreiten-Garantien in der Spitze und kontinuierlich, die
Burst-Fähigkeit
und die Zustellungsgarantien.
-
Die
hierarchische Einplanungsfunktionalität wird über ein in dieser Figur nicht
dargestelltes PQM-Modul (Priority Queue Module, Prioritäts-Warteschlangenmodul)
implementiert, wobei jede Schicht die Einplanungsfunktion für einen
Eintrag durchführt;
hierbei kann es sich entsprechend der Flussbündelung um eine der folgenden
Schichten handeln: Subport, Bus, Port und Leitung. Beim Empfang
einer Zelle eines neuen Flusses durch das Netz wird dieser Datenfluss
im Wesentlichen durch einen Eintrag im Scheduler wie folgt dargestellt: Eine
Fluss-ID („FID") wird vom LBM empfangen,
und entsprechend der CoS/QoS werden die Daten des Flusses (d. h.
FID und der Zeit stempel „TS") in der relevanten
Schicht-1-Datenstruktur gespeichert. Unter allen in Konkurrenz stehenden
Subports in Schicht 1 (beispielsweise verschiedene Flüsse einer
Leitungseinheit) wird nur einer mit dem niedrigsten TS vom Schichtzuteiler
ausgewählt
und anschließend
an die Zuteilung der nächsten
Schicht weitergeleitet, d. h. an die Zuteilung der Schicht 2. Die
Schicht-2-Datenstruktur enthält
entsprechend "Winner
FID/TS"-Daten von
verschiedenen Subports. Wiederum wird nur ein Eintrag mit dem niedrigsten
TS zur Weiterleitung an Schicht 3 ausgewählt. Das Szenario wird somit
für zusätzliche
Bündelungsschichten
sukzessive wiederholt, was schließlich dazu führt, dass
für jede
Serviceprioritätskategorie
ein Gewinner (d. h. die FID/TS-Daten der erfolgreichen Zelle) nominiert
wird. Wie in der Anmeldung zur hierarchischen Scheduler-Architektur
beschrieben, wird des Weiteren für
jede Servicekategorieebene die schichtorientierte Zuteilung durchgeführt, um
für jede
Ebene einen Gewinner zu nominieren; anschließend wählt ein CoS-orientierter Zuteiler
auf der Basis des Zeitstempels durch Zuteilung unter den Nominierten
aus den einzelnen Serviceebenen einen letzten Gewinner aus.
-
Es
sollte daher klar sein, dass die Zuteilung auf den einzelnen Schichten
zur Auswahl eines Gewinners für
die jeweilige Ebene die Verwaltung der diesen Ebenen zugeordneten
PQ-Strukturen umfasst.
Im Allgemeinen sind die PQ-Strukturen als Baumstruktur implementiert,
wobei die Datenknoten (die beispielsweise die TS/FID der zugelassenen
Zelle oder die aus der unteren Schicht ausgewählte Zelle darstellen) nach
bestimmten Regeln zum Einfügen/Löschen angeordnet
sind. 2 zeigt eine Ausführungsform eines Schedulers 200 mit
mehreren Schichten und mehreren Ebenen, der zur Implementierung
der Einplanungsfunktionalität
für die Bedienung
der MC-Flüsse
in der in 1 dargestellten ATM-Vermittlung
betrieben werden kann.
-
Jede
der PQ-Einheiten des Schedulers
200 an jeder Bündelungsschicht
wird als Baumstruktur dargestellt, sodass für jede Serviceebene eine verschachtelte
Gesamt-Baumanordnung entsteht. Die folgende Tabelle zeigt verschiedene
exemplarische Serviceklassen und die ihnen zugeordneten parametrischen
Informationen: Tabelle I
Serviceklasse | Anwendungen | Parameter |
Echtzeit
Konstante Bitrate (CBR), Echtzeit Variable Bitrate (rt-VBR) | Sprache
(Einkanal oder Trunk), VBR Video, Spiele | Spitzen-Zellenrate
(PCR), Toleranz bei Abweichungen der Zellenverzögerung (CDVT) |
Nicht-Echtzeit
Variable Bitrate (nrt-VBR) | Daten,
Multimedia, E-Mail, Video-Streaming | PCR,
CDVT, Kontinuierliche Zellenrate (SCR), Maximale Burst-Größe (MBS) |
Garantierte
Frame-Rate (GFR) | Premium-Daten,
Web-Browsing, Internet | PCR,
CDVT, MBS, Maximale Zellenrate (MCR), Maximale Frame-Größe (MFS) |
Bester
Versuch (Nicht angegebene Bitrate oder UBR) | Preisgünstige Daten,
Web-Browsing und Internet | PCR,
CDVT |
-
Weitere
Einzelheiten zu den parametrischen Daten und Dienstgütestufen
sind in der Anmeldung zur hierarchischen Scheduler-Architektur enthalten.
Bei der Fortsetzung mit 2 verweisen die Bezugszeichen 206-1 bis 206-6 auf
die folgenden Serviceebenen: rt[CBR/VBR] – HOHE Ebene, rt[CBR/VBR) – MITTLERE Ebene,
rt[CBR/VBR] – NIEDRIGE
Ebene, nrt-VBR- und GFR-Ebene, GFR-Ebene und UBR (d. h. Bester Versuch)
Ebene. Das Bezugszeichen 208 verweist auf den PQ-Baum zu
einem Subport- Zuteiler 1305-i,
wobei der PQ-Baum gemäß den vom
entsprechenden Subport unterstützten
VC-Verbindungen gebildet wird. Im Wesentlichen verwendet (bzw. erzeugt)
jeder Subport des Schedulers einen PQ, bei dem es sich um eine Datenstruktur
handelt, in der alle aktiven FIDs gespeichert sind (d. h. die der
FID zugeordnete VC-Warteschlange hat mindestens eine Zelle in dieser
Struktur). Die Gewinner aus allen Subport-Zuteilungen (z. B. Subport-Zuteiler 222-i und 222-j)
werden weitergeleitet, um die einem Busebenen-Zuteiler 224-1 zugeordnete
PQ-Baumstruktur 210 der
nächsten
Ebene zu füllen.
Ebenso leiten die Busebenen-Zuteiler 224-1 und 224-k die
entsprechende Auswahl an eine PQ-Struktur 212 der Shelf-Ebene
weiter. Ein Zuteiler 214 der Shelf-Ebene, eine Stackplane-Schnittstelle 216 und
eine Transportebenen-Schnittstelle 218 leiten ihre Auswahl
an einen Leitungsebenen-Zuteiler 220 weiter, der einen
Gewinner für
eine bestimmte Serviceebene auswählt.
-
Eine
Reihe von Datenstrukturen kann bereitgestellt werden zur Implementierung
der baumorientierten PQs, die im Zusammenhang mit der hierarchischen
Einplanung gemäß der vorliegenden
Patentanmeldung verwendet werden. In einer exemplarischen Implementierung
der vorliegenden Erfindung können
die PQ-Einheiten als Heap-Struktur ausgeführt sein. Die Heap-Implementierung
eignet sich im Allgemeinen optimal hinsichtlich der Speicherauslastung,
sie leidet jedoch unter der Komplexität des Algorithmus, die den
Durchsatz in einer Hochgeschwindigkeitskonzeption begrenzt. In einer
weiteren Implementierung werden die schichtspezifischen PQ-Einträge entsprechend
als Hybrid-„Calendar-Heap"-Struktur ausgeführt, die
ausführlich
beschrieben ist in der gemeinsamen anstehenden US-Patentanmeldung
mit dem Titel "Calendar
Heap System And Method For Efficient Sorting," (Kalender-Heap-System und Verfahren
für eine
effiziente Sortierung), die zum gleichen Datum wie das vorliegende
Papier zum Patent angemeldet wurde unter der Anmeldungsnummer:
10/281,033 (Anwaltsliste
Nr.:
1285-0101US ),
im Namen von Mudhafar Hassan-Ali et al.
-
Bezug
nehmend auf 3 ist hier ein Funktionsblockdiagramm
auf hoher Ebene dargestellt, das eine Vermittlungskarte 300 zeigt,
die einen Scheduler-Block 310 zur Implementierung eines
Fluss-Einplanungsverfahrens mit Mehrfachübertragung in einem Netzzugangsknoten
gemäß den Vorgaben
der vorliegenden Erfindung umfasst. Der Scheduler-Block 310 umfasst
ein PQM 302 und ein LBM 308 mit einer Reihe von
Schnittstellen dazwischen zur Kommunikation von Nachrichten/Daten
zu den Scheduler-Operationen. Diese Schnittstellen umfassen eine
Zeitablaufschnittstelle 314, eine Schnittstelle 316 für den Gewinnablauf,
eine Heap/Fluss-Neuverbindungsschnittstelle 318 und eine
Heap/Fluss-Einfügeschnittstelle 320.
Der PQM-Block 302 ist des Weiteren über eine Schnittstelle mit
einer Vielzahl von Speicherblöcken 304-1 bis 304-4 zum
Speichern der verschiedenen PQ-Datenstrukturen zu der oben beschriebenen
hierarchischen Scheduler-Architektur verbunden. Ein mit dem PQM-Block 302 verbundener
Kontrollspeicher 306 kann zum Speichern des Kontrollprogrammcodes
zu den Operationen des PQM betrieben werden.
-
Der
LBM-Block 308 ist ebenfalls über eine Schnittstelle mit
einem oder mehreren Speicherblöcken
verbunden, z. B. mit Speicher 312, der zum Speichern von
Informationen über
die vom LBM verwendeten algorithmischen Prozesse zur Überwachung
und zur Formung betrieben werden kann. In einer Implementierung kann
der LBM betrieben werden zur Ausführung eines "Leaky Bucket"-Rechners als Statussystem,
das die Gültigkeit
einer Zelle gemäß der Datenverkehrsvereinbarung
und die Historie der Verbindung, zu der sie gehört, ermittelt.
-
Wenn
es für
die Überwachung
verwendet wird, ermittelt das Statussystem die Konformität der eingehenden
Zellen, während
es bei Verwendung im Rahmen der Formung den Zeitpunkt ermittelt,
zu dem die Zelle für
Services verwendet werden kann. Je nach der Serviceklasse werden
ein oder mehrere spezifische algorithmische Prozesse mit bestimmten
Parametern (d. h. Datenverkehrsbeschreibungen, "Leaky-Bucket"-Parameter, theoretische Ankunftszeit
(TAT), TS-Werte, Zellenankunftszeit, etc.) bereitgestellt zur Durchführung der Überwachungs-
und Formungsoperationen des LBM. Wie nachfolgend ausführlich beschrieben,
wird der GFR-Service der vorliegenden Erfindung über zwei separate algorithmische
LB-Prozesse mit je einem Parameter-Set implementiert, wobei diese
Prozesse zur Regulierung eines garantierten und eines nicht garantierten
Flussanteils betrieben werden können.
-
Der
LBM-Block 308 ist ebenfalls über eine Schnittstelle mit
einem Kontext-Speichermodul 332 (Context Memory Module,
CMM) und einem Warteschlangen-Kernmodul 322 (Queue Core
Module, QCM) verbunden; so erzielt er seine Gesamtfunktionalität zur Aufrechterhaltung
der Leaky Bucket-Informationen für
alle vom ATM-Netz versorgten Flüsse
einschließlich
der MC-Flüsse, wobei
ein Root-Fluss an eine Vielzahl von Ausgangs-Ports oder Blätter geleitet wird. Eine dem
CMM-Block 332 zugeordnete Zellenankunfts-Schnittstelle 348 agiert
als Eingangspunkt für
eingehende Zellen. Ein dem CMM-Block 332 zugeordneter Kontextspeicher 334 kann
zum Speichern der flussorientierten Informationen wie beispielsweise
QoS, FID, "Leaky-Bucket"-Parameter, Zielpfadmarkierung ("Destination Path
Tag", DPT) etc.
verwendet werden. Außerdem
kann ein Statistik-Speicherblock 336 bereitgestellt
werden zum Erfassen von Leistungsüberwachungsdaten in Verbindung mit
den von der ATM-Vermittlungskarte 300 bedienten
Verbindungen. Informationen zum Eingangsfluss und Kontextinformationen
zum Ausgangsfluss werden dem QCM-Block 322 über die
Schnittstellen 338 bzw. 340 bereitgestellt. Ein
Kopf-/Ende-Zeigerspeicher 352 und ein Statistikspeicher 354 sind
mit dem QCM-Block 322 gekoppelt. Eine diesem Block zugeordnete
Zellenzeiger-Schnittstelle 356 wird zum Verweis auf Zellen
verwendet, die für
Services auf der Basis der Einplanungsoperationen zur Verfügung stehen.
Die Funktionalität
des Kopf-/Endespeichers und der Zellenzeiger ist nachfolgend im
Kontext eines Mehrfachübertragungsflusses
beschrieben.
-
Die
Schnittstellen zwischen dem QCM-Block 322 und dem LBM-Block 308 umfassen
Folgendes: eine Flussaktivierungs-Schnittstelle 324, eine Fluss-Neuverbindungs-
und -Deaktivierungs-Schnittstelle 326, eine Verbindungsabschluss-Schnittstelle 328 und
eine Timeout-Schnittstelle 330. Eine Gewinnerzellen-Schnittstelle 342 zwischen
dem LBM-Block 308 und dem CMM-Block 332 kann zur Übertragung
von Informationen zu den Gewinnerzellen verwendet werden. Darüber hinaus
werden auch ein Uhr-Verwaltungsblock 344 und ein Prozessor-Schnittstellenmodul
mit einer Prozessor-Schnittstelle 350 bereitgestellt.
-
Im
Hinblick auf die verschiedenen oben beschriebenen Strukturblöcke umfasst
die Gesamtfunktionalität
des LBM-Blocks 308 Folgendes:
S – Flussaktivierung: Wenn eine
Zelle ankommt und der Zellenpuffer zu ihrer FID zuvor leer war,
wird vom QCM eine Flussaktivierungsnachricht an das LBM gesendet.
Dieses Schnittstelle enthält
die Informationen, die sich im Kontextspeicher zu dem Fluss befinden.
S – Gewinnerfluss
und Fluss-Neuverbindung/Deaktivierung: Wenn ein Fluss vom PQM als
Gewinner ausgewählt ist,
wird er aus den verschiedenen Heaps, zu denen er gehört (beispielsweise
in Abhängigkeit
von Bündelungsschichten),
gelöscht.
Wenn noch Zellen im Zellenpuffer dieses spezifischen Flusses verbleiben,
berechnet der LBM die TS-Werte neu und verbindet den Fluss in den
PQ-Datenstrukturen
neu. Falls keine Zellen verbleiben, berechnet der LBM die TS-Werte
für diesen
Fluss und speichert sie im „Leaky-Bucket"-Speicher, bis eine
weitere Zelle für
diesen Fluss ankommt.
S – Verbindung
schließen:
Wenn der CAC einen Fluss unterdrückt,
wird der Zellenpuffer gelöscht,
und die FID kann wieder für
eine andere Verbindung verwendet werden. Damit nicht die alten Parameter
für die
neue Verbindung verwendet werden, muss der LBM darüber informiert
werden, dass dieser Fluss nicht mehr gültig ist.
S – Zeitüberschreitung/Timeout:
Der „Leaky-Bucket"-Speicher wird vorzugsweise regelmäßig überprüft, um das
Speichern abgelaufener Zeiten zu verhindern.
-
4 zeigt
eine exemplarische Mehrfachübertragungs-Flussanordnung
(MC), bei der ein Root-Fluss in eine ATM-Umgebung gelangt, beispielsweise in
die ATM-Vermittlung des in 1 dargestellten
Zugangsknotens 100, und an eine Vielzahl von Ausgangsschnittstellen
mit einer entsprechenden Anzahl von Blattflüssen übertragen wird. In einer Ausführungsform
kann ein Scheduler wie der in der oben erwähnten Anmeldung zur hierarchischen
Scheduler-Architektur beschriebene zur Implementierung der erforderlichen
Funktionalität verwendet
werden. Das Bezugszeichen 402 bezieht sich auf eine Schnittstelle,
die einen Eingangsfluss 403 erhält (d. h. den Root), der zum
Senden an N Ausgangsschnittstellen 406-1 bis 406-N eingeplant
werden soll. Wie aus dem Stand der Technik bekannt, wird der Eingangsfluss 403 als
Root-Fluss bezeichnet und die an die Ausgangsschnittstellen gesendeten
MC-Flüsse
als Blattflüsse.
Das Bezugszeichen 404 verweist auf eine Illustrations-Warteschlange,
die dem Root-Fluss 403 zugeordnet ist, der eine Vielzahl
von Root-Flusszellen aufweist. Ebenso verweisen die Bezugszeichen 408-1 bis 408-N auf
die N Blattflüsse,
die der entsprechenden Anzahl von Ausgangsschnittstellen (d. h.
Blättern)
zugeordnet sind. Wie nachfolgend ausführlich beschrieben, wird jeder
Blattfluss mit einem Indexzeiger auf einen Zeigerspeicher initialisiert,
der eine zirkulär
verknüpfte
Liste von Zeigern zur Ausführung
der Mehrfachübertragungs-Funktionalität der vorliegenden
Erfindung implementiert. Die Bezugszeichen 410-1 bis 410-N verweisen
beispielsweise auf N Blattindex-Zeigerwerte, die den N Blattflüssen zugeordnet
sind. Darüber
hinaus werden zu jedem Blattfluss eine FID und entsprechende LB-Parameter
(z. B. TS) bereitgestellt, die vom Scheduler zur Übertragung
des replizierten Ausgangsdatenverkehrs (d. h. der Root-Zellen) zu
der zugeordneten Ausgangsschnittstelle verwendet werden, wenn der
Blattfluss gültig
wird.
-
Im
Kontext des oben beschriebenen QCM 322 mit Bezug auf 3 können bis
zu 256 MC-Roots eingerichtet werden mit einem Maximum von 2.048
Blättern
pro Root. Sobald ein Root-Fluss im ATM-Netz eingerichtet wurde,
können
MC-Blätter
der MC-Session hinzugefügt
oder aus der MC-Session gelöscht
werden. Bevor ein Root-Fluss im QCM zugelassen wird, muss jedoch
eine Mehrfachübertragungs-Session
(MC-Session) eingerichtet werden, beispielsweise von einer Software.
In einer Implementierung umfasst der Prozess zur Erstellung der
MC-Session die Programmierung
des dem CMM 332 zugeordneten Kontextspeichers mit Kontextdaten
für die
Root-Flüsse
und die Blätter,
die zu den entsprechenden MC-Sessions gehören. Sobald der Kontextspeicher
programmiert wurde, werden die Blätter innerhalb des Scheduler-Moduls 310 aktiviert.
Jedes Blatt kann vom Prozessor über
das CPU-Schnittstellenmodul 346 einzeln aktiviert werden
durch Schreiben der erforderlichen Register innerhalb des QCM-Blocks 322,
der zum Senden einer Blattaktivierungsnachricht an das Scheduler-Modul 310 verwendet
werden kann, sofern keine Aktivierung zur Einfachübertragung
erforderlich ist. Jeder einzelne MC-Root kann auch mit einer bestimmten
MC-Warteschlangentiefe, z. B. 256, 512, etc., programmiert
werden. Wie nachfolgend gezeigt, besteht ein Zusammenhang zwischen
der MC-Warteschlangentiefe und der Anzahl der in einer zirkulär verknüpften Pufferstruktur
verwendeten Zeiger; diese Zeiger verweisen auf eine Vielzahl von
Positionen in einem Zellenspeicherpuffer, der zum Speichern der
Root-Flusszellen
verwendet wird, beginnend mit der Kopfzelle des Flusses. Außerdem können für jeden
MC-Root ein MC-Gruppenwert und ein MC-Bit gesetzt werden, um anzugeben,
dass der Fluss zu einer MC-Session gehört. Dabei sollte klar sein,
dass die Programmierung der MC-Blätter die Zuordnung der Blätter zum
richtigen Root umfasst. In einer Ausführungsform wird dies durch
die Programmierung der MC-Blätter
und des MC-Root der gleichen Session mit der gleichen MC-Gruppennummer
erzielt. Außerdem
werden das MC-Bit und das MC-Active-Bit gesetzt, um anzugeben, dass
ein MC-Blatt hinsichtlich eines Root aktiv ist. Die MC-Warteschlangentiefe
kann für
jedes der Blätter
programmiert werden; dies ist jedoch im Allgemeinen nicht erforderlich.
Wenn das MC-Active-Bit für
ein Blatt nicht gesetzt ist und der Scheduler ein nicht-aktives
Blatt sendet, erzeugt das QCM einen Befehl zum Schließen der
Verbindung für
das Blatt.
-
In
einem Beispiel können
hinsichtlich des QCM die folgenden Operationen ausgeführt werden,
um mithilfe der in 3 dargestellten Funktionsblöcke eine
MC-Zelle in die Warteschlange des ATM-Netzes einzufügen. Während der
Kontextsuche wird der FID zum Abrufen des Flusskontexts verwendet,
der über
die Flusskontext-Eingangsschnittstelle an das QCM gesendet wird.
Die zum Einreihen des MC-Flusses in die Warteschlange erforderlichen
Kontextdaten sind das MC-Bit, die MC-Warteschlangentiefe und die MC-Gruppennummer.
Das CMM kann vorzugsweise zum Aktualisieren des Zählers der
Zellenankunft pro Fluss eingesetzt werden. Mithilfe des MC-Bits
innerhalb der Flusskontext-Eingangsschnittstellen kann das QCM erkennen, dass
der Fluss zu einem MC-Fluss gehört.
Das QCM erzeugt eine Adresse, die die richtige MC-Tabelle innerhalb
der Kopf-/Endespeicher
und der Zeigerspeicher indiziert; dies wird nachfolgend ausführlich erläutert. Der Kopf-/Endespeicher
ist so indiziert, dass er das Root-Sequenzbit und den aktuellen
Root-Flussindex abruft; dies ist der Root-Schreibindexzeiger. Anfänglich kann
der gesamte Kopf-/Endespeicher auf Nullen gesetzt werden, wodurch
der aktuelle Root-Indexwert für
alle MC-Sessions auf Null gesetzt wird. In einer Implementierung
kann die MC-Adresse für
den Zeigerspeicher aus der MC-Gruppennummer,
dem aktuellen Root-Index und einem Versatzwert gebildet werden.
Somit wird deutlich, dass der Zeigerspeicher mit der erzeugten MC-Zeigerspeicheradresse
indiziert wird, wobei die Root-Zellenzeiger nach der Überprüfung der
Gültigkeit
der Positionen in den Zeigerspeicher geschrieben werden.
-
Zum
Entfernen einer MC-Zelle aus der Warteschlange des ATM-Netzes werden
die folgenden Operationen mit Bezug auf den QCM-Block ausgeführt. Das
Scheduler-Module gibt einen Fluss zum Senden über die Schnittstelle für die Gewinnerzelle 342 aus.
Unter Verwendung der FID des Gewinnerflusses als Adresse wird der
Kontext abgerufen und über
die Ausgangsfluss-Kontextschnittstelle 340 an
den QCM-Block gesendet. Die zum Entfernen einer MC-Zelle aus der
Warteschlange erforderlichen Kontextdaten sind das MC-Bit, das MC-Active-Bit,
das Blattsequenz-Bit, die MC-Warteschlangentiefe und die MC-Gruppennummer. Der CMM-Block
kann zum Aktualisieren des Zellen-Sendezählers pro Fluss betrieben werden,
da die Zellen zum Senden nach erfolgter Zuteilung eingeplant werden.
Mithilfe des MC-Bits innerhalb der Schnittstelle kann der QCM-Block
erkennen, dass der Fluss zu einem MC-Fluss gehört. Wenn das MC-Active-Bit
= 0 ist, wird an den Scheduler ein Befehl zum Schließen der
Verbindung ausgegeben; andernfalls erzeugt der QCM-Block eine Adresse,
die die aktuelle MC-Tabelle innerhalb des Kopf-/Endespeichers und
der Zeigerspeicher indiziert. Das QCM indiziert den Kopf-/Endespeicher
mit der erzeugten Adresse und ruft das Root-Sequenzbit und den aktuellen
Root-Index ab. Diese Informationen werden in Verbindung mit den
Ausgangsfluss-Kontextdaten verwendet, um eine Zelle aus der MC-Warteschlange zu
entfernen. Der QCM-Block erzeugt anschließend eine Adresse, die die
entsprechende MC-Tabelle indiziert, und gibt eine Kopie der vom
Blattindexzeiger, der als Lesezeiger agiert, indizierten Zelle aus. Ähnlich wie
beim Prozess zum Einreihen der Root-Zelle in die Warteschlange wird
die MC-Adresse für den Zeigerspeicher
aus der MC-Gruppennummer, dem Blattindexwert und einem Versatzwert
gebildet.
-
Nach
dem Senden einer Kopie einer Zelle werden der Blattindexwert und
die Blattsequenz wie folgt aktualisiert. Wenn ein Blattindex mit
der MC-Warteschlangentiefe übereinstimmt,
hat das Blatt das Ende der MC-Warteschlange erreicht, daher muss
ein Umbruch erfolgen. Wenn der Blattindex mit dem aktuellen Root-Index übereinstimmt,
stimmt der Blatt-Lesezeiger
mit dem Root-Zellen-Schreibzeiger überein, es wird keine Root-Zellenkopie
für das
Blatt gesendet, sondern es wird eine Idle-Zelle aus dem Netz gesendet.
Stimmt der Blattindex dagegen nicht mit dem aktuellen Root-Index überein,
so stimmt der Blatt-Lesezeiger nicht mit dem Root-Zellen-Schreibzeiger überein,
es gibt kein Out-of-Sequence-Problem, und die Zellenkopie, auf die der
Zeiger verweist (auf die der Blattindex verweist), wird aus dem
Netz gesendet, und der Blattindex wird um Eins hochgezählt.
-
Wenn
ein Blatt und der Root nicht in der richtigen Folge stehen („Out of
Sequence"), wird
eine Kopie der Zelle am aktuellen Root-Index gesendet, und der Root-Index
wird wie folgt aktualisiert. Wenn der aktuelle Blattindex mit der
MC-Warteschlangentiefe übereinstimmt,
wird der Blattindex auf Null initialisiert. Stimmt der aktuelle
Blattindex dagegen nicht mit der MC-Warteschlangentiefe überein,
so entspricht der Blattindex dem aktuellen Root-Index, hochgezählt um Eins.
-
In
einer Implementierung wird nach dem Senden einer Kopie der Zelle
kein Zeiger an die freie Liste der Zeiger zurück gegeben, die auf die vom
MC-Zeiger adressierte Zellenspeicherposition verweist. Sowohl der
Blattindexwert als auch das Blattsequenz-Bit werden innerhalb des
Kontextspeichers pro Blatt-FID aktualisiert.
-
Bezug
nehmend auf 5 ist hier eine Speicherausführungsform 500 zur
Implementierung des MC-Warteschlangenpuffersystem
der vorliegenden Erfindung dargestellt. Die Speicherausführungsform 500 umfasst
einen Kopf-/Endespeicher 502,
einen Zeigerspeicher 504 und einen Zellenspeicher 506 zur
Durchführung
der nachfolgend ausführlich
beschriebenen Operationen zur MC-Einplanung. Wie weiter vorn beschrieben,
entsprechen die Blattindexwerte 410-1 bis 410-N den
N Blattflüssen,
die dem Root-Fluss 403 zugeordnet sind und die im Kopf-/Endespeicher 502 initialisiert
werden. Der Zeigerspeicher 504 umfasst einen zirkulär verknüpften Zeigerpuf fer 510 mit
einer Vielzahl von Zeigern 512-1 bis 512-M zur
Unterstützung
einer MC-Warteschlange der Tiefe M. Die Positionen des Blattindexzeigers
enthalten die Indexwerte, die auf die verknüpften MC-Zeiger verweisen und
die daher als Blattlesezeiger agieren, wie oben beschrieben. Entsprechend
können die
Blattindexwerte als Indizierung auf die Kopfdaten der Zellenpositionen
der entsprechenden Blattflüsse
angesehen werden, von denen sie nach dem Gewinn der Zuteilung Kopien
empfangen. Ebenso verweist der Root-Index auf eine Zeigerposition,
die als Root-Zellen-Schreibzeiger agiert und die daher als das Ende
der MC-Warteschlange betrachtet werden kann, an das Zellen bei ihrer
Ankunft in der ATM-Vermittlungsumgebung angehängt werden.
-
Die
Zeiger 512-1 bis 512-M können zirkulär in jeder bekannten oder bisher
unbekannten Weise verknüpft
werden. Der verknüpfte
Puffer 510 umfasst einen Indexbereich 514A mit
Bezug auf die Blatt- und Root-Flussindexwerte, und einen Zeigerpositionsbereich 514B mit
Zeigern auf die Zellenspeicherpositionen 516-1 bis 516-K,
die zusammenhängend,
verteilt oder anderweitig organisiert sein können. Die Root-Zellen werden
mithilfe des Root-Index gespeichert oder in die Zellenspeicherpositionen
geschrieben, beginnend mit der Kopf-Root-Zelle und weiteren Root-Flusszellen
in der Folge, in der sie für
den MC-Service in die Warteschlange eingereiht werden. Wenn ein
bestimmter Blattfluss für
die Einplanung verfügbar
wird (z. B. auf der Basis seiner LB-Parameter wie beispielsweise
TS), so wird eine Kopie der Kopf-Root-Zelle zum Senden abgerufen,
und der Blattindex des Gewinner-Blattindex wird aktualisiert. Wenn
der Fluss erneut die Zuteilung gewinnt, wird eine Kopie der nächsten Zelle
im Zellenspeicher zum Senden eingeplant.
-
6 zeigt
ein Beispiel eines zirkulär
verknüpften
Zeigerpuffersystems 600 zur Versorgung einer MC-Warteschlange
mit einer Tiefe von acht Speicherzellenpositionen, auf die jeweils
von einem verknüpften Zeiger
verwiesen wird. Zunächst
verweisen die Blattfluss-Indexwerte und der Root-Flussindex auf
einen gemeinsamen Zeiger. Nach der Ankunft einer Kopf-Root-Zelle zeigt
der Zeiger, auf den der Root-Flussindex verweist, auf die Zellenspeicherposition,
an der die Kopf-Root-Zelle
gespeichert werden kann. Der Root-Flussindex wird aktualisiert,
sodass zusätzliche
Root-Zellen bei ihrer Ankunft an geeigneten Zellenpositionen gespeichert
werden. Nach dem Speichern von acht Root-Zellen kann der Root-Flussindex
am aktuellen Root-Flussindex stoppen. Die Blattflüsse beginnen,
nach dem Gewinn der Zuteilung gemäß ihren entsprechenden LB-Parametern, mit dem
Abrufen von Kopien der Zellen entsprechend den jeweiligen Indexwerten,
die ebenfalls um den zirkulären
Zeigerpuffer herum aktualisiert werden. Während die Zuteilungen für die einzelnen
Zeitschlitze unabhängig
voneinander durchgeführt
werden, können
die Blattflüsse
unabhängig
voneinander Kopien der Root-Zellen erhalten, ohne sich gegenseitig
zu beeinträchtigen.
Sobald die MC-Session beginnt, können
die Blattfluss-Indexwerte daher mit variabler Rate hochgezählt und
auf verschiedene zirkuläre
Zeiger indiziert werden. Blattfluss-ID2 und Blattfluss-ID3 sind
beispielsweise beide auf Zeiger-1 indiziert, und Blattfluss-ID1,
Blattfluss-ID5, Blattfluss-ID4 und Blattfluss-ID6 sind auf Zeiger-2,
Zeiger-3, Zeiger-4 und Zeiger-6 indiziert.
-
7 ist
ein Flussdiagramm zum Betrieb in einer Ausführungsform des Mehrfachübertragungs-Einplanungsverfahrens
der vorliegenden Erfindung. In den Blöcken 702, 704 und 706 werden
verschiedene Initialisierungsprozeduren durchgeführt im Hinblick auf den Beginn
einer MC-Session in einer ATM- Umgebung,
z. B. einer ATM-Vermittlung eines Netzzugangsknotens. Der Fachmann
erkennt, dass diese Initialisierungsprozeduren in einer Reihe von
Schritten mit beliebiger Reihenfolge ausgeführt werden können. Entsprechend
ist die nachfolgende Beschreibung der Initialisierungsprozesse lediglich
als Verdeutlichung zu sehen. Nach dem Empfang der Root-Flusszellen
für die
Einplanung durch das Vermittlungsnetz des Knotens wird eine Reihe
von Blattfluss-IDs initialisiert entsprechend den dem MC-Session-Block
(Block 702) zugeordneten Ausgangsschnittstellen. Eine zirkulär verknüpfte Zeigerliste
einer MC-Warteschlange
(MCQ) wird initialisiert, wobei jeder verknüpfte Zeiger auf eine Zellenspeicherposition
verweist. Mithilfe eines Flussindex werden die Root-Flusszellen
in die Zellenspeicherpositionen geschrieben, beginnend mit der Kopf-Root-Zelle (Block 704).
Blattfluss-IDs werden auf den MCQ-Zeiger indiziert, der auf die
Position der Kopf-Root-Zelle verweist, um das Senden der Zellen
am richtigen Anfang des Root-Flusses (Block 706) zu beginnen.
-
Wenn
ein spezifischer Blattfluss zur Einplanung ansteht, wird eine Kopie
des Inhalts der Kopfzelle abgerufen zum Übertragen an die Ausgangsschnittstelle,
die dem Gewinner-Blattfluss
zugeordnet ist. Der Indexzeiger des Blattflusses wird so aktualisiert,
dass er auf den MCQ-Zeiger der nächsten
Zelle des MCQ (Block 708) verweist. Sobald eine bestimmte
Zelle für
alle Blattflüsse
eingeplant ist (d. h. alle Ausgangsschnittstellen haben eine Kopie
der spezifischen Zelle erhalten), kann die Zellenspeicherposition
dieser Zelle mithilfe des aktualisierten (d. h. aktuellen) Root-Flussindex
(Blockindex 710) zum Schreiben einer neuen Root-Zelle verfügbar gemacht
werden. Diese Operationen können
fortgesetzt werden, bis alle Root-Flussindizes für jeden Blattfluss durch das
Netz gesendet wurden.
-
Basierend
auf dieser Erläuterung
sollte klar sein, dass die vorliegende Erfindung ein innovatives
Schema zur Implementierung des Mehrfachübertragungsverfahrens in einer
ATM-Umgebung bietet, ob in einer in einem Netzzugangsknoten oder
in einem bereichsweiten Transportnetz angeordneten Vermittlung,
wobei die Schwächen
und Nachteile der derzeitigen Implementierungen in vorteilhafter
Weise überwunden
werden. Durch die Bereitstellung eines einzelnen MC-Zellenpuffers,
der unabhängig
für eine
Vielzahl von Blattflüssen zugänglich ist,
wird die Unterstützung
mehrerer Warteschlangen überflüssig. Darüber hinaus
erlaubt eine solche unabhängige
Anordnung getrennte Flüsse
und eliminiert dadurch die gegenseitige Beeinträchtigung verschiedener Flüsse. Auch
wenn das Mehrfachübertragungsschema
der vorliegenden Erfindung im Kontext eines hierarchischen Schedulers
mit dem ATM-Netz des Netzzugangsknoten vorgestellt wurde, erkennt
der Fachmann sofort, dass die hier vorgestellten Vorgaben nicht
nur auf einen solchen Kontext begrenzt sind, sondern auch in anderen
ATM-Anwendungen genutzt werden können.
-
Es
wird davon ausgegangen, dass der Betrieb und die Konstruktion der
vorliegenden Erfindung aus der vorangegangenen ausführlichen
Beschreibung klar ist. Obwohl die Ausführungsformen der gezeigten
und im vorliegenden Papier beschriebenen Erfindung exemplarisch
vorgestellt wurden, sollte klar sein, dass verschiedene Änderungen
und Modifizierungen daran vorgenommen werden können, ohne vom Anwendungsbereich
der vorliegenden Erfindung gemäß den folgenden
Patentansprüchen
abzuweichen.
-
1
- 105
- ATM-NETZWERK
- 107
- BANK-KETTE
- 100
- NETZ
ZUGANGSKNOTEN
- 104
- TRANSPORT-SCHNITTSTELLE
- 106
- STACKPLANE-SCHNITTSTELLE
- 102
- ATM-VERMITTLUNG
1. ÜBERWACHUNG
2.
OAM
3. KOPFDATEN-ÜBERSETZUNG
4.
WARTESCHLANGENVERARBEITUNG UND ZUGANGSKONTROLLE
5. EINPLANUNG
6.
DATENVERKEHRSFORMUNG
7. VERBINDUNGSZUGANGSKONTROLLE (CAC)
- 109-1
- BUS-SCHNITTSTELLE
- 107-1
- LU
(ADSL)
PORT-1
PORT-N
- 109-2
- BUS-SCHNITTSTELLE
- 107-2
- LU
(DS3/OC3)PORT
PORT
RT
PORT
PORT
- 109-N
- BUSSCHNITTSTELLE
- 107-N
- LU
(HDSL)
PORT-1
PORT-N
-
2
- 208
- PQ-BAUM
- 210
- PQ-BAUM
- 212
- PQ-BAUM
- 220
- LEITUNG
GEWINNER
GEWINNER
GEWINNER
GEWINNER
GEWINNER
GEWINNER
- 206-1
- PQ:
PRIORITÄTS-WARTESCHLANGE
-
3
- 334
- KONTEXT-RAM
- 336
- STATISTIK-RAM
- 352
- KOPF-/ENDE-RAM
- 354
- STATISTIK-RAM
- 348
- ZELLENANKUNFTS-SCHNITTSTELLE
- 350
- PROZESSOR-SCHNITTSTELLE
- 304-1
- RAM-1
- 304-2
- RAM-2
- 304-3
- RAM-3
- 332
- KONTEXT-
SPEICHERMODUL
- 338
- FLUSSKONTEXT-EINGANGSSCHNITTSTELLE
- 340
- FLUSSKONTEXT-AUSGANGSSCHNITTSTELLE
- 322
- WARTESCHLANGEN-KERNMODUL
- 356
- ZELLENZEIGER-SCHNITTSTELLE
- 346
- CPU-SCHNITTSTELLENMODUL
- 344
- UHRZEITVERWALTUNG
- 302
- PRIORITÄTS-WARTESCHLANGENMODUL
- 320
- HEAP-EINFÜGE-SCHNITTSTELLE
- 318
- HEAP-NEUVERBINDUNGS-SCHNITTSTELLE
- 316
- GEWINNERFLUSS-SCHNITTSTELLE
- 314
- ABLAUF-SCHNITTSTELLE
- 310
- SCHEDULER
- 324
- FLUSSAKTIVIERUNGS-SCHNITTSTELLE
- 326
- FLUSSNEUVERBINDUNGS-
UND DEAKTIVIERUNGS-SCHNITTSTELLE
- 328
- VERBINDUNGSABSCHLUSS-SCHNITTSTELLE
- 330
- TIMEOUT-SCHNITTSTELLE
- 308
- LEAKY-BUCKET-MODUL
- 312
- LEAKY-BUCKET-RAN
- 304-4
- RAM-4
- 306
- KONTROLL-RAM
-
4
- 403
- EINGANGSFLUSS
- 402
- ROOT
- 406-1
- AUSGANGS-SCHNITTSTELLEN
(BLÄTTER)
- 410-1
- BLATTINDEXZEIGER-1
- 410-2
- BLATTINDEXZEIGER-2
- 410-3
- BLATTINDEXZEIGER-3
- 410-4
- BLATTINDEXZEIGER-4
-
5
- 502
- KOPF-/ENDE-SPEICHER
- 410-1
- BLATTFLUSS-1
KOPF BLATTINDEX
- 410-2
- BLATTFLUSS-2
KOPF
- 410-3
- BLATTFLUSS-3
KOPF
- 410-N
- BLATTFLUSS-N
KOPF
- 403
- ROOT-FLUSS
ENDE AKTUELLER ROOT-INDEX
- 504
- ZEIGERSPEICHER
- 514B
- ZEIGER-1
ZEIGER-2
ZEIGER-3
ZEIGER-(M-2)
ZEIGER-(M-1)
ZEIGER-M
- 506
- ZELLENSPEICHER
-
6
- ZEIGER-1
- BLATTFLUSS-ID2
BLATTFLUSS-ID3
- ZEIGER-2
- BLATTFLUSS-ID1
- ZEIGER-3
- BLATTFLUSS-ID5
- ZEIGER-4
- BLATTFLUSS-ID4
- ZEIGER-5
-
- ZEIGER-6
- BLATTFLUSS-ID6
- ZEIGER-7
- ANKUNFT
ROOT-ZELLE
- ZEIGER-8
-
-
7
- 702
- EMPFANG
VON ROOT-FLUSSZELLEN ZUR EINPLANUNG DURCH DIE ATM-VERMITTLUNG DES NETZZUGANGSKNOTENS;
INITIALISIEREN DER BLATTFLUSS-IDS
- 704
- INITIALISIEREN
EINER ZIRKULÄR
VERKNÜPFTEN
MCQ ZEIGERLISTE, JEDER ZEIGER VERWEIST AUF EINE ZELLENSPEICHERPOSITION;
SPEICHERN DER ROOT-FLUSSZELLEN IN ZELLENSPEICHERPOSITIONEN MITHILFE
DES ROOT-FLUSSINDEX
- 706
- INDIZIEREN
DER FLUSS-IDS ZU DEM DER KOPFZELLENPOSITION ZUGEORDNETEN MCQ-ZEIGER
- 708
- WENN
EIN BESTMMTER BLATTFLUSS ZUR EINPLANUNG ANSTEHT, ABRUFEN EINER KOPIE DES
INHALTS DER KOPFZELLENPOSITION ZUR ÜBERTRAGUNG AN DIE DEM BLATTFLUSS ZUGEORDNETEN
AUSGANGSSCHNITTSTELLE; AKTUALISIEREN DES INDEXZEIGERS DES BLATTFLUSSES
ZUM VERWEISEN AUF DEN MCQ-ZEIGER DER NÄCHSTEN ROOT-ZELLE
- 710
- NACH
DEM EINPLANEN EINER BESTIMMTEN ZELLE FÜR ALLE BLATTFLÜSSE (D.
H. NACH DEM ABRUFEN VON KOPIEN DER ZELLE), SCHREIBEN EINER NEUER
ROOT-ZELLE AN DIESE POSITION MITHILFE DES ROOT-FLUSSINDEX