DE60030094T2 - Datenablösungsmechanismus für selektive wiederholungsprotokolle - Google Patents

Datenablösungsmechanismus für selektive wiederholungsprotokolle Download PDF

Info

Publication number
DE60030094T2
DE60030094T2 DE60030094T DE60030094T DE60030094T2 DE 60030094 T2 DE60030094 T2 DE 60030094T2 DE 60030094 T DE60030094 T DE 60030094T DE 60030094 T DE60030094 T DE 60030094T DE 60030094 T2 DE60030094 T2 DE 60030094T2
Authority
DE
Germany
Prior art keywords
receiver
sequence number
data
pdu
sender
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 - Lifetime
Application number
DE60030094T
Other languages
English (en)
Other versions
DE60030094D1 (de
Inventor
Miklos GYÖRGY
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60030094D1 publication Critical patent/DE60030094D1/de
Publication of DE60030094T2 publication Critical patent/DE60030094T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1635Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der Telekommunikation. Insbesondere beinhaltet die vorliegende Erfindung die Verwendung einer Automatic Repeat Request (Automatischen Wiederholungsaufforderung; ARQ) in drahtgestützten und drahtlosen Telekommunikationssystemen und Datennetzen.
  • HINTERGRUND
  • Die Automatic Repeat Request (ARQ) ist eine üblicherweise verwendete Technik in Telekommunikationssystemen und Datennetzen. Sie wird verwendet, um die zuverlässige Lieferung von Protokolldateneinheiten (PDUs) von einer sendenden Einheit (die hier als ein Sender bezeichnet wird) an eine empfangende Einheit (die hier als ein Empfänger bezeichnet wird) sicherzustellen. Im Allgemeinen verwendet die ARQ Technik einen Fehlererfassungscode während der Datenübertragung. Der Fehlererfassungscode erlaubt dem Empfänger zu bestimmen, ob eine gegebene PDU richtig empfangen wurde. Die ARQ Technik verwendet auch einen Rückkopplungsmechanismus, den der Empfänger verwendet, um den Sender darüber zu informieren, dass eine PDU richtig empfangen wurde oder nicht. Der Sender kann dann die PDU auf Grundlage der Rückkopplung, die von dem Empfänger bereitgestellt wird, erneut übertragen.
  • Im Allgemeinen gibt es drei hauptsächliche ARQ Typen: Stopp-und-Warten (Stopp-and-Wait), N-zurück-Gehen (Go-back-N), und Selektive-Wiederholung (Selective Repeat). In Übereinstimmung mit der Stopp-and-Wait ARQ Technik sendet der Sender eine PDU an den Empfänger nicht, bis er eine positive Bestätigung von dem Empfänger darüber empfängt, dass die vorangehende PDU empfangen worden ist. In Übereinstimmung mit der Go-back-N ARQ Technik kann der Sender ein oder mehrere PDUs übertragen, bevor er eine positive Bestätigung (Ack) von dem Empfänger bezüglich vorangehender PDUs empfängt. Wenn der Sender jedoch eine negative Bestätigung (Nack) von dem Empfänger empfängt, die anzeigt, dass eine vorangehende PDU nicht empfangen wurde, dann überträgt der Sender die fehlende oder unrichtig empfangene PDU, sowie sämtliche nachfolgenden PDUs, unabhängig davon, ob sie richtig empfangen wurden oder nicht, erneut. In Übereinstimmung mit der Selective Repeat ARQ Technik stellt der Empfänger eine Kombination von negativen Bestätigungen und positiven Bestätigungen bereit. Der Sender überträgt dann diejenigen PDUs, die nicht empfangen wurden, erneut, aber der Sender überträgt nicht erneut sämtliche nachfolgenden PDUs, wie bei der Go-back-N ARQ Technik. Selbstverständlich gibt es zahlreiche Varianten im Zusammenhang mit jedem der drei hauptsächlichen ARQ Typen.
  • Normalerweise werden PDUs von dem Sender an den Empfänger geliefert, ohne dass der Verlust von diesen PDUs erlaubt wird. Der Grund dafür besteht darin, dass herkömmliche ARQ Techniken eine PDU neu übertragen, bis sie an dem Empfänger erfolgreich empfangen und an dem Sender erfolgreich bestätigt wird. Jedoch ist eine unendliche erneute Übertragung unrealistisch und unerwünscht. Demzufolge ist es zeitweise vorteilhaft den Neuübertragungsprozess zu beenden und die PDU zu verwerfen.
  • Der Mechanismus, der verwendet wird, um PDUs zu verwerfen oder abzulösen, sollte natürlich die PDUs in einer zeitgerechten Weise verwerfen. Bei diesem Prozess wird die Chance einer Übertragung von überflüssigen Daten minimiert. Beispielsweise gibt es zahlreiche Anwendungen, wie Echtzeit-Sprache und Video-Anwendung, bei denen die Daten, die gerade übertragen werden, nur für eine sehr kurze Zeitperiode nützlich sind. Darüber hinaus sind die Daten überflüssig. Eine Übertragung von derartigen Daten ist nicht nur unsinnig, sondern verschwendet auch Netzressourcen und Bandbreite.
  • Der Verwerfungsmechanismus, der verwendet wird, sollte PDUs auch in einer effektiven Weise verwerfen, um Situationen, die zu einer Blockierung führen könnten, zu vermeiden oder wenigstens zu minimieren. Zusätzlich sollte der Verwerfungsmechanismus ein Verwerfungssignalisierungsverfahren bereitstellen, das einen Schutz gegenüber Aspekten wie einer PDU Identifikationsmehrdeutigkeit, einer Aufhebung einer Zuordnung von Eingangspufferplatz an den Empfänger, bevor eine entsprechende PDU tatsächlich an dem Sender verworfen wird, oder dergleichen bereitstellt. Ferner sollte der Verwerfungsmechanismus eine Vorgehensweise bereitstellen, um dem Empfänger zu informieren, wenn PDUs an dem Sender verworfen worden sind, sogar dann, wenn keine Vorkehrungen in dem Protokoll für eine explizite Signalisierung vorhanden sind.
  • Zusätzlich sollte der Verwerfungsmechanismus die Segmentierung und den Neuzusammenbau von Datenpaketen der oberen Schicht (upper Layer), wie beispielsweise Internetprotokoll Datenpaketen, berücksichtigen, wobei eine Segmentierung und ein Neuzusammenbau eine übliche Technik ist, die beim Transportieren von Datenpaketen der oberen Schicht verwendet wird. Zur Vereinfachung werden Datenpakete der oberen Schicht hier einfach nachstehend als „Datenpakete" bezeichnet. Wenn eine Segmentierung und ein Neuzusammenbau von Datenpaketen verwendet wird, können mehrere PDUs benötigt werden, um die Daten, die zu einem einzelnen Datenpaket gehören, zu transportieren. Demzufolge muss der Empfänger in der Lage sein unter anderem die richtige Sequenz der PDUs zu bestimmen und das Datenpaket zu bestimmen, zu dem PDU gehört. Typischerweise wird dies erreicht durch Zuweisen einer Sequenznummer an jede PDU, wobei Sequenznummern z.B. im Bereich von 0 bis 2k-1 in Übereinstimmung mit einem Modulo 2 Format liegen können, wobei k die Anzahl von Bits darstellt, die eine Sequenznummer umfasst, und durch Hinzufügen eines Startbits und eines Stoppbits zu der ersten und letzten PDU, die jeweils mit jedem Datenpaket assoziiert sind. Der Verwerfungsmechanismus muss in der Lage sein zu erkennen, wenn eine PDU, die zu einem Datenpaket gehört, verworfen worden ist, und an dem Sender das gesamte Datenpaket, die mit verworfener PDU assoziiert ist, zu verwerfen. Wenn der Empfänger bereits irgendeine PDU empfangen hat, die zu diesem Datenpaket gehört, dann muss der Verwerfungsmechanismus auch in der Lage sein den Empfänger darüber zu informieren, auch diese PDUs zu verwerfen.
  • Selbstverständlich gibt es eine Anzahl von bekannten Verwerfungsmechanismen für die ARQ Technik. Ein derartiger Verwerfungsmechanismus umfasst ein vom Empfänger initiiertes Verwerfungssignalisierungs-Verfahren. Jedoch ist diese Technik nicht übermäßig attraktiv, besonders deshalb, weil der Sender und nicht der Empfänger in einer besseren Position ist zu bestimmen, wie und wann die Neuübertragung von PDUs und die Verwerfung von diesen zu stoppen ist.
  • In Übereinstimmung mit einem anderen Verwerfungsmechanismus, der in der internationalen Veröffentlichungsnummer WO 00/25470, „ARQ Discard Capability" des gleichen Anmelders beschrieben wird, wird ein einzelnes Bit, das als das Empfangspaket-Erzwingungsbit (Receive Packet Enforcement Bit; RPEB) bezeichnet wird, in dem Header Abschnitt von jeder PDU verwendet wird, um den Empfänger darüber zu informieren, dass er einen Empfang von PDUs mit einer niedrigeren Sequenznummer nicht erwarten sollte und, dass der Empfänger diese PDU außerhalb der Sequenz akzeptieren sollte. Obwohl diese Anmeldung in der Tat zeigt, dass das RPEB auf die Selective Repeat ARQ Technik angewendet werden könnte, ist die Anmeldung vorwiegend auf eine Verwerfungssignalisierung für eine ARQ Technik des Go-back-N Typs gerichtet.
  • In der internationalen Veröffentlichungsnummer WO 00/46948, „Prime ARQ Control Flow Including Cell Discard" des gleichen Anmelders wird noch ein anderer Verwerfungsmechanismus beschrieben. In dieser Anmeldung ist der Verwerfungsmechanismus jedoch dafür ausgelegt, um in Verbindung mit einem Prime-ARQ Verfahren, einer Variante der Go-back-N und Selective Repeat ARQ Technik, verwendet zu werden.
  • Demzufolge würde es wünschenswert sein einen Verwerfungsmechanismus bereitzustellen, der jede der verschiedenen voranstehend beschriebenen Möglichkeiten bzw. Fähigkeiten aufzeigt. Insbesondere würde es wünschenswert sein einen vom Sender initiierten Verwerfungsmechanismus bereitzustellen, der spezifisch dafür ausgelegt ist, um effizient und effektiv mit einer Selective Repeat ARQ zu arbeiten.
  • US-A-5 754 754 (DUDLEY JOHN G. et al), 19. Mai 1998 (1998-05-19) bezieht sich auf ein Fehlerwiederherstellungssystem und ein Verfahren zur Verwendung in einem Datenkommunikationssystem, bei dem eine Senderstation Informationspakete mit sequentiell nummerierter Information an eine Empfängerstation überträgt.
  • Die US-A-5 610 595 (GARRABRANT GARY W. et al); 11. März 1997 (1997-03-11) bezieht sich auf ein Verfahren und eine Vorrichtung zum Übertragen von Daten in einem Paketfunkkommunikationssystem mit Datenquellen, Zielstellen und Zwischen-Repeatern.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung beinhaltet die Verwendung von ARQ Techniken, um zu der Sicherstellung der zuverlässigen Lieferung von Datenpaketen, die nachstehend als Protokolldateneinheiten (Potocol Data Units; PDUs) bezeichnet werden, von einem Sender an einen Empfänger beizutragen. Insbesondere beinhaltet die vorliegende Erfindung eine Selective Repeat ARQ Technik, die einen vom Sender initiierten PDU Verwerfungsmechanismus verwendet, der in spezifischer Weise dafür ausgelegt ist, um in Verbindung mit einer Selective Repeat ARQ Technik verwendet zu werden.
  • Demzufolge ist es ein Ziel der vorliegenden Erfindung einen Verwerfungsmechanismus für ein Selective Repeat ARQ Verfahren bereitzustellen, die eine vom Sender initiierte Signalisierung anstelle einer vom Empfänger initiierten Signalisierung verwendet.
  • Es ist ein anderes Ziel der vorliegenden Erfindung einen vom Sender initiierten Verwerfungsmechanismus für ein Selective Repeat ARQ Verfahren bereitzustellen, der die Segmentierung und den Neuzusammenbau von Datenpaketen berücksichtigt.
  • Es ist noch ein anderes Ziel der vorliegenden Erfindung einen vom Sender initiierten Verwerfungsmechanismus für ein Selective Repeat ARQ Verfahren bereitzustellen, sogar dann, wenn keine explizite Verwerfungssignalisierungsmöglichkeit vorhanden ist.
  • Die voranstehend identifizierten und andere Aufgaben werden durch Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ gemäß der Ansprüche 1–5 erzielt.
  • KURZBESCHREIBUNG DER FIGUREN
  • Die Aufgaben und Vorteile der vorliegenden Erfindung lassen sich durch Lesen der folgenden ausführlichen Beschreibung im Zusammenhang mit den Zeichnungen verstehen. In den Zeichnungen zeigen:
  • 1A–B eine erste beispielhafte Ausführungsform der vorliegende Erfindung bzw. eine Alternative dazu, wobei synchronisierte Timer verwendet werden, um eine PDU Verwerfung zu triggern;
  • 2 eine alternative Ausführungsform der vorliegenden Erfindung, bei der ein einzelner Timer an dem Sender und ein einzelner Timer an dem Empfänger verwendet wird, um eine PDU Verwerfung zu triggern;
  • 3A3D eine zweite beispielhafte Ausführungsform der vorliegenden Erfindung, wobei ein „Fenster-gestützter" Verwerfungsmechanismus verwendet wird;
  • 4 eine dritte beispielhafte Ausführungsform der vorliegenden Erfindung, wobei ein Verwerfungsbit in dem Header von jeder PDU für Verwerfungssignalisierungszwecke verwendet werden kann;
  • 5 eine vierte beispielhafte Ausführungsform der vorliegenden Erfindung, wobei ein Verwerfungsbit in dem Header von jeder PDU, die zu dem ersten Datenpaket gehört, welches verworfen noch vollständig bestätigt worden ist, für Verwerfungssignalisierungszwecke verwendet werden kann; und
  • 6 eine andere alternative Ausführungsform der vorliegenden Erfindung, bei der der Sender in seinem Puffer nicht eine erste PDU mit einem nicht-vollständig bestätigtem Datenpaket halten muss.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung beinhaltet ein Selective Repeat ARQ (eine ARQ mit einer automatischen Wiederholung), und insbesondere Verwerfungsmechanismen, die damit verwendet werden sollen. Bei der Selective Repeat ARQ Technik stellt eine empfangende Einheit (die nachstehend als der Empfänger bezeichnet wird) kumulative Bestätigungssignale, selektive negative Bestätigungssignale, und selektive positive Bestätigungssignale für eine sendende Einheit (die nachstehend als der Sender bezeichnet wird) bereit. Das selektive negative Bestätigungssignal informiert den Sender darüber, dass an dem Empfänger eine bestimmte PDU nicht empfangen worden ist. Das selektive positive Bestätigungssignal informiert den Sender darüber, dass eine bestimmte PDU empfangen worden ist. Das kumulative Bestätigungssignal informiert den Sender darüber, dass sämtliche PDUs bis zu und einschließlich derjenigen mit der Sequenznummer, die in dem kumulativen Bestätigungssignal identifiziert wird, von dem Empfänger empfangen oder verworfen worden sind. Der Absender kann dann auf Grundlage des kumulativen Bestätigungssignals und selektiven positiven Bestätigungssignals bestimmen, welche PDUs von seinem Puffer freizugeben sind. Im Gegensatz dazu kann der Sender bestimmen, welche PDUs neu zu übertragen sind, und zwar auf Grundlage des selektiven negativen Bestätigungssignals.
  • Im Allgemeinen verwenden Selective Repeat ARQ Techniken ein „Übertragungsfenster" an dem Sender und ein „Empfangsfenster" an dem Empfänger, wobei ein Fenster ein Intervall von PDU Sequenznummern darstellt, die entweder für eine Übertragung oder einen Empfang verfügbar sind. Um jedoch Mehrdeutigkeiten hinsichtlich einer PDU Identifikation zu vermeiden, was sich ergeben könnte, wenn zwei PDUs mit der gleichen Sequenznummer in dem PDU Header übertragen werden, sei darauf hingewiesen, dass die maximale Fenstergröße 2k-1 ist, wobei jede Sequenznummer eine Anzahl k von Bits umfasst.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung werden synchronisierte Trigger in der Form von Timern an dem Sender und an dem Empfänger für den Zweck einer Bestimmung, welche PDUs zu verwerfen sind, verwendet, wobei garantiert wird, dass die Triggerung an dem Sender auftritt vor der Triggerung an dem Empfänger für eine gegebene PDU. Weil der Verwerfungsmechanismus in dieser ersten beispielhaften Ausführungsform sich auf synchronisierte Timingtrigger stützt, wird eine explizite Signalisierung, um den Empfänger darüber zu informieren, wann der Sender ein oder mehrere PDUs verworfen hat, nicht benötigt, wodurch Netzressourcen und Bandbreite eingespart wird.
  • Wie angegeben nehmen die synchronisierten Trigger die Form von Timern an, in Übereinstimmung mit dieser ersten beispielhaften Ausführungsform, wobei ein Timer an dem Sender das Messen einer Zeitperiode TS beginnt, wenn eine PDU zuerst von dem Sender an den Empfänger übertragen wird. Im Allgemeinen verwirft der Sender die PDU, wenn der Sender nach dem Ablauf der Zeitperiode TS eine Bestätigung von dem Empfänger darüber, dass die PDU richtig an den Empfänger geliefert und dort richtig empfangen worden ist, nicht empfängt. Wenn an dem Empfänger eine PDU mit der Sequenznummer S empfangen wird und wenigstens eine fehlende PDU mit einer Sequenznummer niedriger als S vorhanden ist, dann beginnt ein Timer eine Zeitperiode TR zu messen, die wenigstens solang wie die Zeitperiode TS ist. Wenn die Zeitperiode TR abläuft und noch fehlende PDUs vorhanden sind, die eine Sequenznummer niedriger als die Sequenznummer S aufweisen, dann führt der Empfänger einen Betrieb aus, der hier als ein Lösch(S) Betrieb bezeichnet wird.
  • Während eines Löschen(S) Betriebs werden PDUs, die richtig empfangen worden sind, im Allgemeinen an eine obere Netzschicht geliefert. Jedoch werden sämtlichen fehlenden PDUs mit einer Sequenznummer niedriger als S freigegeben, wobei darauf hingewiesen wird, dass sich eine Freigabe einer PDU an dem Empfänger auf eine Aufhebung einer Zuordnung des Eingangpuffersatzes im Zusammenhang mit dieser PDU bezieht, wodurch Platz verfügbar für andere PDUs geschaffen wird. Zusätzlich werden sämtliche der fehlenden PDUs von dem Empfänger bestätigt, da der Empfänger nicht mehr erwartet sie zu empfangen. Wenn eine Segmentierung und ein Neuzusammenbau der Datenpakete verwendet wird, beinhaltet der Löschen(S) Betrieb eine Verwerfung von PDUs, die empfangen worden sind, wobei die PDUs eine Sequenznummer kleiner als S aufweisen und zu nicht-vollständig empfangenen Datenpaketen gehören.
  • 1A ist eine Zeitlinie von Ereignissen, um den Verwerfungsmechanismus dieser ersten beispielhaften Ausführungsform der vorliegenden Erfindung näher zu illustrieren. Wie dargestellt stellt die vertikale Linie ganz links eine Zeitlinie von Ereignissen dar, die an dem Sender auftreten, während die vertikale Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die an dem Empfänger auftreten. Ferner stellen die Pfeile, die von dem Empfänger stammen, ARQ Nachrichten dar, die zurück an den Sender gesendet werden, während die Pfeile, die von dem Sender stammen PDUs darstellen, die an den Empfänger übertragen oder erneut übertragen werden.
  • Wie in 1A gezeigt, sendet der Sender anfänglich eine erste PDU S1. Gleichzeitig mit der Übertragung von S1 startet der Sender einen Timer zur Messung einer Zeitperiode TS. Der Sender überträgt dann eine zweite PDU S2. Während der Sender die Messung einer neuen Zeitperiode beginnt, die der Übertragung von S2 entspricht, ist eine derartige Anzeige in 1A zur Übersichtlichkeit weggelassen.
  • Wie mit der Bezeichnung „x" angedeutet wird weder S1 noch S2 erfolgreich in dem Eingangspuffer des Empfängers empfangen. Deshalb informiert die ARQ Nachricht, die an den Absender zurück übertragen wird, den Absender darüber, dass S1 und S2 nicht erfolgreich empfangen wurden, wie mit ARQ (Nack S1, S2) dargestellt ist. Demzufolge überträgt der Absender S1 und S2 erneut, wie gezeigt. Bei der erneuten Übertragung von S1 und S2 wird nur S2 erfolgreich empfangen. Weil eine fehlende PDU (d.h. S1) mit einer niedrigeren Sequenznummer als S2 fehlt, als S2 empfangen wurde, beginnt der Empfänger eine Zeitperiode TR zu messen. Der Empfänger überträgt dann eine andere ARQ Nachricht zurück an den Sender (Absender), die den Absender darüber informiert, dass S1 nicht erfolgreich empfangen wurde und dass S2 erfolgreich empfangen wurde, wie mit ARQ (Nack S1, Ack S2) dargestellt ist. Bevor der Absender S1 erneut übertragen kann, läuft die Zeitperiode TS ab.
  • Der Ablauf der Zeitperiode TS ist der Trigger, der wiederum den Absender veranlasst nun S1 zu verwerfen anstelle S1 erneut zu übertragen, wie in 1A dargestellt. Der Sender überträgt dann S3 und S4. Auf einen Empfang von S4 hin überträgt der Empfänger eine andere ARQ Nachricht, ARQ (Nack S1, S3; Ack S2, S4), die den Absender darüber informiert, dass der Empfänger S1 (die bereits von dem Sender verworfen worden ist) noch nicht empfangen hat und dass der Empfänger S3 noch nicht empfangen hat. Gleichzeitig informiert die ARQ Nachricht den Absender auch darüber, dass der Empfänger in der Tat S2 und S4 erfolgreich empfangen hat. Der Absender antwortet darauf durch erneutes Übertragen von S3, wie angezeigt.
  • Bevor S3 erfolgreich empfangen wird läuft jedoch die Zeitperiode TR ab, was den Empfänger veranlasst einen Löschen(2) Betrieb auszuführen. Demzufolge werden sämtliche fehlenden PDUs mit einer Sequenznummer niedriger als S2 (d.h. S1) an dem Empfänger freigegeben. Ferner überträgt der Empfänger noch eine andere ARQ Nachricht zurück an den Absender, die den Absender darüber informiert, dass der Empfänger S1, S2, S3 und S4 bestätigt hat.
  • 1B zeigt eine Zeitlinie von Ereignissen, um einen Verwerfungsmechanismus ähnlich zu dem in 1A dargestellten Verwerfungsmechanismus darzustellen, aber für den Verwerfungsmechanismus in 1B unter Berücksichtigung der Segmentierung und des erneuten Zusammensetzens von Datenpaketen.
  • In dem in 1B dargestellten Beispiel besteht jedes Datenpaket aus drei PDUs, z.B. besteht ein erstes Datenpaket aus PDU S1, PDU S2 und PDU S3, die hier als S1, S2 und S3 bezeichnet werden, wobei die linken und rechten Klammern die erste und letzte PDU jeweils eines gegebenen Datenpakets anzeigen. Es sei jedoch darauf hingewiesen, dass die Datenpakete aus mehr oder weniger als drei PDUs bestehen können. Ferner sei darauf hingewiesen, dass nur ein Timer an dem Sender für jedes Datenpaket aufrechterhalten werden muss.
  • Wie in 1B dargestellt überträgt der Absender anfänglich die drei PDUs, die zu dem ersten Datenpaket S1, S2 und S3 gehören. In Übereinstimmung mit diesem alternativen Verwerfungsmechanismus initiiert der Absender einen Timer, um eine Zeitperiode TS, gleichzeitig zu der Übertragung der ersten PDU in jedem Datenpaket (d.h. gleichzeitig zu der Übertragung von S1) zu messen. In diesem Beispiel empfängt der Empfänger richtig nur S1 und S3, aber nicht S2, wie mit der Bezeichnung „x" angedeutet. Wie in der ersten voranstehend beschriebenen beispielhaften Ausführungsform initiiert der Empfänger einen Timer, um eine Zeitperiode TR3 zu messen, seitdem er eine PDU (d.h. S3) empfangen hat, wenn wenigstens eine fehlende PDU mit einer niedrigeren Sequenznummer (d.h. S2) vorhanden war. Der Empfänger sendet nun eine ARQ Nachricht zurück an den Absender, wobei der Absender darüber informiert wird, dass er S1 und S3 erfolgreich empfangen hat, aber nicht S2. Zu ungefähr der gleichen Zeit überträgt der Absender das nächste Datenpaket, das aus S4, S5 und S6 besteht, wie dargestellt.
  • Auf einen Empfang S4 hin beginnt der Empfänger eine andere Zeitperiode TR4 zu messen, weil S2 mit einer niedrigeren Sequenznummer als S4 noch fehlt. Obwohl dies nicht dargestellt ist, würde der Empfänger gleichermaßen Timer auf einen Empfang von S5 und S6 hin initiieren. Zu ungefähr der gleichen Zeit empfängt der Empfänger erfolgreich S4, S5 und S6, und der Sender empfängt tatsächlich die ARQ Nachricht, die die Benachrichtigung enthält, dass der Empfänger niemals S2 empfangen hat. Somit überträgt der Sender (Absender) S2 erneut, zusammen mit den ersten zwei PDUs, S7 und S8, die zu dem nächsten Datenpaket gehören.
  • Zu ungefähr der gleichen Zeit überträgt der Sender S2 erneut, der Empfänger sendet eine andere ARQ Nachricht zurück an den Absender, die den Absender darüber informiert, dass der Empfänger S1 und S3–S6 erfolgreich empfangen hat, und dass er noch S2 empfangen muss. Zu ungefähr der gleichen Zeit, zu der der Sender tatsächlich diese ARQ Nachricht empfängt, läuft die Zeitperiode TS ab. Da S2 an diesem Punkt nicht bestätigt worden ist, verwirft der Sender nicht nur S2, sondern sämtliche anderen PDUs, die zu dem ersten Datenpaket gehören (d.h. S1 und S3). Weil der Sender S1, S2 und S3 verwirft, rückt das Übertragungsfenster vor. Demzufolge überträgt der Sender nun PDUs, wie S9, S10 und S11, wobei S10 die erste PDU noch eines anderen Datenpakets ist.
  • Zu ungefähr der Zeit, zu der der Sender S9 überträgt, überträgt der Empfänger, der nicht weiß, dass der Sender S1, S2 und S3 verworfen hat, eine andere ARQ Nachricht zurück an den Absender, die den Absender darüber informiert, dass der Empfänger niemals S2 oder S8 empfangen hat. Zusätzlich informiert die ARQ Nachricht den Absender, dass S1 und S3–S7 erfolgreich empfangen wurden. Kurz danach läuft die Zeitperiode TR3 ab, wie angedeutet. Infolgedessen wird an dem Empfänger ein Löschen(3) Betrieb ausgeführt. In Übereinstimmung mit dem Löschen(3) Betrieb wird der Pufferraum an dem Empfänger, der für irgendwelche fehlenden PDUs mit einer Sequenznummer niedriger als S3 zugewiesen ist, freigegeben. Irgendwelche PDUs, die zu einem vorangehenden, unvollständigen Datenpaket gehören, werden verworfen, wenn sie empfangen oder freigegeben sind. In dem gegenwärtigen Fall führt der Löschen(3) Betrieb zu der Verwerfung von S1 und der Freigabe des Pufferraums, der für S2 zugewiesen wurde. Kurz danach läuft die Zeitperiode TR4 ab, wie dargestellt, sodass ein Löschen(4) Betrieb an dem Empfänger ausgeführt wird. Dies führt zu der Verwerfung von S3, da S3 empfangen wurde und zu einem vorangehenden und unvollständigem Datenpaket gehört. Wiederum rückt das Empfängerfenster infolgedessen vor.
  • Es sei darauf hingewiesen, dass in einer bevorzugten Ausführungsform der vorliegenden Erfindung das Übertragungsfenster und das Empfangsfenster auf einer PDU-für-PDU Basis vorgerückt werden. Wenn somit beispielsweise eine PDU am untersten Ende des Übertragungsfensters verworfen wir, rückt das Übertragungsfenster durch eine PDU vor. Wie Durchschnittsfachleute in dem technischen Gebiet erkennen werden, könnte das Übertragungsfenster und das Empfangsfenster jedoch auf einer Datenpaket-für-Datenpaket Basis vorgerückt werden. In Übereinstimmung mit diesem alternativen Ansatz könnte unter Umständen eine PDU an dem untersten Ende des Übertragungsfensters verworfen werden, aber das Übertragungsfenster nicht vorgerückt werden, bis sämtliche PDUs, die zu dem entsprechenden Datenpaket gehören, verworfen sind. Natürlich würde sich das Fenster um die Anzahl von PDUs in dem entsprechenden Datenpaket vorrücken.
  • In Übereinstimmung mit einem alternativen anderen Verwerfungsmechanismus wird nur ein einzelner Timer an dem Absender verwendet und ein einzelner Timer an dem Empfänger. Um jedoch Synchronisationsprobleme zu vermeiden darf die Zeitkonstante in Verbindung mit dem einzelnen Timer an dem Empfänger nicht kleiner als die Zeitkonstante in Verbindung mit dem einzelnen Timer an dem Absender sein. Demzufolge könnte der Empfänger unter Umständen eine gegebene PDU verwerfen (d.h. die Zuordnung des Pufferraums, der für die PDU reserviert wurde, aufheben), bevor der Absender tatsächlich die PDU verworfen hat. Um die Erläuterung dieses alternativen Verwerfungsmechanismus zu vermeiden wird dem einzelnen Timer an dem Absender und dem einzelnen Timer an dem Empfänger die gleiche Zeitkonstante gegeben.
  • Zusätzlich zu der Aufrechterhaltung eines einzelnen Timers an dem Absender und eines einzelnen Timers an dem Empfänger hält der Absender in Übereinstimmung mit dieser Alternative eine Variable HSS aufrecht, wobei der Wert von HSS die höchste Sequenznummer in Verbindung mit einer bis hierhin übertragenen PDU darstellt, und wobei der Wert von HSS einmal während jeder Zeitperiode in Verbindung mit dem einzelnen Timer an dem Absender, vorzugsweise zu Beginn jeder Zeitperiode, aktualisiert wird. Wie voranstehend erläutert kann der Bereich der Sequenznummern von 0 bis 2k-1, in Übereinstimmung mit dem Modulo 2 Format liegen, wobei k die Anzahl von Bits darstellt, die eine Sequenznummer bilden. Deshalb sei darauf hingewiesen, dass der Wortlaut „höchste Sequenznummer" nicht notwendigerweise der größte Sequenznummernwert ist, sondern im Hinblick auf das Modulo 2 Format interpretiert werden sollte. Der Empfänger führt andererseits zwei derartige Variablen HSR1 und HSR2, wobei der Wert von HSR1 die höchste Sequenznummer von irgendeiner von dem Empfänger an dem Beginn des gegenwärtigen Zyklus des Timers in Verbindung mit dem Empfänger empfangenen PDU ist, während der Wert von HSR2 die höchste Sequenznummer von irgendeiner PDU darstellt, die von dem Empfänger zu Beginn des voranstehenden Zyklus des Timers in Verbindung mit dem Empfänger empfangen wird.
  • Im Allgemeinen arbeitet dieser zweite alternative Verwerfungsmechanismus wie folgt. Wenn der Timer in Verbindung mit dem Sender seinen gegenwärtigen Zyklus beginnt, löscht der Absender aus seinem Puffer sämtliche PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert der variablen HSS. Deshalb aktualisiert der Absender den Wert HSS, wie voranstehend beschrieben. Somit werden sämtliche PDUs, die gesendet worden sind, aber nach wenigstens einem vollen Zyklus nicht bestätigt worden sind, verworfen. Wenn im Gegensatz dazu der Timer in Verbindung mit dem Empfänger seinen gegenwärtigen Zyklus beginnt, löscht der Empfänger sämtliche PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert der Variablen HSR2. Danach aktualisiert der Empfänger den Wert von HSR2 mit dem gegenwärtigen Wert von HSR1 und er aktualisiert den Wert von HSR1 mit der gegenwärtigen höchsten Sequenznummer von irgendeiner empfangenen PDU. Demzufolge löscht der Empfänger nur PDUs mit Sequenznummern kleiner als die höchste Sequenznummer von irgendeiner PDU, die an den Empfänger zu dem Beginn des voranstehenden Zyklus gesendet wurde, wodurch verhindert wird, dass der Empfänger unbeabsichtigt irgendwelche PDUs verwirft, die der Sender noch versucht zu übertragen oder erneut zu übertragen.
  • 2 zeigt mit näheren Einzelheiten diesen alternativen Verwerfungsmechanismus, wobei die vertikale Achse die Sequenznummern der PDUs darstellt, die gerade von dem Absender an den Empfänger übertragen werden, und wobei die horizontale Achse den Zeitablauf darstellt. Die Zeitperiode zwischen einer „gestrichelten" vertikalen Linie stellt einen vollständigen Zyklus in Verbindung mit dem einzelnen Timer an dem Absender dar, während die Zeitperiode zwischen jeder „gepunkteten" vertikalen Linie einen vollständigen Zyklus in Verbindung mit dem einzelnen Timer an dem Empfänger darstellt. Demzufolge stellt der „gestrichelte" Graph die höchste Sequenznummer von irgendwelchen PDUs an dem Absender dar, während der „gepunktete" Graph die höchste Sequenznummer von irgendeiner PDU an dem Empfänger darstellt.
  • Wie in 2 dargestellt setzt der Empfänger, zu Beginn seines ersten Zyklus, der zur Zeit S1 auftritt, die Variable HSS gleich zu dem Wert der höchsten Sequenznummer an dem Absender. In dem in 2 dargestellten Beispiel ist die höchste Sequenznummer an dem Absender zur Zeit S1„A". Der Empfänger setzt, zu Beginn seines ersten Zyklus, der zurzeit R1 auftritt, die Variable HSR1 gleich zu dem Wert der höchsten Sequenznummer an dem Empfänger. In dem Beispiel der 2 ist die höchste Sequenznummer an dem Empfänger zur Zeit R1„a". Dann wirft der Absender, zu Beginn des zweiten Sendezyklus, der zur Zeit S2 auftritt, sämtliche PDUs mit einer Sequenznummer kleiner als der Wert von „A". Diese Sequenznummern werden graphisch durch die „schattierte" Linie dargestellt, die über dem unteren Abschnitt der „gestrichelten" vertikalen Linie zur Zeit S2 liegt. Danach aktualisiert der Absender die Variable HSS mit der gegenwärtigen höchsten Sequenznummer an dem Absender. In dem Beispiel der 2 ist dieser Wert „B". Zu Beginn des zweiten Empfangszyklus, der zur Zeit R2 auftritt, setzt der Empfänger die Variabel HSR2 gleich zu „a", der der gegenwärtige von HSR1 ist. Der Empfänger aktualisiert dann den Wert von HSR1 auf gleich zu dem Wert der höchsten Sequenznummer an dem Empfänger zur Zeit R1, was in 2 mit „b" gezeigt ist.
  • Zu Beginn des dritten Sendezyklus, der zur Zeit S3 auftritt, verwirft der Absender sämtliche PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert von HSS. Im Beispiel der 2 ist der gegenwärtige Wert von HSS an diesem Punkt „B". Die Sequenznummern kleiner als „B" werden mit der „schattierten" Linie dargestellt, die über den unteren Abschnitt der „gestrichelten" vertikalen Linie zur Zeit S3 liegt. Danach aktualisiert der Absender den Wert der Variablen HSS mit dem Wert der höchsten Sequenznummer an dem Absender zur Zeit S3. Zu Beginn des dritten Empfangszyklus, der zur Zeit R3 auftritt, verwirft der Empfänger sämtliche PDUs mit einer Sequenznummer kleiner als „a", dem gegenwärtigen Wert von HSR2. Die Sequenznummer kleiner als „a" werden mit der „schattierten" vertikalen Linie dargestellt, die über dem unteren Abschnitt der „gepunkteten" vertikalen Linie zur Zeit R3 liegt. Danach setzt der Empfänger die Variable HSR2 gleich zu „b", dem gegenwärtigen Wert von HSR1. Dann setzt der Empfänger die Variable HSR1 gleich zu „c", der höchsten Sequenznummer an dem Empfänger zur Zeit R3.
  • Aus 2 lässt sich entnehmen, dass sich die voranstehend beschriebene Prozedur selbst kontinuierlich wiederholt. Ferner lässt sich entnehmen, dass die voranstehend beschriebene Prozedur sogar dann angewendet werden könnte, wenn eine Segmentierung und eine Neuzusammensetzung von Datenpaketen verwendet wird. In diesem Fall würde der Absender vollständige Datenpakete verwerfen, die PDUs mit einer Sequenznummer enthalten, die kleiner als der Wert von HSS ist, während der Empfänger gesamte Datenpakete verwerfen würde, die PDUs mit Sequenznummern enthalten, die kleiner als der Wert von HSR2 sind.
  • In Übereinstimmung mit einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung wird ein „Fenster-gestützter" Ansatz verwendet, um eine Verwerfungs-Signalisierung zu vereinfachen. Ferner wird in Übereinstimmung mit dieser zweiten beispielhaften Ausführungsform ein Übertragungsfenster an dem Absender definiert, wobei die Größe des Übertragungsfensters K Sequenznummern in der Länge ist, und wobei die erste Sequenznummer in dem Übertragungsfenster zu der PDU gehört, die die niedrigste Sequenznummer von irgendwelchen PDUs an dem Absender aufweist, die nicht bestätigt wurden (d.h. der Absender hat noch nicht eine Bestätigung empfangen, dass die PDU erfolgreich empfangen worden ist) und die nicht verworfen werden. Noch weiter in Übereinstimmung mit dieser zweiten beispielhaften Ausführungsform sind nur PDUs mit einer Sequenznummer, die in das Übertragungsfenster fällt, für eine Übertragung geeignet. Zusätzlich wird ein Empfangsfenster an dem Empfänger definiert, wobei die Größe des Empfangsfensters ebenfalls K Sequenznummern in der Länge ist.
  • Der Wert von K muss kleiner als die maximale Fenstergröße von 2k-1 sein. Ferner kann der Wert von K vordefiniert sein oder er kann beim Starten verhandelt werden. Es ist auch möglich, dass sich der Wert von K während der Übertragung dynamisch ändert. Durchschnittfachleute in dem technischen Gebiet werden leicht erkennen, dass die Größe des Puffers an dem Absender und die Größe des Eingangspuffers an dem Empfänger in der Lage sein sollten, wenigstens K PDUs aufzunehmen.
  • Die Technik in Verbindung mit der zweiten beispielhaften Ausführungsform arbeitet wie folgt. Der Absender überträgt nur PDUs, die eine Sequenznummer aufweisen, die in das Übertragungsfenster fällt, wie angegeben. Wenn jedoch der Sender PDUs verwirft, wird das Übertragungsfenster vorgeschoben, sodass PDUs mit höheren Sequenznummern in das Fenster fallen und für eine Übertragung geeignet werden. Eine Verschiebung des Übertragungsfensters wird nur soweit zugelassen, dass der obere Teil des Fensters nicht die Sequenznummer entsprechend zu dem kumulativen Bestätigungspunkt plus der maximalen Fenstergröße (C + 2k-1) überschreitet, um so Sequenznummern-Mehrdeutigkeiten zu vermeiden. Wenn ein Empfänger eine PDU empfängt, deren Sequenznummer größer als das Empfangsfenster ist, zum Beispiel eine PDU mit einer Sequenznummer S, dann führt der Empfänger einen Löschen(S – K + 1) Betrieb aus. In Übereinstimmung mit dem Löschen(S – K + 1) Betrieb gibt der Empfänger den Eingangspufferraum frei, der allen fehlenden PDUs zugewiesen ist, die eine Sequenznummer kleiner als oder gleich wie die Sequenznummer S – K aufweisen. Wenn eine Segmentierung und eine Neuzusammensetzung von Datenpaketen verwendet wird könnte der Löschen(S – K + 1) Betrieb unter Umständen auch eine Verwerfung von sämtlichen PDUs mit sich bringen, die eine Sequenznummer kleiner als oder gleich wie S – K aufweisen, die zu unvollständigen Datenpaketen gehören, obwohl die PDUs selbst richtig empfangen worden sind. Der Empfänger kann diese PDUs freigeben oder verwerfen, weil PDUs mit einer Sequenznummer kleiner als oder gleich wie die Sequenznummer S – K wirklich nicht mehr in dem Übertragungsfenster sein können, sodass dann, wenn sie nicht empfangen worden sind, der Empfänger nicht erwarten kann sie zu empfangen.
  • Die 3A3E illustrieren die Technik in Verbindung mit der zweiten beispielhaften Ausführungsform. In den 3A3E stellt der Bogen entsprechend zu einem keilförmigen Abschnitt des Kreises das Übertragungsfenster an dem Absender dar, während der Bogen außerhalb des Kreises das Empfangsfenster an dem Empfänger darstellt. Wie gezeigt überspannt das Übertragungsfenster einen Abschnitt des Kreises von einem Punkt, der mit BM markiert ist, bis zu einem Punkt, der mit TP markiert ist, wobei BM die niedrigste Sequenznummer unten an dem Übertragungsfenster darstellt und TP die höchste Sequenznummer oben an dem Übertragungsfenster darstellt. Auch gezeigt ist ein Punkt CA und ein Punkt CP. Der Punkt CA stellt den kumulativen Bestätigungspunkt dar, bei dem sämtliche PDUs mit einer Sequenznummer kleiner als oder gleich wie die Sequenznummer entsprechend zu CA als von dem Empfänger erfolgreich empfangen oder verworfen bestätigt worden sind. Der CP Punkt stellt den gegenwärtigen Zeiger oder die Sequenznummer entsprechend zu der nächsten neuen PDU, die von dem Absender an den Empfänger übertragen werden soll, dar. Zusätzlich zeigen die 3A3E eine Anzahl von nicht markierten Punkten entlang des Bogens entsprechend zu dem Übertragungsfenster zwischen BM und CP. Diese nicht markierten Punkte stellen PDUs dar, die übertragen worden sind, die aber noch nicht als erfolgreich empfangen bestätigt worden sind.
  • Insbesondere zeigt 3A eine anfängliche Situation, bei der ein Empfangsfenster in Bezug auf das Übertragungsfenster voraus oder vor diesem ist. Der Grund, warum das Empfangsfenster vor dem Übertragungsfenster ist, besteht darin, dass oft ARQ Nachrichten, die ein oder mehrere PDUs bestätigen, noch nicht an dem Absender empfangen worden sind. Schließlich werden diese ARQ Nachrichten empfangen und an dem Absender verarbeitet, wodurch zu dem CA Punkt und demzufolge dem Übertragungsfenster, wie in 3B dargestellt, vorgerückt wird. In der Tat könnte der Absender mit der Versendung von PDUs bis zu und einschließlich der PDU mit der höchsten möglichen Sequenznummer in dem Übertragungsfenster weiter machen. Diese Situation ist in 3C dargestellt, bei der der Punkt CP tatsächlich mit dem Punkt TP übereinstimmt. Der Absender wird an diesem Punkt angehalten. Das heißt, er kann nicht irgendwelche neuen PDUs übertragen, bis das Übertragungsfenster vorrückt. Natürlich kann der Absender eine erneute Übertragung von PDUs fortsetzen, die nicht bestätigt worden sind und deren Sequenznummer in das Übertragungsfenster fallen.
  • Um ein Anhalten über eine signifikante Zeitlänge zu vermeiden kann der Absender entscheiden ein oder mehrere PDUs an dem unteren Ende des Übertragungsfensters zu verwerfen, wie in 3D dargestellt. Die Entscheidung dies zu tun kann z.B. auf die Tatsache gestützt werden, dass der Sender die eine oder mehreren PDUs eine bestimmte Anzahl von Malen erneut übertragen hat, oder die Entscheidung kann auf den Ablauf einer Zeitperiode in Verbindung mit der einen oder den mehreren PDUs gestützt werden. 3D zeigt auch, dass durch Verwerfen der einen oder der mehreren PDUs an dem unteren Ende des Übertragungsfensters das Übertragungsfenster vorrücken kann. Dadurch fallen neue PDUs in das Übertragungsfenster, sodass der Sender nicht länger unterbrochen ist.
  • An diesem Punkt hängt das Empfangsfenster hinter dem Übertragungsfenster her. Jedoch triggert der Empfang einer PDU, die über dem Empfangsfenster ist, den Empfänger einen Lösch-Betrieb auszuführen. Wenn z.B. die empfangene PDU eine Sequenznummer S aufweist, die dem Wert von TP in 3E entspricht, dann führt der Empfänger einen Löschen(S – K + 1) Betrieb aus, der einem Löschen(BM) Betrieb entspricht, bei dem sämtliche PDUs mit einer Sequenznummer kleiner als die Sequenznummer entsprechend zu BM an dem unteren Ende des Übertragungsfensters verworfen werden, wodurch bewirkt wird, dass das Übertragungsfenster und das Empfangsfenster ausgerichtet werden. Dies veranlasst den Empfänger sämtliche PDUs mit einer Sequenznummer von S – K oder weniger freizugeben oder zu löschen. Wenn die PDUs zu einem vollständigen Datenpaket gehören, werden die PDUs anstelle davon an eine obere Netzschicht zur Verarbeitung und/oder Übertragung an einen Empfänger an der nächsten Stelle (nexthop) übergeben. Wie voranstehend angegeben wird es leicht ersichtlich sein, dass PDUs mit einer Sequenznummer von S – K oder weniger per Definition unter dem Übertragungsfenster und deshalb nicht mehr geeignet für eine Übertragung sein müssen. Wenn diese PDUs noch nicht richtig empfangen worden sind, gibt es demzufolge keine Chance, dass sie nachstehend erfolgreich neu übertragen und empfangen werden. Nach Ausführen dieses Lösch-Betriebs kann das Empfangsfenster vorrücken, wie dargestellt.
  • In den ersten und zweiten beispielhaften Ausführungsformen, sowie den verschiedenen alternativen Ausführungsformen, die voranstehend beschrieben werden, wird eine explizite Signalisierung nicht verwendet, dass heißt, keine zusätzliche Bandbreite wird benötigt, um den Empfänger darüber zu informieren, dass bestimmte PDUs von dem Absender gelöscht worden sind. Der Hauptvorteil, der von diesen beispielhaften Ausführungsformen realisiert wird, ist dass die Bandbreite effizienter verwendet wird. Dies ist besonders wichtig, wenn die Bandbreite begrenzt ist und/oder teurer ist, was relativ oft der Fall ist. Wenn jedoch die Bandbreite nicht begrenzt ist oder wenn beispielsweise die Geschwindigkeit wichtiger als die effiziente Verwendung der Bandbreite ist, können alternative Verwerfungsmechanismen verwendet werden, bei denen eine explizite Signalisierung verwendet wird, um den Empfänger darüber zu informieren, wenn ein oder mehrere PDUs von dem Absender verworfen worden sind.
  • Die verschiedenen beispielhaften Ausführungsformen, die nachstehend beschrieben werden, stützen sich im Gegensatz zu denjenigen, die oben beschrieben wurden, auf eine explizite Signalisierung, um den Empfänger zu informieren, wenn ein oder mehrere PDUs von dem Absender verworfen worden sind. In diesen beispielhaften Ausführungsformen umfasst der Header von jeder PDU ein Teil, was hier als ein Verwerfungsbit bezeichnet wird, und möglicherweise ein Datengültigkeitsbit. Wenn das Verwerfungsbit in dem Headerabschnitt einer gegebenen PDU gesetzt ist, signalisiert es explizit dem Empfänger, dass sämtliche PDUs mit einer Sequenznummer kleiner als die Sequenznummer der gegebenen PDU an dem Absender verworfen worden sind. Der Empfänger sollte demzufolge nicht mehr erwarten diese PDUs zu empfangen. Der Empfänger kann dann einen Lösch-Betrieb ausführen, sodass das Empfangsfenster vorrücken kann. Wenn ein Datengültigkeitsbit verwendet wird, zusätzlich zu dem Verwerfungsbit, und das Datengültigkeitsbit in dem Headerabschnitt der gegebenen PDU gesetzt ist, signalisiert es explizit dem Empfänger, dass der Nutzlastteil der PDU Benutzerdaten enthält. Wenn im Gegensatz dazu das Datengültigkeitsbit zurückgesetzt ist, signalisiert es dem Empfänger explizit, dass der Nutzlastabschnitt der PDU keine Benutzerdaten enthält und dass der Empfänger nur den Headerabschnitt der PDU verarbeiten sollte und dann die PDU verwerfen sollte. Wie näher ersichtlich wird, unterscheiden sich die beispielhaften Ausführungsformen, die nachstehend beschrieben werden, auf Grundlage davon, ob sie nur ein Verwerfungsbit verwenden oder ob sie sowohl ein Verwerfungsbit als auch ein Datengültigkeitsbit verwenden. Sämtliche nachstehend beschriebenen beispielhaften Ausführungsformen unterscheiden sich jedoch von denjenigen, die voranstehend beschrieben wurden, dahingehend, dass diejenigen, die voranstehend beschrieben wurden, weder ein Verwerfungsbit noch ein Datengültigkeitsbit verwenden, wie erwähnt.
  • In Übereinstimmung mit einer dritten beispielhaften Ausführungsform der vorliegenden Erfindung wird eine Ein-Bit-Erweiterung an dem Headerabschnitt von jeder PDU verwendet, um eine Verwerfungssignalisierung zu ermöglichen, wobei die Ein-Bit-Erweiterung ein Verwerfungsbit ist, wie voranstehend beschrieben. Ferner hält der Absender in Übereinstimmung mit dieser dritten beispielhaften Ausführungsform in seinem Puffer die erste PDU von irgendeinem nicht-vollständig bestätigten Datenpaket, bis das Datenpaket vollständig bestätigt ist (d.h. vollständig empfangen oder verworfen wird). Wenn der Absender sämtliche PDUs in Verbindung mit einem gegebenen Datenpaket zu dem Empfänger sendet und im Ansprechen darauf der Absender eine selektive positive Bestätigung von dem Empfänger erhält, die anzeigt, dass die erste PDU richtig empfangen worden ist, wird somit der Absender diese erste PDU in seinem Puffer halten, bis das gesamte Datenpaket bestätigt worden ist (d.h. bis sämtliche verbleibenden PDUs durch den Empfänger über eine selektive oder kumulative positive Bestätigung bestätigt worden ist). Eine weitere Anforderung mit dieser dritten beispielhaften Ausführungsform besteht darin, dass der Absender, nach Ausführen eines Verwerfungsbetriebs, fortfährt in seinem Puffer wenigstens eine gültige PDU zu speichern. Es sei hier erwähnt, dass bestimmte Typen von Speicherverwaltungssystemen erfordern, dass PDUs in Verbindung mit einem gegebenen Datenpaket zusammengehalten werden sollen, sodass Speicher für sämtliche PDUs in Verbindung mit gegebenen Datenpaket zu der gleichen Zeit zugewiesen und aufgehoben werden muss. Es sei ferner darauf hingewiesen, dass diese dritte beispielhafte Ausführungsform geeignet ist zur Verwendung mit derartigen Speichermanagementsystemen.
  • Der Verwerfungsmechanismus in Verbindung mit dieser dritten beispielhaften Ausführungsform arbeitet wie folgt. Wenn der Absender PDUs bis zu und einschließlich von denjenigen PDUs verwirft, die zu einem gegebenen Datenpaket gehören, wird ein explizites Verwerfungssignal erzeugt. Dieses Verwerfungssignal nimmt die Form einer PDU an, die hier als eine Verwerfungssignal-PDU bezeichnet wird, wobei das Verwerfungsbit in dem Headerabschnitt der Verwerfungssignal-PDU gesetzt ist. Es folgt, dass dann, wenn die erste nicht verworfene PDU an dem Absender verfügbar ist und deren Sequenznummer in das Übertragungsfenster fällt, dann die Verwerfungssignal-PDU die erste nicht verworfene PDU ist. Wenn jedoch die erste nicht verworfene PDU noch nicht an dem Absender verfügbar ist oder die erste noch nicht verworfene PDU nicht übertragen werden kann, weil sie eine Sequenznummer aufweist, die über das Übertragungsfenster fällt, dann ist die Verwerfungssignal-PDU die zuletzt gespeicherte PDU. Wenn die erste nicht verworfene PDU zu einer späteren Zeit übertragen wird, wird sie mit ihrem Verwerfungsbit gesetzt übertragen werden.
  • Ferner regeneriert der Absender, in Übereinstimmung mit dieser dritten beispielhaften Ausführungsform, eine Verwerfungssignal-PDU, wenn sie eine ARQ Nachricht von dem Empfänger empfängt, der PDUs nicht bestätigt, die bereits von dem Absender verworfen worden sind, und wenn eine minimale Zeitperiode Tmin abgelaufen ist, seit dem der Absender eine Verwerfungssignal-PDU zuletzt übertragen hat. Es sei jedoch darauf hingewiesen, dass sich die regenerierte Verwerfungssignal-PDU von der vorangehenden Verwerfungssignal-PDU unterscheiden kann, da die voranstehende Verwerfungssignal-PDU mit einem Datenpaket assoziiert gewesen sein kann, welches vollständig bestätigt worden ist. Eine Regeneration der Verwerfungssignal-PDU ist erforderlich, um sicherzustellen, dass der Empfänger benachrichtigt wird, dass vorangehende PDUs an dem Absender verworfen worden sind, sogar für den Fall, dass das vorangehende Verwerfungssignal niemals erfolgreich an dem Empfänger empfangen wird. Es sei darauf hingewiesen, dass der Wert von Tmin konstant sein sollte, und dass der Wert Tmin wenigsten so groß wie die Zeit sein sollte, die benötigt wird, um ein Signal zwischen dem Absender und dem Empfänger und zurück zu übertragen.
  • Wiederum erfordert die dritte beispielhafte Ausführungsform, dass die erste nicht verworfene PDU die erste PDU in Verbindung mit einem Datenpaket ist und dass sie in dem Puffer des Absenders gespeichert wird, bis sämtliche PDUs im Zusammenhang mit diesem Datenpaket bestätigt sind. Wenn dies nicht benötigt werden würde könnte der Empfänger unter Umständen eine PDU mit einem gesetzten Verwerfungsbit empfangen, wobei eine PDU nicht die erste PDU eines Datenpakets ist. Auf einen Empfang der PDU hin würde der Empfänger einen Lösch-Betrieb ausführen, wobei bewirkt wird, dass die erste PDU des Datenpakets verworfen wird. Der Vorteil der dritten beispielhaften Ausführungsform ist, dass eine relativ einfache Ein-Bit-Erweiterung zu dem Headerabschnitt von jeder PDU einen robusten Verwerfungssignalisierungsmechanismus bereitstellen kann.
  • 4 zeigt den Verwerfungsmechanismus der dritten beispielhaften Ausführungsform, wobei die vertikale Linie ganz links eine Zeitlinie von Ereignissen darstellt, die an dem Absender auftreten, und wobei die vertikale Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die an dem Empfänger auftreten. Ferner stellen die PDU Sequenznummern, die auf der rechten Seite der vertikale Linie ganz rechts erscheinen, diejenigen PDUs dar, die an dem Eingangspuffer des Empfängers erfolgreich empfangen worden sind, während diejenigen auf der linken Seite der vertikalen Linie ganz links diejenigen PDUs darstellen, die in dem Puffer an dem Absender gespeichert werden. Die Klammem zeigen den Beginn und das Ende von jedem Datenpaket an. Beispielsweise entsprechen die Sequenznummern S7, S8 und S9 jeweils der ersten, zweiten und letzten PDU eines Datenpakets. Zusätzlich stellen die Pfeile, die von dem Empfänger ausgehen, ARQ Nachrichten dar, die beispielsweise selektive positive Bestätigungssignale, selektive negative Bestätigungssignale, und/oder kumulative Bestätigungssignale einschließen. Die Pfeile, die von dem Absender ausgehen, stellen PDUs dar, die gerade übertragen oder erneut übertragen werden, wobei das Sternchen (*), welches bestimmten PDU Sequenznummmern folgt, anzeigt, dass eine PDU nicht erfolgreich empfangen wird. Schließlich zeigt eine PDU Sequenznummer, der der Buchstabe „D" folgt, an, dass die entsprechende PDU eine Verwerfungssignalisierungs-PDU ist.
  • Zu Anfang zeigt 4, dass der Eingangspuffer an dem Empfänger die PDU mit der Sequenznummer S2 enthält, die hier als S2 bezeichnet wird, und eine PDU mit der Sequenznummer S4, die hier als S4 bezeichnet wird. Ferner zeigt 4, dass der Empfänger eine ARQ Nachricht an den Absender überträgt, die anzeigt, dass sämtliche PDUs bis zu der PDU mit der Sequenznummer S0 kumulativ bestätigt werden, dass S2 und S4 positiv bestätigt werden, und dass S1, S3 und S5–S8 negativ bestätigt werden. Somit setzt der Puffer an dem Absender eine Speicherung von S1, S3 und S5–S8 fort. Der Puffer enthält nun auch S9. Zusätzlich speichert der Absender S4, weil S4 die erste PDU eines entsprechenden Datenpakets ist, welches nicht vollständig bestätigt worden ist. Wie voranstehend erläutert wird der Absender weiter S4 speichern, bis sämtliche PDUs im Zusammenhang mit diesem Paket bestätigt sind.
  • Der Absender antwortet darauf durch erneutes Übertragen von S1, S3 und S5–S8. Wie angedeutet werden S1, S5 und S8 erfolgreich empfangen; jedoch werden S3, S6 und S7 nicht erfolgreich empfangen. Demzufolge enthält der Eingangspuffer an dem Empfänger nun S1, S2, S4, S5 und S8. Der Empfänger überträgt im Ansprechen darauf eine ARQ Nachricht, die kumulativ sämtliche PDUs bis zu und einschließlich S2 bestätigt, positiv S4, S5 und S8 bestätigt, und negativ S3, S6 und S7 bestätigt.
  • Auf einen Empfang der letzten ARQ Nachricht von dem Empfänger hin, die die kumulative Bestätigung bis zu S2 hin einschließt, setzt der Absender eine Speicherung von S1 fort, und zwar trotz der Tatsache, dass S1 von dem Empfänger bestätigt wurde, und zwar wegen dem gleichen Grund, wegen dem der Absender auch S4 speichert, wie voranstehend erläutert. Demzufolge enthält der Puffer an dem Absender nun S3, S6, S7 und S9, sowie S1 und S4. Der Absender versucht dann S3, S6, S7 und S9 erneut zu übertragen. Wie angezeigt wird nur S7 erfolgreich empfangen. Somit enthält der Eingangspuffer an dem Empfänger nun S1, S2, S4, S5, S7 und S8. Deshalb umfasst die nächste ARQ Nachricht, die an den Absender übertragen wird, eine kumulative Bestätigung für sämtliche PDUs bis zu S2, eine positive Bestätigung von S4, S5, S7 und S8, und eine negative Bestätigung von S3 und S6.
  • An diesem Punkt löscht der Absender die PDUs S1–S3, wie in 4 angedeutet. Der Absender kann sich dafür entscheiden dies zu tun nach dem Ablauf einer bestimmten Zeitperiode oder nach einem nicht erfolgreichen Versuch z.B. S3 erneut zu übertragen. Zusätzlich setzt der Absender eine Speicherung von S7 fort, und zwar trotz der Tatsache, dass S7 erfolgreich empfangen wurde, bis das Datenpaket entsprechend S7 vollständig bestätigt wird. Der Puffer im Zusammenhang mit dem Sender enthält auch S6 und S9. Der Sender überträgt nun eine Verwerfungssignalisierungs-PDU unter Verwendung von S4 (identifiziert als S4D). Der Absender verwendet S4 für die Verwerfungssignalisierungs-PDU, weil sie die erste PDU in dem ersten nicht-vollständig bestätigten Datenpaket ist. Zusätzlich überträgt der Absender sowohl S6 als auch S9 erneut. Wie gezeigt wird nur S6 erfolgreich empfangen. Somit enthält der Eingangspuffer an dem Empfänger nun S1, S2 und S4–S8. Demzufolge überträgt der Empfänger eine ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis zu S2 hin einschließt, eine positive Bestätigung S4–S8, und eine negative Bestätigung von S3 und S9.
  • Die negative Bestätigung von S3 in der ARQ Nachricht dient als eine Benachrichtigung an dem Absender, dass die Verwerfungssignalisierungs-PDU S4D nicht erfolgreich von dem Empfänger empfangen worden ist. Wie jedoch S6 erfolgreich empfangen wurde, was dazu führt, dass das gesamte Datenpaket, welches S4–S6 umfasst, bestätigt wird, gibt der Absender nunmehr S6 und S4 frei. Der Absender regeneriert nun eine Verwerfungssingalisierungs-PDU, um den Empfänger darüber zu benachrichtigen, welche PDUs an dem Absender verworfen worden sind, aber diesmal verwendet der Absender S7 (identifiziert als S7D) für diesen Zweck, wie gezeigt. Zusätzlich überträgt der Sender S9 erneut. Auf einen Empfang sowohl der Verwerfungssignalisierungs-PDU S7D und S9 führt der Empfänger einen Löschen(7) Betrieb aus, der dazu führt, dass sämtliche PDUs mit einer Sequenznummer kleiner als S7 in dem Empfänger verworfen werden. Da zusätzlich das gesamte Datenpaket, welches S7–S9 umfasst, nun erfolgreich empfangen worden ist, kann der Empfänger genauso S7–S9 verwerfen. Demzufolge überträgt der Empfänger eine ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis S9 enthält.
  • Es sei darauf hingewiesen, dass deshalb, weil der Absender PDUs von seinem Puffer verwirft, sich das Übertragungsfenster vorrückt, wodurch dem Absender erlaubt wird neue PDUs zu übertragen. Da ferner der Empfänger PDUs verwirft, rückt gleichermaßen das Empfangsfenster vor und die Technik in Verbindung mit der dritten beispielhaften Ausführungsform wird fortgesetzt, wie voranstehend beschrieben.
  • In Übereinstimmung mit einer vierten beispielhaften Ausführungsform der vorliegenden Erfindung wird wiederum eine Ein-Bit-Erweiterung an dem Headerabschnitt von jeder PDU verwendet, um eine Verwerfungssignalisierung zu ermöglichen, wobei die Ein-Bit-Erweiterung ein Verwerfungsbit ist. In dieser Ausführungsform wird das Verwerfungsbit in einer etwas anderen Weise als in der voranstehend beschriebenen Ausführungsform verwendet. In diesem Fall verwirft (löscht) der Absender PDUs bis zu einem bestimmten Datenpaket. Der Absender setzt dann das Verwerfungsbit für sämtliche PDUs in einem Datenpaket, wobei das Datenpaket das erste Datenpaket ist, welches nicht verworfen oder vollständig bestätigt worden ist. Wenn ein derartiges Datenpaket noch nicht an dem Absender verfügbar ist, setzt der Absender das Verwerfungsbit für sämtliche PDUs in dem nächsten Paket, welches verfügbar ist. Das Verwerfungsbit in diesen PDUs bleibt Gesetz, sogar während einer erneuten Übertragung, sollte eine erneute Übertragung erforderlich sein. Ferner verwendet der Absender die zuletzt gespeicherte PDU als die Verwerfungssignal-PDU (d.h. die PDU in dem Übertragungsfenster mit der höchsten Sequenznummer), wenn die PDUs in Verbindung mit dem ersten nicht verworfenen Datenpaket nicht gesendet werden können, entweder deshalb, weil sie außerhalb des Senderfensters sind, oder weil sie noch nicht an dem Sender angekommen sind. Ferner regeneriert der Absender das Verwerfungssignal, wenn er eine negative Bestätigung von dem Empfänger für eine PDU erhält, die verworfen worden ist, und eine Zeitperiode Tmin abgelaufen ist, seitdem der Absender zuletzt ein Verwerfungssignal erzeugt hat.
  • Auf einen Empfang einer PDU mit dem gesetzten Verwerfungsbit hin verwirft der Empfänger sämtliche PDUs, die in nicht-vollständig empfangenen Datenpaketen sind, die dem Datenpaket vorangehen, dass die PDU mit dem gesetzten Verwerfungsbit enthält. Der Empfänger erreicht dies dadurch, dass die folgenden Variablen aufrechterhalten werden, wenn wenigstens eine PDU in dem Eingangspuffer des Empfängers mit dem gesetzten Verwerfungsbit enthalten ist: HDISCARD, HSTART und HSTOP. Insbesondere stellt der Wert der Variablen HDISCARD die höchste Sequenznummer von irgendeiner PDI in dem Eingangspuffer dar, die ihr Verwerfungsbit gesetzt hat. Der Wert der HSTART Variablen stellt die höchste Sequenznummer von irgendeiner PDU mit dem gesetzten Startbit und mit einer Sequenznummer, die nicht höher als der Wert HDISCARD ist, dar. Der Wert der HSTOP Variablen stellt die höchste Sequenznummer von irgendeiner PDU mit ihrem gesetzten Stopbit und mit einer Sequenznummer, die geringer als der Wert von HDISCARD ist, dar. Es sei darauf hingewiesen, dass dann, wenn keine PDU vorhanden ist, die die Kriterien für die HSTART oder HSTOP Variable erfüllt, dann die Variablen HSTART und HSTOP gleich zu einer Sequenznummer unten an dem Empfangsfenster weniger Eins (1) sind. Dadurch haben die Variablen im Wesentlichen keinen Effekt auf den Algorithmus, der den Lösch-Betrieb leitet. Wenn wenigstens eine PDU in dem Eingangspuffer des Empfängers mit ihrem gesetzten Verwerfungsbit vorhanden ist, dann führt der Empfänger, auf einen Empfang einer PDU hin, die irgendeine der voranstehend erwähnten Variablen HDISCARD, HSTART, oder HSTOP erhöht, einen Löschen(Maximum(HSTART, HSTOP + 1)) Betrieb aus.
  • In Übereinstimmung mit der vierten beispielhaften Ausführungsform führt der Empfänger dann, wenn er eine PDU mit einer Sequenznummer S und mit sowohl dem Verwerfungsbit als auch dem Startbit gesetzt erhält, einen Löschen(S) Betrieb aus. Wenn jedoch der Absender niemals eine derartige PDU sendet, weil sie bestätigt und von dem Absender freigegeben worden ist, signalisieren auch nachfolgende PDUs in dem Datenpaket eine Verwerfung. Wenn dann das Datenpaket vollständig an dem Empfänger empfangen wird, garantiert die Anwesenheit von wenigstens einer PDU mit ihrem gesetzten Verwerfungsbit, dass ein Löschen-Betrieb mit der Sequenznummer der ersten PDU in dem Datenpaket ausgeführt wird. Bevor das vollständige Datenpaket jedoch empfangen wird, ist der Empfänger in der Lage eine „teilweise Löschung" auszuführen, das heißt, einen Löschen-Betrieb unter Verwendung einer niedrigeren Sequenznummer.
  • 5 illustriert die vierte beispielhafte Ausführungsform, bei der die vertikale Linie ganz links eine Zeitlinie von Ereignissen darstellt, die an dem Absender auftreten, und wobei die vertikale Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die an dem Empfänger auftreten. Ferner stellen die Sequenznummern, die auf der linken Seite der vertikalen Linie ganz links erscheinen, die PDUs dar, die gegenwärtig in dem Puffer an dem Absender gespeichert sind, während die Sequenznummern auf der rechten Seite der vertikalen Linie ganz rechts PDUs darstellen, die erfolgreich in dem Eingangspuffer des Empfängers empfangen worden sind. Zusätzlich stellen die Pfeile, die von der vertikalen Linie ganz rechts ausgehen, ARQ Nachrichten dar, und die Pfeile, die von der vertikalen Linie ganz links ausgehen, stellen die Übertragung oder die erneute Übertragung von PDUs dar. Schließlich zeigen die Klammern die erste und letzte PDUs an, die zu einem gegebenen Datenpaket gehören. Zum Beispiel ist PDU S7 die erste PDU in ihrem entsprechenden Datenpaket. Demzufolge sollte das Startbit in dem Headerabschnitt von S7 gesetzt sein. Im Gegensatz dazu ist PDU S9 die letzte PDU in diesem gleichen Datenpaket, wie durch die Anwesenheit einer linken Klammer angedeutet. Demzufolge sollte das Stopbit in dem Headerabschnitt von S9 gesetzt werden.
  • Wie in 5 dargestellt sind nur die PDU S2 und PDU S4 erfolgreich empfangen und in dem Eingangspuffer des Empfängers gespeichert worden. Demzufolge sendet der Empfänger eine ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis zu S0 einschließt, eine selektive positive Bestätigung für S2 und S4, und eine selektive negative Bestätigung für S1, S3 und S5–S8. Auf einen Empfang dieser ARQ Nachricht hin gibt der Absender S2 und S4 frei, wie durch die Inhalte des Puffers an dem Absender angezeigt, und überträgt S1, S3 und S5–S8 erneut. Die Anwesenheit des Sternchens (*) zeigt jedoch an, dass S1 und S7 nicht erfolgreich empfangen worden sind, wohingegen S3, S5, S6 und S8 erfolgreich empfangen sind. Weil gegenwärtig keine PDUs mit ihrem Verwerfungsbit an dem Empfänger gespeichert werden, werden die Werte im Zusammenhang mit den Variablen HDISCARD, HSTART und HSTOP als „don't care" Werte (Werte „ohne Bedeutung") interpretiert und werden somit ignoriert.
  • Der Sender sendet nun eine andere ARQ Nachricht an den Absender. Diese ARQ Nachricht stellt eine kumulative Bestätigung bis zu S0, eine selektive positive Bestätigung für S2–S6 und S8, und eine selektive negative Bestätigung für S1 und S7 bereit. An diesem Punkt löscht der Sender S1. Natürlich könnte die Entscheidung für die Verwerfung (Löschung) auf eine vordefinierte Anzahl von Neuübertragungen gestützt werden oder könnte auf den Ablauf einer vordefinierten Zeitperiode gestützt werden. Da S3, S5 und S6 erfolgreich empfangen und bestätigt worden sind, gibt auch der Absender diese PDUs von seinem Puffer ebenfalls frei, wobei das Datenpaket, welches S7–S9 umfasst, als das nächste nicht verworfene und nicht-vollständig bestätigte Datenpaket zurückgelassen wird. Demzufolge wird das Verwerfungsbit in dem Headerabschnitt sowohl von S7 als auch von S9 vor der erneuten Übertragung gesetzt. Der Sender überträgt dann erneut S7D und S9D, wobei der Buchstabe „D" andeutet, dass das Verwerfungsbit gesetzt worden ist. Zusätzlich ist das Datenpaket, welches S10–S12 umfasst, an dem Absender verfügbar geworden, sodass der Absender diese PDUs ebenfalls an den Empfänger überträgt. Wie jedoch angedeutet werden jedoch S7D und S12 nicht erfolgreich empfangen. Somit ist die einzige PDU, die mit ihrem Verwerfungsbit gesetzt empfangen wird, S9D.
  • Auf einen Empfang von S9D hin setzt der Empfänger den Wert der Variablen HDISCARD gleich zu Neun, den Wert der Variablen HSTART gleich zu Vier und den Wert der Variablen HSTOP gleich zu Sechs. Dies wiederum triggert den Empfänger einen Löschen(7) Betrieb auszuführen. Weil das Datenpaket, welches S4, S5 und S6 umfasst, vollständig und erfolgreich empfangen worden ist, wird es weiter an eine obere Netzschicht übergeben, wie dargestellt, wobei S2 und S3 belassen werden, um als ein Ergebnis des Löschen(7) Betriebs verworfen zu werden. Der Empfänger überträgt dann eine ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis zu S6 hin, eine selektive positive Bestätigung für S8–S11, und eine selektive negative Bestätigung für S7 und S12 einschließt.
  • Auf einen Empfang der letzten ARQ Nachricht von dem Empfänger hin gibt der Absender S9D, S10 und S11 frei, wobei nur S7D und S12 zurückgelassen werden. Demzufolge überträgt der Absender erneut sowohl S7D als auch S12. Da beide von diesen PDUs erfolgreich empfangen werden, kann der Empfänger die entsprechenden Datenpakete, die S7D–S9D bzw. S10–S12 enthalten, an die oberen Netzschichten weitergeben. Demzufolge überträgt der Empfänger eine nächste ARQ Nachricht, die eine kumulative Bestätigung einschließt, bis zu S12. Auf einen Empfang der ARQ Nachricht hin ist der Absender in der Lage seinen Puffer, wie gezeigt, zu löschen.
  • Eine Alternative zu dem Verwerfungsmechanismus der dritten und vierten Ausführungsformen, die voranstehend beschrieben wurden, wird durch Verwenden einer zusätzlichen Biterweiterung in dem Headerabschnitt von jeder PDU bereitgestellt. Dieses zusätzliche Bit ist das Datengültigkeitsbit, welches vorher definiert wurde. Somit umfasst der Headerabschnitt von jeder PDU sowohl ein Verwerfungsbit als auch ein Datengültigkeitsbit.
  • Diese alternative Ausführungsform arbeitet wie folgt. Wenn der Puffer an dem Absender keine nicht bestätigten PDUs enthält, nachdem der Absender einen Verwerfungsbetrieb ausführt, wird die erste nicht verworfene PDU als eine „Dummy" PDU („Blind" PDU) angesehen. Das Datengültigkeitsbit in dem Headerabschnitt von einer Dummy-PDU wird zurückgesetzt und das Verwerfungsbit wird gesetzt. Ferner ist die Sequenznummer der Dummy-PDU eins höher als die zuletzt verworfene PDU. Die Dummy-PDU wird dann gesendet, vorausgesetzt, dass ihre Sequenznummer innerhalb des Übertragungsfensters ist.
  • Wenn Datengültigkeitsbits verwendet werden ist es nicht erforderlich wenigstens eine PDU (d.h. eine zuletzt gespeicherte PDU) in dem Sendepuffer nach einem Verwerfungsbetrieb aufrechtzuerhalten. In dieser alternativen Ausführungsform wird die zuletzt gespeicherte PDU durch eine PDU, die als letzte in das Fenster hereinkommt und die als die PDU mit der höchsten Sequenznummer in dem Übertragungsfenster definiert ist, ersetzt. Die PDU, die im Fenster zuletzt hereinkommt, weist ein Datengültigkeitsbit auf, welches zurückgesetzt ist, wenn sie gesendet wird.
  • Auf einen Empfang einer PDU hin, deren Sequenznummer S ist und deren Datengültigkeitsbit zurückgesetzt ist und deren Verwerfungsbit gesetzt ist, führt der Empfänger einen Löschen(S) Betrieb aus. Der Empfänger bestätigt diese PDU nicht, entweder selektiv oder kumulativ.
  • Was diese alternative Ausführungsform gegenüber den voranstehenden Ausführungsformen unterscheidet ist, dass das Datengültigkeitsbit eine Vorgehensweise zum Erzielen einer Verwerfungssignalisierung bereitstellt, ohne tatsächlich irgendwelche Benutzerdaten zu senden. Vorteil von dieser alternativen Ausführungsform ist, dass sogar nach einer Verwerfung der letzten PDU in dem Sendepuffer, der Empfänger hinsichtlich der Verwerfung dieser letzten PDU an dem Absender informiert werden kann. Somit kann die Zuordnung des Puffers an dem Empfänger sofort aufgehoben werden, wodurch Platz für andere PDUs geschaffen wird.
  • In Übereinstimmung mit einem anderen alternativen Verwerfungsmechanismus, der ähnlich zu dem voranstehend beschriebenen Verwerfungsmechanismus wie bei der dritten beispielhaften Ausführungsform ist, muss der Absender nicht die erste PDU eines nicht-vollständig bestätigten Datenpakets halten. Wenn die erste PDU selbst bestätigt worden ist kann der Absender eine Speicherung davon in dem Puffer fortsetzen oder diese nicht fortsetzen. Der Hauptunterschied zwischen diesem alternativen Verwerfungsmechanismus und demjenigen der dritten beispielhaften Ausführungsform besteht darin, dass dann, wenn der Absender PDUs verwirft und die erste nicht verworfene PDU gesendet werden kann (d.h. weil sie in dem Übertragungsfenster ist), dann die Verwerfungssignal-PDU die erste nicht verworfene PDU ist. Wenn der Nutzlastabschnitt von dieser PDU an dem Absender verfügbar ist, weil sie nicht bestätigt worden ist oder weil sie bestätigt worden ist, aber die PDU fortfährt sie in dem Puffer zu speichern, dann überträgt der Absender die PDU mit ihrer Nutzlast und dem Datengültigkeitsbit gesetzt, und ansonsten wird das Datengültigkeitsbit zurückgesetzt. Der Vorteil von diesem alternativen Verwerfungsmechanismus besteht darin, dass er wenig Speicherplatz an dem Absender und an dem Empfänger benötigt, da eine Verwerfungssignalisierung unmittelbar übertragen werden kann und da der Absender PDUs nicht aufrechterhalten muss, die bereits bestätigt sind.
  • 6 illustriert diesen alternativen Verwerfungsmechanismus, wobei die vertikale Linie ganz links eine Zeitlinie von Ereignissen darstellt, die an dem Absender auftreten, und wobei die vertikale Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die an dem Empfänger auftreten. Ferner stellen die Sequenznummern, die auf der rechten Seite ganz rechts erscheinen, diejenigen PDUs dar, die erfolgreich in dem Eingangspuffer des Empfängers empfangen worden sind, während die Sequenznummer auf der linken Seite der vertikalen Linie ganz links die PDUs darstellen, die in dem Puffer an dem Absender gehalten werden. Zusätzlich stellen die Pfeile, die von dem Empfänger ausgehen, ARQ Nachrichten dar, während die Pfeile, die von dem Absender ausgehen, die Übertragung und Neuübertragung von PDUs darstellen. Schließlich zeigen die Klammern den Beginn und das Ende von jedem Datenpaket an.
  • Wie in 6 dargestellt empfängt der Eingangspuffer an dem Empfänger zu Anfang die PDU S2, die nachstehend hier als S2 definiert wird, und die PDU S4, die nachstehend hier als S4 bezeichnet wird. Der Empfänger überträgt dann eine ARQ Nachricht an den Absender, wobei die ARQ Nachricht eine kumulative Bestätigung bis S0, eine selektive positive Bestätigung für S2 und S4, und eine selektive negative Bestätigung für S1, S3 und S5–S8 einschließt. Auf einen Empfang der selektiven positiven Bestätigung S2 und S4 hin, gibt der Absender S2 und S4 von seinem Puffer frei, wie gezeigt. Der Absender überträgt dann S1, S3 und S5–S8 erneut. Die Anwesenheit des Sternchens (*) neben S3, S6 und S7 ist eine Anzeige, dass diese PDUs als Folge dieser erneuten Übertragung nicht erfolgreich empfangen werden. Jedoch werden S1, S5 und S8 erfolgreich empfangen.
  • Nach der letzten erneuten Übertragung enthält der Eingangspuffer an dem Empfänger S1, S2, S4, S5 und S8, wie gezeigt. Der Empfänger überträgt dann eine andere ARQ Nachricht an den Absender, wobei die ARQ Nachricht eine kumulative Bestätigung bis S2, eine selektive positive Bestätigung für S4, S5 und S8, und eine selektive negative Bestätigung für S3, S6 und S7 enthält. Auf einen Empfang dieser ARQ Nachrichten gibt der Absender S1 und S5 frei und löscht S3. Die Bestimmung zur Löschung von S3 ist gestützt beispielsweise auf eine vordefinierte Anzahl von Neuübertragungen oder den Ablauf einer vordefinierten Zeitperiode. Demzufolge enthält der Puffer an dem Absender nun S6, S7 und S9, wie gezeigt. Der Absender erzeugt nun eine Verwerfungssignalisierungs-PDU unter Verwendung von S4 (mit S4D angedeutet) da sie die erste nicht verworfene PDU ist. Es sei darauf hingewiesen, dass in 6 die Verwerfungssignalisierungs-PDU S4D innerhalb einer Box enthalten ist. Diese Box ist dafür vorgesehen, um anzuzeigen, dass das Datengültigkeitsbit in dem Headerabschnitt von dieser PDU zurückgesetzt ist, wodurch angezeigt wird ist, dass die Daten, die in dem Nutzlastabschnitt von dieser PDU enthalten sind, ignoriert werden soll. Zusätzlich überträgt der Absender S6 und S7 erneut und sendet zum ersten Mal S9. Wie angedeutet werden S7 und S9 erfolgreich empfangen, während weder die Verwerfungssignalisierungs-PDU S4D noch S6 erfolgreich empfangen werden.
  • Der Eingangspuffer an dem Empfänger enthält nun S1, S2, S4, S5 und S7–S9. Der Empfänger überträgt im Ansprechen darauf eine ARQ Nachricht an den Absender, die kumulativ sämtliche PDUs bis zu S2 hin bestätigt, negativ S3 und S6 bestätigt, und positiv S4, S5 und S7–S9 bestätigt. Da der Absender nun darüber informiert worden ist, dass S7 und S9 erfolgreich empfangen worden sind, können S7 und S9 freigegeben werden. Als Folge der Tatsache, dass jedoch die ARQ Nachricht kumulativ eine Bestätigung bis zu nur S2 hin vorgenommen hat, ist der Absender über die Tatsache in Kenntnis gesetzt, dass die Verwerfungssignalisierungs-PDU S4D nicht an dem Empfänger angekommen ist. Somit überträgt der Absender S4D, sowie S6, die ebenfalls nicht erfolgreich empfangen wurde, erneut. Wiederum sei darauf hingewiesen, dass die Verwerfungssignalisierungs-PDU S4D in 6 so dargestellt ist, dass sie in einer Box enthalten ist, wobei die Box anzeigt, dass das Datengültigkeitsbit in dem Headerabschnitt von dieser PDU zurückgesetzt ist, wodurch angezeigt wird, dass die in dem Nutzlastabschnitt von dieser PDU enthaltenen Daten ignoriert werden sollen. Dieses Mal werden sowohl S4D als auch S6 erfolgreich empfangen und infolgedessen führt der Empfänger einen Löschen(4) Betrieb aus, wobei S1–S3 verworfen werden. Da der Empfänger nun erfolgreich S4–S6 und S7–S9 empfangen hat, können ferner die zwei Datenpakete, die zu diesen PDUs gehören, an eine obere Netzschicht geliefert werden und eine ARQ Nachricht kann zurück an den Absender gesendet werden, die eine kumulative Bestätigung bis zu S9 hin einschließt.

