DE69635880T2 - Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren - Google Patents

Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren Download PDF

Info

Publication number
DE69635880T2
DE69635880T2 DE69635880T DE69635880T DE69635880T2 DE 69635880 T2 DE69635880 T2 DE 69635880T2 DE 69635880 T DE69635880 T DE 69635880T DE 69635880 T DE69635880 T DE 69635880T DE 69635880 T2 DE69635880 T2 DE 69635880T2
Authority
DE
Germany
Prior art keywords
buffer
packets
cell
input
class
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
DE69635880T
Other languages
English (en)
Other versions
DE69635880D1 (de
Inventor
Yoshimitsu Kawasaki-shi Shimojo
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE69635880D1 publication Critical patent/DE69635880D1/de
Application granted granted Critical
Publication of DE69635880T2 publication Critical patent/DE69635880T2/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
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6265Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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/3018Input queuing
    • 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/3027Output queuing
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • 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/505Corrective measures
    • H04L49/506Backpressure
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • 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/5681Buffer or queue management
    • 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/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Paketübertragungsvorrichtung, wie etwa eine Zellenmultiplexiervorrichtung und eine Zellenpuffervorrichtung in einem ATM-Kommunikationsnetz. Da eine Zellenvermittlungsstelle durch Kombinieren einer Mehrzahl von Zellenmultiplexiervorrichtungen gebildet werden kann, ist die vorliegende Erfindung auch anwendbar auf eine Zellenvermittlungseinrichtung, die jeden Ausgangsanschluss in einer Konfiguration einer Zellenmultiplexiervorrichtung gemäß der vorliegenden Erfindung aufweist. Die Zellenpuffervorrichtung der vorliegenden Erfindung ist nicht notwendigerweise auf ein Handhaben von Zellen beschränkt und anwendbar auf eine Puffervorrichtung im Allgemeinen. Die vorliegende Erfindung ist auch nicht notwendigerweise auf die Anwendung in einem ATM-Kommunikationsnetz beschränkt und ebenso auf ein Paketvermittlungsnetz anwendbar.
  • Beschreibung des Standes der Technik
  • Gegenwärtig werden Forschungsarbeiten bezüglich eines ATM-(asynchroner Transfermodus)-Kommunikationsschemas aktiv Forschern der Kommunikationstechnologie in der ganzen Welt ausgeführt. In dem ATM-Kommunikationsschema werden Pakete einer festen Länge, die als Zellen bezeichnet werden, verwendet, um Information zu übertragen und zu vermitteln. Wie in dem ATM-Kommunikationsschema, kann eine Zellenvermittlung einer hohen Geschwindigkeit durch eine Zellenvermittlungseinheit verwirklicht werden, die durch die Hardware innerhalb eines Vermittlungsknotens bereitgestellt wird, so dass es möglich ist, ein Informationsübertragungsverhalten pro Einheitszeit zu verwirklichen, das jenen der existierenden Kommunikationsnetze weit überlegen ist.
  • Das ATM-Kommunikationsschema kann eine Mehrzahl von logischen Verbindungen (virtuelle Verbindung: VC) in physikalischen Übertragungsverbindung unter Verwendung einer Verbindungsidentifiziererinformation VPI (virtueller Pfadidentifizierer) und VCI (virtueller Kanalidentifizierer) bezeichnet werden, die in einem Header einer Zelle bereitzustellen sind, einrichtet ???? In jedem Vermittlungsknoten innerhalb des Netzes werden Wege im Voraus für jeden VC eingerichtet, und der Vermittlungsknoten bestimmt einen Ausgangsweg zum Ausgeben der Zelle gemäß dem Verbindungsidentifizierer VPI und VCI der Zelle. Die VPI und VCI sind in jeder physikalischen Übertragungsverbindung zwischen den Vermittlungsknoten eindeutig zugeordnet, so dass der Vermittlungsknoten eine Funktion zum wieder Einschreiben von Werten von VPI und VCI einer durchlaufenden Zelle aufweist.
  • Bis jetzt ist der VC, für welchen die Qualität in dem ATM-Netz garantiert ist, entweder eine CBR-(konstante Bitrate)-Verbindung oder eine VBR-(variable Bitrate)-Verbindung gewesen. Die CBR-Verbindung ist ein VC zum Übertragen des Verkehrs, bei welchem die Zellenübertragungsrate (d.h. eine Anzahl von Übertragungszellen pro Einheitszeit, die auch als eine Zellenrate oder Bandbreite bezeichnet wird), konstant und im Voraus bekannt. Die VBR-Verbindung ist eine VC zum Übertragen des Verkehrs, bei welchem die Zellenwandtransmissionsrate nicht konstant ist, aber bestimmte Verkehrscharakteristika, wie etwa ein Maximalwert (Spitzenrate) und ein Durchschnittswert (Durchschnittsrate) sind im Voraus bekannt.
  • Grundsätzlich ist es in einem Fall eines Multiplexierens einer Mehrzahl von VCs in einer physikalischen Übertragungsverbindung, während eine ausreichende Qualität aufrechterhalten wird, ausreichend, dass eine Summe der Spitzenraten sämtlicher VCs nicht größer als die Bandbreite der physikalischen Übertragungsverbindung ist. Dieses Schema wird als eine Spitzenratenzuordnung bezeichnet. Es ist somit möglich, dass die Spitzenratenzuordnung eine ausreichend hohe Benutzungseffizienz für eine physikalische Übertragungsverbindung in einem Fall verwirklicht, in dem es nur um CBR-Verbindungen geht, aber eine Benutzungseffizienz einer physikalischen Übertragungsverbindung kann in einem Fall, bei dem es sich um die VBR-Verbindungen handelt, nicht sehr hoch sein. Aus diesem Grund gibt es viele Studien über eine Technik zum Verbessern der Benutzungseffizienz der physikalischen Übertragungsverbindung unter Verwendung des statistischen Multiplexiereffekts gemäß den Verkehrscharakteristika, die im Voraus bekannt sind, während die Qualität aufrechterhalten wird.
  • Jedoch ist die ATM-Kommunikation zwischen Computern durch die Tatsache gekennzeichnet, dass die Verkehrscharakteristika, wie etwa eine durchschnittliche Rate, im Voraus nicht vorausgesagt werden können, und die Charakteristik, die als "Burstiness" bezeichnet wird, die eine Koexistenz einer bestimmten Zeitgebung, bei welcher eine große Menge von Zellen unverzüglich übertragen werden, und einer bestimmten anderen Zeitgebung anzeigt, bei welcher keine Zelle übertragen wird. Folglich ist es für die ATM-Kommunikation zwischen Computern schwierig, die Netzbenutzungseffizienz, während die Qualität aufrechterhalten wird, unter Verwendung der Techniken zu verbessern, die für CBR und VBR verwendet werden.
  • Spezifischer wird für Daten, die zwischen Computern übertragen werden, wenn die Spitzenratenzuordnung benutzt wird, um die Qualität zu garantieren, die Netzbenutzungseffizienz beträchtlich abgesenkt, wohingegen dann, wenn ein statistischer Multiplexiereffekt in dem Fall von VBR benutzt wird, eine große Menge von Zellen an einem bestimmten Ausgangsanschluss der Zellenvermittlungseinheit wegen der "Burstiness" des Verkehrs gleichzeitig ankommen, und ein Zellenverlust aufgrund des Pufferüberlaufs wird herbeigeführt werden, wenn nicht eine ausreichende Pufferkapazität bei der Zellenvermittlungseinheit bereitgestellt wird. Zusätzlich wird, wenn ein Zellenverlust herbeigeführt wird, eine Neuübertragung in der Einheit eines Pakets, das durch eine Mehrzahl von Zellen gebildet wird, ausgeführt werden, so dass der effektive Durchsatz abgesenkt werden wird.
  • Aus diesem Grund ist in jüngeren Jahren eine Dienstklasse, die als ABR (verfügbarer Betrag) bezeichnet wird, vorgeschlagen und studiert worden. Bei dieser ABR wird die Netzbenutzungseffizienz verbessert, während die Zellenübertragungsqualität garantiert wird (insbesondere eine Qualität, die einen Zellenverlust betrifft), indem eine Flusssteuerung zwischen Endgeräten und Vermittlungsknoten angewandt wird. Bei der ABR-Verbindung werden, wenn der Vermittlungsknoten in den Zellenstauzustand zu fallen droht, die Quellenendgeräte gesteuert, um Zellenübertragungen zu unterdrücken, bevor der Zellenstau an dem Vermittlungsknoten auftritt. Hier wird die Verkehrssteuerinformation, die den Endgeräten vorzugeben ist, hauptsächlich durch eine Zelle ausgeführt, die als eine RM-(Resourcenverwaltungs-)-Zelle bezeichnet wird. Diese Verkehrssteuerung von dem Vermittlungsknoten zu dem Quellenendgerät in der ABR weist eine nicht-ignorierbare Verzögerungszeit auf, so dass ein Bedarf besteht, einen Puffer einer großen Kapazität in der Zellenvermittlungseinheit zu implementieren, um nicht Zellen zu verwerfen, bis die Verkehrssteuerung effektiv zu arbeiten beginnt.
  • Neben diesen CBR, VBR und ABR gibt es eine Dienstklasse, die als UBR (unspezifizierte Bitrate) bezeichnet wird, eine Klasse des sogenannten "Best-Effort"-Dienstes ist, bei welchen es nicht erforderlich ist, dass ein Endgerät die Charakteristika des auszugebenden Verkehrs detailliert gegenüber dem Netz erklärt, sondern stattdessen garantiert das Netz die Übertragungsqualität überhaupt nicht.
  • Wie oben beschrieben, weisen Daten zwischen Computern die "Burstiness" auf, so dass, um einen zufrieden stellenden Pegel der Zellenverlustrate für die UBR-Verbindungen zu verwirklichen, erwogen wird, dass die Implementierung eines Zellenpuffers mit einer großen Kapazität in der Zellenvermittlungseinheit notwendig ist.
  • Zweckmäßigerweise sind die Übertragungsverzögerungszeit und der Übertragungsverzögerungszeitjitter, die von dem Verkehr zwischen Computern gefordert sind, nicht so streng festgelegt, verglichen mit jenen, die für die CBR und VBR erforderlich sind. Durch ein Implementieren eines Zellenpuffers einer großen Kapazität in der Zellenvermittlungseinheit nehmen die Verzögerungszeit und der Verzögerungszeitjitter für die Zellenübertragung zu, aber es wird erwogen, dass es viele Anwendungen gibt, die eine derartige Erhöhung der Verzögerungszeit und des Verzögerungszeitjitters tolerieren können.
  • Insbesondere wird in einem Fall der ABR- und UBR-Dienste es als notwendig erwogen, eine Einrichtung zum Vermeiden des Staus des Netzes bereitzustellen. Eine bekannte Einrichtung zum Vermeiden des Staus ist die sogenannte EFCI (explizite Vorwärtsstau-Anzeige). Bei der EFCI weist ein Header jeder Zelle ein EFCI-Bit als eine Anzeige eines Staus, der durch die Zelle erfahren wird, auf, und eine Zellenvermittlungseinheit innerhalb des Netzes markiert die EFCI gemäß dem Stauzustand. An jedem Endgerät, das die Information der EFCI benutzt, wird es möglich, den Stau zu vermeiden.
  • Als nächstes wird das herkömmliche, faire Einreihen pro VC in der Zellenmultiplexiervorrichtung und der Zellenvermittlungseinheit beschrieben werden.
  • Zunächst wird das faire Einreihen pro VC, das hinsichtlich der Robustheit in dem ABR-Dienst erforderlich ist, beschrieben werden.
  • Der ABR-Dienst arbeitet, wenn das Quellenendgerät die Übertragung von Zellen gemäß der Verkehrssteuerinformation, die von dem Netz vorgegeben wird, steuert. Wenn ein bestimmtes Endgerät (entweder durch einen Fehler oder absichtlich) die Verkehrssteuerinformation, die von dem Netz vorgegeben wird, ignoriert, kann eine Wiederherstellung aus dem Stau des Netzes heraus schwierig werden.
  • Dieses Problem kann durch ein Ausführen des faieren (ordentlichen) Einreihens pro VC bei einer Zellenmultiplexiervorrichtung oder einer Zellenvermittlungseinheit gelöst werden, um so den fairen Zellenmultiplexierablauf zwischen den VCs und die faire Pufferzuordnung zwischen den VCs zu verwirklichen. Durch ein Ausführen des fairen Einreihens pro VC kann die Interaktion zwischen VCs auf ein Minimum unterdrückt werden, und auch wenn eine VC vorhanden ist, die die Verkehrssteuerinformation ignoriert, würde nur diese VC in den Stauzustand fallen, und der Einfluss dieser VC auf die anderen VCs kann unterdrückt werden.
  • Zusätzlich ist das faire Einreihen pro VC auch seitens der Fairness des UBR-Dienstes erforderlich.
  • 1 zeigt ein Beispiel einer unfairen Bandbreitenzuordnung in dem UBR-Dienst. In diesem Beispiel weist das Netz vier Endgeräte A, B, C und D und einen Dateiserver FS auf, die über Zellenvermittlungseinheiten (oder Zellenmultiplexiervorrichtungen) X, Y und Z und Verbindungen 1, 2, 3, 4, 5, 6 und 7 verbunden sind.
  • Nun behandelt, wenn jede Zellenvermittlungseinheit Zellen ungeachtet einer Zahl von VCs multiplexieren soll, die für ihre Eingangsverbindungen eingerichtet sind, jede Zellenvermittlungseinheit die Eingangsanschlüsse gleich. Beispielsweise behandelt an der Zellenvermittlungsstelle X in einem Fall eines Multiplexierens von Zellen von den Verbindungen 2 und 3 in die Verbindung 1 die Zellenvermittlungseinheit X beide Verbindungen gleich, so dass, wenn die Bandbreite der Verbindung 1 1,0 ist, die Bandbreite von 0,5 jeder der Verbindungen 2 und 3 gegeben würde.
  • Durch eine ähnliche Erwägung hätte die Bandbreite, die letztendlich jedem Endgerät vorgegeben würde, den größten Wert von 0,5 für das Endgerät A und den kleinsten Wert 0,125 für die Endgeräte C und D. Dies ist weit weg von dem Ideal, bei dem sämtliche Endgeräte Zugriffe auf den Dateiserver FS gleichermaßen ausführen sollten.
  • Zusätzlich sendet, wenn das Netz in einen Stauzustand verfällt, das Netz die EFCI-Information, so dass jedes Endgerät seine Bandbreite kleiner macht. An diesem Punkt besteht, wenn Endgeräte vorhanden sind, die der EFCI-Information getreu gehorchen, und Endgeräte, die die EFCI-Information innerhalb des Netzes ignorieren, ein Problem dahingehend, dass nur die Endgeräte, die der EFCI-Information getreu gehorchen, die Zellenübertragung unterdrücken würden, und die Endgeräte, die die EFCI-Information ignorieren, würden schließlich ungebührlich Bandbreitenresourcen erhalten.
  • Diese Probleme sind durch die Tatsache herbeigeführt, dass die Zellenvermittlungseinheit die Eingangsverbindungen gleichmäßig behandelt, indem eine Zahl von VCs, die in jeder Verbindung multiplexiert wird, ignoriert werden. Wenn die Zellenvermittlungseinheit das faire Einreihen pro VC ausführt und die Bandbreite gemäß einer Anzahl von VCs verteilt, wird es möglich, dass die Endgeräte Zugriffe auf den Dateiserver ordentlich ausführen.
  • Als nächstes wird die herkömmliche Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen beschrieben werden.
  • 2 zeigt eine Konfiguration einer herkömmlichen Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen. Diese Zellenmultiplexiervorrichtung der 2 dient zum Multiplexieren von Zellen, die von N Teilen von Eingangsanschlüssen in ein Teil eines Ausgangsanschlusses eingegeben werden.
  • In dem Ausgangspuffer 101 werden Zellen jeder Klasse durch eine Klassentrennungseinheit 102 getrennt und in einer Zellenspeichereinheit (101-1, 101-2 oder 101-3) für jede darin bereitgestellte Klasse gespeichert, und eine Zellenauswahleinheit 103 gibt Zellen zu dem Ausgangsanschluss gemäß dem Prioritätspegel jeder Klasse selektiv aus.
  • Zusätzlich wird eine Zellenanzahl, die in jeder Pufferspeichereinheit des Ausgangspuffers 101 gespeichert sind, mit einem Schwellenwert verglichen, um ein jeweiliges Gegendruck-Signal zu erzeugen.
  • Jeder Eingangspuffer 100 weist auch eine Zellenspeichereinheit (101-1, 101-2 oder 101-3) für jede Klasse auf, und Zellen werden zu dem Ausgangspuffer 101 gemäß dem Prioritätspegel jeder Klasse zwischen den Klassen übertragen, denen gestattet ist, Zellen gemäß den Gegendruck-Signalen auszugeben.
  • In dieser Konfiguration besteht ein Bedarf, eine Mehrzahl von Zellenspeichereinheiten Klasse für Klasse in dem Ausgangspuffer bereitzustellen, so dass ein Nachteil dahingehend besteht, dass die Verwirklichung des Ausgangspuffers schwierig wird, wenn eine Anzahl von Klassen zunimmt. Insbesondere hat es sich als notwendig erwiesen, dass die Eingangsrate des Ausgangspuffers N mal größer (wobei N eine Anzahl von Eingangsanschlüssen ist) als eine Rate an dem Eingangsanschluss zu sein, so dass dann, wenn eine Anzahl von Klassen und eine Anzahl von Eingangsanschlüssen groß sind, es schwierig ist, den Ausgangspuffer mit derart komplizierten Funktionen zu verwirklichen.
  • Wenn die Konfiguration der 2 als ein Ausgangsanschlussabschnitt einer Zellenvermittlungseinheit angesehen wird, existiert das gleiche Problem auch für die Zellenvermittlungseinheit, die Puffer für die Eingangsanschlüsse aufweisen.
  • Als nächstes wird die herkömmliche Zellenmultiplexiervorrichtung beschrieben werden. Hier werden die Probleme, die mit einer Zellenmultiplexiervorrichtung einhergehen, die Eingangspuffer aufweist, wie in 3 gezeigt, beschrieben werden.
  • 3 zeigt eine Zellenmultiplexiervorrichtung zum Multiplexieren von Zellen, die von N Teilen von Eingangsanschlüssen in ein Teil eines Ausgangsanschlusses eingegeben werden.
  • Der Ausgangspuffer 111 speichert vorübergehend Zellen von den Eingangsanschlüssen und Ausgangszellen gemäß einer Rate eines Ausgangsanschlusses.
  • Eine Zellenanzahl, die in dem Ausgangspuffer 111 gespeichert sind, wird mit einem Schwellenwert verglichen, um ein Gegendruck-Signal zu erzeugen. Der Eingangspuffer 101 weist eine Schlange entsprechend dem Ausgangsanschluss auf und überträgt Zellen zu dem Ausgangspuffer 111 nur, wenn der Ausgang durch das Gegendruck-Signal zugelassen ist.
  • Eine derartige Zellenmultiplexiervorrichtung behandelt die Eingangspuffer 110 gleich, ungeachtet einer Anzahl von eingerichteten VCs, so dass Probleme hinsichtlich der Robustheit in dem ABR-Dienst und der "Fairness" in dem UBR-Dienst bestanden.
  • Wenn die Konfiguration der 3 als ein Ausgangsanschlussabschnitt einer Zellenvermittlungseinheit betrachtet wird, existiert das gleiche Problem auch für die Zellenvermittlungseinheit, die Puffer für die Eingangsanschlüsse aufweist.
  • Als nächstes wird das herkömmliche, faire Einreihen pro VC in der Zellenpuffervorrichtung beschrieben werden.
  • 4 zeigt eine Konfiguration einer FIFO für jede VC, die das faire Einreihen pro VC verwirklicht.
  • 4 zeigt einen Fall einer Zellenpuffervorrichtung, bei welchem die Verbindungsidentifiziererinformation der Zelle, die von der Eingangsverbindung eingegeben wird, an eine Pufferzeigerverwaltungseinheit 130 gemeldet wird, die Zelle vorübergehend in einem Zellenpuffer 131 gespeichert wird, indem ein Schreibzeiger, der eine Schreibposition der Zelle anzeigt, die von der Pufferzeigerverwaltungseinheit 130 vorgegeben wird, erhalten wird, und die Zelle aus dem Zellenpuffer 131 gemäß einem Lesezeiger, der eine auszulesende Zelle anzeigt, der von der Pufferzeigerverwaltungseinheit 130 vorgegeben und zu der Ausgangsverbindung ausgegeben wird, ausgelesen wird. Die Pufferzeigerverwaltungseinheit 130 verwaltet einen Pufferzeiger, der eine Position jeder gespeicherten Zelle in dem Zellenpuffer 131 anzeigt.
  • Hier verwaltet die Pufferzeigerverwaltungseinheit 130 den Pufferzeiger für jede VC unter Verwendung einer VC-Tabelle. 4 zeigt ein altbekanntes Verwaltungsschema unter Verwendung der Zeigerkette.
  • Wenn die Zelle eingegeben wird, wird ein Pufferzeiger aus einem Kopf einer unbesetzten Kette als der Schreibzeiger genommen und an dem Ende der Kette für eine VC angebracht, die der Eingangszelle entspricht. Zu einer Zeit eines Ausgebens der Zelle wird eine VC, die die Zelle speichert, ordentlich ausgewählt, und ein Pufferzeiger an ihrem Kopf wird als ein Lesezeiger genommen. Als ein Verfahren zum fairen Auswählen einer VC zu der Zeit einer Zellenausgabe ist das Wettkampfschema bekannt.
  • Um eine VC mit dem Wettkampfschema auszuwählen, ist es notwendig, die sequentielle Suche durch die VC-Tabelle auszuführen, ob irgendeine Zelle vorhanden ist, die in dem Puffer gespeichert ist, beginnend von einer VC nächstgelegen zu einer VC, die zuvor ausgegeben wurde. Es kann notwendig sein, diese Suche für nahezu sämtliche VCs innerhalb einer Zellenperiode auszuführen, aber es sind Fälle vorhanden, bei welchen eine Anzahl von einzurichtenden VCs weit über mehreren Tausend ist, so dass es schwierig war, dieses Schema in der Praxis zu verwirklichen.
  • Als nächstes wird die herkömmliche Zellenpuffervorrichtung zum Ausführen der Prioritätssteuerung beschrieben werden.
  • 17 zeigt eine beispielhafte Konfiguration einer herkömmlichen Zellenpuffervorrichtung zum Ausführen der Prioritätssteuerung.
  • Diese Zellenpuffervorrichtung der 17 weist eine Klasse-1-Zelleneinheit 500-1 zum vorübergehenden Speichern von Zellen mit einer niedrigen Priorität, die die Verzögerung betrifft, und eine Klasse-2-Zellenspeichereinheit 500-2 zum vorübergehenden Speichern von Zellen mit einer hohen Priorität, die die Verzögerung betrifft, auf, und ihre Ausgänge werden durch eine Klassen-Multiplexier-FIFO 510 multiplexiert.
  • Eine Klassenverwaltungseinheit 520 empfängt eine Zellenanzahl Na in der Klassen-2-Zellenspeichereinheit 500-2 und eine Zellenanzahl Nb in der Klassen-Multiplexier-FIFO-510 als Eingänge und gibt Übertragungsbefehle zu entweder der Klasse-1 oder der Klasse-2 aus, so dass nur die Zellenspeichereinheit 500 einer Klasse, die den Übertragungsbefehl empfing, Zellen zu der Klassenmultiplexier-FIFO-510 übertragen wird.
  • Um das Betriebsverhalten der Prioritätssteuerung in dieser Zellenpuffervorrichtung der 17 zu verbessern, ist es erforderlich, eine Zellenanzahl, die in der Klassenmultiplexier-FIFO-510 gespeichert sind, gering zu halten, aber um den Durchsatz nicht abzusenken, ist es notwendig, die Übertragung so weit wie möglich anzuordnen, so dass die Klassenmultiplexier-FIFO-510 nicht leer wird (d.h. um so nicht den Unterlauf in der Klassenmultiplexier-FIFO-510 herbeizuführen). Zusätzlich wäre, wenn eine der Zellenspeichereinheiten 500 leer ist, wenn die Übertragung zu der leeren Zellenspeichereinheit 500 angeordnet wird (ein Fall, der als ein vergeblicher Befehl in der folgenden Beschreibung bezeichnet werden wird), eine Möglichkeit vorhanden, dass der Unterlauf herbeigeführt wird, so dass es notwendig ist, den Übertragungsbefehl bezüglich der Zellenspeichereinheit 500 auszugeben, in welcher eine gespeicherte Zelle existiert.
  • Gemäß dieser Strategien kann die Bedingung, durch welche die Klassenverwaltungseinheit 520 den Übertragungsbefehl zu der Klassen-2-Zellenspeichereinheit 502 ausgibt, gegeben werden durch:
    (Nb ≤ 1) und (Na ≥ 1),
    während die Bedingung für den Übertragungsbefehl zu der Klassen-1-Zellenspeichereinheit 500-1 gegeben werden kann, zu:
    (Nb ≤ 1) und (Na = 0).
  • Nun sei ein Fall betrachtet, bei welchem die Verzögerungszeiten für eine Übertragung einer Zellenanzahlinformation von der Zellenspeichereinheit 500 oder der Klassenmultiplexier-FIFO-510 zu der Klassenverwaltungseinheit 520, eine Übertragung des Übertragungsbefehls von der Klassenverwaltungseinheit 520 zu der Zellenspeichereinheit 500 und eine Zellenübertragung von der Zellenspeichereinheit 500 zu der Klassenmultiplexier-FIFO-520 existieren. In einem derartigen Fall treten herkömmlicherweise die folgenden Probleme auf.
  • Zunächst ist es aufgrund dieser Verzögerungszeiten unmöglich gewesen, dass die Klassenverwaltungseinheit 520 genau beurteilt, ob der Unterlauf in der Klassenmultiplexier-FIFO-510 herbeigeführt wird oder nicht. Aus diesem Grund ist in herkömmlicher Weise die Bedingung, den Unterlauf nicht herbeizuführen, durch den Vergleich einer Zellenanzahl innerhalb der Klassenmultiplexier-FIFO mit einem Schwellenwert gegeben worden, der für den Verzögerungszeitteil eingestellt ist. Folglich ist die mittlere Schlangenlänge der Klassenmultiplexier-FIFO-510 länger ausgeführt worden, und dies hat wiederum das Betriebsverhalten der Prioritätssteuerung abgesenkt.
  • Auch ist es wegen der Verzögerung einer Übertragung der Information von der Hochprioritäts-Klasse-2-Zellenspeichereinheit 500-2 unmöglich gewesen, genau zu beurteilen, ob die Klasse-2-Zellenspeichereinheit 500-2 leer wird oder nicht. Aus diesem Grund ist ein Fall aufgetreten, bei dem der vergebliche Befehl ausgegeben wird, indem ein tatsächlich leerer Zustand irrtümlicherweise als nicht leer beurteilt wird, oder ein Fall, bei welchem die Ausgabe der Niedrigprioritäts-Klasse-1-Zellen mit einer Priorität über der Hochprioritäts-Klasse-2-Zellen angeordnet wird, indem ein tatsächlich nicht leerer Zustand irrtümlicherweise als leer beurteilt wird. Folglich sind die Probleme eines Absenkens des Durchsatzes der Zellenpuffervorrichtung oder eines Absenkens des Betriebsverhaltens in herkömmlicher Weise aufgetreten.
  • Es sei darauf hingewiesen, dass die ähnlichen Probleme, die auch in verschiedenen anderen Zellenpuffervorrichtungen als der Zellenpuffervorrichtung zum Ausführen der Prioritätssteuerung auftreten können. In einer Zellenpuffervorrichtung, in welcher eine Verwaltungseinheit die Zellenübertragung unter einer Vielzahl von Puffern anordnet, sind nämlich, wenn die Verzögerungszeiten für eine Übertragung einer Pufferinformation zu der Verwaltungseinheit, eine Übertragung des Übertragungsbefehls von der Verwaltungseinheit zu dem Puffer und eine Zellenübertragung zwischen den Puffern existieren, die ähnlichen Probleme eines Absenkens des Durchsatzes der Zellenpuffervorrichtung oder eines Absenkens des Betriebsverhaltens in herkömmlicher Weise aufgetreten.
  • Wie beschrieben, gehen mit der herkömmlichen Zellenmultiplexiervorrichtung die folgenden beiden Probleme einher.
  • Zunächst wird, da ein Bedarf besteht, eine Mehrzahl von Zellenspeichereinheiten Klasse für Klasse in dem Ausgangspuffer bereitzustellen, die Verwirklichung des Ausgangspuffers schwierig, wenn eine Anzahl von Klassen zunimmt. Insbesondere ist es notwendig gewesen, dass die Eingangsrate des Ausgangspuffers N-Mal größer (wobei N eine Anzahl von Eingangsanschlüssen ist) als eine Rate in dem Eingangsanschluss ist, so dass dann, wenn eine Anzahl von Klassen und eine Anzahl von Eingangsanschlüssen groß sind, es schwierig gewesen ist, den Ausgangspuffer mit derartig komplizierten Funktionen zu verwirklichen.
  • Zweitens sind, da die herkömmliche Zellenmultiplexiervorrichtung die Eingangspuffer ungeachtet einer Anzahl von eingerichteten VCs gleich behandelt, Probleme aufgetreten, die die Robustheit in dem ABR-Dienst und die Fairness in dem UBR-Dienst betreffen.
  • Andererseits gehen mit der herkömmlichen Zellenpuffervorrichtung die folgenden Probleme einher.
  • Es ist nämlich, um eine VC durch das Rundlaufschema auszuwählen, erforderlich, die sequentielle Suche durch die VC-Tabelle auszuführen, ob irgendeine in dem Puffer gespeicherte Zelle vorhanden ist, beginnend von einer VC nächstgelegen zu einer VC, die zuvor ausgegeben wurde. Es kann erforderlich sein, diese Suche für nahezu sämtliche VCs innerhalb einer Zellenperiode auszuführen, aber es können Fälle vorhanden sein, bei welchen eine Anzahl von VCs, die einzurichten sind, weit über mehreren Tausend liegt, so dass es schwierig gewesen ist, dieses Schema in der Praxis zu verwirklichen.
  • In dieser Hinsicht war ein Vorschlag eines Algorithmus vorhanden, um dieses Problem zu lösen, wie in M. Shreedhar & G. Varghese: "Efficient Fair Queueing using Deficit Round Robin", ACM SIGCOMM '95, Seiten 231–242, August 1995, offenbart. Dieser Algorithmus, der als DRR bezeichnet wird, der in diesem Papier vorgeschlagen ist, verwaltet VCs die Zellenspeicher, unter Verwendung eines Konzepts einer aktiven Liste, so dass die Suche durch die VC-Tabelle zu einer Zeit einer Zellenausgabe nicht notwendig ist. Folglich ist es, auch wenn eine Anzahl von VCs, die eingerichtet werden sollen, erhöht wird, möglich, die Auswahl einer auszugebenden Zelle mit einer hohen Geschwindigkeit zum Zweck des pro-VC-fairen Einreihens (des fairen Einreihens pro VC) zu verwirklichen.
  • Jedoch weist dieser DRR-Algorithmus einen Nachteil dahingehend auf, dass eine Anzahl von Paketen proportional zu einem Wert eines Gewichts, der für jede VC eingerichtet ist, sofort ausgegeben werden wird, weil die Pakete in der VC-zu-VC-Klassifikation gespeichert sind, so dass der Ausgangsverkehr, der von diesem DRR-Algorithmus herrührt, sehr burst-artig sein wird.
  • Zusätzlich sind in einer Zellenpuffervorrichtung, bei welcher eine Verwaltungseinheit die Zellenübertragung zwischen einer Mehrzahl von Puffern anordnet, die Verzögerungszeiten für eine Übertragung einer Pufferinformation zu der Verwaltungseinheit, einer Übertragung des Übertragungsbefehls von der Verwaltungseinheit zu dem Puffer und einer Zellenübertragung zwischen den Puffern existieren, die Probleme eines Absenkens des Durchsatzes der Zellenpuffervorrichtung oder eines Absenkens des Betriebsverhaltens in herkömmlicher Weise aufgetreten.
  • Der Artikel "EXPANDABLE ATOM SWITCH ARCHITECTURE (XATOM) FOR ATM LANS" SERVING HUMANITY THROUGH COMMUNICATIONS. SUPERCOMM/ICC, NEW ORLEANS, 1. bis 5. Mai 1994, Vol. 1, 1. Mai 1994, von Fan R et al. offenbart eine Vermittungsstelle, die aus drei Eingangspuffern, einer Eingangspuffer-Steuereinheit (CUI), einem Zeitteilungsbus (TDBus), Ausgangspuffern und Ausgangspuffer-Steuereinheiten (CUO) besteht. Ein Gegendrucksignal wird von jedem Ausgangspuffer zu individuellen Eingangspuffern zurückgesendet, so dass kein Zellenverlust in dem Ausgangspuffer auftreten kann. Da jeder Ausgangspuffer der Vermittlungsstelle höchstens N-Zellen von Eingangsanschlüssen empfangen kann, sendet der Ausgangspuffer das Gegendrucksignal zu den Eingangsanschlüssen zurück, wenn weniger als N-(die Anzahl von Eingangsanschlüssen)-Zellen-verfügbarer Raum in dem Ausgangspuffer vorhanden ist. Mit dem Gegendrucksignal von einem Ausgangspuffer hält jeder Eingangspuffer, der Zellen für den Ausgangsanschluss aufweist, eine Übertragung der Zellen aufrecht.
  • Die mehrfachen Schlangen teilen den gleichen Eingangspuffer. Jeder Eingangspuffer weist N+ 2 logische Schlangen für eine garantierte Klasse auf, eine Best-Effort-Multicast-Klasse und eine Best-Effort-Singlecast-Klasse für einzelne Ausgangsanschlüsse auf. Die garantierte Klassenschlange schließt einen garantierten Multicast-Verkehr ein. Es sind N zugeordnete Schlangen für Best-Effort-Singlecast-Klassen für den einzelnen Ausgangsanschluss vorhanden, um ein HOL-Blockieren zu verhindern. Wie in Abschnitt 4 dargestellt, ist eine derartige Schlangentrennung für den garantierten Klassenverkehr nicht erforderlich, wenn die garantierte Klasse eine Spitzenbandbreite auf den Verbindungen reserviert. Eine höchste Priorität wird für die garantierte Klassenschlange vorgegeben, und eine mittlere Priorität wird für die Best-Effort-Multicast-Klasse vorgegeben. Die CUI verwaltet eine Ablaufplanung der Eingangsschlangen und aktiviert eine Zellenübertragung zu geeigneten Ausgangsanschlüssen aufgrund der Gegendrucksignale von einzelnen Ausgangsschlangen.
  • Jede Eingangspuffer-Steuereinheit erreicht die Ablaufplansteuerung für einen einzelnen Eingangspuffer gemäß G(k), M(k) und B(k) Vektoren. Die CUI schlägt die Gegendrucksignal-Vektoren, die von einzelnen Ausgangspuffern gesendet werden, nach und wählt eine der Zellen aus dem Kopf bei den mehrfachen Schlangen gemäß ihrem Prioritätspegel aus. Unter Schlangen mit gleicher Priorität, die zu dem Best-Effort-Single-Cast-Dienst gehören und die für unterschiedliche Ausgangsanschlüsse bestimmt sind, wird ein Rundlauf- oder ein Schwellen-basierter Zellenauswahl-Algorithmus ausgeführt. Die ausgewählte Zelle wird von jedem Eingangsanschluss zu Zielausgangsanschlüssen übertragen. Da jedweder Ausgangspuffer, der in einem Bereitschaftsstatus ist, höchstens N Zellen zu einer Zelleneinheitszeit empfangen kann, tritt an den Ausgangspuffern keine Konkurrenz auf. Dieser Gegendruck-Steueraufbau ermöglicht es, dass einzelne Eingangspuffer-Steuereinheiten CUI(k) unabhängig arbeiten, ohne zwischen ihnen eine Steuerung auszuhandeln.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist deswegen eine Aufgabe der vorliegenden Erfindung, eine Paketübertragungsvorrichtung und ein Paketübertragungsverfahren unter Verwendung der Prioritätssteuerung zwischen Klassen bereitzustellen, die auch dann einfach zu verwirklichen sind, wenn eine Anzahl von Eingangsanschlüssen groß ist.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Paketübertragungsvorrichtung und ein Paketübertragungsverfahren bereitzustellen, die in der Lage sind, ein pro-VC-faires Einreihen auszuführen, das die Robustheit in dem ABR-Dienst und die Fairness in dem UBR-Dienst verwirklicht.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Paketübertragungsvorrichtung und ein Paketübertragungsverfahren bereitzustellen, die in der Lage sind, das pro-VC-faire Einreihen auszuführen, das auf einfache Weise verwirklicht werden kann, ohne durch eine obere Grenze von VCs, die eingerichtet werden können, beeinträchtigt zu sein.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Paketübertragungsvorrichtung und ein Paketübertragungsverfahren bereitzustellen, die in der Lage sind, ein Absenken des Durchsatzes oder des Betriebsverhaltens der Prioritätssteuerung zu verhindern, wenn eine Verwaltungseinheit die Zellenübertragung zwischen einer Mehrzahl von Puffern anordnet, auch wenn die Verzögerungszeiten für eine Übertragung einer Pufferinformation zu der Verwaltungseinheit, einer Übertragung des Übertragungsbefehls von der Verwaltungseinheit zu dem Puffer und einer Zellenübertragung zwischen den Puffern existieren.
  • Gemäß der folgenden Erfindung ist eine Paketübertragungsvorrichtung, wie sie in dem beigefügten, unabhängigen Anspruch 1 definiert ist, und ein Verfahren zur Paketübertragung, wie es in dem beigefügten, unabhängigen Anspruch 16 definiert ist, bereitgestellt. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung offensichtlich werden, die in Verbindung mit den zugehörigen Zeichnungen zu nehmen ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • 1 ein schematisches Diagramm eines herkömmlichen Netzsystems, das ein Beispiel einer unfairen Bandbreitenzuordnung in dem UBR-Dienst veranschaulicht;
  • 2 ein schematisches Blockdiagramm einer herkömmlichen Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen;
  • 3 ein schematisches Blockdiagramm einer herkömmlichen Zellenmultiplexiervorrichtung;
  • 4 ein schematisches Blockdiagramm einer herkömmlichen FIFO zum Verwirklichen des pro-VC-fairen Einreihens;
  • 5 ein Blockdiagramm einer Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen gemäß der ersten Ausführungsform der vorliegenden Erfindung;
  • 6 ein Blockdiagramm einer weiteren möglichen Konfiguration eines Ausgangspuffers in der Zellenmultiplexiervorrichtung der 5;
  • 7 ein Blockdiagramm nach einer weiteren möglichen Konfiguration eines Ausgangspuffers in der Zellenmultiplexiervorrichtung der 5;
  • 8 ein Blockdiagramm einer Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens gemäß der zweiten Ausführungsform der vorliegenden Erfindung;
  • 9 ein Blockdiagramm einer Zellenpuffervorrichtung zum Ausführen des pro-VC-fairen Einreihens gemäß der dritten Ausführungsform der vorliegenden Erfindung;
  • 10 ein Diagramm, das ein Teil eines beispielhaften Datenaufbaus, der in der Zellenpuffervorrichtung der 9 zu verwenden ist;
  • 11 ein Diagramm, das einen weiteren Teil eines beispielhaften Datenaufbaus zeigt, der in der Zellenpuffervorrichtung der 9 zu verwenden ist;
  • 12 ein Diagramm zum Erläutern des pro-Fluss-fairen Einreihens, das gemäß der vierten Ausführungsform der vorliegenden Erfindung zu verwirklichen ist;
  • 13 ein schematisches Blockdiagramm zum Erläutern von Betriebsschritten in einer Paketpuffervorrichtung zum Verwirklichen des pro-Fluss-fairen Einreihens gemäß der vierten Ausführungsform der vorliegenden Erfindung;
  • 14 ein Blockdiagramm einer Zellenpuffervorrichtung zum Korrigieren einer Zellenanzahlinformation gemäß der fünften Ausführungsform der vorliegenden Erfindung;
  • 15 ein Diagramm zum Erläutern des Betriebs der Zellenpuffervorrichtung der 14 gemäß der fünften Ausführungsform der vorliegenden Erfindung;
  • 16 ein Zeitgebungsdiagramm zum Erläutern des Betriebs der Zellenpuffervorrichtung der 14 gemäß der fünften Ausführungsform der vorliegenden Erfindung; und
  • 17 ein schematisches Blockdiagramm einer herkömmlichen Zellenpuffervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Gemäß einem Aspekt ist eine Paketübertragungsvorrichtung bereitgestellt, umfassend: eine Mehrzahl von Eingangspuffern zum vorübergehenden Speichern von Paketen, die zu einer Mehrzahl von Klassen gehören; eine Steuereinheit zum Steuern der Eingangspuffer; und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus den Eingangspuffern ausgegeben werden; wobei jeder Eingangspuffer eine Paketspeichereinrichtung zum vorübergehenden Speichern von eingegebenen Paketen Klasse für Klasse und eine Ausgangseinrichtung zum Ausgeben von Paketen einer ausgewählten Klasse, die durch die Steuereinheit spezifiziert ist, aus der Paketspeichereinrichtung zu dem Ausgangsanschluss hin aufweist; und die Steuereinheit die ausgewählte Klasse von Paketen, die aus den Puffern auszugeben sind, gemäß einem Paketspeicherzustand in der Paketspeichereinrichtung der Eingangspuffer als Ganzes für jede Klasse bestimmt, und einen Befehl, der die ausgewählte Klasse spezifiziert, zu den Eingangspuffern ausgibt.
  • Gemäß einem weiteren Aspekt ist eine Paketübertragungsvorrichtung bereitgestellt, umfassend: eine Mehrzahl von Eingangspuffern zum vorübergehenden Speichern von Paketen; eine Steuereinheit zum Steuern der Eingangspuffer; und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus den Eingangspuffern ausgegeben werden; wobei jeder Eingangspuffer eine Paketsteuereinrichtung zum vorübergehenden Speichern von eingegebenen Paketen, eine Auswahleinrichtung zum Auswählen von aus der Speichereinrichtung auszugebenden Paketen, und eine Ausgabeeinrichtung zum Ausgeben von Paketen, die von der Auswahleinrichtung ausgewählt sind, zu dem Ausgangsanschluss hin aufweist; und die Steuereinheit einen Befehl, der eine Auswahl von Paketen durch die Auswahleinrichtungen der Eingangspuffer gemäß einem Ausgangszustand von Paketen, die zuvor von den Auswahleinrichtungen in den Eingangspuffern ausgewählt sind, als Ganzes anordnet.
  • Gemäß einem weiteren Aspekt ist eine Paketübertragungsvorrichtung bereitgestellt, umfassend: einen Puffer zum vorübergehenden Speichern von eingegebenen Paketen; eine Steuereinheit zum Steuern des Puffers; und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus dem Puffer ausgegeben werden; wobei die Steuereinheit eine Verwaltungseinrichtung zum Verwalten von Paketen, die in dem Puffer gespeichert sind, hinsichtlich einer Mehrzahl von Gruppen, eine Verteilungseinrichtung zum Verteilen jedes Pakets, das in den Puffer eingegeben ist, in eine der Mehrzahl von Gruppen, so dass Pakete, die fair zwischen Flüssen, zu welchen die Pakete gehören, verteilt werden, und eine Steuereinrichtung zum Anordnen, dass der Puffer Pakete, die zu einer der Mehrzahl von Gruppen gehören, die von der Verwaltungseinrichtung verwaltet werden, zu dem Ausgangsanschluss hin ausgibt.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Paketübertragung in einer Paketübertragungsvorrichtung bereitgestellt, die aus einer Mehrzahl von Eingangspuffern zum vorübergehenden Speichern von Paketen, die zu einer Mehrzahl von Klassen gehören, einer Steuereinheit zum Steuern der Eingangspuffer und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus den Eingangspuffern ausgegeben werden, gebildet ist, wobei das Verfahren die Schritte umfasst: vorübergehendes Speichern von eingegebenen Paketen Klasse für Klasse in jeden Eingangspuffer; Bestimmen einer ausgewählten Klasse von Paketen, die aus den Eingangspuffern auszugeben sind, gemäß einem Paketspeicherzustand in den Eingangspuffern als Ganzes für jede Klasse, und Ausgeben eines Befehls, der die ausgewählte Klasse spezifiziert, aus der Steuereinheit in die Eingangspuffer; und Ausgeben von vorübergehend gespeicherten Paketen der ausgewählten Klasse, die durch den Befehl der Steuereinheit spezifiziert sind, aus jedem Eingangspuffer zu dem Ausgangsanschluss hin.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Paketübertragung in einer Paketübertragungsvorrichtung bereitgestellt, die aus einer Mehrzahl von Eingangspuffern zum vorübergehenden Speichern von Paketen, einer Steuereinheit zum Steuern der Eingangspuffer und zumindest einem Ausgangsanschluss zum Übertragen von Paketen, die aus den Eingangspuffern ausgegeben werden, gebildet ist, wobei das Verfahren die Schritte umfasst: vorübergehendes Speichern von eingegebenen Paketen in jeden Eingangspuffer; Auswählen von aus jedem Eingangspuffer auszugebenden Paketen unter vorübergehend gespeicherten Paketen; Ausgeben eines Befehls, der eine Auswahl von Paketen durch den Auswahlschritt aus der Steuereinheit in die Eingangspuffer gemäß einem Ausgangszustand von Paketen, die zuvor durch den Auswahlschritt in den Eingangspuffern ausgewählt sind, als Ganzes anordnet; und Ausgeben vorübergehend gespeicherter Pakete, die durch den Auswahlschritt ausgewählt sind, aus jedem Eingangspuffer zu dem Ausgangsanschluss hin.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Paketübertragung in einer Paketübertragungsvorrichtung bereitgestellt, die aus einem Puffer zum vorübergehenden Speichern von eingegebenen Paketen, einer Steuereinheit zum Steuern des Puffers und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus dem Puffer ausgegeben werden, gebildet ist, wobei das Verfahren die Schritte umfasst: Verwalten von Paketen, die in dem Puffer gespeichert sind, hinsichtlich einer Mehrzahl von Gruppen; Verteilen jedes Pakets, das in dem Puffer eingegeben ist, in die Mehrzahl von Gruppen, so dass Pakete zwischen Flüssen, zu welchen Pakete gehören, fair verteilt werden; und Ausgeben von Paketen, die zu einem der Mehrzahl von Gruppen gehören, die von dem Verwaltungsschritt verwaltet werden, aus dem Puffer zu dem Ausgangsanschluss hin.
  • Gemäß einem weiteren Aspekt ist eine Paketübertragungsvorrichtung bereitgestellt, umfassend: zumindest einen Puffer zum vorübergehenden Speichern von eingegebenen Paketen; und eine Steuereinheit zum Steuern einer Paketübertragung in den Puffer durch ein Ausgeben eines Paketübertragungsbefehls zu dem Puffer gemäß einem Log von Paketübertragungsbefehlen bezüglich des Puffers und einem Paketspeicherzustand des Puffers.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Paketübertragung in einer Paketübertragungsvorrichtung bereitgestellt, die durch zumindest einen Puffer und eine Steuereinheit zum Steuern einer Paketübertragung in den Puffer gebildet ist, wobei das Verfahren die Schritt umfasst: vorübergehendes Speichern von eingegebenen Paketen in den Puffer; und Steuern einer Paketübertragung in den Puffer durch ein Ausgeben eines Paketübertragungsbefehls aus der Steuereinheit in den Puffer gemäß einem Log von Paketübertragungsbefehlen bezüglich des Puffers und einem Paketspeicherzustand des Puffers.
  • Nun werden verschiedene Ausführungsformen einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben werden.
  • 0. Definition von Ausdrücken
  • Zunächst werden die beim Beschreiben verschiedener Ausführungsformen der vorliegenden Erfindung verwendeten Ausdrücke definiert werden.
  • (1) Ein Paket:
  • Ein Paket ist ein Konzept, das eine Zelle einer festen Länge umfasst und ist als eine Verallgemeinerung einer Zelle zu verstehen. In der folgenden Beschreibung kann ein Paket entweder eines einer variablen Länge oder eines einer festen Länge sein. Auch bezieht sich die folgende Beschreibung explizit auf eine Zelle nur zum Zweck der Vereinfachung der Erläuterung, und die folgende Beschreibung sollte nicht als einschränkend für den Umfang der Erfindung auf genau einen Fall eines Verwendens einer Zelle angesehen werden.
  • (2) Eine Paket-(Zellen)-Puffervorrichtung und eine Paket-(Zellen)-Multiplexiervorrichtung:
  • Eine Paketpuffervorrichtung ist eine Vorrichtung, die zumindest einen Eingangsanschluss, zumindest einen Ausgangsanschluss und zumindest einen Puffer aufweist, wobei ein Paket, das von dem Eingangsanschluss eingegeben wird, in dem Puffer gemäß Bedarf vorübergehend gespeichert wird und zu dem Ausgangsanschluss ausgegeben wird. Insbesondere wird eine Paketpuffervorrichtung, die ein Paket zu dem Ausgangsanschluss gemäß dem Ziel eines Pakets ausgibt, als eine Paketvermittlungseinheit bezeichnet werden. Ein Puffer, der einen Teil einer großskaligen Paketpuffervorrichtung ausbildet, kann auch als eine Paketpuffervorrichtung angesehen werden.
  • Eine Paketmultiplexiervorrichtung ist eine Art einer Paketpuffervorrichtung, die nur einen Paketausgangsanschluss aufweist. Wenn die Ausgangsanschlüsse einer Paketpuffervorrichtung getrennt betrachtet werden, kann eine Paketpuffervorrichtung als eine Kombination einer Mehrzahl von Paketmultiplexiervorrichtungen mit gemeinsamen Eingangsanschlüssen angesehen werden. Im Folgenden ist die Beschreibung, die auf eine Paketmultiplexiervorrichtung gerichtet ist, gleichermaßen anwendbar auf eine Paketpuffervorrichtung.
  • Eine Paketübertragungsvorrichtung ist ein generischer Ausdruck, der sowohl eine Paketpuffervorrichtung als auch eine Paketmultiplexiervorrichtung umfasst.
  • Es sei darauf hingewiesen, dass im Folgenden die Beschreibung, die auf einem spezifischen Beispiel einer Multiplexiervorrichtung oder einer Puffervorrichtung beruht, nicht nur auf eine Multiplexiervorrichtung oder eine Puffervorrichtung alleine anwendbar ist, und sie sollte als anwendbar auf eine Paketübertragungsvorrichtung im Allgemeinen angesehen werden.
  • 1. Prioritätssteuerung zwischen Klassen
  • Nun wird unter Bezugnahme auf 5 bis 7 die erste Ausführungsform einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung im Detail beschrieben werden. Diese erste Ausführungsform ist auf einen Fall einer Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen gerichtet.
  • 5 zeigt eine beispielhafte Konfiguration einer Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen gemäß dieser ersten Ausführungsform.
  • Die Zellenmultiplexiervorrichtung der 1 umfasst: eine Mehrzahl von Eingangspuffern 10, die jeweils entsprechend einer Mehrzahl von Eingangsanschlüssen #1 bis #N bereitgestellt ist, zum vorübergehenden Speichern von Zellen, die von den jeweiligen Eingangsanschlüssen #1 bis #N eingegeben werden; einen Ausgangspuffer 11 zum Multiplexieren von Zellen, die aus den Eingangspuffern 10 ausgegeben werden, und zum Ausgeben multiplexierter Zellen zu einem Ausgangsanschluss; und eine Klassenverwaltungseinheit 12 zum Verwalten sämtlicher der Eingangspuffer 10.
  • Jeder Eingangspuffer 10 weist eine Mehrzahl von Klasse-für-Klasse-Zellenspeichereinheiten 13 (eine Klasse-1-Zellenspeichereinheit 13a, eine Klasse-2-Zellenspeichereinheit 13b und eine Klasse-3-Zellenspeichereinheit 13c) für eine Mehrzahl von Klassen (Klasse-1, Klasse-2 und Klasse-3) von eingegebenen Zellen und eine Klassenmultiplexier-FIFO 14 zum Multiplexieren von Zellen, die aus den Zellenspeichereinheiten 13 ausgegeben werden, und zum Ausgeben der multiplexierten Zellen zu dem Ausgangspuffer 11 auf.
  • Die Klassenverwaltungseinheit 12 erhält eine Zellenanzahl in eine Zellenspeichereinheit für jede Klasse (Nk1, Nk2 und Nk3) für die Zellenspeichereinheiten 13 der Eingangspuffer 10 und eine Zellenanzahl in Klassenmultiplexier-FIFOs (Nm) für die Klassenmultiplexier-FIFOs 14 der Eingangspuffer 10 bestimmt einen Übertragungsklassenbefehl aus diesen Anzahlen gemäß einem vorbestimmten Algorithmus und meldet den bestimmten Übertragungsklassenbefehl zu sämtlichen der Eingangspuffer 10.
  • Wenn der Übertragungsklassenbefehl von der Klassenverwaltungseinheit 12 gemeldet ist, überträgt die Zellenspeichereinheit 13 einer Klasse, die durch den Übertragungsklassenbefehl spezifiziert ist, Zellen zu der Klassenmultiplexier-FIFO 14 in jeden Eingangspuffer 10. Die Klassenmultiplexier-FIFO 14 jedes Eingangspuffers 10 gibt Zellen zu dem Ausgangspuffer 11 unter Steuerung eines Gegendrucksignals aus, das einen Stauzustand innerhalb des Ausgangspuffers 11 anzeigt.
  • Jede Klasse-für-Klasse-Zellenspeichereinheit 13 kann durch einen FIFO-(First In First Out)-Speicher beispielsweise gebildet werden.
  • Es sei darauf hingewiesen, dass 5 einen beispielhaften Fall eines Verwendens von drei Klassen (Klasse-1 bis Klasse-3) zeigt, aber diese erste Ausführungsform ist wirksam betriebsfähig, ungeachtet einer Anzahl einbezogener Klassen.
  • Auch ist, indem die Konfiguration der 5 als ein Ausgangsanschlussabschnitt einer Zellenvermittlungseinheit betrachtet wird, diese erste Ausführungsform ebenso gleichermaßen anwendbar auf eine Zellenvermittlungseinheit.
  • Zusätzlich weist der Ausgangspuffer 11, der in 5 gezeigt ist, eine Konfiguration auf, die durch eine einzige FIFO 15 gebildet ist, aber jedwede andere gewünschte Konfiguration kann für diesen Ausgangspuffer 11 verwendet werden, solange es möglich ist zu garantieren, dass die Zellen der Klassenmultiplexier-FIFOs, die zu dem Ausgangsanschluss innerhalb einer endlichen Zeit unter jedweden Bedingungen ausgegeben werden können.
  • Beispielsweise ist es möglich, eine Konfiguration zu verwenden, die überhaupt keinen Puffer aufweist, aber die eine Funktion aufweist, Zellen von den Klassenmultiplexier-FIFOs 14 zu der Zeit eines Ausgebens von Zellen zu dem Ausgangsanschluss zu vermitteln. Es ist auch möglich, eine Konfiguration zu verwenden, die in der untenbeschriebenen 6 oder 7 gezeigt ist.
  • Ein Ausgangspuffer 16, der in 6 gezeigt ist, weist eine Konfiguration auf, die durch FIFOs in mehrfachen Stufen (zwei Stufen in 6) gebildet ist, wobei jede FIFO ein Gegendrucksignal für eine FIFO einer unmittelbar vorangehenden Stufe bereitstellt.
  • In dem Ausgangspuffer 16 der 6 sind nämlich die Eingangsverbindungen #1 bis #N, die jeweils entsprechend den Ausgängen der Eingangspuffer 10 bereitgestellt sind, mit einer Mehrzahl von FIFO 18 auf einer Eingangsseite (vordere Stufe) verbunden, und Ausgänge dieser FIFOs 18 sind mit einer FIFO 19 einer Ausgangsseite (hintere Stufe) verbunden. Das Gegendrucksignal, das von der FIFO 19 der hinteren Stufe gemäß ihrem Stauzustand ausgegeben wird, wird jeder einer Mehrzahl von FIFOs 18 der vorderen Stufe bereitgestellt, und das Gegendrucksignal, das aus jeder einer Mehrzahl von FIFOs 18 der vorderen Stufe gemäß ihrem Stauzustand ausgegeben wird, wird eine Mehrzahl von Klassenmultiplexier-FIFOs 14 der Eingangspuffer 10, die damit verbunden sind, bereitgestellt.
  • Andererseits weist ein Ausgangspuffer 17, der in 7 gezeigt ist, eine Konfiguration auf, die durch FIFOs in mehrfachen Stufen (zwei Stufen in 7) auf ähnliche Weise wie der Ausgangspuffer 16 der 6 gebildet ist, aber unterscheidet sich von dem Ausgangspuffer 16 der 6 darin, dass eine Reihenlängeninformation einer Mehrzahl von FIFOs 18 der Eingangsseite (oder eine Reihenlängeninformation sämtlicher FIFOs) zu einer Gegendruckerzeugungseinheit 20 übertragen wird, und diese Gegendruckerzeugungseinheit 20 erzeugt ein Gegendrucksignal aus der Reihenlängeninformation und übergibt das erzeugte Gegendrucksignal sämtlichen der Eingangsverbindungen.
  • Beispielsweise wird eine Gesamtsumme sämtlicher Reihenlängen mit einem Schwellenwert verglichen, und wenn die Gesamtsumme sämtlicher Reihenlängen den Schwellenwert überschreitet, wird eine Eingabe in den Ausgangspuffer 17 durch das Gegendrucksignal verhindert. Es sei darauf hingewiesen, dass die Gegendruckerzeugungseinheit 20 innerhalb der Klassenverwaltungseinheit 12 bereitgestellt sein kann, anstatt dass sie innerhalb des Ausgangspuffers 17 bereitgestellt ist, wie in 7 gezeigt.
  • Gemäß der Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen in dieser ersten Ausführungsform besteht kein Bedarf, Klassen an dem Ausgangspuffer zu unterscheiden, der einen hohen Durchsatz erfordert, so dass die Verwirklichung der Zellenmultiplexiervorrichtung einfacher wird. Hier besteht ein Bedarf, dass die Eingangspuffer Zellen Klasse für Klasse verwalten, aber der Eingangspuffer erfordert nur einen niedrigen Durchsatz, so dass die einfache Verwirklichung der Zellenmultiplexiervorrichtung noch möglich ist.
  • Nun wird die Konfiguration der Zellenmultiplexiervorrichtung der 5 detaillierter beschrieben werden.
  • Eine Zellenanzahl in Zellenspeichereinheiten für jede Klasse, die in die Klassenverwaltungseinheit 12 eingegeben wird, kann eine Gesamtsumme von Zellenanzahlen in den Zellenspeichereinheiten für jede Klasse an sämtlichen Eingangspuffern 10 sein. Auf ähnliche Weise kann eine Zellenanzahl in Klassenmultiplexier-FIFOs, die in die Klassenverwaltungseinheit 12 eingegeben wird, eine Gesamtsumme von Zellenanzahlen in den Klassenmultiplexier-FIFOs an sämtlichen der Eingangspuffer 10 sein. Hier kann die Berechnung einer Gesamtsumme entweder innerhalb oder außerhalb der Klassenverwaltungseinheit 12 ausgeführt werden.
  • Die Zellenanzahlinformation wird dann in der Klassenverwaltungseinheit 12 mit einem relativ kleinen Schwellenwert verglichen. Dieser Schwellenwert kann als ein fester Wert oder ein dynamisch variabler Wert in Abhängigkeit von dem in der Klassenverwaltungseinheit 12 verwendeten Algorithmus vorgegeben werden. In einem Fall eines Verwendens des Schwellenwerts, der als ein fester Wert vorgegeben ist, ist es auch möglich, ein Vergleichsergebnis in die Klassenverwaltungseinheit 12 anstelle der Zellenanzahlinformation einzugeben.
  • Auch wenn Werte größer als ein bestimmter Wert keine Wirkung auf die Verarbeitung der Klassenverwaltungseinheit 12 aufweisen, kann diese Tatsache benutzt werden, Werte zu codieren, indem ein Code für sämtliche dieser Werte größer als ein bestimmter Wert zugewiesen wird. Beispielsweise kann die Codierung unter Verwendung von vier Bits auf Werte einer Zellenanzahl durch ein Einstellen von (000) = 0, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, und (1111) = jedwede Anzahl größer als oder gleich 15 angewandt werden. Wenn eine derartige Codierung verwendet wird, besteht ein Vorteil darin, dass eine Eingangsinformation, die in die Klassenverwaltungseinheit 12 eingegeben wird, komprimiert werden kann, und deswegen wird die Implementierung der Klassenverwaltungseinheit 12 einfacher.
  • Indem mit einer Gesamtsumme von Zellenanzahlen auf diese Weise umgegangen wird, ist es möglich, die Implementierung der Klassenverwaltungseinheit 12 zu vereinfachen. Es sei hier darauf hingewiesen, dass der gleiche Übertragungsklassenbefehl sämtlichen der Eingangspuffer 10 weitergeleitet werden muss, so dass kein Bedarf besteht, dass die Klassenverwaltungseinheit 12 den einzelnen Einsatzpuffer 10 erkennt. Folglich besteht ein Vorteil darin, dass eine Komplexität, die mit der Implementierung der Zellenmultiplexiervorrichtung einhergeht, unverändert ist, auch wenn eine Anzahl von Eingangsanschlüssen erhöht wird.
  • Was den Algorithmus betrifft, der in der Klassenverwaltungseinheit 12 zu verwenden ist, um den Übertragungsklassenbefehl zu verwenden, kann beispielsweise folgender Algorithmus verwendet werden.
    • (1) Ob ein Unterlauf in der Klassenmultiplexier-FIFO herbeigeführt wird oder nicht, wird gemäß einer Zellenanzahl in Klassenmutliplexier-FIFOs beurteilt, und nur wenn beurteilt wird, dass eine Möglichkeit für einen Unterlauf herbeigeführt wird, wird der Übertragungsklassenbefehl zum Verhindern dieses Unterlaufs ausgegeben. Hier bezieht sich der Unterlauf auf einen Zustand, in welchem eine Zellenanzahl in der Klassenmultiplexier-FIFO Null wird, so dass Zellen der Klasse-für-Klasse-Zellenspeichereinheit, die normalerweise ausgegeben werden sollten, nicht effektiv ausgegeben werden können.
    • (2) Klassen, für welche die Zellen in den Eingangspuffern 10 gespeichert werden, werden als Kandidaten für den Übertragungsklassenbefehl gemäß einer Zellenanzahl in Zellenspeichereinheiten für jede Klasse ausgewählt.
    • (3) Wenn ein Übertragungsklassenbefehl ausgegeben werden kann, wird eine Klasse mit dem höchsten Prioritätspegel unter den Klassen, die Kandidaten für den Übertragungsklassenbefehl sind, bestimmt, und der Übertragungsklassenbefehl für diese Klasse wird ausgegeben.
  • Die Klassenverwaltungseinheit 12 kann den Übertragungsklassenbefehl ausgeben, ohne direkt einen Zustand des Ausgangspuffers 11 und das Gegendrucksignal zu berücksichtigen. Aus diesem Grund sind Fälle vorhanden, bei welchen der Zellenübertragungsdurchsatz, der durch den Übertragungsklassenbefehl spezifiziert wird, den Zellenausgangsdurchsatz der Zellen von den Eingangspuffern 10 überschreitet, und die Klassenmultiplexier-FIFO 14 ist bereitgestellt, um diese Differenz vorübergehend zu absorbieren. Durch ein Lernen einer Zellenanzahl in den Klassenmultiplexier-FIFOs führt die Klassenverwaltungseinheit 12 eine Steuerung so aus, dass der Zellenübertragungsdurchsatz, der durch den Übertragungsklassenbefehl spezifiziert wird, nicht den Zellenausgangsdurchsatz der Zellen von den Eingangspuffern 10 andauernd für eine lange Zeit überschreitet.
  • Ferner kann durch ein Lernen einer Anzahl von übertragenen Zellen für jede Klasse (x), d.h. einer Gesamtzahl von Zellen, die tatsächlich von den Klassen-für-Klassen-Zellenspeichereinheiten 13 zu den Klassenmultiplexier-FIFOs 14 bei sämtlichen der Eingangspuffer 10 übertragen werden, die Klassenverwaltungseinheit 12 eine genauere Prioritätssteuerung zwischen Klassen ausführen.
  • In diesem Fall kann als der Algorithmus, der in der Klassenverwaltungseinheit 12 zu verwenden ist, um den Übertragungsklassenbefehl zu bestimmen, der folgende Algorithmus beispielsweise verwendet werden.
    • (1) Ob ein Unterlauf in der Klassenmultiplexier-FIFO herbeigeführt wird oder nicht, wird gemäß einer Zellenanzahl in Klassenmultiplexier-FIFOs beurteilt, und nur wenn beurteilt wird, dass eine Möglichkeit vorhanden ist, dass ein Unterlauf herbeigeführt wird, wird der Übertragungsklassenbefehl zum Verhindern dieses Unterlaufs ausgegeben. Hier bezieht sich der Unterlauf auf einen Zustand, bei welchem eine Zellenanzahl in der Klassenmultiplexier-FIFO Null wird, so dass Zellen der Klasse-für-Klasse-Zellenspeichereinheit, die normalerweise ausgegeben werden sollten, nicht effektiv ausgegeben werden können.
    • (2) Klassen, für welche die Zellen in den Eingangspuffern 10 gespeichert sind, werden als Kandidaten für den Übertragungsklassenbefehl gemäß einer Zellenanzahl in Zellenspeichereinheiten für jede Klasse ausgewählt.
    • (3) Eine Klasse, die einen Durchsatz höher als einen vorgegebenen Durchsatz dieser Klasse gemäß einer Anzahl von übertragenen Zellen für jede Klasse aufweist, wird bestimmt, und ein Prioritätspegel zum Ausgeben des Übertragungsklassenbefehls für diese Klasse wird gemäß der Tatsache abgesenkt, wie hoch der gegenwärtige Durchsatz ist, oder diese Klasse wird von den Kandidaten für den Übertragungsklassenbefehl entfernt.
    • (4) Eine Klasse, die einen Durchsatz niedriger als ein vorgegebener Durchsatz dieser Klasse gemäß einer Anzahl von übertragenen Zellen für jede Klasse aufweist, wird bestimmt, und ein Prioritätspegel zum Ausgeben des Übertragungsklassenbefehls für diese Klasse wird gemäß der Tatsache angehoben, wie niedrig der gegenwärtige Durchsatz ist.
    • (5) Wenn ein Übertragungsklassenbefehl ausgegeben werden kann, wird eine Klasse mit dem höchsten Prioritätspegel unter den Klassen, die Kandidaten für den Übertragungsklassenbefehl sind, bestimmt, und der Übertragungsklassenbefehl für diese Klasse wird ausgegeben.
  • Wie beschrieben, besteht gemäß der Zellenmultiplexiervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen dieser ersten Ausführungsform kein Bedarf, Klassen an dem Ausgangspuffer zu unterscheiden, der einen hohen Durchsatz erfordert, so dass die Verwirklichung der Zellenmultiplexiervorrichtung auch dann einfacher wird, wenn eine Anzahl von Eingangsanschlüssen groß ist.
  • 2. Faires Einreihen
  • Als nächstes wird unter Bezugnahme auf 8 die zweite Ausführungsform einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung im Detail beschrieben werden. Diese zweite Ausführungsform ist auf einen Fall einer Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens gerichtet, indem ein Konzept eines "Korbs" (oder "kago" auf Japanisch) verwendet wird.
  • 8 zeigt eine beispielhafte Konfiguration einer Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens gemäß dieser zweiten Ausführungsform.
  • Die Zellenmultiplexiervorrichtung der 8 umfasst: eine Mehrzahl von Eingangspuffern 210, die jeweils entsprechend einer Mehrzahl von Eingangsanschlüssen #1 bis #N zum vorübergehenden Speichern von Zellen, die von den jeweiligen Eingangsanschlüssen #1 bis #N eingegeben werden, bereitgestellt sind; und einen Ausgangspuffer 211 zum Multiplexieren von Zellen, die von den Eingangspuffern 210 ausgegeben werden, und zum Ausgeben multiplexierter Zellen zu einem Ausgangsanschluss, wobei die Ausgangszellen der Eingangspuffer 210 durch das Gegendrucksignal gemäß dem Stauzustand in dem Ausgangspuffer 211 gesteuert werden.
  • Zusätzlich weist diese Zellenmultiplexiervorrichtung der 8 eine Korbverwaltungseinheit 212 zum Verwalten einer Ausgabe zugelassenen Zellensatzes auf. In dieser zweiten Ausführungsform werden unter den Zellen, die in den Eingangspuffern 210 gespeichert sind, ein Satz von Zellen, von denen zugelassen ist, dass sie ausgegeben werden (für eine Ausgabe zugelassenen Zellensatzes) als ein Korb bezeichnet werden. Die Eingangspuffer 210 wählen die Ausgangszellen aus dem Korb 213 aus.
  • Die Korbverwaltungseinheit 212 empfängt eine Zellenanzahl, die in dem Korb 213 enthalten sind, als eine Zellenanzahl innerhalb des Korbs (Nk), bestimmt einen Zellenübertragungsbefehl für den Korb 213 aus dieser Anzahl gemäß einem vorgegebenen Algorithmus und meldet den bestimmten Zellenübertragungsbefehl zu sämtlichen der Eingangspuffer 210.
  • Gemäß dem Zellenübertragungsbefehl fügt der Eingangspuffer 210 Zellen eines nächsten Zellensatzes 214 dem Korb 213 hinzu, wobei der nächste Zellensatz 214 Zellen enthält, die zu der identischen Zeit unter den Zellen, die in den Eingangspuffern 210 gespeichert sind, außer jenen Zellen, von denen festgelegt ist, dass sie innerhalb des Korbs 213 sind, ausgegeben werden sollen.
  • Indem die Konfiguration der 8 als ein Ausgangsanschlussabschnitt einer Zellenvermittlungseinheit angesehen wird, ist diese zweite Ausführungsform gleichermaßen ebenso auf eine Zellenvermittlungseinheit anwendbar.
  • Zusätzlich kann der Ausgangspuffer 211, der in 8 gezeigt ist, jedwede gewünschte Konfiguration aufweisen, solange es möglich ist zu garantieren, dass die Zellen in dem Korb 213 zu dem Ausgangsanschluss innerhalb einer endlichen Zeit unter jedweden Bedingungen ausgegeben werden können.
  • Beispielsweise ist es möglich, eine Konfiguration zu verwenden, die überhaupt keinen Puffer aufweist, aber die eine Funktion aufweist, Zellen in den Korb 213 zu einer Zeit eines Ausgebens von Zellen zu dem Ausgangsanschluss zu vermitteln. Es ist auch möglich, eine in 6 oder 7 gezeigte, oben beschriebene Konfiguration zu verwenden.
  • Es sei darauf hingewiesen, dass in einem Fall einer Konfiguration der 7 die Rückdruckerzeugungseinheit 20 innerhalb der Korbverwaltungseinheit 212 bereitgestellt sein kann, anstatt dass sie innerhalb des Ausgangspuffers 17 bereitgestellt wird, wie in 7 gezeigt wird.
  • Gemäß der Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens in diese zweite Ausführungsform weist der Ausgangspuffer, der einen hohen Durchsatz erfordert, eine einfache Konfiguration auf, so dass die Verwirklichung der Zellenmultiplexiervorrichtung einfacher wird. Hier besteht ein Bedarf, dass die Eingangspuffer Zellen unter Verwendung eines Korbs verwalten, aber der Eingangspuffer erfordert nur einen niedrigen Durchsatz, so dass eine einfache Verwirklichung der Zellenmultiplexiervorrichtung noch möglich ist.
  • Nun wird die Konfiguration der Zellenmultiplexiervorrichtung der 8 detaillierter beschrieben werden.
  • Eine Zellenanzahl innerhalb des Korbs, die in die Korbverwaltungseinheit 212 eingegeben werden, kann eine Gesamtsumme von Zellenanzahlen innerhalb des Korbs 13 in sämtlichen der Eingangspuffer 210 sein. Hier kann eine Berechnung einer Gesamtsumme entweder innerhalb oder außerhalb der Korbverwaltungseinheit 212 ausgeführt werden.
  • Die Zellenanzahlinformation wird dann mit einem relativ kleinen Schwellenwert in der Klassenverwaltungseinheit 212 verglichen. Ob dieser Schwellenwert als ein fester Wert oder ein dynamisch variabler Wert vorgegeben wird, hängt von dem Algorithmus ab, der in der Korbverwaltungseinheit 212 verwendet wird. In einem Fall eines Verwendens des Schwellenwertes, der als ein fester Wert vorgegeben ist, ist es auch möglich, ein Vergleichsergebnis in die Korbverwaltungseinheit 212 anstelle der Zellenanzahlinformation einzugeben.
  • Auch kann, wenn Werte größer als ein bestimmter Wert keine Wirkung auf die Verarbeitung der Korbverwaltungseinheit 212 aufweisen, diese Tatsache benutzt werden, um Werte zu codieren, indem ein Code für sämtliche dieser Werte größer als ein bestimmter Wert zugewiesen wird. Beispielsweise kann die Codierung unter Verwendung von vier Bits auf Werte einer Zellenanzahl durch ein Einstellen von (0000) = 1, (0001) = 1, (0010) = 2, (0011) = 3, ..., (1101) = 13, (1110) = 14, und (1111) = jedwede Anzahl größer als oder gleich 15 eingesetzt werden. Wenn eine derartige Codierung verwendet wird, besteht ein Vorteil darin, dass die Eingangsinformation, die in die Korbverwaltungseinheit 212 eingegeben wird, kombiniert werden kann, und deswegen wird die Implementierung der Korbverwaltungseinheit 212 einfacher.
  • Durch eine Handbabung mit einer Gesamtsumme von Zellenanzahlen auf diese Weise ist es möglich, die Implementierung der Korbverwaltungseinheit 212 zu vereinfachen. Es sei hier darauf hingewiesen, dass der gleiche Zellenübertragungsbefehl für einen Korb zu sämtlichen Eingangspuffern 210 zu übermitteln ist, so dass kein Bedarf besteht, dass die Korbverwaltungseinheit 212 den einzelnen Eingangspuffer 210 erkennt. Folglich besteht ein Vorteil darin, dass eine Komplexität, die mit der Implementierung der Zellenmultiplexiervorrichtung einhergeht, unverändert bleibt, auch wenn eine Anzahl von Eingangsanschlüssen erhöht wird.
  • Was den Algorithmus, der in der Korbverwaltungseinheit 212 zu verwenden ist, um den Zellenübertragungsbefehl für einen Korb zu bestimmen, betrifft, kann der folgende Algorithmus beispielsweise verwendet werden.
  • Ob nämlich ein Unterlauf für Zellen innerhalb des Korbs 213 herbeigeführt wird oder nicht, wird gemäß einer Zellenanzahl innerhalb eines Korbs Nk beurteilt, und nur wenn beurteilt wird, dass eine Möglichkeit vorhanden ist, dass ein Unterlauf herbeigeführt wird, wird der Zellenübertragungsbefehl zum Verhindern dieses Unterlaufs ausgegeben. Hier bezieht sich der Unterlauf auf einen Zustand, bei welchem eine Zellenanzahl innerhalb des Korbs 213 Null wird, so dass Zellen der Eingangspuffer 210, die normalerweise ausgegeben werden sollten, nicht effektiv ausgegeben werden können.
  • Im Ansprechen auf den Zellenübertragungsbefehl für den Korb 213 fügt der Eingangspuffer Zellen des nächsten Zellensatzes 214 zu dem Korb 213 hinzu. Beispielsweise enthält in einem Fall eines Ausführens des pro-VC-fairen Einreihens, wobei durch ein Gewicht Nx, das für jede VC eingerichtet ist, gewichtet ist, der nächste Zellensatz 214 Zellen, die zu der identischen Zeit auszugeben sind, die Nx Teile ältester Zellen für jede VC unter den Zellen sind, die in jedem Eingangspuffer 210 gespeichert sind, außer jenen Zellen, die innerhalb des Korbs 213 sind.
  • Der gleiche Zellenübertragungsbefehl wird an sämtliche der Eingangspuffer 210 gemeldet, so dass Zellen in den Korb 213 fair unter VCs über eine Mehrzahl von Eingangspuffern 210 eingegeben werden. Durch ein Übertragen von Zellen innerhalb des Korbs 213 mit einer Priorität über Zellen außerhalb des Korbs 213 ist es möglich, Zellen zu den Ausgangspuffern 210 fair unter VCs über eine Mehrzahl von Eingangspuffern 210 zu übertragen.
  • Wenn der Ausgangspuffer 210 eine Konfiguration aufweist, in welcher es möglich ist, Zellen, die von dem Korb 213 eingegeben werden, innerhalb einer bestimmten Zeit unter jedweden Bedingungen auszugeben, werden Zellen, die zu dem Korb 213 fair unter VCs übertragen werden, von dem Ausgangsanschluss mit einem Verzögerungs-Jitter gleich dieser bestimmten Zeit ausgegeben werden.
  • 8 zeigt einen beispielhaften Zustand, bei welchem zwei VCs, eine VC und drei VCs in den Eingangspuffern 210 für die Eingangsanschlüsse #1, #2 bzw. #N eingereiht sind. Wenn die Gewichte sämtlicher VCs gleich sind, indem das pro-VC-faire Einreihen ausgeführt wird, müssen die Ausgänge aus den Eingangspuffern 210 für die Eingangsanschlüsse #1, #2 und #N ein Verhältnis von 2:1:3 in diesem Fall aufweisen. In der Zellenmultiplexiervorrichtung dieser zweiten Ausführungsform weisen mittels des Zellenübertragungsbefehls für den Korb 213, der sämtlichen der Eingangspuffer 210 und der Korbverwaltungseinheit 212 übermittelt wird, Zellen innerhalb des Korbs 213 ein Verhältnis von 2:1:3 zwischen den Eingangspuffern 210 für die Eingangsanschlüsse #1, #2 und #N auf, so dass die Ausgänge aus dem Ausgangspuffer 210 letztendlich auch ein Verhältnis von 2:1:3 aufweisen.
  • Was das Verfahren zum Eingeben von Zellen in den Korb 213 betrifft, sind die folgenden beiden Verfahren verfügbar.
  • Ein Verfahren ist ein Verfahren, bei welchem Zellen, die in die Eingangspuffer 210 eingegeben werden, nicht in den Korb 213 unmittelbar eingegeben werden, auch wenn eine Bedingung zum Eingeben von Zellen in den Korb 213 erfüllt ist. Bei diesem Verfahren werden Zellen zu dem Korb 213 nur dann übertragen, wenn der Zellenübertragungsbefehl aus der Korbverwaltungseinheit 212 ausgegeben wird. Durch dieses Verfahren nimmt eine Zellenanzahl innerhalb des Korbs zu, außer wenn die Korbverwaltungseinheit 212 den Zellenübertragungsbefehl ausgibt.
  • Ein weiteres Verfahren ist ein Verfahren, bei welchem Zellen, die in die Eingangspuffer 210 eingegeben sind, in den Korb 213 unmittelbar eingegeben werden, wann immer eine Bedingung zum Eingeben von Zellen in den Korb 213 erfüllt ist. Eine VC, die Nx Stück Zellen in den Korb 213 einer Zeitgebung des Zellenübertragungsbefehls übertrug, kann nämlich Zellen in den Korb 213 nicht eingeben, bis der nächste Zellenübertragungsbefehl ausgegeben wird, wohingegen eine VC, die Zellen zu dem Korb 213 nicht übertrug, oder eine VC, die nur weniger als Nx Stück Zellen zu dem Korb 213 zu eine Zeitgebung des Zellenübertragungsbefehls übertrug, Zellen in dem Korb 213 von bis zu Nx Stück Zellen insgesamt auch dann eingeben kann, wenn der Zellenübertragungsbefehl nicht ausgegeben wird. Durch dieses Verfahren kann eine Zellenanzahl innerhalb eines Korbs während einer Periode zwischen einem Zellenübertragungsbefehl und einem breiteren Zellenübertragungsbefehl zunehmen, wird aber in einem Stadium verwendet werden, wo nahezu sämtliche aktive VCs Nx Stück Zellen übertrugen.
  • Es sei darauf hingewiesen, dass diese zweite Ausführungsform effektiv unter Verwendung von einem dieser beiden Verfahren zum Eingeben von Zellen in den Korb 213 betrieben werden kann.
  • Ein Stauzustand in der Zellenmultiplexiervorrichtung dieser zweiten Ausführungsform kann durch ein Überwachen einer Information beurteilt werden, die in Übereinstimmung mit dem Verkehr für jede VC auf eine vorgeschriebene Weise variiert. Dann kann gemäß dieser Stauzustandsbeurteilung die Verkehrssteuerinformation für jede VC zu den Endgeräten übermittelt werden.
  • Hier kann die variable Information, die zu überwachen ist, eine Anzahl von gespeicherten Zellen, eine Anzahl von pro Zeiteinheit eingegebenen Zellen und ihre Beziehung zu ihrem Zielwert, oder eine Zeit, die zum Eingeben einer vorgeschriebenen Zellenanzahl erforderlich ist, und ihre Beziehung zu ihrem Zielwert beispielweise einschließen. Eine VC, die als verstopft zu beurteilen ist, ist eine VC, für welche eine Anzahl von gespeicherten Zellen groß ist, eine VC, für welche eine Anzahl von pro Zeiteinheit eingegebenen Zellen viel größer als ihr Zielwert ist, oder eine VC, für welche eine Zeit, die zum Eingeben einer vorgeschriebenen Zellenanzahl erforderlich ist, viel kürzer als ihr Zielwert ist.
  • Die Verkehrssteuerinformation kann zu den Endgeräten durch ein Markieren der EFCI in dem Header einer Zelle in der VC, die verstopft ist, bereitgestellt ist, oder durch ein Wiedereinschreiben einer RM-Zelle, die durchläuft, übermittelt werden.
  • Wie beschrieben, wird gemäß der Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens in dieser zweiten Ausführungsform der Ausgangsdurchsatz jedes Eingangspuffers durch ein Steuern von Zellen, die in dem für einen Ausgang zugelassenen Zellensatz, der als ein Korb bezeichnet wird, eingegeben werden, so dass das pro-VC-faire Einreihen verwirklicht werden kann, und es wird möglich, die Robustheit in dem ABR-Dienst und die Fairness in dem UBR-Dienst zu verwirklichen.
  • 3. Zellenpuffervorrichtung unter Verwendung der Zellengruppen-FIFO
  • Als nächstes wird unter Bezugnahme auf 9 bis 11 die dritte Ausführungsform einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung im Detail beschrieben werden. Diese dritte Ausführungsform ist auf einen Fall einer Zellenpuffervorrichtung zum Ausführen des pro-VC-fairen Einreihens unter Verwendung einer Zellengruppen-FIFO gerichtet.
  • 9 zeigt eine beispielhafte Konfiguration einer Zellenpuffervorrichtung zum Ausführen des pro-VC-fairen Einreihens gemäß dieser dritten Ausführungsform.
  • In der Zellenpuffervorrichtung der 9 wird eine Verbindungs-ID-Information einer Zelle, die von einer Eingangsverbindung eingegeben wird, zu einer Pufferzeigerverwaltungseinheit 230 übermittelt, eine Zelle wird vorübergehend in einem Zellenpuffer 231 gemäß einem Schreibzeiger, der eine Schreibposition einer Zelle anzeigt, die von der Pufferzeigerverwaltungseinheit 230 erhalten wird, gespeichert, eine Zelle wird aus dem Zellenpuffer 231 gemäß einem Lesezeiger, der eine auszulesende Zelle anzeigt, die von der Pufferzeigerverwaltungseinheit 230 erhalten wird, gelesen, und eine ausgelesene Zelle wird zu eine Ausgangsverbindung hin ausgegeben.
  • Die Pufferzeigerverwaltungseinheit 230 verwaltet Pufferzeiger, die Positionen von gespeicherten Zellen in dem Zellenpuffer 231 anzeigen. Diese Pufferverwaltungseinheit 230 schließt ein: eine Zellengruppe FIFO 232a zum Verwalten einer Mehrzahl von Zellengruppen, wobei jede ein Satz von Pufferzeigern ist, auf eine FIFO-Weise; eine Ausgangswartezellengruppen-FIFO 232b, eine Zellengruppenauswahleinheit 233 und eine Besetzt-Pufferzeigerverwaltungseinheit 234.
  • Zu einer Zeit einer Zelleneingabe in die Pufferzeigerverwaltungseinheit 230 werden Besetzt-Pufferzeiger von der Besetzt-Pufferzeigerverwaltungseinheit 234 erhalten und als die Schreibzeiger gesetzt, während die Zellengruppenauswahleinheit 233 einen Zellengruppenbefehl ausgibt, um anzuordnen, dass die Zellengruppen-FIFO 232a so viele Pufferzeiger, wie sie gemäß einem Gewicht bestimmt sind, das für jede VC vorgeschrieben ist, sequentiell von einer Kopfzellengruppe in der Zellengruppen-FIFO 232a einzugeben. Als Antwort gibt die Zellengruppen-FIFO 232a die Schreibzeiger in die spezifizierten Zellengruppen gemäß dem Zellengruppenbefehl ein.
  • Zu einer Zeit einer Zellenausgabe wird eine Zellengruppe aus dem Kopf der Zellengruppen-FIFO 232a ausgegeben, falls erforderlich, und Pufferzeiger, die in diesen Zellengruppen enthalten sind, werden ausgegeben und als Lesezeiger gesetzt, während diese Lesezeiger zu der Besetzt-Pufferzeigerverwaltungseinheit 234 zurückgegeben werden.
  • 9 zeigt eine Konfiguration, die für einen Fall geeignet ist, bei welchem eine Möglichkeit vorhanden ist, der mehr als eine Zellengruppe aufweist, die auf eine Ausgabe wartet. Diese Zellengruppen, die aus der Zellengruppen-FIFO 232a ausgegeben werden, werden in die Ausgangswartezellengruppen-FIFO 232b eingegeben.
  • Die Zellengruppe in der Ausgangswartezellengruppen-FIFO 232b ist eine Zellengruppe, der es zugelassen ist, von einer bestimmten externen Verwaltungseinheit des Zellenpuffers 231 ausgegeben zu werden. Beispielsweise kann diese Zellengruppe entsprechend dem Korb 213 sein, der in 8 für die oben beschriebene zweite Ausführungsform gezeigt ist.
  • Die Lesezeiger sind Pufferzeiger, die aus einer Kopfzellengruppe der Ausgangswartezellengruppen-FIFO 232b ausgegeben werden.
  • Beispielsweise sei angenommen, dass die Gewichte sämtlicher VCs gleich sind. Zellen in einer Kopfzellengruppe der Zellengruppen-FIFO 232a sind Kopfzellen von Reihen für jeweilige VCs (ausschließlich Zellen in der Ausgangswartezellengruppen-FIFO 232b). Zellen in der zweiten Zellengruppe von einem Kopf in der Zellengruppen-FIFO 232a sind zweite Zellen von Reihen für die jeweiligen VCs, und so weiter für die dritten und darauf folgenden Zellengruppen. In einem Fall eines Ausgebens dieser Zellen werden Zellen sequentiell von der Kopfzellengruppe der Zellengruppen-FIFO 232a ausgegeben, so dass Zellen fair unter VCs ausgegeben werden.
  • Wenn Zellen einer neuen VC in dieser Zellenpuffervorrichtung ankommen, werden diese Zellen in eine Kopfzellengruppe der Zellengruppen FIFO 232a eingegeben und mit einer Priorität gegenüber den zweiten und darauf folgenden Zellen von Reihen für die anderen VCs ausgegeben.
  • Auf diese Weise ist es gemäß der Zellenpuffervorrichtung dieser dritten Ausführungsform möglich, das pro-VC-faire Einreihen auszuführen, während kein Bedarf besteht, die Suchoperation auszuführen, die in der Vorrichtung nach dem Stand der Technik der 4 zu einer Zeit einer Zelleneingabe und einer Zellenausgabe erforderlich ist.
  • Die Zellengruppen FIFO 232a dieser Zellenpuffervorrichtung der dritten Ausführungsform kann durch ein Zeigerkettenschema oder ein Ringpufferschema beispielsweise verwirklicht werden.
  • Als nächstes wird der Datenaufbau, der in der Zellenpuffervorrichtung der 9 in dieser dritten Ausführungsform verwendet wird, beschrieben werden.
  • Die 10 und 11 zeigen einen beispielhaften Datenaufbau zum Verwirklichen der Zellenpuffervorrichtung der 9 unter Verwendung des Zeigerkettenschemas.
  • Dieser Datenaufbau umfasst im Allgemeinen eine VC-Tabelle 250, die Zellengruppen-FIFO 232a, die Ausgangswartezellengruppen-FIFO 232b und eine Besetzt-Pufferzeigerkette 251, wie in 10 gezeigt, und eine Besetzt-Zellengruppenkette 252, wie in 11 gezeigt.
  • Zusätzlich sind Zellengruppen-FIFO-Verwaltungsdaten 253 zum Verwalten der Zellengruppen-FIFO 232a und Ausgangswartezellengruppen-FIFO-Verwaltungsdaten 254 zum Verwalten der Ausgangswartezellengruppen-FIFO 232b bereitgestellt.
  • Jede der Zellengruppen und der Besetzt-Pufferzeigerkette 251 ist in einer Form einer Kette von Pufferzeigern bereitgestellt, während jede der Zellengruppen-FIFO 232a und die Besetzt-Zellengruppenkette 252 in einer Form einer Kette von Zellengruppenverwaltungsdaten 255 bereitgestellt ist.
  • Für die Ausgangswartezellengruppen-FIFO 232b ist eine Liste von Zeigern (Ptr1, Ptr2, Ptr3, etc.) zum Zeigen auf die Zellengruppen in den Ausgangswartezellengruppen-FIFO-Verwaltungsdaten 254 bereitgestellt.
  • Es sei darauf hingewiesen, dass es auch möglich ist, die Zellengruppen-FIFO 232a und die Ausgangswartezellengruppen-FIFO 232b durch das Ringpufferschema bereitzustellen.
  • Wenn Zellen eingegeben werden, ist es notwendig, die Zellengruppe zu bestimmen, in welche die Schreibzeiger für eine VC, die aus der Besetzt-Pufferzeigerkette 251 entnommen werden, eingegeben werden sollen. Zu diesem Zweck wird ein Bereich in der VC-Tabelle 250, die dieser VC entspricht, zuerst ausgelesen. In der VC-Tabelle 250 zeigt Nx ein Gewicht jeder VC an, Nc zeigt eine Arbeitsvariable für jede VC an, Qlen zeigt eine Anzahl von gespeicherten Zellen für jede VC an, und Ptr zeigt einen Zeiger auf die Zellengruppe an, in welcher die Endzelle jeder VC gespeichert ist.
  • Zunächst wird Qlen überprüft, um zu sehen, ob Zellen dieser VC gegenwärtig in der Zellenpuffervorrichtung gespeichert sind oder nicht. Wenn Qlen gleich Null ist, werden die Schreibzeiger VC in die Kopfzellengruppe der Zellengruppen-FIFO 232a eingegeben. Auch wenn Qlen größer als oder gleich Eins ist, solange Ptr auf die Zellengruppe in der Ausgangswartezellengruppe-FIFO 232b zeigt, werden die Schreibzeiger für diese VC in die Kopfzellengruppe der Zellengruppen-FIFO 232a eingegeben.
  • Anderenfalls wird Nc auf Nc + 1,0 aktualisiert, und das aktualisierte Nc wird mit Nx verglichen. Wenn Nx größer als oder gleich dem aktualisierten Nc ist, werden die Schreibzeiger für diese VC in eine Zellengruppe eingegeben, auf die durch Ptr gezeigt wird. Wenn Nx geringer als das aktualisierte Nc ist, werden die Schreibzeiger für diese VC in eine Zellengruppe nächstliegend einer Zellengruppe eingegeben, auf die durch Ptr gezeigt wird.
  • Hier ist eine Prozedur zum Aktualisieren von Nc, wenn eine Zelle eingegeben wird, wie folgt. Wie oben beschrieben, wird in einem Fall eines Eingebens der Pufferzeiger für diese VC in die Kopfzellengruppe der Zellengruppen-FIFO 232a zum ersten Mal Nc auf Nc : = 1,0 gesetzt. Anderenfalls wird Nc auf Nc : = Nc + 1,0 aktualisiert. Als Folge dieser Aktualisierung werden, wenn Nx ≥ Nc die Pufferzeiger in diese Zellengruppe eingegeben, wohingegen dann, wenn Nx < Nc die Pufferzeiger in eine nächste Zellengruppe in der Zellengruppen-FIFO 232a eingegeben werden, während Nc weiter als Nc : = Nc – Nx (so dass 0 < Nc ≤ Nx gilt) wieder eingeschrieben wird.
  • Wenn es notwendig wird, die Pufferzeiger in eine nächste Zellengruppe der letzten Zellengruppe in der Zellengruppen-FIFO 232a einzugeben, werden die Zellengruppenverwaltungsdaten 255 aus einem Kopf der Besetzt-Zellengruppenkette 252 entnommen und an ein Ende der Zellengruppen-FIFO 232a eingegeben, und dann werden die Pufferzeiger in diese Zellengruppe eingegeben.
  • Die Ausgangswartezellengruppen-FIFO-Verwaltungsdaten 254 weisen Zeiger Ptr1, Ptr2, Ptr3, etc. zum Zeigen auf die Zellengruppen in einer Form eines Schieberegisters auf. Die FIFO der Zellengruppe, auf die durch Ptr1 gezeigt wird, ist an einem Kopf, und die Pufferzeiger, die aus dieser Zellengruppe ausgegeben werden, werden als die Lesezeiger eingestellt. Die Lesezeiger werden dann an ein Ende der Besetzt-Pufferzeigerkette 251 eingegeben. Wenn die Pufferzeiger für die Zellengruppe, auf die durch Ptr1 gezeigt wird, leer werden, wird diese Zellengruppe an ein Ende der Besetzt-Zellengruppenkette 252 eingegeben. Dann wird für sämtliche n, für die n ≥ 2 gilt, Ptr(n) nach Ptr(n-1) verschoben, während die Pufferzeiger aus der Zellengruppe ausgegeben werden, auf die durch einen neuen Ptr1 gezeigt wird.
  • Wie oben beschrieben, ist es, wenn eine Zelle eingegeben wird, notwendig zu beurteilen, ob ein Ptr der VC-Tabelle 250 auf die Ausgangswartezellengruppe zeigt oder nicht. Folglich ist es notwendig, dass die Ausgangswartezellengruppen-FIFO-Verwaltungsdaten 254 einen Aufbau aufweisen, bei welchem die Suche auf einfache Weise ausgeführt werden kann.
  • In einem Fall eines erneuten Übertragens der Zellengruppe von der Zellengruppen-FIFO 232a zu der Ausgangswartezellengruppen-FIFO 232b wird eine Zahl von Zellengruppen in den Ausgangswartezellengruppen-FIFO-Verwaltungsdaten 254 auf m hoch gesetzt, und Ptr(m) wird gesetzt, auf die Zellengruppe zu zeigen, die aus der Zellengruppen-FIFO 232a ausgegeben wird.
  • Es sei darauf hingewiesen, dass die Zellenpuffervorrichtung dieser dritten Ausführungsform auch auf einfache Weise auf einen Eingangspuffer unter Verwendung eines Konzepts eines Korbs, das in 8 für die oben beschriebene zweite Ausführungsform gezeigt ist, anwendbar ist. In einem derartigen Fall entspricht die Ausgangswartezellengruppen-FIFO 232b dem Korb.
  • Wie beschrieben, besteht gemäß der Zellenpuffervorrichtung zum Ausführen des pro-VC-fairen Einreihens in dieser dritten Ausführungsform kein Bedarf, eine Verarbeitung auszuführen, um durch die VC-Tabelle zu suchen, und deswegen kann die Zellenpuffervorrichtung auf einfache Weise verwirklicht werden, ohne durch eine obere Grenze einer Anzahl von VCs beeinträchtigt zu sein, die eingestellt werden kann.
  • 4. Gewicht des pro-Fluss-fairen Einreihens
  • Als nächstes wird unter Bezugnahme auf die 12 und die 13 die vierte Ausführungsform einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung im Detail beschrieben werden. Diese vierte Ausführungsform ist auf einen Fall einer Paketpuffervorrichtung zum Ausführen des pro-Fluss-fairen Einreihens gerichtet.
  • Obenstehend ist die Zellenpuffervorrichtung zum Ausführen des pro-VC-fairen Einreihens für einen Fall eines Handhabens von Zellen beschrieben worden, die Pakete der festen Länge sind. In einem Fall einer Paketpuffervorrichtung, die in der Lage ist, Pakete unterschiedlicher Längen gleichzeitig zu handhaben, ist es auch möglich, die eingegebenen Pakete fair gemäß der für unterschiedliche Flüsse eingestellten Gewichte wie folgt auszugeben.
  • Hier sind die Flüsse Sätze von Paketen, die durch bestimmte Kriterien identifiziert werden, die die folgenden Beispiele einschließen.
    • – Flüsse, wie sie in dem IP-Netz (die durch eine Sendequellenadresse, einen Sendequellenanschluss, eine Zieladresse und einen Zielanschluss identifiziert sind), oder VCCs oder VPCs, wie sie in dem ATM-Netz verwendet werden.
    • – Unterschiedliche Diensteklassen (garantierte, lastgesteuerte, Best-Effort, etc.) in dem IP-Netz, oder Dienstekategorien (CBR, VBR, ABR, etc.) in dem ATM-Netz.
    • – Unterschiedliche Protokolle (TCP/IP, DECnet, SNA, AppleTalk, etc.).
    • – Unterschiedliche Anwendungen (ftp, telnet, etc.).
    • – Unterschiedliche Organisationen, die die gleiche Paketpuffervorrichtung teilen (Firma-zu-Firma, etc.).
  • Durch ein Behandeln derselben als unterschiedliche Flüsse in der Paketpuffervorrichtung kann ihr Verkehr in dieser vierten Ausführungsform von den anderen getrennt werden.
  • Zunächst wird unter Bezugnahme auf 12 das allgemeine faire Einreihen mit Gewichten und zwischen Flüssen beschrieben werden.
  • In diesem Fall zielt die Paketpuffervorrichtung darauf ab, Pakete, die in der Vorrichtung gespeichert sind, fair gemäß den Gewichten ihrer Flüsse auszugeben. Hier ist der Betrieb einfacher zu verstehen, wenn eine FIFO für jeden Fluss, wie in 12 gezeigt, betrachtet wird. 12 zeigt drei Reihen (FIFOs) für drei Flüsse (Fluss-1, Fluss-2 und Fluss-3), und jede Reihe speichert Pakete verschiedener Längen. In 12 zeigt ein numerischer Wert, der jedem Paket zugewiesen ist, eine Länge jedes Pakets in Bytes an.
  • Eine Verarbeitung, die auszuführen ist, wenn ein Paket in diese Paketpuffervorrichtung eingegeben wird, besteht darin, den Fluss zu beurteilen, zu welchem das eingegebene Paket gehört, und das eingegebene Paket in eine Reihe für diesen Fluss zu speichern.
  • Andererseits müssen die Pakete fair zwischen Flüssen ausgegeben werden, und eine Reihenfolge von Reihen, aus welchen Pakete auszugeben sind, ist ein wichtiger Faktor. Hier wird ein beispielhaftes Schema für einen beispielhaften Zustand, der in 12 gezeigt ist, beschrieben werden. Hier wird zur Vereinfachung der Erläuterung angenommen, dass die Gewichte sämtlicher Flüsse gleich sind. Auch wird angenommen, dass eine Einheit zum Einrichten einer Fairness in diesem Beispiel auf 500 Byte eingestellt ist.
  • Zunächst werden ein Gesamt-500-Byte-Teil von Paketen, die ein Paket in einer Länge von 300 Byte und ein Paket in einer Länge von 200 Byte einschließen, aus einem Kopf der Reihe für den Fluss-1 ausgegeben. Als nächstes werden zwei Pakete in einer Länge von 250 Byte nacheinander aus einem Kopf der Reihe für den Fluss-2 ausgegeben. Dann wird ein Paket einer Länge von 500 Byte aus einem Kopf der Reihe für den Fluss-3 ausgegeben. Durch ein Ausgeben von Paketen auf diese Weise werden die Pakete für 500 Byte aus jedem Fluss an diesem Punkt ausgegeben, so dass behauptet werden kann, dass die Pakete fair ausgegeben werden. Die Ausgabe der Pakete für ein 500-Byte-Teil aus jedem Fluss wird daraufhin wiederholt, beginnend wiederum von dem Fluss-1-Band. Auf diese Weise können die Pakete fair zwischen den Flüssen ausgegeben werden.
  • Es sei darauf hingewiesen, dass die Paketausgabe in dem obigen Schema in jeder 500-Byte-Einheit fair ist, aber die Paketausgabe ist nicht notwendigerweise in einer kleineren Einheit fair. Jedoch ist bekannt, dass die Verwirklichung der strengen Fairness eine sehr große Verarbeitungsleistung für die Paketpuffervorrichtung erfordert, und die Fairness auf einem Niveau, das oben beschrieben ist, wird oft in der Praxis als ausreichend angesehen.
  • Nun beträgt eine Anzahl von Flüssen in der obigen Beschreibung drei, aber wenn die Paketpuffervorrichtung eine riesige von Flüssen handhabt, können Probleme auftreten, wie in den Flüssen zu suchen ist, die Pakete in den Reihen speichern und wie die Pakete fair ausgegeben werden. Diese vierte Ausführungsform löst diese Probleme unter Verwendung eines Konzepts einer Paketgruppe.
  • In dieser vierten Ausführungsform sind die Reihen sämtlicher Flüsse in Segmente einer konstanten Länge, wie etwa Z, A, B, C und D, wie in 12 angezeigt, segmentiert.
  • In diesem Punkt sei darauf hingewiesen, dass die faire Paketausgabe durch ein Ausgeben der Pakete in Einheiten dieser Segmente verwirklicht werden kann. In dieser vierten Ausführungsform werden Pakete in jedem Segment zusammen als eine Gruppe verwaltet, die als eine Paketgruppe bezeichnet wird. In einer Paketgruppe sind Pakete einer Mehrzahl von Flüssen gemischt vorhanden.
  • Die Paketausgabe wird verwirklicht, indem zunächst die Pakete einer Paketgruppe Z, die am nächsten an der Ausgangsseite ist, ausgegeben wird, und als nächstes die Pakete einer Gruppe A ausgegeben werden. Auf ähnliche Weise werden die Pakete der Paketgruppen B, C und D sequentiell danach ausgegeben. Auf diese Weise kann die Paketpuffervorrichtung dieser vierten Ausführungsform die Pakete fair zwischen Flüssen ausgeben.
  • Nun wird für den Fluss-3 ein Paket von 350 Byte nahe einem Paket von 400 Byte in dem Segment B der 12 gespeichert. In einem Beispiel der 12 ist die obere Grenze für die Pakete, die zu dem gleichen Segment gehören, auf 500 Byte gesetzt, so dass ein Paket von 400 Byte und ein Paket von 350 Byte nicht in das gleiche Segment B eingeschlossen werden können, wenn das Paket nicht innerhalb der Paketpuffervorrichtung geteilt wird. Wenn noch ein Paket von 350 Byte, das in der Paketpuffervorrichtung später ankam, nicht in das Segment B eingegeben wird, wird das Segment B eine Lücke von 100 Byte aufweisen. Die Handhabung eines derartigen Falls wird im Detail untenstehend beschrieben werden.
  • Als nächstes wird unter Bezug auf 13 ein Beispiel der Paketpuffervorrichtung dieser vierten Ausführungsform im weiteren Detail beschrieben werden.
  • Die Paketpuffervorrichtung dieser vierten Ausführungsform weist Paketgruppen 310, eine Paketgruppen-FIFO 320, eine Flusstabelle 300 und eine Ausgangswartepaketgruppe 330 auf.
  • Die Paketgruppe 310 ist eine Gruppe gespeicherter Pakete, wie oben beschrieben. In 13 sind A, B, C und D Paketgruppen. Pakete, die zu jeder Paketgruppe 310 gehören, sind geordnet, so dass die Paketgruppe 310 als ein FIFO-Aufbau arbeitet.
  • Wie in 13 gezeigt, verwaltet diese vierte Ausführungsform die Paketgruppen 310 unter Verwendung einer FIFO, wobei jede Paketgruppe 310 selbst eine FIFO von Paketen ist. Hier wird eine FIFO der Paketgruppen 310 als eine Paketgruppen-FIFO 320 bezeichnet werden.
  • Die Flusstabelle 300 speichert eine Information für jeden Fluss, wobei Nx einen Gewichtssatz für jeden Fluss anzeigt, wobei Nc eine Arbeitsvariable für jeden Fluss anzeigt, eine gespeicherte Menge einer Gesamtmenge gespeicherter Pakete für jeden Fluss anzeigt, und Ptr einen Zeiger auf einer Paketgruppe anzeigt, zu welcher ein letztes angekommenes Paket jedes Flusses gehört. Hier ist die gespeicherte Menge zu dem Zweck eines Anzeigens bereitgestellt, ob die Pakete jedes Flusses in der Paketpuffervorrichtung gespeichert sind oder nicht, und ist durch eine Gesamtanzahl von Bytes der gespeicherten Pakete jedes Flusses gegeben, die als eine Variable gehalten wird, zu welcher eine Eingangspaketlänge zu einer Zeit einer Paketeingabe zu agieren ist, und von welcher eine Ausgangspaketlänge zu einer Zeit einer Paketausgabe zu subtrahieren ist.
  • Die Ausgangswartepaketgruppe 330 ist eine Paketgruppe, die aus der Paketgruppen-FIFO 320 (die eine Paketgruppe Z in
  • 13 ist) ausgegeben ist. Zu einer Zeit eines Ausgebens von Paketen aus der Paketpuffervorrichtung sind Pakete, die zu der Ausgangswartepaketgruppe 320 gehören, auszugeben.
  • Wenn ein Eingangspaket 350 eingegeben wird, ist es notwendig, eine Paketgruppe 310 zu bestimmen, in welche dieses Eingangspaket 350 einzugeben ist.
  • Zunächst wird überprüft, ob Pakete dieses Flusses gegenwärtig in der Paketpuffervorrichtung gespeichert sind oder nicht. Dies kann durch eine Bezugnahme auf die gespeicherte Menge dieses Flusses in der Flusstabelle 300 gemäß der Fluss-ID-Information, und eine Überprüfung, ob sie gleich Null ist oder nicht, beurteilt werden. Wenn die Pakete dieses Flusses nicht gegenwärtig gespeichert sind, wird das Eingangspaket 350 in die Kopfpaketgruppe (Paketgruppe A in 13) der Paketgruppen-FIFO 320 eingegeben.
  • Auch wenn die gespeicherte Menge größer als Null ist, solange Ptr auf die Ausgangswartepaketgruppe (Paketgruppe Z in
  • 13) zeigt, wird das Eingangspaket 350 in die Kopfpaketgruppe A der Paketgruppen-FIFO 320 eingegeben.
  • Anderenfalls wird die Paketgruppe gemäß der Eingangspaketlänge Nx, Nc und Ptr bestimmt.
  • Nx jedes Flusses zeigt eine mittlere Menge von Paketen an, die von einer Paketgruppe für diesen Fluss verwaltet werden. Dieses Nx wird auf einen Wert größer als die oder gleich der maximalen Paketlänge dieses Flusses gesetzt.
  • Nc wird verwendet, um eine Restmenge von Paketen anzuzeigen, die durch diesen Fluss in die Paketgruppe eingegeben werden kann, auf die durch Ptr gezeigt wird, indem Nx Nc berechnet wird. Wenn Nx – Nc ≥ (Eingangspaketlänge) ist, wird das Eingangspaket 350 in die Paketgruppe eingegeben, auf die durch Ptr gezeigt wird, wohingegen dann, wenn Nx – Nc < (Eingangspaketlänge) ist, das Eingangspaket 350 in eine nächste Paketgruppe der Paketgruppe eingegeben wird, auf die durch Ptr in der Paketgruppen-FIFO 320 gezeigt wird.
  • Wenn die Paketgruppe bestimmt ist, werden Werte vom Nc und Ptr als nächstes aktualisiert. Wenn das erste Paket für diesen Fluss in die Kopfpaketgruppe der Paketgruppen-FIFO 320 eingegeben wird, wird Nc auf Nc: = (Eingangspaketlänge) aktualisiert. Anderenfalls wird Nc auf Nc: = Nc + (Eingangspaketlänge) aktualisiert. Als Folge dieser Aktualisierung wird, wenn Nx < Nc ist, das Nc weiter in Nc: = Nc – Nx wieder eingeschrieben (so dass 0 < Nc ≤ Nx ist). Ptr wird auf einen Zeiger auf die Paketgruppe aktualisiert, in welche das Eingangspaket 350 eingegeben wird.
  • In dieser vierten Ausführungsform sind keine zwei Paketgruppen dabei, das gleiche eine Paket zu verwalten. Folglich wird, wenn die Eingangspaketlänge Nx – Nc überschreitet, das Eingangspaket 350 in eine nächste Paketgruppe der Paketgruppe eingegeben, auf die durch Ptr gezeigt wird. Jedoch wird bei der Berechnung von Nc ein Paket in zwei Paketgruppen geteilt. Mit anderen Worten wird Nc auf Nc: = Nc + (Eingangspaketlänge) aktualisiert, und wenn ein Abschnitt vorhanden ist, der Nc überschreitet, wird dann Nc – Nx als Nc der nächsten Paketgruppe gesetzt. Mittels dieses Algorithmus gehören Nx Pakete im Mittel zu einer Paketgruppe.
  • Nun wird der Paketeingabebetrieb in einem beispielhaften Fall, der in 13 gezeigt ist, beschrieben werden.
  • 13 zeigt eine Situation, bei welcher das Eingangspaket in einer Länge von 250 Byte für den Fluss-1 in der Paketpuffervorrichtung angekommen ist. An diesem Punkt zeigt Ptr des Flusses-1 auf die Paketgruppe B. Bei einem Aktualisieren der Flusstabelle 300 wird Nc auf Nc: = Nc + (Eingangspaketlänge) = 200 + 250 = 450 gemäß der oben beschriebenen Prozedur aktualisiert. Dieser Wert ist geringer als Nx, so dass dieses Eingangspaket in die Paketgruppe B, die durch Ptr gezeigt wird, eingegeben wird.
  • Wenn die Paketlänge des Eingangspakets für den Fluss-1 nicht 250 Byte, sondern 350 Byte ist, wird Nc auf Nc: = 200 + 350 = 550 aktualisiert, was Nx überschreitet. Folglich wird Nc weiter auf Nc: = Nc – Nx = 550 – 500 = 50 aktualisiert, und das Eingangspaket wird in die nächste Paketgruppe C der Paketgruppe B eingegeben, auf die durch Ptr gezeigt wird. Dann wird Ptr auf die Paketgruppe C geändert.
  • Die Paketgruppen-FIFO 320 ist die zuerst Zuerst-Herein-Zuerst-Heraus-Reihe, in welcher eine Anzahl von eingereihten Paketgruppen so weit wie erforderlich erhöht werden kann. Beispielsweise wird in 13, wenn ein Paket einer Länge von 400 für den Fluss-2 ankommt, eine leere Paketgruppe (Paketgruppe E in 13) als nächstes zu der Paketgruppe D hinzugefügt, und dieses eingegebene Paket wird in diese Paketgruppe E eingegeben werden.
  • Wie beschrieben, besteht die Verarbeitung, die zu einer Zeit einer Paketeingabe erforderlich ist, darin, den entsprechenden Eintrag in der Flusstabelle 300 zu ändern, das Eingangspaket 350 in die Paketgruppe 310 einzugeben und eine leere Paketgruppe der Paketgruppen-FIFO 320 hinzuzufügen, falls notwendig. Diese Verarbeitung zu einer Zeit einer Paketeingabe kann ohne ein Suchen durch die Flusstabelle 300 über eine Mehrzahl von Flüssen ausgeführt werden, und deswegen verbleibt ein Pegel einer Komplexität der Verarbeitung unverändert, auch wenn eine Anzahl von Flüssen erhöht wird.
  • Andererseits ist die Verarbeitung, die zu einer Zeit einer Paketeingabe erforderlich ist, einfacher. Es genügt nämlich, einfach das Paket aus der Ausgangswartepaketgruppe auszugeben. Bedarfsgemäß muss die Ausgabe der Paketgruppe aus der Paketgruppen-FIFO 320 davor ausgeführt werden. Diese Verarbeitung zu einer Zeit einer Paketausgabe kann auch ausgeführt werden, ohne durch die Flusstabelle 300 über eine Mehrzahl von Flüssen zu suchen, und deswegen verbleibt ein Pegel einer Komplexität der Verarbeitung unverändert, auch wenn eine Anzahl von Flüssen erhöht wird.
  • Wie oben beschrieben, zeigt ein Gewicht Nx jedes Flusses eine mittlere Menge von Paketen pro einer Paketgruppe für diesen Fluss an. In der Paketgruppenvorrichtung dieser vierten Ausführungsform werden die Pakete in Einheiten von Paketgruppen ausgegeben, so dass der Ausgangsdurchsatz jedes Flusses proportional zu Nx ist.
  • Gemäß der Paketgruppenvorrichtung dieser vierten Ausführungsform besteht kein Bedarf, die Verarbeitung, um durch die Flusstabelle zu suchen, auszuführen, und deswegen kann die Paketpuffervorrichtung zum Ausführen des gewichteten fairen Einreihens, während Pakete einer variablen Länge gehandhabt werden, auf einfache Weise verwirklicht werden, ohne durch eine obere Grenze einer Anzahl von Flüssen, die eingerichtet werden können, beeinträchtigt zu sein.
  • Jede Paketgruppe in dieser Ausführungsform verwaltet die Pakete in ihrer Ankunftsreihenfolge. Mit anderen Worten, wird die Ausgabereihenfolge der Pakete, die zu der gleichen Paketgruppe gehören, die Ankunftsreihenfolge durch die gesamten Flüsse hindurch sein. Diese Eigenschaft weist eine Wirkung eines Verringerns des Verzögerungs-Jitter der Pakete auf.
  • Auch kann, verglichen mit dem herkömmlichen DAR-Algorithmus, der oben beschrieben ist, die Paketpuffervorrichtung dieser vierten Ausführungsform die Auswahl der Ausgangszelle zu dem Zweck des pro-VC-fairen Einreihens bei einer hohen Geschwindigkeit verwirklichen, auch wenn eine Anzahl von VCs erhöht wird, und zusätzlich wird die Burstiness des Ausgangsverkehrs nicht erhöht, auch wenn die Gewichtswerte groß werden. Es sei darauf hingewiesen, dass die Burstiness in dieser vierten Ausführungsform nicht zunimmt, weil zu einer Zeit eines Verwaltens der eingegebenen Pakete in einem Satz (Paketgruppe) die Pakete innerhalb jedes Satzes ungeachtet der Flüsse (Vcs) verwaltet werden, und zu einer Zeit eines Ausgebens der Pakete aus jedem Satz (Paketgruppe) die Pakete ungeachtet der Flüsse (VCs) ausgegeben werden.
  • 5. Zellenanzahlinformation-Korrektur, die Verzögerungen berücksichtigt:
  • Als nächstes wird die fünfte Ausführungsform einer Paketübertragungsvorrichtung und eines Paketübertragungsverfahrens gemäß der vorliegenden Erfindung im Detail beschrieben werden. Diese fünfte Ausführungsform ist auf einen Fall einer Zellenpuffervorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen gerichtet, die eine Zellenanzahlinformation korrigiert, um Verzögerungen zu berücksichtigen.
  • 14 zeigt eine beispielhafte Konfiguration einer Zellenpuffervorrichtung zum Korrigieren einer Zellenanzahlinformation gemäß dieser fünften Ausführungsform.
  • Die Zellenpuffervorrichtung der 14 umfasst allgemein: ein Zellenpuffernetz 400, in welchem mehr als ein Zellenpuffer B (Ba, Bb, etc.) in einer Mehrzahl von Stufen (zwei Stufen in 14) verbunden sind, und eine Verwaltungseinheit 401 zum Empfangen einer Zellenanzahlinformation aus dem Zellenpuffer B und zum Ausgeben eines Übertragungsbefehls zu dem Zellenpuffer B.
  • Die Verwaltungseinheit 401 weist ein Merkmal zum Halten eines Übertragungsbefehls-Logs 402 darin auf, das zu einer Zeit eines Bestimmens eines neuen Übertragungsbefehls verwendet wird.
  • Von einer Zeit an, zu welcher der Zellenpuffer B eine Zellenanzahlinformation zu der Verwaltungseinheit 401 sendet, bis zu einer Zeit, zu welcher ein Übertragungsbefehl, der von der Verwaltungseinheit 401 bestimmt ist, auf diesen Zellenpuffer B wirkt, bestimmt die Verwaltungseinheit 401 eine Anzahl von Übertragungsbefehlen, die auf diesen Zellenpuffer B wirken, aus dem Übertragungsbefehls-Log 402, und bestimmt einen neuen Übertragungsbefehl gemäß dieser Anzahl von Übertragungsbefehlen und einer Zellenanzahlinformation von diesem Zellenpuffer B.
  • Als nächstes wird unter Bezugnahme auf 15 und 16 der Betrieb, um eine Zellenanzahlinformation in der Zellenpuffervorrichtung der 14 zu korrigieren, um Verzögerungen zu berücksichtigen, beschrieben werden.
  • In 15 werden Zellen, die von Eingangsverbindungen #1 und #2 eingegeben werden, vorübergehend in Zellenpuffern Ba1 bzw. Ba2 der vorderen Stufe gespeichert. Gemäß den Übertragungsbefehlen von der Verwaltungseinheit 401 werden Zellen zu einem Zellenpuffer Bb der hinteren Stufe übertragen, und aus dem Zellenpuffer Bb zu einer Ausgangsverbindung ausgegeben.
  • Die Verwaltungseinheit 401 empfängt eine Zellenanzahl Na2 des Zellenpuffers Ba2 und eine Zellenanzahl Nb des Zellenpuffers Bb und gibt Übertragungsbefehle zu den Zellenpuffern Ba1 und Ba2 aus.
  • Nun wird, indem D eine Verzögerung in einem Zellenzyklus sei, die herbeigeführt wird, während eine Zellenanzahlinformation von dem Zellenpuffer Ba2 an der Verwaltungseinheit 401 ankommt, ein Übertragungsbefehl gemäß dieser Zellenanzahlinformation bestimmt und zu dem Zellenpuffer Ba2 ausgegeben, und eine Zellenanzahl in dem Zellenpuffer Ba2 ändert sich im Ansprechen auf diesen Übertragungsbefehl. Zusätzlich wird zur Vereinfachung angenommen, dass der gleiche Zellenzyklus D auch eine Verzögerung ergibt, die herbeigeführt wird, wenn eine Zellenanzahlinformation von dem Zellenpuffer Bb an der Verwaltungseinheit 401 ankommt, ein Übertragungsbefehl gemäß dieser Zellenanzahlinformation bestimmt wird und zu dem Zellenpuffer Ba1 oder Ba2 ausgegeben wird, und sich eine Zellenanzahl in dem Zellenpuffer Bb ändert, wenn die Zellen von dem Zellenpuffer Ba1 oder Ba2 zu dem Zellenpuffer Bb im Ansprechen auf diesen Übertragungsbefehl übertragen werden.
  • Hier können die Zellenpuffer Ba1 und Ba2 der 15 betrachtet werden, dass sie der Klasse-1-Zellenspeichereinheit 500-1 und der Klasse-2-Zellenspeichereinheit 500-2 der 17 jeweils entsprechen, während der Zellenpuffer Bb der 15 angesehen werden kann, dass er der Zellenmultiplexier-FIFO 510 der 17 entspricht, so dass die Zellenpuffervorrichtung der 15 als eine Vorrichtung zum Ausführen der Prioritätssteuerung zwischen Klassen angesehen werden kann.
  • Die Strategien, die die Zellenübertragung zwischen den Zellenpuffern Ba1, Ba2 und Bb festlegen, sind die gleichen wie jene oben für einen Fall der 17 beschriebenen. Um nämlich das Betriebsverhalten der Prioritätssteuerung in dieser Zellenpuffervorrichtung der 15 zu verbessern, ist es erforderlich, eine Zellenanzahl, die in dem Zellenpuffer Bb gespeichert sind, klein zu halten, aber um den Durchsatz nicht abzusenken, ist es erforderlich, die Übertragung anzuordnen, so dass der Zellenpuffer Bb weitest möglich nicht leer wird (d.h. so, um den Unterlauf in dem Zellenpuffer Bb nicht herbeizuführen). Zusätzlich ist es erforderlich, den vergeblichen Befehl zu vermeiden (d.h. den Übertragungsbefehl bezüglich des Zellenpuffers Ba2 nur dann auszugeben, wenn eine gespeicherte Zelle in dem Zellenpuffer Ba2 existiert).
  • Nun sei angenommen, dass eine Zellenanzahlinformation Na2, die aus dem Zellenpuffer Ba2 ausgegeben wird, zu einer Zeit t2 an der Verwaltungseinheit 401 ankommt, die Verwaltungseinheit 401 den Übertragungsbefehl zu einer Zeit t3 ausgibt und Zellen aus dem Zellenpuffer Ba2 gemäß diesem Übertragungsbefehl zu einer Zeit t4 ausgegeben werden. Hier ist eine Information, die die Verwaltungseinheit 401 kennen muss, eine Zellenanzahl in dem Zellenpuffer Ba2 zu eine Zeit t4, zu welcher der Übertragungsbefehl tatsächlich auf den Zellenpuffer Ba2 wirkt. Diese Zeitgebung ist durch einen unausgefüllten Punkt in dem Zeitgebungsdiagramm der 16 angezeigt.
  • Wenn der Zellenpuffer Ba2 den Übertragungsbefehl Ma2-Mal während einer Periode zwischen t2 und t4 empfing (d.h. einem Zellenzyklus D), gab der Zellenpuffer Ba2 Ma2-Zellen währ3nd dieser Periode aus, so dass eine Zellenanzahl in dem Zellenpuffer Ba2 Na2 – Ma2 ist, unter der Annahme, dass keine Zelle in dem Zellenpuffer Ba2 während dieser Periode eingegeben wird.
  • Normalerweise ist eine Übertragungsverzögerung für den Übertragungsbefehl von der Verwaltungseinheit 401 zu dem Zellenpuffer Ba2 konstant, so dass eine Anzahl von Übertragungsbefehlen Na2, die von dem Zellenpuffer Ba2 empfangen werden, gleich einer Anzahl von Übertragungsbefehlen ist, die von der Verwaltungseinheit 301 während einer Periode zwischen t1 und t3 ausgegeben werden, wobei t4 – t2 = D = t3 – t1 ist. Folglich kann, indem eine Anzahl von Übertragungsbefehlen Ma2 aus dem Übertragungsbefehl-Log 402 gelernt wird, eine Zellenanzahl, die in dem Zellenpuffer Ba2 während einer Periode zwischen t2 und t4 abnahm, genau bestimmt werden.
  • Die ähnliche Überlegung trifft auch auf den Zellenpuffer Bb zu, so dass eine Zellenanzahl, die in dem Zellenpuffer Bb während einer Periode zwischen t2 und t4 zunahm (aufgrund von Zellen, die von dem Zellenpuffer Ba2 übertragen wurden) genau bestimmt werden kann.
  • Die Verwaltungseinheit 401 kann eine Zellenanzahl, die in dem Zellenpuffer Ba2 während einer Periode t2 und t4 eingegeben wurden, nicht kennen. Jedoch sollte, um den vergeblichen Befehl bezüglich des Zellenpuffers Ba2 zu vermeiden, eine Zellenanzahl in dem Zellenpuffer Ba2 eher kleine geschätzt werden, so dass sicher angenommen werden kann, dass keine Zelleneingabe von der Eingangsverbindung in den Zellenpuffer Ba2 während eine Periode zwischen t2 und t4 vorhanden ist.
  • Auch kann die Verwaltungseinheit 401 eine Zellenanzahl, die aus dem Zellenpuffer Bb während einer Periode zwischen t2 und t4 ausgegeben werden, nicht kennen. Jedoch sollte, um zu vermeiden, dass der Unterlauf in dem Zellenpuffer Bb herbeigeführt wird, eine Zellenanzahl in dem Zellenpuffer Bb eher kleiner geschätzt werden, so dass sicher angenommen werden kann, dass Zellen kontinuierlich aus dem Zellenpuffer Bb während einer Periode zwischen t2 und t4 ausgegeben werden (es wird angenommen, dass D Zellen während des Zellenzyklus D ausgegeben werden). Zusätzlich wird auch angenommen, dass eine Zellenanzahl, die aus dem Zellenpuffer Ba1 in den Zellenpuffer Bb eingegeben werden, Null ist.
  • Zusammenfassend kann eine korrigierte Zellenanzahl Na2' in dem Zellenpuffer Ba2 und eine korrigierte Zellenanzahl Nb' in dem Zellenpuffer Bb ausgedrückt werden zu: Na2' = Na2 + 0 – Ma2, Nb' = Nb + Ma2 – D.
  • Folglich kann die Bedingung, zu welcher die Verwaltungseinheit 401 den Übertragungsbefehl zu dem Zellenpuffer Ba2 ausgibt, gegeben werden durch:
    (Nb' ≤ Th) und (Na2' > 0),
    während die Bedingung für den Übertragungsbefehl zu dem Zellenpuffer Ba1 gegeben werden kann durch:
    (Nb' ≤ Th) und (Na2' ≤ 0).
  • Hier ist eine Schwelle Th normalerweise gleich "1" gesetzt.
  • Durch ein Korrigieren einer Zellenanzahlinformation auf diese Weise wird es möglich, die Übertragung anzuordnen, während der Unterlauf oder der vergebliche Befehl weitestgehend vermieden werden.
  • Es sei darauf hingewiesen, dass dieses Schema zum Korrigieren einer Zellenanzahlinformation auf einfache Weise an die Zellenmultiplexiervorrichtung zum Ausführung der Prioritätssteuerung zwischen Klassen, wie etwa jene der ersten Ausführungsform, die oben beschrieben ist, angepasst werden kann.
  • Außerdem kann dieses Schema zum Korrigieren einer Zellenanzahlinformation auch auf einfache Weise an die Zellenmultiplexiervorrichtung zum Ausführen des pro-VC-fairen Einreihens, wie etwa jenes der zweiten Ausführungsform, die oben beschrieben ist, angepasst werden.
  • Wie beschrieben, wird gemäß dieser fünften Ausführungsform in einer Zellenpuffervorrichtung, in welcher eine Verzögerung zwischen den Zellenpuffern und der Verwaltungseinheit zum Verwalten der Zellenpuffer existiert, eine Zellenanzahlinformation, die von dem Zellenpuffer gesendet wird, in eine Zellenanzahl für eine Zeit korrigiert, zu welcher der Übertragungsbefehl tatsächlich auf den Zellenpuffer wirkt, indem das Übertragungsbefehls-Log zu einer Zeit eines Bestimmens des Übertragungsbefehls verwendet wird, so dass ein Absenken des Betriebsverhaltens aufgrund der Verzögerung unterdrückt werden kann.
  • Es sei darauf hingewiesen, dass neben den bereits erwähnten zahlreiche Modifikationen und Variationen der obigen Ausführungsformen ausgeführt werden können, ohne von den neuen und vorteilhaften Merkmalen der vorliegenden Erfindung abzuweichen. Dementsprechend ist vorgesehen, dass sämtliche derartige Modifikationen und Variationen in dem Umfang der angehängten Ansprüche eingeschlossen sind.

Claims (18)

  1. Paketübertragungsvorrichtung, umfassend: einen Puffer (10) zum vorübergehenden Speichern eingegebener Pakete, die zu einer Mehrzahl von Flüssen gehören; eine Steuereinheit (12) zum Steuern des Puffers (10); und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus dem Puffer (10) ausgegeben werden; dadurch gekennzeichnet, dass die Steuereinheit (12) eine Verwaltungseinrichtung zum Verwalten von Paketen, die in dem Puffer (10) gespeichert sind, hinsichtlich einer Mehrzahl von Gruppen, eine Verteilungseinrichtung zum Verteilen jedes Pakets, das in den Puffer (10) eingegeben wird, in eine der Mehrzahl von Gruppen, so dass Pakete geordnet unter Flüssen verteilt werden, zu welchen Pakete gehören, derart, dass jede Gruppe Pakete unterschiedlicher Flüsse enthält, die so gleichmäßig wie möglich aus der Mehrzahl von Flüssen ausgewählt werden, und eine Steuereinrichtung zum Anweisen des Puffers (10), zu einer der Mehrzahl von Gruppen gehörende Pakete, die von der Verwaltungseinrichtung verwaltet werden, zu dem Ausgangsanschluss auszugeben, aufweist.
  2. Vorrichtung nach Anspruch 1, wobei die Verteilungseinrichtung jedes Paket in eine der Mehrzahl von Gruppen gemäß einer Identifikationsinformation eines Flusses, zu welchem jedes Paket gehört, und zumindest einem eines Gewichtssatzes für jeden Fluss und einer Länge des jeweiligen Pakets verteilt.
  3. Vorrichtung nach Anspruch 1, wobei der Puffer einer einer Mehrzahl von Eingangspuffern (10) zum vorübergehenden Speichern von Paketen, die zu einer Mehrzahl von Klassen gehören, ist; die Steuereinheit (12) zum Steuern der Mehrzahl von Eingangspuffern (10) dient; und der Ausgangsanschluss zum Übertragen von Paketen, die von den Eingangspuffern (10) ausgegeben werden, dient; wobei jeder Eingangspuffer (10) eine Mehrzahl von Paketspeichereinrichtungen (13a, 13b, 13c) zum vorübergehenden Speichern von eingegebenen Paketen Klasse für Klasse derart, dass die eingegebenen Pakete unterschiedlicher Klassen getrennt in jedem Eingangspuffer (10) gespeichert werden, und eine Ausgabeeinrichtung zum Ausgeben von Paketen einer ausgewählten Klasse, die durch die Steuereinheit (12) spezifiziert ist, aus der Paketspeichereinrichtung (13a, 13b, 13c) zu dem Ausgangsanschluss hin aufweist; und die Steuereinheit (12) die ausgewählte Klasse von aus den Eingangspuffern (10) auszugebenden Paketen gemäß einem Paketspeicherzustand für jede Klasse von Paketen, die in der Paketspeichereinrichtung (13a, 13b, 13c) sämtlicher der Eingangspuffer (10) gespeichert sind, als Ganzes für jede Klasse bestimmt, und einen Befehl, der die ausgewählte Klasse spezifiziert, zu den Eingangspuffern (10) ausgibt.
  4. Vorrichtung nach Anspruch 3, wobei die Paketspeichereinrichtung jedes Eingangspuffers (10) durch einen FIFO-Speicher gebildet ist.
  5. Vorrichtung nach Anspruch 3, wobei der Paketspeicherzustand eine Gesamtzahl von Paketen in jeder Klasse anzeigt, die in der Paketspeichereinrichtung (13a, 13b, 13c) sämtlicher der Eingangspuffer (10) gespeichert sind.
  6. Vorrichtung nach Anspruch 3, weiter umfassend: einen Ausgangspuffer (11), der mit dem Ausgangsanschluss verbunden ist, zum vorübergehenden Speichern von Paketen, die aus den Eingangspuffern (10) ausgegeben werden, wobei die Ausgabeeinrichtung jedes Eingangspuffers (10) Pakete der ausgewählten Klassen zu dem Ausgangsanschluss hin gemäß einem Paketspeicherzustand in dem Ausgangspuffer (11) ausgibt.
  7. Vorrichtung nach Anspruch 6, wobei der Ausgangspuffer (11) für die Eingangspuffer (10) ein Gegendruck-Signal bereitstellt, das den Paketspeicherzustand in dem Ausgangspuffer (11) anzeigt.
  8. Vorrichtung nach Anspruch 3, wobei die Ausgabeeinrichtung jedes Eingangspuffers (10) Pakete, die aus der Paketspeichereinrichtung (13a, 13b, 13c) ausgegeben werden, multiplexiert, und die multiplexierten Pakete zu dem Ausgangsanschluss hin ausgibt, und die Steuereinheit (12) die ausgewählte Klasse gemäß dem Paketspeicherzustand für jede Klasse von Paketen, die in der Paketspeichereinrichtung (13a, 13b, 13c) sämtlicher Eingangspuffer (10) gespeichert sind, als Ganzes für jede Klasse und einen Paketmultiplizierzustand in der Ausgabeeinrichtung sämtlicher Eingangspuffer (10) als Ganzes bestimmt.
  9. Vorrichtung nach Anspruch 8, wobei die Ausgabeeinrichtung jedes Eingangspuffers (10) durch einen FIFO-Speicher gebildet ist.
  10. Vorrichtung nach Anspruch 8, wobei der Paketmultiplexierzustand die Gesamtzahl von Paketen anzeigt, die in der Ausgabeeinrichtung sämtlicher Eingangspuffer (10) multiplexiert sind.
  11. Vorrichtung nach Anspruch 3, wobei die Steuereinheit (12) die ausgewählte Klasse gemäß dem Paketspeicherzustand für jede Klasse von Paketen, die in der Paketspeichereinrichtung (13a, 13b, 13c) sämtlicher Eingangspuffer (10) gespeichert sind, als Ganzes für jede Klasse und eine Gesamtzahl von Paketen in jeder Klasse, die tatsächlich von der Paketspeichereinrichtung (13a, 13b, 13c) zu der Ausgabeeinrichtung in sämtlichen Eingangspuffern (10) übertragen werden, als Ganzes bestimmt.
  12. Vorrichtung nach Anspruch 3, wobei jeder Eingangspuffer (10) Pakete, die von der Paketspeichereinrichtung (13a, 13b, 13c) auszugeben sind, auswählt, so dass Pakete geordnet so gleichmäßig wie möglich von virtuellen Verbindungen, zu welchen die Pakete gehören, innerhalb jeder Klasse über die Eingangspuffer (10) übertragen werden.
  13. Vorrichtung nach Anspruch 1, wobei: der Puffer einer einer Mehrzahl von Eingangspuffern (10) zum vorübergehenden Speichern von Paketen ist; die Steuereinheit (12) zum Steuern der Eingangspuffer (10) dient; und der Ausgangsanschluss zum Übertragen von Paketen, die aus den Eingangspuffern (10) ausgegeben werden, dient; wobei jeder Eingangspuffer (10) eine Mehrzahl von Paketspeichereinrichtungen (13a, 13b, 13c) zum vorübergehenden Speichern von eingegebenen Paketen, eine Auswahleinrichtung zum Auswählen von Paketen, die aus den Paketspeichereinrichtungen (13a, 13b, 13c) auszugeben sind, und eine Ausgabeeinrichtung (14) zum Ausgeben von Paketen, die von den Auswahleinrichtungen ausgewählt sind, zu dem Ausgangsanschluss hin aufweist; und die Steuereinheit (12) einen Befehl ausgibt, der eine Auswahl von Paketen durch die Auswahleinrichtungen der Eingangspuffer (10) gemäß einem Ausgangszustand von Paketen, die zuvor von den Auswahleinrichtungen in sämtlichen Eingangspuffern (10) als Ganzes ausgewählt sind, anweist.
  14. Vorrichtung nach Anspruch 13, wobei die Auswahleinrichtung jedes Eingangspuffers (10) Pakete, die von der Paketspeichereinrichtung (13a, 13b, 13c) auszugeben sind, auswählt, so dass Pakete geordnet so gleichmäßig wie möglich von virtuellen Verbindungen übertragen werden, zu welchen die Pakete gehören.
  15. Vorrichtung nach Anspruch 13, wobei die Ausgabeeinrichtung (14) der Eingangspuffer (10) einen Satz von zur Ausgabe zugelassenen Paketen aufweist, von welchem eine Ausgabe von Paketen zu dem Ausgangsanschluss zugelassen ist, und die Auswahleinrichtungen der Eingangsgruppe (10) einen Satz von zu einer identischen Zeit auszugebenden Paketen, die in den Satz von zur Ausgabe zugelassenen Paketen eingegeben sind, gemäß dem Befehl auswählen, der von der Steuereinheit (12) ausgegeben wird.
  16. Verfahren zur Paketübertragung in einer Paketübertragungsvorrichtung, die durch einen Puffer (10) zum vorübergehenden Speichern von eingegebenen Paketen, die zu einer Mehrzahl von Flüssen gehören, eine Steuereinheit (12) zum Steuern des Puffers (10) und zumindest einen Ausgangsanschluss zum Übertragen von Paketen, die aus dem Puffer (10) ausgegeben werden, gebildet ist, wobei das Verfahren dadurch gekennzeichnet ist, dass es die Schritte umfasst: Verwalten von Paketen, die in dem Puffer (10) gespeichert sind, hinsichtlich einer Mehrzahl von Gruppen; Verteilen jedes Pakets, das in den Puffer (10) eingegeben ist, in eine der Mehrzahl von Gruppen, so dass Pakete geordnet unter Flüssen verteilt werden, zu welchen die Pakete gehören, derart, dass jede Gruppe Pakete unterschiedlicher Flüsse enthält, die so gleichmäßig wie möglich aus der Mehrzahl von Flüssen ausgewählt werden; und Ausgeben von zu einer der Mehrzahl von Gruppen gehörenden Paketen, die durch den Verwaltungsschritt verwaltet werden, von dem Puffer (10) zu dem Ausgangsanschluss hin.
  17. Verfahren nach Anspruch 16 zur Paketübertragung in einer Paketübertragungsvorrichtung, wobei der Puffer (10) einer einer Mehrzahl von Eingangspuffern (10) zum vorübergehenden Speichern von Paketen ist, die zu einer Mehrzahl von Klassen gehören, wobei die Steuereinheit (12) zum Steuern der Eingangspuffer (10) dient und der Ausgangsanschluss zum Übertragen von Paketen dient, die aus den Eingangspuffern (10) ausgegeben werden, und wobei das Verfahren die Schritte umfasst: bei dem Schritt eines Verwaltens, vorübergehendes Speichern eingegebener Pakete, Klasse für Klasse von jedem Eingangspuffer (10) derart, dass die eingegebenen Pakete unterschiedlicher Klassen getrennt in jedem Eingangspuffer (10) gespeichert werden; bei dem Schritt eines Verteilens, Bestimmen einer ausgewählten Klasse von Paketen, die aus den Eingangspuffern (10) auszugeben sind, gemäß einem Paketspeicherzustand für jede Klasse von Paketen, die in sämtlichen der Eingangspuffer (10) gespeichert sind, als Ganzes für jede Klasse, und Ausgeben eines Befehls, der die ausgewählte Klasse spezifiziert, aus der Steuereinheit (12) zu den Eingangspuffern (10); und bei dem Schritt eines Ausgebens, Ausgeben vorübergehend gespeicherter Pakete der ausgewählten Klasse, die durch den Befehl der Steuereinheit (12) spezifiziert ist, aus jedem Eingangspuffer (10) zu dem Ausgangsanschluss hin.
  18. Verfahren nach Anspruch 16 zur Paketübertragung in einer Paketübertragungsvorrichtung, wobei der Puffer einer einer Mehrzahl von Eingangspuffern (10) zum vorübergehenden Speichern von Paketen ist, die Steuereinheit (12) zum Steuern der Eingangspuffer (10) dient, und der Ausgangsanschluss zum Übertragen von Paketen, die aus dem Eingangspuffer (10) ausgegeben werden, dient, und wobei das Verfahren die Schritte umfasst: bei dem Schritt eines Verwaltens, vorübergehendes Speichern eingegebener Pakete in jedem Eingangspuffer (10); bei dem Schritt eines Bestimmens, Auswählen von Paketen, die von jedem Eingangspuffer (10) auszugeben sind, unter den vorübergehend gespeicherten Paketen, und Ausgeben eines Befehls, der eine Auswahl von Paketen durch den Auswahlschritt anweist, aus der Steuereinheit (12) zu den Eingangspuffern (10) gemäß einem Ausgangszustand der Pakete, die zuvor durch den Auswahlschritt in sämtlichen Eingangspuffern (10) als Ganzes ausgewählt sind; und bei dem Schritt eines Ausgebens, Ausgeben vorübergehend gespeicherter Pakete, die durch den Auswahlschritt ausgewählt sind, von jedem Eingangspuffer (10) zu dem Ausgangsanschluss hin.
DE69635880T 1995-09-18 1996-09-18 Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren Expired - Lifetime DE69635880T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23886795 1995-09-18
JP23886795 1995-09-18

Publications (2)

Publication Number Publication Date
DE69635880D1 DE69635880D1 (de) 2006-05-04
DE69635880T2 true DE69635880T2 (de) 2006-10-05

Family

ID=17036441

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635880T Expired - Lifetime DE69635880T2 (de) 1995-09-18 1996-09-18 Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren

Country Status (3)

Country Link
US (2) US6490248B1 (de)
EP (2) EP1635520A3 (de)
DE (1) DE69635880T2 (de)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084855A (en) * 1997-02-18 2000-07-04 Nokia Telecommunications, Oy Method and apparatus for providing fair traffic scheduling among aggregated internet protocol flows
SE510170C2 (sv) * 1997-05-16 1999-04-26 Ericsson Telefon Ab L M Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande
GB2326054B (en) * 1997-06-04 2002-08-07 Roke Manor Research Broadband telecommunications switch
GB9719316D0 (en) * 1997-09-12 1997-11-12 Power X Limited Priority selection means for data transmission apparatus
FI974020A0 (fi) * 1997-10-21 1997-10-21 Nokia Telecommunications Oy Optimering av resurser i ett paketnaetsflerprocessorsystem
US6259699B1 (en) * 1997-12-30 2001-07-10 Nexabit Networks, Llc System architecture for and method of processing packets and/or cells in a common switch
US6934253B2 (en) * 1998-01-14 2005-08-23 Alcatel ATM switch with rate-limiting congestion control
GB9810552D0 (en) * 1998-05-15 1998-07-15 Nds Ltd Multiplexer
JP3620010B2 (ja) * 1998-05-22 2005-02-16 富士通株式会社 無線通信システムで用いられる装置とプログラム記録媒体
US6980543B1 (en) * 1998-06-19 2005-12-27 Juniper Networks, Inc. Interconnect network for operation within a communication node
JP3711752B2 (ja) * 1998-07-09 2005-11-02 株式会社日立製作所 パケット通信装置
JP3306705B2 (ja) * 1998-09-22 2002-07-24 富士通株式会社 パケット転送制御装置及びそのスケジューリング方法
GB9828142D0 (en) * 1998-12-22 1999-02-17 Power X Limited Approximate state control mechanism
US6735191B1 (en) * 1998-12-30 2004-05-11 At&T Corp. Method and apparatus for transporting TDM voice traffic over an ATM network
US6728272B1 (en) 1998-12-30 2004-04-27 At&T Corp. Method and apparatus for transporting private line traffic over an ATM network
JP4022017B2 (ja) * 1999-03-17 2007-12-12 富士通株式会社 Lan中継装置
JP2000269997A (ja) * 1999-03-18 2000-09-29 Fujitsu Ltd Lan中継交換装置
US7664115B1 (en) * 1999-04-30 2010-02-16 Alcatel-Lucent Canada, Inc. Method and apparatus for merging virtual connections
US7054267B2 (en) * 1999-09-10 2006-05-30 Lucent Technologies Inc. Method and apparatus for scheduling traffic to meet quality of service requirements in a communication network
CA2284298A1 (en) * 1999-09-27 2001-03-27 Nortel Networks Corporation Architectures for communication networks
JP2001111619A (ja) * 1999-10-12 2001-04-20 Sony Corp 送信装置、通信システム及びその通信方法
US6956818B1 (en) * 2000-02-23 2005-10-18 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
WO2001069823A1 (en) * 2000-03-10 2001-09-20 Tellabs Operations, Inc. Non-consecutive data readout scheduler
US6977895B1 (en) * 2000-03-23 2005-12-20 Cisco Technology, Inc. Apparatus and method for rate-based polling of input interface queues in networking devices
US6654811B1 (en) 2000-04-13 2003-11-25 Nokia Inc. Backpressure arrangement in client-server environment
US6738368B1 (en) 2000-05-12 2004-05-18 Interdigital Technology Corporation Prioritization and flow control of a spread spectrum multiuser channel
WO2001095574A1 (en) * 2000-06-09 2001-12-13 Nokia Corporation Method and system to transmit and/or receive information between network elements
DE60045624D1 (de) * 2000-10-03 2011-03-24 Gos Networks Ltd Paketsequenzsteuerung
US6745277B1 (en) * 2000-10-04 2004-06-01 Force10 Networks, Inc. Intelligent interleaving scheme for multibank memory
DE10049863A1 (de) * 2000-10-09 2002-04-18 Traian Internet Products Ag Verfahren zum Routing von Daten in paketorientierten Netzwerken
US6914881B1 (en) * 2000-11-28 2005-07-05 Nortel Networks Ltd Prioritized continuous-deficit round robin scheduling
US6895001B2 (en) * 2001-01-31 2005-05-17 Bellsouth Intellectual Property Corp. System and method for monitoring congestion paging
US7324509B2 (en) * 2001-03-02 2008-01-29 Broadcom Corporation Efficient optimization algorithm in memory utilization for network applications
US7042843B2 (en) 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
JP4187940B2 (ja) * 2001-03-06 2008-11-26 株式会社エヌ・ティ・ティ・ドコモ パケット伝送方法及びシステム、並びにパケット送信装置、受信装置、及び送受信装置
US7397798B2 (en) * 2001-05-21 2008-07-08 Xelerated Ab Method and apparatus for processing blocks in a pipeline
US6980513B2 (en) * 2001-09-24 2005-12-27 Transwitch Corporation Methods and apparatus for the fair allocation of bandwidth among MCR and best effort service connections in an ATM switch
JP2003124953A (ja) * 2001-10-15 2003-04-25 Fujitsu Ltd リング型ネットワークシステム
US7424013B1 (en) * 2001-12-20 2008-09-09 Applied Micro Circuits Corporation System and method for granting arbitrated bids in the switching of information
US7352694B1 (en) 2001-12-14 2008-04-01 Applied Micro Circuits Corporation System and method for tolerating data link faults in a packet communications switch fabric
US7079545B1 (en) * 2001-12-17 2006-07-18 Applied Microcircuits Corporation ( Amcc) System and method for simultaneous deficit round robin prioritization
US8418129B1 (en) 2001-12-14 2013-04-09 Qualcomm Incorporated Method for automatically generating code to define a system of hardware elements
JP3904922B2 (ja) * 2001-12-28 2007-04-11 株式会社日立製作所 トラヒックシェーパーおよび集線装置
US6957281B2 (en) * 2002-01-15 2005-10-18 Intel Corporation Ingress processing optimization via traffic classification and grouping
US7215674B1 (en) * 2002-04-22 2007-05-08 Cisco Technology, Inc. Supporting applications sensitive to data loss on switched virtual circuits (SVCs)
JP2003318964A (ja) * 2002-04-25 2003-11-07 Fujitsu Ltd パケット転送装置、スケジューラ、データ伝送装置、およびパケット転送方法
US7342936B2 (en) * 2002-06-17 2008-03-11 Integrated Device Technology, Inc. Method of performing deficit round-robin scheduling and structure for implementing same
JP3996010B2 (ja) 2002-08-01 2007-10-24 株式会社日立製作所 ストレージネットワークシステム、管理装置、管理方法及びプログラム
US7346701B2 (en) * 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
US7633861B2 (en) * 2003-04-25 2009-12-15 Alcatel-Lucent Usa Inc. Fabric access integrated circuit configured to bound cell reorder depth
US7580355B2 (en) * 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US7293132B2 (en) * 2003-10-08 2007-11-06 Samsung Electronics Co., Ltd. Apparatus and method for efficient data storage using a FIFO memory
US7440469B2 (en) * 2003-10-14 2008-10-21 Broadcom Corporation Descriptor write back delay mechanism to improve performance
JP2005167965A (ja) * 2003-11-12 2005-06-23 Matsushita Electric Ind Co Ltd パケット処理方法および装置
JP4516306B2 (ja) 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
US7729259B1 (en) * 2004-01-20 2010-06-01 Cisco Technology, Inc. Reducing latency jitter in a store-and-forward buffer for mixed-priority traffic
JP4409401B2 (ja) * 2004-10-08 2010-02-03 株式会社日立製作所 パケット転送装置及びストレージシステム
JP2006115315A (ja) * 2004-10-15 2006-04-27 Fujitsu Ltd データ転送方法及びデータ転送装置
US7620071B2 (en) * 2004-11-16 2009-11-17 Intel Corporation Packet coalescing
JP4551804B2 (ja) * 2005-03-30 2010-09-29 キヤノン株式会社 伝送システム、中継機器及び制御方法
US7529224B2 (en) * 2005-04-18 2009-05-05 International Business Machines Corporation Scheduler, network processor, and methods for weighted best effort scheduling
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
US8660152B2 (en) * 2006-09-25 2014-02-25 Futurewei Technologies, Inc. Multi-frame network clock synchronization
US8976796B2 (en) * 2006-09-25 2015-03-10 Futurewei Technologies, Inc. Bandwidth reuse in multiplexed data stream
US7986700B2 (en) * 2006-09-25 2011-07-26 Futurewei Technologies, Inc. Multiplexed data stream circuit architecture
US8340101B2 (en) 2006-09-25 2012-12-25 Futurewei Technologies, Inc. Multiplexed data stream payload format
US8295310B2 (en) 2006-09-25 2012-10-23 Futurewei Technologies, Inc. Inter-packet gap network clock synchronization
US7809027B2 (en) * 2006-09-25 2010-10-05 Futurewei Technologies, Inc. Network clock synchronization floating window and window delineation
US8588209B2 (en) 2006-09-25 2013-11-19 Futurewei Technologies, Inc. Multi-network compatible data architecture
CN101578794B (zh) * 2007-01-26 2012-12-12 华为技术有限公司 数据通信装置及网络组件
US20080304503A1 (en) * 2007-06-05 2008-12-11 Steven Langley Blake Traffic manager and method for performing active queue management of discard-eligible traffic
US7912085B1 (en) * 2007-10-01 2011-03-22 Altera Corporation Programmable packet format converter
EP2071773B1 (de) * 2007-12-14 2011-07-20 Alcatel Lucent Back-Pressure-Mechanismus mit Verzögerungsvariation zwischen Paketen auf einer Punkt-zu-Punkt-Verbindung
US7936669B2 (en) * 2008-06-04 2011-05-03 Entropic Communications, Inc. Systems and methods for flow control and quality of service
US8644140B2 (en) * 2009-09-09 2014-02-04 Mellanox Technologies Ltd. Data switch with shared port buffers
JP5672235B2 (ja) 2009-10-19 2015-02-18 日本電気株式会社 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム
US8699491B2 (en) * 2011-07-25 2014-04-15 Mellanox Technologies Ltd. Network element with shared buffers
KR20130085541A (ko) * 2011-12-19 2013-07-30 한국전자통신연구원 패킷 전송 장치 및 패킷 전송 방법
US8995460B1 (en) * 2012-05-14 2015-03-31 Arris Enterprises, Inc. Embedded control data in communications systems
US9130885B1 (en) 2012-09-11 2015-09-08 Mellanox Technologies Ltd. End-to-end cache for network elements
US9047417B2 (en) 2012-10-29 2015-06-02 Intel Corporation NUMA aware network interface
US8897292B2 (en) 2012-12-31 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Low pass filter for hierarchical pipelined distributed scheduling traffic manager
US8989011B2 (en) 2013-03-14 2015-03-24 Mellanox Technologies Ltd. Communication over multiple virtual lanes using a shared buffer
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch
US9548937B2 (en) * 2013-12-23 2017-01-17 Intel Corporation Backpressure techniques for multi-stream CAS
US9325641B2 (en) 2014-03-13 2016-04-26 Mellanox Technologies Ltd. Buffering schemes for communication over long haul links
KR20150115240A (ko) * 2014-04-03 2015-10-14 한국전자통신연구원 패킷 스위치 시스템 및 이의 트래픽 제어방법
US9584429B2 (en) 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
EP3079314A1 (de) * 2015-04-08 2016-10-12 Alcatel Lucent Verfahren zur verwaltung von ressourcen, system und computerlesbares medium
US9929933B1 (en) * 2015-09-01 2018-03-27 Netronome Systems, Inc. Loading a flow table with neural network determined information
CN108064058B (zh) * 2016-11-07 2022-11-01 中兴通讯股份有限公司 拥塞控制方法及装置、基站
US10951549B2 (en) 2019-03-07 2021-03-16 Mellanox Technologies Tlv Ltd. Reusing switch ports for external buffer network
WO2021240215A1 (en) * 2020-05-26 2021-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Reordering and reframing packets
US11558316B2 (en) 2021-02-15 2023-01-17 Mellanox Technologies, Ltd. Zero-copy buffering of traffic of long-haul links

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02117243A (ja) * 1988-10-27 1990-05-01 Toshiba Corp パケット通信装置
US5241543A (en) * 1989-01-25 1993-08-31 Hitachi, Ltd. Independent clocking local area network and nodes used for the same
IT1230235B (it) * 1989-06-07 1991-10-18 Telettra Spa Strutturazione e trasmissione a pacchetti dell'informazione generata da codificatore per segnali video.
US5272728A (en) * 1990-03-20 1993-12-21 Fumio Ogawa Preamble length adjustment method in communication network and independent synchronization type serial data communication device
JP2600496B2 (ja) * 1990-12-20 1997-04-16 日本電気株式会社 セル位相乗換回路
US5268900A (en) * 1991-07-05 1993-12-07 Codex Corporation Device and method for implementing queueing disciplines at high speeds
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
JP2655464B2 (ja) * 1992-12-25 1997-09-17 日本電気株式会社 パケット交換方式
DE4328862A1 (de) * 1993-08-27 1995-03-02 Sel Alcatel Ag Verfahren und Vorrichtung zum Zwischenspeichern von Datenpaketen sowie Vermittlungsstelle mit einer solchen Vorrichtung
KR960003783B1 (ko) * 1993-11-06 1996-03-22 한국전기통신공사 광대역 종합정보통신망 가입자 액세스 장치의 비동기 전달방식(atm) 다중화 처리 장치 및 방법
JPH07221761A (ja) * 1994-02-04 1995-08-18 Fujitsu Ltd セル遅延吸収回路
JP3354689B2 (ja) * 1994-02-28 2002-12-09 富士通株式会社 Atm交換機、交換機及びそのスイッチングパス設定方法
JP2655481B2 (ja) * 1994-04-28 1997-09-17 日本電気株式会社 出力バッファ型atmスイッチにおける優先制御方法
IT1266945B1 (it) * 1994-09-29 1997-01-21 Cselt Centro Studi Lab Telecom Procedimento di multiplazione per flussi di segnali audiovisivi codificati secondo lo standard mpeg1.
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5563891A (en) * 1995-09-05 1996-10-08 Industrial Technology Research Institute Waiting time jitter reduction by synchronizer stuffing threshold modulation

Also Published As

Publication number Publication date
US6934296B2 (en) 2005-08-23
EP0763915A3 (de) 1999-09-15
DE69635880D1 (de) 2006-05-04
EP1635520A3 (de) 2009-03-18
EP0763915B1 (de) 2006-03-08
EP1635520A2 (de) 2006-03-15
EP0763915A2 (de) 1997-03-19
US20020167955A1 (en) 2002-11-14
US6490248B1 (en) 2002-12-03

Similar Documents

Publication Publication Date Title
DE69635880T2 (de) Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren
DE69731606T2 (de) Anlage und verfahren zur änderung von schwellen für überlastkontrolle in atm-vermittlungsstellen
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE60034504T2 (de) Vorrichtung zur Weiterleitung von Paketen und Verfahren zum Setzen von Paketprioritäten
DE69434763T2 (de) Verfahren und Vorrichtung zur Überlastregelung in einem Kommunikationsnetzwerk
DE69632240T2 (de) Verfahren und Anlage zur Kontrolle von Übertragungsgeschwindigkeiten von Quellen in ATM-Netzwerken
DE69721859T2 (de) ATM-Koppler mit effizienter Verkehrsüberlastregelung
DE69935587T2 (de) Verfahren und vorrichtung zur weiterleitung von paketen von einer mehrzahl konkurrierender warteschlangen zu einem ausgang
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
EP0639014B1 (de) Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
DE69732398T2 (de) System zur Verkehrssteuerung und Überlastregelung für Paketnetzwerke
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69934645T2 (de) Speichereffiziente Leaky-Bucket-Überwachungsvorrichtung zur Verkehrsverwaltung von ATM Datenkommunikationen
DE60120830T2 (de) Paketvermittlungssystem und Verfahren
DE10100842B4 (de) Kommunikationsvorrichtung mit Mehrschichten-Klassenidentifikation und Prioritätssteuerung
DE60127366T2 (de) Verfahren und Struktur zur Unterstützung von Rahmen variabler Länge in einer Vermittlungsanlage mit gemeisamem Speicher
DE19757966A1 (de) ATM-Schalter-Warteschlangensystem
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition