DE69717455T2 - Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk - Google Patents

Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk Download PDF

Info

Publication number
DE69717455T2
DE69717455T2 DE69717455T DE69717455T DE69717455T2 DE 69717455 T2 DE69717455 T2 DE 69717455T2 DE 69717455 T DE69717455 T DE 69717455T DE 69717455 T DE69717455 T DE 69717455T DE 69717455 T2 DE69717455 T2 DE 69717455T2
Authority
DE
Germany
Prior art keywords
action
transmission
dynamic
packet
field
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 - Fee Related
Application number
DE69717455T
Other languages
English (en)
Other versions
DE69717455D1 (de
Inventor
Justin Mark MOORE
J. Gavin STARK
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.)
Conexant Systems UK Ltd
Original Assignee
Virata Ltd
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 Virata Ltd filed Critical Virata Ltd
Publication of DE69717455D1 publication Critical patent/DE69717455D1/de
Application granted granted Critical
Publication of DE69717455T2 publication Critical patent/DE69717455T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/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/5672Multiplexing, e.g. coding, scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft im Allgemeinen Datenkommunikationsnetzwerke und genauer Übertragungsraten-Steuermechanismen zur Verwendung bei asynchronen Übertragungsmodus-Netzwerken.
  • Hintergrund der Erfindung
  • Der asynchrone Übertragungsmodus bzw. „Asynchronous Transfer Mode" („ATM") stellt eine aufstrebende Packetschalt-Netzwerktechnologie dar, die gestaltet ist, um einen Dienst für eine breite Vielfalt von Anwendungen, wie beispielsweise Sprache, Video und Daten bereitzustellen. ATM, das ursprünglich für eine Verwendung in einem digitalen Breitbandnetzwerk mit integrierten Diensten bzw. „Broadbank Integrated Services Digital Network" („B-ISDN") von dem International Telegraph und Telephone Consultative Committee („CCITT"), nun neu organisiert als der Telecommunications Standardization Sector der International Telecommunication Union („ITU-T"), vorgeschlagen wurde, bewegt sich gegenwärtig jenseits des Szenarios der weiträumigen Netze in die Arena der privaten Netze als eine Plattform für lokale Datennetze („LANs") mit Multimediafähigkeiten. ATM ist in der Fachwelt gut bekannt und wird bei verschiedenen Referenzen beschrieben. Zum Beispiel Martin de Prycker, Asynchronous Transfer Mode: Solution for Broadband ISDN (zweite Ausgabe, Ellis Horwood Ltd., West Sussex, England, 1993).
  • Bei einem ATM-Netzwerk, wie es durch die CCITT-Standards definiert ist, wird Information in Paketen einer festen Größe getragen, die für B-ISDN als 53 Bytes oder Oktetts, genannt Zellen, spezifiziert wird. Diese Zellen werden individuell durch Adressierinformationen markiert, die in den ersten fünf Bytes (Oktetts) einer jeden Zelle enthalten sind. Obwohl ATM sich aus Zeitunterteilungs-Multiplex- bzw. „Time Devision Multiplexing"-Konzepten entwickelt hat, sind Zellen von mehreren Quellen statistisch in einer einzigen Übertragungsanlage gemultiplext. Zellen werden durch den Inhalt ihrer Köpfe eher identifiziert als durch ihre Zeitposition in dem Multiplexstrom. Eine einzige ATM-Übertragungsanlage kann hundertausende von ATM-Zellen pro Sekunde tragen bzw. übertragen, die von einer Vielzahl von Quellen stammen und die zu einer Vielzahl von Zielen wandern.
  • ATM ist eine verbindungsorientierte Technologie. Anstatt die Zellen über einen gemeinsam genutzten Draht oder eine gemeinsam genutzte Glasfaser für alle Netzwerkteilnehmer, die empfangen, zu senden wird lieber ein spezieller Leitweg-Pfad bzw. Routing-Pfad, der als virtuelle Schaltung bezeichnet wird, zwischen zwei Endknoten errichtet, bevor irgendwelche Daten übertragen werden. Zellen, die mit einer bestimmten virtuellen Schaltung identifiziert werden, werden nur zu jenen Knoten auf jener virtuellen Schaltung geliefert.
  • Die Haupttrasse bzw. der Backbone eines ATM-Netzwerkes besteht aus Schaltvorrichtungen, die dazu in der Lage sind, Hochgeschwindigkeits-ATM-Zellenströme handzuhaben. Die Schaltkomponenten dieser Vorrichtungen, die allgemein als Schaltstruktur bezeichnet werden, führen die Schaltfunktion aus, die notwendig ist, um eine virtuelle Schaltung zu realisieren, indem ATM-Zellen von einem Eingangsport empfangen werden, wobei die Information in dem Kopf der hereinkommenden Zellen in Echtzeit analysiert wird und sie zu dem geeigneten Zilport weitergeleitet werden. Millionen von Zellen pro Sekunde müssen durch eine einzige Vorrichtung geschaltet werden.
  • Wichtig ist, dass dieses verbindungsorientierte Schema es erlaubt, dass ein ATM-Netzwerk den minimalen Bandbreitenumfang garantiert, der von jeder Verbindung benötigt wird. Derartige Garantien werden gemacht, wenn die Verbindung errichtet wird. Wenn eine Verbindung angefordert wird, wird eine Analyse bestehender Verbindungen durchgeführt, um zu bestimmen, ob genug Gesamtbandbreite innerhalb des Netzwerks verbleibt, um der neuen Verbindung mit ihrer geforderten Kapazität zu dienen. Falls die notwendige Bandbreite nicht verfügbar ist, wird die Verbindung zurückgewiesen.
  • Um eine wirksame Nutzung von Netzwerkressourcen zu erzielen, wird eine Bandbreite eingerichteten Verbindungen zugewiesen, und zwar gemäß einem statistischen Multiplexsche ma. Deshalb können Stau-Zustände gelegentlich innerhalb des ATM-Netzwerks auftreten, was zu einer Verzögerung bei der Zellenübertragung oder sogar zu einem Zellenverlust führen kann. Um zu gewährleisten, dass die Last eines Netzwerkstaus jenen Verbindungen auferlegt wird, die am fähigsten sind, diese handzuhaben, bietet das mehrere bzw. eine Vielzahl von Dienstklassen an. Diese Dienstklassen unterstützen verschiedene Formen des Verkehrs, die unterschiedliche Niveaus von Zellenverlustwahrscheinlichkeit, Übertragungsverzögerung und Übertragungsverzögerungsvarianz, im Allgemeinen als Verzögerungs-Jitter bekannt, erfordern. Es ist beispielsweise bekannt, dass viele Multimediaverbindungen, z. B. Videoströme relativ große Zellenverluste tolerieren können, aber sehr empfindlich bezüglich Verzögerungs-Variationen von einer Zelle zu der nächsten sind. Im Gegensatz dazu sind traditionelle Formen des Datenverkehrs toleranter gegenüber großen Übertragungsverzögerungen und Verzögerungsvarianz, erfordern aber sehr geringe Zellenverluste. Diese Variation bei den Anforderungen kann ausgebeutet werden, um die Netzwerkleistungsfähigkeit zu erhöhen.
  • Das ATM-Forum, eine Organisation von Netzwerk-Anbietern, hat vier dieser Dienstklassen oder Typen virtueller Schaltungen standardisiert: Schaltungen mit konstanter Bitrate („CBR"), Schaltungen mit variabler Bitrate („VBR"), Schaltungen mit verfügbarer Bitrate („ABR") und Schaltungen mit unspezifizierter Bitrate („UBR"). Diese vier Kategorien definieren die Qualitäten von Diensten, die bei einer bestimmten Verbindung zur Verfügung stehen und werden ausgewählt, wenn eine Verbindung aufgebaut wird.
  • Eine virtuelle CBR-Schaltung wird eine permanente Zuweisung einer Bandbreite entlang ihrem gesamten Pfad gewährt. Für den Sender ist gewährleistet, dass ein präzises Zeitintervall oder eine fest Rate, Daten zu senden, gegeben ist, das bzw. die der benötigten Bandbreite entspricht, und das Netzwerk garantiert, diese Daten mit einer minimalen Verzögerung und Verzögerungs-Jitter zu übertragen. Eine CBR-Schaltung ist für einen Echtzeitvideo und für Audio-Multimediaströme am Besten geeignet, die einen Netzwerkdienst erfordern, der jenem äquivalent ist, der durch ein synchrones Übertragungsnetzwerk bereitgestellt wird. Aus der Perspektive der Quelle und des Ziels muss es so erscheinen, als ob ein virtuelles Teil eines Drahts zwischen den zwei Punkten existiert. Dies erfordert, dass die Übertragung einer jeden Zelle, die zu diesem Datenstrom gehört, zu präzisen Intervallen auftritt.
  • Eine virtuelle VBR-Schaltung wird anfänglich mit einer mittleren Bandbreite und einer Spitzen-Zellrate spezifiziert. Dieser Typ der Schaltung ist für einen fortlaufenden Verkehr mit hoher Priorität geeignet, der eine gewisse Bursthaftigkeit enthält, wie z. B. ein komprimierter Videostrom. Das Netzwerk kann diese Verbindungen unter der Annahme „überbuchen", dass nicht alle VBR-Schaltungen einen Verkehr mit einer Spitzen-Zellrate simultan handhaben werden. Obwohl jedoch die Übertragungsrate variieren kann, erfordern Anwendungen, die einen VBR-Dienst verwenden, häufig eine geringe Verzögerung oder einen Verzögerungs-Jitter.
  • Eine virtuelle ABR-Schaltung, die manchmal als ein verbindungsorientierter Datenverkehr bezeichnet wird, ist für Netzwerkverbindungen mit ungewissen Anforderungen bezüglich Durchsatz und Verzögerung geeignet, wie beispielsweise ein allgemeiner Datenverkehr. Gegenwärtig werden ABR-Schaltungen mit einem Bandbreitenbereich spezifiziert, der durch eine minimale Bandbreite und eine maximale Bandbreite definiert ist. Es wird überlegt, dass die tatsächliche Übertragungsbandbreite innerhalb dieses Bereichs dynamisch mit dem Netzwerk verhandelt wird, wobei eine gewisse Art und Weise einer Ablauf- bzw. Flusssteuerung verwendet wird. Siehe Flavio Bonomi und Kerry W. Fendick, „The Rate-Based Flow Control Framework for the Available Bit Rate ATM Service", IEEE Network, März/April 1995, Seiten 25-39.
  • Eine virtuelle UBR-Schaltung, die manchmal als verbindungsloser Datenverkehr bezeichnet wird, wird für die Datenübertragung niedrigster Priorität verwendet; sie hat keine spezifizierte zugeordnete Bandbreite. Der Sender kann seine Daten so wie er es wünscht senden, aber das Netzwerk gibt keine Garantie, dass die Daten am Ziel innerhalb einer bestimmten Zeitvorgabe bzw. Zeitrahmens ankommen werden. Dieser Dienst ist für Anwendungen gedacht, die minimale Dienstanforderungen haben, z. B. Dateiübertragungen, die im Hintergrund einer Workstation erfolgen.
  • Ein bestimmter Endknoten auf dem Netzwerk kann virtuelle Schaltungen dieser variierenden Klassen haben, die zu irgendeiner Zeit offen sind. Die Netzwerkschnittstelle am Endknoten wird mit der Aufgabe des Planens der Übertragung von Zellen belastet, und zwar von einer jeden dieser virtuellen Schaltungen in einer gewissen geordneten Art und Weise. Zumindest wird dies eine Datenflussdosierung bzw. ein Pacing von Zellen von CBR-Schaltungen mit einer festen Rate mit sich bringen, um eine virtuelle Synchron-Übertragung zu erzielen. Zusätzlich kann eine gewisse Art und Weise des Planens innerhalb gewisser oder aller Schalter realisiert werden, die das ATM-Netzwerk bilden. Verbindungen, die von ihrem idealen Übertragungsprofil abgewichen sind, und zwar infolge von Anomalien in dem Netzwerk, können zu einer akzeptablen Dienstklasse zurückgeführt werden.
  • Wenigstens zwei Bedenken sind bei dieser Planung impliziert. Erstens muss der CBR-Verkehr mit der notwendigen festen Rate mit wenig oder keinem Verzögerungs-Jitter übertragen werden. Zweitens sollte Idealerweise der VBR- und ABR-Verkehr in einer Art und Weise übertragen werden, die so nah wie möglich an ihren definierten Übertragungsmustern liegt und es sollte keiner Verbindung erlaubt sein, ihre zugewiesene Bandbreite oder Spitzen-Zellrate zu überschreiten. Obwohl ATM-Netzwerke andere Mechanismen zum Handhaben einer Stausteuerung besitzen, ist das Haften an dem Verkehrs-Vertrag durch einen Quellenknoten ein wichtiger Faktor bei der gesamten Netzwerkeffizienz. Siehe Dimitri Bertsekas & Robert Gallager, Data Networks, Seiten 138-39 (zweite Ausgabe, Prentice Hall, Englewood Cliffs, New Jersey, 1992).
  • Systeme nach dem Stand der Technik existieren, die die relativ einfache Aufgabe zum Planen eines CBR-Verkehrs zur Übertragung auf einem ATM-Netzwerk handhaben, aber diese Systeme führen typischerweise kein Planen eines VBR- und ABR-Verkehrs durch. Beispielsweise offenbart das US-Patent Nummer 5,390,184 für Morris einen Planungsmechanismus zur Verwendung innerhalb eines ATM-Schalters. Der CBR-Verkehr wird geplant, wobei eine zirkularer Puffer verwendet wird, der Schlitze bzw. Fenster enthält, die der Zeit entsprechen, eine einzige Zelle zu übertragen. Anders als VBR- oder ABR-Schaltungen wird die Bandbreite und somit das geeignete Zellen-Pacing bzw. die geeignete Zellen-Datenflussdosierung von CBR-Schaltungen vordefiniert. Somit werden Schlitze bzw. Fenster in dem zirkularen Puffer statisch reserviert, wenn eine CBR-Verbindung etabliert ist.
  • Der Planer schreitet durch den zirkularen Puffer voran, der CBR-Zellen überträgt, wenn ein reservierter Schlitz detektiert wird. Ein Planen anderer Formen von Verkehr wird nicht durchgeführt, eher werden wartende VBR/ABR/UBR-Zellen während Zeitschlitzen bzw. Zeitfenstern einfach übertragen, die für den CBR-Verkehr nicht zugewiesen sind. Systeme, wie z. B. diese erzielen ein geeignetes Pacing bzw. eine geeignete Datenflussdosierung von synchronen Datenströmen, aber dienen nicht dazu VBR/ABR-Datenströme in Übereinstimmung mit verhandelten Verkehrskontrakten bzw. Verkehrs-Verträgen aufrecht zu erhalten.
  • Das Fehlen eines Planungs-Mechanismus für VBR- und ABR-Schaltungen innerhalb einer Endknoten-Netzwerkschnittstelle liegt eine Last auf Anwendungen, Daten mit geeigneten Raten für die Netzwerkimplementation zu erzeugen. Es Anwendungen abzuverlangen, ein Pacing bzw. eine Datenflussdosierung von VBR/ABR-Strömen durchzuführen, kann erlaubt sein, wenn derartige Anwendungen gestaltet werden, wobei eine ATM-Netzwerkverbindung im Auge behalten wird. Jedoch sind derartige Lösungen zunehmend inakzeptabel, wenn sich ATM in Richtung einer LAN-Anlage bewegt. Anwendungen, die für herkömmliche LAN-Technologien gestaltet sind, können nicht in praktischer Weise so angepasst werden, dass Daten unter definierten Pacing-Bedingungen erzeugt werden; bezüglich dieser Anwendungen ist es eher wahrscheinlich, Daten zu übertragen, ohne Netzwerk-Staubedingungen zu berücksichtigen. Wenn kein Pacing bzw. keine Datenflussdosierung dieser Ströme durchgeführt wird, kann ein Stau, der von burstartigen VBR/ABR-Strömen verursacht wird, die Netzwerk-Leistungsfähigkeit nachteilig beeinflussen, es sei denn, das Netzwerk selbst unternimmt andere Maßnahmen, um Übertragungen zu überwachen. Natürlich besteht ein einfaches Verfahren, einen derartigen Netzwerkstau zu verhindern, darin, einen Bandbreitenumfang anzufordern, der viel größer ist, als jener, der vernünftigerweise als benötigt erwartet werden kann, und zwar zu jeder beliebigen Zeit durch eine bestimmte Anwendung. Diese Lösung führt jedoch zu einer Unternutzung des Netzwerks und zu einer ineffizienten Zuweisung von Ressourcen.
  • Deshalb besteht ein Erfordernis nach einem Zellen-Pacing-Mechanismus, der dazu in der Lage ist, eine gleichförmige Übertragung von ABR-, VBR- und UBR-Datenströmen sowie von CBR-Strömen zu erzeugen. Ein derartiges System würde ein festes Raten-Pacing von CBR-Strömen bereitstellen, während simultan der VBR-, ABR- und UBR-Datenverkehr überwacht wird.
  • EP-A-0 596 624 offenbart eine Multiplexanordnung, bei welcher Anrufe bzw. Rufvorgänge, die sehr unterschiedliche Bandbreitenanforderungen und Empfindlichkeiten bezüglich Verzögerungen haben, von dem Netzwerk mit einer Bandbreitenzuweisung und einer Übertragungsplanung gehandhabt werden. Jeder Ruf wird in Übereinstimmung mit gewissen Signalcharakteristiken klassifiziert, wie z. B. die erforderliche Bandbreite und Empfindlichkeit bezüglich Verzögerungen und jede Rufklasse wird zu einer separaten Warteschlangen-Schaltung geleitet. Gewisse Rufe in gewissen Klassen, wie z. B. jene, die mit Diensten mit einer konstanten Bitrate und hohen Bandbreite in Zusammenhang stehen, werden jeweils zu ihren eigenen individuellen Warteschlangen-Schaltungen geleitet. Andere Rufe innerhalb einer Klasse werden statistisch in eine einzige Wartenschlangen-Schaltung für jene Klasse gemultiplext. Eine Multiplex-Schaltung arbeitet in Übereinstimmung mit einem dynamischen Zeit-Scheiben-Schema, das ein Definieren einer Dienst-Zykluszeit-Periode umfasst, während der der Multiplexer eine vorbestimmte Anzahl von Informationspaketen von einem jeden einer Vielzahl von Warteschlangen-Schaltungen zurückzieht, die Informationspakete enthalten, und platziert jene vorbestimmte Anzahl von Paketen auf einem Ausgabe-Link bzw. einer Ausgabeverbindung. Der Multiplexer bricht die Zykluszeitperiode in eine Vielzahl von Zeitscheiben, von denen jede bestimmt, wie viele Informationspakete von einer jeden Warteschlangen-Schaltung während der Zykluszeitperiode übertragen werden. Eine einer Anzahl von alternativen Planungstechniken werden für einen verzögerungsunempfindlichen Verkehr verwendet.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist durch die beigefügten Zeichnungen definiert.
  • Die Erfindung kann zum Planen der Übertragung von Paketen auf einem ATM- oder einem anderen Paketschaltnetzwerk verwendet werden, wobei der Zeitsteuerring Einträge enthält, die dynamisch für die Übertragung von Paketen von virtuellen Schaltungen zugewiesen sind, typischerweise ABR, UBR und nicht reelle Zeit-VBR-Schaltungen und von Einträgen, die statisch vorab für die Übertragung von Paketen von anderen virtuellen Schaltungen zugewiesen sind, typischerweise CBR- und Echtzeit-VBR-Schaltungen. Ein Eintrag auf dem Zeitsteuerring stellt einen verfügbaren Zeitschlitz zur Übertragung einer einzigen Zelle oder eines einigen Paketes dar. Der Apparat umfasst weiter einen Prozessor, um sequentiell die Einträge auf dem Zeitsteuerring zu verarbeiten, um bestimmte Pakete oder Zellen auf dem Netzwerk während ihres geplanten Zeitschlitzes zu übertragen oder während des ersten verfügbaren Zeitschlitzes danach. Wenn ein dynamisch zugewiesener Eintrag für eine bestimmt virtuelle Schaltung verarbeitet wird, wird die nächste Übertragung eines Pakets auf der virtuellen Schaltung durch dynamisches Zuweisen eines anderen Eintrags auf dem Zeitsteuerring geplant.
  • Die vorliegende Erfindung ist im Wesentlichen ein Hybrid von zwei in Beziehung stehenden Planungsmechanismen; statische und dynamische Planung. Die Verwendung dieser zwei Mechanismen in Kombination erlaubt eine Balance zwischen Flexibilität und Leistungsfähigkeit bei der Planung und Übertragung von Zellen und Paketen verschiedener Verkehrsklassen. In dieser Art und Weise können Pakete mit einem CBR fester Rate und Echtzeit-VBR-Schaltungen zu festen Intervallen übertragen werden, wie dies durch diese Verbindungen erforderlich ist, während Pakete von ABR-, VBR- und UBR-Schaltungen mit variabler Rate in Übereinstimmung mit ihren verhandelten Verkehrs-Kontrakten übertragen werden können.
  • Kurze Beschreibung der Zeichnungen
  • Ein vollständigeres Verständnis der Erfindung kann durch Lesen der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen erzielt werden, bei denen gleiche Elemente in ähnlicher Weise markiert sind und für die folgendes gilt:
  • 1 ist ein funktionelles Blockdiagramm einer Ausführungsform eines Übertragungs-Pacing-Mechanismus, der in Übereinstimmung mit den Prinzipien der vorliegenden Erfindung aufgebaut ist;
  • 2A ist ein Diagramm einer ATM-Zelle, wie sie durch das CCITT definiert ist; 2B ist ein Diagramm eines ATM-Zellenkopfs bei der Benutzer-Netzwerk- Schnittstelle wie durch das CCITT definiert ist;
  • 2C ist ein Diagramm eines ATM-Zellenkopfs bei der Netzwerk-Netzwerk-Schnittstelle wie durch das CCITT definiert ist;
  • 3 ist eine Erläuterung des Zeitsteuerrings, der bei dem Pacing-Mechanismus der 1 verwendet wird;
  • 4 ist ein Flussdiagramm eines Zeitsteuerring-Verarbeitungsalgorithmus, der bei dem Pacing-Mechanismus der 1 verwendet wird;
  • 5 ist ein Diagramm einer statischen Aktionsdatenstruktur, die bei dem Pacing-Mechanismus der 1 verwendet wird;
  • 6 ist ein Diagramm einer dynamischen Aktionsdatenstruktur, die bei dem Pacing-Mechanismus der 1 verwendet wird;
  • 7 ist ein Beispiel der Planungsoperation des Pacing-Mechanismus der 1;
  • 8 ist ein Diagramm einer vereinfachten Zustandsmaschine für AAL5-Segmentation und -Übertragung;
  • 9 ist eine Erläuterung eines Zeitsteuerrings, der bei der zweiten Ausführungsform des Pacing-Mechanismus der 1 verwendet wird;
  • 10 ist eine Erläuterung eines Zeitsteuerrings, der bei einer dritten Ausführungsform des Pacing-Mechanismus der 1 verwendet wird; und
  • 11 ist eine Erläuterung eines Zeitsteuerrings, der bei einer vierten Ausführungsform des Pacing-Mechanismus der 1 verwendet wird.
  • Detaillierte Beschreibung der Erfindung
  • Bei der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch Fachleuten offensichtlich sein, dass die vorliegende Erfindung ohne diese spezifischen Details praktiziert werden kann. Bei anderen Fällen wurden gut bekannte Schaltungen, Strukturen und Techniken nicht im Detail gezeigt, um die vorliegende Erfindung nicht unnötigerweise zu verschleiern.
  • Es sollte klar sein, dass, obwohl, was hierin beschrieben ist, ein Übertragungs-Pacing-Mechanismus zur Verwendung in einem ATM-Netzwerk ist, die vorliegende Erfindung in keiner Weise auf die Anwendung auf ATM-Netzwerke beschränkt ist, wie sie durch das CCITT definiert sind. Ein Fachmann wird eher erkennen, dass die Erfindung, die hierin beschrieben ist, bei einer breiten Vielfalt von Paket-Schalt-Netzwerken verwendet werden kann. Bezüglich Beispiele gewisser alternativer Netzwerke siehe Prycker, Seiten 50-58.
  • Ein Blockdiagramm eines Pacing-Mechanismus 100, der in Übereinstimmung mit den Prinzipien der vorliegenden Erfindung aufgebaut ist, ist in 1 gezeigt. Der Pacing-Mechanismus 100 umfasst einen Mikroprozessor 120, einen DRAM-Speicher 130, einen Zuerst-Ein-Zuerst-Aus-(FIFO) Übertragungspuffer 140, eine Übertragungssteuerung 150, einen Zeitgeber 160 und eine Netzwerk-Leitungs-Schnittstelle 170. Ein Mikroprozessor 120, ein DRAM 130 und ein FIFO-Puffer 140 sind über den Datenbus 180 miteinander verbunden.
  • Der Mikroprozessor 120 kann z. B. ein kommerziell erhältlicher RISC-Einzelchip-Mikroprozessor, wie z. B. der ARM610 sein, der von Advanced RISC Machines von Cambridge, England hergestellt wird, der bei 32 MHz arbeitet. Die Übertragungssteuerung 150 stellt einen Block aus einer Steuerlogik dar, deren Attribute und Funktionen unten beschrieben werden wird. Diese Logik kann mit diskreten Komponenten, Gatter-Feldern oder anwendungsspezifischen integrierten Schaltungen (ASICs) realisiert werden, und zwar in Abhängigkeit von den Erfordernissen der bestimmten Implementation. Die tatsächliche Zusammensetzung der Netzwerk-Leitungs-Schnittstelle 170, wie sie der Fachmann erkennen wird, hängt von dem physikalischen Medium ab, auf dem das ATM-Netzwerk aufgebaut ist. Beispielsweise können UTP 802.4 Token Ring-Bestandteile zur Verwendung mit einer 25,6 Mb/s ATM-physikalischen Schicht verwendet werden. Der Zeitgeber 160, das DRAM 130 und der FIFO-Puffer 140 können aus einer weiten Vielfalt von Standardkomponenten ausgewählt werden, wie sie dem Fachmann bekannt sind.
  • Verschiedene Bytes in dem Kopf der ATM-Zelle werden beim Ausführen der bevorzugten Ausführungsform der folgenden vorliegenden Erfindung verwendet. Als Hilfe für das Verständnis der Erfindung ist eine Beschreibung einer typischen ATM-Zelle wie folgt. 2A zeigt das Format einer ATM-Zelle 200, wie sie in der CCITT Empfehlung I.261 definiert ist. Dieses Format, das für eine Verwendung bei B-ISDN und anderen Weitverkehrs netzwerken Anwendung findet, spezifiziert eine Zelle von 53 Bytes (Oktetts): ein Informationsfeld oder eine Nutzinformation 210 von 48 Bytes (Oktetts), die die Benutzerinformation enthält, die das Objekt der Übertragung ist, und einen Zellenkopf 220 von 5 Bytes (Oktetts).
  • Der Zellenkopf 220 oder einfach „Kopf" bzw. „Header" wird verwendet, um eine Vielfalt von Steuerinformationen zu übertragen und zwar bezüglich der augenblicklichen Zelle. 2B zeigt die Struktur dieses Kopfes bei der Benutzer-Netzwerk-Schnittstelle (UNI), d. h., die Schnittstelle zwischen einer Endbenutzervorrichtung und einem ATM-Schalter. Hier ist der Kopf aus einem generischen Flusssteuerfeld 230 zur Spezifizierung von Information aufgebaut, die verwendet werden kann, um einen Verkehrsfluss bei der Benutzer-Netzwerk-Schnittstelle zu steuern, einem VPI (Virtuelle-Pfad-Identifizierer) 240, einen VCI (Virtuell-Schaltungs-Identifizierer) 250, einen Nutzinformationstyp 260, der Information bereitstellt, die den Typ der Information betrifft, die in dem Nutzinformations-Feld 210 der Zelle enthalten ist, ein Zellen-Verlusts-Prioritätsbit 270 zum Einstellen der Prioritäten, die das Aufgeben der Zelle während Überlastbedingungen betrifft, und ein Kopf-Fehler-Steuerfeld 280, das ein Fehlersteuer-Überprüfungsbyte für die vorhergehenden 4 Bytes (Oktetts) in dem Kopf 220 enthält.
  • 2C zeigt das Format eines Kopfes 220 bei der Netzwerk-Zu-Netzwerk-Schnittstelle (NNI), der Schnittstelle zwischen Netzwerkschaltern. Diese Kopfstruktur ist mit der Struktur bei der UNI identisch, es sei denn das generische Flusssteuer-(GFC)Feld 230 wird durch vier zusätzliche Bits VPI 240 ersetzt. ATM-Netzwerke stellen keine Flusssteuerung des Typs bereit, der bei gewissen Paketnetzwerken realisiert ist, und ATM-Netzwerke haben nicht die Fähigkeit, Zellen über eine lange Zeitdauer zu speichern. Deshalb gibt es innerhalb eines ATM-Netzwerks kein Erfordernis nach einer generischen Flusssteuerung. GFC 230 ist in der UNI definiert, um einen Kopf-Raum für eine Endknotenverarbeitung von Zellen bereitzustellen. GFC 230 kann von einem Endknoten zu jedem Zweck verwendet werden und GFC 230 wird bei der vorliegenden Erfindung verwendet, wie unten beschrieben ist. Somit kann innerhalb des NNI das GFC 230 weggelassen werden, und zwar zugunsten eines expandierten VPI 240. Über weitere Information betreffend Standard-ATM-Zellen-Formate siehe de Prycker, Seiten 124-28. Ein Fachmann wird erkennen, dass das Zellenformat, das hierin beschrieben ist, nur ein Standardzellenformat darstellt und das al ternative Zellenformate und Größen in Verbindung mit der vorliegenden Erfindung verwendet werden können.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung ist eine Hybridimplementation von zwei in Beziehung stehenden Planungsmechanismen. Die erste Statik-Zellen-Planung ist in erster Linie geeignet, obwohl nicht auf gleichförmige Raten-Zellen-Pacing beschränkt, wie von CBR und Echtzeit-VBR-Verkehrsklassen gefordert wird. Die zweite dynamische Zellenplanung ist auf Zellen-Pacing-Anforderung mit variabler Rate gerichtet, wie dies für ABR-, UBR- und Nichtechtzeit-VBR-Verkehrsklassen definiert ist. Wie unten in Zusammenhang mit alternativen Ausführungsformen diskutiert wird, können beide Mechanismen getrennt bzw. isoliert verwendet werden. Jedoch erlaubt die Verwendung der zwei Mechanismen in Kombination eine geeignete Balance zwischen Flexibilität und Laufzeit-Leistungsfähigkeit für die meisten Netzwerk-Realisierungen.
  • Die Operation der vorliegenden Erfindung konzentriert sich um einen „Zeitsteuerring", von dem ein Konzeptdiagramm in 3 gezeigt ist. Obwohl einfache Zeitsteuerringe, die auch als Fenster- bzw. Schlitz-Reservierungs-Steuerungen bekannt sind, zuvor im Stand der Technik der Planungs-Mechanismen verwendet worden sind, stellt der Ring, der bei der vorliegenden Erfindung verwendet wird, eine ausgeklügelte Realisierung dar, die gestaltet ist, um sowohl eine statische als auch eine dynamische Planung simultan Handzuhaben.
  • Ein Zeitsteuerring 300 ist in 3 als eine lineare Tabelle bequemlichkeitshalber gezeigt, aber sie wird geeigneterweise als zirkular angestrebt. Wie unten diskutiert wird, wird eine Verarbeitung von END-Markern 350 zu einer Schleife bezüglich des Pacing-Algorithmus zu der Vorderseite des Zeitsteuerrings 300 führen. Jeder Eintrag 305 auf dem Zeitsteuerring 300 stellt einen verfügbaren Zellenübertragungsschritt dar und entspricht der Übertragungszeit für eine ATM-Zelle bei der gegenwärtigen Netzwerkrealisierung. Der Eintrag 305 besteht aus zwei Feldern: eine statische Aktion 310 und eine dynamische Aktion 320. Zusammen definieren diese Felder, welche „Aktionen", normale Zellübertragungen, während jenes Zeitschlitzes durchzuführen sind und welche Aktionen aufeinander folgend durchgeführt werden können. Fachleute werden erkennen, dass, obwohl ein einziger Zeitsteuerring 300 bei der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ein Paar paralleler Zeitsteuerringe, einer für statische Aktionen und ein anderer für dynamische Aktionen, ebenfalls verwendet werden kann. Weil beide Felder für jedes Zeitintervall gelesen werden müssen, ist jedoch eine einzige Ringimplementation effizienter.
  • Jedes Aktionsfeld 310, 320 enthält physisch entweder einen NULL-Zeiger oder einen Adressen-Zeiger zu einer Datenstruktur, die unten beschrieben ist, die im DRAM 130 gespeichert ist und die als eine Aktion definiert ist, die während jenes Zeitintervalls zu unternehmen ist. Der NULL-Zeiger zeigt an, dass der Zeitschlitz nicht für den bestimmten Planungsmechanismus, statisch oder dynamisch, zugewiesen wurde, und dass keine Aktion durchgeführt werden muss. Während eines einzigen Zeitschlitzes kann entweder das statische oder dynamische Feld oder beide Zeiger zu Aktionsdatenstrukturen enthalten.
  • Die statischen Felder 310 werden verwendet, um die Übertragung von CBR- und VBR-Virtuellschaltungen zu pacen bzw. diesbezüglich eine Durchflussdosierung durchzuführen, wobei diese eine Übertragung von Zellen zu präzisen Zeitintervallen fordern. Diese Felder werden vorab bestimmten virtuellen Schaltungen zur Zeit des Verbindungsaufbaues zugewiesen, oder wenn die Qualität von Dienstparametern für eine gegebene virtuelle Schaltung durch das Netzwerk geändert wird. Durch eine Vorabzuweisung von Zeitschlitzen für eine bestimmte Schaltung zu präzisen integralen Intervallen, kann eine Übertragung von Zellen auf dem Netzwerk, das verzögerungsempfindliche Daten enthält, mit einem garantierten maximalen Verzögerungs-Jitter erzielt werden.
  • Für statisch zugewiesene Übertragungen wird man erkennen, dass die Länge des Zeitsteuerrings 300, d. h., die Anzahl der Zeitschlitze in dem Ring durch die Schnittstellengeschwindigkeit und die gewünschte Zeitsteuerauflösung bestimmt wird. Wenn die Größe des Zeitsteuerrings zunimmt, nimmt die Zeitsteuerauflösung zu, aber auf Kosten des Speichers, der zum Speichern des Zeitsteuerrings 300 benötigt wird. Falls die minimale Dienstbandbreite (MSB) für die Netzwerkrealisierung bekannt ist, kann die minimale Größe (N) in den Zeitschlitzen des Zeitsteuerrings 300 wie folgt berechnet werden:
    Figure 00130001
    Wobei TMB die totale Gesamtbandbreite des Übertragungsmediums darstellt.
  • Wie in 3 gezeigt ist, kann nur eine statische Aktion 330 für einen einzigen Ringeintrag zugewiesen werden, und diese Aktion muss während des entsprechenden Zeitintervalls auftreten. Im Gegensatz dazu enthält ein zugewiesenes dynamisches Aktionsfeld 320 einen Zeiger zu einer Warteschlange von dynamischen Aktionen 340, die Aktionen darstellen, die aktuell werden, d. h., die zur Verarbeitung während des Zeitfensters bereit sind. Weil statische Aktionen immer Priorität haben, könnte es sein, dass eine dynamische Zuweisung, die einem bestimmten Ringeintrag zugewiesen ist, während jenes Zeitschlitzes nicht verarbeitet wird. Deshalb zeigt das Vorhandensein einer dynamischen Aktion bei einem bestimmten Ringeintrag an, dass die Aktion sofort oder sobald wie möglich danach verarbeitet werden kann.
  • Dynamische Aktionen, die für Zellenübertragung auf ABR- und UBR-Schaltungen geeignet sind, werden nicht vorab zugewiesen. Typischerweise wird nur eine dynamische Aktion für eine bestimmte virtuelle Schaltung auf dem Zeitsteuerring 300 einer beliebigen Zeit zugewiesen werden. Wenn diese Aktion verarbeitet wird, wird die nächste Zellenübertragung für jene Schaltung geplant werden, in dem eine Aktion 340 auf der dynamischen Aktions-Warteschlange bei dem Ringeintrag 305 platziert wird, der dem frühesten Schlitz zur Übertragung jener Zelle entspricht. Dieses Verfahren wird detaillierter unten beschrieben. Weil dynamische Aktionen in Echtzeit geplant werden, gibt es keine intrinsische Grenze für die Zeitauflösung dieser Aktionen. Jedoch bestimmt die Länge eines Zeitsteuerrings 300 die minimale Rate, bei der Zellen übertragen werden können.
  • 4 stellt ein Gesamtflussdiagramm für die Verarbeitung durch Mikroprozessor 120 der Ringeinträge auf dem Zeitsteuerring 300 dar. Die Verarbeitung des Zeitsteuerrings 300 gemäß diesem Algorithmus wird in Antwort auf einen Hardware-Zeitgeber-Interrupt 185 initert, der in 1 gezeigt ist. Da der Mikroprozessor 120 die Zellen im FIFO-Puffer viel schneller verarbeiten und in die Warteschlange einreihen kann, als sie physikalisch auf dem Netzwerk übertragen werden, werden normalerweise mehrere Einträge in einem Burst bzw. Datenblock verarbeitet, und zwar eher als dass ein einziger Eintrag pro tatsächlichem Zeit- Intervall gehandhabt wird. Diese Implementation reduziert den festen unnötigen bzw. zusätzlichen Aufwand des Eintretens in den Interruptcode und dessen Verlassen. Die maximale Anzahl der Einträge, die pro Burst bzw. Datenblock verarbeitet werden können, ist durch die maximale Länge eines FIFO-Puffers begrenzt.
  • Der Mikroprozessor 120 hält kontinuierlich einen Zeiger zu dem „nächsten" Ringeintrag 305, d. h., der nächste Eintrag der zu verarbeiten ist. Nach Empfangen des Interrupts 185 wird der Mikroprozessor 120 sowohl die statischen als auch dynamischen Felder dieses aktuellen Ringeintrags 305 lesen, wie durch den Block 410 dargestellt ist. Der Mikroprozessor 120 überprüft zuerst das dynamische Feld 320, den Block 420, um zu bestimmen, ob er einen Zeiger zu einer Warteschlange von dynamischen Aktionen enthält, die nun aktuell geworden sind. Falls dem so ist, geht der Mikroprozessor 120 zum Block 430, wo die Eintrags-Warteschlange von dynamischen Aktionen in einer anderen Datenstruktur platziert ist, die als latente Warteschlange bekannt ist.
  • Die latente Warteschlange ist der Mechanismus, durch den alle dynamischen Aktionen, die aktuell geworden sind, zur Verarbeitung in die Warteschlange eingereiht werden. Wenn man auf Warteschlangen dynamischer Aktionen bei aktuellen Ringeinträgen trifft, werden sie an die latente Warteschlange angehängt. Die erste Aktion bei der latenten Warteschlange wird bei dem ersten Ringeintrag verarbeitet werden, für den keine gültige statische Aktion gegenwärtig ist, d. h., wenn ein statisches Feld 310 auf NULL gesetzt wird. Dynamische Aktionen werden nur von der latenten Warteschlange verarbeitet; eine Anwesenheit einer dynamischen Aktion auf dem Zeitsteuerring 300 zeigt einfach den Moment an, bei dem jene Aktion zu der latenten Warteschlagen bewegt werden kann und zur Verarbeitung freigegeben wird.
  • Zuerst-Ein, Zuerst-Aus-(FIFO) Listenstrukturen erfordern, wie Fachleute erkennen werden, eine Handhabung wie bei einem Spezialfall für den ersten Eintrag, der zu einer Liste hinzugefügt wird, und erfordern sowohl „Kopf-" als auch „Schwanz-"Zeiger, die aufrecht zu erhalten sind. Mit diesem zusätzlichen Overhead bzw. Zusatzaufwand stellt die Manipulation von FIFO-Warteschlangen eine potentiell langsame Operation für jeden Prozessor dar. Um diesen Zusatzaufwand bzw. Overhead zu vermeiden, sind die Warteschlangen dynami scher Aktionen, die bei jedem Ringeintrag aufrechterhalten werden, einzeln verknüpfte Zuerst-Ein, Zuerst-Aus-(LIFO) Warteschlagen, und zwar eher als FIFO-Warteschlangen. Diese Anordnung erfordert einen geringeren Zusatzaufwand bzw. Overhead, weil alle Warteschlangen-„Hinzufüge-" und „Entfernungs-"Operationen am Warteschlangenkopf durchgeführt werden, wobei dies nur erforderlich macht, dass ein einziger Zeiger aufrechterhalten wird.
  • Die Verwendung von LIFO-Warteschlangen führt jedoch zu einer lokalen Ungerechtigkeit: Aktionen, die in eine Warteschlange eingereiht sind, werden nicht auf einer strengen „Wer zuerst kommt, wird zuerst bedient" Grundlage verarbeitet. Um dies wieder gutzumachen, wird die latente Warteschlange als ein FIFO-Stapel aufrecht erhalten, der eine langfristige Gerechtigkeit garantieren kann. Wenn Einträge auf dem Ring verarbeitet werden, werden jegliche dynamische Aktions-LIFO-Warteschlangen, auf die man trifft, auf die latente FI-FO-Warteschlange genauso geschoben, wie man sie findet. Mit anderen Worten enthält die latente FIFO-Warteschlange LIFO-Warteschlangen von Aktionen. Natürlich sind andere Implementationen dieser Warteschlangen möglichen, aber diese Anordnung führt zu einem Minimum am Prozessor-Zusatzaufwand.
  • Ungeachtet dessen, ob man oder ob man nicht auf eine dynamische Aktion-Warteschlange getroffen ist und diese auf die latente Warteschlange geschoben wurde, wird der Mikroprozessor 120 bestimmen, ob eine statische Aktion für jenen Ringeintrag vorhanden ist, wie im Block 440 angezeigt ist. Dies ist tatsächlich ein zweiteiliger Test. Erstens, falls das statische Feld 310 einen NULL-Zeiger enthält, wird keine statische Aktion für jenen Zeitschlitz geplant. Es ist jedoch ebenso möglich, dass eine statische Aktion für jenen Zeitschlitz geplant wird, z. B. die Übertragung einer Zelle auf einer bestimmten CBR-Schaltung, aber dass das Anwendungsprogramm das jene Schaltung verwendet, dabei gescheitert ist, die erforderlichen Daten zur Übertragung zu liefern. Deshalb kann eine Überprüfung durchgeführt werden, um zu sehen, ob die Daten vorhanden sind. Falls keine Daten warten, dann kann der Schlitz für die Verarbeitung einer dynamischen Aktion verwendet werden, so als ob der Schlitz nicht vorab zugewiesen worden wäre.
  • Falls der Ringeintrag statisch zugewiesen ist und falls Daten für eine Übertragung vorhanden sind, dann schreitet der Mikroprozessor 120 zum Block 460, um die Aktionsdatenstruktur, die durch den Zeiger angezeigt wird, im statischen Aktionsfeld 310 zu lesen. Eine typische statische Aktionsdatenstruktur 500 ist in 5 gezeigt. Der Mikroprozessor 120 wird einen Unterroutinenaufruf zu einer Aktions-Handhabungsroutine durchführen, die sich im Speicher bei der Adresse befindet, die durch den Handhabungs-Zeiger 550 spezifiziert ist. Diese Zellenübertragungs-Handhabungsroutine wird eine einzige ATM-Zelle erzeugen, in dem die vier Bytes (Oktetts) des Zellenkopfs 540 mit 48 Bytes (Oktetts) von Nutzinformationsdaten (falls eine Standardzellengröße verwendet wird) verkettet werden, die sich im Speicher bei der Adresse befinden, die durch den Datenzeiger 520 spezifiziert ist. Die Handhabungsroutine wird dann veranlassen, dass diese ATM-Zelle, die an der Hinterseite der Übertragungs-Warteschlange im FIFO-Puffer 140 zu platzieren ist, auf eine Übertragung durch die Übertragungssteuerung 150 wartet. Die Handhabungsroutine wird dann irgendwelche anderen spezifizierten Aufgaben vollenden und eine Unterroutine-Rückkehrinstruktion ausführen, um die Steuerung dem Flussdiagramm der 4 wieder zu übergeben.
  • Falls der Mikroprozessor 120 am Block 440 bestimmt, dass das statische Feld 310 nicht zugewiesen ist oder dass Daten nicht auf ein zugewiesenes Feld warten, wird der Mikroprozessor 120 fortschreiten, um den Status der latenten Warteschlange zu überprüfen, wie im Block 450 dargestellt ist. Falls wenigstens eine dynamische Aktion in der latenten Warteschlange vorhanden ist, wird sich der Mikroprozessor 120 zu dem Block 470 bewegen, um jene Aktion von dem Kopf der latenten Warteschlange zu lesen.
  • Eine typische dynamische Aktionsdatenstruktur 600 ist in 6 gezeigt. Die ersten fünf Felder in der dynamischen Aktionsdatenstruktur 600 sind mit jenen identisch, die in der statischen Aktionsdatenstruktur 500 enthalten sind. Die zusätzlichen Felder, die in 6 gezeigt sind, werden beim Planen aufeinanderfolgender dynamischer Aktionen für eine bestimmte virtuelle Schaltung verwendet und werden vollständiger unten beschrieben. Was statische Aktionen angeht, so wird der Mikroprozessor 120 einen Unterroutinenaufruf zu einer Aktions-Handhabungs-Routine machen, die sich im Speicher bei der Adresse befindet, die durch den Handhabungs-Zeiger 550 spezifiziert ist. Wiederum wird diese Zellenübertra gungs-Handhabungsroutine eine einzige ATM-Zelle erzeugen, in dem die vier Bytes (Oktetts) eines Zellen-Kopfes S40 mit 48 Bytes (Oktetts) von Nutzinformationsdaten (falls eine Standardzellengröße verwendet wird) verkettet bzw. verknüpft wird, die sich im Speicher bei der Adresse befinden, die durch den Datenzeiger 520 spezifiziert ist. Wie zuvor wird diese ATM-Zelle am hinteren Ende der Übertragungs-Warteschlange im FIFO-Puffer 140 platziert werden, um auf eine Übertragung durch die Übertragungssteuerung 150 zu warten. Die Handhabungsroutine wird dann die nächste Zellenübertragung für diese virtuelle Schaltung planen, indem eine dynamische Aktion auf dem Zeitsteuerring 300 bei dem Zeitschlitz angefügt wird, der die früheste Zeit darstellt, wenn die nächste Zelle übertragen werden sollte. Die Berechnung dieses Intervalls wird vollständiger unten beschrieben. Die Handhabungsroutine vollendet dann irgendwelche sonstigen spezifischen Aufgaben und führt einen Unterroutinen-Rückkehrbefehl aus, um die Steuerung dem Flussdiagramm der 4 zurückzugeben.
  • Falls es keine statische Aktion gibt, die zu implementieren ist und die latente Warteschlange leer ist, wird der Mikroprozessor 120 sich vom Block 450 zum Block 480 bewegen. Diese Bedingung stellt einen Zeitschlitz dar, wo keine Zellenübertragung stattfinden sollte. Da jedoch Ringeinträge in einem Burst bzw. Datenpaket verarbeitet werden, würde ein einfaches Bewegen zum nächsten zugeordneten Ringeintrag und ein Platzieren jener Zelle in dem Übertragungspuffer dazu führen, dass die nächste Zelle zu früh übertragen wird. Die einfachste Lösung würde darin liegen, eine Schein-ATM-Zelle aufzubauen, wobei VCI 250 auf null gesetzt ist, und jene Zelle im FIFO-Puffer 140 zu platzieren. Diese Zelle würde auf dem Netzwerk ohne Verzögerung von der Übertragungssteuerung 150 übertragen werden. Ihre Gegenwart würde jenen Übertragungsschlitz einnehmen, womit gewährleistet wird, dass darauffolgende Zellen in ihren geplanten Schlitzen übertragen werden würden. Eine derartige Verwendung von Schein-Zellen bzw. Dummy-Zellen ist erlaubt, weil ein ATM-Netzwerk automatisch jegliche Zellen aufgeben bzw. beseitigen wird, die ein VCI 250 enthalten, das auf null gesetzt ist. Jedoch führt dies zu einer zusätzlichen Verarbeitung innerhalb des Netzwerks, die vermieden werden sollte, wenn es möglich ist. Ein anderer effizienterer Mechanismus liegt darin, eine intelligente Übertragungssteuerung 150 zu verwenden, die die Übertragung einer Zelle verzögern kann, und zwar bis zu ihrem zugewiesenen Übertragungsschlitz. Dieser Mechanismus wird bei der vorliegenden Erfindung implemen tiert, indem eine Zellenverzögerungszählung bei dem generischen Flusssteuerungs(GFC)Feld 230 eines jeden herausgehenden Zellenkopfs kodiert wird. Der Wert, der in diesem Feld kodiert ist, zeigt der Übertragungssteuerung 150 die Anzahl der Zellenzeiten an, auf die zu warten ist, bevor mit der Übertragung jener Zelle begonnen wird. Die Übertragungssteuerung 150 bewerkstelligt diese Verzögerung, indem ein Zellenverzögerungszeitgeber 190 überwacht wird, ein Zeitgebersignal, das einmal pro Zeitschlitz feuert.
  • Somit wird, nachdem man auf einen leeren Ringeintrag getroffen ist; der Mikroprozessor einen Verzögerungszähler im Block 480 erhöhen. Dieser Verzögerungszähler wird immer aufrecht erhalten und sein gegenwärtiger Wert wird im GFC 230 aller konstruierten herausgehenden Zellen durch die Aktion-Handhabungsroutine platziert. Die Aktion-Handhabungsroutine setzt ebenfalls den Verzögerungszähler auf null zurück, wenn er eine neu konstruierte Zelle in dem FIFO-Puffer 140 platziert, um auf eine Übertragung zu warten.
  • Natürlich besteht GFC 230 aus nur vier Bits; somit sind Zellenverzögerungszeiten zwischen null und fünfzehn (15) Zellenübertragungszeiten möglich. Falls der Mikroprozessor 120 den Verzögerungszähler auf sechzehn (16) im Block 480 erhöht, wird er den Verzögerungszähler auf null zurücksetzen, eine Schein-ATM-Zelle aufbauen, wie oben beschrieben wurde, und jene Zelle im FIFO-Puffer 140 platzieren, um auf die Übertragung zu warten.
  • Ungeachtet davon, welche Aufgaben beim Verarbeiten des gegenwärtigen Ringeintrags durchgeführt wurden, wird der Mikroprozessor 120 letztendlich zum Block 490 fortschreiten, wo er zu dem nächsten Ringeintrag fortschreiten wird und eine Schleife für die Verarbeitung durchführen wird. Die tatsächliche physikalische Erhöhung des Zeigers zu dem nächsten Ringeintrag kann irgendwo in der algorithmischen Schleife auftreten; tatsächlich kann sie effizient sein, um den Zeiger fortzuführen, wenn der Eintrag beim Block 410 gelesen wird. Dieser Schritt ist am Boden des Flussdiagramms der 4 aus konzeptioneller Klarheit gezeigt.
  • Die Schleife in dem Flussdiagramm der 4 ist aus praktischen Gründen als immerwährend ausgebildet. Jedoch wird die Verarbeitung aus dieser Schleife ausbrechen, nachdem sie eine voreingestellte Anzahl von Ringeinträgen verarbeitete hat (oder möglicherweise eine vorher eingestellte Anzahl von Zellen im FIFO-Puffer 140 geladen hat). Nach dem Ausbrechen wird die Verarbeitung warten, bis sie wiederum einen Zeitgeberinterrupt 185 empfangen hat, um die Verarbeitung von Ringeinträgen wieder aufzunehmen. Die voreingestellte Anzahl von Ringeinträgen und die Häufigkeit des Zeitgeberinterrupts 185 sind implementationsabhängig, aber diese Werte sollten so gewählt werden, dass die Übertragungshardware niemals untätig gelassen wird. Mit anderen Worten sollte es den FIFO-Puffer 140 nicht erlaubt sein, leer zu sein; eher sollte die Verarbeitung den Satz von Zellen „vervollständigen" („auffüllen"), den die Übertragungshardware versucht zu übertragen. In dieser Art und Weise wird die Übertragungssteuerung 150 immer Zellen übertragen oder Zellenübertragungsverzögerungen implementieren.
  • 7 stellt ein Beispiel des Planungsmechanismus im Betrieb dar, wobei ein Fenster von zehn Zeitschlitzen T1 bis T10 gezeigt ist. Die Zeitachse 710 zeigt, welche Aktionen in welchen Zeitfenstern durchgeführt werden, wobei der zugewiesene Zeitsteuerring 705 gegeben ist. Im Zeitsteuerring T1 wird die statische Aktion S1 durchgeführt und dynamische Aktionen D1, D2 und D3 werden auf der latenten Warteschlange platziert. Die Zeitschlitze T2 und T3 sind nicht zugewiesen, so dass die oberen zwei Aktionen auf der latenten Warteschlange D1 und D2 in jenen Zeitschlitzen jeweilig durchgeführt werden. Die Schlitze T4, T5 und T6 werden für die statischen Aktionen S2, S3 und S4 jeweils durchgeführt und diese Aktionen werden in diesen Zeitschlitzen durchgeführt, während die dynamischen Warteschlangen, die jenen Schlitzen T5 und T6 zugewiesen sind, auf der latenten Warteschlange platziert werden. Die oberen vier Aktionen auf der latenten Warteschlange D3 bis D6 werden in den Schlitzen T7 bis T10 hindurchgeführt. Bemerkenswert ist, dass obwohl die Aktion D9 dem Schlitz T8 zugewiesen ist, sie nicht in jenem Zeitschlitz durchgeführt wird, sondern eher am Boden der latenten Warteschlange platziert wird. Nach dem Schlitz T10 verbleiben die Aktionen D7, D8 und D9 auf der latenten Warteschlange und werden aufeinanderfolgend durchgeführt.
  • Wie oben erwähnt wurde, werden dynamische Aktionen, die für ABR- und UBR-Zellenübertragungen verwendet werden, in Echtzeit zugewiesen, wenn Zellen von diesen virtuellen Schaltungen verarbeitet werden. Wenn eine dynamische Aktion gehandhabt wird, wird die Aktions-Handhabungsroutine mit der Aufgabe des Planens der nächsten dynami schen Aktion für jene bestimmte virtuelle Schaltung geladen. Die zusätzlichen Felder in der dynamischen Aktionsdatenstruktur 600 ermöglichen es der Handhabungsroutine, dieses Planen durchzuführen.
  • Die Planungsinformation wird als ganzzahlige plus bruchteilige Zeitdauern gespeichert. Die ganzzahlige Übertragungsperiode wird in Einheiten von Zellenübertragungszeiten in Integrale Tx-Periode 610 gespeichert, wohingegen die bruchteilige Zeitdauer bzw. Periode als Anzahl übertragener Zellen im Zähler-2-Rate 640 gespeichert wird. Das Planen arbeitet wie folgt: Der Aktions-Handhaber wird die nächste dynamische Aktion beim Zeitsteuerring-Eintrag 305 X-Einträge von dem nächsten Ringeintrag platzieren, wobei X als die Integrale-Tx-Periode 610 definiert ist. Jedoch wird jede Y-Anzahl von übertragenen Zellen auf jener bestimmten virtuellen Schaltung, wo Y durch Zähler-2-Rate 640 definiert ist, die dynamische Aktion entweder bei einem Ringeintrag zusätzlich oder bei einem Ringeintrag weniger (abhängig von der Implementation) von dem einen, der durch die Integrale-Tx-Periode 610 definiert ist, platziert werden. Deshalb kann eine feinkörnige bzw. fein abgestufte Steuerung über die bzw. der Übertragungsrate erzielt werden. Der Zähler-2-Wert 660 hält den Zählwert von Zellen, die auf jener virtuellen Schaltung übertragen werden, und zwar zum Vergleich mit der Zähler-2-Rate 640. Dieser Wert wird zurückgesetzt, wenn die teilweise bzw. bruchteilige Übertragungskorrektur durchgeführt wird.
  • Die Zähler-l-Rate 630 definiert die Anzahl der Datenzellen, die auf einer bestimmten virtuellen ABR-Schaltung durchzuführen sind, bevor eine ABR-Resourcen-Management-(RM)Zelle übertragen wird. Der Zähler-l-Wert 650 hält den aktuellen Zellenzählwert. Wenn der Zähler-l-Wert 650 den Wert bei der Zähler-l-Rate 630 erreicht, wird der Aktions-Handhaber eine ABR-RM-Zelle eher übertragen als eine Datenzelle. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung werden virtuelle UBR-Schaltungen in derselben Art und Weise wie ABR-Schaltungen gehandhabt, aber die Zähler-1-Rate 530 wird auf null gesetzt, so dass keine RM-Zellen erzeugt werden.
  • Für eine ABR-Planung wird die gegenwärtige Übertragungsrate ebenso durch eine Rate-ID 620 dargestellt. Die Rate-ID 620 ist eine sechzehn (16) Bitnummer, die linear über einen Bereich von Raten abgebildet wird, die zwischen einer (1) Zelle pro Sekunde und der Lei tungsrate bzw. Linienrate liegen. Wie Fachleuten bekannt ist, erfordert die ATM-Forum-ABR-Spezifikation sowohl lineare als auch exponentielle Ratenänderungen. Diese Änderungen werden gehandhabt, indem die lineare oder exponentielle Ratenänderung auf die Rate-ID 620 angewendet wird, und dann der neu kalkulierte Wert als ein Index für eine Nachschlagtabelle verwendet wird, um das Ergebnis in eine ganzzahlige und bruchteilige Zeitdauer zu transformieren, die jeweils in der Integrale-TX-Periode 610 und Zähler-2-Rate 640 gespeichert werden. Aus Effizienzgründen werden ABR-Rate-Änderungen normalerweise nur angewendet, wenn eine RM-Zelle übertragen wird, typischerweise alle zweiunddreißig (32) Datenzellen.
  • Es sollte erkannt werden, dass die dynamische Aktionsdatenstruktur 600 ebenso für statische Aktionen verwendet werden kann. Die Zählerfelder können verwendet werden, um ein Übertragungs-„Toren" zu realisieren, so dass alle „N" von 256 zugewiesenen Zellen-Übertragungsschlitzen ignoriert werden. Mit anderen Worten wird der statische Aktionshandhaber nicht eine Zelle in jenem Schlitz bzw. Fenster übermitteln. Auf diese Art und Weise kann eine feinkörnige bzw. fein abgestufte Steuerung über CBR-Raten und eine Implementation einer VBR-Raten-Variabilität erzielt werden.
  • Ein Fachmann wird erkennen, dass Aktionen zusammen mit ihren entsprechenden Aktionshandhabungsroutinen verwendet werden können, um einfache Zustandsmaschinen zu realisieren. Tatsächlich wird eine Zustandsmaschine verwendet, um das integrale plus bruchteilige Zeitdauer-Planen zu implementieren. Als weiteres Beispiel ist eine vereinfachte Zustandsmaschine für eine AALS Segmentation und Übertragung (für mehrere Zell-AALS-Pakete) in 8 graphisch gezeigt. Wenn einmal ein AAL5-Paket durch den Anwendungskode zur Übertragung vorhanden ist, werden alle Felder in jener virtuellen Schaltungs-Aktionsdatenstruktur 500 (obere Hälfte der Struktur 600) initialisiert. Im Zustand 1 810 wird die Aktion-Handhabungsroutine die AAL5-CRC-Berechnung initialisieren, die erste Zelle in dem AAL5-Paket senden, den partiellen CRC-Rest in der CRC 510 in der Aktionsdatenstruktur sichern, die nächste Übertragung planen, falls es sich um eine dynamisch geplante Schaltung handelt, und zu dem nächsten Zustand wechseln bzw. schalten. Wenn die nächste Aktion für jene virtuelle Schaltung durchgeführt wird, wird die Aktion-Handhabungsroutine im Zustand 2 820 sein. Hier wird die Handhabungsroutine den CRC-Rest wie- Rest wiederherstellen, die nächste Zelle in dem AAL5-Paket senden, den partiellen CRC-Rest in CRC 510 speichern, die nächste Übertragung planen und zu dem nächsten Zustand schalten bzw. wechseln falls die nächste Zelle die letzte Zelle in dem Paket ist. Dies wird angezeigt, wenn der aktualisierte Datenzeiger 520 gleich dem Wert in dem letzten Zellenzeiger 530 ist. Die Aktionshandhabungsroutine wird in dem Zustand 2 820 verbleiben, bis die letzte Zelle erreicht ist. In dem Zustand 3 830 wird die Aktionshandhabungsroutine den CRC-Rest wieder herstellen, die letzte Zelle in dem AAL5-Paket mit dem letztendlich berechneten CRC-Wert senden und einen übertragenen, vollendeten Status zu dem Anwendungsprogramm zurückgeben. Dieser Typ der Zustandsmaschine, wie er für den Fachmann klar sein wird, kann für eine breite Vielfalt von Netzwerkoperationen implementiert werden.
  • Es ist ebenso wichtig, zu bemerken, dass Aktionen nicht beschränkt sind, um Zeltübertragungen durchzuführen: eher kann virtuell eine jede Verarbeitungsfunktion, die für einen bestimmten Augenblick in der Zeit geplant werden muss, in einer Aktionshandhabungsroutine implementiert werden und durch einen Aktionszeiger auf dem Zeitsteuerring 300 spezifiziert werden. Tatsächlich werden spezielle „statische" Aktionen für Softwaremanagementaufgaben vordefiniert. Beispielsweise kann eine Aktion im Zeitsteuerring 300 platziert werden, und zwar jede festgelegte Anzahl von Schlitzen bzw. Fenstern, die den Mikroprozessor 120 veranlassen, aus der Schleife auszubrechen, die durch das Flussdiagramm der 4 definiert ist, und von der Interrupt-Verarbeitung zurückzukehren. Zusätzlich kann der END-Marker 350 als eine Aktion definiert werden, die zu einem Zeigeradressen-Umherkreisen bzw. -Umherwandern zu dem Start des Zeitsteuerrings 300 führen. Auch müssen diese Managementaktionen keinen physikalischen Zeitschlitz verbrauchen. Ein Mikroprozessor 120 kann einfach zu dem nächsten Ringeintrag 305 sich bewegen, um jegliche Zellen zur Übertragung in jenem physikalischen Zeitschlitz bzw. Zeitfenster zu verarbeiten.
  • Eine andere mögliche Verwendung für einen Zeitsteuerringschlitz ist die Zuordnung einer Aktion, einen „Empfangs"-Puffer zu einem Anwendungsprogramm zurückzugeben. Ein Standard-Nicht-AAL5-Verkehr enthält keinen Ende-Des-Pakets-Marker: folglich wird jede empfangene Zelle typischerweise direkt zu der Anwendung nach Empfang weitergeleitet. Diese Praxis verursacht jedoch einen substantiellen Verarbeitungszusatzaufwand. Eine ver besserte Effizienz kann erzielt werden, indem mehrere empfangene Zellen gepuffert werden und dann jene Zellen als ein einziger Block zu der Anwendung bzw. zu dem Anwendungsprogramm weitergeleitete werden.
  • Weil jedoch keine Paketstruktur aus dem empfangenen Verkehrsstrom abgeleitet werden kann, könnten wenige Zellen in einem teilweise gefüllten Empfangspuffer schmachten. Der Zeitsteuerring kann verwendet werden, um eine Aktion zu planen, die die Rückgabe des Empfangspuffers in Zeitintervallen garantiert, und zwar ungeachtet der Anzahl der Zellen, die gegenwärtig in dem Puffer gespeichert werden. Dieser Mechanismus liefert eine wesentliche Effizienzverbesserung, während eine maximale Empfangslatenz garantiert wird.
  • Die obige bevorzugte Ausführungsform der vorliegenden Erfindung ist eine Hybrid- Implementation, die ein dynamisches und statisches Planen kombiniert. Diese Anordnung wird eine geeignete Balance zwischen Effizienz und Flexibilität für die meisten Netzwerk-Schemata bereitstellen. Jedoch sind andere Ausführungsformen möglich und können für spezielle Netzwerkanwendungen vorgezogen werden.
  • Eine zweite Ausführungsform besteht aus einem Zeitsteuerring 300, der eine statische Aktionshandhabung nur realisiert, wie in 9 gezeigt ist. Wahre statische Aktionen, wie z. B. CBR und Echtzeit-VBR-Zellübertragungen werden statisch vorab zugewiesen, und zwar zu einer Zeit des Verbindungsaufbaus, wie oben bei der ersten Ausführungsform. Die ABR-Zell-Übertragungen können ebenso implementiert werden, indem eine Form einer „Pseudo-Statischen"-Planung verwendet wird, d. h., der Inhalt der statischen Felder 310 des Zeitsteuerrings 300 wird in Echtzeit modifiziert. Dies tritt in der folgenden Art und Weise auf: wie in 9 gezeigt ist, ist eine dynamische Aktion beim Zeitschlitz T2 durchzuführen. Wenn diese Aktion durchgeführt wird, muss die nächste Aktion für jene virtuelle Schaltung geplant werden, weil sie nicht statisch vorab zugewiesen worden ist. Man nehme an, dass die Integrale-Tx-Periode 610 anzeigt, dass diese nächste Aktion Idealerweise für den Zeitschlitz T5 geplant wird, dann muss jedoch, weil jener Zeitschlitz bereits vorab zu der statischen Aktion S3 zugewiesen worden ist, der Prozessor linear nach T5 den Zeitsteuerring 300 durchsuchen, bis ein „freier" Zeitschlitz gefunden worden ist, hier der Zeitschlitz T7 Die nächste dynamische Aktion wird jenem Zeitschlitz zugeordnet.
  • Diese Ausführungsform ist für Netzwerkimplementationen geeignet, die aus vielen CBR- und Echtzeit-VBR-Verbindungen, aber wenigen simultanen ABR-Übertragern besteht. Wenn die Anzahl der ABR-Übertrager zunimmt, nimmt die Länge für eine mittlere Ringsuche zur Planung zu, was letztendlich den Verarbeitungs-Zusatzaufwand bzw. Verarbeitungs-Overhead verboten aufwendig macht.
  • Eine dritte Ausführungsform besteht aus einem Zeitsteuerring 300, der nur ein dynamisches Planen realisiert, wie in 10 gezeigt ist. Dieses Szenario arbeitet präzise als dynamisches Planen in der obigen Hybrid-Implementation, obwohl es keine statisch vorab zugewiesenen Zeitschlitze gibt. Bei jedem Ringeintrag werden dynamische Aktions-Warteschlangen auf der latenten Warteschlange platziert und die Aktion am oberen Ende der latenten Warteschlange wird durchgeführt. Diese Anordnung wird für Netzwerk-Implementationen vorgezogen, die im Wesentlichen aus ABR-, UBR- und Nicht-Echtzeit-VBR-Verkehrs-Schaltungen bestehen.
  • Eine vierte Ausführungsform besteht aus einem Zeitsteuerring 300, der ein duales dynamisches Planen implementiert, wie in 11 gezeigt ist. Die oberen Felder 1110 stellen ein dynamisches Planen mit hoher Priorität dar, wo hingegen die unteren Felder 1120 ein Planen mit niedriger dynamische Priorität darstellen. Bei dieser Implementation werden zwei latente Warteschlangen verwendet, eine für einen Verkehr mit hoher Priorität, eine andere für einen Verkehr mit niedriger Priorität. Alle Aktionen, die sich in der latenten Warteschlange hoher Priorität befinden, werden vor den Aktionen in der latenten Warteschlange niedriger Priorität durchgeführt. Diese Anordnung stellt bessere Dienst-Garantien bereit, als die Ausführungsform zur Handhabung von dynamischen Einzelaktionen, aber die Leistungsfähigkeit wird mit einer großen Anzahl von simultanen Übertragern bzw. Transmittern abnehmen.
  • Obwohl die obige Beschreibung bezüglich der Verwendung der vorliegenden Erfindung als ein Übertragungs-Pacing-Mechanismus an Endpunkten eines ATM-Netzwerkes vorgenommen wurde, werden Fachleute verstehen, dass die vorliegende Erfindung ebenso bei internen Knoten oder Schaltungs-Knoten eines ATM-Netzwerks verwendet werden kann. Eine derartige Anwendung wäre wünschenswert, um eine Verkehrs-Gestaltung durchzuführen, um Pacing-Abweichungen zu korrigieren, die durch Idiosynkrasien innerhalb des Netzwerks selbst erzeugt werden.
  • Es sollte klar sein, dass verschiedene andere Modifikationen ebenso für Fachleute leicht erkennbar sein werden, und zwar ohne von dem Umfang der Erfindung abzuweichen. Dementsprechend ist es nicht beabsichtigt, dass der Umfang der Ansprüche, die hieran angefügt sind, auf die Beschreibung beschränkt sind, die hierin dargelegt ist, sondern die Ansprüche sollen eher so analysiert werden, als ob sie alle Merkmale der patentierbaren Neuheit umfassen, die in der vorliegenden Erfindung beruht, wobei alle Merkmale enthalten sind, die als äquivalent dafür für Fachleute behandelt werden würden, die diese Erfindung betrifft.