Claims (5)

  1. Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ, wobei das Verfahren die folgenden Schritte umfasst: Übertragen einer ersten Dateneinheit (S1) von einem Sender an einen Empfänger; Initiieren eines ersten Timers (TS) in Verbindung mit dem Schritt zum Übertragen der ersten Dateneinheit; Übertragen einer zweiten Dateneinheit (S2) von dem Sender an den Empfänger; Initiieren eines zweiten Timers (TR) in Verbindung mit der zweiten Dateneinheit, die gerade empfangen wird; an dem Sender, Verwerfen der ersten Dateneinheit, wenn eine Zeitperiode entsprechend zu dem ersten Timer abläuft, bevor der Sender eine Bestätigung von dem Empfänger empfängt, dass die erste Dateneinheit empfangen wurde; und Ausführen eines Löschbetriebs an den Empfänger als eine Funktion der zweiten Dateneinheit, wenn eine Zeitperiode entsprechend zu dem zweiten Timer abläuft, bevor die erste Dateneinheit empfangen wird.
  2. Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ, wobei das Verfahren die folgenden Schritte umfasst: Übertragen, von einem Sender an einen Empfänger, einer Vielzahl von Dateneinheiten (S1, S2, S3), wobei jede der Vielzahl von Dateneinheiten assoziiert ist mit einem gemeinsamen Datenpaket, und wobei jeder der Vielzahl von Dateneinheiten eine Sequenznummer zugewiesen wird, die die Reihenfolge darstellt, in der die entsprechende Dateneinheit übertragen wird; Initiieren eines ersten Timers (TS) in Verbindung mit der Übertragung einer ersten der Vielzahl von Dateneinheiten; Initiieren eines zweiten Timers (TR3), wenn eine zweite der Vielzahl von Dateneinheiten (S3) empfangen wird, wenn der Empfänger erwartet, wenigstens eine Dateneinheit (S2) mit einer Sequenznummer zu empfangen, die anzeigt, dass die wenigstens eine Dateneinheit übertragen wurde vor der zweiten der Vielzahl von Dateneinheiten; an dem Sender, Verwerfen von jeder der Vielzahl von Dateneinheiten, die assoziiert sind mit dem gemeinsamen Datenpaket, wenn für irgendeine der Vielzahl von Dateneinheiten nicht bestätigt worden ist, dass sie empfangen wird, bevor eine Zeitperiode, die mit dem ersten Timer (TS) assoziiert ist, abläuft; an dem Empfänger, Ausführen eines Löschbetriebs als eine Funktion der zweiten der Vielzahl von Dateneinheiten, wenn eine Zeitperiode, die mit dem zweiten Timer (TR3) assoziiert ist, abläuft und der Empfänger erwartet wenigstens eine Dateneinheit (S2) mit einer Sequenznummer zu empfangen, die anzeigt, dass die wenigstens eine Dateneinheit übertragen wurde vor der zweiten der Vielzahl von Dateneinheiten (S3).
  3. Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ, wobei das Verfahren die folgenden Schritte umfasst: Übertragen einer Vielzahl von Dateneinheiten von einem Sender an einen Empfänger, wobei ein erster Timer an den Sender geführt wird und ein zweiter Timer an den Empfänger geführt wird, wobei jeder der Vielzahl von Dateneinheiten eine Sequenznummer zugewiesen ist, die die Reihenfolge darstellt, in der die entsprechende Dateneinheit übertragen wird, und wobei eine höhere Sequenznummer eine spätere Übertragung reflektiert und eine niedrigere Sequenznummer eine frühere Übertragung reflektiert; an dem Sender, Aufrechterhalten einer Variablen HSS, die einen Wert aufweist, der die höchste Sequenznummer (8) von irgend einer Dateneinheit darstellt, die zu einem gegebenen Punkt (2: S2) während eines gegenwärtigen Zyklus des ersten Timers übertragen worden ist; an den Empfänger, Aufrechterhalten von zwei Variablen, HSR1 und HSR2, wobei HSR1 einen Wert aufweist, der die höchste Sequenznummer (b) von irgendeiner Dateneinheit darstellt, die an einem gegebenen Punkt (2: R2) während eines gegenwärtigen Zyklus des zweiten Timers empfangen wird, und wobei HSR2 einen Wert (a) aufweist, der die höchste Sequenznummer von irgend einer Dateneinheit darstellt, die an dem gleichen Punkt (2: R1) während eines vorangehenden Zyklus des zweiten Timers empfangen wird; an dem gegebenen Punkt während jedes Zyklus des ersten Timers, Verwerfen von jeder Dateneinheit an dem Sender, die eine Sequenznummer aufweist, die kleiner als der Wert der Variablen HSS ist, und danach Aktualisieren des Werts der Variablen HSS; an dem gegebenen Punkt während jedes Zyklus des zweiten Timers, Löschen von jeder Dateneinheit mit einer Sequenznummer, die kleiner als der Wert der Variablen HSR2 ist, und danach Aktualisieren des Werts der Variablen HSR1 und HSR2.
  4. Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ, wobei das Verfahren die folgenden Schritte umfasst: Definieren eines Übertragungsfensters (3A: BM-TP), wobei das Übertragungsfenster eine Sequenz einer Anzahl K von Dateneinheiten darstellt, die für eine Übertragung von einem Sender an einen Empfänger geeignet sind, wobei jede Dateneineinheit eine Sequenznummer wird, die die Reihenfolge der Übertragung darstellt, die mit der entsprechenden Dateneinheit übertragen ist; an dem Sender, Verwerfen von einer oder mehreren Dateneinheiten, die gegenwärtig innerhalb des Übertragungsfensters sind, wobei die eine oder die mehreren Dateneinheiten Sequenznummer aufweisen, die anzeigen, dass die eine oder die mehreren Dateneinheiten vor sämtlichen anderen Dateneinheiten übertragen wurden, die gegenwärtig in dem Übertragungsfenster sind; Vorrücken des Übertragungsfensters nach vorne (3D) als eine Funktion der einen oder der mehreren verworfenen Dateneinheiten; Definieren eines Empfangsfensters, wobei das Empfangsfenster eine Sequenz von Dateneinheiten darstellt, die empfangen worden sind oder von denen erwartet wird, dass sie empfangen werden; und wenn eine Dateneinheit mit einer Sequenznummer S empfangen wird, wobei die Sequenznummer S über dem Empfangsfenster ist, Ausführen eines Löschbetriebs an den Empfänger als eine Funktion der Sequenznummer S – K + 1.
  5. Verfahren zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ, wobei das Verfahren die folgenden Schritte umfasst: Senden einer Vielzahl von Dateneinheiten von einem Sender an einen Empfänger, wobei die Vielzahl von Dateneinheiten mit Datenpaketen assoziiert sind, und wobei jedes Datenpaket mit einer oder mehreren Dateneinheiten assoziiert werden können; an dem Sender, Speichern einer ersten Dateneinheit (S4), die mit einem Datenpaket assoziiert ist, bis der Empfänger vollständig das Datenpaket bestätigt; Verwerfen von einer oder mehreren Dateneinheiten (S1–S3), an dem Sender, die eine Sequenznummer aufweisen, die anzeigt, dass sie übertragen wurden vor der ersten Dateneinheit (S4); Einstellen eines Verwerfungs-Bits in dem Header-Abschnitt der ersten Dateneinheit; Übertragen der ersten Dateneinheit (S4D), wobei ihr Verwerfungs-Bit gesetzt ist, an den Empfänger, um so den Empfänger zu benachrichtigen, dass eine oder mehrere Dateneinheiten an dem Sender verworfen worden sind; Ausführen eines Löschbetriebs an den Empfänger als eine Funktion einer Sequenznummer, die mit der ersten Dateneinheit assoziiert ist.
DE60030094T 1999-03-22 2000-03-03 Datenablösungsmechanismus für selektive wiederholungsprotokolle Expired - Lifetime DE60030094T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US273259 1994-07-11
US09/273,259 US6621796B1 (en) 1999-03-22 1999-03-22 Discard mechanism for selective repeat automatic repeat request
PCT/SE2000/000425 WO2000057594A1 (en) 1999-03-22 2000-03-03 Data discard mechanism for selective repeat protocol

Publications (2)

Publication Number Publication Date
DE60030094D1 DE60030094D1 (de) 2006-09-28
DE60030094T2 true DE60030094T2 (de) 2007-03-29

Family

ID=23043205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60030094T Expired - Lifetime DE60030094T2 (de) 1999-03-22 2000-03-03 Datenablösungsmechanismus für selektive wiederholungsprotokolle

Country Status (8)

Country Link
US (1) US6621796B1 (de)
EP (2) EP1161810B1 (de)
AR (1) AR029344A1 (de)
AU (1) AU4154200A (de)
CA (1) CA2397778C (de)
DE (1) DE60030094T2 (de)
TW (1) TW477129B (de)
WO (1) WO2000057594A1 (de)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
US7404003B1 (en) 1999-09-30 2008-07-22 Data Expedition, Inc. Method and apparatus for client side state management
US7158479B1 (en) * 1999-09-30 2007-01-02 Data Expedition, Inc. Method and apparatus for non contiguous sliding window
US7313627B1 (en) 1999-09-30 2007-12-25 Data Expedition, Inc. Flow control method and apparatus
JP2001142845A (ja) * 1999-11-17 2001-05-25 Toshiba Corp コンピュータシステムおよびデータ転送制御方法
US6996100B1 (en) * 2000-02-03 2006-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for medium access on a radio channel
FI112305B (fi) * 2000-02-14 2003-11-14 Nokia Corp Datapakettien numerointi pakettivälitteisessä tiedonsiirrossa
US6894976B1 (en) * 2000-06-15 2005-05-17 Network Appliance, Inc. Prevention and detection of IP identification wraparound errors
US6907005B1 (en) * 2000-07-24 2005-06-14 Telefonaktiebolaget L M Ericsson (Publ) Flexible ARQ for packet data transmission
US6944127B1 (en) * 2000-08-07 2005-09-13 Bbnt Solutions Llc System for detecting spurious network traffic
GB0020442D0 (en) * 2000-08-18 2000-10-04 Nokia Networks Oy Data transmission protocol
JP3889919B2 (ja) * 2000-08-31 2007-03-07 株式会社日立製作所 情報配信方法、情報受信方法、情報配信システム、情報配信装置、受信端末及び記憶媒体
US8385470B2 (en) * 2000-12-05 2013-02-26 Google Inc. Coding a signal with a shuffled-Hadamard function
US8374218B2 (en) * 2000-12-05 2013-02-12 Google Inc. Combining signals with a shuffled-hadamard function
US7142536B1 (en) * 2000-12-14 2006-11-28 Google, Inc. Communications network quality of service system and method for real time information
JP2002190194A (ja) * 2000-12-20 2002-07-05 Mitsubishi Electric Corp データ処理回路
US6922393B2 (en) * 2001-01-10 2005-07-26 Asustek Computer Inc. Data discarding request acknowledgement in a wireless communications protocol
JP4724928B2 (ja) 2001-02-27 2011-07-13 ソニー株式会社 無線伝送装置及び無線伝送方法
US7058085B2 (en) * 2001-03-14 2006-06-06 Nortel Networks Limited Method and apparatus for transmitting data over a network within a specified time limit
US7386000B2 (en) * 2001-04-17 2008-06-10 Nokia Corporation Packet mode speech communication
AU2002341076A1 (en) * 2001-04-27 2002-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Reordering data packets in a communication system
US7016304B2 (en) * 2001-05-18 2006-03-21 Intel Corporation Link level retry scheme
KR20030028841A (ko) * 2001-07-10 2003-04-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 패킷들의 전송 방법
US7574597B1 (en) 2001-10-19 2009-08-11 Bbn Technologies Corp. Encoding of signals to facilitate traffic analysis
SE0103506D0 (sv) 2001-10-19 2001-10-19 Ericsson Telefon Ab L M HARQ stall avoidance
US7075891B2 (en) 2001-11-26 2006-07-11 Lucent Technologies Inc. Method and apparatus for transmitting and receiving data packets to avoid stall during re-sequencing of data packets
US7453921B1 (en) 2001-12-11 2008-11-18 Google Inc. LPC filter for removing periodic and quasi-periodic interference from spread spectrum signals
ATE460801T1 (de) * 2002-01-03 2010-03-15 Innovative Sonic Ltd Mechanismus zur vermeidung eines datenstromabbruchs in drahtlosen hochgeschwindigkeits-kommunikationssystemen mittels eines zeitschalters
KR100747464B1 (ko) 2002-01-05 2007-08-09 엘지전자 주식회사 고속하향링크패킷접속(hsdpa)시스템을 위한타이머를 이용한 교착상황 회피방법
US7280480B2 (en) * 2002-01-07 2007-10-09 Motorola, Inc. Method and apparatus for transmitting and receiving data
US20030137990A1 (en) * 2002-01-23 2003-07-24 Rush Donald E. Apparatus for extraneous information removal and end mark insertion of an N-byte wide data stream of unknown length
TWI220815B (en) * 2002-05-06 2004-09-01 Asustek Comp Inc Method and apparatus for handling abnormal transmission status in acknowledged mode and non-acknowledged mode
JP2004146877A (ja) 2002-10-21 2004-05-20 Sharp Corp データ送信装置,データ送信方法,データ送信プログラム,データ受信装置,データ受信方法,データ受信プログラムおよび通信システム
US7352833B2 (en) * 2002-11-18 2008-04-01 Google Inc. Method and system for temporal autocorrelation filtering
GB2396088B (en) * 2002-12-06 2005-06-29 Qualcomm A data transfer procedure for transferring data of a data sequence between a transmitting entity and a receiving entity
US7155236B2 (en) 2003-02-18 2006-12-26 Qualcomm Incorporated Scheduled and autonomous transmission and acknowledgement
US8391249B2 (en) 2003-02-18 2013-03-05 Qualcomm Incorporated Code division multiplexing commands on a code division multiplexed channel
US20040160922A1 (en) 2003-02-18 2004-08-19 Sanjiv Nanda Method and apparatus for controlling data rate of a reverse link in a communication system
US7660282B2 (en) 2003-02-18 2010-02-09 Qualcomm Incorporated Congestion control in a wireless data network
US8705588B2 (en) 2003-03-06 2014-04-22 Qualcomm Incorporated Systems and methods for using code space in spread-spectrum communications
US7215930B2 (en) 2003-03-06 2007-05-08 Qualcomm, Incorporated Method and apparatus for providing uplink signal-to-noise ratio (SNR) estimation in a wireless communication
US8477592B2 (en) 2003-05-14 2013-07-02 Qualcomm Incorporated Interference and noise estimation in an OFDM system
ES2223271B1 (es) * 2003-06-11 2006-04-16 Diseño De Sistemas En Silicio, S.A. Procedimiento para liberar datos transmitidos mediante reconocimiento en recepcion o en transmision.
US8489949B2 (en) 2003-08-05 2013-07-16 Qualcomm Incorporated Combining grant, acknowledgement, and rate control commands
US20050066255A1 (en) * 2003-09-14 2005-03-24 Sam Shiaw-Shiang Jiang Status report missing detection in a communication system
EP1671424B1 (de) * 2003-10-08 2012-06-06 Digital Fountain, Inc. Zuverlässigkeitssteuerprotokolle auf fec-basis
ATE386399T1 (de) * 2003-12-17 2008-03-15 Ericsson Telefon Ab L M Verfahren für die behandlung von überholten informationseinheiten
US7631239B2 (en) 2003-12-29 2009-12-08 Electronics And Telecommunications Research Institute Method for retransmitting packet in mobile communication system and computer-readable medium recorded program thereof
JP4537410B2 (ja) * 2003-12-29 2010-09-01 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 移動通信システムにおける自動再送要求のためのフィードバックメッセージ生成方法
US7307955B2 (en) * 2003-12-31 2007-12-11 Nokia Corporation Method and equipment for lossless packet delivery to a mobile terminal during handover
US20050175012A1 (en) * 2004-02-06 2005-08-11 Telefonaktiebolaget L.M. Ericsson (Publ) System and method for transmitting and receiving data frames in a NAK-based window protocol
US7573883B2 (en) * 2004-03-05 2009-08-11 Telefonaktiebolaget Lm Ericsson (Publ) System, method and operator for increasing the active window size in a NAK-based window protocol
US7995517B2 (en) * 2004-03-24 2011-08-09 Lg Electronics Inc. System and method for transmitting units of messages in a mobile communication system
KR100667773B1 (ko) * 2004-11-11 2007-01-11 삼성전자주식회사 Dab에서 데이터 서비스용 데이터의 수신 에러 검출방법및 장치
US8559443B2 (en) 2005-07-22 2013-10-15 Marvell International Ltd. Efficient message switching in a switching apparatus
US8284663B2 (en) * 2005-10-14 2012-10-09 Turbine, Inc. Selectively ordered protocol for unreliable channels
US8489128B2 (en) * 2005-10-31 2013-07-16 Qualcomm Incorporated Efficient transmission on a shared data channel for wireless communication
US8625601B2 (en) * 2005-10-31 2014-01-07 Qualcomm Incorporated Method and apparatus for low-overhead packet data transmission and control of reception mode
US20070169152A1 (en) * 2005-12-30 2007-07-19 Daniel Roodnick Data and wireless frame alignment for error reduction
KR100912784B1 (ko) 2006-01-05 2009-08-18 엘지전자 주식회사 데이터 송신 방법 및 데이터 재전송 방법
US20070266292A1 (en) * 2006-04-27 2007-11-15 Marcel Korndewal Method and apparatus for reduced data block transmission in an automatic repeat request system
US20080123573A1 (en) * 2006-06-22 2008-05-29 Innovative Sonic Limited Method and apparatus of packet discard in a wireless communications system
US7986718B2 (en) * 2006-09-15 2011-07-26 Itron, Inc. Discovery phase in a frequency hopping network
ES2928933T3 (es) 2006-12-18 2022-11-23 Optis Wireless Technology Llc Implementación de un protocolo de control de la capa de enlace
US7715444B2 (en) * 2007-02-02 2010-05-11 Palm, Inc Resuming a previously interrupted peer-to-peer synchronization operation
TWI371206B (en) * 2007-05-02 2012-08-21 Innovative Sonic Ltd Method and related apparatus for handling packet discard in a wireless communications system
US9288015B2 (en) 2007-06-15 2016-03-15 Telefonaktiebolaget L M Ericsson (Publ) Sequence number update
WO2008152495A1 (en) 2007-06-15 2008-12-18 Nokia Corporation Method and apparatus for providing harq error detection in coordination with radio link layer discarding
JP4447028B2 (ja) * 2007-08-10 2010-04-07 富士通株式会社 通信制御方法、送信装置、およびコンピュータプログラム
US20090143063A1 (en) 2007-11-29 2009-06-04 Li-Chih Tseng Method and Apparatus for Setting a Highest Received State Variable in a Wireless Communication System
US8259648B2 (en) * 2008-01-18 2012-09-04 General Electric Company Enhanced communication of data in wireless control area networks
US8897149B2 (en) 2008-03-18 2014-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and a transceiver for HARQ failure detection
US8867344B2 (en) * 2008-07-21 2014-10-21 Mediatek Inc. Methods for bus data transmission and systems utilizing the same
KR101530850B1 (ko) * 2008-08-20 2015-07-06 삼성전자주식회사 무선통신시스템에서 자동 재전송 요청 피드백 장치 및 방법
US8385338B2 (en) * 2009-04-24 2013-02-26 Futurewei Technologies, Inc. Implementation to avoid the acknowledgement-implosion in a multicast group
KR100912785B1 (ko) * 2009-06-10 2009-08-18 엘지전자 주식회사 상태 보고를 보고하는 방법 및 수신기
KR101761610B1 (ko) * 2009-08-26 2017-07-26 엘지전자 주식회사 시간-슬롯 기반으로 다중 αck/nack을 전송하는 방법
US8203812B2 (en) * 2009-11-25 2012-06-19 Grenergy Opto, Inc. Secondary side protection method and apparatus for a switching power converter
KR20110071433A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 무선링크제어 계층 재전송 실패를 처리하는 장치
US9137166B2 (en) * 2010-01-28 2015-09-15 Brocade Communications Systems, Inc. In-order traffic aggregation with reduced buffer usage
US8902765B1 (en) * 2010-02-25 2014-12-02 Integrated Device Technology, Inc. Method and apparatus for congestion and fault management with time-to-live
JP5678171B2 (ja) * 2010-04-12 2015-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated ネットワークにおける低オーバーヘッド通信のためのチャネル推定
US8953576B2 (en) 2011-11-04 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) Handling redundant data in a communication system
KR101970684B1 (ko) * 2012-02-28 2019-04-19 삼성전자주식회사 무선통신시스템에서 피드백 정보 전송 장치 및 방법
JP5429902B2 (ja) * 2012-03-23 2014-02-26 Necインフロンティア株式会社 通信システム、通信方法、及び通信プログラム
US9066275B2 (en) * 2012-12-27 2015-06-23 Cellco Partnership Method and system to improve device pinging
CN111034091B (zh) * 2017-08-31 2023-08-29 索尼公司 通信设备和方法
US20220085916A1 (en) * 2020-12-26 2022-03-17 Intel Corporation Scalable protocol-agnostic reliable transport

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222061A (en) 1991-10-31 1993-06-22 At&T Bell Laboratories Data services retransmission procedure
US5610595A (en) 1991-12-09 1997-03-11 Intermec Corporation Packet radio communication system protocol
US5875292A (en) * 1995-02-10 1999-02-23 Nec Corporation Packet transmission method without sending serial numbers
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
US5799012A (en) * 1995-08-11 1998-08-25 Motorola, Inc. System controlled asymmetrical automatic repeat request protocol method
EP0820167A3 (de) * 1996-07-18 1998-07-22 Matsushita Electric Industrial Co., Ltd. Steuerungsverfahren für selektive Wiederholungsprotokolle
JP3022372B2 (ja) * 1997-01-30 2000-03-21 日本電気株式会社 移動体fax通信におけるポーリング通信制御方法とそのfax通信アダプタ
US6424625B1 (en) * 1998-10-28 2002-07-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for discarding packets in a data network having automatic repeat request
US6359888B1 (en) * 2000-07-05 2002-03-19 Coactive Networks, Inc. Method for detecting invalid packets by rewriting transaction identifers

Also Published As

Publication number Publication date
AU4154200A (en) 2000-10-09
US6621796B1 (en) 2003-09-16
WO2000057594A1 (en) 2000-09-28
AR029344A1 (es) 2003-06-25
DE60030094D1 (de) 2006-09-28
CA2397778A1 (en) 2000-09-28
TW477129B (en) 2002-02-21
EP1720279A1 (de) 2006-11-08
EP1161810A1 (de) 2001-12-12
EP1161810B1 (de) 2006-08-16
CA2397778C (en) 2010-07-20

Similar Documents

Publication Publication Date Title
DE60030094T2 (de) Datenablösungsmechanismus für selektive wiederholungsprotokolle
DE69921512T2 (de) Kommunikationsverfahren
DE69015275T2 (de) Datenkommunikationssystem und Vorrichtung mit einer zyklischen Quittungsantwortensequenz.
DE69130187T2 (de) Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern
DE69531410T2 (de) Mehrrechnerumgebungen
DE69931215T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60201553T2 (de) System und Verfahren zur Fehlerbeseitigung mit negativer Rückquittierung (NACK)
DE60306433T2 (de) Verfahren zur Vermeidung der Blockierung mittels des Empfangenzustands der HARQ Prozesse
DE10066507B3 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE60132735T2 (de) Fehlerkorrekturübertragungsverfahren zum Übertragen von Datenpaketen in einem Netzkommunikationssystem
DE69935554T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen
DE60022994T2 (de) Ein flexibles steuerprotokoll für funkverbindungen
DE60307032T2 (de) Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
DE60114329T2 (de) TCP-berücksichtigendes lokales Wiederholungsverfahren für unzuverlässige Übertragungsnetze
DE69120659T2 (de) Verfahren zur fehlerkorrektur in einem datenkommunikationssystem
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE68925958T2 (de) Adaptives Datenübertragungsprotokoll
DE69932069T2 (de) Arq protokoll mit packetbasierter zuverlässigkeitseinstellung
DE60318873T2 (de) Verfahren zur überwachung von protokolldateneinheiten zugewiesenen übertragungssequenzzahlen zur erkennung und korrektur von übertragungsfehlern
DE69132633T2 (de) Verfahren und Gerät zur Entfernungsvektorlenkung in Punkt-zu-Punkt Datagram Verbindungen
DE60223799T2 (de) Verfahren und sender für einen effizienten paketdatentransfer in einem übertragungsprotokoll mit wiederholungsanforderungen
DE69105989T2 (de) Verkehrsverwaltung in einem netz.
DE3786196T2 (de) Verfahren zur duplex-datenuebertragung unter verwendung eines sende- und warteprotokolls.
DE602004002086T2 (de) Verfahren und Apparat zur gemeinsamen dynamischen Verwaltung von Fensterlängen von mehreren ARQ-Datenverbindungen
DE60029852T2 (de) Verfahren und Anordnung zur Einschränkung der Übertragung von Datenpaketen in einem digitalen mobilen Fernsprechnetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition