DE69130187T2 - Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern - Google Patents
Hochgeschwindigkeitsübertragungsprotokoll mit zwei FensternInfo
- Publication number
- DE69130187T2 DE69130187T2 DE69130187T DE69130187T DE69130187T2 DE 69130187 T2 DE69130187 T2 DE 69130187T2 DE 69130187 T DE69130187 T DE 69130187T DE 69130187 T DE69130187 T DE 69130187T DE 69130187 T2 DE69130187 T2 DE 69130187T2
- Authority
- DE
- Germany
- Prior art keywords
- receiver
- blocks
- window
- transmitter
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims description 26
- 238000000034 method Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 26
- 230000006872 improvement Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical group [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/267—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by the destination endpoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
- Die Erfindung bezieht sich auf Übertragungsprotokolle und insbesondere auf Übertragungsprotokolle in einem Kommunikationssystem zur Übertragung von Paketen.
- Fortschritte in der Datenübertragung und Vermittlungstechnik im letzten Jahrzehnt versprechen eine Entwicklung von Kommunikationssystemen mit Bandbreiten und Vermittlungsgeschwindigkeiten, die um eine Größenordnung höher sind als bei gegenwärtigen Systemen. Beispielsweise erlauben optische Fasern Übertragungen von mehreren zehn Gigabits pro Sekunde über mehrere Kilometer ohne Verstärker. Vermittlungseinrichtungen, die Bitströme von einigen hundert Megabits pro Sekunde schalten können, sind schon als Prototypen vorhanden. Jedoch sind die Früchte dieser Anstrengungen bisher nicht in der Bereitstellung einer hohen Bandbreite für Anwendungen innerhalb eines Betriebssystems realisiert worden. Idealerweise sollte jeder Einzelnutzer, der an einem Paketnetzwerk angeschlossen ist, mit der höchsten Bandbreite des Kanals senden können, wenn der Zugang erreicht ist. In der Praxis jedoch ist der erreichbare End-zu-End-Durchsatz nur ein kleiner Bruchteil der Übertragungsbandbreite, insbesondere bei hohen Geschwindigkeiten. Diese Begrenzung des Datendurchsatzes rührt von einer Vielzahl von Faktoren her, einschließlich des Abarbeitens des Protokolls in den Schichten des Netzwerkes, einer Überfüllung des Puffers und Datenflußsteuermechanismen.
- Zusätzlich zur Bandbreite müssen in einem Netzwerk auch Signalausbreitungsverzögerungen oder Wartezeiten berücksichtigt werden. Beispielsweise benötigt ein Signal zirka 60 Millisekunden, um jeweils von einem Sender in New York zu einem Empfänger in Kalifornien und danach vom Empfänger in Kalifornien zum Sender in New York zu gelangen. Diese Umlauf-Ausbreitungsverzögerung wird im Stand der Technik auch Umlaufverzögerung (Round Trip Delay, RTD) genannt.
- Normalerweise rufen Übertragungsprotokolle den Empfänger auf, dem Sender mit Hilfe einiger Mechanismen die Tatsache zu bestätigen, daß die Daten korrekt übertragen wurden, d.h. der Empfänger "erzählt" dem Sender, daß Daten ohne Übertragungsfehler im Empfänger empfangen wurden.
- In Folge der Umlaufverzögerung sind der Sender und der Empfänger typischerweise nicht miteinander synchronisiert und es gibt nicht bestätigte Daten in der "Pipeline" des Netzwerkes. In der Tat, wenn der Sender unendlich viele Daten senden möchte und diese Daten ungehindert senden kann, wird die Menge an unbestätigten Daten gleich dem Produkt der Umlaufverzögerung und der Bandbreite des Netzwerkes, das Sender und Empfänger miteinander verbindet. Dieses Produkt wird als Bandbreitenverzögerungsprodukt bezeichnet. Bei einer Umlaufverzögerung von 60 Millisekunden und einer Netzwerk-Kanalkapazität von 150 Megabits pro Sekunde, stellte sich heraus, daß das Netzwerk 9 Millionen Bits unbestätigter Information aufweisen kann. Demnach ist das Bandbreitenverzögerungsprodukt hier 9 Millionen Bits.
- Normalerweise speichert der Empfänger Daten in einem Empfänger-Pufferspeicher bevor die Daten an ihren endgültigen Bestimmungsort weitergeleitet werden, der manchmal Hauptrechner genannt wird. Ein Datenpaket kann nur zum Hauptrechner geleitet werden, wenn das Paket und alle vorangegangenen Pakete korrekt vom Empfänger empfangen worden sind. Pakete, für welche diese Bedingung nicht erfüllt sind, bleiben solange im Empfänger- Pufferspeicher, bis diese Bedingung erfüllt wird. Von den Paketen, die vom Sender übermittelt werden, können sich noch einige im Netzwerk aufhalten, während andere schon den Empfänger erreicht haben könnten, aber im Empfänger- Pufferspeicher gehalten werden müssen, bis die Bedingung erfüllt wird. Beide Arten von Paketen werden typischerweise als unerledigte Pakete im System bezeichnet.
- In der Regel sind Beschränkungen im Sender bezüglich der Informationsmenge, die in der Pipeline gehalten werden können und der Anzahl an unerledigten Paketen enthalten. Um eine ungehinderte Übertragung ohne Fehler oder Verluste zu erlauben, ist diese Begrenzung, die "Fenster" genannt wird, ungefähr gleich dem Bandbreitenverzögerungsprodukt. Der aktuelle Wert des Fensters wird zwischen dem Sender, dem Empfänger und dem Netzwerk während der Verbindungsaufbauphase ausgehandelt.
- Eine bekannte Vorrichtung wendet ein Protokoll an, welches ein einzelnes Fenster für ein System enthält, in welchem ein Sender, der an ihn gerichtete Pakete zu einem bestimmten Empfänger übermittelt, ein Empfänger, der Datenpakete empfängt und ein Kommunikationsnetzwerk mit einem Kanal aufweist, der den Sender und den bestimmten Empfänger miteinander koppelt oder logisch verbindet. Der Sender sendet Datenpakete zum Empfänger in Blöcken, Gruppen oder Paketen. Der Empfänger sendet regelmäßig ein Steuer- oder ein Zustandspaket zum Sender, das eine Anzahl von Datenfeldern enthält, die zur Beschreibung des Zustandes des Empfängers für den Sender nützlich sind. Der Sender erhält das Steuerpaket des Empfängers und analysiert die Daten. Wenn er feststellt, daß ein bestimmter Block mit einem Fehler empfangen worden ist (oder überhaupt nicht empfangen wurde), und wenn ein bestimmter Warteanzeiger gesetzt ist, um eine erneute Übertragung des fehlerhaften Blocks zu erlauben, dann überträgt der Sender den Block erneut. An diesem Punkt wird der Warteanzeiger rückgesetzt, um weitere Neuübertragungen des Blocks, der gerade erneut übertragen wurde, zu verhindern.
- Leider kann ein Protokoll mit einem einzelnen Fenster zu Problemen führen. Beispielsweise kann unter Fehlerbedingungen ein erheblicher Verlust an Datendurchsatz auftreten, oder die Größe der Netzwerk-Pufferressourcen müßten viel größer als nötig bemessen werden.
- H. Ahmadi et al. offenbaren in Dallas Globecom 89; IEEE Global Telecommunications Conference and Exhibition 1989, Seiten 930-938 ein selektives Wiederholungsprotokollschema, bezeichnet als Prüfpunkt-Modus (CPM, Check Point Mode)-Protokoll, welches zwei Arten von Rahmen (I-Rahmen und CP-Rahmen) zum Austausch von Informationen benutzt. Die I-Rahmen werden zur Übertragung von Informationen benutzt und sequentiell von 0 bis 216-1 nummeriert. Ein Ns-Feld enthält die Rahmensequenznummer. Ein CP-Rahmen wird in periodischen Abständen übertragen, um den Status der I-Rahmen bis zum letzten Intervall zu kennzeichnen. Das heißt, ein CP-Rahmen wird vom Empfänger zum Sender gesendet, um darauf hinzuweisen, welche I-Rahmen nicht empfangen wurden (wie bei Nx1, Nx2, ..., Nxm angezeigt), und welcher I-Rahmen als nächster erwartet wird (bezeichnet durch Nr). Das Nr-Feld enthält daher eine Zahl, deren Wert um 1 größer ist als der Wert des Ns des als letzten empfangenen neuen I-Rahmens. Ein I-Rahmen wird von der Sendestation solange nicht erneut übertragen, bis sie nicht speziell durch die Empfängerstation durch einen CP- Rahmen aufgefordert wird.
- R.A. Pugh offenbart im Hewlett-Packard Journal, Band 41, Nr. 1, Februar 1990, Seiten 36-45 ein anderes Transportprotokollschema, das OSI Class 4 Transport (oder TP4-Protokoll) genannt wird, welches als ein Satz von Dienstelementen, auch Primitives genannt, nachgebildet ist, durch die Informationen zwischen TS-Anbietern und TS-Nutzern übertragen werden. Gewöhnliche TS-Nutzerdaten werden an die Transportschicht von dem sendenden TS-Nutzer in einem Datentransport-Anforderungs-Dienstelement bereitgestellt. Die TS-Nutzerdaten werden in einem Dienstelement zum empfangenden TS-Nutzer gesendet, das Transportdienst- Dateneinheit (Transport Service Data unit (TSDU)) genannt wird. Eine TSDU kann über mehrere Dateneinheiten von Datentransportprotokollen (data transport protocol data units = DT TPDUs) übertragen werden. Fehlererkennung, Rückgewinnung und Datenflußsteuerung basieren auf einer sequentiellen Nummerierung der TPDUs in einem Datenstrom. Ein Bestätigungs-TPDU (AK TPDU) wird auf verschiedene Arten verwendet. Zum Beispiel
- (a) als dritter Teil eines Dreiwege-Handshakeverfahrens beim Aufbauen einer Verbindung,
- (b) zur Bereitstellung einer Verbindungssicherung oder einer Verbindungs-Haltefunktion, und
- (c) zur Bestätigung des In-Folge-Empfangs eines oder mehrerer DT TPDUs.
- Der Empfang einer AK TPDU ermöglicht dem Sender, die bestätigten TPDUs freizugeben, wie dies gewöhnlich geschieht. Zur Datenflußsteuerung überträgt die AK TPDU die Folgenummer der als nächstes erwarteten DT TPDU (dies wird untere Fensterkante (lower window edge = LWE) und Kreditfenster credit window = CDT)) genannt, welche gleich der Anzahl der DT TPDUs ist, die die Partner-Tranportinstanz über die jeweilige Verbindung sendet. Die Folgenummer der ersten DT TPDU, die nicht gesendet werden kann, auch obere Fensterkante genannt, entspricht dann der unteren Fensterkante zuzüglich der Raumgröße der Modulfolge des Kreditfensters. Ein Empfänger in TP4 kann das Kreditfenster verkleinern sowie den Kredit für die DT TPDUs zurücknehmen, den der Empfänger bis dahin noch nicht bestätigt hat.
- Ein Verfahren gemäß der Erfindung ist in Anspruch 1 und bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen angegeben.
- Diese und weitere Probleme werden gemäß den Prinzipien unserer Erfindung gelöst, welche ein Verfahren zur Übertragung von Informationen von einem Sender zu einem Empfänger enthalten. Das Verfahren umfaßt das Senden von Datenpaketen in Blöcken einer vorgewählten Anzahl von Datenpaketen zum Empfänger. Der Empfänger sendet regelmäßig ein Empfänger-Steuerpaket zum Sender. Das Empfänger- Steuerpaket enthält Informationen zur Beschreibung des Zustandes des Empfängers für den Sender. Der Sender übermittelt regelmäßig ein Sender-Steuerpaket zum Empfänger. Das Sender-Steuerpaket enthält Informationen zum Beschreiben des Zustandes des Senders für den Empfänger. Der Sender übermittelt Datenpakete nach dem Senden von neuen Daten, solange die Anzahl unbestätigter Blöcke im Netzwerk nicht ein erstes Fenster übersteigt und solange die Anzahl unerledigter Blöcke im System nicht ein zweites Fenster übersteigt, wobei das erste und das zweite Fenster unabhängig voneinander festgelegt sind. Dieses Verfahren erwartet, dass der Sender das Senden von Datenpaketen beendet, wenn die Anzahl unbestätigter Blöcke im Netzwerk das erste Fenster übersteigt, oder wenn die Anzahl unerledigter Blöcke im System ein zweites Fenster übersteigt. Das erste Fenster, das Netzwerkfenster genannt wird, wird dazu benutzt, um die Daten im Netzwerk zu begrenzen, so dass die Netzwerk-Pufferressourcen ökonomisch bemessen werden können, jedoch in einer Weise, dass kein übermäßiger Verlust bezüglich der Anzahl über das Netzwerk übertragener Pakete durch das Netzwerk auftritt. Das zweite Fenster, das Empfänger-Flußsteuerungsfenster genannt wird, ist typischerweise größer als das erste Fenster und wird dazu verwendet, sicherzustellen, dass Pakete im Empfänger nicht untergehen oder verloren gehen. Ist das zweite Fenster größer als das erste Fenster, kann der Durchsatz erhöht werden, während einer Festlegung zu dem Netzwerk entsprochen wird, die die Anzahl der Datenpakete auf einen Wert begrenzt, der im Einklang mit der ökonomischen Größe des Zwischenspeichers steht.
- Die Erfindung wird nachfolgend in Verbindung mit den beiliegenden Zeichnungen näher erläutert. Darin zeigen:
- Fig. 1 ein Empfängersteuerpaket, welches von einem Empfänger zu einem Sender übermittelt wird;
- Fig. 2 ein Sendersteuerpaket, welches von einem Sender zu einem Empfänger übermittelt wird;
- Fig. 3 ein Flußdiagramm eines Senderprozesses, das angewandt werden kann, um die Notwendigkeit zum Senden oder Neusenden zu ermitteln; und
- Fig. 4 ein Flußdiagramm einer Methode zur Überprüfung des verfügbaren Platzes, wie sie in dem in Fig. 3 dargestellten Prozeß angewandt werden kann.
- Wir beginnen mit einer Beschreibung einer beispielhaften Ausführungsform gemäß den Prinzipien unserer Erfindung unter Annahme einer bekannten Struktur, welche einen Sender enthält, der Paketblöcke zu einem Empfänger überträgt, welcher Blöcke von Datenpaketen empfängt, die für ihn bestimmt sind. Der Sender und der bestimmte Empfänger sind über ein einen Kommunikationskanal aufweisendes Netzwerk miteinander verbunden, logisch verbunden oder logisch zusammengeschaltet. Wir nehmen an, dass der Kommunikationskanal in einem Voll-Duplex-Betrieb arbeitet, d.h., dass gleichzeitig mit Signalen, die vom Sender zum Empfänger gesendet werden, andere Signale vom Empfänger zum Sender gesendet werden können.
- Fig. 1 stellt beispielhaft ein Empfängersteuerpaket dar, das von einem Empfänger zu einem Sender fließt. In diesem Sinne ist ein Empfängersteuerungspaket das primäre Steuerungspaket, weil es unter anderem zur Bereitstellung eines Bestätigungssignals und zur Anweisung des Senders dient, ob der Empfänger einen Block von Datenpaketen vom Sender korrekt empfangen hat.
- Das erste Feld des Steuerpaketes in Fig. 1 zeigt einen logischen Verbindungsidentifizierer (LCI), der einen speziellen Sender mit einem speziellen Empfänger logisch verbindet. Ein eindeutiger LCI-Identifizierer ist der logischen Verbindung oder der logischen Kopplung des Senders mit dem Empfänger typischerweise während einer Verbindungsaufbauphase zugewiesen.
- Das zweite Feld in Fig. 1 zeigt k, welches das Zeitintervall zwischen zwei Übertragungen von Empfängersteuerpaketen signalisiert, das in Einheiten von TIN ausgedrückt wird, wobei TIN die minimale Zeit zwischen der Übertragung von zwei aufeinanderfolgenden Steuerpaketen und ein vordefinierter Parameter ist.
- Das dritte Feld LWr in Fig. 1 benötigt einige Hintergrundinformationen.
- Für jede logische Verbindung zwischen einem Sender und einem Empfänger gibt es einen Zwischenspeicher im Empfänger. Im Betrieb übermittelt der Sender Blöcke von Datenpaketen zum Empfänger. Der Empfänger überprüft die Pakete nach Fehlern. Wenn der Empfänger einen Fehler in einem Paket entdeckt, wird der Empfänger das Paket "fallenlassen" oder aufgeben, derart, dass das fehlerhafte Paket glaubt, dass der Block, zu welchem das "fehlerhafte" Paket gehört, nicht korrekt im Empfänger empfangen worden ist. Blöcke, mit oder ohne Fehler, werden im Empfängerpuffer gespeichert; jedoch werden Blöcke mit Fehlern anders markiert als Blöcke ohne Fehler. Auf der einen Seite, wenn der Empfänger detektiert, dass alle Datenpakete in einem Block fehlerlos empfangen wurden, wird der Block als korrekt empfangen markiert, und ein entsprechender Eintrag in einer weiter unten beschriebenen Bit-Tabelle, auch Empfangsstatustabelle genannt (receiver status map = RSM), wird auf eine logische Eins gesetzt. Wenn ein Block und alle mit einer niedrigeren Folgenummer versehenen Blöcke (Folgenummern werden auch noch kurz beschrieben) korrekt empfangen werden, kann der Block durch den Empfänger zu seinem Zielort, manchmal auch Hauptrechner genannt, geleitet werden. Auf der anderen Seite, wenn der Empfänger einen Block erfasst, der wenigstens ein fehlerhaft empfangenes Paket enthält oder wenigstens ein nicht empfangenes Paket erhält, hier "fehlerhafter" Block genannt, dann wird der fehlerhafte Block sowie jeder nachfolgend erhaltene Block im Empfängerpuffer gespeichert, selbst wenn die nachfolgend erhaltenen Blöcke fehlerfrei sind, bis im Empfänger eine fehlerkorrigierende Neusendung des fehlerhaften Blocks korrekt empfangen wird. Die fehlerkorrigierende Neuübertragung des fehlerhaften Blocks könnte einfach eine erneute Übertragung des anfänglichen Blocks durch den Sender sein. Der Begriff "fehlerhafter Block" wird im Lichte der Tatsache verwendet, daß der Block entweder ein fehlerhaftes Paket aufweist oder ein Paket verloren hat, das im Netzwerk fallengelassen worden ist. Die im fehlerhaften Block empfangenen Pakete werden im Empfängerpuffer als Teile des fehlerhaften Blocks gespeichert, der entsprechende Eintrag für den Block in der RSM Bit-Tabelle wird auf eine logische Null gesetzt.
- Was die Größe des Empfängerpuffers anbelangt, müssen verschiedene Faktoren beachtet werden. Beipielsweise ist der Empfängerpuffer typischerweise von ausreichender Größe, um so alle Blöcke von Datenpaketen zu speichern, die der Sender während einer Umlaufverzögerung senden könnte. Der Grund für diese Puffergröße ist, dass der typische Wert des Fensters dem Bandbreitenverzögerungsprodukt entspricht. Zum besseren Verständnis beachte man, dass Informationen im Netzwerk zu jedem Moment der Zeit vorhanden sein könnten. Beispielsweise würde der Sender während des Zeitintervalls, das zur Übermittlung eines Empfängersteuerpaketes vom Empfänger zum Sender auf einem Weg der Voll-Duplex-Verbindung notwendig wäre, Blöcke von Datenpaketen zum Empfänger auf dem anderen Weg der Voll-Duplex-Verbindung übertragen. Demzufolge wäre typischerweise die Größe des Empfängerpuffers etwas größer als das oben definierte Bandbreitenverzögerungsprodukt. Dies garantiert, dass der Empfängerpuffer solange nicht überfließt, wie das Fenster im Sender nicht das Bandbreitenverzögerungsprodukt übersteigt.
- Zur Identifizierung von Blöcken und Paketen kann man in der Beschreibung einer beispielhaften Ausführungsform unseres Protokolles eine Art der Identifikation benutzen, die Folgenummer genannt wird. Beispielsweise enthält ein Block von Paketen im Allgemeinen eine vordefinierte Anzahl von Paketen. In ähnlicher Weise, aber nicht von besonderem Interesse, kann festgehalten werden, dass ein Paket eine feste Anzahl von Bits aufweist. Gewöhnlich ist die vordefinierte Anzahl von Datenpaketen in einem Block eine Potenz von 2 wobei sechzehn Pakete gleich einem Block sind. Nun schreiten wir in unserer Beschreibung fort. Der Block kann mit einer Blockfolgenummer identifiziert werden. Des weiteren können die einzelnen Pakete durch individuelle Paketfolgenummern identifiziert werden. Zur Erleichterung der Übertragung ist es möglich, die beiden Sätze von Folgenummern zu generieren, so dass der eine eine Abbildung des anderen ermöglicht. Man beachte, dass die Folgenummern derart generiert werden, dass die gleiche Zahl nicht im Zeitrahmen, der vernünftigerweise zur Korrektur von Fehlern benötigt wird, wiederholt werden kann. Beispielsweise ist die Folgenummer Modulo einer ziemlich großen Zahl, wie Modulo 2³². Wird diese Kodierungskonvention vorausgesetzt, kann die Folgenummer eines Paketes eine 31 Bit große Zahl sein. Angenommen, es sind 16 Pakete in einem Block, dann kann die Folgenummer des Blocks aus den 27 signifikantesten Bits der 16 Datenpaketfolgenummern bestehen, die die 16 Datenpakete in dem Block kennzeichnen, d.h. im Block werden die niedrigsten vier Bits der Paketfolgenummern fallengelassen, um die Folgenummern des Blocks zu bilden. Der Einfachheit halber sei die Folgenummer eines Blocks eine 27-Bit-Zahl, während die Folgenummern der 16 Pakete im Block durch Anhängen von 4 Bits an die Bits niedriger Ordnung der Blockzahl gebildet werden. Auf diese Weise haben sowohl die Blöcke als auch die Pakete Identifikationsnummern, die auch Blockfolgenummern und Paketfolgenummern genannt werden. Mit diesem Hintergrundwissen, ist LWr in Fig. 1 die größte Folgenummer eines Blocks von Datenpaketen, der korrekt empfangen wurde, und dessen Block dadurch charakterisiert ist, dass alle Blöcke mit niedrigeren Folgenummern auch korrekt empfangen wurden.
- Das nächste Feld in Fig. 1 ist ein Empfängerstatustabellenfeld (Receiver Status Map, RSM). Es liefert Fehlersteuerinformationen vom Empfänger zum Sender, wobei der Empfänger dem Sender "berichtet", und der Sender "erkennt", ob die Blöcke, die am Empfänger angekommen sind sind, korrekt oder nicht korrekt empfangen worden sind. Genauer gesagt, kann das RSM-Feld als Bit-Map kodiert werden, wobei jedes von L Bits den Empfangsstatus eines entsprechenden Blocks von L Blöcken von Datenpaketen repräsentiert. Beispielsweise weist das erste Bit im RSM- Feld daraufhin, ob der Block, der durch eine Blockfolgenummer gekennzeichnet ist, die als Summe LWr + 1 gebildet ist, korrekt empfangen wurde, wobei in diesem Falle das erste Bit im RSM-Feld auf eine logische Eins im Empfänger gesetzt worden wäre, oder nicht korrekt empfangen wurde, wobei in diesem Falle das erste Bit im RSM-Feld auf eine logische Null am Empfänger gesetzt worden wäre. Nebenbei sei angemerkt, dass nach der Definition von LWr das erste Bit im RSM-Feld immer eine logische Null sein wird, d.h. der Block, der durch die Blockfolgenummer LWr + 1 gekennzeichnet ist, ist immer ein fehlerhafter Block. Fortfahrend kennzeichnet das zweite Bit im RSM-Feld, ob der Block mit der Folgenummer LWr + 2 korrekt empfangen wurde, wobei in diesem Falle der Empfänger das Bit
- auf eine Eins gesetzt hätte, oder ob der Block nicht korrekt empfangen worden ist, wobei in diesem Fall der Empfänger das Bit auf Null gesetzt hätte, u.s.w. für den Status jedes Blocks der L Blöcke, die im RSM-Feld kodiert sind. Wie oben hingewiesen, gilt ein Block als nicht korrekt empfangen, wenn wenigstens ein Paket im Block nicht korrekt empfangen wurde.
- Das nächste Feld im Steuerpaket, das in Fig. 1 gezeigt ist, ist ein Zwischenspeicher-verfügbar-Feld. Mit diesem Feld informiert der Empfänger den Sender über die Größe des verfügbaren Speichers im Empfängerpufferspeicher. Das Pufferspeicher-verfügbar-Feld, das in Einheiten von Blöcken gemessen werden kann, wird vom Sender zur Steuerung der Anzahl von Blöcken, die zum Empfänger übertragen oder erneut übertragen werden, verwendet, so dass der Empfängerpufferspeicher nicht überfließt.
- Das letzte Feld in Fig. 1 ist ein Fehlerprüffeld. Dieses Feld enthält einen Fehlerprüfcode, der es dem Sender erlaubt, zu bestimmen, ob das Empfängersteuerpaket korrekt empfangen worden ist. Dieses Feld kann einen standardmäßigen zyklischen Blockcode enthalten.
- Fig. 2 stellt ein beispielhaftes Sendersteuerpaket dar, das vom Sender zum Empfänger läuft.
- Das erste Feld in Fig. 2 ist ein LCI-Feld. Dieses Feld kann sich, muß sich aber nicht, vom LCI-Feld des Empfängersteuerpaketes nach Fig. 1 dadurch unterscheiden, dass das LCI-Feld des Sendersteuerpaketes ein Bit enthält, das festlegt, ob das übermittelte Paket ein Datenpaket oder ein Steuerpaket ist. Selbstverständlich kann das zusätzliche Bit im LCI-Feld des Empfängersteuerpaketes nach Fig. 1 enthalten sein, damit das Format der beiden LCI-Felder identisch ist.
- Das zweite Feld in Fig. 2 ist ein k-Feld, das die gleiche Definition wie das k-Feld in Fig. 1 besitzt, außer dass es sich auf einen Sender und nicht auf einen Empfänger bezieht.
- Das dritte Feld in Fig. 2 ist ein UWt-Feld. Es überträgt die Blockfolgenummer des letzten Blocks, der vom Sender unmittelbar vor der Übertragung des Sendersteuerpakets übermittelt wird.
- Das vorletzte Feld in Fig. 2 zeigt die Anzahl der Pakete Qt an, die im Sender vorliegen und bereit zum Senden sind.
- Das letzte Feld ist in Fig. 2 wie in Fig. 1 ein Fehlerprüffeld, welches dem Empfänger erlaubt, zu überprüfen, ob das Sendersteuerpaket korrekt empfangen wurde oder nicht. Dieses Feld kann einen standardmäßigen zyklischen Blockcode enthalten.
- Fig. 3 stellt ein Flußdiagramm eines Senderprozesses dar, der festlegt, ob ein Block anliegt, der übertragen oder erneut übertragen werden soll. Schritt 10 ermittelt den Betriebsmodus. Wenn der Modus gleich 2 ist, was darauf hinweist, dass die Fehlersteuerung wirksam ist, wechselt die Steuerung zu Schritt 20, der feststellt, ob das RSM-Feld im Empfängersteuerpaket einen Bedarf zur Neusendung eines Blocks offenbart. Wenn ein Block erneut übertragen werden muß, geht die Steuerung zu Schritt 30 über, der den Block erneut zum Empfänger überträgt. Wenn der Modus entweder nicht gleich 2 ist, was darauf hinweist, dass die Fehlersteuerung nicht wirkt, oder das RSM-Feld keine Notwendigkeit offenbart, einen Block erneut zu übertragen, wechselt die Steuerung zu Schritt 40. In Schritt 40 wird der Modus wieder abgefragt. Wenn der Modus nicht gleich 0 ist, was darauf hindeutet, dass eine Flußsteuerung vorhanden ist, wechselt die Steuerung zu Schritt 400, der weiter in Fig. 4 dargestellt ist. Schritt 400 stellt fest, ob im Empfängerpufferspeicher Speicherplatz verfügbar ist. Wenn entweder freier Speicherplatz im Empfängerpufferspeicher vorhanden ist, oder wenn Schritt 40 feststellt, dass der Modus gleich 0 ist, was darauf hindeutet, dass keine Flußsteuerung vorhanden ist, wechselt die Steuerung zu Schritt 60, wo ein neuer Block, wenn einer zur Übertragung bereit ist, zum Empfänger übertragen wird.
- Wir wenden uns nun einigen weiteren Definitionen zu, die bei der Beschreibung einer weiteren Ausführungsform gemäß den Prinzipien unserer Erfindung helfen.
- Man beachte, dass LWr für den Empfänger definiert worden ist und in ein Empfängersteuerpaket eingefügt wird, wie in Fig. 1, welches vom Empfänger zum Sender übermittelt wird. Selbstverständlich verstreicht Zeit, beispielsweise verstreicht die Übertragungszeit, bevor der Empfänger das Empfängersteuerpaket empfängt. Der Sender arbeitet dann, wenn er das Empfängersteuerpaket verarbeitet, mit einem Wert von Lwr, welcher wegen der abgelaufenen Zeit tatsächlich nicht identisch mit dem dann aktuellen Wert von LWr am Empfänger sein kann. Dies ist übrigens ein weiteres Beispiel dafür, wie Sender und Empfänger aus der Synchronisation laufen können. Wir fahren fort. Wir definieren danach den Wert von LWt als den Wert von LWr, welcher als letzter vom Sender empfangen wurde.
- Wir können nun die Anzahl von Blöcken definieren, welche zum Empfänger übertragen wurden, aber für die der Sender bisher noch kein Empfängersteuerpaket erhalten hat, was darauf hindeutet, dass die Blöcke vom Empfänger zum Zielrechner geleitet werden können, da diese und alle vorhergehenden Blöcke vom Empfänger korrekt empfangen wurden (auch Anzahl der unerledigten Blöcke im System genannt und symbolisiert als OB) als:
- OB = UWt - LWt ≤ W, (1)
- wobei W die maximale Anzahl an unerledigten Blöcken ist, die der Sender im System haben darf, und auch Flußsteuerungsfenster genannt wird. Der Sender wird typischerweise so entworfen, dass der Sender das Senden anhalten, beenden oder unterbrechen muß, wenn die Anzahl unerledigter Blöcke OB im System das Flußsteuerungsfenster W erreicht.
- Das Fenster W ist außerdem die Vereinbarung des Senders mit dem Netzwerk in dem Sinne, dass ein Sender zur Zeit, zu der eine Verbindung zwischen Sender und Empfänger aufgebaut wird, typischerweise mit dem Netzwerk vereinbart, Sender und Empfänger zu verbinden, d.h. der Sender begrenzt die Anzahl der Blöcke im Netzwerk zu jeder Zeit. Obwohl es nicht notwendig ist, ist das Fenster W typischerweise gleich dem. Bandbreitenverzögerungsprodukt, das vorher definiert wurde.
- Ist das Fenster W gleich dem Bandbreiteprodukt und in einem fehlerfreien und verzögerungsfreien Zustand, dann werden die Bestätigungen für Blöcke empfangen, wenn die Fenster gerade geschlossen werden. Auf der einen Seite sagt man, dass das Fenster gerade geschlossen wird, wenn die Anzahl unerledigter Blöcke sich OB nähert, aber kleiner als das Flußsteuerungsfenster W ist. Dies erlaubt eine Übertragung von zusätzlichen Blöcken ohne Unterbrechung. Auf der anderen Seite sagt man, dass das Fenster gerade geschlossen wurde, wenn die Anzahl unerledigter Blöcke gleich dem Flußsteuerungsfenster W ist, wobei der Sender die Übertragung neuer Blöcke unterbrechen oder beenden wird.
- Nebenbei und als ein Beispiel für eine Unterbrechung sei angenommen, dass wenigstens ein fehlerhaftes Paket vom Empfänger detektiert wurde und das RSM-Feld des Empfängersteuerpaketes diese Information zum Sender weitergeleitet hat. Der Sender weiß dann, dass ein fehlerhafter Block vorliegt, und er überträgt eine fehlerkorrigierende Version des fehlerhaften Blocks, z.B. durch Neuübertragung des anfänglichen Blocks. Der Sender würde die Übertragung neuer Blöcke unterbrechen oder beenden, bis der fehlerhafte Block erneut zum Empfänger übertragen wird und als vom Empfänger hoffentlich korrekt empfangen bestätigt wird. Der Prozeß der Neuübertragung dauert wenigstens eine Umlaufverzögerung, z.B. die Zeit zur Übertragung des erneut übertragenen Blocks vom Sender zum Empfänger zuzüglich der Zeit die zur Übertragung eines Empfängersteuerpakets vom Empfänger zum Sender erforderlich ist, welcher hoffentlich bestätigen wird, dass der erneut übertragene Block korrekt am Empfänger angekommen ist. Einleuchtenderweise fallen weitere Laufverzögerungen an, wenn zwei oder mehrere Neuübertragungen des Blocks nötig sind.
- Desweiteren und als Hinzufügung zur obigen Verzögerung, sei daran erinnert, dass der Sender eine Umlaufverzögerung benötigt, um festzustellen, dass der fehlerhafte Block fehlerhaft beim Empfänger angekommen ist, d.h. der Umlauf enthält die anfängliche Übertragung des Blocks, welcher später als fehlerhafter Block erkannt wird, vom Sender zum Empfänger anschließend gefolgt von der Übertragung des Empfängersteuerpakets vom Empfänger zum Sender, das ein RSM- Feld enthält, das dem Sender signalisiert, dass der Block nicht korrekt beim Empfänger angekommen ist.
- Wenn ein fehlerhafter Block durch den Sender detektiert wird, kann die Anzahl von unerledigten Blöcken OB einen Maximalwert haben, der gleich dem Bandbreitenverzögerungsprodukt ist. Wenn das Fenster W kleiner oder gleich dem Bandbreitenverzögerungsprodukt ist, d.h. dieses nicht übersteigt, so schließt das Fenster. Das Fenster bleibt geschlossen während der Zeitdauer, die mit der Neuübertragung einer fehlerkorrigierenden. Neuübertragung des fehlerbehaften Blocks beginnt, und solange andauert, bis der Sender ein Empfängersteuerpaket empfängt, das eine Bestätigung vom Empfänger enthält, dass der Empfänger den erneut übertragenen Block korrekt empfangen hat. Dieses Zwischenintervall ist auch gleich einer Umlaufverzögerung.
- Es kann keine Übertragung eines neuen Blocks während dieses Zeitintervalls stattfinden, d.h. ausschließlich der erneut übertragene Block bzw. die erneut übertragenen Blöcke werden gesendet. In Hochgeschwindigkeitsnetzwerken kann dieses Zeitintervall eine relativ beträchtliche Dauer annehmen, was zu einem relativ großen Verlust des Datendurchsatzes führt.
- Das Flußsteuerungsfenster W kann größer gemacht werden als das Bandbreitenverzögerungsprodukt, um eine andauernde Übertragung von Blöcken während desjenigen Zeitintervalls zu erlauben, während dem der Sender auf die Bestätigung vom Empfänger bezüglich des erneut übertragenen Blocks wartet, wobei diese Vergrößerung zu einer Reduktion des Datendurchflußverlustes führen kann. Auf der anderen Seite, wenn es Verzögerungen gibt, würde eine Vergrößerung des Fensters W auch die Zahl ausstehender oder unerledigter Blöcke im System OB vergrößern. Da das gleiche Fenster W typischerweise benutzt wird, um die Größe der Netzwerkpufferspeicher festzulegen, ist es wünschenswert, die Größe des Netzwerkpufferspeichers zu erhöhen, damit diese der vergrößerten Fenstergröße entspricht. Jedoch kann dies eine Verschwendung von Speicherplatz im Netzwerk sein, da der Durchfluß von Blöcken durch das Netzwerk nicht aufrecht erhalten werden muß. Wie vorher erwähnt, sollte der Sender normalerweise zu jeder Zeit nicht mehr Daten im Netz bewahren als das Bandbreitenverzögerungsprodukt angibt. Dies ist typischerweise eine Festschreibung für das Netzwerk. Demzufolge ist bei dem aktuellen Aufbau eine Erhöhung des Durchsatzes ohne Beeinträchtigung der Festlegung für das Netzwerk nicht einfach.
- Ein Problem beim Stand der Technik ist, dass ein Fenster für zwei Zwecke gebraucht wird:
- (1) zur Bewahrung der Festlegung für das Netzwerk derart, dass das Netzwerk Pufferspeicher von ökonomischer Größe aufweist und
- (2) zum Hindern des Empfängerpufferspeichers am Überlauf.
- Gemäß den Prinzipien unserer Erfindung benutzen wir zwei Fenster anstelle eines und teilen dadurch die beiden Funktionen auf. Ein Fenster, das Netzwerkfenster genannt wird, bewahrt die Festlegung des Netzwerkes und das andere Fenster, welches Empfänger-Flußsteuerungsfenster genannt wird und typischerweise das größere der beiden Fenster ist, erlaubt es, daß der maximal erreichbare Durchsatz ohne Verletzung der Festlegung des Netzwerkes erreicht werden kann.
- Dies ist unter Nutzung der Information des Empfängersteuerpaketes machbar, das regelmäßig vom Empfänger zum Sender übermittelt wird.
- Wir betrachten Fig. 4: Nt sei beispielsweise die Anzahl korrekt empfangener Blöcke, die im Empfänger basierend auf den Informationen in einem Empfängersteuerpaket, das vom Sender empfangen wurde, warten. Ein Wert für Nt kann in Schritt 410 durch Aufaddierung der Anzahl logischer Einsen in der Bit-Map-Tabelle des RNS-Feldes des in Fig. 1 dargestellten Empfängersteuerpaketes erzeugt werden. In Schritt 420 ist dann die maximal mögliche Anzahl von unbestätigten Blöcken im Netzwerk NBN gleich:
- NBN = UWt - LWt - Nt (2)
- Es wird dann die Verwendung von zwei Fenstern in Einklang mit den Prinzipien unserer Erfindung betrachtet. Das erste Fenster wird Netzwerkfenster genannt und hat eine Größe von W&sub1; Blöcken, das zweite Fenster wird Empfänger- Flußsteuerungsfenster genannt und hat die Größe von W&sub2; Blöcken. Die Größe des ersten und zweiten Fensters kann, muß aber nicht, derart in Beziehung zueinander stehen, dass W&sub1; kleiner ist als W&sub2; und derart, dass W&sub1; ungefähr gleich dem Bandbreitenverzögerungsprodukt ist, und derart, dass W&sub2; ungefähr doppelt so groß ist wie das
- Bandbreitenverzögerungsprodukt. In den Schritten 430 und 440 kann der Sender weiter senden, wenn die beiden folgenden Bedingungen nach einer neuen Übertragung erfüllt werden:
- NBN = UWt - LWt - Nt ≤ W&sub1; (3)
- OB = UWt - LWt ≤ W&sub2; (4)
- Andererseits kann der Sender in den Schritten 430 und 440 die Übertragung anhalten, wenn eine der Bedingungen, die in den Gleichungen (3) und (4) definiert sind, nicht erfüllt ist. Bei einer derartigen neuen Anordnung, welche im Einklang mit den Prinzipien unserer Erfindung steht, können wesentliche Verbesserungen im Durchsatz erreicht werden, sogar bei Vorliegen von Fehlern. Gleichzeitig wird die Anzahl NBN von unbestätigten Blöcken von Paketen im Netzwerk niemals die Größe W&sub1; überschreiten.
- Betrachtet man die Verbesserungen im Durchsatz, bei einem Vergleich zwischen einem Einfensterprotokoll, wobei das Fenster W das Bandbreitenverzögerungsprodukt ist, und einem Zweifensterprotokoll, wobei W&sub1; das
- Bandbreitenverzögerungsprodukt ist und W&sub2; 2,5 Mal so groß ist wie W&sub1; und sei eine zufällig verteilte Umlaufverzögerung RTD mit einer Durchschnittszeit von 60 Millisekunden und einer Standardabweichung von 19 Millisekunden, eine Paketgröße von 4000 Bytes, wobei ein Byte gleich 8 Bit ist, und eine Blockgröße von einem Paket sowie eine zufällige Bitfehlerrate von 1 * 10&supmin;&sup7; angenommen, haben Studien folgende Verbesserungen im Durchsatz gezeigt:
- Diese bemerkenswerte Verbesserung des Durchsatzes wird unmittelbar in eine beträchtliche Wirtschaftlichkeit umgesetzt, wenn ein System mit dem Zweifensterprotokoll anstelle eines Systems mit anderen Protokollen verwendet wird.
Claims (6)
1. Verfahren zur Übertragung von Informationspaketen von
einer Sende- zu einer Empfangseinrichtung in einem
Kommunikationssystem mit einem Netz zum Verbinden der
Sendeeinrichtung mit der Empfangseinrichtung, wobei das
Verfahren folgende Schritte umfaßt:
die Sendeeinrichtung sendet Datenpakete in Blöcken zu
der Empfangseinrichtung, wobei die Blöcke jeweils eine
vorbestimmte Anzahl an Paketen umfassen;
die Empfangseinrichtung sendet regelmäßig ein
Empfängersteuerpaket, das Informationen zum Beschreiben
des Zustandes der Empfangseinrichtung zur
Sendeeinrichtung umfaßt, zur Sendeeinrichtung; und
die Sendeeinrichtung sendet regelmäßig ein
Sendersteuerpaket, das Informationen zum Beschreiben des
Zustandes der Sendeeinrichtung zur Empfangseinrichtung
umfaßt, zur Empfangseinrichtung
dadurch gekennzeichnet,
daß der Sendeschritt des Senders folgende Schritte
umfaßt
Senden von Datenpaketen solange, wie die Anzahl (NBN)
unbestätigter Blöcke in dem Netzwerk einen ersten Wert,
der hierin als erstes Fenster (W&sub1;) bezeichnet wird,
nicht überschreitet, und solange, wie die Anzahl (OB)
der ausstehenden Blöcke in dem System einen zweiten
Wert, der hierin als zweites Fenster (W&sub2;) bezeichnet
wird, nicht überschreitet;
die Anzahl der unbestätigten Blöcke in dem Netz wird
als die Anzahl von Blöcken definiert, die zu der
Empfangseinrichtung gesendet worden sind, aber für
welche die Sendeeinrichtung noch kein
Empfängersteuerpaket empfangen hat, das anzeigt, daß die
Blöcke von der Empfangseinrichtung korrekt empfangen
worden sind; und
die Anzahl der ausstehenden Blöcke in dem System wird
als die Anzahl von Blöcken definiert, die zur
Empfangseinrichtung gesendet worden sind, aber für
welche die Sendeeinrichtung noch kein
Empfängersteuerpaket empfangen hat, das anzeigt, daß
sowohl diese Blöcke als auch alle vorhergehenden Blöcke
von der Empfangseinrichtung korrekt empfangen worden
sind.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der Sendeschritt des Senders ferner folgenden
Schritt umfaßt:
Unterbrechen des Sendens von Datenpaketen, wenn die
Anzahl der unbestätigten Blöcke in dem Netz das erste
Fenster übersteigt.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß der Sendeschritt des Senders folgenden Schritt
umfaßt:
Unterbrechen des Sendens von Datenpaketen, wenn die
Anzahl der ausstehenden Blöcke in dem System das zweite
Fenster übersteigt.
4. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
daß das erste Fenster nicht das Bandbreiten-
Verzögerungsprodukt eines Kanals überschreitet, welcher
die Sende- und die Empfangseinrichtung miteinander
verbindet.
5. Verfahren nach einem der vorherstehenden Ansprüchen,
dadurch gekennzeichnet,
daß das erste Fenster kleiner als das zweite Fenster
ist.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
daß das zweite Fenster wenigstens doppelt so groß ist
wie das erste Fenster.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/515,386 US5130986A (en) | 1990-04-27 | 1990-04-27 | High speed transport protocol with two windows |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69130187D1 DE69130187D1 (de) | 1998-10-22 |
DE69130187T2 true DE69130187T2 (de) | 1999-04-29 |
Family
ID=24051131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69130187T Expired - Fee Related DE69130187T2 (de) | 1990-04-27 | 1991-04-18 | Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern |
Country Status (5)
Country | Link |
---|---|
US (1) | US5130986A (de) |
EP (1) | EP0454364B1 (de) |
JP (1) | JP2591717B2 (de) |
CA (1) | CA2037010C (de) |
DE (1) | DE69130187T2 (de) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0548560A (ja) * | 1991-08-16 | 1993-02-26 | Fujitsu Ltd | Pcm伝送路におけるデータのフレーム遅延補正方式 |
US5574919A (en) * | 1991-08-29 | 1996-11-12 | Lucent Technologies Inc. | Method for thinning a protocol |
SE469252B (sv) * | 1991-10-04 | 1993-06-07 | Eritel Ab | Foerfarande foer kontroll och styrning av datafloedet i ett paketdatanaet omfattande ett antal linjer och ett antal noder daer linjerna via noder foerbinder ett antal terminaler |
US5826198A (en) * | 1992-01-13 | 1998-10-20 | Microcom Systems, Inc. | Transmission of data over a radio frequency channel |
US5243596A (en) * | 1992-03-18 | 1993-09-07 | Fischer & Porter Company | Network architecture suitable for multicasting and resource locking |
US5412647A (en) * | 1993-03-25 | 1995-05-02 | Northern Telecom Limited | Rate enforcement for frame relay networks |
US5953418A (en) * | 1995-06-14 | 1999-09-14 | David Hall | Providing selective data broadcast receiver addressability |
US5802311A (en) * | 1995-06-15 | 1998-09-01 | David Hall | Using adaptive redundant packet retrieval to improve reliability in a unidirectional data broadcasting system |
US5764625A (en) * | 1995-11-13 | 1998-06-09 | International Business Machines Corp. | Optimal flow control window size design in high-speed networks |
JP2842831B2 (ja) * | 1996-03-27 | 1999-01-06 | 日本電気エンジニアリング株式会社 | データパケット伝送装置および方法 |
SE505725C2 (sv) * | 1996-04-24 | 1997-10-06 | Telia Ab | Anordning och metod för allikering av bandbredd och buffertutrymme i ett ATM-nät |
KR100302263B1 (ko) * | 1997-03-25 | 2001-09-22 | 모리시타 요이찌 | 스트림 데이터 전송방법 및 시스템 |
US5916309A (en) * | 1997-05-12 | 1999-06-29 | Lexmark International Inc. | System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message |
US6046817A (en) * | 1997-05-12 | 2000-04-04 | Lexmark International, Inc. | Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer |
US5931915A (en) | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6105064A (en) * | 1997-05-30 | 2000-08-15 | Novell, Inc. | System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval |
US6373818B1 (en) * | 1997-06-13 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for adapting window based data link to rate base link for high speed flow control |
US6178174B1 (en) * | 1997-08-26 | 2001-01-23 | International Business Machines Corporation | Optimistic, eager rendezvous transmission mode and combined rendezvous modes for message processing systems |
US6760307B2 (en) * | 1997-08-29 | 2004-07-06 | Intel Corporation | Method and apparatus for controlling the flow of data between servers using optimistic transmitter |
US6031624A (en) * | 1997-09-08 | 2000-02-29 | Lexmark International, Inc. | Method and apparatus for adaptive data buffering in a parallelized printing system |
JP3754824B2 (ja) * | 1998-01-26 | 2006-03-15 | キヤノン株式会社 | 印刷システム、制御方法、情報処理装置及び出力装置 |
EP0948168A1 (de) * | 1998-03-31 | 1999-10-06 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Verfahren und Vorrichtung zur Datenflusssteuerung |
EP1018248A1 (de) * | 1998-06-30 | 2000-07-12 | Sun Microsystems, Inc. | Überlastregelung in betriebsicherem mehrfachsende-protokoll |
US6496481B1 (en) * | 1998-07-16 | 2002-12-17 | Industrial Technology Research Institute | Data transfer method for wire real-time communications |
US6301249B1 (en) * | 1998-08-04 | 2001-10-09 | Opuswave Networks, Inc | Efficient error control for wireless packet transmissions |
US6310784B1 (en) | 1999-05-24 | 2001-10-30 | Marconi Communications, Inc. | Densely arranged electrically shielded communication panels |
US6785228B1 (en) * | 1999-06-30 | 2004-08-31 | Alcatel Canada Inc. | Subscriber permissions and restrictions for switched connections in a communications network |
US6629285B1 (en) * | 2000-01-04 | 2003-09-30 | Nokia Corporation | Data transmission |
US6748445B1 (en) * | 2000-02-01 | 2004-06-08 | Microsoft Corporation | System and method for exchanging data |
US7545755B2 (en) * | 2000-03-03 | 2009-06-09 | Adtran Inc. | Routing switch detecting change in session identifier before reconfiguring routing table |
US6850488B1 (en) * | 2000-04-14 | 2005-02-01 | Sun Microsystems, Inc. | Method and apparatus for facilitating efficient flow control for multicast transmissions |
US6925502B1 (en) | 2000-06-20 | 2005-08-02 | At&T Corp. | Methods and systems for improving data transmission rates having adaptive protocols |
US6799200B1 (en) | 2000-07-18 | 2004-09-28 | International Business Machines Corporaiton | Mechanisms for efficient message passing with copy avoidance in a distributed system |
US7089289B1 (en) | 2000-07-18 | 2006-08-08 | International Business Machines Corporation | Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices |
US6735620B1 (en) | 2000-07-18 | 2004-05-11 | International Business Machines Corporation | Efficient protocol for retransmit logic in reliable zero copy message transport |
US20030031126A1 (en) * | 2001-03-12 | 2003-02-13 | Mayweather Derek T. | Bandwidth reservation reuse in dynamically allocated ring protection and restoration technique |
KR100459557B1 (ko) * | 2001-08-23 | 2004-12-03 | 삼성전자주식회사 | 고속 순방향 패킷 접속 통신 시스템에서 데이터 상태정보를 나타내기 위한 혼화 자동 재전송 요구 채널 번호할당 방법 |
US7793334B2 (en) | 2001-11-16 | 2010-09-07 | At&T Mobility Ii Llc | System and method for password protecting a distribution list |
US8660537B2 (en) | 2001-11-16 | 2014-02-25 | At&T Mobility Ii Llc | System for the storage and retrieval of messages |
US7549096B2 (en) * | 2001-11-16 | 2009-06-16 | At&T Mobility Ii Llc | Methods and systems for tracking and playing back errors in a communications network |
US7487262B2 (en) * | 2001-11-16 | 2009-02-03 | At & T Mobility Ii, Llc | Methods and systems for routing messages through a communications network based on message content |
US7617328B2 (en) | 2001-11-16 | 2009-11-10 | At&T Mobility Ii Llc | System for translation and communication of messaging protocols into a common protocol |
US7454195B2 (en) | 2001-11-16 | 2008-11-18 | At&T Mobility Ii, Llc | System for the centralized storage of wireless customer information |
US7345999B2 (en) * | 2002-07-18 | 2008-03-18 | Lucent Technologies Inc. | Methods and devices for the retransmission of data packets |
KR101021071B1 (ko) * | 2002-10-30 | 2011-03-14 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 적응 순방향 에러 제어 구조 |
US7421502B2 (en) * | 2002-12-06 | 2008-09-02 | International Business Machines Corporation | Method and system for storage-aware flow resource management |
US8630168B2 (en) * | 2003-06-23 | 2014-01-14 | Intel Corporation | Adaptive use of a transmit opportunity |
GB2417390B (en) * | 2004-08-18 | 2007-11-14 | Wecomm Ltd | Data packet transmission |
GB2417392B (en) * | 2004-08-18 | 2007-05-09 | Wecomm Ltd | Transmitting packets of data |
GB2417387B (en) * | 2004-08-18 | 2007-05-09 | Wecomm Ltd | Transmitting data |
US9325456B2 (en) * | 2005-03-22 | 2016-04-26 | Intel Corporation | Method and apparatus for delayed recovery for block acknowledgement bursting in a wireless network |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
JP2007325270A (ja) * | 2006-06-01 | 2007-12-13 | Asustek Computer Inc | 無線通信システムのデータ伝送効率を向上させる方法及び装置 |
GB2449944B (en) | 2007-06-09 | 2012-08-08 | Wecomm Ltd | Supplying applications to mobile devices |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
JP6051939B2 (ja) * | 2013-02-27 | 2016-12-27 | 富士ゼロックス株式会社 | 帯域測定装置及びプログラム |
CN115514710B (zh) * | 2022-11-08 | 2023-03-10 | 中国电子科技集团公司第二十八研究所 | 一种基于自适应滑动窗的弱连接流量管控方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6336348A (ja) * | 1986-07-30 | 1988-02-17 | Toshiba Corp | バツフアメモリ管理方法 |
US4839891A (en) * | 1987-07-24 | 1989-06-13 | Nec Corporation | Method for controlling data flow |
US4920484A (en) * | 1988-10-05 | 1990-04-24 | Yale University | Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined |
US4965793A (en) * | 1989-02-03 | 1990-10-23 | Digital Equipment Corporation | Method and apparatus for interfacing a system control unit for a multi-processor |
-
1990
- 1990-04-27 US US07/515,386 patent/US5130986A/en not_active Expired - Lifetime
-
1991
- 1991-02-25 CA CA002037010A patent/CA2037010C/en not_active Expired - Fee Related
- 1991-04-11 JP JP10514291A patent/JP2591717B2/ja not_active Expired - Fee Related
- 1991-04-18 EP EP91303494A patent/EP0454364B1/de not_active Expired - Lifetime
- 1991-04-18 DE DE69130187T patent/DE69130187T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5130986A (en) | 1992-07-14 |
CA2037010C (en) | 1994-05-31 |
CA2037010A1 (en) | 1991-10-28 |
EP0454364A3 (en) | 1994-06-08 |
JP2591717B2 (ja) | 1997-03-19 |
EP0454364A2 (de) | 1991-10-30 |
EP0454364B1 (de) | 1998-09-16 |
JPH04229746A (ja) | 1992-08-19 |
DE69130187D1 (de) | 1998-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130187T2 (de) | Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern | |
DE3786196T2 (de) | Verfahren zur duplex-datenuebertragung unter verwendung eines sende- und warteprotokolls. | |
DE69015275T2 (de) | Datenkommunikationssystem und Vorrichtung mit einer zyklischen Quittungsantwortensequenz. | |
DE69120659T2 (de) | Verfahren zur fehlerkorrektur in einem datenkommunikationssystem | |
DE69837513T2 (de) | Vorrichtung für die sichere Kommunikation über Funk- und Leitungsnetzwerke mittels Transportschichtverbindungen | |
DE69105989T2 (de) | Verkehrsverwaltung in einem netz. | |
DE10066463B4 (de) | Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung | |
DE3850610T2 (de) | Schnelles Richtungswechselprotokoll für ein schnelles Halbduplex-Modem. | |
DE69632147T2 (de) | Verbund-fehlererkennung und datenpaketnumerierung in einem hierarchischen arq-übertragungssystem | |
DE60022994T2 (de) | Ein flexibles steuerprotokoll für funkverbindungen | |
DE3687355T2 (de) | Universalprotokoll-datenempfaenger. | |
DE69935554T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen | |
DE60036218T2 (de) | Verbindungsschichtquittierung und wiederübertragung für ein zellulares telekommunikationssystem | |
DE69525895T2 (de) | System für Sendewiederholung in der Datenkommunikation | |
DE60114329T2 (de) | TCP-berücksichtigendes lokales Wiederholungsverfahren für unzuverlässige Übertragungsnetze | |
DE602004002086T2 (de) | Verfahren und Apparat zur gemeinsamen dynamischen Verwaltung von Fensterlängen von mehreren ARQ-Datenverbindungen | |
DE69531410T2 (de) | Mehrrechnerumgebungen | |
DE69117869T2 (de) | Sende-Empfänger zur Erweiterung eines CSMA/CD-Netzwerkes für drahtlose Kommunikation | |
DE69232613T2 (de) | Hochgeschwindigkeitschnittstelle für eine Duplex-Datenverbindung | |
DE69934124T2 (de) | Verfahren und vorrichtung für wiederversuch, versagen und wiederanlauf einer eingang/ausgangsverbindung in einem computernetz | |
DE60223799T2 (de) | Verfahren und sender für einen effizienten paketdatentransfer in einem übertragungsprotokoll mit wiederholungsanforderungen | |
DE60201553T2 (de) | System und Verfahren zur Fehlerbeseitigung mit negativer Rückquittierung (NACK) | |
DE60109959T2 (de) | Verfahren um die effizienz eines datenstromes in einem kommunikationssystem zu erhöhen | |
DE19924922A1 (de) | System und Verfahren für Nachrichtenübermittlung zwisfchen Netzwerkknoten, die durch parallele Verbindungen verbunden sind | |
DE60111991T2 (de) | Verfahren und System zur Übertragung von Daten mit einer Datenflusssteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |