DE60038600T2 - Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen - Google Patents

Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen Download PDF

Info

Publication number
DE60038600T2
DE60038600T2 DE60038600T DE60038600T DE60038600T2 DE 60038600 T2 DE60038600 T2 DE 60038600T2 DE 60038600 T DE60038600 T DE 60038600T DE 60038600 T DE60038600 T DE 60038600T DE 60038600 T2 DE60038600 T2 DE 60038600T2
Authority
DE
Germany
Prior art keywords
time
data
time label
data packet
stream
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
DE60038600T
Other languages
English (en)
Other versions
DE60038600D1 (de
Inventor
Christophe Mangin
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.)
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric R&D Centre Europe BV Netherlands
Original Assignee
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Information Technology Center Europe BV Nederlands
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 Mitsubishi Electric Information Technology Corp, Mitsubishi Electric Information Technology Center Europe BV Nederlands filed Critical Mitsubishi Electric Information Technology Corp
Application granted granted Critical
Publication of DE60038600D1 publication Critical patent/DE60038600D1/de
Publication of DE60038600T2 publication Critical patent/DE60038600T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/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)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen. Spezifisch betrifft die vorliegende Erfindung ein Verfahren und eine Vorrichtung zum Bestimmen einer Paketübertragungspriorität zwischen einer Vielzahl von Datenströmen.
  • Das Wachstum und der sprunghafte Anstieg von Internetanwendungen, für welche das Internet nicht entwickelt wurde, erfordern die Entwicklung neuer Protokolle und Verfahren, welche diesen neuen Anwendungen das Ausmaß und die Qualität von Diensten zuteilen werden, die sie erfordern.
  • Die Dienstqualität wird beachtlich in Bezug auf eine Transferzeit für Pakete ausgedrückt, die durch die Anwendungen verwendet werden. Offensichtlich erfordern Anwendungen mit starken Zeitbeschränken, wie beispielsweise Internettelefonie und auf Sprache basierende Internetanwendungen begrenzte Pakettransferzeiten und somit eine hohe Dienstqualität. Für andere Anwendungen ist eine Transferzeit nicht so wichtig wie die Unversehrtheit der Daten während eines Transfers. Für diese Anwendungen, wie beispielsweise Datentransferan wendungen, bedeutet eine hohe Dienstqualität einen minimalen, wenn nicht einen nicht existierenden, Datenverlust oder eine -zerstörung.
  • Jedoch ist eine Dienstqualität nicht das einzige Kriterium, durch welches die neuen Protokolle und Verfahren zu beurteilen sind. Das Internet muss alle größer werdenden Datenvolumen mit höheren und höheren Übertragungsgeschwindigkeiten transferieren können.
  • Gegenwärtig wird eine Anzahl von Lösungen für die obigen Probleme erforscht. Eine von diesen ist das so genannte Etikettenumschaltverfahren (oder MPLS: Multi Protocol Label Switching = Mehrfachprotokolletikettenumschaltung), das aus einem Hinzufügen eines klein bemaßten Etiketts zu jedem Paket besteht, wenn das Paket in ein Netzwerk eintritt. Dieses Etikett wird dann bei dem Kern des Netzwerks zum Weiterleiten des Pakets anstelle des Schicht-3-Anfangsblocks (entsprechend der Schicht 3 oder der Netzwerkschicht des OSI-Referenzmodells), der normalerweise für eine Paketverarbeitung verwendet wird, verwendet.
  • Das Hinzufügen eines Etiketts zu einem Paket kann basierend auf unterschiedlichen Kriterien durchgeführt werden. Das Hinzufügen kann basierend auf topologischen Kriterien, wie beispielsweise von einem Etikett für alle Pakete mit einem gleichen Zielort, durchgeführt werden.
  • Das Hinzufügen kann auch basierend auf Dienstkriterien durchgeführt werden, wie beispielsweise einem Verbinden von einem Etikett mit Paketen, die Sprachdaten tragen, und von einem anderen Etikett mit Paketen, die Daten für einen Massendatentransfer tragen. Das Hinzufügen von Etiketten kann auch basierend auf einer Kombination von nicht nur irgendeinem der obigen Kriterien, sondern ebenso von anderen, durchgeführt werden. Das Obige klassifiziert im Wesentlichen Daten in spezifische Ströme – wobei Ströme als ein Gruppieren von Datenpaketen mit einer spezifischen Charakteristik gesehen werden. Die Einfachheit des Etikettenkonzepts lässt die Isolation von Diensten und die Verwendung von Mechanismen zum Weiterleiten von Paketen hoher Geschwindigkeit zu.
  • Die Einfachheit und Flexibilität von MPLS öffnet eine Skala von Möglichkeiten für diejenigen, die das Etikettenkonzept implementieren. Das hinzugefügte Etikett kann ein zusätzliches Feld in den IP-(Internetprotokoll-)Paketen bilden oder die IP-Pakete können in einer Schicht 2 (Datenverbindungsschicht), wie sie durch das OSI-Referenzmodell vorgeschrieben ist und irgendeines der wohlbekannten Protokolle, wie beispielsweise den asynchronen Transfermode ATM oder eine Frame-Weiterleitung verwenden kann, eingekapselt werden, deren Protokolldateneinheits-(PDU-)Anfangsblock das Etikett bildet. Wenn das MPLS-Verfahren auf einem ATM-System implementiert wird, ist das Etikett der Anfangsblock von jeder Zelle, die die Paketsegmente, die in Multiplexschicht-3-Paketen resultieren, auf virtuellen Kanälen der Schicht 2 transportiert. Insbesondere sind bei einer solchen Implementierung ein Verfahren und eine Vorrichtung zum Multiplexen von Paketen bei einer virtuellen Schaltung erforderlich.
  • Es hat einige Versuche für ein Lösen des MPLS-Problems gegeben. Bemerkenswerterweise existiert ein Verfahren zum Auswählen der zu sendenden Pakete gemäß den theoretischen Ankunftszeiten der Pakete, wobei die Ankunftszeiten auf der Basis einer garantierten minimalen Übertragungsgeschwindigkeit berechnet werden. Dieses Verfahren gehört zu der so genannten SCVSA-(Self Clocked Virtual Scheduling Algorithm = selbstgetakteter virtueller Zeitplanungsalgorithmus)-Familie.
  • Jedoch bleibt die Verwendung von diesen Techniken kompliziert und zieht keinen Vorteil aus einem möglichen Zusammenarbeiten mit der Zielschicht 2, hier ATM, insbesondere den Prinzipien eines Multiplexens gemäß Übertragungsgeschwindigkeiten auf einer Oktettebene und der Verwendung von komplexen Operationen (Multiplikation, Division, etc.), um die theoretischen Sende- oder Empfangszeiten der Pakete gemäß ihrer (variablen) Länge zu erhalten.
  • Die vorliegende Erfindung überwindet die obigen Nachteile und zieht einen Vorteil aus den Besonderheiten des ATM-Systems. Im ATM-Fall ist deshalb, weil die Zellen eine feste Größe haben, die Spezifikation allein einer Zwischenzellenperiode ausreichend, um eine Übertragungsgeschwindigkeit zu definieren und um sie zu steuern bzw. zu kontrollieren. Es ist daher möglich, einen Vorteil aus dieser Charakteristik zu ziehen, um die Übertragungsgeschwindigkeit eines Stroms von Paketen zu definieren, der durch eine ATM-Anpassungsschicht segmentiert ist, indem eine Zwischensegmentperiode spezifiziert wird. Die Berechnung einer theoretischen Sende- oder Empfangszeit kann dann mittels einer einfachen Addition/Akkumulation der Zwischensegmentperiode zu der Zeit der Verarbeitung von jedem Segment eines Pakets durch die Anpassungsschicht durchgeführt werden. Da die Zwischensegmentperiode und die Zwischenzellenperiode streng äquivalent sind, ist die Übertragungsgeschwindigkeit einer ATM-Verbindung, die eine Anhäufung bzw. ein Aggregat von Strömen unterstützt, die Summe aus den Übertragungsgeschwindigkeiten auf der AAL-(ATM-Anpassungsschicht-)Ebene von jedem Strom.
  • Unterschiedliche Datenströme werden auf einen einzigen virtuellen Kanal (VC) multiplext, indem sie segmentiert werden und dann die Datenpakete in jedem Datenstrom in eine Warteschlange gebracht werden und ein spezifisches Zeitetikett zu jedem Datenpaket zugeordnet wird. Jeder Datenstrom hat daher eine Warteschlange von Datenpaketen mit dem Paket am Anfang oder vor der Warteschlange, das einem spezifischen Zeitetikett zugeordnet ist. Das Zeitetikett zeigt eine theoretische Ankunftszeit für das Paket an und wird durch Ziehen eines Vorteils aus der Einheitlichkeit von garantierten minimalen Übertragungsgeschwindigkeiten berechnet. Für jedes aus einem Paket erzeugte Segment wird eine Übertragungs-Zwischensegmentzeit zu der theoretischen Ankunftszeit hinzugefügt bzw. addiert, die anfangs einen Wert hat, der von der vorherigen theoretischen Ankunftszeit abhängt. Wenn einmal das Endsegment erzeugt worden ist, ist die erhaltene theoretische Ankunftszeit die theoretische Ankunftszeit für das gesamte Paket.
  • Wenn einmal jeder Datenstrom mit Datenpaketen Zeitetiketten gehabt hat, die zu ihrem Anfang von Warteschlangen-Datenpaketen zugeordnet sind, bestimmt ein Sortieren, welches Datenpaket die früheste Ankunftszeit hat. Wenn dieses Datenpaket bestimmt worden ist, ist es das auf dem Anfangskanal übertragene Paket.
  • Ein Versuch für ein Profitieren aus der ATM-Technologie ist in dem Dokument mit dem Titel "Virtual Spacing For Flexible Traffic Control", veröffentlicht 1994 in International Journal of Communication Systems, vol. 7, 307–308, vom Autor J. W. ROBERTS, beschrieben. Dieses Dokument beschreibt die Verwendung einer virtuellen Abstandsgabe, die ein Algorithmus für eine gewichtete richtige Warteschlangenzeitplanung ist, der dafür beabsichtigt ist, im Zusammenhang mit dem auf ATM basierenden BISDN angewendet zu werden. Eine Implementierung beim Umschalten von Knoten ist in diesem Dokument auch beschrieben. Aber dieses Dokument beschäftigt sich nicht mit dem Problem einer Dienstqualität für Pakete, wie beispielsweise die IP-Pakete.
  • Ein weiteres Dokument nach dem Stand der Technik ist EP 0 952 753 mit dem Titel "ATM adaptation layer traffic scheduling for variable bit rate connections".
  • Bei einem Ausführungsbeispiel erzielt die vorliegende Erfindung das Obige durch Bereitstellen eines Verfahrens zum Multiplexen in einer Segmentierungs- und Multiplexvorrichtung von einer Vielzahl von Datenströmen seriell zu einem einzigen Kanal, wobei jeder der Datenströme eine Vielzahl von Datenpaketen enthält, die von einer Quelle zu einem Zielort mittels des Datenstroms und des Kanals übertragen werden, wobei das Verfahren Folgendes aufweist:
    • a) Empfangen eines Datenpakets an einem Eingang eines Datenstroms;
    • b) Segmentieren des Datenpakets in Segmente;
    • c) Zuordnen eines Zeitetiketts zu dem Datenpaket, wobei das Zeitetikett Daten enthält, die eine erste Ankunftszeit für das Paket bei der Segmentierungs- und Multiplexvorrichtung anzeigen;
    • d) Übertragen des Zeitetiketts zu dem Multiplexer bei einem ersten Signal von dem Multiplexer;
    • e) Übertragen der Segmente mit dem Datenpaket zu dem Kanal bei einem zweiten Signal von dem Multiplexer; und
    • f) Speichern des Zeitetiketts als ein zuvor übertragenes Stromzeitetikett; für den Multiplexer:
    • aa) Signalisieren eines Datenstroms, um ein Zeitetikett zu übertragen, durch Senden des ersten Signals;
    • bb) Empfangen eines empfangenen Zeitetiketts von einem Datenstrom, wobei das empfangene Zeitetikett zu dem Datenstrom gehört, der das empfangene Zeitetikett überträgt;
    • cc) Speichern des empfangenen Zeitetiketts in einer Gruppe von empfangenen Zeitetiketten, wobei die Gruppe von Zeitetiketten empfangene Zeitetiketten von anderen Datenströmen enthält;
    • dd) Sortieren der Gruppe empfangener Zeitetiketten, um ein Übertragungszeitetikett mit einer frühesten geschätzten Ankunftszeit der Gruppe zu bestimmen;
    • ee) Senden eines zweiten Signals zu dem Datenstrom, zu dem das Übertragungszeitetikett gehört, um die Segmente mit einem Übertragungsdatenpaket zu dem Kanal zu übertragen, wobei das Übertragungsdatenpaket ein Datenpaket ist, dem das Übertragungszeitetikett zugeordnet ist;
    • ff) Speichern des Übertragungszeitetiketts als ein zuvor übertragenes Kanalzeitetikett; und
    • gg) Entfernen des Übertragungszeitetiketts von der Gruppe, nachdem die Segmente mit dem Übertragungsdatenpaket übertragen worden sind.
  • Bei einem weiteren Ausführungsbeispiel stellt die vorliegende Erfindung eine Vorrichtung zum Multiplexen einer Vielzahl von Datenströmen auf einen einzigen Kanal zur Verfügung, wobei jeder der Datenströme eine Vielzahl von Datenpaketen enthält, die zu einem Zielort übertragen werden, wobei die Vorrichtung Folgendes enthält:
    eine Empfangseinrichtung zum Empfangen der Datenpakete von der Vielzahl von Datenströmen;
    eine Pufferspeichereinrichtung für jeden Datenstrom zum seriellen Puffern von empfangenen Datenpaketen;
    eine Prozessoreinrichtung zum:
    • a) Messen: einer Größe der Segmente; und einer Größe der Pakete;
    • b) Berechnen und Zuordnen eines Zeitetiketts zu jedem Datenpaket, wobei das Zeitetikett Daten enthält, die eine geschätzte Ankunftszeit für jedes Paket bei der Multiplexvorrichtung anzeigen;
    • c) Vergleichen von Zeitetiketten von Datenpaketen, um ein Übertragungszeitetikett mit einer frühesten geschätzten Ankunftszeit der Datenpakete zu bestimmen;
    • d) Segmentieren jedes empfangenen Datenpakets in Segmente: eine Übertragungseinrichtung zum Übertragen zu dem einzigen Kanal von den Segmenten mit dem Datenpaket, dem das Übertragungszeitetikett mit der frühesten geschätzten Ankunftszeit zugeordnet ist; eine Torsteuerungseinrichtung zum Steuern der Übertragung von Datenpaketen von der Pufferspeichereinrichtung zu der Verarbeitungseinrichtung; eine Zeitetiketten-Pufferspeichereinrichtung zum Speichern von Zeitetiketten, die den Datenpaketen zugeordnet sind; und eine Segment-Pufferspeichereinrichtung zum temporären Speichern der Segmente; wobei die Prozessoreinrichtung gekoppelt ist mit: der Segment-Pufferspeichereinrichtung; der Übertragungseinrichtung; der Torsteuereinrichtung; und der Zeitetiketten-Pufferspeichereinrichtung; und die Pufferspeichereinrichtung zwischen der Empfangseinrichtung und der Torsteuereinrichtung gekoppelt ist.
  • Bei einem weiteren Ausführungsbeispiel stellt die Erfindung ein Verfahren zum Bestimmen einer Übertragungspriorität für Datenpakete zwischen Datenströmen zur Verfügung, wobei jeder Datenstrom eine Vielzahl von Datenpaketen zur Übertragung zu einem Zielort hat, wobei das Verfahren Folgendes aufweist:
    • a) für jeden Datenstrom:
    • aa) serielles Anordnen der Datenpakete in eine Stromwarteschlange mit einem vorderen Ende;
    • ab) Zuordnen eines Zeitetiketts zu einem Datenpaket an dem vorderen Ende der Stromwarteschlange, wobei das Zeitetikett Daten enthält, die eine geschätzte Ankunftszeit für das Datenpaket bei einer Segmentierungs- und Multiplexvorrichtung anzeigen;
    • ac) Verbinden des Zeitetiketts mit dem Datenstrom, der das Datenpaket enthält, das zu dem Zeitetikett zugeordnet ist;
    • b) Bestimmen, welches Zeitetikett von den Zeitetiketten, die zugeordnet sind, eine früheste geschätzte Ankunftszeit hat;
    • c) Zuteilen einer Übertragungspriorität zu dem Datenstrom, der mit dem Zeitetikett verbunden ist, das die früheste geschätzte Ankunftszeit hat, wobei die Übertragungspriorität zum Übertragen des Datenpakets ist, das dem Zeitetikett mit der frühesten geschätzten Ankunftszeit zugeordnet ist.
  • Bei noch einem weiteren Ausführungsbeispiel stellt die Erfindung eine Vorrichtung zum Multiplexen einer Vielzahl von Datenströmen auf einen einzigen Kanal zur Verfügung, wobei jeder der Datenströme eine Vielzahl von Datenpaketen enthält, die zu einem Zielort übertragen werden, wobei die Vorrichtung Folgendes enthält:
    eine Empfangseinrichtung zum:
    • a) Empfangen und Segmentieren der Datenpakete in Segmente, wobei die Datenpakete von der Vielzahl von Datenströmen empfangen werden;
    • b) Messen: einer Größe der Segmente; und einer Größe der Pakete;
    • c) Berechnen und Zuordnen eines Zeitetiketts zu jedem Datenpaket, wobei das Zeitetikett Daten enthält, die eine geschätzte Ankunftszeit für jedes Paket bei einem Zielort anzeigen; eine Segment-Pufferspeichereinrichtung zum temporären Speichern der Segmente; eine Prozessoreinrichtung zum Vergleichen von Zeitetiketten von Datenpaketen, um ein Übertragungszeitetikett mit einer frühesten geschätzten Ankunftszeit der Datenpakete zu bestimmen; eine Übertragungseinrichtung zum Übertragen zu dem einzigen Kanal der Segmente mit dem Datenpaket, das dem Übertragungszeitetikett mit der frühesten geschätzten Ankunftszeit zugeordnet ist; eine Torsteuereinrichtung zum Steuern der Übertragung von Datenpaketen von der Segment-Pufferspeichereinrichtung zu der Verarbeitungseinrichtung; eine Zeitetiketten-Pufferspeichereinrichtung zum Speichern von Zeitetiketten, die den Datenpaketen zugeordnet sind; und wobei die Prozessoreinrichtung mit der Übertragungseinrichtung gekoppelt ist; die Torsteuereinrichtung zwischen der Verarbeitungseinrichtung und
    • – der Segment-Pufferspeichereinrichtung und
    • – der Zeitetiketten-Pufferspeichereinrichtung gekoppelt ist; und die Empfangseinrichtung mit der Segment-Pufferspeichereinrichtung und der Zeitetiketten-Pufferspeichereinrichtung gekoppelt ist.
  • Ein besseres Verstehen der Erfindung wird durch Lesen der nachfolgenden Beschreibung der Erfindung unter Bezugnahme auf die folgenden Zeichnungen erhalten werden, wobei:
  • 1 ein Ablauflaufdiagramm ist, das die allgemeinen Schritte der Erfindung zeigt.
  • 2 ein Ablaufdiagramm ist, das die Schritte detailliert darstellt, denen für jeden Strom gemäß der Erfindung gefolgt wird.
  • 3 ein Ablaufdiagramm ist, das die Schritte detailliert darstellt, denen durch den Multiplexer gemäß der Erfindung gefolgt wird.
  • 4 ein Blockdiagramm ist, das die Verbindungen zwischen Komponenten detailliert darstellt, die zum Ausführen der Erfindung nötig sind.
  • 5 ein Blockdiagramm ist, das alternative Verbindungen zwischen Komponenten detailliert darstellt, die zur Ausführung der Erfindung nötig sind.
  • Der Betrieb der Erfindung kann am besten durch Anwenden von ihr auf IP-(Internetprotokoll-)Ströme dargestellt werden. Ein virtueller Kanal (VC) von ATM, in welchem jeder Strom multiplext ist, wird gemäß einer Umschaltinformation oder einer Information in Bezug auf transportierten Dienst gewählt, die aus der Verwendung von Signalgabeprotokollen entsteht, wie beispielsweise denjenigen, die innerhalb des Zusammenhangs der MPLS-Architektur definiert sind.
  • In Bezug auf die Ströme selbst können der Anfang und das Ende eines Stroms explizit durch Prozeduren begrenzt werden, die spezifisch für die verwendeten Transportprotokolle sind. Ein Beispiel einer solchen Prozedur ist das Öffnen oder Schließen einer TCP-Verbindung. Gleichermaßen können der Anfang und das Ende eines Stroms auch implizit begrenzt werden, wie beispielsweise durch die Detektion des Anfangs oder des Endes einer Aktivität, die dem Ablauf von Auszeiten folgt. Andere Mittel, wie beispielsweise ein Verwenden von bestimmten Signalgabeprotokollen zum Bilden der Ströme, können verwendet werden, um den Anfang oder das Ende eines Stroms anzuzeigen. Ein Beispiel eines solchen Protokolls ist das so genannte SIP oder Sessioninitiierungsprotokoll, das durch Telefonanwendungen auf IP-Strömen verwendet wird.
  • Um beim Verstehen der folgenden Beschreibung zu helfen, sollte es beachtet werden, dass die folgenden Bedingungen für das Netzwerk angenommen werden, auf welchem die Erfindung auszuführen ist.
    • a) Die IP-Pakete sind unter Verwendung einer AAL (ATM-Anpassungsschicht) vom Typ 5 formatiert. Die SAR-PDUs (Segmentierungs- und Neuanordnungs-Protokolldateneinheiten) werden Segmente genannt. Dies bedeutet, dass die IP-Pakete, um durch die Erfindung verwendet zu werden, in Einheiten aufgeteilt werden müssen, die Segmente genannt werden. Es sind diese Segmenteinheiten, die durch die Erfindung verwendet werden.
    • b) Die Übertragungsgeschwindigkeit des virtuellen Kanals (VC) auf welchem die Ströme multiplext werden, ist konstant oder konstant in verhandelten Schritten. Diese Konstante wird in λvc Zellen pro Sekunde ausgedrückt. Dies resultiert in einer Zwischenzellenperiode (Zeit, die die Übertragung von zwei aufeinander folgenden Zellen trennt) von
      Figure 00100001
    • c) Jeder multiplexte Strom, der durch das Zeichen i bezeichnet ist, hat eine garantierte minimale Übertragungsgeschwindigkeit Φi ausgedrückt in Segmenten pro Sekunde. Jeder Strom hat eine entsprechende Zwischensegmentperiode (Zeit, die die Übertragung von zwei aufeinander folenden Zellen trennt) von
      Figure 00100002
      Diese Übertragungsgeschwindigkeit Φi wird auf eine Detektion des Anfangs eines Stroms entweder willkürlich zugeteilt oder wird aus einem Signalgabeprotokoll extrahiert, das zum Signifizieren eines Anfangs eines Stroms verwendet wird. Die Übertragungsgeschwindigkeit sollte folgendes verifizieren:
      Figure 00100003
      was bedeutet, dass die Summe von allen Übertragungsgeschwindigkeiten von allen Strömen höchstens gleich der Übertragungsgeschwindigkeit des virtuellen Kanals (VC) ist.
  • Um eine Verwirrung zu vermeiden, sollte es beachtet werden, dass der VC ein ATM-VC ist, und da ATM Zellen als seine Einheit zum Transportieren von Daten verwendet, ist die VC-Geschwindigkeit in Zellen/sek. Somit werden die IP-Pakete in Segmente aufgeteilt werden müssen, so dass sie durch die Erfindung verwendet werden können.
  • Es sollte auch beachtet werden, dass die Gleichung 1 als Basis für eine vorläufige Zulassungssteuerprozedur für die Ströme mit Φi verwendet werden kann oder als Parameter zum erneuten Verhandeln des Werts von λvc verwendet werden kann, wenn ein neuer Strom angenommen bzw. akzeptiert wird.
  • Um die Ströme auf einen einzigen virtuellen Kanal zu multiplexen, müssen getrennte Schritte für den Multiplexer und die Ströme ausgeführt werden.
  • 1 stellt ein Ablaufdiagramm dar, das die unterschiedlichen Schritte von Schritten aufzeigt, die für jeden Strom und für den Multiplexer vorzunehmen sind. Von den acht allgemeinen Schritten bezieht sich die Hälfte auf den Multiplexer und die Hälfte auf die Ströme.
  • Um zu beginnen, müssen die Pakete, die einen Strom bilden, zuerst in eine Warteschlange gebracht und in Segmente aufgeteilt werden (Schritt 10). Dann wird ein Zeitetikett zu jedem der segmentierten Pakete in der Stromwarteschlange zugeordnet (Schritt 20). Dieses Zeitetikett stellt die theoretische Ankunftszeit eines Pakets bei der Segmentierungs- und Multiplexvorrichtung oder dem Multiplexer dar.
  • Das zugeordnete Zeitetikett des Pakets am Anfang der Stromwarteschlange wird dann zu dem Multiplexer übertragen (Schritt 30) und mit einer Gruppe von Zeitetiketten von anderen Strömen gespeichert, und zwar vorzugsweise in einer Prioritätswarteschlange (Schritt 40). Diese Gruppe von Zeitetiketten wird dann sortiert (Schritt 50), um zu bestimmen, welches Zeitetikett in der Gruppe die früheste geschätzte Ankunftszeit hat. Ein solches Zeitetikett stellt das Datenpa ket dar, dem eine Übertragungspriorität auf dem virtuellen Kanal zugeteilt werden muss.
  • Nach einem Bestimmen des Zeitetiketts mit der frühesten Ankunftszeit signalisiert der Multiplexer dann den Strom, von welchem das Zeitetikett mit der frühesten Ankunftszeit entstand (Schritt 60). Dieses Signal teilt diesem Strom eine Priorität zum Übertragen des Pakets zu, zu dem dieses Zeitetikett gehört (Schritt 70). Nach der Übertragung entfernt der Multiplexer dann dieses Zeitetikett aus der Gruppe von anderen Zeitetiketten (Schritt 80). Dann wiederholt sich der Prozess selbst ab dem Schritt 30, während der Multiplexer ein neues Zeitetikett von dem Strom empfängt, der zuletzt ein Datenpaket auf dem virtuellen Kanal übertrug.
  • Um die oben umrissenen Schritte weiter klarzustellen, zeigt 2 detailliert die Schritte, die für jeden Strom vorgenommen werden. Anhand eines Beispiels wird der zu untersuchende Strom als Strom A bezeichnet sein.
  • Zuallererst muss eine Entscheidung diesbezüglich getroffen werden (Schritt 90), ob ein Paket entsprechend dem Strom A dazu bereit ist, empfangen zu werden. Wenn es ein zu empfangendes Paket gibt, wird es empfangen (Schritt 100) und dann in Segmente aufgeteilt (Schritt 110). Diese Segmente werden dann gespeichert und auf sie wird durch eine Segmentliste Bezug genommen. Das empfangene und segmentierte Paket wird in einer FIFO-(First-In-First-Out-)Warteschlange mit anderen, zuvor empfangenen Datenpaketen, die eine Übertragung auf den virtuellen Kanal erwarten, gespeichert (Schritt 120). Jedem empfangenen Datenpaket wird ein Zeitetikett zugeordnet, wobei das Zeitetikett eine geschätzte Ankunftszeit für dieses Paket bei dem Multiplexer anzeigt (Schritt 130).
  • Da die Pakete in einer FIFO-Stromwarteschlange gespeichert sind, und zwar mit einer separaten Stromwarteschlange für jeden Datenstrom, sind die Pakete am Anfang der Stromwarteschlange diejenigen, die am frühesten bei ihren Strömen ankamen. Die Zeitetiketten dieser Datenpakete, die vordere Datenpakete genannt werden, da sie an dem vorderen Ende ihrer jeweiligen Warteschlangen sind, werden zu einer anderen Warteschlange gesendet oder darin gespeichert, die durch den Multiplexer unterhalten wird – der Prioritätswarteschlange (Schritt 140).
  • An dieser Stelle in dem Prozess erlangt der Multiplexer eine Steuerung bzw. Kontrolle. Natürlich können weitere Pakete für jeden Datenstrom kontinuierlich empfangen, segmentiert und in eine Warteschlange gebracht werden, solange es Betriebsmittel bzw. Ressourcen gibt, wie beispielsweise Stromwarteschlangenschlitze und Stellen in der Segmentliste, die für die ankommenden Pakete verfügbar sind.
  • Möglicherweise wird der Multiplexer den Strom A derart signalisieren, dass das vordere Datenpaket des Stroms A auf dem virtuellen Kanal übertragen werden kann. Wenn einmal dieses Signal von dem Multiplexer empfangen wird, sendet der Strom A die Segmente entsprechend dem vorderen Datenpaket zu dem virtuellen Kanal (Schritt 150).
  • Nach einem Übertragen der Segmente des vorderen Datenpakets speichert der Strom A das Zeitetikett des zuvor übertragenen Pakets, ehemals das vordere Datenpaket, als ein Zeitetikett eines zuvor übertragenen Stroms für eine spätere mögliche Verwendung. Es sollte beachtet werden, dass das vordere Datenpaket, nachdem es übertragen ist, durch das nächste Datenpaket in der Stromwarteschlange ersetzt wird.
  • Die Zuordnung von Zeitetiketten zu Datenpaketen ist entscheidend für den obigen Prozess und hängt von dem Zeitetikett des direkt vorangehenden Pakets ab. Eine laufende Gesamtheit der geschätzten Ankunftszeit für jedes Paket wird verwendet, da jedes Segment aus diesem Paket erzeugt wird. Der Klarheit halber werden die folgenden Variablen definiert:
    PATmin – Zeitetikett des Pakets am Anfang der Prioritätswarteschlange
    • PATki Paketankunftszeit für das k-te Paket im Strom i, zugeordnet als das Zeitetikett für das Paket k des Stroms i)
    • SATk,li Segmentankunftszeit für das l-te Segment in dem k-ten Paket des Stroms i. Das k-te Paket ist aus n Segmenten mit n > l ≥ 0 zusammengesetzt.
    Ti – oben zuvor als die Zwischensegmentzeit für den Strom i definiert.
  • Aus dem Obigen können die folgenden Beziehungen formuliert werden: SATk,li = SAT(k,l-1)i + Ti mit 1 ≤ l ≺ n SAT(k,o)i = PATk-1i + Ti
  • Dies bedeutet, dass die geschätzte Ankunftszeit für das erste Segment des Pakets k gleich der Ankunftszeit des direkt vorangehenden Pakets, addiert zu der Zwischensegmentzeit für den Datenstrom, ist. Die geschätzte Ankunftszeit jedes nachfolgenden Segments ist gleich der geschätzten Ankunftszeit des direkt vorangehenden Segments, addiert zu der Zwischensegmentzeit für den Datenstrom. Somit ist dann, wenn einmal alle Segmente mit einem Paket erzeugt worden sind, der Endwert von SATk,n-1i die geschätzte Ankunftszeit des Pakets. Jedoch ist diese geschätzte Ankunftszeit nicht notwendigerweise als das Zeitetikett von diesem Paket zugeordnet. Das zugeordnete Zeitetikett für das Paket k des Stroms i ist: PATki = max{SATk,n-1i , PATmin} [2]wenn die Prioritätswarteschlange nicht leer ist.
  • Wenn die Prioritätswarteschlange leer ist, wird das Zeitetikett für das Paket k bestimmt durch: PATki = max{SATk,n-1i , PAT–1min } [3]wobei PAT–1min das Zeitetikett des letzten Pakets ist, das durch den virtuellen Kanal gesendet ist. (PAT–1min wird durch den Multiplexer nach jeder Übertragung gespeichert).
  • Es sollte wiederholt werden, dass die Prioritätswarteschlange die Warteschlange von Zeitetiketten von vorderen Datenpaketen von allen Strömen mit verfügbaren vorderen Datenpaketen ist.
  • Aus dem Obigen ist das zugeordnete Zeitetikett eines Datenpakets dann, wenn die Prioritätswarteschlange nicht leer ist, das letztere der geschätzten Ankunftszeit des Datenpakets und des Zeitetiketts am Anfang der Prioritätswarteschlange. Wenn die Prioritätswarteschlange leer ist, ist das zugeordnete Zeitetikett das letztere der geschätzten Ankunftszeit und des Zeitetiketts des letzten Datenpakets, das auf dem virtuellen Kanal gesendet ist.
  • In Bezug auf den Multiplexer und seine Rolle in dem Prozess zählt 3 diese Schritte auf. Der Klarheit halber wird der Strom A wieder als Beispiel verwendet werden, wenn es nötig ist.
  • Die Rolle des Multiplexers im Prozess beginnt durch Senden eines Signals zu dem Strom A zum Übertragen des Zeitetiketts des vorderen Datenpakets (Schritt 170). Es sollte beachtet werden, dass dies nur dann durchgeführt wird, wenn der Strom A nicht in der Prioritätswarteschlange dargestellt ist, die durch den Multiplexer unterhalten wird.
  • Der nächste Schritt (Schritt 180) besteht daraus, dass der Multiplexer das Zeitetikett vom Strom A empfängt. Dieses empfangene Zeitetikett vom Strom A wird in der Prioritätswarteschlange gespeichert. Die Prioritätswarteschlange enthält, wie es oben angegeben ist, andere empfangene Zeitetiketten von vorderen Datenpaketen von anderen Strömen.
  • Der nächste Schritt im Prozess besteht für den Multiplexer darin, die Prioritätswarteschlange zu sortieren, um zu bestimmen, welches Zeitetikett in der Prioritätswarteschlange die früheste Ankunftszeit hat (Schritt 190). Dieses Zeitetikett mit der frühesten Ankunftszeit, nun das Übertragungs-Zeitetikett, stellt das nächste auf dem virtuellen Kanal zu sendende Datenpaket dar.
  • Wenn einmal die Prioritätswarteschlange mit dem Übertragungs-Zeitetikett an dem Anfang der Prioritätswarteschlange sortiert ist, signalisiert der Multiplexer den Datenstrom, zu dem das Übertragungs-Zeitetikett gehört, ein Übertragen seines vorderen Datenpakets auf dem virtuellen Kanal zu beginnen. Der signalisierte Datenstrom wird die Segmente mit seinem vorderen Datenpaket auf dem virtuellen Kanal übertragen. Dies entspricht dem Schritt 150 in 2.
  • Nachdem der signalisierte Datenstrom sein vorderes Datenpaket übertragen hat, speichert der Multiplexer das Übertragungs-Zeitetikett für eine mögliche zukünftige Verwendung. Eine solche Verwendung entsteht dann, wenn die Prioritätswarteschlange leer ist und ein Zeitetikett einem Datenpaket in einem Strom zugeordnet werden muss. Dieser Aspekt des Prozesses ist oben beschrieben worden. Wenn einmal das Übertragungs-Zeitetikett gespeichert ist, überschreibt es das direkt vorangehende Übertragungs-Zeitetikett (Schritt 210). Nur nach dieser Stelle kann das Übertragungs-Zeitetikett aus der Prioritätswarteschlange entfernt werden (Schritt 220).
  • Wenn einmal das Übertragungs-Zeitetikett aus der Prioritätswarteschlange entfernt ist, beginnt der Prozess für den Multiplexer wieder. Da der Datenstrom, der gerade sein vorderes Datenpaket übertrug, nicht mehr in der Prioritätswarteschlange dargestellt ist, wird dieser Datenstrom durch den Multiplexer auf das Zeitetikett des neuen vorderen Datenpakets untersucht.
  • Die Prioritätswarteschlange, auf die oben wiederholt Bezug genommen ist, hat die einzigartige Charakteristik, dass sie höchstens nur ein Zeitetikett von jedem Datenstrom hat. Dies ist deshalb so, weil die Prioritätswarteschlange nur die Zeitetiketten von vorderen Datenpaketen enthält, und, da ein Datenstrom nur eine einzige Stromwarteschlange mit einem einzigen vorderen Ende hat, jeder Datenstrom nur einmal in der Prioritätswarteschlange dargestellt sein kann. Um diese Charakteristik beizubehalten, wird ein Zeitetikett in der Prioritätswarteschlange entfernt, nachdem das vordere Datenpaket, dem dieses Zeitetikett zugeordnet ist, auf den virtuellen Kanal übertragen ist. Nach einer solchen Übertragung untersucht der Multiplexer den Strom, der der Ursprung des übertragenen Datenpakets war. Diese Untersuchung bzw. Abfrage erfolgt mittels einer Signalgabe dieses bestimmten Datenstroms, um seine Darstellung in der Prioritätswarteschlange zu ersetzen. Jedoch soll dies nicht bedeuten, dass ein jeweiliger und jeder Datenstrom ein repräsentatives Zeitetikett in der Prioritätswarteschlange bei jedem Zeitpunkt haben muss. Wenn ein Datenstrom inaktiv ist und somit keinerlei Datenpakete in seiner Stromwarteschlange hat, wird ein solcher Datenstrom nicht in der Prioritätswarteschlange dargestellt bzw. repräsentiert sein.
  • Um die Prioritätswarteschlange zu implementieren, ist es bevorzugt, eine Datenstruktur zu verwenden, die eine Vereinfachung eines Sortierens und eine Addition und eine Subtraktion von Elementen in der Warteschlange erleichtert. Ein Binärsortierbaum kann für die Prioritätswarteschlange verwendet werden, wobei die Knoten des Baums die unterschiedlichen Zeitetiketten der vorderen Datenpakete der unterschiedlichen Datenströme sind. Ein solcher Baum kann auf dieselbe Weise wie der Haufen bzw. die Menge aufgebaut und unterhalten werden, die oder der bei dem Mengensortiertyp von Sortierprozessen verwendet wird. Diese Struktur ist auf dem Gebiet wohlbekannt. Siehe beispielsweise DATA STRUCTURES AND ALGORITHMS von Aho, Hopcroft und Ullman, 1983, Addison-Wesley, S. 135–145 und S. 271–274.
  • In Bezug auf den Vergleich zwischen Zeitetiketten in der Prioritätswarteschlange, den der Multiplexer erreichen muss, kann ein arithmetisches Problem entstehen.
  • Es bleibt das arithmetische Problem in Bezug auf Vergleiche der Zeitetiketten in der Prioritätswarteschlange.
  • Dies enthält nur ein Zeitetikett pro Strom (siehe Multiplexprinzip). Die Zeitlücke zwischen zwei Zeitlücken muss so sein, dass ein Vergleich von ihren zwei Werten immer möglich ist. In dem Fall einer binären Darstellung ohne Vorzeichen muss die folgende Bedingung durch zwei zu vergleichende Werte V1 und V2, die in n Bits codiert sind, verifiziert werden |V1 – V2| < 2n-1.
  • Das Verfahren zum Berechnen der Zeitetiketten macht es möglich, die maximale Zeitlücke zwischen zwei Etiketten eines aktiven Stroms zu bestimmen, wobei ein aktiver Strom ein Strom ist, für welchen ein Etikett zu irgendeinem Zeitpunkt in der Prioritätswarteschlange vorhanden ist; dieses maximale Lücke verifiziert folgendes: PATk+1i – PATki ≤ MPS × Tmax wobei MPS (maximale Paketgröße) die maximale Größe eines Pakets, ausgedrückt in Zellen/Segmenten, ist und Tmax die Periode entsprechend der niedrigsten garantierten minimalen Übertragungsgeschwindigkeit ist, die einem Strom zugeteilt werden kann.
  • In dieser Beziehung ist PATki das Etikett des letzten Pakets, das vom Strom i gesendet ist, und ist PATk+1i das Etikett des folgenden Pakets, injiziert in die Prioritätswarteschlange.
  • Wenn das Paket k gesendet wird, gilt das Folgende: PATki = PATimin und a fortiori die folgende Beziehung: PATk+1l ≥ PATl+1min wird immer verifiziert (wobei PATlmin und PATl+1min zwei aufeinander folgende Werte des Anfangs der Prioritätswarteschlange sind).
  • Dies ergibt daher folgendes: PATk+1i – PATl+1min ≤ MPS × Tmax
  • Schließlich ergibt sich im schlimmsten Fall, in welchem Folgendes gilt: PATl+1min = PATki , entsprechend dem Fall, in welchem das Etikett des nächsten zu sendenden Pakets, zu welchem Strom dieses Paket auch immer gehört, gleich demjenigen des letzten gesendeten Pakets ist, das zu dem Strom i gehört.
  • Wenn das Paket k + 1 weiterhin die Größe MPS hat und der Strom i eine Periode Tmax hat, kann das Folgende gelten: PATk+1i – TPATl+1min = MPS × Tmax
  • Für Werte ohne Vorzeichen, die in n Bits codiert sind, müssen Tmax und MPS dann folgendes verifizieren: MPS × Tmax < 2n-1.
  • Auf entsprechende Weise kann dann, wenn ein Strom inaktiv ist, d. h. dann, wenn es kein Zeitetikett entsprechend diesem Strom in der Prioritätswarteschlange gibt, das Etikett des letzten gesendeten Pakets PATki auf eine solche Weise "altern", dass auf einen Empfang eines neuen Pakets hin, das aus demselben Strom entsteht, der Wert von seinem Etikett PATk+1i , berechnet aus demjenigen des letzten gesendeten Pakets, nicht mehr mit dem aktuellen Wert des Anfangs der Prioritätswarteschlange PATmin verglichen werden kann. Es ist daher nötig, einen Mechanismus zum "Verschwindenlassen" der Etiketten von inaktiven Strömen einzuführen, was es möglicht macht, das "Altern" des Etiketts des letzten gesendeten Pakets zu detektieren. Damit PATk+1i und PATmin verglichen werden können, müssen sie folgendes verifizieren: |PATk+1i – PATmin| < 2n-1 das bedeutet: |PATki + Pk+1l – PATmin| < 2n-1 [4]wobei Pkl + 1 die Zeitlänge des Paketes k + 1 mit 1 ≤ Pk+1i ≤ MPS × Tmax ist.
  • Weiterhin gilt PATmin ≥ PATki .
  • Zwei extreme Fälle können dann entstehen:
    Wenn PATki = PATmin und Pk+1l = MPS × Tmax
  • Dann werden die für einen aktiven Strom beschriebenen Bedingungen angetroffen, d. h.:
    Wenn PATki << PATmin und Pk+1l = 1, kann die Bedingung [3] dann wie folgt beschrieben werden: PATmin – PATki < 2n-1 + 1was die minimale Zeitlücke zwischen dem Anfang der Prioritätswarteschlange und dem Etikett des letzten gesendeten Pakets des Stroms i festlegt.
  • Wenn die letzte Bedingung nicht verifiziert wird, wird das Etikett derart markiert, dass es verstrichen bzw. verschwunden ist. Das folgende empfangene Paket des Stroms wird dann routinemäßig einem Zeitetikett gleich demjenigen zugeordnet, das an dem Anfang der Prioritätswarteschlange am Sende seiner Segmentierung angeordnet ist.
  • Wenn die Prioritätswarteschlange leer wird, wird ein Abtasten gestoppt. Eine Berechnung der Etiketten von Paketen, die darauf folgend empfangen werden, wird gemäß [3] durchgeführt.
  • Bei ihrer Initialisierung werden alle Ströme derart markiert, dass sie verschwunden sind, um die Berechnung ihrer Zeitetiketten zu initialisieren.
  • Der Mechanismus zum Verschwindenlassen von Etiketten kann wie folgt implementiert werden.
  • Bei jeder Zellenzeit verarbeitet der Prozess für ein Verschwindenlassen einen anderen Strom (da die m multiplexten Ströme durch einen Index einer ganzen Zahl zwischen 0 und m – 1 identifiziert sind, kann ein Modulo-m-Zykluszähler, der bei jeder Zellenzeit inkrementiert wird, zum Auswählen des zu verarbeitenden Stroms verwendet werden). Wenn der Strom aktiv ist (er ein Etikett in der Prioritätswarteschlange hat), wird keine Aktion vorgenommen. Wenn der Strom inaktiv ist, wird der Wert des Etiketts des letzten gesendeten Pakets mit dem Wert des Etiketts am Anfang der Prioritätswarteschlange verglichen und wird der Strom gemäß dem oben beschriebenen Kriterium markiert.
  • Der Stromabtastzyklus dauert daher m Zellenzeiten. Während dieses Zeitintervalls kann der Anfang der Prioritätswarteschlange durch unterschiedliche Etiketten von gleichen oder größer werdenden Werten besetzt werden.
  • Die maximale Variation dieser Werte ist Tmax pro Zellenzeit, d. h. über die Dauer von einem Stromabtastzyklus: (m – 1) × Tmax.
  • Folglich kann derselbe Strom im schlimmsten Fall während zwei aufeinander folgender Abtastzyklen mit Werten von PATmin, die m × Tmax voneinander beabstandet sind, abgetastet werden. Diese Werte werden als PATkmin und PATlmin bezeichnet. Diese zwei sind die Werte des Anfangs der Prioritätswarteschlange zu der Zeit von zwei aufeinander folgenden Abtastdurchläufen des Stroms i. Damit PATlmin und PATli dazu fähig bleiben, verglichen zu werden, müssen sie folgendes verifizieren: |PATlmin – PATki | < 2n-1, [5]und insbesondere dann, wenn zu der Zeit des ersten Abtastzyklus das Zeitetikett für das Paket k gleich dem Zeitetikett an dem Anfang der Prioritätswarteschlange war, galt das Folgende: PATki = PATmin, und [5] kann dann wie folgt geschrieben werden: |PATlmin – PATkmin | < 2n-1,was zu der folgenden Bedingung für Tmax und m führt: m × Tmax < 2n-1
  • Die Erfindung kann durch einen Fachmann auf dem Gebiet unter Verwendung einer Kombination aus geeignet verbundenen wohlbekannten Vorrichtungen implementiert werden. Der Multiplexer kann aufgrund der Verarbeitung, die er durchführen muss, entweder eine Zentralverarbeitungseinheit (CPU) für allgemeine Zwecke, gekoppelt mit einer geeigneten Speichereinrichtung, oder eine spezialisierte Verarbeitungseinheit sein. Die Speichereinrichtung kann irgendeine Form eines kurzzeitigen Speichers, wie beispielsweise ein RAM, sein und wird als der Pufferspeicher für die Segmente der Pakete und für die Zeitetiketten, die periodisch gespeichert werden müssen, dienen. Die Torsteuerung zwischen den Datenströmen und dem Multiplexer kann durch einen Fachmann auf dem Gebiet als irgendeine geeignete Umschalteinrichtung implementiert werden. Offensichtlich muss die Prozessoreinrichtung oder der Multiplexer mit dem Speicher, der Torsteuereinrichtung und der Übertragungseinrichtung, die zum Übertragen der Paketsegmente zu dem virtuellen Kanal verwendet werden, gekoppelt sein.
  • 4 stellt ein Beispiel der Verbindungen dar, die zum Ausführen der obigen Erfindung erforderlich sind. Die Empfangseinrichtung 230 empfängt die Datenpakete von der Außenwelt und sendet diese Datenpakete zu der Pufferspeichereinrichtung 240. Diese Pufferspeichereinrichtung 240 puffert die Datenpakete, bevor die Datenpakete zu der Verarbeitungseinrichtung 250 weitergesendet werden, wo die gesamte Verarbeitung, die Entscheidungsmarkierung und die Segmentierung ausgeführt werden. Bevor die Datenpakete die Verarbeitungseinrichtung 250 erreichen, laufen sie durch die Torsteuereinrichtung 260, die bestimmt, wann es sicher und zulässig ist, mehr Datenpakete zu der Verarbeitungseinrichtung 250 zu senden. Die Verarbeitungseinrichtung 250 empfängt dann das Datenpaket und segmentiert es, ordnet ein Zeitetikett zu und puffert sowohl die Segmente als auch ein dem Datenpaket zugeordnetes Zeitetikett. Das Zeitetikett wird zu der Zeitetiketten-Pufferspeichereinrichtung 270 gesendet, wo das Zeitetikett geeignet kategorisiert und in seine geeignete Stromwarteschlange in eine Warteschlange gebracht wird. Die Segmente werden zu einer Segment-Pufferspeichereinrichtung 280 gesendet, wo sie auch in ihre geeigneten Stromwarteschlangen kategorisiert werden. Das Zeitetikett und die Segmente, die einem spezifischen Datenpaket entsprechen, sind kreuzweise aufeinander bezogen, so dass sie alle nur mit dem spezifischen Datenpaket identifiziert werden.
  • Die Verarbeitungseinrichtung 250 unterhält auch die Prioritätswarteschlange 290 entweder in der Zeitetiketten-Puffereinrichtung 270 oder innerhalb ihres eigenen Speichers. Wenn die Verarbeitungseinrichtung 250 einmal bestimmt, dass ein Datenpaket zu der Übertragungseinrichtung 300 zu senden ist, wird ein Signal zu der geeigneten Segment-Pufferspeichereinrichtung gesendet und werden die relevanten Segmente zu dem virtuellen Kanal übertragen.
  • Ein alternatives Schema zu dem Obigen ist in 5 gezeigt. Bei dieser Konfiguration sind die Verarbeitungsaufgaben zwischen der Empfangseinrichtung 230 und der Verarbeitungseinrichtung 250 aufgeteilt. Die Empfangseinrichtung 230 empfängt nicht nur die Datenpakete von außerhalb, sondern segmentiert auch, ordnet Zeitetiketten zu und bringt sie in die geeignete Stromwarteschlange. Die Stromwarteschlange ist als Strompuffereinrichtung 310 implementiert, die innerhalb von ihr die Zeitetiketten-Pufferspeichereinrichtung 270 und die Segment-Speicherpuffereinrichtung 280 enthält. Die Torsteuereinrichtung 260 wirkt noch als Gatekeeper für die Verarbeitungseinrichtung 250, welcher basierend auf einer Eingabe von der Verarbeitungseinrichtung 250 bestimmt, wann und was zu der Verarbeitungseinrichtung 250 gesendet werden sollte. Die Verarbeitungseinrichtung 250 unterhält wieder die Prioritätswarteschlange 290 innerhalb ihres Speichers. Die Übertragungseinrichtung 300 ist zwischen dem virtuellen Kanal VC und der Verarbeitungseinrichtung 250 gekoppelt, wobei die Verarbeitungseinrichtung 250 bestimmt, welche Datenpakete zu der Übertragungseinrichtung 300 gesendet werden.
  • Eine Person, die diese Erfindung versteht, kann nun alternative Strukturen und Ausführungsbeispiele oder Variationen des Obigen erdenken. Alle von denjenigen, die innerhalb des Schutzumfangs der Ansprüche fallen, die hierzu beigefügt sind, werden derart angesehen, dass sie ein Teil der vorliegenden Erfindung sind.

Claims (10)

  1. Verfahren zum Multiplexen einer Vielzahl von Datenströmen in einem Multiplexer zu einem einzigen Kanal, wobei jeder der Datenströme eine Vielzahl von Datenpaketen enthält, die mittels des Datenstroms und des Kanals seriell von einer Quelle zu einem Zielort übertragen werden, wobei das Verfahren Folgendes aufweist: für jeden Datenstrom: a) Empfangen eines Datenpakets an einem Eingang eines Datenstroms, b) Segmentieren des empfangenen Datenpakets in Segmente und Speichern von ihnen in eine FIFO-Stromwarteschlange (10), c) Zuordnen eines Zeitetiketts zu dem segmentierten Datenpaket, wobei das Zeitetikett eine geschätzte Ankunftszeit für das Datenpaket bei dem Multiplexer (20) anzeigt, d) Übertragen des zugeordneten Zeitetiketts zu dem Multiplexer, wenn es mittels eines ersten Signals angefordert ist (30), e) Übertragen zu dem Kanal der Segmente des Datenpakets, das in die Stromwarteschlange gespeichert ist, für den Datenstrom entsprechend einem zweiten Signal von dem Multiplexer (70), und f) Speichern des Zeitetiketts, das zu dem Datenpaket gehört, als ein Zeitetikett eines zuvor übertragenen Stroms für das zugehörige Datenpaket, für den Multiplexer: aa) Anfordern des Zeitetiketts des Datenpakets an dem Anfang der Stromwarteschlange durch Senden des ersten Signals zu dem Datenstrom (170), bb) Empfangen eines Zeitetiketts von einem Datenstrom (180), cc) Speichern des empfangenen Zeitetiketts in einer Gruppe empfangener Zeitetiketten, wobei die Gruppe von Zeitetiketten empfangene Zeitetiketten von anderen Datenströmen enthält, dd) Sortieren der Gruppe empfangener Zeitetiketten, um ein Übertragungs-Zeitetikett mit einer frühesten geschätzten Ankunftszeit der Gruppe zu bestimmen (190), ee) Senden des zweiten Signals zu dem Datenstrom, zu dem das Übertragungs-Zeitetikett gehört (200), ff) Speichern des Übertragungs-Zeitetiketts als ein Zeitetikett eines zuvor übertragenen Kanals (210), und gg) Entfernen des Übertragungs-Zeitetiketts aus der Gruppe, nachdem die Segmente mit dem Übertragungs-Datenpaket übertragen worden sind (220).
  2. Verfahren nach Anspruch 1, wobei der Schritt c) weiterhin Folgendes enthält: c2) Berechnen der geschätzten Ankunftszeit für das an einem Eingang des Datenstroms empfangene Datenpaket, c3) Auswählen des Zeitetiketts für das Datenpaket basierend auf den folgenden Bedingungen: – wenn die Gruppe nicht leer ist, das letztere von Folgendem: c31) der geschätzten Ankunftszeit des Datenpakets, und c32) dem Zeitetikett des aktuell übertragenen Pakets, – wenn die Gruppe leer ist, das letztere von folgendem: c3a) der geschätzten Ankunftszeit des Datenpakets, und c3b) dem Zeitetikett des zuvor übertragenen Kanals.
  3. Verfahren nach Anspruch 2, wobei der Schritt c2) weiterhin ein Berechnen der geschätzten Ankunftszeit für das an einem Eingang des Datenstroms empfangene Datenpaket durch kumulatives Addieren für jedes Segment resultierend aus dem Segmentierungsschritt b) einer vorbestimmten minimalen Zwischensegmentzeit zu einem Segmentzeitzähler enthält, wobei der Segmentzeitzähler anfangs einen Wert gleich der geschätzten Ankunftszeit für das vorherige Datenpaket des Datenstroms, das dem Datenpaket direkt vorangeht, hat.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt b) weiterhin ein serielles Speichern der Datenpaketsegmente in einer Segmentliste enthält.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Schritt cc) ein Speichern der Gruppe in einer Prioritätswarteschlange enthält.
  6. Verfahren nach Anspruch 5, wobei die Prioritätswarteschlange eine Binärsortierbaumstruktur hat.
  7. Verfahren nach Anspruch 6, wobei die Prioritätswarteschlange in einem Feld gespeichert wird.
  8. Verfahren nach Anspruch 1, wobei der Schritt dd) weiterhin ein Vergleichen der empfangenen Zeitetiketten enthält, um das Übertragungs-Zeitetikett zu bestimmen.
  9. Verfahren nach Anspruch 8, wobei dann, wenn eine Zeitlücke zwischen dem Übertragungs-Zeitetikett und dem Zeitetikett des zuvor übertragenen Stroms eines verschwundenen Datenstroms größer als ein vorbestimmter Wert ist, ein nächstes Datenpaket von diesem verschwundenen Datenstrom einem Zeitetikett gleich dem Übertragungs-Zeitetikett in einer Verwendung zugeordnet wird, wenn das nächste Datenpaket segmentiert wird.
  10. Vorrichtung zum Multiplexen einer Vielzahl von Datenströmen zu einem einzigen Kanal, wobei jeder der Datenströme eine Vielzahl von Datenpaketen enthält, die mittels eines Datenstroms und des Kanals seriell von einer Quelle zu einem Zielort übertragen werden, wobei die Vorrichtung Folgendes aufweist: einen Multiplexer, a) eine Empfangseinrichtung zum Empfangen eines Datenpakets an einem Eingang eines Datenstroms, b) eine Segmentiereinrichtung zum Segmentieren des empfangenen Datenpakets in Segmente, bb) eine FIFO-Stromwarteschlange zum Speichern der Segmente, c) eine Zuordnungseinrichtung zum Zuordnen eines Zeitetiketts zu dem segmentierten Datenpaket, wobei das Zeitetikett eine geschätzte Ankunftszeit für das Datenpaket anzeigt, zu dem Multiplexer, d) eine Einrichtung zum Antworten auf ein erstes Signal, das durch den Multiplexer übertragen ist, zum Übertragen des zugeordneten Zeitetiketts zu dem Multiplexer, e) eine Übertragungseinrichtung zum Übertragen zu dem Kanal der Segmente des Datenpakets das in die Stromwarteschlange gespeichert ist, für den Datenstrom entsprechend einem zweiten Signal von dem Multiplexer, und f) eine Speichereinrichtung zum Speichern des Zeitetiketts, das zu dem Datenpaket gehört, als ein Zeitetikett eines zuvor übertragenen Stroms für das zugehörige Datenpaket, wobei der Multiplexer versehen ist mit: aa) einer Anforderungseinrichtung zum Anfordern des Zeitetiketts des Datenpakets an dem Anfang einer Stromwarteschlange durch Übertragen des ersten Signals zu dem Datenstrom, bb) einer Empfangseinrichtung zum Empfangen eines Zeitetiketts von einem Datenstrom, cc) einer Speichereinrichtung zum Speichern des empfangenen Zeitetiketts in einer Gruppe empfangener Zeitetiketten, wobei die Gruppe von Zeitetiketten empfangene Zeitetiketten von anderen Datenströmen enthält, dd) einer Sortiereinrichtung zum Sortieren der Gruppe empfangener Zeitetiketten, um ein Übertragungs-Zeitetikett mit einer frühesten geschätzten Ankunftszeit der Gruppe zu bestimmen, ee) einer Übertragungseinrichtung zum Übertragen des zweiten Signals zu dem Datenstrom, zu dem das Übertragungs-Zeitetikett gehört, ff) einer Speichereinrichtung zum Speichern des Übertragungs-Zeitetiketts als ein Zeitetikett eines zuvor übertragenen Kanals; und gg) einer Entfernungseinrichtung zum Entfernen des Übertragungs-Zeitetiketts aus der Gruppe, nachdem die Segmente mit dem Übertragungs-Datenpaket übertragen worden sind.
