DE69635379T2 - Atm-drosselung - Google Patents

Atm-drosselung Download PDF

Info

Publication number
DE69635379T2
DE69635379T2 DE69635379T DE69635379T DE69635379T2 DE 69635379 T2 DE69635379 T2 DE 69635379T2 DE 69635379 T DE69635379 T DE 69635379T DE 69635379 T DE69635379 T DE 69635379T DE 69635379 T2 DE69635379 T2 DE 69635379T2
Authority
DE
Germany
Prior art keywords
row
data
queue
data segment
station
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
DE69635379T
Other languages
English (en)
Other versions
DE69635379D1 (de
Inventor
Olle Martinsson
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE69635379D1 publication Critical patent/DE69635379D1/de
Publication of DE69635379T2 publication Critical patent/DE69635379T2/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
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/24Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
    • H04J3/247ATM or packet multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L2007/045Fill bit or bits, idle words
    • 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/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • 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/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5674Synchronisation, timing recovery or alignment
    • 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/568Load balancing, smoothing or shaping
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Radio Relay Systems (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von Datenzellen von einem Knoten wo die Zellen zu verschiedenen Kanälen gehören und von einer Station in vorbestimmten Raten spezifisch für jeden Kanal übermittelt werden.
  • Hintergrund und Stand der Technik
  • Bei der Übermittlung von Anrufen oder Nachrichten in einem asynchronen Netzwerk wird jeder Anruf oder Nachricht in kurze Zellen oder Segmente geteilt, die in dem Netzwerk weitergeleitet werden, wobei jede Zelle dann zu einem spezifischen Anruf oder Nachricht oder allgemein zu einer besonderen logischen Verbindung gehört. Diese Verbindungen werden eingerichtet, wenn der Anruf durchgeführt wird oder die Anfrage zum Übermitteln einer Nachricht, z.B. einer digitalen Datei durch das Netzwerk durchgeführt wird. In Abhängigkeit von dem Benutzer oder Anfrager der Übermittlung wird jede logische Verbindung einer vorbestimmten Übermittlungsrate zugewiesen, die ein Bruchteil der gesamten Übermittlungsrate von Zellen für die Knoten in dem Netzwerk ist, wobei die Höhe des Bruchteils verschiedene Kosten für den Benutzer oder Anfrager verursacht. Es besteht dann ein Problem zum Ausgeben der Datenzellen in diesen Raten von einer Station in das Netzwerk, so dass diese vorbestimmten Raten nicht überschritten werden. Das gleiche Problem kann auch in einem Knoten innerhalb des Netzwerkes bestehen, wo die Übermittlungsraten der verschiedenen logischen Verknüpfungen unausgeglichen sein können durch die Tatsache, dass die Zellen verschiedene Pfade passieren können, dass Puffer voll sein können und einige Zellen dann fallen gelassen werden, etc.
  • In der veröffentlichten europäischen Patentanmeldung EP 0609 114 A1 ist ein Verfahren offenbart zum Übermitteln von Zellen in einem ATM-Netzwerk. Das Verfahren umfasst eine Anzahl von Schritten einschließlich, dass in einem der Schritte die Zellen durch ein kleinstes Zeitintervall getrennt sein können, das die maximal erlaubte Übermittlungsrate für den entsprechenden Benutzer darstellt. Die Zeittrennung wird mittels verschiedener Timer durchgeführt. Für jede Trennung der ersten Art werden die Zellen in einer Anzahl von Dateien von Zellen oder Listen von Zellen gesammelt, die sukzessiv übermittelt werden. In der anderen Trennung sind die Zellen mit verschiedenen erlaubten maximalen Übermittlungsraten über die Dateien oder Listen verteilt, für jede Übermittlungsrate gleich oder mit einem gleichen Abstand über Dateien oder Listen.
  • In der veröffentlichten internationalen Patentanmeldung WO 94/14266 A1 ist ein Verfahren zum Steuern des Flusses von Zellen durch Knoten in einem ATM-Netzwerk offenbart. Die Schalter bzw. Vermittlungen des Systems, die mit sowohl Eingangs- als auch Ausgangspuffern ausgerüstet sind, können mittels einer Drosselung den Fluss von Zellen von den Eingangspuffern steuern, wenn ein adressierter Ausgangspuffer überladen ist. In einer Ausführungsform weist jeder Ausgangspuffer eine Vorrichtung auf zum Erfassen seines Füllpegels, wobei der erfasste Wert kontinuierlich zum Steuern der Drosselung berichtet wird. Der Zweck der Drosselung ist hier primär nur zum Vermeiden einer Überlast oder eines Überfließen des Ausgangspuffers.
  • Andere, eine Drosselung in Netzwerken verwendende Systeme sind in US-Patent US 5,280,470 A und in der veröffentlichten europäischen Patentanmeldung EP 0 573 739 A2 offenbart.
  • Zusammenfassung
  • Es ist eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von Zellen, die zu verschiedenen logischen Verbindungen gehören, bereitzustellen, von einem betrachteten Punkt, wie einer Station oder einem Knoten, wo alle Zellen bei vorbestimmten Raten übermittelt werden, wobei das Handhabungsverfahren und die Vorrichtung nur eine einfache Hardware mit einer effizienten Verwendung von Speicherbereichen erfordert.
  • Insbesondere ist eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von Zellen von einer Station oder einem Knoten bereitzustellen, wo vorbestimmte Raten, die für Zellen eingerichtet werden, die zu verschiedenen logischen Verbindungen gehören, nicht überschritten werden und Zellen simultan von der Station bei der höchsten möglichen Gesamtrate übermittelt werden.
  • Insbesondere ist es eine weitere Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von Zellen von einer Station oder einem Knoten bereitzustellen, wo die Übermittlung von Zellen in dem Fall, wo die Summe von vorbestimmten Raten, die für Zellen eingerichtet sind, die zu verschiedenen logischen Verbindungen gehören, eine gesamte Übermittlungsrate der Station oder Knoten beschreiben oder, äquivalent ausgedrückt, die gesamte Übermittlungsbandbreite überschreitet, wobei alle vorbestimmten Raten in einer gleichen Weise erhöht werden, so dass keine Verbindung mehr als andere bevorzugt wird, z.B., dass keine Verbindung blockiert wird, wenn die anderen es nicht sind, und insbesondere, dass alle Verbindungen, die die gleiche vorbestimmte Rate aufweisen, gleich gehandhabt werden, und keiner von ihnen mehr Übermittlungszeit gegeben wird als den anderen.
  • Insbesondere ist es noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von Zellen von einem Punkt oder einer Station bereitzustellen, wo Zellen, die zu verschiedenen logischen Verbindungen gehören oder von verschiedenen Quellen an der Station mit verschiedenen Übermittlungsraten ankommen, und wobei zu einigen Zeitdauern selbst keine Zelle ankommen, die zu einigen Verbindungen gehören, wobei die Übermittlungskapazität den Verbindungen auf der Grundlage ihres augenblicklichen Bedarfs zugewiesen wird, so dass während dieser Zeitdauer bzw. Zeitperioden, wenn keine bereiten Zelle vorhanden sind, um übermittelt zu werden, einer Verbindung seine Teilung der gesamten Übermittlungsbandbreite gegeben wird auf der Grundlage der vorbestimmten Übermittlungsrate der Verbindung, und in anderen Fällen, wenn keine Zellen vorhanden sind, die Bandbreite verwendet wird zum Übermitteln von Zellen von anderen Verbindungen, wo die Übermittlung von der Verbindung schnell danach gestartet wird, wenn sie Zellen aufweist, die bereit sind, um übermittelt zu werden.
  • Es ist noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Übermitteln von Zellen von einer Station oder einen Knoten bereitzustellen, wo die Übermittlungsraten für Zellen, die zu verschiedenen logischen Verbindung gehören, mit einer hohen Auflösung und für jede Verbindung unabhängig von allen anderen Verbindungen eingestellt werden können.
  • Es ist noch eine Aufgabe der Erfindung Verfahren und Vorrichtungen zum Übermitteln von Zellen von einer Station oder einem Knoten bereitzustellen, wo die Übermittlungsraten für Zellen, die zu einer logischen Verbindung gehören, während der Übermittlung der Zellen verändert werden kann.
  • Es ist noch eine weitere Aufgabe der vorliegenden Erfindung Verfahren und Vorrichtungen zum Übermitteln von Zellen einer Station oder einem Knoten bereitzustellen, wo die gesamte Handhabungszeit zum Handhaben der Übermittlung von Zellen, die zu verschiedenen logischen Verbindungen gehören, prinzipiell nicht erhöht wird, wenn die Anzahl von eingerichteten logischen Verbindungen sich erhöht, und wo der Umfang von zusätzlicher Hardware, wie das Verfahren und in der Vorrichtung erforderlich ist, nur mäßig ist in dem Fall, wo das Verfahren und die Vorrichtung ausgeweitet werden zum Handhaben von mehr logischen Verbindungen als zuvor.
  • Es ist eine andere Aufgabe der Erfindung Verfahren und Vorrichtungen zum Handhaben einer Übermittlung von einer Station oder einem Knoten von Zellen bereitzustellen, die zu verschiedenen logischen Verbindungen gehören, wobei bei dem Verfahren und der Vorrichtung alle zu jeder Verbindung gehörende Zellen bei einer vorbestimmten Rate für jede Verbindung übermittelt werden, wobei das Handhabungsverfahren und die Vorrichtung einen geglätteten Zellenfluss aus der Station oder dem Knoten ergeben.
  • Gemäß der Erfindung wird ein Verfahren gemäß Anspruch 1 und eine Station gemäß Anspruch 12 bereitgestellt. Somit werden in einer Station oder einem Endgerät für ein Netzwerk Datenzellen von dem Endgerät übermittelt, und die Zellen werden angeordnet, um zu verschiedenen logischen Verbindungen zu gehören, wie von verschiedenen logischen oder physikalischen Quellen abgeleitet werden. Von jeder Quelle und somit Verbindung wird angenommen, dass sie eine besondere Übermittlungsrate erfordern, die nicht überschritten werden soll und die verändert werden kann. Dann wird für jeden einen eine Anzahl von aufeinander folgenden Zeitschlitzen eine Schlange bzw. Warteschlange angeordnet, wobei die erste oder laufende Warteschlange die ist, auf die durch ein Zeiger gezeigt wird. Die Zeitschlitzwarteschlangen umfassen in einer aufeinanderfolgenden Reihenfolge Identifizierer dieser Verbindungen, für die eine Datenzelle übermittelt werden soll, oder sie können in einigen speziellen Fällen gerade die Zellen selbst enthalten. Die erste Position in einer derartigen Warteschlange zeigt die Verbindung an, für die eine Datenzelle mit dem höchsten Prioritätsgrad gesendet werden soll. Die folgenden Positionen zeigen Verbindungen an, die einen niedrigen Grad einer Priorität in einer absteigenden Reihenfolge aufweisen. Die erste oder nächste Datenzelle der logischen Verbindung, deren Identifizierer der erste in der Zeitschlitzwarteschlange ist, auf den durch den Zeiger gezeigt wird, wird dann von der Station übermittelt und ein Identifizierer der gleichen Verbindung wird zu dieser anderen Warteschlange hinzugefügt, die einen Abstand von der betrachteten Warteschlange in der sequentiellen Reihenfolge von Warteschlangen aufweist, wobei dieser Abstand aus der Übermittlungsrate berechnet wird, die besonders für die Verbindung ist, zu der die übermittelte Zelle gehört. Danach wird der verbleibende Teil der ersten Warteschlange zu der nächsten Warteschlange übertragen und vor allen der Merkmale in dieser nächsten Warteschlange platziert. Die erste Warteschlange wird somit leer, und der Zeiger schreitet fort, um auf die nächste Warteschlange zu zeigen.
  • Im allgemeinen werden Datensegmente oder Zellen von einer Station übermittelt, wobei jedes Datensegment vorzugsweise die gleiche Länge aufweist. Es wird angenommen, das die Daten an der Station von verschiedenen logischen und/oder physikalischen Quellen ankommen oder zu der gleichen logischen Verbindung gehören. Es wird angenommen, dass jede Quelle eine besondere Übermittlungsrate erfordert oder ihr zugewiesen ist für die Datensegmente, die von den Daten abgeleitet werden, die von dieser Quelle ankommen, wobei diese Übermittlungsrate für diese Datensegmente nicht überschritten werden soll. Die Datensegmente werden von der Station einzeln und aufeinanderfolgende Male insbesondere bei periodischen Zeiten von der Station übermittelt.
  • Für jedes eine von aufeinanderfolgenden Malen von einer betrachteten laufenden Zeit, wird eine logische oder physikalische Warteschlange in einem dafür bereitgestellten speziellen Speichermittel angeordnet, wobei die erste Warteschlange die nächste oder laufende ist, betrachtet von dem derzeitigen Mal, wobei die zweite Warteschlange die Warteschlange unmittelbar nach der ersten, etc., ist. Jede der Warteschlagen umfasst in einer aufeinanderfolgenden Reihenfolge Identifizierer von diesen Quellen oder Verbindungen für die ein Datensegment ihrer übermittelt werden soll, oder sie können anstelle dessen die Datensegmente ihrer selbst oder Adressen derer enthalten, in dem Fall, wo die tatsächlichen Segmente in einigen anderen Speichermitteln gespeichert sind. Die erste Position in einer derartigen Warteschlange zeigt direkt oder indirekt in dem Fall, wo sie ein Datensegment oder entsprechend eine Adresse dessen enthält, die Quelle oder Verbindung an, für die ein Datensegment mit dem höchsten Prioritätsgrad gesendet werden soll, und die folgende höhere Position zeigt Quellen an, die einen niedrigeren Prioritätsgrad in der absteigenden Reihenfolge aufweisen.
  • Ein erstes oder nächstes Datensegment von der ersten angezeigten Quelle in der ersten Warteschlange oder das erste Datensegment in oder angezeigt als erstes in der ersten Warteschlange wird übermittelt, und danach wird der verbleibende Teil der ersten Warteschlange zu der nächsten Warteschlange übertragen und vor allen den Merkmalen, die möglicherweise bereits in dieser nächsten Warteschlange vorliegen, platziert, wobei eine interne aufeinanderfolgende Reihenfolge von Warteschlangenmerkmalen aufrechterhalten wird. Dann wird die erste Warteschlange entfernt und die verbleibenden Warteschlangen erneut nummeriert oder bewegt, so dass nun die vorherige zweite Warteschlange, die Warteschlange nach der nächsten, die erste sein wird, etc., wobei die aufeinanderfolgende Reihenfolge der Warteschlangen aufrechterhalten wird.
  • Warteschlangen werden bevorzugterweise nur für eine vorbestimmte Anzahl von aufeinanderfolgenden Malen bzw. Zeiten angeordnet, und dann nach dem Wiedernummerieren oder Bewegen der verbleibenden Warteschlangen wird eine letzte Warteschlange zu dem Satz von Warteschlangen hinzugefügt, wobei diese letzte Warteschlange leer ist und in einer zyklischen Weise der zuvor entfernten ersten Warteschlange entspricht.
  • Es kann auch ein Ausgabepufferspeicher angeordnet sein, und in diesem Fall, wenn ein Datensegment übermittelt werden soll, wird es platziert oder eine Anzeige des Datensegmentes wird platziert in dem Ausgabepuffer, und dann wird es physikalisch von der Station übermittelt, und in dieser Operation wird es oder seine Anzeige wiedererhalten und von dem Ausgabepuffer entfernt.
  • Es kann passieren, dass die erste Warteschlange leer ist und dann kein Datensegment übermittelt wird. Offensichtlicherweise könnte ein Datensegment dann von der folgenden Warteschlange übermittelt werden, aber es würde die Bedingung verletzen, dass die gesetzten Übermittlungsraten für die Kanäle nicht überschritten werden sollten, wie hiernach deutlich wird. Anstelle dessen, in dem Fall, in dem die erste Warteschlange leer ist, kann ein spezielles Datensegment oder eine Anzeige dessen in dem Ausgabepuffer platziert werden, wobei dieses spezielle Datensegment eine derartige Konstruktion aufweist oder von einem derartigen Typ ist, dass es leicht erkannt werden kann und nicht von der Station übermittelt wird.
  • Die Übermittlung von der Station wird bevorzugterweise periodisch durchgeführt in einheitlich verteilten und gleichlangen physikalischen Zeitschlitzen, und dann wird die Übermittlung von Datensegmenten sequentiell ausgeführt von den Segmenten, die in dem Ausgabepuffer gespeichert sind oder angezeigt sind, ein Segment zu jeder dieser periodisch wiederholten Zeiten. In dem Fall, in dem das spezielle Datensegment oder eine Anzeige dessen in der nächsten Position in dem Ausgabepuffer angeordnet ist, wo ein Datensegment oder eine Anzeige dessen gespeichert werden sollte und zu übermitteln ist, wird kein Datensegment zu der entsprechenden periodischen Zeit übermittelt. Dieses kann auch notwendig sein zum Sicherstellen, dass die gesetzten Übermittlungsraten nicht überschritten werden.
  • Unmittelbar bevor oder nach dem Schritt zum Entfernen der ersten Warteschlange oder nach Hinzufügen einer leeren letzten Warteschlange wird der folgende Schritt durchgeführt, der im allgemeinen die Drosselung sicherstellt. Dann wird ein Identifizierer der gleichen Datenquelle oder ein nächstes Datensegment oder eine Adresse dessen von der gleichen Quelle, von der ein Datensegment übermittelt wurde, zu dieser Warteschlange hinzugeführt, die einen Abstand von der entfernten Warteschlange in der sequentiellen Reihenfolge von Warteschlangen aufweist, wobei dieser Abstand aus der Übermittlungsrate für die Quelle bestimmt wird, zu der das Datensegment gehört. Die Hinzufügung wird vorzugsweise zuerst in dieser Warteschlange durchgeführt.
  • In dem Fall, in dem eine Quelle oder eine Verbindung, die zuvor keinen Identifizierer ihrer selbst oder irgendeines ihrer Datensegmente oder Adressen dessen in irgendeiner Warteschlange aufgewiesen hat, beginnt aktiv zu werden, dass ist in dem Fall, wo sie wenigstens ein von der Station zu übermittelndes Datensegment erhält, wird ein Identifizierer dieser Quelle oder Verbindung oder das nächste ihrer Datensegmente oder eine Adresse dessen vorzugsweise zu der Warteschlange hinzugefügt, die die nächste nach der derzeitigen ist. Die Hinzufügung wird vorzugsweise als letztes in dieser Warteschlange durchgeführt.
  • Eine Station zum Ausführen der beschriebenen Schritte umfasst dann ein Übermittlungsmittel zum Übermitteln der Datensegmente eins nach dem anderen und zu aufeinanderfolgenden Zeiten, ein Speichermittel zum Speichern für jede von aufeinanderfolgenden Zeiten von einer betrachteten laufenden Zeit, eine logische oder physikalische Warteschlange und ein geeignet angepasstes Steuerungs- oder Verarbeitungsmittel. Das Speichermittel kann dann zum Speichern nur einer vorbestimmten Anzahl von aufeinanderfolgenden Warteschlangen angeordnet sein, und insbesondere kann das Speichermittel angeordnet sein zum Speichern der Warteschlangen in einer zyklischen Weise, und dann ist ein Speicherfeld angeordnet zum Speichern eines Zeigers, der auf eine laufende der zyklisch angeordneten Warteschlangen zeigt. Ein Ausgabepuffer kann zum Speichern von Datensegmenten oder Anzeigen dessen bereitgestellt werden vor der tatsächlichen Übermittlung von der Station. Ein spezielles Datensegment oder eine Anzeige dessen kann in einem Speicherfeld gespeichert sein, das dafür angeordnet ist, um zu dem Ausgabepuffer kopiert zu werden, zum Anzeigen eines leeren Platzes, wo erforderlich, so dass das Übermittlungsmittel kein Datensegment der Station übermitteln wird, wenn dieses spezielle Datensegment in dem Ausgabepuffer gefunden wird. Ein Speicherfeld kann für jede Quelle oder Verbindung zum Halten eines Abstandswertes oder Anzahl bereitgestellt werden, die bei der Übermittlungsrate für die Quelle bestimmt wird.
  • In dem Fall, wo das Speichermittel für die Warteschlangen Identifizierer von Quellen umfasst, sind die Speichermittel zum Speichern der Quellenidentifizierer vorteilhafterweise als eine verknüpfte Liste angeordnet, einschließlich eines ersten Speichermittels mit Feldern zum Speichern der ersten Merkmale in jeder Warteschlange, zweiten Speichermitteln mit Feldern zum Speichern der letzten Merkmale in jeder Warteschlange und dritten Speichermitteln mit Feldern in einer sequentiellen Reihenfolgen. Jedes Feld in dem dritten Speichermittel weist eine sequentielle Reihenfolgennummer auf und sie sind zum Speichern nächster Merkmale in den Warteschlangen angeordnet, so dass die sequentielle Reihenfolgennummer eines Feldes das Merkmal unmittelbar anzeigt vor dem in dem Feld gespeichertem Merkmal.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird nun im Detail erklärt durch Beschreiben eines spezifischen, nicht einschränkenden Ausführungsbeispiels mit Bezugnahme auf die beigefügten Zeichnungen, in denen
  • 1 eine schematische Ansicht eines Netzwerkes ist,
  • 2 ein Blockdiagramm eines Endgerätes ist,
  • 3 ein Flussdiagramm ist, das die Funktionsschritte zeigt, die durch die Empfangsfunktion ausgeführt wird,
  • 4 das Zellendrosselprinzip darstellt,
  • 5 logische Warteschlangen ihre Zwischenverbindung zeigt,
  • 6 ein Flussdiagramm ist, das Prozesse zum Modifizieren von Drosselwarteschlangen zeigt,
  • 7 ein Flussdiagramm ist, das Verarbeitungsschritte zeigt, die durch eine Übermittlungsfunktion durchgeführt werden,
  • 8 und 9 ein Beispiel der Drosselungsverarbeitung darstellt,
  • 10 schematisch einen FIFO-Speicher zeigt, der für eine Übermittlung in dem Drosselungsbeispiel in 9 und 10 verwendet wird,
  • 11 ein Beispiel eines Zeitdiagramms des Füllungspegels des FIFO-Speichers zeigt,
  • 12 für das Beispiel von 11 ein Zeitdiagramm der Aktivität für die Übermittlungsaufgabe zeigt.
  • Detaillierte Beschreibung
  • Die Erfindung bezweckt vorzugsweise in einem ATM-Netzwerk ausgeführt zu werden, wo digitale oder digitalisierte Daten übermittelt werden. Eine Standard-ATM-Zelle enthält 53 Oktette oder Bits von digitalen Daten. Ein Datenpaket kann sich über verschiedene aufeinanderfolgende Zellen erstrecken, aber hiernach werden nur individuelle Zellen betrachtet. Ein Anruf, eine Nachricht oder digitale Datendateien können allgemein in oder durch das Netzwerk als ein Datenpaket übermittelt werden und werden somit immer verschiedene Datenzellen und oft eine große Anzahl von Zellen umfassen.
  • In 1 ist ein Netzwerk 1 vom ATM-Typ schematisch dargestellt, das für die Übertragung von Datenpaketen von einem Eingabeendgerät 3 zu einem Ausgabe- oder Bestimmungsendgerät 5 gedacht ist. Die Endgeräte 3, 5 können im allgemeinen sowohl Übermittler als auch Empfänger der Datenpakete sein und sie können in jeder Anzahl vorliegen, aber in der Figur sind nur eine Übermittlungsrichtung und ein Eingabeendgerät und ein Ausgabeendgerät dargestellt. Das Netzwerk umfasst im allgemeinen eine Mehrzahl von zwischengeschalteten Vermittlungsknoten oder Vermittlungen, von denen eine an 7 dargestellt ist. Die Vermittlungseinheiten 7 sind somit mit anderen nicht gezeigten ähnlichen Vermittlungsknoten verbunden.
  • Wenn eine Endgerätestation 3 anfragt eine Ausgabe von Datenpaketen in das Netzwerk zu der Bestimmungsstation 5 zu starten, wird sie irgendein Signal oder eine Nachricht zu irgendeinem Vermittlungsknoten innerhalb des Netzwerkes senden, um darüber zu informieren. Diese Nachricht enthält auch eine Information, die eine spezifizierte Übermittlungsrate der zu übermittelnden Zellen anfragt. Dann wird ein logischer Signalpfad durch das Netzwerk durch den Austausch verschiedener Nachrichten oder Steuerungsinformation zwischen dem Vermittlungseinheiten wie 7 innerhalb des Netzwerkes 1 eingerichtet. Wenn ein Verbindungspfad eingerichtet ist, kann eine Nachricht oder ein Signal von dem Netzwerk 1 zu der Eingabeendgerätestation 3 übermittelt werden, die eine angefragte Verbindung aufweist, dass die Verbindung nun eingerichtet ist und bereit ist, um für die Übertragung von Datenpaketen von der Eingabestation 3 verwendet zu werden.
  • Das Eingabe- oder Quellenendgerät 3 kann selbst Nachrichten oder Anrufe oder dergleichen von verschiedenen Quellen empfangen, z.B. von einem anderen Netzwerktyp 9, durch eine geeignete Brücke 11 von einem örtlichen Bereichscomputernetzwerk 13 durch eine Brücke 15, die mit einem Kommunikationscomputer oder einem Server 17 in dem LAN 13 verbunden ist, das auch verschiedene Personal Computer oder Work-Stations 19, einen Hauptserver 20, etc., umfassen kann. Eine Hochgeschwindigkeits-Work-Station 21 kann auch mit dem Eingabeendgerät 3 durch eine geeignet Adapterkarte oder Einheit für die Work-Station und eine Brücke 22 verbunden sein. Das Eingabeendgerät 3 kann selbst ein integrierter Teil der Kommunikationsvorrichtung sein, z.B. in der Form eines Zugriffsboards, das in einem gewidmeten Kommunikationsserver angebracht ist.
  • In dem Eingabeendgerät 3 müssen besondere Prozesse zum Übermitteln von Zellen von verschiedenen logischen Verbindungen bereitgestellt werden in den Raten, die beim Einrichten der Verbindungen eingestellt worden sind. Natürlich will eine Datenquelle, die kommuniziert werden soll, normalerweise die Daten zu der Bestimmung so schnell wie möglich übertragen. Jedoch können die Kosten für verschiedene Übermittlungsraten über das Netzwerk verschieden sein. Auch können die Schaltkreise und/oder Datenspeichermittel an der Bestimmung nicht die Kapazität zum Empfangen von Daten bei einer zu hohen Datenrate aufweisen. Somit besteht eine Notwendigkeit für einen Mechanismus zum Ausgeben von Daten in das Netzwerk bei einer maximalen Geschwindigkeit oder Rate, wobei dieser Rate erlaubt ist unterschiedlich für unterschiedliche Bedürfnisse und Quellen zu sein, und somit für unterschiedliche logische Verbindungen, die normalerweise in Netzwerken der hierin diskutierten Art sind. Dieses kann dann ein anderes Problem in dem Fall aufwerfen, in dem eine Datenquelle anfragt seine Daten bei einer konstanten Bitrate über das Netzwerk übertragen zu bekommen. Dieses kann zum Beispiel passieren bei Quellen, die Echtzeitdaten ausgeben, wie Videodaten für bewegte Bilder. Eine Lösung für dieses Problem könnte sein, einer derartigen Quelle eine maximale Datenrate zuzuweisen, die gleich oder leicht höher als die ist, die durch Quelle erforderlich ist, in dem Fall ist ein direkter Datenpfad von dieser zu der Bestimmung bereitgestellt worden ohne Vermittlungsknoten und nicht durch anderen Verkehr gestört. Eine andere Lösung könnte sein das Konzept einzuführen, das für einige Kanäle die Information direkt das Netzwerk passiert, insbesondere, dass die Zellen, die zu einem derartigen Kanal gehören, immer direkt von diesen Stationen oder Knoten übermittelt werden. Dieses wird die Komplexität des Systems erhöhen.
  • Bei der Übermittlung von Zellen von dem Eingabeendgerät 3 wird in Betracht gezogen die Zeit in vorzugsweise gleichlange Zeitschlitze TS zu teilen, und in jedem derartigen Zeitschlitz wird entweder eine Zelle oder keine Zelle von dem Endgerät übermittelt. Ein typischer Abstand zwischen dem Beginn von zwei aufeinanderfolgenden Zeitschlitzen sollte dann der Größenordnung der Höhe für die betrachtete Ausgabeverknüpfung entsprechen, was für eine Übermittlungsrate von annähernd 10 Megabit/Sekunde 42,4 Mikrosekunden ergibt. Der Abstand ist ebenfalls dementsprechend wenigstens 2,73 Mikrosekunden für eine Verknüpfung von 155 Megabit/Sekunde.
  • Eine maximale Übermittlungsrate wird für jede logische Verbindung definiert, deren invertierter Wert einem Minimalabstand zwischen Zeitschlitzen MDTS entspricht. Der Minimalabstand kann in mehrfachen der geringsten möglichen Zeitabständen zwischen aufeinanderfolgenden Zellen in einem betrachteten Netzwerk ausgedrückt werden. Wenn die Übermittlungsrate angenommen wird 10 Megabits/Sekunde zu sein mit einem Minimalabstand von zwei aufeinanderfolgen Zeitschlitzen 42,4 μs, dann ist eine MDTS gleich 1 äquivalent zu der maximalen Ausgaberate, das ist eine Zellenzeit von 42,4 μs, was bedeutet, dass eine Zelle, die zu der betrachteten logischen Verbindung gehört maximal in jedem Zeitschlitz übermittelt werden soll, das bedeutet, dass dann keine Zellen von anderen Warteschlangen übermittelt werden könnten. Ein MDTS = 2 ist äquivalent zu der Hälfte der maximalen Ausgaberate, das bedeutet 5 Megabit/Sekunde, ein MDTS = 3 ist ein Drittel der maximalen Ausgaberate, das ist 3,3 Megabit/Sekunde, etc.
  • Die gleiche Verarbeitung wie in einem Eingabeendgerät 3 kann auch in einem inneren Knoten 7 des Netzwerkes 1 ausgeführt werden, da eine neue Drosselung der Zellenraten infolge von nicht ausgeglichen Charakteristiken des ATM-Netzwerkes benötigt werden kann, wo einige Knoten manchmal inaktiv sein können, einige Zellen verloren gehen können, eine interne Pufferung von variierenden Kapazitäten in dem Knoten auftreten kann, etc. Andernfalls können einige logische Verknüpfungen ihre Zellen temporär bei zu hohen Geschwindigkeiten über das Netzwerk übertragen lassen.
  • Derartige Prozesse in einem Eingabeendgerät 3 oder möglicherweise in einem internen Knoten 7, die hier als eine Empfangsfunktion 201, siehe 2, Verwaltungsnachrichten, Dateien, Paket bzw. Zellen betrachtet werden, kommen an dem Endgerät oder Knoten durch eine Segmentierung oder Teilung der angekommenen Daten in geeignete Datensegmente wie ATM-Zellen an. Die Empfangsfunktion 201 verwaltet die Speicherung der Zellen in Zellenwarteschlangen pro logische Verbindung, wobei jede einen Verbindungsindentifizierer CEI aufweist, wobei die Identifizierer dann auch jede einer Warteschlange von Zellen definiert, die zu einer betrachteten Verbindung gehören. Es besteht ferner in dem Eingabeendgerät oder Knoten ein Drosselungsprozess oder Mechanismus 203, dessen Zweck es ist die Übermittlungsfunktion oder Zellenerzeuger 205 zu informieren, welche Zellen übermittelt werden sollen, so dass die Zellen in den vorbestimmten Raten weitergeleitet werden. Es kann durch Liefern einer Liste von Ausgangsverbindungsidentifizierern CEI an die Übermittlungsfunktion 205 durchgeführt werden. Somit muss der Drosslerprozess 203 nicht exakt die zu übermittelnden Zellen definieren, sondern kann nur die Warteschlangennummer oder äquivalent die logischen Verbindungen in einer korrekten sequentiellen Reihenfolge angeben, so dass in diesem Fall die Übermittlungsfunktion die nächste Verbindungsnummer von der Liste nimmt und die nächste Zelle in der Warteschlange übermittelt, die für diese Verbindung angeordnet ist. Jedoch wird hiernach im Detail eine Prozedur für das Aufgabehandhaben beschrieben.
  • Die grundlegende Prozedur, die in der Empfangsfunktion 201 durchgeführt wird, wird durch das Flussdiagramm von 3 dargestellt, die Organisation des Speichers dafür wird durch Felder oder Blöcke unten in 2 gezeigt.
  • Somit handhabt die Empfangsfunktion 201 die Segmentierung von Daten, die an dem Eingabeendgerät oder Knoten ankommen, und das Speichern von Zellen, die von den Daten erhalten werden durch Speichern der Zellen in Warteschlangen, die für die logischen Verbindungen angeordnet sind, die derzeit vorliegen. Somit wird zuerst, siehe 3, in einem Block 301 abgewartet, dass ein Datenpaket oder eine Zelle an einem Eingaberegister 207 des Endgerätes oder Knotens ankommen soll, wobei die Zelle oder die Zellen dessen in den Empfangsregistern oder Eingabepuffern 209 gespeichert werden sollen, siehe 2. Diese Puffer 209 sind somit eingerichtet, einer für jede laufende aktive oder offene logische Verbindung, und werden auch CEI-Warteschlangen genannt, geeigneterweise nummeriert mit 1, 2, 3, ..., oder weisen möglicherweise irgendeine andere spezifische Identifizierung auf. Für jede derartige CEI-Warteschlange bestehen Register oder Speicherzellen, die notwendige Daten zum Verwalten der Puffer halten, die vorzugsweise zyklisch organisiert sind. Somit ist die Verbindungsnummer der Zellen in dem Puffer in einem Register 211 gespeichert, der Ratenauswähler MDTS der Verbindung ist in einem Register 213 gespeichert, ein Zeiger auf die erste gespeicherte Zelle in dem Puffer ist in einem Feld 215 gespeichert, und ein Zeiger auf die nächste Position in dem Puffer, wo eine neue Zelle gespeichert werden kann, ist in einem Register 217 gespeichert. In einem Feld 221 ist ein Anzeiger für einen aktiven Zustand gespeichert, der anzeigt, ob die Warteschlange aktiv ist, das heißt, ob die Warteschlange an dem Drosselungsprozess teilnimmt. Die in einem Puffer 209 gespeicherten Zellen sind noch nicht von der Station oder den Knoten übermittelt worden und eine Zelle, die physikalisch durch die Übermittlungsfunktion 205 gesendet wurde, wird entsprechend einer Ausführungsform immer in dieser Instanz entfernt, oder in einem bevorzugten Fall wird eine derartige Zelle vorher von ihrer CEI-Warteschlange 209 entfernt, wie hiernach beschrieben wird.
  • Wenn in Block 301 entschieden wird, dass irgendeine weiterzuleitende Information von der Station vorliegt, derart, dass ein neues Paket oder Zelle angekommen ist, wird die neue Information in einem Block 303 verarbeitet, und die Information wird einer logischen Verbindungsnummer zugewiesen. Einige logische Verbindungsnummern oder äquivalente Daten, die zu einer logischen Verbindungsnummer zeigen oder diese einschließen, können aus dem Paket oder der Zelle extrahiert oder wiedererlangt werden, zum Beispiel von dem Kopfteil einer ATM-Zelle, gemäß dem verwendeten Protokoll. Dann können auch einige Bits in dem Kopf des gesamten Kopfes eines Pakets oder einer Zelle, wenn erforderlich, entfernt werden. Die Anzahl von durch die empfangenen Daten erzeugten ATM-Zellen wird auch berechnet. Die logische Verbindungsnummer der angekommen Daten könnte auch auf andere Weise, z.B, durch Hardwaresignale, bestimmt werden.
  • Dann wird im Block 305 bestimmt, ob der Eingabepuffer für die logische Verbindung der Information aktiv ist, das bedeutet, wenn er an dem Drosselungsprozess teilnimmt und somit in jeder TS-Warteschlange vorliegt, was hiernach beschrieben wird. Das wird durchgeführt durch Testen des Anzeigers für einen in dem Speicherfeld 221 gespeicherten aktiven Zustand. Wenn er inaktiv ist, wird in Block 307 ein Signal an die Drosselungsfunktion 203 gesendet, die mitteilt, dass die betrachtete Warteschlange nun wieder aktiv geworden ist, und es wird auch der Zustandsanzeiger in dem Feld 231 verändert, um anzuzeigen, dass die Warteschlange aktiv ist. In einem Block 309 wird dann eine Zelle in ihrem zugehörigen Puffer 209 bei der durch den in Feld 217 gespeicherte Endpositionszeiger spezifizierten Position gespeichert, und der Endpositionszeiger wird dann einen Schritt zyklisch erhöht. Dann wird in Block 311 bestimmt, ob mehr zu speichernde Zellen bestehen. Wenn dies nicht der Fall ist, wird der Startblock 301 wieder ausgeführt. Wenn jedoch eine andere zu speichernde Zelle besteht wird ein Block 313 ausgeführt, wo entschieden wird, ob ein Abstand in dem betrachteten Puffer für eine andere Zelle besteht. Das wird durchgeführt durch Vergleichen der Start- und Endpositionszeiger, die in Feldern 215 bzw. 217 gespeichert werden. Wenn die gleich sind ist der Puffer voll, und dann kann die Prozedur warten bis ein leerer Abstand bzw. Platz in dem Puffer besteht durch wiederholtes Rückgeben zu diesem Block 313. Alternativ kann die Zelle fallengelassen werden wie durch Block 315 vorgeschlagen, der in gepunkteten Linien gezogen ist.
  • Die durch den Drosselungsmechanismus 203 durchgeführten Operationen sind in 4 dargestellt, wobei es den kritischen Schritt der betrachteten Ausgabehandhabung darstellt, eine Warteschlange von weiterzuleiten Datenzellen auf einer derartigen Weise herzustellen, dass die zuvor georderten oder befohlenen Bitraten für jede logische Verbindung erhalten werden oder wenigstens und in jedem Fall nicht überschritten werden. Wie in den Bild von 4 dargestellt ist, besteht eine Anzahl von Warteschlagen 223, die als TS-Warteschlangen bezeichnet werden, wobei jede Warteschlange zu einem betrachteten aufeinanderfolgenden Zeitschlitz TS gehört, der physikalisch einige Zeit nach der betrachteten vorliegenden Zeit auftritt. Es besteht die finite Zahl von TS-Warteschlangen 223, siehe auch 2, und sie kann dann zyklisch angeordnet sein, und in dem Beispiel von 4 kann angenommen werden, dass 256 Warteschlangen bestehen. Ein in einem Speicherfeld 225 gespeicherter TS-Zeiger zeigt auf die nächste vorliegende oder betrachtete TS- Schlitzwarteschlange 223. Dann wird von einer betrachteten Startzeit, d.h., die eine auf die der TS-Zeiger in dem Feld 225 zeigt, jeder der nächsten folgenden Zeitschlitze zu einer entsprechenden TS-Warteschlange 223 zugeordnet, wobei dann derartige Warteschlangen für die nächsten 255 aufeinanderfolgenden Zeitschlitze angeordnet werden. Eine TS-Warteschlange 223 enthält eine Liste von Anzahlen von CEIs, das sind Identifizierungsnummern von Eingabewarteschlangen 209, und sie kann entweder leer sein oder einen oder verschiedene CEI-Nummern enthalten. Die CEI-Nummern in den TS-Warteschlangen oder Listen 223 sind alle verschieden, das bedeutet, dass jede CEI-Nummer nur einmal in allen der CEI-Warteschlangen auftreten kann. Die CEI-Nummern in einer TS-Warteschlange oder Liste 223 sind in einer sequentiellen Reihenfolge angeordnet, die erste CEI in einer Liste zeigt auf den Eingabepuffer, der an diesem von der Station zu übermittelnden Zeitschlitz der nächste ist oder die höchste zu übermittelnde Priorität aufweist.
  • Die CEI-Nummern müssen nicht physikalisch in eine separate Zeitschlitzwarteschlange oder Liste 223 für jede logische Verbindung eingegeben werden, die durch das Bild von 4 vorgeschlagen wird, aber sie können vorteilhafterweiser mit einer logischen TS-Warteschlange verbunden sein, wobei sie nur als die Nummer dessen besteht, über eine verknüpfte Liste, die hiernach beschrieben wird. In dem letzteren Fall weist dann jede logische TS-Warteschlange einen Anfang von einem Warteschlangenzeiger auf und ein Ende von einem Warteschlangenzeiger, der auf die erste CEI-Nummer bzw. die letzte CEI-Nummer in der betrachteten TS-Warteschlange zeigt.
  • Die physikalische Nummer von TS-Warteschlangen, die nicht angeordnet werden müssen, hängt grundsätzlich von dem Verhältnis zwischen der kleinsten Drosselungsrate, die einer Verbindung zugewiesen werden kann, und der gesamten Drosselungsrate der Station ab, und in dem hierin beschriebenen Beispiel mit einer gesamten Übermittlungsrate von 10 Megabit/Sekunde und Standardkanälen von einem Mehrfachen von 64 Kilobit/Sekunde könnte ein typischer Wert zum Beispiel 256 TS-Warteschlangen sein. Das bedeutet, dass zu jedem Moment alle Zeitschlitze TS eine Zeitposition von 256 Zeitschlitzen aufweisen, und später nach derzeitig laufenden Zeitschlitz leere, d.h. nicht existierende Warteschlangen, aufweisen.
  • Die Nummern von einer CEI-Warteschlange 209, die zur vorliegenden Zeit keinerlei zu übermittelnde Zellen aufweist, d.h. nicht aktiv ist, liegt normalerweise nicht in jeder TS-Warteschlange 223 vor. Die Identifizierungsnummer einer CEI-Warteschlange, die zuerst nichts zu senden hat und dann Zellen zum Senden erhält, wird zu einem gewissen Moment in eine der TS-Warteschlangen 223 geschrieben, die unten betrieben wird, und wird durch die Empfangsfunktion 201 in Block 319 signalisiert, wie oben beschrieben wurde.
  • Wenn die Drosselungsmaschine 203 annimmt eine CEI-Warteschlange zu finden, von der die nächste Zelle gesendet werden soll, ist die Prozedur:
    • 1. Der in dem Feld 225 gespeicherte TS-Zeiger wird um einen Schritt erhöht, normalerweise gleich 1.
    • 2. Wenn die TS-Warteschlange 223 auf die der Zeiger 225 nun zeigt leer ist wird keine Zelle an diesen TS übermittelt. Wie durch den Pfeil angezeigt wird, der auf den Behälter 427 in 4 zeigt, wird an die Übermittlungsfunktion 205 irgendwie signalisiert, dass keine Zelle während dieses Zeitschlitzes übermittelt wird.
    • 3. Wenn die durch den in Register 225 gespeicherten Zeiger angezeigte TS-Warteschlange 223 nicht leer ist, wird die erste, das ist die Start- oder nächste Zelle der ersten CEI-Warteschlange, die in dieser TS-Warteschlange 223 aufgelistet ist, zu der Zellenübermittlungsfunktion 205 bewegt, die durch den Pfeil 428 und den Block 205 von 4 angezeigt ist. Die erste Zelle ist die, auf die durch den in Feld 215 gespeicherten Zeiger gezeigt wird für diese CEI-Warteschlange. In einer unten im Detail zu beschreibenden Ausführungsform wird die betrachtete Zelle zu einer Übermittlungswarteschlange der Übermittlungsfunktion in dem Fall bewegt, in dem die Übermittlungswarteschlange nicht voll ist.
    • 4. Der Rest dieser TS-Warteschlange 223 wird, wenn die Warteschlange mehr als eine Anzahl von CEIs enthält, wie durch Pfeil 429 angezeigt ist, vor die TS-Warteschlange 223 des nächsten nachfolgenden Zeitschlitzes geschoben, d.h., die TS-Warteschlange hat die Zahl TSP + 1, wobei TSP der laufende Wert des Zeitschlitzzeigers ist, wie in Feld 225 gespeichert. Die laufende TS-Warteschlange 223 wird dann leer.
    • 5. Die Zellenübermittlungsfunktion 205 sendet in dem einfachsten Fall die auf die oben beschriebene Weise erhaltene Zelle von der Drosselungsfunktion 203, beginnend an dem nächsten physikalischen Zeitschlitz, der auf der Ausgabeseite der Station verfügbar ist. Ebenso wird die CEI-Nummer dieser Zelle, wie durch den Pfeil 431 angezeigt, vor die TS-Warteschlange des Zeitschlitzes geschoben, der die Zeitpositionsnummer (TSP + MDTS) aufweist, wobei TSP die Zeitpositionsnummer der laufenden betrachteten TS-Warteschlange ist, die durch den laufenden Wert des TS-Zeigers im Feld 225 gegeben ist, und MDTS, der in einer Anzahl von Zeitschlitzen gegeben ist, wie oben in der Minimaldistanz zwischen Zeitschlitzen für die CEI-Warteschlange definiert ist und wie in dem Register 213 gespeichert ist. Wenn die Zellenübermittlungsfunktion 205 herausfindet, dass die Warteschlange 209 dieser CEI zum Senden in dieser Instanz keine Zelle aufweist, d.h., wenn sie eine leere Zellenwarteschlange ist, wird nichts oder wenigstens keine nützliche Information aus diesem Zeitschlitz gesendet, und diese CEI-Nummer wird nicht zurück zu irgendeiner späteren TS-Warteschlange 223 geschrieben. Dieser Fall könnte auch möglicherweise früher erfasst werden, während der Auswahl, die durch die Drosselungsfunktion 203 gemacht wird, von der betrachteten CEI-Warteschlange, von der eine Zelle weitergeleitet werden soll. Ein Signal kann dann in jedem Fall zu der Empfangsfunktion 201 gesendet werden, die informiert, dass diese CEI-Warteschlange 209 nun inaktiv sein soll, dass heißt, das den in Feld 221 gespeicherte Zustandsanzeiger dieser CEI-Warteschlange dem gemäß eingestellt werden kann, zum Anzeigen eines nicht aktiven Zustandes.
  • Wenn eine Zelle bereit wird, um von einer CEI-Warteschlange 209 gesendet zu werden, wie durch Empfangsfunktion 201 gehandhabt, vergleiche Block 307 von 3, liegt diese Warteschlange nicht bereits in irgendeiner TS-Warteschlange 223 vor, wird dieser CEI-Wert zu der TS-Warteschlange 23 hinzugefügt, von der eine Zelle als nächstes zu senden ist, d.h. zu der TS-Warteschlange mit der Nummer (TSP + 1), die in dem bevorzugten Fall nachdem eine mögliche andere CEI-Warteschlangennummer in der TS-Warteschlange vorliegt eingefügt wird. In dem Fall, in dem diese TS-Warteschlange leer ist, wird diese erste Zelle der aktivierten Warteschlange dann in der nächsten TS übermittelt, was bedeutet, dass die Übermittlung von einer neuen Warteschlange oder einer Warteschlange, die in einem aktiven Zustand zurückgekehrt ist, unmittelbar gestartet wird.
  • Gemäß der obigen Beschreibung wird eine CEI-Nummer zurück in die letztere TS-Warteschlange 223 geschrieben, auch wenn die letzte Zelle derzeit in der CEI-Paketwarteschlange 13 übermittelt worden ist oder wenigstens übertragen worden ist, um durch die Übermittlungsfunktion 205 gehandhabt zu werden. Diese CEI-Nummer wird anstelle dessen von den TS-Warteschlangen entfernt, d.h. nicht zurückgeschrieben, zu der nächsten Zeit, wenn die Drosselungsmaschine 203 diese CEI als die eine auswählt, von der eine Zelle gesendet werden soll, aber natürlich nur in dem Fall, in dem keine neue Zelle in der Zwischenzeit in die betrachtete CEI-Warteschlange 209 eingefügt worden ist, vergleiche Block 317 und 319 von 3. Der Grund für dies ist einen Zellenabstand von wenigstens MDTS auch für den Fall zu garantieren, wenn ein neues Paket, das ist eine Gruppe von Zellen, bereit ist für die Übermittlung, gerade nachdem die letzte Zelle des vorangegangenen Paketes übermittelt worden ist. Das bedeutet, dass, wenn die Zellen eines neuen Paketes bereit werden zum Drosseln und der CEI-Wert nicht bereits in irgendeine TS-Warteschlange geschrieben ist oder darin gefunden wird, ist es möglich den frühst möglichen Zeitschlitz für ein Übermitteln der ersten Zelle des Paketes auszuwählen, andernfalls könnte es auftreten, dass eine Quelle die Station mit Paketen oder Zellen in einer geeigneten Rate derart speist, dass zuerst immer eine, die einzige Zelle in der Warteschlange übermittelt wurde, die Warteschlange dann leer gefunden wird, dann unmittelbar eine neue Zelle gesendet wird von der Warteschlange, um diese Zelle zu dem nächsten nachfolgenden Zeitschlitz zu drosseln.
  • Dies bedeutet jedoch, dass ein Zeitschlitz jedes mal verloren geht, wenn eine CEI-Identifizierungsnummer oder eine CEI-Warteschlange 209 von dem TS-Warteschlangensystem entfernt wird. Dieser Effekt sollte in Betracht gezogen werden, wenn ein Zeitabstand zwischen zwei Zeitschlitzen definiert wird, d.h., die gesamte Drosselungsrate aus dem System heraus.
  • Die TS-Warteschlangen 223 können nicht-physikalische Listen oder Speicher sein, wie bereits angezeigt wurde, aber können, da jede CEI-Warteschlangennummer maximal einmal in den TS-Warteschlange 223 auftritt, durch eine verknüpfte Liste ersetzt werden, wie durch das schematische Bild in 5 dargestellt ist, das für den besonderen Fall von 256 TS-Warteschlangen 223 und maximal 1024 Positionen in jeder TS-Warteschlange erstellt wurde, somit maximal 1024 eingerichtete logische Verbindungen erlaubt, die gehandhabt werden sollen. Die entsprechenden Flussdiagramme der TS-Warteschlangenhandhabung sind in 6 gezeigt. Die TS-Warteschlangen 223 von 2 und 4 werden somit ersetzt durch die TS-Warteschlangentabelle 233 mit zwei Zeigern BTSP 235 und ETSP 237 für jeden aufeinanderfolgenden Zeitschlitz TS und eine TS Verknüpfungstabelle 239 mit Zeigern NTEP, die auf andere Positionen in dieser Tabelle 239 selbst zeigen. Der erste Zeiger 235 BTSP, Beginn von TS-Warteschlangenzeiger, in der TS-Tabelle 233 zeigt auf eine Position in der zweiten Tabelle, der TS-Verknüpfungstabelle 239, die Anzahl oder Adresse dieser Position in dieser zweiten Tabelle 239 ist dann die CEI-Nummer einer Warteschlange 209, von der eine Zelle für diese Zeitschlitzwarteschlange zuerst gesendet werden sollte, wobei der Zeitschlitz oder die Zeitschlitzwarteschlange die Adresse oder Zahl des Feldes ist, das den betrachteten Zeiger BTSP in der TS-Warteschlangentabellenliste 233 enthält.
  • Dann besteht in der Position in der TS-Verknüpfungstabelle 239, auf die der betrachtete BTSP zeigt, ein Zeiger NTSEP, nächster TS-Warteschlangeneintrittszeiger, der auf eine andere Position in der TS-Verknüpfungstabelle 239 zeigt, wobei dieser Zeiger auch die nächste CEI-Warteschlange 209 anzeigt, von der eine Zelle zu senden ist. Dann enthält auf die gleiche Weise die Position in der TS-Verknüpfungstabelle 239, auf die der Zeiger zeigt, einen ähnlichen Zeiger auf eine andere Position in der gleichen Tabelle 239, wobei dieser Zeiger auch die nächste CEI-Warteschlange 209 anzeigt, von der Zelle zu senden ist. Es wird auf diese Weise wiederholt, solange in einer Position in der TS-Verknüpfungstabelle 239 ein Zeiger identisch zu dem Zeiger ETSP besteht, Ende von TS-Warteschlangenzeigern, in dem zweiten Feld 237 für den betrachteten Zeitschlitz, wobei dies der letzte Zeiger in dieser TS-Warteschlange ist und ein Zeiger auf die letzte CEI-Warteschlange von einer Zelle, die zu senden ist.
  • Eine leere TS-Warteschlange wird dadurch angezeigt, dass dem beginnenden Zeiger ein leicht zu identifizierender Wert gegeben wird, wie der logische Wert „Nul" (nul). Auch der Wert „0" (0) kann verwendet werden, der auf die leere Zellenmusterwarteschlange zeigt. Für eine TS-Warteschlange, die nur eine CEI-Nummer hält, sind die Zeiger BTSP und ETSP gleich.
  • In 6 ist ein Flussdiagramm gezeigt für das Handhaben der nächsten Zeitschlitzwarteschlange 223, die durch die Drosselungsfunktion 204 durchgeführt wird, die in 4 dargestellt wird, insbesondere, wie durch die Pfeile 428 und 429 und den Behälter 427 dargestellt ist, und unter Verwenden der verknüpften Liste von 5. Die Prozedur startet in einem Block 601, wo der in Feld 225 gespeicherte Zeitschlitzzeiger um einen Schritt erhöht wird. Ein Block 602 wird dann ausgeführt, wo abgetastet wird, ob es möglich ist, die Zelle nun zu senden, oder wie dargestellt, gemäß einer anderen bevorzugten Alternative, ob dort ein leerer Platz in einem Übermittlungspuffer für die Übermittlungsfunktion 205 besteht. In dem Fall, wo es nicht möglich ist oder kein Platz besteht, wird der gleich Block 602 solange wiederholt, bis die Frage des Blockes die Antwort ja gibt, und dann wird in einem Block 603 auf den Zeiger BTSP in dem Feld 235 der TS-Warteschlangentabelle 233 zugegriffen, und es wird getestet, ob der Wert dessen Nul ist. Wenn er es nicht ist, ist die vorliegende TS-Warteschlange nicht leer und dann wird in einem Block 605 der Zeigerwert, der eine CEI-Warteschlangennummer ist, temporär in einem geeigneten, nicht gezeigten Register gespeichert. Dann wird in einem Block 607 entschieden, ob der zugegriffene Zeiger gleich dem entsprechenden Endzeiger ist, d.h., der Zeiger ETSP in dem Feld 237 der TS-Warteschlangentabelle 233. Wenn dies nicht der Fall ist, das bedeutet, die betrachtete TS-Warteschlange mehr als eine Aufzeichnung oder CEI-Warteschlangennummer enthält, und dann wird ein Block 609 durchgeführt, wo die verknüpfte Liste für den nächsten Zeitschlitz, wie durch den Zeitschlitzzeigerwert (TSP + 1) angezeigt, modifiziert wird. Als erstes wird der Zeiger BTSP an diesen nächsten Zeitschlitz (TSP + 1) in das Feld NTSEP in die Position in der TS-Verknüpfungstabelle 239 geschrieben, wie durch den BTSP-Zeiger der laufende TSP gezeigt. In dem BTSP-Feld 235 des nächsten Zeitschlitzes, wie durch den Wert (TSP + 1) angezeigt, wird dann die verknüpfte CEI-Nummer in dem NTSEP-Feld der Verknüpfungstabelle, wie durch den Zeiger BTSP des laufenden TSP gezeigt. Dann wird in Block 611, der auch in dem Fall durchgeführt wird, bei dem die Bestimmung in dem Block 607 eine positive Antwort ergab, das ist wenn nur eine CEI-Nummer in der TS-Liste ist, in dem BTSP-Zeiger in Feld 233 für den laufenden Zeitschlitz der Wert Nul oder der Wert für CEI-Nummer 0 geschrieben, wobei sein Wert auch bequemlichkeitshalber Null (zero) ist.
  • Die CEI-Warteschlange mit Identifizierungsnummer Null, CEI-Nummer 0, wird verwendet, wie oben vorgeschlagen wurde, zum Anzeigen einer leeren Position, oder das nicht zu übermitteln ist und es enthält einen Adresszeiger auf ein in einem Register 249 gespeichertes leeres Zellenmuster, siehe 2. Dann wird ein Block 615 ausgeführt, wo getestet wird, ob die CEI-Warteschlange leer ist, die durch den temporär in Block 605 gespeicherten Wert angezeigt ist. Wenn sie leer ist, wird ein Block 517 ausgeführt, wo ein leeres Muster zu der Übermittlungsfunktion 205 gesendet wird, und dann in Block 618 der Anzeiger für einen aktiven Zustand der betrachteten CEI-Warteschlange 209 gesetzt wird, wie in Feld 221 gespeichert, zum Anzeigen, dass die CEI-Warteschlange nicht länger aktiv ist. Dann wird der TS-Zeigererhöhungsschritt 601 wieder ausgeführt.
  • Wenn in Block 615 entschieden wird, dass die ausgewählte CEI-Warteschlange nicht leer ist, wird die nächste Zelle, das ist die zyklisch erste Zelle, zu der Übermittlungsfunktion 205 geliefert, zum Beispiel, um in den Übermittlungs-FIFO-Speicher gespeichert zu werden, wie durch Block 619 dargestellt ist. Dann wird auch der in Feld 215 gespeicherte Startpositionszeiger für diese CEI-Warteschlange in der Empfangsfunktion 201 einen Schritt erhöht. Die Prozedur kann hier Stoppen und solange Warten, bis die Übermittlungsfunktion 205 Zeit hat zu senden, oder wenn es Zeit ist die nächste Zelle zu senden.
  • Wie bereits erwähnt wurde, kann eine Ausgabepufferung verwendet werden, wie in 2 vorgeschlagen ist. Dann wird in dem Block 619 eine Zelle von dem ausgewählten Ausgabepuffer 209 (oder möglicherweise eine Adresse dessen) in letzte Position eines Ausgabe-FIFO-Speichers 241 oder eine Übermittlungswarteschlange geschrieben. Wie die Eingabepuffer oder Warteschlangen 209 kann der Übermittlungsspeicher 241 bequemlicherweise ein zyklischer Speicher sein, wobei der Start von besetzten Positionen durch einen in einem Speicherfeld 243 gespeicherten Startzeiger angezeigt wird, und die Position der letzten besetzten Position wird durch einen in einem Speicherfeld 245 gespeicherten Endzeiger angezeigt. Dann wird hier auch, in Block 619, dieser Endzeiger 245 zyklisch einen Schritt erhöht.
  • Für den Test des Blocks 602 können somit die Start- und Endpositionszeiger in den Feldern 243 und 245 verglichen werden, wobei einige Vorrichtungen zum Unterscheiden zwischen den Zellen bereitgestellt werden, wo der Ausgabe-FIFO 241 leer oder voll ist. Zum Beispiel kann ein gleicher Wert der Start- und Endpositionenzeiger genommen werden, um immer einen leeren Zustand des Puffers anzuzeigen und einen Wert des Startpositionszeigers, der zyklisch direkt nach dem Wert des Endpositionszeigers ist, kann genommen werden, um anzuzeigen, dass der Speicher voll ist.
  • Nach dem Zugreifen und Liefern einer Zelle der Übermittlungsfunktion 205 in den vorherigen Schritten, insbesondere nach dem Block 619, wird die äußere Prozedur im wesentlichen für die Drosselung durchgeführt, wobei eine CEI-Warteschlangennummer zu der letzteren TS-Warteschlange 209 hinzugefügt wird, vergleiche die Pfeile 431 in 4. Somit wird in einem Block 621 entschieden, ob die TS-Warteschlange leer ist, die zu diesem letzteren Zeitschlitz gehört, wie erhalten aus dem betrachteten einen und dazu hinzugefügt die Nummer MDTS in dem Feld 213 für diese CEI-Warteschlange 209, symbolisch angezeigt durch die Nummer (TSP + MDTS). Wenn sie bestimmt wird nicht leer zu sein, wird ein Block 623 ausgeführt, wo der Wert oder Zeiger des BTSP-Feldes an dieser letzteren Zeitschlitzwarteschlange zu dem NTSEP-Feld geschrieben wird, in der TS-Verknüpfungstabelle 239 an der Position, die durch die CEI-Warteschlangenidentifizierungsnummer angezeigt wird. Dann wird in einem Block 625 die betrachtete CEI-Identifizierungsnummer an den Beginn eines Warteschlangenzeigers BTSP in dem Feld 235 für diese letztere Zeitschlitzwarteschlange (TSP + MDTS) geschrieben. Danach ist die richtige Drosselungsfunktion durch die Wiederanordnung der TS-Warteschlange vervollständigt und die nächste TS-Warteschlange 223 wird durch Ausführen des Blockes 601 gehandhabt, wo der TS-Zeiger erhöht wird.
  • Wenn in Block 621 entschieden wurde, dass das betrachtete Beginnen von Warteschlangenzeiger BTSP gleich Nul oder Null ist, wird ein Block 627 ausgeführt, wo der laufende CEI-Wert, d.h., der Wert, der beim Liefern einer Zelle zu der Ausgabe-FIFO Warteschlange 241 in Block 619 verwendet wurde, zu dem Endzeiger BTSP-Feld 237, der für diese letztere Zeitschlitzwarteschlange beschrieben wurde bei (TSP + MDTS). Nach dem Block 627 wird der Block 625 wie oben ausgeführt.
  • Wenn in Block 615 entschieden wurde, dass die betrachtete CEI-Warteschlange leer ist, wird in Block 617 dieser spezielle Fall zu dem Zellenübermittler 205 angezeigt, wie bereits erwähnt wurde, durch Liefern eines spezielle leeren Zellenpositions-ECP-Musters, z.B. wie in Speicher 249 gespeichert ist.
  • Wenn in Block 603 entschieden wurde, dass die vorliegende TS-Warteschlange leer ist, wird ein Block 633 ausgeführt, wobei diese Tatsache zu der Übermittlungsfunktion 205 signalisiert wird, etwa durch Übertragen eines leeren Zellenmusters dahin, wie oben diskutiert worden ist. Dann wird eine neue Zeitschlitzwarteschlange gehandhabt durch Erhöhen des Zeitschlitzzeigers in Block 601.
  • Eine kleine Veränderung kann wie oben beschrieben in dem Algorithmus für den Fall gemacht werden, der einen Übermittlungs-FIFO-Puffer 241 einschließt. Der zu betrachtende Fall ist, wenn die Drosselungsfunktion 203 eine CEI-Warteschlange 209 findet, von der erlaubt ist zu übermitteln, aber das dieses CEI eine leere Zellenwarteschlange 209 aufweist und somit nichts zu senden hat, vergleiche Block 615 und 617 von 6. Anstelle von Schreiben einer ECP in der Ausgabe-FIFO 241 wird es möglich sein für die Drosselungsfunktion 203 eine neue CEI-Warteschlange 209 zu finden, von der es erlaubt ist auf diesen TS zu senden, jedoch ist dies nur für den Fall anwendbar, wenn mehr als eine CEI-Warteschlangennummer in der Zeitschlitzwarteschlange 223 des laufenden TS sind, auf den durch den in Feld 225 gespeicherte TS-Zeiger gezeigt wird.
  • Auch andere Optionen sind auf einen detaillierten Pegel möglich. Ein Beispiel ist, dass es nicht notwendig ist eine CEI-Warteschlangennummer von den TS-Warteschlangen 223 zu entfernen, wenn keine Zellen mehr von dieser Warteschlange zu senden sind, vergleiche den Block 618 von 6. Diese Möglichkeit wird durch den gepunkteten Pfeil von Block 618 angezeigt. Dies ist möglich für den Fall, wenn die Summe der Raten von allen eingerichteten Verbindungen geringer ist als das Maximum einer gesamten Drosselung oder gesamten physikalischen Übermittlungsrate. Ein Nachteil würde die erforderliche Zeit zum Verweisen aller CEI-Warteschlangennummern in den TS-Warteschlangen auch zu Zeiten eines niedrigen Ausgabeverkehrs sein. Ein anderer Nachteil ist der, dass eine Zelle, die nicht unmittelbar gedrosselt werden kann, eine Verzögerung hervorruft. Ein möglicher Vorteil könnte sein, dass jede CEI-Warteschlange ein festes TS-Muster finden könnte, bei dem sie nicht durch andere CEI-Warteschlangen gestört wird. Dies erfordert eine gewisse Zuweisung von MDTS-Werten, um es möglich zu machen, dieses Testmuster zu erreichen.
  • Das meiste des Drosselungsalgorithmus kann für moderate maximale Übermittlungsraten in Software in dem Drosselungsmechanismus 203 implementiert werden, wobei diese Software zum Beispiel enthalten sein kann in, oder in relativ kleinen Softwareteilen enthalten sein kann, die für die zwei anderen Mechanismen, die Empfangsfunktion 201 und die Übermittlungsfunktion 205 angeordnet sein kann, wenn sie keine hartverdrahteten Konstruktionen sind. Die Teile der oben beschriebenen Zellenhandhabung, die am meisten Speicherplatz verwenden, sind in jedem Fall die Speicherbereiche für die Eingabepuffer 209. Jedoch sind für hohe Übermittlungsratenanwendungen Hardwarekonstruktionen notwendig, und die verschiedenen hierin beschrieben Prozesse können dann auf konventionelle Weise durch spezialisierte Statusmaschinen ausgeführt werden, die in digitalen Signalprozessoren implementiert sind, die besonders für den Zweck konstruiert sind. Die Eingabepuffer können ersetzt werden durch einen Zufallsspeicherungsspeicher, der eine Adressliste von leeren Plätzen und eine Adressliste anstelle der Eingangspuffer 209 erfordert.
  • Durch Anordnen einer Übermittlungs-FIFO 241, wie oben beschrieben worden ist, und dadurch, dass diesem Speicher eine zufriedenstellende Größe gegeben wird, ist es möglich eine Zellen-für-Zellen-Echtszeithandhabung durch die Drosselungsfunktion 203 zu vermeiden. Der TS-Zeiger in dem Drosselungsmechanismus 203, wie in Register 220 gespeichert, wird dann nicht die genaue Echt- oder physikalische Ausgabezeit reflektieren. Anstelle dessen wird die entsprechende Echtzeit auftreten, wenn die Zelle schließlich an die physikalische Ausgabeschnittstelle durch die Übermittlungsfunktion 205 übermittelt wurde. Die Zeitverzögerung zwischen der durch den TS-Zeiger in 225 angezeigten TS-Warteschlange und dem Echtzeitschlitz wird dann von dem laufenden Füllpegel des Übermittlungs-FIFO 241 abhängig.
  • Um die Entsprechung zwischen dem Wert des TS-Zeigers in Feld 225 des Drosselungsmechanismus 203 und dem Echtzeitschlitz an der physikalischen Ausgabeschnittstelle der Station zu erreichen, ist es notwendig, dass der Prozessor des Drosselungsmechanismus 203 für den Zellenübermittler 205 jede Zeit anzeigen kann, wenn eine Zelle nicht an einem gewissen TS übermittelt werden kann. Dies kann erreicht werden, wie oben erwähnt, durch Bereitstellen eines speziellen in Speicher 249 gespeicherten leeren Zellenpositions-ECP-Musters zu der Übermittlungsfunktion.
  • Für die Handhabung des gesamten Zellenflusses können die folgenden notwendigen Teilfunktionen identifiziert werden:
    • 1. Eine Übermittlungsfunktion 205 zum Steuern des gesamten Zellenflusses zum Übermitteln eines Ausgaberegisters.
    • 2. Ein festes Zellenkopfmuster, das eine leere Zellenposition anzeigt, ECP. Die Drosslerfunktion 203 und die Übermittlungsfunktion 205 sollten dieses Muster logisch als eine Zelle zählen, aber das Muster wird nicht physikalisch von der Station oder dem Knoten übermittelt.
    • 3. Einige Wege zum Zählen der Anzahl von leeren Zellenpositionen in dem Ausgabe-FIFO 241, wobei diese Funktion zum Beispiel durch die in den Speicherfeldern 243, 245 gespeicherten Start- und Endpositionszeiger bereitgestellt werden, d.h. zum Bestimmen des Füllpegels des Ausgabepuffers 241. Ein Anzeiger könnte gesetzt werden oder ein Signal bereitgestellt werden zu dem Drosselungsmechanismus zum Signalisieren „Ausgabepuffer voll", dann Anhalten des Drosselungsmechanismus für eine geeignete Zeit. Für diese Anordnung wird es möglich, die Zustandsmaschine oder Prozessor des Drosselungsmechanismus 203 den Ausgabe-FIFO 241 mit Zellenburst füllen zu lassen.
  • Das Schreiben in den Übermittlungs-FIFO 241 muss enden, vergleiche die Diskussion des Blockes 602 von 6 oben, wenn der Füllpegel, wie durch einen Füllzähler angezeigt, einen vorbestimmten Schwellwert erreicht. Dieser Schwellwert entspricht einer gewissen maximalen Zellenlatenzzeit und ist proportional zu der Zeit die es braucht bis der Ausgabe-FIFO 241 leer wird in dem Fall, dass er nicht wieder aufgefüllt wird. Normalerweise ist es zum Erreichen einer guten Drosselungsleistung für den Drosselungsmechanismus 203 notwendig, zu vermeiden, dass der Übermittlungs-FIFO 241 leer wird. Zu Zeiten, wenn nichts zu senden ist, wird der Drosselungsmechanismus 203 in Ausgabe-FIFO 241 mit ECP-Mustern füllen. In dem Fall, in dem irgendwie der FIFO 241 leer wird, kann die Zellenübermittlungsfunktion 205 wieder starten, sobald die erste Zelle in dem Ausgabe-FIFO 241 geschrieben ist. Die Drosselungsfunktion 203 könnte somit den Ausgabe-FIFO 241 in dem Fall leer gehen lassen, wo sie weis, dass keine Zellen zu übermitteln sind, d.h., es sind keine CEIs in den TS-Drosselungswarteschlangen 243 oder bestehen keine aktiven CEI-Warteschlangen 209.
  • Ein Flussdiagramm der durch die Übermittlungsfunktion 205 durchgeführten Prozedur in der Ausführungsform, in der ein Ausgabe-FIFO 241 verwendet wird, ist in 7 gezeigt, wobei die Prozedur in einem Block 701 startet, wo getestet wird, ob es nun die nächste Zeit für ein physikalisches Senden einer Zelle von dem Endgerät oder Knoten ist, und es wird auch getestet, ob wenigstens eine Zelle oder ECP gespeichert in dem Ausgabe-FIFO 241 besteht. In dem Fall, wo jede dieser beiden Bedingungen nicht erfüllt ist, wird der gleiche Block wieder ausgeführt. Wenn anstelle dessen die Bedingungen erfüllt sind, das ist, wenn die Zeit zum Senden erreicht wird und der Ausgabe-FIFO-Speicher nicht leer ist, wird auch auf die nächste in dem Übermittlungs-FIFO 241 gespeicherte Zelle in einem Block 703 zugegriffen, wie durch in Register 243 gespeicherten Startzeiger gezeigt wird. Dann wird diese Zelle in einem Block 705 getestet, ob sie das leere Zellenmuster ECP (CEI-Warteschlange-Nr. 0) ist. Wenn dies der Fall ist, wird Block 701 wieder durchgeführt zum Abwarten der nächsten Zeit zum Senden und zum Testen, dass die Ausgabe-FIFO nicht leer ist, andernfalls wird in Block 707 diese nächste Zelle physikalisch von der Station gesendet, was einschließt, dass sie zu einem Ausgaberegister 250 übertragen wird, von dem sie von der Station übermittelt wird. Schließlich wird in Block 707 der in Feld 243 gespeicherte Startpositionszeiger zyklisch um einen Schritt erhöht.
  • Ein Beispiel eines Übermittlungsfalls unter Berücksichtigung des Drosselungsmechanismus ist in 8, 9 und 10 gezeigt. Hier bestehen vier aktive CEI-Warteschlangen 209, CEI-Nr. 1 bis CEI-Nr. 4 mit den MDTSs von 4, 6, 8 bzw. 4. In dem Anfangszustand umfasst, wie in 8 dargestellt, Zeitschlitzwarteschlange-Nr. n drei Merkmale, die Warteschlangen CEI 1, CEI 2 und CEI 3. In Zeitschlitzwarteschlange-Nr. (n + 2) besteht nur die CEI-Warteschlange-Nr. 4. In diesem Zustand zeigt der TS-Zeiger in Feld 225 auf die TS-Warteschlange Nr. n.
  • Bevor der wie in 225 gespeicherte TS-Zeiger zyklisch erhöht wird zum Zeigen auf die nächste TS-Warteschlange Nr. (n + 1), wird eine nächste Zelle von CEI-Warteschlange Nr. 1 in der Ausgabewarteschlange oder Übermittlungs-FIFO platziert. Dann wird auch die CEI-Warteschlange-Nr. 1 in der TS-Warteschlange-Nr. (n + 4) platziert, wie durch den MDTS-Wert dieser CEI-Warteschlange vorgeschrieben, und wie durch den Pfeil 801 angezeigt. Die verbliebenden CEI-Warteschlangen in der TS-Warteschlange werden zu der nächsten TS-Warteschlange (n + 1) übertragen, d.h., diese neue Warteschlange wird die CEI-Warteschlangen mit Nr. 2 bzw. 3 umfassen.
  • Bevor der TS-Zeiger in Feld 225 wieder gestuft wird, wird die nächste Zelle von CEI-Warteschlange-Nr. 2 in die Übermittlungs-FIFO 241 eingegeben, CEI-Warteschlange-Nr. 2 wird zu TS-Warteschlange-Nr. (n + 7) hinzugefügt und die CEI-Warteschlange Nr. 3 wird geschoben oder eingefügt vor alle andere CEI-Warteschlangen Nummern in der nächsten TS-Warteschlange mit der Nummer (n + 2). Wenn der TS-Zeiger 225 gestuft wird zum Zeigen auf diese TS-Warteschlange, wird die zyklische erste Zelle von CEI-Warteschlange-Nr. 3 zu dem FIFO-Speicher 241 gesendet, CEI-Warteschlange-Nr. 4 wird zu der nächsten TS-Warteschlange (n + 3) geschoben und CEI-Warteschlange-Nr. 3 wird zu der TS-Warteschlange-Nr. (n + 10) hinzugefügt. Für den nächsten Schritt des TS-Zählers 225, wenn er auf (n + 3) zeigt, wird die erste oder nächste Zelle von CEI-Warteschlange-Nr. 4 in die Übermittlungs-FIFO 241 eingefügt und die Identifizierungsnummer von CEI-Nr. 4 wird zur TS-Warteschlange-Nr. (n + 7) hinzugefügt. Wenn dann der TS-Zeiger 25 auf TS-Warteschlange-Nr. (n + 4) zeigt, wie in 9 dargestellt, enthält diese Warteschlange nur CEI-Warteschlange-Nr. 1, und die nächste Zelle dieser CEI-Warteschlange wird gesendet zu dem Übermittlungs-FIFO und die CEI-Nummer (= 1) wird zur TS-Warteschlange-Nr. (n + 8) hinzugefügt, etc.
  • Ein Beispiel, das darstellt, wie der Füllpegel in dem Übermittlungs-FIFO 241 fluktuieren kann, wird durch das Diagramm von 11 gezeigt. Der Füllpegel wird dargestellt als eine Kurve mit geraden Liniensegmenten, wobei die oberen Endpunkte sich auf den maximalen Füllpegel befinden, dem oberen Schwellwertpegel des Speichers. Die Übermittlungsfunktion 205 kann angenommen werden, um immer bei einer konstanten Rate zu arbeiten, Lesen einer Zelle oder ECP aus dem Ausgabe-FIFO 241 bei jedem Zeitschlitz. Der Drosselungsmechanismus 203 wird jedoch angenommen nur aktiv zu sein bei einigen kurzen intermittierenden Zeitintervallen, wobei diese Intervalle durch die Aktivitätskurve von 12 dargestellt werden. Weiterhin kann die Handhabung durch den Drosselungsmechanismus 203 jeder TS-Warteschlange 223 angenommen werden, das sie immer eine zum Beispiel im wesentlichen konstante oder gleiche Zeitdauer erfordert, was zu einer sehr hohen Drosselungsrate während der Aktivitätsperioden des Drosselungsmechanismus 223 führt.
  • Während der Zeiten, wenn der Drosselungsmechanismus 203 aktiv ist und somit auch die Übermittlungsfunktion 205 aktiv ist, erhöht sich der Füllpegel des Übermittlungs-FIFO mit einer konstanten Rate, da der konstant arbeitet bis zu dem maximalen Füllpegel, und er nimmt mit einer konstanten Rate während der Zeitperioden ab, wenn der Drosselungsmechanismus inaktiv ist und nur die Übermittlungsfunktion arbeitet. Wenn der maximale Füllpegel erreicht ist, kann die Übermittlungs-FIFO 241 nicht mehr Zellen akzeptieren, und dann besteht eine Warte- oder Verzögerungsdauer, wenn der Drosselungsmechanismus 203 inaktiv warten muss, dass ein leerer Platz in dem Ausgabe-FIFO 241 vorliegt. In dem Fall von 11 wird angenommen, dass wenn der maximale Füllpegel des Übermittlungspuffers erreicht ist, irgendein Signal zum Stoppen der Drosselungsfunktion 203 ausgegeben wird. Dies kann auch erreicht werden durch den Drosselungsmechanismus selbst, durch Durchführen eines geeigneten Tests des Ausgabepuffers, vergleiche die Diskussion von Block 602 von 6.
  • Die Drosselungsaufgabe kann zu jeder Zeit gestartet werden, und ein Signal kann zum Beispiel zu der Drosselungsaufgabe gesendet werden, wenn der Ausgabe-FIFO nahezu leer ist. Die Ausgabe eines derartigen Signals könnte dann geeignet in Block 707 von 7 gemacht werden. Alternativ kann ein Signal von einem Zeiteinstellschaltkreis bzw. Timer-Schaltkreis für das Wiederstarten des Drosselungsmechanismus verwendet werden.
  • Die Vorteile des Drosselungsmechanismus, wie oben beschrieben, im Vergleich zu der Normalratenwarteschlangenlösung:
    • – Ein geglätteter Zellenfluss an der physikalischen Ausgabeschnittstelle (komfortabel für den ATM-Schalter bzw. Vermittlung, der bzw. die leicht mit Zellenflüssen von anderen Modulen gemultiplext werden können),
    • – einfache Hardware,
    • – Raten, die individuell pro Verbindung mit hohen Auflösungen gesetzt werden können,
    • – keine Verzögerung für die erste Zelle in einem Paket oder Nachricht, in dem Ausgabe-FIFO-Fall mit Ausnahme der Übermittlungszeit für Zellen, die bereits in dem Ausgabe-FIFO warten,
    • – wahre Spitzenzuweiser, d.h. Zellen werden niemals näher als ein gewisser garantierter Abstand zueinander übermittelt,
    • – es ist leicht die Rate einer Verbindung während eines Betriebs zu verändern für eine Stauungssteuerung oder für eine Hauptdrosselung.

Claims (23)

  1. Ein Verfahren zum Übermitteln von Datensegmenten von einer Station, wobei Daten an der Station von verschiedenen logischen und/oder physikalischen Quellen (9, 21, 19) ankommen, wobei das Verfahren die Schritte einschließt zum: – Ableiten von Datensegmenten aus an der Station von jeder der Quellen ankommenden Datensegmenten, und – Übermitteln der Datensegmente eins nach dem anderen von der Station zu aufeinanderfolgenden Zeiten, gekennzeichnet durch den zusätzlichen Schritt zum: – Anordnen einer logischen oder physikalischen Reihe (223) für jede der aufeinanderfolgenden Zeiten von einer betrachteten augenblicklichen Zeit, wobei die erste der Reihen die nächste ist betrachtet von der augenblicklichen Zeit, die zweite der Reihen die Reihe nach der ersten ist, etc., wobei jede der Reihen in einer fortlaufenden Reihenfolge umfasst Identifizierer dieser Quellen (9, 21, 19), für die ein Datensegment von ihnen übermittelt werden soll oder die Datensegmente selbst oder ihre Adressen, wobei die erste Position in jeder der Reihen direkt oder indirekt in dem Fall, in dem sie ein Datensegment oder eine Adresse dessen enthält, entsprechend anzeigt, die Quelle, für die ein Datensegment gesendet werden soll mit dem höchsten Grad einer Priorität, wobei andere Positionen der Reihe Quellen anzeigen, die niedrigere Grade einer Priorität in absteigender Reihenfolge aufweisen, – wobei der Schritt zum Übermitteln die folgenden wiederholten Schritte einschließt: – Übermitteln eines ersten oder nächsten Datensegments von der Quelle, die zuerst angezeigt wird in der ersten Reihe oder dem ersten Datensegment in oder wie zuerst angezeigt in der ersten Reihe, – danach Übertragen (429) des verbleibenden Teils der ersten Reihe an die nächste Reihe und ihn vor allen der Merkmale in dieser nächsten Reihe platzieren, – danach Entfernen der ersten Reihe und Wiedernummerieren der verbleibenden Reihen, so dass die nächste Reihe die erste wird, etc., wobei die sequentielle Reihenfolge der Reihen (223) aufrecht erhalten wird, und – unmittelbar vor oder nach dem Schritt zum Entfernen der ersten Reihe, Hinzufügen eines Identifizierers der gleichen Datenquelle oder Hinzufügen eines nächsten Datensegments oder Hinzufügen einer Adresse dessen von der gleichen Quelle, von der ein Datensegment übermittelt wurde, an die Reihe, die einen Abstand von der entfernten Reihe in der sequentiellen Reihenfolge von Reihen aufweist, wobei dieser Abstand ein Minimalabstand zwischen Zeitschlitzen ist, die von einer maximalen Übermittlungsrate bestimmt wurden, die erforderlich ist für, oder zugewiesen ist zu der Quelle, von der die Daten angekommen sind, von denen das Datensegment abgeleitet wurde, – wodurch die Übermittlungsrate für jede der Quellen (9, 21, 19) nicht ausgedehnt wird für die Datensegmente, die von den Daten abgeleitet werden, die von der Quelle ankommen.
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Hinzufügen in der Reihe zuerst durchgeführt wird.
  3. Verfahren gemäß einem der Ansprüche 1 bis 2, gekennzeichnet durch Anordnen von Reihen (223) für nur eine vorbestimmte Anzahl von aufeinanderfolgenden Zeiten, wobei der Schritt zum Übermitteln einschließt, dass die Schritte zum: – Entfernen der ersten Reihe und Wiedernummerieren der verbleibenden Reihen, und – Hinzufügen eines Identifizierers oder eines nächsten Datensegments oder einer Adresse in dieser Reihenfolge ausgeführt werden, und dass zwischen diesen Schritten der folgende Schritt ausgeführt wird: – Hinzufügen einer letzten Reihe zu dem Satz von Reihen (223), wobei die letzte Reihe leer ist.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass in dem Schritt zum Übermitteln, wenn ein erstes oder nächstes Datensegment zu übermitteln ist, es platziert wird in, oder eine Anzeige des Datensegmentes platziert wird in einem Ausgangspuffer (241), von dem es physikalisch von der Station übermittelt wird (250).
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass, wenn die erste Reihe leer ist, keine Datensegmente übermittelt werden.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet dass, wenn die erste Reihe leer ist, ein spezielles Datensegment (249) oder eine Anzeige dessen in einem Ausgangspuffer (241) platziert wird, wobei dieses spezielle Datensegment nicht von der Station übermittelt wird.
  7. Verfahren gemäß Anspruch 6, in dem Fall, in dem das Übermitteln von Datensegmenten periodisch ausgeführt wird, dadurch gekennzeichnet, dass ein Übermitteln von Datensegmenten sequentiell von den Segmenten ausgeführt wird, die in dem Ausgangspuffer (241) gespeichert sind, eins zu jeder von periodisch wiederholten Zeiten, und in dem Fall, in dem das spezielle Datensegment (249) oder eine Anzeige dessen in der nächsten Position in dem Ausgangspuffer angeordnet ist, wo ein Datensegment gespeichert sein sollte und übermittelt werden soll, kein Datensegment zu der entsprechenden periodischen Zeit übermittelt wird.
  8. Verfahren gemäß einem der Ansprüche 1 bis 7, gekennzeichnet durch den zusätzlichen Schritt zum Hinzufügen, in dem Fall, in dem eine Quelle (9, 21, 19), die vorher keinen Identifizierer von sich selbst aufgewiesen hat oder irgendwelcher ihrer Datensegmente oder Adressen dessen in irgendeiner Reihe (223), beginnt aktiv zu werden, d.h. wenigstens ein zu übermittelndes Datensegment aufweist, einen Identifizierer von sich oder das nächste seiner Datensegmente oder eine Adresse dessen, an die Reihe, die die nächste nach der augenblicklichen ist.
  9. Verfahren gemäß Anspruch 8, dadurch gekennzeichnet, dass die Hinzufügung zuletzt in dieser Reihe durchgeführt wird.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass beim Ableiten von Datensegmenten von an der Station ankommenden Daten jedem Datensegment die gleiche Länge gegeben wird.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass beim Übermitteln von Datensegmenten von der Station die Datensegmente periodisch übermittelt werden (250).
  12. Eine Station zum Übermitteln von Datensegmenten davon, wobei Daten von der Station von verschiedenen logischen und/oder physikalischen Quellen (9, 21, 19) ankommen und Datensegmente abgeleitet werden von den Daten, die von jeder der Quellen ankommen, wobei die Station umfasst: – ein Übermittlungsmittel (205, 250) zum Übermitteln der Datensegmente eins nach dem anderen zu aufeinanderfolgenden Zeiten, gekennzeichnet durch: – ein Speichermittel zum Speichern einer logischen oder physikalischen Reihe (223), für jede der aufeinanderfolgenden Zeiten von einer betrachteten augenblicklichen Zeit, wobei die erste der Reihen die nächste ist, betrachtet von der augenblicklichen Zeit, wobei das Speichermittel Felder aufweist zum Speichern für jede der Reihen, umfassend in einer fortlaufenden Reihenfolge, Identifizierer von den Quellen für die ein Datensegment ihrer übermittelt werden soll oder der Datensegmente selbst oder deren Adressen, wobei die erste Position jeder Reihe direkt oder indirekt durch Halten eines Datensegments oder einer Adresse dessen, die zu ihm gehört, die Quelle anzeigt, für die ein Datensegment zu senden ist mit dem höchsten Grad einer Priorität, wobei andere Positionen der Reihe auf die gleiche Weise Quellen anzeigen, die einen niedrigeren Grad einer Priorität in absteigender Reihenfolge aufweisen, und – ein Steuerungsmittel zum Ausführen der folgenden wiederholten Schritte: – Übermitteln eines ersten oder nächsten Datensegments von der Quelle, die zuerst angezeigt wird, in der ersten Reihe, oder im ersten Datensegment in, oder angezeigt als erstes in der ersten Reihe, – danach Übertragen (429) des verbleibenden Teils der ersten Reihe an die nächste Reihe und ihn platzieren vor allen der Merkmale in der nächsten Reihe, – danach Entfernen der ersten Reihe und Wiedernummerieren der verbleibenden Reihen, so dass die nächste Reihe die erste Reihe wird, etc., Aufrechterhalten der sequentiellen Reihenfolge der Reihen (223), und – unmittelbar vor oder nach dem Schritt zum Entfernen der ersten Reihe, Hinzufügen eines Identifizierers der gleichen Datenquelle oder Hinzufügen eines nächsten Datensegments oder Hinzufügen einer Adresse dessen von der gleichen Quelle, von der ein Datensegment übermittelt wurde, an die Reihe, die einen Abstand von der entfernten Reihe in der sequentiellen Reihenfolge von Reihen aufweist, wo dieser Abstand ein minimaler Abstand zwischen Zeitschlitzen ist, die aus einer maximalen Übermittlungsrate bestimmt werden, die erforderlich ist für, oder zugewiesen ist zu der Quelle, von der diese Daten angekommen sind, von der das Datensegment abgeleitet wurde, – wodurch die Übermittlungsrate für jede der Quellen (9, 21, 19) nicht für die Datensegmente ausgedehnt wird, die von den Daten abgeleitet werden, die von der Quelle ankommen.
  13. Station gemäß Anspruch 12, dadurch gekennzeichnet, dass die Steuerungsmittel angeordnet sind zum Durchführen des Hinzufügens zuerst in der Reihe.
  14. Station gemäß einem der Ansprüche 12 bis 13, dadurch gekennzeichnet, – dass die Speichermittel angeordnet sind zum Speichern nur einer vorbestimmten Anzahl von aufeinanderfolgenden Reihen (223), und – dass die Steuerungsmittel angeordnet sind zum Hinzufügen einer letzten Reihe zu dem Satz von Reihen (223) nach Entfernen der ersten Reihe und Wiedernummerieren, wobei diese letzte Reihe leer ist und gespeichert wird in den Feldern der entfernten Reihe.
  15. Station gemäß einem der Anspruch 14, dadurch gekennzeichnet, dass die Speichermittel angeordnet sind zum Speichern der Reihen (223) auf eine zyklische Weise, wobei ein Speicherfeld zum Speichern eines Zeigers (225) bereitgestellt wird, der auf eine augenblickliche der Reihen zeigt.
  16. Station gemäß einem der Ansprüche 12 bis 15, gekennzeichnet durch einen Ausgangspuffer (241), der in dem Übermittlungsmittel eingeschlossen ist, – wobei das Steuerungsmittel angeordnet ist zum Platzieren des Datensegments oder einer Anzeige dessen in dem Ausgangspuffer (241), von der es physikalisch übermittelt wurde (250) von der Station, wenn ein Datensegment übermittelt werden soll, und – das Übermittlungsmittel angeordnet ist zum Übermitteln von Datensegmenten, die in dem Ausgangspuffer (241) gespeichert sind, auf eine zuerst Ein- zuerst Aus-Weise.
  17. Station gemäß einem der Ansprüche 12 bis 16, dadurch gekennzeichnet, dass die Steuerungsmittel angeordnet sind zum Erfassen, wenn die erste Reihe leer ist und dann nicht irgendwelche Datensegmente übermittelt.
  18. Station gemäß Anspruch 16, dadurch gekennzeichnet, – dass die Steuerungsmittel angeordnet sind zum Erfassen des Falles, wann die erste Reihe leer ist, um dann ein spezielles Datensegment (249) oder eine Anzeige dessen in dem Ausgangspuffer (241) zu platzieren, und – dass die Übermittlungsmittel angeordnet sind nicht irgendein Datensegment von der Station zu übermitteln, wenn dieses spezielle Datensegment (249) in Ausgangspuffer (241) gefunden wird.
  19. Station gemäß einem der Ansprüche 12 bis 18, dadurch gekennzeichnet, dass das Speichermittel zum Speichern der Quellenidentifizierer angeordnet ist zum Speichern einer vorbestimmten Anzahl von Reihen (223), wobei die Reihen zyklisch in einer sequentiellen Reihenfolge organisiert sind, wobei ein Register angeordnet ist zum Speichern eines Zeigers (225), der die betrachtete augenblickliche Reihe anzeigt, wobei der Zeiger durch das Steuerungsmittel aktualisiert wird, wenn die augenblickliche Reihe entfernt wird.
  20. Station gemäß einem der Ansprüche 12 bis 19, dadurch gekennzeichnet, dass die Steuerungsmittel angeordnet sind zum Durchführen des zusätzlichen Schrittes zum Speichern, wenn eine Quelle (9, 21, 19), die vorher keinen Identifizierer von sich selbst oder irgend eins von seinen Datensegmenten oder ihren Adressen entsprechend in einem der Speichermittel für die Reihen (223) gespeichert hat, beginnt aktiv zu werden, d.h. wenigstens ein zu übermittelndes Datensegment aufweist, einen Identifizierer der Quelle oder des nächsten seiner Datensegmente oder eine Adresse dessen in dem Speichermittel für die Reihe, die die nächste nach der augenblicklichen ist.
  21. Station gemäß Anspruch 20, dadurch gekennzeichnet, dass das Steuerungsmittel angeordnet ist zum Speichern eines neuen Identifizierers oder des nächsten der Datensegmente beziehungsweise eine Adresse dessen als letztes in der Reihe.
  22. Station gemäß einem der Ansprüche 12 bis 21, für den Fall, in dem die Speichermittel angeordnet sind zum Speichern von Reihen (223), die Identifzierer von Quellen umfassen, dadurch gekennzeichnet, dass die Speichermittel zum Speichern der Quellenidentitifizierer angeordnet sind als eine verknüpfte Liste, umfassend – erste Speichermittel mit Feldern (235) zum Speichern der ersten Merkmale in jeder Reihe (223), – zweite Speichermittel mit Feldern (237) zum Speichern der letzten Merkmale in jeder Reihe (223), – dritte Speichermittel mit Feldern (239) in einer sequentiellen Reihenfolge, wobei jedes Feld eine sequentielle Reihenfolgennummer aufweist und die Felder angeordnet sind zum Speichern nächster Merkmale in den Reihen, wobei die sequentielle Reihenfolgenummer eines Feldes das Merkmal anzeigt, unmittelbar bevor das Merkmal in dem Feld gespeichert wird.
  23. Station gemäß einem der Ansprüche 12 bis 22, dadurch gekennzeichnet, dass die Übermittlungsmittel (205, 250) angeordnet sind zum Übermitteln der Datensegmente zu gleichen oder gleichförmig verteilten Zeiten.
DE69635379T 1995-07-06 1996-07-05 Atm-drosselung Expired - Lifetime DE69635379T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9502468A SE506955C2 (sv) 1995-07-06 1995-07-06 ATM-flödesstyrning
SE9502468 1995-07-06
PCT/SE1996/000887 WO1997002686A1 (en) 1995-07-06 1996-07-05 Atm throttling

Publications (2)

Publication Number Publication Date
DE69635379D1 DE69635379D1 (de) 2005-12-08
DE69635379T2 true DE69635379T2 (de) 2006-06-22

Family

ID=20398884

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635379T Expired - Lifetime DE69635379T2 (de) 1995-07-06 1996-07-05 Atm-drosselung

Country Status (11)

Country Link
US (2) US5729529A (de)
EP (1) EP0873624B1 (de)
JP (1) JPH11508749A (de)
CN (1) CN1097913C (de)
AU (1) AU707294B2 (de)
CA (1) CA2226009A1 (de)
DE (1) DE69635379T2 (de)
HK (1) HK1015584A1 (de)
NO (1) NO976149L (de)
SE (1) SE506955C2 (de)
WO (1) WO1997002686A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668570A (en) * 1993-06-29 1997-09-16 Ditzik; Richard J. Desktop computer with adjustable flat panel screen
US5936967A (en) * 1994-10-17 1999-08-10 Lucent Technologies, Inc. Multi-channel broadband adaptation processing
SE506955C2 (sv) * 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US6175883B1 (en) * 1995-11-21 2001-01-16 Quantum Corporation System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices
US6134217A (en) * 1996-04-15 2000-10-17 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks with fairness and low latency
WO1998019413A1 (en) * 1996-10-28 1998-05-07 Fujitsu Network Communications, Inc. Unframed isochronous shaping method to reduce delay and delay variation in a cbr transmission system
JP3462024B2 (ja) * 1996-12-04 2003-11-05 株式会社東芝 ネットワークシステムの伝送制御方法
KR19990008775A (ko) * 1997-07-03 1999-02-05 윤종용 노이즈 감소를 위한 소켓
US6026451A (en) * 1997-12-22 2000-02-15 Intel Corporation System for controlling a dispatch of requested data packets by generating size signals for buffer space availability and preventing a dispatch prior to a data request granted signal asserted
ES2145718B1 (es) * 1998-09-23 2001-02-01 Telefonica Sa Metodo y aparato para el moldeado de trafico mta.
US6182183B1 (en) * 1998-11-13 2001-01-30 Sonics, Inc. Communications system and method with multilevel connection identification
JP2001177575A (ja) * 1999-12-20 2001-06-29 Nec Corp 優先制御方式
KR100357628B1 (ko) * 1999-12-28 2002-10-25 삼성전자 주식회사 우선 순위 큐를 가지는 비동기전송모드 통신시스템의 셀처리 장치 및 방법
US7325221B1 (en) 2000-08-08 2008-01-29 Sonics, Incorporated Logic system with configurable interface
US7165094B2 (en) * 2001-03-09 2007-01-16 Sonics, Inc. Communications system and method with non-blocking shared interface
US20030004699A1 (en) * 2001-06-04 2003-01-02 Choi Charles Y. Method and apparatus for evaluating an integrated circuit model
US7086059B2 (en) * 2001-06-26 2006-08-01 Intel Corporation Throttling queue
US7414976B2 (en) * 2003-12-16 2008-08-19 Intel Corporation Method and apparatus to implement operation and maintenance (OAM) functions on a network processor
CN1311350C (zh) * 2004-04-30 2007-04-18 华为技术有限公司 在通信队列管理中通过发送事件触发队列管理的方法
KR100620372B1 (ko) * 2004-08-18 2006-09-08 삼성전자주식회사 영상을 회전시키는 방법, 컴퓨터 및 저장매체
US7505410B2 (en) * 2005-06-30 2009-03-17 Intel Corporation Method and apparatus to support efficient check-point and role-back operations for flow-controlled queues in network devices
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US8909764B2 (en) 2011-07-28 2014-12-09 Xyratex Technology Limited Data communication method and apparatus
US10069748B2 (en) 2015-12-14 2018-09-04 Mellanox Technologies Tlv Ltd. Congestion estimation for multi-priority traffic
US10069701B2 (en) 2016-01-13 2018-09-04 Mellanox Technologies Tlv Ltd. Flexible allocation of packet buffers
US10250530B2 (en) 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10084716B2 (en) 2016-03-20 2018-09-25 Mellanox Technologies Tlv Ltd. Flexible application of congestion control measures
US10205683B2 (en) * 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
US9985910B2 (en) 2016-06-28 2018-05-29 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
US11005770B2 (en) 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
US20230409472A1 (en) * 2020-12-22 2023-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Snapshotting Pending Memory Writes Using Non-Volatile Memory
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3331205A1 (de) * 1983-08-30 1985-03-14 Telefunken Fernseh Und Rundfunk Gmbh, 3000 Hannover Synchronmuster
FR2563398B1 (fr) * 1984-04-20 1986-06-13 Bojarski Alain Procede et dispositif de recuperation du verrouillage de trame pour un mot de verrouillage de trame a bits repartis dans la trame
US4930125A (en) * 1989-01-30 1990-05-29 General Datacom, Inc. Multiplexer frame synchronization technique
KR920009679B1 (ko) * 1990-06-27 1992-10-22 재단법인 한국전자통신연구소 스위칭 메모리를 갖는 고속 atm 셀 동기 교환장치
US5331641A (en) * 1990-07-27 1994-07-19 Transwitch Corp. Methods and apparatus for retiming and realignment of STS-1 signals into STS-3 type signal
EP0487235B1 (de) 1990-11-21 1999-02-03 AT&T Corp. Bandbreitenverwaltung und Überlastabwehr für den Zugang zu Breitband-ISDN-Netzen
US5166930A (en) * 1990-12-17 1992-11-24 At&T Bell Laboratories Data channel scheduling discipline arrangement and method
ATE122191T1 (de) * 1991-02-01 1995-05-15 Siemens Ag Verfahren zur überwachung und glättung von datenströmen, die nach einem asynchronen übertragungsverfahren übertragen werden.
US5285441A (en) * 1992-03-17 1994-02-08 At&T Bell Laboratories Errorless line protection switching in asynchronous transer mode (ATM) communications systems
US5381407A (en) * 1992-06-04 1995-01-10 Bell Communications Research, Inc. Method and system for controlling user traffic to a fast packet switching system
GB2268372B (en) 1992-06-11 1995-11-01 Roke Manor Research Improvements in or relating to data transmission systems
JPH06169320A (ja) * 1992-10-02 1994-06-14 Toshiba Corp Atmセル化装置
CA2105268C (en) * 1992-12-28 1999-07-13 Shahrukh S. Merchant Resynchronization of asynchronous transfer mode (atm) switch fabric
FR2700902B1 (fr) * 1993-01-22 1995-02-24 Thomson Csf Procédé de gestion du débit de messages codés numériquement transportés par un réseau asynchrone, notamment un réseau ATM, et dispositif pour sa mise en Óoeuvre.
US5412655A (en) * 1993-01-29 1995-05-02 Nec Corporation Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells
EP1030483B1 (de) * 1993-02-15 2003-10-08 Mitsubishi Denki Kabushiki Kaisha ATM-Schalter
DE4316225C2 (de) * 1993-05-14 2000-06-08 Deutsche Telekom Ag Verfahren und Anordnung zur störungsfreien empfangsseitigen Taktrückgewinnung für Digitalsignale mit konstanter Bitrate
FR2707023B1 (de) * 1993-06-24 1995-09-22 Boyer Jacqueline
JPH0779226A (ja) * 1993-09-07 1995-03-20 Fujitsu Ltd 複数チャネル送出セル帯域制御回路
CA2149866C (en) 1993-11-15 1999-04-27 John L. Hayes A method and system for maintaining access security of input and output operations in a computer system
CA2145017C (en) * 1994-03-31 2000-02-15 Masaru Murakami Cell multiplexer having cell delineation function
US5491691A (en) * 1994-08-16 1996-02-13 Motorola, Inc. Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5602853A (en) * 1994-11-03 1997-02-11 Digital Equipment Corporation Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process
US5535201A (en) * 1995-05-10 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. Traffic shaping system using two dimensional timing chains
SE506955C2 (sv) * 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US5610921A (en) * 1995-08-31 1997-03-11 Sun Microsystems, Inc. Scalable architecture for asynchronous transfer mode segmentation and reassembly

Also Published As

Publication number Publication date
US6594263B1 (en) 2003-07-15
CA2226009A1 (en) 1997-01-23
SE9502468D0 (sv) 1995-07-06
SE506955C2 (sv) 1998-03-09
DE69635379D1 (de) 2005-12-08
EP0873624A1 (de) 1998-10-28
CN1097913C (zh) 2003-01-01
NO976149L (no) 1998-03-04
JPH11508749A (ja) 1999-07-27
AU707294B2 (en) 1999-07-08
AU6374096A (en) 1997-02-05
CN1190512A (zh) 1998-08-12
WO1997002686A1 (en) 1997-01-23
EP0873624B1 (de) 2005-11-02
NO976149D0 (no) 1997-12-30
SE9502468L (sv) 1997-01-07
HK1015584A1 (en) 1999-10-15
US5729529A (en) 1998-03-17

Similar Documents

Publication Publication Date Title
DE69635379T2 (de) Atm-drosselung
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE10196447B4 (de) Verfahren und Vorrichtung zum Verringern der Erschöpfung des Pools in einer Vermittlung mit gemeinsam genutztem Speicher
DE3587092T2 (de) Kommunikationssystem.
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69935587T2 (de) Verfahren und vorrichtung zur weiterleitung von paketen von einer mehrzahl konkurrierender warteschlangen zu einem ausgang
DE69827053T2 (de) Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk
DE68927952T2 (de) Paket-Überlastungsregelungsverfahren und Paketvermittlungsgerät
DE19929516B4 (de) Hochgeschwindigkeits-Netzwerkschalter
DE69735333T2 (de) Digitales Netzwerk mit Gruppiervorrichtung für virtuelle Nachrichten-Übertragungspfade mit ähnlicher Übertragungsgeschwindigkeit zur Erleichterung eines effizienten Übertragungsablaufs
DE3789907T2 (de) Anrufverteilanordnung.
DE69931302T2 (de) Zeitbasierte Ablaufsteuerungsarchitektur und Verfahren für ATM Netzwerke
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE69937219T2 (de) Torablauffolgesteuerung und Verfahren zur Dienstenablaufsteuerung mit Garantieen und hierarchische Ratenlimitierung mit oder ohne Überbuchungsmöglichkeit
DE69432655T2 (de) Verbesserungen in ATM-Nachrichtensystemen
DE69936966T2 (de) Kommunikationseinrichtung mit variabler Paketlänge
DE69434329T2 (de) Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle
DE19507570C2 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
DE60120830T2 (de) Paketvermittlungssystem und Verfahren
DE69030037T2 (de) Verfahren zur Verkehrsregelung in einem Hochgeschwindigkeitsdatennetz
DE69738386T2 (de) Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
EP0498092B1 (de) Verfahren zur Überwachung und Glättung von Datenströmen, die nach einem asynchronen Übertragungsverfahren übertragen werden

Legal Events

Date Code Title Description
8364 No opposition during term of opposition