Claims (18)

  1. Verfahren zum zeitlichen Festlegen bzw. Planen der Übertragung von Paketen in einem Paketschaltnetzwerk, bei welchem Einträge (305) wenigstens einem Zeitsteuerring (300) zugeteilt bzw. zugewiesen sind, um eine Übertragung von Paketen auf einem oder mehreren virtuellen Schaltungen zeitlich festzulegen bzw. zu planen, und bei welchem ein Eintrag (305) auf dem Zeitsteuerring (300) ein verfügbares Zeitfenster bzw. einen verfügbaren Zeitschlitz zum Planen bzw. zeitlichen Festlegen einer Übertragung eines einzelnen Paketes darstellt; wobei die Einträge (305) sequentiell auf dem Ring (300) verarbeitet werden, um so Pakete auf dem Netzwerk während ihrer geplanten Zeitfenster bzw. Zeitschlitze zu übertragen, dadurch gekennzeichnet, dass jeder Eintrag (305) ein statisches Aktionsfeld (310) und ein dynamisches Aktionsfeld (320) umfasst; das statische Aktionsfeld (310) eine Paketübertragung auf einer einzelnen bzw. einzigen virtuellen Schaltung auf ihrem geplanten bzw. zeitlich festgelegten Zeitfenster bzw. Zeitschlitz ermöglicht und eine Priorität über das dynamische Aktionsfeld (320) hat, wobei dadurch das dynamische Aktionsfeld (320) eine Paketübertragung auf dem ersten verfügbaren Zeitfenster bzw. Zeitschlitz danach ermöglicht; und beide Felder gelesen werden, um für jedes Zeitfenster bzw. jeden Zeitschlitz die Aktion zu bestimmen, die für die geplante bzw. zeitlich festgelegte Übertragung des Pakets durchzuführen ist.
  2. Verfahren nach Anspruch 1, bei welchem das dynamische Aktionsfeld (320) bei Ausbildung einer virtuellen Schaltung und danach, wenn ein Paket, das durch das dynamische Aktionsfeld (320) zeitlich festgelegt bzw. geplant ist, in eine Warteschlange bzw. Schlange (140) eingereiht wird, um auf eine Übertragung auf dem Netzwerk zu warten zugewiesen wird.
  3. Verfahren nach Anspruch 2, das weiter den Schritt umfasst, wonach die Übertragung eines Pakets auf dem Netzwerk für eine Anzahl von Zellübertragungszeiten verzögert wird, die gleich der Anzahl vorheriger Ringeinträge sind, für die keine Pakete in der Schlange bzw. Warteschlange (140) planiert worden sind.
  4. Verfahren nach irgendeinem vorhergehenden Anspruch, bei welchem das dynamische Aktionsfeld (320) eine Paketübertragung auf einer ABR-, UBR- und nicht realen VBR-virtuellen Schaltung ermöglicht; und das statische Aktionsfeld (310) die Übertragung von Paketen auf CBR- und Echtzeit-VBR-virtuellen Schaltungen ermöglicht.
  5. Paketübertragungsapparat zum Planen bzw. zeitlichen Festlegen der Übertragung von Paketen in einem Paketschaltnetzwerk, der wenigstens einen Zeitsteuerring (300) umfasst, der Einträge (305) enthält, die zum Planen bzw. zeitlichen Festlegen einer Übertragung von Paketen auf einem oder mehreren virtuellen Schaltungen zugewiesen sind, wobei ein Eintrag (305) auf dem Zeitsteuerring (300) ein verfügbares Zeitfenster bzw. einen verfügbaren Zeitschlitz darstellt, um eine Übertragung eines einzelnen Pakets zu planen bzw. zeitlich festzulegen; und ein Verarbeitungsmittel bzw. einen Prozessor (120) umfasst, um die Einträge (305) auf dem Zeitsteuerring zu verarbeiten, um Pakete auf dem Netzwerk während ihrer geplanten bzw. zeitlich festgelegten Zeitfenster bzw. Zeitschlitze zu übertragen, dadurch gekennzeichnet, dass der Prozessor bzw. das Verarbeitungsmittel (120) sowohl ein statisches Aktionsfeld (310) als auch ein dynamisches Aktionsfeld (320) für jeden Eintrag liest, um so für jedes Zeitfenster bzw. jeden Zeitschlitz die Aktion zu bestimmen, die für die geplante bzw. zeitlich festgelegte Übertragung des Pakets durchzuführen ist; das statische Aktionsfeld (310) eine Paketübertragung auf einer einzigen virtuellen Schaltung auf bzw. in seinem geplanten Zeitfenster bzw. Zeitschlitz ermöglicht und eine Priorität über das dynamische Aktionsfeld (320) hat, wodurch das dynamische Aktionsfeld (320) eine Paketübertragung auf bzw. in dem ersten verfügbaren Zeitfenster bzw. Zeitschlitz danach ermöglicht.
  6. Paketübertragungsapparat nach Anspruch 5, bei welchem das dynamische Aktionsfeld (320) anfänglich bei Ausbildung einer virtuellen Schaltung und danach, wenn ein Paket, das durch ein dynamisches Aktionsfeld (320) geplant ist, in einem Übertragungspuffer (140) in einer Warteschlange bzw. Schlange eingereiht wird, zugewiesen wird.
  7. Paketübertragungsapparat nach Anspruch 6, bei welchem der Prozessor (120) die Übertragung eines Pakets auf dem Netzwerk für eine Anzahl von Paketübertragungszeiten verzö gert, die gleich der Anzahl vorheriger Ringeinträge sind, für die keine Pakete in den Übertragungspuffer (140) plaziert wurden.
  8. Paketübertragungsapparat nach einem der Ansprüche 5 bis 7, bei welchem das dynamische Aktionsfeld (320) die Übertragung auf einem ABR-, UBR- und nichtrealem VBRvirtuellen Schaltungen ermöglicht; und das statische Aktionsfeld die Übertragung von Paketen auf CBR- und Echtzeit-VBR-virtuellen Schaltungen ermöglicht.
  9. Paketübertragungsapparat nach einem der Ansprüche 5 bis 8, bei welchem nur ein Eintrag (305), der durch ein dynamisches Aktionsfeld (320) mittels einer virtuellen Schaltung zugewiesen ist, auf dem Zeitsteuerring zu jeder Zeit vorhanden ist.
  10. Paketübertragungsapparat nach einem der Ansprüche 5 bis 9, der weiter ein Datenspeichermittel (130) enthält und bei welchem sowohl das dynamische als auch statische Aktionsfeld (320, 310) physisch entweder einen Nullzeiger oder einen Adressenzeiger zu einer Datenstruktur enthält, die in dem Speichermittel (130) gespeichert ist; wobei der Nullzeiger anzeigt, dass das Zeitfenster nicht zugewiesen worden ist, um eine statische oder dynamische Aktion zu planen bzw. zeitlich festzulegen, wodurch keine Aktion durchgeführt werden muss; wobei der Adressenzeiger eine Warteschlange bzw. Schlange von dynamischen Aktionen (340) anzeigt, die während des Zeitfensters aktuell werden.
  11. Paketübertragungsapparat nach Anspruch 10, bei welchem die Schlange von dynamischen Aktionen (314), die bei jedem Eintrag (305) aufrecht erhalten werden, einfach verknüpfte zuletzt-ein, zuerst-aus (LIFO) Schlangen bzw. Reihen sind.
  12. Paketübertragungsapparat nach einem der Ansprüche 5 bis 11, bei welchem der Prozessor bzw. das Verarbeitungsmittel (120) einen zugewiesenen Ringeintrag (305) verarbeitet, indem entweder die Schlange dynamischer Aktionsdatenstrukturen auf einer latenten Schlange plaziert wird oder indem die Aktion, die durch die Aktionsdatenstruktur angezeigt wird, die durch das statische Aktionsfeld spezifiziert ist, durchgeführt wird.
  13. Paketübertragungsapparat nach Anspruch 12, bei welchem der Prozessor bzw. das Verarbeitungsmittel (120) einen Ringeintrag verarbeitet, der nicht vorab zugewiesen worden ist, indem die Aktion durchgeführt wird, die durch die Aktionsdatenstruktur am Kopf der latenten Schlange angezeigt wird.
  14. Paketübertragungsapparat nach Anspruch 13, bei welchem die Aktion durch eine Aktionshandhabungsroutine durchgeführt wird, die durch die Aktionsdatenstruktur spezifiziert wird.
  15. Paketübertragungsapparat nach Anspruch 14, bei welchem die Aktionshandhabungsroutine eine Zustandsmaschine bzw. Statusmaschine implementiert bzw. realisiert, so dass Zustandsänderungen bzw. Statusänderungen, die als aufeinanderfolgende Aktionen auftreten, die einer einzigen virtuellen Schaltung entsprechen, durchgeführt werden.
  16. Paketübertragungsapparat nach Anspruch 15, bei welchem die Zustandsmaschine eine AAL5-Segmentation und -Übertragung implementiert bzw. realisiert.
  17. Paketübertragungsapparat nach einem der Ansprüche 11 bis 16, bei welchem die durchgeführte Aktion das Plazieren eines Pakets, das einer virtuellen Schaltung entspricht, in einem Übertragungspuffer (150) enthält, um eine darauffolgende Übertragung auf dem Netzwerk zu erwarten.
  18. Paketübertragungsapparat nach Anspruch 7, bei welchem die Anzahl von Paketübertragungszeiten in dem Kopf des Pakets, das zu übertragen ist, kodiert wird.
DE69717455T 1996-08-05 1997-08-05 Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk Expired - Fee Related DE69717455T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US692252 1996-08-05
US08/692,252 US5953336A (en) 1996-08-05 1996-08-05 Method and apparatus for source rate pacing in an ATM network
PCT/GB1997/002118 WO1998006203A1 (en) 1996-08-05 1997-08-05 Method and apparatus for source rate pacing in an atm network

Publications (2)

Publication Number Publication Date
DE69717455D1 DE69717455D1 (de) 2003-01-09
DE69717455T2 true DE69717455T2 (de) 2004-01-08

Family

ID=24779847

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69717455T Expired - Fee Related DE69717455T2 (de) 1996-08-05 1997-08-05 Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk

Country Status (8)

Country Link
US (1) US5953336A (de)
EP (1) EP0916214B1 (de)
AT (1) ATE228736T1 (de)
AU (1) AU3856397A (de)
DE (1) DE69717455T2 (de)
IL (1) IL128370A (de)
TW (1) TW348348B (de)
WO (1) WO1998006203A1 (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3591996B2 (ja) * 1996-08-29 2004-11-24 Kddi株式会社 帯域確保型vpn構築方法
US6195333B1 (en) * 1996-10-28 2001-02-27 Fujitsu Network Communications, Inc. Unframed isochronous shaping method to reduce delay and delay variation in a CBR transmission system
KR100223298B1 (ko) * 1997-02-12 1999-10-15 서평원 광대역 종합 정보 통신망의 터미널 정합 장치
US5844890A (en) * 1997-03-25 1998-12-01 International Business Machines Corporation Communications cell scheduler and scheduling method for providing proportional use of network bandwith
US6028843A (en) * 1997-03-25 2000-02-22 International Business Machines Corporation Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
DE19722435C2 (de) * 1997-05-28 1999-06-17 Siemens Ag Verfahren und Anordnung zur Steuerung von Zugriffen von Netzabschlußeinheiten auf vorgegebene Ressourcen eines paketorientierten Kommunikationsnetzes
US6192406B1 (en) * 1997-06-13 2001-02-20 At&T Corp. Startup management system and method for networks
JP2980075B2 (ja) * 1997-09-19 1999-11-22 日本電気株式会社 レート制御装置
US6198724B1 (en) * 1997-10-02 2001-03-06 Vertex Networks, Inc. ATM cell scheduling method and apparatus
US6272109B1 (en) * 1997-11-18 2001-08-07 Cabletron Systems, Inc. Hierarchical schedules for different ATM traffic
US6167049A (en) * 1997-11-18 2000-12-26 Cabletron Systems, Inc. Non-zero minimum cell rate for available bit rate ATM service
US6104705A (en) * 1997-12-31 2000-08-15 U.S. Philips Corporation Group based control scheme for video compression
CA2229577A1 (en) * 1998-02-12 1999-08-12 Newbridge Networks Corporation Method and apparatus for controlling traffic flows in a packet-switched network in order to guarantee service performance
US6430196B1 (en) 1998-05-01 2002-08-06 Cisco Technology, Inc. Transmitting delay sensitive information over IP over frame relay
EP1397019A3 (de) * 1998-06-24 2005-04-06 Research Investment Network, Inc Verfahren und Vorrichtung zur Rückschleifverbindung unter Verwendung von UBR mit Priorität in einer ADSL-Schnittstelle
ATE258363T1 (de) * 1998-06-24 2004-02-15 Res Investment Network Inc Verfahren und vorrichtung zur rückschleifverbindung unter verwendung von ubr mit priorität und einem adsl-modem
US6643288B1 (en) * 1998-08-21 2003-11-04 Marconi Communications, Inc. System and method for establishing SPVx connections
US6430153B1 (en) * 1998-09-04 2002-08-06 Cisco Technology, Inc. Trunk delay simulator
GB9821792D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821763D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821766D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821770D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821791D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821762D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821768D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821789D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Jitter handling
GB9821800D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
US7616640B1 (en) 1998-12-02 2009-11-10 Cisco Technology, Inc. Load balancing between service component instances
US6442165B1 (en) 1998-12-02 2002-08-27 Cisco Technology, Inc. Load balancing between service component instances
AU3248799A (en) * 1999-01-12 2000-08-01 Nokia Networks Oy A method for managing physical resources of a radio access network
US6765911B1 (en) 1999-02-03 2004-07-20 International Business Machines Corporation Communications adapter for implementing communications in a network and providing multiple modes of communications
US6425032B1 (en) * 1999-04-15 2002-07-23 Lucent Technologies Inc. Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices
US6993048B1 (en) * 2000-07-31 2006-01-31 Cisco Technology, Inc. ATM permanent virtual circuit and layer 3 auto-configuration for digital subscriber line customer premises equipment
AU6942200A (en) * 1999-08-26 2001-03-19 Spinway, Inc. Bandwidth adaptive data transfer system and method
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
GB2355883B (en) * 1999-10-27 2003-10-08 Mitel Corp Transmission rate control system for ATM cells
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
US7526533B1 (en) 1999-11-30 2009-04-28 Cisco Technology, Inc. Active call context reconstruction for primary/backup resource manager servers
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6430152B1 (en) * 1999-12-22 2002-08-06 Alcatel Usa Sourcing, L.P. Scheduler system for scheduling the distribution of ATM cells
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6977895B1 (en) 2000-03-23 2005-12-20 Cisco Technology, Inc. Apparatus and method for rate-based polling of input interface queues in networking devices
US6910133B1 (en) 2000-04-11 2005-06-21 Cisco Technology, Inc. Reflected interrupt for hardware-based encryption
US6735207B1 (en) 2000-06-13 2004-05-11 Cisco Technology, Inc. Apparatus and method for reducing queuing memory access cycles using a distributed queue structure
DE10060190A1 (de) * 2000-12-04 2002-06-13 Traian Internet Products Ag Verfahren und Vorrichtung zur Festlegung der bereitzustellenden Bandbreite für eine IP-Verbindung
US7203198B2 (en) * 2001-04-17 2007-04-10 Conexant, Inc. System and method for switching asynchronous transfer mode cells
WO2002087168A2 (en) * 2001-04-18 2002-10-31 Skypilot Network, Inc. Wireless mesh network and network node
US7170900B2 (en) * 2001-07-13 2007-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for scheduling message processing
DE10157103A1 (de) * 2001-11-21 2003-05-28 Sel Alcatel Ag Verfahren und Steuergerät zur Zuteilung von variablen Zeitschlitzen für eine Datenübertragung in einem paketorientierten Datennetzwerk
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7051259B1 (en) * 2002-10-08 2006-05-23 Cisco Technology, Inc. Methods and apparatus for communicating time and latency sensitive information
AU2003300948A1 (en) * 2002-12-16 2004-07-22 Globespanvirata Incorporated System and method for scheduling thread execution
AU2003300303A1 (en) 2002-12-31 2004-07-29 Globespanvirata Incorporated System and method for providing quality of service in asynchronous transfer mode cell transmission
US7472199B1 (en) * 2003-03-28 2008-12-30 Qualcomm Incorporated System and method for receiving data at a first rate and adapting the data for being transported at a second rate
US7583596B1 (en) * 2004-06-28 2009-09-01 Juniper Networks, Inc. Priority scheduling using per-priority memory structures
US7568074B1 (en) 2005-10-25 2009-07-28 Xilinx, Inc. Time based data storage for shared network memory switch
US7996604B1 (en) * 2005-10-25 2011-08-09 Xilinx, Inc. Class queue for network data switch to identify data memory locations by arrival time
US7439763B1 (en) 2005-10-25 2008-10-21 Xilinx, Inc. Scalable shared network memory switch for an FPGA
US7730276B1 (en) 2005-10-25 2010-06-01 Xilinx, Inc. Striping of data into memory of a network data switch to prevent read and write collisions
US7751339B2 (en) 2006-05-19 2010-07-06 Cisco Technology, Inc. Method and apparatus for simply configuring a subscriber appliance for performing a service controlled by a separate service provider
US8032899B2 (en) 2006-10-26 2011-10-04 International Business Machines Corporation Providing policy-based operating system services in a hypervisor on a computing system
US8713582B2 (en) * 2006-10-26 2014-04-29 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US8656448B2 (en) * 2006-10-26 2014-02-18 International Business Machines Corporation Providing policy-based application services to an application running on a computing system
US7958274B2 (en) 2007-06-18 2011-06-07 International Business Machines Corporation Heuristic status polling
US8296430B2 (en) * 2007-06-18 2012-10-23 International Business Machines Corporation Administering an epoch initiated for remote memory access
US8082424B2 (en) * 2007-08-01 2011-12-20 International Business Machines Corporation Determining when a set of compute nodes participating in a barrier operation on a parallel computer are ready to exit the barrier operation
US9065839B2 (en) 2007-10-02 2015-06-23 International Business Machines Corporation Minimally buffered data transfers between nodes in a data communications network
US7984450B2 (en) * 2007-11-28 2011-07-19 International Business Machines Corporation Dispatching packets on a global combining network of a parallel computer
US8458722B2 (en) * 2008-06-09 2013-06-04 International Business Machines Corporation Thread selection according to predefined power characteristics during context switching on compute nodes
US8140704B2 (en) * 2008-07-02 2012-03-20 International Busniess Machines Corporation Pacing network traffic among a plurality of compute nodes connected using a data communications network
US8495603B2 (en) * 2008-08-11 2013-07-23 International Business Machines Corporation Generating an executable version of an application using a distributed compiler operating on a plurality of compute nodes
US8606979B2 (en) * 2010-03-29 2013-12-10 International Business Machines Corporation Distributed administration of a lock for an operational group of compute nodes in a hierarchical tree structured network
US8365186B2 (en) 2010-04-14 2013-01-29 International Business Machines Corporation Runtime optimization of an application executing on a parallel computer
US8504730B2 (en) 2010-07-30 2013-08-06 International Business Machines Corporation Administering connection identifiers for collective operations in a parallel computer
US8565120B2 (en) 2011-01-05 2013-10-22 International Business Machines Corporation Locality mapping in a distributed processing system
US9317637B2 (en) 2011-01-14 2016-04-19 International Business Machines Corporation Distributed hardware device simulation
US8689228B2 (en) 2011-07-19 2014-04-01 International Business Machines Corporation Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system
US9250948B2 (en) 2011-09-13 2016-02-02 International Business Machines Corporation Establishing a group of endpoints in a parallel computer
US9985886B2 (en) * 2015-03-27 2018-05-29 Intel Corporation Technologies for network packet pacing during segmentation operations
US10397010B2 (en) * 2017-11-30 2019-08-27 International Business Machines Corporation Customized multicasting

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2478913A1 (fr) * 1980-03-20 1981-09-25 Telediffusion Fse Concentrateur de systeme de communication pour relier plusieurs terminaux asynchrones de teleinformatique
JP2603717B2 (ja) * 1989-03-09 1997-04-23 三菱電機株式会社 サイクリックデータ伝送方法
EP0533900B1 (de) * 1991-04-10 1997-08-06 Koninklijke Philips Electronics N.V. Atm-zellenverteiler mit geringer verzögerung oder geringer verlustrate
US5179556A (en) * 1991-08-02 1993-01-12 Washington University Bandwidth management and congestion control scheme for multicast ATM networks
JP3315693B2 (ja) * 1991-08-22 2002-08-19 シーメンス アクチエンゲゼルシヤフト 複数の受信器に接続された1つの伝送線路にて複数受信器向けのセルを多重化伝送する方法
US5241536A (en) * 1991-10-03 1993-08-31 Northern Telecom Limited Broadband input buffered atm switch
US5311513A (en) * 1992-09-10 1994-05-10 International Business Machines Corp. Rate-based congestion control in packet communications networks
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
FR2703540A1 (fr) * 1993-03-31 1994-10-07 Trt Telecom Radio Electr Dispositif de multiplexage d'informations pour réseau A.T.M..
US5696764A (en) * 1993-07-21 1997-12-09 Fujitsu Limited ATM exchange for monitoring congestion and allocating and transmitting bandwidth-guaranteed and non-bandwidth-guaranteed connection calls
US5390184A (en) * 1993-09-30 1995-02-14 Northern Telecom Limited Flexible scheduling mechanism for ATM switches
US5392280A (en) * 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5570355A (en) * 1994-11-17 1996-10-29 Lucent Technologies Inc. Method and apparatus enabling synchronous transfer mode and packet mode access for multiple services on a broadband communication network
US5648958A (en) * 1995-04-05 1997-07-15 Gte Laboratories Incorporated System and method for controlling access to a shared channel for cell transmission in shared media networks
US5638371A (en) * 1995-06-27 1997-06-10 Nec Usa, Inc. Multiservices medium access control protocol for wireless ATM system
US5712851A (en) * 1995-12-28 1998-01-27 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method utilizing a linked list mechanism
US5751709A (en) * 1995-12-28 1998-05-12 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method for end-points in an ATM network

Also Published As

Publication number Publication date
IL128370A (en) 2003-07-31
WO1998006203A1 (en) 1998-02-12
EP0916214A1 (de) 1999-05-19
ATE228736T1 (de) 2002-12-15
AU3856397A (en) 1998-02-25
US5953336A (en) 1999-09-14
DE69717455D1 (de) 2003-01-09
IL128370A0 (en) 2000-01-31
TW348348B (en) 1998-12-21
EP0916214B1 (de) 2002-11-27

Similar Documents

Publication Publication Date Title
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE69732507T2 (de) Paketvermitteltes Kommunikationssystem
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69931302T2 (de) Zeitbasierte Ablaufsteuerungsarchitektur und Verfahren für ATM Netzwerke
DE69635880T2 (de) Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69310762T2 (de) Herstellung von fernmeldeanrufwegen in breitbandkommunikationsnetzen
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE69817540T2 (de) Vermittlung in atm anpassungsschicht
DE69934645T2 (de) Speichereffiziente Leaky-Bucket-Überwachungsvorrichtung zur Verkehrsverwaltung von ATM Datenkommunikationen
DE69635470T2 (de) System zum Steuern der Dienstqualität einer Kommunikation
Golestani Duration-limited statistical multiplexing of delay-sensitive traffic in packet networks
DE19507570C2 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
DE69736623T2 (de) Paketvermitteltes Kommunikationssystem und Verfahren zur Verkehrsformung
DE60313416T2 (de) Mehrfachübertragungssystem und -Verfahren zur Verwendung in einer ATM-Vermittlung eines Netzzugangsknotens
EP0730361A2 (de) Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung
DE69937666T2 (de) Zuordnung der Bandbreite und Übertragungssystem von Paketen mit variabeler Länge
DE10023037A1 (de) Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld
DE60035846T2 (de) System für Ablaufsteurung zur Übertragung von ATM-Zellen
DE69834905T2 (de) Steuerungsverfahren der bandbreite eines datenpakets in einem paketvermittlungsnetz und paketvermittlungsnetzsystem

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8339 Ceased/non-payment of the annual fee