DE60038600T 2000-01-05 2000-01-05 Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen Expired - Fee Related DE60038600T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00400018A EP1115265B1 (de) 2000-01-05 2000-01-05 Verfahren und vorrichtung zur feststellung der paketübertragungspriorität zwischen mehreren datenströmen

Publications (2)

Publication Number Publication Date
DE60038600D1 DE60038600D1 (de) 2008-05-29
DE60038600T2 true DE60038600T2 (de) 2008-07-24

Family

ID=8173504

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60038600T Expired - Fee Related DE60038600T2 (de) 2000-01-05 2000-01-05 Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen

Country Status (5)

Country Link
US (1) US6947450B2 (de)
EP (1) EP1115265B1 (de)
JP (1) JP2001217873A (de)
AT (1) ATE392758T1 (de)
DE (1) DE60038600T2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040202148A1 (en) * 2001-01-31 2004-10-14 Thomas Kuehnel System and method of data stream transmission over MPLS
US6947998B2 (en) * 2001-03-08 2005-09-20 Broadband Royalty Corporation Method and system for bandwidth allocation tracking in a packet data network
JP3598985B2 (ja) * 2001-03-21 2004-12-08 日本電気株式会社 キュー割り当てシステムおよびパケット交換機のキュー割り当て方法
US8271672B1 (en) * 2001-08-31 2012-09-18 Juniper Networks, Inc. Guaranteed bandwidth memory apparatus and method
US7000029B2 (en) * 2001-09-12 2006-02-14 Tropic Networks Inc. Method and system for automatic address allocation in a network and network protocol therefor
US7698454B1 (en) * 2001-11-26 2010-04-13 Juniper Networks, Inc. Interfacing with streams of differing speeds
FR2835329A1 (fr) * 2002-01-30 2003-08-01 Koninkl Philips Electronics Nv Procede de traitement de fichiers binaires de programmes
US7386692B1 (en) * 2004-08-20 2008-06-10 Sun Microsystems, Inc. Method and apparatus for quantized deadline I/O scheduling
FR2878106A1 (fr) * 2004-11-15 2006-05-19 France Telecom Procede et dispositif d'ordonnancement de paquets pour leur routage dans un reseau avec determination implicite des paquets a traiter en priorite
US20070053349A1 (en) * 2005-09-02 2007-03-08 Bryan Rittmeyer Network interface accessing multiple sized memory segments
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
US20070106849A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for adaptive intelligent prefetch
US7478179B2 (en) * 2005-11-04 2009-01-13 Sun Microsystems, Inc. Input/output priority inheritance wherein first I/O request is executed based on higher priority
KR101215615B1 (ko) * 2006-01-10 2012-12-26 삼성전자주식회사 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
US7403874B2 (en) * 2006-01-31 2008-07-22 Verigy (Singapore) Pte. Ltd. Method and system for prioritizing formatting actions of a number of data formatters
EP1838052A1 (de) * 2006-03-20 2007-09-26 Alcatel Lucent Verfahren und Einheit zur Erzeugung eines Datenstromes, und Vermittlungstelle mit solcher Einheit.
EP1858227A1 (de) * 2006-05-16 2007-11-21 THOMSON Licensing Netzwerkspeichervorrichtung mit getrennten Datenschnittstellen für Steuerung und Speicherung
US8880716B2 (en) * 2009-05-08 2014-11-04 Canon Kabushiki Kaisha Network streaming of a single data stream simultaneously over multiple physical interfaces
US9251215B2 (en) * 2011-01-14 2016-02-02 Hewlett Packard Enterprise Development Lp Data staging for results of analytics
US8773993B2 (en) 2011-01-31 2014-07-08 Apple Inc. Adaptive bandwidth estimation
US10028003B2 (en) 2011-10-12 2018-07-17 Turner Broadcasting System, Inc. Advertisement scheduler
US9055308B2 (en) * 2011-10-12 2015-06-09 Turner Broadcasting System, Inc. Method and system for scheduling commercial advertisement
FR3006838B1 (fr) 2013-06-06 2016-10-21 Christophe Desnoyer Procede de gestion de file d'attente de donnees
US9705709B2 (en) 2014-12-22 2017-07-11 Exara, Inc. Recipient-driven traffic optimizing overlay systems and methods
US9544242B2 (en) 2015-02-20 2017-01-10 Exara, Inc. Network data prioritizer
EP3076616B1 (de) * 2015-03-31 2017-04-12 Mitsubishi Electric R&D Centre Europe B.V. Verfahren zur datenverkehrsverwaltung und netzwerkknoten zur implementierung davon
US9922341B2 (en) 2015-09-01 2018-03-20 Turner Broadcasting System, Inc. Programming optimization utilizing a framework for audience rating estimation
US11064234B2 (en) 2015-09-01 2021-07-13 Turner Broadcasting System, Inc. Targeting and demographics scheduling utilizing a framework for audience rating estimation
CN105245471A (zh) * 2015-09-25 2016-01-13 京信通信技术(广州)有限公司 报文发送方法及报文发送装置
US11093968B2 (en) 2015-11-02 2021-08-17 Turner Broadcasting System, Inc. Audience proposal creation and spot scheduling utilizing a framework for audience rating estimation
US10070166B2 (en) 2015-11-02 2018-09-04 Turner Broadcasting System, Inc Generation of reach, mixture, and pricing utilizing a framework for audience rating estimation
US11343555B2 (en) 2016-04-05 2022-05-24 Turner Broadcasting System, Inc. Allocation of under delivery units utilizing an optimization framework
US10505859B2 (en) * 2016-11-10 2019-12-10 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Packet deadlines in a queue to control the age of information
US11423431B2 (en) 2017-06-13 2022-08-23 Turner Broadcasting System, Inc. Promotion planning for managing allocation of inventory mix utilizing an optimization framework
US11282115B2 (en) 2017-06-13 2022-03-22 Turner Broadcasting System, Inc. Managing allocation of inventory mix utilizing an optimization framework
JP6896988B2 (ja) * 2017-06-22 2021-06-30 ヴァレンス セミコンダクター リミテッド 再送に起因してパケットに追加される遅延の表示
US10834451B2 (en) 2018-01-09 2020-11-10 Turner Broadcasting System, Inc. Dynamically scheduling non-programming media items in contextually relevant programming media content
CN114443701A (zh) * 2020-10-30 2022-05-06 伊姆西Ip控股有限责任公司 数据流处理方法、电子设备和计算机程序产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864540A (en) * 1997-04-04 1999-01-26 At&T Corp/Csi Zeinet(A Cabletron Co.) Method for integrated traffic shaping in a packet-switched network
DE69733129T2 (de) * 1997-06-20 2006-03-09 Alcatel Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten
JPH11103294A (ja) * 1997-09-26 1999-04-13 Sony Corp パケット伝送制御方法および装置
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
CA2223193A1 (en) * 1997-12-01 1999-06-01 Newbridge Networks Corporation Adaptive buffering allocation under multiple quality of service
EP0952753B1 (de) * 1998-03-30 2013-09-11 Alcatel-Lucent Verkehrsplanung in der ATM Anpassungsschicht, für Verbindungen mit variabeler Bitrate
US6477144B1 (en) * 1998-09-10 2002-11-05 Nortel Networks Limited Time linked scheduling of cell-based traffic
US6570883B1 (en) * 1999-08-28 2003-05-27 Hsiao-Tung Wong Packet scheduling using dual weight single priority queue

Also Published As

Publication number Publication date
JP2001217873A (ja) 2001-08-10
DE60038600D1 (de) 2008-05-29
US6947450B2 (en) 2005-09-20
ATE392758T1 (de) 2008-05-15
EP1115265A1 (de) 2001-07-11
EP1115265B1 (de) 2008-04-16
US20010007570A1 (en) 2001-07-12

Similar Documents

Publication Publication Date Title
DE60038600T2 (de) Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE69920893T2 (de) Berichtigung der Verbindungsbandbreite auf der Basis der Beobachtung der Belegung der Ressourcen des Netzes
DE69731606T2 (de) Anlage und verfahren zur änderung von schwellen für überlastkontrolle in atm-vermittlungsstellen
DE60038538T2 (de) Vermittlungseinrichtung und Vermittlungsverfahren
DE68926650T2 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE69934645T2 (de) Speichereffiziente Leaky-Bucket-Überwachungsvorrichtung zur Verkehrsverwaltung von ATM Datenkommunikationen
DE69935006T2 (de) Vorrichtung und verfahren zum setzen von prioritäten für multicast-sendepakete in einer netz-dienstklasse
DE69533533T2 (de) Kommunikationssystem, Server und Verfahren zur Adressenverwaltung
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE69635880T2 (de) Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69636846T2 (de) Verfahren und Apparat zur Aufteilung von Lade- und Entladefunktionen in einer ATM-Schnittstelle
DE69913535T2 (de) Überlastregelung einer AAL2-Verbindung
DE60125901T2 (de) Annäherung von Gewichtete &#39;Random Early Detection&#39; Puffereinlassung-Algorithmus
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE60125611T2 (de) Verfahren und Vorrichtung zur Kommunikation zwischen einem ersten und einem zweiten Netz
DE69932892T2 (de) System zur Konsolidierung von Telekommunikationsverkehr
DE10119754B4 (de) Verfahren und Vorrichtung zum Speichern von Datenpaketen
EP0576750B1 (de) Modifiziertes Leaky-Bucket-Verfahren
DE19543892A1 (de) Verfahren und Vorrichtung zum Bestimmen, wann alle Pakete einer Nachricht angekommen sind

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee