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ür

Info

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
Application number
DE10051146A
Other languages
English (en)
Inventor
Michael Menth
Thomas Reim
Stefan Schneeberger
Matthias Schmid
Phouc Tran-Gia
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10051146A priority Critical patent/DE10051146A1/de
Priority to AU2002213825A priority patent/AU2002213825A1/en
Priority to CNB018203612A priority patent/CN100414922C/zh
Priority to PCT/DE2001/003756 priority patent/WO2002033908A1/de
Priority to EP01982171A priority patent/EP1327340A1/de
Priority to US10/399,173 priority patent/US20040047362A1/en
Priority to JP2002536784A priority patent/JP2004512738A/ja
Publication of DE10051146A1 publication Critical patent/DE10051146A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • H04L2012/5656Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL2
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

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

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.
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.
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.
DE10051146A 2000-10-16 2000-10-16 Skalierbares Zeiteinteilungsverfahren mit insbesondere Abstands- und Neueinteilungsfunktion beim Versand von ATM-Zellen sowie Zeiteinteilungsvorrichtung dafür Withdrawn DE10051146A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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