-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Kommunikationsvorrichtung
zum Übertragen von
Datenübertragungsblöcken und
ein Prioritätskontrollverfahren
für das Übertragen
von Datenübertragungsblöcken.
-
Stand der Technik
-
In
einem „Best-effort"-Netzwerk, das ein
CSMA/CD System oder ein Vollduplexsystem verwendet, verschärften sich
die Erfordernisse zur Übertragung
eines Echtzeitdatenstroms aus Audio- oder Videodaten.
-
Es
liegt jedoch in der Natur des „Best-effort"-Netzwerks, dass
es schwierig ist, zuverlässig eine
vorbestimmte Menge eines Echtzeit-Video/Audio-Datenstroms (Information) in seiner
ursprünglichen
Form in einer vorbestimmten Zeitperiode zu übertragen. Diese Situation
stellt hinsichtlich der Sicherung der Dienstqualität (QoS)
eine Herausforderung an eine Anwendung, die Echtzeitübertragung benötigt, dar.
-
Die
Herausforderung kann grob in vier Punkte klassifiziert werden: Garantie
einer Verzögerung; Garantie
einer Verzögerungsverteilung
(Fluktuation); Garantie einer Bandbreite und Garantie eines Paketverlustfaktors.
Die folgenden vier Techniken sind als Lösungen dieser Herausforderungen
bekannt.
-
(1) Klassifizierung (Klassifikator)
-
In
einem Router oder Verteiler wird der Verkehr auf der Grundlage von
dem Ursprung und Ziel, der TCP/UDP Portnummer und des ToS Felds
jedes eingegangenen Datenübertragungsblocks
klassifiziert.
-
(2) Zugangskontrolle
-
Ein
Verfahren zum Steuern der Reservierung von Betriebsmitteln in jeder
Sitzung. Betriebsmittel auf einem Verbindungsweg werden durch ein „Setup"-Protokoll bei einem
Start einer Sitzung sichergestellt, aber die Sitzung wird nicht
gestartet, wenn die Betriebsmittel nicht sichergestellt werden können.
-
(3) Datenübertragungsblockplaner
-
Ein
Verfahren, zum Kontrollieren einer Planung der Übertragung von Datenübertragungsblöcken, die
in Gruppen klassifiziert sind. Verschiedene Verfahren können in
Abhängigkeit
eines Warteschlangen- bzw. Pufferungsverfahrens und eines Pufferspeichersteuerungsverfahrens
benutzt werden.
-
(4) Verkehrsformung (Former)
-
Eine
Technik, um eingehenden Spitzenverkehr mit einer einheitlichen Rate
zu führen.
-
Unter
diesen Techniken ist die Technik (3): Datenübertragungsblockplaner wichtig,
um CoS und QoS in einem System mit einer Funktion des Ausgebens
von Datenübertragungsblöcken sicherzustellen,
wie einem Endgerät
oder einem Verteiler.
-
Normalerweise
erzeugt ein Datenübertragungsblockplaner
eine angemessene Übertragungsplanung
zur Realisierung eines gewünschten
prioritätsbasierten
Verarbeitens, nachdem Datenübertragungsblöcke in eine
Vielzahl von Ausgangspuffern eingegeben wurden. Verschiedene Typen
von Planungsalgorithmen können
benutzt werden, wobei die jeweiligen Algorithmen verschiedene Wirkungsweisen
vorsehen, so dass einer von ihnen für ein Betriebsverhalten ausgewählt werden
muss. Weitverbreitete Beispiele umfassen gewichtete faire Pufferung
(WFQ) und strenge Prioritätsverarbeitung.
-
WFQ
ist das allgemeinste Verfahren unter den Verfahren, in denen einem
Puffer mit hoher Priorität
eine hohe Priorität
gegeben wird, aber ein Puffer mit niedriger Priorität nicht
ausgeschlossen wird. In diesem Verfahren wird jedem Puffer ein Gewicht
zugeordnet. Ein Gerät,
das Puffer mit hoher und niedriger Priorität benutzt, ist in
US 2002/0097679 offenbart.
-
8 zeigt
eine Art der Übertragung
eines jeden Datenübertragungsblocks
nach bekannter Technik.
-
Wie
in 8 gezeigt, ist das Gewicht eines Puffers mit höherer Priorität größer als
das eines Puffers mit niedrigerer Priorität. Der Ausgabeplaner kontrolliert
die Planung unter Verwendung eines Rundlaufalgorithmus, um die angezeigten
Gewichte zu berücksichtigen.
Eine bestimmte Prioritätsstufe
der Datenübertragungsblöcke kann
durch Zuordnung von Gewicht im Verhältnis zu einer Bandbreite oder
für Datenübertragungsblockeinheiten
erhalten werden.
-
Andererseits
entnimmt der Planer im strengen Prioritätsverarbeitungsschema andauernd
Datenübertragungsblöcke aus
dem Puffer mit höchster Priorität unter
Puffern, die nicht leer sind. Im strengen Prioritätsverarbeitungsschema
wird, wie der Name angibt, die Prioritätsstufe im wörtlichen
Sinne interpretiert. In diesem Fall wird ein Puffer mit höherer Priorität vor einem
Puffer mit niedrigerer Priorität
verarbeitet.
-
Insbesondere
wenn eine Audio- oder Bewegtbild-Anwendung,
die in Echtzeit übertragen
werden muss, zu übertragen
ist, muss ihr Datenübertragungsblock
als Datenübertragungsblock
mit höchster Priorität übertragen
werden. In einem Fall, in dem Datenübertragungsblöcke in Puffern
sowohl mit hoher als auch mit niedriger Priorität vorkommen, kann im strengen
Prioritätsverarbeitungsschema,
wenn ein Datenübertragungsblock
in dem Puffer mit hoher Priorität
ankommt, nachdem eine Übertragung
eines Datenübertragungsblocks
in dem Puffer mit niedriger Priorität begonnen hat, der Datenübertragungsblock in
dem Puffer mit hoher Priorität
nicht übertragen werden,
bis der Datenübertragungsblock
mit niedriger Priorität
vollständig übertragen
wurde, weshalb keine Echtzeitübertragung
realisiert werden kann.
-
Als
ein Verfahren, diesen Nachteil zu überwinden, ist ein Verfahren,
die Zellen entsprechend einer vorbestimmten Zeitplanung umzuschalten,
bekannt (siehe z. B.
US Patent
Nr. 6,570,873 (
japanische
Patentveröffentlichung
Nr. 2000-151703 )).
-
Ebenso
ist als ein Verfahren, diesen Nachteil zu überwinden, ein Verfahren des
Fragmentierens eines Paketes mit niedriger Priorität und Einfügen der Fragmente
zwischen Paketen mit hoher Priorität bekannt (siehe z. B.
WO 2002/01821 A1 (
japanische Patentveröffentlichung
Nr. 2002-016637 )).
-
Das
in
US Patent Nr. 6,570,873 (
japanische Patentveröffentlichung
Nr. 2000-151703 ) beschriebene Verfahren, Zellen entsprechend
einer vorbestimmten Zeitplanung umzuschalten, kann jedoch nur an
Zellen fester Länge
angepasst werden und ist nicht anwendbar auf Datenübertragungsblöcke variabler
Länge in
einem Ethernet oder dergleichen.
-
Andererseits
muss in dem in
WO 2002/01821
A1 (
japanische Patentveröffentlichung Nr.
2002-016637 ) beschriebenen Verfahren des Fragmentierens
eines Paketes mit niedriger Priorität und Einfügen der Fragmente zwischen
Paketen mit hoher Priorität „IP Fragment" installiert werden,
was für
einen Ebene 2 Verteiler oder dergleichen nicht anwendbar ist. Außerdem muss
nach einer Fragmentierung eine zyklische Redundanzprüfung (CRC)
durchgeführt
werden. Wenn Fragmentierung und Neuberechnung eines CRC kompliziert
werden, ist eine signifikante Zeitspanne für die Berechnung nötig, und dadurch
kann in einem Hochgeschwindigkeitsnetzwerk eine Verarbeitungsverzögerung auftreten.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung stellt einen Datenübertragungsblockplaner für eine Vorrichtung
mit einer Funktion des Ausgebens von Datenübertragungsblöcken bereit,
bei der der Datenübertragungsblockplaner
auf Datenübertragungsblöcke variabler Länge anwendbar
ist und keine Fragmentierungsfunktion enthalten muss.
-
Nach
einem ersten Aspekt der vorliegenden Erfindung wird ein Kommunikationssystem
wie in den Ansprüchen
1 bis 5 spezifiziert bereitgestellt.
-
Die
vorliegende Erfindung stellt auch ein Verfahren für die Prioritätskontrolle
von Datenübertragungsblöcken dar,
wobei das Verfahren zur Verarbeitung in einem Hochgeschwindigkeitsnetzwerk
angepasst werden kann.
-
Nach
einem weiteren Aspekt der vorliegenden Erfindung wird ein Prioritätskontrollverfahren
wie in den Ansprüchen
6 bis 8 spezifiziert bereitgestellt.
-
Weitere
Eigenschaften und Vorteile der vorliegenden Erfindung werden aus
der folgenden Beschreibung einer beispielhaften Ausführungsform
mit Bezug auf die angehängten
Zeichnungen offenbar.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das ein System der Ausgabepufferkontrolle gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
2 ist
ein Flussdiagramm, das einen Betrieb der Pufferkontrolle gemäß der Ausführungsform zeigt.
-
3 zeigt
die Systemkonfiguration eines Datenübertragungsblocksprioritätskontrollierers
gemäß der Ausführungsform.
-
4 zeigt
einen Ethernet Datenübertragungsblock
mit einem Prioritätsstufenkennzeichen gemäß der Ausführungsform.
-
5 ist
ein Blockdiagramm, das die interne Konfiguration eines Switched
HUBs gemäß der Ausführungsform
zeigt.
-
6 zeigt
einen Ablauf eines Übertragens Datenübertragungsblöcke mit
höchster
Priorität
von einem Endgerät 305 an
ein Endgerät 308 gemäß der Ausführungsform.
-
7 zeigt
einen speziellen Betrieb von prioritätsbasierter Übertragung
gemäß der Ausführungsform.
-
8 zeigt
einen Zustand, in dem jeder Datenübertragungsblock nach bekannter
Technik übertragen
wird.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORM
-
Anschließend wird
eine Ausführungsform der
vorliegenden Erfindung beschrieben.
-
1 ist
ein Blockdiagramm, das ein System der Ausgangspufferkontrolle gemäß der Ausführungsform
der vorliegenden Erfindung zeigt.
-
In
der Ausführungsform
enthält
das System drei Ausgabepuffer 101, 102 und 103,
um Datenübertragungsblöcke mit
unterschiedlichen Prioritätsstufen zu
kontrollieren; eine Prioritäts-Datenübertragungsblockinformationseinheit 104;
eine Spezifizierungseinheit der übertragbaren
Datenübertragungsblocklänge 105; Übertragungsbeurteilungseinheiten 106 und 107;
und einen prioritätsbasierten
Planer 108.
-
Datenübertragungsblöcke mit
höchster
Priorität
wie Audio- oder Bewegtbild-Datenübertragungsblöcke, die
in Echtzeit übertragen
werden müssen, werden
in den Puffer mit höchster
Priorität 101 eingegeben.
Datenübertragungsblöcke mit
einer gewissen Prioritätsstufe
werden in den Puffer mit zweithöchster Priorität 102 eingegeben,
aber Echtzeitübertragung muss
für diese
Datenübertragungsblöcke nicht
sichergestellt werden. Die anderen Datenübertragungsblöcke werden
in den Puffer mit niedrigster Priorität 103 eingegeben.
Die Prioritäts-Datenübertragungsblockinformationseinheit 104 enthält Information über den Übertragungszeitpunkt
des Datenübertragungsblocks
mit höchster
Priorität,
der als nächster
ankommen muss, und benachrichtigt die Spezifizierungseinheit der übertragbaren
Datenübertragungsblocklänge 105 von
dem Zeitpunkt.
-
Die
Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 105 berechnet
die Länge
eines Datenübertragungsblocks,
die bis zu dem Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität,
der als nächstes übertragen
werden muss, übertragen
werden kann, und benachrichtigt die Übertragungsbeurteilungseinheiten 106 und 107 von
der berechneten Länge.
Jede der Übertragungsbeurteilungseinheiten 106 und 107 vergleicht
die Länge
des als nächsten
zu übertragenden
Datenübertragungsblocks
im mit ihnen verbundenen Puffer mit der Datenübertragungsblocklänge, von
der sie durch die Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 105 benachrichtigt
wurden. Wenn die Länge
des als nächsten
zu übertragenden
Datenübertragungsblocks
länger
ist als die Länge,
die von der Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 105 benachrichtigt
wurde, lehnen die Übertragungsbeurteilungseinheiten 106 und 107 eine Übertragung
ab. Wenn die Länge
des als nächsten
zu übertragenden
Datenübertragungsblocks
kürzer
ist, erlauben die Übertragungsbeurteilungseinheiten 106 und 107 eine Übertragung.
-
Der
prioritätsbasierte
Planer 108 entnimmt im Wesentlichen Datenübertragungsblöcke in Reihenfolge
der Priorität
von Puffern, die nicht leer sind, aber entnimmt keinen Datenübertragungsblock, wenn
die Übertragungsbeurteilungseinheiten 106 und 107 eine Übertragung
ablehnen. In der Ausführungsform
wird für
die Puffer 102 und 103 anders als für den Puffer
mit höchster
Priorität 101 das
strenge Prioritätsverarbeitungsschema
im prioritätsbasierten Planer 108 angewendet,
aber ein anderes Schema kann für
diese Puffer auch angewendet werden.
-
2 ist
ein Flussdiagramm, das einen Betrieb der Pufferkontrolle gemäß der Ausführungsform zeigt.
-
Nachdem
der Kontrollbetrieb gestartet wurde (S201), geht der prioritätsbasierte
Planer 108 die Puffer in Reihenfolge der Priorität durch
(S202) und beurteilt in Schritt S203, ob Datenübertragungsblöcke in dem
Puffer mit höchster
Priorität 101 vorliegen. Wenn
ein oder mehrere Datenübertragungsblöcke in dem
Puffer mit höchster
Priorität 101 vorliegen (S203),
entnimmt und überträgt der prioritätsbasierte Planer 108 den/die
Datenübertragungsblock/-blöcke (S204).
-
Wenn
im Puffer mit höchster
Priorität 101 kein
Datenübertragungsblock
vorliegt (S203), beurteilt der prioritätsbasierte Planer 108,
ob im Puffer mit nächst- höchster Priorität Datenübertragungsblöcke vorliegen
(S205). Wenn es keinen Datenübertragungsblock
gibt (S205), beurteilt der prioritätsbasierte Planer 108,
ob er alle Puffer bis zum Puffer mit niedrigster Priorität durchgegangen
ist (S206). Wenn der prioritätsbasierte
Planer 108 alle Puffer bis zum Puffer mit niedrigster Priorität durchgegangen
ist (S206), kehrt der Prozess nach Schritt S202 zurück, und
der prioritätsbasierte
Planer 108 beginnt, die Puffer in Reihenfolge der Priorität durchzugehen.
-
Wenn
der prioritätsbasierte
Planer 108 noch nicht bis zum Puffer mit niedrigster Priorität durchgegangen
ist (S206), kehrt der Prozess nach Schritt S205 zurück, bei
dem der prioritätsbasierte
Planer 108 beurteilt, ob im Puffer mit nächst-höchster Priorität Datenübertragungsblöcke vorliegen.
Wenn ein oder mehrere Datenübertragungsblöcke im Puffer
mit nächst-höchster Priorität vorliegen
(S205), vergleicht die mit dem Puffer verbundene Übertragungsbeurteilungseinheit
die Datenübertragungsblocklängen (S207)
und beurteilt, ob der Datenübertragungsblock in
dem Puffer mit nächst-höchster Priorität vollständig bis
zu dem Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen werden
kann (S208).
-
Wenn
der Datenübertragungsblock
im Puffer mit nächst-höchster Priorität vollständig bis
zu dem Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann (S208), entnimmt und überträgt der prioritätsbasierte Planer 108 den
Datenübertragungsblock
(S209). Andernfalls (S208), kehrt der Prozess nach Schritt S206 zurück, in dem
beurteilt wird, ob der prioritätsbasierte Planer 108 bis
zum Puffer mit niedrigster Priorität durchgegangen ist.
-
Als
nächstes
wird Datenübertragungskontrolle
in einer Umgebung beschrieben, in der eine Anwendung an einem Ausgangsanschluss
eines switched HUBs anliegt und Echtzeitübertragung benötigt und
mit anderen Anwendungen vermischt ist.
-
3 zeigt
die Systemkonfiguration eines Datenübertragungsblocksprioritätskontrollierers 100.
-
Im
Datenübertragungsblocksprioritätskontrollierer 100 ist
eine Steuerungseinheit 304 mit einem Anschluss 1 eines
switched HUBs 301 verbunden. Die Steuerungseinheit 304 steuert
das ganze System und führt
Verbindungssteuerung der Datenübertragungsblockkommunikation
mit höchster
Priorität
und ein Setzen der Priorität
der Vermittlung durch. Ein Anschluss 4 eines switched HUBs 302 ist
mit einem Anschluss 2 des switched HUBs 301 verbunden,
und ein Anschluss 4 eines switched HUBs 303 ist mit einem
Anschluss 3 des switched HUBs 301 verbunden.
-
Ein
Endgerät 305 ist
mit einem Anschluss 1 des switched HUBs 302 verbunden,
ein Endgerät 306 ist
mit einem Anschluss 2 des switched HUBs 302 verbunden,
und ein Endgerät 307 ist
mit einem Anschluss 3 des switched HUBs 302 verbunden.
Ein Endgerät 308 ist
mit einem Anschluss 1 des switched HUBs 303 verbunden,
ein Endgerät 309 ist
mit einem Anschluss 2 des switched HUBs 303 verbunden,
und ein Endgerät 310 ist
mit einem Anschluss 3 des switched HUBs 303 verbunden.
-
4 zeigt
einen Ethernet-Datenübertragungsblock 400 mit
einem Prioritätsstufenkennzeichen
gemäß der Ausführungsform.
-
Jedes
mit den switched HUBs verbundene Endgerät überträgt den in 4 gezeigten
Ethernet-Datenübertragungsblock 400 mit
einem Prioritätsstufenkennzeichen.
Das Format des Datenübertragungsblocks 400 enthält 6 Bytes
mit der Zieladresse DA; 6 Bytes mit der Herkunftsadresse SA; einen zwei-Byte-Typ
Feldtyp mit einem VLAN Protokollidentifizierer (0x8100); 2 Bytes
mit einem Kennzeichenkontrollinformationsfeld (VLANTag); eine Nutzlasteinheit „Payload" und eine vier Byte
Datenübertragungsblockfehlersequenz
FCS zur Fehlererkennung.
-
Die
ersten 3 Bits des Kennzeichenkontrollinformationsfelds geben die
Nutzerprioritätsstufe
des Datenübertragungsblocks
an. Dieses Feld kann auf einen Wert zwischen 0 und 7 gesetzt werden.
In dem System können
Definitionen aufgestellt werden, zum Beispiel, dass eine Anwendung,
die Echtzeitübertragung
benötigt, übertragen
wird, wenn die Prioritätsstufe
in dem Datenübertragungsblock
auf 7 (der höchsten
Priorität)
gesetzt wird. Das nächste
Feld CFI ist ein kanonischer Formatspezifizierer, das ist ein Ausdruck,
der sich auf eine Bitreihenfolge eines Bytes eines Datenübertragungsblocks
bezieht (klein-endend oder groß-endend).
-
Der
VLAN Identifizierer gibt explizit die Zuordnung des Datenübertragungsblocks
zu einem VLAN an. Wie in 4 gezeigt, wird insbesondere, wenn
der Wert des VLAN Identifizierers 0x000 ist, der VLAN Identifizierer
nur für
das Angeben der Prioritätsstufe
benutzt und nicht zum Angeben der Zuordnung zu dem VLAN. Diese Ausführungsform
nutzt einen VLAN-Kennzeichner, um explizit die Prioritätsstufe
anzugeben, aber verschiedene andere Dinge können auch benutzt werden, zum
Beispiel ein TOS Feld eines IP.
-
Als
nächstes
wird die interne Konfiguration des switched HUBs 301 beschrieben.
-
5 ist
ein Blockdiagramm, das die interne Konfiguration des switched HUBs 301 zeigt.
-
In
dem switched HUB wird eine Vielzahl von Anschlüssen bereitgestellt, aber nur
ein Anschluss wird in 5 gezeigt.
-
Die
interne Konfiguration des switched HUBs 302 und 303 ist
dieselbe wie die des switched HUBs 301.
-
Eine
Empfangseinheit 501 empfängt einen Datenübertragungsblock
und überträgt ihn zu
einer Datenübertragungsblockverarbeitungseinheit 502. Die
Datenübertragungsblockverarbeitungseinheit 502 durchsucht
eine Adresstabelle 503 nach der Herkunftsadresse des Datenübertragungsblocks.
Wenn die Herkunftsadresse nicht gefunden werden kann, registriert
(lernt) die Datenübertragungsblockverarbeitungseinheit 502 die
Herkunftsadresse und die Anschlussnummer, an der der Datenübertragungsblock
empfangen wurde, in der Adresstabelle 503.
-
Außerdem durchsucht
die Datenübertragungsblockverarbeitungseinheit 502 die
Adresstabelle 503 nach der Zieladresse des Datenübertragungsblocks.
Wenn die Zieladresse gefunden wird, fügt die Datenübertragungsblockverarbeitungseinheit 502 die
Anschlussnummer, die in Verbindung mit der Adresse registriert ist,
dem Datenübertragungsblock
als Vermittlungsinformation an und überträgt den Datenübertragungsblock
an eine Vermittlungseinheit 504. Wenn die Zieladresse nicht
gefunden werden kann, fügt
die Datenübertragungsblockverarbeitungseinheit 502 dem
Datenübertragungsblock Vermittlungsinformation
für eine
Flooding-Anweisung an und überträgt den Datenübertragungsblock
an die Vermittlungseinheit 504.
-
Die
Vermittlungseinheit 504 überträgt den Datenübertragungsblock
zu dem entsprechenden Puffer des entsprechenden Zielanschlusses
auf Grundlage der dem Datenübertragungsblock
angefügten
Vermittlungsinformation und der Prioritätsstufeninformation, die explizit
im Datenübertragungsblock
angegeben ist. Im vorliegenden Fall sind in Reihenfolge der Priorität drei Puffer 507, 508 und 509 angeschlossen.
-
Wenn
die Zieladresse des Datenübertragungsblocks
der switched HUB selbst ist, wird der Datenübertragungsblock von der Vermittlungseinheit 504 zu
einer Steuerungseinheit 505 übertragen. Die Steuerungseinheit 505 steuert
eine Kommunikation mit dem switched HUB wie beispielsweise ein Einstellen.
Insbesondere benachrichtigt die Steuerungseinheit 505 eine
Prioritäts-Datenübertragungsblockinformationseinheit 506 von
der Einstellung über
einen Prioritätsdatenübertragungsblock.
Die Prioritäts-Datenübertragungsblockinformationseinheit 506 enthält Information über den
nächsten Übertragungszeitpunkt
eines Datenübertragungsblocks,
der im Puffer mit höchster
Priorität 507 ankommt,
und benachrichtigt eine Spezifizierungseinheit der übertragbaren
Datenübertragungsblocklänge 512 von
dieser Information.
-
Die
Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 512 berechnet
die Länge
des Datenübertragungsblocks,
der am Puffer 507 ankommt und der vollständig bis
zum nächsten Übertragungszeitpunkt übertragen
werden kann, und benachrichtigt die Übertragungsbeurteilungseinheiten 510 und 511 von
der berechneten Datenübertragungsblocklänge. Jede
der Übertragungsbeurteilungseinheiten 510 und 511 vergleicht
die Länge
des als nächsten
zu übertragenden
Datenübertragungsblocks
im mit ihnen verbundenen Puffer mit der Datenübertragungsblocklänge, von
der sie durch die Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 512 benachrichtigt
wurden. Wenn die Länge
des als nächsten
zu übertragenden Datenübertragungsblocks
länger
ist als die Länge, die
von der Spezifizierungseinheit der übertragbaren Datenübertragungsblocklänge 512 benachrichtigt wurde,
lehnen die Übertragungsbeurteilungseinheiten 510 und 511 eine Übertragung
ab. Wenn die Länge
des als nächsten
zu übertragenden
Datenübertragungsblocks
kürzer
ist, erlauben die Übertragungsbeurteilungseinheiten 510 und 511 eine Übertragung.
-
Ein
prioritätsbasierter
Planer 513 entnimmt im Wesentlichen Datenübertragungsblöcke in Reihenfolge
der Priorität
von Puffern, die nicht leer sind. Er entnimmt jedoch keinen Datenübertragungsblock, wenn
die Übertragungsbeurteilungseinheiten 510 und 511 eine Übertragung
ablehnen. Die aus jedem Puffer durch den prioritätsbasierten Planer 513 entnommenen
Datenübertragungsblöcke werden
zu einer Übertragungseinheit 514 übertragen,
und die Datenübertragungseinheiten
werden aus dem Anschluss übertragen.
-
Als
nächstes
wird mit Bezug auf 3 angenommen, dass der Datenübertragungsblock
mit zweithöchster
Priorität
in dem ganzen System von dem Endgerät 306 an das Endgerät 308 übertragen wird
und dass der Datenübertragungsblock
mit niedrigster Priorität
von dem Endgerät 307 an
das Endgerät 308 übertragen
wird. Im Weiteren wird ein Verfahren zur Übertragung von Datenübertragungsblöcken mit
höchster
Priorität
von dem Endgerät 305 an
das Endgerät 308 in
diesem Zustand beschrieben.
-
6 zeigt
das Verfahren eines Übertragens von
Datenübertragungsblöcken mit
höchster
Priorität von
dem Endgerät 305 an
das Endgerät 308 in
der Ausführungsform.
-
Das
Endgerät 305 überträgt eine
Prioritätssetzungsanforderung
mit Information über
die Prioritätsperiode,
Information über
das Zielendgerät
und einen Prioritätssetzungsanforderungsdatenübertragungsblock
mit der Datenübertragungsblocklänge an die
Steuerungseinheit 304. Die Steuerungseinheit 304 steuert
eine Verbindung mit Prioritätskontrolle, beurteilt,
ob die Anforderung von dem Endgerät 305 auf Grundlage
des Netzwerkzustands akzeptiert werden kann, und überträgt einen Übertragungsablehnungsdatenübertragungsblock
an das Endgerät 305, wenn
die Anforderung nicht akzeptiert werden kann (nicht gezeigt).
-
Wenn
die Anforderung von dem Endgerät 305 akzeptiert
werden kann, setzt die Steuerungseinheit 304 die Prioritätsperiode
an dem Anschluss 4 des switched HUBs 302, dem Anschluss
3 des switched HUBs 301, und dem Anschluss 1 des switched HUBs 303 auf
dem Verbindungsweg von dem Endgerät 305 zu dem Endgerät 308,
wie in 6 gezeigt.
-
Jeder
switched HUB setzt die Prioritätsperiode
an dem zu setzenden Anschluss und überträgt dann eine Quittung (ACK)
an die Steuerungseinheit 304. Die Steuerungseinheit 304 überträgt einen Übertragungserlaubnisdatenübertragungsblock
an das Endgerät 305 nur,
wenn ACK von allen diesen switched HUBs zurückgegeben wurde. Wenn ACK nicht
von allen diesen switched HUBs zurückgegeben wurde, überträgt die Steuerungseinheit 304 einen Übertragungsablehnungsdatenübertragungsblock
an das Endgerät 305.
-
Das
Endgerät 305 empfängt den Übertragungserlaubnisdatenübertragungsblock
von der Steuerungseinheit 304 und überträgt Datenübertragungsblöcke gemäß der Prioritätsperiode,
die zusammen mit der Prioritätsdatenübertragungsblockanforderung übertragen
wurde. Jeder switched HUB überträgt den empfangenen
Prioritätsdatenübertragungsblock
vor anderen Datenübertragungsblöcken. Die
Details der prioritätsbasierten Übertragung
werden später
mit Bezug auf 7 beschrieben.
-
Nachdem
das Endgerät 305 Prioritätsdatenübertragungsblöcke übertragen
hat, überträgt das Endgerät 305 einen
Prioritätsaufhebungsanforderungsdatenübertragungsblock
an die Steuerungseinheit 304, um die Prioritätssetzung,
die an jedem switched HUB gesetzt wurde, aufzuheben.
-
Die
Steuerungseinheit 304 empfängt den Prioritätsaufhebungsanforderungsdatenübertragungsblock
und überträgt einen
Setzungsaufhebungsdatenübertragungsblock
an jeden switched HUB. Jeder switched HUB hebt die Setzung auf und überträgt ACK an
die Steuerungseinheit 304. Die Steuerungseinheit 304 empfängt ACK
von allen diesen switched HUBS und überträgt an das Endgerät 305 einen
Prioritätsaufhebungs-ACK-Datenübertragungsblock,
der angibt, dass die Prioritätssetzungen aufgehoben
worden sind, so dass das Verfahren des Übertragens des Datenübertragungsblocks
mit höchster
Priorität
beendet ist.
-
Als
nächstes
wird beschrieben, wie die prioritätsbasierte Übertragung an dem Ausgangsanschluss
4 des switched HUBs 302 durchgeführt wird.
-
7 zeigt
einen speziellen Betrieb der prioritätsbasierten Übertragung
gemäß der Ausführungsform.
-
Wie
in 3 gezeigt, wird in dem Kommunikationszustand der
Datenübertragungsblock
mit zweithöchster
Priorität
(„frame
2") in dem ganzen System
von dem Endgerät 306 an
das Endgerät 308 übertragen,
der Datenübertragungsblock
mit geringster Priorität
(„frame
3") von dem Endgerät 307 an
das Endgerät 308 übertragen,
und der Datenübertragungsblock
mit höchster
Priorität
(„frame
1") von dem Endgerät 305 an
das Endgerät 308 übertragen.
-
Drei
Puffer 1 bis 3 mit unterschiedlichen Prioritätsstufen werden am Ausgangsanschluss
4 des switched HUBS 302 bereitgestellt. „Frame
1" wird in den Puffer
mit höchster
Priorität
1 eingegeben, „frame
2" wird in den Puffer
mit zweithöchster
Priorität
2 eingegeben und „frame
3" wird in den Puffer
mit niedrigster Priorität
3 eingegeben.
-
Der
switched HUB 302 erhält
den Übertragungszeitpunkt
des Datenübertragungsblocks
mit höchster
Priorität
durch das in 6 gezeigte Verfahren der Prioritätsdatenübertragungsblockübertragung
und überträgt Datenübertragungsblöcke gemäß dem in 2 gezeigten
Flussdiagramm der Pufferkontrolle. Zum Beispiel wird in der in 7 gezeigten
Periode 1 beurteilt, ob „frame
2" aus dem Puffer mit
zweithöchster
Priorität
2 zu übertragen
ist. Im vorliegenden Fall wird auf Grundlage der aktuellen Zeit und
der Länge
von „frame
2" beurteilt, dass „frame
2" vollständig bis
zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität
zu übertragen
ist.
-
Deswegen
wird „frame
2" aus dem Pufferausgang übertragen.
Dann wird beurteilt, ob „frame 3" aus dem Puffer mit
niedrigster Priorität
3 zu übertragen
ist. Auf Grundlage der aktuellen Zeit und der Länge von „frame 3" wird beurteilt, dass „frame
3" nicht vollständig bis
zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann. Deswegen wird „frame
3" nicht in der
Periode 1 aus dem Pufferausgang übertragen.
Dann wird „frame
1" aus dem Puffer
mit höchster
Priorität
1 durch den Pufferausgang übertragen.
In der Periode 2 wird wieder beurteilt, ob „frame 3", der in der Periode 1 nicht übertragen
werden konnte, zu übertragen
ist.
-
Im
vorliegenden Fall wird auf Grundlage der aktuellen Zeit und der
Länge von „frame
3" beurteilt, dass „frame
3" vollständig bis
zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann, so dass „frame
3" aus dem Pufferausgang übertragen
wird.
-
Weiter
kommen in der Periode 2 in 7 „frame
2" und „frame
3" zur selben Zeit
an dem Puffer mit zweithöchster
Priorität
2 beziehungsweise dem Puffer mit niedrigster Priorität 3 an.
-
Zuerst
wird gemäß der Prioritätsreihenfolge beurteilt,
ob „frame
2" zu übertragen
ist. Hier wird auf Grundlage der aktuellen Zeit und der Länge von „frame
2" beurteilt, dass „frame
2" nicht vollständig bis zum
nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen werden
kann. Deswegen wird „frame
2" nicht aus dem
Pufferausgang übertragen
und es wird beurteilt, ob „frame
3" zu übertragen
ist. Weil „frame
3" eine kurze Länge hat
und bis zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann, wird „frame
3" aus dem Pufferausgang übertragen.
-
Dann
wird „frame
1" aus dem Puffer
mit höchster
Priorität
1 durch den Pufferausgang übertragen.
In der Periode 3 wird wieder beurteilt, ob „frame 2", der in der Periode 2 nicht übertragen
werden konnte, zu übertragen
ist. Im vorliegenden Fall wird auf Grundlage der aktuellen Zeit
und der Länge
von „frame
2" beurteilt, dass „frame
2" vollständig bis
zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann, so dass „frame
2" aus dem Pufferausgang übertragen
wird. Dann wird in der Periode 3 beurteilt, ob „frame 3" aus dem Puffer mit niedrigster Priorität 3 zu übertragen
ist.
-
Es
wird auf Grundlage der aktuellen Zeit und der Länge von „frame 3" beurteilt, dass „frame 3" nicht vollständig bis zum nächsten Zeitpunkt
des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann. Deswegen wird „frame
3" nicht in der
Periode 3 aus dem Pufferausgang übertragen.
Dann wird „frame
1" aus dem Puffer
mit höchster
Priorität
1 durch den Pufferausgang übertragen.
-
In
der Periode 4 kommt zusätzlich
zu „frame 3", der in der Periode
3 nicht übertragen
werden konnte, „frame
2" an dem Puffer
mit zweithöchster Priorität an.
-
Deswegen
wird gemäß der Prioritätsreihenfolge
beurteilt, ob „frame
2" zu übertragen
ist. Im vorliegenden Fall wird auf Grundlage der aktuellen Zeit und
der Länge
von „frame
2" beurteilt, dass „frame
2" vollständig bis
zum nächsten
Zeitpunkt des Übertragens
des Datenübertragungsblocks
mit höchster
Priorität übertragen
werden kann, so dass „frame
2" aus dem Pufferausgang übertragen
wird. Weiter wird beurteilt, ob „frame 3", der in der Periode 3 nicht übertragen
werden konnte, zu übertragen
ist. Weil „frame 3" übertragen werden kann, wird „frame
3" aus dem Pufferausgang übertragen.
-
In
der obigen Ausführungsform
wurde speziell der Pufferausgangsbetrieb an dem Ausgang 4 des switched
HUBS 302 beschrieben, aber der Pufferausgangsbetrieb an
dem Ausgang 3 des switched HUBs 301 und an dem Ausgang
1 des switched HUBs 303 ist derselbe wie der an dem Ausgang
4 des switched HUBs 302.
-
Gemäß der vorliegenden
Erfindung kann der Datenübertragungsblockplaner
auf Datenübertragungsblöcke variabler
Länge genauso
angewendet werden wie auf Datenübertragungsblöcke fester
Länge,
und er kann zur Verarbeitung in einem Hochgeschwindigkeitsnetzwerk
angepasst werden. Es muss auch nicht „IP Fragment" bereitgestellt werden
und ein Datenübertragungsblockplaner,
der für
einen Ebene 2 Verteiler geeignet ist, oder etwas Ähnliches kann
bereitgestellt werden. Weil keine Fragmentierung durchgeführt werden
muss, ist eine Neuberechnung eines CRC nach einer Fragmentierung
unnötig, was
für eine
Verarbeitung in einem Hochgeschwindigkeitsnetzwerk passend ist.
-
Obwohl
die vorliegende Erfindung mit Bezug auf eine beispielhafte Ausführungsform
beschrieben wurde, versteht es sich, dass die Erfindung nicht auf die
offenbarte Ausführungsform
beschränkt
ist. Es ist im Gegenteil beabsichtigt, mit der Erfindung den Geltungsbereich
der angehängten
Ansprüche
abzudecken.