DE60017690T2 - Vorrichtung und Verfahren zur Datenauswahl mit Transfer von VC Repräsentationen in eine aktive Warteschlange - Google Patents

Vorrichtung und Verfahren zur Datenauswahl mit Transfer von VC Repräsentationen in eine aktive Warteschlange Download PDF

Info

Publication number
DE60017690T2
DE60017690T2 DE60017690T DE60017690T DE60017690T2 DE 60017690 T2 DE60017690 T2 DE 60017690T2 DE 60017690 T DE60017690 T DE 60017690T DE 60017690 T DE60017690 T DE 60017690T DE 60017690 T2 DE60017690 T2 DE 60017690T2
Authority
DE
Germany
Prior art keywords
data stream
data
stream
representations
bandwidth
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
DE60017690T
Other languages
English (en)
Other versions
DE60017690D1 (de
Inventor
Alexander Palo Alto Joffe
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.)
MACOM Connectivity Solutions LLC
Original Assignee
MMC Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23783052&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60017690(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by MMC Networks Inc filed Critical MMC Networks Inc
Publication of DE60017690D1 publication Critical patent/DE60017690D1/de
Application granted granted Critical
Publication of DE60017690T2 publication Critical patent/DE60017690T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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

Description

  • Die vorliegende Erfindung bezieht sich auf eine Datenübertragungsmethode und ein Gerät, und insbesondere auf die Auswahl von Daten für die Übertragung innerhalb eines Netzes.
  • Datenübertragungen innerhalb von Netzen können verschiedenen Bandbreitenanforderungen (d.h. Bits-pro-Sekunde) unterliegen. Auf einem Sprachkanal müssen Daten zum Beispiel vielleicht mit genau 64 Kbps übertragen werden. Bei einem weiteren Beispiel unterhält ein Netzbenutzer vielleicht einen Vertrag für Mindest- und Höchstbandbreitenparameter mit einem Netz-Service-Anbieter. Der Netzanbieter muss die Datenraten des Benutzers auf diese Bandbreitenparameter einschränken.
  • 1 veranschaulicht einen Scheduler, welcher Daten für die Übertragung gemäß der vordefinierten Bandbreitenparameter wählt (schedules). Der Scheduler wird in einem asynchronen Übertragungsmodusschalter (ATM) angewendet. Der Scheduler schedules Datenübertragungen mittels virtueller Verbindungen (VCs) 120, welche einen Ausgangspunkt 130 teilen. Jeder VC wird eine Bandbreite zugeteilt, welche einen Teil der gesamten Bandbreite des Punktes 130 repräsentiert. Die Bandbreite einer jeden VC wird durch einen Parameter Δ definiert (getrennter Parameter für jede VC). Δ ist eine Anzahl von Zellenzeiten, innerhalb welcher eine einzige ATM-Zelle über die VC übertragen werden muss. Δ kann als die Zeitspanne zwischen der Übertragung aufeinander folgender Zellen über die VC visualisiert werden.
  • Die Scheduling-Methode kann konzeptuell mit Hilfe eines Zeitrades 140 repräsentiert werden. Das Zeitrad verfügt über eine Reihe von Zeitintervallen 150.0, 150.1, 150.3 ... . Jedes dieser Zeitintervalle 150 ist mit einer Warteschlange 160 von virtuellen Verbindungen 120 assoziiert, welche zur gleichen Zeit eine Zelle übertragen sollten, um ihre jeweiligen Bandbreitenparameter Δ zu erfüllen. Es kann jedoch zu einem beliebigen Zeitpunkt jeweils nur eine VC über den Punkt 130 übertragen.
  • Für jede Zellenzeit rotiert das Zeitrad ein Zeitintervall in Richtung des Uhrzeigersinns. Die Warteschlange 160 des Intervalls 150.2 bewegt sich so auf das Intervall 150.1 weiter, die Warteschlange 160 auf Intervall 150.3 bewegt sich auf Intervall 150.2 weiter, usw. Wenn eine Warteschlange 160 das Intervall 150.0 erreicht, werden deren VCs zu der aktiven Warteschlange 160.0 hinzugefügt. Die aktive Schlange beinhaltet VCs, welche innerhalb der aktuellen Zellenzeit übertragen werden sollten. Eine VC wird dann vom Anfang der aktiven Schlange entfernt. Diese VC 120 ist in 1 dargestellt. Eine Zelle dieser VC wird an Punkt 130 übertragen. Die VC 120.0 wird dann der Schlange 160 im Zeitradintervall Δ (d.h. Intervall 150.Δ) hinzugefügt, wo Δ den Bandbreitenparameter der VC 120.0 repräsentiert. Dies bedeutet, dass die VC in Δ Zellenzeiten wieder in die aktive Schlange zurückkehrt, wenn auch die nächste Zelle der VC übertragen werden sollte.
  • Wenn eine VC 120 zu der aktiven Schlange 160.0 hinzugefügt wird, muss diese VC möglicherweise auf weitere VCs warten, welche sich vor derselben in der Schlange befinden, bevor eine Zelle der VC übertragen wird. Wenn die VC 120.0 „d" Zellenzeiten lang gewartet hat, wird die VC in die Schlange Δ–d weiter beförder (d.h. die Schlange des Intervalls Δ–d), und nicht nach Δ. Die VC wird daher „d" Zellenzeiten früher zur aktiven Schlange 160.0 zurück befördert.
  • Bei einer Implementierung hält ein Current_Time Zähler die aktuelle Zeit, gemessen in Zellenzeiten. Jede VC 120 ist mit einem Zeitstempelregister TS assoziiert, welches die Zeit speichert, zu welcher die nächste Zelle über die VC übertragen werden sollte. Wenn eine Zelle über die VC übertragen wird, wird das korrespondierende TS um Δ weiter gestellt. Die VC wird dann an Schlange Q_Id=TS – Current_Time weiter befördert. Da TS und Δ auch Bruchzahlen sein können, wird Q_Id eigentlich als int (TS)-Current_Time berechnet, wobei „int" eine Funktion repräsentiert, die der grössten Ganzzahl gleich ist, die das Argument TS nicht überschreitet. Siehe Europäische Patentanmeldung EP 0 874 531 „ATM Cell Scheduling Method", eingereicht von MMC Networks, Inc. (veröffentlicht 28. Oktober 1998). Siehe auch „AF5500 Chip Set User Guide" (MMC Networks, Inc. in Sunnyvale, Kalifornien, Juli 1998), Seiten 8-1 bis 8-40.
  • Verbesserungen dieses Schemas sind wünschenswert.
  • Der Erfinder hat beobachtet, dass die in 1 veranschaulichte Zellen-Scheduling-Methode eine grosse Anzahl von Schlangen 160 fordern kann, wenn die gesamte Bandbreite des Punktes 130 hoch ist, die erlaubte unterstützbare Mindestbandbreite für individuelle VCs jedoch niedrig ist. Die Anzahl der erforderlichen Schlangen wird von dem Maximalwert der Δ-Parameter bestimmt. Dies beruht auf der Tatsache, dass die VC an die Schlange Nummer Δ zurück befördert werden kann, wenn eine Zelle über eine VC übertragen wird, um so die nächste Zellenübertragung in Δ Zeitintervallen zu ermöglichen. Es kann bewiesen werden, dass das Verhältnis TB/mb den Maximalwert für Δ repräsentiert, wobei TB die gesamte Bandbreite des Punktes 130 darstellt, und mb die Mindestbandbreite darstellt, welche von dem ATM-Schalter unterstützt wird (die Bandbreite wird hier in Bits pro Sekunde gemessen). Wenn Punkt 130 zum Beispiel aus einem optischen Trägerpunkt OC-192 besteht (9953.280 Mbps) und „mb" einen DS0 Sprachkanal (64 Kbps) repräsentiert, beträgt die Anzahl von erforderlichen Schlangen 9953280/64 = 155520. Diese grosse Anzahl von Schlangen fordert einen grossen Speicher. Der grosse Speicher steigert die Größe, Kosten, und den Stromverbrauch des Schalters.
  • Bei einem Scheduler der vorliegenden Erfindung wird die Anzahl der erforderlichen Schlangen exponentiell auf ungefähr Log (max. Δ) reduziert, wobei „Log" eine Algorithmusbasis 2, und „max Δ" den Maximalwert von Δ darstellt. Der Scheduler funktioniert wie folgt. Man kann die nicht aktiven Schlangen mit Q1, Q2,... QN bezeichnen, wobei N die Anzahl von Schlangen repräsentiert. N ist ⎾Log (max Δ)⏋, d.h. Log (max Δ) wird auf eine Ganzzahl aufgerundet. VCs werden jede zweite Zellenzeit von Schlange Q1 an die aktive Schlange, von Schlange Q2 jede vierte Zellenzeit an die aktive Schlange, von Schlange Q3 jede achte Zellenzeit an die aktive Schlange usw. übertragen. VCs werden jede 2ite Zellenzeit von Schlange Qi an die aktive Schlange übertragen.
  • Wie in 1 dargestellt wird jede Zellenzeit eine VC aus der aktiven Schlange zur Übertragung ausgewählt. Eine Zelle wird über die VC übertragen, und die VC wird an die Schlange Qi weiter befördert, wo die Schlangennummer i=Log Δ ist, auf eine Ganzzahl aufgerundet. Wenn die VC „d" Zellenzeiten lang in der aktiven Schlange gewartet hat, beträgt i=Log (Δ–d), auf eine Ganzzahl gerundet.
  • Die Erfindung ist nicht auf die oben beschriebenen Ausführungsformen beschränkt. Schlangen Qi und die aktive Schlange können durch nicht schlangenförmige Datenstrukturen ersetzt werden. Die Erfindung kann für andere als ATM-Netz angewendet werden. Die Erfindung kann für andere als VC-Datenströme angewendet werden. Andere Ausführungsformen und Variationen liegen innerhalb des Umfangs der Erfindung, wie durch die beiliegenden Ansprüche definiert.
  • Eine Ausführungsform der vorliegenden Erfindung wird hiernach mittels eines Beispiels unter Bezugnahme auf die beiliegenden Zeichnungen nun eingehender beschrieben, wobei:
  • 1 eine ATM Zellen-Scheduling-Methode des aktuellen Standes der Technik darstellt;
  • 2 eine Scheduling-Methode der vorliegenden Erfindung darstellt;
  • 312 den Status von Schlangen in aufeinander folgenden Zeitintervallen gemäß eines Beispiels der vorliegenden Erfindung darstellen;
  • 13 Datenstrukturen in einem Schalter der vorliegenden Erfindung darstellt.
  • 2 veranschaulicht eine ATM Zellen-Scheduling-Methode gemäß einer Ausführungsform der vorliegenden Erfindung. VCs 120 sind hier als Kreise A bis H dargestellt. Wie in 1 teilen die VCs 120 einen Ausgangspunkt 130 (in 2 nicht dargestellt). Jede VC wird durch eine Datenstruktur im Speicher des Schalters repräsentiert. Die VCs (d.h. deren Datenstrukturen) werden in N Schlangen 160.0, 160.1, 160.2, 160.3,... 160.N platziert, wobei N =⎾Log (max Δ)⏋. Schlange 160.0 ist die aktive Schlange.
  • Für jede Schlange 160.i beziehen wir uns auf i als die Schlangennummer oder das Schlangen-ID, in 2 als „Q_Id" dargestellt. Die Schlangen-IDs sind über jeder Schlange aufgeführt. Der Buchstabe F („Frequenz") repräsentiert die Frequenz, mit welcher die VCs einer jeden Schlange 160.i an die aktive Schlange 160.0 übertragen werden. Für Schlange 1 (d.h. Schlange 160.1) F=2, d.h. die korrespondierenden VCs werden jede zweite Zellenzeit an die aktive Schlange 160.0 übertragen. Für Schlange 160.2 F=4. Für Schlange 160.i (i > 0) F=2i.
  • Wie in 1 veranschaulicht ist jede VC 120 mit einem Bandbreitenparameter Δ und einem Zeitstempelregister TS assoziiert. TS speichert die Zeit, in welcher die nächste Zelle übertragen werden sollte, um den Δ-Parameter zu erfüllen. Current_Time Register 210 hält wie in 1 veranschaulicht die aktuelle Zeit.
  • Wie in 1 veranschaulicht wird in jeder Zellenzeit eine VC 120 vom Anfang der aktiven Schlange 160.0 entfernt. Eine Zelle wird über die VC übertragen, und der Zeitstempel TS der VC wird um Δ weiter gestellt. Ein „Offset"-Wert wird dann mittels der folgenden Formel errechnet: Offset = int (TS) – Current_Time.
  • Wenn die VC dann weitere Zellen zu übertragen hat, wird die VC an eine Schlange „Q_Id" weiter geleitet, welche wie folgt bestimmt wird:
  • Wenn Offset ≤ 0, dann Q_Id=0, d.h. die VC wird der aktiven Schlange 160.0 wieder hinzugefügt.
  • Wenn Offset > 0, dann ist Q_Id die Zahl des signifikantesten Bits (MSB) des Offsets. Mit anderen Worten, Q_Id=int (Log(Offset)).
  • Tabelle 1 weiter unten faßt Schritte zusammen, welche in jeder Zellenzeit in manchen Ausführungsformen von 2 durchgeführt werden. In Tabelle 1 wird in jeder Zellenzeit höchstens eine der Schlangen 160.1 ... 160.N an die aktive Schlange 160.0 übertragen. Die Schlange Nummer Q_Id_To_Active der Schlange, deren VCs an Schlange 160.0 übertragen werden, wird mittels einer Zählerweiterstellung um 1 für jede Zellenzeit bestimmt. In 2 ist der Zähler Current_Time Zähler 210. Nur die am N-wenigsten signifikanten Bits (LSBs) x0, x1, x2,... xN–1 des Zählers werden verwendet, um die Schlangennummer zu bestimmen. Bei der in 1 veranschaulichten Ausführungsform enthält der Zähler nur N Bits. Wenn der Zähler weiter gestellt wird, wandelt sich jede Zellenzeit höchstens eines dieser Bits von 0 in 1 um. Bit x0 wandelt sich jede zweite Zellenzeit von 0 in 1 um; Bit x1 wandelt sich jede vierte Zellenzeit von 0 in 1 um; usw. Bit x1 wandelt sich jede 2ite Zellenzeit von 0 in 1 um. Die Schlangennummer Q_Id_To_Active wird als b+1 bestimmt, wobei xb das Bit ist, welches sich in der aktuellen Zellenzeit von 0 in 1 umwandelt.
  • TABELLE 1
    Figure 00050001
  • Figure 00060001
  • Der Scheduler von Tabelle 1 kann mittels bekannter Techniken implementiert werden. 312 veranschaulichen den Status von Schlangen 160 für ein Beispiel, bei welchem N=3. Drei VCs 120 sind definiert, und jeweils mit A, B, C markiert. Jeder VC soll wie in der nachfolgenden Tabelle 2 ein Prozentanteil einer Bandbreite zugeteilt werden:
  • TABELLE 2
    Figure 00060002
  • Die anfänglichen Zeitstempelwerte sind den korrespondierenden Δ-Werten gleich, d.h.: TS(A)=5 TS(B)=3 TS(C)=6,67
  • Current_Time 210 ist ein Fünf-Bit-Zähler. Wenn Current Time sich von 7 auf 8 umstellt, werden die drei LSBs null, Q_Id_To_Active ist nicht gültig, und es wird keine Schlange an die aktive Schlange übertragen.
  • Zu Beginn (wenn Current Time null ist) wird jede VC in die Schlange platziert, deren Q_Id die Zahl des signifikantesten Bits des korrespondierenden Zeitstempels TS ist. So werden VCs A und C in Schlange 2 platziert, und VC B in Schlange 1. Siehe 3.
  • Tabelle 3 weiter unten zeigt Current Time und einige andere Parameter für jede der 312.
  • Jede der 412 offenbart 3 Figuren. 4 zeigt zum Beispiel 4A, 4B, 4C. 4A zeigt die Schlange, bevor eine VC zur Übertragung ausgewählt wurde. In Schlange 1 ist VC B nicht schattiert. Dies bedeutet, dass VC B in dieser Zellenzeit an die aktive Schlange übertragen wird. Die verbleibenden BCs sind schattiert.
  • 4B zeigt die Schlangen, nachdem eine VC aus der aktiven Schlange ausgewählt und an eine andere Schlange zurück befördert wurde. (Wir setzen voraus, dass die VC weitere Zellen zu übertragen hat, nachdem die Zelle von der VC übertragen wurde. Wenn dies nicht der Fall ist, kann die VC trotzdem zu einer anderen Schlange zurück befördert werden, oder alternativ aus dem Scheduler entfernt werden, bis sie eine Zelle zur Übertragung erhält.)
  • 4C zeigt den Hintergrund, d.h. die Sequenz, mit welcher die VCs zur Übertragung ausgewählt werden.
  • 512 sind auf eine ähnliche Weise organisiert.
  • In 4 ist Current Time nun 1. Nach Tabelle 1 Schritt 1 ist der Wert b=0, d.h. die VCs der Schlange 1 werden an die aktive Schlange übertragen. Dies bedeutet, dass VC B an die aktive Schlange übertragen wird. Da VC B die einzige VC in der aktiven Schlange ist, wird VC B in Schritt 2 von Tabelle 1 zur Übertragung ausgewählt. Siehe Tabelle 3, Spalte 3 für 4.
  • In Schritten 2C, 2D (Tabelle 1) werden für VC B die folgenden Verfahren durchgeführt (siehe Tabelle 3, letzte Spalte): TS(B)=3+3=6 Offset=int(6)–1=5 (0101'b, d.h. 0101 binär).
  • Das MSB des Offset-Wertes deutet an, dass Q_Id=2. VC B wird daher wie in 4B veranschaulicht nach Schlange 2 befördert.
  • Eine Überprüfung des Hintergrunddiagramms in 12C zeigt, dass die einer jeden VC tatsächlich zugeordnete durchschnittliche Bandbreite dem Δ-Parameter der VC entspricht.
  • TABELLE 3
    Figure 00080001
  • Figure 00090001
  • 13 veranschaulicht Datenstrukturen in einem Scheduler der vorliegenden Erfindung. VC-Datenstrukturen 120 werden in einer Tabelle 1310 gespeichert. Für jede VC 120 speichert die korrespondierende Tabelleneingabe den korrespondierenden Zeitstempel TS, den Bandbreitenparameter Δ, und einen „Nächste"-Verweis auf die nächste VC in einer Schlange 160. Der Nächste-Verweis der letzten VC einer jeden Schlange 160 ist NULL.
  • Jede Schlange 160 beinhaltet ein Kopfverweisregister HP, welches auf die erste VC in der Schlange verweist, und ein Schwanzverweisregister TP, welches auf die letzte VC in der Schlange verweist.
  • Diese Datenstrukturen werden mittels dem Fachmann bekannter Methoden manipuliert. Siehe zum Beispiel US-Patent 5.901.141, erteilt 4. Mai 1999 an A. Joffe.
  • Die Erfindung ist nicht auf weiter oben beschriebene Ausführungsformen beschränkt. Bei manchen Ausführungsformen wird die Nummer der Schlange, die an die aktive Schlange übertragen wird, mittels eines getrennten Zählers anstelle von Current Time bestimmt. Bei manchen Ausführungsformen wird der getrennte Zähler zurück anstelle von weiter gestellt. Die Schlangennummer ist Q_Id=b+1, wobei b die Nummer des Bits ist, welches von 1 auf 0 umgewandelt wird. Andere Methoden zu bestimmen, welche Schlange an die aktive Schlange übertragen werden soll, können auch angewendet werden.
  • Die Schlangen 160 können durch andere Datenspeicherstrukturen ersetzt werden, z.B. durch Datenstrukturen, die keine Schlangen beinhalten.
  • Verschiedene Schritte müssen nicht in der hier aufgeführten Reihenfolge durchgeführt werden. So können in Tabelle 1 die Schritte 1 und 2 zum Beispiel überlappen.
  • Bei manchen Ausführungsformen wird Q_Id in Schritt 2D von Tabelle 1 als ⎾Log(Offset)⏋–Current_Time bestimmt. Bei anderen Ausführungsformen wird Log (Offset) mittels einer anderen Rundungsmethode gerundet, d.h. Rundung auf die nächste Ganzzahl. Die Erfindung ist nicht auf eine bestimmte Formel für die Berechnung von Q_Id beschränkt.
  • Bei manchen Ausführungsformen repräsentiert jede VC-Struktur 120 einen virtuellen Pfad, welcher mehrere virtuelle Verbindungen einschliessen kann. Bei manchen Ausführungsformen repräsentiert eine Struktur 120 eine Gruppe von virtuellen Pfaden oder Verbindungen, welcher eine kombinierte Bandbreite zugeordnet wird. Wenn diese Gruppe von virtuellen Pfaden oder Verbindungen für das Übertragen einer Zelle gescheduled wird, wählt ein anderer Scheduler (nicht dargestellt) eine VC oder einen VP (virtuellen Pfad) aus der Gruppe für die Übertragung. Der andere Scheduler kann eine beliebige geeignete Methode für die Auswahl einer virtuellen Verbindung oder eines virtuellen Pfades verwenden. Geeignete Methoden schliessen strenge Priorität (die VC oder der VP mit der höchsten Priorität wird gewählt), Round-Robin, gewichtete Round-Robin, und gewichtete faire Schlangenformation ein. Siehe „AF5500 Chip Set User Guide". (MMC Networks, Inc., Sunnyvale, Kalifornien, Juli 1998), Seiten 8-15 bis 8-24. Andere geeignete Methoden werden in der Europäischen Patentanmeldung EP 0 874 532 mit dem Titel „Asynchronous Transfer Mode Cell Scheduling Method" (MMC Networks, Inc.) beschrieben.
  • Der in 2 veranschaulichte Scheduler kann mit anderen solchen Schedulern kombiniert werden, oder mit anderen Schedulern, um eine Mindestbandbreite für eine VC zu garantieren und gleichzeitig die maximale Bandbreite einzuschränken, wie in EP 0 874 532 und EP 0 874 531 beschrieben.
  • Für mindestens eine VC kann der in 2 veranschaulichte Scheduler die für diese VC zuzuordnende Mindestbandbreite erstellen, wobei weitere Daten jedoch über die VC übertragen werden können, wenn die Bandbreite erhältlich ist, auch wenn die VC nicht von der Schlange 160.0 entfernt wird. Der VC kann so zusätzlich zu der Mindestbandbreite weitere Bandbreite zugeteilt werden.
  • Die Erfindung ist weiter nicht auf einen ATM beschränkt. Bei manchen Ausführungsformen repräsentiert jede Struktur 120 einen Datenfluß oder Datenflüsse ohne ATM. Wir verwenden die Bezeichnung „Datenfluß" für das Beschreiben einer beliebigen Datenübertragung, welcher eine Bandbreite zugeteilt werden kann, und welche mit anderen Übertragungen eine Bandbreite teilt. Ein VP ist zum Beispiel eine solcher Datenfluß. Jede VC innerhalb eines VPs ist auch ein Datenfluß. Ein weiteres Beispiel eines Datenflusses ist ein Fluß von IP-Paketen mit einer vorbestimmten Quellenadresse und einer vordefinierten Zustellungsadresse. Ein weiteres Beispiel ist ein Fluß von Daten über eine TCP-Verbindung oder eine Gruppe von TCP-Verbindungen. Andere Beispiele sind möglich.
  • Bei manchen Ausführungsformen ist Punkt 130 (1), mittels welchem die Daten übertragen werden, ein logischer Punkt, nicht ein physischer Punkt. So kann Punkt 130 zum Beispiel ein Sub-Punkt sein, welcher einen Teil der Bandbreite repräsentiert, die an einem physischen Punkt erhältlich ist, oder eine Kombination von physischen Punkten.
  • Weitere Ausführungsformen und Variationen liegen innerhalb des Umfangs der Erfindung, wie durch die beiliegenden Ansprüche definiert.

Claims (10)

  1. Eine Methode für das Auswählen von Daten für die Übertragung innerhalb eines Netzes, welche die Schritte des Speicherns von Computerrepräsentationen (120) eines Datenstroms auf Computerspeicherstrukturen S.1,...,S.N (160.1,...160.N) umfasst, wobei N>1, und wobei ein jeder Datenstrom mit einer Bandbreite assoziiert ist, welche demselben Datenstrom zugeordnet wird; wobei die Methode durch die folgenden Schritte gekennzeichnet wird: (i) das Übertragen von null oder mehreren Datenstromrepräsentationen aus Speicherstrukturen S.1,...,S.N an eine Computerspeicherstruktur S.0 (160.0), wobei für jedes i, wie z.B. 0<i<N, die Frequenz, mit welcher die null oder mehreren Datenstromrepräsentationen von der Struktur S.i an die Struktur S.0 übertragen werden, grösser ist als die Frequenz, mit welcher null oder mehrere Datenstromrepräsentationen von der Struktur S.i+1 an die Struktur S.0 übertragen werden; wobei das Übertragen beliebiger Datenstromrepräsentationen von einer beliebigen Struktur S.i, 0<i≤N innerhalb eines Zeitintervalls durchgeführt wird, an dessen Ende die Datenstromrepräsentation für den Auswahlschritt (ii) bereit gestellt wird, wobei die Dauer des Zeitintervalls für jede Struktur S.i<i≤N ungefähr gleich ist; (ii) das Auswählen einer Datenstromrepräsentation aus einer Struktur S.0, für das Übertragen von Daten bezüglich des korrespondierenden Datenstroms; (iii) das Übertragen der ausgewählten Datenstromrepräsentationen an eine Struktur S.j, 0≤j≤N, für die darauffolgende Übertragung bezüglich des korrespondierenden Datenstroms, wobei die Struktur S.j aus den Strukturen S.0,...,S.N ausgewählt und auf die Bandbreite basiert wird, welche dem korrespondierenden Datenstrom zugeordnet werden soll.
  2. Die Methode nach Anspruch 1, wobei für jedes i, 0<i<N, die Frequenz, mit welcher die null oder mehr Datenstromrepräsentationen von der Struktur S.i an die Struktur S.0 übertragen werden, zweimal grösser ist als die Frequenz, mit welcher die null oder mehr Datenstromrepräsentationen von der Struktur S.i+1 an die Struktur S.0 übertragen werden.
  3. Die Methode nach Anspruch 1 oder 2, bei welcher: für jedes i, 0<i<N, die null oder mehr Datenstromrepräsentationen jede 2ite Zeiteinheit einmal von der Struktur S.i an die Struktur S.0 übertragen werden; und wenn eine Datenstromrepräsentation zur Übertragung ausgewählt wird, eine Dateneinheit von dem korrespondierenden Datenstrom übertragen wird, und wenn derselbe korrespondierende Datenstrom weitere Daten zur Übertragung beinhaltet, die Datenstromrepräsentation auf die Struktur S.j übertragen wird, wo j = Log Δ, gerundet auf eine Ganzzahl, wobei Δ der Anzahl von Zeiteinheiten entspricht, innerhalb welcher eine Dateneinheit bezüglich des Datenstroms gemäß der Bandbreite, welche dem Datenstrom zugeordnet wurde, übertragen werden soll.
  4. Die Methode nach Anspruch 1, 2 oder 3, welche weiter umfasst: das einmalige Inkrementieren oder Dekrementieren eines Zählers innerhalb einer jeden Zeiteinheit, wobei die Zeiteinheit einer Länge von Zeit entspricht, welche dafür erforderlich ist, Daten von einem Datenstrom zu übertragen, wenn die korrespondierende Datenstromrepräsentation zur Übertragung ausgewählt wird; wobei eine Nummer b bestimmt wird, wenn der Zähler inkrementiert oder dekrementiert wird, welche die Nummer des Zähler-Bits darstellt, welche sich von einem vorbestimmten ersten Wert auf einen vorbestimmten zweiten Wert ändert, wobei die Bits von null aufwärts mit dem am wenigsten wichtigen Bit beginnend nummeriert sind, und wobei null oder mehrere Datenstromrepräsentationen von der Struktur S.i an die Struktur S.0 übertragen werden, wobei i=b+1.
  5. Die Methode nach Anspruch 1, 2, 3, oder 4, bei welcher die assoziierte Bandbreite für mindestens einen Datenstrom der minimalen Bandbreite entspricht, welche dem Datenstrom zugeordnet werden soll; und wobei die Methode weiter umfasst: das Übertragen von Daten bezüglich des vorgenannten, mindestens einen Datenstroms, wenn die Bandbreite für den Datenstrom erhältlich ist, auch wenn die Datenstromrepräsentation nicht von der Struktur S.0 gewählt wurde, und daher das Bereitstellen zusätzlicher Bandbreite für den Datenstrom zusätzlich zu der minimalen Bandbreite.
  6. Die Methode nach Anspruch 1, 2, 3, 4 oder 5, bei welcher mindestens ein Datenstrom eine Reihe von Datenströmen beinhaltet.
  7. Ein Gerät für das Übertragen von Daten über ein Netz, wobei das Gerät umfasst: eine Computerspeichervorrichtung für das Speichern von Computerrepräsentationen (120) von Datenströmen, wobei ein jeder Datenstrom mit einer oder mehreren Bandbreitenanforderungen für den Datenstrom assoziiert ist; wobei das Gerät durch das Folgende gekennzeichnet wird: eine Vorrichtung für das Organisieren der Datenstromrepräsentationen als eine Reihe von ersten Strukturen (160.1,...,160.N) auf dem Computerspeicher, für das Übertragen von Datenstromrepräsentationen von den ausgewählten ersten Strukturen an eine zweite Struktur (160.0), sodass die Auswahl und die Übertragung wiederholt durchgeführt werden, und sodass eine jede Sättigung innerhalb eines Zeitintervalls von einer vorbestimmten Dauer durchgeführt wird, wobei an dem Ende desselben Zeitintervalls solche Datenstromrepräsentationen, welche an die zweite Struktur übertragen wurden, zur Auswahl aus der zweiten Datenstruktur bereit gestellt werden, wobei die vorbestimmte Dauer für jede Wiederholung der Auswahl und Übertragung an die zweite Datenstruktur und für jede ausgewählte erste Struktur gleich ist, wobei die Vorrichtung für das Organisieren so ausgelegt ist, dass mindestens zwei der ersten Strukturen Datenstromrepräsentation beinhalten, welche mit Hilfe von jeweils zwei unterschiedlichen Frequenzen an die zweite Struktur übertragen werden, wobei die vorgenannte Vorrichtung für das Organisieren für die Auswahl einer Datenstromrepräsentation aus der zweiten Struktur für das Übertragen von Daten bezüglich des korrespondierenden Datenstroms angeordnet ist, und für das Übertragen der ausgewählten Datenstromrepräsentation an eine der ersten Strukturen, welche auf der Basis einer Bandbreitenanforderung für den Datenstrom ausgewählt wurde; wobei die vorgenannte Vorrichtung für das Organisieren so ausgelegt ist, dass das Übertragen einer beliebigen Datenstromrepräsentation von einer beliebigen ersten Struktur an die zweite Struktur innerhalb eines Zeitintervalls durchgeführt wird, an dessen Ende die Datenstromrepräsentation für die Auswahl von der zweiten Struktur bereit gestellt wird, wobei die Dauer des Zeitintervalls für eine jede erste Struktur ungefähr gleich ist.
  8. Das Gerät nach Anspruch 7, wobei die vorgenannte Vorrichtung für das Organisieren für das Belassen der ausgewählten Datenstromrepräsentationen in der zweiten Struktur betrieben werden kann, anstatt die ausgewählten Datenstromrepräsentationen an eine der ersten Strukturen zu übertragen.
  9. Das Gerät nach Anspruch 7 oder 8, wobei die vorgenannte Vorrichtung für das Organisieren das Folgende umfasst: einen Zähler, welcher einmal innerhalb einer jeden Zeiteinheit inkrementiert oder dekrementiert wird und eine Reihe von Bits umfasst, von welchen ein jedes mit einem korrespondierenden Bit der ersten Strukturen assoziiert ist, und welcher so angeordnet ist, dass die Datenstromrepräsentationen der korrespondierenden ersten Struktur auf die zweite Struktur übertragen werden, wenn eines aus der vorgenannten Reihe von Bits sich von einem vorbestimmten ersten Wert auf einen vorbestimmten zweiten Wert ändert.
  10. Das Gerät nach Anspruch 7, 8 oder 9, bei welchem: die vorgenannte Vorrichtung für das Organisieren so angeordnet ist, dass dieselbe in der Computerspeichervorrichtung für eine jede Datenstromrepräsentation einen Bandbreitenparameter speichern kann, welcher anzeigt, wie oft eine Dateneinheit bezüglich des korrespondierenden Datenstroms übertragen werden muss, um eine Bandbreitenanforderung für den Datenstrom zufrieden zu stellen; und wenn eine Datenstromrepräsentation aus der zweiten Struktur ausgewählt wird, um Daten bezüglich des korrespondierenden Datenstroms zu übertragen, ist die vorgenannte Vorrichtung für das Organisieren so angeordnet, dass dieselbe errechnet, wann die nächste Übertragung bezüglich des Datenstroms erfolgen muss, um den korrespondierenden Bandbreitenparameter zufrieden zu stellen, und die vorgenannte Vorrichtung für das Organisieren ist weiter so angeordnet, dass dieselbe die Datenstromrepräsentationen an die erste Datenstruktur überträgt, dessen Datenstromrepräsentationen an die zweite Datenstruktur übertragen werden, wenn die nächste Übertragung bezüglich des Datenstroms erfolgen muss.
DE60017690T 1999-11-24 2000-11-13 Vorrichtung und Verfahren zur Datenauswahl mit Transfer von VC Repräsentationen in eine aktive Warteschlange Expired - Lifetime DE60017690T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/449,146 US6625122B1 (en) 1999-11-24 1999-11-24 Selection of data for network transmission
US449146 1999-11-24

Publications (2)

Publication Number Publication Date
DE60017690D1 DE60017690D1 (de) 2005-03-03
DE60017690T2 true DE60017690T2 (de) 2005-07-07

Family

ID=23783052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60017690T Expired - Lifetime DE60017690T2 (de) 1999-11-24 2000-11-13 Vorrichtung und Verfahren zur Datenauswahl mit Transfer von VC Repräsentationen in eine aktive Warteschlange

Country Status (3)

Country Link
US (1) US6625122B1 (de)
EP (1) EP1104219B1 (de)
DE (1) DE60017690T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744776B1 (en) * 2000-01-28 2004-06-01 Advanced Micro Devices, Inc. Servicing priority traffic in multiport network switch
IL134755A0 (en) * 2000-02-28 2001-04-30 Terracross Ltd Method and apparatus for high-speed generation of a priority metric for queues
US6829647B1 (en) * 2000-06-09 2004-12-07 International Business Machines Corporation Scaleable hardware arbiter
WO2002069606A1 (en) 2001-02-26 2002-09-06 Vitesse Semiconductor Corporation A method and apparatus for scheduling data on a medium
GB2375927B (en) * 2001-05-26 2004-09-29 Cambridge Broadband Ltd Method and apparatus for communications bandwidth allocation
US6973315B1 (en) 2001-07-02 2005-12-06 Cisco Technology, Inc. Method and system for sharing over-allocated bandwidth between different classes of service in a wireless network
US7539756B2 (en) * 2002-01-31 2009-05-26 Darby & Mohaine, L.L.C. Method and system of data packet transmission timing for controlling bandwidth
US6850541B2 (en) * 2002-09-30 2005-02-01 Intel Corporation Technique to measure network path bandwidth capacity using modal analysis

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231633A (en) 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5633859A (en) 1994-09-16 1997-05-27 The Ohio State University Method and apparatus for congestion management in computer networks using explicit rate indication
US5533020A (en) 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5533009A (en) 1995-02-03 1996-07-02 Bell Communications Research, Inc. Bandwidth management and access control for an ATM network
US5535201A (en) 1995-05-10 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. Traffic shaping system using two dimensional timing chains
AU6501496A (en) * 1995-07-19 1997-02-18 Ascom Nexion Inc. Point-to-multipoint transmission using subqueues
US5771234A (en) 1995-12-06 1998-06-23 Industrial Technology Research Institute Method and system for ATM cell multiplexing under constant bit rate, variable bit rate and best-effort traffic
US5793747A (en) * 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US6041059A (en) 1997-04-25 2000-03-21 Mmc Networks, Inc. Time-wheel ATM cell scheduling
US6014367A (en) 1997-04-25 2000-01-11 Mmc Networks, Inc Method for weighted fair queuing for ATM cell scheduling
US6408005B1 (en) * 1997-09-05 2002-06-18 Nec Usa, Inc. Dynamic rate control scheduler for ATM networks
US6359861B1 (en) * 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
CA2245367A1 (en) * 1998-08-19 2000-02-19 Newbridge Networks Corporation Two-component bandwidth scheduler having application in multi-class digital communication systems

Also Published As

Publication number Publication date
DE60017690D1 (de) 2005-03-03
US6625122B1 (en) 2003-09-23
EP1104219A3 (de) 2003-04-23
EP1104219B1 (de) 2005-01-26
EP1104219A2 (de) 2001-05-30

Similar Documents

Publication Publication Date Title
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69735333T2 (de) Digitales Netzwerk mit Gruppiervorrichtung für virtuelle Nachrichten-Übertragungspfade mit ähnlicher Übertragungsgeschwindigkeit zur Erleichterung eines effizienten Übertragungsablaufs
DE69937219T2 (de) Torablauffolgesteuerung und Verfahren zur Dienstenablaufsteuerung mit Garantieen und hierarchische Ratenlimitierung mit oder ohne Überbuchungsmöglichkeit
DE69825355T2 (de) ATM Zellenzuweisungsverfahren
DE69434329T2 (de) Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle
DE19634492B4 (de) Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
DE10317370A1 (de) Scheduler zum Melden einer Ablaufzeit
EP0730362A2 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
DE60017690T2 (de) Vorrichtung und Verfahren zur Datenauswahl mit Transfer von VC Repräsentationen in eine aktive Warteschlange
EP0566961A2 (de) Verfahren und Schaltungsanordnung zum Überprüfen der Einhaltung vorgegebener Übertragungsbitraten in einer ATM- Vermittlungseinrichtung
EP1593237B1 (de) Verfahren zur übertragungsbandbreitenzuteilung in einer pake torientierten kommunikationseinrichtung
DE4434724C1 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von einer ATM-Kommunikationseinrichtung zugeführten Nachrichtenzellen
DE60130383T2 (de) Verfahren zur verzögerungsausgeglichenen Zuweisung von Zeitschlitzen und Vorrichtung für Punkt-zu-Mehrpunktkommunikationsnetzwerke
DE19507569C2 (de) Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung
EP0660557A1 (de) Verfahren zum statistischen Multiplexen
DE60035846T2 (de) System für Ablaufsteurung zur Übertragung von ATM-Zellen
EP0763914A2 (de) Verfahren und Anordnung zum Anpassen der Übertragungsbitrate einer nach dem asynchronen Transfermodus arbeitenden Datenmultiplexeinrichtung
CH690887A5 (de) Former für einen Strom von Datenpaketen
DE10052904B4 (de) Warteschlangenbildungsverfahren zur Weiterleitung von Paketen in Folge
DE10062640B4 (de) Verfahren zur zeitlichen Steuerung der Ausgabe von Datenpaketen aus Netzknoten, Netzknoten und konfiguriertes Netz
EP0870416B1 (de) Verfahren zur priorisierung von zellenströmen in systemen, die informationen nach einem asynchronen transfermodus (atm) übertragen
DE69737249T2 (de) Paketvermitteltes Kommunikationssystem
EP0960551B1 (de) Verfahren und schaltungsanordnung zum übertragen von nachrichtenzellen im zuge von virtuellen verbindungen unterschiedlicher prioritäten
DE19549126C1 (de) Verfahren und Vorrichtung zum Multiplexen von Sprache und Daten

Legal Events

Date Code Title Description
8328 Change in the person/name/address of the agent

Representative=s name: FIENER, J., PAT.-ANW., 87719 MINDELHEIM

8364 No opposition during term of opposition