DE69130187T2 - Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern - Google Patents

Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern

Info

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
Application number
DE69130187T
Other languages
English (en)
Other versions
DE69130187D1 (de
Inventor
Bharat Tarachand Holmdel New Jersey 07733 Doshi
Pravin Kumar Aberdeen New Jersey 07747 Johri
Arun Narayan Westfield New Jersey 07090 Netravali
Krishan Kumar Berkeley Heights New Jersey 07922 Sabnani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Application granted granted Critical
Publication of DE69130187D1 publication Critical patent/DE69130187D1/de
Publication of DE69130187T2 publication Critical patent/DE69130187T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/267Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by the destination endpoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation 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

    Hintergrund der Erfindung Bereich der Erfindung
  • Die Erfindung bezieht sich auf Übertragungsprotokolle und insbesondere auf Übertragungsprotokolle in einem Kommunikationssystem zur Übertragung von Paketen.
  • Beschreibung des Standes der Technik
  • 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.
  • Zusammenfassung der Erfindung
  • 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.
  • Kurze Beschreibung der Zeichnungen:
  • 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.
  • Detaillierte Beschreibung
  • 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.
DE69130187T 1990-04-27 1991-04-18 Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern Expired - Fee Related DE69130187T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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