DE19950822A1 - Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen - Google Patents
Verfahren und Vorrichtung für das Verteilen von Paketen über parallele KommunikationsverbindungenInfo
- Publication number
- DE19950822A1 DE19950822A1 DE19950822A DE19950822A DE19950822A1 DE 19950822 A1 DE19950822 A1 DE 19950822A1 DE 19950822 A DE19950822 A DE 19950822A DE 19950822 A DE19950822 A DE 19950822A DE 19950822 A1 DE19950822 A1 DE 19950822A1
- Authority
- DE
- Germany
- Prior art keywords
- sub
- connections
- packet
- available
- connection
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/243—Multipath using M+N parallel active paths
Abstract
Es wird ein System für das Durchführen von Datenübertragungen auf Paketbasis über einen parallelen Satz von Unterverbindungen bereitgestellt. Eine Sendereinheit trennt die Unterverbindungen in einen verfügbaren Satz von Unterverbindungen und einen belegten Satz von Unterverbindungen. Dieser Sender vermeidet Verarbeitungsverzögerungen durch das Verwenden von Unterverbindungen im verfügbaren Satz von Unterverbindungen und indem er nicht darauf wartet, daß Unterverbindungen im belegten Satz von Unterverbindungen freigegeben werden. Um die Pakete zu empfangen, verwendet eine Empfängereinheit eine Sequenznummer, die mit jedem Paket verbunden ist. Somit extrahiert der Empfänger das eine oder die mehreren Datenpakete, die parallel über den Satz von Unterverbindungen empfangen wurden, in sequentieller Reihenfolge. Ein Paketfensterpuffer wird verwendet, um Pakete in einer Sequenz zu speichern, wenn sie anfänglich ungeordnet empfangen werden. Der Empfänger verwendet ein gleitendes Fenster, um Pakete in einer kontinuierlichen sequentiellen Reihenfolge zu liefern, und überträgt die Pakete seriell über eine einzelne Kommunikationsverbindung.
Description
Die vorliegende Erfindung bezieht sich allgemein auf Daten
netztechnologien und insbesondere auf ein Verfahren und eine
Vorrichtung für das Verteilen von Paketen über parallele Kom
munikationsverbindungen.
Eine erhöhte Zuverlässigkeit und Verfügbarkeit von Hochge
schwindigkeitsnetzen hat das Wachstum vieler neuer, auf der
Telekommunikation basierender Dienste angefacht. Das Internet
ist ein Netz, das verwendet wird, um elektronischen Handel
(E-Commerce), Tele-Heimarbeit und interaktive Unterhaltungs
dienste rund um die Welt zu liefern. Das vorhergesagte Wachs
tum dieser auf dem Netz basierenden Geschäfte wird die Ver
fügbarkeit der Bandbreite, die aktuelle Lieferanten von Tele
kommunikation liefern können, weiterhin überschreiten.
Telekommunikationssysteme, die auf dem Internet und anderen
weltweiten Netzwerken verwendet werden, umfassen typischer
weise lokale Netze (LAN), die mit sehr schnellen Weitver
kehrsnetzen (WANs) verbunden sind. Viele Unternehmen verwen
den LANs, da sie kostengünstig sind, und die Bandbreite von
10 Mbps bis 100 Mbps, die sie liefern, für ihre Bedürfnisse
an das Netz genügen. Andere Unternehmen errichten im Gegen
satz dazu jedoch WANs, da sie höhere Bandbreiten benötigen,
und die Vorteile einer Hochgeschwindigkeitskommunikation
stärker wiegen als die höheren Kosten.
Im Betrieb gestalten und konfigurieren Unternehmen WANs so,
daß sie in vielen verschiedenen Konfigurationen arbeiten.
WANs können in einem breiten Bereich von Bandbreiten arbei
ten, der von einigen zehn Kilobit bis zu Gigabit pro Sekunde
reicht. Sie können auch Datenpakete variabler Größe transpor
tieren, wie sie von unterschiedlichen Typen von LANs erzeugt
werden.
Die synchrone digitale Hierarchie (SDH) ist ein Netzproto
koll, das verwendet wird, um Daten, die durch eine Vielzahl
von Kommunikationssystemen, die Sprachen, Daten und Video
einschließen, erzeugt werden, zu transportieren. Aktuell exi
stieren drei verschiedene Versionen von SDH: SDH-Europa, SDH-
Japan und SONET für Nordamerika. Diese Systeme sind im we
sentlichen kompatibel und werden gemeinsam als SONET bezeich
net.
Viele WANs verwenden SONET, da es verschiedene Protokolle und
Bandbreiten, wie T-1, T-3 und E-1 aufnehmen kann. Netzsy
steme, die SONET implementieren, können die Bandbreite an
geographisch entfernten Orten mit nur geringen Schwierigkei
ten verteilen. Netze auf SONET-Basis verwenden Add-Drop-Mul
tiplexer (ADM), um Hochgeschwindigkeitsdaten an verschiedenen
geographischen Orten zu verteilen, statt in konventioneller
Weise die demultiplexte und wieder angesammelte Bandbreite an
jedem Abzweigungspunkt (drop-point) zu multiplexen. Diese Ge
staltung gestattet es SONET, wirksam Hochgeschwindigkeitsda
ten zu liefern. Somit ist SONET in Videosystemen, interakti
ven Spielen, E-Commerce und anderen Anwendungen mit hoher
Bandbreite und niedriger Latenz vorteilhaft.
Hochgeschwindigkeits-SONET-Netze können Daten mit nahezu 10
Gbps pro Sekunde oder OC-192 übertragen. Im wesentlichen ist
OC-192 192mal schneller als OC-1 (51,85 Mbps). SONET und SDH
arbeiten mit Vielfachen von 51,85 Mbps, um eine wirksame Um
wandlung einer Datenrate in die andere Datenrate zu gestat
ten.
Viele Firmen haben technische Schwierigkeiten bei der prakti
schen Implementierung von Hochgeschwindigkeits-OC-192 Netzen.
Beispielsweise kann es sein, daß OC-192 durch die geometri
schen Unregelmäßigkeiten oder Unreinheiten im Material des
Übertragungsmediums nicht gut in Netzen mit älteren Übertra
gungsmedien arbeitet. Diese Unregelmäßigkeiten oder Unrein
heiten können bewirken, daß sich eine Signalfrequenz über
große Entfernungen verschiebt, und durch ein Phänomen, das
als Polarisationsstreuung (polarization-mode dispersion) be
kannt ist, können sie Rauschen und Störungen auf der OC-192
Kommunikationsverbindung verursachen. Darüberhinaus kann
selbst mit neuen Kabeln die Implementierung von OC-192 ohne
das Entwickeln teurer optischer Übertrager, die bei sehr ho
hen Frequenzen arbeiten, und leicht versagen, schwierig sein.
Um diese Schwierigkeiten zu überwinden, haben WANs OC-192 und
höhere Bandbreiten durch das Ansammeln mehrerer optischer Ka
näle oder Kupferkanäle geringerer Geschwindigkeit erzielt.
Diese WANs kombinieren viele OC-48 Kanäle unter Verwendung
einer Technologie, die als Wellenlängenmultiplexverfahren
oder WDM bekannt ist. In einem optischen Fasernetz zieht WDM
einen Vorteil aus der inneren hohen Bandbreite einer opti
schen Faser, indem Daten parallel auf verschiedenen Wellen
längen übertragen werden. Laser, die verschiedene Wellenlän
gen ausstrahlen, gestatten es, daß diese verschiedenen Kanäle
auf einem geteilten optischen Medium gleichzeitig existieren.
WDM verwendet verschiedene Wellenlängen, um eine getrennte
Unterverbindung zwischen dem Sender-Empfänger-Paar zu errich
ten. Das System empfängt die WDM-Sendung mit optischen Emp
fängern, die auf die verschiedenen Wellenlängen, die während
des Sendens verwendet wurden, ansprechen. Das Übertragen von
Information in paralleler Weise über mehrere Unterverbindun
gen erhöht die Gesamtkapazität eines SONET-Systems.
Viele WDM-Netze verbinden mehrere parallele Unterverbindungen
zu einer einzigen Kommunikationsverbindung an einer Netzkreu
zung. Speziell gestaltete Netzverbindungsvorrichtungen, wie
Router oder Schalter, geben Daten zwischen den Netzen, die
mit dieser Kreuzung verbunden sind, hin und her. Diese Netz
verbindungsvorrichtungen können Daten von der einzelnen Kom
munikationsverbindung nehmen und sie in einer vorbestimmten
Weise über mehrere Unterverbindungen verteilen. Umgekehrt
können die Netzverbindungsvorrichtungen auch Daten von mehre
ren Unterverbindungen zu einem einzelnen Datenstrom zusammen
fügen, um sie über eine einzelne Kommunikationsverbindung zu
übertragen.
Das Paket-um-Paket Verteilen (striping) ist ein Verfahren zum
Übertragen von Daten von einer einzigen Verbindung auf mehre
re Unterverbindungen. Das Paket-um-Paket Verteilen verteilt
ein Paket auf eine erste Unterverbindung und nachfolgende Pa
kete auf nachfolgende Unterverbindungen. Diese Technik ver
teilt mehrere Pakete über mehrere Unterverbindungen und über
trägt die Daten parallel. Typischerweise überträgt die erste
Unterverbindung, die verfügbar wird, die Pakete für die Da
tenübertragung. Dies verwendet die Resourcen wirksam, aber
sendet die Pakete außerhalb ihrer Reihenfolge und führt zu
einer zusätzlichen Verarbeitung bei der Aufzeichnung der Pa
kete am Empfänger.
Existierende Systeme, die beim Paket-um-Paket Verteilen
Schwierigkeiten haben, arbeiten in einer arbeitssparenden
Art. In einem arbeitssparenden System bleiben Server- und
Netzresourcen nicht frei, und sie senden oder empfangen Da
tenpakete, wenn sie bereit sind, in einer Schlange. Unglück
licherweise lassen Systeme, die Pakete in Sequenz senden, ei
nige Unterverbindungen ohne Verwendung, während sie warten,
um das nächste sequentielle Paket zu übertragen. Im Gegensatz
dazu können Systeme, die Pakete außerhalb der Reihenfolge
senden, bewirken, daß ein Empfänger gelegentlich pausiert,
während er Pakete aufzeichnet. Diese Pause kann die Übertra
gung von Daten auf Unterverbindungen stromabwärts der Empfän
gereinheit verzögern und dies kann dazu führen, daß diese Un
terverbindung nicht ausreichend genutzt wird.
Pakete, die nicht in der Reihenfolge gesendet werden, erfor
dern zusätzliche Resourcen und Speicher. Jedes Paket, das
nicht in der Reihenfolge durch ein Paket-um-Paket-Vertei
lungsschema übertragen wird, hat eine Sequenzinformation, die
jedem Paket zugehört. Somit kann es sein, daß Pakete vergrö
ßert werden müssen, um die Sequenzinformation aufzunehmen.
Dies kann zu größeren Puffergrößen führen und kann die Ver
wendung anderer Resourcen des Netzes erforderlich machen.
Ein Verfahren für das Durchführen des Paket-um-Paket-Vertei
lens über mehrere parallele Kanäle, während die Reihenfolge
der Pakete aufrecht erhalten wird, wurde in "A Reliable and
Scalable Striping Protocol" von H. Adiseshu, G. Parulkar und
G. Varghese, ACM SIGCOMM, Band 26, Nummer 4, Seiten 131-
141, Oktober 1996 vorgeschlagen. Diese Paket-um-Paket-Ver
teiltechnik, die als strIPE bekannt ist, sendet Pakete in Se
quenz, ohne daß ausdrückliche Sequenznummern in jedem Paket
plaziert werden. Wie bei anderen konventionellen Systemen ist
diese Technik ebenfalls keine arbeitssparende Technik und
kann dazu führen, daß Bandbreite des Netzes nicht verwendet
wird.
Bei der StrIPE stellt ein mit jeder Unterverbindung verbunde
ner Zähler die Zahl der Bytes dar, die eine Unterverbindung
in einem Zeitintervall übertragen kann. Die Initialisierung
der Unterverbindung stellt jeden Byte-Zähler auf einen posi
tiven Wert ein, der der Übertragungsbandbreite der Unterver
bindung entspricht. Wenn jede der parallelen Unterverbindun
gen dieselben Bandbreite hat, so stellt die Initialisierung
der Unterverbindung jeden Byte-Zähler auf denselben Wert ein.
Unterverbindungen mit unterschiedlichen Bandbreiten werden
bei der Initialisierung auf unterschiedliche Werte einge
stellt.
Eine Sendevorrichtung sendet ein Paket auf einer ersten Un
terverbindung im Satz der parallelen Unterverbindungen und
subtrahiert die Paketgröße in Bytes vom Zählerstand des Byte
zählers, der mit der ersten Unterverbindung verbunden ist.
Wenn der dekrementierte Byte-Zähler eine negative Zahl an
zeigt, wählt die Übertragungsvorrichtung eine nachfolgende
Unterverbindung aus, um Pakete zu übertragen. Mittlerweile
wird der mit der Unterverbindung verbundene Byte-Zähler auf
den ursprünglichen Startwert neu initialisiert. Dieses Ver
fahren wird wiederholt, bis alle zusätzliche Pakete übertra
gen sind.
Ein Empfänger kehrt dieses Verfahren um, um Pakete von den
mehreren parallelen Unterverbindungen zu lesen. Zu Beginn
liest der Empfänger Pakete der ersten Unterverbindung. Die
Zahl der Pakete, die der Empfänger von der ersten Unterver
bindung liest, hängt von der Bandbreite der ersten Unterver
bindung und dem Initialisierungswert, der verwendet wird, um
den Byte-Zähler der ersten Unterverbindung zu initialisieren,
ab. Wenn einmal die anfängliche Gruppe von Paketen von der
ersten Unterverbindung gelesen wurde, so liest der Empfänger
zusätzliche Pakete von nachfolgenden Unterverbindungen in
ähnlicher Weise.
Die strIPE Technik hält die Reihenfolge der Pakete aufrecht,
aber sie ist nicht vollständig arbeitssparend. Ein Sender
sendet mehrere Pakete über eine einzige Unterverbindung, bis
die Unterverbindung eine vorbestimmte Übertragungskapazität
erreicht hat. Mittlerweile bleiben andere parallele Unterver
bindungen frei. Dies stellt kein arbeitssparendes Verfahren
dar, da es sein kann, daß einige Unterverbindungen frei blei
ben, während noch nicht gesendete Pakete sich in der Warte
schlange, bereit für die Übertragung, befinden.
Es kann auch sein, daß das strIPE Verfahren Pakete nicht in
der Reihenfolge überträgt, wenn die Unterverbindungen Daten
mit verschiedenen Datenraten übertragen. Pakete, die über ei
ne Hochgeschwindigkeits-Unterverbindung übertragen werden,
können am Empfänger ankommen, bevor Pakete, die über eine Un
terverbindung mit niedrigerer Geschwindigkeit übertragen wer
den, dort ankommen. Somit ist es möglich, daß der Empfänger
auf Pakete auf der Unterverbindung mit niedrigerer Geschwin
digkeit wartet, da Pakete, die in der Datensequenz später
liegen und auf der schnelleren Unterverbindung übertragen
wurden, schon angekommen sind. Dies ist nicht effizient und
nicht arbeitssparend, da die Empfängereinheit auf ein Paket
auf einer langsameren Unterverbindung warten muß und die Ver
arbeitung von Daten auf der schnelleren Unterverbindung ver
zögert.
Es ist somit wünschenswert, eine neue Technik zu entwickeln,
um Daten von einer einzigen Verbindung auf mehrere parallele
Unterverbindungen auf einem Netz zu verteilen, und um Daten
von mehreren parallelen Unterverbindungen zurück auf die ein
zelne Verbindung aufzusammeln.
In einem Aspekt des vorliegenden Systems wird ein Verfahren
und eine Vorrichtung für das Durchführen einer Datenkommuni
kation auf Paketbasis über einen parallelen Satz von Unter
verbindungen bereitgestellt. Typischerweise wird das Verfah
ren auf einem Prozessor ausgeführt, der mit zwei oder mehr
parallelen Kommunikationsunterverbindungen und einer einzel
nen Unterverbindung verbunden ist. Das Verfahren überträgt
Pakete, die es über die einzelne Unterverbindung empfangen
hat, durch das Verteilen der Pakete über jede Unterverbindung
in einer neuen und effizienten Art. Zu Beginn empfängt das
Verfahren Datenpakete seriell über eine einzelne Kommunikati
onsverbindung. Als nächstes trennt das Verfahren die Unter
verbindungen in einen verfügbaren Satz von Unterverbindungen
und einen belegten Satz von Unterverbindungen. Pakete, die
dann bereit für eine Übertragung sind, werden dann über die
Unterverbindungen im verfügbaren Satz von Unterverbindungen
verteilt.
Bei einem anderen Aspekt der Erfindung wird ein Verfahren für
das Empfangen von Paketen auf mehr als zwei oder auf mehreren
Unterverbindungen bereit gestellt. Das Verfahren empfängt ein
oder mehrere Datenpakete parallel über einen Satz verfügbarer
Unterverbindungen. Unter Verwendung einer Sequenznummer, die
mit dem Kopf jedes Pakets verbunden ist, extrahiert das Ver
fahren das eine oder die mehreren Datenpakete, die parallel
über den Satz von Unterverbindungen empfangen werden, wenn
sie ankommen. Ein Paketfensterpuffer speichert Pakete in se
quentieller Reihenfolge, sogar wenn sie anfänglich nicht in
der Reihenfolge empfangen wurden. Das Verfahren verwendet ein
gleitendes Fenster, um Pakete zu liefern, die eine kontinu
ierliche Reihenfolge aufweisen. Schließlich überträgt das
Verfahren Datenpakete seriell über eine einzige Kommunikati
onsverbindung mit einer Bandbreite, die mindestens größer ist
als die Bandbreite, die auf irgendeiner der Unterverbindungen
im Satz von Unterverbindungen verfügbar ist.
Unter Verwendung der Implementierung der vorliegenden Erfin
dung arbeiten der Sender und die Kommunikationsunterverbin
dungen in einen Netz in arbeitssparender Weise. Das heißt,
der Sender und die Kommunikationsunterverbindungen bleiben
nicht frei, wenn Pakete für eine Übertragung verfügbar sind.
Auf Kosten der möglichen Aufzeichnung von Paketen beim Emp
fänger verwendet diese Konfiguration den Sender und die Kom
munikationsunterverbindungen in einer effizienten Art.
Die begleitenden Zeichnungen, die in die Beschreibung einge
fügt sind und einen Teil von ihr bilden, zeigen eine Ausfüh
rungsform der Erfindung und dienen zusammen mit der Beschrei
bung zur Erläuterung der Prinzipien der Erfindung.
Fig. 1 zeigt ein Computernetz, in welchem eine Ausführungs
form der vorliegenden Erfindung implementiert werden kann;
Fig. 2 ist ein Blockdiagramm einer beispielhaften Netzver
bindungsvorrichtung, die so gestaltet ist, daß sie konsistent
zur vorliegenden Erfindung ist;
Fig. 3 ist ein Blockdiagramm, das eine Paket-um-Paket-Ver
teil-Einheit gemäß der vorliegenden Erfindung zeigt;
Fig. 4 ist ein Blockdiagramm, das einen Empfänger mit einer
Paket-um-Paket-Verteil-Einheit zeigt, die gemäß der vorlie
genden Erfindung gestaltet ist;
Fig. 5 ist ein Flußdiagramm, das die Schritte für das Über
tragen der Daten unter Verwendung eines Paket-um-Paket-Ver
teilverfahrens gemäß einer Ausführungsform der vorliegenden
Erfindung zeigt;
Fig. 6 ist ein Flußdiagramm, das die Schritte angibt, die
mit dem Verteilen der Datenpakete über parallele Unterverbin
dungen gemäß einer Ausführungsform der vorliegenden Erfindung
verbunden sind;
Fig. 7 ist ein Flußdiagramm, das die Schritte zeigt, die mit
dem Empfangen der Pakete über mehrere parallele Verbindungen
verbunden sind; und
Fig. 8 ist ein Blockdiagramm, das die Beziehung zwischen ei
nem Fensterpaketpuffer und einem gleitenden Fenster auf einer
Empfängereinheit zeigt.
Systeme und Verfahren gemäß der vorliegenden Erfindung können
verwendet werden, um Datenpakete über parallele Unterverbin
dungen in einem lokalen Netz (LAN) oder einem Weitverkehrs
netz (WAN) zu verteilen. Ein Sender verteilt Pakete über meh
rere Unterverbindungen, wenn die Unterverbindungen verfügbar
werden. Dies sorgt dafür, daß der Sender und die Unterverbin
dungen beschäftigt bleiben, und keine Zeit bleibt, in der sie
frei bleiben. Ein Empfänger verwendet eine Paketsequenz, die
innerhalb jedes Pakets gespeichert ist, um die Pakete, die in
einem Paketfensterpuffer empfangen werden, aufzuzeichnen. Ein
gleitendes Fenster zusammen mit einer kontinuierlichen Se
quenz von Paketen im Paketfensterpuffer extrahiert die Pakete
in der Sequenz.
Ein System, das gemäß der vorliegenden Erfindung gestaltet
ist, überträgt Pakete über eine optische Faser oder ein ande
res Übertragungsmedium, wobei sie von einem oder mehreren
Taktgebern synchronisiert sind. Weiterhin umfaßt das System
mehrere parallele Verbindungen, die auf derselben Bandbreite
oder Mehrfachen derselben Bandbreite, wie OC-1 (51,85 Mbps),
arbeiten. Beispielsweise kann ein SONET System, das WDM (ein
Wellenlängenmultiplexverfahren) verwendet, eine einzige opti
sche Faser verwenden, um mehrere Unterverbindungen zu errich
ten. Diese mehreren Unterverbindungen werden über eine ein
zelne Faser unter Verwendung mehrerer Laservorrichtung, die
Information über verschiedene vorbestimmte Wellenlängen über
tragen, errichtet. Jede Unterverbindung empfängt ein Taktsi
gnal, das durch mehrere hoch genaue synchronisierte Taktgeber
an verschiedenen Punkten des Netzes erzeugt wird. Diese Takt
geber können Taktgeber auf Atombasis sein, oder sie können
Taktgeber sein, die über die Global Positioning Satellites
(GPS) synchronisiert werden, wie das aus dem Stand der Tech
nik wohl bekannt ist. Diese eng synchronisierten Taktgeber
verhindern eine Drift des Taktes, die auftreten kann, wenn
Daten über die großen Distanzen, die durch das Netz aufge
spannt werden, übertragen werden.
Fig. 1 zeigt ein Computernetz, in welchem eine Ausführungs
form der vorliegenden Erfindung implementiert werden kann.
Das beispielhafte Computernetz in Fig. 1 soll nur beschrei
bend sein, und obwohl die Beschreibung auf Bezeichnungen Be
zug nehmen mag, die gemeinhin bei der Beschreibung von spezi
ellen Computersystemen, wie einem IBM kompatiblen Computer,
einem Arbeitsplatzrechner oder einem Macintosh-Computer ver
wendet werden, so können die Beschreibung und die Konzepte
ebenso auf andere Computersysteme, Netzvorrichtungen und
Netzverbindungsvorrichtungen, wie Router, Schalter und Netz
knoten angewandt werden.
Das Computernetz 100 in Fig. 1 umfaßt das lokale Netz (LAN)
101, die Datenautobahn oder das Weitverkehrsnetz (WAN) 118,
und das lokale Netz (LAN) 134. Das LAN 101 umfaßt eine Serie
von Arbeitsplatzrechnern und Server-Computer 102, 104, 106
und 108. Diese Computersysteme 102-108 werden mit dem Netz
verbunden, um Information zu teilen, Daten zu übertragen und
möglicherweise Rechnungskapazitäten zu teilen. Das LAN 101
ist mit dem größeren Gesamtnetz unter Verwendung einer Netz
verbindungsvorrichtung 110 verbunden. Der spezielle Typ einer
Netzverbindungsvorrichtung kann in Abhängigkeit von der spe
ziellen Netzkonfiguration ein Router, eine Vermittlungsstelle
oder ein Netzknoten sein. Üblicherweise umfaßt die Netzver
bindungsvorrichtung 110 Router, Vermittlungsstellen oder
Netzknoten oder andere Typen von Netzverbindungsvorrichtun
gen, die fähig sind, das LAN 101 und das WAN 118 zusammen zu
fügen. Die Implementierungen der vorliegenden Erfindung kön
nen physisch in eine Netzverbindungsvorrichtung 110, einen
Konzentrator 114 oder irgend eine andere Vorrichtung, die mit
dem Computernetz 100 verbunden ist, eingebettet sein.
In einer Konfiguration ist die Netzverbindungsvorrichtung 110
mit einem Add-Drop-Multiplexer 112 (ADM) und einem ersten
Konzentrator 114 verbunden. Der ADM 112 gestattet es Netzver
bindungen wie E-1, Sprache und T-3 mit der Netzverbindungs
vorrichtung 110 und dem ersten Konzentrator 114 zu verbinden.
Der erste Konzentrator 114 kann Information bis zu OC-192
oder 10 Gbps pro Sekunde über vier OC-48 Unterverbindungen,
die in einen WDM-Sender 116 hineingehen, übertragen. Ein Sy
stem, das mit diesen Hochgeschwindigkeitseigenschaften ge
staltet ist, ist insbesondere bei Videokonferenzen, interak
tiven Spielen oder anderen auf dem Netz basierenden Anwendun
gen mit hoher Bandbreite und geringer Latenz nützlich.
Der Konzentrator 114 verwendet eine Paket-um-Paket-Verteilung
(PBP), die gemäß der vorliegenden Erfindung gestaltet wurde,
um die verfügbare Bandbreite in den parallelen Unterverbin
dungen, die man typischerweise in Netzen findet, die WDM
(Wellenlängenmultiplexverfahren) und SONET verwenden, zu nut
zen. Wie in Fig. 1 dargestellt ist, empfängt der WDM-Sender
116 Signale über vier Unterverbindungen, die durch den Kon
zentrator 114 geliefert werden. Der WDM-Sender 116 übersetzt
die Signale, die über diese vier Unterverbindungen übertragen
wurden, in entsprechende optische Signale und sendet sie über
ein optisches Fasernetz innerhalb eines WAN 118. Beispiels
weise kann der erste Konzentrator 114 eine digitale Hochge
schwindigkeitsübertragung, die mit OC-192 oder 10 Gbps pro
Sekunde empfangen wurde, unter Verwendung des PBP-Vertei
lungsverfahrens der vorliegenden Erfindung über 4 OC-48 Un
terverbindungen verteilen. Der WDM-Sender 116 wandelt diese
Signale, die über die vier OC-48 Unterverbindungen übertragen
wurden, in optische Signale, die für eine Übertragung über
das WAN 118 geeignet sind.
Am Empfangsende empfängt ein WDM-Empfänger 120 Signale über
eine einzelne Verbindung, die mit dem WAN 118 verbunden ist.
Der WDM-Empfänger 120 verteilt Signale, die durch den WDM-
Empfänger 120 empfangen werden, über parallele Unterverbin
dungen, die mit einem zweiten Konzentrator 122 verbunden
sind, der ebenfalls die Fähigkeit eines PBP-Verteilverfahrens
gemäß der vorliegenden Erfindung aufweist. Der zweite Konzen
trator 122 demultiplext die Information, die über die paral
lelen Unterbindungen übertragen wurde, die durch den WDM-Emp
fänger 120 geliefert wird. Diese Information wird verarbeitet
und in eine einzelne Hochgeschwindigkeits-OC-192-Kommunikati
onsverbindung zusammengefügt und zu einer Hochgeschwindig
keitsnetzverbindungsvorrichtung 124 übertragen. In einer Aus
führungsform wird die Netzverbindungsvorrichtung 124 direkt
mit dem LAN 134 verbunden. Das LAN 134 liefert wiederum Hoch
geschwindigkeitsübertragseigenschaften für die Computersyste
me 126, 128, 130 und 132.
Betrachtet man nun Fig. 2, so wird dort eine beispielhafte
Netzverbindungsvorrichtung 200, die gemäß der vorliegenden
Erfindung gestaltet ist, dargestellt. Fachleute auf dem Ge
biet der Gestaltung und der Konstruktion der Netzvorrichtun
gen werden anhand der Figuren und der nachfolgenden Diskus
sion verstehen, wie sie ein PBP-Verteilungs-Untersystem, das
gemäß der vorliegenden Erfindung gestaltet ist, zusammen mit
existierenden Verbindungsvorrichtungen integrieren.
Die Netzverbindungsvorrichtung 200 in Fig. 2 umfaßt eine PB-
P-Verteilungseinheit 204, die wirksam mit parallelen Unter
verbindungen 202 verbunden ist. In einer Ausführungsform wer
den parallele Unterverbindungen 202 verwendet, von denen jede
eine Bandbreite von M aufweist, wobei die zusammengesetzte
Bandbreite ungefähr Mmal der Zahl der parallelen Unterver
bindungen entspricht. Die PBP-Verteilungseinheit 204 ist auch
mit einer Verbindungslogikeinheit 206 verbunden, um weiter
Daten zu verarbeiten, die über parallele Unterverbindungen
202 geliefert werden. Die Verbindungslogikeinheit 206 umfaßt
die Schaltung und die Logik, die notwendig sind für den ent
sprechenden Typ der Netzverbindungsvorrichtungen, die in der
Netzkonfiguration verwendet werden. Beispielsweise kann die
Verbindungslogikeinheit 206 eine Logik einschließen, die ei
ner Verkehrslenkungsvorrichtung, einer Vermittlungsvorrich
tung oder einer intelligenten Knotenvorrichtung entspricht.
Die Verbindungslogikeinheit 206 kann aus feldprogrammierbaren
Gatteranordnungen (FPGA) oder aus anwendungspezifischen inte
grierten Schaltungen (ASICs) konstruiert sein. Wie in Fig. 2
gezeigt ist, ist die Verbindungsrückebene 210 direkt mit der
Verbindungslogik 206 verbunden. Computer und andere Vorrich
tungen stellen mit dem Netz durch die Verbindungsrückebene
210 eine Verbindung her. Beispielsweise kann die Verbindungs
rückebene 210 eine einzlne Kommunikationsverbindung sein, die
SONET, Ethernet, Token-Ring, SDLC, HPPI oder andere Netzpro
tokolle verwendet.
Für das Speichern von Information ist eine Verbindungsspei
chereinheit 208 mit der Verbindungslogikeinheit 206 verbun
den. Die Verbindungsspeichereinheit 208 speichert Information
bezüglich der Verarbeitung der Daten, die über das Netz über
tragen werden. Die Verbindungsspeichereinheit 208 kann aus
einem Speicher mit wahlfreiem Zugriff (RAN) oder aus anderen
Typen von Hochgeschwindigkeitsspeichervorrichtungen bestehen.
Fachleute werden verstehen, daß viele verschiedene Typen von
Netzverbindungsvorrichtungen, die die PBP-Verteilungseinheit
verwenden, entwickelt werden können.
Fig. 3 umfaßt ein Blockdiagramm eines Senders mit einer PBP-
Verteilungseinheit 204, die gemäß der vorliegenden Erfindung
gestaltet ist. Der Sender 310 der PBP-Verteilungseinheit 204
umfaßt eine Taktschaltung 300, die mit einer Paket-Vertei
lungslogik 302 und einem Paketpuffer 308 verbunden ist. Die
Taktschaltung 300 ist auch mit einem Satz belegter Unterver
bindungen 304 und einem Satz verfügbarer Unterverbindungen
306 verbunden. Belegte Unterverbindungen 304 umfassen solche
parallele Verbindungen, die damit beschäftigt sind, Informa
tion zu übertragen, die initialisiert werden, oder die aus
anderen Gründen nicht länger im Betrieb sind. Diese belegten
Unterverbindungen 304 können vorübergehen oder permanent
nicht verfügbar sein. Im Gegensatz dazu sind verfügbare Un
terverbindungen 306 initialisiert und verfügbar für das Über
tragen von Daten über das Netz.
Im Betrieb sammelt die Verbindungsrückebene 210 Hochgeschwin
digkeitsdaten und speichert Information im Paketpuffer 308.
Der Sender 310 extrahiert Information vom Paketpuffer 308 und
sendet Information über eine der parallelen Unterbindungen.
Der Sender 310 prüft verfügbare Unterverbindungen 306 und be
stimmt, welche Unterverbindungen für die Übertragung verwen
det werden sollen. Verfügbare Unterverbindungen 306 werden in
Software dargestellt, oder können verfolgt werden, in dem die
Information direkt in Hardware, wie einem Cache oder einem
Speicher gespeichert wird.
Der Sender 310 kann Information übertragen, wenn die verfüg
baren Unterverbindungen 306 anzeigen, daß eine Unterverbin
dung verfügbar ist. Wenn eine Unterverbindung nicht verfügbar
ist, so blockiert der Sender 310 oder er wartet, bis eine Un
terverbindung verfügbar wird. Solche Unterverbindungen, die
in Benutzung sind, oder die vorübergehend nicht verfügbar
sind, sind mit belegten Unterverbindungen 304 verbunden. Um
Datenübertragungen zu gestatten, synchronisiert die Takt
schaltung 300 den Sender 310 mit dem Empfänger.
Betrachtet man Fig. 4, so zeigt ein Blockdiagramm einen Emp
fänger 410, der mit der PBP-Verteilungseinheit 204 der vor
liegenden Erfindung verbunden ist. Die Merkmale, die in Fig.
4 dargestellt sind, wurden eingeschlossen, um Untersysteme,
die mit dem Empfänger 410 verbunden sind, zu verstärken. Dies
Darstellung in Fig. 4 schließt jedoch das Hinzufügen zusätz
licher Untersysteme, logischer Elemente oder Schaltungen
nicht aus, wenn ein Fachmann diese in seiner Implementierung
und Gestaltung für notwendig befindet. Der Empfänger 410 um
faßt eine Taktschaltung 400, die mit einer Paketverteilungs
logik 402 und einem Paket-Fensterpuffer 406 verbunden ist.
Die Taktschaltung 400 ist auch mit einem Unterverbindungssatz
404 verbunden, der entsprechende Unterverbindungspuffer um
faßt.
Im Betrieb umfaßt der Unterverbindungssatz 404 Unterverbin
dungen, die auf verschiedenen Bandbreiten arbeiten. Diese Un
terverbindungen können auch Datenpakete variabler Größe be
fördern. Somit können Pakete, die über jede parallele Verbin
dung übertragen werden, zu verschiedenen Intervallen ankom
men. Die Paketverteilungslogik 402 detektiert, wann die Pake
te über jede Unterverbindung ankommen, und sie verarbeitet
die Pakete, wenn sie ankommen. Die Paketverteilungslogik 402
liest Kopfinformation aus jedem Paket, die die Paketsequenz
anzeigt. Diese Paketsequenz bestimmt, wo das Paket im Paket
fensterpuffer 406 eingeschoben werden soll. Die Paketvertei
lungslogik 402 bestimmt auch, wenn sequentielle Pakete im Pa
ketfensterpuffer 406 angekommen sind, und befördert sie zum
Paketpuffer 408.
Ein gleitendes Fenster 403, das mit dem Paketfensterpuffer
406 verbunden ist, wird verwendet, um einen Satz von Paketen
für die Übertragung zur Hochgeschwindigkeitsrückebene, die
mit dem Paketpuffer 408 verbunden ist, zu ordnen. Das glei
tende Fenster 403 kann sowohl in Hardware als auch in Soft
ware unter Verwendung einer Anordnung von Speicherelementen
implementiert werden. Wie in Fig. 4 gezeigt ist, entspricht
die am weitesten rechts liegende Kante des gleitenden Fen
sters 403 dem nächsten sequentiellen Paket, das zu verarbei
ten ist, während die am weitesten links liegende Kante des
gleitenden Fenster 403 dem letzten freigegebenen Paket im Pa
ketfensterpuffer 406 entspricht. Pakete, die mit der am wei
testen recht liegenden Kante des gleitenden Fensters 403 ver
bunden sind, haben eine logisch niedrigere Adreßfrequenz als
Pakete, die mit der am weitesten links liegenden Kante des
gleitenden Fensters verbunden sind. Insgesamt entspricht die
Größe des gleitenden Fenster 403 der maximalen Zahl von Pake
ten, die man parallel während eines vorgegebenen Zeitinter
valls empfangen kann.
Um die Pakete wieder zu ordnen, prüft der Empfänger 410 die
Sequenznummer, die mit jedem empfangenen Paket verbunden ist,
und plaziert es im passenden Adreßraum innerhalb des gleiten
den Fensters 403. Wenn sich ein Paket beim am weitesten
rechts liegenden Teil des gleitenden Fensters 403 befindet,
so wird das Paket zum Paketpuffer 408 und zur Verbindungs
rückebene 210 gesandt. Das nächste Paket wird durch das Ver
schieben des gleitenden Fensters 403 um einen Paketpuffer
nach links verfügbar gemacht. Der Empfänger 410 setzt die
Verarbeitung der Pakete auf diese Art fort, bis der am weite
sten rechts liegende Teil des gleitenden Fenster 403 auf ein
Paket stößt, das nicht der Sequenz entspricht, oder auf kein
Paket. Wenn dies auftritt, so macht der Empfänger 410 für ein
vorbestimmtes Zeitintervall eine Pause, und wartet, bis das
nächste Intervall in der Sequenz ankommt. Wenn das Paket
nicht ankommt, und das Zeitintervall vergeht, so führt der
Empfänger 410 das gleitende Fenster 403 nach vorne und über
läßt die erneute Übertragung des Pakets und die Fehlersteue
rung den oberen Schichten des Netzes. Information über das
gleitende Fenster kann man in der Veröffentlichung "Computer
Networks" von Andrew S. Tanenbaum, Prentice Hall Press, 2.
Auflage 1988, Seiten 223-239, finden, die hiermit durch Be
zugnahme aufgenommen wird. Details des Betriebes des Senders
310, des Empfänger 410 und des gleitenden Fensters 403, die
mit der PBP-Verteilungseinheit 204 verbunden sind, werden
weiter unten im Detail diskutiert.
Fig. 5 ist ein Flußdiagramm, das die Schritte für das Über
tragen von Daten unter Verwendung der Paket-um-Paket-Vertei
lungstechnik, die gemäß der vorliegenden Erfindung implemen
tiert ist, zeigt. Fachleute werden verstehen, daß die Schrit
te, die in Fig. 5 gezeigt sind, nur ein Verfahren für die
Verwendung der oben diskutierten Kommunikationsarchitektur
darstellen.
Zu Beginn empfängt der Paketpuffer 308 ein oder mehrere Pake
te von einer Hochgeschwindigkeits-Kommunikationsverbindung
(Schritt 502). Als nächstes werden Unterverbindungen in einen
Satz belegter Unterverbindungen und einen Satz verfügbarer
Unterverbindungen getrennt (Schritt 504). Das Verfolgen der
belegten Verbindungen und der verfügbaren Verbindungen kann
unter Verwendung einer Bitmap oder einer anderen Hardware
oder mit Hilfe von Software erfolgen. Alternativ können genau
so gut Hardware-Implementierungen für das Verfolgen der be
legten Verbindungen und der verfügbaren Verbindungen verwen
det werden. Unabhängig von der Implementierung kann diese In
formation parallel verarbeitet werden, um die Leistung zu
verbessern.
Wenn die Unterverbindungen in einen Satz belegter Unterver
bindungen und einen Satz verfügbarer Unterverbindungen ge
trennt wurden, so verteilt der Sender 310 Pakete aus Bytes
über die Unterverbindungen im Satz der verfügbaren Unterver
bindungen (Schritt 506). Detaillierte Schritte, die das Ver
teilen von Datenpaketen über die verschiedenen Unterverbin
dungen in Schritt 506 betreffen, sind in Fig. 6 dargestellt
und werden unten weiter detaillierter diskutiert. Verfügbare
Unterverbindungen werden verwendet, um Pakete parallel zu ei
ner Empfängereinheit zu übertragen (Schritt 508).
Betrachtet man Fig. 6, so zeigt ein Flußdiagramm die Schrit
te, die mit dem Verteilen von Datenpaketen über parallele Un
terverbindungen gemäß der vorliegenden Erfindung verbunden
sind. Diese Schritte entsprechen dem Schritt 506 in Fig. 5.
Zu Beginn schiebt ein Sender eine Paketsequenznummer in einen
Kopf, der dem jeweiligen Paket entspricht, das parallel über
die Unterverbindungen übertragen werden soll, ein (Schritt
602). Diese Paketsequenznummern werden verwendet, um Pakete
zu unterscheiden, wenn sie im gleitenden Fenster 403 gespei
chert werden, und sie können später mit anderen Paketen bei
der Übertragung verwendet werden. Da die Sequenz der Nummern
beschränkt ist, wird der zusätzliche Speicher, der notwendig
ist, um die Sequenznummern in jedem Paket zu speichern, ent
sprechend minimiert.
Der Sender bestimmt, ob es Unterverbindungen gibt, die für
das Übertragen jedes Pakets, das eine Sequenznummer aufweist,
verfügbar sind (Schritt 604). Wenn keine Unterverbindungen
verfügbar sind, so verzögert der Sender das Sendeverfahren,
bis im Satz der verfügbaren Unterverbindungen eine Unterver
bindung verfügbar wird (Schritt 606). Alternativ wählt, wenn
bestimmt wird, daß eine Unterverbindung verfügbar ist
(Schritt 604), der Sender eine Unterverbindung aus dem Vorrat
verfügbarer Unterverbindungen aus (Schritt 608). Als nächstes
plaziert der Sender das Paket oder die Pakete auf der einen
Unterverbindung oder den mehreren Unterverbindungen (Schritt.
610). Mehrere Pakete können über eine Unterverbindung über
tragen werden, wenn die Unterverbindung die Kapazität auf
weist. Der Sender kann auch den Unterverbindungsstatus än
dern. Wenn die Unterverbindung nicht zusätzliche Pakete über
tragen kann, so wird sie aus dem Satz verfügbarer Unterver
bindungen herausgenommen und vorübergehend im Satz belegter
Unterverbindungen plaziert. Umgekehrt kann, wenn eine Unter
verbindung zusätzliche Bandbreite aufweist, um mehr Pakete zu
übertragen, die Unterverbindung aus dem Satz belegter Unter
verbindungen herausgenommen werden und im Satz verfügbarer
Unterverbindungen plaziert werden.
Fig. 7 ist ein Flußdiagramm der Schritte, die mit dem emp
fangenen Paketen, die parallel über mehrere Unterverbindungen
übertragen werden, verbunden ist. Zu Beginn empfängt der Emp
fänger 410 ein oder mehrere Pakete über die parallelen Unter
verbindungen (Schritt 702). Diese Pakete werden in Unterver
bindungspuffern innerhalb des Satzes 404 von Unterverbindun
gen empfangen und gespeichert. Als nächstes aktualisiert der
Empfänger 410 den Paketfensterpuffer 406 gemäß einer Paketse
quenznummer (Schritt 708). Der Empfänger öffnet jeden Paket
kopf, um die Paketsequenznummer zu bestimmen. Diese Pakete
werden in einen Fensterpaketpuffer 406 gemäß ihrer Sequenz
eingeschoben. Wenn einige Pakete außerhalb der Reihenfolge
empfangen werden, werden Pakete in den Paketfensterpuffer 406
mit Lücken in den Einträgen eingeschoben.
Der Bereich der Paketsequenznummern und die Größe des Paket
fensterpuffers 406 hängt von verschiedenen Parametern ab, die
mit dem Kommunikationssystem verbunden sind. Beispielsweise
muß die Paketfensterpuffergröße groß genug sein, um eine ma
ximale Zahl von Paketen aufzunehmen, die über die parallelen
Verbindungen in einem speziellen Zeitintervall übertragen
werden können. Dieses spezielle Zeitintervall könnte der Zeit
entsprechen, die benötigt würde, um ein Paket mittlerer Größe
über die langsamste Verbindung der parallelen Verbindungen zu
übertragen.
Der Empfänger 410 bestimmt, ob ein Paket an der rechten Kante
des gleitenden Fensters 403 verfügbar ist (Schritt 706). Um
dies zu tun, rahmt das gleitende Fenster 403 einen Unterbe
reich von Schlitzen innerhalb des Paketfensterpuffers 406
ein, von dem es wahrscheinlich ist, daß er eine Sequenz von
Paketen enthält. Details bezüglich des Auswählens der Größe
des gleitenden Fensters 403 hängen von der Zahl der Kommuni
kationsparameter ab, und werden unten detaillierter disku
tiert.
Wenn eine Bestimmung anzeigt, daß ein Paket aktuell an der
rechten Kante des gleitenden Fensters verfügbar ist, so über
trägt der Empfänger 410 das an der am weitesten rechts lie
genden Kante des Fensters verfügbare Paket in den Paketpuffer
408 (Schritt 710). Als nächstes führt der Empfänger 410 das
gleitende Fenster 403 nach vorne und versucht das nächste Pa
ket, das in der Sequenz verfügbar ist, zu übertragen (Schritt
712). Eine Verarbeitungsverzögerung im Empfänger kann auftau
chen, wenn der Empfänger nicht das nächste Paket der Sequenz
empfangen hat. Viele Pakete können in Sequenz übertragen wer
den, wenn die Schritte, die oben in den Schritten 706, 710
und 712 diskutiert wurden, wiederholt werden. Alternativ ver
zögert, wenn das nächste Paket in der Sequenz an der rechten
Kante des gleitenden Fensters 403 nicht verfügbar ist, der
Sender um eine vorbestimmte Zeitdauer (Schritt 708). Diese
Verzögerung verzögert nicht die Datenübertragung, da Pakete
im Puffer, wie dem Paketfensterpuffer 406 gespeichert sind.
Durch die Pufferung der Pakete begrenzt der Empfänger 410
nicht die Übertragung der Pakete, sogar wenn sie nicht in der
Reihenfolge empfangen werden. Wenn die vorbestimmte Zeitdauer
abläuft, oder ein Paket ankommt, so bestimmt der Empfänger
410 wieder, ob ein Paket an der rechten Kante des gleitenden
Fensters 403 verfügbar ist (Schritt 709). Wenn ein Paket ver
fügbar ist, so überträgt der Empfänger 410 ein Paket an der
rechten Kante des gleitenden Fensters 403 zum Paketpuffer 408
(Schritt 710). Wenn kein Paket verfügbar ist, so führt der
Empfänger 410 das gleitende Fenster 403 nach vorne (Schritt
712) und setzt die Verarbeitung der anderen Pakete fort. Der
Empfänger überläßt das Behandeln von Fehlern und die erneute
Übertragung von Paketen den höheren Schichten der Kommunika
tion.
Betrachtet man Fig. 8, so stellt sie ein Blockdiagramm dar,
das die Beziehung zwischen einem Paketfensterpuffer 802 und
dem gleitenden Fenster 804 in einem Empfänger zeigt. In die
sem Beispiel umfaßt der Paketfensterpuffer 802 10 Schlitze,
die von 0-9 numeriert sind, für das Speichern der Pakete.
Die Schlitze 2-3 und 5-6 enthalten noch keine Pakete. Die
Pakete, die zu diesen Schlitzen gehören, können im Netz un
terwegs sein oder sie können während der Übertragung verloren
gegangen sein.
Das gleitende Fenster 804 zeigt an, daß die Schlitze 7-9 im
Paketfensterpuffer 802 eine kontinuierliche Sequenz von Pake
ten aufweisen. Das Paket am am weitesten rechts liegenden Ab
schnitt des gleitenden Fensters 804 (das ist das Paket in
Schlitz 9) kann über eine einzelne Verbindung, die mit dem
Empfänger verbunden ist, übertragen werden. Wenn mehrere Pa
kete ankommen, so bewegt sich das gleitende Fenster 804 nach
links auf die neu angekommenen Pakete im Fensterpaketpuffer
802 zu. Wenn die Größe des gleitenden Fensters genau einge
stellt wird, befinden sich die Pakete, die durch das glei
tende Fenster 804 abgedeckt werden, in einer Sequenz und sind
bereit für die Übertragung. Wenn das gleitende Fenster 804
auf einen Schlitz im Paketfensterspeicher 802 stößt, der kein
Paket aufweist, wie der Schlitz 6, so hört das gleitende Fen
ster 804 für ein vorbestimmtes Zeitintervall oder bis das Pa
ket außerhalb der Reihenfolge angekommen ist, auf, weiter
nach vorne zu gehen.
Die Größe des gleitenden Fenster 804 wird auf der Basis von
mindestens zwei unterschiedlichen Maßen bestimmt. Ein erstes
Maß hängt von der Größe der übertragenen Pakete und der Zahl
der im Netz verwendeten Unterverbindungen ab. Diese Beziehung
kann ausgedrückt werden als:
Fenstergröße = (MaxPS/MinPS) × (SC)
wobei:
MaxPS = maximale Paketgröße, die über die parallele Unterver bindungen übertragen wird
MinPS = minimale Paketgröße, die über die parallelen Unter verbindungen übertragen wird
SC = Zahl der Unterverbindungen die parallel verwendet wer den, um Datenpakete zu übertragen.
MaxPS = maximale Paketgröße, die über die parallele Unterver bindungen übertragen wird
MinPS = minimale Paketgröße, die über die parallelen Unter verbindungen übertragen wird
SC = Zahl der Unterverbindungen die parallel verwendet wer den, um Datenpakete zu übertragen.
Es werde beispielsweise angenommen, daß einige Pakete, die
über ein Netzwerk übertragen werden, eine Größe von 64 kb
aufweisen, und andere Pakete, die über das Netz transportiert
werden, nur Pakete mit einer Größe von 64 Byte sind. Weiter
hin wird angenommen, daß das Netz 1000 OC-48c Unterverbindun
gen für eine ungefähre Bandbreite von 2,5 Terrabits/Sekunde
verwendet. Während des Zeitintervalls, das benötigt wird, um
das größte Paket über eine Verbindung zu übertragen, kann ei
ne Vielzahl der kleinsten Pakete über andere parallele Ver
bindungen übertragen werden. In diesem Beispiel können 1000
64 Byte Pakete über ungefähr 1000 parallele Verbindungen in
der Zeitdauer übertragen werden, die benötigt wird, um ein 64
kByte Paket über eine einzige Verbindung zu übertragen. Somit
sollte die Fenstergröße so eingestellt werden, daß sie unge
fähr 1 Million Paketeinträge aufnimmt.
Das zweite Maß, das verwendet wird, um das gleitende Fenster
804 einzustellen, betrifft die maximale Varianz zwischen pa
rallelen Unterverbindungen in einem Netz. Im wesentlichen muß
das gleitende Fenster 804 in seiner Größe vergrößert werden,
um die maximale Varianz in der Verzögerung zwischen Unterver
bindungen aufzunehmen. Beispielsweise würde es bei den 1000
OC-48c Unterverbindungen, die oben diskutiert wurden, nötig
sein, ungefähr 5 Millionen zusätzlicher Paketeinträge für ei
ne Varianz von einer Millisekunde hinzu zu fügen. Somit kön
nen in einer beispielhaften Ausführungsform zusätzliche Pa
keteinträge wesentlich durch die Gestaltung des Transceivers
in der Art, daß er eine maximale Varianz von einige Mikrose
kunden aufweist, vermindert werden.
Die vorangehende Beschreibung einer Implementierung der Er
findung wurde für die Zwecke der Darstellung und Beschreibung
ausgeführt. Sie ist nicht erschöpfend und begrenzt die Erfin
dung nicht auf die beschriebene präzise Form. Modifikationen
und Variationen sind im Licht der obigen Lehren möglich, oder
können sich aus der Umsetzung der Erfindung in die Praxis er
geben. Beispielsweise könnte, obwohl der Sender und der Emp
fänger, die gemäß der vorliegenden Erfindung gestaltet sind,
in getrennten Figuren dargestellt sind, ein Transceiver, der
Formen sowohl vom Sender als auch Empfänger kombiniert, ge
schaffen werden. In einem anderen Beispiel kann das Schätzen
der Größe des gleitenden Fensters auf dem Empfänger durch das
Senden einer passenden Zeit, um das vorherige Paket mit jedem
aktuell übertragenen Paket zu übertragen, verbessert werden.
Alternativ kann die Schätzung der Größe des gleitenden Fen
ster durch das Übertragen der Größe jedes nachfolgenden Pa
kets mit dem aktuell übertragenen Paket, verbessert werden.
Zusätzlich können, neben der Tatsache, daß es den Computern
erlaubt ist, über parallele Kommunikationsverbindungen zu
kommunizieren, ähnliche Konzepte angewandt werden, um es an
deren Vorrichtungen, wie mit dem Netzwerk verbundenen Spei
chervorrichtungen, zu ermöglichen, Datenpakete variabler
Größe über parallele Kommunikationsverbindungen zu übertra
gen. Beispielsweise kann ein Satz von Plattenlaufwerken, der
mit einem Netz durch einen entsprechenden Satz paralleler
Kommunikationsunterverbindungen verbunden ist, Daten parallel
über die Unterverbindungen zu einer Empfängereinheit übertra
gen, die die Daten zu späterer Zeit aufzeichnet. Diese über
trägt Daten parallel und schnell auf Kosten einer zusätzli
chen Verarbeitung, die später an der Empfängereinheit nötig
wird. Weiterhin umfaßt die beschriebene Implementierung Soft
ware, aber die vorliegende Erfindung kann als eine Kombina
tion aus Hardware und Software oder als Hardware allein aus
geführt werden. Darüberhinaus wird der Umfang der Erfindung
breit durch die nachfolgenden Ansprüche und den vollen Umfang
ihrer Äquivalente bestimmt.
Claims (14)
1. Verfahren für das Durchführen von Datenübertragungen auf
Paketbasis, das auf einer Prozessoreinheit ausgeführt wird,
die wirksam mit einer einzelnen Unterverbindung verbunden
ist, um Daten zu empfangen, und mit zwei oder mehr Kommunika
tionsunterverbindungen, um Daten zu übertragen, wobei das
Verfahren die folgenden Schritte umfaßt:
Empfangen von Datenpaketen über die einzelne Unterver bindung;
Trennen der beiden oder mehreren Kommunikationsunterver bindungen in einen belegten Satz von Unterverbindungen und einen verfügbaren Satz von Unterverbindungen; und
Übertragen der Datenpakete, die über die einzelne Unter verbindung empfangen werden, durch das Verteilen des einen oder der mehreren Datenpakete über die Unterverbindungen im Satz der verfügbaren Unterverbindungen.
Empfangen von Datenpaketen über die einzelne Unterver bindung;
Trennen der beiden oder mehreren Kommunikationsunterver bindungen in einen belegten Satz von Unterverbindungen und einen verfügbaren Satz von Unterverbindungen; und
Übertragen der Datenpakete, die über die einzelne Unter verbindung empfangen werden, durch das Verteilen des einen oder der mehreren Datenpakete über die Unterverbindungen im Satz der verfügbaren Unterverbindungen.
2. Verfahren nach Anspruch 1, wobei die Prozessoreinheit eine
anwendungsspezifische integrierte Schaltung (ASIC) ist.
3. Verfahren nach Anspruch 1, wobei die Prozessoreinheit eine
feldprogrammierbare Gatteranordnung (FPGA) ist.
4. Verfahren nach Anspruch 1, wobei der Übertragungsschritt
weiter folgende Schritte umfaßt:
Einschieben einer Paketsequenznummer in einem Kopf, der mit jedem Paket verbunden ist;
Zuordnen eines oder mehrerer Datenpakete zu Unterverbin dungen aus dem Satz verfügbarer Unterverbindungen; und
Synchrones Übertragen des einen Datenpakets oder der mehreren Datenpakete in paralleler Weise über die entspre chenden Unterverbindungen im Satz der verfügbaren Unterver bindungen.
Einschieben einer Paketsequenznummer in einem Kopf, der mit jedem Paket verbunden ist;
Zuordnen eines oder mehrerer Datenpakete zu Unterverbin dungen aus dem Satz verfügbarer Unterverbindungen; und
Synchrones Übertragen des einen Datenpakets oder der mehreren Datenpakete in paralleler Weise über die entspre chenden Unterverbindungen im Satz der verfügbaren Unterver bindungen.
5. Verfahren nach Anspruch 1, wobei der Schritt des Trennens
weiter die folgenden Schritte umfaßt:
Ausbilden einer Verzögerung, bis eine Unterverbindung im Satz verfügbarer Unterverbindungen für das Übertragen von Da tenpaketen verfügbar ist;
Bestimmen, welche Unterverbindungen im Satz der verfüg baren Unterverbindungen für die Übertragung von Datenpaketen verfügbar ist;
Zuordnen einer Unterverbindung zum Satz der verfügbaren Unterverbindungen, wenn eine Unterverbindung für das Übertra gen von Datenpaketen verfügbar ist; und
Zuordnen einer Unterverbindung zum Satz belegter Unter verbindungen, wenn eine Unterverbindung für die Übertragung von Datenpaketen nicht verfügbar ist.
Ausbilden einer Verzögerung, bis eine Unterverbindung im Satz verfügbarer Unterverbindungen für das Übertragen von Da tenpaketen verfügbar ist;
Bestimmen, welche Unterverbindungen im Satz der verfüg baren Unterverbindungen für die Übertragung von Datenpaketen verfügbar ist;
Zuordnen einer Unterverbindung zum Satz der verfügbaren Unterverbindungen, wenn eine Unterverbindung für das Übertra gen von Datenpaketen verfügbar ist; und
Zuordnen einer Unterverbindung zum Satz belegter Unter verbindungen, wenn eine Unterverbindung für die Übertragung von Datenpaketen nicht verfügbar ist.
6. Verfahren für das Verarbeiten von Datenübertragungen auf
Paketbasis, das auf einer Prozessoreinheit ausgeführt wird,
die wirksam mit zwei oder mehr Kommunikationsunterverbindun
gen verbunden ist, um Daten zu empfangen, und mit einer ein
zigen Unterverbindung, um Daten zu übertragen, wobei das Ver
fahren die folgenden Schritte umfaßt:
Bestimmen, welche Unterverbindungen sich in einem ver fügbaren Satz von Unterverbindungen und welche Unterverbin dungen sich in einem belegten Satz von Unterverbindungen be finden;
Empfangen von Datenpaketen über den verfügbaren Satz von Unterverbindungen;
Extrahieren von Datenpaketen, die parallel über die ver fügbaren Unterverbindungen empfangen werden; und
Übertragen der Datenpakete seriell über die einzelne Un terverbindung mit einer Bandbreite, die mindestens größer ist als die Bandbreite, die zu irgendeiner der verfügbaren Unter verbindungen gehört.
Bestimmen, welche Unterverbindungen sich in einem ver fügbaren Satz von Unterverbindungen und welche Unterverbin dungen sich in einem belegten Satz von Unterverbindungen be finden;
Empfangen von Datenpaketen über den verfügbaren Satz von Unterverbindungen;
Extrahieren von Datenpaketen, die parallel über die ver fügbaren Unterverbindungen empfangen werden; und
Übertragen der Datenpakete seriell über die einzelne Un terverbindung mit einer Bandbreite, die mindestens größer ist als die Bandbreite, die zu irgendeiner der verfügbaren Unter verbindungen gehört.
7. Verfahren nach Anspruch 6, wobei der Schritt des Extrahie
rens weiter den Schritt der Sequenzierung der Pakete auf der
Basis einer Paketsequenz, die jedem Datenpaket des einen oder
der mehreren Datenpakete zugehört, umfaßt.
8. Verfahren nach Anspruch 7, wobei der Schritt der Sequen
zierung weiter folgende Schritte umfaßt:
Extrahieren einer Paketsequenz aus jedem Datenpaket; und
Ordnen der Pakete auf der Basis der Paketsequenz in nu merischer Reihenfolge, wobei Lücken in der Sequenz durch Pa kete verursacht werden können, die außerhalb der Reihenfolge ankommen.
Extrahieren einer Paketsequenz aus jedem Datenpaket; und
Ordnen der Pakete auf der Basis der Paketsequenz in nu merischer Reihenfolge, wobei Lücken in der Sequenz durch Pa kete verursacht werden können, die außerhalb der Reihenfolge ankommen.
9. Verfahren nach Anspruch 8, wobei der Schritt des Ordnens
weiter folgende Schritte umfaßt:
Erzeugen eines vorbestimmten Satzes von Paketsequenzen, der dem Bereich der Paketsequenzen in den empfangenen Paketen entspricht;
Verbinden eines gleitenden Fensters mit dem vorbestimm ten Satz von Paketsequenzen; und
Bereitstellen einer Sequenz von Paketen, wenn mindestens ein empfangenes Paket eine Sequenznummer innerhalb des vorbe stimmten Satzes von Paketsequenzen aufweist.
Erzeugen eines vorbestimmten Satzes von Paketsequenzen, der dem Bereich der Paketsequenzen in den empfangenen Paketen entspricht;
Verbinden eines gleitenden Fensters mit dem vorbestimm ten Satz von Paketsequenzen; und
Bereitstellen einer Sequenz von Paketen, wenn mindestens ein empfangenes Paket eine Sequenznummer innerhalb des vorbe stimmten Satzes von Paketsequenzen aufweist.
10. Verfahren nach Anspruch 9, wobei es weiter den Schritt
der Verzögerung um eine vorbestimmte Zeitperiode umfaßt, wenn
kein empfangenes Paket eine Sequenznummer innerhalb der vor
bestimmten Sequenz von Paketen aufweist.
11. Verfahren nach Anspruch 1, wobei es auf einer Datenspei
chervorrichtung ausgeführt wird, die mit dem Netzwerk durch
zwei oder mehr Kommunikationsunterverbindungen verbunden ist.
12. Verfahren nach Anspruch 6, wobei es auf einer Datenspei
chervorrichtung ausgeführt wird, die mit dem Netz durch zwei
oder mehr Kommunikationsunterverbindungen verbunden ist.
13. Vorrichtung für das Ausführen einer Datenübertragung auf
Paketbasis, wobei sie mit einer einzelnen Unterverbindung
verbunden ist, um Daten zu empfangen, und mit zwei oder mehr
Kommunikationsunterverbindungen, um Daten zu übertragen, um
fassend:
eine Vorrichtung für das Empfangen von Datenpaketen über eine einzelne Unterverbindung;
eine Vorrichtung für das Trennen der zwei oder mehr Kom munikationsunterverbindungen in einen belegten Satz von Un terverbindungen und einen verfügbaren Satz von Unterverbin dungen; und
eine Vorrichtung für das Übertragen der Datenpakete, die über die einzelne Unterverbindung empfangen wurden, durch das Verteilen des einen Datenpakets oder der mehreren Datenpakete über die Unterverbindungen im verfügbaren Satz von Unterver bindungen.
eine Vorrichtung für das Empfangen von Datenpaketen über eine einzelne Unterverbindung;
eine Vorrichtung für das Trennen der zwei oder mehr Kom munikationsunterverbindungen in einen belegten Satz von Un terverbindungen und einen verfügbaren Satz von Unterverbin dungen; und
eine Vorrichtung für das Übertragen der Datenpakete, die über die einzelne Unterverbindung empfangen wurden, durch das Verteilen des einen Datenpakets oder der mehreren Datenpakete über die Unterverbindungen im verfügbaren Satz von Unterver bindungen.
14. Vorrichtung für das Durchführen von Datenübertragungen
auf Paketbasis, die mit zwei oder mehr Kommunikationsunterver
bindungen verbunden ist, um Daten zu empfangen, und einer
einzelnen Unterverbindung, um Daten zu übertragen, umfassend:
eine Vorrichtung für die Bestimmung, welche Unterverbin dungen sich im verfügbaren Satz von Unterverbindungen befin den, und welche Unterverbindungen sich im belegten Satz von Unterverbindungen befinden;
eine Vorrichtung für das Empfangen von Datenpaketen über den verfügbaren Satz von Unterverbindungen;
eine Vorrichtung für das Extrahieren von Datenpaketen, die parallel über die verfügbaren Unterverbindungen empfangen werden; und
eine Vorrichtung für das Übertragen von Datenpaketen se riell über die einzelne Unterverbindung mit einer Bandbreite, die mindestens größer als die Bandbreite ist, die irgend eine der verfügbaren Unterverbindungen aufweist.
eine Vorrichtung für die Bestimmung, welche Unterverbin dungen sich im verfügbaren Satz von Unterverbindungen befin den, und welche Unterverbindungen sich im belegten Satz von Unterverbindungen befinden;
eine Vorrichtung für das Empfangen von Datenpaketen über den verfügbaren Satz von Unterverbindungen;
eine Vorrichtung für das Extrahieren von Datenpaketen, die parallel über die verfügbaren Unterverbindungen empfangen werden; und
eine Vorrichtung für das Übertragen von Datenpaketen se riell über die einzelne Unterverbindung mit einer Bandbreite, die mindestens größer als die Bandbreite ist, die irgend eine der verfügbaren Unterverbindungen aufweist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/176,420 | 1998-10-21 | ||
US09/176,420 US6370579B1 (en) | 1998-10-21 | 1998-10-21 | Method and apparatus for striping packets over parallel communication links |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19950822A1 true DE19950822A1 (de) | 2000-04-27 |
DE19950822B4 DE19950822B4 (de) | 2010-07-01 |
Family
ID=22644293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19950822A Expired - Fee Related DE19950822B4 (de) | 1998-10-21 | 1999-10-21 | Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen |
Country Status (4)
Country | Link |
---|---|
US (2) | US6370579B1 (de) |
CA (1) | CA2286994C (de) |
DE (1) | DE19950822B4 (de) |
SE (1) | SE523222C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2285055A1 (de) * | 2001-03-14 | 2011-02-16 | McData Corporation | Verfahren zur Ansammlung mehrerer Links zur Simulierung einer einheitlichen Verbindung |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7369496B1 (en) * | 1998-12-02 | 2008-05-06 | Notel Networks Limited | Flow control of frame based data over a synchronous digital network |
US6335933B1 (en) * | 1999-05-21 | 2002-01-01 | Broadcom Homenetworking, Inc. | Limited automatic repeat request protocol for frame-based communication channels |
US6718139B1 (en) * | 1999-09-13 | 2004-04-06 | Ciena Corporation | Optical fiber ring communication system |
US6687840B1 (en) * | 2000-04-21 | 2004-02-03 | Intel Corporation | Multi-link extensions and bundle skew management |
US6646991B1 (en) * | 1999-12-22 | 2003-11-11 | Intel Corporation | Multi-link extensions and bundle skew management |
JP4294821B2 (ja) * | 2000-01-26 | 2009-07-15 | 株式会社日立製作所 | ネットワーク中継装置 |
IL134743A (en) * | 2000-02-27 | 2004-12-15 | Lightscape Networks Ltd | Method, device and system for delay equalizing in high rate data streams |
JP2004508636A (ja) * | 2000-09-07 | 2004-03-18 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 情報提供システム及びその制御方法 |
US7596139B2 (en) | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US6722968B2 (en) * | 2000-12-28 | 2004-04-20 | Orion International | Conversion attachment for bench grinder tool rest |
US20030074434A1 (en) * | 2001-10-11 | 2003-04-17 | Jason James L. | Determination of message source in network communications |
US7437472B2 (en) * | 2001-11-28 | 2008-10-14 | Interactive Content Engines, Llc. | Interactive broadband server system |
US7644136B2 (en) * | 2001-11-28 | 2010-01-05 | Interactive Content Engines, Llc. | Virtual file system |
US7788396B2 (en) * | 2001-11-28 | 2010-08-31 | Interactive Content Engines, Llc | Synchronized data transfer system |
EP1339198B1 (de) * | 2002-02-22 | 2004-09-08 | Alcatel | Verbesserter Transport des Ethernet-Verkehrs über ein SDH/SONET-Transportnetz |
EP1339183B1 (de) * | 2002-02-22 | 2006-06-14 | Alcatel | Verfahren und System zur Übertragung von Ethernetrahmen in einem SDH/SONET Transportnetz |
EP1339184B1 (de) * | 2002-02-22 | 2004-12-01 | Alcatel | Verfahren und Netzwerkelement zum sicheren Transport von Ethernet-Rahmen über ein SDH/SONET Transport-Netzwerk |
US7649885B1 (en) * | 2002-05-06 | 2010-01-19 | Foundry Networks, Inc. | Network routing system for enhanced efficiency and monitoring capability |
US20120155466A1 (en) | 2002-05-06 | 2012-06-21 | Ian Edward Davis | Method and apparatus for efficiently processing data packets in a computer network |
US7187687B1 (en) | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US6901072B1 (en) | 2003-05-15 | 2005-05-31 | Foundry Networks, Inc. | System and method for high speed packet transmission implementing dual transmit and receive pipelines |
US7619974B2 (en) | 2003-10-31 | 2009-11-17 | Brocade Communication Systems, Inc. | Frame traffic balancing across trunk groups |
US7593336B2 (en) | 2003-10-31 | 2009-09-22 | Brocade Communications Systems, Inc. | Logical ports in trunking |
WO2005079534A2 (en) * | 2004-02-19 | 2005-09-01 | Georgia Tech Research Corporation | Systems and methods for parallel communication |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US7826457B2 (en) * | 2004-05-11 | 2010-11-02 | Broadcom Corp. | Method and system for handling out-of-order segments in a wireless system via direct data placement |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US7978614B2 (en) | 2007-01-11 | 2011-07-12 | Foundry Network, LLC | Techniques for detecting non-receipt of fault detection protocol packets |
US8265056B2 (en) * | 2008-02-19 | 2012-09-11 | Qualcomm Incorporated | Packet decoding for H-ARQ transmission |
JP5419493B2 (ja) * | 2009-03-03 | 2014-02-19 | キヤノン株式会社 | データ処理装置、データ処理装置の制御方法、およびプログラム |
US8599850B2 (en) * | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US8244938B2 (en) | 2010-11-23 | 2012-08-14 | International Business Machines Corporation | Sliding write window mechanism for writing data |
JP5614302B2 (ja) * | 2011-01-20 | 2014-10-29 | 富士通株式会社 | 通信システムおよび通信方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4797879A (en) * | 1987-06-05 | 1989-01-10 | American Telephone And Telegraph Company At&T Bell Laboratories | Packet switched interconnection protocols for a star configured optical lan |
US5170393A (en) * | 1989-05-18 | 1992-12-08 | California Institute Of Technology | Adaptive routing of messages in parallel and distributed processor systems |
US5065396A (en) * | 1990-01-02 | 1991-11-12 | At&T Bell Laboratories | Inverse multiplexer and demultiplexer techniques |
US5608733A (en) * | 1994-11-29 | 1997-03-04 | Valle; Richard | ATM inverse multiplexing |
ZA959722B (en) * | 1994-12-19 | 1996-05-31 | Alcatel Nv | Traffic management and congestion control for packet-based networks |
US5815667A (en) * | 1995-11-28 | 1998-09-29 | Ncr Corporation | Circuits and methods for intelligent acknowledgement based flow control in a processing system network |
US5852655A (en) * | 1996-03-29 | 1998-12-22 | Cisco Systems, Inc. | Communication server apparatus having distributed switching and method |
US6253247B1 (en) * | 1996-11-21 | 2001-06-26 | Ragula Systems | System and method for transmitting a user's data packets concurrently over different telephone lines between two computer networks |
EP0855820A3 (de) | 1996-12-13 | 2003-04-16 | International Business Machines Corporation | Verfahren und System zur Optimierung der Bandbreitebelegung von einer Datenübertragungsleitung in einer Umgebung mit Mehrfachprioritätsdatenverkehr |
US5956341A (en) * | 1996-12-13 | 1999-09-21 | International Business Machines Corporation | Method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment |
US5909594A (en) * | 1997-02-24 | 1999-06-01 | Silicon Graphics, Inc. | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally |
US6094683A (en) * | 1997-08-29 | 2000-07-25 | Intel Corporation | Link bundling in a network |
US6148006A (en) * | 1997-11-12 | 2000-11-14 | Nortel Networks Limited | Communication system architecture, exchange having a plurality of broadband modems and method of supporting broadband operation on a one to one basis |
US6118765A (en) * | 1998-01-13 | 2000-09-12 | Qualcomm Inc. | System method and computer program product for eliminating unnecessary retransmissions |
-
1998
- 1998-10-21 US US09/176,420 patent/US6370579B1/en not_active Expired - Lifetime
-
1999
- 1999-10-20 CA CA002286994A patent/CA2286994C/en not_active Expired - Fee Related
- 1999-10-21 SE SE9903803A patent/SE523222C2/sv not_active IP Right Cessation
- 1999-10-21 DE DE19950822A patent/DE19950822B4/de not_active Expired - Fee Related
-
2002
- 2002-03-12 US US10/096,193 patent/US8732330B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2285055A1 (de) * | 2001-03-14 | 2011-02-16 | McData Corporation | Verfahren zur Ansammlung mehrerer Links zur Simulierung einer einheitlichen Verbindung |
Also Published As
Publication number | Publication date |
---|---|
CA2286994A1 (en) | 2000-04-21 |
US8732330B2 (en) | 2014-05-20 |
CA2286994C (en) | 2009-09-08 |
DE19950822B4 (de) | 2010-07-01 |
US20020161892A1 (en) | 2002-10-31 |
US6370579B1 (en) | 2002-04-09 |
SE9903803D0 (sv) | 1999-10-21 |
SE523222C2 (sv) | 2004-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19950822A1 (de) | Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen | |
DE69827349T2 (de) | Gigabit-Ethernet Schnittstelle für ein synchrones Netz (SONET) | |
DE69936697T2 (de) | Verkettung von Containern in einem SDH-Netzwerk | |
DE69917871T2 (de) | Flusskontrole von rahmenbasierten Daten in einem synchronen digitalen Netz | |
DE60113058T2 (de) | Empfänger korrigiert | |
DE69812777T2 (de) | Verbindung von Ethernetkompatiblen Netzwerken | |
DE19848993B4 (de) | ATM-Kommunikationsnetz, ATM-Kommunikationsschalter und Verfahren zum Lenken eines Stroms von ATM-Zellen | |
DE69925548T2 (de) | Übertragung von rahmenbasierten Daten über ein synchrones hierarchisches digitales Netzwerk | |
DE69924732T2 (de) | Quellknoten fuer ein breitbandnetzwerk mit atm zellen | |
DE60111551T2 (de) | Mechanismus zur vervollständigung von nachrichten im speicher | |
DE69732274T2 (de) | Flusssteuerungsprotokollsystem und verfahren | |
DE69920845T2 (de) | Verfahren und Vorrichtung zur Datenübertragung in synchronen optischen Netzen | |
DE19531749A1 (de) | Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät | |
DE60119068T2 (de) | Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit | |
DE60222656T2 (de) | Vorrichtung und verfahren für effizientes multicasting von datenpaketen | |
EP0902600B1 (de) | Verfahren zum Einrichten von logischen Verbindungen in einem synchronen digitalen Nachrichtenübertragungsnetz, Netzelement und Managementsystem | |
DE112004000901T5 (de) | Optisches Burst-vermitteltes Netzsystem und Verfahren mit fälligkeitsnaher Signalisierung | |
DE102004015612A1 (de) | Testen von Netzkommunikation | |
DE112005003224T5 (de) | Techniken zum Übertragen und Empfangen von Datenverkehr über Advanced Switching kompatible Schaltstrukturen | |
DE60008734T2 (de) | Verfahren und Knoten zur Leitweglenkung von Hochgeschwindigkeitsrahmen in einem maschenartigen Netzwerk sowie zugehörige Sende-Endstation | |
DE60125611T2 (de) | Verfahren und Vorrichtung zur Kommunikation zwischen einem ersten und einem zweiten Netz | |
DE60118385T2 (de) | Verfahren und vorrichtung zur übertragung von paketen in einem speicher | |
DE3823878A1 (de) | Koppelfeld fuer ein vermittlungssystem | |
DE69937201T2 (de) | Kommunikationssystem und zugehörige ausrichtungsverfahren | |
DE60133330T2 (de) | 10 Gigabit Ethernet-Darstellung für eine gemeinsamen LAN/WAN PMD Schnitstelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: GENUITY INC., WILMINGTON, DEL., US GTE SERVICE COR |
|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: BBN TECHNOLOGIES CORP. ( N.D. GES. D. STAATES , US Owner name: VERIZON CORPORATE SERVICES GROUP INC., NEW YOR, US Owner name: LEVEL 3 COMMUNICATIONS,LLC (N. D. GES.D. STAAT, US |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012707000 |