DE10051146A1 - Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür - Google Patents
Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafürInfo
- Publication number
- DE10051146A1 DE10051146A1 DE10051146A DE10051146A DE10051146A1 DE 10051146 A1 DE10051146 A1 DE 10051146A1 DE 10051146 A DE10051146 A DE 10051146A DE 10051146 A DE10051146 A DE 10051146A DE 10051146 A1 DE10051146 A1 DE 10051146A1
- Authority
- DE
- Germany
- Prior art keywords
- time
- vcc
- data
- cell
- atm
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
- H04L2012/5653—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
- H04L2012/5656—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL2
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Die Erfindung bezieht sich auf ein Verfahren zum Bestimmen einer Zuordnungszeit (NS) in einem Zeitplaner (9) mit einer festgelegten Anzahl (K) von Zuordnungszeiten, wobei für eine zuzuordnende Zeit mittels einer Hash-Funktion jeweils eine bestimmte Zuordnungszeit der Anzahl von Zuordnungszeiten bestimmt wird und wobei mittels der Hash-Funktion die tatsächlich fortschreitende Zeit auf diese festgelegte Anzahl (K) von Zuordnungszeiten abgebildet wird. DOLLAR A Ein Verfahren zum Bestimmen einer Sendezeit (TST) für eine Datenzelle (13) über eine Ausgangsleitung (3) eines paketorientierten Übertragungssystems, insbesondere gemäß dem ATM-Standard, ist vorteilhaft, wenn das Eintragen einer bestimmten Sendezeit (TST) als zuzuordnende Zeit für die Datenzelle (13) in einen Zeitplaner (9) erfolgt. Vorteilhafterweise erfolgt dies unter Verwendung des vorstehend beschriebenen Verfahrens. DOLLAR A Weitere Anwendungsgebiete sind Zeitplaner in Maschinenanlagen, Vermittlungseinrichtungen in insbesondere paketorientierten Kommunikationseinrichtungen oder Multiplexer zum Multiplexen von Daten.
Description
Die Erfindung bezieht sich auf ein Zeiteinteilungsverfahren
für den Versand von ATM-Zellen mit den oberbegrifflichen
Merkmalen des Anspruchs 1 sowie eine Zeiteinteilungsvorrich
tung dafür.
In leitungsgebundenen Kommunikationssystemen oder Funk-
Kommunikationssystemen, beispielsweise dem europäischen Mo
bilfunksystem der zweiten Generation GSM (Global System for
Mobile communications) oder dem zukünftigen Funk-
Kommunikationssystem UMTS (Universal Mobile Telecommunication
System), erfolgt eine Übertragung von Daten paketorientiert,
wobei die Daten derzeit über ATM-Leitungen transportiert wer
den (ATM: Asynchronous Transfer Mode). Da die Benutzung und
der Unterhalt solcher ATM-Leitungen kostenintensiv ist, ver
suchen die Anbieter deren verfügbare Bandbreite so weit aus
zunutzen, wie dies möglich ist. Zu diesem Zweck wurde das so
genannte ATM Adaption Layer Type 2 (AAL2)-Protokoll als ein
Multiplexing-Protokoll standardisiert, dass für beispielswei
se den Fall von Sprachverbindungen die Verwendung einer fes
ten ATM-Nutzlast mit 48 Byte bei Verwendung von kurzen Teil
nehmerpaketen verwendet.
Nachdem die mittlere Größe eines derzeit üblichen Sprachpake
tes ca. 20 Byte beträgt, wird die Nutzlastkapazität einer
ATM-Zelle (48 Byte) lediglich zu ca. 40% ausgelastet. Zur Lö
sung dieses oder ähnlicher Probleme ist das Multiplexen meh
rerer Sprachpakete in eine einzige ATM-Zelle bekannt.
Die derzeit übliche Implementierung einer dafür erforderli
chen Verbindungseinrichtung ist anhand Fig. 1 skizziert. Dabei
führt eine erste physikalische Eingangsleitung 1 in eine
Verbindungseinrichtung 2 hinein. Daten, die über die Ein
gangsleitung 1 in die Verbindungseinrichtung 2 hineingeführt
werden, werden in dieser Verbindungseinrichtung insbesondere
virtuell umgestellt oder neu eingeteilt und dann über eine
physikalische Ausgangsleitung 3 ausgegeben. Die Eingangslei
tung 1 und die Ausgangsleitung 3 werden derzeit üblicherweise
als Leitungen mit 155 Mbps ausgelegt. Innerhalb der Verbin
dungseinrichtung 2 werden eintreffende ATM-Zellen von einem
ATM-Demultiplexer 4 demultiplext und an einen AAL2-
Demultiplexer 5 weitergeleitet. Die Daten werden dabei auf
eine Vielzahl virtueller Verbindungen aufgeteilt und schließ
lich in einer AAL2-Schalteinrichtung 6 neu geordnet. Von der
Schalteinrichtung 6 werden die neu geordneten Daten einem
AAL2-Multiplexer 7 und schließlich einem ATM-Multiplexer 8
zugeführt, welche die Zellen für die Weiterleitung über die
physikalische Ausgangsleitung 3 sammeln und bereitstellen.
Bei der Schalteinrichtung 6 trifft somit eine Vielzahl virtu
eller Verbindungen ein, deren Daten entsprechend auf geeigne
te virtuelle Ausgangsverbindungen verteilt werden müssen. Üb
licherweise ist eine Pufferung vorgesehen, so dass eine ge
wisse Menge an gleichzeitig eintreffenden und zu verarbeiten
den Daten in Puffereinrichtungen zwischengespeichert werden
kann. Für die Funktion der Schalteinrichtung 6 bzw. die ent
sprechende Zuordnung von Daten, die über die entsprechend
vielen virtuellen Verbindungen hereinkommen, auf eine ent
sprechend große Anzahl herausführender virtueller Verbindun
gen, die auf eine einzige herausführende physikalische Ver
bindung multiplext werden müssen, werden für die Handhabung
der virtuellen Verbindung sogenannte Verkehrskontrakte be
rücksichtigt. Diese systemspezifischen Verkehrskontrakte
stellen eine erforderliche Dienstegüte (QoS: Quality of Ser
vice) für eine virtuelle Verbindung sicher. Insbesondere sor
gen diese Kontrakte dafür, dass nur so viel Datenverkehr in
die Schalteinrichtung 6 hereingelassen wird, wie von dieser
und insbesondere auch der physikalischen Ausgangsleitung 3
bewältigt werden kann. Bei einer derzeitigen Implementierung
müssen über die einzelnen Verbindungen zuvor Angaben herein
kommen, die Informationen darüber geben, wie viele Daten
nachfolgend maximal kommen werden. Beispielsweise werden in
der Dienstekategorie "konstante Bit-Rate (CBR: Constant Bit
Rate)" eine maximale Datenrate pro Verbindung (PCR: Peak Cell
Rate) und eine Zellenverzögerungs-Variationstoleranz (CDVT:
Cell Delay Variation Tolerance) angegeben. Eine in der Ver
bindungseinrichtung 2 befindliche Instanz zur Überwachung des
Verkehrskontrakts (Policer) markiert oder löscht eine Zelle,
wenn diese dem generischen Zellratenalgorithmus GCRA (1/PCR,
CDVT) (GCRA: Generic Cell Rate Algorithm) nicht entspricht.
Markierte Zellen können von einer anderen Verbindungseinrich
tung zu einem späteren Zeitpunkt bei Bedarf bevorzugt ge
löscht werden.
Um diese Situation zu verhindern, werden Zellen verzögert und
zeitlich beabstandet verarbeitet. Diese Verarbeitung erfolgt
insbesondere unter Verwendung von Algorithmen, die in Puffern
bzw. Warteschlangen befindliche Zellen zur weiteren Verarbei
tung auswählen. Algorithmen für die zeitliche Planung eines
festen Sendezeitpunktes sind entweder mit Blick auf die Ve
rarbeitungs- und Auswahlmöglichkeiten sehr starr oder aber
mit einem sehr hohen Rechenaufwand verbunden. Eine Verarbei
tung der Zellen innerhalb einer überschaubaren Zeit, insbe
sondere innerhalb weniger Zellzyklen bzw. System-Taktraten
ist mit diesen Algorithmen jedoch nicht möglich.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
Zeiteinteilungsverfahren für den Versand von ATM-Zellen sowie
eine geeignete Zeiteinteilungsvorrichtung dafür vorzuschla
gen.
Diese Aufgabe wird durch ein Verfahren zum Bestimmen einer
Zuordnungszeit in einem Zeitplaner mit den Merkmalen des An
spruchs 1 bzw. einen Zeitplaner zum Durchführen eines ent
sprechenden Verfahrens gemäß Anspruch 15 gelöst.
Eigenständig erfinderische Lösungen finden sich beim Einsatz
eines solchen Verfahrens zum Bestimmen einer Sendezeit für
eine Datenzelle in einem paketorientierten Übertragungssystem
gemäß Anspruch 9 und in Zeitplanern, Vermittlungseinrichtun
gen sowie Multiplexern in Kommunikationssystemen.
Vorteilhafte Ausgestaltungen sind insbesondere auch Gegens
tand von abhängigen Ansprüchen.
Vorteilhafterweise bildet das Verfahren zum Bestimmen einer
Zuordnungszeit in einem Zeitplaner mit einer festgelegten An
zahl von Zuordnungszeiten, eine zuzuordnende Zeit mittels ei
ner Funktion auf jeweils eine bestimmte Zuordnungszeit der
Anzahl von Zuordnungszeiten ab. Dabei wird die Anzahl der Zu
ordnungszeiten dadurch auf eine maximale Anzahl begrenzbar,
dass die Funktion die tatsächlich fortschreitende Zeit auf
diese festgelegte maximale Anzahl von Zuordnungszeiten abbil
det. Für das Eintragen eines Ereignisses oder eines Verweises
auf ein solches in einen der Zuordnungszeit entsprechenden
Speicherbereich des Zeitplaners muss dessen Speicherraum
nicht mehr bis zu dieser Stelle durchsucht werden.
Insbesondere die Suche nach eingetragenen Ereignissen gestal
tet sich einfach, da einem gesuchten Zeitpunkt direkt mit ei
ner einfachen Funktion, insbesondere einer Hash-Funktion, wie
z. B. der Modulo-Funktion, berechnet werden kann. Das Ergebnis
der Berechnung verweist dann direkt auf den dieser Zeit zuge
ordneten Speicherraum. Mit anderen Worten, anstelle langer
zeitaufwendiger Suchvorgänge können mit einem sehr geringen,
klar definierten Zeitaufwand eine Zuordnung bzw. ein Wieder
finden von Daten zu einem bestimmten Zeitpunkt erfolgen. Le
diglich im Falle mehrerer Einträge in einem der Speicherräume
muss dann gesucht werden, und dies auch nur noch dieser hin
sichtlich der darin befindlichen Einträge.
Zuzuordnende Zeiten außerhalb der momentan zuordbaren Zeiten
oder damit verbundene Ereignisse würden insbesondere beim
Einsatz einer Modulo-Funktion einer "falschen" Zuordnungszeit
zugeordnet werden. In Fällen, in denen dies nicht systembe
dingt oder aufgrund ausreichender Anzahl von Zuordnungszeiten
auszuschließen ist, können solche Zeiten bzw. die dazu gehö
renden Daten ignoriert und/oder vorübergehend in einem ge
trennten Abbildungsbereich registriert werden.
Der Anzahl von Zuordnungszeiten jeweils Eintragungsbereiche
in einem Speicherraum zuzuordnen, bietet die Möglichkeit in
die Eintragungsbereiche direkt Daten und/oder Verweisinforma
tionen auf Daten, Programme oder Ereignisse einzutragen. Be
sonders vorteilhaft ist das Eintragen von Zeigern auf einen
Datenspeicherraum, so dass der Speicherraum des Zeitplaners
und der Speicherraum für Daten systemtechnisch und/oder bau
lich getrennt verwaltet werden können.
In den Eintragungsbereichen können insbesondere jeweils Daten
oder Verweisinformationen (16) zu mehreren zuzuordnenden Zei
ten oder Ereignissen eingetragen werden, so dass pro Zuord
nungszeit mehrere Ereignisse auf einfache Art und Weise ver
waltet werden können. Die Daten oder Verweisinformationen zu
mehreren Ereignissen können in einem gleichen Eintragungsbe
reich besonders einfach jeweils als Menge, insbesondere Lis
te, abgelegt werden. Insbesondere die Verwendung von Zeigern
als Elemente einer doppelten Verkettung ermöglicht eine ein
fache Neueingliederung oder Herausnahme bzw. auch das Umord
nen einzelner Einträge in einer solchen Liste.
Das Verfahren zum Bestimmen einer Sendezeit für eine Daten
zelle über eine Ausgangsleitung eines paketorientierten Über
tragungssystems, insbesondere gemäß dem ATM-Standard, wird
durch das Eintragen einer bestimmten Sendezeit als zuzuord
nende Zeit für die Datenzelle in einen Zeitplaner einfach und
schnell durchführbar.
Mit einer der Verweisinformationen, insbesondere einem Zei
ger, auf jeweils eine Datenzelle und/oder deren Speicherplatz
zu verweisen, ermöglicht das schnelle Eintragen von Ereignis
sen in den Zeitplaner, da die zu verwaltende Verweisinforma
tion ohne großen Aufwand handhabbar ist.
Wenn beim Bestimmen der Sendezeit eine auf der Ausgangslei
tung ausreichende Beabstandung der zu sendenden Daten ein
gehalten wird, kann ein bestimmtes Verkehrsmuster auf der
Ausgangsleitung erzeugt werden, so dass in Kommunikationssys
temen mit Überwachungseinrichtungen, welche die Menge der
eintreffenden und zu verarbeitenden Daten das Aussortieren
von Daten für den Fall verhindert werden kann, in dem zu vie
le Daten eintreffen. Vorteilhaft ist dies insbesondere dann,
wenn die Überwachungseinrichtungen nach der Herkunft der ein
treffenden Daten sehen und ab einer zu hohen Datendichte nur
eine bestimmte Datenmenge gleichen Ursprungs akzeptiert, denn
beim vorliegenden Verfahren können Daten verschiedener Daten
quellen z. B. in Verbindung mit einem Multiplexer gemischt und
entsprechend zueinander beabstandet bzw. zeitlich verteilt
werden.
Getrennte Algorithmen zur Feststellung einer letzten Sende
zeit und zur Bestimmung einer nächsten möglichen Sendezeit
ermöglichen eine besonders flexible Anpassung insbesondere
eines solchen Beabstandungsmechanismus an verschiedene Anfor
derungen hinsichtlich z. B. der Verkehrskontrakte bei Kommuni
kationssystemen.
Beim Bestimmen der Sendezeit eine ausreichende Zeit für ein
Weiterverarbeiten von Daten, insbesondere Multiplexen von Da
ten für die Datenzelle(n) bereitzustellen, wird insbesondere
durch die vorstehenden Verfahrensschritte einfach umsetzbar.
Durch das Verfahren wird somit in vorteilhafter Weise ein
skalierbarer Zeitplaner mit Zeitvergabefunktionen im Zusam
menhang mit dem Multiplexen mehrerer ATM-Verbindungen unter
Berücksichtigung von zeitlichen Randbedingungen bereit gestellt.
In vorteilhafter Weise ist ein solcher Algorithmus in
wenigen Hardwaretakten implementierbar. Insbesondere kann
mittels eines solchen Algorithmus bzw. einer solchen Vorrich
tung eine Zelle für einen bestimmten gewünschten Zeitpunkt
als Sendezeitpunkt eingetragen werden. Durch das entsprechen
de Beabstanden wird ein gewünschtes Verkehrsmuster auf jeder
der Ausgangsleitungen erzeugt. Dies ist zweckmäßig, da an
sonsten von späteren Überwachungseinrichtungen durch Polcing
Daten, die nicht konform zum Verkehrskontrakt sind, ausgeson
dert werden könnten. Außerdem führt dies für die betroffenen
Verbindungen zu einer optimierten Fairness bei der Ressour
cenzuteilung. Der Mechanismus ist skalierbar, in wenigen
Zellzyklen implementierbar und benötigt keine dynamische
Speicherzuweisung. Insbesondere besteht auch die Möglichkeit
einer neuen Zeiteinteilung (ReTiming), so dass Zellen nach
träglich auf einen anderen Sendezeitpunkt verlegbar sind.
In vorteilhafter Weise wird ein Verbindungs-individuelles
Formen bzw. Shaping mit dem ATM-Multiplexen mehrerer Verbin
dungen kombiniert, indem das Beabstanden (Spacing) vor der
Zeiteinteilung (Scheduling) durchgeführt wird. Das Beabstan
den ist dadurch möglich, dass nur ein Eintrag pro Verbindung
im Zeitplaner geführt wird. Zur Ermöglichung der Neu-
Zeiteinteilung werden in vorteilhafter Weise doppelt verket
tete Listen mit Zugriffsadressen geführt. Alternativ sind
auch andere Mengendarstellungen zur Abbildung von Speicher
raumbelegungen möglich, bei denen einzelne Elemente bzw. Ver
weise (pointer) herauslösbar sind.
Den Kern des Zeitplaners bildet eine kalenderartige Tabelle,
die als Datenstruktur für ATM-Zellen dient, für die ein be
stimmter noch in der Zukunft liegender Sendewunsch eingetra
gen wurde. Der fertige Zeitplan befindet sich letztendlich in
einer Sende-Warteschlange. Verkettete Listen-Strukturen er
lauben eine neue Zeiteinteilung für Zellen. Das Mitführen von
Beabstandungs-Variablen für einzelne virtuelle Verbindungen
oder einen Pfad, d. h. eine Gruppe aus virtuellen Verbindungen,
ermöglicht zudem eine Verschiebung des Sendewunsches auf
einen Zeitpunkt, der gemäß dem entsprechenden Verkehrskon
trakt zulässig ist.
Eine entsprechend bereitgestellte Schaltvorrichtung, die
AAL2/ATM unterstützt, kann entsprechend die folgenden Aufga
ben erfüllen. Daten einer ATM-Leitung können in einzelne vir
tuelle ATM-Kanalverbindungen (VCCs) demultiplext und weiter
in einzelne virtuelle AAL2-Verbindungen demultiplext werden
Nach einer Neuordnung der Echtzeit-Daten bzw. Datenpakete in
neue virtuelle AAL2-Verbindungen wird ein AAL2-Multiplexen
durchgeführt. Dabei werden die Daten für eine maximal vorge
gebene Zeitdauer (TCU) oder bis zur ATM-Zellvervollständigung
verzögert. Für Echtzeitdienste unter ATM können zur Erfüllung
der derzeitigen Verkehrskontraktanforderungen Sendeeinrich
tungen bereitgestellt werden, die den Zellstrom bzw. dessen
Daten einer virtuellen ATM-Kanalverbindung beabstanden kön
nen, um Zellverluste durch eine Aussortierung durch die Über
wachungseinrichtung (policer) einer nachfolgenden Verbin
dungseinrichtung oder dergleichen zu vermeiden. Letztendlich
wird mittels ATM-Multiplexen der ATM-Ausgang gefüllt.
Insbesondere können so in Schaltknoten und dergleichen Echt
zeitdaten für AAL2-Multiplexen in Warteschlangen gestellt
werden. Vorzugsweise können bei einem solchen AAL2-
Multiplexen die Zeit des Zell-Beabstandens und einer ATM-
Multiplexing-Verzögerung zusätzlich zu dem einfachen Zeitge
berintervall TCU für das AAL2-Multiplexen in einer einzigen
Steuereinrichtung ausgenutzt werden.
Vorteilhafterweise wird so auch ein modularer Zeitplanungs-
Algorithmus ermöglicht. Ein skalierbares Zeiteinteilungssys
tem und ein getrennter Beabstandungs-Algorithmus führen zu
einem Zeitplaner, der auch bezüglich einer Vielzahl virtuel
ler Kanalverbindungen skalierbar ist, für Datenzellen eine
unkomplizierte Zuweisung bzw. Neuzuweisung von spezifischen
Sendezeiten ermöglicht und eine Zellbeabstandung für eine si
chere Datenweiterleitung gewährleistet.
Zusammengefasst lassen sich einige besondere Vorteile hervor
heben: In einer einzigen Dateneinrichtung, insbesondere einem
Datenendpunkt, werden mit geringem Aufwand hinsichtlich einer
Hardeware-Implementierung ein Zusammenwirken von ATM und AAL2
ermöglicht. Drei erforderliche Funktionen AAL2-Multiplexen,
Formen bzw. Beabstanden gemäß dem ATM-Verkehrskontrakt für
den AAL2-Pfad (path) und ATM-Multiplexen einer Vielzahl von
AAL2-Pfade werden in einer gemeinsamen Hardwareeinrichtung in
einer skalierbaren Art und Weise realisiert. Dies ermöglicht,
dass die Verzögerung durch Zellbeabstandung und ATM-
Multiplexen auch für das AAL2-Multiplexen genutzt werden
kann.
Durch den modularen Aufbau der Algorithmen ist es einfach,
die Beabstandungsfunktion für AAL2-Pfade mit CBR-
Charakteristika auf irgendwelche anderen, z. B. toleranteren
Pfadcharakteristika umzusetzen. Die Architektur des Zeitpla
ners bildet eine Grundlage insbesondere für weitere ATM-
Anwendungen. Eine Erweiterung kann beispielsweise in Richtung
einer Prioritätsplanung oder einer Beabstandung auf Basis von
virtuellen ATM-Pfadverbindungen führen, wobei die günstigen
Laufzeiteigenschaften der Algorithmen erhalten bleiben.
Insbesondere ist eine Übertragung des skalierbaren Zeitpla
nungsmechanismus auf andere Technologien, wie z. B. den Be
reich des Internet-Protokolls IP möglich, beispielsweise um
dort ein RTP/UDP/IP-Multiplexen zu unterstützen.
Ein Multiplexverfahren mit zeitlichen Randbedingungen wird
erstmals bei dem Aufkommen der AAL2/ATM-
Übertragungstechnologie für Echtzeitdaten sinnvoll, weshalb
die Problemstellung vorher nicht bestand.
Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnung
näher erläutert. Es zeigen:
Fig. 1 eine Schalteinrichtung in einer physikalischen Lei
tung mit grundlegenden Einrichtungen zum Schalten
von Datenpaketen bzw. Datenzellen;
Fig. 2 einen Zeitplaner mit einer Vielzahl von Warte
schlangen für virtuelle Verbindungen, einer Sende-
Warteschlange und einer kalenderartigen Tabelle;
Fig. 3 eine doppelt verkettete VCC-Liste;
Fig. 4 ein Ablaufdiagramm zu einem generischen Zellraten
algorithmus für die Überwachung des Zellstroms;
Fig. 5 ein Ablaufdiagramm zu einem Algorithmus zur Festle
gung einer theoretischen Sendezeit;
Fig. 6 ein Ablaufdiagramm zu einem Algorithmus zur Aktua
lisierung einer theoretischen Sendezeit;
Fig. 7 einen Ausschnitt aus einem erweiterten Zeitplaner
für den AAL2-Standard;
Fig. 8 in Ablaufdiagramm zu einem Algorithmus zur Eingabe
von Datenpaketen in einen Multiplexer dieses Zeit
planers und
Fig. 9 ein Ablaufdiagramm zu einem Algorithmus zur Ausgabe
von Datenpaketen aus diesem Zeitplaner.
In einem paketorientierten Kommunikationssystem oder Daten
netz, beispielsweise gemäß ATM, werden von Stationen aus Da
ten an andere Stationen übertragen. Die Daten einer sendenden
Station werden zu einzelnen Datenpaketen bzw. Zellen zerlegt,
derart versendet und in der empfangenden Station wieder zu
sammengesetzt. Üblich ist dabei, dass die Daten sich mit Da
ten anderer Verbindungen ein gemeinsames Übertragungsmedium,
sogenannte physikalische Verbindungen, insbesondere verdrah
tete Leitungen, teilen. Diese Daten verschiedener Verbindun
gen können dabei auf dem Übertragungsweg aus ihren ursprüng
lichen Zellen ausgepackt und zusammen mit Daten anderer Ver
bindungen in neue Zellen gepackt werden, um so die Auslastung
der physikalischen Übertragungswege zu optimieren. Entsprechend
werden diese Daten aus solche Zellen an einem anderen
Ort wieder entnommen und letztendlich in Zellen bzw. Datenpa
kete eingesetzt, die an die empfangende Station übergeben
werden.
Wie aus Fig. 1 ersichtlich, werden u. a. zu diesem Zweck Ver
bindungseinrichtungen 2 bereitgestellt, beispielsweise in Da
tennetzen bekannte Schalteinrichtungen (Switch). Dabei führt
zumindest eine erste physikalische Eingangsleitung 1 in eine
Verbindungseinrichtung 2 hinein. Daten, die über die Ein
gangsleitung 1 in die Verbindungseinrichtung 2 hineingeführt
werden, werden in dieser Verbindungseinrichtung umgestellt
oder neu eingeteilt und dann über eine physikalische Aus
gangsleitung 3 ausgegeben. Aus beispielsweise einem Switch
oder Hub können auch mehrere Leitungen herausführen. Die Ein
gangsleitung 1 und die Ausgangsleitung 3 werden derzeit übli
cherweise, jedoch nicht notwendig als Leitungen mit 155 Mbps
ausgelegt. Innerhalb der Verbindungseinrichtung 2 werden ein
treffende ATM-Zellen von einem ATM-Demultiplexer 4 demul
tiplext und an einen AAL2-Demultiplexer 5 weitergeleitet. Die
Daten werden dabei auf eine Vielzahl virtueller Verbindungen
aufgeteilt und schließlich in einer AAL2-Schalteinrichtung 6
neu geordnet. Von der Schalteinrichtung 6 werden die neu ge
ordneten Daten einem AAL2-Multiplexer 7 und schließlich einem
ATM-Multiplexer 8 zugeführt, die entsprechende Zellen für die
Weiterleitung über die physikalische Ausgangsleitung 3 zusam
men- und bereitstellen. Abgesehen vom Zwischenspeichern der
eintreffenden Daten erfolgen dabei alle Schritte wie z. B. das
De-/Multiplexen in einer Steuereinrichtung rein virtuell ab.
Nachfolgend wird - beispielhaft für AAL2 - ein Verfahren be
schrieben, bei dem die Zellen auf einer solchen virtuellen
Kanalverbindung VCC nicht wie bei z. B. einem Zeitaufteilungs-
Multiplexingsystem (TDM: Time Division Multiplexing) einem
festen Zeitpunkt oder Zeitschlitz zugewiesen werden, sondern
so wie sie eintreffen weiterverarbeitet werden können. Zweck
mäßigerweise erhalten die virtuell abgespaltenen Daten bei
Bedarf einen eigenen Kopfabschnitt zugeordnet. Dadurch können
Zellen verschiedener virtueller Kanalverbindungen VCCs zu ei
nem multiplexten ATM-Zellenstrom in der ATM-Ausgangsleitung
beitragen. Insbesondere können gleichzeitig mehr als eine
einzige ATM-Zelle für den ATM-Ausgang fertiggestellt werden,
von denen dann nacheinander jeweils eine über die Ausgangs
leitung 3 weitergeleitet wird.
In vorteilhafter Ausführungsform ist die Verbindungseinrich
tung 2 mit einem Scheduler bzw. Zeitplaner 9 verbunden oder
ausgestattet.
Wie aus Fig. 2 ersichtlich, weist ein vorteilhafter Zeitpla
ner eine Sendewarteschlange (Send Queue 10), eine kalenderar
tig aufgebaute Tabelle, nachfolgend als Kalender 11 bezeich
net, und eine Vielzahl von Warteschlangen für ATM-Zellen zum
Zuweisen für einzelne virtuelle Verbindungen, nachfolgend
VCC-Warteschlangen 12, auf. In den VCC-Warteschlangen 12 sind
einzelne Zellen zum Versand für die jeweiligen VCC-
Verbindungen bzw. VCC-Leitungen 1, 2, . . . N dargestellt. Bei
spielsweise weist die VCC-Warteschlange 1 drei Zellen 13 auf,
die zu späteren Zeitpunkten über die virtuelle Verbindung 1
in Richtung der Multiplexer 7, 8 auszugeben sind. Die VCC-
Warteschlange 12 für die zweite virtuelle Verbindung weist zu
dem dargestellten Zeitpunkt keine auszugebenden Datenzellen
auf. Da die Zellen bis zum Schluss im Speicher verbleiben,
handelt es sich vorzugsweise um logische Multiplexer 7, 8.
Die VCC-Warteschlange 12 für die dritte virtuelle Verbindung
weist wiederum zwei auszugebende Zellen auf usw. Mit anderen
Worten werden über die Eingangsleitung 1 in die Verbindungs
einrichtung 2 hereinkommende Daten auf eine Vielzahl von VCC-
Warteschlangen 12 zerlegt, um später wieder ausgegeben zu
werden. Dabei können hereinkommende Datenpakete bzw. Zellen
unverändert direkt in eine der VCC-Warteschlangen 12 weiter
geleitet werden bzw. auf einen dieser VCC-Warteschlange 12
entsprechenden Speicherplatz zwischengespeichert werden. An
dererseits ist es auch möglich, dass in die Verbindungseinrichtung
2 hereinkommende Daten aus den ursprünglichen Zellen
herausgenommen und neu verteilt werden, wobei diese Daten
dann entsprechenden Zellen einer oder mehrerer der VCC-
Warteschlangen 12 zugeordnet werden. In die VCC-
Warteschlangen 12 bzw. die diesen zugeordneten Speicherplätze
in der Verbindungseinrichtung 2 können, wie bei z. B. AAL2,
wahlweise entweder zuvor zusammengesetzte oder übernommene
ganze Zellen oder auch einzelne Daten eingesetzt werden, wo
bei einzelne Daten dann innerhalb der VCC-Warteschlangen 12
zu Zellen 13 zusammengesetzt werden. Vorteilhafterweise han
delt es sich bei den aufgeführten Einrichtungen um logische
Einrichtungen und/oder Funktionen.
Zum Einsetzen von Daten in die VCC-Warteschlangen 12 bzw. zum
Leeren bzw. Herausgeben von Zellen 13 aus diesen VCC-
Warteschlangen 12 werden die Sende-Warteschlange 10 und der
Kalender 11 verwendet. Für hereinkommende Daten wird bei
spielsweise vom System aus festgelegt, zu welchem zukünftigen
Zeitpunkt diese wieder versendet werden sollen. Dabei werden
Daten, die über eine bestimmte virtuelle Verbindung weiter zu
senden sind, gemeinsam als Zelle 13 in einer der VCC-
Warteschlangen 12 bereitgestellt. In dem Kalender 11 wird ein
Eintrag vorgenommen, dem der Sendezeitpunkt zumindest indi
rekt zu entnehmen ist.
In der Sende-Warteschlange 10 wird vermerkt, welche VCC-
Warteschlange als nächste für das Aussenden einer Zelle 13
vorgesehen ist. Dafür wird in der Sende-Warteschlange 10 eine
Liste bereitgestellt, aus der zu entnehmen ist, in welcher
Reihenfolge die VCC-Warteschlangen 12 ihre Zellen in die ent
sprechenden virtuellen Verbindungen bzw. die Multiplexer 7, 8
ausgeben sollen. Bei ATM wird z. B. eine Zelle 13 pro Sende
zyklus gesendet. Nachfolgend werden derartige Listen mit Sen
deanweisungen auch als VCC-Liste 15 bezeichnet. Eine solche
VCC-Liste 15 ist in Fig. 3 dargestellt.
Das Ausgeben von Zellen 13 aus den VCC-Warteschlangen 12 er
folgt jeweils zellzyklusweise, wobei pro Zellzyklus eine der
VCC-Warteschlangen 12 die erste in ihr befindliche Zelle 13
ausgibt. Bei der nachfolgend beschriebenen Verfahrensweise
werden in vorteilhafter Weise pro Zellzyklus nur wenige Sys
temtakte benötigt. Wie aus den Fig. 2 und 3 ersichtlich, wird
bei einem ersten Zellzyklus die in der ersten VCC-
Warteschlange 12 zu unterst befindliche Zelle 13 ausgegeben,
da das unterste bzw. zuerst auszulesende VCC-Listenelement 16
der Sendewarteschlange 10 den Wert 1 enthält. Danach wird
dieses VCC-Listenelement 16 mit dem Wert 1 aus der VCC-Liste
15 entfernt, so dass bei dem nächsten Auslese-Zellzykus die
zu unterst liegende Zelle 13 aus der sechsten VCC-
Warteschlange 12 ausgelesen wird, da der entsprechende Wert
des VCC-Listenelementes 16 nun "6" ist. Bei einem dritten
Zellzyklus wird entsprechend die Zelle 13 ausgelesen, die
sich in der vierten VCC-Warteschlange 12 befindet und in die
vierte virtuelle Verbindung weitergeleitet.
Wie dies leicht ersichtlich ist, ist somit jeder VCC-
Warteschlange 12 zumindest ein VCC-Listenelement 16 zugeord
net, wobei der Wert des VCC-Listenelementes 16 auf die Nummer
der entsprechend zugeordneten VCC-Warteschlange 12 verweist.
Mit anderen Worten, der Wert eines jeden VCC-Listenelementes
16 verweist auf eine zugeordnete VCC-Warteschlange 12 bzw.
einen dieser zugeordneten Speicherplatz im Speicherraum, in
dem die Daten bzw. Zellen zwischengespeichert werden. Die
VCC-Listenelemente 16 haben somit aus programmiertechnischer
Sicht die Funktion eines Zeigers (Pointer) auf einen Spei
cherplatz bzw. Speicherbereich.
Wie aus Fig. 2 ersichtlich, gibt es drei Möglichkeiten für
die Handhabung der VCC-Listenelemente 16. So sind gemäß einem
ersten Fall die VCC-Listenelemente 16 mit den Werten 1, 6 und
4, die der ersten, sechsten bzw. vierten VCC-Warteschlange 12
zugeordnet sind, in der Sende-Warteschlange 10 eingeordnet.
Ein zweiter Fall ergibt sich in der Situation der zweiten
VCC-Warteschlange 12, in der sich keine Zellen 13 befinden.
Das entsprechende VCC-Element 16 mit dem Wert 2 existierte
gar nicht oder ist zumindest nicht in der Sende-Warteschlange
10 eingeordnet, da in der nächsten Zeit keine Daten aus der
zweiten VCC-Warteschlange 12 über die zweite virtuelle Ver
bindung auszugeben sind.
In den dritten Fall werden die VCC-Listenelemente 16 einge
ordnet, die zu VCC-Warteschlangen 12 gehören, in denen zwar
Zellen 13 zu einem späteren Versand enthalten sind, bei denen
das gewünschte Sendedatum jedoch in der Zukunft liegt. Diese
entsprechenden VCC-Listenelemente 16 werden entsprechend in
den Kalender 11 eingeordnet.
Der Kalender 11 besteht bei der bevorzugten Ausführungsform
aus einer Anordnung von Kalender-Warteschlangen 17, im vor
liegenden Fall K, mit z. B. K = 4096, solcher Kalender-
Warteschlangen 17.
Bei einer weniger bevorzugten Ausführungsform steht jede die
ser Kalender-Warteschlangen 17 für eine gewünschte Ausgabe
zeit bzw. einen gewünschten Ausgabezeitraum, wobei die zuerst
angeordnete, nullte Kalenderwarteschlange 17 zuerst berück
sichtigt wird, während die in der ersten Kalenderwarteschlan
ge 17 in einem späteren Zeitraum abgearbeitet werden.
Spätestens wenn die Sende-Warteschlange 10 bei dieser weniger
bevorzugten Ausführungsform keine VCC-Listenelemente 16 mehr
enthält, bzw. wenn deren letztes VCC-Listenelement 16 abgear
beitet wurde, wird die entsprechende VCC-Liste 15 aus der
nullten Kalender-Warteschlange 17 in die Sende-Warteschlange
10 übertragen. In die nunmehr leere nullte Kalender-
Warteschlange 17 wird entsprechend die VCC-Liste 15 der ers
ten Kalender-Warteschlange 17 übertragen usw. Alternativ kann
natürlich auch eine zusammenhängende Anordnung aus Warte
schlangen bereit gestellt werden, die jeweils VCC-Listen 15
enthält. Ein Zeiger zeigt in einem solchen Fall auf eine der
Warteschlangen, die dann als Sende-Warteschlange 10 gehand
habt wird. Nach deren Abarbeiten wird der Zeiger dann auf die
nächste Warteschlange in dieser umfassenden Warteschlangenan
ordnung gesetzt, so dass diese dann als Sende-Warteschlange
fungiert. In einem solchen Fall ist jedoch auch die später
beschriebene Zuweisung von neu hereinkommenden oder zeitlich
umzuordnenden Daten bzw. Zellen entsprechend umzustrukturie
ren.
Somit werden bei dieser weniger bevorzugten Ausführungsform
zuerst die jeweils ersten Zellen der ersten, sechsten und
vierten VCC-Warteschlange 12 ausgelesen, daraufhin die VCC-
Listenelemente 16, im vorliegenden Fall das Listenelement 16
mit dem Wert 10 in die Sende-Warteschlange 10 übertragen, so
dass nachfolgend die erste Zelle aus der zehnten VCC-
Warteschlange 12 ausgelesen wird. Mit dem Umspeichern der
VCC-Liste 15 aus der nullten Kalender-Warteschlange 17 in die
Sende-Warteschlange 10 oder im Anschluss daran wird die VCC-
Liste 15 der ersten Kalender-Warteschlange 17 in die nullte
Kalender-Warteschlange 17 umgespeichert, so dass nach dem Ab
arbeiten des VCC-Listenelementes 16 mit dem Wert 10 aus der
Sende-Warteschlange 10 die dann in der nullten Kalender-
Warteschlange 17 befindlichen VCC-Listenelemente 16 mit den
Werten 7 und 3 in die Sende-Warteschlange übertragen werden.
Entsprechend werden in einem dritten Zeitraum in einem ersten
Zellzyklus die erste Zelle aus der siebten VCC-Warteschlange
12 und danach in einem zweiten Zellzyklus dieses dritten
Zeitbereichs die erste Zelle der dritten VCC-Warteschlange 12
über die entsprechende virtuelle Verbindung ausgegeben.
Vorliegend nicht dargestellt, jedoch technisch theoretisch
umsetzbar ist auch die Vergabe mehrerer VCC-Listenelemente 16
pro VCC-Warteschlange 12. So könnten beispielsweise für die
drei Zellen 13, die sich in der ersten VCC-Warteschlange 12
befinden, entsprechend drei gewünschte Sendezeitpunkte in der
Sende-Warteschlange 10 bzw. im Kalender 11 vermerkt werden.
Bei der besonders bevorzugten Ausführungsform wird jedoch je
der der VCC-Warteschlangen 12 nur ein einzelnes VCC-
Listenelement 16 zugeordnet.
Bei einer nachfolgend beschriebenen und besonders bevorzugten
Ausführungsform erfolgen der zeitliche Verfahrensablauf sowie
das Einsetzen und/oder Umsetzen von VCC-Listen 15 bzw. von
deren VCC-Listenelementen 16 in die Sende-Warteschlange 10
und den Kalender 11 bzw. dessen Kalender-Warteschlangen 17
mit Hilfe von Zeitvariablen und der Modulo-Funktion.
Ein besonderer Vorteil ergibt sich aus der Verwendung zweier
getrennter Funktionen, die nachfolgend als BeabstandungsAktu
alisierung (Fig. 6) bzw. NächsteBeabstandung (Fig. 5) be
zeichnet werden und zum Aktualisieren der letzten Sendezeit
bzw. berechnen der nächsten Sendezeit eines virtuellen Ver
bindungskanals VCC für ATM gemäß dem Verkehrskontrakt einge
setzt werden. Diese Trennung auf verschiedene Algorithmen er
höht die Anpassungsfähigkeit an verschiedene Systeme oder
Systembedingungen.
Der Einsatz der Modulo-Funktion ermöglicht die Umsetzung des
nachfolgend beschriebenen Konzeptes als sogenannte Hash-
Funktion bzw. Hash-Tabellen. Dabei wird einer Vielzahl ein
treffender Zellen jeweils ein bestimmter Speicherplatz mit
tels einer Hash-Funktion, hier der Modulo-Funktion zugewie
sen. Dadurch kann einerseits eine dynamische Belegung des
Speicherplatzes vorgenommen werden, andererseits muss zum
späteren Auffinden einer bestimmten Zelle nicht der gesamte
Speicherraum nach dieser Zelle durchsucht werden, da sie über
die Hash-Funktion zumindest bezüglich der Kalender-
Warteschlange schnell wieder auffindbar ist.
In einem beispielhaften ATM-System wird die Zeit in Zellzyk
len gemessen, die als Transporteinheiten mit einem Datenum
fang von 53 Byte bereit gestellt werden. Ein Zellzyklus weist
bei der hier beispielhaften Übertragungsrate von 155 Mbps einer
Dauer von 2,7 µsec auf. Die Startzeit kann beispielsweise
als die Zeit gewählt werden, zu der das Betriebssystem ge
startet wurde.
Nachfolgend werden u. a. absolute Zeitwerte durch in dreiecki
ge Klammern gesetzte Datenvariablen <Datum< dargestellt. Fer
ner werden nachfolgend die Variablen <Today< (heute) als Va
riable für den Zeitpunkt des vorliegenden Zellzyklus und die
Variable <Tomorrow< = <Today< + 1 (morgen) als Variable für
den Zellzyklus, der dem momentanen Zellzyklus <Today< folgt,
eingeführt. Während die Variablen <Today< und <Tomorrow< hier
aus einem Vielfachen einer diskreten Zeiteinheit stammen und
der Dauer eines "Kalenderintervalls" entsprechen bzw. voll
ständige Zellzyklen ausdrücken, können die übrigen Variablen
beliebige Werte annehmen, wobei eventuell Rundungen oder Kon
versionen durchzuführen sein können. Eine Variable <now< be
zeichnet nachfolgend die aktuelle Zeit des Systems.
Diese absoluten Zeit-Variablen werden durch das System auto
matisch zu Beginn jedes Zellzyklus um 1 erhöht. Nachfolgend
wird für den skalierbaren Zeitplanungsmechanismus beispiel
haft davon ausgegangen, dass der Zeitplaner 9 durch ein Feld
mit K Spalten gebildet wird, wobei diese von 0 bis K - 1
durchnummeriert sind. Das älteste Datum im Zeitplaner sei
dann <Tomorrow< und das jüngste Datum sei dann <Today< + K
Wie bereits einleitend ausgeführt, müssen die Zellen einem
entsprechenden Verkehrskontrakt genügen. Unter anderem wird
ein vorgeschriebener Abstand vorausgesetzt. Sowohl das
Beabstanden als auch die Überwachung können beide auf Basis
einer Schaltung für virtuelle Kanalverbindungen (VCC: Virtual
Channel Connection) erfolgen.
Für die Überwachung des Zellstroms wird ein generischer Zell
ratenalgorithmus verwendet, der in Fig. 4 abgebildet ist.
Dieser Algorithmus wird jedes Mal aufgerufen, wenn eine Zelle
in der Verbindungseinrichtung 2 eintrifft. Die Ankunftszeit
der Zelle entspricht hier stets der Systemzeit, d. h. der Da
tumsvariable <now<, die für die Zeitdauer seit dem letzten
Systemstart steht. Eine statische Variable <TAT< ist die the
oretische Ankunftszeit <TAT< (TAT: Theoretical Arrival Time)
für die nächste Zelle. Jeder virtuellen ATM-Kanalverbindung
VCC ist dabei eine Variable <TAT< zugeordnet. Falls die
nächste Zelle nicht eher als <TAT< eintrifft, wobei eine ge
wisse Toleranz L (Limit) berücksichtigt wird, wird die Zelle
als konform zum generischen Zellratenalgorithmus GCRA (I, L)
behandelt, andernfalls nicht. Abhängig von den Systemvorga
ben, wie auf dieses Ergebnis zu reagieren ist, wird eine
nicht passende Zelle insbesondere mit einem Bit für die Zell
verlustpriorität (CLP: Cell Lost Priority) markiert, um im
Fall von Weiterleitungsproblemen in der Verbindungseinrich
tung oder später im Netz diese Zelle in Puffern zurückstellen
oder gänzlich löschen zu können. In der Dienstekategorie
"konstante Bit-Rate (CBR: Constant Bit Rate)" werden z. B. ei
ne maximale Datenrate pro Verbindung (PCR: Peak Cell Rate)
und eine Zellenverzögerungs-Variationstoleranz (CDVT: Cell
Delay Variation Tolerance) vorgegeben. Die Zelle wird ent
sprechend markiert, wenn diese dem generischen Zellratenalgo
rithmus GCRA (1/PCR, CDVT) (GCRA: Generic Cell Rate Algo
rithm) nicht entspricht. Für die für sich bekannte Diensteka
tegorie "variable Echtzeit-Bitrate" (rt-VBR: real time Vari
able Bit Rate) sind die erzielbare Zellrate (SCR: Sustainable
Bit Rate) und die Burst-Toleranz (BT) zu berücksichtigen, so
dass dann GCRA (1/SCR, CDVT + BT) anzusetzen wäre.
Das Ziel des nachfolgend beschriebenen Beabstandungsalgo
rithmus besteht darin, den Zellenstrom an den Verkehrskon
trakt anzupassen.
Daher muss die nächste mögliche Sendezeit <NS< in Abhängig
keit von einer gewünschten Sendezielzeit <TT< (TT: Target
Time) für diese Zelle berechnet werden. Dazu kann beispiels
weise der in Fig. 5 beschriebene Algorithmus "Nächste-
Beabstandung" bzw. "SpacingNext" verwendet werden. Um herauszufinden,
ob eine Zelle gesendet werden kann oder nicht, wird
in diesem Algorithmus eine theoretische Sendezeit <TST< ähn
lich der Variable <TAT< in dem Zellratenalgorithmus GCRA ver
wendet.
Falls die Zielzeit <TT< kleiner als die theoretische Sende
zeit <TST< abzüglich der Toleranzgrenze L ist, d. h. die Zelle
zu früh gesendet werden möchte, wird die nächste Sendezeit
<NS< auf die nächste theoretische Sendezeit <TST< abzüglich
der Toleranzgrenze L gesetzt. Andernfalls, falls die Zelle
spät genug gesendet werden möchte, wird die nächste Sendezeit
<NS< auf die auf die Zielzeit <TT< festgelegt. Ausgegeben
wird schließlich die nächste Sendezeit <NS<.
Ein Algorithmus zur Aktualisierung der dabei benötigten theo
retischen Sendezeit <TST< ist in Fig. 6 dargestellt und wird
nachfolgend als "BeabstandungsAktualisierung" bzw. SpacingUp
date bezeichnet. Jedes mal wenn eine Zelle vor der theoreti
schen Sendezeit <TST< gesendet wurde, wird die theoretische
Sendezeit <TST< um den Wert "I" inkrementiert. Im Fall des
Verkehrskontraktes zum Dienst "konstante Bitrate" CBR ent
sprechen dabei die Grenzwerte der Zellenverzögerungs-
Variationstoleranz CDVT und der inversen maximalen Datenrate
pro Verbindung (1/PCR), womit I = 1/PCR gilt. Wird die Zelle
zur oder nach der theoretischen Sendezeit <TST< gesendet, so
wird die theoretische Sendezeit aus dem Sendezeitpunkt <now<
der letzten Zelle zuzüglich dem Inkrement bestimmt, also
<TST< = <now< + I.
Der anhand Fig. 5 beschriebene Algorithmus "NächsteBeabstan
dung" wird aufgerufen, um herauszufinden, wann eine Zelle ge
sendet werden kann, das heißt, vor dem zeitlichen Planen für
die Zelle. Der Algorithmus BeabstandungsAktualisaierung wird
jedesmal aufgerufen, wenn eine Zelle gesendet wurde, das
heißt, wenn das Planungsergebnis erfüllt ist.
Um sicherzustellen, dass die Algorithmen korrekt arbeiten,
wird vorzugsweise stets nur einer Zelle pro virtueller Ver
bindungsschaltung VCC erlaubt, die Algorithmen zur Bestimmung
der nächsten Sendezeit <NS< aufzurufen, da der Algorithmus
NächsteBeabstandung auf dem Wert der letzten theoretischen
Sendezeit <TST< beruht, die nur dann berechnet werden kann,
wenn die vorhergehende Zelle gesendet wurde.
Da die beiden Algorithmen NächsteBeabstandung und Beabstan
dungsAktualisierung den Beabstandungsmechanismus vollständig
ausführen können, ist es leicht möglich, diese Algorithmen
anzupassen, um andere Funktionen ausführen zu lassen, insbe
sondere möglich, diese mit Blick auf andere Verkehrskontrakte
anpassen zu können.
Für den nachfolgend beispielhaft beschriebenen Ablauf in dem
Zeitplaner 9 wird weiterhin eine Hilfsdatenstruktur für die
virtuellen Verbindungsschaltungen eingeführt. Insbesondere
soweit nur eine einzelne ATM-Schaltung für virtuelle Verbin
dungen (VCC) berücksichtigt wird, müssen darin ATM-Zellen 13
bzw. Verweise auf deren tatsächliche Speicherplätze gespei
chert werden, bis sie zu einem in der Regel späteren Zeit
punkt gesendet werden können. Im allgemeinen muss dabei eine
Verzögerung aufgrund des Zellzusammenbaus, des Beabstandens
und des Zell-Multiplexens berücksichtigt werden. Diese Funk
tionen können solange problemlos ausgeführt werden, wie die
Datenstrukturen eine Speicherung wie bei einer Zuerst-ein-
zuerst-aus-Warteschlange (FIFO-Queue: First-In-First-Out-
Queue) ermöglichen.
Da der Verkehrskontrakt jeweils pro Schaltung für virtuelle
Verbindungen VCC umgesetzt wird, wird die Beabstandung pro
Schaltung für virtuelle Verbindungen VCC durchgeführt. Die
vorstehend beschriebenen Beabstandungsmechanismen dienen die
sem Zweck im Falle eines CBR-Verkehrskontraktes. Die variab
len der Algorithmen werden dabei größtenteils durch den Ver
kehrskontrakt fest vorgegeben. Im vorliegenden Fall sind dies
die maximale Datenrate pro Verbindung PCR und die Zellenver
zögerungs-Variationstoleranz CDVT. Ferner wird die Variable
<TST< pro Schaltung für virtuelle Verbindungen VCC abgespei
chert.
Eine in hohem Maße gefüllte VCC-Warteschlange bedeutet eine
lange Verzögerung für die ATM-Zellen, was im Echtzeitbetrieb
nicht tolerierbar ist. Daher kann für die Anwendungszwecke
für die einzelnen VCC-Warteschlangen 12 eine Schwelle vorge
sehen werden, die eine maximale Anzahl von ATM-Zellen 13 be
stimmt. Oberhalb der Schwellen werden die ATM-Zellen 13 der
entsprechenden VCC-Warteschlangen 12 nicht mehr berücksich
tigt.
Für die Organisierung eines intelligenten Planungsmechanismus
werden die VCC-Listenelemente 16 für die virtuellen Kanalver
bindungen bzw. deren VCC-Warteschlangen 12 in vorteilhafter
Weise als doppelt verkettete Listen bereit gestellt, wie dies
auch aus Fig. 3 ersichtlich ist. Gemäß dem bevorzugten Aus
führungsbeispiel wird für jede VCC-Warteschlange 12 ein VCC-
Listenelement 16, insbesondere genau ein VCC-Listenelement
16, bereit gestellt. Jedes dieser VCC-Listenelemente 16 weist
einen bereits vorstehend erwähnten virtuellen Verbindungsi
dentifizierer (VCI: Virtual Connection Identifier) auf, der
im wesentlichen ein konstanter Zeiger zu der VCC-
Warteschlange 12 bzw. zu deren Speicherplatz ist. Außerdem
sind jedem VCC-Listenelement 16 ein Zunächstzeiger 17 (next)
und ein Zuvorzeiger 18 (previous) zugeordnet, wobei diese auf
die benachbarten VCC-Listenelemente 16 verweisen. Bei den be
sonders bevorzugten Ausführungsformen, bei denen die virtuel
len Verbindungsidentifizierer nicht geändert werden, kann
diese Struktur besonders speichereffizient abgelegt werden.
Um eine doppelt verkettete VCC-Liste 15 aufzubauen, werden
ein Kopfzeiger 19 und ein Endezeiger 20 verwendet. Der Kopf
zeiger 19 (head) verweist auf irgendein VCC-Listenelement 16,
insbesondere auf das innerhalb einer VCC-Liste 15 zuerst abzuarbeitende
VCC-Listenelement 16. Alle außer dem letzten
VCC-Listenelement 16 in der Liste zeigen mit ihrem Zuvorzei
ger 18 auf das VCC-Listenelement 16, das nachfolgend abzuar
beiten ist. Das letzte Listenelement in der Liste verweist
auf die konstante Null, die die VCC-Liste 15 abschließt. Ent
sprechendes gilt für den Endezeiger 20 (Tail) und die Zu
nächstzeiger 17 der VCC-Listenelemente 16 in der entgegenge
setzten Richtung.
Das Entfernen eines VCC-Listenelementes 16' aus der VCC-Liste
15 funktioniert, wie folgt: Der Zunächstzeiger 17 (Next) bzw.
im Fall des ersten VCC-Listenelementes 16' der Kopfzeiger 19
(Head), der auf dieses zu entfernende VCC-Listenelement 16
zeigt, muss neu zu dem VCC-Listenelement 16" gerichtet wer
den, auf das der Zunächstzeiger 17 (Next) des zu entfernenden
VCC-Listenelementes 16' zeigt. Entsprechendes gilt für die
Zeiger der umgekehrten Richtung. Auf diese Art und Weise kann
das Entfernen eines einzelnen VCC-Listenelementes 16' ohne
großen Aufwand in einer kurzen und im Voraus bekannten Zeit
dauer erfolgen. Ein besonderer Vorteil einer derartigen dop
pelt verketteten Liste gegenüber einer einfach Verketteten
Liste besteht darin, dass im Falle einer einfach verketteten
Liste die Zeiger oder Inhalte vieler Listenelemente zu ver
gleichen sind.
Mit Blick auf die vorstehend erläuterten Strukturen besteht
der bevorzugte Zeitplaner 9 im wesentlichen aus zwei ver
schiedenen Einheiten. Der Kalender 11 hält zukünftige Sende
anfragen von bzw. für virtuelle Kanalverbindungen in Form der
Adressen der VCC-Warteschlange 12, die diesen virtuellen Ka
nalverbindungen zugeordnet sind und zu versendende Zellen 13
enthalten. Die Sende-Warteschlange 10 hält Sendeanfragen für
die Fälle der positiven ATM-Multiplexverzögerung, bzw. Sende
anfragen für diejenigen VCC-Warteschlangen 12, deren Inhalte
in den allernächsten Zellzyklen zu übertragen sind.
Für jede virtuelle Kanalverbindung VCC bzw. für die entspre
chend zugeordneten VCC-Warteschlangen 12 kann ein bestimmter
Zellzyklus als nächste Sendezeit <NS< ausgewählt bzw. reser
viert werden, in dem die nächste ATM-Zelle 13 über diese vir
tuelle Kanalverbindung aus der VCC-Warteschlange 12 ausgesen
det werden soll. Die Reihenfolge derart zum Auslesen der je
weils ersten Zelle einer VCC-Warteschlange 12 reservierten
Zellzyklen wird in dem Kalender 11 eingetragen. Mit Blick auf
die Begriffswahl in den nachfolgend beschriebenen Verfahrens
schritte wird zur Veranschaulichung wieder der Begriff heute
bzw. <Today< für den momentanen Zellzyklus und der Begriff
morgen bzw. <Tomorrow< für den darauf folgenden Zellzyklus
verwendet. Die einzelnen "Tage" entsprechen somit den einzel
nen Zellzyklen, die beim vorliegenden Ausführungsbeispiel
tatsächlich eine Dauer von 2,7 µsec haben.
Unter der Annahme, dass keine Aufträge zur Reservierung für
einen Zeitpunkt später als K von heute <Today< gerechnet für
eine Reservierung erteilt werden, wäre das Ergebnis einer Mo
dulo-Abbildung <NS< mod K gleich der Spaltennummer bzw. Ka
lender-Warteschlangennummer im Kalender 11 zu setzen. Bei ei
ner Modulo-Abbildung werden zwei Zahlen dividiert, also eine
erste Zahl geteilt durch eine zweite, wobei Fließpunktzahlen
zu ganzen Zahlen gerundet werden, und als Ergebnis wird ein
verbleibender Rest dieses Divisionsschrittes zurückgegeben,
so dass beispielsweise 19 mod 6,7 als Ergebnis 5 gibt. Unter
dieser Annahme genügt ein Feld mit K Spalten, um alle Zell
zyklen darzustellen, die referenziert werden können. Der Ka
lender 11 umfasst somit Spalten für die Tage "morgens" (<To
morrow<) bis zusätzlich K Tagen (<Today< + K - 1).
In vorteilhafter Weise ist es möglich, dass ein bestimmter
Zellzyklus für mehr als eine einzige virtuelle Kanalverbin
dung als für diese nächstmögliche Sendezeit <NS< angefordert
wird. Um dies zu ermöglichen, weist der Kalender 11 ein Feld
mit L Bereichen auf, in denen jeweils nicht nur ein einzelnes
VCC-Listenelement 16 sondern eine VCC-Liste 15 abgespeichert
werden kann, wie dies aus Fig. 2 ersichtlich ist. Die doppelt
verketteten VCC-Listen 15 enthalten wiederum eine Vielzahl
der VCC-Listenelemente 16, die jeweils eine VCC-Warteschlange
12 repräsentieren.
Gemäß einer bevorzugten Ausführungsform werden für eine Zelle
13, die als nächst zu sendende Zelle in einer VCC-
Warteschlange 12 angeordnet ist, für die Zuweisung einer ge
wünschten Sendezeit zwei Fälle betrachtet. Im ersten Fall
liegt die gewünschte Sendezeit in der Vergangenheit oder für
den vorliegenden Zell- bzw. Sendezyklus vor. Dann wird das
der entsprechenden VCC-Warteschlange 12 zugeordnete VCC-
Listenelement 16 direkt in der Sende-Warteschlange 10 einge
fügt. Im zweiten Fall wird eine gewünschte Sendezeit für ei
nen zukünftigen Zeitpunkt bzw. Sendezyklus angefordert. Dann
wird das dieser VCC-Warteschlange 12 zugeordnete VCC-
Listenelement in einer der Spalten des Kalenders 11 eingetra
gen. Für die Zuweisung einer Spalte wird dabei vorzugsweise
die vorstehend aufgeführte Modulo-Abbildung verwendet. Sofern
sich in den entsprechenden Warteschlangen, also der Sende-
Warteschlange 10 oder der entsprechenden Kalender-
Warteschlange 17 bereits ein VCC-Listenelement 16 befindet,
wird dieses hinzugefügte VCC-Listenelement 16 mit dem oder
den VCC-Listenelementen 16 in vorstehend beschriebener Art
und Weise doppelt verkettet.
Eine solche Anordnung der VCC-Warteschlangen 12, der Sende-
Warteschlange 10 und des Kalenders 11 mit den Kalender-
Warteschlangen 17 ermöglicht ein funktionelles Zusammenwirken
derart, dass die Beabstandungsfunktionen und das ATM-
Multiplexen in einer sehr kurzen Zeit durchführbar sind.
Wenn von einer bzw. für eine VCC-Warteschlange 12 eine Sende
anforderung für einen bestimmten Zeitpunkt bzw. ein bestimm
tes Datum <TT< ausgegeben wird, oder eine solche Anforderung
von einer Steuereinrichtung des Zeitplaners 9 oder einer Sys
tem-Steuereinrichtung eintrifft, wird das frühestmögliche
Sendedatum mit Hilfe des in Fig. 5 dargestellten Algorithmus
berechnet, wobei für den nächsten Sendezeitpunkt <NS< gilt:
<NS< = NächsteBeabstandung (<TT<). Anstelle des Einstellens und
Kontrollierens eines Zeitgebers für dieses Ereignis wird das
entsprechende Datum bzw. der entsprechende zeitliche Sendebe
reich in dem Kalender 11 eingetragen. Nachfolgend wird eine
entsprechende Funktion zum Ausführen dieser Schritte auch als
Registriere (<TT<) bezeichnet. Entsprechend wird das dieser
VCC-Warteschlange 12 zugeordnete VCC-Listenelement 16 in dem
Kalender 11 in der Spalte eingetragen, die sich aus <NS< mod
L berechnet. Für die Anforderung eines bestimmten Zellzyklus
<TT< kann beispielsweise diese Programmfunktion Registrie
re(<TT<) verwendet werden. Dabei handelt es sich um eine pro
grammiertechnisch gängige Funktion, die nachschaut, ob für
die Zielzeit <TT< ein Zellzyklus bestellbar ist. Dabei gibt
die Beabstandung die nächste Sendezeit, woraufhin das ent
sprechende Listenelement in den Kalender 11 eingetragen wird.
Bei dem dargestellten Ausführungsbeispiel ist jeder VCC-
Warteschlange 12 nur ein einziges VCC-Listenelement 16 zuge
ordnet, so dass einzelne VCC-Warteschlangen 12, beispielswei
se die erste VCC-Warteschlange 12, offene, d. h. nicht zuge
wiesene Sendeanforderungen für weitere Zellen 13 hat. Dies
ist eine Folge des vorstehend anhand der Fig. 4 und 5 be
schriebenen und auf zwei Algorithmen NächsteBeabstandung bzw.
BeabstandungsAktualisierung zurückzuführen.
Es gibt einfache Alternativen zum Hinzufügen eines VCC-
Listenelementes 16 in eine doppelt verkettete VCC-Liste. Das
Einfügen eines VCC-Listenelementes 16 an den Anfang führt zu
einer zuletzt-ein-zuerst-aus-Anweisung (LIFO: Last In First
Out) in dieser VCC-Liste 15 in der Sende-Warteschlange 10
während das Anhängen dieses VCC-Listenelementes 16 an dem En
de zu einer zuerst-ein-zuerst-aus-Reihenfolge (FIFO: First In
First Out) bei der Abarbeitung der einzelnen VCC-
Listenelemente 16 dieser VCC-Liste 15 führt.
Für eine virtuelle ATM-Kanalverbindung VCC mit hoher oder ma
ximaler Datenrate pro Verbindung PCR, d. h. mit einer großen
Bandbreite, liegt deren nächster Sende-Zellenzyklus in der
näheren Zukunft als für eine virtuelle ATM-Kanalverbindung
VCC mit niedriger oder minimaler Datenrate pro Verbindung
PCR. Daher wird ein Zellenzyklus durch eine virtuelle ATM-
Kanalverbindung VCC mit niedriger Datenrate pro Verbindung
PCR eher angefordert als durch eine virtuelle ATM-
Kanalverbindung VCC mit hoher Datenrate pro Verbindung PCR.
Mit anderen Worten, bei schnellen Verbindungen ist der Zell-
Zwischenabstand sehr gering mit folglich relativ großer Aus
wirkung einer Änderung des Sendezeitpunktes als im Vergleich
dazu langsamen Verbindungen, bei denen Sende-Zeitpunkt-
Verschiebungen weniger relevant sind. Mit Blick auf eine fai
re Ressourcenzuweisung können daher virtuelle ATM-
Kanalverbindungen VCC mit hoher Datenrate pro Verbindung PCR
gegenüber virtuellen ATM-Kanalverbindungen VCC mit niedriger
Datenrate pro Verbindung PCR priorisiert werden, da diese
durch das gleiche absolute ATM-Multiplexingjitter mehr beein
flusst werden. Entsprechend wird das Anhängen von VCC-
Listenelementen am Anfang der VCC-Listen 15 im Kalender 11
bevorzugt.
Am Ende eines Zellenzyklus werden die VCC-Listenelemente 16,
die für den nächsten Zellzyklus bzw. den nächsten Zeitab
schnitt, also für "Morgen" <Tomorrow< registriert sind, aus
der ersten Kalender-Warteschlange 17 des Kalenders 11 in die
Sende-Warteschlange 10 übertragen. Dadurch wird die doppelt
verkettete VCC-Liste 15 an der Stelle <Tomorrow + 1 mod L< aus
dem Kalender 11 entfernt und an das Ende der doppelt verket
teten VCC-Liste 15 der Sende-Warteschlange 10 angehängt.
Zu Beginn eines jeden Zellzyklus werden mehrere Aktionen
durchgeführt. Als erstes werden die Systemvariablen für den
vorliegenden und den nächsten "Tag", <Today< bzw. <Tomorrow<
um eins inkrementiert. Dann wird das potentielle Senden einer
ATM-Zelle 13 vorbereitet und eingeleitet. Dazu wird das erste
VCC-Listenelement 16 aus der Sende-Warteschlange 10 entfernt
und die entsprechende VCC-Warteschlange 12 wird getriggert,
um deren nächste Zelle 13 auszusenden. Um diese Zelle gegen
irgendwelche Änderungen innerhalb des entsprechenden Zellzyk
lus zu schützen, wird im Zellkontext ein Sendemerker <SF<
(SF: Send Flag) gesetzt. Die Beabstandungsvariable für die
theoretische Sendezeit <TST< für diese VCC-Warteschlange 12
wird ebenfalls aktualisiert und zwar durch Aufrufen der vor
stehend beschriebenen Beabstandungsprozedur BeabstandungsAk
tualisierung(). Falls die VCC-Warteschlange 12 noch nicht
leer ist, wie dies beispielsweise bei der ersten VCC-
Warteschlange 12 nach dem Auslesen der untersten Zelle 13 der
Fall wäre, dann wird das VCC-Listenelement 16 dieser VCC-
Warteschlange 12 oder eine der Kalender-Warteschlangen 17
eingesetzt, und zwar durch das Bestellen eines Zellenzyklus
für die nächste Zelle 13 in der VCC-Warteschlange 12.
In vorteilhafter Weise ermöglicht dieses System auch eine
Neuordnung eines VCC-Listenelementes 16. Eine bereits exis
tierende Sendeanfrage kann durch einfaches Entfernen des ent
sprechenden VCC-Listenelementes 16 aus dem Kalender 11 oder
der Sende-Warteschlange 10 entfernt werden. Durch die Anord
nung mit doppelt verketteten bzw. doppelt verknüpften VCC-
Listen 15 erfolgt dies mit dem vorstehend beschriebenen Ver
fahren in einer sehr schnellen Art und Weise, wobei auch kei
ne Unterscheidung zwischen VCC-Listenelementen 16 in der Sen
de-Warteschlange 10 oder einer Kalender-Warteschlange 17 des
Kalenders 11 zu machen ist. Das Ändern einer bereits existie
renden Sendeanfrage für eine VCC-Warteschlange 12 kann ent
sprechend durch einfaches Entfernen von deren VCC-
Listenelement 16 und dem erneuten Einsetzen dieses VCC-
Listenelementes 16 für die neue Zielzeit umgesetzt werden.
Ein solches Verfahren kann beispielsweise durch einen Algo
rithmus ReRegistriere (<TT<) durchgeführt werden. Entsprechend
dem Algorithmus Registriere (<TT<) löst ein solcher Algorith
mus ein VCC-Listenelement 16 aus seiner Struktur heraus und
ordnet es wieder wie beim Registrierungs-Algorithmus wieder
an einer geeigneten Stelle ein.
Die Ausführungszeit all dieser Vorgänge ist konstant. Insbe
sondere ist die Ausführungszeit von der Anzahl von virtuellen
Kanalverbindungen VCC unabhängig. Die Gesamtlaufzeit des Al
gorithmus hängt davon ab, wie oft für eine der VCC-
Warteschlangen 12 ein Zellzyklus angefordert und wie oft eine
solche Anforderung zu ändern ist.
Der vorstehend beschriebene Zeitplaner 9 ermöglicht somit
insbesondere durch den einfachen Aufbau für ATM-Multiplexing
eine Skalierbarkeit, wodurch die Laufzeit unabhängig von der
Anzahl der VCC-Warteschlangen bzw. VCCs ist, die Anwendung
mit wenigen Zellzyklen implementierbar ist und keine dynami
sche Speicherbelegung vorzunehmen ist. Vorteilhafterweise
müssen zum Umstellen von VCC-Listenelementen lediglich genau
bestimmte Zeiger-Neuausrichtungen vorgenommen werden. Weiter
hin wird eine einfache Beabstandungsmöglichkeit (Spacing) be
reit gestellt, wobei erfolgte VCCs zur Spitzenzellenrate
(PCR) konform ist und die Beabstandung eine Fairness unter
den VCCs erzeugt. Ein weiterer besonderer Vorteil besteht in
dem Vergeben gewünschter Zeitpunkte (Timing), insbesondere
der Bewilligung eines Sendewunsches für einen absoluten Zeit
punkt, soweit dies irgend möglich ist, mittels einer Zeitge
berfunktion. Letztendlich ist auch die Änderung des Sende
zeitpunktes (Retiming) möglich. Überdies hinaus gibt sich ei
ne Vielzahl möglicher Erweiterungen.
Für eine Übertragung auf andere Kommunikationssysteme sind
entsprechende Modifikationen durchzuführen. So müssten im In
ternet-Protokoll-Bereich z. B. andere Takteinteilungen anstel
le der hier beschriebenen Zellzyklen verwendet werden. Auch
können anstelle der einspaltigen Kalender-Warteschlangen
mehrdimensionale Speicherräume verwendet werden.
Nachfolgend wird eine besondere Ausführungsform einer Verbin
dungseinrichtung für den AAL2-Standard beschrieben, die auf
dem zuvor beschriebenen Planer aufbauen und insbesondere auch
zur besseren Unterscheidbarkeit als ACE-Planer (ACE: AAL2
Connecting Element) bezeichnet werden kann. Dazu wird vorweg
gestellt eine kurze Einführung in die asynchrone Übertra
gungs-Betriebsart (ATM) gegeben und erläutert, warum AAL2 be
nötigt wird und wie dies funktioniert. Ferner wird das Szena
rio für einen AAL2-Planer 9 vorgegeben, wobei die Anforderun
gen abgeleitet werden.
In ATM-Netzen mit der asynchronen Übertragungs-Betriebsart
weisen Zellen eine feste Nutzgröße von 48 Byte und einen In
formations-Kopfabschnitt bzw. Informationsheader mit einer
Größe von 5 Byte auf. Dies ist ein verbindungsorientierter
Vorgang, weshalb zum Transportieren von Daten eine virtuelle
Kanalverbindung (VCC) verwendet wird. Die Bandbreite wird un
ter den verschiedenen VCCs durch asynchrones Multiplexen der
ATM-Zellen geteilt, die zu verschiedenen VCCs gehören. Dies
bedeutet, dass die VCC-Warteschlangen bzw. die diesen zuge
ordneten virtuellen Kanalverbindungen VCC keinem bestimmten
Zeitschlitz zugewiesen werden, wie bei einem System mit einem
zeitlichem Divisions-Mehrzugriffs-System (TDMA)-System nicht
verbunden, wobei diese Zellen versendet werden, sobald sie
eintreffen. Daher ist es möglich, dass mehr als ein VCC zum
Senden einer Zelle mit der gleichen Zeit nur die Verwaltung
einer VCC-Warteschlange 12 zugelassen werden sollte. Dadurch
müssen die anderen VCC-Warteschlangen 12 auf das Senden einer
Zelle 13 zur gleichen Zeit warten, wobei nur eine Zelle 13
übertragen werden kann. Dies hat zur Folge, dass die Zellen
13 der anderen VCCs zeitlich verzögert werden müssen, was zu
einer ATM-Multiplexverzögerung führt. Diese Aufgabe wird
durch einen Zeitplaner 9 durchgeführt, der Sendeanweisungen
an die virtuellen Kanalverbindungen VCC durchführt.
Bekannt ist, insbesondere aus dem standardisierten Protokoll
AAL2 das Multiplexen mehrerer zu Gruppen bzw. Samples zusammen
gefasster Sprachdaten in eine ATM-Zelle. Dazu werden die
Sprachsamples mit einem 3 byte großen Kopfabschnitt (header)
ausgestattet, der unter anderem den Verbindungsidentifizierer
(CID: Connection Identifier) und den Längenanzeiger (LI:
Lengths Indicator) aufweist. Die Sprachpakete einschließlich
des AAL2-Paket-Kopfabschnittes werden allgemein als Common-
PartSublayer (CPS) Pakete bezeichnet.
Nachfolgend wird anhand von Fig. 7 ein Ausführungsbeispiel
für einen ACE-Zeitplaner 9 beschrieben, der ein Multiplexen
gemäß diesem AAL2-Standard durchführt.
In den ACE-Zeitplaner 20 führen eine Vielzahl virtueller Ka
nalverbindungen als hier AAL2-Verbindungen 21 hinein. Inner
halb des ACE-Zeitplaners 20 ist jeder der AAL2-Verbindungen
21 eine ATM-VCC-Warteschlange 22 zugeordnet, wobei diesen
ATM-VCC-Warteschlangen 22 jeweils ein AAL2-Multiplexer 23
vorgeschaltet ist. Letztendlich werden die Zellen der ATM-
VCC-Warteschlangen 22 in einem ATM-Mutliplexer 24 multiplext
und auf einer physikalischen Ausgangsleitung mit vorzugsweise
155 Mbps ausgegeben. Auch dies ist zweckmäßigerweise ein vir
tueller Aufbau.
Da möglichst alle Verzögerungsquellen, d. h. eine gewisse er
forderliche Multiplexzeit TCU, Beabstandung und ATM-
Multiplexverzögerung, bei dem AAL2-Multiplexen berücksichtigt
und ausgenutzt werden sollen, wird das Füllen einer neuen
ATM-Zelle nur begonnen, falls die älteren Zellen vollständig
gefüllt sind oder falls sie sich in dem Sendeprozess befinden
und ein entsprechender Sendemerker <SF< gesetzt ist. Daher
sind in der VCC-Warteschlange 22 alle außer der jüngsten ATM-
Zelle gefüllt. Für das AAL2-Multiplexen wird die Multiplex
zeit TCU für jede virtuelle Kanalverbindung 21 in echter Zeit
angegeben. Da die jüngste ATM-Zelle gefüllt wird, wird nur
eine Variable <Tout< pro virtueller Kanalverbindung 21 ver
wendet, um anzuzeigen, wenn der Multiplexprozess zu lange ge
dauert hat. Um diese Anforderungen alle zu erfüllen, werden
die Multiplexer bzw. die Multiplexeinrichtung in den Pla
nungsmechanismus vorteilhafterweise integriert. Die VCC-
Warteschlangen werden außerdem gegenüber den zuvor beschrie
benen um einige AAL2-Fähigkeiten erweitert.
Wenn ein AAL2-Paket eintrifft, wird die Funktion PaketEinset
zen aufgerufen, wie auch aus dem in Fig. 8 dargestellten Ab
laufdiagramm ersichtlich ist. Nach dem Beginnen der Funktion
PaketEinsetzen schreitet der Ablauf zu einer Überprüfung
fort, ob das Paket, insbesondere CPS-Paket, die Schwelle hin
sichtlich der Größe überschreitet. Falls ja, wird das Paket
von der weiteren Bearbeitung ausgeschlossen und die Funktion
PaketEinsetzen wird beendet. Falls nein, wird in einem nächs
ten Schritt überprüft, ob die VCC-Warteschlange leer ist oder
nicht. Falls ja, wird eine neue Zelle aufgebaut, wobei die
Variable <Tout< gleich der Summe aus der Variablen <now< plus
der Variablen für die Multiplexzeit TCU gesetzt wird. Nach
folgend wird eine Registrierungs-Funktion zum Einsetzen bzw.
Eintragen dieser Zelle in den Kalender 11 aufgerufen, die
hier als Funktion Registriere (<Tout<) bezeichnet wird. Im An
schluss daran wird die Funktion PaketEinsetzen beendet.
Falls die VCC-Warteschlange nicht leer ist, wird eine weitere
Überprüfung durchgeführt, ob sich nur eine Zelle in der VCC-
Warteschlange befindet und der Sendemerker bzw. das Sendeflag
<SF< gesetzt ist bzw. wahr ist. Falls ja, wird wieder die
Funktion zum Aufbauen einer neuen Zelle aufgerufen und an
schließend die Funktion PaketEinsetzen beendet. Falls die
letztgenannte Bedingung nicht wahr ist, wird eine weitere Ab
frage vorgenommen, ob die erste Zelle vollständig ist und ob
die Variable <Tout< für diese virtuelle Kanalverbindung bzw.
VCC-Warteschlange größer als der Wert des momentanen Zellzyk
lus <now< ist. Falls ja, wird eine Neuordnung vorgenommen,
die vorstehend bereits als ReRegistriere (<Tomorrow<) be
schrieben wurde und ein Entfernen des alten Eintrags beinhal
tet. Nach dieser Neuordnung für den nächsten Datumswert oder
im Fall der Verneinung der letzten Abfrage schreitet der Programmablauf
zu einer weiteren Abfrage vor, um zu überprüfen,
ob der freie Platz in der ATM-Zelle ausreicht. Falls der
Platz ausreicht, wird die Funktion PaketEinsetzen abgeschlos
sen. Falls der freie Platz in der letzten ATM-Zelle nicht
ausreicht, um die Daten dieses hinzugekommenen AAL2-Paketes
aufzunehmen, muss eine neue Zeile erstellt werden, wozu ent
sprechend auch die Variable <Tout< wieder als Summe der Vari
ablen <now< für den momentanen Zellzyklus und der Variablen
TCU für die erforderliche Zeit zum Multiplexen gebildet wird.
Anschließend wird die Funktion PaketEinsetzen abgeschlossen.
Hervorzuheben sind in dieser Funktion, dass in den Fällen der
Aufbau einer neuen Zelle begonnen werden muss, um das ganze
Paket in diese zu setzen, falls die verfügbare VCC-
Warteschlange 22 leer ist, oder falls es darin nur eine ATM-
Zelle gibt, deren Sendemerker <SF< gesetzt ist, d. h. eine
Zelle, die gerade gesendet wird. In diesen Fällen wird die
Variable <Tout< als Summe des momentanen Zeitwertes bzw.
Zellzyklus <now< und der für das Multiplexen erforderlichen
Zeit TCU aktualisiert, woraufhin die ATM-Zelle in dem Kalen
der 11 für die Zeit <Tout< registriert wird.
Weiterhin ist der Fall hervorzuheben, in dem die erste Zelle
durch das Aufnehmen des neuen Paketes ausreichend gefüllt o
der abgeschlossen wird und diese Zeit zum Multiplexen noch
nicht erreicht ist, d. h. die Variable <Tout< größer als der
momentane Zeitwert <now< ist. In diesem Fall wird, z. B. durch
Aufruf der Funktion ReRegistriere, das Listenelement der ATM-
Zelle aus dem Kalender 11 entfernt und für den nächsten Zell
zyklus <Tomorrow< mit der die Beabstandung berücksichtigenden
Funktion Registriere registriert, so dass sie in dem nächsten
Zellzyklus gesendet werden könnte. Falls die letzte ATM-Zelle
nicht ausreichend ist, bzw. nicht ausreichend Platz zur Ver
fügung stellt, muss eine neue Zelle bereit gestellt werden
und die Variable für die gewünschte Sendezeit <Tout< wird
entsprechend aktualisiert.
Nachfolgend wird das Senden einer ATM-Zelle anhand des Ab
laufdiagramms der Fig. 9 beschrieben, wobei die entsprechende
Funktion als ATM-ZelleSenden bezeichnet wird.
Entsprechend den vorstehenden grundsätzlichen Ausführungen zu
einem derartigen Zeitplaner 9 wird eine ATM-Zelle 13 zu Be
ginn eines Zellzyklus gesendet, falls es ein entsprechendes
VCC-Listenelement 16 in der Sende-Warteschlange 10 gibt. Zu
Beginn des Sendevorgangs wird das VCC-Listenelement 16 aus
der Sende-Warteschlange 10 entfernt, die Zelle 13 der ent
sprechenden VCC-Warteschlange 12/22 wird zum Senden getrig
gert und die Beabstandungsvariable dieser virtuellen Kanal
verbindung bzw. der zugeordneten VCC-Warteschlange 12 wird
aktualisiert. Außerdem wird die nächste Zelle 13 in den Ka
lender 11 eingesetzt, und zwar unter Verwendung der Funktion
BeabstandungAktualisierung(). Aufgrund der zeitlichen Be
schränkungen, die durch das Multiplexen gemäß AAL2 entstehen,
muss diese Vorgehensweise verfeinert werden.
Wie aus Fig. 9 ersichtlich, wird in der Funktion ATM-
ZelleSenden nach deren Beginn eine Sperre gesetzt, damit
nicht weiter gemultiplext wird. Um Inkonsistenzen mit Blick
auf das Lese-Schreib-Problem zu vermeiden, d. h. Kollisionen
durch gleichzeitige Lese- und Schreibzugriffe auf einen Spei
cherbereich, wird der Sendemerker <SF< in dem Zellkontext ge
setzt. Daraufhin werden das Senden der Zelle eingeleitet und
die Funktion BeabstandungsAktualisierung bzw. SpacingUpdate()
aufgerufen, um für die virtuelle Kanalverbindung deren <TST<-
Variable zu aktualisieren.
Im nächsten Ablaufschritt wird überprüft, ob die VCC-
Warteschlange leer ist oder nicht. Falls sie leer ist, wird
die Funktion ATM-ZelleSenden beendet, da keine zu versenden
den Zellen vorliegen. Falls die VCC-Warteschlange nicht leer
ist, wird überprüft, ob die erste Zelle in dieser VCC-
Warteschlange voll ist oder nicht.
Falls die erste Zelle in der VCC-Warteschlange bereits voll
ist oder deren Zeit abgelaufen ist, dann wird die Funktion
bzw. das Unterprogramm Registriere (<Tomorrow<) aufgerufen, so
dass für diese VCC-Warteschlange der nächste, "morgige" Zell
zyklus geordert wird. Andernfalls wird die Zelle in dem Ka
lender 11 mit einem gewünschten bzw. entsprechend einem
Wunsch berechneten Ausgangszeitpunkt zum Senden <Tout< einge
tragen. Dazu wird wieder ein Vergleich durchgeführt, ob der
Variablenwert der angesetzten Ausgangszeit <Tout< größer als
der morgige Zeitwert <Tomorrow< ist oder nicht. Abhängig da
von wird dann die Funktion Registriere(<Tout<) oder die Funk
tion Registriere(<Tomorrow<) aufgerufen, wonach die Funktion
ATM-ZelleSenden beendet wird.
Zusammengefasst lässt sich für diesen zuletzt beschriebenen
ACE-Zeitplaner folgendes feststellen: Eingangsseitig gelangen
in den Zeitplaner AAL2-Pakete über einen oder mehrere AAL2-
Paket-Eingangsströme, wobei mehrere AAL2-Pfade verwendet wer
den können. Ausgangsseitig werden einer oder mehrere ATM-
Zellströme auf vorzugsweise eine Ausgangsleitung gelegt. In
tegriert werden sowohl das AAL2-Multiplexing, das Beabstanden
(Spacing) als auch das ATM-Multiplexen. Aufbauend auf den
Grundkonzepten des einleitend beschriebenen vorteilhaften
Zeitplaners erfolgt hier das ATM-Multiplexen durch den zuvor
beschriebenen Zeitplaner, das AAL2-Multiplexen jedoch in den
Warteschlangen der virtuellen Kanalverbindungen. Es findet
das Multiplexen von mehreren AAL2-Paketen in eine ATM-Zelle
statt, wobei ein Zeitgeber die maximale Multiplex-Zeit be
grenzt. Weiterhin findet ein Zeitplanen statt, das Beabstan
den und AAL2-Multiplexing für das ATM-Multiplexen pro Zell
zyklus unterstützt. Dabei können ATM-Zellen in mehreren VCC-
Warteschlangen sendebereit sein, wobei aber nur eine virtuel
le Kanalverbindung bzw. deren Warteschlange zugleich eine
ATM-Zelle sendet. Außerdem wird ein Beabstanden bzw. Spacing
durchgeführt, wobei darauf geachtet wird, dass für jede vir
tuelle Kanalverbindung der Verkehrskontrakt eingehalten wird,
dies insbesondere mit Blick auf PCR und CDVT. Mit entsprechenden
Ansteuerungen kann für die Zuweisung von Sendezeiten
ein Konzept umgesetzt werden, bei dem auf eine faire Vertei
lung geachtet wird. Insgesamt bietet sich durch diese Vorge
hensweise eine Durchsatzmaximierung des Gesamtbausteins bzw.
der gesamten Verbindungseinrichtung. Ein besonderer Vorteil
zeigt sich in der Echtzeitbearbeitung oder nahezu Echtzeitbe
arbeitung.
Insbesondere wird ein Beabstanden durchgeführt, da andere
Netzknoten zu einem späteren Zeitpunkt eine Überwachung bzw.
ein Policing durchführen und dort zu dicht aufeinander fol
gende Daten gelöscht werden könnten.
Claims (17)
1. Verfahren zum Bestimmen einer Zuordnungszeit (NS) in einem
Zeitplaner (9) mit einer festgelegten Anzahl (K) von Zuord
nungszeiten,
wobei für eine zuzuordnende Zeit mittels einer Funktion je weils eine bestimmte Zuordnungszeit der Anzahl von Zuord nungszeiten bestimmt wird und
wobei mittels der Funktion die tatsächlich fortschreitende Zeit auf diese festgelegte Anzahl (K) von Zuordnungszeiten abgebildet wird.
wobei für eine zuzuordnende Zeit mittels einer Funktion je weils eine bestimmte Zuordnungszeit der Anzahl von Zuord nungszeiten bestimmt wird und
wobei mittels der Funktion die tatsächlich fortschreitende Zeit auf diese festgelegte Anzahl (K) von Zuordnungszeiten abgebildet wird.
2. Verfahren nach Anspruch 1, bei dem
als die Funktion eine Hash-Funktion, insbesondere eine Modu
lo-Funktion, verwendet wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem
zuzuordnende Zeiten außerhalb der momentan zuordbaren Zeiten
oder damit verbundene Ereignisse ignoriert und/oder vorüber
gehend in einem getrennten Abbildungsbereich registriert wer
den.
4. Verfahren nach einem vorstehenden Anspruch, bei dem
der Anzahl (K) von Zuordnungszeiten Eintragungsbereiche (10,
17) in einem Speicherraum zugeordnet werden, wobei in die
Eintragungsbereiche (10, 17) direkt Daten und/oder Verweisin
formationen auf Daten, Programme oder Ereignisse eingetragen
werden.
5. Verfahren nach Anspruch 4, bei dem
in den Eintragungsbereichen (10, 17) jeweils Daten oder Ver
weisinformationen (16) zu keinem, einem oder mehreren zuzu
ordnenden Zeiten oder Ereignissen eingetragen werden.
6. Verfahren nach Anspruch 4 oder 5, bei dem
Daten oder Verweisinformationen zu mehreren Ereignissen in
einem gleichen Eintragungsbereich (10, 17) jeweils als Menge,
insbesondere Liste (15), abgelegt werden.
7. Verfahren nach Anspruch 6, bei dem
die Menge(n) aus einer Folge doppelt verketteter Verweisin
formationen (16) aufgebaut wird.
8. Verfahren nach einem der Ansprüche 4-7, bei dem
in einen der Eintragungsbereiche (10, 17) eingetragene Daten
und/oder Verweisinformationen wieder entfernbar und/oder in
einen einer anderen Zuordnungszeit entsprechenden Eintra
gungsbereich (10, 17) umordbar sind.
9. Verfahren zum Bestimmen einer Sendezeit (TST) für eine Da
tenzelle (13) über eine Ausgangsleitung (3) eines paketorien
tierten Übertragungssystems, insbesondere gemäß dem ATM-
Standard,
gekennzeichnet durch
das Eintragen zumindest einer bestimmten Sendezeit (TST) als
zuzuordnende Zeit für die Datenzelle (13) in einen Zeitplaner
(9), insbesondere unter Verwendung eines Verfahrens nach ei
nem der vorstehenden Ansprüche.
10. Verfahren nach einem der Ansprüche 4-8 und Anspruch 9,
bei dem
mit einer der Verweisinformationen (16) auf jeweils eine Da
tenzelle (13) und/oder deren Speicherplatz verwiesen wird.
11. Verfahren nach Anspruch 9 oder 10, bei dem
beim Bestimmen der Sendezeit (TST) eine auf der Ausgangslei
tung (3) ausreichende Beabstandung der zu sendenden Daten
eingehalten wird, insbesondere um ein bestimmtes Verkehrsmus
ter auf der Ausgangsleitung (3) zu erzeugen.
12. Verfahren nach einem der Ansprüche 9 bis 11, bei dem
getrennte Algorithmen zur Feststellung einer letzten Sende
zeit (BeabstandungsAktualisierung <. . .<) und zur Bestimmung
einer nächsten möglichen Sendezeit (NächsteBeabstandung<. . .<)
verwendet werden.
13. Verfahren nach einem der Ansprüche 9 bis 12, bei dem
beim Bestimmen der Sendezeit eine ausreichende Zeit für ein
Weiterverarbeiten von Daten, insbesondere Multiplexen von Da
ten für die Datenzelle(n) (13), bereitgestellt wird.
14. Zeitplaner zum Durchführen eines Verfahrens nach einem
der Ansprüche 1 bis 13.
15. Zeitplaner nach Anspruch 14 mit
einer festgelegten Anzahl von Speicherbereichen, die einer maximal festgelegten Anzahl von Zuordnungszeiten zugewiesen sind und
einer Zuweisungseinrichtung, die zuzuordnende Zeiten oder Verweise auf dazu gehörende Daten zu den Zuordnungszeiten zu weist.
einer festgelegten Anzahl von Speicherbereichen, die einer maximal festgelegten Anzahl von Zuordnungszeiten zugewiesen sind und
einer Zuweisungseinrichtung, die zuzuordnende Zeiten oder Verweise auf dazu gehörende Daten zu den Zuordnungszeiten zu weist.
16. Vermittlungseinrichtung in einem Kommunikationssystem,
insbesondere paketorientierten Tele-Kommunikationssystem oder
Datennetz, mit einem Zeitplaner nach Anspruch 14 oder 15.
17. Multiplexer zum Multiplexen von Daten mit einem Zeitpla
ner nach Anspruch 14 oder 15 und/oder einer Vermittlungsein
richtung nach Anspruch 16.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10051146A DE10051146A1 (de) | 2000-10-16 | 2000-10-16 | Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür |
AU2002213825A AU2002213825A1 (en) | 2000-10-16 | 2001-10-01 | Scalable scheduling method having, in particular, a spacing and retiming function during the dispatching from atm cells and a corresponding scheduling device therefor |
CNB018203612A CN100414922C (zh) | 2000-10-16 | 2001-10-01 | 发射atm信元时具有尤其是分隔功能和再划分功能的可伸缩的时分方法以及用于此的时分装置 |
PCT/DE2001/003756 WO2002033908A1 (de) | 2000-10-16 | 2001-10-01 | Skalierbares zeiteinteilungsverfahren mit insbesondere abstands- und neueinteilungsfunktion beim versand von atm-zellen sowie zeiteinteilungsvorrichtung dafür |
EP01982171A EP1327340A1 (de) | 2000-10-16 | 2001-10-01 | Skalierbares zeiteinteilungsverfahren mit insbesondere abstands- und neueinteilungsfunktion beim versand von atm-zellen sowie zeiteinteilungsvorrichtung dafür |
US10/399,173 US20040047362A1 (en) | 2000-10-16 | 2001-10-01 | Scalable scheduling method having, in particular, a spacing and retiming function during the dispatching from atm cells and a correspponding scheduling device therefor |
JP2002536784A JP2004512738A (ja) | 2000-10-16 | 2001-10-01 | Atmセルの送信時にとりわけスペーシング機能および再配分機能を有するスケーラブルな時間配分方法、並びにそのための時間配分装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10051146A DE10051146A1 (de) | 2000-10-16 | 2000-10-16 | Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10051146A1 true DE10051146A1 (de) | 2002-04-25 |
Family
ID=7659905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10051146A Withdrawn DE10051146A1 (de) | 2000-10-16 | 2000-10-16 | Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040047362A1 (de) |
EP (1) | EP1327340A1 (de) |
JP (1) | JP2004512738A (de) |
CN (1) | CN100414922C (de) |
AU (1) | AU2002213825A1 (de) |
DE (1) | DE10051146A1 (de) |
WO (1) | WO2002033908A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060176882A1 (en) * | 2005-02-10 | 2006-08-10 | Beceem Communications Inc. | Method and system of early indication for multi-user wireless communication systems |
US8495309B2 (en) * | 2010-10-22 | 2013-07-23 | Business Objects Software Limited | Variable length data protected by seqlock |
US9960999B2 (en) * | 2015-08-10 | 2018-05-01 | Futurewei Technologies, Inc. | Balanced load execution with locally distributed forwarding information base in information centric networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19507569A1 (de) * | 1995-03-03 | 1996-09-12 | Siemens Ag | Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung |
EP0886405A2 (de) * | 1997-06-19 | 1998-12-23 | Newbridge Networks Corporation | Korrektur von kalenderbasierter Planung von ATM Zellen für stromabwärtse Zelleneinfügung |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9419802D0 (en) * | 1994-09-30 | 1994-11-16 | Roke Manor Research | Serial egress shaping for atm switch |
US5940397A (en) * | 1997-04-30 | 1999-08-17 | Adaptec, Inc. | Methods and apparatus for scheduling ATM cells |
US5987031A (en) * | 1997-05-22 | 1999-11-16 | Integrated Device Technology, Inc. | Method for fair dynamic scheduling of available bandwidth rate (ABR) service under asynchronous transfer mode (ATM) |
US5956340A (en) * | 1997-08-05 | 1999-09-21 | Ramot University Authority For Applied Research And Industrial Development Ltd. | Space efficient fair queuing by stochastic Memory multiplexing |
US6167059A (en) * | 1998-01-26 | 2000-12-26 | Motorola Inc. | Apparatus and method for transmitting data |
US6526062B1 (en) * | 1998-10-13 | 2003-02-25 | Verizon Corporate Services Group Inc. | System and method for scheduling and rescheduling the transmission of cell objects of different traffic types |
DE69909988T2 (de) * | 1999-06-30 | 2004-05-19 | Alcatel | Verfahren zur Erzeugung von ATM Zellen für Anwendungen mit niedriger Bitrate |
-
2000
- 2000-10-16 DE DE10051146A patent/DE10051146A1/de not_active Withdrawn
-
2001
- 2001-10-01 CN CNB018203612A patent/CN100414922C/zh not_active Expired - Fee Related
- 2001-10-01 EP EP01982171A patent/EP1327340A1/de not_active Withdrawn
- 2001-10-01 US US10/399,173 patent/US20040047362A1/en not_active Abandoned
- 2001-10-01 AU AU2002213825A patent/AU2002213825A1/en not_active Abandoned
- 2001-10-01 WO PCT/DE2001/003756 patent/WO2002033908A1/de active Application Filing
- 2001-10-01 JP JP2002536784A patent/JP2004512738A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19507569A1 (de) * | 1995-03-03 | 1996-09-12 | Siemens Ag | Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung |
EP0886405A2 (de) * | 1997-06-19 | 1998-12-23 | Newbridge Networks Corporation | Korrektur von kalenderbasierter Planung von ATM Zellen für stromabwärtse Zelleneinfügung |
Also Published As
Publication number | Publication date |
---|---|
CN1479989A (zh) | 2004-03-03 |
EP1327340A1 (de) | 2003-07-16 |
US20040047362A1 (en) | 2004-03-11 |
CN100414922C (zh) | 2008-08-27 |
JP2004512738A (ja) | 2004-04-22 |
WO2002033908A1 (de) | 2002-04-25 |
AU2002213825A1 (en) | 2002-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60036682T2 (de) | Maschine zur gewichteten ringförmigen Ablaufsteuerung | |
DE69331309T2 (de) | Bandbreitenzuordnung, Übertragungsplanung und Vermeidung von Blockierungen in Breitband Asynchroner-Transfer-Modus Netzwerken | |
DE69717455T2 (de) | Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk | |
DE69428186T2 (de) | Mehrfachsendeeinrichtung | |
DE3752370T2 (de) | Vermittlungssystem | |
DE19531749A1 (de) | Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät | |
DE69832205T2 (de) | Paketübertragungsverfahren und -vorrichtung | |
DE69504337T2 (de) | Kommunikationssystem | |
DE69738386T2 (de) | Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle | |
DE19634492B4 (de) | Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte | |
DE69029513T2 (de) | Vielfachzugriffssystem für ein übertragungsnetz | |
DE19507570C2 (de) | Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung | |
DE60000023T2 (de) | Vom Rechenaufwand her effizientes Verkehrsformer | |
DE19507569C2 (de) | Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung | |
DE19643584C2 (de) | Verfahren und Vorrichtung zur Steuerung von Mehrbelegungsverbindungen | |
DE10023037A1 (de) | Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld | |
DE69509499T2 (de) | Verfahren und einrichtung zur übertragung zwischen knoten in einem kommunikationsnetzwerk | |
EP0660557A1 (de) | Verfahren zum statistischen Multiplexen | |
DE60035846T2 (de) | System für Ablaufsteurung zur Übertragung von ATM-Zellen | |
DE60124869T2 (de) | Vermittlungssystem und verfahren mit niedrigerer und deterministischen verzögerung | |
DE10051146A1 (de) | Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür | |
EP0322075B1 (de) | Koppelfeld und Koppelfeldsteuerung für ein Vermittlungssystem | |
EP0960551B1 (de) | Verfahren und schaltungsanordnung zum übertragen von nachrichtenzellen im zuge von virtuellen verbindungen unterschiedlicher prioritäten | |
EP0685949A2 (de) | Paketübermittlungssystem | |
DE3816747A1 (de) | Leistungsvermittelnde paket-vermittlungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |