DE60031284T2 - Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke - Google Patents

Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke Download PDF

Info

Publication number
DE60031284T2
DE60031284T2 DE60031284T DE60031284T DE60031284T2 DE 60031284 T2 DE60031284 T2 DE 60031284T2 DE 60031284 T DE60031284 T DE 60031284T DE 60031284 T DE60031284 T DE 60031284T DE 60031284 T2 DE60031284 T2 DE 60031284T2
Authority
DE
Germany
Prior art keywords
request
output
predicate
sequence
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60031284T
Other languages
English (en)
Other versions
DE60031284D1 (de
Inventor
Jeroen Siebrand Wellen
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE60031284D1 publication Critical patent/DE60031284D1/de
Application granted granted Critical
Publication of DE60031284T2 publication Critical patent/DE60031284T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0066Provisions for optical burst or packet networks
    • 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/5651Priority, marking, classes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0067Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0064Arbitration, scheduling or medium access control aspects

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft eine Ablauffolgesteuerung für Paketvermittlungen, und insbesondere ein Verfahren zum Steuern der Ablauffolge von Datenpaketen von mehreren Eingabeports zu mindestens einem Ausgabeport, aufweisend die Schritte des Speicherns von Datenpaketen in mehreren virtuellen Ausgabeschlangen, wobei eine virtuelle Ausgabeschlange zum Speichern von Datenpaketen von einem der mehreren Eingabeports angeordnet ist, die für einen bestimmten des mindestens einen Ausgabeports bestimmt sind, und des Steuerns der Ablauffolge der mehreren virtuellen Ausgabeschlangen.
  • Das Steuern der Ablauffolge von Paketen in Terabit-Switches und passiven optischen Gigabit-Netzwerken (GPON) erfordert eine erhebliche Menge an Rechenleistung. Wenn ein Prioritätsmechanismus zum Verwalten von Verkehr mit unterschiedlicher Dienstgüte (QoS) eingesetzt werden muss, wird das Problem sogar noch komplexer. Diese Komplexität kann als die Gesamtzahl von Eingangsschlangen in dem System ausgedrückt sein, die pro Ausgangsport ablauffolgegesteuert werden muss, d.h. das Produkt der Anzahl von Eingangsports und der Anzahl von Dienstklassen. Zum Steuern der Ablauffolge von Datenpaketen einer großen Anzahl Schlangen ist gemäß ihrer spezifischen Priorität ein Algorithmus erforderlich. Der Algorithmus muss effizient in Technologie auf dem Stand der Technik, d.h. ASIC oder FPGA, implementiert sein.
  • Der Artikel „A Cell Based MAC Protocol with Traffic Shaping and a Global FIFO Strategy" von C. Blondia, O. Casals und J. Garcia, Proceedings of the RACE Open Workshop on Broadband Access, Nijmegen, Niederlande, Juni 1993, offenbart ein MAC-Protokoll, das einen Anfordern/Genehmigen-Mechanismus benutzt, welcher einen gewöhnlichen FIFO-Puffer einsetzt. Jeder Netzabschluss (NT) gibt sein Bandbreitenerfordernis über Anforderungen bekannt, die Information über den Zustand der Schlangen in dem NT aufweist. NTs werden mithilfe von Genehmigungen über zugeordnete Bandbreite informiert. Dieser Algorithmus für PONs (besonders asynchroner Übertragungsmodus-(ATM-) PON) richtet sich nur an eine kleine Anzahl von Schlangen (bis 64), unzureichend für große Systeme (bis 1000 Schlangen) mit Gigabitkapazitäten. Zudem werden zusätzliche Switch-Funktionen zum Verbinden des PON mit einem Kernnetz benötigt.
  • Der Artikel „A Contention-Free Packet Scheduling Scheme for Provision of Quality-of-Service in Tbit/sec WDM Networks" von I. Elhanany, J. Nir, D. Sadot, Optical Networks Magazine, Juli 2000, offenbart ein Ablauffolgesteuerungsschema für Paketvermittlungen. Es wurde ein Algorithmus vorgeschlagen, der in der Ordnung von N·2log(N) Operationen pro Paketschlitzperiode abfordert, wobei N die Anzahl von Ausgabeports oder Zielen ist (der Artikel bezieht sich auf einen N×N-Switch). Dieses Verfahren setzt sequentielle Aussagen der verschiedenen Eingabeports unter Verwendung eines Ringversuchverfahrens ein, einschließlich einer priorisiert übereinstimmenden Ablauffolgesteuerung pro Eingabeport zum Erfüllen diverser Dienstgüteerfordernisse. Für große Anzahlen von Schlangen ist dies noch immer zu langsam. Außerdem richtet es sich nicht an PONs. Die US-Patentschrift 5,870,396 offenbart ein Verfahren zum Steuern der Ablauffolge von Paketen unter Benutzung virtueller Ausgabeschlangen, wobei die Ablauffolgesteuerung bei diesem Verfahren parallel stattfindet.
  • Die vorliegende Erfindung erstrebt, eine Ablauffolgesteuerung für Paketvermittlungen und PONs bereitzustellen, die imstande ist, die Ablauffolge von Pakete einer großen Anzahl von Schlangen gemäß ihrer spezifischen Priorität zu steuern. Die Anzahl von Schlangen ist gleich der Anzahl von Eingabeports oder gleich dem Produkt der Anzahl von Eingabeports und der Anzahl von Dienstklassen (oder Prioritätsklassen) im Falle des Verwaltens von Datenverkehr mit unterschiedlichen Dienstgüteerfordernissen.
  • Die vorliegende Erfindung stellt ein Verfahren gemäß dem oben definierten Oberbegriff bereit, bei dem der Schritt des Steuerns der Ablauffolge der mehreren virtuellen Ausgabeschlangen die Schritte des parallelen Steuerns der Ablauffolge der virtuellen Ausgabeschlangen, die einem des mindestens einen Ausgabeports zugeordnet sind, durch Steuern der Ablauffolge der virtuellen Ausgabeschlangen, die einem des mindestens einen Ausgabeports zugeordnet sind, mittels eines Ablauffolgesteuerbaums aufweist, wobei der Ablauffolgesteuerbaum mindestens eine Vergleichsschicht zum Ausführen der Schritte des paarweisen Vergleichens von Anforderungen, die von den zugeordneten virtuellen Ausgabeschlangen parallel empfangen werden, und des Sendens der Anforderung mit einer höheren Priorität an eine Vergleichsschicht einer höheren Ebene, bis eine einzelne Anforderung übrig bleibt, wobei die einzelne Anforderung die virtuelle Ausgabeschlange anzeigt, die zum Senden ihres Datenpakets an den zugeordneten Ausgabeport ablauffolgegesteuert ist, aufweist.
  • Das Verfahren gemäß der vorliegenden Erfindung hat den Vorteil, dass die Ablauffolge einer sehr großen Anzahl virtueller Ausgabeschlangen effizient gesteuert werden kann. Das vorliegende Verfahren benötigt nur 2logN Operationen zum Steuern der Ablauffolge, wobei N die Anzahl der virtuellen Ausgabeschlangen ist. Es kann durch Kaskadierung des Zugangs zu den geteilten Medien und des Zugangs zu den Ausgabeports effizient für Paketvermittlungen, aber auch für passive optische Netzwerke verwendet werden. Das vorliegende Verfahren kann parallel für alle Ausgabeports der zugeordneten Paketvermittlung oder passiven optischen Netzwerks ausgeführt werden.
  • In einer Ausführungsform des vorliegenden Verfahrens weist die Anforderung eine Identifizierung der zugeordneten virtuellen Ausgabeschlange auf. Dies ermöglicht eine direkte Identifizierung der virtuellen Ausgabeschlange, der Zugang zu einem bestimmten Ausgabeport gewährt wird.
  • In einer weiteren Ausführungsform führt die Vergleichsschicht den weiteren Schritt des Speicherns der Anforderung mit einer höheren Priorität und, nach dem Empfangen einer Genehmigung von einer Ebene höherer Ordnung, wobei die Genehmigung die einzelne Anforderung aufweist, des Sendens der Genehmigung an eine Vergleichsschicht einer niedrigeren Ebene gemäß der gespeicherten Anforderung, die der höheren Priorität zugeordnet ist, aus. Diese Ausführungsform ermöglicht es, den Zuordnungsmechanismus zu vereinfachen, indem verhindern wird, dass die virtuelle Ausgabeschlangenidentifikation in dem Ablauffolgesteuerbaum befördert werden muss. Natürlich erfordert diese Backrouting-Alternative insgesamt 22logN Operationen zum Steuern der Ablauffolge, was dennoch weniger als bei Ablauffolgesteuerungsschemata des Stands der Technik ist.
  • Das paarweise Vergleichen von Anforderungen kann eine festgelegte Präzedenz für eine der zwei empfangenen Anforderungen anwenden, wodurch eine sehr einfache Implementierung des Verfahrens mit einer mehr oder weniger festgelegten Port-/Dienstklassenkombination ermöglicht ist. Als Alternative kann eine abwechselnde Präzedenz für jede der zwei Anforderungen angewendet werden, was zu einem Nettoergebnis führt, dass keiner der virtuellen Ausgabeschlangen, deren Ablauffolge gesteuert werden soll, Präzedenz gewährt wird. In einer weiteren Alternative weist die Anforderung eine Prioritätsebene auf, und der Schritt des paarweisen Vergleichens von Anforderungen wendet einen Vergleich der Prioritätsebenen an. Diese Ausführungsform ermöglicht flexibles Programmieren der virtuellen Ausgabeschlangen auf Kosten komplexerer Vergleichslogik. Die zugegebene Komplexität erfordert ungefähr 2logNc zusätzlicher Logikschaltungen, wobei Nc die Anzahl verfügbarer Prioritätsebenen ist.
  • In wiederum einer anderen Ausführungsform der vorliegenden Erfindung führt die Vergleichsschicht den weiteren Schritt des Beförderns des Datenpakets, das der Anforderung mit der höheren Priorität zugeordnet ist, zu der Vergleichsschicht der höheren Ebene aus. Durch Einsetzen dieser Ausführungsform kann gleichzeitig mit dem Ablauffolgesteuerungsmechanismus ein Weg für die Datenpakete zwischen einem Eingabeport und einem Ausgabeport errichtet werden.
  • In einem weiteren Aspekt betrifft die vorliegende Erfindung ein Ablauffolgesteuersystem zum Steuern der Ablauffolge von Datenpaketen von mehreren Eingabeports zu mindestens einem Ausgabeport, aufweisend virtuelle Ausgabeschlangen, die zum Speichern von Datenpaketen von einem der mehreren Eingabeports angeordnet sind, die für einen bestimmten des mindestens einen Ausgabeports bestimmt sind. Das Ablauffolgesteuersystem weist einen Ablauffolgesteuerbaum mit mehreren Vergleichsschichten auf, wobei jede Vergleichsschicht mindestens ein Vergleichselement aufweist, wobei das Vergleichselement zwei Eingabegatter und ein Ausgabegatter aufweist, wobei die Eingabegatter der Vergleichselemente der Vergleichschicht der niedrigsten Ebene mit den mehreren virtuellen Ausgabeschlangen verbunden sind, wobei die Ausgabegatter von zwei Vergleichselementen einer Vergleichsschicht mit den Eingabegattern von einem Vergleichselement einer Vergleichsschicht einer höheren Ebene verbunden sind, und wobei jedes Vergleichselement zum Auswerten von Anforderungen, die an seinen Eingabegattern empfangen werden, und zum Bereitstellen der Anforderung mit der höchsten Priorität an seinem Ausgabegatter angeordnet ist. Das vorliegende Ablauffolgesteuersystem kann leicht durch kombinatorische Logikschaltungen implementiert sein und kann beispielsweise in einem Cross-Connect-Switch in einem einzelnen ASIC integriert sein. Außerdem kann der Ablauffolgesteuerbaum auf verteilte, erweiterbare Art und Weise, z.B. in einer Zweischichtaufteilung, einer Anzahl von Eingabeports zugeordnet und jedem der Ausgabeports zugeordnet, implementiert sein und sich auf entsprechenden Line Cards befinden.
  • Zum Ermöglichen einer direkten Identifizierung der virtuellen Ausgabeschlange, der Zugang zum Ausgabeport gewährt wird, weist die Anforderung vorzugsweise eine Identifizierung der zugeordneten virtuellen Ausgabeschlange auf.
  • In einer Ausführungsform des vorliegenden Ablauffolgesteuersystems weist das mindestens eine Vergleichselement Speichermittel zum Speichern der Anforderung mit einer höheren Priorität auf, und das Vergleichselement ist ferner zum Empfangen einer Genehmigung von einer Vergleichsschicht einer höheren Ebene, wobei die Genehmigung die Anforderung mit der höchsten Priorität auf der Vergleichsschicht der höchsten Ebene aufweist, und zum Senden der Genehmigung an das Vergleichselement einer Vergleichsschicht einer niedrigeren Ebene gemäß der gespeicherten Anforderung, die der höheren Priorität zugeordnet ist, angeordnet.
  • Das mindestens eine Vergleichselement kann zum Anwenden einer festgelegten Präzedenz für eines seiner zwei Eingabegatter angeordnet sein.
  • Alternativ weist die Anforderung eine Prioritätsebene auf, und das mindestens eine Vergleichselement ist zum Vergleichen der Prioritätsebenen der Anforderungen angeordnet.
  • In einer weiteren Ausführungsform weist das mindestens eine Vergleichselement einen Datenweg zum Befördern eines Datenpakets, das der Anforderung mit der höchsten Priorität zugeordnet ist, zu der Vergleichsschicht der höheren Ebene auf.
  • Um imstande zu sein, die Ablauffolge des Zugangs von einer Anzahl von Eingabeports zu einem einer Anzahl von Ausgabeports zu steuern, können mehrere Ablauffolgesteuerbäume in Reihe verbunden sein. Dies kann in passiven optischen Netzwerken angewendet sein, die eine Ablauffolgesteuerung zum Zugang zu geteilten Medien (geteilten Fasern) und zum Zugang zu den Ausgabeports erfordern.
  • In einer weiteren Ausführungsform des vorliegenden Ablauffolgesteuersystems weist das Ablauffolgesteuersystem mehrere Ablauffolgesteuerbäume auf, die einem ersten und einem zweiten Ausgabeport zugeordnet sind. Das Ablauffolgesteuersystem ist zum Aktivieren des Ablauffolgesteuerbaums angeordnet, der dem zweiten Ausgabeport zugeordnet ist, wenn der erste Port für die zugeordnete virtuelle Ausgabeschlange nicht verfügbar ist. Diese Ausführungsform ermöglicht verbindungslose Ablauffolgesteuerung oder Protection Switching und kann leicht unter Benutzung zusätzlicher Logikschaltungen implementiert werden.
  • Die vorliegende Erfindung wird unter Benutzung einer Anzahl beispielhafter Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen detaillierter verdeutlicht.
  • Es zeigen:
  • 1a eine Grundkonfiguration eines Switchs, der Eingabeports mit Ausgabeports verbindet;
  • 1b eine Grundkonfiguration eines passiven optischen Netzwerks;
  • 2 in einem schematischen Diagram die Ablauffolge steuerung von Datenverkehr mit einer bestimmten Dienstgüte;
  • 3 ein schematisches Diagramm eines Ablauffolgesteuerbaums gemäß der vorliegenden Erfindung;
  • 4a bis 4c schematische Diagramme von Ausführungsformen von mehrstufigen Ablauffolgesteuerungsanordnungen der vorliegenden Erfindung;
  • 5a ein schematisches Diagramm eines festgelegten Präzedenzvergleichers mit Backrouting der Genehmigung;
  • 5b ein schematisches Diagramm eines integrierten Wegabschnitts für eine Ablauffolgesteuerung gemäß der vorliegenden Erfindung;
  • 6 ein schematisches Diagramm einer Implementierung der vorliegenden Erfindung in einer Paketvermittlungs-Ablauffolgesteuerung; und
  • 7 ein schematisches Diagramm einer weiteren Implementierung der vorliegenden Erfindung in einer Ablauffolgesteuerung eines passiven optischen Netzwerks.
  • 1a zeigt ein schematisches Diagramm einer Anwendung einer Ablauffolgesteuerung zum Vermitteln von Eingabedatenströmen zu spezifischen Ausgabedatenströmen. Ein Switch 2 verbindet Nj Eingabeports 11 ...1j mit N0 Ausgabeports 31 ...30 . Jeder der Eingabeports 11 ...1j kann mit jedem der Ausgabeports 31 ...30 durch den Switch 2 verbunden sein. Um das Zusammentreffen von Daten von verschiedenen Eingabeports 11 ...1j zu vermeiden, ist eine Ablauffolgesteuerungsfunktion zum Regulieren des Zugangs zu jedem der Ausgabeports 31 ...30 erforderlich. Eine ähnliche Funktion ist in einem passiven optischen Netzwerk (PON) notwendig, das in 1b gezeigt ist, wobei neben dem Schalter 2 die Eingabeports 11 ...1j mit Ng geteilten Medien 41 ...4g verbunden sind. Im Falle eines PON muss die Ablauffolgesteuerungsfunktion nicht nur den Zugang zu den Ausgabeports 31 ...30 regulieren, sondern außerdem den Zugang zu den geteilten Medien 41 ...4g . In den oben angegebenen Fällen wird der Switch 2 als einstufig nichtblockierend betrachtet, d.h. die Eingabeports 11 ...1j sind direkt mit dem ablauffolgegesteuerten Ausgabeport 31 ...30 verbunden. Für den Fall eines PON können zwei separate Ablauffolgesteuerungen implementiert sein, eine für den Zugang zu den geteilten Medien 41 ...4g und eine für den Zugang zu den Ausgabeports 31 ...30 . Dies erfordert jedoch zusätzliche Eingabeschlangen am Eingang des Switchs 2 und reduziert die Leistung zwischen Endpunkten.
  • Zum Vermeiden eines Zusammentreffens von Datenpaketen an den Ausgabeports 31 ...30 werden die Datenpakete in Schlangen gereiht. Es ist möglich, die Datenpakete auf verschiedene Art und Weise in Schlangen einzureihen. Die Datenpakte können an dem Ausgabeport 31 ...30 gespeichert werden, für den das Paket bestimmt ist, wobei dies jedoch beinhaltet, dass alle angebotenen Datenpakete zuerst durch den Switch 2 befördert werden müssen. Für große Portanzahlen würde dies unrealistische interne Geschwindigkeiten erfordern. Eine weitere Möglichkeit ist die zentralisierte Schlangenbildung, die jedoch große, komplexe Schaltungen erfordert, welche für große Anzahlen von Eingabe- und Ausgabeports schwer zu implementieren sind. Wiederum eine weitere Möglichkeit ist das Einreihen der Datenpakete in Schlangen an den Eingabeports 11 ...1j . Dieser Ansatz hat den Nachteil, dass ein Datenpaket, das an einen verfügbaren Ausgabeport 31 ...30 gerichtet ist, durch ein anderes Datenpaket in derselben Schlange blockiert wird, das auf einen anderen Ausgabeport 31 ...30 wartet (so genanntes Head-of-Line-Blocking). Dies kann durch eine Technik bewältigt werden, die Virtual Output Queuing (VOQ) genannt wird und bei der Daten in separaten Eingabeschlangen gespeichert werden, die für einen Ausgabeport 31 ...30 bestimmt sind, was zu NjN0 virtuellen Ports führt, deren Ablauffolge in dem System zu steuern ist.
  • Wenn Datenpakete mit verschiedenen Prioritäten von den Eingabeports 11 ...1j zu befördern sind (die verschiedener Dienstgüte, QoS, zugeordnet sind); sollte auch die Ablauffolgesteuerfunktion diese Prioritäten berücksichtigen. Um das Blockieren von Datenpaketen mit hoher Priorität durch Datenpakete mit niedrigerer Priorität zu verhindern, kann der virtuelle Ausgabeschlangenbildungsmechanismus zum Enthalten von mehreren Nc Prioritätenklassen erweitert sein, was zu einer Anzahl von Schlangen führt, deren Ablauffolge gleich NjN0Nc zu steuern ist. Die Ablauffolgesteuerung von verschiedenen Schlangenprioritäten erfordert angemessenes Gewichten.
  • 2 zeigt die Ablauffolgesteuerung von Datenpaketen mit verschiedenen Prioritäten für Datenverkehr von einem bestimmten Eingabeport 1 zu einem bestimmten Ausgabeport 3. Eine Klassifiziervorrichtung 5 wertet ein eingehendes Datenpaket aus und weist es gemäß der Prioritätsklasse einer der mehreren virtuellen Eingabeschlangen 61 ...6c zu. Die verschiedenen Schlangen 61 ...6c werden in eine Ablauffolgesteuerung 7 zum Zugang zum Ausgabeport 3 eingegeben, unter Beinhaltung der Abschätzung der Prioritätsklasse der Schlangen 61 ...6c . Diese Steuerung der Ablauffolge wird für jede der NjNc virtuellen Ausgabeschlangen ausgeführt.
  • Der Vorgang des Steuerns der Ablauffolge, der von der Ablauffolgesteuerung 7 ausgeführt wird, kann in drei Phasen aufgeteilt werden. Zunächst fragt die Ablauffolgesteuerung 7 die Schlangen 6 (insgesamt NjN0Nc für ein System mit Nj Eingabeports, N0 Ausgabeports und Nc Prioritätsklassen) nach ihren Zugangsanforderungen ab. Zweitens bestimmt die Ablauffolgesteuerung 7, welcher Schlange 6 auf Grundlage der spezifischen Priorität Zugang zu einem Ausgabeport 31 ...30 gewährt wird.
  • Schließlich informiert die Ablauffolgesteuerung 7, welcher Schlange 6 Genehmigung zum Senden des zugeordneten Datenpakets an den angeforderten Ausgabeport 3 erteilt wird.
  • Diese Schritte werden für jedes Paket in einem bestimmten Datenpaketswitch 2 wiederholt, und folglich muss der gesamte Vorgang weniger als die zugeordnete Schlitzzeit Ts dauern. Bei modernen Datenpaketnetzen befindet sich die Schlitzzeit Ts in der Größenordnung von Mikrosekunden. Da derzeitige Prozessoren mit einer Zykluszeit in der Größenordnung von mehreren Nanosekunden arbeiten, ermöglicht dies ungefähr 100 Operationen pro Zeitschlitz zum Steuern der Ablauffolge aller virtueller Ausgabeschlangen. Der zeitaufwändigste Teil der Ablauffolgesteuerung ist die Abschätzung. Bekannte Ablauffolgesteuerungstechniken verwenden Abfrage- oder Ringversuchtechniken, aber diese sind zu langsam für eine große Anzahl Schlangen. Die vorliegende Erfindung ermöglicht, dass die Steuerung der Ablauffolge für große Anzahlen von Schlangen durch Zerlegen der Abschätzung und Gewichten der Schlangenanforderungen in einen binären Baum 10, wie in 3 gezeigt, ausgeführt wird.
  • In 3 ist ein einzelner Ablauffolgesteuerbaum 10 dargestellt, zum Bestimmen, welche einer Anzahl virtueller Ausgabeschlangen 61 ...6n Zugang zu einem bestimmten Ausgabeport 31 ...30 erhält. Ein Ablauffolgesteuerbaum 10 wie dargestellt ist daher für jeden der Ausgabeports 31 ...30 erforderlich.
  • Der Ablauffolgesteuerbaum 10 weist eine Anzahl identischer Vergleichselemente 11 auf, die beispielsweise in kombinatorischer Logik implementiert sein können (siehe unten). Jedes Vergleichselement 11 weist zwei Eingaben und eine einzelne Ausgabe auf. Die Vergleichselemente 11 sind baumartig miteinander verbunden, d.h. eine der Eingaben eines Vergleichselements 11 auf einer höheren Ebene ist mit der Ausgabe eines Vergleichselements 11 auf einer niedrigeren Ebene verbunden. Auf der untersten Ebene sind die Eingaben der der Vergleichselemente 11 mit den virtuellen Ausgabeschlangen 61 ...6n verbunden. Jeden Zeitschlitz Ts zeigen die virtuellen Ausgabeschlangen 61 ...6n ihre Anforderung r an einer der Eingaben der Vergleichselemente 11 an. Vorherrschende Anforderungen werden zu einer höheren Ebene weitergeleitet, bis an der obersten Ebene die gewährte Anforderung eines spezifischen Ausgabeports 3 nach 2logN Gatteroperationen hervorgeht. An der Ausgabe des Vergleichselements 11 der obersten Ebene bleibt nur eine Anforderung des spezifischen Ausgabeports 3 übrig, und somit kann die Anforderung der zugeordneten, virtuellen Ausgabeschlange 61 ...6n direkt zugewiesen werden.
  • Durch Wählen geeigneter Schaltungen können die Vergleichselemente 11 zum parallelen Arbeiten implementiert werden, sodass nur 2logN (wobei N die Anzahl (virtueller) Ports ist, die pro Ausgabeports ablauffolgegesteuert werden sollen, d.h. N = NjNc im Falle von Nj Eingabeports und Nc Dienstklassen) Schritte zum Bestimmen notwendig sind, welche virtuelle Ausgabeschlange 61 ...6n Zugang zu dem spezifischen Ausgabeport 3 erhält.
  • Die Vergleichselemente 11 können auf jeglicher Ebene entscheiden, welche Anforderung r auf der Grundlage von beispielsweise einer festgelegten Präzedenz vorherrscht, der eine der Eingaben des Vergleichselements 11 Priorität gibt. In der Ausführungsform, die in 3 gezeigt ist, würde die Priorität der Baumeingaben in der rechten oder linken Richtung zunehmen. Dies vereinfacht die Implementierung für Systeme mit einer mehr oder weniger festgelegten Port- und Dienstklassenkombination.
  • Alternativ können die Vergleichselemente 11 zum ab wechselnden Verleihen von Präzedenz an empfangene Anforderungen angeordnet sein, d.h. die Priorität wechselt jedes Mal, wenn einem Eingabeport eine Genehmigung p erteilt wurde, zu dem anderen Eingabeport, was zu keiner Nettopräzedenz führt.
  • Als weitere Alternative kann eine gewichtete Präzedenz in den Vergleichselementen 11 implementiert sein. Die Anforderung r jeder der virtuellen Ausgabeschlangen 61 ...6n sollte dann die Prioritätsebene aufweisen. In diesem Falle ist flexibles Programmieren der virtuellen Ausgabeschlangen möglich, erfordert jedoch komplexere Logik (ungefähr einen Faktor von 2logNc) zum Implementieren der Vergleichselemente 11.
  • Es ist möglich zu verhindern, dass die Identität der virtuellen Eingabeschlangen 61 ...6n durch den Ablauffolgesteuerbaum 10 befördert werden, und den Zuweisungsmechanismus zu vereinfachen. Dies kann erzielt werden, indem die Vergleichselemente 11 derart angeordnet sind, dass sie die zugeordneten Zwischenergebnisse speichern. Auf diese Art und Weise ist es möglich, die Genehmigung p, die an der Ausgabe des Vergleichselements 11 der höchsten Ebene erhalten wurde, durch den Ablauffolgesteuerbaum 10 zurück zu der richtigen virtuellen Ausgabeschlange 61 ...6n zu routen. Dies ist in 3 durch die unterbrochenen Pfeile angezeigt.
  • Es ist außerdem möglich, den Ablauffolgesteuerbaum 10 derart anzuordnen, dass er eine integrierte Wegabschnittsschaltung mit den Vergleichselementen 11 enthält, wodurch es der Ablauffolgesteuerung 7 ermöglicht ist, automatisch einen Weg für die Datenpakete zwischen den virtuellen Ausgabeschlangen 61 ...6n und den Ausgabeports 31 ...30 zu errichten.
  • Der Ablauffolgesteuerbaum 10 wie bis jetzt beschrieben ermöglicht die Steuerung der Ablauffolge von Datenpaketen zu einem Ausgabeport 3. Da der Ablauffolge steuerbaum 10 zum parallelen Arbeiten für jeden Ausgabeport 31 ...30 eines Paketswitchs 2 implementiert sein kann, ist die Gesamtanzahl von Schritten, die zum Steuern der Ablauffolge aller (NjN0Nc) virtuellen Ausgabeschlangen 61 ...6n notwendig sind, ebenfalls gleich 2logNjNc.
  • Die vorliegende Erfindung ermöglicht es außerdem, den Zugang zu den geteilten Medien 41 ...4g in einem passiven optischen Netzwerk durch Anordnen von zwei Ablauffolgesteuerbäumen in Reihe zu steuern. 4a zeigt in vereinfachter Form eine mehrstufige Ablauffolgesteuerungsanordnung für eine einzelne Schlange 6 in beispielsweise einem passiven optischen Netzwerk. Zunächst werden die Eingabeschlangen I1...Ij zu den geteilten Medien 41 ...4g durch einen ersten Ablauffolgesteuerbaum 15 ablauffolgegesteuert, bei dem die Backrouting-Anordnung implementiert ist, wonach die geteilten Medien 41 ...4g durch einen zweiten Ablauffolgesteuerbaum 16 zu den Ausgabeports 31 ...30 ablauffolgegesteuert werden. Die zwei Ablauffolgesteuerbäume 15, 16 können somit zum Ausführen einer UND-Funktion miteinander verbunden sein.
  • 4b zeigt eine andere mögliche Ausführungsform unter Verwendung eines ersten Ablauffolgesteuerbaums 15 und eines zweiten Ablauffolgesteuerbaums 16, wobei die Genehmigung p1, die vom ersten Ablauffolgesteuerbaum 15 erhalten wurde, umgekehrt und in ein UND-Gatter 17 eingegeben wird, wobei das zweite Eingabegatter des UND-Gatters 17 mit einer der virtuellen Ausgabeschlangen 6 verbunden ist und die Ausgabe des UND-Gatters 17 mit dem zweiten Ablauffolgesteuerbaum 16 verbunden ist. Tatsächlich implementiert dies eine logische ODER-Funktion zum Zugang zu alternativen Ausgabeports, wodurch die Ablauffolgesteuerung verbindungsloser Datenpakete ermöglicht ist. Die ersten Ablauffolgesteuerbäume 15 aller virtuellen Ausgabeschlangen 6 sollten zuerst eine Genehmigung p1 aus geben, und dann sollte die Genehmigung p1 durch das UND-Gatter 17 verarbeitet und in den zweiten Ablauffolgesteuerbaum 16 eingegeben werden, um doppelte oder unaufgeforderte Zuordnungen zu vermeiden.
  • 4c zeigt eine weitere mögliche Ausführungsform unter Verwendung eines ersten Ablauffolgesteuerbaums 15 und eines zweiten Ablauffolgesteuerbaums 16. Eine Anforderung von einer virtuellen Ausgabeschlange 6 wird sowohl in den ersten sowie in den zweiten Ablauffolgesteuerbaum 15, 16 eingegeben. Eine Genehmigung p1 wird von dem ersten Ablauffolgesteuerbaum 15 oder dem zweiten Ablauffolgesteuerbaum 16 erhalten. Tatsächlich implementiert dies ebenfalls eine logische ODER-Funktion zum Zugang zu alternativen Ausgabeports, wobei jetzt jedoch nur die Unterstützung von Protection Switching ermöglicht ist.
  • 5a zeigt ein einfaches Blockdiagramm einer beispielhaften Implementierung des Vergleichselements 11 des Ablauffolgesteuerbaums 10 mit kombinatorischer Logik. Das Vergleichselement 11 ist mit einer festgelegten Präzedenz und Backrouting der Genehmigung p implementiert. Eine erste Eingabe 20 und eine zweite Eingabe 21 sind mit einem ODER-Element 28 verbunden. Abhängig vom Wert der Anforderung r, die an der ersten oder zweiten Eingabe 20, 21 eingegeben wird (ob er ein hoher oder niedriger Wert ist), spiegelt die Ausgabe des Vergleichselements 11 (die die Ausgabe des ODER-Elements 28 ist) wider, ob dieses spezifische Vergleichselement 11 eine Anforderung an ein Vergleichselement 11 einer höheren Ebene sendet. von dem Vergleichselement 11 wird ein Genehmigungswert an einer Genehmigungseingabe 23 des Vergleichselements 11 empfangen. Diese Genehmigungseingabe 23 wird mit einer Eingabe eines ersten UND-Gatters 26 und eines zweiten UND-Gatters 27 verbunden. Wenn dieses spezifische Vergleichselement 11 eine Genehmigung p von einem Vergleichselement 11 einer höheren Ebene empfängt, geben das erste und zweite UND-Gatter 26, 27 die logischen Werte aus, die an ihren jeweiligen zweiten Eingaben vorhanden sind. Die zweite Eingabe des UND-Gatters 26 wird mit der ersten Anforderungseingabe 20 verbunden, und die zweite Eingabe des UND-Gatters 27 wird mit dem Kehrwert der ersten Anforderungseingabe 20 verbunden. Die Ausgaben der UND-Gatter 26, 27 stellen die Genehmigungen (logischen Werte) der ersten bzw. zweiten Eingabe 20 bzw. 21 bereit. Tatsächlich implementiert dies eine festgelegte Präzedenz für die erste Eingabe 20.
  • 5b zeigt eine beispielhafte Ausführungsform einer Wegabschnittsschaltung, die in dem Vergleichselement 11 integriert sein kann, neben der kombinatorischen Logik von 5a. Die Wegabschnittsschaltung weist ein erstes freigegebenes Gatter 33 und ein zweites freigegebenes Gatter 34 auf. Die Eingaben des ersten und zweiten freigegebenen Gatters 33, 34 empfangen die Datenpakete 30, 31, die der ersten Eingabe 20 bzw. der zweiten Eingabe 21 zugeordnet sind. Die Ausgaben des ersten und zweiten freigegebenen Gatters 33, 34 sind verbunden und bilden die Wegabschnittsausgabe 32 aus. Das erste und zweite freigegebene Gatter 33, 34 wird durch Gattereingaben gesteuert, die die Genehmigungsausgaben 24, 25 der kombinatorischen Logik von 5a empfangen. Die Kombination von 5a und 5b stellt ein Schaltungselement bereit, das das Vergleichselement 11 implementiert, das automatisch eine Verbindung zwischen einem Eingabeport 1 und einem Ausgabeport 3 herstellt. Dieses Schaltungselement ermöglicht es, einen vollständigen Switch 2 zu bauen. Dem Fachmann ist klar, dass in dem Vergleichselement 11 Gating- und Latching-Elemente zum Vorsehen angemessenen Timings und angemessener Synchronisierung notwendig sind.
  • 6 zeigt ein schematisches Diagramm einer Anwendung der vorliegenden Erfindung in einer Paketver mittlung. In diesem Fall kann der Ablauffolgesteuerbaum 10 zwischen Eingabe- und Ausgabeknoten verteilt sein, möglicherweise durch Kaskadierung über mehrere Ebenen und Backplanes zum Unterstützen beteiligter physikalischer Dimensionen. In der Ausführungsform, die in 6 gezeigt ist, ist eine Paketvermittlungsablauffolgesteuerung 40 für einen 16×4 Switch 2 in drei Teile aufgeteilt, eine Eingabestufe 41, eine Backplane 42 und eine Ausgabestufe 43.
  • Die Eingabestufe 41 ist in vier Eingabemodule 451 ...454 aufgeteilt, die mit einem Verwaltungsmodul 44 verbunden sind. Außerdem ist die Ausgabestufe 43 in vier Ausgabemodule 491 ...494 aufgeteilt. Jedes der Eingabemodule 45k weist vier Eingabeschlangen 46k1 ...46k4 zum Empfangen von Datenpaketen von einer zugeordneten Eingabe Il...Ij und zugeordnete Policing-Steuerungen 47k1 ...47k4 auf, um es einer Eingabeschlange 46k1 ...46k4 zu ermöglichen, ihre Datenpakete nach dem Empfangen einer Genehmigung p von dem Ablauffolgesteuerbaum 10 zu senden. Der Ablauffolgesteuerbaum 10 ist in vier Eingabeablauffolgesteuerbäume 48k1 ...48k4 in jedem Eingabemodul 45k , das einem der vier Ausgabeports zugeordnet ist, und einen Ausgabeablauffolgesteuerbaum 501 ...504 für jedes Ausgabemodul 491 ...494 aufgeteilt. Die Ausgaben von den Eingabeablauffolgesteuerbäumen 48k1 ...48k4 sind mit der Backplane 42 verbunden, die eine Ausgabe von einem Eingabeablauffolgesteuerbaum 48k1 ...48k4 mit dem zugeordneten Ausgabeablauffolgesteuerbaum 501 ...504 verbindet. Das Verwaltungsmodul 44 steuert eine Policing-Funktion und andere Timing- und Synchronisierungsfunktionen. Die Policing-Funktion kann außerdem auf verteilte Art und Weise implementiert sein, sollte jedoch stets zwischen den Eingabeschlangen 46k1 ...46k4 und den Eingabeablauffolgesteuerbäumen 48k1 ...48k4 angeordnet sein.
  • In der Ausführungsform, die in 6 gezeigt ist, können besondere Einrichtungen vorhanden sein, um beispielsweise eine Rückschleife von Anforderungen der obersten Ebene direkt in die Anforderung einer Eingabeschlange 46 zu ermöglichen oder Protection Switching zu ermöglichen.
  • 7 zeigt ein schematisches Diagramm einer Implementierung einer Ablauffolgesteuerung 70 zur Implementierung in einem passiven optischen Netzwerk (PON). Der Hauptunterschied zwischen einer Paketvermittlungsablauffolgesteuerung 40, wie in 6 dargestellt, und einer PON-Ablauffolgesteuerung 70, wie in 7 dargestellt, ist, dass die PON-Ablauffolgesteuerung 70 abgesehen davon, dass sie eine zusätzliche Abschätzungsstufe für geteilte Medien 41 ...4g aufweist (siehe 1 und obige Beschreibung), nicht direkt mit den Schlangen von fernen Optical Network Units (ONU) verbunden ist. Außerdem ist die PON-Ablauffolgesteuerung 70 im Allgemeinen nicht mit einem integrierten Wegabschnitt, wie in 5b dargestellt, ausgerüstet, sondern steuert den Zugang zu einem oder mehreren geteilten Medien 41 ...4g , die durch einen separaten (optischen) Cross-Connect mit den Ausgabeports 31 ...30 verbünden sind. 7 zeigt, dass die PON-Ablauffolgesteuerung 70 ebenfalls in eine Eingabestufe 51, eine Backplane 52 und eine Ausgabestufe 53 aufgeteilt ist. Die Funktion und Struktur der Ausgabestufe 53 und der Backplane 52 gleichen jenen der Ausgabestufe 43 bzw. der Backplane 42 der Paketvermittlungsablauffolgesteuerung 40. Die Eingabestufe 51 enthält jedoch die zusätzliche verteilet Medienstufe und eine Eingabe- /Ausgabe- (I/O) Backplane 611 ...613 für jedes Eingabemodul 551 ...553 zum Empfangen von fernen Anforderungen und Senden von fernen Genehmigungen an die ONUs des PON.
  • Zur Steuerung der Ablauffolge von Schlangen, die an fernen Optical Network Units residieren, muss die Ablauffolgesteuerung 70 Kommunikationsmittel zum Unterstützen der Abschätzungs- und Zuweisungsphasen des Ablauffolgesteuerungsvorgangs bereitstellen. Obgleich möglich, ist es nicht praktikabel, den Ablauffolge steuerbaum 10 über das PON selbst zu verteilen, da keine Ausrüstung in dem Gebiet auf der Verknüpfungsebene arbeitet. In der dargestellten Ausführungsform ist dies durch Schlangen-Proxys 56 an einer zentralen Stelle gelöst. In 7 sind zwei Schlangen-Proxys 56k1 ...56k2 für jedes Eingabemodul 55k als Beispiel gezeigt . Die Schlangen-Proxys 56k1 ...56k2 sind gewöhnlich für ONUs geschaffen, die eine bestimmte, festgelegte Bandbreite für ihren Datenverkehr erfordern. Um lange Umlaufverzögerungen für deterministischen Datenverkehr mit einer hohen Dienstgüte (hohen Priorität) zu vermeiden, können diese Schlangen-Proxys 56k1 ...56k2 unabhängig Anforderungen erzeugen, um die ferne Schlange zu unterstützen. Burst-Verkehr wird ähnlich wie die Datenpakete in der Paketvermittlung 40 abgewickelt, die in 6 gezeigt ist, d.h. eine ONU, die diese Art Datenverkehr sendet, muss Anforderungen an die PON-Ablauffolgesteuerung 70 einsenden. Von den Eingabeablauffolgesteuerbäumen 58k1 ...58k4 empfangene Genehmigungen werden über die I/O Backplanes 611 ...613 an die fernen ONUs zurückgesendet.
  • Zudem muss eine PON-Ablauffolgesteuerung 70 zum Abwickeln von Wartungsfunktionen für das PON, gesteuert durch OAM und Ranging-Block 62, ausgerüstet sein, besonders dann, wenn Ranging zum Initialisieren neuer ONUs erforderlich ist. Für diese Zwecke kann eine dedizierte Schlange derart konfiguriert sein, dass sie oberste Priorität aufweist, sodass es möglich ist, jedes Mal nachfolgende Zeitschlitze zu beanspruchen, wenn die Ranging-Funktion eine Funkstille anfordert.
  • Die Schlangen-Proxys 56k1 ...56k2 können verhältnismäßig einfach unter Verwendung der festgelegten Präzedenzschemata wie bezüglich 5a gezeigt und beschrieben implementiert werden. In diesem Falle beinhaltet die Anforderung r von einem Schlangen-Proxy 56k1 ...56k2 nur einen einzelnen logischen Wert („0" oder „1"), und die lokalen Schlangenbildungsfunktionen können unter Ver wendung gewöhnlicher Zähler implementiert werden, die die unerledigten Anforderungen anzeigen.

Claims (16)

  1. Verfahren zum Steuern der Ablauffolge von Datenpaketen von mehreren Eingabeports (11 ...1i ) zu mindestens einem Ausgabeport (31 ...30 ), folgende Schritte aufweisend: Speichern von Datenpaketen in mehreren virtuellen Ausgabeschlangen (61 ...6n ), wobei eine virtuelle Ausgabeschlange (61 ...6n ) zum Speichern von Datenpaketen von einem der mehreren Eingabeports (11 ...1i ) angeordnet ist, die für einen bestimmten des mindestens einen Ausgabeports (31 ...30 ) bestimmt sind; und Steuern der Ablauffolge der mehreren virtuellen Ausgabeschlangen (61 ...6n ), dadurch gekennzeichnet, dass der Schritt des Steuerns der Ablauffolge der mehreren virtuellen Ausgabeschlangen (61 ...6n ) folgende Schritte aufweist: paralleles Steuern der Ablauffolge der virtuellen Ausgabeschlangen (61 ...6n ), die einem des mindestens einen Ausgabeports (31 ...30 ) zugeordnet sind, durch Steuern der Ablauffolge der virtuellen Ausgabeschlangen (61 ...6n ), die einem des mindestens einen Ausgabeports (31 ...30 ) zugeordnet sind, mittels eines Ablauffolgesteuerbaums (10), wobei der Ablauffolgesteuerbaum (10) mindestens eine Vergleichsschicht zum Ausführen folgender Schritte aufweist: paarweises Vergleichen von Anforderungen, die von den zugeordneten virtuellen Ausgabeschlangen (61 ...6n ) parallel empfangen werden; und Senden der Anforderung mit einer höheren Priorität an eine Vergleichsschicht einer höheren Ebene, bis eine einzelne Anforderung übrig bleibt, wobei die einzelne Anforderung die virtuelle Ausgabeschlange (61 ...6n ) anzeigt, [die zum Senden ihres Datenpakets an den zugeordneten Ausgabeport (31 ...30 ) terminiert ist.]
  2. Verfahren nach Anspruch 1, wobei die Anforderung eine Identifizierung der zugeordneten virtuellen Ausgabeschlange (61 ...6n ) aufweist.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Vergleichsschicht den weiteren Schritt des Speicherns der Anforderung mit einer höheren Priorität ausführt und, nach dem Empfangen einer Genehmigung von einer Ebene höherer Ordnung, wobei die Genehmigung die einzelne Anforderung aufweist, Senden der Genehmigung an eine Vergleichsschicht einer niedrigeren Ebene gemäß der gespeicherten Anforderung, die der höheren Priorität zugeordnet ist.
  4. Verfahren nach einem der Ansprüche 1, 2 oder 3, wobei der Schritt des paarweisen Vergleichens von Anforderungen eine festgelegte Präzedenz für eine der zwei empfangenen Anforderungen anwendet.
  5. Verfahren nach einem der Ansprüche 1, 2 oder 3, wobei der Schritt des paarweisen Vergleichens von Anforderungen eine abwechselnde Präzedenz für jede der zwei empfangenen Anforderungen anwendet.
  6. Verfahren nach einem der Ansprüche 1, 2 oder 3, wobei die Anforderung eine Prioritätsebene aufweist und der Schritt des paarweisen Vergleichens von Anforderungen einen Vergleich der Prioritätsebenen anwendet.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Vergleichsschicht den weiteren Schritt des Beförderns des Datenpakets, das der Anforderung mit der höheren Priorität zugeordnet ist, zu der Vergleichsschicht der höheren Ebene ausführt.
  8. Ablauffolgesteuersystem zum Steuern der Ablauffolge von Datenpaketen von mehreren Eingabeports (11 ...1i ) zu mindestens einem Ausgabeport (31 ...30 ), aufweisend virtuelle Ausgabeschlangen (61 ...6n ), die zum Speichern von Datenpaketen von einem der mehreren Eingabeports (11 ...1i ) angeordnet sind, die für einen bestimmten des mindestens einen Ausgabeports (31 ...30 ) bestimmt sind, dadurch gekennzeichnet, dass das Ablauffolgesteuersystem einen Ablauffolgesteuerbaum (10) mit mehreren Vergleichsschichten aufweist, wobei jede Vergleichsschicht mindestens ein Vergleichselement (11) aufweist, wobei das Vergleichselement (11) zwei Eingabegatter und ein Ausgabegatter aufweist, wobei die Eingabegatter der Vergleichselemente (11) der Vergleichsschicht der niedrigsten Ebene mit den mehreren virtuellen Ausgabeschlangen (61 ...6n ) verbunden sind, wobei die Ausgabegatter von zwei Vergleichselementen (11) einer Vergleichsschicht mit den Eingabegattern von einem Vergleichselement (11) einer Vergleichsschicht einer höheren Ebene verbunden sind, und wobei jedes Vergleichselement (11) zum Auswerten von Anforderungen, die an seinen Eingabegattern empfangen werden, und zum Bereitstellen der Anforderung mit der höchsten Priorität an seinem Ausgabegatter angeordnet ist.
  9. Ablauffolgesteuersystem nach Anspruch 8, wobei die Anforderung eine Identifizierung der zugeordneten virtuellen Ausgangsschlange (61 ...6n ) aufweist.
  10. Ablauffolgesteuersystem nach einem der Ansprüche 8 oder 9, wobei das mindestens eine Vergleichselement (11) Speichermittel zum Speichern der Anforderung mit einer höheren Priorität aufweist und das Vergleichselement (11) ferner zum Empfangen einer Genehmigung von einer Vergleichsschicht einer höheren Ebene, wobei die Genehmigung die Anforderung mit der höchsten Priorität auf der Vergleichsschicht der höchsten Ebene aufweist, und zum Senden der Genehmigung an das Vergleichselement (11) einer Vergleichsschicht einer niedrigeren Ebene gemäß der gespeicherten Anforderung, die der höheren Priorität zugeordnet ist, angeordnet ist.
  11. Ablauffolgesteuersystem nach einem der Ansprüche 8, 9 oder 10, wobei das mindestens eine Vergleichselement (11) zum Anwenden einer festgelegten Präzedenz für eines seiner zwei Eingabegatter angeordnet ist.
  12. Ablauffolgesteuersystem nach einem der Ansprüche 8, 9 oder 10, wobei das mindestens eine Vergleichselement (11) zum Anwenden einer abwechselnden Präzedenz für seine zwei Eingabegatter angeordnet ist.
  13. Ablauffolgesteuersystem nach einem der Ansprüche 8, 9 oder 10, wobei die Anforderung eine Prioritätsebene aufweist, und wobei das mindestens eine Vergleichselement (11) zum Vergleichen der Prioritätsebenen der Anforderungen angeordnet ist.
  14. Ablauffolgesteuersystem nach einem der Ansprüche 8 bis 13, wobei das mindestens eine Vergleichselement (11) einen Datenweg zum Befördern eines Datenpakets, das der Anforderung mit der höchsten Priorität zugeordnet ist, zu der Vergleichsschicht der höheren Ebene aufweist.
  15. Ablauffolgesteuersystem nach einem der Ansprüche 8 bis 14, aufweisend mehrere Ablauffolgesteuerbäume (10; 15, 16), die in Reihe verbunden sind.
  16. Ablauffolgesteuersystem nach einem der Ansprüche 8 bis 14, aufweisend mehrere Ablauffolgesteuerbäume (10; 15, 16), die einem ersten und einem zweiten Ausgabeport zugeordnet sind, wobei das Ablauffolgesteuersystem zum Aktivieren des Ablauffolgesteuerbaums (10; 15, 16) angeordnet ist, der dem zweiten Ausgabeport zugeordnet ist, wenn der erste Port für die zugeordnete virtuelle Ausgabeschlange (61 ...6n ) nicht verfügbar ist.
DE60031284T 2000-12-14 2000-12-14 Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke Expired - Lifetime DE60031284T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00311184A EP1215931B1 (de) 2000-12-14 2000-12-14 Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke

Publications (2)

Publication Number Publication Date
DE60031284D1 DE60031284D1 (de) 2006-11-23
DE60031284T2 true DE60031284T2 (de) 2007-10-11

Family

ID=8173446

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031284T Expired - Lifetime DE60031284T2 (de) 2000-12-14 2000-12-14 Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke

Country Status (7)

Country Link
US (1) US7088729B2 (de)
EP (1) EP1215931B1 (de)
JP (1) JP2002217962A (de)
CN (1) CN1359241A (de)
AU (1) AU9717401A (de)
CA (1) CA2363513A1 (de)
DE (1) DE60031284T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3570366B2 (ja) * 2000-09-13 2004-09-29 日本電気株式会社 アービタ回路及びそれに用いる出力セルのアービトレーション方法
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
US20040037558A1 (en) * 2002-08-20 2004-02-26 Nortel Networks Limited Modular high-capacity switch
JP4307381B2 (ja) * 2002-09-13 2009-08-05 ピーエムシー−シエラ イスラエル リミテッド 複数のエンティティーを有するネットワークユニットを含むイーサネット(登録商標)パッシブ光ネットワークの操作方法
US7522523B2 (en) 2003-04-25 2009-04-21 Alcatel-Lucent Usa Inc. Assigning packet queue priority
KR100584341B1 (ko) * 2003-07-29 2006-05-26 삼성전자주식회사 이더넷 기반의 수동 광 가입자망에서 상향 트래픽 제어 방법
US8199764B2 (en) * 2003-08-25 2012-06-12 Cisco Technology, Inc. Scalable approach to large scale queuing through dynamic resource allocation
US6967949B2 (en) * 2003-09-15 2005-11-22 Teknovus, Inc. Method and apparatus for forwarding packets in an ethernet passive optical network
US7614071B2 (en) * 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
CN1326340C (zh) 2003-10-21 2007-07-11 华为技术有限公司 无源光网络的动态带宽分配装置及方法
AU2003292242A1 (en) * 2003-12-15 2005-07-05 Telefonaktiebolaget L M Ericsson (Publ) Distributed medium acces control for broadband access systems
US7957976B2 (en) * 2006-09-12 2011-06-07 Nuance Communications, Inc. Establishing a multimodal advertising personality for a sponsor of a multimodal application
US7822885B2 (en) * 2007-10-16 2010-10-26 Applied Micro Circuits Corporation Channel-less multithreaded DMA controller
US8693489B2 (en) * 2011-04-28 2014-04-08 Alcatel Lucent Hierarchical profiled scheduling and shaping
CN104348751B (zh) 2013-07-31 2019-03-12 中兴通讯股份有限公司 虚拟输出队列授权管理方法及装置
CN103532861B (zh) * 2013-09-30 2016-09-21 清华大学 基于生成树的域内动态多路径生成方法
KR102412289B1 (ko) * 2017-12-13 2022-06-23 한국전자통신연구원 병렬 스케줄링 방법 및 장치
US11558775B2 (en) * 2021-02-16 2023-01-17 Juniper Networks, Inc. Determining rate differential weighted fair output queue scheduling for a network device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367518A (en) * 1987-10-15 1994-11-22 Network Equipment Technologies, Inc. Self-routing switching element and fast packet switch
US5519837A (en) * 1994-07-29 1996-05-21 International Business Machines Corporation Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput
US5870396A (en) * 1996-12-31 1999-02-09 Northern Telecom Limited Output queueing in a broadband multi-media satellite and terrestrial communications network
US6092137A (en) * 1997-11-26 2000-07-18 Industrial Technology Research Institute Fair data bus arbitration system which assigns adjustable priority values to competing sources
US6487213B1 (en) * 1998-01-05 2002-11-26 Polytechnic University Methods and apparatus for fairly arbitrating contention for an output port
US6628646B1 (en) * 1999-05-14 2003-09-30 Nortel Networks Limited Programmable multicast scheduling for a network device

Also Published As

Publication number Publication date
DE60031284D1 (de) 2006-11-23
AU9717401A (en) 2002-06-27
EP1215931B1 (de) 2006-10-11
US7088729B2 (en) 2006-08-08
JP2002217962A (ja) 2002-08-02
CA2363513A1 (en) 2002-06-14
US20020075884A1 (en) 2002-06-20
CN1359241A (zh) 2002-07-17
EP1215931A1 (de) 2002-06-19

Similar Documents

Publication Publication Date Title
DE60031284T2 (de) Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke
DE69931284T2 (de) Menschliches Neurotrimin-Homolog
DE69330395T2 (de) Verbesserte Steuereinrichtung für eine Paketvermittlungsstelle mit gepufferten Eingängen
DE69931587T2 (de) RRGS-Round-Robin-Greedy Ablaufsteuerung für Eingangs-/Ausgangsgepufferte Terabitswitches
DE69431502T2 (de) Paketvermittlungssystem mit Rückkopplungssteuerung
DE69626946T2 (de) Verfahren und Vorrichtung für eine auf Übertragungsgeschwindigkeit basierender Ablaufplanung unter Verwendung eines relativen Fehler-Ansatzes
DE69635092T2 (de) Verfahren zur Zugangssteuerung und Lenkung von Virtuelle Verbindungen
DE3787492T2 (de) Verteilte Sprach-Datenvermittlung in Mehrstufenverbindungsnetzen.
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69331182T2 (de) ATM-Vermittlungsstelle und ATM-Vermittlungselement mit Leitweglenkungslogik
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE69026494T2 (de) Selbstleitweglenkendes Mehrwege-Vermittlungsnetzwerk zum Vermittlen von Zellen mit asynchroner Zeitvielfachübermittlung
DE69515373T2 (de) Verfahren zum Regeln des "Backpressure"-Verkehrs in einem Paketvermittlungsnetz
DE69121268T2 (de) Steuerungsvorrichtung zur Lastverteilung auf Anrufbehandlungseinheiten
DE60128413T2 (de) Gekennzeichneter Prioritätswarteschlangescheduler
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE69631265T2 (de) Vermittlungssystem
DE60222233T2 (de) Prozessor und Verfahren zur Erhaltung der Verarbeitungsreihenfolge von Paketen basierend auf Paketstromkennungen
EP0351014A2 (de) Koppelfeld für ein Vermittlungssystem
DE69127423T2 (de) Selbstleitweglenkendes Netzwerk mit optischer Gattermatrix
DE60110538T2 (de) Paketvermittlungsstelle
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition